@stigmer/runner 3.0.1

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 (904) hide show
  1. package/README.md +212 -0
  2. package/dist/.build-fingerprint +1 -0
  3. package/dist/activities/call-agent-status.d.ts +37 -0
  4. package/dist/activities/call-agent-status.js +91 -0
  5. package/dist/activities/call-agent-status.js.map +1 -0
  6. package/dist/activities/call-agent.d.ts +25 -0
  7. package/dist/activities/call-agent.js +233 -0
  8. package/dist/activities/call-agent.js.map +1 -0
  9. package/dist/activities/call-eval.d.ts +50 -0
  10. package/dist/activities/call-eval.js +244 -0
  11. package/dist/activities/call-eval.js.map +1 -0
  12. package/dist/activities/call-function.d.ts +21 -0
  13. package/dist/activities/call-function.js +54 -0
  14. package/dist/activities/call-function.js.map +1 -0
  15. package/dist/activities/call-grpc.d.ts +22 -0
  16. package/dist/activities/call-grpc.js +101 -0
  17. package/dist/activities/call-grpc.js.map +1 -0
  18. package/dist/activities/call-http.d.ts +32 -0
  19. package/dist/activities/call-http.js +134 -0
  20. package/dist/activities/call-http.js.map +1 -0
  21. package/dist/activities/call-llm.d.ts +39 -0
  22. package/dist/activities/call-llm.js +260 -0
  23. package/dist/activities/call-llm.js.map +1 -0
  24. package/dist/activities/call-transform.d.ts +20 -0
  25. package/dist/activities/call-transform.js +33 -0
  26. package/dist/activities/call-transform.js.map +1 -0
  27. package/dist/activities/call-validate.d.ts +41 -0
  28. package/dist/activities/call-validate.js +163 -0
  29. package/dist/activities/call-validate.js.map +1 -0
  30. package/dist/activities/classify-tool-approvals.d.ts +47 -0
  31. package/dist/activities/classify-tool-approvals.js +207 -0
  32. package/dist/activities/classify-tool-approvals.js.map +1 -0
  33. package/dist/activities/discover-mcp-server.d.ts +65 -0
  34. package/dist/activities/discover-mcp-server.js +269 -0
  35. package/dist/activities/discover-mcp-server.js.map +1 -0
  36. package/dist/activities/emit-event.d.ts +46 -0
  37. package/dist/activities/emit-event.js +125 -0
  38. package/dist/activities/emit-event.js.map +1 -0
  39. package/dist/activities/ensure-thread.d.ts +24 -0
  40. package/dist/activities/ensure-thread.js +44 -0
  41. package/dist/activities/ensure-thread.js.map +1 -0
  42. package/dist/activities/evaluate-expressions.d.ts +21 -0
  43. package/dist/activities/evaluate-expressions.js +39 -0
  44. package/dist/activities/evaluate-expressions.js.map +1 -0
  45. package/dist/activities/execute-cursor/approval-policy.d.ts +104 -0
  46. package/dist/activities/execute-cursor/approval-policy.js +193 -0
  47. package/dist/activities/execute-cursor/approval-policy.js.map +1 -0
  48. package/dist/activities/execute-cursor/approval-state.d.ts +157 -0
  49. package/dist/activities/execute-cursor/approval-state.js +223 -0
  50. package/dist/activities/execute-cursor/approval-state.js.map +1 -0
  51. package/dist/activities/execute-cursor/attachment-resolver.d.ts +19 -0
  52. package/dist/activities/execute-cursor/attachment-resolver.js +52 -0
  53. package/dist/activities/execute-cursor/attachment-resolver.js.map +1 -0
  54. package/dist/activities/execute-cursor/blueprint-resolver.d.ts +66 -0
  55. package/dist/activities/execute-cursor/blueprint-resolver.js +169 -0
  56. package/dist/activities/execute-cursor/blueprint-resolver.js.map +1 -0
  57. package/dist/activities/execute-cursor/connect-backfill.d.ts +18 -0
  58. package/dist/activities/execute-cursor/connect-backfill.js +27 -0
  59. package/dist/activities/execute-cursor/connect-backfill.js.map +1 -0
  60. package/dist/activities/execute-cursor/cursor-event-recorder.d.ts +24 -0
  61. package/dist/activities/execute-cursor/cursor-event-recorder.js +66 -0
  62. package/dist/activities/execute-cursor/cursor-event-recorder.js.map +1 -0
  63. package/dist/activities/execute-cursor/cursor-mode.d.ts +32 -0
  64. package/dist/activities/execute-cursor/cursor-mode.js +36 -0
  65. package/dist/activities/execute-cursor/cursor-mode.js.map +1 -0
  66. package/dist/activities/execute-cursor/delta-enricher.d.ts +87 -0
  67. package/dist/activities/execute-cursor/delta-enricher.js +265 -0
  68. package/dist/activities/execute-cursor/delta-enricher.js.map +1 -0
  69. package/dist/activities/execute-cursor/env-resolver.d.ts +19 -0
  70. package/dist/activities/execute-cursor/env-resolver.js +47 -0
  71. package/dist/activities/execute-cursor/env-resolver.js.map +1 -0
  72. package/dist/activities/execute-cursor/error-classifier.d.ts +73 -0
  73. package/dist/activities/execute-cursor/error-classifier.js +185 -0
  74. package/dist/activities/execute-cursor/error-classifier.js.map +1 -0
  75. package/dist/activities/execute-cursor/fetch-interceptor.d.ts +59 -0
  76. package/dist/activities/execute-cursor/fetch-interceptor.js +317 -0
  77. package/dist/activities/execute-cursor/fetch-interceptor.js.map +1 -0
  78. package/dist/activities/execute-cursor/hitl-diagnostics.d.ts +32 -0
  79. package/dist/activities/execute-cursor/hitl-diagnostics.js +73 -0
  80. package/dist/activities/execute-cursor/hitl-diagnostics.js.map +1 -0
  81. package/dist/activities/execute-cursor/hook-script.d.ts +47 -0
  82. package/dist/activities/execute-cursor/hook-script.js +156 -0
  83. package/dist/activities/execute-cursor/hook-script.js.map +1 -0
  84. package/dist/activities/execute-cursor/http2-interceptor.d.ts +94 -0
  85. package/dist/activities/execute-cursor/http2-interceptor.js +209 -0
  86. package/dist/activities/execute-cursor/http2-interceptor.js.map +1 -0
  87. package/dist/activities/execute-cursor/index.d.ts +67 -0
  88. package/dist/activities/execute-cursor/index.js +1176 -0
  89. package/dist/activities/execute-cursor/index.js.map +1 -0
  90. package/dist/activities/execute-cursor/mcp-config.d.ts +30 -0
  91. package/dist/activities/execute-cursor/mcp-config.js +39 -0
  92. package/dist/activities/execute-cursor/mcp-config.js.map +1 -0
  93. package/dist/activities/execute-cursor/mcp-resolver.d.ts +91 -0
  94. package/dist/activities/execute-cursor/mcp-resolver.js +178 -0
  95. package/dist/activities/execute-cursor/mcp-resolver.js.map +1 -0
  96. package/dist/activities/execute-cursor/message-translator.d.ts +211 -0
  97. package/dist/activities/execute-cursor/message-translator.js +786 -0
  98. package/dist/activities/execute-cursor/message-translator.js.map +1 -0
  99. package/dist/activities/execute-cursor/model-pricing-data.d.ts +40 -0
  100. package/dist/activities/execute-cursor/model-pricing-data.js +114 -0
  101. package/dist/activities/execute-cursor/model-pricing-data.js.map +1 -0
  102. package/dist/activities/execute-cursor/model-pricing.d.ts +42 -0
  103. package/dist/activities/execute-cursor/model-pricing.js +141 -0
  104. package/dist/activities/execute-cursor/model-pricing.js.map +1 -0
  105. package/dist/activities/execute-cursor/placeholder-resolver.d.ts +34 -0
  106. package/dist/activities/execute-cursor/placeholder-resolver.js +82 -0
  107. package/dist/activities/execute-cursor/placeholder-resolver.js.map +1 -0
  108. package/dist/activities/execute-cursor/prompt-builder.d.ts +80 -0
  109. package/dist/activities/execute-cursor/prompt-builder.js +280 -0
  110. package/dist/activities/execute-cursor/prompt-builder.js.map +1 -0
  111. package/dist/activities/execute-cursor/rejection-capture.d.ts +30 -0
  112. package/dist/activities/execute-cursor/rejection-capture.js +80 -0
  113. package/dist/activities/execute-cursor/rejection-capture.js.map +1 -0
  114. package/dist/activities/execute-cursor/session-lifecycle.d.ts +189 -0
  115. package/dist/activities/execute-cursor/session-lifecycle.js +285 -0
  116. package/dist/activities/execute-cursor/session-lifecycle.js.map +1 -0
  117. package/dist/activities/execute-cursor/skill-resolver.d.ts +29 -0
  118. package/dist/activities/execute-cursor/skill-resolver.js +134 -0
  119. package/dist/activities/execute-cursor/skill-resolver.js.map +1 -0
  120. package/dist/activities/execute-cursor/subagent-config.d.ts +34 -0
  121. package/dist/activities/execute-cursor/subagent-config.js +55 -0
  122. package/dist/activities/execute-cursor/subagent-config.js.map +1 -0
  123. package/dist/activities/execute-cursor/todo-tracker.d.ts +35 -0
  124. package/dist/activities/execute-cursor/todo-tracker.js +108 -0
  125. package/dist/activities/execute-cursor/todo-tracker.js.map +1 -0
  126. package/dist/activities/execute-cursor/usage-accumulator.d.ts +55 -0
  127. package/dist/activities/execute-cursor/usage-accumulator.js +89 -0
  128. package/dist/activities/execute-cursor/usage-accumulator.js.map +1 -0
  129. package/dist/activities/execute-cursor/workspace-provision.d.ts +22 -0
  130. package/dist/activities/execute-cursor/workspace-provision.js +37 -0
  131. package/dist/activities/execute-cursor/workspace-provision.js.map +1 -0
  132. package/dist/activities/execute-cursor/workspace-setup.d.ts +27 -0
  133. package/dist/activities/execute-cursor/workspace-setup.js +61 -0
  134. package/dist/activities/execute-cursor/workspace-setup.js.map +1 -0
  135. package/dist/activities/execute-deep-agent/__test-utils__/v3-event-fixtures.d.ts +71 -0
  136. package/dist/activities/execute-deep-agent/__test-utils__/v3-event-fixtures.js +182 -0
  137. package/dist/activities/execute-deep-agent/__test-utils__/v3-event-fixtures.js.map +1 -0
  138. package/dist/activities/execute-deep-agent/attachment-injector.d.ts +67 -0
  139. package/dist/activities/execute-deep-agent/attachment-injector.js +306 -0
  140. package/dist/activities/execute-deep-agent/attachment-injector.js.map +1 -0
  141. package/dist/activities/execute-deep-agent/auto-publish.d.ts +17 -0
  142. package/dist/activities/execute-deep-agent/auto-publish.js +71 -0
  143. package/dist/activities/execute-deep-agent/auto-publish.js.map +1 -0
  144. package/dist/activities/execute-deep-agent/environment.d.ts +24 -0
  145. package/dist/activities/execute-deep-agent/environment.js +50 -0
  146. package/dist/activities/execute-deep-agent/environment.js.map +1 -0
  147. package/dist/activities/execute-deep-agent/event-recorder.d.ts +21 -0
  148. package/dist/activities/execute-deep-agent/event-recorder.js +67 -0
  149. package/dist/activities/execute-deep-agent/event-recorder.js.map +1 -0
  150. package/dist/activities/execute-deep-agent/execution-state.d.ts +61 -0
  151. package/dist/activities/execute-deep-agent/execution-state.js +76 -0
  152. package/dist/activities/execute-deep-agent/execution-state.js.map +1 -0
  153. package/dist/activities/execute-deep-agent/execution-status-writer.d.ts +17 -0
  154. package/dist/activities/execute-deep-agent/execution-status-writer.js +9 -0
  155. package/dist/activities/execute-deep-agent/execution-status-writer.js.map +1 -0
  156. package/dist/activities/execute-deep-agent/hitl.d.ts +58 -0
  157. package/dist/activities/execute-deep-agent/hitl.js +155 -0
  158. package/dist/activities/execute-deep-agent/hitl.js.map +1 -0
  159. package/dist/activities/execute-deep-agent/index.d.ts +14 -0
  160. package/dist/activities/execute-deep-agent/index.js +286 -0
  161. package/dist/activities/execute-deep-agent/index.js.map +1 -0
  162. package/dist/activities/execute-deep-agent/inline-publisher.d.ts +36 -0
  163. package/dist/activities/execute-deep-agent/inline-publisher.js +105 -0
  164. package/dist/activities/execute-deep-agent/inline-publisher.js.map +1 -0
  165. package/dist/activities/execute-deep-agent/post-stream.d.ts +23 -0
  166. package/dist/activities/execute-deep-agent/post-stream.js +71 -0
  167. package/dist/activities/execute-deep-agent/post-stream.js.map +1 -0
  168. package/dist/activities/execute-deep-agent/prompt-builder.d.ts +27 -0
  169. package/dist/activities/execute-deep-agent/prompt-builder.js +200 -0
  170. package/dist/activities/execute-deep-agent/prompt-builder.js.map +1 -0
  171. package/dist/activities/execute-deep-agent/setup.d.ts +55 -0
  172. package/dist/activities/execute-deep-agent/setup.js +411 -0
  173. package/dist/activities/execute-deep-agent/setup.js.map +1 -0
  174. package/dist/activities/execute-deep-agent/status-builder-shared.d.ts +39 -0
  175. package/dist/activities/execute-deep-agent/status-builder-shared.js +120 -0
  176. package/dist/activities/execute-deep-agent/status-builder-shared.js.map +1 -0
  177. package/dist/activities/execute-deep-agent/status-builder.d.ts +81 -0
  178. package/dist/activities/execute-deep-agent/status-builder.js +312 -0
  179. package/dist/activities/execute-deep-agent/status-builder.js.map +1 -0
  180. package/dist/activities/execute-deep-agent/streaming-scheduler.d.ts +60 -0
  181. package/dist/activities/execute-deep-agent/streaming-scheduler.js +114 -0
  182. package/dist/activities/execute-deep-agent/streaming-scheduler.js.map +1 -0
  183. package/dist/activities/execute-deep-agent/streaming-side-effects.d.ts +22 -0
  184. package/dist/activities/execute-deep-agent/streaming-side-effects.js +83 -0
  185. package/dist/activities/execute-deep-agent/streaming-side-effects.js.map +1 -0
  186. package/dist/activities/execute-deep-agent/streaming-terminal.d.ts +12 -0
  187. package/dist/activities/execute-deep-agent/streaming-terminal.js +71 -0
  188. package/dist/activities/execute-deep-agent/streaming-terminal.js.map +1 -0
  189. package/dist/activities/execute-deep-agent/streaming-v3.d.ts +13 -0
  190. package/dist/activities/execute-deep-agent/streaming-v3.js +170 -0
  191. package/dist/activities/execute-deep-agent/streaming-v3.js.map +1 -0
  192. package/dist/activities/execute-deep-agent/streaming.d.ts +66 -0
  193. package/dist/activities/execute-deep-agent/streaming.js +169 -0
  194. package/dist/activities/execute-deep-agent/streaming.js.map +1 -0
  195. package/dist/activities/execute-deep-agent/subagent-tracker.d.ts +90 -0
  196. package/dist/activities/execute-deep-agent/subagent-tracker.js +364 -0
  197. package/dist/activities/execute-deep-agent/subagent-tracker.js.map +1 -0
  198. package/dist/activities/execute-deep-agent/subagent-transformer.d.ts +150 -0
  199. package/dist/activities/execute-deep-agent/subagent-transformer.js +450 -0
  200. package/dist/activities/execute-deep-agent/subagent-transformer.js.map +1 -0
  201. package/dist/activities/execute-deep-agent/subagent-wiring.d.ts +28 -0
  202. package/dist/activities/execute-deep-agent/subagent-wiring.js +40 -0
  203. package/dist/activities/execute-deep-agent/subagent-wiring.js.map +1 -0
  204. package/dist/activities/execute-deep-agent/v3-event-recorder.d.ts +31 -0
  205. package/dist/activities/execute-deep-agent/v3-event-recorder.js +71 -0
  206. package/dist/activities/execute-deep-agent/v3-event-recorder.js.map +1 -0
  207. package/dist/activities/execute-deep-agent/v3-events.d.ts +102 -0
  208. package/dist/activities/execute-deep-agent/v3-events.js +35 -0
  209. package/dist/activities/execute-deep-agent/v3-events.js.map +1 -0
  210. package/dist/activities/execute-deep-agent/v3-protocol-normalizer.d.ts +15 -0
  211. package/dist/activities/execute-deep-agent/v3-protocol-normalizer.js +235 -0
  212. package/dist/activities/execute-deep-agent/v3-protocol-normalizer.js.map +1 -0
  213. package/dist/activities/execute-deep-agent/v3-status-builder.d.ts +68 -0
  214. package/dist/activities/execute-deep-agent/v3-status-builder.js +394 -0
  215. package/dist/activities/execute-deep-agent/v3-status-builder.js.map +1 -0
  216. package/dist/activities/execute-deep-agent/writeback-coordinator.d.ts +71 -0
  217. package/dist/activities/execute-deep-agent/writeback-coordinator.js +295 -0
  218. package/dist/activities/execute-deep-agent/writeback-coordinator.js.map +1 -0
  219. package/dist/activities/hydrate-workflow-execution.d.ts +32 -0
  220. package/dist/activities/hydrate-workflow-execution.js +212 -0
  221. package/dist/activities/hydrate-workflow-execution.js.map +1 -0
  222. package/dist/activities/notification.d.ts +19 -0
  223. package/dist/activities/notification.js +47 -0
  224. package/dist/activities/notification.js.map +1 -0
  225. package/dist/activities/promote-task-output.d.ts +38 -0
  226. package/dist/activities/promote-task-output.js +90 -0
  227. package/dist/activities/promote-task-output.js.map +1 -0
  228. package/dist/activities/run-command.d.ts +15 -0
  229. package/dist/activities/run-command.js +123 -0
  230. package/dist/activities/run-command.js.map +1 -0
  231. package/dist/activities/workflow-event-activities.d.ts +48 -0
  232. package/dist/activities/workflow-event-activities.js +415 -0
  233. package/dist/activities/workflow-event-activities.js.map +1 -0
  234. package/dist/bootstrap.d.ts +80 -0
  235. package/dist/bootstrap.js +114 -0
  236. package/dist/bootstrap.js.map +1 -0
  237. package/dist/budget/index.d.ts +1 -0
  238. package/dist/budget/index.js +2 -0
  239. package/dist/budget/index.js.map +1 -0
  240. package/dist/budget/tracker.d.ts +52 -0
  241. package/dist/budget/tracker.js +123 -0
  242. package/dist/budget/tracker.js.map +1 -0
  243. package/dist/claimcheck/compressor.d.ts +2 -0
  244. package/dist/claimcheck/compressor.js +8 -0
  245. package/dist/claimcheck/compressor.js.map +1 -0
  246. package/dist/claimcheck/config.d.ts +7 -0
  247. package/dist/claimcheck/config.js +10 -0
  248. package/dist/claimcheck/config.js.map +1 -0
  249. package/dist/claimcheck/index.d.ts +3 -0
  250. package/dist/claimcheck/index.js +4 -0
  251. package/dist/claimcheck/index.js.map +1 -0
  252. package/dist/claimcheck/payload-codec.d.ts +23 -0
  253. package/dist/claimcheck/payload-codec.js +81 -0
  254. package/dist/claimcheck/payload-codec.js.map +1 -0
  255. package/dist/client/server-contracts.d.ts +52 -0
  256. package/dist/client/server-contracts.js +72 -0
  257. package/dist/client/server-contracts.js.map +1 -0
  258. package/dist/client/stigmer-client.d.ts +131 -0
  259. package/dist/client/stigmer-client.js +239 -0
  260. package/dist/client/stigmer-client.js.map +1 -0
  261. package/dist/config.d.ts +64 -0
  262. package/dist/config.js +123 -0
  263. package/dist/config.js.map +1 -0
  264. package/dist/idle-watchdog.d.ts +11 -0
  265. package/dist/idle-watchdog.js +24 -0
  266. package/dist/idle-watchdog.js.map +1 -0
  267. package/dist/index.d.ts +43 -0
  268. package/dist/index.js +42 -0
  269. package/dist/index.js.map +1 -0
  270. package/dist/interceptors/workflow-metrics-sink.d.ts +11 -0
  271. package/dist/interceptors/workflow-metrics-sink.js +51 -0
  272. package/dist/interceptors/workflow-metrics-sink.js.map +1 -0
  273. package/dist/ipc-protocol-fixtures.d.ts +32 -0
  274. package/dist/ipc-protocol-fixtures.js +69 -0
  275. package/dist/ipc-protocol-fixtures.js.map +1 -0
  276. package/dist/ipc-protocol.d.ts +60 -0
  277. package/dist/ipc-protocol.js +19 -0
  278. package/dist/ipc-protocol.js.map +1 -0
  279. package/dist/main.d.ts +19 -0
  280. package/dist/main.js +292 -0
  281. package/dist/main.js.map +1 -0
  282. package/dist/middleware/approval-gate.d.ts +30 -0
  283. package/dist/middleware/approval-gate.js +125 -0
  284. package/dist/middleware/approval-gate.js.map +1 -0
  285. package/dist/middleware/cost-cap.d.ts +22 -0
  286. package/dist/middleware/cost-cap.js +159 -0
  287. package/dist/middleware/cost-cap.js.map +1 -0
  288. package/dist/middleware/error-hints.d.ts +27 -0
  289. package/dist/middleware/error-hints.js +116 -0
  290. package/dist/middleware/error-hints.js.map +1 -0
  291. package/dist/middleware/execution-budget.d.ts +20 -0
  292. package/dist/middleware/execution-budget.js +151 -0
  293. package/dist/middleware/execution-budget.js.map +1 -0
  294. package/dist/middleware/graceful-stop.d.ts +17 -0
  295. package/dist/middleware/graceful-stop.js +63 -0
  296. package/dist/middleware/graceful-stop.js.map +1 -0
  297. package/dist/middleware/index.d.ts +27 -0
  298. package/dist/middleware/index.js +45 -0
  299. package/dist/middleware/index.js.map +1 -0
  300. package/dist/middleware/loop-detection.d.ts +14 -0
  301. package/dist/middleware/loop-detection.js +156 -0
  302. package/dist/middleware/loop-detection.js.map +1 -0
  303. package/dist/middleware/otel-spans.d.ts +11 -0
  304. package/dist/middleware/otel-spans.js +177 -0
  305. package/dist/middleware/otel-spans.js.map +1 -0
  306. package/dist/middleware/think-tool.d.ts +23 -0
  307. package/dist/middleware/think-tool.js +33 -0
  308. package/dist/middleware/think-tool.js.map +1 -0
  309. package/dist/middleware/tool-truncation.d.ts +16 -0
  310. package/dist/middleware/tool-truncation.js +67 -0
  311. package/dist/middleware/tool-truncation.js.map +1 -0
  312. package/dist/middleware/types.d.ts +100 -0
  313. package/dist/middleware/types.js +9 -0
  314. package/dist/middleware/types.js.map +1 -0
  315. package/dist/notification/index.d.ts +2 -0
  316. package/dist/notification/index.js +6 -0
  317. package/dist/notification/index.js.map +1 -0
  318. package/dist/notification/provider.d.ts +29 -0
  319. package/dist/notification/provider.js +25 -0
  320. package/dist/notification/provider.js.map +1 -0
  321. package/dist/notification/webhook.d.ts +13 -0
  322. package/dist/notification/webhook.js +55 -0
  323. package/dist/notification/webhook.js.map +1 -0
  324. package/dist/otel-metrics.d.ts +21 -0
  325. package/dist/otel-metrics.js +54 -0
  326. package/dist/otel-metrics.js.map +1 -0
  327. package/dist/otel.d.ts +57 -0
  328. package/dist/otel.js +164 -0
  329. package/dist/otel.js.map +1 -0
  330. package/dist/runner-manager.d.ts +113 -0
  331. package/dist/runner-manager.js +412 -0
  332. package/dist/runner-manager.js.map +1 -0
  333. package/dist/runner-token-coordinator.d.ts +56 -0
  334. package/dist/runner-token-coordinator.js +84 -0
  335. package/dist/runner-token-coordinator.js.map +1 -0
  336. package/dist/runner.d.ts +104 -0
  337. package/dist/runner.js +234 -0
  338. package/dist/runner.js.map +1 -0
  339. package/dist/shared/approval-policy.d.ts +45 -0
  340. package/dist/shared/approval-policy.js +122 -0
  341. package/dist/shared/approval-policy.js.map +1 -0
  342. package/dist/shared/artifact-storage.d.ts +44 -0
  343. package/dist/shared/artifact-storage.js +162 -0
  344. package/dist/shared/artifact-storage.js.map +1 -0
  345. package/dist/shared/checkpointer/factory.d.ts +28 -0
  346. package/dist/shared/checkpointer/factory.js +55 -0
  347. package/dist/shared/checkpointer/factory.js.map +1 -0
  348. package/dist/shared/checkpointer/http-saver.d.ts +34 -0
  349. package/dist/shared/checkpointer/http-saver.js +274 -0
  350. package/dist/shared/checkpointer/http-saver.js.map +1 -0
  351. package/dist/shared/checkpointer/types.d.ts +12 -0
  352. package/dist/shared/checkpointer/types.js +2 -0
  353. package/dist/shared/checkpointer/types.js.map +1 -0
  354. package/dist/shared/connect-backfill.d.ts +58 -0
  355. package/dist/shared/connect-backfill.js +119 -0
  356. package/dist/shared/connect-backfill.js.map +1 -0
  357. package/dist/shared/extract-json.d.ts +26 -0
  358. package/dist/shared/extract-json.js +140 -0
  359. package/dist/shared/extract-json.js.map +1 -0
  360. package/dist/shared/grpc-retry.d.ts +35 -0
  361. package/dist/shared/grpc-retry.js +78 -0
  362. package/dist/shared/grpc-retry.js.map +1 -0
  363. package/dist/shared/heartbeat.d.ts +22 -0
  364. package/dist/shared/heartbeat.js +55 -0
  365. package/dist/shared/heartbeat.js.map +1 -0
  366. package/dist/shared/json-schema-to-zod.d.ts +13 -0
  367. package/dist/shared/json-schema-to-zod.js +49 -0
  368. package/dist/shared/json-schema-to-zod.js.map +1 -0
  369. package/dist/shared/llm-proxy.d.ts +57 -0
  370. package/dist/shared/llm-proxy.js +116 -0
  371. package/dist/shared/llm-proxy.js.map +1 -0
  372. package/dist/shared/mcp-manager.d.ts +47 -0
  373. package/dist/shared/mcp-manager.js +118 -0
  374. package/dist/shared/mcp-manager.js.map +1 -0
  375. package/dist/shared/mcp-resolver.d.ts +41 -0
  376. package/dist/shared/mcp-resolver.js +96 -0
  377. package/dist/shared/mcp-resolver.js.map +1 -0
  378. package/dist/shared/model-pricing-data.d.ts +18 -0
  379. package/dist/shared/model-pricing-data.js +78 -0
  380. package/dist/shared/model-pricing-data.js.map +1 -0
  381. package/dist/shared/model-pricing.d.ts +24 -0
  382. package/dist/shared/model-pricing.js +58 -0
  383. package/dist/shared/model-pricing.js.map +1 -0
  384. package/dist/shared/model-registry.d.ts +55 -0
  385. package/dist/shared/model-registry.js +178 -0
  386. package/dist/shared/model-registry.js.map +1 -0
  387. package/dist/shared/placeholder-resolver.d.ts +27 -0
  388. package/dist/shared/placeholder-resolver.js +75 -0
  389. package/dist/shared/placeholder-resolver.js.map +1 -0
  390. package/dist/shared/plan-artifact.d.ts +56 -0
  391. package/dist/shared/plan-artifact.js +98 -0
  392. package/dist/shared/plan-artifact.js.map +1 -0
  393. package/dist/shared/skill-relevance.d.ts +65 -0
  394. package/dist/shared/skill-relevance.js +175 -0
  395. package/dist/shared/skill-relevance.js.map +1 -0
  396. package/dist/shared/skill-writer.d.ts +73 -0
  397. package/dist/shared/skill-writer.js +230 -0
  398. package/dist/shared/skill-writer.js.map +1 -0
  399. package/dist/shared/status.d.ts +37 -0
  400. package/dist/shared/status.js +73 -0
  401. package/dist/shared/status.js.map +1 -0
  402. package/dist/shared/subagent-gate.d.ts +41 -0
  403. package/dist/shared/subagent-gate.js +93 -0
  404. package/dist/shared/subagent-gate.js.map +1 -0
  405. package/dist/shared/tool-kind.d.ts +22 -0
  406. package/dist/shared/tool-kind.js +79 -0
  407. package/dist/shared/tool-kind.js.map +1 -0
  408. package/dist/shared/workspace/file-tree.d.ts +13 -0
  409. package/dist/shared/workspace/file-tree.js +101 -0
  410. package/dist/shared/workspace/file-tree.js.map +1 -0
  411. package/dist/shared/workspace/local-backend.d.ts +41 -0
  412. package/dist/shared/workspace/local-backend.js +113 -0
  413. package/dist/shared/workspace/local-backend.js.map +1 -0
  414. package/dist/shared/workspace/platform-dir.d.ts +25 -0
  415. package/dist/shared/workspace/platform-dir.js +36 -0
  416. package/dist/shared/workspace/platform-dir.js.map +1 -0
  417. package/dist/shared/workspace/platform-mount.d.ts +95 -0
  418. package/dist/shared/workspace/platform-mount.js +157 -0
  419. package/dist/shared/workspace/platform-mount.js.map +1 -0
  420. package/dist/shared/workspace/provisioner.d.ts +47 -0
  421. package/dist/shared/workspace/provisioner.js +84 -0
  422. package/dist/shared/workspace/provisioner.js.map +1 -0
  423. package/dist/shared/workspace/sources/empty.d.ts +8 -0
  424. package/dist/shared/workspace/sources/empty.js +18 -0
  425. package/dist/shared/workspace/sources/empty.js.map +1 -0
  426. package/dist/shared/workspace/sources/git.d.ts +22 -0
  427. package/dist/shared/workspace/sources/git.js +207 -0
  428. package/dist/shared/workspace/sources/git.js.map +1 -0
  429. package/dist/shared/workspace/sources/local-path.d.ts +17 -0
  430. package/dist/shared/workspace/sources/local-path.js +57 -0
  431. package/dist/shared/workspace/sources/local-path.js.map +1 -0
  432. package/dist/shared/workspace/types.d.ts +58 -0
  433. package/dist/shared/workspace/types.js +25 -0
  434. package/dist/shared/workspace/types.js.map +1 -0
  435. package/dist/shared/zip-extract.d.ts +30 -0
  436. package/dist/shared/zip-extract.js +150 -0
  437. package/dist/shared/zip-extract.js.map +1 -0
  438. package/dist/worker.d.ts +27 -0
  439. package/dist/worker.js +65 -0
  440. package/dist/worker.js.map +1 -0
  441. package/dist/workflow-engine/clone.d.ts +11 -0
  442. package/dist/workflow-engine/clone.js +21 -0
  443. package/dist/workflow-engine/clone.js.map +1 -0
  444. package/dist/workflow-engine/do-executor.d.ts +27 -0
  445. package/dist/workflow-engine/do-executor.js +418 -0
  446. package/dist/workflow-engine/do-executor.js.map +1 -0
  447. package/dist/workflow-engine/duration.d.ts +12 -0
  448. package/dist/workflow-engine/duration.js +25 -0
  449. package/dist/workflow-engine/duration.js.map +1 -0
  450. package/dist/workflow-engine/error-utils.d.ts +42 -0
  451. package/dist/workflow-engine/error-utils.js +77 -0
  452. package/dist/workflow-engine/error-utils.js.map +1 -0
  453. package/dist/workflow-engine/errors.d.ts +46 -0
  454. package/dist/workflow-engine/errors.js +105 -0
  455. package/dist/workflow-engine/errors.js.map +1 -0
  456. package/dist/workflow-engine/expression-utils.d.ts +60 -0
  457. package/dist/workflow-engine/expression-utils.js +108 -0
  458. package/dist/workflow-engine/expression-utils.js.map +1 -0
  459. package/dist/workflow-engine/expression.d.ts +132 -0
  460. package/dist/workflow-engine/expression.js +366 -0
  461. package/dist/workflow-engine/expression.js.map +1 -0
  462. package/dist/workflow-engine/loader.d.ts +23 -0
  463. package/dist/workflow-engine/loader.js +429 -0
  464. package/dist/workflow-engine/loader.js.map +1 -0
  465. package/dist/workflow-engine/recovery.d.ts +53 -0
  466. package/dist/workflow-engine/recovery.js +46 -0
  467. package/dist/workflow-engine/recovery.js.map +1 -0
  468. package/dist/workflow-engine/resolve.d.ts +83 -0
  469. package/dist/workflow-engine/resolve.js +257 -0
  470. package/dist/workflow-engine/resolve.js.map +1 -0
  471. package/dist/workflow-engine/retry.d.ts +30 -0
  472. package/dist/workflow-engine/retry.js +97 -0
  473. package/dist/workflow-engine/retry.js.map +1 -0
  474. package/dist/workflow-engine/state.d.ts +26 -0
  475. package/dist/workflow-engine/state.js +49 -0
  476. package/dist/workflow-engine/state.js.map +1 -0
  477. package/dist/workflow-engine/task-factory.d.ts +20 -0
  478. package/dist/workflow-engine/task-factory.js +133 -0
  479. package/dist/workflow-engine/task-factory.js.map +1 -0
  480. package/dist/workflow-engine/task-status-accumulator.d.ts +59 -0
  481. package/dist/workflow-engine/task-status-accumulator.js +164 -0
  482. package/dist/workflow-engine/task-status-accumulator.js.map +1 -0
  483. package/dist/workflow-engine/tasks/call-agent-output.d.ts +26 -0
  484. package/dist/workflow-engine/tasks/call-agent-output.js +109 -0
  485. package/dist/workflow-engine/tasks/call-agent-output.js.map +1 -0
  486. package/dist/workflow-engine/tasks/call-agent.d.ts +31 -0
  487. package/dist/workflow-engine/tasks/call-agent.js +161 -0
  488. package/dist/workflow-engine/tasks/call-agent.js.map +1 -0
  489. package/dist/workflow-engine/tasks/call-function.d.ts +19 -0
  490. package/dist/workflow-engine/tasks/call-function.js +64 -0
  491. package/dist/workflow-engine/tasks/call-function.js.map +1 -0
  492. package/dist/workflow-engine/tasks/call-grpc.d.ts +15 -0
  493. package/dist/workflow-engine/tasks/call-grpc.js +27 -0
  494. package/dist/workflow-engine/tasks/call-grpc.js.map +1 -0
  495. package/dist/workflow-engine/tasks/call-http.d.ts +19 -0
  496. package/dist/workflow-engine/tasks/call-http.js +31 -0
  497. package/dist/workflow-engine/tasks/call-http.js.map +1 -0
  498. package/dist/workflow-engine/tasks/for.d.ts +39 -0
  499. package/dist/workflow-engine/tasks/for.js +154 -0
  500. package/dist/workflow-engine/tasks/for.js.map +1 -0
  501. package/dist/workflow-engine/tasks/fork.d.ts +42 -0
  502. package/dist/workflow-engine/tasks/fork.js +142 -0
  503. package/dist/workflow-engine/tasks/fork.js.map +1 -0
  504. package/dist/workflow-engine/tasks/human-input.d.ts +33 -0
  505. package/dist/workflow-engine/tasks/human-input.js +109 -0
  506. package/dist/workflow-engine/tasks/human-input.js.map +1 -0
  507. package/dist/workflow-engine/tasks/listen.d.ts +34 -0
  508. package/dist/workflow-engine/tasks/listen.js +119 -0
  509. package/dist/workflow-engine/tasks/listen.js.map +1 -0
  510. package/dist/workflow-engine/tasks/raise.d.ts +18 -0
  511. package/dist/workflow-engine/tasks/raise.js +60 -0
  512. package/dist/workflow-engine/tasks/raise.js.map +1 -0
  513. package/dist/workflow-engine/tasks/run.d.ts +39 -0
  514. package/dist/workflow-engine/tasks/run.js +114 -0
  515. package/dist/workflow-engine/tasks/run.js.map +1 -0
  516. package/dist/workflow-engine/tasks/set.d.ts +15 -0
  517. package/dist/workflow-engine/tasks/set.js +31 -0
  518. package/dist/workflow-engine/tasks/set.js.map +1 -0
  519. package/dist/workflow-engine/tasks/switch.d.ts +25 -0
  520. package/dist/workflow-engine/tasks/switch.js +76 -0
  521. package/dist/workflow-engine/tasks/switch.js.map +1 -0
  522. package/dist/workflow-engine/tasks/try.d.ts +49 -0
  523. package/dist/workflow-engine/tasks/try.js +189 -0
  524. package/dist/workflow-engine/tasks/try.js.map +1 -0
  525. package/dist/workflow-engine/tasks/wait.d.ts +24 -0
  526. package/dist/workflow-engine/tasks/wait.js +39 -0
  527. package/dist/workflow-engine/tasks/wait.js.map +1 -0
  528. package/dist/workflow-engine/types.d.ts +682 -0
  529. package/dist/workflow-engine/types.js +47 -0
  530. package/dist/workflow-engine/types.js.map +1 -0
  531. package/dist/workflows/call-agent-orchestrator.d.ts +31 -0
  532. package/dist/workflows/call-agent-orchestrator.js +214 -0
  533. package/dist/workflows/call-agent-orchestrator.js.map +1 -0
  534. package/dist/workflows/connect-mcp-server.d.ts +20 -0
  535. package/dist/workflows/connect-mcp-server.js +113 -0
  536. package/dist/workflows/connect-mcp-server.js.map +1 -0
  537. package/dist/workflows/engine-core.d.ts +36 -0
  538. package/dist/workflows/engine-core.js +272 -0
  539. package/dist/workflows/engine-core.js.map +1 -0
  540. package/dist/workflows/execute-from-execution.d.ts +32 -0
  541. package/dist/workflows/execute-from-execution.js +71 -0
  542. package/dist/workflows/execute-from-execution.js.map +1 -0
  543. package/dist/workflows/execute-serverless-workflow.d.ts +32 -0
  544. package/dist/workflows/execute-serverless-workflow.js +36 -0
  545. package/dist/workflows/execute-serverless-workflow.js.map +1 -0
  546. package/dist/workflows/human-input-orchestrator.d.ts +19 -0
  547. package/dist/workflows/human-input-orchestrator.js +59 -0
  548. package/dist/workflows/human-input-orchestrator.js.map +1 -0
  549. package/dist/workflows/index.d.ts +22 -0
  550. package/dist/workflows/index.js +23 -0
  551. package/dist/workflows/index.js.map +1 -0
  552. package/dist/workflows/listen-orchestrator.d.ts +29 -0
  553. package/dist/workflows/listen-orchestrator.js +143 -0
  554. package/dist/workflows/listen-orchestrator.js.map +1 -0
  555. package/dist/workflows/metrics-sink.d.ts +33 -0
  556. package/dist/workflows/metrics-sink.js +21 -0
  557. package/dist/workflows/metrics-sink.js.map +1 -0
  558. package/dist/workflows/run-orchestrator.d.ts +15 -0
  559. package/dist/workflows/run-orchestrator.js +27 -0
  560. package/dist/workflows/run-orchestrator.js.map +1 -0
  561. package/dist/workflows/types.d.ts +46 -0
  562. package/dist/workflows/types.js +15 -0
  563. package/dist/workflows/types.js.map +1 -0
  564. package/dist/workflows/workflow-signals.d.ts +29 -0
  565. package/dist/workflows/workflow-signals.js +46 -0
  566. package/dist/workflows/workflow-signals.js.map +1 -0
  567. package/package.json +108 -0
  568. package/src/__test-utils__/__tests__/replay-fetch.test.ts +155 -0
  569. package/src/__test-utils__/mock-client.ts +44 -0
  570. package/src/__test-utils__/mock-workspace.ts +28 -0
  571. package/src/__test-utils__/proto-helpers.ts +41 -0
  572. package/src/__test-utils__/replay-fetch.ts +523 -0
  573. package/src/__tests__/bootstrap.test.ts +221 -0
  574. package/src/__tests__/claimcheck-codec.test.ts +257 -0
  575. package/src/__tests__/config.test.ts +150 -0
  576. package/src/__tests__/deterministic-eval-llm.test.ts +269 -0
  577. package/src/__tests__/deterministic-mcp-hitl.test.ts +405 -0
  578. package/src/__tests__/golden-e2e.test.ts +250 -0
  579. package/src/__tests__/ipc-protocol-fixtures.test.ts +66 -0
  580. package/src/__tests__/ipc-protocol.test.ts +32 -0
  581. package/src/__tests__/otel-metrics.test.ts +40 -0
  582. package/src/__tests__/runner-manager.test.ts +55 -0
  583. package/src/__tests__/runner-token-coordinator.test.ts +166 -0
  584. package/src/__tests__/runner.test.ts +182 -0
  585. package/src/__tests__/worker.test.ts +18 -0
  586. package/src/activities/__tests__/call-agent-contracts.test.ts +483 -0
  587. package/src/activities/__tests__/call-agent.test.ts +263 -0
  588. package/src/activities/__tests__/call-function.test.ts +47 -0
  589. package/src/activities/__tests__/call-grpc.test.ts +39 -0
  590. package/src/activities/__tests__/call-http.test.ts +288 -0
  591. package/src/activities/__tests__/call-llm.test.ts +301 -0
  592. package/src/activities/__tests__/classify-tool-approvals.test.ts +430 -0
  593. package/src/activities/__tests__/discover-mcp-server.test.ts +641 -0
  594. package/src/activities/__tests__/ensure-thread.test.ts +96 -0
  595. package/src/activities/__tests__/error-classifier.test.ts +372 -0
  596. package/src/activities/__tests__/evaluate-expressions.test.ts +114 -0
  597. package/src/activities/__tests__/hydrate-workflow-execution.test.ts +321 -0
  598. package/src/activities/__tests__/notification.test.ts +151 -0
  599. package/src/activities/__tests__/workflow-event-activities.test.ts +664 -0
  600. package/src/activities/call-agent-status.ts +130 -0
  601. package/src/activities/call-agent.ts +302 -0
  602. package/src/activities/call-eval.ts +333 -0
  603. package/src/activities/call-function.ts +73 -0
  604. package/src/activities/call-grpc.ts +140 -0
  605. package/src/activities/call-http.ts +185 -0
  606. package/src/activities/call-llm.ts +379 -0
  607. package/src/activities/call-transform.ts +54 -0
  608. package/src/activities/call-validate.ts +223 -0
  609. package/src/activities/classify-tool-approvals.ts +319 -0
  610. package/src/activities/discover-mcp-server.ts +411 -0
  611. package/src/activities/emit-event.ts +195 -0
  612. package/src/activities/ensure-thread.ts +45 -0
  613. package/src/activities/evaluate-expressions.ts +47 -0
  614. package/src/activities/execute-cursor/__tests__/approval-gate.test.ts +188 -0
  615. package/src/activities/execute-cursor/__tests__/build-prompt.test.ts +111 -0
  616. package/src/activities/execute-cursor/__tests__/cursor-baseurl-routing.test.ts +86 -0
  617. package/src/activities/execute-cursor/__tests__/cursor-fetch-interceptor-bypass.test.ts +64 -0
  618. package/src/activities/execute-cursor/__tests__/cursor-mode.test.ts +95 -0
  619. package/src/activities/execute-cursor/__tests__/cursor-sdk-auth-smoke.test.ts +90 -0
  620. package/src/activities/execute-cursor/__tests__/delta-enricher.test.ts +242 -0
  621. package/src/activities/execute-cursor/__tests__/error-classifier-introspection.test.ts +156 -0
  622. package/src/activities/execute-cursor/__tests__/fetch-interceptor.test.ts +211 -0
  623. package/src/activities/execute-cursor/__tests__/hitl-ledger.test.ts +298 -0
  624. package/src/activities/execute-cursor/__tests__/http2-interceptor.test.ts +360 -0
  625. package/src/activities/execute-cursor/__tests__/message-translator.test.ts +657 -0
  626. package/src/activities/execute-cursor/__tests__/model-pricing.test.ts +92 -0
  627. package/src/activities/execute-cursor/__tests__/prompt-builder-delegation.test.ts +101 -0
  628. package/src/activities/execute-cursor/__tests__/runner-error-regressions.test.ts +144 -0
  629. package/src/activities/execute-cursor/__tests__/session-lifecycle.test.ts +65 -0
  630. package/src/activities/execute-cursor/__tests__/skill-resolver.test.ts +265 -0
  631. package/src/activities/execute-cursor/__tests__/subagent-config.test.ts +107 -0
  632. package/src/activities/execute-cursor/__tests__/todo-tracker.test.ts +498 -0
  633. package/src/activities/execute-cursor/__tests__/workspace-provision.test.ts +283 -0
  634. package/src/activities/execute-cursor/approval-policy.ts +224 -0
  635. package/src/activities/execute-cursor/approval-state.ts +311 -0
  636. package/src/activities/execute-cursor/attachment-resolver.ts +78 -0
  637. package/src/activities/execute-cursor/blueprint-resolver.ts +234 -0
  638. package/src/activities/execute-cursor/connect-backfill.ts +49 -0
  639. package/src/activities/execute-cursor/cursor-event-recorder.ts +83 -0
  640. package/src/activities/execute-cursor/cursor-mode.ts +42 -0
  641. package/src/activities/execute-cursor/delta-enricher.ts +307 -0
  642. package/src/activities/execute-cursor/env-resolver.ts +64 -0
  643. package/src/activities/execute-cursor/error-classifier.ts +247 -0
  644. package/src/activities/execute-cursor/fetch-interceptor.ts +382 -0
  645. package/src/activities/execute-cursor/hitl-diagnostics.ts +82 -0
  646. package/src/activities/execute-cursor/hook-script.ts +159 -0
  647. package/src/activities/execute-cursor/http2-interceptor.ts +253 -0
  648. package/src/activities/execute-cursor/index.ts +1439 -0
  649. package/src/activities/execute-cursor/mcp-config.ts +66 -0
  650. package/src/activities/execute-cursor/mcp-resolver.ts +271 -0
  651. package/src/activities/execute-cursor/message-translator.ts +896 -0
  652. package/src/activities/execute-cursor/model-pricing-data.ts +167 -0
  653. package/src/activities/execute-cursor/model-pricing.ts +167 -0
  654. package/src/activities/execute-cursor/placeholder-resolver.ts +109 -0
  655. package/src/activities/execute-cursor/prompt-builder.ts +349 -0
  656. package/src/activities/execute-cursor/rejection-capture.ts +100 -0
  657. package/src/activities/execute-cursor/session-lifecycle.ts +429 -0
  658. package/src/activities/execute-cursor/skill-resolver.ts +176 -0
  659. package/src/activities/execute-cursor/subagent-config.ts +62 -0
  660. package/src/activities/execute-cursor/todo-tracker.ts +133 -0
  661. package/src/activities/execute-cursor/usage-accumulator.ts +126 -0
  662. package/src/activities/execute-cursor/workspace-provision.ts +55 -0
  663. package/src/activities/execute-cursor/workspace-setup.ts +75 -0
  664. package/src/activities/execute-deep-agent/__test-utils__/v3-event-fixtures.ts +281 -0
  665. package/src/activities/execute-deep-agent/__tests__/attachment-injector.test.ts +720 -0
  666. package/src/activities/execute-deep-agent/__tests__/auto-publish.test.ts +146 -0
  667. package/src/activities/execute-deep-agent/__tests__/environment.test.ts +103 -0
  668. package/src/activities/execute-deep-agent/__tests__/event-recorder.test.ts +150 -0
  669. package/src/activities/execute-deep-agent/__tests__/execution-state-extended.test.ts +150 -0
  670. package/src/activities/execute-deep-agent/__tests__/execution-state.test.ts +157 -0
  671. package/src/activities/execute-deep-agent/__tests__/hitl-integration.test.ts +223 -0
  672. package/src/activities/execute-deep-agent/__tests__/hitl.test.ts +244 -0
  673. package/src/activities/execute-deep-agent/__tests__/index.test.ts +91 -0
  674. package/src/activities/execute-deep-agent/__tests__/inline-publisher.test.ts +240 -0
  675. package/src/activities/execute-deep-agent/__tests__/post-stream.test.ts +112 -0
  676. package/src/activities/execute-deep-agent/__tests__/prompt-builder.test.ts +208 -0
  677. package/src/activities/execute-deep-agent/__tests__/status-builder.test.ts +1771 -0
  678. package/src/activities/execute-deep-agent/__tests__/streaming-scheduler.test.ts +199 -0
  679. package/src/activities/execute-deep-agent/__tests__/streaming-v3.test.ts +527 -0
  680. package/src/activities/execute-deep-agent/__tests__/streaming.test.ts +508 -0
  681. package/src/activities/execute-deep-agent/__tests__/subagent-tracker.test.ts +474 -0
  682. package/src/activities/execute-deep-agent/__tests__/subagent-transformer.test.ts +734 -0
  683. package/src/activities/execute-deep-agent/__tests__/subagent-wiring.test.ts +71 -0
  684. package/src/activities/execute-deep-agent/__tests__/summarization-verification.test.ts +323 -0
  685. package/src/activities/execute-deep-agent/__tests__/v3-event-recorder.test.ts +186 -0
  686. package/src/activities/execute-deep-agent/__tests__/v3-protocol-normalizer.test.ts +324 -0
  687. package/src/activities/execute-deep-agent/__tests__/v3-status-builder.test.ts +504 -0
  688. package/src/activities/execute-deep-agent/__tests__/writeback-coordinator.test.ts +399 -0
  689. package/src/activities/execute-deep-agent/attachment-injector.ts +470 -0
  690. package/src/activities/execute-deep-agent/auto-publish.ts +80 -0
  691. package/src/activities/execute-deep-agent/environment.ts +67 -0
  692. package/src/activities/execute-deep-agent/event-recorder.ts +95 -0
  693. package/src/activities/execute-deep-agent/execution-state.ts +87 -0
  694. package/src/activities/execute-deep-agent/execution-status-writer.ts +19 -0
  695. package/src/activities/execute-deep-agent/hitl.ts +221 -0
  696. package/src/activities/execute-deep-agent/index.ts +342 -0
  697. package/src/activities/execute-deep-agent/inline-publisher.ts +134 -0
  698. package/src/activities/execute-deep-agent/post-stream.ts +109 -0
  699. package/src/activities/execute-deep-agent/prompt-builder.ts +264 -0
  700. package/src/activities/execute-deep-agent/setup.ts +599 -0
  701. package/src/activities/execute-deep-agent/status-builder-shared.ts +136 -0
  702. package/src/activities/execute-deep-agent/status-builder.ts +412 -0
  703. package/src/activities/execute-deep-agent/streaming-scheduler.ts +159 -0
  704. package/src/activities/execute-deep-agent/streaming-side-effects.ts +89 -0
  705. package/src/activities/execute-deep-agent/streaming-terminal.ts +96 -0
  706. package/src/activities/execute-deep-agent/streaming-v3.ts +272 -0
  707. package/src/activities/execute-deep-agent/streaming.ts +303 -0
  708. package/src/activities/execute-deep-agent/subagent-tracker.ts +445 -0
  709. package/src/activities/execute-deep-agent/subagent-transformer.ts +648 -0
  710. package/src/activities/execute-deep-agent/subagent-wiring.ts +56 -0
  711. package/src/activities/execute-deep-agent/v3-event-recorder.ts +111 -0
  712. package/src/activities/execute-deep-agent/v3-events.ts +153 -0
  713. package/src/activities/execute-deep-agent/v3-protocol-normalizer.ts +264 -0
  714. package/src/activities/execute-deep-agent/v3-status-builder.ts +490 -0
  715. package/src/activities/execute-deep-agent/writeback-coordinator.ts +420 -0
  716. package/src/activities/hydrate-workflow-execution.ts +306 -0
  717. package/src/activities/notification.ts +71 -0
  718. package/src/activities/promote-task-output.ts +126 -0
  719. package/src/activities/run-command.ts +148 -0
  720. package/src/activities/workflow-event-activities.ts +481 -0
  721. package/src/bootstrap.ts +173 -0
  722. package/src/budget/__tests__/tracker.test.ts +293 -0
  723. package/src/budget/index.ts +9 -0
  724. package/src/budget/tracker.ts +171 -0
  725. package/src/claimcheck/compressor.ts +9 -0
  726. package/src/claimcheck/config.ts +20 -0
  727. package/src/claimcheck/index.ts +3 -0
  728. package/src/claimcheck/payload-codec.ts +107 -0
  729. package/src/client/__tests__/server-contracts.test.ts +149 -0
  730. package/src/client/__tests__/stigmer-client.test.ts +142 -0
  731. package/src/client/server-contracts.ts +125 -0
  732. package/src/client/stigmer-client.ts +339 -0
  733. package/src/config.ts +185 -0
  734. package/src/idle-watchdog.ts +28 -0
  735. package/src/index.ts +48 -0
  736. package/src/interceptors/workflow-metrics-sink.ts +56 -0
  737. package/src/ipc-protocol-fixtures.ts +117 -0
  738. package/src/ipc-protocol.ts +113 -0
  739. package/src/main.ts +324 -0
  740. package/src/middleware/__tests__/approval-gate.test.ts +231 -0
  741. package/src/middleware/__tests__/cost-cap.test.ts +192 -0
  742. package/src/middleware/__tests__/error-hints.test.ts +90 -0
  743. package/src/middleware/__tests__/execution-budget.test.ts +138 -0
  744. package/src/middleware/__tests__/graceful-stop.test.ts +105 -0
  745. package/src/middleware/__tests__/loop-detection.test.ts +137 -0
  746. package/src/middleware/__tests__/otel-spans.test.ts +89 -0
  747. package/src/middleware/__tests__/think-tool.test.ts +26 -0
  748. package/src/middleware/__tests__/tool-truncation.test.ts +112 -0
  749. package/src/middleware/approval-gate.ts +179 -0
  750. package/src/middleware/cost-cap.ts +213 -0
  751. package/src/middleware/error-hints.ts +136 -0
  752. package/src/middleware/execution-budget.ts +176 -0
  753. package/src/middleware/graceful-stop.ts +86 -0
  754. package/src/middleware/index.ts +70 -0
  755. package/src/middleware/loop-detection.ts +192 -0
  756. package/src/middleware/otel-spans.ts +205 -0
  757. package/src/middleware/think-tool.ts +38 -0
  758. package/src/middleware/tool-truncation.ts +94 -0
  759. package/src/middleware/types.ts +114 -0
  760. package/src/notification/__tests__/provider.test.ts +85 -0
  761. package/src/notification/__tests__/webhook.test.ts +127 -0
  762. package/src/notification/index.ts +15 -0
  763. package/src/notification/provider.ts +52 -0
  764. package/src/notification/webhook.ts +61 -0
  765. package/src/otel-metrics.ts +73 -0
  766. package/src/otel.ts +194 -0
  767. package/src/runner-manager.ts +652 -0
  768. package/src/runner-token-coordinator.ts +135 -0
  769. package/src/runner.ts +380 -0
  770. package/src/shared/__tests__/approval-policy.test.ts +256 -0
  771. package/src/shared/__tests__/artifact-storage-extended.test.ts +208 -0
  772. package/src/shared/__tests__/artifact-storage.test.ts +365 -0
  773. package/src/shared/__tests__/connect-backfill.test.ts +346 -0
  774. package/src/shared/__tests__/extract-json.test.ts +153 -0
  775. package/src/shared/__tests__/grpc-retry-extended.test.ts +176 -0
  776. package/src/shared/__tests__/grpc-retry.test.ts +172 -0
  777. package/src/shared/__tests__/json-schema-to-zod.test.ts +227 -0
  778. package/src/shared/__tests__/llm-proxy.test.ts +179 -0
  779. package/src/shared/__tests__/mcp-manager.test.ts +154 -0
  780. package/src/shared/__tests__/model-pricing.test.ts +85 -0
  781. package/src/shared/__tests__/model-registry.test.ts +197 -0
  782. package/src/shared/__tests__/placeholder-resolver.test.ts +210 -0
  783. package/src/shared/__tests__/plan-artifact.test.ts +142 -0
  784. package/src/shared/__tests__/skill-relevance.test.ts +292 -0
  785. package/src/shared/__tests__/skill-writer.test.ts +349 -0
  786. package/src/shared/__tests__/status.test.ts +142 -0
  787. package/src/shared/__tests__/subagent-gate.test.ts +112 -0
  788. package/src/shared/__tests__/tool-kind.test.ts +58 -0
  789. package/src/shared/__tests__/zip-extract.test.ts +204 -0
  790. package/src/shared/approval-policy.ts +146 -0
  791. package/src/shared/artifact-storage.ts +207 -0
  792. package/src/shared/checkpointer/__tests__/factory.test.ts +42 -0
  793. package/src/shared/checkpointer/__tests__/http-saver.test.ts +176 -0
  794. package/src/shared/checkpointer/factory.ts +73 -0
  795. package/src/shared/checkpointer/http-saver.ts +349 -0
  796. package/src/shared/checkpointer/types.ts +12 -0
  797. package/src/shared/connect-backfill.ts +162 -0
  798. package/src/shared/extract-json.ts +153 -0
  799. package/src/shared/grpc-retry.ts +113 -0
  800. package/src/shared/heartbeat.ts +70 -0
  801. package/src/shared/json-schema-to-zod.ts +53 -0
  802. package/src/shared/llm-proxy.ts +138 -0
  803. package/src/shared/mcp-manager.ts +150 -0
  804. package/src/shared/mcp-resolver.ts +150 -0
  805. package/src/shared/model-pricing-data.ts +109 -0
  806. package/src/shared/model-pricing.ts +81 -0
  807. package/src/shared/model-registry.ts +214 -0
  808. package/src/shared/placeholder-resolver.ts +102 -0
  809. package/src/shared/plan-artifact.ts +120 -0
  810. package/src/shared/skill-relevance.ts +222 -0
  811. package/src/shared/skill-writer.ts +300 -0
  812. package/src/shared/status.ts +94 -0
  813. package/src/shared/subagent-gate.ts +117 -0
  814. package/src/shared/tool-kind.ts +91 -0
  815. package/src/shared/workspace/__tests__/file-tree.test.ts +210 -0
  816. package/src/shared/workspace/__tests__/git-source.test.ts +423 -0
  817. package/src/shared/workspace/__tests__/local-backend-platform.test.ts +259 -0
  818. package/src/shared/workspace/__tests__/local-backend.test.ts +154 -0
  819. package/src/shared/workspace/__tests__/platform-mount.test.ts +378 -0
  820. package/src/shared/workspace/__tests__/provisioner.test.ts +145 -0
  821. package/src/shared/workspace/file-tree.ts +116 -0
  822. package/src/shared/workspace/local-backend.ts +140 -0
  823. package/src/shared/workspace/platform-dir.ts +38 -0
  824. package/src/shared/workspace/platform-mount.ts +190 -0
  825. package/src/shared/workspace/provisioner.ts +150 -0
  826. package/src/shared/workspace/sources/empty.ts +20 -0
  827. package/src/shared/workspace/sources/git.ts +285 -0
  828. package/src/shared/workspace/sources/local-path.ts +89 -0
  829. package/src/shared/workspace/types.ts +69 -0
  830. package/src/shared/zip-extract.ts +193 -0
  831. package/src/worker.ts +98 -0
  832. package/src/workflow-engine/__tests__/do-executor-recovery.test.ts +382 -0
  833. package/src/workflow-engine/__tests__/do-executor.test.ts +963 -0
  834. package/src/workflow-engine/__tests__/errors.test.ts +174 -0
  835. package/src/workflow-engine/__tests__/expression.test.ts +776 -0
  836. package/src/workflow-engine/__tests__/for.test.ts +575 -0
  837. package/src/workflow-engine/__tests__/fork.test.ts +838 -0
  838. package/src/workflow-engine/__tests__/golden-execution.test.ts +1085 -0
  839. package/src/workflow-engine/__tests__/jq-wasm-spike.test.ts +90 -0
  840. package/src/workflow-engine/__tests__/loader.test.ts +1393 -0
  841. package/src/workflow-engine/__tests__/pause-resume.test.ts +267 -0
  842. package/src/workflow-engine/__tests__/recovery.test.ts +115 -0
  843. package/src/workflow-engine/__tests__/resolve.test.ts +432 -0
  844. package/src/workflow-engine/__tests__/retry.test.ts +306 -0
  845. package/src/workflow-engine/__tests__/state.test.ts +174 -0
  846. package/src/workflow-engine/__tests__/task-status-accumulator.test.ts +373 -0
  847. package/src/workflow-engine/__tests__/tasks/call-agent-output.test.ts +120 -0
  848. package/src/workflow-engine/__tests__/tasks/call-agent.test.ts +816 -0
  849. package/src/workflow-engine/__tests__/tasks/call-function.test.ts +205 -0
  850. package/src/workflow-engine/__tests__/tasks/call-grpc.test.ts +133 -0
  851. package/src/workflow-engine/__tests__/tasks/call-http.test.ts +150 -0
  852. package/src/workflow-engine/__tests__/tasks/emit-event.test.ts +322 -0
  853. package/src/workflow-engine/__tests__/tasks/human-input.test.ts +416 -0
  854. package/src/workflow-engine/__tests__/tasks/listen.test.ts +422 -0
  855. package/src/workflow-engine/__tests__/tasks/raise.test.ts +166 -0
  856. package/src/workflow-engine/__tests__/tasks/run.test.ts +272 -0
  857. package/src/workflow-engine/__tests__/tasks/set.test.ts +127 -0
  858. package/src/workflow-engine/__tests__/tasks/switch.test.ts +277 -0
  859. package/src/workflow-engine/__tests__/tasks/try.test.ts +590 -0
  860. package/src/workflow-engine/__tests__/tasks/wait.test.ts +173 -0
  861. package/src/workflow-engine/clone.ts +18 -0
  862. package/src/workflow-engine/do-executor.ts +569 -0
  863. package/src/workflow-engine/duration.ts +22 -0
  864. package/src/workflow-engine/error-utils.ts +97 -0
  865. package/src/workflow-engine/errors.ts +130 -0
  866. package/src/workflow-engine/expression-utils.ts +129 -0
  867. package/src/workflow-engine/expression.ts +430 -0
  868. package/src/workflow-engine/loader.ts +524 -0
  869. package/src/workflow-engine/recovery.ts +80 -0
  870. package/src/workflow-engine/resolve.ts +342 -0
  871. package/src/workflow-engine/retry.ts +109 -0
  872. package/src/workflow-engine/state.ts +56 -0
  873. package/src/workflow-engine/task-factory.ts +160 -0
  874. package/src/workflow-engine/task-status-accumulator.ts +204 -0
  875. package/src/workflow-engine/tasks/call-agent-output.ts +132 -0
  876. package/src/workflow-engine/tasks/call-agent.ts +221 -0
  877. package/src/workflow-engine/tasks/call-function.ts +107 -0
  878. package/src/workflow-engine/tasks/call-grpc.ts +47 -0
  879. package/src/workflow-engine/tasks/call-http.ts +51 -0
  880. package/src/workflow-engine/tasks/for.ts +244 -0
  881. package/src/workflow-engine/tasks/fork.ts +228 -0
  882. package/src/workflow-engine/tasks/human-input.ts +147 -0
  883. package/src/workflow-engine/tasks/listen.ts +166 -0
  884. package/src/workflow-engine/tasks/raise.ts +81 -0
  885. package/src/workflow-engine/tasks/run.ts +142 -0
  886. package/src/workflow-engine/tasks/set.ts +47 -0
  887. package/src/workflow-engine/tasks/switch.ts +102 -0
  888. package/src/workflow-engine/tasks/try.ts +274 -0
  889. package/src/workflow-engine/tasks/wait.ts +53 -0
  890. package/src/workflow-engine/types.ts +911 -0
  891. package/src/workflows/__tests__/connect-mcp-server.test.ts +359 -0
  892. package/src/workflows/__tests__/execute-serverless-workflow.test.ts +277 -0
  893. package/src/workflows/call-agent-orchestrator.ts +283 -0
  894. package/src/workflows/connect-mcp-server.ts +152 -0
  895. package/src/workflows/engine-core.ts +406 -0
  896. package/src/workflows/execute-from-execution.ts +101 -0
  897. package/src/workflows/execute-serverless-workflow.ts +60 -0
  898. package/src/workflows/human-input-orchestrator.ts +76 -0
  899. package/src/workflows/index.ts +32 -0
  900. package/src/workflows/listen-orchestrator.ts +200 -0
  901. package/src/workflows/metrics-sink.ts +48 -0
  902. package/src/workflows/run-orchestrator.ts +34 -0
  903. package/src/workflows/types.ts +64 -0
  904. package/src/workflows/workflow-signals.ts +55 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"message-translator.js","sourceRoot":"","sources":["../../../src/activities/execute-cursor/message-translator.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,40 @@
1
+ /**
2
+ * Cursor model pricing data — fetched from the authenticated model registry API.
3
+ *
4
+ * On first access (or after the TTL expires), fetches the full model
5
+ * registry from the Stigmer Cloud API, filters to cursor-harness models,
6
+ * and caches the result in memory. Falls back to conservative default
7
+ * pricing if the API is unreachable.
8
+ *
9
+ * Environment variables:
10
+ * - STIGMER_CLOUD_API_URL: API base URL (defaults to https://api.stigmer.ai)
11
+ * - STIGMER_AUTH_TOKEN: Bearer token for authentication (required)
12
+ */
13
+ /** Per-million rates for a speed/mode variant (e.g. "fast") of a base model. */
14
+ export interface CursorVariantPricing {
15
+ readonly inputPricePerMillion: number;
16
+ readonly outputPricePerMillion: number;
17
+ readonly cacheWritePricePerMillion: number;
18
+ readonly cacheReadPricePerMillion: number;
19
+ }
20
+ export interface CursorModelPricing {
21
+ readonly model: string;
22
+ readonly displayName: string;
23
+ readonly costTier: string;
24
+ readonly inputPricePerMillion: number;
25
+ readonly outputPricePerMillion: number;
26
+ readonly cacheWritePricePerMillion: number;
27
+ readonly cacheReadPricePerMillion: number;
28
+ /** Speed-mode price overrides keyed by variant (e.g. "fast"); optional. */
29
+ readonly speedVariants?: Readonly<Record<string, CursorVariantPricing>>;
30
+ }
31
+ declare const DEFAULT_PRICING: CursorModelPricing;
32
+ /**
33
+ * Get the cursor model pricing table from the cached API response.
34
+ *
35
+ * Deduplicates concurrent calls — only one fetch is in-flight at a time.
36
+ * Falls back to an array containing only {@link DEFAULT_PRICING} if the
37
+ * API is unreachable.
38
+ */
39
+ export declare function getPricingTable(): Promise<readonly CursorModelPricing[]>;
40
+ export { DEFAULT_PRICING };
@@ -0,0 +1,114 @@
1
+ /**
2
+ * Cursor model pricing data — fetched from the authenticated model registry API.
3
+ *
4
+ * On first access (or after the TTL expires), fetches the full model
5
+ * registry from the Stigmer Cloud API, filters to cursor-harness models,
6
+ * and caches the result in memory. Falls back to conservative default
7
+ * pricing if the API is unreachable.
8
+ *
9
+ * Environment variables:
10
+ * - STIGMER_CLOUD_API_URL: API base URL (defaults to https://api.stigmer.ai)
11
+ * - STIGMER_AUTH_TOKEN: Bearer token for authentication (required)
12
+ */
13
+ const DEFAULT_API_URL = "https://api.stigmer.ai";
14
+ const CACHE_TTL_MS = 3_600_000; // 1 hour
15
+ const DEFAULT_PRICING = {
16
+ model: "unknown",
17
+ displayName: "Unknown",
18
+ costTier: "standard",
19
+ inputPricePerMillion: 1.25,
20
+ outputPricePerMillion: 6.00,
21
+ cacheWritePricePerMillion: 1.25,
22
+ cacheReadPricePerMillion: 0.25,
23
+ };
24
+ let cache = null;
25
+ let inflightFetch = null;
26
+ function getApiUrl() {
27
+ return process.env.STIGMER_CLOUD_API_URL ?? DEFAULT_API_URL;
28
+ }
29
+ function getAuthToken() {
30
+ return process.env.STIGMER_TOKEN ?? process.env.STIGMER_AUTH_TOKEN;
31
+ }
32
+ function parsePricingTable(json) {
33
+ if (!json || typeof json !== "object")
34
+ return [];
35
+ const models = json.models;
36
+ if (!Array.isArray(models))
37
+ return [];
38
+ return models
39
+ .filter((m) => m.harness === "cursor" && m.pricing != null)
40
+ .map((m) => ({
41
+ model: m.id,
42
+ displayName: m.displayName,
43
+ costTier: m.costTier ?? "standard",
44
+ inputPricePerMillion: m.pricing.inputPricePerMillion,
45
+ outputPricePerMillion: m.pricing.outputPricePerMillion,
46
+ cacheWritePricePerMillion: m.pricing.cacheWritePricePerMillion,
47
+ cacheReadPricePerMillion: m.pricing.cacheReadPricePerMillion,
48
+ speedVariants: parseVariants(m.pricingVariants),
49
+ }));
50
+ }
51
+ function parseVariants(variants) {
52
+ if (!variants || typeof variants !== "object")
53
+ return undefined;
54
+ const out = {};
55
+ for (const [key, v] of Object.entries(variants)) {
56
+ if (!v || typeof v !== "object")
57
+ continue;
58
+ out[key] = {
59
+ inputPricePerMillion: v.inputPricePerMillion,
60
+ outputPricePerMillion: v.outputPricePerMillion,
61
+ cacheWritePricePerMillion: v.cacheWritePricePerMillion,
62
+ cacheReadPricePerMillion: v.cacheReadPricePerMillion,
63
+ };
64
+ }
65
+ return Object.keys(out).length > 0 ? out : undefined;
66
+ }
67
+ async function fetchFromApi() {
68
+ const url = `${getApiUrl()}/v1/proxy/model-registry`;
69
+ const headers = {};
70
+ const token = getAuthToken();
71
+ if (token) {
72
+ headers["Authorization"] = `Bearer ${token}`;
73
+ }
74
+ const res = await fetch(url, { headers });
75
+ if (!res.ok)
76
+ throw new Error(`Model registry fetch failed: ${res.status}`);
77
+ const data = await res.json();
78
+ const table = parsePricingTable(data);
79
+ if (table.length === 0) {
80
+ throw new Error("Model registry returned no cursor-harness models");
81
+ }
82
+ return table;
83
+ }
84
+ /**
85
+ * Get the cursor model pricing table from the cached API response.
86
+ *
87
+ * Deduplicates concurrent calls — only one fetch is in-flight at a time.
88
+ * Falls back to an array containing only {@link DEFAULT_PRICING} if the
89
+ * API is unreachable.
90
+ */
91
+ export async function getPricingTable() {
92
+ if (cache && Date.now() < cache.expiresAt) {
93
+ return cache.data;
94
+ }
95
+ if (inflightFetch)
96
+ return inflightFetch;
97
+ inflightFetch = fetchFromApi()
98
+ .then((data) => {
99
+ cache = { data, expiresAt: Date.now() + CACHE_TTL_MS };
100
+ return data;
101
+ })
102
+ .catch((err) => {
103
+ console.warn(`Failed to fetch model registry from API, using default pricing: ${err}`);
104
+ const fallback = [DEFAULT_PRICING];
105
+ cache = { data: fallback, expiresAt: Date.now() + CACHE_TTL_MS };
106
+ return fallback;
107
+ })
108
+ .finally(() => {
109
+ inflightFetch = null;
110
+ });
111
+ return inflightFetch;
112
+ }
113
+ export { DEFAULT_PRICING };
114
+ //# sourceMappingURL=model-pricing-data.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"model-pricing-data.js","sourceRoot":"","sources":["../../../src/activities/execute-cursor/model-pricing-data.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,42 @@
1
+ /**
2
+ * Cursor model pricing lookup, validation, and cost computation.
3
+ *
4
+ * Pricing data is fetched from the public model registry API and cached
5
+ * locally with a 1-hour TTL. The pricing map is initialized on first
6
+ * access via {@link ensureLoaded}.
7
+ */
8
+ import type { CursorModelPricing } from "./model-pricing-data.js";
9
+ export type { CursorModelPricing };
10
+ /**
11
+ * Ensure the pricing map has been populated from the API cache.
12
+ *
13
+ * Call this once at service startup or before the first pricing lookup.
14
+ * Subsequent calls are no-ops while the cache is fresh.
15
+ */
16
+ export declare function ensureLoaded(): Promise<void>;
17
+ /**
18
+ * Validate a requested model ID against the pricing registry.
19
+ * Returns the model ID if it has a pricing entry, otherwise falls back
20
+ * to "default". Tries the exact ID first, then a normalized version
21
+ * with date suffixes stripped.
22
+ */
23
+ export declare function resolveModelId(requestedModel: string): string;
24
+ /**
25
+ * Look up pricing for a Cursor model. Falls back to Auto-pool rates for
26
+ * unknown models (conservative default that avoids undercharging).
27
+ * Tries the exact ID first, then a normalized version with date suffixes
28
+ * stripped.
29
+ */
30
+ export declare function getCursorModelPricing(model: string): CursorModelPricing;
31
+ /**
32
+ * Compute USD cost for a single turn.
33
+ *
34
+ * The Cursor SDK follows Anthropic's convention: `inputTokens` is the
35
+ * TOTAL input tokens including cached portions. `cacheReadTokens` and
36
+ * `cacheWriteTokens` are subsets of `inputTokens`, not additive buckets.
37
+ *
38
+ * To avoid double-counting, we subtract cached tokens from inputTokens
39
+ * before applying the regular input rate:
40
+ * regularInput = inputTokens - cacheReadTokens - cacheWriteTokens
41
+ */
42
+ export declare function computeTurnCost(pricing: CursorModelPricing, inputTokens: number, outputTokens: number, cacheWriteTokens: number, cacheReadTokens: number): number;
@@ -0,0 +1,141 @@
1
+ /**
2
+ * Cursor model pricing lookup, validation, and cost computation.
3
+ *
4
+ * Pricing data is fetched from the public model registry API and cached
5
+ * locally with a 1-hour TTL. The pricing map is initialized on first
6
+ * access via {@link ensureLoaded}.
7
+ */
8
+ import { getPricingTable, DEFAULT_PRICING } from "./model-pricing-data.js";
9
+ /**
10
+ * Strip provider date suffixes from model IDs so that e.g.
11
+ * "claude-haiku-4-5-20251001" matches the registry entry "claude-haiku-4-5".
12
+ * Matches date-like suffixes: -YYYYMMDD or -YYYYMMDDvN at end of string.
13
+ */
14
+ function normalizeModelId(model) {
15
+ return model.replace(/-\d{8}(?:v\d+)?$/, "");
16
+ }
17
+ /**
18
+ * Speed-mode suffixes Cursor appends to a base model id (longest first).
19
+ * Only speed variants change the per-token price; effort suffixes do not.
20
+ */
21
+ const SPEED_SUFFIXES = ["-high-fast", "-medium-fast", "-low-fast", "-fast"];
22
+ /**
23
+ * If `model` carries a speed suffix, return the base id; otherwise null.
24
+ * e.g. "composer-2.5-fast" -> "composer-2.5".
25
+ */
26
+ function stripSpeedSuffix(model) {
27
+ for (const suffix of SPEED_SUFFIXES) {
28
+ if (model.endsWith(suffix))
29
+ return model.slice(0, -suffix.length);
30
+ }
31
+ return null;
32
+ }
33
+ /**
34
+ * Return a copy of a base pricing entry with its "fast" variant rates applied,
35
+ * preserving the original (wire) model id. Returns null when the base declares
36
+ * no fast variant.
37
+ */
38
+ function applyFastVariant(base, wireModel) {
39
+ const fast = base.speedVariants?.fast;
40
+ if (!fast)
41
+ return null;
42
+ return {
43
+ ...base,
44
+ model: wireModel,
45
+ inputPricePerMillion: fast.inputPricePerMillion,
46
+ outputPricePerMillion: fast.outputPricePerMillion,
47
+ cacheWritePricePerMillion: fast.cacheWritePricePerMillion,
48
+ cacheReadPricePerMillion: fast.cacheReadPricePerMillion,
49
+ };
50
+ }
51
+ let pricingByModel = null;
52
+ let initPromise = null;
53
+ /**
54
+ * Ensure the pricing map has been populated from the API cache.
55
+ *
56
+ * Call this once at service startup or before the first pricing lookup.
57
+ * Subsequent calls are no-ops while the cache is fresh.
58
+ */
59
+ export async function ensureLoaded() {
60
+ if (initPromise)
61
+ return initPromise;
62
+ initPromise = getPricingTable().then((table) => {
63
+ pricingByModel = new Map(table.map((entry) => [entry.model, entry]));
64
+ });
65
+ return initPromise;
66
+ }
67
+ function getMap() {
68
+ if (!pricingByModel) {
69
+ console.warn("Model pricing accessed before ensureLoaded() — returning empty map");
70
+ return new Map();
71
+ }
72
+ return pricingByModel;
73
+ }
74
+ /**
75
+ * Validate a requested model ID against the pricing registry.
76
+ * Returns the model ID if it has a pricing entry, otherwise falls back
77
+ * to "default". Tries the exact ID first, then a normalized version
78
+ * with date suffixes stripped.
79
+ */
80
+ export function resolveModelId(requestedModel) {
81
+ if (!requestedModel || requestedModel === "default")
82
+ return "default";
83
+ const map = getMap();
84
+ if (map.has(requestedModel))
85
+ return requestedModel;
86
+ const normalized = normalizeModelId(requestedModel);
87
+ if (normalized !== requestedModel && map.has(normalized))
88
+ return normalized;
89
+ console.warn(`Model "${requestedModel}" (normalized: "${normalized}") not in pricing registry (${map.size} models), falling back to "default"`);
90
+ return "default";
91
+ }
92
+ /**
93
+ * Look up pricing for a Cursor model. Falls back to Auto-pool rates for
94
+ * unknown models (conservative default that avoids undercharging).
95
+ * Tries the exact ID first, then a normalized version with date suffixes
96
+ * stripped.
97
+ */
98
+ export function getCursorModelPricing(model) {
99
+ const map = getMap();
100
+ const exact = map.get(model);
101
+ if (exact)
102
+ return exact;
103
+ // Speed variant (e.g. "composer-2.5-fast"): resolve the base entry and apply
104
+ // its fast-tier rates so the display estimate matches the authoritative bill.
105
+ const speedBase = stripSpeedSuffix(model);
106
+ if (speedBase) {
107
+ const baseEntry = map.get(speedBase) ?? map.get(normalizeModelId(speedBase));
108
+ if (baseEntry) {
109
+ const fast = applyFastVariant(baseEntry, model);
110
+ if (fast)
111
+ return fast;
112
+ }
113
+ }
114
+ const normalized = normalizeModelId(model);
115
+ if (normalized !== model) {
116
+ const byNormalized = map.get(normalized);
117
+ if (byNormalized)
118
+ return byNormalized;
119
+ }
120
+ console.warn(`Pricing lookup miss for "${model}" (normalized: "${normalized}"), using DEFAULT_PRICING`);
121
+ return { ...DEFAULT_PRICING, model };
122
+ }
123
+ /**
124
+ * Compute USD cost for a single turn.
125
+ *
126
+ * The Cursor SDK follows Anthropic's convention: `inputTokens` is the
127
+ * TOTAL input tokens including cached portions. `cacheReadTokens` and
128
+ * `cacheWriteTokens` are subsets of `inputTokens`, not additive buckets.
129
+ *
130
+ * To avoid double-counting, we subtract cached tokens from inputTokens
131
+ * before applying the regular input rate:
132
+ * regularInput = inputTokens - cacheReadTokens - cacheWriteTokens
133
+ */
134
+ export function computeTurnCost(pricing, inputTokens, outputTokens, cacheWriteTokens, cacheReadTokens) {
135
+ const regularInput = Math.max(0, inputTokens - cacheReadTokens - cacheWriteTokens);
136
+ return (regularInput * pricing.inputPricePerMillion
137
+ + outputTokens * pricing.outputPricePerMillion
138
+ + cacheWriteTokens * pricing.cacheWritePricePerMillion
139
+ + cacheReadTokens * pricing.cacheReadPricePerMillion) / 1_000_000;
140
+ }
141
+ //# sourceMappingURL=model-pricing.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"model-pricing.js","sourceRoot":"","sources":["../../../src/activities/execute-cursor/model-pricing.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,34 @@
1
+ /**
2
+ * Strict placeholder resolver for ${VAR_NAME} syntax in MCP server configs.
3
+ *
4
+ * Port of the Python agent-runner's PlaceholderResolver (strict mode only).
5
+ * Always raises on unresolved placeholders — sending literal ${VAR} as an
6
+ * HTTP header value (e.g. Authorization: Bearer ${API_KEY}) produces
7
+ * cryptic auth failures from the remote server.
8
+ */
9
+ export declare class PlaceholderResolutionError extends Error {
10
+ readonly variableName: string;
11
+ readonly context?: string | undefined;
12
+ constructor(variableName: string, context?: string | undefined);
13
+ }
14
+ /**
15
+ * Resolve all ${VAR_NAME} placeholders in a template string.
16
+ *
17
+ * @throws PlaceholderResolutionError if any placeholder cannot be resolved.
18
+ */
19
+ export declare function resolvePlaceholders(template: string, envVars: Record<string, string>, context?: string): string;
20
+ /**
21
+ * Resolve placeholders in all values of a headers map.
22
+ *
23
+ * @throws PlaceholderResolutionError if any header value contains an
24
+ * unresolvable placeholder.
25
+ */
26
+ export declare function resolveHeaders(headers: Record<string, string>, envVars: Record<string, string>): Record<string, string>;
27
+ /**
28
+ * Filter env vars to only keys declared in the MCP server's spec.env.
29
+ *
30
+ * Mirrors the agent-runner's _filter_env_to_declared_keys: prevents
31
+ * secret over-sharing by restricting the subprocess/HTTP environment to
32
+ * explicitly declared variables.
33
+ */
34
+ export declare function filterEnvToDeclaredKeys(declaredEnv: Record<string, unknown> | undefined, envVars: Record<string, string>, serverSlug: string): Record<string, string>;
@@ -0,0 +1,82 @@
1
+ /**
2
+ * Strict placeholder resolver for ${VAR_NAME} syntax in MCP server configs.
3
+ *
4
+ * Port of the Python agent-runner's PlaceholderResolver (strict mode only).
5
+ * Always raises on unresolved placeholders — sending literal ${VAR} as an
6
+ * HTTP header value (e.g. Authorization: Bearer ${API_KEY}) produces
7
+ * cryptic auth failures from the remote server.
8
+ */
9
+ const PLACEHOLDER_RE = /\$\{([A-Za-z_][A-Za-z0-9_]*)\}/g;
10
+ export class PlaceholderResolutionError extends Error {
11
+ variableName;
12
+ context;
13
+ constructor(variableName, context) {
14
+ const where = context ? ` in ${context}` : "";
15
+ super(`Unresolved placeholder \${${variableName}}${where}: ` +
16
+ `variable is not present in the execution environment`);
17
+ this.variableName = variableName;
18
+ this.context = context;
19
+ this.name = "PlaceholderResolutionError";
20
+ }
21
+ }
22
+ /**
23
+ * Resolve all ${VAR_NAME} placeholders in a template string.
24
+ *
25
+ * @throws PlaceholderResolutionError if any placeholder cannot be resolved.
26
+ */
27
+ export function resolvePlaceholders(template, envVars, context) {
28
+ return template.replace(PLACEHOLDER_RE, (match, varName) => {
29
+ if (varName in envVars) {
30
+ return envVars[varName];
31
+ }
32
+ throw new PlaceholderResolutionError(varName, context);
33
+ });
34
+ }
35
+ /**
36
+ * Resolve placeholders in all values of a headers map.
37
+ *
38
+ * @throws PlaceholderResolutionError if any header value contains an
39
+ * unresolvable placeholder.
40
+ */
41
+ export function resolveHeaders(headers, envVars) {
42
+ const resolved = {};
43
+ for (const [key, value] of Object.entries(headers)) {
44
+ resolved[key] = resolvePlaceholders(value, envVars, `header "${key}"`);
45
+ }
46
+ return resolved;
47
+ }
48
+ /**
49
+ * Filter env vars to only keys declared in the MCP server's spec.env.
50
+ *
51
+ * Mirrors the agent-runner's _filter_env_to_declared_keys: prevents
52
+ * secret over-sharing by restricting the subprocess/HTTP environment to
53
+ * explicitly declared variables.
54
+ */
55
+ export function filterEnvToDeclaredKeys(declaredEnv, envVars, serverSlug) {
56
+ if (!declaredEnv || Object.keys(declaredEnv).length === 0) {
57
+ if (Object.keys(envVars).length > 0) {
58
+ console.log(`MCP server '${serverSlug}' has no env declarations — ` +
59
+ `dropping ${Object.keys(envVars).length} env var(s)`);
60
+ }
61
+ return {};
62
+ }
63
+ const declaredKeys = new Set(Object.keys(declaredEnv));
64
+ const filtered = {};
65
+ for (const [key, value] of Object.entries(envVars)) {
66
+ if (declaredKeys.has(key)) {
67
+ filtered[key] = value;
68
+ }
69
+ }
70
+ const dropped = Object.keys(envVars).length - Object.keys(filtered).length;
71
+ if (dropped > 0) {
72
+ console.log(`MCP server '${serverSlug}': passing ${Object.keys(filtered).length} ` +
73
+ `declared env var(s), filtered out ${dropped} undeclared key(s)`);
74
+ }
75
+ const missing = [...declaredKeys].filter((k) => !(k in filtered));
76
+ if (missing.length > 0) {
77
+ console.warn(`MCP server '${serverSlug}': env declares [${missing.sort().join(", ")}] ` +
78
+ `but they are not present in the resolved environment`);
79
+ }
80
+ return filtered;
81
+ }
82
+ //# sourceMappingURL=placeholder-resolver.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"placeholder-resolver.js","sourceRoot":"","sources":["../../../src/activities/execute-cursor/placeholder-resolver.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,MAAM,cAAc,GAAG,iCAAiC,CAAC;AAEzD,MAAM,OAAO,0BAA2B,SAAQ,KAAK;IAEjC;IACA;IAFlB,YACkB,YAAoB,EACpB,OAAgB;QAEhC,MAAM,KAAK,GAAG,OAAO,CAAC,CAAC,CAAC,OAAO,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAC9C,KAAK,CACH,6BAA6B,YAAY,IAAI,KAAK,IAAI;YACpD,sDAAsD,CACzD,CAAC;QAPc,iBAAY,GAAZ,YAAY,CAAQ;QACpB,YAAO,GAAP,OAAO,CAAS;QAOhC,IAAI,CAAC,IAAI,GAAG,4BAA4B,CAAC;IAC3C,CAAC;CACF;AAED;;;;GAIG;AACH,MAAM,UAAU,mBAAmB,CACjC,QAAgB,EAChB,OAA+B,EAC/B,OAAgB;IAEhB,OAAO,QAAQ,CAAC,OAAO,CAAC,cAAc,EAAE,CAAC,KAAK,EAAE,OAAe,EAAE,EAAE;QACjE,IAAI,OAAO,IAAI,OAAO,EAAE,CAAC;YACvB,OAAO,OAAO,CAAC,OAAO,CAAC,CAAC;QAC1B,CAAC;QACD,MAAM,IAAI,0BAA0B,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;IACzD,CAAC,CAAC,CAAC;AACL,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,cAAc,CAC5B,OAA+B,EAC/B,OAA+B;IAE/B,MAAM,QAAQ,GAA2B,EAAE,CAAC;IAC5C,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC;QACnD,QAAQ,CAAC,GAAG,CAAC,GAAG,mBAAmB,CAAC,KAAK,EAAE,OAAO,EAAE,WAAW,GAAG,GAAG,CAAC,CAAC;IACzE,CAAC;IACD,OAAO,QAAQ,CAAC;AAClB,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,uBAAuB,CACrC,WAAgD,EAChD,OAA+B,EAC/B,UAAkB;IAElB,IAAI,CAAC,WAAW,IAAI,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC1D,IAAI,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACpC,OAAO,CAAC,GAAG,CACT,eAAe,UAAU,8BAA8B;gBACrD,YAAY,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,MAAM,aAAa,CACvD,CAAC;QACJ,CAAC;QACD,OAAO,EAAE,CAAC;IACZ,CAAC;IAED,MAAM,YAAY,GAAG,IAAI,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC;IACvD,MAAM,QAAQ,GAA2B,EAAE,CAAC;IAE5C,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC;QACnD,IAAI,YAAY,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC;YAC1B,QAAQ,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;QACxB,CAAC;IACH,CAAC;IAED,MAAM,OAAO,GAAG,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,MAAM,GAAG,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC;IAC3E,IAAI,OAAO,GAAG,CAAC,EAAE,CAAC;QAChB,OAAO,CAAC,GAAG,CACT,eAAe,UAAU,cAAc,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,MAAM,GAAG;YACpE,qCAAqC,OAAO,oBAAoB,CACnE,CAAC;IACJ,CAAC;IAED,MAAM,OAAO,GAAG,CAAC,GAAG,YAAY,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,QAAQ,CAAC,CAAC,CAAC;IAClE,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACvB,OAAO,CAAC,IAAI,CACV,eAAe,UAAU,oBAAoB,OAAO,CAAC,IAAI,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI;YACxE,sDAAsD,CACzD,CAAC;IACJ,CAAC;IAED,OAAO,QAAQ,CAAC;AAClB,CAAC"}
@@ -0,0 +1,80 @@
1
+ /**
2
+ * Builds the enhanced prompt for the Cursor agent.
3
+ *
4
+ * Replicates prompt_builder.py::enhance_system_prompt() but delivers
5
+ * the content via the first user message (Cursor SDK has no systemPrompt
6
+ * parameter). On reinvocation, only the approval decisions are sent.
7
+ *
8
+ * Sections (in order, conditionally included):
9
+ * 1. Agent instructions (persona/character)
10
+ * 2. Available skills metadata
11
+ * 3. Sub-agent delegation guidance
12
+ * 4. Workspace context (multi-root only; single-dir is redundant with SDK cwd)
13
+ * 5. Input files / referenced files
14
+ * 6. Response rules (only when agent has no custom instructions)
15
+ * 7. User's actual message
16
+ */
17
+ import type { SubAgent } from "@stigmer/protos/ai/stigmer/agentic/agent/v1/spec_pb";
18
+ import type { PendingApproval } from "@stigmer/protos/ai/stigmer/agentic/agentexecution/v1/approval_pb";
19
+ import { ApprovalAction, InteractionMode } from "@stigmer/protos/ai/stigmer/agentic/agentexecution/v1/enum_pb";
20
+ export interface SkillMetadata {
21
+ name: string;
22
+ description: string;
23
+ path: string;
24
+ }
25
+ export interface EnhancedPromptOptions {
26
+ instructions: string;
27
+ userMessage: string;
28
+ skills: SkillMetadata[];
29
+ subAgents: SubAgent[];
30
+ workspaceDirs: string[];
31
+ workspaceFileRefs: string[];
32
+ attachmentPaths: string[];
33
+ interactionMode?: InteractionMode;
34
+ }
35
+ /**
36
+ * Build the enhanced prompt for the first execution in a session.
37
+ *
38
+ * Prepends agent blueprint information before the user's message so the
39
+ * Cursor agent has full context. This avoids writing files to the workspace.
40
+ */
41
+ export declare function buildEnhancedPrompt(options: EnhancedPromptOptions): string;
42
+ /**
43
+ * Build the reinvocation prompt after approval decisions.
44
+ *
45
+ * Only contains approval instructions, no blueprint (it persists in the resumed
46
+ * agent's native context). The actions are described in human-meaningful terms
47
+ * (the resolved approval message, e.g. "Write file: foo.txt") — NOT the opaque
48
+ * tool-call ids, which mean nothing to the model. A resumed agent re-issues the
49
+ * approved tool with a fresh id; the approval gate (see approval-state.ts grants)
50
+ * is what actually lets the re-attempt through.
51
+ */
52
+ export declare function buildReinvocationPrompt(pendingApprovals: PendingApproval[], approvalDecisions: Map<string, ApprovalAction>): string;
53
+ /**
54
+ * Filters out workspace directories that appear to be runner-internal paths.
55
+ * This prevents the prompt from exposing implementation details like
56
+ * ~/.stigmer/runtimes/cursor-runner/... to the AI model.
57
+ */
58
+ export declare function sanitizeWorkspaceDirs(dirs: string[]): string[];
59
+ export declare function formatInstructions(instructions: string): string;
60
+ export declare function formatSkillsSection(skills: SkillMetadata[]): string;
61
+ export declare function formatSubAgentsSection(subAgents: SubAgent[]): string;
62
+ /**
63
+ * Guidance encouraging the agent to use Cursor's built-in `explore` sub-agent
64
+ * (via the Task tool) for codebase investigation, rather than reading many
65
+ * files inline. Included only when the agent has a workspace to explore.
66
+ *
67
+ * This mirrors how the Cursor IDE aggressively delegates exploration, which the
68
+ * headless agent otherwise rarely does. Kept concise to limit token overhead
69
+ * and paired with a "do not over-delegate" guard to avoid trivial spawns.
70
+ */
71
+ export declare function formatExplorationGuidance(): string;
72
+ export declare function formatWorkspaceContext(dirs: string[]): string;
73
+ export declare function formatInputFiles(paths: string[]): string;
74
+ export declare function formatReferencedFiles(refs: string[]): string;
75
+ /**
76
+ * Returns a system-level directive when the execution is in Plan mode.
77
+ * Returns `undefined` for Agent mode (default) since no prefix is needed.
78
+ */
79
+ export declare function formatInteractionModePrefix(mode: InteractionMode | undefined): string | undefined;
80
+ export declare function formatResponseRules(): string;