@xenosystem/agent-interface-electron-host 0.1.104 → 0.1.106
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/sdkAgent.d.ts +33 -1
- package/dist/sdkAgent.d.ts.map +1 -1
- package/dist/sdkAgent.js +156 -19
- package/dist/sdkAgent.js.map +1 -1
- package/dist/sdkNativeHeadlessRunner.d.ts +3 -1
- package/dist/sdkNativeHeadlessRunner.d.ts.map +1 -1
- package/dist/sdkNativeHeadlessRunner.js +2 -0
- package/dist/sdkNativeHeadlessRunner.js.map +1 -1
- package/dist/toolInputStream.d.ts +26 -0
- package/dist/toolInputStream.d.ts.map +1 -0
- package/dist/toolInputStream.js +49 -0
- package/dist/toolInputStream.js.map +1 -0
- package/package.json +5 -6
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import type { RuntimeEventStore, SdkNativeAgentRunInput, SdkNativeAgentRunner } from '@xenosystem/agent-interface-host/node';
|
|
2
|
-
import type { AgentCommandExecutionEnvironment } from './sdkAgent.js';
|
|
2
|
+
import type { AgentCommandExecutionEnvironment, SandboxWorkspace } from './sdkAgent.js';
|
|
3
3
|
import type { WorkforceLeaseSequencePersistence } from '@xenosystem/agent-interface-host/node';
|
|
4
4
|
/**
|
|
5
5
|
* The SDK-native lane for a host with no renderer.
|
|
@@ -72,6 +72,8 @@ export interface CreateSdkNativeHeadlessRunnerOptions {
|
|
|
72
72
|
/** Reported rather than swallowed: this only fires where a turn is about to behave oddly. */
|
|
73
73
|
onSurfaceError?(error: unknown, channel: string): void;
|
|
74
74
|
executionEnvironment?: AgentCommandExecutionEnvironment;
|
|
75
|
+
/** The project lives in a sandbox; see `runSdkAgent`'s own field. Host-wide: one host, one project. */
|
|
76
|
+
sandboxWorkspace?: SandboxWorkspace;
|
|
75
77
|
}
|
|
76
78
|
import { type SdkExecutionSettlementRegistry } from '@xenosystem/agent-interface-host/node';
|
|
77
79
|
export declare function createSdkNativeHeadlessRunner(options: CreateSdkNativeHeadlessRunnerOptions): SdkNativeAgentRunner;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sdkNativeHeadlessRunner.d.ts","sourceRoot":"","sources":["../src/sdkNativeHeadlessRunner.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAGV,iBAAiB,EACjB,sBAAsB,EACtB,oBAAoB,EACrB,MAAM,uCAAuC,CAAA;AAG9C,OAAO,KAAK,EAAE,gCAAgC,EAAE,MAAM,eAAe,CAAA;
|
|
1
|
+
{"version":3,"file":"sdkNativeHeadlessRunner.d.ts","sourceRoot":"","sources":["../src/sdkNativeHeadlessRunner.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAGV,iBAAiB,EACjB,sBAAsB,EACtB,oBAAoB,EACrB,MAAM,uCAAuC,CAAA;AAG9C,OAAO,KAAK,EAAE,gCAAgC,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAA;AACvF,OAAO,KAAK,EAAE,iCAAiC,EAAE,MAAM,uCAAuC,CAAA;AAE9F;;;;;;;;;;;;;;;;;;;;;;GAsBG;AAEH,MAAM,WAAW,oCAAoC;IACnD,kBAAkB,CAAC,EAAC,8BAA8B,CAAA;IAClD,YAAY,IAAI,MAAM,GAAG,IAAI,CAAA;IAC7B;;;;;;;;OAQG;IACH,gBAAgB,CAAC,EAAE,CAAC,CAAC,MAAM,EAAE;QAAE,MAAM,EAAE,MAAM,CAAC;QAAC,GAAG,EAAE,MAAM,CAAA;KAAE,KAAK,OAAO,CAAC;QAAE,aAAa,EAAE,MAAM,CAAC;QAAC,IAAI,CAAC,EAAE,MAAM,CAAA;KAAE,GAAG,IAAI,CAAC,CAAC,GAAG,SAAS,CAAA;IACtI,oBAAoB,CAAC,IAAI,MAAM,GAAG,IAAI,CAAA;IACtC,iBAAiB,CAAC,EAAE,iBAAiB,CAAA;IACrC,oGAAoG;IACpG,qBAAqB,CAAC,EAAE;QAAE,eAAe,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAE,CAAA;IACpF;;;;;OAKG;IACH,uBAAuB,CAAC,EAAE,CAAC,MAAM,iCAAiC,GAAG,SAAS,CAAC,GAAG,SAAS,CAAA;IAC3F;;;;;;;OAOG;IACH,kBAAkB,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,OAAO,CAAA;IAC9E,4FAA4F;IAC5F,YAAY,CAAC,EAAE,OAAO,CAAA;IACtB,6FAA6F;IAC7F,cAAc,CAAC,CAAC,KAAK,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,GAAG,IAAI,CAAA;IACtD,oBAAoB,CAAC,EAAE,gCAAgC,CAAA;IACvD,uGAAuG;IACvG,gBAAgB,CAAC,EAAE,gBAAgB,CAAA;CACpC;AAED,OAAO,EAA2B,KAAK,8BAA8B,EAAE,MAAM,uCAAuC,CAAA;AAEpH,wBAAgB,6BAA6B,CAC3C,OAAO,EAAE,oCAAoC,GAC5C,oBAAoB,CAwHtB;AAiCD,YAAY,EAAE,sBAAsB,EAAE,CAAA"}
|
|
@@ -99,6 +99,7 @@ export function createSdkNativeHeadlessRunner(options) {
|
|
|
99
99
|
? { workforceAdmission: { admissionId: input.workforceAdmission.admissionId, persistence: options.workforceLeaseSequences?.() } }
|
|
100
100
|
: {}),
|
|
101
101
|
onPersistedRuntimeEvent: context.publishPersistedRuntimeEvent,
|
|
102
|
+
...(context.publishTransientRuntimeEvent ? { onTransientRuntimeEvent: context.publishTransientRuntimeEvent } : {}),
|
|
102
103
|
...(context.coordinationTools ? { coordinationTools: context.coordinationTools } : {}),
|
|
103
104
|
...(context.surfaceTools ? { surfaceTools: context.surfaceTools } : {}),
|
|
104
105
|
...(options.runtimeEventStore ? { runtimeEventStore: options.runtimeEventStore } : {}),
|
|
@@ -110,6 +111,7 @@ export function createSdkNativeHeadlessRunner(options) {
|
|
|
110
111
|
...(options.executionEnvironment
|
|
111
112
|
? { executionEnvironment: options.executionEnvironment }
|
|
112
113
|
: {}),
|
|
114
|
+
...(options.sandboxWorkspace ? { sandboxWorkspace: options.sandboxWorkspace } : {}),
|
|
113
115
|
});
|
|
114
116
|
}
|
|
115
117
|
finally {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sdkNativeHeadlessRunner.js","sourceRoot":"","sources":["../src/sdkNativeHeadlessRunner.ts"],"names":[],"mappings":"AAOA,OAAO,EAAE,0BAA0B,EAAE,MAAM,2BAA2B,CAAA;AACtE,OAAO,EAAE,gBAAgB,EAAE,aAAa,EAAE,0BAA0B,EAAE,sBAAsB,EAAE,WAAW,EAAE,MAAM,eAAe,CAAA;
|
|
1
|
+
{"version":3,"file":"sdkNativeHeadlessRunner.js","sourceRoot":"","sources":["../src/sdkNativeHeadlessRunner.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* A tool call's arguments, as the model streams them, batched for a surface.
|
|
3
|
+
*
|
|
4
|
+
* The SDK reports each fragment of a tool call's argument string as it arrives
|
|
5
|
+
* (`tool.input.delta`). Sent one by one that is hundreds of events a second, and journaled it would
|
|
6
|
+
* dwarf everything else in a run — for detail that is fully re-derivable from the completed call. So
|
|
7
|
+
* fragments are joined per call and handed on at a bounded rate, in order, and never stored.
|
|
8
|
+
*
|
|
9
|
+
* Order is the contract: a consumer rebuilds the argument text by concatenating `delta`s for one
|
|
10
|
+
* `toolCallId`, so a batch is flushed before a fragment for a DIFFERENT call is accepted, and
|
|
11
|
+
* `flush()` is called before anything that ends the call (it starting to run, the turn ending).
|
|
12
|
+
*/
|
|
13
|
+
export interface ToolInputBatch {
|
|
14
|
+
toolCallId: string;
|
|
15
|
+
toolName: string;
|
|
16
|
+
delta: string;
|
|
17
|
+
}
|
|
18
|
+
export interface ToolInputStream {
|
|
19
|
+
push(event: Record<string, unknown>): void;
|
|
20
|
+
flush(): void;
|
|
21
|
+
}
|
|
22
|
+
export declare function createToolInputStream(emit: (batch: ToolInputBatch) => void, options?: {
|
|
23
|
+
intervalMs?: number;
|
|
24
|
+
maxBatchChars?: number;
|
|
25
|
+
}): ToolInputStream;
|
|
26
|
+
//# sourceMappingURL=toolInputStream.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"toolInputStream.d.ts","sourceRoot":"","sources":["../src/toolInputStream.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AACH,MAAM,WAAW,cAAc;IAC7B,UAAU,EAAE,MAAM,CAAA;IAClB,QAAQ,EAAE,MAAM,CAAA;IAChB,KAAK,EAAE,MAAM,CAAA;CACd;AAED,MAAM,WAAW,eAAe;IAC9B,IAAI,CAAC,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,CAAA;IAC1C,KAAK,IAAI,IAAI,CAAA;CACd;AAED,wBAAgB,qBAAqB,CACnC,IAAI,EAAE,CAAC,KAAK,EAAE,cAAc,KAAK,IAAI,EACrC,OAAO,GAAE;IAAE,UAAU,CAAC,EAAE,MAAM,CAAC;IAAC,aAAa,CAAC,EAAE,MAAM,CAAA;CAAO,GAC5D,eAAe,CAoCjB"}
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
export function createToolInputStream(emit, options = {}) {
|
|
2
|
+
const intervalMs = options.intervalMs ?? 120;
|
|
3
|
+
const maxBatchChars = options.maxBatchChars ?? 16_384;
|
|
4
|
+
let pending = null;
|
|
5
|
+
let timer = null;
|
|
6
|
+
/** A call's name arrives with its first fragment; later fragments may omit it. */
|
|
7
|
+
const names = new Map();
|
|
8
|
+
const flush = () => {
|
|
9
|
+
if (timer) {
|
|
10
|
+
clearTimeout(timer);
|
|
11
|
+
timer = null;
|
|
12
|
+
}
|
|
13
|
+
if (!pending)
|
|
14
|
+
return;
|
|
15
|
+
const batch = pending;
|
|
16
|
+
pending = null;
|
|
17
|
+
if (batch.delta)
|
|
18
|
+
emit(batch);
|
|
19
|
+
};
|
|
20
|
+
return {
|
|
21
|
+
push(event) {
|
|
22
|
+
const toolCallId = typeof event.toolCallId === 'string' ? event.toolCallId : '';
|
|
23
|
+
const delta = typeof event.delta === 'string' ? event.delta : '';
|
|
24
|
+
if (!toolCallId || !delta)
|
|
25
|
+
return;
|
|
26
|
+
if (typeof event.toolName === 'string' && event.toolName)
|
|
27
|
+
names.set(toolCallId, event.toolName);
|
|
28
|
+
const toolName = names.get(toolCallId) ?? '';
|
|
29
|
+
// Without a name a consumer cannot tell what is being written; hold nothing back, drop it.
|
|
30
|
+
if (!toolName)
|
|
31
|
+
return;
|
|
32
|
+
if (pending && pending.toolCallId !== toolCallId)
|
|
33
|
+
flush();
|
|
34
|
+
if (!pending)
|
|
35
|
+
pending = { toolCallId, toolName, delta: '' };
|
|
36
|
+
pending.delta += delta;
|
|
37
|
+
if (pending.delta.length >= maxBatchChars) {
|
|
38
|
+
flush();
|
|
39
|
+
return;
|
|
40
|
+
}
|
|
41
|
+
if (!timer) {
|
|
42
|
+
timer = setTimeout(() => { timer = null; flush(); }, intervalMs);
|
|
43
|
+
timer.unref?.();
|
|
44
|
+
}
|
|
45
|
+
},
|
|
46
|
+
flush,
|
|
47
|
+
};
|
|
48
|
+
}
|
|
49
|
+
//# sourceMappingURL=toolInputStream.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"toolInputStream.js","sourceRoot":"","sources":["../src/toolInputStream.ts"],"names":[],"mappings":"AAuBA,MAAM,UAAU,qBAAqB,CACnC,IAAqC,EACrC,UAA2D,EAAE;IAE7D,MAAM,UAAU,GAAG,OAAO,CAAC,UAAU,IAAI,GAAG,CAAA;IAC5C,MAAM,aAAa,GAAG,OAAO,CAAC,aAAa,IAAI,MAAM,CAAA;IACrD,IAAI,OAAO,GAA0B,IAAI,CAAA;IACzC,IAAI,KAAK,GAAyC,IAAI,CAAA;IACtD,kFAAkF;IAClF,MAAM,KAAK,GAAG,IAAI,GAAG,EAAkB,CAAA;IAEvC,MAAM,KAAK,GAAG,GAAS,EAAE;QACvB,IAAI,KAAK,EAAE,CAAC;YAAC,YAAY,CAAC,KAAK,CAAC,CAAC;YAAC,KAAK,GAAG,IAAI,CAAA;QAAC,CAAC;QAChD,IAAI,CAAC,OAAO;YAAE,OAAM;QACpB,MAAM,KAAK,GAAG,OAAO,CAAA;QACrB,OAAO,GAAG,IAAI,CAAA;QACd,IAAI,KAAK,CAAC,KAAK;YAAE,IAAI,CAAC,KAAK,CAAC,CAAA;IAC9B,CAAC,CAAA;IAED,OAAO;QACL,IAAI,CAAC,KAAK;YACR,MAAM,UAAU,GAAG,OAAO,KAAK,CAAC,UAAU,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,CAAA;YAC/E,MAAM,KAAK,GAAG,OAAO,KAAK,CAAC,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAA;YAChE,IAAI,CAAC,UAAU,IAAI,CAAC,KAAK;gBAAE,OAAM;YACjC,IAAI,OAAO,KAAK,CAAC,QAAQ,KAAK,QAAQ,IAAI,KAAK,CAAC,QAAQ;gBAAE,KAAK,CAAC,GAAG,CAAC,UAAU,EAAE,KAAK,CAAC,QAAQ,CAAC,CAAA;YAC/F,MAAM,QAAQ,GAAG,KAAK,CAAC,GAAG,CAAC,UAAU,CAAC,IAAI,EAAE,CAAA;YAC5C,2FAA2F;YAC3F,IAAI,CAAC,QAAQ;gBAAE,OAAM;YACrB,IAAI,OAAO,IAAI,OAAO,CAAC,UAAU,KAAK,UAAU;gBAAE,KAAK,EAAE,CAAA;YACzD,IAAI,CAAC,OAAO;gBAAE,OAAO,GAAG,EAAE,UAAU,EAAE,QAAQ,EAAE,KAAK,EAAE,EAAE,EAAE,CAAA;YAC3D,OAAO,CAAC,KAAK,IAAI,KAAK,CAAA;YACtB,IAAI,OAAO,CAAC,KAAK,CAAC,MAAM,IAAI,aAAa,EAAE,CAAC;gBAAC,KAAK,EAAE,CAAC;gBAAC,OAAM;YAAC,CAAC;YAC9D,IAAI,CAAC,KAAK,EAAE,CAAC;gBACX,KAAK,GAAG,UAAU,CAAC,GAAG,EAAE,GAAG,KAAK,GAAG,IAAI,CAAC,CAAC,KAAK,EAAE,CAAA,CAAC,CAAC,EAAE,UAAU,CAAC,CAC9D;gBAAC,KAAgC,CAAC,KAAK,EAAE,EAAE,CAAA;YAC9C,CAAC;QACH,CAAC;QACD,KAAK;KACN,CAAA;AACH,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@xenosystem/agent-interface-electron-host",
|
|
3
|
-
"version": "0.1.
|
|
3
|
+
"version": "0.1.106",
|
|
4
4
|
"license": "UNLICENSED",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "./dist/index.js",
|
|
@@ -27,9 +27,9 @@
|
|
|
27
27
|
"directory": "packages/electron-host"
|
|
28
28
|
},
|
|
29
29
|
"dependencies": {
|
|
30
|
-
"@xenosystem/agent-sdk": "0.10.
|
|
31
|
-
"@xenosystem/web-context-client": "0.1.
|
|
32
|
-
"@xenosystem/agent-interface-host": "0.1.
|
|
30
|
+
"@xenosystem/agent-sdk": "0.10.47",
|
|
31
|
+
"@xenosystem/web-context-client": "0.1.5",
|
|
32
|
+
"@xenosystem/agent-interface-host": "0.1.106"
|
|
33
33
|
},
|
|
34
34
|
"devDependencies": {
|
|
35
35
|
"@xenosystem/capability-host": "0.1.0"
|
|
@@ -38,6 +38,5 @@
|
|
|
38
38
|
"electron": ">=35"
|
|
39
39
|
},
|
|
40
40
|
"//electron-peer": "MEASURED, not reasoned. `@xenosystem/agent-sdk` imports `node:sqlite`, a Node 22.5+ builtin, at module load. Electron 34.5.8 is Node 20.19.1 and does NOT have it — verified by launching xeno-canvas against it, which died with ERR_UNKNOWN_BUILTIN_MODULE at load. Electron 35 is the first line on Node 22, so that is the floor. Only Electron 44 (apps/desktop) is actually exercised; 35-43 satisfy the builtin requirement but are untested here. History worth keeping: this was \">=44\" (over-declared, mirroring apps/desktop), briefly \">=28\" (reasoned from ESM-in-main support and WRONG in the dangerous direction — an under-declared peer installs cleanly and dies at launch, while an over-declared one refuses at install with a clear message).",
|
|
41
|
-
"scripts": {}
|
|
42
|
-
"gitHead": "03018091c74a8ce243420a4b0a8b583ec79f8db6"
|
|
41
|
+
"scripts": {}
|
|
43
42
|
}
|