@posthog/wizard 2.78.0 → 2.79.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +20 -11
- package/dist/PickerMenu-dG5DQCZA.js +758 -0
- package/dist/PickerMenu-dG5DQCZA.js.map +1 -0
- package/dist/{add-mcp-server-to-clients-JMv8LP-O.js → add-mcp-server-to-clients-DIaTRWMY.js} +7 -18
- package/dist/{add-mcp-server-to-clients-JMv8LP-O.js.map → add-mcp-server-to-clients-DIaTRWMY.js.map} +1 -1
- package/dist/add-mcp-server-to-clients-artmN7mz.js +2 -0
- package/dist/agent-BEjARD2a.js +6 -0
- package/dist/{agent-bCZ3i3fh.js → agent-BWFhuLgo.js} +131 -38
- package/dist/agent-BWFhuLgo.js.map +1 -0
- package/dist/{agent-interface-BAOIHuXS.js → agent-interface-FkbaBJwz.js} +66 -28
- package/dist/agent-interface-FkbaBJwz.js.map +1 -0
- package/dist/{agent-prompt-loader-7Pd4CfZO.js → agent-prompt-loader-D0weQ-7k.js} +5 -5
- package/dist/{agent-prompt-loader-7Pd4CfZO.js.map → agent-prompt-loader-D0weQ-7k.js.map} +1 -1
- package/dist/analytics-DFtbRjYh.js +2 -0
- package/dist/{analytics-CHCZ_qUR.js → analytics-DXK1gc12.js} +4 -4
- package/dist/{analytics-CHCZ_qUR.js.map → analytics-DXK1gc12.js.map} +1 -1
- package/dist/api-Cm9UtKZh.js +2 -0
- package/dist/{api-Diy_2fp8.js → api-CrbCIQOz.js} +4 -16
- package/dist/{api-Diy_2fp8.js.map → api-CrbCIQOz.js.map} +1 -1
- package/dist/bin.js +5 -2957
- package/dist/bin.js.map +1 -1
- package/dist/{bounded-fs-Bx9zTe6m.js → bounded-fs-vAq-T-K7.js} +3 -3
- package/dist/{bounded-fs-Bx9zTe6m.js.map → bounded-fs-vAq-T-K7.js.map} +1 -1
- package/dist/{ci-install-CDdQYsPe.js → ci-install-COcV8SY2.js} +8 -7
- package/dist/ci-install-COcV8SY2.js.map +1 -0
- package/dist/{constants-jFI2SaE1.js → constants-DHCBSfnx.js} +3 -3
- package/dist/{constants-jFI2SaE1.js.map → constants-DHCBSfnx.js.map} +1 -1
- package/dist/{debug-M2gV2iDq.js → debug-BuYHGr6_.js} +1 -1
- package/dist/{debug-Ch4BDOtD.js → debug-kAHwWGg7.js} +2 -2
- package/dist/{debug-Ch4BDOtD.js.map → debug-kAHwWGg7.js.map} +1 -1
- package/dist/{defaults-C6J7yL4O.js → defaults-a9TelDhJ.js} +1 -1
- package/dist/{defaults-C6J7yL4O.js.map → defaults-a9TelDhJ.js.map} +1 -1
- package/dist/emit-BSetXzDV.js +69 -0
- package/dist/emit-BSetXzDV.js.map +1 -0
- package/dist/{endpoints-DCVbM06L.js → endpoints-BVMYm9F4.js} +3 -3
- package/dist/{endpoints-DCVbM06L.js.map → endpoints-BVMYm9F4.js.map} +1 -1
- package/dist/{env-api-key-Qx8NnYHm.js → env-api-key-BP-NFFXt.js} +3 -5
- package/dist/{env-api-key-Qx8NnYHm.js.map → env-api-key-BP-NFFXt.js.map} +1 -1
- package/dist/env-api-key-CaWEDj_9.js +2 -0
- package/dist/{environment-B07Bmxae.js → environment-BATlQxcQ.js} +5 -10
- package/dist/{environment-B07Bmxae.js.map → environment-BATlQxcQ.js.map} +1 -1
- package/dist/environment-CwD8OPYj.js +2 -0
- package/dist/errors-C2domSkK.js +79 -0
- package/dist/errors-C2domSkK.js.map +1 -0
- package/dist/file-C5JMsyR1.js +2 -0
- package/dist/{file-BcLTjU16.js → file-DcRKycV8.js} +4 -4
- package/dist/file-DcRKycV8.js.map +1 -0
- package/dist/{file-watcher-DWc_bTs6.js → file-watcher-Brq2nnHV.js} +2 -2
- package/dist/{file-watcher-DWc_bTs6.js.map → file-watcher-Brq2nnHV.js.map} +1 -1
- package/dist/{gateway-CjoShdLa.js → gateway-C9-GlLO9.js} +39 -8
- package/dist/gateway-C9-GlLO9.js.map +1 -0
- package/dist/{headless-ui-BFFmYC4v.js → headless-ui-CqI2gXlD.js} +2 -2
- package/dist/{headless-ui-BFFmYC4v.js.map → headless-ui-CqI2gXlD.js.map} +1 -1
- package/dist/{interactive-D6zV7brJ.js → interactive-B_Ti_CsS.js} +3 -3
- package/dist/interactive-B_Ti_CsS.js.map +1 -0
- package/dist/{logging-ui-_TwoMNbG.js → logging-ui-Dza4D0MK.js} +5 -5
- package/dist/{logging-ui-_TwoMNbG.js.map → logging-ui-Dza4D0MK.js.map} +1 -1
- package/dist/main-CgKxbwMP.js +1396 -0
- package/dist/main-CgKxbwMP.js.map +1 -0
- package/dist/{mcp-DAgaoGk5.js → mcp-DnAyW0-w.js} +4 -4
- package/dist/{mcp-DAgaoGk5.js.map → mcp-DnAyW0-w.js.map} +1 -1
- package/dist/{mcp-prompt-streaming-I2U_X7BC.js → mcp-prompt-streaming-DDWQ-FCA.js} +6 -6
- package/dist/mcp-prompt-streaming-DDWQ-FCA.js.map +1 -0
- package/dist/{mint-failure-D4nd2XmZ.js → mint-failure-u8xQKNOn.js} +689 -126
- package/dist/mint-failure-u8xQKNOn.js.map +1 -0
- package/dist/{models-DDdBJKwT.js → models-WcwUnSKb.js} +2 -2
- package/dist/{models-DDdBJKwT.js.map → models-WcwUnSKb.js.map} +1 -1
- package/dist/{non-interactive-Dzow7YKY.js → non-interactive-DyVC1AGc.js} +4 -3
- package/dist/{non-interactive-Dzow7YKY.js.map → non-interactive-DyVC1AGc.js.map} +1 -1
- package/dist/{oauth-session-DJ8h6GFa.js → oauth-session-DYM2Hrl2.js} +2 -2
- package/dist/{oauth-session-DJ8h6GFa.js.map → oauth-session-DYM2Hrl2.js.map} +1 -1
- package/dist/{orchestrator-tools-szcdscwn.js → orchestrator-tools-DbgNBFGA.js} +3 -3
- package/dist/{orchestrator-tools-szcdscwn.js.map → orchestrator-tools-DbgNBFGA.js.map} +1 -1
- package/dist/{package-json-DY70kkNp.js → package-json-Atg34fa4.js} +2 -8
- package/dist/{package-json-DY70kkNp.js.map → package-json-Atg34fa4.js.map} +1 -1
- package/dist/package-json-D8Ga03tK.js +2 -0
- package/dist/{pi-D3h5Ok0i.js → pi-8KsYsPmM.js} +145 -45
- package/dist/pi-8KsYsPmM.js.map +1 -0
- package/dist/{playground-5AB4WgNF.js → playground-BlYRBMj7.js} +11 -11
- package/dist/playground-BlYRBMj7.js.map +1 -0
- package/dist/{posthog-DNn574nW.js → posthog-Bt0Aplb8.js} +4 -9
- package/dist/posthog-Bt0Aplb8.js.map +1 -0
- package/dist/posthog-CUgCEhH0.js +2 -0
- package/dist/{provisioning-B8uSqRZk.js → provisioning-Bo2NRxFz.js} +5 -11
- package/dist/{provisioning-B8uSqRZk.js.map → provisioning-Bo2NRxFz.js.map} +1 -1
- package/dist/provisioning-OGFGlzf7.js +2 -0
- package/dist/{queue-tools-9OOVx5TE.js → queue-tools-C8mXOh7e.js} +3 -3
- package/dist/{queue-tools-9OOVx5TE.js.map → queue-tools-C8mXOh7e.js.map} +1 -1
- package/dist/registry-C06e_x-p.js +2 -0
- package/dist/{registry-8YG-kuXk.js → registry-CD5RQt38.js} +51 -53
- package/dist/registry-CD5RQt38.js.map +1 -0
- package/dist/run-agent-legacy-ChacZImU.js +2 -0
- package/dist/{run-agent-legacy-d7rWlzQR.js → run-agent-legacy-DOlM6DQu.js} +823 -1022
- package/dist/run-agent-legacy-DOlM6DQu.js.map +1 -0
- package/dist/runners-ov3EXF1n.js +834 -0
- package/dist/runners-ov3EXF1n.js.map +1 -0
- package/dist/{security-Cg_4a7vB.js → security-C71pkwqH.js} +16 -6
- package/dist/security-C71pkwqH.js.map +1 -0
- package/dist/{setup-utils-CmTCTPkX.js → setup-utils-B26Lf2yF.js} +12 -22
- package/dist/setup-utils-B26Lf2yF.js.map +1 -0
- package/dist/setup-utils-CVS86NYR.js +2 -0
- package/dist/{start-tui-CB2PZs1x.js → start-tui-Bo2L0bar.js} +30 -28
- package/dist/start-tui-Bo2L0bar.js.map +1 -0
- package/dist/{steps-BZcXRJNY.js → steps-BPcg3_3Q.js} +7 -7
- package/dist/{steps-BZcXRJNY.js.map → steps-BPcg3_3Q.js.map} +1 -1
- package/dist/{store-UN7c-ASf.js → store-BTzcvRGT.js} +12 -18
- package/dist/store-BTzcvRGT.js.map +1 -0
- package/dist/store-BpqySPXm.js +5 -0
- package/dist/{subagent-BofIDK-O.js → subagent-D1TrTchE.js} +3 -3
- package/dist/{subagent-BofIDK-O.js.map → subagent-D1TrTchE.js.map} +1 -1
- package/dist/{task-r9t1UhQP.js → task-DqRlQBfs.js} +18 -16
- package/dist/task-DqRlQBfs.js.map +1 -0
- package/dist/{task-stream-CMUilu54.js → task-stream-Bw6JaLCX.js} +10 -10
- package/dist/task-stream-Bw6JaLCX.js.map +1 -0
- package/dist/{tasks-Bbv_lOBG.js → tasks-ChWufsdO.js} +1 -1
- package/dist/{tasks-Bbv_lOBG.js.map → tasks-ChWufsdO.js.map} +1 -1
- package/dist/{telemetry-D6ruCtnv.js → telemetry-B7zJdRmA.js} +3 -3
- package/dist/{telemetry-D6ruCtnv.js.map → telemetry-B7zJdRmA.js.map} +1 -1
- package/dist/{terminal-DrGyci_a.js → terminal-zgkEfoCL.js} +17 -17
- package/dist/terminal-zgkEfoCL.js.map +1 -0
- package/dist/{tools-Dyfh9aCD.js → tools-CkJ2y9Wt.js} +9 -9
- package/dist/tools-CkJ2y9Wt.js.map +1 -0
- package/dist/{ui-BBVuTM1v.js → ui-Q6-RvERF.js} +3 -3
- package/dist/{ui-BBVuTM1v.js.map → ui-Q6-RvERF.js.map} +1 -1
- package/dist/{version-aXxpgRKx.js → version-CHhJjz_H.js} +2 -2
- package/dist/{version-aXxpgRKx.js.map → version-CHhJjz_H.js.map} +1 -1
- package/dist/{wizard-abort-BBkiUxfS.js → wizard-abort-BPdv07np.js} +7 -6
- package/dist/{wizard-abort-BBkiUxfS.js.map → wizard-abort-BPdv07np.js.map} +1 -1
- package/dist/wizard-abort-Br1qMDNa.js +3 -0
- package/dist/wizard-session-2w4Ru-Wz.js.map +1 -1
- package/dist/{wizard-ui-DoyOZxK8.js → wizard-ui-DVqrYaOM.js} +1 -1
- package/dist/{wizard-ui-DoyOZxK8.js.map → wizard-ui-DVqrYaOM.js.map} +1 -1
- package/dist/{yara-hooks-DCeMDd1o.js → yara-hooks-BnxejtXK.js} +5 -5
- package/dist/{yara-hooks-DCeMDd1o.js.map → yara-hooks-BnxejtXK.js.map} +1 -1
- package/dist/yara-hooks-DSuExwb4.js +2 -0
- package/package.json +2 -1
- package/dist/agent-bCZ3i3fh.js.map +0 -1
- package/dist/agent-interface-BAOIHuXS.js.map +0 -1
- package/dist/analytics-BcV-WCM4.js +0 -2
- package/dist/ci-install-CDdQYsPe.js.map +0 -1
- package/dist/errors-CQ9kttJD.js +0 -185
- package/dist/errors-CQ9kttJD.js.map +0 -1
- package/dist/file-BcLTjU16.js.map +0 -1
- package/dist/gateway-CjoShdLa.js.map +0 -1
- package/dist/interactive-D6zV7brJ.js.map +0 -1
- package/dist/mcp-prompt-streaming-I2U_X7BC.js.map +0 -1
- package/dist/mint-failure-D4nd2XmZ.js.map +0 -1
- package/dist/pi-D3h5Ok0i.js.map +0 -1
- package/dist/playground-5AB4WgNF.js.map +0 -1
- package/dist/posthog-DNn574nW.js.map +0 -1
- package/dist/registry-8YG-kuXk.js.map +0 -1
- package/dist/rolldown-runtime-B_-DWIq7.js +0 -15
- package/dist/run-agent-legacy-d7rWlzQR.js.map +0 -1
- package/dist/security-Cg_4a7vB.js.map +0 -1
- package/dist/setup-utils-CmTCTPkX.js.map +0 -1
- package/dist/start-tui-CB2PZs1x.js.map +0 -1
- package/dist/store-UN7c-ASf.js.map +0 -1
- package/dist/task-r9t1UhQP.js.map +0 -1
- package/dist/task-stream-CMUilu54.js.map +0 -1
- package/dist/terminal-DrGyci_a.js.map +0 -1
- package/dist/tools-Dyfh9aCD.js.map +0 -1
- package/dist/wizard-abort-BU4aLyvh.js +0 -3
- package/dist/yara-hooks-DSGuCU9A.js +0 -2
|
@@ -1,19 +1,19 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import {
|
|
3
|
-
import { a as getLogFilePath, h as RUN_SURFACE, l as WIZARD_BENCHMARK_FILE, s as logToFile, t as configureLogFile, u as WIZARD_LOG_FILE, v as runtimeEnv } from "./debug-
|
|
4
|
-
import { t as VERSION } from "./version-
|
|
5
|
-
import { B as WIZARD_CONTACT_EMAIL, G as WIZARD_ORCHESTRATOR_FLAG_KEY, J as WIZARD_PROVISIONING_SCOPES, K as WIZARD_ORCHESTRATOR_OVERRIDE_FLAG_KEY, L as SONNET_5_MODEL, R as Sequence, S as Harness, W as WIZARD_OAUTH_SCOPES, Z as WIZARD_SELF_DRIVING_USE_PI_HARNESS_FLAG_KEY, _ as GPT5_6_LUNA_MODEL, b as HAIKU_MODEL, l as DEFAULT_AGENT_MODEL, q as WIZARD_ORCHESTRATOR_SEEDED_TASKS_FLAG_KEY, v as GPT5_6_SOL_MODEL, y as GPT5_6_TERRA_MODEL } from "./constants-
|
|
1
|
+
import { U as installSkillById, et as fetchSkillMenu, i as runAgent$1, lt as createTriageLLMProvider, nt as LONGER_ASK_TIMEOUT_MS, r as initializeAgent, rt as createWizardAskBridge } from "./agent-interface-FkbaBJwz.js";
|
|
2
|
+
import { n as ErrorCodes } from "./emit-BSetXzDV.js";
|
|
3
|
+
import { a as getLogFilePath, h as RUN_SURFACE, l as WIZARD_BENCHMARK_FILE, s as logToFile, t as configureLogFile, u as WIZARD_LOG_FILE, v as runtimeEnv } from "./debug-kAHwWGg7.js";
|
|
4
|
+
import { t as VERSION } from "./version-CHhJjz_H.js";
|
|
5
|
+
import { B as WIZARD_CONTACT_EMAIL, G as WIZARD_ORCHESTRATOR_FLAG_KEY, J as WIZARD_PROVISIONING_SCOPES, K as WIZARD_ORCHESTRATOR_OVERRIDE_FLAG_KEY, L as SONNET_5_MODEL, R as Sequence, S as Harness, W as WIZARD_OAUTH_SCOPES, Z as WIZARD_SELF_DRIVING_USE_PI_HARNESS_FLAG_KEY, _ as GPT5_6_LUNA_MODEL, b as HAIKU_MODEL, l as DEFAULT_AGENT_MODEL, q as WIZARD_ORCHESTRATOR_SEEDED_TASKS_FLAG_KEY, v as GPT5_6_SOL_MODEL, y as GPT5_6_TERRA_MODEL } from "./constants-DHCBSfnx.js";
|
|
6
6
|
import "./wizard-session-2w4Ru-Wz.js";
|
|
7
|
-
import { a as ciExcludedTaskTypes, n as analytics } from "./analytics-
|
|
8
|
-
import {
|
|
9
|
-
import {
|
|
10
|
-
import {
|
|
11
|
-
import {
|
|
12
|
-
import {
|
|
13
|
-
import { a as piBackend, d as createEmitSpinner, f as createProgressCollector, l as createAioCapture, u as createEmitLog } from "./pi-
|
|
14
|
-
import { a as flushScanReport, s as formatYaraAbortMessage } from "./yara-hooks-
|
|
15
|
-
import { _ as TaskStatus, d as uncoveredBySink, h as SkipReason, m as QueueStore, p as QUEUE_DIR_NAME, u as dependencyClosure } from "./queue-tools-
|
|
16
|
-
import { a as assembleTaskPrompt, d as taskModelSpec, i as assembleSeedPrompt, n as agentRunTools, o as loadAgentRegistry, s as promptModelFor, t as ASK_TOOL, u as resolveTask } from "./agent-prompt-loader-
|
|
7
|
+
import { a as ciExcludedTaskTypes, n as analytics } from "./analytics-DXK1gc12.js";
|
|
8
|
+
import { a as WizardError, r as skillErrorCode, t as classifyRunFailure } from "./errors-C2domSkK.js";
|
|
9
|
+
import { g as detectNodePackageManagers, m as mcpUrlFor } from "./setup-utils-B26Lf2yF.js";
|
|
10
|
+
import { n as currentAccessToken } from "./oauth-session-DYM2Hrl2.js";
|
|
11
|
+
import { f as gatewayAuth, s as AgentSignals } from "./gateway-C9-GlLO9.js";
|
|
12
|
+
import { a as requireKnownModel, o as triageModelFor, r as isValidModel } from "./models-WcwUnSKb.js";
|
|
13
|
+
import { a as piBackend, d as createEmitSpinner, f as createProgressCollector, l as createAioCapture, u as createEmitLog } from "./pi-8KsYsPmM.js";
|
|
14
|
+
import { a as flushScanReport, s as formatYaraAbortMessage } from "./yara-hooks-BnxejtXK.js";
|
|
15
|
+
import { _ as TaskStatus, d as uncoveredBySink, h as SkipReason, m as QueueStore, p as QUEUE_DIR_NAME, u as dependencyClosure } from "./queue-tools-C8mXOh7e.js";
|
|
16
|
+
import { a as assembleTaskPrompt, d as taskModelSpec, i as assembleSeedPrompt, n as agentRunTools, o as loadAgentRegistry, s as promptModelFor, t as ASK_TOOL, u as resolveTask } from "./agent-prompt-loader-D0weQ-7k.js";
|
|
17
17
|
import fs, { cpSync, existsSync, mkdirSync, readdirSync, rmSync, writeFileSync } from "fs";
|
|
18
18
|
import * as path$1 from "path";
|
|
19
19
|
import path from "path";
|
|
@@ -96,12 +96,63 @@ async function prepareRun(config, input) {
|
|
|
96
96
|
}, config.binding.harness)
|
|
97
97
|
};
|
|
98
98
|
}
|
|
99
|
+
const ACTIVITY_LINE_CHARS = 100;
|
|
100
|
+
function createTranscriptTail(emit) {
|
|
101
|
+
const collected = [];
|
|
102
|
+
let collectedChars = 0;
|
|
103
|
+
let resultText = "";
|
|
104
|
+
const collect = (text) => {
|
|
105
|
+
collected.push(text);
|
|
106
|
+
collectedChars += text.length;
|
|
107
|
+
while (collectedChars > 262144 && collected.length > 1) collectedChars -= collected.shift()?.length ?? 0;
|
|
108
|
+
};
|
|
109
|
+
const activity = (line) => emit({
|
|
110
|
+
kind: "activity",
|
|
111
|
+
line
|
|
112
|
+
});
|
|
113
|
+
return {
|
|
114
|
+
onMessage(message) {
|
|
115
|
+
if (message?.type === "assistant") {
|
|
116
|
+
const content = message.message?.content;
|
|
117
|
+
if (!Array.isArray(content)) return;
|
|
118
|
+
for (const block of content) if (block?.type === "text" && typeof block.text === "string") {
|
|
119
|
+
collect(block.text);
|
|
120
|
+
const line = block.text.trim();
|
|
121
|
+
if (line) activity(line.length > ACTIVITY_LINE_CHARS ? `${line.slice(0, ACTIVITY_LINE_CHARS)}…` : line);
|
|
122
|
+
} else if (block?.type === "tool_use") activity(formatToolUse(block));
|
|
123
|
+
} else if (message?.type === "result" && typeof message.result === "string") resultText = message.result;
|
|
124
|
+
},
|
|
125
|
+
finalize: () => void 0,
|
|
126
|
+
text: () => `${collected.join("\n")}\n${resultText}`
|
|
127
|
+
};
|
|
128
|
+
}
|
|
129
|
+
/** Put the tail in front of any other middleware, so both see every message. */
|
|
130
|
+
function withTranscript(middleware, transcript) {
|
|
131
|
+
if (!transcript) return middleware;
|
|
132
|
+
if (!middleware) return transcript;
|
|
133
|
+
return {
|
|
134
|
+
onMessage(message) {
|
|
135
|
+
transcript.onMessage(message);
|
|
136
|
+
middleware.onMessage(message);
|
|
137
|
+
},
|
|
138
|
+
finalize(resultMessage, totalDurationMs) {
|
|
139
|
+
transcript.finalize(resultMessage, totalDurationMs);
|
|
140
|
+
return middleware.finalize(resultMessage, totalDurationMs);
|
|
141
|
+
}
|
|
142
|
+
};
|
|
143
|
+
}
|
|
144
|
+
function formatToolUse(block) {
|
|
145
|
+
const name = typeof block?.name === "string" ? block.name : "tool";
|
|
146
|
+
const input = block?.input ?? {};
|
|
147
|
+
const detail = input.file_path || input.pattern || input.path || "";
|
|
148
|
+
return detail ? `${name} ${detail}` : name;
|
|
149
|
+
}
|
|
99
150
|
//#endregion
|
|
100
151
|
//#region src/agent/runner/harness/anthropic/index.ts
|
|
101
152
|
const anthropicBackend = {
|
|
102
153
|
name: "anthropic",
|
|
103
154
|
async run(inputs) {
|
|
104
|
-
const { config: runConfig, input, boot, emit, prompt, spinner, askBridge, middleware, model } = inputs;
|
|
155
|
+
const { config: runConfig, input, boot, emit, prompt, spinner, askBridge, middleware, model, structured } = inputs;
|
|
105
156
|
const config = runConfig.run;
|
|
106
157
|
const { skillsBaseUrl, credentials, wizardFlags, wizardMetadata } = boot;
|
|
107
158
|
const { accessToken, host, projectApiKey } = credentials;
|
|
@@ -112,7 +163,7 @@ const anthropicBackend = {
|
|
|
112
163
|
apiHost: host.apiHost,
|
|
113
164
|
runTags: wizardMetadata
|
|
114
165
|
});
|
|
115
|
-
log.step("Initializing Claude agent...");
|
|
166
|
+
if (!structured) log.step("Initializing Claude agent...");
|
|
116
167
|
const agent = await initializeAgent({
|
|
117
168
|
workingDirectory: input.installDir,
|
|
118
169
|
posthogMcpUrl: host.mcpUrl,
|
|
@@ -129,19 +180,27 @@ const anthropicBackend = {
|
|
|
129
180
|
askBridge,
|
|
130
181
|
getPendingQuestion: askBridge?.getPendingQuestion,
|
|
131
182
|
askMaxQuestions: config.maxQuestions,
|
|
183
|
+
readOnly: config.readOnly,
|
|
132
184
|
allowedTools: runConfig.allowedTools,
|
|
133
185
|
disallowedTools: runConfig.disallowedTools,
|
|
134
186
|
modelOverride: model,
|
|
187
|
+
outputFormat: structured && {
|
|
188
|
+
type: "json_schema",
|
|
189
|
+
schema: structured.schema
|
|
190
|
+
},
|
|
135
191
|
capture,
|
|
136
192
|
emit
|
|
137
193
|
}, runOptions(input));
|
|
138
|
-
|
|
139
|
-
|
|
194
|
+
if (!structured) {
|
|
195
|
+
log.step(`Verbose logs: ${getLogFilePath()}`);
|
|
196
|
+
log.success("Agent initialized. Let's get cooking!");
|
|
197
|
+
}
|
|
140
198
|
logToFile("[agent-runner] agent initialized");
|
|
141
199
|
return runAgent$1({
|
|
142
200
|
...agent,
|
|
143
201
|
signal: inputs.signal
|
|
144
202
|
}, prompt, runOptions(input), spinner, {
|
|
203
|
+
timeoutMs: structured?.timeoutMs,
|
|
145
204
|
estimatedDurationMinutes: config.estimatedDurationMinutes,
|
|
146
205
|
spinnerMessage: config.spinnerMessage,
|
|
147
206
|
successMessage: config.successMessage,
|
|
@@ -149,6 +208,7 @@ const anthropicBackend = {
|
|
|
149
208
|
abortCases: config.abortCases,
|
|
150
209
|
emitStepEvents: config.trackStepProgress ?? false,
|
|
151
210
|
resolveStepKey: config.resolveStepKey,
|
|
211
|
+
requestRemark: structured ? false : config.requestRemark,
|
|
152
212
|
triageProvider: boot.triageProvider
|
|
153
213
|
}, middleware);
|
|
154
214
|
},
|
|
@@ -1380,6 +1440,20 @@ function createBenchmarkPipeline(emit, spinner, options, configOverride) {
|
|
|
1380
1440
|
});
|
|
1381
1441
|
}
|
|
1382
1442
|
//#endregion
|
|
1443
|
+
//#region src/agent/error-map.ts
|
|
1444
|
+
const AGENT_ERROR_CODE = {
|
|
1445
|
+
["WIZARD_AGENTIC_DETECTION_TIMEOUT"]: ErrorCodes.AgenticDetectionTimeout,
|
|
1446
|
+
["WIZARD_MCP_MISSING"]: ErrorCodes.AgentMcpMissing,
|
|
1447
|
+
["WIZARD_RESOURCE_MISSING"]: ErrorCodes.AgentResourceMissing,
|
|
1448
|
+
["WIZARD_RATE_LIMIT"]: ErrorCodes.AgentRateLimit,
|
|
1449
|
+
["WIZARD_API_ERROR"]: ErrorCodes.AgentApiError,
|
|
1450
|
+
["WIZARD_YARA_VIOLATION"]: ErrorCodes.AgentYaraViolation,
|
|
1451
|
+
["WIZARD_ABORT"]: ErrorCodes.AgentAbort,
|
|
1452
|
+
["WIZARD_NO_PROGRESS"]: ErrorCodes.AgentNoProgress,
|
|
1453
|
+
["WIZARD_INVALID_STRUCTURED_OUTPUT"]: ErrorCodes.AgentInvalidStructuredOutput,
|
|
1454
|
+
["WIZARD_INCOMPLETE_TASKS"]: ErrorCodes.AgentIncompleteTasks
|
|
1455
|
+
};
|
|
1456
|
+
//#endregion
|
|
1383
1457
|
//#region src/agent/agent-prompt.ts
|
|
1384
1458
|
function defaultProjectPrompt(ctx) {
|
|
1385
1459
|
return `You have access to the PostHog MCP server.
|
|
@@ -1475,8 +1549,8 @@ async function runLinearProgram(context) {
|
|
|
1475
1549
|
controller.abort();
|
|
1476
1550
|
}
|
|
1477
1551
|
}
|
|
1478
|
-
/** The
|
|
1479
|
-
async function executeLinear({ config, input, boot, emit, interaction, signal }, runSignal) {
|
|
1552
|
+
/** The caller's `signal` decides the outcome; `runSignal` also ends with the run. */
|
|
1553
|
+
async function executeLinear({ config, input, boot, emit, interaction, signal, transcript }, runSignal) {
|
|
1480
1554
|
const { run, composed } = config;
|
|
1481
1555
|
const { skillsBaseUrl, credentials, project } = boot;
|
|
1482
1556
|
const { projectApiKey, host, projectId } = credentials;
|
|
@@ -1498,18 +1572,18 @@ async function executeLinear({ config, input, boot, emit, interaction, signal },
|
|
|
1498
1572
|
logToFile(`[agent-runner] skill installed at ${skillPath}`);
|
|
1499
1573
|
}
|
|
1500
1574
|
const spinner = createEmitSpinner(emit);
|
|
1501
|
-
emit({
|
|
1575
|
+
if (!run.structured) emit({
|
|
1502
1576
|
kind: "lifecycle",
|
|
1503
1577
|
phase: "started"
|
|
1504
1578
|
});
|
|
1505
|
-
const ask = shouldDisableAsk(input.flags) && process.env.WIZARD_ASK_AUTODRIVE !== "1" ? void 0 : createAskBridge(interaction, {
|
|
1579
|
+
const ask = !!run.structured || shouldDisableAsk(input.flags) && process.env.WIZARD_ASK_AUTODRIVE !== "1" ? void 0 : createAskBridge(interaction, {
|
|
1506
1580
|
getSource: () => input.skillId ?? run.integrationLabel,
|
|
1507
1581
|
richLinks: run.richLinks ?? false,
|
|
1508
1582
|
timeoutMs: run.askTimeoutMs,
|
|
1509
1583
|
signal: runSignal
|
|
1510
1584
|
});
|
|
1511
|
-
const middleware = input.flags.benchmark ? createBenchmarkPipeline(emit, spinner, runOptions(input)) : void 0;
|
|
1512
|
-
const
|
|
1585
|
+
const middleware = withTranscript(input.flags.benchmark ? createBenchmarkPipeline(emit, spinner, runOptions(input)) : void 0, transcript);
|
|
1586
|
+
const promptContext = {
|
|
1513
1587
|
projectId,
|
|
1514
1588
|
projectApiKey,
|
|
1515
1589
|
host,
|
|
@@ -1520,7 +1594,8 @@ async function executeLinear({ config, input, boot, emit, interaction, signal },
|
|
|
1520
1594
|
exceptionAutocapture: project.autocapture_exceptions_opt_in ?? null,
|
|
1521
1595
|
surveys: project.surveys_opt_in ?? null
|
|
1522
1596
|
} : null
|
|
1523
|
-
}
|
|
1597
|
+
};
|
|
1598
|
+
const prompt = run.prompt ? run.prompt(promptContext) : assemblePrompt(run, promptContext);
|
|
1524
1599
|
logToFile(`[agent-runner] prompt assembled (${prompt.length} chars)`);
|
|
1525
1600
|
if (signal?.aborted) return aborted();
|
|
1526
1601
|
const { harness, model, thinkingLevel } = config.binding;
|
|
@@ -1536,7 +1611,8 @@ async function executeLinear({ config, input, boot, emit, interaction, signal },
|
|
|
1536
1611
|
middleware,
|
|
1537
1612
|
model,
|
|
1538
1613
|
thinkingLevel,
|
|
1539
|
-
signal: runSignal
|
|
1614
|
+
signal: runSignal,
|
|
1615
|
+
structured: run.structured
|
|
1540
1616
|
});
|
|
1541
1617
|
if (signal?.aborted && agentResult.kind === "success") return aborted();
|
|
1542
1618
|
if (agentResult.kind === "decided_failure") return failed(agentResult.failure);
|
|
@@ -1640,6 +1716,10 @@ Please try again, or check the documentation:\n${run.docsUrl}`,
|
|
|
1640
1716
|
message: agentResult.message ?? "Agent failed",
|
|
1641
1717
|
error: agentResult.error
|
|
1642
1718
|
});
|
|
1719
|
+
if (run.structured) return {
|
|
1720
|
+
outcome: "success",
|
|
1721
|
+
structuredOutput: agentResult.structuredOutput
|
|
1722
|
+
};
|
|
1643
1723
|
if (config.hooks?.postRun) {
|
|
1644
1724
|
await config.hooks.postRun(credentials);
|
|
1645
1725
|
if (signal?.aborted) return aborted();
|
|
@@ -2923,6 +3003,15 @@ function resolveBinding(ctx, role = "default") {
|
|
|
2923
3003
|
thinkingLevel
|
|
2924
3004
|
};
|
|
2925
3005
|
}
|
|
3006
|
+
/** A scan's two attempts on triage models: the resolved harness, then the SDK as a second provider. */
|
|
3007
|
+
function resolveScanBindings(ctx) {
|
|
3008
|
+
const scan = (harness) => ({
|
|
3009
|
+
sequence: "linear",
|
|
3010
|
+
harness,
|
|
3011
|
+
model: triageModelFor(harness)
|
|
3012
|
+
});
|
|
3013
|
+
return [scan(resolveBinding(ctx).harness), scan("anthropic")];
|
|
3014
|
+
}
|
|
2926
3015
|
//#endregion
|
|
2927
3016
|
//#region src/agent/runner/index.ts
|
|
2928
3017
|
/**
|
|
@@ -2934,9 +3023,16 @@ function resolveBinding(ctx, role = "default") {
|
|
|
2934
3023
|
*/
|
|
2935
3024
|
async function runAgent(config, input, options = {}) {
|
|
2936
3025
|
let collector;
|
|
3026
|
+
let transcript;
|
|
2937
3027
|
const snapshot = () => {
|
|
2938
3028
|
try {
|
|
2939
|
-
if (collector)
|
|
3029
|
+
if (collector) {
|
|
3030
|
+
const collected = collector.snapshot();
|
|
3031
|
+
return transcript ? {
|
|
3032
|
+
...collected,
|
|
3033
|
+
transcriptTail: transcript.text()
|
|
3034
|
+
} : collected;
|
|
3035
|
+
}
|
|
2940
3036
|
} catch {}
|
|
2941
3037
|
return {
|
|
2942
3038
|
tasks: [],
|
|
@@ -2950,6 +3046,7 @@ async function runAgent(config, input, options = {}) {
|
|
|
2950
3046
|
};
|
|
2951
3047
|
};
|
|
2952
3048
|
const flushReport = () => {
|
|
3049
|
+
if (config.scanReport === "defer") return;
|
|
2953
3050
|
try {
|
|
2954
3051
|
const report = flushScanReport({ yaraReport: input.flags.yaraReport });
|
|
2955
3052
|
if (report) collector?.emit({
|
|
@@ -2963,6 +3060,7 @@ async function runAgent(config, input, options = {}) {
|
|
|
2963
3060
|
try {
|
|
2964
3061
|
collector = createProgressCollector(options.onProgress);
|
|
2965
3062
|
const { emit } = collector;
|
|
3063
|
+
if (config.run.collectTranscript) transcript = createTranscriptTail(emit);
|
|
2966
3064
|
const log = (message) => emit({
|
|
2967
3065
|
kind: "log",
|
|
2968
3066
|
level: "info",
|
|
@@ -2991,7 +3089,8 @@ async function runAgent(config, input, options = {}) {
|
|
|
2991
3089
|
boot,
|
|
2992
3090
|
emit,
|
|
2993
3091
|
interaction: options.interaction,
|
|
2994
|
-
signal: options.signal
|
|
3092
|
+
signal: options.signal,
|
|
3093
|
+
transcript
|
|
2995
3094
|
});
|
|
2996
3095
|
result = {
|
|
2997
3096
|
...options.signal?.aborted && sequenceResult.outcome === "success" ? {
|
|
@@ -3065,21 +3164,15 @@ function safeErrorMessage(error) {
|
|
|
3065
3164
|
}
|
|
3066
3165
|
//#endregion
|
|
3067
3166
|
//#region src/agent/index.ts
|
|
3068
|
-
var agent_exports = /* @__PURE__ */ __exportAll({
|
|
3069
|
-
LONGER_ASK_TIMEOUT_MS: () => LONGER_ASK_TIMEOUT_MS,
|
|
3070
|
-
TASK_OUTCOMES_KEY: () => TASK_OUTCOMES_KEY,
|
|
3071
|
-
configureGatewayFromCIEnvironment: () => configureGatewayFromCIEnvironment,
|
|
3072
|
-
runMcpPromptViaSdk: () => runMcpPromptViaSdk
|
|
3073
|
-
});
|
|
3074
3167
|
/**
|
|
3075
3168
|
* Leaves in C2. The TUI receives agent data through program state. Until
|
|
3076
3169
|
* then the suggested-prompts screen streams through this wrapper, which loads
|
|
3077
3170
|
* the streaming module on first call so the startup chunk does not grow.
|
|
3078
3171
|
*/
|
|
3079
3172
|
async function* runMcpPromptViaSdk(args) {
|
|
3080
|
-
yield* (await import("./mcp-prompt-streaming-
|
|
3173
|
+
yield* (await import("./mcp-prompt-streaming-DDWQ-FCA.js")).runMcpPromptViaSdk(args);
|
|
3081
3174
|
}
|
|
3082
3175
|
//#endregion
|
|
3083
|
-
export {
|
|
3176
|
+
export { computeTokenCostUsd as a, shouldDisableAsk as c, resolveScanBindings as i, runAgent as n, formatCostUsd as o, resolveBinding as r, formatTokenCount as s, runMcpPromptViaSdk as t };
|
|
3084
3177
|
|
|
3085
|
-
//# sourceMappingURL=agent-
|
|
3178
|
+
//# sourceMappingURL=agent-BWFhuLgo.js.map
|