@ai-ecoverse/slicc-agent 5.2.0 → 5.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.
Files changed (78) hide show
  1. package/README.md +18 -5
  2. package/dist/agent.js +6 -1
  3. package/dist/agent.js.map +2 -2
  4. package/dist/client.js +7 -13
  5. package/dist/client.js.map +2 -2
  6. package/dist/control.js +10 -4
  7. package/dist/control.js.map +2 -2
  8. package/dist/guests/attribution.js +22 -0
  9. package/dist/guests/attribution.js.map +7 -0
  10. package/dist/guests/client.js +138 -0
  11. package/dist/guests/client.js.map +7 -0
  12. package/dist/guests/guard.js +38 -0
  13. package/dist/guests/guard.js.map +7 -0
  14. package/dist/guests/index.js +282 -0
  15. package/dist/guests/index.js.map +7 -0
  16. package/dist/guests/seats.js +49 -0
  17. package/dist/guests/seats.js.map +7 -0
  18. package/dist/guests/serve.js +72 -0
  19. package/dist/guests/serve.js.map +7 -0
  20. package/dist/guests/view.js +40 -0
  21. package/dist/guests/view.js.map +7 -0
  22. package/dist/host.js +91 -3
  23. package/dist/host.js.map +2 -2
  24. package/dist/index.js +9 -2
  25. package/dist/index.js.map +2 -2
  26. package/dist/owner.js +2 -1
  27. package/dist/owner.js.map +2 -2
  28. package/dist/page.js +8 -0
  29. package/dist/page.js.map +2 -2
  30. package/dist/secrets/extension.js +4 -1
  31. package/dist/secrets/extension.js.map +2 -2
  32. package/dist/services.js +12 -0
  33. package/dist/services.js.map +2 -2
  34. package/dist/serving.js +7 -0
  35. package/dist/serving.js.map +2 -2
  36. package/dist/spectrum/agent-port.js +14 -6
  37. package/dist/spectrum/agent-port.js.map +2 -2
  38. package/dist/spectrum/approvals-port.js +1 -1
  39. package/dist/spectrum/approvals-port.js.map +2 -2
  40. package/dist/spectrum/guest-port.js +56 -0
  41. package/dist/spectrum/guest-port.js.map +7 -0
  42. package/dist/spectrum/index.js +20 -5
  43. package/dist/spectrum/index.js.map +3 -3
  44. package/dist/spectrum/messages.js +30 -8
  45. package/dist/spectrum/messages.js.map +2 -2
  46. package/dist/spectrum/notices-port.js +2 -17
  47. package/dist/spectrum/notices-port.js.map +2 -2
  48. package/dist/spectrum/proposals.js +56 -0
  49. package/dist/spectrum/proposals.js.map +7 -0
  50. package/dist/types/client.d.ts +7 -2
  51. package/dist/types/control.d.ts +2 -1
  52. package/dist/types/guests/attribution.d.ts +9 -0
  53. package/dist/types/guests/client.d.ts +12 -0
  54. package/dist/types/guests/guard.d.ts +5 -0
  55. package/dist/types/guests/index.d.ts +54 -0
  56. package/dist/types/guests/seats.d.ts +39 -0
  57. package/dist/types/guests/serve.d.ts +17 -0
  58. package/dist/types/guests/view.d.ts +3 -0
  59. package/dist/types/host.d.ts +19 -2
  60. package/dist/types/index.d.ts +4 -1
  61. package/dist/types/owner.d.ts +4 -0
  62. package/dist/types/page.d.ts +1 -0
  63. package/dist/types/services.d.ts +34 -2
  64. package/dist/types/serving.d.ts +8 -1
  65. package/dist/types/spectrum/agent-port.d.ts +0 -2
  66. package/dist/types/spectrum/guest-port.d.ts +26 -0
  67. package/dist/types/spectrum/index.d.ts +14 -1
  68. package/dist/types/spectrum/notices-port.d.ts +1 -3
  69. package/dist/types/spectrum/proposals.d.ts +8 -0
  70. package/dist/types/wire.d.ts +0 -7
  71. package/dist/wire.js +2 -12
  72. package/dist/wire.js.map +2 -2
  73. package/dist/worker.js +2 -1
  74. package/dist/worker.js.map +2 -2
  75. package/package.json +5 -6
  76. package/dist/mismatch.js +0 -41
  77. package/dist/mismatch.js.map +0 -7
  78. package/dist/types/mismatch.d.ts +0 -3
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../src/worker.ts"],
4
- "sourcesContent": ["import type { AgentHost } from './host.ts';\nimport type { PortEndpoint } from './wire.ts';\n\nexport interface WorkerScope {\n addEventListener(type: 'message', listener: (event: MessageEvent) => void): void;\n}\n\nexport function serveConnections(scope: WorkerScope, host: Promise<AgentHost>): void {\n scope.addEventListener('message', ({ data }) => {\n const message = data as { connect?: PortEndpoint; readOnly?: boolean; pages?: boolean } | null;\n const port = message?.connect;\n if (!port) return;\n const pages = message?.pages === false ? { pages: false } : {};\n host.then(\n (ready) => ready.connect(port, { readOnly: message?.readOnly === true, ...pages }),\n () => port.close?.()\n );\n });\n}\n\nexport interface KernelPorts {\n kernel: MessagePort;\n admin?: MessagePort;\n}\n\nexport function kernelPorts(scope: WorkerScope): Promise<KernelPorts> {\n return new Promise((resolve) => {\n scope.addEventListener('message', ({ data }) => {\n const message = data as { kernel?: MessagePort; admin?: MessagePort } | null;\n const kernel = message?.kernel;\n if (!kernel) return;\n resolve(message.admin ? { kernel, admin: message.admin } : { kernel });\n });\n });\n}\n\nexport function kernelPort(scope: WorkerScope): Promise<MessagePort> {\n return kernelPorts(scope).then((ports) => ports.kernel);\n}\n"],
5
- "mappings": "AAOO,SAAS,iBAAiB,OAAoB,MAAgC;AACnF,QAAM,iBAAiB,WAAW,CAAC,EAAE,KAAK,MAAM;AAC9C,UAAM,UAAU;AAChB,UAAM,OAAO,SAAS;AACtB,QAAI,CAAC,KAAM;AACX,UAAM,QAAQ,SAAS,UAAU,QAAQ,EAAE,OAAO,MAAM,IAAI,CAAC;AAC7D,SAAK;AAAA,MACH,CAAC,UAAU,MAAM,QAAQ,MAAM,EAAE,UAAU,SAAS,aAAa,MAAM,GAAG,MAAM,CAAC;AAAA,MACjF,MAAM,KAAK,QAAQ;AAAA,IACrB;AAAA,EACF,CAAC;AACH;AAOO,SAAS,YAAY,OAA0C;AACpE,SAAO,IAAI,QAAQ,CAAC,YAAY;AAC9B,UAAM,iBAAiB,WAAW,CAAC,EAAE,KAAK,MAAM;AAC9C,YAAM,UAAU;AAChB,YAAM,SAAS,SAAS;AACxB,UAAI,CAAC,OAAQ;AACb,cAAQ,QAAQ,QAAQ,EAAE,QAAQ,OAAO,QAAQ,MAAM,IAAI,EAAE,OAAO,CAAC;AAAA,IACvE,CAAC;AAAA,EACH,CAAC;AACH;AAEO,SAAS,WAAW,OAA0C;AACnE,SAAO,YAAY,KAAK,EAAE,KAAK,CAAC,UAAU,MAAM,MAAM;AACxD;",
4
+ "sourcesContent": ["import type { AgentHost } from './host.ts';\nimport type { PortEndpoint } from './wire.ts';\n\nexport interface WorkerScope {\n addEventListener(type: 'message', listener: (event: MessageEvent) => void): void;\n}\n\nexport function serveConnections(scope: WorkerScope, host: Promise<AgentHost>): void {\n scope.addEventListener('message', ({ data }) => {\n const message = data as {\n connect?: PortEndpoint;\n readOnly?: boolean;\n pages?: boolean;\n guest?: { id: string; label: string };\n } | null;\n const port = message?.connect;\n if (!port) return;\n const pages = message?.pages === false ? { pages: false } : {};\n const guest = message?.guest ? { guest: message.guest } : {};\n host.then(\n (ready) => ready.connect(port, { readOnly: message?.readOnly === true, ...pages, ...guest }),\n () => port.close?.()\n );\n });\n}\n\nexport interface KernelPorts {\n kernel: MessagePort;\n admin?: MessagePort;\n}\n\nexport function kernelPorts(scope: WorkerScope): Promise<KernelPorts> {\n return new Promise((resolve) => {\n scope.addEventListener('message', ({ data }) => {\n const message = data as { kernel?: MessagePort; admin?: MessagePort } | null;\n const kernel = message?.kernel;\n if (!kernel) return;\n resolve(message.admin ? { kernel, admin: message.admin } : { kernel });\n });\n });\n}\n\nexport function kernelPort(scope: WorkerScope): Promise<MessagePort> {\n return kernelPorts(scope).then((ports) => ports.kernel);\n}\n"],
5
+ "mappings": "AAOO,SAAS,iBAAiB,OAAoB,MAAgC;AACnF,QAAM,iBAAiB,WAAW,CAAC,EAAE,KAAK,MAAM;AAC9C,UAAM,UAAU;AAMhB,UAAM,OAAO,SAAS;AACtB,QAAI,CAAC,KAAM;AACX,UAAM,QAAQ,SAAS,UAAU,QAAQ,EAAE,OAAO,MAAM,IAAI,CAAC;AAC7D,UAAM,QAAQ,SAAS,QAAQ,EAAE,OAAO,QAAQ,MAAM,IAAI,CAAC;AAC3D,SAAK;AAAA,MACH,CAAC,UAAU,MAAM,QAAQ,MAAM,EAAE,UAAU,SAAS,aAAa,MAAM,GAAG,OAAO,GAAG,MAAM,CAAC;AAAA,MAC3F,MAAM,KAAK,QAAQ;AAAA,IACrB;AAAA,EACF,CAAC;AACH;AAOO,SAAS,YAAY,OAA0C;AACpE,SAAO,IAAI,QAAQ,CAAC,YAAY;AAC9B,UAAM,iBAAiB,WAAW,CAAC,EAAE,KAAK,MAAM;AAC9C,YAAM,UAAU;AAChB,YAAM,SAAS,SAAS;AACxB,UAAI,CAAC,OAAQ;AACb,cAAQ,QAAQ,QAAQ,EAAE,QAAQ,OAAO,QAAQ,MAAM,IAAI,EAAE,OAAO,CAAC;AAAA,IACvE,CAAC;AAAA,EACH,CAAC;AACH;AAEO,SAAS,WAAW,OAA0C;AACnE,SAAO,YAAY,KAAK,EAAE,KAAK,CAAC,UAAU,MAAM,MAAM;AACxD;",
6
6
  "names": []
7
7
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@ai-ecoverse/slicc-agent",
3
- "version": "5.2.0",
3
+ "version": "5.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",
@@ -62,12 +62,12 @@
62
62
  "release": "semantic-release"
63
63
  },
64
64
  "devDependencies": {
65
- "@ai-ecoverse/slicc-kernel": "1.94.0",
65
+ "@ai-ecoverse/slicc-kernel": "1.100.3",
66
66
  "@ai-ecoverse/slicc-scrub": "1.0.0",
67
67
  "@ai-ecoverse/slicc-shared-web": "1.21.0",
68
- "@ai-ecoverse/slicc-spectrum": "1.79.1",
68
+ "@ai-ecoverse/slicc-spectrum": "1.80.0",
69
69
  "@ai-ecoverse/wasm-bash": "5.3.0-18",
70
- "@ai-ecoverse/wasm-coreutils": "9.12.0-6",
70
+ "@ai-ecoverse/wasm-coreutils": "9.12.0-7",
71
71
  "@ai-ecoverse/wasm-git": "2.55.0-15",
72
72
  "@biomejs/biome": "2.5.15",
73
73
  "@types/node": "24.19.1",
@@ -77,7 +77,6 @@
77
77
  "monocart-coverage-reports": "2.13.2",
78
78
  "playwright-core": "1.64.0",
79
79
  "semantic-release": "25.0.9",
80
- "slicc-agent-4": "npm:@ai-ecoverse/slicc-agent@4.3.5",
81
80
  "typescript": "7.0.2"
82
81
  },
83
82
  "dependencies": {
@@ -93,7 +92,7 @@
93
92
  },
94
93
  "peerDependencies": {
95
94
  "@ai-ecoverse/slicc-kernel": ">=1.90.0 <2",
96
- "@ai-ecoverse/slicc-spectrum": "^1.78.0"
95
+ "@ai-ecoverse/slicc-spectrum": "^1.79.0"
97
96
  },
98
97
  "peerDependenciesMeta": {
99
98
  "@ai-ecoverse/slicc-spectrum": {
package/dist/mismatch.js DELETED
@@ -1,41 +0,0 @@
1
- import { replicatedState } from "@earendil-works/chord";
2
- import { LINK_PROTOCOL } from "./wire.js";
3
- function mismatchNotice(protocol) {
4
- const version = protocol < LINK_PROTOCOL ? "an older" : protocol > LINK_PROTOCOL ? "a newer" : "another";
5
- const update = protocol < LINK_PROTOCOL ? "Update that SLICC" : protocol > LINK_PROTOCOL ? "Update this SLICC" : "Update both SLICCs";
6
- return `That SLICC runs ${version} version of the agent than this one, so this tab can't follow it. ${update}, then reload this page.`;
7
- }
8
- function mismatched(serverId, protocol) {
9
- const notice = mismatchNotice(protocol);
10
- const refuse = () => Promise.reject(Object.assign(new Error(notice), { code: "EPROTO" }));
11
- const control = new Proxy({}, { get: () => refuse });
12
- let ended;
13
- const closed = new Promise((resolve) => {
14
- ended = resolve;
15
- });
16
- return {
17
- serverId,
18
- mismatch: notice,
19
- control,
20
- transcript: replicatedState({ conversation: {}, entries: [], docs: {} }),
21
- deliveries: replicatedState({}),
22
- settings: {
23
- state: replicatedState({ models: [], accounts: [] }),
24
- connect: refuse,
25
- disconnect: refuse,
26
- signIn: refuse,
27
- dismissMoved: refuse
28
- },
29
- closed,
30
- prompt: refuse,
31
- webhook: refuse,
32
- async close() {
33
- ended(void 0);
34
- }
35
- };
36
- }
37
- export {
38
- mismatchNotice,
39
- mismatched
40
- };
41
- //# sourceMappingURL=mismatch.js.map
@@ -1,7 +0,0 @@
1
- {
2
- "version": 3,
3
- "sources": ["../src/mismatch.ts"],
4
- "sourcesContent": ["import { replicatedState } from '@earendil-works/chord';\nimport type { AgentConnection } from './client.ts';\nimport { LINK_PROTOCOL } from './wire.ts';\n\nexport function mismatchNotice(protocol: number): string {\n const version =\n protocol < LINK_PROTOCOL ? 'an older' : protocol > LINK_PROTOCOL ? 'a newer' : 'another';\n const update =\n protocol < LINK_PROTOCOL\n ? 'Update that SLICC'\n : protocol > LINK_PROTOCOL\n ? 'Update this SLICC'\n : 'Update both SLICCs';\n return `That SLICC runs ${version} version of the agent than this one, so this tab can't follow it. ${update}, then reload this page.`;\n}\n\nexport function mismatched(serverId: string, protocol: number): AgentConnection {\n const notice = mismatchNotice(protocol);\n const refuse = () => Promise.reject(Object.assign(new Error(notice), { code: 'EPROTO' }));\n const control = new Proxy({}, { get: () => refuse }) as AgentConnection['control'];\n let ended!: (reason: undefined) => void;\n const closed = new Promise<undefined>((resolve) => {\n ended = resolve;\n });\n return {\n serverId,\n mismatch: notice,\n control,\n transcript: replicatedState({ conversation: {} as never, entries: [], docs: {} }),\n deliveries: replicatedState({}),\n settings: {\n state: replicatedState({ models: [], accounts: [] }),\n connect: refuse,\n disconnect: refuse,\n signIn: refuse,\n dismissMoved: refuse,\n },\n closed,\n prompt: refuse,\n webhook: refuse,\n async close() {\n ended(undefined);\n },\n };\n}\n"],
5
- "mappings": "AAAA,SAAS,uBAAuB;AAEhC,SAAS,qBAAqB;AAEvB,SAAS,eAAe,UAA0B;AACvD,QAAM,UACJ,WAAW,gBAAgB,aAAa,WAAW,gBAAgB,YAAY;AACjF,QAAM,SACJ,WAAW,gBACP,sBACA,WAAW,gBACT,sBACA;AACR,SAAO,mBAAmB,OAAO,qEAAqE,MAAM;AAC9G;AAEO,SAAS,WAAW,UAAkB,UAAmC;AAC9E,QAAM,SAAS,eAAe,QAAQ;AACtC,QAAM,SAAS,MAAM,QAAQ,OAAO,OAAO,OAAO,IAAI,MAAM,MAAM,GAAG,EAAE,MAAM,SAAS,CAAC,CAAC;AACxF,QAAM,UAAU,IAAI,MAAM,CAAC,GAAG,EAAE,KAAK,MAAM,OAAO,CAAC;AACnD,MAAI;AACJ,QAAM,SAAS,IAAI,QAAmB,CAAC,YAAY;AACjD,YAAQ;AAAA,EACV,CAAC;AACD,SAAO;AAAA,IACL;AAAA,IACA,UAAU;AAAA,IACV;AAAA,IACA,YAAY,gBAAgB,EAAE,cAAc,CAAC,GAAY,SAAS,CAAC,GAAG,MAAM,CAAC,EAAE,CAAC;AAAA,IAChF,YAAY,gBAAgB,CAAC,CAAC;AAAA,IAC9B,UAAU;AAAA,MACR,OAAO,gBAAgB,EAAE,QAAQ,CAAC,GAAG,UAAU,CAAC,EAAE,CAAC;AAAA,MACnD,SAAS;AAAA,MACT,YAAY;AAAA,MACZ,QAAQ;AAAA,MACR,cAAc;AAAA,IAChB;AAAA,IACA;AAAA,IACA,QAAQ;AAAA,IACR,SAAS;AAAA,IACT,MAAM,QAAQ;AACZ,YAAM,MAAS;AAAA,IACjB;AAAA,EACF;AACF;",
6
- "names": []
7
- }
@@ -1,3 +0,0 @@
1
- import type { AgentConnection } from './client.ts';
2
- export declare function mismatchNotice(protocol: number): string;
3
- export declare function mismatched(serverId: string, protocol: number): AgentConnection;