@moxxy/sdk 0.11.0 → 0.13.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/assert.d.ts +19 -0
- package/dist/assert.d.ts.map +1 -0
- package/dist/assert.js +29 -0
- package/dist/assert.js.map +1 -0
- package/dist/elision-state.d.ts.map +1 -1
- package/dist/elision-state.js +6 -0
- package/dist/elision-state.js.map +1 -1
- package/dist/events.d.ts +33 -1
- package/dist/events.d.ts.map +1 -1
- package/dist/fs-utils.d.ts +8 -0
- package/dist/fs-utils.d.ts.map +1 -1
- package/dist/fs-utils.js +29 -0
- package/dist/fs-utils.js.map +1 -1
- package/dist/index.d.ts +11 -3
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +7 -2
- package/dist/index.js.map +1 -1
- package/dist/mode-helpers.d.ts +12 -0
- package/dist/mode-helpers.d.ts.map +1 -1
- package/dist/mode-helpers.js +105 -3
- package/dist/mode-helpers.js.map +1 -1
- package/dist/mode.d.ts +9 -0
- package/dist/mode.d.ts.map +1 -1
- package/dist/mode.js.map +1 -1
- package/dist/plugin.d.ts +10 -1
- package/dist/plugin.d.ts.map +1 -1
- package/dist/provider-login-bridge.d.ts +53 -0
- package/dist/provider-login-bridge.d.ts.map +1 -0
- package/dist/provider-login-bridge.js +95 -0
- package/dist/provider-login-bridge.js.map +1 -0
- package/dist/provider.d.ts +53 -0
- package/dist/provider.d.ts.map +1 -1
- package/dist/semver.d.ts +16 -0
- package/dist/semver.d.ts.map +1 -0
- package/dist/semver.js +28 -0
- package/dist/semver.js.map +1 -0
- package/dist/subagent.d.ts +6 -0
- package/dist/subagent.d.ts.map +1 -1
- package/dist/surface.d.ts +159 -0
- package/dist/surface.d.ts.map +1 -0
- package/dist/surface.js +27 -0
- package/dist/surface.js.map +1 -0
- package/dist/tool-display.d.ts +73 -0
- package/dist/tool-display.d.ts.map +1 -0
- package/dist/tool-display.js +66 -0
- package/dist/tool-display.js.map +1 -0
- package/dist/view-renderer.d.ts +6 -0
- package/dist/view-renderer.d.ts.map +1 -1
- package/dist/view-renderer.js +18 -1
- package/dist/view-renderer.js.map +1 -1
- package/package.json +7 -3
- package/src/assert.test.ts +35 -0
- package/src/assert.ts +28 -0
- package/src/elision-state.ts +5 -0
- package/src/events.ts +36 -0
- package/src/fs-utils.test.ts +47 -1
- package/src/fs-utils.ts +31 -0
- package/src/index.ts +51 -2
- package/src/loop-helpers.test.ts +40 -0
- package/src/mode-helpers.ts +114 -3
- package/src/mode.ts +7 -0
- package/src/plugin.ts +10 -1
- package/src/provider-login-bridge.test.ts +78 -0
- package/src/provider-login-bridge.ts +105 -0
- package/src/provider.ts +45 -2
- package/src/semver.test.ts +43 -0
- package/src/semver.ts +27 -0
- package/src/subagent.ts +6 -0
- package/src/surface.ts +173 -0
- package/src/tool-display.test.ts +71 -0
- package/src/tool-display.ts +118 -0
- package/src/view-renderer.test.ts +57 -0
- package/src/view-renderer.ts +18 -1
package/dist/assert.d.ts
ADDED
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Exhaustiveness guard for discriminated unions. Put it in the `default:` branch
|
|
3
|
+
* (or any spot the type system has narrowed to `never`): if a new union member
|
|
4
|
+
* is added without a matching case, the call becomes a **compile error** instead
|
|
5
|
+
* of a silent runtime no-op.
|
|
6
|
+
*
|
|
7
|
+
* ```ts
|
|
8
|
+
* switch (action.kind) {
|
|
9
|
+
* case 'a': return handleA(action);
|
|
10
|
+
* case 'b': return handleB(action);
|
|
11
|
+
* default: return assertNever(action);
|
|
12
|
+
* }
|
|
13
|
+
* ```
|
|
14
|
+
*
|
|
15
|
+
* At runtime — should the narrowing be defeated by an untyped caller — it throws
|
|
16
|
+
* with the offending value, surfacing the bug rather than swallowing it.
|
|
17
|
+
*/
|
|
18
|
+
export declare function assertNever(value: never, message?: string): never;
|
|
19
|
+
//# sourceMappingURL=assert.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"assert.d.ts","sourceRoot":"","sources":["../src/assert.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAgB,WAAW,CAAC,KAAK,EAAE,KAAK,EAAE,OAAO,CAAC,EAAE,MAAM,GAAG,KAAK,CAEjE"}
|
package/dist/assert.js
ADDED
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Exhaustiveness guard for discriminated unions. Put it in the `default:` branch
|
|
3
|
+
* (or any spot the type system has narrowed to `never`): if a new union member
|
|
4
|
+
* is added without a matching case, the call becomes a **compile error** instead
|
|
5
|
+
* of a silent runtime no-op.
|
|
6
|
+
*
|
|
7
|
+
* ```ts
|
|
8
|
+
* switch (action.kind) {
|
|
9
|
+
* case 'a': return handleA(action);
|
|
10
|
+
* case 'b': return handleB(action);
|
|
11
|
+
* default: return assertNever(action);
|
|
12
|
+
* }
|
|
13
|
+
* ```
|
|
14
|
+
*
|
|
15
|
+
* At runtime — should the narrowing be defeated by an untyped caller — it throws
|
|
16
|
+
* with the offending value, surfacing the bug rather than swallowing it.
|
|
17
|
+
*/
|
|
18
|
+
export function assertNever(value, message) {
|
|
19
|
+
throw new Error(message ?? `assertNever: unexpected value ${stringify(value)}`);
|
|
20
|
+
}
|
|
21
|
+
function stringify(value) {
|
|
22
|
+
try {
|
|
23
|
+
return JSON.stringify(value) ?? String(value);
|
|
24
|
+
}
|
|
25
|
+
catch {
|
|
26
|
+
return String(value);
|
|
27
|
+
}
|
|
28
|
+
}
|
|
29
|
+
//# sourceMappingURL=assert.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"assert.js","sourceRoot":"","sources":["../src/assert.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AACH,MAAM,UAAU,WAAW,CAAC,KAAY,EAAE,OAAgB;IACxD,MAAM,IAAI,KAAK,CAAC,OAAO,IAAI,iCAAiC,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;AAClF,CAAC;AAED,SAAS,SAAS,CAAC,KAAc;IAC/B,IAAI,CAAC;QACH,OAAO,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,IAAI,MAAM,CAAC,KAAK,CAAC,CAAC;IAChD,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,MAAM,CAAC,KAAK,CAAC,CAAC;IACvB,CAAC;AACH,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"elision-state.d.ts","sourceRoot":"","sources":["../src/elision-state.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;
|
|
1
|
+
{"version":3,"file":"elision-state.d.ts","sourceRoot":"","sources":["../src/elision-state.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAG9C;;;;;;;GAOG;AAEH,+EAA+E;AAC/E,eAAO,MAAM,eAAe,MAAM,CAAC;AAEnC,yEAAyE;AACzE,wBAAgB,eAAe,CAAC,MAAM,EAAE,OAAO,EAAE,YAAY,CAAC,EAAE,MAAM,GAAG,MAAM,CAY9E;AAED,+EAA+E;AAC/E,wBAAgB,cAAc,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,OAAO,GAAG,MAAM,CAIvF;AAED,6EAA6E;AAC7E,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,MAAM,GAAG,WAAW,EAAE,GAAG,EAAE,MAAM,GAAG,MAAM,CAElF;AAED,MAAM,WAAW,YAAY;IAC3B,mEAAmE;IACnE,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;IACrB,oEAAoE;IACpE,QAAQ,CAAC,4BAA4B,EAAE,OAAO,CAAC;IAC/C,QAAQ,CAAC,UAAU,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC;IACzC,QAAQ,CAAC,cAAc,EAAE,WAAW,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACrD,mFAAmF;IACnF,QAAQ,CAAC,eAAe,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC;IAC9C,QAAQ,CAAC,YAAY,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC;IAC3C,0EAA0E;IAC1E,QAAQ,CAAC,mBAAmB,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC;IAClD,wEAAwE;IACxE,QAAQ,CAAC,qBAAqB,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC;IACpD,iEAAiE;IACjE,QAAQ,CAAC,kBAAkB,EAAE,MAAM,CAAC;CACrC;AAcD;;;;GAIG;AACH,wBAAgB,mBAAmB,CAAC,MAAM,EAAE,aAAa,CAAC,UAAU,CAAC,GAAG,YAAY,CAqEnF;AAED,6EAA6E;AAC7E,wBAAgB,iBAAiB,CAC/B,CAAC,EAAE,OAAO,CAAC,UAAU,EAAE;IAAE,IAAI,EAAE,aAAa,CAAA;CAAE,CAAC,EAC/C,KAAK,EAAE,YAAY,GAClB,OAAO,CAUT;AAED,sEAAsE;AACtE,wBAAgB,qBAAqB,CACnC,CAAC,EAAE,OAAO,CAAC,UAAU,EAAE;IAAE,IAAI,EAAE,aAAa,GAAG,mBAAmB,CAAA;CAAE,CAAC,EACrE,KAAK,EAAE,YAAY,GAClB,OAAO,CAMT"}
|
package/dist/elision-state.js
CHANGED
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { isToolDisplayResult } from './tool-display.js';
|
|
1
2
|
/**
|
|
2
3
|
* Shared elision decision logic — the single source of truth for "is this event
|
|
3
4
|
* stubbed, and to what size", consumed by BOTH `projectMessagesFromLog` (what we
|
|
@@ -14,6 +15,11 @@ export function toolResultBytes(output, errorMessage) {
|
|
|
14
15
|
return errorMessage.length;
|
|
15
16
|
if (typeof output === 'string')
|
|
16
17
|
return output.length;
|
|
18
|
+
// Rich results (e.g. file diffs) only ever send their short `forModel`
|
|
19
|
+
// string to the model — measure THAT so the estimate matches projection
|
|
20
|
+
// and the bulky `display` payload never trips elision.
|
|
21
|
+
if (isToolDisplayResult(output))
|
|
22
|
+
return output.forModel.length;
|
|
17
23
|
try {
|
|
18
24
|
return JSON.stringify(output ?? '').length;
|
|
19
25
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"elision-state.js","sourceRoot":"","sources":["../src/elision-state.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"elision-state.js","sourceRoot":"","sources":["../src/elision-state.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,mBAAmB,EAAE,MAAM,mBAAmB,CAAC;AAExD;;;;;;;GAOG;AAEH,+EAA+E;AAC/E,MAAM,CAAC,MAAM,eAAe,GAAG,GAAG,CAAC;AAEnC,yEAAyE;AACzE,MAAM,UAAU,eAAe,CAAC,MAAe,EAAE,YAAqB;IACpE,IAAI,YAAY,KAAK,SAAS;QAAE,OAAO,YAAY,CAAC,MAAM,CAAC;IAC3D,IAAI,OAAO,MAAM,KAAK,QAAQ;QAAE,OAAO,MAAM,CAAC,MAAM,CAAC;IACrD,uEAAuE;IACvE,wEAAwE;IACxE,uDAAuD;IACvD,IAAI,mBAAmB,CAAC,MAAM,CAAC;QAAE,OAAO,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC;IAC/D,IAAI,CAAC;QACH,OAAO,IAAI,CAAC,SAAS,CAAC,MAAM,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC;IAC7C,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,CAAC,CAAC;IACX,CAAC;AACH,CAAC;AAED,+EAA+E;AAC/E,MAAM,UAAU,cAAc,CAAC,MAAc,EAAE,KAAa,EAAE,QAAiB;IAC7E,IAAI,QAAQ;QAAE,OAAO,mDAAmD,MAAM,IAAI,CAAC;IACnF,MAAM,KAAK,GAAG,KAAK,IAAI,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,GAAG,KAAK,CAAC,GAAG,EAAE,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,KAAK,IAAI,CAAC;IACjG,OAAO,oBAAoB,KAAK,cAAc,MAAM,aAAa,CAAC;AACpE,CAAC;AAED,6EAA6E;AAC7E,MAAM,UAAU,kBAAkB,CAAC,IAA0B,EAAE,GAAW;IACxE,OAAO,WAAW,IAAI,yBAAyB,GAAG,cAAc,CAAC;AACnE,CAAC;AAoBD,MAAM,WAAW,GAAiB;IAChC,GAAG,EAAE,CAAC,CAAC;IACP,4BAA4B,EAAE,KAAK;IACnC,UAAU,EAAE,IAAI,GAAG,EAAE;IACrB,cAAc,EAAE,IAAI,GAAG,EAAE;IACzB,eAAe,EAAE,IAAI,GAAG,EAAE;IAC1B,YAAY,EAAE,IAAI,GAAG,EAAE;IACvB,mBAAmB,EAAE,IAAI,GAAG,EAAE;IAC9B,qBAAqB,EAAE,IAAI,GAAG,EAAE;IAChC,kBAAkB,EAAE,CAAC,CAAC;CACvB,CAAC;AAEF;;;;GAIG;AACH,MAAM,UAAU,mBAAmB,CAAC,MAAiC;IACnE,IAAI,GAAG,GAAG,CAAC,CAAC,CAAC;IACb,IAAI,mBAAmB,GAAG,KAAK,CAAC;IAChC,IAAI,6BAA6B,GAAG,MAAM,CAAC,iBAAiB,CAAC;IAC7D,IAAI,cAAc,GAAG,MAAM,CAAC,iBAAiB,CAAC;IAC9C,IAAI,UAAU,GAA0B,EAAE,CAAC;IAC3C,KAAK,MAAM,CAAC,IAAI,MAAM,EAAE,CAAC;QACvB,IAAI,CAAC,CAAC,IAAI,KAAK,SAAS,IAAI,CAAC,CAAC,aAAa,GAAG,GAAG,EAAE,CAAC;YAClD,GAAG,GAAG,CAAC,CAAC,aAAa,CAAC;YACtB,mBAAmB,GAAG,CAAC,CAAC,mBAAmB,CAAC;YAC5C,6BAA6B,GAAG,CAAC,CAAC,6BAA6B,CAAC;YAChE,cAAc,GAAG,CAAC,CAAC,cAAc,CAAC;YAClC,UAAU,GAAG,CAAC,CAAC,eAAe,CAAC;QACjC,CAAC;IACH,CAAC;IACD,IAAI,GAAG,GAAG,CAAC;QAAE,OAAO,WAAW,CAAC;IAEhC,MAAM,cAAc,GAAG,IAAI,GAAG,EAAkB,CAAC;IACjD,MAAM,eAAe,GAAG,IAAI,GAAG,EAAU,CAAC;IAC1C,MAAM,YAAY,GAAG,IAAI,GAAG,EAAU,CAAC;IACvC,MAAM,mBAAmB,GAAG,IAAI,GAAG,EAAU,CAAC;IAC9C,IAAI,UAAU,GAAG,CAAC,CAAC;IACnB,IAAI,kBAAkB,GAAG,CAAC,CAAC,CAAC;IAE5B,KAAK,MAAM,CAAC,IAAI,MAAM,EAAE,CAAC;QACvB,IAAI,CAAC,CAAC,IAAI,KAAK,qBAAqB,EAAE,CAAC;YACrC,cAAc,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC;YACrC,IAAI,CAAC,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;gBACxB,mBAAmB,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC;gBAClC,MAAM,KAAK,GAAG,CAAC,CAAC,KAA+D,CAAC;gBAChF,IAAI,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;oBACvC,IAAI,OAAO,KAAK,CAAC,MAAM,KAAK,QAAQ;wBAAE,eAAe,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;oBACxE,IAAI,OAAO,KAAK,CAAC,GAAG,KAAK,QAAQ,EAAE,CAAC;wBAClC,YAAY,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;wBAC5B,UAAU,IAAI,CAAC,CAAC,CAAC,oDAAoD;oBACvE,CAAC;gBACH,CAAC;YACH,CAAC;QACH,CAAC;aAAM,IAAI,CAAC,CAAC,IAAI,KAAK,aAAa,IAAI,kBAAkB,GAAG,CAAC,EAAE,CAAC;YAC9D,kBAAkB,GAAG,CAAC,CAAC,GAAG,CAAC;QAC7B,CAAC;IACH,CAAC;IAED,2EAA2E;IAC3E,6EAA6E;IAC7E,MAAM,qBAAqB,GAAG,IAAI,GAAG,EAAU,CAAC;IAChD,MAAM,WAAW,GAAG,MAAM;SACvB,MAAM,CACL,CAAC,CAAC,EAAqD,EAAE,CACvD,CAAC,CAAC,IAAI,KAAK,aAAa,IAAI,mBAAmB,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,GAAG,IAAI,GAAG,CAChF;SACA,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,eAAe;IACjD,IAAI,MAAM,GAAG,CAAC,CAAC;IACf,KAAK,MAAM,CAAC,IAAI,WAAW,EAAE,CAAC;QAC5B,MAAM,IAAI,eAAe,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;QACtD,IAAI,MAAM,GAAG,cAAc;YAAE,qBAAqB,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC;IACnE,CAAC;IAED,OAAO;QACL,GAAG;QACH,4BAA4B,EAAE,mBAAmB,IAAI,UAAU,GAAG,6BAA6B;QAC/F,UAAU,EAAE,IAAI,GAAG,CAAC,UAAU,CAAC;QAC/B,cAAc;QACd,eAAe;QACf,YAAY;QACZ,mBAAmB;QACnB,qBAAqB;QACrB,kBAAkB;KACnB,CAAC;AACJ,CAAC;AAED,6EAA6E;AAC7E,MAAM,UAAU,iBAAiB,CAC/B,CAA+C,EAC/C,KAAmB;IAEnB,IAAI,CAAC,CAAC,GAAG,GAAG,KAAK,CAAC,GAAG,IAAI,CAAC,CAAC,KAAK;QAAE,OAAO,KAAK,CAAC;IAC/C,MAAM,IAAI,GAAG,KAAK,CAAC,cAAc,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC;IAChD,IAAI,IAAI,KAAK,SAAS,IAAI,KAAK,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,CAAC;QAAE,OAAO,KAAK,CAAC;IACnE,IAAI,KAAK,CAAC,mBAAmB,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC,EAAE,CAAC;QAC5C,+DAA+D;QAC/D,OAAO,KAAK,CAAC,qBAAqB,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC;IACnD,CAAC;IACD,IAAI,eAAe,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,eAAe;QAAE,OAAO,KAAK,CAAC,CAAC,kBAAkB;IAClF,OAAO,IAAI,CAAC;AACd,CAAC;AAED,sEAAsE;AACtE,MAAM,UAAU,qBAAqB,CACnC,CAAqE,EACrE,KAAmB;IAEnB,IAAI,CAAC,CAAC,GAAG,GAAG,KAAK,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,4BAA4B;QAAE,OAAO,KAAK,CAAC;IAC3E,IAAI,CAAC,CAAC,IAAI,KAAK,aAAa,IAAI,CAAC,CAAC,GAAG,KAAK,KAAK,CAAC,kBAAkB;QAAE,OAAO,KAAK,CAAC,CAAC,SAAS;IAC3F,MAAM,GAAG,GAAG,CAAC,CAAC,IAAI,KAAK,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC;IACxE,IAAI,GAAG,IAAI,eAAe;QAAE,OAAO,KAAK,CAAC;IACzC,OAAO,IAAI,CAAC;AACd,CAAC"}
|
package/dist/events.d.ts
CHANGED
|
@@ -42,6 +42,38 @@ export interface AssistantMessageEvent extends EventBase {
|
|
|
42
42
|
readonly content: string;
|
|
43
43
|
readonly stopReason: 'end_turn' | 'tool_use' | 'max_tokens' | 'stop_sequence' | 'error';
|
|
44
44
|
}
|
|
45
|
+
/**
|
|
46
|
+
* A live reasoning/thinking delta. Parallels {@link AssistantChunkEvent}: it is
|
|
47
|
+
* streamed for the UI's live "thinking…" preview and is NOT retained in the
|
|
48
|
+
* display log (renderers accumulate it ephemerally, clearing on the matching
|
|
49
|
+
* {@link ReasoningMessageEvent} or the turn's `assistant_message`). Only
|
|
50
|
+
* emitted when the active provider+model supports reasoning AND it is enabled
|
|
51
|
+
* in that provider's config.
|
|
52
|
+
*/
|
|
53
|
+
export interface ReasoningChunkEvent extends EventBase {
|
|
54
|
+
readonly type: 'reasoning_chunk';
|
|
55
|
+
readonly delta: string;
|
|
56
|
+
}
|
|
57
|
+
/**
|
|
58
|
+
* A finalized reasoning summary for ONE provider call. Parallels
|
|
59
|
+
* {@link AssistantMessageEvent}: it is persisted + replayed, and because
|
|
60
|
+
* `collectProviderStream` runs once per loop round these land between tool
|
|
61
|
+
* batches (the "summary of the work done between calls" behavior). The
|
|
62
|
+
* `signature`/`redacted`/`encrypted` fields exist purely for history
|
|
63
|
+
* round-trip — Anthropic requires the signed `thinking` block be replayed
|
|
64
|
+
* first on a tool-use continuation; Codex/Anthropic redacted thinking carries
|
|
65
|
+
* an opaque blob replayed verbatim and never shown.
|
|
66
|
+
*/
|
|
67
|
+
export interface ReasoningMessageEvent extends EventBase {
|
|
68
|
+
readonly type: 'reasoning_message';
|
|
69
|
+
readonly content: string;
|
|
70
|
+
/** Anthropic thinking-block signature; absent for providers that don't sign. */
|
|
71
|
+
readonly signature?: string;
|
|
72
|
+
/** True when the reasoning is redacted/encrypted and must not be displayed. */
|
|
73
|
+
readonly redacted?: boolean;
|
|
74
|
+
/** Opaque provider blob (Anthropic redacted_thinking data / Codex encrypted_content) replayed as-is. */
|
|
75
|
+
readonly encrypted?: string;
|
|
76
|
+
}
|
|
45
77
|
export interface ToolCallRequestedEvent extends EventBase {
|
|
46
78
|
readonly type: 'tool_call_requested';
|
|
47
79
|
readonly callId: ToolCallId;
|
|
@@ -185,7 +217,7 @@ export interface PluginEvent extends EventBase {
|
|
|
185
217
|
readonly subtype: string;
|
|
186
218
|
readonly payload: unknown;
|
|
187
219
|
}
|
|
188
|
-
export type MoxxyEvent = UserPromptEvent | AssistantChunkEvent | AssistantMessageEvent | ToolCallRequestedEvent | ToolCallApprovedEvent | ToolCallDeniedEvent | ToolResultEvent | SkillInvokedEvent | SkillCreatedEvent | PluginRegisteredEvent | PluginUnregisteredEvent | ModeIterationEvent | CompactionEvent | ElisionEvent | ProviderRequestEvent | ProviderResponseEvent | ErrorEvent | AbortEvent | PluginEvent;
|
|
220
|
+
export type MoxxyEvent = UserPromptEvent | AssistantChunkEvent | AssistantMessageEvent | ReasoningChunkEvent | ReasoningMessageEvent | ToolCallRequestedEvent | ToolCallApprovedEvent | ToolCallDeniedEvent | ToolResultEvent | SkillInvokedEvent | SkillCreatedEvent | PluginRegisteredEvent | PluginUnregisteredEvent | ModeIterationEvent | CompactionEvent | ElisionEvent | ProviderRequestEvent | ProviderResponseEvent | ErrorEvent | AbortEvent | PluginEvent;
|
|
189
221
|
export type MoxxyEventType = MoxxyEvent['type'];
|
|
190
222
|
export type MoxxyEventOfType<T extends MoxxyEventType> = Extract<MoxxyEvent, {
|
|
191
223
|
type: T;
|
package/dist/events.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"events.d.ts","sourceRoot":"","sources":["../src/events.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"events.d.ts","sourceRoot":"","sources":["../src/events.ts"],"names":[],"mappings":"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"}
|
package/dist/fs-utils.d.ts
CHANGED
|
@@ -16,6 +16,14 @@ export interface WriteFileAtomicOptions {
|
|
|
16
16
|
* tools) should call this instead of hand-rolling tmp+rename or writing in place.
|
|
17
17
|
*/
|
|
18
18
|
export declare function writeFileAtomic(target: string, data: string | Uint8Array, opts?: WriteFileAtomicOptions): Promise<void>;
|
|
19
|
+
/**
|
|
20
|
+
* Synchronous twin of {@link writeFileAtomic}, for the few call sites that
|
|
21
|
+
* cannot be async — boot/bootstrap and self-update gates that run before the
|
|
22
|
+
* event loop is the right tool. Same crash-atomic guarantee: write a unique
|
|
23
|
+
* sibling temp file, then `rename` it over the target. Hand-rolled
|
|
24
|
+
* `mkdirSync + writeFileSync(tmp) + renameSync` copies should call this instead.
|
|
25
|
+
*/
|
|
26
|
+
export declare function writeFileAtomicSync(target: string, data: string | Uint8Array, opts?: WriteFileAtomicOptions): void;
|
|
19
27
|
/**
|
|
20
28
|
* The moxxy home directory: `$MOXXY_HOME` when set, else `~/.moxxy`. Single
|
|
21
29
|
* source of truth so the env override is honored uniformly — previously half
|
package/dist/fs-utils.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"fs-utils.d.ts","sourceRoot":"","sources":["../src/fs-utils.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"fs-utils.d.ts","sourceRoot":"","sources":["../src/fs-utils.ts"],"names":[],"mappings":"AAMA,MAAM,WAAW,sBAAsB;IACrC,8EAA8E;IAC9E,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC;IACvB,iFAAiF;IACjF,QAAQ,CAAC,QAAQ,CAAC,EAAE,cAAc,CAAC;CACpC;AAED;;;;;;;;;;GAUG;AACH,wBAAsB,eAAe,CACnC,MAAM,EAAE,MAAM,EACd,IAAI,EAAE,MAAM,GAAG,UAAU,EACzB,IAAI,GAAE,sBAA2B,GAChC,OAAO,CAAC,IAAI,CAAC,CAaf;AAED;;;;;;GAMG;AACH,wBAAgB,mBAAmB,CACjC,MAAM,EAAE,MAAM,EACd,IAAI,EAAE,MAAM,GAAG,UAAU,EACzB,IAAI,GAAE,sBAA2B,GAChC,IAAI,CAiBN;AAED;;;;GAIG;AACH,wBAAgB,SAAS,IAAI,MAAM,CAElC;AAED,kDAAkD;AAClD,wBAAgB,SAAS,CAAC,GAAG,QAAQ,EAAE,MAAM,EAAE,GAAG,MAAM,CAEvD"}
|
package/dist/fs-utils.js
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { randomUUID } from 'node:crypto';
|
|
2
|
+
import { chmodSync, mkdirSync, renameSync, rmSync, writeFileSync } from 'node:fs';
|
|
2
3
|
import { chmod, mkdir, rename, rm, writeFile } from 'node:fs/promises';
|
|
3
4
|
import { homedir } from 'node:os';
|
|
4
5
|
import { dirname, join } from 'node:path';
|
|
@@ -29,6 +30,34 @@ export async function writeFileAtomic(target, data, opts = {}) {
|
|
|
29
30
|
throw err;
|
|
30
31
|
}
|
|
31
32
|
}
|
|
33
|
+
/**
|
|
34
|
+
* Synchronous twin of {@link writeFileAtomic}, for the few call sites that
|
|
35
|
+
* cannot be async — boot/bootstrap and self-update gates that run before the
|
|
36
|
+
* event loop is the right tool. Same crash-atomic guarantee: write a unique
|
|
37
|
+
* sibling temp file, then `rename` it over the target. Hand-rolled
|
|
38
|
+
* `mkdirSync + writeFileSync(tmp) + renameSync` copies should call this instead.
|
|
39
|
+
*/
|
|
40
|
+
export function writeFileAtomicSync(target, data, opts = {}) {
|
|
41
|
+
mkdirSync(dirname(target), { recursive: true });
|
|
42
|
+
const tmp = `${target}.${process.pid}.${randomUUID()}.tmp`;
|
|
43
|
+
try {
|
|
44
|
+
writeFileSync(tmp, data, { encoding: opts.encoding ?? 'utf8' });
|
|
45
|
+
// chmod explicitly: writeFileSync's mode option is masked by umask, but a
|
|
46
|
+
// 0o600 secret file must be exactly 0o600 regardless of the host umask.
|
|
47
|
+
if (opts.mode != null)
|
|
48
|
+
chmodSync(tmp, opts.mode);
|
|
49
|
+
renameSync(tmp, target);
|
|
50
|
+
}
|
|
51
|
+
catch (err) {
|
|
52
|
+
try {
|
|
53
|
+
rmSync(tmp, { force: true });
|
|
54
|
+
}
|
|
55
|
+
catch {
|
|
56
|
+
/* best-effort cleanup */
|
|
57
|
+
}
|
|
58
|
+
throw err;
|
|
59
|
+
}
|
|
60
|
+
}
|
|
32
61
|
/**
|
|
33
62
|
* The moxxy home directory: `$MOXXY_HOME` when set, else `~/.moxxy`. Single
|
|
34
63
|
* source of truth so the env override is honored uniformly — previously half
|
package/dist/fs-utils.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"fs-utils.js","sourceRoot":"","sources":["../src/fs-utils.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACzC,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AACvE,OAAO,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AAClC,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAS1C;;;;;;;;;;GAUG;AACH,MAAM,CAAC,KAAK,UAAU,eAAe,CACnC,MAAc,EACd,IAAyB,EACzB,OAA+B,EAAE;IAEjC,MAAM,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IAClD,MAAM,GAAG,GAAG,GAAG,MAAM,IAAI,OAAO,CAAC,GAAG,IAAI,UAAU,EAAE,MAAM,CAAC;IAC3D,IAAI,CAAC;QACH,MAAM,SAAS,CAAC,GAAG,EAAE,IAAI,EAAE,EAAE,QAAQ,EAAE,IAAI,CAAC,QAAQ,IAAI,MAAM,EAAE,CAAC,CAAC;QAClE,sEAAsE;QACtE,wEAAwE;QACxE,IAAI,IAAI,CAAC,IAAI,IAAI,IAAI;YAAE,MAAM,KAAK,CAAC,GAAG,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;QACnD,MAAM,MAAM,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC;IAC5B,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,MAAM,EAAE,CAAC,GAAG,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC,CAAC;QAC/C,MAAM,GAAG,CAAC;IACZ,CAAC;AACH,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,SAAS;IACvB,OAAO,OAAO,CAAC,GAAG,CAAC,UAAU,IAAI,IAAI,CAAC,OAAO,EAAE,EAAE,QAAQ,CAAC,CAAC;AAC7D,CAAC;AAED,kDAAkD;AAClD,MAAM,UAAU,SAAS,CAAC,GAAG,QAAkB;IAC7C,OAAO,IAAI,CAAC,SAAS,EAAE,EAAE,GAAG,QAAQ,CAAC,CAAC;AACxC,CAAC"}
|
|
1
|
+
{"version":3,"file":"fs-utils.js","sourceRoot":"","sources":["../src/fs-utils.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACzC,OAAO,EAAE,SAAS,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AAClF,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AACvE,OAAO,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AAClC,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAS1C;;;;;;;;;;GAUG;AACH,MAAM,CAAC,KAAK,UAAU,eAAe,CACnC,MAAc,EACd,IAAyB,EACzB,OAA+B,EAAE;IAEjC,MAAM,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IAClD,MAAM,GAAG,GAAG,GAAG,MAAM,IAAI,OAAO,CAAC,GAAG,IAAI,UAAU,EAAE,MAAM,CAAC;IAC3D,IAAI,CAAC;QACH,MAAM,SAAS,CAAC,GAAG,EAAE,IAAI,EAAE,EAAE,QAAQ,EAAE,IAAI,CAAC,QAAQ,IAAI,MAAM,EAAE,CAAC,CAAC;QAClE,sEAAsE;QACtE,wEAAwE;QACxE,IAAI,IAAI,CAAC,IAAI,IAAI,IAAI;YAAE,MAAM,KAAK,CAAC,GAAG,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;QACnD,MAAM,MAAM,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC;IAC5B,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,MAAM,EAAE,CAAC,GAAG,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC,CAAC;QAC/C,MAAM,GAAG,CAAC;IACZ,CAAC;AACH,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,mBAAmB,CACjC,MAAc,EACd,IAAyB,EACzB,OAA+B,EAAE;IAEjC,SAAS,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IAChD,MAAM,GAAG,GAAG,GAAG,MAAM,IAAI,OAAO,CAAC,GAAG,IAAI,UAAU,EAAE,MAAM,CAAC;IAC3D,IAAI,CAAC;QACH,aAAa,CAAC,GAAG,EAAE,IAAI,EAAE,EAAE,QAAQ,EAAE,IAAI,CAAC,QAAQ,IAAI,MAAM,EAAE,CAAC,CAAC;QAChE,0EAA0E;QAC1E,wEAAwE;QACxE,IAAI,IAAI,CAAC,IAAI,IAAI,IAAI;YAAE,SAAS,CAAC,GAAG,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;QACjD,UAAU,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC;IAC1B,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,IAAI,CAAC;YACH,MAAM,CAAC,GAAG,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;QAC/B,CAAC;QAAC,MAAM,CAAC;YACP,yBAAyB;QAC3B,CAAC;QACD,MAAM,GAAG,CAAC;IACZ,CAAC;AACH,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,SAAS;IACvB,OAAO,OAAO,CAAC,GAAG,CAAC,UAAU,IAAI,IAAI,CAAC,OAAO,EAAE,EAAE,QAAQ,CAAC,CAAC;AAC7D,CAAC;AAED,kDAAkD;AAClD,MAAM,UAAU,SAAS,CAAC,GAAG,QAAkB;IAC7C,OAAO,IAAI,CAAC,SAAS,EAAE,EAAE,GAAG,QAAQ,CAAC,CAAC;AACxC,CAAC"}
|
package/dist/index.d.ts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
export type { EventId, TurnId, ToolCallId, SessionId, PluginId, SkillId, } from './ids.js';
|
|
2
2
|
export { asEventId, asTurnId, asToolCallId, asSessionId, asPluginId, asSkillId } from './ids.js';
|
|
3
|
-
export type { EventBase, EventSource, MoxxyEvent, MoxxyEventType, MoxxyEventOfType, EmittedEvent, UserPromptEvent, UserPromptAttachment, AssistantChunkEvent, AssistantMessageEvent, ToolCallRequestedEvent, ToolCallApprovedEvent, ToolCallDeniedEvent, ToolResultEvent, SkillInvokedEvent, SkillCreatedEvent, PluginRegisteredEvent, PluginUnregisteredEvent, ModeIterationEvent, CompactionEvent, ProviderRequestEvent, ProviderResponseEvent, ErrorEvent, AbortEvent, PluginEvent, } from './events.js';
|
|
3
|
+
export type { EventBase, EventSource, MoxxyEvent, MoxxyEventType, MoxxyEventOfType, EmittedEvent, UserPromptEvent, UserPromptAttachment, AssistantChunkEvent, AssistantMessageEvent, ReasoningChunkEvent, ReasoningMessageEvent, ToolCallRequestedEvent, ToolCallApprovedEvent, ToolCallDeniedEvent, ToolResultEvent, SkillInvokedEvent, SkillCreatedEvent, PluginRegisteredEvent, PluginUnregisteredEvent, ModeIterationEvent, CompactionEvent, ProviderRequestEvent, ProviderResponseEvent, ErrorEvent, AbortEvent, PluginEvent, } from './events.js';
|
|
4
4
|
export type { EventLogReader } from './log.js';
|
|
5
5
|
export type { RunTurnOptions, SessionLogReader, SessionLike, SessionInfo, ProviderInfo, ToolInfo, SkillInfo, CommandInfo, CredentialResolver, McpAdminView, McpServerStatusView, ProviderAdminView, ProviderConfigurePatch, WorkflowsView, WorkflowSummaryView, WorkflowRunView, WorkflowValidateView, WorkflowSaveView, PluginsAdminView, InstallablePluginView, LoadedPluginView, } from './session-like.js';
|
|
6
6
|
export type { ClientSession, ProvidersClientView, ModesClientView, ToolsClientView, CommandsClientView, SkillsClientView, AgentsClientView, TranscribersClientView, SynthesizersClientView, RequirementsClientView, PermissionsClientView, } from './client-session.js';
|
|
@@ -10,14 +10,20 @@ export type { FsCapability, NetCapability, CapabilitySpec, IsolationStrength, To
|
|
|
10
10
|
export { ISOLATION_RANK } from './isolation.js';
|
|
11
11
|
export type { SubagentSpec, SubagentResult, SubagentSpawner, SubagentContinueArgs, } from './subagent.js';
|
|
12
12
|
export type { ContentBlock, ProviderMessage, ProviderRequest, ProviderEvent, CacheHint, TokenUsage, ModelDescriptor, LLMProvider, ProviderDef, ProviderKeyValidation, ProviderVault, ProviderAuthContext, ProviderOAuthResult, ProviderOAuthStatus, ProviderAuthDescriptor, } from './provider.js';
|
|
13
|
+
export { encodeLoginPrompt, decodeLoginPrompt, createLoginStreamScanner, } from './provider-login-bridge.js';
|
|
14
|
+
export type { LoginPromptRequest, LoginStreamItem } from './provider-login-bridge.js';
|
|
13
15
|
export type { CacheStrategyDef, CacheStrategyContext } from './cache-strategy.js';
|
|
16
|
+
export type { DiffLine, DiffHunk, DiffRow, FileDiffDisplay, ToolDisplay, ToolDisplayResult, } from './tool-display.js';
|
|
17
|
+
export { isToolDisplayResult, isToolDisplay, isFileDiffDisplay, fileDiffSummary, fileDiffVerb, diffGutterNo, toDiffRows, } from './tool-display.js';
|
|
14
18
|
export type { ViewNode, ViewAction, ViewDoc, ViewParseError, ViewParseResult, AttrType, AttrSpec, ViewTagSpec, ViewRendererDef, } from './view-renderer.js';
|
|
15
|
-
export { VIEW_PRIMITIVES, VIEW_COMPONENTS, DEFAULT_VIEW_TAGS, isSafeViewUrl } from './view-renderer.js';
|
|
19
|
+
export { VIEW_PRIMITIVES, VIEW_COMPONENTS, DEFAULT_VIEW_TAGS, isSafeViewUrl, countNodes } from './view-renderer.js';
|
|
16
20
|
export type { TunnelProviderDef, TunnelHandle, TunnelOpenOptions, SpawnCliTunnelOptions, CliTunnelHandle, } from './tunnel.js';
|
|
17
21
|
export { spawnCliTunnel, isCliTunnelAvailable } from './tunnel.js';
|
|
18
22
|
export { isRetryableError, toFriendlyError, zodToJsonSchema, estimateTextTokens, type StopReason } from './provider-utils.js';
|
|
19
|
-
export { writeFileAtomic, moxxyHome, moxxyPath, type WriteFileAtomicOptions } from './fs-utils.js';
|
|
23
|
+
export { writeFileAtomic, writeFileAtomicSync, moxxyHome, moxxyPath, type WriteFileAtomicOptions, } from './fs-utils.js';
|
|
20
24
|
export { createMutex, type Mutex } from './mutex.js';
|
|
25
|
+
export { assertNever } from './assert.js';
|
|
26
|
+
export { compareSemver, parseSemverCore } from './semver.js';
|
|
21
27
|
export { readRequestBody, bearerTokenMatches } from './http-utils.js';
|
|
22
28
|
export { resolveChannelToken, rotateChannelToken, bearerGuard, encodeWsBearerProtocol, tokenFromWsProtocolHeader, MOXXY_WS_SUBPROTOCOL, MOXXY_WS_BEARER_PROTOCOL_PREFIX, type ChannelTokenOptions, } from './channel-auth.js';
|
|
23
29
|
export { autoAllowResolver, denyByDefaultResolver, createCallbackResolver, createAllowListResolver, createDeferredPermissionResolver, evaluateToolRule, type CallbackResolverOptions, type PermissionPromptHandler, type DeferredPermissionResolver, type DeferredPermissionResolverOptions, } from './resolvers.js';
|
|
@@ -40,6 +46,8 @@ export type { PluginKind, PluginSpec, Plugin, PluginManifest, ResolvedPluginMani
|
|
|
40
46
|
export type { Channel, ChannelHandle, ChannelStartOptsBase, ChannelFactoryDeps, ChannelDef, ChannelAvailability, ChannelRegistry, ChannelSubcommand, ChannelSubcommandContext, ChannelCommandArgs, } from './channel.js';
|
|
41
47
|
export type { EmbeddingProvider, EmbedderDef } from './embedding.js';
|
|
42
48
|
export { CachedEmbeddingProvider } from './embedding-cache.js';
|
|
49
|
+
export { defineSurface } from './surface.js';
|
|
50
|
+
export type { SurfaceKind, SurfaceDataMessage, SurfaceInputMessage, SurfaceSize, SurfaceInstance, SurfaceAvailability, SurfaceContext, SurfaceDef, SurfaceRegistry, SurfaceInfo, OpenSurfaceResult, SurfaceHost, } from './surface.js';
|
|
43
51
|
export type { RequirementKind, RequirementState, MoxxyRequirement, RequirementIssue, RequirementCheck, } from './requirements.js';
|
|
44
52
|
export type { Transcriber, TranscriberDef, TranscriptionResult, TranscriptionSegment, TranscribeOptions, } from './transcriber.js';
|
|
45
53
|
export type { Synthesizer, SynthesizerDef, SynthesizerCreateContext, SynthesisResult, SynthesizeOptions, } from './synthesizer.js';
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,YAAY,EACV,OAAO,EACP,MAAM,EACN,UAAU,EACV,SAAS,EACT,QAAQ,EACR,OAAO,GACR,MAAM,UAAU,CAAC;AAClB,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,YAAY,EAAE,WAAW,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,UAAU,CAAC;AAEjG,YAAY,EACV,SAAS,EACT,WAAW,EACX,UAAU,EACV,cAAc,EACd,gBAAgB,EAChB,YAAY,EACZ,eAAe,EACf,oBAAoB,EACpB,mBAAmB,EACnB,qBAAqB,EACrB,sBAAsB,EACtB,qBAAqB,EACrB,mBAAmB,EACnB,eAAe,EACf,iBAAiB,EACjB,iBAAiB,EACjB,qBAAqB,EACrB,uBAAuB,EACvB,kBAAkB,EAClB,eAAe,EACf,oBAAoB,EACpB,qBAAqB,EACrB,UAAU,EACV,UAAU,EACV,WAAW,GACZ,MAAM,aAAa,CAAC;AAErB,YAAY,EAAE,cAAc,EAAE,MAAM,UAAU,CAAC;AAE/C,YAAY,EACV,cAAc,EACd,gBAAgB,EAChB,WAAW,EACX,WAAW,EACX,YAAY,EACZ,QAAQ,EACR,SAAS,EACT,WAAW,EACX,kBAAkB,EAClB,YAAY,EACZ,mBAAmB,EACnB,iBAAiB,EACjB,sBAAsB,EACtB,aAAa,EACb,mBAAmB,EACnB,eAAe,EACf,oBAAoB,EACpB,gBAAgB,EAChB,gBAAgB,EAChB,qBAAqB,EACrB,gBAAgB,GACjB,MAAM,mBAAmB,CAAC;AAE3B,YAAY,EACV,aAAa,EACb,mBAAmB,EACnB,eAAe,EACf,eAAe,EACf,kBAAkB,EAClB,gBAAgB,EAChB,gBAAgB,EAChB,sBAAsB,EACtB,sBAAsB,EACtB,sBAAsB,EACtB,qBAAqB,GACtB,MAAM,qBAAqB,CAAC;AAE7B,YAAY,EACV,cAAc,EACd,kBAAkB,EAClB,cAAc,EACd,eAAe,EACf,iBAAiB,EACjB,kBAAkB,GACnB,MAAM,iBAAiB,CAAC;AAEzB,YAAY,EACV,WAAW,EACX,OAAO,EACP,uBAAuB,EACvB,UAAU,EACV,YAAY,EACZ,aAAa,EACb,iBAAiB,EACjB,qBAAqB,EACrB,YAAY,EACZ,gBAAgB,EAChB,kBAAkB,GACnB,MAAM,WAAW,CAAC;AAEnB,YAAY,EACV,YAAY,EACZ,aAAa,EACb,cAAc,EACd,iBAAiB,EACjB,iBAAiB,EACjB,gBAAgB,EAChB,QAAQ,EACR,gBAAgB,GACjB,MAAM,gBAAgB,CAAC;AACxB,OAAO,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AAEhD,YAAY,EACV,YAAY,EACZ,cAAc,EACd,eAAe,EACf,oBAAoB,GACrB,MAAM,eAAe,CAAC;AAGvB,YAAY,EACV,YAAY,EACZ,eAAe,EACf,eAAe,EACf,aAAa,EACb,SAAS,EACT,UAAU,EACV,eAAe,EACf,WAAW,EACX,WAAW,EACX,qBAAqB,EACrB,aAAa,EACb,mBAAmB,EACnB,mBAAmB,EACnB,mBAAmB,EACnB,sBAAsB,GACvB,MAAM,eAAe,CAAC;AACvB,YAAY,EAAE,gBAAgB,EAAE,oBAAoB,EAAE,MAAM,qBAAqB,CAAC;AAClF,YAAY,EACV,QAAQ,EACR,UAAU,EACV,OAAO,EACP,cAAc,EACd,eAAe,EACf,QAAQ,EACR,QAAQ,EACR,WAAW,EACX,eAAe,GAChB,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EAAE,eAAe,EAAE,eAAe,EAAE,iBAAiB,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,YAAY,EACV,OAAO,EACP,MAAM,EACN,UAAU,EACV,SAAS,EACT,QAAQ,EACR,OAAO,GACR,MAAM,UAAU,CAAC;AAClB,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,YAAY,EAAE,WAAW,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,UAAU,CAAC;AAEjG,YAAY,EACV,SAAS,EACT,WAAW,EACX,UAAU,EACV,cAAc,EACd,gBAAgB,EAChB,YAAY,EACZ,eAAe,EACf,oBAAoB,EACpB,mBAAmB,EACnB,qBAAqB,EACrB,mBAAmB,EACnB,qBAAqB,EACrB,sBAAsB,EACtB,qBAAqB,EACrB,mBAAmB,EACnB,eAAe,EACf,iBAAiB,EACjB,iBAAiB,EACjB,qBAAqB,EACrB,uBAAuB,EACvB,kBAAkB,EAClB,eAAe,EACf,oBAAoB,EACpB,qBAAqB,EACrB,UAAU,EACV,UAAU,EACV,WAAW,GACZ,MAAM,aAAa,CAAC;AAErB,YAAY,EAAE,cAAc,EAAE,MAAM,UAAU,CAAC;AAE/C,YAAY,EACV,cAAc,EACd,gBAAgB,EAChB,WAAW,EACX,WAAW,EACX,YAAY,EACZ,QAAQ,EACR,SAAS,EACT,WAAW,EACX,kBAAkB,EAClB,YAAY,EACZ,mBAAmB,EACnB,iBAAiB,EACjB,sBAAsB,EACtB,aAAa,EACb,mBAAmB,EACnB,eAAe,EACf,oBAAoB,EACpB,gBAAgB,EAChB,gBAAgB,EAChB,qBAAqB,EACrB,gBAAgB,GACjB,MAAM,mBAAmB,CAAC;AAE3B,YAAY,EACV,aAAa,EACb,mBAAmB,EACnB,eAAe,EACf,eAAe,EACf,kBAAkB,EAClB,gBAAgB,EAChB,gBAAgB,EAChB,sBAAsB,EACtB,sBAAsB,EACtB,sBAAsB,EACtB,qBAAqB,GACtB,MAAM,qBAAqB,CAAC;AAE7B,YAAY,EACV,cAAc,EACd,kBAAkB,EAClB,cAAc,EACd,eAAe,EACf,iBAAiB,EACjB,kBAAkB,GACnB,MAAM,iBAAiB,CAAC;AAEzB,YAAY,EACV,WAAW,EACX,OAAO,EACP,uBAAuB,EACvB,UAAU,EACV,YAAY,EACZ,aAAa,EACb,iBAAiB,EACjB,qBAAqB,EACrB,YAAY,EACZ,gBAAgB,EAChB,kBAAkB,GACnB,MAAM,WAAW,CAAC;AAEnB,YAAY,EACV,YAAY,EACZ,aAAa,EACb,cAAc,EACd,iBAAiB,EACjB,iBAAiB,EACjB,gBAAgB,EAChB,QAAQ,EACR,gBAAgB,GACjB,MAAM,gBAAgB,CAAC;AACxB,OAAO,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AAEhD,YAAY,EACV,YAAY,EACZ,cAAc,EACd,eAAe,EACf,oBAAoB,GACrB,MAAM,eAAe,CAAC;AAGvB,YAAY,EACV,YAAY,EACZ,eAAe,EACf,eAAe,EACf,aAAa,EACb,SAAS,EACT,UAAU,EACV,eAAe,EACf,WAAW,EACX,WAAW,EACX,qBAAqB,EACrB,aAAa,EACb,mBAAmB,EACnB,mBAAmB,EACnB,mBAAmB,EACnB,sBAAsB,GACvB,MAAM,eAAe,CAAC;AACvB,OAAO,EACL,iBAAiB,EACjB,iBAAiB,EACjB,wBAAwB,GACzB,MAAM,4BAA4B,CAAC;AACpC,YAAY,EAAE,kBAAkB,EAAE,eAAe,EAAE,MAAM,4BAA4B,CAAC;AACtF,YAAY,EAAE,gBAAgB,EAAE,oBAAoB,EAAE,MAAM,qBAAqB,CAAC;AAClF,YAAY,EACV,QAAQ,EACR,QAAQ,EACR,OAAO,EACP,eAAe,EACf,WAAW,EACX,iBAAiB,GAClB,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EACL,mBAAmB,EACnB,aAAa,EACb,iBAAiB,EACjB,eAAe,EACf,YAAY,EACZ,YAAY,EACZ,UAAU,GACX,MAAM,mBAAmB,CAAC;AAC3B,YAAY,EACV,QAAQ,EACR,UAAU,EACV,OAAO,EACP,cAAc,EACd,eAAe,EACf,QAAQ,EACR,QAAQ,EACR,WAAW,EACX,eAAe,GAChB,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EAAE,eAAe,EAAE,eAAe,EAAE,iBAAiB,EAAE,aAAa,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AACpH,YAAY,EACV,iBAAiB,EACjB,YAAY,EACZ,iBAAiB,EACjB,qBAAqB,EACrB,eAAe,GAChB,MAAM,aAAa,CAAC;AACrB,OAAO,EAAE,cAAc,EAAE,oBAAoB,EAAE,MAAM,aAAa,CAAC;AACnE,OAAO,EAAE,gBAAgB,EAAE,eAAe,EAAE,eAAe,EAAE,kBAAkB,EAAE,KAAK,UAAU,EAAE,MAAM,qBAAqB,CAAC;AAC9H,OAAO,EACL,eAAe,EACf,mBAAmB,EACnB,SAAS,EACT,SAAS,EACT,KAAK,sBAAsB,GAC5B,MAAM,eAAe,CAAC;AACvB,OAAO,EAAE,WAAW,EAAE,KAAK,KAAK,EAAE,MAAM,YAAY,CAAC;AACrD,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAC1C,OAAO,EAAE,aAAa,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAC7D,OAAO,EAAE,eAAe,EAAE,kBAAkB,EAAE,MAAM,iBAAiB,CAAC;AACtE,OAAO,EACL,mBAAmB,EACnB,kBAAkB,EAClB,WAAW,EACX,sBAAsB,EACtB,yBAAyB,EACzB,oBAAoB,EACpB,+BAA+B,EAC/B,KAAK,mBAAmB,GACzB,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EACL,iBAAiB,EACjB,qBAAqB,EACrB,sBAAsB,EACtB,uBAAuB,EACvB,gCAAgC,EAChC,gBAAgB,EAChB,KAAK,uBAAuB,EAC5B,KAAK,uBAAuB,EAC5B,KAAK,0BAA0B,EAC/B,KAAK,iCAAiC,GACvC,MAAM,gBAAgB,CAAC;AACxB,OAAO,EACL,UAAU,EACV,kBAAkB,EAClB,oBAAoB,EACpB,KAAK,cAAc,EACnB,KAAK,cAAc,GACpB,MAAM,aAAa,CAAC;AACrB,OAAO,EACL,qBAAqB,EACrB,iBAAiB,EACjB,sBAAsB,EACtB,eAAe,EACf,2BAA2B,EAC3B,uBAAuB,EACvB,UAAU,EACV,KAAK,gBAAgB,EACrB,KAAK,YAAY,EACjB,KAAK,sBAAsB,EAC3B,KAAK,iBAAiB,EACtB,KAAK,iBAAiB,EACtB,KAAK,WAAW,GACjB,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EACL,gBAAgB,EAChB,eAAe,EACf,0BAA0B,EAC1B,KAAK,eAAe,GACrB,MAAM,oBAAoB,CAAC;AAE5B,YAAY,EAAE,WAAW,EAAE,cAAc,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAChF,OAAO,EACL,qBAAqB,EACrB,qBAAqB,EACrB,sBAAsB,GACvB,MAAM,wBAAwB,CAAC;AAChC,OAAO,EACL,kBAAkB,EAClB,sBAAsB,EACtB,KAAK,uBAAuB,GAC7B,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EACL,mBAAmB,EACnB,cAAc,EACd,kBAAkB,EAClB,eAAe,EACf,iBAAiB,EACjB,qBAAqB,EACrB,eAAe,EACf,KAAK,YAAY,GAClB,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EACL,cAAc,EACd,cAAc,EACd,eAAe,EACf,eAAe,EACf,KAAK,UAAU,GAChB,MAAM,kBAAkB,CAAC;AAE1B,OAAO,EACL,sBAAsB,EACtB,gCAAgC,EAChC,sBAAsB,EACtB,cAAc,EACd,gBAAgB,EAChB,KAAK,mBAAmB,EACxB,KAAK,gBAAgB,GACtB,MAAM,uBAAuB,CAAC;AAE/B,YAAY,EAAE,KAAK,EAAE,QAAQ,EAAE,gBAAgB,EAAE,UAAU,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAE/F,YAAY,EACV,QAAQ,EACR,YAAY,EACZ,kBAAkB,EAClB,eAAe,EACf,qBAAqB,EACrB,uBAAuB,EACvB,iBAAiB,EACjB,gBAAgB,EAChB,UAAU,EACV,gBAAgB,EAChB,oBAAoB,EACpB,kBAAkB,EAClB,kBAAkB,EAClB,cAAc,EACd,oBAAoB,EACpB,eAAe,EACf,kBAAkB,EAClB,iBAAiB,EACjB,kBAAkB,EAClB,iBAAiB,EACjB,mBAAmB,GACpB,MAAM,eAAe,CAAC;AAEvB,YAAY,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAE3C,YAAY,EACV,UAAU,EACV,cAAc,EACd,aAAa,EACb,oBAAoB,GACrB,MAAM,cAAc,CAAC;AAEtB,YAAY,EACV,YAAY,EACZ,aAAa,EACb,gBAAgB,EAChB,WAAW,EACX,OAAO,EACP,SAAS,EACT,eAAe,EACf,gBAAgB,EAChB,eAAe,EACf,gBAAgB,EAChB,cAAc,GACf,MAAM,WAAW,CAAC;AAEnB,YAAY,EACV,UAAU,EACV,WAAW,EACX,eAAe,EACf,iBAAiB,EACjB,eAAe,EACf,eAAe,EACf,cAAc,EACd,cAAc,GACf,MAAM,YAAY,CAAC;AAEpB,YAAY,EACV,UAAU,EACV,UAAU,EACV,MAAM,EACN,cAAc,EACd,sBAAsB,GACvB,MAAM,aAAa,CAAC;AAErB,YAAY,EACV,OAAO,EACP,aAAa,EACb,oBAAoB,EACpB,kBAAkB,EAClB,UAAU,EACV,mBAAmB,EACnB,eAAe,EACf,iBAAiB,EACjB,wBAAwB,EACxB,kBAAkB,GACnB,MAAM,cAAc,CAAC;AACtB,YAAY,EAAE,iBAAiB,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AACrE,OAAO,EAAE,uBAAuB,EAAE,MAAM,sBAAsB,CAAC;AAE/D,OAAO,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAC7C,YAAY,EACV,WAAW,EACX,kBAAkB,EAClB,mBAAmB,EACnB,WAAW,EACX,eAAe,EACf,mBAAmB,EACnB,cAAc,EACd,UAAU,EACV,eAAe,EACf,WAAW,EACX,iBAAiB,EACjB,WAAW,GACZ,MAAM,cAAc,CAAC;AAEtB,YAAY,EACV,eAAe,EACf,gBAAgB,EAChB,gBAAgB,EAChB,gBAAgB,EAChB,gBAAgB,GACjB,MAAM,mBAAmB,CAAC;AAE3B,YAAY,EACV,WAAW,EACX,cAAc,EACd,mBAAmB,EACnB,oBAAoB,EACpB,iBAAiB,GAClB,MAAM,kBAAkB,CAAC;AAE1B,YAAY,EACV,WAAW,EACX,cAAc,EACd,wBAAwB,EACxB,eAAe,EACf,iBAAiB,GAClB,MAAM,kBAAkB,CAAC;AAE1B,MAAM,WAAW,YAAY;IAC3B,IAAI,CAAC,QAAQ,EAAE,OAAO,aAAa,EAAE,sBAAsB,GAAG,OAAO,CAAC,OAAO,aAAa,EAAE,MAAM,CAAC,CAAC;CACrG;AAED,OAAO,EACL,YAAY,EACZ,UAAU,EACV,cAAc,EACd,UAAU,EACV,eAAe,EACf,mBAAmB,EACnB,kBAAkB,EAClB,oBAAoB,EACpB,aAAa,EACb,gBAAgB,EAChB,WAAW,EACX,iBAAiB,EACjB,iBAAiB,EACjB,cAAc,EACd,aAAa,EACb,WAAW,EACX,sBAAsB,GACvB,MAAM,aAAa,CAAC;AAErB,OAAO,EAAE,eAAe,EAAE,MAAM,WAAW,CAAC;AAE5C,OAAO,EACL,sBAAsB,EACtB,oBAAoB,EACpB,kBAAkB,EAClB,iBAAiB,EACjB,KAAK,qBAAqB,EAC1B,KAAK,mBAAmB,EACxB,KAAK,iBAAiB,GACvB,MAAM,cAAc,CAAC;AAEtB,OAAO,EACL,cAAc,EACd,KAAK,WAAW,EAChB,KAAK,aAAa,GACnB,MAAM,oBAAoB,CAAC;AAE5B,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC"}
|
package/dist/index.js
CHANGED
|
@@ -1,10 +1,14 @@
|
|
|
1
1
|
export { asEventId, asTurnId, asToolCallId, asSessionId, asPluginId, asSkillId } from './ids.js';
|
|
2
2
|
export { ISOLATION_RANK } from './isolation.js';
|
|
3
|
-
export {
|
|
3
|
+
export { encodeLoginPrompt, decodeLoginPrompt, createLoginStreamScanner, } from './provider-login-bridge.js';
|
|
4
|
+
export { isToolDisplayResult, isToolDisplay, isFileDiffDisplay, fileDiffSummary, fileDiffVerb, diffGutterNo, toDiffRows, } from './tool-display.js';
|
|
5
|
+
export { VIEW_PRIMITIVES, VIEW_COMPONENTS, DEFAULT_VIEW_TAGS, isSafeViewUrl, countNodes } from './view-renderer.js';
|
|
4
6
|
export { spawnCliTunnel, isCliTunnelAvailable } from './tunnel.js';
|
|
5
7
|
export { isRetryableError, toFriendlyError, zodToJsonSchema, estimateTextTokens } from './provider-utils.js';
|
|
6
|
-
export { writeFileAtomic, moxxyHome, moxxyPath } from './fs-utils.js';
|
|
8
|
+
export { writeFileAtomic, writeFileAtomicSync, moxxyHome, moxxyPath, } from './fs-utils.js';
|
|
7
9
|
export { createMutex } from './mutex.js';
|
|
10
|
+
export { assertNever } from './assert.js';
|
|
11
|
+
export { compareSemver, parseSemverCore } from './semver.js';
|
|
8
12
|
export { readRequestBody, bearerTokenMatches } from './http-utils.js';
|
|
9
13
|
export { resolveChannelToken, rotateChannelToken, bearerGuard, encodeWsBearerProtocol, tokenFromWsProtocolHeader, MOXXY_WS_SUBPROTOCOL, MOXXY_WS_BEARER_PROTOCOL_PREFIX, } from './channel-auth.js';
|
|
10
14
|
export { autoAllowResolver, denyByDefaultResolver, createCallbackResolver, createAllowListResolver, createDeferredPermissionResolver, evaluateToolRule, } from './resolvers.js';
|
|
@@ -17,6 +21,7 @@ export { computeElisionState, toolResultStub, conversationalStub, toolResultByte
|
|
|
17
21
|
export { applyLazyTools, buildToolIndex, loadedToolNames, ALWAYS_ON_TOOLS, } from './tool-gating.js';
|
|
18
22
|
export { summarizeSessionTokens, summarizeSessionTokensFromEvents, summarizeTokensByModel, addModelTotals, usageEventFields, } from './token-accounting.js';
|
|
19
23
|
export { CachedEmbeddingProvider } from './embedding-cache.js';
|
|
24
|
+
export { defineSurface } from './surface.js';
|
|
20
25
|
export { definePlugin, defineTool, defineProvider, defineMode, defineCompactor, defineCacheStrategy, defineViewRenderer, defineTunnelProvider, defineChannel, definePermission, defineSkill, defineTranscriber, defineSynthesizer, defineEmbedder, defineCommand, defineAgent, defineWorkflowExecutor, } from './define.js';
|
|
21
26
|
export { migrateModeName } from './mode.js';
|
|
22
27
|
export { skillFrontmatterSchema, pluginManifestSchema, moxxyPackageSchema, requirementSchema, } from './schemas.js';
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAQA,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,YAAY,EAAE,WAAW,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,UAAU,CAAC;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
package/dist/mode-helpers.d.ts
CHANGED
|
@@ -77,6 +77,18 @@ export interface StreamResult {
|
|
|
77
77
|
} | null;
|
|
78
78
|
/** Token usage reported by the provider on `message_end`, including cache hits/writes. */
|
|
79
79
|
readonly usage?: TokenUsage;
|
|
80
|
+
/**
|
|
81
|
+
* Reasoning/thinking summary for this provider call, when the model emitted
|
|
82
|
+
* any. The mode emits it as a `reasoning_message` event (so it persists and
|
|
83
|
+
* round-trips). `signature`/`encrypted` carry Anthropic's signed thinking
|
|
84
|
+
* block / redacted blob; `redacted` marks display-suppressed reasoning.
|
|
85
|
+
*/
|
|
86
|
+
readonly reasoning?: {
|
|
87
|
+
readonly text: string;
|
|
88
|
+
readonly signature?: string;
|
|
89
|
+
readonly redacted?: boolean;
|
|
90
|
+
readonly encrypted?: string;
|
|
91
|
+
};
|
|
80
92
|
}
|
|
81
93
|
/**
|
|
82
94
|
* Pulls a provider stream, emits `assistant_chunk` events for text deltas,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mode-helpers.d.ts","sourceRoot":"","sources":["../src/mode-helpers.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAA+B,eAAe,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAC9F,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,WAAW,CAAC;AAC7C,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AACtD,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;
|
|
1
|
+
{"version":3,"file":"mode-helpers.d.ts","sourceRoot":"","sources":["../src/mode-helpers.ts"],"names":[],"mappings":"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"}
|
package/dist/mode-helpers.js
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { computeElisionState, conversationalStub, conversationalStubbed, toolResultBytes, toolResultStub, toolResultStubbed, } from './elision-state.js';
|
|
2
|
+
import { isToolDisplayResult } from './tool-display.js';
|
|
2
3
|
import { applyLazyTools } from './tool-gating.js';
|
|
3
4
|
import { runCompactionIfNeeded } from './compactor-helpers.js';
|
|
4
5
|
import { runElisionIfNeeded } from './elision-helpers.js';
|
|
@@ -108,6 +109,14 @@ export function projectMessages(ctx, opts = {}) {
|
|
|
108
109
|
}
|
|
109
110
|
let pendingAssistant = null;
|
|
110
111
|
let pendingAssistantMaxSeq = -1;
|
|
112
|
+
// Reasoning block awaiting attachment to the current assistant turn. Only set
|
|
113
|
+
// for REPLAYABLE reasoning (Anthropic signature / redacted-or-Codex encrypted
|
|
114
|
+
// blob) — render-only reasoning is never sent back. Attached as content[0] of
|
|
115
|
+
// the turn's assistant message (Anthropic requires the signed thinking block
|
|
116
|
+
// first on an interleaved-thinking tool-use continuation; a missing/unsigned
|
|
117
|
+
// one is a hard 400). Dropped at any turn/compaction boundary it doesn't reach.
|
|
118
|
+
let pendingReasoning = null;
|
|
119
|
+
let pendingReasoningSeq = -1;
|
|
111
120
|
const flush = () => {
|
|
112
121
|
if (!pendingAssistant)
|
|
113
122
|
return;
|
|
@@ -149,6 +158,7 @@ export function projectMessages(ctx, opts = {}) {
|
|
|
149
158
|
if (!emittedCompactions.has(compaction)) {
|
|
150
159
|
emittedCompactions.add(compaction);
|
|
151
160
|
flush();
|
|
161
|
+
pendingReasoning = null;
|
|
152
162
|
messages.push({
|
|
153
163
|
role: 'user',
|
|
154
164
|
content: [{ type: 'text', text: `[summary of earlier turns]\n${compaction.summary}` }],
|
|
@@ -160,6 +170,7 @@ export function projectMessages(ctx, opts = {}) {
|
|
|
160
170
|
switch (e.type) {
|
|
161
171
|
case 'user_prompt': {
|
|
162
172
|
flush();
|
|
173
|
+
pendingReasoning = null;
|
|
163
174
|
// Elided + conversational: collapse to a stub (anchor/tiny kept full).
|
|
164
175
|
if (conversationalStubbed(e, el)) {
|
|
165
176
|
messages.push({
|
|
@@ -199,9 +210,26 @@ export function projectMessages(ctx, opts = {}) {
|
|
|
199
210
|
recordStable(e.seq);
|
|
200
211
|
break;
|
|
201
212
|
}
|
|
213
|
+
case 'reasoning_message': {
|
|
214
|
+
// Render-only reasoning (no signature/encrypted) is never replayed —
|
|
215
|
+
// it exists only for the live/scrollback "Thinking" view. Replayable
|
|
216
|
+
// reasoning is stashed for content[0] of this turn's assistant message.
|
|
217
|
+
if (e.signature || e.encrypted) {
|
|
218
|
+
pendingReasoning = {
|
|
219
|
+
type: 'reasoning',
|
|
220
|
+
text: e.content,
|
|
221
|
+
...(e.signature ? { signature: e.signature } : {}),
|
|
222
|
+
...(e.redacted ? { redacted: true } : {}),
|
|
223
|
+
...(e.encrypted ? { encrypted: e.encrypted } : {}),
|
|
224
|
+
};
|
|
225
|
+
pendingReasoningSeq = e.seq;
|
|
226
|
+
}
|
|
227
|
+
break;
|
|
228
|
+
}
|
|
202
229
|
case 'assistant_message':
|
|
203
230
|
flush();
|
|
204
231
|
if (conversationalStubbed(e, el)) {
|
|
232
|
+
pendingReasoning = null;
|
|
205
233
|
messages.push({
|
|
206
234
|
role: 'assistant',
|
|
207
235
|
content: [{ type: 'text', text: conversationalStub('assistant', e.seq) }],
|
|
@@ -216,14 +244,31 @@ export function projectMessages(ctx, opts = {}) {
|
|
|
216
244
|
// tool_use blocks are projected from tool_call_requested events —
|
|
217
245
|
// which also un-wedges historical logs that already contain one.
|
|
218
246
|
if (e.content.trim().length === 0) {
|
|
247
|
+
pendingReasoning = null;
|
|
219
248
|
recordStable(e.seq);
|
|
220
249
|
break;
|
|
221
250
|
}
|
|
222
|
-
|
|
251
|
+
{
|
|
252
|
+
const content = [];
|
|
253
|
+
if (pendingReasoning) {
|
|
254
|
+
content.push(pendingReasoning);
|
|
255
|
+
pendingReasoning = null;
|
|
256
|
+
}
|
|
257
|
+
content.push({ type: 'text', text: e.content });
|
|
258
|
+
messages.push({ role: 'assistant', content });
|
|
259
|
+
}
|
|
223
260
|
recordStable(e.seq);
|
|
224
261
|
break;
|
|
225
262
|
case 'tool_call_requested': {
|
|
226
|
-
pendingAssistant
|
|
263
|
+
if (!pendingAssistant) {
|
|
264
|
+
// Seed the assistant turn so the signed reasoning block is content[0],
|
|
265
|
+
// ahead of every tool_use (Anthropic's interleaved-thinking ordering).
|
|
266
|
+
pendingAssistant = { role: 'assistant', content: pendingReasoning ? [pendingReasoning] : [] };
|
|
267
|
+
if (pendingReasoning) {
|
|
268
|
+
pendingAssistantMaxSeq = Math.max(pendingAssistantMaxSeq, pendingReasoningSeq);
|
|
269
|
+
pendingReasoning = null;
|
|
270
|
+
}
|
|
271
|
+
}
|
|
227
272
|
pendingAssistantMaxSeq = Math.max(pendingAssistantMaxSeq, e.seq);
|
|
228
273
|
pendingAssistant.content.push({
|
|
229
274
|
type: 'tool_use',
|
|
@@ -245,6 +290,11 @@ export function projectMessages(ctx, opts = {}) {
|
|
|
245
290
|
else if (e.error) {
|
|
246
291
|
text = `[error:${e.error.kind}] ${e.error.message}`;
|
|
247
292
|
}
|
|
293
|
+
else if (isToolDisplayResult(e.output)) {
|
|
294
|
+
// Rich result (e.g. a file diff): the model only needs the short
|
|
295
|
+
// `forModel` summary — the structured `display` is for channels.
|
|
296
|
+
text = e.output.forModel;
|
|
297
|
+
}
|
|
248
298
|
else {
|
|
249
299
|
text = typeof e.output === 'string' ? e.output : JSON.stringify(e.output ?? '');
|
|
250
300
|
}
|
|
@@ -307,12 +357,17 @@ export async function collectProviderStream(ctx, messages, opts = {}) {
|
|
|
307
357
|
// message-derived system text. Prefilling it would duplicate the prompt.
|
|
308
358
|
// It stays as the side channel `onBeforeProviderCall` hooks use to inject
|
|
309
359
|
// per-request system text (e.g. the memory consolidation nudge).
|
|
360
|
+
// Forward the per-provider reasoning preference, but only when THIS model
|
|
361
|
+
// advertises `supportsReasoning` — providers ignore the knob otherwise, but
|
|
362
|
+
// gating here keeps requests clean and avoids unsupported-param errors.
|
|
363
|
+
const reqReasoning = descriptor?.supportsReasoning ? ctx.reasoning : undefined;
|
|
310
364
|
const req = {
|
|
311
365
|
model: ctx.model,
|
|
312
366
|
messages: effectiveMessages,
|
|
313
367
|
...(toolList ? { tools: toolList } : {}),
|
|
314
368
|
...(cacheHints && cacheHints.length > 0 ? { cacheHints } : {}),
|
|
315
369
|
...(opts.maxTokens !== undefined ? { maxTokens: opts.maxTokens } : {}),
|
|
370
|
+
...(reqReasoning ? { reasoning: reqReasoning } : {}),
|
|
316
371
|
signal: ctx.signal,
|
|
317
372
|
};
|
|
318
373
|
const transformed = await ctx.hooks.dispatchBeforeProviderCall(req, {
|
|
@@ -328,6 +383,14 @@ export async function collectProviderStream(ctx, messages, opts = {}) {
|
|
|
328
383
|
let stopReason = 'end_turn';
|
|
329
384
|
let error = null;
|
|
330
385
|
let usage;
|
|
386
|
+
// Reasoning/thinking accumulation for this single provider call. Emitted as a
|
|
387
|
+
// finalized `reasoning_message` by the mode (turn-iterator / goal-loop) so it
|
|
388
|
+
// persists and round-trips; `signature`/`encrypted` carry Anthropic's signed
|
|
389
|
+
// thinking block / redacted blob for replay.
|
|
390
|
+
let reasoningText = '';
|
|
391
|
+
let reasoningSignature;
|
|
392
|
+
let reasoningRedacted = false;
|
|
393
|
+
let reasoningEncrypted;
|
|
331
394
|
let stream;
|
|
332
395
|
try {
|
|
333
396
|
stream = ctx.provider.stream(transformed);
|
|
@@ -373,6 +436,28 @@ export async function collectProviderStream(ctx, messages, opts = {}) {
|
|
|
373
436
|
error = { message: event.message, retryable: event.retryable };
|
|
374
437
|
break;
|
|
375
438
|
}
|
|
439
|
+
case 'reasoning_delta': {
|
|
440
|
+
reasoningText += event.delta;
|
|
441
|
+
// Live preview only — parallels `assistant_chunk`; renderers
|
|
442
|
+
// accumulate ephemerally and clear on the finalized reasoning_message.
|
|
443
|
+
await ctx.emit({
|
|
444
|
+
type: 'reasoning_chunk',
|
|
445
|
+
sessionId: ctx.sessionId,
|
|
446
|
+
turnId: ctx.turnId,
|
|
447
|
+
source: 'model',
|
|
448
|
+
delta: event.delta,
|
|
449
|
+
});
|
|
450
|
+
break;
|
|
451
|
+
}
|
|
452
|
+
case 'reasoning_signature': {
|
|
453
|
+
if (event.signature)
|
|
454
|
+
reasoningSignature = event.signature;
|
|
455
|
+
if (event.encrypted)
|
|
456
|
+
reasoningEncrypted = event.encrypted;
|
|
457
|
+
if (event.redacted)
|
|
458
|
+
reasoningRedacted = true;
|
|
459
|
+
break;
|
|
460
|
+
}
|
|
376
461
|
case 'message_start':
|
|
377
462
|
case 'tool_use_delta':
|
|
378
463
|
default:
|
|
@@ -392,7 +477,24 @@ export async function collectProviderStream(ctx, messages, opts = {}) {
|
|
|
392
477
|
continue;
|
|
393
478
|
finalToolUses.push({ id, name: partial.name, input: partial.input ?? {} });
|
|
394
479
|
}
|
|
395
|
-
|
|
480
|
+
// Surface reasoning when there's visible text OR an opaque blob to replay
|
|
481
|
+
// (a redacted_thinking block has no text but must still round-trip).
|
|
482
|
+
const reasoning = reasoningText.trim().length > 0 || reasoningEncrypted
|
|
483
|
+
? {
|
|
484
|
+
text: reasoningText,
|
|
485
|
+
...(reasoningSignature ? { signature: reasoningSignature } : {}),
|
|
486
|
+
...(reasoningRedacted ? { redacted: true } : {}),
|
|
487
|
+
...(reasoningEncrypted ? { encrypted: reasoningEncrypted } : {}),
|
|
488
|
+
}
|
|
489
|
+
: undefined;
|
|
490
|
+
return {
|
|
491
|
+
text,
|
|
492
|
+
toolUses: finalToolUses,
|
|
493
|
+
stopReason,
|
|
494
|
+
error,
|
|
495
|
+
...(usage ? { usage } : {}),
|
|
496
|
+
...(reasoning ? { reasoning } : {}),
|
|
497
|
+
};
|
|
396
498
|
}
|
|
397
499
|
/**
|
|
398
500
|
* Run a single-shot (no-tools) provider turn — the shape every planner /
|