omp-fabric 0.85.0 → 1.0.2
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/CHANGELOG.md +57 -0
- package/dist/agents/manager.d.ts.map +1 -1
- package/dist/agents/transports/process-transport.d.ts.map +1 -1
- package/dist/agents/transports/process-utils.d.ts +6 -1
- package/dist/agents/transports/process-utils.d.ts.map +1 -1
- package/dist/agents/types.d.ts +1 -0
- package/dist/agents/types.d.ts.map +1 -1
- package/dist/audit/details.d.ts +10 -0
- package/dist/audit/details.d.ts.map +1 -1
- package/dist/chunks/{chunk-GKOFZ76R.js → chunk-2LGLDM34.js} +22 -4
- package/dist/chunks/chunk-2LGLDM34.js.map +7 -0
- package/dist/chunks/{chunk-T6OAX4FO.js → chunk-3TWC6XOS.js} +37 -9
- package/dist/chunks/chunk-3TWC6XOS.js.map +7 -0
- package/dist/chunks/{chunk-ZNAJDPT7.js → chunk-B2SQR2JY.js} +32 -24
- package/dist/chunks/{chunk-ZNAJDPT7.js.map → chunk-B2SQR2JY.js.map} +2 -2
- package/dist/chunks/{chunk-SXMWV447.js → chunk-DOKANNFC.js} +206 -3
- package/dist/chunks/chunk-DOKANNFC.js.map +7 -0
- package/dist/chunks/{chunk-UPCARIJP.js → chunk-FFWALVBN.js} +20 -9
- package/dist/chunks/chunk-FFWALVBN.js.map +7 -0
- package/dist/chunks/{chunk-4LEDA76O.js → chunk-HAJPYJPY.js} +3 -3
- package/dist/chunks/{chunk-ROKMBLGN.js → chunk-IFNDRFW7.js} +34 -14
- package/dist/chunks/chunk-IFNDRFW7.js.map +7 -0
- package/dist/chunks/{chunk-ZTM45GH5.js → chunk-JZWLICMS.js} +125 -42
- package/dist/chunks/chunk-JZWLICMS.js.map +7 -0
- package/dist/chunks/{chunk-5GTPD4BA.js → chunk-L2FNMIOW.js} +66 -22
- package/dist/chunks/chunk-L2FNMIOW.js.map +7 -0
- package/dist/chunks/chunk-NX4SNIMR.js +226 -0
- package/dist/chunks/chunk-NX4SNIMR.js.map +7 -0
- package/dist/chunks/{chunk-YZZIKJX6.js → chunk-RBA54WC7.js} +1 -1
- package/dist/chunks/{chunk-YZZIKJX6.js.map → chunk-RBA54WC7.js.map} +1 -1
- package/dist/chunks/{chunk-OPTP4PSE.js → chunk-YPYVUGON.js} +3 -23
- package/dist/chunks/chunk-YPYVUGON.js.map +7 -0
- package/dist/chunks/{chunk-JP4LIZFT.js → chunk-Z6HEQPXX.js} +23 -6
- package/dist/chunks/chunk-Z6HEQPXX.js.map +7 -0
- package/dist/commands/fabric.d.ts.map +1 -1
- package/dist/core/action-registry.d.ts +2 -1
- package/dist/core/action-registry.d.ts.map +1 -1
- package/dist/core/action-registry.js +2 -2
- package/dist/core/compact-controller.d.ts +28 -3
- package/dist/core/compact-controller.d.ts.map +1 -1
- package/dist/core/compact-outcome-store.d.ts +3 -0
- package/dist/core/compact-outcome-store.d.ts.map +1 -0
- package/dist/entropy/index.js +2 -2
- package/dist/entropy/sessions.d.ts.map +1 -1
- package/dist/execution-service.d.ts.map +1 -1
- package/dist/fabric-exec-tool.d.ts.map +1 -1
- package/dist/fabric-runtime-state.d.ts.map +1 -1
- package/dist/fabric-runtime-state.js +883 -367
- package/dist/fabric-runtime-state.js.map +4 -4
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +116 -18
- package/dist/index.js.map +3 -3
- package/dist/memory/discovery.d.ts +28 -14
- package/dist/memory/discovery.d.ts.map +1 -1
- package/dist/memory/discovery.js +9 -5
- package/dist/protocol.d.ts +5 -0
- package/dist/protocol.d.ts.map +1 -1
- package/dist/protocol.js +1 -1
- package/dist/providers/mcp-descriptor-cache.d.ts +2 -0
- package/dist/providers/mcp-descriptor-cache.d.ts.map +1 -1
- package/dist/providers/mcp-provider.d.ts +4 -2
- package/dist/providers/mcp-provider.d.ts.map +1 -1
- package/dist/providers/memory-provider.d.ts.map +1 -1
- package/dist/providers/memory-provider.js +2 -2
- package/dist/providers/omp-tools-provider.d.ts +1 -0
- package/dist/providers/omp-tools-provider.d.ts.map +1 -1
- package/dist/residency/host.js +5 -5
- package/dist/residency/omp-entry.js +5 -5
- package/dist/runtime/core-override-guest-types.js +1 -1
- package/dist/runtime/guest-types.d.ts +2 -2
- package/dist/runtime/guest-types.d.ts.map +1 -1
- package/dist/runtime/guest-types.js +1 -1
- package/dist/runtime/node-process-child-source.d.ts.map +1 -1
- package/dist/runtime/node-process-runtime.d.ts.map +1 -1
- package/dist/runtime/node-process-runtime.js +4 -2
- package/dist/runtime/node-process-runtime.js.map +2 -2
- package/dist/runtime/quickjs-runtime.d.ts +6 -1
- package/dist/runtime/quickjs-runtime.d.ts.map +1 -1
- package/dist/runtime/quickjs-runtime.js +1 -1
- package/dist/speculation/guest-args.d.ts +2 -0
- package/dist/speculation/guest-args.d.ts.map +1 -0
- package/dist/speculation/scanner.d.ts.map +1 -1
- package/dist/speculation/scanner.js +312 -14
- package/dist/speculation/scanner.js.map +3 -3
- package/dist/speculation/store.d.ts +2 -0
- package/dist/speculation/store.d.ts.map +1 -1
- package/dist/speculation/stream-tap.d.ts +1 -0
- package/dist/speculation/stream-tap.d.ts.map +1 -1
- package/dist/speculation/summary.d.ts +4 -0
- package/dist/speculation/summary.d.ts.map +1 -0
- package/dist/speculation/types.d.ts +4 -0
- package/dist/speculation/types.d.ts.map +1 -1
- package/dist/speculation/warmup.d.ts +17 -0
- package/dist/speculation/warmup.d.ts.map +1 -0
- package/dist/ui/settings.d.ts.map +1 -1
- package/dist/ui/settings.js +6 -6
- package/dist/ui/settings.js.map +2 -2
- package/docs/agents.md +1 -1
- package/docs/compaction.md +2 -2
- package/docs/configuration.md +26 -12
- package/docs/interface.md +2 -2
- package/docs/speculation.md +11 -6
- package/package.json +3 -2
- package/dist/chunks/chunk-5GTPD4BA.js.map +0 -7
- package/dist/chunks/chunk-7BIA5BJN.js +0 -112
- package/dist/chunks/chunk-7BIA5BJN.js.map +0 -7
- package/dist/chunks/chunk-GKOFZ76R.js.map +0 -7
- package/dist/chunks/chunk-JP4LIZFT.js.map +0 -7
- package/dist/chunks/chunk-OPTP4PSE.js.map +0 -7
- package/dist/chunks/chunk-ROKMBLGN.js.map +0 -7
- package/dist/chunks/chunk-SXMWV447.js.map +0 -7
- package/dist/chunks/chunk-T6OAX4FO.js.map +0 -7
- package/dist/chunks/chunk-UPCARIJP.js.map +0 -7
- package/dist/chunks/chunk-ZTM45GH5.js.map +0 -7
- /package/dist/chunks/{chunk-4LEDA76O.js.map → chunk-HAJPYJPY.js.map} +0 -0
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"version": 3,
|
|
3
|
-
"sources": ["../../src/agents/transports/process-utils.ts"],
|
|
4
|
-
"sourcesContent": ["import { execFile, spawn } from \"node:child_process\";\nimport { accessSync, constants, statSync } from \"node:fs\";\nimport path from \"node:path\";\n\nexport interface ExecFileResult {\n stdout: string;\n stderr: string;\n}\n\nexport const executeFile = (\n command: string,\n args: string[],\n options: { cwd?: string; timeoutMs?: number } = {},\n): Promise<ExecFileResult> =>\n new Promise((resolve, reject) => {\n execFile(\n command,\n args,\n {\n encoding: \"utf8\",\n maxBuffer: 10 * 1024 * 1024,\n ...(options.cwd ? { cwd: options.cwd } : {}),\n ...(options.timeoutMs ? { timeout: options.timeoutMs } : {}),\n },\n (error, stdout, stderr) => {\n if (error) {\n Object.assign(error, { stdout, stderr });\n reject(error);\n return;\n }\n resolve({ stdout, stderr });\n },\n );\n });\n\n// Resolve against the caller's own PATH. A shell probe cannot: `sh -lc` rebuilds\n// PATH from the login profile, which drops per-session managers (fnm, nvm, the\n// CI tool cache) and reports an installed runtime as missing.\nexport const commandAvailable = async (command: string): Promise<boolean> =>\n resolveCommandPath(command) !== undefined;\n\nconst resolveCommandPath = (\n command: string,\n env: NodeJS.ProcessEnv = process.env,\n): string | undefined => {\n if (command.includes(\"/\") || command.includes(\"\\\\\")) {\n return isExecutableFile(command) ? command : undefined;\n }\n const extensions = process.platform === \"win32\"\n ? (env.PATHEXT ?? \".COM;.EXE;.BAT;.CMD\").split(\";\").filter(Boolean)\n : [\"\"];\n for (const directory of (env.PATH ?? \"\").split(path.delimiter)) {\n if (!directory) continue;\n for (const extension of extensions) {\n const candidate = path.join(directory, `${command}${extension}`);\n if (isExecutableFile(candidate)) return candidate;\n }\n }\n return undefined;\n};\n\nconst isExecutableFile = (candidate: string): boolean => {\n try {\n if (!statSync(candidate).isFile()) return false;\n } catch {\n return false;\n }\n if (process.platform === \"win32\") return true;\n try {\n accessSync(candidate, constants.X_OK);\n return true;\n } catch {\n return false;\n }\n};\n\nconst shellQuote = (value: string): string => `'${value.replaceAll(\"'\", `'\"'\"'`)}'`;\n\nexport const processIsAlive = (pid: number): boolean => {\n if (!Number.isSafeInteger(pid) || pid <= 0) return false;\n try {\n process.kill(pid, 0);\n return true;\n } catch (error) {\n // On Windows, EPERM means the process exists but cannot be opened for\n // signaling; only ESRCH (or other errors) mean it is gone.\n return error instanceof Error && \"code\" in error && (error as NodeJS.ErrnoException).code === \"EPERM\";\n }\n};\n\nconst GENERIC_RUNTIME = /^(node|bun)(\\.exe)?$/;\n\nexport interface ScriptRuntimeOptions {\n execPath?: string;\n env?: NodeJS.ProcessEnv;\n /** Require Node.js specifically; used by the Node-process executor whose\n * `--eval`/`--input-type=module` flags are Node-only. */\n requireNode?: boolean;\n /** Require Bun specifically; used by the Bun-process executor. */\n requireBun?: boolean;\n}\n\nconst runtimeOverride = (env: NodeJS.ProcessEnv): string | undefined => {\n const value = env.OMP_FABRIC_NODE_BINARY;\n return typeof value === \"string\" && value.trim() ? value.trim() : undefined;\n};\n\nconst isGenericRuntime = (execPath: string, requireNode: boolean, requireBun = false): boolean => {\n const name = path.basename(execPath).toLowerCase();\n return GENERIC_RUNTIME.test(name)\n && (!requireNode || name.startsWith(\"node\"))\n && (!requireBun || name.startsWith(\"bun\"));\n};\n\nconst isWrongFlavorRuntime = (execPath: string, requireNode: boolean, requireBun: boolean): boolean => {\n const name = path.basename(execPath).toLowerCase();\n return GENERIC_RUNTIME.test(name)\n && ((requireNode && name.startsWith(\"bun\")) || (requireBun && name.startsWith(\"node\")));\n};\n\nconst missingRuntimeError = (execPath: string, requireNode: boolean, requireBun = false): Error => {\n const required = requireNode\n ? \"a Node.js runtime\"\n : requireBun\n ? \"a Bun runtime\"\n : \"a Node.js or Bun runtime\";\n const shape = requireNode ? \"(not node)\" : requireBun ? \"(not bun)\" : \"(not node/bun)\";\n return new Error(\n `Fabric requires ${required} to launch a JavaScript worker, but ` +\n `process.execPath is ${execPath} ${shape} and OMP_FABRIC_NODE_BINARY is unset. ` +\n \"Install Node.js or Bun, or set OMP_FABRIC_NODE_BINARY to the runtime binary.\",\n );\n};\n\n// Transports launch the worker (a .js module) as `<runtime> worker.js args`.\n// Under the Bun-compiled OMP binary, process.execPath is the OMP executable,\n// not node/bun, so it cannot run an arbitrary script. Resolve a real runtime\n// before spawning: reuse process.execPath when it IS node/bun, else fall back\n// to OMP_FABRIC_NODE_BINARY, then the first node/bun on PATH.\nconst resolveScriptRuntimeUncached = async (options: ScriptRuntimeOptions = {}): Promise<string> => {\n const execPath = options.execPath ?? process.execPath;\n const env = options.env ?? process.env;\n const requireNode = options.requireNode === true;\n const requireBun = options.requireBun === true;\n if (isGenericRuntime(execPath, requireNode, requireBun)) return execPath;\n const override = runtimeOverride(env);\n if (override) return override;\n for (const candidate of requireNode ? [\"node\"] : requireBun ? [\"bun\"] : [\"node\", \"bun\"]) {\n const resolved = resolveCommandPath(candidate, env);\n if (resolved) return resolved;\n }\n throw missingRuntimeError(execPath, requireNode, requireBun);\n};\n\nlet cachedDefaultRuntime: string | undefined;\nexport const resolveScriptRuntime = async (options?: ScriptRuntimeOptions): Promise<string> => {\n if (\n options &&\n (options.execPath !== undefined ||\n options.env !== undefined ||\n options.requireNode !== undefined ||\n options.requireBun !== undefined)\n ) {\n return resolveScriptRuntimeUncached(options);\n }\n if (cachedDefaultRuntime) return cachedDefaultRuntime;\n cachedDefaultRuntime = await resolveScriptRuntimeUncached();\n return cachedDefaultRuntime;\n};\n\n// Synchronous variant for callers that run inside the host process (the\n// Node-process executor) or already under a real runtime (the worker). It\n// resolves the same way as the async form; the PATH scan is a handful of stat\n// calls and only runs when process.execPath is not itself node/bun.\nexport const resolveScriptRuntimeSync = (options: ScriptRuntimeOptions = {}): string => {\n const execPath = options.execPath ?? process.execPath;\n const env = options.env ?? process.env;\n const requireNode = options.requireNode === true;\n const requireBun = options.requireBun === true;\n if (isGenericRuntime(execPath, requireNode, requireBun)) return execPath;\n if (options.execPath !== undefined && isWrongFlavorRuntime(execPath, requireNode, requireBun)) {\n throw missingRuntimeError(execPath, requireNode, requireBun);\n }\n const override = runtimeOverride(env);\n if (override) return override;\n for (const candidate of requireNode ? [\"node\"] : requireBun ? [\"bun\"] : [\"node\", \"bun\"]) {\n const resolved = resolveCommandPath(candidate, env);\n if (resolved) return resolved;\n }\n throw missingRuntimeError(execPath, requireNode, requireBun);\n};\n\nexport const scriptSpawnArgs = async (\n workerPath: string,\n workerArguments: readonly string[],\n options?: ScriptRuntimeOptions,\n): Promise<string[]> => {\n const runtime = await resolveScriptRuntime(options);\n return [runtime, workerPath, ...workerArguments];\n};\n\nexport const workerCommand = async (\n workerPath: string,\n workerArguments: string[],\n): Promise<string> =>\n (await scriptSpawnArgs(workerPath, workerArguments)).map(shellQuote).join(\" \");\n\nexport const spawnDetached = async (\n workerPath: string,\n workerArguments: string[],\n cwd: string,\n): Promise<{ pid: number; stop(): Promise<void>; isAlive(): Promise<boolean> }> => {\n const runtime = await resolveScriptRuntime();\n const child = spawn(runtime, [workerPath, ...workerArguments], {\n cwd,\n detached: process.platform !== \"win32\",\n stdio: \"ignore\",\n });\n if (!child.pid) throw new Error(\"Failed to launch Fabric worker process\");\n const pid = child.pid;\n child.unref();\n return {\n pid,\n async stop() {\n try {\n process.kill(process.platform === \"win32\" ? pid : -pid, \"SIGTERM\");\n } catch { /* process group already exited */ }\n },\n async isAlive() {\n return processIsAlive(pid);\n },\n };\n};\n"],
|
|
5
|
-
"mappings": "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",
|
|
6
|
-
"names": []
|
|
7
|
-
}
|
|
File without changes
|