@enderfga/claw-orchestrator 7.14.0 → 7.16.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 (145) hide show
  1. package/README.md +162 -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 +84 -46
  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 +72 -9
  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/claude-goal-session.d.ts +147 -0
  22. package/dist/src/claude-goal-session.js +355 -0
  23. package/dist/src/claude-goal-session.js.map +1 -0
  24. package/dist/src/council.d.ts +8 -0
  25. package/dist/src/council.js +45 -12
  26. package/dist/src/council.js.map +1 -1
  27. package/dist/src/dashboard/index.html +28 -14
  28. package/dist/src/embedded-server.js +27 -8
  29. package/dist/src/embedded-server.js.map +1 -1
  30. package/dist/src/engine-spawn.js +3 -1
  31. package/dist/src/engine-spawn.js.map +1 -1
  32. package/dist/src/fanout.d.ts +13 -3
  33. package/dist/src/fanout.js +10 -0
  34. package/dist/src/fanout.js.map +1 -1
  35. package/dist/src/inbox-manager.d.ts +9 -0
  36. package/dist/src/inbox-manager.js +8 -2
  37. package/dist/src/inbox-manager.js.map +1 -1
  38. package/dist/src/index.d.ts +2 -0
  39. package/dist/src/index.js +135 -53
  40. package/dist/src/index.js.map +1 -1
  41. package/dist/src/kernel/agent-step.d.ts +6 -0
  42. package/dist/src/kernel/agent-step.js.map +1 -1
  43. package/dist/src/kernel/conditions.d.ts +1 -1
  44. package/dist/src/kernel/conditions.js +1 -1
  45. package/dist/src/kernel/engine.d.ts +28 -8
  46. package/dist/src/kernel/engine.js +93 -19
  47. package/dist/src/kernel/engine.js.map +1 -1
  48. package/dist/src/kernel/nodes/agent.js +2 -0
  49. package/dist/src/kernel/nodes/agent.js.map +1 -1
  50. package/dist/src/kernel/nodes/council.js +9 -4
  51. package/dist/src/kernel/nodes/council.js.map +1 -1
  52. package/dist/src/kernel/nodes/fanout.js +5 -0
  53. package/dist/src/kernel/nodes/fanout.js.map +1 -1
  54. package/dist/src/kernel/nodes/goal.d.ts +19 -5
  55. package/dist/src/kernel/nodes/goal.js +81 -34
  56. package/dist/src/kernel/nodes/goal.js.map +1 -1
  57. package/dist/src/kernel/nodes/subflow.js +9 -1
  58. package/dist/src/kernel/nodes/subflow.js.map +1 -1
  59. package/dist/src/kernel/nodes/ultraapp.d.ts +1 -0
  60. package/dist/src/kernel/nodes/ultraapp.js +1 -0
  61. package/dist/src/kernel/nodes/ultraapp.js.map +1 -1
  62. package/dist/src/kernel/nodes/verifier.js +5 -1
  63. package/dist/src/kernel/nodes/verifier.js.map +1 -1
  64. package/dist/src/kernel/projections.d.ts +1 -0
  65. package/dist/src/kernel/projections.js +7 -1
  66. package/dist/src/kernel/projections.js.map +1 -1
  67. package/dist/src/kernel/templates/index.d.ts +16 -11
  68. package/dist/src/kernel/templates/index.js +14 -8
  69. package/dist/src/kernel/templates/index.js.map +1 -1
  70. package/dist/src/kernel/types.d.ts +37 -13
  71. package/dist/src/kernel/types.js.map +1 -1
  72. package/dist/src/logger.d.ts +6 -0
  73. package/dist/src/logger.js +14 -0
  74. package/dist/src/logger.js.map +1 -1
  75. package/dist/src/mcp-annotations.d.ts +13 -0
  76. package/dist/src/mcp-annotations.js +100 -0
  77. package/dist/src/mcp-annotations.js.map +1 -0
  78. package/dist/src/models.d.ts +7 -0
  79. package/dist/src/models.js +9 -0
  80. package/dist/src/models.js.map +1 -1
  81. package/dist/src/openai-compat.d.ts +11 -5
  82. package/dist/src/openai-compat.js +55 -54
  83. package/dist/src/openai-compat.js.map +1 -1
  84. package/dist/src/persistent-acp-session.d.ts +7 -0
  85. package/dist/src/persistent-acp-session.js +26 -2
  86. package/dist/src/persistent-acp-session.js.map +1 -1
  87. package/dist/src/persistent-codex-app-session.d.ts +2 -0
  88. package/dist/src/persistent-codex-app-session.js +18 -9
  89. package/dist/src/persistent-codex-app-session.js.map +1 -1
  90. package/dist/src/persistent-codex-session.d.ts +14 -3
  91. package/dist/src/persistent-codex-session.js +22 -19
  92. package/dist/src/persistent-codex-session.js.map +1 -1
  93. package/dist/src/persistent-custom-session.d.ts +9 -0
  94. package/dist/src/persistent-custom-session.js +41 -21
  95. package/dist/src/persistent-custom-session.js.map +1 -1
  96. package/dist/src/persistent-grok-session.js +1 -1
  97. package/dist/src/persistent-grok-session.js.map +1 -1
  98. package/dist/src/persistent-session.d.ts +9 -0
  99. package/dist/src/persistent-session.js +23 -0
  100. package/dist/src/persistent-session.js.map +1 -1
  101. package/dist/src/run-ledger.d.ts +3 -3
  102. package/dist/src/session-manager.d.ts +45 -1
  103. package/dist/src/session-manager.js +199 -34
  104. package/dist/src/session-manager.js.map +1 -1
  105. package/dist/src/types.d.ts +34 -11
  106. package/dist/src/types.js.map +1 -1
  107. package/dist/src/ultraapp/build.d.ts +5 -11
  108. package/dist/src/ultraapp/build.js +5 -11
  109. package/dist/src/ultraapp/build.js.map +1 -1
  110. package/dist/src/ultraapp/council-adapter.d.ts +5 -2
  111. package/dist/src/ultraapp/council-adapter.js +6 -6
  112. package/dist/src/ultraapp/council-adapter.js.map +1 -1
  113. package/dist/src/ultraapp/files.d.ts +7 -0
  114. package/dist/src/ultraapp/files.js +7 -1
  115. package/dist/src/ultraapp/files.js.map +1 -1
  116. package/dist/src/ultraapp/manager.d.ts +23 -3
  117. package/dist/src/ultraapp/manager.js +170 -72
  118. package/dist/src/ultraapp/manager.js.map +1 -1
  119. package/dist/src/ultraapp/narrator.js +1 -1
  120. package/dist/src/ultraapp/narrator.js.map +1 -1
  121. package/dist/src/ultraapp/versions.d.ts +27 -5
  122. package/dist/src/ultraapp/versions.js +58 -13
  123. package/dist/src/ultraapp/versions.js.map +1 -1
  124. package/openclaw.plugin.json +4 -13
  125. package/package.json +13 -6
  126. package/skills/SKILL.md +52 -24
  127. package/skills/references/acp.md +140 -61
  128. package/skills/references/autoloop.md +148 -38
  129. package/skills/references/claude-cli-tracking.md +9 -6
  130. package/skills/references/cli.md +139 -108
  131. package/skills/references/council.md +44 -22
  132. package/skills/references/dashboard.md +37 -21
  133. package/skills/references/getting-started.md +49 -15
  134. package/skills/references/inbox.md +13 -8
  135. package/skills/references/mcp.md +25 -17
  136. package/skills/references/multi-engine.md +161 -145
  137. package/skills/references/observability.md +90 -58
  138. package/skills/references/openai-compat.md +172 -82
  139. package/skills/references/sessions.md +101 -65
  140. package/skills/references/tools.md +217 -158
  141. package/skills/references/ultra.md +7 -7
  142. package/skills/references/ultraapp.md +101 -56
  143. package/skills/references/verification.md +112 -56
  144. package/skills/references/workflow.md +275 -97
  145. package/assets/banner.jpg +0 -0
@@ -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":"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"}
@@ -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) {
@@ -1 +1 @@
1
- {"version":3,"file":"models.js","sourceRoot":"","sources":["../../src/models.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"models.js","sourceRoot":"","sources":["../../src/models.ts"],"names":[],"mappings":"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"}
@@ -117,9 +117,10 @@ export interface OpenAIChatCompletionChunk {
117
117
  * - tools injected into every user message
118
118
  * - session key NOT fingerprinted by tools (same session across tool changes)
119
119
  * Default (unset) is the new behavior: tools embedded in session system prompt
120
- * at create time + session key fingerprinted by tools. The new behavior
121
- * eliminates periodic latency spikes but does not support mutating the tool
122
- * list within a single session (a new session is created when tools change).
120
+ * at create time + the hashed session key fingerprinted by tools. The new
121
+ * behavior eliminates periodic latency spikes but does not support mutating the
122
+ * tool list within a single session (without an explicit key, a changed list
123
+ * resolves to a new session; with one, the session keeps its old tools).
123
124
  */
124
125
  export declare function isToolsPerMessageModeEnabled(): boolean;
125
126
  /**
@@ -215,8 +216,9 @@ export interface ExtractedMessage {
215
216
  * labeling tools, etc). They use the transcript shape itself as their only
216
217
  * "start a new conversation" signal.
217
218
  *
218
- * The env var is read on every call so ops can flip it via launchctl setenv
219
- * without restarting the server.
219
+ * The env var is read on every call, so a change to this process's own
220
+ * environment applies to the next request. `launchctl setenv` does not reach a
221
+ * process that is already running; the server has to be restarted to see it.
220
222
  */
221
223
  export declare function extractUserMessage(messages: OpenAIChatMessage[], headers?: Record<string, string | string[] | undefined>,
222
224
  /**
@@ -254,6 +256,10 @@ interface SessionManagerLike {
254
256
  sessionId?: string;
255
257
  error?: string;
256
258
  events: unknown[];
259
+ usage?: {
260
+ tokensIn: number;
261
+ tokensOut: number;
262
+ };
257
263
  }>;
258
264
  stopSession(name: string): Promise<void>;
259
265
  listSessions(): Array<{
@@ -17,8 +17,8 @@ import { OPENAI_COMPAT_DEFAULT_MODEL, OPENAI_COMPAT_AUTO_COMPACT_THRESHOLD, OPEN
17
17
  * Ceiling on the WHOLE emitted block — tags, elision markers and framing included, not just the turn
18
18
  * text (charging text alone is not a cap: 8,000 one-word turns rendered 165,008 bytes). Same number
19
19
  * and oldest-dropped-first rule as REPLAY_CHAR_BUDGET in the autoloop dispatcher. MAX_BODY_SIZE is
20
- * not the bound that matters: six of the nine ENGINE_TYPES pass the prompt as one argv element and
21
- * Linux caps one argument at 128 KiB — going over is a 500 with the turn lost.
20
+ * not the bound that matters: gemini, agy, cursor, grok and one-shot custom engines pass the prompt
21
+ * as one argv element and Linux caps one argument at 128 KiB — going over is a 500 with the turn lost.
22
22
  */
23
23
  const HISTORY_CHAR_BUDGET = 24_000;
24
24
  /**
@@ -61,9 +61,10 @@ const turnFrameChars = (role) => 2 * role.length + 8;
61
61
  * - tools injected into every user message
62
62
  * - session key NOT fingerprinted by tools (same session across tool changes)
63
63
  * Default (unset) is the new behavior: tools embedded in session system prompt
64
- * at create time + session key fingerprinted by tools. The new behavior
65
- * eliminates periodic latency spikes but does not support mutating the tool
66
- * list within a single session (a new session is created when tools change).
64
+ * at create time + the hashed session key fingerprinted by tools. The new
65
+ * behavior eliminates periodic latency spikes but does not support mutating the
66
+ * tool list within a single session (without an explicit key, a changed list
67
+ * resolves to a new session; with one, the session keeps its old tools).
67
68
  */
68
69
  export function isToolsPerMessageModeEnabled() {
69
70
  const v = process.env.OPENAI_COMPAT_TOOLS_PER_MESSAGE;
@@ -530,8 +531,9 @@ function fenceIfHistoryPresent(historyBlock, lastUserText) {
530
531
  * labeling tools, etc). They use the transcript shape itself as their only
531
532
  * "start a new conversation" signal.
532
533
  *
533
- * The env var is read on every call so ops can flip it via launchctl setenv
534
- * without restarting the server.
534
+ * The env var is read on every call, so a change to this process's own
535
+ * environment applies to the next request. `launchctl setenv` does not reach a
536
+ * process that is already running; the server has to be restarted to see it.
535
537
  */
536
538
  export function extractUserMessage(messages, headers,
537
539
  /**
@@ -942,24 +944,28 @@ export async function handleChatCompletion(manager, body, headers, res) {
942
944
  // back to the legacy behavior of injecting the tool block into each user
943
945
  // message. Enables dynamic tool list updates within a single session.
944
946
  //
945
- // Non-claude engines: the CLI is spawned fresh per turn with no persistent
946
- // system prompt, so tools must be injected per message — but WHICH block
947
+ // Non-claude engines: the session is started without a system prompt (see the
948
+ // create block), so tools must be injected per message — but WHICH block
947
949
  // depends on whether the engine keeps the conversation itself:
948
950
  //
949
- // - codex / codex-app / agy resume a thread, so the first turn's schemas are
950
- // still in the transcript. Re-sending them every turn only grows the
951
- // prompt; with ~50 tools that is tens of thousands of tokens per turn and
952
- // the thread overflows the context window mid-loop. Send a reminder that
953
- // restates the calling convention without the schemas.
954
- // - cursor / opencode / gemini / one-shot custom start from nothing every
955
- // send, so the full schemas have to go out every time.
951
+ // - codex / codex-app / agy / cursor / opencode / grok resume a conversation
952
+ // by id, so the first turn's schemas are still in the transcript.
953
+ // Re-sending them every turn only grows the prompt; with ~50 tools that is
954
+ // tens of thousands of tokens per turn and the thread overflows the
955
+ // context window mid-loop. Send a reminder that restates the calling
956
+ // convention without the schemas — once the id has been captured
957
+ // (nativeThreadIsLive); until then the full block goes out again.
958
+ // - gemini / one-shot custom start from nothing every send, so the full
959
+ // schemas have to go out every time.
956
960
  //
957
961
  // A fresh session always gets the full block regardless of engine, so a thread
958
962
  // is never created without the definitions (this also covers the case where a
959
- // session was evicted and is being recreated mid-conversation). A caller that
960
- // changes its tool list mid-conversation also lands on the full block: the
961
- // tool list is part of the session-name hash, so a different list resolves to
962
- // a different session, which is a fresh create.
963
+ // session was evicted and is being recreated mid-conversation). A caller with
964
+ // no explicit key (no `X-Session-Id`, no `user`) that changes its tool list
965
+ // mid-conversation also lands on the full block: the tool list is part of the
966
+ // hashed key, so a different list resolves to a different session, which is a
967
+ // fresh create. An explicit key names the session by itself, so a changed list
968
+ // stays on the same session and a resumed thread gets only the reminder.
963
969
  //
964
970
  // OPENAI_COMPAT_TOOLS_PER_MESSAGE is the exception — its whole purpose is to
965
971
  // re-send the full list every turn so the tool set can change within one
@@ -1020,14 +1026,23 @@ function reportStatus(state, activity, tool) {
1020
1026
  if (!url)
1021
1027
  return;
1022
1028
  const payload = JSON.stringify({ state, activity, tool: tool || null });
1023
- const req = http.request(url, {
1024
- method: 'POST',
1025
- headers: { 'Content-Type': 'application/json', 'Content-Length': Buffer.byteLength(payload) },
1026
- timeout: 2000,
1027
- }, () => { });
1028
- req.on('error', () => { });
1029
- req.write(payload);
1030
- req.end();
1029
+ // `http.request` throws synchronously on a URL it cannot use (`https://`, malformed), and the
1030
+ // callers report from inside the send's try block — so that throw would fail the completion.
1031
+ try {
1032
+ const req = http.request(url, {
1033
+ method: 'POST',
1034
+ headers: { 'Content-Type': 'application/json', 'Content-Length': Buffer.byteLength(payload) },
1035
+ timeout: 2000,
1036
+ }, () => { });
1037
+ // `timeout` only emits the event; the request has to be destroyed for it to end anything.
1038
+ req.on('timeout', () => req.destroy());
1039
+ req.on('error', () => { });
1040
+ req.write(payload);
1041
+ req.end();
1042
+ }
1043
+ catch {
1044
+ /* best effort */
1045
+ }
1031
1046
  }
1032
1047
  function getToolDescription(toolName, toolInput) {
1033
1048
  switch (toolName) {
@@ -1091,16 +1106,8 @@ async function handleNonStreaming(manager, sessionName, model, userMessage, comp
1091
1106
  res.end(JSON.stringify({ error: { message: result.error, type: 'upstream_error' } }));
1092
1107
  return landed;
1093
1108
  }
1094
- let tokensIn = 0;
1095
- let tokensOut = 0;
1096
- try {
1097
- const status = manager.getStatus(sessionName);
1098
- tokensIn = status.stats.tokensIn;
1099
- tokensOut = status.stats.tokensOut;
1100
- }
1101
- catch {
1102
- /* stats unavailable */
1103
- }
1109
+ let tokensIn = result.usage?.tokensIn ?? 0;
1110
+ let tokensOut = result.usage?.tokensOut ?? 0;
1104
1111
  // Fall back to a length-based estimate rather than reporting usage as 0,
1105
1112
  // which breaks downstream cost accounting for OpenAI-compatible clients.
1106
1113
  if (tokensIn === 0)
@@ -1208,21 +1215,15 @@ async function handleStreaming(manager, sessionName, model, userMessage, complet
1208
1215
  res.end();
1209
1216
  return landed;
1210
1217
  }
1211
- // Get token usage for final chunk
1212
- let usage;
1213
- try {
1214
- const status = manager.getStatus(sessionName);
1215
- usage = {
1216
- prompt_tokens: status.stats.tokensIn,
1217
- completion_tokens: status.stats.tokensOut,
1218
- total_tokens: status.stats.tokensIn + status.stats.tokensOut,
1219
- };
1220
- }
1221
- catch {
1222
- /* best effort */
1223
- }
1224
- if (hasTools && bufferedText) {
1225
- const parsed = parseToolCallsFromText(bufferedText);
1218
+ const usage = result.usage && {
1219
+ prompt_tokens: result.usage.tokensIn,
1220
+ completion_tokens: result.usage.tokensOut,
1221
+ total_tokens: result.usage.tokensIn + result.usage.tokensOut,
1222
+ };
1223
+ // An engine with no delta channel left the buffer empty; its reply is the return value.
1224
+ const toolText = bufferedText || result.output;
1225
+ if (hasTools && toolText) {
1226
+ const parsed = parseToolCallsFromText(toolText);
1226
1227
  if (parsed.toolCalls.length > 0) {
1227
1228
  // Emit text content if any
1228
1229
  if (parsed.textContent) {
@@ -1262,7 +1263,7 @@ async function handleStreaming(manager, sessionName, model, userMessage, complet
1262
1263
  }
1263
1264
  else {
1264
1265
  // No tool calls — emit buffered text as content
1265
- writeSSE(JSON.stringify(formatCompletionChunk(completionId, model, { content: bufferedText }, null)));
1266
+ writeSSE(JSON.stringify(formatCompletionChunk(completionId, model, { content: toolText }, null)));
1266
1267
  const finalChunk = formatCompletionChunk(completionId, model, {}, 'stop');
1267
1268
  if (usage)
1268
1269
  finalChunk.usage = usage;