@enderfga/claw-orchestrator 7.14.0 → 7.15.0

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 (137) hide show
  1. package/README.md +160 -135
  2. package/configs/autoloop-reviewer-prompt.md +1 -1
  3. package/configs/engines/README.md +31 -11
  4. package/dist/bin/acp-server.js +7 -12
  5. package/dist/bin/acp-server.js.map +1 -1
  6. package/dist/bin/cli.js +71 -40
  7. package/dist/bin/cli.js.map +1 -1
  8. package/dist/bin/mcp-server.js +2 -54
  9. package/dist/bin/mcp-server.js.map +1 -1
  10. package/dist/src/acp-server.d.ts +17 -9
  11. package/dist/src/acp-server.js +149 -30
  12. package/dist/src/acp-server.js.map +1 -1
  13. package/dist/src/autoloop/agent-tools.d.ts +2 -0
  14. package/dist/src/autoloop/agent-tools.js +7 -0
  15. package/dist/src/autoloop/agent-tools.js.map +1 -1
  16. package/dist/src/autoloop/dispatcher.d.ts +6 -0
  17. package/dist/src/autoloop/dispatcher.js +23 -1
  18. package/dist/src/autoloop/dispatcher.js.map +1 -1
  19. package/dist/src/autoloop/planner-tools.js +2 -0
  20. package/dist/src/autoloop/planner-tools.js.map +1 -1
  21. package/dist/src/council.d.ts +8 -0
  22. package/dist/src/council.js +45 -12
  23. package/dist/src/council.js.map +1 -1
  24. package/dist/src/dashboard/index.html +28 -14
  25. package/dist/src/embedded-server.js +27 -8
  26. package/dist/src/embedded-server.js.map +1 -1
  27. package/dist/src/engine-spawn.js +3 -1
  28. package/dist/src/engine-spawn.js.map +1 -1
  29. package/dist/src/fanout.d.ts +13 -3
  30. package/dist/src/fanout.js +10 -0
  31. package/dist/src/fanout.js.map +1 -1
  32. package/dist/src/inbox-manager.d.ts +9 -0
  33. package/dist/src/inbox-manager.js +8 -2
  34. package/dist/src/inbox-manager.js.map +1 -1
  35. package/dist/src/index.d.ts +2 -0
  36. package/dist/src/index.js +117 -51
  37. package/dist/src/index.js.map +1 -1
  38. package/dist/src/kernel/conditions.d.ts +1 -1
  39. package/dist/src/kernel/conditions.js +1 -1
  40. package/dist/src/kernel/engine.d.ts +28 -8
  41. package/dist/src/kernel/engine.js +93 -19
  42. package/dist/src/kernel/engine.js.map +1 -1
  43. package/dist/src/kernel/nodes/agent.js +2 -0
  44. package/dist/src/kernel/nodes/agent.js.map +1 -1
  45. package/dist/src/kernel/nodes/council.js +9 -4
  46. package/dist/src/kernel/nodes/council.js.map +1 -1
  47. package/dist/src/kernel/nodes/fanout.js +5 -0
  48. package/dist/src/kernel/nodes/fanout.js.map +1 -1
  49. package/dist/src/kernel/nodes/goal.d.ts +8 -1
  50. package/dist/src/kernel/nodes/goal.js +40 -19
  51. package/dist/src/kernel/nodes/goal.js.map +1 -1
  52. package/dist/src/kernel/nodes/subflow.js +9 -1
  53. package/dist/src/kernel/nodes/subflow.js.map +1 -1
  54. package/dist/src/kernel/nodes/ultraapp.d.ts +1 -0
  55. package/dist/src/kernel/nodes/ultraapp.js +1 -0
  56. package/dist/src/kernel/nodes/ultraapp.js.map +1 -1
  57. package/dist/src/kernel/nodes/verifier.js +5 -1
  58. package/dist/src/kernel/nodes/verifier.js.map +1 -1
  59. package/dist/src/kernel/projections.d.ts +1 -0
  60. package/dist/src/kernel/projections.js +7 -1
  61. package/dist/src/kernel/projections.js.map +1 -1
  62. package/dist/src/kernel/templates/index.d.ts +6 -3
  63. package/dist/src/kernel/templates/index.js +8 -3
  64. package/dist/src/kernel/templates/index.js.map +1 -1
  65. package/dist/src/kernel/types.d.ts +30 -10
  66. package/dist/src/kernel/types.js.map +1 -1
  67. package/dist/src/logger.d.ts +6 -0
  68. package/dist/src/logger.js +14 -0
  69. package/dist/src/logger.js.map +1 -1
  70. package/dist/src/mcp-annotations.d.ts +13 -0
  71. package/dist/src/mcp-annotations.js +100 -0
  72. package/dist/src/mcp-annotations.js.map +1 -0
  73. package/dist/src/models.d.ts +7 -0
  74. package/dist/src/models.js +9 -0
  75. package/dist/src/models.js.map +1 -1
  76. package/dist/src/openai-compat.d.ts +11 -5
  77. package/dist/src/openai-compat.js +55 -54
  78. package/dist/src/openai-compat.js.map +1 -1
  79. package/dist/src/persistent-acp-session.d.ts +7 -0
  80. package/dist/src/persistent-acp-session.js +26 -2
  81. package/dist/src/persistent-acp-session.js.map +1 -1
  82. package/dist/src/persistent-codex-app-session.d.ts +2 -0
  83. package/dist/src/persistent-codex-app-session.js +18 -9
  84. package/dist/src/persistent-codex-app-session.js.map +1 -1
  85. package/dist/src/persistent-codex-session.d.ts +14 -3
  86. package/dist/src/persistent-codex-session.js +22 -19
  87. package/dist/src/persistent-codex-session.js.map +1 -1
  88. package/dist/src/persistent-custom-session.d.ts +9 -0
  89. package/dist/src/persistent-custom-session.js +41 -21
  90. package/dist/src/persistent-custom-session.js.map +1 -1
  91. package/dist/src/persistent-grok-session.js +1 -1
  92. package/dist/src/persistent-grok-session.js.map +1 -1
  93. package/dist/src/run-ledger.d.ts +3 -3
  94. package/dist/src/session-manager.d.ts +34 -1
  95. package/dist/src/session-manager.js +160 -30
  96. package/dist/src/session-manager.js.map +1 -1
  97. package/dist/src/types.d.ts +34 -11
  98. package/dist/src/types.js.map +1 -1
  99. package/dist/src/ultraapp/build.d.ts +5 -11
  100. package/dist/src/ultraapp/build.js +5 -11
  101. package/dist/src/ultraapp/build.js.map +1 -1
  102. package/dist/src/ultraapp/council-adapter.d.ts +5 -2
  103. package/dist/src/ultraapp/council-adapter.js +6 -6
  104. package/dist/src/ultraapp/council-adapter.js.map +1 -1
  105. package/dist/src/ultraapp/files.d.ts +7 -0
  106. package/dist/src/ultraapp/files.js +7 -1
  107. package/dist/src/ultraapp/files.js.map +1 -1
  108. package/dist/src/ultraapp/manager.d.ts +23 -3
  109. package/dist/src/ultraapp/manager.js +170 -72
  110. package/dist/src/ultraapp/manager.js.map +1 -1
  111. package/dist/src/ultraapp/narrator.js +1 -1
  112. package/dist/src/ultraapp/narrator.js.map +1 -1
  113. package/dist/src/ultraapp/versions.d.ts +27 -5
  114. package/dist/src/ultraapp/versions.js +58 -13
  115. package/dist/src/ultraapp/versions.js.map +1 -1
  116. package/openclaw.plugin.json +4 -13
  117. package/package.json +13 -6
  118. package/skills/SKILL.md +52 -24
  119. package/skills/references/acp.md +140 -61
  120. package/skills/references/autoloop.md +141 -35
  121. package/skills/references/claude-cli-tracking.md +8 -6
  122. package/skills/references/cli.md +122 -93
  123. package/skills/references/council.md +44 -22
  124. package/skills/references/dashboard.md +37 -21
  125. package/skills/references/getting-started.md +49 -15
  126. package/skills/references/inbox.md +13 -8
  127. package/skills/references/mcp.md +25 -17
  128. package/skills/references/multi-engine.md +161 -145
  129. package/skills/references/observability.md +90 -58
  130. package/skills/references/openai-compat.md +172 -82
  131. package/skills/references/sessions.md +101 -65
  132. package/skills/references/tools.md +209 -158
  133. package/skills/references/ultra.md +7 -7
  134. package/skills/references/ultraapp.md +101 -56
  135. package/skills/references/verification.md +112 -56
  136. package/skills/references/workflow.md +227 -93
  137. package/assets/banner.jpg +0 -0
@@ -1 +1 @@
1
- {"version":3,"file":"verifier.js","sourceRoot":"","sources":["../../../../src/kernel/nodes/verifier.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"verifier.js","sourceRoot":"","sources":["../../../../src/kernel/nodes/verifier.ts"],"names":[],"mappings":"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"}
@@ -32,6 +32,7 @@ export interface FanoutNodeData {
32
32
  agentCount: number;
33
33
  results: FanoutAgentResult[];
34
34
  synthesis?: string;
35
+ synthesisError?: string;
35
36
  }
36
37
  export declare function toFanoutSession(record: RunRecord): FanoutSession;
37
38
  export declare function toUltraplanResult(record: RunRecord, plan: string | undefined): UltraplanResult;
@@ -31,6 +31,10 @@ function isDone(state) {
31
31
  export function toCouncilSession(record) {
32
32
  const data = node(record)?.data;
33
33
  const declared = spec(record);
34
+ // A council that throws during setup publishes `running` on its first event
35
+ // and nothing after, so a finished run would read as running forever.
36
+ const reported = data?.councilStatus === 'running' && isDone(record.state) ? undefined : data?.councilStatus;
37
+ const error = node(record)?.error ?? record.error;
34
38
  return {
35
39
  id: record.runId,
36
40
  task: data?.task ?? declared?.task ?? record.workflow,
@@ -44,11 +48,12 @@ export function toCouncilSession(record) {
44
48
  // run's state stands in. A run that was cancelled or failed before the
45
49
  // council spoke has no council status to report, and inventing `consensus`
46
50
  // for it would be the exact kind of claim this release removes.
47
- status: data?.councilStatus ?? (record.state === 'running' ? 'running' : 'error'),
51
+ status: reported ?? (record.state === 'running' ? 'running' : 'error'),
48
52
  startTime: record.createdAt,
49
53
  endTime: record.endedAt,
50
54
  finalSummary: data?.finalSummary,
51
55
  compactContext: data?.compactContext,
56
+ ...(error ? { error } : {}),
52
57
  };
53
58
  }
54
59
  export function toFanoutSession(record) {
@@ -70,6 +75,7 @@ export function toFanoutSession(record) {
70
75
  finishedAt: record.endedAt,
71
76
  results: data?.results ?? [],
72
77
  synthesis: data?.synthesis,
78
+ synthesisError: data?.synthesisError,
73
79
  error: record.error,
74
80
  };
75
81
  }
@@ -1 +1 @@
1
- {"version":3,"file":"projections.js","sourceRoot":"","sources":["../../../src/kernel/projections.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"projections.js","sourceRoot":"","sources":["../../../src/kernel/projections.ts"],"names":[],"mappings":"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"}
@@ -7,7 +7,7 @@
7
7
  * caller's task, agents, and cwd.
8
8
  */
9
9
  import { type AcceptanceContract } from '../../verify/contract.js';
10
- import type { CouncilNode, FanoutAgentSpec, FanoutNode, GoalNode, WorkflowSpec } from '../types.js';
10
+ import type { CouncilAgentSpec, CouncilNode, FanoutAgentSpec, FanoutNode, GoalNode, WorkflowSpec } from '../types.js';
11
11
  /** Worst case for a fan-out node: each agent in turn, including its start, then synthesis. */
12
12
  export declare function fanoutNodeBudget(agents: number, synthesize: boolean | undefined, agentTimeoutMs?: number): number;
13
13
  /**
@@ -22,7 +22,8 @@ export interface CommonArgs {
22
22
  contract?: AcceptanceContract;
23
23
  }
24
24
  export interface CouncilArgs extends CommonArgs {
25
- agents: FanoutAgentSpec[];
25
+ agents: CouncilAgentSpec[];
26
+ /** Default `DEFAULT_MAX_ROUNDS`, as for `council_start`. */
26
27
  maxRounds?: number;
27
28
  }
28
29
  /**
@@ -46,6 +47,7 @@ export interface SolveArgs extends CommonArgs {
46
47
  implementer?: {
47
48
  engine?: FanoutAgentSpec['engine'];
48
49
  model?: string;
50
+ acpAgent?: string;
49
51
  };
50
52
  /** Reviewers that read the finished change. */
51
53
  reviewers?: FanoutAgentSpec[];
@@ -55,7 +57,7 @@ export interface SolveArgs extends CommonArgs {
55
57
  maxRepairs?: number;
56
58
  }
57
59
  /**
58
- * The flagship: triage → (gate) → implement → verify → repair-until-green → review.
60
+ * The flagship: triage → (gate) → implement → (review) → verify → repair-until-green.
59
61
  *
60
62
  * The repair loop is the part that needs the kernel rather than a prompt: the
61
63
  * router sends control back to the implementer while the verifier is red and the
@@ -106,6 +108,7 @@ export interface LegacyFanoutArgs {
106
108
  synthesize?: boolean;
107
109
  synthesisEngine?: FanoutNode['synthesisEngine'];
108
110
  synthesisModel?: string;
111
+ synthesisAcpAgent?: string;
109
112
  synthesisPermissionMode?: string;
110
113
  maxTurnsPerAgent?: number;
111
114
  maxBudgetUsd?: number;
@@ -37,6 +37,7 @@ export function councilNodeBudget(agents, maxRounds, agentTimeoutMs = COUNCIL_AG
37
37
  * recorded on the run.
38
38
  */
39
39
  export function councilWorkflow(args) {
40
+ const maxRounds = args.maxRounds ?? DEFAULT_MAX_ROUNDS;
40
41
  return {
41
42
  name: 'council',
42
43
  cwd: args.cwd,
@@ -48,9 +49,9 @@ export function councilWorkflow(args) {
48
49
  task: args.task,
49
50
  agents: args.agents,
50
51
  projectDir: args.cwd,
51
- maxRounds: args.maxRounds,
52
+ maxRounds,
52
53
  agentTimeoutMs: COUNCIL_AGENT_TIMEOUT_MS,
53
- timeoutMs: councilNodeBudget(args.agents.length, args.maxRounds),
54
+ timeoutMs: councilNodeBudget(args.agents.length, maxRounds),
54
55
  },
55
56
  ],
56
57
  };
@@ -75,7 +76,7 @@ export function fanoutWorkflow(args) {
75
76
  };
76
77
  }
77
78
  /**
78
- * The flagship: triage → (gate) → implement → verify → repair-until-green → review.
79
+ * The flagship: triage → (gate) → implement → (review) → verify → repair-until-green.
79
80
  *
80
81
  * The repair loop is the part that needs the kernel rather than a prompt: the
81
82
  * router sends control back to the implementer while the verifier is red and the
@@ -105,6 +106,7 @@ export function solveWorkflow(args) {
105
106
  prompt: args.task,
106
107
  engine: args.implementer?.engine,
107
108
  model: args.implementer?.model,
109
+ acpAgent: args.implementer?.acpAgent,
108
110
  cwd: args.cwd,
109
111
  // A failed implementation attempt still goes to the verifier, so the
110
112
  // evidence bundle records what was actually wrong rather than just "the
@@ -288,6 +290,7 @@ export function legacyFanoutWorkflow(args) {
288
290
  synthesize: args.synthesize,
289
291
  synthesisEngine: args.synthesisEngine,
290
292
  synthesisModel: args.synthesisModel,
293
+ synthesisAcpAgent: args.synthesisAcpAgent,
291
294
  synthesisPermissionMode: args.synthesisPermissionMode,
292
295
  maxTurnsPerAgent: args.maxTurnsPerAgent,
293
296
  maxBudgetUsd: args.maxBudgetUsd,
@@ -331,6 +334,7 @@ export function legacyUltraplanWorkflow(args) {
331
334
  model: args.model,
332
335
  permissionMode: 'plan',
333
336
  effort: 'max',
337
+ appendSystemPrompt: ULTRAPLAN_SYSTEM_PROMPT,
334
338
  timeoutMs: args.timeoutMs,
335
339
  prompt: `# Ultraplan Task\n\n${args.task}\n\nExplore the project, understand the codebase, analyze ` +
336
340
  `feasibility, and produce a comprehensive implementation plan. Take your time (up to 30 minutes). ` +
@@ -362,6 +366,7 @@ export function ultraappWorkflow(args) {
362
366
  appRunId: args.appRunId,
363
367
  runDir: args.runDir,
364
368
  slug: args.slug,
369
+ codebasePath: args.codebasePath,
365
370
  // The synth stage is a three-agent, eight-round council (ultraapp/council-adapter.ts).
366
371
  timeoutMs: councilNodeBudget(3, 8),
367
372
  },
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/kernel/templates/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/kernel/templates/index.ts"],"names":[],"mappings":"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"}
@@ -16,15 +16,17 @@ import type { TestSnapshot } from '../verify/protected-tests.js';
16
16
  import type { AcceptanceContract } from '../verify/contract.js';
17
17
  import type { AgentBinding, EngineType } from '../types.js';
18
18
  /**
19
- * `completed` is reachable only from `verifying`. A run carrying a contract
20
- * whose evidence is red goes to `failed`, never to `completed` — that is the
21
- * whole point of the state machine.
19
+ * `completed` is entered from `running` once control runs out of nodes; a
20
+ * verifier holds the run in `verifying` only while its checks run. A run
21
+ * carrying a contract whose evidence is red goes to `failed`, never to
22
+ * `completed` — that is the whole point of the state machine — and so does a
23
+ * run that declares a run-level contract and ends without having run it.
22
24
  */
23
25
  export type RunState = 'pending' | 'running' | 'awaiting_human' | 'verifying' | 'completed' | 'failed' | 'cancelled';
24
26
  /**
25
27
  * Whether anything independent of the agent checked the work.
26
28
  * - `verified` — a contract ran and every required check passed.
27
- * - `unverified` — no contract was declared. We do not know.
29
+ * - `unverified` — no contract ran, or its verdict no longer describes the tree. We do not know.
28
30
  * - `refuted` — a contract ran and a required check failed.
29
31
  */
30
32
  export type RunOutcome = 'verified' | 'unverified' | 'refuted';
@@ -51,6 +53,8 @@ export interface AgentNode extends NodeBase, AgentBinding {
51
53
  /** Reuse a named session across nodes; omitted means one session per attempt. */
52
54
  sessionName?: string;
53
55
  permissionMode?: string;
56
+ /** Standing instructions for the session, appended to its system prompt. */
57
+ appendSystemPrompt?: string;
54
58
  }
55
59
  /**
56
60
  * One agent in a fan-out or council.
@@ -85,6 +89,8 @@ export interface FanoutNode extends NodeBase {
85
89
  synthesize?: boolean;
86
90
  synthesisEngine?: EngineType;
87
91
  synthesisModel?: string;
92
+ /** The ACP agent preset for a synthesis pass on engine `acp`. */
93
+ synthesisAcpAgent?: string;
88
94
  synthesisPermissionMode?: string;
89
95
  maxTurnsPerAgent?: number;
90
96
  maxBudgetUsd?: number;
@@ -96,11 +102,16 @@ export interface FanoutNode extends NodeBase {
96
102
  */
97
103
  agentTimeoutMs?: number;
98
104
  }
105
+ /** One council seat: a fan-out agent plus the emoji its charter and transcript show. */
106
+ export interface CouncilAgentSpec extends FanoutAgentSpec {
107
+ emoji?: string;
108
+ }
99
109
  export interface CouncilNode extends NodeBase {
100
110
  kind: 'council';
101
111
  task: string;
102
- agents: FanoutAgentSpec[];
112
+ agents: CouncilAgentSpec[];
103
113
  projectDir?: string;
114
+ /** Omitted means `DEFAULT_MAX_ROUNDS`, the same default `council_start` uses. */
104
115
  maxRounds?: number;
105
116
  maxTurnsPerAgent?: number;
106
117
  maxBudgetUsd?: number;
@@ -235,6 +246,8 @@ export interface UltraappSynthNode extends NodeBase {
235
246
  /** Absolute per-run directory; the council project and the codebase live under it. */
236
247
  runDir: string;
237
248
  slug: string;
249
+ /** Where to put the consensus codebase. Absent on runs recorded before builds were versioned: `versions/v1/codebase`. */
250
+ codebasePath?: string;
238
251
  }
239
252
  export interface UltraappDeployNode extends NodeBase {
240
253
  kind: 'ultraapp_deploy';
@@ -252,7 +265,10 @@ export interface WorkflowSpec {
252
265
  cwd?: string;
253
266
  /**
254
267
  * Run-level acceptance contract. When present the kernel appends an implicit
255
- * terminal verifier, so `completed` always means "a contract passed".
268
+ * terminal verifier unless the spec places its own `contract: 'run'` one, and a
269
+ * run that ends without a verdict from such a verifier fails — so `completed`
270
+ * always means "this contract ran and passed". An outcome of `unverified` on a
271
+ * completed run says the verdict stopped describing the tree afterwards.
256
272
  */
257
273
  contract?: AcceptanceContract;
258
274
  /** Loop bound. Exceeding it fails the run rather than spinning. Default 50. */
@@ -313,7 +329,10 @@ export interface RunRecord {
313
329
  baseSha?: string;
314
330
  /**
315
331
  * The test files and test configuration as the run found them, for the
316
- * protected-tests check. Taken only when the spec has a verifier or a subflow.
332
+ * protected-tests check. Taken only when the run-level contract or a
333
+ * verifier's inline contract has a `command` check and does not set
334
+ * `protectTests: false`, or the spec has a subflow (`needsTestSnapshot`). A
335
+ * subflow child uses its parent's, when the parent has one.
317
336
  */
318
337
  baseTests?: TestSnapshot;
319
338
  /** Recorded for the record. Never consulted to decide completion. */
@@ -338,9 +357,10 @@ export interface RunRecord {
338
357
  sideEffectSeq: number;
339
358
  };
340
359
  /**
341
- * Count of completed nodes that can touch the workspace (`agent`, `fanout`,
342
- * `council`, `subflow`). Compared against the value stored on the verdict, so
343
- * the kernel knows whether anything ran after the checks at all.
360
+ * Count of node results absorbed from kinds that can touch the workspace —
361
+ * every kind but `verifier`, `router` and `human_gate` (`SIDE_EFFECT_KINDS` in
362
+ * the engine). Compared against the value stored on the verdict, so the
363
+ * kernel knows whether anything ran after the checks at all.
344
364
  */
345
365
  sideEffectSeq?: number;
346
366
  }
@@ -1 +1 @@
1
- {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/kernel/types.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AA2XH,MAAM,CAAC,MAAM,mBAAmB,GAAwB,CAAC,WAAW,EAAE,QAAQ,EAAE,WAAW,CAAC,CAAC;AAE7F,MAAM,UAAU,kBAAkB,CAAC,CAAW;IAC5C,OAAO,mBAAmB,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;AACzC,CAAC"}
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/kernel/types.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAgZH,MAAM,CAAC,MAAM,mBAAmB,GAAwB,CAAC,WAAW,EAAE,QAAQ,EAAE,WAAW,CAAC,CAAC;AAE7F,MAAM,UAAU,kBAAkB,CAAC,CAAW;IAC5C,OAAO,mBAAmB,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;AACzC,CAAC"}
@@ -12,5 +12,11 @@ export interface Logger {
12
12
  }
13
13
  /** Create a console-backed logger with optional prefix and env-var level control. */
14
14
  export declare function createConsoleLogger(prefix?: string): Logger;
15
+ /**
16
+ * Every level to stderr, filtered by OPENCLAW_LOG_LEVEL like the console logger.
17
+ *
18
+ * For the stdio servers, whose stdout carries nothing but protocol frames.
19
+ */
20
+ export declare function createStderrLogger(prefix?: string): Logger;
15
21
  /** No-op logger — useful in tests to suppress output. */
16
22
  export declare const nullLogger: Logger;
@@ -34,6 +34,20 @@ export function createConsoleLogger(prefix) {
34
34
  },
35
35
  };
36
36
  }
37
+ /**
38
+ * Every level to stderr, filtered by OPENCLAW_LOG_LEVEL like the console logger.
39
+ *
40
+ * For the stdio servers, whose stdout carries nothing but protocol frames.
41
+ */
42
+ export function createStderrLogger(prefix) {
43
+ const threshold = LEVELS[parseLevel(process.env.OPENCLAW_LOG_LEVEL)];
44
+ const pfx = prefix ? `[${prefix}] ` : '';
45
+ const at = (level) => (msg, ...args) => {
46
+ if (threshold <= LEVELS[level])
47
+ console.error(`${pfx}${msg}`, ...args);
48
+ };
49
+ return { debug: at('debug'), info: at('info'), warn: at('warn'), error: at('error') };
50
+ }
37
51
  /** No-op logger — useful in tests to suppress output. */
38
52
  export const nullLogger = {
39
53
  debug: () => { },
@@ -1 +1 @@
1
- {"version":3,"file":"logger.js","sourceRoot":"","sources":["../../src/logger.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AASH,MAAM,MAAM,GAAG,EAAE,KAAK,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,EAAW,CAAC;AAGjE,SAAS,UAAU,CAAC,MAAe;IACjC,IAAI,MAAM,IAAI,MAAM,IAAI,MAAM;QAAE,OAAO,MAAkB,CAAC;IAC1D,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,qFAAqF;AACrF,MAAM,UAAU,mBAAmB,CAAC,MAAe;IACjD,MAAM,KAAK,GAAG,UAAU,CAAC,OAAO,CAAC,GAAG,CAAC,kBAAkB,CAAC,CAAC;IACzD,MAAM,SAAS,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC;IAChC,MAAM,GAAG,GAAG,MAAM,CAAC,CAAC,CAAC,IAAI,MAAM,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;IAEzC,OAAO;QACL,KAAK,EAAE,CAAC,GAAG,EAAE,GAAG,IAAI,EAAE,EAAE;YACtB,IAAI,SAAS,IAAI,MAAM,CAAC,KAAK;gBAAE,OAAO,CAAC,GAAG,CAAC,GAAG,GAAG,GAAG,GAAG,EAAE,EAAE,GAAG,IAAI,CAAC,CAAC;QACtE,CAAC;QACD,IAAI,EAAE,CAAC,GAAG,EAAE,GAAG,IAAI,EAAE,EAAE;YACrB,IAAI,SAAS,IAAI,MAAM,CAAC,IAAI;gBAAE,OAAO,CAAC,GAAG,CAAC,GAAG,GAAG,GAAG,GAAG,EAAE,EAAE,GAAG,IAAI,CAAC,CAAC;QACrE,CAAC;QACD,IAAI,EAAE,CAAC,GAAG,EAAE,GAAG,IAAI,EAAE,EAAE;YACrB,IAAI,SAAS,IAAI,MAAM,CAAC,IAAI;gBAAE,OAAO,CAAC,IAAI,CAAC,GAAG,GAAG,GAAG,GAAG,EAAE,EAAE,GAAG,IAAI,CAAC,CAAC;QACtE,CAAC;QACD,KAAK,EAAE,CAAC,GAAG,EAAE,GAAG,IAAI,EAAE,EAAE;YACtB,IAAI,SAAS,IAAI,MAAM,CAAC,KAAK;gBAAE,OAAO,CAAC,KAAK,CAAC,GAAG,GAAG,GAAG,GAAG,EAAE,EAAE,GAAG,IAAI,CAAC,CAAC;QACxE,CAAC;KACF,CAAC;AACJ,CAAC;AAED,yDAAyD;AACzD,MAAM,CAAC,MAAM,UAAU,GAAW;IAChC,KAAK,EAAE,GAAG,EAAE,GAAE,CAAC;IACf,IAAI,EAAE,GAAG,EAAE,GAAE,CAAC;IACd,IAAI,EAAE,GAAG,EAAE,GAAE,CAAC;IACd,KAAK,EAAE,GAAG,EAAE,GAAE,CAAC;CAChB,CAAC"}
1
+ {"version":3,"file":"logger.js","sourceRoot":"","sources":["../../src/logger.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AASH,MAAM,MAAM,GAAG,EAAE,KAAK,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,EAAW,CAAC;AAGjE,SAAS,UAAU,CAAC,MAAe;IACjC,IAAI,MAAM,IAAI,MAAM,IAAI,MAAM;QAAE,OAAO,MAAkB,CAAC;IAC1D,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,qFAAqF;AACrF,MAAM,UAAU,mBAAmB,CAAC,MAAe;IACjD,MAAM,KAAK,GAAG,UAAU,CAAC,OAAO,CAAC,GAAG,CAAC,kBAAkB,CAAC,CAAC;IACzD,MAAM,SAAS,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC;IAChC,MAAM,GAAG,GAAG,MAAM,CAAC,CAAC,CAAC,IAAI,MAAM,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;IAEzC,OAAO;QACL,KAAK,EAAE,CAAC,GAAG,EAAE,GAAG,IAAI,EAAE,EAAE;YACtB,IAAI,SAAS,IAAI,MAAM,CAAC,KAAK;gBAAE,OAAO,CAAC,GAAG,CAAC,GAAG,GAAG,GAAG,GAAG,EAAE,EAAE,GAAG,IAAI,CAAC,CAAC;QACtE,CAAC;QACD,IAAI,EAAE,CAAC,GAAG,EAAE,GAAG,IAAI,EAAE,EAAE;YACrB,IAAI,SAAS,IAAI,MAAM,CAAC,IAAI;gBAAE,OAAO,CAAC,GAAG,CAAC,GAAG,GAAG,GAAG,GAAG,EAAE,EAAE,GAAG,IAAI,CAAC,CAAC;QACrE,CAAC;QACD,IAAI,EAAE,CAAC,GAAG,EAAE,GAAG,IAAI,EAAE,EAAE;YACrB,IAAI,SAAS,IAAI,MAAM,CAAC,IAAI;gBAAE,OAAO,CAAC,IAAI,CAAC,GAAG,GAAG,GAAG,GAAG,EAAE,EAAE,GAAG,IAAI,CAAC,CAAC;QACtE,CAAC;QACD,KAAK,EAAE,CAAC,GAAG,EAAE,GAAG,IAAI,EAAE,EAAE;YACtB,IAAI,SAAS,IAAI,MAAM,CAAC,KAAK;gBAAE,OAAO,CAAC,KAAK,CAAC,GAAG,GAAG,GAAG,GAAG,EAAE,EAAE,GAAG,IAAI,CAAC,CAAC;QACxE,CAAC;KACF,CAAC;AACJ,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,kBAAkB,CAAC,MAAe;IAChD,MAAM,SAAS,GAAG,MAAM,CAAC,UAAU,CAAC,OAAO,CAAC,GAAG,CAAC,kBAAkB,CAAC,CAAC,CAAC;IACrE,MAAM,GAAG,GAAG,MAAM,CAAC,CAAC,CAAC,IAAI,MAAM,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;IACzC,MAAM,EAAE,GACN,CAAC,KAAe,EAAE,EAAE,CACpB,CAAC,GAAW,EAAE,GAAG,IAAe,EAAE,EAAE;QAClC,IAAI,SAAS,IAAI,MAAM,CAAC,KAAK,CAAC;YAAE,OAAO,CAAC,KAAK,CAAC,GAAG,GAAG,GAAG,GAAG,EAAE,EAAE,GAAG,IAAI,CAAC,CAAC;IACzE,CAAC,CAAC;IACJ,OAAO,EAAE,KAAK,EAAE,EAAE,CAAC,OAAO,CAAC,EAAE,IAAI,EAAE,EAAE,CAAC,MAAM,CAAC,EAAE,IAAI,EAAE,EAAE,CAAC,MAAM,CAAC,EAAE,KAAK,EAAE,EAAE,CAAC,OAAO,CAAC,EAAE,CAAC;AACxF,CAAC;AAED,yDAAyD;AACzD,MAAM,CAAC,MAAM,UAAU,GAAW;IAChC,KAAK,EAAE,GAAG,EAAE,GAAE,CAAC;IACf,IAAI,EAAE,GAAG,EAAE,GAAE,CAAC;IACd,IAAI,EAAE,GAAG,EAAE,GAAE,CAAC;IACd,KAAK,EAAE,GAAG,EAAE,GAAE,CAAC;CAChB,CAAC"}
@@ -0,0 +1,13 @@
1
+ /**
2
+ * MCP tool annotations for the tools `src/index.ts` registers.
3
+ *
4
+ * Kept apart from `bin/mcp-server.ts`, which starts a stdio server as soon as it
5
+ * is imported, so the test suite can check this map against the registry.
6
+ */
7
+ export interface ToolAnnotation {
8
+ readOnlyHint?: boolean;
9
+ destructiveHint?: boolean;
10
+ idempotentHint?: boolean;
11
+ openWorldHint?: boolean;
12
+ }
13
+ export declare const TOOL_ANNOTATIONS: Record<string, ToolAnnotation>;
@@ -0,0 +1,100 @@
1
+ /**
2
+ * MCP tool annotations for the tools `src/index.ts` registers.
3
+ *
4
+ * Kept apart from `bin/mcp-server.ts`, which starts a stdio server as soon as it
5
+ * is imported, so the test suite can check this map against the registry.
6
+ */
7
+ // Hand-curated hints. MCP hosts surface these to the model so it can pick
8
+ // safer tools first (Hermes / Cursor / Claude Desktop all read them).
9
+ //
10
+ // readOnly — does not mutate workspace, sessions, files, or branches
11
+ // destructive — irreversible side-effects (delete worktree, drop branch, kill process)
12
+ // openWorld — touches things outside the local machine (model APIs)
13
+ //
14
+ // A hint left unset takes the MCP default: not read-only, destructive and
15
+ // open-world. So `{}` makes no lighter claim than the defaults; it records that
16
+ // the tool was looked at, and every registered tool has an entry.
17
+ export const TOOL_ANNOTATIONS = {
18
+ // pure reads
19
+ session_list: { readOnlyHint: true, idempotentHint: true },
20
+ sessions_overview: { readOnlyHint: true, idempotentHint: true },
21
+ coding_session_status: { readOnlyHint: true, idempotentHint: true },
22
+ session_grep: { readOnlyHint: true, idempotentHint: true },
23
+ session_inbox: { readOnlyHint: true, idempotentHint: true },
24
+ coding_agents_list: { readOnlyHint: true, idempotentHint: true },
25
+ team_list: { readOnlyHint: true, idempotentHint: true },
26
+ council_status: { readOnlyHint: true, idempotentHint: true },
27
+ council_review: { readOnlyHint: true, idempotentHint: true },
28
+ ultraplan_status: { readOnlyHint: true, idempotentHint: true },
29
+ ultrareview_status: { readOnlyHint: true, idempotentHint: true },
30
+ autoloop_status: { readOnlyHint: true, idempotentHint: true },
31
+ autoloop_list: { readOnlyHint: true, idempotentHint: true },
32
+ codex_goal_get: { readOnlyHint: true, idempotentHint: true },
33
+ claude_goal_status: { readOnlyHint: true, idempotentHint: true },
34
+ claude_agents_list: { readOnlyHint: true, idempotentHint: true },
35
+ plugin_details: { readOnlyHint: true, idempotentHint: true },
36
+ codex_models: { readOnlyHint: true, idempotentHint: true },
37
+ codex_thread_list: { readOnlyHint: true, idempotentHint: true },
38
+ fanout_status: { readOnlyHint: true, idempotentHint: true },
39
+ workflow_status: { readOnlyHint: true, idempotentHint: true },
40
+ workflow_list: { readOnlyHint: true, idempotentHint: true },
41
+ ultraapp_list: { readOnlyHint: true, idempotentHint: true },
42
+ ultraapp_get: { readOnlyHint: true, idempotentHint: true },
43
+ ultraapp_status: { readOnlyHint: true, idempotentHint: true },
44
+ // destructive
45
+ session_stop: { destructiveHint: true },
46
+ council_abort: { destructiveHint: true },
47
+ council_accept: { destructiveHint: true },
48
+ council_reject: { destructiveHint: true },
49
+ autoloop_stop: { destructiveHint: true },
50
+ project_purge: { destructiveHint: true },
51
+ codex_interrupt: { destructiveHint: true },
52
+ codex_rollback: { destructiveHint: true },
53
+ fanout_abort: { destructiveHint: true },
54
+ workflow_cancel: { destructiveHint: true },
55
+ ultraapp_build_cancel: { destructiveHint: true },
56
+ ultraapp_promote_version: { destructiveHint: true },
57
+ ultraapp_stop_container: { destructiveHint: true },
58
+ ultraapp_delete: { destructiveHint: true },
59
+ // mutating + open-world (call external model APIs)
60
+ session_start: { openWorldHint: true },
61
+ session_send: { openWorldHint: true },
62
+ session_handoff: { openWorldHint: true },
63
+ team_send: { openWorldHint: true },
64
+ session_send_to: { openWorldHint: true },
65
+ session_deliver_inbox: { openWorldHint: true },
66
+ council_start: { openWorldHint: true },
67
+ council_inject: { openWorldHint: true },
68
+ ultraplan_start: { openWorldHint: true },
69
+ ultrareview_start: { openWorldHint: true },
70
+ autoloop_start: { openWorldHint: true },
71
+ autoloop_chat: { openWorldHint: true },
72
+ autoloop_reset_agent: {},
73
+ codex_resume: { openWorldHint: true },
74
+ codex_review: { openWorldHint: true },
75
+ codex_goal_set: { openWorldHint: true },
76
+ codex_goal_pause: {},
77
+ codex_goal_resume: { openWorldHint: true },
78
+ codex_goal_clear: {},
79
+ session_compact: { openWorldHint: true },
80
+ session_update_tools: {},
81
+ session_switch_model: {},
82
+ claude_goal_set: { openWorldHint: true },
83
+ claude_goal_clear: {},
84
+ codex_steer: { openWorldHint: true },
85
+ codex_fork: {},
86
+ fanout_start: { openWorldHint: true },
87
+ workflow_start: { openWorldHint: true },
88
+ workflow_resume: { openWorldHint: true },
89
+ workflow_approve: { openWorldHint: true },
90
+ workflow_steer: {},
91
+ verify_run: { openWorldHint: true },
92
+ ultraapp_new: { openWorldHint: true },
93
+ ultraapp_answer: { openWorldHint: true },
94
+ ultraapp_add_file: { openWorldHint: true },
95
+ ultraapp_spec_edit: { openWorldHint: true },
96
+ ultraapp_build_start: { openWorldHint: true },
97
+ ultraapp_feedback: { openWorldHint: true },
98
+ ultraapp_start_container: {},
99
+ };
100
+ //# sourceMappingURL=mcp-annotations.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mcp-annotations.js","sourceRoot":"","sources":["../../src/mcp-annotations.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AASH,0EAA0E;AAC1E,sEAAsE;AACtE,EAAE;AACF,4EAA4E;AAC5E,2FAA2F;AAC3F,0EAA0E;AAC1E,EAAE;AACF,0EAA0E;AAC1E,gFAAgF;AAChF,kEAAkE;AAClE,MAAM,CAAC,MAAM,gBAAgB,GAAmC;IAC9D,aAAa;IACb,YAAY,EAAE,EAAE,YAAY,EAAE,IAAI,EAAE,cAAc,EAAE,IAAI,EAAE;IAC1D,iBAAiB,EAAE,EAAE,YAAY,EAAE,IAAI,EAAE,cAAc,EAAE,IAAI,EAAE;IAC/D,qBAAqB,EAAE,EAAE,YAAY,EAAE,IAAI,EAAE,cAAc,EAAE,IAAI,EAAE;IACnE,YAAY,EAAE,EAAE,YAAY,EAAE,IAAI,EAAE,cAAc,EAAE,IAAI,EAAE;IAC1D,aAAa,EAAE,EAAE,YAAY,EAAE,IAAI,EAAE,cAAc,EAAE,IAAI,EAAE;IAC3D,kBAAkB,EAAE,EAAE,YAAY,EAAE,IAAI,EAAE,cAAc,EAAE,IAAI,EAAE;IAChE,SAAS,EAAE,EAAE,YAAY,EAAE,IAAI,EAAE,cAAc,EAAE,IAAI,EAAE;IACvD,cAAc,EAAE,EAAE,YAAY,EAAE,IAAI,EAAE,cAAc,EAAE,IAAI,EAAE;IAC5D,cAAc,EAAE,EAAE,YAAY,EAAE,IAAI,EAAE,cAAc,EAAE,IAAI,EAAE;IAC5D,gBAAgB,EAAE,EAAE,YAAY,EAAE,IAAI,EAAE,cAAc,EAAE,IAAI,EAAE;IAC9D,kBAAkB,EAAE,EAAE,YAAY,EAAE,IAAI,EAAE,cAAc,EAAE,IAAI,EAAE;IAChE,eAAe,EAAE,EAAE,YAAY,EAAE,IAAI,EAAE,cAAc,EAAE,IAAI,EAAE;IAC7D,aAAa,EAAE,EAAE,YAAY,EAAE,IAAI,EAAE,cAAc,EAAE,IAAI,EAAE;IAC3D,cAAc,EAAE,EAAE,YAAY,EAAE,IAAI,EAAE,cAAc,EAAE,IAAI,EAAE;IAC5D,kBAAkB,EAAE,EAAE,YAAY,EAAE,IAAI,EAAE,cAAc,EAAE,IAAI,EAAE;IAChE,kBAAkB,EAAE,EAAE,YAAY,EAAE,IAAI,EAAE,cAAc,EAAE,IAAI,EAAE;IAChE,cAAc,EAAE,EAAE,YAAY,EAAE,IAAI,EAAE,cAAc,EAAE,IAAI,EAAE;IAC5D,YAAY,EAAE,EAAE,YAAY,EAAE,IAAI,EAAE,cAAc,EAAE,IAAI,EAAE;IAC1D,iBAAiB,EAAE,EAAE,YAAY,EAAE,IAAI,EAAE,cAAc,EAAE,IAAI,EAAE;IAC/D,aAAa,EAAE,EAAE,YAAY,EAAE,IAAI,EAAE,cAAc,EAAE,IAAI,EAAE;IAC3D,eAAe,EAAE,EAAE,YAAY,EAAE,IAAI,EAAE,cAAc,EAAE,IAAI,EAAE;IAC7D,aAAa,EAAE,EAAE,YAAY,EAAE,IAAI,EAAE,cAAc,EAAE,IAAI,EAAE;IAC3D,aAAa,EAAE,EAAE,YAAY,EAAE,IAAI,EAAE,cAAc,EAAE,IAAI,EAAE;IAC3D,YAAY,EAAE,EAAE,YAAY,EAAE,IAAI,EAAE,cAAc,EAAE,IAAI,EAAE;IAC1D,eAAe,EAAE,EAAE,YAAY,EAAE,IAAI,EAAE,cAAc,EAAE,IAAI,EAAE;IAC7D,cAAc;IACd,YAAY,EAAE,EAAE,eAAe,EAAE,IAAI,EAAE;IACvC,aAAa,EAAE,EAAE,eAAe,EAAE,IAAI,EAAE;IACxC,cAAc,EAAE,EAAE,eAAe,EAAE,IAAI,EAAE;IACzC,cAAc,EAAE,EAAE,eAAe,EAAE,IAAI,EAAE;IACzC,aAAa,EAAE,EAAE,eAAe,EAAE,IAAI,EAAE;IACxC,aAAa,EAAE,EAAE,eAAe,EAAE,IAAI,EAAE;IACxC,eAAe,EAAE,EAAE,eAAe,EAAE,IAAI,EAAE;IAC1C,cAAc,EAAE,EAAE,eAAe,EAAE,IAAI,EAAE;IACzC,YAAY,EAAE,EAAE,eAAe,EAAE,IAAI,EAAE;IACvC,eAAe,EAAE,EAAE,eAAe,EAAE,IAAI,EAAE;IAC1C,qBAAqB,EAAE,EAAE,eAAe,EAAE,IAAI,EAAE;IAChD,wBAAwB,EAAE,EAAE,eAAe,EAAE,IAAI,EAAE;IACnD,uBAAuB,EAAE,EAAE,eAAe,EAAE,IAAI,EAAE;IAClD,eAAe,EAAE,EAAE,eAAe,EAAE,IAAI,EAAE;IAC1C,mDAAmD;IACnD,aAAa,EAAE,EAAE,aAAa,EAAE,IAAI,EAAE;IACtC,YAAY,EAAE,EAAE,aAAa,EAAE,IAAI,EAAE;IACrC,eAAe,EAAE,EAAE,aAAa,EAAE,IAAI,EAAE;IACxC,SAAS,EAAE,EAAE,aAAa,EAAE,IAAI,EAAE;IAClC,eAAe,EAAE,EAAE,aAAa,EAAE,IAAI,EAAE;IACxC,qBAAqB,EAAE,EAAE,aAAa,EAAE,IAAI,EAAE;IAC9C,aAAa,EAAE,EAAE,aAAa,EAAE,IAAI,EAAE;IACtC,cAAc,EAAE,EAAE,aAAa,EAAE,IAAI,EAAE;IACvC,eAAe,EAAE,EAAE,aAAa,EAAE,IAAI,EAAE;IACxC,iBAAiB,EAAE,EAAE,aAAa,EAAE,IAAI,EAAE;IAC1C,cAAc,EAAE,EAAE,aAAa,EAAE,IAAI,EAAE;IACvC,aAAa,EAAE,EAAE,aAAa,EAAE,IAAI,EAAE;IACtC,oBAAoB,EAAE,EAAE;IACxB,YAAY,EAAE,EAAE,aAAa,EAAE,IAAI,EAAE;IACrC,YAAY,EAAE,EAAE,aAAa,EAAE,IAAI,EAAE;IACrC,cAAc,EAAE,EAAE,aAAa,EAAE,IAAI,EAAE;IACvC,gBAAgB,EAAE,EAAE;IACpB,iBAAiB,EAAE,EAAE,aAAa,EAAE,IAAI,EAAE;IAC1C,gBAAgB,EAAE,EAAE;IACpB,eAAe,EAAE,EAAE,aAAa,EAAE,IAAI,EAAE;IACxC,oBAAoB,EAAE,EAAE;IACxB,oBAAoB,EAAE,EAAE;IACxB,eAAe,EAAE,EAAE,aAAa,EAAE,IAAI,EAAE;IACxC,iBAAiB,EAAE,EAAE;IACrB,WAAW,EAAE,EAAE,aAAa,EAAE,IAAI,EAAE;IACpC,UAAU,EAAE,EAAE;IACd,YAAY,EAAE,EAAE,aAAa,EAAE,IAAI,EAAE;IACrC,cAAc,EAAE,EAAE,aAAa,EAAE,IAAI,EAAE;IACvC,eAAe,EAAE,EAAE,aAAa,EAAE,IAAI,EAAE;IACxC,gBAAgB,EAAE,EAAE,aAAa,EAAE,IAAI,EAAE;IACzC,cAAc,EAAE,EAAE;IAClB,UAAU,EAAE,EAAE,aAAa,EAAE,IAAI,EAAE;IACnC,YAAY,EAAE,EAAE,aAAa,EAAE,IAAI,EAAE;IACrC,eAAe,EAAE,EAAE,aAAa,EAAE,IAAI,EAAE;IACxC,iBAAiB,EAAE,EAAE,aAAa,EAAE,IAAI,EAAE;IAC1C,kBAAkB,EAAE,EAAE,aAAa,EAAE,IAAI,EAAE;IAC3C,oBAAoB,EAAE,EAAE,aAAa,EAAE,IAAI,EAAE;IAC7C,iBAAiB,EAAE,EAAE,aAAa,EAAE,IAAI,EAAE;IAC1C,wBAAwB,EAAE,EAAE;CAC7B,CAAC"}
@@ -51,6 +51,13 @@ export declare function getModelPricing(model?: string, defaultModel?: string):
51
51
  * returned rate cannot express: both are zero.
52
52
  */
53
53
  export declare function hasPricingOverride(model?: string, defaultModel?: string): boolean;
54
+ /**
55
+ * Whether this model has a price of its own — a registry entry or a runtime
56
+ * override — rather than the default model's, which getModelPricing() falls
57
+ * back to. An engine with its own rate for models the registry cannot price
58
+ * asks this, since the fallback rate is never zero and cannot be told apart.
59
+ */
60
+ export declare function hasOwnPricing(model?: string): boolean;
54
61
  export declare function overrideModelPricing(overrides: Record<string, Partial<ModelPricing>>): void;
55
62
  /** Reset all pricing overrides (for testing). */
56
63
  export declare function _resetPricingOverrides(): void;
@@ -656,6 +656,15 @@ export function getModelPricing(model, defaultModel = 'claude-sonnet-4-6') {
656
656
  export function hasPricingOverride(model, defaultModel = 'claude-sonnet-4-6') {
657
657
  return _pricingOverrides.has(pricingKey(model || defaultModel));
658
658
  }
659
+ /**
660
+ * Whether this model has a price of its own — a registry entry or a runtime
661
+ * override — rather than the default model's, which getModelPricing() falls
662
+ * back to. An engine with its own rate for models the registry cannot price
663
+ * asks this, since the fallback rate is never zero and cannot be told apart.
664
+ */
665
+ export function hasOwnPricing(model) {
666
+ return !!model && effectivePricing(pricingKey(model)) !== undefined;
667
+ }
659
668
  /** Mutable pricing table for runtime overrides (backward compat). */
660
669
  const _pricingOverrides = new Map();
661
670
  export function overrideModelPricing(overrides) {