everything-dev 1.49.0 → 1.51.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (145) hide show
  1. package/dist/app.cjs +66 -86
  2. package/dist/app.cjs.map +1 -1
  3. package/dist/app.mjs +66 -87
  4. package/dist/app.mjs.map +1 -1
  5. package/dist/cli/db-doctor.cjs +6 -23
  6. package/dist/cli/db-doctor.cjs.map +1 -1
  7. package/dist/cli/db-doctor.mjs +7 -24
  8. package/dist/cli/db-doctor.mjs.map +1 -1
  9. package/dist/cli/db-repair.cjs +25 -20
  10. package/dist/cli/db-repair.cjs.map +1 -1
  11. package/dist/cli/db-repair.mjs +25 -20
  12. package/dist/cli/db-repair.mjs.map +1 -1
  13. package/dist/cli/db-studio.cjs +4 -2
  14. package/dist/cli/db-studio.cjs.map +1 -1
  15. package/dist/cli/db-studio.mjs +5 -3
  16. package/dist/cli/db-studio.mjs.map +1 -1
  17. package/dist/cli/framework-version.cjs +45 -9
  18. package/dist/cli/framework-version.cjs.map +1 -1
  19. package/dist/cli/framework-version.mjs +45 -10
  20. package/dist/cli/framework-version.mjs.map +1 -1
  21. package/dist/cli/infra.cjs +89 -3
  22. package/dist/cli/infra.cjs.map +1 -1
  23. package/dist/cli/infra.mjs +83 -4
  24. package/dist/cli/infra.mjs.map +1 -1
  25. package/dist/cli/init.cjs +39 -15
  26. package/dist/cli/init.cjs.map +1 -1
  27. package/dist/cli/init.d.cts +8 -3
  28. package/dist/cli/init.d.cts.map +1 -1
  29. package/dist/cli/init.d.mts +8 -3
  30. package/dist/cli/init.d.mts.map +1 -1
  31. package/dist/cli/init.mjs +39 -16
  32. package/dist/cli/init.mjs.map +1 -1
  33. package/dist/cli/parse.cjs +4 -1
  34. package/dist/cli/parse.cjs.map +1 -1
  35. package/dist/cli/parse.mjs +4 -1
  36. package/dist/cli/parse.mjs.map +1 -1
  37. package/dist/cli/status.cjs +6 -2
  38. package/dist/cli/status.cjs.map +1 -1
  39. package/dist/cli/status.mjs +7 -3
  40. package/dist/cli/status.mjs.map +1 -1
  41. package/dist/cli/sync.cjs +9 -3
  42. package/dist/cli/sync.cjs.map +1 -1
  43. package/dist/cli/sync.mjs +9 -3
  44. package/dist/cli/sync.mjs.map +1 -1
  45. package/dist/cli/upgrade.cjs +59 -5
  46. package/dist/cli/upgrade.cjs.map +1 -1
  47. package/dist/cli/upgrade.mjs +59 -5
  48. package/dist/cli/upgrade.mjs.map +1 -1
  49. package/dist/cli.cjs +73 -9
  50. package/dist/cli.cjs.map +1 -1
  51. package/dist/cli.mjs +74 -10
  52. package/dist/cli.mjs.map +1 -1
  53. package/dist/config.cjs +13 -5
  54. package/dist/config.cjs.map +1 -1
  55. package/dist/config.d.cts.map +1 -1
  56. package/dist/config.d.mts.map +1 -1
  57. package/dist/config.mjs +13 -5
  58. package/dist/config.mjs.map +1 -1
  59. package/dist/contract.cjs +76 -4
  60. package/dist/contract.cjs.map +1 -1
  61. package/dist/contract.d.cts +148 -3
  62. package/dist/contract.d.cts.map +1 -1
  63. package/dist/contract.d.mts +148 -3
  64. package/dist/contract.d.mts.map +1 -1
  65. package/dist/contract.meta.cjs +17 -2
  66. package/dist/contract.meta.cjs.map +1 -1
  67. package/dist/contract.meta.d.cts +23 -2
  68. package/dist/contract.meta.d.mts +23 -2
  69. package/dist/contract.meta.mjs +17 -2
  70. package/dist/contract.meta.mjs.map +1 -1
  71. package/dist/contract.mjs +72 -5
  72. package/dist/contract.mjs.map +1 -1
  73. package/dist/db.cjs +32 -24
  74. package/dist/db.cjs.map +1 -1
  75. package/dist/db.d.cts +16 -9
  76. package/dist/db.d.cts.map +1 -1
  77. package/dist/db.d.mts +16 -9
  78. package/dist/db.d.mts.map +1 -1
  79. package/dist/db.mjs +32 -23
  80. package/dist/db.mjs.map +1 -1
  81. package/dist/dev-session.cjs +28 -0
  82. package/dist/dev-session.cjs.map +1 -1
  83. package/dist/dev-session.mjs +29 -1
  84. package/dist/dev-session.mjs.map +1 -1
  85. package/dist/index.cjs +5 -0
  86. package/dist/index.d.cts +2 -2
  87. package/dist/index.d.mts +2 -2
  88. package/dist/index.mjs +2 -2
  89. package/dist/infra/planner.cjs +344 -0
  90. package/dist/infra/planner.cjs.map +1 -0
  91. package/dist/infra/planner.mjs +343 -0
  92. package/dist/infra/planner.mjs.map +1 -0
  93. package/dist/infra/preflight.cjs +131 -0
  94. package/dist/infra/preflight.cjs.map +1 -0
  95. package/dist/infra/preflight.mjs +130 -0
  96. package/dist/infra/preflight.mjs.map +1 -0
  97. package/dist/infra/types.cjs +9 -0
  98. package/dist/infra/types.cjs.map +1 -0
  99. package/dist/infra/types.mjs +8 -0
  100. package/dist/infra/types.mjs.map +1 -0
  101. package/dist/near-cli.cjs +37 -0
  102. package/dist/near-cli.cjs.map +1 -1
  103. package/dist/near-cli.mjs +36 -1
  104. package/dist/near-cli.mjs.map +1 -1
  105. package/dist/orchestrator.cjs +10 -2
  106. package/dist/orchestrator.cjs.map +1 -1
  107. package/dist/orchestrator.mjs +10 -2
  108. package/dist/orchestrator.mjs.map +1 -1
  109. package/dist/plugin.cjs +161 -44
  110. package/dist/plugin.cjs.map +1 -1
  111. package/dist/plugin.d.cts +57 -1
  112. package/dist/plugin.d.cts.map +1 -1
  113. package/dist/plugin.d.mts +57 -1
  114. package/dist/plugin.d.mts.map +1 -1
  115. package/dist/plugin.mjs +165 -48
  116. package/dist/plugin.mjs.map +1 -1
  117. package/dist/process-registry.cjs +88 -0
  118. package/dist/process-registry.cjs.map +1 -0
  119. package/dist/process-registry.mjs +83 -0
  120. package/dist/process-registry.mjs.map +1 -0
  121. package/dist/publish.cjs +4 -0
  122. package/dist/publish.cjs.map +1 -1
  123. package/dist/publish.mjs +4 -0
  124. package/dist/publish.mjs.map +1 -1
  125. package/dist/service-descriptor.cjs +4 -0
  126. package/dist/service-descriptor.cjs.map +1 -1
  127. package/dist/service-descriptor.mjs +4 -1
  128. package/dist/service-descriptor.mjs.map +1 -1
  129. package/dist/ui/index.cjs +2 -1
  130. package/dist/ui/index.d.cts +2 -2
  131. package/dist/ui/index.d.mts +2 -2
  132. package/dist/ui/index.mjs +2 -2
  133. package/dist/ui/router.cjs +40 -0
  134. package/dist/ui/router.cjs.map +1 -1
  135. package/dist/ui/router.d.cts +6 -1
  136. package/dist/ui/router.d.cts.map +1 -1
  137. package/dist/ui/router.d.mts +6 -1
  138. package/dist/ui/router.d.mts.map +1 -1
  139. package/dist/ui/router.mjs +40 -1
  140. package/dist/ui/router.mjs.map +1 -1
  141. package/package.json +5 -2
  142. package/skills/api-and-auth/SKILL.md +38 -16
  143. package/skills/cli-reference/SKILL.md +5 -4
  144. package/skills/dev-workflow/SKILL.md +40 -11
  145. package/skills/plugin-development/SKILL.md +17 -6
@@ -1,5 +1,6 @@
1
1
  import { getProjectRoot } from "./config.mjs";
2
- import { DevRuntimeConfigLive, ServiceDescriptorMap, ServiceDescriptorMapLive } from "./service-descriptor.mjs";
2
+ import { registerStandalone, unregisterPid } from "./process-registry.mjs";
3
+ import { DevRuntimeConfig, DevRuntimeConfigLive, ServiceDescriptorMap, ServiceDescriptorMapLive } from "./service-descriptor.mjs";
3
4
  import { renderDevView } from "./components/dev-view.mjs";
4
5
  import { renderStreamingView } from "./components/streaming-view.mjs";
5
6
  import { createDevLogger } from "./dev-logs.mjs";
@@ -58,6 +59,7 @@ function formatLogLine(entry) {
58
59
  const runDevSession = (orchestrator, onShutdownReady) => Effect.gen(function* () {
59
60
  const configDir = getProjectRoot();
60
61
  const services = yield* ServiceDescriptorMap;
62
+ const runtimeConfig = yield* DevRuntimeConfig;
61
63
  const orderedPackages = sortByOrder(orchestrator.packages);
62
64
  const initialProcesses = getProcessStates(orderedPackages, services, orchestrator.port);
63
65
  if (process.env.DEBUG === "true" || process.env.DEBUG === "1") {
@@ -71,6 +73,29 @@ const runDevSession = (orchestrator, onShutdownReady) => Effect.gen(function* ()
71
73
  onShutdownReady?.(() => {
72
74
  Effect.runPromise(Deferred.succeed(shutdown, void 0));
73
75
  });
76
+ const isWorkspaceChild = process.env.BOS_WORKSPACE_CHILD === "1";
77
+ if (!isWorkspaceChild) {
78
+ const regPorts = {};
79
+ const addPort = (key, value) => {
80
+ if (value != null) regPorts[key] = value;
81
+ };
82
+ addPort("host", runtimeConfig.host.port);
83
+ addPort("api", runtimeConfig.api.port);
84
+ addPort("ui", runtimeConfig.ui.port);
85
+ addPort("auth", runtimeConfig.auth?.port);
86
+ addPort("uiSsr", runtimeConfig.ui.ssrUrl ? Number.parseInt(new URL(runtimeConfig.ui.ssrUrl).port, 10) : void 0);
87
+ if (runtimeConfig.plugins) for (const [id, plugin] of Object.entries(runtimeConfig.plugins)) {
88
+ addPort(`plugin:${id}`, plugin.port);
89
+ addPort(`plugin-ui:${id}`, plugin.ui?.port);
90
+ }
91
+ registerStandalone({
92
+ pid: process.pid,
93
+ configDir,
94
+ ports: regPorts,
95
+ startedAt: Date.now(),
96
+ description: orchestrator.description
97
+ });
98
+ }
74
99
  const allLogs = [];
75
100
  let view = null;
76
101
  let shouldExportLogs = false;
@@ -129,6 +154,9 @@ const runDevSession = (orchestrator, onShutdownReady) => Effect.gen(function* ()
129
154
  yield* Effect.forEach(allHandles, (h) => h.kill.pipe(Effect.ignore), { concurrency: "unbounded" });
130
155
  yield* Effect.sleep("200 millis");
131
156
  view?.unmount();
157
+ if (!isWorkspaceChild) try {
158
+ unregisterPid(process.pid);
159
+ } catch {}
132
160
  if (shouldExportLogs) {
133
161
  console.log("\n");
134
162
  console.log("═".repeat(70));
@@ -1 +1 @@
1
- {"version":3,"file":"dev-session.mjs","names":[],"sources":["../src/dev-session.ts"],"sourcesContent":["import * as NodeContext from \"@effect/platform-node/NodeContext\";\nimport { Deferred, Effect, Exit } from \"effect\";\nimport {\n type DevViewHandle,\n type LogEntry,\n type ProcessState,\n renderDevView,\n} from \"./components/dev-view\";\nimport { renderStreamingView } from \"./components/streaming-view\";\nimport { getProjectRoot } from \"./config\";\nimport { createDevLogger } from \"./dev-logs\";\nimport {\n getProcessStates,\n makeDevProcess,\n type ProcessCallbacks,\n type ProcessHandle,\n} from \"./orchestrator\";\nimport {\n type AppOrchestrator,\n DevRuntimeConfigLive,\n type ServiceDescriptor,\n ServiceDescriptorMap,\n ServiceDescriptorMapLive,\n} from \"./service-descriptor\";\nimport type { RuntimeConfig } from \"./types\";\n\nconst LOG_NOISE_PATTERNS = [\n /\\[ Federation Runtime \\] Version .* from (host|ui) of shared singleton module/,\n /Executing an Effect versioned \\d+\\.\\d+\\.\\d+ with a Runtime of version/,\n /you may want to dedupe the effect dependencies/,\n];\n\nconst SSR_LOG_ALLOWLIST = [\n /\\bready\\s+built in\\b/i,\n /\\bcompiled\\b.*successfully/i,\n /\\berror\\b/i,\n /\\bfailed\\b/i,\n /\\bexception\\b/i,\n];\n\nconst shouldDisplayLog = (source: string, line: string, isError?: boolean): boolean => {\n if (process.env.DEBUG === \"true\" || process.env.DEBUG === \"1\") return true;\n if (source === \"ui-ssr\") {\n if (isError) return true;\n return SSR_LOG_ALLOWLIST.some((pattern) => pattern.test(line));\n }\n return !LOG_NOISE_PATTERNS.some((pattern) => pattern.test(line));\n};\n\nconst isInteractiveSupported = (): boolean => {\n return process.stdin.isTTY === true && process.stdout.isTTY === true;\n};\n\nconst STARTUP_ORDER = [\"ui-ssr\", \"ui\", \"auth\", \"api\", \"plugin\", \"host-build\", \"host\"];\n\nconst sortByOrder = (packages: string[]): string[] => {\n return [...packages].sort((a, b) => {\n const aIdx = a.startsWith(\"plugin:\")\n ? STARTUP_ORDER.indexOf(\"plugin\")\n : STARTUP_ORDER.indexOf(a);\n const bIdx = b.startsWith(\"plugin:\")\n ? STARTUP_ORDER.indexOf(\"plugin\")\n : STARTUP_ORDER.indexOf(b);\n if (aIdx === -1 && bIdx === -1) return 0;\n if (aIdx === -1) return 1;\n if (bIdx === -1) return -1;\n return aIdx - bIdx;\n });\n};\n\nfunction formatLogLine(entry: LogEntry): string {\n const ts = new Date(entry.timestamp).toISOString();\n const prefix = entry.isError ? \"ERR\" : \"OUT\";\n return `[${ts}] [${entry.source}] [${prefix}] ${entry.line}`;\n}\n\nexport const runDevSession = (\n orchestrator: AppOrchestrator,\n onShutdownReady?: (requestShutdown: () => void) => void,\n) =>\n Effect.gen(function* () {\n const configDir = getProjectRoot();\n const services = yield* ServiceDescriptorMap;\n const orderedPackages = sortByOrder(orchestrator.packages);\n const initialProcesses: ProcessState[] = getProcessStates(\n orderedPackages,\n services,\n orchestrator.port,\n );\n\n if (process.env.DEBUG === \"true\" || process.env.DEBUG === \"1\") {\n console.error(\"[DEBUG session] orchestrator.packages:\", orchestrator.packages.join(\", \"));\n console.error(\"[DEBUG session] orderedPackages:\", orderedPackages.join(\", \"));\n console.error(\"[DEBUG session] services keys:\", [...services.keys()].join(\", \"));\n console.error(\n \"[DEBUG session] initialProcesses:\",\n initialProcesses.map((p) => `${p.name}=${p.source}`).join(\", \"),\n );\n }\n\n const logger = yield* Effect.promise(() =>\n createDevLogger(configDir, orchestrator.description),\n );\n\n const shutdown = yield* Deferred.make<void>();\n\n onShutdownReady?.(() => {\n void Effect.runPromise(Deferred.succeed(shutdown, undefined));\n });\n\n const allLogs: LogEntry[] = [];\n let view: DevViewHandle | null = null;\n let shouldExportLogs = false;\n\n const requestShutdownAndExport = () => {\n shouldExportLogs = true;\n void Effect.runPromise(Deferred.succeed(shutdown, undefined));\n };\n\n const useInteractive = orchestrator.interactive ?? isInteractiveSupported();\n view = useInteractive\n ? renderDevView(\n initialProcesses,\n orchestrator.description,\n orchestrator.env,\n () => void Effect.runPromise(Deferred.succeed(shutdown, undefined)),\n requestShutdownAndExport,\n )\n : renderStreamingView(\n initialProcesses,\n orchestrator.description,\n orchestrator.env,\n () => void Effect.runPromise(Deferred.succeed(shutdown, undefined)),\n );\n\n const callbacks: ProcessCallbacks = {\n onStatus: (name, status, message) => {\n view?.updateProcess(name, status, message);\n },\n onLog: (name, line, isError) => {\n const entry: LogEntry = {\n id: `${Date.now()}-${allLogs.length + 1}`,\n source: name,\n line,\n timestamp: Date.now(),\n isError,\n };\n allLogs.push(entry);\n if (shouldDisplayLog(name, line, isError)) {\n view?.addLog(name, line, isError);\n }\n if (!orchestrator.noLogs) {\n void logger.write(entry);\n }\n },\n };\n\n const startProcess = (pkg: string) => {\n const portOverride = pkg === \"host\" ? orchestrator.port : undefined;\n return makeDevProcess(pkg, callbacks, portOverride).pipe(\n Effect.tapError((err) =>\n Effect.sync(() => {\n callbacks.onLog(pkg, `Failed to start: ${err}`, true);\n callbacks.onStatus(pkg, \"error\");\n }),\n ),\n Effect.catchAll(() =>\n Effect.succeed({\n name: pkg,\n pid: undefined,\n kill: Effect.void,\n waitForReady: Effect.void,\n waitForExit: Effect.never,\n } satisfies ProcessHandle),\n ),\n );\n };\n\n const startGroup = (packages: string[]) =>\n Effect.forEach(packages, startProcess, { concurrency: \"unbounded\" });\n\n const awaitReady = (pkg: string, handle: ProcessHandle) =>\n handle.waitForReady.pipe(\n Effect.timeout(\"120 seconds\"),\n Effect.catchAll((err) =>\n Effect.sync(() => {\n callbacks.onLog(\n pkg,\n `Timed out or failed: ${err instanceof Error ? err.message : String(err)}`,\n true,\n );\n }),\n ),\n );\n\n const nonHostPackages = orderedPackages.filter((pkg) => pkg !== \"host\");\n const hostPackages = orderedPackages.filter((pkg) => pkg === \"host\");\n\n const nonHostHandles = yield* startGroup(nonHostPackages);\n\n yield* Effect.forEach(\n nonHostHandles.map((handle, index) => ({\n handle,\n pkg: nonHostPackages[index] ?? handle.name,\n })),\n ({ handle, pkg }) => awaitReady(pkg, handle),\n { concurrency: \"unbounded\" },\n );\n\n const hostHandles = yield* startGroup(hostPackages);\n\n yield* Effect.forEach(\n hostHandles.map((handle, index) => ({ handle, pkg: hostPackages[index] ?? handle.name })),\n ({ handle, pkg }) => awaitReady(pkg, handle),\n { concurrency: \"unbounded\" },\n );\n\n const allHandles = [...nonHostHandles, ...hostHandles];\n\n yield* Effect.addFinalizer(() =>\n Effect.gen(function* () {\n yield* Effect.forEach(allHandles, (h) => h.kill.pipe(Effect.ignore), {\n concurrency: \"unbounded\",\n });\n\n yield* Effect.sleep(\"200 millis\");\n\n view?.unmount();\n\n if (shouldExportLogs) {\n console.log(\"\\n\");\n console.log(\"═\".repeat(70));\n console.log(` SESSION LOGS: ${orchestrator.description}`);\n console.log(` Started: ${new Date(allLogs[0]?.timestamp || Date.now()).toISOString()}`);\n console.log(` Total entries: ${allLogs.length}`);\n console.log(\"═\".repeat(70));\n console.log(\"\");\n for (const entry of allLogs) {\n console.log(formatLogLine(entry));\n }\n console.log(\"\");\n console.log(\"═\".repeat(70));\n console.log(` Full logs saved to: ${logger.logFile}`);\n console.log(\"═\".repeat(70));\n console.log(\"\");\n }\n }),\n );\n\n yield* Deferred.await(shutdown);\n });\n\nconst runApp = (\n orchestrator: AppOrchestrator,\n services: Map<string, ServiceDescriptor>,\n runtimeConfig: RuntimeConfig,\n) => {\n let requestShutdown: (() => void) | null = null;\n let signalCount = 0;\n let forceExitTimer: ReturnType<typeof setTimeout> | null = null;\n\n const forceExit = () => {\n console.log(\"\\n[Dev] Force exit\");\n process.exit(0);\n };\n\n const program = Effect.scoped(\n runDevSession(orchestrator, (shutdown) => {\n requestShutdown = shutdown;\n }),\n ).pipe(\n Effect.provide(ServiceDescriptorMapLive(services)),\n Effect.provide(DevRuntimeConfigLive(runtimeConfig)),\n Effect.provide(NodeContext.layer),\n Effect.catchAllDefect((defect) =>\n Effect.sync(() => {\n console.error(\"[Dev] Unhandled defect in orchestrator:\", defect);\n }),\n ),\n );\n\n const handleSignal = () => {\n signalCount++;\n if (signalCount > 1) {\n forceExit();\n return;\n }\n console.log(\"\\n[Dev] Shutting down...\");\n forceExitTimer = setTimeout(forceExit, 5000);\n requestShutdown?.();\n };\n\n process.on(\"SIGINT\", handleSignal);\n process.on(\"SIGTERM\", handleSignal);\n\n Effect.runPromiseExit(program).then((exit) => {\n if (forceExitTimer) clearTimeout(forceExitTimer);\n process.exit(Exit.isSuccess(exit) ? 0 : 0);\n });\n};\n\nexport const devApp = runApp;\n\nexport const startApp = runApp;\n"],"mappings":"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"}
1
+ {"version":3,"file":"dev-session.mjs","names":[],"sources":["../src/dev-session.ts"],"sourcesContent":["import * as NodeContext from \"@effect/platform-node/NodeContext\";\nimport { Deferred, Effect, Exit } from \"effect\";\nimport {\n type DevViewHandle,\n type LogEntry,\n type ProcessState,\n renderDevView,\n} from \"./components/dev-view\";\nimport { renderStreamingView } from \"./components/streaming-view\";\nimport { getProjectRoot } from \"./config\";\nimport { createDevLogger } from \"./dev-logs\";\nimport {\n getProcessStates,\n makeDevProcess,\n type ProcessCallbacks,\n type ProcessHandle,\n} from \"./orchestrator\";\nimport { registerStandalone, unregisterPid } from \"./process-registry\";\nimport {\n type AppOrchestrator,\n DevRuntimeConfig,\n DevRuntimeConfigLive,\n type ServiceDescriptor,\n ServiceDescriptorMap,\n ServiceDescriptorMapLive,\n} from \"./service-descriptor\";\nimport type { RuntimeConfig } from \"./types\";\n\nconst LOG_NOISE_PATTERNS = [\n /\\[ Federation Runtime \\] Version .* from (host|ui) of shared singleton module/,\n /Executing an Effect versioned \\d+\\.\\d+\\.\\d+ with a Runtime of version/,\n /you may want to dedupe the effect dependencies/,\n];\n\nconst SSR_LOG_ALLOWLIST = [\n /\\bready\\s+built in\\b/i,\n /\\bcompiled\\b.*successfully/i,\n /\\berror\\b/i,\n /\\bfailed\\b/i,\n /\\bexception\\b/i,\n];\n\nconst shouldDisplayLog = (source: string, line: string, isError?: boolean): boolean => {\n if (process.env.DEBUG === \"true\" || process.env.DEBUG === \"1\") return true;\n if (source === \"ui-ssr\") {\n if (isError) return true;\n return SSR_LOG_ALLOWLIST.some((pattern) => pattern.test(line));\n }\n return !LOG_NOISE_PATTERNS.some((pattern) => pattern.test(line));\n};\n\nconst isInteractiveSupported = (): boolean => {\n return process.stdin.isTTY === true && process.stdout.isTTY === true;\n};\n\nconst STARTUP_ORDER = [\"ui-ssr\", \"ui\", \"auth\", \"api\", \"plugin\", \"host-build\", \"host\"];\n\nconst sortByOrder = (packages: string[]): string[] => {\n return [...packages].sort((a, b) => {\n const aIdx = a.startsWith(\"plugin:\")\n ? STARTUP_ORDER.indexOf(\"plugin\")\n : STARTUP_ORDER.indexOf(a);\n const bIdx = b.startsWith(\"plugin:\")\n ? STARTUP_ORDER.indexOf(\"plugin\")\n : STARTUP_ORDER.indexOf(b);\n if (aIdx === -1 && bIdx === -1) return 0;\n if (aIdx === -1) return 1;\n if (bIdx === -1) return -1;\n return aIdx - bIdx;\n });\n};\n\nfunction formatLogLine(entry: LogEntry): string {\n const ts = new Date(entry.timestamp).toISOString();\n const prefix = entry.isError ? \"ERR\" : \"OUT\";\n return `[${ts}] [${entry.source}] [${prefix}] ${entry.line}`;\n}\n\nexport const runDevSession = (\n orchestrator: AppOrchestrator,\n onShutdownReady?: (requestShutdown: () => void) => void,\n) =>\n Effect.gen(function* () {\n const configDir = getProjectRoot();\n const services = yield* ServiceDescriptorMap;\n const runtimeConfig = yield* DevRuntimeConfig;\n const orderedPackages = sortByOrder(orchestrator.packages);\n const initialProcesses: ProcessState[] = getProcessStates(\n orderedPackages,\n services,\n orchestrator.port,\n );\n\n if (process.env.DEBUG === \"true\" || process.env.DEBUG === \"1\") {\n console.error(\"[DEBUG session] orchestrator.packages:\", orchestrator.packages.join(\", \"));\n console.error(\"[DEBUG session] orderedPackages:\", orderedPackages.join(\", \"));\n console.error(\"[DEBUG session] services keys:\", [...services.keys()].join(\", \"));\n console.error(\n \"[DEBUG session] initialProcesses:\",\n initialProcesses.map((p) => `${p.name}=${p.source}`).join(\", \"),\n );\n }\n\n const logger = yield* Effect.promise(() =>\n createDevLogger(configDir, orchestrator.description),\n );\n\n const shutdown = yield* Deferred.make<void>();\n\n onShutdownReady?.(() => {\n void Effect.runPromise(Deferred.succeed(shutdown, undefined));\n });\n\n const isWorkspaceChild = process.env.BOS_WORKSPACE_CHILD === \"1\";\n if (!isWorkspaceChild) {\n const regPorts: Record<string, number> = {};\n const addPort = (key: string, value: number | undefined | null) => {\n if (value != null) regPorts[key] = value;\n };\n addPort(\"host\", runtimeConfig.host.port);\n addPort(\"api\", runtimeConfig.api.port);\n addPort(\"ui\", runtimeConfig.ui.port);\n addPort(\"auth\", runtimeConfig.auth?.port);\n addPort(\n \"uiSsr\",\n runtimeConfig.ui.ssrUrl\n ? Number.parseInt(new URL(runtimeConfig.ui.ssrUrl).port, 10)\n : undefined,\n );\n if (runtimeConfig.plugins) {\n for (const [id, plugin] of Object.entries(runtimeConfig.plugins)) {\n addPort(`plugin:${id}`, plugin.port);\n addPort(`plugin-ui:${id}`, plugin.ui?.port);\n }\n }\n registerStandalone({\n pid: process.pid,\n configDir,\n ports: regPorts,\n startedAt: Date.now(),\n description: orchestrator.description,\n });\n }\n\n const allLogs: LogEntry[] = [];\n let view: DevViewHandle | null = null;\n let shouldExportLogs = false;\n\n const requestShutdownAndExport = () => {\n shouldExportLogs = true;\n void Effect.runPromise(Deferred.succeed(shutdown, undefined));\n };\n\n const useInteractive = orchestrator.interactive ?? isInteractiveSupported();\n view = useInteractive\n ? renderDevView(\n initialProcesses,\n orchestrator.description,\n orchestrator.env,\n () => void Effect.runPromise(Deferred.succeed(shutdown, undefined)),\n requestShutdownAndExport,\n )\n : renderStreamingView(\n initialProcesses,\n orchestrator.description,\n orchestrator.env,\n () => void Effect.runPromise(Deferred.succeed(shutdown, undefined)),\n );\n\n const callbacks: ProcessCallbacks = {\n onStatus: (name, status, message) => {\n view?.updateProcess(name, status, message);\n },\n onLog: (name, line, isError) => {\n const entry: LogEntry = {\n id: `${Date.now()}-${allLogs.length + 1}`,\n source: name,\n line,\n timestamp: Date.now(),\n isError,\n };\n allLogs.push(entry);\n if (shouldDisplayLog(name, line, isError)) {\n view?.addLog(name, line, isError);\n }\n if (!orchestrator.noLogs) {\n void logger.write(entry);\n }\n },\n };\n\n const startProcess = (pkg: string) => {\n const portOverride = pkg === \"host\" ? orchestrator.port : undefined;\n return makeDevProcess(pkg, callbacks, portOverride).pipe(\n Effect.tapError((err) =>\n Effect.sync(() => {\n callbacks.onLog(pkg, `Failed to start: ${err}`, true);\n callbacks.onStatus(pkg, \"error\");\n }),\n ),\n Effect.catchAll(() =>\n Effect.succeed({\n name: pkg,\n pid: undefined,\n kill: Effect.void,\n waitForReady: Effect.void,\n waitForExit: Effect.never,\n } satisfies ProcessHandle),\n ),\n );\n };\n\n const startGroup = (packages: string[]) =>\n Effect.forEach(packages, startProcess, { concurrency: \"unbounded\" });\n\n const awaitReady = (pkg: string, handle: ProcessHandle) =>\n handle.waitForReady.pipe(\n Effect.timeout(\"120 seconds\"),\n Effect.catchAll((err) =>\n Effect.sync(() => {\n callbacks.onLog(\n pkg,\n `Timed out or failed: ${err instanceof Error ? err.message : String(err)}`,\n true,\n );\n }),\n ),\n );\n\n const nonHostPackages = orderedPackages.filter((pkg) => pkg !== \"host\");\n const hostPackages = orderedPackages.filter((pkg) => pkg === \"host\");\n\n const nonHostHandles = yield* startGroup(nonHostPackages);\n\n yield* Effect.forEach(\n nonHostHandles.map((handle, index) => ({\n handle,\n pkg: nonHostPackages[index] ?? handle.name,\n })),\n ({ handle, pkg }) => awaitReady(pkg, handle),\n { concurrency: \"unbounded\" },\n );\n\n const hostHandles = yield* startGroup(hostPackages);\n\n yield* Effect.forEach(\n hostHandles.map((handle, index) => ({ handle, pkg: hostPackages[index] ?? handle.name })),\n ({ handle, pkg }) => awaitReady(pkg, handle),\n { concurrency: \"unbounded\" },\n );\n\n const allHandles = [...nonHostHandles, ...hostHandles];\n\n yield* Effect.addFinalizer(() =>\n Effect.gen(function* () {\n yield* Effect.forEach(allHandles, (h) => h.kill.pipe(Effect.ignore), {\n concurrency: \"unbounded\",\n });\n\n yield* Effect.sleep(\"200 millis\");\n\n view?.unmount();\n\n if (!isWorkspaceChild) {\n try {\n unregisterPid(process.pid);\n } catch {\n // best-effort; pruneDead cleans stale entries on next ps/kill\n }\n }\n\n if (shouldExportLogs) {\n console.log(\"\\n\");\n console.log(\"═\".repeat(70));\n console.log(` SESSION LOGS: ${orchestrator.description}`);\n console.log(` Started: ${new Date(allLogs[0]?.timestamp || Date.now()).toISOString()}`);\n console.log(` Total entries: ${allLogs.length}`);\n console.log(\"═\".repeat(70));\n console.log(\"\");\n for (const entry of allLogs) {\n console.log(formatLogLine(entry));\n }\n console.log(\"\");\n console.log(\"═\".repeat(70));\n console.log(` Full logs saved to: ${logger.logFile}`);\n console.log(\"═\".repeat(70));\n console.log(\"\");\n }\n }),\n );\n\n yield* Deferred.await(shutdown);\n });\n\nconst runApp = (\n orchestrator: AppOrchestrator,\n services: Map<string, ServiceDescriptor>,\n runtimeConfig: RuntimeConfig,\n) => {\n let requestShutdown: (() => void) | null = null;\n let signalCount = 0;\n let forceExitTimer: ReturnType<typeof setTimeout> | null = null;\n\n const forceExit = () => {\n console.log(\"\\n[Dev] Force exit\");\n process.exit(0);\n };\n\n const program = Effect.scoped(\n runDevSession(orchestrator, (shutdown) => {\n requestShutdown = shutdown;\n }),\n ).pipe(\n Effect.provide(ServiceDescriptorMapLive(services)),\n Effect.provide(DevRuntimeConfigLive(runtimeConfig)),\n Effect.provide(NodeContext.layer),\n Effect.catchAllDefect((defect) =>\n Effect.sync(() => {\n console.error(\"[Dev] Unhandled defect in orchestrator:\", defect);\n }),\n ),\n );\n\n const handleSignal = () => {\n signalCount++;\n if (signalCount > 1) {\n forceExit();\n return;\n }\n console.log(\"\\n[Dev] Shutting down...\");\n forceExitTimer = setTimeout(forceExit, 5000);\n requestShutdown?.();\n };\n\n process.on(\"SIGINT\", handleSignal);\n process.on(\"SIGTERM\", handleSignal);\n\n Effect.runPromiseExit(program).then((exit) => {\n if (forceExitTimer) clearTimeout(forceExitTimer);\n process.exit(Exit.isSuccess(exit) ? 0 : 0);\n });\n};\n\nexport const devApp = runApp;\n\nexport const startApp = runApp;\n"],"mappings":"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"}
package/dist/index.cjs CHANGED
@@ -56,6 +56,8 @@ exports.JsonObjectSchema = require_types.JsonObjectSchema;
56
56
  exports.JsonValueSchema = require_types.JsonValueSchema;
57
57
  exports.KeyPublishOptionsSchema = require_contract.KeyPublishOptionsSchema;
58
58
  exports.KeyPublishResultSchema = require_contract.KeyPublishResultSchema;
59
+ exports.KillOptionsSchema = require_contract.KillOptionsSchema;
60
+ exports.KillResultSchema = require_contract.KillResultSchema;
59
61
  Object.defineProperty(exports, 'Layer', {
60
62
  enumerable: true,
61
63
  get: function () {
@@ -64,6 +66,7 @@ Object.defineProperty(exports, 'Layer', {
64
66
  });
65
67
  exports.OverrideSectionSchema = require_contract.OverrideSectionSchema;
66
68
  exports.PhaseTimingSchema = require_contract.PhaseTimingSchema;
69
+ exports.PidEntrySchema = require_contract.PidEntrySchema;
67
70
  exports.PluginAddOptionsSchema = require_contract.PluginAddOptionsSchema;
68
71
  exports.PluginAddResultSchema = require_contract.PluginAddResultSchema;
69
72
  exports.PluginListResultSchema = require_contract.PluginListResultSchema;
@@ -78,6 +81,8 @@ Object.defineProperty(exports, 'PluginRuntime', {
78
81
  }
79
82
  });
80
83
  exports.PluginUiConfigSchema = require_types.PluginUiConfigSchema;
84
+ exports.ProcessRoleSchema = require_contract.ProcessRoleSchema;
85
+ exports.PsResultSchema = require_contract.PsResultSchema;
81
86
  exports.PublishOptionsSchema = require_contract.PublishOptionsSchema;
82
87
  exports.PublishResultSchema = require_contract.PublishResultSchema;
83
88
  exports.RailwayCiSchema = require_types.RailwayCiSchema;
package/dist/index.d.cts CHANGED
@@ -1,8 +1,8 @@
1
1
  import { ApiPluginConfig, ApiPluginConfigSchema, BosConfig, BosConfigInput, BosConfigInputAppEntry, BosConfigInputSchema, BosConfigSchema, BosPluginRef, BosPluginRefSchema, BosStaging, BosStagingSchema, CiConfig, CiConfigSchema, ClientRuntimeConfig, ClientRuntimeConfigSchema, ClientRuntimeInfo, ClientRuntimeInfoSchema, ComposableAppEntry, ComposableAppEntrySchema, Extends, ExtendsConfig, ExtendsSchema, FederationEntry, FederationEntrySchema, HostConfig, HostConfigSchema, JsonObject, JsonObjectSchema, JsonPrimitive, JsonValue, JsonValueSchema, PluginEntries, PluginEntryValue, PluginRuntimeUi, PluginUiConfig, PluginUiConfigSchema, RailwayCi, RailwayCiSchema, RuntimeConfig, RuntimeConfigSchema, RuntimeLineage, RuntimeLineageSchema, RuntimePluginConfig, RuntimePluginConfigSchema, SharedConfig, SharedConfigSchema, SharedDepConfig, SharedDepConfigSchema, SharedDepMapSchema, SourceMode, SourceModeSchema, UiConfig, UiConfigSchema } from "./types.cjs";
2
- import { BosConfigResult, BuildOptions, BuildOptionsSchema, BuildResultSchema, ConfigOptionsSchema, ConfigResultSchema, DbDoctorOptions, DbDoctorOptionsSchema, DbDoctorResult, DbDoctorResultSchema, DbRepairOptions, DbRepairOptionsSchema, DbRepairResult, DbRepairResultSchema, DbStudioOptions, DbStudioOptionsSchema, DbStudioResult, DbStudioResultSchema, DeployOptions, DeployOptionsSchema, DeployResult, DeployResultSchema, DevOptions, DevOptionsSchema, DevResult, DevResultSchema, InitOptions, InitOptionsSchema, InitResult, InitResultSchema, KeyPublishOptions, KeyPublishOptionsSchema, KeyPublishResult, KeyPublishResultSchema, OverrideSection, OverrideSectionSchema, PhaseTiming, PhaseTimingSchema, PluginAddOptions, PluginAddOptionsSchema, PluginAddResult, PluginAddResultSchema, PluginListResult, PluginListResultSchema, PluginPublishOptions, PluginPublishOptionsSchema, PluginPublishResult, PluginPublishResultSchema, PluginRemoveOptions, PluginRemoveOptionsSchema, PluginRemoveResult, PluginRemoveResultSchema, PublishOptions, PublishOptionsSchema, PublishResult, PublishResultSchema, RuntimeOverrideTarget, RuntimeOverrideTargetBaseSchema, RuntimeOverrideTargetSchema, StartOptions, StartOptionsSchema, StartResult, StartResultSchema, StatusResult, StatusResultSchema, SyncOptions, SyncOptionsSchema, SyncResult, SyncResultSchema, TypesGenOptions, TypesGenOptionsSchema, TypesGenResult, TypesGenResultSchema, UpgradeOptions, UpgradeOptionsSchema, UpgradeResult, UpgradeResultSchema, WorkspaceDeployResult, WorkspaceDeployResultSchema, bosContract } from "./contract.cjs";
2
+ import { BosConfigResult, BuildOptions, BuildOptionsSchema, BuildResultSchema, ConfigOptionsSchema, ConfigResultSchema, DbDoctorOptions, DbDoctorOptionsSchema, DbDoctorResult, DbDoctorResultSchema, DbRepairOptions, DbRepairOptionsSchema, DbRepairResult, DbRepairResultSchema, DbStudioOptions, DbStudioOptionsSchema, DbStudioResult, DbStudioResultSchema, DeployOptions, DeployOptionsSchema, DeployResult, DeployResultSchema, DevOptions, DevOptionsSchema, DevResult, DevResultSchema, InitOptions, InitOptionsSchema, InitResult, InitResultSchema, KeyPublishOptions, KeyPublishOptionsSchema, KeyPublishResult, KeyPublishResultSchema, KillOptions, KillOptionsSchema, KillResult, KillResultSchema, OverrideSection, OverrideSectionSchema, PhaseTiming, PhaseTimingSchema, PidEntry, PidEntrySchema, PluginAddOptions, PluginAddOptionsSchema, PluginAddResult, PluginAddResultSchema, PluginListResult, PluginListResultSchema, PluginPublishOptions, PluginPublishOptionsSchema, PluginPublishResult, PluginPublishResultSchema, PluginRemoveOptions, PluginRemoveOptionsSchema, PluginRemoveResult, PluginRemoveResultSchema, ProcessRole, ProcessRoleSchema, PsResult, PsResultSchema, PublishOptions, PublishOptionsSchema, PublishResult, PublishResultSchema, RuntimeOverrideTarget, RuntimeOverrideTargetBaseSchema, RuntimeOverrideTargetSchema, StartOptions, StartOptionsSchema, StartResult, StartResultSchema, StatusResult, StatusResultSchema, SyncOptions, SyncOptionsSchema, SyncResult, SyncResultSchema, TypesGenOptions, TypesGenOptionsSchema, TypesGenResult, TypesGenResultSchema, UpgradeOptions, UpgradeOptionsSchema, UpgradeResult, UpgradeResultSchema, WorkspaceDeployResult, WorkspaceDeployResultSchema, bosContract } from "./contract.cjs";
3
3
  import { BOS_CONFIG_ORDER, mergeBosConfigWithExtends, rebuildOrderedConfig, resolveExtendsRef } from "./merge.cjs";
4
4
  import { BuildRuntimeConfigOptions, ConfigResult, LocalConfigResult, RemoteConfigResult, ResolvedComposableReference, buildRuntimeConfig, buildRuntimePluginsForConfig, clearConfigCache, drainConfigWarnings, findConfigPath, getConfig, getHostDevelopmentPort, getProjectRoot, getResolvedConfigPath, isLocalDevelopmentTarget, isRuntimeOverrideAllowed, loadBosConfig, loadGeneratedResolvedConfig, loadLocalConfig, loadRemoteConfig, loadResolvedConfig, parsePort, parseRuntimeOverrideTargets, readBosConfigForBuild, resolveBosConfigPath, resolveComposableReference, resolveConfigComposableEntries, resolveDevelopmentHostUrl, resolveLocalDevelopmentPath, resolvePluginRuntimeName, resumeWarnings, suppressWarnings, writeResolvedConfig } from "./config.cjs";
5
5
  import { CliCommandMeta, cliCommandMeta } from "./contract.meta.cjs";
6
6
  import { NetworkId, PluginManifest, buildRegistryConfigUrl, buildRegistryConfigUrlForNetwork, fetchBosConfigFromFastKv, fetchRemotePluginManifest, getFastKvBaseUrlForNetwork, getRegistryNamespaceForAccount, getRegistryNamespaceForNetwork, parseBosUrl } from "./fastkv.cjs";
7
7
  import { AnyContractRouter, AnySchema, Context, Effect, Layer, LoadedPluginWithBinding, Plugin, PluginRuntime, Scope, createPlugin, createPluginRuntime, oc, z } from "./sdk.cjs";
8
- export { AnyContractRouter, AnySchema, ApiPluginConfig, ApiPluginConfigSchema, BOS_CONFIG_ORDER, BosConfig, BosConfigInput, BosConfigInputAppEntry, BosConfigInputSchema, BosConfigResult, BosConfigSchema, BosPluginRef, BosPluginRefSchema, BosStaging, BosStagingSchema, BuildOptions, BuildOptionsSchema, BuildResultSchema, BuildRuntimeConfigOptions, CiConfig, CiConfigSchema, CliCommandMeta, ClientRuntimeConfig, ClientRuntimeConfigSchema, ClientRuntimeInfo, ClientRuntimeInfoSchema, ComposableAppEntry, ComposableAppEntrySchema, ConfigOptionsSchema, ConfigResult, ConfigResultSchema, Context, DbDoctorOptions, DbDoctorOptionsSchema, DbDoctorResult, DbDoctorResultSchema, DbRepairOptions, DbRepairOptionsSchema, DbRepairResult, DbRepairResultSchema, DbStudioOptions, DbStudioOptionsSchema, DbStudioResult, DbStudioResultSchema, DeployOptions, DeployOptionsSchema, DeployResult, DeployResultSchema, DevOptions, DevOptionsSchema, DevResult, DevResultSchema, Effect, Extends, ExtendsConfig, ExtendsSchema, FederationEntry, FederationEntrySchema, HostConfig, HostConfigSchema, InitOptions, InitOptionsSchema, InitResult, InitResultSchema, JsonObject, JsonObjectSchema, JsonPrimitive, JsonValue, JsonValueSchema, KeyPublishOptions, KeyPublishOptionsSchema, KeyPublishResult, KeyPublishResultSchema, Layer, LoadedPluginWithBinding, LocalConfigResult, NetworkId, OverrideSection, OverrideSectionSchema, PhaseTiming, PhaseTimingSchema, Plugin, PluginAddOptions, PluginAddOptionsSchema, PluginAddResult, PluginAddResultSchema, PluginEntries, PluginEntryValue, PluginListResult, PluginListResultSchema, PluginManifest, PluginPublishOptions, PluginPublishOptionsSchema, PluginPublishResult, PluginPublishResultSchema, PluginRemoveOptions, PluginRemoveOptionsSchema, PluginRemoveResult, PluginRemoveResultSchema, PluginRuntime, PluginRuntimeUi, PluginUiConfig, PluginUiConfigSchema, PublishOptions, PublishOptionsSchema, PublishResult, PublishResultSchema, RailwayCi, RailwayCiSchema, RemoteConfigResult, ResolvedComposableReference, RuntimeConfig, RuntimeConfigSchema, RuntimeLineage, RuntimeLineageSchema, RuntimeOverrideTarget, RuntimeOverrideTargetBaseSchema, RuntimeOverrideTargetSchema, RuntimePluginConfig, RuntimePluginConfigSchema, Scope, SharedConfig, SharedConfigSchema, SharedDepConfig, SharedDepConfigSchema, SharedDepMapSchema, SourceMode, SourceModeSchema, StartOptions, StartOptionsSchema, StartResult, StartResultSchema, StatusResult, StatusResultSchema, SyncOptions, SyncOptionsSchema, SyncResult, SyncResultSchema, TypesGenOptions, TypesGenOptionsSchema, TypesGenResult, TypesGenResultSchema, UiConfig, UiConfigSchema, UpgradeOptions, UpgradeOptionsSchema, UpgradeResult, UpgradeResultSchema, WorkspaceDeployResult, WorkspaceDeployResultSchema, bosContract, buildRegistryConfigUrl, buildRegistryConfigUrlForNetwork, buildRuntimeConfig, buildRuntimePluginsForConfig, clearConfigCache, cliCommandMeta, createPlugin, createPluginRuntime, drainConfigWarnings, fetchBosConfigFromFastKv, fetchRemotePluginManifest, findConfigPath, getConfig, getFastKvBaseUrlForNetwork, getHostDevelopmentPort, getProjectRoot, getRegistryNamespaceForAccount, getRegistryNamespaceForNetwork, getResolvedConfigPath, isLocalDevelopmentTarget, isRuntimeOverrideAllowed, loadBosConfig, loadGeneratedResolvedConfig, loadLocalConfig, loadRemoteConfig, loadResolvedConfig, mergeBosConfigWithExtends, oc, parseBosUrl, parsePort, parseRuntimeOverrideTargets, readBosConfigForBuild, rebuildOrderedConfig, resolveBosConfigPath, resolveComposableReference, resolveConfigComposableEntries, resolveDevelopmentHostUrl, resolveExtendsRef, resolveLocalDevelopmentPath, resolvePluginRuntimeName, resumeWarnings, suppressWarnings, writeResolvedConfig, z };
8
+ export { AnyContractRouter, AnySchema, ApiPluginConfig, ApiPluginConfigSchema, BOS_CONFIG_ORDER, BosConfig, BosConfigInput, BosConfigInputAppEntry, BosConfigInputSchema, BosConfigResult, BosConfigSchema, BosPluginRef, BosPluginRefSchema, BosStaging, BosStagingSchema, BuildOptions, BuildOptionsSchema, BuildResultSchema, BuildRuntimeConfigOptions, CiConfig, CiConfigSchema, CliCommandMeta, ClientRuntimeConfig, ClientRuntimeConfigSchema, ClientRuntimeInfo, ClientRuntimeInfoSchema, ComposableAppEntry, ComposableAppEntrySchema, ConfigOptionsSchema, ConfigResult, ConfigResultSchema, Context, DbDoctorOptions, DbDoctorOptionsSchema, DbDoctorResult, DbDoctorResultSchema, DbRepairOptions, DbRepairOptionsSchema, DbRepairResult, DbRepairResultSchema, DbStudioOptions, DbStudioOptionsSchema, DbStudioResult, DbStudioResultSchema, DeployOptions, DeployOptionsSchema, DeployResult, DeployResultSchema, DevOptions, DevOptionsSchema, DevResult, DevResultSchema, Effect, Extends, ExtendsConfig, ExtendsSchema, FederationEntry, FederationEntrySchema, HostConfig, HostConfigSchema, InitOptions, InitOptionsSchema, InitResult, InitResultSchema, JsonObject, JsonObjectSchema, JsonPrimitive, JsonValue, JsonValueSchema, KeyPublishOptions, KeyPublishOptionsSchema, KeyPublishResult, KeyPublishResultSchema, KillOptions, KillOptionsSchema, KillResult, KillResultSchema, Layer, LoadedPluginWithBinding, LocalConfigResult, NetworkId, OverrideSection, OverrideSectionSchema, PhaseTiming, PhaseTimingSchema, PidEntry, PidEntrySchema, Plugin, PluginAddOptions, PluginAddOptionsSchema, PluginAddResult, PluginAddResultSchema, PluginEntries, PluginEntryValue, PluginListResult, PluginListResultSchema, PluginManifest, PluginPublishOptions, PluginPublishOptionsSchema, PluginPublishResult, PluginPublishResultSchema, PluginRemoveOptions, PluginRemoveOptionsSchema, PluginRemoveResult, PluginRemoveResultSchema, PluginRuntime, PluginRuntimeUi, PluginUiConfig, PluginUiConfigSchema, ProcessRole, ProcessRoleSchema, PsResult, PsResultSchema, PublishOptions, PublishOptionsSchema, PublishResult, PublishResultSchema, RailwayCi, RailwayCiSchema, RemoteConfigResult, ResolvedComposableReference, RuntimeConfig, RuntimeConfigSchema, RuntimeLineage, RuntimeLineageSchema, RuntimeOverrideTarget, RuntimeOverrideTargetBaseSchema, RuntimeOverrideTargetSchema, RuntimePluginConfig, RuntimePluginConfigSchema, Scope, SharedConfig, SharedConfigSchema, SharedDepConfig, SharedDepConfigSchema, SharedDepMapSchema, SourceMode, SourceModeSchema, StartOptions, StartOptionsSchema, StartResult, StartResultSchema, StatusResult, StatusResultSchema, SyncOptions, SyncOptionsSchema, SyncResult, SyncResultSchema, TypesGenOptions, TypesGenOptionsSchema, TypesGenResult, TypesGenResultSchema, UiConfig, UiConfigSchema, UpgradeOptions, UpgradeOptionsSchema, UpgradeResult, UpgradeResultSchema, WorkspaceDeployResult, WorkspaceDeployResultSchema, bosContract, buildRegistryConfigUrl, buildRegistryConfigUrlForNetwork, buildRuntimeConfig, buildRuntimePluginsForConfig, clearConfigCache, cliCommandMeta, createPlugin, createPluginRuntime, drainConfigWarnings, fetchBosConfigFromFastKv, fetchRemotePluginManifest, findConfigPath, getConfig, getFastKvBaseUrlForNetwork, getHostDevelopmentPort, getProjectRoot, getRegistryNamespaceForAccount, getRegistryNamespaceForNetwork, getResolvedConfigPath, isLocalDevelopmentTarget, isRuntimeOverrideAllowed, loadBosConfig, loadGeneratedResolvedConfig, loadLocalConfig, loadRemoteConfig, loadResolvedConfig, mergeBosConfigWithExtends, oc, parseBosUrl, parsePort, parseRuntimeOverrideTargets, readBosConfigForBuild, rebuildOrderedConfig, resolveBosConfigPath, resolveComposableReference, resolveConfigComposableEntries, resolveDevelopmentHostUrl, resolveExtendsRef, resolveLocalDevelopmentPath, resolvePluginRuntimeName, resumeWarnings, suppressWarnings, writeResolvedConfig, z };
package/dist/index.d.mts CHANGED
@@ -1,8 +1,8 @@
1
1
  import { ApiPluginConfig, ApiPluginConfigSchema, BosConfig, BosConfigInput, BosConfigInputAppEntry, BosConfigInputSchema, BosConfigSchema, BosPluginRef, BosPluginRefSchema, BosStaging, BosStagingSchema, CiConfig, CiConfigSchema, ClientRuntimeConfig, ClientRuntimeConfigSchema, ClientRuntimeInfo, ClientRuntimeInfoSchema, ComposableAppEntry, ComposableAppEntrySchema, Extends, ExtendsConfig, ExtendsSchema, FederationEntry, FederationEntrySchema, HostConfig, HostConfigSchema, JsonObject, JsonObjectSchema, JsonPrimitive, JsonValue, JsonValueSchema, PluginEntries, PluginEntryValue, PluginRuntimeUi, PluginUiConfig, PluginUiConfigSchema, RailwayCi, RailwayCiSchema, RuntimeConfig, RuntimeConfigSchema, RuntimeLineage, RuntimeLineageSchema, RuntimePluginConfig, RuntimePluginConfigSchema, SharedConfig, SharedConfigSchema, SharedDepConfig, SharedDepConfigSchema, SharedDepMapSchema, SourceMode, SourceModeSchema, UiConfig, UiConfigSchema } from "./types.mjs";
2
- import { BosConfigResult, BuildOptions, BuildOptionsSchema, BuildResultSchema, ConfigOptionsSchema, ConfigResultSchema, DbDoctorOptions, DbDoctorOptionsSchema, DbDoctorResult, DbDoctorResultSchema, DbRepairOptions, DbRepairOptionsSchema, DbRepairResult, DbRepairResultSchema, DbStudioOptions, DbStudioOptionsSchema, DbStudioResult, DbStudioResultSchema, DeployOptions, DeployOptionsSchema, DeployResult, DeployResultSchema, DevOptions, DevOptionsSchema, DevResult, DevResultSchema, InitOptions, InitOptionsSchema, InitResult, InitResultSchema, KeyPublishOptions, KeyPublishOptionsSchema, KeyPublishResult, KeyPublishResultSchema, OverrideSection, OverrideSectionSchema, PhaseTiming, PhaseTimingSchema, PluginAddOptions, PluginAddOptionsSchema, PluginAddResult, PluginAddResultSchema, PluginListResult, PluginListResultSchema, PluginPublishOptions, PluginPublishOptionsSchema, PluginPublishResult, PluginPublishResultSchema, PluginRemoveOptions, PluginRemoveOptionsSchema, PluginRemoveResult, PluginRemoveResultSchema, PublishOptions, PublishOptionsSchema, PublishResult, PublishResultSchema, RuntimeOverrideTarget, RuntimeOverrideTargetBaseSchema, RuntimeOverrideTargetSchema, StartOptions, StartOptionsSchema, StartResult, StartResultSchema, StatusResult, StatusResultSchema, SyncOptions, SyncOptionsSchema, SyncResult, SyncResultSchema, TypesGenOptions, TypesGenOptionsSchema, TypesGenResult, TypesGenResultSchema, UpgradeOptions, UpgradeOptionsSchema, UpgradeResult, UpgradeResultSchema, WorkspaceDeployResult, WorkspaceDeployResultSchema, bosContract } from "./contract.mjs";
2
+ import { BosConfigResult, BuildOptions, BuildOptionsSchema, BuildResultSchema, ConfigOptionsSchema, ConfigResultSchema, DbDoctorOptions, DbDoctorOptionsSchema, DbDoctorResult, DbDoctorResultSchema, DbRepairOptions, DbRepairOptionsSchema, DbRepairResult, DbRepairResultSchema, DbStudioOptions, DbStudioOptionsSchema, DbStudioResult, DbStudioResultSchema, DeployOptions, DeployOptionsSchema, DeployResult, DeployResultSchema, DevOptions, DevOptionsSchema, DevResult, DevResultSchema, InitOptions, InitOptionsSchema, InitResult, InitResultSchema, KeyPublishOptions, KeyPublishOptionsSchema, KeyPublishResult, KeyPublishResultSchema, KillOptions, KillOptionsSchema, KillResult, KillResultSchema, OverrideSection, OverrideSectionSchema, PhaseTiming, PhaseTimingSchema, PidEntry, PidEntrySchema, PluginAddOptions, PluginAddOptionsSchema, PluginAddResult, PluginAddResultSchema, PluginListResult, PluginListResultSchema, PluginPublishOptions, PluginPublishOptionsSchema, PluginPublishResult, PluginPublishResultSchema, PluginRemoveOptions, PluginRemoveOptionsSchema, PluginRemoveResult, PluginRemoveResultSchema, ProcessRole, ProcessRoleSchema, PsResult, PsResultSchema, PublishOptions, PublishOptionsSchema, PublishResult, PublishResultSchema, RuntimeOverrideTarget, RuntimeOverrideTargetBaseSchema, RuntimeOverrideTargetSchema, StartOptions, StartOptionsSchema, StartResult, StartResultSchema, StatusResult, StatusResultSchema, SyncOptions, SyncOptionsSchema, SyncResult, SyncResultSchema, TypesGenOptions, TypesGenOptionsSchema, TypesGenResult, TypesGenResultSchema, UpgradeOptions, UpgradeOptionsSchema, UpgradeResult, UpgradeResultSchema, WorkspaceDeployResult, WorkspaceDeployResultSchema, bosContract } from "./contract.mjs";
3
3
  import { BOS_CONFIG_ORDER, mergeBosConfigWithExtends, rebuildOrderedConfig, resolveExtendsRef } from "./merge.mjs";
4
4
  import { BuildRuntimeConfigOptions, ConfigResult, LocalConfigResult, RemoteConfigResult, ResolvedComposableReference, buildRuntimeConfig, buildRuntimePluginsForConfig, clearConfigCache, drainConfigWarnings, findConfigPath, getConfig, getHostDevelopmentPort, getProjectRoot, getResolvedConfigPath, isLocalDevelopmentTarget, isRuntimeOverrideAllowed, loadBosConfig, loadGeneratedResolvedConfig, loadLocalConfig, loadRemoteConfig, loadResolvedConfig, parsePort, parseRuntimeOverrideTargets, readBosConfigForBuild, resolveBosConfigPath, resolveComposableReference, resolveConfigComposableEntries, resolveDevelopmentHostUrl, resolveLocalDevelopmentPath, resolvePluginRuntimeName, resumeWarnings, suppressWarnings, writeResolvedConfig } from "./config.mjs";
5
5
  import { CliCommandMeta, cliCommandMeta } from "./contract.meta.mjs";
6
6
  import { NetworkId, PluginManifest, buildRegistryConfigUrl, buildRegistryConfigUrlForNetwork, fetchBosConfigFromFastKv, fetchRemotePluginManifest, getFastKvBaseUrlForNetwork, getRegistryNamespaceForAccount, getRegistryNamespaceForNetwork, parseBosUrl } from "./fastkv.mjs";
7
7
  import { AnyContractRouter, AnySchema, Context, Effect, Layer, LoadedPluginWithBinding, Plugin, PluginRuntime, Scope, createPlugin, createPluginRuntime, oc, z } from "./sdk.mjs";
8
- export { AnyContractRouter, AnySchema, ApiPluginConfig, ApiPluginConfigSchema, BOS_CONFIG_ORDER, BosConfig, BosConfigInput, BosConfigInputAppEntry, BosConfigInputSchema, BosConfigResult, BosConfigSchema, BosPluginRef, BosPluginRefSchema, BosStaging, BosStagingSchema, BuildOptions, BuildOptionsSchema, BuildResultSchema, BuildRuntimeConfigOptions, CiConfig, CiConfigSchema, CliCommandMeta, ClientRuntimeConfig, ClientRuntimeConfigSchema, ClientRuntimeInfo, ClientRuntimeInfoSchema, ComposableAppEntry, ComposableAppEntrySchema, ConfigOptionsSchema, ConfigResult, ConfigResultSchema, Context, DbDoctorOptions, DbDoctorOptionsSchema, DbDoctorResult, DbDoctorResultSchema, DbRepairOptions, DbRepairOptionsSchema, DbRepairResult, DbRepairResultSchema, DbStudioOptions, DbStudioOptionsSchema, DbStudioResult, DbStudioResultSchema, DeployOptions, DeployOptionsSchema, DeployResult, DeployResultSchema, DevOptions, DevOptionsSchema, DevResult, DevResultSchema, Effect, Extends, ExtendsConfig, ExtendsSchema, FederationEntry, FederationEntrySchema, HostConfig, HostConfigSchema, InitOptions, InitOptionsSchema, InitResult, InitResultSchema, JsonObject, JsonObjectSchema, JsonPrimitive, JsonValue, JsonValueSchema, KeyPublishOptions, KeyPublishOptionsSchema, KeyPublishResult, KeyPublishResultSchema, Layer, LoadedPluginWithBinding, LocalConfigResult, NetworkId, OverrideSection, OverrideSectionSchema, PhaseTiming, PhaseTimingSchema, Plugin, PluginAddOptions, PluginAddOptionsSchema, PluginAddResult, PluginAddResultSchema, PluginEntries, PluginEntryValue, PluginListResult, PluginListResultSchema, PluginManifest, PluginPublishOptions, PluginPublishOptionsSchema, PluginPublishResult, PluginPublishResultSchema, PluginRemoveOptions, PluginRemoveOptionsSchema, PluginRemoveResult, PluginRemoveResultSchema, PluginRuntime, PluginRuntimeUi, PluginUiConfig, PluginUiConfigSchema, PublishOptions, PublishOptionsSchema, PublishResult, PublishResultSchema, RailwayCi, RailwayCiSchema, RemoteConfigResult, ResolvedComposableReference, RuntimeConfig, RuntimeConfigSchema, RuntimeLineage, RuntimeLineageSchema, RuntimeOverrideTarget, RuntimeOverrideTargetBaseSchema, RuntimeOverrideTargetSchema, RuntimePluginConfig, RuntimePluginConfigSchema, Scope, SharedConfig, SharedConfigSchema, SharedDepConfig, SharedDepConfigSchema, SharedDepMapSchema, SourceMode, SourceModeSchema, StartOptions, StartOptionsSchema, StartResult, StartResultSchema, StatusResult, StatusResultSchema, SyncOptions, SyncOptionsSchema, SyncResult, SyncResultSchema, TypesGenOptions, TypesGenOptionsSchema, TypesGenResult, TypesGenResultSchema, UiConfig, UiConfigSchema, UpgradeOptions, UpgradeOptionsSchema, UpgradeResult, UpgradeResultSchema, WorkspaceDeployResult, WorkspaceDeployResultSchema, bosContract, buildRegistryConfigUrl, buildRegistryConfigUrlForNetwork, buildRuntimeConfig, buildRuntimePluginsForConfig, clearConfigCache, cliCommandMeta, createPlugin, createPluginRuntime, drainConfigWarnings, fetchBosConfigFromFastKv, fetchRemotePluginManifest, findConfigPath, getConfig, getFastKvBaseUrlForNetwork, getHostDevelopmentPort, getProjectRoot, getRegistryNamespaceForAccount, getRegistryNamespaceForNetwork, getResolvedConfigPath, isLocalDevelopmentTarget, isRuntimeOverrideAllowed, loadBosConfig, loadGeneratedResolvedConfig, loadLocalConfig, loadRemoteConfig, loadResolvedConfig, mergeBosConfigWithExtends, oc, parseBosUrl, parsePort, parseRuntimeOverrideTargets, readBosConfigForBuild, rebuildOrderedConfig, resolveBosConfigPath, resolveComposableReference, resolveConfigComposableEntries, resolveDevelopmentHostUrl, resolveExtendsRef, resolveLocalDevelopmentPath, resolvePluginRuntimeName, resumeWarnings, suppressWarnings, writeResolvedConfig, z };
8
+ export { AnyContractRouter, AnySchema, ApiPluginConfig, ApiPluginConfigSchema, BOS_CONFIG_ORDER, BosConfig, BosConfigInput, BosConfigInputAppEntry, BosConfigInputSchema, BosConfigResult, BosConfigSchema, BosPluginRef, BosPluginRefSchema, BosStaging, BosStagingSchema, BuildOptions, BuildOptionsSchema, BuildResultSchema, BuildRuntimeConfigOptions, CiConfig, CiConfigSchema, CliCommandMeta, ClientRuntimeConfig, ClientRuntimeConfigSchema, ClientRuntimeInfo, ClientRuntimeInfoSchema, ComposableAppEntry, ComposableAppEntrySchema, ConfigOptionsSchema, ConfigResult, ConfigResultSchema, Context, DbDoctorOptions, DbDoctorOptionsSchema, DbDoctorResult, DbDoctorResultSchema, DbRepairOptions, DbRepairOptionsSchema, DbRepairResult, DbRepairResultSchema, DbStudioOptions, DbStudioOptionsSchema, DbStudioResult, DbStudioResultSchema, DeployOptions, DeployOptionsSchema, DeployResult, DeployResultSchema, DevOptions, DevOptionsSchema, DevResult, DevResultSchema, Effect, Extends, ExtendsConfig, ExtendsSchema, FederationEntry, FederationEntrySchema, HostConfig, HostConfigSchema, InitOptions, InitOptionsSchema, InitResult, InitResultSchema, JsonObject, JsonObjectSchema, JsonPrimitive, JsonValue, JsonValueSchema, KeyPublishOptions, KeyPublishOptionsSchema, KeyPublishResult, KeyPublishResultSchema, KillOptions, KillOptionsSchema, KillResult, KillResultSchema, Layer, LoadedPluginWithBinding, LocalConfigResult, NetworkId, OverrideSection, OverrideSectionSchema, PhaseTiming, PhaseTimingSchema, PidEntry, PidEntrySchema, Plugin, PluginAddOptions, PluginAddOptionsSchema, PluginAddResult, PluginAddResultSchema, PluginEntries, PluginEntryValue, PluginListResult, PluginListResultSchema, PluginManifest, PluginPublishOptions, PluginPublishOptionsSchema, PluginPublishResult, PluginPublishResultSchema, PluginRemoveOptions, PluginRemoveOptionsSchema, PluginRemoveResult, PluginRemoveResultSchema, PluginRuntime, PluginRuntimeUi, PluginUiConfig, PluginUiConfigSchema, ProcessRole, ProcessRoleSchema, PsResult, PsResultSchema, PublishOptions, PublishOptionsSchema, PublishResult, PublishResultSchema, RailwayCi, RailwayCiSchema, RemoteConfigResult, ResolvedComposableReference, RuntimeConfig, RuntimeConfigSchema, RuntimeLineage, RuntimeLineageSchema, RuntimeOverrideTarget, RuntimeOverrideTargetBaseSchema, RuntimeOverrideTargetSchema, RuntimePluginConfig, RuntimePluginConfigSchema, Scope, SharedConfig, SharedConfigSchema, SharedDepConfig, SharedDepConfigSchema, SharedDepMapSchema, SourceMode, SourceModeSchema, StartOptions, StartOptionsSchema, StartResult, StartResultSchema, StatusResult, StatusResultSchema, SyncOptions, SyncOptionsSchema, SyncResult, SyncResultSchema, TypesGenOptions, TypesGenOptionsSchema, TypesGenResult, TypesGenResultSchema, UiConfig, UiConfigSchema, UpgradeOptions, UpgradeOptionsSchema, UpgradeResult, UpgradeResultSchema, WorkspaceDeployResult, WorkspaceDeployResultSchema, bosContract, buildRegistryConfigUrl, buildRegistryConfigUrlForNetwork, buildRuntimeConfig, buildRuntimePluginsForConfig, clearConfigCache, cliCommandMeta, createPlugin, createPluginRuntime, drainConfigWarnings, fetchBosConfigFromFastKv, fetchRemotePluginManifest, findConfigPath, getConfig, getFastKvBaseUrlForNetwork, getHostDevelopmentPort, getProjectRoot, getRegistryNamespaceForAccount, getRegistryNamespaceForNetwork, getResolvedConfigPath, isLocalDevelopmentTarget, isRuntimeOverrideAllowed, loadBosConfig, loadGeneratedResolvedConfig, loadLocalConfig, loadRemoteConfig, loadResolvedConfig, mergeBosConfigWithExtends, oc, parseBosUrl, parsePort, parseRuntimeOverrideTargets, readBosConfigForBuild, rebuildOrderedConfig, resolveBosConfigPath, resolveComposableReference, resolveConfigComposableEntries, resolveDevelopmentHostUrl, resolveExtendsRef, resolveLocalDevelopmentPath, resolvePluginRuntimeName, resumeWarnings, suppressWarnings, writeResolvedConfig, z };
package/dist/index.mjs CHANGED
@@ -3,7 +3,7 @@ import { BOS_CONFIG_ORDER, mergeBosConfigWithExtends, rebuildOrderedConfig, reso
3
3
  import { ApiPluginConfigSchema, BosConfigInputSchema, BosConfigSchema, BosPluginRefSchema, BosStagingSchema, CiConfigSchema, ClientRuntimeConfigSchema, ClientRuntimeInfoSchema, ComposableAppEntrySchema, ExtendsSchema, FederationEntrySchema, HostConfigSchema, JsonObjectSchema, JsonValueSchema, PluginUiConfigSchema, RailwayCiSchema, RuntimeConfigSchema, RuntimeLineageSchema, RuntimePluginConfigSchema, SharedConfigSchema, SharedDepConfigSchema, SharedDepMapSchema, SourceModeSchema, UiConfigSchema } from "./types.mjs";
4
4
  import { buildRuntimeConfig, buildRuntimePluginsForConfig, clearConfigCache, drainConfigWarnings, findConfigPath, getConfig, getHostDevelopmentPort, getProjectRoot, getResolvedConfigPath, isLocalDevelopmentTarget, isRuntimeOverrideAllowed, loadBosConfig, loadGeneratedResolvedConfig, loadLocalConfig, loadRemoteConfig, loadResolvedConfig, parsePort, parseRuntimeOverrideTargets, readBosConfigForBuild, resolveBosConfigPath, resolveComposableReference, resolveConfigComposableEntries, resolveDevelopmentHostUrl, resolveLocalDevelopmentPath, resolvePluginRuntimeName, resumeWarnings, suppressWarnings, writeResolvedConfig } from "./config.mjs";
5
5
  import { Context, Effect, Layer, PluginRuntime, Scope, createPlugin, createPluginRuntime, oc, z } from "./sdk.mjs";
6
- import { BuildOptionsSchema, BuildResultSchema, ConfigOptionsSchema, ConfigResultSchema, DbDoctorOptionsSchema, DbDoctorResultSchema, DbRepairOptionsSchema, DbRepairResultSchema, DbStudioOptionsSchema, DbStudioResultSchema, DeployOptionsSchema, DeployResultSchema, DevOptionsSchema, DevResultSchema, InitOptionsSchema, InitResultSchema, KeyPublishOptionsSchema, KeyPublishResultSchema, OverrideSectionSchema, PhaseTimingSchema, PluginAddOptionsSchema, PluginAddResultSchema, PluginListResultSchema, PluginPublishOptionsSchema, PluginPublishResultSchema, PluginRemoveOptionsSchema, PluginRemoveResultSchema, PublishOptionsSchema, PublishResultSchema, RuntimeOverrideTargetBaseSchema, RuntimeOverrideTargetSchema, StartOptionsSchema, StartResultSchema, StatusResultSchema, SyncOptionsSchema, SyncResultSchema, TypesGenOptionsSchema, TypesGenResultSchema, UpgradeOptionsSchema, UpgradeResultSchema, WorkspaceDeployResultSchema, bosContract } from "./contract.mjs";
6
+ import { BuildOptionsSchema, BuildResultSchema, ConfigOptionsSchema, ConfigResultSchema, DbDoctorOptionsSchema, DbDoctorResultSchema, DbRepairOptionsSchema, DbRepairResultSchema, DbStudioOptionsSchema, DbStudioResultSchema, DeployOptionsSchema, DeployResultSchema, DevOptionsSchema, DevResultSchema, InitOptionsSchema, InitResultSchema, KeyPublishOptionsSchema, KeyPublishResultSchema, KillOptionsSchema, KillResultSchema, OverrideSectionSchema, PhaseTimingSchema, PidEntrySchema, PluginAddOptionsSchema, PluginAddResultSchema, PluginListResultSchema, PluginPublishOptionsSchema, PluginPublishResultSchema, PluginRemoveOptionsSchema, PluginRemoveResultSchema, ProcessRoleSchema, PsResultSchema, PublishOptionsSchema, PublishResultSchema, RuntimeOverrideTargetBaseSchema, RuntimeOverrideTargetSchema, StartOptionsSchema, StartResultSchema, StatusResultSchema, SyncOptionsSchema, SyncResultSchema, TypesGenOptionsSchema, TypesGenResultSchema, UpgradeOptionsSchema, UpgradeResultSchema, WorkspaceDeployResultSchema, bosContract } from "./contract.mjs";
7
7
  import { cliCommandMeta } from "./contract.meta.mjs";
8
8
 
9
- export { ApiPluginConfigSchema, BOS_CONFIG_ORDER, BosConfigInputSchema, BosConfigSchema, BosPluginRefSchema, BosStagingSchema, BuildOptionsSchema, BuildResultSchema, CiConfigSchema, ClientRuntimeConfigSchema, ClientRuntimeInfoSchema, ComposableAppEntrySchema, ConfigOptionsSchema, ConfigResultSchema, Context, DbDoctorOptionsSchema, DbDoctorResultSchema, DbRepairOptionsSchema, DbRepairResultSchema, DbStudioOptionsSchema, DbStudioResultSchema, DeployOptionsSchema, DeployResultSchema, DevOptionsSchema, DevResultSchema, Effect, ExtendsSchema, FederationEntrySchema, HostConfigSchema, InitOptionsSchema, InitResultSchema, JsonObjectSchema, JsonValueSchema, KeyPublishOptionsSchema, KeyPublishResultSchema, Layer, OverrideSectionSchema, PhaseTimingSchema, PluginAddOptionsSchema, PluginAddResultSchema, PluginListResultSchema, PluginPublishOptionsSchema, PluginPublishResultSchema, PluginRemoveOptionsSchema, PluginRemoveResultSchema, PluginRuntime, PluginUiConfigSchema, PublishOptionsSchema, PublishResultSchema, RailwayCiSchema, RuntimeConfigSchema, RuntimeLineageSchema, RuntimeOverrideTargetBaseSchema, RuntimeOverrideTargetSchema, RuntimePluginConfigSchema, Scope, SharedConfigSchema, SharedDepConfigSchema, SharedDepMapSchema, SourceModeSchema, StartOptionsSchema, StartResultSchema, StatusResultSchema, SyncOptionsSchema, SyncResultSchema, TypesGenOptionsSchema, TypesGenResultSchema, UiConfigSchema, UpgradeOptionsSchema, UpgradeResultSchema, WorkspaceDeployResultSchema, bosContract, buildRegistryConfigUrl, buildRegistryConfigUrlForNetwork, buildRuntimeConfig, buildRuntimePluginsForConfig, clearConfigCache, cliCommandMeta, createPlugin, createPluginRuntime, drainConfigWarnings, fetchBosConfigFromFastKv, fetchRemotePluginManifest, findConfigPath, getConfig, getFastKvBaseUrlForNetwork, getHostDevelopmentPort, getProjectRoot, getRegistryNamespaceForAccount, getRegistryNamespaceForNetwork, getResolvedConfigPath, isLocalDevelopmentTarget, isRuntimeOverrideAllowed, loadBosConfig, loadGeneratedResolvedConfig, loadLocalConfig, loadRemoteConfig, loadResolvedConfig, mergeBosConfigWithExtends, oc, parseBosUrl, parsePort, parseRuntimeOverrideTargets, readBosConfigForBuild, rebuildOrderedConfig, resolveBosConfigPath, resolveComposableReference, resolveConfigComposableEntries, resolveDevelopmentHostUrl, resolveExtendsRef, resolveLocalDevelopmentPath, resolvePluginRuntimeName, resumeWarnings, suppressWarnings, writeResolvedConfig, z };
9
+ export { ApiPluginConfigSchema, BOS_CONFIG_ORDER, BosConfigInputSchema, BosConfigSchema, BosPluginRefSchema, BosStagingSchema, BuildOptionsSchema, BuildResultSchema, CiConfigSchema, ClientRuntimeConfigSchema, ClientRuntimeInfoSchema, ComposableAppEntrySchema, ConfigOptionsSchema, ConfigResultSchema, Context, DbDoctorOptionsSchema, DbDoctorResultSchema, DbRepairOptionsSchema, DbRepairResultSchema, DbStudioOptionsSchema, DbStudioResultSchema, DeployOptionsSchema, DeployResultSchema, DevOptionsSchema, DevResultSchema, Effect, ExtendsSchema, FederationEntrySchema, HostConfigSchema, InitOptionsSchema, InitResultSchema, JsonObjectSchema, JsonValueSchema, KeyPublishOptionsSchema, KeyPublishResultSchema, KillOptionsSchema, KillResultSchema, Layer, OverrideSectionSchema, PhaseTimingSchema, PidEntrySchema, PluginAddOptionsSchema, PluginAddResultSchema, PluginListResultSchema, PluginPublishOptionsSchema, PluginPublishResultSchema, PluginRemoveOptionsSchema, PluginRemoveResultSchema, PluginRuntime, PluginUiConfigSchema, ProcessRoleSchema, PsResultSchema, PublishOptionsSchema, PublishResultSchema, RailwayCiSchema, RuntimeConfigSchema, RuntimeLineageSchema, RuntimeOverrideTargetBaseSchema, RuntimeOverrideTargetSchema, RuntimePluginConfigSchema, Scope, SharedConfigSchema, SharedDepConfigSchema, SharedDepMapSchema, SourceModeSchema, StartOptionsSchema, StartResultSchema, StatusResultSchema, SyncOptionsSchema, SyncResultSchema, TypesGenOptionsSchema, TypesGenResultSchema, UiConfigSchema, UpgradeOptionsSchema, UpgradeResultSchema, WorkspaceDeployResultSchema, bosContract, buildRegistryConfigUrl, buildRegistryConfigUrlForNetwork, buildRuntimeConfig, buildRuntimePluginsForConfig, clearConfigCache, cliCommandMeta, createPlugin, createPluginRuntime, drainConfigWarnings, fetchBosConfigFromFastKv, fetchRemotePluginManifest, findConfigPath, getConfig, getFastKvBaseUrlForNetwork, getHostDevelopmentPort, getProjectRoot, getRegistryNamespaceForAccount, getRegistryNamespaceForNetwork, getResolvedConfigPath, isLocalDevelopmentTarget, isRuntimeOverrideAllowed, loadBosConfig, loadGeneratedResolvedConfig, loadLocalConfig, loadRemoteConfig, loadResolvedConfig, mergeBosConfigWithExtends, oc, parseBosUrl, parsePort, parseRuntimeOverrideTargets, readBosConfigForBuild, rebuildOrderedConfig, resolveBosConfigPath, resolveComposableReference, resolveConfigComposableEntries, resolveDevelopmentHostUrl, resolveExtendsRef, resolveLocalDevelopmentPath, resolvePluginRuntimeName, resumeWarnings, suppressWarnings, writeResolvedConfig, z };
@@ -0,0 +1,344 @@
1
+ const require_runtime = require('../_virtual/_rolldown/runtime.cjs');
2
+ const require_app = require('../app.cjs');
3
+ const require_infra = require('../cli/infra.cjs');
4
+ const require_service_descriptor = require('../service-descriptor.cjs');
5
+ const require_types = require('./types.cjs');
6
+ let node_path = require("node:path");
7
+ let effect = require("effect");
8
+ let node_crypto = require("node:crypto");
9
+
10
+ //#region src/infra/planner.ts
11
+ const DEFAULT_HOST_PORT = 3e3;
12
+ const DEFAULT_API_PORT = 3001;
13
+ const DEFAULT_AUTH_PORT = 3002;
14
+ const DEFAULT_UI_PORT = 3003;
15
+ const DEFAULT_PLUGIN_PORT_START = 3010;
16
+ const POSTGRES_USER = "everythingdev";
17
+ const POSTGRES_PASSWORD = "everythingdev";
18
+ function workspaceKey(configDir) {
19
+ return (0, node_crypto.createHash)("sha256").update((0, node_path.resolve)(configDir)).digest("hex").slice(0, 12);
20
+ }
21
+ function normalizeCliPorts(input) {
22
+ return {
23
+ host: input.port,
24
+ api: input.apiPort,
25
+ auth: input.authPort,
26
+ ui: input.uiPort,
27
+ uiSsr: void 0,
28
+ pluginsStart: input.pluginPortStart,
29
+ plugins: input.plugins
30
+ };
31
+ }
32
+ function allocateServices(cliPorts, plugins, configDir) {
33
+ return effect.Effect.gen(function* () {
34
+ const wKey = workspaceKey(configDir);
35
+ const persisted = require_infra.loadPortState(configDir).devPorts;
36
+ const allocator = yield* require_app.PortAllocator;
37
+ const hostPort = yield* allocator.pickAvailable(cliPorts.host ?? persisted?.host ?? DEFAULT_HOST_PORT);
38
+ const apiPort = yield* allocator.pickAvailable(cliPorts.api ?? persisted?.api ?? DEFAULT_API_PORT);
39
+ const authPort = yield* allocator.pickAvailable(cliPorts.auth ?? persisted?.auth ?? DEFAULT_AUTH_PORT);
40
+ const uiPort = yield* allocator.pickAvailable(cliPorts.ui ?? persisted?.ui ?? DEFAULT_UI_PORT);
41
+ const uiSsrPort = yield* allocator.pickAvailable(cliPorts.uiSsr ?? uiPort + 1);
42
+ const pluginApiPorts = {};
43
+ const pluginUiPorts = {};
44
+ const pluginKeys = Object.keys(plugins).sort();
45
+ const pluginStart = cliPorts.pluginsStart ?? persisted?.pluginPortStart ?? DEFAULT_PLUGIN_PORT_START;
46
+ let nextPluginPort = pluginStart;
47
+ for (const pluginId of pluginKeys) {
48
+ const pluginCfg = plugins[pluginId];
49
+ const preferred = cliPorts.plugins?.[pluginId]?.api ?? nextPluginPort;
50
+ const pluginPort = yield* allocator.pickAvailable(preferred);
51
+ pluginApiPorts[pluginId] = pluginPort;
52
+ nextPluginPort = pluginPort + 1;
53
+ if (pluginCfg?.source === "local" && pluginCfg?.localPath && pluginCfg?.ui?.source === "local") {
54
+ const uiPreferred = cliPorts.plugins?.[pluginId]?.ui ?? nextPluginPort;
55
+ const pluginUiPort = yield* allocator.pickAvailable(uiPreferred);
56
+ pluginUiPorts[pluginId] = pluginUiPort;
57
+ nextPluginPort = pluginUiPort + 1;
58
+ }
59
+ }
60
+ const resolved = {
61
+ host: hostPort,
62
+ api: apiPort,
63
+ auth: authPort,
64
+ ui: uiPort,
65
+ uiSsr: uiSsrPort,
66
+ plugins: Object.fromEntries(Object.entries(pluginApiPorts).map(([k, v]) => [k, {
67
+ api: v,
68
+ ui: pluginUiPorts[k]
69
+ }])),
70
+ postgres: {},
71
+ redis: {}
72
+ };
73
+ const devPortsState = {
74
+ host: hostPort,
75
+ api: apiPort,
76
+ auth: authPort,
77
+ ui: uiPort,
78
+ pluginPortStart: pluginStart
79
+ };
80
+ const claimPorts = {
81
+ host: hostPort,
82
+ api: apiPort,
83
+ auth: authPort,
84
+ ui: uiPort,
85
+ uiSsr: uiSsrPort
86
+ };
87
+ for (const [id, port] of Object.entries(pluginApiPorts)) claimPorts[`plugin:${id}`] = port;
88
+ for (const [id, port] of Object.entries(pluginUiPorts)) claimPorts[`plugin-ui:${id}`] = port;
89
+ return {
90
+ ports: resolved,
91
+ claims: [{
92
+ resourceKey: `workspace:${wKey}`,
93
+ pid: process.pid,
94
+ configDir,
95
+ ports: claimPorts,
96
+ startedAt: Date.now()
97
+ }],
98
+ devPortsState
99
+ };
100
+ }).pipe(effect.Effect.mapError((portErr) => new require_types.InfraError({
101
+ phase: "allocate-services",
102
+ message: `Port allocation failed: ${String(portErr)}`,
103
+ cause: portErr
104
+ })));
105
+ }
106
+ function allocateDatabases(runtimeConfig, configDir) {
107
+ return effect.Effect.gen(function* () {
108
+ const persisted = require_infra.loadPortState(configDir);
109
+ const allSecrets = require_infra.getSecretGroups(runtimeConfig).flatMap((group) => group.secrets);
110
+ const originMap = require_infra.buildOriginMap(configDir, runtimeConfig);
111
+ const allocator = yield* require_app.PortAllocator;
112
+ const infraDatabases = yield* effect.Effect.sync(() => require_infra.buildDatabaseConfigs(allSecrets, originMap, { ...persisted.postgresPorts }));
113
+ const infraRedis = yield* effect.Effect.sync(() => require_infra.buildRedisConfigs(allSecrets, originMap, { ...persisted.redisPorts }));
114
+ const postgres = {};
115
+ const dbs = [];
116
+ for (const db of infraDatabases) {
117
+ const port = yield* allocator.pickAvailable(db.port);
118
+ postgres[db.slug] = port;
119
+ dbs.push({
120
+ secret: db.secret,
121
+ slug: db.slug,
122
+ port,
123
+ dbName: db.databaseName,
124
+ containerName: db.containerName,
125
+ volumeName: db.volumeName,
126
+ url: `postgres://${POSTGRES_USER}:${POSTGRES_PASSWORD}@localhost:${port}/${db.slug}_db`
127
+ });
128
+ }
129
+ const redis = {};
130
+ const redisPlans = [];
131
+ for (const r of infraRedis) {
132
+ const port = yield* allocator.pickAvailable(r.port);
133
+ redis[r.slug] = port;
134
+ redisPlans.push({
135
+ secret: r.secret,
136
+ slug: r.slug,
137
+ port,
138
+ containerName: r.containerName,
139
+ volumeName: r.volumeName,
140
+ url: `redis://localhost:${port}`
141
+ });
142
+ }
143
+ return {
144
+ postgres,
145
+ redis,
146
+ dbs,
147
+ redisPlans
148
+ };
149
+ }).pipe(effect.Effect.mapError((portErr) => new require_types.InfraError({
150
+ phase: "allocate-databases",
151
+ message: `Database port allocation failed: ${String(portErr)}`,
152
+ cause: portErr
153
+ })));
154
+ }
155
+ function buildServiceDescriptors(runtimeConfig, resolvedPorts) {
156
+ const descriptors = [];
157
+ if (runtimeConfig.host) {
158
+ const isLocal = runtimeConfig.host.source === "local";
159
+ descriptors.push({
160
+ key: "host",
161
+ source: runtimeConfig.host.source,
162
+ url: isLocal ? `http://localhost:${resolvedPorts.host}` : runtimeConfig.host.url,
163
+ port: isLocal ? resolvedPorts.host : void 0,
164
+ localPath: isLocal ? runtimeConfig.host.localPath : void 0
165
+ });
166
+ }
167
+ if (runtimeConfig.api) {
168
+ const isLocal = runtimeConfig.api.source === "local";
169
+ descriptors.push({
170
+ key: "api",
171
+ source: runtimeConfig.api.source,
172
+ url: isLocal ? `http://localhost:${resolvedPorts.api}` : runtimeConfig.api.url,
173
+ port: isLocal ? resolvedPorts.api : void 0,
174
+ localPath: isLocal ? runtimeConfig.api.localPath : void 0
175
+ });
176
+ }
177
+ if (runtimeConfig.auth) {
178
+ const isLocal = runtimeConfig.auth.source === "local";
179
+ descriptors.push({
180
+ key: "auth",
181
+ source: runtimeConfig.auth.source,
182
+ url: isLocal ? `http://localhost:${resolvedPorts.auth}` : runtimeConfig.auth.url,
183
+ port: isLocal ? resolvedPorts.auth : void 0,
184
+ localPath: isLocal ? runtimeConfig.auth.localPath : void 0
185
+ });
186
+ }
187
+ if (runtimeConfig.ui) {
188
+ const isLocal = runtimeConfig.ui.source === "local";
189
+ descriptors.push({
190
+ key: "ui",
191
+ source: runtimeConfig.ui.source,
192
+ url: isLocal ? `http://localhost:${resolvedPorts.ui}` : runtimeConfig.ui.url,
193
+ port: isLocal ? resolvedPorts.ui : void 0,
194
+ localPath: isLocal ? runtimeConfig.ui.localPath : void 0
195
+ });
196
+ if (isLocal && resolvedPorts.uiSsr) descriptors.push({
197
+ key: "ui-ssr",
198
+ source: "local",
199
+ url: `http://localhost:${resolvedPorts.uiSsr}`,
200
+ port: resolvedPorts.uiSsr,
201
+ localPath: runtimeConfig.ui.localPath
202
+ });
203
+ }
204
+ if (runtimeConfig.plugins) for (const [pluginId, pluginCfg] of Object.entries(runtimeConfig.plugins)) {
205
+ const pluginIsLocal = pluginCfg.source === "local";
206
+ const p = resolvedPorts.plugins[pluginId];
207
+ if (pluginIsLocal && p?.api) descriptors.push({
208
+ key: `plugin:${pluginId}`,
209
+ source: "local",
210
+ url: `http://localhost:${p.api}`,
211
+ port: p.api,
212
+ localPath: pluginCfg.localPath
213
+ });
214
+ if (!pluginIsLocal && pluginCfg.url) descriptors.push({
215
+ key: `plugin:${pluginId}`,
216
+ source: "remote",
217
+ url: pluginCfg.url,
218
+ port: void 0,
219
+ localPath: void 0
220
+ });
221
+ if (pluginIsLocal && p?.ui && pluginCfg.ui?.source === "local") descriptors.push({
222
+ key: `plugin-ui:${pluginId}`,
223
+ source: "local",
224
+ url: `http://localhost:${p.ui}`,
225
+ port: p.ui,
226
+ localPath: pluginCfg.ui?.localPath
227
+ });
228
+ }
229
+ return descriptors;
230
+ }
231
+ function buildLaunchSpec(runtimeConfig, resolvedPorts) {
232
+ const hostPort = runtimeConfig.host?.source === "local" ? resolvedPorts.host : runtimeConfig.host?.port;
233
+ const corsOrigin = hostPort ? `http://localhost:${hostPort}` : `http://localhost:3000`;
234
+ return {
235
+ port: resolvedPorts.host,
236
+ hostUrl: runtimeConfig.host?.url,
237
+ corsOrigin,
238
+ env: {
239
+ ...resolvedPorts.host ? { PORT: String(resolvedPorts.host) } : {},
240
+ ...resolvedPorts.api ? { API_PORT: String(resolvedPorts.api) } : {},
241
+ ...resolvedPorts.ui ? { UI_PORT: String(resolvedPorts.ui) } : {},
242
+ ...resolvedPorts.auth ? { AUTH_PORT: String(resolvedPorts.auth) } : {}
243
+ },
244
+ runtimeConfig
245
+ };
246
+ }
247
+ function buildComposeModel(dbs, redisPlans) {
248
+ return {
249
+ databases: dbs,
250
+ redis: redisPlans
251
+ };
252
+ }
253
+ function buildEnvGenerated(resolvedPorts, dbs, redisPlans) {
254
+ const env = {};
255
+ if (resolvedPorts.host) env.CORS_ORIGIN = `http://localhost:${resolvedPorts.host}`;
256
+ for (const db of dbs) env[db.secret] = db.url;
257
+ for (const r of redisPlans) env[r.secret] = r.url;
258
+ return env;
259
+ }
260
+ function planInfra(input) {
261
+ return effect.Effect.gen(function* () {
262
+ const cliPorts = normalizeCliPorts(input.cli);
263
+ const wKey = workspaceKey(input.configDir);
264
+ const { ports: svcPorts, claims, devPortsState } = yield* allocateServices(cliPorts, input.bosConfig.plugins ?? {}, input.configDir);
265
+ const { dbs, redisPlans, postgres: pgPorts, redis: rdPorts } = yield* allocateDatabases(input.bosConfig, input.configDir);
266
+ const resolvedPorts = {
267
+ ...svcPorts,
268
+ postgres: pgPorts,
269
+ redis: rdPorts
270
+ };
271
+ require_infra.savePortState(input.configDir, {
272
+ postgresPorts: pgPorts,
273
+ redisPorts: rdPorts,
274
+ devPorts: devPortsState
275
+ });
276
+ const hostIsLocal = input.bosConfig.host?.source === "local";
277
+ const apiIsLocal = input.bosConfig.api?.source === "local";
278
+ const uiIsLocal = input.bosConfig.ui?.source === "local";
279
+ const authIsLocal = input.bosConfig.auth?.source === "local";
280
+ const assignedRuntimeConfig = {
281
+ ...input.bosConfig,
282
+ host: resolvedPorts.host ? {
283
+ ...input.bosConfig.host,
284
+ port: resolvedPorts.host,
285
+ url: `http://localhost:${resolvedPorts.host}`,
286
+ remoteUrl: !hostIsLocal ? input.bosConfig.host.remoteUrl ?? input.bosConfig.host.url : void 0
287
+ } : input.bosConfig.host,
288
+ api: apiIsLocal && resolvedPorts.api ? {
289
+ ...input.bosConfig.api,
290
+ port: resolvedPorts.api,
291
+ url: `http://localhost:${resolvedPorts.api}`
292
+ } : input.bosConfig.api,
293
+ ui: uiIsLocal && resolvedPorts.ui ? {
294
+ ...input.bosConfig.ui,
295
+ port: resolvedPorts.ui,
296
+ url: `http://localhost:${resolvedPorts.ui}`
297
+ } : input.bosConfig.ui,
298
+ auth: authIsLocal && resolvedPorts.auth && input.bosConfig.auth ? {
299
+ ...input.bosConfig.auth,
300
+ port: resolvedPorts.auth,
301
+ url: `http://localhost:${resolvedPorts.auth}`
302
+ } : input.bosConfig.auth,
303
+ plugins: input.bosConfig.plugins ? Object.fromEntries(Object.entries(input.bosConfig.plugins).map(([id, p]) => {
304
+ const pluginPort = resolvedPorts.plugins[id];
305
+ if (p.source === "local" && pluginPort?.api) return [id, {
306
+ ...p,
307
+ port: pluginPort.api,
308
+ url: `http://localhost:${pluginPort.api}`
309
+ }];
310
+ return [id, p];
311
+ })) : void 0
312
+ };
313
+ const serviceDescriptors = buildServiceDescriptors(input.bosConfig, resolvedPorts);
314
+ const launch = buildLaunchSpec(input.bosConfig, resolvedPorts);
315
+ const composeModel = buildComposeModel(dbs, redisPlans);
316
+ const envGenerated = buildEnvGenerated(resolvedPorts, dbs, redisPlans);
317
+ const packages = serviceDescriptors.map((d) => d.key);
318
+ const description = require_service_descriptor.buildDescription(new Map(serviceDescriptors.map((d) => [d.key, d])));
319
+ const orchestrator = {
320
+ packages,
321
+ env: {},
322
+ description,
323
+ port: resolvedPorts.host,
324
+ interactive: input.cli.interactive
325
+ };
326
+ return {
327
+ workspaceKey: wKey,
328
+ cliPorts,
329
+ resolvedPorts,
330
+ runtimeConfig: assignedRuntimeConfig,
331
+ launch,
332
+ description,
333
+ serviceDescriptors: new Map(serviceDescriptors.map((d) => [d.key, d])),
334
+ envGenerated,
335
+ composeModel,
336
+ claims,
337
+ orchestrator
338
+ };
339
+ });
340
+ }
341
+
342
+ //#endregion
343
+ exports.planInfra = planInfra;
344
+ //# sourceMappingURL=planner.cjs.map