@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.
- package/dist/api/generateText.d.ts +12 -0
- package/dist/api/generateText.d.ts.map +1 -1
- package/dist/api/generateText.js +20 -6
- package/dist/api/generateText.js.map +1 -1
- package/dist/api/streamText.d.ts.map +1 -1
- package/dist/api/streamText.js +6 -3
- package/dist/api/streamText.js.map +1 -1
- package/dist/cognition/emergent/ComposableToolBuilder.d.ts.map +1 -1
- package/dist/cognition/emergent/ComposableToolBuilder.js +16 -8
- package/dist/cognition/emergent/ComposableToolBuilder.js.map +1 -1
- package/dist/cognition/emergent/EffectsStore.d.ts +58 -0
- package/dist/cognition/emergent/EffectsStore.d.ts.map +1 -0
- package/dist/cognition/emergent/EffectsStore.js +96 -0
- package/dist/cognition/emergent/EffectsStore.js.map +1 -0
- package/dist/cognition/emergent/EmergentCapabilityEngine.d.ts +22 -2
- package/dist/cognition/emergent/EmergentCapabilityEngine.d.ts.map +1 -1
- package/dist/cognition/emergent/EmergentCapabilityEngine.js +128 -19
- package/dist/cognition/emergent/EmergentCapabilityEngine.js.map +1 -1
- package/dist/cognition/emergent/EmergentJudge.d.ts +1 -1
- package/dist/cognition/emergent/EmergentJudge.d.ts.map +1 -1
- package/dist/cognition/emergent/EmergentToolRegistry.d.ts +12 -3
- package/dist/cognition/emergent/EmergentToolRegistry.d.ts.map +1 -1
- package/dist/cognition/emergent/EmergentToolRegistry.js +51 -4
- package/dist/cognition/emergent/EmergentToolRegistry.js.map +1 -1
- package/dist/cognition/emergent/ForgeToolMetaTool.d.ts.map +1 -1
- package/dist/cognition/emergent/ForgeToolMetaTool.js +4 -1
- package/dist/cognition/emergent/ForgeToolMetaTool.js.map +1 -1
- package/dist/cognition/emergent/SandboxedToolForge.d.ts +55 -51
- package/dist/cognition/emergent/SandboxedToolForge.d.ts.map +1 -1
- package/dist/cognition/emergent/SandboxedToolForge.js +103 -109
- package/dist/cognition/emergent/SandboxedToolForge.js.map +1 -1
- package/dist/cognition/emergent/ToolPackage.d.ts +2 -2
- package/dist/cognition/emergent/ToolPackage.d.ts.map +1 -1
- package/dist/cognition/emergent/broker/CapabilityBroker.d.ts +58 -0
- package/dist/cognition/emergent/broker/CapabilityBroker.d.ts.map +1 -0
- package/dist/cognition/emergent/broker/CapabilityBroker.js +288 -0
- package/dist/cognition/emergent/broker/CapabilityBroker.js.map +1 -0
- package/dist/cognition/emergent/broker/fetch.d.ts +44 -0
- package/dist/cognition/emergent/broker/fetch.d.ts.map +1 -0
- package/dist/cognition/emergent/broker/fetch.js +197 -0
- package/dist/cognition/emergent/broker/fetch.js.map +1 -0
- package/dist/cognition/emergent/broker/fs-read.d.ts +63 -0
- package/dist/cognition/emergent/broker/fs-read.d.ts.map +1 -0
- package/dist/cognition/emergent/broker/fs-read.js +133 -0
- package/dist/cognition/emergent/broker/fs-read.js.map +1 -0
- package/dist/cognition/emergent/broker/refusal.d.ts +10 -0
- package/dist/cognition/emergent/broker/refusal.d.ts.map +1 -0
- package/dist/cognition/emergent/broker/refusal.js +13 -0
- package/dist/cognition/emergent/broker/refusal.js.map +1 -0
- package/dist/cognition/emergent/ceiling.d.ts +75 -0
- package/dist/cognition/emergent/ceiling.d.ts.map +1 -0
- package/dist/cognition/emergent/ceiling.js +166 -0
- package/dist/cognition/emergent/ceiling.js.map +1 -0
- package/dist/cognition/emergent/index.d.ts +2 -0
- package/dist/cognition/emergent/index.d.ts.map +1 -1
- package/dist/cognition/emergent/index.js +1 -0
- package/dist/cognition/emergent/index.js.map +1 -1
- package/dist/cognition/emergent/types.d.ts +75 -2
- package/dist/cognition/emergent/types.d.ts.map +1 -1
- package/dist/cognition/emergent/types.js.map +1 -1
- package/dist/cognition/substrate/IGMI.d.ts +3 -0
- package/dist/cognition/substrate/IGMI.d.ts.map +1 -1
- package/dist/cognition/substrate/IGMI.js.map +1 -1
- package/dist/core/llm/providers/implementations/OpenRouterProvider.d.ts.map +1 -1
- package/dist/core/llm/providers/implementations/OpenRouterProvider.js +34 -13
- package/dist/core/llm/providers/implementations/OpenRouterProvider.js.map +1 -1
- package/dist/core/tools/ITool.d.ts +45 -0
- package/dist/core/tools/ITool.d.ts.map +1 -1
- package/dist/core/tools/ToolOrchestrator.d.ts.map +1 -1
- package/dist/core/tools/ToolOrchestrator.js +4 -8
- package/dist/core/tools/ToolOrchestrator.js.map +1 -1
- package/dist/io/media/images/imageToBuffer.d.ts.map +1 -1
- package/dist/io/media/images/imageToBuffer.js +6 -4
- package/dist/io/media/images/imageToBuffer.js.map +1 -1
- package/package.json +1 -1
|
@@ -24,6 +24,7 @@
|
|
|
24
24
|
*/
|
|
25
25
|
import { randomUUID } from 'node:crypto';
|
|
26
26
|
import { DEFAULT_EMERGENT_CONFIG, GMI_INSTANCE_ID_PREFIX } from './types.js';
|
|
27
|
+
import { EffectsStore } from './EffectsStore.js';
|
|
27
28
|
import { parsePersistedSource, parseStoredRequest, sessionFromSource, stateSetterFromColumn } from './persisted-source.js';
|
|
28
29
|
// ============================================================================
|
|
29
30
|
// TIER ORDER
|
|
@@ -33,6 +34,7 @@ import { parsePersistedSource, parseStoredRequest, sessionFromSource, stateSette
|
|
|
33
34
|
* Higher index = broader scope = higher trust.
|
|
34
35
|
*/
|
|
35
36
|
const TIER_ORDER = ['session', 'agent', 'shared'];
|
|
37
|
+
const AUDIT_RING_SIZE = 1000;
|
|
36
38
|
export class EmergentToolRegistry {
|
|
37
39
|
/**
|
|
38
40
|
* Create a new EmergentToolRegistry.
|
|
@@ -48,7 +50,7 @@ export class EmergentToolRegistry {
|
|
|
48
50
|
this.sessionTools = new Map();
|
|
49
51
|
/** In-memory store for agent/shared-tier tools when no DB is available. */
|
|
50
52
|
this.persistedTools = new Map();
|
|
51
|
-
/** In-memory audit log.
|
|
53
|
+
/** In-memory audit log: the newest {@link AUDIT_RING_SIZE} entries, kept with or without storage. A log, never read for state. */
|
|
52
54
|
this.auditLog = [];
|
|
53
55
|
/** Held state per tool. A tool with no entry counts as active. */
|
|
54
56
|
this.states = new Map();
|
|
@@ -112,8 +114,8 @@ export class EmergentToolRegistry {
|
|
|
112
114
|
/**
|
|
113
115
|
* Initialize the database schema for emergent tool persistence.
|
|
114
116
|
*
|
|
115
|
-
* Creates the `agentos_emergent_tools`, `agentos_emergent_audit_log
|
|
116
|
-
* `agentos_emergent_tool_state` tables along with their indexes. Safe to
|
|
117
|
+
* Creates the `agentos_emergent_tools`, `agentos_emergent_audit_log`,
|
|
118
|
+
* `agentos_emergent_tool_state` and `agentos_emergent_effects` tables along with their indexes. Safe to
|
|
117
119
|
* call multiple times — all statements use `CREATE TABLE IF NOT EXISTS` /
|
|
118
120
|
* `CREATE INDEX IF NOT EXISTS`.
|
|
119
121
|
*
|
|
@@ -175,11 +177,44 @@ CREATE TABLE IF NOT EXISTS agentos_emergent_tool_state (
|
|
|
175
177
|
flag_synced INTEGER NOT NULL DEFAULT 1,
|
|
176
178
|
write_id TEXT
|
|
177
179
|
);`;
|
|
180
|
+
// One row per capability call of a code-forged tool under a ceiling: the
|
|
181
|
+
// intent before the call, the outcome after it (a row with no outcome is
|
|
182
|
+
// unknown). Pruned by `audit.retainDays`; tool rows and state never are.
|
|
183
|
+
const effectsTable = `
|
|
184
|
+
CREATE TABLE IF NOT EXISTS agentos_emergent_effects (
|
|
185
|
+
id TEXT PRIMARY KEY,
|
|
186
|
+
tool_id TEXT NOT NULL,
|
|
187
|
+
call_id TEXT NOT NULL,
|
|
188
|
+
agent_id TEXT NOT NULL,
|
|
189
|
+
capability TEXT NOT NULL,
|
|
190
|
+
target TEXT NOT NULL,
|
|
191
|
+
target_form TEXT NOT NULL,
|
|
192
|
+
decision TEXT NOT NULL,
|
|
193
|
+
decided_by TEXT NOT NULL,
|
|
194
|
+
intent_at BIGINT NOT NULL,
|
|
195
|
+
outcome TEXT,
|
|
196
|
+
code TEXT,
|
|
197
|
+
bytes BIGINT,
|
|
198
|
+
uses INTEGER,
|
|
199
|
+
terminal_at BIGINT
|
|
200
|
+
);`;
|
|
201
|
+
const effectsToolIndex = `CREATE INDEX IF NOT EXISTS idx_emergent_effects_tool ON agentos_emergent_effects(tool_id, intent_at);`;
|
|
202
|
+
const effectsCallIndex = `CREATE INDEX IF NOT EXISTS idx_emergent_effects_call ON agentos_emergent_effects(call_id);`;
|
|
178
203
|
// Tables and indexes only: the flag on the tool row is written by the
|
|
179
204
|
// library's own statements, never by a trigger, so the schema stays
|
|
180
205
|
// portable (PostgreSQL has no SQLite trigger syntax) and every write to the
|
|
181
206
|
// tool row passes through the storage adapter's hooks.
|
|
182
|
-
const statements = [
|
|
207
|
+
const statements = [
|
|
208
|
+
toolsTable,
|
|
209
|
+
toolsTierIndex,
|
|
210
|
+
toolsAgentIndex,
|
|
211
|
+
auditTable,
|
|
212
|
+
auditIndex,
|
|
213
|
+
stateTable,
|
|
214
|
+
effectsTable,
|
|
215
|
+
effectsToolIndex,
|
|
216
|
+
effectsCallIndex,
|
|
217
|
+
];
|
|
183
218
|
// Prefer `exec` for multi-statement DDL; fall back to individual `run` calls.
|
|
184
219
|
if (this.db.exec) {
|
|
185
220
|
await this.db.exec(statements.join('\n'));
|
|
@@ -610,6 +645,15 @@ CREATE TABLE IF NOT EXISTS agentos_emergent_tool_state (
|
|
|
610
645
|
hasStorage() {
|
|
611
646
|
return this.db !== undefined;
|
|
612
647
|
}
|
|
648
|
+
/**
|
|
649
|
+
* The writer of effect records over this registry's storage, or undefined
|
|
650
|
+
* without a storage adapter. The schema is made ready before its first write.
|
|
651
|
+
*/
|
|
652
|
+
effectsStore(options) {
|
|
653
|
+
return this.db
|
|
654
|
+
? new EffectsStore(this.db, { ...options, ensureSchema: () => this.ensureSchemaReady() })
|
|
655
|
+
: undefined;
|
|
656
|
+
}
|
|
613
657
|
/**
|
|
614
658
|
* Write a tool's row from the object given, awaited. For a host that
|
|
615
659
|
* hydrates a tool from its own store through `syncPersistedTool` and has no
|
|
@@ -1085,6 +1129,9 @@ CREATE TABLE IF NOT EXISTS agentos_emergent_tool_state (
|
|
|
1085
1129
|
timestamp: Date.now(),
|
|
1086
1130
|
};
|
|
1087
1131
|
this.auditLog.push(entry);
|
|
1132
|
+
if (this.auditLog.length > AUDIT_RING_SIZE) {
|
|
1133
|
+
this.auditLog.splice(0, this.auditLog.length - AUDIT_RING_SIZE);
|
|
1134
|
+
}
|
|
1088
1135
|
// Best-effort DB write — do not await or throw if it fails.
|
|
1089
1136
|
if (this.db && this.schemaReady) {
|
|
1090
1137
|
this.db
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"EmergentToolRegistry.js","sourceRoot":"","sources":["../../../src/cognition/emergent/EmergentToolRegistry.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"EmergentToolRegistry.js","sourceRoot":"","sources":["../../../src/cognition/emergent/EmergentToolRegistry.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ForgeToolMetaTool.d.ts","sourceRoot":"","sources":["../../../src/cognition/emergent/ForgeToolMetaTool.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAEH,OAAO,KAAK,EACV,KAAK,EACL,mBAAmB,EACnB,oBAAoB,EACpB,gBAAgB,EACjB,MAAM,2BAA2B,CAAC;AACnC,OAAO,KAAK,EAAoB,WAAW,EAAE,MAAM,YAAY,CAAC;AAChE,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,+BAA+B,CAAC;AAM9E;;;;;GAKG;AACH,MAAM,WAAW,cAAe,SAAQ,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC;IACzD,8CAA8C;IAC9C,IAAI,EAAE,MAAM,CAAC;IAEb,0DAA0D;IAC1D,WAAW,EAAE,MAAM,CAAC;IAEpB,kDAAkD;IAClD,WAAW,EAAE,gBAAgB,CAAC;IAE9B,6DAA6D;IAC7D,YAAY,CAAC,EAAE,gBAAgB,CAAC;IAEhC;;;OAGG;IACH,cAAc,EACV;QACE,IAAI,EAAE,SAAS,CAAC;QAChB,KAAK,EAAE,KAAK,CAAC;YAAE,IAAI,EAAE,MAAM,CAAC;YAAC,IAAI,EAAE,MAAM,CAAC;YAAC,YAAY,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;SAAE,CAAC,CAAC;KACrF,GACD;QAAE,IAAI,EAAE,SAAS,CAAC;QAAC,IAAI,EAAE,MAAM,CAAC;QAAC,SAAS,EAAE,MAAM,EAAE,CAAA;KAAE,CAAC;IAE3D;;;OAGG;IACH,SAAS,EAAE,KAAK,CAAC;QACf,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;QAC/B,cAAc,CAAC,EAAE,OAAO,CAAC;QACzB,WAAW,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;KACvC,CAAC,CAAC;CACJ;AAMD;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4BG;AACH,qBAAa,iBAAkB,YAAW,KAAK,CAAC,cAAc,EAAE,WAAW,CAAC;IAC1E,kBAAkB;IAClB,QAAQ,CAAC,EAAE,qCAAqC;IAEhD,kBAAkB;IAClB,QAAQ,CAAC,IAAI,gBAAgB;IAE7B,kBAAkB;IAClB,QAAQ,CAAC,WAAW,gBAAgB;IAEpC,kBAAkB;IAClB,QAAQ,CAAC,WAAW,SAGuB;IAE3C,kBAAkB;IAClB,QAAQ,CAAC,QAAQ,cAAc;IAE/B,kBAAkB;IAClB,QAAQ,CAAC,cAAc,QAAQ;IAE/B,kBAAkB;IAClB,QAAQ,CAAC,WAAW,EAAE,gBAAgB,
|
|
1
|
+
{"version":3,"file":"ForgeToolMetaTool.d.ts","sourceRoot":"","sources":["../../../src/cognition/emergent/ForgeToolMetaTool.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAEH,OAAO,KAAK,EACV,KAAK,EACL,mBAAmB,EACnB,oBAAoB,EACpB,gBAAgB,EACjB,MAAM,2BAA2B,CAAC;AACnC,OAAO,KAAK,EAAoB,WAAW,EAAE,MAAM,YAAY,CAAC;AAChE,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,+BAA+B,CAAC;AAM9E;;;;;GAKG;AACH,MAAM,WAAW,cAAe,SAAQ,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC;IACzD,8CAA8C;IAC9C,IAAI,EAAE,MAAM,CAAC;IAEb,0DAA0D;IAC1D,WAAW,EAAE,MAAM,CAAC;IAEpB,kDAAkD;IAClD,WAAW,EAAE,gBAAgB,CAAC;IAE9B,6DAA6D;IAC7D,YAAY,CAAC,EAAE,gBAAgB,CAAC;IAEhC;;;OAGG;IACH,cAAc,EACV;QACE,IAAI,EAAE,SAAS,CAAC;QAChB,KAAK,EAAE,KAAK,CAAC;YAAE,IAAI,EAAE,MAAM,CAAC;YAAC,IAAI,EAAE,MAAM,CAAC;YAAC,YAAY,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;SAAE,CAAC,CAAC;KACrF,GACD;QAAE,IAAI,EAAE,SAAS,CAAC;QAAC,IAAI,EAAE,MAAM,CAAC;QAAC,SAAS,EAAE,MAAM,EAAE,CAAA;KAAE,CAAC;IAE3D;;;OAGG;IACH,SAAS,EAAE,KAAK,CAAC;QACf,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;QAC/B,cAAc,CAAC,EAAE,OAAO,CAAC;QACzB,WAAW,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;KACvC,CAAC,CAAC;CACJ;AAMD;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4BG;AACH,qBAAa,iBAAkB,YAAW,KAAK,CAAC,cAAc,EAAE,WAAW,CAAC;IAC1E,kBAAkB;IAClB,QAAQ,CAAC,EAAE,qCAAqC;IAEhD,kBAAkB;IAClB,QAAQ,CAAC,IAAI,gBAAgB;IAE7B,kBAAkB;IAClB,QAAQ,CAAC,WAAW,gBAAgB;IAEpC,kBAAkB;IAClB,QAAQ,CAAC,WAAW,SAGuB;IAE3C,kBAAkB;IAClB,QAAQ,CAAC,QAAQ,cAAc;IAE/B,kBAAkB;IAClB,QAAQ,CAAC,cAAc,QAAQ;IAE/B,kBAAkB;IAClB,QAAQ,CAAC,WAAW,EAAE,gBAAgB,CA8FpC;IAEF,oEAAoE;IACpE,OAAO,CAAC,QAAQ,CAAC,MAAM,CAA2B;IAElD;;;;;OAKG;gBACS,MAAM,EAAE,wBAAwB;IAQ5C;;;;;;;;;;OAUG;IACG,OAAO,CACX,IAAI,EAAE,cAAc,EACpB,OAAO,EAAE,oBAAoB,GAC5B,OAAO,CAAC,mBAAmB,CAAC,WAAW,CAAC,CAAC;CA4B7C"}
|
|
@@ -128,7 +128,10 @@ export class ForgeToolMetaTool {
|
|
|
128
128
|
},
|
|
129
129
|
allowlist: {
|
|
130
130
|
type: 'array',
|
|
131
|
-
|
|
131
|
+
description: 'The capabilities the code uses: fetch, fs.read (in code, the function fs.readFile; ' +
|
|
132
|
+
'the name fs.readFile is accepted too) and crypto. The host decides what it grants: ' +
|
|
133
|
+
'a name it does not grant refuses the forge, and the refusal names what it grants.',
|
|
134
|
+
items: { type: 'string', enum: ['fetch', 'fs.read', 'fs.readFile', 'crypto'] },
|
|
132
135
|
},
|
|
133
136
|
},
|
|
134
137
|
required: ['mode', 'code', 'allowlist'],
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ForgeToolMetaTool.js","sourceRoot":"","sources":["../../../src/cognition/emergent/ForgeToolMetaTool.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAwDH,+EAA+E;AAC/E,YAAY;AACZ,+EAA+E;AAE/E;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4BG;AACH,MAAM,OAAO,iBAAiB;
|
|
1
|
+
{"version":3,"file":"ForgeToolMetaTool.js","sourceRoot":"","sources":["../../../src/cognition/emergent/ForgeToolMetaTool.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAwDH,+EAA+E;AAC/E,YAAY;AACZ,+EAA+E;AAE/E;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4BG;AACH,MAAM,OAAO,iBAAiB;IA0H5B;;;;;OAKG;IACH,YAAY,MAAgC;QA/H5C,kBAAkB;QACT,OAAE,GAAG,iCAAiC,CAAC;QAEhD,kBAAkB;QACT,SAAI,GAAG,YAAY,CAAC;QAE7B,kBAAkB;QACT,gBAAW,GAAG,YAAY,CAAC;QAEpC,kBAAkB;QACT,gBAAW,GAClB,mEAAmE;YACnE,yEAAyE;YACzE,wCAAwC,CAAC;QAE3C,kBAAkB;QACT,aAAQ,GAAG,UAAU,CAAC;QAE/B,kBAAkB;QACT,mBAAc,GAAG,IAAI,CAAC;QAE/B,kBAAkB;QACT,gBAAW,GAAqB;YACvC,IAAI,EAAE,QAAQ;YACd,UAAU,EAAE;gBACV,IAAI,EAAE;oBACJ,IAAI,EAAE,QAAQ;oBACd,WAAW,EAAE,yCAAyC;iBACvD;gBACD,WAAW,EAAE;oBACX,IAAI,EAAE,QAAQ;oBACd,WAAW,EAAE,qDAAqD;iBACnE;gBACD,WAAW,EAAE;oBACX,IAAI,EAAE,QAAQ;oBACd,WAAW,EAAE,2CAA2C;iBACzD;gBACD,YAAY,EAAE;oBACZ,IAAI,EAAE,QAAQ;oBACd,WAAW,EAAE,6CAA6C;iBAC3D;gBACD,cAAc,EAAE;oBACd,WAAW,EAAE,iEAAiE;oBAC9E,KAAK,EAAE;wBACL;4BACE,IAAI,EAAE,QAAQ;4BACd,UAAU,EAAE;gCACV,IAAI,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,SAAS,EAAE;gCAC1C,KAAK,EAAE;oCACL,IAAI,EAAE,OAAO;oCACb,KAAK,EAAE;wCACL,IAAI,EAAE,QAAQ;wCACd,UAAU,EAAE;4CACV,IAAI,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;4CACxB,IAAI,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;4CACxB,YAAY,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;yCACjC;wCACD,QAAQ,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,cAAc,CAAC;qCAC3C;oCACD,QAAQ,EAAE,CAAC;iCACZ;6BACF;4BACD,QAAQ,EAAE,CAAC,MAAM,EAAE,OAAO,CAAC;yBAC5B;wBACD;4BACE,IAAI,EAAE,QAAQ;4BACd,UAAU,EAAE;gCACV,IAAI,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,SAAS,EAAE;gCAC1C,IAAI,EAAE;oCACJ,IAAI,EAAE,QAAQ;oCACd,WAAW,EACT,0EAA0E;wCAC1E,6EAA6E;wCAC7E,qCAAqC;wCACrC,+GAA+G;wCAC/G,yEAAyE;wCACzE,sDAAsD;wCACtD,gGAAgG;wCAChG,kDAAkD;wCAClD,uEAAuE;wCACvE,iFAAiF;iCACpF;gCACD,SAAS,EAAE;oCACT,IAAI,EAAE,OAAO;oCACb,WAAW,EACT,qFAAqF;wCACrF,qFAAqF;wCACrF,mFAAmF;oCACrF,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,OAAO,EAAE,SAAS,EAAE,aAAa,EAAE,QAAQ,CAAC,EAAE;iCAC/E;6BACF;4BACD,QAAQ,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,WAAW,CAAC;yBACxC;qBACF;iBACF;gBACD,SAAS,EAAE;oBACT,IAAI,EAAE,OAAO;oBACb,WAAW,EAAE,mDAAmD;oBAChE,KAAK,EAAE;wBACL,IAAI,EAAE,QAAQ;wBACd,UAAU,EAAE;4BACV,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;4BACzB,cAAc,EAAE,EAAE;4BAClB,WAAW,EAAE;gCACX,IAAI,EAAE,QAAQ;gCACd,WAAW,EACT,8FAA8F;oCAC9F,wDAAwD;6BAC3D;yBACF;wBACD,QAAQ,EAAE,CAAC,OAAO,CAAC;qBACpB;oBACD,QAAQ,EAAE,CAAC;iBACZ;aACF;YACD,QAAQ,EAAE,CAAC,MAAM,EAAE,aAAa,EAAE,aAAa,EAAE,gBAAgB,EAAE,WAAW,CAAC;SAChF,CAAC;QAYA,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;IACvB,CAAC;IAED,6EAA6E;IAC7E,UAAU;IACV,6EAA6E;IAE7E;;;;;;;;;;OAUG;IACH,KAAK,CAAC,OAAO,CACX,IAAoB,EACpB,OAA6B;QAE7B,4DAA4D;QAC5D,mEAAmE;QACnE,yDAAyD;QACzD,IAAI,CAAC,IAAI,CAAC,IAAI,IAAI,OAAO,IAAI,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;YAChD,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,uCAAuC,EAAE,CAAC;QAC5E,CAAC;QACD,IAAI,CAAC,IAAI,CAAC,WAAW,IAAI,OAAO,IAAI,CAAC,WAAW,KAAK,QAAQ,EAAE,CAAC;YAC9D,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,8CAA8C,EAAE,CAAC;QACnF,CAAC;QAED,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,IAAmC,EAAE;YAC1E,uEAAuE;YACvE,sEAAsE;YACtE,uEAAuE;YACvE,oCAAoC;YACpC,OAAO,EAAE,OAAO,CAAC,SAAS,IAAI,SAAS;YACvC,SAAS,EAAE,OAAO,CAAC,aAAa,IAAI,SAAS;YAC7C,iDAAiD;YACjD,MAAM,EAAE,OAAO;SAChB,CAAC,CAAC;QAEH,OAAO;YACL,OAAO,EAAE,MAAM,CAAC,OAAO;YACvB,MAAM,EAAE,MAAM;YACd,KAAK,EAAE,MAAM,CAAC,KAAK;SACpB,CAAC;IACJ,CAAC;CACF"}
|
|
@@ -26,14 +26,21 @@
|
|
|
26
26
|
* the sandbox call. For real per-isolate memory limits, an isolated-vm soft
|
|
27
27
|
* dependency would be required (deferred until hosted multi-tenant ships).
|
|
28
28
|
*
|
|
29
|
-
* Allowlisted APIs (each requires explicit opt-in
|
|
29
|
+
* Allowlisted APIs (each requires explicit opt-in; a list may name `fs.read`,
|
|
30
|
+
* the catalogue name, or `fs.readFile`, the function it injects):
|
|
30
31
|
* - `fetch` — HTTP requests; {@link SandboxedToolForgeConfig.fetchDomainAllowlist} checks the first URL's host when set.
|
|
31
32
|
* - `fs.readFile` — Read-only file access, max 1 MB, restricted to the
|
|
32
33
|
* configured roots after symlink resolution (a link inside a root cannot
|
|
33
34
|
* be used to reach a file outside one).
|
|
34
35
|
* - `crypto` — Hashing and HMAC only (`createHash`, `createHmac`).
|
|
36
|
+
*
|
|
37
|
+
* Under a ceiling (`EmergentConfig.capabilities`) the engine attaches a
|
|
38
|
+
* `CapabilityBroker`: the injected functions are then the broker's, scoped
|
|
39
|
+
* by the ceiling and checked per call, and this forge's own
|
|
40
|
+
* `fetchDomainAllowlist` and `fsReadRoots` are not used.
|
|
35
41
|
*/
|
|
36
|
-
import type { SandboxExecutionRequest, SandboxExecutionResult
|
|
42
|
+
import type { AllowlistName, SandboxExecutionRequest, SandboxExecutionResult } from './types.js';
|
|
43
|
+
import type { CapabilityBroker } from './broker/CapabilityBroker.js';
|
|
37
44
|
/**
|
|
38
45
|
* Configuration options for the {@link SandboxedToolForge}.
|
|
39
46
|
*
|
|
@@ -105,20 +112,10 @@ export declare class SandboxedToolForge {
|
|
|
105
112
|
private readonly fetchDomainAllowlist;
|
|
106
113
|
/** Filesystem roots sandboxed reads may access. */
|
|
107
114
|
private readonly fsReadRoots;
|
|
108
|
-
/**
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
* root is frequently itself a link (on macOS `/tmp` is a link to
|
|
113
|
-
* `/private/tmp`), so comparing a resolved file against an unresolved root
|
|
114
|
-
* would deny perfectly legitimate reads.
|
|
115
|
-
*
|
|
116
|
-
* Per root, not per set: a set-wide cache that is dropped whenever ANY
|
|
117
|
-
* root fails to resolve would re-resolve the roots that DID succeed, and a
|
|
118
|
-
* root symlink repointed in between would then be followed to its new
|
|
119
|
-
* target — losing the pinning this cache exists to provide.
|
|
120
|
-
*/
|
|
121
|
-
private readonly realFsReadRootCache;
|
|
115
|
+
/** The roots' real paths, pinned per root on first success (see `ReadRoots`). */
|
|
116
|
+
private readonly readRoots;
|
|
117
|
+
/** The engine's broker under a ceiling; absent on the legacy path. */
|
|
118
|
+
private broker;
|
|
122
119
|
/**
|
|
123
120
|
* The node:vm sandbox shared across all execute() calls. Owns the
|
|
124
121
|
* codeGeneration restriction, frozen console, and explicit-undefined
|
|
@@ -132,25 +129,52 @@ export declare class SandboxedToolForge {
|
|
|
132
129
|
* defaults (128 MB memory, 5000 ms timeout, no domain restrictions).
|
|
133
130
|
*/
|
|
134
131
|
constructor(config?: SandboxedToolForgeConfig);
|
|
132
|
+
/**
|
|
133
|
+
* The options this forge runs with, defaults applied. The engine reads them
|
|
134
|
+
* to check a host-built forge against a ceiling.
|
|
135
|
+
*/
|
|
136
|
+
effectiveOptions(): {
|
|
137
|
+
memoryMB: number;
|
|
138
|
+
timeoutMs: number;
|
|
139
|
+
fetchDomainAllowlist: string[];
|
|
140
|
+
fsReadRoots: string[];
|
|
141
|
+
};
|
|
142
|
+
/**
|
|
143
|
+
* Under a ceiling the engine attaches its broker: from then on the
|
|
144
|
+
* functions injected into forged code are the broker's, and every
|
|
145
|
+
* execution needs a call handle. A forge serves one broker.
|
|
146
|
+
*
|
|
147
|
+
* @throws Error when a different broker is already attached.
|
|
148
|
+
*/
|
|
149
|
+
attachBroker(broker: CapabilityBroker): void;
|
|
150
|
+
/**
|
|
151
|
+
* Translate a raw V8 SyntaxError message into a concrete hint that
|
|
152
|
+
* points the LLM (or the retry loop) at the likely cause. Returns
|
|
153
|
+
* empty string when no known pattern matches — callers still surface
|
|
154
|
+
* the raw message in that case. The hints map to the 4 most common
|
|
155
|
+
* LLM forge mistakes observed in production.
|
|
156
|
+
*/
|
|
157
|
+
private describeSyntaxError;
|
|
135
158
|
/**
|
|
136
159
|
* Static analysis of code — reject dangerous patterns before execution.
|
|
137
160
|
*
|
|
138
|
-
* Scans the source string for banned API usage patterns using regex
|
|
139
|
-
*
|
|
161
|
+
* Scans the source string for banned API usage patterns using regex
|
|
162
|
+
* matching. The list is read in catalogue names first (`fs.readFile`
|
|
163
|
+
* stands for `fs.read`), so a list naming either one allows `fs.` access.
|
|
140
164
|
*
|
|
141
165
|
* Checked patterns (always banned):
|
|
142
166
|
* - `eval()`, `new Function()`, `require()`, `import`, `process.*`
|
|
143
167
|
* - `child_process`, `fs.write*`, `fs.unlink`, `fs.rm`, `fs.rmdir`
|
|
144
168
|
*
|
|
145
|
-
* Conditionally banned (when not
|
|
146
|
-
* - `fetch(` —
|
|
147
|
-
* - `fs.*` —
|
|
148
|
-
* - `crypto.*` —
|
|
169
|
+
* Conditionally banned (when the list does not grant them):
|
|
170
|
+
* - `fetch(` — without `fetch`
|
|
171
|
+
* - `fs.*` — without `fs.read` (or its alias `fs.readFile`)
|
|
172
|
+
* - `crypto.*` — without `crypto`
|
|
149
173
|
*
|
|
150
174
|
* @param code - The raw source code string to validate.
|
|
151
|
-
* @param allowlist - The
|
|
152
|
-
* @returns
|
|
153
|
-
* `
|
|
175
|
+
* @param allowlist - The capabilities the code may use, in either name.
|
|
176
|
+
* @returns `valid: true` with no violations, or `valid: false` with a
|
|
177
|
+
* `violations` array describing each flagged pattern.
|
|
154
178
|
*
|
|
155
179
|
* @example
|
|
156
180
|
* ```ts
|
|
@@ -160,28 +184,7 @@ export declare class SandboxedToolForge {
|
|
|
160
184
|
* // result.violations === ['eval() is forbidden']
|
|
161
185
|
* ```
|
|
162
186
|
*/
|
|
163
|
-
|
|
164
|
-
* Translate a raw V8 SyntaxError message into a concrete hint that
|
|
165
|
-
* points the LLM (or the retry loop) at the likely cause. Returns
|
|
166
|
-
* empty string when no known pattern matches — callers still surface
|
|
167
|
-
* the raw message in that case. The hints map to the 4 most common
|
|
168
|
-
* LLM forge mistakes observed in production.
|
|
169
|
-
*/
|
|
170
|
-
private resolveReadRoots;
|
|
171
|
-
/**
|
|
172
|
-
* Resolve one configured root, pinning the first success.
|
|
173
|
-
*
|
|
174
|
-
* A resolved root is pinned for the life of the forge, deliberately:
|
|
175
|
-
* re-resolving it per read would let a root symlink be repointed
|
|
176
|
-
* underneath a running sandbox, which is the move this containment check
|
|
177
|
-
* exists to stop. A caller that needs to follow a retargeted root builds a
|
|
178
|
-
* new forge. A FAILED resolution is not pinned, so a root that becomes
|
|
179
|
-
* readable later is picked up — and because each root is cached on its
|
|
180
|
-
* own, one unreadable root can never un-pin a sibling that resolved.
|
|
181
|
-
*/
|
|
182
|
-
private resolveReadRoot;
|
|
183
|
-
private describeSyntaxError;
|
|
184
|
-
validateCode(code: string, allowlist: SandboxAPI[]): {
|
|
187
|
+
validateCode(code: string, allowlist: readonly AllowlistName[]): {
|
|
185
188
|
valid: boolean;
|
|
186
189
|
violations: string[];
|
|
187
190
|
};
|
|
@@ -221,10 +224,11 @@ export declare class SandboxedToolForge {
|
|
|
221
224
|
*/
|
|
222
225
|
execute(request: SandboxExecutionRequest): Promise<SandboxExecutionResult>;
|
|
223
226
|
/**
|
|
224
|
-
*
|
|
225
|
-
*
|
|
226
|
-
*
|
|
227
|
-
*
|
|
227
|
+
* The legacy path's injected functions (no ceiling), for a list in
|
|
228
|
+
* catalogue names: `fetch` checks only the first URL's host against
|
|
229
|
+
* `fetchDomainAllowlist` and follows redirects; `fs.readFile` reads under
|
|
230
|
+
* `fsReadRoots` with a 1 MB limit; `crypto` is unscoped. CodeSandbox
|
|
231
|
+
* provides JSON/Math/Date/etc. and the removed process/globalThis/require.
|
|
228
232
|
*/
|
|
229
233
|
private buildExtraGlobals;
|
|
230
234
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SandboxedToolForge.d.ts","sourceRoot":"","sources":["../../../src/cognition/emergent/SandboxedToolForge.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"SandboxedToolForge.d.ts","sourceRoot":"","sources":["../../../src/cognition/emergent/SandboxedToolForge.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAwCG;AAKH,OAAO,KAAK,EAAE,aAAa,EAAkB,uBAAuB,EAAE,sBAAsB,EAAE,MAAM,YAAY,CAAC;AAGjH,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,8BAA8B,CAAC;AAerE;;;;GAIG;AACH,MAAM,WAAW,wBAAwB;IACvC;;;;;OAKG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAC;IAElB;;;OAGG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;IAEnB;;;;;OAKG;IACH,oBAAoB,CAAC,EAAE,MAAM,EAAE,CAAC;IAEhC;;;;OAIG;IACH,WAAW,CAAC,EAAE,MAAM,EAAE,CAAC;CACxB;AA+BD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6BG;AACH,qBAAa,kBAAkB;IAC7B,mCAAmC;IACnC,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAS;IAElC,wCAAwC;IACxC,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAS;IAEnC,oDAAoD;IACpD,OAAO,CAAC,QAAQ,CAAC,oBAAoB,CAAW;IAEhD,mDAAmD;IACnD,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAW;IAEvC,iFAAiF;IACjF,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAY;IAEtC,sEAAsE;IACtE,OAAO,CAAC,MAAM,CAA+B;IAE7C;;;;OAIG;IACH,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAc;IAE1C;;;;;OAKG;gBACS,MAAM,CAAC,EAAE,wBAAwB;IAS7C;;;OAGG;IACH,gBAAgB,IAAI;QAAE,QAAQ,EAAE,MAAM,CAAC;QAAC,SAAS,EAAE,MAAM,CAAC;QAAC,oBAAoB,EAAE,MAAM,EAAE,CAAC;QAAC,WAAW,EAAE,MAAM,EAAE,CAAA;KAAE;IASlH;;;;;;OAMG;IACH,YAAY,CAAC,MAAM,EAAE,gBAAgB,GAAG,IAAI;IAW5C;;;;;;OAMG;IACH,OAAO,CAAC,mBAAmB;IAqC3B;;;;;;;;;;;;;;;;;;;;;;;;;;;;OA4BG;IACH,YAAY,CAAC,IAAI,EAAE,MAAM,EAAE,SAAS,EAAE,SAAS,aAAa,EAAE,GAAG;QAAE,KAAK,EAAE,OAAO,CAAC;QAAC,UAAU,EAAE,MAAM,EAAE,CAAA;KAAE;IAsCzG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAiCG;IACG,OAAO,CAAC,OAAO,EAAE,uBAAuB,GAAG,OAAO,CAAC,sBAAsB,CAAC;IA4IhF;;;;;;OAMG;IACH,OAAO,CAAC,iBAAiB;CA8E1B"}
|