claude-flow 3.63.6 → 3.63.7

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.
Files changed (42) hide show
  1. package/.claude/agents/github/github-modes.md +3 -3
  2. package/.claude/agents/github/issue-tracker.md +6 -6
  3. package/.claude/agents/github/pr-manager.md +6 -6
  4. package/.claude/agents/github/release-manager.md +11 -11
  5. package/.claude/agents/github/repo-architect.md +9 -9
  6. package/.claude/agents/github/swarm-issue.md +4 -4
  7. package/.claude/agents/github/swarm-pr.md +5 -5
  8. package/.claude/agents/github/sync-coordinator.md +18 -18
  9. package/.claude/agents/github/workflow-automation.md +7 -7
  10. package/.claude/agents/goal/code-goal-planner.md +2 -2
  11. package/.claude/commands/agents/agent-spawning.md +1 -1
  12. package/.claude/commands/github/github-modes.md +3 -3
  13. package/.claude/commands/github/issue-tracker.md +6 -6
  14. package/.claude/commands/github/pr-manager.md +6 -6
  15. package/.claude/commands/github/release-manager.md +11 -11
  16. package/.claude/commands/github/repo-architect.md +9 -9
  17. package/.claude/commands/github/sync-coordinator.md +9 -9
  18. package/.claude/commands/sparc/orchestrator.md +1 -1
  19. package/.claude/commands/sparc/sparc-modes.md +1 -1
  20. package/.claude/proven-config.json +1 -1
  21. package/.claude/skills/github-code-review/SKILL.md +3 -3
  22. package/.claude/skills/github-multi-repo/SKILL.md +6 -9
  23. package/.claude/skills/github-project-management/SKILL.md +7 -7
  24. package/.claude/skills/github-release-management/SKILL.md +12 -14
  25. package/.claude/skills/github-workflow-automation/SKILL.md +7 -7
  26. package/.claude/skills/sparc-methodology/SKILL.md +11 -11
  27. package/.claude/skills/swarm-advanced/SKILL.md +5 -5
  28. package/.claude-plugin/marketplace.json +3 -3
  29. package/README.md +1 -1
  30. package/package.json +1 -1
  31. package/v3/@claude-flow/cli/README.md +179 -63
  32. package/v3/@claude-flow/cli/catalog-manifest.json +5 -5
  33. package/v3/@claude-flow/cli/dist/src/commands/hooks.js +7 -0
  34. package/v3/@claude-flow/cli/dist/src/mcp-tools/agent-tools.js +19 -5
  35. package/v3/@claude-flow/cli/dist/src/mcp-tools/coordination-tools.js +10 -12
  36. package/v3/@claude-flow/cli/dist/src/mcp-tools/hooks-tools.js +11 -2
  37. package/v3/@claude-flow/cli/dist/src/mcp-tools/performance-tools.js +13 -23
  38. package/v3/@claude-flow/cli/dist/src/mcp-tools/session-tools.js +25 -8
  39. package/v3/@claude-flow/cli/dist/src/missions/schemas.d.ts +46 -46
  40. package/v3/@claude-flow/cli/dist/src/mods/command-registry/schema.d.ts +144 -144
  41. package/v3/@claude-flow/cli/dist/src/services/worker-daemon.js +11 -4
  42. package/v3/@claude-flow/cli/package.json +1 -1
@@ -214,7 +214,7 @@ export const agentTools = [
214
214
  inputSchema: {
215
215
  type: 'object',
216
216
  properties: {
217
- agentType: { type: 'string', description: 'Type of agent to spawn' },
217
+ agentType: { type: 'string', description: 'Type of agent to spawn (a legacy `type` key is accepted as an alias)' },
218
218
  agentId: { type: 'string', description: 'Optional custom agent ID' },
219
219
  name: { type: 'string', description: 'Optional display name for the agent (shown by agent_list, agent_status and ruflo-console)' },
220
220
  // #2085 — accept swarmId so spawned agents register in the
@@ -234,7 +234,19 @@ export const agentTools = [
234
234
  },
235
235
  required: ['agentType'],
236
236
  },
237
- handler: async (input) => {
237
+ handler: async (rawInput) => {
238
+ // #4542: agent and command docs that `init` installed before 3.63.7 call
239
+ // agent_spawn with `type`. Accept it as an alias for `agentType`, and
240
+ // name the missing key ourselves: validateAgentSpawn maps agentType onto
241
+ // the security schema's `type` field and would report "type: Required".
242
+ let input = rawInput;
243
+ if (input.agentType === undefined && typeof input.type === 'string') {
244
+ const { type, ...rest } = input;
245
+ input = { ...rest, agentType: type };
246
+ }
247
+ if (typeof input.agentType !== 'string' || input.agentType === '') {
248
+ return { success: false, error: 'Input validation failed: agentType is required and must be a non-empty string (for example agentType: "coder")' };
249
+ }
238
250
  // Validate user-provided input (#1425: wire security validators to runtime)
239
251
  const validation = await validateAgentSpawn(input);
240
252
  if (!validation.valid) {
@@ -606,7 +618,7 @@ export const agentTools = [
606
618
  type: 'object',
607
619
  properties: {
608
620
  action: { type: 'string', enum: ['status', 'scale', 'drain', 'fill'], description: 'Pool action' },
609
- targetSize: { type: 'number', description: 'Target pool size (for scale action)' },
621
+ targetSize: { type: 'number', description: 'Target pool size (scale: grow or shrink to it; fill: grow to it, never shrink)' },
610
622
  agentType: { type: 'string', description: 'Agent type filter' },
611
623
  },
612
624
  required: ['action'],
@@ -653,7 +665,9 @@ export const agentTools = [
653
665
  avgHealth: agents.length > 0 ? agents.reduce((sum, a) => sum + a.health, 0) / agents.length : 0,
654
666
  };
655
667
  }
656
- if (action === 'scale') {
668
+ // #4555: fill was advertised in the enum but had no branch. It is scale
669
+ // without the shrink step: grow agentType's pool to targetSize, never terminate.
670
+ if (action === 'scale' || action === 'fill') {
657
671
  const targetSize = input.targetSize === undefined ? 5 : input.targetSize;
658
672
  if (typeof targetSize !== 'number' || !Number.isSafeInteger(targetSize) || targetSize < 0) {
659
673
  return { action, error: 'targetSize must be a non-negative safe integer' };
@@ -678,7 +692,7 @@ export const agentTools = [
678
692
  added.push(agentId);
679
693
  }
680
694
  }
681
- else if (delta < 0) {
695
+ else if (delta < 0 && action === 'scale') {
682
696
  const toRemove = agents.filter(a => a.agentType === agentType && a.status === 'idle').slice(0, -delta);
683
697
  for (const agent of toRemove) {
684
698
  store.agents[agent.agentId].status = 'terminated';
@@ -225,8 +225,8 @@ export const coordinationTools = [
225
225
  inputSchema: {
226
226
  type: 'object',
227
227
  properties: {
228
- action: { type: 'string', enum: ['status', 'trigger', 'resolve'], description: 'Action to perform' },
229
- force: { type: 'boolean', description: 'Force synchronization' },
228
+ action: { type: 'string', enum: ['status', 'trigger', 'resolve'], description: 'Action to perform. `trigger` is unavailable: nodes are local records with no sync backend, so it is refused (#4557)' },
229
+ force: { type: 'boolean', description: 'Unused: `trigger` is refused regardless (#4557)' },
230
230
  conflictResolution: { type: 'string', enum: ['latest', 'merge', 'manual'], description: 'Conflict resolution strategy' },
231
231
  },
232
232
  },
@@ -243,18 +243,16 @@ export const coordinationTools = [
243
243
  };
244
244
  }
245
245
  if (action === 'trigger') {
246
- store.sync.syncCount++;
247
- store.sync.lastSync = new Date().toISOString();
248
- store.sync.pendingChanges = 0;
249
- // Simulate sync
250
- await new Promise(resolve => setTimeout(resolve, 50));
251
- saveCoordStore(store);
246
+ // #4557: this waited on a simulated 50ms "sync", bumped syncCount/lastSync
247
+ // and reported every node synchronized, but no state moves between
248
+ // nodes. Refuse without touching the stored sync record, as
249
+ // neural_compress quantize/prune do (#4195, #4423).
252
250
  return {
253
- success: true,
254
- action: 'synchronized',
251
+ success: false,
252
+ action: 'trigger',
253
+ error: 'Synchronization is unavailable: coordination nodes are local records with no sync backend, so nothing would be transferred.',
255
254
  syncCount: store.sync.syncCount,
256
- syncedAt: store.sync.lastSync,
257
- nodesSync: Object.keys(store.nodes).length,
255
+ lastSync: store.sync.lastSync,
258
256
  };
259
257
  }
260
258
  if (action === 'resolve') {
@@ -2212,7 +2212,14 @@ export const hooksBuildAgents = {
2212
2212
  },
2213
2213
  },
2214
2214
  handler: async (params) => {
2215
- const outputDir = resolve(params.outputDir || './agents');
2215
+ // #4558: outputDir was never validated and resolved against the process
2216
+ // cwd, so a default call from another directory overwrote files there.
2217
+ if (params.outputDir !== undefined) {
2218
+ const v = validatePath(params.outputDir, 'outputDir');
2219
+ if (!v.valid)
2220
+ return { success: false, error: v.error };
2221
+ }
2222
+ const outputDir = resolve(getProjectCwd(), params.outputDir || './agents');
2216
2223
  const focus = params.focus || 'all';
2217
2224
  const format = params.format || 'yaml';
2218
2225
  const persist = params.persist !== false; // Default to true
@@ -2255,9 +2262,11 @@ export const hooksBuildAgents = {
2255
2262
  agents: filteredAgents,
2256
2263
  stats: {
2257
2264
  configsGenerated: filteredAgents.length,
2258
- patternsApplied: filteredAgents.length * 3,
2265
+ // #4558: was agents * 3; no pretrain data is read, the configs are templates.
2266
+ patternsApplied: 0,
2259
2267
  optimizationsIncluded: filteredAgents.reduce((acc, a) => acc + a.optimizations.length, 0),
2260
2268
  },
2269
+ _note: 'Configs are built-in templates; pretrain data is not read.',
2261
2270
  };
2262
2271
  },
2263
2272
  };
@@ -612,6 +612,14 @@ export const performanceTools = [
612
612
  };
613
613
  const cpuStats = calcStats(cpuHistory, cpuPercent);
614
614
  const memStats = calcStats(memHistory, memUsedMB);
615
+ // #4554: latency/throughput used to be fixed literals (45ms, 1250 ops/s).
616
+ // Report the samples performance_report records (ADR-093 F8), or say none exist.
617
+ const sampled = (values, unit) => {
618
+ const real = values.filter(n => Number.isFinite(n));
619
+ return real.length === 0
620
+ ? { available: false, unit, samples: 0, _real: false, _note: 'No samples recorded yet: run performance_report to record one.' }
621
+ : { ...calcStats(real, real[real.length - 1]), unit, samples: real.length, _real: true };
622
+ };
615
623
  const allMetrics = {
616
624
  cpu: {
617
625
  ...cpuStats,
@@ -630,30 +638,12 @@ export const performanceTools = [
630
638
  unit: 'MB',
631
639
  _real: true,
632
640
  },
633
- latency: {
634
- current: 45,
635
- avg: 52,
636
- min: 15,
637
- max: 250,
638
- p50: 48,
639
- p95: 150,
640
- p99: 220,
641
- unit: 'ms',
642
- },
643
- throughput: {
644
- current: 1250,
645
- avg: 1100,
646
- min: 500,
647
- max: 2000,
648
- p50: 1050,
649
- p95: 1800,
650
- p99: 1950,
651
- unit: 'ops/s',
652
- },
641
+ latency: sampled(history.map(m => m.latency?.avg), 'ms'),
642
+ throughput: sampled(history.map(m => m.throughput?.operations), 'ops/s'),
653
643
  };
654
644
  if (metric === 'all') {
655
645
  return {
656
- _real: true,
646
+ _real: Object.values(allMetrics).every(m => m._real),
657
647
  metrics: allMetrics,
658
648
  aggregation,
659
649
  historySize: history.length,
@@ -662,9 +652,9 @@ export const performanceTools = [
662
652
  }
663
653
  const selectedMetric = allMetrics[metric];
664
654
  return {
665
- _real: ['cpu', 'memory'].includes(metric),
655
+ _real: selectedMetric._real,
666
656
  metric,
667
- value: selectedMetric[aggregation],
657
+ value: selectedMetric[aggregation] ?? null,
668
658
  unit: selectedMetric.unit,
669
659
  details: selectedMetric,
670
660
  timestamp: new Date().toISOString(),
@@ -54,6 +54,21 @@ function ensureSessionDir() {
54
54
  mkdirRestricted(dir);
55
55
  }
56
56
  }
57
+ /**
58
+ * The session hook (`session.js` from init/helpers-generator.ts) writes its
59
+ * records into this same directory: `current.json` and `session-<n>.json`
60
+ * archives shaped `{ id, startedAt, ... }` rather than session_save's
61
+ * `{ sessionId, name, savedAt, stats }`. Read the id and time from either shape
62
+ * (ADR-093 F6), falling back to the file's own id.
63
+ */
64
+ function sessionIdentity(session, fileId) {
65
+ const raw = session;
66
+ const pick = (...values) => values.find((v) => typeof v === 'string' && v !== '');
67
+ return {
68
+ sessionId: pick(raw.sessionId, raw.id) ?? fileId,
69
+ savedAt: pick(raw.savedAt, raw.startedAt) ?? '',
70
+ };
71
+ }
57
72
  function loadSession(sessionId) {
58
73
  try {
59
74
  const path = getSessionPath(sessionId);
@@ -583,12 +598,13 @@ export const sessionTools = [
583
598
  if (session) {
584
599
  const path = getSessionPath(sessionId);
585
600
  const stat = statSync(path);
601
+ const identity = sessionIdentity(session, sessionId);
586
602
  return {
587
- sessionId: session.sessionId,
588
- name: session.name,
603
+ sessionId: identity.sessionId,
604
+ name: session.name ?? identity.sessionId,
589
605
  description: session.description,
590
- savedAt: session.savedAt,
591
- stats: session.stats,
606
+ savedAt: identity.savedAt,
607
+ stats: session.stats ?? null,
592
608
  fileSize: stat.size,
593
609
  path,
594
610
  hasData: {
@@ -631,12 +647,13 @@ export const sessionTools = [
631
647
  const session = loadSession(sessionId);
632
648
  if (!session)
633
649
  return { sessionId, status: 'unknown', startedAt: '', error: 'Session file unreadable' };
650
+ const identity = sessionIdentity(session, sessionId);
634
651
  return {
635
- sessionId: session.sessionId,
636
- name: session.name,
652
+ sessionId: identity.sessionId,
653
+ name: session.name ?? identity.sessionId,
637
654
  status: 'active',
638
- startedAt: session.savedAt,
639
- stats: session.stats,
655
+ startedAt: identity.savedAt,
656
+ stats: session.stats ?? null,
640
657
  };
641
658
  },
642
659
  },
@@ -73,8 +73,7 @@ export declare const missionRecordSchema: z.ZodObject<{
73
73
  createdAt: z.ZodString;
74
74
  updatedAt: z.ZodString;
75
75
  }, "strict", z.ZodTypeAny, {
76
- createdAt: string;
77
- updatedAt: string;
76
+ state: "draft" | "planned" | "awaitingAuthorization" | "queued" | "running" | "pauseRequested" | "paused" | "blocked" | "verifying" | "completed" | "failed" | "cancelRequested" | "cancelled";
78
77
  objective: string;
79
78
  schemaVersion: 1;
80
79
  missionId: string;
@@ -90,17 +89,17 @@ export declare const missionRecordSchema: z.ZodObject<{
90
89
  policyRef: string;
91
90
  budgetRef: string;
92
91
  executionMode: "durable-executor" | "session-bound";
93
- state: "completed" | "running" | "failed" | "queued" | "cancelled" | "draft" | "planned" | "awaitingAuthorization" | "pauseRequested" | "paused" | "blocked" | "verifying" | "cancelRequested";
94
92
  evidenceRefs: string[];
95
93
  acceptance: {
96
94
  revision: number;
97
95
  criteriaDigest: string;
98
96
  };
99
97
  lastEventSequence: number;
100
- authorizationRef?: string | undefined;
101
- }, {
102
98
  createdAt: string;
103
99
  updatedAt: string;
100
+ authorizationRef?: string | undefined;
101
+ }, {
102
+ state: "draft" | "planned" | "awaitingAuthorization" | "queued" | "running" | "pauseRequested" | "paused" | "blocked" | "verifying" | "completed" | "failed" | "cancelRequested" | "cancelled";
104
103
  objective: string;
105
104
  schemaVersion: 1;
106
105
  missionId: string;
@@ -116,13 +115,14 @@ export declare const missionRecordSchema: z.ZodObject<{
116
115
  policyRef: string;
117
116
  budgetRef: string;
118
117
  executionMode: "durable-executor" | "session-bound";
119
- state: "completed" | "running" | "failed" | "queued" | "cancelled" | "draft" | "planned" | "awaitingAuthorization" | "pauseRequested" | "paused" | "blocked" | "verifying" | "cancelRequested";
120
118
  evidenceRefs: string[];
121
119
  acceptance: {
122
120
  revision: number;
123
121
  criteriaDigest: string;
124
122
  };
125
123
  lastEventSequence: number;
124
+ createdAt: string;
125
+ updatedAt: string;
126
126
  authorizationRef?: string | undefined;
127
127
  }>;
128
128
  export type MissionRecord = z.infer<typeof missionRecordSchema>;
@@ -145,8 +145,8 @@ export declare const taskSpecSchema: z.ZodObject<{
145
145
  checkpoint: z.ZodOptional<z.ZodString>;
146
146
  acceptanceEvidence: z.ZodDefault<z.ZodArray<z.ZodString, "many">>;
147
147
  }, "strict", z.ZodTypeAny, {
148
- title: string;
149
148
  id: string;
149
+ title: string;
150
150
  dependsOn: string[];
151
151
  executor: {
152
152
  mode: "durable-executor" | "session-bound";
@@ -157,8 +157,8 @@ export declare const taskSpecSchema: z.ZodObject<{
157
157
  acceptanceEvidence: string[];
158
158
  checkpoint?: string | undefined;
159
159
  }, {
160
- title: string;
161
160
  id: string;
161
+ title: string;
162
162
  executor: {
163
163
  mode: "durable-executor" | "session-bound";
164
164
  requirement: string;
@@ -185,15 +185,15 @@ export declare const acceptanceCriterionSchema: z.ZodObject<{
185
185
  producer: string;
186
186
  independent: boolean;
187
187
  mandatory: boolean;
188
- threshold?: string | undefined;
189
188
  baseline?: string | undefined;
189
+ threshold?: string | undefined;
190
190
  }, {
191
191
  id: string;
192
192
  check: string;
193
193
  producer: string;
194
- threshold?: string | undefined;
195
194
  inputs?: string[] | undefined;
196
195
  baseline?: string | undefined;
196
+ threshold?: string | undefined;
197
197
  independent?: boolean | undefined;
198
198
  mandatory?: boolean | undefined;
199
199
  }>;
@@ -208,15 +208,15 @@ export declare const budgetSpecSchema: z.ZodObject<{
208
208
  currency: string;
209
209
  ceilingMinor: number;
210
210
  tokens?: number | undefined;
211
- wallTimeSeconds?: number | undefined;
212
211
  concurrency?: number | undefined;
212
+ wallTimeSeconds?: number | undefined;
213
213
  retries?: number | undefined;
214
214
  }, {
215
215
  currency: string;
216
216
  ceilingMinor: number;
217
217
  tokens?: number | undefined;
218
- wallTimeSeconds?: number | undefined;
219
218
  concurrency?: number | undefined;
219
+ wallTimeSeconds?: number | undefined;
220
220
  retries?: number | undefined;
221
221
  }>;
222
222
  export declare const planBodySchema: z.ZodObject<{
@@ -239,8 +239,8 @@ export declare const planBodySchema: z.ZodObject<{
239
239
  checkpoint: z.ZodOptional<z.ZodString>;
240
240
  acceptanceEvidence: z.ZodDefault<z.ZodArray<z.ZodString, "many">>;
241
241
  }, "strict", z.ZodTypeAny, {
242
- title: string;
243
242
  id: string;
243
+ title: string;
244
244
  dependsOn: string[];
245
245
  executor: {
246
246
  mode: "durable-executor" | "session-bound";
@@ -251,8 +251,8 @@ export declare const planBodySchema: z.ZodObject<{
251
251
  acceptanceEvidence: string[];
252
252
  checkpoint?: string | undefined;
253
253
  }, {
254
- title: string;
255
254
  id: string;
255
+ title: string;
256
256
  executor: {
257
257
  mode: "durable-executor" | "session-bound";
258
258
  requirement: string;
@@ -279,15 +279,15 @@ export declare const planBodySchema: z.ZodObject<{
279
279
  producer: string;
280
280
  independent: boolean;
281
281
  mandatory: boolean;
282
- threshold?: string | undefined;
283
282
  baseline?: string | undefined;
283
+ threshold?: string | undefined;
284
284
  }, {
285
285
  id: string;
286
286
  check: string;
287
287
  producer: string;
288
- threshold?: string | undefined;
289
288
  inputs?: string[] | undefined;
290
289
  baseline?: string | undefined;
290
+ threshold?: string | undefined;
291
291
  independent?: boolean | undefined;
292
292
  mandatory?: boolean | undefined;
293
293
  }>, "many">;
@@ -302,15 +302,15 @@ export declare const planBodySchema: z.ZodObject<{
302
302
  currency: string;
303
303
  ceilingMinor: number;
304
304
  tokens?: number | undefined;
305
- wallTimeSeconds?: number | undefined;
306
305
  concurrency?: number | undefined;
306
+ wallTimeSeconds?: number | undefined;
307
307
  retries?: number | undefined;
308
308
  }, {
309
309
  currency: string;
310
310
  ceilingMinor: number;
311
311
  tokens?: number | undefined;
312
- wallTimeSeconds?: number | undefined;
313
312
  concurrency?: number | undefined;
313
+ wallTimeSeconds?: number | undefined;
314
314
  retries?: number | undefined;
315
315
  }>;
316
316
  scope: z.ZodDefault<z.ZodObject<{
@@ -322,8 +322,8 @@ export declare const planBodySchema: z.ZodObject<{
322
322
  }>>;
323
323
  }, "strict", z.ZodTypeAny, {
324
324
  tasks: {
325
- title: string;
326
325
  id: string;
326
+ title: string;
327
327
  dependsOn: string[];
328
328
  executor: {
329
329
  mode: "durable-executor" | "session-bound";
@@ -341,15 +341,15 @@ export declare const planBodySchema: z.ZodObject<{
341
341
  producer: string;
342
342
  independent: boolean;
343
343
  mandatory: boolean;
344
- threshold?: string | undefined;
345
344
  baseline?: string | undefined;
345
+ threshold?: string | undefined;
346
346
  }[];
347
347
  budget: {
348
348
  currency: string;
349
349
  ceilingMinor: number;
350
350
  tokens?: number | undefined;
351
- wallTimeSeconds?: number | undefined;
352
351
  concurrency?: number | undefined;
352
+ wallTimeSeconds?: number | undefined;
353
353
  retries?: number | undefined;
354
354
  };
355
355
  scope: {
@@ -357,8 +357,8 @@ export declare const planBodySchema: z.ZodObject<{
357
357
  };
358
358
  }, {
359
359
  tasks: {
360
- title: string;
361
360
  id: string;
361
+ title: string;
362
362
  executor: {
363
363
  mode: "durable-executor" | "session-bound";
364
364
  requirement: string;
@@ -373,9 +373,9 @@ export declare const planBodySchema: z.ZodObject<{
373
373
  id: string;
374
374
  check: string;
375
375
  producer: string;
376
- threshold?: string | undefined;
377
376
  inputs?: string[] | undefined;
378
377
  baseline?: string | undefined;
378
+ threshold?: string | undefined;
379
379
  independent?: boolean | undefined;
380
380
  mandatory?: boolean | undefined;
381
381
  }[];
@@ -383,8 +383,8 @@ export declare const planBodySchema: z.ZodObject<{
383
383
  currency: string;
384
384
  ceilingMinor: number;
385
385
  tokens?: number | undefined;
386
- wallTimeSeconds?: number | undefined;
387
386
  concurrency?: number | undefined;
387
+ wallTimeSeconds?: number | undefined;
388
388
  retries?: number | undefined;
389
389
  };
390
390
  scope?: {
@@ -427,8 +427,8 @@ export declare const planInputSchema: z.ZodObject<{
427
427
  checkpoint: z.ZodOptional<z.ZodString>;
428
428
  acceptanceEvidence: z.ZodDefault<z.ZodArray<z.ZodString, "many">>;
429
429
  }, "strict", z.ZodTypeAny, {
430
- title: string;
431
430
  id: string;
431
+ title: string;
432
432
  dependsOn: string[];
433
433
  executor: {
434
434
  mode: "durable-executor" | "session-bound";
@@ -439,8 +439,8 @@ export declare const planInputSchema: z.ZodObject<{
439
439
  acceptanceEvidence: string[];
440
440
  checkpoint?: string | undefined;
441
441
  }, {
442
- title: string;
443
442
  id: string;
443
+ title: string;
444
444
  executor: {
445
445
  mode: "durable-executor" | "session-bound";
446
446
  requirement: string;
@@ -467,15 +467,15 @@ export declare const planInputSchema: z.ZodObject<{
467
467
  producer: string;
468
468
  independent: boolean;
469
469
  mandatory: boolean;
470
- threshold?: string | undefined;
471
470
  baseline?: string | undefined;
471
+ threshold?: string | undefined;
472
472
  }, {
473
473
  id: string;
474
474
  check: string;
475
475
  producer: string;
476
- threshold?: string | undefined;
477
476
  inputs?: string[] | undefined;
478
477
  baseline?: string | undefined;
478
+ threshold?: string | undefined;
479
479
  independent?: boolean | undefined;
480
480
  mandatory?: boolean | undefined;
481
481
  }>, "many">;
@@ -490,15 +490,15 @@ export declare const planInputSchema: z.ZodObject<{
490
490
  currency: string;
491
491
  ceilingMinor: number;
492
492
  tokens?: number | undefined;
493
- wallTimeSeconds?: number | undefined;
494
493
  concurrency?: number | undefined;
494
+ wallTimeSeconds?: number | undefined;
495
495
  retries?: number | undefined;
496
496
  }, {
497
497
  currency: string;
498
498
  ceilingMinor: number;
499
499
  tokens?: number | undefined;
500
- wallTimeSeconds?: number | undefined;
501
500
  concurrency?: number | undefined;
501
+ wallTimeSeconds?: number | undefined;
502
502
  retries?: number | undefined;
503
503
  }>;
504
504
  scope: z.ZodDefault<z.ZodObject<{
@@ -510,8 +510,8 @@ export declare const planInputSchema: z.ZodObject<{
510
510
  }>>;
511
511
  }, "strict", z.ZodTypeAny, {
512
512
  tasks: {
513
- title: string;
514
513
  id: string;
514
+ title: string;
515
515
  dependsOn: string[];
516
516
  executor: {
517
517
  mode: "durable-executor" | "session-bound";
@@ -529,15 +529,15 @@ export declare const planInputSchema: z.ZodObject<{
529
529
  producer: string;
530
530
  independent: boolean;
531
531
  mandatory: boolean;
532
- threshold?: string | undefined;
533
532
  baseline?: string | undefined;
533
+ threshold?: string | undefined;
534
534
  }[];
535
535
  budget: {
536
536
  currency: string;
537
537
  ceilingMinor: number;
538
538
  tokens?: number | undefined;
539
- wallTimeSeconds?: number | undefined;
540
539
  concurrency?: number | undefined;
540
+ wallTimeSeconds?: number | undefined;
541
541
  retries?: number | undefined;
542
542
  };
543
543
  scope: {
@@ -545,8 +545,8 @@ export declare const planInputSchema: z.ZodObject<{
545
545
  };
546
546
  }, {
547
547
  tasks: {
548
- title: string;
549
548
  id: string;
549
+ title: string;
550
550
  executor: {
551
551
  mode: "durable-executor" | "session-bound";
552
552
  requirement: string;
@@ -561,9 +561,9 @@ export declare const planInputSchema: z.ZodObject<{
561
561
  id: string;
562
562
  check: string;
563
563
  producer: string;
564
- threshold?: string | undefined;
565
564
  inputs?: string[] | undefined;
566
565
  baseline?: string | undefined;
566
+ threshold?: string | undefined;
567
567
  independent?: boolean | undefined;
568
568
  mandatory?: boolean | undefined;
569
569
  }[];
@@ -571,8 +571,8 @@ export declare const planInputSchema: z.ZodObject<{
571
571
  currency: string;
572
572
  ceilingMinor: number;
573
573
  tokens?: number | undefined;
574
- wallTimeSeconds?: number | undefined;
575
574
  concurrency?: number | undefined;
575
+ wallTimeSeconds?: number | undefined;
576
576
  retries?: number | undefined;
577
577
  };
578
578
  scope?: {
@@ -584,8 +584,8 @@ export declare const planInputSchema: z.ZodObject<{
584
584
  missionId: string;
585
585
  plan: {
586
586
  tasks: {
587
- title: string;
588
587
  id: string;
588
+ title: string;
589
589
  dependsOn: string[];
590
590
  executor: {
591
591
  mode: "durable-executor" | "session-bound";
@@ -603,15 +603,15 @@ export declare const planInputSchema: z.ZodObject<{
603
603
  producer: string;
604
604
  independent: boolean;
605
605
  mandatory: boolean;
606
- threshold?: string | undefined;
607
606
  baseline?: string | undefined;
607
+ threshold?: string | undefined;
608
608
  }[];
609
609
  budget: {
610
610
  currency: string;
611
611
  ceilingMinor: number;
612
612
  tokens?: number | undefined;
613
- wallTimeSeconds?: number | undefined;
614
613
  concurrency?: number | undefined;
614
+ wallTimeSeconds?: number | undefined;
615
615
  retries?: number | undefined;
616
616
  };
617
617
  scope: {
@@ -624,8 +624,8 @@ export declare const planInputSchema: z.ZodObject<{
624
624
  missionId: string;
625
625
  plan: {
626
626
  tasks: {
627
- title: string;
628
627
  id: string;
628
+ title: string;
629
629
  executor: {
630
630
  mode: "durable-executor" | "session-bound";
631
631
  requirement: string;
@@ -640,9 +640,9 @@ export declare const planInputSchema: z.ZodObject<{
640
640
  id: string;
641
641
  check: string;
642
642
  producer: string;
643
- threshold?: string | undefined;
644
643
  inputs?: string[] | undefined;
645
644
  baseline?: string | undefined;
645
+ threshold?: string | undefined;
646
646
  independent?: boolean | undefined;
647
647
  mandatory?: boolean | undefined;
648
648
  }[];
@@ -650,8 +650,8 @@ export declare const planInputSchema: z.ZodObject<{
650
650
  currency: string;
651
651
  ceilingMinor: number;
652
652
  tokens?: number | undefined;
653
- wallTimeSeconds?: number | undefined;
654
653
  concurrency?: number | undefined;
654
+ wallTimeSeconds?: number | undefined;
655
655
  retries?: number | undefined;
656
656
  };
657
657
  scope?: {
@@ -672,13 +672,13 @@ export declare const eventsInputSchema: z.ZodObject<{
672
672
  afterSequence: z.ZodDefault<z.ZodNumber>;
673
673
  limit: z.ZodDefault<z.ZodNumber>;
674
674
  }, "strict", z.ZodTypeAny, {
675
- limit: number;
676
675
  missionId: string;
677
676
  afterSequence: number;
677
+ limit: number;
678
678
  }, {
679
679
  missionId: string;
680
- limit?: number | undefined;
681
680
  afterSequence?: number | undefined;
681
+ limit?: number | undefined;
682
682
  }>;
683
683
  export declare const requestActionInputSchema: z.ZodObject<{
684
684
  requestId: z.ZodString;
@@ -687,16 +687,16 @@ export declare const requestActionInputSchema: z.ZodObject<{
687
687
  action: z.ZodEnum<["pause", "resume", "cancel", "requestAuthorization", "admit"]>;
688
688
  reason: z.ZodOptional<z.ZodString>;
689
689
  }, "strict", z.ZodTypeAny, {
690
- action: "pause" | "resume" | "cancel" | "requestAuthorization" | "admit";
691
690
  requestId: string;
692
691
  missionId: string;
693
692
  expectedRevision: number;
693
+ action: "pause" | "resume" | "cancel" | "requestAuthorization" | "admit";
694
694
  reason?: string | undefined;
695
695
  }, {
696
- action: "pause" | "resume" | "cancel" | "requestAuthorization" | "admit";
697
696
  requestId: string;
698
697
  missionId: string;
699
698
  expectedRevision: number;
699
+ action: "pause" | "resume" | "cancel" | "requestAuthorization" | "admit";
700
700
  reason?: string | undefined;
701
701
  }>;
702
702
  export type CreateInput = z.infer<typeof createInputSchema>;