mamba 0.10.1
mamba: ^0.10.1 copied to clipboard
A list-defined command-line parser with typed declaration handles.
0.10.1 #
- Made
mamba createinstall dependencies, Mamba skills for generic agents and Claude, and offer Git repository initialization. - Added the
mamba-frameworkpackage skill.
0.10.0 #
- Added
Executor.fake(standardInput: ...)for testing piped command input. - Made
Executor.create()always use the current process and removed the publicMambaProcessadapter interface. - Made
CompletionCommand.presetaccept its required nullablecreateFilecallback as a named parameter. - Replaced the
SelectedOptions.singleconstructor with thesinglenamed option on both the normal and required constructors. - Renamed command-level
selectedOptionsestoselectedOptions. - Restored nullable command output without automatic success text or coloring, and limited process exit-code assignment to failures.
- Added
mamba command --appendfor appending generated commands to an existing Dart file.
0.9.0 #
- Restored styled help output with richer command, positional, flag, option, and option-group formatting.
- Added
--groupsupport tomamba commandfor scaffolding group commands. - Added generated completion presets and capped repeated positional values at their declared limits.
0.8.2 #
- Adopted Dart 3.13 concise constructor declarations throughout the package, tests, examples, generated projects, and documentation.
- Enabled analyzer enforcement for concise constructor declarations.
- Updated public guides and examples to use
ParsedInputs, typed registry records, current executor arguments, and the supported completion APIs. - Removed root
selectedOptionsesfromExecutor; selected-option groups now belong exclusively to commands. - Made executor-level accessor trees available to every selected command.
0.8.1 #
- Rejected conflicts involving required inputs during registry creation, including required paired members and nested accessor leaves.
0.8.0 #
- Added command-level
conflictsmaps for rejecting incompatible flags, options, paired or selected members, and dotted accessor leaves. - Exposed
MambaBuiltInFlagsso built-in declarations can be read throughParsedInputs.valueOf.
0.7.0 #
Breaking migration #
- Commands and hooks now receive
ParsedInputsdirectly;CommandInvocationhas been removed. - Accessor options resolve through their top-level declaration as immutable maps, rather than through nested declaration keys.
PairedOptions<T>andSelectedOptions<T>resolve to immutableMap<String, T>values. Paired groups require all supplied members together; their ordinary form returns an empty map when omitted.- Removed selectable option groups in favor of map-based
SelectedOptions<T>.
0.6.0 #
- Command resolution now skips option values, including inherited, paired, selected, and accessor inputs; aliases resolve to canonical command paths.
- Added scalar and repeatable built-in option defaults, plus required/defaulted accessor leaves. Explicit repeatable values replace a configured default.
- Context writes use sealed scalar wrappers (
MambaContextString,MambaContextBool,MambaContextInt, andMambaContextDouble); reads now return the primitive directly. Migratecontext.set(key, value)tocontext.set(key, MambaContextString(value))(or the matching wrapper).
0.5.0 #
Breaking migration #
- Input handles now encode required, optional, and defaulted output
availability.
valueOfreturns the declared type directly; runtimerequiredmodes,ParsedInputs.require, andCommandInvocation.inputswere removed. Mandatory and discretionary positional lists accept only matching declaration categories. - Paired option groups now map their members into one typed aggregate output.
- Commands, hooks, and groups now consume
CommandInvocationand typed input handles instead of string-keyed parsed records. Values after--are passed as the separate validatedargslist. - Choice declarations return their registered enum members. Repeatable choices
support
unique: true, which rejects duplicate selections. - Replaced
PairedOptions(variant: true)withSelectedOptions<R>andSelectableOption; paired groups remain all-or-nothing. - Execution results now provide exit codes and phase-tagged errors, including cleanup failures that retain command output.
0.4.0 #
- Removed defaults from
PairChoiceOption; paired groups are completed only by explicit member input. - Made inherited option overrides resolve cardinality before typed map construction, preventing shadowed options from being resurrected.
- Made built-in help a defaulted global boolean parsed like other flags; the executor skips command execution when it is enabled.
- Validated synthesized negated flag spellings, reserved help aliases, and serialized positional/name namespaces consistently.
- Preserved every cleanup failure in callback order and broadened closed-pipe stdin detection.
- Replaced guessed numeric completion ranges with explicit completion metadata.
0.3.0 #
- Made
Parser.parsereturn a sealedParseOutcome:ParsedInvocationor parser-ownedParsedHelp. - Made
-hand--helpexact parser tokens; help is not valid inside bundles. - Rejected required choice inputs that declare defaults and empty choice sets.
- Enforced documented long/short option dash forms.
- Added paired default handling (superseded in 0.4.0, where pair members no longer accept defaults).
- Made
ChoiceVariadicsingle-valued; useRepeatedChoiceVariadicfor many trailing choices. - Deep-froze and semantically strengthened
RegistryMap; removed legacy description-only accessor maps. - Added negated boolean flags to Carapace specs.
- Added
MambaExecutionErrorto preserve non-recoverable primary and cleanup failures together.
0.2.0 #
- Added standalone
PairedOptionsgroups with group-leveldescription,required, andvariantregistered in their own list. - Removed the legacy primary
PairedOptiontypes; pair members now resolve directly from their group. - Missing required pair members are now reported by name.
0.1.0 #
- Added Carapace completion-spec conversion and platform-aware spec writing.
- Added validated, self-describing
RegistryMapinputs for integrations. - Added variadics, repeated positionals, persistent inputs, and nested command support across command registration, parsing, help, and integrations.
- Updated parser and command APIs to use list-defined input schemas.
0.0.1 #
- Restored the README from the pre-release revision.
- Repeated choice positionals now render one bounded Carapace
positionalslot per accepted value (timesrepetitions plus the original) instead of the unboundedpositionalanyfield, which Mamba does not support. - Variadics now validate only values after
--and no longer absorb extra ordinary positionals. - Numeric options now complete a bounded default range of 0 to 1000 through
$carapace.number.Range; doubles format money-style with at most two decimal places. String options and non-choice positionals and variadics complete$filesby default.
0.0.0 #
-
Added immutable, list-defined command and option schemas.
-
Added typed flags, options, accessors, command groups, hooks, and help output.
-
Added parsing and validation for typed, paired, repeatable, and inherited inputs.
-
Tokens after
--are passed through as trailing arguments. -
Added
PairStringandOrStringformatter values for paired-option help. -
Added
PairedOption.variantfor exactly-one|alternative groups. -
Added immutable, Yargs-inspired option and command schemas.
-
Added Boolean and string options with aliases, defaults, choices, and validation.
-
Added strict root command selection, command aliases, and nested command branches.
-
Added dotted accessor options represented as immutable nested maps.
-
Added required, optional, and discretionary named positional schemas.
-
Added merged argument results and structured, non-throwing input errors.
-
Added a JSON-backed
task_listexecutable with add, delete, update, and list commands. -
Added Acanthis-backed validation for task titles and descriptions.