@keystrokehq/cli 0.1.90 → 0.1.92
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/dist/dist-BA8hASdK.mjs +3 -0
- package/dist/{dist-HHZNDjZJ.mjs → dist-BxVsr24X.mjs} +2 -2
- package/dist/{dist-HHZNDjZJ.mjs.map → dist-BxVsr24X.mjs.map} +1 -1
- package/dist/{dist-5IqGzCCh.mjs → dist-CMWayagw.mjs} +119 -9
- package/dist/dist-CMWayagw.mjs.map +1 -0
- package/dist/{dist-BhjBZMqr.mjs → dist-Da8gEr12.mjs} +3 -3
- package/dist/{dist-BhjBZMqr.mjs.map → dist-Da8gEr12.mjs.map} +1 -1
- package/dist/{dist-Ddqfmys3.mjs → dist-WHAEh05Y.mjs} +45 -1
- package/dist/dist-WHAEh05Y.mjs.map +1 -0
- package/dist/index.mjs +10 -10
- package/dist/{maybe-auto-update-B2MNsWQ6.mjs → maybe-auto-update-cyl5Rnot.mjs} +2 -2
- package/dist/{maybe-auto-update-B2MNsWQ6.mjs.map → maybe-auto-update-cyl5Rnot.mjs.map} +1 -1
- package/dist/{run-package-manager-update-DfwZsS04.mjs → run-package-manager-update-CT1F8EUI.mjs} +2 -2
- package/dist/{run-package-manager-update-DfwZsS04.mjs.map → run-package-manager-update-CT1F8EUI.mjs.map} +1 -1
- package/package.json +1 -1
- package/dist/dist-5IqGzCCh.mjs.map +0 -1
- package/dist/dist-Ddqfmys3.mjs.map +0 -1
- package/dist/dist-DspeJSWl.mjs +0 -3
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
|
-
import { G as packAssetDirs, H as computeCallSiteIds, J as entryIdFromFile, U as diagnoseWorkflowSource, V as classifyCall, W as locateWorkflow, X as shouldSkipKeystrokeModuleFile, Y as readKeystrokeIgnoreDirective, a as buildStoredRouteManifestForProject } from "./dist-
|
|
2
|
+
import { G as packAssetDirs, H as computeCallSiteIds, J as entryIdFromFile, U as diagnoseWorkflowSource, V as classifyCall, W as locateWorkflow, X as shouldSkipKeystrokeModuleFile, Y as readKeystrokeIgnoreDirective, a as buildStoredRouteManifestForProject } from "./dist-CMWayagw.mjs";
|
|
3
3
|
import { isBuiltin } from "node:module";
|
|
4
4
|
import { dirname, join, relative, resolve, sep } from "node:path";
|
|
5
5
|
import { existsSync, mkdirSync, mkdtempSync, readFileSync, readdirSync, realpathSync, rmSync, statSync, writeFileSync } from "node:fs";
|
|
@@ -772,7 +772,7 @@ async function buildApp(options = {}) {
|
|
|
772
772
|
warnWorkflowDiagnosticsFrom(workflowDiagnostics);
|
|
773
773
|
}
|
|
774
774
|
if (emitManifest) {
|
|
775
|
-
const { emitStoredRouteManifestForProject } = await import("./dist-
|
|
775
|
+
const { emitStoredRouteManifestForProject } = await import("./dist-BA8hASdK.mjs");
|
|
776
776
|
await emitStoredRouteManifestForProject(root);
|
|
777
777
|
}
|
|
778
778
|
} finally {
|
|
@@ -797,4 +797,4 @@ async function watchApp(options = {}) {
|
|
|
797
797
|
//#endregion
|
|
798
798
|
export { buildApp, buildFilteredApp, resolveRuntimeBuildArtifact, watchApp };
|
|
799
799
|
|
|
800
|
-
//# sourceMappingURL=dist-
|
|
800
|
+
//# sourceMappingURL=dist-Da8gEr12.mjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"dist-BhjBZMqr.mjs","names":["toPosix$1","toPosix"],"sources":["../../../packages/build/dist/walk-project-eIHZ7A1f.mjs","../../../packages/tsdown-config/deps.js","../../../packages/tsdown-config/index.js","../../../packages/build/dist/index.mjs"],"sourcesContent":["import { readFileSync, readdirSync, realpathSync, statSync } from \"node:fs\";\nimport { join, relative, resolve, sep } from \"node:path\";\nimport { createHash } from \"node:crypto\";\nimport { entryIdFromFile, readKeystrokeIgnoreDirective, shouldSkipKeystrokeModuleFile } from \"@keystrokehq/manifest/discovery\";\nimport { fileURLToPath } from \"node:url\";\n//#region src/ignore-guard-plugin.ts\nfunction toPosix$1(path) {\n\treturn path.split(sep).join(\"/\");\n}\nfunction projectRelativePath(root, filePath) {\n\treturn toPosix$1(relative(root, normalizeBuildFilePath(filePath)));\n}\n/** Normalize paths so /var and /private/var compare equal on macOS. */\nfunction normalizeBuildFilePath(filePath) {\n\tconst absolute = resolve(filePath);\n\ttry {\n\t\treturn realpathSync.native(absolute);\n\t} catch {\n\t\treturn absolute;\n\t}\n}\nfunction normalizeModuleId(id, root) {\n\tif (id.startsWith(\"\\0\")) return null;\n\tconst normalized = normalizeBuildFilePath(id.startsWith(\"file://\") ? fileURLToPath(id) : id);\n\tif (!normalized.startsWith(normalizeBuildFilePath(root))) return null;\n\treturn normalized;\n}\nfunction formatImportGuardError(root, ignoredPath, importer) {\n\tconst ignored = projectRelativePath(root, ignoredPath);\n\tif (importer) return `Cannot import \"${ignored}\" (@keystroke ignore) from \"${projectRelativePath(root, importer)}\". Remove the directive or stop importing it from a shipped module.`;\n\treturn `Cannot import \"${ignored}\" (@keystroke ignore). Remove the directive or stop importing it from a shipped module.`;\n}\n/** Throw when a built module imports a `@keystroke ignore` source file. */\nfunction keystrokeIgnoreGuardPlugin(options) {\n\tconst root = normalizeBuildFilePath(options.root);\n\tconst ignoredFiles = new Set(options.ignoredFiles.map((filePath) => normalizeBuildFilePath(filePath)));\n\tfunction assertNotIgnored(filePath, importer) {\n\t\tconst normalized = normalizeBuildFilePath(filePath);\n\t\tif (!ignoredFiles.has(normalized)) return;\n\t\tthrow new Error(formatImportGuardError(root, normalized, importer));\n\t}\n\treturn {\n\t\tname: \"keystroke-ignore-guard\",\n\t\tasync resolveId(source, importer, resolveOptions) {\n\t\t\tif (resolveOptions?.isEntry || !importer) return null;\n\t\t\tconst resolved = await this.resolve(source, importer, {\n\t\t\t\t...resolveOptions,\n\t\t\t\tskipSelf: true\n\t\t\t});\n\t\t\tif (!resolved) return null;\n\t\t\tassertNotIgnored(typeof resolved === \"string\" ? resolved : resolved.id, importer);\n\t\t\treturn null;\n\t\t},\n\t\tload(id) {\n\t\t\tconst normalized = normalizeModuleId(id, root);\n\t\t\tif (!normalized) return null;\n\t\t\tassertNotIgnored(normalized);\n\t\t\treturn null;\n\t\t}\n\t};\n}\n//#endregion\n//#region src/walk-project.ts\nconst IGNORED_DIRS = new Set([\n\t\"node_modules\",\n\t\"dist\",\n\t\".git\",\n\t\".turbo\",\n\t\"build\",\n\t\"coverage\",\n\t\".keystroke\",\n\t\".cache\",\n\t\"tmp\"\n]);\nconst IGNORED_ENV_FILE = /\\.env/;\nconst IGNORED_LOG_FILE = /\\.log$/;\nfunction isIgnoredFile(name) {\n\treturn IGNORED_ENV_FILE.test(name) || IGNORED_LOG_FILE.test(name);\n}\nfunction toPosix(path) {\n\treturn path.split(sep).join(\"/\");\n}\nfunction isProbablyBinary(buffer) {\n\tconst sampleLength = Math.min(buffer.length, 8e3);\n\tfor (let index = 0; index < sampleLength; index += 1) if (buffer[index] === 0) return true;\n\treturn false;\n}\nfunction classifyBuildEntry(root, srcRoot, filePath) {\n\tconst relativePath = toPosix(relative(root, filePath));\n\tconst agentsPrefix = `${toPosix(relative(root, join(srcRoot, \"agents\")))}/`;\n\tconst workflowsPrefix = `${toPosix(relative(root, join(srcRoot, \"workflows\")))}/`;\n\tconst triggersPrefix = `${toPosix(relative(root, join(srcRoot, \"triggers\")))}/`;\n\tconst actionsPrefix = `${toPosix(relative(root, join(srcRoot, \"actions\")))}/`;\n\tif (relativePath.startsWith(agentsPrefix) && /\\.(ts|mts)$/.test(relativePath) && !/\\.(int\\.)?test\\.(ts|mts)$/.test(relativePath)) {\n\t\tconst id = entryIdFromFile(join(srcRoot, \"agents\"), filePath, { nestedEntry: \"agent\" });\n\t\treturn id ? {\n\t\t\tentryKey: `agents/${id}`,\n\t\t\tentryPath: filePath\n\t\t} : null;\n\t}\n\tif (relativePath.startsWith(actionsPrefix) && /\\.(ts|mts)$/.test(relativePath) && !/\\.(int\\.)?test\\.(ts|mts)$/.test(relativePath)) {\n\t\tconst id = entryIdFromFile(join(srcRoot, \"actions\"), filePath, { nestedEntry: \"action\" });\n\t\treturn id ? {\n\t\t\tentryKey: `actions/${id}`,\n\t\t\tentryPath: filePath\n\t\t} : null;\n\t}\n\tif (relativePath.startsWith(workflowsPrefix) && /\\.(ts|mts)$/.test(relativePath) && !/\\.(int\\.)?test\\.(ts|mts)$/.test(relativePath)) {\n\t\tconst id = entryIdFromFile(join(srcRoot, \"workflows\"), filePath, { nestedEntry: \"workflow\" });\n\t\treturn id ? {\n\t\t\tentryKey: `workflows/${id}`,\n\t\t\tentryPath: filePath\n\t\t} : null;\n\t}\n\tif (relativePath.startsWith(triggersPrefix) && /\\.(ts|mts)$/.test(relativePath) && !/\\.(int\\.)?test\\.(ts|mts)$/.test(relativePath)) {\n\t\tconst id = entryIdFromFile(join(srcRoot, \"triggers\"), filePath, { nestedEntry: \"trigger\" });\n\t\treturn id ? {\n\t\t\tentryKey: `triggers/${id}`,\n\t\t\tentryPath: filePath\n\t\t} : null;\n\t}\n\treturn null;\n}\nfunction shouldSkipIgnoredModule(filePath, phase) {\n\treturn shouldSkipKeystrokeModuleFile(readKeystrokeIgnoreDirective(filePath), phase);\n}\nfunction isSrcTypeScriptFile(srcRoot, filePath) {\n\tconst relativePath = toPosix(relative(srcRoot, filePath));\n\tif (relativePath.startsWith(\"..\")) return false;\n\treturn /\\.(ts|mts)$/.test(relativePath);\n}\nfunction walkTree(root, dir, srcRoot, phase, collectSources, sourceFiles, buildEntries, ignoredFiles, totals) {\n\tfor (const name of readdirSync(dir).sort()) {\n\t\tif (collectSources && (sourceFiles.length >= 2e3 || totals.bytes >= 8388608)) return;\n\t\tconst absolute = join(dir, name);\n\t\tconst stats = statSync(absolute);\n\t\tif (stats.isDirectory()) {\n\t\t\tif (IGNORED_DIRS.has(name)) continue;\n\t\t\twalkTree(root, absolute, srcRoot, phase, collectSources, sourceFiles, buildEntries, ignoredFiles, totals);\n\t\t\tcontinue;\n\t\t}\n\t\tif (!stats.isFile()) continue;\n\t\tconst isUnderSrc = isSrcTypeScriptFile(srcRoot, absolute);\n\t\tconst skipIgnored = isUnderSrc ? shouldSkipIgnoredModule(absolute, phase) : false;\n\t\tif (isUnderSrc && skipIgnored) ignoredFiles.push(normalizeBuildFilePath(absolute));\n\t\tconst buildEntry = classifyBuildEntry(root, srcRoot, absolute);\n\t\tif (buildEntry && !skipIgnored) buildEntries[buildEntry.entryKey] = buildEntry.entryPath;\n\t\tif (!collectSources) continue;\n\t\tif (stats.size > 262144 || isIgnoredFile(name)) continue;\n\t\tconst buffer = readFileSync(absolute);\n\t\tif (isProbablyBinary(buffer)) continue;\n\t\ttotals.bytes += buffer.byteLength;\n\t\tsourceFiles.push({\n\t\t\tpath: toPosix(relative(root, absolute)),\n\t\t\tcontents: buffer.toString(\"utf8\"),\n\t\t\thash: createHash(\"sha256\").update(buffer).digest(\"hex\")\n\t\t});\n\t}\n}\n/**\n* One full-tree walk of the project: classifies tsdown entries and optionally\n* collects deploy source files (path + contents + hash) under snapshot limits.\n*/\nfunction walkProject(root, srcDirOrOptions = \"src\", maybeOptions) {\n\tconst srcDir = typeof srcDirOrOptions === \"string\" ? srcDirOrOptions : srcDirOrOptions.srcDir ?? \"src\";\n\tconst options = typeof srcDirOrOptions === \"string\" ? maybeOptions ?? {} : srcDirOrOptions;\n\tconst collectSources = options.collectSources ?? false;\n\tconst phase = options.phase ?? \"build\";\n\tconst sourceFiles = [];\n\tconst buildEntries = {};\n\tconst ignoredFiles = [];\n\twalkTree(root, root, join(root, srcDir), phase, collectSources, sourceFiles, buildEntries, ignoredFiles, { bytes: 0 });\n\treturn {\n\t\tsourceFiles,\n\t\tbuildEntries,\n\t\tignoredFiles\n\t};\n}\n//#endregion\nexport { keystrokeIgnoreGuardPlugin as n, walkProject as t };\n\n//# sourceMappingURL=walk-project-eIHZ7A1f.mjs.map","import { isBuiltin } from \"node:module\";\n\n/** Native addons kept external — resolved from the CLI runtime at app start. */\nexport const NATIVE_RUNTIME_DEPS = [\"pg\", \"better-sqlite3\", \"@parcel/watcher\"];\n\n/**\n * Framework/runtime `@keystrokehq/*` shipped in the project-server image, so user-app builds\n * keep them external and resolve them from the runtime at boot. Everything else under the scope\n * (Composio catalog integrations like `@keystrokehq/posthog`, …) is bundled into the artifact.\n *\n * This set MUST equal the `@keystrokehq/*` dependency closure of `@keystrokehq/project-runtime`\n * (the deploy image) — `deps.test.ts` enforces it. To change what stays external, change what the\n * runtime image depends on; do not edit this list by hand. `exa` is the only integration\n * package the framework imports directly (web search); `gateway` ships Slack and other channel\n * adapters in the runtime image.\n */\nexport const RUNTIME_KEYSTROKE_PACKAGES = new Set([\n \"access-control\",\n \"action\",\n \"agent\",\n \"app\",\n \"auth\",\n \"build\",\n \"config\",\n \"credentials\",\n \"database\",\n \"exa\",\n \"gateway\",\n \"hosting\",\n \"http\",\n \"keystroke\",\n \"manifest\",\n \"mcp\",\n \"memory\",\n \"oauth\",\n \"platform-database\",\n \"project-runtime\",\n \"projects\",\n \"runtime\",\n \"sandbox\",\n \"scheduler\",\n \"sdk\",\n \"secrets\",\n \"shared\",\n \"storage\",\n \"tracing\",\n \"trigger\",\n \"tsdown-config\",\n \"web-search\",\n \"worker\",\n \"workflow\",\n \"workflow-canvas\",\n]);\n\n/** Matches framework/runtime `@keystrokehq/*` kept external during user-app builds. */\nexport const FRAMEWORK_KEYSTROKE_EXTERNAL = new RegExp(\n `^@keystrokehq\\\\/(?:${[...RUNTIME_KEYSTROKE_PACKAGES].sort().join(\"|\")})(?:\\\\/|$)`,\n);\n\nfunction keystrokePackageName(name) {\n if (!name.startsWith(\"@keystrokehq/\")) {\n return null;\n }\n\n return name.slice(\"@keystrokehq/\".length).split(\"/\")[0] ?? null;\n}\n\nfunction isRuntimeKeystrokePackage(name) {\n const pkg = keystrokePackageName(name);\n return pkg !== null && RUNTIME_KEYSTROKE_PACKAGES.has(pkg);\n}\n\n/**\n * Kept external so .d.ts emission does not inline internal/inferred types.\n *\n * `typescript` is external because the TS compiler cannot be cleanly bundled into\n * ESM — it mixes `require()`/`__filename` with top-level await, which Node rejects\n * with `ERR_AMBIGUOUS_MODULE_SYNTAX` on load. Packages that use the compiler\n * (`workflow-canvas`, `manifest`, `build`) declare it as a dependency, so it\n * resolves from `node_modules` at runtime instead of being inlined.\n */\nexport const LIBRARY_EXTERNAL_DEPS = [\n \"better-auth\",\n /^@better-auth\\//,\n /^better-auth\\//,\n \"typescript\",\n];\n\n/** Non-auth runtime deps kept external for published entry bundles (platform, etc.). */\nexport const BUNDLED_ENTRY_RUNTIME_EXTERNAL_DEPS = [\n ...NATIVE_RUNTIME_DEPS,\n \"dockerode\",\n \"ssh2\",\n \"cpu-features\",\n \"microsandbox\",\n /^@aws-sdk\\//,\n /^@napi-rs\\//,\n \"hono\",\n /^@hono\\//,\n \"undici\",\n];\n\n/** Kept external when bundling published entry points (cli, keystroke, platform). */\nexport const BUNDLED_ENTRY_EXTERNAL_DEPS = [\n ...BUNDLED_ENTRY_RUNTIME_EXTERNAL_DEPS,\n ...LIBRARY_EXTERNAL_DEPS,\n];\n\n/** Bundle into CLI — device login uses Better Auth client only. */\nexport const BETTER_AUTH_CLIENT_BUNDLE_PATTERNS = [\n /^better-auth\\/client$/,\n /^better-auth\\/client\\//,\n];\n\n/** Server adapters and root entry — must not ship in the CLI bundle. */\nexport const BETTER_AUTH_SERVER_EXTERNAL_PATTERNS = [\n /^better-auth$/,\n /^@better-auth\\//,\n /^better-auth\\/(?!client(\\/|$)).+/,\n];\n\nexport function isNativeRuntimeDep(id) {\n return NATIVE_RUNTIME_DEPS.some((dep) => id === dep || id.startsWith(`${dep}/`));\n}\n\nfunction packageName(id) {\n if (id.startsWith(\"@\")) {\n const [scope, name] = id.split(\"/\");\n return name ? `${scope}/${name}` : id;\n }\n\n return id.split(\"/\")[0] ?? id;\n}\n\nfunction isRuntimeExternal(id) {\n const name = packageName(id);\n if (isNativeRuntimeDep(name)) {\n return true;\n }\n\n if (name.startsWith(\"@keystrokehq/\")) {\n return isRuntimeKeystrokePackage(name);\n }\n\n if (name === \"better-auth\" || name.startsWith(\"@better-auth/\")) {\n return true;\n }\n\n return false;\n}\n\n/** Library packages resolve npm deps from node_modules at runtime. */\nexport function libraryBuildDepsConfig() {\n return {\n alwaysBundle: (_id) => null,\n neverBundle: [...NATIVE_RUNTIME_DEPS, /^@keystrokehq\\//, ...LIBRARY_EXTERNAL_DEPS],\n onlyBundle: false,\n };\n}\n\n/** Bundle npm deps into dist; resolve @keystrokehq/* and natives from the runtime. */\nexport function userAppBuildDepsConfig() {\n return {\n alwaysBundle: (id, _importer) => {\n if (id.startsWith(\".\") || id.startsWith(\"/\") || isBuiltin(id)) {\n return null;\n }\n\n return isRuntimeExternal(id) ? null : true;\n },\n neverBundle: [...NATIVE_RUNTIME_DEPS, FRAMEWORK_KEYSTROKE_EXTERNAL, ...LIBRARY_EXTERNAL_DEPS],\n onlyBundle: false,\n };\n}\n\n/**\n * Published entry packages (cli, keystroke, platform): declare bundled @keystrokehq/*\n * in dependencies (changesets release graph ignores devDependencies). Inlining is\n * driven by alwaysBundle below, not by dep kind. Runtime npm deps stay external.\n */\nexport function bundledEntryDepsConfig() {\n return {\n alwaysBundle: [/^@keystrokehq\\//],\n neverBundle: [...BUNDLED_ENTRY_EXTERNAL_DEPS],\n onlyBundle: false,\n };\n}\n\n/** Published CLI: inline better-auth client + @better-auth/*; keep server adapters external. */\nexport const BETTER_AUTH_CLI_BUNDLE_PATTERNS = [\n ...BETTER_AUTH_CLIENT_BUNDLE_PATTERNS,\n /^@better-auth\\//,\n];\n\nexport const BETTER_AUTH_CLI_EXTERNAL_PATTERNS = [\n /^better-auth$/,\n /^better-auth\\/(?!client(\\/|$)).+/,\n /^@better-auth\\/drizzle-adapter/,\n \"drizzle-orm\",\n];\n\n/** Rolldown/tsdown — native bindings; stay in CLI node_modules at runtime. */\nexport const CLI_BUILD_TOOL_EXTERNAL_PATTERNS = [\"tsdown\", \"rolldown\", /^@rolldown\\//, \"tsx\"];\n\n/** CLI: inline better-auth/client; keep server + drizzle adapters external. */\nexport function cliBundledEntryDepsConfig() {\n return {\n alwaysBundle: [/^@keystrokehq\\//, ...BETTER_AUTH_CLI_BUNDLE_PATTERNS],\n neverBundle: [\n ...BUNDLED_ENTRY_RUNTIME_EXTERNAL_DEPS,\n ...BETTER_AUTH_CLI_EXTERNAL_PATTERNS,\n ...CLI_BUILD_TOOL_EXTERNAL_PATTERNS,\n // The TS compiler cannot be inlined into ESM (`require`/`__filename` + top-level\n // await → `__filename is not defined` / `ERR_AMBIGUOUS_MODULE_SYNTAX` on load).\n // The CLI inlines the @keystrokehq/* packages that use it (build, manifest,\n // workflow-canvas), so `typescript` must resolve from the CLI's own node_modules —\n // hence it is also a runtime dependency of @keystrokehq/cli.\n \"typescript\",\n ],\n onlyBundle: false,\n };\n}\n","import { bundledEntryDepsConfig, libraryBuildDepsConfig } from \"./deps.js\";\n\nexport {\n isNativeRuntimeDep,\n NATIVE_RUNTIME_DEPS,\n bundledEntryDepsConfig,\n cliBundledEntryDepsConfig,\n libraryBuildDepsConfig,\n userAppBuildDepsConfig,\n} from \"./deps.js\";\n\nexport const baseTsdownConfig = {\n format: [\"esm\", \"cjs\"],\n dts: true,\n clean: true,\n sourcemap: true,\n target: \"node20\",\n deps: libraryBuildDepsConfig(),\n};\n\n/** tsdown config for published bundles (cli, keystroke, platform). */\nexport const bundledEntryTsdownConfig = {\n format: [\"esm\", \"cjs\"],\n dts: true,\n clean: true,\n sourcemap: true,\n target: \"node20\",\n deps: bundledEntryDepsConfig(),\n};\n","import { n as keystrokeIgnoreGuardPlugin, t as walkProject } from \"./walk-project-eIHZ7A1f.mjs\";\nimport { t as resolveModuleDirs } from \"./resolve-module-dirs-BPHQhRGy.mjs\";\nimport { existsSync, mkdirSync, mkdtempSync, readFileSync, readdirSync, rmSync, statSync, writeFileSync } from \"node:fs\";\nimport { dirname, join, relative, sep } from \"node:path\";\nimport { packAssetDirs } from \"@keystrokehq/sandbox/files\";\nimport { baseTsdownConfig, userAppBuildDepsConfig } from \"@keystrokehq/tsdown-config\";\nimport { build, mergeConfig } from \"tsdown\";\nimport { classifyCall, computeCallSiteIds, diagnoseWorkflowSource, locateWorkflow } from \"@keystrokehq/workflow-canvas\";\nimport ts from \"typescript\";\nimport { buildStoredRouteManifestForProject } from \"@keystrokehq/manifest\";\n//#region src/inject-call-site-ids.ts\n/**\n* Build-time injection of the deterministic structural `callSiteId` into every\n* durable step call in a workflow source file, so the runtime emits\n* `step:<callSiteId>#<occurrence>` correlation ids (and `step:<callSiteId>`\n* credential consumer ids) that line up 1:1 with the canvas graph nodes the\n* deploy-time producer mints from the same source. There is no user-authored\n* step id — identity is entirely internal and injected here.\n*\n* Injection shape by kind (the `callSiteId` is the same id `computeCallSiteIds`\n* returns, which equals the producer's step-node id):\n* - action/sub-workflow `x.run(i)` → `x.run(i).__site(\"<id>\")` (builder method)\n* - agent `a.prompt(i, opts?)` → `__site` merged into the prompt options\n* - llm `promptLlm(i, opts?)` → `__site` merged into the options\n* - hook `ctx.hook(opts?)` → `__site` merged into the options\n* - sleep `ctx.sleep(d, opts?)` → `__site` merged into a second options arg\n*/\nfunction injectCallSiteIds(code, fileName) {\n\tconst sourceFile = ts.createSourceFile(fileName, code, ts.ScriptTarget.Latest, true, ts.ScriptKind.TS);\n\tconst located = locateWorkflow(sourceFile);\n\tif (!located) return code;\n\tconst ids = computeCallSiteIds(sourceFile);\n\tif (ids.size === 0) return code;\n\tconst edits = [];\n\tfor (const [node, id] of ids) {\n\t\tconst info = classifyCall(node, located.ctxParamName);\n\t\tif (!info) continue;\n\t\tif (info.callKind === \"workflow-step\") {\n\t\t\tedits.push({\n\t\t\t\tpos: node.getEnd(),\n\t\t\t\ttext: `.__site(${JSON.stringify(id)})`\n\t\t\t});\n\t\t\tcontinue;\n\t\t}\n\t\tif (info.callKind === \"agent\" || info.callKind === \"llm\") {\n\t\t\tpushOptionsEdit(edits, node, id);\n\t\t\tcontinue;\n\t\t}\n\t\tif (info.callKind === \"hook\") {\n\t\t\tpushHookOptionsEdit(edits, node, id);\n\t\t\tcontinue;\n\t\t}\n\t\tif (info.callKind === \"wait\") pushSleepOptionsEdit(edits, node, id);\n\t}\n\tif (edits.length === 0) return code;\n\tedits.sort((a, b) => b.pos - a.pos);\n\tlet out = code;\n\tfor (const edit of edits) out = out.slice(0, edit.pos) + edit.text + out.slice(edit.pos);\n\treturn out;\n}\n/**\n* Merge `__site: \"<id>\"` into a call's options argument (agents / promptLlm).\n* - no 2nd arg → append `, { __site: \"id\" }`\n* - 2nd arg object literal → insert `__site: \"id\", ` after its `{`\n* - 2nd arg anything else → wrap as `{ ...orig, __site: \"id\" }`\n*/\nfunction pushOptionsEdit(edits, call, id) {\n\tconst literal = JSON.stringify(id);\n\tconst optionsArg = call.arguments[1];\n\tif (!optionsArg) {\n\t\tconst firstArg = call.arguments[0];\n\t\tconst insertAt = firstArg ? firstArg.getEnd() : call.getEnd() - 1;\n\t\tedits.push({\n\t\t\tpos: insertAt,\n\t\t\ttext: `, { __site: ${literal} }`\n\t\t});\n\t\treturn;\n\t}\n\tif (ts.isObjectLiteralExpression(optionsArg)) {\n\t\tedits.push({\n\t\t\tpos: optionsArg.getStart() + 1,\n\t\t\ttext: ` __site: ${literal},`\n\t\t});\n\t\treturn;\n\t}\n\tedits.push({\n\t\tpos: optionsArg.getStart(),\n\t\ttext: \"{ ...\"\n\t});\n\tedits.push({\n\t\tpos: optionsArg.getEnd(),\n\t\ttext: `, __site: ${literal} }`\n\t});\n}\n/** Merge `__site` into `ctx.hook(opts?)` — options are the first (only) argument. */\nfunction pushHookOptionsEdit(edits, call, id) {\n\tconst literal = JSON.stringify(id);\n\tconst optionsArg = call.arguments[0];\n\tif (!optionsArg) {\n\t\tedits.push({\n\t\t\tpos: call.getEnd() - 1,\n\t\t\ttext: `{ __site: ${literal} }`\n\t\t});\n\t\treturn;\n\t}\n\tif (ts.isObjectLiteralExpression(optionsArg)) {\n\t\tedits.push({\n\t\t\tpos: optionsArg.getStart() + 1,\n\t\t\ttext: ` __site: ${literal},`\n\t\t});\n\t\treturn;\n\t}\n\tedits.push({\n\t\tpos: optionsArg.getStart(),\n\t\ttext: \"{ ...\"\n\t});\n\tedits.push({\n\t\tpos: optionsArg.getEnd(),\n\t\ttext: `, __site: ${literal} }`\n\t});\n}\n/** Append `{ __site }` as the second arg to `ctx.sleep(duration)`. */\nfunction pushSleepOptionsEdit(edits, call, id) {\n\tconst literal = JSON.stringify(id);\n\tconst durationArg = call.arguments[0];\n\tconst insertAt = durationArg ? durationArg.getEnd() : call.getEnd() - 1;\n\tedits.push({\n\t\tpos: insertAt,\n\t\ttext: `, { __site: ${literal} }`\n\t});\n}\nfunction toPosix$2(path) {\n\treturn path.split(sep).join(\"/\");\n}\n/**\n* Rolldown plugin that runs {@link injectCallSiteIds} over workflow source files\n* (and their same-file helpers) before transpile. Scoped to `src/workflows/` so\n* non-workflow modules are untouched; cross-file helpers stay unkeyed by design.\n*/\nfunction callSiteIdInjectionPlugin(options) {\n\tconst srcDir = options.srcDir ?? \"src\";\n\tconst workflowsPrefix = toPosix$2(`${options.root}/${srcDir}/workflows/`);\n\treturn {\n\t\tname: \"keystroke-call-site-ids\",\n\t\ttransform(code, id) {\n\t\t\tconst normalized = toPosix$2(id);\n\t\t\tif (!normalized.startsWith(workflowsPrefix) || !normalized.endsWith(\".ts\")) return null;\n\t\t\tconst transformed = injectCallSiteIds(code, normalized);\n\t\t\treturn transformed === code ? null : {\n\t\t\t\tcode: transformed,\n\t\t\t\tmap: null\n\t\t\t};\n\t\t}\n\t};\n}\n//#endregion\n//#region src/workflow-diagnostics.ts\nconst TEST_FILE = /\\.(test|int\\.test|spec)\\.ts$/;\nfunction toPosix$1(path) {\n\treturn path.split(sep).join(\"/\");\n}\nfunction collectTsFiles(dir, out) {\n\tlet entries;\n\ttry {\n\t\tentries = readdirSync(dir);\n\t} catch {\n\t\treturn;\n\t}\n\tfor (const entry of entries) {\n\t\tif (entry === \"node_modules\" || entry.startsWith(\".\")) continue;\n\t\tconst full = join(dir, entry);\n\t\tif (statSync(full).isDirectory()) {\n\t\t\tcollectTsFiles(full, out);\n\t\t\tcontinue;\n\t\t}\n\t\tif (entry.endsWith(\".ts\") && !TEST_FILE.test(entry)) out.push(full);\n\t}\n}\n/**\n* Run the workflow-canvas reliability checks over every `src/**` module. Errors\n* (steps outside a workflow, steps nested as call arguments) block the build;\n* warnings (opaque code-blocks, dropped spread inputs) explain each degraded\n* construct. Best-effort per-file: an unparseable file is skipped, never fatal.\n*/\nfunction collectWorkflowDiagnostics(root, srcDir = \"src\") {\n\tconst srcRoot = join(root, srcDir);\n\tif (!existsSync(srcRoot)) return [];\n\tconst files = [];\n\tcollectTsFiles(srcRoot, files);\n\tconst diagnostics = [];\n\tfor (const file of files) {\n\t\tconst rel = toPosix$1(relative(root, file));\n\t\ttry {\n\t\t\tconst source = readFileSync(file, \"utf8\");\n\t\t\tdiagnostics.push(...diagnoseWorkflowSource(source, rel));\n\t\t} catch {}\n\t}\n\treturn diagnostics;\n}\nfunction formatDiagnostic(diagnostic) {\n\treturn ` ${diagnostic.line !== void 0 ? `${diagnostic.fileName}:${diagnostic.line}:${diagnostic.column ?? 1}` : diagnostic.fileName}\\n ${diagnostic.message}`;\n}\n/** Throw when any blocking (error-severity) diagnostic is found. */\nfunction assertWorkflowDiagnosticErrorsFrom(diagnostics) {\n\tconst errors = diagnostics.filter((d) => d.severity === \"error\");\n\tif (errors.length > 0) throw new Error(`Workflow canvas: ${errors.length} unsupported construct(s) must be fixed before deploy:\\n${errors.map(formatDiagnostic).join(\"\\n\")}\\n`);\n}\n/** Print soft (warning-severity) diagnostics after a successful build. */\nfunction warnWorkflowDiagnosticsFrom(diagnostics) {\n\tconst warnings = diagnostics.filter((d) => d.severity === \"warning\");\n\tif (warnings.length > 0) console.warn(`\\n⚠ Workflow canvas: ${warnings.length} construct(s) will render as a degraded (opaque) canvas:\\n${warnings.map(formatDiagnostic).join(\"\\n\")}\\n`);\n}\n/** Throw when any blocking (error-severity) diagnostic is found. Run before building. */\nfunction assertWorkflowDiagnosticErrors(root, srcDir = \"src\") {\n\tassertWorkflowDiagnosticErrorsFrom(collectWorkflowDiagnostics(root, srcDir));\n}\n/** Print soft (warning-severity) diagnostics after a successful build. */\nfunction warnWorkflowDiagnostics(root, srcDir = \"src\") {\n\twarnWorkflowDiagnosticsFrom(collectWorkflowDiagnostics(root, srcDir));\n}\n/**\n* Collect diagnostics, print warnings, and throw a formatted error when any\n* blocking (error-severity) diagnostic is found.\n*\n* @deprecated Prefer {@link assertWorkflowDiagnosticErrors} before build and\n* {@link warnWorkflowDiagnostics} after build so warnings appear below build logs.\n*/\nfunction assertWorkflowDiagnostics(root, srcDir = \"src\") {\n\tconst diagnostics = collectWorkflowDiagnostics(root, srcDir);\n\tassertWorkflowDiagnosticErrorsFrom(diagnostics);\n\twarnWorkflowDiagnosticsFrom(diagnostics);\n}\n//#endregion\n//#region src/resolve-runtime-artifact.ts\nfunction packageRoot(nodeModules, scope, name) {\n\tconst direct = scope ? join(nodeModules, scope, name) : join(nodeModules, name);\n\tif (existsSync(join(direct, \"package.json\"))) return direct;\n\tconst pnpmDir = join(nodeModules, \".pnpm\");\n\tif (!existsSync(pnpmDir)) return null;\n\tfor (const entry of readdirSync(pnpmDir)) {\n\t\tconst candidate = scope ? join(pnpmDir, entry, \"node_modules\", scope, name) : join(pnpmDir, entry, \"node_modules\", name);\n\t\tif (existsSync(join(candidate, \"package.json\"))) return candidate;\n\t}\n\treturn null;\n}\n/** Resolve a file shipped with `@keystrokehq/build` inside the CLI runtime. */\nfunction resolveRuntimeBuildArtifact(runtimeNodeModules, relativePath) {\n\tconst pkgRoot = packageRoot(runtimeNodeModules, \"@keystrokehq\", \"build\");\n\tif (!pkgRoot) throw new Error(\"Keystroke runtime is missing @keystrokehq/build\");\n\tconst artifact = join(pkgRoot, relativePath);\n\tif (!existsSync(artifact)) throw new Error(`Keystroke runtime artifact not found: ${relativePath}`);\n\treturn artifact;\n}\n//#endregion\n//#region src/vitest-plugin.ts\nconst ASSETS_MODULE$1 = \"@keystrokehq/assets\";\nconst virtualPrefix = `\\0${ASSETS_MODULE$1}:`;\n/** Vitest plugin resolving `@keystrokehq/assets` from disk. */\nfunction agentAssetsVitestPlugin(appRoot = process.cwd()) {\n\tlet manifest = null;\n\treturn {\n\t\tname: \"keystroke-assets\",\n\t\tresolveId(source) {\n\t\t\tif (source !== ASSETS_MODULE$1) return null;\n\t\t\treturn `${virtualPrefix}manifest`;\n\t\t},\n\t\tload(id) {\n\t\t\tif (id !== `${virtualPrefix}manifest`) return null;\n\t\t\tmanifest ??= packAssetDirs(appRoot);\n\t\t\treturn `export default ${JSON.stringify(manifest)};`;\n\t\t}\n\t};\n}\nfunction findAppRootFromConfig(configFile) {\n\tif (!configFile) return process.cwd();\n\treturn dirname(configFile);\n}\nfunction agentAssetsVitestPluginFromConfig(configFile) {\n\treturn agentAssetsVitestPlugin(findAppRootFromConfig(configFile));\n}\n//#endregion\n//#region src/resolve-build-filter.ts\n/** Resolve exact build-entry keys for a filtered deploy build. */\nfunction resolveBuildFilter(filter, buildEntries) {\n\tif (filter.length === 0) throw new Error(\"At least one --filter entry is required\");\n\tconst matched = {};\n\tfor (const key of [...new Set(filter)]) {\n\t\tconst entryPath = buildEntries[key];\n\t\tif (!entryPath) throw new Error(`Unknown build entry \"${key}\". Use keys like agents/foo or workflows/bar from walkProject.`);\n\t\tmatched[key] = entryPath;\n\t}\n\treturn matched;\n}\n//#endregion\n//#region src/build-filtered.ts\nfunction toPosix(path) {\n\treturn path.replace(/\\\\/g, \"/\");\n}\nfunction distRelativePath(entryKey) {\n\treturn `${entryKey}.mjs`;\n}\nasync function buildSingleEntry(root, entryKey, entryPath, ignoredFiles) {\n\tmkdirSync(join(root, \".keystroke\"), { recursive: true });\n\tconst scratchRoot = mkdtempSync(join(root, \".keystroke\", \"filter-build-\"));\n\tconst outDir = join(scratchRoot, \"dist\");\n\tconst relativePath = distRelativePath(entryKey);\n\tawait build(mergeConfig(baseTsdownConfig, {\n\t\tentry: { [entryKey]: entryPath },\n\t\tformat: [\"esm\"],\n\t\toutDir,\n\t\tclean: true,\n\t\tdts: false,\n\t\tloader: { \".md\": \"text\" },\n\t\tdeps: userAppBuildDepsConfig(),\n\t\tplugins: [keystrokeIgnoreGuardPlugin({\n\t\t\troot,\n\t\t\tignoredFiles\n\t\t})]\n\t}));\n\treturn {\n\t\tscratchRoot,\n\t\trelativePath\n\t};\n}\nasync function manifestEntriesForBuiltModule(root, entryPath, relativePath, contents, sourceMap) {\n\tconst moduleFile = toPosix(relative(root, entryPath));\n\tconst distPath = join(root, \"dist\", relativePath);\n\tconst distMapPath = `${distPath}.map`;\n\tconst previousDist = existsSync(distPath) ? readFileSync(distPath) : void 0;\n\tconst hadMap = existsSync(distMapPath);\n\tconst previousMap = hadMap ? readFileSync(distMapPath) : void 0;\n\tmkdirSync(dirname(distPath), { recursive: true });\n\twriteFileSync(distPath, contents);\n\tif (sourceMap) writeFileSync(distMapPath, sourceMap);\n\ttry {\n\t\treturn (await buildStoredRouteManifestForProject(root, { reloadModules: true })).entries.filter((entry) => \"moduleFile\" in entry && entry.moduleFile === moduleFile);\n\t} finally {\n\t\tif (previousDist) writeFileSync(distPath, previousDist);\n\t\telse rmSync(distPath, { force: true });\n\t\tif (previousMap) writeFileSync(distMapPath, previousMap);\n\t\telse if (sourceMap || hadMap) rmSync(distMapPath, { force: true });\n\t}\n}\n/** Build selected modules in isolation for a filtered deploy merge. */\nasync function buildFilteredApp(options) {\n\tconst root = options.root ?? process.cwd();\n\tconst srcDir = options.srcDir ?? \"src\";\n\tconst phase = options.phase ?? \"deploy\";\n\tconst collectSources = options.collectSources ?? false;\n\tconst previous = process.cwd();\n\tconst workflowDiagnostics = collectWorkflowDiagnostics(root, srcDir);\n\tassertWorkflowDiagnosticErrorsFrom(workflowDiagnostics);\n\tconst walked = walkProject(root, {\n\t\tsrcDir,\n\t\tcollectSources,\n\t\tphase\n\t});\n\tconst matched = resolveBuildFilter(options.filter, walked.buildEntries);\n\tconst files = [];\n\tconst manifestEntries = [];\n\ttry {\n\t\tprocess.chdir(root);\n\t\tfor (const [entryKey, entryPath] of Object.entries(matched)) {\n\t\t\tconst { scratchRoot, relativePath } = await buildSingleEntry(root, entryKey, entryPath, walked.ignoredFiles);\n\t\t\ttry {\n\t\t\t\tconst builtPath = join(scratchRoot, \"dist\", relativePath);\n\t\t\t\tconst mapPath = `${builtPath}.map`;\n\t\t\t\tconst contents = readFileSync(builtPath);\n\t\t\t\tconst sourceMap = existsSync(mapPath) ? readFileSync(mapPath) : void 0;\n\t\t\t\tfiles.push({\n\t\t\t\t\tentryKey,\n\t\t\t\t\trelativePath,\n\t\t\t\t\tcontents,\n\t\t\t\t\tsourceMap\n\t\t\t\t});\n\t\t\t\tmanifestEntries.push(...await manifestEntriesForBuiltModule(root, entryPath, relativePath, contents, sourceMap));\n\t\t\t} finally {\n\t\t\t\trmSync(scratchRoot, {\n\t\t\t\t\trecursive: true,\n\t\t\t\t\tforce: true\n\t\t\t\t});\n\t\t\t}\n\t\t}\n\t} finally {\n\t\twarnWorkflowDiagnosticsFrom(workflowDiagnostics);\n\t\tprocess.chdir(previous);\n\t}\n\treturn {\n\t\tfiles,\n\t\tmanifestEntries,\n\t\tsourceFiles: walked.sourceFiles\n\t};\n}\n//#endregion\n//#region src/index.ts\nconst ASSETS_MODULE = \"@keystrokehq/assets\";\nconst VIRTUAL_PREFIX = `\\0${ASSETS_MODULE}:`;\nfunction renderAssetModule(manifest) {\n\treturn `export default ${JSON.stringify(manifest)};\\n`;\n}\n/** Rolldown plugin: pack src/skills + src/files and expose `@keystrokehq/assets`. */\nfunction agentAssetsPlugin(options) {\n\tconst srcDir = options.srcDir ?? \"src\";\n\tlet manifest = null;\n\treturn {\n\t\tname: \"keystroke-assets\",\n\t\tbuildStart() {\n\t\t\tmanifest = packAssetDirs(options.root, srcDir);\n\t\t},\n\t\tresolveId(source) {\n\t\t\tif (source !== ASSETS_MODULE) return null;\n\t\t\treturn `${VIRTUAL_PREFIX}manifest`;\n\t\t},\n\t\tload(id) {\n\t\t\tif (id !== `${VIRTUAL_PREFIX}manifest` || !manifest) return null;\n\t\t\treturn renderAssetModule(manifest);\n\t\t},\n\t\tbuildEnd() {\n\t\t\tif (!manifest) return;\n\t\t\tconst outDir = join(options.root, options.outDir ?? \"dist\", \".keystroke\");\n\t\t\tmkdirSync(outDir, { recursive: true });\n\t\t\twriteFileSync(join(outDir, \"assets.mjs\"), renderAssetModule(manifest));\n\t\t}\n\t};\n}\n/** Full tsdown config for user keystroke apps (config + discovered modules only). */\nfunction createAppBuildConfig(options = {}, walked) {\n\tconst root = options.root ?? process.cwd();\n\tconst srcDir = options.srcDir ?? \"src\";\n\tconst outDir = options.outDir ?? \"dist\";\n\tconst configEntry = existsSync(join(root, \"keystroke.config.ts\")) ? join(root, \"keystroke.config.ts\") : void 0;\n\tconst walkedResult = walked ?? walkProject(root, {\n\t\tsrcDir,\n\t\tphase: options.phase\n\t});\n\tconst discovered = walkedResult.buildEntries;\n\tconst ignoredFiles = walkedResult.ignoredFiles;\n\tconst entries = {\n\t\t...configEntry ? { config: configEntry } : {},\n\t\t...discovered\n\t};\n\tif (Object.keys(entries).length === 0) throw new Error(\"Nothing to build — add keystroke.config.ts or modules under src/\");\n\treturn mergeConfig(baseTsdownConfig, {\n\t\tentry: entries,\n\t\tformat: [\"esm\"],\n\t\toutDir: join(root, outDir),\n\t\tclean: options.clean ?? true,\n\t\tdts: false,\n\t\tloader: { \".md\": \"text\" },\n\t\tdeps: userAppBuildDepsConfig(),\n\t\tplugins: [\n\t\t\tkeystrokeIgnoreGuardPlugin({\n\t\t\t\troot,\n\t\t\t\tignoredFiles\n\t\t\t}),\n\t\t\tcallSiteIdInjectionPlugin({\n\t\t\t\troot,\n\t\t\t\tsrcDir\n\t\t\t}),\n\t\t\tagentAssetsPlugin({\n\t\t\t\troot,\n\t\t\t\tsrcDir,\n\t\t\t\toutDir\n\t\t\t})\n\t\t]\n\t});\n}\n/** Build user agents, workflows, triggers, and config to `dist/`. */\nasync function buildApp(options = {}) {\n\tconst root = options.root ?? process.cwd();\n\tconst srcDir = options.srcDir ?? \"src\";\n\tconst emitManifest = options.emitManifest ?? true;\n\tconst collectSources = options.collectSources ?? false;\n\tconst phase = options.phase ?? \"build\";\n\tconst previous = process.cwd();\n\tconst walked = walkProject(root, {\n\t\tsrcDir,\n\t\tcollectSources,\n\t\tphase\n\t});\n\ttry {\n\t\tprocess.chdir(root);\n\t\tconst workflowDiagnostics = collectWorkflowDiagnostics(root, srcDir);\n\t\tassertWorkflowDiagnosticErrorsFrom(workflowDiagnostics);\n\t\ttry {\n\t\t\tawait build(createAppBuildConfig({\n\t\t\t\t...options,\n\t\t\t\troot\n\t\t\t}, {\n\t\t\t\tbuildEntries: walked.buildEntries,\n\t\t\t\tignoredFiles: walked.ignoredFiles\n\t\t\t}));\n\t\t} finally {\n\t\t\twarnWorkflowDiagnosticsFrom(workflowDiagnostics);\n\t\t}\n\t\tif (emitManifest) {\n\t\t\tconst { emitStoredRouteManifestForProject } = await import(\"@keystrokehq/manifest\");\n\t\t\tawait emitStoredRouteManifestForProject(root);\n\t\t}\n\t} finally {\n\t\tprocess.chdir(previous);\n\t}\n\treturn { sourceFiles: walked.sourceFiles };\n}\n/**\n* Watch `src/` and rebuild `dist/` on change.\n*\n* NOT true hot reload — each change runs a full tsdown rebuild. Callers should\n* restart the API server in `onRebuild` so discovery picks up new/changed modules.\n*/\nasync function watchApp(options = {}) {\n\tconst { runWatchApp } = await import(\"./watch-app-DTIeKrbl.mjs\");\n\tawait runWatchApp((watchOptions) => buildApp({\n\t\t...watchOptions,\n\t\temitManifest: false,\n\t\tcollectSources: false\n\t}), options);\n}\n//#endregion\nexport { agentAssetsVitestPlugin, agentAssetsVitestPluginFromConfig, assertWorkflowDiagnosticErrors, assertWorkflowDiagnosticErrorsFrom, assertWorkflowDiagnostics, buildApp, buildFilteredApp, callSiteIdInjectionPlugin, collectWorkflowDiagnostics, createAppBuildConfig, injectCallSiteIds, resolveBuildFilter, resolveModuleDirs, resolveRuntimeBuildArtifact, warnWorkflowDiagnostics, warnWorkflowDiagnosticsFrom, watchApp };\n\n//# sourceMappingURL=index.mjs.map"],"mappings":";;;;;;;;;;AAMA,SAASA,YAAU,MAAM;CACxB,OAAO,KAAK,MAAM,GAAG,EAAE,KAAK,GAAG;AAChC;AACA,SAAS,oBAAoB,MAAM,UAAU;CAC5C,OAAOA,YAAU,SAAS,MAAM,uBAAuB,QAAQ,CAAC,CAAC;AAClE;;AAEA,SAAS,uBAAuB,UAAU;CACzC,MAAM,WAAW,QAAQ,QAAQ;CACjC,IAAI;EACH,OAAO,aAAa,OAAO,QAAQ;CACpC,QAAQ;EACP,OAAO;CACR;AACD;AACA,SAAS,kBAAkB,IAAI,MAAM;CACpC,IAAI,GAAG,WAAW,IAAI,GAAG,OAAO;CAChC,MAAM,aAAa,uBAAuB,GAAG,WAAW,SAAS,IAAI,cAAc,EAAE,IAAI,EAAE;CAC3F,IAAI,CAAC,WAAW,WAAW,uBAAuB,IAAI,CAAC,GAAG,OAAO;CACjE,OAAO;AACR;AACA,SAAS,uBAAuB,MAAM,aAAa,UAAU;CAC5D,MAAM,UAAU,oBAAoB,MAAM,WAAW;CACrD,IAAI,UAAU,OAAO,kBAAkB,QAAQ,8BAA8B,oBAAoB,MAAM,QAAQ,EAAE;CACjH,OAAO,kBAAkB,QAAQ;AAClC;;AAEA,SAAS,2BAA2B,SAAS;CAC5C,MAAM,OAAO,uBAAuB,QAAQ,IAAI;CAChD,MAAM,eAAe,IAAI,IAAI,QAAQ,aAAa,KAAK,aAAa,uBAAuB,QAAQ,CAAC,CAAC;CACrG,SAAS,iBAAiB,UAAU,UAAU;EAC7C,MAAM,aAAa,uBAAuB,QAAQ;EAClD,IAAI,CAAC,aAAa,IAAI,UAAU,GAAG;EACnC,MAAM,IAAI,MAAM,uBAAuB,MAAM,YAAY,QAAQ,CAAC;CACnE;CACA,OAAO;EACN,MAAM;EACN,MAAM,UAAU,QAAQ,UAAU,gBAAgB;GACjD,IAAI,gBAAgB,WAAW,CAAC,UAAU,OAAO;GACjD,MAAM,WAAW,MAAM,KAAK,QAAQ,QAAQ,UAAU;IACrD,GAAG;IACH,UAAU;GACX,CAAC;GACD,IAAI,CAAC,UAAU,OAAO;GACtB,iBAAiB,OAAO,aAAa,WAAW,WAAW,SAAS,IAAI,QAAQ;GAChF,OAAO;EACR;EACA,KAAK,IAAI;GACR,MAAM,aAAa,kBAAkB,IAAI,IAAI;GAC7C,IAAI,CAAC,YAAY,OAAO;GACxB,iBAAiB,UAAU;GAC3B,OAAO;EACR;CACD;AACD;AAGA,MAAM,eAAe,IAAI,IAAI;CAC5B;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;AACD,CAAC;AACD,MAAM,mBAAmB;AACzB,MAAM,mBAAmB;AACzB,SAAS,cAAc,MAAM;CAC5B,OAAO,iBAAiB,KAAK,IAAI,KAAK,iBAAiB,KAAK,IAAI;AACjE;AACA,SAASC,UAAQ,MAAM;CACtB,OAAO,KAAK,MAAM,GAAG,EAAE,KAAK,GAAG;AAChC;AACA,SAAS,iBAAiB,QAAQ;CACjC,MAAM,eAAe,KAAK,IAAI,OAAO,QAAQ,GAAG;CAChD,KAAK,IAAI,QAAQ,GAAG,QAAQ,cAAc,SAAS,GAAG,IAAI,OAAO,WAAW,GAAG,OAAO;CACtF,OAAO;AACR;AACA,SAAS,mBAAmB,MAAM,SAAS,UAAU;CACpD,MAAM,eAAeA,UAAQ,SAAS,MAAM,QAAQ,CAAC;CACrD,MAAM,eAAe,GAAGA,UAAQ,SAAS,MAAM,KAAK,SAAS,QAAQ,CAAC,CAAC,EAAE;CACzE,MAAM,kBAAkB,GAAGA,UAAQ,SAAS,MAAM,KAAK,SAAS,WAAW,CAAC,CAAC,EAAE;CAC/E,MAAM,iBAAiB,GAAGA,UAAQ,SAAS,MAAM,KAAK,SAAS,UAAU,CAAC,CAAC,EAAE;CAC7E,MAAM,gBAAgB,GAAGA,UAAQ,SAAS,MAAM,KAAK,SAAS,SAAS,CAAC,CAAC,EAAE;CAC3E,IAAI,aAAa,WAAW,YAAY,KAAK,cAAc,KAAK,YAAY,KAAK,CAAC,4BAA4B,KAAK,YAAY,GAAG;EACjI,MAAM,KAAK,gBAAgB,KAAK,SAAS,QAAQ,GAAG,UAAU,EAAE,aAAa,QAAQ,CAAC;EACtF,OAAO,KAAK;GACX,UAAU,UAAU;GACpB,WAAW;EACZ,IAAI;CACL;CACA,IAAI,aAAa,WAAW,aAAa,KAAK,cAAc,KAAK,YAAY,KAAK,CAAC,4BAA4B,KAAK,YAAY,GAAG;EAClI,MAAM,KAAK,gBAAgB,KAAK,SAAS,SAAS,GAAG,UAAU,EAAE,aAAa,SAAS,CAAC;EACxF,OAAO,KAAK;GACX,UAAU,WAAW;GACrB,WAAW;EACZ,IAAI;CACL;CACA,IAAI,aAAa,WAAW,eAAe,KAAK,cAAc,KAAK,YAAY,KAAK,CAAC,4BAA4B,KAAK,YAAY,GAAG;EACpI,MAAM,KAAK,gBAAgB,KAAK,SAAS,WAAW,GAAG,UAAU,EAAE,aAAa,WAAW,CAAC;EAC5F,OAAO,KAAK;GACX,UAAU,aAAa;GACvB,WAAW;EACZ,IAAI;CACL;CACA,IAAI,aAAa,WAAW,cAAc,KAAK,cAAc,KAAK,YAAY,KAAK,CAAC,4BAA4B,KAAK,YAAY,GAAG;EACnI,MAAM,KAAK,gBAAgB,KAAK,SAAS,UAAU,GAAG,UAAU,EAAE,aAAa,UAAU,CAAC;EAC1F,OAAO,KAAK;GACX,UAAU,YAAY;GACtB,WAAW;EACZ,IAAI;CACL;CACA,OAAO;AACR;AACA,SAAS,wBAAwB,UAAU,OAAO;CACjD,OAAO,8BAA8B,6BAA6B,QAAQ,GAAG,KAAK;AACnF;AACA,SAAS,oBAAoB,SAAS,UAAU;CAC/C,MAAM,eAAeA,UAAQ,SAAS,SAAS,QAAQ,CAAC;CACxD,IAAI,aAAa,WAAW,IAAI,GAAG,OAAO;CAC1C,OAAO,cAAc,KAAK,YAAY;AACvC;AACA,SAAS,SAAS,MAAM,KAAK,SAAS,OAAO,gBAAgB,aAAa,cAAc,cAAc,QAAQ;CAC7G,KAAK,MAAM,QAAQ,YAAY,GAAG,EAAE,KAAK,GAAG;EAC3C,IAAI,mBAAmB,YAAY,UAAU,OAAO,OAAO,SAAS,UAAU;EAC9E,MAAM,WAAW,KAAK,KAAK,IAAI;EAC/B,MAAM,QAAQ,SAAS,QAAQ;EAC/B,IAAI,MAAM,YAAY,GAAG;GACxB,IAAI,aAAa,IAAI,IAAI,GAAG;GAC5B,SAAS,MAAM,UAAU,SAAS,OAAO,gBAAgB,aAAa,cAAc,cAAc,MAAM;GACxG;EACD;EACA,IAAI,CAAC,MAAM,OAAO,GAAG;EACrB,MAAM,aAAa,oBAAoB,SAAS,QAAQ;EACxD,MAAM,cAAc,aAAa,wBAAwB,UAAU,KAAK,IAAI;EAC5E,IAAI,cAAc,aAAa,aAAa,KAAK,uBAAuB,QAAQ,CAAC;EACjF,MAAM,aAAa,mBAAmB,MAAM,SAAS,QAAQ;EAC7D,IAAI,cAAc,CAAC,aAAa,aAAa,WAAW,YAAY,WAAW;EAC/E,IAAI,CAAC,gBAAgB;EACrB,IAAI,MAAM,OAAO,UAAU,cAAc,IAAI,GAAG;EAChD,MAAM,SAAS,aAAa,QAAQ;EACpC,IAAI,iBAAiB,MAAM,GAAG;EAC9B,OAAO,SAAS,OAAO;EACvB,YAAY,KAAK;GAChB,MAAMA,UAAQ,SAAS,MAAM,QAAQ,CAAC;GACtC,UAAU,OAAO,SAAS,MAAM;GAChC,MAAM,WAAW,QAAQ,EAAE,OAAO,MAAM,EAAE,OAAO,KAAK;EACvD,CAAC;CACF;AACD;;;;;AAKA,SAAS,YAAY,MAAM,kBAAkB,OAAO,cAAc;CACjE,MAAM,SAAS,OAAO,oBAAoB,WAAW,kBAAkB,gBAAgB,UAAU;CACjG,MAAM,UAAU,OAAO,oBAAoB,WAAW,gBAAgB,CAAC,IAAI;CAC3E,MAAM,iBAAiB,QAAQ,kBAAkB;CACjD,MAAM,QAAQ,QAAQ,SAAS;CAC/B,MAAM,cAAc,CAAC;CACrB,MAAM,eAAe,CAAC;CACtB,MAAM,eAAe,CAAC;CACtB,SAAS,MAAM,MAAM,KAAK,MAAM,MAAM,GAAG,OAAO,gBAAgB,aAAa,cAAc,cAAc,EAAE,OAAO,EAAE,CAAC;CACrH,OAAO;EACN;EACA;EACA;CACD;AACD;;;;AC9KA,MAAa,sBAAsB;CAAC;CAAM;CAAkB;AAAiB;;;;;;;;;;;;AAa7E,MAAa,6BAA6B,IAAI,IAAI;CAChD;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;AACF,CAAC;;AAGD,MAAa,+BAA+B,IAAI,OAC9C,sBAAsB,CAAC,GAAG,0BAA0B,EAAE,KAAK,EAAE,KAAK,GAAG,EAAE,WACzE;AAEA,SAAS,qBAAqB,MAAM;CAClC,IAAI,CAAC,KAAK,WAAW,eAAe,GAClC,OAAO;CAGT,OAAO,KAAK,MAAM,EAAsB,EAAE,MAAM,GAAG,EAAE,MAAM;AAC7D;AAEA,SAAS,0BAA0B,MAAM;CACvC,MAAM,MAAM,qBAAqB,IAAI;CACrC,OAAO,QAAQ,QAAQ,2BAA2B,IAAI,GAAG;AAC3D;;;;;;;;;;AAWA,MAAa,wBAAwB;CACnC;CACA;CACA;CACA;AACF;;AAiBA,MAAa,8BAA8B,CACzC,GAAG;CAdH,GAAG;CACH;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;AAKG,GACH,GAAG,qBACL;;AAGA,MAAa,qCAAqC,CAChD,yBACA,wBACF;AASA,SAAgB,mBAAmB,IAAI;CACrC,OAAO,oBAAoB,MAAM,QAAQ,OAAO,OAAO,GAAG,WAAW,GAAG,IAAI,EAAE,CAAC;AACjF;AAEA,SAAS,YAAY,IAAI;CACvB,IAAI,GAAG,WAAW,GAAG,GAAG;EACtB,MAAM,CAAC,OAAO,QAAQ,GAAG,MAAM,GAAG;EAClC,OAAO,OAAO,GAAG,MAAM,GAAG,SAAS;CACrC;CAEA,OAAO,GAAG,MAAM,GAAG,EAAE,MAAM;AAC7B;AAEA,SAAS,kBAAkB,IAAI;CAC7B,MAAM,OAAO,YAAY,EAAE;CAC3B,IAAI,mBAAmB,IAAI,GACzB,OAAO;CAGT,IAAI,KAAK,WAAW,eAAe,GACjC,OAAO,0BAA0B,IAAI;CAGvC,IAAI,SAAS,iBAAiB,KAAK,WAAW,eAAe,GAC3D,OAAO;CAGT,OAAO;AACT;;AAGA,SAAgB,yBAAyB;CACvC,OAAO;EACL,eAAe,QAAQ;EACvB,aAAa;GAAC,GAAG;GAAqB;GAAmB,GAAG;EAAqB;EACjF,YAAY;CACd;AACF;;AAGA,SAAgB,yBAAyB;CACvC,OAAO;EACL,eAAe,IAAI,cAAc;GAC/B,IAAI,GAAG,WAAW,GAAG,KAAK,GAAG,WAAW,GAAG,KAAK,UAAU,EAAE,GAC1D,OAAO;GAGT,OAAO,kBAAkB,EAAE,IAAI,OAAO;EACxC;EACA,aAAa;GAAC,GAAG;GAAqB;GAA8B,GAAG;EAAqB;EAC5F,YAAY;CACd;AACF;;;;;;AAOA,SAAgB,yBAAyB;CACvC,OAAO;EACL,cAAc,CAAC,iBAAiB;EAChC,aAAa,CAAC,GAAG,2BAA2B;EAC5C,YAAY;CACd;AACF;AAG+C,CAC7C,GAAG,kCAEL;;;ACrLA,MAAa,mBAAmB;CAC9B,QAAQ,CAAC,OAAO,KAAK;CACrB,KAAK;CACL,OAAO;CACP,WAAW;CACX,QAAQ;CACR,MAAM,uBAAuB;AAC/B;AASQ,uBAAuB;;;;;;;;;;;;;;;;;;;ACA/B,SAAS,kBAAkB,MAAM,UAAU;CAC1C,MAAM,aAAa,GAAG,iBAAiB,UAAU,MAAM,GAAG,aAAa,QAAQ,MAAM,GAAG,WAAW,EAAE;CACrG,MAAM,UAAU,eAAe,UAAU;CACzC,IAAI,CAAC,SAAS,OAAO;CACrB,MAAM,MAAM,mBAAmB,UAAU;CACzC,IAAI,IAAI,SAAS,GAAG,OAAO;CAC3B,MAAM,QAAQ,CAAC;CACf,KAAK,MAAM,CAAC,MAAM,OAAO,KAAK;EAC7B,MAAM,OAAO,aAAa,MAAM,QAAQ,YAAY;EACpD,IAAI,CAAC,MAAM;EACX,IAAI,KAAK,aAAa,iBAAiB;GACtC,MAAM,KAAK;IACV,KAAK,KAAK,OAAO;IACjB,MAAM,WAAW,KAAK,UAAU,EAAE,EAAE;GACrC,CAAC;GACD;EACD;EACA,IAAI,KAAK,aAAa,WAAW,KAAK,aAAa,OAAO;GACzD,gBAAgB,OAAO,MAAM,EAAE;GAC/B;EACD;EACA,IAAI,KAAK,aAAa,QAAQ;GAC7B,oBAAoB,OAAO,MAAM,EAAE;GACnC;EACD;EACA,IAAI,KAAK,aAAa,QAAQ,qBAAqB,OAAO,MAAM,EAAE;CACnE;CACA,IAAI,MAAM,WAAW,GAAG,OAAO;CAC/B,MAAM,MAAM,GAAG,MAAM,EAAE,MAAM,EAAE,GAAG;CAClC,IAAI,MAAM;CACV,KAAK,MAAM,QAAQ,OAAO,MAAM,IAAI,MAAM,GAAG,KAAK,GAAG,IAAI,KAAK,OAAO,IAAI,MAAM,KAAK,GAAG;CACvF,OAAO;AACR;;;;;;;AAOA,SAAS,gBAAgB,OAAO,MAAM,IAAI;CACzC,MAAM,UAAU,KAAK,UAAU,EAAE;CACjC,MAAM,aAAa,KAAK,UAAU;CAClC,IAAI,CAAC,YAAY;EAChB,MAAM,WAAW,KAAK,UAAU;EAChC,MAAM,WAAW,WAAW,SAAS,OAAO,IAAI,KAAK,OAAO,IAAI;EAChE,MAAM,KAAK;GACV,KAAK;GACL,MAAM,eAAe,QAAQ;EAC9B,CAAC;EACD;CACD;CACA,IAAI,GAAG,0BAA0B,UAAU,GAAG;EAC7C,MAAM,KAAK;GACV,KAAK,WAAW,SAAS,IAAI;GAC7B,MAAM,YAAY,QAAQ;EAC3B,CAAC;EACD;CACD;CACA,MAAM,KAAK;EACV,KAAK,WAAW,SAAS;EACzB,MAAM;CACP,CAAC;CACD,MAAM,KAAK;EACV,KAAK,WAAW,OAAO;EACvB,MAAM,aAAa,QAAQ;CAC5B,CAAC;AACF;;AAEA,SAAS,oBAAoB,OAAO,MAAM,IAAI;CAC7C,MAAM,UAAU,KAAK,UAAU,EAAE;CACjC,MAAM,aAAa,KAAK,UAAU;CAClC,IAAI,CAAC,YAAY;EAChB,MAAM,KAAK;GACV,KAAK,KAAK,OAAO,IAAI;GACrB,MAAM,aAAa,QAAQ;EAC5B,CAAC;EACD;CACD;CACA,IAAI,GAAG,0BAA0B,UAAU,GAAG;EAC7C,MAAM,KAAK;GACV,KAAK,WAAW,SAAS,IAAI;GAC7B,MAAM,YAAY,QAAQ;EAC3B,CAAC;EACD;CACD;CACA,MAAM,KAAK;EACV,KAAK,WAAW,SAAS;EACzB,MAAM;CACP,CAAC;CACD,MAAM,KAAK;EACV,KAAK,WAAW,OAAO;EACvB,MAAM,aAAa,QAAQ;CAC5B,CAAC;AACF;;AAEA,SAAS,qBAAqB,OAAO,MAAM,IAAI;CAC9C,MAAM,UAAU,KAAK,UAAU,EAAE;CACjC,MAAM,cAAc,KAAK,UAAU;CACnC,MAAM,WAAW,cAAc,YAAY,OAAO,IAAI,KAAK,OAAO,IAAI;CACtE,MAAM,KAAK;EACV,KAAK;EACL,MAAM,eAAe,QAAQ;CAC9B,CAAC;AACF;AACA,SAAS,UAAU,MAAM;CACxB,OAAO,KAAK,MAAM,GAAG,EAAE,KAAK,GAAG;AAChC;;;;;;AAMA,SAAS,0BAA0B,SAAS;CAC3C,MAAM,SAAS,QAAQ,UAAU;CACjC,MAAM,kBAAkB,UAAU,GAAG,QAAQ,KAAK,GAAG,OAAO,YAAY;CACxE,OAAO;EACN,MAAM;EACN,UAAU,MAAM,IAAI;GACnB,MAAM,aAAa,UAAU,EAAE;GAC/B,IAAI,CAAC,WAAW,WAAW,eAAe,KAAK,CAAC,WAAW,SAAS,KAAK,GAAG,OAAO;GACnF,MAAM,cAAc,kBAAkB,MAAM,UAAU;GACtD,OAAO,gBAAgB,OAAO,OAAO;IACpC,MAAM;IACN,KAAK;GACN;EACD;CACD;AACD;AAGA,MAAM,YAAY;AAClB,SAAS,UAAU,MAAM;CACxB,OAAO,KAAK,MAAM,GAAG,EAAE,KAAK,GAAG;AAChC;AACA,SAAS,eAAe,KAAK,KAAK;CACjC,IAAI;CACJ,IAAI;EACH,UAAU,YAAY,GAAG;CAC1B,QAAQ;EACP;CACD;CACA,KAAK,MAAM,SAAS,SAAS;EAC5B,IAAI,UAAU,kBAAkB,MAAM,WAAW,GAAG,GAAG;EACvD,MAAM,OAAO,KAAK,KAAK,KAAK;EAC5B,IAAI,SAAS,IAAI,EAAE,YAAY,GAAG;GACjC,eAAe,MAAM,GAAG;GACxB;EACD;EACA,IAAI,MAAM,SAAS,KAAK,KAAK,CAAC,UAAU,KAAK,KAAK,GAAG,IAAI,KAAK,IAAI;CACnE;AACD;;;;;;;AAOA,SAAS,2BAA2B,MAAM,SAAS,OAAO;CACzD,MAAM,UAAU,KAAK,MAAM,MAAM;CACjC,IAAI,CAAC,WAAW,OAAO,GAAG,OAAO,CAAC;CAClC,MAAM,QAAQ,CAAC;CACf,eAAe,SAAS,KAAK;CAC7B,MAAM,cAAc,CAAC;CACrB,KAAK,MAAM,QAAQ,OAAO;EACzB,MAAM,MAAM,UAAU,SAAS,MAAM,IAAI,CAAC;EAC1C,IAAI;GACH,MAAM,SAAS,aAAa,MAAM,MAAM;GACxC,YAAY,KAAK,GAAG,uBAAuB,QAAQ,GAAG,CAAC;EACxD,QAAQ,CAAC;CACV;CACA,OAAO;AACR;AACA,SAAS,iBAAiB,YAAY;CACrC,OAAO,KAAK,WAAW,SAAS,KAAK,IAAI,GAAG,WAAW,SAAS,GAAG,WAAW,KAAK,GAAG,WAAW,UAAU,MAAM,WAAW,SAAS,QAAQ,WAAW;AACzJ;;AAEA,SAAS,mCAAmC,aAAa;CACxD,MAAM,SAAS,YAAY,QAAQ,MAAM,EAAE,aAAa,OAAO;CAC/D,IAAI,OAAO,SAAS,GAAG,MAAM,IAAI,MAAM,oBAAoB,OAAO,OAAO,0DAA0D,OAAO,IAAI,gBAAgB,EAAE,KAAK,IAAI,EAAE,GAAG;AAC/K;;AAEA,SAAS,4BAA4B,aAAa;CACjD,MAAM,WAAW,YAAY,QAAQ,MAAM,EAAE,aAAa,SAAS;CACnE,IAAI,SAAS,SAAS,GAAG,QAAQ,KAAK,wBAAwB,SAAS,OAAO,4DAA4D,SAAS,IAAI,gBAAgB,EAAE,KAAK,IAAI,EAAE,GAAG;AACxL;AAuBA,SAAS,YAAY,aAAa,OAAO,MAAM;CAC9C,MAAM,SAAS,QAAQ,KAAK,aAAa,OAAO,IAAI,IAAI,KAAK,aAAa,IAAI;CAC9E,IAAI,WAAW,KAAK,QAAQ,cAAc,CAAC,GAAG,OAAO;CACrD,MAAM,UAAU,KAAK,aAAa,OAAO;CACzC,IAAI,CAAC,WAAW,OAAO,GAAG,OAAO;CACjC,KAAK,MAAM,SAAS,YAAY,OAAO,GAAG;EACzC,MAAM,YAAY,QAAQ,KAAK,SAAS,OAAO,gBAAgB,OAAO,IAAI,IAAI,KAAK,SAAS,OAAO,gBAAgB,IAAI;EACvH,IAAI,WAAW,KAAK,WAAW,cAAc,CAAC,GAAG,OAAO;CACzD;CACA,OAAO;AACR;;AAEA,SAAS,4BAA4B,oBAAoB,cAAc;CACtE,MAAM,UAAU,YAAY,oBAAoB,gBAAgB,OAAO;CACvE,IAAI,CAAC,SAAS,MAAM,IAAI,MAAM,iDAAiD;CAC/E,MAAM,WAAW,KAAK,SAAS,YAAY;CAC3C,IAAI,CAAC,WAAW,QAAQ,GAAG,MAAM,IAAI,MAAM,yCAAyC,cAAc;CAClG,OAAO;AACR;;AA+BA,SAAS,mBAAmB,QAAQ,cAAc;CACjD,IAAI,OAAO,WAAW,GAAG,MAAM,IAAI,MAAM,yCAAyC;CAClF,MAAM,UAAU,CAAC;CACjB,KAAK,MAAM,OAAO,CAAC,GAAG,IAAI,IAAI,MAAM,CAAC,GAAG;EACvC,MAAM,YAAY,aAAa;EAC/B,IAAI,CAAC,WAAW,MAAM,IAAI,MAAM,wBAAwB,IAAI,+DAA+D;EAC3H,QAAQ,OAAO;CAChB;CACA,OAAO;AACR;AAGA,SAAS,QAAQ,MAAM;CACtB,OAAO,KAAK,QAAQ,OAAO,GAAG;AAC/B;AACA,SAAS,iBAAiB,UAAU;CACnC,OAAO,GAAG,SAAS;AACpB;AACA,eAAe,iBAAiB,MAAM,UAAU,WAAW,cAAc;CACxE,UAAU,KAAK,MAAM,YAAY,GAAG,EAAE,WAAW,KAAK,CAAC;CACvD,MAAM,cAAc,YAAY,KAAK,MAAM,cAAc,eAAe,CAAC;CACzE,MAAM,SAAS,KAAK,aAAa,MAAM;CACvC,MAAM,eAAe,iBAAiB,QAAQ;CAC9C,MAAM,MAAM,YAAY,kBAAkB;EACzC,OAAO,GAAG,WAAW,UAAU;EAC/B,QAAQ,CAAC,KAAK;EACd;EACA,OAAO;EACP,KAAK;EACL,QAAQ,EAAE,OAAO,OAAO;EACxB,MAAM,uBAAuB;EAC7B,SAAS,CAAC,2BAA2B;GACpC;GACA;EACD,CAAC,CAAC;CACH,CAAC,CAAC;CACF,OAAO;EACN;EACA;CACD;AACD;AACA,eAAe,8BAA8B,MAAM,WAAW,cAAc,UAAU,WAAW;CAChG,MAAM,aAAa,QAAQ,SAAS,MAAM,SAAS,CAAC;CACpD,MAAM,WAAW,KAAK,MAAM,QAAQ,YAAY;CAChD,MAAM,cAAc,GAAG,SAAS;CAChC,MAAM,eAAe,WAAW,QAAQ,IAAI,aAAa,QAAQ,IAAI,KAAK;CAC1E,MAAM,SAAS,WAAW,WAAW;CACrC,MAAM,cAAc,SAAS,aAAa,WAAW,IAAI,KAAK;CAC9D,UAAU,QAAQ,QAAQ,GAAG,EAAE,WAAW,KAAK,CAAC;CAChD,cAAc,UAAU,QAAQ;CAChC,IAAI,WAAW,cAAc,aAAa,SAAS;CACnD,IAAI;EACH,QAAQ,MAAM,mCAAmC,MAAM,EAAE,eAAe,KAAK,CAAC,GAAG,QAAQ,QAAQ,UAAU,gBAAgB,SAAS,MAAM,eAAe,UAAU;CACpK,UAAU;EACT,IAAI,cAAc,cAAc,UAAU,YAAY;OACjD,OAAO,UAAU,EAAE,OAAO,KAAK,CAAC;EACrC,IAAI,aAAa,cAAc,aAAa,WAAW;OAClD,IAAI,aAAa,QAAQ,OAAO,aAAa,EAAE,OAAO,KAAK,CAAC;CAClE;AACD;;AAEA,eAAe,iBAAiB,SAAS;CACxC,MAAM,OAAO,QAAQ,QAAQ,QAAQ,IAAI;CACzC,MAAM,SAAS,QAAQ,UAAU;CACjC,MAAM,QAAQ,QAAQ,SAAS;CAC/B,MAAM,iBAAiB,QAAQ,kBAAkB;CACjD,MAAM,WAAW,QAAQ,IAAI;CAC7B,MAAM,sBAAsB,2BAA2B,MAAM,MAAM;CACnE,mCAAmC,mBAAmB;CACtD,MAAM,SAAS,YAAY,MAAM;EAChC;EACA;EACA;CACD,CAAC;CACD,MAAM,UAAU,mBAAmB,QAAQ,QAAQ,OAAO,YAAY;CACtE,MAAM,QAAQ,CAAC;CACf,MAAM,kBAAkB,CAAC;CACzB,IAAI;EACH,QAAQ,MAAM,IAAI;EAClB,KAAK,MAAM,CAAC,UAAU,cAAc,OAAO,QAAQ,OAAO,GAAG;GAC5D,MAAM,EAAE,aAAa,iBAAiB,MAAM,iBAAiB,MAAM,UAAU,WAAW,OAAO,YAAY;GAC3G,IAAI;IACH,MAAM,YAAY,KAAK,aAAa,QAAQ,YAAY;IACxD,MAAM,UAAU,GAAG,UAAU;IAC7B,MAAM,WAAW,aAAa,SAAS;IACvC,MAAM,YAAY,WAAW,OAAO,IAAI,aAAa,OAAO,IAAI,KAAK;IACrE,MAAM,KAAK;KACV;KACA;KACA;KACA;IACD,CAAC;IACD,gBAAgB,KAAK,GAAG,MAAM,8BAA8B,MAAM,WAAW,cAAc,UAAU,SAAS,CAAC;GAChH,UAAU;IACT,OAAO,aAAa;KACnB,WAAW;KACX,OAAO;IACR,CAAC;GACF;EACD;CACD,UAAU;EACT,4BAA4B,mBAAmB;EAC/C,QAAQ,MAAM,QAAQ;CACvB;CACA,OAAO;EACN;EACA;EACA,aAAa,OAAO;CACrB;AACD;AAGA,MAAM,gBAAgB;AACtB,MAAM,iBAAiB,KAAK,cAAc;AAC1C,SAAS,kBAAkB,UAAU;CACpC,OAAO,kBAAkB,KAAK,UAAU,QAAQ,EAAE;AACnD;;AAEA,SAAS,kBAAkB,SAAS;CACnC,MAAM,SAAS,QAAQ,UAAU;CACjC,IAAI,WAAW;CACf,OAAO;EACN,MAAM;EACN,aAAa;GACZ,WAAW,cAAc,QAAQ,MAAM,MAAM;EAC9C;EACA,UAAU,QAAQ;GACjB,IAAI,WAAW,eAAe,OAAO;GACrC,OAAO,GAAG,eAAe;EAC1B;EACA,KAAK,IAAI;GACR,IAAI,OAAO,GAAG,eAAe,aAAa,CAAC,UAAU,OAAO;GAC5D,OAAO,kBAAkB,QAAQ;EAClC;EACA,WAAW;GACV,IAAI,CAAC,UAAU;GACf,MAAM,SAAS,KAAK,QAAQ,MAAM,QAAQ,UAAU,QAAQ,YAAY;GACxE,UAAU,QAAQ,EAAE,WAAW,KAAK,CAAC;GACrC,cAAc,KAAK,QAAQ,YAAY,GAAG,kBAAkB,QAAQ,CAAC;EACtE;CACD;AACD;;AAEA,SAAS,qBAAqB,UAAU,CAAC,GAAG,QAAQ;CACnD,MAAM,OAAO,QAAQ,QAAQ,QAAQ,IAAI;CACzC,MAAM,SAAS,QAAQ,UAAU;CACjC,MAAM,SAAS,QAAQ,UAAU;CACjC,MAAM,cAAc,WAAW,KAAK,MAAM,qBAAqB,CAAC,IAAI,KAAK,MAAM,qBAAqB,IAAI,KAAK;CAC7G,MAAM,eAAe,UAAU,YAAY,MAAM;EAChD;EACA,OAAO,QAAQ;CAChB,CAAC;CACD,MAAM,aAAa,aAAa;CAChC,MAAM,eAAe,aAAa;CAClC,MAAM,UAAU;EACf,GAAG,cAAc,EAAE,QAAQ,YAAY,IAAI,CAAC;EAC5C,GAAG;CACJ;CACA,IAAI,OAAO,KAAK,OAAO,EAAE,WAAW,GAAG,MAAM,IAAI,MAAM,kEAAkE;CACzH,OAAO,YAAY,kBAAkB;EACpC,OAAO;EACP,QAAQ,CAAC,KAAK;EACd,QAAQ,KAAK,MAAM,MAAM;EACzB,OAAO,QAAQ,SAAS;EACxB,KAAK;EACL,QAAQ,EAAE,OAAO,OAAO;EACxB,MAAM,uBAAuB;EAC7B,SAAS;GACR,2BAA2B;IAC1B;IACA;GACD,CAAC;GACD,0BAA0B;IACzB;IACA;GACD,CAAC;GACD,kBAAkB;IACjB;IACA;IACA;GACD,CAAC;EACF;CACD,CAAC;AACF;;AAEA,eAAe,SAAS,UAAU,CAAC,GAAG;CACrC,MAAM,OAAO,QAAQ,QAAQ,QAAQ,IAAI;CACzC,MAAM,SAAS,QAAQ,UAAU;CACjC,MAAM,eAAe,QAAQ,gBAAgB;CAC7C,MAAM,iBAAiB,QAAQ,kBAAkB;CACjD,MAAM,QAAQ,QAAQ,SAAS;CAC/B,MAAM,WAAW,QAAQ,IAAI;CAC7B,MAAM,SAAS,YAAY,MAAM;EAChC;EACA;EACA;CACD,CAAC;CACD,IAAI;EACH,QAAQ,MAAM,IAAI;EAClB,MAAM,sBAAsB,2BAA2B,MAAM,MAAM;EACnE,mCAAmC,mBAAmB;EACtD,IAAI;GACH,MAAM,MAAM,qBAAqB;IAChC,GAAG;IACH;GACD,GAAG;IACF,cAAc,OAAO;IACrB,cAAc,OAAO;GACtB,CAAC,CAAC;EACH,UAAU;GACT,4BAA4B,mBAAmB;EAChD;EACA,IAAI,cAAc;GACjB,MAAM,EAAE,sCAAsC,MAAM,OAAO;GAC3D,MAAM,kCAAkC,IAAI;EAC7C;CACD,UAAU;EACT,QAAQ,MAAM,QAAQ;CACvB;CACA,OAAO,EAAE,aAAa,OAAO,YAAY;AAC1C;;;;;;;AAOA,eAAe,SAAS,UAAU,CAAC,GAAG;CACrC,MAAM,EAAE,gBAAgB,MAAM,OAAO;CACrC,MAAM,aAAa,iBAAiB,SAAS;EAC5C,GAAG;EACH,cAAc;EACd,gBAAgB;CACjB,CAAC,GAAG,OAAO;AACZ"}
|
|
1
|
+
{"version":3,"file":"dist-Da8gEr12.mjs","names":["toPosix$1","toPosix"],"sources":["../../../packages/build/dist/walk-project-eIHZ7A1f.mjs","../../../packages/tsdown-config/deps.js","../../../packages/tsdown-config/index.js","../../../packages/build/dist/index.mjs"],"sourcesContent":["import { readFileSync, readdirSync, realpathSync, statSync } from \"node:fs\";\nimport { join, relative, resolve, sep } from \"node:path\";\nimport { createHash } from \"node:crypto\";\nimport { entryIdFromFile, readKeystrokeIgnoreDirective, shouldSkipKeystrokeModuleFile } from \"@keystrokehq/manifest/discovery\";\nimport { fileURLToPath } from \"node:url\";\n//#region src/ignore-guard-plugin.ts\nfunction toPosix$1(path) {\n\treturn path.split(sep).join(\"/\");\n}\nfunction projectRelativePath(root, filePath) {\n\treturn toPosix$1(relative(root, normalizeBuildFilePath(filePath)));\n}\n/** Normalize paths so /var and /private/var compare equal on macOS. */\nfunction normalizeBuildFilePath(filePath) {\n\tconst absolute = resolve(filePath);\n\ttry {\n\t\treturn realpathSync.native(absolute);\n\t} catch {\n\t\treturn absolute;\n\t}\n}\nfunction normalizeModuleId(id, root) {\n\tif (id.startsWith(\"\\0\")) return null;\n\tconst normalized = normalizeBuildFilePath(id.startsWith(\"file://\") ? fileURLToPath(id) : id);\n\tif (!normalized.startsWith(normalizeBuildFilePath(root))) return null;\n\treturn normalized;\n}\nfunction formatImportGuardError(root, ignoredPath, importer) {\n\tconst ignored = projectRelativePath(root, ignoredPath);\n\tif (importer) return `Cannot import \"${ignored}\" (@keystroke ignore) from \"${projectRelativePath(root, importer)}\". Remove the directive or stop importing it from a shipped module.`;\n\treturn `Cannot import \"${ignored}\" (@keystroke ignore). Remove the directive or stop importing it from a shipped module.`;\n}\n/** Throw when a built module imports a `@keystroke ignore` source file. */\nfunction keystrokeIgnoreGuardPlugin(options) {\n\tconst root = normalizeBuildFilePath(options.root);\n\tconst ignoredFiles = new Set(options.ignoredFiles.map((filePath) => normalizeBuildFilePath(filePath)));\n\tfunction assertNotIgnored(filePath, importer) {\n\t\tconst normalized = normalizeBuildFilePath(filePath);\n\t\tif (!ignoredFiles.has(normalized)) return;\n\t\tthrow new Error(formatImportGuardError(root, normalized, importer));\n\t}\n\treturn {\n\t\tname: \"keystroke-ignore-guard\",\n\t\tasync resolveId(source, importer, resolveOptions) {\n\t\t\tif (resolveOptions?.isEntry || !importer) return null;\n\t\t\tconst resolved = await this.resolve(source, importer, {\n\t\t\t\t...resolveOptions,\n\t\t\t\tskipSelf: true\n\t\t\t});\n\t\t\tif (!resolved) return null;\n\t\t\tassertNotIgnored(typeof resolved === \"string\" ? resolved : resolved.id, importer);\n\t\t\treturn null;\n\t\t},\n\t\tload(id) {\n\t\t\tconst normalized = normalizeModuleId(id, root);\n\t\t\tif (!normalized) return null;\n\t\t\tassertNotIgnored(normalized);\n\t\t\treturn null;\n\t\t}\n\t};\n}\n//#endregion\n//#region src/walk-project.ts\nconst IGNORED_DIRS = new Set([\n\t\"node_modules\",\n\t\"dist\",\n\t\".git\",\n\t\".turbo\",\n\t\"build\",\n\t\"coverage\",\n\t\".keystroke\",\n\t\".cache\",\n\t\"tmp\"\n]);\nconst IGNORED_ENV_FILE = /\\.env/;\nconst IGNORED_LOG_FILE = /\\.log$/;\nfunction isIgnoredFile(name) {\n\treturn IGNORED_ENV_FILE.test(name) || IGNORED_LOG_FILE.test(name);\n}\nfunction toPosix(path) {\n\treturn path.split(sep).join(\"/\");\n}\nfunction isProbablyBinary(buffer) {\n\tconst sampleLength = Math.min(buffer.length, 8e3);\n\tfor (let index = 0; index < sampleLength; index += 1) if (buffer[index] === 0) return true;\n\treturn false;\n}\nfunction classifyBuildEntry(root, srcRoot, filePath) {\n\tconst relativePath = toPosix(relative(root, filePath));\n\tconst agentsPrefix = `${toPosix(relative(root, join(srcRoot, \"agents\")))}/`;\n\tconst workflowsPrefix = `${toPosix(relative(root, join(srcRoot, \"workflows\")))}/`;\n\tconst triggersPrefix = `${toPosix(relative(root, join(srcRoot, \"triggers\")))}/`;\n\tconst actionsPrefix = `${toPosix(relative(root, join(srcRoot, \"actions\")))}/`;\n\tif (relativePath.startsWith(agentsPrefix) && /\\.(ts|mts)$/.test(relativePath) && !/\\.(int\\.)?test\\.(ts|mts)$/.test(relativePath)) {\n\t\tconst id = entryIdFromFile(join(srcRoot, \"agents\"), filePath, { nestedEntry: \"agent\" });\n\t\treturn id ? {\n\t\t\tentryKey: `agents/${id}`,\n\t\t\tentryPath: filePath\n\t\t} : null;\n\t}\n\tif (relativePath.startsWith(actionsPrefix) && /\\.(ts|mts)$/.test(relativePath) && !/\\.(int\\.)?test\\.(ts|mts)$/.test(relativePath)) {\n\t\tconst id = entryIdFromFile(join(srcRoot, \"actions\"), filePath, { nestedEntry: \"action\" });\n\t\treturn id ? {\n\t\t\tentryKey: `actions/${id}`,\n\t\t\tentryPath: filePath\n\t\t} : null;\n\t}\n\tif (relativePath.startsWith(workflowsPrefix) && /\\.(ts|mts)$/.test(relativePath) && !/\\.(int\\.)?test\\.(ts|mts)$/.test(relativePath)) {\n\t\tconst id = entryIdFromFile(join(srcRoot, \"workflows\"), filePath, { nestedEntry: \"workflow\" });\n\t\treturn id ? {\n\t\t\tentryKey: `workflows/${id}`,\n\t\t\tentryPath: filePath\n\t\t} : null;\n\t}\n\tif (relativePath.startsWith(triggersPrefix) && /\\.(ts|mts)$/.test(relativePath) && !/\\.(int\\.)?test\\.(ts|mts)$/.test(relativePath)) {\n\t\tconst id = entryIdFromFile(join(srcRoot, \"triggers\"), filePath, { nestedEntry: \"trigger\" });\n\t\treturn id ? {\n\t\t\tentryKey: `triggers/${id}`,\n\t\t\tentryPath: filePath\n\t\t} : null;\n\t}\n\treturn null;\n}\nfunction shouldSkipIgnoredModule(filePath, phase) {\n\treturn shouldSkipKeystrokeModuleFile(readKeystrokeIgnoreDirective(filePath), phase);\n}\nfunction isSrcTypeScriptFile(srcRoot, filePath) {\n\tconst relativePath = toPosix(relative(srcRoot, filePath));\n\tif (relativePath.startsWith(\"..\")) return false;\n\treturn /\\.(ts|mts)$/.test(relativePath);\n}\nfunction walkTree(root, dir, srcRoot, phase, collectSources, sourceFiles, buildEntries, ignoredFiles, totals) {\n\tfor (const name of readdirSync(dir).sort()) {\n\t\tif (collectSources && (sourceFiles.length >= 2e3 || totals.bytes >= 8388608)) return;\n\t\tconst absolute = join(dir, name);\n\t\tconst stats = statSync(absolute);\n\t\tif (stats.isDirectory()) {\n\t\t\tif (IGNORED_DIRS.has(name)) continue;\n\t\t\twalkTree(root, absolute, srcRoot, phase, collectSources, sourceFiles, buildEntries, ignoredFiles, totals);\n\t\t\tcontinue;\n\t\t}\n\t\tif (!stats.isFile()) continue;\n\t\tconst isUnderSrc = isSrcTypeScriptFile(srcRoot, absolute);\n\t\tconst skipIgnored = isUnderSrc ? shouldSkipIgnoredModule(absolute, phase) : false;\n\t\tif (isUnderSrc && skipIgnored) ignoredFiles.push(normalizeBuildFilePath(absolute));\n\t\tconst buildEntry = classifyBuildEntry(root, srcRoot, absolute);\n\t\tif (buildEntry && !skipIgnored) buildEntries[buildEntry.entryKey] = buildEntry.entryPath;\n\t\tif (!collectSources) continue;\n\t\tif (stats.size > 262144 || isIgnoredFile(name)) continue;\n\t\tconst buffer = readFileSync(absolute);\n\t\tif (isProbablyBinary(buffer)) continue;\n\t\ttotals.bytes += buffer.byteLength;\n\t\tsourceFiles.push({\n\t\t\tpath: toPosix(relative(root, absolute)),\n\t\t\tcontents: buffer.toString(\"utf8\"),\n\t\t\thash: createHash(\"sha256\").update(buffer).digest(\"hex\")\n\t\t});\n\t}\n}\n/**\n* One full-tree walk of the project: classifies tsdown entries and optionally\n* collects deploy source files (path + contents + hash) under snapshot limits.\n*/\nfunction walkProject(root, srcDirOrOptions = \"src\", maybeOptions) {\n\tconst srcDir = typeof srcDirOrOptions === \"string\" ? srcDirOrOptions : srcDirOrOptions.srcDir ?? \"src\";\n\tconst options = typeof srcDirOrOptions === \"string\" ? maybeOptions ?? {} : srcDirOrOptions;\n\tconst collectSources = options.collectSources ?? false;\n\tconst phase = options.phase ?? \"build\";\n\tconst sourceFiles = [];\n\tconst buildEntries = {};\n\tconst ignoredFiles = [];\n\twalkTree(root, root, join(root, srcDir), phase, collectSources, sourceFiles, buildEntries, ignoredFiles, { bytes: 0 });\n\treturn {\n\t\tsourceFiles,\n\t\tbuildEntries,\n\t\tignoredFiles\n\t};\n}\n//#endregion\nexport { keystrokeIgnoreGuardPlugin as n, walkProject as t };\n\n//# sourceMappingURL=walk-project-eIHZ7A1f.mjs.map","import { isBuiltin } from \"node:module\";\n\n/** Native addons kept external — resolved from the CLI runtime at app start. */\nexport const NATIVE_RUNTIME_DEPS = [\"pg\", \"better-sqlite3\", \"@parcel/watcher\"];\n\n/**\n * Framework/runtime `@keystrokehq/*` shipped in the project-server image, so user-app builds\n * keep them external and resolve them from the runtime at boot. Everything else under the scope\n * (Composio catalog integrations like `@keystrokehq/posthog`, …) is bundled into the artifact.\n *\n * This set MUST equal the `@keystrokehq/*` dependency closure of `@keystrokehq/project-runtime`\n * (the deploy image) — `deps.test.ts` enforces it. To change what stays external, change what the\n * runtime image depends on; do not edit this list by hand. `exa` is the only integration\n * package the framework imports directly (web search); `gateway` ships Slack and other channel\n * adapters in the runtime image.\n */\nexport const RUNTIME_KEYSTROKE_PACKAGES = new Set([\n \"access-control\",\n \"action\",\n \"agent\",\n \"app\",\n \"auth\",\n \"build\",\n \"config\",\n \"credentials\",\n \"database\",\n \"exa\",\n \"gateway\",\n \"hosting\",\n \"http\",\n \"keystroke\",\n \"manifest\",\n \"mcp\",\n \"memory\",\n \"oauth\",\n \"platform-database\",\n \"project-runtime\",\n \"projects\",\n \"runtime\",\n \"sandbox\",\n \"scheduler\",\n \"sdk\",\n \"secrets\",\n \"shared\",\n \"storage\",\n \"tracing\",\n \"trigger\",\n \"tsdown-config\",\n \"web-search\",\n \"worker\",\n \"workflow\",\n \"workflow-canvas\",\n]);\n\n/** Matches framework/runtime `@keystrokehq/*` kept external during user-app builds. */\nexport const FRAMEWORK_KEYSTROKE_EXTERNAL = new RegExp(\n `^@keystrokehq\\\\/(?:${[...RUNTIME_KEYSTROKE_PACKAGES].sort().join(\"|\")})(?:\\\\/|$)`,\n);\n\nfunction keystrokePackageName(name) {\n if (!name.startsWith(\"@keystrokehq/\")) {\n return null;\n }\n\n return name.slice(\"@keystrokehq/\".length).split(\"/\")[0] ?? null;\n}\n\nfunction isRuntimeKeystrokePackage(name) {\n const pkg = keystrokePackageName(name);\n return pkg !== null && RUNTIME_KEYSTROKE_PACKAGES.has(pkg);\n}\n\n/**\n * Kept external so .d.ts emission does not inline internal/inferred types.\n *\n * `typescript` is external because the TS compiler cannot be cleanly bundled into\n * ESM — it mixes `require()`/`__filename` with top-level await, which Node rejects\n * with `ERR_AMBIGUOUS_MODULE_SYNTAX` on load. Packages that use the compiler\n * (`workflow-canvas`, `manifest`, `build`) declare it as a dependency, so it\n * resolves from `node_modules` at runtime instead of being inlined.\n */\nexport const LIBRARY_EXTERNAL_DEPS = [\n \"better-auth\",\n /^@better-auth\\//,\n /^better-auth\\//,\n \"typescript\",\n];\n\n/** Non-auth runtime deps kept external for published entry bundles (platform, etc.). */\nexport const BUNDLED_ENTRY_RUNTIME_EXTERNAL_DEPS = [\n ...NATIVE_RUNTIME_DEPS,\n \"dockerode\",\n \"ssh2\",\n \"cpu-features\",\n \"microsandbox\",\n /^@aws-sdk\\//,\n /^@napi-rs\\//,\n \"hono\",\n /^@hono\\//,\n \"undici\",\n];\n\n/** Kept external when bundling published entry points (cli, keystroke, platform). */\nexport const BUNDLED_ENTRY_EXTERNAL_DEPS = [\n ...BUNDLED_ENTRY_RUNTIME_EXTERNAL_DEPS,\n ...LIBRARY_EXTERNAL_DEPS,\n];\n\n/** Bundle into CLI — device login uses Better Auth client only. */\nexport const BETTER_AUTH_CLIENT_BUNDLE_PATTERNS = [\n /^better-auth\\/client$/,\n /^better-auth\\/client\\//,\n];\n\n/** Server adapters and root entry — must not ship in the CLI bundle. */\nexport const BETTER_AUTH_SERVER_EXTERNAL_PATTERNS = [\n /^better-auth$/,\n /^@better-auth\\//,\n /^better-auth\\/(?!client(\\/|$)).+/,\n];\n\nexport function isNativeRuntimeDep(id) {\n return NATIVE_RUNTIME_DEPS.some((dep) => id === dep || id.startsWith(`${dep}/`));\n}\n\nfunction packageName(id) {\n if (id.startsWith(\"@\")) {\n const [scope, name] = id.split(\"/\");\n return name ? `${scope}/${name}` : id;\n }\n\n return id.split(\"/\")[0] ?? id;\n}\n\nfunction isRuntimeExternal(id) {\n const name = packageName(id);\n if (isNativeRuntimeDep(name)) {\n return true;\n }\n\n if (name.startsWith(\"@keystrokehq/\")) {\n return isRuntimeKeystrokePackage(name);\n }\n\n if (name === \"better-auth\" || name.startsWith(\"@better-auth/\")) {\n return true;\n }\n\n return false;\n}\n\n/** Library packages resolve npm deps from node_modules at runtime. */\nexport function libraryBuildDepsConfig() {\n return {\n alwaysBundle: (_id) => null,\n neverBundle: [...NATIVE_RUNTIME_DEPS, /^@keystrokehq\\//, ...LIBRARY_EXTERNAL_DEPS],\n onlyBundle: false,\n };\n}\n\n/** Bundle npm deps into dist; resolve @keystrokehq/* and natives from the runtime. */\nexport function userAppBuildDepsConfig() {\n return {\n alwaysBundle: (id, _importer) => {\n if (id.startsWith(\".\") || id.startsWith(\"/\") || isBuiltin(id)) {\n return null;\n }\n\n return isRuntimeExternal(id) ? null : true;\n },\n neverBundle: [...NATIVE_RUNTIME_DEPS, FRAMEWORK_KEYSTROKE_EXTERNAL, ...LIBRARY_EXTERNAL_DEPS],\n onlyBundle: false,\n };\n}\n\n/**\n * Published entry packages (cli, keystroke, platform): declare bundled @keystrokehq/*\n * in dependencies (changesets release graph ignores devDependencies). Inlining is\n * driven by alwaysBundle below, not by dep kind. Runtime npm deps stay external.\n */\nexport function bundledEntryDepsConfig() {\n return {\n alwaysBundle: [/^@keystrokehq\\//],\n neverBundle: [...BUNDLED_ENTRY_EXTERNAL_DEPS],\n onlyBundle: false,\n };\n}\n\n/** Published CLI: inline better-auth client + @better-auth/*; keep server adapters external. */\nexport const BETTER_AUTH_CLI_BUNDLE_PATTERNS = [\n ...BETTER_AUTH_CLIENT_BUNDLE_PATTERNS,\n /^@better-auth\\//,\n];\n\nexport const BETTER_AUTH_CLI_EXTERNAL_PATTERNS = [\n /^better-auth$/,\n /^better-auth\\/(?!client(\\/|$)).+/,\n /^@better-auth\\/drizzle-adapter/,\n \"drizzle-orm\",\n];\n\n/** Rolldown/tsdown — native bindings; stay in CLI node_modules at runtime. */\nexport const CLI_BUILD_TOOL_EXTERNAL_PATTERNS = [\"tsdown\", \"rolldown\", /^@rolldown\\//, \"tsx\"];\n\n/** CLI: inline better-auth/client; keep server + drizzle adapters external. */\nexport function cliBundledEntryDepsConfig() {\n return {\n alwaysBundle: [/^@keystrokehq\\//, ...BETTER_AUTH_CLI_BUNDLE_PATTERNS],\n neverBundle: [\n ...BUNDLED_ENTRY_RUNTIME_EXTERNAL_DEPS,\n ...BETTER_AUTH_CLI_EXTERNAL_PATTERNS,\n ...CLI_BUILD_TOOL_EXTERNAL_PATTERNS,\n // The TS compiler cannot be inlined into ESM (`require`/`__filename` + top-level\n // await → `__filename is not defined` / `ERR_AMBIGUOUS_MODULE_SYNTAX` on load).\n // The CLI inlines the @keystrokehq/* packages that use it (build, manifest,\n // workflow-canvas), so `typescript` must resolve from the CLI's own node_modules —\n // hence it is also a runtime dependency of @keystrokehq/cli.\n \"typescript\",\n ],\n onlyBundle: false,\n };\n}\n","import { bundledEntryDepsConfig, libraryBuildDepsConfig } from \"./deps.js\";\n\nexport {\n isNativeRuntimeDep,\n NATIVE_RUNTIME_DEPS,\n bundledEntryDepsConfig,\n cliBundledEntryDepsConfig,\n libraryBuildDepsConfig,\n userAppBuildDepsConfig,\n} from \"./deps.js\";\n\nexport const baseTsdownConfig = {\n format: [\"esm\", \"cjs\"],\n dts: true,\n clean: true,\n sourcemap: true,\n target: \"node20\",\n deps: libraryBuildDepsConfig(),\n};\n\n/** tsdown config for published bundles (cli, keystroke, platform). */\nexport const bundledEntryTsdownConfig = {\n format: [\"esm\", \"cjs\"],\n dts: true,\n clean: true,\n sourcemap: true,\n target: \"node20\",\n deps: bundledEntryDepsConfig(),\n};\n","import { n as keystrokeIgnoreGuardPlugin, t as walkProject } from \"./walk-project-eIHZ7A1f.mjs\";\nimport { t as resolveModuleDirs } from \"./resolve-module-dirs-BPHQhRGy.mjs\";\nimport { existsSync, mkdirSync, mkdtempSync, readFileSync, readdirSync, rmSync, statSync, writeFileSync } from \"node:fs\";\nimport { dirname, join, relative, sep } from \"node:path\";\nimport { packAssetDirs } from \"@keystrokehq/sandbox/files\";\nimport { baseTsdownConfig, userAppBuildDepsConfig } from \"@keystrokehq/tsdown-config\";\nimport { build, mergeConfig } from \"tsdown\";\nimport { classifyCall, computeCallSiteIds, diagnoseWorkflowSource, locateWorkflow } from \"@keystrokehq/workflow-canvas\";\nimport ts from \"typescript\";\nimport { buildStoredRouteManifestForProject } from \"@keystrokehq/manifest\";\n//#region src/inject-call-site-ids.ts\n/**\n* Build-time injection of the deterministic structural `callSiteId` into every\n* durable step call in a workflow source file, so the runtime emits\n* `step:<callSiteId>#<occurrence>` correlation ids (and `step:<callSiteId>`\n* credential consumer ids) that line up 1:1 with the canvas graph nodes the\n* deploy-time producer mints from the same source. There is no user-authored\n* step id — identity is entirely internal and injected here.\n*\n* Injection shape by kind (the `callSiteId` is the same id `computeCallSiteIds`\n* returns, which equals the producer's step-node id):\n* - action/sub-workflow `x.run(i)` → `x.run(i).__site(\"<id>\")` (builder method)\n* - agent `a.prompt(i, opts?)` → `__site` merged into the prompt options\n* - llm `promptLlm(i, opts?)` → `__site` merged into the options\n* - hook `ctx.hook(opts?)` → `__site` merged into the options\n* - sleep `ctx.sleep(d, opts?)` → `__site` merged into a second options arg\n*/\nfunction injectCallSiteIds(code, fileName) {\n\tconst sourceFile = ts.createSourceFile(fileName, code, ts.ScriptTarget.Latest, true, ts.ScriptKind.TS);\n\tconst located = locateWorkflow(sourceFile);\n\tif (!located) return code;\n\tconst ids = computeCallSiteIds(sourceFile);\n\tif (ids.size === 0) return code;\n\tconst edits = [];\n\tfor (const [node, id] of ids) {\n\t\tconst info = classifyCall(node, located.ctxParamName);\n\t\tif (!info) continue;\n\t\tif (info.callKind === \"workflow-step\") {\n\t\t\tedits.push({\n\t\t\t\tpos: node.getEnd(),\n\t\t\t\ttext: `.__site(${JSON.stringify(id)})`\n\t\t\t});\n\t\t\tcontinue;\n\t\t}\n\t\tif (info.callKind === \"agent\" || info.callKind === \"llm\") {\n\t\t\tpushOptionsEdit(edits, node, id);\n\t\t\tcontinue;\n\t\t}\n\t\tif (info.callKind === \"hook\") {\n\t\t\tpushHookOptionsEdit(edits, node, id);\n\t\t\tcontinue;\n\t\t}\n\t\tif (info.callKind === \"wait\") pushSleepOptionsEdit(edits, node, id);\n\t}\n\tif (edits.length === 0) return code;\n\tedits.sort((a, b) => b.pos - a.pos);\n\tlet out = code;\n\tfor (const edit of edits) out = out.slice(0, edit.pos) + edit.text + out.slice(edit.pos);\n\treturn out;\n}\n/**\n* Merge `__site: \"<id>\"` into a call's options argument (agents / promptLlm).\n* - no 2nd arg → append `, { __site: \"id\" }`\n* - 2nd arg object literal → insert `__site: \"id\", ` after its `{`\n* - 2nd arg anything else → wrap as `{ ...orig, __site: \"id\" }`\n*/\nfunction pushOptionsEdit(edits, call, id) {\n\tconst literal = JSON.stringify(id);\n\tconst optionsArg = call.arguments[1];\n\tif (!optionsArg) {\n\t\tconst firstArg = call.arguments[0];\n\t\tconst insertAt = firstArg ? firstArg.getEnd() : call.getEnd() - 1;\n\t\tedits.push({\n\t\t\tpos: insertAt,\n\t\t\ttext: `, { __site: ${literal} }`\n\t\t});\n\t\treturn;\n\t}\n\tif (ts.isObjectLiteralExpression(optionsArg)) {\n\t\tedits.push({\n\t\t\tpos: optionsArg.getStart() + 1,\n\t\t\ttext: ` __site: ${literal},`\n\t\t});\n\t\treturn;\n\t}\n\tedits.push({\n\t\tpos: optionsArg.getStart(),\n\t\ttext: \"{ ...\"\n\t});\n\tedits.push({\n\t\tpos: optionsArg.getEnd(),\n\t\ttext: `, __site: ${literal} }`\n\t});\n}\n/** Merge `__site` into `ctx.hook(opts?)` — options are the first (only) argument. */\nfunction pushHookOptionsEdit(edits, call, id) {\n\tconst literal = JSON.stringify(id);\n\tconst optionsArg = call.arguments[0];\n\tif (!optionsArg) {\n\t\tedits.push({\n\t\t\tpos: call.getEnd() - 1,\n\t\t\ttext: `{ __site: ${literal} }`\n\t\t});\n\t\treturn;\n\t}\n\tif (ts.isObjectLiteralExpression(optionsArg)) {\n\t\tedits.push({\n\t\t\tpos: optionsArg.getStart() + 1,\n\t\t\ttext: ` __site: ${literal},`\n\t\t});\n\t\treturn;\n\t}\n\tedits.push({\n\t\tpos: optionsArg.getStart(),\n\t\ttext: \"{ ...\"\n\t});\n\tedits.push({\n\t\tpos: optionsArg.getEnd(),\n\t\ttext: `, __site: ${literal} }`\n\t});\n}\n/** Append `{ __site }` as the second arg to `ctx.sleep(duration)`. */\nfunction pushSleepOptionsEdit(edits, call, id) {\n\tconst literal = JSON.stringify(id);\n\tconst durationArg = call.arguments[0];\n\tconst insertAt = durationArg ? durationArg.getEnd() : call.getEnd() - 1;\n\tedits.push({\n\t\tpos: insertAt,\n\t\ttext: `, { __site: ${literal} }`\n\t});\n}\nfunction toPosix$2(path) {\n\treturn path.split(sep).join(\"/\");\n}\n/**\n* Rolldown plugin that runs {@link injectCallSiteIds} over workflow source files\n* (and their same-file helpers) before transpile. Scoped to `src/workflows/` so\n* non-workflow modules are untouched; cross-file helpers stay unkeyed by design.\n*/\nfunction callSiteIdInjectionPlugin(options) {\n\tconst srcDir = options.srcDir ?? \"src\";\n\tconst workflowsPrefix = toPosix$2(`${options.root}/${srcDir}/workflows/`);\n\treturn {\n\t\tname: \"keystroke-call-site-ids\",\n\t\ttransform(code, id) {\n\t\t\tconst normalized = toPosix$2(id);\n\t\t\tif (!normalized.startsWith(workflowsPrefix) || !normalized.endsWith(\".ts\")) return null;\n\t\t\tconst transformed = injectCallSiteIds(code, normalized);\n\t\t\treturn transformed === code ? null : {\n\t\t\t\tcode: transformed,\n\t\t\t\tmap: null\n\t\t\t};\n\t\t}\n\t};\n}\n//#endregion\n//#region src/workflow-diagnostics.ts\nconst TEST_FILE = /\\.(test|int\\.test|spec)\\.ts$/;\nfunction toPosix$1(path) {\n\treturn path.split(sep).join(\"/\");\n}\nfunction collectTsFiles(dir, out) {\n\tlet entries;\n\ttry {\n\t\tentries = readdirSync(dir);\n\t} catch {\n\t\treturn;\n\t}\n\tfor (const entry of entries) {\n\t\tif (entry === \"node_modules\" || entry.startsWith(\".\")) continue;\n\t\tconst full = join(dir, entry);\n\t\tif (statSync(full).isDirectory()) {\n\t\t\tcollectTsFiles(full, out);\n\t\t\tcontinue;\n\t\t}\n\t\tif (entry.endsWith(\".ts\") && !TEST_FILE.test(entry)) out.push(full);\n\t}\n}\n/**\n* Run the workflow-canvas reliability checks over every `src/**` module. Errors\n* (steps outside a workflow, steps nested as call arguments) block the build;\n* warnings (opaque code-blocks, dropped spread inputs) explain each degraded\n* construct. Best-effort per-file: an unparseable file is skipped, never fatal.\n*/\nfunction collectWorkflowDiagnostics(root, srcDir = \"src\") {\n\tconst srcRoot = join(root, srcDir);\n\tif (!existsSync(srcRoot)) return [];\n\tconst files = [];\n\tcollectTsFiles(srcRoot, files);\n\tconst diagnostics = [];\n\tfor (const file of files) {\n\t\tconst rel = toPosix$1(relative(root, file));\n\t\ttry {\n\t\t\tconst source = readFileSync(file, \"utf8\");\n\t\t\tdiagnostics.push(...diagnoseWorkflowSource(source, rel));\n\t\t} catch {}\n\t}\n\treturn diagnostics;\n}\nfunction formatDiagnostic(diagnostic) {\n\treturn ` ${diagnostic.line !== void 0 ? `${diagnostic.fileName}:${diagnostic.line}:${diagnostic.column ?? 1}` : diagnostic.fileName}\\n ${diagnostic.message}`;\n}\n/** Throw when any blocking (error-severity) diagnostic is found. */\nfunction assertWorkflowDiagnosticErrorsFrom(diagnostics) {\n\tconst errors = diagnostics.filter((d) => d.severity === \"error\");\n\tif (errors.length > 0) throw new Error(`Workflow canvas: ${errors.length} unsupported construct(s) must be fixed before deploy:\\n${errors.map(formatDiagnostic).join(\"\\n\")}\\n`);\n}\n/** Print soft (warning-severity) diagnostics after a successful build. */\nfunction warnWorkflowDiagnosticsFrom(diagnostics) {\n\tconst warnings = diagnostics.filter((d) => d.severity === \"warning\");\n\tif (warnings.length > 0) console.warn(`\\n⚠ Workflow canvas: ${warnings.length} construct(s) will render as a degraded (opaque) canvas:\\n${warnings.map(formatDiagnostic).join(\"\\n\")}\\n`);\n}\n/** Throw when any blocking (error-severity) diagnostic is found. Run before building. */\nfunction assertWorkflowDiagnosticErrors(root, srcDir = \"src\") {\n\tassertWorkflowDiagnosticErrorsFrom(collectWorkflowDiagnostics(root, srcDir));\n}\n/** Print soft (warning-severity) diagnostics after a successful build. */\nfunction warnWorkflowDiagnostics(root, srcDir = \"src\") {\n\twarnWorkflowDiagnosticsFrom(collectWorkflowDiagnostics(root, srcDir));\n}\n/**\n* Collect diagnostics, print warnings, and throw a formatted error when any\n* blocking (error-severity) diagnostic is found.\n*\n* @deprecated Prefer {@link assertWorkflowDiagnosticErrors} before build and\n* {@link warnWorkflowDiagnostics} after build so warnings appear below build logs.\n*/\nfunction assertWorkflowDiagnostics(root, srcDir = \"src\") {\n\tconst diagnostics = collectWorkflowDiagnostics(root, srcDir);\n\tassertWorkflowDiagnosticErrorsFrom(diagnostics);\n\twarnWorkflowDiagnosticsFrom(diagnostics);\n}\n//#endregion\n//#region src/resolve-runtime-artifact.ts\nfunction packageRoot(nodeModules, scope, name) {\n\tconst direct = scope ? join(nodeModules, scope, name) : join(nodeModules, name);\n\tif (existsSync(join(direct, \"package.json\"))) return direct;\n\tconst pnpmDir = join(nodeModules, \".pnpm\");\n\tif (!existsSync(pnpmDir)) return null;\n\tfor (const entry of readdirSync(pnpmDir)) {\n\t\tconst candidate = scope ? join(pnpmDir, entry, \"node_modules\", scope, name) : join(pnpmDir, entry, \"node_modules\", name);\n\t\tif (existsSync(join(candidate, \"package.json\"))) return candidate;\n\t}\n\treturn null;\n}\n/** Resolve a file shipped with `@keystrokehq/build` inside the CLI runtime. */\nfunction resolveRuntimeBuildArtifact(runtimeNodeModules, relativePath) {\n\tconst pkgRoot = packageRoot(runtimeNodeModules, \"@keystrokehq\", \"build\");\n\tif (!pkgRoot) throw new Error(\"Keystroke runtime is missing @keystrokehq/build\");\n\tconst artifact = join(pkgRoot, relativePath);\n\tif (!existsSync(artifact)) throw new Error(`Keystroke runtime artifact not found: ${relativePath}`);\n\treturn artifact;\n}\n//#endregion\n//#region src/vitest-plugin.ts\nconst ASSETS_MODULE$1 = \"@keystrokehq/assets\";\nconst virtualPrefix = `\\0${ASSETS_MODULE$1}:`;\n/** Vitest plugin resolving `@keystrokehq/assets` from disk. */\nfunction agentAssetsVitestPlugin(appRoot = process.cwd()) {\n\tlet manifest = null;\n\treturn {\n\t\tname: \"keystroke-assets\",\n\t\tresolveId(source) {\n\t\t\tif (source !== ASSETS_MODULE$1) return null;\n\t\t\treturn `${virtualPrefix}manifest`;\n\t\t},\n\t\tload(id) {\n\t\t\tif (id !== `${virtualPrefix}manifest`) return null;\n\t\t\tmanifest ??= packAssetDirs(appRoot);\n\t\t\treturn `export default ${JSON.stringify(manifest)};`;\n\t\t}\n\t};\n}\nfunction findAppRootFromConfig(configFile) {\n\tif (!configFile) return process.cwd();\n\treturn dirname(configFile);\n}\nfunction agentAssetsVitestPluginFromConfig(configFile) {\n\treturn agentAssetsVitestPlugin(findAppRootFromConfig(configFile));\n}\n//#endregion\n//#region src/resolve-build-filter.ts\n/** Resolve exact build-entry keys for a filtered deploy build. */\nfunction resolveBuildFilter(filter, buildEntries) {\n\tif (filter.length === 0) throw new Error(\"At least one --filter entry is required\");\n\tconst matched = {};\n\tfor (const key of [...new Set(filter)]) {\n\t\tconst entryPath = buildEntries[key];\n\t\tif (!entryPath) throw new Error(`Unknown build entry \"${key}\". Use keys like agents/foo or workflows/bar from walkProject.`);\n\t\tmatched[key] = entryPath;\n\t}\n\treturn matched;\n}\n//#endregion\n//#region src/build-filtered.ts\nfunction toPosix(path) {\n\treturn path.replace(/\\\\/g, \"/\");\n}\nfunction distRelativePath(entryKey) {\n\treturn `${entryKey}.mjs`;\n}\nasync function buildSingleEntry(root, entryKey, entryPath, ignoredFiles) {\n\tmkdirSync(join(root, \".keystroke\"), { recursive: true });\n\tconst scratchRoot = mkdtempSync(join(root, \".keystroke\", \"filter-build-\"));\n\tconst outDir = join(scratchRoot, \"dist\");\n\tconst relativePath = distRelativePath(entryKey);\n\tawait build(mergeConfig(baseTsdownConfig, {\n\t\tentry: { [entryKey]: entryPath },\n\t\tformat: [\"esm\"],\n\t\toutDir,\n\t\tclean: true,\n\t\tdts: false,\n\t\tloader: { \".md\": \"text\" },\n\t\tdeps: userAppBuildDepsConfig(),\n\t\tplugins: [keystrokeIgnoreGuardPlugin({\n\t\t\troot,\n\t\t\tignoredFiles\n\t\t})]\n\t}));\n\treturn {\n\t\tscratchRoot,\n\t\trelativePath\n\t};\n}\nasync function manifestEntriesForBuiltModule(root, entryPath, relativePath, contents, sourceMap) {\n\tconst moduleFile = toPosix(relative(root, entryPath));\n\tconst distPath = join(root, \"dist\", relativePath);\n\tconst distMapPath = `${distPath}.map`;\n\tconst previousDist = existsSync(distPath) ? readFileSync(distPath) : void 0;\n\tconst hadMap = existsSync(distMapPath);\n\tconst previousMap = hadMap ? readFileSync(distMapPath) : void 0;\n\tmkdirSync(dirname(distPath), { recursive: true });\n\twriteFileSync(distPath, contents);\n\tif (sourceMap) writeFileSync(distMapPath, sourceMap);\n\ttry {\n\t\treturn (await buildStoredRouteManifestForProject(root, { reloadModules: true })).entries.filter((entry) => \"moduleFile\" in entry && entry.moduleFile === moduleFile);\n\t} finally {\n\t\tif (previousDist) writeFileSync(distPath, previousDist);\n\t\telse rmSync(distPath, { force: true });\n\t\tif (previousMap) writeFileSync(distMapPath, previousMap);\n\t\telse if (sourceMap || hadMap) rmSync(distMapPath, { force: true });\n\t}\n}\n/** Build selected modules in isolation for a filtered deploy merge. */\nasync function buildFilteredApp(options) {\n\tconst root = options.root ?? process.cwd();\n\tconst srcDir = options.srcDir ?? \"src\";\n\tconst phase = options.phase ?? \"deploy\";\n\tconst collectSources = options.collectSources ?? false;\n\tconst previous = process.cwd();\n\tconst workflowDiagnostics = collectWorkflowDiagnostics(root, srcDir);\n\tassertWorkflowDiagnosticErrorsFrom(workflowDiagnostics);\n\tconst walked = walkProject(root, {\n\t\tsrcDir,\n\t\tcollectSources,\n\t\tphase\n\t});\n\tconst matched = resolveBuildFilter(options.filter, walked.buildEntries);\n\tconst files = [];\n\tconst manifestEntries = [];\n\ttry {\n\t\tprocess.chdir(root);\n\t\tfor (const [entryKey, entryPath] of Object.entries(matched)) {\n\t\t\tconst { scratchRoot, relativePath } = await buildSingleEntry(root, entryKey, entryPath, walked.ignoredFiles);\n\t\t\ttry {\n\t\t\t\tconst builtPath = join(scratchRoot, \"dist\", relativePath);\n\t\t\t\tconst mapPath = `${builtPath}.map`;\n\t\t\t\tconst contents = readFileSync(builtPath);\n\t\t\t\tconst sourceMap = existsSync(mapPath) ? readFileSync(mapPath) : void 0;\n\t\t\t\tfiles.push({\n\t\t\t\t\tentryKey,\n\t\t\t\t\trelativePath,\n\t\t\t\t\tcontents,\n\t\t\t\t\tsourceMap\n\t\t\t\t});\n\t\t\t\tmanifestEntries.push(...await manifestEntriesForBuiltModule(root, entryPath, relativePath, contents, sourceMap));\n\t\t\t} finally {\n\t\t\t\trmSync(scratchRoot, {\n\t\t\t\t\trecursive: true,\n\t\t\t\t\tforce: true\n\t\t\t\t});\n\t\t\t}\n\t\t}\n\t} finally {\n\t\twarnWorkflowDiagnosticsFrom(workflowDiagnostics);\n\t\tprocess.chdir(previous);\n\t}\n\treturn {\n\t\tfiles,\n\t\tmanifestEntries,\n\t\tsourceFiles: walked.sourceFiles\n\t};\n}\n//#endregion\n//#region src/index.ts\nconst ASSETS_MODULE = \"@keystrokehq/assets\";\nconst VIRTUAL_PREFIX = `\\0${ASSETS_MODULE}:`;\nfunction renderAssetModule(manifest) {\n\treturn `export default ${JSON.stringify(manifest)};\\n`;\n}\n/** Rolldown plugin: pack src/skills + src/files and expose `@keystrokehq/assets`. */\nfunction agentAssetsPlugin(options) {\n\tconst srcDir = options.srcDir ?? \"src\";\n\tlet manifest = null;\n\treturn {\n\t\tname: \"keystroke-assets\",\n\t\tbuildStart() {\n\t\t\tmanifest = packAssetDirs(options.root, srcDir);\n\t\t},\n\t\tresolveId(source) {\n\t\t\tif (source !== ASSETS_MODULE) return null;\n\t\t\treturn `${VIRTUAL_PREFIX}manifest`;\n\t\t},\n\t\tload(id) {\n\t\t\tif (id !== `${VIRTUAL_PREFIX}manifest` || !manifest) return null;\n\t\t\treturn renderAssetModule(manifest);\n\t\t},\n\t\tbuildEnd() {\n\t\t\tif (!manifest) return;\n\t\t\tconst outDir = join(options.root, options.outDir ?? \"dist\", \".keystroke\");\n\t\t\tmkdirSync(outDir, { recursive: true });\n\t\t\twriteFileSync(join(outDir, \"assets.mjs\"), renderAssetModule(manifest));\n\t\t}\n\t};\n}\n/** Full tsdown config for user keystroke apps (config + discovered modules only). */\nfunction createAppBuildConfig(options = {}, walked) {\n\tconst root = options.root ?? process.cwd();\n\tconst srcDir = options.srcDir ?? \"src\";\n\tconst outDir = options.outDir ?? \"dist\";\n\tconst configEntry = existsSync(join(root, \"keystroke.config.ts\")) ? join(root, \"keystroke.config.ts\") : void 0;\n\tconst walkedResult = walked ?? walkProject(root, {\n\t\tsrcDir,\n\t\tphase: options.phase\n\t});\n\tconst discovered = walkedResult.buildEntries;\n\tconst ignoredFiles = walkedResult.ignoredFiles;\n\tconst entries = {\n\t\t...configEntry ? { config: configEntry } : {},\n\t\t...discovered\n\t};\n\tif (Object.keys(entries).length === 0) throw new Error(\"Nothing to build — add keystroke.config.ts or modules under src/\");\n\treturn mergeConfig(baseTsdownConfig, {\n\t\tentry: entries,\n\t\tformat: [\"esm\"],\n\t\toutDir: join(root, outDir),\n\t\tclean: options.clean ?? true,\n\t\tdts: false,\n\t\tloader: { \".md\": \"text\" },\n\t\tdeps: userAppBuildDepsConfig(),\n\t\tplugins: [\n\t\t\tkeystrokeIgnoreGuardPlugin({\n\t\t\t\troot,\n\t\t\t\tignoredFiles\n\t\t\t}),\n\t\t\tcallSiteIdInjectionPlugin({\n\t\t\t\troot,\n\t\t\t\tsrcDir\n\t\t\t}),\n\t\t\tagentAssetsPlugin({\n\t\t\t\troot,\n\t\t\t\tsrcDir,\n\t\t\t\toutDir\n\t\t\t})\n\t\t]\n\t});\n}\n/** Build user agents, workflows, triggers, and config to `dist/`. */\nasync function buildApp(options = {}) {\n\tconst root = options.root ?? process.cwd();\n\tconst srcDir = options.srcDir ?? \"src\";\n\tconst emitManifest = options.emitManifest ?? true;\n\tconst collectSources = options.collectSources ?? false;\n\tconst phase = options.phase ?? \"build\";\n\tconst previous = process.cwd();\n\tconst walked = walkProject(root, {\n\t\tsrcDir,\n\t\tcollectSources,\n\t\tphase\n\t});\n\ttry {\n\t\tprocess.chdir(root);\n\t\tconst workflowDiagnostics = collectWorkflowDiagnostics(root, srcDir);\n\t\tassertWorkflowDiagnosticErrorsFrom(workflowDiagnostics);\n\t\ttry {\n\t\t\tawait build(createAppBuildConfig({\n\t\t\t\t...options,\n\t\t\t\troot\n\t\t\t}, {\n\t\t\t\tbuildEntries: walked.buildEntries,\n\t\t\t\tignoredFiles: walked.ignoredFiles\n\t\t\t}));\n\t\t} finally {\n\t\t\twarnWorkflowDiagnosticsFrom(workflowDiagnostics);\n\t\t}\n\t\tif (emitManifest) {\n\t\t\tconst { emitStoredRouteManifestForProject } = await import(\"@keystrokehq/manifest\");\n\t\t\tawait emitStoredRouteManifestForProject(root);\n\t\t}\n\t} finally {\n\t\tprocess.chdir(previous);\n\t}\n\treturn { sourceFiles: walked.sourceFiles };\n}\n/**\n* Watch `src/` and rebuild `dist/` on change.\n*\n* NOT true hot reload — each change runs a full tsdown rebuild. Callers should\n* restart the API server in `onRebuild` so discovery picks up new/changed modules.\n*/\nasync function watchApp(options = {}) {\n\tconst { runWatchApp } = await import(\"./watch-app-DTIeKrbl.mjs\");\n\tawait runWatchApp((watchOptions) => buildApp({\n\t\t...watchOptions,\n\t\temitManifest: false,\n\t\tcollectSources: false\n\t}), options);\n}\n//#endregion\nexport { agentAssetsVitestPlugin, agentAssetsVitestPluginFromConfig, assertWorkflowDiagnosticErrors, assertWorkflowDiagnosticErrorsFrom, assertWorkflowDiagnostics, buildApp, buildFilteredApp, callSiteIdInjectionPlugin, collectWorkflowDiagnostics, createAppBuildConfig, injectCallSiteIds, resolveBuildFilter, resolveModuleDirs, resolveRuntimeBuildArtifact, warnWorkflowDiagnostics, warnWorkflowDiagnosticsFrom, watchApp };\n\n//# sourceMappingURL=index.mjs.map"],"mappings":"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"}
|
|
@@ -5997,6 +5997,47 @@ const UpdateAutoTopupRequestSchema = object({
|
|
|
5997
5997
|
thresholdMicroCredits: number$1().int().positive().optional(),
|
|
5998
5998
|
packId: string().optional()
|
|
5999
5999
|
});
|
|
6000
|
+
const BillingUsageEventSourceSchema = _enum([
|
|
6001
|
+
"ai_gateway",
|
|
6002
|
+
"sandbox",
|
|
6003
|
+
"web_proxy",
|
|
6004
|
+
"storage",
|
|
6005
|
+
"dispatch",
|
|
6006
|
+
"poll"
|
|
6007
|
+
]);
|
|
6008
|
+
const BillingUsageMeterKeySchema = _enum([
|
|
6009
|
+
"llm",
|
|
6010
|
+
"vm_second",
|
|
6011
|
+
"web_search",
|
|
6012
|
+
"web_fetch",
|
|
6013
|
+
"workflow_run",
|
|
6014
|
+
"agent_run",
|
|
6015
|
+
"poll_trigger",
|
|
6016
|
+
"tigris_storage"
|
|
6017
|
+
]);
|
|
6018
|
+
const BillingUsageKeySourceSchema = _enum(["platform", "byok"]);
|
|
6019
|
+
const BillingUsageRunKindSchema = _enum(["agent", "workflow"]);
|
|
6020
|
+
object({ events: array(object({
|
|
6021
|
+
projectId: string().min(1).max(255).nullable().optional(),
|
|
6022
|
+
runId: string().min(1).max(255).nullable().optional(),
|
|
6023
|
+
runKind: BillingUsageRunKindSchema.nullable().optional(),
|
|
6024
|
+
source: BillingUsageEventSourceSchema,
|
|
6025
|
+
sourceEventId: string().min(1).max(512),
|
|
6026
|
+
meterKey: BillingUsageMeterKeySchema,
|
|
6027
|
+
quantity: number$1().finite().nonnegative(),
|
|
6028
|
+
unit: string().min(1).max(64),
|
|
6029
|
+
providerCostUsd: number$1().finite().nonnegative().nullable().optional(),
|
|
6030
|
+
keySource: BillingUsageKeySourceSchema.nullable().optional(),
|
|
6031
|
+
occurredAt: isoDateTime$6,
|
|
6032
|
+
metadata: record(string(), unknown()).nullable().optional()
|
|
6033
|
+
}).strict()).min(1).max(100) }).strict();
|
|
6034
|
+
object({
|
|
6035
|
+
accepted: number$1().int().nonnegative(),
|
|
6036
|
+
inserted: number$1().int().nonnegative(),
|
|
6037
|
+
duplicate: number$1().int().nonnegative(),
|
|
6038
|
+
settledLedgerId: string().nullable(),
|
|
6039
|
+
chargeMicroCredits: number$1().int().nonnegative()
|
|
6040
|
+
});
|
|
6000
6041
|
/** Messaging platforms that support agent gateway bindings. */
|
|
6001
6042
|
const ChannelPlatformKeySchema = _enum(["slack"]);
|
|
6002
6043
|
const ChannelReactionSupportSchema = _enum([
|
|
@@ -6995,6 +7036,7 @@ const HistoryRunStatusSchema = _enum([
|
|
|
6995
7036
|
"running",
|
|
6996
7037
|
"sleeping",
|
|
6997
7038
|
"waiting_hook",
|
|
7039
|
+
"waiting_children",
|
|
6998
7040
|
"completed",
|
|
6999
7041
|
"failed",
|
|
7000
7042
|
"canceled"
|
|
@@ -7180,6 +7222,7 @@ const WorkflowRunStatusSchema = _enum([
|
|
|
7180
7222
|
"running",
|
|
7181
7223
|
"sleeping",
|
|
7182
7224
|
"waiting_hook",
|
|
7225
|
+
"waiting_children",
|
|
7183
7226
|
"completed",
|
|
7184
7227
|
"failed",
|
|
7185
7228
|
"canceled"
|
|
@@ -7200,6 +7243,7 @@ _enum([
|
|
|
7200
7243
|
"sleep_completed",
|
|
7201
7244
|
"hook_created",
|
|
7202
7245
|
"hook_resumed",
|
|
7246
|
+
"child_dispatched",
|
|
7203
7247
|
"run_completed",
|
|
7204
7248
|
"run_failed",
|
|
7205
7249
|
"run_canceled"
|
|
@@ -8425,4 +8469,4 @@ const WorkflowRunInputsPutBodySchema = record(string(), unknown());
|
|
|
8425
8469
|
//#endregion
|
|
8426
8470
|
export { CredentialInstanceRecordSchema as $, WorkflowRunDetailResponseSchema as $n, toJSONSchema as $r, PresignProjectSourceResponseSchema as $t, ConnectManagedServiceCredentialRequestSchema as A, TriggerRunListResponseSchema as An, ZodType as Ar, ListManagedServiceCredentialsResponseSchema as At, CreateCustomAppResponseSchema as B, UpdateProjectMemberResponseSchema as Bn, lazy as Br, ManagedServiceCredentialSchema as Bt, ChannelConnectionListResponseSchema as C, SubmitMarketingContactRequestSchema as Cn, parseStoredRouteManifest as Cr, ListAgentMemoryFilesResponseSchema as Ct, ConfirmCheckoutRequestSchema as D, TriggerInvokeResponseSchema as Dn, resolvePublicPlatformOrigin as Dr, ListChannelPlatformsResponseSchema as Dt, CompleteProjectArtifactResponseSchema as E, TriggerInvokeInputsSchema as En, resolveDocsMcpUrl as Er, ListAppsResponseSchema as Et, CreateCredentialInstanceBodySchema as F, UpdateManagedServiceCredentialRequestSchema as Fn, array as Fr, ListProjectDeploymentsResponseSchema as Ft, CreateProjectResponseSchema as G, UpsertGatewayAttachmentBodySchema as Gn, optional as Gr, OrganizationSidebarBrandingSchema as Gt, CreateOrganizationResponseSchema as H, UpdateProjectSettingsRequestSchema as Hn, looseObject as Hr, McpDiscoverResponseSchema as Ht, CreateCredentialsRequestSchema as I, UpdateOrganizationMemberRequestSchema as In, boolean as Ir, ListProjectFilesResponseSchema as It, CredentialAssignmentListResponseSchema as J, UserPreferencesPatchSchema as Jn, string as Jr, PresignChatAttachmentRequestSchema as Jt, CreateSubscriptionCheckoutRequestSchema as K, UserAvatarPatchSchema as Kn, preprocess as Kr, PROJECT_PULL_STATE_RELATIVE_PATH as Kt, CreateCredentialsResponseSchema as L, UpdateOrganizationMemberResponseSchema as Ln, custom as Lr, ListProjectMembersResponseSchema as Lt, CreateApiKeyRequestSchema as M, UpdateChannelBindingBodySchema as Mn, _function as Mr, ListOrganizationMembersPageQuerySchema as Mt, CreateApiKeyResponseSchema as N, UpdateCredentialInstanceBodySchema as Nn, _null as Nr, ListOrganizationMembersPageResponseSchema as Nt, ConfirmCheckoutResponseSchema as O, TriggerListResponseSchema as On, slugifyAppName as Or, ListCredentialsPageQuerySchema as Ot, CreateBillingPortalRequestSchema as P, UpdateCredentialRequestSchema as Pn, any as Pr, ListOrganizationsResponseSchema as Pt, CredentialInstanceListResponseSchema as Q, WorkflowCanvasSchema as Qn, datetime as Qr, PresignProjectSourceRequestSchema as Qt, CreateCreditsCheckoutRequestSchema as R, UpdateOrganizationRequestSchema as Rn, discriminatedUnion as Rr, ListProjectMetricsResponseSchema as Rt, ChannelAccountListResponseSchema as S, StartOAuthConnectionResultSchema as Sn, parseErrorResponse as Sr, LOCAL_PLATFORM_ORIGIN as St, ChannelDirectoryListResponseSchema as T, TriggerDetailResponseSchema as Tn, resolveConnectAppSlug as Tr, ListApiKeysResponseSchema as Tt, CreateProjectArtifactResponseSchema as U, UploadProjectSourceManifestRequestSchema as Un, number$1 as Ur, OpenApiDiscoverResponseSchema as Ut, CreateOrganizationRequestSchema as V, UpdateProjectRequestSchema as Vn, literal as Vr, ManagedServiceKindSchema as Vt, CreateProjectRequestSchema as W, UploadProjectSourceResponseSchema as Wn, object as Wr, OrganizationSidebarBrandingPatchSchema as Wt, CredentialConsumerListQuerySchema as X, WorkflowCanvasCredentialBindingsSchema as Xn, unknown as Xr, PresignOrgLogoRequestSchema as Xt, CredentialAssignmentRecordSchema as Y, UserPreferencesSchema as Yn, union as Yr, PresignChatAttachmentResponseSchema as Yt, CredentialConsumerListResponseSchema as Z, WorkflowCanvasRunSchema as Zn, url as Zr, PresignOrgLogoResponseSchema as Zt, BindChannelBodySchema as _, StartKeystrokeConnectionInputSchema as _n, isAcceptableInstallExit as _r, HistoryRunListResponseSchema as _t, AgentSessionListResponseSchema as a, ProjectSettingsResponseSchema as an, WorkflowSummaryDetailResponseSchema as ar, DownloadActiveProjectSourceResponseSchema as at, CatalogAppDetailResponseSchema as b, StartMcpOAuthConnectionResultSchema as bn, originFromPublicUrl as br, InviteProjectMembersRequestSchema as bt, AgentTriggerSummaryListResponseSchema as c, PromptResponseSchema as cn, WorkspaceTriggerFileSchema as cr, GatewayAttachmentRecordSchema as ct, AutoTopupSummarySchema as d, QueuedRunResponseSchema as dn, WorkspaceTriggerRunListResponseSchema as dr, GetCustomAppResponseSchema as dt, safeParse$1 as ei, PresignUserAvatarRequestSchema as en, WorkflowRunHooksResponseSchema as er, DEFAULT_CLOUD_PLATFORM_ORIGIN as et, BillingActivityResponseSchema as f, ROUTE_MANIFEST_REL_PATH as fn, WorkspaceWorkflowOverviewSchema as fr, GraphqlDiscoverResponseSchema as ft, BillingUsageResponseSchema as g, SlugAvailabilityResponseSchema as gn, detectProjectPackageManagerFromSnapshot as gr, HistoryRunListQuerySchema as gt, BillingSummaryResponseSchema as h, SkillSummaryListResponseSchema as hn, deriveCustomAppDisplay as hr, HistoryRunDetailResponseSchema as ht, AgentSessionDetailResponseSchema as i, ProjectResponseSchema as in, WorkflowRunResponseSchema as ir, DownloadActiveProjectArtifactResponseSchema as it, ConnectProvidersResponseSchema as j, UpdateAutoTopupRequestSchema as jn, _enum as jr, ListOrganizationInvitationsResponseSchema as jt, ConnectAuthorizeUrlResponseSchema as k, TriggerRunDetailResponseSchema as kn, number as kr, ListCredentialsPageResponseSchema as kt, AppSlugAvailabilityResponseSchema as l, PublicModelsResponseSchema as ln, WorkspaceTriggerListResponseSchema as lr, GetAppCatalogEntryResponseSchema as lt, BillingRedirectResponseSchema as m, SkillSummaryDetailResponseSchema as mn, credentialInputSchema as mr, HistoryRunCancelResponseSchema as mt, AcceptOrganizationInvitationResponseSchema as n, ProjectPullStateSchema as nn, WorkflowRunInputsSchema as nr, DOCS_SEARCH_TOOL as nt, AgentSummaryDetailResponseSchema as o, ProjectSlugAvailabilityResponseSchema as on, WorkflowSummaryListResponseSchema as or, ErrorResponseSchema as ot, BillingInvoiceUrlResponseSchema as p, RecentResourceListResponseSchema as pn, buildConnectDeeplink as pr, HealthResponseSchema as pt, CredentialAssignmentListQuerySchema as q, UserAvatarSchema as qn, record as qr, PROJECT_REACHABILITY_REQUEST_TIMEOUT_MS as qt, ActiveOrganizationResponseSchema as r, ProjectReachabilityResponseSchema as rn, WorkflowRunListResponseSchema as rr, DeclineOrganizationInvitationResponseSchema as rt, AgentSummaryListResponseSchema as s, PromptInputSchema as sn, WorkspaceTriggerDetailSchema as sr, ExecuteKeystrokeToolRequestSchema as st, ACTIVE_ORG_HEADER as t, NEVER as ti, PresignUserAvatarResponseSchema as tn, WorkflowRunInputsPutBodySchema as tr, DOCS_QUERY_TOOL as tt, AssignCredentialBodySchema as u, QueuedAgentPromptResponseSchema as un, WorkspaceTriggerOverviewSchema as ur, GetCredentialResponseSchema as ut, CatalogActionDetailResponseSchema as v, StartKeystrokeConnectionResultSchema as vn, listenPortFromPublicUrl as vr, InviteOrganizationMembersRequestSchema as vt, ChannelConnectionSchema as w, SubmitTeamRequestRequestSchema as wn, requiredDisplayTextSchema as wr, ListAgentWorkspaceFilesResponseSchema as wt, CatalogAppsPageResponseSchema as x, StartOAuthConnectionInputSchema as xn, parseAppSlug as xr, InviteProjectMembersResponseSchema as xt, CatalogActionsPageResponseSchema as y, StartMcpOAuthConnectionInputSchema as yn, normalizeCredentialList as yr, InviteOrganizationMembersResponseSchema as yt, CreateCustomAppRequestSchema as z, UpdateProjectMemberRequestSchema as zn, intersection as zr, ListProjectsResponseSchema as zt };
|
|
8427
8471
|
|
|
8428
|
-
//# sourceMappingURL=dist-
|
|
8472
|
+
//# sourceMappingURL=dist-WHAEh05Y.mjs.map
|