@framers/agentos 0.2.5 → 0.2.7

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 (35) hide show
  1. package/dist/memory-router/MemoryRouter.d.ts +195 -0
  2. package/dist/memory-router/MemoryRouter.d.ts.map +1 -0
  3. package/dist/memory-router/MemoryRouter.js +155 -0
  4. package/dist/memory-router/MemoryRouter.js.map +1 -0
  5. package/dist/memory-router/backend-costs.d.ts +67 -0
  6. package/dist/memory-router/backend-costs.d.ts.map +1 -0
  7. package/dist/memory-router/backend-costs.js +136 -0
  8. package/dist/memory-router/backend-costs.js.map +1 -0
  9. package/dist/memory-router/classifier.d.ts +169 -0
  10. package/dist/memory-router/classifier.d.ts.map +1 -0
  11. package/dist/memory-router/classifier.js +193 -0
  12. package/dist/memory-router/classifier.js.map +1 -0
  13. package/dist/memory-router/dispatcher.d.ts +115 -0
  14. package/dist/memory-router/dispatcher.d.ts.map +1 -0
  15. package/dist/memory-router/dispatcher.js +84 -0
  16. package/dist/memory-router/dispatcher.js.map +1 -0
  17. package/dist/memory-router/index.d.ts +124 -0
  18. package/dist/memory-router/index.d.ts.map +1 -0
  19. package/dist/memory-router/index.js +121 -0
  20. package/dist/memory-router/index.js.map +1 -0
  21. package/dist/memory-router/routing-tables.d.ts +125 -0
  22. package/dist/memory-router/routing-tables.d.ts.map +1 -0
  23. package/dist/memory-router/routing-tables.js +137 -0
  24. package/dist/memory-router/routing-tables.js.map +1 -0
  25. package/dist/memory-router/select-backend.d.ts +136 -0
  26. package/dist/memory-router/select-backend.d.ts.map +1 -0
  27. package/dist/memory-router/select-backend.js +210 -0
  28. package/dist/memory-router/select-backend.js.map +1 -0
  29. package/dist/sandbox/executor/CodeSandbox.d.ts.map +1 -1
  30. package/dist/sandbox/executor/CodeSandbox.js +24 -0
  31. package/dist/sandbox/executor/CodeSandbox.js.map +1 -1
  32. package/dist/sandbox/executor/ICodeSandbox.d.ts +7 -3
  33. package/dist/sandbox/executor/ICodeSandbox.d.ts.map +1 -1
  34. package/dist/sandbox/executor/ICodeSandbox.js.map +1 -1
  35. package/package.json +6 -1
@@ -0,0 +1 @@
1
+ {"version":3,"file":"select-backend.d.ts","sourceRoot":"","sources":["../../src/memory-router/select-backend.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AAEH,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,oBAAoB,CAAC;AACjE,OAAO,KAAK,EACV,eAAe,EACf,mBAAmB,EACnB,kBAAkB,EAClB,YAAY,EACb,MAAM,qBAAqB,CAAC;AAE7B;;;;;;;;;;;;GAYG;AACH,MAAM,MAAM,gBAAgB,GAAG,MAAM,GAAG,MAAM,GAAG,mBAAmB,CAAC;AAErE;;;;GAIG;AACH,MAAM,WAAW,kBAAkB;IACjC,QAAQ,CAAC,KAAK,EAAE,YAAY,CAAC;IAC7B,QAAQ,CAAC,cAAc,EAAE,MAAM,GAAG,IAAI,CAAC;IACvC,QAAQ,CAAC,UAAU,EAAE,gBAAgB,CAAC;IACtC,QAAQ,CAAC,YAAY,EAAE,QAAQ,CAAC,MAAM,CAAC,eAAe,EAAE,sBAAsB,CAAC,CAAC,CAAC;CAClF;AAED;;;GAGG;AACH,MAAM,WAAW,qBAAqB;IACpC,QAAQ,CAAC,iBAAiB,EAAE,mBAAmB,CAAC;IAChD;;;;;OAKG;IACH,QAAQ,CAAC,mBAAmB,EAAE,mBAAmB,GAAG,IAAI,CAAC;IACzD,QAAQ,CAAC,aAAa,EAAE,eAAe,CAAC;IACxC,QAAQ,CAAC,mBAAmB,EAAE,MAAM,CAAC;IACrC,QAAQ,CAAC,gBAAgB,EAAE,MAAM,CAAC;IAClC,QAAQ,CAAC,aAAa,EAAE,MAAM,GAAG,IAAI,CAAC;IACtC,QAAQ,CAAC,cAAc,EAAE,OAAO,CAAC;IACjC,QAAQ,CAAC,MAAM,EAAE,kBAAkB,CAAC;CACrC;AAED;;;;GAIG;AACH,qBAAa,gCAAiC,SAAQ,KAAK;aAC7B,QAAQ,EAAE,MAAM;gBAAhB,QAAQ,EAAE,MAAM;CAI7C;AAED;;;;;GAKG;AACH,qBAAa,+BAAgC,SAAQ,KAAK;aAEtC,OAAO,EAAE,eAAe;aACxB,IAAI,EAAE,MAAM;aACZ,MAAM,EAAE,MAAM;gBAFd,OAAO,EAAE,eAAe,EACxB,IAAI,EAAE,MAAM,EACZ,MAAM,EAAE,MAAM;CAQjC;AAOD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2CG;AACH,wBAAgB,aAAa,CAAC,IAAI,EAAE;IAClC,iBAAiB,EAAE,mBAAmB,CAAC;IACvC,mBAAmB,EAAE,mBAAmB,GAAG,IAAI,CAAC;IAChD,MAAM,EAAE,kBAAkB,CAAC;CAC5B,GAAG,qBAAqB,CA6IxB"}
@@ -0,0 +1,210 @@
1
+ /**
2
+ * @file select-backend.ts
3
+ * @description Pure function that turns a classifier-predicted category
4
+ * + a {@link MemoryRouterConfig} into a {@link MemoryRoutingDecision}.
5
+ *
6
+ * Stateless. Deterministic. No I/O. Suitable for use inside hot dispatch
7
+ * loops and inside cache-key construction (the function's output is a
8
+ * pure function of its inputs).
9
+ *
10
+ * The decision carries:
11
+ * - the chosen {@link MemoryBackendId},
12
+ * - the predicted category (and optional ground-truth for telemetry),
13
+ * - the estimated USD cost of the routing pick,
14
+ * - the budget ceiling (if any) and whether the pick exceeded it,
15
+ * - a human-readable reason explaining the routing path taken.
16
+ *
17
+ * @module @framers/agentos/memory-router/select-backend
18
+ */
19
+ /**
20
+ * Thrown when the predicted category is not in the routing table. Should
21
+ * never fire with the three shipping presets (each covers all six
22
+ * categories) but guards custom-table misuse.
23
+ */
24
+ export class MemoryRouterUnknownCategoryError extends Error {
25
+ constructor(category) {
26
+ super(`MemoryRouter: category '${category}' not in routing table`);
27
+ this.category = category;
28
+ this.name = 'MemoryRouterUnknownCategoryError';
29
+ }
30
+ }
31
+ /**
32
+ * Thrown by `hard` budget mode when the routing-table pick exceeds the
33
+ * per-query USD ceiling. Carries the picked backend + cost + budget so
34
+ * application-layer fallbacks can decide what to do (fall back to a
35
+ * different memory architecture, return a typed 402 to the user, etc).
36
+ */
37
+ export class MemoryRouterBudgetExceededError extends Error {
38
+ constructor(backend, cost, budget) {
39
+ super(`MemoryRouter: backend '${backend}' cost $${cost.toFixed(4)} ` +
40
+ `exceeds hard budget $${budget.toFixed(4)}`);
41
+ this.backend = backend;
42
+ this.cost = cost;
43
+ this.budget = budget;
44
+ this.name = 'MemoryRouterBudgetExceededError';
45
+ }
46
+ }
47
+ /**
48
+ * Pure routing decision: maps a predicted category to a backend choice
49
+ * given a routing table + budget policy + cost-points data.
50
+ *
51
+ * Algorithm:
52
+ * 1. Look up the table's preferred backend for the predicted category.
53
+ * Throw if missing (custom-table misuse).
54
+ * 2. If no budget is set, return the table's pick.
55
+ * 3. If the pick fits the budget, return it.
56
+ * 4. If the pick exceeds:
57
+ * - `hard`: throw {@link MemoryRouterBudgetExceededError}.
58
+ * - `cheapest-fallback`: pick the cheapest backend that fits;
59
+ * if none fits, pick the absolute cheapest and flag exceeded.
60
+ * - `soft`: keep the pick if its $/correct beats the cheapest fits;
61
+ * otherwise downgrade to the cheapest fits. Globally-no-fit case
62
+ * falls through to absolute-cheapest with budgetExceeded=true.
63
+ *
64
+ * @param args
65
+ * @param args.predictedCategory - Category predicted by the LLM-as-judge classifier.
66
+ * @param args.groundTruthCategory - Gold-label category for telemetry, or null in production.
67
+ * @param args.config - Routing table + budget policy + cost-points map.
68
+ *
69
+ * @returns A {@link MemoryRoutingDecision} describing the chosen backend.
70
+ *
71
+ * @throws {@link MemoryRouterUnknownCategoryError} when the table does not
72
+ * cover `predictedCategory`.
73
+ * @throws {@link MemoryRouterBudgetExceededError} when `budgetMode === 'hard'`
74
+ * and the routing-table pick exceeds the budget.
75
+ *
76
+ * @example
77
+ * ```ts
78
+ * const decision = selectBackend({
79
+ * predictedCategory: 'multi-session',
80
+ * groundTruthCategory: null,
81
+ * config: {
82
+ * table: MINIMIZE_COST_TABLE,
83
+ * budgetPerQuery: 0.05,
84
+ * budgetMode: 'cheapest-fallback',
85
+ * backendCosts: DEFAULT_MEMORY_BACKEND_COSTS,
86
+ * },
87
+ * });
88
+ * console.log(decision.chosenBackend); // 'observational-memory-v11' (fits)
89
+ * ```
90
+ */
91
+ export function selectBackend(args) {
92
+ const { predictedCategory, groundTruthCategory, config } = args;
93
+ const { table, budgetPerQuery, budgetMode, backendCosts } = config;
94
+ // 1. Validate: category must be in routing table.
95
+ const picked = table.defaultMapping[predictedCategory];
96
+ if (!picked) {
97
+ throw new MemoryRouterUnknownCategoryError(predictedCategory);
98
+ }
99
+ // 2. Compute per-query cost for the picked backend on this category.
100
+ const pickedCost = backendCosts[picked].perCategoryCostPerQuery[predictedCategory];
101
+ // 3. Budget pass-through: no budget OR pick fits.
102
+ if (budgetPerQuery === null || pickedCost <= budgetPerQuery) {
103
+ return {
104
+ predictedCategory,
105
+ groundTruthCategory,
106
+ chosenBackend: picked,
107
+ chosenBackendReason: budgetPerQuery === null
108
+ ? 'routing-table pick, no budget'
109
+ : 'routing-table pick fits budget',
110
+ estimatedCostUsd: pickedCost,
111
+ budgetCeiling: budgetPerQuery,
112
+ budgetExceeded: false,
113
+ preset: table.preset,
114
+ };
115
+ }
116
+ // 4. Budget exceeded. Hard mode bails immediately.
117
+ if (budgetMode === 'hard') {
118
+ throw new MemoryRouterBudgetExceededError(picked, pickedCost, budgetPerQuery);
119
+ }
120
+ // Find the cheapest backend that fits the budget on this category.
121
+ const candidates = Object.values(backendCosts).map((c) => ({
122
+ backend: c.backend,
123
+ cost: c.perCategoryCostPerQuery[predictedCategory],
124
+ }));
125
+ const fits = candidates.filter((c) => c.cost <= budgetPerQuery);
126
+ const cheapestFits = fits.length > 0
127
+ ? fits.reduce((a, b) => (a.cost <= b.cost ? a : b))
128
+ : null;
129
+ // No backend fits at all -> globally cheapest with budgetExceeded=true.
130
+ if (!cheapestFits) {
131
+ const globallyCheapest = candidates.reduce((a, b) => a.cost <= b.cost ? a : b);
132
+ return {
133
+ predictedCategory,
134
+ groundTruthCategory,
135
+ chosenBackend: globallyCheapest.backend,
136
+ chosenBackendReason: 'no backend fits budget; picking absolute cheapest',
137
+ estimatedCostUsd: globallyCheapest.cost,
138
+ budgetCeiling: budgetPerQuery,
139
+ budgetExceeded: true,
140
+ preset: table.preset,
141
+ };
142
+ }
143
+ // cheapest-fallback: silently downgrade.
144
+ if (budgetMode === 'cheapest-fallback') {
145
+ return {
146
+ predictedCategory,
147
+ groundTruthCategory,
148
+ chosenBackend: cheapestFits.backend,
149
+ chosenBackendReason: 'budget downgrade (cheapest-fallback mode)',
150
+ estimatedCostUsd: cheapestFits.cost,
151
+ budgetCeiling: budgetPerQuery,
152
+ budgetExceeded: false,
153
+ preset: table.preset,
154
+ };
155
+ }
156
+ // soft: keep the pick only if it's better $/correct than cheapest-fits.
157
+ const pickedAcc = backendCosts[picked].perCategoryAccuracy[predictedCategory];
158
+ const cheapestAcc = backendCosts[cheapestFits.backend].perCategoryAccuracy[predictedCategory];
159
+ // Edge case: picked has zero accuracy -> always downgrade.
160
+ if (pickedAcc === 0) {
161
+ return {
162
+ predictedCategory,
163
+ groundTruthCategory,
164
+ chosenBackend: cheapestFits.backend,
165
+ chosenBackendReason: 'soft budget downgrade: picked has 0 acc on category',
166
+ estimatedCostUsd: cheapestFits.cost,
167
+ budgetCeiling: budgetPerQuery,
168
+ budgetExceeded: false,
169
+ preset: table.preset,
170
+ };
171
+ }
172
+ // Edge case: cheapest has zero accuracy -> stay with picked even though exceeded.
173
+ if (cheapestAcc === 0) {
174
+ return {
175
+ predictedCategory,
176
+ groundTruthCategory,
177
+ chosenBackend: picked,
178
+ chosenBackendReason: 'soft exceed: cheapest has 0 acc',
179
+ estimatedCostUsd: pickedCost,
180
+ budgetCeiling: budgetPerQuery,
181
+ budgetExceeded: true,
182
+ preset: table.preset,
183
+ };
184
+ }
185
+ const pickedCPC = pickedCost / pickedAcc;
186
+ const cheapestCPC = cheapestFits.cost / cheapestAcc;
187
+ if (pickedCPC <= cheapestCPC) {
188
+ return {
189
+ predictedCategory,
190
+ groundTruthCategory,
191
+ chosenBackend: picked,
192
+ chosenBackendReason: 'soft exceed: better $/correct',
193
+ estimatedCostUsd: pickedCost,
194
+ budgetCeiling: budgetPerQuery,
195
+ budgetExceeded: true,
196
+ preset: table.preset,
197
+ };
198
+ }
199
+ return {
200
+ predictedCategory,
201
+ groundTruthCategory,
202
+ chosenBackend: cheapestFits.backend,
203
+ chosenBackendReason: 'soft budget downgrade: cheaper $/correct',
204
+ estimatedCostUsd: cheapestFits.cost,
205
+ budgetCeiling: budgetPerQuery,
206
+ budgetExceeded: false,
207
+ preset: table.preset,
208
+ };
209
+ }
210
+ //# sourceMappingURL=select-backend.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"select-backend.js","sourceRoot":"","sources":["../../src/memory-router/select-backend.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"CodeSandbox.d.ts","sourceRoot":"","sources":["../../../src/sandbox/executor/CodeSandbox.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAQH,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,uBAAuB,CAAC;AACrD,OAAO,EACL,YAAY,EACZ,eAAe,EACf,aAAa,EACb,gBAAgB,EAChB,eAAe,EACf,aAAa,EACb,YAAY,EAEb,MAAM,gBAAgB,CAAC;AAiFxB;;;;GAIG;AACH,qBAAa,WAAY,YAAW,YAAY;IAC9C,OAAO,CAAC,MAAM,CAAC,CAAU;IACzB,OAAO,CAAC,aAAa,CAAgB;IACrC,OAAO,CAAC,UAAU,CAAsC;IACxD,OAAO,CAAC,iBAAiB,CAAsC;IAC/D,OAAO,CAAC,KAAK,CAAe;gBAEhB,aAAa,CAAC,EAAE,OAAO,CAAC,aAAa,CAAC;IAKlD;;OAEG;IACU,UAAU,CAAC,MAAM,CAAC,EAAE,OAAO,EAAE,aAAa,CAAC,EAAE,aAAa,GAAG,OAAO,CAAC,IAAI,CAAC;IAQvF;;OAEG;IACU,OAAO,CAAC,OAAO,EAAE,gBAAgB,GAAG,OAAO,CAAC,eAAe,CAAC;IAoGzE;;;;;;;;;OASG;YACW,iBAAiB;IAoI/B;;;;;;;;;;;OAWG;YACW,aAAa;IA6E3B;;;;;;;;;;OAUG;YACW,YAAY;IAqE1B;;OAEG;IACU,IAAI,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAcxD;;OAEG;IACU,YAAY,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,eAAe,GAAG,SAAS,CAAC;IAIpF;;OAEG;IACU,cAAc,CAAC,KAAK,SAAK,GAAG,OAAO,CAAC,eAAe,EAAE,CAAC;IAMnE;;OAEG;IACI,mBAAmB,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO;IAIrD;;OAEG;IACI,qBAAqB,IAAI,eAAe,EAAE;IAIjD;;OAEG;IACI,QAAQ,IAAI,YAAY;IAI/B;;OAEG;IACI,UAAU,IAAI,IAAI;IAIzB;;OAEG;IACI,YAAY,CAAC,QAAQ,EAAE,eAAe,EAAE,IAAI,EAAE,MAAM,GAAG,aAAa,EAAE;IAmB7E;;OAEG;IACU,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;IAerC,OAAO,CAAC,gBAAgB;IAcxB,OAAO,CAAC,cAAc;IAWtB,OAAO,CAAC,qBAAqB;CA2C9B"}
1
+ {"version":3,"file":"CodeSandbox.d.ts","sourceRoot":"","sources":["../../../src/sandbox/executor/CodeSandbox.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAQH,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,uBAAuB,CAAC;AACrD,OAAO,EACL,YAAY,EACZ,eAAe,EACf,aAAa,EACb,gBAAgB,EAChB,eAAe,EACf,aAAa,EACb,YAAY,EAEb,MAAM,gBAAgB,CAAC;AA6FxB;;;;GAIG;AACH,qBAAa,WAAY,YAAW,YAAY;IAC9C,OAAO,CAAC,MAAM,CAAC,CAAU;IACzB,OAAO,CAAC,aAAa,CAAgB;IACrC,OAAO,CAAC,UAAU,CAAsC;IACxD,OAAO,CAAC,iBAAiB,CAAsC;IAC/D,OAAO,CAAC,KAAK,CAAe;gBAEhB,aAAa,CAAC,EAAE,OAAO,CAAC,aAAa,CAAC;IAKlD;;OAEG;IACU,UAAU,CAAC,MAAM,CAAC,EAAE,OAAO,EAAE,aAAa,CAAC,EAAE,aAAa,GAAG,OAAO,CAAC,IAAI,CAAC;IAQvF;;OAEG;IACU,OAAO,CAAC,OAAO,EAAE,gBAAgB,GAAG,OAAO,CAAC,eAAe,CAAC;IAoGzE;;;;;;;;;OASG;YACW,iBAAiB;IAgJ/B;;;;;;;;;;;OAWG;YACW,aAAa;IA6E3B;;;;;;;;;;OAUG;YACW,YAAY;IAqE1B;;OAEG;IACU,IAAI,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAcxD;;OAEG;IACU,YAAY,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,eAAe,GAAG,SAAS,CAAC;IAIpF;;OAEG;IACU,cAAc,CAAC,KAAK,SAAK,GAAG,OAAO,CAAC,eAAe,EAAE,CAAC;IAMnE;;OAEG;IACI,mBAAmB,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO;IAIrD;;OAEG;IACI,qBAAqB,IAAI,eAAe,EAAE;IAIjD;;OAEG;IACI,QAAQ,IAAI,YAAY;IAI/B;;OAEG;IACI,UAAU,IAAI,IAAI;IAIzB;;OAEG;IACI,YAAY,CAAC,QAAQ,EAAE,eAAe,EAAE,IAAI,EAAE,MAAM,GAAG,aAAa,EAAE;IAmB7E;;OAEG;IACU,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;IAerC,OAAO,CAAC,gBAAgB;IAcxB,OAAO,CAAC,cAAc;IAWtB,OAAO,CAAC,qBAAqB;CA2C9B"}
@@ -39,6 +39,13 @@ const DEFAULT_CONFIG = {
39
39
  * we let extraGlobals re-bind them the entire isolation guarantee evaporates.
40
40
  * Filtered silently at merge time so a forge-style consumer that includes one
41
41
  * of these by accident still gets a working sandbox without a noisy error.
42
+ *
43
+ * Categorized:
44
+ * - Host-state escape: process, global, globalThis, require
45
+ * - Code-generation reflection: eval, Function
46
+ * - Realm-reflection / introspection: Reflect, Proxy
47
+ * - Memory side-channels (Spectre family): SharedArrayBuffer, Atomics
48
+ * - Native compilation surface: WebAssembly
42
49
  */
43
50
  const DANGEROUS_GLOBAL_KEYS = new Set([
44
51
  'process',
@@ -47,6 +54,11 @@ const DANGEROUS_GLOBAL_KEYS = new Set([
47
54
  'require',
48
55
  'eval',
49
56
  'Function',
57
+ 'Reflect',
58
+ 'Proxy',
59
+ 'WebAssembly',
60
+ 'SharedArrayBuffer',
61
+ 'Atomics',
50
62
  ]);
51
63
  /** Dangerous patterns by language */
52
64
  const DANGEROUS_PATTERNS = {
@@ -264,6 +276,18 @@ export class CodeSandbox {
264
276
  clearInterval: undefined,
265
277
  clearImmediate: undefined,
266
278
  queueMicrotask: undefined,
279
+ // Realm intrinsics that node:vm exposes by default but untrusted
280
+ // sandbox code has no legitimate need for. Explicitly nulling them
281
+ // blocks runtime reflection paths (Reflect.construct(Function,...)),
282
+ // Proxy-based prototype-chain attacks, and the SharedArrayBuffer/
283
+ // Atomics Spectre side-channel surface. WebAssembly is already
284
+ // blocked via codeGeneration: { wasm: false } but nulled here for
285
+ // belt-and-suspenders.
286
+ Reflect: undefined,
287
+ Proxy: undefined,
288
+ WebAssembly: undefined,
289
+ SharedArrayBuffer: undefined,
290
+ Atomics: undefined,
267
291
  };
268
292
  // Merge caller-supplied extras AFTER the hardened defaults so an explicit
269
293
  // override (e.g., SandboxedToolForge injecting an allowlisted fetch wrapper)
@@ -1 +1 @@
1
- {"version":3,"file":"CodeSandbox.js","sourceRoot":"","sources":["../../../src/sandbox/executor/CodeSandbox.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"CodeSandbox.js","sourceRoot":"","sources":["../../../src/sandbox/executor/CodeSandbox.ts"],"names":[],"mappings":"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"}
@@ -48,9 +48,13 @@ export interface SandboxConfig {
48
48
  * SandboxedToolForge) needs to expose allowlisted APIs (`fetch`, `fs`,
49
49
  * `crypto`) without forking a second sandbox implementation.
50
50
  *
51
- * Security-critical keys (`process`, `global`, `globalThis`, `require`,
52
- * `eval`, `Function`) are silently dropped from this map at merge time
53
- * so callers cannot accidentally undo the sandbox's hardenings.
51
+ * Security-critical keys are silently dropped from this map at merge time
52
+ * so callers cannot accidentally undo the sandbox's hardenings:
53
+ * - Host-state escape: `process`, `global`, `globalThis`, `require`
54
+ * - Code-generation reflection: `eval`, `Function`
55
+ * - Realm-reflection / introspection: `Reflect`, `Proxy`
56
+ * - Memory side-channels (Spectre family): `SharedArrayBuffer`, `Atomics`
57
+ * - Native compilation surface: `WebAssembly`
54
58
  */
55
59
  extraGlobals?: Record<string, unknown>;
56
60
  }
@@ -1 +1 @@
1
- {"version":3,"file":"ICodeSandbox.d.ts","sourceRoot":"","sources":["../../../src/sandbox/executor/ICodeSandbox.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ICodeSandbox.d.ts","sourceRoot":"","sources":["../../../src/sandbox/executor/ICodeSandbox.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,uBAAuB,CAAC;AAMrD;;GAEG;AACH,MAAM,MAAM,eAAe,GAAG,QAAQ,GAAG,YAAY,GAAG,YAAY,GAAG,OAAO,GAAG,KAAK,CAAC;AAEvF;;GAEG;AACH,MAAM,MAAM,eAAe,GAAG,SAAS,GAAG,SAAS,GAAG,SAAS,GAAG,OAAO,GAAG,SAAS,GAAG,QAAQ,CAAC;AAEjG;;GAEG;AACH,MAAM,WAAW,aAAa;IAC5B,6CAA6C;IAC7C,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,8BAA8B;IAC9B,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,mCAAmC;IACnC,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,sCAAsC;IACtC,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACjC,sCAAsC;IACtC,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,sCAAsC;IACtC,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,yCAAyC;IACzC,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,4DAA4D;IAC5D,YAAY,CAAC,EAAE,MAAM,EAAE,CAAC;IACxB,8BAA8B;IAC9B,cAAc,CAAC,EAAE,MAAM,EAAE,CAAC;IAC1B,uCAAuC;IACvC,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB;;;;;;;;;;;;;OAaG;IACH,YAAY,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACxC;AAED;;GAEG;AACH,MAAM,WAAW,WAAW;IAC1B,8CAA8C;IAC9C,IAAI,EAAE,MAAM,CAAC;IACb,mBAAmB;IACnB,OAAO,EAAE,MAAM,CAAC;IAChB,oBAAoB;IACpB,QAAQ,CAAC,EAAE,MAAM,GAAG,QAAQ,GAAG,QAAQ,CAAC;CACzC;AAED;;GAEG;AACH,MAAM,WAAW,gBAAgB;IAC/B,0BAA0B;IAC1B,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,2BAA2B;IAC3B,QAAQ,EAAE,eAAe,CAAC;IAC1B,sBAAsB;IACtB,IAAI,EAAE,MAAM,CAAC;IACb,yBAAyB;IACzB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,6BAA6B;IAC7B,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC;IAChB,kBAAkB;IAClB,KAAK,CAAC,EAAE,WAAW,EAAE,CAAC;IACtB,sCAAsC;IACtC,MAAM,CAAC,EAAE,OAAO,CAAC,aAAa,CAAC,CAAC;IAChC,4BAA4B;IAC5B,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACpC;AAED;;GAEG;AACH,MAAM,WAAW,eAAe;IAC9B,sBAAsB;IACtB,MAAM,EAAE,MAAM,CAAC;IACf,qBAAqB;IACrB,MAAM,EAAE,MAAM,CAAC;IACf,gBAAgB;IAChB,QAAQ,EAAE,MAAM,CAAC;IACjB,6BAA6B;IAC7B,KAAK,CAAC,EAAE,WAAW,EAAE,CAAC;CACvB;AAED;;GAEG;AACH,MAAM,WAAW,eAAe;IAC9B,0BAA0B;IAC1B,WAAW,EAAE,MAAM,CAAC;IACpB,uBAAuB;IACvB,MAAM,EAAE,eAAe,CAAC;IACxB,4BAA4B;IAC5B,MAAM,CAAC,EAAE,eAAe,CAAC;IACzB,wCAAwC;IACxC,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,yCAAyC;IACzC,UAAU,EAAE,MAAM,CAAC;IACnB,2BAA2B;IAC3B,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,oCAAoC;IACpC,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,uCAAuC;IACvC,SAAS,EAAE,MAAM,CAAC;IAClB,yCAAyC;IACzC,WAAW,EAAE,MAAM,CAAC;IACpB,oDAAoD;IACpD,SAAS,CAAC,EAAE;QACV,MAAM,CAAC,EAAE,OAAO,CAAC;QACjB,MAAM,CAAC,EAAE,OAAO,CAAC;QACjB,OAAO,CAAC,EAAE,OAAO,CAAC;KACnB,CAAC;IACF,+BAA+B;IAC/B,cAAc,CAAC,EAAE,aAAa,EAAE,CAAC;CAClC;AAED;;GAEG;AACH,MAAM,WAAW,aAAa;IAC5B,iBAAiB;IACjB,IAAI,EAAE,gBAAgB,GAAG,iBAAiB,GAAG,iBAAiB,GAAG,sBAAsB,GAAG,gBAAgB,CAAC;IAC3G,+BAA+B;IAC/B,WAAW,EAAE,MAAM,CAAC;IACpB,gBAAgB;IAChB,SAAS,EAAE,MAAM,CAAC;IAClB,eAAe;IACf,QAAQ,EAAE,KAAK,GAAG,QAAQ,GAAG,MAAM,GAAG,UAAU,CAAC;CAClD;AAED;;GAEG;AACH,MAAM,WAAW,YAAY;IAC3B,uBAAuB;IACvB,eAAe,EAAE,MAAM,CAAC;IACxB,4BAA4B;IAC5B,oBAAoB,EAAE,MAAM,CAAC;IAC7B,wBAAwB;IACxB,gBAAgB,EAAE,MAAM,CAAC;IACzB,2BAA2B;IAC3B,kBAAkB,EAAE,MAAM,CAAC;IAC3B,wBAAwB;IACxB,gBAAgB,EAAE,MAAM,CAAC;IACzB,6BAA6B;IAC7B,aAAa,EAAE,MAAM,CAAC;IACtB,2BAA2B;IAC3B,cAAc,EAAE,MAAM,CAAC;IACvB,6BAA6B;IAC7B,UAAU,EAAE,MAAM,CAAC,eAAe,EAAE,MAAM,CAAC,CAAC;IAC5C,4BAA4B;IAC5B,mBAAmB,EAAE,MAAM,CAAC;CAC7B;AAMD;;;;;;;;;;;;;;;;;;GAkBG;AACH,MAAM,WAAW,YAAY;IAC3B;;;;OAIG;IACH,UAAU,CAAC,MAAM,CAAC,EAAE,OAAO,EAAE,aAAa,CAAC,EAAE,aAAa,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAE3E;;;;OAIG;IACH,OAAO,CAAC,OAAO,EAAE,gBAAgB,GAAG,OAAO,CAAC,eAAe,CAAC,CAAC;IAE7D;;;;OAIG;IACH,IAAI,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;IAE5C;;;;OAIG;IACH,YAAY,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,eAAe,GAAG,SAAS,CAAC,CAAC;IAExE;;;;OAIG;IACH,cAAc,CAAC,KAAK,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,eAAe,EAAE,CAAC,CAAC;IAE3D;;;;OAIG;IACH,mBAAmB,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC;IAE/C;;;OAGG;IACH,qBAAqB,IAAI,eAAe,EAAE,CAAC;IAE3C;;;OAGG;IACH,QAAQ,IAAI,YAAY,CAAC;IAEzB;;OAEG;IACH,UAAU,IAAI,IAAI,CAAC;IAEnB;;;;;OAKG;IACH,YAAY,CAAC,QAAQ,EAAE,eAAe,EAAE,IAAI,EAAE,MAAM,GAAG,aAAa,EAAE,CAAC;IAEvE;;OAEG;IACH,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;CAC1B;AAED;;GAEG;AACH,qBAAa,YAAa,SAAQ,KAAK;IACrC,SAAgB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrC,SAAgB,MAAM,EAAE,eAAe,CAAC;IACxC,SAAgB,cAAc,CAAC,EAAE,aAAa,EAAE,CAAC;gBAG/C,OAAO,EAAE,MAAM,EACf,MAAM,EAAE,eAAe,EACvB,WAAW,CAAC,EAAE,MAAM,EACpB,cAAc,CAAC,EAAE,aAAa,EAAE;CAQnC"}
@@ -1 +1 @@
1
- {"version":3,"file":"ICodeSandbox.js","sourceRoot":"","sources":["../../../src/sandbox/executor/ICodeSandbox.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AA8QH;;GAEG;AACH,MAAM,OAAO,YAAa,SAAQ,KAAK;IAKrC,YACE,OAAe,EACf,MAAuB,EACvB,WAAoB,EACpB,cAAgC;QAEhC,KAAK,CAAC,OAAO,CAAC,CAAC;QACf,IAAI,CAAC,IAAI,GAAG,cAAc,CAAC;QAC3B,IAAI,CAAC,WAAW,GAAG,WAAW,CAAC;QAC/B,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QACrB,IAAI,CAAC,cAAc,GAAG,cAAc,CAAC;IACvC,CAAC;CACF"}
1
+ {"version":3,"file":"ICodeSandbox.js","sourceRoot":"","sources":["../../../src/sandbox/executor/ICodeSandbox.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAkRH;;GAEG;AACH,MAAM,OAAO,YAAa,SAAQ,KAAK;IAKrC,YACE,OAAe,EACf,MAAuB,EACvB,WAAoB,EACpB,cAAgC;QAEhC,KAAK,CAAC,OAAO,CAAC,CAAC;QACf,IAAI,CAAC,IAAI,GAAG,cAAc,CAAC;QAC3B,IAAI,CAAC,WAAW,GAAG,WAAW,CAAC;QAC/B,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QACrB,IAAI,CAAC,cAAc,GAAG,cAAc,CAAC;IACvC,CAAC;CACF"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@framers/agentos",
3
- "version": "0.2.5",
3
+ "version": "0.2.7",
4
4
  "description": "Modular AgentOS orchestration library",
5
5
  "type": "module",
6
6
  "main": "dist/index.js",
@@ -258,6 +258,11 @@
258
258
  "default": "./dist/query-router/index.js",
259
259
  "types": "./dist/query-router/index.d.ts"
260
260
  },
261
+ "./memory-router": {
262
+ "import": "./dist/memory-router/index.js",
263
+ "default": "./dist/memory-router/index.js",
264
+ "types": "./dist/memory-router/index.d.ts"
265
+ },
261
266
  "./memory/index": {
262
267
  "import": "./dist/memory/index.js",
263
268
  "default": "./dist/memory/index.js",