@bastani/atomic 0.9.63-alpha.1 → 0.9.64-alpha.1
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 +24 -0
- package/dist/builtin/intercom/package.json +1 -1
- package/dist/builtin/mcp/package.json +1 -1
- package/dist/builtin/subagents/package.json +1 -1
- package/dist/builtin/web-access/package.json +1 -1
- package/dist/builtin/workflows/package.json +1 -1
- package/dist/builtin/workflows/src/extension/index.bundle.mjs +910 -722
- package/dist/builtin/workflows/src/extension/local-worker-entry.mjs +35 -26
- package/dist/builtin/workflows/src/index.js +35 -26
- package/dist/builtin/workflows/src/local-worker-entry.mjs +35 -26
- package/dist/core/anthropic-thinking-guard.d.ts +5 -4
- package/dist/core/anthropic-thinking-guard.d.ts.map +1 -1
- package/dist/core/anthropic-thinking-guard.js +21 -73
- package/dist/core/anthropic-thinking-guard.js.map +1 -1
- package/dist/core/extensions/loader-virtual-modules.d.ts.map +1 -1
- package/dist/core/extensions/loader-virtual-modules.js +5 -0
- package/dist/core/extensions/loader-virtual-modules.js.map +1 -1
- package/npm-shrinkwrap.json +32 -32
- package/package.json +3 -3
|
@@ -392,6 +392,9 @@ function getAliases() {
|
|
|
392
392
|
const piAiModelSchemaEntry = resolveWorkspaceOrImport("ai/dist/providers/model-schema.js", "@bastani/pi-ai");
|
|
393
393
|
const piAiOauthPageEntry = resolveWorkspaceOrImport("ai/dist/utils/oauth-page.js", "@bastani/pi-ai");
|
|
394
394
|
const piAiGatewayBindingEntry = resolveWorkspaceOrImport("ai/dist/api/cloudflare-gateway-binding.js", "@bastani/pi-ai");
|
|
395
|
+
// The Anthropic thinking guard replays assistant turns with pi-ai's own conversion (#4185).
|
|
396
|
+
const piAiAnthropicAssistantContentEntry = resolveWorkspaceOrImport("ai/dist/api/anthropic-assistant-content.js", "@bastani/pi-ai");
|
|
397
|
+
const piAiTransformMessagesEntry = resolveWorkspaceOrImport("ai/dist/api/transform-messages.js", "@bastani/pi-ai");
|
|
395
398
|
_aliases = {
|
|
396
399
|
"@bastani/atomic/storage": path.resolve(__dirname, "../storage/index.js"),
|
|
397
400
|
"@bastani/atomic": piCodingAgentEntry,
|
|
@@ -417,6 +420,8 @@ function getAliases() {
|
|
|
417
420
|
"@bastani/pi-ai/utils/retry": piAiRetryEntry,
|
|
418
421
|
"@bastani/pi-ai/compat": piAiEntry,
|
|
419
422
|
"@bastani/pi-ai/api/cloudflare-gateway-binding": piAiGatewayBindingEntry,
|
|
423
|
+
"@bastani/pi-ai/api/anthropic-assistant-content": piAiAnthropicAssistantContentEntry,
|
|
424
|
+
"@bastani/pi-ai/api/transform-messages": piAiTransformMessagesEntry,
|
|
420
425
|
"@bastani/pi-ai": piAiEntry,
|
|
421
426
|
"@earendil-works/pi-ai/api/openai-codex-responses": piAiCodexResponsesEntry,
|
|
422
427
|
"@earendil-works/pi-ai/oauth": piAiOauthEntry,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"loader-virtual-modules.js","sourceRoot":"","sources":["../../../src/core/extensions/loader-virtual-modules.ts"],"names":[],"mappings":"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","sourcesContent":["import * as crypto from \"node:crypto\";\nimport * as fs from \"node:fs\";\nimport { createRequire } from \"node:module\";\nimport * as path from \"node:path\";\nimport { pathToFileURL } from \"node:url\";\nimport type { createJiti } from \"jiti\";\nimport { getExtensionTranspileCacheDir, isBunBinary, isBundledBuild } from \"../../config.js\";\nimport { resolutionBaseUrl } from \"../../utils/module-require.ts\";\nimport { pathsEqual, resolvePath } from \"../../utils/paths.ts\";\nimport { moduleDirFromMetaUrl } from \"../../utils/split-launcher.ts\";\nimport { installHostModuleBridge } from \"./host-module-bridge.ts\";\nimport { getVirtualModules, loadVirtualModules } from \"./loader-host-modules.js\";\nimport { isNativeBuiltinExtensionPath } from \"./native-builtin-entries.ts\";\nimport { createTypeScriptSourceSpecifierTransform } from \"./ts-source-specifiers.js\";\nimport type { ExtensionFactory } from \"./types.ts\";\n\nexport { getVirtualModules } from \"./loader-host-modules.js\";\n\nconst require = createRequire(import.meta.url);\nlet _aliases: Record<string, string> | null = null;\nlet _transpileCacheDir: string | null = null;\nlet createJitiPromise: Promise<typeof createJiti> | undefined;\nlet typeScriptSourceSpecifierTransform: ReturnType<typeof createTypeScriptSourceSpecifierTransform> | undefined;\n\nfunction getCreateJiti(): Promise<typeof createJiti> {\n\tcreateJitiPromise ??= (\n\t\tisBunBinary || isBundledBuild ? import(\"./jiti-static-loader.ts\") : import(\"./jiti-loader.ts\")\n\t).then((module) => module.createJiti);\n\treturn createJitiPromise;\n}\n\nfunction getTypeScriptSourceSpecifierTransform(\n\tcreateJitiImpl: typeof createJiti,\n): ReturnType<typeof createTypeScriptSourceSpecifierTransform> {\n\ttypeScriptSourceSpecifierTransform ??= createTypeScriptSourceSpecifierTransform(\n\t\tcreateJitiImpl,\n\t\tresolutionBaseUrl(import.meta.url),\n\t\tgetTranspileCacheDir,\n\t);\n\treturn typeScriptSourceSpecifierTransform;\n}\n\n/**\n * Persistent on-disk cache for transpiled extension modules. Entries are keyed\n * by source content and resolved TypeScript siblings, so they self-invalidate\n * when either changes; stale sibling version dirs are pruned in the background.\n */\nfunction getTranspileCacheDir(): string {\n\tif (_transpileCacheDir) return _transpileCacheDir;\n\t_transpileCacheDir = getExtensionTranspileCacheDir();\n\tfs.mkdirSync(_transpileCacheDir, { recursive: true });\n\tpruneStaleTranspileCaches(_transpileCacheDir);\n\treturn _transpileCacheDir;\n}\n\nfunction pruneStaleTranspileCaches(currentDir: string): void {\n\tconst parent = path.dirname(currentDir);\n\tconst keep = path.basename(currentDir);\n\tvoid fs.promises\n\t\t.readdir(parent)\n\t\t.then((entries) =>\n\t\t\tPromise.all(\n\t\t\t\tentries\n\t\t\t\t\t.filter((entry) => entry !== keep)\n\t\t\t\t\t.map((entry) => fs.promises.rm(path.join(parent, entry), { recursive: true, force: true })),\n\t\t\t),\n\t\t)\n\t\t.catch(() => {});\n}\n\n/**\n * Per-extension-path record of the complete file graph a transformed (jiti)\n * evaluation read, mapping each absolute file path to the SHA256 hex digest of\n * its content at evaluation time. Persisted under the versioned transpile\n * cache directory so pruneStaleTranspileCaches handles version cleanup.\n */\nexport interface ExtensionGraphManifest {\n\tversion: 1;\n\textensionPath: string;\n\tfiles: Record<string, string>;\n}\n\nconst GRAPH_MANIFEST_VERSION = 1;\nconst GRAPH_MANIFEST_DIR_NAME = \"graph-manifests\";\n\nconst graphManifestFileExtensions = new Set([\".ts\", \".tsx\", \".mts\", \".cts\", \".js\", \".mjs\", \".cjs\", \".jsx\", \".json\"]);\n\nfunction graphManifestDir(): string {\n\treturn path.join(getTranspileCacheDir(), GRAPH_MANIFEST_DIR_NAME);\n}\n\nfunction graphManifestPath(extensionPath: string): string {\n\tconst key = crypto.createHash(\"sha256\").update(extensionPath).digest(\"hex\").slice(0, 32);\n\treturn path.join(graphManifestDir(), `${key}.json`);\n}\n\nfunction sha256Hex(content: string | NodeJS.ArrayBufferView): string {\n\treturn crypto.createHash(\"sha256\").update(content).digest(\"hex\");\n}\n\n// jiti's CJS bundle reads every module source in the require graph through\n// fs.readFileSync (even on fsCache hits, since the cache key is a hash of the\n// source), so observing readFileSync while a transformed import is in flight\n// sees the complete transitive graph. The observer records into every active\n// recorder; unrelated reads that interleave only over-record, which at worst\n// forces a redundant re-evaluation later — never a stale one.\nconst fsExports = require(\"node:fs\") as typeof fs;\nconst activeGraphRecorders = new Set<Map<string, string>>();\nlet observedReadFileSync: typeof fs.readFileSync | null = null;\n\nfunction recordObservedRead(target: Parameters<typeof fs.readFileSync>[0], content: string | Buffer): void {\n\tif (typeof target !== \"string\" || !path.isAbsolute(target)) return;\n\tif (!graphManifestFileExtensions.has(path.extname(target).toLowerCase())) return;\n\tconst normalizedTarget = path.normalize(target);\n\tconst cachePrefix = path.normalize(getTranspileCacheDir()) + path.sep;\n\tif (normalizedTarget.toLowerCase().startsWith(cachePrefix.toLowerCase())) return;\n\tconst hash = sha256Hex(content);\n\tfor (const recorder of activeGraphRecorders) {\n\t\trecorder.set(normalizedTarget, hash);\n\t}\n}\n\nfunction installReadFileSyncObserver(): void {\n\tif (observedReadFileSync) return;\n\tconst original = fsExports.readFileSync;\n\tobservedReadFileSync = original;\n\tconst wrapped = ((...args: Parameters<typeof fs.readFileSync>) => {\n\t\tconst content = original(...args);\n\t\trecordObservedRead(args[0], content);\n\t\treturn content;\n\t}) as typeof fs.readFileSync;\n\tfsExports.readFileSync = wrapped;\n}\n\nfunction uninstallReadFileSyncObserver(): void {\n\tif (!observedReadFileSync || activeGraphRecorders.size > 0) return;\n\tfsExports.readFileSync = observedReadFileSync;\n\tobservedReadFileSync = null;\n}\n\nfunction writeGraphManifest(manifest: ExtensionGraphManifest): void {\n\tconst manifestFile = graphManifestPath(manifest.extensionPath);\n\tlet tempFile: string | undefined;\n\ttry {\n\t\tfs.mkdirSync(path.dirname(manifestFile), { recursive: true });\n\t\ttempFile = `${manifestFile}.${process.pid}.${Math.random().toString(36).slice(2)}.tmp`;\n\t\tfs.writeFileSync(tempFile, JSON.stringify(manifest));\n\t\tfs.renameSync(tempFile, manifestFile);\n\t} catch {\n\t\t// Manifest persistence is best-effort: a missing manifest only means the\n\t\t// next reload cannot prove the graph unchanged and re-evaluates. A failed\n\t\t// replacement must not leave an older manifest behind describing a graph\n\t\t// that no longer matches this evaluation, so invalidate the destination\n\t\t// first, independently of removing the temporary file.\n\t\ttry {\n\t\t\tfs.rmSync(manifestFile, { force: true });\n\t\t} catch {\n\t\t\t// A leftover stale manifest cannot be reused without also matching\n\t\t\t// the in-memory manifest of the same evaluation, and readers\n\t\t\t// tolerate missing or corrupt files.\n\t\t}\n\t\ttry {\n\t\t\tif (tempFile) fs.rmSync(tempFile, { force: true });\n\t\t} catch {\n\t\t\t// Temporary files carry a unique suffix and are never read back.\n\t\t}\n\t}\n}\n\nfunction isStringRecord(value: unknown): value is Record<string, string> {\n\tif (typeof value !== \"object\" || value === null || Array.isArray(value)) return false;\n\treturn Object.values(value).every((entry) => typeof entry === \"string\");\n}\n\nexport function readExtensionGraphManifest(extensionPath: string): ExtensionGraphManifest | undefined {\n\ttry {\n\t\tconst parsed = JSON.parse(\n\t\t\tfs.readFileSync(graphManifestPath(extensionPath), \"utf-8\"),\n\t\t) as Partial<ExtensionGraphManifest>;\n\t\tif (parsed.version !== GRAPH_MANIFEST_VERSION) return undefined;\n\t\tif (parsed.extensionPath !== extensionPath) return undefined;\n\t\tif (!isStringRecord(parsed.files)) return undefined;\n\t\treturn { version: GRAPH_MANIFEST_VERSION, extensionPath, files: parsed.files };\n\t} catch {\n\t\treturn undefined;\n\t}\n}\n\nasync function recordExtensionGraph<T>(\n\textensionPath: string,\n\tload: () => Promise<T>,\n): Promise<{ result: T; manifest: ExtensionGraphManifest }> {\n\tconst files = new Map<string, string>();\n\tactiveGraphRecorders.add(files);\n\tinstallReadFileSyncObserver();\n\tlet result: T;\n\ttry {\n\t\tresult = await load();\n\t} finally {\n\t\tactiveGraphRecorders.delete(files);\n\t\tuninstallReadFileSyncObserver();\n\t}\n\tconst manifest: ExtensionGraphManifest = {\n\t\tversion: GRAPH_MANIFEST_VERSION,\n\t\textensionPath,\n\t\tfiles: Object.fromEntries([...files.entries()].sort(([a], [b]) => a.localeCompare(b))),\n\t};\n\twriteGraphManifest(manifest);\n\treturn { result, manifest };\n}\n\n/**\n * Factories from transformed evaluations, retained across extension cache\n * generation bumps and paired with the graph manifest recorded by the\n * evaluation that produced them. A retained factory is reused on a reload only\n * when the persisted manifest still equals the paired one and every file in it\n * rehashes to its recorded digest; any doubt (missing or corrupt manifest,\n * missing file, hash mismatch, changed graph shape) falls back to a fresh\n * transformed re-evaluation, which re-records the manifest.\n */\nconst retainedTransformedLoads = new Map<string, { factory: ExtensionFactory; manifest: ExtensionGraphManifest }>();\n\nfunction manifestFilesEqual(a: Record<string, string>, b: Record<string, string>): boolean {\n\tconst aEntries = Object.entries(a);\n\tif (aEntries.length !== Object.keys(b).length) return false;\n\treturn aEntries.every(([filePath, hash]) => b[filePath] === hash);\n}\n\nfunction graphUnchangedSince(manifest: ExtensionGraphManifest): boolean {\n\tconst stored = readExtensionGraphManifest(manifest.extensionPath);\n\tif (!stored || !manifestFilesEqual(stored.files, manifest.files)) return false;\n\tconst entries = Object.entries(manifest.files);\n\tif (entries.length === 0) return false;\n\tfor (const [filePath, hash] of entries) {\n\t\ttry {\n\t\t\tif (sha256Hex(fs.readFileSync(filePath)) !== hash) return false;\n\t\t} catch {\n\t\t\treturn false;\n\t\t}\n\t}\n\treturn true;\n}\n\n/**\n * A factory can defer loading local code until it is invoked (e.g. a\n * `require()` inside the factory body). Those reads are invisible to the\n * import-time recording, so retained factories are wrapped to record reads\n * that happen while the factory executes and merge them into the retained and\n * persisted manifest — editing a deferred dependency then invalidates reuse\n * like any other graph file.\n */\nfunction withDeferredGraphRecording(extensionPath: string, factory: ExtensionFactory): ExtensionFactory {\n\treturn (pi) => {\n\t\tconst files = new Map<string, string>();\n\t\tactiveGraphRecorders.add(files);\n\t\tinstallReadFileSyncObserver();\n\t\tconst finish = () => {\n\t\t\tactiveGraphRecorders.delete(files);\n\t\t\tuninstallReadFileSyncObserver();\n\t\t\tif (files.size > 0) mergeDeferredGraphReads(extensionPath, files);\n\t\t};\n\t\ttry {\n\t\t\tconst result = factory(pi);\n\t\t\tif (\n\t\t\t\tresult !== null &&\n\t\t\t\t(typeof result === \"object\" || typeof result === \"function\") &&\n\t\t\t\ttypeof (result as PromiseLike<void>).then === \"function\"\n\t\t\t) {\n\t\t\t\treturn Promise.resolve(result).finally(finish);\n\t\t\t}\n\t\t\tfinish();\n\t\t\treturn result;\n\t\t} catch (error) {\n\t\t\tfinish();\n\t\t\tthrow error;\n\t\t}\n\t};\n}\n\nfunction mergeDeferredGraphReads(extensionPath: string, files: Map<string, string>): void {\n\tconst retained = retainedTransformedLoads.get(extensionPath);\n\tif (!retained) return;\n\tlet changed = false;\n\tfor (const [filePath, hash] of files) {\n\t\tif (retained.manifest.files[filePath] !== hash) {\n\t\t\tretained.manifest.files[filePath] = hash;\n\t\t\tchanged = true;\n\t\t}\n\t}\n\tif (changed) writeGraphManifest(retained.manifest);\n}\n\nlet extensionCacheCwd: string | undefined;\nlet extensionCacheGeneration = 0;\nconst extensionCache = new Map<string, ExtensionFactory>();\n\n// Installed builtin bundles are immutable within a running binary. Keep their\n// evaluated factories outside the generation-scoped editable-extension cache.\nconst nativeBuiltinFactories = new Map<string, ExtensionFactory>();\nconst nativeBuiltinLoads = new Map<string, Promise<ExtensionFactory | undefined>>();\n\nasync function loadNativeBuiltinExtensionModule(\n\textensionPath: string,\n\tcacheToken: ExtensionCacheToken | undefined,\n): Promise<ExtensionFactory | undefined> {\n\tlet factory = nativeBuiltinFactories.get(extensionPath);\n\tif (!factory) {\n\t\tlet pending = nativeBuiltinLoads.get(extensionPath);\n\t\tif (!pending) {\n\t\t\tpending = (async () => {\n\t\t\t\tawait installHostModuleBridge();\n\t\t\t\tconst module = (await import(pathToFileURL(extensionPath).href)) as { default?: unknown };\n\t\t\t\tif (typeof module.default !== \"function\") return undefined;\n\t\t\t\tconst loadedFactory = module.default as ExtensionFactory;\n\t\t\t\tnativeBuiltinFactories.set(extensionPath, loadedFactory);\n\t\t\t\treturn loadedFactory;\n\t\t\t})();\n\t\t\tnativeBuiltinLoads.set(extensionPath, pending);\n\t\t}\n\t\ttry {\n\t\t\tfactory = await pending;\n\t\t} finally {\n\t\t\tnativeBuiltinLoads.delete(extensionPath);\n\t\t}\n\t}\n\tif (factory && isCurrentCacheToken(cacheToken)) {\n\t\textensionCache.set(extensionPath, factory);\n\t}\n\treturn factory;\n}\n\nexport interface ExtensionCacheToken {\n\tcwd: string;\n\tgeneration: number;\n}\n\nexport function clearExtensionCache(): void {\n\textensionCache.clear();\n\textensionCacheCwd = undefined;\n\textensionCacheGeneration++;\n}\n\nexport function useExtensionCacheCwd(cwd: string): ExtensionCacheToken {\n\tconst resolvedCwd = resolvePath(cwd);\n\tif (extensionCacheCwd !== undefined && !pathsEqual(extensionCacheCwd, resolvedCwd)) {\n\t\tclearExtensionCache();\n\t}\n\textensionCacheCwd = resolvedCwd;\n\treturn { cwd: resolvedCwd, generation: extensionCacheGeneration };\n}\n\nfunction isCurrentCacheToken(cacheToken: ExtensionCacheToken | undefined): cacheToken is ExtensionCacheToken {\n\treturn (\n\t\tcacheToken !== undefined &&\n\t\textensionCacheCwd === cacheToken.cwd &&\n\t\textensionCacheGeneration === cacheToken.generation\n\t);\n}\n\nfunction extensionImportSpecifier(extensionPath: string, cacheToken: ExtensionCacheToken | undefined): string {\n\tconst url = pathToFileURL(extensionPath);\n\tconst cacheKey = cacheToken ? `${cacheToken.generation}:${cacheToken.cwd}` : `${Date.now()}:${Math.random()}`;\n\turl.searchParams.set(\"atomicExtensionCache\", cacheKey);\n\treturn url.href;\n}\n\n/**\n * Locate an installed package's root directory without consulting its\n * \"exports\" map: require.resolve(\"<pkg>/package.json\") throws\n * ERR_PACKAGE_PATH_NOT_EXPORTED under Node for packages that do not export\n * \"./package.json\" (pi-ai does not), and import.meta.resolve() cannot be\n * used because its mere presence silently disables bytecode generation for\n * the compiled binary (CJS bundle). Scanning require.resolve.paths() walks\n * the same node_modules chain Node would, without exports-map encapsulation.\n */\nfunction findPackageRoot(packageName: string, searchPaths?: string[]): string {\n\tfor (const base of searchPaths ?? require.resolve.paths(packageName) ?? []) {\n\t\tconst candidate = path.join(base, packageName);\n\t\tif (fs.existsSync(path.join(candidate, \"package.json\"))) {\n\t\t\treturn candidate;\n\t\t}\n\t}\n\tthrow new Error(`Cannot locate package directory for \"${packageName}\"`);\n}\nfunction currentModuleDir(): string {\n\treturn moduleDirFromMetaUrl(import.meta.url, \"dist\", \"core\", \"extensions\");\n}\n\n/**\n * Get aliases for jiti (used in Node.js/development mode).\n * In Bun binary mode, virtualModules is used instead.\n */\nfunction getAliases(): Record<string, string> {\n\tif (_aliases) return _aliases;\n\n\tconst __dirname = currentModuleDir();\n\tconst packageIndex = path.resolve(__dirname, \"../..\", \"index.js\");\n\n\tconst typeboxEntry = require.resolve(\"typebox\");\n\tconst typeboxCompileEntry = require.resolve(\"typebox/compile\");\n\tconst typeboxValueEntry = require.resolve(\"typebox/value\");\n\n\tconst packagesRoot = path.resolve(__dirname, \"../../../../\");\n\tconst resolveWorkspaceOrImport = (workspaceRelativePath: string, packageName: string): string => {\n\t\tconst workspacePath = path.join(packagesRoot, workspaceRelativePath);\n\t\tif (fs.existsSync(workspacePath)) {\n\t\t\treturn workspacePath;\n\t\t}\n\t\tconst packageRoot = findPackageRoot(packageName);\n\t\tconst entryRelativePath = workspaceRelativePath.split(\"/\").slice(1).join(\"/\");\n\t\treturn path.join(packageRoot, entryRelativePath);\n\t};\n\n\tconst piCodingAgentEntry = packageIndex;\n\tconst piAgentCoreEntry = resolveWorkspaceOrImport(\"agent/dist/index.js\", \"@earendil-works/pi-agent-core\");\n\tconst piTuiEntry = resolveWorkspaceOrImport(\"tui/dist/index.js\", \"@earendil-works/pi-tui\");\n\tconst piTuiLayoutEntry = resolveWorkspaceOrImport(\"tui/dist/layout.js\", \"@earendil-works/pi-tui\");\n\tconst piTuiLayoutNodeEntry = resolveWorkspaceOrImport(\"tui/dist/layout-node.js\", \"@earendil-works/pi-tui\");\n\t// The workspace path mirrors pi-ai 0.80.x's built dist layout. If an\n\t// upstream layout change moves these files, this join needs updating to\n\t// match the package's real dist paths.\n\tconst piAiEntry = resolveWorkspaceOrImport(\"ai/dist/compat.js\", \"@bastani/pi-ai\");\n\tconst piAiCodexResponsesEntry = resolveWorkspaceOrImport(\"ai/dist/api/openai-codex-responses.js\", \"@bastani/pi-ai\");\n\tconst piAiLlamaCppClassifyEntry = resolveWorkspaceOrImport(\n\t\t\"ai/dist/api/llama-cpp-classify.lazy.js\",\n\t\t\"@bastani/pi-ai\",\n\t);\n\tconst piAiTypesafeSystemOneEntry = resolveWorkspaceOrImport(\n\t\t\"ai/dist/api/typesafe-system-one.lazy.js\",\n\t\t\"@bastani/pi-ai\",\n\t);\n\tconst piAiOauthEntry = resolveWorkspaceOrImport(\"ai/dist/oauth.js\", \"@bastani/pi-ai\");\n\tconst piAiModelsEntry = resolveWorkspaceOrImport(\"ai/dist/models.js\", \"@bastani/pi-ai\");\n\tconst piAiProvidersEntry = resolveWorkspaceOrImport(\"ai/dist/providers/all.js\", \"@bastani/pi-ai\");\n\tconst piAiCopilotEnvEntry = resolveWorkspaceOrImport(\"ai/dist/providers/github-copilot-env.js\", \"@bastani/pi-ai\");\n\tconst piAiOpenRouterEntry = resolveWorkspaceOrImport(\"ai/dist/providers/openrouter.js\", \"@bastani/pi-ai\");\n\tconst piAiProviderEnvEntry = resolveWorkspaceOrImport(\"ai/dist/utils/provider-env.js\", \"@bastani/pi-ai\");\n\tconst piAiRetryEntry = resolveWorkspaceOrImport(\"ai/dist/utils/retry.js\", \"@bastani/pi-ai\");\n\tconst piAiRequestAdmissionEntry = resolveWorkspaceOrImport(\"ai/dist/utils/request-admission.js\", \"@bastani/pi-ai\");\n\tconst piAiRetryHintsEntry = resolveWorkspaceOrImport(\"ai/dist/utils/retry-hints.js\", \"@bastani/pi-ai\");\n\tconst piAiCompatSchemaEntry = resolveWorkspaceOrImport(\"ai/dist/providers/compat-schema.js\", \"@bastani/pi-ai\");\n\tconst piAiModelSchemaEntry = resolveWorkspaceOrImport(\"ai/dist/providers/model-schema.js\", \"@bastani/pi-ai\");\n\tconst piAiOauthPageEntry = resolveWorkspaceOrImport(\"ai/dist/utils/oauth-page.js\", \"@bastani/pi-ai\");\n\tconst piAiGatewayBindingEntry = resolveWorkspaceOrImport(\n\t\t\"ai/dist/api/cloudflare-gateway-binding.js\",\n\t\t\"@bastani/pi-ai\",\n\t);\n\n\t_aliases = {\n\t\t\"@bastani/atomic/storage\": path.resolve(__dirname, \"../storage/index.js\"),\n\t\t\"@bastani/atomic\": piCodingAgentEntry,\n\t\t\"@earendil-works/pi-coding-agent\": piCodingAgentEntry,\n\t\t\"@earendil-works/pi-agent-core\": piAgentCoreEntry,\n\t\t\"@earendil-works/pi-tui/dist/layout.js\": piTuiLayoutEntry,\n\t\t\"@earendil-works/pi-tui/dist/layout-node.js\": piTuiLayoutNodeEntry,\n\t\t\"@earendil-works/pi-tui\": piTuiEntry,\n\t\t\"@bastani/pi-ai/api/openai-codex-responses\": piAiCodexResponsesEntry,\n\t\t\"@bastani/pi-ai/api/llama-cpp-classify.lazy\": piAiLlamaCppClassifyEntry,\n\t\t\"@bastani/pi-ai/api/typesafe-system-one.lazy\": piAiTypesafeSystemOneEntry,\n\t\t\"@bastani/pi-ai/oauth\": piAiOauthEntry,\n\t\t\"@bastani/pi-ai/models\": piAiModelsEntry,\n\t\t\"@bastani/pi-ai/providers/all\": piAiProvidersEntry,\n\t\t\"@bastani/pi-ai/providers/github-copilot-env\": piAiCopilotEnvEntry,\n\t\t\"@bastani/pi-ai/providers/openrouter\": piAiOpenRouterEntry,\n\t\t\"@bastani/pi-ai/providers/compat-schema\": piAiCompatSchemaEntry,\n\t\t\"@bastani/pi-ai/providers/model-schema\": piAiModelSchemaEntry,\n\t\t\"@bastani/pi-ai/utils/provider-env\": piAiProviderEnvEntry,\n\t\t\"@bastani/pi-ai/utils/oauth-page\": piAiOauthPageEntry,\n\t\t\"@bastani/pi-ai/utils/request-admission\": piAiRequestAdmissionEntry,\n\t\t\"@bastani/pi-ai/utils/retry-hints\": piAiRetryHintsEntry,\n\t\t\"@bastani/pi-ai/utils/retry\": piAiRetryEntry,\n\t\t\"@bastani/pi-ai/compat\": piAiEntry,\n\t\t\"@bastani/pi-ai/api/cloudflare-gateway-binding\": piAiGatewayBindingEntry,\n\t\t\"@bastani/pi-ai\": piAiEntry,\n\t\t\"@earendil-works/pi-ai/api/openai-codex-responses\": piAiCodexResponsesEntry,\n\t\t\"@earendil-works/pi-ai/oauth\": piAiOauthEntry,\n\t\t\"@earendil-works/pi-ai/models\": piAiModelsEntry,\n\t\t\"@earendil-works/pi-ai/providers/all\": piAiProvidersEntry,\n\t\t\"@earendil-works/pi-ai/compat\": piAiEntry,\n\t\t\"@earendil-works/pi-ai/api/cloudflare-gateway-binding\": piAiGatewayBindingEntry,\n\t\t\"@earendil-works/pi-ai/utils/oauth-page\": piAiOauthPageEntry,\n\t\t\"@earendil-works/pi-ai\": piAiEntry,\n\t\t\"@mariozechner/pi-agent-core\": piAgentCoreEntry,\n\t\t\"@mariozechner/pi-tui/dist/layout.js\": piTuiLayoutEntry,\n\t\t\"@mariozechner/pi-tui\": piTuiEntry,\n\t\t\"@mariozechner/pi-ai/oauth\": piAiOauthEntry,\n\t\t\"@mariozechner/pi-ai/models\": piAiModelsEntry,\n\t\t\"@mariozechner/pi-ai/providers/all\": piAiProvidersEntry,\n\t\t\"@mariozechner/pi-ai/compat\": piAiEntry,\n\t\t\"@mariozechner/pi-ai/api/cloudflare-gateway-binding\": piAiGatewayBindingEntry,\n\t\t\"@mariozechner/pi-ai\": piAiEntry,\n\t\ttypebox: typeboxEntry,\n\t\t\"typebox/compile\": typeboxCompileEntry,\n\t\t\"typebox/value\": typeboxValueEntry,\n\t\t\"@sinclair/typebox\": typeboxEntry,\n\t\t\"@sinclair/typebox/compile\": typeboxCompileEntry,\n\t\t\"@sinclair/typebox/value\": typeboxValueEntry,\n\t};\n\n\treturn _aliases;\n}\n\n/**\n * A jiti loader that resolves host package specifiers the way extensions see them: `virtualModules` share live host\n * instances, and outside single-file builds every other host specifier aliases to the installed host files.\n */\nexport async function createHostModuleJiti(\n\tid: string,\n\tvirtualModules: Record<string, object>,\n\toptions: Parameters<typeof createJiti>[1] = {},\n): Promise<ReturnType<typeof createJiti>> {\n\tconst isSingleFileBuild = isBunBinary || isBundledBuild;\n\tconst createJitiImpl = await getCreateJiti();\n\treturn createJitiImpl(id, {\n\t\t...options,\n\t\t// Single-file builds have no host files to alias, so every import must reach the virtual modules.\n\t\t...(isSingleFileBuild ? { tryNative: false } : { alias: getAliases() }),\n\t\tvirtualModules,\n\t});\n}\n\nexport const extensionLoaderTestHooks = {\n\tloadVirtualModules,\n\tgetAliases,\n\tfindPackageRoot,\n\tgetTranspileCacheDir,\n\tgraphManifestPath,\n\treadExtensionGraphManifest,\n\tloadExtensionModuleTransformed: (extensionPath: string, cacheToken?: ExtensionCacheToken) =>\n\t\timportExtensionModule(extensionPath, cacheToken, true),\n\tloadTransformedExtensionModule: (extensionPath: string, cacheToken?: ExtensionCacheToken) =>\n\t\tloadTransformedExtensionModule(extensionPath, cacheToken),\n\tloadNativeBuiltinExtensionModule,\n\thasNativeBuiltinFactory: (extensionPath: string): boolean => nativeBuiltinFactories.has(extensionPath),\n};\n\n/**\n * Extension paths already evaluated via native import() in this process. Bun on\n * Windows ignores the cache-busting query on file URLs, so re-loads of these\n * paths (e.g. /reload) must go through jiti's transformed-import path to get a\n * fresh module evaluation.\n */\nconst nativelyImportedPaths = new Set<string>();\n\nasync function importExtensionModule(\n\textensionPath: string,\n\tcacheToken: ExtensionCacheToken | undefined,\n\tforceTransformedImports: boolean,\n): Promise<ExtensionFactory | undefined> {\n\tconst isWindows = process.platform === \"win32\";\n\tconst isSingleFileBuild = isBunBinary || isBundledBuild;\n\tconst createJitiImpl = await getCreateJiti();\n\tconst jiti = createJitiImpl(resolutionBaseUrl(import.meta.url), {\n\t\tmoduleCache: false,\n\t\tfsCache: false,\n\t\ttransform: getTypeScriptSourceSpecifierTransform(createJitiImpl),\n\t\t...(forceTransformedImports ? { tryNative: false } : {}),\n\t\t// A first native import can fall back to transformation too. Always share\n\t\t// the live host instead of re-evaluating its graph through source aliases.\n\t\tvirtualModules: await getVirtualModules(),\n\t\t...(!isSingleFileBuild ? { alias: getAliases() } : {}),\n\t});\n\tconst specifier = extensionImportSpecifier(extensionPath, cacheToken);\n\t// Transformed evaluations are the loads whose repeat cost is the Windows\n\t// /reload regression, so they are also the loads whose file graph is\n\t// recorded into a content-hash manifest.\n\tlet module: unknown;\n\tlet recordedManifest: ExtensionGraphManifest | undefined;\n\tif (forceTransformedImports) {\n\t\tconst recorded = await recordExtensionGraph(extensionPath, () => jiti.import(specifier, { default: true }));\n\t\tmodule = recorded.result;\n\t\trecordedManifest = recorded.manifest;\n\t} else {\n\t\tmodule = await jiti.import(specifier, { default: true });\n\t}\n\tif (isWindows && !forceTransformedImports) {\n\t\tnativelyImportedPaths.add(extensionPath);\n\t}\n\tlet factory = module as ExtensionFactory;\n\tif (typeof factory !== \"function\") return undefined;\n\tif (recordedManifest) {\n\t\tfactory = withDeferredGraphRecording(extensionPath, factory);\n\t\tretainedTransformedLoads.set(extensionPath, { factory, manifest: recordedManifest });\n\t}\n\tif (isCurrentCacheToken(cacheToken)) {\n\t\textensionCache.set(extensionPath, factory);\n\t}\n\treturn factory;\n}\n\n/**\n * Load an extension through jiti's transformed-import path, reusing the\n * previously evaluated factory when the recorded graph manifest proves the\n * entire transitive file graph is byte-identical. This lets the\n * unchanged-graph case survive the /reload generation bump instead of\n * re-evaluating hundreds of files; anything else re-evaluates as before.\n *\n * Note: when the graph is byte-identical, the previously evaluated module\n * instance (including any mutable module-scoped state it closed over) is\n * reused. An extension that requires clean module state on every reload must\n * change a file in its graph to force re-evaluation.\n */\nasync function loadTransformedExtensionModule(\n\textensionPath: string,\n\tcacheToken: ExtensionCacheToken | undefined,\n): Promise<ExtensionFactory | undefined> {\n\tconst retained = retainedTransformedLoads.get(extensionPath);\n\tif (retained && graphUnchangedSince(retained.manifest)) {\n\t\tif (isCurrentCacheToken(cacheToken)) {\n\t\t\textensionCache.set(extensionPath, retained.factory);\n\t\t}\n\t\treturn retained.factory;\n\t}\n\treturn importExtensionModule(extensionPath, cacheToken, true);\n}\n\nexport async function loadExtensionModule(\n\textensionPath: string,\n\tcacheToken?: ExtensionCacheToken,\n): Promise<ExtensionFactory | undefined> {\n\tconst isSingleFileBuild = isBunBinary || isBundledBuild;\n\tif (isSingleFileBuild && isNativeBuiltinExtensionPath(extensionPath)) {\n\t\treturn loadNativeBuiltinExtensionModule(extensionPath, cacheToken);\n\t}\n\n\tif (isCurrentCacheToken(cacheToken)) {\n\t\tconst cachedFactory = extensionCache.get(extensionPath);\n\t\tif (cachedFactory) return cachedFactory;\n\t}\n\n\tconst isWindows = process.platform === \"win32\";\n\t// Single-file builds (compiled binary or dev bundle) cannot alias host\n\t// package specifiers to files on disk: extensions must share the live\n\t// module instances baked into the build, so virtualModules is used instead\n\t// (which requires jiti's transformed-import path).\n\t// Every editable path retains the existing jiti/virtualModules behavior.\n\t// Windows first-load fast path: native import() (jiti's default tryNative)\n\t// skips per-launch transpilation of the extension module graph. Re-loads of\n\t// the same path fall back to transformed imports for fresh evaluation.\n\t//\n\t// That fallback is not free. Measured on Windows CI, a transformed re-import\n\t// costs ~15 ms per module file in the extension's transitive graph, so a\n\t// reload of all five builtin packages (621 files) takes ~10.7 s cold and\n\t// ~2.5 s against a warm jiti fsCache, against ~40 ms on Linux and macOS. The\n\t// cost is correctness-driven and is paid interactively on every Windows\n\t// `/reload`; removing it needs a content-hash-keyed evaluation cache or a\n\t// narrower trigger, not a larger timeout.\n\tconst forceTransformedImports = isSingleFileBuild || (isWindows && nativelyImportedPaths.has(extensionPath));\n\tif (forceTransformedImports) {\n\t\treturn loadTransformedExtensionModule(extensionPath, cacheToken);\n\t}\n\treturn importExtensionModule(extensionPath, cacheToken, false);\n}\n"]}
|
|
1
|
+
{"version":3,"file":"loader-virtual-modules.js","sourceRoot":"","sources":["../../../src/core/extensions/loader-virtual-modules.ts"],"names":[],"mappings":"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","sourcesContent":["import * as crypto from \"node:crypto\";\nimport * as fs from \"node:fs\";\nimport { createRequire } from \"node:module\";\nimport * as path from \"node:path\";\nimport { pathToFileURL } from \"node:url\";\nimport type { createJiti } from \"jiti\";\nimport { getExtensionTranspileCacheDir, isBunBinary, isBundledBuild } from \"../../config.js\";\nimport { resolutionBaseUrl } from \"../../utils/module-require.ts\";\nimport { pathsEqual, resolvePath } from \"../../utils/paths.ts\";\nimport { moduleDirFromMetaUrl } from \"../../utils/split-launcher.ts\";\nimport { installHostModuleBridge } from \"./host-module-bridge.ts\";\nimport { getVirtualModules, loadVirtualModules } from \"./loader-host-modules.js\";\nimport { isNativeBuiltinExtensionPath } from \"./native-builtin-entries.ts\";\nimport { createTypeScriptSourceSpecifierTransform } from \"./ts-source-specifiers.js\";\nimport type { ExtensionFactory } from \"./types.ts\";\n\nexport { getVirtualModules } from \"./loader-host-modules.js\";\n\nconst require = createRequire(import.meta.url);\nlet _aliases: Record<string, string> | null = null;\nlet _transpileCacheDir: string | null = null;\nlet createJitiPromise: Promise<typeof createJiti> | undefined;\nlet typeScriptSourceSpecifierTransform: ReturnType<typeof createTypeScriptSourceSpecifierTransform> | undefined;\n\nfunction getCreateJiti(): Promise<typeof createJiti> {\n\tcreateJitiPromise ??= (\n\t\tisBunBinary || isBundledBuild ? import(\"./jiti-static-loader.ts\") : import(\"./jiti-loader.ts\")\n\t).then((module) => module.createJiti);\n\treturn createJitiPromise;\n}\n\nfunction getTypeScriptSourceSpecifierTransform(\n\tcreateJitiImpl: typeof createJiti,\n): ReturnType<typeof createTypeScriptSourceSpecifierTransform> {\n\ttypeScriptSourceSpecifierTransform ??= createTypeScriptSourceSpecifierTransform(\n\t\tcreateJitiImpl,\n\t\tresolutionBaseUrl(import.meta.url),\n\t\tgetTranspileCacheDir,\n\t);\n\treturn typeScriptSourceSpecifierTransform;\n}\n\n/**\n * Persistent on-disk cache for transpiled extension modules. Entries are keyed\n * by source content and resolved TypeScript siblings, so they self-invalidate\n * when either changes; stale sibling version dirs are pruned in the background.\n */\nfunction getTranspileCacheDir(): string {\n\tif (_transpileCacheDir) return _transpileCacheDir;\n\t_transpileCacheDir = getExtensionTranspileCacheDir();\n\tfs.mkdirSync(_transpileCacheDir, { recursive: true });\n\tpruneStaleTranspileCaches(_transpileCacheDir);\n\treturn _transpileCacheDir;\n}\n\nfunction pruneStaleTranspileCaches(currentDir: string): void {\n\tconst parent = path.dirname(currentDir);\n\tconst keep = path.basename(currentDir);\n\tvoid fs.promises\n\t\t.readdir(parent)\n\t\t.then((entries) =>\n\t\t\tPromise.all(\n\t\t\t\tentries\n\t\t\t\t\t.filter((entry) => entry !== keep)\n\t\t\t\t\t.map((entry) => fs.promises.rm(path.join(parent, entry), { recursive: true, force: true })),\n\t\t\t),\n\t\t)\n\t\t.catch(() => {});\n}\n\n/**\n * Per-extension-path record of the complete file graph a transformed (jiti)\n * evaluation read, mapping each absolute file path to the SHA256 hex digest of\n * its content at evaluation time. Persisted under the versioned transpile\n * cache directory so pruneStaleTranspileCaches handles version cleanup.\n */\nexport interface ExtensionGraphManifest {\n\tversion: 1;\n\textensionPath: string;\n\tfiles: Record<string, string>;\n}\n\nconst GRAPH_MANIFEST_VERSION = 1;\nconst GRAPH_MANIFEST_DIR_NAME = \"graph-manifests\";\n\nconst graphManifestFileExtensions = new Set([\".ts\", \".tsx\", \".mts\", \".cts\", \".js\", \".mjs\", \".cjs\", \".jsx\", \".json\"]);\n\nfunction graphManifestDir(): string {\n\treturn path.join(getTranspileCacheDir(), GRAPH_MANIFEST_DIR_NAME);\n}\n\nfunction graphManifestPath(extensionPath: string): string {\n\tconst key = crypto.createHash(\"sha256\").update(extensionPath).digest(\"hex\").slice(0, 32);\n\treturn path.join(graphManifestDir(), `${key}.json`);\n}\n\nfunction sha256Hex(content: string | NodeJS.ArrayBufferView): string {\n\treturn crypto.createHash(\"sha256\").update(content).digest(\"hex\");\n}\n\n// jiti's CJS bundle reads every module source in the require graph through\n// fs.readFileSync (even on fsCache hits, since the cache key is a hash of the\n// source), so observing readFileSync while a transformed import is in flight\n// sees the complete transitive graph. The observer records into every active\n// recorder; unrelated reads that interleave only over-record, which at worst\n// forces a redundant re-evaluation later — never a stale one.\nconst fsExports = require(\"node:fs\") as typeof fs;\nconst activeGraphRecorders = new Set<Map<string, string>>();\nlet observedReadFileSync: typeof fs.readFileSync | null = null;\n\nfunction recordObservedRead(target: Parameters<typeof fs.readFileSync>[0], content: string | Buffer): void {\n\tif (typeof target !== \"string\" || !path.isAbsolute(target)) return;\n\tif (!graphManifestFileExtensions.has(path.extname(target).toLowerCase())) return;\n\tconst normalizedTarget = path.normalize(target);\n\tconst cachePrefix = path.normalize(getTranspileCacheDir()) + path.sep;\n\tif (normalizedTarget.toLowerCase().startsWith(cachePrefix.toLowerCase())) return;\n\tconst hash = sha256Hex(content);\n\tfor (const recorder of activeGraphRecorders) {\n\t\trecorder.set(normalizedTarget, hash);\n\t}\n}\n\nfunction installReadFileSyncObserver(): void {\n\tif (observedReadFileSync) return;\n\tconst original = fsExports.readFileSync;\n\tobservedReadFileSync = original;\n\tconst wrapped = ((...args: Parameters<typeof fs.readFileSync>) => {\n\t\tconst content = original(...args);\n\t\trecordObservedRead(args[0], content);\n\t\treturn content;\n\t}) as typeof fs.readFileSync;\n\tfsExports.readFileSync = wrapped;\n}\n\nfunction uninstallReadFileSyncObserver(): void {\n\tif (!observedReadFileSync || activeGraphRecorders.size > 0) return;\n\tfsExports.readFileSync = observedReadFileSync;\n\tobservedReadFileSync = null;\n}\n\nfunction writeGraphManifest(manifest: ExtensionGraphManifest): void {\n\tconst manifestFile = graphManifestPath(manifest.extensionPath);\n\tlet tempFile: string | undefined;\n\ttry {\n\t\tfs.mkdirSync(path.dirname(manifestFile), { recursive: true });\n\t\ttempFile = `${manifestFile}.${process.pid}.${Math.random().toString(36).slice(2)}.tmp`;\n\t\tfs.writeFileSync(tempFile, JSON.stringify(manifest));\n\t\tfs.renameSync(tempFile, manifestFile);\n\t} catch {\n\t\t// Manifest persistence is best-effort: a missing manifest only means the\n\t\t// next reload cannot prove the graph unchanged and re-evaluates. A failed\n\t\t// replacement must not leave an older manifest behind describing a graph\n\t\t// that no longer matches this evaluation, so invalidate the destination\n\t\t// first, independently of removing the temporary file.\n\t\ttry {\n\t\t\tfs.rmSync(manifestFile, { force: true });\n\t\t} catch {\n\t\t\t// A leftover stale manifest cannot be reused without also matching\n\t\t\t// the in-memory manifest of the same evaluation, and readers\n\t\t\t// tolerate missing or corrupt files.\n\t\t}\n\t\ttry {\n\t\t\tif (tempFile) fs.rmSync(tempFile, { force: true });\n\t\t} catch {\n\t\t\t// Temporary files carry a unique suffix and are never read back.\n\t\t}\n\t}\n}\n\nfunction isStringRecord(value: unknown): value is Record<string, string> {\n\tif (typeof value !== \"object\" || value === null || Array.isArray(value)) return false;\n\treturn Object.values(value).every((entry) => typeof entry === \"string\");\n}\n\nexport function readExtensionGraphManifest(extensionPath: string): ExtensionGraphManifest | undefined {\n\ttry {\n\t\tconst parsed = JSON.parse(\n\t\t\tfs.readFileSync(graphManifestPath(extensionPath), \"utf-8\"),\n\t\t) as Partial<ExtensionGraphManifest>;\n\t\tif (parsed.version !== GRAPH_MANIFEST_VERSION) return undefined;\n\t\tif (parsed.extensionPath !== extensionPath) return undefined;\n\t\tif (!isStringRecord(parsed.files)) return undefined;\n\t\treturn { version: GRAPH_MANIFEST_VERSION, extensionPath, files: parsed.files };\n\t} catch {\n\t\treturn undefined;\n\t}\n}\n\nasync function recordExtensionGraph<T>(\n\textensionPath: string,\n\tload: () => Promise<T>,\n): Promise<{ result: T; manifest: ExtensionGraphManifest }> {\n\tconst files = new Map<string, string>();\n\tactiveGraphRecorders.add(files);\n\tinstallReadFileSyncObserver();\n\tlet result: T;\n\ttry {\n\t\tresult = await load();\n\t} finally {\n\t\tactiveGraphRecorders.delete(files);\n\t\tuninstallReadFileSyncObserver();\n\t}\n\tconst manifest: ExtensionGraphManifest = {\n\t\tversion: GRAPH_MANIFEST_VERSION,\n\t\textensionPath,\n\t\tfiles: Object.fromEntries([...files.entries()].sort(([a], [b]) => a.localeCompare(b))),\n\t};\n\twriteGraphManifest(manifest);\n\treturn { result, manifest };\n}\n\n/**\n * Factories from transformed evaluations, retained across extension cache\n * generation bumps and paired with the graph manifest recorded by the\n * evaluation that produced them. A retained factory is reused on a reload only\n * when the persisted manifest still equals the paired one and every file in it\n * rehashes to its recorded digest; any doubt (missing or corrupt manifest,\n * missing file, hash mismatch, changed graph shape) falls back to a fresh\n * transformed re-evaluation, which re-records the manifest.\n */\nconst retainedTransformedLoads = new Map<string, { factory: ExtensionFactory; manifest: ExtensionGraphManifest }>();\n\nfunction manifestFilesEqual(a: Record<string, string>, b: Record<string, string>): boolean {\n\tconst aEntries = Object.entries(a);\n\tif (aEntries.length !== Object.keys(b).length) return false;\n\treturn aEntries.every(([filePath, hash]) => b[filePath] === hash);\n}\n\nfunction graphUnchangedSince(manifest: ExtensionGraphManifest): boolean {\n\tconst stored = readExtensionGraphManifest(manifest.extensionPath);\n\tif (!stored || !manifestFilesEqual(stored.files, manifest.files)) return false;\n\tconst entries = Object.entries(manifest.files);\n\tif (entries.length === 0) return false;\n\tfor (const [filePath, hash] of entries) {\n\t\ttry {\n\t\t\tif (sha256Hex(fs.readFileSync(filePath)) !== hash) return false;\n\t\t} catch {\n\t\t\treturn false;\n\t\t}\n\t}\n\treturn true;\n}\n\n/**\n * A factory can defer loading local code until it is invoked (e.g. a\n * `require()` inside the factory body). Those reads are invisible to the\n * import-time recording, so retained factories are wrapped to record reads\n * that happen while the factory executes and merge them into the retained and\n * persisted manifest — editing a deferred dependency then invalidates reuse\n * like any other graph file.\n */\nfunction withDeferredGraphRecording(extensionPath: string, factory: ExtensionFactory): ExtensionFactory {\n\treturn (pi) => {\n\t\tconst files = new Map<string, string>();\n\t\tactiveGraphRecorders.add(files);\n\t\tinstallReadFileSyncObserver();\n\t\tconst finish = () => {\n\t\t\tactiveGraphRecorders.delete(files);\n\t\t\tuninstallReadFileSyncObserver();\n\t\t\tif (files.size > 0) mergeDeferredGraphReads(extensionPath, files);\n\t\t};\n\t\ttry {\n\t\t\tconst result = factory(pi);\n\t\t\tif (\n\t\t\t\tresult !== null &&\n\t\t\t\t(typeof result === \"object\" || typeof result === \"function\") &&\n\t\t\t\ttypeof (result as PromiseLike<void>).then === \"function\"\n\t\t\t) {\n\t\t\t\treturn Promise.resolve(result).finally(finish);\n\t\t\t}\n\t\t\tfinish();\n\t\t\treturn result;\n\t\t} catch (error) {\n\t\t\tfinish();\n\t\t\tthrow error;\n\t\t}\n\t};\n}\n\nfunction mergeDeferredGraphReads(extensionPath: string, files: Map<string, string>): void {\n\tconst retained = retainedTransformedLoads.get(extensionPath);\n\tif (!retained) return;\n\tlet changed = false;\n\tfor (const [filePath, hash] of files) {\n\t\tif (retained.manifest.files[filePath] !== hash) {\n\t\t\tretained.manifest.files[filePath] = hash;\n\t\t\tchanged = true;\n\t\t}\n\t}\n\tif (changed) writeGraphManifest(retained.manifest);\n}\n\nlet extensionCacheCwd: string | undefined;\nlet extensionCacheGeneration = 0;\nconst extensionCache = new Map<string, ExtensionFactory>();\n\n// Installed builtin bundles are immutable within a running binary. Keep their\n// evaluated factories outside the generation-scoped editable-extension cache.\nconst nativeBuiltinFactories = new Map<string, ExtensionFactory>();\nconst nativeBuiltinLoads = new Map<string, Promise<ExtensionFactory | undefined>>();\n\nasync function loadNativeBuiltinExtensionModule(\n\textensionPath: string,\n\tcacheToken: ExtensionCacheToken | undefined,\n): Promise<ExtensionFactory | undefined> {\n\tlet factory = nativeBuiltinFactories.get(extensionPath);\n\tif (!factory) {\n\t\tlet pending = nativeBuiltinLoads.get(extensionPath);\n\t\tif (!pending) {\n\t\t\tpending = (async () => {\n\t\t\t\tawait installHostModuleBridge();\n\t\t\t\tconst module = (await import(pathToFileURL(extensionPath).href)) as { default?: unknown };\n\t\t\t\tif (typeof module.default !== \"function\") return undefined;\n\t\t\t\tconst loadedFactory = module.default as ExtensionFactory;\n\t\t\t\tnativeBuiltinFactories.set(extensionPath, loadedFactory);\n\t\t\t\treturn loadedFactory;\n\t\t\t})();\n\t\t\tnativeBuiltinLoads.set(extensionPath, pending);\n\t\t}\n\t\ttry {\n\t\t\tfactory = await pending;\n\t\t} finally {\n\t\t\tnativeBuiltinLoads.delete(extensionPath);\n\t\t}\n\t}\n\tif (factory && isCurrentCacheToken(cacheToken)) {\n\t\textensionCache.set(extensionPath, factory);\n\t}\n\treturn factory;\n}\n\nexport interface ExtensionCacheToken {\n\tcwd: string;\n\tgeneration: number;\n}\n\nexport function clearExtensionCache(): void {\n\textensionCache.clear();\n\textensionCacheCwd = undefined;\n\textensionCacheGeneration++;\n}\n\nexport function useExtensionCacheCwd(cwd: string): ExtensionCacheToken {\n\tconst resolvedCwd = resolvePath(cwd);\n\tif (extensionCacheCwd !== undefined && !pathsEqual(extensionCacheCwd, resolvedCwd)) {\n\t\tclearExtensionCache();\n\t}\n\textensionCacheCwd = resolvedCwd;\n\treturn { cwd: resolvedCwd, generation: extensionCacheGeneration };\n}\n\nfunction isCurrentCacheToken(cacheToken: ExtensionCacheToken | undefined): cacheToken is ExtensionCacheToken {\n\treturn (\n\t\tcacheToken !== undefined &&\n\t\textensionCacheCwd === cacheToken.cwd &&\n\t\textensionCacheGeneration === cacheToken.generation\n\t);\n}\n\nfunction extensionImportSpecifier(extensionPath: string, cacheToken: ExtensionCacheToken | undefined): string {\n\tconst url = pathToFileURL(extensionPath);\n\tconst cacheKey = cacheToken ? `${cacheToken.generation}:${cacheToken.cwd}` : `${Date.now()}:${Math.random()}`;\n\turl.searchParams.set(\"atomicExtensionCache\", cacheKey);\n\treturn url.href;\n}\n\n/**\n * Locate an installed package's root directory without consulting its\n * \"exports\" map: require.resolve(\"<pkg>/package.json\") throws\n * ERR_PACKAGE_PATH_NOT_EXPORTED under Node for packages that do not export\n * \"./package.json\" (pi-ai does not), and import.meta.resolve() cannot be\n * used because its mere presence silently disables bytecode generation for\n * the compiled binary (CJS bundle). Scanning require.resolve.paths() walks\n * the same node_modules chain Node would, without exports-map encapsulation.\n */\nfunction findPackageRoot(packageName: string, searchPaths?: string[]): string {\n\tfor (const base of searchPaths ?? require.resolve.paths(packageName) ?? []) {\n\t\tconst candidate = path.join(base, packageName);\n\t\tif (fs.existsSync(path.join(candidate, \"package.json\"))) {\n\t\t\treturn candidate;\n\t\t}\n\t}\n\tthrow new Error(`Cannot locate package directory for \"${packageName}\"`);\n}\nfunction currentModuleDir(): string {\n\treturn moduleDirFromMetaUrl(import.meta.url, \"dist\", \"core\", \"extensions\");\n}\n\n/**\n * Get aliases for jiti (used in Node.js/development mode).\n * In Bun binary mode, virtualModules is used instead.\n */\nfunction getAliases(): Record<string, string> {\n\tif (_aliases) return _aliases;\n\n\tconst __dirname = currentModuleDir();\n\tconst packageIndex = path.resolve(__dirname, \"../..\", \"index.js\");\n\n\tconst typeboxEntry = require.resolve(\"typebox\");\n\tconst typeboxCompileEntry = require.resolve(\"typebox/compile\");\n\tconst typeboxValueEntry = require.resolve(\"typebox/value\");\n\n\tconst packagesRoot = path.resolve(__dirname, \"../../../../\");\n\tconst resolveWorkspaceOrImport = (workspaceRelativePath: string, packageName: string): string => {\n\t\tconst workspacePath = path.join(packagesRoot, workspaceRelativePath);\n\t\tif (fs.existsSync(workspacePath)) {\n\t\t\treturn workspacePath;\n\t\t}\n\t\tconst packageRoot = findPackageRoot(packageName);\n\t\tconst entryRelativePath = workspaceRelativePath.split(\"/\").slice(1).join(\"/\");\n\t\treturn path.join(packageRoot, entryRelativePath);\n\t};\n\n\tconst piCodingAgentEntry = packageIndex;\n\tconst piAgentCoreEntry = resolveWorkspaceOrImport(\"agent/dist/index.js\", \"@earendil-works/pi-agent-core\");\n\tconst piTuiEntry = resolveWorkspaceOrImport(\"tui/dist/index.js\", \"@earendil-works/pi-tui\");\n\tconst piTuiLayoutEntry = resolveWorkspaceOrImport(\"tui/dist/layout.js\", \"@earendil-works/pi-tui\");\n\tconst piTuiLayoutNodeEntry = resolveWorkspaceOrImport(\"tui/dist/layout-node.js\", \"@earendil-works/pi-tui\");\n\t// The workspace path mirrors pi-ai 0.80.x's built dist layout. If an\n\t// upstream layout change moves these files, this join needs updating to\n\t// match the package's real dist paths.\n\tconst piAiEntry = resolveWorkspaceOrImport(\"ai/dist/compat.js\", \"@bastani/pi-ai\");\n\tconst piAiCodexResponsesEntry = resolveWorkspaceOrImport(\"ai/dist/api/openai-codex-responses.js\", \"@bastani/pi-ai\");\n\tconst piAiLlamaCppClassifyEntry = resolveWorkspaceOrImport(\n\t\t\"ai/dist/api/llama-cpp-classify.lazy.js\",\n\t\t\"@bastani/pi-ai\",\n\t);\n\tconst piAiTypesafeSystemOneEntry = resolveWorkspaceOrImport(\n\t\t\"ai/dist/api/typesafe-system-one.lazy.js\",\n\t\t\"@bastani/pi-ai\",\n\t);\n\tconst piAiOauthEntry = resolveWorkspaceOrImport(\"ai/dist/oauth.js\", \"@bastani/pi-ai\");\n\tconst piAiModelsEntry = resolveWorkspaceOrImport(\"ai/dist/models.js\", \"@bastani/pi-ai\");\n\tconst piAiProvidersEntry = resolveWorkspaceOrImport(\"ai/dist/providers/all.js\", \"@bastani/pi-ai\");\n\tconst piAiCopilotEnvEntry = resolveWorkspaceOrImport(\"ai/dist/providers/github-copilot-env.js\", \"@bastani/pi-ai\");\n\tconst piAiOpenRouterEntry = resolveWorkspaceOrImport(\"ai/dist/providers/openrouter.js\", \"@bastani/pi-ai\");\n\tconst piAiProviderEnvEntry = resolveWorkspaceOrImport(\"ai/dist/utils/provider-env.js\", \"@bastani/pi-ai\");\n\tconst piAiRetryEntry = resolveWorkspaceOrImport(\"ai/dist/utils/retry.js\", \"@bastani/pi-ai\");\n\tconst piAiRequestAdmissionEntry = resolveWorkspaceOrImport(\"ai/dist/utils/request-admission.js\", \"@bastani/pi-ai\");\n\tconst piAiRetryHintsEntry = resolveWorkspaceOrImport(\"ai/dist/utils/retry-hints.js\", \"@bastani/pi-ai\");\n\tconst piAiCompatSchemaEntry = resolveWorkspaceOrImport(\"ai/dist/providers/compat-schema.js\", \"@bastani/pi-ai\");\n\tconst piAiModelSchemaEntry = resolveWorkspaceOrImport(\"ai/dist/providers/model-schema.js\", \"@bastani/pi-ai\");\n\tconst piAiOauthPageEntry = resolveWorkspaceOrImport(\"ai/dist/utils/oauth-page.js\", \"@bastani/pi-ai\");\n\tconst piAiGatewayBindingEntry = resolveWorkspaceOrImport(\n\t\t\"ai/dist/api/cloudflare-gateway-binding.js\",\n\t\t\"@bastani/pi-ai\",\n\t);\n\t// The Anthropic thinking guard replays assistant turns with pi-ai's own conversion (#4185).\n\tconst piAiAnthropicAssistantContentEntry = resolveWorkspaceOrImport(\n\t\t\"ai/dist/api/anthropic-assistant-content.js\",\n\t\t\"@bastani/pi-ai\",\n\t);\n\tconst piAiTransformMessagesEntry = resolveWorkspaceOrImport(\"ai/dist/api/transform-messages.js\", \"@bastani/pi-ai\");\n\n\t_aliases = {\n\t\t\"@bastani/atomic/storage\": path.resolve(__dirname, \"../storage/index.js\"),\n\t\t\"@bastani/atomic\": piCodingAgentEntry,\n\t\t\"@earendil-works/pi-coding-agent\": piCodingAgentEntry,\n\t\t\"@earendil-works/pi-agent-core\": piAgentCoreEntry,\n\t\t\"@earendil-works/pi-tui/dist/layout.js\": piTuiLayoutEntry,\n\t\t\"@earendil-works/pi-tui/dist/layout-node.js\": piTuiLayoutNodeEntry,\n\t\t\"@earendil-works/pi-tui\": piTuiEntry,\n\t\t\"@bastani/pi-ai/api/openai-codex-responses\": piAiCodexResponsesEntry,\n\t\t\"@bastani/pi-ai/api/llama-cpp-classify.lazy\": piAiLlamaCppClassifyEntry,\n\t\t\"@bastani/pi-ai/api/typesafe-system-one.lazy\": piAiTypesafeSystemOneEntry,\n\t\t\"@bastani/pi-ai/oauth\": piAiOauthEntry,\n\t\t\"@bastani/pi-ai/models\": piAiModelsEntry,\n\t\t\"@bastani/pi-ai/providers/all\": piAiProvidersEntry,\n\t\t\"@bastani/pi-ai/providers/github-copilot-env\": piAiCopilotEnvEntry,\n\t\t\"@bastani/pi-ai/providers/openrouter\": piAiOpenRouterEntry,\n\t\t\"@bastani/pi-ai/providers/compat-schema\": piAiCompatSchemaEntry,\n\t\t\"@bastani/pi-ai/providers/model-schema\": piAiModelSchemaEntry,\n\t\t\"@bastani/pi-ai/utils/provider-env\": piAiProviderEnvEntry,\n\t\t\"@bastani/pi-ai/utils/oauth-page\": piAiOauthPageEntry,\n\t\t\"@bastani/pi-ai/utils/request-admission\": piAiRequestAdmissionEntry,\n\t\t\"@bastani/pi-ai/utils/retry-hints\": piAiRetryHintsEntry,\n\t\t\"@bastani/pi-ai/utils/retry\": piAiRetryEntry,\n\t\t\"@bastani/pi-ai/compat\": piAiEntry,\n\t\t\"@bastani/pi-ai/api/cloudflare-gateway-binding\": piAiGatewayBindingEntry,\n\t\t\"@bastani/pi-ai/api/anthropic-assistant-content\": piAiAnthropicAssistantContentEntry,\n\t\t\"@bastani/pi-ai/api/transform-messages\": piAiTransformMessagesEntry,\n\t\t\"@bastani/pi-ai\": piAiEntry,\n\t\t\"@earendil-works/pi-ai/api/openai-codex-responses\": piAiCodexResponsesEntry,\n\t\t\"@earendil-works/pi-ai/oauth\": piAiOauthEntry,\n\t\t\"@earendil-works/pi-ai/models\": piAiModelsEntry,\n\t\t\"@earendil-works/pi-ai/providers/all\": piAiProvidersEntry,\n\t\t\"@earendil-works/pi-ai/compat\": piAiEntry,\n\t\t\"@earendil-works/pi-ai/api/cloudflare-gateway-binding\": piAiGatewayBindingEntry,\n\t\t\"@earendil-works/pi-ai/utils/oauth-page\": piAiOauthPageEntry,\n\t\t\"@earendil-works/pi-ai\": piAiEntry,\n\t\t\"@mariozechner/pi-agent-core\": piAgentCoreEntry,\n\t\t\"@mariozechner/pi-tui/dist/layout.js\": piTuiLayoutEntry,\n\t\t\"@mariozechner/pi-tui\": piTuiEntry,\n\t\t\"@mariozechner/pi-ai/oauth\": piAiOauthEntry,\n\t\t\"@mariozechner/pi-ai/models\": piAiModelsEntry,\n\t\t\"@mariozechner/pi-ai/providers/all\": piAiProvidersEntry,\n\t\t\"@mariozechner/pi-ai/compat\": piAiEntry,\n\t\t\"@mariozechner/pi-ai/api/cloudflare-gateway-binding\": piAiGatewayBindingEntry,\n\t\t\"@mariozechner/pi-ai\": piAiEntry,\n\t\ttypebox: typeboxEntry,\n\t\t\"typebox/compile\": typeboxCompileEntry,\n\t\t\"typebox/value\": typeboxValueEntry,\n\t\t\"@sinclair/typebox\": typeboxEntry,\n\t\t\"@sinclair/typebox/compile\": typeboxCompileEntry,\n\t\t\"@sinclair/typebox/value\": typeboxValueEntry,\n\t};\n\n\treturn _aliases;\n}\n\n/**\n * A jiti loader that resolves host package specifiers the way extensions see them: `virtualModules` share live host\n * instances, and outside single-file builds every other host specifier aliases to the installed host files.\n */\nexport async function createHostModuleJiti(\n\tid: string,\n\tvirtualModules: Record<string, object>,\n\toptions: Parameters<typeof createJiti>[1] = {},\n): Promise<ReturnType<typeof createJiti>> {\n\tconst isSingleFileBuild = isBunBinary || isBundledBuild;\n\tconst createJitiImpl = await getCreateJiti();\n\treturn createJitiImpl(id, {\n\t\t...options,\n\t\t// Single-file builds have no host files to alias, so every import must reach the virtual modules.\n\t\t...(isSingleFileBuild ? { tryNative: false } : { alias: getAliases() }),\n\t\tvirtualModules,\n\t});\n}\n\nexport const extensionLoaderTestHooks = {\n\tloadVirtualModules,\n\tgetAliases,\n\tfindPackageRoot,\n\tgetTranspileCacheDir,\n\tgraphManifestPath,\n\treadExtensionGraphManifest,\n\tloadExtensionModuleTransformed: (extensionPath: string, cacheToken?: ExtensionCacheToken) =>\n\t\timportExtensionModule(extensionPath, cacheToken, true),\n\tloadTransformedExtensionModule: (extensionPath: string, cacheToken?: ExtensionCacheToken) =>\n\t\tloadTransformedExtensionModule(extensionPath, cacheToken),\n\tloadNativeBuiltinExtensionModule,\n\thasNativeBuiltinFactory: (extensionPath: string): boolean => nativeBuiltinFactories.has(extensionPath),\n};\n\n/**\n * Extension paths already evaluated via native import() in this process. Bun on\n * Windows ignores the cache-busting query on file URLs, so re-loads of these\n * paths (e.g. /reload) must go through jiti's transformed-import path to get a\n * fresh module evaluation.\n */\nconst nativelyImportedPaths = new Set<string>();\n\nasync function importExtensionModule(\n\textensionPath: string,\n\tcacheToken: ExtensionCacheToken | undefined,\n\tforceTransformedImports: boolean,\n): Promise<ExtensionFactory | undefined> {\n\tconst isWindows = process.platform === \"win32\";\n\tconst isSingleFileBuild = isBunBinary || isBundledBuild;\n\tconst createJitiImpl = await getCreateJiti();\n\tconst jiti = createJitiImpl(resolutionBaseUrl(import.meta.url), {\n\t\tmoduleCache: false,\n\t\tfsCache: false,\n\t\ttransform: getTypeScriptSourceSpecifierTransform(createJitiImpl),\n\t\t...(forceTransformedImports ? { tryNative: false } : {}),\n\t\t// A first native import can fall back to transformation too. Always share\n\t\t// the live host instead of re-evaluating its graph through source aliases.\n\t\tvirtualModules: await getVirtualModules(),\n\t\t...(!isSingleFileBuild ? { alias: getAliases() } : {}),\n\t});\n\tconst specifier = extensionImportSpecifier(extensionPath, cacheToken);\n\t// Transformed evaluations are the loads whose repeat cost is the Windows\n\t// /reload regression, so they are also the loads whose file graph is\n\t// recorded into a content-hash manifest.\n\tlet module: unknown;\n\tlet recordedManifest: ExtensionGraphManifest | undefined;\n\tif (forceTransformedImports) {\n\t\tconst recorded = await recordExtensionGraph(extensionPath, () => jiti.import(specifier, { default: true }));\n\t\tmodule = recorded.result;\n\t\trecordedManifest = recorded.manifest;\n\t} else {\n\t\tmodule = await jiti.import(specifier, { default: true });\n\t}\n\tif (isWindows && !forceTransformedImports) {\n\t\tnativelyImportedPaths.add(extensionPath);\n\t}\n\tlet factory = module as ExtensionFactory;\n\tif (typeof factory !== \"function\") return undefined;\n\tif (recordedManifest) {\n\t\tfactory = withDeferredGraphRecording(extensionPath, factory);\n\t\tretainedTransformedLoads.set(extensionPath, { factory, manifest: recordedManifest });\n\t}\n\tif (isCurrentCacheToken(cacheToken)) {\n\t\textensionCache.set(extensionPath, factory);\n\t}\n\treturn factory;\n}\n\n/**\n * Load an extension through jiti's transformed-import path, reusing the\n * previously evaluated factory when the recorded graph manifest proves the\n * entire transitive file graph is byte-identical. This lets the\n * unchanged-graph case survive the /reload generation bump instead of\n * re-evaluating hundreds of files; anything else re-evaluates as before.\n *\n * Note: when the graph is byte-identical, the previously evaluated module\n * instance (including any mutable module-scoped state it closed over) is\n * reused. An extension that requires clean module state on every reload must\n * change a file in its graph to force re-evaluation.\n */\nasync function loadTransformedExtensionModule(\n\textensionPath: string,\n\tcacheToken: ExtensionCacheToken | undefined,\n): Promise<ExtensionFactory | undefined> {\n\tconst retained = retainedTransformedLoads.get(extensionPath);\n\tif (retained && graphUnchangedSince(retained.manifest)) {\n\t\tif (isCurrentCacheToken(cacheToken)) {\n\t\t\textensionCache.set(extensionPath, retained.factory);\n\t\t}\n\t\treturn retained.factory;\n\t}\n\treturn importExtensionModule(extensionPath, cacheToken, true);\n}\n\nexport async function loadExtensionModule(\n\textensionPath: string,\n\tcacheToken?: ExtensionCacheToken,\n): Promise<ExtensionFactory | undefined> {\n\tconst isSingleFileBuild = isBunBinary || isBundledBuild;\n\tif (isSingleFileBuild && isNativeBuiltinExtensionPath(extensionPath)) {\n\t\treturn loadNativeBuiltinExtensionModule(extensionPath, cacheToken);\n\t}\n\n\tif (isCurrentCacheToken(cacheToken)) {\n\t\tconst cachedFactory = extensionCache.get(extensionPath);\n\t\tif (cachedFactory) return cachedFactory;\n\t}\n\n\tconst isWindows = process.platform === \"win32\";\n\t// Single-file builds (compiled binary or dev bundle) cannot alias host\n\t// package specifiers to files on disk: extensions must share the live\n\t// module instances baked into the build, so virtualModules is used instead\n\t// (which requires jiti's transformed-import path).\n\t// Every editable path retains the existing jiti/virtualModules behavior.\n\t// Windows first-load fast path: native import() (jiti's default tryNative)\n\t// skips per-launch transpilation of the extension module graph. Re-loads of\n\t// the same path fall back to transformed imports for fresh evaluation.\n\t//\n\t// That fallback is not free. Measured on Windows CI, a transformed re-import\n\t// costs ~15 ms per module file in the extension's transitive graph, so a\n\t// reload of all five builtin packages (621 files) takes ~10.7 s cold and\n\t// ~2.5 s against a warm jiti fsCache, against ~40 ms on Linux and macOS. The\n\t// cost is correctness-driven and is paid interactively on every Windows\n\t// `/reload`; removing it needs a content-hash-keyed evaluation cache or a\n\t// narrower trigger, not a larger timeout.\n\tconst forceTransformedImports = isSingleFileBuild || (isWindows && nativelyImportedPaths.has(extensionPath));\n\tif (forceTransformedImports) {\n\t\treturn loadTransformedExtensionModule(extensionPath, cacheToken);\n\t}\n\treturn importExtensionModule(extensionPath, cacheToken, false);\n}\n"]}
|
package/npm-shrinkwrap.json
CHANGED
|
@@ -1,16 +1,16 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@bastani/atomic",
|
|
3
|
-
"version": "0.9.
|
|
3
|
+
"version": "0.9.64-alpha.1",
|
|
4
4
|
"lockfileVersion": 3,
|
|
5
5
|
"requires": true,
|
|
6
6
|
"packages": {
|
|
7
7
|
"": {
|
|
8
8
|
"name": "@bastani/atomic",
|
|
9
|
-
"version": "0.9.
|
|
9
|
+
"version": "0.9.64-alpha.1",
|
|
10
10
|
"license": "MIT",
|
|
11
11
|
"dependencies": {
|
|
12
|
-
"@bastani/atomic-natives": "0.9.
|
|
13
|
-
"@bastani/pi-ai": "0.9.
|
|
12
|
+
"@bastani/atomic-natives": "0.9.64-alpha.1",
|
|
13
|
+
"@bastani/pi-ai": "0.9.64-alpha.1",
|
|
14
14
|
"@earendil-works/pi-agent-core": "1.4.0",
|
|
15
15
|
"@earendil-works/pi-codemode": "1.4.0",
|
|
16
16
|
"@earendil-works/pi-tui": "1.4.0",
|
|
@@ -427,18 +427,18 @@
|
|
|
427
427
|
}
|
|
428
428
|
},
|
|
429
429
|
"node_modules/@bastani/atomic-natives": {
|
|
430
|
-
"version": "0.9.
|
|
431
|
-
"resolved": "https://registry.npmjs.org/@bastani/atomic-natives/-/atomic-natives-0.9.
|
|
430
|
+
"version": "0.9.64-alpha.1",
|
|
431
|
+
"resolved": "https://registry.npmjs.org/@bastani/atomic-natives/-/atomic-natives-0.9.64-alpha.1.tgz",
|
|
432
432
|
"license": "MIT",
|
|
433
433
|
"optionalDependencies": {
|
|
434
|
-
"@bastani/atomic-natives-darwin-arm64": "0.9.
|
|
435
|
-
"@bastani/atomic-natives-darwin-x64": "0.9.
|
|
436
|
-
"@bastani/atomic-natives-linux-arm64-gnu": "0.9.
|
|
437
|
-
"@bastani/atomic-natives-linux-arm64-musl": "0.9.
|
|
438
|
-
"@bastani/atomic-natives-linux-x64-gnu": "0.9.
|
|
439
|
-
"@bastani/atomic-natives-linux-x64-musl": "0.9.
|
|
440
|
-
"@bastani/atomic-natives-win32-arm64-msvc": "0.9.
|
|
441
|
-
"@bastani/atomic-natives-win32-x64-msvc": "0.9.
|
|
434
|
+
"@bastani/atomic-natives-darwin-arm64": "0.9.64-alpha.1",
|
|
435
|
+
"@bastani/atomic-natives-darwin-x64": "0.9.64-alpha.1",
|
|
436
|
+
"@bastani/atomic-natives-linux-arm64-gnu": "0.9.64-alpha.1",
|
|
437
|
+
"@bastani/atomic-natives-linux-arm64-musl": "0.9.64-alpha.1",
|
|
438
|
+
"@bastani/atomic-natives-linux-x64-gnu": "0.9.64-alpha.1",
|
|
439
|
+
"@bastani/atomic-natives-linux-x64-musl": "0.9.64-alpha.1",
|
|
440
|
+
"@bastani/atomic-natives-win32-arm64-msvc": "0.9.64-alpha.1",
|
|
441
|
+
"@bastani/atomic-natives-win32-x64-msvc": "0.9.64-alpha.1"
|
|
442
442
|
},
|
|
443
443
|
"engines": {
|
|
444
444
|
"bun": ">=1.4.2",
|
|
@@ -446,8 +446,8 @@
|
|
|
446
446
|
}
|
|
447
447
|
},
|
|
448
448
|
"node_modules/@bastani/atomic-natives-darwin-arm64": {
|
|
449
|
-
"version": "0.9.
|
|
450
|
-
"resolved": "https://registry.npmjs.org/@bastani/atomic-natives-darwin-arm64/-/atomic-natives-darwin-arm64-0.9.
|
|
449
|
+
"version": "0.9.64-alpha.1",
|
|
450
|
+
"resolved": "https://registry.npmjs.org/@bastani/atomic-natives-darwin-arm64/-/atomic-natives-darwin-arm64-0.9.64-alpha.1.tgz",
|
|
451
451
|
"license": "MIT",
|
|
452
452
|
"os": [
|
|
453
453
|
"darwin"
|
|
@@ -458,8 +458,8 @@
|
|
|
458
458
|
"optional": true
|
|
459
459
|
},
|
|
460
460
|
"node_modules/@bastani/atomic-natives-darwin-x64": {
|
|
461
|
-
"version": "0.9.
|
|
462
|
-
"resolved": "https://registry.npmjs.org/@bastani/atomic-natives-darwin-x64/-/atomic-natives-darwin-x64-0.9.
|
|
461
|
+
"version": "0.9.64-alpha.1",
|
|
462
|
+
"resolved": "https://registry.npmjs.org/@bastani/atomic-natives-darwin-x64/-/atomic-natives-darwin-x64-0.9.64-alpha.1.tgz",
|
|
463
463
|
"license": "MIT",
|
|
464
464
|
"os": [
|
|
465
465
|
"darwin"
|
|
@@ -470,8 +470,8 @@
|
|
|
470
470
|
"optional": true
|
|
471
471
|
},
|
|
472
472
|
"node_modules/@bastani/atomic-natives-linux-arm64-gnu": {
|
|
473
|
-
"version": "0.9.
|
|
474
|
-
"resolved": "https://registry.npmjs.org/@bastani/atomic-natives-linux-arm64-gnu/-/atomic-natives-linux-arm64-gnu-0.9.
|
|
473
|
+
"version": "0.9.64-alpha.1",
|
|
474
|
+
"resolved": "https://registry.npmjs.org/@bastani/atomic-natives-linux-arm64-gnu/-/atomic-natives-linux-arm64-gnu-0.9.64-alpha.1.tgz",
|
|
475
475
|
"license": "MIT",
|
|
476
476
|
"os": [
|
|
477
477
|
"linux"
|
|
@@ -485,8 +485,8 @@
|
|
|
485
485
|
"optional": true
|
|
486
486
|
},
|
|
487
487
|
"node_modules/@bastani/atomic-natives-linux-arm64-musl": {
|
|
488
|
-
"version": "0.9.
|
|
489
|
-
"resolved": "https://registry.npmjs.org/@bastani/atomic-natives-linux-arm64-musl/-/atomic-natives-linux-arm64-musl-0.9.
|
|
488
|
+
"version": "0.9.64-alpha.1",
|
|
489
|
+
"resolved": "https://registry.npmjs.org/@bastani/atomic-natives-linux-arm64-musl/-/atomic-natives-linux-arm64-musl-0.9.64-alpha.1.tgz",
|
|
490
490
|
"license": "MIT",
|
|
491
491
|
"os": [
|
|
492
492
|
"linux"
|
|
@@ -500,8 +500,8 @@
|
|
|
500
500
|
"optional": true
|
|
501
501
|
},
|
|
502
502
|
"node_modules/@bastani/atomic-natives-linux-x64-gnu": {
|
|
503
|
-
"version": "0.9.
|
|
504
|
-
"resolved": "https://registry.npmjs.org/@bastani/atomic-natives-linux-x64-gnu/-/atomic-natives-linux-x64-gnu-0.9.
|
|
503
|
+
"version": "0.9.64-alpha.1",
|
|
504
|
+
"resolved": "https://registry.npmjs.org/@bastani/atomic-natives-linux-x64-gnu/-/atomic-natives-linux-x64-gnu-0.9.64-alpha.1.tgz",
|
|
505
505
|
"license": "MIT",
|
|
506
506
|
"os": [
|
|
507
507
|
"linux"
|
|
@@ -515,8 +515,8 @@
|
|
|
515
515
|
"optional": true
|
|
516
516
|
},
|
|
517
517
|
"node_modules/@bastani/atomic-natives-linux-x64-musl": {
|
|
518
|
-
"version": "0.9.
|
|
519
|
-
"resolved": "https://registry.npmjs.org/@bastani/atomic-natives-linux-x64-musl/-/atomic-natives-linux-x64-musl-0.9.
|
|
518
|
+
"version": "0.9.64-alpha.1",
|
|
519
|
+
"resolved": "https://registry.npmjs.org/@bastani/atomic-natives-linux-x64-musl/-/atomic-natives-linux-x64-musl-0.9.64-alpha.1.tgz",
|
|
520
520
|
"license": "MIT",
|
|
521
521
|
"os": [
|
|
522
522
|
"linux"
|
|
@@ -530,8 +530,8 @@
|
|
|
530
530
|
"optional": true
|
|
531
531
|
},
|
|
532
532
|
"node_modules/@bastani/atomic-natives-win32-arm64-msvc": {
|
|
533
|
-
"version": "0.9.
|
|
534
|
-
"resolved": "https://registry.npmjs.org/@bastani/atomic-natives-win32-arm64-msvc/-/atomic-natives-win32-arm64-msvc-0.9.
|
|
533
|
+
"version": "0.9.64-alpha.1",
|
|
534
|
+
"resolved": "https://registry.npmjs.org/@bastani/atomic-natives-win32-arm64-msvc/-/atomic-natives-win32-arm64-msvc-0.9.64-alpha.1.tgz",
|
|
535
535
|
"license": "MIT",
|
|
536
536
|
"os": [
|
|
537
537
|
"win32"
|
|
@@ -542,8 +542,8 @@
|
|
|
542
542
|
"optional": true
|
|
543
543
|
},
|
|
544
544
|
"node_modules/@bastani/atomic-natives-win32-x64-msvc": {
|
|
545
|
-
"version": "0.9.
|
|
546
|
-
"resolved": "https://registry.npmjs.org/@bastani/atomic-natives-win32-x64-msvc/-/atomic-natives-win32-x64-msvc-0.9.
|
|
545
|
+
"version": "0.9.64-alpha.1",
|
|
546
|
+
"resolved": "https://registry.npmjs.org/@bastani/atomic-natives-win32-x64-msvc/-/atomic-natives-win32-x64-msvc-0.9.64-alpha.1.tgz",
|
|
547
547
|
"license": "MIT",
|
|
548
548
|
"os": [
|
|
549
549
|
"win32"
|
|
@@ -554,8 +554,8 @@
|
|
|
554
554
|
"optional": true
|
|
555
555
|
},
|
|
556
556
|
"node_modules/@bastani/pi-ai": {
|
|
557
|
-
"version": "0.9.
|
|
558
|
-
"resolved": "https://registry.npmjs.org/@bastani/pi-ai/-/pi-ai-0.9.
|
|
557
|
+
"version": "0.9.64-alpha.1",
|
|
558
|
+
"resolved": "https://registry.npmjs.org/@bastani/pi-ai/-/pi-ai-0.9.64-alpha.1.tgz",
|
|
559
559
|
"license": "MIT",
|
|
560
560
|
"dependencies": {
|
|
561
561
|
"@anthropic-ai/sdk": "0.129.0",
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@bastani/atomic",
|
|
3
|
-
"version": "0.9.
|
|
3
|
+
"version": "0.9.64-alpha.1",
|
|
4
4
|
"description": "Atomic coding agent CLI with read, bash, edit, write tools and session management",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"atomicConfig": {
|
|
@@ -89,8 +89,8 @@
|
|
|
89
89
|
"prepublishOnly": "bun run clean && bun run build && bun run shrinkwrap"
|
|
90
90
|
},
|
|
91
91
|
"dependencies": {
|
|
92
|
-
"@bastani/atomic-natives": "0.9.
|
|
93
|
-
"@bastani/pi-ai": "0.9.
|
|
92
|
+
"@bastani/atomic-natives": "0.9.64-alpha.1",
|
|
93
|
+
"@bastani/pi-ai": "0.9.64-alpha.1",
|
|
94
94
|
"@earendil-works/pi-agent-core": "1.4.0",
|
|
95
95
|
"@earendil-works/pi-codemode": "1.4.0",
|
|
96
96
|
"@earendil-works/pi-tui": "1.4.0",
|