@lssm/lib.contracts 1.11.0 → 1.41.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (833) hide show
  1. package/README.md +1 -1
  2. package/dist/_virtual/rolldown_runtime.js +1 -0
  3. package/dist/app-config/app-config.feature.js +1 -0
  4. package/dist/app-config/contracts.js +1 -2
  5. package/dist/app-config/docs/app-config.docblock.js +220 -0
  6. package/dist/app-config/events.js +1 -2
  7. package/dist/app-config/index.js +1 -1
  8. package/dist/app-config/lifecycle-contracts.js +1 -2
  9. package/dist/app-config/runtime.js +1 -2
  10. package/dist/app-config/spec.js +1 -2
  11. package/dist/app-config/validation.js +1 -2
  12. package/dist/capabilities/docs/capabilities.docblock.js +1 -0
  13. package/dist/capabilities/openbanking.js +1 -2
  14. package/dist/capabilities.js +1 -2
  15. package/dist/client/react/drivers/rn-reusables.js +1 -2
  16. package/dist/client/react/drivers/shadcn.js +1 -2
  17. package/dist/client/react/feature-render.js +1 -2
  18. package/dist/client/react/form-render.js +1 -2
  19. package/dist/contract-registry/index.js +1 -0
  20. package/dist/contract-registry/schemas.js +1 -0
  21. package/dist/contract-registry/types.js +0 -0
  22. package/dist/contracts-adapter-hydration.js +1 -2
  23. package/dist/contracts-adapter-input.js +1 -2
  24. package/dist/data-views/docs/data-views.docblock.js +1 -0
  25. package/dist/data-views/query-generator.js +1 -2
  26. package/dist/data-views/runtime.js +1 -2
  27. package/dist/data-views.js +1 -2
  28. package/dist/docs/PUBLISHING.docblock.js +76 -0
  29. package/dist/docs/accessibility_wcag_compliance_specs.docblock.js +350 -0
  30. package/dist/docs/index.js +1 -0
  31. package/dist/docs/meta.docs.js +13 -0
  32. package/dist/docs/presentations.js +1 -0
  33. package/dist/docs/registry.js +1 -0
  34. package/dist/docs/tech/PHASE_1_QUICKSTART.docblock.js +383 -0
  35. package/dist/docs/tech/PHASE_2_AI_NATIVE_OPERATIONS.docblock.js +68 -0
  36. package/dist/docs/tech/PHASE_3_AUTO_EVOLUTION.docblock.js +140 -0
  37. package/dist/docs/tech/PHASE_4_PERSONALIZATION_ENGINE.docblock.js +86 -0
  38. package/dist/docs/tech/PHASE_5_ZERO_TOUCH_OPERATIONS.docblock.js +1 -0
  39. package/dist/docs/tech/auth/better-auth-nextjs.docblock.js +58 -0
  40. package/dist/docs/tech/contracts/README.docblock.js +1 -0
  41. package/dist/docs/tech/contracts/create-subscription.docblock.js +1 -0
  42. package/dist/docs/tech/contracts/graphql-typed-outputs.docblock.js +180 -0
  43. package/dist/docs/tech/contracts/migrations.docblock.js +1 -0
  44. package/dist/docs/tech/contracts/openapi-export.docblock.js +38 -0
  45. package/dist/docs/tech/contracts/ops-to-presentation-linking.docblock.js +62 -0
  46. package/dist/docs/tech/contracts/overlays.docblock.js +68 -0
  47. package/dist/docs/tech/contracts/tests.docblock.js +132 -0
  48. package/dist/docs/tech/contracts/themes.docblock.js +1 -0
  49. package/dist/docs/tech/contracts/vertical-pocket-family-office.docblock.js +106 -0
  50. package/dist/docs/tech/lifecycle-stage-system.docblock.js +213 -0
  51. package/dist/docs/tech/llm/llm-integration.docblock.js +289 -0
  52. package/dist/docs/tech/mcp-endpoints.docblock.js +1 -0
  53. package/dist/docs/tech/presentation-runtime.docblock.js +1 -0
  54. package/dist/docs/tech/schema/README.docblock.js +262 -0
  55. package/dist/docs/tech/studio/learning-events.docblock.js +1 -0
  56. package/dist/docs/tech/studio/learning-journeys.docblock.js +57 -0
  57. package/dist/docs/tech/studio/platform-admin-panel.docblock.js +63 -0
  58. package/dist/docs/tech/studio/project-access-teams.docblock.js +36 -0
  59. package/dist/docs/tech/studio/project-routing.docblock.js +1 -0
  60. package/dist/docs/tech/studio/sandbox-unlogged.docblock.js +20 -0
  61. package/dist/docs/tech/studio/team-invitations.docblock.js +65 -0
  62. package/dist/docs/tech/studio/workspace-ops.docblock.js +1 -0
  63. package/dist/docs/tech/studio/workspaces.docblock.js +41 -0
  64. package/dist/docs/tech/telemetry-ingest.docblock.js +122 -0
  65. package/dist/docs/tech/templates/runtime.docblock.js +1 -0
  66. package/dist/docs/tech/vscode-extension.docblock.js +68 -0
  67. package/dist/docs/tech/workflows/overview.docblock.js +1 -0
  68. package/dist/docs/tech-contracts.docs.js +76 -0
  69. package/dist/docs/types.js +0 -0
  70. package/dist/events.js +1 -2
  71. package/dist/experiments/docs/experiments.docblock.js +128 -0
  72. package/dist/experiments/evaluator.js +1 -2
  73. package/dist/experiments/spec.js +1 -2
  74. package/dist/features.js +1 -2
  75. package/dist/forms/docs/forms.docblock.js +1 -0
  76. package/dist/forms.js +1 -2
  77. package/dist/index.js +1 -1
  78. package/dist/install.js +1 -2
  79. package/dist/integrations/contracts.js +1 -2
  80. package/dist/integrations/docs/integrations.docblock.js +1 -0
  81. package/dist/integrations/health.js +1 -2
  82. package/dist/integrations/index.js +1 -1
  83. package/dist/integrations/openbanking/contracts/accounts.js +1 -2
  84. package/dist/integrations/openbanking/contracts/balances.js +1 -2
  85. package/dist/integrations/openbanking/contracts/index.js +1 -2
  86. package/dist/integrations/openbanking/contracts/transactions.js +1 -2
  87. package/dist/integrations/openbanking/guards.js +1 -2
  88. package/dist/integrations/openbanking/models.js +1 -2
  89. package/dist/integrations/openbanking/openbanking.feature.js +1 -0
  90. package/dist/integrations/openbanking/telemetry.js +1 -2
  91. package/dist/integrations/providers/elevenlabs.js +1 -2
  92. package/dist/integrations/providers/gcs-storage.js +1 -2
  93. package/dist/integrations/providers/gmail.js +1 -2
  94. package/dist/integrations/providers/google-calendar.js +1 -2
  95. package/dist/integrations/providers/impls/elevenlabs-voice.js +1 -2
  96. package/dist/integrations/providers/impls/gcs-storage.js +1 -2
  97. package/dist/integrations/providers/impls/gmail-inbound.js +1 -2
  98. package/dist/integrations/providers/impls/gmail-outbound.js +1 -2
  99. package/dist/integrations/providers/impls/google-calendar.js +1 -2
  100. package/dist/integrations/providers/impls/index.js +1 -1
  101. package/dist/integrations/providers/impls/mistral-embedding.js +1 -2
  102. package/dist/integrations/providers/impls/mistral-llm.js +1 -2
  103. package/dist/integrations/providers/impls/postmark-email.js +1 -2
  104. package/dist/integrations/providers/impls/powens-client.js +1 -2
  105. package/dist/integrations/providers/impls/powens-openbanking.js +1 -2
  106. package/dist/integrations/providers/impls/provider-factory.js +1 -2
  107. package/dist/integrations/providers/impls/qdrant-vector.js +1 -2
  108. package/dist/integrations/providers/impls/stripe-payments.js +1 -2
  109. package/dist/integrations/providers/impls/twilio-sms.js +1 -2
  110. package/dist/integrations/providers/index.js +1 -1
  111. package/dist/integrations/providers/mistral.js +1 -2
  112. package/dist/integrations/providers/postmark.js +1 -2
  113. package/dist/integrations/providers/powens.js +1 -2
  114. package/dist/integrations/providers/qdrant.js +1 -2
  115. package/dist/integrations/providers/registry.js +1 -0
  116. package/dist/integrations/providers/stripe.js +1 -2
  117. package/dist/integrations/providers/twilio-sms.js +1 -2
  118. package/dist/integrations/runtime.js +1 -2
  119. package/dist/integrations/secrets/aws-secret-manager.js +1 -0
  120. package/dist/integrations/secrets/env-secret-provider.js +1 -2
  121. package/dist/integrations/secrets/gcp-secret-manager.js +1 -2
  122. package/dist/integrations/secrets/index.js +1 -1
  123. package/dist/integrations/secrets/manager.js +1 -2
  124. package/dist/integrations/secrets/provider.js +1 -2
  125. package/dist/integrations/secrets/scaleway-secret-manager.js +1 -0
  126. package/dist/integrations/spec.js +1 -2
  127. package/dist/jobs/define-job.js +1 -0
  128. package/dist/jobs/gcp-cloud-tasks.js +1 -2
  129. package/dist/jobs/gcp-pubsub.js +1 -2
  130. package/dist/jobs/handlers/gmail-sync-handler.js +1 -2
  131. package/dist/jobs/handlers/index.js +1 -1
  132. package/dist/jobs/handlers/ping-handler.js +1 -0
  133. package/dist/jobs/handlers/storage-document-handler.js +1 -2
  134. package/dist/jobs/index.js +1 -1
  135. package/dist/jobs/memory-queue.js +1 -2
  136. package/dist/jobs/queue.js +1 -0
  137. package/dist/jobs/scaleway-sqs-queue.js +1 -0
  138. package/dist/jsonschema.js +1 -2
  139. package/dist/knowledge/contracts.js +1 -2
  140. package/dist/knowledge/docs/knowledge.docblock.js +138 -0
  141. package/dist/knowledge/ingestion/document-processor.js +1 -2
  142. package/dist/knowledge/ingestion/embedding-service.js +1 -2
  143. package/dist/knowledge/ingestion/gmail-adapter.js +1 -2
  144. package/dist/knowledge/ingestion/storage-adapter.js +1 -2
  145. package/dist/knowledge/ingestion/vector-indexer.js +1 -2
  146. package/dist/knowledge/query/service.js +1 -2
  147. package/dist/knowledge/runtime.js +1 -2
  148. package/dist/knowledge/spaces/email-threads.js +1 -2
  149. package/dist/knowledge/spaces/financial-docs.js +1 -2
  150. package/dist/knowledge/spaces/financial-overview.js +1 -2
  151. package/dist/knowledge/spaces/product-canon.js +1 -2
  152. package/dist/knowledge/spaces/support-faq.js +1 -2
  153. package/dist/knowledge/spaces/uploaded-docs.js +1 -2
  154. package/dist/knowledge/spec.js +1 -2
  155. package/dist/llm/exporters.js +8 -0
  156. package/dist/llm/index.js +1 -0
  157. package/dist/llm/prompts.js +220 -0
  158. package/dist/llm/types.js +0 -0
  159. package/dist/markdown.js +1 -2
  160. package/dist/migrations.js +1 -2
  161. package/dist/node_modules/@pothos/plugin-complexity/esm/calculate-complexity.js +1 -0
  162. package/dist/node_modules/@pothos/plugin-complexity/esm/defaults.js +1 -0
  163. package/dist/node_modules/@pothos/plugin-complexity/esm/index.js +1 -0
  164. package/dist/node_modules/@pothos/plugin-complexity/esm/types.js +1 -0
  165. package/dist/node_modules/@pothos/plugin-complexity/esm/util.js +1 -0
  166. package/dist/node_modules/@pothos/plugin-complexity/esm/validator.js +1 -0
  167. package/dist/node_modules/@pothos/plugin-dataloader/esm/field-builder.js +1 -0
  168. package/dist/node_modules/@pothos/plugin-dataloader/esm/index.js +1 -0
  169. package/dist/node_modules/@pothos/plugin-dataloader/esm/refs/index.js +1 -0
  170. package/dist/node_modules/@pothos/plugin-dataloader/esm/refs/interface.js +1 -0
  171. package/dist/node_modules/@pothos/plugin-dataloader/esm/refs/node.js +1 -0
  172. package/dist/node_modules/@pothos/plugin-dataloader/esm/refs/object.js +1 -0
  173. package/dist/node_modules/@pothos/plugin-dataloader/esm/refs/union.js +1 -0
  174. package/dist/node_modules/@pothos/plugin-dataloader/esm/schema-builder.js +1 -0
  175. package/dist/node_modules/@pothos/plugin-dataloader/esm/util.js +1 -0
  176. package/dist/node_modules/@pothos/plugin-prisma/esm/connection-helpers.js +1 -0
  177. package/dist/node_modules/@pothos/plugin-prisma/esm/field-builder.js +1 -0
  178. package/dist/node_modules/@pothos/plugin-prisma/esm/index.js +1 -0
  179. package/dist/node_modules/@pothos/plugin-prisma/esm/interface-ref.js +1 -0
  180. package/dist/node_modules/@pothos/plugin-prisma/esm/model-loader.js +1 -0
  181. package/dist/node_modules/@pothos/plugin-prisma/esm/node-ref.js +1 -0
  182. package/dist/node_modules/@pothos/plugin-prisma/esm/object-ref.js +1 -0
  183. package/dist/node_modules/@pothos/plugin-prisma/esm/prisma-field-builder.js +1 -0
  184. package/dist/node_modules/@pothos/plugin-prisma/esm/schema-builder.js +1 -0
  185. package/dist/node_modules/@pothos/plugin-prisma/esm/types.js +0 -0
  186. package/dist/node_modules/@pothos/plugin-prisma/esm/util/cursors.js +1 -0
  187. package/dist/node_modules/@pothos/plugin-prisma/esm/util/datamodel.js +1 -0
  188. package/dist/node_modules/@pothos/plugin-prisma/esm/util/deep-equal.js +1 -0
  189. package/dist/node_modules/@pothos/plugin-prisma/esm/util/description.js +1 -0
  190. package/dist/node_modules/@pothos/plugin-prisma/esm/util/get-client.js +1 -0
  191. package/dist/node_modules/@pothos/plugin-prisma/esm/util/loader-map.js +1 -0
  192. package/dist/node_modules/@pothos/plugin-prisma/esm/util/map-query.js +1 -0
  193. package/dist/node_modules/@pothos/plugin-prisma/esm/util/relation-map.js +1 -0
  194. package/dist/node_modules/@pothos/plugin-prisma/esm/util/selections.js +1 -0
  195. package/dist/node_modules/@pothos/plugin-prisma/esm/util/usage.js +1 -0
  196. package/dist/node_modules/@pothos/plugin-tracing/esm/index.js +1 -0
  197. package/dist/node_modules/@pothos/plugin-tracing/esm/util.js +1 -0
  198. package/dist/node_modules/dataloader/index.js +7 -0
  199. package/dist/node_modules/graphql/error/GraphQLError.js +5 -0
  200. package/dist/node_modules/graphql/error/index.js +1 -0
  201. package/dist/node_modules/graphql/error/locatedError.js +1 -0
  202. package/dist/node_modules/graphql/error/syntaxError.js +1 -0
  203. package/dist/node_modules/graphql/execution/collectFields.js +1 -0
  204. package/dist/node_modules/graphql/execution/execute.js +1 -0
  205. package/dist/node_modules/graphql/execution/index.js +1 -0
  206. package/dist/node_modules/graphql/execution/mapAsyncIterator.js +1 -0
  207. package/dist/node_modules/graphql/execution/subscribe.js +1 -0
  208. package/dist/node_modules/graphql/execution/values.js +1 -0
  209. package/dist/node_modules/graphql/graphql.js +1 -0
  210. package/dist/node_modules/graphql/index.js +1 -0
  211. package/dist/node_modules/graphql/jsutils/Path.js +1 -0
  212. package/dist/node_modules/graphql/jsutils/devAssert.js +1 -0
  213. package/dist/node_modules/graphql/jsutils/didYouMean.js +1 -0
  214. package/dist/node_modules/graphql/jsutils/groupBy.js +1 -0
  215. package/dist/node_modules/graphql/jsutils/identityFunc.js +1 -0
  216. package/dist/node_modules/graphql/jsutils/inspect.js +1 -0
  217. package/dist/node_modules/graphql/jsutils/instanceOf.js +12 -0
  218. package/dist/node_modules/graphql/jsutils/invariant.js +1 -0
  219. package/dist/node_modules/graphql/jsutils/isAsyncIterable.js +1 -0
  220. package/dist/node_modules/graphql/jsutils/isIterableObject.js +1 -0
  221. package/dist/node_modules/graphql/jsutils/isObjectLike.js +1 -0
  222. package/dist/node_modules/graphql/jsutils/isPromise.js +1 -0
  223. package/dist/node_modules/graphql/jsutils/keyMap.js +1 -0
  224. package/dist/node_modules/graphql/jsutils/keyValMap.js +1 -0
  225. package/dist/node_modules/graphql/jsutils/mapValue.js +1 -0
  226. package/dist/node_modules/graphql/jsutils/memoize3.js +1 -0
  227. package/dist/node_modules/graphql/jsutils/naturalCompare.js +1 -0
  228. package/dist/node_modules/graphql/jsutils/printPathArray.js +1 -0
  229. package/dist/node_modules/graphql/jsutils/promiseForObject.js +1 -0
  230. package/dist/node_modules/graphql/jsutils/promiseReduce.js +1 -0
  231. package/dist/node_modules/graphql/jsutils/suggestionList.js +1 -0
  232. package/dist/node_modules/graphql/jsutils/toError.js +1 -0
  233. package/dist/node_modules/graphql/jsutils/toObjMap.js +1 -0
  234. package/dist/node_modules/graphql/language/ast.js +1 -0
  235. package/dist/node_modules/graphql/language/blockString.js +3 -0
  236. package/dist/node_modules/graphql/language/characterClasses.js +1 -0
  237. package/dist/node_modules/graphql/language/directiveLocation.js +1 -0
  238. package/dist/node_modules/graphql/language/index.js +1 -0
  239. package/dist/node_modules/graphql/language/kinds.js +1 -0
  240. package/dist/node_modules/graphql/language/lexer.js +3 -0
  241. package/dist/node_modules/graphql/language/location.js +1 -0
  242. package/dist/node_modules/graphql/language/parser.js +1 -0
  243. package/dist/node_modules/graphql/language/predicates.js +1 -0
  244. package/dist/node_modules/graphql/language/printLocation.js +2 -0
  245. package/dist/node_modules/graphql/language/printString.js +1 -0
  246. package/dist/node_modules/graphql/language/printer.js +34 -0
  247. package/dist/node_modules/graphql/language/schemaCoordinateLexer.js +1 -0
  248. package/dist/node_modules/graphql/language/source.js +1 -0
  249. package/dist/node_modules/graphql/language/tokenKind.js +1 -0
  250. package/dist/node_modules/graphql/language/visitor.js +1 -0
  251. package/dist/node_modules/graphql/type/assertName.js +1 -0
  252. package/dist/node_modules/graphql/type/definition.js +1 -0
  253. package/dist/node_modules/graphql/type/directives.js +1 -0
  254. package/dist/node_modules/graphql/type/index.js +1 -0
  255. package/dist/node_modules/graphql/type/introspection.js +3 -0
  256. package/dist/node_modules/graphql/type/scalars.js +1 -0
  257. package/dist/node_modules/graphql/type/schema.js +1 -0
  258. package/dist/node_modules/graphql/type/validate.js +3 -0
  259. package/dist/node_modules/graphql/utilities/TypeInfo.js +1 -0
  260. package/dist/node_modules/graphql/utilities/assertValidName.js +1 -0
  261. package/dist/node_modules/graphql/utilities/astFromValue.js +1 -0
  262. package/dist/node_modules/graphql/utilities/buildASTSchema.js +1 -0
  263. package/dist/node_modules/graphql/utilities/buildClientSchema.js +1 -0
  264. package/dist/node_modules/graphql/utilities/coerceInputValue.js +1 -0
  265. package/dist/node_modules/graphql/utilities/concatAST.js +1 -0
  266. package/dist/node_modules/graphql/utilities/extendSchema.js +1 -0
  267. package/dist/node_modules/graphql/utilities/findBreakingChanges.js +1 -0
  268. package/dist/node_modules/graphql/utilities/getIntrospectionQuery.js +107 -0
  269. package/dist/node_modules/graphql/utilities/getOperationAST.js +1 -0
  270. package/dist/node_modules/graphql/utilities/getOperationRootType.js +1 -0
  271. package/dist/node_modules/graphql/utilities/index.js +1 -0
  272. package/dist/node_modules/graphql/utilities/introspectionFromSchema.js +1 -0
  273. package/dist/node_modules/graphql/utilities/lexicographicSortSchema.js +1 -0
  274. package/dist/node_modules/graphql/utilities/printSchema.js +13 -0
  275. package/dist/node_modules/graphql/utilities/resolveSchemaCoordinate.js +1 -0
  276. package/dist/node_modules/graphql/utilities/separateOperations.js +1 -0
  277. package/dist/node_modules/graphql/utilities/sortValueNode.js +1 -0
  278. package/dist/node_modules/graphql/utilities/stripIgnoredCharacters.js +1 -0
  279. package/dist/node_modules/graphql/utilities/typeComparators.js +1 -0
  280. package/dist/node_modules/graphql/utilities/typeFromAST.js +1 -0
  281. package/dist/node_modules/graphql/utilities/valueFromAST.js +1 -0
  282. package/dist/node_modules/graphql/utilities/valueFromASTUntyped.js +1 -0
  283. package/dist/node_modules/graphql/validation/ValidationContext.js +1 -0
  284. package/dist/node_modules/graphql/validation/index.js +1 -0
  285. package/dist/node_modules/graphql/validation/rules/ExecutableDefinitionsRule.js +1 -0
  286. package/dist/node_modules/graphql/validation/rules/FieldsOnCorrectTypeRule.js +1 -0
  287. package/dist/node_modules/graphql/validation/rules/FragmentsOnCompositeTypesRule.js +1 -0
  288. package/dist/node_modules/graphql/validation/rules/KnownArgumentNamesRule.js +1 -0
  289. package/dist/node_modules/graphql/validation/rules/KnownDirectivesRule.js +1 -0
  290. package/dist/node_modules/graphql/validation/rules/KnownFragmentNamesRule.js +1 -0
  291. package/dist/node_modules/graphql/validation/rules/KnownTypeNamesRule.js +1 -0
  292. package/dist/node_modules/graphql/validation/rules/LoneAnonymousOperationRule.js +1 -0
  293. package/dist/node_modules/graphql/validation/rules/LoneSchemaDefinitionRule.js +1 -0
  294. package/dist/node_modules/graphql/validation/rules/MaxIntrospectionDepthRule.js +1 -0
  295. package/dist/node_modules/graphql/validation/rules/NoFragmentCyclesRule.js +1 -0
  296. package/dist/node_modules/graphql/validation/rules/NoUndefinedVariablesRule.js +1 -0
  297. package/dist/node_modules/graphql/validation/rules/NoUnusedFragmentsRule.js +1 -0
  298. package/dist/node_modules/graphql/validation/rules/NoUnusedVariablesRule.js +1 -0
  299. package/dist/node_modules/graphql/validation/rules/OverlappingFieldsCanBeMergedRule.js +1 -0
  300. package/dist/node_modules/graphql/validation/rules/PossibleFragmentSpreadsRule.js +1 -0
  301. package/dist/node_modules/graphql/validation/rules/PossibleTypeExtensionsRule.js +1 -0
  302. package/dist/node_modules/graphql/validation/rules/ProvidedRequiredArgumentsRule.js +1 -0
  303. package/dist/node_modules/graphql/validation/rules/ScalarLeafsRule.js +1 -0
  304. package/dist/node_modules/graphql/validation/rules/SingleFieldSubscriptionsRule.js +1 -0
  305. package/dist/node_modules/graphql/validation/rules/UniqueArgumentDefinitionNamesRule.js +1 -0
  306. package/dist/node_modules/graphql/validation/rules/UniqueArgumentNamesRule.js +1 -0
  307. package/dist/node_modules/graphql/validation/rules/UniqueDirectiveNamesRule.js +1 -0
  308. package/dist/node_modules/graphql/validation/rules/UniqueDirectivesPerLocationRule.js +1 -0
  309. package/dist/node_modules/graphql/validation/rules/UniqueEnumValueNamesRule.js +1 -0
  310. package/dist/node_modules/graphql/validation/rules/UniqueFieldDefinitionNamesRule.js +1 -0
  311. package/dist/node_modules/graphql/validation/rules/UniqueFragmentNamesRule.js +1 -0
  312. package/dist/node_modules/graphql/validation/rules/UniqueInputFieldNamesRule.js +1 -0
  313. package/dist/node_modules/graphql/validation/rules/UniqueOperationNamesRule.js +1 -0
  314. package/dist/node_modules/graphql/validation/rules/UniqueOperationTypesRule.js +1 -0
  315. package/dist/node_modules/graphql/validation/rules/UniqueTypeNamesRule.js +1 -0
  316. package/dist/node_modules/graphql/validation/rules/UniqueVariableNamesRule.js +1 -0
  317. package/dist/node_modules/graphql/validation/rules/ValuesOfCorrectTypeRule.js +1 -0
  318. package/dist/node_modules/graphql/validation/rules/VariablesAreInputTypesRule.js +1 -0
  319. package/dist/node_modules/graphql/validation/rules/VariablesInAllowedPositionRule.js +1 -0
  320. package/dist/node_modules/graphql/validation/rules/custom/NoDeprecatedCustomRule.js +1 -0
  321. package/dist/node_modules/graphql/validation/rules/custom/NoSchemaIntrospectionCustomRule.js +1 -0
  322. package/dist/node_modules/graphql/validation/specifiedRules.js +1 -0
  323. package/dist/node_modules/graphql/validation/validate.js +5 -0
  324. package/dist/node_modules/graphql/version.js +1 -0
  325. package/dist/onboarding-base.js +1 -2
  326. package/dist/openapi.js +1 -0
  327. package/dist/openbanking/docs/openbanking.docblock.js +109 -0
  328. package/dist/ownership.js +1 -2
  329. package/dist/policy/docs/policy.docblock.js +1 -0
  330. package/dist/policy/engine.js +1 -2
  331. package/dist/policy/opa-adapter.js +1 -2
  332. package/dist/policy/spec.js +1 -2
  333. package/dist/presentations/docs/presentations-conventions.docblock.js +8 -0
  334. package/dist/presentations.backcompat.js +1 -2
  335. package/dist/presentations.js +1 -2
  336. package/dist/presentations.v2.js +7 -2
  337. package/dist/prompt.js +1 -2
  338. package/dist/promptRegistry.js +1 -2
  339. package/dist/regenerator/docs/regenerator.docblock.js +184 -0
  340. package/dist/regenerator/executor.js +1 -2
  341. package/dist/regenerator/service.js +1 -2
  342. package/dist/regenerator/sinks.js +1 -2
  343. package/dist/regenerator/utils.js +1 -2
  344. package/dist/registry.js +1 -2
  345. package/dist/resources.js +1 -2
  346. package/dist/schema-to-markdown.js +10 -0
  347. package/dist/server/graphql-pothos.js +1 -2
  348. package/dist/server/index.js +1 -1
  349. package/dist/server/mcp/createMcpServer.js +1 -0
  350. package/dist/server/mcp/mcpTypes.js +0 -0
  351. package/dist/server/mcp/registerPresentations.js +1 -0
  352. package/dist/server/mcp/registerPrompts.js +3 -0
  353. package/dist/server/mcp/registerResources.js +1 -0
  354. package/dist/server/mcp/registerTools.js +1 -0
  355. package/dist/server/provider-mcp.js +1 -2
  356. package/dist/server/rest-elysia.js +1 -2
  357. package/dist/server/rest-express.js +1 -2
  358. package/dist/server/rest-generic.js +1 -2
  359. package/dist/server/rest-next-app.js +1 -2
  360. package/dist/server/rest-next-mcp.js +1 -2
  361. package/dist/server/rest-next-pages.js +1 -2
  362. package/dist/spec.js +1 -2
  363. package/dist/telemetry/anomaly.js +1 -2
  364. package/dist/telemetry/docs/telemetry.docblock.js +139 -0
  365. package/dist/telemetry/spec.js +1 -2
  366. package/dist/telemetry/tracker.js +1 -2
  367. package/dist/tests/runner.js +1 -2
  368. package/dist/tests/spec.js +1 -2
  369. package/dist/themes.js +1 -2
  370. package/dist/workflow/adapters/db-adapter.js +1 -2
  371. package/dist/workflow/adapters/file-adapter.js +1 -2
  372. package/dist/workflow/adapters/memory-store.js +1 -2
  373. package/dist/workflow/expression.js +1 -2
  374. package/dist/workflow/runner.js +1 -2
  375. package/dist/workflow/sla-monitor.js +1 -2
  376. package/dist/workflow/spec.js +1 -2
  377. package/dist/workflow/validation.js +1 -2
  378. package/package.json +353 -193
  379. package/dist/app-config/branding.d.ts +0 -56
  380. package/dist/app-config/branding.d.ts.map +0 -1
  381. package/dist/app-config/contracts.d.ts +0 -245
  382. package/dist/app-config/contracts.d.ts.map +0 -1
  383. package/dist/app-config/contracts.js.map +0 -1
  384. package/dist/app-config/events.d.ts +0 -123
  385. package/dist/app-config/events.d.ts.map +0 -1
  386. package/dist/app-config/events.js.map +0 -1
  387. package/dist/app-config/index.d.ts +0 -8
  388. package/dist/app-config/lifecycle-contracts.d.ts +0 -383
  389. package/dist/app-config/lifecycle-contracts.d.ts.map +0 -1
  390. package/dist/app-config/lifecycle-contracts.js.map +0 -1
  391. package/dist/app-config/lifecycle.d.ts +0 -28
  392. package/dist/app-config/lifecycle.d.ts.map +0 -1
  393. package/dist/app-config/runtime.d.ts +0 -115
  394. package/dist/app-config/runtime.d.ts.map +0 -1
  395. package/dist/app-config/runtime.js.map +0 -1
  396. package/dist/app-config/spec.d.ts +0 -176
  397. package/dist/app-config/spec.d.ts.map +0 -1
  398. package/dist/app-config/spec.js.map +0 -1
  399. package/dist/app-config/validation.d.ts +0 -48
  400. package/dist/app-config/validation.d.ts.map +0 -1
  401. package/dist/app-config/validation.js.map +0 -1
  402. package/dist/capabilities/openbanking.d.ts +0 -10
  403. package/dist/capabilities/openbanking.d.ts.map +0 -1
  404. package/dist/capabilities/openbanking.js.map +0 -1
  405. package/dist/capabilities.d.ts +0 -46
  406. package/dist/capabilities.d.ts.map +0 -1
  407. package/dist/capabilities.js.map +0 -1
  408. package/dist/client/index.d.ts +0 -6
  409. package/dist/client/react/drivers/rn-reusables.d.ts +0 -23
  410. package/dist/client/react/drivers/rn-reusables.d.ts.map +0 -1
  411. package/dist/client/react/drivers/rn-reusables.js.map +0 -1
  412. package/dist/client/react/drivers/shadcn.d.ts +0 -13
  413. package/dist/client/react/drivers/shadcn.d.ts.map +0 -1
  414. package/dist/client/react/drivers/shadcn.js.map +0 -1
  415. package/dist/client/react/feature-render.d.ts +0 -21
  416. package/dist/client/react/feature-render.d.ts.map +0 -1
  417. package/dist/client/react/feature-render.js.map +0 -1
  418. package/dist/client/react/form-render.d.ts +0 -92
  419. package/dist/client/react/form-render.d.ts.map +0 -1
  420. package/dist/client/react/form-render.js.map +0 -1
  421. package/dist/client/react/index.d.ts +0 -5
  422. package/dist/contracts-adapter-hydration.d.ts +0 -16
  423. package/dist/contracts-adapter-hydration.d.ts.map +0 -1
  424. package/dist/contracts-adapter-hydration.js.map +0 -1
  425. package/dist/contracts-adapter-input.d.ts +0 -11
  426. package/dist/contracts-adapter-input.d.ts.map +0 -1
  427. package/dist/contracts-adapter-input.js.map +0 -1
  428. package/dist/data-views/query-generator.d.ts +0 -40
  429. package/dist/data-views/query-generator.d.ts.map +0 -1
  430. package/dist/data-views/query-generator.js.map +0 -1
  431. package/dist/data-views/runtime.d.ts +0 -27
  432. package/dist/data-views/runtime.d.ts.map +0 -1
  433. package/dist/data-views/runtime.js.map +0 -1
  434. package/dist/data-views.d.ts +0 -132
  435. package/dist/data-views.d.ts.map +0 -1
  436. package/dist/data-views.js.map +0 -1
  437. package/dist/events.d.ts +0 -45
  438. package/dist/events.d.ts.map +0 -1
  439. package/dist/events.js.map +0 -1
  440. package/dist/experiments/evaluator.d.ts +0 -38
  441. package/dist/experiments/evaluator.d.ts.map +0 -1
  442. package/dist/experiments/evaluator.js.map +0 -1
  443. package/dist/experiments/spec-resolver.d.ts +0 -17
  444. package/dist/experiments/spec-resolver.d.ts.map +0 -1
  445. package/dist/experiments/spec.d.ts +0 -90
  446. package/dist/experiments/spec.d.ts.map +0 -1
  447. package/dist/experiments/spec.js.map +0 -1
  448. package/dist/features.d.ts +0 -88
  449. package/dist/features.d.ts.map +0 -1
  450. package/dist/features.js.map +0 -1
  451. package/dist/forms.d.ts +0 -259
  452. package/dist/forms.d.ts.map +0 -1
  453. package/dist/forms.js.map +0 -1
  454. package/dist/graphql-federation/dist/index.js +0 -2
  455. package/dist/graphql-federation/dist/index.js.map +0 -1
  456. package/dist/index.d.ts +0 -130
  457. package/dist/install.d.ts +0 -77
  458. package/dist/install.d.ts.map +0 -1
  459. package/dist/install.js.map +0 -1
  460. package/dist/integrations/binding.d.ts +0 -18
  461. package/dist/integrations/binding.d.ts.map +0 -1
  462. package/dist/integrations/connection.d.ts +0 -52
  463. package/dist/integrations/connection.d.ts.map +0 -1
  464. package/dist/integrations/contracts.d.ts +0 -436
  465. package/dist/integrations/contracts.d.ts.map +0 -1
  466. package/dist/integrations/contracts.js.map +0 -1
  467. package/dist/integrations/health.d.ts +0 -22
  468. package/dist/integrations/health.d.ts.map +0 -1
  469. package/dist/integrations/health.js.map +0 -1
  470. package/dist/integrations/index.d.ts +0 -53
  471. package/dist/integrations/openbanking/contracts/accounts.d.ts +0 -288
  472. package/dist/integrations/openbanking/contracts/accounts.d.ts.map +0 -1
  473. package/dist/integrations/openbanking/contracts/accounts.js.map +0 -1
  474. package/dist/integrations/openbanking/contracts/balances.d.ts +0 -164
  475. package/dist/integrations/openbanking/contracts/balances.d.ts.map +0 -1
  476. package/dist/integrations/openbanking/contracts/balances.js.map +0 -1
  477. package/dist/integrations/openbanking/contracts/index.d.ts +0 -10
  478. package/dist/integrations/openbanking/contracts/index.d.ts.map +0 -1
  479. package/dist/integrations/openbanking/contracts/index.js.map +0 -1
  480. package/dist/integrations/openbanking/contracts/transactions.d.ts +0 -212
  481. package/dist/integrations/openbanking/contracts/transactions.d.ts.map +0 -1
  482. package/dist/integrations/openbanking/contracts/transactions.js.map +0 -1
  483. package/dist/integrations/openbanking/guards.d.ts +0 -13
  484. package/dist/integrations/openbanking/guards.d.ts.map +0 -1
  485. package/dist/integrations/openbanking/guards.js.map +0 -1
  486. package/dist/integrations/openbanking/models.d.ts +0 -229
  487. package/dist/integrations/openbanking/models.d.ts.map +0 -1
  488. package/dist/integrations/openbanking/models.js.map +0 -1
  489. package/dist/integrations/openbanking/telemetry.d.ts +0 -16
  490. package/dist/integrations/openbanking/telemetry.d.ts.map +0 -1
  491. package/dist/integrations/openbanking/telemetry.js.map +0 -1
  492. package/dist/integrations/providers/calendar.d.ts +0 -79
  493. package/dist/integrations/providers/calendar.d.ts.map +0 -1
  494. package/dist/integrations/providers/elevenlabs.d.ts +0 -8
  495. package/dist/integrations/providers/elevenlabs.d.ts.map +0 -1
  496. package/dist/integrations/providers/elevenlabs.js.map +0 -1
  497. package/dist/integrations/providers/email.d.ts +0 -87
  498. package/dist/integrations/providers/email.d.ts.map +0 -1
  499. package/dist/integrations/providers/embedding.d.ts +0 -25
  500. package/dist/integrations/providers/embedding.d.ts.map +0 -1
  501. package/dist/integrations/providers/gcs-storage.d.ts +0 -8
  502. package/dist/integrations/providers/gcs-storage.d.ts.map +0 -1
  503. package/dist/integrations/providers/gcs-storage.js.map +0 -1
  504. package/dist/integrations/providers/gmail.d.ts +0 -8
  505. package/dist/integrations/providers/gmail.d.ts.map +0 -1
  506. package/dist/integrations/providers/gmail.js.map +0 -1
  507. package/dist/integrations/providers/google-calendar.d.ts +0 -8
  508. package/dist/integrations/providers/google-calendar.d.ts.map +0 -1
  509. package/dist/integrations/providers/google-calendar.js.map +0 -1
  510. package/dist/integrations/providers/impls/elevenlabs-voice.d.ts +0 -21
  511. package/dist/integrations/providers/impls/elevenlabs-voice.d.ts.map +0 -1
  512. package/dist/integrations/providers/impls/elevenlabs-voice.js.map +0 -1
  513. package/dist/integrations/providers/impls/gcs-storage.d.ts +0 -25
  514. package/dist/integrations/providers/impls/gcs-storage.d.ts.map +0 -1
  515. package/dist/integrations/providers/impls/gcs-storage.js.map +0 -1
  516. package/dist/integrations/providers/impls/gmail-inbound.d.ts +0 -27
  517. package/dist/integrations/providers/impls/gmail-inbound.d.ts.map +0 -1
  518. package/dist/integrations/providers/impls/gmail-inbound.js.map +0 -1
  519. package/dist/integrations/providers/impls/gmail-outbound.d.ts +0 -19
  520. package/dist/integrations/providers/impls/gmail-outbound.d.ts.map +0 -1
  521. package/dist/integrations/providers/impls/gmail-outbound.js.map +0 -1
  522. package/dist/integrations/providers/impls/google-calendar.d.ts +0 -24
  523. package/dist/integrations/providers/impls/google-calendar.d.ts.map +0 -1
  524. package/dist/integrations/providers/impls/google-calendar.js.map +0 -1
  525. package/dist/integrations/providers/impls/index.d.ts +0 -15
  526. package/dist/integrations/providers/impls/mistral-embedding.d.ts +0 -24
  527. package/dist/integrations/providers/impls/mistral-embedding.d.ts.map +0 -1
  528. package/dist/integrations/providers/impls/mistral-embedding.js.map +0 -1
  529. package/dist/integrations/providers/impls/mistral-llm.d.ts +0 -32
  530. package/dist/integrations/providers/impls/mistral-llm.d.ts.map +0 -1
  531. package/dist/integrations/providers/impls/mistral-llm.js.map +0 -1
  532. package/dist/integrations/providers/impls/postmark-email.d.ts +0 -20
  533. package/dist/integrations/providers/impls/postmark-email.d.ts.map +0 -1
  534. package/dist/integrations/providers/impls/postmark-email.js.map +0 -1
  535. package/dist/integrations/providers/impls/powens-client.d.ts +0 -125
  536. package/dist/integrations/providers/impls/powens-client.d.ts.map +0 -1
  537. package/dist/integrations/providers/impls/powens-client.js.map +0 -1
  538. package/dist/integrations/providers/impls/powens-openbanking.d.ts +0 -28
  539. package/dist/integrations/providers/impls/powens-openbanking.d.ts.map +0 -1
  540. package/dist/integrations/providers/impls/powens-openbanking.js.map +0 -1
  541. package/dist/integrations/providers/impls/provider-factory.d.ts +0 -27
  542. package/dist/integrations/providers/impls/provider-factory.d.ts.map +0 -1
  543. package/dist/integrations/providers/impls/provider-factory.js.map +0 -1
  544. package/dist/integrations/providers/impls/qdrant-vector.d.ts +0 -25
  545. package/dist/integrations/providers/impls/qdrant-vector.d.ts.map +0 -1
  546. package/dist/integrations/providers/impls/qdrant-vector.js.map +0 -1
  547. package/dist/integrations/providers/impls/stripe-payments.d.ts +0 -29
  548. package/dist/integrations/providers/impls/stripe-payments.d.ts.map +0 -1
  549. package/dist/integrations/providers/impls/stripe-payments.js.map +0 -1
  550. package/dist/integrations/providers/impls/twilio-sms.d.ts +0 -21
  551. package/dist/integrations/providers/impls/twilio-sms.d.ts.map +0 -1
  552. package/dist/integrations/providers/impls/twilio-sms.js.map +0 -1
  553. package/dist/integrations/providers/index.d.ts +0 -36
  554. package/dist/integrations/providers/llm.d.ts +0 -83
  555. package/dist/integrations/providers/llm.d.ts.map +0 -1
  556. package/dist/integrations/providers/mistral.d.ts +0 -8
  557. package/dist/integrations/providers/mistral.d.ts.map +0 -1
  558. package/dist/integrations/providers/mistral.js.map +0 -1
  559. package/dist/integrations/providers/openbanking.d.ts +0 -129
  560. package/dist/integrations/providers/openbanking.d.ts.map +0 -1
  561. package/dist/integrations/providers/payments.d.ts +0 -110
  562. package/dist/integrations/providers/payments.d.ts.map +0 -1
  563. package/dist/integrations/providers/postmark.d.ts +0 -8
  564. package/dist/integrations/providers/postmark.d.ts.map +0 -1
  565. package/dist/integrations/providers/postmark.js.map +0 -1
  566. package/dist/integrations/providers/powens.d.ts +0 -8
  567. package/dist/integrations/providers/powens.d.ts.map +0 -1
  568. package/dist/integrations/providers/powens.js.map +0 -1
  569. package/dist/integrations/providers/qdrant.d.ts +0 -8
  570. package/dist/integrations/providers/qdrant.d.ts.map +0 -1
  571. package/dist/integrations/providers/qdrant.js.map +0 -1
  572. package/dist/integrations/providers/sms.d.ts +0 -35
  573. package/dist/integrations/providers/sms.d.ts.map +0 -1
  574. package/dist/integrations/providers/storage.d.ts +0 -61
  575. package/dist/integrations/providers/storage.d.ts.map +0 -1
  576. package/dist/integrations/providers/stripe.d.ts +0 -8
  577. package/dist/integrations/providers/stripe.d.ts.map +0 -1
  578. package/dist/integrations/providers/stripe.js.map +0 -1
  579. package/dist/integrations/providers/twilio-sms.d.ts +0 -8
  580. package/dist/integrations/providers/twilio-sms.d.ts.map +0 -1
  581. package/dist/integrations/providers/twilio-sms.js.map +0 -1
  582. package/dist/integrations/providers/vector-store.d.ts +0 -44
  583. package/dist/integrations/providers/vector-store.d.ts.map +0 -1
  584. package/dist/integrations/providers/voice.d.ts +0 -35
  585. package/dist/integrations/providers/voice.d.ts.map +0 -1
  586. package/dist/integrations/runtime.d.ts +0 -100
  587. package/dist/integrations/runtime.d.ts.map +0 -1
  588. package/dist/integrations/runtime.js.map +0 -1
  589. package/dist/integrations/secrets/env-secret-provider.d.ts +0 -32
  590. package/dist/integrations/secrets/env-secret-provider.d.ts.map +0 -1
  591. package/dist/integrations/secrets/env-secret-provider.js.map +0 -1
  592. package/dist/integrations/secrets/gcp-secret-manager.d.ts +0 -33
  593. package/dist/integrations/secrets/gcp-secret-manager.d.ts.map +0 -1
  594. package/dist/integrations/secrets/gcp-secret-manager.js.map +0 -1
  595. package/dist/integrations/secrets/index.d.ts +0 -5
  596. package/dist/integrations/secrets/manager.d.ts +0 -48
  597. package/dist/integrations/secrets/manager.d.ts.map +0 -1
  598. package/dist/integrations/secrets/manager.js.map +0 -1
  599. package/dist/integrations/secrets/provider.d.ts +0 -53
  600. package/dist/integrations/secrets/provider.d.ts.map +0 -1
  601. package/dist/integrations/secrets/provider.js.map +0 -1
  602. package/dist/integrations/spec.d.ts +0 -80
  603. package/dist/integrations/spec.d.ts.map +0 -1
  604. package/dist/integrations/spec.js.map +0 -1
  605. package/dist/jobs/gcp-cloud-tasks.d.ts +0 -42
  606. package/dist/jobs/gcp-cloud-tasks.d.ts.map +0 -1
  607. package/dist/jobs/gcp-cloud-tasks.js.map +0 -1
  608. package/dist/jobs/gcp-pubsub.d.ts +0 -26
  609. package/dist/jobs/gcp-pubsub.d.ts.map +0 -1
  610. package/dist/jobs/gcp-pubsub.js.map +0 -1
  611. package/dist/jobs/handlers/gmail-sync-handler.d.ts +0 -10
  612. package/dist/jobs/handlers/gmail-sync-handler.d.ts.map +0 -1
  613. package/dist/jobs/handlers/gmail-sync-handler.js.map +0 -1
  614. package/dist/jobs/handlers/index.d.ts +0 -3
  615. package/dist/jobs/handlers/storage-document-handler.d.ts +0 -13
  616. package/dist/jobs/handlers/storage-document-handler.d.ts.map +0 -1
  617. package/dist/jobs/handlers/storage-document-handler.js.map +0 -1
  618. package/dist/jobs/index.d.ts +0 -7
  619. package/dist/jobs/memory-queue.d.ts +0 -19
  620. package/dist/jobs/memory-queue.d.ts.map +0 -1
  621. package/dist/jobs/memory-queue.js.map +0 -1
  622. package/dist/jobs/queue.d.ts +0 -27
  623. package/dist/jobs/queue.d.ts.map +0 -1
  624. package/dist/jsonschema.d.ts +0 -27
  625. package/dist/jsonschema.d.ts.map +0 -1
  626. package/dist/jsonschema.js.map +0 -1
  627. package/dist/knowledge/binding.d.ts +0 -26
  628. package/dist/knowledge/binding.d.ts.map +0 -1
  629. package/dist/knowledge/contracts.d.ts +0 -317
  630. package/dist/knowledge/contracts.d.ts.map +0 -1
  631. package/dist/knowledge/contracts.js.map +0 -1
  632. package/dist/knowledge/index.d.ts +0 -10
  633. package/dist/knowledge/ingestion/document-processor.d.ts +0 -25
  634. package/dist/knowledge/ingestion/document-processor.d.ts.map +0 -1
  635. package/dist/knowledge/ingestion/document-processor.js.map +0 -1
  636. package/dist/knowledge/ingestion/embedding-service.d.ts +0 -13
  637. package/dist/knowledge/ingestion/embedding-service.d.ts.map +0 -1
  638. package/dist/knowledge/ingestion/embedding-service.js.map +0 -1
  639. package/dist/knowledge/ingestion/gmail-adapter.d.ts +0 -19
  640. package/dist/knowledge/ingestion/gmail-adapter.d.ts.map +0 -1
  641. package/dist/knowledge/ingestion/gmail-adapter.js.map +0 -1
  642. package/dist/knowledge/ingestion/index.d.ts +0 -6
  643. package/dist/knowledge/ingestion/storage-adapter.d.ts +0 -16
  644. package/dist/knowledge/ingestion/storage-adapter.d.ts.map +0 -1
  645. package/dist/knowledge/ingestion/storage-adapter.js.map +0 -1
  646. package/dist/knowledge/ingestion/vector-indexer.d.ts +0 -19
  647. package/dist/knowledge/ingestion/vector-indexer.d.ts.map +0 -1
  648. package/dist/knowledge/ingestion/vector-indexer.js.map +0 -1
  649. package/dist/knowledge/query/index.d.ts +0 -2
  650. package/dist/knowledge/query/service.d.ts +0 -30
  651. package/dist/knowledge/query/service.d.ts.map +0 -1
  652. package/dist/knowledge/query/service.js.map +0 -1
  653. package/dist/knowledge/runtime.d.ts +0 -33
  654. package/dist/knowledge/runtime.d.ts.map +0 -1
  655. package/dist/knowledge/runtime.js.map +0 -1
  656. package/dist/knowledge/source.d.ts +0 -33
  657. package/dist/knowledge/source.d.ts.map +0 -1
  658. package/dist/knowledge/spaces/email-threads.d.ts +0 -8
  659. package/dist/knowledge/spaces/email-threads.d.ts.map +0 -1
  660. package/dist/knowledge/spaces/email-threads.js.map +0 -1
  661. package/dist/knowledge/spaces/financial-docs.d.ts +0 -8
  662. package/dist/knowledge/spaces/financial-docs.d.ts.map +0 -1
  663. package/dist/knowledge/spaces/financial-docs.js.map +0 -1
  664. package/dist/knowledge/spaces/financial-overview.d.ts +0 -8
  665. package/dist/knowledge/spaces/financial-overview.d.ts.map +0 -1
  666. package/dist/knowledge/spaces/financial-overview.js.map +0 -1
  667. package/dist/knowledge/spaces/index.d.ts +0 -7
  668. package/dist/knowledge/spaces/product-canon.d.ts +0 -8
  669. package/dist/knowledge/spaces/product-canon.d.ts.map +0 -1
  670. package/dist/knowledge/spaces/product-canon.js.map +0 -1
  671. package/dist/knowledge/spaces/support-faq.d.ts +0 -8
  672. package/dist/knowledge/spaces/support-faq.d.ts.map +0 -1
  673. package/dist/knowledge/spaces/support-faq.js.map +0 -1
  674. package/dist/knowledge/spaces/uploaded-docs.d.ts +0 -8
  675. package/dist/knowledge/spaces/uploaded-docs.d.ts.map +0 -1
  676. package/dist/knowledge/spaces/uploaded-docs.js.map +0 -1
  677. package/dist/knowledge/spec.d.ts +0 -53
  678. package/dist/knowledge/spec.d.ts.map +0 -1
  679. package/dist/knowledge/spec.js.map +0 -1
  680. package/dist/markdown.d.ts +0 -22
  681. package/dist/markdown.d.ts.map +0 -1
  682. package/dist/markdown.js.map +0 -1
  683. package/dist/migrations.d.ts +0 -53
  684. package/dist/migrations.d.ts.map +0 -1
  685. package/dist/migrations.js.map +0 -1
  686. package/dist/onboarding-base.d.ts +0 -138
  687. package/dist/onboarding-base.d.ts.map +0 -1
  688. package/dist/onboarding-base.js.map +0 -1
  689. package/dist/ownership.d.ts +0 -76
  690. package/dist/ownership.d.ts.map +0 -1
  691. package/dist/ownership.js.map +0 -1
  692. package/dist/policy/engine.d.ts +0 -40
  693. package/dist/policy/engine.d.ts.map +0 -1
  694. package/dist/policy/engine.js.map +0 -1
  695. package/dist/policy/opa-adapter.d.ts +0 -46
  696. package/dist/policy/opa-adapter.d.ts.map +0 -1
  697. package/dist/policy/opa-adapter.js.map +0 -1
  698. package/dist/policy/spec.d.ts +0 -115
  699. package/dist/policy/spec.d.ts.map +0 -1
  700. package/dist/policy/spec.js.map +0 -1
  701. package/dist/presentations.backcompat.d.ts +0 -8
  702. package/dist/presentations.backcompat.d.ts.map +0 -1
  703. package/dist/presentations.backcompat.js.map +0 -1
  704. package/dist/presentations.d.ts +0 -97
  705. package/dist/presentations.d.ts.map +0 -1
  706. package/dist/presentations.js.map +0 -1
  707. package/dist/presentations.v2.d.ts +0 -96
  708. package/dist/presentations.v2.d.ts.map +0 -1
  709. package/dist/presentations.v2.js.map +0 -1
  710. package/dist/prompt.d.ts +0 -61
  711. package/dist/prompt.d.ts.map +0 -1
  712. package/dist/prompt.js.map +0 -1
  713. package/dist/promptRegistry.d.ts +0 -16
  714. package/dist/promptRegistry.d.ts.map +0 -1
  715. package/dist/promptRegistry.js.map +0 -1
  716. package/dist/regenerator/adapters.d.ts +0 -20
  717. package/dist/regenerator/adapters.d.ts.map +0 -1
  718. package/dist/regenerator/executor.d.ts +0 -71
  719. package/dist/regenerator/executor.d.ts.map +0 -1
  720. package/dist/regenerator/executor.js.map +0 -1
  721. package/dist/regenerator/index.d.ts +0 -7
  722. package/dist/regenerator/service.d.ts +0 -34
  723. package/dist/regenerator/service.d.ts.map +0 -1
  724. package/dist/regenerator/service.js.map +0 -1
  725. package/dist/regenerator/sinks.d.ts +0 -27
  726. package/dist/regenerator/sinks.d.ts.map +0 -1
  727. package/dist/regenerator/sinks.js.map +0 -1
  728. package/dist/regenerator/types.d.ts +0 -108
  729. package/dist/regenerator/types.d.ts.map +0 -1
  730. package/dist/regenerator/utils.d.ts +0 -10
  731. package/dist/regenerator/utils.d.ts.map +0 -1
  732. package/dist/regenerator/utils.js.map +0 -1
  733. package/dist/registry.d.ts +0 -73
  734. package/dist/registry.d.ts.map +0 -1
  735. package/dist/registry.js.map +0 -1
  736. package/dist/resources.d.ts +0 -65
  737. package/dist/resources.d.ts.map +0 -1
  738. package/dist/resources.js.map +0 -1
  739. package/dist/schema/dist/EnumType.js +0 -1
  740. package/dist/schema/dist/FieldType.js +0 -2
  741. package/dist/schema/dist/FieldType.js.map +0 -1
  742. package/dist/schema/dist/ScalarTypeEnum.js +0 -2
  743. package/dist/schema/dist/ScalarTypeEnum.js.map +0 -1
  744. package/dist/schema/dist/SchemaModel.js +0 -2
  745. package/dist/schema/dist/SchemaModel.js.map +0 -1
  746. package/dist/schema/dist/index.js +0 -1
  747. package/dist/server/graphql-pothos.d.ts +0 -32
  748. package/dist/server/graphql-pothos.d.ts.map +0 -1
  749. package/dist/server/graphql-pothos.js.map +0 -1
  750. package/dist/server/graphql-schema-export.d.ts +0 -7
  751. package/dist/server/graphql-schema-export.d.ts.map +0 -1
  752. package/dist/server/graphql-schema-export.js +0 -2
  753. package/dist/server/graphql-schema-export.js.map +0 -1
  754. package/dist/server/index.d.ts +0 -9
  755. package/dist/server/provider-mcp.d.ts +0 -52
  756. package/dist/server/provider-mcp.d.ts.map +0 -1
  757. package/dist/server/provider-mcp.js.map +0 -1
  758. package/dist/server/rest-elysia.d.ts +0 -41
  759. package/dist/server/rest-elysia.d.ts.map +0 -1
  760. package/dist/server/rest-elysia.js.map +0 -1
  761. package/dist/server/rest-express.d.ts +0 -17
  762. package/dist/server/rest-express.d.ts.map +0 -1
  763. package/dist/server/rest-express.js.map +0 -1
  764. package/dist/server/rest-generic.d.ts +0 -33
  765. package/dist/server/rest-generic.d.ts.map +0 -1
  766. package/dist/server/rest-generic.js.map +0 -1
  767. package/dist/server/rest-next-app.d.ts +0 -36
  768. package/dist/server/rest-next-app.d.ts.map +0 -1
  769. package/dist/server/rest-next-app.js.map +0 -1
  770. package/dist/server/rest-next-mcp.d.ts +0 -12
  771. package/dist/server/rest-next-mcp.d.ts.map +0 -1
  772. package/dist/server/rest-next-mcp.js.map +0 -1
  773. package/dist/server/rest-next-pages.d.ts +0 -10
  774. package/dist/server/rest-next-pages.d.ts.map +0 -1
  775. package/dist/server/rest-next-pages.js.map +0 -1
  776. package/dist/spec.d.ts +0 -172
  777. package/dist/spec.d.ts.map +0 -1
  778. package/dist/spec.js.map +0 -1
  779. package/dist/telemetry/anomaly.d.ts +0 -28
  780. package/dist/telemetry/anomaly.d.ts.map +0 -1
  781. package/dist/telemetry/anomaly.js.map +0 -1
  782. package/dist/telemetry/index.d.ts +0 -4
  783. package/dist/telemetry/spec.d.ts +0 -99
  784. package/dist/telemetry/spec.d.ts.map +0 -1
  785. package/dist/telemetry/spec.js.map +0 -1
  786. package/dist/telemetry/tracker.d.ts +0 -52
  787. package/dist/telemetry/tracker.d.ts.map +0 -1
  788. package/dist/telemetry/tracker.js.map +0 -1
  789. package/dist/tests/index.d.ts +0 -3
  790. package/dist/tests/runner.d.ts +0 -44
  791. package/dist/tests/runner.d.ts.map +0 -1
  792. package/dist/tests/runner.js.map +0 -1
  793. package/dist/tests/spec.d.ts +0 -90
  794. package/dist/tests/spec.d.ts.map +0 -1
  795. package/dist/tests/spec.js.map +0 -1
  796. package/dist/themes.d.ts +0 -56
  797. package/dist/themes.d.ts.map +0 -1
  798. package/dist/themes.js.map +0 -1
  799. package/dist/translations/catalog.d.ts +0 -29
  800. package/dist/translations/catalog.d.ts.map +0 -1
  801. package/dist/translations/tenant.d.ts +0 -16
  802. package/dist/translations/tenant.d.ts.map +0 -1
  803. package/dist/types/all.d.ts +0 -60
  804. package/dist/types.d.ts +0 -89
  805. package/dist/types.d.ts.map +0 -1
  806. package/dist/workflow/adapters/db-adapter.d.ts +0 -35
  807. package/dist/workflow/adapters/db-adapter.d.ts.map +0 -1
  808. package/dist/workflow/adapters/db-adapter.js.map +0 -1
  809. package/dist/workflow/adapters/file-adapter.d.ts +0 -15
  810. package/dist/workflow/adapters/file-adapter.d.ts.map +0 -1
  811. package/dist/workflow/adapters/file-adapter.js.map +0 -1
  812. package/dist/workflow/adapters/index.d.ts +0 -4
  813. package/dist/workflow/adapters/memory-store.d.ts +0 -19
  814. package/dist/workflow/adapters/memory-store.d.ts.map +0 -1
  815. package/dist/workflow/adapters/memory-store.js.map +0 -1
  816. package/dist/workflow/expression.d.ts +0 -10
  817. package/dist/workflow/expression.d.ts.map +0 -1
  818. package/dist/workflow/expression.js.map +0 -1
  819. package/dist/workflow/index.d.ts +0 -10
  820. package/dist/workflow/runner.d.ts +0 -75
  821. package/dist/workflow/runner.d.ts.map +0 -1
  822. package/dist/workflow/runner.js.map +0 -1
  823. package/dist/workflow/sla-monitor.d.ts +0 -21
  824. package/dist/workflow/sla-monitor.d.ts.map +0 -1
  825. package/dist/workflow/sla-monitor.js.map +0 -1
  826. package/dist/workflow/spec.d.ts +0 -100
  827. package/dist/workflow/spec.d.ts.map +0 -1
  828. package/dist/workflow/spec.js.map +0 -1
  829. package/dist/workflow/state.d.ts +0 -36
  830. package/dist/workflow/state.d.ts.map +0 -1
  831. package/dist/workflow/validation.d.ts +0 -29
  832. package/dist/workflow/validation.d.ts.map +0 -1
  833. package/dist/workflow/validation.js.map +0 -1
@@ -1,138 +0,0 @@
1
- import { ContractSpec } from "./spec.js";
2
- import * as _lssm_lib_schema100 from "@lssm/lib.schema";
3
- import { SchemaModel } from "@lssm/lib.schema";
4
-
5
- //#region src/onboarding-base.d.ts
6
- /** Save/update onboarding draft (auto-save during flow) */
7
- declare const SaveOnboardingDraftInput: SchemaModel<{
8
- data: {
9
- type: _lssm_lib_schema100.FieldType<unknown, unknown>;
10
- isOptional: false;
11
- };
12
- }>;
13
- declare const SaveOnboardingDraftOutput: SchemaModel<{
14
- id: {
15
- type: _lssm_lib_schema100.FieldType<string, string>;
16
- isOptional: false;
17
- };
18
- organizationId: {
19
- type: _lssm_lib_schema100.FieldType<string, string>;
20
- isOptional: false;
21
- };
22
- }>;
23
- declare const SaveOnboardingDraftBaseSpec: ContractSpec<SchemaModel<{
24
- data: {
25
- type: _lssm_lib_schema100.FieldType<unknown, unknown>;
26
- isOptional: false;
27
- };
28
- }>, SchemaModel<{
29
- id: {
30
- type: _lssm_lib_schema100.FieldType<string, string>;
31
- isOptional: false;
32
- };
33
- organizationId: {
34
- type: _lssm_lib_schema100.FieldType<string, string>;
35
- isOptional: false;
36
- };
37
- }>, undefined>;
38
- /** Get current onboarding draft (on mount/restore) */
39
- declare const GetOnboardingDraftOutput: SchemaModel<{
40
- id: {
41
- type: _lssm_lib_schema100.FieldType<string, string>;
42
- isOptional: true;
43
- };
44
- organizationId: {
45
- type: _lssm_lib_schema100.FieldType<string, string>;
46
- isOptional: true;
47
- };
48
- data: {
49
- type: _lssm_lib_schema100.FieldType<unknown, unknown>;
50
- isOptional: true;
51
- };
52
- createdAt: {
53
- type: _lssm_lib_schema100.FieldType<Date, string>;
54
- isOptional: true;
55
- };
56
- updatedAt: {
57
- type: _lssm_lib_schema100.FieldType<Date, string>;
58
- isOptional: true;
59
- };
60
- }>;
61
- declare const GetOnboardingDraftBaseSpec: ContractSpec<_lssm_lib_schema100.AnySchemaModel, SchemaModel<{
62
- id: {
63
- type: _lssm_lib_schema100.FieldType<string, string>;
64
- isOptional: true;
65
- };
66
- organizationId: {
67
- type: _lssm_lib_schema100.FieldType<string, string>;
68
- isOptional: true;
69
- };
70
- data: {
71
- type: _lssm_lib_schema100.FieldType<unknown, unknown>;
72
- isOptional: true;
73
- };
74
- createdAt: {
75
- type: _lssm_lib_schema100.FieldType<Date, string>;
76
- isOptional: true;
77
- };
78
- updatedAt: {
79
- type: _lssm_lib_schema100.FieldType<Date, string>;
80
- isOptional: true;
81
- };
82
- }>, undefined>;
83
- /** Delete onboarding draft (cleanup after completion or cancel) */
84
- declare const DeleteOnboardingDraftOutput: SchemaModel<{
85
- ok: {
86
- type: _lssm_lib_schema100.FieldType<boolean, boolean>;
87
- isOptional: false;
88
- };
89
- }>;
90
- declare const DeleteOnboardingDraftBaseSpec: ContractSpec<_lssm_lib_schema100.AnySchemaModel, SchemaModel<{
91
- ok: {
92
- type: _lssm_lib_schema100.FieldType<boolean, boolean>;
93
- isOptional: false;
94
- };
95
- }>, undefined>;
96
- /** Complete onboarding (final submit, creates entities) */
97
- declare const CompleteOnboardingBaseInput: SchemaModel<{
98
- data: {
99
- type: _lssm_lib_schema100.FieldType<unknown, unknown>;
100
- isOptional: false;
101
- };
102
- }>;
103
- declare const CompleteOnboardingBaseOutput: SchemaModel<{
104
- success: {
105
- type: _lssm_lib_schema100.FieldType<boolean, boolean>;
106
- isOptional: false;
107
- };
108
- userId: {
109
- type: _lssm_lib_schema100.FieldType<string, string>;
110
- isOptional: true;
111
- };
112
- organizationId: {
113
- type: _lssm_lib_schema100.FieldType<string, string>;
114
- isOptional: true;
115
- };
116
- }>;
117
- declare const CompleteOnboardingBaseSpec: ContractSpec<SchemaModel<{
118
- data: {
119
- type: _lssm_lib_schema100.FieldType<unknown, unknown>;
120
- isOptional: false;
121
- };
122
- }>, SchemaModel<{
123
- success: {
124
- type: _lssm_lib_schema100.FieldType<boolean, boolean>;
125
- isOptional: false;
126
- };
127
- userId: {
128
- type: _lssm_lib_schema100.FieldType<string, string>;
129
- isOptional: true;
130
- };
131
- organizationId: {
132
- type: _lssm_lib_schema100.FieldType<string, string>;
133
- isOptional: true;
134
- };
135
- }>, undefined>;
136
- //#endregion
137
- export { CompleteOnboardingBaseInput, CompleteOnboardingBaseOutput, CompleteOnboardingBaseSpec, DeleteOnboardingDraftBaseSpec, DeleteOnboardingDraftOutput, GetOnboardingDraftBaseSpec, GetOnboardingDraftOutput, SaveOnboardingDraftBaseSpec, SaveOnboardingDraftInput, SaveOnboardingDraftOutput };
138
- //# sourceMappingURL=onboarding-base.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"onboarding-base.d.ts","names":[],"sources":["../src/onboarding-base.ts"],"sourcesContent":[],"mappings":";;;;;;cASa,0BAAwB;;UAMnC,mBAAA,CAAA;IANW,UAAA,EAAA,KAAA;EAQA,CAAA;CAOX,CAAA;cAPW,2BAAyB;EAAA,EAAA,EAAA;IAAA,IAAA,EAOpC,mBAAA,CAAA,SAPoC,CAAA,MAAA,EAAA,MAAA,CAAA;IASzB,UAAA,EAAA,KAAA;EAwBX,CAAA;EAxBsC,cAAA,EAAA;IAAA,IAAA,+BAAA,CAAA,MAAA,EAAA,MAAA,CAAA;;;;AAAA,cAA3B,2BAA2B,cAAA,CAAA,WAAA,CAAA;EA2B3B,IAAA,EAAA;IAUX,IAAA,EAbA,mBAAA,CAAA,SAaA,CAAA,OAAA,EAAA,OAAA,CAAA;;;;;UArCsC,mBAAA,CAAA;;EA2BH,CAAA;EAAA,cAAA,EAAA;IAYxB,IAAA,+BAuBX,CAAA,MAAA,EAAA,MAAA,CAAA;IAAA,UAAA,EAAA,KAvBqC;EAAA,CAAA;;;cAZ1B,0BAAwB;;UAUnC,mBAAA,CAAA;;EAEqC,CAAA;EAAA,cAAA,EAAA;IAAA,IAAA,+BAAA,CAAA,MAAA,EAAA,MAAA,CAAA;IA0B1B,UAAA,EAAA,IAAA;EAQA,CAAA;EAuBX,IAAA,EAAA;IAvBwC,IAAA,+BAAA,CAAA,OAAA,EAAA,OAAA,CAAA;IAAA,UAAA,EAAA,IAAA;EAAA,CAAA;EAAA,SAAA,EAAA;IA0B7B,IAAA,+BAMX,KAAA,EAAA,MAAA,CAAA;IAEW,UAAA,EAAA,IAAA;EAQX,CAAA;;;IARuC,UAAA,EAAA,IAAA;EAAA,CAAA;AAUzC,CAAA,CAAA;AAwBE,cAtGW,0BAsGX,EAtGqC,YAsGrC,CA/EA,mBAAA,CAvBqC,cAAA,EAAA,WAsGrC,CAAA;EAxBqC,EAAA,EAAA;IAAA,IAAA,EA9EA,mBAAA,CAAA,SA8EA,CAAA,MAAA,EAAA,MAAA,CAAA;;;;;IAAA,UAAA,EAAA,IAAA;;;;;;;;;;;;;;;;cApD1B,6BAA2B;;UAMtC,mBAAA,CAAA;;;;cAEW,+BAA6B,aAuBxC,mBAAA,CAvBwC,cAAA,EAAA;;UAAA,mBAAA,CAAA;;;;;cA0B7B,6BAA2B;;UAMtC,mBAAA,CAAA;;;;cAEW,8BAA4B;;UAQvC,mBAAA,CAAA;;;;;;;;;;;;cAEW,yCAA0B;;UAwBrC,mBAAA,CAAA;;;;;UAxBqC,mBAAA,CAAA"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"onboarding-base.js","names":["SchemaModel","ScalarTypeEnum"],"sources":["../src/onboarding-base.ts"],"sourcesContent":["/**\n * Shared base contracts for onboarding flows across verticals.\n * These operations are reusable for any app that needs multi-step onboarding with draft persistence.\n */\nimport { defineCommand, defineQuery } from './spec';\nimport { ScalarTypeEnum, SchemaModel } from '@lssm/lib.schema';\nimport { OwnersEnum, StabilityEnum } from './ownership';\n\n/** Save/update onboarding draft (auto-save during flow) */\nexport const SaveOnboardingDraftInput = new SchemaModel({\n name: 'SaveOnboardingDraftInput',\n description: 'Input for saving onboarding draft',\n fields: {\n data: { type: ScalarTypeEnum.JSON(), isOptional: false },\n },\n});\n\nexport const SaveOnboardingDraftOutput = new SchemaModel({\n name: 'SaveOnboardingDraftOutput',\n description: 'Output for saving onboarding draft',\n fields: {\n id: { type: ScalarTypeEnum.ID(), isOptional: false },\n organizationId: { type: ScalarTypeEnum.ID(), isOptional: false },\n },\n});\n\nexport const SaveOnboardingDraftBaseSpec = defineCommand({\n meta: {\n name: 'base.onboarding.saveDraft',\n version: 1,\n stability: StabilityEnum.Beta,\n owners: [OwnersEnum.PlatformSigil],\n tags: ['onboarding', 'draft'],\n description: 'Save or update onboarding draft for active organization',\n goal: 'Persist onboarding progress incrementally for resumption and safety',\n context:\n 'Auto-saves every few seconds during onboarding; enables users to leave and resume',\n },\n io: {\n input: SaveOnboardingDraftInput,\n output: SaveOnboardingDraftOutput,\n },\n policy: {\n auth: 'user',\n escalate: null,\n },\n transport: {\n gql: { field: 'saveOnboardingDraft' },\n rest: { method: 'POST' },\n },\n});\n\n/** Get current onboarding draft (on mount/restore) */\nexport const GetOnboardingDraftOutput = new SchemaModel({\n name: 'GetOnboardingDraftOutput',\n description: 'Onboarding draft payload',\n fields: {\n id: { type: ScalarTypeEnum.ID(), isOptional: true },\n organizationId: { type: ScalarTypeEnum.ID(), isOptional: true },\n data: { type: ScalarTypeEnum.JSON(), isOptional: true },\n createdAt: { type: ScalarTypeEnum.DateTime(), isOptional: true },\n updatedAt: { type: ScalarTypeEnum.DateTime(), isOptional: true },\n },\n});\n\nexport const GetOnboardingDraftBaseSpec = defineQuery({\n meta: {\n name: 'base.onboarding.getDraft',\n version: 1,\n stability: StabilityEnum.Beta,\n owners: [OwnersEnum.PlatformSigil],\n tags: ['onboarding', 'draft'],\n description: 'Get onboarding draft for active organization',\n goal: 'Retrieve saved onboarding progress',\n context: 'Called on mount to restore in-progress onboarding',\n },\n io: {\n input: null,\n output: GetOnboardingDraftOutput,\n },\n policy: {\n auth: 'user',\n escalate: null,\n },\n transport: {\n gql: { field: 'getOnboardingDraft' },\n rest: { method: 'GET' },\n },\n});\n\n/** Delete onboarding draft (cleanup after completion or cancel) */\nexport const DeleteOnboardingDraftOutput = new SchemaModel({\n name: 'DeleteOnboardingDraftOutput',\n description: 'Result of delete operation',\n fields: {\n ok: { type: ScalarTypeEnum.Boolean(), isOptional: false },\n },\n});\n\nexport const DeleteOnboardingDraftBaseSpec = defineCommand({\n meta: {\n name: 'base.onboarding.deleteDraft',\n version: 1,\n stability: StabilityEnum.Beta,\n owners: [OwnersEnum.PlatformSigil],\n tags: ['onboarding', 'draft'],\n description: 'Delete onboarding draft for active organization',\n goal: 'Clear draft after completion or if user wants to restart',\n context: 'Called after successful onboarding or explicit user reset',\n },\n io: {\n input: null,\n output: DeleteOnboardingDraftOutput,\n },\n policy: {\n auth: 'user',\n escalate: null,\n },\n transport: {\n gql: { field: 'deleteOnboardingDraft' },\n rest: { method: 'POST' },\n },\n});\n\n/** Complete onboarding (final submit, creates entities) */\nexport const CompleteOnboardingBaseInput = new SchemaModel({\n name: 'CompleteOnboardingBaseInput',\n description: 'Input for completing onboarding',\n fields: {\n data: { type: ScalarTypeEnum.JSON(), isOptional: false },\n },\n});\n\nexport const CompleteOnboardingBaseOutput = new SchemaModel({\n name: 'CompleteOnboardingBaseOutput',\n description: 'Result of onboarding completion',\n fields: {\n success: { type: ScalarTypeEnum.Boolean(), isOptional: false },\n userId: { type: ScalarTypeEnum.ID(), isOptional: true },\n organizationId: { type: ScalarTypeEnum.ID(), isOptional: true },\n },\n});\n\nexport const CompleteOnboardingBaseSpec = defineCommand({\n meta: {\n name: 'base.onboarding.complete',\n version: 1,\n stability: StabilityEnum.Beta,\n owners: [OwnersEnum.PlatformSigil],\n tags: ['onboarding'],\n description: 'Complete onboarding and finalize user/organization setup',\n goal: 'Transition from draft to active profile',\n context:\n 'Validates all required fields, creates/updates entities, marks onboarding complete',\n },\n io: {\n input: CompleteOnboardingBaseInput,\n output: CompleteOnboardingBaseOutput,\n },\n policy: {\n auth: 'user',\n escalate: null,\n },\n transport: {\n gql: { field: 'completeOnboarding' },\n rest: { method: 'POST' },\n },\n});\n"],"mappings":"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"}
@@ -1,76 +0,0 @@
1
- //#region src/ownership.d.ts
2
- declare const StabilityEnum: {
3
- readonly Idea: "idea";
4
- readonly InCreation: "in_creation";
5
- readonly Experimental: "experimental";
6
- readonly Beta: "beta";
7
- readonly Stable: "stable";
8
- readonly Deprecated: "deprecated";
9
- };
10
- type Stability = (typeof StabilityEnum)[keyof typeof StabilityEnum];
11
- declare const OwnersEnum: {
12
- readonly ProductColiving: "product.coliving";
13
- readonly ProductStrit: "product.strit";
14
- readonly ProductArtisanos: "product.artisanos";
15
- readonly PlatformSigil: "platform.sigil";
16
- readonly PlatformMarketplace: "platform.marketplace";
17
- readonly PlatformContent: "platform.content";
18
- readonly PlatformFeatureFlags: "platform.featureflags";
19
- };
20
- type Owner = (typeof OwnersEnum)[keyof typeof OwnersEnum] | (string & {});
21
- declare const Owners: {
22
- readonly ProductColiving: "product.coliving";
23
- readonly ProductStrit: "product.strit";
24
- readonly ProductArtisanos: "product.artisanos";
25
- readonly PlatformSigil: "platform.sigil";
26
- readonly PlatformMarketplace: "platform.marketplace";
27
- readonly PlatformContent: "platform.content";
28
- readonly PlatformFeatureFlags: "platform.featureflags";
29
- };
30
- declare const TagsEnum: {
31
- readonly Spots: "spots";
32
- readonly Collectivity: "collectivity";
33
- readonly Marketplace: "marketplace";
34
- readonly Sellers: "sellers";
35
- readonly Auth: "auth";
36
- readonly Login: "login";
37
- readonly Signup: "signup";
38
- readonly Guide: "guide";
39
- readonly Docs: "docs";
40
- readonly I18n: "i18n";
41
- readonly AtomicPages: "atomic:pages";
42
- readonly Incident: "incident";
43
- readonly Hygiene: "hygiene";
44
- readonly WeeklyPulse: "weekly_pulse";
45
- readonly WebAuth: "webauth";
46
- };
47
- type Tag = (typeof TagsEnum)[keyof typeof TagsEnum] | (string & {});
48
- declare const Tags: {
49
- readonly Spots: "spots";
50
- readonly Collectivity: "collectivity";
51
- readonly Marketplace: "marketplace";
52
- readonly Sellers: "sellers";
53
- readonly Auth: "auth";
54
- readonly Login: "login";
55
- readonly Signup: "signup";
56
- readonly Guide: "guide";
57
- readonly Docs: "docs";
58
- readonly I18n: "i18n";
59
- readonly AtomicPages: "atomic:pages";
60
- readonly Incident: "incident";
61
- readonly Hygiene: "hygiene";
62
- readonly WeeklyPulse: "weekly_pulse";
63
- readonly WebAuth: "webauth";
64
- };
65
- interface OwnerShipMeta {
66
- version?: number;
67
- title: string;
68
- description: string;
69
- domain: string;
70
- owners: Owner[];
71
- tags: Tag[];
72
- stability: Stability;
73
- }
74
- //#endregion
75
- export { Owner, OwnerShipMeta, Owners, OwnersEnum, Stability, StabilityEnum, Tag, Tags, TagsEnum };
76
- //# sourceMappingURL=ownership.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"ownership.d.ts","names":[],"sources":["../src/ownership.ts"],"sourcesContent":[],"mappings":";cAEa;EAAA,SAAA,IAAA,EAAA,MAOH;EACE,SAAA,UAAS,EAAA,aAAW;EAGnB,SAAA,YAQH,EAAA,cAAA;EACE,SAAK,IAAA,EAAA,MACL;EAGC,SAAmB,MAAA,EAAA,QAAA;EAGnB,SAAA,UAgBH,EAAA,YAAA;AACV,CAAA;AAEa,KAtCD,SAAA,GAsCgB,CAAA,OAtCI,aAsCJ,CAAA,CAAA,MAAA,OAtCgC,aAsChC,CAAA;AAEX,cArCJ,UAqCiB,EAAA;EAKpB,SAAA,eAAA,EAAA,kBAAA;EACF,SAAA,YAAA,EAAA,eAAA;EACK,SAAA,gBAAA,EAAA,mBAAA;EAAS,SAAA,aAAA,EAAA,gBAAA;;;;;KAnCV,KAAA,WACA,yBAAyB;cAGxB;;;;;;;;;cAGA;;;;;;;;;;;;;;;;;KAiBD,GAAA,WAAc,uBAAuB;cAEpC;;;;;;;;;;;;;;;;;UAEI,aAAA;;;;;UAKP;QACF;aACK"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"ownership.js","names":[],"sources":["../src/ownership.ts"],"sourcesContent":["// Canonical ownership/stability/tags enums and shared meta\n\nexport const StabilityEnum = {\n Idea: 'idea',\n InCreation: 'in_creation',\n Experimental: 'experimental',\n Beta: 'beta',\n Stable: 'stable',\n Deprecated: 'deprecated',\n} as const;\nexport type Stability = (typeof StabilityEnum)[keyof typeof StabilityEnum];\n\n// Provide curated owner identifiers (business/product oriented), allow extension by string\nexport const OwnersEnum = {\n ProductColiving: 'product.coliving',\n ProductStrit: 'product.strit',\n ProductArtisanos: 'product.artisanos',\n PlatformSigil: 'platform.sigil',\n PlatformMarketplace: 'platform.marketplace',\n PlatformContent: 'platform.content',\n PlatformFeatureFlags: 'platform.featureflags',\n} as const;\nexport type Owner =\n | (typeof OwnersEnum)[keyof typeof OwnersEnum]\n | (string & {});\n// Back-compat alias\nexport const Owners = OwnersEnum;\n\n// Provide common tags, allow extension by string\nexport const TagsEnum = {\n Spots: 'spots',\n Collectivity: 'collectivity',\n Marketplace: 'marketplace',\n Sellers: 'sellers',\n Auth: 'auth',\n Login: 'login',\n Signup: 'signup',\n Guide: 'guide',\n Docs: 'docs',\n I18n: 'i18n',\n AtomicPages: 'atomic:pages',\n Incident: 'incident',\n Hygiene: 'hygiene',\n WeeklyPulse: 'weekly_pulse',\n WebAuth: 'webauth',\n} as const;\nexport type Tag = (typeof TagsEnum)[keyof typeof TagsEnum] | (string & {});\n// Back-compat alias\nexport const Tags = TagsEnum;\n\nexport interface OwnerShipMeta {\n version?: number;\n title: string;\n description: string;\n domain: string;\n owners: Owner[];\n tags: Tag[];\n stability: Stability;\n}\n"],"mappings":"AAEA,MAAa,EAAgB,CAC3B,KAAM,OACN,WAAY,cACZ,aAAc,eACd,KAAM,OACN,OAAQ,SACR,WAAY,aACb,CAIY,EAAa,CACxB,gBAAiB,mBACjB,aAAc,gBACd,iBAAkB,oBAClB,cAAe,iBACf,oBAAqB,uBACrB,gBAAiB,mBACjB,qBAAsB,wBACvB,CAKY,EAAS,EAGT,EAAW,CACtB,MAAO,QACP,aAAc,eACd,YAAa,cACb,QAAS,UACT,KAAM,OACN,MAAO,QACP,OAAQ,SACR,MAAO,QACP,KAAM,OACN,KAAM,OACN,YAAa,eACb,SAAU,WACV,QAAS,UACT,YAAa,eACb,QAAS,UACV,CAGY,EAAO"}
@@ -1,40 +0,0 @@
1
- import { PolicyRef, PolicyRegistry } from "./spec.js";
2
- import { PolicyDecision } from "../types.js";
3
-
4
- //#region src/policy/engine.d.ts
5
- interface SubjectRelationship {
6
- relation: string;
7
- object: string;
8
- objectType?: string;
9
- }
10
- interface SubjectContext {
11
- roles?: string[];
12
- attributes?: Record<string, unknown>;
13
- relationships?: SubjectRelationship[];
14
- }
15
- interface ResourceContext {
16
- type: string;
17
- id?: string;
18
- fields?: string[];
19
- attributes?: Record<string, unknown>;
20
- }
21
- interface DecisionContext {
22
- subject: SubjectContext;
23
- resource: ResourceContext;
24
- context?: Record<string, unknown>;
25
- action: string;
26
- policies: PolicyRef[];
27
- consents?: string[];
28
- flags?: string[];
29
- }
30
- declare class PolicyEngine {
31
- private readonly registry;
32
- constructor(registry: PolicyRegistry);
33
- decide(input: DecisionContext): PolicyDecision;
34
- private resolvePolicies;
35
- private matchRuleSet;
36
- private evaluateFields;
37
- }
38
- //#endregion
39
- export { DecisionContext, PolicyEngine, ResourceContext, SubjectContext, SubjectRelationship };
40
- //# sourceMappingURL=engine.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"engine.d.ts","names":[],"sources":["../../src/policy/engine.ts"],"sourcesContent":[],"mappings":";;;;UAaiB,mBAAA;;EAAA,MAAA,EAAA,MAAA;EAMA,UAAA,CAAA,EAAA,MAAc;AAM/B;AAOiB,UAbA,cAAA,CAae;EACrB,KAAA,CAAA,EAAA,MAAA,EAAA;EACC,UAAA,CAAA,EAbG,MAaH,CAAA,MAAA,EAAA,OAAA,CAAA;EACA,aAAA,CAAA,EAbM,mBAaN,EAAA;;AAES,UAZJ,eAAA,CAYI;EAWR,IAAA,EAAA,MAAA;EAC4B,EAAA,CAAA,EAAA,MAAA;EAEzB,MAAA,CAAA,EAAA,MAAA,EAAA;EAAkB,UAAA,CAAA,EAtBnB,MAsBmB,CAAA,MAAA,EAAA,OAAA,CAAA;;UAnBjB,eAAA;WACN;YACC;YACA;;YAEA;;;;cAWC,YAAA;;wBAC4B;gBAEzB,kBAAkB"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"engine.js","names":["registry: PolicyRegistry","allowReason: string | undefined","appliedRateLimit: PolicyDecision['rateLimit']","escalate: 'human_review' | null | undefined","specs: PolicySpec[]","allowMatch: RuleEvaluation | undefined","evaluation: RuleEvaluation","definition: RateLimitDefinition | undefined"],"sources":["../../src/policy/engine.ts"],"sourcesContent":["import {\n PolicyRegistry,\n type PolicyRef,\n type PolicySpec,\n type PolicyRule,\n type FieldPolicyRule,\n type PolicyCondition,\n type ConsentDefinition,\n type RateLimitDefinition,\n type RelationshipMatcher,\n} from './spec';\nimport type { PolicyDecision, FieldLevelDecision } from '../types';\n\nexport interface SubjectRelationship {\n relation: string;\n object: string;\n objectType?: string;\n}\n\nexport interface SubjectContext {\n roles?: string[];\n attributes?: Record<string, unknown>;\n relationships?: SubjectRelationship[];\n}\n\nexport interface ResourceContext {\n type: string;\n id?: string;\n fields?: string[];\n attributes?: Record<string, unknown>;\n}\n\nexport interface DecisionContext {\n subject: SubjectContext;\n resource: ResourceContext;\n context?: Record<string, unknown>;\n action: string;\n policies: PolicyRef[];\n consents?: string[];\n flags?: string[];\n}\n\ninterface RuleEvaluation {\n rule: PolicyRule;\n missingConsents: ConsentDefinition[];\n rateLimit?: PolicyDecision['rateLimit'];\n}\n\nexport class PolicyEngine {\n constructor(private readonly registry: PolicyRegistry) {}\n\n decide(input: DecisionContext): PolicyDecision {\n const policies = this.resolvePolicies(input.policies);\n let allowReason: string | undefined;\n let appliedRateLimit: PolicyDecision['rateLimit'];\n let escalate: 'human_review' | null | undefined;\n\n for (const policy of policies) {\n const match = this.matchRuleSet(policy, input);\n if (!match) continue;\n if (match.rule.effect === 'deny') {\n return {\n effect: 'deny',\n reason: match.rule.reason ?? policy.meta.name,\n requiredConsents: match.missingConsents.length\n ? match.missingConsents\n : undefined,\n evaluatedBy: 'engine',\n };\n }\n if (match.rule.effect === 'allow') {\n if (match.missingConsents.length) {\n return {\n effect: 'deny',\n reason: 'consent_required',\n requiredConsents: match.missingConsents,\n evaluatedBy: 'engine',\n };\n }\n if (!allowReason) {\n allowReason = match.rule.reason ?? policy.meta.name;\n }\n if (!appliedRateLimit && match.rateLimit) {\n appliedRateLimit = match.rateLimit;\n }\n if (!escalate && match.rule.escalate) {\n escalate = match.rule.escalate;\n }\n }\n }\n\n const fieldDecisions = this.evaluateFields(policies, input);\n const pii = policies.find((p) => p.pii)?.pii;\n const escalateValue =\n typeof escalate === 'undefined' ? undefined : escalate;\n\n return {\n effect: allowReason ? 'allow' : 'deny',\n reason: allowReason,\n rateLimit: appliedRateLimit,\n escalate: escalateValue,\n fieldDecisions: fieldDecisions.length ? fieldDecisions : undefined,\n pii,\n evaluatedBy: 'engine',\n };\n }\n\n private resolvePolicies(refs: PolicyRef[]): PolicySpec[] {\n const specs: PolicySpec[] = [];\n for (const ref of refs) {\n const spec = this.registry.get(ref.name, ref.version);\n if (!spec)\n throw new Error(\n `PolicyEngine: policy not found ${ref.name}.v${ref.version}`\n );\n specs.push(spec);\n }\n return specs;\n }\n\n private matchRuleSet(\n policy: PolicySpec,\n input: DecisionContext\n ): RuleEvaluation | undefined {\n let allowMatch: RuleEvaluation | undefined;\n for (const rule of policy.rules) {\n if (!rule.actions.includes(input.action)) continue;\n if (!matchesSubject(rule, input.subject)) continue;\n if (!matchesResource(rule, input.resource)) continue;\n if (!matchesFlags(rule, input)) continue;\n if (!matchesRelationships(rule.relationships, input)) continue;\n if (!matchesConditions(rule, input)) continue;\n const missingConsents = collectMissingConsents(rule, policy, input);\n const rateLimit = resolveRateLimit(rule, policy, input);\n const evaluation: RuleEvaluation = {\n rule,\n missingConsents,\n rateLimit,\n };\n if (rule.effect === 'deny') return evaluation;\n if (rule.effect === 'allow' && !allowMatch) allowMatch = evaluation;\n }\n return allowMatch;\n }\n\n private evaluateFields(\n policies: PolicySpec[],\n input: DecisionContext\n ): FieldLevelDecision[] {\n const out = new Map<string, FieldLevelDecision>();\n for (const policy of policies) {\n if (!policy.fieldPolicies) continue;\n for (const rule of policy.fieldPolicies) {\n if (!rule.actions.includes(mapActionToFieldAction(input.action)))\n continue;\n if (!matchesSubject(rule, input.subject)) continue;\n if (!matchesResource(rule, input.resource)) continue;\n if (!matchesConditions(rule, input)) continue;\n const existing = out.get(rule.field);\n if (rule.effect === 'deny') {\n out.set(rule.field, {\n field: rule.field,\n effect: 'deny',\n reason: rule.reason ?? policy.meta.name,\n });\n } else if (!existing) {\n out.set(rule.field, {\n field: rule.field,\n effect: 'allow',\n reason: rule.reason ?? policy.meta.name,\n });\n }\n }\n }\n return [...out.values()];\n }\n}\n\nfunction mapActionToFieldAction(action: string): 'read' | 'write' {\n if (action.startsWith('write')) return 'write';\n return 'read';\n}\n\nfunction matchesSubject(\n rule: { subject?: PolicyRule['subject'] | FieldPolicyRule['subject'] },\n subject: SubjectContext\n): boolean {\n const matcher = rule.subject;\n if (!matcher) return true;\n if (matcher.roles?.length) {\n const roles = subject.roles ?? [];\n const hasRole = matcher.roles.some((role) => roles.includes(role));\n if (!hasRole) return false;\n }\n if (matcher.attributes) {\n const attributes = subject.attributes ?? {};\n if (!matchAttributes(matcher.attributes, attributes)) return false;\n }\n return true;\n}\n\nfunction matchesResource(\n rule: { resource?: PolicyRule['resource'] | FieldPolicyRule['resource'] },\n resource: ResourceContext\n): boolean {\n const matcher = rule.resource;\n if (!matcher) return true;\n if (matcher.type && matcher.type !== resource.type) return false;\n if (matcher.fields?.length) {\n const targetFields = resource.fields ?? [];\n if (!matcher.fields.some((field) => targetFields.includes(field)))\n return false;\n }\n if (matcher.attributes) {\n const attributes = resource.attributes ?? {};\n if (!matchAttributes(matcher.attributes, attributes)) return false;\n }\n return true;\n}\n\nfunction matchesFlags(rule: PolicyRule, input: DecisionContext): boolean {\n if (!rule.flags?.length) return true;\n const available = new Set<string>();\n if (input.flags) {\n for (const flag of input.flags) available.add(flag);\n }\n const attributeFlags = input.subject.attributes?.featureFlags;\n if (Array.isArray(attributeFlags)) {\n for (const flag of attributeFlags) available.add(flag);\n }\n return rule.flags.every((flag) => available.has(flag));\n}\n\nfunction matchesRelationships(\n matchers: RelationshipMatcher[] | undefined,\n input: DecisionContext\n): boolean {\n if (!matchers || matchers.length === 0) return true;\n const relationships = input.subject.relationships ?? [];\n const resourceId = getResourceId(input.resource);\n const resourceType = input.resource.type;\n\n return matchers.every((matcher) =>\n relationships.some((relation) => {\n if (relation.relation !== matcher.relation) return false;\n\n const typeMatches =\n !matcher.objectType ||\n relation.objectType === matcher.objectType ||\n matcher.objectType === resourceType;\n\n if (!typeMatches) return false;\n\n if (!matcher.objectId) return true;\n\n if (matcher.objectId === '$resource') {\n if (resourceId) {\n return relation.object === resourceId;\n }\n return (\n relation.object === resourceType ||\n relation.objectType === resourceType\n );\n }\n\n return relation.object === matcher.objectId;\n })\n );\n}\n\nfunction matchesConditions(\n rule: { conditions?: PolicyCondition[] },\n input: DecisionContext\n): boolean {\n if (!rule.conditions || rule.conditions.length === 0) return true;\n return rule.conditions.every((condition) =>\n evaluateCondition(condition.expression, input)\n );\n}\n\nfunction matchAttributes(\n matcher: Record<string, import('./spec').AttributeMatcher>,\n actual: Record<string, unknown>\n): boolean {\n for (const [key, attrMatcher] of Object.entries(matcher)) {\n const value = actual[key];\n if (attrMatcher.exists && typeof value === 'undefined') return false;\n if (typeof attrMatcher.equals !== 'undefined') {\n if (value !== attrMatcher.equals) return false;\n }\n if (attrMatcher.oneOf && !attrMatcher.oneOf.includes(value)) return false;\n }\n return true;\n}\n\nfunction collectMissingConsents(\n rule: PolicyRule,\n policy: PolicySpec,\n input: DecisionContext\n): ConsentDefinition[] {\n if (!rule.requiresConsent?.length) return [];\n const granted = new Set(input.consents ?? []);\n const missingIds = rule.requiresConsent.filter((id) => !granted.has(id));\n if (missingIds.length === 0) return [];\n return resolveConsentDefinitions(policy, missingIds);\n}\n\nfunction resolveConsentDefinitions(\n policy: PolicySpec,\n ids: string[]\n): ConsentDefinition[] {\n const catalog = policy.consents ?? [];\n return ids.map((id) => {\n const found = catalog.find((consent) => consent.id === id);\n return (\n found ?? {\n id,\n scope: 'unspecified',\n purpose: 'unspecified',\n description: `Consent \"${id}\" required by ${policy.meta.name}`,\n required: true,\n }\n );\n });\n}\n\nfunction resolveRateLimit(\n rule: PolicyRule,\n policy: PolicySpec,\n input: DecisionContext\n): PolicyDecision['rateLimit'] | undefined {\n if (!rule.rateLimit) return undefined;\n const definition: RateLimitDefinition | undefined =\n typeof rule.rateLimit === 'string'\n ? (policy.rateLimits ?? []).find((item) => item.id === rule.rateLimit)\n : rule.rateLimit;\n\n if (!definition) {\n throw new Error(\n `PolicyEngine: rate limit \"${String(\n rule.rateLimit\n )}\" not declared in ${policy.meta.name}`\n );\n }\n\n return {\n rpm: definition.rpm,\n key: definition.key ?? input.resource.type,\n windowSeconds: definition.windowSeconds,\n burst: definition.burst,\n };\n}\n\nfunction evaluateCondition(\n expression: string,\n input: DecisionContext\n): boolean {\n const trimmed = expression.trim();\n if (!trimmed) return true;\n\n const context = {\n subject: input.subject,\n resource: input.resource,\n context: input.context ?? {},\n };\n\n try {\n // very small whitelist of expressions\n // Supports subject/resource/context dot paths, comparisons, and logical operators.\n const fn = new Function(\n 'subject',\n 'resource',\n 'context',\n `return (${transformExpression(trimmed)});`\n );\n const result = fn(context.subject, context.resource, context.context);\n return Boolean(result);\n } catch (_error) {\n return false;\n }\n}\n\nfunction transformExpression(expression: string): string {\n return expression.replace(/&&/g, '&&').replace(/\\|\\|/g, '||');\n}\n\nfunction getResourceId(resource: ResourceContext): string | undefined {\n if (resource.id) return resource.id;\n const candidate = resource.attributes?.id;\n if (typeof candidate === 'string') return candidate;\n if (typeof candidate === 'number') return String(candidate);\n return undefined;\n}\n"],"mappings":"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"}
@@ -1,46 +0,0 @@
1
- import { ConsentDefinition, FieldPolicyRule, PIIPolicy, PolicyMeta, PolicyRule, PolicySpec, RateLimitDefinition, RelationshipDefinition } from "./spec.js";
2
- import { PolicyDecision } from "../types.js";
3
- import { DecisionContext } from "./engine.js";
4
-
5
- //#region src/policy/opa-adapter.d.ts
6
- interface OPAClient {
7
- evaluate<T>(decisionPath: string, input: unknown): Promise<T>;
8
- }
9
- interface OPAEvaluationResult {
10
- effect?: 'allow' | 'deny';
11
- reason?: string;
12
- fieldDecisions?: PolicyDecision['fieldDecisions'];
13
- requiredConsents?: string[];
14
- }
15
- interface OPAAdapterOptions<Result = OPAEvaluationResult | null> {
16
- /**
17
- * Path fed to the OPA client (e.g., "sigil/authz/allow").
18
- */
19
- decisionPath: string;
20
- /**
21
- * Optional mapper when the OPA client returns a non-standard payload.
22
- */
23
- mapResult?: (value: unknown) => Result;
24
- }
25
- declare class OPAPolicyAdapter<Result = OPAEvaluationResult | null> {
26
- private readonly client;
27
- private readonly options;
28
- constructor(client: OPAClient, options: OPAAdapterOptions<Result>);
29
- evaluate(context: DecisionContext, policies: PolicySpec[], engineDecision: PolicyDecision): Promise<PolicyDecision>;
30
- }
31
- declare function buildOPAInput(context: DecisionContext, policies: PolicySpec[], engineDecision: PolicyDecision): {
32
- context: DecisionContext;
33
- decision: PolicyDecision;
34
- policies: {
35
- meta: PolicyMeta;
36
- rules: PolicyRule[];
37
- fieldPolicies: FieldPolicyRule[] | undefined;
38
- pii: PIIPolicy | undefined;
39
- relationships: RelationshipDefinition[] | undefined;
40
- consents: ConsentDefinition[] | undefined;
41
- rateLimits: RateLimitDefinition[] | undefined;
42
- }[];
43
- };
44
- //#endregion
45
- export { OPAAdapterOptions, OPAClient, OPAEvaluationResult, OPAPolicyAdapter, buildOPAInput };
46
- //# sourceMappingURL=opa-adapter.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"opa-adapter.d.ts","names":[],"sources":["../../src/policy/opa-adapter.ts"],"sourcesContent":[],"mappings":";;;;;UAIiB,SAAA;qDACoC,QAAQ;AAD7D;AAIiB,UAAA,mBAAA,CAAmB;EAOnB,MAAA,CAAA,EAAA,OAAA,GAAA,MAAiB;EAWrB,MAAA,CAAA,EAAA,MAAA;EAA0B,cAAA,CAAA,EAfpB,cAeoB,CAAA,gBAAA,CAAA;EAEV,gBAAA,CAAA,EAAA,MAAA,EAAA;;AACC,UAdb,iBAca,CAAA,SAdc,mBAcd,GAAA,IAAA,CAAA,CAAA;EAIjB;;;EAGA,YAAA,EAAA,MAAA;EAAR;;AAqCL;EACW,SAAA,CAAA,EAAA,CAAA,KAAA,EAAA,OAAA,EAAA,GAnDuB,MAmDvB;;AAEO,cAlDL,gBAkDK,CAAA,SAlDqB,mBAkDrB,GAAA,IAAA,CAAA,CAAA;;;sBAhDW,oBACC,kBAAkB;oBAInC,2BACC,8BACM,iBACf,QAAQ;;iBAqCG,aAAA,UACL,2BACC,8BACM"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"opa-adapter.js","names":["client: OPAClient","options: OPAAdapterOptions<Result>"],"sources":["../../src/policy/opa-adapter.ts"],"sourcesContent":["import type { PolicyDecision } from '../types';\nimport type { PolicySpec, ConsentDefinition } from './spec';\nimport type { DecisionContext } from './engine';\n\nexport interface OPAClient {\n evaluate<T>(decisionPath: string, input: unknown): Promise<T>;\n}\n\nexport interface OPAEvaluationResult {\n effect?: 'allow' | 'deny';\n reason?: string;\n fieldDecisions?: PolicyDecision['fieldDecisions'];\n requiredConsents?: string[];\n}\n\nexport interface OPAAdapterOptions<Result = OPAEvaluationResult | null> {\n /**\n * Path fed to the OPA client (e.g., \"sigil/authz/allow\").\n */\n decisionPath: string;\n /**\n * Optional mapper when the OPA client returns a non-standard payload.\n */\n mapResult?: (value: unknown) => Result;\n}\n\nexport class OPAPolicyAdapter<Result = OPAEvaluationResult | null> {\n constructor(\n private readonly client: OPAClient,\n private readonly options: OPAAdapterOptions<Result>\n ) {}\n\n async evaluate(\n context: DecisionContext,\n policies: PolicySpec[],\n engineDecision: PolicyDecision\n ): Promise<PolicyDecision> {\n const input = buildOPAInput(context, policies, engineDecision);\n const raw = await this.client.evaluate<unknown>(\n this.options.decisionPath,\n input\n );\n const resolved = this.options.mapResult\n ? this.options.mapResult(raw)\n : (raw as OPAEvaluationResult | null);\n\n if (!resolved) {\n return {\n ...engineDecision,\n evaluatedBy: engineDecision.evaluatedBy ?? 'engine',\n };\n }\n\n const opaResult = resolved as OPAEvaluationResult;\n const mergedRequiredConsents = mergeRequiredConsents(\n policies,\n engineDecision.requiredConsents ?? [],\n opaResult.requiredConsents ?? []\n );\n\n return {\n ...engineDecision,\n effect: opaResult.effect ?? engineDecision.effect,\n reason: opaResult.reason ?? engineDecision.reason,\n fieldDecisions: opaResult.fieldDecisions ?? engineDecision.fieldDecisions,\n requiredConsents: mergedRequiredConsents.length\n ? mergedRequiredConsents\n : undefined,\n evaluatedBy: 'opa',\n };\n }\n}\n\nexport function buildOPAInput(\n context: DecisionContext,\n policies: PolicySpec[],\n engineDecision: PolicyDecision\n) {\n return {\n context,\n decision: engineDecision,\n policies: policies.map((policy) => ({\n meta: policy.meta,\n rules: policy.rules,\n fieldPolicies: policy.fieldPolicies,\n pii: policy.pii,\n relationships: policy.relationships,\n consents: policy.consents,\n rateLimits: policy.rateLimits,\n })),\n };\n}\n\nfunction mergeRequiredConsents(\n policies: PolicySpec[],\n existing: ConsentDefinition[],\n incomingIds: string[]\n): ConsentDefinition[] {\n if (incomingIds.length === 0) return existing;\n const existingIds = new Set(existing.map((consent) => consent.id));\n const merged = [...existing];\n\n for (const id of incomingIds) {\n if (existingIds.has(id)) continue;\n const resolved = resolveConsentAcrossPolicies(policies, id);\n if (resolved) {\n merged.push(resolved);\n existingIds.add(resolved.id);\n }\n }\n\n return merged;\n}\n\nfunction resolveConsentAcrossPolicies(\n policies: PolicySpec[],\n id: string\n): ConsentDefinition | null {\n for (const policy of policies) {\n const match = policy.consents?.find((consent) => consent.id === id);\n if (match) return match;\n }\n\n return {\n id,\n scope: 'unspecified',\n purpose: 'unspecified',\n description: `Consent \"${id}\" returned by OPA`,\n required: true,\n };\n}\n"],"mappings":"AA0BA,IAAa,EAAb,KAAmE,CACjE,YACE,EACA,EACA,CAFiB,KAAA,OAAA,EACA,KAAA,QAAA,EAGnB,MAAM,SACJ,EACA,EACA,EACyB,CACzB,IAAM,EAAQ,EAAc,EAAS,EAAU,EAAe,CACxD,EAAM,MAAM,KAAK,OAAO,SAC5B,KAAK,QAAQ,aACb,EACD,CACK,EAAW,KAAK,QAAQ,UAC1B,KAAK,QAAQ,UAAU,EAAI,CAC1B,EAEL,GAAI,CAAC,EACH,MAAO,CACL,GAAG,EACH,YAAa,EAAe,aAAe,SAC5C,CAGH,IAAM,EAAY,EACZ,EAAyB,EAC7B,EACA,EAAe,kBAAoB,EAAE,CACrC,EAAU,kBAAoB,EAAE,CACjC,CAED,MAAO,CACL,GAAG,EACH,OAAQ,EAAU,QAAU,EAAe,OAC3C,OAAQ,EAAU,QAAU,EAAe,OAC3C,eAAgB,EAAU,gBAAkB,EAAe,eAC3D,iBAAkB,EAAuB,OACrC,EACA,IAAA,GACJ,YAAa,MACd,GAIL,SAAgB,EACd,EACA,EACA,EACA,CACA,MAAO,CACL,UACA,SAAU,EACV,SAAU,EAAS,IAAK,IAAY,CAClC,KAAM,EAAO,KACb,MAAO,EAAO,MACd,cAAe,EAAO,cACtB,IAAK,EAAO,IACZ,cAAe,EAAO,cACtB,SAAU,EAAO,SACjB,WAAY,EAAO,WACpB,EAAE,CACJ,CAGH,SAAS,EACP,EACA,EACA,EACqB,CACrB,GAAI,EAAY,SAAW,EAAG,OAAO,EACrC,IAAM,EAAc,IAAI,IAAI,EAAS,IAAK,GAAY,EAAQ,GAAG,CAAC,CAC5D,EAAS,CAAC,GAAG,EAAS,CAE5B,IAAK,IAAM,KAAM,EAAa,CAC5B,GAAI,EAAY,IAAI,EAAG,CAAE,SACzB,IAAM,EAAW,EAA6B,EAAU,EAAG,CACvD,IACF,EAAO,KAAK,EAAS,CACrB,EAAY,IAAI,EAAS,GAAG,EAIhC,OAAO,EAGT,SAAS,EACP,EACA,EAC0B,CAC1B,IAAK,IAAM,KAAU,EAAU,CAC7B,IAAM,EAAQ,EAAO,UAAU,KAAM,GAAY,EAAQ,KAAO,EAAG,CACnE,GAAI,EAAO,OAAO,EAGpB,MAAO,CACL,KACA,MAAO,cACP,QAAS,cACT,YAAa,YAAY,EAAG,mBAC5B,SAAU,GACX"}
@@ -1,115 +0,0 @@
1
- import { OwnerShipMeta } from "../ownership.js";
2
-
3
- //#region src/policy/spec.d.ts
4
- type PolicyEffect = 'allow' | 'deny';
5
- interface RelationshipDefinition {
6
- subjectType: string;
7
- relation: string;
8
- objectType: string;
9
- description?: string;
10
- transitive?: boolean;
11
- }
12
- interface RelationshipMatcher {
13
- relation: string;
14
- objectType?: string;
15
- objectId?: string;
16
- }
17
- interface ConsentDefinition {
18
- id: string;
19
- scope: string;
20
- purpose: string;
21
- description?: string;
22
- lawfulBasis?: 'consent' | 'contract' | 'legal_obligation' | 'legitimate_interest';
23
- expiresInDays?: number;
24
- required?: boolean;
25
- }
26
- interface RateLimitDefinition {
27
- id: string;
28
- rpm: number;
29
- key?: string;
30
- windowSeconds?: number;
31
- burst?: number;
32
- }
33
- interface PolicyOPAConfig {
34
- /** Fully-qualified package, e.g. "sigil.authz" */
35
- package: string;
36
- /** Optional rule within package (defaults to "allow") */
37
- decision?: string;
38
- }
39
- interface PolicyMeta extends OwnerShipMeta {
40
- /** Fully-qualified policy name (e.g., "sigil.core.default"). */
41
- name: string;
42
- /** Version of the policy; bump on breaking changes. */
43
- version: number;
44
- /** Optional scope hint used for discovery. */
45
- scope?: 'global' | 'feature' | 'operation';
46
- }
47
- interface AttributeMatcher {
48
- equals?: unknown;
49
- oneOf?: unknown[];
50
- exists?: boolean;
51
- }
52
- interface SubjectMatcher {
53
- roles?: string[];
54
- attributes?: Record<string, AttributeMatcher>;
55
- }
56
- interface ResourceMatcher {
57
- type: string;
58
- fields?: string[];
59
- attributes?: Record<string, AttributeMatcher>;
60
- }
61
- interface PolicyCondition {
62
- /** Simple expression evaluated against { subject, resource, context }. */
63
- expression: string;
64
- }
65
- interface PolicyRule {
66
- effect: PolicyEffect;
67
- actions: string[];
68
- subject?: SubjectMatcher;
69
- resource?: ResourceMatcher;
70
- relationships?: RelationshipMatcher[];
71
- requiresConsent?: string[];
72
- flags?: string[];
73
- rateLimit?: string | RateLimitDefinition;
74
- escalate?: 'human_review' | null;
75
- conditions?: PolicyCondition[];
76
- reason?: string;
77
- }
78
- interface FieldPolicyRule {
79
- effect: PolicyEffect;
80
- field: string;
81
- actions: ('read' | 'write')[];
82
- subject?: SubjectMatcher;
83
- resource?: ResourceMatcher;
84
- conditions?: PolicyCondition[];
85
- reason?: string;
86
- }
87
- interface PIIPolicy {
88
- fields: string[];
89
- consentRequired?: boolean;
90
- retentionDays?: number;
91
- }
92
- interface PolicySpec {
93
- meta: PolicyMeta;
94
- rules: PolicyRule[];
95
- fieldPolicies?: FieldPolicyRule[];
96
- pii?: PIIPolicy;
97
- relationships?: RelationshipDefinition[];
98
- consents?: ConsentDefinition[];
99
- rateLimits?: RateLimitDefinition[];
100
- opa?: PolicyOPAConfig;
101
- }
102
- interface PolicyRef {
103
- name: string;
104
- version: number;
105
- }
106
- declare class PolicyRegistry {
107
- private readonly items;
108
- register(spec: PolicySpec): this;
109
- list(): PolicySpec[];
110
- get(name: string, version?: number): PolicySpec | undefined;
111
- }
112
- declare function makePolicyKey(ref: PolicyRef): string;
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
@@ -1 +0,0 @@
1
- {"version":3,"file":"spec.d.ts","names":[],"sources":["../../src/policy/spec.ts"],"sourcesContent":[],"mappings":";;;KAEY,YAAA;UAEK,sBAAA;EAFL,WAAA,EAAA,MAAY;EAEP,QAAA,EAAA,MAAA;EAQA,UAAA,EAAA,MAAA;EAMA,WAAA,CAAA,EAAA,MAAiB;EAcjB,UAAA,CAAA,EAAA,OAAA;AAQjB;AAOiB,UAnCA,mBAAA,CAmCmB;EASnB,QAAA,EAAA,MAAA;EAMA,UAAA,CAAA,EAAA,MAAc;EAKd,QAAA,CAAA,EAAA,MAAA;AAMjB;AAKiB,UA5DA,iBAAA,CA4DU;EACjB,EAAA,EAAA,MAAA;EAEE,KAAA,EAAA,MAAA;EACC,OAAA,EAAA,MAAA;EACK,WAAA,CAAA,EAAA,MAAA;EAGK,WAAA,CAAA,EAAA,SAAA,GAAA,UAAA,GAAA,kBAAA,GAAA,qBAAA;EAER,aAAA,CAAA,EAAA,MAAA;EAAe,QAAA,CAAA,EAAA,OAAA;AAI9B;AACU,UA7DO,mBAAA,CA6DP;EAGE,EAAA,EAAA,MAAA;EACC,GAAA,EAAA,MAAA;EACE,GAAA,CAAA,EAAA,MAAA;EAAe,aAAA,CAAA,EAAA,MAAA;EAIb,KAAA,CAAA,EAAA,MAAS;AAM1B;AACQ,UArES,eAAA,CAqET;EACC;EACS,OAAA,EAAA,MAAA;EACV;EACU,QAAA,CAAA,EAAA,MAAA;;AAEH,UApEE,UAAA,SAAmB,aAoErB,CAAA;EACP;EAAe,IAAA,EAAA,MAAA;EAGN;EAOJ,OAAA,EAAA,MAAA;EAGI;EAOP,KAAA,CAAA,EAAA,QAAA,GAAA,SAAA,GAAA,WAAA;;AAIuC,UApFhC,gBAAA,CAoFgC;EAejC,MAAA,CAAA,EAAA,OAAa;;;;UA7FZ,cAAA;;eAEF,eAAe;;UAGb,eAAA;;;eAGF,eAAe;;UAGb,eAAA;;;;UAKA,UAAA;UACP;;YAEE;aACC;kBACK;;;uBAGK;;eAER;;;UAIE,eAAA;UACP;;;YAGE;aACC;eACE;;;UAIE,SAAA;;;;;UAMA,UAAA;QACT;SACC;kBACS;QACV;kBACU;aACL;eACE;QACP;;UAGS,SAAA;;;;cAOJ,cAAA;;iBAGI;UAOP;uCAI6B;;iBAevB,aAAA,MAAmB"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"spec.js","names":["candidate: PolicySpec | undefined"],"sources":["../../src/policy/spec.ts"],"sourcesContent":["import type { OwnerShipMeta } from '../ownership';\n\nexport type PolicyEffect = 'allow' | 'deny';\n\nexport interface RelationshipDefinition {\n subjectType: string;\n relation: string;\n objectType: string;\n description?: string;\n transitive?: boolean;\n}\n\nexport interface RelationshipMatcher {\n relation: string;\n objectType?: string;\n objectId?: string;\n}\n\nexport interface ConsentDefinition {\n id: string;\n scope: string;\n purpose: string;\n description?: string;\n lawfulBasis?:\n | 'consent'\n | 'contract'\n | 'legal_obligation'\n | 'legitimate_interest';\n expiresInDays?: number;\n required?: boolean;\n}\n\nexport interface RateLimitDefinition {\n id: string;\n rpm: number;\n key?: string;\n windowSeconds?: number;\n burst?: number;\n}\n\nexport interface PolicyOPAConfig {\n /** Fully-qualified package, e.g. \"sigil.authz\" */\n package: string;\n /** Optional rule within package (defaults to \"allow\") */\n decision?: string;\n}\n\nexport interface PolicyMeta extends OwnerShipMeta {\n /** Fully-qualified policy name (e.g., \"sigil.core.default\"). */\n name: string;\n /** Version of the policy; bump on breaking changes. */\n version: number;\n /** Optional scope hint used for discovery. */\n scope?: 'global' | 'feature' | 'operation';\n}\n\nexport interface AttributeMatcher {\n equals?: unknown;\n oneOf?: unknown[];\n exists?: boolean;\n}\n\nexport interface SubjectMatcher {\n roles?: string[];\n attributes?: Record<string, AttributeMatcher>;\n}\n\nexport interface ResourceMatcher {\n type: string;\n fields?: string[];\n attributes?: Record<string, AttributeMatcher>;\n}\n\nexport interface PolicyCondition {\n /** Simple expression evaluated against { subject, resource, context }. */\n expression: string;\n}\n\nexport interface PolicyRule {\n effect: PolicyEffect;\n actions: string[];\n subject?: SubjectMatcher;\n resource?: ResourceMatcher;\n relationships?: RelationshipMatcher[];\n requiresConsent?: string[];\n flags?: string[];\n rateLimit?: string | RateLimitDefinition;\n escalate?: 'human_review' | null;\n conditions?: PolicyCondition[];\n reason?: string;\n}\n\nexport interface FieldPolicyRule {\n effect: PolicyEffect;\n field: string;\n actions: ('read' | 'write')[];\n subject?: SubjectMatcher;\n resource?: ResourceMatcher;\n conditions?: PolicyCondition[];\n reason?: string;\n}\n\nexport interface PIIPolicy {\n fields: string[];\n consentRequired?: boolean;\n retentionDays?: number;\n}\n\nexport interface PolicySpec {\n meta: PolicyMeta;\n rules: PolicyRule[];\n fieldPolicies?: FieldPolicyRule[];\n pii?: PIIPolicy;\n relationships?: RelationshipDefinition[];\n consents?: ConsentDefinition[];\n rateLimits?: RateLimitDefinition[];\n opa?: PolicyOPAConfig;\n}\n\nexport interface PolicyRef {\n name: string;\n version: number;\n}\n\nconst policyKey = (name: string, version: number) => `${name}.v${version}`;\n\nexport class PolicyRegistry {\n private readonly items = new Map<string, PolicySpec>();\n\n register(spec: PolicySpec): this {\n const key = policyKey(spec.meta.name, spec.meta.version);\n if (this.items.has(key)) throw new Error(`Duplicate policy ${key}`);\n this.items.set(key, spec);\n return this;\n }\n\n list(): PolicySpec[] {\n return [...this.items.values()];\n }\n\n get(name: string, version?: number): PolicySpec | undefined {\n if (version != null) return this.items.get(policyKey(name, version));\n let candidate: PolicySpec | undefined;\n let max = -Infinity;\n for (const spec of this.items.values()) {\n if (spec.meta.name !== name) continue;\n if (spec.meta.version > max) {\n max = spec.meta.version;\n candidate = spec;\n }\n }\n return candidate;\n }\n}\n\nexport function makePolicyKey(ref: PolicyRef) {\n return policyKey(ref.name, ref.version);\n}\n"],"mappings":"AA4HA,MAAM,GAAa,EAAc,IAAoB,GAAG,EAAK,IAAI,IAEjE,IAAa,EAAb,KAA4B,CAC1B,MAAyB,IAAI,IAE7B,SAAS,EAAwB,CAC/B,IAAM,EAAM,EAAU,EAAK,KAAK,KAAM,EAAK,KAAK,QAAQ,CACxD,GAAI,KAAK,MAAM,IAAI,EAAI,CAAE,MAAU,MAAM,oBAAoB,IAAM,CAEnE,OADA,KAAK,MAAM,IAAI,EAAK,EAAK,CAClB,KAGT,MAAqB,CACnB,MAAO,CAAC,GAAG,KAAK,MAAM,QAAQ,CAAC,CAGjC,IAAI,EAAc,EAA0C,CAC1D,GAAI,GAAW,KAAM,OAAO,KAAK,MAAM,IAAI,EAAU,EAAM,EAAQ,CAAC,CACpE,IAAIA,EACA,EAAM,KACV,IAAK,IAAM,KAAQ,KAAK,MAAM,QAAQ,CAChC,EAAK,KAAK,OAAS,GACnB,EAAK,KAAK,QAAU,IACtB,EAAM,EAAK,KAAK,QAChB,EAAY,GAGhB,OAAO,IAIX,SAAgB,EAAc,EAAgB,CAC5C,OAAO,EAAU,EAAI,KAAM,EAAI,QAAQ"}
@@ -1,8 +0,0 @@
1
- import { PresentationSpec } from "./presentations.js";
2
- import { PresentationDescriptorV2 } from "./presentations.v2.js";
3
-
4
- //#region src/presentations.backcompat.d.ts
5
- declare function toV2FromV1(v1: PresentationSpec): PresentationDescriptorV2;
6
- //#endregion
7
- export { toV2FromV1 };
8
- //# sourceMappingURL=presentations.backcompat.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"presentations.backcompat.d.ts","names":[],"sources":["../src/presentations.backcompat.ts"],"sourcesContent":[],"mappings":";;;;iBAGgB,UAAA,KAAe,mBAAmB"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"presentations.backcompat.js","names":[],"sources":["../src/presentations.backcompat.ts"],"sourcesContent":["import type { PresentationSpec } from './presentations';\nimport type { PresentationDescriptorV2 } from './presentations.v2';\n\nexport function toV2FromV1(v1: PresentationSpec): PresentationDescriptorV2 {\n if (v1.content.kind === 'web_component') {\n return {\n meta: { ...v1.meta },\n policy: v1.policy,\n source: {\n type: 'component',\n framework: v1.content.framework,\n componentKey: v1.content.componentKey,\n props: v1.content.props,\n },\n targets: ['react', 'application/json', 'application/xml'],\n };\n }\n if (v1.content.kind === 'markdown') {\n return {\n meta: { ...v1.meta },\n policy: v1.policy,\n source: {\n type: 'blocknotejs',\n docJson: v1.content.content ?? v1.content.resourceUri ?? '',\n },\n targets: ['markdown', 'application/json', 'application/xml'],\n };\n }\n return {\n meta: { ...v1.meta },\n policy: v1.policy,\n source: {\n type: 'blocknotejs',\n docJson: { kind: 'data', mimeType: v1.content.mimeType, model: 'schema' },\n },\n targets: ['application/json', 'application/xml'],\n };\n}\n"],"mappings":"AAGA,SAAgB,EAAW,EAAgD,CAyBzE,OAxBI,EAAG,QAAQ,OAAS,gBACf,CACL,KAAM,CAAE,GAAG,EAAG,KAAM,CACpB,OAAQ,EAAG,OACX,OAAQ,CACN,KAAM,YACN,UAAW,EAAG,QAAQ,UACtB,aAAc,EAAG,QAAQ,aACzB,MAAO,EAAG,QAAQ,MACnB,CACD,QAAS,CAAC,QAAS,mBAAoB,kBAAkB,CAC1D,CAEC,EAAG,QAAQ,OAAS,WACf,CACL,KAAM,CAAE,GAAG,EAAG,KAAM,CACpB,OAAQ,EAAG,OACX,OAAQ,CACN,KAAM,cACN,QAAS,EAAG,QAAQ,SAAW,EAAG,QAAQ,aAAe,GAC1D,CACD,QAAS,CAAC,WAAY,mBAAoB,kBAAkB,CAC7D,CAEI,CACL,KAAM,CAAE,GAAG,EAAG,KAAM,CACpB,OAAQ,EAAG,OACX,OAAQ,CACN,KAAM,cACN,QAAS,CAAE,KAAM,OAAQ,SAAU,EAAG,QAAQ,SAAU,MAAO,SAAU,CAC1E,CACD,QAAS,CAAC,mBAAoB,kBAAkB,CACjD"}
@@ -1,97 +0,0 @@
1
- import { Stability } from "./ownership.js";
2
- import z$1 from "zod";
3
- import { AnySchemaModel } from "@lssm/lib.schema";
4
-
5
- //#region src/presentations.d.ts
6
- /** V1 presentation kinds (back-compat). Prefer V2 descriptors for new work. */
7
- type PresentationKind = 'web_component' | 'markdown' | 'data';
8
- /** Minimal metadata for presentations (V1). */
9
- interface PresentationMeta {
10
- name: string;
11
- version: number;
12
- stability?: Stability;
13
- owners?: string[];
14
- tags?: string[];
15
- description?: string;
16
- }
17
- /** Policy for presentations (flags, pii). */
18
- interface PresentationPolicy {
19
- flags?: string[];
20
- pii?: string[];
21
- }
22
- /** Web component presentation (V1). */
23
- interface WebComponentPresentation {
24
- kind: 'web_component';
25
- framework: 'react';
26
- /** Symbolic key resolved by host via component map */
27
- componentKey: string;
28
- /** Props schema (validated at runtime) */
29
- props: AnySchemaModel;
30
- analytics?: string[];
31
- }
32
- /** Markdown presentation (V1). */
33
- interface MarkdownPresentation {
34
- kind: 'markdown';
35
- /** Inline markdown/MDX content */
36
- content?: string;
37
- /** Or a resolvable resource URI handled by ResourceRegistry */
38
- resourceUri?: string;
39
- }
40
- /** Data presentation (V1): structured export description. */
41
- interface DataPresentation {
42
- kind: 'data';
43
- mimeType: string;
44
- /** Structured data schema */
45
- model: AnySchemaModel;
46
- }
47
- type PresentationContent = WebComponentPresentation | MarkdownPresentation | DataPresentation;
48
- interface PresentationSpec {
49
- meta: PresentationMeta;
50
- policy?: PresentationPolicy;
51
- content: PresentationContent;
52
- }
53
- /** In-memory registry for V1 PresentationSpec. */
54
- declare class PresentationRegistry {
55
- private items;
56
- register(p: PresentationSpec): this;
57
- list(): PresentationSpec[];
58
- get(name: string, version?: number): PresentationSpec | undefined;
59
- }
60
- declare function jsonSchemaForPresentation(p: PresentationSpec): {
61
- framework: "react";
62
- componentKey: string;
63
- props: z$1.core.JSONSchema.JSONSchema;
64
- meta: {
65
- readonly name: string;
66
- readonly version: number;
67
- readonly stability: Stability;
68
- readonly tags: string[];
69
- readonly description: string;
70
- };
71
- kind: PresentationKind;
72
- } | {
73
- content: string | undefined;
74
- resourceUri: string | undefined;
75
- meta: {
76
- readonly name: string;
77
- readonly version: number;
78
- readonly stability: Stability;
79
- readonly tags: string[];
80
- readonly description: string;
81
- };
82
- kind: PresentationKind;
83
- } | {
84
- mimeType: string;
85
- model: z$1.core.JSONSchema.JSONSchema;
86
- meta: {
87
- readonly name: string;
88
- readonly version: number;
89
- readonly stability: Stability;
90
- readonly tags: string[];
91
- readonly description: string;
92
- };
93
- kind: PresentationKind;
94
- };
95
- //#endregion
96
- export { DataPresentation, MarkdownPresentation, PresentationContent, PresentationKind, PresentationMeta, PresentationPolicy, PresentationRegistry, PresentationSpec, WebComponentPresentation, jsonSchemaForPresentation };
97
- //# sourceMappingURL=presentations.d.ts.map