@cleocode/contracts 2026.4.77 → 2026.4.82

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.d.ts CHANGED
@@ -39,6 +39,8 @@ export { isGatewayEnvelope, isLafsError, isLafsSuccess, } from './lafs.js';
39
39
  export type { BridgeDecision, BridgeLearning, BridgeObservation, BridgePattern, MemoryBridgeConfig, MemoryBridgeContent, SessionSummary, } from './memory.js';
40
40
  export * as ops from './operations/index.js';
41
41
  export type { BrainState } from './operations/orchestrate.js';
42
+ export type { CittyArgDef, OperationParams, ParamCliDef, ParamDef, ParamType, } from './operations/params.js';
43
+ export { paramsToCittyArgs } from './operations/params.js';
42
44
  export { type AgentHierarchy, type AgentHierarchyEntry, type EscalationChain, type OrchestrationHierarchyAPI, OrchestrationLevel, } from './orchestration-hierarchy.js';
43
45
  export type { AdapterPathProvider } from './provider-paths.js';
44
46
  export type { BottleneckTask, CompleteTaskUnblocked, ContextResult, DashboardResult, LabelCount, LeveragedTask, LogQueryResult, SequenceResult, StatsActivityMetrics, StatsAllTime, StatsCompletionMetrics, StatsCurrentState, StatsCycleTimes, StatsResult, TaskAnalysisResult, TaskDepsResult, TaskRef, TaskRefPriority, TaskSummary, } from './results.js';
@@ -47,7 +49,7 @@ export { SessionView } from './session.js';
47
49
  export type { AdapterSpawnProvider, SpawnContext, SpawnResult } from './spawn.js';
48
50
  export type { CAAMPSpawnOptions, CAAMPSpawnResult, CLEOSpawnAdapter, CLEOSpawnContext, CLEOSpawnResult, Provider, SpawnStatus, TokenResolution, } from './spawn-types.js';
49
51
  export { ADR_STATUSES, type AdrStatus, type EntityType, GATE_STATUSES, type GateStatus, isValidStatus, LIFECYCLE_PIPELINE_STATUSES, LIFECYCLE_STAGE_STATUSES, MANIFEST_STATUSES, type ManifestStatus, PIPELINE_STATUS_ICONS, type PipelineStatus, SESSION_STATUSES, type SessionStatus, STAGE_STATUS_ICONS, STATUS_REGISTRY, type StageStatus, TASK_STATUS_SYMBOLS_ASCII, TASK_STATUS_SYMBOLS_UNICODE, TASK_STATUSES, type TaskStatus, TERMINAL_PIPELINE_STATUSES, TERMINAL_STAGE_STATUSES, TERMINAL_TASK_STATUSES, } from './status-registry.js';
50
- export type { AcceptanceItem, CancelledTask, CompletedTask, EpicLifecycle, FileMeta, Phase, PhaseStatus, PhaseTransition, ProjectMeta, Release, ReleaseStatus, SessionNote, Task, TaskCreate, TaskOrigin, TaskPriority, TaskProvenance, TaskRelation, TaskSize, TaskType, TaskVerification, TaskWorkState, VerificationAgent, VerificationFailure, VerificationGate, } from './task.js';
52
+ export type { AcceptanceItem, CancelledTask, CompletedTask, EpicLifecycle, EvidenceAtom, FileMeta, GateEvidence, Phase, PhaseStatus, PhaseTransition, ProjectMeta, Release, ReleaseStatus, SessionNote, Task, TaskCreate, TaskOrigin, TaskPriority, TaskProvenance, TaskRelation, TaskSize, TaskType, TaskVerification, TaskWorkState, VerificationAgent, VerificationFailure, VerificationGate, } from './task.js';
51
53
  export type { CommandOutputEvidence, FileEvidence, LogEvidence, ScreenshotEvidence, TaskEvidence, TaskEvidenceInput, TaskEvidenceKind, TestOutputEvidence, } from './task-evidence.js';
52
54
  export { commandOutputEvidenceSchema, fileEvidenceSchema, logEvidenceSchema, screenshotEvidenceSchema, taskEvidenceSchema, testOutputEvidenceSchema, } from './task-evidence.js';
53
55
  export type { MinimalTaskRecord, TaskRecord, TaskRecordRelation, ValidationHistoryEntry, } from './task-record.js';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
package/dist/index.js CHANGED
@@ -20,6 +20,7 @@ export { AGENT_INSTANCE_STATUSES, AGENT_TYPES, BRAIN_OBSERVATION_TYPES, } from '
20
20
  export { isGatewayEnvelope, isLafsError, isLafsSuccess, } from './lafs.js';
21
21
  // === Operations Types (API wire format, namespaced to avoid collision with domain types) ===
22
22
  export * as ops from './operations/index.js';
23
+ export { paramsToCittyArgs } from './operations/params.js';
23
24
  // === Orchestration Hierarchy ===
24
25
  export { OrchestrationLevel, } from './orchestration-hierarchy.js';
25
26
  // === Session Types ===
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAyBH,2DAA2D;AAC3D,OAAO,EACL,qBAAqB,EACrB,0BAA0B,EAC1B,oBAAoB,EACpB,oBAAoB,EACpB,iBAAiB,EACjB,mBAAmB,EACnB,cAAc,EACd,cAAc,EACd,uBAAuB,EACvB,cAAc,EACd,cAAc,EACd,gBAAgB,EAChB,cAAc,GACf,MAAM,6BAA6B,CAAC;AA+CrC,OAAO,EACL,wBAAwB,EACxB,mBAAmB,EACnB,gBAAgB,EAChB,oBAAoB,EACpB,uBAAuB,EACvB,yBAAyB,EACzB,yBAAyB,EACzB,mBAAmB,GACpB,MAAM,wBAAwB,CAAC;AA2FhC,0BAA0B;AAC1B,OAAO,EACL,iBAAiB,EACjB,mBAAmB,EACnB,WAAW,EACX,eAAe,EACf,aAAa,EACb,WAAW,EACX,cAAc,GACf,MAAM,aAAa,CAAC;AAmBrB,2DAA2D;AAC3D,OAAO,EACL,yBAAyB,EACzB,oBAAoB,EACpB,oBAAoB,EACpB,sBAAsB,EACtB,sBAAsB,EACtB,6BAA6B,GAC9B,MAAM,6BAA6B,CAAC;AACrC,qBAAqB;AACrB,OAAO,EACL,QAAQ,EACR,eAAe,EACf,WAAW,EACX,cAAc,EACd,iBAAiB,EACjB,aAAa,GACd,MAAM,iBAAiB,CAAC;AA+BzB,gCAAgC;AAChC,OAAO,EACL,uBAAuB,EACvB,WAAW,EACX,uBAAuB,GACxB,MAAM,aAAa,CAAC;AAuCrB,8BAA8B;AAC9B,OAAO,EACL,iBAAiB,EACjB,WAAW,EACX,aAAa,GACd,MAAM,WAAW,CAAC;AAUnB,8FAA8F;AAC9F,OAAO,KAAK,GAAG,MAAM,uBAAuB,CAAC;AAG7C,kCAAkC;AAClC,OAAO,EAKL,kBAAkB,GACnB,MAAM,8BAA8B,CAAC;AAgCtC,wBAAwB;AACxB,OAAO,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAa3C,uEAAuE;AACvE,OAAO,EACL,YAAY,EAIZ,aAAa,EAEb,aAAa,EACb,2BAA2B,EAC3B,wBAAwB,EACxB,iBAAiB;AAEjB,gBAAgB;AAChB,qBAAqB,EAErB,gBAAgB,EAEhB,kBAAkB,EAClB,eAAe,EAEf,yBAAyB,EACzB,2BAA2B;AAC3B,YAAY;AACZ,aAAa,EAGb,0BAA0B,EAC1B,uBAAuB;AACvB,sBAAsB;AACtB,sBAAsB,GACvB,MAAM,sBAAsB,CAAC;AAwC9B,OAAO,EACL,2BAA2B,EAC3B,kBAAkB,EAClB,iBAAiB,EACjB,wBAAwB,EACxB,kBAAkB,EAClB,wBAAwB,GACzB,MAAM,oBAAoB,CAAC;AAiD5B,yCAAyC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAyBH,2DAA2D;AAC3D,OAAO,EACL,qBAAqB,EACrB,0BAA0B,EAC1B,oBAAoB,EACpB,oBAAoB,EACpB,iBAAiB,EACjB,mBAAmB,EACnB,cAAc,EACd,cAAc,EACd,uBAAuB,EACvB,cAAc,EACd,cAAc,EACd,gBAAgB,EAChB,cAAc,GACf,MAAM,6BAA6B,CAAC;AA+CrC,OAAO,EACL,wBAAwB,EACxB,mBAAmB,EACnB,gBAAgB,EAChB,oBAAoB,EACpB,uBAAuB,EACvB,yBAAyB,EACzB,yBAAyB,EACzB,mBAAmB,GACpB,MAAM,wBAAwB,CAAC;AA2FhC,0BAA0B;AAC1B,OAAO,EACL,iBAAiB,EACjB,mBAAmB,EACnB,WAAW,EACX,eAAe,EACf,aAAa,EACb,WAAW,EACX,cAAc,GACf,MAAM,aAAa,CAAC;AAmBrB,2DAA2D;AAC3D,OAAO,EACL,yBAAyB,EACzB,oBAAoB,EACpB,oBAAoB,EACpB,sBAAsB,EACtB,sBAAsB,EACtB,6BAA6B,GAC9B,MAAM,6BAA6B,CAAC;AACrC,qBAAqB;AACrB,OAAO,EACL,QAAQ,EACR,eAAe,EACf,WAAW,EACX,cAAc,EACd,iBAAiB,EACjB,aAAa,GACd,MAAM,iBAAiB,CAAC;AA+BzB,gCAAgC;AAChC,OAAO,EACL,uBAAuB,EACvB,WAAW,EACX,uBAAuB,GACxB,MAAM,aAAa,CAAC;AAuCrB,8BAA8B;AAC9B,OAAO,EACL,iBAAiB,EACjB,WAAW,EACX,aAAa,GACd,MAAM,WAAW,CAAC;AAUnB,8FAA8F;AAC9F,OAAO,KAAK,GAAG,MAAM,uBAAuB,CAAC;AAW7C,OAAO,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAC3D,kCAAkC;AAClC,OAAO,EAKL,kBAAkB,GACnB,MAAM,8BAA8B,CAAC;AAgCtC,wBAAwB;AACxB,OAAO,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAa3C,uEAAuE;AACvE,OAAO,EACL,YAAY,EAIZ,aAAa,EAEb,aAAa,EACb,2BAA2B,EAC3B,wBAAwB,EACxB,iBAAiB;AAEjB,gBAAgB;AAChB,qBAAqB,EAErB,gBAAgB,EAEhB,kBAAkB,EAClB,eAAe,EAEf,yBAAyB,EACzB,2BAA2B;AAC3B,YAAY;AACZ,aAAa,EAGb,0BAA0B,EAC1B,uBAAuB;AACvB,sBAAsB;AACtB,sBAAsB,GACvB,MAAM,sBAAsB,CAAC;AA0C9B,OAAO,EACL,2BAA2B,EAC3B,kBAAkB,EAClB,iBAAiB,EACjB,wBAAwB,EACxB,kBAAkB,EAClB,wBAAwB,GACzB,MAAM,oBAAoB,CAAC;AAiD5B,yCAAyC"}
@@ -7,6 +7,7 @@
7
7
  export * from './issues.js';
8
8
  export * from './lifecycle.js';
9
9
  export * from './orchestrate.js';
10
+ export * from './params.js';
10
11
  export * from './release.js';
11
12
  export * from './research.js';
12
13
  export * from './session.js';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/operations/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,cAAc,aAAa,CAAC;AAC5B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,kBAAkB,CAAC;AACjC,cAAc,cAAc,CAAC;AAC7B,cAAc,eAAe,CAAC;AAC9B,cAAc,cAAc,CAAC;AAC7B,cAAc,aAAa,CAAC;AAC5B,cAAc,aAAa,CAAC;AAC5B,cAAc,YAAY,CAAC;AAC3B,cAAc,eAAe,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/operations/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,cAAc,aAAa,CAAC;AAC5B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,kBAAkB,CAAC;AACjC,cAAc,aAAa,CAAC;AAC5B,cAAc,cAAc,CAAC;AAC7B,cAAc,eAAe,CAAC;AAC9B,cAAc,cAAc,CAAC;AAC7B,cAAc,aAAa,CAAC;AAC5B,cAAc,aAAa,CAAC;AAC5B,cAAc,YAAY,CAAC;AAC3B,cAAc,eAAe,CAAC"}
@@ -7,6 +7,7 @@
7
7
  export * from './issues.js';
8
8
  export * from './lifecycle.js';
9
9
  export * from './orchestrate.js';
10
+ export * from './params.js';
10
11
  export * from './release.js';
11
12
  export * from './research.js';
12
13
  export * from './session.js';
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/operations/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,cAAc,aAAa,CAAC;AAC5B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,kBAAkB,CAAC;AACjC,cAAc,cAAc,CAAC;AAC7B,cAAc,eAAe,CAAC;AAC9B,cAAc,cAAc,CAAC;AAC7B,cAAc,aAAa,CAAC;AAC5B,cAAc,aAAa,CAAC;AAC5B,cAAc,YAAY,CAAC;AAC3B,cAAc,eAAe,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/operations/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,cAAc,aAAa,CAAC;AAC5B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,kBAAkB,CAAC;AACjC,cAAc,aAAa,CAAC;AAC5B,cAAc,cAAc,CAAC;AAC7B,cAAc,eAAe,CAAC;AAC9B,cAAc,cAAc,CAAC;AAC7B,cAAc,aAAa,CAAC;AAC5B,cAAc,aAAa,CAAC;AAC5B,cAAc,YAAY,CAAC;AAC3B,cAAc,eAAe,CAAC"}
@@ -0,0 +1,131 @@
1
+ /**
2
+ * ParamDef contract — canonical parameter descriptor for all CLEO operations.
3
+ *
4
+ * This module is the SINGLE SOURCE OF TRUTH for the `ParamDef` type.
5
+ * All packages that describe operation parameters MUST import from here.
6
+ *
7
+ * @packageDocumentation
8
+ * @module @cleocode/contracts/operations/params
9
+ */
10
+ /**
11
+ * The concrete value types a parameter can carry at runtime.
12
+ * Drives JSON Schema `type` and citty argument/option parsing.
13
+ */
14
+ export type ParamType = 'string' | 'number' | 'boolean' | 'array';
15
+ /**
16
+ * CLI-specific decoration for a single parameter.
17
+ *
18
+ * Omit the entire `cli` key for parameters that have no CLI surface
19
+ * (e.g. parameters only used internally by the dispatch engine).
20
+ */
21
+ export interface ParamCliDef {
22
+ /**
23
+ * When `true`, the parameter is registered as a positional argument
24
+ * (`<name>` or `[name]`) rather than a named option flag (`--name`).
25
+ *
26
+ * @default false
27
+ */
28
+ positional?: boolean;
29
+ /**
30
+ * Short single-character flag alias, e.g. `'-t'` for `--type`.
31
+ * Only meaningful when `positional` is `false` or omitted.
32
+ */
33
+ short?: string;
34
+ /**
35
+ * Override the CLI flag name when it differs from the param `name`.
36
+ * For example: `name: 'includeArchive'` but `flag: 'include-archive'`.
37
+ * Defaults to the kebab-case form of `name`.
38
+ */
39
+ flag?: string;
40
+ /**
41
+ * For `array`-type params: when `true` the flag may be repeated on the CLI.
42
+ * When `false` / omitted, the CLI accepts a single comma-separated string.
43
+ *
44
+ * @default false
45
+ */
46
+ variadic?: boolean;
47
+ }
48
+ /**
49
+ * A fully-described parameter definition for a CLEO operation.
50
+ *
51
+ * One `ParamDef` entry drives:
52
+ * - citty CLI: `.argument()` (positional) or `.option()` (named flag)
53
+ * - JSON Schema generation for API clients
54
+ * - Dispatch-layer validation against `requiredParams`
55
+ */
56
+ export interface ParamDef {
57
+ /**
58
+ * Canonical camelCase parameter name.
59
+ * Must match the key in the `params` dict sent to the dispatcher.
60
+ */
61
+ name: string;
62
+ /** Runtime value type. Drives JSON Schema `type` and CLI parsing. */
63
+ type: ParamType;
64
+ /**
65
+ * Whether this parameter must be present in every request.
66
+ * Required parameters are also listed in `OperationDef.requiredParams`.
67
+ */
68
+ required: boolean;
69
+ /** Human-readable description used in CLI help text and API docs. */
70
+ description: string;
71
+ /**
72
+ * CLI-specific metadata.
73
+ * Omit when the parameter is not exposed on the CLI surface.
74
+ */
75
+ cli?: ParamCliDef;
76
+ /**
77
+ * Allowed string values (JSON Schema `enum` constraint).
78
+ * Use only for `string`-typed params with a finite set of valid values.
79
+ */
80
+ enum?: readonly string[];
81
+ /**
82
+ * When `true`, the parameter is excluded from JSON Schema generation.
83
+ * Use for CLI-only params (e.g. `--dry-run`, `--offset`) that are not
84
+ * part of the public API surface.
85
+ *
86
+ * @default false
87
+ */
88
+ hidden?: boolean;
89
+ }
90
+ /**
91
+ * Ordered list of parameter definitions for a single operation.
92
+ *
93
+ * An empty array means "no declared params" — NOT "no params accepted".
94
+ * Operations using `requiredParams: []` with no `params` key are legacy
95
+ * entries that have not yet been migrated to the full `ParamDef` shape.
96
+ */
97
+ export type OperationParams = ParamDef[];
98
+ /**
99
+ * Subset of citty's `ArgDef` used by the converter.
100
+ * Only the fields that `ParamDef` can supply are included.
101
+ */
102
+ export interface CittyArgDef {
103
+ /** citty arg type ('boolean' | 'string' | 'enum' | 'positional') */
104
+ type?: 'boolean' | 'string' | 'enum' | 'positional';
105
+ /** Human-readable description shown in `--help` output */
106
+ description?: string;
107
+ /** Short flag alias (single character, without leading dash) */
108
+ alias?: string;
109
+ /** Whether the argument is required */
110
+ required?: boolean;
111
+ /** Allowed values for `enum`-typed args */
112
+ options?: string[];
113
+ }
114
+ /**
115
+ * Convert an array of `ParamDef` entries into a `Record<string, CittyArgDef>`
116
+ * that can be passed directly to `defineCommand({ args: ... })`.
117
+ *
118
+ * Mapping rules:
119
+ * - `type: 'boolean'` → citty `type: 'boolean'`
120
+ * - `type: 'string'` → citty `type: 'string'`; `type: 'enum'` when `enum` is set
121
+ * - `type: 'number'` → citty `type: 'string'` (caller must `parseInt`/`parseFloat`)
122
+ * - `type: 'array'` → citty `type: 'string'` (caller handles splitting)
123
+ * - `cli.positional` → citty `type: 'positional'`
124
+ * - `cli.short` → citty `alias`
125
+ * - `enum` → citty `options` with citty `type: 'enum'`
126
+ *
127
+ * @param params - The `ParamDef[]` from an `OperationDef`.
128
+ * @returns A `Record<string, CittyArgDef>` ready for use as `args` in `defineCommand`.
129
+ */
130
+ export declare function paramsToCittyArgs(params: OperationParams): Record<string, CittyArgDef>;
131
+ //# sourceMappingURL=params.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"params.d.ts","sourceRoot":"","sources":["../../src/operations/params.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAMH;;;GAGG;AACH,MAAM,MAAM,SAAS,GAAG,QAAQ,GAAG,QAAQ,GAAG,SAAS,GAAG,OAAO,CAAC;AAElE;;;;;GAKG;AACH,MAAM,WAAW,WAAW;IAC1B;;;;;OAKG;IACH,UAAU,CAAC,EAAE,OAAO,CAAC;IAErB;;;OAGG;IACH,KAAK,CAAC,EAAE,MAAM,CAAC;IAEf;;;;OAIG;IACH,IAAI,CAAC,EAAE,MAAM,CAAC;IAEd;;;;;OAKG;IACH,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB;AAED;;;;;;;GAOG;AACH,MAAM,WAAW,QAAQ;IACvB;;;OAGG;IACH,IAAI,EAAE,MAAM,CAAC;IAEb,qEAAqE;IACrE,IAAI,EAAE,SAAS,CAAC;IAEhB;;;OAGG;IACH,QAAQ,EAAE,OAAO,CAAC;IAElB,qEAAqE;IACrE,WAAW,EAAE,MAAM,CAAC;IAEpB;;;OAGG;IACH,GAAG,CAAC,EAAE,WAAW,CAAC;IAElB;;;OAGG;IACH,IAAI,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IAEzB;;;;;;OAMG;IACH,MAAM,CAAC,EAAE,OAAO,CAAC;CAClB;AAED;;;;;;GAMG;AACH,MAAM,MAAM,eAAe,GAAG,QAAQ,EAAE,CAAC;AAMzC;;;GAGG;AACH,MAAM,WAAW,WAAW;IAC1B,oEAAoE;IACpE,IAAI,CAAC,EAAE,SAAS,GAAG,QAAQ,GAAG,MAAM,GAAG,YAAY,CAAC;IACpD,0DAA0D;IAC1D,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,gEAAgE;IAChE,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,uCAAuC;IACvC,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,2CAA2C;IAC3C,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;CACpB;AAED;;;;;;;;;;;;;;;GAeG;AACH,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,eAAe,GAAG,MAAM,CAAC,MAAM,EAAE,WAAW,CAAC,CAiCtF"}
@@ -0,0 +1,60 @@
1
+ /**
2
+ * ParamDef contract — canonical parameter descriptor for all CLEO operations.
3
+ *
4
+ * This module is the SINGLE SOURCE OF TRUTH for the `ParamDef` type.
5
+ * All packages that describe operation parameters MUST import from here.
6
+ *
7
+ * @packageDocumentation
8
+ * @module @cleocode/contracts/operations/params
9
+ */
10
+ /**
11
+ * Convert an array of `ParamDef` entries into a `Record<string, CittyArgDef>`
12
+ * that can be passed directly to `defineCommand({ args: ... })`.
13
+ *
14
+ * Mapping rules:
15
+ * - `type: 'boolean'` → citty `type: 'boolean'`
16
+ * - `type: 'string'` → citty `type: 'string'`; `type: 'enum'` when `enum` is set
17
+ * - `type: 'number'` → citty `type: 'string'` (caller must `parseInt`/`parseFloat`)
18
+ * - `type: 'array'` → citty `type: 'string'` (caller handles splitting)
19
+ * - `cli.positional` → citty `type: 'positional'`
20
+ * - `cli.short` → citty `alias`
21
+ * - `enum` → citty `options` with citty `type: 'enum'`
22
+ *
23
+ * @param params - The `ParamDef[]` from an `OperationDef`.
24
+ * @returns A `Record<string, CittyArgDef>` ready for use as `args` in `defineCommand`.
25
+ */
26
+ export function paramsToCittyArgs(params) {
27
+ const result = {};
28
+ for (const param of params) {
29
+ const argName = param.cli?.flag ?? param.name;
30
+ const arg = {
31
+ description: param.description,
32
+ };
33
+ if (param.cli?.positional === true) {
34
+ arg.type = 'positional';
35
+ arg.required = param.required;
36
+ }
37
+ else if (param.enum !== undefined && param.enum.length > 0) {
38
+ arg.type = 'enum';
39
+ arg.options = [...param.enum];
40
+ if (param.required)
41
+ arg.required = true;
42
+ }
43
+ else if (param.type === 'boolean') {
44
+ arg.type = 'boolean';
45
+ }
46
+ else {
47
+ // string, number, and array all map to citty 'string'
48
+ // (number/array require caller-side parsing after arg extraction)
49
+ arg.type = 'string';
50
+ if (param.required)
51
+ arg.required = true;
52
+ }
53
+ if (param.cli?.short !== undefined) {
54
+ arg.alias = param.cli.short.replace(/^-/, '');
55
+ }
56
+ result[argName] = arg;
57
+ }
58
+ return result;
59
+ }
60
+ //# sourceMappingURL=params.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"params.js","sourceRoot":"","sources":["../../src/operations/params.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAgIH;;;;;;;;;;;;;;;GAeG;AACH,MAAM,UAAU,iBAAiB,CAAC,MAAuB;IACvD,MAAM,MAAM,GAAgC,EAAE,CAAC;IAE/C,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;QAC3B,MAAM,OAAO,GAAG,KAAK,CAAC,GAAG,EAAE,IAAI,IAAI,KAAK,CAAC,IAAI,CAAC;QAC9C,MAAM,GAAG,GAAgB;YACvB,WAAW,EAAE,KAAK,CAAC,WAAW;SAC/B,CAAC;QAEF,IAAI,KAAK,CAAC,GAAG,EAAE,UAAU,KAAK,IAAI,EAAE,CAAC;YACnC,GAAG,CAAC,IAAI,GAAG,YAAY,CAAC;YACxB,GAAG,CAAC,QAAQ,GAAG,KAAK,CAAC,QAAQ,CAAC;QAChC,CAAC;aAAM,IAAI,KAAK,CAAC,IAAI,KAAK,SAAS,IAAI,KAAK,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC7D,GAAG,CAAC,IAAI,GAAG,MAAM,CAAC;YAClB,GAAG,CAAC,OAAO,GAAG,CAAC,GAAG,KAAK,CAAC,IAAI,CAAC,CAAC;YAC9B,IAAI,KAAK,CAAC,QAAQ;gBAAE,GAAG,CAAC,QAAQ,GAAG,IAAI,CAAC;QAC1C,CAAC;aAAM,IAAI,KAAK,CAAC,IAAI,KAAK,SAAS,EAAE,CAAC;YACpC,GAAG,CAAC,IAAI,GAAG,SAAS,CAAC;QACvB,CAAC;aAAM,CAAC;YACN,sDAAsD;YACtD,kEAAkE;YAClE,GAAG,CAAC,IAAI,GAAG,QAAQ,CAAC;YACpB,IAAI,KAAK,CAAC,QAAQ;gBAAE,GAAG,CAAC,QAAQ,GAAG,IAAI,CAAC;QAC1C,CAAC;QAED,IAAI,KAAK,CAAC,GAAG,EAAE,KAAK,KAAK,SAAS,EAAE,CAAC;YACnC,GAAG,CAAC,KAAK,GAAG,KAAK,CAAC,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;QAChD,CAAC;QAED,MAAM,CAAC,OAAO,CAAC,GAAG,GAAG,CAAC;IACxB,CAAC;IAED,OAAO,MAAM,CAAC;AAChB,CAAC"}
package/dist/task.d.ts CHANGED
@@ -59,6 +59,70 @@ export interface VerificationFailure {
59
59
  /** ISO 8601 timestamp of when the failure was recorded. */
60
60
  timestamp: string;
61
61
  }
62
+ /**
63
+ * A single piece of evidence backing a verification gate.
64
+ *
65
+ * Evidence is validated at `cleo verify` write time (commits reachable, files
66
+ * exist with matching sha256, tests pass, tools exit 0) and re-validated at
67
+ * `cleo complete` time to catch post-verify tampering.
68
+ *
69
+ * @task T832
70
+ * @adr ADR-051
71
+ */
72
+ export type EvidenceAtom = {
73
+ kind: 'commit';
74
+ sha: string;
75
+ shortSha: string;
76
+ } | {
77
+ kind: 'files';
78
+ files: Array<{
79
+ path: string;
80
+ sha256: string;
81
+ }>;
82
+ } | {
83
+ kind: 'test-run';
84
+ path: string;
85
+ sha256: string;
86
+ passCount: number;
87
+ failCount: number;
88
+ skipCount: number;
89
+ } | {
90
+ kind: 'tool';
91
+ tool: string;
92
+ exitCode: number;
93
+ stdoutTail: string;
94
+ } | {
95
+ kind: 'url';
96
+ url: string;
97
+ } | {
98
+ kind: 'note';
99
+ note: string;
100
+ } | {
101
+ kind: 'override';
102
+ reason: string;
103
+ };
104
+ /**
105
+ * Evidence backing a single verification gate.
106
+ *
107
+ * @task T832
108
+ * @adr ADR-051
109
+ */
110
+ export interface GateEvidence {
111
+ /** One or more evidence atoms supporting this gate. */
112
+ atoms: EvidenceAtom[];
113
+ /** ISO 8601 timestamp of when evidence was captured. */
114
+ capturedAt: string;
115
+ /** Agent identifier that captured the evidence. */
116
+ capturedBy: string;
117
+ /**
118
+ * True when CLEO_OWNER_OVERRIDE was used to bypass evidence validation.
119
+ * Override evidence MUST NOT be re-validated at complete time.
120
+ * @defaultValue undefined (false)
121
+ */
122
+ override?: boolean;
123
+ /** Reason given for an override (`CLEO_OWNER_OVERRIDE_REASON` env). */
124
+ overrideReason?: string;
125
+ }
62
126
  /** Task verification state. */
63
127
  export interface TaskVerification {
64
128
  /** Whether all required verification gates have passed. */
@@ -67,6 +131,12 @@ export interface TaskVerification {
67
131
  round: number;
68
132
  /** Gate pass/fail/pending status for each verification gate. */
69
133
  gates: Partial<Record<VerificationGate, boolean | null>>;
134
+ /**
135
+ * Evidence backing each gate. Populated by `cleo verify --evidence …` and
136
+ * re-validated at `cleo complete` time (T832 / ADR-051).
137
+ * @defaultValue undefined
138
+ */
139
+ evidence?: Partial<Record<VerificationGate, GateEvidence>>;
70
140
  /** The last agent that performed a verification check, or `null`. */
71
141
  lastAgent: VerificationAgent | null;
72
142
  /** ISO 8601 timestamp of the most recent verification update, or `null`. */
@@ -1 +1 @@
1
- {"version":3,"file":"task.d.ts","sourceRoot":"","sources":["../src/task.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"task.d.ts","sourceRoot":"","sources":["../src/task.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@cleocode/contracts",
3
- "version": "2026.4.77",
3
+ "version": "2026.4.82",
4
4
  "description": "Domain types, interfaces, and contracts for the CLEO ecosystem",
5
5
  "type": "module",
6
6
  "main": "./dist/index.js",
package/src/index.ts CHANGED
@@ -330,6 +330,15 @@ export type {
330
330
  export * as ops from './operations/index.js';
331
331
  // Commonly used ops types re-exported at top level for convenience
332
332
  export type { BrainState } from './operations/orchestrate.js';
333
+ // ParamDef contract — re-exported at top level (SSoT for all operation param descriptors)
334
+ export type {
335
+ CittyArgDef,
336
+ OperationParams,
337
+ ParamCliDef,
338
+ ParamDef,
339
+ ParamType,
340
+ } from './operations/params.js';
341
+ export { paramsToCittyArgs } from './operations/params.js';
333
342
  // === Orchestration Hierarchy ===
334
343
  export {
335
344
  type AgentHierarchy,
@@ -421,7 +430,9 @@ export type {
421
430
  CancelledTask,
422
431
  CompletedTask,
423
432
  EpicLifecycle,
433
+ EvidenceAtom,
424
434
  FileMeta,
435
+ GateEvidence,
425
436
  Phase,
426
437
  PhaseStatus,
427
438
  PhaseTransition,
@@ -8,6 +8,7 @@
8
8
  export * from './issues.js';
9
9
  export * from './lifecycle.js';
10
10
  export * from './orchestrate.js';
11
+ export * from './params.js';
11
12
  export * from './release.js';
12
13
  export * from './research.js';
13
14
  export * from './session.js';
@@ -0,0 +1,186 @@
1
+ /**
2
+ * ParamDef contract — canonical parameter descriptor for all CLEO operations.
3
+ *
4
+ * This module is the SINGLE SOURCE OF TRUTH for the `ParamDef` type.
5
+ * All packages that describe operation parameters MUST import from here.
6
+ *
7
+ * @packageDocumentation
8
+ * @module @cleocode/contracts/operations/params
9
+ */
10
+
11
+ // ---------------------------------------------------------------------------
12
+ // Core types
13
+ // ---------------------------------------------------------------------------
14
+
15
+ /**
16
+ * The concrete value types a parameter can carry at runtime.
17
+ * Drives JSON Schema `type` and citty argument/option parsing.
18
+ */
19
+ export type ParamType = 'string' | 'number' | 'boolean' | 'array';
20
+
21
+ /**
22
+ * CLI-specific decoration for a single parameter.
23
+ *
24
+ * Omit the entire `cli` key for parameters that have no CLI surface
25
+ * (e.g. parameters only used internally by the dispatch engine).
26
+ */
27
+ export interface ParamCliDef {
28
+ /**
29
+ * When `true`, the parameter is registered as a positional argument
30
+ * (`<name>` or `[name]`) rather than a named option flag (`--name`).
31
+ *
32
+ * @default false
33
+ */
34
+ positional?: boolean;
35
+
36
+ /**
37
+ * Short single-character flag alias, e.g. `'-t'` for `--type`.
38
+ * Only meaningful when `positional` is `false` or omitted.
39
+ */
40
+ short?: string;
41
+
42
+ /**
43
+ * Override the CLI flag name when it differs from the param `name`.
44
+ * For example: `name: 'includeArchive'` but `flag: 'include-archive'`.
45
+ * Defaults to the kebab-case form of `name`.
46
+ */
47
+ flag?: string;
48
+
49
+ /**
50
+ * For `array`-type params: when `true` the flag may be repeated on the CLI.
51
+ * When `false` / omitted, the CLI accepts a single comma-separated string.
52
+ *
53
+ * @default false
54
+ */
55
+ variadic?: boolean;
56
+ }
57
+
58
+ /**
59
+ * A fully-described parameter definition for a CLEO operation.
60
+ *
61
+ * One `ParamDef` entry drives:
62
+ * - citty CLI: `.argument()` (positional) or `.option()` (named flag)
63
+ * - JSON Schema generation for API clients
64
+ * - Dispatch-layer validation against `requiredParams`
65
+ */
66
+ export interface ParamDef {
67
+ /**
68
+ * Canonical camelCase parameter name.
69
+ * Must match the key in the `params` dict sent to the dispatcher.
70
+ */
71
+ name: string;
72
+
73
+ /** Runtime value type. Drives JSON Schema `type` and CLI parsing. */
74
+ type: ParamType;
75
+
76
+ /**
77
+ * Whether this parameter must be present in every request.
78
+ * Required parameters are also listed in `OperationDef.requiredParams`.
79
+ */
80
+ required: boolean;
81
+
82
+ /** Human-readable description used in CLI help text and API docs. */
83
+ description: string;
84
+
85
+ /**
86
+ * CLI-specific metadata.
87
+ * Omit when the parameter is not exposed on the CLI surface.
88
+ */
89
+ cli?: ParamCliDef;
90
+
91
+ /**
92
+ * Allowed string values (JSON Schema `enum` constraint).
93
+ * Use only for `string`-typed params with a finite set of valid values.
94
+ */
95
+ enum?: readonly string[];
96
+
97
+ /**
98
+ * When `true`, the parameter is excluded from JSON Schema generation.
99
+ * Use for CLI-only params (e.g. `--dry-run`, `--offset`) that are not
100
+ * part of the public API surface.
101
+ *
102
+ * @default false
103
+ */
104
+ hidden?: boolean;
105
+ }
106
+
107
+ /**
108
+ * Ordered list of parameter definitions for a single operation.
109
+ *
110
+ * An empty array means "no declared params" — NOT "no params accepted".
111
+ * Operations using `requiredParams: []` with no `params` key are legacy
112
+ * entries that have not yet been migrated to the full `ParamDef` shape.
113
+ */
114
+ export type OperationParams = ParamDef[];
115
+
116
+ // ---------------------------------------------------------------------------
117
+ // Citty integration
118
+ // ---------------------------------------------------------------------------
119
+
120
+ /**
121
+ * Subset of citty's `ArgDef` used by the converter.
122
+ * Only the fields that `ParamDef` can supply are included.
123
+ */
124
+ export interface CittyArgDef {
125
+ /** citty arg type ('boolean' | 'string' | 'enum' | 'positional') */
126
+ type?: 'boolean' | 'string' | 'enum' | 'positional';
127
+ /** Human-readable description shown in `--help` output */
128
+ description?: string;
129
+ /** Short flag alias (single character, without leading dash) */
130
+ alias?: string;
131
+ /** Whether the argument is required */
132
+ required?: boolean;
133
+ /** Allowed values for `enum`-typed args */
134
+ options?: string[];
135
+ }
136
+
137
+ /**
138
+ * Convert an array of `ParamDef` entries into a `Record<string, CittyArgDef>`
139
+ * that can be passed directly to `defineCommand({ args: ... })`.
140
+ *
141
+ * Mapping rules:
142
+ * - `type: 'boolean'` → citty `type: 'boolean'`
143
+ * - `type: 'string'` → citty `type: 'string'`; `type: 'enum'` when `enum` is set
144
+ * - `type: 'number'` → citty `type: 'string'` (caller must `parseInt`/`parseFloat`)
145
+ * - `type: 'array'` → citty `type: 'string'` (caller handles splitting)
146
+ * - `cli.positional` → citty `type: 'positional'`
147
+ * - `cli.short` → citty `alias`
148
+ * - `enum` → citty `options` with citty `type: 'enum'`
149
+ *
150
+ * @param params - The `ParamDef[]` from an `OperationDef`.
151
+ * @returns A `Record<string, CittyArgDef>` ready for use as `args` in `defineCommand`.
152
+ */
153
+ export function paramsToCittyArgs(params: OperationParams): Record<string, CittyArgDef> {
154
+ const result: Record<string, CittyArgDef> = {};
155
+
156
+ for (const param of params) {
157
+ const argName = param.cli?.flag ?? param.name;
158
+ const arg: CittyArgDef = {
159
+ description: param.description,
160
+ };
161
+
162
+ if (param.cli?.positional === true) {
163
+ arg.type = 'positional';
164
+ arg.required = param.required;
165
+ } else if (param.enum !== undefined && param.enum.length > 0) {
166
+ arg.type = 'enum';
167
+ arg.options = [...param.enum];
168
+ if (param.required) arg.required = true;
169
+ } else if (param.type === 'boolean') {
170
+ arg.type = 'boolean';
171
+ } else {
172
+ // string, number, and array all map to citty 'string'
173
+ // (number/array require caller-side parsing after arg extraction)
174
+ arg.type = 'string';
175
+ if (param.required) arg.required = true;
176
+ }
177
+
178
+ if (param.cli?.short !== undefined) {
179
+ arg.alias = param.cli.short.replace(/^-/, '');
180
+ }
181
+
182
+ result[argName] = arg;
183
+ }
184
+
185
+ return result;
186
+ }
package/src/task.ts CHANGED
@@ -91,6 +91,55 @@ export interface VerificationFailure {
91
91
  timestamp: string;
92
92
  }
93
93
 
94
+ /**
95
+ * A single piece of evidence backing a verification gate.
96
+ *
97
+ * Evidence is validated at `cleo verify` write time (commits reachable, files
98
+ * exist with matching sha256, tests pass, tools exit 0) and re-validated at
99
+ * `cleo complete` time to catch post-verify tampering.
100
+ *
101
+ * @task T832
102
+ * @adr ADR-051
103
+ */
104
+ export type EvidenceAtom =
105
+ | { kind: 'commit'; sha: string; shortSha: string }
106
+ | { kind: 'files'; files: Array<{ path: string; sha256: string }> }
107
+ | {
108
+ kind: 'test-run';
109
+ path: string;
110
+ sha256: string;
111
+ passCount: number;
112
+ failCount: number;
113
+ skipCount: number;
114
+ }
115
+ | { kind: 'tool'; tool: string; exitCode: number; stdoutTail: string }
116
+ | { kind: 'url'; url: string }
117
+ | { kind: 'note'; note: string }
118
+ | { kind: 'override'; reason: string };
119
+
120
+ /**
121
+ * Evidence backing a single verification gate.
122
+ *
123
+ * @task T832
124
+ * @adr ADR-051
125
+ */
126
+ export interface GateEvidence {
127
+ /** One or more evidence atoms supporting this gate. */
128
+ atoms: EvidenceAtom[];
129
+ /** ISO 8601 timestamp of when evidence was captured. */
130
+ capturedAt: string;
131
+ /** Agent identifier that captured the evidence. */
132
+ capturedBy: string;
133
+ /**
134
+ * True when CLEO_OWNER_OVERRIDE was used to bypass evidence validation.
135
+ * Override evidence MUST NOT be re-validated at complete time.
136
+ * @defaultValue undefined (false)
137
+ */
138
+ override?: boolean;
139
+ /** Reason given for an override (`CLEO_OWNER_OVERRIDE_REASON` env). */
140
+ overrideReason?: string;
141
+ }
142
+
94
143
  /** Task verification state. */
95
144
  export interface TaskVerification {
96
145
  /** Whether all required verification gates have passed. */
@@ -99,6 +148,12 @@ export interface TaskVerification {
99
148
  round: number;
100
149
  /** Gate pass/fail/pending status for each verification gate. */
101
150
  gates: Partial<Record<VerificationGate, boolean | null>>;
151
+ /**
152
+ * Evidence backing each gate. Populated by `cleo verify --evidence …` and
153
+ * re-validated at `cleo complete` time (T832 / ADR-051).
154
+ * @defaultValue undefined
155
+ */
156
+ evidence?: Partial<Record<VerificationGate, GateEvidence>>;
102
157
  /** The last agent that performed a verification check, or `null`. */
103
158
  lastAgent: VerificationAgent | null;
104
159
  /** ISO 8601 timestamp of the most recent verification update, or `null`. */