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,200 @@
|
|
|
1
|
+
import { createBashToolDefinition, createEditToolDefinition, createFindToolDefinition, createGrepToolDefinition, createLsToolDefinition, createReadToolDefinition, createWriteToolDefinition, } from "@earendil-works/pi-coding-agent";
|
|
2
|
+
import { CapturedToolCatalog } from "../capture/catalog.js";
|
|
3
|
+
import { PI_CORE_TOOL_NAMES } from "../core/pi-tools.js";
|
|
4
|
+
import { CapturedToolsProvider } from "./captured-tools-provider.js";
|
|
5
|
+
const readTools = new Set(["read", "grep", "find", "ls"]);
|
|
6
|
+
const writeTools = new Set(["edit", "write"]);
|
|
7
|
+
const riskForTool = (name) => {
|
|
8
|
+
if (readTools.has(name))
|
|
9
|
+
return "read";
|
|
10
|
+
if (writeTools.has(name))
|
|
11
|
+
return "write";
|
|
12
|
+
return "execute";
|
|
13
|
+
};
|
|
14
|
+
const textContent = (content) => content
|
|
15
|
+
.filter((part) => part.type === "text")
|
|
16
|
+
.map((part) => part.text)
|
|
17
|
+
.join("\n");
|
|
18
|
+
const normalizeResult = (name, result) => {
|
|
19
|
+
const text = textContent(result.content);
|
|
20
|
+
if (result.isError)
|
|
21
|
+
throw new Error(text || `${name} failed`);
|
|
22
|
+
if (name === "read" || name === "grep" || name === "find" || name === "ls") {
|
|
23
|
+
return text;
|
|
24
|
+
}
|
|
25
|
+
return {
|
|
26
|
+
ok: true,
|
|
27
|
+
output: text,
|
|
28
|
+
details: result.details ?? null,
|
|
29
|
+
};
|
|
30
|
+
};
|
|
31
|
+
export class PiToolsProvider {
|
|
32
|
+
name = "pi";
|
|
33
|
+
description = "Pi's built-in coding tools";
|
|
34
|
+
#tools;
|
|
35
|
+
#catalog;
|
|
36
|
+
#capturedTools;
|
|
37
|
+
constructor(cwd, catalog, capturedTools) {
|
|
38
|
+
this.#tools = {
|
|
39
|
+
read: createReadToolDefinition(cwd),
|
|
40
|
+
bash: createBashToolDefinition(cwd),
|
|
41
|
+
edit: createEditToolDefinition(cwd),
|
|
42
|
+
write: createWriteToolDefinition(cwd),
|
|
43
|
+
grep: createGrepToolDefinition(cwd),
|
|
44
|
+
find: createFindToolDefinition(cwd),
|
|
45
|
+
ls: createLsToolDefinition(cwd),
|
|
46
|
+
};
|
|
47
|
+
this.#catalog = catalog;
|
|
48
|
+
this.#capturedTools = capturedTools;
|
|
49
|
+
}
|
|
50
|
+
async list(request, _context) {
|
|
51
|
+
const query = request.query?.toLowerCase();
|
|
52
|
+
const descriptors = await Promise.all(PI_CORE_TOOL_NAMES.map((name) => this.describe(name, _context)));
|
|
53
|
+
return descriptors
|
|
54
|
+
.filter((descriptor) => descriptor !== undefined)
|
|
55
|
+
.filter((descriptor) => query ? `${descriptor.name} ${descriptor.description}`.toLowerCase().includes(query) : true);
|
|
56
|
+
}
|
|
57
|
+
async describe(actionName, _context) {
|
|
58
|
+
if (!(actionName in this.#tools))
|
|
59
|
+
return undefined;
|
|
60
|
+
const name = actionName;
|
|
61
|
+
const override = await this.#capturedTools?.describe(name, _context);
|
|
62
|
+
if (override)
|
|
63
|
+
return { ...override, namespace: "extension-override" };
|
|
64
|
+
const tool = this.#tools[name];
|
|
65
|
+
return this.#descriptor(name, tool);
|
|
66
|
+
}
|
|
67
|
+
prepareArguments(actionName, args) {
|
|
68
|
+
if (this.#catalog?.get(actionName)) {
|
|
69
|
+
return this.#capturedTools.prepareArguments(actionName, args);
|
|
70
|
+
}
|
|
71
|
+
if (!(actionName in this.#tools))
|
|
72
|
+
return args;
|
|
73
|
+
const prepare = this.#tools[actionName].prepareArguments;
|
|
74
|
+
if (!prepare)
|
|
75
|
+
return args;
|
|
76
|
+
const prepared = prepare(args);
|
|
77
|
+
if (typeof prepared !== "object" || prepared === null || Array.isArray(prepared)) {
|
|
78
|
+
throw new Error(`Pi tool ${actionName} prepared non-object arguments`);
|
|
79
|
+
}
|
|
80
|
+
return prepared;
|
|
81
|
+
}
|
|
82
|
+
async invoke(actionName, args, context) {
|
|
83
|
+
if (!(actionName in this.#tools))
|
|
84
|
+
throw new Error(`Unknown Pi tool: ${actionName}`);
|
|
85
|
+
const name = actionName;
|
|
86
|
+
// A captured extension override (e.g. an extension that registered a "read"
|
|
87
|
+
// tool) already replays the full event lifecycle itself via
|
|
88
|
+
// CapturedToolsProvider, so delegate to it unchanged.
|
|
89
|
+
if (this.#catalog?.get(name)) {
|
|
90
|
+
const result = await this.#capturedTools.invoke(name, args, context);
|
|
91
|
+
return normalizeResult(name, result);
|
|
92
|
+
}
|
|
93
|
+
const tool = this.#tools[name];
|
|
94
|
+
const runner = this.#catalog?.runner;
|
|
95
|
+
// Without a runner (e.g. before the first tool refresh populated the
|
|
96
|
+
// catalog) fall back to a direct execute — no extension hooks fire, but
|
|
97
|
+
// the call still works. Once tools are refreshed the runner is available.
|
|
98
|
+
if (!runner) {
|
|
99
|
+
const result = await tool.execute(context.nestedToolCallId, args, context.signal, undefined, context.extensionContext);
|
|
100
|
+
return normalizeResult(name, result);
|
|
101
|
+
}
|
|
102
|
+
return this.#invokeWithEvents(name, tool, args, context, runner);
|
|
103
|
+
}
|
|
104
|
+
// Replay the agent-core tool-execution lifecycle for a nested pi.* call, so
|
|
105
|
+
// extensions that hook tool_call / tool_result / tool_execution_* see pi
|
|
106
|
+
// core tools invoked through fabric_exec in full-code mode — exactly as
|
|
107
|
+
// they would for a top-level call in the normal (non-codemode) flow, and
|
|
108
|
+
// exactly as CapturedToolsProvider already does for captured extension
|
|
109
|
+
// tools. tool_result patches (content/details/isError) are applied, so
|
|
110
|
+
// extensions like pi-vision-handoff can replace image blocks with text
|
|
111
|
+
// descriptions before the result returns to the sandbox.
|
|
112
|
+
async #invokeWithEvents(name, tool, args, context, runner) {
|
|
113
|
+
const toolCallId = context.nestedToolCallId;
|
|
114
|
+
await runner.emit({
|
|
115
|
+
type: "tool_execution_start",
|
|
116
|
+
toolCallId,
|
|
117
|
+
toolName: name,
|
|
118
|
+
args,
|
|
119
|
+
});
|
|
120
|
+
let result;
|
|
121
|
+
let isError = false;
|
|
122
|
+
let thrown;
|
|
123
|
+
let updateTail = Promise.resolve();
|
|
124
|
+
try {
|
|
125
|
+
const preflight = await runner.emitToolCall({
|
|
126
|
+
type: "tool_call",
|
|
127
|
+
toolName: name,
|
|
128
|
+
toolCallId,
|
|
129
|
+
input: args,
|
|
130
|
+
});
|
|
131
|
+
if (preflight?.block) {
|
|
132
|
+
throw new Error(preflight.reason || `Pi tool ${name} was blocked`);
|
|
133
|
+
}
|
|
134
|
+
result = (await tool.execute(toolCallId, args, context.signal, (partialResult) => {
|
|
135
|
+
const progress = textContent(partialResult.content).trim();
|
|
136
|
+
if (progress)
|
|
137
|
+
context.update(`${name}: ${progress.slice(0, 500)}`);
|
|
138
|
+
updateTail = updateTail
|
|
139
|
+
.then(() => runner.emit({
|
|
140
|
+
type: "tool_execution_update",
|
|
141
|
+
toolCallId,
|
|
142
|
+
toolName: name,
|
|
143
|
+
args,
|
|
144
|
+
partialResult,
|
|
145
|
+
}))
|
|
146
|
+
.catch(() => undefined);
|
|
147
|
+
}, context.extensionContext));
|
|
148
|
+
}
|
|
149
|
+
catch (error) {
|
|
150
|
+
thrown = error;
|
|
151
|
+
isError = true;
|
|
152
|
+
result = {
|
|
153
|
+
content: [
|
|
154
|
+
{ type: "text", text: error instanceof Error ? error.message : String(error) },
|
|
155
|
+
],
|
|
156
|
+
details: undefined,
|
|
157
|
+
};
|
|
158
|
+
}
|
|
159
|
+
await updateTail;
|
|
160
|
+
const patch = await runner.emitToolResult({
|
|
161
|
+
type: "tool_result",
|
|
162
|
+
toolName: name,
|
|
163
|
+
toolCallId,
|
|
164
|
+
input: args,
|
|
165
|
+
content: result.content,
|
|
166
|
+
details: result.details,
|
|
167
|
+
isError,
|
|
168
|
+
});
|
|
169
|
+
if (patch) {
|
|
170
|
+
result = {
|
|
171
|
+
...result,
|
|
172
|
+
content: patch.content ?? result.content,
|
|
173
|
+
...(patch.details !== undefined ? { details: patch.details } : {}),
|
|
174
|
+
};
|
|
175
|
+
isError = patch.isError ?? isError;
|
|
176
|
+
}
|
|
177
|
+
await runner.emit({
|
|
178
|
+
type: "tool_execution_end",
|
|
179
|
+
toolCallId,
|
|
180
|
+
toolName: name,
|
|
181
|
+
result,
|
|
182
|
+
isError,
|
|
183
|
+
});
|
|
184
|
+
if (isError) {
|
|
185
|
+
const text = textContent(result.content).trim();
|
|
186
|
+
throw new Error(text || (thrown instanceof Error ? thrown.message : `Pi tool ${name} failed`));
|
|
187
|
+
}
|
|
188
|
+
return normalizeResult(name, result);
|
|
189
|
+
}
|
|
190
|
+
#descriptor(name, tool) {
|
|
191
|
+
return {
|
|
192
|
+
name,
|
|
193
|
+
description: tool.description,
|
|
194
|
+
inputSchema: tool.parameters,
|
|
195
|
+
risk: riskForTool(name),
|
|
196
|
+
namespace: "builtin",
|
|
197
|
+
};
|
|
198
|
+
}
|
|
199
|
+
}
|
|
200
|
+
//# sourceMappingURL=pi-tools-provider.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"pi-tools-provider.js","sourceRoot":"","sources":["../../src/providers/pi-tools-provider.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,wBAAwB,EACxB,wBAAwB,EACxB,wBAAwB,EACxB,wBAAwB,EACxB,sBAAsB,EACtB,wBAAwB,EACxB,yBAAyB,GAI1B,MAAM,iCAAiC,CAAC;AACzC,OAAO,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAC5D,OAAO,EAAE,kBAAkB,EAAuB,MAAM,qBAAqB,CAAC;AAQ9E,OAAO,EAAE,qBAAqB,EAAE,MAAM,8BAA8B,CAAC;AAErE,MAAM,SAAS,GAAG,IAAI,GAAG,CAAiB,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,CAAC,CAAC,CAAC;AAC1E,MAAM,UAAU,GAAG,IAAI,GAAG,CAAiB,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC;AAK9D,MAAM,WAAW,GAAG,CAAC,IAAoB,EAAc,EAAE;IACvD,IAAI,SAAS,CAAC,GAAG,CAAC,IAAI,CAAC;QAAE,OAAO,MAAM,CAAC;IACvC,IAAI,UAAU,CAAC,GAAG,CAAC,IAAI,CAAC;QAAE,OAAO,OAAO,CAAC;IACzC,OAAO,SAAS,CAAC;AACnB,CAAC,CAAC;AAEF,MAAM,WAAW,GAAG,CAAC,OAAoB,EAAU,EAAE,CACnD,OAAO;KACJ,MAAM,CAAC,CAAC,IAAI,EAA0C,EAAE,CAAC,IAAI,CAAC,IAAI,KAAK,MAAM,CAAC;KAC9E,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC;KACxB,IAAI,CAAC,IAAI,CAAC,CAAC;AAEhB,MAAM,eAAe,GAAG,CACtB,IAAoB,EACpB,MAAsE,EAC7D,EAAE;IACX,MAAM,IAAI,GAAG,WAAW,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;IACzC,IAAI,MAAM,CAAC,OAAO;QAAE,MAAM,IAAI,KAAK,CAAC,IAAI,IAAI,GAAG,IAAI,SAAS,CAAC,CAAC;IAC9D,IAAI,IAAI,KAAK,MAAM,IAAI,IAAI,KAAK,MAAM,IAAI,IAAI,KAAK,MAAM,IAAI,IAAI,KAAK,IAAI,EAAE,CAAC;QAC3E,OAAO,IAAI,CAAC;IACd,CAAC;IACD,OAAO;QACL,EAAE,EAAE,IAAI;QACR,MAAM,EAAE,IAAI;QACZ,OAAO,EAAE,MAAM,CAAC,OAAO,IAAI,IAAI;KAChC,CAAC;AACJ,CAAC,CAAC;AAWF,MAAM,OAAO,eAAe;IACjB,IAAI,GAAG,IAAI,CAAC;IACZ,WAAW,GAAG,4BAA4B,CAAC;IAC3C,MAAM,CAAwD;IAC9D,QAAQ,CAAkC;IAC1C,cAAc,CAAoC;IAE3D,YACE,GAAW,EACX,OAA6B,EAC7B,aAAqC;QAErC,IAAI,CAAC,MAAM,GAAG;YACZ,IAAI,EAAE,wBAAwB,CAAC,GAAG,CAAC;YACnC,IAAI,EAAE,wBAAwB,CAAC,GAAG,CAAC;YACnC,IAAI,EAAE,wBAAwB,CAAC,GAAG,CAAC;YACnC,KAAK,EAAE,yBAAyB,CAAC,GAAG,CAAC;YACrC,IAAI,EAAE,wBAAwB,CAAC,GAAG,CAAC;YACnC,IAAI,EAAE,wBAAwB,CAAC,GAAG,CAAC;YACnC,EAAE,EAAE,sBAAsB,CAAC,GAAG,CAAC;SAChC,CAAC;QACF,IAAI,CAAC,QAAQ,GAAG,OAAO,CAAC;QACxB,IAAI,CAAC,cAAc,GAAG,aAAa,CAAC;IACtC,CAAC;IAED,KAAK,CAAC,IAAI,CACR,OAAkC,EAClC,QAAiC;QAEjC,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,EAAE,WAAW,EAAE,CAAC;QAC3C,MAAM,WAAW,GAAG,MAAM,OAAO,CAAC,GAAG,CACnC,kBAAkB,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC,CAChE,CAAC;QACF,OAAO,WAAW;aACf,MAAM,CAAC,CAAC,UAAU,EAAwC,EAAE,CAAC,UAAU,KAAK,SAAS,CAAC;aACtF,MAAM,CAAC,CAAC,UAAU,EAAE,EAAE,CACrB,KAAK,CAAC,CAAC,CAAC,GAAG,UAAU,CAAC,IAAI,IAAI,UAAU,CAAC,WAAW,EAAE,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAC5F,CAAC;IACN,CAAC;IAED,KAAK,CAAC,QAAQ,CACZ,UAAkB,EAClB,QAAiC;QAEjC,IAAI,CAAC,CAAC,UAAU,IAAI,IAAI,CAAC,MAAM,CAAC;YAAE,OAAO,SAAS,CAAC;QACnD,MAAM,IAAI,GAAG,UAA4B,CAAC;QAC1C,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,cAAc,EAAE,QAAQ,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;QACrE,IAAI,QAAQ;YAAE,OAAO,EAAE,GAAG,QAAQ,EAAE,SAAS,EAAE,oBAAoB,EAAE,CAAC;QACtE,MAAM,IAAI,GAAG,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;QAC/B,OAAO,IAAI,CAAC,WAAW,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IACtC,CAAC;IAED,gBAAgB,CAAC,UAAkB,EAAE,IAA6B;QAChE,IAAI,IAAI,CAAC,QAAQ,EAAE,GAAG,CAAC,UAAU,CAAC,EAAE,CAAC;YACnC,OAAO,IAAI,CAAC,cAAe,CAAC,gBAAgB,CAAC,UAAU,EAAE,IAAI,CAAC,CAAC;QACjE,CAAC;QACD,IAAI,CAAC,CAAC,UAAU,IAAI,IAAI,CAAC,MAAM,CAAC;YAAE,OAAO,IAAI,CAAC;QAC9C,MAAM,OAAO,GAAG,IAAI,CAAC,MAAM,CAAC,UAA4B,CAAC,CAAC,gBAAgB,CAAC;QAC3E,IAAI,CAAC,OAAO;YAAE,OAAO,IAAI,CAAC;QAC1B,MAAM,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;QAC/B,IAAI,OAAO,QAAQ,KAAK,QAAQ,IAAI,QAAQ,KAAK,IAAI,IAAI,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,CAAC;YACjF,MAAM,IAAI,KAAK,CAAC,WAAW,UAAU,gCAAgC,CAAC,CAAC;QACzE,CAAC;QACD,OAAO,QAAmC,CAAC;IAC7C,CAAC;IAED,KAAK,CAAC,MAAM,CACV,UAAkB,EAClB,IAA6B,EAC7B,OAAgC;QAEhC,IAAI,CAAC,CAAC,UAAU,IAAI,IAAI,CAAC,MAAM,CAAC;YAAE,MAAM,IAAI,KAAK,CAAC,oBAAoB,UAAU,EAAE,CAAC,CAAC;QACpF,MAAM,IAAI,GAAG,UAA4B,CAAC;QAC1C,4EAA4E;QAC5E,4DAA4D;QAC5D,sDAAsD;QACtD,IAAI,IAAI,CAAC,QAAQ,EAAE,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC;YAC7B,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,cAAe,CAAC,MAAM,CAAC,IAAI,EAAE,IAAI,EAAE,OAAO,CAAC,CAAC;YACtE,OAAO,eAAe,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;QACvC,CAAC;QACD,MAAM,IAAI,GAAG,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;QAC/B,MAAM,MAAM,GAAG,IAAI,CAAC,QAAQ,EAAE,MAAM,CAAC;QACrC,qEAAqE;QACrE,wEAAwE;QACxE,0EAA0E;QAC1E,IAAI,CAAC,MAAM,EAAE,CAAC;YACZ,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,OAAO,CAC/B,OAAO,CAAC,gBAAgB,EACxB,IAAI,EACJ,OAAO,CAAC,MAAM,EACd,SAAS,EACT,OAAO,CAAC,gBAAgB,CACzB,CAAC;YACF,OAAO,eAAe,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;QACvC,CAAC;QACD,OAAO,IAAI,CAAC,iBAAiB,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,CAAC,CAAC;IACnE,CAAC;IAED,4EAA4E;IAC5E,yEAAyE;IACzE,wEAAwE;IACxE,yEAAyE;IACzE,uEAAuE;IACvE,uEAAuE;IACvE,uEAAuE;IACvE,yDAAyD;IACzD,KAAK,CAAC,iBAAiB,CACrB,IAAoB,EACpB,IAAmC,EACnC,IAA6B,EAC7B,OAAgC,EAChC,MAAuB;QAEvB,MAAM,UAAU,GAAG,OAAO,CAAC,gBAAgB,CAAC;QAC5C,MAAM,MAAM,CAAC,IAAI,CAAC;YAChB,IAAI,EAAE,sBAAsB;YAC5B,UAAU;YACV,QAAQ,EAAE,IAAI;YACd,IAAI;SACL,CAAC,CAAC;QACH,IAAI,MAAoB,CAAC;QACzB,IAAI,OAAO,GAAG,KAAK,CAAC;QACpB,IAAI,MAAe,CAAC;QACpB,IAAI,UAAU,GAAkB,OAAO,CAAC,OAAO,EAAE,CAAC;QAClD,IAAI,CAAC;YACH,MAAM,SAAS,GAAG,MAAM,MAAM,CAAC,YAAY,CAAC;gBAC1C,IAAI,EAAE,WAAW;gBACjB,QAAQ,EAAE,IAAI;gBACd,UAAU;gBACV,KAAK,EAAE,IAAI;aACZ,CAAC,CAAC;YACH,IAAI,SAAS,EAAE,KAAK,EAAE,CAAC;gBACrB,MAAM,IAAI,KAAK,CAAC,SAAS,CAAC,MAAM,IAAI,WAAW,IAAI,cAAc,CAAC,CAAC;YACrE,CAAC;YACD,MAAM,GAAG,CAAC,MAAM,IAAI,CAAC,OAAO,CAC1B,UAAU,EACV,IAAI,EACJ,OAAO,CAAC,MAAM,EACd,CAAC,aAAa,EAAE,EAAE;gBAChB,MAAM,QAAQ,GAAG,WAAW,CACzB,aAA0C,CAAC,OAAO,CACpD,CAAC,IAAI,EAAE,CAAC;gBACT,IAAI,QAAQ;oBAAE,OAAO,CAAC,MAAM,CAAC,GAAG,IAAI,KAAK,QAAQ,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE,CAAC,CAAC;gBACnE,UAAU,GAAG,UAAU;qBACpB,IAAI,CAAC,GAAG,EAAE,CACT,MAAM,CAAC,IAAI,CAAC;oBACV,IAAI,EAAE,uBAAuB;oBAC7B,UAAU;oBACV,QAAQ,EAAE,IAAI;oBACd,IAAI;oBACJ,aAAa;iBACd,CAAC,CACH;qBACA,KAAK,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC,CAAC;YAC5B,CAAC,EACD,OAAO,CAAC,gBAAgB,CACzB,CAAiB,CAAC;QACrB,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,GAAG,KAAK,CAAC;YACf,OAAO,GAAG,IAAI,CAAC;YACf,MAAM,GAAG;gBACP,OAAO,EAAE;oBACP,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE;iBAC/E;gBACD,OAAO,EAAE,SAAS;aACnB,CAAC;QACJ,CAAC;QAED,MAAM,UAAU,CAAC;QAEjB,MAAM,KAAK,GAAG,MAAM,MAAM,CAAC,cAAc,CAAC;YACxC,IAAI,EAAE,aAAa;YACnB,QAAQ,EAAE,IAAI;YACd,UAAU;YACV,KAAK,EAAE,IAAI;YACX,OAAO,EAAE,MAAM,CAAC,OAAO;YACvB,OAAO,EAAE,MAAM,CAAC,OAAO;YACvB,OAAO;SACR,CAAC,CAAC;QACH,IAAI,KAAK,EAAE,CAAC;YACV,MAAM,GAAG;gBACP,GAAG,MAAM;gBACT,OAAO,EAAE,KAAK,CAAC,OAAO,IAAI,MAAM,CAAC,OAAO;gBACxC,GAAG,CAAC,KAAK,CAAC,OAAO,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;aACnE,CAAC;YACF,OAAO,GAAG,KAAK,CAAC,OAAO,IAAI,OAAO,CAAC;QACrC,CAAC;QAED,MAAM,MAAM,CAAC,IAAI,CAAC;YAChB,IAAI,EAAE,oBAAoB;YAC1B,UAAU;YACV,QAAQ,EAAE,IAAI;YACd,MAAM;YACN,OAAO;SACR,CAAC,CAAC;QAEH,IAAI,OAAO,EAAE,CAAC;YACZ,MAAM,IAAI,GAAG,WAAW,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,CAAC;YAChD,MAAM,IAAI,KAAK,CAAC,IAAI,IAAI,CAAC,MAAM,YAAY,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,WAAW,IAAI,SAAS,CAAC,CAAC,CAAC;QACjG,CAAC;QACD,OAAO,eAAe,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;IACvC,CAAC;IAED,WAAW,CACT,IAAoB,EACpB,IAAmC;QAEnC,OAAO;YACL,IAAI;YACJ,WAAW,EAAE,IAAI,CAAC,WAAW;YAC7B,WAAW,EAAE,IAAI,CAAC,UAAgD;YAClE,IAAI,EAAE,WAAW,CAAC,IAAI,CAAC;YACvB,SAAS,EAAE,SAAS;SACrB,CAAC;IACJ,CAAC;CACF"}
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
export declare const GUEST_TYPE_DECLARATIONS = "\ntype JsonPrimitive = string | number | boolean | null;\ntype JsonValue = JsonPrimitive | JsonValue[] | { [key: string]: JsonValue };\ntype FabricTransport = \"auto\" | \"process\" | \"tmux\" | \"screen\" | \"localterm\";\ntype FabricThinking = \"off\" | \"minimal\" | \"low\" | \"medium\" | \"high\" | \"xhigh\" | \"max\";\ninterface FabricAction {\n ref: string;\n provider: string;\n name: string;\n description: string;\n inputSchema: Record<string, unknown>;\n outputSchema?: Record<string, unknown>;\n risk: \"read\" | \"write\" | \"execute\" | \"network\" | \"agent\";\n namespace?: string;\n}\ninterface FabricAgentRequest {\n task: string;\n name?: string;\n transport?: FabricTransport;\n model?: string;\n thinking?: FabricThinking;\n tools?: string[];\n timeoutMs?: number;\n extensions?: boolean;\n recursive?: boolean;\n worktree?: boolean;\n schema?: Record<string, unknown>;\n}\ninterface FabricAgentHandle {\n id: string;\n name: string;\n status: string;\n transport: FabricTransport;\n cwd: string;\n model?: string;\n thinking?: FabricThinking;\n actorId?: string;\n actorName?: string;\n sessionId?: string;\n attachCommand?: string;\n branch?: string;\n worktree?: string;\n text?: string;\n value?: unknown;\n error?: string;\n logFile?: string;\n}\ninterface FabricAgentResult extends FabricAgentHandle {\n task: string;\n startedAt: number;\n finishedAt?: number;\n turns: number;\n toolCalls: number;\n text: string;\n value?: unknown;\n error?: string;\n usage: { input: number; output: number; cacheRead: number; cacheWrite: number; cost: number };\n}\ninterface FabricToolsApi {\n providers(): Promise<Array<{ name: string; description: string }>>;\n list(args?: { provider?: string; namespace?: string; query?: string; limit?: number }): Promise<FabricAction[]>;\n search(args: { query: string; limit?: number }): Promise<FabricAction[]>;\n describe(args: { ref: string }): Promise<FabricAction>;\n call(args: { ref: string; args?: Record<string, unknown> }): Promise<unknown>;\n progress(args: { message: string }): Promise<void>;\n}\ninterface FabricCapturedToolResult {\n content: Array<{ type: string; text?: string; [key: string]: unknown }>;\n text: string;\n details?: unknown;\n isError: boolean;\n terminate?: boolean;\n source: { path: string; source: string; scope: string; origin: string; baseDir?: string };\n}\ninterface FabricCapturedTool {\n (args?: Record<string, unknown>): Promise<FabricCapturedToolResult>;\n}\ntype FabricExtensionsApi = Record<string, FabricCapturedTool>;\n// String-primary tools (read/bash/grep/find/ls) accept a bare string; the\n// runtime proxy coerces it to { <primaryField>: string }. Lets the model write\n// the natural form (pi.bash(\"ls\")) instead of pi.bash({ command: \"ls\" }).\n// Return shapes differ by tool: read/grep/find/ls return their text as a bare\n// string (e.g. const src: string = await pi.read({ path })); bash/edit/write\n// return { ok, output, details } (e.g. const { output } = await pi.bash(...)).\n// Common alias keys (cmd\u2192command, query\u2192pattern, file\u2192path, dir\u2192path) and a\n// flat edit shape ({ path, oldText, newText }) are also accepted; the runtime\n// proxy normalizes them to the canonical form before the host validates args.\ninterface PiToolsApi {\n read(args: string | { path: string; offset?: number; limit?: number } | { file: string; offset?: number; limit?: number }): Promise<string>;\n bash(args: string | { command: string; timeout?: number } | { cmd: string; timeout?: number }): Promise<{ ok: true; output: string; details: unknown }>;\n edit(args: { path: string; edits: Array<{ oldText: string; newText: string }> } | { file: string; edits: Array<{ oldText: string; newText: string }> } | { path: string; oldText: string; newText: string } | { file: string; oldText: string; newText: string }): Promise<{ ok: true; output: string; details: unknown }>;\n write(args: { path: string; content: string } | { file: string; content: string }): Promise<{ ok: true; output: string; details: unknown }>;\n grep(args: string | { pattern: string; path?: string; glob?: string; ignoreCase?: boolean; literal?: boolean; context?: number; limit?: number } | { query: string; path?: string; glob?: string; ignoreCase?: boolean; literal?: boolean; context?: number; limit?: number }): Promise<string>;\n find(args: string | { pattern: string; path?: string; limit?: number } | { query: string; path?: string; limit?: number }): Promise<string>;\n ls(args?: string | { path?: string; limit?: number } | { dir?: string; limit?: number } | { file?: string; limit?: number }): Promise<string>;\n}\ntype FabricActorHostEvent = \"input\" | \"turn_end\" | \"agent_settled\" | \"tool_error\" | \"session_compact\";\ntype FabricActorDelivery = \"mailbox\" | \"steer\" | \"followUp\" | \"nextTurn\";\ninterface FabricActorRequest {\n name: string;\n instructions: string;\n events?: FabricActorHostEvent[];\n topics?: string[];\n delivery?: FabricActorDelivery;\n responseMode?: \"text\" | \"directive\";\n triggerTurn?: boolean;\n coalesce?: boolean;\n model?: string;\n thinking?: FabricThinking;\n tools?: string[];\n transport?: FabricTransport;\n timeoutMs?: number;\n}\ninterface FabricActorInfo {\n id: string;\n name: string;\n status: \"idle\" | \"queued\" | \"running\" | \"stopped\";\n events: FabricActorHostEvent[];\n topics: string[];\n delivery: FabricActorDelivery;\n responseMode: \"text\" | \"directive\";\n triggerTurn: boolean;\n coalesce: boolean;\n model?: string;\n thinking?: FabricThinking;\n tools?: string[];\n queued: number;\n messages: number;\n createdAt: number;\n updatedAt: number;\n lastRunId?: string;\n lastError?: string;\n}\ninterface FabricActorMessage {\n id: string;\n actorId: string;\n actorName: string;\n direction: \"in\" | \"out\";\n source: string;\n createdAt: number;\n text?: string;\n data?: unknown;\n action?: \"silent\" | \"message\" | \"stop\";\n runId?: string;\n error?: string;\n}\ninterface FabricAgentsApi {\n run(args: FabricAgentRequest): Promise<FabricAgentResult>;\n spawn(args: FabricAgentRequest): Promise<FabricAgentHandle>;\n wait(args: { id: string }): Promise<FabricAgentResult>;\n status(args: { id: string }): Promise<FabricAgentResult | FabricAgentHandle>;\n list(): Promise<Array<FabricAgentResult | FabricAgentHandle>>;\n stop(args: { id: string }): Promise<FabricAgentResult>;\n cleanup(args: { id: string; deleteBranch?: boolean }): Promise<{ cleaned: boolean }>;\n create(args: FabricActorRequest): Promise<FabricActorInfo>;\n ask(args: { id: string; message: string; data?: unknown }): Promise<FabricActorMessage>;\n tell(args: { id: string; message: string; data?: unknown }): Promise<{ queued: true; messageId: string }>;\n actorStatus(args: { id: string }): Promise<FabricActorInfo>;\n actors(): Promise<FabricActorInfo[]>;\n messages(args: { id: string; limit?: number }): Promise<FabricActorMessage[]>;\n remove(args: { id: string }): Promise<{ removed: boolean }>;\n}\ninterface FabricMcpResult {\n text: string;\n content: unknown[];\n structuredContent: unknown;\n}\ninterface FabricMcpTool {\n (args?: Record<string, unknown>): Promise<FabricMcpResult | unknown>;\n}\ninterface FabricMcpServer {\n [tool: string]: FabricMcpTool;\n}\ntype FabricMcpApi = Record<string, FabricMcpServer> & {\n servers(): Promise<Array<{ name: string; description: string | null; transport: \"http\" | \"stdio\" }>>;\n reload(): Promise<{ servers: string[] }>;\n register(args: {\n name: string;\n description?: string;\n command?: string;\n args?: string[];\n cwd?: string;\n baseUrl?: string;\n headers?: Record<string, string>;\n env?: Record<string, string>;\n overwrite?: boolean;\n }): Promise<{ registered: string }>;\n call(args: { server: string; tool: string; args?: Record<string, unknown> }): Promise<unknown>;\n};\ninterface FabricCouncilRunOptions {\n task: string;\n roles: string[];\n transport?: FabricTransport;\n model?: string;\n thinking?: FabricThinking;\n tools?: string[];\n timeoutMs?: number;\n worktree?: boolean;\n}\ninterface FabricCouncilApi {\n run(args: FabricCouncilRunOptions & { synthesize?: true }): Promise<FabricAgentResult>;\n run(args: FabricCouncilRunOptions & { synthesize: false }): Promise<FabricAgentResult[]>;\n}\ninterface FabricMeshIdentity {\n id: string;\n name: string;\n kind: \"main\" | \"actor\" | \"agent\";\n sessionId?: string;\n}\ninterface FabricMeshEvent {\n id: string;\n sequence: number;\n topic: string;\n kind: string;\n from: FabricMeshIdentity;\n to?: string;\n text?: string;\n data?: unknown;\n createdAt: number;\n}\ninterface FabricMeshStateEntry<T = unknown> {\n key: string;\n value: T;\n version: number;\n updatedAt: number;\n updatedBy: FabricMeshIdentity;\n}\ninterface FabricMeshApi {\n self(): Promise<FabricMeshIdentity>;\n publish(args: { topic: string; kind?: string; to?: string; text?: string; data?: unknown }): Promise<FabricMeshEvent>;\n read(args?: { after?: number; topic?: string; to?: string; limit?: number }): Promise<FabricMeshEvent[]>;\n members(args?: { limit?: number }): Promise<Array<FabricMeshStateEntry<FabricActorInfo>>>;\n get<T = unknown>(args: { key: string }): Promise<FabricMeshStateEntry<T> | null>;\n list<T = unknown>(args?: { prefix?: string; limit?: number }): Promise<Array<FabricMeshStateEntry<T>>>;\n put<T = unknown>(args: { key: string; value: T; ifVersion?: number }): Promise<FabricMeshStateEntry<T>>;\n delete(args: { key: string; ifVersion?: number }): Promise<{ deleted: boolean; version?: number }>;\n}\ninterface FabricWorkflowAgentOptions extends Omit<FabricAgentRequest, \"task\"> {\n label?: string;\n}\ntype FabricActivityStatus = \"pending\" | \"running\" | \"completed\" | \"failed\" | \"blocked\" | \"stopped\";\ntype FabricActivityKind = \"agent\" | \"actor\" | \"tool\" | \"extension\" | \"mcp\" | \"mesh\" | \"task\" | \"custom\";\ninterface FabricWorkflowDisplay {\n name?: string;\n description?: string;\n}\ninterface FabricWorkflowPhaseOptions {\n id?: string;\n description?: string;\n total?: number;\n}\ninterface FabricWorkflowItem {\n id: string;\n label: string;\n status?: FabricActivityStatus;\n phase?: string;\n detail?: string;\n kind?: FabricActivityKind;\n current?: string;\n total?: number;\n completed?: number;\n data?: unknown;\n}\ninterface FabricWorkflowApi {\n agent<T = string>(prompt: string, options?: FabricWorkflowAgentOptions): Promise<T>;\n parallel<T, R>(items: T[], mapper: (item: T, index: number) => Promise<R> | R, concurrency?: number | { concurrency?: number }): Promise<R[]>;\n parallel<T>(thunks: Array<() => Promise<T> | T>, concurrency?: number | { concurrency?: number }): Promise<T[]>;\n pipeline<T>(items: T[], ...stages: Array<(value: unknown, original: T, index: number) => Promise<unknown> | unknown>): Promise<unknown[]>;\n configure(display: FabricWorkflowDisplay): Promise<FabricWorkflowDisplay>;\n phase(name: string, options?: FabricWorkflowPhaseOptions): Promise<{ name: string; index: number; id?: string }>;\n item(item: FabricWorkflowItem): Promise<FabricWorkflowItem>;\n event(event: { message: string; level?: \"info\" | \"success\" | \"warning\" | \"error\"; data?: unknown }): Promise<void>;\n log(...values: unknown[]): void;\n budget: { total: number; spent(): number; remaining(): number };\n}\ndeclare const tools: FabricToolsApi;\ndeclare const pi: PiToolsApi;\ndeclare const extensions: FabricExtensionsApi;\ndeclare const agents: FabricAgentsApi;\ndeclare const mesh: FabricMeshApi;\ndeclare const mcp: FabricMcpApi;\ndeclare const council: FabricCouncilApi;\ndeclare const workflow: FabricWorkflowApi;\ndeclare function agent<T = string>(prompt: string, options?: FabricWorkflowAgentOptions): Promise<T>;\ndeclare function parallel<T, R>(items: T[], mapper: (item: T, index: number) => Promise<R> | R, concurrency?: number | { concurrency?: number }): Promise<R[]>;\ndeclare function parallel<T>(thunks: Array<() => Promise<T> | T>, concurrency?: number | { concurrency?: number }): Promise<T[]>;\ndeclare function pipeline<T>(items: T[], ...stages: Array<(value: unknown, original: T, index: number) => Promise<unknown> | unknown>): Promise<unknown[]>;\ndeclare function phase(name: string, options?: FabricWorkflowPhaseOptions): Promise<{ name: string; index: number; id?: string }>;\ndeclare function log(...values: unknown[]): void;\ndeclare const budget: FabricWorkflowApi[\"budget\"];\ndeclare const rlm: { query(args: FabricAgentRequest): Promise<FabricAgentResult> };\ninterface FabricConsole {\n log(...args: unknown[]): void;\n info(...args: unknown[]): void;\n warn(...args: unknown[]): void;\n error(...args: unknown[]): void;\n}\ndeclare const console: FabricConsole;\ndeclare const \u03C0: Readonly<Record<string, string>>;\ndeclare function print(...args: unknown[]): void;\ndeclare function setTimeout(handler: (...args: any[]) => void, timeout?: number): number;\ndeclare function clearTimeout(handle: number): void;\ndeclare function setInterval(handler: (...args: any[]) => void, timeout?: number): number;\ndeclare function clearInterval(handle: number): void;\n";
|
|
2
|
+
export declare const guestTypeDeclarations: (fullCodeMode: boolean) => string;
|
|
3
|
+
//# sourceMappingURL=guest-types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"guest-types.d.ts","sourceRoot":"","sources":["../../src/runtime/guest-types.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,uBAAuB,2/ZAgTnC,CAAC;AAOF,eAAO,MAAM,qBAAqB,GAAI,cAAc,OAAO,KAAG,MAMvD,CAAC"}
|
|
@@ -0,0 +1,313 @@
|
|
|
1
|
+
export const GUEST_TYPE_DECLARATIONS = `
|
|
2
|
+
type JsonPrimitive = string | number | boolean | null;
|
|
3
|
+
type JsonValue = JsonPrimitive | JsonValue[] | { [key: string]: JsonValue };
|
|
4
|
+
type FabricTransport = "auto" | "process" | "tmux" | "screen" | "localterm";
|
|
5
|
+
type FabricThinking = "off" | "minimal" | "low" | "medium" | "high" | "xhigh" | "max";
|
|
6
|
+
interface FabricAction {
|
|
7
|
+
ref: string;
|
|
8
|
+
provider: string;
|
|
9
|
+
name: string;
|
|
10
|
+
description: string;
|
|
11
|
+
inputSchema: Record<string, unknown>;
|
|
12
|
+
outputSchema?: Record<string, unknown>;
|
|
13
|
+
risk: "read" | "write" | "execute" | "network" | "agent";
|
|
14
|
+
namespace?: string;
|
|
15
|
+
}
|
|
16
|
+
interface FabricAgentRequest {
|
|
17
|
+
task: string;
|
|
18
|
+
name?: string;
|
|
19
|
+
transport?: FabricTransport;
|
|
20
|
+
model?: string;
|
|
21
|
+
thinking?: FabricThinking;
|
|
22
|
+
tools?: string[];
|
|
23
|
+
timeoutMs?: number;
|
|
24
|
+
extensions?: boolean;
|
|
25
|
+
recursive?: boolean;
|
|
26
|
+
worktree?: boolean;
|
|
27
|
+
schema?: Record<string, unknown>;
|
|
28
|
+
}
|
|
29
|
+
interface FabricAgentHandle {
|
|
30
|
+
id: string;
|
|
31
|
+
name: string;
|
|
32
|
+
status: string;
|
|
33
|
+
transport: FabricTransport;
|
|
34
|
+
cwd: string;
|
|
35
|
+
model?: string;
|
|
36
|
+
thinking?: FabricThinking;
|
|
37
|
+
actorId?: string;
|
|
38
|
+
actorName?: string;
|
|
39
|
+
sessionId?: string;
|
|
40
|
+
attachCommand?: string;
|
|
41
|
+
branch?: string;
|
|
42
|
+
worktree?: string;
|
|
43
|
+
text?: string;
|
|
44
|
+
value?: unknown;
|
|
45
|
+
error?: string;
|
|
46
|
+
logFile?: string;
|
|
47
|
+
}
|
|
48
|
+
interface FabricAgentResult extends FabricAgentHandle {
|
|
49
|
+
task: string;
|
|
50
|
+
startedAt: number;
|
|
51
|
+
finishedAt?: number;
|
|
52
|
+
turns: number;
|
|
53
|
+
toolCalls: number;
|
|
54
|
+
text: string;
|
|
55
|
+
value?: unknown;
|
|
56
|
+
error?: string;
|
|
57
|
+
usage: { input: number; output: number; cacheRead: number; cacheWrite: number; cost: number };
|
|
58
|
+
}
|
|
59
|
+
interface FabricToolsApi {
|
|
60
|
+
providers(): Promise<Array<{ name: string; description: string }>>;
|
|
61
|
+
list(args?: { provider?: string; namespace?: string; query?: string; limit?: number }): Promise<FabricAction[]>;
|
|
62
|
+
search(args: { query: string; limit?: number }): Promise<FabricAction[]>;
|
|
63
|
+
describe(args: { ref: string }): Promise<FabricAction>;
|
|
64
|
+
call(args: { ref: string; args?: Record<string, unknown> }): Promise<unknown>;
|
|
65
|
+
progress(args: { message: string }): Promise<void>;
|
|
66
|
+
}
|
|
67
|
+
interface FabricCapturedToolResult {
|
|
68
|
+
content: Array<{ type: string; text?: string; [key: string]: unknown }>;
|
|
69
|
+
text: string;
|
|
70
|
+
details?: unknown;
|
|
71
|
+
isError: boolean;
|
|
72
|
+
terminate?: boolean;
|
|
73
|
+
source: { path: string; source: string; scope: string; origin: string; baseDir?: string };
|
|
74
|
+
}
|
|
75
|
+
interface FabricCapturedTool {
|
|
76
|
+
(args?: Record<string, unknown>): Promise<FabricCapturedToolResult>;
|
|
77
|
+
}
|
|
78
|
+
type FabricExtensionsApi = Record<string, FabricCapturedTool>;
|
|
79
|
+
// String-primary tools (read/bash/grep/find/ls) accept a bare string; the
|
|
80
|
+
// runtime proxy coerces it to { <primaryField>: string }. Lets the model write
|
|
81
|
+
// the natural form (pi.bash("ls")) instead of pi.bash({ command: "ls" }).
|
|
82
|
+
// Return shapes differ by tool: read/grep/find/ls return their text as a bare
|
|
83
|
+
// string (e.g. const src: string = await pi.read({ path })); bash/edit/write
|
|
84
|
+
// return { ok, output, details } (e.g. const { output } = await pi.bash(...)).
|
|
85
|
+
// Common alias keys (cmd→command, query→pattern, file→path, dir→path) and a
|
|
86
|
+
// flat edit shape ({ path, oldText, newText }) are also accepted; the runtime
|
|
87
|
+
// proxy normalizes them to the canonical form before the host validates args.
|
|
88
|
+
interface PiToolsApi {
|
|
89
|
+
read(args: string | { path: string; offset?: number; limit?: number } | { file: string; offset?: number; limit?: number }): Promise<string>;
|
|
90
|
+
bash(args: string | { command: string; timeout?: number } | { cmd: string; timeout?: number }): Promise<{ ok: true; output: string; details: unknown }>;
|
|
91
|
+
edit(args: { path: string; edits: Array<{ oldText: string; newText: string }> } | { file: string; edits: Array<{ oldText: string; newText: string }> } | { path: string; oldText: string; newText: string } | { file: string; oldText: string; newText: string }): Promise<{ ok: true; output: string; details: unknown }>;
|
|
92
|
+
write(args: { path: string; content: string } | { file: string; content: string }): Promise<{ ok: true; output: string; details: unknown }>;
|
|
93
|
+
grep(args: string | { pattern: string; path?: string; glob?: string; ignoreCase?: boolean; literal?: boolean; context?: number; limit?: number } | { query: string; path?: string; glob?: string; ignoreCase?: boolean; literal?: boolean; context?: number; limit?: number }): Promise<string>;
|
|
94
|
+
find(args: string | { pattern: string; path?: string; limit?: number } | { query: string; path?: string; limit?: number }): Promise<string>;
|
|
95
|
+
ls(args?: string | { path?: string; limit?: number } | { dir?: string; limit?: number } | { file?: string; limit?: number }): Promise<string>;
|
|
96
|
+
}
|
|
97
|
+
type FabricActorHostEvent = "input" | "turn_end" | "agent_settled" | "tool_error" | "session_compact";
|
|
98
|
+
type FabricActorDelivery = "mailbox" | "steer" | "followUp" | "nextTurn";
|
|
99
|
+
interface FabricActorRequest {
|
|
100
|
+
name: string;
|
|
101
|
+
instructions: string;
|
|
102
|
+
events?: FabricActorHostEvent[];
|
|
103
|
+
topics?: string[];
|
|
104
|
+
delivery?: FabricActorDelivery;
|
|
105
|
+
responseMode?: "text" | "directive";
|
|
106
|
+
triggerTurn?: boolean;
|
|
107
|
+
coalesce?: boolean;
|
|
108
|
+
model?: string;
|
|
109
|
+
thinking?: FabricThinking;
|
|
110
|
+
tools?: string[];
|
|
111
|
+
transport?: FabricTransport;
|
|
112
|
+
timeoutMs?: number;
|
|
113
|
+
}
|
|
114
|
+
interface FabricActorInfo {
|
|
115
|
+
id: string;
|
|
116
|
+
name: string;
|
|
117
|
+
status: "idle" | "queued" | "running" | "stopped";
|
|
118
|
+
events: FabricActorHostEvent[];
|
|
119
|
+
topics: string[];
|
|
120
|
+
delivery: FabricActorDelivery;
|
|
121
|
+
responseMode: "text" | "directive";
|
|
122
|
+
triggerTurn: boolean;
|
|
123
|
+
coalesce: boolean;
|
|
124
|
+
model?: string;
|
|
125
|
+
thinking?: FabricThinking;
|
|
126
|
+
tools?: string[];
|
|
127
|
+
queued: number;
|
|
128
|
+
messages: number;
|
|
129
|
+
createdAt: number;
|
|
130
|
+
updatedAt: number;
|
|
131
|
+
lastRunId?: string;
|
|
132
|
+
lastError?: string;
|
|
133
|
+
}
|
|
134
|
+
interface FabricActorMessage {
|
|
135
|
+
id: string;
|
|
136
|
+
actorId: string;
|
|
137
|
+
actorName: string;
|
|
138
|
+
direction: "in" | "out";
|
|
139
|
+
source: string;
|
|
140
|
+
createdAt: number;
|
|
141
|
+
text?: string;
|
|
142
|
+
data?: unknown;
|
|
143
|
+
action?: "silent" | "message" | "stop";
|
|
144
|
+
runId?: string;
|
|
145
|
+
error?: string;
|
|
146
|
+
}
|
|
147
|
+
interface FabricAgentsApi {
|
|
148
|
+
run(args: FabricAgentRequest): Promise<FabricAgentResult>;
|
|
149
|
+
spawn(args: FabricAgentRequest): Promise<FabricAgentHandle>;
|
|
150
|
+
wait(args: { id: string }): Promise<FabricAgentResult>;
|
|
151
|
+
status(args: { id: string }): Promise<FabricAgentResult | FabricAgentHandle>;
|
|
152
|
+
list(): Promise<Array<FabricAgentResult | FabricAgentHandle>>;
|
|
153
|
+
stop(args: { id: string }): Promise<FabricAgentResult>;
|
|
154
|
+
cleanup(args: { id: string; deleteBranch?: boolean }): Promise<{ cleaned: boolean }>;
|
|
155
|
+
create(args: FabricActorRequest): Promise<FabricActorInfo>;
|
|
156
|
+
ask(args: { id: string; message: string; data?: unknown }): Promise<FabricActorMessage>;
|
|
157
|
+
tell(args: { id: string; message: string; data?: unknown }): Promise<{ queued: true; messageId: string }>;
|
|
158
|
+
actorStatus(args: { id: string }): Promise<FabricActorInfo>;
|
|
159
|
+
actors(): Promise<FabricActorInfo[]>;
|
|
160
|
+
messages(args: { id: string; limit?: number }): Promise<FabricActorMessage[]>;
|
|
161
|
+
remove(args: { id: string }): Promise<{ removed: boolean }>;
|
|
162
|
+
}
|
|
163
|
+
interface FabricMcpResult {
|
|
164
|
+
text: string;
|
|
165
|
+
content: unknown[];
|
|
166
|
+
structuredContent: unknown;
|
|
167
|
+
}
|
|
168
|
+
interface FabricMcpTool {
|
|
169
|
+
(args?: Record<string, unknown>): Promise<FabricMcpResult | unknown>;
|
|
170
|
+
}
|
|
171
|
+
interface FabricMcpServer {
|
|
172
|
+
[tool: string]: FabricMcpTool;
|
|
173
|
+
}
|
|
174
|
+
type FabricMcpApi = Record<string, FabricMcpServer> & {
|
|
175
|
+
servers(): Promise<Array<{ name: string; description: string | null; transport: "http" | "stdio" }>>;
|
|
176
|
+
reload(): Promise<{ servers: string[] }>;
|
|
177
|
+
register(args: {
|
|
178
|
+
name: string;
|
|
179
|
+
description?: string;
|
|
180
|
+
command?: string;
|
|
181
|
+
args?: string[];
|
|
182
|
+
cwd?: string;
|
|
183
|
+
baseUrl?: string;
|
|
184
|
+
headers?: Record<string, string>;
|
|
185
|
+
env?: Record<string, string>;
|
|
186
|
+
overwrite?: boolean;
|
|
187
|
+
}): Promise<{ registered: string }>;
|
|
188
|
+
call(args: { server: string; tool: string; args?: Record<string, unknown> }): Promise<unknown>;
|
|
189
|
+
};
|
|
190
|
+
interface FabricCouncilRunOptions {
|
|
191
|
+
task: string;
|
|
192
|
+
roles: string[];
|
|
193
|
+
transport?: FabricTransport;
|
|
194
|
+
model?: string;
|
|
195
|
+
thinking?: FabricThinking;
|
|
196
|
+
tools?: string[];
|
|
197
|
+
timeoutMs?: number;
|
|
198
|
+
worktree?: boolean;
|
|
199
|
+
}
|
|
200
|
+
interface FabricCouncilApi {
|
|
201
|
+
run(args: FabricCouncilRunOptions & { synthesize?: true }): Promise<FabricAgentResult>;
|
|
202
|
+
run(args: FabricCouncilRunOptions & { synthesize: false }): Promise<FabricAgentResult[]>;
|
|
203
|
+
}
|
|
204
|
+
interface FabricMeshIdentity {
|
|
205
|
+
id: string;
|
|
206
|
+
name: string;
|
|
207
|
+
kind: "main" | "actor" | "agent";
|
|
208
|
+
sessionId?: string;
|
|
209
|
+
}
|
|
210
|
+
interface FabricMeshEvent {
|
|
211
|
+
id: string;
|
|
212
|
+
sequence: number;
|
|
213
|
+
topic: string;
|
|
214
|
+
kind: string;
|
|
215
|
+
from: FabricMeshIdentity;
|
|
216
|
+
to?: string;
|
|
217
|
+
text?: string;
|
|
218
|
+
data?: unknown;
|
|
219
|
+
createdAt: number;
|
|
220
|
+
}
|
|
221
|
+
interface FabricMeshStateEntry<T = unknown> {
|
|
222
|
+
key: string;
|
|
223
|
+
value: T;
|
|
224
|
+
version: number;
|
|
225
|
+
updatedAt: number;
|
|
226
|
+
updatedBy: FabricMeshIdentity;
|
|
227
|
+
}
|
|
228
|
+
interface FabricMeshApi {
|
|
229
|
+
self(): Promise<FabricMeshIdentity>;
|
|
230
|
+
publish(args: { topic: string; kind?: string; to?: string; text?: string; data?: unknown }): Promise<FabricMeshEvent>;
|
|
231
|
+
read(args?: { after?: number; topic?: string; to?: string; limit?: number }): Promise<FabricMeshEvent[]>;
|
|
232
|
+
members(args?: { limit?: number }): Promise<Array<FabricMeshStateEntry<FabricActorInfo>>>;
|
|
233
|
+
get<T = unknown>(args: { key: string }): Promise<FabricMeshStateEntry<T> | null>;
|
|
234
|
+
list<T = unknown>(args?: { prefix?: string; limit?: number }): Promise<Array<FabricMeshStateEntry<T>>>;
|
|
235
|
+
put<T = unknown>(args: { key: string; value: T; ifVersion?: number }): Promise<FabricMeshStateEntry<T>>;
|
|
236
|
+
delete(args: { key: string; ifVersion?: number }): Promise<{ deleted: boolean; version?: number }>;
|
|
237
|
+
}
|
|
238
|
+
interface FabricWorkflowAgentOptions extends Omit<FabricAgentRequest, "task"> {
|
|
239
|
+
label?: string;
|
|
240
|
+
}
|
|
241
|
+
type FabricActivityStatus = "pending" | "running" | "completed" | "failed" | "blocked" | "stopped";
|
|
242
|
+
type FabricActivityKind = "agent" | "actor" | "tool" | "extension" | "mcp" | "mesh" | "task" | "custom";
|
|
243
|
+
interface FabricWorkflowDisplay {
|
|
244
|
+
name?: string;
|
|
245
|
+
description?: string;
|
|
246
|
+
}
|
|
247
|
+
interface FabricWorkflowPhaseOptions {
|
|
248
|
+
id?: string;
|
|
249
|
+
description?: string;
|
|
250
|
+
total?: number;
|
|
251
|
+
}
|
|
252
|
+
interface FabricWorkflowItem {
|
|
253
|
+
id: string;
|
|
254
|
+
label: string;
|
|
255
|
+
status?: FabricActivityStatus;
|
|
256
|
+
phase?: string;
|
|
257
|
+
detail?: string;
|
|
258
|
+
kind?: FabricActivityKind;
|
|
259
|
+
current?: string;
|
|
260
|
+
total?: number;
|
|
261
|
+
completed?: number;
|
|
262
|
+
data?: unknown;
|
|
263
|
+
}
|
|
264
|
+
interface FabricWorkflowApi {
|
|
265
|
+
agent<T = string>(prompt: string, options?: FabricWorkflowAgentOptions): Promise<T>;
|
|
266
|
+
parallel<T, R>(items: T[], mapper: (item: T, index: number) => Promise<R> | R, concurrency?: number | { concurrency?: number }): Promise<R[]>;
|
|
267
|
+
parallel<T>(thunks: Array<() => Promise<T> | T>, concurrency?: number | { concurrency?: number }): Promise<T[]>;
|
|
268
|
+
pipeline<T>(items: T[], ...stages: Array<(value: unknown, original: T, index: number) => Promise<unknown> | unknown>): Promise<unknown[]>;
|
|
269
|
+
configure(display: FabricWorkflowDisplay): Promise<FabricWorkflowDisplay>;
|
|
270
|
+
phase(name: string, options?: FabricWorkflowPhaseOptions): Promise<{ name: string; index: number; id?: string }>;
|
|
271
|
+
item(item: FabricWorkflowItem): Promise<FabricWorkflowItem>;
|
|
272
|
+
event(event: { message: string; level?: "info" | "success" | "warning" | "error"; data?: unknown }): Promise<void>;
|
|
273
|
+
log(...values: unknown[]): void;
|
|
274
|
+
budget: { total: number; spent(): number; remaining(): number };
|
|
275
|
+
}
|
|
276
|
+
declare const tools: FabricToolsApi;
|
|
277
|
+
declare const pi: PiToolsApi;
|
|
278
|
+
declare const extensions: FabricExtensionsApi;
|
|
279
|
+
declare const agents: FabricAgentsApi;
|
|
280
|
+
declare const mesh: FabricMeshApi;
|
|
281
|
+
declare const mcp: FabricMcpApi;
|
|
282
|
+
declare const council: FabricCouncilApi;
|
|
283
|
+
declare const workflow: FabricWorkflowApi;
|
|
284
|
+
declare function agent<T = string>(prompt: string, options?: FabricWorkflowAgentOptions): Promise<T>;
|
|
285
|
+
declare function parallel<T, R>(items: T[], mapper: (item: T, index: number) => Promise<R> | R, concurrency?: number | { concurrency?: number }): Promise<R[]>;
|
|
286
|
+
declare function parallel<T>(thunks: Array<() => Promise<T> | T>, concurrency?: number | { concurrency?: number }): Promise<T[]>;
|
|
287
|
+
declare function pipeline<T>(items: T[], ...stages: Array<(value: unknown, original: T, index: number) => Promise<unknown> | unknown>): Promise<unknown[]>;
|
|
288
|
+
declare function phase(name: string, options?: FabricWorkflowPhaseOptions): Promise<{ name: string; index: number; id?: string }>;
|
|
289
|
+
declare function log(...values: unknown[]): void;
|
|
290
|
+
declare const budget: FabricWorkflowApi["budget"];
|
|
291
|
+
declare const rlm: { query(args: FabricAgentRequest): Promise<FabricAgentResult> };
|
|
292
|
+
interface FabricConsole {
|
|
293
|
+
log(...args: unknown[]): void;
|
|
294
|
+
info(...args: unknown[]): void;
|
|
295
|
+
warn(...args: unknown[]): void;
|
|
296
|
+
error(...args: unknown[]): void;
|
|
297
|
+
}
|
|
298
|
+
declare const console: FabricConsole;
|
|
299
|
+
declare const π: Readonly<Record<string, string>>;
|
|
300
|
+
declare function print(...args: unknown[]): void;
|
|
301
|
+
declare function setTimeout(handler: (...args: any[]) => void, timeout?: number): number;
|
|
302
|
+
declare function clearTimeout(handle: number): void;
|
|
303
|
+
declare function setInterval(handler: (...args: any[]) => void, timeout?: number): number;
|
|
304
|
+
declare function clearInterval(handle: number): void;
|
|
305
|
+
`;
|
|
306
|
+
const FULL_CODE_GLOBAL_DECLARATIONS = [
|
|
307
|
+
"declare const pi: PiToolsApi;\n",
|
|
308
|
+
"declare const extensions: FabricExtensionsApi;\n",
|
|
309
|
+
];
|
|
310
|
+
export const guestTypeDeclarations = (fullCodeMode) => fullCodeMode
|
|
311
|
+
? GUEST_TYPE_DECLARATIONS
|
|
312
|
+
: FULL_CODE_GLOBAL_DECLARATIONS.reduce((declarations, declaration) => declarations.replace(declaration, ""), GUEST_TYPE_DECLARATIONS);
|
|
313
|
+
//# sourceMappingURL=guest-types.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"guest-types.js","sourceRoot":"","sources":["../../src/runtime/guest-types.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,uBAAuB,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAgTtC,CAAC;AAEF,MAAM,6BAA6B,GAAG;IACpC,iCAAiC;IACjC,kDAAkD;CACnD,CAAC;AAEF,MAAM,CAAC,MAAM,qBAAqB,GAAG,CAAC,YAAqB,EAAU,EAAE,CACrE,YAAY;IACV,CAAC,CAAC,uBAAuB;IACzB,CAAC,CAAC,6BAA6B,CAAC,MAAM,CAClC,CAAC,YAAY,EAAE,WAAW,EAAE,EAAE,CAAC,YAAY,CAAC,OAAO,CAAC,WAAW,EAAE,EAAE,CAAC,EACpE,uBAAuB,CACxB,CAAC"}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
export interface FabricSandboxResult {
|
|
2
|
+
value: unknown;
|
|
3
|
+
logs: string[];
|
|
4
|
+
error?: string;
|
|
5
|
+
}
|
|
6
|
+
export interface FabricSandboxOptions {
|
|
7
|
+
timeoutMs: number;
|
|
8
|
+
memoryLimitBytes: number;
|
|
9
|
+
maxLogChars?: number;
|
|
10
|
+
strings?: Record<string, string>;
|
|
11
|
+
tokenBudget?: number;
|
|
12
|
+
signal?: AbortSignal;
|
|
13
|
+
}
|
|
14
|
+
export type FabricHostCall = (ref: string, args: Record<string, unknown>, signal: AbortSignal) => Promise<unknown>;
|
|
15
|
+
export declare class QuickJsRuntime {
|
|
16
|
+
execute(code: string, hostCall: FabricHostCall, options: FabricSandboxOptions): Promise<FabricSandboxResult>;
|
|
17
|
+
}
|
|
18
|
+
//# sourceMappingURL=quickjs-runtime.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"quickjs-runtime.d.ts","sourceRoot":"","sources":["../../src/runtime/quickjs-runtime.ts"],"names":[],"mappings":"AAOA,MAAM,WAAW,mBAAmB;IAClC,KAAK,EAAE,OAAO,CAAC;IACf,IAAI,EAAE,MAAM,EAAE,CAAC;IACf,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,oBAAoB;IACnC,SAAS,EAAE,MAAM,CAAC;IAClB,gBAAgB,EAAE,MAAM,CAAC;IACzB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACjC,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,MAAM,CAAC,EAAE,WAAW,CAAC;CACtB;AAED,MAAM,MAAM,cAAc,GAAG,CAC3B,GAAG,EAAE,MAAM,EACX,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC7B,MAAM,EAAE,WAAW,KAChB,OAAO,CAAC,OAAO,CAAC,CAAC;AAiUtB,qBAAa,cAAc;IACnB,OAAO,CACX,IAAI,EAAE,MAAM,EACZ,QAAQ,EAAE,cAAc,EACxB,OAAO,EAAE,oBAAoB,GAC5B,OAAO,CAAC,mBAAmB,CAAC;CAgOhC"}
|