pi-fabric 0.20.2 → 0.21.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/dist/audit/details.d.ts +39 -0
- package/dist/audit/details.d.ts.map +1 -0
- package/dist/audit/details.js +88 -0
- package/dist/audit/details.js.map +1 -0
- package/dist/audit/index.d.ts +4 -0
- package/dist/audit/index.d.ts.map +1 -0
- package/dist/audit/index.js +4 -0
- package/dist/audit/index.js.map +1 -0
- package/dist/audit/projection.d.ts +20 -0
- package/dist/audit/projection.d.ts.map +1 -0
- package/dist/audit/projection.js +183 -0
- package/dist/audit/projection.js.map +1 -0
- package/dist/audit/trace.d.ts +85 -0
- package/dist/audit/trace.d.ts.map +1 -0
- package/dist/audit/trace.js +537 -0
- package/dist/audit/trace.js.map +1 -0
- package/dist/compaction/bounds.d.ts +23 -0
- package/dist/compaction/bounds.d.ts.map +1 -0
- package/dist/compaction/bounds.js +70 -0
- package/dist/compaction/bounds.js.map +1 -0
- package/dist/compaction/branch-details.d.ts +59 -0
- package/dist/compaction/branch-details.d.ts.map +1 -0
- package/dist/compaction/branch-details.js +121 -0
- package/dist/compaction/branch-details.js.map +1 -0
- package/dist/compaction/branch-summary.d.ts +9 -0
- package/dist/compaction/branch-summary.d.ts.map +1 -0
- package/dist/compaction/branch-summary.js +199 -0
- package/dist/compaction/branch-summary.js.map +1 -0
- package/dist/compaction/hook.d.ts +32 -9
- package/dist/compaction/hook.d.ts.map +1 -1
- package/dist/compaction/hook.js +287 -116
- package/dist/compaction/hook.js.map +1 -1
- package/dist/compaction/instructions.d.ts +38 -0
- package/dist/compaction/instructions.d.ts.map +1 -0
- package/dist/compaction/instructions.js +427 -0
- package/dist/compaction/instructions.js.map +1 -0
- package/dist/compaction/normalize.d.ts +35 -2
- package/dist/compaction/normalize.d.ts.map +1 -1
- package/dist/compaction/normalize.js +210 -13
- package/dist/compaction/normalize.js.map +1 -1
- package/dist/compaction/projections.d.ts +19 -1
- package/dist/compaction/projections.d.ts.map +1 -1
- package/dist/compaction/projections.js +375 -228
- package/dist/compaction/projections.js.map +1 -1
- package/dist/compaction/qa.d.ts.map +1 -1
- package/dist/compaction/qa.js +50 -35
- package/dist/compaction/qa.js.map +1 -1
- package/dist/compaction/render.d.ts +2 -0
- package/dist/compaction/render.d.ts.map +1 -1
- package/dist/compaction/render.js +51 -23
- package/dist/compaction/render.js.map +1 -1
- package/dist/compaction/trace-events.d.ts +22 -0
- package/dist/compaction/trace-events.d.ts.map +1 -0
- package/dist/compaction/trace-events.js +86 -0
- package/dist/compaction/trace-events.js.map +1 -0
- package/dist/config.d.ts +25 -1
- package/dist/config.d.ts.map +1 -1
- package/dist/config.js +69 -9
- package/dist/config.js.map +1 -1
- package/dist/core/action-registry.d.ts +5 -0
- package/dist/core/action-registry.d.ts.map +1 -1
- package/dist/core/action-registry.js +87 -52
- package/dist/core/action-registry.js.map +1 -1
- package/dist/core/compact-controller.d.ts +4 -2
- package/dist/core/compact-controller.d.ts.map +1 -1
- package/dist/core/compact-controller.js +102 -54
- package/dist/core/compact-controller.js.map +1 -1
- package/dist/core/tool-ownership.d.ts +21 -0
- package/dist/core/tool-ownership.d.ts.map +1 -1
- package/dist/core/tool-ownership.js +55 -0
- package/dist/core/tool-ownership.js.map +1 -1
- package/dist/execution-service.d.ts +7 -1
- package/dist/execution-service.d.ts.map +1 -1
- package/dist/execution-service.js +67 -30
- package/dist/execution-service.js.map +1 -1
- package/dist/fabric-state.d.ts.map +1 -1
- package/dist/fabric-state.js +36 -9
- package/dist/fabric-state.js.map +1 -1
- package/dist/index.d.ts +1 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +44 -25
- package/dist/index.js.map +1 -1
- package/dist/memory/digest.d.ts +24 -6
- package/dist/memory/digest.d.ts.map +1 -1
- package/dist/memory/digest.js +42 -42
- package/dist/memory/digest.js.map +1 -1
- package/dist/memory/discovery.d.ts +7 -0
- package/dist/memory/discovery.d.ts.map +1 -1
- package/dist/memory/discovery.js +31 -11
- package/dist/memory/discovery.js.map +1 -1
- package/dist/memory/index.d.ts +48 -22
- package/dist/memory/index.d.ts.map +1 -1
- package/dist/memory/index.js +454 -131
- package/dist/memory/index.js.map +1 -1
- package/dist/memory/normalize.d.ts +101 -0
- package/dist/memory/normalize.d.ts.map +1 -1
- package/dist/memory/normalize.js +349 -45
- package/dist/memory/normalize.js.map +1 -1
- package/dist/memory/regex.d.ts +19 -0
- package/dist/memory/regex.d.ts.map +1 -0
- package/dist/memory/regex.js +102 -0
- package/dist/memory/regex.js.map +1 -0
- package/dist/memory/search.d.ts +43 -7
- package/dist/memory/search.d.ts.map +1 -1
- package/dist/memory/search.js +265 -135
- package/dist/memory/search.js.map +1 -1
- package/dist/memory/tokenize.d.ts +17 -0
- package/dist/memory/tokenize.d.ts.map +1 -0
- package/dist/memory/tokenize.js +18 -0
- package/dist/memory/tokenize.js.map +1 -0
- package/dist/protocol.d.ts +1 -0
- package/dist/protocol.d.ts.map +1 -1
- package/dist/providers/compact-provider.d.ts.map +1 -1
- package/dist/providers/compact-provider.js +48 -20
- package/dist/providers/compact-provider.js.map +1 -1
- package/dist/providers/memory-provider.d.ts.map +1 -1
- package/dist/providers/memory-provider.js +289 -60
- package/dist/providers/memory-provider.js.map +1 -1
- package/dist/providers/schema-provider.d.ts +13 -0
- package/dist/providers/schema-provider.d.ts.map +1 -0
- package/dist/providers/schema-provider.js +220 -0
- package/dist/providers/schema-provider.js.map +1 -0
- package/dist/providers/state-provider.d.ts.map +1 -1
- package/dist/providers/state-provider.js +11 -9
- package/dist/providers/state-provider.js.map +1 -1
- package/dist/runtime/quickjs-runtime.d.ts +2 -0
- package/dist/runtime/quickjs-runtime.d.ts.map +1 -1
- package/dist/runtime/quickjs-runtime.js +52 -9
- package/dist/runtime/quickjs-runtime.js.map +1 -1
- package/dist/schema/controller.d.ts +35 -0
- package/dist/schema/controller.d.ts.map +1 -0
- package/dist/schema/controller.js +843 -0
- package/dist/schema/controller.js.map +1 -0
- package/dist/schema/types.d.ts +86 -0
- package/dist/schema/types.d.ts.map +1 -0
- package/dist/schema/types.js +4 -0
- package/dist/schema/types.js.map +1 -0
- package/dist/schema/workspace.d.ts +19 -0
- package/dist/schema/workspace.d.ts.map +1 -0
- package/dist/schema/workspace.js +186 -0
- package/dist/schema/workspace.js.map +1 -0
- package/dist/state/store.d.ts +84 -5
- package/dist/state/store.d.ts.map +1 -1
- package/dist/state/store.js +1092 -127
- package/dist/state/store.js.map +1 -1
- package/dist/subagents/compact-control.d.ts +32 -0
- package/dist/subagents/compact-control.d.ts.map +1 -0
- package/dist/subagents/compact-control.js +143 -0
- package/dist/subagents/compact-control.js.map +1 -0
- package/dist/subagents/manager.js +3 -3
- package/dist/subagents/manager.js.map +1 -1
- package/dist/subagents/types.d.ts +12 -0
- package/dist/subagents/types.d.ts.map +1 -1
- package/dist/worker.js +46 -10
- package/dist/worker.js.map +1 -1
- package/package.json +3 -1
- package/skills/fabric-schema/SKILL.md +106 -73
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
import { type FabricExecutionTraceV1 } from "./trace.js";
|
|
2
|
+
export declare const FABRIC_EXECUTION_DETAILS_MAX_BYTES: number;
|
|
3
|
+
export interface FabricPersistedExecutionDetailsV1 {
|
|
4
|
+
success: boolean;
|
|
5
|
+
trace: FabricExecutionTraceV1;
|
|
6
|
+
}
|
|
7
|
+
export interface FabricLegacyRenderAudit {
|
|
8
|
+
ref: string;
|
|
9
|
+
tool?: string;
|
|
10
|
+
provider?: string;
|
|
11
|
+
success?: boolean;
|
|
12
|
+
error?: string;
|
|
13
|
+
args?: Record<string, unknown>;
|
|
14
|
+
result?: unknown;
|
|
15
|
+
resultTruncated?: boolean;
|
|
16
|
+
}
|
|
17
|
+
export interface FabricExecutionRenderDetails {
|
|
18
|
+
success?: boolean;
|
|
19
|
+
error?: string;
|
|
20
|
+
progress?: string;
|
|
21
|
+
phases: string[];
|
|
22
|
+
audits: FabricLegacyRenderAudit[];
|
|
23
|
+
}
|
|
24
|
+
/**
|
|
25
|
+
* Creates the only object stored in final fabric_exec details. Rich call
|
|
26
|
+
* audits remain available to live partial rendering but are deliberately not
|
|
27
|
+
* copied here. The aggregate object, not each member independently, is bound.
|
|
28
|
+
*/
|
|
29
|
+
export declare const createFabricPersistedExecutionDetails: (input: {
|
|
30
|
+
success: boolean;
|
|
31
|
+
trace: FabricExecutionTraceV1;
|
|
32
|
+
}) => FabricPersistedExecutionDetailsV1;
|
|
33
|
+
/**
|
|
34
|
+
* Adapts both old audit-bearing session details and current trace-only details
|
|
35
|
+
* for rendering. Legacy audits win when present so old transcripts retain
|
|
36
|
+
* their historical rich previews.
|
|
37
|
+
*/
|
|
38
|
+
export declare const readFabricExecutionRenderDetails: (value: unknown) => FabricExecutionRenderDetails;
|
|
39
|
+
//# sourceMappingURL=details.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"details.d.ts","sourceRoot":"","sources":["../../src/audit/details.ts"],"names":[],"mappings":"AAAA,OAAO,EAGL,KAAK,sBAAsB,EAC5B,MAAM,YAAY,CAAC;AAEpB,eAAO,MAAM,kCAAkC,QAAa,CAAC;AAE7D,MAAM,WAAW,iCAAiC;IAChD,OAAO,EAAE,OAAO,CAAC;IACjB,KAAK,EAAE,sBAAsB,CAAC;CAC/B;AAED,MAAM,WAAW,uBAAuB;IACtC,GAAG,EAAE,MAAM,CAAC;IACZ,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAC/B,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,eAAe,CAAC,EAAE,OAAO,CAAC;CAC3B;AAED,MAAM,WAAW,4BAA4B;IAC3C,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,MAAM,EAAE,MAAM,EAAE,CAAC;IACjB,MAAM,EAAE,uBAAuB,EAAE,CAAC;CACnC;AAQD;;;;GAIG;AACH,eAAO,MAAM,qCAAqC,GAAI,OAAO;IAC3D,OAAO,EAAE,OAAO,CAAC;IACjB,KAAK,EAAE,sBAAsB,CAAC;CAC/B,KAAG,iCAwBH,CAAC;AAiCF;;;;GAIG;AACH,eAAO,MAAM,gCAAgC,GAC3C,OAAO,OAAO,KACb,4BAwBF,CAAC"}
|
|
@@ -0,0 +1,88 @@
|
|
|
1
|
+
import { isFabricExecutionTraceV1, } from "./trace.js";
|
|
2
|
+
export const FABRIC_EXECUTION_DETAILS_MAX_BYTES = 512 * 1024;
|
|
3
|
+
const serializedBytes = (value) => Buffer.byteLength(JSON.stringify(value), "utf8");
|
|
4
|
+
const cloneTrace = (trace) => structuredClone(trace);
|
|
5
|
+
/**
|
|
6
|
+
* Creates the only object stored in final fabric_exec details. Rich call
|
|
7
|
+
* audits remain available to live partial rendering but are deliberately not
|
|
8
|
+
* copied here. The aggregate object, not each member independently, is bound.
|
|
9
|
+
*/
|
|
10
|
+
export const createFabricPersistedExecutionDetails = (input) => {
|
|
11
|
+
const details = {
|
|
12
|
+
success: input.success,
|
|
13
|
+
trace: cloneTrace(input.trace),
|
|
14
|
+
};
|
|
15
|
+
while (serializedBytes(details) > FABRIC_EXECUTION_DETAILS_MAX_BYTES &&
|
|
16
|
+
details.trace.operations.length > 0) {
|
|
17
|
+
details.trace.operations.pop();
|
|
18
|
+
details.trace.counts.droppedOperations++;
|
|
19
|
+
}
|
|
20
|
+
while (serializedBytes(details) > FABRIC_EXECUTION_DETAILS_MAX_BYTES &&
|
|
21
|
+
details.trace.phases.length > 0) {
|
|
22
|
+
details.trace.phases.pop();
|
|
23
|
+
details.trace.counts.droppedValues++;
|
|
24
|
+
}
|
|
25
|
+
if (serializedBytes(details) > FABRIC_EXECUTION_DETAILS_MAX_BYTES) {
|
|
26
|
+
delete details.trace.error;
|
|
27
|
+
details.trace.counts.droppedValues++;
|
|
28
|
+
}
|
|
29
|
+
return details;
|
|
30
|
+
};
|
|
31
|
+
const isRecord = (value) => typeof value === "object" && value !== null && !Array.isArray(value);
|
|
32
|
+
const legacyAudit = (value) => {
|
|
33
|
+
if (!isRecord(value) || typeof value.ref !== "string")
|
|
34
|
+
return undefined;
|
|
35
|
+
return {
|
|
36
|
+
ref: value.ref,
|
|
37
|
+
...(typeof value.tool === "string" ? { tool: value.tool } : {}),
|
|
38
|
+
...(typeof value.provider === "string" ? { provider: value.provider } : {}),
|
|
39
|
+
...(typeof value.success === "boolean" ? { success: value.success } : {}),
|
|
40
|
+
...(typeof value.error === "string" ? { error: value.error } : {}),
|
|
41
|
+
...(isRecord(value.args) ? { args: value.args } : {}),
|
|
42
|
+
...(value.result !== undefined ? { result: value.result } : {}),
|
|
43
|
+
...(typeof value.resultTruncated === "boolean"
|
|
44
|
+
? { resultTruncated: value.resultTruncated }
|
|
45
|
+
: {}),
|
|
46
|
+
};
|
|
47
|
+
};
|
|
48
|
+
const auditFromOperation = (operation) => ({
|
|
49
|
+
ref: operation.ref,
|
|
50
|
+
...(operation.action ? { tool: operation.action } : {}),
|
|
51
|
+
...(operation.provider ? { provider: operation.provider } : {}),
|
|
52
|
+
success: operation.outcome === "succeeded",
|
|
53
|
+
...(operation.error ? { error: operation.error } : {}),
|
|
54
|
+
...(Object.keys(operation.args).length > 0 ? { args: operation.args } : {}),
|
|
55
|
+
...(operation.result !== undefined ? { result: operation.result } : {}),
|
|
56
|
+
});
|
|
57
|
+
/**
|
|
58
|
+
* Adapts both old audit-bearing session details and current trace-only details
|
|
59
|
+
* for rendering. Legacy audits win when present so old transcripts retain
|
|
60
|
+
* their historical rich previews.
|
|
61
|
+
*/
|
|
62
|
+
export const readFabricExecutionRenderDetails = (value) => {
|
|
63
|
+
if (!isRecord(value))
|
|
64
|
+
return { audits: [], phases: [] };
|
|
65
|
+
const trace = isFabricExecutionTraceV1(value.trace) ? value.trace : undefined;
|
|
66
|
+
const oldAudits = Array.isArray(value.audits)
|
|
67
|
+
? value.audits.map(legacyAudit).filter((audit) => audit !== undefined)
|
|
68
|
+
: undefined;
|
|
69
|
+
const oldPhases = Array.isArray(value.phases)
|
|
70
|
+
? value.phases.filter((phase) => typeof phase === "string")
|
|
71
|
+
: undefined;
|
|
72
|
+
return {
|
|
73
|
+
...(typeof value.success === "boolean"
|
|
74
|
+
? { success: value.success }
|
|
75
|
+
: trace
|
|
76
|
+
? { success: trace.outcome === "succeeded" }
|
|
77
|
+
: {}),
|
|
78
|
+
...(typeof value.error === "string"
|
|
79
|
+
? { error: value.error }
|
|
80
|
+
: trace?.error
|
|
81
|
+
? { error: trace.error }
|
|
82
|
+
: {}),
|
|
83
|
+
...(typeof value.progress === "string" ? { progress: value.progress } : {}),
|
|
84
|
+
phases: oldPhases ?? trace?.phases ?? [],
|
|
85
|
+
audits: oldAudits ?? trace?.operations.map(auditFromOperation) ?? [],
|
|
86
|
+
};
|
|
87
|
+
};
|
|
88
|
+
//# sourceMappingURL=details.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"details.js","sourceRoot":"","sources":["../../src/audit/details.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
export { FABRIC_EXECUTION_DETAILS_MAX_BYTES, createFabricPersistedExecutionDetails, readFabricExecutionRenderDetails, type FabricExecutionRenderDetails, type FabricLegacyRenderAudit, type FabricPersistedExecutionDetailsV1, } from "./details.js";
|
|
2
|
+
export { projectFabricAuditArgs, projectFabricAuditResult } from "./projection.js";
|
|
3
|
+
export { FABRIC_EXECUTION_TRACE_KIND, FABRIC_EXECUTION_TRACE_MAX_BYTES, FABRIC_EXECUTION_TRACE_VERSION, FabricExecutionTraceOperationHandle, FabricExecutionTraceRecorder, executionOutcomeFromError, isFabricExecutionTraceOperationV1, isFabricExecutionTraceV1, readFabricExecutionTraceV1, type FabricExecutionFailureStageV1, type FabricExecutionOutcomeV1, type FabricExecutionTraceCountsV1, type FabricExecutionTraceOperationV1, type FabricExecutionTraceV1, type FabricTraceJsonPrimitive, type FabricTraceJsonValue, } from "./trace.js";
|
|
4
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/audit/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,kCAAkC,EAClC,qCAAqC,EACrC,gCAAgC,EAChC,KAAK,4BAA4B,EACjC,KAAK,uBAAuB,EAC5B,KAAK,iCAAiC,GACvC,MAAM,cAAc,CAAC;AACtB,OAAO,EAAE,sBAAsB,EAAE,wBAAwB,EAAE,MAAM,iBAAiB,CAAC;AACnF,OAAO,EACL,2BAA2B,EAC3B,gCAAgC,EAChC,8BAA8B,EAC9B,mCAAmC,EACnC,4BAA4B,EAC5B,yBAAyB,EACzB,iCAAiC,EACjC,wBAAwB,EACxB,0BAA0B,EAC1B,KAAK,6BAA6B,EAClC,KAAK,wBAAwB,EAC7B,KAAK,4BAA4B,EACjC,KAAK,+BAA+B,EACpC,KAAK,sBAAsB,EAC3B,KAAK,wBAAwB,EAC7B,KAAK,oBAAoB,GAC1B,MAAM,YAAY,CAAC"}
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
export { FABRIC_EXECUTION_DETAILS_MAX_BYTES, createFabricPersistedExecutionDetails, readFabricExecutionRenderDetails, } from "./details.js";
|
|
2
|
+
export { projectFabricAuditArgs, projectFabricAuditResult } from "./projection.js";
|
|
3
|
+
export { FABRIC_EXECUTION_TRACE_KIND, FABRIC_EXECUTION_TRACE_MAX_BYTES, FABRIC_EXECUTION_TRACE_VERSION, FabricExecutionTraceOperationHandle, FabricExecutionTraceRecorder, executionOutcomeFromError, isFabricExecutionTraceOperationV1, isFabricExecutionTraceV1, readFabricExecutionTraceV1, } from "./trace.js";
|
|
4
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/audit/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,kCAAkC,EAClC,qCAAqC,EACrC,gCAAgC,GAIjC,MAAM,cAAc,CAAC;AACtB,OAAO,EAAE,sBAAsB,EAAE,wBAAwB,EAAE,MAAM,iBAAiB,CAAC;AACnF,OAAO,EACL,2BAA2B,EAC3B,gCAAgC,EAChC,8BAA8B,EAC9B,mCAAmC,EACnC,4BAA4B,EAC5B,yBAAyB,EACzB,iCAAiC,EACjC,wBAAwB,EACxB,0BAA0B,GAQ3B,MAAM,YAAY,CAAC"}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import type { FabricTraceJsonValue } from "./trace.js";
|
|
2
|
+
export interface FabricAuditProjection {
|
|
3
|
+
value: {
|
|
4
|
+
[key: string]: FabricTraceJsonValue;
|
|
5
|
+
};
|
|
6
|
+
droppedValues: number;
|
|
7
|
+
}
|
|
8
|
+
/**
|
|
9
|
+
* Projects invocation arguments by exact built-in reference. Unknown,
|
|
10
|
+
* extension, MCP, schema, state, compact, and generic provider calls retain no
|
|
11
|
+
* arguments. This allowlist, rather than secret-looking string matching, is
|
|
12
|
+
* the durable trace's primary confidentiality boundary.
|
|
13
|
+
*/
|
|
14
|
+
export declare const projectFabricAuditArgs: (ref: string, args: Record<string, unknown>) => FabricAuditProjection;
|
|
15
|
+
/**
|
|
16
|
+
* Results are omitted except for the exact boolean creation outcome emitted by
|
|
17
|
+
* pi.write. No provider details or output text accompany that flag.
|
|
18
|
+
*/
|
|
19
|
+
export declare const projectFabricAuditResult: (ref: string, result: unknown) => FabricAuditProjection | undefined;
|
|
20
|
+
//# sourceMappingURL=projection.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"projection.d.ts","sourceRoot":"","sources":["../../src/audit/projection.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,YAAY,CAAC;AAEvD,MAAM,WAAW,qBAAqB;IACpC,KAAK,EAAE;QAAE,CAAC,GAAG,EAAE,MAAM,GAAG,oBAAoB,CAAA;KAAE,CAAC;IAC/C,aAAa,EAAE,MAAM,CAAC;CACvB;AA2HD;;;;;GAKG;AACH,eAAO,MAAM,sBAAsB,GACjC,KAAK,MAAM,EACX,MAAM,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAC5B,qBAuDF,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,wBAAwB,GACnC,KAAK,MAAM,EACX,QAAQ,OAAO,KACd,qBAAqB,GAAG,SAc1B,CAAC"}
|
|
@@ -0,0 +1,183 @@
|
|
|
1
|
+
import { createHash } from "node:crypto";
|
|
2
|
+
const emptyProjection = (args) => ({
|
|
3
|
+
value: {},
|
|
4
|
+
droppedValues: topLevelKeyCount(args),
|
|
5
|
+
});
|
|
6
|
+
const topLevelKeyCount = (value) => {
|
|
7
|
+
try {
|
|
8
|
+
return Object.keys(value).length;
|
|
9
|
+
}
|
|
10
|
+
catch {
|
|
11
|
+
return 1;
|
|
12
|
+
}
|
|
13
|
+
};
|
|
14
|
+
const finiteNumber = (value) => typeof value === "number" && Number.isFinite(value) ? value : undefined;
|
|
15
|
+
const stringValue = (value) => typeof value === "string" ? value : undefined;
|
|
16
|
+
const isWindowsDrivePath = (value) => {
|
|
17
|
+
if (value.length < 3 || value[1] !== ":" || (value[2] !== "\\" && value[2] !== "/")) {
|
|
18
|
+
return false;
|
|
19
|
+
}
|
|
20
|
+
const drive = value.charCodeAt(0);
|
|
21
|
+
return (drive >= 65 && drive <= 90) || (drive >= 97 && drive <= 122);
|
|
22
|
+
};
|
|
23
|
+
const localPath = (value) => {
|
|
24
|
+
if (typeof value !== "string" || value.includes("\0"))
|
|
25
|
+
return undefined;
|
|
26
|
+
if (!isWindowsDrivePath(value)) {
|
|
27
|
+
try {
|
|
28
|
+
// Absolute and network-path URLs are not local file addresses. In
|
|
29
|
+
// particular, never retain URL userinfo or query credentials as a path.
|
|
30
|
+
const absolute = new URL(value);
|
|
31
|
+
if (absolute.protocol)
|
|
32
|
+
return undefined;
|
|
33
|
+
}
|
|
34
|
+
catch {
|
|
35
|
+
// Plain relative and absolute filesystem paths are expected to fail URL
|
|
36
|
+
// construction without a base.
|
|
37
|
+
}
|
|
38
|
+
try {
|
|
39
|
+
const based = new URL(value, "https://fabric.invalid/");
|
|
40
|
+
if (based.hostname !== "fabric.invalid")
|
|
41
|
+
return undefined;
|
|
42
|
+
}
|
|
43
|
+
catch {
|
|
44
|
+
return undefined;
|
|
45
|
+
}
|
|
46
|
+
}
|
|
47
|
+
const query = value.indexOf("?");
|
|
48
|
+
const fragment = value.indexOf("#");
|
|
49
|
+
const end = Math.min(query < 0 ? value.length : query, fragment < 0 ? value.length : fragment);
|
|
50
|
+
return value.slice(0, end) || undefined;
|
|
51
|
+
};
|
|
52
|
+
const commandDigest = (value) => typeof value === "string"
|
|
53
|
+
? `sha256:${createHash("sha256").update(value).digest("hex")}`
|
|
54
|
+
: undefined;
|
|
55
|
+
const copyString = (output, args, key) => {
|
|
56
|
+
const value = stringValue(args[key]);
|
|
57
|
+
if (value !== undefined)
|
|
58
|
+
output[key] = value;
|
|
59
|
+
};
|
|
60
|
+
const copyNumber = (output, args, key) => {
|
|
61
|
+
const value = finiteNumber(args[key]);
|
|
62
|
+
if (value !== undefined)
|
|
63
|
+
output[key] = value;
|
|
64
|
+
};
|
|
65
|
+
const copyPath = (output, args) => {
|
|
66
|
+
const value = localPath(args.path);
|
|
67
|
+
if (value !== undefined)
|
|
68
|
+
output.path = value;
|
|
69
|
+
};
|
|
70
|
+
const projected = (args, build) => {
|
|
71
|
+
const value = {};
|
|
72
|
+
try {
|
|
73
|
+
build(value);
|
|
74
|
+
}
|
|
75
|
+
catch {
|
|
76
|
+
return emptyProjection(args);
|
|
77
|
+
}
|
|
78
|
+
return {
|
|
79
|
+
value,
|
|
80
|
+
droppedValues: Math.max(0, topLevelKeyCount(args) - Object.keys(value).length),
|
|
81
|
+
};
|
|
82
|
+
};
|
|
83
|
+
const idOnlyAgentActions = new Set([
|
|
84
|
+
"agents.wait",
|
|
85
|
+
"agents.status",
|
|
86
|
+
"agents.stop",
|
|
87
|
+
"agents.cleanup",
|
|
88
|
+
"agents.ask",
|
|
89
|
+
"agents.tell",
|
|
90
|
+
"agents.steer",
|
|
91
|
+
"agents.followUp",
|
|
92
|
+
"agents.setSteeringMode",
|
|
93
|
+
"agents.setFollowUpMode",
|
|
94
|
+
"agents.actorStatus",
|
|
95
|
+
"agents.setEvents",
|
|
96
|
+
"agents.setInstructions",
|
|
97
|
+
"agents.messages",
|
|
98
|
+
"agents.remove",
|
|
99
|
+
"agents.log",
|
|
100
|
+
]);
|
|
101
|
+
/**
|
|
102
|
+
* Projects invocation arguments by exact built-in reference. Unknown,
|
|
103
|
+
* extension, MCP, schema, state, compact, and generic provider calls retain no
|
|
104
|
+
* arguments. This allowlist, rather than secret-looking string matching, is
|
|
105
|
+
* the durable trace's primary confidentiality boundary.
|
|
106
|
+
*/
|
|
107
|
+
export const projectFabricAuditArgs = (ref, args) => {
|
|
108
|
+
switch (ref) {
|
|
109
|
+
case "pi.read":
|
|
110
|
+
return projected(args, (output) => {
|
|
111
|
+
copyPath(output, args);
|
|
112
|
+
copyNumber(output, args, "offset");
|
|
113
|
+
copyNumber(output, args, "limit");
|
|
114
|
+
});
|
|
115
|
+
case "pi.grep":
|
|
116
|
+
return projected(args, (output) => {
|
|
117
|
+
copyPath(output, args);
|
|
118
|
+
copyNumber(output, args, "context");
|
|
119
|
+
copyNumber(output, args, "limit");
|
|
120
|
+
});
|
|
121
|
+
case "pi.find":
|
|
122
|
+
case "pi.ls":
|
|
123
|
+
return projected(args, (output) => {
|
|
124
|
+
copyPath(output, args);
|
|
125
|
+
copyNumber(output, args, "limit");
|
|
126
|
+
});
|
|
127
|
+
case "pi.edit":
|
|
128
|
+
case "pi.write":
|
|
129
|
+
return projected(args, (output) => copyPath(output, args));
|
|
130
|
+
case "pi.bash":
|
|
131
|
+
return projected(args, (output) => {
|
|
132
|
+
const digest = commandDigest(args.command);
|
|
133
|
+
if (digest !== undefined)
|
|
134
|
+
output.commandDigest = digest;
|
|
135
|
+
});
|
|
136
|
+
case "mesh.publish":
|
|
137
|
+
return projected(args, (output) => {
|
|
138
|
+
copyString(output, args, "topic");
|
|
139
|
+
copyString(output, args, "to");
|
|
140
|
+
});
|
|
141
|
+
case "mesh.read":
|
|
142
|
+
return projected(args, (output) => {
|
|
143
|
+
copyString(output, args, "topic");
|
|
144
|
+
copyString(output, args, "to");
|
|
145
|
+
copyNumber(output, args, "after");
|
|
146
|
+
copyNumber(output, args, "limit");
|
|
147
|
+
});
|
|
148
|
+
case "mesh.get":
|
|
149
|
+
case "mesh.put":
|
|
150
|
+
case "mesh.delete":
|
|
151
|
+
return projected(args, (output) => copyString(output, args, "key"));
|
|
152
|
+
case "mesh.list":
|
|
153
|
+
return projected(args, (output) => {
|
|
154
|
+
copyString(output, args, "prefix");
|
|
155
|
+
copyNumber(output, args, "limit");
|
|
156
|
+
});
|
|
157
|
+
default:
|
|
158
|
+
if (idOnlyAgentActions.has(ref)) {
|
|
159
|
+
return projected(args, (output) => copyString(output, args, "id"));
|
|
160
|
+
}
|
|
161
|
+
return emptyProjection(args);
|
|
162
|
+
}
|
|
163
|
+
};
|
|
164
|
+
/**
|
|
165
|
+
* Results are omitted except for the exact boolean creation outcome emitted by
|
|
166
|
+
* pi.write. No provider details or output text accompany that flag.
|
|
167
|
+
*/
|
|
168
|
+
export const projectFabricAuditResult = (ref, result) => {
|
|
169
|
+
if (ref !== "pi.write" || typeof result !== "object" || result === null || Array.isArray(result)) {
|
|
170
|
+
return undefined;
|
|
171
|
+
}
|
|
172
|
+
const record = result;
|
|
173
|
+
const details = typeof record.details === "object" && record.details !== null && !Array.isArray(record.details)
|
|
174
|
+
? record.details
|
|
175
|
+
: undefined;
|
|
176
|
+
if (record.created !== true && details?.created !== true)
|
|
177
|
+
return undefined;
|
|
178
|
+
return {
|
|
179
|
+
value: { created: true },
|
|
180
|
+
droppedValues: Math.max(0, topLevelKeyCount(record) - 1),
|
|
181
|
+
};
|
|
182
|
+
};
|
|
183
|
+
//# sourceMappingURL=projection.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"projection.js","sourceRoot":"","sources":["../../src/audit/projection.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,85 @@
|
|
|
1
|
+
export declare const FABRIC_EXECUTION_TRACE_KIND: "pi-fabric.execution";
|
|
2
|
+
export declare const FABRIC_EXECUTION_TRACE_VERSION: 1;
|
|
3
|
+
export declare const FABRIC_EXECUTION_TRACE_MAX_BYTES: number;
|
|
4
|
+
export type FabricTraceJsonPrimitive = string | number | boolean | null;
|
|
5
|
+
export type FabricTraceJsonValue = FabricTraceJsonPrimitive | FabricTraceJsonValue[] | {
|
|
6
|
+
[key: string]: FabricTraceJsonValue;
|
|
7
|
+
};
|
|
8
|
+
export type FabricExecutionOutcomeV1 = "succeeded" | "failed" | "aborted" | "timed_out";
|
|
9
|
+
export type FabricExecutionFailureStageV1 = "resolve" | "prepare" | "validate" | "approve" | "invoke" | "guard";
|
|
10
|
+
export interface FabricExecutionTraceOperationV1 {
|
|
11
|
+
type: "call";
|
|
12
|
+
sequence: number;
|
|
13
|
+
ref: string;
|
|
14
|
+
provider?: string;
|
|
15
|
+
action?: string;
|
|
16
|
+
args: {
|
|
17
|
+
[key: string]: FabricTraceJsonValue;
|
|
18
|
+
};
|
|
19
|
+
outcome: FabricExecutionOutcomeV1;
|
|
20
|
+
failureStage?: FabricExecutionFailureStageV1;
|
|
21
|
+
error?: string;
|
|
22
|
+
result?: FabricTraceJsonValue;
|
|
23
|
+
}
|
|
24
|
+
export interface FabricExecutionTraceCountsV1 {
|
|
25
|
+
droppedValues: number;
|
|
26
|
+
truncatedValues: number;
|
|
27
|
+
redactedValues: number;
|
|
28
|
+
droppedOperations: number;
|
|
29
|
+
}
|
|
30
|
+
export interface FabricExecutionTraceV1 {
|
|
31
|
+
kind: typeof FABRIC_EXECUTION_TRACE_KIND;
|
|
32
|
+
version: typeof FABRIC_EXECUTION_TRACE_VERSION;
|
|
33
|
+
outcome: FabricExecutionOutcomeV1;
|
|
34
|
+
phases: string[];
|
|
35
|
+
operations: FabricExecutionTraceOperationV1[];
|
|
36
|
+
counts: FabricExecutionTraceCountsV1;
|
|
37
|
+
error?: string;
|
|
38
|
+
}
|
|
39
|
+
interface MutableCounts {
|
|
40
|
+
droppedValues: number;
|
|
41
|
+
truncatedValues: number;
|
|
42
|
+
redactedValues: number;
|
|
43
|
+
}
|
|
44
|
+
interface Sanitized<T extends FabricTraceJsonValue> {
|
|
45
|
+
value: T;
|
|
46
|
+
counts: MutableCounts;
|
|
47
|
+
}
|
|
48
|
+
interface MutableOperation {
|
|
49
|
+
type: "call";
|
|
50
|
+
sequence: number;
|
|
51
|
+
ref: string;
|
|
52
|
+
projectionRef: string;
|
|
53
|
+
provider?: string;
|
|
54
|
+
action?: string;
|
|
55
|
+
args: Sanitized<{
|
|
56
|
+
[key: string]: FabricTraceJsonValue;
|
|
57
|
+
}>;
|
|
58
|
+
outcome?: FabricExecutionOutcomeV1;
|
|
59
|
+
failureStage?: FabricExecutionFailureStageV1;
|
|
60
|
+
error?: Sanitized<string>;
|
|
61
|
+
result?: Sanitized<FabricTraceJsonValue>;
|
|
62
|
+
droppedResultValues: number;
|
|
63
|
+
}
|
|
64
|
+
export declare class FabricExecutionTraceOperationHandle {
|
|
65
|
+
private readonly recorder;
|
|
66
|
+
private readonly operation;
|
|
67
|
+
constructor(recorder: FabricExecutionTraceRecorder, operation: MutableOperation | undefined);
|
|
68
|
+
resolved(provider: string, action: string): void;
|
|
69
|
+
prepared(args: Record<string, unknown>): void;
|
|
70
|
+
succeed(result: unknown): void;
|
|
71
|
+
fail(stage: FabricExecutionFailureStageV1, _error: unknown, outcome?: FabricExecutionOutcomeV1, result?: unknown): void;
|
|
72
|
+
}
|
|
73
|
+
export declare class FabricExecutionTraceRecorder {
|
|
74
|
+
#private;
|
|
75
|
+
sealed: boolean;
|
|
76
|
+
snapshotIdentifier(value: string, maxBytes?: number): string;
|
|
77
|
+
issueCall(ref: string, args: Record<string, unknown>): FabricExecutionTraceOperationHandle;
|
|
78
|
+
seal(outcome: FabricExecutionOutcomeV1, phases: readonly string[], _error?: string): FabricExecutionTraceV1;
|
|
79
|
+
}
|
|
80
|
+
export declare const executionOutcomeFromError: (error: unknown, signal?: AbortSignal) => FabricExecutionOutcomeV1;
|
|
81
|
+
export declare const isFabricExecutionTraceOperationV1: (value: unknown) => value is FabricExecutionTraceOperationV1;
|
|
82
|
+
export declare const isFabricExecutionTraceV1: (value: unknown) => value is FabricExecutionTraceV1;
|
|
83
|
+
export declare const readFabricExecutionTraceV1: (value: unknown) => FabricExecutionTraceV1 | undefined;
|
|
84
|
+
export {};
|
|
85
|
+
//# sourceMappingURL=trace.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"trace.d.ts","sourceRoot":"","sources":["../../src/audit/trace.ts"],"names":[],"mappings":"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"}
|