@panorama-ai/gateway 2.28.50 → 2.30.176

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 (334) hide show
  1. package/README.md +188 -12
  2. package/dist/child-process-env.d.ts.map +1 -1
  3. package/dist/child-process-env.js +1 -0
  4. package/dist/child-process-env.js.map +1 -1
  5. package/dist/child-process-startup.d.ts +4 -0
  6. package/dist/child-process-startup.d.ts.map +1 -0
  7. package/dist/child-process-startup.js +33 -0
  8. package/dist/child-process-startup.js.map +1 -0
  9. package/dist/cli-args.d.ts +11 -0
  10. package/dist/cli-args.d.ts.map +1 -0
  11. package/dist/cli-args.js +72 -0
  12. package/dist/cli-args.js.map +1 -0
  13. package/dist/cli-command-discovery.d.ts +17 -0
  14. package/dist/cli-command-discovery.d.ts.map +1 -0
  15. package/dist/cli-command-discovery.js +229 -0
  16. package/dist/cli-command-discovery.js.map +1 -0
  17. package/dist/cli-env.d.ts +7 -0
  18. package/dist/cli-env.d.ts.map +1 -0
  19. package/dist/cli-env.js +82 -0
  20. package/dist/cli-env.js.map +1 -0
  21. package/dist/cli-output.d.ts +23 -0
  22. package/dist/cli-output.d.ts.map +1 -0
  23. package/dist/cli-output.js +86 -0
  24. package/dist/cli-output.js.map +1 -0
  25. package/dist/cli-provider-commands.d.ts +59 -0
  26. package/dist/cli-provider-commands.d.ts.map +1 -0
  27. package/dist/cli-provider-commands.js +157 -0
  28. package/dist/cli-provider-commands.js.map +1 -0
  29. package/dist/cli-providers/claude.d.ts.map +1 -1
  30. package/dist/cli-providers/claude.js +11 -110
  31. package/dist/cli-providers/claude.js.map +1 -1
  32. package/dist/cli-providers/codex.d.ts.map +1 -1
  33. package/dist/cli-providers/codex.js +14 -53
  34. package/dist/cli-providers/codex.js.map +1 -1
  35. package/dist/cli-providers/gemini.d.ts.map +1 -1
  36. package/dist/cli-providers/gemini.js +30 -88
  37. package/dist/cli-providers/gemini.js.map +1 -1
  38. package/dist/cli-providers/types.d.ts +3 -1
  39. package/dist/cli-providers/types.d.ts.map +1 -1
  40. package/dist/cli-providers/types.js.map +1 -1
  41. package/dist/database.types.d.ts +4688 -616
  42. package/dist/database.types.d.ts.map +1 -1
  43. package/dist/database.types.js.map +1 -1
  44. package/dist/debug-redaction.d.ts +11 -0
  45. package/dist/debug-redaction.d.ts.map +1 -1
  46. package/dist/debug-redaction.js +33 -4
  47. package/dist/debug-redaction.js.map +1 -1
  48. package/dist/finalize-subagent-run.d.ts +28 -0
  49. package/dist/finalize-subagent-run.d.ts.map +1 -0
  50. package/dist/finalize-subagent-run.js +34 -0
  51. package/dist/finalize-subagent-run.js.map +1 -0
  52. package/dist/gateway-capability-services.d.ts +10 -0
  53. package/dist/gateway-capability-services.d.ts.map +1 -0
  54. package/dist/gateway-capability-services.js +40 -0
  55. package/dist/gateway-capability-services.js.map +1 -0
  56. package/dist/gateway-cli-commands.d.ts +25 -0
  57. package/dist/gateway-cli-commands.d.ts.map +1 -0
  58. package/dist/gateway-cli-commands.js +202 -0
  59. package/dist/gateway-cli-commands.js.map +1 -0
  60. package/dist/gateway-command-runner.d.ts +48 -0
  61. package/dist/gateway-command-runner.d.ts.map +1 -0
  62. package/dist/gateway-command-runner.js +154 -0
  63. package/dist/gateway-command-runner.js.map +1 -0
  64. package/dist/gateway-control-plane.d.ts +44 -0
  65. package/dist/gateway-control-plane.d.ts.map +1 -0
  66. package/dist/gateway-control-plane.js +147 -0
  67. package/dist/gateway-control-plane.js.map +1 -0
  68. package/dist/gateway-daemon.d.ts +41 -0
  69. package/dist/gateway-daemon.d.ts.map +1 -0
  70. package/dist/gateway-daemon.js +69 -0
  71. package/dist/gateway-daemon.js.map +1 -0
  72. package/dist/gateway-doctor.d.ts +45 -0
  73. package/dist/gateway-doctor.d.ts.map +1 -0
  74. package/dist/gateway-doctor.js +81 -0
  75. package/dist/gateway-doctor.js.map +1 -0
  76. package/dist/gateway-execution-support.d.ts +56 -0
  77. package/dist/gateway-execution-support.d.ts.map +1 -0
  78. package/dist/gateway-execution-support.js +135 -0
  79. package/dist/gateway-execution-support.js.map +1 -0
  80. package/dist/gateway-job-controller.d.ts +68 -0
  81. package/dist/gateway-job-controller.d.ts.map +1 -0
  82. package/dist/gateway-job-controller.js +266 -0
  83. package/dist/gateway-job-controller.js.map +1 -0
  84. package/dist/gateway-job-handlers.d.ts +76 -0
  85. package/dist/gateway-job-handlers.d.ts.map +1 -0
  86. package/dist/gateway-job-handlers.js +235 -0
  87. package/dist/gateway-job-handlers.js.map +1 -0
  88. package/dist/gateway-job-processor.d.ts +24 -0
  89. package/dist/gateway-job-processor.d.ts.map +1 -0
  90. package/dist/gateway-job-processor.js +90 -0
  91. package/dist/gateway-job-processor.js.map +1 -0
  92. package/dist/gateway-job-store.d.ts +13 -0
  93. package/dist/gateway-job-store.d.ts.map +1 -0
  94. package/dist/gateway-job-store.js +106 -0
  95. package/dist/gateway-job-store.js.map +1 -0
  96. package/dist/gateway-jobs.d.ts +31 -0
  97. package/dist/gateway-jobs.d.ts.map +1 -0
  98. package/dist/gateway-jobs.js +52 -0
  99. package/dist/gateway-jobs.js.map +1 -0
  100. package/dist/gateway-lifecycle.d.ts +43 -0
  101. package/dist/gateway-lifecycle.d.ts.map +1 -0
  102. package/dist/gateway-lifecycle.js +62 -0
  103. package/dist/gateway-lifecycle.js.map +1 -0
  104. package/dist/gateway-local-runtime.d.ts +68 -0
  105. package/dist/gateway-local-runtime.d.ts.map +1 -0
  106. package/dist/gateway-local-runtime.js +208 -0
  107. package/dist/gateway-local-runtime.js.map +1 -0
  108. package/dist/gateway-model-run.d.ts +48 -0
  109. package/dist/gateway-model-run.d.ts.map +1 -0
  110. package/dist/gateway-model-run.js +205 -0
  111. package/dist/gateway-model-run.js.map +1 -0
  112. package/dist/gateway-operational-status.d.ts +15 -0
  113. package/dist/gateway-operational-status.d.ts.map +1 -0
  114. package/dist/gateway-operational-status.js +24 -0
  115. package/dist/gateway-operational-status.js.map +1 -0
  116. package/dist/gateway-pairing.d.ts +58 -0
  117. package/dist/gateway-pairing.d.ts.map +1 -0
  118. package/dist/gateway-pairing.js +151 -0
  119. package/dist/gateway-pairing.js.map +1 -0
  120. package/dist/gateway-provider-capabilities.d.ts +59 -0
  121. package/dist/gateway-provider-capabilities.d.ts.map +1 -0
  122. package/dist/gateway-provider-capabilities.js +231 -0
  123. package/dist/gateway-provider-capabilities.js.map +1 -0
  124. package/dist/gateway-provider-health.d.ts +19 -0
  125. package/dist/gateway-provider-health.d.ts.map +1 -0
  126. package/dist/gateway-provider-health.js +75 -0
  127. package/dist/gateway-provider-health.js.map +1 -0
  128. package/dist/gateway-provider-runtime.d.ts +72 -0
  129. package/dist/gateway-provider-runtime.d.ts.map +1 -0
  130. package/dist/gateway-provider-runtime.js +169 -0
  131. package/dist/gateway-provider-runtime.js.map +1 -0
  132. package/dist/gateway-restart.d.ts +8 -0
  133. package/dist/gateway-restart.d.ts.map +1 -0
  134. package/dist/gateway-restart.js +129 -0
  135. package/dist/gateway-restart.js.map +1 -0
  136. package/dist/gateway-run-helpers.d.ts +35 -0
  137. package/dist/gateway-run-helpers.d.ts.map +1 -0
  138. package/dist/gateway-run-helpers.js +203 -0
  139. package/dist/gateway-run-helpers.js.map +1 -0
  140. package/dist/gateway-runtime-provider-health.d.ts +31 -0
  141. package/dist/gateway-runtime-provider-health.d.ts.map +1 -0
  142. package/dist/gateway-runtime-provider-health.js +99 -0
  143. package/dist/gateway-runtime-provider-health.js.map +1 -0
  144. package/dist/gateway-runtime-state.d.ts +35 -0
  145. package/dist/gateway-runtime-state.d.ts.map +1 -0
  146. package/dist/gateway-runtime-state.js +18 -0
  147. package/dist/gateway-runtime-state.js.map +1 -0
  148. package/dist/gateway-shell-exec.d.ts +46 -0
  149. package/dist/gateway-shell-exec.d.ts.map +1 -0
  150. package/dist/gateway-shell-exec.js +130 -0
  151. package/dist/gateway-shell-exec.js.map +1 -0
  152. package/dist/gateway-start-command.d.ts +28 -0
  153. package/dist/gateway-start-command.d.ts.map +1 -0
  154. package/dist/gateway-start-command.js +101 -0
  155. package/dist/gateway-start-command.js.map +1 -0
  156. package/dist/gateway-state.d.ts +29 -0
  157. package/dist/gateway-state.d.ts.map +1 -0
  158. package/dist/gateway-state.js +97 -0
  159. package/dist/gateway-state.js.map +1 -0
  160. package/dist/gateway-subagent-run-finalizer.d.ts +27 -0
  161. package/dist/gateway-subagent-run-finalizer.d.ts.map +1 -0
  162. package/dist/gateway-subagent-run-finalizer.js +196 -0
  163. package/dist/gateway-subagent-run-finalizer.js.map +1 -0
  164. package/dist/gateway-subagent-run-job.d.ts +4 -0
  165. package/dist/gateway-subagent-run-job.d.ts.map +1 -0
  166. package/dist/gateway-subagent-run-job.js +430 -0
  167. package/dist/gateway-subagent-run-job.js.map +1 -0
  168. package/dist/gateway-subagent-run-target.d.ts +16 -0
  169. package/dist/gateway-subagent-run-target.d.ts.map +1 -0
  170. package/dist/gateway-subagent-run-target.js +239 -0
  171. package/dist/gateway-subagent-run-target.js.map +1 -0
  172. package/dist/gateway-subagent-run-types.d.ts +110 -0
  173. package/dist/gateway-subagent-run-types.d.ts.map +1 -0
  174. package/dist/gateway-subagent-run-types.js +2 -0
  175. package/dist/gateway-subagent-run-types.js.map +1 -0
  176. package/dist/index.js +11656 -3901
  177. package/dist/index.js.map +7 -1
  178. package/dist/job-queue.d.ts +23 -0
  179. package/dist/job-queue.d.ts.map +1 -0
  180. package/dist/job-queue.js +70 -0
  181. package/dist/job-queue.js.map +1 -0
  182. package/dist/local-runtime/heartbeat-supervisor.d.ts +39 -0
  183. package/dist/local-runtime/heartbeat-supervisor.d.ts.map +1 -0
  184. package/dist/local-runtime/heartbeat-supervisor.js +96 -0
  185. package/dist/local-runtime/heartbeat-supervisor.js.map +1 -0
  186. package/dist/local-runtime/restart-supervisor.d.ts +27 -0
  187. package/dist/local-runtime/restart-supervisor.d.ts.map +1 -0
  188. package/dist/local-runtime/restart-supervisor.js +169 -0
  189. package/dist/local-runtime/restart-supervisor.js.map +1 -0
  190. package/dist/local-runtime/runtime-utils.d.ts +20 -0
  191. package/dist/local-runtime/runtime-utils.d.ts.map +1 -0
  192. package/dist/local-runtime/runtime-utils.js +54 -0
  193. package/dist/local-runtime/runtime-utils.js.map +1 -0
  194. package/dist/local-runtime/shutdown-supervisor.d.ts +32 -0
  195. package/dist/local-runtime/shutdown-supervisor.d.ts.map +1 -0
  196. package/dist/local-runtime/shutdown-supervisor.js +110 -0
  197. package/dist/local-runtime/shutdown-supervisor.js.map +1 -0
  198. package/dist/local-runtime/types.d.ts +26 -0
  199. package/dist/local-runtime/types.d.ts.map +1 -0
  200. package/dist/local-runtime/types.js +2 -0
  201. package/dist/local-runtime/types.js.map +1 -0
  202. package/dist/managed-runtime/config.d.ts +20 -0
  203. package/dist/managed-runtime/config.d.ts.map +1 -0
  204. package/dist/managed-runtime/config.js +80 -0
  205. package/dist/managed-runtime/config.js.map +1 -0
  206. package/dist/managed-runtime/control-client.d.ts +66 -0
  207. package/dist/managed-runtime/control-client.d.ts.map +1 -0
  208. package/dist/managed-runtime/control-client.js +142 -0
  209. package/dist/managed-runtime/control-client.js.map +1 -0
  210. package/dist/managed-runtime/dependencies.d.ts +17 -0
  211. package/dist/managed-runtime/dependencies.d.ts.map +1 -0
  212. package/dist/managed-runtime/dependencies.js +28 -0
  213. package/dist/managed-runtime/dependencies.js.map +1 -0
  214. package/dist/managed-runtime/execution-dispatcher.d.ts +25 -0
  215. package/dist/managed-runtime/execution-dispatcher.d.ts.map +1 -0
  216. package/dist/managed-runtime/execution-dispatcher.js +155 -0
  217. package/dist/managed-runtime/execution-dispatcher.js.map +1 -0
  218. package/dist/managed-runtime/heartbeat.d.ts +7 -0
  219. package/dist/managed-runtime/heartbeat.d.ts.map +1 -0
  220. package/dist/managed-runtime/heartbeat.js +44 -0
  221. package/dist/managed-runtime/heartbeat.js.map +1 -0
  222. package/dist/managed-runtime/host-state.d.ts +15 -0
  223. package/dist/managed-runtime/host-state.d.ts.map +1 -0
  224. package/dist/managed-runtime/host-state.js +50 -0
  225. package/dist/managed-runtime/host-state.js.map +1 -0
  226. package/dist/managed-runtime/realtime.d.ts +25 -0
  227. package/dist/managed-runtime/realtime.d.ts.map +1 -0
  228. package/dist/managed-runtime/realtime.js +189 -0
  229. package/dist/managed-runtime/realtime.js.map +1 -0
  230. package/dist/managed-runtime/runtime-utils.d.ts +8 -0
  231. package/dist/managed-runtime/runtime-utils.d.ts.map +1 -0
  232. package/dist/managed-runtime/runtime-utils.js +39 -0
  233. package/dist/managed-runtime/runtime-utils.js.map +1 -0
  234. package/dist/managed-runtime/shell-execution.d.ts +33 -0
  235. package/dist/managed-runtime/shell-execution.d.ts.map +1 -0
  236. package/dist/managed-runtime/shell-execution.js +186 -0
  237. package/dist/managed-runtime/shell-execution.js.map +1 -0
  238. package/dist/managed-runtime/step-result.d.ts +22 -0
  239. package/dist/managed-runtime/step-result.d.ts.map +1 -0
  240. package/dist/managed-runtime/step-result.js +252 -0
  241. package/dist/managed-runtime/step-result.js.map +1 -0
  242. package/dist/managed-runtime/wake-signal.d.ts +5 -0
  243. package/dist/managed-runtime/wake-signal.d.ts.map +1 -0
  244. package/dist/managed-runtime/wake-signal.js +29 -0
  245. package/dist/managed-runtime/wake-signal.js.map +1 -0
  246. package/dist/managed-runtime.d.ts +8 -0
  247. package/dist/managed-runtime.d.ts.map +1 -0
  248. package/dist/managed-runtime.js +224 -0
  249. package/dist/managed-runtime.js.map +1 -0
  250. package/dist/process-control.d.ts +9 -0
  251. package/dist/process-control.d.ts.map +1 -0
  252. package/dist/process-control.js +32 -0
  253. package/dist/process-control.js.map +1 -0
  254. package/dist/process-output-capture.d.ts +21 -0
  255. package/dist/process-output-capture.d.ts.map +1 -0
  256. package/dist/process-output-capture.js +47 -0
  257. package/dist/process-output-capture.js.map +1 -0
  258. package/dist/provider-runtime-utils.d.ts +24 -0
  259. package/dist/provider-runtime-utils.d.ts.map +1 -0
  260. package/dist/provider-runtime-utils.js +97 -0
  261. package/dist/provider-runtime-utils.js.map +1 -0
  262. package/dist/remote-shell-resource.d.ts +30 -0
  263. package/dist/remote-shell-resource.d.ts.map +1 -0
  264. package/dist/remote-shell-resource.js +105 -0
  265. package/dist/remote-shell-resource.js.map +1 -0
  266. package/dist/stream-json-collector.d.ts +28 -0
  267. package/dist/stream-json-collector.d.ts.map +1 -0
  268. package/dist/stream-json-collector.js +68 -0
  269. package/dist/stream-json-collector.js.map +1 -0
  270. package/dist/subagent-adapters/claude-code.d.ts.map +1 -1
  271. package/dist/subagent-adapters/claude-code.js +55 -17
  272. package/dist/subagent-adapters/claude-code.js.map +1 -1
  273. package/dist/subagent-adapters/claude-support.d.ts +2 -0
  274. package/dist/subagent-adapters/claude-support.d.ts.map +1 -1
  275. package/dist/subagent-adapters/claude-support.js +4 -0
  276. package/dist/subagent-adapters/claude-support.js.map +1 -1
  277. package/dist/subagent-adapters/codex.d.ts.map +1 -1
  278. package/dist/subagent-adapters/codex.js +37 -24
  279. package/dist/subagent-adapters/codex.js.map +1 -1
  280. package/dist/subagent-adapters/gemini.d.ts.map +1 -1
  281. package/dist/subagent-adapters/gemini.js +28 -47
  282. package/dist/subagent-adapters/gemini.js.map +1 -1
  283. package/dist/subagent-adapters/output-format.d.ts +3 -0
  284. package/dist/subagent-adapters/output-format.d.ts.map +1 -0
  285. package/dist/subagent-adapters/output-format.js +12 -0
  286. package/dist/subagent-adapters/output-format.js.map +1 -0
  287. package/dist/subagent-adapters/types.d.ts +5 -1
  288. package/dist/subagent-adapters/types.d.ts.map +1 -1
  289. package/dist/subagent-adapters/types.js.map +1 -1
  290. package/dist/subagent-cancel-job.d.ts +25 -0
  291. package/dist/subagent-cancel-job.d.ts.map +1 -0
  292. package/dist/subagent-cancel-job.js +295 -0
  293. package/dist/subagent-cancel-job.js.map +1 -0
  294. package/dist/subagent-cancel-target.d.ts +15 -0
  295. package/dist/subagent-cancel-target.d.ts.map +1 -0
  296. package/dist/subagent-cancel-target.js +22 -0
  297. package/dist/subagent-cancel-target.js.map +1 -0
  298. package/dist/subagent-failure.d.ts +11 -0
  299. package/dist/subagent-failure.d.ts.map +1 -0
  300. package/dist/subagent-failure.js +99 -0
  301. package/dist/subagent-failure.js.map +1 -0
  302. package/dist/subagent-full-control.d.ts +7 -0
  303. package/dist/subagent-full-control.d.ts.map +1 -0
  304. package/dist/subagent-full-control.js +50 -0
  305. package/dist/subagent-full-control.js.map +1 -0
  306. package/dist/subagent-output-persistence.d.ts +12 -0
  307. package/dist/subagent-output-persistence.d.ts.map +1 -0
  308. package/dist/subagent-output-persistence.js +15 -0
  309. package/dist/subagent-output-persistence.js.map +1 -0
  310. package/dist/subagent-run-events.d.ts +17 -0
  311. package/dist/subagent-run-events.d.ts.map +1 -0
  312. package/dist/subagent-run-events.js +60 -0
  313. package/dist/subagent-run-events.js.map +1 -0
  314. package/dist/subagent-run-execution.d.ts +39 -0
  315. package/dist/subagent-run-execution.d.ts.map +1 -0
  316. package/dist/subagent-run-execution.js +145 -0
  317. package/dist/subagent-run-execution.js.map +1 -0
  318. package/dist/subagent-run-helpers.d.ts +35 -0
  319. package/dist/subagent-run-helpers.d.ts.map +1 -0
  320. package/dist/subagent-run-helpers.js +88 -0
  321. package/dist/subagent-run-helpers.js.map +1 -0
  322. package/dist/subagent-run-job.d.ts +33 -0
  323. package/dist/subagent-run-job.d.ts.map +1 -0
  324. package/dist/subagent-run-job.js +74 -0
  325. package/dist/subagent-run-job.js.map +1 -0
  326. package/dist/subagent-run-store.d.ts +6 -0
  327. package/dist/subagent-run-store.d.ts.map +1 -0
  328. package/dist/subagent-run-store.js +22 -0
  329. package/dist/subagent-run-store.js.map +1 -0
  330. package/dist/subagent-shutdown-cancellation.d.ts +22 -0
  331. package/dist/subagent-shutdown-cancellation.d.ts.map +1 -0
  332. package/dist/subagent-shutdown-cancellation.js +127 -0
  333. package/dist/subagent-shutdown-cancellation.js.map +1 -0
  334. package/package.json +10 -7
@@ -1,46 +1,8 @@
1
+ import { parseSubagentRunOutputFormat } from './output-format.js';
1
2
  import { extractJsonFromText, normalizeStringList, toOutputEnvelope } from './utils.js';
2
3
  import path from 'node:path';
3
- import { buildGatewayChildProcessEnv } from '../child-process-env.js';
4
- import { resolveGatewayTmpDir } from '../runtime-paths.js';
5
- function resolveGeminiCommand() {
6
- return process.env.PANORAMA_GEMINI_CLI || process.env.GEMINI_CLI || 'gemini';
7
- }
8
- function withPathEntries(current, entries) {
9
- const parts = (current ?? '')
10
- .split(path.delimiter)
11
- .map((entry) => entry.trim())
12
- .filter(Boolean);
13
- const seen = new Set(parts);
14
- for (const entry of entries) {
15
- if (!entry)
16
- continue;
17
- if (seen.has(entry))
18
- continue;
19
- parts.unshift(entry);
20
- seen.add(entry);
21
- }
22
- return parts.join(path.delimiter);
23
- }
24
- function ensureGeminiPath(env, command) {
25
- const entries = [];
26
- const nodeDir = path.dirname(process.execPath);
27
- if (nodeDir)
28
- entries.push(nodeDir);
29
- if (command && path.isAbsolute(command)) {
30
- entries.push(path.dirname(command));
31
- }
32
- if (entries.length > 0) {
33
- env.PATH = withPathEntries(env.PATH, entries);
34
- }
35
- }
36
- function buildGeminiEnv(systemPromptPath, commandPath) {
37
- const env = buildGatewayChildProcessEnv({ tmpDir: resolveGatewayTmpDir() });
38
- if (systemPromptPath) {
39
- env.GEMINI_SYSTEM_MD = systemPromptPath;
40
- }
41
- ensureGeminiPath(env, commandPath || resolveGeminiCommand());
42
- return env;
43
- }
4
+ import { buildGeminiProviderChildProcessEnv, resolveGeminiProviderCommand, } from '../provider-runtime-utils.js';
5
+ const SAFE_MODE_APPEND_SYSTEM_PROMPT_PREFIX = 'You cannot write or interact with files in this environment.';
44
6
  function findLastAssistantMessage(events) {
45
7
  for (let i = events.length - 1; i >= 0; i -= 1) {
46
8
  const event = events[i].event;
@@ -104,6 +66,9 @@ function normalizeStreamEvents(events) {
104
66
  }
105
67
  return normalized;
106
68
  }
69
+ function isDefaultSafeAppendPrompt(value) {
70
+ return value.includes(SAFE_MODE_APPEND_SYSTEM_PROMPT_PREFIX);
71
+ }
107
72
  export function createGeminiAdapter() {
108
73
  return {
109
74
  id: 'gemini',
@@ -111,10 +76,20 @@ export function createGeminiAdapter() {
111
76
  supportsContinuation: false,
112
77
  buildRunPlan(context) {
113
78
  const config = context.config ?? {};
114
- const rawOutputFormat = typeof config.output_format === 'string' ? config.output_format : '';
115
- const outputFormat = rawOutputFormat === 'text' ? 'text' : 'json';
116
- const command = context.command || resolveGeminiCommand();
79
+ const fullControl = context.fullControl === true;
80
+ const outputFormat = parseSubagentRunOutputFormat(config.output_format);
81
+ const supportFlags = context.support ?? {};
82
+ const command = context.command || resolveGeminiProviderCommand();
117
83
  const args = ['--output-format', outputFormat === 'text' ? 'text' : 'json'];
84
+ if (supportFlags.approvalModeFlag === true) {
85
+ args.push('--approval-mode', fullControl ? 'yolo' : 'plan');
86
+ }
87
+ else if (fullControl && supportFlags.yoloFlag === true) {
88
+ args.push('--yolo');
89
+ }
90
+ if (!fullControl && supportFlags.sandboxFlag === true) {
91
+ args.push('--sandbox');
92
+ }
118
93
  const model = typeof config.model === 'string' ? config.model.trim() : '';
119
94
  if (model) {
120
95
  args.push('--model', model);
@@ -125,7 +100,10 @@ export function createGeminiAdapter() {
125
100
  }
126
101
  let prompt = context.prompt;
127
102
  const systemPrompt = typeof config.system_prompt === 'string' ? config.system_prompt.trim() : '';
128
- const appendSystemPrompt = typeof config.append_system_prompt === 'string' ? config.append_system_prompt.trim() : '';
103
+ const appendSystemPromptRaw = typeof config.append_system_prompt === 'string' ? config.append_system_prompt.trim() : '';
104
+ const appendSystemPrompt = fullControl && isDefaultSafeAppendPrompt(appendSystemPromptRaw)
105
+ ? ''
106
+ : appendSystemPromptRaw;
129
107
  const finalSystemPrompt = [systemPrompt, appendSystemPrompt]
130
108
  .map((value) => value.trim())
131
109
  .filter((value) => value.length > 0)
@@ -148,8 +126,11 @@ export function createGeminiAdapter() {
148
126
  outputFormat,
149
127
  timeoutMs: typeof config.timeout_ms === 'number' ? config.timeout_ms : null,
150
128
  env: systemContents
151
- ? buildGeminiEnv(path.join('{WORKDIR}', 'system.md'), command)
152
- : buildGeminiEnv(undefined, command),
129
+ ? buildGeminiProviderChildProcessEnv({
130
+ systemPromptPath: path.join('{WORKDIR}', 'system.md'),
131
+ commandPath: command,
132
+ })
133
+ : buildGeminiProviderChildProcessEnv({ commandPath: command }),
153
134
  files,
154
135
  };
155
136
  },
@@ -1 +1 @@
1
- {"version":3,"file":"gemini.js","sourceRoot":"","sources":["../../src/subagent-adapters/gemini.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"gemini.js","sourceRoot":"","sources":["../../src/subagent-adapters/gemini.ts"],"names":[],"mappings":"AAQA,OAAO,EAAE,4BAA4B,EAAE,MAAM,oBAAoB,CAAA;AACjE,OAAO,EAAE,mBAAmB,EAAE,mBAAmB,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAA;AACvF,OAAO,IAAI,MAAM,WAAW,CAAA;AAC5B,OAAO,EACL,kCAAkC,EAClC,4BAA4B,GAC7B,MAAM,8BAA8B,CAAA;AAErC,MAAM,qCAAqC,GACzC,8DAA8D,CAAA;AAEhE,SAAS,wBAAwB,CAAC,MAA6B;IAC7D,KAAK,IAAI,CAAC,GAAG,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC;QAC/C,MAAM,KAAK,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC,KAAK,CAAA;QAC7B,IAAI,CAAC,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ;YAAE,SAAQ;QACjD,IAAK,KAAiC,CAAC,IAAI,KAAK,SAAS,EAAE,CAAC;YAC1D,MAAM,IAAI,GAAI,KAAiC,CAAC,IAAI,CAAA;YACpD,MAAM,OAAO,GAAI,KAAiC,CAAC,OAAO,CAAA;YAC1D,IAAI,IAAI,KAAK,WAAW,IAAI,OAAO,OAAO,KAAK,QAAQ,EAAE,CAAC;gBACxD,OAAO,OAAO,CAAA;YAChB,CAAC;QACH,CAAC;IACH,CAAC;IACD,OAAO,IAAI,CAAA;AACb,CAAC;AAED,SAAS,4BAA4B,CAAC,MAA6B;IACjE,MAAM,MAAM,GAAa,EAAE,CAAA;IAC3B,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;QAC3B,MAAM,KAAK,GAAG,KAAK,CAAC,KAAK,CAAA;QACzB,IAAI,CAAC,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ;YAAE,SAAQ;QACjD,IAAK,KAAiC,CAAC,IAAI,KAAK,SAAS,EAAE,CAAC;YAC1D,MAAM,IAAI,GAAI,KAAiC,CAAC,IAAI,CAAA;YACpD,MAAM,OAAO,GAAI,KAAiC,CAAC,OAAO,CAAA;YAC1D,IAAI,IAAI,KAAK,WAAW,IAAI,OAAO,OAAO,KAAK,QAAQ,EAAE,CAAC;gBACxD,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAA;YACtB,CAAC;QACH,CAAC;IACH,CAAC;IACD,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,IAAI,CAAA;IACpC,OAAO,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,IAAI,EAAE,CAAA;AAC/B,CAAC;AAED,SAAS,YAAY,CAAC,MAA6B;IACjD,KAAK,IAAI,CAAC,GAAG,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC;QAC/C,MAAM,KAAK,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC,KAAK,CAAA;QAC7B,IAAI,CAAC,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ;YAAE,SAAQ;QACjD,IAAK,KAAiC,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;YACzD,MAAM,KAAK,GAAI,KAAiC,CAAC,KAAK,CAAA;YACtD,IAAI,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;gBACvC,OAAO,KAAgC,CAAA;YACzC,CAAC;QACH,CAAC;IACH,CAAC;IACD,OAAO,IAAI,CAAA;AACb,CAAC;AAED,SAAS,qBAAqB,CAAC,MAA6B;IAC1D,MAAM,UAAU,GAAyB,EAAE,CAAA;IAC3C,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;QAC3B,MAAM,KAAK,GAAG,KAAK,CAAC,KAAK,CAAA;QACzB,IAAI,CAAC,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ;YAAE,SAAQ;QACjD,IAAK,KAAiC,CAAC,IAAI,KAAK,SAAS,EAAE,CAAC;YAC1D,MAAM,IAAI,GAAI,KAAiC,CAAC,IAAI,CAAA;YACpD,MAAM,OAAO,GAAI,KAAiC,CAAC,OAAO,CAAA;YAC1D,IAAI,OAAO,IAAI,KAAK,QAAQ,IAAI,OAAO,OAAO,KAAK,QAAQ,EAAE,CAAC;gBAC5D,UAAU,CAAC,IAAI,CAAC,EAAE,UAAU,EAAE,SAAS,EAAE,OAAO,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,EAAE,CAAC,CAAA;YACxE,CAAC;QACH,CAAC;IACH,CAAC;IACD,OAAO,UAAU,CAAA;AACnB,CAAC;AAED,SAAS,yBAAyB,CAAC,KAAa;IAC9C,OAAO,KAAK,CAAC,QAAQ,CAAC,qCAAqC,CAAC,CAAA;AAC9D,CAAC;AAED,MAAM,UAAU,mBAAmB;IACjC,OAAO;QACL,EAAE,EAAE,QAAQ;QACZ,KAAK,EAAE,YAAY;QACnB,oBAAoB,EAAE,KAAK;QAC3B,YAAY,CAAC,OAA+B;YAC1C,MAAM,MAAM,GAAG,OAAO,CAAC,MAAM,IAAI,EAAE,CAAA;YACnC,MAAM,WAAW,GAAG,OAAO,CAAC,WAAW,KAAK,IAAI,CAAA;YAChD,MAAM,YAAY,GAAG,4BAA4B,CAAC,MAAM,CAAC,aAAa,CAAC,CAAA;YACvE,MAAM,YAAY,GAAG,OAAO,CAAC,OAAO,IAAI,EAAE,CAAA;YAE1C,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,4BAA4B,EAAE,CAAA;YACjE,MAAM,IAAI,GAAa,CAAC,iBAAiB,EAAE,YAAY,KAAK,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,CAAA;YAErF,IAAI,YAAY,CAAC,gBAAgB,KAAK,IAAI,EAAE,CAAC;gBAC3C,IAAI,CAAC,IAAI,CAAC,iBAAiB,EAAE,WAAW,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,CAAA;YAC7D,CAAC;iBAAM,IAAI,WAAW,IAAI,YAAY,CAAC,QAAQ,KAAK,IAAI,EAAE,CAAC;gBACzD,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAA;YACrB,CAAC;YACD,IAAI,CAAC,WAAW,IAAI,YAAY,CAAC,WAAW,KAAK,IAAI,EAAE,CAAC;gBACtD,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,CAAA;YACxB,CAAC;YAED,MAAM,KAAK,GAAG,OAAO,MAAM,CAAC,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAA;YACzE,IAAI,KAAK,EAAE,CAAC;gBACV,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,KAAK,CAAC,CAAA;YAC7B,CAAC;YAED,MAAM,UAAU,GAAG,mBAAmB,CAAC,MAAM,CAAC,UAAU,CAAC,CAAA;YACzD,IAAI,UAAU,IAAI,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBACxC,IAAI,CAAC,IAAI,CAAC,cAAc,EAAE,UAAU,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAA;YACjD,CAAC;YAED,IAAI,MAAM,GAAG,OAAO,CAAC,MAAM,CAAA;YAC3B,MAAM,YAAY,GAAG,OAAO,MAAM,CAAC,aAAa,KAAK,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,aAAa,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAA;YAChG,MAAM,qBAAqB,GACzB,OAAO,MAAM,CAAC,oBAAoB,KAAK,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,oBAAoB,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAA;YAC3F,MAAM,kBAAkB,GACtB,WAAW,IAAI,yBAAyB,CAAC,qBAAqB,CAAC;gBAC7D,CAAC,CAAC,EAAE;gBACJ,CAAC,CAAC,qBAAqB,CAAA;YAC3B,MAAM,iBAAiB,GAAG,CAAC,YAAY,EAAE,kBAAkB,CAAC;iBACzD,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC;iBAC5B,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC;iBACnC,IAAI,CAAC,IAAI,CAAC,CAAA;YAEb,MAAM,QAAQ,GAAG,YAAY,KAAK,MAAM,CAAA;YACxC,MAAM,cAAc,GAAG,iBAAiB;gBACtC,CAAC,CAAC,QAAQ;oBACR,CAAC,CAAC,GAAG,iBAAiB,wDAAwD;oBAC9E,CAAC,CAAC,iBAAiB;gBACrB,CAAC,CAAC,QAAQ;oBACR,CAAC,CAAC,sDAAsD;oBACxD,CAAC,CAAC,EAAE,CAAA;YAER,MAAM,KAAK,GAA8C,cAAc;gBACrE,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,WAAW,EAAE,QAAQ,EAAE,cAAc,EAAE,CAAC;gBACnD,CAAC,CAAC,EAAE,CAAA;YAEN,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,CAAA;YAEjB,OAAO;gBACL,OAAO;gBACP,IAAI;gBACJ,YAAY;gBACZ,SAAS,EAAE,OAAO,MAAM,CAAC,UAAU,KAAK,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC,IAAI;gBAC3E,GAAG,EAAE,cAAc;oBACjB,CAAC,CAAC,kCAAkC,CAAC;wBACjC,gBAAgB,EAAE,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,WAAW,CAAC;wBACrD,WAAW,EAAE,OAAO;qBACrB,CAAC;oBACJ,CAAC,CAAC,kCAAkC,CAAC,EAAE,WAAW,EAAE,OAAO,EAAE,CAAC;gBAChE,KAAK;aACN,CAAA;QACH,CAAC;QACD,kBAAkB,CAAC,EAAE,MAAM,EAAE,YAAY,EAAE;YACzC,IAAI,YAAY,KAAK,MAAM,EAAE,CAAC;gBAC5B,IAAI,CAAC;oBACH,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAA4B,CAAA;oBAC5D,MAAM,QAAQ,GAAG,OAAO,MAAM,CAAC,QAAQ,KAAK,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAA;oBAC3E,MAAM,EAAE,MAAM,EAAE,UAAU,EAAE,GAAG,mBAAmB,CAAC,QAAQ,CAAC,CAAA;oBAC5D,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,EAAE,UAAU,EAAE,QAAQ,EAAE,EAAE,UAAU,EAAE,CAAA;gBACnE,CAAC;gBAAC,OAAO,KAAK,EAAE,CAAC;oBACf,MAAM,UAAU,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,6BAA6B,CAAA;oBACzF,OAAO;wBACL,MAAM,EAAE,gBAAgB,CAAC,MAAM,CAAC,IAAI,EAAE,EAAE,MAAM,CAAC;wBAC/C,QAAQ,EAAE,EAAE,UAAU,EAAE,QAAQ,EAAE;wBAClC,UAAU;qBACX,CAAA;gBACH,CAAC;YACH,CAAC;YACD,OAAO,EAAE,MAAM,EAAE,gBAAgB,CAAC,MAAM,CAAC,IAAI,EAAE,EAAE,MAAM,CAAC,EAAE,QAAQ,EAAE,EAAE,UAAU,EAAE,QAAQ,EAAE,EAAE,CAAA;QAChG,CAAC;QACD,wBAAwB,CAAC,EAAE,MAAM,EAAE,SAAS,EAAE;YAC5C,MAAM,UAAU,GACd,4BAA4B,CAAC,MAAM,CAAC,IAAI,wBAAwB,CAAC,MAAM,CAAC,IAAI,SAAS,CAAC,IAAI,EAAE,CAAA;YAC9F,MAAM,EAAE,MAAM,EAAE,UAAU,EAAE,GAAG,mBAAmB,CAAC,UAAU,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,CAAA;YACjF,MAAM,QAAQ,GAA4B,EAAE,UAAU,EAAE,QAAQ,EAAE,CAAA;YAClE,MAAM,KAAK,GAAG,YAAY,CAAC,MAAM,CAAC,CAAA;YAClC,IAAI,KAAK;gBAAE,QAAQ,CAAC,KAAK,GAAG,KAAK,CAAA;YACjC,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,UAAU,EAAE,UAAU,IAAI,SAAS,EAAE,CAAA;QAClE,CAAC;QACD,qBAAqB;KACtB,CAAA;AACH,CAAC"}
@@ -0,0 +1,3 @@
1
+ import type { SubagentRunOutputFormat } from './types.js';
2
+ export declare function parseSubagentRunOutputFormat(value: unknown): SubagentRunOutputFormat;
3
+ //# sourceMappingURL=output-format.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"output-format.d.ts","sourceRoot":"","sources":["../../src/subagent-adapters/output-format.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,YAAY,CAAA;AAEzD,wBAAgB,4BAA4B,CAAC,KAAK,EAAE,OAAO,GAAG,uBAAuB,CAQpF"}
@@ -0,0 +1,12 @@
1
+ export function parseSubagentRunOutputFormat(value) {
2
+ if (typeof value !== 'string')
3
+ return 'json';
4
+ const normalized = value.trim().toLowerCase();
5
+ if (normalized === 'text')
6
+ return 'text';
7
+ if (normalized === 'stream-json' || normalized === 'stream_json' || normalized === 'stream') {
8
+ return 'stream-json';
9
+ }
10
+ return 'json';
11
+ }
12
+ //# sourceMappingURL=output-format.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"output-format.js","sourceRoot":"","sources":["../../src/subagent-adapters/output-format.ts"],"names":[],"mappings":"AAEA,MAAM,UAAU,4BAA4B,CAAC,KAAc;IACzD,IAAI,OAAO,KAAK,KAAK,QAAQ;QAAE,OAAO,MAAM,CAAA;IAC5C,MAAM,UAAU,GAAG,KAAK,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,CAAA;IAC7C,IAAI,UAAU,KAAK,MAAM;QAAE,OAAO,MAAM,CAAA;IACxC,IAAI,UAAU,KAAK,aAAa,IAAI,UAAU,KAAK,aAAa,IAAI,UAAU,KAAK,QAAQ,EAAE,CAAC;QAC5F,OAAO,aAAa,CAAA;IACtB,CAAC;IACD,OAAO,MAAM,CAAA;AACf,CAAC"}
@@ -1,4 +1,5 @@
1
- import type { SubagentSchemaVersion } from '@panorama/shared';
1
+ import type { OverflowArtifactPointer } from '@panorama/shared';
2
+ import type { SubagentSchemaVersion } from '@panorama/shared/subagents/contract';
2
3
  export declare const SUBAGENT_SCHEMA_VERSION: SubagentSchemaVersion;
3
4
  export type SubagentOutputContentType = 'markdown' | 'text' | 'json';
4
5
  export type SubagentRunOutputFormat = 'json' | 'text' | 'stream-json';
@@ -15,9 +16,11 @@ export interface SubagentOutputEnvelope {
15
16
  schema_version: number;
16
17
  content: unknown;
17
18
  content_type: SubagentOutputContentType;
19
+ original_content_type?: SubagentOutputContentType;
18
20
  summary?: string;
19
21
  sources?: string[];
20
22
  errors?: string[];
23
+ overflow_artifact?: OverflowArtifactPointer;
21
24
  }
22
25
  export interface SubagentRunPlan {
23
26
  command: string;
@@ -41,6 +44,7 @@ export interface SubagentAdapterContext {
41
44
  config: Record<string, unknown>;
42
45
  command: string;
43
46
  support: Record<string, boolean>;
47
+ fullControl: boolean;
44
48
  resumeSessionId?: string | null;
45
49
  }
46
50
  export interface SubagentAdapter {
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/subagent-adapters/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,kBAAkB,CAAA;AAE7D,eAAO,MAAM,uBAAuB,EAAE,qBAAyB,CAAA;AAE/D,MAAM,MAAM,yBAAyB,GAAG,UAAU,GAAG,MAAM,GAAG,MAAM,CAAA;AACpE,MAAM,MAAM,uBAAuB,GAAG,MAAM,GAAG,MAAM,GAAG,aAAa,CAAA;AAErE,MAAM,WAAW,mBAAmB;IAClC,QAAQ,EAAE,MAAM,CAAA;IAChB,GAAG,EAAE,MAAM,CAAA;IACX,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,CAAA;CACtC;AAED,MAAM,WAAW,kBAAkB;IACjC,UAAU,EAAE,MAAM,CAAA;IAClB,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;CACjC;AAED,MAAM,WAAW,sBAAsB;IACrC,cAAc,EAAE,MAAM,CAAA;IACtB,OAAO,EAAE,OAAO,CAAA;IAChB,YAAY,EAAE,yBAAyB,CAAA;IACvC,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,OAAO,CAAC,EAAE,MAAM,EAAE,CAAA;IAClB,MAAM,CAAC,EAAE,MAAM,EAAE,CAAA;CAClB;AAED,MAAM,WAAW,eAAe;IAC9B,OAAO,EAAE,MAAM,CAAA;IACf,IAAI,EAAE,MAAM,EAAE,CAAA;IACd,YAAY,EAAE,uBAAuB,CAAA;IACrC,SAAS,EAAE,MAAM,GAAG,IAAI,CAAA;IACxB,GAAG,CAAC,EAAE,MAAM,CAAC,UAAU,CAAA;IACvB,KAAK,CAAC,EAAE,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,MAAM,CAAA;KAAE,CAAC,CAAA;CAClD;AAED,MAAM,WAAW,uBAAuB;IACtC,MAAM,EAAE,sBAAsB,CAAA;IAC9B,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;IACjC,WAAW,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,CAAA;IAC5C,UAAU,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;CAC3B;AAED,MAAM,WAAW,sBAAsB;IACrC,MAAM,EAAE,MAAM,CAAA;IACd,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;IAC/B,OAAO,EAAE,MAAM,CAAA;IACf,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;IAChC,eAAe,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;CAChC;AAED,MAAM,WAAW,eAAe;IAC9B,EAAE,EAAE,MAAM,CAAA;IACV,KAAK,EAAE,MAAM,CAAA;IACb,oBAAoB,EAAE,OAAO,CAAA;IAC7B,YAAY,CAAC,OAAO,EAAE,sBAAsB,GAAG,eAAe,CAAA;IAC9D,kBAAkB,CAAC,MAAM,EAAE;QACzB,MAAM,EAAE,MAAM,CAAA;QACd,YAAY,EAAE,MAAM,GAAG,MAAM,CAAA;KAC9B,GAAG,uBAAuB,CAAA;IAC3B,wBAAwB,CAAC,EAAE,CAAC,MAAM,EAAE;QAClC,MAAM,EAAE,mBAAmB,EAAE,CAAA;QAC7B,SAAS,EAAE,MAAM,CAAA;KAClB,KAAK,uBAAuB,CAAA;IAC7B,qBAAqB,CAAC,EAAE,CAAC,MAAM,EAAE,mBAAmB,EAAE,KAAK,kBAAkB,EAAE,CAAA;CAChF"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/subagent-adapters/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,kBAAkB,CAAA;AAC/D,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,qCAAqC,CAAA;AAEhF,eAAO,MAAM,uBAAuB,EAAE,qBAAyB,CAAA;AAE/D,MAAM,MAAM,yBAAyB,GAAG,UAAU,GAAG,MAAM,GAAG,MAAM,CAAA;AACpE,MAAM,MAAM,uBAAuB,GAAG,MAAM,GAAG,MAAM,GAAG,aAAa,CAAA;AAErE,MAAM,WAAW,mBAAmB;IAClC,QAAQ,EAAE,MAAM,CAAA;IAChB,GAAG,EAAE,MAAM,CAAA;IACX,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,CAAA;CACtC;AAED,MAAM,WAAW,kBAAkB;IACjC,UAAU,EAAE,MAAM,CAAA;IAClB,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;CACjC;AAED,MAAM,WAAW,sBAAsB;IACrC,cAAc,EAAE,MAAM,CAAA;IACtB,OAAO,EAAE,OAAO,CAAA;IAChB,YAAY,EAAE,yBAAyB,CAAA;IACvC,qBAAqB,CAAC,EAAE,yBAAyB,CAAA;IACjD,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,OAAO,CAAC,EAAE,MAAM,EAAE,CAAA;IAClB,MAAM,CAAC,EAAE,MAAM,EAAE,CAAA;IACjB,iBAAiB,CAAC,EAAE,uBAAuB,CAAA;CAC5C;AAED,MAAM,WAAW,eAAe;IAC9B,OAAO,EAAE,MAAM,CAAA;IACf,IAAI,EAAE,MAAM,EAAE,CAAA;IACd,YAAY,EAAE,uBAAuB,CAAA;IACrC,SAAS,EAAE,MAAM,GAAG,IAAI,CAAA;IACxB,GAAG,CAAC,EAAE,MAAM,CAAC,UAAU,CAAA;IACvB,KAAK,CAAC,EAAE,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,MAAM,CAAA;KAAE,CAAC,CAAA;CAClD;AAED,MAAM,WAAW,uBAAuB;IACtC,MAAM,EAAE,sBAAsB,CAAA;IAC9B,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;IACjC,WAAW,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,CAAA;IAC5C,UAAU,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;CAC3B;AAED,MAAM,WAAW,sBAAsB;IACrC,MAAM,EAAE,MAAM,CAAA;IACd,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;IAC/B,OAAO,EAAE,MAAM,CAAA;IACf,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;IAChC,WAAW,EAAE,OAAO,CAAA;IACpB,eAAe,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;CAChC;AAED,MAAM,WAAW,eAAe;IAC9B,EAAE,EAAE,MAAM,CAAA;IACV,KAAK,EAAE,MAAM,CAAA;IACb,oBAAoB,EAAE,OAAO,CAAA;IAC7B,YAAY,CAAC,OAAO,EAAE,sBAAsB,GAAG,eAAe,CAAA;IAC9D,kBAAkB,CAAC,MAAM,EAAE;QACzB,MAAM,EAAE,MAAM,CAAA;QACd,YAAY,EAAE,MAAM,GAAG,MAAM,CAAA;KAC9B,GAAG,uBAAuB,CAAA;IAC3B,wBAAwB,CAAC,EAAE,CAAC,MAAM,EAAE;QAClC,MAAM,EAAE,mBAAmB,EAAE,CAAA;QAC7B,SAAS,EAAE,MAAM,CAAA;KAClB,KAAK,uBAAuB,CAAA;IAC7B,qBAAqB,CAAC,EAAE,CAAC,MAAM,EAAE,mBAAmB,EAAE,KAAK,kBAAkB,EAAE,CAAA;CAChF"}
@@ -1 +1 @@
1
- {"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/subagent-adapters/types.ts"],"names":[],"mappings":"AAEA,MAAM,CAAC,MAAM,uBAAuB,GAA0B,CAAC,CAAA"}
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/subagent-adapters/types.ts"],"names":[],"mappings":"AAGA,MAAM,CAAC,MAAM,uBAAuB,GAA0B,CAAC,CAAA"}
@@ -0,0 +1,25 @@
1
+ import type { SupabaseClient } from '@supabase/supabase-js';
2
+ import type { Database } from './database.types.js';
3
+ import type { GatewayConfig } from './gateway-state.js';
4
+ import type { GatewayJobRow } from './gateway-jobs.js';
5
+ import { type SubagentRunEventLogger } from './subagent-run-events.js';
6
+ export type SubagentCancelJobResult = {
7
+ ok: boolean;
8
+ result: Record<string, unknown>;
9
+ error?: string;
10
+ };
11
+ export declare function parseSubagentCancelPayload(payload: Record<string, unknown>): {
12
+ subagentId: string | null;
13
+ runId: string | null;
14
+ reason: string;
15
+ };
16
+ export declare function handleSubagentCancelJob(params: {
17
+ supabase: SupabaseClient<Database>;
18
+ config: GatewayConfig;
19
+ job: GatewayJobRow;
20
+ requestSubagentCancel: (subagentId: string, runId: string | null, reason: string) => {
21
+ active: boolean;
22
+ };
23
+ logError?: SubagentRunEventLogger;
24
+ }): Promise<SubagentCancelJobResult>;
25
+ //# sourceMappingURL=subagent-cancel-job.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"subagent-cancel-job.d.ts","sourceRoot":"","sources":["../src/subagent-cancel-job.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAA;AAC3D,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAA;AACnD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAA;AACvD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAA;AAEtD,OAAO,EAGL,KAAK,sBAAsB,EAC5B,MAAM,0BAA0B,CAAA;AAEjC,MAAM,MAAM,uBAAuB,GAAG;IACpC,EAAE,EAAE,OAAO,CAAA;IACX,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;IAC/B,KAAK,CAAC,EAAE,MAAM,CAAA;CACf,CAAA;AAED,wBAAgB,0BAA0B,CAAC,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG;IAC5E,UAAU,EAAE,MAAM,GAAG,IAAI,CAAA;IACzB,KAAK,EAAE,MAAM,GAAG,IAAI,CAAA;IACpB,MAAM,EAAE,MAAM,CAAA;CACf,CAmBA;AAED,wBAAsB,uBAAuB,CAAC,MAAM,EAAE;IACpD,QAAQ,EAAE,cAAc,CAAC,QAAQ,CAAC,CAAA;IAClC,MAAM,EAAE,aAAa,CAAA;IACrB,GAAG,EAAE,aAAa,CAAA;IAClB,qBAAqB,EAAE,CACrB,UAAU,EAAE,MAAM,EAClB,KAAK,EAAE,MAAM,GAAG,IAAI,EACpB,MAAM,EAAE,MAAM,KACX;QAAE,MAAM,EAAE,OAAO,CAAA;KAAE,CAAA;IACxB,QAAQ,CAAC,EAAE,sBAAsB,CAAA;CAClC,GAAG,OAAO,CAAC,uBAAuB,CAAC,CAoTnC"}
@@ -0,0 +1,295 @@
1
+ import { buildRequestedCancelMetadata, resolveCancelRequest, } from '@panorama/shared/subagents/cancel-orchestrator';
2
+ import { getSubagentCancelAdapter } from '@panorama/shared/subagents/registry';
3
+ import { asJson } from './gateway-run-helpers.js';
4
+ import { getNextSubagentRunEventSequence, insertSubagentRunEvent, } from './subagent-run-events.js';
5
+ export function parseSubagentCancelPayload(payload) {
6
+ const subagentId = typeof payload.subagent_id === 'string'
7
+ ? payload.subagent_id
8
+ : typeof payload.subagentId === 'string'
9
+ ? payload.subagentId
10
+ : null;
11
+ const runId = typeof payload.run_id === 'string'
12
+ ? payload.run_id
13
+ : typeof payload.runId === 'string'
14
+ ? payload.runId
15
+ : null;
16
+ const reason = typeof payload.reason === 'string' && payload.reason.trim().length > 0
17
+ ? payload.reason.trim()
18
+ : 'Cancelled';
19
+ return { subagentId, runId, reason };
20
+ }
21
+ export async function handleSubagentCancelJob(params) {
22
+ const { supabase, config, job, requestSubagentCancel, logError } = params;
23
+ const payload = job.payload ?? {};
24
+ const { subagentId, runId, reason } = parseSubagentCancelPayload(payload);
25
+ if (!subagentId) {
26
+ return {
27
+ ok: false,
28
+ result: { message: 'Missing subagent_id in payload' },
29
+ error: 'Missing subagent_id in payload',
30
+ };
31
+ }
32
+ const { data: subagent, error: subagentError } = await supabase
33
+ .from('subagents')
34
+ .select('id, team_id, gateway_id, subagent_type, status, metadata')
35
+ .eq('id', subagentId)
36
+ .maybeSingle();
37
+ if (subagentError) {
38
+ return {
39
+ ok: false,
40
+ result: { message: 'Failed to load subagent for cancellation', subagent_id: subagentId },
41
+ error: subagentError.message,
42
+ };
43
+ }
44
+ if (!subagent) {
45
+ return {
46
+ ok: true,
47
+ result: {
48
+ subagent_id: subagentId,
49
+ run_id: runId,
50
+ cancelled_active_run: false,
51
+ reason,
52
+ cancel_result: 'no_active_run',
53
+ cancel_state: 'none',
54
+ cancel_supported: false,
55
+ status: 'not_found',
56
+ message: 'Subagent not found; no active run to cancel.',
57
+ },
58
+ };
59
+ }
60
+ if (subagent.gateway_id !== config.gatewayId) {
61
+ return {
62
+ ok: true,
63
+ result: {
64
+ subagent_id: subagentId,
65
+ run_id: runId,
66
+ cancelled_active_run: false,
67
+ reason,
68
+ cancel_result: 'no_active_run',
69
+ cancel_state: 'none',
70
+ cancel_supported: false,
71
+ status: 'running',
72
+ message: 'Subagent is assigned to another gateway; skipping stale cancel request.',
73
+ },
74
+ };
75
+ }
76
+ const metadata = (subagent.metadata ?? {});
77
+ const status = typeof subagent.status === 'string' ? subagent.status : 'unknown';
78
+ const hasGateway = !!subagent.gateway_id;
79
+ const cancelAdapter = getSubagentCancelAdapter(subagent.subagent_type);
80
+ const cancelSupported = cancelAdapter.supported && (cancelAdapter.support !== 'gateway' || hasGateway);
81
+ const cancelSupportMode = cancelAdapter.support;
82
+ const cancellationScope = cancelAdapter.scope;
83
+ let activeRun = null;
84
+ if (status === 'running') {
85
+ const { data: runningRun, error: runningRunError } = await supabase
86
+ .from('subagent_runs')
87
+ .select('id, metadata')
88
+ .eq('subagent_id', subagentId)
89
+ .eq('status', 'running')
90
+ .order('run_sequence', { ascending: false })
91
+ .limit(1)
92
+ .maybeSingle();
93
+ if (runningRunError) {
94
+ return {
95
+ ok: false,
96
+ result: {
97
+ message: 'Failed to resolve active subagent run for cancellation',
98
+ subagent_id: subagentId,
99
+ },
100
+ error: runningRunError.message,
101
+ };
102
+ }
103
+ activeRun = runningRun;
104
+ }
105
+ const resolution = resolveCancelRequest({
106
+ subagent_status: status,
107
+ requested_run_id: runId,
108
+ active_run_id: activeRun?.id ?? null,
109
+ cancel_supported: cancelSupported,
110
+ });
111
+ if (!resolution.accepted) {
112
+ return {
113
+ ok: true,
114
+ result: {
115
+ subagent_id: subagentId,
116
+ run_id: resolution.resolved_run_id,
117
+ active_run_id: activeRun?.id ?? null,
118
+ cancelled_active_run: false,
119
+ reason,
120
+ cancel_result: resolution.cancel_result,
121
+ cancel_state: resolution.cancel_state,
122
+ cancel_supported: cancelSupported,
123
+ status: resolution.status,
124
+ message: resolution.message,
125
+ },
126
+ };
127
+ }
128
+ const resolvedRunId = resolution.resolved_run_id;
129
+ if (!resolvedRunId) {
130
+ return {
131
+ ok: false,
132
+ result: {
133
+ message: 'Cancel accepted without an active run_id',
134
+ subagent_id: subagentId,
135
+ },
136
+ error: 'Cancel accepted without an active run_id',
137
+ };
138
+ }
139
+ const nowIso = new Date().toISOString();
140
+ const mergedMetadata = buildRequestedCancelMetadata({
141
+ base: metadata,
142
+ run_id: resolvedRunId,
143
+ reason,
144
+ requested_at: nowIso,
145
+ cancel_support: cancelSupportMode,
146
+ cancellation_scope: cancellationScope,
147
+ });
148
+ const { data: updatedSubagent, error: subagentUpdateError } = await supabase
149
+ .from('subagents')
150
+ .update({
151
+ metadata: asJson(mergedMetadata),
152
+ })
153
+ .eq('status', 'running')
154
+ .eq('id', subagentId)
155
+ .select('id')
156
+ .maybeSingle();
157
+ if (subagentUpdateError) {
158
+ return {
159
+ ok: false,
160
+ result: {
161
+ message: 'Failed to persist subagent cancellation metadata',
162
+ subagent_id: subagentId,
163
+ run_id: resolvedRunId,
164
+ },
165
+ error: subagentUpdateError.message,
166
+ };
167
+ }
168
+ if (!updatedSubagent) {
169
+ const { data: latestSubagent, error: latestSubagentError } = await supabase
170
+ .from('subagents')
171
+ .select('status')
172
+ .eq('id', subagentId)
173
+ .maybeSingle();
174
+ if (latestSubagentError) {
175
+ return {
176
+ ok: false,
177
+ result: {
178
+ message: 'Failed to refresh subagent status after cancel race',
179
+ subagent_id: subagentId,
180
+ run_id: resolvedRunId,
181
+ },
182
+ error: latestSubagentError.message,
183
+ };
184
+ }
185
+ const latestStatus = typeof latestSubagent?.status === 'string' ? latestSubagent.status : status;
186
+ let latestActiveRunId = null;
187
+ if (latestStatus === 'running') {
188
+ const { data: latestRunningRun, error: latestRunningRunError } = await supabase
189
+ .from('subagent_runs')
190
+ .select('id')
191
+ .eq('subagent_id', subagentId)
192
+ .eq('status', 'running')
193
+ .order('run_sequence', { ascending: false })
194
+ .limit(1)
195
+ .maybeSingle();
196
+ if (latestRunningRunError) {
197
+ return {
198
+ ok: false,
199
+ result: {
200
+ message: 'Failed to refresh active subagent run after cancel race',
201
+ subagent_id: subagentId,
202
+ run_id: resolvedRunId,
203
+ },
204
+ error: latestRunningRunError.message,
205
+ };
206
+ }
207
+ latestActiveRunId = latestRunningRun?.id ?? null;
208
+ }
209
+ const latestResolution = resolveCancelRequest({
210
+ subagent_status: latestStatus,
211
+ requested_run_id: runId,
212
+ active_run_id: latestActiveRunId,
213
+ cancel_supported: cancelSupported,
214
+ });
215
+ return {
216
+ ok: true,
217
+ result: {
218
+ subagent_id: subagentId,
219
+ run_id: latestResolution.resolved_run_id,
220
+ cancelled_active_run: false,
221
+ reason,
222
+ cancel_result: latestResolution.cancel_result,
223
+ cancel_state: latestResolution.cancel_state,
224
+ cancel_supported: cancelSupported,
225
+ status: latestResolution.status,
226
+ message: latestResolution.message,
227
+ },
228
+ };
229
+ }
230
+ if (activeRun) {
231
+ const runMetadata = (activeRun.metadata ?? {});
232
+ const { error: runUpdateError } = await supabase
233
+ .from('subagent_runs')
234
+ .update({
235
+ metadata: asJson(buildRequestedCancelMetadata({
236
+ base: runMetadata,
237
+ run_id: resolvedRunId,
238
+ reason,
239
+ requested_at: nowIso,
240
+ cancel_support: cancelSupportMode,
241
+ cancellation_scope: cancellationScope,
242
+ })),
243
+ })
244
+ .eq('id', resolvedRunId)
245
+ .eq('status', 'running');
246
+ if (runUpdateError) {
247
+ return {
248
+ ok: false,
249
+ result: {
250
+ message: 'Failed to persist run cancellation metadata',
251
+ subagent_id: subagentId,
252
+ run_id: resolvedRunId,
253
+ },
254
+ error: runUpdateError.message,
255
+ };
256
+ }
257
+ }
258
+ const { active } = requestSubagentCancel(subagentId, resolvedRunId, reason);
259
+ if (activeRun) {
260
+ const nextEventSequence = await getNextSubagentRunEventSequence(supabase, resolvedRunId, logError);
261
+ await insertSubagentRunEvent({
262
+ supabase,
263
+ runId: resolvedRunId,
264
+ subagentId,
265
+ teamId: subagent.team_id,
266
+ gatewayId: subagent.gateway_id,
267
+ sequence: nextEventSequence,
268
+ eventType: 'cancellation_requested',
269
+ payload: {
270
+ reason,
271
+ source: 'gateway_cancel_job',
272
+ active_process: active,
273
+ cancel_state: 'requested',
274
+ },
275
+ logError,
276
+ });
277
+ }
278
+ return {
279
+ ok: true,
280
+ result: {
281
+ subagent_id: subagentId,
282
+ run_id: resolvedRunId,
283
+ cancelled_active_run: active,
284
+ reason,
285
+ cancel_result: 'accepted',
286
+ cancel_state: 'requested',
287
+ cancel_supported: cancelSupported,
288
+ status: resolution.status,
289
+ message: cancelSupportMode === 'gateway'
290
+ ? 'Cancel requested and forwarded to gateway.'
291
+ : 'Cancel requested. Worker will stop the run on its next cancellation check.',
292
+ },
293
+ };
294
+ }
295
+ //# sourceMappingURL=subagent-cancel-job.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"subagent-cancel-job.js","sourceRoot":"","sources":["../src/subagent-cancel-job.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,15 @@
1
+ export interface CancelTargetArgs {
2
+ requestedRunId: string | null;
3
+ activeRunId: string | null;
4
+ }
5
+ export type CancelTargetResolution = {
6
+ type: 'resolved';
7
+ resolvedRunId: string;
8
+ activeRunId: string | null;
9
+ } | {
10
+ type: 'no_active_run';
11
+ message: string;
12
+ activeRunId: string | null;
13
+ };
14
+ export declare function resolveCancelTarget(args: CancelTargetArgs): CancelTargetResolution;
15
+ //# sourceMappingURL=subagent-cancel-target.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"subagent-cancel-target.d.ts","sourceRoot":"","sources":["../src/subagent-cancel-target.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,gBAAgB;IAC/B,cAAc,EAAE,MAAM,GAAG,IAAI,CAAA;IAC7B,WAAW,EAAE,MAAM,GAAG,IAAI,CAAA;CAC3B;AAED,MAAM,MAAM,sBAAsB,GAC9B;IACE,IAAI,EAAE,UAAU,CAAA;IAChB,aAAa,EAAE,MAAM,CAAA;IACrB,WAAW,EAAE,MAAM,GAAG,IAAI,CAAA;CAC3B,GACD;IACE,IAAI,EAAE,eAAe,CAAA;IACrB,OAAO,EAAE,MAAM,CAAA;IACf,WAAW,EAAE,MAAM,GAAG,IAAI,CAAA;CAC3B,CAAA;AAEL,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,gBAAgB,GAAG,sBAAsB,CAsBlF"}
@@ -0,0 +1,22 @@
1
+ export function resolveCancelTarget(args) {
2
+ if (args.requestedRunId && args.activeRunId && args.requestedRunId !== args.activeRunId) {
3
+ return {
4
+ type: 'no_active_run',
5
+ message: 'Requested run_id is not the active running subagent run.',
6
+ activeRunId: args.activeRunId,
7
+ };
8
+ }
9
+ if (!args.activeRunId) {
10
+ return {
11
+ type: 'no_active_run',
12
+ message: 'No active subagent run to cancel.',
13
+ activeRunId: args.activeRunId,
14
+ };
15
+ }
16
+ return {
17
+ type: 'resolved',
18
+ resolvedRunId: args.activeRunId,
19
+ activeRunId: args.activeRunId,
20
+ };
21
+ }
22
+ //# sourceMappingURL=subagent-cancel-target.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"subagent-cancel-target.js","sourceRoot":"","sources":["../src/subagent-cancel-target.ts"],"names":[],"mappings":"AAiBA,MAAM,UAAU,mBAAmB,CAAC,IAAsB;IACxD,IAAI,IAAI,CAAC,cAAc,IAAI,IAAI,CAAC,WAAW,IAAI,IAAI,CAAC,cAAc,KAAK,IAAI,CAAC,WAAW,EAAE,CAAC;QACxF,OAAO;YACL,IAAI,EAAE,eAAe;YACrB,OAAO,EAAE,0DAA0D;YACnE,WAAW,EAAE,IAAI,CAAC,WAAW;SAC9B,CAAA;IACH,CAAC;IAED,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC;QACtB,OAAO;YACL,IAAI,EAAE,eAAe;YACrB,OAAO,EAAE,mCAAmC;YAC5C,WAAW,EAAE,IAAI,CAAC,WAAW;SAC9B,CAAA;IACH,CAAC;IAED,OAAO;QACL,IAAI,EAAE,UAAU;QAChB,aAAa,EAAE,IAAI,CAAC,WAAW;QAC/B,WAAW,EAAE,IAAI,CAAC,WAAW;KAC9B,CAAA;AACH,CAAC"}
@@ -0,0 +1,11 @@
1
+ import type { SupabaseClient } from '@supabase/supabase-js';
2
+ import type { Database } from './database.types.js';
3
+ import type { GatewayJobRow } from './gateway-jobs.js';
4
+ export type SubagentFailureLogger = (message: string, data?: Record<string, unknown>) => void;
5
+ export declare function failSubagentRun(params: {
6
+ supabase: SupabaseClient<Database>;
7
+ job: GatewayJobRow;
8
+ errorMessage: string;
9
+ logError?: SubagentFailureLogger;
10
+ }): Promise<void>;
11
+ //# sourceMappingURL=subagent-failure.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"subagent-failure.d.ts","sourceRoot":"","sources":["../src/subagent-failure.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAA;AAC3D,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAA;AAEnD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAA;AAKtD,MAAM,MAAM,qBAAqB,GAAG,CAClC,OAAO,EAAE,MAAM,EACf,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAC3B,IAAI,CAAA;AAET,wBAAsB,eAAe,CAAC,MAAM,EAAE;IAC5C,QAAQ,EAAE,cAAc,CAAC,QAAQ,CAAC,CAAA;IAClC,GAAG,EAAE,aAAa,CAAA;IAClB,YAAY,EAAE,MAAM,CAAA;IACpB,QAAQ,CAAC,EAAE,qBAAqB,CAAA;CACjC,GAAG,OAAO,CAAC,IAAI,CAAC,CA4GhB"}