@vm0/cli 9.259.0 → 9.260.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/{agent-JQQRVMD7.js → agent-CVBI2U7K.js} +7 -7
- package/{banking-KC4W73VE.js → banking-ZFXLS34X.js} +5 -5
- package/{browser-LR3DADKC.js → browser-AXMVZEXD.js} +5 -5
- package/{chat-VIGRWHPY.js → chat-WY4VMGHJ.js} +11 -8
- package/chat-WY4VMGHJ.js.map +1 -0
- package/{chunk-TMDC4SKZ.js → chunk-2KSQ243U.js} +2 -2
- package/{chunk-O6FQT7NZ.js → chunk-6AE53QDK.js} +163 -7
- package/chunk-6AE53QDK.js.map +1 -0
- package/{chunk-GNZ2MIAC.js → chunk-6GBUMHRL.js} +4 -6
- package/chunk-6GBUMHRL.js.map +1 -0
- package/{chunk-OI4YMCJU.js → chunk-ATTDFHLS.js} +2 -2
- package/{chunk-TZEKMC6N.js → chunk-BY7YDOHH.js} +2 -2
- package/{chunk-YXYURWWD.js → chunk-CVQKOA2N.js} +2 -2
- package/{chunk-5MEPMQ7A.js → chunk-FEHGYJGF.js} +18 -3
- package/{chunk-5MEPMQ7A.js.map → chunk-FEHGYJGF.js.map} +1 -1
- package/{chunk-SKMQRNID.js → chunk-GXTHF4DD.js} +2 -2
- package/{chunk-H5KBW6P3.js → chunk-PU2AEGBG.js} +4 -4
- package/{chunk-LHM5WPCO.js → chunk-Q2CWPFH2.js} +3 -3
- package/{chunk-EJLAGPIJ.js → chunk-QHOV3CNA.js} +2 -2
- package/{computer-use-JV3O5BCX.js → computer-use-MCREZICH.js} +5 -5
- package/{connector-VVOW4MSD.js → connector-2RUHAPEE.js} +73 -8
- package/connector-2RUHAPEE.js.map +1 -0
- package/{credit-3JBUIS3Z.js → credit-FPR2NEB3.js} +7 -7
- package/{developer-support-TLA5FL4Y.js → developer-support-EFOM6KEK.js} +5 -5
- package/{doctor-X6E3PSMM.js → doctor-HD2RWNKF.js} +7 -7
- package/{feishu-3JGPSMPR.js → feishu-I4GHDZSV.js} +5 -5
- package/{finance-7IUZQQU7.js → finance-ROLQNDWR.js} +5 -5
- package/{generate-VAWWFPAY.js → generate-IHAISPWK.js} +7 -7
- package/{github-MUZGDKIN.js → github-INCPLLLD.js} +5 -5
- package/{goal-WMCNENJA.js → goal-OIUF5OU6.js} +5 -5
- package/{host-Z2HQBNVA.js → host-ACRWIKMU.js} +5 -5
- package/{logs-WEALPJFB.js → logs-V55QDVRJ.js} +6 -6
- package/{mail-J7J3DQON.js → mail-WIQI2V2P.js} +7 -7
- package/{maps-H3P2EJE5.js → maps-OJXQAQJQ.js} +5 -5
- package/{model-A4NWK32Y.js → model-TRG2R6CJ.js} +6 -6
- package/{model-provider-7VHEZL5H.js → model-provider-P7HOAOQE.js} +6 -6
- package/{org-2YK6BT7B.js → org-BJLSSFI3.js} +5 -5
- package/package.json +1 -1
- package/{people-search-HEGGKU6A.js → people-search-YZXTOACF.js} +5 -5
- package/{phone-QU2L7CWL.js → phone-5R5HAAPC.js} +5 -5
- package/{preference-GWOW6GFK.js → preference-VM3LUPGB.js} +5 -5
- package/{resource-GVGDKYH4.js → resource-TEJLALGA.js} +5 -5
- package/{scrape-ISQTTO7V.js → scrape-QJCYFJ6O.js} +5 -5
- package/{search-U4AJDSSZ.js → search-AN3BTQHS.js} +6 -6
- package/{secret-CJLCUARN.js → secret-CSQKYWNT.js} +5 -5
- package/{slack-CM5JGA32.js → slack-REQK25VI.js} +5 -5
- package/{teams-EV3GC4F7.js → teams-BY7GNQCM.js} +5 -5
- package/{telegram-JHGCORZ2.js → telegram-XDNTH57U.js} +5 -5
- package/{upgrade-PWJB2KKS.js → upgrade-MTLB67AH.js} +4 -4
- package/{variable-Z53I5LCW.js → variable-SAXYXBYY.js} +5 -5
- package/{video-Y23O465D.js → video-QFZADY5X.js} +4 -4
- package/{weather-HSLWWOVB.js → weather-IWLSOMUW.js} +5 -5
- package/{web-G3GL5JAY.js → web-HTHISWVB.js} +5 -5
- package/{web-search-5ZBSTZLR.js → web-search-RPWD3LYT.js} +5 -5
- package/{whoami-KFSGXKML.js → whoami-HSB4GG2H.js} +7 -7
- package/{workflow-WDHCAEJ6.js → workflow-QW2MUFXN.js} +5 -5
- package/zero.js +43 -43
- package/chat-VIGRWHPY.js.map +0 -1
- package/chunk-GNZ2MIAC.js.map +0 -1
- package/chunk-O6FQT7NZ.js.map +0 -1
- package/connector-VVOW4MSD.js.map +0 -1
- /package/{agent-JQQRVMD7.js.map → agent-CVBI2U7K.js.map} +0 -0
- /package/{banking-KC4W73VE.js.map → banking-ZFXLS34X.js.map} +0 -0
- /package/{browser-LR3DADKC.js.map → browser-AXMVZEXD.js.map} +0 -0
- /package/{chunk-TMDC4SKZ.js.map → chunk-2KSQ243U.js.map} +0 -0
- /package/{chunk-OI4YMCJU.js.map → chunk-ATTDFHLS.js.map} +0 -0
- /package/{chunk-TZEKMC6N.js.map → chunk-BY7YDOHH.js.map} +0 -0
- /package/{chunk-YXYURWWD.js.map → chunk-CVQKOA2N.js.map} +0 -0
- /package/{chunk-SKMQRNID.js.map → chunk-GXTHF4DD.js.map} +0 -0
- /package/{chunk-H5KBW6P3.js.map → chunk-PU2AEGBG.js.map} +0 -0
- /package/{chunk-LHM5WPCO.js.map → chunk-Q2CWPFH2.js.map} +0 -0
- /package/{chunk-EJLAGPIJ.js.map → chunk-QHOV3CNA.js.map} +0 -0
- /package/{computer-use-JV3O5BCX.js.map → computer-use-MCREZICH.js.map} +0 -0
- /package/{credit-3JBUIS3Z.js.map → credit-FPR2NEB3.js.map} +0 -0
- /package/{developer-support-TLA5FL4Y.js.map → developer-support-EFOM6KEK.js.map} +0 -0
- /package/{doctor-X6E3PSMM.js.map → doctor-HD2RWNKF.js.map} +0 -0
- /package/{feishu-3JGPSMPR.js.map → feishu-I4GHDZSV.js.map} +0 -0
- /package/{finance-7IUZQQU7.js.map → finance-ROLQNDWR.js.map} +0 -0
- /package/{generate-VAWWFPAY.js.map → generate-IHAISPWK.js.map} +0 -0
- /package/{github-MUZGDKIN.js.map → github-INCPLLLD.js.map} +0 -0
- /package/{goal-WMCNENJA.js.map → goal-OIUF5OU6.js.map} +0 -0
- /package/{host-Z2HQBNVA.js.map → host-ACRWIKMU.js.map} +0 -0
- /package/{logs-WEALPJFB.js.map → logs-V55QDVRJ.js.map} +0 -0
- /package/{mail-J7J3DQON.js.map → mail-WIQI2V2P.js.map} +0 -0
- /package/{maps-H3P2EJE5.js.map → maps-OJXQAQJQ.js.map} +0 -0
- /package/{model-A4NWK32Y.js.map → model-TRG2R6CJ.js.map} +0 -0
- /package/{model-provider-7VHEZL5H.js.map → model-provider-P7HOAOQE.js.map} +0 -0
- /package/{org-2YK6BT7B.js.map → org-BJLSSFI3.js.map} +0 -0
- /package/{people-search-HEGGKU6A.js.map → people-search-YZXTOACF.js.map} +0 -0
- /package/{phone-QU2L7CWL.js.map → phone-5R5HAAPC.js.map} +0 -0
- /package/{preference-GWOW6GFK.js.map → preference-VM3LUPGB.js.map} +0 -0
- /package/{resource-GVGDKYH4.js.map → resource-TEJLALGA.js.map} +0 -0
- /package/{scrape-ISQTTO7V.js.map → scrape-QJCYFJ6O.js.map} +0 -0
- /package/{search-U4AJDSSZ.js.map → search-AN3BTQHS.js.map} +0 -0
- /package/{secret-CJLCUARN.js.map → secret-CSQKYWNT.js.map} +0 -0
- /package/{slack-CM5JGA32.js.map → slack-REQK25VI.js.map} +0 -0
- /package/{teams-EV3GC4F7.js.map → teams-BY7GNQCM.js.map} +0 -0
- /package/{telegram-JHGCORZ2.js.map → telegram-XDNTH57U.js.map} +0 -0
- /package/{upgrade-PWJB2KKS.js.map → upgrade-MTLB67AH.js.map} +0 -0
- /package/{variable-Z53I5LCW.js.map → variable-SAXYXBYY.js.map} +0 -0
- /package/{video-Y23O465D.js.map → video-QFZADY5X.js.map} +0 -0
- /package/{weather-HSLWWOVB.js.map → weather-IWLSOMUW.js.map} +0 -0
- /package/{web-G3GL5JAY.js.map → web-HTHISWVB.js.map} +0 -0
- /package/{web-search-5ZBSTZLR.js.map → web-search-RPWD3LYT.js.map} +0 -0
- /package/{whoami-KFSGXKML.js.map → whoami-HSB4GG2H.js.map} +0 -0
- /package/{workflow-WDHCAEJ6.js.map → workflow-QW2MUFXN.js.map} +0 -0
|
@@ -4,14 +4,14 @@ const require = __createRequire(import.meta.url);
|
|
|
4
4
|
import {
|
|
5
5
|
loadConnectorPermissionInfos,
|
|
6
6
|
policyIcon
|
|
7
|
-
} from "./chunk-
|
|
7
|
+
} from "./chunk-PU2AEGBG.js";
|
|
8
8
|
import {
|
|
9
9
|
isInteractive,
|
|
10
10
|
promptConfirm
|
|
11
11
|
} from "./chunk-X2545RBX.js";
|
|
12
12
|
import {
|
|
13
13
|
permissionGrantsToFirewallPolicies
|
|
14
|
-
} from "./chunk-
|
|
14
|
+
} from "./chunk-QHOV3CNA.js";
|
|
15
15
|
import {
|
|
16
16
|
createZeroAgent,
|
|
17
17
|
deleteZeroAgent,
|
|
@@ -23,14 +23,14 @@ import {
|
|
|
23
23
|
listZeroUserPermissionGrants,
|
|
24
24
|
updateZeroAgent,
|
|
25
25
|
updateZeroAgentInstructions
|
|
26
|
-
} from "./chunk-
|
|
27
|
-
import "./chunk-
|
|
26
|
+
} from "./chunk-6AE53QDK.js";
|
|
27
|
+
import "./chunk-GXTHF4DD.js";
|
|
28
28
|
import "./chunk-SB7EZ2ZO.js";
|
|
29
29
|
import {
|
|
30
30
|
source_default,
|
|
31
31
|
withErrorHandler
|
|
32
|
-
} from "./chunk-
|
|
33
|
-
import "./chunk-
|
|
32
|
+
} from "./chunk-Q2CWPFH2.js";
|
|
33
|
+
import "./chunk-6GBUMHRL.js";
|
|
34
34
|
import {
|
|
35
35
|
Command
|
|
36
36
|
} from "./chunk-LD4ZVU4O.js";
|
|
@@ -594,4 +594,4 @@ Notes:
|
|
|
594
594
|
export {
|
|
595
595
|
zeroAgentCommand
|
|
596
596
|
};
|
|
597
|
-
//# sourceMappingURL=agent-
|
|
597
|
+
//# sourceMappingURL=agent-CVBI2U7K.js.map
|
|
@@ -3,14 +3,14 @@ import { createRequire as __createRequire } from "node:module";
|
|
|
3
3
|
const require = __createRequire(import.meta.url);
|
|
4
4
|
import {
|
|
5
5
|
callZeroBanking
|
|
6
|
-
} from "./chunk-
|
|
7
|
-
import "./chunk-
|
|
6
|
+
} from "./chunk-6AE53QDK.js";
|
|
7
|
+
import "./chunk-GXTHF4DD.js";
|
|
8
8
|
import "./chunk-SB7EZ2ZO.js";
|
|
9
9
|
import {
|
|
10
10
|
source_default,
|
|
11
11
|
withErrorHandler
|
|
12
|
-
} from "./chunk-
|
|
13
|
-
import "./chunk-
|
|
12
|
+
} from "./chunk-Q2CWPFH2.js";
|
|
13
|
+
import "./chunk-6GBUMHRL.js";
|
|
14
14
|
import {
|
|
15
15
|
Command,
|
|
16
16
|
InvalidArgumentError
|
|
@@ -114,4 +114,4 @@ Notes:
|
|
|
114
114
|
export {
|
|
115
115
|
zeroBankingCommand
|
|
116
116
|
};
|
|
117
|
-
//# sourceMappingURL=banking-
|
|
117
|
+
//# sourceMappingURL=banking-ZFXLS34X.js.map
|
|
@@ -10,14 +10,14 @@ import {
|
|
|
10
10
|
leaseZeroBrowser,
|
|
11
11
|
useZeroBrowser,
|
|
12
12
|
zeroBrowserCreateRequestSchema
|
|
13
|
-
} from "./chunk-
|
|
14
|
-
import "./chunk-
|
|
13
|
+
} from "./chunk-6AE53QDK.js";
|
|
14
|
+
import "./chunk-GXTHF4DD.js";
|
|
15
15
|
import "./chunk-SB7EZ2ZO.js";
|
|
16
16
|
import {
|
|
17
17
|
source_default,
|
|
18
18
|
withErrorHandler
|
|
19
|
-
} from "./chunk-
|
|
20
|
-
import "./chunk-
|
|
19
|
+
} from "./chunk-Q2CWPFH2.js";
|
|
20
|
+
import "./chunk-6GBUMHRL.js";
|
|
21
21
|
import {
|
|
22
22
|
Command,
|
|
23
23
|
InvalidArgumentError,
|
|
@@ -209,4 +209,4 @@ Notes:
|
|
|
209
209
|
export {
|
|
210
210
|
zeroBrowserCommand
|
|
211
211
|
};
|
|
212
|
-
//# sourceMappingURL=browser-
|
|
212
|
+
//# sourceMappingURL=browser-AXMVZEXD.js.map
|
|
@@ -8,7 +8,7 @@ import {
|
|
|
8
8
|
} from "./chunk-B6ELBBRJ.js";
|
|
9
9
|
import {
|
|
10
10
|
formatModelProviderRoute
|
|
11
|
-
} from "./chunk-
|
|
11
|
+
} from "./chunk-2KSQ243U.js";
|
|
12
12
|
import {
|
|
13
13
|
chatThreadEventSchema,
|
|
14
14
|
chatThreadSnapshotProjectionSchema,
|
|
@@ -18,17 +18,17 @@ import {
|
|
|
18
18
|
listZeroModelPolicies,
|
|
19
19
|
renameZeroChatThread,
|
|
20
20
|
updateZeroChatThreadModelSelection
|
|
21
|
-
} from "./chunk-
|
|
22
|
-
import "./chunk-
|
|
21
|
+
} from "./chunk-6AE53QDK.js";
|
|
22
|
+
import "./chunk-GXTHF4DD.js";
|
|
23
23
|
import "./chunk-SB7EZ2ZO.js";
|
|
24
24
|
import {
|
|
25
25
|
getApiUrl,
|
|
26
26
|
source_default,
|
|
27
27
|
withErrorHandler
|
|
28
|
-
} from "./chunk-
|
|
28
|
+
} from "./chunk-Q2CWPFH2.js";
|
|
29
29
|
import {
|
|
30
30
|
decodeZeroTokenPayload
|
|
31
|
-
} from "./chunk-
|
|
31
|
+
} from "./chunk-6GBUMHRL.js";
|
|
32
32
|
import {
|
|
33
33
|
Command
|
|
34
34
|
} from "./chunk-LD4ZVU4O.js";
|
|
@@ -119,7 +119,8 @@ function applyEvent(threads, event, pendingThreadUpdates) {
|
|
|
119
119
|
renamedAt: null,
|
|
120
120
|
selectedModel: event.selectedModel,
|
|
121
121
|
serviceTier: event.serviceTier,
|
|
122
|
-
computerUseHostId: event.computerUseHostId
|
|
122
|
+
computerUseHostId: event.computerUseHostId,
|
|
123
|
+
cloudBrowserEnabled: event.cloudBrowserEnabled ?? false
|
|
123
124
|
});
|
|
124
125
|
const pendingUpdates = pendingThreadUpdates.get(event.chatThreadId) ?? [];
|
|
125
126
|
pendingThreadUpdates.delete(event.chatThreadId);
|
|
@@ -187,6 +188,7 @@ function applyEvent(threads, event, pendingThreadUpdates) {
|
|
|
187
188
|
threads.set(event.chatThreadId, {
|
|
188
189
|
...thread,
|
|
189
190
|
computerUseHostId: event.computerUseHostId,
|
|
191
|
+
cloudBrowserEnabled: event.cloudBrowserEnabled ?? false,
|
|
190
192
|
updatedAt: event.createdAt
|
|
191
193
|
});
|
|
192
194
|
return;
|
|
@@ -203,7 +205,8 @@ function replayChatThreadEvents(snapshot, events) {
|
|
|
203
205
|
...thread,
|
|
204
206
|
selectedModel: thread.selectedModel ?? null,
|
|
205
207
|
serviceTier: thread.serviceTier ?? null,
|
|
206
|
-
computerUseHostId: thread.computerUseHostId ?? null
|
|
208
|
+
computerUseHostId: thread.computerUseHostId ?? null,
|
|
209
|
+
cloudBrowserEnabled: thread.cloudBrowserEnabled ?? false
|
|
207
210
|
});
|
|
208
211
|
}
|
|
209
212
|
const pendingThreadUpdates = /* @__PURE__ */ new Map();
|
|
@@ -619,4 +622,4 @@ Examples:
|
|
|
619
622
|
export {
|
|
620
623
|
zeroChatCommand
|
|
621
624
|
};
|
|
622
|
-
//# sourceMappingURL=chat-
|
|
625
|
+
//# sourceMappingURL=chat-WY4VMGHJ.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/commands/zero/chat/index.ts","../src/commands/zero/chat/get.ts","../src/commands/zero/chat/list.ts","../src/commands/zero/chat/chat-thread-cache.ts","../../../packages/core/src/chat-thread-event-replay.ts","../src/commands/zero/chat/model.ts","../src/commands/zero/chat/rename.ts"],"sourcesContent":["import { Command } from \"commander\";\n\nimport { getCommand } from \"./get\";\nimport { listCommand } from \"./list\";\nimport { modelCommand } from \"./model\";\nimport { renameCommand } from \"./rename\";\n\nexport const zeroChatCommand = new Command()\n .name(\"chat\")\n .description(\"Manage web chat threads\")\n .addCommand(getCommand)\n .addCommand(listCommand)\n .addCommand(modelCommand)\n .addCommand(renameCommand)\n .addHelpText(\n \"after\",\n `\nExamples:\n List agent chats: zero chat list\n Show this chat: zero chat get\n Switch model: zero chat model claude-sonnet-5\n Rename this chat: zero chat rename \"Launch plan\"\n Rename another: zero chat rename --thread <thread-id> \"Launch plan\"`,\n );\n","import chalk from \"chalk\";\nimport { Command } from \"commander\";\n\nimport { getZeroChatThread } from \"../../../lib/api\";\nimport { withErrorHandler } from \"../../../lib/command\";\n\ninterface GetOptions {\n readonly json?: boolean;\n}\n\nfunction getCurrentChatThreadId(): string | undefined {\n return process.env.ZERO_CHAT_THREAD_ID?.trim() || undefined;\n}\n\nfunction printUsageError(message: string, hint: string): never {\n console.error(chalk.red(`✗ ${message}`));\n console.error(chalk.dim(` ${hint}`));\n process.exit(1);\n}\n\nexport const getCommand = new Command()\n .name(\"get\")\n .description(\"Show the current web chat thread\")\n .option(\"--json\", \"Print machine-readable JSON\")\n .addHelpText(\n \"after\",\n `\nExamples:\n Show this chat: zero chat get\n Print JSON: zero chat get --json\n\nNotes:\n - Uses ZERO_CHAT_THREAD_ID from the current web chat thread\n - Authenticates via ZERO_TOKEN (requires chat-thread:read capability)`,\n )\n .action(\n withErrorHandler(async (options: GetOptions) => {\n const threadId = getCurrentChatThreadId();\n if (!threadId) {\n printUsageError(\n \"ZERO_CHAT_THREAD_ID is not set\",\n \"Run this command from a Zero web chat thread.\",\n );\n }\n\n const thread = await getZeroChatThread({ threadId });\n if (options.json) {\n console.log(JSON.stringify(thread));\n return;\n }\n\n console.log(chalk.green(\"✓ Chat thread loaded\"));\n console.log(chalk.dim(` Thread: ${thread.id}`));\n console.log(chalk.dim(` Title: ${thread.title ?? \"(untitled)\"}`));\n console.log(\n chalk.dim(` Model: ${thread.selectedModel ?? \"(default)\"}`),\n );\n }),\n );\n","import chalk from \"chalk\";\nimport { Command } from \"commander\";\n\nimport { withErrorHandler } from \"../../../lib/command\";\nimport { formatIsoTimestamp } from \"../../../lib/utils/time-format\";\nimport { parseBoundedLogCount } from \"../../../lib/utils/log-pagination\";\nimport { isUuid } from \"../../../lib/utils/uuid\";\nimport { syncCachedChatThreads } from \"./chat-thread-cache\";\n\nconst DEFAULT_LIMIT = 20;\nconst MAX_LIMIT = 100;\n\ninterface ListOptions {\n readonly agent?: string;\n readonly json?: boolean;\n readonly limit?: string;\n}\n\nfunction printUsageError(message: string, hint: string): never {\n console.error(chalk.red(`✗ ${message}`));\n console.error(chalk.dim(` ${hint}`));\n process.exit(1);\n}\n\nfunction resolveAgentId(flagAgentId: string | undefined): string {\n const agentId = flagAgentId?.trim() || process.env.ZERO_AGENT_ID?.trim();\n if (!agentId) {\n printUsageError(\n \"ZERO_AGENT_ID is not set\",\n \"Pass --agent <agent-id> or run inside an agent sandbox.\",\n );\n }\n if (!isUuid(agentId)) {\n printUsageError(\n `Invalid agent ID \"${agentId}\" — expected a UUID`,\n \"Pass a valid UUID with --agent <agent-id>.\",\n );\n }\n return agentId;\n}\n\nfunction titleForDisplay(title: string | null): string {\n return (title ?? \"(untitled)\").replace(/\\s+/g, \" \");\n}\n\nexport const listCommand = new Command()\n .name(\"list\")\n .alias(\"ls\")\n .description(\"List web chat threads for an agent\")\n .option(\"--agent <id>\", \"Filter by Zero agent ID (defaults to ZERO_AGENT_ID)\")\n .option(\n \"--limit <n>\",\n `Maximum number of threads to print (default: ${DEFAULT_LIMIT}, max: ${MAX_LIMIT})`,\n )\n .option(\"--json\", \"Print machine-readable JSON\")\n .addHelpText(\n \"after\",\n `\nExamples:\n List this agent's chats: zero chat list\n List another agent: zero chat list --agent <agent-id>\n Limit the output: zero chat list --limit 10\n Print JSON: zero chat list --json\n\nNotes:\n - Defaults --agent to ZERO_AGENT_ID\n - Authenticates via ZERO_TOKEN (requires chat-thread:read capability)\n - Replays cached snapshot and incremental chat thread events`,\n )\n .action(\n withErrorHandler(async (options: ListOptions) => {\n const agentId = resolveAgentId(options.agent);\n const limit =\n options.limit === undefined\n ? DEFAULT_LIMIT\n : parseBoundedLogCount(options.limit, \"--limit\", 1, MAX_LIMIT);\n const allThreads = await syncCachedChatThreads();\n const matchingThreads = allThreads.filter((thread) => {\n return thread.agentId === agentId;\n });\n const threads = matchingThreads.slice(0, limit);\n\n if (options.json) {\n console.log(\n JSON.stringify({\n agentId,\n total: matchingThreads.length,\n threads,\n }),\n );\n return;\n }\n\n if (threads.length === 0) {\n console.log(chalk.dim(\"No chat threads found\"));\n return;\n }\n\n const header = [\n \"THREAD ID\".padEnd(38),\n \"SORTED\".padEnd(20),\n \"PINNED\".padEnd(6),\n \"TITLE\",\n ].join(\" \");\n console.log(chalk.dim(header));\n for (const thread of threads) {\n console.log(\n [\n thread.id.padEnd(38),\n formatIsoTimestamp(thread.sortAt).padEnd(20),\n (thread.pinnedAt === null ? \"-\" : \"yes\").padEnd(6),\n titleForDisplay(thread.title),\n ].join(\" \"),\n );\n }\n\n if (threads.length < matchingThreads.length) {\n console.log();\n console.log(\n chalk.dim(\n ` Showing ${threads.length} of ${matchingThreads.length} threads. Use --limit to adjust.`,\n ),\n );\n }\n }),\n );\n","import { createHash, randomUUID } from \"node:crypto\";\nimport { mkdir, readFile, rename, rm, writeFile } from \"node:fs/promises\";\nimport { homedir } from \"node:os\";\nimport { dirname, join } from \"node:path\";\n\nimport {\n chatThreadEventSchema,\n chatThreadSnapshotProjectionSchema,\n type ChatThreadEvent,\n} from \"@vm0/api-contracts/contracts/chat-threads\";\nimport {\n replayChatThreadEvents,\n type EventDrivenChatThread,\n} from \"@vm0/core/chat-thread-event-replay\";\n\nimport {\n getZeroChatThreadSnapshot,\n listZeroChatThreadEvents,\n type ZeroChatThreadSnapshot,\n} from \"../../../lib/api\";\nimport { decodeZeroTokenPayload, getApiUrl } from \"../../../lib/api/config\";\n\nconst CACHE_VERSION = 1;\nconst MAX_EVENT_PAGES_PER_SYNC = 20;\n\ninterface ChatThreadCache {\n readonly version: typeof CACHE_VERSION;\n readonly snapshot: ZeroChatThreadSnapshot;\n readonly events: readonly ChatThreadEvent[];\n}\n\nfunction isRecord(value: unknown): value is Record<string, unknown> {\n return typeof value === \"object\" && value !== null;\n}\n\nfunction parseCache(raw: string): ChatThreadCache | null {\n let value: unknown;\n try {\n value = JSON.parse(raw);\n } catch (error) {\n if (error instanceof SyntaxError) {\n return null;\n }\n throw error;\n }\n\n if (\n !isRecord(value) ||\n value.version !== CACHE_VERSION ||\n !isRecord(value.snapshot)\n ) {\n return null;\n }\n\n const chatThreads = chatThreadSnapshotProjectionSchema\n .array()\n .safeParse(value.snapshot.chatThreads);\n const events = chatThreadEventSchema.array().safeParse(value.events);\n const latestEventId = value.snapshot.latestEventId;\n if (\n !chatThreads.success ||\n !events.success ||\n (latestEventId !== null && typeof latestEventId !== \"string\")\n ) {\n return null;\n }\n\n return {\n version: CACHE_VERSION,\n snapshot: {\n chatThreads: chatThreads.data,\n latestEventId,\n },\n events: events.data,\n };\n}\n\nfunction cacheRoot(): string {\n return process.env.XDG_CACHE_HOME?.trim() || join(homedir(), \".cache\");\n}\n\nasync function cachePath(): Promise<string> {\n const token = decodeZeroTokenPayload();\n if (!token) {\n throw new Error(\"ZERO_TOKEN does not contain a valid Zero cache scope\");\n }\n const apiUrl = await getApiUrl();\n const scope = createHash(\"sha256\")\n .update(`${apiUrl}\\0${token.orgId}\\0${token.userId}`)\n .digest(\"hex\");\n return join(cacheRoot(), \"vm0\", \"zero\", \"chat-threads\", `${scope}.json`);\n}\n\nfunction isNodeError(error: unknown): error is NodeJS.ErrnoException {\n return error instanceof Error && \"code\" in error;\n}\n\nasync function readCache(path: string): Promise<ChatThreadCache | null> {\n let raw: string;\n try {\n raw = await readFile(path, \"utf8\");\n } catch (error) {\n if (isNodeError(error) && error.code === \"ENOENT\") {\n return null;\n }\n throw error;\n }\n return parseCache(raw);\n}\n\nasync function writeCache(path: string, cache: ChatThreadCache): Promise<void> {\n await mkdir(dirname(path), { recursive: true, mode: 0o700 });\n const temporaryPath = `${path}.${process.pid}.${randomUUID()}.tmp`;\n try {\n await writeFile(temporaryPath, `${JSON.stringify(cache)}\\n`, {\n encoding: \"utf8\",\n flag: \"wx\",\n mode: 0o600,\n });\n await rename(temporaryPath, path);\n } finally {\n await rm(temporaryPath, { force: true });\n }\n}\n\nfunction mergeEvents(\n existing: readonly ChatThreadEvent[],\n incoming: readonly ChatThreadEvent[],\n): ChatThreadEvent[] {\n const byId = new Map<string, ChatThreadEvent>();\n for (const event of existing) {\n byId.set(event.id, event);\n }\n for (const event of incoming) {\n byId.set(event.id, event);\n }\n return [...byId.values()].sort((left, right) => {\n const timeCompare = left.createdAt.localeCompare(right.createdAt);\n return timeCompare !== 0 ? timeCompare : left.id.localeCompare(right.id);\n });\n}\n\nasync function freshCache(): Promise<ChatThreadCache> {\n return {\n version: CACHE_VERSION,\n snapshot: await getZeroChatThreadSnapshot(),\n events: [],\n };\n}\n\nfunction latestEventId(cache: ChatThreadCache): string | undefined {\n return cache.events.at(-1)?.id ?? cache.snapshot.latestEventId ?? undefined;\n}\n\nexport async function syncCachedChatThreads(): Promise<\n EventDrivenChatThread[]\n> {\n const path = await cachePath();\n let cache = (await readCache(path)) ?? (await freshCache());\n let cursor = latestEventId(cache);\n\n for (let page = 0; page < MAX_EVENT_PAGES_PER_SYNC; page++) {\n const result = await listZeroChatThreadEvents({\n sinceEventId: cursor,\n });\n if (result.kind === \"expired\") {\n cache = await freshCache();\n cursor = latestEventId(cache);\n continue;\n }\n\n if (result.events.length > 0) {\n cache = {\n ...cache,\n events: mergeEvents(cache.events, result.events),\n };\n const lastEvent = result.events.at(-1);\n if (lastEvent) {\n cursor = lastEvent.id;\n }\n }\n\n if (!result.hasMore || result.events.length === 0) {\n break;\n }\n }\n\n await writeCache(path, cache);\n return replayChatThreadEvents(cache.snapshot.chatThreads, cache.events);\n}\n","import type {\n ChatThreadEvent,\n ChatThreadSnapshotProjection,\n} from \"@vm0/api-contracts/contracts/chat-threads\";\n\nexport interface EventDrivenChatThread extends ChatThreadSnapshotProjection {\n readonly sortAt: string;\n readonly cloudBrowserEnabled: boolean;\n}\n\nfunction compareThreadOrder(\n left: EventDrivenChatThread,\n right: EventDrivenChatThread,\n): number {\n const leftPinned = left.pinnedAt !== null;\n const rightPinned = right.pinnedAt !== null;\n if (leftPinned !== rightPinned) {\n return leftPinned ? -1 : 1;\n }\n const sortCompare = right.sortAt.localeCompare(left.sortAt);\n if (sortCompare !== 0) {\n return sortCompare;\n }\n return right.id.localeCompare(left.id);\n}\n\nfunction applyEvent(\n threads: Map<string, EventDrivenChatThread>,\n event: ChatThreadEvent,\n pendingThreadUpdates: Map<string, ChatThreadEvent[]>,\n) {\n if (event.kind === \"created\") {\n threads.set(event.chatThreadId, {\n id: event.chatThreadId,\n agentId: event.agentId,\n title: event.title,\n sortAt: event.createdAt,\n createdAt: event.createdAt,\n updatedAt: event.createdAt,\n pinnedAt: null,\n renamedAt: null,\n selectedModel: event.selectedModel,\n serviceTier: event.serviceTier,\n computerUseHostId: event.computerUseHostId,\n cloudBrowserEnabled: event.cloudBrowserEnabled ?? false,\n });\n const pendingUpdates = pendingThreadUpdates.get(event.chatThreadId) ?? [];\n pendingThreadUpdates.delete(event.chatThreadId);\n for (const pendingUpdate of pendingUpdates) {\n if (pendingUpdate.createdAt.localeCompare(event.createdAt) >= 0) {\n applyEvent(threads, pendingUpdate, pendingThreadUpdates);\n }\n }\n return;\n }\n\n if (event.kind === \"deleted\") {\n threads.delete(event.chatThreadId);\n return;\n }\n\n const thread = threads.get(event.chatThreadId);\n if (!thread) {\n if (\n event.kind === \"model_selection_updated\" ||\n event.kind === \"service_tier_updated\" ||\n event.kind === \"computer_use_host_updated\"\n ) {\n const pendingUpdates = pendingThreadUpdates.get(event.chatThreadId) ?? [];\n pendingThreadUpdates.set(event.chatThreadId, [...pendingUpdates, event]);\n }\n return;\n }\n\n if (event.kind === \"renamed\") {\n threads.set(event.chatThreadId, {\n ...thread,\n title: event.title,\n renamedAt: event.createdAt,\n updatedAt: event.createdAt,\n });\n return;\n }\n\n if (event.kind === \"pinned\") {\n threads.set(event.chatThreadId, {\n ...thread,\n pinnedAt: event.createdAt,\n updatedAt: event.createdAt,\n });\n return;\n }\n\n if (event.kind === \"unpinned\") {\n threads.set(event.chatThreadId, {\n ...thread,\n pinnedAt: null,\n updatedAt: event.createdAt,\n });\n return;\n }\n\n if (event.kind === \"model_selection_updated\") {\n threads.set(event.chatThreadId, {\n ...thread,\n selectedModel: event.selectedModel,\n updatedAt: event.createdAt,\n });\n return;\n }\n\n if (event.kind === \"service_tier_updated\") {\n threads.set(event.chatThreadId, {\n ...thread,\n serviceTier: event.serviceTier,\n updatedAt: event.createdAt,\n });\n return;\n }\n\n if (event.kind === \"computer_use_host_updated\") {\n threads.set(event.chatThreadId, {\n ...thread,\n computerUseHostId: event.computerUseHostId,\n cloudBrowserEnabled: event.cloudBrowserEnabled ?? false,\n updatedAt: event.createdAt,\n });\n return;\n }\n\n threads.set(event.chatThreadId, {\n ...thread,\n sortAt: event.createdAt,\n });\n}\n\nexport function replayChatThreadEvents(\n snapshot: readonly ChatThreadSnapshotProjection[],\n events: readonly ChatThreadEvent[],\n): EventDrivenChatThread[] {\n const threads = new Map<string, EventDrivenChatThread>();\n for (const thread of snapshot) {\n threads.set(thread.id, {\n ...thread,\n selectedModel: thread.selectedModel ?? null,\n serviceTier: thread.serviceTier ?? null,\n computerUseHostId: thread.computerUseHostId ?? null,\n cloudBrowserEnabled: thread.cloudBrowserEnabled ?? false,\n });\n }\n const pendingThreadUpdates = new Map<string, ChatThreadEvent[]>();\n for (const event of events) {\n applyEvent(threads, event, pendingThreadUpdates);\n }\n return [...threads.values()].sort(compareThreadOrder);\n}\n","import chalk from \"chalk\";\nimport { Command } from \"commander\";\nimport type { ChatThreadMetadata } from \"@vm0/api-contracts/contracts/chat-threads\";\nimport type { OrgModelPolicy } from \"@vm0/api-contracts/contracts/model-providers\";\n\nimport {\n getZeroChatThread,\n listZeroModelPolicies,\n updateZeroChatThreadModelSelection,\n} from \"../../../lib/api\";\nimport { withErrorHandler } from \"../../../lib/command\";\nimport { formatModelProviderRoute } from \"../../../lib/domain/model-policy-display\";\n\ninterface ModelOptions {\n readonly help?: boolean;\n}\n\nfunction getCurrentChatThreadId(): string | undefined {\n return process.env.ZERO_CHAT_THREAD_ID?.trim() || undefined;\n}\n\nfunction printUsageError(message: string, hint: string): never {\n console.error(chalk.red(`✗ ${message}`));\n console.error(chalk.dim(` ${hint}`));\n process.exit(1);\n}\n\nfunction switchablePolicies(policies: readonly OrgModelPolicy[]) {\n return policies.filter((policy) => {\n return policy.routeStatus === \"valid\";\n });\n}\n\nfunction formatModelName(policy: OrgModelPolicy): string {\n return `${policy.modelLabel} ${chalk.dim(`(${policy.model})`)}`;\n}\n\nfunction printSwitchableModels(policies: readonly OrgModelPolicy[]): void {\n const switchable = switchablePolicies(policies);\n if (switchable.length === 0) {\n console.log(chalk.dim(\"No switchable models are available for this user\"));\n return;\n }\n\n for (const policy of switchable) {\n const defaultMarker = policy.isDefault ? chalk.dim(\" (default)\") : \"\";\n console.log(` - ${formatModelName(policy)}${defaultMarker}`);\n console.log(` provider: ${formatModelProviderRoute(policy)}`);\n }\n}\n\nfunction printCurrentModel(thread: ChatThreadMetadata): void {\n console.log(chalk.green(\"✓ Chat thread loaded\"));\n console.log(chalk.dim(` Thread: ${thread.id}`));\n console.log(chalk.dim(` Title: ${thread.title ?? \"(untitled)\"}`));\n console.log(chalk.dim(` Model: ${thread.selectedModel ?? \"(default)\"}`));\n}\n\nasync function printModelHelp(command: Command): Promise<void> {\n const result = await listZeroModelPolicies();\n console.log(command.helpInformation().trimEnd());\n console.log();\n console.log(chalk.bold(\"Switchable models:\"));\n printSwitchableModels(result.policies);\n console.log();\n console.log(\"Use the model id in parentheses:\");\n console.log(chalk.cyan(\" zero chat model <model>\"));\n}\n\nasync function printCurrentModelAndChoices(threadId: string): Promise<void> {\n const [thread, result] = await Promise.all([\n getZeroChatThread({ threadId }),\n listZeroModelPolicies(),\n ]);\n\n printCurrentModel(thread);\n console.log();\n console.log(chalk.bold(\"Switchable models:\"));\n printSwitchableModels(result.policies);\n console.log();\n console.log(\"Switch models:\");\n console.log(chalk.cyan(\" zero chat model <model>\"));\n}\n\nasync function switchModel(threadId: string, model: string): Promise<void> {\n const result = await listZeroModelPolicies();\n const policy = result.policies.find((candidate) => {\n return candidate.model === model;\n });\n\n if (!policy) {\n printUsageError(`Unknown model: ${model}`, \"Run: zero chat model --help\");\n }\n\n if (policy.routeStatus !== \"valid\") {\n const reason = policy.routeStatusReason\n ? ` (${policy.routeStatusReason})`\n : \"\";\n printUsageError(\n `Model is not switchable: ${model}${reason}`,\n \"Run: zero chat model --help\",\n );\n }\n\n const updated = await updateZeroChatThreadModelSelection({\n threadId,\n model,\n });\n\n console.log(chalk.green(\"✓ Chat model updated\"));\n console.log(chalk.dim(` Thread: ${updated.threadId}`));\n console.log(chalk.dim(` Model: ${policy.modelLabel} (${model})`));\n}\n\nexport const modelCommand = new Command()\n .name(\"model\")\n .description(\"Show or switch the current web chat thread model\")\n .argument(\"[model]\", \"Model id to use for this chat thread\")\n .helpOption(false)\n .option(\"-h, --help\", \"Show help with switchable models\")\n .addHelpText(\n \"after\",\n `\nExamples:\n Show this chat model: zero chat model\n Switch this model: zero chat model claude-sonnet-5\n\nNotes:\n - Uses ZERO_CHAT_THREAD_ID from the current web chat thread\n - Authenticates via ZERO_TOKEN (requires chat-thread:write capability to switch)`,\n )\n .action(\n withErrorHandler(\n async (model: string | undefined, options: ModelOptions) => {\n if (options.help) {\n await printModelHelp(modelCommand);\n return;\n }\n\n const threadId = getCurrentChatThreadId();\n if (!threadId) {\n printUsageError(\n \"ZERO_CHAT_THREAD_ID is not set\",\n \"Run this command from a Zero web chat thread.\",\n );\n }\n\n if (!model) {\n await printCurrentModelAndChoices(threadId);\n return;\n }\n\n await switchModel(threadId, model);\n },\n ),\n );\n","import chalk from \"chalk\";\nimport { Command } from \"commander\";\n\nimport { renameZeroChatThread } from \"../../../lib/api\";\nimport { withErrorHandler } from \"../../../lib/command\";\nimport { isUuid } from \"../../../lib/utils/uuid\";\n\ninterface RenameOptions {\n readonly json?: boolean;\n readonly thread?: string;\n}\n\nfunction getCurrentChatThreadId(): string | undefined {\n return process.env.ZERO_CHAT_THREAD_ID?.trim() || undefined;\n}\n\nfunction printUsageError(message: string, hint: string): never {\n console.error(chalk.red(`✗ ${message}`));\n console.error(chalk.dim(` ${hint}`));\n process.exit(1);\n}\n\nexport const renameCommand = new Command()\n .name(\"rename\")\n .description(\"Rename a web chat thread\")\n .argument(\"<title...>\", \"New chat title\")\n .option(\"--thread <id>\", \"Chat thread ID (defaults to ZERO_CHAT_THREAD_ID)\")\n .option(\"--json\", \"Print machine-readable JSON\")\n .addHelpText(\n \"after\",\n `\nExamples:\n Rename this chat: zero chat rename \"Launch plan\"\n Rename another: zero chat rename --thread <thread-id> \"Launch plan\"\n\nNotes:\n - Defaults --thread to ZERO_CHAT_THREAD_ID\n - Authenticates via ZERO_TOKEN (requires chat-thread:write capability)`,\n )\n .action(\n withErrorHandler(async (titleParts: string[], options: RenameOptions) => {\n const title = titleParts.join(\" \").trim();\n if (!title) {\n printUsageError(\n \"Title is required\",\n 'Run: zero chat rename \"New title\"',\n );\n }\n\n const threadId = options.thread?.trim() || getCurrentChatThreadId();\n if (!threadId) {\n printUsageError(\n \"ZERO_CHAT_THREAD_ID is not set\",\n \"Pass --thread <thread-id> or run inside a Zero web chat thread.\",\n );\n }\n if (!isUuid(threadId)) {\n printUsageError(\n `Invalid thread ID \"${threadId}\" — expected a UUID`,\n \"Pass a valid UUID with --thread <thread-id>.\",\n );\n }\n\n const result = await renameZeroChatThread({ threadId, title });\n if (options.json) {\n console.log(JSON.stringify(result));\n return;\n }\n\n console.log(chalk.green(\"✓ Chat title updated\"));\n console.log(chalk.dim(` Thread: ${result.threadId}`));\n console.log(chalk.dim(` Title: ${result.title}`));\n }),\n );\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;;;ACAA;AAUA,SAAS,yBAA6C;AACpD,SAAO,QAAQ,IAAI,qBAAqB,KAAK,KAAK;AACpD;AAEA,SAAS,gBAAgB,SAAiB,MAAqB;AAC7D,UAAQ,MAAM,eAAM,IAAI,UAAK,OAAO,EAAE,CAAC;AACvC,UAAQ,MAAM,eAAM,IAAI,KAAK,IAAI,EAAE,CAAC;AACpC,UAAQ,KAAK,CAAC;AAChB;AAEO,IAAM,aAAa,IAAI,QAAQ,EACnC,KAAK,KAAK,EACV,YAAY,kCAAkC,EAC9C,OAAO,UAAU,6BAA6B,EAC9C;AAAA,EACC;AAAA,EACA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAQF,EACC;AAAA,EACC,iBAAiB,OAAO,YAAwB;AAC9C,UAAM,WAAW,uBAAuB;AACxC,QAAI,CAAC,UAAU;AACb;AAAA,QACE;AAAA,QACA;AAAA,MACF;AAAA,IACF;AAEA,UAAM,SAAS,MAAM,kBAAkB,EAAE,SAAS,CAAC;AACnD,QAAI,QAAQ,MAAM;AAChB,cAAQ,IAAI,KAAK,UAAU,MAAM,CAAC;AAClC;AAAA,IACF;AAEA,YAAQ,IAAI,eAAM,MAAM,2BAAsB,CAAC;AAC/C,YAAQ,IAAI,eAAM,IAAI,aAAa,OAAO,EAAE,EAAE,CAAC;AAC/C,YAAQ,IAAI,eAAM,IAAI,aAAa,OAAO,SAAS,YAAY,EAAE,CAAC;AAClE,YAAQ;AAAA,MACN,eAAM,IAAI,aAAa,OAAO,iBAAiB,WAAW,EAAE;AAAA,IAC9D;AAAA,EACF,CAAC;AACH;;;AC1DF;;;ACAA;AAAA,SAAS,YAAY,kBAAkB;AACvC,SAAS,OAAO,UAAU,QAAQ,IAAI,iBAAiB;AACvD,SAAS,eAAe;AACxB,SAAS,SAAS,YAAY;;;ACH9B;AAUA,SAAS,mBACP,MACA,OACQ;AACR,QAAM,aAAa,KAAK,aAAa;AACrC,QAAM,cAAc,MAAM,aAAa;AACvC,MAAI,eAAe,aAAa;AAC9B,WAAO,aAAa,KAAK;AAAA,EAC3B;AACA,QAAM,cAAc,MAAM,OAAO,cAAc,KAAK,MAAM;AAC1D,MAAI,gBAAgB,GAAG;AACrB,WAAO;AAAA,EACT;AACA,SAAO,MAAM,GAAG,cAAc,KAAK,EAAE;AACvC;AAEA,SAAS,WACP,SACA,OACA,sBACA;AACA,MAAI,MAAM,SAAS,WAAW;AAC5B,YAAQ,IAAI,MAAM,cAAc;AAAA,MAC9B,IAAI,MAAM;AAAA,MACV,SAAS,MAAM;AAAA,MACf,OAAO,MAAM;AAAA,MACb,QAAQ,MAAM;AAAA,MACd,WAAW,MAAM;AAAA,MACjB,WAAW,MAAM;AAAA,MACjB,UAAU;AAAA,MACV,WAAW;AAAA,MACX,eAAe,MAAM;AAAA,MACrB,aAAa,MAAM;AAAA,MACnB,mBAAmB,MAAM;AAAA,MACzB,qBAAqB,MAAM,uBAAuB;AAAA,IACpD,CAAC;AACD,UAAM,iBAAiB,qBAAqB,IAAI,MAAM,YAAY,KAAK,CAAC;AACxE,yBAAqB,OAAO,MAAM,YAAY;AAC9C,eAAW,iBAAiB,gBAAgB;AAC1C,UAAI,cAAc,UAAU,cAAc,MAAM,SAAS,KAAK,GAAG;AAC/D,mBAAW,SAAS,eAAe,oBAAoB;AAAA,MACzD;AAAA,IACF;AACA;AAAA,EACF;AAEA,MAAI,MAAM,SAAS,WAAW;AAC5B,YAAQ,OAAO,MAAM,YAAY;AACjC;AAAA,EACF;AAEA,QAAM,SAAS,QAAQ,IAAI,MAAM,YAAY;AAC7C,MAAI,CAAC,QAAQ;AACX,QACE,MAAM,SAAS,6BACf,MAAM,SAAS,0BACf,MAAM,SAAS,6BACf;AACA,YAAM,iBAAiB,qBAAqB,IAAI,MAAM,YAAY,KAAK,CAAC;AACxE,2BAAqB,IAAI,MAAM,cAAc,CAAC,GAAG,gBAAgB,KAAK,CAAC;AAAA,IACzE;AACA;AAAA,EACF;AAEA,MAAI,MAAM,SAAS,WAAW;AAC5B,YAAQ,IAAI,MAAM,cAAc;AAAA,MAC9B,GAAG;AAAA,MACH,OAAO,MAAM;AAAA,MACb,WAAW,MAAM;AAAA,MACjB,WAAW,MAAM;AAAA,IACnB,CAAC;AACD;AAAA,EACF;AAEA,MAAI,MAAM,SAAS,UAAU;AAC3B,YAAQ,IAAI,MAAM,cAAc;AAAA,MAC9B,GAAG;AAAA,MACH,UAAU,MAAM;AAAA,MAChB,WAAW,MAAM;AAAA,IACnB,CAAC;AACD;AAAA,EACF;AAEA,MAAI,MAAM,SAAS,YAAY;AAC7B,YAAQ,IAAI,MAAM,cAAc;AAAA,MAC9B,GAAG;AAAA,MACH,UAAU;AAAA,MACV,WAAW,MAAM;AAAA,IACnB,CAAC;AACD;AAAA,EACF;AAEA,MAAI,MAAM,SAAS,2BAA2B;AAC5C,YAAQ,IAAI,MAAM,cAAc;AAAA,MAC9B,GAAG;AAAA,MACH,eAAe,MAAM;AAAA,MACrB,WAAW,MAAM;AAAA,IACnB,CAAC;AACD;AAAA,EACF;AAEA,MAAI,MAAM,SAAS,wBAAwB;AACzC,YAAQ,IAAI,MAAM,cAAc;AAAA,MAC9B,GAAG;AAAA,MACH,aAAa,MAAM;AAAA,MACnB,WAAW,MAAM;AAAA,IACnB,CAAC;AACD;AAAA,EACF;AAEA,MAAI,MAAM,SAAS,6BAA6B;AAC9C,YAAQ,IAAI,MAAM,cAAc;AAAA,MAC9B,GAAG;AAAA,MACH,mBAAmB,MAAM;AAAA,MACzB,qBAAqB,MAAM,uBAAuB;AAAA,MAClD,WAAW,MAAM;AAAA,IACnB,CAAC;AACD;AAAA,EACF;AAEA,UAAQ,IAAI,MAAM,cAAc;AAAA,IAC9B,GAAG;AAAA,IACH,QAAQ,MAAM;AAAA,EAChB,CAAC;AACH;AAEO,SAAS,uBACd,UACA,QACyB;AACzB,QAAM,UAAU,oBAAI,IAAmC;AACvD,aAAW,UAAU,UAAU;AAC7B,YAAQ,IAAI,OAAO,IAAI;AAAA,MACrB,GAAG;AAAA,MACH,eAAe,OAAO,iBAAiB;AAAA,MACvC,aAAa,OAAO,eAAe;AAAA,MACnC,mBAAmB,OAAO,qBAAqB;AAAA,MAC/C,qBAAqB,OAAO,uBAAuB;AAAA,IACrD,CAAC;AAAA,EACH;AACA,QAAM,uBAAuB,oBAAI,IAA+B;AAChE,aAAW,SAAS,QAAQ;AAC1B,eAAW,SAAS,OAAO,oBAAoB;AAAA,EACjD;AACA,SAAO,CAAC,GAAG,QAAQ,OAAO,CAAC,EAAE,KAAK,kBAAkB;AACtD;;;ADrIA,IAAM,gBAAgB;AACtB,IAAM,2BAA2B;AAQjC,SAAS,SAAS,OAAkD;AAClE,SAAO,OAAO,UAAU,YAAY,UAAU;AAChD;AAEA,SAAS,WAAW,KAAqC;AACvD,MAAI;AACJ,MAAI;AACF,YAAQ,KAAK,MAAM,GAAG;AAAA,EACxB,SAAS,OAAO;AACd,QAAI,iBAAiB,aAAa;AAChC,aAAO;AAAA,IACT;AACA,UAAM;AAAA,EACR;AAEA,MACE,CAAC,SAAS,KAAK,KACf,MAAM,YAAY,iBAClB,CAAC,SAAS,MAAM,QAAQ,GACxB;AACA,WAAO;AAAA,EACT;AAEA,QAAM,cAAc,mCACjB,MAAM,EACN,UAAU,MAAM,SAAS,WAAW;AACvC,QAAM,SAAS,sBAAsB,MAAM,EAAE,UAAU,MAAM,MAAM;AACnE,QAAMA,iBAAgB,MAAM,SAAS;AACrC,MACE,CAAC,YAAY,WACb,CAAC,OAAO,WACPA,mBAAkB,QAAQ,OAAOA,mBAAkB,UACpD;AACA,WAAO;AAAA,EACT;AAEA,SAAO;AAAA,IACL,SAAS;AAAA,IACT,UAAU;AAAA,MACR,aAAa,YAAY;AAAA,MACzB,eAAAA;AAAA,IACF;AAAA,IACA,QAAQ,OAAO;AAAA,EACjB;AACF;AAEA,SAAS,YAAoB;AAC3B,SAAO,QAAQ,IAAI,gBAAgB,KAAK,KAAK,KAAK,QAAQ,GAAG,QAAQ;AACvE;AAEA,eAAe,YAA6B;AAC1C,QAAM,QAAQ,uBAAuB;AACrC,MAAI,CAAC,OAAO;AACV,UAAM,IAAI,MAAM,sDAAsD;AAAA,EACxE;AACA,QAAM,SAAS,MAAM,UAAU;AAC/B,QAAM,QAAQ,WAAW,QAAQ,EAC9B,OAAO,GAAG,MAAM,KAAK,MAAM,KAAK,KAAK,MAAM,MAAM,EAAE,EACnD,OAAO,KAAK;AACf,SAAO,KAAK,UAAU,GAAG,OAAO,QAAQ,gBAAgB,GAAG,KAAK,OAAO;AACzE;AAEA,SAAS,YAAY,OAAgD;AACnE,SAAO,iBAAiB,SAAS,UAAU;AAC7C;AAEA,eAAe,UAAU,MAA+C;AACtE,MAAI;AACJ,MAAI;AACF,UAAM,MAAM,SAAS,MAAM,MAAM;AAAA,EACnC,SAAS,OAAO;AACd,QAAI,YAAY,KAAK,KAAK,MAAM,SAAS,UAAU;AACjD,aAAO;AAAA,IACT;AACA,UAAM;AAAA,EACR;AACA,SAAO,WAAW,GAAG;AACvB;AAEA,eAAe,WAAW,MAAc,OAAuC;AAC7E,QAAM,MAAM,QAAQ,IAAI,GAAG,EAAE,WAAW,MAAM,MAAM,IAAM,CAAC;AAC3D,QAAM,gBAAgB,GAAG,IAAI,IAAI,QAAQ,GAAG,IAAI,WAAW,CAAC;AAC5D,MAAI;AACF,UAAM,UAAU,eAAe,GAAG,KAAK,UAAU,KAAK,CAAC;AAAA,GAAM;AAAA,MAC3D,UAAU;AAAA,MACV,MAAM;AAAA,MACN,MAAM;AAAA,IACR,CAAC;AACD,UAAM,OAAO,eAAe,IAAI;AAAA,EAClC,UAAE;AACA,UAAM,GAAG,eAAe,EAAE,OAAO,KAAK,CAAC;AAAA,EACzC;AACF;AAEA,SAAS,YACP,UACA,UACmB;AACnB,QAAM,OAAO,oBAAI,IAA6B;AAC9C,aAAW,SAAS,UAAU;AAC5B,SAAK,IAAI,MAAM,IAAI,KAAK;AAAA,EAC1B;AACA,aAAW,SAAS,UAAU;AAC5B,SAAK,IAAI,MAAM,IAAI,KAAK;AAAA,EAC1B;AACA,SAAO,CAAC,GAAG,KAAK,OAAO,CAAC,EAAE,KAAK,CAAC,MAAM,UAAU;AAC9C,UAAM,cAAc,KAAK,UAAU,cAAc,MAAM,SAAS;AAChE,WAAO,gBAAgB,IAAI,cAAc,KAAK,GAAG,cAAc,MAAM,EAAE;AAAA,EACzE,CAAC;AACH;AAEA,eAAe,aAAuC;AACpD,SAAO;AAAA,IACL,SAAS;AAAA,IACT,UAAU,MAAM,0BAA0B;AAAA,IAC1C,QAAQ,CAAC;AAAA,EACX;AACF;AAEA,SAAS,cAAc,OAA4C;AACjE,SAAO,MAAM,OAAO,GAAG,EAAE,GAAG,MAAM,MAAM,SAAS,iBAAiB;AACpE;AAEA,eAAsB,wBAEpB;AACA,QAAM,OAAO,MAAM,UAAU;AAC7B,MAAI,QAAS,MAAM,UAAU,IAAI,KAAO,MAAM,WAAW;AACzD,MAAI,SAAS,cAAc,KAAK;AAEhC,WAAS,OAAO,GAAG,OAAO,0BAA0B,QAAQ;AAC1D,UAAM,SAAS,MAAM,yBAAyB;AAAA,MAC5C,cAAc;AAAA,IAChB,CAAC;AACD,QAAI,OAAO,SAAS,WAAW;AAC7B,cAAQ,MAAM,WAAW;AACzB,eAAS,cAAc,KAAK;AAC5B;AAAA,IACF;AAEA,QAAI,OAAO,OAAO,SAAS,GAAG;AAC5B,cAAQ;AAAA,QACN,GAAG;AAAA,QACH,QAAQ,YAAY,MAAM,QAAQ,OAAO,MAAM;AAAA,MACjD;AACA,YAAM,YAAY,OAAO,OAAO,GAAG,EAAE;AACrC,UAAI,WAAW;AACb,iBAAS,UAAU;AAAA,MACrB;AAAA,IACF;AAEA,QAAI,CAAC,OAAO,WAAW,OAAO,OAAO,WAAW,GAAG;AACjD;AAAA,IACF;AAAA,EACF;AAEA,QAAM,WAAW,MAAM,KAAK;AAC5B,SAAO,uBAAuB,MAAM,SAAS,aAAa,MAAM,MAAM;AACxE;;;ADpLA,IAAM,gBAAgB;AACtB,IAAM,YAAY;AAQlB,SAASC,iBAAgB,SAAiB,MAAqB;AAC7D,UAAQ,MAAM,eAAM,IAAI,UAAK,OAAO,EAAE,CAAC;AACvC,UAAQ,MAAM,eAAM,IAAI,KAAK,IAAI,EAAE,CAAC;AACpC,UAAQ,KAAK,CAAC;AAChB;AAEA,SAAS,eAAe,aAAyC;AAC/D,QAAM,UAAU,aAAa,KAAK,KAAK,QAAQ,IAAI,eAAe,KAAK;AACvE,MAAI,CAAC,SAAS;AACZ,IAAAA;AAAA,MACE;AAAA,MACA;AAAA,IACF;AAAA,EACF;AACA,MAAI,CAAC,OAAO,OAAO,GAAG;AACpB,IAAAA;AAAA,MACE,qBAAqB,OAAO;AAAA,MAC5B;AAAA,IACF;AAAA,EACF;AACA,SAAO;AACT;AAEA,SAAS,gBAAgB,OAA8B;AACrD,UAAQ,SAAS,cAAc,QAAQ,QAAQ,GAAG;AACpD;AAEO,IAAM,cAAc,IAAI,QAAQ,EACpC,KAAK,MAAM,EACX,MAAM,IAAI,EACV,YAAY,oCAAoC,EAChD,OAAO,gBAAgB,qDAAqD,EAC5E;AAAA,EACC;AAAA,EACA,gDAAgD,aAAa,UAAU,SAAS;AAClF,EACC,OAAO,UAAU,6BAA6B,EAC9C;AAAA,EACC;AAAA,EACA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAWF,EACC;AAAA,EACC,iBAAiB,OAAO,YAAyB;AAC/C,UAAM,UAAU,eAAe,QAAQ,KAAK;AAC5C,UAAM,QACJ,QAAQ,UAAU,SACd,gBACA,qBAAqB,QAAQ,OAAO,WAAW,GAAG,SAAS;AACjE,UAAM,aAAa,MAAM,sBAAsB;AAC/C,UAAM,kBAAkB,WAAW,OAAO,CAAC,WAAW;AACpD,aAAO,OAAO,YAAY;AAAA,IAC5B,CAAC;AACD,UAAM,UAAU,gBAAgB,MAAM,GAAG,KAAK;AAE9C,QAAI,QAAQ,MAAM;AAChB,cAAQ;AAAA,QACN,KAAK,UAAU;AAAA,UACb;AAAA,UACA,OAAO,gBAAgB;AAAA,UACvB;AAAA,QACF,CAAC;AAAA,MACH;AACA;AAAA,IACF;AAEA,QAAI,QAAQ,WAAW,GAAG;AACxB,cAAQ,IAAI,eAAM,IAAI,uBAAuB,CAAC;AAC9C;AAAA,IACF;AAEA,UAAM,SAAS;AAAA,MACb,YAAY,OAAO,EAAE;AAAA,MACrB,SAAS,OAAO,EAAE;AAAA,MAClB,SAAS,OAAO,CAAC;AAAA,MACjB;AAAA,IACF,EAAE,KAAK,IAAI;AACX,YAAQ,IAAI,eAAM,IAAI,MAAM,CAAC;AAC7B,eAAW,UAAU,SAAS;AAC5B,cAAQ;AAAA,QACN;AAAA,UACE,OAAO,GAAG,OAAO,EAAE;AAAA,UACnB,mBAAmB,OAAO,MAAM,EAAE,OAAO,EAAE;AAAA,WAC1C,OAAO,aAAa,OAAO,MAAM,OAAO,OAAO,CAAC;AAAA,UACjD,gBAAgB,OAAO,KAAK;AAAA,QAC9B,EAAE,KAAK,IAAI;AAAA,MACb;AAAA,IACF;AAEA,QAAI,QAAQ,SAAS,gBAAgB,QAAQ;AAC3C,cAAQ,IAAI;AACZ,cAAQ;AAAA,QACN,eAAM;AAAA,UACJ,aAAa,QAAQ,MAAM,OAAO,gBAAgB,MAAM;AAAA,QAC1D;AAAA,MACF;AAAA,IACF;AAAA,EACF,CAAC;AACH;;;AG7HF;AAiBA,SAASC,0BAA6C;AACpD,SAAO,QAAQ,IAAI,qBAAqB,KAAK,KAAK;AACpD;AAEA,SAASC,iBAAgB,SAAiB,MAAqB;AAC7D,UAAQ,MAAM,eAAM,IAAI,UAAK,OAAO,EAAE,CAAC;AACvC,UAAQ,MAAM,eAAM,IAAI,KAAK,IAAI,EAAE,CAAC;AACpC,UAAQ,KAAK,CAAC;AAChB;AAEA,SAAS,mBAAmB,UAAqC;AAC/D,SAAO,SAAS,OAAO,CAAC,WAAW;AACjC,WAAO,OAAO,gBAAgB;AAAA,EAChC,CAAC;AACH;AAEA,SAAS,gBAAgB,QAAgC;AACvD,SAAO,GAAG,OAAO,UAAU,IAAI,eAAM,IAAI,IAAI,OAAO,KAAK,GAAG,CAAC;AAC/D;AAEA,SAAS,sBAAsB,UAA2C;AACxE,QAAM,aAAa,mBAAmB,QAAQ;AAC9C,MAAI,WAAW,WAAW,GAAG;AAC3B,YAAQ,IAAI,eAAM,IAAI,kDAAkD,CAAC;AACzE;AAAA,EACF;AAEA,aAAW,UAAU,YAAY;AAC/B,UAAM,gBAAgB,OAAO,YAAY,eAAM,IAAI,YAAY,IAAI;AACnE,YAAQ,IAAI,OAAO,gBAAgB,MAAM,CAAC,GAAG,aAAa,EAAE;AAC5D,YAAQ,IAAI,iBAAiB,yBAAyB,MAAM,CAAC,EAAE;AAAA,EACjE;AACF;AAEA,SAAS,kBAAkB,QAAkC;AAC3D,UAAQ,IAAI,eAAM,MAAM,2BAAsB,CAAC;AAC/C,UAAQ,IAAI,eAAM,IAAI,aAAa,OAAO,EAAE,EAAE,CAAC;AAC/C,UAAQ,IAAI,eAAM,IAAI,aAAa,OAAO,SAAS,YAAY,EAAE,CAAC;AAClE,UAAQ,IAAI,eAAM,IAAI,aAAa,OAAO,iBAAiB,WAAW,EAAE,CAAC;AAC3E;AAEA,eAAe,eAAe,SAAiC;AAC7D,QAAM,SAAS,MAAM,sBAAsB;AAC3C,UAAQ,IAAI,QAAQ,gBAAgB,EAAE,QAAQ,CAAC;AAC/C,UAAQ,IAAI;AACZ,UAAQ,IAAI,eAAM,KAAK,oBAAoB,CAAC;AAC5C,wBAAsB,OAAO,QAAQ;AACrC,UAAQ,IAAI;AACZ,UAAQ,IAAI,kCAAkC;AAC9C,UAAQ,IAAI,eAAM,KAAK,2BAA2B,CAAC;AACrD;AAEA,eAAe,4BAA4B,UAAiC;AAC1E,QAAM,CAAC,QAAQ,MAAM,IAAI,MAAM,QAAQ,IAAI;AAAA,IACzC,kBAAkB,EAAE,SAAS,CAAC;AAAA,IAC9B,sBAAsB;AAAA,EACxB,CAAC;AAED,oBAAkB,MAAM;AACxB,UAAQ,IAAI;AACZ,UAAQ,IAAI,eAAM,KAAK,oBAAoB,CAAC;AAC5C,wBAAsB,OAAO,QAAQ;AACrC,UAAQ,IAAI;AACZ,UAAQ,IAAI,gBAAgB;AAC5B,UAAQ,IAAI,eAAM,KAAK,2BAA2B,CAAC;AACrD;AAEA,eAAe,YAAY,UAAkB,OAA8B;AACzE,QAAM,SAAS,MAAM,sBAAsB;AAC3C,QAAM,SAAS,OAAO,SAAS,KAAK,CAAC,cAAc;AACjD,WAAO,UAAU,UAAU;AAAA,EAC7B,CAAC;AAED,MAAI,CAAC,QAAQ;AACX,IAAAA,iBAAgB,kBAAkB,KAAK,IAAI,6BAA6B;AAAA,EAC1E;AAEA,MAAI,OAAO,gBAAgB,SAAS;AAClC,UAAM,SAAS,OAAO,oBAClB,KAAK,OAAO,iBAAiB,MAC7B;AACJ,IAAAA;AAAA,MACE,4BAA4B,KAAK,GAAG,MAAM;AAAA,MAC1C;AAAA,IACF;AAAA,EACF;AAEA,QAAM,UAAU,MAAM,mCAAmC;AAAA,IACvD;AAAA,IACA;AAAA,EACF,CAAC;AAED,UAAQ,IAAI,eAAM,MAAM,2BAAsB,CAAC;AAC/C,UAAQ,IAAI,eAAM,IAAI,aAAa,QAAQ,QAAQ,EAAE,CAAC;AACtD,UAAQ,IAAI,eAAM,IAAI,aAAa,OAAO,UAAU,KAAK,KAAK,GAAG,CAAC;AACpE;AAEO,IAAM,eAAe,IAAI,QAAQ,EACrC,KAAK,OAAO,EACZ,YAAY,kDAAkD,EAC9D,SAAS,WAAW,sCAAsC,EAC1D,WAAW,KAAK,EAChB,OAAO,cAAc,kCAAkC,EACvD;AAAA,EACC;AAAA,EACA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAQF,EACC;AAAA,EACC;AAAA,IACE,OAAO,OAA2B,YAA0B;AAC1D,UAAI,QAAQ,MAAM;AAChB,cAAM,eAAe,YAAY;AACjC;AAAA,MACF;AAEA,YAAM,WAAWD,wBAAuB;AACxC,UAAI,CAAC,UAAU;AACb,QAAAC;AAAA,UACE;AAAA,UACA;AAAA,QACF;AAAA,MACF;AAEA,UAAI,CAAC,OAAO;AACV,cAAM,4BAA4B,QAAQ;AAC1C;AAAA,MACF;AAEA,YAAM,YAAY,UAAU,KAAK;AAAA,IACnC;AAAA,EACF;AACF;;;AC3JF;AAYA,SAASC,0BAA6C;AACpD,SAAO,QAAQ,IAAI,qBAAqB,KAAK,KAAK;AACpD;AAEA,SAASC,iBAAgB,SAAiB,MAAqB;AAC7D,UAAQ,MAAM,eAAM,IAAI,UAAK,OAAO,EAAE,CAAC;AACvC,UAAQ,MAAM,eAAM,IAAI,KAAK,IAAI,EAAE,CAAC;AACpC,UAAQ,KAAK,CAAC;AAChB;AAEO,IAAM,gBAAgB,IAAI,QAAQ,EACtC,KAAK,QAAQ,EACb,YAAY,0BAA0B,EACtC,SAAS,cAAc,gBAAgB,EACvC,OAAO,iBAAiB,kDAAkD,EAC1E,OAAO,UAAU,6BAA6B,EAC9C;AAAA,EACC;AAAA,EACA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAQF,EACC;AAAA,EACC,iBAAiB,OAAO,YAAsB,YAA2B;AACvE,UAAM,QAAQ,WAAW,KAAK,GAAG,EAAE,KAAK;AACxC,QAAI,CAAC,OAAO;AACV,MAAAA;AAAA,QACE;AAAA,QACA;AAAA,MACF;AAAA,IACF;AAEA,UAAM,WAAW,QAAQ,QAAQ,KAAK,KAAKD,wBAAuB;AAClE,QAAI,CAAC,UAAU;AACb,MAAAC;AAAA,QACE;AAAA,QACA;AAAA,MACF;AAAA,IACF;AACA,QAAI,CAAC,OAAO,QAAQ,GAAG;AACrB,MAAAA;AAAA,QACE,sBAAsB,QAAQ;AAAA,QAC9B;AAAA,MACF;AAAA,IACF;AAEA,UAAM,SAAS,MAAM,qBAAqB,EAAE,UAAU,MAAM,CAAC;AAC7D,QAAI,QAAQ,MAAM;AAChB,cAAQ,IAAI,KAAK,UAAU,MAAM,CAAC;AAClC;AAAA,IACF;AAEA,YAAQ,IAAI,eAAM,MAAM,2BAAsB,CAAC;AAC/C,YAAQ,IAAI,eAAM,IAAI,aAAa,OAAO,QAAQ,EAAE,CAAC;AACrD,YAAQ,IAAI,eAAM,IAAI,aAAa,OAAO,KAAK,EAAE,CAAC;AAAA,EACpD,CAAC;AACH;;;ANlEK,IAAM,kBAAkB,IAAI,QAAQ,EACxC,KAAK,MAAM,EACX,YAAY,yBAAyB,EACrC,WAAW,UAAU,EACrB,WAAW,WAAW,EACtB,WAAW,YAAY,EACvB,WAAW,aAAa,EACxB;AAAA,EACC;AAAA,EACA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAOF;","names":["latestEventId","printUsageError","getCurrentChatThreadId","printUsageError","getCurrentChatThreadId","printUsageError"]}
|
|
@@ -3,7 +3,7 @@ import { createRequire as __createRequire } from "node:module";
|
|
|
3
3
|
const require = __createRequire(import.meta.url);
|
|
4
4
|
import {
|
|
5
5
|
MODEL_PROVIDER_TYPES
|
|
6
|
-
} from "./chunk-
|
|
6
|
+
} from "./chunk-Q2CWPFH2.js";
|
|
7
7
|
import {
|
|
8
8
|
init_esm_shims
|
|
9
9
|
} from "./chunk-3VVCUQPB.js";
|
|
@@ -40,4 +40,4 @@ export {
|
|
|
40
40
|
formatModelProviderRoute,
|
|
41
41
|
formatModelPolicyStatus
|
|
42
42
|
};
|
|
43
|
-
//# sourceMappingURL=chunk-
|
|
43
|
+
//# sourceMappingURL=chunk-2KSQ243U.js.map
|
|
@@ -21,7 +21,7 @@ import {
|
|
|
21
21
|
updateOrgModelPoliciesRequestSchema,
|
|
22
22
|
upsertModelProviderRequestSchema,
|
|
23
23
|
upsertModelProviderResponseSchema
|
|
24
|
-
} from "./chunk-
|
|
24
|
+
} from "./chunk-Q2CWPFH2.js";
|
|
25
25
|
import {
|
|
26
26
|
__commonJS,
|
|
27
27
|
__esm,
|
|
@@ -2878,6 +2878,47 @@ var agentEventsResponseSchema = external_exports.object({
|
|
|
2878
2878
|
framework: external_exports.string()
|
|
2879
2879
|
});
|
|
2880
2880
|
var networkLogActionSchema = external_exports.enum(["ALLOW", "DENY", "BLOCK"]);
|
|
2881
|
+
var modelCatalogCacheStatusSchema = external_exports.enum([
|
|
2882
|
+
"model_catalog_bypass",
|
|
2883
|
+
"model_catalog_fresh_hit",
|
|
2884
|
+
"model_catalog_cold_stored",
|
|
2885
|
+
"model_catalog_cold_not_stored",
|
|
2886
|
+
"model_catalog_revalidated_304",
|
|
2887
|
+
"model_catalog_revalidated_200_same",
|
|
2888
|
+
"model_catalog_revalidated_200_changed",
|
|
2889
|
+
"model_catalog_revalidation_not_stored",
|
|
2890
|
+
"model_catalog_etag_confirmed",
|
|
2891
|
+
"model_catalog_etag_invalidated"
|
|
2892
|
+
]);
|
|
2893
|
+
var modelCatalogCacheBypassReasonSchema = external_exports.enum([
|
|
2894
|
+
"request_url",
|
|
2895
|
+
"request_method",
|
|
2896
|
+
"request_framing",
|
|
2897
|
+
"request_body",
|
|
2898
|
+
"request_streaming",
|
|
2899
|
+
"request_conditions",
|
|
2900
|
+
"request_cache_control",
|
|
2901
|
+
"request_encoding",
|
|
2902
|
+
"request_identity",
|
|
2903
|
+
"request_capacity",
|
|
2904
|
+
"response_status",
|
|
2905
|
+
"response_encoding",
|
|
2906
|
+
"response_content_type",
|
|
2907
|
+
"response_cache_control",
|
|
2908
|
+
"response_vary",
|
|
2909
|
+
"response_etag",
|
|
2910
|
+
"response_size",
|
|
2911
|
+
"response_stream",
|
|
2912
|
+
"response_body",
|
|
2913
|
+
"response_json",
|
|
2914
|
+
"response_shape",
|
|
2915
|
+
"response_missing",
|
|
2916
|
+
"concurrent_change",
|
|
2917
|
+
"transport_error"
|
|
2918
|
+
]);
|
|
2919
|
+
var modelCatalogCacheUpstreamEncodingSchema = external_exports.enum(["identity", "br"]);
|
|
2920
|
+
var modelCatalogCacheMillisecondsSchema = external_exports.number().int().min(0).max(2147483647);
|
|
2921
|
+
var modelCatalogCacheEvictionCountSchema = external_exports.number().int().min(0).max(32);
|
|
2881
2922
|
var networkLogEntrySchema = external_exports.object({
|
|
2882
2923
|
timestamp: external_exports.string(),
|
|
2883
2924
|
type: external_exports.string().optional(),
|
|
@@ -2891,6 +2932,12 @@ var networkLogEntrySchema = external_exports.object({
|
|
|
2891
2932
|
request_size: external_exports.number().optional(),
|
|
2892
2933
|
response_size: external_exports.number().optional(),
|
|
2893
2934
|
browser_user_agent: external_exports.boolean().optional(),
|
|
2935
|
+
model_catalog_cache_status: modelCatalogCacheStatusSchema.optional(),
|
|
2936
|
+
model_catalog_cache_upstream_encoding: modelCatalogCacheUpstreamEncodingSchema.optional(),
|
|
2937
|
+
model_catalog_cache_bypass_reason: modelCatalogCacheBypassReasonSchema.optional(),
|
|
2938
|
+
model_catalog_cache_entry_age_ms: modelCatalogCacheMillisecondsSchema.optional(),
|
|
2939
|
+
model_catalog_cache_validation_latency_ms: modelCatalogCacheMillisecondsSchema.optional(),
|
|
2940
|
+
model_catalog_cache_eviction_count: modelCatalogCacheEvictionCountSchema.optional(),
|
|
2894
2941
|
dns_event: external_exports.string().optional(),
|
|
2895
2942
|
dns_query_type: external_exports.string().optional(),
|
|
2896
2943
|
dns_result: external_exports.string().optional(),
|
|
@@ -3376,7 +3423,8 @@ var chatThreadSnapshotProjectionSchema = external_exports.object({
|
|
|
3376
3423
|
renamedAt: external_exports.string().nullable(),
|
|
3377
3424
|
selectedModel: external_exports.string().nullable().default(null),
|
|
3378
3425
|
serviceTier: chatThreadServiceTierSchema.nullable().default(null),
|
|
3379
|
-
computerUseHostId: external_exports.string().uuid().nullable().default(null)
|
|
3426
|
+
computerUseHostId: external_exports.string().uuid().nullable().default(null),
|
|
3427
|
+
cloudBrowserEnabled: external_exports.boolean().optional()
|
|
3380
3428
|
});
|
|
3381
3429
|
var chatThreadEventSchema = external_exports.object({
|
|
3382
3430
|
id: chatThreadEventIdSchema,
|
|
@@ -3397,6 +3445,7 @@ var chatThreadEventSchema = external_exports.object({
|
|
|
3397
3445
|
selectedModel: external_exports.string().nullable().default(null),
|
|
3398
3446
|
serviceTier: chatThreadServiceTierSchema.nullable().default(null),
|
|
3399
3447
|
computerUseHostId: external_exports.string().uuid().nullable().default(null),
|
|
3448
|
+
cloudBrowserEnabled: external_exports.boolean().optional(),
|
|
3400
3449
|
createdAt: external_exports.string()
|
|
3401
3450
|
});
|
|
3402
3451
|
var chatMessageUsageProviderBreakdownSchema = external_exports.object({
|
|
@@ -3835,6 +3884,7 @@ var chatNormalSendBodyShape = {
|
|
|
3835
3884
|
structuredPrompt: userMessageDocumentSchema.optional(),
|
|
3836
3885
|
generationTemplate: generationTemplateRequestSchema.optional(),
|
|
3837
3886
|
computerUseHostId: external_exports.string().uuid().nullable().optional(),
|
|
3887
|
+
cloudBrowserEnabled: external_exports.boolean().optional(),
|
|
3838
3888
|
// Optional for backward compatibility: older clients that omit this field
|
|
3839
3889
|
// still trigger title generation (server guards with !== false, not === true).
|
|
3840
3890
|
hasTextContent: external_exports.boolean().optional(),
|
|
@@ -3850,10 +3900,20 @@ var chatMessageNormalSendBodySchema = external_exports.preprocess(
|
|
|
3850
3900
|
external_exports.object({
|
|
3851
3901
|
...chatNormalSendBodyShape,
|
|
3852
3902
|
// Client-generated UUID used as the user message's primary key.
|
|
3903
|
+
// Lets the client render an optimistic row and reconcile with the
|
|
3904
|
+
// server row by id — no temp-id swap, no React remount.
|
|
3853
3905
|
clientMessageId: external_exports.string().uuid().optional(),
|
|
3854
3906
|
revokesMessageId: external_exports.string().min(1).optional(),
|
|
3855
3907
|
interruptsRunId: external_exports.undefined().optional()
|
|
3856
|
-
})
|
|
3908
|
+
}).refine(
|
|
3909
|
+
(body) => {
|
|
3910
|
+
return !(body.cloudBrowserEnabled && body.computerUseHostId);
|
|
3911
|
+
},
|
|
3912
|
+
{
|
|
3913
|
+
message: "Cloud browser and Computer Use cannot both be enabled",
|
|
3914
|
+
path: ["cloudBrowserEnabled"]
|
|
3915
|
+
}
|
|
3916
|
+
)
|
|
3857
3917
|
);
|
|
3858
3918
|
var chatEventNormalSendBodySchema = external_exports.preprocess(
|
|
3859
3919
|
(value) => {
|
|
@@ -3865,7 +3925,15 @@ var chatEventNormalSendBodySchema = external_exports.preprocess(
|
|
|
3865
3925
|
clientEventId: external_exports.string().uuid().optional(),
|
|
3866
3926
|
revokesEventId: external_exports.string().min(1).optional(),
|
|
3867
3927
|
interruptsRunId: external_exports.undefined().optional()
|
|
3868
|
-
})
|
|
3928
|
+
}).refine(
|
|
3929
|
+
(body) => {
|
|
3930
|
+
return !(body.cloudBrowserEnabled && body.computerUseHostId);
|
|
3931
|
+
},
|
|
3932
|
+
{
|
|
3933
|
+
message: "Cloud browser and Computer Use cannot both be enabled",
|
|
3934
|
+
path: ["cloudBrowserEnabled"]
|
|
3935
|
+
}
|
|
3936
|
+
)
|
|
3869
3937
|
);
|
|
3870
3938
|
var chatThreadsContract = c13.router({
|
|
3871
3939
|
snapshot: {
|
|
@@ -4186,8 +4254,17 @@ var chatThreadComputerUseHostContract = c13.router({
|
|
|
4186
4254
|
pathParams: chatThreadIdPathParamsSchema,
|
|
4187
4255
|
body: external_exports.object({
|
|
4188
4256
|
computerUseHostId: external_exports.string().uuid().nullable(),
|
|
4257
|
+
cloudBrowserEnabled: external_exports.boolean().optional(),
|
|
4189
4258
|
eventId: chatThreadEventIdSchema.optional()
|
|
4190
|
-
})
|
|
4259
|
+
}).refine(
|
|
4260
|
+
(body) => {
|
|
4261
|
+
return !(body.cloudBrowserEnabled && body.computerUseHostId);
|
|
4262
|
+
},
|
|
4263
|
+
{
|
|
4264
|
+
message: "Cloud browser and Computer Use cannot both be enabled",
|
|
4265
|
+
path: ["cloudBrowserEnabled"]
|
|
4266
|
+
}
|
|
4267
|
+
),
|
|
4191
4268
|
responses: {
|
|
4192
4269
|
204: c13.noBody(),
|
|
4193
4270
|
400: apiErrorSchema,
|
|
@@ -4219,6 +4296,7 @@ var chatMessagesContract = c13.router({
|
|
|
4219
4296
|
structuredPrompt: external_exports.undefined().optional(),
|
|
4220
4297
|
generationTemplate: external_exports.undefined().optional(),
|
|
4221
4298
|
computerUseHostId: external_exports.undefined().optional(),
|
|
4299
|
+
cloudBrowserEnabled: external_exports.undefined().optional(),
|
|
4222
4300
|
hasTextContent: external_exports.undefined().optional(),
|
|
4223
4301
|
attachFiles: external_exports.undefined().optional(),
|
|
4224
4302
|
realAgentInPreview: external_exports.undefined().optional(),
|
|
@@ -4238,6 +4316,7 @@ var chatMessagesContract = c13.router({
|
|
|
4238
4316
|
structuredPrompt: external_exports.undefined().optional(),
|
|
4239
4317
|
generationTemplate: external_exports.undefined().optional(),
|
|
4240
4318
|
computerUseHostId: external_exports.undefined().optional(),
|
|
4319
|
+
cloudBrowserEnabled: external_exports.undefined().optional(),
|
|
4241
4320
|
hasTextContent: external_exports.undefined().optional(),
|
|
4242
4321
|
attachFiles: external_exports.undefined().optional(),
|
|
4243
4322
|
realAgentInPreview: external_exports.undefined().optional(),
|
|
@@ -8886,6 +8965,22 @@ var browserGetQuerySchema = external_exports.object({
|
|
|
8886
8965
|
var browserResponseSchema = external_exports.object({
|
|
8887
8966
|
browser: zeroBrowserSessionSchema
|
|
8888
8967
|
});
|
|
8968
|
+
var browserAuthorizationRequestTokenPathParamsSchema = external_exports.object({
|
|
8969
|
+
requestToken: external_exports.string().min(1)
|
|
8970
|
+
});
|
|
8971
|
+
var browserAuthorizationRequestCreateResponseSchema = external_exports.object({
|
|
8972
|
+
authorizationUrl: external_exports.url(),
|
|
8973
|
+
expiresAt: external_exports.iso.datetime()
|
|
8974
|
+
});
|
|
8975
|
+
var browserAuthorizationRequestResponseSchema = external_exports.object({
|
|
8976
|
+
expiresAt: external_exports.iso.datetime(),
|
|
8977
|
+
completedAt: external_exports.iso.datetime().nullable(),
|
|
8978
|
+
cloudBrowserEnabled: external_exports.boolean()
|
|
8979
|
+
});
|
|
8980
|
+
var browserAuthorizationRequestApplyResponseSchema = external_exports.object({
|
|
8981
|
+
ok: external_exports.literal(true),
|
|
8982
|
+
cloudBrowserEnabled: external_exports.literal(true)
|
|
8983
|
+
});
|
|
8889
8984
|
var browserConnectionResponseSchema = browserResponseSchema.extend({
|
|
8890
8985
|
cdpUrl: external_exports.url()
|
|
8891
8986
|
});
|
|
@@ -8909,7 +9004,7 @@ var zeroBrowserContract = c27.router({
|
|
|
8909
9004
|
201: browserConnectionResponseSchema,
|
|
8910
9005
|
...commonErrorResponses
|
|
8911
9006
|
},
|
|
8912
|
-
summary: "Create a new managed browser for the current chat thread using
|
|
9007
|
+
summary: "Create a new managed browser for the current chat thread using its isolated profile"
|
|
8913
9008
|
},
|
|
8914
9009
|
use: {
|
|
8915
9010
|
method: "POST",
|
|
@@ -8991,12 +9086,72 @@ var zeroBrowserContract = c27.router({
|
|
|
8991
9086
|
summary: "Get a managed browser by universal-link ID"
|
|
8992
9087
|
}
|
|
8993
9088
|
});
|
|
9089
|
+
var zeroBrowserAuthorizationRequestsContract = c27.router({
|
|
9090
|
+
create: {
|
|
9091
|
+
method: "POST",
|
|
9092
|
+
path: "/api/zero/browser/authorization-requests",
|
|
9093
|
+
headers: authHeadersSchema,
|
|
9094
|
+
body: external_exports.object({}),
|
|
9095
|
+
responses: {
|
|
9096
|
+
200: browserAuthorizationRequestCreateResponseSchema,
|
|
9097
|
+
400: apiErrorSchema,
|
|
9098
|
+
401: apiErrorSchema,
|
|
9099
|
+
403: apiErrorSchema,
|
|
9100
|
+
404: apiErrorSchema,
|
|
9101
|
+
409: apiErrorSchema
|
|
9102
|
+
},
|
|
9103
|
+
summary: "Create a short-lived cloud browser authorization request for the current run"
|
|
9104
|
+
},
|
|
9105
|
+
get: {
|
|
9106
|
+
method: "GET",
|
|
9107
|
+
path: "/api/zero/browser/authorization-requests/:requestToken",
|
|
9108
|
+
headers: authHeadersSchema,
|
|
9109
|
+
pathParams: browserAuthorizationRequestTokenPathParamsSchema,
|
|
9110
|
+
responses: {
|
|
9111
|
+
200: browserAuthorizationRequestResponseSchema,
|
|
9112
|
+
401: apiErrorSchema,
|
|
9113
|
+
403: apiErrorSchema,
|
|
9114
|
+
404: apiErrorSchema,
|
|
9115
|
+
410: apiErrorSchema
|
|
9116
|
+
},
|
|
9117
|
+
summary: "Read a cloud browser authorization request"
|
|
9118
|
+
},
|
|
9119
|
+
apply: {
|
|
9120
|
+
method: "POST",
|
|
9121
|
+
path: "/api/zero/browser/authorization-requests/:requestToken/apply",
|
|
9122
|
+
headers: authHeadersSchema,
|
|
9123
|
+
pathParams: browserAuthorizationRequestTokenPathParamsSchema,
|
|
9124
|
+
body: external_exports.object({}),
|
|
9125
|
+
responses: {
|
|
9126
|
+
200: browserAuthorizationRequestApplyResponseSchema,
|
|
9127
|
+
400: apiErrorSchema,
|
|
9128
|
+
401: apiErrorSchema,
|
|
9129
|
+
403: apiErrorSchema,
|
|
9130
|
+
404: apiErrorSchema,
|
|
9131
|
+
410: apiErrorSchema
|
|
9132
|
+
},
|
|
9133
|
+
summary: "Enable the cloud browser for a delegated authorization request"
|
|
9134
|
+
}
|
|
9135
|
+
});
|
|
8994
9136
|
|
|
8995
9137
|
// src/lib/api/domains/zero-browser.ts
|
|
8996
9138
|
init_esm_shims();
|
|
8997
9139
|
async function client() {
|
|
8998
9140
|
return initClient(zeroBrowserContract, await getClientConfig());
|
|
8999
9141
|
}
|
|
9142
|
+
async function authorizationClient() {
|
|
9143
|
+
return initClient(
|
|
9144
|
+
zeroBrowserAuthorizationRequestsContract,
|
|
9145
|
+
await getClientConfig()
|
|
9146
|
+
);
|
|
9147
|
+
}
|
|
9148
|
+
async function createBrowserAuthorizationRequest() {
|
|
9149
|
+
const result = await (await authorizationClient()).create({ headers: {}, body: {} });
|
|
9150
|
+
if (result.status === 200) {
|
|
9151
|
+
return result.body;
|
|
9152
|
+
}
|
|
9153
|
+
handleError(result, "Failed to create cloud browser authorization request");
|
|
9154
|
+
}
|
|
9000
9155
|
async function createZeroBrowser(body) {
|
|
9001
9156
|
const result = await (await client()).create({ headers: {}, body });
|
|
9002
9157
|
if (result.status === 201) {
|
|
@@ -12935,6 +13090,7 @@ export {
|
|
|
12935
13090
|
ZERO_BROWSER_DEFAULT_MAX_CREDITS,
|
|
12936
13091
|
ZERO_BROWSER_MAX_CREDITS,
|
|
12937
13092
|
zeroBrowserCreateRequestSchema,
|
|
13093
|
+
createBrowserAuthorizationRequest,
|
|
12938
13094
|
createZeroBrowser,
|
|
12939
13095
|
useZeroBrowser,
|
|
12940
13096
|
leaseZeroBrowser,
|
|
@@ -12973,4 +13129,4 @@ export {
|
|
|
12973
13129
|
getHostedSiteFiles,
|
|
12974
13130
|
getHostedSiteDeployments
|
|
12975
13131
|
};
|
|
12976
|
-
//# sourceMappingURL=chunk-
|
|
13132
|
+
//# sourceMappingURL=chunk-6AE53QDK.js.map
|