@noodleseed/one 0.8.0 → 0.11.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 (277) hide show
  1. package/dist/cli.d.ts.map +1 -1
  2. package/dist/cli.js +16 -4
  3. package/dist/cli.js.map +1 -1
  4. package/dist/commands/archive-ops.d.ts +3 -0
  5. package/dist/commands/archive-ops.d.ts.map +1 -0
  6. package/dist/commands/archive-ops.js +168 -0
  7. package/dist/commands/archive-ops.js.map +1 -0
  8. package/dist/commands/author-loop.d.ts.map +1 -1
  9. package/dist/commands/author-loop.js +78 -3
  10. package/dist/commands/author-loop.js.map +1 -1
  11. package/dist/commands/deploy-ops.d.ts +1 -30
  12. package/dist/commands/deploy-ops.d.ts.map +1 -1
  13. package/dist/commands/deploy-ops.js +55 -87
  14. package/dist/commands/deploy-ops.js.map +1 -1
  15. package/dist/commands/deploy-output.d.ts +31 -0
  16. package/dist/commands/deploy-output.d.ts.map +1 -0
  17. package/dist/commands/deploy-output.js +86 -0
  18. package/dist/commands/deploy-output.js.map +1 -0
  19. package/dist/commands/deploy-version-resolution.d.ts +20 -0
  20. package/dist/commands/deploy-version-resolution.d.ts.map +1 -0
  21. package/dist/commands/deploy-version-resolution.js +77 -0
  22. package/dist/commands/deploy-version-resolution.js.map +1 -0
  23. package/dist/commands/docs-mcp.d.ts +32 -0
  24. package/dist/commands/docs-mcp.d.ts.map +1 -0
  25. package/dist/commands/docs-mcp.js +66 -0
  26. package/dist/commands/docs-mcp.js.map +1 -0
  27. package/dist/commands/mcp-apps.d.ts.map +1 -1
  28. package/dist/commands/mcp-apps.js +38 -37
  29. package/dist/commands/mcp-apps.js.map +1 -1
  30. package/dist/commands/org-admin.d.ts +17 -0
  31. package/dist/commands/org-admin.d.ts.map +1 -0
  32. package/dist/commands/org-admin.js +241 -0
  33. package/dist/commands/org-admin.js.map +1 -0
  34. package/dist/commands/policy-ops.d.ts.map +1 -1
  35. package/dist/commands/policy-ops.js +94 -1
  36. package/dist/commands/policy-ops.js.map +1 -1
  37. package/dist/commands/project-setup.d.ts.map +1 -1
  38. package/dist/commands/project-setup.js +29 -0
  39. package/dist/commands/project-setup.js.map +1 -1
  40. package/dist/commands/session.d.ts +1 -15
  41. package/dist/commands/session.d.ts.map +1 -1
  42. package/dist/commands/session.js +15 -170
  43. package/dist/commands/session.js.map +1 -1
  44. package/dist/commands/shared.d.ts +1 -0
  45. package/dist/commands/shared.d.ts.map +1 -1
  46. package/dist/commands/shared.js +21 -9
  47. package/dist/commands/shared.js.map +1 -1
  48. package/dist/commands/update-ops.d.ts +29 -0
  49. package/dist/commands/update-ops.d.ts.map +1 -0
  50. package/dist/commands/update-ops.js +315 -0
  51. package/dist/commands/update-ops.js.map +1 -0
  52. package/dist/config.d.ts +2 -0
  53. package/dist/config.d.ts.map +1 -1
  54. package/dist/config.js.map +1 -1
  55. package/dist/deploy-version.d.ts +3 -0
  56. package/dist/deploy-version.d.ts.map +1 -0
  57. package/dist/deploy-version.js +28 -0
  58. package/dist/deploy-version.js.map +1 -0
  59. package/dist/deploy.d.ts +5 -1
  60. package/dist/deploy.d.ts.map +1 -1
  61. package/dist/deploy.js +27 -3
  62. package/dist/deploy.js.map +1 -1
  63. package/dist/devtools-chat.d.ts +76 -0
  64. package/dist/devtools-chat.d.ts.map +1 -0
  65. package/dist/devtools-chat.js +114 -0
  66. package/dist/devtools-chat.js.map +1 -0
  67. package/dist/devtools-env.d.ts +16 -0
  68. package/dist/devtools-env.d.ts.map +1 -0
  69. package/dist/devtools-env.js +71 -0
  70. package/dist/devtools-env.js.map +1 -0
  71. package/dist/devtools-harness.d.ts +28 -0
  72. package/dist/devtools-harness.d.ts.map +1 -0
  73. package/dist/devtools-harness.js +387 -0
  74. package/dist/devtools-harness.js.map +1 -0
  75. package/dist/devtools-preview.d.ts +42 -0
  76. package/dist/devtools-preview.d.ts.map +1 -0
  77. package/dist/devtools-preview.js +394 -0
  78. package/dist/devtools-preview.js.map +1 -0
  79. package/dist/preview-session.d.ts +46 -0
  80. package/dist/preview-session.d.ts.map +1 -0
  81. package/dist/preview-session.js +132 -0
  82. package/dist/preview-session.js.map +1 -0
  83. package/dist/project.d.ts +2 -0
  84. package/dist/project.d.ts.map +1 -1
  85. package/dist/project.js +2 -0
  86. package/dist/project.js.map +1 -1
  87. package/dist/react-widget-build.js +3 -1
  88. package/dist/react-widget-build.js.map +1 -1
  89. package/dist/update-binary.d.ts +38 -0
  90. package/dist/update-binary.d.ts.map +1 -0
  91. package/dist/update-binary.js +144 -0
  92. package/dist/update-binary.js.map +1 -0
  93. package/dist/update-check.d.ts +40 -0
  94. package/dist/update-check.d.ts.map +1 -0
  95. package/dist/update-check.js +212 -0
  96. package/dist/update-check.js.map +1 -0
  97. package/dist/update-render.d.ts +17 -0
  98. package/dist/update-render.d.ts.map +1 -0
  99. package/dist/update-render.js +39 -0
  100. package/dist/update-render.js.map +1 -0
  101. package/dist/update.d.ts +10 -9
  102. package/dist/update.d.ts.map +1 -1
  103. package/dist/update.js +21 -89
  104. package/dist/update.js.map +1 -1
  105. package/node_modules/@noodle-borg/agent-kit/dist/curated/command-groups.d.ts.map +1 -1
  106. package/node_modules/@noodle-borg/agent-kit/dist/curated/command-groups.js +13 -1
  107. package/node_modules/@noodle-borg/agent-kit/dist/curated/command-groups.js.map +1 -1
  108. package/node_modules/@noodle-borg/agent-kit/dist/generated/surface.d.ts.map +1 -1
  109. package/node_modules/@noodle-borg/agent-kit/dist/generated/surface.js +2 -0
  110. package/node_modules/@noodle-borg/agent-kit/dist/generated/surface.js.map +1 -1
  111. package/node_modules/@noodle-borg/agent-kit/package.json +1 -1
  112. package/node_modules/@noodle-borg/connector-defs/dist/compile-expr.d.ts +23 -0
  113. package/node_modules/@noodle-borg/connector-defs/dist/compile-expr.d.ts.map +1 -0
  114. package/node_modules/@noodle-borg/connector-defs/dist/compile-expr.js +41 -0
  115. package/node_modules/@noodle-borg/connector-defs/dist/compile-expr.js.map +1 -0
  116. package/node_modules/@noodle-borg/connector-defs/dist/compile.d.ts +2 -6
  117. package/node_modules/@noodle-borg/connector-defs/dist/compile.d.ts.map +1 -1
  118. package/node_modules/@noodle-borg/connector-defs/dist/compile.js +10 -32
  119. package/node_modules/@noodle-borg/connector-defs/dist/compile.js.map +1 -1
  120. package/node_modules/@noodle-borg/connector-defs/dist/schema.d.ts +16 -0
  121. package/node_modules/@noodle-borg/connector-defs/dist/schema.d.ts.map +1 -1
  122. package/node_modules/@noodle-borg/connector-defs/dist/schema.js +6 -0
  123. package/node_modules/@noodle-borg/connector-defs/dist/schema.js.map +1 -1
  124. package/node_modules/@noodle-borg/connector-http/dist/http-connector.d.ts +7 -0
  125. package/node_modules/@noodle-borg/connector-http/dist/http-connector.d.ts.map +1 -1
  126. package/node_modules/@noodle-borg/connector-http/dist/http-connector.js +14 -5
  127. package/node_modules/@noodle-borg/connector-http/dist/http-connector.js.map +1 -1
  128. package/node_modules/@noodle-borg/module/dist/contract.d.ts +12 -0
  129. package/node_modules/@noodle-borg/module/dist/contract.d.ts.map +1 -1
  130. package/node_modules/@noodle-borg/module/dist/contract.js +41 -0
  131. package/node_modules/@noodle-borg/module/dist/contract.js.map +1 -1
  132. package/node_modules/@noodle-borg/service/dist/archive-sweeper.d.ts +43 -0
  133. package/node_modules/@noodle-borg/service/dist/archive-sweeper.d.ts.map +1 -0
  134. package/node_modules/@noodle-borg/service/dist/archive-sweeper.js +122 -0
  135. package/node_modules/@noodle-borg/service/dist/archive-sweeper.js.map +1 -0
  136. package/node_modules/@noodle-borg/service/dist/auth/deploy-gate.d.ts +20 -2
  137. package/node_modules/@noodle-borg/service/dist/auth/deploy-gate.d.ts.map +1 -1
  138. package/node_modules/@noodle-borg/service/dist/auth/deploy-gate.js +37 -2
  139. package/node_modules/@noodle-borg/service/dist/auth/deploy-gate.js.map +1 -1
  140. package/node_modules/@noodle-borg/service/dist/commercial-plans.d.ts +11 -0
  141. package/node_modules/@noodle-borg/service/dist/commercial-plans.d.ts.map +1 -0
  142. package/node_modules/@noodle-borg/service/dist/commercial-plans.js +119 -0
  143. package/node_modules/@noodle-borg/service/dist/commercial-plans.js.map +1 -0
  144. package/node_modules/@noodle-borg/service/dist/deployment-versioning.d.ts +20 -0
  145. package/node_modules/@noodle-borg/service/dist/deployment-versioning.d.ts.map +1 -0
  146. package/node_modules/@noodle-borg/service/dist/deployment-versioning.js +29 -0
  147. package/node_modules/@noodle-borg/service/dist/deployment-versioning.js.map +1 -0
  148. package/node_modules/@noodle-borg/service/dist/index.d.ts +3 -1
  149. package/node_modules/@noodle-borg/service/dist/index.d.ts.map +1 -1
  150. package/node_modules/@noodle-borg/service/dist/index.js +2 -0
  151. package/node_modules/@noodle-borg/service/dist/index.js.map +1 -1
  152. package/node_modules/@noodle-borg/service/dist/main.js +7 -0
  153. package/node_modules/@noodle-borg/service/dist/main.js.map +1 -1
  154. package/node_modules/@noodle-borg/service/dist/oauth/app.d.ts.map +1 -1
  155. package/node_modules/@noodle-borg/service/dist/oauth/app.js +2 -1
  156. package/node_modules/@noodle-borg/service/dist/oauth/app.js.map +1 -1
  157. package/node_modules/@noodle-borg/service/dist/oauth/branding.d.ts +30 -0
  158. package/node_modules/@noodle-borg/service/dist/oauth/branding.d.ts.map +1 -0
  159. package/node_modules/@noodle-borg/service/dist/oauth/branding.js +224 -0
  160. package/node_modules/@noodle-borg/service/dist/oauth/branding.js.map +1 -0
  161. package/node_modules/@noodle-borg/service/dist/oauth/consent.d.ts +0 -6
  162. package/node_modules/@noodle-borg/service/dist/oauth/consent.d.ts.map +1 -1
  163. package/node_modules/@noodle-borg/service/dist/oauth/consent.js +23 -34
  164. package/node_modules/@noodle-borg/service/dist/oauth/consent.js.map +1 -1
  165. package/node_modules/@noodle-borg/service/dist/oauth/customer-bridge.d.ts.map +1 -1
  166. package/node_modules/@noodle-borg/service/dist/oauth/customer-bridge.js +13 -28
  167. package/node_modules/@noodle-borg/service/dist/oauth/customer-bridge.js.map +1 -1
  168. package/node_modules/@noodle-borg/service/dist/options.d.ts +9 -0
  169. package/node_modules/@noodle-borg/service/dist/options.d.ts.map +1 -1
  170. package/node_modules/@noodle-borg/service/dist/registry-helpers.d.ts +1 -1
  171. package/node_modules/@noodle-borg/service/dist/registry-helpers.d.ts.map +1 -1
  172. package/node_modules/@noodle-borg/service/dist/registry-helpers.js +5 -3
  173. package/node_modules/@noodle-borg/service/dist/registry-helpers.js.map +1 -1
  174. package/node_modules/@noodle-borg/service/dist/registry-state.d.ts +25 -0
  175. package/node_modules/@noodle-borg/service/dist/registry-state.d.ts.map +1 -0
  176. package/node_modules/@noodle-borg/service/dist/registry-state.js +119 -0
  177. package/node_modules/@noodle-borg/service/dist/registry-state.js.map +1 -0
  178. package/node_modules/@noodle-borg/service/dist/registry-targets.d.ts +1 -0
  179. package/node_modules/@noodle-borg/service/dist/registry-targets.d.ts.map +1 -1
  180. package/node_modules/@noodle-borg/service/dist/registry-targets.js +4 -0
  181. package/node_modules/@noodle-borg/service/dist/registry-targets.js.map +1 -1
  182. package/node_modules/@noodle-borg/service/dist/registry-types.d.ts +59 -0
  183. package/node_modules/@noodle-borg/service/dist/registry-types.d.ts.map +1 -0
  184. package/node_modules/@noodle-borg/service/dist/registry-types.js +2 -0
  185. package/node_modules/@noodle-borg/service/dist/registry-types.js.map +1 -0
  186. package/node_modules/@noodle-borg/service/dist/registry.d.ts +14 -70
  187. package/node_modules/@noodle-borg/service/dist/registry.d.ts.map +1 -1
  188. package/node_modules/@noodle-borg/service/dist/registry.js +137 -119
  189. package/node_modules/@noodle-borg/service/dist/registry.js.map +1 -1
  190. package/node_modules/@noodle-borg/service/dist/routes/access-mode.d.ts +4 -0
  191. package/node_modules/@noodle-borg/service/dist/routes/access-mode.d.ts.map +1 -0
  192. package/node_modules/@noodle-borg/service/dist/routes/access-mode.js +15 -0
  193. package/node_modules/@noodle-borg/service/dist/routes/access-mode.js.map +1 -0
  194. package/node_modules/@noodle-borg/service/dist/routes/archive.d.ts +16 -0
  195. package/node_modules/@noodle-borg/service/dist/routes/archive.d.ts.map +1 -0
  196. package/node_modules/@noodle-borg/service/dist/routes/archive.js +83 -0
  197. package/node_modules/@noodle-borg/service/dist/routes/archive.js.map +1 -0
  198. package/node_modules/@noodle-borg/service/dist/routes/control-plane.d.ts +2 -19
  199. package/node_modules/@noodle-borg/service/dist/routes/control-plane.d.ts.map +1 -1
  200. package/node_modules/@noodle-borg/service/dist/routes/control-plane.js +52 -281
  201. package/node_modules/@noodle-borg/service/dist/routes/control-plane.js.map +1 -1
  202. package/node_modules/@noodle-borg/service/dist/routes/deployments.d.ts +17 -0
  203. package/node_modules/@noodle-borg/service/dist/routes/deployments.d.ts.map +1 -0
  204. package/node_modules/@noodle-borg/service/dist/routes/deployments.js +88 -0
  205. package/node_modules/@noodle-borg/service/dist/routes/deployments.js.map +1 -0
  206. package/node_modules/@noodle-borg/service/dist/routes/org-admin.d.ts +40 -0
  207. package/node_modules/@noodle-borg/service/dist/routes/org-admin.d.ts.map +1 -0
  208. package/node_modules/@noodle-borg/service/dist/routes/org-admin.js +353 -0
  209. package/node_modules/@noodle-borg/service/dist/routes/org-admin.js.map +1 -0
  210. package/node_modules/@noodle-borg/service/dist/routes/paths.d.ts +15 -0
  211. package/node_modules/@noodle-borg/service/dist/routes/paths.d.ts.map +1 -1
  212. package/node_modules/@noodle-borg/service/dist/routes/paths.js +47 -0
  213. package/node_modules/@noodle-borg/service/dist/routes/paths.js.map +1 -1
  214. package/node_modules/@noodle-borg/service/dist/routes/plans.d.ts +20 -0
  215. package/node_modules/@noodle-borg/service/dist/routes/plans.d.ts.map +1 -0
  216. package/node_modules/@noodle-borg/service/dist/routes/plans.js +159 -0
  217. package/node_modules/@noodle-borg/service/dist/routes/plans.js.map +1 -0
  218. package/node_modules/@noodle-borg/service/dist/routes/policies.d.ts.map +1 -1
  219. package/node_modules/@noodle-borg/service/dist/routes/policies.js +7 -0
  220. package/node_modules/@noodle-borg/service/dist/routes/policies.js.map +1 -1
  221. package/node_modules/@noodle-borg/service/dist/routes/rollback.d.ts.map +1 -1
  222. package/node_modules/@noodle-borg/service/dist/routes/rollback.js +23 -7
  223. package/node_modules/@noodle-borg/service/dist/routes/rollback.js.map +1 -1
  224. package/node_modules/@noodle-borg/service/dist/serve.d.ts +6 -0
  225. package/node_modules/@noodle-borg/service/dist/serve.d.ts.map +1 -1
  226. package/node_modules/@noodle-borg/service/dist/serve.js +72 -32
  227. package/node_modules/@noodle-borg/service/dist/serve.js.map +1 -1
  228. package/node_modules/@noodle-borg/service/dist/server-auth-bindings.d.ts +7 -0
  229. package/node_modules/@noodle-borg/service/dist/server-auth-bindings.d.ts.map +1 -0
  230. package/node_modules/@noodle-borg/service/dist/server-auth-bindings.js +14 -0
  231. package/node_modules/@noodle-borg/service/dist/server-auth-bindings.js.map +1 -0
  232. package/node_modules/@noodle-borg/service/dist/service.d.ts.map +1 -1
  233. package/node_modules/@noodle-borg/service/dist/service.js +139 -7
  234. package/node_modules/@noodle-borg/service/dist/service.js.map +1 -1
  235. package/node_modules/@noodle-borg/service/dist/store/control-plane.d.ts +14 -0
  236. package/node_modules/@noodle-borg/service/dist/store/control-plane.d.ts.map +1 -1
  237. package/node_modules/@noodle-borg/service/dist/store/control-plane.js +38 -0
  238. package/node_modules/@noodle-borg/service/dist/store/control-plane.js.map +1 -1
  239. package/node_modules/@noodle-borg/service/dist/store/json-file.d.ts +25 -0
  240. package/node_modules/@noodle-borg/service/dist/store/json-file.d.ts.map +1 -0
  241. package/node_modules/@noodle-borg/service/dist/store/json-file.js +163 -0
  242. package/node_modules/@noodle-borg/service/dist/store/json-file.js.map +1 -0
  243. package/node_modules/@noodle-borg/service/dist/store/postgres-control-plane.d.ts +14 -0
  244. package/node_modules/@noodle-borg/service/dist/store/postgres-control-plane.d.ts.map +1 -1
  245. package/node_modules/@noodle-borg/service/dist/store/postgres-control-plane.js +16 -0
  246. package/node_modules/@noodle-borg/service/dist/store/postgres-control-plane.js.map +1 -1
  247. package/node_modules/@noodle-borg/service/dist/store/postgres-rows.d.ts +60 -0
  248. package/node_modules/@noodle-borg/service/dist/store/postgres-rows.d.ts.map +1 -0
  249. package/node_modules/@noodle-borg/service/dist/store/postgres-rows.js +101 -0
  250. package/node_modules/@noodle-borg/service/dist/store/postgres-rows.js.map +1 -0
  251. package/node_modules/@noodle-borg/service/dist/store/postgres-schema.d.ts.map +1 -1
  252. package/node_modules/@noodle-borg/service/dist/store/postgres-schema.js +21 -2
  253. package/node_modules/@noodle-borg/service/dist/store/postgres-schema.js.map +1 -1
  254. package/node_modules/@noodle-borg/service/dist/store/postgres.d.ts +23 -8
  255. package/node_modules/@noodle-borg/service/dist/store/postgres.d.ts.map +1 -1
  256. package/node_modules/@noodle-borg/service/dist/store/postgres.js +112 -128
  257. package/node_modules/@noodle-borg/service/dist/store/postgres.js.map +1 -1
  258. package/node_modules/@noodle-borg/service/dist/store/records.d.ts +35 -0
  259. package/node_modules/@noodle-borg/service/dist/store/records.d.ts.map +1 -0
  260. package/node_modules/@noodle-borg/service/dist/store/records.js +87 -0
  261. package/node_modules/@noodle-borg/service/dist/store/records.js.map +1 -0
  262. package/node_modules/@noodle-borg/service/dist/store/validate.d.ts +19 -0
  263. package/node_modules/@noodle-borg/service/dist/store/validate.d.ts.map +1 -0
  264. package/node_modules/@noodle-borg/service/dist/store/validate.js +61 -0
  265. package/node_modules/@noodle-borg/service/dist/store/validate.js.map +1 -0
  266. package/node_modules/@noodle-borg/service/dist/store.d.ts +75 -45
  267. package/node_modules/@noodle-borg/service/dist/store.d.ts.map +1 -1
  268. package/node_modules/@noodle-borg/service/dist/store.js +61 -224
  269. package/node_modules/@noodle-borg/service/dist/store.js.map +1 -1
  270. package/node_modules/@noodle-borg/transport-http/dist/handler.d.ts +1 -0
  271. package/node_modules/@noodle-borg/transport-http/dist/handler.d.ts.map +1 -1
  272. package/node_modules/@noodle-borg/transport-http/dist/handler.js +37 -0
  273. package/node_modules/@noodle-borg/transport-http/dist/handler.js.map +1 -1
  274. package/node_modules/@noodle-borg/transport-http/dist/index.d.ts +1 -1
  275. package/node_modules/@noodle-borg/transport-http/dist/index.d.ts.map +1 -1
  276. package/node_modules/@noodle-borg/transport-http/dist/index.js.map +1 -1
  277. package/package.json +3 -2
@@ -0,0 +1,119 @@
1
+ import { recordMatchesTenant } from './registry-targets.js';
2
+ import { appArchivedAt, planAppArchive, planAppRestore, withoutArchiveStamp, } from './store/records.js';
3
+ import { validateSlug } from './store/validate.js';
4
+ /** No-store activation fallback (moved verbatim from `ServerRegistry.#activateInMemory`). */
5
+ export function activateInMemory(records, ref, deploymentId) {
6
+ const target = records.get(deploymentId);
7
+ if (target === undefined || !recordMatchesTenant(target, ref))
8
+ return undefined;
9
+ const previousActive = [...records.values()]
10
+ .filter((record) => record.active && recordMatchesTenant(record, ref))
11
+ .filter((record) => record.serverVersion === target.serverVersion)
12
+ .sort((a, b) => b.deploymentVersion - a.deploymentVersion)[0];
13
+ const alreadyActive = previousActive?.deploymentId === deploymentId;
14
+ if (!alreadyActive) {
15
+ for (const [id, record] of records) {
16
+ if (record.active &&
17
+ recordMatchesTenant(record, ref) &&
18
+ record.serverVersion === target.serverVersion) {
19
+ records.set(id, { ...record, active: false });
20
+ }
21
+ }
22
+ records.set(deploymentId, { ...target, active: true });
23
+ }
24
+ return {
25
+ active: { ...target, active: true },
26
+ ...(previousActive !== undefined ? { previousActive } : {}),
27
+ alreadyActive,
28
+ };
29
+ }
30
+ export function registryAppArchivedAt(state, org, app) {
31
+ const safeOrg = validateSlug('org', org);
32
+ const safeApp = validateSlug('app', app);
33
+ if (state.store !== undefined)
34
+ return state.store.getAppArchivedAt(safeOrg, safeApp);
35
+ return Promise.resolve(appArchivedAt(appRecordsFromMap(state.records, safeOrg, safeApp)));
36
+ }
37
+ export async function registryArchiveApp(state, org, app, at) {
38
+ const safeOrg = validateSlug('org', org);
39
+ const safeApp = validateSlug('app', app);
40
+ if (state.store !== undefined) {
41
+ const result = await state.store.archiveApp(safeOrg, safeApp, at);
42
+ if (result !== undefined)
43
+ evictArchivedApp(state, safeOrg, safeApp, result.archivedAt);
44
+ return result;
45
+ }
46
+ const plan = planAppArchive(appRecordsFromMap(state.records, safeOrg, safeApp), at);
47
+ if (plan === undefined)
48
+ return undefined;
49
+ evictArchivedApp(state, safeOrg, safeApp, plan.result.archivedAt);
50
+ return plan.result;
51
+ }
52
+ export async function registryRestoreApp(state, org, app) {
53
+ const safeOrg = validateSlug('org', org);
54
+ const safeApp = validateSlug('app', app);
55
+ if (state.store !== undefined) {
56
+ const result = await state.store.restoreApp(safeOrg, safeApp);
57
+ if (result !== undefined)
58
+ clearCachedArchiveStamps(state, safeOrg, safeApp);
59
+ return result;
60
+ }
61
+ const plan = planAppRestore(appRecordsFromMap(state.records, safeOrg, safeApp));
62
+ if (plan === undefined)
63
+ return undefined;
64
+ clearCachedArchiveStamps(state, safeOrg, safeApp);
65
+ return plan.result;
66
+ }
67
+ export async function registrySweepArchived(state, before) {
68
+ let deleted;
69
+ if (state.store !== undefined) {
70
+ deleted = await state.store.sweepArchived(before);
71
+ }
72
+ else {
73
+ deleted = [...state.records.values()].filter((record) => record.archivedAt !== undefined && record.archivedAt < before);
74
+ }
75
+ const ids = new Set(deleted.map((record) => record.deploymentId));
76
+ for (const id of ids) {
77
+ state.records.delete(id);
78
+ state.servers.delete(id);
79
+ }
80
+ purgeActiveTenantEntries(state, ids);
81
+ return deleted;
82
+ }
83
+ function appRecordsFromMap(records, org, app) {
84
+ return [...records.values()].filter((record) => record.orgSlug === org && record.appSlug === app);
85
+ }
86
+ /**
87
+ * Stamp cached records and drop the app's active-tenant pointers so this instance stops serving
88
+ * immediately (`ServerRegistry.get` fails closed on a stamped record). With a durable store the
89
+ * compiled servers are also dropped — a restore recompiles lazily from the store. Without a store
90
+ * the compiled servers are the only copy, so they stay cached (blocked by the record stamp) and
91
+ * restore resumes serving instantly. Records already stamped keep their original stamp.
92
+ */
93
+ function evictArchivedApp(state, org, app, archivedAt) {
94
+ const ids = new Set();
95
+ for (const [id, record] of state.records) {
96
+ if (record.orgSlug !== org || record.appSlug !== app)
97
+ continue;
98
+ ids.add(id);
99
+ if (record.archivedAt === undefined)
100
+ state.records.set(id, { ...record, archivedAt });
101
+ if (state.store !== undefined)
102
+ state.servers.delete(id);
103
+ }
104
+ purgeActiveTenantEntries(state, ids);
105
+ }
106
+ function clearCachedArchiveStamps(state, org, app) {
107
+ for (const [id, record] of state.records) {
108
+ if (record.orgSlug === org && record.appSlug === app && record.archivedAt !== undefined) {
109
+ state.records.set(id, withoutArchiveStamp(record));
110
+ }
111
+ }
112
+ }
113
+ function purgeActiveTenantEntries(state, ids) {
114
+ for (const [key, id] of state.activeTenants) {
115
+ if (ids.has(id))
116
+ state.activeTenants.delete(key);
117
+ }
118
+ }
119
+ //# sourceMappingURL=registry-state.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"registry-state.js","sourceRoot":"","sources":["../src/registry-state.ts"],"names":[],"mappings":"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"}
@@ -15,6 +15,7 @@ export declare function recordTenant(record: DeployRecord): TenantRef;
15
15
  export declare function recordMatchesTenant(record: DeployRecord, ref: TenantRef): boolean;
16
16
  export declare function emptySecretEnvelope(): SecretEnvelope;
17
17
  export declare function tenantKey(ref: TenantRef): string;
18
+ export declare function tenantDeploymentKey(ref: TenantRef, serverVersion?: string): string;
18
19
  /** Build a URL-safe, human-readable id from the manifest's server name plus a short random suffix. */
19
20
  export declare function mintDeploymentId(name: string): string;
20
21
  //# sourceMappingURL=registry-targets.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"registry-targets.d.ts","sourceRoot":"","sources":["../src/registry-targets.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AAC5D,OAAO,KAAK,EAAE,kBAAkB,EAAE,YAAY,EAAE,MAAM,6BAA6B,CAAC;AACpF,OAAO,KAAK,EACV,iBAAiB,EACjB,YAAY,EACZ,cAAc,EACd,gBAAgB,EAChB,SAAS,EACV,MAAM,YAAY,CAAC;AAEpB;;;GAGG;AACH,wBAAgB,eAAe,CAC7B,MAAM,EAAE,YAAY,EACpB,MAAM,EAAE,cAAc,EACtB,uBAAuB,CAAC,EAAE,CAAC,IAAI,EAAE,gBAAgB,KAAK,kBAAkB,GACvE,YAAY,CAiBd;AAED,wBAAgB,oBAAoB,CAClC,IAAI,EAAE,gBAAgB,EACtB,uBAAuB,CAAC,EAAE,CAAC,IAAI,EAAE,gBAAgB,KAAK,kBAAkB,GACvE;IACD,QAAQ,CAAC,gBAAgB,CAAC,EAAE,MAAM,CAAC;IACnC,QAAQ,CAAC,WAAW,CAAC,EAAE,kBAAkB,CAAC;CAC3C,CAUA;AAID,wBAAgB,aAAa,CAAC,MAAM,EAAE,YAAY,GAAG,iBAAiB,CAYrE;AAED,wBAAgB,YAAY,CAAC,MAAM,EAAE,YAAY,GAAG,SAAS,CAE5D;AAED,wBAAgB,mBAAmB,CAAC,MAAM,EAAE,YAAY,EAAE,GAAG,EAAE,SAAS,GAAG,OAAO,CAEjF;AAED,wBAAgB,mBAAmB,IAAI,cAAc,CAEpD;AAED,wBAAgB,SAAS,CAAC,GAAG,EAAE,SAAS,GAAG,MAAM,CAEhD;AAED,sGAAsG;AACtG,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAOrD"}
1
+ {"version":3,"file":"registry-targets.d.ts","sourceRoot":"","sources":["../src/registry-targets.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AAC5D,OAAO,KAAK,EAAE,kBAAkB,EAAE,YAAY,EAAE,MAAM,6BAA6B,CAAC;AACpF,OAAO,KAAK,EACV,iBAAiB,EACjB,YAAY,EACZ,cAAc,EACd,gBAAgB,EAChB,SAAS,EACV,MAAM,YAAY,CAAC;AAEpB;;;GAGG;AACH,wBAAgB,eAAe,CAC7B,MAAM,EAAE,YAAY,EACpB,MAAM,EAAE,cAAc,EACtB,uBAAuB,CAAC,EAAE,CAAC,IAAI,EAAE,gBAAgB,KAAK,kBAAkB,GACvE,YAAY,CAiBd;AAED,wBAAgB,oBAAoB,CAClC,IAAI,EAAE,gBAAgB,EACtB,uBAAuB,CAAC,EAAE,CAAC,IAAI,EAAE,gBAAgB,KAAK,kBAAkB,GACvE;IACD,QAAQ,CAAC,gBAAgB,CAAC,EAAE,MAAM,CAAC;IACnC,QAAQ,CAAC,WAAW,CAAC,EAAE,kBAAkB,CAAC;CAC3C,CAUA;AAID,wBAAgB,aAAa,CAAC,MAAM,EAAE,YAAY,GAAG,iBAAiB,CAarE;AAED,wBAAgB,YAAY,CAAC,MAAM,EAAE,YAAY,GAAG,SAAS,CAE5D;AAED,wBAAgB,mBAAmB,CAAC,MAAM,EAAE,YAAY,EAAE,GAAG,EAAE,SAAS,GAAG,OAAO,CAEjF;AAED,wBAAgB,mBAAmB,IAAI,cAAc,CAEpD;AAED,wBAAgB,SAAS,CAAC,GAAG,EAAE,SAAS,GAAG,MAAM,CAEhD;AAED,wBAAgB,mBAAmB,CAAC,GAAG,EAAE,SAAS,EAAE,aAAa,CAAC,EAAE,MAAM,GAAG,MAAM,CAElF;AAED,sGAAsG;AACtG,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAOrD"}
@@ -39,6 +39,7 @@ export function recordSummary(record) {
39
39
  orgSlug: record.orgSlug,
40
40
  appSlug: record.appSlug,
41
41
  environment: record.environment,
42
+ ...(record.serverVersion !== undefined ? { serverVersion: record.serverVersion } : {}),
42
43
  active: record.active,
43
44
  serverName: record.serverName,
44
45
  createdAt: record.createdAt,
@@ -58,6 +59,9 @@ export function emptySecretEnvelope() {
58
59
  export function tenantKey(ref) {
59
60
  return `${ref.org}/${ref.app}/${ref.env}`;
60
61
  }
62
+ export function tenantDeploymentKey(ref, serverVersion) {
63
+ return serverVersion === undefined ? tenantKey(ref) : `${tenantKey(ref)}@${serverVersion}`;
64
+ }
61
65
  /** Build a URL-safe, human-readable id from the manifest's server name plus a short random suffix. */
62
66
  export function mintDeploymentId(name) {
63
67
  const slug = name
@@ -1 +1 @@
1
- {"version":3,"file":"registry-targets.js","sourceRoot":"","sources":["../src/registry-targets.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"registry-targets.js","sourceRoot":"","sources":["../src/registry-targets.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,59 @@
1
+ import type { CapabilityName } from '@noodle-borg/capabilities';
2
+ import type { CatalogConnector } from '@noodle-borg/compiler';
3
+ import type { PolicyGate } from '@noodle-borg/module';
4
+ import type { Connector } from '@noodle-borg/runtime';
5
+ import type { AccessMode, OwnerTokenVerifier } from '@noodle-borg/transport-http';
6
+ import type { OAuthStore } from './oauth/store.js';
7
+ import type { StateHandleStoreFactory } from './state-connector-factory.js';
8
+ import type { SecretEnvelope, TenantAuthConfig } from './store.js';
9
+ /** A deploy error from compiling either the connector catalog or the manifest. */
10
+ export interface DeployError {
11
+ readonly code: string;
12
+ readonly path: string;
13
+ readonly message: string;
14
+ }
15
+ export type DeployResult = {
16
+ readonly ok: true;
17
+ readonly deploymentId: string;
18
+ readonly deploymentVersion: number;
19
+ readonly serverVersion?: string;
20
+ readonly accessMode?: AccessMode;
21
+ } | {
22
+ readonly ok: false;
23
+ readonly errors: readonly DeployError[];
24
+ };
25
+ export type RollbackResult = {
26
+ readonly ok: true;
27
+ readonly deploymentId: string;
28
+ readonly serverVersion?: string;
29
+ readonly previousDeploymentId?: string;
30
+ readonly alreadyActive: boolean;
31
+ readonly accessMode: AccessMode;
32
+ readonly previousAccessMode?: AccessMode;
33
+ readonly serverName: string;
34
+ readonly createdAt: string;
35
+ } | {
36
+ readonly ok: false;
37
+ readonly status: 404 | 409;
38
+ readonly error: string;
39
+ };
40
+ export interface ServerRegistryOptions {
41
+ readonly customerVerifierFactory?: (auth: TenantAuthConfig) => OwnerTokenVerifier;
42
+ readonly policyGate?: PolicyGate;
43
+ readonly serviceCapabilities?: readonly CapabilityName[];
44
+ readonly platformCatalog?: readonly CatalogConnector[];
45
+ readonly platformConnectors?: readonly Connector[];
46
+ readonly stateHandleStoreFactory?: StateHandleStoreFactory;
47
+ readonly delegatedCredentialStore?: Pick<OAuthStore, 'getDelegatedCredential' | 'putDelegatedCredential'>;
48
+ readonly sealCustomerCredential?: (credential: string) => Promise<SecretEnvelope>;
49
+ readonly openCustomerCredential?: (credential: SecretEnvelope) => Promise<string>;
50
+ }
51
+ /** Outcome of recover: how many servers were rebuilt, and which records failed. */
52
+ export interface RecoverResult {
53
+ readonly recovered: number;
54
+ readonly failed: ReadonlyArray<{
55
+ readonly deploymentId: string;
56
+ readonly errors: readonly DeployError[];
57
+ }>;
58
+ }
59
+ //# sourceMappingURL=registry-types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"registry-types.d.ts","sourceRoot":"","sources":["../src/registry-types.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=registry-types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"registry-types.js","sourceRoot":"","sources":["../src/registry-types.ts"],"names":[],"mappings":""}
@@ -1,60 +1,11 @@
1
1
  import type { CapabilityName } from '@noodle-borg/capabilities';
2
2
  import { type CatalogConnector, type HostedPackagedAsset, type LocalAssetOptions, type PackagedAsset } from '@noodle-borg/compiler';
3
- import type { PolicyGate } from '@noodle-borg/module';
4
3
  import { type Connector, type SecretBox } from '@noodle-borg/runtime';
5
- import type { AccessMode, OwnerTokenVerifier, ServedTarget } from '@noodle-borg/transport-http';
4
+ import type { AccessMode, ServedTarget } from '@noodle-borg/transport-http';
6
5
  import type { ControlPlaneIdentity } from './auth/deploy-gate.js';
7
- import type { OAuthStore } from './oauth/store.js';
8
- import { type StateHandleStoreFactory } from './state-connector-factory.js';
9
- import { type ArtifactStore, type ConfigStore, type DeploymentStatus, type DeploymentSummary, type DeployRecord, type SecretEnvelope, type TenantAuthConfig, type TenantRef } from './store.js';
10
- /** A deploy error from compiling either the connector catalog or the manifest. */
11
- export interface DeployError {
12
- readonly code: string;
13
- readonly path: string;
14
- readonly message: string;
15
- }
16
- export type DeployResult = {
17
- readonly ok: true;
18
- readonly deploymentId: string;
19
- readonly deploymentVersion: number;
20
- readonly accessMode?: AccessMode;
21
- } | {
22
- readonly ok: false;
23
- readonly errors: readonly DeployError[];
24
- };
25
- export type RollbackResult = {
26
- readonly ok: true;
27
- readonly deploymentId: string;
28
- readonly previousDeploymentId?: string;
29
- readonly alreadyActive: boolean;
30
- readonly accessMode: AccessMode;
31
- readonly previousAccessMode?: AccessMode;
32
- readonly serverName: string;
33
- readonly createdAt: string;
34
- } | {
35
- readonly ok: false;
36
- readonly status: 404 | 409;
37
- readonly error: string;
38
- };
39
- export interface ServerRegistryOptions {
40
- readonly customerVerifierFactory?: (auth: TenantAuthConfig) => OwnerTokenVerifier;
41
- readonly policyGate?: PolicyGate;
42
- readonly serviceCapabilities?: readonly CapabilityName[];
43
- readonly platformCatalog?: readonly CatalogConnector[];
44
- readonly platformConnectors?: readonly Connector[];
45
- readonly stateHandleStoreFactory?: StateHandleStoreFactory;
46
- readonly delegatedCredentialStore?: Pick<OAuthStore, 'getDelegatedCredential' | 'putDelegatedCredential'>;
47
- readonly sealCustomerCredential?: (credential: string) => Promise<SecretEnvelope>;
48
- readonly openCustomerCredential?: (credential: SecretEnvelope) => Promise<string>;
49
- }
50
- /** Outcome of {@link ServerRegistry.recover}: how many servers were rebuilt, and which records failed. */
51
- export interface RecoverResult {
52
- readonly recovered: number;
53
- readonly failed: ReadonlyArray<{
54
- readonly deploymentId: string;
55
- readonly errors: readonly DeployError[];
56
- }>;
57
- }
6
+ import type { DeployResult, RecoverResult, RollbackResult, ServerRegistryOptions } from './registry-types.js';
7
+ import { type AppArchiveResult, type AppRestoreResult, type ArtifactStore, type ConfigStore, type DeploymentListFilter, type DeploymentStatus, type DeploymentSummary, type DeployRecord, type TenantRef } from './store.js';
8
+ export type { DeployError, DeployResult, RecoverResult, RollbackResult, ServerRegistryOptions, } from './registry-types.js';
58
9
  /**
59
10
  * Holds deployed servers in memory and serves them by id. Each deploy compiles an optional declarative
60
11
  * connector catalog and the manifest (against that catalog) to a resolved artifact, then registers the
@@ -86,31 +37,24 @@ export declare class ServerRegistry {
86
37
  }): void;
87
38
  setLocalAssetOptions(options: LocalAssetOptions): void;
88
39
  getLocalAsset(pathname: string): PackagedAsset | undefined;
89
- deploy(tenant: TenantRef, manifest: string, connectors?: string, actor?: ControlPlaneIdentity, accessMode?: AccessMode, hostedAssets?: readonly HostedPackagedAsset[]): Promise<DeployResult>;
40
+ deploy(tenant: TenantRef, manifest: string, connectors?: string, actor?: ControlPlaneIdentity, accessMode?: AccessMode, hostedAssets?: readonly HostedPackagedAsset[], serverVersion?: string): Promise<DeployResult>;
90
41
  /**
91
42
  * Rebuild every persisted server into memory on startup. Each record is replayed through the same
92
43
  * compile path as a fresh deploy, reusing its stored id and access metadata. A record that no longer
93
44
  * compiles (e.g. source/catalog drift) is skipped and reported — the remaining servers still recover.
94
45
  */
95
46
  recover(): Promise<RecoverResult>;
96
- /**
97
- * Resolve a served server by id. A cache hit returns immediately. On a cache miss **with a durable
98
- * store**, the record is point-read ({@link ArtifactStore.get}), recompiled through the shared
99
- * {@link #compileTarget} path, cached, and returned — so **any instance can serve any deploy**, including
100
- * one it never handled (multi-instance correctness, ADR 0036). A miss with no record resolves to
101
- * `undefined` (→ `404`). A record that no longer compiles, or whose secret will not decrypt, **throws**
102
- * (→ `500`) — failing only its own request, never the instance. Concurrent first-hits for the same id
103
- * share one in-flight compile (single-flight).
104
- */
105
47
  get(deploymentId: string): Promise<ServedTarget | undefined>;
106
48
  getActiveByTenant(ref: TenantRef): Promise<ServedTarget | undefined>;
107
- listDeployments(filter: {
108
- org: string;
109
- app?: string;
110
- env?: string;
111
- }): Promise<readonly DeploymentSummary[]>;
112
- getStatus(ref: TenantRef, baseUrl: string): Promise<DeploymentStatus | undefined>;
113
- updateAccess(ref: TenantRef, accessMode: AccessMode): Promise<DeployRecord | undefined>;
49
+ getActiveByTenantVersion(ref: TenantRef, serverVersion: string): Promise<ServedTarget | undefined>;
50
+ listDeployments(filter: DeploymentListFilter): Promise<readonly DeploymentSummary[]>;
51
+ /** App soft delete (ADR 0117): store-first, then cache reconciliation via {@link RegistryStateView}. */
52
+ getAppArchivedAt(org: string, app: string): Promise<string | undefined>;
53
+ archiveApp(org: string, app: string, at: string): Promise<AppArchiveResult | undefined>;
54
+ restoreApp(org: string, app: string): Promise<AppRestoreResult | undefined>;
55
+ sweepArchived(before: string): Promise<readonly DeployRecord[]>;
56
+ getStatus(ref: TenantRef, baseUrl: string, serverVersion?: string): Promise<DeploymentStatus | undefined>;
57
+ updateAccess(ref: TenantRef, accessMode: AccessMode, serverVersion?: string): Promise<DeployRecord | undefined>;
114
58
  rollback(ref: TenantRef, deploymentId: string): Promise<RollbackResult>;
115
59
  get configStore(): ConfigStore;
116
60
  get size(): number;
@@ -1 +1 @@
1
- {"version":3,"file":"registry.d.ts","sourceRoot":"","sources":["../src/registry.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"registry.d.ts","sourceRoot":"","sources":["../src/registry.ts"],"names":[],"mappings":"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"}