@noodleseed/one 0.162.0 → 0.164.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 (326) hide show
  1. package/dist/banner.d.ts +6 -0
  2. package/dist/banner.d.ts.map +1 -0
  3. package/dist/banner.js +29 -0
  4. package/dist/banner.js.map +1 -0
  5. package/dist/commands/billing-catalog-ops.d.ts +4 -0
  6. package/dist/commands/billing-catalog-ops.d.ts.map +1 -0
  7. package/dist/commands/billing-catalog-ops.js +58 -0
  8. package/dist/commands/billing-catalog-ops.js.map +1 -0
  9. package/dist/commands/billing-ops.d.ts.map +1 -1
  10. package/dist/commands/billing-ops.js +3 -0
  11. package/dist/commands/billing-ops.js.map +1 -1
  12. package/dist/commands/catalog.d.ts.map +1 -1
  13. package/dist/commands/catalog.js +2 -0
  14. package/dist/commands/catalog.js.map +1 -1
  15. package/dist/commands/config-values.d.ts.map +1 -1
  16. package/dist/commands/config-values.js +16 -0
  17. package/dist/commands/config-values.js.map +1 -1
  18. package/dist/commands/installation-variables.d.ts +26 -0
  19. package/dist/commands/installation-variables.d.ts.map +1 -0
  20. package/dist/commands/installation-variables.js +171 -0
  21. package/dist/commands/installation-variables.js.map +1 -0
  22. package/dist/commands/project-setup.d.ts.map +1 -1
  23. package/dist/commands/project-setup.js +2 -0
  24. package/dist/commands/project-setup.js.map +1 -1
  25. package/dist/commands/solutions-activity.d.ts +5 -0
  26. package/dist/commands/solutions-activity.d.ts.map +1 -0
  27. package/dist/commands/solutions-activity.js +116 -0
  28. package/dist/commands/solutions-activity.js.map +1 -0
  29. package/dist/commands/solutions-connections.d.ts +7 -0
  30. package/dist/commands/solutions-connections.d.ts.map +1 -0
  31. package/dist/commands/solutions-connections.js +88 -0
  32. package/dist/commands/solutions-connections.js.map +1 -0
  33. package/dist/commands/solutions-installation-options.d.ts +5 -0
  34. package/dist/commands/solutions-installation-options.d.ts.map +1 -0
  35. package/dist/commands/solutions-installation-options.js +52 -0
  36. package/dist/commands/solutions-installation-options.js.map +1 -0
  37. package/dist/commands/solutions-onboarding.d.ts +5 -0
  38. package/dist/commands/solutions-onboarding.d.ts.map +1 -0
  39. package/dist/commands/solutions-onboarding.js +113 -0
  40. package/dist/commands/solutions-onboarding.js.map +1 -0
  41. package/dist/commands/solutions-ops.d.ts.map +1 -1
  42. package/dist/commands/solutions-ops.js +278 -17
  43. package/dist/commands/solutions-ops.js.map +1 -1
  44. package/dist/first-run.d.ts.map +1 -1
  45. package/dist/first-run.js +2 -0
  46. package/dist/first-run.js.map +1 -1
  47. package/dist/index.d.ts +1 -1
  48. package/dist/index.d.ts.map +1 -1
  49. package/dist/index.js +1 -1
  50. package/dist/index.js.map +1 -1
  51. package/node_modules/@noodle-borg/admission-limits/dist/counter-store.d.ts +21 -2
  52. package/node_modules/@noodle-borg/admission-limits/dist/counter-store.js +10 -1
  53. package/node_modules/@noodle-borg/admission-limits/dist/in-memory-counter-store.d.ts +5 -1
  54. package/node_modules/@noodle-borg/admission-limits/dist/in-memory-counter-store.js +31 -2
  55. package/node_modules/@noodle-borg/admission-limits/dist/portable.d.ts +3 -0
  56. package/node_modules/@noodle-borg/admission-limits/dist/portable.js +3 -0
  57. package/node_modules/@noodle-borg/admission-limits/dist/public-admission-assertion.d.ts +28 -0
  58. package/node_modules/@noodle-borg/admission-limits/dist/public-admission-assertion.js +124 -0
  59. package/node_modules/@noodle-borg/admission-limits/dist/public-record-admission.d.ts +54 -0
  60. package/node_modules/@noodle-borg/admission-limits/dist/public-record-admission.js +74 -0
  61. package/node_modules/@noodle-borg/admission-limits/dist/request-attribution.d.ts +11 -0
  62. package/node_modules/@noodle-borg/admission-limits/dist/request-attribution.js +19 -0
  63. package/node_modules/@noodle-borg/agent-kit/dist/curated/error-fixes.js +2 -0
  64. package/node_modules/@noodle-borg/agent-kit/dist/generated/example-files.js +5 -5
  65. package/node_modules/@noodle-borg/agent-kit/dist/generated/surface.js +3 -0
  66. package/node_modules/@noodle-borg/agent-kit/dist/index.d.ts +1 -0
  67. package/node_modules/@noodle-borg/agent-kit/dist/index.js +1 -0
  68. package/node_modules/@noodle-borg/agent-kit/dist/plugin-bootstrap-skill.js +10 -0
  69. package/node_modules/@noodle-borg/agent-kit/dist/skill-authoring-refs.js +15 -3
  70. package/node_modules/@noodle-borg/agent-kit/dist/skill-content.js +1 -1
  71. package/node_modules/@noodle-borg/agent-kit/dist/welcome-wordmark.d.ts +3 -0
  72. package/node_modules/@noodle-borg/agent-kit/dist/welcome-wordmark.js +10 -0
  73. package/node_modules/@noodle-borg/agent-kit/package.json +1 -1
  74. package/node_modules/@noodle-borg/assistant-gateway/dist/assistant-configuration.d.ts +9 -1
  75. package/node_modules/@noodle-borg/assistant-gateway/dist/assistant-configuration.js +33 -2
  76. package/node_modules/@noodle-borg/assistant-gateway/dist/assistant-execution-bound.d.ts +3 -0
  77. package/node_modules/@noodle-borg/assistant-gateway/dist/assistant-execution-bound.js +29 -0
  78. package/node_modules/@noodle-borg/assistant-gateway/dist/assistant-interaction-state.d.ts +5 -3
  79. package/node_modules/@noodle-borg/assistant-gateway/dist/assistant-interaction-state.js +21 -10
  80. package/node_modules/@noodle-borg/assistant-gateway/dist/assistant-store.d.ts +1 -1
  81. package/node_modules/@noodle-borg/assistant-gateway/dist/assistant-store.js +3 -3
  82. package/node_modules/@noodle-borg/assistant-gateway/dist/portable.d.ts +1 -0
  83. package/node_modules/@noodle-borg/assistant-gateway/dist/portable.js +1 -0
  84. package/node_modules/@noodle-borg/assistant-gateway/dist/session-target.js +5 -4
  85. package/node_modules/@noodle-borg/assistant-gateway/package.json +1 -1
  86. package/node_modules/@noodle-borg/authoring/dist/config.d.ts +20 -0
  87. package/node_modules/@noodle-borg/authoring/dist/config.js +29 -2
  88. package/node_modules/@noodle-borg/authoring/dist/connectors.d.ts +6 -1
  89. package/node_modules/@noodle-borg/authoring/dist/connectors.js +5 -0
  90. package/node_modules/@noodle-borg/authoring/dist/index.d.ts +2 -2
  91. package/node_modules/@noodle-borg/authoring/dist/json-schema.d.ts +1 -1
  92. package/node_modules/@noodle-borg/authoring/dist/json-schema.js +15 -2
  93. package/node_modules/@noodle-borg/authoring/dist/load-authored.js +1 -1
  94. package/node_modules/@noodle-borg/authoring/dist/managed-collection.d.ts +18 -4
  95. package/node_modules/@noodle-borg/authoring/dist/managed-collection.js +22 -3
  96. package/node_modules/@noodle-borg/authoring/dist/platform.d.ts +3 -0
  97. package/node_modules/@noodle-borg/authoring/dist/platform.js +4 -0
  98. package/node_modules/@noodle-borg/authoring/dist/server-presentation.js +43 -0
  99. package/node_modules/@noodle-borg/authoring/dist/server.d.ts +3 -1
  100. package/node_modules/@noodle-borg/authoring/dist/server.js +4 -44
  101. package/node_modules/@noodle-borg/cli-catalog/dist/catalog-data-billing.js +18 -0
  102. package/node_modules/@noodle-borg/cli-catalog/dist/catalog-data-config.js +31 -4
  103. package/node_modules/@noodle-borg/cli-catalog/dist/catalog-data-solutions.js +778 -0
  104. package/node_modules/@noodle-borg/cli-catalog/dist/catalog-data-tenant-resources.js +0 -241
  105. package/node_modules/@noodle-borg/cli-catalog/dist/catalog-types.js +7 -0
  106. package/node_modules/@noodle-borg/cli-catalog/dist/index.js +20 -0
  107. package/node_modules/@noodle-borg/compiler/dist/artifact/assemble.js +2 -1
  108. package/node_modules/@noodle-borg/compiler/dist/artifact/catalog-emission.js +3 -1
  109. package/node_modules/@noodle-borg/compiler/dist/artifact/config.js +3 -0
  110. package/node_modules/@noodle-borg/compiler/dist/artifact/types.d.ts +17 -1
  111. package/node_modules/@noodle-borg/compiler/dist/artifact/version.d.ts +6 -1
  112. package/node_modules/@noodle-borg/compiler/dist/artifact/version.js +6 -1
  113. package/node_modules/@noodle-borg/compiler/dist/business-variables.d.ts +27 -0
  114. package/node_modules/@noodle-borg/compiler/dist/business-variables.js +230 -0
  115. package/node_modules/@noodle-borg/compiler/dist/compile.js +7 -1
  116. package/node_modules/@noodle-borg/compiler/dist/errors.d.ts +1 -1
  117. package/node_modules/@noodle-borg/compiler/dist/index.d.ts +3 -0
  118. package/node_modules/@noodle-borg/compiler/dist/index.js +3 -0
  119. package/node_modules/@noodle-borg/compiler/dist/managed-collection-controls.d.ts +52 -0
  120. package/node_modules/@noodle-borg/compiler/dist/managed-collection-controls.js +92 -0
  121. package/node_modules/@noodle-borg/compiler/dist/managed-collections.d.ts +26 -1
  122. package/node_modules/@noodle-borg/compiler/dist/managed-collections.js +190 -1
  123. package/node_modules/@noodle-borg/compiler/dist/manifest/schema.d.ts +100 -36
  124. package/node_modules/@noodle-borg/compiler/dist/manifest/schema.js +2 -0
  125. package/node_modules/@noodle-borg/compiler/dist/native-record-operations.d.ts +7 -0
  126. package/node_modules/@noodle-borg/compiler/dist/native-record-operations.js +59 -0
  127. package/node_modules/@noodle-borg/connector-defs/dist/compile-http.js +83 -8
  128. package/node_modules/@noodle-borg/connector-defs/dist/schema.d.ts +31 -1
  129. package/node_modules/@noodle-borg/connector-defs/dist/schema.js +16 -0
  130. package/node_modules/@noodle-borg/connector-http/dist/http-connector.d.ts +12 -3
  131. package/node_modules/@noodle-borg/connector-http/dist/http-connector.js +41 -2
  132. package/node_modules/@noodle-borg/connector-http/dist/http-response.js +3 -2
  133. package/node_modules/@noodle-borg/connector-http/dist/mcp/config.js +1 -1
  134. package/node_modules/@noodle-borg/connector-http/dist/url-resolution.js +1 -1
  135. package/node_modules/@noodle-borg/control-plane/dist/contracts.d.ts +4 -1
  136. package/node_modules/@noodle-borg/control-plane/dist/deploy-gates.js +1 -0
  137. package/node_modules/@noodle-borg/control-plane/dist/in-memory-organization-store.d.ts +3 -0
  138. package/node_modules/@noodle-borg/control-plane/dist/in-memory-organization-store.js +11 -0
  139. package/node_modules/@noodle-borg/control-plane/dist/organization-agreements.d.ts +45 -0
  140. package/node_modules/@noodle-borg/control-plane/dist/organization-agreements.js +74 -0
  141. package/node_modules/@noodle-borg/control-plane/dist/portable.d.ts +1 -0
  142. package/node_modules/@noodle-borg/control-plane/dist/portable.js +1 -0
  143. package/node_modules/@noodle-borg/module/dist/contract.d.ts +22 -0
  144. package/node_modules/@noodle-borg/module/dist/platform-human-identity.d.ts +2 -0
  145. package/node_modules/@noodle-borg/protocol/dist/request-deps.js +1 -0
  146. package/node_modules/@noodle-borg/protocol/dist/request-state.d.ts +1 -0
  147. package/node_modules/@noodle-borg/protocol/dist/request-state.js +11 -2
  148. package/node_modules/@noodle-borg/protocol/dist/sdk-server.d.ts +2 -0
  149. package/node_modules/@noodle-borg/protocol/dist/v2/input-required.js +2 -1
  150. package/node_modules/@noodle-borg/protocol/dist/v2/server.js +2 -1
  151. package/node_modules/@noodle-borg/runtime/dist/ambient-context.js +6 -1
  152. package/node_modules/@noodle-borg/runtime/dist/broker/types.d.ts +2 -0
  153. package/node_modules/@noodle-borg/runtime/dist/business-variables.d.ts +15 -0
  154. package/node_modules/@noodle-borg/runtime/dist/business-variables.js +75 -0
  155. package/node_modules/@noodle-borg/runtime/dist/confirmation-continuation.js +2 -1
  156. package/node_modules/@noodle-borg/runtime/dist/confirmation.js +23 -3
  157. package/node_modules/@noodle-borg/runtime/dist/connector/types.d.ts +17 -1
  158. package/node_modules/@noodle-borg/runtime/dist/connector-snapshot.js +6 -0
  159. package/node_modules/@noodle-borg/runtime/dist/execute.d.ts +18 -3
  160. package/node_modules/@noodle-borg/runtime/dist/execute.js +13 -3
  161. package/node_modules/@noodle-borg/runtime/dist/index.d.ts +2 -0
  162. package/node_modules/@noodle-borg/runtime/dist/index.js +1 -0
  163. package/node_modules/@noodle-borg/runtime/dist/interactive.js +11 -0
  164. package/node_modules/@noodle-borg/runtime/dist/managed-origins.d.ts +3 -1
  165. package/node_modules/@noodle-borg/runtime/dist/managed-origins.js +32 -7
  166. package/node_modules/@noodle-borg/runtime/dist/operation-credential.js +6 -0
  167. package/node_modules/@noodle-borg/runtime/dist/operation-evidence.d.ts +30 -0
  168. package/node_modules/@noodle-borg/runtime/dist/operation-evidence.js +68 -0
  169. package/node_modules/@noodle-borg/runtime/dist/operation-execution.d.ts +2 -2
  170. package/node_modules/@noodle-borg/runtime/dist/operation-execution.js +142 -71
  171. package/node_modules/@noodle-borg/runtime/dist/result.d.ts +6 -4
  172. package/node_modules/@noodle-borg/runtime/dist/tool-dispatch.d.ts +7 -0
  173. package/node_modules/@noodle-borg/runtime/dist/tool-dispatch.js +48 -4
  174. package/node_modules/@noodle-borg/service/dist/admission.js +2 -1
  175. package/node_modules/@noodle-borg/service/dist/application-activity.js +236 -0
  176. package/node_modules/@noodle-borg/service/dist/application-business-notice.js +28 -0
  177. package/node_modules/@noodle-borg/service/dist/application-runtime-target.js +141 -0
  178. package/node_modules/@noodle-borg/service/dist/application-settings-targets.js +72 -0
  179. package/node_modules/@noodle-borg/service/dist/application-settings.js +210 -0
  180. package/node_modules/@noodle-borg/service/dist/business-api-admission.js +121 -0
  181. package/node_modules/@noodle-borg/service/dist/business-information/activity-pagination.js +73 -0
  182. package/node_modules/@noodle-borg/service/dist/business-information/business-notice.d.ts +24 -0
  183. package/node_modules/@noodle-borg/service/dist/business-information/business-notice.js +18 -0
  184. package/node_modules/@noodle-borg/service/dist/business-information/collection-controls.js +51 -0
  185. package/node_modules/@noodle-borg/service/dist/business-information/contracts.d.ts +439 -0
  186. package/node_modules/@noodle-borg/service/dist/business-information/definition-resolver.js +94 -0
  187. package/node_modules/@noodle-borg/service/dist/business-information/in-memory-installation-lifecycle.js +136 -0
  188. package/node_modules/@noodle-borg/service/dist/business-information/in-memory-invitations.js +160 -0
  189. package/node_modules/@noodle-borg/service/dist/business-information/in-memory-locks.js +23 -0
  190. package/node_modules/@noodle-borg/service/dist/business-information/in-memory-store.js +287 -132
  191. package/node_modules/@noodle-borg/service/dist/business-information/installation-capacity.js +10 -0
  192. package/node_modules/@noodle-borg/service/dist/business-information/invitations.js +68 -0
  193. package/node_modules/@noodle-borg/service/dist/business-information/legacy-request-migration.js +60 -0
  194. package/node_modules/@noodle-borg/service/dist/business-information/managed-releases.js +245 -0
  195. package/node_modules/@noodle-borg/service/dist/business-information/managed-solution-blueprints.js +51 -0
  196. package/node_modules/@noodle-borg/service/dist/business-information/managed-solution-executable.js +76 -0
  197. package/node_modules/@noodle-borg/service/dist/business-information/model.js +124 -23
  198. package/node_modules/@noodle-borg/service/dist/business-information/native-query.js +162 -0
  199. package/node_modules/@noodle-borg/service/dist/business-information/native-storage-budget.js +60 -0
  200. package/node_modules/@noodle-borg/service/dist/business-information/pagination.js +28 -0
  201. package/node_modules/@noodle-borg/service/dist/business-information/portable.js +9 -0
  202. package/node_modules/@noodle-borg/service/dist/business-information/principal-authority.d.ts +11 -0
  203. package/node_modules/@noodle-borg/service/dist/business-information/principal-authority.js +42 -0
  204. package/node_modules/@noodle-borg/service/dist/business-information/profiles.js +137 -6
  205. package/node_modules/@noodle-borg/service/dist/business-information/reader-floor.js +26 -0
  206. package/node_modules/@noodle-borg/service/dist/business-information/source-credential-fence.js +79 -0
  207. package/node_modules/@noodle-borg/service/dist/business-information/source-custody-budget.js +30 -0
  208. package/node_modules/@noodle-borg/service/dist/business-information/source-custody-memory.js +122 -0
  209. package/node_modules/@noodle-borg/service/dist/business-information/source-executor.js +191 -0
  210. package/node_modules/@noodle-borg/service/dist/business-information/source-ingestion-contracts.js +2 -0
  211. package/node_modules/@noodle-borg/service/dist/business-information/source-ingestion-coordinator.js +136 -0
  212. package/node_modules/@noodle-borg/service/dist/business-information/source-ingestion-failures.js +32 -0
  213. package/node_modules/@noodle-borg/service/dist/business-information/source-ingestion-memory-state.js +154 -0
  214. package/node_modules/@noodle-borg/service/dist/business-information/source-ingestion-memory-store.js +568 -0
  215. package/node_modules/@noodle-borg/service/dist/business-information/source-ingestion-memory-types.js +26 -0
  216. package/node_modules/@noodle-borg/service/dist/business-information/source-ingestion-memory-values.js +59 -0
  217. package/node_modules/@noodle-borg/service/dist/business-information/source-ingestion-pagination.js +54 -0
  218. package/node_modules/@noodle-borg/service/dist/business-information/source-ingestion-validation.js +163 -0
  219. package/node_modules/@noodle-borg/service/dist/business-information/source-refresh-retention.js +29 -0
  220. package/node_modules/@noodle-borg/service/dist/business-information-runtime.js +80 -0
  221. package/node_modules/@noodle-borg/service/dist/business-onboarding.js +73 -0
  222. package/node_modules/@noodle-borg/service/dist/connections/types.js +8 -0
  223. package/node_modules/@noodle-borg/service/dist/credential-binding-index.js +38 -33
  224. package/node_modules/@noodle-borg/service/dist/deployment-execution.js +275 -0
  225. package/node_modules/@noodle-borg/service/dist/external-credential-binding-broker.js +19 -1
  226. package/node_modules/@noodle-borg/service/dist/external-credential-exchange.d.ts +16 -1
  227. package/node_modules/@noodle-borg/service/dist/modules/host.js +4 -1
  228. package/node_modules/@noodle-borg/service/dist/native-record-connector.d.ts +20 -0
  229. package/node_modules/@noodle-borg/service/dist/native-record-connector.js +206 -0
  230. package/node_modules/@noodle-borg/service/dist/oauth/store.d.ts +3 -0
  231. package/node_modules/@noodle-borg/service/dist/operation-evidence.js +89 -0
  232. package/node_modules/@noodle-borg/service/dist/recovery-quarantine.js +49 -0
  233. package/node_modules/@noodle-borg/service/dist/registry-compile.js +60 -11
  234. package/node_modules/@noodle-borg/service/dist/registry-deploy-transaction.js +18 -0
  235. package/node_modules/@noodle-borg/service/dist/registry-rollback.js +2 -1
  236. package/node_modules/@noodle-borg/service/dist/registry-state.d.ts +1 -1
  237. package/node_modules/@noodle-borg/service/dist/registry-state.js +6 -3
  238. package/node_modules/@noodle-borg/service/dist/registry-targets.js +49 -0
  239. package/node_modules/@noodle-borg/service/dist/registry-types.d.ts +2 -0
  240. package/node_modules/@noodle-borg/service/dist/registry.d.ts +15 -3
  241. package/node_modules/@noodle-borg/service/dist/registry.js +177 -137
  242. package/node_modules/@noodle-borg/service/dist/routes/assistant-appearance.js +3 -2
  243. package/node_modules/@noodle-borg/service/dist/routes/assistant-clients.js +2 -1
  244. package/node_modules/@noodle-borg/service/dist/routes/assistant-doctor.js +2 -1
  245. package/node_modules/@noodle-borg/service/dist/routes/assistant-embeds.js +8 -3
  246. package/node_modules/@noodle-borg/service/dist/routes/assistant-interaction-replay.js +1 -1
  247. package/node_modules/@noodle-borg/service/dist/routes/assistant-interactions.js +48 -36
  248. package/node_modules/@noodle-borg/service/dist/routes/assistant-public-configuration.js +3 -2
  249. package/node_modules/@noodle-borg/service/dist/routes/assistant-public-session.js +10 -10
  250. package/node_modules/@noodle-borg/service/dist/routes/assistant-session-target.js +32 -3
  251. package/node_modules/@noodle-borg/service/dist/routes/assistant-suggestions.js +1 -1
  252. package/node_modules/@noodle-borg/service/dist/routes/assistant-transcript.js +1 -1
  253. package/node_modules/@noodle-borg/service/dist/routes/assistant.js +10 -10
  254. package/node_modules/@noodle-borg/service/dist/routes/business-information-activity.js +83 -0
  255. package/node_modules/@noodle-borg/service/dist/routes/business-information-admission.js +26 -0
  256. package/node_modules/@noodle-borg/service/dist/routes/business-information-channels.js +153 -0
  257. package/node_modules/@noodle-borg/service/dist/routes/business-information-connections.js +107 -0
  258. package/node_modules/@noodle-borg/service/dist/routes/business-information-dispatch.js +87 -4
  259. package/node_modules/@noodle-borg/service/dist/routes/business-information-external.js +79 -0
  260. package/node_modules/@noodle-borg/service/dist/routes/business-information-installation.js +24 -0
  261. package/node_modules/@noodle-borg/service/dist/routes/business-information-notice.js +69 -0
  262. package/node_modules/@noodle-borg/service/dist/routes/business-information-onboarding.js +58 -0
  263. package/node_modules/@noodle-borg/service/dist/routes/business-information-paths.js +76 -0
  264. package/node_modules/@noodle-borg/service/dist/routes/business-information-public.js +151 -0
  265. package/node_modules/@noodle-borg/service/dist/routes/business-information-reader-floor.js +15 -0
  266. package/node_modules/@noodle-borg/service/dist/routes/business-information-record-create.js +29 -0
  267. package/node_modules/@noodle-borg/service/dist/routes/business-information-record-reads.js +36 -0
  268. package/node_modules/@noodle-borg/service/dist/routes/business-information-request.js +64 -0
  269. package/node_modules/@noodle-borg/service/dist/routes/business-information-settings.js +64 -0
  270. package/node_modules/@noodle-borg/service/dist/routes/business-information-source.js +249 -0
  271. package/node_modules/@noodle-borg/service/dist/routes/business-information-staff.js +258 -0
  272. package/node_modules/@noodle-borg/service/dist/routes/business-information-wire.js +226 -26
  273. package/node_modules/@noodle-borg/service/dist/routes/business-information.js +238 -197
  274. package/node_modules/@noodle-borg/service/dist/routes/config-values-dispatch.js +1 -1
  275. package/node_modules/@noodle-borg/service/dist/routes/config-values.js +26 -4
  276. package/node_modules/@noodle-borg/service/dist/routes/control-plane.js +33 -234
  277. package/node_modules/@noodle-borg/service/dist/routes/deployment-activation-response.js +13 -4
  278. package/node_modules/@noodle-borg/service/dist/service-resource-cleanup.js +4 -0
  279. package/node_modules/@noodle-borg/service/dist/service.js +57 -11
  280. package/node_modules/@noodle-borg/service/dist/solution-installation-activation.js +149 -0
  281. package/node_modules/@noodle-borg/service/dist/source-configuration-authority.js +94 -0
  282. package/node_modules/@noodle-borg/service/dist/state-catalog.js +6 -5
  283. package/node_modules/@noodle-borg/service/dist/store/config-values.d.ts +42 -17
  284. package/node_modules/@noodle-borg/service/dist/store/config-values.js +123 -24
  285. package/node_modules/@noodle-borg/service/dist/store/in-memory.d.ts +1 -0
  286. package/node_modules/@noodle-borg/service/dist/store/in-memory.js +3 -0
  287. package/node_modules/@noodle-borg/service/dist/store/json-file.d.ts +1 -0
  288. package/node_modules/@noodle-borg/service/dist/store/json-file.js +3 -0
  289. package/node_modules/@noodle-borg/service/dist/store.d.ts +3 -1
  290. package/node_modules/@noodle-borg/service/package.json +2 -2
  291. package/node_modules/@noodle-borg/transport-http/dist/serve-request.js +9 -0
  292. package/node_modules/@noodle-borg/transport-http/package.json +1 -0
  293. package/node_modules/@noodle-borg/wire-contracts/dist/application-activity.d.ts +143 -0
  294. package/node_modules/@noodle-borg/wire-contracts/dist/application-activity.js +90 -0
  295. package/node_modules/@noodle-borg/wire-contracts/dist/application-channels.d.ts +130 -0
  296. package/node_modules/@noodle-borg/wire-contracts/dist/application-channels.js +77 -0
  297. package/node_modules/@noodle-borg/wire-contracts/dist/application-connections.d.ts +105 -0
  298. package/node_modules/@noodle-borg/wire-contracts/dist/application-connections.js +67 -0
  299. package/node_modules/@noodle-borg/wire-contracts/dist/application-onboarding.d.ts +27 -0
  300. package/node_modules/@noodle-borg/wire-contracts/dist/application-onboarding.js +28 -0
  301. package/node_modules/@noodle-borg/wire-contracts/dist/application-settings.d.ts +112 -0
  302. package/node_modules/@noodle-borg/wire-contracts/dist/application-settings.js +88 -0
  303. package/node_modules/@noodle-borg/wire-contracts/dist/assistant.d.ts +1 -1
  304. package/node_modules/@noodle-borg/wire-contracts/dist/billing-catalog.d.ts +62 -0
  305. package/node_modules/@noodle-borg/wire-contracts/dist/billing-catalog.js +57 -0
  306. package/node_modules/@noodle-borg/wire-contracts/dist/billing-enforcement.d.ts +12 -12
  307. package/node_modules/@noodle-borg/wire-contracts/dist/billing-metering.d.ts +4 -4
  308. package/node_modules/@noodle-borg/wire-contracts/dist/billing-org-transfer.d.ts +3 -3
  309. package/node_modules/@noodle-borg/wire-contracts/dist/business-information-query.d.ts +25 -0
  310. package/node_modules/@noodle-borg/wire-contracts/dist/business-information-query.js +37 -0
  311. package/node_modules/@noodle-borg/wire-contracts/dist/business-information.d.ts +1816 -158
  312. package/node_modules/@noodle-borg/wire-contracts/dist/business-information.js +416 -41
  313. package/node_modules/@noodle-borg/wire-contracts/dist/control-plane.d.ts +2 -2
  314. package/node_modules/@noodle-borg/wire-contracts/dist/distribution.d.ts +5 -5
  315. package/node_modules/@noodle-borg/wire-contracts/dist/index.d.ts +8 -0
  316. package/node_modules/@noodle-borg/wire-contracts/dist/index.js +8 -0
  317. package/node_modules/@noodle-borg/wire-contracts/dist/knowledge.d.ts +3 -3
  318. package/node_modules/@noodle-borg/wire-contracts/dist/managed-assistant-sponsorship.d.ts +7 -7
  319. package/node_modules/@noodle-borg/wire-contracts/dist/platform-account-reset.d.ts +5 -0
  320. package/node_modules/@noodle-borg/wire-contracts/dist/platform-account-reset.js +1 -0
  321. package/node_modules/@noodle-borg/wire-contracts/dist/platform-auth.d.ts +66 -66
  322. package/node_modules/@noodle-borg/wire-contracts/dist/solution-onboarding.d.ts +143 -0
  323. package/node_modules/@noodle-borg/wire-contracts/dist/solution-onboarding.js +94 -0
  324. package/node_modules/@noodleseed/assistant/README.md +5 -0
  325. package/node_modules/@noodleseed/assistant/package.json +1 -1
  326. package/package.json +2 -2
@@ -1,6 +1,15 @@
1
1
  import { z } from 'zod';
2
- /** Public, data-driven solution profiles shipped by the managed-record MVP. */
3
- export const SOLUTION_PROFILE_IDS = ['travel', 'b2b_saas', 'ecommerce', 'restaurant'];
2
+ import { BusinessNoticeSchema } from './solution-onboarding.js';
3
+ /** Public Noodle-authored profiles. B2B SaaS uses the private-definition path. */
4
+ export const MANAGED_SOLUTION_PROFILE_IDS = ['travel', 'ecommerce', 'restaurant'];
5
+ export const LEGACY_SOLUTION_PROFILE_IDS = ['b2b_saas'];
6
+ export const SOLUTION_PROFILE_IDS = [
7
+ ...MANAGED_SOLUTION_PROFILE_IDS,
8
+ ...LEGACY_SOLUTION_PROFILE_IDS,
9
+ ];
10
+ export const ManagedSolutionProfileIdSchema = z.enum(MANAGED_SOLUTION_PROFILE_IDS);
11
+ export const LegacySolutionProfileIdSchema = z.enum(LEGACY_SOLUTION_PROFILE_IDS);
12
+ /** Read compatibility for persisted identifiers; never use this schema for new catalog entries. */
4
13
  export const SolutionProfileIdSchema = z.enum(SOLUTION_PROFILE_IDS);
5
14
  export const MANAGED_RECORD_RETENTION_DAYS = [7, 30, 90];
6
15
  export const ManagedRecordRetentionDaysSchema = z.union([
@@ -8,12 +17,29 @@ export const ManagedRecordRetentionDaysSchema = z.union([
8
17
  z.literal(30),
9
18
  z.literal(90),
10
19
  ]);
20
+ /** Optional request-application behavior; not a universal collection lifecycle. */
11
21
  export const MANAGED_RECORD_STATUSES = ['new', 'in_progress', 'resolved', 'closed'];
12
22
  export const ManagedRecordStatusSchema = z.enum(MANAGED_RECORD_STATUSES);
13
23
  export const BUSINESS_GRANT_ROLES = ['administrator', 'manager', 'operator', 'viewer'];
14
24
  export const BusinessGrantRoleSchema = z.enum(BUSINESS_GRANT_ROLES);
15
25
  export const MANAGED_RECORD_ORIGIN_SURFACES = ['public', 'portal', 'mcp', 'api'];
16
26
  export const ManagedRecordOriginSurfaceSchema = z.enum(MANAGED_RECORD_ORIGIN_SURFACES);
27
+ export const COLLECTION_SOURCE_HEALTH_STATES = [
28
+ 'pending',
29
+ 'healthy',
30
+ 'degraded',
31
+ 'unavailable',
32
+ 'authorization_required',
33
+ 'paused',
34
+ ];
35
+ export const CollectionSourceHealthSchema = z.enum(COLLECTION_SOURCE_HEALTH_STATES);
36
+ export const COLLECTION_SOURCE_COMPLETENESS_STATES = [
37
+ 'unknown',
38
+ 'partial',
39
+ 'complete',
40
+ 'rebuilding',
41
+ ];
42
+ export const CollectionSourceCompletenessSchema = z.enum(COLLECTION_SOURCE_COMPLETENESS_STATES);
17
43
  const id = z.string().min(1).max(128);
18
44
  const slug = z
19
45
  .string()
@@ -23,51 +49,156 @@ const collectionKey = z
23
49
  .string()
24
50
  .regex(/^[a-z][a-z0-9_]*$/)
25
51
  .max(64);
52
+ const operationName = z
53
+ .string()
54
+ .regex(/^[a-z][a-z0-9_]*$/)
55
+ .max(64);
26
56
  const instant = z.iso.datetime({ offset: true });
27
57
  const digest = z.string().regex(/^[a-f0-9]{64}$/);
28
58
  const jsonObject = z.record(z.string(), z.unknown());
29
- export const ManagedCollectionProfileSchema = z.strictObject({
59
+ const positiveRevision = z.number().int().positive();
60
+ const collectionProfileShape = {
30
61
  key: collectionKey,
31
62
  title: z.string().min(1).max(120),
32
63
  singularTitle: z.string().min(1).max(120),
33
64
  schemaVersion: z.number().int().positive(),
34
65
  schemaDigest: digest,
35
66
  recordSchema: jsonObject,
36
- summaryFields: z.array(z.string().min(1).max(64)).max(6),
67
+ summaryFields: z.array(z.string().min(1).max(64)).max(128),
68
+ fields: z
69
+ .record(z.string().min(1).max(64), z.strictObject({
70
+ label: z.string().min(1).max(120).optional(),
71
+ help: z.string().max(1000).optional(),
72
+ }))
73
+ .optional(),
74
+ filterFields: z.array(z.string().min(1).max(64)).max(128).optional(),
75
+ sortFields: z.array(z.string().min(1).max(64)).max(128).optional(),
76
+ };
77
+ export const ManagedRequestBehaviorSchema = z.strictObject({
78
+ statuses: z.array(ManagedRecordStatusSchema).min(1).max(MANAGED_RECORD_STATUSES.length),
79
+ assignment: z.boolean(),
80
+ notes: z.boolean(),
81
+ });
82
+ export const NativeManagedCollectionProfileSchema = z.strictObject({
83
+ authority: z.literal('native'),
84
+ ...collectionProfileShape,
85
+ management: z
86
+ .strictObject({ assignment: z.literal(true).optional(), notes: z.literal(true).optional() })
87
+ .optional(),
88
+ publicFields: z.array(z.string().min(1).max(64)).max(128).optional(),
89
+ editableFields: z.array(z.string().min(1).max(64)).max(128).optional(),
90
+ capabilities: z.strictObject({
91
+ read: z.literal(true),
92
+ create: z.literal(true),
93
+ update: z.literal(true),
94
+ erase: z.literal(true),
95
+ sourceControls: z.literal(false),
96
+ }),
97
+ requestBehavior: ManagedRequestBehaviorSchema.optional(),
98
+ });
99
+ export const ExternalManagedCollectionProfileSchema = z.strictObject({
100
+ authority: z.literal('external'),
101
+ ...collectionProfileShape,
102
+ capabilities: z.strictObject({
103
+ read: z.literal(true),
104
+ create: z.literal(false),
105
+ update: z.literal(false),
106
+ erase: z.literal(true),
107
+ sourceControls: z.literal(true),
108
+ }),
109
+ source: z.strictObject({
110
+ connector: id,
111
+ scanOperation: operationName,
112
+ }),
37
113
  });
114
+ export const ManagedCollectionProfileSchema = z.discriminatedUnion('authority', [
115
+ NativeManagedCollectionProfileSchema,
116
+ ExternalManagedCollectionProfileSchema,
117
+ ]);
38
118
  export const SolutionProfileSchema = z.strictObject({
39
- id: SolutionProfileIdSchema,
119
+ id: ManagedSolutionProfileIdSchema,
40
120
  title: z.string().min(1).max(80),
41
121
  description: z.string().min(1).max(240),
42
- collection: ManagedCollectionProfileSchema,
122
+ collections: z.array(ManagedCollectionProfileSchema).min(1).max(12),
43
123
  });
44
124
  export const SolutionCatalogResponseSchema = z.strictObject({
45
125
  ok: z.literal(true),
46
126
  data: z.strictObject({
47
- profiles: z.array(SolutionProfileSchema).max(SOLUTION_PROFILE_IDS.length),
127
+ profiles: z.array(SolutionProfileSchema).max(MANAGED_SOLUTION_PROFILE_IDS.length),
48
128
  }),
49
129
  });
130
+ export const ManagedSolutionDefinitionSelectorSchema = z.strictObject({
131
+ kind: z.literal('managed'),
132
+ profileId: ManagedSolutionProfileIdSchema,
133
+ });
134
+ export const PrivateSolutionDefinitionReferenceSchema = z.strictObject({
135
+ kind: z.literal('private'),
136
+ publisherOrg: id,
137
+ app: slug,
138
+ environment: z.string().min(1).max(63),
139
+ deploymentId: id,
140
+ });
141
+ export const InstallableSolutionDefinitionSchema = z.discriminatedUnion('kind', [
142
+ ManagedSolutionDefinitionSelectorSchema,
143
+ PrivateSolutionDefinitionReferenceSchema,
144
+ ]);
50
145
  export const SolutionInstallationCreateRequestSchema = z.strictObject({
51
- profileId: SolutionProfileIdSchema,
146
+ businessNotice: BusinessNoticeSchema.optional(),
147
+ definition: InstallableSolutionDefinitionSchema,
52
148
  appSlug: slug,
53
149
  environment: z.string().min(1).max(63),
54
150
  retentionDays: ManagedRecordRetentionDaysSchema,
55
151
  });
56
- export const SolutionInstallationSchema = z.strictObject({
152
+ export const SolutionInstallationIntakeRequestSchema = z.strictObject({
153
+ active: z.boolean(),
154
+ expectedRevision: positiveRevision,
155
+ });
156
+ const installationShape = {
57
157
  id,
58
158
  organizationId: id,
59
- profileId: SolutionProfileIdSchema,
60
159
  appSlug: slug,
61
160
  environment: z.string().min(1).max(63),
62
161
  retentionDays: ManagedRecordRetentionDaysSchema,
63
162
  publicId: id,
64
163
  active: z.boolean(),
65
164
  currentRole: BusinessGrantRoleSchema,
66
- revision: z.number().int().positive(),
67
- collection: ManagedCollectionProfileSchema,
165
+ revision: positiveRevision,
68
166
  createdAt: instant,
69
167
  updatedAt: instant,
70
168
  createdBySubject: id,
169
+ };
170
+ export const ResolvedManagedSolutionDefinitionSchema = z.strictObject({
171
+ kind: z.literal('managed'),
172
+ definitionId: ManagedSolutionProfileIdSchema,
173
+ release: z.number().int().positive(),
174
+ digest,
175
+ });
176
+ export const ResolvedPrivateSolutionDefinitionSchema = z.strictObject({
177
+ kind: z.literal('private'),
178
+ publisherOrg: id,
179
+ app: slug,
180
+ environment: z.string().min(1).max(63),
181
+ deploymentId: id,
182
+ version: z.string().min(1).max(128),
183
+ digest,
184
+ });
185
+ export const ResolvedLegacySolutionDefinitionSchema = z.strictObject({
186
+ kind: z.literal('legacy'),
187
+ definitionId: LegacySolutionProfileIdSchema,
188
+ release: z.number().int().positive(),
189
+ digest,
190
+ });
191
+ export const ResolvedSolutionDefinitionSchema = z.discriminatedUnion('kind', [
192
+ ResolvedManagedSolutionDefinitionSchema,
193
+ ResolvedPrivateSolutionDefinitionSchema,
194
+ ResolvedLegacySolutionDefinitionSchema,
195
+ ]);
196
+ export const SolutionInstallationSchema = z.strictObject({
197
+ ...installationShape,
198
+ definition: ResolvedSolutionDefinitionSchema,
199
+ collections: z.array(ManagedCollectionProfileSchema).max(16),
200
+ /** Historical persisted key retained only while legacy installations are backfilled. */
201
+ profileId: LegacySolutionProfileIdSchema.optional(),
71
202
  });
72
203
  export const SolutionInstallationResponseSchema = z.strictObject({
73
204
  ok: z.literal(true),
@@ -75,7 +206,10 @@ export const SolutionInstallationResponseSchema = z.strictObject({
75
206
  });
76
207
  export const SolutionInstallationListResponseSchema = z.strictObject({
77
208
  ok: z.literal(true),
78
- data: z.strictObject({ installations: z.array(SolutionInstallationSchema).max(100) }),
209
+ data: z.strictObject({
210
+ installations: z.array(SolutionInstallationSchema).max(100),
211
+ nextCursor: z.string().min(1).max(1024).optional(),
212
+ }),
79
213
  });
80
214
  export const BusinessGrantCreateRequestSchema = z.strictObject({
81
215
  subject: id,
@@ -88,7 +222,7 @@ export const BusinessGrantSchema = z.strictObject({
88
222
  subject: id,
89
223
  email: z.email().max(254),
90
224
  role: BusinessGrantRoleSchema,
91
- revision: z.number().int().positive(),
225
+ revision: positiveRevision,
92
226
  createdAt: instant,
93
227
  createdBySubject: id,
94
228
  revokedAt: instant.optional(),
@@ -101,105 +235,346 @@ export const BusinessGrantListResponseSchema = z.strictObject({
101
235
  ok: z.literal(true),
102
236
  data: z.strictObject({ grants: z.array(BusinessGrantSchema).max(100) }),
103
237
  });
104
- export const ManagedRecordCreateRequestSchema = z.strictObject({
105
- payload: jsonObject,
238
+ export const BUSINESS_INVITATION_STATUSES = ['pending', 'accepted', 'revoked', 'expired'];
239
+ export const BusinessInvitationStatusSchema = z.enum(BUSINESS_INVITATION_STATUSES);
240
+ /** The raw token is supplied by the trusted client and is never persisted by the service. */
241
+ export const BusinessInvitationCreateRequestSchema = z.strictObject({
242
+ email: z.email().max(254),
243
+ role: BusinessGrantRoleSchema,
244
+ token: z.string().regex(/^[A-Za-z0-9_-]{43,128}$/),
245
+ idempotencyKey: z.string().min(1).max(128),
246
+ expiresInHours: z.number().int().min(1).max(168).default(168),
247
+ });
248
+ export const BusinessInvitationRevokeRequestSchema = z.strictObject({
249
+ expectedRevision: positiveRevision,
106
250
  });
251
+ export const BusinessInvitationSchema = z.strictObject({
252
+ invitationId: id,
253
+ installationId: id,
254
+ email: z.email().max(254),
255
+ role: BusinessGrantRoleSchema,
256
+ status: BusinessInvitationStatusSchema,
257
+ revision: positiveRevision,
258
+ createdAt: instant,
259
+ expiresAt: instant,
260
+ createdBySubject: id,
261
+ acceptedAt: instant.optional(),
262
+ revokedAt: instant.optional(),
263
+ });
264
+ export const BusinessInvitationResponseSchema = z.strictObject({
265
+ ok: z.literal(true),
266
+ data: z.strictObject({ invitation: BusinessInvitationSchema }),
267
+ });
268
+ export const BusinessInvitationCreateResponseSchema = z.strictObject({
269
+ ok: z.literal(true),
270
+ data: z.strictObject({
271
+ invitation: BusinessInvitationSchema,
272
+ acceptPath: z.string().startsWith('/portal-invitations/').max(512),
273
+ replayed: z.boolean(),
274
+ }),
275
+ });
276
+ export const BusinessInvitationListResponseSchema = z.strictObject({
277
+ ok: z.literal(true),
278
+ data: z.strictObject({ invitations: z.array(BusinessInvitationSchema).max(100) }),
279
+ });
280
+ export const BusinessInvitationAcceptResponseSchema = z.strictObject({
281
+ ok: z.literal(true),
282
+ data: z.strictObject({
283
+ installation: SolutionInstallationSchema,
284
+ grant: BusinessGrantSchema,
285
+ }),
286
+ });
287
+ export const EligibleBusinessAssigneeSchema = z.strictObject({
288
+ subject: id,
289
+ email: z.email().max(254),
290
+ role: z.enum(['administrator', 'manager', 'operator']),
291
+ });
292
+ export const EligibleBusinessAssigneeListResponseSchema = z.strictObject({
293
+ ok: z.literal(true),
294
+ data: z.strictObject({ assignees: z.array(EligibleBusinessAssigneeSchema).max(100) }),
295
+ });
296
+ export const ManagedRecordCreateRequestSchema = z.strictObject({ payload: jsonObject });
107
297
  export const ManagedRecordOriginSchema = z.strictObject({
108
298
  surface: ManagedRecordOriginSurfaceSchema,
109
299
  subject: id.optional(),
110
300
  });
111
- export const ManagedRecordSchema = z.strictObject({
301
+ export const ManagedRecordRequestStateSchema = z.strictObject({
302
+ status: ManagedRecordStatusSchema,
303
+ assigneeSubject: id.optional(),
304
+ });
305
+ const recordShape = {
112
306
  id,
307
+ organizationId: id,
308
+ appSlug: slug,
309
+ environment: z.string().min(1).max(63),
113
310
  installationId: id,
114
311
  collection: collectionKey,
115
312
  schemaVersion: z.number().int().positive(),
116
313
  schemaDigest: digest,
117
314
  payload: jsonObject,
118
- status: ManagedRecordStatusSchema,
119
- assigneeSubject: id.optional(),
120
- revision: z.number().int().positive(),
121
- origin: ManagedRecordOriginSchema,
315
+ revision: positiveRevision,
122
316
  createdAt: instant,
123
317
  updatedAt: instant,
124
318
  retentionExpiresAt: instant,
319
+ };
320
+ export const NativeManagedRecordSchema = z.strictObject({
321
+ authority: z.literal('native'),
322
+ ...recordShape,
323
+ origin: ManagedRecordOriginSchema,
324
+ assigneeSubject: id.optional(),
325
+ request: ManagedRecordRequestStateSchema.optional(),
125
326
  });
126
- export const ManagedRecordTombstoneSchema = z.strictObject({
327
+ export const ExternalManagedRecordSourceSchema = z.strictObject({
328
+ bindingReference: id,
329
+ bindingGeneration: z.number().int().positive(),
330
+ sourceRecordId: id,
331
+ sourceVersion: z.string().min(1).max(512).optional(),
332
+ observedAt: instant,
333
+ lastCompletedSyncAt: instant,
334
+ health: CollectionSourceHealthSchema,
335
+ completeness: CollectionSourceCompletenessSchema,
336
+ });
337
+ export const ExternalManagedRecordSchema = z.strictObject({
338
+ authority: z.literal('external'),
339
+ ...recordShape,
340
+ source: ExternalManagedRecordSourceSchema,
341
+ });
342
+ export const ManagedRecordSchema = z.discriminatedUnion('authority', [
343
+ NativeManagedRecordSchema,
344
+ ExternalManagedRecordSchema,
345
+ ]);
346
+ const tombstoneShape = {
127
347
  id,
348
+ organizationId: id,
349
+ appSlug: slug,
350
+ environment: z.string().min(1).max(63),
128
351
  installationId: id,
129
352
  collection: collectionKey,
130
- status: ManagedRecordStatusSchema,
131
- revision: z.number().int().positive(),
353
+ revision: positiveRevision,
132
354
  deletedAt: instant,
355
+ };
356
+ export const NativeManagedRecordTombstoneSchema = z.strictObject({
357
+ authority: z.literal('native'),
358
+ ...tombstoneShape,
133
359
  deletionReason: z.enum(['customer_request', 'retention_expired']),
134
360
  });
361
+ export const ExternalManagedRecordSuppressionSchema = z.strictObject({
362
+ authority: z.literal('external'),
363
+ ...tombstoneShape,
364
+ deletionReason: z.literal('customer_request'),
365
+ source: z.strictObject({
366
+ bindingReference: id,
367
+ bindingGeneration: z.number().int().positive(),
368
+ sourceRecordId: id,
369
+ }),
370
+ });
371
+ export const ManagedRecordTombstoneSchema = z.discriminatedUnion('authority', [
372
+ NativeManagedRecordTombstoneSchema,
373
+ ExternalManagedRecordSuppressionSchema,
374
+ ]);
135
375
  export const ManagedRecordResponseSchema = z.strictObject({
136
376
  ok: z.literal(true),
137
- data: z.strictObject({ record: ManagedRecordSchema }),
377
+ data: z.strictObject({
378
+ record: ManagedRecordSchema,
379
+ collection: ManagedCollectionProfileSchema.optional(),
380
+ }),
138
381
  });
382
+ const managedRecordOrTombstone = z.union([ManagedRecordSchema, ManagedRecordTombstoneSchema]);
139
383
  export const ManagedRecordListResponseSchema = z.strictObject({
140
384
  ok: z.literal(true),
141
385
  data: z.strictObject({
142
- records: z.array(z.union([ManagedRecordSchema, ManagedRecordTombstoneSchema])).max(100),
386
+ records: z.array(managedRecordOrTombstone).max(100),
143
387
  nextCursor: z.string().min(1).optional(),
144
388
  }),
145
389
  });
146
- const expectedRevision = z.number().int().positive();
147
390
  export const ManagedRecordMutationRequestSchema = z.discriminatedUnion('operation', [
148
- z.strictObject({ operation: z.literal('update'), expectedRevision, patch: jsonObject }),
391
+ z.strictObject({ operation: z.literal('migrate-schema'), expectedRevision: positiveRevision }),
392
+ z.strictObject({
393
+ operation: z.literal('update'),
394
+ expectedRevision: positiveRevision,
395
+ patch: jsonObject,
396
+ unset: z
397
+ .array(z.string().min(1).max(64))
398
+ .max(128)
399
+ .refine((keys) => new Set(keys).size === keys.length)
400
+ .optional(),
401
+ }),
149
402
  z.strictObject({
150
403
  operation: z.literal('assign'),
151
- expectedRevision,
404
+ expectedRevision: positiveRevision,
152
405
  assigneeSubject: id.nullable(),
153
406
  }),
154
407
  z.strictObject({
155
408
  operation: z.literal('set-status'),
156
- expectedRevision,
409
+ expectedRevision: positiveRevision,
157
410
  status: ManagedRecordStatusSchema,
158
411
  }),
159
412
  z.strictObject({
160
413
  operation: z.literal('add-note'),
161
- expectedRevision,
414
+ expectedRevision: positiveRevision,
162
415
  note: z.string().min(1).max(4_000),
163
416
  }),
164
417
  ]);
418
+ export const BusinessApiAdmissionErrorSchema = z.discriminatedUnion('code', [
419
+ z.strictObject({
420
+ code: z.literal('business_api_rate_limited'),
421
+ error: z.string().min(1).max(500),
422
+ category: z.enum(['read', 'mutation', 'recovery']),
423
+ resetAt: z.iso.datetime(),
424
+ limits: z.strictObject({
425
+ subject: z.number().int().positive(),
426
+ installation: z.number().int().positive(),
427
+ org: z.number().int().positive(),
428
+ }),
429
+ }),
430
+ z.strictObject({
431
+ code: z.literal('business_api_admission_unavailable'),
432
+ error: z.string().min(1).max(500),
433
+ }),
434
+ ]);
435
+ export const SolutionInstallationCapacityErrorSchema = z.strictObject({
436
+ code: z.literal('installation_capacity_exceeded'),
437
+ error: z.string().min(1).max(500),
438
+ });
439
+ export const ManagedRecordOperationNotSupportedErrorSchema = z.strictObject({
440
+ ok: z.literal(false),
441
+ error: z.string().min(1).max(500),
442
+ code: z.literal('operation_not_supported'),
443
+ details: z.strictObject({
444
+ authority: z.literal('external'),
445
+ operation: z.enum(['create', 'update', 'assign', 'set-status', 'add-note', 'migrate-schema']),
446
+ }),
447
+ });
165
448
  export const ManagedRecordActivitySchema = z.strictObject({
166
449
  id,
167
450
  recordId: id,
168
- revision: z.number().int().positive(),
169
- operation: z.enum(['create', 'update', 'assign', 'set-status', 'add-note', 'delete']),
451
+ revision: positiveRevision,
452
+ operation: z.enum([
453
+ 'create',
454
+ 'update',
455
+ 'assign',
456
+ 'set-status',
457
+ 'add-note',
458
+ 'delete',
459
+ 'source-import',
460
+ 'schema-migrated',
461
+ 'source-delete',
462
+ 'suppress',
463
+ ]),
170
464
  actorSubject: id.optional(),
171
465
  createdAt: instant,
172
466
  note: z.string().max(4_000).optional(),
173
467
  });
174
468
  export const ManagedRecordActivityListResponseSchema = z.strictObject({
175
469
  ok: z.literal(true),
176
- data: z.strictObject({ activities: z.array(ManagedRecordActivitySchema).max(100) }),
470
+ data: z.strictObject({
471
+ activities: z.array(ManagedRecordActivitySchema).max(100),
472
+ nextCursor: z.string().max(2048).optional(),
473
+ }),
177
474
  });
178
475
  export const ManagedRecordDeleteResponseSchema = z.strictObject({
179
476
  ok: z.literal(true),
180
- data: z.strictObject({ recordId: id, deletedAt: instant }),
477
+ data: z.strictObject({
478
+ recordId: id,
479
+ authority: z.enum(['native', 'external']),
480
+ disposition: z.enum(['deleted', 'suppressed']),
481
+ deletedAt: instant,
482
+ }),
483
+ });
484
+ export const ManagedRecordNoteSchema = z.strictObject({
485
+ id,
486
+ text: z.string().max(4_000),
487
+ createdAt: instant,
488
+ createdBySubject: id,
181
489
  });
182
490
  export const ManagedRecordExportResponseSchema = z.strictObject({
183
491
  ok: z.literal(true),
184
492
  data: z.strictObject({
185
- records: z.array(z.union([ManagedRecordSchema, ManagedRecordTombstoneSchema])).max(500),
493
+ records: z
494
+ .array(z.union([
495
+ NativeManagedRecordSchema.extend({
496
+ notes: z.array(ManagedRecordNoteSchema).max(50).optional(),
497
+ }),
498
+ ExternalManagedRecordSchema,
499
+ ManagedRecordTombstoneSchema,
500
+ ]))
501
+ .max(500),
186
502
  nextCursor: z.string().min(1).optional(),
187
503
  }),
188
504
  });
505
+ const sourceScopeShape = {
506
+ installationId: id,
507
+ collection: collectionKey,
508
+ authority: z.literal('external'),
509
+ revision: positiveRevision,
510
+ };
511
+ const sourceError = z.strictObject({
512
+ code: z.string().min(1).max(128),
513
+ message: z.string().min(1).max(500),
514
+ retryable: z.boolean(),
515
+ });
516
+ export const UnconfiguredCollectionSourceSchema = z.strictObject({
517
+ ...sourceScopeShape,
518
+ state: z.literal('unconfigured'),
519
+ });
520
+ export const ConfiguredCollectionSourceSchema = z.strictObject({
521
+ ...sourceScopeShape,
522
+ state: z.enum(['active', 'paused', 'error']),
523
+ binding: z.strictObject({ reference: id, generation: z.number().int().positive() }),
524
+ configurationReference: id,
525
+ enabled: z.literal(true),
526
+ health: CollectionSourceHealthSchema,
527
+ completeness: CollectionSourceCompletenessSchema,
528
+ lastCompletedSyncAt: instant.optional(),
529
+ nextRefreshAt: instant.optional(),
530
+ error: sourceError.optional(),
531
+ });
532
+ export const CollectionSourceSchema = z.discriminatedUnion('state', [
533
+ UnconfiguredCollectionSourceSchema,
534
+ ConfiguredCollectionSourceSchema,
535
+ ]);
536
+ export const CollectionSourceConfigureRequestSchema = z.strictObject({
537
+ expectedRevision: positiveRevision,
538
+ binding: z.strictObject({ reference: id, generation: z.number().int().positive() }),
539
+ configurationReference: id,
540
+ enable: z.literal(true),
541
+ replace: z.literal(true).optional(),
542
+ });
543
+ export const CollectionSourceRevisionRequestSchema = z.strictObject({
544
+ expectedRevision: positiveRevision,
545
+ });
546
+ export const CollectionSourceRefreshRequestSchema = z.strictObject({
547
+ expectedRevision: positiveRevision,
548
+ idempotencyKey: z.string().min(1).max(256),
549
+ });
550
+ export const CollectionSourceResponseSchema = z.strictObject({
551
+ ok: z.literal(true),
552
+ data: z.strictObject({ source: CollectionSourceSchema }),
553
+ });
554
+ export const CollectionSourceRefreshResponseSchema = z.strictObject({
555
+ ok: z.literal(true),
556
+ data: z.strictObject({
557
+ source: CollectionSourceSchema,
558
+ job: z.strictObject({
559
+ id,
560
+ state: z.enum(['queued', 'running', 'completed', 'superseded']),
561
+ coalesced: z.boolean(),
562
+ requestedAt: instant,
563
+ replayExpiresAt: instant.optional(),
564
+ }),
565
+ }),
566
+ });
189
567
  export const PublicSolutionIntakeResponseSchema = z.strictObject({
190
568
  ok: z.literal(true),
191
569
  data: z.strictObject({
192
570
  publicId: id,
193
571
  title: z.string().min(1).max(120),
194
572
  description: z.string().min(1).max(240),
195
- collection: ManagedCollectionProfileSchema,
573
+ collection: NativeManagedCollectionProfileSchema,
196
574
  }),
197
575
  });
198
576
  export const PublicSolutionIntakeReceiptResponseSchema = z.strictObject({
199
577
  ok: z.literal(true),
200
- data: z.strictObject({
201
- recordId: id,
202
- receivedAt: instant,
203
- }),
578
+ data: z.strictObject({ recordId: id, receivedAt: instant }),
204
579
  });
205
580
  //# sourceMappingURL=business-information.js.map
@@ -569,12 +569,12 @@ export declare const DeployRunSchema: z.ZodObject<{
569
569
  prNumber: z.ZodOptional<z.ZodNumber>;
570
570
  status: z.ZodEnum<{
571
571
  queued: "queued";
572
+ superseded: "superseded";
572
573
  building: "building";
573
574
  deploying: "deploying";
574
575
  deployed: "deployed";
575
576
  failed: "failed";
576
577
  canceled: "canceled";
577
- superseded: "superseded";
578
578
  }>;
579
579
  blockedReason: z.ZodOptional<z.ZodString>;
580
580
  deploymentId: z.ZodOptional<z.ZodString>;
@@ -605,12 +605,12 @@ export declare const GithubRunsListResponseSchema: z.ZodObject<{
605
605
  prNumber: z.ZodOptional<z.ZodNumber>;
606
606
  status: z.ZodEnum<{
607
607
  queued: "queued";
608
+ superseded: "superseded";
608
609
  building: "building";
609
610
  deploying: "deploying";
610
611
  deployed: "deployed";
611
612
  failed: "failed";
612
613
  canceled: "canceled";
613
- superseded: "superseded";
614
614
  }>;
615
615
  blockedReason: z.ZodOptional<z.ZodString>;
616
616
  deploymentId: z.ZodOptional<z.ZodString>;