@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.
- package/README.md +188 -12
- package/dist/child-process-env.d.ts.map +1 -1
- package/dist/child-process-env.js +1 -0
- package/dist/child-process-env.js.map +1 -1
- package/dist/child-process-startup.d.ts +4 -0
- package/dist/child-process-startup.d.ts.map +1 -0
- package/dist/child-process-startup.js +33 -0
- package/dist/child-process-startup.js.map +1 -0
- package/dist/cli-args.d.ts +11 -0
- package/dist/cli-args.d.ts.map +1 -0
- package/dist/cli-args.js +72 -0
- package/dist/cli-args.js.map +1 -0
- package/dist/cli-command-discovery.d.ts +17 -0
- package/dist/cli-command-discovery.d.ts.map +1 -0
- package/dist/cli-command-discovery.js +229 -0
- package/dist/cli-command-discovery.js.map +1 -0
- package/dist/cli-env.d.ts +7 -0
- package/dist/cli-env.d.ts.map +1 -0
- package/dist/cli-env.js +82 -0
- package/dist/cli-env.js.map +1 -0
- package/dist/cli-output.d.ts +23 -0
- package/dist/cli-output.d.ts.map +1 -0
- package/dist/cli-output.js +86 -0
- package/dist/cli-output.js.map +1 -0
- package/dist/cli-provider-commands.d.ts +59 -0
- package/dist/cli-provider-commands.d.ts.map +1 -0
- package/dist/cli-provider-commands.js +157 -0
- package/dist/cli-provider-commands.js.map +1 -0
- package/dist/cli-providers/claude.d.ts.map +1 -1
- package/dist/cli-providers/claude.js +11 -110
- package/dist/cli-providers/claude.js.map +1 -1
- package/dist/cli-providers/codex.d.ts.map +1 -1
- package/dist/cli-providers/codex.js +14 -53
- package/dist/cli-providers/codex.js.map +1 -1
- package/dist/cli-providers/gemini.d.ts.map +1 -1
- package/dist/cli-providers/gemini.js +30 -88
- package/dist/cli-providers/gemini.js.map +1 -1
- package/dist/cli-providers/types.d.ts +3 -1
- package/dist/cli-providers/types.d.ts.map +1 -1
- package/dist/cli-providers/types.js.map +1 -1
- package/dist/database.types.d.ts +4688 -616
- package/dist/database.types.d.ts.map +1 -1
- package/dist/database.types.js.map +1 -1
- package/dist/debug-redaction.d.ts +11 -0
- package/dist/debug-redaction.d.ts.map +1 -1
- package/dist/debug-redaction.js +33 -4
- package/dist/debug-redaction.js.map +1 -1
- package/dist/finalize-subagent-run.d.ts +28 -0
- package/dist/finalize-subagent-run.d.ts.map +1 -0
- package/dist/finalize-subagent-run.js +34 -0
- package/dist/finalize-subagent-run.js.map +1 -0
- package/dist/gateway-capability-services.d.ts +10 -0
- package/dist/gateway-capability-services.d.ts.map +1 -0
- package/dist/gateway-capability-services.js +40 -0
- package/dist/gateway-capability-services.js.map +1 -0
- package/dist/gateway-cli-commands.d.ts +25 -0
- package/dist/gateway-cli-commands.d.ts.map +1 -0
- package/dist/gateway-cli-commands.js +202 -0
- package/dist/gateway-cli-commands.js.map +1 -0
- package/dist/gateway-command-runner.d.ts +48 -0
- package/dist/gateway-command-runner.d.ts.map +1 -0
- package/dist/gateway-command-runner.js +154 -0
- package/dist/gateway-command-runner.js.map +1 -0
- package/dist/gateway-control-plane.d.ts +44 -0
- package/dist/gateway-control-plane.d.ts.map +1 -0
- package/dist/gateway-control-plane.js +147 -0
- package/dist/gateway-control-plane.js.map +1 -0
- package/dist/gateway-daemon.d.ts +41 -0
- package/dist/gateway-daemon.d.ts.map +1 -0
- package/dist/gateway-daemon.js +69 -0
- package/dist/gateway-daemon.js.map +1 -0
- package/dist/gateway-doctor.d.ts +45 -0
- package/dist/gateway-doctor.d.ts.map +1 -0
- package/dist/gateway-doctor.js +81 -0
- package/dist/gateway-doctor.js.map +1 -0
- package/dist/gateway-execution-support.d.ts +56 -0
- package/dist/gateway-execution-support.d.ts.map +1 -0
- package/dist/gateway-execution-support.js +135 -0
- package/dist/gateway-execution-support.js.map +1 -0
- package/dist/gateway-job-controller.d.ts +68 -0
- package/dist/gateway-job-controller.d.ts.map +1 -0
- package/dist/gateway-job-controller.js +266 -0
- package/dist/gateway-job-controller.js.map +1 -0
- package/dist/gateway-job-handlers.d.ts +76 -0
- package/dist/gateway-job-handlers.d.ts.map +1 -0
- package/dist/gateway-job-handlers.js +235 -0
- package/dist/gateway-job-handlers.js.map +1 -0
- package/dist/gateway-job-processor.d.ts +24 -0
- package/dist/gateway-job-processor.d.ts.map +1 -0
- package/dist/gateway-job-processor.js +90 -0
- package/dist/gateway-job-processor.js.map +1 -0
- package/dist/gateway-job-store.d.ts +13 -0
- package/dist/gateway-job-store.d.ts.map +1 -0
- package/dist/gateway-job-store.js +106 -0
- package/dist/gateway-job-store.js.map +1 -0
- package/dist/gateway-jobs.d.ts +31 -0
- package/dist/gateway-jobs.d.ts.map +1 -0
- package/dist/gateway-jobs.js +52 -0
- package/dist/gateway-jobs.js.map +1 -0
- package/dist/gateway-lifecycle.d.ts +43 -0
- package/dist/gateway-lifecycle.d.ts.map +1 -0
- package/dist/gateway-lifecycle.js +62 -0
- package/dist/gateway-lifecycle.js.map +1 -0
- package/dist/gateway-local-runtime.d.ts +68 -0
- package/dist/gateway-local-runtime.d.ts.map +1 -0
- package/dist/gateway-local-runtime.js +208 -0
- package/dist/gateway-local-runtime.js.map +1 -0
- package/dist/gateway-model-run.d.ts +48 -0
- package/dist/gateway-model-run.d.ts.map +1 -0
- package/dist/gateway-model-run.js +205 -0
- package/dist/gateway-model-run.js.map +1 -0
- package/dist/gateway-operational-status.d.ts +15 -0
- package/dist/gateway-operational-status.d.ts.map +1 -0
- package/dist/gateway-operational-status.js +24 -0
- package/dist/gateway-operational-status.js.map +1 -0
- package/dist/gateway-pairing.d.ts +58 -0
- package/dist/gateway-pairing.d.ts.map +1 -0
- package/dist/gateway-pairing.js +151 -0
- package/dist/gateway-pairing.js.map +1 -0
- package/dist/gateway-provider-capabilities.d.ts +59 -0
- package/dist/gateway-provider-capabilities.d.ts.map +1 -0
- package/dist/gateway-provider-capabilities.js +231 -0
- package/dist/gateway-provider-capabilities.js.map +1 -0
- package/dist/gateway-provider-health.d.ts +19 -0
- package/dist/gateway-provider-health.d.ts.map +1 -0
- package/dist/gateway-provider-health.js +75 -0
- package/dist/gateway-provider-health.js.map +1 -0
- package/dist/gateway-provider-runtime.d.ts +72 -0
- package/dist/gateway-provider-runtime.d.ts.map +1 -0
- package/dist/gateway-provider-runtime.js +169 -0
- package/dist/gateway-provider-runtime.js.map +1 -0
- package/dist/gateway-restart.d.ts +8 -0
- package/dist/gateway-restart.d.ts.map +1 -0
- package/dist/gateway-restart.js +129 -0
- package/dist/gateway-restart.js.map +1 -0
- package/dist/gateway-run-helpers.d.ts +35 -0
- package/dist/gateway-run-helpers.d.ts.map +1 -0
- package/dist/gateway-run-helpers.js +203 -0
- package/dist/gateway-run-helpers.js.map +1 -0
- package/dist/gateway-runtime-provider-health.d.ts +31 -0
- package/dist/gateway-runtime-provider-health.d.ts.map +1 -0
- package/dist/gateway-runtime-provider-health.js +99 -0
- package/dist/gateway-runtime-provider-health.js.map +1 -0
- package/dist/gateway-runtime-state.d.ts +35 -0
- package/dist/gateway-runtime-state.d.ts.map +1 -0
- package/dist/gateway-runtime-state.js +18 -0
- package/dist/gateway-runtime-state.js.map +1 -0
- package/dist/gateway-shell-exec.d.ts +46 -0
- package/dist/gateway-shell-exec.d.ts.map +1 -0
- package/dist/gateway-shell-exec.js +130 -0
- package/dist/gateway-shell-exec.js.map +1 -0
- package/dist/gateway-start-command.d.ts +28 -0
- package/dist/gateway-start-command.d.ts.map +1 -0
- package/dist/gateway-start-command.js +101 -0
- package/dist/gateway-start-command.js.map +1 -0
- package/dist/gateway-state.d.ts +29 -0
- package/dist/gateway-state.d.ts.map +1 -0
- package/dist/gateway-state.js +97 -0
- package/dist/gateway-state.js.map +1 -0
- package/dist/gateway-subagent-run-finalizer.d.ts +27 -0
- package/dist/gateway-subagent-run-finalizer.d.ts.map +1 -0
- package/dist/gateway-subagent-run-finalizer.js +196 -0
- package/dist/gateway-subagent-run-finalizer.js.map +1 -0
- package/dist/gateway-subagent-run-job.d.ts +4 -0
- package/dist/gateway-subagent-run-job.d.ts.map +1 -0
- package/dist/gateway-subagent-run-job.js +430 -0
- package/dist/gateway-subagent-run-job.js.map +1 -0
- package/dist/gateway-subagent-run-target.d.ts +16 -0
- package/dist/gateway-subagent-run-target.d.ts.map +1 -0
- package/dist/gateway-subagent-run-target.js +239 -0
- package/dist/gateway-subagent-run-target.js.map +1 -0
- package/dist/gateway-subagent-run-types.d.ts +110 -0
- package/dist/gateway-subagent-run-types.d.ts.map +1 -0
- package/dist/gateway-subagent-run-types.js +2 -0
- package/dist/gateway-subagent-run-types.js.map +1 -0
- package/dist/index.js +11656 -3901
- package/dist/index.js.map +7 -1
- package/dist/job-queue.d.ts +23 -0
- package/dist/job-queue.d.ts.map +1 -0
- package/dist/job-queue.js +70 -0
- package/dist/job-queue.js.map +1 -0
- package/dist/local-runtime/heartbeat-supervisor.d.ts +39 -0
- package/dist/local-runtime/heartbeat-supervisor.d.ts.map +1 -0
- package/dist/local-runtime/heartbeat-supervisor.js +96 -0
- package/dist/local-runtime/heartbeat-supervisor.js.map +1 -0
- package/dist/local-runtime/restart-supervisor.d.ts +27 -0
- package/dist/local-runtime/restart-supervisor.d.ts.map +1 -0
- package/dist/local-runtime/restart-supervisor.js +169 -0
- package/dist/local-runtime/restart-supervisor.js.map +1 -0
- package/dist/local-runtime/runtime-utils.d.ts +20 -0
- package/dist/local-runtime/runtime-utils.d.ts.map +1 -0
- package/dist/local-runtime/runtime-utils.js +54 -0
- package/dist/local-runtime/runtime-utils.js.map +1 -0
- package/dist/local-runtime/shutdown-supervisor.d.ts +32 -0
- package/dist/local-runtime/shutdown-supervisor.d.ts.map +1 -0
- package/dist/local-runtime/shutdown-supervisor.js +110 -0
- package/dist/local-runtime/shutdown-supervisor.js.map +1 -0
- package/dist/local-runtime/types.d.ts +26 -0
- package/dist/local-runtime/types.d.ts.map +1 -0
- package/dist/local-runtime/types.js +2 -0
- package/dist/local-runtime/types.js.map +1 -0
- package/dist/managed-runtime/config.d.ts +20 -0
- package/dist/managed-runtime/config.d.ts.map +1 -0
- package/dist/managed-runtime/config.js +80 -0
- package/dist/managed-runtime/config.js.map +1 -0
- package/dist/managed-runtime/control-client.d.ts +66 -0
- package/dist/managed-runtime/control-client.d.ts.map +1 -0
- package/dist/managed-runtime/control-client.js +142 -0
- package/dist/managed-runtime/control-client.js.map +1 -0
- package/dist/managed-runtime/dependencies.d.ts +17 -0
- package/dist/managed-runtime/dependencies.d.ts.map +1 -0
- package/dist/managed-runtime/dependencies.js +28 -0
- package/dist/managed-runtime/dependencies.js.map +1 -0
- package/dist/managed-runtime/execution-dispatcher.d.ts +25 -0
- package/dist/managed-runtime/execution-dispatcher.d.ts.map +1 -0
- package/dist/managed-runtime/execution-dispatcher.js +155 -0
- package/dist/managed-runtime/execution-dispatcher.js.map +1 -0
- package/dist/managed-runtime/heartbeat.d.ts +7 -0
- package/dist/managed-runtime/heartbeat.d.ts.map +1 -0
- package/dist/managed-runtime/heartbeat.js +44 -0
- package/dist/managed-runtime/heartbeat.js.map +1 -0
- package/dist/managed-runtime/host-state.d.ts +15 -0
- package/dist/managed-runtime/host-state.d.ts.map +1 -0
- package/dist/managed-runtime/host-state.js +50 -0
- package/dist/managed-runtime/host-state.js.map +1 -0
- package/dist/managed-runtime/realtime.d.ts +25 -0
- package/dist/managed-runtime/realtime.d.ts.map +1 -0
- package/dist/managed-runtime/realtime.js +189 -0
- package/dist/managed-runtime/realtime.js.map +1 -0
- package/dist/managed-runtime/runtime-utils.d.ts +8 -0
- package/dist/managed-runtime/runtime-utils.d.ts.map +1 -0
- package/dist/managed-runtime/runtime-utils.js +39 -0
- package/dist/managed-runtime/runtime-utils.js.map +1 -0
- package/dist/managed-runtime/shell-execution.d.ts +33 -0
- package/dist/managed-runtime/shell-execution.d.ts.map +1 -0
- package/dist/managed-runtime/shell-execution.js +186 -0
- package/dist/managed-runtime/shell-execution.js.map +1 -0
- package/dist/managed-runtime/step-result.d.ts +22 -0
- package/dist/managed-runtime/step-result.d.ts.map +1 -0
- package/dist/managed-runtime/step-result.js +252 -0
- package/dist/managed-runtime/step-result.js.map +1 -0
- package/dist/managed-runtime/wake-signal.d.ts +5 -0
- package/dist/managed-runtime/wake-signal.d.ts.map +1 -0
- package/dist/managed-runtime/wake-signal.js +29 -0
- package/dist/managed-runtime/wake-signal.js.map +1 -0
- package/dist/managed-runtime.d.ts +8 -0
- package/dist/managed-runtime.d.ts.map +1 -0
- package/dist/managed-runtime.js +224 -0
- package/dist/managed-runtime.js.map +1 -0
- package/dist/process-control.d.ts +9 -0
- package/dist/process-control.d.ts.map +1 -0
- package/dist/process-control.js +32 -0
- package/dist/process-control.js.map +1 -0
- package/dist/process-output-capture.d.ts +21 -0
- package/dist/process-output-capture.d.ts.map +1 -0
- package/dist/process-output-capture.js +47 -0
- package/dist/process-output-capture.js.map +1 -0
- package/dist/provider-runtime-utils.d.ts +24 -0
- package/dist/provider-runtime-utils.d.ts.map +1 -0
- package/dist/provider-runtime-utils.js +97 -0
- package/dist/provider-runtime-utils.js.map +1 -0
- package/dist/remote-shell-resource.d.ts +30 -0
- package/dist/remote-shell-resource.d.ts.map +1 -0
- package/dist/remote-shell-resource.js +105 -0
- package/dist/remote-shell-resource.js.map +1 -0
- package/dist/stream-json-collector.d.ts +28 -0
- package/dist/stream-json-collector.d.ts.map +1 -0
- package/dist/stream-json-collector.js +68 -0
- package/dist/stream-json-collector.js.map +1 -0
- package/dist/subagent-adapters/claude-code.d.ts.map +1 -1
- package/dist/subagent-adapters/claude-code.js +55 -17
- package/dist/subagent-adapters/claude-code.js.map +1 -1
- package/dist/subagent-adapters/claude-support.d.ts +2 -0
- package/dist/subagent-adapters/claude-support.d.ts.map +1 -1
- package/dist/subagent-adapters/claude-support.js +4 -0
- package/dist/subagent-adapters/claude-support.js.map +1 -1
- package/dist/subagent-adapters/codex.d.ts.map +1 -1
- package/dist/subagent-adapters/codex.js +37 -24
- package/dist/subagent-adapters/codex.js.map +1 -1
- package/dist/subagent-adapters/gemini.d.ts.map +1 -1
- package/dist/subagent-adapters/gemini.js +28 -47
- package/dist/subagent-adapters/gemini.js.map +1 -1
- package/dist/subagent-adapters/output-format.d.ts +3 -0
- package/dist/subagent-adapters/output-format.d.ts.map +1 -0
- package/dist/subagent-adapters/output-format.js +12 -0
- package/dist/subagent-adapters/output-format.js.map +1 -0
- package/dist/subagent-adapters/types.d.ts +5 -1
- package/dist/subagent-adapters/types.d.ts.map +1 -1
- package/dist/subagent-adapters/types.js.map +1 -1
- package/dist/subagent-cancel-job.d.ts +25 -0
- package/dist/subagent-cancel-job.d.ts.map +1 -0
- package/dist/subagent-cancel-job.js +295 -0
- package/dist/subagent-cancel-job.js.map +1 -0
- package/dist/subagent-cancel-target.d.ts +15 -0
- package/dist/subagent-cancel-target.d.ts.map +1 -0
- package/dist/subagent-cancel-target.js +22 -0
- package/dist/subagent-cancel-target.js.map +1 -0
- package/dist/subagent-failure.d.ts +11 -0
- package/dist/subagent-failure.d.ts.map +1 -0
- package/dist/subagent-failure.js +99 -0
- package/dist/subagent-failure.js.map +1 -0
- package/dist/subagent-full-control.d.ts +7 -0
- package/dist/subagent-full-control.d.ts.map +1 -0
- package/dist/subagent-full-control.js +50 -0
- package/dist/subagent-full-control.js.map +1 -0
- package/dist/subagent-output-persistence.d.ts +12 -0
- package/dist/subagent-output-persistence.d.ts.map +1 -0
- package/dist/subagent-output-persistence.js +15 -0
- package/dist/subagent-output-persistence.js.map +1 -0
- package/dist/subagent-run-events.d.ts +17 -0
- package/dist/subagent-run-events.d.ts.map +1 -0
- package/dist/subagent-run-events.js +60 -0
- package/dist/subagent-run-events.js.map +1 -0
- package/dist/subagent-run-execution.d.ts +39 -0
- package/dist/subagent-run-execution.d.ts.map +1 -0
- package/dist/subagent-run-execution.js +145 -0
- package/dist/subagent-run-execution.js.map +1 -0
- package/dist/subagent-run-helpers.d.ts +35 -0
- package/dist/subagent-run-helpers.d.ts.map +1 -0
- package/dist/subagent-run-helpers.js +88 -0
- package/dist/subagent-run-helpers.js.map +1 -0
- package/dist/subagent-run-job.d.ts +33 -0
- package/dist/subagent-run-job.d.ts.map +1 -0
- package/dist/subagent-run-job.js +74 -0
- package/dist/subagent-run-job.js.map +1 -0
- package/dist/subagent-run-store.d.ts +6 -0
- package/dist/subagent-run-store.d.ts.map +1 -0
- package/dist/subagent-run-store.js +22 -0
- package/dist/subagent-run-store.js.map +1 -0
- package/dist/subagent-shutdown-cancellation.d.ts +22 -0
- package/dist/subagent-shutdown-cancellation.d.ts.map +1 -0
- package/dist/subagent-shutdown-cancellation.js +127 -0
- package/dist/subagent-shutdown-cancellation.js.map +1 -0
- 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 {
|
|
4
|
-
|
|
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
|
|
115
|
-
const outputFormat =
|
|
116
|
-
const
|
|
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
|
|
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
|
-
?
|
|
152
|
-
|
|
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":"
|
|
1
|
+
{"version":3,"file":"gemini.js","sourceRoot":"","sources":["../../src/subagent-adapters/gemini.ts"],"names":[],"mappings":"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"}
|
|
@@ -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 {
|
|
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,
|
|
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":"
|
|
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"}
|