@moxt-ai/mobius 0.0.343 → 0.0.345

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 (162) hide show
  1. package/dist/cli/handler/agents/index.js +4 -4
  2. package/dist/cli/handler/agents/index.js.map +1 -1
  3. package/dist/cli/handler/agents/logic/agent-diagnostics.js +1 -1
  4. package/dist/cli/handler/agents/logic/agent-diagnostics.js.map +1 -1
  5. package/dist/cli/handler/daemon/start.js +2 -2
  6. package/dist/cli/handler/daemon/start.js.map +1 -1
  7. package/dist/cli/handler/logs/logic/collect-local-logs.js +2 -2
  8. package/dist/cli/handler/logs/logic/collect-local-logs.js.map +1 -1
  9. package/dist/cli/handler/pair/logic/pair-list-output.js +1 -1
  10. package/dist/cli/handler/pair/logic/pair-list-output.js.map +1 -1
  11. package/dist/cli/handler/pair/pair.js +2 -2
  12. package/dist/cli/handler/pair/pair.js.map +1 -1
  13. package/dist/cli/index.js +1 -1
  14. package/dist/cli/index.js.map +1 -1
  15. package/dist/cli.js +10089 -9978
  16. package/dist/cli.js.map +4 -4
  17. package/dist/daemon/config.d.ts +5 -0
  18. package/dist/daemon/config.d.ts.map +1 -0
  19. package/dist/daemon/config.js +40 -0
  20. package/dist/daemon/config.js.map +1 -0
  21. package/dist/daemon/control/local-client.d.ts.map +1 -1
  22. package/dist/daemon/control/local-client.js +1 -1
  23. package/dist/daemon/control/local-client.js.map +1 -1
  24. package/dist/daemon/control/local-server.d.ts.map +1 -1
  25. package/dist/daemon/control/local-server.js +1 -1
  26. package/dist/daemon/control/local-server.js.map +1 -1
  27. package/dist/daemon/lifecycle/manager-client.d.ts.map +1 -1
  28. package/dist/daemon/lifecycle/manager-client.js +3 -3
  29. package/dist/daemon/lifecycle/manager-client.js.map +1 -1
  30. package/dist/daemon/lifecycle/manager.d.ts.map +1 -1
  31. package/dist/daemon/lifecycle/manager.js +1 -1
  32. package/dist/daemon/lifecycle/manager.js.map +1 -1
  33. package/dist/daemon/lifecycle/worker.d.ts.map +1 -1
  34. package/dist/daemon/lifecycle/worker.js +6 -3
  35. package/dist/daemon/lifecycle/worker.js.map +1 -1
  36. package/dist/daemon/pairing/pair-local-machine.d.ts.map +1 -1
  37. package/dist/daemon/pairing/pair-local-machine.js +26 -21
  38. package/dist/daemon/pairing/pair-local-machine.js.map +1 -1
  39. package/dist/daemon/upgrades/data.d.ts.map +1 -1
  40. package/dist/daemon/upgrades/data.js +2 -2
  41. package/dist/daemon/upgrades/data.js.map +1 -1
  42. package/dist/daemon/upgrades/package.d.ts.map +1 -1
  43. package/dist/daemon/upgrades/package.js +1 -1
  44. package/dist/daemon/upgrades/package.js.map +1 -1
  45. package/dist/engine/index.d.ts +1 -1
  46. package/dist/engine/index.d.ts.map +1 -1
  47. package/dist/engine/index.js +1 -1
  48. package/dist/engine/index.js.map +1 -1
  49. package/dist/engine/runtime/catalog/refresh-agent-catalog.js +1 -1
  50. package/dist/engine/runtime/catalog/refresh-agent-catalog.js.map +1 -1
  51. package/dist/engine/runtime/catalog/resolve-catalog-agent.js +1 -1
  52. package/dist/engine/runtime/catalog/resolve-catalog-agent.js.map +1 -1
  53. package/dist/engine/runtime/command/registry/index.d.ts.map +1 -1
  54. package/dist/engine/runtime/command/registry/index.js +18 -1
  55. package/dist/engine/runtime/command/registry/index.js.map +1 -1
  56. package/dist/engine/runtime/config.d.ts +6 -8
  57. package/dist/engine/runtime/config.d.ts.map +1 -1
  58. package/dist/engine/runtime/config.js +9 -15
  59. package/dist/engine/runtime/config.js.map +1 -1
  60. package/dist/engine/runtime/connection/runtime-connection.d.ts +1 -2
  61. package/dist/engine/runtime/connection/runtime-connection.d.ts.map +1 -1
  62. package/dist/engine/runtime/connection/runtime-connection.js +1 -3
  63. package/dist/engine/runtime/connection/runtime-connection.js.map +1 -1
  64. package/dist/engine/runtime/connection/runtime-installation-store.d.ts +4 -7
  65. package/dist/engine/runtime/connection/runtime-installation-store.d.ts.map +1 -1
  66. package/dist/engine/runtime/connection/runtime-installation-store.js +56 -60
  67. package/dist/engine/runtime/connection/runtime-installation-store.js.map +1 -1
  68. package/dist/engine/runtime/engine.d.ts +10 -4
  69. package/dist/engine/runtime/engine.d.ts.map +1 -1
  70. package/dist/engine/runtime/engine.js +6 -25
  71. package/dist/engine/runtime/engine.js.map +1 -1
  72. package/dist/engine/runtime/relay/diagnostics.d.ts.map +1 -1
  73. package/dist/engine/runtime/relay/diagnostics.js +15 -0
  74. package/dist/engine/runtime/relay/diagnostics.js.map +1 -1
  75. package/dist/engine/runtime/relay/run-relay-connection.d.ts.map +1 -1
  76. package/dist/engine/runtime/relay/run-relay-connection.js +3 -0
  77. package/dist/engine/runtime/relay/run-relay-connection.js.map +1 -1
  78. package/dist/engine/runtime/run.js +2 -2
  79. package/dist/engine/runtime/run.js.map +1 -1
  80. package/dist/engine/session/api/session-layer.d.ts.map +1 -1
  81. package/dist/engine/session/api/session-layer.js +16 -10
  82. package/dist/engine/session/api/session-layer.js.map +1 -1
  83. package/dist/engine/session/native/native-session-browser.d.ts +1 -1
  84. package/dist/engine/session/native/native-session-browser.d.ts.map +1 -1
  85. package/dist/engine/session/native/native-session-browser.js.map +1 -1
  86. package/dist/engine/session/process/agent-process-pool.d.ts +0 -1
  87. package/dist/engine/session/process/agent-process-pool.d.ts.map +1 -1
  88. package/dist/engine/session/process/agent-process-pool.js +0 -14
  89. package/dist/engine/session/process/agent-process-pool.js.map +1 -1
  90. package/dist/engine/session/prompt/execute-prompt.d.ts.map +1 -1
  91. package/dist/engine/session/prompt/execute-prompt.js +10 -1
  92. package/dist/engine/session/prompt/execute-prompt.js.map +1 -1
  93. package/dist/engine/session/prompt/prompt-artifacts.d.ts.map +1 -1
  94. package/dist/engine/session/prompt/prompt-artifacts.js +6 -7
  95. package/dist/engine/session/prompt/prompt-artifacts.js.map +1 -1
  96. package/dist/engine/session/turn/execution-receipts.d.ts +3 -1
  97. package/dist/engine/session/turn/execution-receipts.d.ts.map +1 -1
  98. package/dist/engine/session/turn/execution-receipts.js +28 -0
  99. package/dist/engine/session/turn/execution-receipts.js.map +1 -1
  100. package/dist/engine/storage/installation/installation-files.d.ts +3 -4
  101. package/dist/engine/storage/installation/installation-files.d.ts.map +1 -1
  102. package/dist/engine/storage/installation/installation-files.js +5 -9
  103. package/dist/engine/storage/installation/installation-files.js.map +1 -1
  104. package/dist/engine/storage/logs/log-files.d.ts +2 -26
  105. package/dist/engine/storage/logs/log-files.d.ts.map +1 -1
  106. package/dist/engine/storage/logs/log-files.js +5 -128
  107. package/dist/engine/storage/logs/log-files.js.map +1 -1
  108. package/dist/engine.js +552 -486
  109. package/dist/engine.js.map +4 -4
  110. package/dist/{engine/storage → storage}/daemon/control-token.d.ts +1 -1
  111. package/dist/storage/daemon/control-token.d.ts.map +1 -0
  112. package/dist/{engine/storage → storage}/daemon/control-token.js +1 -1
  113. package/dist/storage/daemon/control-token.js.map +1 -0
  114. package/dist/{engine/storage → storage}/daemon/manager-lock.d.ts +1 -1
  115. package/dist/storage/daemon/manager-lock.d.ts.map +1 -0
  116. package/dist/{engine/storage → storage}/daemon/manager-lock.js +1 -1
  117. package/dist/storage/daemon/manager-lock.js.map +1 -0
  118. package/dist/storage/daemon/release-files.d.ts.map +1 -0
  119. package/dist/storage/daemon/release-files.js.map +1 -0
  120. package/dist/{engine/storage → storage}/daemon/version-data.d.ts +2 -0
  121. package/dist/storage/daemon/version-data.d.ts.map +1 -0
  122. package/dist/{engine/storage → storage}/daemon/version-data.js +17 -2
  123. package/dist/storage/daemon/version-data.js.map +1 -0
  124. package/dist/storage/files/output-file.d.ts.map +1 -0
  125. package/dist/{engine/storage → storage}/files/output-file.js +1 -1
  126. package/dist/storage/files/output-file.js.map +1 -0
  127. package/dist/storage/logs/log-files.d.ts +24 -0
  128. package/dist/storage/logs/log-files.d.ts.map +1 -0
  129. package/dist/storage/logs/log-files.js +122 -0
  130. package/dist/storage/logs/log-files.js.map +1 -0
  131. package/dist/storage/state-directory.d.ts.map +1 -0
  132. package/dist/storage/state-directory.js.map +1 -0
  133. package/dist/storage/state-root-layout.d.ts.map +1 -0
  134. package/dist/storage/state-root-layout.js.map +1 -0
  135. package/dist/storage/state-root.d.ts.map +1 -0
  136. package/dist/{engine/storage → storage}/state-root.js +1 -1
  137. package/dist/storage/state-root.js.map +1 -0
  138. package/package.json +2 -2
  139. package/dist/engine/storage/daemon/control-token.d.ts.map +0 -1
  140. package/dist/engine/storage/daemon/control-token.js.map +0 -1
  141. package/dist/engine/storage/daemon/manager-lock.d.ts.map +0 -1
  142. package/dist/engine/storage/daemon/manager-lock.js.map +0 -1
  143. package/dist/engine/storage/daemon/release-files.d.ts.map +0 -1
  144. package/dist/engine/storage/daemon/release-files.js.map +0 -1
  145. package/dist/engine/storage/daemon/version-data.d.ts.map +0 -1
  146. package/dist/engine/storage/daemon/version-data.js.map +0 -1
  147. package/dist/engine/storage/files/output-file.d.ts.map +0 -1
  148. package/dist/engine/storage/files/output-file.js.map +0 -1
  149. package/dist/engine/storage/state-directory.d.ts.map +0 -1
  150. package/dist/engine/storage/state-directory.js.map +0 -1
  151. package/dist/engine/storage/state-root-layout.d.ts.map +0 -1
  152. package/dist/engine/storage/state-root-layout.js.map +0 -1
  153. package/dist/engine/storage/state-root.d.ts.map +0 -1
  154. package/dist/engine/storage/state-root.js.map +0 -1
  155. /package/dist/{engine/storage → storage}/daemon/release-files.d.ts +0 -0
  156. /package/dist/{engine/storage → storage}/daemon/release-files.js +0 -0
  157. /package/dist/{engine/storage → storage}/files/output-file.d.ts +0 -0
  158. /package/dist/{engine/storage → storage}/state-directory.d.ts +0 -0
  159. /package/dist/{engine/storage → storage}/state-directory.js +0 -0
  160. /package/dist/{engine/storage → storage}/state-root-layout.d.ts +0 -0
  161. /package/dist/{engine/storage → storage}/state-root-layout.js +0 -0
  162. /package/dist/{engine/storage → storage}/state-root.d.ts +0 -0
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/engine/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACH,KAAK,2BAA2B,EAChC,KAAK,aAAa,EAClB,kBAAkB,EAClB,iBAAiB,EACjB,mBAAmB,GACtB,MAAM,yCAAyC,CAAC;AACjD,OAAO,EAAE,kBAAkB,EAAE,MAAM,iCAAiC,CAAC;AACrE,YAAY,EACR,sBAAsB,EACtB,oBAAoB,EACpB,2BAA2B,EAC3B,2BAA2B,GAC9B,MAAM,oCAAoC,CAAC;AAC5C,YAAY,EACR,eAAe,EACf,sBAAsB,EACtB,4BAA4B,EAC5B,sBAAsB,GACzB,MAAM,sCAAsC,CAAC;AAC9C,OAAO,EAAE,uBAAuB,EAAE,MAAM,+CAA+C,CAAC;AACxF,OAAO,EAAE,wBAAwB,EAAE,MAAM,2BAA2B,CAAC;AACrE,YAAY,EAAE,aAAa,EAAE,uBAAuB,EAAE,MAAM,qBAAqB,CAAC;AAClF,OAAO,EACH,mBAAmB,EACnB,4BAA4B,EAC5B,mBAAmB,EACnB,sBAAsB,GACzB,MAAM,qBAAqB,CAAC;AAC7B,cAAc,qBAAqB,CAAC;AACpC,OAAO,EAAE,mBAAmB,EAAE,4BAA4B,EAAE,wBAAwB,EAAE,MAAM,qBAAqB,CAAC;AAClH,cAAc,mCAAmC,CAAC;AAClD,cAAc,8BAA8B,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/engine/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,iCAAiC,CAAC;AACrE,YAAY,EACR,sBAAsB,EACtB,oBAAoB,EACpB,2BAA2B,EAC3B,2BAA2B,GAC9B,MAAM,oCAAoC,CAAC;AAC5C,YAAY,EACR,eAAe,EACf,sBAAsB,EACtB,4BAA4B,EAC5B,sBAAsB,GACzB,MAAM,sCAAsC,CAAC;AAC9C,OAAO,EAAE,uBAAuB,EAAE,MAAM,+CAA+C,CAAC;AACxF,OAAO,EAAE,wBAAwB,EAAE,MAAM,2BAA2B,CAAC;AACrE,YAAY,EAAE,aAAa,EAAE,uBAAuB,EAAE,MAAM,qBAAqB,CAAC;AAClF,OAAO,EACH,mBAAmB,EACnB,4BAA4B,EAC5B,mBAAmB,EACnB,sBAAsB,GACzB,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAAE,2BAA2B,EAAE,MAAM,oDAAoD,CAAC;AACjG,cAAc,qBAAqB,CAAC;AACpC,OAAO,EAAE,mBAAmB,EAAE,4BAA4B,EAAE,wBAAwB,EAAE,MAAM,qBAAqB,CAAC;AAClH,cAAc,mCAAmC,CAAC;AAClD,cAAc,8BAA8B,CAAC"}
@@ -1,8 +1,8 @@
1
- export { PairingClientError, pairMobiusRuntime, resumeMobiusRuntime, } from "../daemon/pairing/pair-local-machine.js";
2
1
  export { AcpAgentDefinition } from "./acp/agent/agent-definition.js";
3
2
  export { EndpointAgentConnection } from "./acp/connection/endpoint-agent-connection.js";
4
3
  export { RuntimeAgentDependencies } from "./agent/runtime-agents.js";
5
4
  export { createRuntimeConfig, OpaqueRuntimeReconnectTarget, RuntimeLocalContext, RuntimeReconnectTarget, } from "./runtime/config.js";
5
+ export { openEngineInstallationStore } from "./runtime/connection/runtime-installation-store.js";
6
6
  export * from "./runtime/engine.js";
7
7
  export { MobiusRuntimeEngine, openRuntimeInstallationStore, RuntimeRelayRevokedError } from "./runtime/engine.js";
8
8
  export * from "./util/filesystem/private-path.js";
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/engine/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAGH,kBAAkB,EAClB,iBAAiB,EACjB,mBAAmB,GACtB,MAAM,yCAAyC,CAAC;AACjD,OAAO,EAAE,kBAAkB,EAAE,MAAM,iCAAiC,CAAC;AAarE,OAAO,EAAE,uBAAuB,EAAE,MAAM,+CAA+C,CAAC;AACxF,OAAO,EAAE,wBAAwB,EAAE,MAAM,2BAA2B,CAAC;AAErE,OAAO,EACH,mBAAmB,EACnB,4BAA4B,EAC5B,mBAAmB,EACnB,sBAAsB,GACzB,MAAM,qBAAqB,CAAC;AAC7B,cAAc,qBAAqB,CAAC;AACpC,OAAO,EAAE,mBAAmB,EAAE,4BAA4B,EAAE,wBAAwB,EAAE,MAAM,qBAAqB,CAAC;AAClH,cAAc,mCAAmC,CAAC;AAClD,cAAc,8BAA8B,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/engine/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,iCAAiC,CAAC;AAarE,OAAO,EAAE,uBAAuB,EAAE,MAAM,+CAA+C,CAAC;AACxF,OAAO,EAAE,wBAAwB,EAAE,MAAM,2BAA2B,CAAC;AAErE,OAAO,EACH,mBAAmB,EACnB,4BAA4B,EAC5B,mBAAmB,EACnB,sBAAsB,GACzB,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAAE,2BAA2B,EAAE,MAAM,oDAAoD,CAAC;AACjG,cAAc,qBAAqB,CAAC;AACpC,OAAO,EAAE,mBAAmB,EAAE,4BAA4B,EAAE,wBAAwB,EAAE,MAAM,qBAAqB,CAAC;AAClH,cAAc,mCAAmC,CAAC;AAClD,cAAc,8BAA8B,CAAC"}
@@ -8,6 +8,6 @@ import { publishAgentCatalog } from "./publish-agent-catalog.js";
8
8
  export async function refreshAgentCatalog(config, discover, signal) {
9
9
  const readyAgents = await discover(signal);
10
10
  signal.throwIfAborted();
11
- return await config.catalog.replaceAndPublish(() => readyAgents.map((agent) => withRuntimeEnvironment(agent, config.localContext.environment)), (publishSignal) => publishAgentCatalog(config, publishSignal), signal);
11
+ return await config.catalog.replaceAndPublish(() => readyAgents.map((agent) => withRuntimeEnvironment(agent, config.localContext.agentLaunchEnvironment)), (publishSignal) => publishAgentCatalog(config, publishSignal), signal);
12
12
  }
13
13
  //# sourceMappingURL=refresh-agent-catalog.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"refresh-agent-catalog.js","sourceRoot":"","sources":["../../../../src/engine/runtime/catalog/refresh-agent-catalog.ts"],"names":[],"mappings":"AACA,OAAO,EAAsB,sBAAsB,EAAE,MAAM,cAAc,CAAC;AAC1E,OAAO,EAAE,mBAAmB,EAAE,MAAM,4BAA4B,CAAC;AAEjE;;;;GAIG;AACH,MAAM,CAAC,KAAK,UAAU,mBAAmB,CACrC,MAAqB,EACrB,QAAmE,EACnE,MAAmB;IAEnB,MAAM,WAAW,GAAG,MAAM,QAAQ,CAAC,MAAM,CAAC,CAAC;IAC3C,MAAM,CAAC,cAAc,EAAE,CAAC;IACxB,OAAO,MAAM,MAAM,CAAC,OAAO,CAAC,iBAAiB,CACzC,GAAG,EAAE,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,sBAAsB,CAAC,KAAK,EAAE,MAAM,CAAC,YAAY,CAAC,WAAW,CAAC,CAAC,EAChG,CAAC,aAAa,EAAE,EAAE,CAAC,mBAAmB,CAAC,MAAM,EAAE,aAAa,CAAC,EAC7D,MAAM,CACT,CAAC;AACN,CAAC"}
1
+ {"version":3,"file":"refresh-agent-catalog.js","sourceRoot":"","sources":["../../../../src/engine/runtime/catalog/refresh-agent-catalog.ts"],"names":[],"mappings":"AACA,OAAO,EAAsB,sBAAsB,EAAE,MAAM,cAAc,CAAC;AAC1E,OAAO,EAAE,mBAAmB,EAAE,MAAM,4BAA4B,CAAC;AAEjE;;;;GAIG;AACH,MAAM,CAAC,KAAK,UAAU,mBAAmB,CACrC,MAAqB,EACrB,QAAmE,EACnE,MAAmB;IAEnB,MAAM,WAAW,GAAG,MAAM,QAAQ,CAAC,MAAM,CAAC,CAAC;IAC3C,MAAM,CAAC,cAAc,EAAE,CAAC;IACxB,OAAO,MAAM,MAAM,CAAC,OAAO,CAAC,iBAAiB,CACzC,GAAG,EAAE,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,sBAAsB,CAAC,KAAK,EAAE,MAAM,CAAC,YAAY,CAAC,sBAAsB,CAAC,CAAC,EAC3G,CAAC,aAAa,EAAE,EAAE,CAAC,mBAAmB,CAAC,MAAM,EAAE,aAAa,CAAC,EAC7D,MAAM,CACT,CAAC;AACN,CAAC"}
@@ -38,7 +38,7 @@ export function createCatalogAgentResolver(discover, readConfig, publish) {
38
38
  const rediscovered = inventory
39
39
  .readyAgents()
40
40
  .filter((ready) => ready.id === agent.id)
41
- .map((ready) => withRuntimeEnvironment(ready, config.localContext.environment));
41
+ .map((ready) => withRuntimeEnvironment(ready, config.localContext.agentLaunchEnvironment));
42
42
  await config.catalog.replaceAndPublish((current) => {
43
43
  if (!current.some((entry) => entry.id === agent.id)) {
44
44
  throw new Error(`The local Agent ${agent.id} left the catalog before its refresh completed`);
@@ -1 +1 @@
1
- {"version":3,"file":"resolve-catalog-agent.js","sourceRoot":"","sources":["../../../../src/engine/runtime/catalog/resolve-catalog-agent.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"resolve-catalog-agent.js","sourceRoot":"","sources":["../../../../src/engine/runtime/catalog/resolve-catalog-agent.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/engine/runtime/command/registry/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAA2B,KAAK,sBAAsB,EAAE,MAAM,8BAA8B,CAAC;AACpG,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,eAAe,CAAC;AA2BpD,wBAAgB,qBAAqB,CAAC,OAAO,EAAE,cAAc,GAAG;IAC5D,QAAQ,CAAC,QAAQ,EAAE,CAAC,OAAO,EAAE,sBAAsB,KAAK,IAAI,CAAC;IAC7D,QAAQ,CAAC,aAAa,EAAE,CAAC,OAAO,EAAE,OAAO,KAAK,IAAI,CAAC;IACnD,QAAQ,CAAC,MAAM,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;CACxC,CA0CA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/engine/runtime/command/registry/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAA2B,KAAK,sBAAsB,EAAE,MAAM,8BAA8B,CAAC;AACpG,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,eAAe,CAAC;AA2BpD,wBAAgB,qBAAqB,CAAC,OAAO,EAAE,cAAc,GAAG;IAC5D,QAAQ,CAAC,QAAQ,EAAE,CAAC,OAAO,EAAE,sBAAsB,KAAK,IAAI,CAAC;IAC7D,QAAQ,CAAC,aAAa,EAAE,CAAC,OAAO,EAAE,OAAO,KAAK,IAAI,CAAC;IACnD,QAAQ,CAAC,MAAM,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;CACxC,CA0DA"}
@@ -43,7 +43,24 @@ export function createCommandRegistry(context) {
43
43
  }
44
44
  command.handle(context, message);
45
45
  },
46
- dispatchChunk: (message) => contentWrites.receiveChunk(decodeContentChunkFrame(message)),
46
+ dispatchChunk: (message) => {
47
+ // A future binary format must not disconnect unrelated Sessions.
48
+ // Validate the whole frame before passing any bytes to an upload.
49
+ const frame = (() => {
50
+ try {
51
+ return decodeContentChunkFrame(message);
52
+ }
53
+ catch {
54
+ context.diagnostics.daemonDiagnostic("content_frame_discarded", "unknown", {
55
+ reason: "unsupported_frame",
56
+ });
57
+ return null;
58
+ }
59
+ })();
60
+ if (frame !== null) {
61
+ contentWrites.receiveChunk(frame);
62
+ }
63
+ },
47
64
  settle: async () => {
48
65
  await Promise.all([
49
66
  contentWrites.settle(),
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/engine/runtime/command/registry/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,uBAAuB,EAA+B,MAAM,8BAA8B,CAAC;AAGpG,OAAO,EAAE,0BAA0B,EAAE,MAAM,oBAAoB,CAAC;AAChE,OAAO,EAAE,2BAA2B,EAAE,MAAM,qBAAqB,CAAC;AAClE,OAAO,EAAE,0BAA0B,EAAE,MAAM,0BAA0B,CAAC;AACtE,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AACvD,OAAO,EAAE,6BAA6B,EAAE,6BAA6B,EAAE,MAAM,cAAc,CAAC;AAC5F,OAAO,EACH,yBAAyB,EACzB,wBAAwB,EACxB,wBAAwB,EACxB,+BAA+B,EAC/B,oBAAoB,EACpB,mBAAmB,GACtB,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EAAE,2BAA2B,EAAE,MAAM,sBAAsB,CAAC;AACnE,OAAO,EAAE,oBAAoB,EAAE,MAAM,aAAa,CAAC;AACnD,OAAO,EAAE,yBAAyB,EAAE,kBAAkB,EAAE,MAAM,cAAc,CAAC;AAC7E,OAAO,EACH,wBAAwB,EACxB,uBAAuB,EACvB,qBAAqB,EACrB,oBAAoB,EACpB,qBAAqB,EACrB,oBAAoB,GACvB,MAAM,cAAc,CAAC;AAEtB,MAAM,UAAU,qBAAqB,CAAC,OAAuB;IAKzD,MAAM,aAAa,GAAG,0BAA0B,CAAC,OAAO,CAAC,CAAC;IAC1D,MAAM,QAAQ,GAA8B;QACxC,yBAAyB;QACzB,kBAAkB;QAClB,6BAA6B;QAC7B,6BAA6B;QAC7B,GAAG,2BAA2B,CAAC,OAAO,CAAC;QACvC,GAAG,0BAA0B,CAAC,OAAO,CAAC;QACtC,GAAG,2BAA2B,CAAC,OAAO,CAAC;QACvC,GAAG,aAAa,CAAC,QAAQ;QACzB,eAAe;QACf,+BAA+B;QAC/B,oBAAoB;QACpB,mBAAmB;QACnB,wBAAwB;QACxB,oBAAoB;QACpB,qBAAqB;QACrB,uBAAuB;QACvB,wBAAwB;QACxB,oBAAoB;QACpB,qBAAqB;QACrB,wBAAwB;QACxB,yBAAyB;QACzB,oBAAoB;KACvB,CAAC;IACF,OAAO;QACH,QAAQ,EAAE,CAAC,OAAO,EAAQ,EAAE;YACxB,MAAM,OAAO,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,SAAS,CAAC,IAAI,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;YAC9E,IAAI,OAAO,KAAK,SAAS,EAAE,CAAC;gBACxB,MAAM,IAAI,KAAK,CAAC,8BAA8B,CAAC,CAAC;YACpD,CAAC;YACD,OAAO,CAAC,MAAM,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;QACrC,CAAC;QACD,aAAa,EAAE,CAAC,OAAO,EAAQ,EAAE,CAAC,aAAa,CAAC,YAAY,CAAC,uBAAuB,CAAC,OAAO,CAAC,CAAC;QAC9F,MAAM,EAAE,KAAK,IAAmB,EAAE;YAC9B,MAAM,OAAO,CAAC,GAAG,CAAC;gBACd,aAAa,CAAC,MAAM,EAAE;gBACtB,GAAG,QAAQ,CAAC,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;aAC7F,CAAC,CAAC;QACP,CAAC;KACJ,CAAC;AACN,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/engine/runtime/command/registry/index.ts"],"names":[],"mappings":"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"}
@@ -1,17 +1,15 @@
1
1
  import type { CatalogAgent } from "../agent/catalog.ts";
2
2
  import { LocalAgentCatalog } from "../agent/catalog.ts";
3
- import { RuntimeAgentDependencies } from "../agent/runtime-agents.ts";
4
- /** The workspace new conversations use: `MOBIUS_DEFAULT_WORKSPACE`, or `workspace` in the Runtime's data directory. */
5
- export declare function loadDefaultWorkspace(dataDirectory: string, environment?: Readonly<NodeJS.ProcessEnv>): string;
3
+ import type { RuntimeAgentDependencies } from "../agent/runtime-agents.ts";
6
4
  /**
7
5
  * Where a Runtime keeps its local data, and the environment it runs and launches Agents with. The data directory is
8
- * passed explicitly: the environment keeps the caller's MOBIUS_STATE_DIRECTORY, which names the CLI state root, so
9
- * Mobius run from an Agent addresses the same root as Mobius outside it.
6
+ * passed explicitly and never selected from the Agent launch environment.
10
7
  */
11
8
  export declare class RuntimeLocalContext {
12
- readonly environment: Readonly<NodeJS.ProcessEnv>;
9
+ readonly agentLaunchEnvironment: Readonly<NodeJS.ProcessEnv>;
13
10
  readonly stateDirectory: string;
14
- constructor(stateDirectory: string, environment?: Readonly<NodeJS.ProcessEnv>);
11
+ readonly maxAcpProcesses: number;
12
+ constructor(stateDirectory: string, agentLaunchEnvironment: Readonly<NodeJS.ProcessEnv>, maxAcpProcesses?: number);
15
13
  }
16
14
  export declare function withRuntimeEnvironment(agent: CatalogAgent, environment: Readonly<NodeJS.ProcessEnv>): CatalogAgent;
17
15
  export declare abstract class RuntimeReconnectTarget {
@@ -54,5 +52,5 @@ export interface RuntimeConnectionConfig {
54
52
  readonly channelId: string;
55
53
  readonly relayUrl: URL;
56
54
  }
57
- export declare function createRuntimeConfig(connection: RuntimeConnectionConfig, dependencies?: RuntimeAgentDependencies, localContext?: RuntimeLocalContext, reconnectTarget?: RuntimeReconnectTarget | null, resolveAgent?: RuntimeConfig["resolveAgent"], rediscoverAgents?: RuntimeConfig["rediscoverAgents"]): RuntimeConfig;
55
+ export declare function createRuntimeConfig(connection: RuntimeConnectionConfig, dependencies: RuntimeAgentDependencies, localContext: RuntimeLocalContext, reconnectTarget?: RuntimeReconnectTarget | null, resolveAgent?: RuntimeConfig["resolveAgent"], rediscoverAgents?: RuntimeConfig["rediscoverAgents"]): RuntimeConfig;
58
56
  //# sourceMappingURL=config.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../../src/engine/runtime/config.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AACxD,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AACxD,OAAO,EAAE,wBAAwB,EAAE,MAAM,4BAA4B,CAAC;AAGtE,uHAAuH;AACvH,wBAAgB,oBAAoB,CAChC,aAAa,EAAE,MAAM,EACrB,WAAW,GAAE,QAAQ,CAAC,MAAM,CAAC,UAAU,CAAe,GACvD,MAAM,CAGR;AAED;;;;GAIG;AACH,qBAAa,mBAAmB;IAC5B,QAAQ,CAAC,WAAW,EAAE,QAAQ,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;IAClD,QAAQ,CAAC,cAAc,EAAE,MAAM,CAAC;IAEhC,YAAY,cAAc,EAAE,MAAM,EAAE,WAAW,GAAE,QAAQ,CAAC,MAAM,CAAC,UAAU,CAAe,EAGzF;CACJ;AAED,wBAAgB,sBAAsB,CAAC,KAAK,EAAE,YAAY,EAAE,WAAW,EAAE,QAAQ,CAAC,MAAM,CAAC,UAAU,CAAC,GAAG,YAAY,CAQlH;AAED,8BAAsB,sBAAsB;IACxC,QAAQ,CAAC,QAAQ,CAAC,eAAe,EAAE,MAAM,CAAC;CAC7C;AAED,qBAAa,4BAA6B,SAAQ,sBAAsB;IACpE,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC;IAC9B,QAAQ,CAAC,eAAe,EAAE,MAAM,CAAC;IAEjC,YAAY,YAAY,EAAE,MAAM,EAI/B;CACJ;AAED,MAAM,WAAW,aAAa;IAC1B,QAAQ,CAAC,QAAQ,EAAE,wBAAwB,CAAC,UAAU,CAAC,CAAC;IACxD,QAAQ,CAAC,MAAM,EAAE,SAAS,YAAY,EAAE,CAAC;IACzC,QAAQ,CAAC,gBAAgB,EAAE,MAAM,CAAC;IAClC,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,OAAO,EAAE,iBAAiB,CAAC;IACpC,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,YAAY,EAAE,mBAAmB,CAAC;IAC3C,QAAQ,CAAC,eAAe,EAAE,sBAAsB,GAAG,IAAI,CAAC;IACxD,QAAQ,CAAC,QAAQ,EAAE,GAAG,CAAC;IACvB,2GAA2G;IAC3G,QAAQ,CAAC,kBAAkB,CAAC,EAAE,CAAC,OAAO,EAAE;QACpC,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;QAC3B,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;KAC5B,KAAK,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC;IACvC;;;;OAIG;IACH,QAAQ,CAAC,YAAY,CAAC,EAAE,CAAC,KAAK,EAAE,YAAY,EAAE,MAAM,EAAE,WAAW,KAAK,OAAO,CAAC,YAAY,CAAC,CAAC;IAC5F;;;OAGG;IACH,QAAQ,CAAC,gBAAgB,CAAC,EAAE,CAAC,MAAM,EAAE,WAAW,KAAK,OAAO,CAAC,SAAS,YAAY,EAAE,CAAC,CAAC;CACzF;AAED,MAAM,WAAW,uBAAuB;IACpC,QAAQ,CAAC,gBAAgB,EAAE,MAAM,CAAC;IAClC,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,QAAQ,EAAE,GAAG,CAAC;CAC1B;AAED,wBAAgB,mBAAmB,CAC/B,UAAU,EAAE,uBAAuB,EACnC,YAAY,GAAE,wBAA2D,EACzE,YAAY,GAAE,mBAAgF,EAC9F,eAAe,GAAE,sBAAsB,GAAG,IAAW,EACrD,YAAY,CAAC,EAAE,aAAa,CAAC,cAAc,CAAC,EAC5C,gBAAgB,CAAC,EAAE,aAAa,CAAC,kBAAkB,CAAC,GACrD,aAAa,CAef"}
1
+ {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../../src/engine/runtime/config.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AACxD,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AACxD,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,4BAA4B,CAAC;AAE3E;;;GAGG;AACH,qBAAa,mBAAmB;IAC5B,QAAQ,CAAC,sBAAsB,EAAE,QAAQ,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;IAC7D,QAAQ,CAAC,cAAc,EAAE,MAAM,CAAC;IAChC,QAAQ,CAAC,eAAe,EAAE,MAAM,CAAC;IAEjC,YAAY,cAAc,EAAE,MAAM,EAAE,sBAAsB,EAAE,QAAQ,CAAC,MAAM,CAAC,UAAU,CAAC,EAAE,eAAe,SAAO,EAI9G;CACJ;AAED,wBAAgB,sBAAsB,CAAC,KAAK,EAAE,YAAY,EAAE,WAAW,EAAE,QAAQ,CAAC,MAAM,CAAC,UAAU,CAAC,GAAG,YAAY,CAQlH;AAED,8BAAsB,sBAAsB;IACxC,QAAQ,CAAC,QAAQ,CAAC,eAAe,EAAE,MAAM,CAAC;CAC7C;AAED,qBAAa,4BAA6B,SAAQ,sBAAsB;IACpE,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC;IAC9B,QAAQ,CAAC,eAAe,EAAE,MAAM,CAAC;IAEjC,YAAY,YAAY,EAAE,MAAM,EAI/B;CACJ;AAED,MAAM,WAAW,aAAa;IAC1B,QAAQ,CAAC,QAAQ,EAAE,wBAAwB,CAAC,UAAU,CAAC,CAAC;IACxD,QAAQ,CAAC,MAAM,EAAE,SAAS,YAAY,EAAE,CAAC;IACzC,QAAQ,CAAC,gBAAgB,EAAE,MAAM,CAAC;IAClC,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,OAAO,EAAE,iBAAiB,CAAC;IACpC,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,YAAY,EAAE,mBAAmB,CAAC;IAC3C,QAAQ,CAAC,eAAe,EAAE,sBAAsB,GAAG,IAAI,CAAC;IACxD,QAAQ,CAAC,QAAQ,EAAE,GAAG,CAAC;IACvB,2GAA2G;IAC3G,QAAQ,CAAC,kBAAkB,CAAC,EAAE,CAAC,OAAO,EAAE;QACpC,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;QAC3B,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;KAC5B,KAAK,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC;IACvC;;;;OAIG;IACH,QAAQ,CAAC,YAAY,CAAC,EAAE,CAAC,KAAK,EAAE,YAAY,EAAE,MAAM,EAAE,WAAW,KAAK,OAAO,CAAC,YAAY,CAAC,CAAC;IAC5F;;;OAGG;IACH,QAAQ,CAAC,gBAAgB,CAAC,EAAE,CAAC,MAAM,EAAE,WAAW,KAAK,OAAO,CAAC,SAAS,YAAY,EAAE,CAAC,CAAC;CACzF;AAED,MAAM,WAAW,uBAAuB;IACpC,QAAQ,CAAC,gBAAgB,EAAE,MAAM,CAAC;IAClC,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,QAAQ,EAAE,GAAG,CAAC;CAC1B;AAED,wBAAgB,mBAAmB,CAC/B,UAAU,EAAE,uBAAuB,EACnC,YAAY,EAAE,wBAAwB,EACtC,YAAY,EAAE,mBAAmB,EACjC,eAAe,GAAE,sBAAsB,GAAG,IAAW,EACrD,YAAY,CAAC,EAAE,aAAa,CAAC,cAAc,CAAC,EAC5C,gBAAgB,CAAC,EAAE,aAAa,CAAC,kBAAkB,CAAC,GACrD,aAAa,CAiBf"}
@@ -1,24 +1,18 @@
1
- import { join, resolve } from "node:path";
1
+ import { resolve } from "node:path";
2
2
  import { RUNTIME_WORKSPACE_BINDING_ID } from "@moxt-ai/mobius-sdk/protocol";
3
3
  import { LocalAgentCatalog } from "../agent/catalog.js";
4
- import { RuntimeAgentDependencies } from "../agent/runtime-agents.js";
5
- import { readStateDirectory } from "../storage/state-directory.js";
6
- /** The workspace new conversations use: `MOBIUS_DEFAULT_WORKSPACE`, or `workspace` in the Runtime's data directory. */
7
- export function loadDefaultWorkspace(dataDirectory, environment = process.env) {
8
- const { MOBIUS_DEFAULT_WORKSPACE: configuredWorkspace } = environment;
9
- return configuredWorkspace ?? join(dataDirectory, "workspace");
10
- }
11
4
  /**
12
5
  * Where a Runtime keeps its local data, and the environment it runs and launches Agents with. The data directory is
13
- * passed explicitly: the environment keeps the caller's MOBIUS_STATE_DIRECTORY, which names the CLI state root, so
14
- * Mobius run from an Agent addresses the same root as Mobius outside it.
6
+ * passed explicitly and never selected from the Agent launch environment.
15
7
  */
16
8
  export class RuntimeLocalContext {
17
- environment;
9
+ agentLaunchEnvironment;
18
10
  stateDirectory;
19
- constructor(stateDirectory, environment = process.env) {
11
+ maxAcpProcesses;
12
+ constructor(stateDirectory, agentLaunchEnvironment, maxAcpProcesses = 1000) {
20
13
  this.stateDirectory = resolve(stateDirectory);
21
- this.environment = Object.freeze({ ...environment });
14
+ this.agentLaunchEnvironment = Object.freeze({ ...agentLaunchEnvironment });
15
+ this.maxAcpProcesses = maxAcpProcesses;
22
16
  }
23
17
  }
24
18
  export function withRuntimeEnvironment(agent, environment) {
@@ -41,8 +35,8 @@ export class OpaqueRuntimeReconnectTarget extends RuntimeReconnectTarget {
41
35
  this.commandArgument = `--connection ${connectionId}`;
42
36
  }
43
37
  }
44
- export function createRuntimeConfig(connection, dependencies = new RuntimeAgentDependencies([]), localContext = new RuntimeLocalContext(readStateDirectory(), process.env), reconnectTarget = null, resolveAgent, rediscoverAgents) {
45
- const runtimeAgents = dependencies.agents.map((agent) => withRuntimeEnvironment(agent, localContext.environment));
38
+ export function createRuntimeConfig(connection, dependencies, localContext, reconnectTarget = null, resolveAgent, rediscoverAgents) {
39
+ const runtimeAgents = dependencies.agents.map((agent) => withRuntimeEnvironment(agent, localContext.agentLaunchEnvironment));
46
40
  return {
47
41
  adapters: dependencies.adapters,
48
42
  agents: runtimeAgents,
@@ -1 +1 @@
1
- {"version":3,"file":"config.js","sourceRoot":"","sources":["../../../src/engine/runtime/config.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"config.js","sourceRoot":"","sources":["../../../src/engine/runtime/config.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,4BAA4B,EAAE,MAAM,8BAA8B,CAAC;AAE5E,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AAGxD;;;GAGG;AACH,MAAM,OAAO,mBAAmB;IACnB,sBAAsB,CAA8B;IACpD,cAAc,CAAS;IACvB,eAAe,CAAS;IAEjC,YAAY,cAAsB,EAAE,sBAAmD,EAAE,eAAe,GAAG,IAAI;QAC3G,IAAI,CAAC,cAAc,GAAG,OAAO,CAAC,cAAc,CAAC,CAAC;QAC9C,IAAI,CAAC,sBAAsB,GAAG,MAAM,CAAC,MAAM,CAAC,EAAE,GAAG,sBAAsB,EAAE,CAAC,CAAC;QAC3E,IAAI,CAAC,eAAe,GAAG,eAAe,CAAC;IAC3C,CAAC;CACJ;AAED,MAAM,UAAU,sBAAsB,CAAC,KAAmB,EAAE,WAAwC;IAChG,MAAM,iBAAiB,GAA2B,EAAE,CAAC;IACrD,KAAK,MAAM,CAAC,IAAI,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,WAAW,CAAC,EAAE,CAAC;QACtD,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;YAC5B,iBAAiB,CAAC,IAAI,CAAC,GAAG,KAAK,CAAC;QACpC,CAAC;IACL,CAAC;IACD,OAAO,KAAK,CAAC,eAAe,CAAC,EAAE,GAAG,iBAAiB,EAAE,GAAG,KAAK,CAAC,WAAW,EAAE,CAAC,CAAC;AACjF,CAAC;AAED,MAAM,OAAgB,sBAAsB;CAE3C;AAED,MAAM,OAAO,4BAA6B,SAAQ,sBAAsB;IAC3D,YAAY,CAAS;IACrB,eAAe,CAAS;IAEjC,YAAY,YAAoB;QAC5B,KAAK,EAAE,CAAC;QACR,IAAI,CAAC,YAAY,GAAG,YAAY,CAAC;QACjC,IAAI,CAAC,eAAe,GAAG,gBAAgB,YAAY,EAAE,CAAC;IAC1D,CAAC;CACJ;AAoCD,MAAM,UAAU,mBAAmB,CAC/B,UAAmC,EACnC,YAAsC,EACtC,YAAiC,EACjC,eAAe,GAAkC,IAAI,EACrD,YAA4C,EAC5C,gBAAoD;IAEpD,MAAM,aAAa,GAAG,YAAY,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CACpD,sBAAsB,CAAC,KAAK,EAAE,YAAY,CAAC,sBAAsB,CAAC,CACrE,CAAC;IACF,OAAO;QACH,QAAQ,EAAE,YAAY,CAAC,QAAQ;QAC/B,MAAM,EAAE,aAAa;QACrB,gBAAgB,EAAE,UAAU,CAAC,gBAAgB;QAC7C,SAAS,EAAE,4BAA4B;QACvC,OAAO,EAAE,IAAI,iBAAiB,CAAC,aAAa,CAAC;QAC7C,SAAS,EAAE,UAAU,CAAC,SAAS;QAC/B,YAAY;QACZ,eAAe;QACf,QAAQ,EAAE,UAAU,CAAC,QAAQ;QAC7B,GAAG,CAAC,YAAY,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,YAAY,EAAE,CAAC;QACvD,GAAG,CAAC,gBAAgB,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,gBAAgB,EAAE,CAAC;KAClE,CAAC;AACN,CAAC"}
@@ -13,7 +13,6 @@ export declare class VerifiedRuntimeConnection {
13
13
  readonly kind = "verified";
14
14
  readonly activation: RuntimeConnectionActivation;
15
15
  readonly appId: string;
16
- readonly applicationId: string;
17
16
  readonly channelId: string;
18
17
  readonly connectionId: string;
19
18
  readonly defaultWorkspace: string;
@@ -22,6 +21,6 @@ export declare class VerifiedRuntimeConnection {
22
21
  readonly relayOrigin: URL;
23
22
  readonly runtimeCredential: string;
24
23
  readonly runtimeId: string;
25
- constructor(activation: RuntimeConnectionActivation, applicationId: string, appId: string, installationId: string, connectionId: string, channelId: string, defaultWorkspace: string, pairingId: string, relayOrigin: URL, runtimeCredential: string, runtimeId: string);
24
+ constructor(activation: RuntimeConnectionActivation, appId: string, installationId: string, connectionId: string, channelId: string, defaultWorkspace: string, pairingId: string, relayOrigin: URL, runtimeCredential: string, runtimeId: string);
26
25
  }
27
26
  //# sourceMappingURL=runtime-connection.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"runtime-connection.d.ts","sourceRoot":"","sources":["../../../../src/engine/runtime/connection/runtime-connection.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,sBAAsB;IACnC,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,gBAAgB,EAAE,MAAM,CAAC;IAClC,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,WAAW,EAAE,GAAG,CAAC;IAC1B,QAAQ,CAAC,iBAAiB,EAAE,MAAM,CAAC;IACnC,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;CAC9B;AAED,MAAM,MAAM,2BAA2B,GAAG,QAAQ,GAAG,SAAS,CAAC;AAE/D,gGAAgG;AAChG,qBAAa,yBAAyB;IAClC,QAAQ,CAAC,IAAI,cAAc;IAC3B,QAAQ,CAAC,UAAU,EAAE,2BAA2B,CAAC;IACjD,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,aAAa,EAAE,MAAM,CAAC;IAC/B,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC;IAC9B,QAAQ,CAAC,gBAAgB,EAAE,MAAM,CAAC;IAClC,QAAQ,CAAC,cAAc,EAAE,MAAM,CAAC;IAChC,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,WAAW,EAAE,GAAG,CAAC;IAC1B,QAAQ,CAAC,iBAAiB,EAAE,MAAM,CAAC;IAEnC,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAE3B,YACI,UAAU,EAAE,2BAA2B,EACvC,aAAa,EAAE,MAAM,EACrB,KAAK,EAAE,MAAM,EACb,cAAc,EAAE,MAAM,EACtB,YAAY,EAAE,MAAM,EACpB,SAAS,EAAE,MAAM,EACjB,gBAAgB,EAAE,MAAM,EACxB,SAAS,EAAE,MAAM,EACjB,WAAW,EAAE,GAAG,EAChB,iBAAiB,EAAE,MAAM,EACzB,SAAS,EAAE,MAAM,EAapB;CACJ"}
1
+ {"version":3,"file":"runtime-connection.d.ts","sourceRoot":"","sources":["../../../../src/engine/runtime/connection/runtime-connection.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,sBAAsB;IACnC,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,gBAAgB,EAAE,MAAM,CAAC;IAClC,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,WAAW,EAAE,GAAG,CAAC;IAC1B,QAAQ,CAAC,iBAAiB,EAAE,MAAM,CAAC;IACnC,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;CAC9B;AAED,MAAM,MAAM,2BAA2B,GAAG,QAAQ,GAAG,SAAS,CAAC;AAE/D,gGAAgG;AAChG,qBAAa,yBAAyB;IAClC,QAAQ,CAAC,IAAI,cAAc;IAC3B,QAAQ,CAAC,UAAU,EAAE,2BAA2B,CAAC;IACjD,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC;IAC9B,QAAQ,CAAC,gBAAgB,EAAE,MAAM,CAAC;IAClC,QAAQ,CAAC,cAAc,EAAE,MAAM,CAAC;IAChC,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,WAAW,EAAE,GAAG,CAAC;IAC1B,QAAQ,CAAC,iBAAiB,EAAE,MAAM,CAAC;IAEnC,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAE3B,YACI,UAAU,EAAE,2BAA2B,EACvC,KAAK,EAAE,MAAM,EACb,cAAc,EAAE,MAAM,EACtB,YAAY,EAAE,MAAM,EACpB,SAAS,EAAE,MAAM,EACjB,gBAAgB,EAAE,MAAM,EACxB,SAAS,EAAE,MAAM,EACjB,WAAW,EAAE,GAAG,EAChB,iBAAiB,EAAE,MAAM,EACzB,SAAS,EAAE,MAAM,EAYpB;CACJ"}
@@ -3,7 +3,6 @@ export class VerifiedRuntimeConnection {
3
3
  kind = "verified";
4
4
  activation;
5
5
  appId;
6
- applicationId;
7
6
  channelId;
8
7
  connectionId;
9
8
  defaultWorkspace;
@@ -12,9 +11,8 @@ export class VerifiedRuntimeConnection {
12
11
  relayOrigin;
13
12
  runtimeCredential;
14
13
  runtimeId;
15
- constructor(activation, applicationId, appId, installationId, connectionId, channelId, defaultWorkspace, pairingId, relayOrigin, runtimeCredential, runtimeId) {
14
+ constructor(activation, appId, installationId, connectionId, channelId, defaultWorkspace, pairingId, relayOrigin, runtimeCredential, runtimeId) {
16
15
  this.activation = activation;
17
- this.applicationId = applicationId;
18
16
  this.appId = appId;
19
17
  this.channelId = channelId;
20
18
  this.connectionId = connectionId;
@@ -1 +1 @@
1
- {"version":3,"file":"runtime-connection.js","sourceRoot":"","sources":["../../../../src/engine/runtime/connection/runtime-connection.ts"],"names":[],"mappings":"AAYA,gGAAgG;AAChG,MAAM,OAAO,yBAAyB;IACzB,IAAI,GAAG,UAAU,CAAC;IAClB,UAAU,CAA8B;IACxC,KAAK,CAAS;IACd,aAAa,CAAS;IACtB,SAAS,CAAS;IAClB,YAAY,CAAS;IACrB,gBAAgB,CAAS;IACzB,cAAc,CAAS;IACvB,SAAS,CAAS;IAClB,WAAW,CAAM;IACjB,iBAAiB,CAAS;IAE1B,SAAS,CAAS;IAE3B,YACI,UAAuC,EACvC,aAAqB,EACrB,KAAa,EACb,cAAsB,EACtB,YAAoB,EACpB,SAAiB,EACjB,gBAAwB,EACxB,SAAiB,EACjB,WAAgB,EAChB,iBAAyB,EACzB,SAAiB;QAEjB,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC;QAC7B,IAAI,CAAC,aAAa,GAAG,aAAa,CAAC;QACnC,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;QACnB,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;QAC3B,IAAI,CAAC,YAAY,GAAG,YAAY,CAAC;QACjC,IAAI,CAAC,gBAAgB,GAAG,gBAAgB,CAAC;QACzC,IAAI,CAAC,cAAc,GAAG,cAAc,CAAC;QACrC,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;QAC3B,IAAI,CAAC,WAAW,GAAG,WAAW,CAAC;QAC/B,IAAI,CAAC,iBAAiB,GAAG,iBAAiB,CAAC;QAC3C,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;IAC/B,CAAC;CACJ"}
1
+ {"version":3,"file":"runtime-connection.js","sourceRoot":"","sources":["../../../../src/engine/runtime/connection/runtime-connection.ts"],"names":[],"mappings":"AAYA,gGAAgG;AAChG,MAAM,OAAO,yBAAyB;IACzB,IAAI,GAAG,UAAU,CAAC;IAClB,UAAU,CAA8B;IACxC,KAAK,CAAS;IACd,SAAS,CAAS;IAClB,YAAY,CAAS;IACrB,gBAAgB,CAAS;IACzB,cAAc,CAAS;IACvB,SAAS,CAAS;IAClB,WAAW,CAAM;IACjB,iBAAiB,CAAS;IAE1B,SAAS,CAAS;IAE3B,YACI,UAAuC,EACvC,KAAa,EACb,cAAsB,EACtB,YAAoB,EACpB,SAAiB,EACjB,gBAAwB,EACxB,SAAiB,EACjB,WAAgB,EAChB,iBAAyB,EACzB,SAAiB;QAEjB,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC;QAC7B,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;QACnB,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;QAC3B,IAAI,CAAC,YAAY,GAAG,YAAY,CAAC;QACjC,IAAI,CAAC,gBAAgB,GAAG,gBAAgB,CAAC;QACzC,IAAI,CAAC,cAAc,GAAG,cAAc,CAAC;QACrC,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;QAC3B,IAAI,CAAC,WAAW,GAAG,WAAW,CAAC;QAC/B,IAAI,CAAC,iBAAiB,GAAG,iBAAiB,CAAC;QAC3C,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;IAC/B,CAAC;CACJ"}
@@ -1,23 +1,19 @@
1
1
  import { type InstallationDirectory } from "../../storage/installation/installation-files.ts";
2
2
  import { type RuntimeConnectionActivation, type RuntimeConnectionInput, VerifiedRuntimeConnection } from "./runtime-connection.ts";
3
- export interface RuntimeInstallationStoreOptions {
4
- readonly applicationId: string;
5
- readonly stateDirectory: string;
6
- }
7
3
  export declare class RuntimeInstallationStoreError extends Error {
8
4
  readonly code: string;
9
5
  constructor(code: string, message: string, options?: ErrorOptions);
10
6
  }
11
7
  export declare class RuntimeInstallationStore {
12
8
  #private;
13
- readonly applicationId: string;
14
9
  readonly installationId: string;
15
10
  readonly stateDirectory: InstallationDirectory;
16
11
  private constructor();
17
- static readonly open: (options: RuntimeInstallationStoreOptions, signal: AbortSignal) => Promise<RuntimeInstallationStore>;
12
+ static readonly open: (engineDataDir: string, signal: AbortSignal) => Promise<RuntimeInstallationStore>;
18
13
  readonly connectionPath: (connectionId: string) => string;
19
14
  private readonly channelIndexPath;
20
15
  readonly readConnection: (connectionId: string, signal: AbortSignal) => Promise<VerifiedRuntimeConnection>;
16
+ private readonly decodeOwnedConnection;
21
17
  readonly saveConnection: (input: RuntimeConnectionInput, signal: AbortSignal) => Promise<VerifiedRuntimeConnection>;
22
18
  private readonly writeConnection;
23
19
  readonly listConnections: (signal: AbortSignal) => Promise<readonly VerifiedRuntimeConnection[]>;
@@ -26,5 +22,6 @@ export declare class RuntimeInstallationStore {
26
22
  readonly removeConnection: (connectionId: string, signal: AbortSignal) => Promise<void>;
27
23
  private readonly overwriteConnection;
28
24
  }
29
- export declare function openRuntimeInstallationStore(options: RuntimeInstallationStoreOptions, signal: AbortSignal): Promise<RuntimeInstallationStore>;
25
+ export declare function openRuntimeInstallationStore(engineDataDir: string, signal: AbortSignal): Promise<RuntimeInstallationStore>;
26
+ export declare function openEngineInstallationStore(engineDataDir: string, signal: AbortSignal): Promise<RuntimeInstallationStore>;
30
27
  //# sourceMappingURL=runtime-installation-store.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"runtime-installation-store.d.ts","sourceRoot":"","sources":["../../../../src/engine/runtime/connection/runtime-installation-store.ts"],"names":[],"mappings":"AAIA,OAAO,EAMH,KAAK,qBAAqB,EAO7B,MAAM,kDAAkD,CAAC;AAG1D,OAAO,EACH,KAAK,2BAA2B,EAChC,KAAK,sBAAsB,EAC3B,yBAAyB,EAC5B,MAAM,yBAAyB,CAAC;AA8BjC,MAAM,WAAW,+BAA+B;IAC5C,QAAQ,CAAC,aAAa,EAAE,MAAM,CAAC;IAC/B,QAAQ,CAAC,cAAc,EAAE,MAAM,CAAC;CACnC;AAED,qBAAa,6BAA8B,SAAQ,KAAK;IACpD,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IAEtB,YAAY,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO,GAAE,YAAiB,EAIpE;CACJ;AAoOD,qBAAa,wBAAwB;;IACjC,QAAQ,CAAC,aAAa,EAAE,MAAM,CAAC;IAC/B,QAAQ,CAAC,cAAc,EAAE,MAAM,CAAC;IAChC,QAAQ,CAAC,cAAc,EAAE,qBAAqB,CAAC;IAG/C,OAAO,eAKN;IAED,MAAM,CAAC,QAAQ,CAAC,IAAI,YACP,+BAA+B,UAChC,WAAW,KACpB,OAAO,CAAC,wBAAwB,CAAC,CAiClC;IAEF,QAAQ,CAAC,cAAc,iBAAkB,MAAM,KAAG,MAAM,CAC8B;IAEtF,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CACkE;IAEnG,QAAQ,CAAC,cAAc,iBAAwB,MAAM,UAAU,WAAW,KAAG,OAAO,CAAC,yBAAyB,CAAC,CAW7G;IAuBF,QAAQ,CAAC,cAAc,UACZ,sBAAsB,UACrB,WAAW,KACpB,OAAO,CAAC,yBAAyB,CAAC,CAgBnC;IAEF,OAAO,CAAC,QAAQ,CAAC,eAAe,CA4B9B;IAEF,QAAQ,CAAC,eAAe,WAAkB,WAAW,KAAG,OAAO,CAAC,SAAS,yBAAyB,EAAE,CAAC,CA0BnG;IAEF,QAAQ,CAAC,wBAAwB,cAClB,MAAM,UACT,WAAW,KACpB,OAAO,CAAC,yBAAyB,GAAG,IAAI,CAAC,CAI1C;IAEF,QAAQ,CAAC,uBAAuB,iBACd,MAAM,cACR,2BAA2B,UAC/B,WAAW,KACpB,OAAO,CAAC,yBAAyB,CAAC,CAiBnC;IAEF,QAAQ,CAAC,gBAAgB,iBAAwB,MAAM,UAAU,WAAW,KAAG,OAAO,CAAC,IAAI,CAAC,CAkB1F;IAEF,OAAO,CAAC,QAAQ,CAAC,mBAAmB,CAwBlC;CACL;AAgCD,wBAAsB,4BAA4B,CAC9C,OAAO,EAAE,+BAA+B,EACxC,MAAM,EAAE,WAAW,GACpB,OAAO,CAAC,wBAAwB,CAAC,CAEnC"}
1
+ {"version":3,"file":"runtime-installation-store.d.ts","sourceRoot":"","sources":["../../../../src/engine/runtime/connection/runtime-installation-store.ts"],"names":[],"mappings":"AAIA,OAAO,EAKH,KAAK,qBAAqB,EAO7B,MAAM,kDAAkD,CAAC;AAG1D,OAAO,EACH,KAAK,2BAA2B,EAChC,KAAK,sBAAsB,EAC3B,yBAAyB,EAC5B,MAAM,yBAAyB,CAAC;AAsBjC,qBAAa,6BAA8B,SAAQ,KAAK;IACpD,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IAEtB,YAAY,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO,GAAE,YAAiB,EAIpE;CACJ;AAmOD,qBAAa,wBAAwB;;IACjC,QAAQ,CAAC,cAAc,EAAE,MAAM,CAAC;IAChC,QAAQ,CAAC,cAAc,EAAE,qBAAqB,CAAC;IAG/C,OAAO,eAIN;IAED,MAAM,CAAC,QAAQ,CAAC,IAAI,kBAAyB,MAAM,UAAU,WAAW,KAAG,OAAO,CAAC,wBAAwB,CAAC,CA8B1G;IAEF,QAAQ,CAAC,cAAc,iBAAkB,MAAM,KAAG,MAAM,CAC8B;IAEtF,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CACkE;IAEnG,QAAQ,CAAC,cAAc,iBAAwB,MAAM,UAAU,WAAW,KAAG,OAAO,CAAC,yBAAyB,CAAC,CAI7G;IAEF,OAAO,CAAC,QAAQ,CAAC,qBAAqB,CASpC;IAmBF,QAAQ,CAAC,cAAc,UACZ,sBAAsB,UACrB,WAAW,KACpB,OAAO,CAAC,yBAAyB,CAAC,CAenC;IAEF,OAAO,CAAC,QAAQ,CAAC,eAAe,CA2B9B;IAEF,QAAQ,CAAC,eAAe,WAAkB,WAAW,KAAG,OAAO,CAAC,SAAS,yBAAyB,EAAE,CAAC,CA0BnG;IAEF,QAAQ,CAAC,wBAAwB,cAClB,MAAM,UACT,WAAW,KACpB,OAAO,CAAC,yBAAyB,GAAG,IAAI,CAAC,CAI1C;IAEF,QAAQ,CAAC,uBAAuB,iBACd,MAAM,cACR,2BAA2B,UAC/B,WAAW,KACpB,OAAO,CAAC,yBAAyB,CAAC,CAwBnC;IAEF,QAAQ,CAAC,gBAAgB,iBAAwB,MAAM,UAAU,WAAW,KAAG,OAAO,CAAC,IAAI,CAAC,CAkB1F;IAEF,OAAO,CAAC,QAAQ,CAAC,mBAAmB,CAuBlC;CACL;AAgCD,wBAAsB,4BAA4B,CAC9C,aAAa,EAAE,MAAM,EACrB,MAAM,EAAE,WAAW,GACpB,OAAO,CAAC,wBAAwB,CAAC,CAEnC;AAED,wBAAsB,2BAA2B,CAC7C,aAAa,EAAE,MAAM,EACrB,MAAM,EAAE,WAAW,GACpB,OAAO,CAAC,wBAAwB,CAAC,CAEnC"}
@@ -2,26 +2,18 @@ import { randomUUID } from "node:crypto";
2
2
  import { resolve } from "node:path";
3
3
  import { isIdentifier } from "@moxt-ai/mobius-sdk/protocol";
4
4
  import { ensurePrivateDirectory } from "../../storage/files/local-files.js";
5
- import { applicationDirectory as applicationDirectoryPath, channelIndexFilePath, connectionDirectory, connectionFilePath, createInstallationFile, installationDirectory, installationPointerPath, listInstallationFiles, readInstallationFile, removeInstallationFile, writeInstallationFile, } from "../../storage/installation/installation-files.js";
5
+ import { channelIndexFilePath, connectionDirectory, connectionFilePath, createInstallationFile, installationDirectory, installationPointerPath, listInstallationFiles, readInstallationFile, removeInstallationFile, writeInstallationFile, } from "../../storage/installation/installation-files.js";
6
6
  import { validateLocalPath } from "../../util/filesystem/private-path.js";
7
7
  import { isNodeError } from "../../util/node-error.js";
8
8
  import { VerifiedRuntimeConnection, } from "./runtime-connection.js";
9
- const APPLICATION_ID_PATTERN = /^[a-z][a-z0-9]*(?:[.-][a-z0-9]+){1,31}$/;
10
9
  const CONNECTION_ID_PATTERN = /^mcn_[a-f0-9]{32}$/;
11
10
  const INSTALLATION_ID_PATTERN = /^min_[a-f0-9]{32}$/;
12
11
  const RUNTIME_CREDENTIAL_PATTERN = /^[a-zA-Z0-9_-]{32,256}$/;
13
12
  const INSTALLATION_POINTER_KEYS = ["installationId", "version"];
14
- const CHANNEL_INDEX_KEYS = [
15
- "applicationId",
16
- "channelId",
17
- "connectionId",
18
- "installationId",
19
- "version",
20
- ];
13
+ const CHANNEL_INDEX_KEYS = ["channelId", "connectionId", "installationId", "version"];
21
14
  const VERIFIED_CONNECTION_KEYS = [
22
15
  "activation",
23
16
  "appId",
24
- "applicationId",
25
17
  "channelId",
26
18
  "connectionId",
27
19
  "defaultWorkspace",
@@ -48,12 +40,6 @@ function hasExactKeys(value, expectedKeys) {
48
40
  const keys = Object.keys(value);
49
41
  return keys.length === expectedKeys.length && expectedKeys.every((key) => Object.hasOwn(value, key));
50
42
  }
51
- function validateApplicationId(value) {
52
- if (!APPLICATION_ID_PATTERN.test(value)) {
53
- throw new RuntimeInstallationStoreError("invalid_application_id", "The application ID is invalid");
54
- }
55
- return value;
56
- }
57
43
  function validateRemoteAppId(value) {
58
44
  if (!isIdentifier(value)) {
59
45
  throw new RuntimeInstallationStoreError("invalid_app_id", "The remote App ID is invalid");
@@ -121,32 +107,37 @@ function decodeInstallationPointer(value) {
121
107
  }
122
108
  return { installationId: validateInstallationId(storedInstallationId) };
123
109
  }
124
- function decodeChannelIndex(value) {
125
- if (!isRecord(value) || !hasExactKeys(value, CHANNEL_INDEX_KEYS) || value["version"] !== 1) {
110
+ // Previous disk versions carried extra fields. Retain only fields this reader owns;
111
+ // current versions still require the exact schema below.
112
+ function retainedFields(value, keys) {
113
+ return Object.fromEntries(keys.filter((key) => Object.hasOwn(value, key)).map((key) => [key, value[key]]));
114
+ }
115
+ function decodeChannelIndex(input) {
116
+ if (!isRecord(input)) {
117
+ throw new RuntimeInstallationStoreError("invalid_connection", "The saved Runtime connection is invalid");
118
+ }
119
+ const value = input["version"] === 1 ? retainedFields(input, CHANNEL_INDEX_KEYS) : input;
120
+ if (!hasExactKeys(value, CHANNEL_INDEX_KEYS) || (value["version"] !== 1 && value["version"] !== 2)) {
126
121
  throw new RuntimeInstallationStoreError("invalid_connection", "The saved Runtime connection is invalid");
127
122
  }
128
- const applicationId = value["applicationId"];
129
123
  const channelId = value["channelId"];
130
124
  const connectionId = value["connectionId"];
131
125
  const storedInstallationId = value["installationId"];
132
- if (typeof applicationId !== "string" ||
133
- typeof channelId !== "string" ||
134
- typeof connectionId !== "string" ||
135
- typeof storedInstallationId !== "string") {
126
+ if (typeof channelId !== "string" || typeof connectionId !== "string" || typeof storedInstallationId !== "string") {
136
127
  throw new RuntimeInstallationStoreError("invalid_connection", "The saved Runtime connection is invalid");
137
128
  }
138
129
  return {
139
- applicationId: validateApplicationId(applicationId),
140
130
  channelId: validateIdentifier(channelId, "invalid_connection"),
141
131
  connectionId: validateConnectionId(connectionId),
142
132
  installationId: validateInstallationId(storedInstallationId),
143
133
  };
144
134
  }
145
135
  function decodeVerifiedConnection(value) {
146
- if (!hasExactKeys(value, VERIFIED_CONNECTION_KEYS) || value["version"] !== 5 || value["kind"] !== "verified") {
136
+ if (!hasExactKeys(value, VERIFIED_CONNECTION_KEYS) ||
137
+ (value["version"] !== 5 && value["version"] !== 6) ||
138
+ value["kind"] !== "verified") {
147
139
  throw new RuntimeInstallationStoreError("invalid_connection", "The saved Runtime connection is invalid");
148
140
  }
149
- const applicationId = value["applicationId"];
150
141
  const activation = value["activation"];
151
142
  const appId = value["appId"];
152
143
  const channelId = value["channelId"];
@@ -157,8 +148,7 @@ function decodeVerifiedConnection(value) {
157
148
  const relayOrigin = value["relayOrigin"];
158
149
  const runtimeCredential = value["runtimeCredential"];
159
150
  const runtimeId = value["runtimeId"];
160
- if (typeof applicationId !== "string" ||
161
- (activation !== "active" && activation !== "stopped") ||
151
+ if ((activation !== "active" && activation !== "stopped") ||
162
152
  typeof appId !== "string" ||
163
153
  typeof channelId !== "string" ||
164
154
  typeof connectionId !== "string" ||
@@ -170,13 +160,13 @@ function decodeVerifiedConnection(value) {
170
160
  typeof runtimeId !== "string") {
171
161
  throw new RuntimeInstallationStoreError("invalid_connection", "The saved Runtime connection is invalid");
172
162
  }
173
- return new VerifiedRuntimeConnection(activation, validateApplicationId(applicationId), validateRemoteAppId(appId), validateInstallationId(storedInstallationId), validateConnectionId(connectionId), validateIdentifier(channelId, "invalid_connection"), defaultWorkspace, pairingId.length === 0 ? "" : validateIdentifier(pairingId, "invalid_connection"), parseRelayOrigin(relayOrigin), validateRuntimeCredential(runtimeCredential), validateIdentifier(runtimeId, "invalid_connection"));
163
+ return new VerifiedRuntimeConnection(activation, validateRemoteAppId(appId), validateInstallationId(storedInstallationId), validateConnectionId(connectionId), validateIdentifier(channelId, "invalid_connection"), defaultWorkspace, pairingId.length === 0 ? "" : validateIdentifier(pairingId, "invalid_connection"), parseRelayOrigin(relayOrigin), validateRuntimeCredential(runtimeCredential), validateIdentifier(runtimeId, "invalid_connection"));
174
164
  }
175
165
  function decodeConnection(value) {
176
166
  if (!isRecord(value)) {
177
167
  throw new RuntimeInstallationStoreError("invalid_connection", "The saved Runtime connection is invalid");
178
168
  }
179
- return decodeVerifiedConnection(value);
169
+ return decodeVerifiedConnection(value["version"] === 5 ? retainedFields(value, VERIFIED_CONNECTION_KEYS) : value);
180
170
  }
181
171
  async function readJsonFile(path, signal, missingCode) {
182
172
  signal.throwIfAborted();
@@ -217,33 +207,28 @@ async function writeJsonAtomically(path, value, signal) {
217
207
  }
218
208
  }
219
209
  export class RuntimeInstallationStore {
220
- applicationId;
221
210
  installationId;
222
211
  stateDirectory;
223
212
  #connectionDirectory;
224
- constructor(applicationId, installationId, stateDirectory) {
225
- this.applicationId = applicationId;
213
+ constructor(installationId, stateDirectory) {
226
214
  this.installationId = installationId;
227
215
  this.stateDirectory = stateDirectory;
228
216
  this.#connectionDirectory = connectionDirectory(stateDirectory);
229
217
  }
230
- static open = async (options, signal) => {
218
+ static open = async (engineDataDir, signal) => {
231
219
  signal.throwIfAborted();
232
- const applicationId = validateApplicationId(options.applicationId);
233
- const rootDirectory = resolve(options.stateDirectory);
234
- const applicationDirectory = applicationDirectoryPath(rootDirectory, applicationId);
220
+ const dataDirectory = resolve(engineDataDir);
235
221
  try {
236
- await ensurePrivateDirectory(rootDirectory);
237
- await validateLocalPath(rootDirectory, true, true, signal);
238
- await ensurePrivateDirectory(applicationDirectory);
222
+ await ensurePrivateDirectory(dataDirectory);
223
+ await validateLocalPath(dataDirectory, true, true, signal);
239
224
  }
240
225
  catch (cause) {
241
226
  throw new RuntimeInstallationStoreError("installation_unavailable", "The local installation cannot be initialized", {
242
227
  cause,
243
228
  });
244
229
  }
245
- const storedInstallationId = await readOrCreateInstallationId(applicationDirectory, signal);
246
- const stateDirectory = installationDirectory(applicationDirectory, storedInstallationId);
230
+ const storedInstallationId = await readOrCreateInstallationId(dataDirectory, signal);
231
+ const stateDirectory = installationDirectory(dataDirectory, storedInstallationId);
247
232
  try {
248
233
  await ensurePrivateDirectory(stateDirectory);
249
234
  }
@@ -253,13 +238,16 @@ export class RuntimeInstallationStore {
253
238
  });
254
239
  }
255
240
  signal.throwIfAborted();
256
- return new RuntimeInstallationStore(applicationId, storedInstallationId, stateDirectory);
241
+ return new RuntimeInstallationStore(storedInstallationId, stateDirectory);
257
242
  };
258
243
  connectionPath = (connectionId) => connectionFilePath(this.#connectionDirectory, validateConnectionId(connectionId));
259
244
  channelIndexPath = (channelId) => channelIndexFilePath(this.stateDirectory, validateIdentifier(channelId, "invalid_channel_id"));
260
245
  readConnection = async (connectionId, signal) => {
261
- const stored = decodeConnection(await readJsonFile(this.connectionPath(connectionId), signal, "connection_not_found"));
262
- if (stored.applicationId !== this.applicationId || stored.installationId !== this.installationId) {
246
+ return this.decodeOwnedConnection(await readJsonFile(this.connectionPath(connectionId), signal, "connection_not_found"));
247
+ };
248
+ decodeOwnedConnection = (record) => {
249
+ const stored = decodeConnection(record);
250
+ if (stored.installationId !== this.installationId) {
263
251
  throw new RuntimeInstallationStoreError("connection_owner_mismatch", "The saved Runtime connection belongs to another installation");
264
252
  }
265
253
  return stored;
@@ -267,15 +255,13 @@ export class RuntimeInstallationStore {
267
255
  #readConnectionForChannel = async (channelId, signal) => {
268
256
  const normalizedChannelId = validateIdentifier(channelId, "invalid_channel_id");
269
257
  const index = decodeChannelIndex(await readJsonFile(this.channelIndexPath(normalizedChannelId), signal, "connection_not_found"));
270
- if (index.applicationId !== this.applicationId ||
271
- index.installationId !== this.installationId ||
272
- index.channelId !== normalizedChannelId) {
258
+ if (index.installationId !== this.installationId || index.channelId !== normalizedChannelId) {
273
259
  throw new RuntimeInstallationStoreError("connection_owner_mismatch", "The saved Runtime connection belongs to another installation");
274
260
  }
275
261
  return await this.readConnection(index.connectionId, signal);
276
262
  };
277
263
  saveConnection = async (input, signal) => {
278
- const stored = new VerifiedRuntimeConnection("active", this.applicationId, validateRemoteAppId(input.appId), this.installationId, connectionId(), validateIdentifier(input.channelId, "invalid_connection"), input.defaultWorkspace, input.pairingId.length === 0 ? "" : validateIdentifier(input.pairingId, "invalid_pairing_id"), parseRelayOrigin(input.relayOrigin.toString()), validateRuntimeCredential(input.runtimeCredential), validateIdentifier(input.runtimeId, "invalid_connection"));
264
+ const stored = new VerifiedRuntimeConnection("active", validateRemoteAppId(input.appId), this.installationId, connectionId(), validateIdentifier(input.channelId, "invalid_connection"), input.defaultWorkspace, input.pairingId.length === 0 ? "" : validateIdentifier(input.pairingId, "invalid_pairing_id"), parseRelayOrigin(input.relayOrigin.toString()), validateRuntimeCredential(input.runtimeCredential), validateIdentifier(input.runtimeId, "invalid_connection"));
279
265
  await this.writeConnection(stored, signal);
280
266
  return stored;
281
267
  };
@@ -292,11 +278,10 @@ export class RuntimeInstallationStore {
292
278
  }
293
279
  await this.overwriteConnection(stored, signal);
294
280
  await writeJsonAtomically(this.channelIndexPath(stored.channelId), {
295
- applicationId: this.applicationId,
296
281
  channelId: stored.channelId,
297
282
  connectionId: stored.connectionId,
298
283
  installationId: this.installationId,
299
- version: 1,
284
+ version: 2,
300
285
  }, signal);
301
286
  };
302
287
  listConnections = async (signal) => {
@@ -329,9 +314,18 @@ export class RuntimeInstallationStore {
329
314
  return connections.find((connection) => connection.pairingId === normalizedPairingId) ?? null;
330
315
  };
331
316
  setConnectionActivation = async (connectionId, activation, signal) => {
332
- const connection = await this.readConnection(connectionId, signal);
333
- const updated = new VerifiedRuntimeConnection(activation, connection.applicationId, connection.appId, connection.installationId, connection.connectionId, connection.channelId, connection.defaultWorkspace, connection.pairingId, connection.relayOrigin, connection.runtimeCredential, connection.runtimeId);
334
- await this.overwriteConnection(updated, signal);
317
+ const record = await readJsonFile(this.connectionPath(connectionId), signal, "connection_not_found");
318
+ const connection = this.decodeOwnedConnection(record);
319
+ const updated = new VerifiedRuntimeConnection(activation, connection.appId, connection.installationId, connection.connectionId, connection.channelId, connection.defaultWorkspace, connection.pairingId, connection.relayOrigin, connection.runtimeCredential, connection.runtimeId);
320
+ if (isRecord(record) && record["version"] === 5) {
321
+ // A newly installed CLI can still be controlling an older live Worker.
322
+ // Change only activation in its record, retaining opaque legacy metadata
323
+ // (including applicationId) without making it part of Engine identity.
324
+ await writeJsonAtomically(this.connectionPath(connectionId), { ...record, activation }, signal);
325
+ }
326
+ else {
327
+ await this.overwriteConnection(updated, signal);
328
+ }
335
329
  return updated;
336
330
  };
337
331
  removeConnection = async (connectionId, signal) => {
@@ -354,7 +348,6 @@ export class RuntimeInstallationStore {
354
348
  const connectionPath = this.connectionPath(connection.connectionId);
355
349
  await writeJsonAtomically(connectionPath, {
356
350
  activation: connection.activation,
357
- applicationId: connection.applicationId,
358
351
  appId: connection.appId,
359
352
  channelId: connection.channelId,
360
353
  connectionId: connection.connectionId,
@@ -365,12 +358,12 @@ export class RuntimeInstallationStore {
365
358
  relayOrigin: connection.relayOrigin.toString(),
366
359
  runtimeCredential: connection.runtimeCredential,
367
360
  runtimeId: connection.runtimeId,
368
- version: 5,
361
+ version: 6,
369
362
  }, signal);
370
363
  };
371
364
  }
372
- async function readOrCreateInstallationId(applicationDirectory, signal) {
373
- const pointerPath = installationPointerPath(applicationDirectory);
365
+ async function readOrCreateInstallationId(engineDataDir, signal) {
366
+ const pointerPath = installationPointerPath(engineDataDir);
374
367
  try {
375
368
  return decodeInstallationPointer(await readJsonFile(pointerPath, signal, "installation_not_found"))
376
369
  .installationId;
@@ -395,7 +388,10 @@ async function readOrCreateInstallationId(applicationDirectory, signal) {
395
388
  .installationId;
396
389
  }
397
390
  }
398
- export async function openRuntimeInstallationStore(options, signal) {
399
- return await RuntimeInstallationStore.open(options, signal);
391
+ export async function openRuntimeInstallationStore(engineDataDir, signal) {
392
+ return await RuntimeInstallationStore.open(engineDataDir, signal);
393
+ }
394
+ export async function openEngineInstallationStore(engineDataDir, signal) {
395
+ return await RuntimeInstallationStore.open(engineDataDir, signal);
400
396
  }
401
397
  //# sourceMappingURL=runtime-installation-store.js.map