@lumenflow/kernel 3.0.0 → 3.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE.md +13 -185
- package/dist/event-kinds.d.ts.map +1 -1
- package/dist/event-kinds.js +2 -0
- package/dist/event-kinds.js.map +1 -1
- package/dist/kernel.schemas.d.ts +4 -0
- package/dist/kernel.schemas.d.ts.map +1 -1
- package/dist/kernel.schemas.js +2 -1
- package/dist/kernel.schemas.js.map +1 -1
- package/dist/pack/manifest.d.ts +4 -0
- package/dist/pack/manifest.d.ts.map +1 -1
- package/dist/pack/manifest.js +34 -0
- package/dist/pack/manifest.js.map +1 -1
- package/dist/policy/policy-engine.d.ts +1 -1
- package/dist/policy/policy-engine.d.ts.map +1 -1
- package/dist/policy/policy-engine.js +18 -5
- package/dist/policy/policy-engine.js.map +1 -1
- package/dist/runtime/kernel-runtime.d.ts +15 -0
- package/dist/runtime/kernel-runtime.d.ts.map +1 -1
- package/dist/runtime/kernel-runtime.js +232 -4
- package/dist/runtime/kernel-runtime.js.map +1 -1
- package/dist/shared-constants.d.ts +1 -0
- package/dist/shared-constants.d.ts.map +1 -1
- package/dist/shared-constants.js +1 -0
- package/dist/shared-constants.js.map +1 -1
- package/dist/tool-host/tool-host.d.ts +3 -0
- package/dist/tool-host/tool-host.d.ts.map +1 -1
- package/dist/tool-host/tool-host.js +67 -26
- package/dist/tool-host/tool-host.js.map +1 -1
- package/package.json +4 -4
|
@@ -10,7 +10,7 @@ import { KERNEL_EVENT_KINDS, TOOL_TRACE_KINDS, isRunLifecycleEventKind, } from '
|
|
|
10
10
|
import { EXECUTION_METADATA_KEYS, KERNEL_POLICY_IDS, KERNEL_RUNTIME_EVENTS_DIR_NAME, KERNEL_RUNTIME_EVENTS_FILE_NAME, KERNEL_RUNTIME_EVENTS_LOCK_FILE_NAME, KERNEL_RUNTIME_EVIDENCE_DIR_NAME, KERNEL_RUNTIME_ROOT_DIR_NAME, KERNEL_RUNTIME_TASKS_DIR_NAME, LUMENFLOW_DIR_NAME, LUMENFLOW_SCOPE_NAME, PACKAGES_DIR_NAME, PACKS_DIR_NAME, UTF8_ENCODING, WORKSPACE_CONFIG_HASH_CONTEXT_KEYS, WORKSPACE_FILE_NAME, } from '../shared-constants.js';
|
|
11
11
|
import { EventStore, projectTaskState, } from '../event-store/index.js';
|
|
12
12
|
import { EvidenceStore } from '../evidence/evidence-store.js';
|
|
13
|
-
import { ExecutionContextSchema, RUN_STATUSES, RunSchema, TOOL_HANDLER_KINDS, TaskSpecSchema, WorkspaceSpecSchema, } from '../kernel.schemas.js';
|
|
13
|
+
import { ExecutionContextSchema, RUN_STATUSES, RunSchema, TOOL_ERROR_CODES, TOOL_HANDLER_KINDS, TaskSpecSchema, WorkspaceSpecSchema, } from '../kernel.schemas.js';
|
|
14
14
|
import { PackLoader, resolvePackToolEntryPath } from '../pack/index.js';
|
|
15
15
|
import { POLICY_TRIGGERS, PolicyEngine, } from '../policy/index.js';
|
|
16
16
|
import { SandboxSubprocessDispatcher, } from '../sandbox/index.js';
|
|
@@ -25,6 +25,7 @@ const DEFAULT_PACKS_ROOT_CANDIDATES = [
|
|
|
25
25
|
];
|
|
26
26
|
const DEFAULT_PACK_TOOL_INPUT_SCHEMA = z.record(z.string(), z.unknown());
|
|
27
27
|
const DEFAULT_PACK_TOOL_OUTPUT_SCHEMA = z.record(z.string(), z.unknown());
|
|
28
|
+
const JSON_SCHEMA_MAX_DEPTH = 12;
|
|
28
29
|
const RUNTIME_LOAD_STAGE_ERROR_PREFIX = 'Runtime load stage failed for pack';
|
|
29
30
|
const RUNTIME_REGISTRATION_STAGE_ERROR_PREFIX = 'Runtime registration stage failed for tool';
|
|
30
31
|
const WORKSPACE_UPDATED_INIT_SUMMARY = 'Workspace config hash initialized during runtime startup.';
|
|
@@ -116,6 +117,19 @@ function toPolicyHookDecisions(evaluation) {
|
|
|
116
117
|
},
|
|
117
118
|
];
|
|
118
119
|
}
|
|
120
|
+
if (evaluation.decision === 'approval_required') {
|
|
121
|
+
const hasApprovalRequired = evaluation.decisions.some((decision) => decision.decision === 'approval_required');
|
|
122
|
+
if (!hasApprovalRequired) {
|
|
123
|
+
return [
|
|
124
|
+
...evaluation.decisions,
|
|
125
|
+
{
|
|
126
|
+
policy_id: KERNEL_POLICY_IDS.APPROVAL_REQUIRED,
|
|
127
|
+
decision: 'approval_required',
|
|
128
|
+
reason: 'Effective policy decision is approval_required.',
|
|
129
|
+
},
|
|
130
|
+
];
|
|
131
|
+
}
|
|
132
|
+
}
|
|
119
133
|
if (evaluation.decision === 'deny') {
|
|
120
134
|
const hasHardDeny = evaluation.decisions.some((decision) => decision.decision === 'deny');
|
|
121
135
|
if (!hasHardDeny) {
|
|
@@ -153,14 +167,185 @@ function formatRuntimeRegistrationStageError(toolName, packId) {
|
|
|
153
167
|
function buildPackToolDescription(toolName, packId) {
|
|
154
168
|
return `Pack tool ${toolName} declared by ${packId}`;
|
|
155
169
|
}
|
|
170
|
+
function ensureJsonSchemaObject(value, context) {
|
|
171
|
+
if (!value || typeof value !== 'object' || Array.isArray(value)) {
|
|
172
|
+
throw new Error(`${context} must be a JSON Schema object`);
|
|
173
|
+
}
|
|
174
|
+
return value;
|
|
175
|
+
}
|
|
176
|
+
function parseJsonSchemaType(schema, context) {
|
|
177
|
+
const schemaType = schema.type;
|
|
178
|
+
if (typeof schemaType !== 'string') {
|
|
179
|
+
throw new Error(`${context}.type must be a string`);
|
|
180
|
+
}
|
|
181
|
+
return schemaType;
|
|
182
|
+
}
|
|
183
|
+
function isJsonLiteral(value) {
|
|
184
|
+
return (value === null ||
|
|
185
|
+
typeof value === 'string' ||
|
|
186
|
+
typeof value === 'number' ||
|
|
187
|
+
typeof value === 'boolean');
|
|
188
|
+
}
|
|
189
|
+
function buildEnumSchema(enumValues, context) {
|
|
190
|
+
if (enumValues.length === 0) {
|
|
191
|
+
throw new Error(`${context}.enum must not be empty`);
|
|
192
|
+
}
|
|
193
|
+
if (enumValues.every((value) => typeof value === 'string')) {
|
|
194
|
+
const [firstValue, ...restValues] = enumValues;
|
|
195
|
+
if (typeof firstValue !== 'string') {
|
|
196
|
+
throw new Error(`${context}.enum must include at least one string value`);
|
|
197
|
+
}
|
|
198
|
+
return z.enum([firstValue, ...restValues]);
|
|
199
|
+
}
|
|
200
|
+
if (enumValues.length === 1) {
|
|
201
|
+
const singleValue = enumValues[0];
|
|
202
|
+
if (!isJsonLiteral(singleValue)) {
|
|
203
|
+
throw new Error(`${context}.enum values must be JSON literal values`);
|
|
204
|
+
}
|
|
205
|
+
return z.literal(singleValue);
|
|
206
|
+
}
|
|
207
|
+
if (!enumValues.every((value) => isJsonLiteral(value))) {
|
|
208
|
+
throw new Error(`${context}.enum values must be JSON literal values`);
|
|
209
|
+
}
|
|
210
|
+
const literals = enumValues.map((value) => z.literal(value));
|
|
211
|
+
const [firstLiteral, ...restLiterals] = literals;
|
|
212
|
+
if (!firstLiteral) {
|
|
213
|
+
throw new Error(`${context}.enum must include at least one value`);
|
|
214
|
+
}
|
|
215
|
+
return z.union([firstLiteral, ...restLiterals]);
|
|
216
|
+
}
|
|
217
|
+
function buildStringSchema(schema, context) {
|
|
218
|
+
let resolved = z.string();
|
|
219
|
+
if (typeof schema.minLength === 'number') {
|
|
220
|
+
resolved = resolved.min(schema.minLength);
|
|
221
|
+
}
|
|
222
|
+
if (typeof schema.maxLength === 'number') {
|
|
223
|
+
resolved = resolved.max(schema.maxLength);
|
|
224
|
+
}
|
|
225
|
+
if (typeof schema.pattern === 'string') {
|
|
226
|
+
try {
|
|
227
|
+
resolved = resolved.regex(new RegExp(schema.pattern));
|
|
228
|
+
}
|
|
229
|
+
catch {
|
|
230
|
+
throw new Error(`${context}.pattern must be a valid regular expression`);
|
|
231
|
+
}
|
|
232
|
+
}
|
|
233
|
+
return resolved;
|
|
234
|
+
}
|
|
235
|
+
function buildNumberSchema(schema, _context, integerOnly) {
|
|
236
|
+
let resolved = integerOnly ? z.number().int() : z.number();
|
|
237
|
+
if (typeof schema.minimum === 'number') {
|
|
238
|
+
resolved = resolved.gte(schema.minimum);
|
|
239
|
+
}
|
|
240
|
+
if (typeof schema.maximum === 'number') {
|
|
241
|
+
resolved = resolved.lte(schema.maximum);
|
|
242
|
+
}
|
|
243
|
+
if (typeof schema.exclusiveMinimum === 'number') {
|
|
244
|
+
resolved = resolved.gt(schema.exclusiveMinimum);
|
|
245
|
+
}
|
|
246
|
+
if (typeof schema.exclusiveMaximum === 'number') {
|
|
247
|
+
resolved = resolved.lt(schema.exclusiveMaximum);
|
|
248
|
+
}
|
|
249
|
+
return resolved;
|
|
250
|
+
}
|
|
251
|
+
function buildObjectSchema(schema, context, depth) {
|
|
252
|
+
const propertiesValue = schema.properties ?? {};
|
|
253
|
+
if (!propertiesValue || typeof propertiesValue !== 'object' || Array.isArray(propertiesValue)) {
|
|
254
|
+
throw new Error(`${context}.properties must be an object when provided`);
|
|
255
|
+
}
|
|
256
|
+
const properties = propertiesValue;
|
|
257
|
+
const requiredValue = schema.required ?? [];
|
|
258
|
+
if (!Array.isArray(requiredValue)) {
|
|
259
|
+
throw new Error(`${context}.required must be an array when provided`);
|
|
260
|
+
}
|
|
261
|
+
const requiredKeys = new Set(requiredValue.filter((entry) => typeof entry === 'string'));
|
|
262
|
+
const shape = {};
|
|
263
|
+
for (const [key, childSchemaValue] of Object.entries(properties)) {
|
|
264
|
+
const childContext = `${context}.properties.${key}`;
|
|
265
|
+
const childSchema = buildZodSchemaFromJsonSchema(childSchemaValue, childContext, depth + 1);
|
|
266
|
+
shape[key] = requiredKeys.has(key) ? childSchema : childSchema.optional();
|
|
267
|
+
}
|
|
268
|
+
const additionalProperties = schema.additionalProperties;
|
|
269
|
+
if (additionalProperties === true) {
|
|
270
|
+
return z.object(shape).passthrough();
|
|
271
|
+
}
|
|
272
|
+
return z.object(shape).strict();
|
|
273
|
+
}
|
|
274
|
+
function buildArraySchema(schema, context, depth) {
|
|
275
|
+
if (!('items' in schema)) {
|
|
276
|
+
throw new Error(`${context}.items is required for array schemas`);
|
|
277
|
+
}
|
|
278
|
+
const itemSchema = buildZodSchemaFromJsonSchema(schema.items, `${context}.items`, depth + 1);
|
|
279
|
+
let resolved = z.array(itemSchema);
|
|
280
|
+
if (typeof schema.minItems === 'number') {
|
|
281
|
+
resolved = resolved.min(schema.minItems);
|
|
282
|
+
}
|
|
283
|
+
if (typeof schema.maxItems === 'number') {
|
|
284
|
+
resolved = resolved.max(schema.maxItems);
|
|
285
|
+
}
|
|
286
|
+
return resolved;
|
|
287
|
+
}
|
|
288
|
+
function buildZodSchemaFromJsonSchema(schemaValue, context, depth) {
|
|
289
|
+
if (depth > JSON_SCHEMA_MAX_DEPTH) {
|
|
290
|
+
throw new Error(`${context} exceeded maximum schema depth (${JSON_SCHEMA_MAX_DEPTH})`);
|
|
291
|
+
}
|
|
292
|
+
const schema = ensureJsonSchemaObject(schemaValue, context);
|
|
293
|
+
if ('const' in schema) {
|
|
294
|
+
if (!isJsonLiteral(schema.const)) {
|
|
295
|
+
throw new Error(`${context}.const must be a JSON literal value`);
|
|
296
|
+
}
|
|
297
|
+
return z.literal(schema.const);
|
|
298
|
+
}
|
|
299
|
+
if (Array.isArray(schema.enum)) {
|
|
300
|
+
return buildEnumSchema(schema.enum, context);
|
|
301
|
+
}
|
|
302
|
+
const schemaType = parseJsonSchemaType(schema, context);
|
|
303
|
+
if (schemaType === 'object') {
|
|
304
|
+
return buildObjectSchema(schema, context, depth);
|
|
305
|
+
}
|
|
306
|
+
if (schemaType === 'array') {
|
|
307
|
+
return buildArraySchema(schema, context, depth);
|
|
308
|
+
}
|
|
309
|
+
if (schemaType === 'string') {
|
|
310
|
+
return buildStringSchema(schema, context);
|
|
311
|
+
}
|
|
312
|
+
if (schemaType === 'number') {
|
|
313
|
+
return buildNumberSchema(schema, context, false);
|
|
314
|
+
}
|
|
315
|
+
if (schemaType === 'integer') {
|
|
316
|
+
return buildNumberSchema(schema, context, true);
|
|
317
|
+
}
|
|
318
|
+
if (schemaType === 'boolean') {
|
|
319
|
+
return z.boolean();
|
|
320
|
+
}
|
|
321
|
+
throw new Error(`${context}.type "${schemaType}" is not supported`);
|
|
322
|
+
}
|
|
323
|
+
function parsePackToolJsonSchema(schemaValue, toolName, schemaField) {
|
|
324
|
+
const context = `${schemaField} for tool "${toolName}"`;
|
|
325
|
+
try {
|
|
326
|
+
return buildZodSchemaFromJsonSchema(schemaValue, context, 0);
|
|
327
|
+
}
|
|
328
|
+
catch (error) {
|
|
329
|
+
const message = error instanceof Error ? error.message : 'unknown schema parsing error';
|
|
330
|
+
throw new Error(`Invalid ${context}: ${message}`, {
|
|
331
|
+
cause: error,
|
|
332
|
+
});
|
|
333
|
+
}
|
|
334
|
+
}
|
|
156
335
|
export async function defaultRuntimeToolCapabilityResolver(input) {
|
|
157
336
|
const resolvedEntry = resolvePackToolEntryPath(input.loadedPack.packRoot, input.tool.entry);
|
|
337
|
+
const resolvedInputSchema = input.tool.input_schema
|
|
338
|
+
? parsePackToolJsonSchema(input.tool.input_schema, input.tool.name, 'input_schema')
|
|
339
|
+
: DEFAULT_PACK_TOOL_INPUT_SCHEMA;
|
|
340
|
+
const resolvedOutputSchema = input.tool.output_schema
|
|
341
|
+
? parsePackToolJsonSchema(input.tool.output_schema, input.tool.name, 'output_schema')
|
|
342
|
+
: DEFAULT_PACK_TOOL_OUTPUT_SCHEMA;
|
|
158
343
|
return {
|
|
159
344
|
name: input.tool.name,
|
|
160
345
|
domain: input.loadedPack.manifest.id,
|
|
161
346
|
version: input.loadedPack.manifest.version,
|
|
162
|
-
input_schema:
|
|
163
|
-
output_schema:
|
|
347
|
+
input_schema: resolvedInputSchema,
|
|
348
|
+
output_schema: resolvedOutputSchema,
|
|
164
349
|
permission: input.tool.permission,
|
|
165
350
|
required_scopes: input.tool.required_scopes,
|
|
166
351
|
handler: {
|
|
@@ -317,6 +502,7 @@ export class DefaultKernelRuntime {
|
|
|
317
502
|
stateAliases;
|
|
318
503
|
now;
|
|
319
504
|
runIdFactory;
|
|
505
|
+
pendingApprovals = new Map();
|
|
320
506
|
constructor(options) {
|
|
321
507
|
this.workspaceSpec = options.workspace_spec;
|
|
322
508
|
this.workspaceFilePath = options.workspace_file_path;
|
|
@@ -391,7 +577,29 @@ export class DefaultKernelRuntime {
|
|
|
391
577
|
[EXECUTION_METADATA_KEYS.WORKSPACE_CONFIG_HASH]: actualHash,
|
|
392
578
|
},
|
|
393
579
|
});
|
|
394
|
-
|
|
580
|
+
const output = await this.toolHost.execute(name, input, runtimeContext);
|
|
581
|
+
if (output.error?.code === TOOL_ERROR_CODES.APPROVAL_REQUIRED) {
|
|
582
|
+
const details = output.error.details;
|
|
583
|
+
const requestId = typeof details?.request_id === 'string' ? details.request_id : undefined;
|
|
584
|
+
if (requestId) {
|
|
585
|
+
this.pendingApprovals.set(requestId, {
|
|
586
|
+
task_id: context.task_id,
|
|
587
|
+
run_id: context.run_id,
|
|
588
|
+
tool_name: name,
|
|
589
|
+
requested_at: normalizeTimestamp(this.now),
|
|
590
|
+
});
|
|
591
|
+
const waitingEvent = {
|
|
592
|
+
schema_version: 1,
|
|
593
|
+
kind: KERNEL_EVENT_KINDS.TASK_WAITING,
|
|
594
|
+
task_id: context.task_id,
|
|
595
|
+
timestamp: normalizeTimestamp(this.now),
|
|
596
|
+
reason: `Approval required for tool "${name}"`,
|
|
597
|
+
wait_for: requestId,
|
|
598
|
+
};
|
|
599
|
+
await this.eventStore.append(waitingEvent);
|
|
600
|
+
}
|
|
601
|
+
}
|
|
602
|
+
return output;
|
|
395
603
|
}
|
|
396
604
|
async createTask(taskSpec) {
|
|
397
605
|
const parsedTask = TaskSpecSchema.parse(taskSpec);
|
|
@@ -591,6 +799,26 @@ export class DefaultKernelRuntime {
|
|
|
591
799
|
events,
|
|
592
800
|
};
|
|
593
801
|
}
|
|
802
|
+
async resolveApproval(input) {
|
|
803
|
+
const pending = this.pendingApprovals.get(input.request_id);
|
|
804
|
+
if (!pending) {
|
|
805
|
+
throw new Error(`No pending approval found for request_id "${input.request_id}"`);
|
|
806
|
+
}
|
|
807
|
+
this.pendingApprovals.delete(input.request_id);
|
|
808
|
+
const resumedEvent = {
|
|
809
|
+
schema_version: 1,
|
|
810
|
+
kind: KERNEL_EVENT_KINDS.TASK_RESUMED,
|
|
811
|
+
task_id: pending.task_id,
|
|
812
|
+
timestamp: normalizeTimestamp(this.now),
|
|
813
|
+
};
|
|
814
|
+
await this.eventStore.append(resumedEvent);
|
|
815
|
+
return {
|
|
816
|
+
request_id: input.request_id,
|
|
817
|
+
approved: input.approved,
|
|
818
|
+
task_id: pending.task_id,
|
|
819
|
+
run_id: pending.run_id,
|
|
820
|
+
};
|
|
821
|
+
}
|
|
594
822
|
async requireTaskSpec(taskId) {
|
|
595
823
|
const loaded = await readTaskSpecFromDisk(this.taskSpecRoot, taskId);
|
|
596
824
|
if (!loaded) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"kernel-runtime.js","sourceRoot":"","sources":["../../src/runtime/kernel-runtime.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"kernel-runtime.js","sourceRoot":"","sources":["../../src/runtime/kernel-runtime.ts"],"names":[],"mappings":"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"}
|
|
@@ -43,6 +43,7 @@ export declare const KERNEL_POLICY_IDS: {
|
|
|
43
43
|
readonly SCOPE_RESERVED_PATH: "kernel.scope.reserved-path";
|
|
44
44
|
readonly SCOPE_BOUNDARY: "kernel.scope.boundary";
|
|
45
45
|
readonly RECONCILIATION: "kernel.reconciliation";
|
|
46
|
+
readonly APPROVAL_REQUIRED: "kernel.policy.approval-required";
|
|
46
47
|
};
|
|
47
48
|
export type KernelPolicyId = (typeof KERNEL_POLICY_IDS)[keyof typeof KERNEL_POLICY_IDS];
|
|
48
49
|
//# sourceMappingURL=shared-constants.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"shared-constants.d.ts","sourceRoot":"","sources":["../src/shared-constants.ts"],"names":[],"mappings":"AAGA,eAAO,MAAM,aAAa,EAAG,MAAe,CAAC;AAC7C,eAAO,MAAM,eAAe,EAAG,QAAiB,CAAC;AACjD,eAAO,MAAM,gBAAgB,EAAG,QAAiB,CAAC;AAClD,eAAO,MAAM,iBAAiB,EAAG,EAAW,CAAC;AAC7C,eAAO,MAAM,gBAAgB,QAAmB,CAAC;AACjD,eAAO,MAAM,uBAAuB,EAAG,SAAkB,CAAC;AAC1D,eAAO,MAAM,sBAAsB,QAA0B,CAAC;AAC9D,eAAO,MAAM,mBAAmB,EAAG,gBAAyB,CAAC;AAC7D,eAAO,MAAM,cAAc,EAAG,OAAgB,CAAC;AAC/C,eAAO,MAAM,uBAAuB,EAAG,eAAwB,CAAC;AAChE,eAAO,MAAM,iBAAiB,EAAG,UAAmB,CAAC;AACrD,eAAO,MAAM,oBAAoB,EAAG,YAAqB,CAAC;AAE1D,eAAO,MAAM,kBAAkB,EAAG,YAAqB,CAAC;AACxD,eAAO,MAAM,4BAA4B,EAAG,QAAiB,CAAC;AAC9D,eAAO,MAAM,6BAA6B,EAAG,OAAgB,CAAC;AAC9D,eAAO,MAAM,8BAA8B,EAAG,QAAiB,CAAC;AAChE,eAAO,MAAM,gCAAgC,EAAG,UAAmB,CAAC;AACpE,eAAO,MAAM,+BAA+B,EAAG,cAAuB,CAAC;AACvE,eAAO,MAAM,oCAAoC,EAAG,aAAsB,CAAC;AAE3E,eAAO,MAAM,6BAA6B,cAAqB,CAAC;AAChE,eAAO,MAAM,+BAA+B,eAAoC,CAAC;AACjF,eAAO,MAAM,6BAA6B,iBAAsC,CAAC;AAEjF,eAAO,MAAM,6BAA6B,QAAgC,CAAC;AAC3E,eAAO,MAAM,8BAA8B,EAAG,YAAqB,CAAC;AAEpE,eAAO,MAAM,kCAAkC;;CAErC,CAAC;AAEX,eAAO,MAAM,uBAAuB;;;;;;;;;CAS1B,CAAC;AAEX,eAAO,MAAM,iBAAiB
|
|
1
|
+
{"version":3,"file":"shared-constants.d.ts","sourceRoot":"","sources":["../src/shared-constants.ts"],"names":[],"mappings":"AAGA,eAAO,MAAM,aAAa,EAAG,MAAe,CAAC;AAC7C,eAAO,MAAM,eAAe,EAAG,QAAiB,CAAC;AACjD,eAAO,MAAM,gBAAgB,EAAG,QAAiB,CAAC;AAClD,eAAO,MAAM,iBAAiB,EAAG,EAAW,CAAC;AAC7C,eAAO,MAAM,gBAAgB,QAAmB,CAAC;AACjD,eAAO,MAAM,uBAAuB,EAAG,SAAkB,CAAC;AAC1D,eAAO,MAAM,sBAAsB,QAA0B,CAAC;AAC9D,eAAO,MAAM,mBAAmB,EAAG,gBAAyB,CAAC;AAC7D,eAAO,MAAM,cAAc,EAAG,OAAgB,CAAC;AAC/C,eAAO,MAAM,uBAAuB,EAAG,eAAwB,CAAC;AAChE,eAAO,MAAM,iBAAiB,EAAG,UAAmB,CAAC;AACrD,eAAO,MAAM,oBAAoB,EAAG,YAAqB,CAAC;AAE1D,eAAO,MAAM,kBAAkB,EAAG,YAAqB,CAAC;AACxD,eAAO,MAAM,4BAA4B,EAAG,QAAiB,CAAC;AAC9D,eAAO,MAAM,6BAA6B,EAAG,OAAgB,CAAC;AAC9D,eAAO,MAAM,8BAA8B,EAAG,QAAiB,CAAC;AAChE,eAAO,MAAM,gCAAgC,EAAG,UAAmB,CAAC;AACpE,eAAO,MAAM,+BAA+B,EAAG,cAAuB,CAAC;AACvE,eAAO,MAAM,oCAAoC,EAAG,aAAsB,CAAC;AAE3E,eAAO,MAAM,6BAA6B,cAAqB,CAAC;AAChE,eAAO,MAAM,+BAA+B,eAAoC,CAAC;AACjF,eAAO,MAAM,6BAA6B,iBAAsC,CAAC;AAEjF,eAAO,MAAM,6BAA6B,QAAgC,CAAC;AAC3E,eAAO,MAAM,8BAA8B,EAAG,YAAqB,CAAC;AAEpE,eAAO,MAAM,kCAAkC;;CAErC,CAAC;AAEX,eAAO,MAAM,uBAAuB;;;;;;;;;CAS1B,CAAC;AAEX,eAAO,MAAM,iBAAiB;;;;;;;;;CASpB,CAAC;AAEX,MAAM,MAAM,cAAc,GAAG,CAAC,OAAO,iBAAiB,CAAC,CAAC,MAAM,OAAO,iBAAiB,CAAC,CAAC"}
|
package/dist/shared-constants.js
CHANGED
|
@@ -45,5 +45,6 @@ export const KERNEL_POLICY_IDS = {
|
|
|
45
45
|
SCOPE_RESERVED_PATH: 'kernel.scope.reserved-path',
|
|
46
46
|
SCOPE_BOUNDARY: 'kernel.scope.boundary',
|
|
47
47
|
RECONCILIATION: 'kernel.reconciliation',
|
|
48
|
+
APPROVAL_REQUIRED: 'kernel.policy.approval-required',
|
|
48
49
|
};
|
|
49
50
|
//# sourceMappingURL=shared-constants.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"shared-constants.js","sourceRoot":"","sources":["../src/shared-constants.ts"],"names":[],"mappings":"AAAA,iCAAiC;AACjC,sCAAsC;AAEtC,MAAM,CAAC,MAAM,aAAa,GAAG,MAAe,CAAC;AAC7C,MAAM,CAAC,MAAM,eAAe,GAAG,QAAiB,CAAC;AACjD,MAAM,CAAC,MAAM,gBAAgB,GAAG,QAAiB,CAAC;AAClD,MAAM,CAAC,MAAM,iBAAiB,GAAG,EAAW,CAAC;AAC7C,MAAM,CAAC,MAAM,gBAAgB,GAAG,gBAAgB,CAAC;AACjD,MAAM,CAAC,MAAM,uBAAuB,GAAG,SAAkB,CAAC;AAC1D,MAAM,CAAC,MAAM,sBAAsB,GAAG,uBAAuB,CAAC;AAC9D,MAAM,CAAC,MAAM,mBAAmB,GAAG,gBAAyB,CAAC;AAC7D,MAAM,CAAC,MAAM,cAAc,GAAG,OAAgB,CAAC;AAC/C,MAAM,CAAC,MAAM,uBAAuB,GAAG,eAAwB,CAAC;AAChE,MAAM,CAAC,MAAM,iBAAiB,GAAG,UAAmB,CAAC;AACrD,MAAM,CAAC,MAAM,oBAAoB,GAAG,YAAqB,CAAC;AAE1D,MAAM,CAAC,MAAM,kBAAkB,GAAG,YAAqB,CAAC;AACxD,MAAM,CAAC,MAAM,4BAA4B,GAAG,QAAiB,CAAC;AAC9D,MAAM,CAAC,MAAM,6BAA6B,GAAG,OAAgB,CAAC;AAC9D,MAAM,CAAC,MAAM,8BAA8B,GAAG,QAAiB,CAAC;AAChE,MAAM,CAAC,MAAM,gCAAgC,GAAG,UAAmB,CAAC;AACpE,MAAM,CAAC,MAAM,+BAA+B,GAAG,cAAuB,CAAC;AACvE,MAAM,CAAC,MAAM,oCAAoC,GAAG,aAAsB,CAAC;AAE3E,MAAM,CAAC,MAAM,6BAA6B,GAAG,kBAAkB,CAAC;AAChE,MAAM,CAAC,MAAM,+BAA+B,GAAG,GAAG,kBAAkB,GAAY,CAAC;AACjF,MAAM,CAAC,MAAM,6BAA6B,GAAG,GAAG,kBAAkB,KAAc,CAAC;AAEjF,MAAM,CAAC,MAAM,6BAA6B,GAAG,GAAG,CAAC,MAAM,CAAC,iBAAiB,CAAC,CAAC;AAC3E,MAAM,CAAC,MAAM,8BAA8B,GAAG,YAAqB,CAAC;AAEpE,MAAM,CAAC,MAAM,kCAAkC,GAAG;IAChD,sBAAsB,EAAE,wBAAwB;CACxC,CAAC;AAEX,MAAM,CAAC,MAAM,uBAAuB,GAAG;IACrC,wBAAwB,EAAE,0BAA0B;IACpD,mBAAmB,EAAE,qBAAqB;IAC1C,oBAAoB,EAAE,sBAAsB;IAC5C,qBAAqB,EAAE,uBAAuB;IAC9C,eAAe,EAAE,iBAAiB;IAClC,OAAO,EAAE,SAAS;IAClB,YAAY,EAAE,cAAc;IAC5B,cAAc,EAAE,gBAAgB;CACxB,CAAC;AAEX,MAAM,CAAC,MAAM,iBAAiB,GAAG;IAC/B,SAAS,EAAE,yBAAyB;IACpC,gBAAgB,EAAE,gCAAgC;IAClD,eAAe,EAAE,+BAA+B;IAChD,sBAAsB,EAAE,sCAAsC;IAC9D,mBAAmB,EAAE,4BAA4B;IACjD,cAAc,EAAE,uBAAuB;IACvC,cAAc,EAAE,uBAAuB;
|
|
1
|
+
{"version":3,"file":"shared-constants.js","sourceRoot":"","sources":["../src/shared-constants.ts"],"names":[],"mappings":"AAAA,iCAAiC;AACjC,sCAAsC;AAEtC,MAAM,CAAC,MAAM,aAAa,GAAG,MAAe,CAAC;AAC7C,MAAM,CAAC,MAAM,eAAe,GAAG,QAAiB,CAAC;AACjD,MAAM,CAAC,MAAM,gBAAgB,GAAG,QAAiB,CAAC;AAClD,MAAM,CAAC,MAAM,iBAAiB,GAAG,EAAW,CAAC;AAC7C,MAAM,CAAC,MAAM,gBAAgB,GAAG,gBAAgB,CAAC;AACjD,MAAM,CAAC,MAAM,uBAAuB,GAAG,SAAkB,CAAC;AAC1D,MAAM,CAAC,MAAM,sBAAsB,GAAG,uBAAuB,CAAC;AAC9D,MAAM,CAAC,MAAM,mBAAmB,GAAG,gBAAyB,CAAC;AAC7D,MAAM,CAAC,MAAM,cAAc,GAAG,OAAgB,CAAC;AAC/C,MAAM,CAAC,MAAM,uBAAuB,GAAG,eAAwB,CAAC;AAChE,MAAM,CAAC,MAAM,iBAAiB,GAAG,UAAmB,CAAC;AACrD,MAAM,CAAC,MAAM,oBAAoB,GAAG,YAAqB,CAAC;AAE1D,MAAM,CAAC,MAAM,kBAAkB,GAAG,YAAqB,CAAC;AACxD,MAAM,CAAC,MAAM,4BAA4B,GAAG,QAAiB,CAAC;AAC9D,MAAM,CAAC,MAAM,6BAA6B,GAAG,OAAgB,CAAC;AAC9D,MAAM,CAAC,MAAM,8BAA8B,GAAG,QAAiB,CAAC;AAChE,MAAM,CAAC,MAAM,gCAAgC,GAAG,UAAmB,CAAC;AACpE,MAAM,CAAC,MAAM,+BAA+B,GAAG,cAAuB,CAAC;AACvE,MAAM,CAAC,MAAM,oCAAoC,GAAG,aAAsB,CAAC;AAE3E,MAAM,CAAC,MAAM,6BAA6B,GAAG,kBAAkB,CAAC;AAChE,MAAM,CAAC,MAAM,+BAA+B,GAAG,GAAG,kBAAkB,GAAY,CAAC;AACjF,MAAM,CAAC,MAAM,6BAA6B,GAAG,GAAG,kBAAkB,KAAc,CAAC;AAEjF,MAAM,CAAC,MAAM,6BAA6B,GAAG,GAAG,CAAC,MAAM,CAAC,iBAAiB,CAAC,CAAC;AAC3E,MAAM,CAAC,MAAM,8BAA8B,GAAG,YAAqB,CAAC;AAEpE,MAAM,CAAC,MAAM,kCAAkC,GAAG;IAChD,sBAAsB,EAAE,wBAAwB;CACxC,CAAC;AAEX,MAAM,CAAC,MAAM,uBAAuB,GAAG;IACrC,wBAAwB,EAAE,0BAA0B;IACpD,mBAAmB,EAAE,qBAAqB;IAC1C,oBAAoB,EAAE,sBAAsB;IAC5C,qBAAqB,EAAE,uBAAuB;IAC9C,eAAe,EAAE,iBAAiB;IAClC,OAAO,EAAE,SAAS;IAClB,YAAY,EAAE,cAAc;IAC5B,cAAc,EAAE,gBAAgB;CACxB,CAAC;AAEX,MAAM,CAAC,MAAM,iBAAiB,GAAG;IAC/B,SAAS,EAAE,yBAAyB;IACpC,gBAAgB,EAAE,gCAAgC;IAClD,eAAe,EAAE,+BAA+B;IAChD,sBAAsB,EAAE,sCAAsC;IAC9D,mBAAmB,EAAE,4BAA4B;IACjD,cAAc,EAAE,uBAAuB;IACvC,cAAc,EAAE,uBAAuB;IACvC,iBAAiB,EAAE,iCAAiC;CAC5C,CAAC"}
|
|
@@ -18,6 +18,8 @@ export interface ToolHostOptions {
|
|
|
18
18
|
now?: () => Date;
|
|
19
19
|
/** Optional callback invoked when trace recording fails. Provides observability into silent catch blocks. */
|
|
20
20
|
onTraceError?: (error: Error) => void;
|
|
21
|
+
/** Optional callback invoked after a trace entry is successfully appended to the EvidenceStore. Used by the SSE transport to bridge traces into the event stream. */
|
|
22
|
+
onTraceAppended?: (entry: import('../kernel.schemas.js').ToolTraceEntry) => void;
|
|
21
23
|
}
|
|
22
24
|
export declare function allowAllPolicyHook(): Promise<PolicyDecision[]>;
|
|
23
25
|
export declare class ToolHost {
|
|
@@ -28,6 +30,7 @@ export declare class ToolHost {
|
|
|
28
30
|
private readonly runtimeVersion;
|
|
29
31
|
private readonly now;
|
|
30
32
|
private readonly onTraceError?;
|
|
33
|
+
private readonly onTraceAppended?;
|
|
31
34
|
constructor(options: ToolHostOptions);
|
|
32
35
|
onStartup(): Promise<number>;
|
|
33
36
|
onShutdown(): Promise<number>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tool-host.d.ts","sourceRoot":"","sources":["../../src/tool-host/tool-host.ts"],"names":[],"mappings":"AAMA,OAAO,EAML,KAAK,gBAAgB,EACrB,KAAK,cAAc,EACnB,KAAK,cAAc,EACnB,KAAK,UAAU,EACf,KAAK,SAAS,EACf,MAAM,sBAAsB,CAAC;AAW9B,OAAO,EAAE,aAAa,EAAE,MAAM,+BAA+B,CAAC;AAC9D,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAClD,OAAO,EAA+B,KAAK,oBAAoB,EAAE,MAAM,4BAA4B,CAAC;AAEpG,MAAM,WAAW,eAAe;IAC9B,UAAU,EAAE,cAAc,CAAC;IAC3B,KAAK,EAAE,OAAO,CAAC;IACf,OAAO,EAAE,gBAAgB,CAAC;IAC1B,aAAa,EAAE,SAAS,EAAE,CAAC;CAC5B;AAED,MAAM,MAAM,UAAU,GAAG,CAAC,KAAK,EAAE,eAAe,KAAK,OAAO,CAAC,cAAc,EAAE,CAAC,CAAC;AAE/E,MAAM,WAAW,eAAe;IAC9B,QAAQ,EAAE,YAAY,CAAC;IACvB,aAAa,EAAE,aAAa,CAAC;IAC7B,oBAAoB,CAAC,EAAE,oBAAoB,CAAC;IAC5C,UAAU,EAAE,UAAU,CAAC;IACvB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,GAAG,CAAC,EAAE,MAAM,IAAI,CAAC;IACjB,6GAA6G;IAC7G,YAAY,CAAC,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,IAAI,CAAC;
|
|
1
|
+
{"version":3,"file":"tool-host.d.ts","sourceRoot":"","sources":["../../src/tool-host/tool-host.ts"],"names":[],"mappings":"AAMA,OAAO,EAML,KAAK,gBAAgB,EACrB,KAAK,cAAc,EACnB,KAAK,cAAc,EACnB,KAAK,UAAU,EACf,KAAK,SAAS,EACf,MAAM,sBAAsB,CAAC;AAW9B,OAAO,EAAE,aAAa,EAAE,MAAM,+BAA+B,CAAC;AAC9D,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAClD,OAAO,EAA+B,KAAK,oBAAoB,EAAE,MAAM,4BAA4B,CAAC;AAEpG,MAAM,WAAW,eAAe;IAC9B,UAAU,EAAE,cAAc,CAAC;IAC3B,KAAK,EAAE,OAAO,CAAC;IACf,OAAO,EAAE,gBAAgB,CAAC;IAC1B,aAAa,EAAE,SAAS,EAAE,CAAC;CAC5B;AAED,MAAM,MAAM,UAAU,GAAG,CAAC,KAAK,EAAE,eAAe,KAAK,OAAO,CAAC,cAAc,EAAE,CAAC,CAAC;AAE/E,MAAM,WAAW,eAAe;IAC9B,QAAQ,EAAE,YAAY,CAAC;IACvB,aAAa,EAAE,aAAa,CAAC;IAC7B,oBAAoB,CAAC,EAAE,oBAAoB,CAAC;IAC5C,UAAU,EAAE,UAAU,CAAC;IACvB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,GAAG,CAAC,EAAE,MAAM,IAAI,CAAC;IACjB,6GAA6G;IAC7G,YAAY,CAAC,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,IAAI,CAAC;IACtC,qKAAqK;IACrK,eAAe,CAAC,EAAE,CAAC,KAAK,EAAE,OAAO,sBAAsB,EAAE,cAAc,KAAK,IAAI,CAAC;CAClF;AAyDD,wBAAsB,kBAAkB,IAAI,OAAO,CAAC,cAAc,EAAE,CAAC,CAQpE;AAED,qBAAa,QAAQ;IACnB,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAe;IACxC,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAgB;IAC9C,OAAO,CAAC,QAAQ,CAAC,oBAAoB,CAAuB;IAC5D,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAa;IACxC,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAS;IACxC,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAa;IACjC,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAyB;IACvD,OAAO,CAAC,QAAQ,CAAC,eAAe,CAAC,CAAiE;gBAEtF,OAAO,EAAE,eAAe;IAiB9B,SAAS,IAAI,OAAO,CAAC,MAAM,CAAC;IAI5B,UAAU,IAAI,OAAO,CAAC,MAAM,CAAC;IAI7B,OAAO,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,EAAE,GAAG,EAAE,gBAAgB,GAAG,OAAO,CAAC,UAAU,CAAC;IA8HvF,OAAO,CAAC,YAAY;YA+BN,SAAS;YA4JT,QAAQ;IA2BtB,OAAO,CAAC,eAAe;YA8BT,iBAAiB;YAuBjB,WAAW;CA0C1B"}
|
|
@@ -58,6 +58,7 @@ export class ToolHost {
|
|
|
58
58
|
runtimeVersion;
|
|
59
59
|
now;
|
|
60
60
|
onTraceError;
|
|
61
|
+
onTraceAppended;
|
|
61
62
|
constructor(options) {
|
|
62
63
|
if (!options.policyHook) {
|
|
63
64
|
throw new Error('ToolHost requires an explicit policyHook. ' +
|
|
@@ -70,6 +71,7 @@ export class ToolHost {
|
|
|
70
71
|
this.runtimeVersion = options.runtimeVersion ?? DEFAULT_KERNEL_RUNTIME_VERSION;
|
|
71
72
|
this.now = options.now ?? (() => new Date());
|
|
72
73
|
this.onTraceError = options.onTraceError;
|
|
74
|
+
this.onTraceAppended = options.onTraceAppended;
|
|
73
75
|
}
|
|
74
76
|
async onStartup() {
|
|
75
77
|
return this.evidenceStore.reconcileOrphanedStarts();
|
|
@@ -103,29 +105,31 @@ export class ToolHost {
|
|
|
103
105
|
const packVersion = parseOptionalString(metadata[EXECUTION_METADATA_KEYS.PACK_VERSION]);
|
|
104
106
|
const packIntegrity = parseOptionalString(metadata[EXECUTION_METADATA_KEYS.PACK_INTEGRITY]);
|
|
105
107
|
const packId = capability.pack ?? parseOptionalString(metadata[EXECUTION_METADATA_KEYS.PACK_ID]);
|
|
108
|
+
const startedEntry = {
|
|
109
|
+
schema_version: 1,
|
|
110
|
+
kind: TOOL_TRACE_KINDS.TOOL_CALL_STARTED,
|
|
111
|
+
receipt_id: receiptId,
|
|
112
|
+
run_id: context.run_id,
|
|
113
|
+
task_id: context.task_id,
|
|
114
|
+
session_id: context.session_id,
|
|
115
|
+
timestamp,
|
|
116
|
+
tool_name: capability.name,
|
|
117
|
+
execution_mode: capability.handler.kind,
|
|
118
|
+
scope_requested: scopeRequested,
|
|
119
|
+
scope_allowed: scopeAllowed,
|
|
120
|
+
scope_enforced: scopeEnforced,
|
|
121
|
+
input_hash: inputHash,
|
|
122
|
+
input_ref: inputRef,
|
|
123
|
+
tool_version: capability.version,
|
|
124
|
+
pack_id: packId,
|
|
125
|
+
pack_version: packVersion,
|
|
126
|
+
pack_integrity: packIntegrity,
|
|
127
|
+
workspace_config_hash: workspaceConfigHash,
|
|
128
|
+
runtime_version: runtimeVersion,
|
|
129
|
+
};
|
|
106
130
|
try {
|
|
107
|
-
await this.evidenceStore.appendTrace(
|
|
108
|
-
|
|
109
|
-
kind: TOOL_TRACE_KINDS.TOOL_CALL_STARTED,
|
|
110
|
-
receipt_id: receiptId,
|
|
111
|
-
run_id: context.run_id,
|
|
112
|
-
task_id: context.task_id,
|
|
113
|
-
session_id: context.session_id,
|
|
114
|
-
timestamp,
|
|
115
|
-
tool_name: capability.name,
|
|
116
|
-
execution_mode: capability.handler.kind,
|
|
117
|
-
scope_requested: scopeRequested,
|
|
118
|
-
scope_allowed: scopeAllowed,
|
|
119
|
-
scope_enforced: scopeEnforced,
|
|
120
|
-
input_hash: inputHash,
|
|
121
|
-
input_ref: inputRef,
|
|
122
|
-
tool_version: capability.version,
|
|
123
|
-
pack_id: packId,
|
|
124
|
-
pack_version: packVersion,
|
|
125
|
-
pack_integrity: packIntegrity,
|
|
126
|
-
workspace_config_hash: workspaceConfigHash,
|
|
127
|
-
runtime_version: runtimeVersion,
|
|
128
|
-
});
|
|
131
|
+
await this.evidenceStore.appendTrace(startedEntry);
|
|
132
|
+
this.onTraceAppended?.(startedEntry);
|
|
129
133
|
}
|
|
130
134
|
catch (error) {
|
|
131
135
|
// Started trace failure must not prevent tool execution.
|
|
@@ -297,6 +301,39 @@ export class ToolHost {
|
|
|
297
301
|
}
|
|
298
302
|
return { denied: true, output };
|
|
299
303
|
}
|
|
304
|
+
if (policyDecisions.some((decision) => decision.decision === 'approval_required')) {
|
|
305
|
+
const approvalRequestId = randomUUID();
|
|
306
|
+
const approvalReasons = policyDecisions
|
|
307
|
+
.filter((decision) => decision.decision === 'approval_required')
|
|
308
|
+
.map((decision) => decision.reason ?? decision.policy_id);
|
|
309
|
+
const output = {
|
|
310
|
+
success: false,
|
|
311
|
+
error: {
|
|
312
|
+
code: TOOL_ERROR_CODES.APPROVAL_REQUIRED,
|
|
313
|
+
message: `Tool execution requires human approval: ${approvalReasons.join('; ')}`,
|
|
314
|
+
details: {
|
|
315
|
+
request_id: approvalRequestId,
|
|
316
|
+
tool_name: capability.name,
|
|
317
|
+
task_id: context.task_id,
|
|
318
|
+
run_id: context.run_id,
|
|
319
|
+
policy_decisions: policyDecisions.filter((decision) => decision.decision === 'approval_required'),
|
|
320
|
+
},
|
|
321
|
+
},
|
|
322
|
+
};
|
|
323
|
+
try {
|
|
324
|
+
await this.recordDeniedTrace({
|
|
325
|
+
receiptId,
|
|
326
|
+
startedAt,
|
|
327
|
+
result: 'denied',
|
|
328
|
+
scopeEnforcementNote: 'Blocked pending human approval.',
|
|
329
|
+
policyDecisions,
|
|
330
|
+
});
|
|
331
|
+
}
|
|
332
|
+
catch (error) {
|
|
333
|
+
this.onTraceError?.(error);
|
|
334
|
+
}
|
|
335
|
+
return { denied: true, output };
|
|
336
|
+
}
|
|
300
337
|
return { denied: false, policyDecisions };
|
|
301
338
|
}
|
|
302
339
|
async dispatch(capability, input, context, scopeEnforced) {
|
|
@@ -349,7 +386,7 @@ export class ToolHost {
|
|
|
349
386
|
}
|
|
350
387
|
async recordDeniedTrace(params) {
|
|
351
388
|
const finishedAt = this.now();
|
|
352
|
-
|
|
389
|
+
const entry = {
|
|
353
390
|
schema_version: 1,
|
|
354
391
|
kind: TOOL_TRACE_KINDS.TOOL_CALL_FINISHED,
|
|
355
392
|
receipt_id: params.receiptId,
|
|
@@ -359,7 +396,9 @@ export class ToolHost {
|
|
|
359
396
|
scope_enforcement_note: params.scopeEnforcementNote,
|
|
360
397
|
policy_decisions: params.policyDecisions,
|
|
361
398
|
artifacts_written: [],
|
|
362
|
-
}
|
|
399
|
+
};
|
|
400
|
+
await this.evidenceStore.appendTrace(entry);
|
|
401
|
+
this.onTraceAppended?.(entry);
|
|
363
402
|
}
|
|
364
403
|
async recordTrace(params) {
|
|
365
404
|
const { receiptId, startedAt, output, policyDecisions } = params;
|
|
@@ -372,7 +411,7 @@ export class ToolHost {
|
|
|
372
411
|
? 'denied'
|
|
373
412
|
: 'failure';
|
|
374
413
|
const finishedAt = this.now();
|
|
375
|
-
|
|
414
|
+
const entry = {
|
|
376
415
|
schema_version: 1,
|
|
377
416
|
kind: TOOL_TRACE_KINDS.TOOL_CALL_FINISHED,
|
|
378
417
|
receipt_id: receiptId,
|
|
@@ -389,7 +428,9 @@ export class ToolHost {
|
|
|
389
428
|
output.metadata?.artifacts_written.every((artifact) => typeof artifact === 'string')
|
|
390
429
|
? output.metadata.artifacts_written
|
|
391
430
|
: [],
|
|
392
|
-
}
|
|
431
|
+
};
|
|
432
|
+
await this.evidenceStore.appendTrace(entry);
|
|
433
|
+
this.onTraceAppended?.(entry);
|
|
393
434
|
}
|
|
394
435
|
}
|
|
395
436
|
//# sourceMappingURL=tool-host.js.map
|