pi-fabric 0.21.5 → 0.21.7

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -51,7 +51,7 @@ return {
51
51
  };
52
52
  ```
53
53
 
54
- Independent calls run in parallel; only the returned object enters the model context.
54
+ Independent calls run in parallel; only the returned object enters the model context. Known providers use concise direct calls such as `mcp.fal_ai.get_model_schema(...)`, `memory.recall(...)`, `state.get()`, `schema.status()`, and `compact.status()`; `tools.call({ ref, args })` remains the fallback for refs discovered or computed at runtime.
55
55
 
56
56
  ## Install
57
57
 
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,KAAK,YAAY,EAElB,MAAM,iCAAiC,CAAC;AAwHzC,wBAA8B,QAAQ,CAAC,EAAE,EAAE,YAAY,GAAG,OAAO,CAAC,IAAI,CAAC,CA+uBtE;AAED,cAAc,kBAAkB,CAAC;AACjC,cAAc,eAAe,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,KAAK,YAAY,EAElB,MAAM,iCAAiC,CAAC;AA4HzC,wBAA8B,QAAQ,CAAC,EAAE,EAAE,YAAY,GAAG,OAAO,CAAC,IAAI,CAAC,CA2vBtE;AAED,cAAc,kBAAkB,CAAC;AACjC,cAAc,eAAe,CAAC"}
package/dist/index.js CHANGED
@@ -12,7 +12,7 @@ import { FabricToolLifecycle, FabricToolOwnership, ownsFabricToolSource, } from
12
12
  import { FabricState } from "./fabric-state.js";
13
13
  import { FABRIC_PROVIDER_REGISTER_EVENT } from "./protocol.js";
14
14
  import { FabricUiController } from "./ui/controller.js";
15
- import { captureFabricWritePreviews, expandHint, fabricMulticallCallLimit, fabricWriteBindings, isNumberedTool, modelReadHint, nestedCallBody, nestedCallCode, nestedCallTitle, nestedEditDiff, renderBoundedLines, renderFabricMulticallPartial, renderFabricWriteArgumentPreview, restoreFabricWritePreviews, restoreLegacyBashCommands, safeTerminalText, } from "./ui/fabric-render.js";
15
+ import { captureFabricCallHeadlinePreviews, captureFabricWritePreviews, expandHint, fabricMulticallCallLimit, fabricWriteBindings, isNumberedTool, modelReadHint, nestedCallBody, nestedCallCode, nestedCallTitle, nestedEditDiff, renderBoundedLines, renderFabricMulticallPartial, renderFabricWriteArgumentPreview, restoreFabricCallHeadlinePreviews, restoreFabricWritePreviews, restoreLegacyBashCommands, safeTerminalText, } from "./ui/fabric-render.js";
16
16
  import { highlightCode, initHighlighting } from "./ui/highlight.js";
17
17
  import { HiddenRowBorrowingComponent, observeResultRows, } from "./ui/row-balance.js";
18
18
  import path from "node:path";
@@ -90,8 +90,8 @@ export default async function piFabric(pi) {
90
90
  const fabricTool = withCodePreviewShell(defineTool({
91
91
  name: "fabric_exec",
92
92
  label: "Fabric",
93
- description: "Execute type-checked TypeScript in a QuickJS sandbox for Pi core tools, discovery, and extensions. In full code mode, and always in Schema enforce mode, this is the exclusive model tool path.",
94
- promptSnippet: "Pi core tools, tool discovery, and extensions",
93
+ description: "Execute type-checked TypeScript in a QuickJS sandbox for Pi core tools, MCP, Fabric providers, discovery, and extensions. In full code mode, and always in Schema enforce mode, this is the exclusive model tool path.",
94
+ promptSnippet: "Pi core tools, MCP, Fabric providers, discovery, and extensions",
95
95
  promptGuidelines: [
96
96
  "Batch independent operations in one `fabric_exec` program (`Promise.all` for parallel, sequential `await` for ordered), not one call per tool; keep dependent/conditional steps sequential. Return only the compact final value; intermediate results stay in the sandbox.",
97
97
  ],
@@ -105,7 +105,7 @@ export default async function piFabric(pi) {
105
105
  // lucumr.pocoo.org/2026/7/4/better-models-worse-tools/ and pi-tool-repair.
106
106
  parameters: Type.Object({
107
107
  code: Type.String({
108
- description: "TypeScript function body. Top-level await and return are supported. Globals: `tools`, `print`, `π` (named strings via the `strings` param); full-code mode adds `pi` (core tools) and `extensions`. See session guidance / `fabric-exec` skill for surfaces and exact signatures.",
108
+ description: "TypeScript function body. Top-level await and return are supported. Globals include `tools`, `mcp`, `memory`, `state`, `schema`, `compact`, `agents`, `mesh`, `print`, and `π`; full-code mode adds `pi` and `extensions`. See session guidance / `fabric-exec` skill for exact signatures.",
109
109
  }),
110
110
  strings: Type.Optional(Type.Record(Type.String(), Type.String(), {
111
111
  description: "Named strings exposed as π.key, useful for content that is awkward to quote",
@@ -174,12 +174,21 @@ export default async function piFabric(pi) {
174
174
  const rowBalance = rendererState.fabricResultRowBalance ??= {};
175
175
  const trackRows = (component) => observeResultRows(component, rowBalance, { expanded, isPartial });
176
176
  if (isPartial) {
177
+ const headlinePreviews = captureFabricCallHeadlinePreviews(audits);
178
+ if (headlinePreviews.length > 0) {
179
+ rendererState.fabricCallHeadlinePreviews = headlinePreviews;
180
+ }
177
181
  const writePreviews = captureFabricWritePreviews(audits);
178
182
  if (writePreviews.length > 0)
179
183
  rendererState.fabricWritePreviews = writePreviews;
180
184
  }
181
- else if (rendererState.fabricWritePreviews) {
182
- audits = restoreFabricWritePreviews(audits, rendererState.fabricWritePreviews);
185
+ else {
186
+ if (rendererState.fabricCallHeadlinePreviews) {
187
+ audits = restoreFabricCallHeadlinePreviews(audits, rendererState.fabricCallHeadlinePreviews);
188
+ }
189
+ if (rendererState.fabricWritePreviews) {
190
+ audits = restoreFabricWritePreviews(audits, rendererState.fabricWritePreviews);
191
+ }
183
192
  }
184
193
  const phases = details.phases;
185
194
  const nl = "\n";
@@ -713,8 +722,8 @@ export default async function piFabric(pi) {
713
722
  if (!pi.getActiveTools().includes("fabric_exec"))
714
723
  return;
715
724
  const guidance = (effectiveFullCodeMode
716
- ? "Pi Fabric full code mode: `fabric_exec` is the only way to call Pi core tools — use them as `pi.*` inside `code`.\nReturns: `pi.read`/`pi.grep`/`pi.find`/`pi.ls` → string; `pi.bash`/`pi.edit`/`pi.write` → `{ok, output, details}` (read `.output`).\nExamples: `pi.read('/x')` · `pi.bash({cmd:'ls'})` · `pi.grep('TODO','src')` · `pi.grep({regex:'TODO', ic:true, ctx:2})` · `pi.find('*.ts','src')` · `pi.edit({path:'/x', old:'a', new:'b'})` · `pi.write({path:'/y', text:'z'})` · `pi.ls('src')`.\nShorthands (all accepted): `cmd`/`shell`→command · `query`/`regex`/`search`→pattern · `file`/`dir`→path · `ic`→ignoreCase · `ctx`→context · `max`→limit · `start`→offset · `old`→oldText · `new`/`replacement`→newText · `text`/`contents`→content · `timeoutMs`→timeout.\n`tools` is discovery + generic calls only (`providers`/`list`/`search`/`describe`/`call`/`models`); call MCP/extension tools via `extensions.<tool>(options)` or `tools.call({ref, args})`. `pi` is the core tools; `π.<key>` is named strings from the `strings` param (not a tool)."
717
- : "Pi Fabric is in orchestration-only mode. Pi core and registered extension tools stay on their native direct execution path; inside fabric_exec, `pi.*` and `extensions.*` are unavailable. Use `tools` (`tools.search`/`tools.describe`/`tools.call`/`tools.list`) to discover and invoke MCP and Fabric providers; other surfaces are opt-in via user-loaded skills.")
725
+ ? "Pi Fabric full code mode: `fabric_exec` is the only way to call Pi core tools — use them as `pi.*` inside `code`.\nReturns: `pi.read`/`pi.grep`/`pi.find`/`pi.ls` → string; `pi.bash`/`pi.edit`/`pi.write` → `{ok, output, details}` (read `.output`).\nExamples: `pi.read('/x')` · `pi.bash({cmd:'ls'})` · `pi.grep('TODO','src')` · `pi.grep({regex:'TODO', ic:true, ctx:2})` · `pi.find('*.ts','src')` · `pi.edit({path:'/x', old:'a', new:'b'})` · `pi.write({path:'/y', text:'z'})` · `pi.ls('src')`.\nShorthands (all accepted): `cmd`/`shell`→command · `query`/`regex`/`search`→pattern · `file`/`dir`→path · `ic`→ignoreCase · `ctx`→context · `max`→limit · `start`→offset · `old`→oldText · `new`/`replacement`→newText · `text`/`contents`→content · `timeoutMs`→timeout.\n`tools` is discovery + generic calls only (`providers`/`list`/`search`/`describe`/`call`/`models`). Call known MCP tools as `mcp.<sanitized_server>.<sanitized_tool>(args)` (for example `mcp.fal_ai.get_model_schema(...)`), captured tools as `extensions.<tool>(args)`, and stable providers as `memory.*`, `state.*`, `schema.*`, or `compact.*`. Use `tools.call({ref,args})` for computed refs. `pi` is the core tools; `π.<key>` is named strings (not a tool)."
726
+ : "Pi Fabric is in orchestration-only mode. Pi core and registered extension tools stay on their native direct execution path; inside fabric_exec, `pi.*` and `extensions.*` are unavailable. Call known actions through `mcp.<sanitized_server>.<sanitized_tool>(args)`, `memory.*`, `state.*`, `schema.*`, `compact.*`, `agents.*`, or `mesh.*`; use `tools.search`/`describe`/`list` for discovery and `tools.call({ref,args})` for computed refs. Other surfaces are opt-in via user-loaded skills.")
718
727
  + (schemaMode === "enforce"
719
728
  ? "\n\nSchema enforce mode is fixed for this session. Reads remain available, but protected-workspace changes must use schema.hypothesize → schema.verify → schema.commit in the same fabric_exec invocation. Direct pi.edit/write/bash, agents, state/mesh writes, compaction requests, MCP, extensions, and external providers are blocked by the host gate."
720
729
  : schemaMode === "audit"
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
@@ -1,3 +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 FabricAgentRunner = \"pi\" | \"claude\";\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 runner?: FabricAgentRunner;\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 runner: FabricAgentRunner;\n transport: FabricTransport;\n cwd: string;\n model?: string;\n thinking?: FabricThinking;\n actorId?: string;\n actorName?: string;\n sessionId?: string;\n runnerSessionId?: 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 pendingMessages?: { steering: string[]; followUp: string[] };\n}\ninterface FabricModelInfo {\n runner?: FabricAgentRunner;\n provider: string;\n id: string;\n name: string;\n key: string;\n value?: string;\n resolvedModel?: string;\n displayName?: string;\n description?: string;\n supportsEffort?: boolean;\n supportedEffortLevels?: string[];\n supportsAdaptiveThinking?: boolean;\n supportsFastMode?: boolean;\n supportsAutoMode?: boolean;\n}\ninterface FabricLogLine {\n index: number;\n raw: string;\n parsed?: unknown;\n}\ninterface FabricSubagentLog {\n id: string;\n runDirectory: string;\n logFile: string;\n status?: FabricAgentResult;\n events: FabricLogLine[];\n}\ninterface FabricActorLog {\n actorId: string;\n actorName: string;\n sessionFile: string;\n logDir: string;\n session: FabricLogLine[];\n run?: {\n runId: string;\n eventsFile: string;\n status?: FabricAgentResult;\n events: FabricLogLine[];\n };\n retainedRuns: string[];\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 models(): Promise<FabricModelInfo[]>;\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; start?: number; max?: number } | { file: string; offset?: number; limit?: number; start?: number; max?: number }): Promise<string>;\n bash(args: string | { command: string; timeout?: number; timeoutMs?: number } | { cmd: string; timeout?: number; timeoutMs?: number } | { shell: string; timeout?: number; timeoutMs?: 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 } | { path: string; old: string; new: string } | { path: string; old: string; replacement: string }): Promise<{ ok: true; output: string; details: unknown }>;\n edit(path: string, oldText: string, newText: string): Promise<{ ok: true; output: string; details: unknown }>;\n write(args: { path: string; content: string } | { file: string; content: string } | { path: string; contents: string } | { path: string; body: string } | { path: string; text: string }): Promise<{ ok: true; output: string; details: unknown }>;\n write(path: string, content: string): Promise<{ ok: true; output: string; details: unknown }>;\n grep(args: string | { pattern: string; path?: string; glob?: string; globPattern?: string; ignoreCase?: boolean; ic?: boolean; caseInsensitive?: boolean; literal?: boolean; context?: number; ctx?: number; limit?: number; max?: number } | { query: string; path?: string; glob?: string; globPattern?: string; ignoreCase?: boolean; ic?: boolean; caseInsensitive?: boolean; literal?: boolean; context?: number; ctx?: number; limit?: number; max?: number } | { regex: string; path?: string; glob?: string; globPattern?: string; ignoreCase?: boolean; ic?: boolean; caseInsensitive?: boolean; literal?: boolean; context?: number; ctx?: number; limit?: number; max?: number } | { search: string; path?: string; glob?: string; globPattern?: string; ignoreCase?: boolean; ic?: boolean; caseInsensitive?: boolean; literal?: boolean; context?: number; ctx?: number; limit?: number; max?: number }): Promise<string>;\n grep(pattern: string, path?: string, limit?: number): Promise<string>;\n find(args: string | { pattern: string; path?: string; limit?: number; max?: number } | { query: string; path?: string; limit?: number; max?: number } | { regex: string; path?: string; limit?: number; max?: number } | { search: string; path?: string; limit?: number; max?: number }): Promise<string>;\n find(pattern: string, path?: string, limit?: number): Promise<string>;\n ls(args?: string | { path?: string; limit?: number; max?: number } | { dir?: string; limit?: number; max?: number } | { file?: string; limit?: number; max?: 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 runner?: FabricAgentRunner;\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 runner: FabricAgentRunner;\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 sessionFile?: string;\n logDir?: 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 models(args?: { runner?: FabricAgentRunner; refresh?: boolean }): Promise<FabricModelInfo[]>;\n stop(args: { id: string }): Promise<FabricAgentResult>;\n cleanup(args: { id: string; deleteBranch?: boolean }): Promise<{ cleaned: boolean }>;\n create(args: FabricActorRequest): Promise<FabricActorInfo>;\n setEvents(args: { id: string; events: FabricActorHostEvent[] }): Promise<FabricActorInfo>;\n setInstructions(args: {\n id: string;\n instructions: string;\n scope?: \"project\" | \"global\";\n }): 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 steer(args: { id: string; message: string; data?: unknown }): Promise<{ queued: true; messageId: string; routed?: \"local\" | \"mesh\" }>;\n followUp(args: { id: string; message: string; data?: unknown }): Promise<{ queued: true; messageId: string; routed?: \"local\" | \"mesh\" }>;\n setSteeringMode(args: { id: string; mode: \"all\" | \"one-at-a-time\" }): Promise<{ queued: true; messageId: string }>;\n setFollowUpMode(args: { id: string; mode: \"all\" | \"one-at-a-time\" }): 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 log(args: {\n id: string;\n type?: \"session\" | \"run\" | \"all\";\n lines?: number;\n runId?: string;\n }): Promise<FabricActorLog | FabricSubagentLog>;\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 runner?: FabricAgentRunner;\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\"];\ntype FabricRlmRequest = Omit<FabricAgentRequest, \"runner\" | \"recursive\"> & { runner?: \"pi\" };\ndeclare const rlm: { query(args: FabricRlmRequest): 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";
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 FabricAgentRunner = \"pi\" | \"claude\";\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 runner?: FabricAgentRunner;\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 runner: FabricAgentRunner;\n transport: FabricTransport;\n cwd: string;\n model?: string;\n thinking?: FabricThinking;\n actorId?: string;\n actorName?: string;\n sessionId?: string;\n runnerSessionId?: 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 pendingMessages?: { steering: string[]; followUp: string[] };\n}\ninterface FabricModelInfo {\n runner?: FabricAgentRunner;\n provider: string;\n id: string;\n name: string;\n key: string;\n value?: string;\n resolvedModel?: string;\n displayName?: string;\n description?: string;\n supportsEffort?: boolean;\n supportedEffortLevels?: string[];\n supportsAdaptiveThinking?: boolean;\n supportsFastMode?: boolean;\n supportsAutoMode?: boolean;\n}\ninterface FabricLogLine {\n index: number;\n raw: string;\n parsed?: unknown;\n}\ninterface FabricSubagentLog {\n id: string;\n runDirectory: string;\n logFile: string;\n status?: FabricAgentResult;\n events: FabricLogLine[];\n}\ninterface FabricActorLog {\n actorId: string;\n actorName: string;\n sessionFile: string;\n logDir: string;\n session: FabricLogLine[];\n run?: {\n runId: string;\n eventsFile: string;\n status?: FabricAgentResult;\n events: FabricLogLine[];\n };\n retainedRuns: string[];\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 models(): Promise<FabricModelInfo[]>;\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; start?: number; max?: number } | { file: string; offset?: number; limit?: number; start?: number; max?: number }): Promise<string>;\n bash(args: string | { command: string; timeout?: number; timeoutMs?: number } | { cmd: string; timeout?: number; timeoutMs?: number } | { shell: string; timeout?: number; timeoutMs?: 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 } | { path: string; old: string; new: string } | { path: string; old: string; replacement: string }): Promise<{ ok: true; output: string; details: unknown }>;\n edit(path: string, oldText: string, newText: string): Promise<{ ok: true; output: string; details: unknown }>;\n write(args: { path: string; content: string } | { file: string; content: string } | { path: string; contents: string } | { path: string; body: string } | { path: string; text: string }): Promise<{ ok: true; output: string; details: unknown }>;\n write(path: string, content: string): Promise<{ ok: true; output: string; details: unknown }>;\n grep(args: string | { pattern: string; path?: string; glob?: string; globPattern?: string; ignoreCase?: boolean; ic?: boolean; caseInsensitive?: boolean; literal?: boolean; context?: number; ctx?: number; limit?: number; max?: number } | { query: string; path?: string; glob?: string; globPattern?: string; ignoreCase?: boolean; ic?: boolean; caseInsensitive?: boolean; literal?: boolean; context?: number; ctx?: number; limit?: number; max?: number } | { regex: string; path?: string; glob?: string; globPattern?: string; ignoreCase?: boolean; ic?: boolean; caseInsensitive?: boolean; literal?: boolean; context?: number; ctx?: number; limit?: number; max?: number } | { search: string; path?: string; glob?: string; globPattern?: string; ignoreCase?: boolean; ic?: boolean; caseInsensitive?: boolean; literal?: boolean; context?: number; ctx?: number; limit?: number; max?: number }): Promise<string>;\n grep(pattern: string, path?: string, limit?: number): Promise<string>;\n find(args: string | { pattern: string; path?: string; limit?: number; max?: number } | { query: string; path?: string; limit?: number; max?: number } | { regex: string; path?: string; limit?: number; max?: number } | { search: string; path?: string; limit?: number; max?: number }): Promise<string>;\n find(pattern: string, path?: string, limit?: number): Promise<string>;\n ls(args?: string | { path?: string; limit?: number; max?: number } | { dir?: string; limit?: number; max?: number } | { file?: string; limit?: number; max?: 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 runner?: FabricAgentRunner;\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 runner: FabricAgentRunner;\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 sessionFile?: string;\n logDir?: 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 models(args?: { runner?: FabricAgentRunner; refresh?: boolean }): Promise<FabricModelInfo[]>;\n stop(args: { id: string }): Promise<FabricAgentResult>;\n cleanup(args: { id: string; deleteBranch?: boolean }): Promise<{ cleaned: boolean }>;\n create(args: FabricActorRequest): Promise<FabricActorInfo>;\n setEvents(args: { id: string; events: FabricActorHostEvent[] }): Promise<FabricActorInfo>;\n setInstructions(args: {\n id: string;\n instructions: string;\n scope?: \"project\" | \"global\";\n }): 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 steer(args: { id: string; message: string; data?: unknown }): Promise<{ queued: true; messageId: string; routed?: \"local\" | \"mesh\" }>;\n followUp(args: { id: string; message: string; data?: unknown }): Promise<{ queued: true; messageId: string; routed?: \"local\" | \"mesh\" }>;\n setSteeringMode(args: { id: string; mode: \"all\" | \"one-at-a-time\" }): Promise<{ queued: true; messageId: string }>;\n setFollowUpMode(args: { id: string; mode: \"all\" | \"one-at-a-time\" }): 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 log(args: {\n id: string;\n type?: \"session\" | \"run\" | \"all\";\n lines?: number;\n runId?: string;\n }): Promise<FabricActorLog | FabricSubagentLog>;\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 runner?: FabricAgentRunner;\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}\ntype FabricMemoryBranches = \"active\" | \"all\";\ninterface FabricMemoryEntryRange {\n first: number;\n last: number;\n}\ninterface FabricMemoryRecallArgs {\n query?: string;\n queryMode?: \"literal\" | \"regex\";\n expectedSourceHash?: string;\n expectedLineageFingerprint?: string;\n branches?: FabricMemoryBranches;\n scope?: string;\n page?: number;\n pageSize?: number;\n role?: string;\n tool?: string;\n since?: number;\n until?: number;\n entryRange?: FabricMemoryEntryRange;\n}\ninterface FabricMemoryRecallResult {\n scope?: string;\n branches?: FabricMemoryBranches;\n query?: string | null;\n queryMode?: \"literal\" | \"regex\";\n matchedCount?: number;\n totalMatches?: number;\n totalItems?: number;\n segmentCount?: number;\n segments?: unknown[];\n digestHits?: unknown[];\n items?: unknown[];\n page?: number;\n pageSize?: number;\n hasNext?: boolean;\n coverage?: unknown;\n text?: string;\n error?: { code: string; message: string; [key: string]: unknown };\n}\ninterface FabricMemoryExpandArgs {\n session: string;\n expectedSourceHash?: string;\n expectedLineageFingerprint?: string;\n branches?: FabricMemoryBranches;\n indices?: number[];\n entryIds?: string[];\n operationAddresses?: string[];\n entryRange?: FabricMemoryEntryRange;\n}\ninterface FabricMemoryExpandResult {\n session?: string;\n sourceHash?: string;\n branches?: FabricMemoryBranches;\n lineageFingerprint?: string;\n expanded?: unknown[];\n error?: { code: string; message: string; [key: string]: unknown };\n}\ninterface FabricMemorySessionInfo {\n id: string;\n file: string;\n cwd: string;\n mtime: number;\n entryCount: number;\n tier: \"hot\" | \"cold\";\n branches: FabricMemoryBranches;\n lineageFingerprint: string | null;\n}\ninterface FabricMemoryApi {\n recall(args?: FabricMemoryRecallArgs): Promise<FabricMemoryRecallResult>;\n expand(args: FabricMemoryExpandArgs): Promise<FabricMemoryExpandResult>;\n sessions(args?: { scope?: string; branches?: FabricMemoryBranches }): Promise<{\n scope?: string;\n branches?: FabricMemoryBranches;\n sessions?: FabricMemorySessionInfo[];\n error?: { code: string; message: string; [key: string]: unknown };\n }>;\n}\ninterface FabricStateTransitionArgs {\n label: string;\n from?: string;\n to: string;\n summary: string;\n evidence?: string[];\n tags?: string[];\n kind?: \"state\" | \"representation\";\n complexity?: { files: string[] };\n force?: boolean;\n}\ninterface FabricStateComplexityFile {\n file: string;\n supported: boolean;\n language?: string;\n current?: number;\n recorded?: number;\n delta?: number;\n recordedDelta?: number;\n}\ninterface FabricStateVerificationResult {\n certified: boolean;\n violated: boolean;\n certificationStatus: \"certified\" | \"failed\";\n results: unknown[];\n failures: unknown[];\n certificate?: unknown;\n reportingError?: string;\n evidenceDigest: string;\n resultDigest: string;\n}\ninterface FabricStateApi {\n transition(args: FabricStateTransitionArgs): Promise<{ event: FabricMeshEvent; head: unknown }>;\n get(): Promise<{\n head: unknown | null;\n goal: { check: string; description?: string } | null;\n complexity: { files: number; decisionPoints: number; lastNetDelta: number };\n certification: { current: unknown | null; recent: unknown[] };\n recentLabels: string[];\n }>;\n history(args?: { label?: string; limit?: number; includeArchived?: boolean }): Promise<{\n transitions: unknown[];\n labels: string[];\n certifications: unknown[];\n }>;\n complexity(args?: { files?: string[] }): Promise<{ files: FabricStateComplexityFile[]; netDelta: number }>;\n verify(args?: { labels?: string[]; includeArchived?: boolean; timeoutMs?: number }): Promise<FabricStateVerificationResult>;\n goal(args: { check: string; description?: string }): Promise<FabricMeshStateEntry<{ check: string; description?: string }>>;\n checkGoal(args?: { timeoutMs?: number }): Promise<{\n passed: boolean;\n output: string;\n exitCode: number | null;\n error?: string;\n }>;\n}\ntype FabricSchemaEvidence =\n | { kind: \"file_exists\"; path: string }\n | { kind: \"file_absent\"; path: string }\n | { kind: \"file_contains\"; path: string; literal: string }\n | { kind: \"file_sha256\"; path: string; sha256: string }\n | { kind: \"trusted_command\"; name: string };\ntype FabricSchemaFileOperation =\n | { kind: \"write\"; path: string; content: string; expected: { absent: true } | { sha256: string } }\n | { kind: \"edit\"; path: string; oldText: string; newText: string; expectedSha256: string }\n | { kind: \"delete\"; path: string; expectedSha256: string };\ninterface FabricSchemaEvidenceResult {\n evidence: FabricSchemaEvidence;\n status: \"confirmed\" | \"nonconfirmed\" | \"error\";\n detail: string;\n exitCode?: number | null;\n output?: string;\n observedSha256?: string;\n}\ninterface FabricSchemaStatus {\n mode: \"off\" | \"audit\" | \"enforce\";\n certificateTtlMs: number;\n maxFiles: number;\n maxBytes: number;\n trustedCommands: string[];\n generation: number;\n lastOutcome: \"committed\" | \"rolled_back\" | \"quarantined\" | null;\n hypotheses: Array<{\n id: string;\n label: string;\n status: string;\n generation: number;\n updatedAt: number;\n }>;\n}\ninterface FabricSchemaVerificationResult {\n verified: boolean;\n hypothesisId: string;\n certificate?: string;\n issuedAt?: number;\n expiresAt?: number;\n reason?: string;\n results: FabricSchemaEvidenceResult[];\n}\ninterface FabricSchemaCommitResult {\n outcome: \"committed\" | \"rolled_back\" | \"quarantined\";\n transactionId: string;\n generation?: number;\n paths?: string[];\n postconditions?: FabricSchemaEvidenceResult[];\n complexityReductionCertified?: boolean;\n stateTransition?: unknown;\n error?: string;\n rollbackError?: string;\n}\ninterface FabricSchemaApi {\n status(): Promise<FabricSchemaStatus>;\n hypothesize(args: {\n label: string;\n summary: string;\n evidence: FabricSchemaEvidence[];\n complexityReduction?: boolean;\n }): Promise<{\n hypothesisId: string;\n status: string;\n state: unknown;\n fingerprint: string;\n generation: number;\n }>;\n verify(args: { hypothesisId: string }): Promise<FabricSchemaVerificationResult>;\n commit(args: {\n hypothesisId: string;\n certificate: string;\n operations: FabricSchemaFileOperation[];\n postconditions: FabricSchemaEvidence[];\n }): Promise<FabricSchemaCommitResult>;\n abort(args: { hypothesisId: string; certificate?: string }): Promise<{\n aborted: true;\n hypothesisId: string;\n }>;\n}\ninterface FabricCompactPendingIntent {\n reason?: string;\n instructions?: string;\n preserve?: string[];\n requestedBy: string;\n requestedAt: number;\n}\ninterface FabricCompactLastCommit {\n at: number;\n requestedBy: string;\n status: \"committed\" | \"failed\";\n summary?: string;\n tokensBefore?: number;\n estimatedTokensAfter?: number;\n error?: string;\n}\ninterface FabricCompactApi {\n request(args?: {\n reason?: string;\n instructions?: string;\n preserve?: string[];\n requestedBy?: string;\n }): Promise<{ requested: true; intent: FabricCompactPendingIntent }>;\n status(): Promise<{ pending?: FabricCompactPendingIntent; last?: FabricCompactLastCommit }>;\n cancel(): Promise<{ cancelled: true }>;\n}\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 memory: FabricMemoryApi;\ndeclare const state: FabricStateApi;\ndeclare const schema: FabricSchemaApi;\ndeclare const compact: FabricCompactApi;\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\"];\ntype FabricRlmRequest = Omit<FabricAgentRequest, \"runner\" | \"recursive\"> & { runner?: \"pi\" };\ndeclare const rlm: { query(args: FabricRlmRequest): 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
2
  export declare const guestTypeDeclarations: (fullCodeMode: boolean) => string;
3
3
  //# sourceMappingURL=guest-types.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"guest-types.d.ts","sourceRoot":"","sources":["../../src/runtime/guest-types.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,uBAAuB,y4hBA2XnC,CAAC;AAOF,eAAO,MAAM,qBAAqB,GAAI,cAAc,OAAO,KAAG,MAMvD,CAAC"}
1
+ {"version":3,"file":"guest-types.d.ts","sourceRoot":"","sources":["../../src/runtime/guest-types.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,uBAAuB,uzwBA8mBnC,CAAC;AAOF,eAAO,MAAM,qBAAqB,GAAI,cAAc,OAAO,KAAG,MAMvD,CAAC"}
@@ -309,6 +309,245 @@ interface FabricMeshApi {
309
309
  put<T = unknown>(args: { key: string; value: T; ifVersion?: number }): Promise<FabricMeshStateEntry<T>>;
310
310
  delete(args: { key: string; ifVersion?: number }): Promise<{ deleted: boolean; version?: number }>;
311
311
  }
312
+ type FabricMemoryBranches = "active" | "all";
313
+ interface FabricMemoryEntryRange {
314
+ first: number;
315
+ last: number;
316
+ }
317
+ interface FabricMemoryRecallArgs {
318
+ query?: string;
319
+ queryMode?: "literal" | "regex";
320
+ expectedSourceHash?: string;
321
+ expectedLineageFingerprint?: string;
322
+ branches?: FabricMemoryBranches;
323
+ scope?: string;
324
+ page?: number;
325
+ pageSize?: number;
326
+ role?: string;
327
+ tool?: string;
328
+ since?: number;
329
+ until?: number;
330
+ entryRange?: FabricMemoryEntryRange;
331
+ }
332
+ interface FabricMemoryRecallResult {
333
+ scope?: string;
334
+ branches?: FabricMemoryBranches;
335
+ query?: string | null;
336
+ queryMode?: "literal" | "regex";
337
+ matchedCount?: number;
338
+ totalMatches?: number;
339
+ totalItems?: number;
340
+ segmentCount?: number;
341
+ segments?: unknown[];
342
+ digestHits?: unknown[];
343
+ items?: unknown[];
344
+ page?: number;
345
+ pageSize?: number;
346
+ hasNext?: boolean;
347
+ coverage?: unknown;
348
+ text?: string;
349
+ error?: { code: string; message: string; [key: string]: unknown };
350
+ }
351
+ interface FabricMemoryExpandArgs {
352
+ session: string;
353
+ expectedSourceHash?: string;
354
+ expectedLineageFingerprint?: string;
355
+ branches?: FabricMemoryBranches;
356
+ indices?: number[];
357
+ entryIds?: string[];
358
+ operationAddresses?: string[];
359
+ entryRange?: FabricMemoryEntryRange;
360
+ }
361
+ interface FabricMemoryExpandResult {
362
+ session?: string;
363
+ sourceHash?: string;
364
+ branches?: FabricMemoryBranches;
365
+ lineageFingerprint?: string;
366
+ expanded?: unknown[];
367
+ error?: { code: string; message: string; [key: string]: unknown };
368
+ }
369
+ interface FabricMemorySessionInfo {
370
+ id: string;
371
+ file: string;
372
+ cwd: string;
373
+ mtime: number;
374
+ entryCount: number;
375
+ tier: "hot" | "cold";
376
+ branches: FabricMemoryBranches;
377
+ lineageFingerprint: string | null;
378
+ }
379
+ interface FabricMemoryApi {
380
+ recall(args?: FabricMemoryRecallArgs): Promise<FabricMemoryRecallResult>;
381
+ expand(args: FabricMemoryExpandArgs): Promise<FabricMemoryExpandResult>;
382
+ sessions(args?: { scope?: string; branches?: FabricMemoryBranches }): Promise<{
383
+ scope?: string;
384
+ branches?: FabricMemoryBranches;
385
+ sessions?: FabricMemorySessionInfo[];
386
+ error?: { code: string; message: string; [key: string]: unknown };
387
+ }>;
388
+ }
389
+ interface FabricStateTransitionArgs {
390
+ label: string;
391
+ from?: string;
392
+ to: string;
393
+ summary: string;
394
+ evidence?: string[];
395
+ tags?: string[];
396
+ kind?: "state" | "representation";
397
+ complexity?: { files: string[] };
398
+ force?: boolean;
399
+ }
400
+ interface FabricStateComplexityFile {
401
+ file: string;
402
+ supported: boolean;
403
+ language?: string;
404
+ current?: number;
405
+ recorded?: number;
406
+ delta?: number;
407
+ recordedDelta?: number;
408
+ }
409
+ interface FabricStateVerificationResult {
410
+ certified: boolean;
411
+ violated: boolean;
412
+ certificationStatus: "certified" | "failed";
413
+ results: unknown[];
414
+ failures: unknown[];
415
+ certificate?: unknown;
416
+ reportingError?: string;
417
+ evidenceDigest: string;
418
+ resultDigest: string;
419
+ }
420
+ interface FabricStateApi {
421
+ transition(args: FabricStateTransitionArgs): Promise<{ event: FabricMeshEvent; head: unknown }>;
422
+ get(): Promise<{
423
+ head: unknown | null;
424
+ goal: { check: string; description?: string } | null;
425
+ complexity: { files: number; decisionPoints: number; lastNetDelta: number };
426
+ certification: { current: unknown | null; recent: unknown[] };
427
+ recentLabels: string[];
428
+ }>;
429
+ history(args?: { label?: string; limit?: number; includeArchived?: boolean }): Promise<{
430
+ transitions: unknown[];
431
+ labels: string[];
432
+ certifications: unknown[];
433
+ }>;
434
+ complexity(args?: { files?: string[] }): Promise<{ files: FabricStateComplexityFile[]; netDelta: number }>;
435
+ verify(args?: { labels?: string[]; includeArchived?: boolean; timeoutMs?: number }): Promise<FabricStateVerificationResult>;
436
+ goal(args: { check: string; description?: string }): Promise<FabricMeshStateEntry<{ check: string; description?: string }>>;
437
+ checkGoal(args?: { timeoutMs?: number }): Promise<{
438
+ passed: boolean;
439
+ output: string;
440
+ exitCode: number | null;
441
+ error?: string;
442
+ }>;
443
+ }
444
+ type FabricSchemaEvidence =
445
+ | { kind: "file_exists"; path: string }
446
+ | { kind: "file_absent"; path: string }
447
+ | { kind: "file_contains"; path: string; literal: string }
448
+ | { kind: "file_sha256"; path: string; sha256: string }
449
+ | { kind: "trusted_command"; name: string };
450
+ type FabricSchemaFileOperation =
451
+ | { kind: "write"; path: string; content: string; expected: { absent: true } | { sha256: string } }
452
+ | { kind: "edit"; path: string; oldText: string; newText: string; expectedSha256: string }
453
+ | { kind: "delete"; path: string; expectedSha256: string };
454
+ interface FabricSchemaEvidenceResult {
455
+ evidence: FabricSchemaEvidence;
456
+ status: "confirmed" | "nonconfirmed" | "error";
457
+ detail: string;
458
+ exitCode?: number | null;
459
+ output?: string;
460
+ observedSha256?: string;
461
+ }
462
+ interface FabricSchemaStatus {
463
+ mode: "off" | "audit" | "enforce";
464
+ certificateTtlMs: number;
465
+ maxFiles: number;
466
+ maxBytes: number;
467
+ trustedCommands: string[];
468
+ generation: number;
469
+ lastOutcome: "committed" | "rolled_back" | "quarantined" | null;
470
+ hypotheses: Array<{
471
+ id: string;
472
+ label: string;
473
+ status: string;
474
+ generation: number;
475
+ updatedAt: number;
476
+ }>;
477
+ }
478
+ interface FabricSchemaVerificationResult {
479
+ verified: boolean;
480
+ hypothesisId: string;
481
+ certificate?: string;
482
+ issuedAt?: number;
483
+ expiresAt?: number;
484
+ reason?: string;
485
+ results: FabricSchemaEvidenceResult[];
486
+ }
487
+ interface FabricSchemaCommitResult {
488
+ outcome: "committed" | "rolled_back" | "quarantined";
489
+ transactionId: string;
490
+ generation?: number;
491
+ paths?: string[];
492
+ postconditions?: FabricSchemaEvidenceResult[];
493
+ complexityReductionCertified?: boolean;
494
+ stateTransition?: unknown;
495
+ error?: string;
496
+ rollbackError?: string;
497
+ }
498
+ interface FabricSchemaApi {
499
+ status(): Promise<FabricSchemaStatus>;
500
+ hypothesize(args: {
501
+ label: string;
502
+ summary: string;
503
+ evidence: FabricSchemaEvidence[];
504
+ complexityReduction?: boolean;
505
+ }): Promise<{
506
+ hypothesisId: string;
507
+ status: string;
508
+ state: unknown;
509
+ fingerprint: string;
510
+ generation: number;
511
+ }>;
512
+ verify(args: { hypothesisId: string }): Promise<FabricSchemaVerificationResult>;
513
+ commit(args: {
514
+ hypothesisId: string;
515
+ certificate: string;
516
+ operations: FabricSchemaFileOperation[];
517
+ postconditions: FabricSchemaEvidence[];
518
+ }): Promise<FabricSchemaCommitResult>;
519
+ abort(args: { hypothesisId: string; certificate?: string }): Promise<{
520
+ aborted: true;
521
+ hypothesisId: string;
522
+ }>;
523
+ }
524
+ interface FabricCompactPendingIntent {
525
+ reason?: string;
526
+ instructions?: string;
527
+ preserve?: string[];
528
+ requestedBy: string;
529
+ requestedAt: number;
530
+ }
531
+ interface FabricCompactLastCommit {
532
+ at: number;
533
+ requestedBy: string;
534
+ status: "committed" | "failed";
535
+ summary?: string;
536
+ tokensBefore?: number;
537
+ estimatedTokensAfter?: number;
538
+ error?: string;
539
+ }
540
+ interface FabricCompactApi {
541
+ request(args?: {
542
+ reason?: string;
543
+ instructions?: string;
544
+ preserve?: string[];
545
+ requestedBy?: string;
546
+ }): Promise<{ requested: true; intent: FabricCompactPendingIntent }>;
547
+ status(): Promise<{ pending?: FabricCompactPendingIntent; last?: FabricCompactLastCommit }>;
548
+ cancel(): Promise<{ cancelled: true }>;
549
+ }
550
+
312
551
  interface FabricWorkflowAgentOptions extends Omit<FabricAgentRequest, "task"> {
313
552
  label?: string;
314
553
  }
@@ -353,6 +592,10 @@ declare const extensions: FabricExtensionsApi;
353
592
  declare const agents: FabricAgentsApi;
354
593
  declare const mesh: FabricMeshApi;
355
594
  declare const mcp: FabricMcpApi;
595
+ declare const memory: FabricMemoryApi;
596
+ declare const state: FabricStateApi;
597
+ declare const schema: FabricSchemaApi;
598
+ declare const compact: FabricCompactApi;
356
599
  declare const council: FabricCouncilApi;
357
600
  declare const workflow: FabricWorkflowApi;
358
601
  declare function agent<T = string>(prompt: string, options?: FabricWorkflowAgentOptions): Promise<T>;
@@ -1 +1 @@
1
- {"version":3,"file":"guest-types.js","sourceRoot":"","sources":["../../src/runtime/guest-types.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,uBAAuB,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA2XtC,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"}
1
+ {"version":3,"file":"guest-types.js","sourceRoot":"","sources":["../../src/runtime/guest-types.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,uBAAuB,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA8mBtC,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"}
@@ -1 +1 @@
1
- {"version":3,"file":"quickjs-runtime.d.ts","sourceRoot":"","sources":["../../src/runtime/quickjs-runtime.ts"],"names":[],"mappings":"AAIA,MAAM,MAAM,8BAA8B,GACtC,WAAW,GACX,eAAe,GACf,WAAW,GACX,SAAS,CAAC;AAEd,MAAM,WAAW,mBAAmB;IAClC,KAAK,EAAE,OAAO,CAAC;IACf,IAAI,EAAE,MAAM,EAAE,CAAC;IACf,iBAAiB,EAAE,8BAA8B,CAAC;IAClD,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;IACrB,2BAA2B,CAAC,CAC1B,GAAG,EAAE,MAAM,EACX,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAC5B,MAAM,GAAG,SAAS,CAAC;CACvB;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;AAsctB,qBAAa,cAAc;IACnB,OAAO,CACX,IAAI,EAAE,MAAM,EACZ,QAAQ,EAAE,cAAc,EACxB,OAAO,EAAE,oBAAoB,GAC5B,OAAO,CAAC,mBAAmB,CAAC;CA+ThC"}
1
+ {"version":3,"file":"quickjs-runtime.d.ts","sourceRoot":"","sources":["../../src/runtime/quickjs-runtime.ts"],"names":[],"mappings":"AAIA,MAAM,MAAM,8BAA8B,GACtC,WAAW,GACX,eAAe,GACf,WAAW,GACX,SAAS,CAAC;AAEd,MAAM,WAAW,mBAAmB;IAClC,KAAK,EAAE,OAAO,CAAC;IACf,IAAI,EAAE,MAAM,EAAE,CAAC;IACf,iBAAiB,EAAE,8BAA8B,CAAC;IAClD,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;IACrB,2BAA2B,CAAC,CAC1B,GAAG,EAAE,MAAM,EACX,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAC5B,MAAM,GAAG,SAAS,CAAC;CACvB;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;AA6ctB,qBAAa,cAAc;IACnB,OAAO,CACX,IAAI,EAAE,MAAM,EACZ,QAAQ,EAAE,cAAc,EACxB,OAAO,EAAE,oBAAoB,GAC5B,OAAO,CAAC,mBAAmB,CAAC;CA+ThC"}