@framers/agentos 0.12.21 → 0.12.23

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 (31) hide show
  1. package/README.md +2 -2
  2. package/dist/cognition/emergent/EmergentCapabilityEngine.d.ts +4 -2
  3. package/dist/cognition/emergent/EmergentCapabilityEngine.d.ts.map +1 -1
  4. package/dist/cognition/emergent/EmergentCapabilityEngine.js +20 -1
  5. package/dist/cognition/emergent/EmergentCapabilityEngine.js.map +1 -1
  6. package/dist/cognition/emergent/executor/QuickJSExecutor.d.ts +64 -0
  7. package/dist/cognition/emergent/executor/QuickJSExecutor.d.ts.map +1 -0
  8. package/dist/cognition/emergent/executor/QuickJSExecutor.js +655 -0
  9. package/dist/cognition/emergent/executor/QuickJSExecutor.js.map +1 -0
  10. package/dist/cognition/emergent/executor/guest-prelude.d.ts +22 -0
  11. package/dist/cognition/emergent/executor/guest-prelude.d.ts.map +1 -0
  12. package/dist/cognition/emergent/executor/guest-prelude.js +559 -0
  13. package/dist/cognition/emergent/executor/guest-prelude.js.map +1 -0
  14. package/dist/cognition/emergent/executor/guest-surface.d.ts +34 -0
  15. package/dist/cognition/emergent/executor/guest-surface.d.ts.map +1 -0
  16. package/dist/cognition/emergent/executor/guest-surface.js +218 -0
  17. package/dist/cognition/emergent/executor/guest-surface.js.map +1 -0
  18. package/dist/cognition/emergent/executor/types.d.ts +7 -0
  19. package/dist/cognition/emergent/executor/types.d.ts.map +1 -1
  20. package/dist/cognition/emergent/index.d.ts +1 -0
  21. package/dist/cognition/emergent/index.d.ts.map +1 -1
  22. package/dist/cognition/emergent/index.js +1 -0
  23. package/dist/cognition/emergent/index.js.map +1 -1
  24. package/dist/cognition/emergent/types.d.ts +11 -3
  25. package/dist/cognition/emergent/types.d.ts.map +1 -1
  26. package/dist/cognition/emergent/types.js.map +1 -1
  27. package/dist/io/channels/adapters/PlivoSmsChannelAdapter.d.ts +88 -23
  28. package/dist/io/channels/adapters/PlivoSmsChannelAdapter.d.ts.map +1 -1
  29. package/dist/io/channels/adapters/PlivoSmsChannelAdapter.js +245 -75
  30. package/dist/io/channels/adapters/PlivoSmsChannelAdapter.js.map +1 -1
  31. package/package.json +11 -1
@@ -0,0 +1,218 @@
1
+ /**
2
+ * @fileoverview What crosses into a {@link QuickJSExecutor} guest: host
3
+ * functions that take data and return data (JSON values; bytes travel into
4
+ * the guest as `Uint8Array` and out of it as latin1 strings). The executor
5
+ * installs each as the guest global `__host_<name>`, and the guest prelude
6
+ * (guest-prelude.ts) builds the documented globals over them. Host values
7
+ * never cross.
8
+ *
9
+ * The bindings are built for one call and dropped with it. What they hold on
10
+ * the host is bounded per call: the response bodies of the call's fetches
11
+ * together by the call's memory budget, open hashes by
12
+ * {@link MAX_OPEN_DIGESTS}, built `Intl` services by {@link MAX_INTL_SERVICES}.
13
+ *
14
+ * @module @framers/agentos/emergent/executor/guest-surface
15
+ */
16
+ /** Hashes and HMACs a call may hold open (created and not yet digested) at once. */
17
+ export const MAX_OPEN_DIGESTS = 64;
18
+ /** `Intl` services the host keeps built for one call; the oldest is dropped past it. */
19
+ export const MAX_INTL_SERVICES = 64;
20
+ const MIB = 1048576;
21
+ /** The methods the guest may call on each service; the prelude defines the same list. */
22
+ const INTL_METHODS = {
23
+ DateTimeFormat: ['resolvedOptions', 'format', 'formatToParts', 'formatRange', 'formatRangeToParts'],
24
+ NumberFormat: ['resolvedOptions', 'format', 'formatToParts', 'formatRange', 'formatRangeToParts'],
25
+ Collator: ['resolvedOptions', 'compare'],
26
+ PluralRules: ['resolvedOptions', 'select', 'selectRange'],
27
+ RelativeTimeFormat: ['resolvedOptions', 'format', 'formatToParts'],
28
+ ListFormat: ['resolvedOptions', 'format', 'formatToParts'],
29
+ DisplayNames: ['resolvedOptions', 'of'],
30
+ };
31
+ const DATE_LOCALE_METHODS = ['toLocaleString', 'toLocaleDateString', 'toLocaleTimeString'];
32
+ function orUndefined(value) {
33
+ return value === null ? undefined : value;
34
+ }
35
+ function intlServiceName(name) {
36
+ const kind = String(name);
37
+ if (!Object.prototype.hasOwnProperty.call(INTL_METHODS, kind)) {
38
+ throw new TypeError(`Intl.${kind} is not available`);
39
+ }
40
+ return kind;
41
+ }
42
+ function urlParts(url) {
43
+ return {
44
+ href: url.href,
45
+ origin: url.origin,
46
+ protocol: url.protocol,
47
+ username: url.username,
48
+ password: url.password,
49
+ host: url.host,
50
+ hostname: url.hostname,
51
+ port: url.port,
52
+ pathname: url.pathname,
53
+ search: url.search,
54
+ hash: url.hash,
55
+ };
56
+ }
57
+ /**
58
+ * Reads a response body chunk by chunk against the bytes the call has left;
59
+ * a chunk past them cancels the body and fails the fetch.
60
+ */
61
+ async function readBody(response, budget) {
62
+ const stream = response.body;
63
+ if (!stream) {
64
+ return new Uint8Array(0);
65
+ }
66
+ const reader = stream.getReader();
67
+ const chunks = [];
68
+ let size = 0;
69
+ try {
70
+ for (;;) {
71
+ const { done, value } = await reader.read();
72
+ if (done) {
73
+ break;
74
+ }
75
+ if (value.byteLength > budget.left) {
76
+ throw new RangeError(`fetch: the response bodies of this call passed its limit of ${Math.round(budget.limit / MIB)} MB`);
77
+ }
78
+ budget.left -= value.byteLength;
79
+ chunks.push(value);
80
+ size += value.byteLength;
81
+ }
82
+ }
83
+ catch (error) {
84
+ await reader.cancel().catch(() => undefined);
85
+ throw error;
86
+ }
87
+ const body = new Uint8Array(size);
88
+ let offset = 0;
89
+ for (const chunk of chunks) {
90
+ body.set(chunk, offset);
91
+ offset += chunk.byteLength;
92
+ }
93
+ return body;
94
+ }
95
+ /** The host functions for one call, from the forge's `globals` for that call. */
96
+ export function guestBindings(globals, limits) {
97
+ const services = new Map();
98
+ const intlService = (kind, locales, options) => {
99
+ const key = JSON.stringify([kind, locales, options]);
100
+ let service = services.get(key);
101
+ if (!service) {
102
+ const Constructor = Intl[kind];
103
+ service = new Constructor(orUndefined(locales), orUndefined(options));
104
+ if (services.size >= MAX_INTL_SERVICES) {
105
+ const oldest = services.keys().next();
106
+ if (!oldest.done) {
107
+ services.delete(oldest.value);
108
+ }
109
+ }
110
+ services.set(key, service);
111
+ }
112
+ return service;
113
+ };
114
+ const bindings = {
115
+ utf8_encode: (text) => new TextEncoder().encode(String(text)),
116
+ text_decoder_encoding: (label) => new TextDecoder(String(label)).encoding,
117
+ text_decode: (label, fatal, ignoreBOM, latin1) => new TextDecoder(String(label), { fatal: Boolean(fatal), ignoreBOM: Boolean(ignoreBOM) }).decode(Buffer.from(String(latin1), 'latin1')),
118
+ bytes_to_string: (latin1, encoding) => Buffer.from(String(latin1), 'latin1').toString(String(encoding)),
119
+ url_parse: (input, base) => urlParts(new URL(String(input), base === null || base === undefined ? undefined : String(base))),
120
+ url_set: (href, part, value) => {
121
+ const url = new URL(String(href));
122
+ url[String(part)] = String(value);
123
+ return urlParts(url);
124
+ },
125
+ usp_parse: (text) => {
126
+ const pairs = [];
127
+ new URLSearchParams(String(text)).forEach((value, key) => pairs.push([key, value]));
128
+ return pairs;
129
+ },
130
+ usp_serialize: (pairs) => new URLSearchParams(pairs).toString(),
131
+ atob: (data) => atob(String(data)),
132
+ btoa: (data) => btoa(String(data)),
133
+ intl_call: (name, locales, options, method, a, b) => {
134
+ const kind = intlServiceName(name);
135
+ const methodName = String(method);
136
+ if (!INTL_METHODS[kind].includes(methodName)) {
137
+ throw new TypeError(`Intl.${kind}.prototype.${methodName} is not available`);
138
+ }
139
+ const service = intlService(kind, locales, options);
140
+ return service[methodName].call(service, a, b);
141
+ },
142
+ intl_supported: (name, locales, options) => Intl[intlServiceName(name)].supportedLocalesOf(orUndefined(locales), orUndefined(options)),
143
+ intl_date: (method, time, locales, options) => {
144
+ const methodName = String(method);
145
+ if (!DATE_LOCALE_METHODS.includes(methodName)) {
146
+ throw new TypeError(`Date.prototype.${methodName} is not available`);
147
+ }
148
+ const date = new Date(Number(time));
149
+ return date[methodName](orUndefined(locales), orUndefined(options));
150
+ },
151
+ intl_compare: (a, b, locales, options) => String(a).localeCompare(String(b), orUndefined(locales), orUndefined(options)),
152
+ };
153
+ const fetchFn = globals.fetch;
154
+ if (typeof fetchFn === 'function') {
155
+ const budget = { left: limits.bodyBytes, limit: limits.bodyBytes };
156
+ bindings.fetch = async (input, init) => {
157
+ const options = init === null || init === undefined ? {} : init;
158
+ const response = (await fetchFn(input, limits.signal ? { ...options, signal: limits.signal } : init === null ? undefined : init));
159
+ const body = await readBody(response, budget);
160
+ const headers = [];
161
+ response.headers.forEach((value, key) => headers.push([key, value]));
162
+ return {
163
+ status: response.status,
164
+ statusText: response.statusText,
165
+ ok: response.ok,
166
+ redirected: response.redirected,
167
+ url: response.url,
168
+ type: response.type,
169
+ headers,
170
+ body,
171
+ };
172
+ };
173
+ }
174
+ const fs = globals.fs;
175
+ if (fs && typeof fs.readFile === 'function') {
176
+ const readFile = fs.readFile.bind(fs);
177
+ bindings.fs_readFile = (filePath) => readFile(filePath);
178
+ }
179
+ const crypto = globals.crypto;
180
+ if (crypto && typeof crypto.randomUUID === 'function') {
181
+ const digests = new Map();
182
+ let next = 1;
183
+ bindings.crypto_randomUUID = () => crypto.randomUUID();
184
+ bindings.crypto_start = (kind, algorithm, key) => {
185
+ if (digests.size >= MAX_OPEN_DIGESTS) {
186
+ throw new RangeError(`crypto: ${MAX_OPEN_DIGESTS} hashes are open in this call; call digest() on one before starting another`);
187
+ }
188
+ const k = key;
189
+ const digest = kind === 'hash'
190
+ ? crypto.createHash(String(algorithm))
191
+ : crypto.createHmac(String(algorithm), k?.s !== undefined ? k.s : Buffer.from(k?.b ?? '', 'latin1'));
192
+ const id = next;
193
+ next += 1;
194
+ digests.set(id, digest);
195
+ return id;
196
+ };
197
+ bindings.crypto_update = (id, chunk) => {
198
+ const digest = digests.get(Number(id));
199
+ if (!digest) {
200
+ throw new Error('Digest already called');
201
+ }
202
+ const c = chunk;
203
+ digest.update(c.s !== undefined ? Buffer.from(c.s, (c.enc ?? 'utf8')) : Buffer.from(c.b ?? '', 'latin1'));
204
+ return null;
205
+ };
206
+ bindings.crypto_digest = (id, encoding) => {
207
+ const digest = digests.get(Number(id));
208
+ if (!digest) {
209
+ throw new Error('Digest already called');
210
+ }
211
+ digests.delete(Number(id));
212
+ const out = encoding === null || encoding === undefined ? digest.digest() : digest.digest(String(encoding));
213
+ return typeof out === 'string' ? out : new Uint8Array(out);
214
+ };
215
+ }
216
+ return bindings;
217
+ }
218
+ //# sourceMappingURL=guest-surface.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"guest-surface.js","sourceRoot":"","sources":["../../../../src/cognition/emergent/executor/guest-surface.ts"],"names":[],"mappings":"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"}
@@ -26,6 +26,13 @@ export interface ForgedCodeExecutor {
26
26
  * reports a rejection as an execution error.
27
27
  */
28
28
  run(request: ExecutorRunRequest): Promise<ExecutorRunResult>;
29
+ /**
30
+ * Optional. Resolves once the executor can run code and rejects with the
31
+ * reason when it cannot. The engine awaits it before a forge's test
32
+ * cases, so a forge on an executor that cannot run is refused with that
33
+ * reason before any test or review.
34
+ */
35
+ ready?(): Promise<void>;
29
36
  }
30
37
  /** One call of a forged tool, as the forge hands it to an executor. */
31
38
  export interface ExecutorRunRequest {
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../src/cognition/emergent/executor/types.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH;;;;;;;GAOG;AACH,MAAM,WAAW,kBAAkB;IACjC,+DAA+D;IAC/D,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,oFAAoF;IACpF,QAAQ,CAAC,QAAQ,EAAE,OAAO,CAAC;IAC3B;;;OAGG;IACH,GAAG,CAAC,OAAO,EAAE,kBAAkB,GAAG,OAAO,CAAC,iBAAiB,CAAC,CAAC;CAC9D;AAED,uEAAuE;AACvE,MAAM,WAAW,kBAAkB;IACjC,yFAAyF;IACzF,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,2DAA2D;IAC3D,QAAQ,CAAC,KAAK,EAAE,OAAO,CAAC;IACxB;;;OAGG;IACH,QAAQ,CAAC,OAAO,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC;IACpD,oDAAoD;IACpD,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,qGAAqG;IACrG,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B;;;;OAIG;IACH,QAAQ,CAAC,MAAM,CAAC,EAAE,WAAW,CAAC;CAC/B;AAED;;;;GAIG;AACH,MAAM,MAAM,iBAAiB,GACzB;IAAE,QAAQ,CAAC,MAAM,EAAE,IAAI,CAAC;IAAC,QAAQ,CAAC,MAAM,EAAE,OAAO,CAAC;IAAC,QAAQ,CAAC,eAAe,EAAE,MAAM,CAAA;CAAE,GACrF;IAAE,QAAQ,CAAC,MAAM,EAAE,OAAO,CAAC;IAAC,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,eAAe,EAAE,MAAM,CAAA;CAAE,GACtF;IAAE,QAAQ,CAAC,MAAM,EAAE,SAAS,CAAC;IAAC,QAAQ,CAAC,eAAe,EAAE,MAAM,CAAA;CAAE,GAChE;IAAE,QAAQ,CAAC,MAAM,EAAE,iBAAiB,CAAC;IAAC,QAAQ,CAAC,eAAe,EAAE,MAAM,CAAA;CAAE,CAAC"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../src/cognition/emergent/executor/types.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH;;;;;;;GAOG;AACH,MAAM,WAAW,kBAAkB;IACjC,+DAA+D;IAC/D,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,oFAAoF;IACpF,QAAQ,CAAC,QAAQ,EAAE,OAAO,CAAC;IAC3B;;;OAGG;IACH,GAAG,CAAC,OAAO,EAAE,kBAAkB,GAAG,OAAO,CAAC,iBAAiB,CAAC,CAAC;IAC7D;;;;;OAKG;IACH,KAAK,CAAC,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;CACzB;AAED,uEAAuE;AACvE,MAAM,WAAW,kBAAkB;IACjC,yFAAyF;IACzF,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,2DAA2D;IAC3D,QAAQ,CAAC,KAAK,EAAE,OAAO,CAAC;IACxB;;;OAGG;IACH,QAAQ,CAAC,OAAO,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC;IACpD,oDAAoD;IACpD,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,qGAAqG;IACrG,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B;;;;OAIG;IACH,QAAQ,CAAC,MAAM,CAAC,EAAE,WAAW,CAAC;CAC/B;AAED;;;;GAIG;AACH,MAAM,MAAM,iBAAiB,GACzB;IAAE,QAAQ,CAAC,MAAM,EAAE,IAAI,CAAC;IAAC,QAAQ,CAAC,MAAM,EAAE,OAAO,CAAC;IAAC,QAAQ,CAAC,eAAe,EAAE,MAAM,CAAA;CAAE,GACrF;IAAE,QAAQ,CAAC,MAAM,EAAE,OAAO,CAAC;IAAC,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,eAAe,EAAE,MAAM,CAAA;CAAE,GACtF;IAAE,QAAQ,CAAC,MAAM,EAAE,SAAS,CAAC;IAAC,QAAQ,CAAC,eAAe,EAAE,MAAM,CAAA;CAAE,GAChE;IAAE,QAAQ,CAAC,MAAM,EAAE,iBAAiB,CAAC;IAAC,QAAQ,CAAC,eAAe,EAAE,MAAM,CAAA;CAAE,CAAC"}
@@ -18,6 +18,7 @@ export type { StepGate, StepGateOptions, Chainability, ChainRefusalCode } from '
18
18
  export { SandboxedToolForge } from './SandboxedToolForge.js';
19
19
  export type { SandboxedToolForgeConfig } from './SandboxedToolForge.js';
20
20
  export { InProcessExecutor } from './executor/InProcessExecutor.js';
21
+ export { QuickJSExecutor, QuickJSUnavailableError, QUICKJS_VERSION } from './executor/QuickJSExecutor.js';
21
22
  export type { ExecutorRunRequest, ExecutorRunResult, ForgedCodeExecutor } from './executor/types.js';
22
23
  export { CAPABILITY_NAMES, CAPABILITY_ALIASES, normalizeAllowlist, toSandboxApis } from './capabilities.js';
23
24
  export { CeilingError, checkRequest, grantedCapabilities, narrowToForge, resolveCeiling, CEILING_DEFAULTS } from './ceiling.js';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/cognition/emergent/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/cognition/emergent/index.ts"],"names":[],"mappings":"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"}
@@ -16,6 +16,7 @@ export { ComposableToolBuilder } from './ComposableToolBuilder.js';
16
16
  export { createStepGate, checkChainable, COMPOSE_NEEDS_GATE_MESSAGE, MAX_COMPOSITION_DEPTH } from './StepGate.js';
17
17
  export { SandboxedToolForge } from './SandboxedToolForge.js';
18
18
  export { InProcessExecutor } from './executor/InProcessExecutor.js';
19
+ export { QuickJSExecutor, QuickJSUnavailableError, QUICKJS_VERSION } from './executor/QuickJSExecutor.js';
19
20
  export { CAPABILITY_NAMES, CAPABILITY_ALIASES, normalizeAllowlist, toSandboxApis } from './capabilities.js';
20
21
  export { CeilingError, checkRequest, grantedCapabilities, narrowToForge, resolveCeiling, CEILING_DEFAULTS } from './ceiling.js';
21
22
  export { parsePersistedSource, inferRequestFromCode, requestFromImplementation, parseStoredRequest, } from './persisted-source.js';
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/cognition/emergent/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH,cAAc,YAAY,CAAC;AAC3B,OAAO,EAA8B,+BAA+B,EAAE,MAAM,4BAA4B,CAAC;AACzG,OAAO,EAAE,qBAAqB,EAAE,MAAM,4BAA4B,CAAC;AACnE,OAAO,EAAE,cAAc,EAAE,cAAc,EAAE,0BAA0B,EAAE,qBAAqB,EAAE,MAAM,eAAe,CAAC;AAElH,OAAO,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAE7D,OAAO,EAAE,iBAAiB,EAAE,MAAM,iCAAiC,CAAC;AAEpE,OAAO,EAAE,gBAAgB,EAAE,kBAAkB,EAAE,kBAAkB,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAC5G,OAAO,EAAE,YAAY,EAAE,YAAY,EAAE,mBAAmB,EAAE,aAAa,EAAE,cAAc,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAC;AAEhI,OAAO,EACL,oBAAoB,EACpB,oBAAoB,EACpB,yBAAyB,EACzB,kBAAkB,GACnB,MAAM,uBAAuB,CAAC;AAE/B,OAAO,EAAE,oBAAoB,EAAE,MAAM,2BAA2B,CAAC;AAKjE,OAAO,EACL,oCAAoC,EACpC,wBAAwB,EACxB,4BAA4B,EAC5B,wBAAwB,EACxB,kCAAkC,GACnC,MAAM,kBAAkB,CAAC;AAQ1B,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAEnD,OAAO,EAAE,wBAAwB,EAAE,MAAM,+BAA+B,CAAC;AASzE,OAAO,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAE3D,OAAO,EACL,iBAAiB,EACjB,mBAAmB,EACnB,cAAc,EACd,qBAAqB,GACtB,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EAAE,oBAAoB,EAAE,MAAM,2BAA2B,CAAC;AACjE,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AACzD,OAAO,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAC7D,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AACzD,OAAO,EAAE,wBAAwB,EAAE,MAAM,+BAA+B,CAAC;AAIzE,qEAAqE;AACrE,wEAAwE;AACxE,mEAAmE;AACnE,eAAe;AACf,OAAO,EACL,sBAAsB,GAEvB,MAAM,+BAA+B,CAAC;AACvC,OAAO,EACL,kBAAkB,GAEnB,MAAM,0BAA0B,CAAC;AAClC,OAAO,EACL,wBAAwB,GAEzB,MAAM,2BAA2B,CAAC;AACnC,OAAO,EACL,aAAa,GAId,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EACL,oBAAoB,EACpB,eAAe,GAEhB,MAAM,2BAA2B,CAAC;AAEnC,oEAAoE;AACpE,0EAA0E;AAC1E,OAAO,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAM7D,OAAO,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/cognition/emergent/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH,cAAc,YAAY,CAAC;AAC3B,OAAO,EAA8B,+BAA+B,EAAE,MAAM,4BAA4B,CAAC;AACzG,OAAO,EAAE,qBAAqB,EAAE,MAAM,4BAA4B,CAAC;AACnE,OAAO,EAAE,cAAc,EAAE,cAAc,EAAE,0BAA0B,EAAE,qBAAqB,EAAE,MAAM,eAAe,CAAC;AAElH,OAAO,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAE7D,OAAO,EAAE,iBAAiB,EAAE,MAAM,iCAAiC,CAAC;AACpE,OAAO,EAAE,eAAe,EAAE,uBAAuB,EAAE,eAAe,EAAE,MAAM,+BAA+B,CAAC;AAE1G,OAAO,EAAE,gBAAgB,EAAE,kBAAkB,EAAE,kBAAkB,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAC5G,OAAO,EAAE,YAAY,EAAE,YAAY,EAAE,mBAAmB,EAAE,aAAa,EAAE,cAAc,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAC;AAEhI,OAAO,EACL,oBAAoB,EACpB,oBAAoB,EACpB,yBAAyB,EACzB,kBAAkB,GACnB,MAAM,uBAAuB,CAAC;AAE/B,OAAO,EAAE,oBAAoB,EAAE,MAAM,2BAA2B,CAAC;AAKjE,OAAO,EACL,oCAAoC,EACpC,wBAAwB,EACxB,4BAA4B,EAC5B,wBAAwB,EACxB,kCAAkC,GACnC,MAAM,kBAAkB,CAAC;AAQ1B,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAEnD,OAAO,EAAE,wBAAwB,EAAE,MAAM,+BAA+B,CAAC;AASzE,OAAO,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAE3D,OAAO,EACL,iBAAiB,EACjB,mBAAmB,EACnB,cAAc,EACd,qBAAqB,GACtB,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EAAE,oBAAoB,EAAE,MAAM,2BAA2B,CAAC;AACjE,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AACzD,OAAO,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAC7D,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AACzD,OAAO,EAAE,wBAAwB,EAAE,MAAM,+BAA+B,CAAC;AAIzE,qEAAqE;AACrE,wEAAwE;AACxE,mEAAmE;AACnE,eAAe;AACf,OAAO,EACL,sBAAsB,GAEvB,MAAM,+BAA+B,CAAC;AACvC,OAAO,EACL,kBAAkB,GAEnB,MAAM,0BAA0B,CAAC;AAClC,OAAO,EACL,wBAAwB,GAEzB,MAAM,2BAA2B,CAAC;AACnC,OAAO,EACL,aAAa,GAId,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EACL,oBAAoB,EACpB,eAAe,GAEhB,MAAM,2BAA2B,CAAC;AAEnC,oEAAoE;AACpE,0EAA0E;AAC1E,OAAO,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAM7D,OAAO,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC"}
@@ -16,6 +16,7 @@
16
16
  */
17
17
  import type { JSONSchemaObject } from '../../core/tools/ITool.js';
18
18
  import type { SelfImprovementConfig } from './SelfImprovementConfig.js';
19
+ import type { ForgedCodeExecutor } from './executor/types.js';
19
20
  /**
20
21
  * Lifecycle scope tier for an emergent tool.
21
22
  *
@@ -740,9 +741,9 @@ export interface EmergentConfig {
740
741
  */
741
742
  persistSandboxSource: boolean;
742
743
  /**
743
- * Nominal memory budget in megabytes for each sandboxed tool execution.
744
- * The current node:vm-backed executor reports heap deltas but does not
745
- * preemptively enforce this limit.
744
+ * Memory budget in megabytes for each sandboxed tool execution. The
745
+ * in-process executor reports a heap delta and does not enforce it;
746
+ * QuickJSExecutor stops the guest at it (never below 16 MiB).
746
747
  * Passed as `SandboxExecutionRequest.memoryMB`.
747
748
  * @default 128
748
749
  */
@@ -808,6 +809,13 @@ export interface EmergentConfig {
808
809
  capabilities?: ForgedCapabilities;
809
810
  /** Effect records under a ceiling. Ignored without one. */
810
811
  audit?: EmergentAuditConfig;
812
+ /**
813
+ * What runs forged code in the forge the engine builds. Absent: the
814
+ * in-process executor (`isolates: false`). A host that passes its own
815
+ * `sandboxForge` brings that forge's executor; passing one beside a
816
+ * different `executor` fails construction with `executor_conflict`.
817
+ */
818
+ executor?: ForgedCodeExecutor;
811
819
  }
812
820
  /**
813
821
  * Default configuration for the Emergent Capability Engine.
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/cognition/emergent/types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/cognition/emergent/types.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/cognition/emergent/types.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AA45BH;;;;;GAKG;AACH,MAAM,CAAC,MAAM,uBAAuB,GAA6B;IAC/D,OAAO,EAAE,KAAK;IACd,eAAe,EAAE,EAAE;IACnB,aAAa,EAAE,EAAE;IACjB,iBAAiB,EAAE,KAAK;IACxB,oBAAoB,EAAE,KAAK;IAC3B,eAAe,EAAE,GAAG;IACpB,gBAAgB,EAAE,IAAI;IACtB,kBAAkB,EAAE;QAClB,IAAI,EAAE,CAAC;QACP,UAAU,EAAE,GAAG;KAChB;IACD,UAAU,EAAE,aAAa;IACzB,mBAAmB,EAAE,QAAQ;CACrB,CAAC;AAEX;;;;;;;;GAQG;AACH,MAAM,CAAC,MAAM,sBAAsB,GAAG,eAAe,CAAC"}
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/cognition/emergent/types.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAq6BH;;;;;GAKG;AACH,MAAM,CAAC,MAAM,uBAAuB,GAA6B;IAC/D,OAAO,EAAE,KAAK;IACd,eAAe,EAAE,EAAE;IACnB,aAAa,EAAE,EAAE;IACjB,iBAAiB,EAAE,KAAK;IACxB,oBAAoB,EAAE,KAAK;IAC3B,eAAe,EAAE,GAAG;IACpB,gBAAgB,EAAE,IAAI;IACtB,kBAAkB,EAAE;QAClB,IAAI,EAAE,CAAC;QACP,UAAU,EAAE,GAAG;KAChB;IACD,UAAU,EAAE,aAAa;IACzB,mBAAmB,EAAE,QAAQ;CACrB,CAAC;AAEX;;;;;;;;GAQG;AACH,MAAM,CAAC,MAAM,sBAAsB,GAAG,eAAe,CAAC"}
@@ -9,7 +9,11 @@
9
9
  * The host application forwards the request to {@link handleIncomingWebhook},
10
10
  * which verifies Plivo's inbound-message signature before emitting. Inbound
11
11
  * messaging is signed under `X-Plivo-Signature-MA-V3`; the plain V3 and the
12
- * V2 family are accepted as well.
12
+ * V2 family are accepted as well. Each callback is accepted once: the nonce
13
+ * of an accepted callback is remembered and a request that reuses it is
14
+ * dropped. A V2 signature covers the URL and the nonce, not the body, so it
15
+ * does not authenticate `From` or `Text` (see
16
+ * {@link PlivoSmsChannelAdapter.handleIncomingWebhook}).
13
17
  *
14
18
  * The adapter does NOT start its own HTTP server; the host wires a route
15
19
  * (Express/Fastify/etc.) that forwards inbound requests here — the same
@@ -54,19 +58,30 @@ export declare class PlivoSmsChannelAdapter extends BaseChannelAdapter<PlivoSmsA
54
58
  private phoneNumber;
55
59
  /** Externally-visible message URL Plivo signs, for inbound verification. */
56
60
  private webhookUrl;
57
- /** When true (default), inbound webhooks must carry a valid V3 signature. */
61
+ /** When true (default), inbound webhooks must carry a valid Plivo signature. */
58
62
  private verifySignatureEnabled;
59
63
  /** Pre-computed `Authorization: Basic ...` header value. */
60
64
  private authHeader;
61
65
  /** Fetch implementation (injectable for tests). */
62
66
  private readonly fetchImpl;
67
+ /**
68
+ * Nonces of the callbacks accepted so far, so a request that reuses one is
69
+ * refused. Kept across reconnects.
70
+ */
71
+ private readonly seenNonces;
63
72
  /**
64
73
  * @param opts.fetchImpl - Override the global fetch (inject a mock in tests).
65
74
  * @param opts.retryConfig - Connection retry tuning (see BaseChannelAdapter).
75
+ * @param opts.nonceTtlMs - How long the nonce of an accepted callback is
76
+ * remembered, in milliseconds. Default: 24 hours.
77
+ * @param opts.maxNonces - How many nonces are remembered at once; past it
78
+ * the oldest is forgotten first. Default: 10,000.
66
79
  */
67
80
  constructor(opts?: {
68
81
  fetchImpl?: typeof fetch;
69
82
  retryConfig?: Partial<RetryConfig>;
83
+ nonceTtlMs?: number;
84
+ maxNonces?: number;
70
85
  });
71
86
  protected doConnect(auth: ChannelAuthConfig & {
72
87
  params?: PlivoSmsAuthParams;
@@ -74,47 +89,97 @@ export declare class PlivoSmsChannelAdapter extends BaseChannelAdapter<PlivoSmsA
74
89
  protected doSendMessage(conversationId: string, content: MessageContent): Promise<ChannelSendResult>;
75
90
  protected doShutdown(): Promise<void>;
76
91
  /**
77
- * Handle an inbound Plivo SMS webhook. The host forwards Plivo's POST here.
92
+ * Handle an inbound Plivo SMS webhook. The host forwards Plivo's request here.
78
93
  *
79
94
  * When signature verification is enabled (the default), the request must
80
- * carry valid `X-Plivo-Signature-V3` / `-Nonce` headers and the URL Plivo
81
- * signed; otherwise the message is dropped (fail closed).
95
+ * carry a valid Plivo signature over the URL Plivo requested, and each
96
+ * callback is accepted once: a request whose nonce was already accepted is
97
+ * dropped. Anything else is dropped as well (fail closed).
98
+ *
99
+ * What a valid signature proves depends on its family:
82
100
  *
83
- * @param body - Parsed form/JSON body of Plivo's inbound-message POST.
84
- * @param meta - Request metadata needed to verify the V3 signature.
101
+ * - **V3** covers the URL, its query, the params and the nonce, so `From`,
102
+ * `Text` and `MessageUUID` are the ones Plivo sent.
103
+ * - **V2** covers the URL and the nonce only. It does not authenticate
104
+ * `From`, `Text` or `MessageUUID`: whoever holds one callback's signature
105
+ * and nonce can send them again over a different body. Plivo's messaging
106
+ * documentation describes V2 for message callbacks.
107
+ *
108
+ * The nonce memory narrows that replay; it does not end it. It holds the
109
+ * callbacks this process accepted, for `nonceTtlMs` (24 hours by default)
110
+ * and `maxNonces` of them at most, and a restart empties it. Plivo's
111
+ * signatures carry no timestamp, so a callback sent again after its nonce is
112
+ * forgotten, or one this process never accepted, is accepted. Do not let an
113
+ * inbound message authorize an action by its sender number alone.
114
+ *
115
+ * @param body - Parsed form body of Plivo's inbound-message POST. For a GET
116
+ * callback the params are read from the query string of `meta.url`, whose
117
+ * values win over `body`.
118
+ * @param meta - Request metadata needed to verify the signature.
85
119
  */
86
120
  handleIncomingWebhook(body: Record<string, unknown>, meta?: {
87
121
  method?: string;
88
- /** The exact externally-visible URL Plivo POSTed to (must byte-match). */
122
+ /**
123
+ * The exact externally-visible URL Plivo requested (must byte-match);
124
+ * for a GET callback, with its query string.
125
+ */
89
126
  url?: string;
90
127
  headers?: Record<string, string | string[] | undefined>;
91
128
  }): void;
92
129
  /**
93
- * Verify an inbound request genuinely came from Plivo.
130
+ * Verify an inbound request's signature and return the nonces it proved, or
131
+ * `undefined` when no signature decides in its favour.
94
132
  *
95
133
  * Plivo sends more than one signature header and the one that matches depends
96
134
  * on the channel. Inbound messaging (SMS) is signed under
97
135
  * `X-Plivo-Signature-MA-V3`, while voice callbacks use the plain
98
136
  * `X-Plivo-Signature-V3`; Plivo's public docs also still document the older V2
99
- * scheme (`X-Plivo-Signature-MA-V2` / `X-Plivo-Signature-V2`). To be robust we
100
- * accept the request if ANY family validates: the V3 family (body params folded
101
- * into the signed string, keyed on `X-Plivo-Signature-V3-Nonce`) or the V2
102
- * family (URL + nonce only, keyed on `X-Plivo-Signature-V2-Nonce`). Every
103
- * candidate must still match cryptographically, so accepting several families
104
- * cannot produce a false accept.
137
+ * scheme (`X-Plivo-Signature-MA-V2` / `X-Plivo-Signature-V2`). Both families
138
+ * are accepted, and they do not prove the same thing:
139
+ *
140
+ * - The V3 family signs the URL, its query, the params and the V3 nonce
141
+ * (`X-Plivo-Signature-V3-Nonce`). A match covers the whole request.
142
+ * - The V2 family signs the URL and the V2 nonce
143
+ * (`X-Plivo-Signature-V2-Nonce`) and nothing else. A match shows that Plivo
144
+ * signed this URL with this nonce once; the body under it can be anything.
145
+ * Accepting V2 is accepting that weaker proof: a V2 signature and nonce
146
+ * taken from one callback verify over a forged `From` and `Text`.
105
147
  *
106
- * Fails closed: missing URL/token, or no family matches → not from Plivo.
148
+ * So V3 decides whenever the request carries a V3 header: a V3 signature
149
+ * that does not match is refused even if a V2 signature beside it matches.
150
+ * V2 decides only for a request with no V3 header. Nothing here stops a
151
+ * sender from leaving the V3 headers out; what limits a V2 replay is that
152
+ * {@link claimNonces} accepts a nonce once, which is why a request verified
153
+ * by V3 also returns its V2 nonce when its V2 signature is valid.
154
+ *
155
+ * Fails closed: missing URL/token, or the deciding family does not match →
156
+ * `undefined`.
157
+ */
158
+ private verifiedNonces;
159
+ /**
160
+ * Record the nonces of a verified callback as used.
161
+ *
162
+ * @returns `false`, recording nothing, when any of them was used already.
107
163
  */
108
- private isFromPlivo;
164
+ private claimNonces;
109
165
  }
110
166
  /**
111
- * Compute Plivo's X-Plivo-Signature-V3 for a callback, matching the algorithm
112
- * in `plivo-python`'s `signature_v3.py`.
167
+ * Compute Plivo's V3 signature for a callback as `plivo-python`'s
168
+ * `signature_v3.py` does: `base64(HMAC_SHA256(authToken, signedString))`,
169
+ * where the signed string ends in `.` + nonce.
170
+ *
171
+ * With `base` = `{scheme}://{host}{path}`, `query` = the URL's query as `k=v`
172
+ * pairs joined by `&` (names sorted, a repeated name's values sorted) and
173
+ * `fields` = the params as `key`+`value` with no separators (keys sorted):
174
+ *
175
+ * - **POST with params**: `base` + `?` + `query` + (`.` if there is a query)
176
+ * + `fields`.
177
+ * - **POST with no params**: `base`, then `?` + `query` if there is a query.
178
+ * - **GET**: the params are part of the query. Those passed in `params` are
179
+ * merged into the URL's own (the URL's value wins on a shared name), and the
180
+ * signed string is `base`, then `?` + the merged `query` if there is one.
113
181
  *
114
- * For a POST callback the signed string is:
115
- * `{scheme}://{host}{path}?` + (query as sorted `k=v&…` + `.` if present)
116
- * + sorted, separator-less `key`+`value` body params + `.` + nonce
117
- * then `base64(HMAC_SHA256(authToken, signedString))`.
182
+ * Any method other than GET is signed as a POST, as in the reference.
118
183
  */
119
184
  export declare function computePlivoV3Signature(input: {
120
185
  method: string;
@@ -1 +1 @@
1
- {"version":3,"file":"PlivoSmsChannelAdapter.d.ts","sourceRoot":"","sources":["../../../../src/io/channels/adapters/PlivoSmsChannelAdapter.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"PlivoSmsChannelAdapter.d.ts","sourceRoot":"","sources":["../../../../src/io/channels/adapters/PlivoSmsChannelAdapter.ts"],"names":[],"mappings":"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"}