zidane 5.13.26 → 5.14.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/dist/{acp-CjAoILwj.js → acp-DgKEJH3P.js} +7 -7
- package/dist/{acp-CjAoILwj.js.map → acp-DgKEJH3P.js.map} +1 -1
- package/dist/acp-cli.js +11 -6
- package/dist/acp-cli.js.map +1 -1
- package/dist/acp.d.ts +2 -2
- package/dist/acp.js +1 -1
- package/dist/{tools-B32lZXLE.js → agent-B-cKanSC.js} +8035 -9459
- package/dist/agent-B-cKanSC.js.map +1 -0
- package/dist/{agent-DQIL5BFk.d.ts → agent-BAgOgS37.d.ts} +367 -208
- package/dist/agent-BAgOgS37.d.ts.map +1 -0
- package/dist/agent.d.ts +3 -0
- package/dist/agent.js +5 -0
- package/dist/anthropic-RGqsJlC8.js +807 -0
- package/dist/anthropic-RGqsJlC8.js.map +1 -0
- package/dist/{atomic-write-Bgtr5JPu.js → atomic-write-B7zr1ddF.js} +2 -2
- package/dist/{atomic-write-Bgtr5JPu.js.map → atomic-write-B7zr1ddF.js.map} +1 -1
- package/dist/{auth-DPrSP1YV.js → auth-C-ms5N2x.js} +33 -5
- package/dist/{auth-DPrSP1YV.js.map → auth-C-ms5N2x.js.map} +1 -1
- package/dist/cache-telemetry-BKAwsNxm.js +169 -0
- package/dist/cache-telemetry-BKAwsNxm.js.map +1 -0
- package/dist/chat/pure.d.ts +3 -3
- package/dist/chat/pure.js +1 -1
- package/dist/chat.d.ts +21 -7
- package/dist/chat.d.ts.map +1 -1
- package/dist/chat.js +30 -5
- package/dist/chat.js.map +1 -1
- package/dist/contexts/daytona.d.ts +1 -1
- package/dist/contexts/docker.js +0 -1
- package/dist/contexts/docker.js.map +1 -1
- package/dist/contexts/e2b.d.ts +1 -1
- package/dist/errors-CkTvg97v.d.ts +203 -0
- package/dist/errors-CkTvg97v.d.ts.map +1 -0
- package/dist/errors.d.ts +3 -0
- package/dist/errors.js +3 -0
- package/dist/eval.d.ts +1 -1
- package/dist/eval.js +2 -2
- package/dist/headless.d.ts +1 -1
- package/dist/headless.js +406 -1
- package/dist/headless.js.map +1 -0
- package/dist/{index-YY3vp2F2.d.ts → index-CLuLFFLa.d.ts} +88 -418
- package/dist/index-CLuLFFLa.d.ts.map +1 -0
- package/dist/{index-C5qw3pj7.d.ts → index-CgBIl2mX.d.ts} +2 -2
- package/dist/{index-C5qw3pj7.d.ts.map → index-CgBIl2mX.d.ts.map} +1 -1
- package/dist/index.d.ts +9 -5
- package/dist/index.js +113 -167
- package/dist/index.js.map +1 -1
- package/dist/{logger-C2ngE8CY.d.ts → logger-CJ-lpKPy.d.ts} +2 -2
- package/dist/{logger-C2ngE8CY.d.ts.map → logger-CJ-lpKPy.d.ts.map} +1 -1
- package/dist/mcp.d.ts +1 -1
- package/dist/messages-YZQLKaz2.js +1157 -0
- package/dist/messages-YZQLKaz2.js.map +1 -0
- package/dist/oauth-8LqbeI_Q.js +292 -0
- package/dist/oauth-8LqbeI_Q.js.map +1 -0
- package/dist/{messages-Iy_vEycX.js → openai-compat-0Y7jcncn.js} +27 -1379
- package/dist/openai-compat-0Y7jcncn.js.map +1 -0
- package/dist/output/stream-json.d.ts +2 -2
- package/dist/output/stream-json.js +1 -1
- package/dist/output/terminal.d.ts +2 -2
- package/dist/{presets-B9nDwmaz.js → presets-Pr02ZNcy.js} +3 -2
- package/dist/{presets-B9nDwmaz.js.map → presets-Pr02ZNcy.js.map} +1 -1
- package/dist/presets.d.ts +2 -2
- package/dist/presets.js +1 -1
- package/dist/prompt.d.ts +2 -0
- package/dist/prompt.js +210 -0
- package/dist/prompt.js.map +1 -0
- package/dist/providers/anthropic.d.ts +2 -0
- package/dist/providers/anthropic.js +2 -0
- package/dist/providers/arcee.d.ts +2 -0
- package/dist/providers/arcee.js +42 -0
- package/dist/providers/arcee.js.map +1 -0
- package/dist/providers/baseten.d.ts +2 -0
- package/dist/providers/baseten.js +66 -0
- package/dist/providers/baseten.js.map +1 -0
- package/dist/providers/cerebras.d.ts +2 -0
- package/dist/providers/cerebras.js +31 -0
- package/dist/providers/cerebras.js.map +1 -0
- package/dist/providers/local.d.ts +2 -0
- package/dist/providers/local.js +44 -0
- package/dist/providers/local.js.map +1 -0
- package/dist/providers/openai-compat.d.ts +2 -0
- package/dist/providers/openai-compat.js +2 -0
- package/dist/providers/openai.d.ts +2 -0
- package/dist/providers/openai.js +504 -0
- package/dist/providers/openai.js.map +1 -0
- package/dist/providers/openrouter.d.ts +2 -0
- package/dist/providers/openrouter.js +52 -0
- package/dist/providers/openrouter.js.map +1 -0
- package/dist/providers/xai.d.ts +2 -0
- package/dist/providers/xai.js +2 -0
- package/dist/providers-DgmdYGKm.js +168 -0
- package/dist/providers-DgmdYGKm.js.map +1 -0
- package/dist/providers.d.ts +1 -1
- package/dist/providers.js +10 -2
- package/dist/restate.d.ts +1 -1
- package/dist/run-summary-DAnBZnrt.d.ts +249 -0
- package/dist/run-summary-DAnBZnrt.d.ts.map +1 -0
- package/dist/run-summary-nD3IQ4ZQ.js +253 -0
- package/dist/run-summary-nD3IQ4ZQ.js.map +1 -0
- package/dist/session/sqlite.d.ts +1 -1
- package/dist/{session-CiA1_8SB.js → session-CqrAFAKJ.js} +2 -2
- package/dist/{session-CiA1_8SB.js.map → session-CqrAFAKJ.js.map} +1 -1
- package/dist/session.d.ts +1 -1
- package/dist/session.js +2 -2
- package/dist/skills.d.ts +2 -2
- package/dist/system-prompt-BlsdjcUi.d.ts +139 -0
- package/dist/system-prompt-BlsdjcUi.d.ts.map +1 -0
- package/dist/timeout-CpFm0jJ6.d.ts +10 -0
- package/dist/timeout-CpFm0jJ6.d.ts.map +1 -0
- package/dist/timeout-kGGSXagK.js +84 -0
- package/dist/timeout-kGGSXagK.js.map +1 -0
- package/dist/{tool-formatters-w5oaoCS4.d.ts → tool-formatters-Ch8oRpYR.d.ts} +2 -2
- package/dist/{tool-formatters-w5oaoCS4.d.ts.map → tool-formatters-Ch8oRpYR.d.ts.map} +1 -1
- package/dist/tools/fetch-url.d.ts +1 -1
- package/dist/tools/web-search.d.ts +1 -1
- package/dist/tools-00_Nqazv.js +1689 -0
- package/dist/tools-00_Nqazv.js.map +1 -0
- package/dist/tools.d.ts +2 -2
- package/dist/tools.js +2 -1
- package/dist/{transcript-anchors-BUtOd-qa.js → transcript-anchors-BUmvPnis.js} +10 -9
- package/dist/{transcript-anchors-BUtOd-qa.js.map → transcript-anchors-BUmvPnis.js.map} +1 -1
- package/dist/{transcript-anchors-BJ-ESWnm.d.ts → transcript-anchors-CL9UM_M4.d.ts} +4 -4
- package/dist/{transcript-anchors-BJ-ESWnm.d.ts.map → transcript-anchors-CL9UM_M4.d.ts.map} +1 -1
- package/dist/tui.d.ts +3 -3
- package/dist/tui.js +38 -13
- package/dist/tui.js.map +1 -1
- package/dist/{turn-operations-BSSQHNq1.d.ts → turn-operations-Cj6v_ypW.d.ts} +3 -3
- package/dist/{turn-operations-BSSQHNq1.d.ts.map → turn-operations-Cj6v_ypW.d.ts.map} +1 -1
- package/dist/{turn-operations-B_XeuNp-.js → turn-operations-tG0vuBNc.js} +2 -2
- package/dist/{turn-operations-B_XeuNp-.js.map → turn-operations-tG0vuBNc.js.map} +1 -1
- package/dist/types-CyVGdbia.js.map +1 -1
- package/dist/types.d.ts +4 -3
- package/dist/xai-tPdbAGkq.js +379 -0
- package/dist/xai-tPdbAGkq.js.map +1 -0
- package/docs/ARCHITECTURE.md +4 -2
- package/docs/CHAT.md +4 -0
- package/docs/SKILL.md +31 -5
- package/package.json +63 -1
- package/dist/agent-DQIL5BFk.d.ts.map +0 -1
- package/dist/headless-2SH7dvoW.js +0 -656
- package/dist/headless-2SH7dvoW.js.map +0 -1
- package/dist/index-YY3vp2F2.d.ts.map +0 -1
- package/dist/messages-Iy_vEycX.js.map +0 -1
- package/dist/providers-BMw1D_lj.js +0 -2332
- package/dist/providers-BMw1D_lj.js.map +0 -1
- package/dist/tools-B32lZXLE.js.map +0 -1
|
@@ -0,0 +1,139 @@
|
|
|
1
|
+
//#region src/system-prompt.d.ts
|
|
2
|
+
/**
|
|
3
|
+
* System-prompt boundary marker — splits a system prompt into a stable static
|
|
4
|
+
* prefix (cached) and a per-turn dynamic suffix (NOT cached).
|
|
5
|
+
*
|
|
6
|
+
* Why this exists: providers attach `cache_control` markers on the last block
|
|
7
|
+
* of the system prompt, so the cached prefix covers the entire system text.
|
|
8
|
+
* Any byte change anywhere — including a per-turn `<env>` rewrite — busts the
|
|
9
|
+
* cache for the doctrine that sits below. A literal marker in the system
|
|
10
|
+
* string lets providers split it into:
|
|
11
|
+
*
|
|
12
|
+
* ┌──────────────┐ cache_control: ephemeral
|
|
13
|
+
* │ STATIC half │ — doctrine, skills catalog, tool catalog,
|
|
14
|
+
* │ │ user instructions
|
|
15
|
+
* ├──────────────┤ ← SYSTEM_PROMPT_BOUNDARY
|
|
16
|
+
* │ DYNAMIC half │ — env, cwd, mtimes, anything per-turn
|
|
17
|
+
* └──────────────┘ (no cache_control)
|
|
18
|
+
*
|
|
19
|
+
* The static prefix rides the prompt cache across turns/sessions; the dynamic
|
|
20
|
+
* suffix re-bills per turn. Net effect: a cwd change between turns no longer
|
|
21
|
+
* invalidates 4 KB of doctrine.
|
|
22
|
+
*
|
|
23
|
+
* Wire contract:
|
|
24
|
+
*
|
|
25
|
+
* - `splitSystemPrompt(s)` is pure; missing marker ⇒ entire string is static
|
|
26
|
+
* (current behavior — no caller is forced to opt in).
|
|
27
|
+
* - `renderSystemForWire(s)` strips the marker so it never reaches the model;
|
|
28
|
+
* used by every provider before the bytes hit the wire, including the
|
|
29
|
+
* cache-disabled path on providers that DO support `cache_control`.
|
|
30
|
+
* - The marker uses underscores rather than XML/punctuation so it's
|
|
31
|
+
* unambiguous when scanning prompts manually and unlikely to collide with
|
|
32
|
+
* model-written content.
|
|
33
|
+
* - Providers handle the split internally (Anthropic emits a 2-block array;
|
|
34
|
+
* OpenAI-compat splits the leading `system` message into multi-part text).
|
|
35
|
+
* Callers always pass a single `string` — no API break.
|
|
36
|
+
*/
|
|
37
|
+
/**
|
|
38
|
+
* Literal marker inserted in a system prompt to separate cacheable doctrine
|
|
39
|
+
* from per-turn dynamic content. Providers split on this token.
|
|
40
|
+
*
|
|
41
|
+
* Underscored on both sides for visual distinctiveness — a stray instance in
|
|
42
|
+
* model-written prose is implausible. Don't change the value without shipping
|
|
43
|
+
* a migration; existing sessions carry the old marker in their cached
|
|
44
|
+
* prompts.
|
|
45
|
+
*/
|
|
46
|
+
declare const SYSTEM_PROMPT_BOUNDARY = "__ZIDANE_SYSTEM_PROMPT_BOUNDARY__";
|
|
47
|
+
/** Result of {@link splitSystemPrompt} — both halves stripped of the marker. */
|
|
48
|
+
interface SystemPromptParts {
|
|
49
|
+
/** Bytes BEFORE the marker (or the entire string when no marker present). Cacheable. */
|
|
50
|
+
static: string;
|
|
51
|
+
/** Bytes AFTER the marker. Empty when no marker present. NOT cached. */
|
|
52
|
+
dynamic: string;
|
|
53
|
+
}
|
|
54
|
+
/**
|
|
55
|
+
* Split a system prompt around the first {@link SYSTEM_PROMPT_BOUNDARY}.
|
|
56
|
+
*
|
|
57
|
+
* Splits on the FIRST occurrence — subsequent markers are folded into the
|
|
58
|
+
* dynamic half. This way callers can append additional `<env>` style blocks
|
|
59
|
+
* with extra markers without each one creating a new cache layer (Anthropic
|
|
60
|
+
* caps breakpoints; we use the budget elsewhere). The marker itself is
|
|
61
|
+
* stripped from both sides — providers attach `cache_control` directly to
|
|
62
|
+
* the static half's text content.
|
|
63
|
+
*
|
|
64
|
+
* A single blank line (`\n\n`) immediately adjacent to the marker on each
|
|
65
|
+
* side is trimmed — callers conventionally write
|
|
66
|
+
* `<doctrine>\n\n<MARKER>\n\n<env>` and expect the rendered wire bytes to
|
|
67
|
+
* read as one logical paragraph. Blank lines beyond that immediate pair
|
|
68
|
+
* (e.g. `\n\n\n<env>`) are preserved verbatim so callers composing their
|
|
69
|
+
* own spacing don't lose intentional gaps.
|
|
70
|
+
*
|
|
71
|
+
* Pure / no I/O / no allocation when the marker is absent (returns the input
|
|
72
|
+
* verbatim on the static side and the empty string on the dynamic side).
|
|
73
|
+
*/
|
|
74
|
+
declare function splitSystemPrompt(system: string): SystemPromptParts;
|
|
75
|
+
/**
|
|
76
|
+
* Compose a system prompt from a static prefix and an optional dynamic
|
|
77
|
+
* suffix. Inserts {@link SYSTEM_PROMPT_BOUNDARY} between them only when the
|
|
78
|
+
* dynamic side is non-empty — single-block prompts stay marker-free, so
|
|
79
|
+
* callers that never opt in pay zero overhead and providers fall back to the
|
|
80
|
+
* existing whole-string caching path.
|
|
81
|
+
*
|
|
82
|
+
* Spacing is `\n\n` on both sides of the marker so doctrine fragments,
|
|
83
|
+
* which conventionally separate sections with a blank line, read cleanly
|
|
84
|
+
* around the boundary.
|
|
85
|
+
*/
|
|
86
|
+
declare function joinSystemPrompt(staticPart: string, dynamicPart: string): string;
|
|
87
|
+
/**
|
|
88
|
+
* Append `extra` to the STATIC half of a system prompt, preserving any
|
|
89
|
+
* existing dynamic suffix.
|
|
90
|
+
*
|
|
91
|
+
* Used by the agent to fold in run-stable content (skills catalog, lazy tool
|
|
92
|
+
* catalog) without bumping it into the dynamic half — both catalogs are
|
|
93
|
+
* built once per run and remain byte-stable for the duration, so they
|
|
94
|
+
* belong in the cached prefix.
|
|
95
|
+
*
|
|
96
|
+
* Returns a new string; the input is not mutated. When `extra` is empty,
|
|
97
|
+
* returns the input verbatim.
|
|
98
|
+
*/
|
|
99
|
+
declare function appendStaticSection(system: string, extra: string): string;
|
|
100
|
+
/**
|
|
101
|
+
* Append `extra` to the DYNAMIC half of a system prompt. Inserts the boundary
|
|
102
|
+
* marker if the input didn't already carry one.
|
|
103
|
+
*
|
|
104
|
+
* Used by hosts (typically the TUI) to inject per-turn state — current cwd,
|
|
105
|
+
* IDE selection, project root — without forcing every caller to know the
|
|
106
|
+
* marker format. The host's `system:transform` hook rewrites the dynamic
|
|
107
|
+
* half each turn; the static doctrine above stays byte-stable and rides the
|
|
108
|
+
* cache.
|
|
109
|
+
*
|
|
110
|
+
* Returns a new string; the input is not mutated. When `extra` is empty,
|
|
111
|
+
* returns the input verbatim.
|
|
112
|
+
*/
|
|
113
|
+
declare function appendDynamicSection(system: string, extra: string): string;
|
|
114
|
+
/**
|
|
115
|
+
* Replace the entire dynamic half of a system prompt with `next`. Used by
|
|
116
|
+
* the TUI's `<env>` rewriter where the entire dynamic section is regenerated
|
|
117
|
+
* each turn rather than appended to.
|
|
118
|
+
*
|
|
119
|
+
* When `next` is empty, drops the dynamic half (and the marker) entirely.
|
|
120
|
+
*/
|
|
121
|
+
declare function replaceDynamicSection(system: string, next: string): string;
|
|
122
|
+
/**
|
|
123
|
+
* Strip the boundary marker so it never reaches the wire — collapses
|
|
124
|
+
* `<static>${BOUNDARY}<dynamic>` into `<static>\n\n<dynamic>` for providers
|
|
125
|
+
* that can't honor `cache_control` (vanilla OpenAI Chat Completions, Codex,
|
|
126
|
+
* Cerebras, ...) or for the cache-disabled path on any provider.
|
|
127
|
+
*
|
|
128
|
+
* Cache-aware providers re-derive the split from the original (un-rendered)
|
|
129
|
+
* system string via `splitSystemPrompt` — `renderSystemForWire` is the
|
|
130
|
+
* marker-free counterpart used to build the actual wire bytes.
|
|
131
|
+
*
|
|
132
|
+
* No-op when the input has no marker. Pure / no I/O.
|
|
133
|
+
*/
|
|
134
|
+
declare function renderSystemForWire(system: string): string;
|
|
135
|
+
/** True when `system` contains the boundary marker. */
|
|
136
|
+
declare function hasSystemPromptBoundary(system: string): boolean;
|
|
137
|
+
//#endregion
|
|
138
|
+
export { hasSystemPromptBoundary as a, replaceDynamicSection as c, appendStaticSection as i, splitSystemPrompt as l, SystemPromptParts as n, joinSystemPrompt as o, appendDynamicSection as r, renderSystemForWire as s, SYSTEM_PROMPT_BOUNDARY as t };
|
|
139
|
+
//# sourceMappingURL=system-prompt-BlsdjcUi.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"system-prompt-BlsdjcUi.d.ts","names":[],"sources":["../src/system-prompt.ts"],"mappings":";;AA6CA;;;;AAAmC;AAGnC;;;;AAIS;AAuBT;;;;AAAoE;AA8BpE;;;;AAAwE;AAoBxE;;;;AAAiE;AAqBjE;;;;AAAkE;AAelE;;;;AAAkE;AAiBlE;;;;AAAkD;AAYlD;;;AA7BkE,cApHrD,sBAAA;AAiJyC;AAAA,UA9IrC,iBAAA;;EAEf,MAAA;;EAEA,OAAO;AAAA;;;;;;;;;;;;;;;;;;;;;iBAuBO,iBAAA,CAAkB,MAAA,WAAiB,iBAAiB;;;;;;;;;;;;iBA8BpD,gBAAA,CAAiB,UAAA,UAAoB,WAAmB;;;;;;;;;;;;;iBAoBxD,mBAAA,CAAoB,MAAA,UAAgB,KAAa;;;;;;;;;;;;;;iBAqBjD,oBAAA,CAAqB,MAAA,UAAgB,KAAa;;;;;;;;iBAelD,qBAAA,CAAsB,MAAA,UAAgB,IAAY;;;;;;;;;;;;;iBAiBlD,mBAAA,CAAoB,MAAc;;iBAYlC,uBAAA,CAAwB,MAAc"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
//#region src/timeout.d.ts
|
|
2
|
+
declare class OperationTimeoutError extends Error {
|
|
3
|
+
readonly code: "operation_timeout";
|
|
4
|
+
readonly timeoutMs: number;
|
|
5
|
+
readonly operation: string;
|
|
6
|
+
constructor(operation: string, timeoutMs: number, message?: string);
|
|
7
|
+
}
|
|
8
|
+
//#endregion
|
|
9
|
+
export { OperationTimeoutError as t };
|
|
10
|
+
//# sourceMappingURL=timeout-CpFm0jJ6.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"timeout-CpFm0jJ6.d.ts","names":[],"sources":["../src/timeout.ts"],"mappings":";cAAa,qBAAA,SAA8B,KAAK;EAAA,SACrC,IAAA;EAAA,SACA,SAAA;EAAA,SACA,SAAA;cAEG,SAAA,UAAmB,SAAA,UAAmB,OAAA;AAAA"}
|
|
@@ -0,0 +1,84 @@
|
|
|
1
|
+
//#region src/timeout.ts
|
|
2
|
+
var OperationTimeoutError = class extends Error {
|
|
3
|
+
code = "operation_timeout";
|
|
4
|
+
timeoutMs;
|
|
5
|
+
operation;
|
|
6
|
+
constructor(operation, timeoutMs, message) {
|
|
7
|
+
super(message ?? `${operation} timed out after ${timeoutMs}ms`);
|
|
8
|
+
this.name = "OperationTimeoutError";
|
|
9
|
+
this.operation = operation;
|
|
10
|
+
this.timeoutMs = timeoutMs;
|
|
11
|
+
}
|
|
12
|
+
};
|
|
13
|
+
function isPositiveFiniteMs(value) {
|
|
14
|
+
return typeof value === "number" && Number.isFinite(value) && value > 0;
|
|
15
|
+
}
|
|
16
|
+
function resolveTimeoutMs(configured, fallback, ceiling) {
|
|
17
|
+
const base = typeof configured === "number" ? isPositiveFiniteMs(configured) ? configured : 0 : fallback;
|
|
18
|
+
if (base <= 0) return 0;
|
|
19
|
+
return isPositiveFiniteMs(ceiling) ? Math.min(base, ceiling) : base;
|
|
20
|
+
}
|
|
21
|
+
function linkAbortSignal(source, target) {
|
|
22
|
+
if (source.aborted) {
|
|
23
|
+
target.abort(source.reason);
|
|
24
|
+
return () => {};
|
|
25
|
+
}
|
|
26
|
+
const onAbort = () => target.abort(source.reason);
|
|
27
|
+
source.addEventListener("abort", onAbort, { once: true });
|
|
28
|
+
return () => source.removeEventListener("abort", onAbort);
|
|
29
|
+
}
|
|
30
|
+
function withTimeout(promise, options) {
|
|
31
|
+
const { operation, timeoutMs, onTimeout, message } = options;
|
|
32
|
+
if (!isPositiveFiniteMs(timeoutMs)) return promise;
|
|
33
|
+
return new Promise((resolve, reject) => {
|
|
34
|
+
let settled = false;
|
|
35
|
+
const timer = setTimeout(() => {
|
|
36
|
+
if (settled) return;
|
|
37
|
+
settled = true;
|
|
38
|
+
try {
|
|
39
|
+
onTimeout?.();
|
|
40
|
+
} finally {
|
|
41
|
+
reject(new OperationTimeoutError(operation, timeoutMs, message));
|
|
42
|
+
}
|
|
43
|
+
}, timeoutMs);
|
|
44
|
+
promise.then((value) => {
|
|
45
|
+
if (settled) return;
|
|
46
|
+
settled = true;
|
|
47
|
+
clearTimeout(timer);
|
|
48
|
+
resolve(value);
|
|
49
|
+
}, (err) => {
|
|
50
|
+
if (settled) return;
|
|
51
|
+
settled = true;
|
|
52
|
+
clearTimeout(timer);
|
|
53
|
+
reject(err);
|
|
54
|
+
});
|
|
55
|
+
});
|
|
56
|
+
}
|
|
57
|
+
/**
|
|
58
|
+
* Await `work` under `timeoutMs`, swallowing a timeout (logged under
|
|
59
|
+
* `ZIDANE_DEBUG`) and continuing. Non-timeout errors propagate unchanged so a
|
|
60
|
+
* well-behaved-but-throwing handler keeps its prior semantics. Use for
|
|
61
|
+
* observability / lifecycle / teardown awaits that must never block forward
|
|
62
|
+
* progress or strand a run gate (hooks, store writes, MCP close, ctx destroy).
|
|
63
|
+
*
|
|
64
|
+
* A non-positive / non-finite `timeoutMs` disables the bound — `work` is
|
|
65
|
+
* awaited as-is (matching {@link resolveTimeoutMs}'s `0` = "disabled").
|
|
66
|
+
*/
|
|
67
|
+
async function settleWithinTimeout(operation, work, timeoutMs) {
|
|
68
|
+
try {
|
|
69
|
+
await withTimeout(Promise.resolve(work), {
|
|
70
|
+
operation,
|
|
71
|
+
timeoutMs
|
|
72
|
+
});
|
|
73
|
+
} catch (err) {
|
|
74
|
+
if (err instanceof OperationTimeoutError) {
|
|
75
|
+
if (process.env.ZIDANE_DEBUG) console.error(`[zidane] ${operation} timed out after ${timeoutMs}ms; continuing`);
|
|
76
|
+
return;
|
|
77
|
+
}
|
|
78
|
+
throw err;
|
|
79
|
+
}
|
|
80
|
+
}
|
|
81
|
+
//#endregion
|
|
82
|
+
export { withTimeout as a, settleWithinTimeout as i, linkAbortSignal as n, resolveTimeoutMs as r, OperationTimeoutError as t };
|
|
83
|
+
|
|
84
|
+
//# sourceMappingURL=timeout-kGGSXagK.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"timeout-kGGSXagK.js","names":[],"sources":["../src/timeout.ts"],"sourcesContent":["export class OperationTimeoutError extends Error {\n readonly code = 'operation_timeout' as const\n readonly timeoutMs: number\n readonly operation: string\n\n constructor(operation: string, timeoutMs: number, message?: string) {\n super(message ?? `${operation} timed out after ${timeoutMs}ms`)\n this.name = 'OperationTimeoutError'\n this.operation = operation\n this.timeoutMs = timeoutMs\n }\n}\n\nexport function isPositiveFiniteMs(value: unknown): value is number {\n return typeof value === 'number' && Number.isFinite(value) && value > 0\n}\n\nexport function resolveTimeoutMs(\n configured: number | undefined,\n fallback: number,\n ceiling?: number,\n): number {\n const base = typeof configured === 'number'\n ? (isPositiveFiniteMs(configured) ? configured : 0)\n : fallback\n if (base <= 0)\n return 0\n return isPositiveFiniteMs(ceiling) ? Math.min(base, ceiling) : base\n}\n\nexport function linkAbortSignal(\n source: AbortSignal,\n target: AbortController,\n): () => void {\n if (source.aborted) {\n target.abort(source.reason)\n return () => {}\n }\n const onAbort = () => target.abort(source.reason)\n source.addEventListener('abort', onAbort, { once: true })\n return () => source.removeEventListener('abort', onAbort)\n}\n\nexport function withTimeout<T>(\n promise: Promise<T>,\n options: {\n operation: string\n timeoutMs: number\n onTimeout?: () => void\n message?: string\n },\n): Promise<T> {\n const { operation, timeoutMs, onTimeout, message } = options\n if (!isPositiveFiniteMs(timeoutMs))\n return promise\n\n return new Promise<T>((resolve, reject) => {\n let settled = false\n const timer = setTimeout(() => {\n if (settled)\n return\n settled = true\n try {\n onTimeout?.()\n }\n finally {\n reject(new OperationTimeoutError(operation, timeoutMs, message))\n }\n }, timeoutMs)\n\n promise.then(\n (value) => {\n if (settled)\n return\n settled = true\n clearTimeout(timer)\n resolve(value)\n },\n (err) => {\n if (settled)\n return\n settled = true\n clearTimeout(timer)\n reject(err)\n },\n )\n })\n}\n\n/**\n * Await `work` under `timeoutMs`, swallowing a timeout (logged under\n * `ZIDANE_DEBUG`) and continuing. Non-timeout errors propagate unchanged so a\n * well-behaved-but-throwing handler keeps its prior semantics. Use for\n * observability / lifecycle / teardown awaits that must never block forward\n * progress or strand a run gate (hooks, store writes, MCP close, ctx destroy).\n *\n * A non-positive / non-finite `timeoutMs` disables the bound — `work` is\n * awaited as-is (matching {@link resolveTimeoutMs}'s `0` = \"disabled\").\n */\nexport async function settleWithinTimeout(\n operation: string,\n work: Promise<unknown> | void,\n timeoutMs: number,\n): Promise<void> {\n try {\n await withTimeout(Promise.resolve(work), { operation, timeoutMs })\n }\n catch (err) {\n if (err instanceof OperationTimeoutError) {\n if (process.env.ZIDANE_DEBUG)\n console.error(`[zidane] ${operation} timed out after ${timeoutMs}ms; continuing`)\n return\n }\n throw err\n }\n}\n"],"mappings":";AAAA,IAAa,wBAAb,cAA2C,MAAM;CAC/C,OAAgB;CAChB;CACA;CAEA,YAAY,WAAmB,WAAmB,SAAkB;EAClE,MAAM,WAAW,GAAG,UAAU,mBAAmB,UAAU,GAAG;EAC9D,KAAK,OAAO;EACZ,KAAK,YAAY;EACjB,KAAK,YAAY;CACnB;AACF;AAEA,SAAgB,mBAAmB,OAAiC;CAClE,OAAO,OAAO,UAAU,YAAY,OAAO,SAAS,KAAK,KAAK,QAAQ;AACxE;AAEA,SAAgB,iBACd,YACA,UACA,SACQ;CACR,MAAM,OAAO,OAAO,eAAe,WAC9B,mBAAmB,UAAU,IAAI,aAAa,IAC/C;CACJ,IAAI,QAAQ,GACV,OAAO;CACT,OAAO,mBAAmB,OAAO,IAAI,KAAK,IAAI,MAAM,OAAO,IAAI;AACjE;AAEA,SAAgB,gBACd,QACA,QACY;CACZ,IAAI,OAAO,SAAS;EAClB,OAAO,MAAM,OAAO,MAAM;EAC1B,aAAa,CAAC;CAChB;CACA,MAAM,gBAAgB,OAAO,MAAM,OAAO,MAAM;CAChD,OAAO,iBAAiB,SAAS,SAAS,EAAE,MAAM,KAAK,CAAC;CACxD,aAAa,OAAO,oBAAoB,SAAS,OAAO;AAC1D;AAEA,SAAgB,YACd,SACA,SAMY;CACZ,MAAM,EAAE,WAAW,WAAW,WAAW,YAAY;CACrD,IAAI,CAAC,mBAAmB,SAAS,GAC/B,OAAO;CAET,OAAO,IAAI,SAAY,SAAS,WAAW;EACzC,IAAI,UAAU;EACd,MAAM,QAAQ,iBAAiB;GAC7B,IAAI,SACF;GACF,UAAU;GACV,IAAI;IACF,YAAY;GACd,UACQ;IACN,OAAO,IAAI,sBAAsB,WAAW,WAAW,OAAO,CAAC;GACjE;EACF,GAAG,SAAS;EAEZ,QAAQ,MACL,UAAU;GACT,IAAI,SACF;GACF,UAAU;GACV,aAAa,KAAK;GAClB,QAAQ,KAAK;EACf,IACC,QAAQ;GACP,IAAI,SACF;GACF,UAAU;GACV,aAAa,KAAK;GAClB,OAAO,GAAG;EACZ,CACF;CACF,CAAC;AACH;;;;;;;;;;;AAYA,eAAsB,oBACpB,WACA,MACA,WACe;CACf,IAAI;EACF,MAAM,YAAY,QAAQ,QAAQ,IAAI,GAAG;GAAE;GAAW;EAAU,CAAC;CACnE,SACO,KAAK;EACV,IAAI,eAAe,uBAAuB;GACxC,IAAI,QAAQ,IAAI,cACd,QAAQ,MAAM,YAAY,UAAU,mBAAmB,UAAU,eAAe;GAClF;EACF;EACA,MAAM;CACR;AACF"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { St as Provider, _r as ThinkingLevel } from "./agent-BAgOgS37.js";
|
|
2
2
|
import { OAuthProviderInterface } from "@earendil-works/pi-ai/oauth";
|
|
3
3
|
import { ReactNode } from "react";
|
|
4
4
|
|
|
@@ -1451,4 +1451,4 @@ declare function displayNameFor(name: string, input?: Record<string, unknown>):
|
|
|
1451
1451
|
declare function formatToolCall(name: string, input: Record<string, unknown>): ToolFormatLine | null;
|
|
1452
1452
|
//#endregion
|
|
1453
1453
|
export { cerebrasDescriptor as $, SessionMeta as A, collectReferences as B, EditHunk as C, Owner as D, EditPayload as E, CompletionContext as F, ProviderKey as G, mergeReferences as H, CompletionItem as I, CustomField as J, detectAuth as K, CompletionProvider as L, StreamEvent as M, ToolCallDisplay as N, Picked as O, ActiveTrigger as P, anthropicDescriptor as Q, CompletionReference as R, EditDiffDisplay as S, EditOutcomeKind as T, AuthMethod as U, findActiveTrigger as V, ProviderAuth as W, ModelOption as X, ModelInfo as Y, ProviderDescriptor as Z, isEditErrorResult as _, formatToolCall as a, modelOptionsFor as at, selectableTurnIds as b, splitPromptSegments as c, openaiDescriptor as ct, RequestApproval as d, restoreModelOptions as dt, credKeyOf as et, SafeModeActions as f, EDIT_TOOL_NAMES as g, useSafeModeQueue as h, displayNameFor as i, localDescriptor as it, Settings as j, Screen as k, ApprovalDecision as l, openrouterDescriptor as lt, useSafeModeActions as m, ToolDisplayMeta as n, getContextWindow as nt, PromptSegment as o, modelSupportsReasoning as ot, SafeModeProvider as p, BUILTIN_PROVIDERS as q, ToolFormatLine as r, getModelInfo as rt, PromptSegmentRef as s, modelsForDescriptor as st, TOOL_DISPLAY as t, enabledModelOptions as tt, ApprovalRequest as u, piIdOf as ut, isTurnHighlighted as v, EditOutcome as w, turnSelectionOwnership as x, isVisible as y, applyInsert as z };
|
|
1454
|
-
//# sourceMappingURL=tool-formatters-
|
|
1454
|
+
//# sourceMappingURL=tool-formatters-Ch8oRpYR.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tool-formatters-
|
|
1
|
+
{"version":3,"file":"tool-formatters-Ch8oRpYR.d.ts","names":[],"sources":["../src/chat/providers.ts","../src/chat/auth.ts","../src/chat/completion-core.ts","../src/chat/types.ts","../src/chat/turn-selection.ts","../src/chat/safe-mode-context.tsx","../src/chat/prompt-segments.ts","../src/chat/tool-formatters.ts"],"mappings":"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"}
|