@lssm/lib.contracts 1.10.0 → 1.11.1

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 (558) hide show
  1. package/README.md +3 -1
  2. package/dist/app-config/branding.d.ts +1 -2
  3. package/dist/app-config/contracts.d.ts +51 -52
  4. package/dist/app-config/contracts.js +1 -2
  5. package/dist/app-config/events.d.ts +28 -29
  6. package/dist/app-config/events.js +1 -2
  7. package/dist/app-config/lifecycle-contracts.d.ts +81 -82
  8. package/dist/app-config/lifecycle-contracts.js +1 -2
  9. package/dist/app-config/lifecycle.d.ts +1 -2
  10. package/dist/app-config/runtime.d.ts +1 -2
  11. package/dist/app-config/runtime.js +1 -2
  12. package/dist/app-config/spec.d.ts +1 -2
  13. package/dist/app-config/spec.js +1 -2
  14. package/dist/app-config/validation.d.ts +1 -2
  15. package/dist/app-config/validation.js +1 -2
  16. package/dist/capabilities/openbanking.d.ts +1 -2
  17. package/dist/capabilities/openbanking.js +1 -2
  18. package/dist/capabilities.d.ts +1 -2
  19. package/dist/capabilities.js +1 -2
  20. package/dist/client/react/drivers/rn-reusables.d.ts +1 -2
  21. package/dist/client/react/drivers/rn-reusables.js +1 -2
  22. package/dist/client/react/drivers/shadcn.d.ts +1 -2
  23. package/dist/client/react/drivers/shadcn.js +1 -2
  24. package/dist/client/react/feature-render.d.ts +1 -2
  25. package/dist/client/react/feature-render.js +1 -2
  26. package/dist/client/react/form-render.d.ts +1 -2
  27. package/dist/client/react/form-render.js +1 -2
  28. package/dist/contracts-adapter-hydration.d.ts +1 -2
  29. package/dist/contracts-adapter-hydration.js +1 -2
  30. package/dist/contracts-adapter-input.d.ts +1 -2
  31. package/dist/contracts-adapter-input.js +1 -2
  32. package/dist/data-views/query-generator.d.ts +1 -2
  33. package/dist/data-views/query-generator.js +1 -2
  34. package/dist/data-views/runtime.d.ts +1 -2
  35. package/dist/data-views/runtime.js +1 -2
  36. package/dist/data-views.d.ts +1 -2
  37. package/dist/data-views.js +1 -2
  38. package/dist/events.d.ts +1 -2
  39. package/dist/events.js +1 -2
  40. package/dist/experiments/evaluator.d.ts +1 -2
  41. package/dist/experiments/evaluator.js +1 -2
  42. package/dist/experiments/spec-resolver.d.ts +1 -2
  43. package/dist/experiments/spec.d.ts +1 -2
  44. package/dist/experiments/spec.js +1 -2
  45. package/dist/features.d.ts +1 -2
  46. package/dist/features.js +1 -2
  47. package/dist/forms.d.ts +1 -2
  48. package/dist/forms.js +1 -2
  49. package/dist/graphql-federation/dist/index.js +1 -2
  50. package/dist/install.d.ts +1 -2
  51. package/dist/install.js +1 -2
  52. package/dist/integrations/binding.d.ts +1 -2
  53. package/dist/integrations/connection.d.ts +1 -2
  54. package/dist/integrations/contracts.d.ts +103 -104
  55. package/dist/integrations/contracts.js +1 -2
  56. package/dist/integrations/health.d.ts +1 -2
  57. package/dist/integrations/health.js +1 -2
  58. package/dist/integrations/openbanking/contracts/accounts.d.ts +67 -68
  59. package/dist/integrations/openbanking/contracts/accounts.js +1 -2
  60. package/dist/integrations/openbanking/contracts/balances.d.ts +35 -36
  61. package/dist/integrations/openbanking/contracts/balances.js +1 -2
  62. package/dist/integrations/openbanking/contracts/index.d.ts +1 -2
  63. package/dist/integrations/openbanking/contracts/index.js +1 -2
  64. package/dist/integrations/openbanking/contracts/transactions.d.ts +49 -50
  65. package/dist/integrations/openbanking/contracts/transactions.js +1 -2
  66. package/dist/integrations/openbanking/guards.d.ts +1 -2
  67. package/dist/integrations/openbanking/guards.js +1 -2
  68. package/dist/integrations/openbanking/models.d.ts +56 -57
  69. package/dist/integrations/openbanking/models.js +1 -2
  70. package/dist/integrations/openbanking/telemetry.d.ts +1 -2
  71. package/dist/integrations/openbanking/telemetry.js +1 -2
  72. package/dist/integrations/providers/calendar.d.ts +1 -2
  73. package/dist/integrations/providers/elevenlabs.d.ts +1 -2
  74. package/dist/integrations/providers/elevenlabs.js +1 -2
  75. package/dist/integrations/providers/email.d.ts +1 -2
  76. package/dist/integrations/providers/embedding.d.ts +1 -2
  77. package/dist/integrations/providers/gcs-storage.d.ts +1 -2
  78. package/dist/integrations/providers/gcs-storage.js +1 -2
  79. package/dist/integrations/providers/gmail.d.ts +1 -2
  80. package/dist/integrations/providers/gmail.js +1 -2
  81. package/dist/integrations/providers/google-calendar.d.ts +1 -2
  82. package/dist/integrations/providers/google-calendar.js +1 -2
  83. package/dist/integrations/providers/impls/elevenlabs-voice.d.ts +1 -2
  84. package/dist/integrations/providers/impls/elevenlabs-voice.js +1 -2
  85. package/dist/integrations/providers/impls/gcs-storage.d.ts +1 -2
  86. package/dist/integrations/providers/impls/gcs-storage.js +1 -2
  87. package/dist/integrations/providers/impls/gmail-inbound.d.ts +1 -2
  88. package/dist/integrations/providers/impls/gmail-inbound.js +1 -2
  89. package/dist/integrations/providers/impls/gmail-outbound.d.ts +1 -2
  90. package/dist/integrations/providers/impls/gmail-outbound.js +1 -2
  91. package/dist/integrations/providers/impls/google-calendar.d.ts +1 -2
  92. package/dist/integrations/providers/impls/google-calendar.js +1 -2
  93. package/dist/integrations/providers/impls/mistral-embedding.d.ts +1 -2
  94. package/dist/integrations/providers/impls/mistral-embedding.js +1 -2
  95. package/dist/integrations/providers/impls/mistral-llm.d.ts +1 -2
  96. package/dist/integrations/providers/impls/mistral-llm.js +1 -2
  97. package/dist/integrations/providers/impls/postmark-email.d.ts +1 -2
  98. package/dist/integrations/providers/impls/postmark-email.js +1 -2
  99. package/dist/integrations/providers/impls/powens-client.d.ts +1 -2
  100. package/dist/integrations/providers/impls/powens-client.js +1 -2
  101. package/dist/integrations/providers/impls/powens-openbanking.d.ts +1 -2
  102. package/dist/integrations/providers/impls/powens-openbanking.js +1 -2
  103. package/dist/integrations/providers/impls/provider-factory.d.ts +1 -2
  104. package/dist/integrations/providers/impls/provider-factory.js +1 -2
  105. package/dist/integrations/providers/impls/qdrant-vector.d.ts +1 -2
  106. package/dist/integrations/providers/impls/qdrant-vector.js +1 -2
  107. package/dist/integrations/providers/impls/stripe-payments.d.ts +1 -2
  108. package/dist/integrations/providers/impls/stripe-payments.js +1 -2
  109. package/dist/integrations/providers/impls/twilio-sms.d.ts +1 -2
  110. package/dist/integrations/providers/impls/twilio-sms.js +1 -2
  111. package/dist/integrations/providers/llm.d.ts +1 -2
  112. package/dist/integrations/providers/mistral.d.ts +1 -2
  113. package/dist/integrations/providers/mistral.js +1 -2
  114. package/dist/integrations/providers/openbanking.d.ts +1 -2
  115. package/dist/integrations/providers/payments.d.ts +1 -2
  116. package/dist/integrations/providers/postmark.d.ts +1 -2
  117. package/dist/integrations/providers/postmark.js +1 -2
  118. package/dist/integrations/providers/powens.d.ts +1 -2
  119. package/dist/integrations/providers/powens.js +1 -2
  120. package/dist/integrations/providers/qdrant.d.ts +1 -2
  121. package/dist/integrations/providers/qdrant.js +1 -2
  122. package/dist/integrations/providers/sms.d.ts +1 -2
  123. package/dist/integrations/providers/storage.d.ts +1 -2
  124. package/dist/integrations/providers/stripe.d.ts +1 -2
  125. package/dist/integrations/providers/stripe.js +1 -2
  126. package/dist/integrations/providers/twilio-sms.d.ts +1 -2
  127. package/dist/integrations/providers/twilio-sms.js +1 -2
  128. package/dist/integrations/providers/vector-store.d.ts +1 -2
  129. package/dist/integrations/providers/voice.d.ts +1 -2
  130. package/dist/integrations/runtime.d.ts +1 -2
  131. package/dist/integrations/runtime.js +1 -2
  132. package/dist/integrations/secrets/env-secret-provider.d.ts +1 -2
  133. package/dist/integrations/secrets/env-secret-provider.js +1 -2
  134. package/dist/integrations/secrets/gcp-secret-manager.d.ts +1 -2
  135. package/dist/integrations/secrets/gcp-secret-manager.js +1 -2
  136. package/dist/integrations/secrets/manager.d.ts +1 -2
  137. package/dist/integrations/secrets/manager.js +1 -2
  138. package/dist/integrations/secrets/provider.d.ts +1 -2
  139. package/dist/integrations/secrets/provider.js +1 -2
  140. package/dist/integrations/spec.d.ts +1 -2
  141. package/dist/integrations/spec.js +1 -2
  142. package/dist/jobs/gcp-cloud-tasks.d.ts +1 -2
  143. package/dist/jobs/gcp-cloud-tasks.js +1 -2
  144. package/dist/jobs/gcp-pubsub.d.ts +1 -2
  145. package/dist/jobs/gcp-pubsub.js +1 -2
  146. package/dist/jobs/handlers/gmail-sync-handler.d.ts +1 -2
  147. package/dist/jobs/handlers/gmail-sync-handler.js +1 -2
  148. package/dist/jobs/handlers/storage-document-handler.d.ts +1 -2
  149. package/dist/jobs/handlers/storage-document-handler.js +1 -2
  150. package/dist/jobs/memory-queue.d.ts +1 -2
  151. package/dist/jobs/memory-queue.js +1 -2
  152. package/dist/jobs/queue.d.ts +1 -2
  153. package/dist/jsonschema.d.ts +1 -2
  154. package/dist/jsonschema.js +1 -2
  155. package/dist/knowledge/binding.d.ts +1 -2
  156. package/dist/knowledge/contracts.d.ts +67 -68
  157. package/dist/knowledge/contracts.js +1 -2
  158. package/dist/knowledge/ingestion/document-processor.d.ts +1 -2
  159. package/dist/knowledge/ingestion/document-processor.js +1 -2
  160. package/dist/knowledge/ingestion/embedding-service.d.ts +1 -2
  161. package/dist/knowledge/ingestion/embedding-service.js +1 -2
  162. package/dist/knowledge/ingestion/gmail-adapter.d.ts +1 -2
  163. package/dist/knowledge/ingestion/gmail-adapter.js +1 -2
  164. package/dist/knowledge/ingestion/storage-adapter.d.ts +1 -2
  165. package/dist/knowledge/ingestion/storage-adapter.js +1 -2
  166. package/dist/knowledge/ingestion/vector-indexer.d.ts +1 -2
  167. package/dist/knowledge/ingestion/vector-indexer.js +1 -2
  168. package/dist/knowledge/query/service.d.ts +1 -2
  169. package/dist/knowledge/query/service.js +1 -2
  170. package/dist/knowledge/runtime.d.ts +1 -2
  171. package/dist/knowledge/runtime.js +1 -2
  172. package/dist/knowledge/source.d.ts +1 -2
  173. package/dist/knowledge/spaces/email-threads.d.ts +1 -2
  174. package/dist/knowledge/spaces/email-threads.js +1 -2
  175. package/dist/knowledge/spaces/financial-docs.d.ts +1 -2
  176. package/dist/knowledge/spaces/financial-docs.js +1 -2
  177. package/dist/knowledge/spaces/financial-overview.d.ts +1 -2
  178. package/dist/knowledge/spaces/financial-overview.js +1 -2
  179. package/dist/knowledge/spaces/product-canon.d.ts +1 -2
  180. package/dist/knowledge/spaces/product-canon.js +1 -2
  181. package/dist/knowledge/spaces/support-faq.d.ts +1 -2
  182. package/dist/knowledge/spaces/support-faq.js +1 -2
  183. package/dist/knowledge/spaces/uploaded-docs.d.ts +1 -2
  184. package/dist/knowledge/spaces/uploaded-docs.js +1 -2
  185. package/dist/knowledge/spec.d.ts +1 -2
  186. package/dist/knowledge/spec.js +1 -2
  187. package/dist/markdown.d.ts +1 -2
  188. package/dist/markdown.js +1 -2
  189. package/dist/migrations.d.ts +1 -2
  190. package/dist/migrations.js +1 -2
  191. package/dist/onboarding-base.d.ts +30 -31
  192. package/dist/onboarding-base.js +1 -2
  193. package/dist/ownership.d.ts +1 -2
  194. package/dist/ownership.js +1 -2
  195. package/dist/policy/engine.d.ts +1 -2
  196. package/dist/policy/engine.js +1 -2
  197. package/dist/policy/opa-adapter.d.ts +1 -2
  198. package/dist/policy/opa-adapter.js +1 -2
  199. package/dist/policy/spec.d.ts +1 -2
  200. package/dist/policy/spec.js +1 -2
  201. package/dist/presentations.backcompat.d.ts +1 -2
  202. package/dist/presentations.backcompat.js +1 -2
  203. package/dist/presentations.d.ts +1 -2
  204. package/dist/presentations.js +1 -2
  205. package/dist/presentations.v2.d.ts +1 -2
  206. package/dist/presentations.v2.js +1 -2
  207. package/dist/prompt.d.ts +1 -2
  208. package/dist/prompt.js +1 -2
  209. package/dist/promptRegistry.d.ts +1 -2
  210. package/dist/promptRegistry.js +1 -2
  211. package/dist/regenerator/adapters.d.ts +1 -2
  212. package/dist/regenerator/executor.d.ts +1 -2
  213. package/dist/regenerator/executor.js +1 -2
  214. package/dist/regenerator/service.d.ts +1 -2
  215. package/dist/regenerator/service.js +1 -2
  216. package/dist/regenerator/sinks.d.ts +1 -2
  217. package/dist/regenerator/sinks.js +1 -2
  218. package/dist/regenerator/types.d.ts +1 -2
  219. package/dist/regenerator/utils.d.ts +1 -2
  220. package/dist/regenerator/utils.js +1 -2
  221. package/dist/registry.d.ts +1 -2
  222. package/dist/registry.js +1 -2
  223. package/dist/resources.d.ts +1 -2
  224. package/dist/resources.js +1 -2
  225. package/dist/schema/dist/FieldType.js +1 -2
  226. package/dist/schema/dist/ScalarTypeEnum.js +1 -2
  227. package/dist/schema/dist/SchemaModel.js +1 -2
  228. package/dist/server/graphql-pothos.d.ts +1 -2
  229. package/dist/server/graphql-pothos.js +1 -2
  230. package/dist/server/graphql-schema-export.d.ts +1 -2
  231. package/dist/server/graphql-schema-export.js +1 -2
  232. package/dist/server/provider-mcp.d.ts +1 -2
  233. package/dist/server/provider-mcp.js +1 -2
  234. package/dist/server/rest-elysia.d.ts +1 -2
  235. package/dist/server/rest-elysia.js +1 -2
  236. package/dist/server/rest-express.d.ts +1 -2
  237. package/dist/server/rest-express.js +1 -2
  238. package/dist/server/rest-generic.d.ts +1 -2
  239. package/dist/server/rest-generic.js +1 -2
  240. package/dist/server/rest-next-app.d.ts +1 -2
  241. package/dist/server/rest-next-app.js +1 -2
  242. package/dist/server/rest-next-mcp.d.ts +1 -2
  243. package/dist/server/rest-next-mcp.js +1 -2
  244. package/dist/server/rest-next-pages.d.ts +1 -2
  245. package/dist/server/rest-next-pages.js +1 -2
  246. package/dist/spec.d.ts +1 -2
  247. package/dist/spec.js +1 -2
  248. package/dist/telemetry/anomaly.d.ts +1 -2
  249. package/dist/telemetry/anomaly.js +1 -2
  250. package/dist/telemetry/spec.d.ts +1 -2
  251. package/dist/telemetry/spec.js +1 -2
  252. package/dist/telemetry/tracker.d.ts +1 -2
  253. package/dist/telemetry/tracker.js +1 -2
  254. package/dist/tests/runner.d.ts +1 -2
  255. package/dist/tests/runner.js +1 -2
  256. package/dist/tests/spec.d.ts +1 -2
  257. package/dist/tests/spec.js +1 -2
  258. package/dist/themes.d.ts +1 -2
  259. package/dist/themes.js +1 -2
  260. package/dist/translations/catalog.d.ts +1 -2
  261. package/dist/translations/tenant.d.ts +1 -2
  262. package/dist/types.d.ts +1 -2
  263. package/dist/workflow/adapters/db-adapter.d.ts +1 -2
  264. package/dist/workflow/adapters/db-adapter.js +1 -2
  265. package/dist/workflow/adapters/file-adapter.d.ts +1 -2
  266. package/dist/workflow/adapters/file-adapter.js +1 -2
  267. package/dist/workflow/adapters/memory-store.d.ts +1 -2
  268. package/dist/workflow/adapters/memory-store.js +1 -2
  269. package/dist/workflow/expression.d.ts +1 -2
  270. package/dist/workflow/expression.js +1 -2
  271. package/dist/workflow/runner.d.ts +1 -2
  272. package/dist/workflow/runner.js +1 -2
  273. package/dist/workflow/sla-monitor.d.ts +1 -2
  274. package/dist/workflow/sla-monitor.js +1 -2
  275. package/dist/workflow/spec.d.ts +1 -2
  276. package/dist/workflow/spec.js +1 -2
  277. package/dist/workflow/state.d.ts +1 -2
  278. package/dist/workflow/validation.d.ts +1 -2
  279. package/dist/workflow/validation.js +1 -2
  280. package/package.json +14 -12
  281. package/dist/app-config/branding.d.ts.map +0 -1
  282. package/dist/app-config/contracts.d.ts.map +0 -1
  283. package/dist/app-config/contracts.js.map +0 -1
  284. package/dist/app-config/events.d.ts.map +0 -1
  285. package/dist/app-config/events.js.map +0 -1
  286. package/dist/app-config/lifecycle-contracts.d.ts.map +0 -1
  287. package/dist/app-config/lifecycle-contracts.js.map +0 -1
  288. package/dist/app-config/lifecycle.d.ts.map +0 -1
  289. package/dist/app-config/runtime.d.ts.map +0 -1
  290. package/dist/app-config/runtime.js.map +0 -1
  291. package/dist/app-config/spec.d.ts.map +0 -1
  292. package/dist/app-config/spec.js.map +0 -1
  293. package/dist/app-config/validation.d.ts.map +0 -1
  294. package/dist/app-config/validation.js.map +0 -1
  295. package/dist/capabilities/openbanking.d.ts.map +0 -1
  296. package/dist/capabilities/openbanking.js.map +0 -1
  297. package/dist/capabilities.d.ts.map +0 -1
  298. package/dist/capabilities.js.map +0 -1
  299. package/dist/client/react/drivers/rn-reusables.d.ts.map +0 -1
  300. package/dist/client/react/drivers/rn-reusables.js.map +0 -1
  301. package/dist/client/react/drivers/shadcn.d.ts.map +0 -1
  302. package/dist/client/react/drivers/shadcn.js.map +0 -1
  303. package/dist/client/react/feature-render.d.ts.map +0 -1
  304. package/dist/client/react/feature-render.js.map +0 -1
  305. package/dist/client/react/form-render.d.ts.map +0 -1
  306. package/dist/client/react/form-render.js.map +0 -1
  307. package/dist/contracts-adapter-hydration.d.ts.map +0 -1
  308. package/dist/contracts-adapter-hydration.js.map +0 -1
  309. package/dist/contracts-adapter-input.d.ts.map +0 -1
  310. package/dist/contracts-adapter-input.js.map +0 -1
  311. package/dist/data-views/query-generator.d.ts.map +0 -1
  312. package/dist/data-views/query-generator.js.map +0 -1
  313. package/dist/data-views/runtime.d.ts.map +0 -1
  314. package/dist/data-views/runtime.js.map +0 -1
  315. package/dist/data-views.d.ts.map +0 -1
  316. package/dist/data-views.js.map +0 -1
  317. package/dist/events.d.ts.map +0 -1
  318. package/dist/events.js.map +0 -1
  319. package/dist/experiments/evaluator.d.ts.map +0 -1
  320. package/dist/experiments/evaluator.js.map +0 -1
  321. package/dist/experiments/spec-resolver.d.ts.map +0 -1
  322. package/dist/experiments/spec.d.ts.map +0 -1
  323. package/dist/experiments/spec.js.map +0 -1
  324. package/dist/features.d.ts.map +0 -1
  325. package/dist/features.js.map +0 -1
  326. package/dist/forms.d.ts.map +0 -1
  327. package/dist/forms.js.map +0 -1
  328. package/dist/graphql-federation/dist/index.js.map +0 -1
  329. package/dist/install.d.ts.map +0 -1
  330. package/dist/install.js.map +0 -1
  331. package/dist/integrations/binding.d.ts.map +0 -1
  332. package/dist/integrations/connection.d.ts.map +0 -1
  333. package/dist/integrations/contracts.d.ts.map +0 -1
  334. package/dist/integrations/contracts.js.map +0 -1
  335. package/dist/integrations/health.d.ts.map +0 -1
  336. package/dist/integrations/health.js.map +0 -1
  337. package/dist/integrations/openbanking/contracts/accounts.d.ts.map +0 -1
  338. package/dist/integrations/openbanking/contracts/accounts.js.map +0 -1
  339. package/dist/integrations/openbanking/contracts/balances.d.ts.map +0 -1
  340. package/dist/integrations/openbanking/contracts/balances.js.map +0 -1
  341. package/dist/integrations/openbanking/contracts/index.d.ts.map +0 -1
  342. package/dist/integrations/openbanking/contracts/index.js.map +0 -1
  343. package/dist/integrations/openbanking/contracts/transactions.d.ts.map +0 -1
  344. package/dist/integrations/openbanking/contracts/transactions.js.map +0 -1
  345. package/dist/integrations/openbanking/guards.d.ts.map +0 -1
  346. package/dist/integrations/openbanking/guards.js.map +0 -1
  347. package/dist/integrations/openbanking/models.d.ts.map +0 -1
  348. package/dist/integrations/openbanking/models.js.map +0 -1
  349. package/dist/integrations/openbanking/telemetry.d.ts.map +0 -1
  350. package/dist/integrations/openbanking/telemetry.js.map +0 -1
  351. package/dist/integrations/providers/calendar.d.ts.map +0 -1
  352. package/dist/integrations/providers/elevenlabs.d.ts.map +0 -1
  353. package/dist/integrations/providers/elevenlabs.js.map +0 -1
  354. package/dist/integrations/providers/email.d.ts.map +0 -1
  355. package/dist/integrations/providers/embedding.d.ts.map +0 -1
  356. package/dist/integrations/providers/gcs-storage.d.ts.map +0 -1
  357. package/dist/integrations/providers/gcs-storage.js.map +0 -1
  358. package/dist/integrations/providers/gmail.d.ts.map +0 -1
  359. package/dist/integrations/providers/gmail.js.map +0 -1
  360. package/dist/integrations/providers/google-calendar.d.ts.map +0 -1
  361. package/dist/integrations/providers/google-calendar.js.map +0 -1
  362. package/dist/integrations/providers/impls/elevenlabs-voice.d.ts.map +0 -1
  363. package/dist/integrations/providers/impls/elevenlabs-voice.js.map +0 -1
  364. package/dist/integrations/providers/impls/gcs-storage.d.ts.map +0 -1
  365. package/dist/integrations/providers/impls/gcs-storage.js.map +0 -1
  366. package/dist/integrations/providers/impls/gmail-inbound.d.ts.map +0 -1
  367. package/dist/integrations/providers/impls/gmail-inbound.js.map +0 -1
  368. package/dist/integrations/providers/impls/gmail-outbound.d.ts.map +0 -1
  369. package/dist/integrations/providers/impls/gmail-outbound.js.map +0 -1
  370. package/dist/integrations/providers/impls/google-calendar.d.ts.map +0 -1
  371. package/dist/integrations/providers/impls/google-calendar.js.map +0 -1
  372. package/dist/integrations/providers/impls/mistral-embedding.d.ts.map +0 -1
  373. package/dist/integrations/providers/impls/mistral-embedding.js.map +0 -1
  374. package/dist/integrations/providers/impls/mistral-llm.d.ts.map +0 -1
  375. package/dist/integrations/providers/impls/mistral-llm.js.map +0 -1
  376. package/dist/integrations/providers/impls/postmark-email.d.ts.map +0 -1
  377. package/dist/integrations/providers/impls/postmark-email.js.map +0 -1
  378. package/dist/integrations/providers/impls/powens-client.d.ts.map +0 -1
  379. package/dist/integrations/providers/impls/powens-client.js.map +0 -1
  380. package/dist/integrations/providers/impls/powens-openbanking.d.ts.map +0 -1
  381. package/dist/integrations/providers/impls/powens-openbanking.js.map +0 -1
  382. package/dist/integrations/providers/impls/provider-factory.d.ts.map +0 -1
  383. package/dist/integrations/providers/impls/provider-factory.js.map +0 -1
  384. package/dist/integrations/providers/impls/qdrant-vector.d.ts.map +0 -1
  385. package/dist/integrations/providers/impls/qdrant-vector.js.map +0 -1
  386. package/dist/integrations/providers/impls/stripe-payments.d.ts.map +0 -1
  387. package/dist/integrations/providers/impls/stripe-payments.js.map +0 -1
  388. package/dist/integrations/providers/impls/twilio-sms.d.ts.map +0 -1
  389. package/dist/integrations/providers/impls/twilio-sms.js.map +0 -1
  390. package/dist/integrations/providers/llm.d.ts.map +0 -1
  391. package/dist/integrations/providers/mistral.d.ts.map +0 -1
  392. package/dist/integrations/providers/mistral.js.map +0 -1
  393. package/dist/integrations/providers/openbanking.d.ts.map +0 -1
  394. package/dist/integrations/providers/payments.d.ts.map +0 -1
  395. package/dist/integrations/providers/postmark.d.ts.map +0 -1
  396. package/dist/integrations/providers/postmark.js.map +0 -1
  397. package/dist/integrations/providers/powens.d.ts.map +0 -1
  398. package/dist/integrations/providers/powens.js.map +0 -1
  399. package/dist/integrations/providers/qdrant.d.ts.map +0 -1
  400. package/dist/integrations/providers/qdrant.js.map +0 -1
  401. package/dist/integrations/providers/sms.d.ts.map +0 -1
  402. package/dist/integrations/providers/storage.d.ts.map +0 -1
  403. package/dist/integrations/providers/stripe.d.ts.map +0 -1
  404. package/dist/integrations/providers/stripe.js.map +0 -1
  405. package/dist/integrations/providers/twilio-sms.d.ts.map +0 -1
  406. package/dist/integrations/providers/twilio-sms.js.map +0 -1
  407. package/dist/integrations/providers/vector-store.d.ts.map +0 -1
  408. package/dist/integrations/providers/voice.d.ts.map +0 -1
  409. package/dist/integrations/runtime.d.ts.map +0 -1
  410. package/dist/integrations/runtime.js.map +0 -1
  411. package/dist/integrations/secrets/env-secret-provider.d.ts.map +0 -1
  412. package/dist/integrations/secrets/env-secret-provider.js.map +0 -1
  413. package/dist/integrations/secrets/gcp-secret-manager.d.ts.map +0 -1
  414. package/dist/integrations/secrets/gcp-secret-manager.js.map +0 -1
  415. package/dist/integrations/secrets/manager.d.ts.map +0 -1
  416. package/dist/integrations/secrets/manager.js.map +0 -1
  417. package/dist/integrations/secrets/provider.d.ts.map +0 -1
  418. package/dist/integrations/secrets/provider.js.map +0 -1
  419. package/dist/integrations/spec.d.ts.map +0 -1
  420. package/dist/integrations/spec.js.map +0 -1
  421. package/dist/jobs/gcp-cloud-tasks.d.ts.map +0 -1
  422. package/dist/jobs/gcp-cloud-tasks.js.map +0 -1
  423. package/dist/jobs/gcp-pubsub.d.ts.map +0 -1
  424. package/dist/jobs/gcp-pubsub.js.map +0 -1
  425. package/dist/jobs/handlers/gmail-sync-handler.d.ts.map +0 -1
  426. package/dist/jobs/handlers/gmail-sync-handler.js.map +0 -1
  427. package/dist/jobs/handlers/storage-document-handler.d.ts.map +0 -1
  428. package/dist/jobs/handlers/storage-document-handler.js.map +0 -1
  429. package/dist/jobs/memory-queue.d.ts.map +0 -1
  430. package/dist/jobs/memory-queue.js.map +0 -1
  431. package/dist/jobs/queue.d.ts.map +0 -1
  432. package/dist/jsonschema.d.ts.map +0 -1
  433. package/dist/jsonschema.js.map +0 -1
  434. package/dist/knowledge/binding.d.ts.map +0 -1
  435. package/dist/knowledge/contracts.d.ts.map +0 -1
  436. package/dist/knowledge/contracts.js.map +0 -1
  437. package/dist/knowledge/ingestion/document-processor.d.ts.map +0 -1
  438. package/dist/knowledge/ingestion/document-processor.js.map +0 -1
  439. package/dist/knowledge/ingestion/embedding-service.d.ts.map +0 -1
  440. package/dist/knowledge/ingestion/embedding-service.js.map +0 -1
  441. package/dist/knowledge/ingestion/gmail-adapter.d.ts.map +0 -1
  442. package/dist/knowledge/ingestion/gmail-adapter.js.map +0 -1
  443. package/dist/knowledge/ingestion/storage-adapter.d.ts.map +0 -1
  444. package/dist/knowledge/ingestion/storage-adapter.js.map +0 -1
  445. package/dist/knowledge/ingestion/vector-indexer.d.ts.map +0 -1
  446. package/dist/knowledge/ingestion/vector-indexer.js.map +0 -1
  447. package/dist/knowledge/query/service.d.ts.map +0 -1
  448. package/dist/knowledge/query/service.js.map +0 -1
  449. package/dist/knowledge/runtime.d.ts.map +0 -1
  450. package/dist/knowledge/runtime.js.map +0 -1
  451. package/dist/knowledge/source.d.ts.map +0 -1
  452. package/dist/knowledge/spaces/email-threads.d.ts.map +0 -1
  453. package/dist/knowledge/spaces/email-threads.js.map +0 -1
  454. package/dist/knowledge/spaces/financial-docs.d.ts.map +0 -1
  455. package/dist/knowledge/spaces/financial-docs.js.map +0 -1
  456. package/dist/knowledge/spaces/financial-overview.d.ts.map +0 -1
  457. package/dist/knowledge/spaces/financial-overview.js.map +0 -1
  458. package/dist/knowledge/spaces/product-canon.d.ts.map +0 -1
  459. package/dist/knowledge/spaces/product-canon.js.map +0 -1
  460. package/dist/knowledge/spaces/support-faq.d.ts.map +0 -1
  461. package/dist/knowledge/spaces/support-faq.js.map +0 -1
  462. package/dist/knowledge/spaces/uploaded-docs.d.ts.map +0 -1
  463. package/dist/knowledge/spaces/uploaded-docs.js.map +0 -1
  464. package/dist/knowledge/spec.d.ts.map +0 -1
  465. package/dist/knowledge/spec.js.map +0 -1
  466. package/dist/markdown.d.ts.map +0 -1
  467. package/dist/markdown.js.map +0 -1
  468. package/dist/migrations.d.ts.map +0 -1
  469. package/dist/migrations.js.map +0 -1
  470. package/dist/onboarding-base.d.ts.map +0 -1
  471. package/dist/onboarding-base.js.map +0 -1
  472. package/dist/ownership.d.ts.map +0 -1
  473. package/dist/ownership.js.map +0 -1
  474. package/dist/policy/engine.d.ts.map +0 -1
  475. package/dist/policy/engine.js.map +0 -1
  476. package/dist/policy/opa-adapter.d.ts.map +0 -1
  477. package/dist/policy/opa-adapter.js.map +0 -1
  478. package/dist/policy/spec.d.ts.map +0 -1
  479. package/dist/policy/spec.js.map +0 -1
  480. package/dist/presentations.backcompat.d.ts.map +0 -1
  481. package/dist/presentations.backcompat.js.map +0 -1
  482. package/dist/presentations.d.ts.map +0 -1
  483. package/dist/presentations.js.map +0 -1
  484. package/dist/presentations.v2.d.ts.map +0 -1
  485. package/dist/presentations.v2.js.map +0 -1
  486. package/dist/prompt.d.ts.map +0 -1
  487. package/dist/prompt.js.map +0 -1
  488. package/dist/promptRegistry.d.ts.map +0 -1
  489. package/dist/promptRegistry.js.map +0 -1
  490. package/dist/regenerator/adapters.d.ts.map +0 -1
  491. package/dist/regenerator/executor.d.ts.map +0 -1
  492. package/dist/regenerator/executor.js.map +0 -1
  493. package/dist/regenerator/service.d.ts.map +0 -1
  494. package/dist/regenerator/service.js.map +0 -1
  495. package/dist/regenerator/sinks.d.ts.map +0 -1
  496. package/dist/regenerator/sinks.js.map +0 -1
  497. package/dist/regenerator/types.d.ts.map +0 -1
  498. package/dist/regenerator/utils.d.ts.map +0 -1
  499. package/dist/regenerator/utils.js.map +0 -1
  500. package/dist/registry.d.ts.map +0 -1
  501. package/dist/registry.js.map +0 -1
  502. package/dist/resources.d.ts.map +0 -1
  503. package/dist/resources.js.map +0 -1
  504. package/dist/schema/dist/FieldType.js.map +0 -1
  505. package/dist/schema/dist/ScalarTypeEnum.js.map +0 -1
  506. package/dist/schema/dist/SchemaModel.js.map +0 -1
  507. package/dist/server/graphql-pothos.d.ts.map +0 -1
  508. package/dist/server/graphql-pothos.js.map +0 -1
  509. package/dist/server/graphql-schema-export.d.ts.map +0 -1
  510. package/dist/server/graphql-schema-export.js.map +0 -1
  511. package/dist/server/provider-mcp.d.ts.map +0 -1
  512. package/dist/server/provider-mcp.js.map +0 -1
  513. package/dist/server/rest-elysia.d.ts.map +0 -1
  514. package/dist/server/rest-elysia.js.map +0 -1
  515. package/dist/server/rest-express.d.ts.map +0 -1
  516. package/dist/server/rest-express.js.map +0 -1
  517. package/dist/server/rest-generic.d.ts.map +0 -1
  518. package/dist/server/rest-generic.js.map +0 -1
  519. package/dist/server/rest-next-app.d.ts.map +0 -1
  520. package/dist/server/rest-next-app.js.map +0 -1
  521. package/dist/server/rest-next-mcp.d.ts.map +0 -1
  522. package/dist/server/rest-next-mcp.js.map +0 -1
  523. package/dist/server/rest-next-pages.d.ts.map +0 -1
  524. package/dist/server/rest-next-pages.js.map +0 -1
  525. package/dist/spec.d.ts.map +0 -1
  526. package/dist/spec.js.map +0 -1
  527. package/dist/telemetry/anomaly.d.ts.map +0 -1
  528. package/dist/telemetry/anomaly.js.map +0 -1
  529. package/dist/telemetry/spec.d.ts.map +0 -1
  530. package/dist/telemetry/spec.js.map +0 -1
  531. package/dist/telemetry/tracker.d.ts.map +0 -1
  532. package/dist/telemetry/tracker.js.map +0 -1
  533. package/dist/tests/runner.d.ts.map +0 -1
  534. package/dist/tests/runner.js.map +0 -1
  535. package/dist/tests/spec.d.ts.map +0 -1
  536. package/dist/tests/spec.js.map +0 -1
  537. package/dist/themes.d.ts.map +0 -1
  538. package/dist/themes.js.map +0 -1
  539. package/dist/translations/catalog.d.ts.map +0 -1
  540. package/dist/translations/tenant.d.ts.map +0 -1
  541. package/dist/types.d.ts.map +0 -1
  542. package/dist/workflow/adapters/db-adapter.d.ts.map +0 -1
  543. package/dist/workflow/adapters/db-adapter.js.map +0 -1
  544. package/dist/workflow/adapters/file-adapter.d.ts.map +0 -1
  545. package/dist/workflow/adapters/file-adapter.js.map +0 -1
  546. package/dist/workflow/adapters/memory-store.d.ts.map +0 -1
  547. package/dist/workflow/adapters/memory-store.js.map +0 -1
  548. package/dist/workflow/expression.d.ts.map +0 -1
  549. package/dist/workflow/expression.js.map +0 -1
  550. package/dist/workflow/runner.d.ts.map +0 -1
  551. package/dist/workflow/runner.js.map +0 -1
  552. package/dist/workflow/sla-monitor.d.ts.map +0 -1
  553. package/dist/workflow/sla-monitor.js.map +0 -1
  554. package/dist/workflow/spec.d.ts.map +0 -1
  555. package/dist/workflow/spec.js.map +0 -1
  556. package/dist/workflow/state.d.ts.map +0 -1
  557. package/dist/workflow/validation.d.ts.map +0 -1
  558. package/dist/workflow/validation.js.map +0 -1
@@ -49,5 +49,4 @@ declare class KnowledgeSpaceRegistry {
49
49
  }
50
50
  declare function makeKnowledgeSpaceKey(meta: KnowledgeSpaceMeta): string;
51
51
  //#endregion
52
- export { KnowledgeAccessPolicy, KnowledgeCategory, KnowledgeIndexingConfig, KnowledgeRetentionPolicy, KnowledgeSpaceMeta, KnowledgeSpaceRegistry, KnowledgeSpaceSpec, makeKnowledgeSpaceKey };
53
- //# sourceMappingURL=spec.d.ts.map
52
+ export { KnowledgeAccessPolicy, KnowledgeCategory, KnowledgeIndexingConfig, KnowledgeRetentionPolicy, KnowledgeSpaceMeta, KnowledgeSpaceRegistry, KnowledgeSpaceSpec, makeKnowledgeSpaceKey };
@@ -1,2 +1 @@
1
- const e=e=>`${e.key}.v${e.version}`;var t=class{items=new Map;register(t){let n=e(t.meta);if(this.items.has(n))throw Error(`Duplicate KnowledgeSpaceSpec ${n}`);return this.items.set(n,t),this}list(){return[...this.items.values()]}get(t,n){if(n!=null)return this.items.get(e({key:t,version:n}));let r,i=-1/0;for(let e of this.items.values())e.meta.key===t&&e.meta.version>i&&(i=e.meta.version,r=e);return r}getByCategory(e){return this.list().filter(t=>t.meta.category===e)}};function n(t){return e(t)}export{t as KnowledgeSpaceRegistry,n as makeKnowledgeSpaceKey};
2
- //# sourceMappingURL=spec.js.map
1
+ const e=e=>`${e.key}.v${e.version}`;var t=class{items=new Map;register(t){let n=e(t.meta);if(this.items.has(n))throw Error(`Duplicate KnowledgeSpaceSpec ${n}`);return this.items.set(n,t),this}list(){return[...this.items.values()]}get(t,n){if(n!=null)return this.items.get(e({key:t,version:n}));let r,i=-1/0;for(let e of this.items.values())e.meta.key===t&&e.meta.version>i&&(i=e.meta.version,r=e);return r}getByCategory(e){return this.list().filter(t=>t.meta.category===e)}};function n(t){return e(t)}export{t as KnowledgeSpaceRegistry,n as makeKnowledgeSpaceKey};
@@ -18,5 +18,4 @@ declare function docsToMarkdown(reg: SpecRegistry, extras: {
18
18
  features?: FeatureRegistry;
19
19
  }): string;
20
20
  //#endregion
21
- export { docsToMarkdown, specsToMarkdown };
22
- //# sourceMappingURL=markdown.d.ts.map
21
+ export { docsToMarkdown, specsToMarkdown };
package/dist/markdown.js CHANGED
@@ -1,4 +1,3 @@
1
1
  import{isEmitDeclRef as e}from"./spec.js";function t(t,n){let r=[];for(let n of t.listSpecs()){let t=n.meta;if(r.push(`# ${t.name}.v${t.version}`),r.push(``),r.push(`**Kind:** ${t.kind} | **Stability:** ${t.stability} | **Owners:** ${t.owners.join(`, `)}`),r.push(``),r.push(`**Description:** ${t.description}`),r.push(``),r.push(`## Goal`),r.push(t.goal),r.push(``),r.push(`## Context`),r.push(t.context),r.push(``),r.push(`## Policy`),r.push(`- Auth: ${n.policy.auth}`),r.push(`- Idempotent: ${!!n.policy.idempotent}`),n.policy.rateLimit&&r.push(`- Rate Limit: ${n.policy.rateLimit.rpm}/min by ${n.policy.rateLimit.key}`),n.policy.flags?.length&&r.push(`- Flags: ${n.policy.flags.join(`, `)}`),n.policy.pii?.length&&r.push(`- PII: ${n.policy.pii.join(`, `)}`),r.push(``),n.sideEffects?.emits?.length){r.push(`## Emits Events`);for(let t of n.sideEffects.emits)e(t)?r.push(`- \`${t.ref.name}.v${t.ref.version}\` — ${t.when}`):r.push(`- \`${t.name}.v${t.version}\` — ${t.when}`);r.push(``)}if(n.io.errors&&Object.keys(n.io.errors).length){r.push(`## Errors`);for(let[e,t]of Object.entries(n.io.errors))r.push(`- \`${e}\` (${t.http??400}) — ${t.description} (when: ${t.when})`);r.push(``)}if(n.acceptance?.scenarios?.length){r.push(`## Acceptance Scenarios`);for(let e of n.acceptance.scenarios)r.push(`### ${e.name}`),r.push(`- **Given:** ${e.given.join(`; `)}`),r.push(`- **When:** ${e.when.join(`; `)}`),r.push(`- **Then:** ${e.then.join(`; `)}`),r.push(``)}if(n.acceptance?.examples?.length){r.push(`## Examples`);for(let e of n.acceptance.examples)r.push(`- **${e.name}**`),r.push(` - Input:`),r.push(" ```json"),r.push(JSON.stringify(e.input,null,2)),r.push(" ```"),r.push(` - Output:`),r.push(" ```json"),r.push(JSON.stringify(e.output,null,2)),r.push(" ```"),r.push(``)}r.push(`---`),r.push(``)}return r.join(`
2
2
  `)}function n(e,n){let r=[];if(r.push(t(e,n)),n.presentations){r.push(`# Presentations`),r.push(``);for(let e of n.presentations.list())r.push(`## ${e.meta.name}.v${e.meta.version}`),r.push(``),r.push(`- Kind: ${e.content.kind}`),`framework`in e.content&&r.push(`- Framework: ${e.content.framework}`),`componentKey`in e.content&&r.push(`- Component Key: ${e.content.componentKey}`),`mimeType`in e.content&&r.push(`- MIME Type: ${e.content.mimeType}`),r.push(``);r.push(``)}if(n.features){r.push(`# Features`),r.push(``);for(let e of n.features.list()){if(r.push(`## ${e.meta.title} (${e.meta.key})`),e.meta.description&&r.push(e.meta.description),r.push(``),e.operations?.length){r.push(`- Operations:`);for(let t of e.operations)r.push(` - ${t.name}.v${t.version}`)}if(e.events?.length){r.push(`- Events:`);for(let t of e.events)r.push(` - ${t.name}.v${t.version}`)}if(e.presentations?.length){r.push(`- Presentations:`);for(let t of e.presentations)r.push(` - ${t.name}.v${t.version}`)}r.push(``)}}return r.join(`
3
- `)}export{n as docsToMarkdown,t as specsToMarkdown};
4
- //# sourceMappingURL=markdown.js.map
3
+ `)}export{n as docsToMarkdown,t as specsToMarkdown};
@@ -49,5 +49,4 @@ declare class MigrationRegistry {
49
49
  get(name: string, version?: number): MigrationSpec | undefined;
50
50
  }
51
51
  //#endregion
52
- export { DataMigrationStep, MigrationCheck, MigrationMeta, MigrationPlan, MigrationRegistry, MigrationSpec, MigrationStep, MigrationStepBase, MigrationStepKind, SchemaMigrationStep, ValidationMigrationStep };
53
- //# sourceMappingURL=migrations.d.ts.map
52
+ export { DataMigrationStep, MigrationCheck, MigrationMeta, MigrationPlan, MigrationRegistry, MigrationSpec, MigrationStep, MigrationStepBase, MigrationStepKind, SchemaMigrationStep, ValidationMigrationStep };
@@ -1,2 +1 @@
1
- const e=(e,t)=>`${e}.v${t}`;var t=class{items=new Map;register(t){let n=e(t.meta.name,t.meta.version);if(this.items.has(n))throw Error(`Duplicate migration ${n}`);return this.items.set(n,t),this}list(){return[...this.items.values()].sort((t,r)=>n(e(t.meta.name,t.meta.version),e(r.meta.name,r.meta.version)))}get(t,n){if(n!=null)return this.items.get(e(t,n));let r,i=-1/0;for(let e of this.items.values())e.meta.name===t&&e.meta.version>i&&(i=e.meta.version,r=e);return r}};function n(e,t){return e<t?-1:e>t?1:0}export{t as MigrationRegistry};
2
- //# sourceMappingURL=migrations.js.map
1
+ const e=(e,t)=>`${e}.v${t}`;var t=class{items=new Map;register(t){let n=e(t.meta.name,t.meta.version);if(this.items.has(n))throw Error(`Duplicate migration ${n}`);return this.items.set(n,t),this}list(){return[...this.items.values()].sort((t,r)=>n(e(t.meta.name,t.meta.version),e(r.meta.name,r.meta.version)))}get(t,n){if(n!=null)return this.items.get(e(t,n));let r,i=-1/0;for(let e of this.items.values())e.meta.name===t&&e.meta.version>i&&(i=e.meta.version,r=e);return r}};function n(e,t){return e<t?-1:e>t?1:0}export{t as MigrationRegistry};
@@ -1,138 +1,137 @@
1
1
  import { ContractSpec } from "./spec.js";
2
- import * as _lssm_lib_schema100 from "@lssm/lib.schema";
2
+ import * as _lssm_lib_schema0 from "@lssm/lib.schema";
3
3
  import { SchemaModel } from "@lssm/lib.schema";
4
4
 
5
5
  //#region src/onboarding-base.d.ts
6
6
  /** Save/update onboarding draft (auto-save during flow) */
7
7
  declare const SaveOnboardingDraftInput: SchemaModel<{
8
8
  data: {
9
- type: _lssm_lib_schema100.FieldType<unknown, unknown>;
9
+ type: _lssm_lib_schema0.FieldType<unknown, unknown>;
10
10
  isOptional: false;
11
11
  };
12
12
  }>;
13
13
  declare const SaveOnboardingDraftOutput: SchemaModel<{
14
14
  id: {
15
- type: _lssm_lib_schema100.FieldType<string, string>;
15
+ type: _lssm_lib_schema0.FieldType<string, string>;
16
16
  isOptional: false;
17
17
  };
18
18
  organizationId: {
19
- type: _lssm_lib_schema100.FieldType<string, string>;
19
+ type: _lssm_lib_schema0.FieldType<string, string>;
20
20
  isOptional: false;
21
21
  };
22
22
  }>;
23
23
  declare const SaveOnboardingDraftBaseSpec: ContractSpec<SchemaModel<{
24
24
  data: {
25
- type: _lssm_lib_schema100.FieldType<unknown, unknown>;
25
+ type: _lssm_lib_schema0.FieldType<unknown, unknown>;
26
26
  isOptional: false;
27
27
  };
28
28
  }>, SchemaModel<{
29
29
  id: {
30
- type: _lssm_lib_schema100.FieldType<string, string>;
30
+ type: _lssm_lib_schema0.FieldType<string, string>;
31
31
  isOptional: false;
32
32
  };
33
33
  organizationId: {
34
- type: _lssm_lib_schema100.FieldType<string, string>;
34
+ type: _lssm_lib_schema0.FieldType<string, string>;
35
35
  isOptional: false;
36
36
  };
37
37
  }>, undefined>;
38
38
  /** Get current onboarding draft (on mount/restore) */
39
39
  declare const GetOnboardingDraftOutput: SchemaModel<{
40
40
  id: {
41
- type: _lssm_lib_schema100.FieldType<string, string>;
41
+ type: _lssm_lib_schema0.FieldType<string, string>;
42
42
  isOptional: true;
43
43
  };
44
44
  organizationId: {
45
- type: _lssm_lib_schema100.FieldType<string, string>;
45
+ type: _lssm_lib_schema0.FieldType<string, string>;
46
46
  isOptional: true;
47
47
  };
48
48
  data: {
49
- type: _lssm_lib_schema100.FieldType<unknown, unknown>;
49
+ type: _lssm_lib_schema0.FieldType<unknown, unknown>;
50
50
  isOptional: true;
51
51
  };
52
52
  createdAt: {
53
- type: _lssm_lib_schema100.FieldType<Date, string>;
53
+ type: _lssm_lib_schema0.FieldType<Date, string>;
54
54
  isOptional: true;
55
55
  };
56
56
  updatedAt: {
57
- type: _lssm_lib_schema100.FieldType<Date, string>;
57
+ type: _lssm_lib_schema0.FieldType<Date, string>;
58
58
  isOptional: true;
59
59
  };
60
60
  }>;
61
- declare const GetOnboardingDraftBaseSpec: ContractSpec<_lssm_lib_schema100.AnySchemaModel, SchemaModel<{
61
+ declare const GetOnboardingDraftBaseSpec: ContractSpec<_lssm_lib_schema0.AnySchemaModel, SchemaModel<{
62
62
  id: {
63
- type: _lssm_lib_schema100.FieldType<string, string>;
63
+ type: _lssm_lib_schema0.FieldType<string, string>;
64
64
  isOptional: true;
65
65
  };
66
66
  organizationId: {
67
- type: _lssm_lib_schema100.FieldType<string, string>;
67
+ type: _lssm_lib_schema0.FieldType<string, string>;
68
68
  isOptional: true;
69
69
  };
70
70
  data: {
71
- type: _lssm_lib_schema100.FieldType<unknown, unknown>;
71
+ type: _lssm_lib_schema0.FieldType<unknown, unknown>;
72
72
  isOptional: true;
73
73
  };
74
74
  createdAt: {
75
- type: _lssm_lib_schema100.FieldType<Date, string>;
75
+ type: _lssm_lib_schema0.FieldType<Date, string>;
76
76
  isOptional: true;
77
77
  };
78
78
  updatedAt: {
79
- type: _lssm_lib_schema100.FieldType<Date, string>;
79
+ type: _lssm_lib_schema0.FieldType<Date, string>;
80
80
  isOptional: true;
81
81
  };
82
82
  }>, undefined>;
83
83
  /** Delete onboarding draft (cleanup after completion or cancel) */
84
84
  declare const DeleteOnboardingDraftOutput: SchemaModel<{
85
85
  ok: {
86
- type: _lssm_lib_schema100.FieldType<boolean, boolean>;
86
+ type: _lssm_lib_schema0.FieldType<boolean, boolean>;
87
87
  isOptional: false;
88
88
  };
89
89
  }>;
90
- declare const DeleteOnboardingDraftBaseSpec: ContractSpec<_lssm_lib_schema100.AnySchemaModel, SchemaModel<{
90
+ declare const DeleteOnboardingDraftBaseSpec: ContractSpec<_lssm_lib_schema0.AnySchemaModel, SchemaModel<{
91
91
  ok: {
92
- type: _lssm_lib_schema100.FieldType<boolean, boolean>;
92
+ type: _lssm_lib_schema0.FieldType<boolean, boolean>;
93
93
  isOptional: false;
94
94
  };
95
95
  }>, undefined>;
96
96
  /** Complete onboarding (final submit, creates entities) */
97
97
  declare const CompleteOnboardingBaseInput: SchemaModel<{
98
98
  data: {
99
- type: _lssm_lib_schema100.FieldType<unknown, unknown>;
99
+ type: _lssm_lib_schema0.FieldType<unknown, unknown>;
100
100
  isOptional: false;
101
101
  };
102
102
  }>;
103
103
  declare const CompleteOnboardingBaseOutput: SchemaModel<{
104
104
  success: {
105
- type: _lssm_lib_schema100.FieldType<boolean, boolean>;
105
+ type: _lssm_lib_schema0.FieldType<boolean, boolean>;
106
106
  isOptional: false;
107
107
  };
108
108
  userId: {
109
- type: _lssm_lib_schema100.FieldType<string, string>;
109
+ type: _lssm_lib_schema0.FieldType<string, string>;
110
110
  isOptional: true;
111
111
  };
112
112
  organizationId: {
113
- type: _lssm_lib_schema100.FieldType<string, string>;
113
+ type: _lssm_lib_schema0.FieldType<string, string>;
114
114
  isOptional: true;
115
115
  };
116
116
  }>;
117
117
  declare const CompleteOnboardingBaseSpec: ContractSpec<SchemaModel<{
118
118
  data: {
119
- type: _lssm_lib_schema100.FieldType<unknown, unknown>;
119
+ type: _lssm_lib_schema0.FieldType<unknown, unknown>;
120
120
  isOptional: false;
121
121
  };
122
122
  }>, SchemaModel<{
123
123
  success: {
124
- type: _lssm_lib_schema100.FieldType<boolean, boolean>;
124
+ type: _lssm_lib_schema0.FieldType<boolean, boolean>;
125
125
  isOptional: false;
126
126
  };
127
127
  userId: {
128
- type: _lssm_lib_schema100.FieldType<string, string>;
128
+ type: _lssm_lib_schema0.FieldType<string, string>;
129
129
  isOptional: true;
130
130
  };
131
131
  organizationId: {
132
- type: _lssm_lib_schema100.FieldType<string, string>;
132
+ type: _lssm_lib_schema0.FieldType<string, string>;
133
133
  isOptional: true;
134
134
  };
135
135
  }>, undefined>;
136
136
  //#endregion
137
- export { CompleteOnboardingBaseInput, CompleteOnboardingBaseOutput, CompleteOnboardingBaseSpec, DeleteOnboardingDraftBaseSpec, DeleteOnboardingDraftOutput, GetOnboardingDraftBaseSpec, GetOnboardingDraftOutput, SaveOnboardingDraftBaseSpec, SaveOnboardingDraftInput, SaveOnboardingDraftOutput };
138
- //# sourceMappingURL=onboarding-base.d.ts.map
137
+ export { CompleteOnboardingBaseInput, CompleteOnboardingBaseOutput, CompleteOnboardingBaseSpec, DeleteOnboardingDraftBaseSpec, DeleteOnboardingDraftOutput, GetOnboardingDraftBaseSpec, GetOnboardingDraftOutput, SaveOnboardingDraftBaseSpec, SaveOnboardingDraftInput, SaveOnboardingDraftOutput };
@@ -1,2 +1 @@
1
- import{l as e}from"./schema/dist/ScalarTypeEnum.js";import{t}from"./schema/dist/SchemaModel.js";import"./schema/dist/index.js";import{defineCommand as n,defineQuery as r}from"./spec.js";import{OwnersEnum as i,StabilityEnum as a}from"./ownership.js";const o=new t({name:`SaveOnboardingDraftInput`,description:`Input for saving onboarding draft`,fields:{data:{type:e.JSON(),isOptional:!1}}}),s=new t({name:`SaveOnboardingDraftOutput`,description:`Output for saving onboarding draft`,fields:{id:{type:e.ID(),isOptional:!1},organizationId:{type:e.ID(),isOptional:!1}}}),c=n({meta:{name:`base.onboarding.saveDraft`,version:1,stability:a.Beta,owners:[i.PlatformSigil],tags:[`onboarding`,`draft`],description:`Save or update onboarding draft for active organization`,goal:`Persist onboarding progress incrementally for resumption and safety`,context:`Auto-saves every few seconds during onboarding; enables users to leave and resume`},io:{input:o,output:s},policy:{auth:`user`,escalate:null},transport:{gql:{field:`saveOnboardingDraft`},rest:{method:`POST`}}}),l=new t({name:`GetOnboardingDraftOutput`,description:`Onboarding draft payload`,fields:{id:{type:e.ID(),isOptional:!0},organizationId:{type:e.ID(),isOptional:!0},data:{type:e.JSON(),isOptional:!0},createdAt:{type:e.DateTime(),isOptional:!0},updatedAt:{type:e.DateTime(),isOptional:!0}}}),u=r({meta:{name:`base.onboarding.getDraft`,version:1,stability:a.Beta,owners:[i.PlatformSigil],tags:[`onboarding`,`draft`],description:`Get onboarding draft for active organization`,goal:`Retrieve saved onboarding progress`,context:`Called on mount to restore in-progress onboarding`},io:{input:null,output:l},policy:{auth:`user`,escalate:null},transport:{gql:{field:`getOnboardingDraft`},rest:{method:`GET`}}}),d=new t({name:`DeleteOnboardingDraftOutput`,description:`Result of delete operation`,fields:{ok:{type:e.Boolean(),isOptional:!1}}}),f=n({meta:{name:`base.onboarding.deleteDraft`,version:1,stability:a.Beta,owners:[i.PlatformSigil],tags:[`onboarding`,`draft`],description:`Delete onboarding draft for active organization`,goal:`Clear draft after completion or if user wants to restart`,context:`Called after successful onboarding or explicit user reset`},io:{input:null,output:d},policy:{auth:`user`,escalate:null},transport:{gql:{field:`deleteOnboardingDraft`},rest:{method:`POST`}}}),p=new t({name:`CompleteOnboardingBaseInput`,description:`Input for completing onboarding`,fields:{data:{type:e.JSON(),isOptional:!1}}}),m=new t({name:`CompleteOnboardingBaseOutput`,description:`Result of onboarding completion`,fields:{success:{type:e.Boolean(),isOptional:!1},userId:{type:e.ID(),isOptional:!0},organizationId:{type:e.ID(),isOptional:!0}}}),h=n({meta:{name:`base.onboarding.complete`,version:1,stability:a.Beta,owners:[i.PlatformSigil],tags:[`onboarding`],description:`Complete onboarding and finalize user/organization setup`,goal:`Transition from draft to active profile`,context:`Validates all required fields, creates/updates entities, marks onboarding complete`},io:{input:p,output:m},policy:{auth:`user`,escalate:null},transport:{gql:{field:`completeOnboarding`},rest:{method:`POST`}}});export{p as CompleteOnboardingBaseInput,m as CompleteOnboardingBaseOutput,h as CompleteOnboardingBaseSpec,f as DeleteOnboardingDraftBaseSpec,d as DeleteOnboardingDraftOutput,u as GetOnboardingDraftBaseSpec,l as GetOnboardingDraftOutput,c as SaveOnboardingDraftBaseSpec,o as SaveOnboardingDraftInput,s as SaveOnboardingDraftOutput};
2
- //# sourceMappingURL=onboarding-base.js.map
1
+ import{l as e}from"./schema/dist/ScalarTypeEnum.js";import{t}from"./schema/dist/SchemaModel.js";import"./schema/dist/index.js";import{defineCommand as n,defineQuery as r}from"./spec.js";import{OwnersEnum as i,StabilityEnum as a}from"./ownership.js";const o=new t({name:`SaveOnboardingDraftInput`,description:`Input for saving onboarding draft`,fields:{data:{type:e.JSON(),isOptional:!1}}}),s=new t({name:`SaveOnboardingDraftOutput`,description:`Output for saving onboarding draft`,fields:{id:{type:e.ID(),isOptional:!1},organizationId:{type:e.ID(),isOptional:!1}}}),c=n({meta:{name:`base.onboarding.saveDraft`,version:1,stability:a.Beta,owners:[i.PlatformSigil],tags:[`onboarding`,`draft`],description:`Save or update onboarding draft for active organization`,goal:`Persist onboarding progress incrementally for resumption and safety`,context:`Auto-saves every few seconds during onboarding; enables users to leave and resume`},io:{input:o,output:s},policy:{auth:`user`,escalate:null},transport:{gql:{field:`saveOnboardingDraft`},rest:{method:`POST`}}}),l=new t({name:`GetOnboardingDraftOutput`,description:`Onboarding draft payload`,fields:{id:{type:e.ID(),isOptional:!0},organizationId:{type:e.ID(),isOptional:!0},data:{type:e.JSON(),isOptional:!0},createdAt:{type:e.DateTime(),isOptional:!0},updatedAt:{type:e.DateTime(),isOptional:!0}}}),u=r({meta:{name:`base.onboarding.getDraft`,version:1,stability:a.Beta,owners:[i.PlatformSigil],tags:[`onboarding`,`draft`],description:`Get onboarding draft for active organization`,goal:`Retrieve saved onboarding progress`,context:`Called on mount to restore in-progress onboarding`},io:{input:null,output:l},policy:{auth:`user`,escalate:null},transport:{gql:{field:`getOnboardingDraft`},rest:{method:`GET`}}}),d=new t({name:`DeleteOnboardingDraftOutput`,description:`Result of delete operation`,fields:{ok:{type:e.Boolean(),isOptional:!1}}}),f=n({meta:{name:`base.onboarding.deleteDraft`,version:1,stability:a.Beta,owners:[i.PlatformSigil],tags:[`onboarding`,`draft`],description:`Delete onboarding draft for active organization`,goal:`Clear draft after completion or if user wants to restart`,context:`Called after successful onboarding or explicit user reset`},io:{input:null,output:d},policy:{auth:`user`,escalate:null},transport:{gql:{field:`deleteOnboardingDraft`},rest:{method:`POST`}}}),p=new t({name:`CompleteOnboardingBaseInput`,description:`Input for completing onboarding`,fields:{data:{type:e.JSON(),isOptional:!1}}}),m=new t({name:`CompleteOnboardingBaseOutput`,description:`Result of onboarding completion`,fields:{success:{type:e.Boolean(),isOptional:!1},userId:{type:e.ID(),isOptional:!0},organizationId:{type:e.ID(),isOptional:!0}}}),h=n({meta:{name:`base.onboarding.complete`,version:1,stability:a.Beta,owners:[i.PlatformSigil],tags:[`onboarding`],description:`Complete onboarding and finalize user/organization setup`,goal:`Transition from draft to active profile`,context:`Validates all required fields, creates/updates entities, marks onboarding complete`},io:{input:p,output:m},policy:{auth:`user`,escalate:null},transport:{gql:{field:`completeOnboarding`},rest:{method:`POST`}}});export{p as CompleteOnboardingBaseInput,m as CompleteOnboardingBaseOutput,h as CompleteOnboardingBaseSpec,f as DeleteOnboardingDraftBaseSpec,d as DeleteOnboardingDraftOutput,u as GetOnboardingDraftBaseSpec,l as GetOnboardingDraftOutput,c as SaveOnboardingDraftBaseSpec,o as SaveOnboardingDraftInput,s as SaveOnboardingDraftOutput};
@@ -72,5 +72,4 @@ interface OwnerShipMeta {
72
72
  stability: Stability;
73
73
  }
74
74
  //#endregion
75
- export { Owner, OwnerShipMeta, Owners, OwnersEnum, Stability, StabilityEnum, Tag, Tags, TagsEnum };
76
- //# sourceMappingURL=ownership.d.ts.map
75
+ export { Owner, OwnerShipMeta, Owners, OwnersEnum, Stability, StabilityEnum, Tag, Tags, TagsEnum };
package/dist/ownership.js CHANGED
@@ -1,2 +1 @@
1
- const e={Idea:`idea`,InCreation:`in_creation`,Experimental:`experimental`,Beta:`beta`,Stable:`stable`,Deprecated:`deprecated`},t={ProductColiving:`product.coliving`,ProductStrit:`product.strit`,ProductArtisanos:`product.artisanos`,PlatformSigil:`platform.sigil`,PlatformMarketplace:`platform.marketplace`,PlatformContent:`platform.content`,PlatformFeatureFlags:`platform.featureflags`},n=t,r={Spots:`spots`,Collectivity:`collectivity`,Marketplace:`marketplace`,Sellers:`sellers`,Auth:`auth`,Login:`login`,Signup:`signup`,Guide:`guide`,Docs:`docs`,I18n:`i18n`,AtomicPages:`atomic:pages`,Incident:`incident`,Hygiene:`hygiene`,WeeklyPulse:`weekly_pulse`,WebAuth:`webauth`},i=r;export{n as Owners,t as OwnersEnum,e as StabilityEnum,i as Tags,r as TagsEnum};
2
- //# sourceMappingURL=ownership.js.map
1
+ const e={Idea:`idea`,InCreation:`in_creation`,Experimental:`experimental`,Beta:`beta`,Stable:`stable`,Deprecated:`deprecated`},t={ProductColiving:`product.coliving`,ProductStrit:`product.strit`,ProductArtisanos:`product.artisanos`,PlatformSigil:`platform.sigil`,PlatformMarketplace:`platform.marketplace`,PlatformContent:`platform.content`,PlatformFeatureFlags:`platform.featureflags`},n=t,r={Spots:`spots`,Collectivity:`collectivity`,Marketplace:`marketplace`,Sellers:`sellers`,Auth:`auth`,Login:`login`,Signup:`signup`,Guide:`guide`,Docs:`docs`,I18n:`i18n`,AtomicPages:`atomic:pages`,Incident:`incident`,Hygiene:`hygiene`,WeeklyPulse:`weekly_pulse`,WebAuth:`webauth`},i=r;export{n as Owners,t as OwnersEnum,e as StabilityEnum,i as Tags,r as TagsEnum};
@@ -36,5 +36,4 @@ declare class PolicyEngine {
36
36
  private evaluateFields;
37
37
  }
38
38
  //#endregion
39
- export { DecisionContext, PolicyEngine, ResourceContext, SubjectContext, SubjectRelationship };
40
- //# sourceMappingURL=engine.d.ts.map
39
+ export { DecisionContext, PolicyEngine, ResourceContext, SubjectContext, SubjectRelationship };
@@ -1,2 +1 @@
1
- var e=class{constructor(e){this.registry=e}decide(e){let t=this.resolvePolicies(e.policies),n,r,i;for(let a of t){let t=this.matchRuleSet(a,e);if(t){if(t.rule.effect===`deny`)return{effect:`deny`,reason:t.rule.reason??a.meta.name,requiredConsents:t.missingConsents.length?t.missingConsents:void 0,evaluatedBy:`engine`};if(t.rule.effect===`allow`){if(t.missingConsents.length)return{effect:`deny`,reason:`consent_required`,requiredConsents:t.missingConsents,evaluatedBy:`engine`};n||=t.rule.reason??a.meta.name,!r&&t.rateLimit&&(r=t.rateLimit),!i&&t.rule.escalate&&(i=t.rule.escalate)}}}let a=this.evaluateFields(t,e),o=t.find(e=>e.pii)?.pii;return{effect:n?`allow`:`deny`,reason:n,rateLimit:r,escalate:i===void 0?void 0:i,fieldDecisions:a.length?a:void 0,pii:o,evaluatedBy:`engine`}}resolvePolicies(e){let t=[];for(let n of e){let e=this.registry.get(n.name,n.version);if(!e)throw Error(`PolicyEngine: policy not found ${n.name}.v${n.version}`);t.push(e)}return t}matchRuleSet(e,t){let s;for(let l of e.rules){if(!l.actions.includes(t.action)||!n(l,t.subject)||!r(l,t.resource)||!i(l,t)||!a(l.relationships,t)||!o(l,t))continue;let d={rule:l,missingConsents:c(l,e,t),rateLimit:u(l,e,t)};if(l.effect===`deny`)return d;l.effect===`allow`&&!s&&(s=d)}return s}evaluateFields(e,i){let a=new Map;for(let s of e)if(s.fieldPolicies)for(let e of s.fieldPolicies){if(!e.actions.includes(t(i.action))||!n(e,i.subject)||!r(e,i.resource)||!o(e,i))continue;let c=a.get(e.field);e.effect===`deny`?a.set(e.field,{field:e.field,effect:`deny`,reason:e.reason??s.meta.name}):c||a.set(e.field,{field:e.field,effect:`allow`,reason:e.reason??s.meta.name})}return[...a.values()]}};function t(e){return e.startsWith(`write`)?`write`:`read`}function n(e,t){let n=e.subject;if(!n)return!0;if(n.roles?.length){let e=t.roles??[];if(!n.roles.some(t=>e.includes(t)))return!1}if(n.attributes){let e=t.attributes??{};if(!s(n.attributes,e))return!1}return!0}function r(e,t){let n=e.resource;if(!n)return!0;if(n.type&&n.type!==t.type)return!1;if(n.fields?.length){let e=t.fields??[];if(!n.fields.some(t=>e.includes(t)))return!1}if(n.attributes){let e=t.attributes??{};if(!s(n.attributes,e))return!1}return!0}function i(e,t){if(!e.flags?.length)return!0;let n=new Set;if(t.flags)for(let e of t.flags)n.add(e);let r=t.subject.attributes?.featureFlags;if(Array.isArray(r))for(let e of r)n.add(e);return e.flags.every(e=>n.has(e))}function a(e,t){if(!e||e.length===0)return!0;let n=t.subject.relationships??[],r=p(t.resource),i=t.resource.type;return e.every(e=>n.some(t=>t.relation!==e.relation||!(!e.objectType||t.objectType===e.objectType||e.objectType===i)?!1:e.objectId?e.objectId===`$resource`?r?t.object===r:t.object===i||t.objectType===i:t.object===e.objectId:!0))}function o(e,t){return!e.conditions||e.conditions.length===0?!0:e.conditions.every(e=>d(e.expression,t))}function s(e,t){for(let[n,r]of Object.entries(e)){let e=t[n];if(r.exists&&e===void 0||r.equals!==void 0&&e!==r.equals||r.oneOf&&!r.oneOf.includes(e))return!1}return!0}function c(e,t,n){if(!e.requiresConsent?.length)return[];let r=new Set(n.consents??[]),i=e.requiresConsent.filter(e=>!r.has(e));return i.length===0?[]:l(t,i)}function l(e,t){let n=e.consents??[];return t.map(t=>n.find(e=>e.id===t)??{id:t,scope:`unspecified`,purpose:`unspecified`,description:`Consent "${t}" required by ${e.meta.name}`,required:!0})}function u(e,t,n){if(!e.rateLimit)return;let r=typeof e.rateLimit==`string`?(t.rateLimits??[]).find(t=>t.id===e.rateLimit):e.rateLimit;if(!r)throw Error(`PolicyEngine: rate limit "${String(e.rateLimit)}" not declared in ${t.meta.name}`);return{rpm:r.rpm,key:r.key??n.resource.type,windowSeconds:r.windowSeconds,burst:r.burst}}function d(e,t){let n=e.trim();if(!n)return!0;let r={subject:t.subject,resource:t.resource,context:t.context??{}};try{return!!Function(`subject`,`resource`,`context`,`return (${f(n)});`)(r.subject,r.resource,r.context)}catch{return!1}}function f(e){return e.replace(/&&/g,`&&`).replace(/\|\|/g,`||`)}function p(e){if(e.id)return e.id;let t=e.attributes?.id;if(typeof t==`string`)return t;if(typeof t==`number`)return String(t)}export{e as PolicyEngine};
2
- //# sourceMappingURL=engine.js.map
1
+ var e=class{constructor(e){this.registry=e}decide(e){let t=this.resolvePolicies(e.policies),n,r,i;for(let a of t){let t=this.matchRuleSet(a,e);if(t){if(t.rule.effect===`deny`)return{effect:`deny`,reason:t.rule.reason??a.meta.name,requiredConsents:t.missingConsents.length?t.missingConsents:void 0,evaluatedBy:`engine`};if(t.rule.effect===`allow`){if(t.missingConsents.length)return{effect:`deny`,reason:`consent_required`,requiredConsents:t.missingConsents,evaluatedBy:`engine`};n||=t.rule.reason??a.meta.name,!r&&t.rateLimit&&(r=t.rateLimit),!i&&t.rule.escalate&&(i=t.rule.escalate)}}}let a=this.evaluateFields(t,e),o=t.find(e=>e.pii)?.pii;return{effect:n?`allow`:`deny`,reason:n,rateLimit:r,escalate:i===void 0?void 0:i,fieldDecisions:a.length?a:void 0,pii:o,evaluatedBy:`engine`}}resolvePolicies(e){let t=[];for(let n of e){let e=this.registry.get(n.name,n.version);if(!e)throw Error(`PolicyEngine: policy not found ${n.name}.v${n.version}`);t.push(e)}return t}matchRuleSet(e,t){let s;for(let l of e.rules){if(!l.actions.includes(t.action)||!n(l,t.subject)||!r(l,t.resource)||!i(l,t)||!a(l.relationships,t)||!o(l,t))continue;let d={rule:l,missingConsents:c(l,e,t),rateLimit:u(l,e,t)};if(l.effect===`deny`)return d;l.effect===`allow`&&!s&&(s=d)}return s}evaluateFields(e,i){let a=new Map;for(let s of e)if(s.fieldPolicies)for(let e of s.fieldPolicies){if(!e.actions.includes(t(i.action))||!n(e,i.subject)||!r(e,i.resource)||!o(e,i))continue;let c=a.get(e.field);e.effect===`deny`?a.set(e.field,{field:e.field,effect:`deny`,reason:e.reason??s.meta.name}):c||a.set(e.field,{field:e.field,effect:`allow`,reason:e.reason??s.meta.name})}return[...a.values()]}};function t(e){return e.startsWith(`write`)?`write`:`read`}function n(e,t){let n=e.subject;if(!n)return!0;if(n.roles?.length){let e=t.roles??[];if(!n.roles.some(t=>e.includes(t)))return!1}if(n.attributes){let e=t.attributes??{};if(!s(n.attributes,e))return!1}return!0}function r(e,t){let n=e.resource;if(!n)return!0;if(n.type&&n.type!==t.type)return!1;if(n.fields?.length){let e=t.fields??[];if(!n.fields.some(t=>e.includes(t)))return!1}if(n.attributes){let e=t.attributes??{};if(!s(n.attributes,e))return!1}return!0}function i(e,t){if(!e.flags?.length)return!0;let n=new Set;if(t.flags)for(let e of t.flags)n.add(e);let r=t.subject.attributes?.featureFlags;if(Array.isArray(r))for(let e of r)n.add(e);return e.flags.every(e=>n.has(e))}function a(e,t){if(!e||e.length===0)return!0;let n=t.subject.relationships??[],r=p(t.resource),i=t.resource.type;return e.every(e=>n.some(t=>t.relation!==e.relation||!(!e.objectType||t.objectType===e.objectType||e.objectType===i)?!1:e.objectId?e.objectId===`$resource`?r?t.object===r:t.object===i||t.objectType===i:t.object===e.objectId:!0))}function o(e,t){return!e.conditions||e.conditions.length===0?!0:e.conditions.every(e=>d(e.expression,t))}function s(e,t){for(let[n,r]of Object.entries(e)){let e=t[n];if(r.exists&&e===void 0||r.equals!==void 0&&e!==r.equals||r.oneOf&&!r.oneOf.includes(e))return!1}return!0}function c(e,t,n){if(!e.requiresConsent?.length)return[];let r=new Set(n.consents??[]),i=e.requiresConsent.filter(e=>!r.has(e));return i.length===0?[]:l(t,i)}function l(e,t){let n=e.consents??[];return t.map(t=>n.find(e=>e.id===t)??{id:t,scope:`unspecified`,purpose:`unspecified`,description:`Consent "${t}" required by ${e.meta.name}`,required:!0})}function u(e,t,n){if(!e.rateLimit)return;let r=typeof e.rateLimit==`string`?(t.rateLimits??[]).find(t=>t.id===e.rateLimit):e.rateLimit;if(!r)throw Error(`PolicyEngine: rate limit "${String(e.rateLimit)}" not declared in ${t.meta.name}`);return{rpm:r.rpm,key:r.key??n.resource.type,windowSeconds:r.windowSeconds,burst:r.burst}}function d(e,t){let n=e.trim();if(!n)return!0;let r={subject:t.subject,resource:t.resource,context:t.context??{}};try{return!!Function(`subject`,`resource`,`context`,`return (${f(n)});`)(r.subject,r.resource,r.context)}catch{return!1}}function f(e){return e.replace(/&&/g,`&&`).replace(/\|\|/g,`||`)}function p(e){if(e.id)return e.id;let t=e.attributes?.id;if(typeof t==`string`)return t;if(typeof t==`number`)return String(t)}export{e as PolicyEngine};
@@ -42,5 +42,4 @@ declare function buildOPAInput(context: DecisionContext, policies: PolicySpec[],
42
42
  }[];
43
43
  };
44
44
  //#endregion
45
- export { OPAAdapterOptions, OPAClient, OPAEvaluationResult, OPAPolicyAdapter, buildOPAInput };
46
- //# sourceMappingURL=opa-adapter.d.ts.map
45
+ export { OPAAdapterOptions, OPAClient, OPAEvaluationResult, OPAPolicyAdapter, buildOPAInput };
@@ -1,2 +1 @@
1
- var e=class{constructor(e,t){this.client=e,this.options=t}async evaluate(e,r,i){let a=t(e,r,i),o=await this.client.evaluate(this.options.decisionPath,a),s=this.options.mapResult?this.options.mapResult(o):o;if(!s)return{...i,evaluatedBy:i.evaluatedBy??`engine`};let c=s,l=n(r,i.requiredConsents??[],c.requiredConsents??[]);return{...i,effect:c.effect??i.effect,reason:c.reason??i.reason,fieldDecisions:c.fieldDecisions??i.fieldDecisions,requiredConsents:l.length?l:void 0,evaluatedBy:`opa`}}};function t(e,t,n){return{context:e,decision:n,policies:t.map(e=>({meta:e.meta,rules:e.rules,fieldPolicies:e.fieldPolicies,pii:e.pii,relationships:e.relationships,consents:e.consents,rateLimits:e.rateLimits}))}}function n(e,t,n){if(n.length===0)return t;let i=new Set(t.map(e=>e.id)),a=[...t];for(let t of n){if(i.has(t))continue;let n=r(e,t);n&&(a.push(n),i.add(n.id))}return a}function r(e,t){for(let n of e){let e=n.consents?.find(e=>e.id===t);if(e)return e}return{id:t,scope:`unspecified`,purpose:`unspecified`,description:`Consent "${t}" returned by OPA`,required:!0}}export{e as OPAPolicyAdapter,t as buildOPAInput};
2
- //# sourceMappingURL=opa-adapter.js.map
1
+ var e=class{constructor(e,t){this.client=e,this.options=t}async evaluate(e,r,i){let a=t(e,r,i),o=await this.client.evaluate(this.options.decisionPath,a),s=this.options.mapResult?this.options.mapResult(o):o;if(!s)return{...i,evaluatedBy:i.evaluatedBy??`engine`};let c=s,l=n(r,i.requiredConsents??[],c.requiredConsents??[]);return{...i,effect:c.effect??i.effect,reason:c.reason??i.reason,fieldDecisions:c.fieldDecisions??i.fieldDecisions,requiredConsents:l.length?l:void 0,evaluatedBy:`opa`}}};function t(e,t,n){return{context:e,decision:n,policies:t.map(e=>({meta:e.meta,rules:e.rules,fieldPolicies:e.fieldPolicies,pii:e.pii,relationships:e.relationships,consents:e.consents,rateLimits:e.rateLimits}))}}function n(e,t,n){if(n.length===0)return t;let i=new Set(t.map(e=>e.id)),a=[...t];for(let t of n){if(i.has(t))continue;let n=r(e,t);n&&(a.push(n),i.add(n.id))}return a}function r(e,t){for(let n of e){let e=n.consents?.find(e=>e.id===t);if(e)return e}return{id:t,scope:`unspecified`,purpose:`unspecified`,description:`Consent "${t}" returned by OPA`,required:!0}}export{e as OPAPolicyAdapter,t as buildOPAInput};
@@ -111,5 +111,4 @@ declare class PolicyRegistry {
111
111
  }
112
112
  declare function makePolicyKey(ref: PolicyRef): string;
113
113
  //#endregion
114
- export { AttributeMatcher, ConsentDefinition, FieldPolicyRule, PIIPolicy, PolicyCondition, PolicyEffect, PolicyMeta, PolicyOPAConfig, PolicyRef, PolicyRegistry, PolicyRule, PolicySpec, RateLimitDefinition, RelationshipDefinition, RelationshipMatcher, ResourceMatcher, SubjectMatcher, makePolicyKey };
115
- //# sourceMappingURL=spec.d.ts.map
114
+ export { AttributeMatcher, ConsentDefinition, FieldPolicyRule, PIIPolicy, PolicyCondition, PolicyEffect, PolicyMeta, PolicyOPAConfig, PolicyRef, PolicyRegistry, PolicyRule, PolicySpec, RateLimitDefinition, RelationshipDefinition, RelationshipMatcher, ResourceMatcher, SubjectMatcher, makePolicyKey };
@@ -1,2 +1 @@
1
- const e=(e,t)=>`${e}.v${t}`;var t=class{items=new Map;register(t){let n=e(t.meta.name,t.meta.version);if(this.items.has(n))throw Error(`Duplicate policy ${n}`);return this.items.set(n,t),this}list(){return[...this.items.values()]}get(t,n){if(n!=null)return this.items.get(e(t,n));let r,i=-1/0;for(let e of this.items.values())e.meta.name===t&&e.meta.version>i&&(i=e.meta.version,r=e);return r}};function n(t){return e(t.name,t.version)}export{t as PolicyRegistry,n as makePolicyKey};
2
- //# sourceMappingURL=spec.js.map
1
+ const e=(e,t)=>`${e}.v${t}`;var t=class{items=new Map;register(t){let n=e(t.meta.name,t.meta.version);if(this.items.has(n))throw Error(`Duplicate policy ${n}`);return this.items.set(n,t),this}list(){return[...this.items.values()]}get(t,n){if(n!=null)return this.items.get(e(t,n));let r,i=-1/0;for(let e of this.items.values())e.meta.name===t&&e.meta.version>i&&(i=e.meta.version,r=e);return r}};function n(t){return e(t.name,t.version)}export{t as PolicyRegistry,n as makePolicyKey};
@@ -4,5 +4,4 @@ import { PresentationDescriptorV2 } from "./presentations.v2.js";
4
4
  //#region src/presentations.backcompat.d.ts
5
5
  declare function toV2FromV1(v1: PresentationSpec): PresentationDescriptorV2;
6
6
  //#endregion
7
- export { toV2FromV1 };
8
- //# sourceMappingURL=presentations.backcompat.d.ts.map
7
+ export { toV2FromV1 };
@@ -1,2 +1 @@
1
- function e(e){return e.content.kind===`web_component`?{meta:{...e.meta},policy:e.policy,source:{type:`component`,framework:e.content.framework,componentKey:e.content.componentKey,props:e.content.props},targets:[`react`,`application/json`,`application/xml`]}:e.content.kind===`markdown`?{meta:{...e.meta},policy:e.policy,source:{type:`blocknotejs`,docJson:e.content.content??e.content.resourceUri??``},targets:[`markdown`,`application/json`,`application/xml`]}:{meta:{...e.meta},policy:e.policy,source:{type:`blocknotejs`,docJson:{kind:`data`,mimeType:e.content.mimeType,model:`schema`}},targets:[`application/json`,`application/xml`]}}export{e as toV2FromV1};
2
- //# sourceMappingURL=presentations.backcompat.js.map
1
+ function e(e){return e.content.kind===`web_component`?{meta:{...e.meta},policy:e.policy,source:{type:`component`,framework:e.content.framework,componentKey:e.content.componentKey,props:e.content.props},targets:[`react`,`application/json`,`application/xml`]}:e.content.kind===`markdown`?{meta:{...e.meta},policy:e.policy,source:{type:`blocknotejs`,docJson:e.content.content??e.content.resourceUri??``},targets:[`markdown`,`application/json`,`application/xml`]}:{meta:{...e.meta},policy:e.policy,source:{type:`blocknotejs`,docJson:{kind:`data`,mimeType:e.content.mimeType,model:`schema`}},targets:[`application/json`,`application/xml`]}}export{e as toV2FromV1};
@@ -93,5 +93,4 @@ declare function jsonSchemaForPresentation(p: PresentationSpec): {
93
93
  kind: PresentationKind;
94
94
  };
95
95
  //#endregion
96
- export { DataPresentation, MarkdownPresentation, PresentationContent, PresentationKind, PresentationMeta, PresentationPolicy, PresentationRegistry, PresentationSpec, WebComponentPresentation, jsonSchemaForPresentation };
97
- //# sourceMappingURL=presentations.d.ts.map
96
+ export { DataPresentation, MarkdownPresentation, PresentationContent, PresentationKind, PresentationMeta, PresentationPolicy, PresentationRegistry, PresentationSpec, WebComponentPresentation, jsonSchemaForPresentation };
@@ -1,2 +1 @@
1
- import e from"zod";function t(e){return`${e.meta.name}.v${e.meta.version}`}var n=class{items=new Map;register(e){let n=t(e);if(this.items.has(n))throw Error(`Duplicate presentation ${n}`);return this.items.set(n,e),this}list(){return[...this.items.values()]}get(e,t){if(t!=null)return this.items.get(`${e}.v${t}`);let n,r=-1/0;for(let[t,i]of this.items.entries())t.startsWith(`${e}.v`)&&i.meta.version>r&&(r=i.meta.version,n=i);return n}};function r(t){let n={meta:{name:t.meta.name,version:t.meta.version,stability:t.meta.stability??`stable`,tags:t.meta.tags??[],description:t.meta.description??``},kind:t.content.kind};return t.content.kind===`web_component`?{...n,framework:t.content.framework,componentKey:t.content.componentKey,props:e.toJSONSchema(t.content.props.getZod())}:t.content.kind===`markdown`?{...n,content:t.content.content,resourceUri:t.content.resourceUri}:{...n,mimeType:t.content.mimeType,model:e.toJSONSchema(t.content.model.getZod())}}export{n as PresentationRegistry,r as jsonSchemaForPresentation};
2
- //# sourceMappingURL=presentations.js.map
1
+ import e from"zod";function t(e){return`${e.meta.name}.v${e.meta.version}`}var n=class{items=new Map;register(e){let n=t(e);if(this.items.has(n))throw Error(`Duplicate presentation ${n}`);return this.items.set(n,e),this}list(){return[...this.items.values()]}get(e,t){if(t!=null)return this.items.get(`${e}.v${t}`);let n,r=-1/0;for(let[t,i]of this.items.entries())t.startsWith(`${e}.v`)&&i.meta.version>r&&(r=i.meta.version,n=i);return n}};function r(t){let n={meta:{name:t.meta.name,version:t.meta.version,stability:t.meta.stability??`stable`,tags:t.meta.tags??[],description:t.meta.description??``},kind:t.content.kind};return t.content.kind===`web_component`?{...n,framework:t.content.framework,componentKey:t.content.componentKey,props:e.toJSONSchema(t.content.props.getZod())}:t.content.kind===`markdown`?{...n,content:t.content.content,resourceUri:t.content.resourceUri}:{...n,mimeType:t.content.mimeType,model:e.toJSONSchema(t.content.model.getZod())}}export{n as PresentationRegistry,r as jsonSchemaForPresentation};
@@ -92,5 +92,4 @@ declare function registerDefaultReactRenderer(engine: TransformEngine): Transfor
92
92
  */
93
93
  declare function registerBasicValidation(engine: TransformEngine): TransformEngine;
94
94
  //#endregion
95
- export { PresentationDescriptorV2, PresentationRenderer, PresentationSource, PresentationSourceBlocknotejs, PresentationSourceComponentReact, PresentationTarget, PresentationV2Meta, PresentationValidator, ReactRenderDescriptor, RenderContext, TransformEngine, createDefaultTransformEngine, registerBasicValidation, registerDefaultReactRenderer };
96
- //# sourceMappingURL=presentations.v2.d.ts.map
95
+ export { PresentationDescriptorV2, PresentationRenderer, PresentationSource, PresentationSourceBlocknotejs, PresentationSourceComponentReact, PresentationTarget, PresentationV2Meta, PresentationValidator, ReactRenderDescriptor, RenderContext, TransformEngine, createDefaultTransformEngine, registerBasicValidation, registerDefaultReactRenderer };
@@ -1,2 +1 @@
1
- var e=class{renderers=new Map;validators=[];register(e){let t=this.renderers.get(e.target)??[];return t.push(e),this.renderers.set(e.target,t),this}addValidator(e){return this.validators.push(e),this}async render(e,t,n){if(!t.targets.includes(e))throw Error(`Target ${e} not declared for ${t.meta.name}.v${t.meta.version}`);for(let r of this.validators)await r.validate(t,e,n);let r=this.renderers.get(e)??[];for(let e of r)try{return await e.render(t,n)}catch{}throw Error(`No renderer available for ${e}`)}};function t(){let t=new e,n=(e,t)=>{let n=JSON.parse(JSON.stringify(t)),r=e.policy?.pii??[],i=(e,t)=>{let n=t.replace(/^\//,``).replace(/\[(\d+)\]/g,`.$1`).split(`.`).filter(Boolean),r=e;for(let e=0;e<n.length-1;e++){let t=n[e];if(r&&typeof r==`object`&&t in r)r=r[t];else return}let i=n[n.length-1];r&&typeof r==`object`&&i&&i in r&&(r[i]=`[REDACTED]`)};for(let e of r)i(n,e);return n};return t.register({target:`markdown`,async render(e){if(e.source.type===`blocknotejs`){let t=n(e,{text:typeof e.source.docJson==`string`?e.source.docJson:JSON.stringify(e.source.docJson)});return{mimeType:`text/markdown`,body:String(t.text)}}if(e.source.type===`component`)return{mimeType:`text/markdown`,body:`${`# ${e.meta.name} v${e.meta.version}`}${e.meta.description?`\n\n${e.meta.description}`:``}${e.meta.tags&&e.meta.tags.length?`\n\nTags: ${e.meta.tags.join(`, `)}`:``}${e.meta.owners&&e.meta.owners.length?`\n\nOwners: ${e.meta.owners.join(`, `)}`:``}${`\n\nComponent: \`${e.source.componentKey}\``}${e.policy?.pii?.length?`\n\nRedacted paths: ${e.policy.pii.map(e=>`\`${e}\``).join(`, `)}`:``}`};throw Error(`unsupported`)}}),t.register({target:`application/json`,async render(e){let t=n(e,{meta:e.meta,source:e.source});return{mimeType:`application/json`,body:JSON.stringify(t,null,2)}}}),t.register({target:`application/xml`,async render(e){let t=n(e,{meta:e.meta,source:e.source});return{mimeType:`application/xml`,body:`<presentation name="${e.meta.name}" version="${e.meta.version}"><json>${encodeURIComponent(JSON.stringify(t))}</json></presentation>`}}}),t}function n(e){return e.register({target:`react`,async render(e){if(e.source.type===`component`){let t=e.source.props&&e.source.props.getZod().safeParse({}).success?{}:void 0;return{kind:`react_component`,componentKey:e.source.componentKey,props:t}}return{kind:`blocknotejs`,docJson:e.source.docJson,blockConfig:e.source.blockConfig}}}),e}function r(e){return e.addValidator({validate(e){if(!e.meta.description||e.meta.description.length<3)throw Error(`Presentation ${e.meta.name}.v${e.meta.version} missing meta.description`)}}),e}export{e as TransformEngine,t as createDefaultTransformEngine,r as registerBasicValidation,n as registerDefaultReactRenderer};
2
- //# sourceMappingURL=presentations.v2.js.map
1
+ var e=class{renderers=new Map;validators=[];register(e){let t=this.renderers.get(e.target)??[];return t.push(e),this.renderers.set(e.target,t),this}addValidator(e){return this.validators.push(e),this}async render(e,t,n){if(!t.targets.includes(e))throw Error(`Target ${e} not declared for ${t.meta.name}.v${t.meta.version}`);for(let r of this.validators)await r.validate(t,e,n);let r=this.renderers.get(e)??[];for(let e of r)try{return await e.render(t,n)}catch{}throw Error(`No renderer available for ${e}`)}};function t(){let t=new e,n=(e,t)=>{let n=JSON.parse(JSON.stringify(t)),r=e.policy?.pii??[],i=(e,t)=>{let n=t.replace(/^\//,``).replace(/\[(\d+)\]/g,`.$1`).split(`.`).filter(Boolean),r=e;for(let e=0;e<n.length-1;e++){let t=n[e];if(r&&typeof r==`object`&&t in r)r=r[t];else return}let i=n[n.length-1];r&&typeof r==`object`&&i&&i in r&&(r[i]=`[REDACTED]`)};for(let e of r)i(n,e);return n};return t.register({target:`markdown`,async render(e){if(e.source.type===`blocknotejs`){let t=n(e,{text:typeof e.source.docJson==`string`?e.source.docJson:JSON.stringify(e.source.docJson)});return{mimeType:`text/markdown`,body:String(t.text)}}if(e.source.type===`component`)return{mimeType:`text/markdown`,body:`${`# ${e.meta.name} v${e.meta.version}`}${e.meta.description?`\n\n${e.meta.description}`:``}${e.meta.tags&&e.meta.tags.length?`\n\nTags: ${e.meta.tags.join(`, `)}`:``}${e.meta.owners&&e.meta.owners.length?`\n\nOwners: ${e.meta.owners.join(`, `)}`:``}${`\n\nComponent: \`${e.source.componentKey}\``}${e.policy?.pii?.length?`\n\nRedacted paths: ${e.policy.pii.map(e=>`\`${e}\``).join(`, `)}`:``}`};throw Error(`unsupported`)}}),t.register({target:`application/json`,async render(e){let t=n(e,{meta:e.meta,source:e.source});return{mimeType:`application/json`,body:JSON.stringify(t,null,2)}}}),t.register({target:`application/xml`,async render(e){let t=n(e,{meta:e.meta,source:e.source});return{mimeType:`application/xml`,body:`<presentation name="${e.meta.name}" version="${e.meta.version}"><json>${encodeURIComponent(JSON.stringify(t))}</json></presentation>`}}}),t}function n(e){return e.register({target:`react`,async render(e){if(e.source.type===`component`){let t=e.source.props&&e.source.props.getZod().safeParse({}).success?{}:void 0;return{kind:`react_component`,componentKey:e.source.componentKey,props:t}}return{kind:`blocknotejs`,docJson:e.source.docJson,blockConfig:e.source.blockConfig}}}),e}function r(e){return e.addValidator({validate(e){if(!e.meta.description||e.meta.description.length<3)throw Error(`Presentation ${e.meta.name}.v${e.meta.version} missing meta.description`)}}),e}export{e as TransformEngine,t as createDefaultTransformEngine,r as registerBasicValidation,n as registerDefaultReactRenderer};
package/dist/prompt.d.ts CHANGED
@@ -57,5 +57,4 @@ interface PromptSpec<I extends z.ZodType> {
57
57
  /** Identity helper that preserves generic inference when declaring prompts. */
58
58
  declare function definePrompt<I extends z.ZodType>(spec: PromptSpec<I>): PromptSpec<I>;
59
59
  //#endregion
60
- export { PromptArg, PromptContentPart, PromptMeta, PromptPolicy, PromptSpec, PromptStability, definePrompt };
61
- //# sourceMappingURL=prompt.d.ts.map
60
+ export { PromptArg, PromptContentPart, PromptMeta, PromptPolicy, PromptSpec, PromptStability, definePrompt };
package/dist/prompt.js CHANGED
@@ -1,2 +1 @@
1
- import{z as e}from"zod";function t(e){return e}export{t as definePrompt};
2
- //# sourceMappingURL=prompt.js.map
1
+ import{z as e}from"zod";function t(e){return e}export{t as definePrompt};
@@ -12,5 +12,4 @@ declare class PromptRegistry {
12
12
  get(name: string, version?: number): PromptSpec<any> | undefined;
13
13
  }
14
14
  //#endregion
15
- export { PromptRegistry };
16
- //# sourceMappingURL=promptRegistry.d.ts.map
15
+ export { PromptRegistry };
@@ -1,2 +1 @@
1
- import{z as e}from"zod";var t=class{prompts=new Map;register(e){let t=`${e.meta.name}.v${e.meta.version}`;if(this.prompts.has(t))throw Error(`Duplicate prompt ${t}`);return this.prompts.set(t,e),this}list(){return[...this.prompts.values()]}get(e,t){if(t!=null)return this.prompts.get(`${e}.v${t}`);let n,r=-1/0;for(let[t,i]of this.prompts.entries())t.startsWith(`${e}.v`)&&i.meta.version>r&&(r=i.meta.version,n=i);return n}};export{t as PromptRegistry};
2
- //# sourceMappingURL=promptRegistry.js.map
1
+ import{z as e}from"zod";var t=class{prompts=new Map;register(e){let t=`${e.meta.name}.v${e.meta.version}`;if(this.prompts.has(t))throw Error(`Duplicate prompt ${t}`);return this.prompts.set(t,e),this}list(){return[...this.prompts.values()]}get(e,t){if(t!=null)return this.prompts.get(`${e}.v${t}`);let n,r=-1/0;for(let[t,i]of this.prompts.entries())t.startsWith(`${e}.v`)&&i.meta.version>r&&(r=i.meta.version,n=i);return n}};export{t as PromptRegistry};
@@ -16,5 +16,4 @@ interface SignalAdapters {
16
16
  behavior?: BehaviorSignalProvider;
17
17
  }
18
18
  //#endregion
19
- export { BehaviorSignalProvider, ErrorSignalProvider, SignalAdapters, TelemetrySignalProvider };
20
- //# sourceMappingURL=adapters.d.ts.map
19
+ export { BehaviorSignalProvider, ErrorSignalProvider, SignalAdapters, TelemetrySignalProvider };
@@ -67,5 +67,4 @@ declare class ProposalExecutor {
67
67
  private executeAction;
68
68
  }
69
69
  //#endregion
70
- export { ActionExecutionResult, BlueprintUpdater, ExecutionStatus, MigrationExecutor, ProposalExecutionResult, ProposalExecutor, ProposalExecutorDeps, ProposalExecutorOptions, RegenerationTrigger, RunMigrationsAction, RunTestsAction, TenantConfigUpdater, TestExecutor, TriggerRegenerationAction, UpdateBlueprintAction, UpdateTenantConfigAction };
71
- //# sourceMappingURL=executor.d.ts.map
70
+ export { ActionExecutionResult, BlueprintUpdater, ExecutionStatus, MigrationExecutor, ProposalExecutionResult, ProposalExecutor, ProposalExecutorDeps, ProposalExecutorOptions, RegenerationTrigger, RunMigrationsAction, RunTestsAction, TenantConfigUpdater, TestExecutor, TriggerRegenerationAction, UpdateBlueprintAction, UpdateTenantConfigAction };
@@ -1,2 +1 @@
1
- var e=class{constructor(e={}){this.deps=e}async execute(e,n,r={}){let i=new Date,a=[];for(let[t,i]of n.actions.entries()){let o=await this.executeAction({index:t,action:i,context:e,proposal:n,options:r});a.push(o)}let o=new Date,s=t(a);return{proposalId:n.id,contextId:e.id,startedAt:i,finishedAt:o,status:s,actions:a}}async executeAction({index:e,action:t,context:n,proposal:r,options:i}){let a=new Date,o=i.dryRun??!1,s=(n,r={})=>({index:e,action:t,status:n,startedAt:a,finishedAt:new Date,reason:r.reason,output:r.output,error:r.error});if(o)return s(`skipped`,{reason:`dry_run`});try{switch(t.kind){case`update_blueprint`:{let e=this.deps.blueprintUpdater;return e?s(`success`,{output:await e.applyBlueprintUpdate(n,r,t)}):s(`skipped`,{reason:`missing_blueprint_updater`})}case`update_tenant_config`:{let e=this.deps.tenantConfigUpdater;return e?s(`success`,{output:await e.applyTenantConfigUpdate(n,r,t)}):s(`skipped`,{reason:`missing_tenant_config_updater`})}case`run_tests`:{let e=this.deps.testExecutor;return e?s(`success`,{output:await e.runTests(n,r,t)}):s(`skipped`,{reason:`missing_test_executor`})}case`run_migrations`:{let e=this.deps.migrationExecutor;return e?s(`success`,{output:await e.runMigrations(n,r,t)}):s(`skipped`,{reason:`missing_migration_executor`})}case`trigger_regeneration`:{let e=this.deps.regenerationTrigger;return e?s(`success`,{output:await e.triggerRegeneration(n,r,t)}):s(`skipped`,{reason:`missing_regeneration_trigger`})}default:return s(`skipped`,{reason:`unknown_action`})}}catch(e){return s(`failed`,{error:e instanceof Error?e:Error(String(e))})}}};function t(e){return e.some(e=>e.status===`failed`)?`failed`:e.some(e=>e.status===`success`)&&e.some(e=>e.status===`skipped`)||e.every(e=>e.status===`skipped`)?`partial`:`success`}export{e as ProposalExecutor};
2
- //# sourceMappingURL=executor.js.map
1
+ var e=class{constructor(e={}){this.deps=e}async execute(e,n,r={}){let i=new Date,a=[];for(let[t,i]of n.actions.entries()){let o=await this.executeAction({index:t,action:i,context:e,proposal:n,options:r});a.push(o)}let o=new Date,s=t(a);return{proposalId:n.id,contextId:e.id,startedAt:i,finishedAt:o,status:s,actions:a}}async executeAction({index:e,action:t,context:n,proposal:r,options:i}){let a=new Date,o=i.dryRun??!1,s=(n,r={})=>({index:e,action:t,status:n,startedAt:a,finishedAt:new Date,reason:r.reason,output:r.output,error:r.error});if(o)return s(`skipped`,{reason:`dry_run`});try{switch(t.kind){case`update_blueprint`:{let e=this.deps.blueprintUpdater;return e?s(`success`,{output:await e.applyBlueprintUpdate(n,r,t)}):s(`skipped`,{reason:`missing_blueprint_updater`})}case`update_tenant_config`:{let e=this.deps.tenantConfigUpdater;return e?s(`success`,{output:await e.applyTenantConfigUpdate(n,r,t)}):s(`skipped`,{reason:`missing_tenant_config_updater`})}case`run_tests`:{let e=this.deps.testExecutor;return e?s(`success`,{output:await e.runTests(n,r,t)}):s(`skipped`,{reason:`missing_test_executor`})}case`run_migrations`:{let e=this.deps.migrationExecutor;return e?s(`success`,{output:await e.runMigrations(n,r,t)}):s(`skipped`,{reason:`missing_migration_executor`})}case`trigger_regeneration`:{let e=this.deps.regenerationTrigger;return e?s(`success`,{output:await e.triggerRegeneration(n,r,t)}):s(`skipped`,{reason:`missing_regeneration_trigger`})}default:return s(`skipped`,{reason:`unknown_action`})}}catch(e){return s(`failed`,{error:e instanceof Error?e:Error(String(e))})}}};function t(e){return e.some(e=>e.status===`failed`)?`failed`:e.some(e=>e.status===`success`)&&e.some(e=>e.status===`skipped`)||e.every(e=>e.status===`skipped`)?`partial`:`success`}export{e as ProposalExecutor};
@@ -30,5 +30,4 @@ declare class RegeneratorService {
30
30
  private flushProposals;
31
31
  }
32
32
  //#endregion
33
- export { RegeneratorOptions, RegeneratorService };
34
- //# sourceMappingURL=service.d.ts.map
33
+ export { RegeneratorOptions, RegeneratorService };
@@ -1,2 +1 @@
1
- import{behaviorToEnvelope as e,errorToEnvelope as t,telemetryToEnvelope as n}from"./utils.js";import{setTimeout as r}from"node:timers/promises";var i=class{contexts;lastPoll=new Map;timer;running=!1;pollInterval;batchDuration;clock;constructor(e){if(this.options=e,this.contexts=new Map(e.contexts.map(e=>[e.id,e])),this.pollInterval=e.pollIntervalMs??6e4,this.batchDuration=e.batchDurationMs??3e5,this.clock=e.clock??(()=>new Date),this.options.rules.length===0)throw Error(`RegeneratorService requires at least one rule`)}start(){this.running||(this.running=!0,this.tick(),this.timer=setInterval(()=>{this.tick()},this.pollInterval))}stop(){this.running&&(this.running=!1,this.timer&&=(clearInterval(this.timer),void 0))}async runOnce(){await this.tick()}async tick(){let e=this.clock(),t=new Date(e.getTime()-this.batchDuration);for(let n of this.contexts.values()){let r=this.lastPoll.get(n.id)??t;await this.evaluateContext(n,r,e),this.lastPoll.set(n.id,e)}}async evaluateContext(e,t,n){let r=await this.collectSignals(e,t,n);if(r.length!==0)for(let t of this.options.rules){let n=[];try{n=await t.evaluate(e,r)}catch(e){console.error(`[regenerator] rule ${t.id} failed`,e instanceof Error?e:Error(String(e)));continue}await this.flushProposals(e,n)}}async collectSignals(r,i,a){let o=[],{adapters:s}=this.options;if(s.telemetry){let e=await s.telemetry.pollTelemetry(r,i,a);o.push(...e.map(e=>n(r.id,e,this.clock)))}if(s.errors){let e=await s.errors.pollErrors(r,i,a);o.push(...e.map(e=>t(r.id,e,this.clock)))}if(s.behavior){let t=await s.behavior.pollBehavior(r,i,a);o.push(...t.map(t=>e(r.id,t,this.clock)))}return o}async flushProposals(e,t){for(let n of t)n.signalIds.length!==0&&(await this.options.sink.submit(e,n),t.length>10&&await r(0))}};export{i as RegeneratorService};
2
- //# sourceMappingURL=service.js.map
1
+ import{behaviorToEnvelope as e,errorToEnvelope as t,telemetryToEnvelope as n}from"./utils.js";import{setTimeout as r}from"node:timers/promises";var i=class{contexts;lastPoll=new Map;timer;running=!1;pollInterval;batchDuration;clock;constructor(e){if(this.options=e,this.contexts=new Map(e.contexts.map(e=>[e.id,e])),this.pollInterval=e.pollIntervalMs??6e4,this.batchDuration=e.batchDurationMs??3e5,this.clock=e.clock??(()=>new Date),this.options.rules.length===0)throw Error(`RegeneratorService requires at least one rule`)}start(){this.running||(this.running=!0,this.tick(),this.timer=setInterval(()=>{this.tick()},this.pollInterval))}stop(){this.running&&(this.running=!1,this.timer&&=(clearInterval(this.timer),void 0))}async runOnce(){await this.tick()}async tick(){let e=this.clock(),t=new Date(e.getTime()-this.batchDuration);for(let n of this.contexts.values()){let r=this.lastPoll.get(n.id)??t;await this.evaluateContext(n,r,e),this.lastPoll.set(n.id,e)}}async evaluateContext(e,t,n){let r=await this.collectSignals(e,t,n);if(r.length!==0)for(let t of this.options.rules){let n=[];try{n=await t.evaluate(e,r)}catch(e){console.error(`[regenerator] rule ${t.id} failed`,e instanceof Error?e:Error(String(e)));continue}await this.flushProposals(e,n)}}async collectSignals(r,i,a){let o=[],{adapters:s}=this.options;if(s.telemetry){let e=await s.telemetry.pollTelemetry(r,i,a);o.push(...e.map(e=>n(r.id,e,this.clock)))}if(s.errors){let e=await s.errors.pollErrors(r,i,a);o.push(...e.map(e=>t(r.id,e,this.clock)))}if(s.behavior){let t=await s.behavior.pollBehavior(r,i,a);o.push(...t.map(t=>e(r.id,t,this.clock)))}return o}async flushProposals(e,t){for(let n of t)n.signalIds.length!==0&&(await this.options.sink.submit(e,n),t.length>10&&await r(0))}};export{i as RegeneratorService};
@@ -23,5 +23,4 @@ declare class ExecutorProposalSink implements ProposalSink {
23
23
  submit(context: RegenerationContext, proposal: SpecChangeProposal): Promise<void>;
24
24
  }
25
25
  //#endregion
26
- export { ExecutorProposalSink, ExecutorResultPayload, ExecutorSinkLogger, ExecutorSinkOptions };
27
- //# sourceMappingURL=sinks.d.ts.map
26
+ export { ExecutorProposalSink, ExecutorResultPayload, ExecutorSinkLogger, ExecutorSinkOptions };
@@ -1,2 +1 @@
1
- var e=class{constructor(e,t={}){this.executor=e,this.options=t}async submit(e,t){let n=this.options.dryRun??!1;try{let r=await this.executor.execute(e,t,{dryRun:n});this.options.logger?.info&&this.options.logger.info(`[regenerator] proposal executed`,{proposalId:t.id,contextId:e.id,status:r.status}),this.options.onResult&&await this.options.onResult({context:e,proposal:t,result:r})}catch(n){throw this.options.logger?.error&&this.options.logger.error(`[regenerator] proposal execution failed`,n instanceof Error?n:Error(String(n)),{proposalId:t.id,contextId:e.id}),n instanceof Error?n:Error(String(n))}}};export{e as ExecutorProposalSink};
2
- //# sourceMappingURL=sinks.js.map
1
+ var e=class{constructor(e,t={}){this.executor=e,this.options=t}async submit(e,t){let n=this.options.dryRun??!1;try{let r=await this.executor.execute(e,t,{dryRun:n});this.options.logger?.info&&this.options.logger.info(`[regenerator] proposal executed`,{proposalId:t.id,contextId:e.id,status:r.status}),this.options.onResult&&await this.options.onResult({context:e,proposal:t,result:r})}catch(n){throw this.options.logger?.error&&this.options.logger.error(`[regenerator] proposal execution failed`,n instanceof Error?n:Error(String(n)),{proposalId:t.id,contextId:e.id}),n instanceof Error?n:Error(String(n))}}};export{e as ExecutorProposalSink};
@@ -104,5 +104,4 @@ interface ProposalSink {
104
104
  submit(context: RegenerationContext, proposal: SpecChangeProposal): Promise<void>;
105
105
  }
106
106
  //#endregion
107
- export { BehaviorSignal, BehaviorSignalEnvelope, ErrorSignal, ErrorSignalEnvelope, ProposalAction, ProposalBlocker, ProposalConfidence, ProposalSink, ProposalTarget, RegenerationContext, RegenerationRule, RegeneratorSignal, SpecChangeProposal, TelemetrySignal, TelemetrySignalEnvelope };
108
- //# sourceMappingURL=types.d.ts.map
107
+ export { BehaviorSignal, BehaviorSignalEnvelope, ErrorSignal, ErrorSignalEnvelope, ProposalAction, ProposalBlocker, ProposalConfidence, ProposalSink, ProposalTarget, RegenerationContext, RegenerationRule, RegeneratorSignal, SpecChangeProposal, TelemetrySignal, TelemetrySignalEnvelope };
@@ -6,5 +6,4 @@ declare function telemetryToEnvelope(contextId: string, signal: TelemetrySignal,
6
6
  declare function errorToEnvelope(contextId: string, signal: ErrorSignal, clock: Clock): ErrorSignalEnvelope;
7
7
  declare function behaviorToEnvelope(contextId: string, signal: BehaviorSignal, clock: Clock): BehaviorSignalEnvelope;
8
8
  //#endregion
9
- export { behaviorToEnvelope, errorToEnvelope, telemetryToEnvelope };
10
- //# sourceMappingURL=utils.d.ts.map
9
+ export { behaviorToEnvelope, errorToEnvelope, telemetryToEnvelope };
@@ -1,2 +1 @@
1
- function e(e,t,n){return{type:`telemetry`,contextId:e,signal:r(t,n)}}function t(e,t,n){return{type:`error`,contextId:e,signal:i(t,n)}}function n(e,t,n){return{type:`behavior`,contextId:e,signal:a(t,n)}}function r(e,t){return{...e,windowStart:o(e.windowStart,t),windowEnd:o(e.windowEnd,t)}}function i(e,t){return{...e,occurredAt:o(e.occurredAt,t)}}function a(e,t){return{...e,windowStart:o(e.windowStart,t),windowEnd:o(e.windowEnd,t)}}function o(e,t){if(e instanceof Date)return e;let n=new Date(e);return Number.isNaN(n.getTime())?t():n}export{n as behaviorToEnvelope,t as errorToEnvelope,e as telemetryToEnvelope};
2
- //# sourceMappingURL=utils.js.map
1
+ function e(e,t,n){return{type:`telemetry`,contextId:e,signal:r(t,n)}}function t(e,t,n){return{type:`error`,contextId:e,signal:i(t,n)}}function n(e,t,n){return{type:`behavior`,contextId:e,signal:a(t,n)}}function r(e,t){return{...e,windowStart:o(e.windowStart,t),windowEnd:o(e.windowEnd,t)}}function i(e,t){return{...e,occurredAt:o(e.occurredAt,t)}}function a(e,t){return{...e,windowStart:o(e.windowStart,t),windowEnd:o(e.windowEnd,t)}}function o(e,t){if(e instanceof Date)return e;let n=new Date(e);return Number.isNaN(n.getTime())?t():n}export{n as behaviorToEnvelope,t as errorToEnvelope,e as telemetryToEnvelope};
@@ -69,5 +69,4 @@ declare class SpecRegistry {
69
69
  execute(name: string, version: number | undefined, rawInput: unknown, ctx: HandlerCtx): Promise<unknown>;
70
70
  }
71
71
  //#endregion
72
- export { OperationKey, SpecRegistry, opKey };
73
- //# sourceMappingURL=registry.d.ts.map
72
+ export { OperationKey, SpecRegistry, opKey };
package/dist/registry.js CHANGED
@@ -1,2 +1 @@
1
- import{eventKey as e}from"./events.js";import{isEmitDeclRef as t}from"./spec.js";function n(e,t){return`${e}.v${t}`}var r=class{specs=new Map;handlers=new Map;register(e){let t=n(e.meta.name,e.meta.version);if(this.specs.has(t))throw Error(`Duplicate spec ${t}`);return this.specs.set(t,e),this}bind(e,t){let r=n(e.meta.name,e.meta.version);if(!this.specs.has(r))throw Error(`Cannot bind; spec not found: ${r}`);if(this.handlers.has(r))throw Error(`Handler already bound for ${r}`);return this.handlers.set(r,t),this}getSpec(e,t){if(t!=null)return this.specs.get(n(e,t));let r,i=-1/0;for(let[t,n]of this.specs.entries())t.startsWith(`${e}.v`)&&n.meta.version>i&&(i=n.meta.version,r=n);return r}getHandler(e,t){let r=this.getSpec(e,t);if(r)return this.handlers.get(n(r.meta.name,r.meta.version))}listSpecs(){return[...this.specs.values()]}listBound(){let e=[];for(let[t,n]of this.specs.entries()){let r=this.handlers.get(t);r&&e.push({spec:n,handler:r})}return e}async execute(r,i,a,o){let s=this.getSpec(r,i);if(!s)throw Error(`Spec not found for ${r}${i?`.v${i}`:``}`);let c=await o.specVariantResolver?.resolve({name:s.meta.name,version:s.meta.version,kind:s.meta.kind},o)??s,l=n(c.meta.name,c.meta.version),u=this.handlers.get(l);if(!u){let e=n(s.meta.name,s.meta.version);u=this.handlers.get(e),l=e}if(!u)throw Error(`No handler bound for ${l}`);let d=c.io.input?.getZod().parse(a);if(o.decide){let[e,t]=c.meta.name.split(`.`),n=await o.decide({service:e,command:t,version:c.meta.version,actor:o.actor??`anonymous`,channel:o.channel,roles:o.roles,organizationId:o.organizationId,userId:o.userId,flags:[]});if(n.effect===`deny`)throw Error(`PolicyDenied: ${c.meta.name}.v${c.meta.version}`);if(n.rateLimit&&o.rateLimit){let e=n.rateLimit.key??`default`,t=n.rateLimit.rpm??60;await o.rateLimit(e,1,t)}}let f=new Map;if(c.sideEffects?.emits)for(let e of c.sideEffects.emits)t(e)?f.set(`${e.ref.name}.v${e.ref.version}`,e.ref.payload):f.set(`${e.name}.v${e.version}`,e.payload);let p=async(t,r,i)=>{let a=e(t,r),s=f.get(a);if(!s)throw Error(`UndeclaredEvent: ${a} not allowed by ${n(c.meta.name,c.meta.version)}`);let l=s.getZod().parse(i);await o.eventPublisher?.({name:t,version:r,payload:l,traceId:o.traceId})};o.appConfig&&(o.branding||=o.appConfig.branding,o.translation?o.translation.config||(o.translation={...o.translation,config:o.appConfig.translation}):o.translation={config:o.appConfig.translation});let m=o.telemetry,h=async(e,t)=>{if(!(!m||!e?.event))try{let n=e.properties?.(t)??{};await m.track(e.event.name,e.event.version??1,n,{tenantId:o.organizationId??void 0,organizationId:o.organizationId,userId:o.userId,actor:o.actor,channel:o.channel,metadata:o.traceId?{traceId:o.traceId}:void 0})}catch{}},g;try{g=await u(d,{...o,__emitGuard__:p})}catch(e){throw c.telemetry?.failure&&await h(c.telemetry.failure,{input:d??a,error:e}),e}c.telemetry?.success&&await h(c.telemetry.success,{input:d??a,output:g});let _=c.io.output;return _?.getZod?_.getZod().parse(g):g}};export{r as SpecRegistry,n as opKey};
2
- //# sourceMappingURL=registry.js.map
1
+ import{eventKey as e}from"./events.js";import{isEmitDeclRef as t}from"./spec.js";function n(e,t){return`${e}.v${t}`}var r=class{specs=new Map;handlers=new Map;register(e){let t=n(e.meta.name,e.meta.version);if(this.specs.has(t))throw Error(`Duplicate spec ${t}`);return this.specs.set(t,e),this}bind(e,t){let r=n(e.meta.name,e.meta.version);if(!this.specs.has(r))throw Error(`Cannot bind; spec not found: ${r}`);if(this.handlers.has(r))throw Error(`Handler already bound for ${r}`);return this.handlers.set(r,t),this}getSpec(e,t){if(t!=null)return this.specs.get(n(e,t));let r,i=-1/0;for(let[t,n]of this.specs.entries())t.startsWith(`${e}.v`)&&n.meta.version>i&&(i=n.meta.version,r=n);return r}getHandler(e,t){let r=this.getSpec(e,t);if(r)return this.handlers.get(n(r.meta.name,r.meta.version))}listSpecs(){return[...this.specs.values()]}listBound(){let e=[];for(let[t,n]of this.specs.entries()){let r=this.handlers.get(t);r&&e.push({spec:n,handler:r})}return e}async execute(r,i,a,o){let s=this.getSpec(r,i);if(!s)throw Error(`Spec not found for ${r}${i?`.v${i}`:``}`);let c=await o.specVariantResolver?.resolve({name:s.meta.name,version:s.meta.version,kind:s.meta.kind},o)??s,l=n(c.meta.name,c.meta.version),u=this.handlers.get(l);if(!u){let e=n(s.meta.name,s.meta.version);u=this.handlers.get(e),l=e}if(!u)throw Error(`No handler bound for ${l}`);let d=c.io.input?.getZod().parse(a);if(o.decide){let[e,t]=c.meta.name.split(`.`),n=await o.decide({service:e,command:t,version:c.meta.version,actor:o.actor??`anonymous`,channel:o.channel,roles:o.roles,organizationId:o.organizationId,userId:o.userId,flags:[]});if(n.effect===`deny`)throw Error(`PolicyDenied: ${c.meta.name}.v${c.meta.version}`);if(n.rateLimit&&o.rateLimit){let e=n.rateLimit.key??`default`,t=n.rateLimit.rpm??60;await o.rateLimit(e,1,t)}}let f=new Map;if(c.sideEffects?.emits)for(let e of c.sideEffects.emits)t(e)?f.set(`${e.ref.name}.v${e.ref.version}`,e.ref.payload):f.set(`${e.name}.v${e.version}`,e.payload);let p=async(t,r,i)=>{let a=e(t,r),s=f.get(a);if(!s)throw Error(`UndeclaredEvent: ${a} not allowed by ${n(c.meta.name,c.meta.version)}`);let l=s.getZod().parse(i);await o.eventPublisher?.({name:t,version:r,payload:l,traceId:o.traceId})};o.appConfig&&(o.branding||=o.appConfig.branding,o.translation?o.translation.config||(o.translation={...o.translation,config:o.appConfig.translation}):o.translation={config:o.appConfig.translation});let m=o.telemetry,h=async(e,t)=>{if(!(!m||!e?.event))try{let n=e.properties?.(t)??{};await m.track(e.event.name,e.event.version??1,n,{tenantId:o.organizationId??void 0,organizationId:o.organizationId,userId:o.userId,actor:o.actor,channel:o.channel,metadata:o.traceId?{traceId:o.traceId}:void 0})}catch{}},g;try{g=await u(d,{...o,__emitGuard__:p})}catch(e){throw c.telemetry?.failure&&await h(c.telemetry.failure,{input:d??a,error:e}),e}c.telemetry?.success&&await h(c.telemetry.success,{input:d??a,output:g});let _=c.io.output;return _?.getZod?_.getZod().parse(g):g}};export{r as SpecRegistry,n as opKey};
@@ -61,5 +61,4 @@ declare function resourceRef<Many extends boolean>(uriTemplate: string, opts: {
61
61
  }): ResourceRefDescriptor<Many>;
62
62
  declare function isResourceRef(x: unknown): x is ResourceRefDescriptor<boolean>;
63
63
  //#endregion
64
- export { ResourceMeta, ResourceRefDescriptor, ResourceRegistry, ResourceTemplateSpec, defineResourceTemplate, isResourceRef, resourceRef };
65
- //# sourceMappingURL=resources.d.ts.map
64
+ export { ResourceMeta, ResourceRefDescriptor, ResourceRegistry, ResourceTemplateSpec, defineResourceTemplate, isResourceRef, resourceRef };
package/dist/resources.js CHANGED
@@ -1,2 +1 @@
1
- import{z as e}from"zod";function t(e){return e}var n=class{templates=[];register(e){return this.templates.push(e),this}listTemplates(){return[...this.templates]}match(e){for(let t of this.templates){let n=RegExp(`^`+t.meta.uriTemplate.replace(/\{[^}]+\}/g,`([^/]+)`)+`$`),r=e.match(n);if(!r)continue;let i=[...t.meta.uriTemplate.matchAll(/\{([^}]+)\}/g)].map(e=>e[1]),a={};return i.forEach((e,t)=>a[e]=decodeURIComponent(r[t+1])),{tmpl:t,params:a}}}};function r(e,t){return{kind:`resource_ref`,uriTemplate:e,varName:t.varName??`id`,graphQLType:t.graphQLType,many:t.many}}function i(e){let t=e;return!!t&&t.kind===`resource_ref`&&typeof t.uriTemplate==`string`}export{n as ResourceRegistry,t as defineResourceTemplate,i as isResourceRef,r as resourceRef};
2
- //# sourceMappingURL=resources.js.map
1
+ import{z as e}from"zod";function t(e){return e}var n=class{templates=[];register(e){return this.templates.push(e),this}listTemplates(){return[...this.templates]}match(e){for(let t of this.templates){let n=RegExp(`^`+t.meta.uriTemplate.replace(/\{[^}]+\}/g,`([^/]+)`)+`$`),r=e.match(n);if(!r)continue;let i=[...t.meta.uriTemplate.matchAll(/\{([^}]+)\}/g)].map(e=>e[1]),a={};return i.forEach((e,t)=>a[e]=decodeURIComponent(r[t+1])),{tmpl:t,params:a}}}};function r(e,t){return{kind:`resource_ref`,uriTemplate:e,varName:t.varName??`id`,graphQLType:t.graphQLType,many:t.many}}function i(e){let t=e;return!!t&&t.kind===`resource_ref`&&typeof t.uriTemplate==`string`}export{n as ResourceRegistry,t as defineResourceTemplate,i as isResourceRef,r as resourceRef};
@@ -1,2 +1 @@
1
- import{z as e}from"zod";import{GraphQLScalarType as t}from"graphql";var n=class extends t{zodSchema;jsonSchemaDef;constructor(e){super(e),this.zodSchema=e.zod,this.jsonSchemaDef=e.jsonSchema}getZod(){return this.zodSchema}getPothos(){return this}getJson(){return typeof this.jsonSchemaDef==`function`?this.jsonSchemaDef():this.jsonSchemaDef}getJsonSchemaDef(){return this.jsonSchemaDef}getJsonSchema(){let e=t=>{let n=typeof t==`function`?t():t;if(Array.isArray(n))return n.map(t=>e(t));if(n&&typeof n==`object`){let t={};for(let[r,i]of Object.entries(n))t[r]=e(i);return t}return n};return e(this.getJson())}};export{n};
2
- //# sourceMappingURL=FieldType.js.map
1
+ import{z as e}from"zod";import{GraphQLScalarType as t}from"graphql";var n=class extends t{zodSchema;jsonSchemaDef;constructor(e){super(e),this.zodSchema=e.zod,this.jsonSchemaDef=e.jsonSchema}getZod(){return this.zodSchema}getPothos(){return this}getJson(){return typeof this.jsonSchemaDef==`function`?this.jsonSchemaDef():this.jsonSchemaDef}getJsonSchemaDef(){return this.jsonSchemaDef}getJsonSchema(){let e=t=>{let n=typeof t==`function`?t():t;if(Array.isArray(n))return n.map(t=>e(t));if(n&&typeof n==`object`){let t={};for(let[r,i]of Object.entries(n))t[r]=e(i);return t}return n};return e(this.getJson())}};export{n};
@@ -1,2 +1 @@
1
- import{n as e}from"./FieldType.js";import{z as t}from"zod";import{Kind as n}from"graphql";const r=/^[A-Za-z]{2}(?:-[A-Za-z0-9]{2,8})*$/,i=/^(?:UTC|[A-Za-z_]+\/[A-Za-z_]+)$/,a=/^[+]?\d[\d\s().-]{3,}$/,o=/^[A-Z]{3}$/,s=/^[A-Z]{2}$/,c=-180,l={String_unsecure:()=>new e({name:`String_unsecure`,description:`Unvalidated string scalar`,zod:t.string(),parseValue:e=>t.string().parse(e),serialize:e=>String(e),parseLiteral:e=>{if(e.kind!==n.STRING)throw TypeError(`Invalid literal`);return e.value},jsonSchema:{type:`string`}}),Int_unsecure:()=>new e({name:`Int_unsecure`,description:`Unvalidated integer scalar`,zod:t.number().int(),parseValue:e=>{let n=typeof e==`number`?e:Number(e);return t.number().int().parse(n)},serialize:e=>Math.trunc(typeof e==`number`?e:Number(e)),parseLiteral:e=>{if(e.kind!==n.INT)throw TypeError(`Invalid literal`);return Number(e.value)},jsonSchema:{type:`integer`}}),Float_unsecure:()=>new e({name:`Float_unsecure`,description:`Unvalidated float scalar`,zod:t.number(),parseValue:e=>{let n=typeof e==`number`?e:Number(e);return t.number().parse(n)},serialize:e=>Number(e),parseLiteral:e=>{if(e.kind!==n.FLOAT&&e.kind!==n.INT)throw TypeError(`Invalid literal`);return Number(e.value)},jsonSchema:{type:`number`}}),Boolean:()=>new e({name:`Boolean`,description:`Unvalidated boolean scalar`,zod:t.boolean(),parseValue:e=>t.coerce.boolean().parse(e),serialize:e=>!!e,parseLiteral:e=>{if(e.kind!==n.BOOLEAN)throw TypeError(`Invalid literal`);return e.value},jsonSchema:{type:`boolean`}}),ID:()=>new e({name:`ID`,description:`Unvalidated id scalar`,zod:t.string(),parseValue:e=>t.string().parse(e),serialize:e=>String(e),parseLiteral:e=>{if(e.kind!==n.STRING)throw TypeError(`Invalid literal`);return e.value},jsonSchema:{type:`string`}}),JSON:()=>new e({name:`JSON`,zod:t.any(),parseValue:e=>e,serialize:e=>e,jsonSchema:{}}),JSONObject:()=>new e({name:`JSONObject`,zod:t.record(t.string(),t.any()),parseValue:e=>t.record(t.string(),t.any()).parse(e),serialize:e=>e??{},jsonSchema:{type:`object`}}),Date:()=>new e({name:`Date`,zod:t.date(),parseValue:e=>e instanceof Date?e:new Date(String(e)),serialize:e=>e instanceof Date?e.toISOString().split(`T`)[0]:String(e),jsonSchema:{type:`string`,format:`date`}}),DateTime:()=>new e({name:`DateTime`,zod:t.date(),parseValue:e=>e instanceof Date?e:new Date(String(e)),serialize:e=>e instanceof Date?e.toISOString():String(e),jsonSchema:{type:`string`,format:`date-time`}}),Time:()=>new e({name:`Time`,zod:t.string().regex(/^\d{2}:\d{2}(:\d{2})?$/),parseValue:e=>t.string().regex(/^\d{2}:\d{2}(:\d{2})?$/).parse(e),serialize:e=>String(e),jsonSchema:{type:`string`,pattern:`^\\d{2}:\\d{2}(:\\d{2})?$`}}),EmailAddress:()=>new e({name:`EmailAddress`,zod:t.string().email(),parseValue:e=>t.string().email().parse(e),serialize:e=>String(e),jsonSchema:{type:`string`,format:`email`}}),URL:()=>new e({name:`URL`,zod:t.string().url(),parseValue:e=>t.string().url().parse(e),serialize:e=>String(e),jsonSchema:{type:`string`,format:`uri`}}),PhoneNumber:()=>new e({name:`PhoneNumber`,zod:t.string().regex(a),parseValue:e=>t.string().regex(a).parse(e),serialize:e=>String(e),jsonSchema:{type:`string`,pattern:a.source}}),NonEmptyString:()=>new e({name:`NonEmptyString`,zod:t.string().min(1),parseValue:e=>t.string().min(1).parse(e),serialize:e=>String(e),jsonSchema:{type:`string`,minLength:1}}),Locale:()=>new e({name:`Locale`,zod:t.string().regex(r),parseValue:e=>t.string().regex(r).parse(e),serialize:e=>String(e),jsonSchema:{type:`string`,pattern:r.source}}),TimeZone:()=>new e({name:`TimeZone`,zod:t.string().regex(i),parseValue:e=>t.string().regex(i).parse(e),serialize:e=>String(e),jsonSchema:{type:`string`,pattern:i.source}}),Latitude:()=>new e({name:`Latitude`,zod:t.number().min(-90).max(90),parseValue:e=>t.coerce.number().min(-90).max(90).parse(e),serialize:e=>Number(e),jsonSchema:{type:`number`,minimum:-90,maximum:90}}),Longitude:()=>new e({name:`Longitude`,zod:t.number().min(c).max(180),parseValue:e=>t.coerce.number().min(c).max(180).parse(e),serialize:e=>Number(e),jsonSchema:{type:`number`,minimum:c,maximum:180}}),Currency:()=>new e({name:`Currency`,zod:t.string().regex(o),parseValue:e=>t.string().regex(o).parse(e),serialize:e=>String(e),jsonSchema:{type:`string`,pattern:o.source}}),CountryCode:()=>new e({name:`CountryCode`,zod:t.string().regex(s),parseValue:e=>t.string().regex(s).parse(e),serialize:e=>String(e),jsonSchema:{type:`string`,pattern:s.source}})};export{l};
2
- //# sourceMappingURL=ScalarTypeEnum.js.map
1
+ import{n as e}from"./FieldType.js";import{z as t}from"zod";import{Kind as n}from"graphql";const r=/^[A-Za-z]{2}(?:-[A-Za-z0-9]{2,8})*$/,i=/^(?:UTC|[A-Za-z_]+\/[A-Za-z_]+)$/,a=/^[+]?\d[\d\s().-]{3,}$/,o=/^[A-Z]{3}$/,s=/^[A-Z]{2}$/,c=-180,l={String_unsecure:()=>new e({name:`String_unsecure`,description:`Unvalidated string scalar`,zod:t.string(),parseValue:e=>t.string().parse(e),serialize:e=>String(e),parseLiteral:e=>{if(e.kind!==n.STRING)throw TypeError(`Invalid literal`);return e.value},jsonSchema:{type:`string`}}),Int_unsecure:()=>new e({name:`Int_unsecure`,description:`Unvalidated integer scalar`,zod:t.number().int(),parseValue:e=>{let n=typeof e==`number`?e:Number(e);return t.number().int().parse(n)},serialize:e=>Math.trunc(typeof e==`number`?e:Number(e)),parseLiteral:e=>{if(e.kind!==n.INT)throw TypeError(`Invalid literal`);return Number(e.value)},jsonSchema:{type:`integer`}}),Float_unsecure:()=>new e({name:`Float_unsecure`,description:`Unvalidated float scalar`,zod:t.number(),parseValue:e=>{let n=typeof e==`number`?e:Number(e);return t.number().parse(n)},serialize:e=>Number(e),parseLiteral:e=>{if(e.kind!==n.FLOAT&&e.kind!==n.INT)throw TypeError(`Invalid literal`);return Number(e.value)},jsonSchema:{type:`number`}}),Boolean:()=>new e({name:`Boolean`,description:`Unvalidated boolean scalar`,zod:t.boolean(),parseValue:e=>t.coerce.boolean().parse(e),serialize:e=>!!e,parseLiteral:e=>{if(e.kind!==n.BOOLEAN)throw TypeError(`Invalid literal`);return e.value},jsonSchema:{type:`boolean`}}),ID:()=>new e({name:`ID`,description:`Unvalidated id scalar`,zod:t.string(),parseValue:e=>t.string().parse(e),serialize:e=>String(e),parseLiteral:e=>{if(e.kind!==n.STRING)throw TypeError(`Invalid literal`);return e.value},jsonSchema:{type:`string`}}),JSON:()=>new e({name:`JSON`,zod:t.any(),parseValue:e=>e,serialize:e=>e,jsonSchema:{}}),JSONObject:()=>new e({name:`JSONObject`,zod:t.record(t.string(),t.any()),parseValue:e=>t.record(t.string(),t.any()).parse(e),serialize:e=>e??{},jsonSchema:{type:`object`}}),Date:()=>new e({name:`Date`,zod:t.date(),parseValue:e=>e instanceof Date?e:new Date(String(e)),serialize:e=>e instanceof Date?e.toISOString().split(`T`)[0]:String(e),jsonSchema:{type:`string`,format:`date`}}),DateTime:()=>new e({name:`DateTime`,zod:t.date(),parseValue:e=>e instanceof Date?e:new Date(String(e)),serialize:e=>e instanceof Date?e.toISOString():String(e),jsonSchema:{type:`string`,format:`date-time`}}),Time:()=>new e({name:`Time`,zod:t.string().regex(/^\d{2}:\d{2}(:\d{2})?$/),parseValue:e=>t.string().regex(/^\d{2}:\d{2}(:\d{2})?$/).parse(e),serialize:e=>String(e),jsonSchema:{type:`string`,pattern:`^\\d{2}:\\d{2}(:\\d{2})?$`}}),EmailAddress:()=>new e({name:`EmailAddress`,zod:t.string().email(),parseValue:e=>t.string().email().parse(e),serialize:e=>String(e),jsonSchema:{type:`string`,format:`email`}}),URL:()=>new e({name:`URL`,zod:t.string().url(),parseValue:e=>t.string().url().parse(e),serialize:e=>String(e),jsonSchema:{type:`string`,format:`uri`}}),PhoneNumber:()=>new e({name:`PhoneNumber`,zod:t.string().regex(a),parseValue:e=>t.string().regex(a).parse(e),serialize:e=>String(e),jsonSchema:{type:`string`,pattern:a.source}}),NonEmptyString:()=>new e({name:`NonEmptyString`,zod:t.string().min(1),parseValue:e=>t.string().min(1).parse(e),serialize:e=>String(e),jsonSchema:{type:`string`,minLength:1}}),Locale:()=>new e({name:`Locale`,zod:t.string().regex(r),parseValue:e=>t.string().regex(r).parse(e),serialize:e=>String(e),jsonSchema:{type:`string`,pattern:r.source}}),TimeZone:()=>new e({name:`TimeZone`,zod:t.string().regex(i),parseValue:e=>t.string().regex(i).parse(e),serialize:e=>String(e),jsonSchema:{type:`string`,pattern:i.source}}),Latitude:()=>new e({name:`Latitude`,zod:t.number().min(-90).max(90),parseValue:e=>t.coerce.number().min(-90).max(90).parse(e),serialize:e=>Number(e),jsonSchema:{type:`number`,minimum:-90,maximum:90}}),Longitude:()=>new e({name:`Longitude`,zod:t.number().min(c).max(180),parseValue:e=>t.coerce.number().min(c).max(180).parse(e),serialize:e=>Number(e),jsonSchema:{type:`number`,minimum:c,maximum:180}}),Currency:()=>new e({name:`Currency`,zod:t.string().regex(o),parseValue:e=>t.string().regex(o).parse(e),serialize:e=>String(e),jsonSchema:{type:`string`,pattern:o.source}}),CountryCode:()=>new e({name:`CountryCode`,zod:t.string().regex(s),parseValue:e=>t.string().regex(s).parse(e),serialize:e=>String(e),jsonSchema:{type:`string`,pattern:s.source}})};export{l};
@@ -1,2 +1 @@
1
- import"./EnumType.js";import"./FieldType.js";import{z as e}from"zod";var t=class{constructor(e){this.config=e}getZod(){let t=Object.entries(this.config.fields).reduce((t,[n,r])=>{let i=r.type.getZod(),a=r.isArray?e.array(i):i;return t[n]=r.isOptional?a.optional():a,t},{});return e.object(t)}getPothosInput(){return this.config.name}};export{t};
2
- //# sourceMappingURL=SchemaModel.js.map
1
+ import"./EnumType.js";import"./FieldType.js";import{z as e}from"zod";var t=class{constructor(e){this.config=e}getZod(){let t=Object.entries(this.config.fields).reduce((t,[n,r])=>{let i=r.type.getZod(),a=r.isArray?e.array(i):i;return t[n]=r.isOptional?a.optional():a,t},{});return e.object(t)}getPothosInput(){return this.config.name}};export{t};
@@ -28,5 +28,4 @@ import { SchemaTypes } from "@pothos/core";
28
28
  */
29
29
  declare function registerContractsOnBuilder<T extends SchemaTypes>(builder: PothosSchemaTypes.SchemaBuilder<T>, reg: SpecRegistry, resources?: ResourceRegistry): void;
30
30
  //#endregion
31
- export { registerContractsOnBuilder };
32
- //# sourceMappingURL=graphql-pothos.d.ts.map
31
+ export { registerContractsOnBuilder };