pi-fabric 0.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 +21 -0
- package/README.md +635 -0
- package/THIRD_PARTY_NOTICES.md +9 -0
- package/dist/activity/store.d.ts +27 -0
- package/dist/activity/store.d.ts.map +1 -0
- package/dist/activity/store.js +474 -0
- package/dist/activity/store.js.map +1 -0
- package/dist/activity/types.d.ts +101 -0
- package/dist/activity/types.d.ts.map +1 -0
- package/dist/activity/types.js +2 -0
- package/dist/activity/types.js.map +1 -0
- package/dist/actors/context.d.ts +13 -0
- package/dist/actors/context.d.ts.map +1 -0
- package/dist/actors/context.js +155 -0
- package/dist/actors/context.js.map +1 -0
- package/dist/actors/manager.d.ts +33 -0
- package/dist/actors/manager.d.ts.map +1 -0
- package/dist/actors/manager.js +751 -0
- package/dist/actors/manager.js.map +1 -0
- package/dist/actors/types.d.ts +67 -0
- package/dist/actors/types.d.ts.map +1 -0
- package/dist/actors/types.js +2 -0
- package/dist/actors/types.js.map +1 -0
- package/dist/capture/catalog.d.ts +23 -0
- package/dist/capture/catalog.d.ts.map +1 -0
- package/dist/capture/catalog.js +53 -0
- package/dist/capture/catalog.js.map +1 -0
- package/dist/capture/interceptor.d.ts +13 -0
- package/dist/capture/interceptor.d.ts.map +1 -0
- package/dist/capture/interceptor.js +130 -0
- package/dist/capture/interceptor.js.map +1 -0
- package/dist/commands/fabric.d.ts +14 -0
- package/dist/commands/fabric.d.ts.map +1 -0
- package/dist/commands/fabric.js +237 -0
- package/dist/commands/fabric.js.map +1 -0
- package/dist/config.d.ts +89 -0
- package/dist/config.d.ts.map +1 -0
- package/dist/config.js +255 -0
- package/dist/config.js.map +1 -0
- package/dist/core/action-registry.d.ts +71 -0
- package/dist/core/action-registry.d.ts.map +1 -0
- package/dist/core/action-registry.js +273 -0
- package/dist/core/action-registry.js.map +1 -0
- package/dist/core/approval-controller.d.ts +11 -0
- package/dist/core/approval-controller.d.ts.map +1 -0
- package/dist/core/approval-controller.js +45 -0
- package/dist/core/approval-controller.js.map +1 -0
- package/dist/core/pi-tools.d.ts +4 -0
- package/dist/core/pi-tools.d.ts.map +1 -0
- package/dist/core/pi-tools.js +11 -0
- package/dist/core/pi-tools.js.map +1 -0
- package/dist/core/tool-ownership.d.ts +12 -0
- package/dist/core/tool-ownership.d.ts.map +1 -0
- package/dist/core/tool-ownership.js +41 -0
- package/dist/core/tool-ownership.js.map +1 -0
- package/dist/execution-service.d.ts +41 -0
- package/dist/execution-service.d.ts.map +1 -0
- package/dist/execution-service.js +210 -0
- package/dist/execution-service.js.map +1 -0
- package/dist/fabric-state.d.ts +38 -0
- package/dist/fabric-state.d.ts.map +1 -0
- package/dist/fabric-state.js +275 -0
- package/dist/fabric-state.js.map +1 -0
- package/dist/index.d.ts +4 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +491 -0
- package/dist/index.js.map +1 -0
- package/dist/mesh/store.d.ts +68 -0
- package/dist/mesh/store.d.ts.map +1 -0
- package/dist/mesh/store.js +387 -0
- package/dist/mesh/store.js.map +1 -0
- package/dist/protocol.d.ts +62 -0
- package/dist/protocol.d.ts.map +1 -0
- package/dist/protocol.js +3 -0
- package/dist/protocol.js.map +1 -0
- package/dist/providers/agents-provider.d.ts +15 -0
- package/dist/providers/agents-provider.d.ts.map +1 -0
- package/dist/providers/agents-provider.js +393 -0
- package/dist/providers/agents-provider.js.map +1 -0
- package/dist/providers/captured-tools-provider.d.ts +23 -0
- package/dist/providers/captured-tools-provider.d.ts.map +1 -0
- package/dist/providers/captured-tools-provider.js +170 -0
- package/dist/providers/captured-tools-provider.js.map +1 -0
- package/dist/providers/mcp-provider.d.ts +15 -0
- package/dist/providers/mcp-provider.d.ts.map +1 -0
- package/dist/providers/mcp-provider.js +289 -0
- package/dist/providers/mcp-provider.js.map +1 -0
- package/dist/providers/mesh-provider.d.ts +13 -0
- package/dist/providers/mesh-provider.d.ts.map +1 -0
- package/dist/providers/mesh-provider.js +175 -0
- package/dist/providers/mesh-provider.js.map +1 -0
- package/dist/providers/pi-tools-provider.d.ts +14 -0
- package/dist/providers/pi-tools-provider.d.ts.map +1 -0
- package/dist/providers/pi-tools-provider.js +200 -0
- package/dist/providers/pi-tools-provider.js.map +1 -0
- package/dist/runtime/guest-types.d.ts +3 -0
- package/dist/runtime/guest-types.d.ts.map +1 -0
- package/dist/runtime/guest-types.js +313 -0
- package/dist/runtime/guest-types.js.map +1 -0
- package/dist/runtime/quickjs-runtime.d.ts +18 -0
- package/dist/runtime/quickjs-runtime.d.ts.map +1 -0
- package/dist/runtime/quickjs-runtime.js +538 -0
- package/dist/runtime/quickjs-runtime.js.map +1 -0
- package/dist/runtime/type-checker.d.ts +10 -0
- package/dist/runtime/type-checker.d.ts.map +1 -0
- package/dist/runtime/type-checker.js +71 -0
- package/dist/runtime/type-checker.js.map +1 -0
- package/dist/subagents/budget-ledger.d.ts +61 -0
- package/dist/subagents/budget-ledger.d.ts.map +1 -0
- package/dist/subagents/budget-ledger.js +92 -0
- package/dist/subagents/budget-ledger.js.map +1 -0
- package/dist/subagents/manager.d.ts +27 -0
- package/dist/subagents/manager.d.ts.map +1 -0
- package/dist/subagents/manager.js +497 -0
- package/dist/subagents/manager.js.map +1 -0
- package/dist/subagents/semaphore.d.ts +7 -0
- package/dist/subagents/semaphore.d.ts.map +1 -0
- package/dist/subagents/semaphore.js +54 -0
- package/dist/subagents/semaphore.js.map +1 -0
- package/dist/subagents/transports/localterm-transport.d.ts +7 -0
- package/dist/subagents/transports/localterm-transport.d.ts.map +1 -0
- package/dist/subagents/transports/localterm-transport.js +54 -0
- package/dist/subagents/transports/localterm-transport.js.map +1 -0
- package/dist/subagents/transports/process-transport.d.ts +7 -0
- package/dist/subagents/transports/process-transport.d.ts.map +1 -0
- package/dist/subagents/transports/process-transport.js +17 -0
- package/dist/subagents/transports/process-transport.js.map +1 -0
- package/dist/subagents/transports/process-utils.d.ts +16 -0
- package/dist/subagents/transports/process-utils.d.ts.map +1 -0
- package/dist/subagents/transports/process-utils.js +57 -0
- package/dist/subagents/transports/process-utils.js.map +1 -0
- package/dist/subagents/transports/screen-transport.d.ts +7 -0
- package/dist/subagents/transports/screen-transport.d.ts.map +1 -0
- package/dist/subagents/transports/screen-transport.js +33 -0
- package/dist/subagents/transports/screen-transport.js.map +1 -0
- package/dist/subagents/transports/tmux-transport.d.ts +7 -0
- package/dist/subagents/transports/tmux-transport.d.ts.map +1 -0
- package/dist/subagents/transports/tmux-transport.js +41 -0
- package/dist/subagents/transports/tmux-transport.js.map +1 -0
- package/dist/subagents/types.d.ts +132 -0
- package/dist/subagents/types.d.ts.map +1 -0
- package/dist/subagents/types.js +2 -0
- package/dist/subagents/types.js.map +1 -0
- package/dist/subagents/worktree-manager.d.ts +12 -0
- package/dist/subagents/worktree-manager.d.ts.map +1 -0
- package/dist/subagents/worktree-manager.js +53 -0
- package/dist/subagents/worktree-manager.js.map +1 -0
- package/dist/ui/controller.d.ts +14 -0
- package/dist/ui/controller.d.ts.map +1 -0
- package/dist/ui/controller.js +153 -0
- package/dist/ui/controller.js.map +1 -0
- package/dist/ui/dashboard.d.ts +36 -0
- package/dist/ui/dashboard.d.ts.map +1 -0
- package/dist/ui/dashboard.js +620 -0
- package/dist/ui/dashboard.js.map +1 -0
- package/dist/ui/fabric-render.d.ts +28 -0
- package/dist/ui/fabric-render.d.ts.map +1 -0
- package/dist/ui/fabric-render.js +280 -0
- package/dist/ui/fabric-render.js.map +1 -0
- package/dist/ui/format.d.ts +7 -0
- package/dist/ui/format.d.ts.map +1 -0
- package/dist/ui/format.js +57 -0
- package/dist/ui/format.js.map +1 -0
- package/dist/ui/highlight.d.ts +13 -0
- package/dist/ui/highlight.d.ts.map +1 -0
- package/dist/ui/highlight.js +337 -0
- package/dist/ui/highlight.js.map +1 -0
- package/dist/ui/settings.d.ts +21 -0
- package/dist/ui/settings.d.ts.map +1 -0
- package/dist/ui/settings.js +480 -0
- package/dist/ui/settings.js.map +1 -0
- package/dist/ui/snapshot.d.ts +5 -0
- package/dist/ui/snapshot.d.ts.map +1 -0
- package/dist/ui/snapshot.js +120 -0
- package/dist/ui/snapshot.js.map +1 -0
- package/dist/ui/types.d.ts +57 -0
- package/dist/ui/types.d.ts.map +1 -0
- package/dist/ui/types.js +11 -0
- package/dist/ui/types.js.map +1 -0
- package/dist/ui/widget.d.ts +16 -0
- package/dist/ui/widget.d.ts.map +1 -0
- package/dist/ui/widget.js +199 -0
- package/dist/ui/widget.js.map +1 -0
- package/dist/util.d.ts +2 -0
- package/dist/util.d.ts.map +1 -0
- package/dist/util.js +10 -0
- package/dist/util.js.map +1 -0
- package/dist/worker.d.ts +3 -0
- package/dist/worker.d.ts.map +1 -0
- package/dist/worker.js +478 -0
- package/dist/worker.js.map +1 -0
- package/package.json +87 -0
- package/skills/fabric-advisor/SKILL.md +53 -0
- package/skills/fabric-ambient/SKILL.md +84 -0
- package/skills/fabric-council/SKILL.md +37 -0
- package/skills/fabric-exec/SKILL.md +39 -0
- package/skills/fabric-exec/references/agents.md +78 -0
- package/skills/fabric-exec/references/mcp.md +46 -0
- package/skills/fabric-exec/references/mesh.md +42 -0
- package/skills/fabric-rlm/SKILL.md +84 -0
- package/skills/fabric-supervisor/SKILL.md +63 -0
- package/skills/fabric-swarm/SKILL.md +85 -0
- package/skills/fabric-workflow/SKILL.md +69 -0
|
@@ -0,0 +1,210 @@
|
|
|
1
|
+
import { FabricActivityStore } from "./activity/store.js";
|
|
2
|
+
import { ActionRegistry, } from "./core/action-registry.js";
|
|
3
|
+
import { ApprovalController } from "./core/approval-controller.js";
|
|
4
|
+
import { guestTypeDeclarations } from "./runtime/guest-types.js";
|
|
5
|
+
import { QuickJsRuntime } from "./runtime/quickjs-runtime.js";
|
|
6
|
+
import { typeCheckFabricCode } from "./runtime/type-checker.js";
|
|
7
|
+
export class FabricExecutionService {
|
|
8
|
+
registry;
|
|
9
|
+
config;
|
|
10
|
+
activity;
|
|
11
|
+
#runtime = new QuickJsRuntime();
|
|
12
|
+
constructor(registry, config, activity) {
|
|
13
|
+
this.registry = registry;
|
|
14
|
+
this.config = config;
|
|
15
|
+
this.activity = activity;
|
|
16
|
+
}
|
|
17
|
+
async execute(options) {
|
|
18
|
+
const startedAt = performance.now();
|
|
19
|
+
this.activity?.start(options.parentToolCallId, options.display);
|
|
20
|
+
const checked = typeCheckFabricCode(options.code, guestTypeDeclarations(this.config.fullCodeMode));
|
|
21
|
+
if (checked.errors.length > 0) {
|
|
22
|
+
this.activity?.finish(options.parentToolCallId, false, "Type checking failed");
|
|
23
|
+
return {
|
|
24
|
+
success: false,
|
|
25
|
+
value: undefined,
|
|
26
|
+
logs: [],
|
|
27
|
+
audits: [],
|
|
28
|
+
phases: [],
|
|
29
|
+
elapsedMs: performance.now() - startedAt,
|
|
30
|
+
typeErrors: checked.errors,
|
|
31
|
+
};
|
|
32
|
+
}
|
|
33
|
+
const approval = new ApprovalController(this.config.approvals, options.context);
|
|
34
|
+
const audits = [];
|
|
35
|
+
const phases = [];
|
|
36
|
+
let agentCalls = 0;
|
|
37
|
+
const maxAgentCalls = Math.max(1, Math.min(options.maxAgentCalls ?? this.config.subagents.maxPerExecution, this.config.subagents.maxPerExecution));
|
|
38
|
+
const guardAgentCall = (ref) => {
|
|
39
|
+
if (ref !== "agents.run" && ref !== "agents.spawn" && ref !== "agents.create")
|
|
40
|
+
return;
|
|
41
|
+
agentCalls++;
|
|
42
|
+
if (agentCalls > maxAgentCalls) {
|
|
43
|
+
throw new Error(`Fabric agent budget exhausted (${maxAgentCalls} per execution)`);
|
|
44
|
+
}
|
|
45
|
+
};
|
|
46
|
+
const fullCodeProvider = (value) => {
|
|
47
|
+
const separator = value.indexOf(".");
|
|
48
|
+
const provider = separator > 0 ? value.slice(0, separator) : value;
|
|
49
|
+
return provider === "pi" || provider === "extensions" ? provider : undefined;
|
|
50
|
+
};
|
|
51
|
+
const guardFullCodeRef = (ref) => {
|
|
52
|
+
if (this.config.fullCodeMode)
|
|
53
|
+
return;
|
|
54
|
+
const provider = fullCodeProvider(ref);
|
|
55
|
+
if (!provider)
|
|
56
|
+
return;
|
|
57
|
+
throw new Error(`Fabric full code mode is disabled; call ${provider === "pi" ? "Pi core" : "registered extension"} tools directly outside fabric_exec`);
|
|
58
|
+
};
|
|
59
|
+
let currentProgress;
|
|
60
|
+
const emit = () => {
|
|
61
|
+
options.onPartial({ audits: audits.slice(), progress: currentProgress });
|
|
62
|
+
};
|
|
63
|
+
const update = (message) => {
|
|
64
|
+
currentProgress = message;
|
|
65
|
+
emit();
|
|
66
|
+
};
|
|
67
|
+
const observeInvocation = (event) => {
|
|
68
|
+
if (this.activity) {
|
|
69
|
+
if (event.type === "call_start") {
|
|
70
|
+
this.activity.beginCall(options.parentToolCallId, event);
|
|
71
|
+
}
|
|
72
|
+
else if (event.type === "call_update") {
|
|
73
|
+
this.activity.updateCall(options.parentToolCallId, event.callId, event.update);
|
|
74
|
+
}
|
|
75
|
+
else {
|
|
76
|
+
this.activity.finishCall(options.parentToolCallId, event.callId, event);
|
|
77
|
+
}
|
|
78
|
+
}
|
|
79
|
+
if (event.type === "call_end")
|
|
80
|
+
emit();
|
|
81
|
+
};
|
|
82
|
+
const baseContext = {
|
|
83
|
+
cwd: options.context.cwd,
|
|
84
|
+
signal: options.signal,
|
|
85
|
+
parentToolCallId: options.parentToolCallId,
|
|
86
|
+
nestedToolCallId: `${options.parentToolCallId}_metadata`,
|
|
87
|
+
extensionContext: options.context,
|
|
88
|
+
update,
|
|
89
|
+
};
|
|
90
|
+
let sandboxResult;
|
|
91
|
+
try {
|
|
92
|
+
sandboxResult = await this.#runtime.execute(options.code, async (ref, args, runtimeSignal) => {
|
|
93
|
+
const callContext = { ...baseContext, signal: runtimeSignal };
|
|
94
|
+
switch (ref) {
|
|
95
|
+
case "fabric.$providers":
|
|
96
|
+
return this.registry
|
|
97
|
+
.providers()
|
|
98
|
+
.filter((provider) => this.config.fullCodeMode || !fullCodeProvider(provider.name));
|
|
99
|
+
case "fabric.$list": {
|
|
100
|
+
if (typeof args.provider === "string")
|
|
101
|
+
guardFullCodeRef(`${args.provider}.*`);
|
|
102
|
+
const actions = await this.registry.list({
|
|
103
|
+
...(typeof args.provider === "string" ? { provider: args.provider } : {}),
|
|
104
|
+
...(typeof args.namespace === "string" ? { namespace: args.namespace } : {}),
|
|
105
|
+
...(typeof args.query === "string" ? { query: args.query } : {}),
|
|
106
|
+
...(typeof args.limit === "number" ? { limit: args.limit } : {}),
|
|
107
|
+
}, callContext);
|
|
108
|
+
return actions.filter((action) => this.config.fullCodeMode || !fullCodeProvider(action.provider));
|
|
109
|
+
}
|
|
110
|
+
case "fabric.$search": {
|
|
111
|
+
const actions = await this.registry.search(String(args.query ?? ""), callContext, typeof args.limit === "number" ? args.limit : undefined);
|
|
112
|
+
return actions.filter((action) => this.config.fullCodeMode || !fullCodeProvider(action.provider));
|
|
113
|
+
}
|
|
114
|
+
case "fabric.$describe": {
|
|
115
|
+
const targetRef = String(args.ref ?? "");
|
|
116
|
+
guardFullCodeRef(targetRef);
|
|
117
|
+
return this.registry.describe(targetRef, callContext);
|
|
118
|
+
}
|
|
119
|
+
case "fabric.$call": {
|
|
120
|
+
const callArgs = typeof args.args === "object" && args.args !== null && !Array.isArray(args.args)
|
|
121
|
+
? args.args
|
|
122
|
+
: {};
|
|
123
|
+
const targetRef = String(args.ref ?? "");
|
|
124
|
+
guardFullCodeRef(targetRef);
|
|
125
|
+
guardAgentCall(targetRef);
|
|
126
|
+
return this.registry.invoke(targetRef, callArgs, {
|
|
127
|
+
...callContext,
|
|
128
|
+
approve: (action) => approval.approve(action),
|
|
129
|
+
audits,
|
|
130
|
+
maxResultChars: this.config.executor.maxNestedResultChars,
|
|
131
|
+
observeInvocation,
|
|
132
|
+
});
|
|
133
|
+
}
|
|
134
|
+
case "fabric.$progress":
|
|
135
|
+
update(String(args.message ?? "Working"));
|
|
136
|
+
return undefined;
|
|
137
|
+
case "fabric.$configure": {
|
|
138
|
+
const display = {
|
|
139
|
+
...(typeof args.name === "string" ? { name: args.name } : {}),
|
|
140
|
+
...(typeof args.description === "string" ? { description: args.description } : {}),
|
|
141
|
+
};
|
|
142
|
+
return this.activity?.configure(options.parentToolCallId, display) ?? display;
|
|
143
|
+
}
|
|
144
|
+
case "fabric.$phase": {
|
|
145
|
+
const name = String(args.name ?? "").trim();
|
|
146
|
+
if (!name)
|
|
147
|
+
throw new Error("Workflow phase name must not be empty");
|
|
148
|
+
if (!phases.includes(name))
|
|
149
|
+
phases.push(name);
|
|
150
|
+
const phaseInput = {
|
|
151
|
+
name,
|
|
152
|
+
...(typeof args.id === "string" ? { id: args.id } : {}),
|
|
153
|
+
...(typeof args.description === "string" ? { description: args.description } : {}),
|
|
154
|
+
...(typeof args.total === "number" ? { total: args.total } : {}),
|
|
155
|
+
};
|
|
156
|
+
const activityPhase = this.activity?.phase(options.parentToolCallId, phaseInput);
|
|
157
|
+
update(`Phase: ${name}`);
|
|
158
|
+
return {
|
|
159
|
+
name,
|
|
160
|
+
index: phases.indexOf(name),
|
|
161
|
+
...(activityPhase ? { id: activityPhase.id } : {}),
|
|
162
|
+
};
|
|
163
|
+
}
|
|
164
|
+
case "fabric.$item": {
|
|
165
|
+
const item = args;
|
|
166
|
+
return this.activity?.upsertItem(options.parentToolCallId, item) ?? item;
|
|
167
|
+
}
|
|
168
|
+
case "fabric.$event": {
|
|
169
|
+
const event = args;
|
|
170
|
+
this.activity?.event(options.parentToolCallId, event);
|
|
171
|
+
return undefined;
|
|
172
|
+
}
|
|
173
|
+
default:
|
|
174
|
+
guardFullCodeRef(ref);
|
|
175
|
+
guardAgentCall(ref);
|
|
176
|
+
return this.registry.invoke(ref, args, {
|
|
177
|
+
...callContext,
|
|
178
|
+
approve: (action) => approval.approve(action),
|
|
179
|
+
audits,
|
|
180
|
+
maxResultChars: this.config.executor.maxNestedResultChars,
|
|
181
|
+
observeInvocation,
|
|
182
|
+
});
|
|
183
|
+
}
|
|
184
|
+
}, {
|
|
185
|
+
timeoutMs: this.config.executor.timeoutMs,
|
|
186
|
+
memoryLimitBytes: this.config.executor.memoryLimitBytes,
|
|
187
|
+
maxLogChars: this.config.executor.maxOutputChars,
|
|
188
|
+
...(options.strings ? { strings: options.strings } : {}),
|
|
189
|
+
...(options.tokenBudget !== undefined ? { tokenBudget: options.tokenBudget } : {}),
|
|
190
|
+
...(options.signal ? { signal: options.signal } : {}),
|
|
191
|
+
});
|
|
192
|
+
}
|
|
193
|
+
catch (error) {
|
|
194
|
+
const message = error instanceof Error ? error.message : String(error);
|
|
195
|
+
this.activity?.finish(options.parentToolCallId, false, message);
|
|
196
|
+
throw error;
|
|
197
|
+
}
|
|
198
|
+
this.activity?.finish(options.parentToolCallId, !sandboxResult.error, sandboxResult.error);
|
|
199
|
+
return {
|
|
200
|
+
success: !sandboxResult.error,
|
|
201
|
+
value: sandboxResult.value,
|
|
202
|
+
logs: sandboxResult.logs,
|
|
203
|
+
audits,
|
|
204
|
+
phases,
|
|
205
|
+
elapsedMs: performance.now() - startedAt,
|
|
206
|
+
...(sandboxResult.error ? { error: sandboxResult.error } : {}),
|
|
207
|
+
};
|
|
208
|
+
}
|
|
209
|
+
}
|
|
210
|
+
//# sourceMappingURL=execution-service.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"execution-service.js","sourceRoot":"","sources":["../src/execution-service.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
import { type ExtensionContext } from "@earendil-works/pi-coding-agent";
|
|
2
|
+
import type { ExtensionAPI } from "@earendil-works/pi-coding-agent";
|
|
3
|
+
import { FabricActivityStore } from "./activity/store.js";
|
|
4
|
+
import { ActorManager } from "./actors/manager.js";
|
|
5
|
+
import type { FabricActorHostEvent } from "./actors/types.js";
|
|
6
|
+
import { CapturedToolCatalog } from "./capture/catalog.js";
|
|
7
|
+
import { type FabricConfig } from "./config.js";
|
|
8
|
+
import { ActionRegistry } from "./core/action-registry.js";
|
|
9
|
+
import { FabricExecutionService } from "./execution-service.js";
|
|
10
|
+
import { MeshStore } from "./mesh/store.js";
|
|
11
|
+
import { type FabricProvider } from "./protocol.js";
|
|
12
|
+
import { SubagentManager } from "./subagents/manager.js";
|
|
13
|
+
export declare class FabricState {
|
|
14
|
+
#private;
|
|
15
|
+
readonly pi: ExtensionAPI;
|
|
16
|
+
readonly capturedTools: CapturedToolCatalog;
|
|
17
|
+
readonly activity: FabricActivityStore;
|
|
18
|
+
constructor(pi: ExtensionAPI, capturedTools: CapturedToolCatalog);
|
|
19
|
+
get initialized(): boolean;
|
|
20
|
+
get widgetDismissedAt(): number;
|
|
21
|
+
set widgetDismissedAt(value: number);
|
|
22
|
+
get cwd(): string | undefined;
|
|
23
|
+
get config(): FabricConfig;
|
|
24
|
+
get registry(): ActionRegistry;
|
|
25
|
+
get execution(): FabricExecutionService;
|
|
26
|
+
get subagents(): SubagentManager;
|
|
27
|
+
get actors(): ActorManager;
|
|
28
|
+
get mesh(): MeshStore;
|
|
29
|
+
initialize(context: ExtensionContext): Promise<void>;
|
|
30
|
+
ensure(context: ExtensionContext): Promise<void>;
|
|
31
|
+
reloadConfig(context: ExtensionContext): void;
|
|
32
|
+
dispatchHostEvent(event: FabricActorHostEvent, payload: unknown, context: ExtensionContext): number;
|
|
33
|
+
registerExternal(provider: FabricProvider, options?: {
|
|
34
|
+
overwrite?: boolean;
|
|
35
|
+
}): void;
|
|
36
|
+
shutdown(): Promise<void>;
|
|
37
|
+
}
|
|
38
|
+
//# sourceMappingURL=fabric-state.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"fabric-state.d.ts","sourceRoot":"","sources":["../src/fabric-state.ts"],"names":[],"mappings":"AAAA,OAAO,EAAe,KAAK,gBAAgB,EAAE,MAAM,iCAAiC,CAAC;AACrF,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,iCAAiC,CAAC;AAEpE,OAAO,EAAE,mBAAmB,EAAE,MAAM,qBAAqB,CAAC;AAC1D,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AAEnD,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,mBAAmB,CAAC;AAC9D,OAAO,EAAE,mBAAmB,EAAE,MAAM,sBAAsB,CAAC;AAC3D,OAAO,EAAoB,KAAK,YAAY,EAAE,MAAM,aAAa,CAAC;AAClE,OAAO,EAAE,cAAc,EAAE,MAAM,2BAA2B,CAAC;AAC3D,OAAO,EAAE,sBAAsB,EAAE,MAAM,wBAAwB,CAAC;AAChE,OAAO,EAAE,SAAS,EAAqB,MAAM,iBAAiB,CAAC;AAM/D,OAAO,EAEL,KAAK,cAAc,EAEpB,MAAM,eAAe,CAAC;AACvB,OAAO,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AAQzD,qBAAa,WAAW;;IAapB,QAAQ,CAAC,EAAE,EAAE,YAAY;IACzB,QAAQ,CAAC,aAAa,EAAE,mBAAmB;IAL7C,QAAQ,CAAC,QAAQ,sBAA6B;gBAInC,EAAE,EAAE,YAAY,EAChB,aAAa,EAAE,mBAAmB;IAG7C,IAAI,WAAW,IAAI,OAAO,CAEzB;IAED,IAAI,iBAAiB,IAAI,MAAM,CAE9B;IAED,IAAI,iBAAiB,CAAC,KAAK,EAAE,MAAM,EAElC;IAED,IAAI,GAAG,IAAI,MAAM,GAAG,SAAS,CAE5B;IAED,IAAI,MAAM,IAAI,YAAY,CAGzB;IAED,IAAI,QAAQ,IAAI,cAAc,CAG7B;IAED,IAAI,SAAS,IAAI,sBAAsB,CAGtC;IAED,IAAI,SAAS,IAAI,eAAe,CAG/B;IAED,IAAI,MAAM,IAAI,YAAY,CAGzB;IAED,IAAI,IAAI,IAAI,SAAS,CAGpB;IAEK,UAAU,CAAC,OAAO,EAAE,gBAAgB,GAAG,OAAO,CAAC,IAAI,CAAC;IA+GpD,MAAM,CAAC,OAAO,EAAE,gBAAgB,GAAG,OAAO,CAAC,IAAI,CAAC;IAItD,YAAY,CAAC,OAAO,EAAE,gBAAgB,GAAG,IAAI;IAU7C,iBAAiB,CACf,KAAK,EAAE,oBAAoB,EAC3B,OAAO,EAAE,OAAO,EAChB,OAAO,EAAE,gBAAgB,GACxB,MAAM;IA8CT,gBAAgB,CAAC,QAAQ,EAAE,cAAc,EAAE,OAAO,GAAE;QAAE,SAAS,CAAC,EAAE,OAAO,CAAA;KAAO,GAAG,IAAI;IAWjF,QAAQ,IAAI,OAAO,CAAC,IAAI,CAAC;CAwBhC"}
|
|
@@ -0,0 +1,275 @@
|
|
|
1
|
+
import { getAgentDir } from "@earendil-works/pi-coding-agent";
|
|
2
|
+
import path from "node:path";
|
|
3
|
+
import { FabricActivityStore } from "./activity/store.js";
|
|
4
|
+
import { ActorManager } from "./actors/manager.js";
|
|
5
|
+
import { buildActorContext } from "./actors/context.js";
|
|
6
|
+
import { CapturedToolCatalog } from "./capture/catalog.js";
|
|
7
|
+
import { loadFabricConfig } from "./config.js";
|
|
8
|
+
import { ActionRegistry } from "./core/action-registry.js";
|
|
9
|
+
import { FabricExecutionService } from "./execution-service.js";
|
|
10
|
+
import { MeshStore } from "./mesh/store.js";
|
|
11
|
+
import { AgentsProvider } from "./providers/agents-provider.js";
|
|
12
|
+
import { CapturedToolsProvider } from "./providers/captured-tools-provider.js";
|
|
13
|
+
import { McpProvider } from "./providers/mcp-provider.js";
|
|
14
|
+
import { MeshProvider } from "./providers/mesh-provider.js";
|
|
15
|
+
import { PiToolsProvider } from "./providers/pi-tools-provider.js";
|
|
16
|
+
import { FABRIC_PROVIDER_DISCOVER_EVENT, } from "./protocol.js";
|
|
17
|
+
import { SubagentManager } from "./subagents/manager.js";
|
|
18
|
+
const BACKGROUND_COMPLETION_MAX_CHARS = 8_000;
|
|
19
|
+
const ACTOR_DELIVERY_MAX_CHARS = 8_000;
|
|
20
|
+
const escapeXmlText = (value) => value.replaceAll("&", "&").replaceAll("<", "<").replaceAll(">", ">");
|
|
21
|
+
export class FabricState {
|
|
22
|
+
pi;
|
|
23
|
+
capturedTools;
|
|
24
|
+
#registry;
|
|
25
|
+
#config;
|
|
26
|
+
#execution;
|
|
27
|
+
#subagents;
|
|
28
|
+
#actors;
|
|
29
|
+
#mesh;
|
|
30
|
+
#cwd;
|
|
31
|
+
#externalProviders = new Map();
|
|
32
|
+
activity = new FabricActivityStore();
|
|
33
|
+
#widgetDismissedAt = 0;
|
|
34
|
+
constructor(pi, capturedTools) {
|
|
35
|
+
this.pi = pi;
|
|
36
|
+
this.capturedTools = capturedTools;
|
|
37
|
+
}
|
|
38
|
+
get initialized() {
|
|
39
|
+
return Boolean(this.#execution);
|
|
40
|
+
}
|
|
41
|
+
get widgetDismissedAt() {
|
|
42
|
+
return this.#widgetDismissedAt;
|
|
43
|
+
}
|
|
44
|
+
set widgetDismissedAt(value) {
|
|
45
|
+
this.#widgetDismissedAt = value;
|
|
46
|
+
}
|
|
47
|
+
get cwd() {
|
|
48
|
+
return this.#cwd;
|
|
49
|
+
}
|
|
50
|
+
get config() {
|
|
51
|
+
if (!this.#config)
|
|
52
|
+
throw new Error("Pi Fabric has not initialized");
|
|
53
|
+
return this.#config;
|
|
54
|
+
}
|
|
55
|
+
get registry() {
|
|
56
|
+
if (!this.#registry)
|
|
57
|
+
throw new Error("Pi Fabric has not initialized");
|
|
58
|
+
return this.#registry;
|
|
59
|
+
}
|
|
60
|
+
get execution() {
|
|
61
|
+
if (!this.#execution)
|
|
62
|
+
throw new Error("Pi Fabric has not initialized");
|
|
63
|
+
return this.#execution;
|
|
64
|
+
}
|
|
65
|
+
get subagents() {
|
|
66
|
+
if (!this.#subagents)
|
|
67
|
+
throw new Error("Pi Fabric has not initialized");
|
|
68
|
+
return this.#subagents;
|
|
69
|
+
}
|
|
70
|
+
get actors() {
|
|
71
|
+
if (!this.#actors)
|
|
72
|
+
throw new Error("Pi Fabric has not initialized");
|
|
73
|
+
return this.#actors;
|
|
74
|
+
}
|
|
75
|
+
get mesh() {
|
|
76
|
+
if (!this.#mesh)
|
|
77
|
+
throw new Error("Pi Fabric has not initialized");
|
|
78
|
+
return this.#mesh;
|
|
79
|
+
}
|
|
80
|
+
async initialize(context) {
|
|
81
|
+
await this.#closeInternal();
|
|
82
|
+
this.activity.reset();
|
|
83
|
+
this.#cwd = context.cwd;
|
|
84
|
+
this.#config = loadFabricConfig({
|
|
85
|
+
cwd: context.cwd,
|
|
86
|
+
agentDir: getAgentDir(),
|
|
87
|
+
projectTrusted: context.isProjectTrusted(),
|
|
88
|
+
});
|
|
89
|
+
this.#registry = new ActionRegistry();
|
|
90
|
+
const capturedToolsProvider = this.#config.fullCodeMode && this.#config.capture.enabled
|
|
91
|
+
? new CapturedToolsProvider(this.capturedTools)
|
|
92
|
+
: undefined;
|
|
93
|
+
if (this.#config.fullCodeMode) {
|
|
94
|
+
this.#registry.register(new PiToolsProvider(context.cwd, this.capturedTools, capturedToolsProvider));
|
|
95
|
+
}
|
|
96
|
+
this.#registry.register(new McpProvider(context.cwd, this.#config.mcp));
|
|
97
|
+
if (capturedToolsProvider)
|
|
98
|
+
this.#registry.register(capturedToolsProvider);
|
|
99
|
+
const sessionId = context.sessionManager.getSessionId();
|
|
100
|
+
const actorId = process.env.PI_FABRIC_ACTOR_ID;
|
|
101
|
+
const identity = actorId
|
|
102
|
+
? {
|
|
103
|
+
id: actorId,
|
|
104
|
+
name: process.env.PI_FABRIC_ACTOR_NAME || actorId.slice(0, 8),
|
|
105
|
+
kind: "actor",
|
|
106
|
+
sessionId,
|
|
107
|
+
}
|
|
108
|
+
: { id: `session:${sessionId}`, name: "main", kind: "main", sessionId };
|
|
109
|
+
const configuredMeshRoot = this.#config.mesh.root;
|
|
110
|
+
const meshRoot = process.env.PI_FABRIC_MESH_ROOT ??
|
|
111
|
+
(configuredMeshRoot
|
|
112
|
+
? path.resolve(context.cwd, configuredMeshRoot)
|
|
113
|
+
: path.join(context.cwd, ".pi", "fabric", "mesh"));
|
|
114
|
+
this.#mesh = new MeshStore(meshRoot, this.#config.mesh.maxEventBytes, this.#config.mesh.maxReadEvents);
|
|
115
|
+
if (this.#config.mesh.enabled) {
|
|
116
|
+
this.#registry.register(new MeshProvider(this.#mesh, identity));
|
|
117
|
+
}
|
|
118
|
+
this.#subagents = new SubagentManager(context.cwd, this.#config.subagents, {
|
|
119
|
+
fullCodeMode: this.#config.fullCodeMode,
|
|
120
|
+
onBackgroundComplete: (result) => {
|
|
121
|
+
const durationMs = Math.max(0, (result.finishedAt ?? Date.now()) - result.startedAt);
|
|
122
|
+
const duration = durationMs < 60_000
|
|
123
|
+
? `${Math.round(durationMs / 1_000)}s`
|
|
124
|
+
: `${(durationMs / 60_000).toFixed(1)}m`;
|
|
125
|
+
const summary = result.text || result.error || "no result";
|
|
126
|
+
const clippedSummary = summary.length > BACKGROUND_COMPLETION_MAX_CHARS
|
|
127
|
+
? `${summary.slice(0, BACKGROUND_COMPLETION_MAX_CHARS)}\n[completion truncated]`
|
|
128
|
+
: summary;
|
|
129
|
+
this.pi.sendMessage({
|
|
130
|
+
customType: "pi-fabric-subagent-complete",
|
|
131
|
+
content: `Fabric agent ${result.id.slice(0, 8)} ${result.status} after ${duration}: ${clippedSummary}`,
|
|
132
|
+
display: true,
|
|
133
|
+
details: result,
|
|
134
|
+
}, { deliverAs: "followUp", triggerTurn: true });
|
|
135
|
+
},
|
|
136
|
+
});
|
|
137
|
+
this.#actors = new ActorManager(sessionId, identity, this.#mesh, this.#config.mesh, this.#subagents, ({ actor, message, delivery, triggerTurn }) => {
|
|
138
|
+
const actorText = message.text ?? "";
|
|
139
|
+
if (!actorText)
|
|
140
|
+
return;
|
|
141
|
+
const text = actorText.length > ACTOR_DELIVERY_MAX_CHARS
|
|
142
|
+
? `${actorText.slice(0, ACTOR_DELIVERY_MAX_CHARS)}\n[actor delivery truncated]`
|
|
143
|
+
: actorText;
|
|
144
|
+
this.pi.sendMessage({
|
|
145
|
+
customType: "pi-fabric-actor",
|
|
146
|
+
content: `<fabric-actor name=${JSON.stringify(actor.name)} id=${JSON.stringify(actor.id)}>\n${escapeXmlText(text)}\n</fabric-actor>`,
|
|
147
|
+
display: true,
|
|
148
|
+
details: { actor, message },
|
|
149
|
+
}, { deliverAs: delivery, triggerTurn });
|
|
150
|
+
}, context.isProjectTrusted() && this.#config.mesh.enabled
|
|
151
|
+
? {
|
|
152
|
+
actorRoot: path.join(meshRoot, "actors", sessionId),
|
|
153
|
+
persistent: true,
|
|
154
|
+
}
|
|
155
|
+
: { persistent: false });
|
|
156
|
+
this.#registry.register(new AgentsProvider(this.#subagents, this.#actors));
|
|
157
|
+
for (const provider of this.#externalProviders.values()) {
|
|
158
|
+
this.#registry.register(provider);
|
|
159
|
+
}
|
|
160
|
+
this.#execution = new FabricExecutionService(this.#registry, this.#config, this.activity);
|
|
161
|
+
const discovery = {
|
|
162
|
+
version: 1,
|
|
163
|
+
register: (provider, options) => this.registerExternal(provider, options),
|
|
164
|
+
};
|
|
165
|
+
this.pi.events.emit(FABRIC_PROVIDER_DISCOVER_EVENT, discovery);
|
|
166
|
+
}
|
|
167
|
+
async ensure(context) {
|
|
168
|
+
if (!this.initialized || this.#cwd !== context.cwd)
|
|
169
|
+
await this.initialize(context);
|
|
170
|
+
}
|
|
171
|
+
reloadConfig(context) {
|
|
172
|
+
if (!this.#config || !this.#cwd)
|
|
173
|
+
return;
|
|
174
|
+
const next = loadFabricConfig({
|
|
175
|
+
cwd: context.cwd,
|
|
176
|
+
agentDir: getAgentDir(),
|
|
177
|
+
projectTrusted: context.isProjectTrusted(),
|
|
178
|
+
});
|
|
179
|
+
deepAssign(this.#config, next);
|
|
180
|
+
}
|
|
181
|
+
dispatchHostEvent(event, payload, context) {
|
|
182
|
+
if (!this.#actors || !this.#config?.mesh.enabled)
|
|
183
|
+
return 0;
|
|
184
|
+
const maxChars = this.#config.mesh.eventContextChars;
|
|
185
|
+
const bounded = (value) => {
|
|
186
|
+
let json;
|
|
187
|
+
try {
|
|
188
|
+
const serialized = JSON.stringify(value, (_key, nested) => {
|
|
189
|
+
if (typeof nested === "bigint")
|
|
190
|
+
return String(nested);
|
|
191
|
+
if (typeof nested === "function")
|
|
192
|
+
return undefined;
|
|
193
|
+
if (typeof nested === "object" &&
|
|
194
|
+
nested !== null &&
|
|
195
|
+
"type" in nested &&
|
|
196
|
+
nested.type === "image") {
|
|
197
|
+
return { type: "image", redacted: true };
|
|
198
|
+
}
|
|
199
|
+
return nested;
|
|
200
|
+
});
|
|
201
|
+
if (serialized === undefined)
|
|
202
|
+
return null;
|
|
203
|
+
json = serialized;
|
|
204
|
+
}
|
|
205
|
+
catch {
|
|
206
|
+
return String(value);
|
|
207
|
+
}
|
|
208
|
+
if (json.length > maxChars)
|
|
209
|
+
json = json.slice(json.length - maxChars);
|
|
210
|
+
try {
|
|
211
|
+
return JSON.parse(json);
|
|
212
|
+
}
|
|
213
|
+
catch {
|
|
214
|
+
return json;
|
|
215
|
+
}
|
|
216
|
+
};
|
|
217
|
+
const branch = context.sessionManager.getBranch();
|
|
218
|
+
const { digest, transcript } = buildActorContext(branch, this.#config.mesh.actorContextEntries, this.#config.mesh.eventContextChars);
|
|
219
|
+
return this.#actors.dispatchHostEvent(event, {
|
|
220
|
+
event,
|
|
221
|
+
session: { id: context.sessionManager.getSessionId(), cwd: context.cwd },
|
|
222
|
+
digest,
|
|
223
|
+
transcript,
|
|
224
|
+
signal: { payload: bounded(payload), idle: context.isIdle(), observedAt: Date.now() },
|
|
225
|
+
});
|
|
226
|
+
}
|
|
227
|
+
registerExternal(provider, options = {}) {
|
|
228
|
+
if (["pi", "mcp", "agents", "mesh", "extensions", "fabric"].includes(provider.name)) {
|
|
229
|
+
throw new Error(`Reserved Fabric provider name: ${provider.name}`);
|
|
230
|
+
}
|
|
231
|
+
if (this.#externalProviders.has(provider.name) && !options.overwrite) {
|
|
232
|
+
throw new Error(`Fabric provider already registered: ${provider.name}`);
|
|
233
|
+
}
|
|
234
|
+
this.#externalProviders.set(provider.name, provider);
|
|
235
|
+
if (this.#registry)
|
|
236
|
+
this.#registry.register(provider, options);
|
|
237
|
+
}
|
|
238
|
+
async shutdown() {
|
|
239
|
+
await this.#registry?.close();
|
|
240
|
+
this.#registry = undefined;
|
|
241
|
+
this.#config = undefined;
|
|
242
|
+
this.#execution = undefined;
|
|
243
|
+
this.#subagents = undefined;
|
|
244
|
+
this.#actors = undefined;
|
|
245
|
+
this.#mesh = undefined;
|
|
246
|
+
this.#cwd = undefined;
|
|
247
|
+
this.activity.reset();
|
|
248
|
+
this.#widgetDismissedAt = 0;
|
|
249
|
+
this.#externalProviders.clear();
|
|
250
|
+
}
|
|
251
|
+
async #closeInternal() {
|
|
252
|
+
if (!this.#registry)
|
|
253
|
+
return;
|
|
254
|
+
const externalNames = new Set(this.#externalProviders.keys());
|
|
255
|
+
await this.#registry.close(externalNames);
|
|
256
|
+
this.#registry = undefined;
|
|
257
|
+
this.#execution = undefined;
|
|
258
|
+
this.#subagents = undefined;
|
|
259
|
+
this.#actors = undefined;
|
|
260
|
+
this.#mesh = undefined;
|
|
261
|
+
}
|
|
262
|
+
}
|
|
263
|
+
const isPlainObject = (value) => typeof value === "object" && value !== null && !Array.isArray(value);
|
|
264
|
+
const deepAssign = (target, source) => {
|
|
265
|
+
for (const [key, value] of Object.entries(source)) {
|
|
266
|
+
const targetValue = target[key];
|
|
267
|
+
if (isPlainObject(value) && isPlainObject(targetValue)) {
|
|
268
|
+
deepAssign(targetValue, value);
|
|
269
|
+
}
|
|
270
|
+
else {
|
|
271
|
+
target[key] = value;
|
|
272
|
+
}
|
|
273
|
+
}
|
|
274
|
+
};
|
|
275
|
+
//# sourceMappingURL=fabric-state.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"fabric-state.js","sourceRoot":"","sources":["../src/fabric-state.ts"],"names":[],"mappings":"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"}
|
package/dist/index.d.ts
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,KAAK,YAAY,EAElB,MAAM,iCAAiC,CAAC;AA6EzC,wBAA8B,QAAQ,CAAC,EAAE,EAAE,YAAY,GAAG,OAAO,CAAC,IAAI,CAAC,CAsftE;AAED,cAAc,eAAe,CAAC"}
|