@ai-ecoverse/slicc-agent 2.2.0 → 2.4.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +34 -2
- package/dist/agent-worker.js +6 -0
- package/dist/agent-worker.js.map +7 -0
- package/dist/client.js +4 -1
- package/dist/client.js.map +2 -2
- package/dist/credentials.js +100 -0
- package/dist/credentials.js.map +7 -0
- package/dist/host.js +15 -3
- package/dist/host.js.map +2 -2
- package/dist/index.js +30 -1
- package/dist/index.js.map +2 -2
- package/dist/listener.js +73 -0
- package/dist/listener.js.map +7 -0
- package/dist/main.js +46 -0
- package/dist/main.js.map +7 -0
- package/dist/net.js +39 -0
- package/dist/net.js.map +7 -0
- package/dist/patches.js +24 -0
- package/dist/patches.js.map +7 -0
- package/dist/prompt.js +18 -0
- package/dist/prompt.js.map +7 -0
- package/dist/settings.js +77 -0
- package/dist/settings.js.map +7 -0
- package/dist/spectrum/index.js +10 -2
- package/dist/spectrum/index.js.map +3 -3
- package/dist/spectrum/settings-port.js +73 -0
- package/dist/spectrum/settings-port.js.map +7 -0
- package/dist/types/agent-worker.d.ts +1 -0
- package/dist/types/client.d.ts +2 -0
- package/dist/types/credentials.d.ts +12 -0
- package/dist/types/host.d.ts +3 -1
- package/dist/types/index.d.ts +8 -1
- package/dist/types/listener.d.ts +11 -0
- package/dist/types/main.d.ts +23 -0
- package/dist/types/net.d.ts +19 -0
- package/dist/types/patches.d.ts +10 -0
- package/dist/types/prompt.d.ts +1 -0
- package/dist/types/settings.d.ts +37 -0
- package/dist/types/spectrum/index.d.ts +6 -1
- package/dist/types/spectrum/settings-port.d.ts +17 -0
- package/dist/types/wire.d.ts +6 -10
- package/dist/wire.js +1 -67
- package/dist/wire.js.map +2 -2
- package/package.json +9 -3
package/dist/wire.js.map
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../src/wire.ts"],
|
|
4
|
-
"sourcesContent": ["import type { ByteTransportFactory, ByteTransportHandlers } from '@earendil-works/pi-client';\
|
|
5
|
-
"mappings": "
|
|
4
|
+
"sourcesContent": ["import type { ByteTransportFactory, ByteTransportHandlers } from '@earendil-works/pi-client';\n\nexport interface PortEndpoint {\n postMessage(message: unknown, transfer?: Transferable[]): void;\n addEventListener(type: 'message', listener: (event: MessageEvent) => void): void;\n addEventListener(\n type: 'close' | 'messageerror' | 'error',\n listener: (event: Event) => void\n ): void;\n start?(): void;\n close?(): void;\n}\n\nexport type Frame = { hello: string } | { close: true } | Uint8Array;\n\nexport function post(endpoint: PortEndpoint, chunk: Uint8Array): void {\n const copy = chunk.slice();\n endpoint.postMessage(copy, [copy.buffer]);\n}\n\nfunction unrefable(id: number): object {\n return {\n unref() {\n return this;\n },\n ref() {\n return this;\n },\n [Symbol.toPrimitive]: () => id,\n };\n}\n\nexport function withUnrefTimers<T>(\n run: () => T,\n scope: { setTimeout: typeof setTimeout } = globalThis\n): T {\n const original = scope.setTimeout;\n scope.setTimeout = ((...args: Parameters<typeof setTimeout>) => {\n const id: unknown = original(...args);\n return typeof id === 'number' ? unrefable(id) : id;\n }) as typeof setTimeout;\n try {\n return run();\n } finally {\n scope.setTimeout = original;\n }\n}\n\nexport class PortChannel {\n readonly hello: Promise<string>;\n readonly #endpoint: PortEndpoint;\n readonly #queue: Uint8Array[] = [];\n #handlers: ByteTransportHandlers | undefined;\n #ended: 'close' | Error | undefined;\n #greet!: (serverId: string) => void;\n #refuse!: (error: Error) => void;\n\n constructor(endpoint: PortEndpoint) {\n this.#endpoint = endpoint;\n this.hello = new Promise((greet, refuse) => {\n this.#greet = greet;\n this.#refuse = refuse;\n });\n endpoint.addEventListener('message', ({ data }) => this.#receive(data as Frame));\n endpoint.addEventListener('messageerror', (event) =>\n this.#end(new Error(`agent port ${event.type}`))\n );\n endpoint.addEventListener('error', (event) => this.#end(new Error(`agent port ${event.type}`)));\n endpoint.addEventListener('close', () => this.#end('close'));\n endpoint.start?.();\n }\n\n readonly transport: ByteTransportFactory = (handlers) => {\n this.#handlers = handlers;\n for (const chunk of this.#queue.splice(0)) handlers.onData(chunk);\n if (this.#ended) this.#deliver(this.#ended);\n return {\n send: async (chunk) => {\n if (this.#ended) throw new Error('agent port is closed');\n post(this.#endpoint, chunk);\n },\n close: () => {\n if (this.#ended) return;\n this.#ended = 'close';\n this.#refuse(new Error('agent port closed before hello'));\n this.#endpoint.postMessage({ close: true } satisfies Frame);\n this.#endpoint.close?.();\n },\n };\n };\n\n #receive(frame: Frame): void {\n if (frame instanceof Uint8Array) {\n if (this.#handlers) this.#handlers.onData(frame);\n else this.#queue.push(frame);\n } else if ('hello' in frame) {\n this.#greet(frame.hello);\n } else {\n this.#end('close');\n }\n }\n\n #end(reason: 'close' | Error): void {\n if (this.#ended) return;\n this.#ended = reason;\n this.#refuse(reason === 'close' ? new Error('agent port closed before hello') : reason);\n this.#deliver(reason);\n }\n\n #deliver(reason: 'close' | Error): void {\n const handlers = this.#handlers;\n if (!handlers) return;\n this.#handlers = undefined;\n if (reason === 'close') handlers.onClose();\n else handlers.onError(reason);\n }\n}\n"],
|
|
5
|
+
"mappings": "AAeO,SAAS,KAAK,UAAwB,OAAyB;AACpE,QAAM,OAAO,MAAM,MAAM;AACzB,WAAS,YAAY,MAAM,CAAC,KAAK,MAAM,CAAC;AAC1C;AAEA,SAAS,UAAU,IAAoB;AACrC,SAAO;AAAA,IACL,QAAQ;AACN,aAAO;AAAA,IACT;AAAA,IACA,MAAM;AACJ,aAAO;AAAA,IACT;AAAA,IACA,CAAC,OAAO,WAAW,GAAG,MAAM;AAAA,EAC9B;AACF;AAEO,SAAS,gBACd,KACA,QAA2C,YACxC;AACH,QAAM,WAAW,MAAM;AACvB,QAAM,cAAc,IAAI,SAAwC;AAC9D,UAAM,KAAc,SAAS,GAAG,IAAI;AACpC,WAAO,OAAO,OAAO,WAAW,UAAU,EAAE,IAAI;AAAA,EAClD;AACA,MAAI;AACF,WAAO,IAAI;AAAA,EACb,UAAE;AACA,UAAM,aAAa;AAAA,EACrB;AACF;AAEO,MAAM,YAAY;AAAA,EACd;AAAA,EACA;AAAA,EACA,SAAuB,CAAC;AAAA,EACjC;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EAEA,YAAY,UAAwB;AAClC,SAAK,YAAY;AACjB,SAAK,QAAQ,IAAI,QAAQ,CAAC,OAAO,WAAW;AAC1C,WAAK,SAAS;AACd,WAAK,UAAU;AAAA,IACjB,CAAC;AACD,aAAS,iBAAiB,WAAW,CAAC,EAAE,KAAK,MAAM,KAAK,SAAS,IAAa,CAAC;AAC/E,aAAS;AAAA,MAAiB;AAAA,MAAgB,CAAC,UACzC,KAAK,KAAK,IAAI,MAAM,cAAc,MAAM,IAAI,EAAE,CAAC;AAAA,IACjD;AACA,aAAS,iBAAiB,SAAS,CAAC,UAAU,KAAK,KAAK,IAAI,MAAM,cAAc,MAAM,IAAI,EAAE,CAAC,CAAC;AAC9F,aAAS,iBAAiB,SAAS,MAAM,KAAK,KAAK,OAAO,CAAC;AAC3D,aAAS,QAAQ;AAAA,EACnB;AAAA,EAES,YAAkC,CAAC,aAAa;AACvD,SAAK,YAAY;AACjB,eAAW,SAAS,KAAK,OAAO,OAAO,CAAC,EAAG,UAAS,OAAO,KAAK;AAChE,QAAI,KAAK,OAAQ,MAAK,SAAS,KAAK,MAAM;AAC1C,WAAO;AAAA,MACL,MAAM,OAAO,UAAU;AACrB,YAAI,KAAK,OAAQ,OAAM,IAAI,MAAM,sBAAsB;AACvD,aAAK,KAAK,WAAW,KAAK;AAAA,MAC5B;AAAA,MACA,OAAO,MAAM;AACX,YAAI,KAAK,OAAQ;AACjB,aAAK,SAAS;AACd,aAAK,QAAQ,IAAI,MAAM,gCAAgC,CAAC;AACxD,aAAK,UAAU,YAAY,EAAE,OAAO,KAAK,CAAiB;AAC1D,aAAK,UAAU,QAAQ;AAAA,MACzB;AAAA,IACF;AAAA,EACF;AAAA,EAEA,SAAS,OAAoB;AAC3B,QAAI,iBAAiB,YAAY;AAC/B,UAAI,KAAK,UAAW,MAAK,UAAU,OAAO,KAAK;AAAA,UAC1C,MAAK,OAAO,KAAK,KAAK;AAAA,IAC7B,WAAW,WAAW,OAAO;AAC3B,WAAK,OAAO,MAAM,KAAK;AAAA,IACzB,OAAO;AACL,WAAK,KAAK,OAAO;AAAA,IACnB;AAAA,EACF;AAAA,EAEA,KAAK,QAA+B;AAClC,QAAI,KAAK,OAAQ;AACjB,SAAK,SAAS;AACd,SAAK,QAAQ,WAAW,UAAU,IAAI,MAAM,gCAAgC,IAAI,MAAM;AACtF,SAAK,SAAS,MAAM;AAAA,EACtB;AAAA,EAEA,SAAS,QAA+B;AACtC,UAAM,WAAW,KAAK;AACtB,QAAI,CAAC,SAAU;AACf,SAAK,YAAY;AACjB,QAAI,WAAW,QAAS,UAAS,QAAQ;AAAA,QACpC,UAAS,QAAQ,MAAM;AAAA,EAC9B;AACF;",
|
|
6
6
|
"names": []
|
|
7
7
|
}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@ai-ecoverse/slicc-agent",
|
|
3
|
-
"version": "2.
|
|
3
|
+
"version": "2.4.0",
|
|
4
4
|
"description": "SLICC's agent core on pi durable: an agent worker, session storage, remoting and pi extensions",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"license": "Apache-2.0",
|
|
@@ -29,6 +29,10 @@
|
|
|
29
29
|
"./spectrum": {
|
|
30
30
|
"types": "./dist/types/spectrum/index.d.ts",
|
|
31
31
|
"default": "./dist/spectrum/index.js"
|
|
32
|
+
},
|
|
33
|
+
"./agent-worker": {
|
|
34
|
+
"types": "./dist/types/agent-worker.d.ts",
|
|
35
|
+
"default": "./dist/agent-worker.js"
|
|
32
36
|
}
|
|
33
37
|
},
|
|
34
38
|
"files": [
|
|
@@ -43,14 +47,14 @@
|
|
|
43
47
|
"test": "node --test --test-timeout=120000 --test-global-setup=node_modules/@ai-ecoverse/slicc-shared-web/harness/global.mjs 'test/integration/*.test.mjs'",
|
|
44
48
|
"test:unit": "NODE_NO_WARNINGS=1 mcr -c node_modules/@ai-ecoverse/slicc-shared-web/mcr.config.mjs node --test 'test/unit/**/*.test.mjs'",
|
|
45
49
|
"typecheck": "tsc",
|
|
46
|
-
"lint": "slicc-lint",
|
|
50
|
+
"lint": "slicc-lint && npm run lint:patches",
|
|
51
|
+
"lint:patches": "node scripts/check-patches.mjs",
|
|
47
52
|
"format": "biome check --write .",
|
|
48
53
|
"trust": "npx fledgling sync -y --skip-publish",
|
|
49
54
|
"trust:dry": "npx fledgling sync --dry-run -y --skip-publish",
|
|
50
55
|
"release": "semantic-release"
|
|
51
56
|
},
|
|
52
57
|
"devDependencies": {
|
|
53
|
-
"@ai-ecoverse/slicc-kernel": "1.9.0",
|
|
54
58
|
"@ai-ecoverse/slicc-shared-web": "1.5.0",
|
|
55
59
|
"@ai-ecoverse/slicc-spectrum": "1.7.0",
|
|
56
60
|
"@ai-ecoverse/wasm-bash": "5.3.0-7",
|
|
@@ -58,6 +62,7 @@
|
|
|
58
62
|
"@biomejs/biome": "2.5.15",
|
|
59
63
|
"@types/node": "24.19.1",
|
|
60
64
|
"esbuild": "0.28.2",
|
|
65
|
+
"fake-indexeddb": "6.2.5",
|
|
61
66
|
"lefthook": "2.1.16",
|
|
62
67
|
"monocart-coverage-reports": "2.13.0",
|
|
63
68
|
"playwright-core": "1.63.0",
|
|
@@ -65,6 +70,7 @@
|
|
|
65
70
|
"typescript": "7.0.2"
|
|
66
71
|
},
|
|
67
72
|
"dependencies": {
|
|
73
|
+
"@ai-ecoverse/slicc-kernel": "1.9.0",
|
|
68
74
|
"@earendil-works/chord": "1.0.4",
|
|
69
75
|
"@earendil-works/pi-ai": "1.0.4",
|
|
70
76
|
"@earendil-works/pi-client": "1.0.4",
|