@antelopejs/dms-ai 0.0.6 → 0.1.1-next.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +83 -2
- package/dist/config.d.ts +7 -0
- package/dist/config.js +33 -0
- package/dist/config.js.map +1 -0
- package/dist/constants/sidecar.d.ts +2 -0
- package/dist/constants/sidecar.js +3 -1
- package/dist/constants/sidecar.js.map +1 -1
- package/dist/index.d.ts +1 -0
- package/dist/index.js +6 -0
- package/dist/index.js.map +1 -1
- package/dist/lifecycle/spawn-sidecar.d.ts +1 -0
- package/dist/lifecycle/spawn-sidecar.js +9 -0
- package/dist/lifecycle/spawn-sidecar.js.map +1 -1
- package/dist/routes/settings.d.ts +7 -0
- package/dist/routes/settings.js +2 -0
- package/dist/routes/settings.js.map +1 -1
- package/frontend-vue/app/components/SettingsView.vue +85 -3
- package/frontend-vue/app/runtime/constants.ts +0 -1
- package/package.json +11 -1
- package/sidecar/chatbox/dist/assets/index-CEZ1NLp9.js +52 -0
- package/sidecar/chatbox/dist/assets/{index-pP_KOHIn.css → index-D_51Vqqk.css} +1 -1
- package/sidecar/chatbox/dist/index.html +2 -2
- package/sidecar/dist/agent/attachment-files.d.ts +5 -0
- package/sidecar/dist/agent/attachment-files.js +29 -0
- package/sidecar/dist/agent/attachment-files.js.map +1 -0
- package/sidecar/dist/agent/provider.d.ts +40 -0
- package/sidecar/dist/agent/provider.js +2 -0
- package/sidecar/dist/agent/provider.js.map +1 -0
- package/sidecar/dist/agent/{claude-runner.d.ts → runner.d.ts} +8 -11
- package/sidecar/dist/agent/runner.js +71 -0
- package/sidecar/dist/agent/runner.js.map +1 -0
- package/sidecar/dist/agent/session.d.ts +22 -0
- package/sidecar/dist/agent/{claude-session.js → session.js} +39 -47
- package/sidecar/dist/agent/session.js.map +1 -0
- package/sidecar/dist/agent/switching-runner.d.ts +6 -0
- package/sidecar/dist/agent/switching-runner.js +58 -0
- package/sidecar/dist/agent/switching-runner.js.map +1 -0
- package/sidecar/dist/constants/agent.d.ts +2 -12
- package/sidecar/dist/constants/agent.js +2 -11
- package/sidecar/dist/constants/agent.js.map +1 -1
- package/sidecar/dist/constants/claude.d.ts +10 -0
- package/sidecar/dist/constants/claude.js +10 -0
- package/sidecar/dist/constants/claude.js.map +1 -0
- package/sidecar/dist/constants/cli.d.ts +2 -0
- package/sidecar/dist/constants/cli.js +3 -0
- package/sidecar/dist/constants/cli.js.map +1 -0
- package/sidecar/dist/constants/codex.d.ts +85 -0
- package/sidecar/dist/constants/codex.js +110 -0
- package/sidecar/dist/constants/codex.js.map +1 -0
- package/sidecar/dist/constants/http.d.ts +1 -0
- package/sidecar/dist/constants/http.js +1 -0
- package/sidecar/dist/constants/http.js.map +1 -1
- package/sidecar/dist/constants/mcp.d.ts +6 -0
- package/sidecar/dist/constants/mcp.js +11 -0
- package/sidecar/dist/constants/mcp.js.map +1 -1
- package/sidecar/dist/constants/pages.d.ts +0 -1
- package/sidecar/dist/constants/pages.js +0 -1
- package/sidecar/dist/constants/pages.js.map +1 -1
- package/sidecar/dist/constants/paths.d.ts +5 -0
- package/sidecar/dist/constants/paths.js +5 -0
- package/sidecar/dist/constants/paths.js.map +1 -1
- package/sidecar/dist/constants/ports.d.ts +0 -1
- package/sidecar/dist/constants/ports.js +0 -1
- package/sidecar/dist/constants/ports.js.map +1 -1
- package/sidecar/dist/constants/providers.d.ts +16 -0
- package/sidecar/dist/constants/providers.js +17 -0
- package/sidecar/dist/constants/providers.js.map +1 -0
- package/sidecar/dist/constants/settings.d.ts +1 -4
- package/sidecar/dist/constants/settings.js +2 -12
- package/sidecar/dist/constants/settings.js.map +1 -1
- package/sidecar/dist/constants/skills.d.ts +1 -0
- package/sidecar/dist/constants/skills.js +2 -0
- package/sidecar/dist/constants/skills.js.map +1 -0
- package/sidecar/dist/constants/timing.d.ts +1 -0
- package/sidecar/dist/constants/timing.js +1 -0
- package/sidecar/dist/constants/timing.js.map +1 -1
- package/sidecar/dist/constants/tool-lexicon.d.ts +7 -0
- package/sidecar/dist/constants/tool-lexicon.js +8 -0
- package/sidecar/dist/constants/tool-lexicon.js.map +1 -0
- package/sidecar/dist/index.d.ts +11 -0
- package/sidecar/dist/index.js +33 -8
- package/sidecar/dist/index.js.map +1 -1
- package/sidecar/dist/mcp/define-tool.d.ts +23 -0
- package/sidecar/dist/mcp/define-tool.js +4 -0
- package/sidecar/dist/mcp/define-tool.js.map +1 -0
- package/sidecar/dist/mcp/http-binding.d.ts +9 -0
- package/sidecar/dist/mcp/http-binding.js +123 -0
- package/sidecar/dist/mcp/http-binding.js.map +1 -0
- package/sidecar/dist/mcp/sdk-binding.js +14 -0
- package/sidecar/dist/mcp/sdk-binding.js.map +1 -0
- package/sidecar/dist/mcp/tool-definitions.d.ts +3 -0
- package/sidecar/dist/mcp/{server.js → tool-definitions.js} +2 -11
- package/sidecar/dist/mcp/tool-definitions.js.map +1 -0
- package/sidecar/dist/mcp/tools/ask-user.d.ts +1 -1
- package/sidecar/dist/mcp/tools/ask-user.js +2 -2
- package/sidecar/dist/mcp/tools/ask-user.js.map +1 -1
- package/sidecar/dist/mcp/tools/builder.d.ts +19 -19
- package/sidecar/dist/mcp/tools/builder.js +26 -26
- package/sidecar/dist/mcp/tools/builder.js.map +1 -1
- package/sidecar/dist/mcp/tools/find-pages-using.d.ts +1 -1
- package/sidecar/dist/mcp/tools/find-pages-using.js +2 -2
- package/sidecar/dist/mcp/tools/find-pages-using.js.map +1 -1
- package/sidecar/dist/mcp/tools/get-current-page.d.ts +1 -1
- package/sidecar/dist/mcp/tools/get-current-page.js +2 -2
- package/sidecar/dist/mcp/tools/get-current-page.js.map +1 -1
- package/sidecar/dist/mcp/tools/list-pages.d.ts +1 -1
- package/sidecar/dist/mcp/tools/list-pages.js +2 -2
- package/sidecar/dist/mcp/tools/list-pages.js.map +1 -1
- package/sidecar/dist/mcp/tools/navigate-to-page.d.ts +1 -1
- package/sidecar/dist/mcp/tools/navigate-to-page.js +2 -2
- package/sidecar/dist/mcp/tools/navigate-to-page.js.map +1 -1
- package/sidecar/dist/mcp/tools/query-logs.d.ts +1 -1
- package/sidecar/dist/mcp/tools/query-logs.js +2 -2
- package/sidecar/dist/mcp/tools/query-logs.js.map +1 -1
- package/sidecar/dist/mcp/tools/typecheck.d.ts +1 -1
- package/sidecar/dist/mcp/tools/typecheck.js +2 -2
- package/sidecar/dist/mcp/tools/typecheck.js.map +1 -1
- package/sidecar/dist/mcp/types.d.ts +6 -2
- package/sidecar/dist/protocol/events.d.ts +37 -0
- package/sidecar/dist/protocol/events.js +8 -0
- package/sidecar/dist/protocol/events.js.map +1 -1
- package/sidecar/dist/protocol/messages.d.ts +8 -0
- package/sidecar/dist/protocol/messages.js +2 -0
- package/sidecar/dist/protocol/messages.js.map +1 -1
- package/sidecar/dist/providers/claude/adapter.d.ts +5 -0
- package/sidecar/dist/{agent/sdk-adapter.js → providers/claude/adapter.js} +20 -1
- package/sidecar/dist/providers/claude/adapter.js.map +1 -0
- package/sidecar/dist/{agent → providers/claude}/attachments.d.ts +1 -1
- package/sidecar/dist/{agent → providers/claude}/attachments.js +3 -27
- package/sidecar/dist/providers/claude/attachments.js.map +1 -0
- package/sidecar/dist/providers/claude/config.d.ts +4 -0
- package/sidecar/dist/providers/claude/config.js +13 -0
- package/sidecar/dist/providers/claude/config.js.map +1 -0
- package/sidecar/dist/providers/claude/input-queue.js.map +1 -0
- package/sidecar/dist/providers/claude/module.d.ts +2 -0
- package/sidecar/dist/providers/claude/module.js +25 -0
- package/sidecar/dist/providers/claude/module.js.map +1 -0
- package/sidecar/dist/providers/claude/provider.d.ts +11 -0
- package/sidecar/dist/{agent/claude-runner.js → providers/claude/provider.js} +118 -96
- package/sidecar/dist/providers/claude/provider.js.map +1 -0
- package/sidecar/dist/{agent/resolve-claude-binary.js → providers/claude/resolve-binary.js} +3 -3
- package/sidecar/dist/{agent/resolve-claude-binary.js.map → providers/claude/resolve-binary.js.map} +1 -1
- package/sidecar/dist/providers/claude/sdk-loader.js +16 -0
- package/sidecar/dist/providers/claude/sdk-loader.js.map +1 -0
- package/sidecar/dist/providers/codex/adapter.d.ts +7 -0
- package/sidecar/dist/providers/codex/adapter.js +147 -0
- package/sidecar/dist/providers/codex/adapter.js.map +1 -0
- package/sidecar/dist/providers/codex/attachments.d.ts +7 -0
- package/sidecar/dist/providers/codex/attachments.js +73 -0
- package/sidecar/dist/providers/codex/attachments.js.map +1 -0
- package/sidecar/dist/providers/codex/client.d.ts +34 -0
- package/sidecar/dist/providers/codex/client.js +128 -0
- package/sidecar/dist/providers/codex/client.js.map +1 -0
- package/sidecar/dist/providers/codex/config.d.ts +34 -0
- package/sidecar/dist/providers/codex/config.js +111 -0
- package/sidecar/dist/providers/codex/config.js.map +1 -0
- package/sidecar/dist/providers/codex/event-stream.d.ts +8 -0
- package/sidecar/dist/providers/codex/event-stream.js +53 -0
- package/sidecar/dist/providers/codex/event-stream.js.map +1 -0
- package/sidecar/dist/providers/codex/module.d.ts +2 -0
- package/sidecar/dist/providers/codex/module.js +54 -0
- package/sidecar/dist/providers/codex/module.js.map +1 -0
- package/sidecar/dist/providers/codex/permissions.d.ts +21 -0
- package/sidecar/dist/providers/codex/permissions.js +77 -0
- package/sidecar/dist/providers/codex/permissions.js.map +1 -0
- package/sidecar/dist/providers/codex/process.d.ts +23 -0
- package/sidecar/dist/providers/codex/process.js +208 -0
- package/sidecar/dist/providers/codex/process.js.map +1 -0
- package/sidecar/dist/providers/codex/protocol/common.d.ts +59 -0
- package/sidecar/dist/providers/codex/protocol/common.js +2 -0
- package/sidecar/dist/providers/codex/protocol/common.js.map +1 -0
- package/sidecar/dist/providers/codex/protocol/index.d.ts +3 -0
- package/sidecar/dist/providers/codex/protocol/index.js +3 -0
- package/sidecar/dist/providers/codex/protocol/index.js.map +1 -0
- package/sidecar/dist/providers/codex/protocol/serde_json.d.ts +3 -0
- package/sidecar/dist/providers/codex/protocol/serde_json.js +2 -0
- package/sidecar/dist/providers/codex/protocol/serde_json.js.map +1 -0
- package/sidecar/dist/providers/codex/protocol/v2.d.ts +481 -0
- package/sidecar/dist/providers/codex/protocol/v2.js +2 -0
- package/sidecar/dist/providers/codex/protocol/v2.js.map +1 -0
- package/sidecar/dist/providers/codex/provider.d.ts +14 -0
- package/sidecar/dist/providers/codex/provider.js +225 -0
- package/sidecar/dist/providers/codex/provider.js.map +1 -0
- package/sidecar/dist/providers/codex/resolve-binary.d.ts +10 -0
- package/sidecar/dist/providers/codex/resolve-binary.js +80 -0
- package/sidecar/dist/providers/codex/resolve-binary.js.map +1 -0
- package/sidecar/dist/providers/codex/skills.d.ts +10 -0
- package/sidecar/dist/providers/codex/skills.js +42 -0
- package/sidecar/dist/providers/codex/skills.js.map +1 -0
- package/sidecar/dist/providers/registry.d.ts +7 -0
- package/sidecar/dist/providers/registry.js +31 -0
- package/sidecar/dist/providers/registry.js.map +1 -0
- package/sidecar/dist/providers/types.d.ts +25 -0
- package/sidecar/dist/providers/types.js +5 -0
- package/sidecar/dist/providers/types.js.map +1 -0
- package/sidecar/dist/server/http.d.ts +2 -0
- package/sidecar/dist/server/http.js +26 -12
- package/sidecar/dist/server/http.js.map +1 -1
- package/sidecar/dist/server/routing.d.ts +4 -4
- package/sidecar/dist/server/routing.js +7 -1
- package/sidecar/dist/server/routing.js.map +1 -1
- package/sidecar/dist/server/ws.d.ts +2 -0
- package/sidecar/dist/server/ws.js +40 -17
- package/sidecar/dist/server/ws.js.map +1 -1
- package/sidecar/dist/skills/build-catalog.d.ts +2 -0
- package/sidecar/dist/skills/build-catalog.js +12 -1
- package/sidecar/dist/skills/build-catalog.js.map +1 -1
- package/sidecar/dist/state/conversations.d.ts +3 -1
- package/sidecar/dist/state/conversations.js +20 -0
- package/sidecar/dist/state/conversations.js.map +1 -1
- package/sidecar/dist/state/safe-segment.d.ts +1 -0
- package/sidecar/dist/state/safe-segment.js +17 -0
- package/sidecar/dist/state/safe-segment.js.map +1 -0
- package/sidecar/dist/state/settings-store.js +7 -0
- package/sidecar/dist/state/settings-store.js.map +1 -1
- package/sidecar/dist/state/settings-types.d.ts +2 -0
- package/sidecar/dist/state/settings-types.js.map +1 -1
- package/sidecar/dist/state/types.d.ts +11 -0
- package/sidecar/dist/state/types.js +7 -0
- package/sidecar/dist/state/types.js.map +1 -1
- package/sidecar/package.json +3 -0
- package/sidecar/chatbox/dist/assets/index-Cy2BwTG0.js +0 -50
- package/sidecar/dist/agent/attachments.js.map +0 -1
- package/sidecar/dist/agent/claude-runner.js.map +0 -1
- package/sidecar/dist/agent/claude-session.d.ts +0 -18
- package/sidecar/dist/agent/claude-session.js.map +0 -1
- package/sidecar/dist/agent/input-queue.js.map +0 -1
- package/sidecar/dist/agent/sdk-adapter.d.ts +0 -3
- package/sidecar/dist/agent/sdk-adapter.js.map +0 -1
- package/sidecar/dist/agent/sdk-loader.js +0 -14
- package/sidecar/dist/agent/sdk-loader.js.map +0 -1
- package/sidecar/dist/mcp/server.js.map +0 -1
- /package/sidecar/dist/mcp/{server.d.ts → sdk-binding.d.ts} +0 -0
- /package/sidecar/dist/{agent → providers/claude}/input-queue.d.ts +0 -0
- /package/sidecar/dist/{agent → providers/claude}/input-queue.js +0 -0
- /package/sidecar/dist/{agent/resolve-claude-binary.d.ts → providers/claude/resolve-binary.d.ts} +0 -0
- /package/sidecar/dist/{agent → providers/claude}/sdk-loader.d.ts +0 -0
|
@@ -4,8 +4,8 @@
|
|
|
4
4
|
<meta charset="UTF-8" />
|
|
5
5
|
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
|
6
6
|
<title>dms-ai chatbox</title>
|
|
7
|
-
<script type="module" crossorigin src="/assets/index-
|
|
8
|
-
<link rel="stylesheet" crossorigin href="/assets/index-
|
|
7
|
+
<script type="module" crossorigin src="/assets/index-CEZ1NLp9.js"></script>
|
|
8
|
+
<link rel="stylesheet" crossorigin href="/assets/index-D_51Vqqk.css">
|
|
9
9
|
</head>
|
|
10
10
|
<body>
|
|
11
11
|
<div id="app"></div>
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
import type { AttachmentType } from "../protocol/messages.js";
|
|
2
|
+
export declare function sanitizeFileName(name: string): string;
|
|
3
|
+
export declare function uploadsDirFor(hostProjectRoot: string, conversationId: string): string;
|
|
4
|
+
export declare function writeDiskAttachment(att: AttachmentType, index: number, dir: string): Promise<string>;
|
|
5
|
+
export declare function joinTextSections(text: string, diskPaths: string[]): string;
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
import fs from "node:fs/promises";
|
|
2
|
+
import path from "node:path";
|
|
3
|
+
import { UPLOADS_DIR_SEGMENT } from "../constants/attachments.js";
|
|
4
|
+
import { STATE_DIR_SEGMENTS } from "../constants/paths.js";
|
|
5
|
+
import { safeDirSegment } from "../state/safe-segment.js";
|
|
6
|
+
const FALLBACK_FILE_NAME = "file";
|
|
7
|
+
export function sanitizeFileName(name) {
|
|
8
|
+
const base = path
|
|
9
|
+
.basename(name)
|
|
10
|
+
.replace(/[^\w.\- ]+/g, "_")
|
|
11
|
+
.trim();
|
|
12
|
+
return base.length > 0 ? base : FALLBACK_FILE_NAME;
|
|
13
|
+
}
|
|
14
|
+
export function uploadsDirFor(hostProjectRoot, conversationId) {
|
|
15
|
+
return path.join(hostProjectRoot, ...STATE_DIR_SEGMENTS, UPLOADS_DIR_SEGMENT, safeDirSegment(conversationId));
|
|
16
|
+
}
|
|
17
|
+
export async function writeDiskAttachment(att, index, dir) {
|
|
18
|
+
const fileName = `${Date.now()}-${index}-${sanitizeFileName(att.name)}`;
|
|
19
|
+
const filePath = path.join(dir, fileName);
|
|
20
|
+
await fs.writeFile(filePath, Buffer.from(att.data, "base64"));
|
|
21
|
+
return filePath;
|
|
22
|
+
}
|
|
23
|
+
export function joinTextSections(text, diskPaths) {
|
|
24
|
+
const noteLines = diskPaths.map((p) => `[Attached file: ${p}]`);
|
|
25
|
+
const notes = noteLines.join("\n");
|
|
26
|
+
const sections = [text.trim(), notes].filter((s) => s.length > 0);
|
|
27
|
+
return sections.join("\n\n");
|
|
28
|
+
}
|
|
29
|
+
//# sourceMappingURL=attachment-files.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"attachment-files.js","sourceRoot":"","sources":["../../src/agent/attachment-files.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,kBAAkB,CAAC;AAClC,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,EAAE,mBAAmB,EAAE,MAAM,6BAA6B,CAAC;AAClE,OAAO,EAAE,kBAAkB,EAAE,MAAM,uBAAuB,CAAC;AAE3D,OAAO,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAC;AAE1D,MAAM,kBAAkB,GAAG,MAAM,CAAC;AAIlC,MAAM,UAAU,gBAAgB,CAAC,IAAY;IAC3C,MAAM,IAAI,GAAG,IAAI;SACd,QAAQ,CAAC,IAAI,CAAC;SACd,OAAO,CAAC,aAAa,EAAE,GAAG,CAAC;SAC3B,IAAI,EAAE,CAAC;IACV,OAAO,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,kBAAkB,CAAC;AACrD,CAAC;AAED,MAAM,UAAU,aAAa,CAC3B,eAAuB,EACvB,cAAsB;IAEtB,OAAO,IAAI,CAAC,IAAI,CACd,eAAe,EACf,GAAG,kBAAkB,EACrB,mBAAmB,EACnB,cAAc,CAAC,cAAc,CAAC,CAC/B,CAAC;AACJ,CAAC;AAID,MAAM,CAAC,KAAK,UAAU,mBAAmB,CACvC,GAAmB,EACnB,KAAa,EACb,GAAW;IAEX,MAAM,QAAQ,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE,IAAI,KAAK,IAAI,gBAAgB,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC;IACxE,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,QAAQ,CAAC,CAAC;IAC1C,MAAM,EAAE,CAAC,SAAS,CAAC,QAAQ,EAAE,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC,CAAC;IAC9D,OAAO,QAAQ,CAAC;AAClB,CAAC;AAED,MAAM,UAAU,gBAAgB,CAAC,IAAY,EAAE,SAAmB;IAChE,MAAM,SAAS,GAAG,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,mBAAmB,CAAC,GAAG,CAAC,CAAC;IAChE,MAAM,KAAK,GAAG,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACnC,MAAM,QAAQ,GAAG,CAAC,IAAI,CAAC,IAAI,EAAE,EAAE,KAAK,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;IAClE,OAAO,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;AAC/B,CAAC"}
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
import type { PermissionDecision } from "../constants/permissions.js";
|
|
2
|
+
import type { AiMcpServer } from "../mcp/types.js";
|
|
3
|
+
import type { AttachmentType } from "../protocol/messages.js";
|
|
4
|
+
import type { SkillSource } from "../skills/types.js";
|
|
5
|
+
import type { CurrentPage } from "../state/host-state.js";
|
|
6
|
+
import type { AppSettings } from "../state/settings-types.js";
|
|
7
|
+
import type { TokenUsage } from "../state/types.js";
|
|
8
|
+
import type { PermissionBus } from "./permission-bus.js";
|
|
9
|
+
import type { RunnerEvent } from "./runner-events.js";
|
|
10
|
+
export interface TurnInput {
|
|
11
|
+
text: string;
|
|
12
|
+
attachments: readonly AttachmentType[];
|
|
13
|
+
}
|
|
14
|
+
export interface ProviderSessionContext {
|
|
15
|
+
conversationId: string;
|
|
16
|
+
hostProjectRoot: string;
|
|
17
|
+
getCurrentPage: () => CurrentPage;
|
|
18
|
+
settings: AppSettings;
|
|
19
|
+
permissionBus?: PermissionBus;
|
|
20
|
+
mcpServer?: AiMcpServer;
|
|
21
|
+
onPermissionDecision?: (toolName: string, decision: PermissionDecision) => void;
|
|
22
|
+
onTokenUsage?: (usage: TokenUsage) => void;
|
|
23
|
+
onDisposed: () => void;
|
|
24
|
+
}
|
|
25
|
+
export interface ProviderSession {
|
|
26
|
+
runTurn(input: TurnInput, settings: AppSettings): AsyncIterable<RunnerEvent>;
|
|
27
|
+
interrupt(): void;
|
|
28
|
+
dispose(): void;
|
|
29
|
+
applySettings?(settings: AppSettings): void;
|
|
30
|
+
}
|
|
31
|
+
export interface AgentProvider {
|
|
32
|
+
createSession(ctx: ProviderSessionContext): Promise<ProviderSession>;
|
|
33
|
+
}
|
|
34
|
+
export interface AgentProviderOptions {
|
|
35
|
+
timeoutMs?: number;
|
|
36
|
+
settings?: AppSettings;
|
|
37
|
+
moduleRoots?: string[];
|
|
38
|
+
skillDirs?: SkillSource[];
|
|
39
|
+
}
|
|
40
|
+
export type AgentProviderFactory = (options?: AgentProviderOptions) => AgentProvider;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"provider.js","sourceRoot":"","sources":["../../src/agent/provider.ts"],"names":[],"mappings":""}
|
|
@@ -1,11 +1,11 @@
|
|
|
1
|
-
import type {
|
|
2
|
-
import { type PermissionDecision } from "../constants/permissions.js";
|
|
1
|
+
import type { PermissionDecision } from "../constants/permissions.js";
|
|
3
2
|
import type { AiMcpServer } from "../mcp/types.js";
|
|
4
3
|
import type { AttachmentType } from "../protocol/messages.js";
|
|
5
|
-
import type { SkillSource } from "../skills/types.js";
|
|
6
4
|
import type { CurrentPage } from "../state/host-state.js";
|
|
7
5
|
import type { AppSettings } from "../state/settings-types.js";
|
|
6
|
+
import type { TokenUsage } from "../state/types.js";
|
|
8
7
|
import type { PermissionBus } from "./permission-bus.js";
|
|
8
|
+
import type { AgentProvider } from "./provider.js";
|
|
9
9
|
import type { RunnerEvent } from "./runner-events.js";
|
|
10
10
|
export interface RunnerContext {
|
|
11
11
|
conversationId: string;
|
|
@@ -13,21 +13,18 @@ export interface RunnerContext {
|
|
|
13
13
|
getCurrentPage: () => CurrentPage;
|
|
14
14
|
attachments?: AttachmentType[];
|
|
15
15
|
permissionBus?: PermissionBus;
|
|
16
|
-
|
|
16
|
+
createMcpServer?: () => AiMcpServer;
|
|
17
17
|
onPermissionDecision?: (toolName: string, decision: PermissionDecision) => void;
|
|
18
|
+
onTokenUsage?: (usage: TokenUsage) => void;
|
|
18
19
|
}
|
|
19
|
-
export interface
|
|
20
|
+
export interface AgentRunner {
|
|
20
21
|
start(message: string, ctx: RunnerContext): AsyncIterable<RunnerEvent>;
|
|
21
22
|
interruptSession(conversationId: string): void;
|
|
22
23
|
disposeSession(conversationId: string): void;
|
|
23
24
|
applySettings(settings: AppSettings): void;
|
|
24
25
|
dispose(): void;
|
|
25
26
|
}
|
|
26
|
-
export interface
|
|
27
|
-
timeoutMs?: number;
|
|
27
|
+
export interface AgentRunnerOptions {
|
|
28
28
|
settings?: AppSettings;
|
|
29
|
-
moduleRoots?: string[];
|
|
30
|
-
skillDirs?: SkillSource[];
|
|
31
29
|
}
|
|
32
|
-
export declare function
|
|
33
|
-
export declare function createClaudeRunner(options?: ClaudeRunnerOptions): ClaudeRunner;
|
|
30
|
+
export declare function createAgentRunner(provider: AgentProvider, options?: AgentRunnerOptions): AgentRunner;
|
|
@@ -0,0 +1,71 @@
|
|
|
1
|
+
import { effectiveGenerationMode } from "../builder/capability.js";
|
|
2
|
+
import { DEFAULT_SETTINGS } from "../constants/settings.js";
|
|
3
|
+
import { prependHostContext } from "./host-context.js";
|
|
4
|
+
function createSession(manager, ctx) {
|
|
5
|
+
return manager.provider.createSession({
|
|
6
|
+
conversationId: ctx.conversationId,
|
|
7
|
+
hostProjectRoot: ctx.hostProjectRoot,
|
|
8
|
+
getCurrentPage: ctx.getCurrentPage,
|
|
9
|
+
settings: manager.settings,
|
|
10
|
+
permissionBus: ctx.permissionBus,
|
|
11
|
+
mcpServer: ctx.createMcpServer?.(),
|
|
12
|
+
onPermissionDecision: ctx.onPermissionDecision,
|
|
13
|
+
onTokenUsage: ctx.onTokenUsage,
|
|
14
|
+
onDisposed: () => {
|
|
15
|
+
manager.sessions.delete(ctx.conversationId);
|
|
16
|
+
},
|
|
17
|
+
});
|
|
18
|
+
}
|
|
19
|
+
async function getOrCreateSession(manager, ctx) {
|
|
20
|
+
const existing = manager.sessions.get(ctx.conversationId);
|
|
21
|
+
if (existing !== undefined)
|
|
22
|
+
return existing;
|
|
23
|
+
const session = await createSession(manager, ctx);
|
|
24
|
+
manager.sessions.set(ctx.conversationId, session);
|
|
25
|
+
return session;
|
|
26
|
+
}
|
|
27
|
+
async function* startTurn(manager, message, ctx) {
|
|
28
|
+
const session = await getOrCreateSession(manager, ctx);
|
|
29
|
+
const grounded = prependHostContext(message, ctx.getCurrentPage(), effectiveGenerationMode(manager.settings.generationMode));
|
|
30
|
+
yield* session.runTurn({ text: grounded, attachments: ctx.attachments ?? [] }, manager.settings);
|
|
31
|
+
}
|
|
32
|
+
function interruptSession(manager, conversationId) {
|
|
33
|
+
const session = manager.sessions.get(conversationId);
|
|
34
|
+
if (session === undefined)
|
|
35
|
+
return;
|
|
36
|
+
session.interrupt();
|
|
37
|
+
}
|
|
38
|
+
function disposeSession(manager, conversationId) {
|
|
39
|
+
const session = manager.sessions.get(conversationId);
|
|
40
|
+
if (session === undefined)
|
|
41
|
+
return;
|
|
42
|
+
manager.sessions.delete(conversationId);
|
|
43
|
+
session.dispose();
|
|
44
|
+
}
|
|
45
|
+
function disposeAll(manager) {
|
|
46
|
+
const sessions = [...manager.sessions.values()];
|
|
47
|
+
manager.sessions.clear();
|
|
48
|
+
for (const session of sessions)
|
|
49
|
+
session.dispose();
|
|
50
|
+
}
|
|
51
|
+
function applySettings(manager, settings) {
|
|
52
|
+
manager.settings = settings;
|
|
53
|
+
for (const session of manager.sessions.values()) {
|
|
54
|
+
session.applySettings?.(settings);
|
|
55
|
+
}
|
|
56
|
+
}
|
|
57
|
+
export function createAgentRunner(provider, options) {
|
|
58
|
+
const manager = {
|
|
59
|
+
provider,
|
|
60
|
+
sessions: new Map(),
|
|
61
|
+
settings: options?.settings ?? DEFAULT_SETTINGS,
|
|
62
|
+
};
|
|
63
|
+
return {
|
|
64
|
+
start: (message, ctx) => startTurn(manager, message, ctx),
|
|
65
|
+
interruptSession: (conversationId) => interruptSession(manager, conversationId),
|
|
66
|
+
disposeSession: (conversationId) => disposeSession(manager, conversationId),
|
|
67
|
+
applySettings: (settings) => applySettings(manager, settings),
|
|
68
|
+
dispose: () => disposeAll(manager),
|
|
69
|
+
};
|
|
70
|
+
}
|
|
71
|
+
//# sourceMappingURL=runner.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"runner.js","sourceRoot":"","sources":["../../src/agent/runner.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import type { AppSettings } from "../state/settings-types.js";
|
|
2
|
+
import type { TurnInput } from "./provider.js";
|
|
3
|
+
import type { RunnerEvent } from "./runner-events.js";
|
|
4
|
+
export interface SessionControls {
|
|
5
|
+
submitTurn(input: TurnInput): void | Promise<void>;
|
|
6
|
+
interrupt(): void;
|
|
7
|
+
close(): void;
|
|
8
|
+
applySettings?(settings: AppSettings): void;
|
|
9
|
+
}
|
|
10
|
+
export interface AgentSession {
|
|
11
|
+
sendTurn(input: TurnInput, timeoutMs: number): AsyncIterable<RunnerEvent>;
|
|
12
|
+
applySettings(settings: AppSettings): void;
|
|
13
|
+
interrupt(): void;
|
|
14
|
+
dispose: () => void;
|
|
15
|
+
}
|
|
16
|
+
export interface SessionDeps {
|
|
17
|
+
events: AsyncIterator<RunnerEvent, void>;
|
|
18
|
+
controls: SessionControls;
|
|
19
|
+
abortController: AbortController;
|
|
20
|
+
onDisposed: () => void;
|
|
21
|
+
}
|
|
22
|
+
export declare function createAgentSession(deps: SessionDeps): AgentSession;
|
|
@@ -1,32 +1,18 @@
|
|
|
1
|
-
import { INTERRUPT_FALLBACK_MS,
|
|
2
|
-
import {
|
|
3
|
-
const RESULT_MESSAGE_TYPE = "result";
|
|
4
|
-
function buildUserMessage(content) {
|
|
5
|
-
return {
|
|
6
|
-
type: "user",
|
|
7
|
-
message: { role: "user", content },
|
|
8
|
-
parent_tool_use_id: null,
|
|
9
|
-
session_id: "",
|
|
10
|
-
};
|
|
11
|
-
}
|
|
1
|
+
import { INTERRUPT_FALLBACK_MS, TURN_IDLE_TIMEOUT_MESSAGE, } from "../constants/agent.js";
|
|
2
|
+
import { TOOL_EXECUTION_CAP_MS } from "../constants/timing.js";
|
|
12
3
|
function disposeSession(state) {
|
|
13
4
|
if (state.disposed)
|
|
14
5
|
return;
|
|
15
6
|
state.disposed = true;
|
|
16
7
|
clearInterruptFallback(state);
|
|
17
|
-
state.
|
|
8
|
+
state.controls.close();
|
|
18
9
|
state.abortController.abort();
|
|
19
10
|
state.onDisposed();
|
|
20
11
|
}
|
|
21
|
-
function
|
|
22
|
-
if (state.disposed)
|
|
23
|
-
return;
|
|
24
|
-
void state.output.setPermissionMode(mode).catch(() => undefined);
|
|
25
|
-
}
|
|
26
|
-
function setMaxThinkingTokens(state, tokens) {
|
|
12
|
+
function applySettings(state, settings) {
|
|
27
13
|
if (state.disposed)
|
|
28
14
|
return;
|
|
29
|
-
|
|
15
|
+
state.controls.applySettings?.(settings);
|
|
30
16
|
}
|
|
31
17
|
function clearInterruptFallback(state) {
|
|
32
18
|
if (state.interruptTimer === null)
|
|
@@ -39,7 +25,7 @@ function interrupt(state) {
|
|
|
39
25
|
return;
|
|
40
26
|
if (state.activeTurns === 0)
|
|
41
27
|
return;
|
|
42
|
-
|
|
28
|
+
state.controls.interrupt();
|
|
43
29
|
clearInterruptFallback(state);
|
|
44
30
|
state.interruptTimer = setTimeout(() => {
|
|
45
31
|
state.interruptTimer = null;
|
|
@@ -51,34 +37,46 @@ function interrupt(state) {
|
|
|
51
37
|
function armTurnTimeout(state, timeoutMs) {
|
|
52
38
|
const flag = { isTimedOut: false };
|
|
53
39
|
let timer;
|
|
54
|
-
const arm = () => {
|
|
40
|
+
const arm = (delayMs) => {
|
|
55
41
|
timer = setTimeout(() => {
|
|
56
42
|
flag.isTimedOut = true;
|
|
57
43
|
state.abortController.abort();
|
|
58
|
-
},
|
|
44
|
+
}, delayMs);
|
|
59
45
|
};
|
|
60
|
-
arm();
|
|
46
|
+
arm(timeoutMs);
|
|
61
47
|
return {
|
|
62
48
|
flag,
|
|
63
49
|
clear: () => clearTimeout(timer),
|
|
64
50
|
reset: () => {
|
|
65
51
|
clearTimeout(timer);
|
|
66
|
-
arm();
|
|
52
|
+
arm(timeoutMs);
|
|
53
|
+
},
|
|
54
|
+
suspend: () => {
|
|
55
|
+
clearTimeout(timer);
|
|
56
|
+
arm(TOOL_EXECUTION_CAP_MS);
|
|
67
57
|
},
|
|
68
58
|
};
|
|
69
59
|
}
|
|
70
60
|
function buildErrorEvent(err, flag) {
|
|
71
61
|
if (flag.isTimedOut)
|
|
72
|
-
return { type: "error", message:
|
|
62
|
+
return { type: "error", message: TURN_IDLE_TIMEOUT_MESSAGE };
|
|
73
63
|
const message = err instanceof Error ? err.message : String(err);
|
|
74
64
|
return { type: "error", message };
|
|
75
65
|
}
|
|
66
|
+
const OUTSTANDING_TOOL_DELTAS = {
|
|
67
|
+
tool_use: 1,
|
|
68
|
+
tool_result: -1,
|
|
69
|
+
};
|
|
70
|
+
function countOutstanding(outstanding, event) {
|
|
71
|
+
const delta = OUTSTANDING_TOOL_DELTAS[event.type] ?? 0;
|
|
72
|
+
return Math.max(0, outstanding + delta);
|
|
73
|
+
}
|
|
76
74
|
async function* readTurn(state, timeout) {
|
|
77
75
|
let outstandingTools = 0;
|
|
78
76
|
while (true) {
|
|
79
77
|
let result;
|
|
80
78
|
try {
|
|
81
|
-
result = await state.
|
|
79
|
+
result = await state.events.next();
|
|
82
80
|
}
|
|
83
81
|
catch (err) {
|
|
84
82
|
yield buildErrorEvent(err, timeout.flag);
|
|
@@ -89,24 +87,19 @@ async function* readTurn(state, timeout) {
|
|
|
89
87
|
disposeSession(state);
|
|
90
88
|
return;
|
|
91
89
|
}
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
else if (event.type === "tool_result") {
|
|
96
|
-
outstandingTools = Math.max(0, outstandingTools - 1);
|
|
97
|
-
}
|
|
98
|
-
yield event;
|
|
99
|
-
}
|
|
90
|
+
const event = result.value;
|
|
91
|
+
outstandingTools = countOutstanding(outstandingTools, event);
|
|
92
|
+
yield event;
|
|
100
93
|
if (outstandingTools > 0)
|
|
101
|
-
timeout.
|
|
94
|
+
timeout.suspend();
|
|
102
95
|
else
|
|
103
96
|
timeout.reset();
|
|
104
|
-
if (
|
|
97
|
+
if (event.type === "done")
|
|
105
98
|
return;
|
|
106
99
|
}
|
|
107
100
|
}
|
|
108
|
-
async function* runTurn(state,
|
|
109
|
-
state.
|
|
101
|
+
async function* runTurn(state, input, timeoutMs) {
|
|
102
|
+
await state.controls.submitTurn(input);
|
|
110
103
|
state.activeTurns += 1;
|
|
111
104
|
const timeout = armTurnTimeout(state, timeoutMs);
|
|
112
105
|
try {
|
|
@@ -119,24 +112,24 @@ async function* runTurn(state, content, timeoutMs) {
|
|
|
119
112
|
clearInterruptFallback(state);
|
|
120
113
|
}
|
|
121
114
|
}
|
|
122
|
-
async function* chainTurn(state,
|
|
115
|
+
async function* chainTurn(state, input, timeoutMs, previous, release) {
|
|
123
116
|
await previous;
|
|
124
117
|
try {
|
|
125
|
-
yield* runTurn(state,
|
|
118
|
+
yield* runTurn(state, input, timeoutMs);
|
|
126
119
|
}
|
|
127
120
|
finally {
|
|
128
121
|
release();
|
|
129
122
|
}
|
|
130
123
|
}
|
|
131
|
-
function sendTurn(state,
|
|
124
|
+
function sendTurn(state, input, timeoutMs) {
|
|
132
125
|
const previous = state.tail;
|
|
133
126
|
let release = () => { };
|
|
134
127
|
state.tail = new Promise((resolve) => {
|
|
135
128
|
release = resolve;
|
|
136
129
|
});
|
|
137
|
-
return chainTurn(state,
|
|
130
|
+
return chainTurn(state, input, timeoutMs, previous, release);
|
|
138
131
|
}
|
|
139
|
-
export function
|
|
132
|
+
export function createAgentSession(deps) {
|
|
140
133
|
const state = {
|
|
141
134
|
...deps,
|
|
142
135
|
disposed: false,
|
|
@@ -145,11 +138,10 @@ export function createClaudeSession(deps) {
|
|
|
145
138
|
interruptTimer: null,
|
|
146
139
|
};
|
|
147
140
|
return {
|
|
148
|
-
sendTurn: (
|
|
149
|
-
|
|
150
|
-
setMaxThinkingTokens: (tokens) => setMaxThinkingTokens(state, tokens),
|
|
141
|
+
sendTurn: (input, timeoutMs) => sendTurn(state, input, timeoutMs),
|
|
142
|
+
applySettings: (settings) => applySettings(state, settings),
|
|
151
143
|
interrupt: () => interrupt(state),
|
|
152
144
|
dispose: () => disposeSession(state),
|
|
153
145
|
};
|
|
154
146
|
}
|
|
155
|
-
//# sourceMappingURL=
|
|
147
|
+
//# sourceMappingURL=session.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"session.js","sourceRoot":"","sources":["../../src/agent/session.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import type { AppSettings } from "../state/settings-types.js";
|
|
2
|
+
import type { ProviderName } from "../state/types.js";
|
|
3
|
+
import type { AgentRunner } from "./runner.js";
|
|
4
|
+
export type ProviderRunnerFactory = (settings: AppSettings) => AgentRunner;
|
|
5
|
+
export type UnavailableReason = (name: ProviderName) => string | undefined;
|
|
6
|
+
export declare function createSwitchingRunner(build: Record<ProviderName, ProviderRunnerFactory>, settings: AppSettings, unavailableReason?: UnavailableReason): AgentRunner;
|
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
import { PROVIDER_LABEL_TOKEN, PROVIDER_LABELS, PROVIDER_SWITCH_LOG, PROVIDER_UNAVAILABLE_ERROR, } from "../constants/providers.js";
|
|
2
|
+
import { providerUnavailableReason } from "../providers/registry.js";
|
|
3
|
+
function unavailableError(name, reason) {
|
|
4
|
+
const prefix = PROVIDER_UNAVAILABLE_ERROR.replace(PROVIDER_LABEL_TOKEN, PROVIDER_LABELS[name]);
|
|
5
|
+
return new Error(`${prefix} ${reason}`);
|
|
6
|
+
}
|
|
7
|
+
function activate(state) {
|
|
8
|
+
if (state.active !== null)
|
|
9
|
+
return state.active.runner;
|
|
10
|
+
const name = state.settings.provider;
|
|
11
|
+
const reason = state.unavailableReason(name);
|
|
12
|
+
if (reason !== undefined)
|
|
13
|
+
throw unavailableError(name, reason);
|
|
14
|
+
const runner = state.build[name](state.settings);
|
|
15
|
+
state.active = { name, runner };
|
|
16
|
+
return runner;
|
|
17
|
+
}
|
|
18
|
+
function switchProvider(state, next) {
|
|
19
|
+
const previous = state.active;
|
|
20
|
+
state.active = null;
|
|
21
|
+
if (previous === null)
|
|
22
|
+
return;
|
|
23
|
+
console.log(`${PROVIDER_SWITCH_LOG} ${previous.name} -> ${next}`);
|
|
24
|
+
previous.runner.dispose();
|
|
25
|
+
}
|
|
26
|
+
function applySettings(state, settings) {
|
|
27
|
+
state.settings = settings;
|
|
28
|
+
if (state.active !== null && state.active.name !== settings.provider) {
|
|
29
|
+
switchProvider(state, settings.provider);
|
|
30
|
+
return;
|
|
31
|
+
}
|
|
32
|
+
state.active?.runner.applySettings(settings);
|
|
33
|
+
}
|
|
34
|
+
function withActive(state, act) {
|
|
35
|
+
if (state.active === null)
|
|
36
|
+
return;
|
|
37
|
+
act(state.active.runner);
|
|
38
|
+
}
|
|
39
|
+
export function createSwitchingRunner(build, settings, unavailableReason = providerUnavailableReason) {
|
|
40
|
+
const state = {
|
|
41
|
+
build,
|
|
42
|
+
unavailableReason,
|
|
43
|
+
settings,
|
|
44
|
+
active: null,
|
|
45
|
+
};
|
|
46
|
+
return {
|
|
47
|
+
start: (message, ctx) => activate(state).start(message, ctx),
|
|
48
|
+
interruptSession: (conversationId) => withActive(state, (runner) => runner.interruptSession(conversationId)),
|
|
49
|
+
disposeSession: (conversationId) => withActive(state, (runner) => runner.disposeSession(conversationId)),
|
|
50
|
+
applySettings: (next) => applySettings(state, next),
|
|
51
|
+
dispose: () => {
|
|
52
|
+
const previous = state.active;
|
|
53
|
+
state.active = null;
|
|
54
|
+
previous?.runner.dispose();
|
|
55
|
+
},
|
|
56
|
+
};
|
|
57
|
+
}
|
|
58
|
+
//# sourceMappingURL=switching-runner.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"switching-runner.js","sourceRoot":"","sources":["../../src/agent/switching-runner.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,16 +1,6 @@
|
|
|
1
|
-
|
|
2
|
-
export declare const
|
|
3
|
-
export declare const SDK_TIMEOUT_MESSAGE = "AI run timed out after 5 minutes of inactivity";
|
|
1
|
+
export declare const TURN_IDLE_TIMEOUT_MS: number;
|
|
2
|
+
export declare const TURN_IDLE_TIMEOUT_MESSAGE = "AI run timed out after 5 minutes of inactivity";
|
|
4
3
|
export declare const INTERRUPT_FALLBACK_MS = 4000;
|
|
5
|
-
export declare const MOCK_FLAG_ENV = "MOCK_CLAUDE";
|
|
6
|
-
export declare const MOCK_FLAG_ENABLED = "1";
|
|
7
|
-
export declare const REAL_SDK_PACKAGE = "@anthropic-ai/claude-agent-sdk";
|
|
8
|
-
export declare const MOCK_SDK_RELATIVE = "../../tests/fixtures/mock-claude/index.js";
|
|
9
|
-
export declare const SYSTEM_PROMPT_PRESET_TYPE: "preset";
|
|
10
|
-
export declare const SYSTEM_PROMPT_PRESET_NAME: "claude_code";
|
|
11
|
-
export declare const SDK_SETTING_SOURCES_ISOLATED: SettingSource[];
|
|
12
|
-
export declare const SKILL_PLUGIN_WRAPPER_DIR = "skill-plugins";
|
|
13
|
-
export declare const SDK_INCLUDE_PARTIAL_MESSAGES = true;
|
|
14
4
|
export declare const SYSTEM_PROMPT_PLACEHOLDER_UNKNOWN = "unknown";
|
|
15
5
|
export declare const SYSTEM_PROMPT_MODULES_NONE = "none";
|
|
16
6
|
export declare const SYSTEM_PROMPT_MODULES_SEPARATOR = ", ";
|
|
@@ -1,15 +1,6 @@
|
|
|
1
|
-
export const
|
|
2
|
-
export const
|
|
1
|
+
export const TURN_IDLE_TIMEOUT_MS = 5 * 60_000;
|
|
2
|
+
export const TURN_IDLE_TIMEOUT_MESSAGE = "AI run timed out after 5 minutes of inactivity";
|
|
3
3
|
export const INTERRUPT_FALLBACK_MS = 4_000;
|
|
4
|
-
export const MOCK_FLAG_ENV = "MOCK_CLAUDE";
|
|
5
|
-
export const MOCK_FLAG_ENABLED = "1";
|
|
6
|
-
export const REAL_SDK_PACKAGE = "@anthropic-ai/claude-agent-sdk";
|
|
7
|
-
export const MOCK_SDK_RELATIVE = "../../tests/fixtures/mock-claude/index.js";
|
|
8
|
-
export const SYSTEM_PROMPT_PRESET_TYPE = "preset";
|
|
9
|
-
export const SYSTEM_PROMPT_PRESET_NAME = "claude_code";
|
|
10
|
-
export const SDK_SETTING_SOURCES_ISOLATED = [];
|
|
11
|
-
export const SKILL_PLUGIN_WRAPPER_DIR = "skill-plugins";
|
|
12
|
-
export const SDK_INCLUDE_PARTIAL_MESSAGES = true;
|
|
13
4
|
export const SYSTEM_PROMPT_PLACEHOLDER_UNKNOWN = "unknown";
|
|
14
5
|
export const SYSTEM_PROMPT_MODULES_NONE = "none";
|
|
15
6
|
export const SYSTEM_PROMPT_MODULES_SEPARATOR = ", ";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"agent.js","sourceRoot":"","sources":["../../src/constants/agent.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"agent.js","sourceRoot":"","sources":["../../src/constants/agent.ts"],"names":[],"mappings":"AAEA,MAAM,CAAC,MAAM,oBAAoB,GAAG,CAAC,GAAG,MAAM,CAAC;AAC/C,MAAM,CAAC,MAAM,yBAAyB,GACpC,gDAAgD,CAAC;AAInD,MAAM,CAAC,MAAM,qBAAqB,GAAG,KAAK,CAAC;AAE3C,MAAM,CAAC,MAAM,iCAAiC,GAAG,SAAS,CAAC;AAC3D,MAAM,CAAC,MAAM,0BAA0B,GAAG,MAAM,CAAC;AACjD,MAAM,CAAC,MAAM,+BAA+B,GAAG,IAAI,CAAC;AACpD,MAAM,CAAC,MAAM,wBAAwB,GAAG,UAAU,CAAC;AACnD,MAAM,CAAC,MAAM,6BAA6B,GAAG,qBAAqB,CAAC;AACnE,MAAM,CAAC,MAAM,2BAA2B,GAAG,qBAAqB,CAAC;AAOjE,MAAM,CAAC,MAAM,iBAAiB,GAAG,gBAAgB,CAAC;AAClD,MAAM,CAAC,MAAM,kBAAkB,GAAG,iBAAiB,CAAC;AACpD,MAAM,CAAC,MAAM,uBAAuB,GAAG,QAAQ,CAAC;AAChD,MAAM,CAAC,MAAM,uBAAuB,GAAG,QAAQ,CAAC;AAChD,MAAM,CAAC,MAAM,wBAAwB,GAAG,SAAS,CAAC;AAClD,MAAM,CAAC,MAAM,uBAAuB,GAAG,QAAQ,CAAC"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import type { SettingSource } from "@anthropic-ai/claude-agent-sdk";
|
|
2
|
+
export declare const REAL_SDK_PACKAGE = "@anthropic-ai/claude-agent-sdk";
|
|
3
|
+
export declare const MOCK_CLAUDE_FLAG_ENV = "MOCK_CLAUDE";
|
|
4
|
+
export declare const MOCK_CLAUDE_FLAG_ENABLED = "1";
|
|
5
|
+
export declare const MOCK_CLAUDE_SDK_RELATIVE = "../../../tests/fixtures/mock-claude/index.js";
|
|
6
|
+
export declare const SYSTEM_PROMPT_PRESET_TYPE: "preset";
|
|
7
|
+
export declare const SYSTEM_PROMPT_PRESET_NAME: "claude_code";
|
|
8
|
+
export declare const SDK_SETTING_SOURCES_ISOLATED: SettingSource[];
|
|
9
|
+
export declare const SDK_INCLUDE_PARTIAL_MESSAGES = true;
|
|
10
|
+
export declare const SKILL_PLUGIN_WRAPPER_DIR = "skill-plugins";
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
export const REAL_SDK_PACKAGE = "@anthropic-ai/claude-agent-sdk";
|
|
2
|
+
export const MOCK_CLAUDE_FLAG_ENV = "MOCK_CLAUDE";
|
|
3
|
+
export const MOCK_CLAUDE_FLAG_ENABLED = "1";
|
|
4
|
+
export const MOCK_CLAUDE_SDK_RELATIVE = "../../../tests/fixtures/mock-claude/index.js";
|
|
5
|
+
export const SYSTEM_PROMPT_PRESET_TYPE = "preset";
|
|
6
|
+
export const SYSTEM_PROMPT_PRESET_NAME = "claude_code";
|
|
7
|
+
export const SDK_SETTING_SOURCES_ISOLATED = [];
|
|
8
|
+
export const SDK_INCLUDE_PARTIAL_MESSAGES = true;
|
|
9
|
+
export const SKILL_PLUGIN_WRAPPER_DIR = "skill-plugins";
|
|
10
|
+
//# sourceMappingURL=claude.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"claude.js","sourceRoot":"","sources":["../../src/constants/claude.ts"],"names":[],"mappings":"AAKA,MAAM,CAAC,MAAM,gBAAgB,GAAG,gCAAgC,CAAC;AAKjE,MAAM,CAAC,MAAM,oBAAoB,GAAG,aAAa,CAAC;AAClD,MAAM,CAAC,MAAM,wBAAwB,GAAG,GAAG,CAAC;AAC5C,MAAM,CAAC,MAAM,wBAAwB,GACnC,8CAA8C,CAAC;AAEjD,MAAM,CAAC,MAAM,yBAAyB,GAAG,QAAiB,CAAC;AAC3D,MAAM,CAAC,MAAM,yBAAyB,GAAG,aAAsB,CAAC;AAChE,MAAM,CAAC,MAAM,4BAA4B,GAAoB,EAAE,CAAC;AAChE,MAAM,CAAC,MAAM,4BAA4B,GAAG,IAAI,CAAC;AAMjD,MAAM,CAAC,MAAM,wBAAwB,GAAG,eAAe,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"cli.js","sourceRoot":"","sources":["../../src/constants/cli.ts"],"names":[],"mappings":"AAIA,MAAM,CAAC,MAAM,2BAA2B,GAAG,uBAAuB,CAAC;AACnE,MAAM,CAAC,MAAM,sBAAsB,GAAG,uBAAuB,CAAC"}
|