@framers/agentos 0.12.4 → 0.12.6

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 (75) hide show
  1. package/dist/api/generateText.d.ts +12 -0
  2. package/dist/api/generateText.d.ts.map +1 -1
  3. package/dist/api/generateText.js +20 -6
  4. package/dist/api/generateText.js.map +1 -1
  5. package/dist/api/streamText.d.ts.map +1 -1
  6. package/dist/api/streamText.js +6 -3
  7. package/dist/api/streamText.js.map +1 -1
  8. package/dist/cognition/emergent/ComposableToolBuilder.d.ts.map +1 -1
  9. package/dist/cognition/emergent/ComposableToolBuilder.js +16 -8
  10. package/dist/cognition/emergent/ComposableToolBuilder.js.map +1 -1
  11. package/dist/cognition/emergent/EffectsStore.d.ts +58 -0
  12. package/dist/cognition/emergent/EffectsStore.d.ts.map +1 -0
  13. package/dist/cognition/emergent/EffectsStore.js +96 -0
  14. package/dist/cognition/emergent/EffectsStore.js.map +1 -0
  15. package/dist/cognition/emergent/EmergentCapabilityEngine.d.ts +22 -2
  16. package/dist/cognition/emergent/EmergentCapabilityEngine.d.ts.map +1 -1
  17. package/dist/cognition/emergent/EmergentCapabilityEngine.js +128 -19
  18. package/dist/cognition/emergent/EmergentCapabilityEngine.js.map +1 -1
  19. package/dist/cognition/emergent/EmergentJudge.d.ts +1 -1
  20. package/dist/cognition/emergent/EmergentJudge.d.ts.map +1 -1
  21. package/dist/cognition/emergent/EmergentToolRegistry.d.ts +12 -3
  22. package/dist/cognition/emergent/EmergentToolRegistry.d.ts.map +1 -1
  23. package/dist/cognition/emergent/EmergentToolRegistry.js +51 -4
  24. package/dist/cognition/emergent/EmergentToolRegistry.js.map +1 -1
  25. package/dist/cognition/emergent/ForgeToolMetaTool.d.ts.map +1 -1
  26. package/dist/cognition/emergent/ForgeToolMetaTool.js +4 -1
  27. package/dist/cognition/emergent/ForgeToolMetaTool.js.map +1 -1
  28. package/dist/cognition/emergent/SandboxedToolForge.d.ts +55 -51
  29. package/dist/cognition/emergent/SandboxedToolForge.d.ts.map +1 -1
  30. package/dist/cognition/emergent/SandboxedToolForge.js +103 -109
  31. package/dist/cognition/emergent/SandboxedToolForge.js.map +1 -1
  32. package/dist/cognition/emergent/ToolPackage.d.ts +2 -2
  33. package/dist/cognition/emergent/ToolPackage.d.ts.map +1 -1
  34. package/dist/cognition/emergent/broker/CapabilityBroker.d.ts +58 -0
  35. package/dist/cognition/emergent/broker/CapabilityBroker.d.ts.map +1 -0
  36. package/dist/cognition/emergent/broker/CapabilityBroker.js +288 -0
  37. package/dist/cognition/emergent/broker/CapabilityBroker.js.map +1 -0
  38. package/dist/cognition/emergent/broker/fetch.d.ts +44 -0
  39. package/dist/cognition/emergent/broker/fetch.d.ts.map +1 -0
  40. package/dist/cognition/emergent/broker/fetch.js +197 -0
  41. package/dist/cognition/emergent/broker/fetch.js.map +1 -0
  42. package/dist/cognition/emergent/broker/fs-read.d.ts +63 -0
  43. package/dist/cognition/emergent/broker/fs-read.d.ts.map +1 -0
  44. package/dist/cognition/emergent/broker/fs-read.js +133 -0
  45. package/dist/cognition/emergent/broker/fs-read.js.map +1 -0
  46. package/dist/cognition/emergent/broker/refusal.d.ts +10 -0
  47. package/dist/cognition/emergent/broker/refusal.d.ts.map +1 -0
  48. package/dist/cognition/emergent/broker/refusal.js +13 -0
  49. package/dist/cognition/emergent/broker/refusal.js.map +1 -0
  50. package/dist/cognition/emergent/ceiling.d.ts +75 -0
  51. package/dist/cognition/emergent/ceiling.d.ts.map +1 -0
  52. package/dist/cognition/emergent/ceiling.js +166 -0
  53. package/dist/cognition/emergent/ceiling.js.map +1 -0
  54. package/dist/cognition/emergent/index.d.ts +2 -0
  55. package/dist/cognition/emergent/index.d.ts.map +1 -1
  56. package/dist/cognition/emergent/index.js +1 -0
  57. package/dist/cognition/emergent/index.js.map +1 -1
  58. package/dist/cognition/emergent/types.d.ts +75 -2
  59. package/dist/cognition/emergent/types.d.ts.map +1 -1
  60. package/dist/cognition/emergent/types.js.map +1 -1
  61. package/dist/cognition/substrate/IGMI.d.ts +3 -0
  62. package/dist/cognition/substrate/IGMI.d.ts.map +1 -1
  63. package/dist/cognition/substrate/IGMI.js.map +1 -1
  64. package/dist/core/llm/providers/implementations/OpenRouterProvider.d.ts.map +1 -1
  65. package/dist/core/llm/providers/implementations/OpenRouterProvider.js +34 -13
  66. package/dist/core/llm/providers/implementations/OpenRouterProvider.js.map +1 -1
  67. package/dist/core/tools/ITool.d.ts +45 -0
  68. package/dist/core/tools/ITool.d.ts.map +1 -1
  69. package/dist/core/tools/ToolOrchestrator.d.ts.map +1 -1
  70. package/dist/core/tools/ToolOrchestrator.js +4 -8
  71. package/dist/core/tools/ToolOrchestrator.js.map +1 -1
  72. package/dist/io/media/images/imageToBuffer.d.ts.map +1 -1
  73. package/dist/io/media/images/imageToBuffer.js +6 -4
  74. package/dist/io/media/images/imageToBuffer.js.map +1 -1
  75. package/package.json +1 -1
@@ -0,0 +1,133 @@
1
+ /**
2
+ * @fileoverview The broker's `fs.readFile` for code-forged tools under a
3
+ * ceiling, and the path rules it shares with the forge's legacy read:
4
+ * lexical containment first, then the real path against the roots' real
5
+ * paths, each root's real path pinned on first success. The read is a
6
+ * stream refused past its limit, so no file is held whole before the limit
7
+ * applies.
8
+ * @module @framers/agentos/emergent/broker/fs-read
9
+ */
10
+ import { createReadStream } from 'node:fs';
11
+ import { realpath } from 'node:fs/promises';
12
+ import * as path from 'node:path';
13
+ import { CapabilityRefusal } from './refusal.js';
14
+ /**
15
+ * Whether a path lies under one of the roots. Decided by `path.relative`, not
16
+ * a string prefix: a root that ends in a separator (`/`, `C:\`) would
17
+ * otherwise be compared against a doubled separator, and `path.relative`
18
+ * applies the platform's case rules. `''` is the root itself; a result that
19
+ * climbs out (`..`, `../x`) or stays absolute (another Windows drive) is
20
+ * outside. Checking the `..` segment, not the prefix, keeps a sibling named
21
+ * `..foo` from reading as an escape.
22
+ */
23
+ export function withinRoots(candidate, roots) {
24
+ return roots.some((root) => {
25
+ const relative = path.relative(root, candidate);
26
+ return (relative === '' ||
27
+ (relative !== '..' && !relative.startsWith(`..${path.sep}`) && !path.isAbsolute(relative)));
28
+ });
29
+ }
30
+ /**
31
+ * Read roots, each root's real path resolved lazily and pinned per root.
32
+ *
33
+ * Both sides of a containment check are real paths: a root is often itself a
34
+ * link (on macOS `/tmp` is a link to `/private/tmp`). A resolved root stays
35
+ * pinned for the life of this object, so a root link repointed under a
36
+ * running sandbox is not followed. A failed resolution is not pinned, so a
37
+ * root that becomes readable later is picked up, and one unreadable root
38
+ * never un-pins a sibling; its lexical form never matches a real path, so it
39
+ * cannot widen the reads while it stays unreadable.
40
+ */
41
+ export class ReadRoots {
42
+ constructor(roots) {
43
+ this.roots = roots;
44
+ this.cache = new Map();
45
+ }
46
+ real() {
47
+ return Promise.all(this.roots.map((root) => this.realOf(root)));
48
+ }
49
+ realOf(root) {
50
+ const cached = this.cache.get(root);
51
+ if (cached !== undefined) {
52
+ return cached;
53
+ }
54
+ const pending = realpath(root).catch(() => {
55
+ this.cache.delete(root);
56
+ return root;
57
+ });
58
+ this.cache.set(root, pending);
59
+ return pending;
60
+ }
61
+ }
62
+ /** A read refused past its limit, with how far it got. */
63
+ export class ReadTooLarge extends CapabilityRefusal {
64
+ constructor(bytesRead, limit) {
65
+ super('file_too_large', `more than ${limit} bytes`);
66
+ this.bytesRead = bytesRead;
67
+ }
68
+ }
69
+ /** The check made before the filesystem is touched: a path string, lexically under a root. Returns the resolved path. */
70
+ export function prepareRead(filePath, roots) {
71
+ if (typeof filePath !== 'string') {
72
+ throw new CapabilityRefusal('invalid_path', 'fs.readFile takes a path string');
73
+ }
74
+ const resolved = path.resolve(filePath);
75
+ if (!withinRoots(resolved, roots.roots)) {
76
+ throw new CapabilityRefusal('path_not_allowed', resolved);
77
+ }
78
+ return resolved;
79
+ }
80
+ /**
81
+ * The real-path check and the read. The file read is the resolved real path,
82
+ * not the caller's string: resolving the caller's string again would walk a
83
+ * link a second time, and the link can be repointed between the two walks.
84
+ */
85
+ export async function readPrepared(resolved, roots, scope, signal) {
86
+ const real = await realpath(resolved);
87
+ if (!withinRoots(real, await roots.real())) {
88
+ throw new CapabilityRefusal('path_not_allowed', `${resolved} resolves outside the roots`);
89
+ }
90
+ const bounded = AbortSignal.any([signal, AbortSignal.timeout(scope.timeoutMs)]);
91
+ if (bounded.aborted) {
92
+ throw new CapabilityRefusal(signal.aborted ? 'aborted' : 'timed_out', resolved);
93
+ }
94
+ return new Promise((resolve, reject) => {
95
+ const chunks = [];
96
+ let total = 0;
97
+ let settled = false;
98
+ const stream = createReadStream(real);
99
+ function finish(error, result) {
100
+ if (settled) {
101
+ return;
102
+ }
103
+ settled = true;
104
+ bounded.removeEventListener('abort', onAbort);
105
+ if (error) {
106
+ stream.destroy();
107
+ reject(error);
108
+ return;
109
+ }
110
+ resolve(result);
111
+ }
112
+ function onAbort() {
113
+ finish(new CapabilityRefusal(signal.aborted ? 'aborted' : 'timed_out', resolved));
114
+ }
115
+ bounded.addEventListener('abort', onAbort, { once: true });
116
+ stream.on('data', (chunk) => {
117
+ const buffer = typeof chunk === 'string' ? Buffer.from(chunk) : chunk;
118
+ total += buffer.byteLength;
119
+ if (total > scope.maxBytesPerRead) {
120
+ finish(new ReadTooLarge(total, scope.maxBytesPerRead));
121
+ return;
122
+ }
123
+ chunks.push(buffer);
124
+ });
125
+ stream.on('error', (error) => finish(error));
126
+ stream.on('end', () => finish(null, { text: Buffer.concat(chunks).toString('utf-8'), bytes: total }));
127
+ });
128
+ }
129
+ /** The broker's read without its records: the checks, then the read. */
130
+ export async function brokeredRead(filePath, roots, scope, signal) {
131
+ return (await readPrepared(prepareRead(filePath, roots), roots, scope, signal)).text;
132
+ }
133
+ //# sourceMappingURL=fs-read.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"fs-read.js","sourceRoot":"","sources":["../../../../src/cognition/emergent/broker/fs-read.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,10 @@
1
+ /**
2
+ * @fileoverview A capability call the broker refused or ended. The message
3
+ * starts with the code; forged code sees it, and an effect record keeps it.
4
+ * @module @framers/agentos/emergent/broker/refusal
5
+ */
6
+ export declare class CapabilityRefusal extends Error {
7
+ readonly code: string;
8
+ constructor(code: string, detail: string);
9
+ }
10
+ //# sourceMappingURL=refusal.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"refusal.d.ts","sourceRoot":"","sources":["../../../../src/cognition/emergent/broker/refusal.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,qBAAa,iBAAkB,SAAQ,KAAK;IAExC,QAAQ,CAAC,IAAI,EAAE,MAAM;gBAAZ,IAAI,EAAE,MAAM,EACrB,MAAM,EAAE,MAAM;CAKjB"}
@@ -0,0 +1,13 @@
1
+ /**
2
+ * @fileoverview A capability call the broker refused or ended. The message
3
+ * starts with the code; forged code sees it, and an effect record keeps it.
4
+ * @module @framers/agentos/emergent/broker/refusal
5
+ */
6
+ export class CapabilityRefusal extends Error {
7
+ constructor(code, detail) {
8
+ super(`${code}: ${detail}`);
9
+ this.code = code;
10
+ this.name = 'CapabilityRefusal';
11
+ }
12
+ }
13
+ //# sourceMappingURL=refusal.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"refusal.js","sourceRoot":"","sources":["../../../../src/cognition/emergent/broker/refusal.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,MAAM,OAAO,iBAAkB,SAAQ,KAAK;IAC1C,YACW,IAAY,EACrB,MAAc;QAEd,KAAK,CAAC,GAAG,IAAI,KAAK,MAAM,EAAE,CAAC,CAAC;QAHnB,SAAI,GAAJ,IAAI,CAAQ;QAIrB,IAAI,CAAC,IAAI,GAAG,mBAAmB,CAAC;IAClC,CAAC;CACF"}
@@ -0,0 +1,75 @@
1
+ /**
2
+ * @fileoverview The host's ceiling for code-forged tools: validation into a
3
+ * resolved ceiling, the check of a forging agent's request against it, and
4
+ * the check of a host-built forge's options against it.
5
+ * @module @framers/agentos/emergent/ceiling
6
+ */
7
+ import type { CapabilityName, EmergentAuditConfig, ForgedCapabilities } from './types.js';
8
+ /** A ceiling with every default applied and every list normalised. */
9
+ export interface ResolvedCeiling {
10
+ fetch?: {
11
+ domains: string[] | '*';
12
+ methods: Array<'GET' | 'HEAD'>;
13
+ maxResponseBytes: number;
14
+ maxRedirects: number;
15
+ timeoutMs: number;
16
+ };
17
+ 'fs.read'?: {
18
+ roots: string[];
19
+ maxBytesPerRead: number;
20
+ timeoutMs: number;
21
+ };
22
+ crypto?: true;
23
+ audit: {
24
+ store: 'storage' | 'none';
25
+ content: 'digest' | 'full';
26
+ retainDays?: number;
27
+ };
28
+ }
29
+ export type CeilingErrorCode = 'unknown_capability' | 'root_not_absolute' | 'method_not_allowed' | 'invalid_domain' | 'invalid_bound' | 'audit_needs_storage' | 'forge_wider_than_ceiling';
30
+ /** A ceiling the engine cannot build; the message starts with the code and the key. */
31
+ export declare class CeilingError extends Error {
32
+ readonly code: CeilingErrorCode;
33
+ readonly key: string;
34
+ constructor(code: CeilingErrorCode, key: string, detail: string);
35
+ }
36
+ export declare const CEILING_DEFAULTS: {
37
+ readonly methods: Array<"GET" | "HEAD">;
38
+ readonly maxResponseBytes: number;
39
+ readonly maxRedirects: 5;
40
+ readonly maxBytesPerRead: number;
41
+ readonly timeoutMs: 30000;
42
+ };
43
+ /**
44
+ * Validates a host's ceiling and applies its defaults. An empty `domains` or
45
+ * `roots` list removes its capability (an empty list grants nothing).
46
+ *
47
+ * @throws CeilingError naming the code and the key of the first failure.
48
+ */
49
+ export declare function resolveCeiling(capabilities: ForgedCapabilities, audit: EmergentAuditConfig | undefined, options: {
50
+ hasStorage: boolean;
51
+ }): ResolvedCeiling;
52
+ /** The capabilities a resolved ceiling grants, in catalogue order. */
53
+ export declare function grantedCapabilities(ceiling: ResolvedCeiling): CapabilityName[];
54
+ /** Whether a request (catalogue names) fits the ceiling; a refusal names the rest and what is allowed. */
55
+ export declare function checkRequest(request: readonly CapabilityName[], ceiling: ResolvedCeiling): {
56
+ ok: true;
57
+ } | {
58
+ ok: false;
59
+ refused: CapabilityName[];
60
+ allowed: CapabilityName[];
61
+ };
62
+ /**
63
+ * A host-built forge under a ceiling: its options may be narrower than the
64
+ * ceiling, and then they narrow it; they may never be wider. Only the
65
+ * capabilities the ceiling grants are compared, since the broker injects no
66
+ * other. An intersection is taken in the ceiling's terms and never widens:
67
+ * disjoint lists are wider, not empty.
68
+ *
69
+ * @throws CeilingError (`forge_wider_than_ceiling`) naming the forge option.
70
+ */
71
+ export declare function narrowToForge(ceiling: ResolvedCeiling, forge: {
72
+ fetchDomainAllowlist: string[];
73
+ fsReadRoots: string[];
74
+ }): ResolvedCeiling;
75
+ //# sourceMappingURL=ceiling.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ceiling.d.ts","sourceRoot":"","sources":["../../../src/cognition/emergent/ceiling.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAIH,OAAO,KAAK,EAAE,cAAc,EAAE,mBAAmB,EAAE,kBAAkB,EAAE,MAAM,YAAY,CAAC;AAE1F,sEAAsE;AACtE,MAAM,WAAW,eAAe;IAC9B,KAAK,CAAC,EAAE;QACN,OAAO,EAAE,MAAM,EAAE,GAAG,GAAG,CAAC;QACxB,OAAO,EAAE,KAAK,CAAC,KAAK,GAAG,MAAM,CAAC,CAAC;QAC/B,gBAAgB,EAAE,MAAM,CAAC;QACzB,YAAY,EAAE,MAAM,CAAC;QACrB,SAAS,EAAE,MAAM,CAAC;KACnB,CAAC;IACF,SAAS,CAAC,EAAE;QAAE,KAAK,EAAE,MAAM,EAAE,CAAC;QAAC,eAAe,EAAE,MAAM,CAAC;QAAC,SAAS,EAAE,MAAM,CAAA;KAAE,CAAC;IAC5E,MAAM,CAAC,EAAE,IAAI,CAAC;IACd,KAAK,EAAE;QAAE,KAAK,EAAE,SAAS,GAAG,MAAM,CAAC;QAAC,OAAO,EAAE,QAAQ,GAAG,MAAM,CAAC;QAAC,UAAU,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;CACvF;AAED,MAAM,MAAM,gBAAgB,GACxB,oBAAoB,GACpB,mBAAmB,GACnB,oBAAoB,GACpB,gBAAgB,GAChB,eAAe,GACf,qBAAqB,GACrB,0BAA0B,CAAC;AAE/B,uFAAuF;AACvF,qBAAa,YAAa,SAAQ,KAAK;IAEnC,QAAQ,CAAC,IAAI,EAAE,gBAAgB;IAC/B,QAAQ,CAAC,GAAG,EAAE,MAAM;gBADX,IAAI,EAAE,gBAAgB,EACtB,GAAG,EAAE,MAAM,EACpB,MAAM,EAAE,MAAM;CAKjB;AAED,eAAO,MAAM,gBAAgB;sBACC,KAAK,CAAC,KAAK,GAAG,MAAM,CAAC;;;;;CAKzC,CAAC;AAcX;;;;;GAKG;AACH,wBAAgB,cAAc,CAC5B,YAAY,EAAE,kBAAkB,EAChC,KAAK,EAAE,mBAAmB,GAAG,SAAS,EACtC,OAAO,EAAE;IAAE,UAAU,EAAE,OAAO,CAAA;CAAE,GAC/B,eAAe,CA4EjB;AAED,sEAAsE;AACtE,wBAAgB,mBAAmB,CAAC,OAAO,EAAE,eAAe,GAAG,cAAc,EAAE,CAE9E;AAED,0GAA0G;AAC1G,wBAAgB,YAAY,CAC1B,OAAO,EAAE,SAAS,cAAc,EAAE,EAClC,OAAO,EAAE,eAAe,GACvB;IAAE,EAAE,EAAE,IAAI,CAAA;CAAE,GAAG;IAAE,EAAE,EAAE,KAAK,CAAC;IAAC,OAAO,EAAE,cAAc,EAAE,CAAC;IAAC,OAAO,EAAE,cAAc,EAAE,CAAA;CAAE,CAIpF;AAOD;;;;;;;;GAQG;AACH,wBAAgB,aAAa,CAC3B,OAAO,EAAE,eAAe,EACxB,KAAK,EAAE;IAAE,oBAAoB,EAAE,MAAM,EAAE,CAAC;IAAC,WAAW,EAAE,MAAM,EAAE,CAAA;CAAE,GAC/D,eAAe,CAkCjB"}
@@ -0,0 +1,166 @@
1
+ /**
2
+ * @fileoverview The host's ceiling for code-forged tools: validation into a
3
+ * resolved ceiling, the check of a forging agent's request against it, and
4
+ * the check of a host-built forge's options against it.
5
+ * @module @framers/agentos/emergent/ceiling
6
+ */
7
+ import * as path from 'node:path';
8
+ import { CAPABILITY_NAMES } from './capabilities.js';
9
+ /** A ceiling the engine cannot build; the message starts with the code and the key. */
10
+ export class CeilingError extends Error {
11
+ constructor(code, key, detail) {
12
+ super(`${code}: ${key}: ${detail}`);
13
+ this.code = code;
14
+ this.key = key;
15
+ this.name = 'CeilingError';
16
+ }
17
+ }
18
+ export const CEILING_DEFAULTS = {
19
+ methods: ['GET', 'HEAD'],
20
+ maxResponseBytes: 5 * 1024 * 1024,
21
+ maxRedirects: 5,
22
+ maxBytesPerRead: 1024 * 1024,
23
+ timeoutMs: 30000,
24
+ };
25
+ const HOSTNAME = /^[a-z0-9]([a-z0-9-]*[a-z0-9])?(\.[a-z0-9]([a-z0-9-]*[a-z0-9])?)*$|^\d{1,3}(\.\d{1,3}){3}$/;
26
+ function bound(value, fallback, key, min) {
27
+ if (value === undefined) {
28
+ return fallback;
29
+ }
30
+ if (!Number.isInteger(value) || value < min) {
31
+ throw new CeilingError('invalid_bound', key, `expected an integer of at least ${min}, got ${String(value)}`);
32
+ }
33
+ return value;
34
+ }
35
+ /**
36
+ * Validates a host's ceiling and applies its defaults. An empty `domains` or
37
+ * `roots` list removes its capability (an empty list grants nothing).
38
+ *
39
+ * @throws CeilingError naming the code and the key of the first failure.
40
+ */
41
+ export function resolveCeiling(capabilities, audit, options) {
42
+ for (const key of Object.keys(capabilities)) {
43
+ if (!CAPABILITY_NAMES.includes(key)) {
44
+ throw new CeilingError('unknown_capability', `capabilities.${key}`, `not in the catalogue (${CAPABILITY_NAMES.join(', ')})`);
45
+ }
46
+ }
47
+ const resolved = {
48
+ audit: {
49
+ store: audit?.store ?? 'storage',
50
+ content: audit?.content ?? 'digest',
51
+ ...(audit?.retainDays !== undefined
52
+ ? { retainDays: bound(audit.retainDays, 0, 'audit.retainDays', 1) }
53
+ : {}),
54
+ },
55
+ };
56
+ const fetch = capabilities.fetch;
57
+ if (fetch) {
58
+ const methods = fetch.methods ?? [...CEILING_DEFAULTS.methods];
59
+ for (const method of methods) {
60
+ if (method !== 'GET' && method !== 'HEAD') {
61
+ throw new CeilingError('method_not_allowed', 'capabilities.fetch.methods', `${String(method)}: stage 1 allows GET and HEAD`);
62
+ }
63
+ }
64
+ let domains = '*';
65
+ if (fetch.domains !== '*') {
66
+ domains = fetch.domains.map((domain) => domain.toLowerCase());
67
+ for (const domain of domains) {
68
+ if (!HOSTNAME.test(domain)) {
69
+ throw new CeilingError('invalid_domain', 'capabilities.fetch.domains', `"${domain}" is not a host name (no scheme, port or path)`);
70
+ }
71
+ }
72
+ }
73
+ if (domains === '*' || domains.length > 0) {
74
+ resolved.fetch = {
75
+ domains,
76
+ methods,
77
+ maxResponseBytes: bound(fetch.maxResponseBytes, CEILING_DEFAULTS.maxResponseBytes, 'capabilities.fetch.maxResponseBytes', 1),
78
+ maxRedirects: bound(fetch.maxRedirects, CEILING_DEFAULTS.maxRedirects, 'capabilities.fetch.maxRedirects', 0),
79
+ timeoutMs: bound(fetch.timeoutMs, CEILING_DEFAULTS.timeoutMs, 'capabilities.fetch.timeoutMs', 1),
80
+ };
81
+ }
82
+ }
83
+ const read = capabilities['fs.read'];
84
+ if (read) {
85
+ for (const root of read.roots) {
86
+ if (!path.isAbsolute(root)) {
87
+ throw new CeilingError('root_not_absolute', 'capabilities.fs.read.roots', `"${root}" is not an absolute path`);
88
+ }
89
+ }
90
+ if (read.roots.length > 0) {
91
+ resolved['fs.read'] = {
92
+ roots: read.roots.map((root) => path.resolve(root)),
93
+ maxBytesPerRead: bound(read.maxBytesPerRead, CEILING_DEFAULTS.maxBytesPerRead, 'capabilities.fs.read.maxBytesPerRead', 1),
94
+ timeoutMs: bound(read.timeoutMs, CEILING_DEFAULTS.timeoutMs, 'capabilities.fs.read.timeoutMs', 1),
95
+ };
96
+ }
97
+ }
98
+ if (capabilities.crypto) {
99
+ resolved.crypto = true;
100
+ }
101
+ if (resolved.audit.store === 'storage' && !options.hasStorage) {
102
+ throw new CeilingError('audit_needs_storage', 'audit.store', "a ceiling records every capability call; pass a storage adapter, or set audit.store: 'none' (then no effect records are kept)");
103
+ }
104
+ return resolved;
105
+ }
106
+ /** The capabilities a resolved ceiling grants, in catalogue order. */
107
+ export function grantedCapabilities(ceiling) {
108
+ return CAPABILITY_NAMES.filter((name) => ceiling[name] !== undefined);
109
+ }
110
+ /** Whether a request (catalogue names) fits the ceiling; a refusal names the rest and what is allowed. */
111
+ export function checkRequest(request, ceiling) {
112
+ const allowed = grantedCapabilities(ceiling);
113
+ const refused = request.filter((name) => !allowed.includes(name));
114
+ return refused.length === 0 ? { ok: true } : { ok: false, refused, allowed };
115
+ }
116
+ function within(candidate, root) {
117
+ const relative = path.relative(root, candidate);
118
+ return relative === '' || (relative !== '..' && !relative.startsWith(`..${path.sep}`) && !path.isAbsolute(relative));
119
+ }
120
+ /**
121
+ * A host-built forge under a ceiling: its options may be narrower than the
122
+ * ceiling, and then they narrow it; they may never be wider. Only the
123
+ * capabilities the ceiling grants are compared, since the broker injects no
124
+ * other. An intersection is taken in the ceiling's terms and never widens:
125
+ * disjoint lists are wider, not empty.
126
+ *
127
+ * @throws CeilingError (`forge_wider_than_ceiling`) naming the forge option.
128
+ */
129
+ export function narrowToForge(ceiling, forge) {
130
+ const narrowed = { ...ceiling };
131
+ if (ceiling.fetch) {
132
+ const forgeDomains = forge.fetchDomainAllowlist.map((domain) => domain.toLowerCase());
133
+ if (forgeDomains.length === 0) {
134
+ // The forge's empty list means every domain.
135
+ if (ceiling.fetch.domains !== '*') {
136
+ throw new CeilingError('forge_wider_than_ceiling', 'sandboxForge.fetchDomainAllowlist', 'the forge allows every domain');
137
+ }
138
+ }
139
+ else {
140
+ const ceilingDomains = ceiling.fetch.domains;
141
+ const wider = ceilingDomains === '*' ? [] : forgeDomains.filter((domain) => !ceilingDomains.includes(domain));
142
+ if (wider.length > 0) {
143
+ throw new CeilingError('forge_wider_than_ceiling', 'sandboxForge.fetchDomainAllowlist', `outside the ceiling: ${wider.join(', ')}`);
144
+ }
145
+ narrowed.fetch = { ...ceiling.fetch, domains: forgeDomains };
146
+ }
147
+ }
148
+ if (ceiling['fs.read']) {
149
+ const ceilingRoots = ceiling['fs.read'].roots;
150
+ const forgeRoots = forge.fsReadRoots.map((root) => path.resolve(root));
151
+ const wider = forgeRoots.filter((root) => !ceilingRoots.some((ceilingRoot) => within(root, ceilingRoot)));
152
+ if (wider.length > 0) {
153
+ throw new CeilingError('forge_wider_than_ceiling', 'sandboxForge.fsReadRoots', `outside the ceiling: ${wider.join(', ')}`);
154
+ }
155
+ if (forgeRoots.length === 0) {
156
+ // A forge that reads nowhere: the intersection is empty, and an empty
157
+ // intersection removes the capability rather than granting an empty list.
158
+ delete narrowed['fs.read'];
159
+ }
160
+ else {
161
+ narrowed['fs.read'] = { ...ceiling['fs.read'], roots: forgeRoots };
162
+ }
163
+ }
164
+ return narrowed;
165
+ }
166
+ //# sourceMappingURL=ceiling.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ceiling.js","sourceRoot":"","sources":["../../../src/cognition/emergent/ceiling.ts"],"names":[],"mappings":"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"}
@@ -18,6 +18,8 @@ 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 { CAPABILITY_NAMES, CAPABILITY_ALIASES, normalizeAllowlist, toSandboxApis } from './capabilities.js';
21
+ export { CeilingError, checkRequest, grantedCapabilities, narrowToForge, resolveCeiling, CEILING_DEFAULTS } from './ceiling.js';
22
+ export type { CeilingErrorCode, ResolvedCeiling } from './ceiling.js';
21
23
  export { parsePersistedSource, inferRequestFromCode, requestFromImplementation, parseStoredRequest, } from './persisted-source.js';
22
24
  export type { PersistedSource } from './persisted-source.js';
23
25
  export { EmergentToolRegistry } from './EmergentToolRegistry.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":"AAAA;;;;;;;;;;;GAWG;AAEH,cAAc,YAAY,CAAC;AAC3B,OAAO,EAAE,KAAK,qBAAqB,EAAE,+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;AAClH,YAAY,EAAE,QAAQ,EAAE,eAAe,EAAE,YAAY,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAC;AAC/F,OAAO,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAC7D,YAAY,EAAE,wBAAwB,EAAE,MAAM,yBAAyB,CAAC;AACxE,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;AAChI,YAAY,EAAE,gBAAgB,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AACtE,OAAO,EACL,oBAAoB,EACpB,oBAAoB,EACpB,yBAAyB,EACzB,kBAAkB,GACnB,MAAM,uBAAuB,CAAC;AAC/B,YAAY,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AAC7D,OAAO,EAAE,oBAAoB,EAAE,MAAM,2BAA2B,CAAC;AACjE,YAAY,EACV,eAAe,IAAI,8BAA8B,EACjD,UAAU,GACX,MAAM,2BAA2B,CAAC;AACnC,OAAO,EACL,oCAAoC,EACpC,wBAAwB,EACxB,4BAA4B,EAC5B,wBAAwB,EACxB,kCAAkC,GACnC,MAAM,kBAAkB,CAAC;AAC1B,YAAY,EACV,6BAA6B,EAC7B,0BAA0B,EAC1B,2BAA2B,EAC3B,+BAA+B,EAC/B,yCAAyC,GAC1C,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AACnD,YAAY,EAAE,aAAa,EAAE,mBAAmB,EAAE,MAAM,oBAAoB,CAAC;AAC7E,OAAO,EAAE,wBAAwB,EAAE,MAAM,+BAA+B,CAAC;AACzE,YAAY,EACV,4BAA4B,EAC5B,sBAAsB,EACtB,cAAc,EACd,iBAAiB,EACjB,yBAAyB,EACzB,wBAAwB,GACzB,MAAM,+BAA+B,CAAC;AACvC,OAAO,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAC3D,YAAY,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AAC7D,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;AACzE,YAAY,EAAE,mBAAmB,EAAE,mBAAmB,EAAE,WAAW,EAAE,MAAM,+BAA+B,CAAC;AAC3G,YAAY,EAAE,uBAAuB,EAAE,MAAM,+BAA+B,CAAC;AAM7E,OAAO,EACL,sBAAsB,EACtB,KAAK,sBAAsB,GAC5B,MAAM,+BAA+B,CAAC;AACvC,OAAO,EACL,kBAAkB,EAClB,KAAK,iBAAiB,GACvB,MAAM,0BAA0B,CAAC;AAClC,OAAO,EACL,wBAAwB,EACxB,KAAK,2BAA2B,GACjC,MAAM,2BAA2B,CAAC;AACnC,OAAO,EACL,aAAa,EACb,KAAK,aAAa,EAClB,KAAK,aAAa,EAClB,KAAK,oBAAoB,GAC1B,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EACL,oBAAoB,EACpB,eAAe,EACf,KAAK,UAAU,GAChB,MAAM,2BAA2B,CAAC;AAInC,OAAO,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAC7D,YAAY,EACV,SAAS,EACT,aAAa,EACb,WAAW,GACZ,MAAM,yBAAyB,CAAC;AACjC,OAAO,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAC7D,YAAY,EACV,wBAAwB,EACxB,YAAY,EACZ,iBAAiB,GAClB,MAAM,yBAAyB,CAAC"}
@@ -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 { CAPABILITY_NAMES, CAPABILITY_ALIASES, normalizeAllowlist, toSandboxApis } from './capabilities.js';
19
+ export { CeilingError, checkRequest, grantedCapabilities, narrowToForge, resolveCeiling, CEILING_DEFAULTS } from './ceiling.js';
19
20
  export { parsePersistedSource, inferRequestFromCode, requestFromImplementation, parseStoredRequest, } from './persisted-source.js';
20
21
  export { EmergentToolRegistry } from './EmergentToolRegistry.js';
21
22
  export { EMERGENT_TOOL_PACKAGE_SCHEMA_VERSION, buildEmergentToolPackage, serializeEmergentToolPackage, parseEmergentToolPackage, materializeEmergentToolFromPackage, } from './ToolPackage.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,gBAAgB,EAAE,kBAAkB,EAAE,kBAAkB,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAC5G,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,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"}
@@ -44,6 +44,53 @@ export type SandboxAPI = 'fetch' | 'fs.readFile' | 'crypto';
44
44
  * forged code; `SandboxAPI` keeps the injected names.
45
45
  */
46
46
  export type CapabilityName = 'fetch' | 'fs.read' | 'crypto';
47
+ /**
48
+ * A name a request's list may hold: a catalogue name, or the injected name it
49
+ * stands for (`fs.readFile` for `fs.read`). Lists keep the names as written;
50
+ * every reader normalises them with `normalizeAllowlist`.
51
+ */
52
+ export type AllowlistName = SandboxAPI | CapabilityName;
53
+ /** The scope a host grants `fetch` under (stage 1: reads only). */
54
+ export interface FetchCeiling {
55
+ /** Hosts a forged tool may reach, matched exactly and case-insensitively; `'*'` is every host; `[]` grants nothing. */
56
+ domains: string[] | '*';
57
+ /** Methods a forged tool may send. Stage 1 allows GET and HEAD only. @default ['GET', 'HEAD'] */
58
+ methods?: Array<'GET' | 'HEAD'>;
59
+ /** A response body larger than this is refused while it streams. @default 5_242_880 */
60
+ maxResponseBytes?: number;
61
+ /** Redirects the broker follows, each one checked like the first request. @default 5 */
62
+ maxRedirects?: number;
63
+ /** One request's time bound, redirects included. @default 30_000 */
64
+ timeoutMs?: number;
65
+ }
66
+ /** The scope a host grants `fs.read` under. */
67
+ export interface FsReadCeiling {
68
+ /** Absolute directories a forged tool may read under, after symlinks are resolved; `[]` grants nothing. */
69
+ roots: string[];
70
+ /** A file larger than this is refused while it streams. @default 1_048_576 */
71
+ maxBytesPerRead?: number;
72
+ /** One read's time bound. @default 30_000 */
73
+ timeoutMs?: number;
74
+ }
75
+ /**
76
+ * What a host lets code-forged tools have. A key that is absent grants
77
+ * nothing; with this set, a forging agent's `allowlist` is a request the
78
+ * ceiling must cover, and every capability call goes through the broker.
79
+ */
80
+ export interface ForgedCapabilities {
81
+ fetch?: FetchCeiling;
82
+ 'fs.read'?: FsReadCeiling;
83
+ crypto?: Record<string, never>;
84
+ }
85
+ /** Where a ceiling's effect records go. */
86
+ export interface EmergentAuditConfig {
87
+ /** `'storage'` writes a record per capability call and needs a storage adapter. @default 'storage' */
88
+ store?: 'storage' | 'none';
89
+ /** What a record keeps of a call's target: a SHA-256 digest, or the target itself. @default 'digest' */
90
+ content?: 'digest' | 'full';
91
+ /** Days effect records are kept; unset keeps them. Prunes the effect table only. */
92
+ retainDays?: number;
93
+ }
47
94
  /**
48
95
  * A single step in a composable tool pipeline.
49
96
  *
@@ -135,12 +182,25 @@ export interface SandboxedToolSpec {
135
182
  * Explicit allowlist of sandbox APIs the code may invoke.
136
183
  * Any call to an API not in this list will throw at runtime.
137
184
  */
138
- allowlist: SandboxAPI[];
185
+ allowlist: AllowlistName[];
139
186
  }
140
187
  /**
141
188
  * Union of all supported tool implementation specifications.
142
189
  */
143
190
  export type ToolImplementation = ComposableToolSpec | SandboxedToolSpec;
191
+ /**
192
+ * One run of a code-forged tool, as the broker sees it: the run's id, the
193
+ * tool and the agent it runs for, and the signal that ends it. Under a
194
+ * ceiling the engine makes one for every forge test and every call; the
195
+ * broker checks it before every capability call and again just before the
196
+ * effect, and keys what is in flight by its id.
197
+ */
198
+ export interface CallHandle {
199
+ id: string;
200
+ toolId: string;
201
+ agentId: string;
202
+ signal: AbortSignal;
203
+ }
144
204
  /**
145
205
  * Input to the sandbox executor for running a single sandboxed tool invocation.
146
206
  */
@@ -156,7 +216,7 @@ export interface SandboxExecutionRequest {
156
216
  /**
157
217
  * APIs the sandbox is permitted to call. Anything not listed is blocked.
158
218
  */
159
- allowlist: SandboxAPI[];
219
+ allowlist: AllowlistName[];
160
220
  /**
161
221
  * Nominal heap budget in megabytes for the sandbox execution.
162
222
  * The current node:vm-backed JavaScript executor reports heap deltas but does
@@ -170,6 +230,11 @@ export interface SandboxExecutionRequest {
170
230
  * @default 5000
171
231
  */
172
232
  timeoutMs: number;
233
+ /**
234
+ * The run's handle. Required when the forge has a broker attached (a host
235
+ * with `EmergentConfig.capabilities`); the engine fills it.
236
+ */
237
+ call?: CallHandle;
173
238
  }
174
239
  /**
175
240
  * Outcome of a single sandbox execution attempt.
@@ -735,6 +800,14 @@ export interface EmergentConfig {
735
800
  compose?: {
736
801
  sideEffectingTools?: string[];
737
802
  };
803
+ /**
804
+ * The ceiling for code-forged tools (see {@link ForgedCapabilities}).
805
+ * Absent: the legacy path, where a forged tool takes the APIs it asks for,
806
+ * unscoped. Validated at engine construction; each failure names its key.
807
+ */
808
+ capabilities?: ForgedCapabilities;
809
+ /** Effect records under a ceiling. Ignored without one. */
810
+ audit?: EmergentAuditConfig;
738
811
  }
739
812
  /**
740
813
  * 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;AA00BH;;;;;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;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"}