@noodleseed/one 0.15.0 → 0.17.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 (288) hide show
  1. package/dist/agents.d.ts +6 -2
  2. package/dist/agents.d.ts.map +1 -1
  3. package/dist/agents.js +11 -3
  4. package/dist/agents.js.map +1 -1
  5. package/dist/cli.d.ts.map +1 -1
  6. package/dist/cli.js +49 -5
  7. package/dist/cli.js.map +1 -1
  8. package/dist/commands/analytics-ops.d.ts.map +1 -1
  9. package/dist/commands/analytics-ops.js +19 -2
  10. package/dist/commands/analytics-ops.js.map +1 -1
  11. package/dist/commands/apps-ops.d.ts +17 -0
  12. package/dist/commands/apps-ops.d.ts.map +1 -0
  13. package/dist/commands/apps-ops.js +285 -0
  14. package/dist/commands/apps-ops.js.map +1 -0
  15. package/dist/commands/archive-ops.js +2 -2
  16. package/dist/commands/archive-ops.js.map +1 -1
  17. package/dist/commands/catalog-data-config.d.ts +9 -0
  18. package/dist/commands/catalog-data-config.d.ts.map +1 -0
  19. package/dist/commands/catalog-data-config.js +67 -0
  20. package/dist/commands/catalog-data-config.js.map +1 -0
  21. package/dist/commands/catalog-data-core.d.ts +13 -0
  22. package/dist/commands/catalog-data-core.d.ts.map +1 -0
  23. package/dist/commands/catalog-data-core.js +354 -0
  24. package/dist/commands/catalog-data-core.js.map +1 -0
  25. package/dist/commands/catalog-data-resources.d.ts +8 -0
  26. package/dist/commands/catalog-data-resources.d.ts.map +1 -0
  27. package/dist/commands/catalog-data-resources.js +506 -0
  28. package/dist/commands/catalog-data-resources.js.map +1 -0
  29. package/dist/commands/catalog-dispatch.d.ts +15 -0
  30. package/dist/commands/catalog-dispatch.d.ts.map +1 -0
  31. package/dist/commands/catalog-dispatch.js +95 -0
  32. package/dist/commands/catalog-dispatch.js.map +1 -0
  33. package/dist/commands/catalog-render.d.ts +28 -0
  34. package/dist/commands/catalog-render.d.ts.map +1 -0
  35. package/dist/commands/catalog-render.js +142 -0
  36. package/dist/commands/catalog-render.js.map +1 -0
  37. package/dist/commands/catalog-types.d.ts +46 -0
  38. package/dist/commands/catalog-types.d.ts.map +1 -0
  39. package/dist/commands/catalog-types.js +7 -0
  40. package/dist/commands/catalog-types.js.map +1 -0
  41. package/dist/commands/catalog.d.ts +30 -0
  42. package/dist/commands/catalog.d.ts.map +1 -0
  43. package/dist/commands/catalog.js +108 -0
  44. package/dist/commands/catalog.js.map +1 -0
  45. package/dist/commands/commands-ops.d.ts +2 -0
  46. package/dist/commands/commands-ops.d.ts.map +1 -0
  47. package/dist/commands/commands-ops.js +19 -0
  48. package/dist/commands/commands-ops.js.map +1 -0
  49. package/dist/commands/deploy-ops.d.ts +45 -3
  50. package/dist/commands/deploy-ops.d.ts.map +1 -1
  51. package/dist/commands/deploy-ops.js +200 -227
  52. package/dist/commands/deploy-ops.js.map +1 -1
  53. package/dist/commands/deploy-status-ops.d.ts +13 -0
  54. package/dist/commands/deploy-status-ops.d.ts.map +1 -0
  55. package/dist/commands/deploy-status-ops.js +252 -0
  56. package/dist/commands/deploy-status-ops.js.map +1 -0
  57. package/dist/commands/deployments-ops.d.ts +30 -0
  58. package/dist/commands/deployments-ops.d.ts.map +1 -0
  59. package/dist/commands/deployments-ops.js +248 -0
  60. package/dist/commands/deployments-ops.js.map +1 -0
  61. package/dist/commands/envs-ops.d.ts +8 -0
  62. package/dist/commands/envs-ops.d.ts.map +1 -0
  63. package/dist/commands/envs-ops.js +240 -0
  64. package/dist/commands/envs-ops.js.map +1 -0
  65. package/dist/commands/github-ops.d.ts +15 -0
  66. package/dist/commands/github-ops.d.ts.map +1 -0
  67. package/dist/commands/github-ops.js +296 -0
  68. package/dist/commands/github-ops.js.map +1 -0
  69. package/dist/commands/github-shared.d.ts +60 -0
  70. package/dist/commands/github-shared.d.ts.map +1 -0
  71. package/dist/commands/github-shared.js +175 -0
  72. package/dist/commands/github-shared.js.map +1 -0
  73. package/dist/commands/org-admin.d.ts.map +1 -1
  74. package/dist/commands/org-admin.js +223 -43
  75. package/dist/commands/org-admin.js.map +1 -1
  76. package/dist/commands/output.d.ts +35 -0
  77. package/dist/commands/output.d.ts.map +1 -0
  78. package/dist/commands/output.js +34 -0
  79. package/dist/commands/output.js.map +1 -0
  80. package/dist/commands/resource-shared.d.ts +132 -0
  81. package/dist/commands/resource-shared.d.ts.map +1 -0
  82. package/dist/commands/resource-shared.js +159 -0
  83. package/dist/commands/resource-shared.js.map +1 -0
  84. package/dist/commands/session.d.ts +6 -9
  85. package/dist/commands/session.d.ts.map +1 -1
  86. package/dist/commands/session.js +42 -116
  87. package/dist/commands/session.js.map +1 -1
  88. package/dist/commands/shared.d.ts.map +1 -1
  89. package/dist/commands/shared.js +3 -91
  90. package/dist/commands/shared.js.map +1 -1
  91. package/dist/commands/target-picker.d.ts +44 -0
  92. package/dist/commands/target-picker.d.ts.map +1 -0
  93. package/dist/commands/target-picker.js +88 -0
  94. package/dist/commands/target-picker.js.map +1 -0
  95. package/dist/commands/update-ops.js +1 -1
  96. package/dist/diagnostics.d.ts +5 -0
  97. package/dist/diagnostics.d.ts.map +1 -1
  98. package/dist/diagnostics.js +1 -1
  99. package/dist/diagnostics.js.map +1 -1
  100. package/dist/doctor.d.ts.map +1 -1
  101. package/dist/doctor.js +33 -0
  102. package/dist/doctor.js.map +1 -1
  103. package/dist/fire.d.ts +94 -0
  104. package/dist/fire.d.ts.map +1 -0
  105. package/dist/fire.js +418 -0
  106. package/dist/fire.js.map +1 -0
  107. package/dist/flavor.d.ts +19 -0
  108. package/dist/flavor.d.ts.map +1 -0
  109. package/dist/flavor.js +95 -0
  110. package/dist/flavor.js.map +1 -0
  111. package/dist/project.js +6 -3
  112. package/dist/project.js.map +1 -1
  113. package/dist/prompts.d.ts.map +1 -1
  114. package/dist/prompts.js +30 -17
  115. package/dist/prompts.js.map +1 -1
  116. package/dist/relative-time.d.ts +8 -0
  117. package/dist/relative-time.d.ts.map +1 -0
  118. package/dist/relative-time.js +29 -0
  119. package/dist/relative-time.js.map +1 -0
  120. package/dist/table.d.ts +47 -0
  121. package/dist/table.d.ts.map +1 -0
  122. package/dist/table.js +152 -0
  123. package/dist/table.js.map +1 -0
  124. package/dist/update-binary.js +1 -1
  125. package/dist/update-check.d.ts +1 -1
  126. package/dist/update-check.js +1 -1
  127. package/dist/update.js +1 -1
  128. package/dist/watch.d.ts +52 -0
  129. package/dist/watch.d.ts.map +1 -0
  130. package/dist/watch.js +177 -0
  131. package/dist/watch.js.map +1 -0
  132. package/node_modules/@noodle-borg/agent-kit/dist/curated/command-groups.d.ts.map +1 -1
  133. package/node_modules/@noodle-borg/agent-kit/dist/curated/command-groups.js +23 -1
  134. package/node_modules/@noodle-borg/agent-kit/dist/curated/command-groups.js.map +1 -1
  135. package/node_modules/@noodle-borg/agent-kit/dist/generated/surface.d.ts.map +1 -1
  136. package/node_modules/@noodle-borg/agent-kit/dist/generated/surface.js +5 -0
  137. package/node_modules/@noodle-borg/agent-kit/dist/generated/surface.js.map +1 -1
  138. package/node_modules/@noodle-borg/agent-kit/package.json +1 -1
  139. package/node_modules/@noodle-borg/authoring/dist/connectors.js +14 -0
  140. package/node_modules/@noodle-borg/authoring/dist/connectors.js.map +1 -1
  141. package/node_modules/@noodle-borg/connector-defs/dist/compile.js +9 -0
  142. package/node_modules/@noodle-borg/connector-defs/dist/compile.js.map +1 -1
  143. package/node_modules/@noodle-borg/module/dist/contract.d.ts +1 -1
  144. package/node_modules/@noodle-borg/module/dist/contract.d.ts.map +1 -1
  145. package/node_modules/@noodle-borg/openapi-import/dist/index.d.ts.map +1 -1
  146. package/node_modules/@noodle-borg/openapi-import/dist/index.js +3 -1
  147. package/node_modules/@noodle-borg/openapi-import/dist/index.js.map +1 -1
  148. package/node_modules/@noodle-borg/service/dist/github/app-client.d.ts +49 -0
  149. package/node_modules/@noodle-borg/service/dist/github/app-client.d.ts.map +1 -0
  150. package/node_modules/@noodle-borg/service/dist/github/app-client.js +23 -0
  151. package/node_modules/@noodle-borg/service/dist/github/app-client.js.map +1 -0
  152. package/node_modules/@noodle-borg/service/dist/github/install-nonce.d.ts +23 -0
  153. package/node_modules/@noodle-borg/service/dist/github/install-nonce.d.ts.map +1 -0
  154. package/node_modules/@noodle-borg/service/dist/github/install-nonce.js +57 -0
  155. package/node_modules/@noodle-borg/service/dist/github/install-nonce.js.map +1 -0
  156. package/node_modules/@noodle-borg/service/dist/github/pending-installations.d.ts +31 -0
  157. package/node_modules/@noodle-borg/service/dist/github/pending-installations.d.ts.map +1 -0
  158. package/node_modules/@noodle-borg/service/dist/github/pending-installations.js +34 -0
  159. package/node_modules/@noodle-borg/service/dist/github/pending-installations.js.map +1 -0
  160. package/node_modules/@noodle-borg/service/dist/index.d.ts +7 -1
  161. package/node_modules/@noodle-borg/service/dist/index.d.ts.map +1 -1
  162. package/node_modules/@noodle-borg/service/dist/index.js +7 -1
  163. package/node_modules/@noodle-borg/service/dist/index.js.map +1 -1
  164. package/node_modules/@noodle-borg/service/dist/options.d.ts +28 -1
  165. package/node_modules/@noodle-borg/service/dist/options.d.ts.map +1 -1
  166. package/node_modules/@noodle-borg/service/dist/registry-state.d.ts +28 -7
  167. package/node_modules/@noodle-borg/service/dist/registry-state.d.ts.map +1 -1
  168. package/node_modules/@noodle-borg/service/dist/registry-state.js +116 -3
  169. package/node_modules/@noodle-borg/service/dist/registry-state.js.map +1 -1
  170. package/node_modules/@noodle-borg/service/dist/registry.d.ts +14 -1
  171. package/node_modules/@noodle-borg/service/dist/registry.d.ts.map +1 -1
  172. package/node_modules/@noodle-borg/service/dist/registry.js +20 -45
  173. package/node_modules/@noodle-borg/service/dist/registry.js.map +1 -1
  174. package/node_modules/@noodle-borg/service/dist/routes/analytics-dispatch.d.ts +23 -0
  175. package/node_modules/@noodle-borg/service/dist/routes/analytics-dispatch.d.ts.map +1 -0
  176. package/node_modules/@noodle-borg/service/dist/routes/analytics-dispatch.js +53 -0
  177. package/node_modules/@noodle-borg/service/dist/routes/analytics-dispatch.js.map +1 -0
  178. package/node_modules/@noodle-borg/service/dist/routes/apps.d.ts +24 -0
  179. package/node_modules/@noodle-borg/service/dist/routes/apps.d.ts.map +1 -0
  180. package/node_modules/@noodle-borg/service/dist/routes/apps.js +72 -0
  181. package/node_modules/@noodle-borg/service/dist/routes/apps.js.map +1 -0
  182. package/node_modules/@noodle-borg/service/dist/routes/contracts.d.ts +316 -0
  183. package/node_modules/@noodle-borg/service/dist/routes/contracts.d.ts.map +1 -0
  184. package/node_modules/@noodle-borg/service/dist/routes/contracts.js +152 -0
  185. package/node_modules/@noodle-borg/service/dist/routes/contracts.js.map +1 -0
  186. package/node_modules/@noodle-borg/service/dist/routes/deployments.d.ts +12 -1
  187. package/node_modules/@noodle-borg/service/dist/routes/deployments.d.ts.map +1 -1
  188. package/node_modules/@noodle-borg/service/dist/routes/deployments.js +31 -2
  189. package/node_modules/@noodle-borg/service/dist/routes/deployments.js.map +1 -1
  190. package/node_modules/@noodle-borg/service/dist/routes/endpoint-enrichment.d.ts +17 -0
  191. package/node_modules/@noodle-borg/service/dist/routes/endpoint-enrichment.d.ts.map +1 -0
  192. package/node_modules/@noodle-borg/service/dist/routes/endpoint-enrichment.js +15 -0
  193. package/node_modules/@noodle-borg/service/dist/routes/endpoint-enrichment.js.map +1 -0
  194. package/node_modules/@noodle-borg/service/dist/routes/envs.d.ts +22 -0
  195. package/node_modules/@noodle-borg/service/dist/routes/envs.d.ts.map +1 -0
  196. package/node_modules/@noodle-borg/service/dist/routes/envs.js +46 -0
  197. package/node_modules/@noodle-borg/service/dist/routes/envs.js.map +1 -0
  198. package/node_modules/@noodle-borg/service/dist/routes/github-connection.d.ts +29 -0
  199. package/node_modules/@noodle-borg/service/dist/routes/github-connection.d.ts.map +1 -0
  200. package/node_modules/@noodle-borg/service/dist/routes/github-connection.js +202 -0
  201. package/node_modules/@noodle-borg/service/dist/routes/github-connection.js.map +1 -0
  202. package/node_modules/@noodle-borg/service/dist/routes/github-dispatch.d.ts +29 -0
  203. package/node_modules/@noodle-borg/service/dist/routes/github-dispatch.d.ts.map +1 -0
  204. package/node_modules/@noodle-borg/service/dist/routes/github-dispatch.js +60 -0
  205. package/node_modules/@noodle-borg/service/dist/routes/github-dispatch.js.map +1 -0
  206. package/node_modules/@noodle-borg/service/dist/routes/github-setup.d.ts +28 -0
  207. package/node_modules/@noodle-borg/service/dist/routes/github-setup.d.ts.map +1 -0
  208. package/node_modules/@noodle-borg/service/dist/routes/github-setup.js +80 -0
  209. package/node_modules/@noodle-borg/service/dist/routes/github-setup.js.map +1 -0
  210. package/node_modules/@noodle-borg/service/dist/routes/org-admin.d.ts +5 -0
  211. package/node_modules/@noodle-borg/service/dist/routes/org-admin.d.ts.map +1 -1
  212. package/node_modules/@noodle-borg/service/dist/routes/org-admin.js +13 -1
  213. package/node_modules/@noodle-borg/service/dist/routes/org-admin.js.map +1 -1
  214. package/node_modules/@noodle-borg/service/dist/routes/paths.d.ts +44 -0
  215. package/node_modules/@noodle-borg/service/dist/routes/paths.d.ts.map +1 -1
  216. package/node_modules/@noodle-borg/service/dist/routes/paths.js +116 -1
  217. package/node_modules/@noodle-borg/service/dist/routes/paths.js.map +1 -1
  218. package/node_modules/@noodle-borg/service/dist/routes/resource-read-dispatch.d.ts +33 -0
  219. package/node_modules/@noodle-borg/service/dist/routes/resource-read-dispatch.d.ts.map +1 -0
  220. package/node_modules/@noodle-borg/service/dist/routes/resource-read-dispatch.js +69 -0
  221. package/node_modules/@noodle-borg/service/dist/routes/resource-read-dispatch.js.map +1 -0
  222. package/node_modules/@noodle-borg/service/dist/serve.d.ts.map +1 -1
  223. package/node_modules/@noodle-borg/service/dist/serve.js +6 -1
  224. package/node_modules/@noodle-borg/service/dist/serve.js.map +1 -1
  225. package/node_modules/@noodle-borg/service/dist/service.d.ts.map +1 -1
  226. package/node_modules/@noodle-borg/service/dist/service.js +60 -45
  227. package/node_modules/@noodle-borg/service/dist/service.js.map +1 -1
  228. package/node_modules/@noodle-borg/service/dist/store/control-plane.d.ts +1 -0
  229. package/node_modules/@noodle-borg/service/dist/store/control-plane.d.ts.map +1 -1
  230. package/node_modules/@noodle-borg/service/dist/store/control-plane.js +3 -0
  231. package/node_modules/@noodle-borg/service/dist/store/control-plane.js.map +1 -1
  232. package/node_modules/@noodle-borg/service/dist/store/github-connections-json-file.d.ts +23 -0
  233. package/node_modules/@noodle-borg/service/dist/store/github-connections-json-file.d.ts.map +1 -0
  234. package/node_modules/@noodle-borg/service/dist/store/github-connections-json-file.js +137 -0
  235. package/node_modules/@noodle-borg/service/dist/store/github-connections-json-file.js.map +1 -0
  236. package/node_modules/@noodle-borg/service/dist/store/github-connections.d.ts +30 -0
  237. package/node_modules/@noodle-borg/service/dist/store/github-connections.d.ts.map +1 -0
  238. package/node_modules/@noodle-borg/service/dist/store/github-connections.js +116 -0
  239. package/node_modules/@noodle-borg/service/dist/store/github-connections.js.map +1 -0
  240. package/node_modules/@noodle-borg/service/dist/store/in-memory.d.ts +32 -0
  241. package/node_modules/@noodle-borg/service/dist/store/in-memory.d.ts.map +1 -0
  242. package/node_modules/@noodle-borg/service/dist/store/in-memory.js +169 -0
  243. package/node_modules/@noodle-borg/service/dist/store/in-memory.js.map +1 -0
  244. package/node_modules/@noodle-borg/service/dist/store/json-file.d.ts +14 -1
  245. package/node_modules/@noodle-borg/service/dist/store/json-file.d.ts.map +1 -1
  246. package/node_modules/@noodle-borg/service/dist/store/json-file.js +54 -1
  247. package/node_modules/@noodle-borg/service/dist/store/json-file.js.map +1 -1
  248. package/node_modules/@noodle-borg/service/dist/store/postgres-apps.d.ts +11 -0
  249. package/node_modules/@noodle-borg/service/dist/store/postgres-apps.d.ts.map +1 -0
  250. package/node_modules/@noodle-borg/service/dist/store/postgres-apps.js +31 -0
  251. package/node_modules/@noodle-borg/service/dist/store/postgres-apps.js.map +1 -0
  252. package/node_modules/@noodle-borg/service/dist/store/postgres-config.d.ts +21 -0
  253. package/node_modules/@noodle-borg/service/dist/store/postgres-config.d.ts.map +1 -0
  254. package/node_modules/@noodle-borg/service/dist/store/postgres-config.js +80 -0
  255. package/node_modules/@noodle-borg/service/dist/store/postgres-config.js.map +1 -0
  256. package/node_modules/@noodle-borg/service/dist/store/postgres-control-plane.d.ts +1 -0
  257. package/node_modules/@noodle-borg/service/dist/store/postgres-control-plane.d.ts.map +1 -1
  258. package/node_modules/@noodle-borg/service/dist/store/postgres-control-plane.js +6 -0
  259. package/node_modules/@noodle-borg/service/dist/store/postgres-control-plane.js.map +1 -1
  260. package/node_modules/@noodle-borg/service/dist/store/postgres-envs.d.ts +7 -0
  261. package/node_modules/@noodle-borg/service/dist/store/postgres-envs.d.ts.map +1 -0
  262. package/node_modules/@noodle-borg/service/dist/store/postgres-envs.js +34 -0
  263. package/node_modules/@noodle-borg/service/dist/store/postgres-envs.js.map +1 -0
  264. package/node_modules/@noodle-borg/service/dist/store/postgres-github.d.ts +12 -0
  265. package/node_modules/@noodle-borg/service/dist/store/postgres-github.d.ts.map +1 -0
  266. package/node_modules/@noodle-borg/service/dist/store/postgres-github.js +125 -0
  267. package/node_modules/@noodle-borg/service/dist/store/postgres-github.js.map +1 -0
  268. package/node_modules/@noodle-borg/service/dist/store/postgres-schema.d.ts.map +1 -1
  269. package/node_modules/@noodle-borg/service/dist/store/postgres-schema.js +36 -0
  270. package/node_modules/@noodle-borg/service/dist/store/postgres-schema.js.map +1 -1
  271. package/node_modules/@noodle-borg/service/dist/store/postgres.d.ts +25 -2
  272. package/node_modules/@noodle-borg/service/dist/store/postgres.d.ts.map +1 -1
  273. package/node_modules/@noodle-borg/service/dist/store/postgres.js +56 -75
  274. package/node_modules/@noodle-borg/service/dist/store/postgres.js.map +1 -1
  275. package/node_modules/@noodle-borg/service/dist/store/records.d.ts +56 -3
  276. package/node_modules/@noodle-borg/service/dist/store/records.d.ts.map +1 -1
  277. package/node_modules/@noodle-borg/service/dist/store/records.js +158 -0
  278. package/node_modules/@noodle-borg/service/dist/store/records.js.map +1 -1
  279. package/node_modules/@noodle-borg/service/dist/store/validate.d.ts +2 -0
  280. package/node_modules/@noodle-borg/service/dist/store/validate.d.ts.map +1 -1
  281. package/node_modules/@noodle-borg/service/dist/store/validate.js +7 -0
  282. package/node_modules/@noodle-borg/service/dist/store/validate.js.map +1 -1
  283. package/node_modules/@noodle-borg/service/dist/store.d.ts +161 -17
  284. package/node_modules/@noodle-borg/service/dist/store.d.ts.map +1 -1
  285. package/node_modules/@noodle-borg/service/dist/store.js +8 -118
  286. package/node_modules/@noodle-borg/service/dist/store.js.map +1 -1
  287. package/node_modules/@noodle-borg/service/package.json +2 -1
  288. package/package.json +2 -2
@@ -1,5 +1,13 @@
1
- import { recordMatchesTenant } from './registry-targets.js';
2
- import { appArchivedAt, planAppArchive, planAppRestore, withoutArchiveStamp, } from './store/records.js';
1
+ /**
2
+ * Registry state operations that work over the {@link ServerRegistry}'s private maps: the no-store
3
+ * in-memory activation fallback and the app archive/restore/sweep cache reconciliation (ADR 0117).
4
+ * The registry passes a {@link RegistryStateView} of its private fields; store-backed calls hit the
5
+ * durable store first, then reconcile the in-process caches so no instance keeps serving stale state.
6
+ */
7
+ import { normalizeServerVersion } from '@noodle-borg/module';
8
+ import { defaultActiveRecord } from './deployment-versioning.js';
9
+ import { recordMatchesTenant, tenantDeploymentKey, tenantKey } from './registry-targets.js';
10
+ import { appArchivedAt, deploymentSummary, paginateAppSummaries, planAppArchive, planAppRestore, summarizeApps, summarizeEnvs, withoutArchiveStamp, } from './store/records.js';
3
11
  import { validateSlug } from './store/validate.js';
4
12
  /** No-store activation fallback (moved verbatim from `ServerRegistry.#activateInMemory`). */
5
13
  export function activateInMemory(records, ref, deploymentId) {
@@ -27,6 +35,52 @@ export function activateInMemory(records, ref, deploymentId) {
27
35
  alreadyActive,
28
36
  };
29
37
  }
38
+ /**
39
+ * The active deploy record for a tenant, store-first then over the in-process cache (moved verbatim
40
+ * from `ServerRegistry.#activeRecord`). Store hits reconcile the caches so no instance serves stale
41
+ * state; the no-store path falls back to the newest matching record.
42
+ */
43
+ export async function activeRecord(state, ref) {
44
+ if (state.store) {
45
+ const record = await state.store.getActiveByTenant(ref);
46
+ if (record !== undefined) {
47
+ state.records.set(record.deploymentId, record);
48
+ state.activeTenants.set(tenantDeploymentKey(ref, record.serverVersion), record.deploymentId);
49
+ }
50
+ return record;
51
+ }
52
+ const cachedId = state.activeTenants.get(tenantKey(ref));
53
+ if (cachedId !== undefined) {
54
+ const cached = state.records.get(cachedId);
55
+ if (cached !== undefined && cached.archivedAt === undefined)
56
+ return cached;
57
+ }
58
+ return defaultActiveRecord([...state.records.values()], ref);
59
+ }
60
+ /** {@link activeRecord} pinned to one server version (moved verbatim from `#activeRecordVersion`). */
61
+ export async function activeRecordVersion(state, ref, serverVersion) {
62
+ const safeServerVersion = normalizeServerVersion(serverVersion);
63
+ if (state.store) {
64
+ const record = await state.store.getActiveByTenantVersion(ref, safeServerVersion);
65
+ if (record !== undefined) {
66
+ state.records.set(record.deploymentId, record);
67
+ state.activeTenants.set(tenantDeploymentKey(ref, safeServerVersion), record.deploymentId);
68
+ }
69
+ return record;
70
+ }
71
+ const cachedId = state.activeTenants.get(tenantDeploymentKey(ref, safeServerVersion));
72
+ if (cachedId !== undefined) {
73
+ const cached = state.records.get(cachedId);
74
+ if (cached !== undefined && cached.archivedAt === undefined)
75
+ return cached;
76
+ }
77
+ return [...state.records.values()]
78
+ .filter((record) => record.active &&
79
+ record.archivedAt === undefined &&
80
+ recordMatchesTenant(record, ref) &&
81
+ record.serverVersion === safeServerVersion)
82
+ .sort((a, b) => b.deploymentVersion - a.deploymentVersion)[0];
83
+ }
30
84
  export function registryAppArchivedAt(state, org, app) {
31
85
  const safeOrg = validateSlug('org', org);
32
86
  const safeApp = validateSlug('app', app);
@@ -80,8 +134,67 @@ export async function registrySweepArchived(state, before) {
80
134
  purgeActiveTenantEntries(state, ids);
81
135
  return deleted;
82
136
  }
137
+ /** The `apps` resource, store-first with a no-store fallback over the registry's own record cache. */
138
+ export function registryListApps(state, org, opts) {
139
+ const safeOrg = validateSlug('org', org);
140
+ if (state.store !== undefined)
141
+ return state.store.listApps(safeOrg, opts);
142
+ const records = appRecordsFromMap(state.records, safeOrg).map(deploymentSummary);
143
+ const summarized = summarizeApps(safeOrg, records, [], {
144
+ includeArchived: opts.includeArchived ?? false,
145
+ });
146
+ return Promise.resolve(paginateAppSummaries(summarized, opts.limit));
147
+ }
148
+ export function registryGetApp(state, org, app) {
149
+ const safeOrg = validateSlug('org', org);
150
+ const safeApp = validateSlug('app', app);
151
+ if (state.store !== undefined)
152
+ return state.store.getApp(safeOrg, safeApp);
153
+ const records = appRecordsFromMap(state.records, safeOrg, safeApp).map(deploymentSummary);
154
+ if (records.length === 0)
155
+ return Promise.resolve(undefined);
156
+ return Promise.resolve(summarizeApps(safeOrg, records, [], { includeArchived: true })[0]);
157
+ }
158
+ /** The `envs` resource, store-first with a no-store fallback over the registry's own record cache. */
159
+ export function registryListEnvironments(state, org, app, opts) {
160
+ const safeOrg = validateSlug('org', org);
161
+ const safeApp = validateSlug('app', app);
162
+ if (state.store !== undefined)
163
+ return state.store.listEnvironments(safeOrg, safeApp, opts);
164
+ const records = appRecordsFromMap(state.records, safeOrg, safeApp).map(deploymentSummary);
165
+ return Promise.resolve(summarizeEnvs(safeOrg, safeApp, records, [], {
166
+ includeArchived: opts.includeArchived ?? false,
167
+ }));
168
+ }
169
+ export function registryGetEnvironment(state, org, app, env) {
170
+ const safeOrg = validateSlug('org', org);
171
+ const safeApp = validateSlug('app', app);
172
+ const safeEnv = validateSlug('env', env);
173
+ if (state.store !== undefined)
174
+ return state.store.getEnvironment(safeOrg, safeApp, safeEnv);
175
+ const records = appRecordsFromMap(state.records, safeOrg, safeApp)
176
+ .filter((record) => record.environment === safeEnv)
177
+ .map(deploymentSummary);
178
+ if (records.length === 0)
179
+ return Promise.resolve(undefined);
180
+ return Promise.resolve(summarizeEnvs(safeOrg, safeApp, records, [], { includeArchived: true })[0]);
181
+ }
182
+ /**
183
+ * One deployment by id, scoped to `org`, store-first with a no-store fallback over the registry's own
184
+ * record cache. `undefined` both for an unknown id and for an id that belongs to a different org.
185
+ */
186
+ export function registryGetDeployment(state, org, deploymentId) {
187
+ const safeOrg = validateSlug('org', org);
188
+ if (state.store !== undefined)
189
+ return state.store.getDeployment(safeOrg, deploymentId);
190
+ const record = state.records.get(deploymentId);
191
+ if (record === undefined || record.orgSlug !== safeOrg)
192
+ return Promise.resolve(undefined);
193
+ return Promise.resolve(deploymentSummary(record));
194
+ }
195
+ /** Every record for `org`, optionally narrowed to one `app` (omit to scan the whole org). */
83
196
  function appRecordsFromMap(records, org, app) {
84
- return [...records.values()].filter((record) => record.orgSlug === org && record.appSlug === app);
197
+ return [...records.values()].filter((record) => record.orgSlug === org && (app === undefined || record.appSlug === app));
85
198
  }
86
199
  /**
87
200
  * Stamp cached records and drop the app's active-tenant pointers so this instance stops serving
@@ -1 +1 @@
1
- {"version":3,"file":"registry-state.js","sourceRoot":"","sources":["../src/registry-state.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"registry-state.js","sourceRoot":"","sources":["../src/registry-state.ts"],"names":[],"mappings":"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"}
@@ -4,7 +4,7 @@ import { type Connector, type SecretBox } from '@noodle-borg/runtime';
4
4
  import type { AccessMode, ServedTarget } from '@noodle-borg/transport-http';
5
5
  import type { ControlPlaneIdentity } from './auth/deploy-gate.js';
6
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';
7
+ import { type AppArchiveResult, type AppRestoreResult, type AppSummary, type ArtifactStore, type ConfigStore, type DeploymentListFilter, type DeploymentStatus, type DeploymentSummary, type DeployRecord, type EnvSummary, type TenantRef } from './store.js';
8
8
  export type { DeployError, DeployResult, RecoverResult, RollbackResult, ServerRegistryOptions, } from './registry-types.js';
9
9
  /**
10
10
  * Holds deployed servers in memory and serves them by id. Each deploy compiles an optional declarative
@@ -53,6 +53,19 @@ export declare class ServerRegistry {
53
53
  archiveApp(org: string, app: string, at: string): Promise<AppArchiveResult | undefined>;
54
54
  restoreApp(org: string, app: string): Promise<AppRestoreResult | undefined>;
55
55
  sweepArchived(before: string): Promise<readonly DeployRecord[]>;
56
+ listApps(org: string, opts?: {
57
+ includeArchived?: boolean;
58
+ limit?: number;
59
+ }): Promise<{
60
+ readonly apps: readonly AppSummary[];
61
+ readonly truncated: boolean;
62
+ }>;
63
+ getApp(org: string, app: string): Promise<AppSummary | undefined>;
64
+ listEnvironments(org: string, app: string, opts?: {
65
+ includeArchived?: boolean;
66
+ }): Promise<readonly EnvSummary[]>;
67
+ getEnvironment(org: string, app: string, env: string): Promise<EnvSummary | undefined>;
68
+ getDeployment(org: string, deploymentId: string): Promise<DeploymentSummary | undefined>;
56
69
  getStatus(ref: TenantRef, baseUrl: string, serverVersion?: string): Promise<DeploymentStatus | undefined>;
57
70
  updateAccess(ref: TenantRef, accessMode: AccessMode, serverVersion?: string): Promise<DeployRecord | undefined>;
58
71
  rollback(ref: TenantRef, deploymentId: string): Promise<RollbackResult>;
@@ -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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"}
@@ -7,7 +7,7 @@ import { defaultActiveRecord } from './deployment-versioning.js';
7
7
  import { serverAuthVariableBindings } from './managed-config-expressions.js';
8
8
  import { normalizePersistedManifestForCompile } from './manifest-normalize.js';
9
9
  import { missingCapabilityErrors, missingSecretErrors, missingSecretNames, missingVariableErrors, tenantMcpUrl, } from './registry-helpers.js';
10
- import { activateInMemory, registryAppArchivedAt, registryArchiveApp, registryRestoreApp, registrySweepArchived, } from './registry-state.js';
10
+ import { activateInMemory, activeRecord, activeRecordVersion, registryAppArchivedAt, registryArchiveApp, registryGetApp, registryGetDeployment, registryGetEnvironment, registryListApps, registryListEnvironments, registryRestoreApp, registrySweepArchived, } from './registry-state.js';
11
11
  import { customerTargetFields, emptySecretEnvelope, mintDeploymentId, recordMatchesTenant, recordTenant, servedTargetFor, tenantDeploymentKey, tenantKey, } from './registry-targets.js';
12
12
  import { serverAuthSecretBindings } from './server-auth-bindings.js';
13
13
  import { withBuiltinStateCatalog } from './state-catalog.js';
@@ -401,6 +401,21 @@ export class ServerRegistry {
401
401
  sweepArchived(before) {
402
402
  return registrySweepArchived(this.#stateView(), before);
403
403
  }
404
+ listApps(org, opts = {}) {
405
+ return registryListApps(this.#stateView(), org, opts);
406
+ }
407
+ getApp(org, app) {
408
+ return registryGetApp(this.#stateView(), org, app);
409
+ }
410
+ listEnvironments(org, app, opts = {}) {
411
+ return registryListEnvironments(this.#stateView(), org, app, opts);
412
+ }
413
+ getEnvironment(org, app, env) {
414
+ return registryGetEnvironment(this.#stateView(), org, app, env);
415
+ }
416
+ getDeployment(org, deploymentId) {
417
+ return registryGetDeployment(this.#stateView(), org, deploymentId);
418
+ }
404
419
  #stateView() {
405
420
  return {
406
421
  store: this.#store,
@@ -412,8 +427,8 @@ export class ServerRegistry {
412
427
  async getStatus(ref, baseUrl, serverVersion) {
413
428
  const safe = validateTenantRef(ref);
414
429
  const record = serverVersion === undefined
415
- ? await this.#activeRecord(safe)
416
- : await this.#activeRecordVersion(safe, serverVersion);
430
+ ? await activeRecord(this.#stateView(), safe)
431
+ : await activeRecordVersion(this.#stateView(), safe, serverVersion);
417
432
  if (record === undefined)
418
433
  return undefined;
419
434
  const built = await this.#compileTarget(recordTenant(record), record.manifest, record.connectors, record.hostedAssets, record.deploymentId);
@@ -443,8 +458,8 @@ export class ServerRegistry {
443
458
  async updateAccess(ref, accessMode, serverVersion) {
444
459
  const safe = validateTenantRef(ref);
445
460
  const record = serverVersion === undefined
446
- ? await this.#activeRecord(safe)
447
- : await this.#activeRecordVersion(safe, serverVersion);
461
+ ? await activeRecord(this.#stateView(), safe)
462
+ : await activeRecordVersion(this.#stateView(), safe, serverVersion);
448
463
  if (record === undefined)
449
464
  return undefined;
450
465
  if (accessMode === 'customers' && record.serverAuth === undefined)
@@ -511,46 +526,6 @@ export class ServerRegistry {
511
526
  createdAt: active.createdAt,
512
527
  };
513
528
  }
514
- async #activeRecord(ref) {
515
- if (this.#store) {
516
- const record = await this.#store.getActiveByTenant(ref);
517
- if (record !== undefined) {
518
- this.#records.set(record.deploymentId, record);
519
- this.#activeTenants.set(tenantDeploymentKey(ref, record.serverVersion), record.deploymentId);
520
- }
521
- return record;
522
- }
523
- const cachedId = this.#activeTenants.get(tenantKey(ref));
524
- if (cachedId !== undefined) {
525
- const cached = this.#records.get(cachedId);
526
- if (cached !== undefined && cached.archivedAt === undefined)
527
- return cached;
528
- }
529
- return defaultActiveRecord([...this.#records.values()], ref);
530
- }
531
- async #activeRecordVersion(ref, serverVersion) {
532
- const safeServerVersion = normalizeServerVersion(serverVersion);
533
- if (this.#store) {
534
- const record = await this.#store.getActiveByTenantVersion(ref, safeServerVersion);
535
- if (record !== undefined) {
536
- this.#records.set(record.deploymentId, record);
537
- this.#activeTenants.set(tenantDeploymentKey(ref, safeServerVersion), record.deploymentId);
538
- }
539
- return record;
540
- }
541
- const cachedId = this.#activeTenants.get(tenantDeploymentKey(ref, safeServerVersion));
542
- if (cachedId !== undefined) {
543
- const cached = this.#records.get(cachedId);
544
- if (cached !== undefined && cached.archivedAt === undefined)
545
- return cached;
546
- }
547
- return [...this.#records.values()]
548
- .filter((record) => record.active &&
549
- record.archivedAt === undefined &&
550
- recordMatchesTenant(record, ref) &&
551
- record.serverVersion === safeServerVersion)
552
- .sort((a, b) => b.deploymentVersion - a.deploymentVersion)[0];
553
- }
554
529
  get configStore() {
555
530
  return this.#configStore;
556
531
  }
@@ -1 +1 @@
1
- {"version":3,"file":"registry.js","sourceRoot":"","sources":["../src/registry.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"registry.js","sourceRoot":"","sources":["../src/registry.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,23 @@
1
+ /**
2
+ * Dispatch for the tenant analytics READ surface (metrics, events, session detail). Extracted
3
+ * verbatim from `service.ts` (which stays a thin composition root under the size gate), keeping the
4
+ * file's uniform parse → security headers → https guard → handler → catch-500 shape plus the
5
+ * 409 "requires a configured event store" precondition each analytics route shares.
6
+ */
7
+ import type { IncomingMessage, ServerResponse } from 'node:http';
8
+ import type { RequestEventStore } from '@noodle-borg/module';
9
+ import type { TlsPosture } from '@noodle-borg/transport-http';
10
+ import type { DeployAuthGate } from '../auth/deploy-gate.js';
11
+ import type { ControlPlaneStore } from '../store.js';
12
+ export interface AnalyticsDispatchDeps {
13
+ readonly gate: DeployAuthGate;
14
+ readonly controlPlane: ControlPlaneStore;
15
+ readonly requestEventStore: RequestEventStore | undefined;
16
+ readonly applySecurityHeaders: (res: ServerResponse, tls: TlsPosture) => void;
17
+ readonly enforceHttps: (req: IncomingMessage, res: ServerResponse, tls: TlsPosture) => boolean;
18
+ readonly sendJson: (res: ServerResponse, status: number, body: unknown) => void;
19
+ readonly tls: TlsPosture;
20
+ }
21
+ /** Try the analytics read routes; returns true when the request was handled (or a guard ended it). */
22
+ export declare function dispatchAnalyticsReads(req: IncomingMessage, res: ServerResponse, url: URL, deps: AnalyticsDispatchDeps): boolean;
23
+ //# sourceMappingURL=analytics-dispatch.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"analytics-dispatch.d.ts","sourceRoot":"","sources":["../../src/routes/analytics-dispatch.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AACH,OAAO,KAAK,EAAE,eAAe,EAAE,cAAc,EAAE,MAAM,WAAW,CAAC;AACjE,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AAC7D,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,6BAA6B,CAAC;AAC9D,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AAC7D,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;AAIrD,MAAM,WAAW,qBAAqB;IACpC,QAAQ,CAAC,IAAI,EAAE,cAAc,CAAC;IAC9B,QAAQ,CAAC,YAAY,EAAE,iBAAiB,CAAC;IACzC,QAAQ,CAAC,iBAAiB,EAAE,iBAAiB,GAAG,SAAS,CAAC;IAC1D,QAAQ,CAAC,oBAAoB,EAAE,CAAC,GAAG,EAAE,cAAc,EAAE,GAAG,EAAE,UAAU,KAAK,IAAI,CAAC;IAC9E,QAAQ,CAAC,YAAY,EAAE,CAAC,GAAG,EAAE,eAAe,EAAE,GAAG,EAAE,cAAc,EAAE,GAAG,EAAE,UAAU,KAAK,OAAO,CAAC;IAC/F,QAAQ,CAAC,QAAQ,EAAE,CAAC,GAAG,EAAE,cAAc,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,KAAK,IAAI,CAAC;IAChF,QAAQ,CAAC,GAAG,EAAE,UAAU,CAAC;CAC1B;AAED,sGAAsG;AACtG,wBAAgB,sBAAsB,CACpC,GAAG,EAAE,eAAe,EACpB,GAAG,EAAE,cAAc,EACnB,GAAG,EAAE,GAAG,EACR,IAAI,EAAE,qBAAqB,GAC1B,OAAO,CA+DT"}
@@ -0,0 +1,53 @@
1
+ import { handleTenantEvents, handleTenantMetrics, handleTenantSession } from './analytics.js';
2
+ import { parseTenantEventsPath, parseTenantMetricsPath, parseTenantSessionPath } from './paths.js';
3
+ /** Try the analytics read routes; returns true when the request was handled (or a guard ended it). */
4
+ export function dispatchAnalyticsReads(req, res, url, deps) {
5
+ const { gate, controlPlane, requestEventStore, applySecurityHeaders, enforceHttps, sendJson, tls, } = deps;
6
+ const metricsRef = parseTenantMetricsPath(url.pathname);
7
+ if (metricsRef !== undefined && req.method === 'GET') {
8
+ applySecurityHeaders(res, tls);
9
+ if (enforceHttps(req, res, tls))
10
+ return true;
11
+ if (requestEventStore === undefined) {
12
+ sendJson(res, 409, { ok: false, error: 'metrics require a configured event store' });
13
+ return true;
14
+ }
15
+ handleTenantMetrics(req, res, gate, controlPlane, requestEventStore, metricsRef, url).catch(() => {
16
+ if (!res.headersSent)
17
+ sendJson(res, 500, { error: 'internal error' });
18
+ });
19
+ return true;
20
+ }
21
+ const eventsRef = parseTenantEventsPath(url.pathname);
22
+ if (eventsRef !== undefined && req.method === 'GET') {
23
+ applySecurityHeaders(res, tls);
24
+ if (enforceHttps(req, res, tls))
25
+ return true;
26
+ if (requestEventStore === undefined) {
27
+ sendJson(res, 409, { ok: false, error: 'events require a configured event store' });
28
+ return true;
29
+ }
30
+ handleTenantEvents(req, res, gate, controlPlane, requestEventStore, eventsRef, url).catch(() => {
31
+ if (!res.headersSent)
32
+ sendJson(res, 500, { error: 'internal error' });
33
+ });
34
+ return true;
35
+ }
36
+ const sessionRef = parseTenantSessionPath(url.pathname);
37
+ if (sessionRef !== undefined && req.method === 'GET') {
38
+ applySecurityHeaders(res, tls);
39
+ if (enforceHttps(req, res, tls))
40
+ return true;
41
+ if (requestEventStore === undefined) {
42
+ sendJson(res, 409, { ok: false, error: 'sessions require a configured event store' });
43
+ return true;
44
+ }
45
+ handleTenantSession(req, res, gate, controlPlane, requestEventStore, sessionRef.ref, sessionRef.sessionId).catch(() => {
46
+ if (!res.headersSent)
47
+ sendJson(res, 500, { error: 'internal error' });
48
+ });
49
+ return true;
50
+ }
51
+ return false;
52
+ }
53
+ //# sourceMappingURL=analytics-dispatch.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"analytics-dispatch.js","sourceRoot":"","sources":["../../src/routes/analytics-dispatch.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,24 @@
1
+ /**
2
+ * The `apps` resource read routes: `GET /v1/orgs/{org}/apps` (list) and `GET /v1/orgs/{org}/apps/{app}`
3
+ * (inspect). Membership-gated exactly like the deployments/org routes (`authorizeTenantControl`); the
4
+ * response payload is `.parse()`d through the Zod contracts (`./contracts.js`) before it goes on the
5
+ * wire, so the shape can never drift from what's declared there. Contract-parse failures are OUR bug,
6
+ * not the caller's: they return 500 (visible to 5xx alerting), while store/lookup failures stay 400.
7
+ */
8
+ import type { IncomingMessage, ServerResponse } from 'node:http';
9
+ import type { DeployAuthGate } from '../auth/deploy-gate.js';
10
+ import type { ServerRegistry } from '../registry.js';
11
+ import type { ControlPlaneStore } from '../store.js';
12
+ export declare function handleApps(req: IncomingMessage, res: ServerResponse, registry: ServerRegistry, gate: DeployAuthGate, controlPlane: ControlPlaneStore, ref: {
13
+ org: string;
14
+ }, url: URL, endpointBase: string): Promise<void>;
15
+ export declare function handleApp(req: IncomingMessage, res: ServerResponse, registry: ServerRegistry, gate: DeployAuthGate, controlPlane: ControlPlaneStore, ref: {
16
+ org: string;
17
+ app: string;
18
+ }, endpointBase: string): Promise<void>;
19
+ /**
20
+ * Send a contract-parsed body; a parse throw means the SERVICE broke its own wire contract
21
+ * (e.g. an aggregation bug), so report 500 — never blame the client with a 400.
22
+ */
23
+ export declare function sendContract(res: ServerResponse, build: () => unknown): void;
24
+ //# sourceMappingURL=apps.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"apps.d.ts","sourceRoot":"","sources":["../../src/routes/apps.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AACH,OAAO,KAAK,EAAE,eAAe,EAAE,cAAc,EAAE,MAAM,WAAW,CAAC;AACjE,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AAE7D,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AACrD,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;AAOrD,wBAAsB,UAAU,CAC9B,GAAG,EAAE,eAAe,EACpB,GAAG,EAAE,cAAc,EACnB,QAAQ,EAAE,cAAc,EACxB,IAAI,EAAE,cAAc,EACpB,YAAY,EAAE,iBAAiB,EAC/B,GAAG,EAAE;IAAE,GAAG,EAAE,MAAM,CAAA;CAAE,EACpB,GAAG,EAAE,GAAG,EACR,YAAY,EAAE,MAAM,GACnB,OAAO,CAAC,IAAI,CAAC,CA0Bf;AAED,wBAAsB,SAAS,CAC7B,GAAG,EAAE,eAAe,EACpB,GAAG,EAAE,cAAc,EACnB,QAAQ,EAAE,cAAc,EACxB,IAAI,EAAE,cAAc,EACpB,YAAY,EAAE,iBAAiB,EAC/B,GAAG,EAAE;IAAE,GAAG,EAAE,MAAM,CAAC;IAAC,GAAG,EAAE,MAAM,CAAA;CAAE,EACjC,YAAY,EAAE,MAAM,GACnB,OAAO,CAAC,IAAI,CAAC,CAYf;AAED;;;GAGG;AACH,wBAAgB,YAAY,CAAC,GAAG,EAAE,cAAc,EAAE,KAAK,EAAE,MAAM,OAAO,GAAG,IAAI,CAS5E"}
@@ -0,0 +1,72 @@
1
+ import { sendJson } from '../http-util.js';
2
+ import { AppResponseSchema, AppsListResponseSchema } from './contracts.js';
3
+ import { authorizeTenantControl } from './control-plane.js';
4
+ import { appWithEndpointUrl } from './endpoint-enrichment.js';
5
+ const MAX_APPS_LIMIT = 500;
6
+ export async function handleApps(req, res, registry, gate, controlPlane, ref, url, endpointBase) {
7
+ const identity = await authorizeTenantControl(req, res, gate, controlPlane, ref.org);
8
+ if (identity === false)
9
+ return;
10
+ const includeArchived = url.searchParams.get('archived') === 'true';
11
+ const limit = parseAppsLimit(url.searchParams.get('limit'));
12
+ if (limit === false) {
13
+ return sendJson(res, 400, { error: `"limit" must be an integer from 1 to ${MAX_APPS_LIMIT}` });
14
+ }
15
+ let result;
16
+ try {
17
+ result = await registry.listApps(ref.org, {
18
+ ...(includeArchived ? { includeArchived: true } : {}),
19
+ ...(limit !== undefined ? { limit } : {}),
20
+ });
21
+ }
22
+ catch (error) {
23
+ return sendJson(res, 400, { error: error.message });
24
+ }
25
+ return sendContract(res, () => AppsListResponseSchema.parse({
26
+ ok: true,
27
+ data: {
28
+ ...result,
29
+ apps: result.apps.map((app) => appWithEndpointUrl(app, endpointBase)),
30
+ },
31
+ }));
32
+ }
33
+ export async function handleApp(req, res, registry, gate, controlPlane, ref, endpointBase) {
34
+ const identity = await authorizeTenantControl(req, res, gate, controlPlane, ref.org);
35
+ if (identity === false)
36
+ return;
37
+ let app;
38
+ try {
39
+ app = await registry.getApp(ref.org, ref.app);
40
+ }
41
+ catch (error) {
42
+ return sendJson(res, 400, { error: error.message });
43
+ }
44
+ if (app === undefined)
45
+ return sendJson(res, 404, { error: 'not found' });
46
+ const enriched = appWithEndpointUrl(app, endpointBase);
47
+ return sendContract(res, () => AppResponseSchema.parse({ ok: true, data: enriched }));
48
+ }
49
+ /**
50
+ * Send a contract-parsed body; a parse throw means the SERVICE broke its own wire contract
51
+ * (e.g. an aggregation bug), so report 500 — never blame the client with a 400.
52
+ */
53
+ export function sendContract(res, build) {
54
+ let body;
55
+ try {
56
+ body = build();
57
+ }
58
+ catch {
59
+ sendJson(res, 500, { error: 'internal error' });
60
+ return;
61
+ }
62
+ sendJson(res, 200, body);
63
+ }
64
+ function parseAppsLimit(value) {
65
+ if (value === null || value.trim() === '')
66
+ return undefined;
67
+ const parsed = Number(value);
68
+ if (!Number.isInteger(parsed) || parsed < 1 || parsed > MAX_APPS_LIMIT)
69
+ return false;
70
+ return parsed;
71
+ }
72
+ //# sourceMappingURL=apps.js.map