@lssm/lib.contracts 0.0.0-canary-20251207013726 → 0.0.0-canary-20251207123819

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 (404) hide show
  1. package/dist/_virtual/rolldown_runtime.js +1 -0
  2. package/dist/app-config/contracts.js +1 -1
  3. package/dist/app-config/events.js +1 -1
  4. package/dist/app-config/lifecycle-contracts.js +1 -1
  5. package/dist/events.js +1 -1
  6. package/dist/index.js +1 -1
  7. package/dist/integrations/contracts.js +1 -1
  8. package/dist/integrations/openbanking/contracts/accounts.js +1 -1
  9. package/dist/integrations/openbanking/contracts/balances.js +1 -1
  10. package/dist/integrations/openbanking/contracts/transactions.js +1 -1
  11. package/dist/integrations/openbanking/models.js +1 -1
  12. package/dist/integrations/secrets/gcp-secret-manager.js +1 -1
  13. package/dist/jobs/scaleway-sqs-queue.js +1 -1
  14. package/dist/knowledge/contracts.js +1 -1
  15. package/dist/node_modules/@pothos/plugin-complexity/esm/calculate-complexity.js +1 -0
  16. package/dist/node_modules/@pothos/plugin-complexity/esm/defaults.js +1 -0
  17. package/dist/node_modules/@pothos/plugin-complexity/esm/index.js +1 -0
  18. package/dist/node_modules/@pothos/plugin-complexity/esm/types.js +1 -0
  19. package/dist/node_modules/@pothos/plugin-complexity/esm/util.js +1 -0
  20. package/dist/node_modules/@pothos/plugin-complexity/esm/validator.js +1 -0
  21. package/dist/node_modules/@pothos/plugin-dataloader/esm/field-builder.js +1 -0
  22. package/dist/node_modules/@pothos/plugin-dataloader/esm/index.js +1 -0
  23. package/dist/node_modules/@pothos/plugin-dataloader/esm/refs/index.js +1 -0
  24. package/dist/node_modules/@pothos/plugin-dataloader/esm/refs/interface.js +1 -0
  25. package/dist/node_modules/@pothos/plugin-dataloader/esm/refs/node.js +1 -0
  26. package/dist/node_modules/@pothos/plugin-dataloader/esm/refs/object.js +1 -0
  27. package/dist/node_modules/@pothos/plugin-dataloader/esm/refs/union.js +1 -0
  28. package/dist/node_modules/@pothos/plugin-dataloader/esm/schema-builder.js +1 -0
  29. package/dist/node_modules/@pothos/plugin-dataloader/esm/util.js +1 -0
  30. package/dist/node_modules/@pothos/plugin-prisma/esm/connection-helpers.js +1 -0
  31. package/dist/node_modules/@pothos/plugin-prisma/esm/field-builder.js +1 -0
  32. package/dist/node_modules/@pothos/plugin-prisma/esm/index.js +1 -0
  33. package/dist/node_modules/@pothos/plugin-prisma/esm/interface-ref.js +1 -0
  34. package/dist/node_modules/@pothos/plugin-prisma/esm/model-loader.js +1 -0
  35. package/dist/node_modules/@pothos/plugin-prisma/esm/node-ref.js +1 -0
  36. package/dist/node_modules/@pothos/plugin-prisma/esm/object-ref.js +1 -0
  37. package/dist/node_modules/@pothos/plugin-prisma/esm/prisma-field-builder.js +1 -0
  38. package/dist/node_modules/@pothos/plugin-prisma/esm/schema-builder.js +1 -0
  39. package/dist/node_modules/@pothos/plugin-prisma/esm/types.js +0 -0
  40. package/dist/node_modules/@pothos/plugin-prisma/esm/util/cursors.js +1 -0
  41. package/dist/node_modules/@pothos/plugin-prisma/esm/util/datamodel.js +1 -0
  42. package/dist/node_modules/@pothos/plugin-prisma/esm/util/deep-equal.js +1 -0
  43. package/dist/node_modules/@pothos/plugin-prisma/esm/util/description.js +1 -0
  44. package/dist/node_modules/@pothos/plugin-prisma/esm/util/get-client.js +1 -0
  45. package/dist/node_modules/@pothos/plugin-prisma/esm/util/loader-map.js +1 -0
  46. package/dist/node_modules/@pothos/plugin-prisma/esm/util/map-query.js +1 -0
  47. package/dist/node_modules/@pothos/plugin-prisma/esm/util/relation-map.js +1 -0
  48. package/dist/node_modules/@pothos/plugin-prisma/esm/util/selections.js +1 -0
  49. package/dist/node_modules/@pothos/plugin-prisma/esm/util/usage.js +1 -0
  50. package/dist/node_modules/@pothos/plugin-tracing/esm/index.js +1 -0
  51. package/dist/node_modules/@pothos/plugin-tracing/esm/util.js +1 -0
  52. package/dist/node_modules/dataloader/index.js +7 -0
  53. package/dist/node_modules/graphql/error/GraphQLError.js +5 -0
  54. package/dist/node_modules/graphql/error/index.js +1 -0
  55. package/dist/node_modules/graphql/error/locatedError.js +1 -0
  56. package/dist/node_modules/graphql/error/syntaxError.js +1 -0
  57. package/dist/node_modules/graphql/execution/collectFields.js +1 -0
  58. package/dist/node_modules/graphql/execution/execute.js +1 -0
  59. package/dist/node_modules/graphql/execution/index.js +1 -0
  60. package/dist/node_modules/graphql/execution/mapAsyncIterator.js +1 -0
  61. package/dist/node_modules/graphql/execution/subscribe.js +1 -0
  62. package/dist/node_modules/graphql/execution/values.js +1 -0
  63. package/dist/node_modules/graphql/graphql.js +1 -0
  64. package/dist/node_modules/graphql/index.js +1 -0
  65. package/dist/node_modules/graphql/jsutils/Path.js +1 -0
  66. package/dist/node_modules/graphql/jsutils/devAssert.js +1 -0
  67. package/dist/node_modules/graphql/jsutils/didYouMean.js +1 -0
  68. package/dist/node_modules/graphql/jsutils/groupBy.js +1 -0
  69. package/dist/node_modules/graphql/jsutils/identityFunc.js +1 -0
  70. package/dist/node_modules/graphql/jsutils/inspect.js +1 -0
  71. package/dist/node_modules/graphql/jsutils/instanceOf.js +12 -0
  72. package/dist/node_modules/graphql/jsutils/invariant.js +1 -0
  73. package/dist/node_modules/graphql/jsutils/isAsyncIterable.js +1 -0
  74. package/dist/node_modules/graphql/jsutils/isIterableObject.js +1 -0
  75. package/dist/node_modules/graphql/jsutils/isObjectLike.js +1 -0
  76. package/dist/node_modules/graphql/jsutils/isPromise.js +1 -0
  77. package/dist/node_modules/graphql/jsutils/keyMap.js +1 -0
  78. package/dist/node_modules/graphql/jsutils/keyValMap.js +1 -0
  79. package/dist/node_modules/graphql/jsutils/mapValue.js +1 -0
  80. package/dist/node_modules/graphql/jsutils/memoize3.js +1 -0
  81. package/dist/node_modules/graphql/jsutils/naturalCompare.js +1 -0
  82. package/dist/node_modules/graphql/jsutils/printPathArray.js +1 -0
  83. package/dist/node_modules/graphql/jsutils/promiseForObject.js +1 -0
  84. package/dist/node_modules/graphql/jsutils/promiseReduce.js +1 -0
  85. package/dist/node_modules/graphql/jsutils/suggestionList.js +1 -0
  86. package/dist/node_modules/graphql/jsutils/toError.js +1 -0
  87. package/dist/node_modules/graphql/jsutils/toObjMap.js +1 -0
  88. package/dist/node_modules/graphql/language/ast.js +1 -0
  89. package/dist/node_modules/graphql/language/blockString.js +3 -0
  90. package/dist/node_modules/graphql/language/characterClasses.js +1 -0
  91. package/dist/node_modules/graphql/language/directiveLocation.js +1 -0
  92. package/dist/node_modules/graphql/language/index.js +1 -0
  93. package/dist/node_modules/graphql/language/kinds.js +1 -0
  94. package/dist/node_modules/graphql/language/lexer.js +3 -0
  95. package/dist/node_modules/graphql/language/location.js +1 -0
  96. package/dist/node_modules/graphql/language/parser.js +1 -0
  97. package/dist/node_modules/graphql/language/predicates.js +1 -0
  98. package/dist/node_modules/graphql/language/printLocation.js +2 -0
  99. package/dist/node_modules/graphql/language/printString.js +1 -0
  100. package/dist/node_modules/graphql/language/printer.js +34 -0
  101. package/dist/node_modules/graphql/language/schemaCoordinateLexer.js +1 -0
  102. package/dist/node_modules/graphql/language/source.js +1 -0
  103. package/dist/node_modules/graphql/language/tokenKind.js +1 -0
  104. package/dist/node_modules/graphql/language/visitor.js +1 -0
  105. package/dist/node_modules/graphql/type/assertName.js +1 -0
  106. package/dist/node_modules/graphql/type/definition.js +1 -0
  107. package/dist/node_modules/graphql/type/directives.js +1 -0
  108. package/dist/node_modules/graphql/type/index.js +1 -0
  109. package/dist/node_modules/graphql/type/introspection.js +3 -0
  110. package/dist/node_modules/graphql/type/scalars.js +1 -0
  111. package/dist/node_modules/graphql/type/schema.js +1 -0
  112. package/dist/node_modules/graphql/type/validate.js +3 -0
  113. package/dist/node_modules/graphql/utilities/TypeInfo.js +1 -0
  114. package/dist/node_modules/graphql/utilities/assertValidName.js +1 -0
  115. package/dist/node_modules/graphql/utilities/astFromValue.js +1 -0
  116. package/dist/node_modules/graphql/utilities/buildASTSchema.js +1 -0
  117. package/dist/node_modules/graphql/utilities/buildClientSchema.js +1 -0
  118. package/dist/node_modules/graphql/utilities/coerceInputValue.js +1 -0
  119. package/dist/node_modules/graphql/utilities/concatAST.js +1 -0
  120. package/dist/node_modules/graphql/utilities/extendSchema.js +1 -0
  121. package/dist/node_modules/graphql/utilities/findBreakingChanges.js +1 -0
  122. package/dist/node_modules/graphql/utilities/getIntrospectionQuery.js +107 -0
  123. package/dist/node_modules/graphql/utilities/getOperationAST.js +1 -0
  124. package/dist/node_modules/graphql/utilities/getOperationRootType.js +1 -0
  125. package/dist/node_modules/graphql/utilities/index.js +1 -0
  126. package/dist/node_modules/graphql/utilities/introspectionFromSchema.js +1 -0
  127. package/dist/node_modules/graphql/utilities/lexicographicSortSchema.js +1 -0
  128. package/dist/node_modules/graphql/utilities/printSchema.js +13 -0
  129. package/dist/node_modules/graphql/utilities/resolveSchemaCoordinate.js +1 -0
  130. package/dist/node_modules/graphql/utilities/separateOperations.js +1 -0
  131. package/dist/node_modules/graphql/utilities/sortValueNode.js +1 -0
  132. package/dist/node_modules/graphql/utilities/stripIgnoredCharacters.js +1 -0
  133. package/dist/node_modules/graphql/utilities/typeComparators.js +1 -0
  134. package/dist/node_modules/graphql/utilities/typeFromAST.js +1 -0
  135. package/dist/node_modules/graphql/utilities/valueFromAST.js +1 -0
  136. package/dist/node_modules/graphql/utilities/valueFromASTUntyped.js +1 -0
  137. package/dist/node_modules/graphql/validation/ValidationContext.js +1 -0
  138. package/dist/node_modules/graphql/validation/index.js +1 -0
  139. package/dist/node_modules/graphql/validation/rules/ExecutableDefinitionsRule.js +1 -0
  140. package/dist/node_modules/graphql/validation/rules/FieldsOnCorrectTypeRule.js +1 -0
  141. package/dist/node_modules/graphql/validation/rules/FragmentsOnCompositeTypesRule.js +1 -0
  142. package/dist/node_modules/graphql/validation/rules/KnownArgumentNamesRule.js +1 -0
  143. package/dist/node_modules/graphql/validation/rules/KnownDirectivesRule.js +1 -0
  144. package/dist/node_modules/graphql/validation/rules/KnownFragmentNamesRule.js +1 -0
  145. package/dist/node_modules/graphql/validation/rules/KnownTypeNamesRule.js +1 -0
  146. package/dist/node_modules/graphql/validation/rules/LoneAnonymousOperationRule.js +1 -0
  147. package/dist/node_modules/graphql/validation/rules/LoneSchemaDefinitionRule.js +1 -0
  148. package/dist/node_modules/graphql/validation/rules/MaxIntrospectionDepthRule.js +1 -0
  149. package/dist/node_modules/graphql/validation/rules/NoFragmentCyclesRule.js +1 -0
  150. package/dist/node_modules/graphql/validation/rules/NoUndefinedVariablesRule.js +1 -0
  151. package/dist/node_modules/graphql/validation/rules/NoUnusedFragmentsRule.js +1 -0
  152. package/dist/node_modules/graphql/validation/rules/NoUnusedVariablesRule.js +1 -0
  153. package/dist/node_modules/graphql/validation/rules/OverlappingFieldsCanBeMergedRule.js +1 -0
  154. package/dist/node_modules/graphql/validation/rules/PossibleFragmentSpreadsRule.js +1 -0
  155. package/dist/node_modules/graphql/validation/rules/PossibleTypeExtensionsRule.js +1 -0
  156. package/dist/node_modules/graphql/validation/rules/ProvidedRequiredArgumentsRule.js +1 -0
  157. package/dist/node_modules/graphql/validation/rules/ScalarLeafsRule.js +1 -0
  158. package/dist/node_modules/graphql/validation/rules/SingleFieldSubscriptionsRule.js +1 -0
  159. package/dist/node_modules/graphql/validation/rules/UniqueArgumentDefinitionNamesRule.js +1 -0
  160. package/dist/node_modules/graphql/validation/rules/UniqueArgumentNamesRule.js +1 -0
  161. package/dist/node_modules/graphql/validation/rules/UniqueDirectiveNamesRule.js +1 -0
  162. package/dist/node_modules/graphql/validation/rules/UniqueDirectivesPerLocationRule.js +1 -0
  163. package/dist/node_modules/graphql/validation/rules/UniqueEnumValueNamesRule.js +1 -0
  164. package/dist/node_modules/graphql/validation/rules/UniqueFieldDefinitionNamesRule.js +1 -0
  165. package/dist/node_modules/graphql/validation/rules/UniqueFragmentNamesRule.js +1 -0
  166. package/dist/node_modules/graphql/validation/rules/UniqueInputFieldNamesRule.js +1 -0
  167. package/dist/node_modules/graphql/validation/rules/UniqueOperationNamesRule.js +1 -0
  168. package/dist/node_modules/graphql/validation/rules/UniqueOperationTypesRule.js +1 -0
  169. package/dist/node_modules/graphql/validation/rules/UniqueTypeNamesRule.js +1 -0
  170. package/dist/node_modules/graphql/validation/rules/UniqueVariableNamesRule.js +1 -0
  171. package/dist/node_modules/graphql/validation/rules/ValuesOfCorrectTypeRule.js +1 -0
  172. package/dist/node_modules/graphql/validation/rules/VariablesAreInputTypesRule.js +1 -0
  173. package/dist/node_modules/graphql/validation/rules/VariablesInAllowedPositionRule.js +1 -0
  174. package/dist/node_modules/graphql/validation/rules/custom/NoDeprecatedCustomRule.js +1 -0
  175. package/dist/node_modules/graphql/validation/rules/custom/NoSchemaIntrospectionCustomRule.js +1 -0
  176. package/dist/node_modules/graphql/validation/specifiedRules.js +1 -0
  177. package/dist/node_modules/graphql/validation/validate.js +5 -0
  178. package/dist/node_modules/graphql/version.js +1 -0
  179. package/dist/node_modules/zod-to-json-schema/dist/esm/Options.js +1 -0
  180. package/dist/node_modules/zod-to-json-schema/dist/esm/Refs.js +1 -0
  181. package/dist/node_modules/zod-to-json-schema/dist/esm/errorMessages.js +1 -0
  182. package/dist/node_modules/zod-to-json-schema/dist/esm/getRelativePath.js +1 -0
  183. package/dist/node_modules/zod-to-json-schema/dist/esm/index.js +1 -0
  184. package/dist/node_modules/zod-to-json-schema/dist/esm/parseDef.js +1 -0
  185. package/dist/node_modules/zod-to-json-schema/dist/esm/parsers/any.js +1 -0
  186. package/dist/node_modules/zod-to-json-schema/dist/esm/parsers/array.js +1 -0
  187. package/dist/node_modules/zod-to-json-schema/dist/esm/parsers/bigint.js +1 -0
  188. package/dist/node_modules/zod-to-json-schema/dist/esm/parsers/boolean.js +1 -0
  189. package/dist/node_modules/zod-to-json-schema/dist/esm/parsers/branded.js +1 -0
  190. package/dist/node_modules/zod-to-json-schema/dist/esm/parsers/catch.js +1 -0
  191. package/dist/node_modules/zod-to-json-schema/dist/esm/parsers/date.js +1 -0
  192. package/dist/node_modules/zod-to-json-schema/dist/esm/parsers/default.js +1 -0
  193. package/dist/node_modules/zod-to-json-schema/dist/esm/parsers/effects.js +1 -0
  194. package/dist/node_modules/zod-to-json-schema/dist/esm/parsers/enum.js +1 -0
  195. package/dist/node_modules/zod-to-json-schema/dist/esm/parsers/intersection.js +1 -0
  196. package/dist/node_modules/zod-to-json-schema/dist/esm/parsers/literal.js +1 -0
  197. package/dist/node_modules/zod-to-json-schema/dist/esm/parsers/map.js +1 -0
  198. package/dist/node_modules/zod-to-json-schema/dist/esm/parsers/nativeEnum.js +1 -0
  199. package/dist/node_modules/zod-to-json-schema/dist/esm/parsers/never.js +1 -0
  200. package/dist/node_modules/zod-to-json-schema/dist/esm/parsers/null.js +1 -0
  201. package/dist/node_modules/zod-to-json-schema/dist/esm/parsers/nullable.js +1 -0
  202. package/dist/node_modules/zod-to-json-schema/dist/esm/parsers/number.js +1 -0
  203. package/dist/node_modules/zod-to-json-schema/dist/esm/parsers/object.js +1 -0
  204. package/dist/node_modules/zod-to-json-schema/dist/esm/parsers/optional.js +1 -0
  205. package/dist/node_modules/zod-to-json-schema/dist/esm/parsers/pipeline.js +1 -0
  206. package/dist/node_modules/zod-to-json-schema/dist/esm/parsers/promise.js +1 -0
  207. package/dist/node_modules/zod-to-json-schema/dist/esm/parsers/readonly.js +1 -0
  208. package/dist/node_modules/zod-to-json-schema/dist/esm/parsers/record.js +1 -0
  209. package/dist/node_modules/zod-to-json-schema/dist/esm/parsers/set.js +1 -0
  210. package/dist/node_modules/zod-to-json-schema/dist/esm/parsers/string.js +3 -0
  211. package/dist/node_modules/zod-to-json-schema/dist/esm/parsers/tuple.js +1 -0
  212. package/dist/node_modules/zod-to-json-schema/dist/esm/parsers/undefined.js +1 -0
  213. package/dist/node_modules/zod-to-json-schema/dist/esm/parsers/union.js +1 -0
  214. package/dist/node_modules/zod-to-json-schema/dist/esm/parsers/unknown.js +1 -0
  215. package/dist/node_modules/zod-to-json-schema/dist/esm/selectParser.js +1 -0
  216. package/dist/node_modules/zod-to-json-schema/dist/esm/zodToJsonSchema.js +1 -0
  217. package/dist/onboarding-base.js +1 -1
  218. package/dist/server/graphql-pothos.js +1 -1
  219. package/dist/server/graphql-schema-export.js +1 -1
  220. package/dist/server/provider-mcp.js +1 -1
  221. package/package.json +183 -175
  222. package/dist/app-config/branding.d.ts +0 -55
  223. package/dist/app-config/contracts.d.ts +0 -244
  224. package/dist/app-config/events.d.ts +0 -122
  225. package/dist/app-config/index.d.ts +0 -8
  226. package/dist/app-config/lifecycle-contracts.d.ts +0 -382
  227. package/dist/app-config/lifecycle.d.ts +0 -27
  228. package/dist/app-config/runtime.d.ts +0 -114
  229. package/dist/app-config/spec.d.ts +0 -175
  230. package/dist/app-config/validation.d.ts +0 -47
  231. package/dist/capabilities/openbanking.d.ts +0 -9
  232. package/dist/capabilities.d.ts +0 -45
  233. package/dist/client/index.d.ts +0 -6
  234. package/dist/client/react/drivers/rn-reusables.d.ts +0 -22
  235. package/dist/client/react/drivers/shadcn.d.ts +0 -12
  236. package/dist/client/react/feature-render.d.ts +0 -19
  237. package/dist/client/react/form-render.d.ts +0 -91
  238. package/dist/client/react/index.d.ts +0 -5
  239. package/dist/contracts-adapter-hydration.d.ts +0 -15
  240. package/dist/contracts-adapter-input.d.ts +0 -10
  241. package/dist/data-views/query-generator.d.ts +0 -39
  242. package/dist/data-views/runtime.d.ts +0 -26
  243. package/dist/data-views.d.ts +0 -131
  244. package/dist/events.d.ts +0 -44
  245. package/dist/experiments/evaluator.d.ts +0 -37
  246. package/dist/experiments/spec-resolver.d.ts +0 -16
  247. package/dist/experiments/spec.d.ts +0 -89
  248. package/dist/features.d.ts +0 -87
  249. package/dist/forms.d.ts +0 -258
  250. package/dist/graphql-federation/dist/index.js +0 -1
  251. package/dist/index.d.ts +0 -132
  252. package/dist/install.d.ts +0 -76
  253. package/dist/integrations/binding.d.ts +0 -17
  254. package/dist/integrations/connection.d.ts +0 -51
  255. package/dist/integrations/contracts.d.ts +0 -435
  256. package/dist/integrations/health.d.ts +0 -21
  257. package/dist/integrations/index.d.ts +0 -53
  258. package/dist/integrations/openbanking/contracts/accounts.d.ts +0 -287
  259. package/dist/integrations/openbanking/contracts/balances.d.ts +0 -163
  260. package/dist/integrations/openbanking/contracts/index.d.ts +0 -9
  261. package/dist/integrations/openbanking/contracts/transactions.d.ts +0 -211
  262. package/dist/integrations/openbanking/guards.d.ts +0 -12
  263. package/dist/integrations/openbanking/models.d.ts +0 -228
  264. package/dist/integrations/openbanking/telemetry.d.ts +0 -15
  265. package/dist/integrations/providers/calendar.d.ts +0 -78
  266. package/dist/integrations/providers/elevenlabs.d.ts +0 -7
  267. package/dist/integrations/providers/email.d.ts +0 -86
  268. package/dist/integrations/providers/embedding.d.ts +0 -24
  269. package/dist/integrations/providers/gcs-storage.d.ts +0 -7
  270. package/dist/integrations/providers/gmail.d.ts +0 -7
  271. package/dist/integrations/providers/google-calendar.d.ts +0 -7
  272. package/dist/integrations/providers/impls/elevenlabs-voice.d.ts +0 -20
  273. package/dist/integrations/providers/impls/gcs-storage.d.ts +0 -24
  274. package/dist/integrations/providers/impls/gmail-inbound.d.ts +0 -26
  275. package/dist/integrations/providers/impls/gmail-outbound.d.ts +0 -18
  276. package/dist/integrations/providers/impls/google-calendar.d.ts +0 -23
  277. package/dist/integrations/providers/impls/index.d.ts +0 -15
  278. package/dist/integrations/providers/impls/mistral-embedding.d.ts +0 -23
  279. package/dist/integrations/providers/impls/mistral-llm.d.ts +0 -31
  280. package/dist/integrations/providers/impls/postmark-email.d.ts +0 -19
  281. package/dist/integrations/providers/impls/powens-client.d.ts +0 -124
  282. package/dist/integrations/providers/impls/powens-openbanking.d.ts +0 -27
  283. package/dist/integrations/providers/impls/provider-factory.d.ts +0 -26
  284. package/dist/integrations/providers/impls/qdrant-vector.d.ts +0 -24
  285. package/dist/integrations/providers/impls/stripe-payments.d.ts +0 -28
  286. package/dist/integrations/providers/impls/twilio-sms.d.ts +0 -20
  287. package/dist/integrations/providers/index.d.ts +0 -36
  288. package/dist/integrations/providers/llm.d.ts +0 -82
  289. package/dist/integrations/providers/mistral.d.ts +0 -7
  290. package/dist/integrations/providers/openbanking.d.ts +0 -128
  291. package/dist/integrations/providers/payments.d.ts +0 -109
  292. package/dist/integrations/providers/postmark.d.ts +0 -7
  293. package/dist/integrations/providers/powens.d.ts +0 -7
  294. package/dist/integrations/providers/qdrant.d.ts +0 -7
  295. package/dist/integrations/providers/sms.d.ts +0 -34
  296. package/dist/integrations/providers/storage.d.ts +0 -60
  297. package/dist/integrations/providers/stripe.d.ts +0 -7
  298. package/dist/integrations/providers/twilio-sms.d.ts +0 -7
  299. package/dist/integrations/providers/vector-store.d.ts +0 -43
  300. package/dist/integrations/providers/voice.d.ts +0 -34
  301. package/dist/integrations/runtime.d.ts +0 -99
  302. package/dist/integrations/secrets/env-secret-provider.d.ts +0 -31
  303. package/dist/integrations/secrets/gcp-secret-manager.d.ts +0 -32
  304. package/dist/integrations/secrets/index.d.ts +0 -5
  305. package/dist/integrations/secrets/manager.d.ts +0 -47
  306. package/dist/integrations/secrets/provider.d.ts +0 -52
  307. package/dist/integrations/spec.d.ts +0 -79
  308. package/dist/jobs/define-job.d.ts +0 -12
  309. package/dist/jobs/gcp-cloud-tasks.d.ts +0 -41
  310. package/dist/jobs/gcp-pubsub.d.ts +0 -25
  311. package/dist/jobs/handlers/gmail-sync-handler.d.ts +0 -9
  312. package/dist/jobs/handlers/index.d.ts +0 -9
  313. package/dist/jobs/handlers/ping-handler.d.ts +0 -10
  314. package/dist/jobs/handlers/storage-document-handler.d.ts +0 -12
  315. package/dist/jobs/index.d.ts +0 -10
  316. package/dist/jobs/memory-queue.d.ts +0 -18
  317. package/dist/jobs/queue.d.ts +0 -26
  318. package/dist/jobs/scaleway-sqs-queue.d.ts +0 -30
  319. package/dist/jsonschema.d.ts +0 -26
  320. package/dist/knowledge/binding.d.ts +0 -25
  321. package/dist/knowledge/contracts.d.ts +0 -316
  322. package/dist/knowledge/index.d.ts +0 -10
  323. package/dist/knowledge/ingestion/document-processor.d.ts +0 -24
  324. package/dist/knowledge/ingestion/embedding-service.d.ts +0 -12
  325. package/dist/knowledge/ingestion/gmail-adapter.d.ts +0 -18
  326. package/dist/knowledge/ingestion/index.d.ts +0 -6
  327. package/dist/knowledge/ingestion/storage-adapter.d.ts +0 -15
  328. package/dist/knowledge/ingestion/vector-indexer.d.ts +0 -18
  329. package/dist/knowledge/query/index.d.ts +0 -2
  330. package/dist/knowledge/query/service.d.ts +0 -29
  331. package/dist/knowledge/runtime.d.ts +0 -32
  332. package/dist/knowledge/source.d.ts +0 -32
  333. package/dist/knowledge/spaces/email-threads.d.ts +0 -7
  334. package/dist/knowledge/spaces/financial-docs.d.ts +0 -7
  335. package/dist/knowledge/spaces/financial-overview.d.ts +0 -7
  336. package/dist/knowledge/spaces/index.d.ts +0 -7
  337. package/dist/knowledge/spaces/product-canon.d.ts +0 -7
  338. package/dist/knowledge/spaces/support-faq.d.ts +0 -7
  339. package/dist/knowledge/spaces/uploaded-docs.d.ts +0 -7
  340. package/dist/knowledge/spec.d.ts +0 -52
  341. package/dist/markdown.d.ts +0 -21
  342. package/dist/migrations.d.ts +0 -52
  343. package/dist/onboarding-base.d.ts +0 -137
  344. package/dist/ownership.d.ts +0 -75
  345. package/dist/policy/engine.d.ts +0 -39
  346. package/dist/policy/opa-adapter.d.ts +0 -45
  347. package/dist/policy/spec.d.ts +0 -114
  348. package/dist/presentations.backcompat.d.ts +0 -7
  349. package/dist/presentations.d.ts +0 -96
  350. package/dist/presentations.v2.d.ts +0 -115
  351. package/dist/prompt.d.ts +0 -60
  352. package/dist/promptRegistry.d.ts +0 -15
  353. package/dist/regenerator/adapters.d.ts +0 -19
  354. package/dist/regenerator/executor.d.ts +0 -70
  355. package/dist/regenerator/index.d.ts +0 -7
  356. package/dist/regenerator/service.d.ts +0 -33
  357. package/dist/regenerator/sinks.d.ts +0 -26
  358. package/dist/regenerator/types.d.ts +0 -107
  359. package/dist/regenerator/utils.d.ts +0 -9
  360. package/dist/registry.d.ts +0 -72
  361. package/dist/resources.d.ts +0 -64
  362. package/dist/schema/dist/EnumType.js +0 -1
  363. package/dist/schema/dist/FieldType.js +0 -1
  364. package/dist/schema/dist/ScalarTypeEnum.js +0 -1
  365. package/dist/schema/dist/SchemaModel.js +0 -1
  366. package/dist/schema/dist/entity/defineEntity.js +0 -1
  367. package/dist/schema/dist/entity/index.js +0 -1
  368. package/dist/schema/dist/entity/types.js +0 -1
  369. package/dist/schema/dist/index.js +0 -1
  370. package/dist/schema-to-markdown.d.ts +0 -54
  371. package/dist/server/graphql-pothos.d.ts +0 -31
  372. package/dist/server/graphql-schema-export.d.ts +0 -6
  373. package/dist/server/index.d.ts +0 -9
  374. package/dist/server/provider-mcp.d.ts +0 -51
  375. package/dist/server/rest-elysia.d.ts +0 -40
  376. package/dist/server/rest-express.d.ts +0 -16
  377. package/dist/server/rest-generic.d.ts +0 -32
  378. package/dist/server/rest-next-app.d.ts +0 -35
  379. package/dist/server/rest-next-mcp.d.ts +0 -11
  380. package/dist/server/rest-next-pages.d.ts +0 -9
  381. package/dist/spec.d.ts +0 -171
  382. package/dist/telemetry/anomaly.d.ts +0 -27
  383. package/dist/telemetry/index.d.ts +0 -4
  384. package/dist/telemetry/spec.d.ts +0 -98
  385. package/dist/telemetry/tracker.d.ts +0 -51
  386. package/dist/tests/index.d.ts +0 -3
  387. package/dist/tests/runner.d.ts +0 -43
  388. package/dist/tests/spec.d.ts +0 -89
  389. package/dist/themes.d.ts +0 -55
  390. package/dist/translations/catalog.d.ts +0 -28
  391. package/dist/translations/tenant.d.ts +0 -15
  392. package/dist/types/all.d.ts +0 -60
  393. package/dist/types.d.ts +0 -88
  394. package/dist/workflow/adapters/db-adapter.d.ts +0 -34
  395. package/dist/workflow/adapters/file-adapter.d.ts +0 -14
  396. package/dist/workflow/adapters/index.d.ts +0 -4
  397. package/dist/workflow/adapters/memory-store.d.ts +0 -18
  398. package/dist/workflow/expression.d.ts +0 -9
  399. package/dist/workflow/index.d.ts +0 -10
  400. package/dist/workflow/runner.d.ts +0 -74
  401. package/dist/workflow/sla-monitor.d.ts +0 -20
  402. package/dist/workflow/spec.d.ts +0 -99
  403. package/dist/workflow/state.d.ts +0 -35
  404. package/dist/workflow/validation.d.ts +0 -28
@@ -0,0 +1 @@
1
+ var e=Object.create,t=Object.defineProperty,n=Object.getOwnPropertyDescriptor,r=Object.getOwnPropertyNames,i=Object.getPrototypeOf,a=Object.prototype.hasOwnProperty,o=(e,t)=>()=>(t||e((t={exports:{}}).exports,t),t.exports),s=(e,i,o,s)=>{if(i&&typeof i==`object`||typeof i==`function`)for(var c=r(i),l=0,u=c.length,d;l<u;l++)d=c[l],!a.call(e,d)&&d!==o&&t(e,d,{get:(e=>i[e]).bind(null,d),enumerable:!(s=n(i,d))||s.enumerable});return e},c=(n,r,a)=>(a=n==null?{}:e(i(n)),s(r||!n||!n.__esModule?t(a,`default`,{value:n,enumerable:!0}):a,n));export{o as __commonJSMin,c as __toESM};
@@ -1 +1 @@
1
- import{l as e}from"../schema/dist/ScalarTypeEnum.js";import{t}from"../schema/dist/SchemaModel.js";import"../schema/dist/index.js";import{defineCommand as n,defineQuery as r}from"../spec.js";import{OwnersEnum as i,StabilityEnum as a,TagsEnum as o}from"../ownership.js";const s=new t({name:`BrandingAssetInput`,fields:{type:{type:e.String_unsecure(),isOptional:!1},url:{type:e.URL(),isOptional:!1},mimeType:{type:e.String_unsecure(),isOptional:!0}}}),c=new t({name:`UpdateTenantBrandingInput`,fields:{tenantId:{type:e.ID(),isOptional:!1},appId:{type:e.ID(),isOptional:!1},environment:{type:e.String_unsecure(),isOptional:!0},appName:{type:e.JSONObject(),isOptional:!0},assets:{type:s,isOptional:!0,isArray:!0},colors:{type:e.JSONObject(),isOptional:!0},customDomain:{type:e.String_unsecure(),isOptional:!0},subdomain:{type:e.String_unsecure(),isOptional:!0}}}),l=new t({name:`UpdateTenantBrandingOutput`,fields:{success:{type:e.Boolean(),isOptional:!1},updatedAt:{type:e.DateTime(),isOptional:!1}}}),u=new t({name:`VerifyCustomDomainInput`,fields:{tenantId:{type:e.ID(),isOptional:!1},appId:{type:e.ID(),isOptional:!1},domain:{type:e.String_unsecure(),isOptional:!1}}}),d=new t({name:`VerifyCustomDomainOutput`,fields:{status:{type:e.String_unsecure(),isOptional:!1},message:{type:e.String_unsecure(),isOptional:!0}}}),f=new t({name:`TranslationEntryInput`,fields:{key:{type:e.String_unsecure(),isOptional:!1},locale:{type:e.String_unsecure(),isOptional:!1},value:{type:e.String_unsecure(),isOptional:!1},context:{type:e.String_unsecure(),isOptional:!0}}}),p=new t({name:`UpdateBlueprintTranslationInput`,fields:{blueprintName:{type:e.String_unsecure(),isOptional:!1},blueprintVersion:{type:e.Int_unsecure(),isOptional:!1},catalogName:{type:e.String_unsecure(),isOptional:!1},catalogVersion:{type:e.Int_unsecure(),isOptional:!1},defaultLocale:{type:e.String_unsecure(),isOptional:!1},supportedLocales:{type:e.String_unsecure(),isOptional:!1,isArray:!0},entries:{type:f,isOptional:!1,isArray:!0}}}),m=new t({name:`UpdateTenantTranslationInput`,fields:{tenantId:{type:e.ID(),isOptional:!1},appId:{type:e.ID(),isOptional:!1},entries:{type:f,isOptional:!1,isArray:!0},defaultLocale:{type:e.String_unsecure(),isOptional:!0},enabledLocales:{type:e.String_unsecure(),isOptional:!0,isArray:!0}}}),h=new t({name:`MessageResolutionInput`,fields:{tenantId:{type:e.ID(),isOptional:!1},appId:{type:e.ID(),isOptional:!1},locale:{type:e.String_unsecure(),isOptional:!1},key:{type:e.String_unsecure(),isOptional:!1}}}),g=new t({name:`MessageResolutionOutput`,fields:{value:{type:e.String_unsecure(),isOptional:!0},source:{type:e.String_unsecure(),isOptional:!0}}}),_=n({meta:{name:`appConfig.updateTenantBranding`,version:1,description:`Applies tenant branding overrides (names, assets, domains).`,owners:[i.PlatformSigil],tags:[`branding`],stability:a.Beta,goal:`Maintain tenant-specific branding assets and domains.`,context:`Invoked by the Studio or automation when a tenant updates branding settings.`},io:{input:c,output:l},policy:{auth:`admin`,policies:[{name:`platform.app-config.manage`,version:1}]}}),v=n({meta:{name:`appConfig.verifyCustomDomain`,version:1,description:`Validates DNS ownership for tenant custom domains.`,owners:[i.PlatformSigil],tags:[`branding`],stability:a.Experimental,goal:`Confirm tenant-provided domains before activation.`,context:`Triggered after the tenant adds DNS records to verify domain ownership.`},io:{input:u,output:d},policy:{auth:`admin`,policies:[{name:`platform.app-config.manage`,version:1}]}}),y=n({meta:{name:`appConfig.updateBlueprintTranslationCatalog`,version:1,description:`Registers or updates translation entries for a blueprint.`,owners:[i.PlatformSigil],tags:[o.I18n],stability:a.Beta,goal:`Keep blueprint translation catalogs in sync with shipped copy.`,context:`Executed by platform automation or CI when committing updated translation catalogs.`},io:{input:p,output:l},policy:{auth:`admin`,policies:[{name:`platform.app-config.manage`,version:1}]}}),b=n({meta:{name:`appConfig.updateTenantTranslations`,version:1,description:`Applies tenant-specific translation entries.`,owners:[i.PlatformSigil],tags:[o.I18n],stability:a.Beta,goal:`Allow tenants to override selected message keys.`,context:`Called by the Studio when a tenant customizes labels or copy for their locale.`},io:{input:m,output:l},policy:{auth:`admin`,policies:[{name:`platform.app-config.manage`,version:1}]}}),x=r({meta:{name:`appConfig.getResolvedBranding`,version:1,description:`Returns the resolved branding for a tenant/app/environment.`,owners:[i.PlatformSigil],tags:[`branding`],stability:a.Beta,goal:`Expose hydrated branding assets for rendering UI/email experiences.`,context:`Used by runtime surfaces to fetch brand assets prior to rendering tenant-specific experiences.`},io:{input:new t({name:`GetResolvedBrandingInput`,fields:{tenantId:{type:e.ID(),isOptional:!1},appId:{type:e.ID(),isOptional:!1},environment:{type:e.String_unsecure(),isOptional:!0}}}),output:new t({name:`GetResolvedBrandingOutput`,fields:{branding:{type:e.JSONObject(),isOptional:!1}}})},policy:{auth:`admin`,policies:[{name:`platform.app-config.read`,version:1}]}}),S=r({meta:{name:`appConfig.resolveMessage`,version:1,description:`Resolves a translation key for a tenant in the requested locale.`,owners:[i.PlatformSigil],tags:[o.I18n],stability:a.Experimental,goal:`Expose a server-side API for resolving message keys on demand.`,context:`Used by backend services or scripts that need translated copy outside the front-end runtime.`},io:{input:h,output:g},policy:{auth:`admin`,policies:[{name:`platform.app-config.read`,version:1}]}}),C={UpdateTenantBrandingCommand:_,VerifyCustomDomainCommand:v,UpdateBlueprintTranslationCatalogCommand:y,UpdateTenantTranslationOverridesCommand:b,GetResolvedBrandingQuery:x,ResolveMessageQuery:S};function w(e){return e.register(_).register(v).register(y).register(b).register(x).register(S)}export{x as GetResolvedBrandingQuery,S as ResolveMessageQuery,y as UpdateBlueprintTranslationCatalogCommand,_ as UpdateTenantBrandingCommand,b as UpdateTenantTranslationOverridesCommand,v as VerifyCustomDomainCommand,C as appConfigContracts,w as registerAppConfigContracts};
1
+ import{defineCommand as e,defineQuery as t}from"../spec.js";import{OwnersEnum as n,StabilityEnum as r,TagsEnum as i}from"../ownership.js";import{ScalarTypeEnum as a,SchemaModel as o}from"@lssm/lib.schema";const s=new o({name:`BrandingAssetInput`,fields:{type:{type:a.String_unsecure(),isOptional:!1},url:{type:a.URL(),isOptional:!1},mimeType:{type:a.String_unsecure(),isOptional:!0}}}),c=new o({name:`UpdateTenantBrandingInput`,fields:{tenantId:{type:a.ID(),isOptional:!1},appId:{type:a.ID(),isOptional:!1},environment:{type:a.String_unsecure(),isOptional:!0},appName:{type:a.JSONObject(),isOptional:!0},assets:{type:s,isOptional:!0,isArray:!0},colors:{type:a.JSONObject(),isOptional:!0},customDomain:{type:a.String_unsecure(),isOptional:!0},subdomain:{type:a.String_unsecure(),isOptional:!0}}}),l=new o({name:`UpdateTenantBrandingOutput`,fields:{success:{type:a.Boolean(),isOptional:!1},updatedAt:{type:a.DateTime(),isOptional:!1}}}),u=new o({name:`VerifyCustomDomainInput`,fields:{tenantId:{type:a.ID(),isOptional:!1},appId:{type:a.ID(),isOptional:!1},domain:{type:a.String_unsecure(),isOptional:!1}}}),d=new o({name:`VerifyCustomDomainOutput`,fields:{status:{type:a.String_unsecure(),isOptional:!1},message:{type:a.String_unsecure(),isOptional:!0}}}),f=new o({name:`TranslationEntryInput`,fields:{key:{type:a.String_unsecure(),isOptional:!1},locale:{type:a.String_unsecure(),isOptional:!1},value:{type:a.String_unsecure(),isOptional:!1},context:{type:a.String_unsecure(),isOptional:!0}}}),p=new o({name:`UpdateBlueprintTranslationInput`,fields:{blueprintName:{type:a.String_unsecure(),isOptional:!1},blueprintVersion:{type:a.Int_unsecure(),isOptional:!1},catalogName:{type:a.String_unsecure(),isOptional:!1},catalogVersion:{type:a.Int_unsecure(),isOptional:!1},defaultLocale:{type:a.String_unsecure(),isOptional:!1},supportedLocales:{type:a.String_unsecure(),isOptional:!1,isArray:!0},entries:{type:f,isOptional:!1,isArray:!0}}}),m=new o({name:`UpdateTenantTranslationInput`,fields:{tenantId:{type:a.ID(),isOptional:!1},appId:{type:a.ID(),isOptional:!1},entries:{type:f,isOptional:!1,isArray:!0},defaultLocale:{type:a.String_unsecure(),isOptional:!0},enabledLocales:{type:a.String_unsecure(),isOptional:!0,isArray:!0}}}),h=new o({name:`MessageResolutionInput`,fields:{tenantId:{type:a.ID(),isOptional:!1},appId:{type:a.ID(),isOptional:!1},locale:{type:a.String_unsecure(),isOptional:!1},key:{type:a.String_unsecure(),isOptional:!1}}}),g=new o({name:`MessageResolutionOutput`,fields:{value:{type:a.String_unsecure(),isOptional:!0},source:{type:a.String_unsecure(),isOptional:!0}}}),_=e({meta:{name:`appConfig.updateTenantBranding`,version:1,description:`Applies tenant branding overrides (names, assets, domains).`,owners:[n.PlatformSigil],tags:[`branding`],stability:r.Beta,goal:`Maintain tenant-specific branding assets and domains.`,context:`Invoked by the Studio or automation when a tenant updates branding settings.`},io:{input:c,output:l},policy:{auth:`admin`,policies:[{name:`platform.app-config.manage`,version:1}]}}),v=e({meta:{name:`appConfig.verifyCustomDomain`,version:1,description:`Validates DNS ownership for tenant custom domains.`,owners:[n.PlatformSigil],tags:[`branding`],stability:r.Experimental,goal:`Confirm tenant-provided domains before activation.`,context:`Triggered after the tenant adds DNS records to verify domain ownership.`},io:{input:u,output:d},policy:{auth:`admin`,policies:[{name:`platform.app-config.manage`,version:1}]}}),y=e({meta:{name:`appConfig.updateBlueprintTranslationCatalog`,version:1,description:`Registers or updates translation entries for a blueprint.`,owners:[n.PlatformSigil],tags:[i.I18n],stability:r.Beta,goal:`Keep blueprint translation catalogs in sync with shipped copy.`,context:`Executed by platform automation or CI when committing updated translation catalogs.`},io:{input:p,output:l},policy:{auth:`admin`,policies:[{name:`platform.app-config.manage`,version:1}]}}),b=e({meta:{name:`appConfig.updateTenantTranslations`,version:1,description:`Applies tenant-specific translation entries.`,owners:[n.PlatformSigil],tags:[i.I18n],stability:r.Beta,goal:`Allow tenants to override selected message keys.`,context:`Called by the Studio when a tenant customizes labels or copy for their locale.`},io:{input:m,output:l},policy:{auth:`admin`,policies:[{name:`platform.app-config.manage`,version:1}]}}),x=t({meta:{name:`appConfig.getResolvedBranding`,version:1,description:`Returns the resolved branding for a tenant/app/environment.`,owners:[n.PlatformSigil],tags:[`branding`],stability:r.Beta,goal:`Expose hydrated branding assets for rendering UI/email experiences.`,context:`Used by runtime surfaces to fetch brand assets prior to rendering tenant-specific experiences.`},io:{input:new o({name:`GetResolvedBrandingInput`,fields:{tenantId:{type:a.ID(),isOptional:!1},appId:{type:a.ID(),isOptional:!1},environment:{type:a.String_unsecure(),isOptional:!0}}}),output:new o({name:`GetResolvedBrandingOutput`,fields:{branding:{type:a.JSONObject(),isOptional:!1}}})},policy:{auth:`admin`,policies:[{name:`platform.app-config.read`,version:1}]}}),S=t({meta:{name:`appConfig.resolveMessage`,version:1,description:`Resolves a translation key for a tenant in the requested locale.`,owners:[n.PlatformSigil],tags:[i.I18n],stability:r.Experimental,goal:`Expose a server-side API for resolving message keys on demand.`,context:`Used by backend services or scripts that need translated copy outside the front-end runtime.`},io:{input:h,output:g},policy:{auth:`admin`,policies:[{name:`platform.app-config.read`,version:1}]}}),C={UpdateTenantBrandingCommand:_,VerifyCustomDomainCommand:v,UpdateBlueprintTranslationCatalogCommand:y,UpdateTenantTranslationOverridesCommand:b,GetResolvedBrandingQuery:x,ResolveMessageQuery:S};function w(e){return e.register(_).register(v).register(y).register(b).register(x).register(S)}export{x as GetResolvedBrandingQuery,S as ResolveMessageQuery,y as UpdateBlueprintTranslationCatalogCommand,_ as UpdateTenantBrandingCommand,b as UpdateTenantTranslationOverridesCommand,v as VerifyCustomDomainCommand,C as appConfigContracts,w as registerAppConfigContracts};
@@ -1 +1 @@
1
- import{l as e}from"../schema/dist/ScalarTypeEnum.js";import{t}from"../schema/dist/SchemaModel.js";import"../schema/dist/index.js";import{defineEvent as n}from"../events.js";import{OwnersEnum as r,StabilityEnum as i,TagsEnum as a}from"../ownership.js";const o={title:`Tenant App Config Lifecycle`,description:`Events emitted when tenant app configurations move through lifecycle stages.`,domain:`app-config.lifecycle`,owners:[r.PlatformSigil],tags:[a.Hygiene],stability:i.Beta},s=n({name:`app_config.draft_created`,version:1,description:`A new tenant config draft was created.`,ownership:o,payload:new t({name:`ConfigDraftCreatedPayload`,fields:{tenantId:{type:e.ID(),isOptional:!1},appId:{type:e.ID(),isOptional:!1},version:{type:e.Int_unsecure(),isOptional:!1},blueprintName:{type:e.String_unsecure(),isOptional:!1},blueprintVersion:{type:e.Int_unsecure(),isOptional:!1},createdBy:{type:e.String_unsecure(),isOptional:!1},clonedFrom:{type:e.Int_unsecure(),isOptional:!0}}})}),c=n({name:`app_config.promoted_to_preview`,version:1,description:`A tenant config draft was promoted to preview.`,ownership:o,payload:new t({name:`ConfigPromotedToPreviewPayload`,fields:{tenantId:{type:e.ID(),isOptional:!1},appId:{type:e.ID(),isOptional:!1},version:{type:e.Int_unsecure(),isOptional:!1},promotedBy:{type:e.String_unsecure(),isOptional:!1},warnings:{type:e.String_unsecure(),isOptional:!0,isArray:!0}}})}),l=n({name:`app_config.published`,version:1,description:`A tenant config version was published to production.`,ownership:o,payload:new t({name:`ConfigPublishedPayload`,fields:{tenantId:{type:e.ID(),isOptional:!1},appId:{type:e.ID(),isOptional:!1},version:{type:e.Int_unsecure(),isOptional:!1},previousVersion:{type:e.Int_unsecure(),isOptional:!0},publishedBy:{type:e.String_unsecure(),isOptional:!1},changeSummary:{type:e.String_unsecure(),isOptional:!0},changedSections:{type:e.String_unsecure(),isOptional:!0,isArray:!0}}})}),u=n({name:`app_config.rolled_back`,version:1,description:`A tenant config was rolled back to a previous version.`,ownership:o,payload:new t({name:`ConfigRolledBackPayload`,fields:{tenantId:{type:e.ID(),isOptional:!1},appId:{type:e.ID(),isOptional:!1},newVersion:{type:e.Int_unsecure(),isOptional:!1},rolledBackFrom:{type:e.Int_unsecure(),isOptional:!1},rolledBackTo:{type:e.Int_unsecure(),isOptional:!1},rolledBackBy:{type:e.String_unsecure(),isOptional:!1},reason:{type:e.String_unsecure(),isOptional:!1}}})});export{s as ConfigDraftCreatedEvent,c as ConfigPromotedToPreviewEvent,l as ConfigPublishedEvent,u as ConfigRolledBackEvent};
1
+ import{defineEvent as e}from"../events.js";import{OwnersEnum as t,StabilityEnum as n,TagsEnum as r}from"../ownership.js";import{ScalarTypeEnum as i,SchemaModel as a}from"@lssm/lib.schema";const o={title:`Tenant App Config Lifecycle`,description:`Events emitted when tenant app configurations move through lifecycle stages.`,domain:`app-config.lifecycle`,owners:[t.PlatformSigil],tags:[r.Hygiene],stability:n.Beta},s=e({name:`app_config.draft_created`,version:1,description:`A new tenant config draft was created.`,ownership:o,payload:new a({name:`ConfigDraftCreatedPayload`,fields:{tenantId:{type:i.ID(),isOptional:!1},appId:{type:i.ID(),isOptional:!1},version:{type:i.Int_unsecure(),isOptional:!1},blueprintName:{type:i.String_unsecure(),isOptional:!1},blueprintVersion:{type:i.Int_unsecure(),isOptional:!1},createdBy:{type:i.String_unsecure(),isOptional:!1},clonedFrom:{type:i.Int_unsecure(),isOptional:!0}}})}),c=e({name:`app_config.promoted_to_preview`,version:1,description:`A tenant config draft was promoted to preview.`,ownership:o,payload:new a({name:`ConfigPromotedToPreviewPayload`,fields:{tenantId:{type:i.ID(),isOptional:!1},appId:{type:i.ID(),isOptional:!1},version:{type:i.Int_unsecure(),isOptional:!1},promotedBy:{type:i.String_unsecure(),isOptional:!1},warnings:{type:i.String_unsecure(),isOptional:!0,isArray:!0}}})}),l=e({name:`app_config.published`,version:1,description:`A tenant config version was published to production.`,ownership:o,payload:new a({name:`ConfigPublishedPayload`,fields:{tenantId:{type:i.ID(),isOptional:!1},appId:{type:i.ID(),isOptional:!1},version:{type:i.Int_unsecure(),isOptional:!1},previousVersion:{type:i.Int_unsecure(),isOptional:!0},publishedBy:{type:i.String_unsecure(),isOptional:!1},changeSummary:{type:i.String_unsecure(),isOptional:!0},changedSections:{type:i.String_unsecure(),isOptional:!0,isArray:!0}}})}),u=e({name:`app_config.rolled_back`,version:1,description:`A tenant config was rolled back to a previous version.`,ownership:o,payload:new a({name:`ConfigRolledBackPayload`,fields:{tenantId:{type:i.ID(),isOptional:!1},appId:{type:i.ID(),isOptional:!1},newVersion:{type:i.Int_unsecure(),isOptional:!1},rolledBackFrom:{type:i.Int_unsecure(),isOptional:!1},rolledBackTo:{type:i.Int_unsecure(),isOptional:!1},rolledBackBy:{type:i.String_unsecure(),isOptional:!1},reason:{type:i.String_unsecure(),isOptional:!1}}})});export{s as ConfigDraftCreatedEvent,c as ConfigPromotedToPreviewEvent,l as ConfigPublishedEvent,u as ConfigRolledBackEvent};
@@ -1 +1 @@
1
- import{l as e}from"../schema/dist/ScalarTypeEnum.js";import{t}from"../schema/dist/SchemaModel.js";import"../schema/dist/index.js";import{defineCommand as n,defineQuery as r}from"../spec.js";import{OwnersEnum as i,StabilityEnum as a,TagsEnum as o}from"../ownership.js";import{ConfigDraftCreatedEvent as s,ConfigPromotedToPreviewEvent as c,ConfigPublishedEvent as l,ConfigRolledBackEvent as u}from"./events.js";const d={auth:`admin`,policies:[{name:`platform.app-config.manage`,version:1}]},f={auth:`admin`,policies:[{name:`platform.app-config.read`,version:1}]},p=new t({name:`ConfigVersionRecord`,fields:{meta:{type:e.JSONObject(),isOptional:!1},config:{type:e.JSONObject(),isOptional:!1}}}),m=new t({name:`ConfigTransitionRecord`,fields:{tenantId:{type:e.ID(),isOptional:!1},appId:{type:e.ID(),isOptional:!1},fromStatus:{type:e.String_unsecure(),isOptional:!1},toStatus:{type:e.String_unsecure(),isOptional:!1},version:{type:e.Int_unsecure(),isOptional:!1},timestamp:{type:e.DateTime(),isOptional:!1},actor:{type:e.String_unsecure(),isOptional:!1},reason:{type:e.String_unsecure(),isOptional:!0}}}),h=new t({name:`CreateTenantConfigDraftInput`,fields:{tenantId:{type:e.ID(),isOptional:!1},appId:{type:e.ID(),isOptional:!1},blueprintName:{type:e.String_unsecure(),isOptional:!1},blueprintVersion:{type:e.Int_unsecure(),isOptional:!1},environment:{type:e.String_unsecure(),isOptional:!0},fromVersion:{type:e.Int_unsecure(),isOptional:!0},createdBy:{type:e.String_unsecure(),isOptional:!1}}}),g=new t({name:`CreateTenantConfigDraftOutput`,fields:{version:{type:e.Int_unsecure(),isOptional:!1},status:{type:e.String_unsecure(),isOptional:!1},createdAt:{type:e.DateTime(),isOptional:!1}}}),_=n({meta:{name:`appConfig.lifecycle.createDraft`,version:1,description:`Creates a new draft tenant config version.`,owners:[i.PlatformSigil],tags:[o.Hygiene,`app-config`],stability:a.Experimental,goal:`Allow operators to start editing a new tenant config version.`,context:`Invoked by the Studio or automation when starting a new configuration run.`},io:{input:h,output:g},policy:d,sideEffects:{emits:[{ref:s,when:`after successful draft creation`}]}}),v=new t({name:`PromoteTenantConfigPreviewInput`,fields:{tenantId:{type:e.ID(),isOptional:!1},appId:{type:e.ID(),isOptional:!1},version:{type:e.Int_unsecure(),isOptional:!1},promotedBy:{type:e.String_unsecure(),isOptional:!1}}}),y=new t({name:`PromoteTenantConfigPreviewOutput`,fields:{version:{type:e.Int_unsecure(),isOptional:!1},status:{type:e.String_unsecure(),isOptional:!1},warnings:{type:e.String_unsecure(),isOptional:!0,isArray:!0}}}),b=n({meta:{name:`appConfig.lifecycle.promoteToPreview`,version:1,description:`Promotes a draft tenant config to preview/testing state.`,owners:[i.PlatformSigil],tags:[o.Hygiene,`app-config`],stability:a.Experimental,goal:`Enable validation and testing of draft configurations.`,context:`Called when a draft passes initial checks and should be exposed to preview environments.`},io:{input:v,output:y},policy:d,sideEffects:{emits:[{ref:c,when:`after promotion to preview`}]}}),x=new t({name:`PublishTenantConfigInput`,fields:{tenantId:{type:e.ID(),isOptional:!1},appId:{type:e.ID(),isOptional:!1},version:{type:e.Int_unsecure(),isOptional:!1},environment:{type:e.String_unsecure(),isOptional:!0},publishedBy:{type:e.String_unsecure(),isOptional:!1},changeSummary:{type:e.String_unsecure(),isOptional:!0}}}),S=new t({name:`PublishTenantConfigOutput`,fields:{version:{type:e.Int_unsecure(),isOptional:!1},status:{type:e.String_unsecure(),isOptional:!1},previousVersion:{type:e.Int_unsecure(),isOptional:!0},publishedAt:{type:e.DateTime(),isOptional:!1}}}),C=n({meta:{name:`appConfig.lifecycle.publish`,version:1,description:`Publishes a preview tenant config to production.`,owners:[i.PlatformSigil],tags:[o.Hygiene,`app-config`],stability:a.Experimental,goal:`Promote tested configurations to production safely.`,context:`Triggered after validation passes and change management approvals are complete.`},io:{input:x,output:S},policy:d,sideEffects:{emits:[{ref:l,when:`after publish succeeds`}]}}),w=new t({name:`RollbackTenantConfigInput`,fields:{tenantId:{type:e.ID(),isOptional:!1},appId:{type:e.ID(),isOptional:!1},toVersion:{type:e.Int_unsecure(),isOptional:!1},environment:{type:e.String_unsecure(),isOptional:!0},rolledBackBy:{type:e.String_unsecure(),isOptional:!1},reason:{type:e.String_unsecure(),isOptional:!1}}}),T=new t({name:`RollbackTenantConfigOutput`,fields:{newVersion:{type:e.Int_unsecure(),isOptional:!1},status:{type:e.String_unsecure(),isOptional:!1},rolledBackFrom:{type:e.Int_unsecure(),isOptional:!1}}}),E=n({meta:{name:`appConfig.lifecycle.rollback`,version:1,description:`Rolls back to a previously published tenant config version.`,owners:[i.PlatformSigil],tags:[o.Hygiene,`app-config`],stability:a.Experimental,goal:`Provide rapid recovery when new configs regress production.`,context:`Called manually or automatically when monitoring detects regression and a rollback is required.`},io:{input:w,output:T},policy:d,sideEffects:{emits:[{ref:u,when:`after rollback completes`}]}}),D=new t({name:`ListTenantConfigVersionsInput`,fields:{tenantId:{type:e.ID(),isOptional:!1},appId:{type:e.ID(),isOptional:!1}}}),O=new t({name:`ListTenantConfigVersionsOutput`,fields:{versions:{type:p,isOptional:!1,isArray:!0},transitions:{type:m,isOptional:!0,isArray:!0}}}),k=r({meta:{name:`appConfig.lifecycle.listVersions`,version:1,description:`Lists all versions of a tenant configuration.`,owners:[i.PlatformSigil],tags:[`app-config`,o.Hygiene],stability:a.Experimental,goal:`Support lifecycle views and change audit tooling.`,context:`Used by the Studio to render history timelines and by automation for change tracking.`},io:{input:D,output:O},policy:f}),A=new t({name:`GetTenantConfigVersionInput`,fields:{tenantId:{type:e.ID(),isOptional:!1},appId:{type:e.ID(),isOptional:!1},version:{type:e.Int_unsecure(),isOptional:!1}}}),j=new t({name:`GetTenantConfigVersionOutput`,fields:{version:{type:p,isOptional:!1}}}),M=r({meta:{name:`appConfig.lifecycle.getVersion`,version:1,description:`Fetches a single tenant config version by id.`,owners:[i.PlatformSigil],tags:[`app-config`,o.Hygiene],stability:a.Experimental,goal:`Allow detail drill-down for lifecycle entries.`,context:`Used by automation to fetch config payloads for comparison or export.`},io:{input:A,output:j},policy:f}),N={CreateTenantConfigDraftCommand:_,PromoteTenantConfigToPreviewCommand:b,PublishTenantConfigCommand:C,RollbackTenantConfigCommand:E,ListTenantConfigVersionsQuery:k,GetTenantConfigVersionQuery:M};function P(e){return e.register(_).register(b).register(C).register(E).register(k).register(M)}export{_ as CreateTenantConfigDraftCommand,M as GetTenantConfigVersionQuery,k as ListTenantConfigVersionsQuery,b as PromoteTenantConfigToPreviewCommand,C as PublishTenantConfigCommand,E as RollbackTenantConfigCommand,N as lifecycleContracts,P as registerAppConfigLifecycleContracts};
1
+ import{defineCommand as e,defineQuery as t}from"../spec.js";import{OwnersEnum as n,StabilityEnum as r,TagsEnum as i}from"../ownership.js";import{ConfigDraftCreatedEvent as a,ConfigPromotedToPreviewEvent as o,ConfigPublishedEvent as s,ConfigRolledBackEvent as c}from"./events.js";import{ScalarTypeEnum as l,SchemaModel as u}from"@lssm/lib.schema";const d={auth:`admin`,policies:[{name:`platform.app-config.manage`,version:1}]},f={auth:`admin`,policies:[{name:`platform.app-config.read`,version:1}]},p=new u({name:`ConfigVersionRecord`,fields:{meta:{type:l.JSONObject(),isOptional:!1},config:{type:l.JSONObject(),isOptional:!1}}}),m=new u({name:`ConfigTransitionRecord`,fields:{tenantId:{type:l.ID(),isOptional:!1},appId:{type:l.ID(),isOptional:!1},fromStatus:{type:l.String_unsecure(),isOptional:!1},toStatus:{type:l.String_unsecure(),isOptional:!1},version:{type:l.Int_unsecure(),isOptional:!1},timestamp:{type:l.DateTime(),isOptional:!1},actor:{type:l.String_unsecure(),isOptional:!1},reason:{type:l.String_unsecure(),isOptional:!0}}}),h=new u({name:`CreateTenantConfigDraftInput`,fields:{tenantId:{type:l.ID(),isOptional:!1},appId:{type:l.ID(),isOptional:!1},blueprintName:{type:l.String_unsecure(),isOptional:!1},blueprintVersion:{type:l.Int_unsecure(),isOptional:!1},environment:{type:l.String_unsecure(),isOptional:!0},fromVersion:{type:l.Int_unsecure(),isOptional:!0},createdBy:{type:l.String_unsecure(),isOptional:!1}}}),g=new u({name:`CreateTenantConfigDraftOutput`,fields:{version:{type:l.Int_unsecure(),isOptional:!1},status:{type:l.String_unsecure(),isOptional:!1},createdAt:{type:l.DateTime(),isOptional:!1}}}),_=e({meta:{name:`appConfig.lifecycle.createDraft`,version:1,description:`Creates a new draft tenant config version.`,owners:[n.PlatformSigil],tags:[i.Hygiene,`app-config`],stability:r.Experimental,goal:`Allow operators to start editing a new tenant config version.`,context:`Invoked by the Studio or automation when starting a new configuration run.`},io:{input:h,output:g},policy:d,sideEffects:{emits:[{ref:a,when:`after successful draft creation`}]}}),v=new u({name:`PromoteTenantConfigPreviewInput`,fields:{tenantId:{type:l.ID(),isOptional:!1},appId:{type:l.ID(),isOptional:!1},version:{type:l.Int_unsecure(),isOptional:!1},promotedBy:{type:l.String_unsecure(),isOptional:!1}}}),y=new u({name:`PromoteTenantConfigPreviewOutput`,fields:{version:{type:l.Int_unsecure(),isOptional:!1},status:{type:l.String_unsecure(),isOptional:!1},warnings:{type:l.String_unsecure(),isOptional:!0,isArray:!0}}}),b=e({meta:{name:`appConfig.lifecycle.promoteToPreview`,version:1,description:`Promotes a draft tenant config to preview/testing state.`,owners:[n.PlatformSigil],tags:[i.Hygiene,`app-config`],stability:r.Experimental,goal:`Enable validation and testing of draft configurations.`,context:`Called when a draft passes initial checks and should be exposed to preview environments.`},io:{input:v,output:y},policy:d,sideEffects:{emits:[{ref:o,when:`after promotion to preview`}]}}),x=new u({name:`PublishTenantConfigInput`,fields:{tenantId:{type:l.ID(),isOptional:!1},appId:{type:l.ID(),isOptional:!1},version:{type:l.Int_unsecure(),isOptional:!1},environment:{type:l.String_unsecure(),isOptional:!0},publishedBy:{type:l.String_unsecure(),isOptional:!1},changeSummary:{type:l.String_unsecure(),isOptional:!0}}}),S=new u({name:`PublishTenantConfigOutput`,fields:{version:{type:l.Int_unsecure(),isOptional:!1},status:{type:l.String_unsecure(),isOptional:!1},previousVersion:{type:l.Int_unsecure(),isOptional:!0},publishedAt:{type:l.DateTime(),isOptional:!1}}}),C=e({meta:{name:`appConfig.lifecycle.publish`,version:1,description:`Publishes a preview tenant config to production.`,owners:[n.PlatformSigil],tags:[i.Hygiene,`app-config`],stability:r.Experimental,goal:`Promote tested configurations to production safely.`,context:`Triggered after validation passes and change management approvals are complete.`},io:{input:x,output:S},policy:d,sideEffects:{emits:[{ref:s,when:`after publish succeeds`}]}}),w=new u({name:`RollbackTenantConfigInput`,fields:{tenantId:{type:l.ID(),isOptional:!1},appId:{type:l.ID(),isOptional:!1},toVersion:{type:l.Int_unsecure(),isOptional:!1},environment:{type:l.String_unsecure(),isOptional:!0},rolledBackBy:{type:l.String_unsecure(),isOptional:!1},reason:{type:l.String_unsecure(),isOptional:!1}}}),T=new u({name:`RollbackTenantConfigOutput`,fields:{newVersion:{type:l.Int_unsecure(),isOptional:!1},status:{type:l.String_unsecure(),isOptional:!1},rolledBackFrom:{type:l.Int_unsecure(),isOptional:!1}}}),E=e({meta:{name:`appConfig.lifecycle.rollback`,version:1,description:`Rolls back to a previously published tenant config version.`,owners:[n.PlatformSigil],tags:[i.Hygiene,`app-config`],stability:r.Experimental,goal:`Provide rapid recovery when new configs regress production.`,context:`Called manually or automatically when monitoring detects regression and a rollback is required.`},io:{input:w,output:T},policy:d,sideEffects:{emits:[{ref:c,when:`after rollback completes`}]}}),D=new u({name:`ListTenantConfigVersionsInput`,fields:{tenantId:{type:l.ID(),isOptional:!1},appId:{type:l.ID(),isOptional:!1}}}),O=new u({name:`ListTenantConfigVersionsOutput`,fields:{versions:{type:p,isOptional:!1,isArray:!0},transitions:{type:m,isOptional:!0,isArray:!0}}}),k=t({meta:{name:`appConfig.lifecycle.listVersions`,version:1,description:`Lists all versions of a tenant configuration.`,owners:[n.PlatformSigil],tags:[`app-config`,i.Hygiene],stability:r.Experimental,goal:`Support lifecycle views and change audit tooling.`,context:`Used by the Studio to render history timelines and by automation for change tracking.`},io:{input:D,output:O},policy:f}),A=new u({name:`GetTenantConfigVersionInput`,fields:{tenantId:{type:l.ID(),isOptional:!1},appId:{type:l.ID(),isOptional:!1},version:{type:l.Int_unsecure(),isOptional:!1}}}),j=new u({name:`GetTenantConfigVersionOutput`,fields:{version:{type:p,isOptional:!1}}}),M=t({meta:{name:`appConfig.lifecycle.getVersion`,version:1,description:`Fetches a single tenant config version by id.`,owners:[n.PlatformSigil],tags:[`app-config`,i.Hygiene],stability:r.Experimental,goal:`Allow detail drill-down for lifecycle entries.`,context:`Used by automation to fetch config payloads for comparison or export.`},io:{input:A,output:j},policy:f}),N={CreateTenantConfigDraftCommand:_,PromoteTenantConfigToPreviewCommand:b,PublishTenantConfigCommand:C,RollbackTenantConfigCommand:E,ListTenantConfigVersionsQuery:k,GetTenantConfigVersionQuery:M};function P(e){return e.register(_).register(b).register(C).register(E).register(k).register(M)}export{_ as CreateTenantConfigDraftCommand,M as GetTenantConfigVersionQuery,k as ListTenantConfigVersionsQuery,b as PromoteTenantConfigToPreviewCommand,C as PublishTenantConfigCommand,E as RollbackTenantConfigCommand,N as lifecycleContracts,P as registerAppConfigLifecycleContracts};
package/dist/events.js CHANGED
@@ -1 +1 @@
1
- import"./schema/dist/index.js";function e(e){return e}const t=(e,t)=>`${e}.v${t}`;export{e as defineEvent,t as eventKey};
1
+ import"@lssm/lib.schema";function e(e){return e}const t=(e,t)=>`${e}.v${t}`;export{e as defineEvent,t as eventKey};
package/dist/index.js CHANGED
@@ -1 +1 @@
1
- import{CapabilityRegistry as e,capabilityKey as t,defineCapability as n}from"./capabilities.js";import{DataViewRegistry as r,dataViewKey as i}from"./data-views.js";import{n as a}from"./schema/dist/SchemaModel.js";import"./schema/dist/index.js";import{defineEvent as o,eventKey as s}from"./events.js";import{FeatureRegistry as c,installFeature as l,validateFeatureTargetsV2 as u}from"./features.js";import{FormRegistry as d,buildZodWithRelations as f,defineFormSpec as p,evalPredicate as m}from"./forms.js";import{schemaToMarkdown as h,schemaToMarkdownDetail as g,schemaToMarkdownList as _,schemaToMarkdownSummary as v,schemaToMarkdownTable as y}from"./schema-to-markdown.js";import{TransformEngine as b,createDefaultTransformEngine as x,registerBasicValidation as S,registerDefaultReactRenderer as C,registerReactToMarkdownRenderer as w}from"./presentations.v2.js";import{createEngineWithDefaults as T,createFeatureModule as E,registerFeature as D,renderFeaturePresentation as O}from"./client/react/feature-render.js";import{createFormRenderer as k}from"./client/react/form-render.js";import{shadcnDriver as A}from"./client/react/drivers/shadcn.js";import{rnReusablesDriver as j}from"./client/react/drivers/rn-reusables.js";import"./client/index.js";import{defaultGqlField as M,defaultMcpTool as N,defaultRestPath as P,jsonSchemaForSpec as F}from"./jsonschema.js";import{registerContractsOnBuilder as I}from"./server/graphql-pothos.js";import{exportContractsToGraphQLSchema as L}from"./server/graphql-schema-export.js";import{PresentationRegistry as R,jsonSchemaForPresentation as z}from"./presentations.js";import{createMcpServer as B}from"./server/provider-mcp.js";import{createFetchHandler as V}from"./server/rest-generic.js";import{elysiaPlugin as H}from"./server/rest-elysia.js";import{expressRouter as U}from"./server/rest-express.js";import{makeNextAppHandler as W}from"./server/rest-next-app.js";import{makeNextPagesHandler as G}from"./server/rest-next-pages.js";import"./server/index.js";import{defineCommand as K,defineQuery as q,isEmitDeclRef as J}from"./spec.js";import{SpecRegistry as Y,opKey as X}from"./registry.js";import{installOp as Z,makeEmit as Q,op as $}from"./install.js";import{definePrompt as ee}from"./prompt.js";import{PromptRegistry as te}from"./promptRegistry.js";import{ResourceRegistry as ne,defineResourceTemplate as re,isResourceRef as ie,resourceRef as ae}from"./resources.js";import{toV2FromV1 as oe}from"./presentations.backcompat.js";import{Owners as se,OwnersEnum as ce,StabilityEnum as le,Tags as ue,TagsEnum as de}from"./ownership.js";import{CompleteOnboardingBaseInput as fe,CompleteOnboardingBaseOutput as pe,CompleteOnboardingBaseSpec as me,DeleteOnboardingDraftBaseSpec as he,DeleteOnboardingDraftOutput as ge,GetOnboardingDraftBaseSpec as _e,GetOnboardingDraftOutput as ve,SaveOnboardingDraftBaseSpec as ye,SaveOnboardingDraftInput as be,SaveOnboardingDraftOutput as xe}from"./onboarding-base.js";import{openBankingAccountsReadCapability as Se,openBankingBalancesReadCapability as Ce,openBankingTransactionsReadCapability as we,registerOpenBankingCapabilities as Te}from"./capabilities/openbanking.js";import{PolicyRegistry as Ee,makePolicyKey as De}from"./policy/spec.js";import{PolicyEngine as Oe}from"./policy/engine.js";import{OPAPolicyAdapter as ke,buildOPAInput as Ae}from"./policy/opa-adapter.js";import{ThemeRegistry as je,makeThemeRef as Me}from"./themes.js";import{MigrationRegistry as Ne}from"./migrations.js";import{TelemetryRegistry as Pe,makeTelemetryKey as Fe}from"./telemetry/spec.js";import{TelemetryTracker as Ie}from"./telemetry/tracker.js";import{TelemetryAnomalyMonitor as Le}from"./telemetry/anomaly.js";import"./telemetry/index.js";import{TestRegistry as Re,makeTestKey as ze}from"./tests/spec.js";import{TestRunner as Be}from"./tests/runner.js";import"./tests/index.js";import{ExperimentRegistry as Ve,makeExperimentKey as He}from"./experiments/spec.js";import{ExperimentEvaluator as Ue}from"./experiments/evaluator.js";import{AppBlueprintRegistry as We,makeAppBlueprintKey as Ge}from"./app-config/spec.js";import{composeAppConfig as Ke,resolveAppConfig as qe}from"./app-config/runtime.js";import{IntegrationSpecRegistry as Je,makeIntegrationSpecKey as Ye}from"./integrations/spec.js";import{registerStripeIntegration as Xe,stripeIntegrationSpec as Ze}from"./integrations/providers/stripe.js";import{postmarkIntegrationSpec as Qe,registerPostmarkIntegration as $e}from"./integrations/providers/postmark.js";import{qdrantIntegrationSpec as et,registerQdrantIntegration as tt}from"./integrations/providers/qdrant.js";import{mistralIntegrationSpec as nt,registerMistralIntegration as rt}from"./integrations/providers/mistral.js";import{elevenLabsIntegrationSpec as it,registerElevenLabsIntegration as at}from"./integrations/providers/elevenlabs.js";import{gmailIntegrationSpec as ot,registerGmailIntegration as st}from"./integrations/providers/gmail.js";import{googleCalendarIntegrationSpec as ct,registerGoogleCalendarIntegration as lt}from"./integrations/providers/google-calendar.js";import{registerTwilioSmsIntegration as ut,twilioSmsIntegrationSpec as dt}from"./integrations/providers/twilio-sms.js";import{gcsStorageIntegrationSpec as ft,registerGcsStorageIntegration as pt}from"./integrations/providers/gcs-storage.js";import{powensIntegrationSpec as mt,registerPowensIntegration as ht}from"./integrations/providers/powens.js";import{MistralLLMProvider as gt}from"./integrations/providers/impls/mistral-llm.js";import{MistralEmbeddingProvider as _t}from"./integrations/providers/impls/mistral-embedding.js";import{QdrantVectorProvider as vt}from"./integrations/providers/impls/qdrant-vector.js";import{GmailInboundProvider as yt}from"./integrations/providers/impls/gmail-inbound.js";import{GmailOutboundProvider as bt}from"./integrations/providers/impls/gmail-outbound.js";import{GoogleCalendarProvider as xt}from"./integrations/providers/impls/google-calendar.js";import{ElevenLabsVoiceProvider as St}from"./integrations/providers/impls/elevenlabs-voice.js";import{GoogleCloudStorageProvider as Ct}from"./integrations/providers/impls/gcs-storage.js";import{StripePaymentsProvider as wt}from"./integrations/providers/impls/stripe-payments.js";import{PostmarkEmailProvider as Tt}from"./integrations/providers/impls/postmark-email.js";import{TwilioSmsProvider as Et}from"./integrations/providers/impls/twilio-sms.js";import{PowensClient as Dt,PowensClientError as Ot}from"./integrations/providers/impls/powens-client.js";import{PowensOpenBankingProvider as kt}from"./integrations/providers/impls/powens-openbanking.js";import{IntegrationProviderFactory as At}from"./integrations/providers/impls/provider-factory.js";import{SecretProviderError as jt,normalizeSecretPayload as Mt,parseSecretUri as Nt}from"./integrations/secrets/provider.js";import{GcpSecretManagerProvider as Pt}from"./integrations/secrets/gcp-secret-manager.js";import{EnvSecretProvider as Ft}from"./integrations/secrets/env-secret-provider.js";import{SecretProviderManager as It}from"./integrations/secrets/manager.js";import{IntegrationCallGuard as Lt,connectionStatusLabel as Rt,ensureConnectionReady as zt}from"./integrations/runtime.js";import{IntegrationHealthService as Bt}from"./integrations/health.js";import{AccountBalanceRecord as Vt,BankAccountRecord as Ht,BankTransactionRecord as Ut}from"./integrations/openbanking/models.js";import{OPENBANKING_PII_FIELDS as Wt,OPENBANKING_TELEMETRY_EVENTS as Gt,redactOpenBankingTelemetryPayload as Kt}from"./integrations/openbanking/telemetry.js";import{OpenBankingGetAccount as qt,OpenBankingListAccounts as Jt,OpenBankingSyncAccounts as Yt}from"./integrations/openbanking/contracts/accounts.js";import{OpenBankingListTransactions as Xt,OpenBankingSyncTransactions as Zt}from"./integrations/openbanking/contracts/transactions.js";import{OpenBankingGetBalances as Qt,OpenBankingRefreshBalances as $t}from"./integrations/openbanking/contracts/balances.js";import{registerOpenBankingContracts as en}from"./integrations/openbanking/contracts/index.js";import{assertPrimaryOpenBankingReady as tn,ensurePrimaryOpenBankingIntegration as nn}from"./integrations/openbanking/guards.js";import"./integrations/index.js";import{KnowledgeSpaceRegistry as rn,makeKnowledgeSpaceKey as an}from"./knowledge/spec.js";import{productCanonKnowledgeSpace as on,registerProductCanonKnowledgeSpace as sn}from"./knowledge/spaces/product-canon.js";import{registerSupportFaqKnowledgeSpace as cn,supportFaqKnowledgeSpace as ln}from"./knowledge/spaces/support-faq.js";import{emailThreadsKnowledgeSpace as un,registerEmailThreadsKnowledgeSpace as dn}from"./knowledge/spaces/email-threads.js";import{registerUploadedDocsKnowledgeSpace as fn,uploadedDocsKnowledgeSpace as pn}from"./knowledge/spaces/uploaded-docs.js";import{financialDocsKnowledgeSpace as mn,registerFinancialDocsKnowledgeSpace as hn}from"./knowledge/spaces/financial-docs.js";import{financialOverviewKnowledgeSpace as gn,registerFinancialOverviewKnowledgeSpace as _n}from"./knowledge/spaces/financial-overview.js";import"./knowledge/index.js";import{CreateIntegrationConnection as vn,DeleteIntegrationConnection as yn,ListIntegrationConnections as bn,TestIntegrationConnection as xn,UpdateIntegrationConnection as Sn,integrationContracts as Cn,registerIntegrationContracts as wn}from"./integrations/contracts.js";import{CreateKnowledgeSource as Tn,DeleteKnowledgeSource as En,ListKnowledgeSources as Dn,TriggerKnowledgeSourceSync as On,UpdateKnowledgeSource as kn,knowledgeContracts as An,registerKnowledgeContracts as jn}from"./knowledge/contracts.js";import{behaviorToEnvelope as Mn,errorToEnvelope as Nn,telemetryToEnvelope as Pn}from"./regenerator/utils.js";import{RegeneratorService as Fn}from"./regenerator/service.js";import{ProposalExecutor as In}from"./regenerator/executor.js";import{ExecutorProposalSink as Ln}from"./regenerator/sinks.js";import"./regenerator/index.js";import{WorkflowRegistry as Rn}from"./workflow/spec.js";import{WorkflowValidationError as zn,assertWorkflowSpecValid as Bn,validateWorkflowSpec as Vn}from"./workflow/validation.js";import{evaluateExpression as Hn}from"./workflow/expression.js";import{WorkflowPreFlightError as Un,WorkflowRunner as Wn}from"./workflow/runner.js";import{InMemoryStateStore as Gn}from"./workflow/adapters/memory-store.js";import{PrismaStateStore as Kn}from"./workflow/adapters/db-adapter.js";import{createFileStateStore as qn}from"./workflow/adapters/file-adapter.js";import"./workflow/index.js";export{Vt as AccountBalanceRecord,We as AppBlueprintRegistry,Ht as BankAccountRecord,Ut as BankTransactionRecord,e as CapabilityRegistry,fe as CompleteOnboardingBaseInput,pe as CompleteOnboardingBaseOutput,me as CompleteOnboardingBaseSpec,vn as CreateIntegrationConnection,Tn as CreateKnowledgeSource,r as DataViewRegistry,yn as DeleteIntegrationConnection,En as DeleteKnowledgeSource,he as DeleteOnboardingDraftBaseSpec,ge as DeleteOnboardingDraftOutput,St as ElevenLabsVoiceProvider,Ft as EnvSecretProvider,Ln as ExecutorProposalSink,Ue as ExperimentEvaluator,Ve as ExperimentRegistry,c as FeatureRegistry,d as FormRegistry,Pt as GcpSecretManagerProvider,_e as GetOnboardingDraftBaseSpec,ve as GetOnboardingDraftOutput,yt as GmailInboundProvider,bt as GmailOutboundProvider,xt as GoogleCalendarProvider,Ct as GoogleCloudStorageProvider,Gn as InMemoryStateStore,Lt as IntegrationCallGuard,Bt as IntegrationHealthService,At as IntegrationProviderFactory,Je as IntegrationSpecRegistry,rn as KnowledgeSpaceRegistry,bn as ListIntegrationConnections,Dn as ListKnowledgeSources,Ne as MigrationRegistry,_t as MistralEmbeddingProvider,gt as MistralLLMProvider,ke as OPAPolicyAdapter,Wt as OPENBANKING_PII_FIELDS,Gt as OPENBANKING_TELEMETRY_EVENTS,qt as OpenBankingGetAccount,Qt as OpenBankingGetBalances,Jt as OpenBankingListAccounts,Xt as OpenBankingListTransactions,$t as OpenBankingRefreshBalances,Yt as OpenBankingSyncAccounts,Zt as OpenBankingSyncTransactions,se as Owners,ce as OwnersEnum,Oe as PolicyEngine,Ee as PolicyRegistry,Tt as PostmarkEmailProvider,Dt as PowensClient,Ot as PowensClientError,kt as PowensOpenBankingProvider,R as PresentationRegistry,Kn as PrismaStateStore,te as PromptRegistry,In as ProposalExecutor,vt as QdrantVectorProvider,Fn as RegeneratorService,ne as ResourceRegistry,ye as SaveOnboardingDraftBaseSpec,be as SaveOnboardingDraftInput,xe as SaveOnboardingDraftOutput,jt as SecretProviderError,It as SecretProviderManager,Y as SpecRegistry,le as StabilityEnum,wt as StripePaymentsProvider,ue as Tags,de as TagsEnum,Le as TelemetryAnomalyMonitor,Pe as TelemetryRegistry,Ie as TelemetryTracker,xn as TestIntegrationConnection,Re as TestRegistry,Be as TestRunner,je as ThemeRegistry,b as TransformEngine,On as TriggerKnowledgeSourceSync,Et as TwilioSmsProvider,Sn as UpdateIntegrationConnection,kn as UpdateKnowledgeSource,Un as WorkflowPreFlightError,Rn as WorkflowRegistry,Wn as WorkflowRunner,zn as WorkflowValidationError,tn as assertPrimaryOpenBankingReady,Bn as assertWorkflowSpecValid,Mn as behaviorToEnvelope,Ae as buildOPAInput,f as buildZodWithRelations,t as capabilityKey,Ke as composeAppConfig,Rt as connectionStatusLabel,x as createDefaultTransformEngine,T as createEngineWithDefaults,E as createFeatureModule,V as createFetchHandler,qn as createFileStateStore,k as createFormRenderer,B as createMcpServer,i as dataViewKey,M as defaultGqlField,N as defaultMcpTool,P as defaultRestPath,n as defineCapability,K as defineCommand,o as defineEvent,p as defineFormSpec,ee as definePrompt,q as defineQuery,re as defineResourceTemplate,a as defineSchemaModel,it as elevenLabsIntegrationSpec,H as elysiaPlugin,un as emailThreadsKnowledgeSpace,zt as ensureConnectionReady,nn as ensurePrimaryOpenBankingIntegration,Nn as errorToEnvelope,m as evalPredicate,Hn as evaluateExpression,s as eventKey,L as exportContractsToGraphQLSchema,U as expressRouter,mn as financialDocsKnowledgeSpace,gn as financialOverviewKnowledgeSpace,ft as gcsStorageIntegrationSpec,ot as gmailIntegrationSpec,ct as googleCalendarIntegrationSpec,l as installFeature,Z as installOp,Cn as integrationContracts,J as isEmitDeclRef,ie as isResourceRef,z as jsonSchemaForPresentation,F as jsonSchemaForSpec,An as knowledgeContracts,Ge as makeAppBlueprintKey,Q as makeEmit,He as makeExperimentKey,Ye as makeIntegrationSpecKey,an as makeKnowledgeSpaceKey,W as makeNextAppHandler,G as makeNextPagesHandler,De as makePolicyKey,Fe as makeTelemetryKey,ze as makeTestKey,Me as makeThemeRef,nt as mistralIntegrationSpec,Mt as normalizeSecretPayload,$ as op,X as opKey,Se as openBankingAccountsReadCapability,Ce as openBankingBalancesReadCapability,we as openBankingTransactionsReadCapability,Nt as parseSecretUri,Qe as postmarkIntegrationSpec,mt as powensIntegrationSpec,on as productCanonKnowledgeSpace,et as qdrantIntegrationSpec,Kt as redactOpenBankingTelemetryPayload,S as registerBasicValidation,I as registerContractsOnBuilder,C as registerDefaultReactRenderer,at as registerElevenLabsIntegration,dn as registerEmailThreadsKnowledgeSpace,D as registerFeature,hn as registerFinancialDocsKnowledgeSpace,_n as registerFinancialOverviewKnowledgeSpace,pt as registerGcsStorageIntegration,st as registerGmailIntegration,lt as registerGoogleCalendarIntegration,wn as registerIntegrationContracts,jn as registerKnowledgeContracts,rt as registerMistralIntegration,Te as registerOpenBankingCapabilities,en as registerOpenBankingContracts,$e as registerPostmarkIntegration,ht as registerPowensIntegration,sn as registerProductCanonKnowledgeSpace,tt as registerQdrantIntegration,w as registerReactToMarkdownRenderer,Xe as registerStripeIntegration,cn as registerSupportFaqKnowledgeSpace,ut as registerTwilioSmsIntegration,fn as registerUploadedDocsKnowledgeSpace,O as renderFeaturePresentation,qe as resolveAppConfig,ae as resourceRef,j as rnReusablesDriver,h as schemaToMarkdown,g as schemaToMarkdownDetail,_ as schemaToMarkdownList,v as schemaToMarkdownSummary,y as schemaToMarkdownTable,A as shadcnDriver,Ze as stripeIntegrationSpec,ln as supportFaqKnowledgeSpace,Pn as telemetryToEnvelope,oe as toV2FromV1,dt as twilioSmsIntegrationSpec,pn as uploadedDocsKnowledgeSpace,u as validateFeatureTargetsV2,Vn as validateWorkflowSpec};
1
+ import{CapabilityRegistry as e,capabilityKey as t,defineCapability as n}from"./capabilities.js";import{DataViewRegistry as r,dataViewKey as i}from"./data-views.js";import{defineEvent as a,eventKey as o}from"./events.js";import{FeatureRegistry as s,installFeature as c,validateFeatureTargetsV2 as l}from"./features.js";import{FormRegistry as u,buildZodWithRelations as d,defineFormSpec as f,evalPredicate as p}from"./forms.js";import{schemaToMarkdown as m,schemaToMarkdownDetail as h,schemaToMarkdownList as g,schemaToMarkdownSummary as _,schemaToMarkdownTable as v}from"./schema-to-markdown.js";import{TransformEngine as y,createDefaultTransformEngine as b,registerBasicValidation as x,registerDefaultReactRenderer as S,registerReactToMarkdownRenderer as C}from"./presentations.v2.js";import{createEngineWithDefaults as w,createFeatureModule as T,registerFeature as E,renderFeaturePresentation as D}from"./client/react/feature-render.js";import{createFormRenderer as O}from"./client/react/form-render.js";import{shadcnDriver as k}from"./client/react/drivers/shadcn.js";import{rnReusablesDriver as A}from"./client/react/drivers/rn-reusables.js";import"./client/index.js";import{defaultGqlField as j,defaultMcpTool as M,defaultRestPath as N,jsonSchemaForSpec as P}from"./jsonschema.js";import{registerContractsOnBuilder as F}from"./server/graphql-pothos.js";import{exportContractsToGraphQLSchema as I}from"./server/graphql-schema-export.js";import{PresentationRegistry as L,jsonSchemaForPresentation as R}from"./presentations.js";import{createMcpServer as z}from"./server/provider-mcp.js";import{createFetchHandler as B}from"./server/rest-generic.js";import{elysiaPlugin as V}from"./server/rest-elysia.js";import{expressRouter as H}from"./server/rest-express.js";import{makeNextAppHandler as U}from"./server/rest-next-app.js";import{makeNextPagesHandler as W}from"./server/rest-next-pages.js";import"./server/index.js";import{defineCommand as G,defineQuery as K,isEmitDeclRef as q}from"./spec.js";import{SpecRegistry as J,opKey as Y}from"./registry.js";import{installOp as X,makeEmit as Z,op as Q}from"./install.js";import{definePrompt as $}from"./prompt.js";import{PromptRegistry as ee}from"./promptRegistry.js";import{ResourceRegistry as te,defineResourceTemplate as ne,isResourceRef as re,resourceRef as ie}from"./resources.js";import{toV2FromV1 as ae}from"./presentations.backcompat.js";import{Owners as oe,OwnersEnum as se,StabilityEnum as ce,Tags as le,TagsEnum as ue}from"./ownership.js";import{CompleteOnboardingBaseInput as de,CompleteOnboardingBaseOutput as fe,CompleteOnboardingBaseSpec as pe,DeleteOnboardingDraftBaseSpec as me,DeleteOnboardingDraftOutput as he,GetOnboardingDraftBaseSpec as ge,GetOnboardingDraftOutput as _e,SaveOnboardingDraftBaseSpec as ve,SaveOnboardingDraftInput as ye,SaveOnboardingDraftOutput as be}from"./onboarding-base.js";import{openBankingAccountsReadCapability as xe,openBankingBalancesReadCapability as Se,openBankingTransactionsReadCapability as Ce,registerOpenBankingCapabilities as we}from"./capabilities/openbanking.js";import{PolicyRegistry as Te,makePolicyKey as Ee}from"./policy/spec.js";import{PolicyEngine as De}from"./policy/engine.js";import{OPAPolicyAdapter as Oe,buildOPAInput as ke}from"./policy/opa-adapter.js";import{ThemeRegistry as Ae,makeThemeRef as je}from"./themes.js";import{MigrationRegistry as Me}from"./migrations.js";import{TelemetryRegistry as Ne,makeTelemetryKey as Pe}from"./telemetry/spec.js";import{TelemetryTracker as Fe}from"./telemetry/tracker.js";import{TelemetryAnomalyMonitor as Ie}from"./telemetry/anomaly.js";import"./telemetry/index.js";import{TestRegistry as Le,makeTestKey as Re}from"./tests/spec.js";import{TestRunner as ze}from"./tests/runner.js";import"./tests/index.js";import{ExperimentRegistry as Be,makeExperimentKey as Ve}from"./experiments/spec.js";import{ExperimentEvaluator as He}from"./experiments/evaluator.js";import{AppBlueprintRegistry as Ue,makeAppBlueprintKey as We}from"./app-config/spec.js";import{composeAppConfig as Ge,resolveAppConfig as Ke}from"./app-config/runtime.js";import{IntegrationSpecRegistry as qe,makeIntegrationSpecKey as Je}from"./integrations/spec.js";import{registerStripeIntegration as Ye,stripeIntegrationSpec as Xe}from"./integrations/providers/stripe.js";import{postmarkIntegrationSpec as Ze,registerPostmarkIntegration as Qe}from"./integrations/providers/postmark.js";import{qdrantIntegrationSpec as $e,registerQdrantIntegration as et}from"./integrations/providers/qdrant.js";import{mistralIntegrationSpec as tt,registerMistralIntegration as nt}from"./integrations/providers/mistral.js";import{elevenLabsIntegrationSpec as rt,registerElevenLabsIntegration as it}from"./integrations/providers/elevenlabs.js";import{gmailIntegrationSpec as at,registerGmailIntegration as ot}from"./integrations/providers/gmail.js";import{googleCalendarIntegrationSpec as st,registerGoogleCalendarIntegration as ct}from"./integrations/providers/google-calendar.js";import{registerTwilioSmsIntegration as lt,twilioSmsIntegrationSpec as ut}from"./integrations/providers/twilio-sms.js";import{gcsStorageIntegrationSpec as dt,registerGcsStorageIntegration as ft}from"./integrations/providers/gcs-storage.js";import{powensIntegrationSpec as pt,registerPowensIntegration as mt}from"./integrations/providers/powens.js";import{MistralLLMProvider as ht}from"./integrations/providers/impls/mistral-llm.js";import{MistralEmbeddingProvider as gt}from"./integrations/providers/impls/mistral-embedding.js";import{QdrantVectorProvider as _t}from"./integrations/providers/impls/qdrant-vector.js";import{GmailInboundProvider as vt}from"./integrations/providers/impls/gmail-inbound.js";import{GmailOutboundProvider as yt}from"./integrations/providers/impls/gmail-outbound.js";import{GoogleCalendarProvider as bt}from"./integrations/providers/impls/google-calendar.js";import{ElevenLabsVoiceProvider as xt}from"./integrations/providers/impls/elevenlabs-voice.js";import{GoogleCloudStorageProvider as St}from"./integrations/providers/impls/gcs-storage.js";import{StripePaymentsProvider as Ct}from"./integrations/providers/impls/stripe-payments.js";import{PostmarkEmailProvider as wt}from"./integrations/providers/impls/postmark-email.js";import{TwilioSmsProvider as Tt}from"./integrations/providers/impls/twilio-sms.js";import{PowensClient as Et,PowensClientError as Dt}from"./integrations/providers/impls/powens-client.js";import{PowensOpenBankingProvider as Ot}from"./integrations/providers/impls/powens-openbanking.js";import{IntegrationProviderFactory as kt}from"./integrations/providers/impls/provider-factory.js";import{SecretProviderError as At,normalizeSecretPayload as jt,parseSecretUri as Mt}from"./integrations/secrets/provider.js";import{GcpSecretManagerProvider as Nt}from"./integrations/secrets/gcp-secret-manager.js";import{EnvSecretProvider as Pt}from"./integrations/secrets/env-secret-provider.js";import{SecretProviderManager as Ft}from"./integrations/secrets/manager.js";import{IntegrationCallGuard as It,connectionStatusLabel as Lt,ensureConnectionReady as Rt}from"./integrations/runtime.js";import{IntegrationHealthService as zt}from"./integrations/health.js";import{AccountBalanceRecord as Bt,BankAccountRecord as Vt,BankTransactionRecord as Ht}from"./integrations/openbanking/models.js";import{OPENBANKING_PII_FIELDS as Ut,OPENBANKING_TELEMETRY_EVENTS as Wt,redactOpenBankingTelemetryPayload as Gt}from"./integrations/openbanking/telemetry.js";import{OpenBankingGetAccount as Kt,OpenBankingListAccounts as qt,OpenBankingSyncAccounts as Jt}from"./integrations/openbanking/contracts/accounts.js";import{OpenBankingListTransactions as Yt,OpenBankingSyncTransactions as Xt}from"./integrations/openbanking/contracts/transactions.js";import{OpenBankingGetBalances as Zt,OpenBankingRefreshBalances as Qt}from"./integrations/openbanking/contracts/balances.js";import{registerOpenBankingContracts as $t}from"./integrations/openbanking/contracts/index.js";import{assertPrimaryOpenBankingReady as en,ensurePrimaryOpenBankingIntegration as tn}from"./integrations/openbanking/guards.js";import"./integrations/index.js";import{KnowledgeSpaceRegistry as nn,makeKnowledgeSpaceKey as rn}from"./knowledge/spec.js";import{productCanonKnowledgeSpace as an,registerProductCanonKnowledgeSpace as on}from"./knowledge/spaces/product-canon.js";import{registerSupportFaqKnowledgeSpace as sn,supportFaqKnowledgeSpace as cn}from"./knowledge/spaces/support-faq.js";import{emailThreadsKnowledgeSpace as ln,registerEmailThreadsKnowledgeSpace as un}from"./knowledge/spaces/email-threads.js";import{registerUploadedDocsKnowledgeSpace as dn,uploadedDocsKnowledgeSpace as fn}from"./knowledge/spaces/uploaded-docs.js";import{financialDocsKnowledgeSpace as pn,registerFinancialDocsKnowledgeSpace as mn}from"./knowledge/spaces/financial-docs.js";import{financialOverviewKnowledgeSpace as hn,registerFinancialOverviewKnowledgeSpace as gn}from"./knowledge/spaces/financial-overview.js";import"./knowledge/index.js";import{CreateIntegrationConnection as _n,DeleteIntegrationConnection as vn,ListIntegrationConnections as yn,TestIntegrationConnection as bn,UpdateIntegrationConnection as xn,integrationContracts as Sn,registerIntegrationContracts as Cn}from"./integrations/contracts.js";import{CreateKnowledgeSource as wn,DeleteKnowledgeSource as Tn,ListKnowledgeSources as En,TriggerKnowledgeSourceSync as Dn,UpdateKnowledgeSource as On,knowledgeContracts as kn,registerKnowledgeContracts as An}from"./knowledge/contracts.js";import{behaviorToEnvelope as jn,errorToEnvelope as Mn,telemetryToEnvelope as Nn}from"./regenerator/utils.js";import{RegeneratorService as Pn}from"./regenerator/service.js";import{ProposalExecutor as Fn}from"./regenerator/executor.js";import{ExecutorProposalSink as In}from"./regenerator/sinks.js";import"./regenerator/index.js";import{WorkflowRegistry as Ln}from"./workflow/spec.js";import{WorkflowValidationError as Rn,assertWorkflowSpecValid as zn,validateWorkflowSpec as Bn}from"./workflow/validation.js";import{evaluateExpression as Vn}from"./workflow/expression.js";import{WorkflowPreFlightError as Hn,WorkflowRunner as Un}from"./workflow/runner.js";import{InMemoryStateStore as Wn}from"./workflow/adapters/memory-store.js";import{PrismaStateStore as Gn}from"./workflow/adapters/db-adapter.js";import{createFileStateStore as Kn}from"./workflow/adapters/file-adapter.js";import"./workflow/index.js";import{defineSchemaModel as qn}from"@lssm/lib.schema";export{Bt as AccountBalanceRecord,Ue as AppBlueprintRegistry,Vt as BankAccountRecord,Ht as BankTransactionRecord,e as CapabilityRegistry,de as CompleteOnboardingBaseInput,fe as CompleteOnboardingBaseOutput,pe as CompleteOnboardingBaseSpec,_n as CreateIntegrationConnection,wn as CreateKnowledgeSource,r as DataViewRegistry,vn as DeleteIntegrationConnection,Tn as DeleteKnowledgeSource,me as DeleteOnboardingDraftBaseSpec,he as DeleteOnboardingDraftOutput,xt as ElevenLabsVoiceProvider,Pt as EnvSecretProvider,In as ExecutorProposalSink,He as ExperimentEvaluator,Be as ExperimentRegistry,s as FeatureRegistry,u as FormRegistry,Nt as GcpSecretManagerProvider,ge as GetOnboardingDraftBaseSpec,_e as GetOnboardingDraftOutput,vt as GmailInboundProvider,yt as GmailOutboundProvider,bt as GoogleCalendarProvider,St as GoogleCloudStorageProvider,Wn as InMemoryStateStore,It as IntegrationCallGuard,zt as IntegrationHealthService,kt as IntegrationProviderFactory,qe as IntegrationSpecRegistry,nn as KnowledgeSpaceRegistry,yn as ListIntegrationConnections,En as ListKnowledgeSources,Me as MigrationRegistry,gt as MistralEmbeddingProvider,ht as MistralLLMProvider,Oe as OPAPolicyAdapter,Ut as OPENBANKING_PII_FIELDS,Wt as OPENBANKING_TELEMETRY_EVENTS,Kt as OpenBankingGetAccount,Zt as OpenBankingGetBalances,qt as OpenBankingListAccounts,Yt as OpenBankingListTransactions,Qt as OpenBankingRefreshBalances,Jt as OpenBankingSyncAccounts,Xt as OpenBankingSyncTransactions,oe as Owners,se as OwnersEnum,De as PolicyEngine,Te as PolicyRegistry,wt as PostmarkEmailProvider,Et as PowensClient,Dt as PowensClientError,Ot as PowensOpenBankingProvider,L as PresentationRegistry,Gn as PrismaStateStore,ee as PromptRegistry,Fn as ProposalExecutor,_t as QdrantVectorProvider,Pn as RegeneratorService,te as ResourceRegistry,ve as SaveOnboardingDraftBaseSpec,ye as SaveOnboardingDraftInput,be as SaveOnboardingDraftOutput,At as SecretProviderError,Ft as SecretProviderManager,J as SpecRegistry,ce as StabilityEnum,Ct as StripePaymentsProvider,le as Tags,ue as TagsEnum,Ie as TelemetryAnomalyMonitor,Ne as TelemetryRegistry,Fe as TelemetryTracker,bn as TestIntegrationConnection,Le as TestRegistry,ze as TestRunner,Ae as ThemeRegistry,y as TransformEngine,Dn as TriggerKnowledgeSourceSync,Tt as TwilioSmsProvider,xn as UpdateIntegrationConnection,On as UpdateKnowledgeSource,Hn as WorkflowPreFlightError,Ln as WorkflowRegistry,Un as WorkflowRunner,Rn as WorkflowValidationError,en as assertPrimaryOpenBankingReady,zn as assertWorkflowSpecValid,jn as behaviorToEnvelope,ke as buildOPAInput,d as buildZodWithRelations,t as capabilityKey,Ge as composeAppConfig,Lt as connectionStatusLabel,b as createDefaultTransformEngine,w as createEngineWithDefaults,T as createFeatureModule,B as createFetchHandler,Kn as createFileStateStore,O as createFormRenderer,z as createMcpServer,i as dataViewKey,j as defaultGqlField,M as defaultMcpTool,N as defaultRestPath,n as defineCapability,G as defineCommand,a as defineEvent,f as defineFormSpec,$ as definePrompt,K as defineQuery,ne as defineResourceTemplate,qn as defineSchemaModel,rt as elevenLabsIntegrationSpec,V as elysiaPlugin,ln as emailThreadsKnowledgeSpace,Rt as ensureConnectionReady,tn as ensurePrimaryOpenBankingIntegration,Mn as errorToEnvelope,p as evalPredicate,Vn as evaluateExpression,o as eventKey,I as exportContractsToGraphQLSchema,H as expressRouter,pn as financialDocsKnowledgeSpace,hn as financialOverviewKnowledgeSpace,dt as gcsStorageIntegrationSpec,at as gmailIntegrationSpec,st as googleCalendarIntegrationSpec,c as installFeature,X as installOp,Sn as integrationContracts,q as isEmitDeclRef,re as isResourceRef,R as jsonSchemaForPresentation,P as jsonSchemaForSpec,kn as knowledgeContracts,We as makeAppBlueprintKey,Z as makeEmit,Ve as makeExperimentKey,Je as makeIntegrationSpecKey,rn as makeKnowledgeSpaceKey,U as makeNextAppHandler,W as makeNextPagesHandler,Ee as makePolicyKey,Pe as makeTelemetryKey,Re as makeTestKey,je as makeThemeRef,tt as mistralIntegrationSpec,jt as normalizeSecretPayload,Q as op,Y as opKey,xe as openBankingAccountsReadCapability,Se as openBankingBalancesReadCapability,Ce as openBankingTransactionsReadCapability,Mt as parseSecretUri,Ze as postmarkIntegrationSpec,pt as powensIntegrationSpec,an as productCanonKnowledgeSpace,$e as qdrantIntegrationSpec,Gt as redactOpenBankingTelemetryPayload,x as registerBasicValidation,F as registerContractsOnBuilder,S as registerDefaultReactRenderer,it as registerElevenLabsIntegration,un as registerEmailThreadsKnowledgeSpace,E as registerFeature,mn as registerFinancialDocsKnowledgeSpace,gn as registerFinancialOverviewKnowledgeSpace,ft as registerGcsStorageIntegration,ot as registerGmailIntegration,ct as registerGoogleCalendarIntegration,Cn as registerIntegrationContracts,An as registerKnowledgeContracts,nt as registerMistralIntegration,we as registerOpenBankingCapabilities,$t as registerOpenBankingContracts,Qe as registerPostmarkIntegration,mt as registerPowensIntegration,on as registerProductCanonKnowledgeSpace,et as registerQdrantIntegration,C as registerReactToMarkdownRenderer,Ye as registerStripeIntegration,sn as registerSupportFaqKnowledgeSpace,lt as registerTwilioSmsIntegration,dn as registerUploadedDocsKnowledgeSpace,D as renderFeaturePresentation,Ke as resolveAppConfig,ie as resourceRef,A as rnReusablesDriver,m as schemaToMarkdown,h as schemaToMarkdownDetail,g as schemaToMarkdownList,_ as schemaToMarkdownSummary,v as schemaToMarkdownTable,k as shadcnDriver,Xe as stripeIntegrationSpec,cn as supportFaqKnowledgeSpace,Nn as telemetryToEnvelope,ae as toV2FromV1,ut as twilioSmsIntegrationSpec,fn as uploadedDocsKnowledgeSpace,l as validateFeatureTargetsV2,Bn as validateWorkflowSpec};
@@ -1 +1 @@
1
- import{l as e}from"../schema/dist/ScalarTypeEnum.js";import{t}from"../schema/dist/SchemaModel.js";import"../schema/dist/index.js";import{defineCommand as n,defineQuery as r}from"../spec.js";const i=new t({name:`IntegrationConnectionRecord`,fields:{id:{type:e.ID(),isOptional:!1},tenantId:{type:e.ID(),isOptional:!1},integrationKey:{type:e.NonEmptyString(),isOptional:!1},integrationVersion:{type:e.Int_unsecure(),isOptional:!1},label:{type:e.String_unsecure(),isOptional:!1},ownershipMode:{type:e.String_unsecure(),isOptional:!1},externalAccountId:{type:e.String_unsecure(),isOptional:!0},secretProvider:{type:e.String_unsecure(),isOptional:!1},secretRef:{type:e.String_unsecure(),isOptional:!1},status:{type:e.String_unsecure(),isOptional:!1},environment:{type:e.String_unsecure(),isOptional:!0},healthStatus:{type:e.String_unsecure(),isOptional:!0},healthCheckedAt:{type:e.DateTime(),isOptional:!0},healthLatencyMs:{type:e.Float_unsecure(),isOptional:!0},healthErrorCode:{type:e.String_unsecure(),isOptional:!0},healthErrorMessage:{type:e.String_unsecure(),isOptional:!0},usageRequestCount:{type:e.Int_unsecure(),isOptional:!0},usageSuccessCount:{type:e.Int_unsecure(),isOptional:!0},usageErrorCount:{type:e.Int_unsecure(),isOptional:!0},usageLastUsedAt:{type:e.DateTime(),isOptional:!0},usageLastErrorAt:{type:e.DateTime(),isOptional:!0},usageLastErrorCode:{type:e.String_unsecure(),isOptional:!0},createdAt:{type:e.DateTime(),isOptional:!0},updatedAt:{type:e.DateTime(),isOptional:!0}}}),a=new t({name:`CreateIntegrationConnectionInput`,fields:{tenantId:{type:e.ID(),isOptional:!1},integrationKey:{type:e.NonEmptyString(),isOptional:!1},integrationVersion:{type:e.Int_unsecure(),isOptional:!1},label:{type:e.String_unsecure(),isOptional:!1},ownershipMode:{type:e.String_unsecure(),isOptional:!1},externalAccountId:{type:e.String_unsecure(),isOptional:!0},secretProvider:{type:e.String_unsecure(),isOptional:!1},secretRef:{type:e.String_unsecure(),isOptional:!1},environment:{type:e.String_unsecure(),isOptional:!0},config:{type:e.JSONObject(),isOptional:!1}}}),o=new t({name:`UpdateIntegrationConnectionInput`,fields:{connectionId:{type:e.ID(),isOptional:!1},label:{type:e.String_unsecure(),isOptional:!0},status:{type:e.String_unsecure(),isOptional:!0},ownershipMode:{type:e.String_unsecure(),isOptional:!0},externalAccountId:{type:e.String_unsecure(),isOptional:!0},secretProvider:{type:e.String_unsecure(),isOptional:!0},secretRef:{type:e.String_unsecure(),isOptional:!0},config:{type:e.JSONObject(),isOptional:!0}}}),s=new t({name:`DeleteIntegrationConnectionInput`,fields:{connectionId:{type:e.ID(),isOptional:!1}}}),c=new t({name:`ListIntegrationConnectionsInput`,fields:{tenantId:{type:e.ID(),isOptional:!1},category:{type:e.String_unsecure(),isOptional:!0},status:{type:e.String_unsecure(),isOptional:!0}}}),l=new t({name:`ListIntegrationConnectionsOutput`,fields:{connections:{type:i,isOptional:!1,isArray:!0}}}),u=new t({name:`TestIntegrationConnectionInput`,fields:{connectionId:{type:e.ID(),isOptional:!1}}}),d=new t({name:`TestIntegrationConnectionOutput`,fields:{success:{type:e.Boolean(),isOptional:!1},status:{type:e.String_unsecure(),isOptional:!0},latencyMs:{type:e.Float_unsecure(),isOptional:!0},error:{type:e.String_unsecure(),isOptional:!0},errorCode:{type:e.String_unsecure(),isOptional:!0}}}),f=new t({name:`DeleteIntegrationConnectionOutput`,fields:{success:{type:e.Boolean(),isOptional:!1}}}),p=n({meta:{name:`integrations.connection.create`,version:1,description:`Create a new integration connection for a tenant.`,goal:`Provision a tenant-scoped connection to an external provider.`,context:`Used by Ops or the App Studio to configure external integrations such as Stripe or Qdrant.`,owners:[`platform.integrations`],tags:[`integration`,`connections`],stability:`experimental`},io:{input:a,output:i},policy:{auth:`admin`,policies:[{name:`platform.integration.manage`,version:1}]}}),m=n({meta:{name:`integrations.connection.update`,version:1,description:`Update metadata or credentials for an integration connection.`,goal:`Allow secure rotation of credentials and metadata adjustments.`,context:`Supports rotating API keys, toggling status, or updating labels for tenant integrations.`,owners:[`platform.integrations`],tags:[`integration`,`connections`],stability:`experimental`},io:{input:o,output:i},policy:{auth:`admin`,policies:[{name:`platform.integration.manage`,version:1}]}}),h=n({meta:{name:`integrations.connection.delete`,version:1,description:`Delete an integration connection for a tenant.`,goal:`Safely remove credentials and disable connector usage.`,context:`Ensures connections are de-provisioned when no longer needed or breached.`,owners:[`platform.integrations`],tags:[`integration`,`connections`],stability:`experimental`},io:{input:s,output:f},policy:{auth:`admin`,policies:[{name:`platform.integration.manage`,version:1}]}}),g=r({meta:{name:`integrations.connection.list`,version:1,description:`List integration connections for a tenant.`,goal:`Provide visibility into configured integrations and their status.`,context:`Used by the App Studio and Ops flows to show bindings and health.`,owners:[`platform.integrations`],tags:[`integration`,`connections`],stability:`experimental`},io:{input:c,output:l},policy:{auth:`admin`,policies:[{name:`platform.integration.read`,version:1}]}}),_=n({meta:{name:`integrations.connection.test`,version:1,description:`Run a health check against a configured integration connection.`,goal:`Validate credentials and connectivity for external providers.`,context:`Triggered manually or by background monitors to confirm provider availability.`,owners:[`platform.integrations`],tags:[`integration`,`connections`],stability:`experimental`},io:{input:u,output:d},policy:{auth:`admin`,policies:[{name:`platform.integration.manage`,version:1}]}}),v={CreateIntegrationConnection:p,UpdateIntegrationConnection:m,DeleteIntegrationConnection:h,ListIntegrationConnections:g,TestIntegrationConnection:_};function y(e){return e.register(p).register(m).register(h).register(g).register(_)}export{p as CreateIntegrationConnection,h as DeleteIntegrationConnection,g as ListIntegrationConnections,_ as TestIntegrationConnection,m as UpdateIntegrationConnection,v as integrationContracts,y as registerIntegrationContracts};
1
+ import{defineCommand as e,defineQuery as t}from"../spec.js";import{ScalarTypeEnum as n,SchemaModel as r}from"@lssm/lib.schema";const i=new r({name:`IntegrationConnectionRecord`,fields:{id:{type:n.ID(),isOptional:!1},tenantId:{type:n.ID(),isOptional:!1},integrationKey:{type:n.NonEmptyString(),isOptional:!1},integrationVersion:{type:n.Int_unsecure(),isOptional:!1},label:{type:n.String_unsecure(),isOptional:!1},ownershipMode:{type:n.String_unsecure(),isOptional:!1},externalAccountId:{type:n.String_unsecure(),isOptional:!0},secretProvider:{type:n.String_unsecure(),isOptional:!1},secretRef:{type:n.String_unsecure(),isOptional:!1},status:{type:n.String_unsecure(),isOptional:!1},environment:{type:n.String_unsecure(),isOptional:!0},healthStatus:{type:n.String_unsecure(),isOptional:!0},healthCheckedAt:{type:n.DateTime(),isOptional:!0},healthLatencyMs:{type:n.Float_unsecure(),isOptional:!0},healthErrorCode:{type:n.String_unsecure(),isOptional:!0},healthErrorMessage:{type:n.String_unsecure(),isOptional:!0},usageRequestCount:{type:n.Int_unsecure(),isOptional:!0},usageSuccessCount:{type:n.Int_unsecure(),isOptional:!0},usageErrorCount:{type:n.Int_unsecure(),isOptional:!0},usageLastUsedAt:{type:n.DateTime(),isOptional:!0},usageLastErrorAt:{type:n.DateTime(),isOptional:!0},usageLastErrorCode:{type:n.String_unsecure(),isOptional:!0},createdAt:{type:n.DateTime(),isOptional:!0},updatedAt:{type:n.DateTime(),isOptional:!0}}}),a=new r({name:`CreateIntegrationConnectionInput`,fields:{tenantId:{type:n.ID(),isOptional:!1},integrationKey:{type:n.NonEmptyString(),isOptional:!1},integrationVersion:{type:n.Int_unsecure(),isOptional:!1},label:{type:n.String_unsecure(),isOptional:!1},ownershipMode:{type:n.String_unsecure(),isOptional:!1},externalAccountId:{type:n.String_unsecure(),isOptional:!0},secretProvider:{type:n.String_unsecure(),isOptional:!1},secretRef:{type:n.String_unsecure(),isOptional:!1},environment:{type:n.String_unsecure(),isOptional:!0},config:{type:n.JSONObject(),isOptional:!1}}}),o=new r({name:`UpdateIntegrationConnectionInput`,fields:{connectionId:{type:n.ID(),isOptional:!1},label:{type:n.String_unsecure(),isOptional:!0},status:{type:n.String_unsecure(),isOptional:!0},ownershipMode:{type:n.String_unsecure(),isOptional:!0},externalAccountId:{type:n.String_unsecure(),isOptional:!0},secretProvider:{type:n.String_unsecure(),isOptional:!0},secretRef:{type:n.String_unsecure(),isOptional:!0},config:{type:n.JSONObject(),isOptional:!0}}}),s=new r({name:`DeleteIntegrationConnectionInput`,fields:{connectionId:{type:n.ID(),isOptional:!1}}}),c=new r({name:`ListIntegrationConnectionsInput`,fields:{tenantId:{type:n.ID(),isOptional:!1},category:{type:n.String_unsecure(),isOptional:!0},status:{type:n.String_unsecure(),isOptional:!0}}}),l=new r({name:`ListIntegrationConnectionsOutput`,fields:{connections:{type:i,isOptional:!1,isArray:!0}}}),u=new r({name:`TestIntegrationConnectionInput`,fields:{connectionId:{type:n.ID(),isOptional:!1}}}),d=new r({name:`TestIntegrationConnectionOutput`,fields:{success:{type:n.Boolean(),isOptional:!1},status:{type:n.String_unsecure(),isOptional:!0},latencyMs:{type:n.Float_unsecure(),isOptional:!0},error:{type:n.String_unsecure(),isOptional:!0},errorCode:{type:n.String_unsecure(),isOptional:!0}}}),f=new r({name:`DeleteIntegrationConnectionOutput`,fields:{success:{type:n.Boolean(),isOptional:!1}}}),p=e({meta:{name:`integrations.connection.create`,version:1,description:`Create a new integration connection for a tenant.`,goal:`Provision a tenant-scoped connection to an external provider.`,context:`Used by Ops or the App Studio to configure external integrations such as Stripe or Qdrant.`,owners:[`platform.integrations`],tags:[`integration`,`connections`],stability:`experimental`},io:{input:a,output:i},policy:{auth:`admin`,policies:[{name:`platform.integration.manage`,version:1}]}}),m=e({meta:{name:`integrations.connection.update`,version:1,description:`Update metadata or credentials for an integration connection.`,goal:`Allow secure rotation of credentials and metadata adjustments.`,context:`Supports rotating API keys, toggling status, or updating labels for tenant integrations.`,owners:[`platform.integrations`],tags:[`integration`,`connections`],stability:`experimental`},io:{input:o,output:i},policy:{auth:`admin`,policies:[{name:`platform.integration.manage`,version:1}]}}),h=e({meta:{name:`integrations.connection.delete`,version:1,description:`Delete an integration connection for a tenant.`,goal:`Safely remove credentials and disable connector usage.`,context:`Ensures connections are de-provisioned when no longer needed or breached.`,owners:[`platform.integrations`],tags:[`integration`,`connections`],stability:`experimental`},io:{input:s,output:f},policy:{auth:`admin`,policies:[{name:`platform.integration.manage`,version:1}]}}),g=t({meta:{name:`integrations.connection.list`,version:1,description:`List integration connections for a tenant.`,goal:`Provide visibility into configured integrations and their status.`,context:`Used by the App Studio and Ops flows to show bindings and health.`,owners:[`platform.integrations`],tags:[`integration`,`connections`],stability:`experimental`},io:{input:c,output:l},policy:{auth:`admin`,policies:[{name:`platform.integration.read`,version:1}]}}),_=e({meta:{name:`integrations.connection.test`,version:1,description:`Run a health check against a configured integration connection.`,goal:`Validate credentials and connectivity for external providers.`,context:`Triggered manually or by background monitors to confirm provider availability.`,owners:[`platform.integrations`],tags:[`integration`,`connections`],stability:`experimental`},io:{input:u,output:d},policy:{auth:`admin`,policies:[{name:`platform.integration.manage`,version:1}]}}),v={CreateIntegrationConnection:p,UpdateIntegrationConnection:m,DeleteIntegrationConnection:h,ListIntegrationConnections:g,TestIntegrationConnection:_};function y(e){return e.register(p).register(m).register(h).register(g).register(_)}export{p as CreateIntegrationConnection,h as DeleteIntegrationConnection,g as ListIntegrationConnections,_ as TestIntegrationConnection,m as UpdateIntegrationConnection,v as integrationContracts,y as registerIntegrationContracts};
@@ -1 +1 @@
1
- import{l as e}from"../../../schema/dist/ScalarTypeEnum.js";import{t}from"../../../schema/dist/SchemaModel.js";import"../../../schema/dist/index.js";import{defineCommand as n,defineQuery as r}from"../../../spec.js";import{BankAccountRecord as i}from"../models.js";import{OPENBANKING_TELEMETRY_EVENTS as a}from"../telemetry.js";const o=new t({name:`OpenBankingListAccountsInput`,description:`Parameters for listing bank accounts through the open banking provider.`,fields:{tenantId:{type:e.ID(),isOptional:!1},userId:{type:e.ID(),isOptional:!1},connectionId:{type:e.ID(),isOptional:!0},includeBalances:{type:e.Boolean(),isOptional:!0},institutionId:{type:e.String_unsecure(),isOptional:!0},cursor:{type:e.String_unsecure(),isOptional:!0},pageSize:{type:e.Int_unsecure(),isOptional:!0}}}),s=new t({name:`OpenBankingListAccountsOutput`,description:`Paginated list of bank accounts available to the tenant and user.`,fields:{accounts:{type:i,isOptional:!1,isArray:!0},nextCursor:{type:e.String_unsecure(),isOptional:!0},hasMore:{type:e.Boolean(),isOptional:!0}}}),c=new t({name:`OpenBankingGetAccountInput`,description:`Parameters for retrieving a specific bank account.`,fields:{tenantId:{type:e.ID(),isOptional:!1},accountId:{type:e.ID(),isOptional:!1},includeBalances:{type:e.Boolean(),isOptional:!0},includeLatestTransactions:{type:e.Boolean(),isOptional:!0}}}),l=new t({name:`OpenBankingSyncAccountsInput`,description:`Command payload to trigger an account synchronisation against the open banking provider.`,fields:{tenantId:{type:e.ID(),isOptional:!1},userId:{type:e.ID(),isOptional:!0},connectionId:{type:e.ID(),isOptional:!1},accountIds:{type:e.ID(),isArray:!0,isOptional:!0},forceFullRefresh:{type:e.Boolean(),isOptional:!0},triggerWorkflows:{type:e.Boolean(),isOptional:!0}}}),u=new t({name:`OpenBankingSyncAccountsOutput`,description:`Result of a bank account synchronisation run.`,fields:{synced:{type:e.Int_unsecure(),isOptional:!1},failed:{type:e.Int_unsecure(),isOptional:!1},errors:{type:e.String_unsecure(),isArray:!0,isOptional:!0},nextSyncSuggestedAt:{type:e.DateTime(),isOptional:!0}}}),d=r({meta:{name:`openbanking.accounts.list`,version:1,description:`List bank accounts available to a tenant/user via Powens Open Banking.`,goal:`Provide downstream workflows with the set of accounts accessible via the configured open banking connection.`,context:`Used by Pocket Family Office dashboards and sync workflows to enumerate bank accounts prior to syncing balances or transactions.`,owners:[`platform.finance`],tags:[`open-banking`,`powens`,`accounts`],stability:`experimental`},io:{input:o,output:s},policy:{auth:`user`}}),f=r({meta:{name:`openbanking.accounts.get`,version:1,description:`Retrieve the canonical bank account record for the given account identifier.`,goal:`Allow user-facing experiences and automations to display up-to-date account metadata.`,context:`Invoked by UI surfaces and workflow automation steps that require detailed metadata for a specific bank account.`,owners:[`platform.finance`],tags:[`open-banking`,`powens`,`accounts`],stability:`experimental`},io:{input:c,output:i},policy:{auth:`user`}}),p=n({meta:{name:`openbanking.accounts.sync`,version:1,description:`Initiate a synchronisation run to refresh bank account metadata from Powens.`,goal:`Keep canonical bank account records aligned with the external open banking provider.`,context:`Triggered by scheduled workflows or manual operator actions to reconcile account metadata prior to transaction/balance syncs.`,owners:[`platform.finance`],tags:[`open-banking`,`powens`,`accounts`],stability:`experimental`},io:{input:l,output:u},policy:{auth:`admin`},telemetry:{success:{event:{name:a.accountsSynced},properties:({input:e,output:t})=>{let n=e,r=t;return{tenantId:n?.tenantId,connectionId:n?.connectionId,synced:r?.synced,failed:r?.failed}}},failure:{event:{name:a.accountsSyncFailed},properties:({input:e,error:t})=>{let n=e;return{tenantId:n?.tenantId,connectionId:n?.connectionId,error:t instanceof Error?t.message:String(t??`unknown`)}}}}}),m={OpenBankingListAccounts:d,OpenBankingGetAccount:f,OpenBankingSyncAccounts:p};function h(e){return e.register(d).register(f).register(p)}export{f as OpenBankingGetAccount,d as OpenBankingListAccounts,p as OpenBankingSyncAccounts,m as openBankingAccountContracts,h as registerOpenBankingAccountContracts};
1
+ import{defineCommand as e,defineQuery as t}from"../../../spec.js";import{BankAccountRecord as n}from"../models.js";import{OPENBANKING_TELEMETRY_EVENTS as r}from"../telemetry.js";import{ScalarTypeEnum as i,SchemaModel as a}from"@lssm/lib.schema";const o=new a({name:`OpenBankingListAccountsInput`,description:`Parameters for listing bank accounts through the open banking provider.`,fields:{tenantId:{type:i.ID(),isOptional:!1},userId:{type:i.ID(),isOptional:!1},connectionId:{type:i.ID(),isOptional:!0},includeBalances:{type:i.Boolean(),isOptional:!0},institutionId:{type:i.String_unsecure(),isOptional:!0},cursor:{type:i.String_unsecure(),isOptional:!0},pageSize:{type:i.Int_unsecure(),isOptional:!0}}}),s=new a({name:`OpenBankingListAccountsOutput`,description:`Paginated list of bank accounts available to the tenant and user.`,fields:{accounts:{type:n,isOptional:!1,isArray:!0},nextCursor:{type:i.String_unsecure(),isOptional:!0},hasMore:{type:i.Boolean(),isOptional:!0}}}),c=new a({name:`OpenBankingGetAccountInput`,description:`Parameters for retrieving a specific bank account.`,fields:{tenantId:{type:i.ID(),isOptional:!1},accountId:{type:i.ID(),isOptional:!1},includeBalances:{type:i.Boolean(),isOptional:!0},includeLatestTransactions:{type:i.Boolean(),isOptional:!0}}}),l=new a({name:`OpenBankingSyncAccountsInput`,description:`Command payload to trigger an account synchronisation against the open banking provider.`,fields:{tenantId:{type:i.ID(),isOptional:!1},userId:{type:i.ID(),isOptional:!0},connectionId:{type:i.ID(),isOptional:!1},accountIds:{type:i.ID(),isArray:!0,isOptional:!0},forceFullRefresh:{type:i.Boolean(),isOptional:!0},triggerWorkflows:{type:i.Boolean(),isOptional:!0}}}),u=new a({name:`OpenBankingSyncAccountsOutput`,description:`Result of a bank account synchronisation run.`,fields:{synced:{type:i.Int_unsecure(),isOptional:!1},failed:{type:i.Int_unsecure(),isOptional:!1},errors:{type:i.String_unsecure(),isArray:!0,isOptional:!0},nextSyncSuggestedAt:{type:i.DateTime(),isOptional:!0}}}),d=t({meta:{name:`openbanking.accounts.list`,version:1,description:`List bank accounts available to a tenant/user via Powens Open Banking.`,goal:`Provide downstream workflows with the set of accounts accessible via the configured open banking connection.`,context:`Used by Pocket Family Office dashboards and sync workflows to enumerate bank accounts prior to syncing balances or transactions.`,owners:[`platform.finance`],tags:[`open-banking`,`powens`,`accounts`],stability:`experimental`},io:{input:o,output:s},policy:{auth:`user`}}),f=t({meta:{name:`openbanking.accounts.get`,version:1,description:`Retrieve the canonical bank account record for the given account identifier.`,goal:`Allow user-facing experiences and automations to display up-to-date account metadata.`,context:`Invoked by UI surfaces and workflow automation steps that require detailed metadata for a specific bank account.`,owners:[`platform.finance`],tags:[`open-banking`,`powens`,`accounts`],stability:`experimental`},io:{input:c,output:n},policy:{auth:`user`}}),p=e({meta:{name:`openbanking.accounts.sync`,version:1,description:`Initiate a synchronisation run to refresh bank account metadata from Powens.`,goal:`Keep canonical bank account records aligned with the external open banking provider.`,context:`Triggered by scheduled workflows or manual operator actions to reconcile account metadata prior to transaction/balance syncs.`,owners:[`platform.finance`],tags:[`open-banking`,`powens`,`accounts`],stability:`experimental`},io:{input:l,output:u},policy:{auth:`admin`},telemetry:{success:{event:{name:r.accountsSynced},properties:({input:e,output:t})=>{let n=e,r=t;return{tenantId:n?.tenantId,connectionId:n?.connectionId,synced:r?.synced,failed:r?.failed}}},failure:{event:{name:r.accountsSyncFailed},properties:({input:e,error:t})=>{let n=e;return{tenantId:n?.tenantId,connectionId:n?.connectionId,error:t instanceof Error?t.message:String(t??`unknown`)}}}}}),m={OpenBankingListAccounts:d,OpenBankingGetAccount:f,OpenBankingSyncAccounts:p};function h(e){return e.register(d).register(f).register(p)}export{f as OpenBankingGetAccount,d as OpenBankingListAccounts,p as OpenBankingSyncAccounts,m as openBankingAccountContracts,h as registerOpenBankingAccountContracts};
@@ -1 +1 @@
1
- import{l as e}from"../../../schema/dist/ScalarTypeEnum.js";import{t}from"../../../schema/dist/SchemaModel.js";import"../../../schema/dist/index.js";import{defineCommand as n,defineQuery as r}from"../../../spec.js";import{AccountBalanceRecord as i}from"../models.js";import{OPENBANKING_TELEMETRY_EVENTS as a}from"../telemetry.js";const o=new t({name:`OpenBankingGetBalancesInput`,description:`Parameters for retrieving bank account balances from the canonical ledger.`,fields:{tenantId:{type:e.ID(),isOptional:!1},accountId:{type:e.ID(),isOptional:!1},balanceTypes:{type:e.String_unsecure(),isArray:!0,isOptional:!0}}}),s=new t({name:`OpenBankingGetBalancesOutput`,description:`Canonical balances for a bank account.`,fields:{balances:{type:i,isOptional:!1,isArray:!0},asOf:{type:e.DateTime(),isOptional:!0}}}),c=new t({name:`OpenBankingRefreshBalancesInput`,description:`Command payload to refresh balances for a bank account via the open banking provider.`,fields:{tenantId:{type:e.ID(),isOptional:!1},accountId:{type:e.ID(),isOptional:!1},connectionId:{type:e.ID(),isOptional:!0},balanceTypes:{type:e.String_unsecure(),isArray:!0,isOptional:!0},forceRefresh:{type:e.Boolean(),isOptional:!0}}}),l=new t({name:`OpenBankingRefreshBalancesOutput`,description:`Result of a balance refresh against the open banking provider.`,fields:{balances:{type:i,isOptional:!1,isArray:!0},refreshedAt:{type:e.DateTime(),isOptional:!1},errors:{type:e.String_unsecure(),isArray:!0,isOptional:!0}}}),u=r({meta:{name:`openbanking.balances.get`,version:1,description:`Retrieve the latest cached balances for a bank account.`,goal:`Expose current and available balances required by dashboards and analytics.`,context:`Used by Pocket Family Office UI surfaces and automation steps that require balance totals prior to generating summaries.`,owners:[`platform.finance`],tags:[`open-banking`,`powens`,`balances`],stability:`experimental`},io:{input:o,output:s},policy:{auth:`user`}}),d=n({meta:{name:`openbanking.balances.refresh`,version:1,description:`Refresh balances for a bank account via the configured open banking provider.`,goal:`Ensure canonical balance records reflect the latest values from Powens.`,context:`Triggered by scheduled workflows before generating summaries or forecasting cashflow.`,owners:[`platform.finance`],tags:[`open-banking`,`powens`,`balances`],stability:`experimental`},io:{input:c,output:l},policy:{auth:`admin`},telemetry:{success:{event:{name:a.balancesRefreshed},properties:({input:e,output:t})=>{let n=e,r=t;return{tenantId:n?.tenantId,accountId:n?.accountId,refreshedAt:r?.refreshedAt,balanceCount:Array.isArray(r?.balances)?r?.balances.length:void 0}}},failure:{event:{name:a.balancesRefreshFailed},properties:({input:e,error:t})=>{let n=e;return{tenantId:n?.tenantId,accountId:n?.accountId,error:t instanceof Error?t.message:String(t??`unknown`)}}}}}),f={OpenBankingGetBalances:u,OpenBankingRefreshBalances:d};function p(e){return e.register(u).register(d)}export{u as OpenBankingGetBalances,d as OpenBankingRefreshBalances,f as openBankingBalanceContracts,p as registerOpenBankingBalanceContracts};
1
+ import{defineCommand as e,defineQuery as t}from"../../../spec.js";import{AccountBalanceRecord as n}from"../models.js";import{OPENBANKING_TELEMETRY_EVENTS as r}from"../telemetry.js";import{ScalarTypeEnum as i,SchemaModel as a}from"@lssm/lib.schema";const o=new a({name:`OpenBankingGetBalancesInput`,description:`Parameters for retrieving bank account balances from the canonical ledger.`,fields:{tenantId:{type:i.ID(),isOptional:!1},accountId:{type:i.ID(),isOptional:!1},balanceTypes:{type:i.String_unsecure(),isArray:!0,isOptional:!0}}}),s=new a({name:`OpenBankingGetBalancesOutput`,description:`Canonical balances for a bank account.`,fields:{balances:{type:n,isOptional:!1,isArray:!0},asOf:{type:i.DateTime(),isOptional:!0}}}),c=new a({name:`OpenBankingRefreshBalancesInput`,description:`Command payload to refresh balances for a bank account via the open banking provider.`,fields:{tenantId:{type:i.ID(),isOptional:!1},accountId:{type:i.ID(),isOptional:!1},connectionId:{type:i.ID(),isOptional:!0},balanceTypes:{type:i.String_unsecure(),isArray:!0,isOptional:!0},forceRefresh:{type:i.Boolean(),isOptional:!0}}}),l=new a({name:`OpenBankingRefreshBalancesOutput`,description:`Result of a balance refresh against the open banking provider.`,fields:{balances:{type:n,isOptional:!1,isArray:!0},refreshedAt:{type:i.DateTime(),isOptional:!1},errors:{type:i.String_unsecure(),isArray:!0,isOptional:!0}}}),u=t({meta:{name:`openbanking.balances.get`,version:1,description:`Retrieve the latest cached balances for a bank account.`,goal:`Expose current and available balances required by dashboards and analytics.`,context:`Used by Pocket Family Office UI surfaces and automation steps that require balance totals prior to generating summaries.`,owners:[`platform.finance`],tags:[`open-banking`,`powens`,`balances`],stability:`experimental`},io:{input:o,output:s},policy:{auth:`user`}}),d=e({meta:{name:`openbanking.balances.refresh`,version:1,description:`Refresh balances for a bank account via the configured open banking provider.`,goal:`Ensure canonical balance records reflect the latest values from Powens.`,context:`Triggered by scheduled workflows before generating summaries or forecasting cashflow.`,owners:[`platform.finance`],tags:[`open-banking`,`powens`,`balances`],stability:`experimental`},io:{input:c,output:l},policy:{auth:`admin`},telemetry:{success:{event:{name:r.balancesRefreshed},properties:({input:e,output:t})=>{let n=e,r=t;return{tenantId:n?.tenantId,accountId:n?.accountId,refreshedAt:r?.refreshedAt,balanceCount:Array.isArray(r?.balances)?r?.balances.length:void 0}}},failure:{event:{name:r.balancesRefreshFailed},properties:({input:e,error:t})=>{let n=e;return{tenantId:n?.tenantId,accountId:n?.accountId,error:t instanceof Error?t.message:String(t??`unknown`)}}}}}),f={OpenBankingGetBalances:u,OpenBankingRefreshBalances:d};function p(e){return e.register(u).register(d)}export{u as OpenBankingGetBalances,d as OpenBankingRefreshBalances,f as openBankingBalanceContracts,p as registerOpenBankingBalanceContracts};
@@ -1 +1 @@
1
- import{l as e}from"../../../schema/dist/ScalarTypeEnum.js";import{t}from"../../../schema/dist/SchemaModel.js";import"../../../schema/dist/index.js";import{defineCommand as n,defineQuery as r}from"../../../spec.js";import{BankTransactionRecord as i}from"../models.js";import{OPENBANKING_TELEMETRY_EVENTS as a}from"../telemetry.js";const o=new t({name:`OpenBankingListTransactionsInput`,description:`Parameters for listing bank transactions from the canonical ledger.`,fields:{tenantId:{type:e.ID(),isOptional:!1},accountId:{type:e.ID(),isOptional:!1},from:{type:e.DateTime(),isOptional:!0},to:{type:e.DateTime(),isOptional:!0},cursor:{type:e.String_unsecure(),isOptional:!0},pageSize:{type:e.Int_unsecure(),isOptional:!0},direction:{type:e.String_unsecure(),isOptional:!0},minimumAmount:{type:e.Float_unsecure(),isOptional:!0},maximumAmount:{type:e.Float_unsecure(),isOptional:!0},category:{type:e.String_unsecure(),isOptional:!0}}}),s=new t({name:`OpenBankingListTransactionsOutput`,description:`Paginated list of transactions for a bank account.`,fields:{transactions:{type:i,isOptional:!1,isArray:!0},nextCursor:{type:e.String_unsecure(),isOptional:!0},hasMore:{type:e.Boolean(),isOptional:!0}}}),c=new t({name:`OpenBankingSyncTransactionsInput`,description:`Command payload to synchronise transactions from the open banking provider into the canonical ledger.`,fields:{tenantId:{type:e.ID(),isOptional:!1},accountId:{type:e.ID(),isOptional:!1},from:{type:e.DateTime(),isOptional:!0},to:{type:e.DateTime(),isOptional:!0},connectionId:{type:e.ID(),isOptional:!0},includePending:{type:e.Boolean(),isOptional:!0},backfillDays:{type:e.Int_unsecure(),isOptional:!0}}}),l=new t({name:`OpenBankingSyncTransactionsOutput`,description:`Result of a transaction synchronisation run.`,fields:{synced:{type:e.Int_unsecure(),isOptional:!1},failed:{type:e.Int_unsecure(),isOptional:!1},earliestSyncedAt:{type:e.DateTime(),isOptional:!0},latestSyncedAt:{type:e.DateTime(),isOptional:!0},nextSinceToken:{type:e.String_unsecure(),isOptional:!0},errors:{type:e.String_unsecure(),isArray:!0,isOptional:!0}}}),u=r({meta:{name:`openbanking.transactions.list`,version:1,description:`List bank transactions that have been normalised into the canonical ledger.`,goal:`Allow downstream analytics and UI surfaces to page through canonical bank transactions.`,context:`Used by Pocket Family Office dashboards, reconciliation workflows, and analytics data views.`,owners:[`platform.finance`],tags:[`open-banking`,`powens`,`transactions`],stability:`experimental`},io:{input:o,output:s},policy:{auth:`user`}}),d=n({meta:{name:`openbanking.transactions.sync`,version:1,description:`Synchronise transactions for a bank account by calling the configured open banking provider.`,goal:`Ensure the canonical transaction ledger stays aligned with the external provider.`,context:`Triggered by scheduled workflows or on-demand actions when activity is expected on an account.`,owners:[`platform.finance`],tags:[`open-banking`,`powens`,`transactions`],stability:`experimental`},io:{input:c,output:l},policy:{auth:`admin`},telemetry:{success:{event:{name:a.transactionsSynced},properties:({input:e,output:t})=>{let n=e,r=t;return{tenantId:n?.tenantId,accountId:n?.accountId,synced:r?.synced,failed:r?.failed,earliestSyncedAt:r?.earliestSyncedAt,latestSyncedAt:r?.latestSyncedAt}}},failure:{event:{name:a.transactionsSyncFailed},properties:({input:e,error:t})=>{let n=e;return{tenantId:n?.tenantId,accountId:n?.accountId,error:t instanceof Error?t.message:String(t??`unknown`)}}}}}),f={OpenBankingListTransactions:u,OpenBankingSyncTransactions:d};function p(e){return e.register(u).register(d)}export{u as OpenBankingListTransactions,d as OpenBankingSyncTransactions,f as openBankingTransactionContracts,p as registerOpenBankingTransactionContracts};
1
+ import{defineCommand as e,defineQuery as t}from"../../../spec.js";import{BankTransactionRecord as n}from"../models.js";import{OPENBANKING_TELEMETRY_EVENTS as r}from"../telemetry.js";import{ScalarTypeEnum as i,SchemaModel as a}from"@lssm/lib.schema";const o=new a({name:`OpenBankingListTransactionsInput`,description:`Parameters for listing bank transactions from the canonical ledger.`,fields:{tenantId:{type:i.ID(),isOptional:!1},accountId:{type:i.ID(),isOptional:!1},from:{type:i.DateTime(),isOptional:!0},to:{type:i.DateTime(),isOptional:!0},cursor:{type:i.String_unsecure(),isOptional:!0},pageSize:{type:i.Int_unsecure(),isOptional:!0},direction:{type:i.String_unsecure(),isOptional:!0},minimumAmount:{type:i.Float_unsecure(),isOptional:!0},maximumAmount:{type:i.Float_unsecure(),isOptional:!0},category:{type:i.String_unsecure(),isOptional:!0}}}),s=new a({name:`OpenBankingListTransactionsOutput`,description:`Paginated list of transactions for a bank account.`,fields:{transactions:{type:n,isOptional:!1,isArray:!0},nextCursor:{type:i.String_unsecure(),isOptional:!0},hasMore:{type:i.Boolean(),isOptional:!0}}}),c=new a({name:`OpenBankingSyncTransactionsInput`,description:`Command payload to synchronise transactions from the open banking provider into the canonical ledger.`,fields:{tenantId:{type:i.ID(),isOptional:!1},accountId:{type:i.ID(),isOptional:!1},from:{type:i.DateTime(),isOptional:!0},to:{type:i.DateTime(),isOptional:!0},connectionId:{type:i.ID(),isOptional:!0},includePending:{type:i.Boolean(),isOptional:!0},backfillDays:{type:i.Int_unsecure(),isOptional:!0}}}),l=new a({name:`OpenBankingSyncTransactionsOutput`,description:`Result of a transaction synchronisation run.`,fields:{synced:{type:i.Int_unsecure(),isOptional:!1},failed:{type:i.Int_unsecure(),isOptional:!1},earliestSyncedAt:{type:i.DateTime(),isOptional:!0},latestSyncedAt:{type:i.DateTime(),isOptional:!0},nextSinceToken:{type:i.String_unsecure(),isOptional:!0},errors:{type:i.String_unsecure(),isArray:!0,isOptional:!0}}}),u=t({meta:{name:`openbanking.transactions.list`,version:1,description:`List bank transactions that have been normalised into the canonical ledger.`,goal:`Allow downstream analytics and UI surfaces to page through canonical bank transactions.`,context:`Used by Pocket Family Office dashboards, reconciliation workflows, and analytics data views.`,owners:[`platform.finance`],tags:[`open-banking`,`powens`,`transactions`],stability:`experimental`},io:{input:o,output:s},policy:{auth:`user`}}),d=e({meta:{name:`openbanking.transactions.sync`,version:1,description:`Synchronise transactions for a bank account by calling the configured open banking provider.`,goal:`Ensure the canonical transaction ledger stays aligned with the external provider.`,context:`Triggered by scheduled workflows or on-demand actions when activity is expected on an account.`,owners:[`platform.finance`],tags:[`open-banking`,`powens`,`transactions`],stability:`experimental`},io:{input:c,output:l},policy:{auth:`admin`},telemetry:{success:{event:{name:r.transactionsSynced},properties:({input:e,output:t})=>{let n=e,r=t;return{tenantId:n?.tenantId,accountId:n?.accountId,synced:r?.synced,failed:r?.failed,earliestSyncedAt:r?.earliestSyncedAt,latestSyncedAt:r?.latestSyncedAt}}},failure:{event:{name:r.transactionsSyncFailed},properties:({input:e,error:t})=>{let n=e;return{tenantId:n?.tenantId,accountId:n?.accountId,error:t instanceof Error?t.message:String(t??`unknown`)}}}}}),f={OpenBankingListTransactions:u,OpenBankingSyncTransactions:d};function p(e){return e.register(u).register(d)}export{u as OpenBankingListTransactions,d as OpenBankingSyncTransactions,f as openBankingTransactionContracts,p as registerOpenBankingTransactionContracts};
@@ -1 +1 @@
1
- import{l as e}from"../../schema/dist/ScalarTypeEnum.js";import{t}from"../../schema/dist/SchemaModel.js";import"../../schema/dist/index.js";const n=new t({name:`BankAccountRecord`,description:`Canonical representation of a bank account synced from an open banking provider.`,fields:{id:{type:e.ID(),isOptional:!1},tenantId:{type:e.ID(),isOptional:!1},userId:{type:e.ID(),isOptional:!1},connectionId:{type:e.ID(),isOptional:!1},externalId:{type:e.NonEmptyString(),isOptional:!1},institutionId:{type:e.NonEmptyString(),isOptional:!1},institutionName:{type:e.NonEmptyString(),isOptional:!1},institutionLogoUrl:{type:e.URL(),isOptional:!0},iban:{type:e.String_unsecure(),isOptional:!0},bic:{type:e.String_unsecure(),isOptional:!0},accountType:{type:e.NonEmptyString(),isOptional:!1},currency:{type:e.Currency(),isOptional:!1},displayName:{type:e.NonEmptyString(),isOptional:!1},accountNumberMasked:{type:e.String_unsecure(),isOptional:!0},productCode:{type:e.String_unsecure(),isOptional:!0},balance:{type:e.Float_unsecure(),isOptional:!0},availableBalance:{type:e.Float_unsecure(),isOptional:!0},lastSyncedAt:{type:e.DateTime(),isOptional:!1},createdAt:{type:e.DateTime(),isOptional:!1},updatedAt:{type:e.DateTime(),isOptional:!1},metadata:{type:e.JSONObject(),isOptional:!0}}}),r=new t({name:`BankTransactionRecord`,description:`Canonical transaction entry mapped from Powens into the open banking ledger.`,fields:{id:{type:e.ID(),isOptional:!1},accountId:{type:e.ID(),isOptional:!1},tenantId:{type:e.ID(),isOptional:!1},connectionId:{type:e.ID(),isOptional:!1},externalId:{type:e.NonEmptyString(),isOptional:!1},amount:{type:e.Float_unsecure(),isOptional:!1},currency:{type:e.Currency(),isOptional:!1},date:{type:e.DateTime(),isOptional:!1},bookingDate:{type:e.DateTime(),isOptional:!0},valueDate:{type:e.DateTime(),isOptional:!0},description:{type:e.String_unsecure(),isOptional:!0},counterpartyName:{type:e.String_unsecure(),isOptional:!0},counterpartyAccount:{type:e.String_unsecure(),isOptional:!0},merchantCategoryCode:{type:e.String_unsecure(),isOptional:!0},rawCategory:{type:e.String_unsecure(),isOptional:!0},standardizedCategory:{type:e.String_unsecure(),isOptional:!0},transactionType:{type:e.NonEmptyString(),isOptional:!1},status:{type:e.NonEmptyString(),isOptional:!1},runningBalance:{type:e.Float_unsecure(),isOptional:!0},metadata:{type:e.JSONObject(),isOptional:!0},createdAt:{type:e.DateTime(),isOptional:!1},updatedAt:{type:e.DateTime(),isOptional:!1}}}),i=new t({name:`AccountBalanceRecord`,description:`Canonical balance snapshot computed from Powens balance payloads.`,fields:{id:{type:e.ID(),isOptional:!1},accountId:{type:e.ID(),isOptional:!1},tenantId:{type:e.ID(),isOptional:!1},connectionId:{type:e.ID(),isOptional:!1},balanceType:{type:e.NonEmptyString(),isOptional:!1},currentBalance:{type:e.Float_unsecure(),isOptional:!1},availableBalance:{type:e.Float_unsecure(),isOptional:!0},currency:{type:e.Currency(),isOptional:!1},lastUpdatedAt:{type:e.DateTime(),isOptional:!1},createdAt:{type:e.DateTime(),isOptional:!1},metadata:{type:e.JSONObject(),isOptional:!0}}});export{i as AccountBalanceRecord,n as BankAccountRecord,r as BankTransactionRecord};
1
+ import{ScalarTypeEnum as e,SchemaModel as t}from"@lssm/lib.schema";const n=new t({name:`BankAccountRecord`,description:`Canonical representation of a bank account synced from an open banking provider.`,fields:{id:{type:e.ID(),isOptional:!1},tenantId:{type:e.ID(),isOptional:!1},userId:{type:e.ID(),isOptional:!1},connectionId:{type:e.ID(),isOptional:!1},externalId:{type:e.NonEmptyString(),isOptional:!1},institutionId:{type:e.NonEmptyString(),isOptional:!1},institutionName:{type:e.NonEmptyString(),isOptional:!1},institutionLogoUrl:{type:e.URL(),isOptional:!0},iban:{type:e.String_unsecure(),isOptional:!0},bic:{type:e.String_unsecure(),isOptional:!0},accountType:{type:e.NonEmptyString(),isOptional:!1},currency:{type:e.Currency(),isOptional:!1},displayName:{type:e.NonEmptyString(),isOptional:!1},accountNumberMasked:{type:e.String_unsecure(),isOptional:!0},productCode:{type:e.String_unsecure(),isOptional:!0},balance:{type:e.Float_unsecure(),isOptional:!0},availableBalance:{type:e.Float_unsecure(),isOptional:!0},lastSyncedAt:{type:e.DateTime(),isOptional:!1},createdAt:{type:e.DateTime(),isOptional:!1},updatedAt:{type:e.DateTime(),isOptional:!1},metadata:{type:e.JSONObject(),isOptional:!0}}}),r=new t({name:`BankTransactionRecord`,description:`Canonical transaction entry mapped from Powens into the open banking ledger.`,fields:{id:{type:e.ID(),isOptional:!1},accountId:{type:e.ID(),isOptional:!1},tenantId:{type:e.ID(),isOptional:!1},connectionId:{type:e.ID(),isOptional:!1},externalId:{type:e.NonEmptyString(),isOptional:!1},amount:{type:e.Float_unsecure(),isOptional:!1},currency:{type:e.Currency(),isOptional:!1},date:{type:e.DateTime(),isOptional:!1},bookingDate:{type:e.DateTime(),isOptional:!0},valueDate:{type:e.DateTime(),isOptional:!0},description:{type:e.String_unsecure(),isOptional:!0},counterpartyName:{type:e.String_unsecure(),isOptional:!0},counterpartyAccount:{type:e.String_unsecure(),isOptional:!0},merchantCategoryCode:{type:e.String_unsecure(),isOptional:!0},rawCategory:{type:e.String_unsecure(),isOptional:!0},standardizedCategory:{type:e.String_unsecure(),isOptional:!0},transactionType:{type:e.NonEmptyString(),isOptional:!1},status:{type:e.NonEmptyString(),isOptional:!1},runningBalance:{type:e.Float_unsecure(),isOptional:!0},metadata:{type:e.JSONObject(),isOptional:!0},createdAt:{type:e.DateTime(),isOptional:!1},updatedAt:{type:e.DateTime(),isOptional:!1}}}),i=new t({name:`AccountBalanceRecord`,description:`Canonical balance snapshot computed from Powens balance payloads.`,fields:{id:{type:e.ID(),isOptional:!1},accountId:{type:e.ID(),isOptional:!1},tenantId:{type:e.ID(),isOptional:!1},connectionId:{type:e.ID(),isOptional:!1},balanceType:{type:e.NonEmptyString(),isOptional:!1},currentBalance:{type:e.Float_unsecure(),isOptional:!1},availableBalance:{type:e.Float_unsecure(),isOptional:!0},currency:{type:e.Currency(),isOptional:!1},lastUpdatedAt:{type:e.DateTime(),isOptional:!1},createdAt:{type:e.DateTime(),isOptional:!1},metadata:{type:e.JSONObject(),isOptional:!0}}});export{i as AccountBalanceRecord,n as BankAccountRecord,r as BankTransactionRecord};
@@ -1 +1 @@
1
- import{SecretProviderError as e,normalizeSecretPayload as t,parseSecretUri as n}from"./provider.js";import{SecretManagerServiceClient as r,protos as i}from"@google-cloud/secret-manager";const a={automatic:{}};var o=class{id=`gcp-secret-manager`;client;explicitProjectId;replication;constructor(e={}){this.client=e.client??new r(e.clientOptions??{}),this.explicitProjectId=e.projectId,this.replication=e.defaultReplication??a}canHandle(e){try{return n(e).provider===`gcp`}catch{return!1}}async getSecret(t,n,r){let i=this.parseReference(t),a=this.buildVersionName(i,n?.version);try{let[n]=await this.client.accessSecretVersion({name:a},r??{}),i=n.payload;if(!i?.data)throw new e({message:`Secret payload empty for ${a}`,provider:this.id,reference:t,code:`UNKNOWN`});let o=s(n.name??a);return{data:i.data,version:o,metadata:i.dataCrc32c?{crc32c:i.dataCrc32c.toString()}:void 0,retrievedAt:new Date}}catch(e){throw c({error:e,provider:this.id,reference:t,operation:`access`})}}async setSecret(n,r){let i=this.parseReference(n),{secretName:a}=this.buildNames(i),o=t(r);await this.ensureSecretExists(i,r);try{let t=await this.client.addSecretVersion({parent:a,payload:{data:o}});if(!t)throw new e({message:`No version returned when adding secret version for ${a}`,provider:this.id,reference:n,code:`UNKNOWN`});let[r]=t,i=r?.name??`${a}/versions/latest`;return{reference:`gcp://${i}`,version:s(i)??`latest`}}catch(e){throw c({error:e,provider:this.id,reference:n,operation:`addSecretVersion`})}}async rotateSecret(e,t){return this.setSecret(e,t)}async deleteSecret(e){let t=this.parseReference(e),{secretName:n}=this.buildNames(t);try{await this.client.deleteSecret({name:n})}catch(t){throw c({error:t,provider:this.id,reference:e,operation:`delete`})}}parseReference(t){let r=n(t);if(r.provider!==`gcp`)throw new e({message:`Unsupported secret provider: ${r.provider}`,provider:this.id,reference:t,code:`INVALID`});let i=r.path.split(`/`).filter(Boolean);if(i.length<4||i[0]!==`projects`)throw new e({message:`Expected secret reference format gcp://projects/{project}/secrets/{secret}[(/versions/{version})] but received "${r.path}"`,provider:this.id,reference:t,code:`INVALID`});let a=i[1]??this.explicitProjectId;if(!a)throw new e({message:`Unable to resolve project or secret from reference "${r.path}"`,provider:this.id,reference:t,code:`INVALID`});let o=i.indexOf(`secrets`);if(o===-1||o+1>=i.length)throw new e({message:`Unable to resolve project or secret from reference "${r.path}"`,provider:this.id,reference:t,code:`INVALID`});let s=a,c=i[o+1];if(!c)throw new e({message:`Unable to resolve secret ID from reference "${r.path}"`,provider:this.id,reference:t,code:`INVALID`});let l=c,u=i.indexOf(`versions`);return{projectId:s,secretId:l,version:r.extras?.version??(u!==-1&&u+1<i.length?i[u+1]:void 0)}}buildNames(t){let n=t.projectId??this.explicitProjectId;if(!n)throw new e({message:`Project ID must be provided either in reference or provider configuration`,provider:this.id,reference:`gcp://projects//secrets/${t.secretId}`,code:`INVALID`});let r=`projects/${n}`;return{projectParent:r,secretName:`${r}/secrets/${t.secretId}`}}buildVersionName(e,t){let{secretName:n}=this.buildNames(e);return`${n}/versions/${t??e.version??`latest`}`}async ensureSecretExists(e,t){let{secretName:n,projectParent:r}=this.buildNames(e);try{await this.client.getSecret({name:n})}catch(i){let a=c({error:i,provider:this.id,reference:`gcp://${n}`,operation:`getSecret`,suppressThrow:!0});if(!a||a.code!==`NOT_FOUND`)throw a||i;try{await this.client.createSecret({parent:r,secretId:e.secretId,secret:{replication:this.replication,labels:t.labels}})}catch(e){throw c({error:e,provider:this.id,reference:`gcp://${n}`,operation:`createSecret`})}}}};function s(e){let t=e.split(`/`).filter(Boolean),n=t.indexOf(`versions`);if(!(n===-1||n+1>=t.length))return t[n+1]}function c(t){let{error:n,provider:r,reference:i,operation:a,suppressThrow:o}=t;if(n instanceof e)return n;let s=l(n),c=new e({message:n instanceof Error?n.message:`Unknown error during ${a}`,provider:r,reference:i,code:s,cause:n});if(o)return c;throw c}function l(e){if(typeof e!=`object`||!e)return`UNKNOWN`;let t=e.code;return t===5||t===`NOT_FOUND`?`NOT_FOUND`:t===6||t===`ALREADY_EXISTS`?`INVALID`:t===7||t===`PERMISSION_DENIED`||t===403?`FORBIDDEN`:t===3||t===`INVALID_ARGUMENT`?`INVALID`:`UNKNOWN`}export{o as GcpSecretManagerProvider};
1
+ import{SecretProviderError as e,normalizeSecretPayload as t,parseSecretUri as n}from"./provider.js";import{SecretManagerServiceClient as r}from"@google-cloud/secret-manager";const i={automatic:{}};var a=class{id=`gcp-secret-manager`;client;explicitProjectId;replication;constructor(e={}){this.client=e.client??new r(e.clientOptions??{}),this.explicitProjectId=e.projectId,this.replication=e.defaultReplication??i}canHandle(e){try{return n(e).provider===`gcp`}catch{return!1}}async getSecret(t,n,r){let i=this.parseReference(t),a=this.buildVersionName(i,n?.version);try{let[n]=await this.client.accessSecretVersion({name:a},r??{}),i=n.payload;if(!i?.data)throw new e({message:`Secret payload empty for ${a}`,provider:this.id,reference:t,code:`UNKNOWN`});let s=o(n.name??a);return{data:i.data,version:s,metadata:i.dataCrc32c?{crc32c:i.dataCrc32c.toString()}:void 0,retrievedAt:new Date}}catch(e){throw s({error:e,provider:this.id,reference:t,operation:`access`})}}async setSecret(n,r){let i=this.parseReference(n),{secretName:a}=this.buildNames(i),c=t(r);await this.ensureSecretExists(i,r);try{let t=await this.client.addSecretVersion({parent:a,payload:{data:c}});if(!t)throw new e({message:`No version returned when adding secret version for ${a}`,provider:this.id,reference:n,code:`UNKNOWN`});let[r]=t,i=r?.name??`${a}/versions/latest`;return{reference:`gcp://${i}`,version:o(i)??`latest`}}catch(e){throw s({error:e,provider:this.id,reference:n,operation:`addSecretVersion`})}}async rotateSecret(e,t){return this.setSecret(e,t)}async deleteSecret(e){let t=this.parseReference(e),{secretName:n}=this.buildNames(t);try{await this.client.deleteSecret({name:n})}catch(t){throw s({error:t,provider:this.id,reference:e,operation:`delete`})}}parseReference(t){let r=n(t);if(r.provider!==`gcp`)throw new e({message:`Unsupported secret provider: ${r.provider}`,provider:this.id,reference:t,code:`INVALID`});let i=r.path.split(`/`).filter(Boolean);if(i.length<4||i[0]!==`projects`)throw new e({message:`Expected secret reference format gcp://projects/{project}/secrets/{secret}[(/versions/{version})] but received "${r.path}"`,provider:this.id,reference:t,code:`INVALID`});let a=i[1]??this.explicitProjectId;if(!a)throw new e({message:`Unable to resolve project or secret from reference "${r.path}"`,provider:this.id,reference:t,code:`INVALID`});let o=i.indexOf(`secrets`);if(o===-1||o+1>=i.length)throw new e({message:`Unable to resolve project or secret from reference "${r.path}"`,provider:this.id,reference:t,code:`INVALID`});let s=a,c=i[o+1];if(!c)throw new e({message:`Unable to resolve secret ID from reference "${r.path}"`,provider:this.id,reference:t,code:`INVALID`});let l=c,u=i.indexOf(`versions`);return{projectId:s,secretId:l,version:r.extras?.version??(u!==-1&&u+1<i.length?i[u+1]:void 0)}}buildNames(t){let n=t.projectId??this.explicitProjectId;if(!n)throw new e({message:`Project ID must be provided either in reference or provider configuration`,provider:this.id,reference:`gcp://projects//secrets/${t.secretId}`,code:`INVALID`});let r=`projects/${n}`;return{projectParent:r,secretName:`${r}/secrets/${t.secretId}`}}buildVersionName(e,t){let{secretName:n}=this.buildNames(e);return`${n}/versions/${t??e.version??`latest`}`}async ensureSecretExists(e,t){let{secretName:n,projectParent:r}=this.buildNames(e);try{await this.client.getSecret({name:n})}catch(i){let a=s({error:i,provider:this.id,reference:`gcp://${n}`,operation:`getSecret`,suppressThrow:!0});if(!a||a.code!==`NOT_FOUND`)throw a||i;try{await this.client.createSecret({parent:r,secretId:e.secretId,secret:{replication:this.replication,labels:t.labels}})}catch(e){throw s({error:e,provider:this.id,reference:`gcp://${n}`,operation:`createSecret`})}}}};function o(e){let t=e.split(`/`).filter(Boolean),n=t.indexOf(`versions`);if(!(n===-1||n+1>=t.length))return t[n+1]}function s(t){let{error:n,provider:r,reference:i,operation:a,suppressThrow:o}=t;if(n instanceof e)return n;let s=c(n),l=new e({message:n instanceof Error?n.message:`Unknown error during ${a}`,provider:r,reference:i,code:s,cause:n});if(o)return l;throw l}function c(e){if(typeof e!=`object`||!e)return`UNKNOWN`;let t=e.code;return t===5||t===`NOT_FOUND`?`NOT_FOUND`:t===6||t===`ALREADY_EXISTS`?`INVALID`:t===7||t===`PERMISSION_DENIED`||t===403?`FORBIDDEN`:t===3||t===`INVALID_ARGUMENT`?`INVALID`:`UNKNOWN`}export{a as GcpSecretManagerProvider};
@@ -1 +1 @@
1
- import{randomUUID as e}from"crypto";import{DeleteMessageCommand as t,ReceiveMessageCommand as n,SQSClient as r,SendMessageCommand as i}from"@aws-sdk/client-sqs";var a=class{sqs;queueUrl;waitTimeSeconds;maxNumberOfMessages;visibilityTimeoutSeconds;handlers=new Map;running=!1;constructor(e){let t=process.env.SCALEWAY_ACCESS_KEY_QUEUE,n=process.env.SCALEWAY_SECRET_KEY_QUEUE;if(!t||!n)throw Error(`Missing SCALEWAY_ACCESS_KEY / SCALEWAY_SECRET_KEY in env`);this.sqs=new r({region:e.region??process.env.SCALEWAY_REGION??`par`,endpoint:`https://sqs.mnq.fr-par.scaleway.com`,credentials:{accessKeyId:t,secretAccessKey:n}}),this.queueUrl=e.queueUrl,this.waitTimeSeconds=e.waitTimeSeconds??20,this.maxNumberOfMessages=e.maxNumberOfMessages??5,this.visibilityTimeoutSeconds=e.visibilityTimeoutSeconds??60}async enqueue(t,n,r={}){let a=e(),o=new Date,s={id:a,type:t,payload:n};return await this.sqs.send(new i({QueueUrl:this.queueUrl,MessageBody:JSON.stringify(s),DelaySeconds:r.delaySeconds??0})),{id:a,type:t,payload:n,status:`pending`,attempts:0,createdAt:o,updatedAt:o}}register(e,t){if(this.handlers.has(e))throw Error(`Handler already registered for job type "${e}"`);this.handlers.set(e,t)}start(){this.running||(this.running=!0,this.pollLoop().catch(e=>{console.error(`[queue] Fatal error in poll loop`,e),process.exit(1)}))}async stop(){this.running=!1}async pollLoop(){for(console.log(`[queue] SQS worker started for queue:`,this.queueUrl);this.running;)try{let e=(await this.sqs.send(new n({QueueUrl:this.queueUrl,MaxNumberOfMessages:this.maxNumberOfMessages,WaitTimeSeconds:this.waitTimeSeconds,VisibilityTimeout:this.visibilityTimeoutSeconds,MessageSystemAttributeNames:[`ApproximateReceiveCount`]}))).Messages??[];if(e.length===0)continue;for(let t of e){if(!t.Body||!t.ReceiptHandle){console.warn(`[queue] Message missing Body or ReceiptHandle`,t.MessageId);continue}let e;try{e=JSON.parse(t.Body)}catch(e){console.error(`[queue] Failed to parse message body (id=${t.MessageId}), deleting`,e),await this.deleteMessage(t.ReceiptHandle);continue}let n=this.handlers.get(e.type);if(!n){console.error(`[queue] No handler registered for type "${e.type}", deleting message`),await this.deleteMessage(t.ReceiptHandle);continue}let r=new Date,i=parseInt(t.Attributes?.ApproximateReceiveCount??`1`,10),a={id:e.id,type:e.type,payload:e.payload,status:`pending`,attempts:i,createdAt:r,updatedAt:r};a.status=`running`,a.updatedAt=new Date;try{await n(a),a.status=`completed`,a.updatedAt=new Date,await this.deleteMessage(t.ReceiptHandle)}catch(e){a.status=`failed`,a.lastError=e instanceof Error?e.message:`Unknown job error`,a.updatedAt=new Date,console.error(`[queue] Error while handling job type=${a.type} id=${a.id}`,e)}}}catch(e){e&&typeof e==`object`&&`$response`in e?console.error(`[queue] Error while polling SQS`,e,e.$response):console.error(`[queue] Error while polling SQS`,e),await this.sleep(5e3)}console.log(`[queue] SQS worker stopped`)}async deleteMessage(e){try{await this.sqs.send(new t({QueueUrl:this.queueUrl,ReceiptHandle:e}))}catch(e){console.error(`[queue] Failed to delete message`,e)}}async sleep(e){await new Promise(t=>setTimeout(t,e))}};export{a as ScalewaySqsJobQueue};
1
+ import{randomUUID as e}from"crypto";import{DeleteMessageCommand as t,ReceiveMessageCommand as n,SQSClient as r,SendMessageCommand as i}from"@aws-sdk/client-sqs";var a=class{sqs;queueUrl;waitTimeSeconds;maxNumberOfMessages;visibilityTimeoutSeconds;handlers=new Map;running=!1;constructor(e){let t=process.env.SCALEWAY_ACCESS_KEY_QUEUE,n=process.env.SCALEWAY_SECRET_KEY_QUEUE;if(!t||!n)throw Error(`Missing SCALEWAY_ACCESS_KEY_QUEUE / SCALEWAY_SECRET_KEY_QUEUE in env`);this.sqs=new r({region:e.region??process.env.SCALEWAY_REGION??`par`,endpoint:`https://sqs.mnq.fr-par.scaleway.com`,credentials:{accessKeyId:t,secretAccessKey:n}}),this.queueUrl=e.queueUrl,this.waitTimeSeconds=e.waitTimeSeconds??20,this.maxNumberOfMessages=e.maxNumberOfMessages??5,this.visibilityTimeoutSeconds=e.visibilityTimeoutSeconds??60}async enqueue(t,n,r={}){let a=e(),o=new Date,s={id:a,type:t,payload:n};return await this.sqs.send(new i({QueueUrl:this.queueUrl,MessageBody:JSON.stringify(s),DelaySeconds:r.delaySeconds??0})),{id:a,type:t,payload:n,status:`pending`,attempts:0,createdAt:o,updatedAt:o}}register(e,t){if(this.handlers.has(e))throw Error(`Handler already registered for job type "${e}"`);this.handlers.set(e,t)}start(){this.running||(this.running=!0,this.pollLoop().catch(e=>{console.error(`[queue] Fatal error in poll loop`,e),process.exit(1)}))}async stop(){this.running=!1}async pollLoop(){for(console.log(`[queue] SQS worker started for queue:`,this.queueUrl);this.running;)try{let e=(await this.sqs.send(new n({QueueUrl:this.queueUrl,MaxNumberOfMessages:this.maxNumberOfMessages,WaitTimeSeconds:this.waitTimeSeconds,VisibilityTimeout:this.visibilityTimeoutSeconds,MessageSystemAttributeNames:[`ApproximateReceiveCount`]}))).Messages??[];if(e.length===0)continue;for(let t of e){if(!t.Body||!t.ReceiptHandle){console.warn(`[queue] Message missing Body or ReceiptHandle`,t.MessageId);continue}let e;try{e=JSON.parse(t.Body)}catch(e){console.error(`[queue] Failed to parse message body (id=${t.MessageId}), deleting`,e),await this.deleteMessage(t.ReceiptHandle);continue}let n=this.handlers.get(e.type);if(!n){console.error(`[queue] No handler registered for type "${e.type}", deleting message`),await this.deleteMessage(t.ReceiptHandle);continue}let r=new Date,i=parseInt(t.Attributes?.ApproximateReceiveCount??`1`,10),a={id:e.id,type:e.type,payload:e.payload,status:`pending`,attempts:i,createdAt:r,updatedAt:r};a.status=`running`,a.updatedAt=new Date;try{await n(a),a.status=`completed`,a.updatedAt=new Date,await this.deleteMessage(t.ReceiptHandle)}catch(e){a.status=`failed`,a.lastError=e instanceof Error?e.message:`Unknown job error`,a.updatedAt=new Date,console.error(`[queue] Error while handling job type=${a.type} id=${a.id}`,e)}}}catch(e){e&&typeof e==`object`&&`$response`in e?console.error(`[queue] Error while polling SQS`,e,e.$response):console.error(`[queue] Error while polling SQS`,e),await this.sleep(5e3)}console.log(`[queue] SQS worker stopped`)}async deleteMessage(e){try{await this.sqs.send(new t({QueueUrl:this.queueUrl,ReceiptHandle:e}))}catch(e){console.error(`[queue] Failed to delete message`,e)}}async sleep(e){await new Promise(t=>setTimeout(t,e))}};export{a as ScalewaySqsJobQueue};
@@ -1 +1 @@
1
- import{l as e}from"../schema/dist/ScalarTypeEnum.js";import{t}from"../schema/dist/SchemaModel.js";import"../schema/dist/index.js";import{defineCommand as n,defineQuery as r}from"../spec.js";const i=new t({name:`KnowledgeSyncSchedule`,fields:{enabled:{type:e.Boolean(),isOptional:!1},cron:{type:e.String_unsecure(),isOptional:!0},intervalMs:{type:e.Int_unsecure(),isOptional:!0}}}),a=new t({name:`KnowledgeSourceRecord`,fields:{id:{type:e.ID(),isOptional:!1},tenantId:{type:e.ID(),isOptional:!1},spaceKey:{type:e.NonEmptyString(),isOptional:!1},spaceVersion:{type:e.Int_unsecure(),isOptional:!1},label:{type:e.String_unsecure(),isOptional:!1},sourceType:{type:e.String_unsecure(),isOptional:!1},syncSchedule:{type:i,isOptional:!0},lastSyncStatus:{type:e.String_unsecure(),isOptional:!0},lastSyncAt:{type:e.DateTime(),isOptional:!0},itemsProcessed:{type:e.Int_unsecure(),isOptional:!0},createdAt:{type:e.DateTime(),isOptional:!0},updatedAt:{type:e.DateTime(),isOptional:!0}}}),o=new t({name:`CreateKnowledgeSourceInput`,fields:{tenantId:{type:e.ID(),isOptional:!1},spaceKey:{type:e.NonEmptyString(),isOptional:!1},spaceVersion:{type:e.Int_unsecure(),isOptional:!1},label:{type:e.String_unsecure(),isOptional:!1},sourceType:{type:e.NonEmptyString(),isOptional:!1},config:{type:e.JSONObject(),isOptional:!1},syncSchedule:{type:i,isOptional:!0}}}),s=new t({name:`UpdateKnowledgeSourceInput`,fields:{sourceId:{type:e.ID(),isOptional:!1},label:{type:e.String_unsecure(),isOptional:!0},config:{type:e.JSONObject(),isOptional:!0},syncSchedule:{type:i,isOptional:!0}}}),c=new t({name:`DeleteKnowledgeSourceInput`,fields:{sourceId:{type:e.ID(),isOptional:!1}}}),l=new t({name:`DeleteKnowledgeSourceOutput`,fields:{success:{type:e.Boolean(),isOptional:!1}}}),u=new t({name:`ListKnowledgeSourcesInput`,fields:{tenantId:{type:e.ID(),isOptional:!1},spaceKey:{type:e.NonEmptyString(),isOptional:!0}}}),d=new t({name:`ListKnowledgeSourcesOutput`,fields:{sources:{type:a,isOptional:!1,isArray:!0}}}),f=new t({name:`TriggerKnowledgeSyncInput`,fields:{sourceId:{type:e.ID(),isOptional:!1}}}),p=new t({name:`TriggerKnowledgeSyncOutput`,fields:{success:{type:e.Boolean(),isOptional:!1},itemsProcessed:{type:e.Int_unsecure(),isOptional:!0},error:{type:e.String_unsecure(),isOptional:!0}}}),m=n({meta:{name:`knowledge.source.create`,version:1,description:`Create a knowledge source binding for a tenant.`,goal:`Onboard a new knowledge ingestion source such as Notion or uploads.`,context:`Used by Ops and App Studio to configure knowledge ingestion per tenant and space.`,owners:[`platform.knowledge`],tags:[`knowledge`,`sources`],stability:`experimental`},io:{input:o,output:a},policy:{auth:`admin`,policies:[{name:`platform.knowledge.manage`,version:1}]}}),h=n({meta:{name:`knowledge.source.update`,version:1,description:`Update metadata or configuration for a knowledge source.`,goal:`Allow rotation of credentials, sync schedules, and labels.`,context:`Supports editing how a tenant ingests knowledge (e.g., toggling sync cadence).`,owners:[`platform.knowledge`],tags:[`knowledge`,`sources`],stability:`experimental`},io:{input:s,output:a},policy:{auth:`admin`,policies:[{name:`platform.knowledge.manage`,version:1}]}}),g=n({meta:{name:`knowledge.source.delete`,version:1,description:`Delete a knowledge source binding for a tenant.`,goal:`Remove obsolete or compromised knowledge ingestion paths.`,context:`Ensures ephemeral or external sources can be removed cleanly without leaving residual bindings.`,owners:[`platform.knowledge`],tags:[`knowledge`,`sources`],stability:`experimental`},io:{input:c,output:l},policy:{auth:`admin`,policies:[{name:`platform.knowledge.manage`,version:1}]}}),_=r({meta:{name:`knowledge.source.list`,version:1,description:`List knowledge sources configured for a tenant.`,goal:`Provide visibility into knowledge ingest configuration and schedules.`,context:`Used by App Studio and Ops flows to surface knowledge sources and their health.`,owners:[`platform.knowledge`],tags:[`knowledge`,`sources`],stability:`experimental`},io:{input:u,output:d},policy:{auth:`admin`,policies:[{name:`platform.knowledge.read`,version:1}]}}),v=n({meta:{name:`knowledge.source.triggerSync`,version:1,description:`Trigger an immediate sync for a knowledge source.`,goal:`Support manual or automated sync retries for knowledge ingestion.`,context:`Invoked by Ops tooling or monitors when knowledge content must be refreshed or reprocessed.`,owners:[`platform.knowledge`],tags:[`knowledge`,`sources`],stability:`experimental`},io:{input:f,output:p},policy:{auth:`admin`,policies:[{name:`platform.knowledge.manage`,version:1}]}}),y={CreateKnowledgeSource:m,UpdateKnowledgeSource:h,DeleteKnowledgeSource:g,ListKnowledgeSources:_,TriggerKnowledgeSourceSync:v};function b(e){return e.register(m).register(h).register(g).register(_).register(v)}export{m as CreateKnowledgeSource,g as DeleteKnowledgeSource,_ as ListKnowledgeSources,v as TriggerKnowledgeSourceSync,h as UpdateKnowledgeSource,y as knowledgeContracts,b as registerKnowledgeContracts};
1
+ import{defineCommand as e,defineQuery as t}from"../spec.js";import{ScalarTypeEnum as n,SchemaModel as r}from"@lssm/lib.schema";const i=new r({name:`KnowledgeSyncSchedule`,fields:{enabled:{type:n.Boolean(),isOptional:!1},cron:{type:n.String_unsecure(),isOptional:!0},intervalMs:{type:n.Int_unsecure(),isOptional:!0}}}),a=new r({name:`KnowledgeSourceRecord`,fields:{id:{type:n.ID(),isOptional:!1},tenantId:{type:n.ID(),isOptional:!1},spaceKey:{type:n.NonEmptyString(),isOptional:!1},spaceVersion:{type:n.Int_unsecure(),isOptional:!1},label:{type:n.String_unsecure(),isOptional:!1},sourceType:{type:n.String_unsecure(),isOptional:!1},syncSchedule:{type:i,isOptional:!0},lastSyncStatus:{type:n.String_unsecure(),isOptional:!0},lastSyncAt:{type:n.DateTime(),isOptional:!0},itemsProcessed:{type:n.Int_unsecure(),isOptional:!0},createdAt:{type:n.DateTime(),isOptional:!0},updatedAt:{type:n.DateTime(),isOptional:!0}}}),o=new r({name:`CreateKnowledgeSourceInput`,fields:{tenantId:{type:n.ID(),isOptional:!1},spaceKey:{type:n.NonEmptyString(),isOptional:!1},spaceVersion:{type:n.Int_unsecure(),isOptional:!1},label:{type:n.String_unsecure(),isOptional:!1},sourceType:{type:n.NonEmptyString(),isOptional:!1},config:{type:n.JSONObject(),isOptional:!1},syncSchedule:{type:i,isOptional:!0}}}),s=new r({name:`UpdateKnowledgeSourceInput`,fields:{sourceId:{type:n.ID(),isOptional:!1},label:{type:n.String_unsecure(),isOptional:!0},config:{type:n.JSONObject(),isOptional:!0},syncSchedule:{type:i,isOptional:!0}}}),c=new r({name:`DeleteKnowledgeSourceInput`,fields:{sourceId:{type:n.ID(),isOptional:!1}}}),l=new r({name:`DeleteKnowledgeSourceOutput`,fields:{success:{type:n.Boolean(),isOptional:!1}}}),u=new r({name:`ListKnowledgeSourcesInput`,fields:{tenantId:{type:n.ID(),isOptional:!1},spaceKey:{type:n.NonEmptyString(),isOptional:!0}}}),d=new r({name:`ListKnowledgeSourcesOutput`,fields:{sources:{type:a,isOptional:!1,isArray:!0}}}),f=new r({name:`TriggerKnowledgeSyncInput`,fields:{sourceId:{type:n.ID(),isOptional:!1}}}),p=new r({name:`TriggerKnowledgeSyncOutput`,fields:{success:{type:n.Boolean(),isOptional:!1},itemsProcessed:{type:n.Int_unsecure(),isOptional:!0},error:{type:n.String_unsecure(),isOptional:!0}}}),m=e({meta:{name:`knowledge.source.create`,version:1,description:`Create a knowledge source binding for a tenant.`,goal:`Onboard a new knowledge ingestion source such as Notion or uploads.`,context:`Used by Ops and App Studio to configure knowledge ingestion per tenant and space.`,owners:[`platform.knowledge`],tags:[`knowledge`,`sources`],stability:`experimental`},io:{input:o,output:a},policy:{auth:`admin`,policies:[{name:`platform.knowledge.manage`,version:1}]}}),h=e({meta:{name:`knowledge.source.update`,version:1,description:`Update metadata or configuration for a knowledge source.`,goal:`Allow rotation of credentials, sync schedules, and labels.`,context:`Supports editing how a tenant ingests knowledge (e.g., toggling sync cadence).`,owners:[`platform.knowledge`],tags:[`knowledge`,`sources`],stability:`experimental`},io:{input:s,output:a},policy:{auth:`admin`,policies:[{name:`platform.knowledge.manage`,version:1}]}}),g=e({meta:{name:`knowledge.source.delete`,version:1,description:`Delete a knowledge source binding for a tenant.`,goal:`Remove obsolete or compromised knowledge ingestion paths.`,context:`Ensures ephemeral or external sources can be removed cleanly without leaving residual bindings.`,owners:[`platform.knowledge`],tags:[`knowledge`,`sources`],stability:`experimental`},io:{input:c,output:l},policy:{auth:`admin`,policies:[{name:`platform.knowledge.manage`,version:1}]}}),_=t({meta:{name:`knowledge.source.list`,version:1,description:`List knowledge sources configured for a tenant.`,goal:`Provide visibility into knowledge ingest configuration and schedules.`,context:`Used by App Studio and Ops flows to surface knowledge sources and their health.`,owners:[`platform.knowledge`],tags:[`knowledge`,`sources`],stability:`experimental`},io:{input:u,output:d},policy:{auth:`admin`,policies:[{name:`platform.knowledge.read`,version:1}]}}),v=e({meta:{name:`knowledge.source.triggerSync`,version:1,description:`Trigger an immediate sync for a knowledge source.`,goal:`Support manual or automated sync retries for knowledge ingestion.`,context:`Invoked by Ops tooling or monitors when knowledge content must be refreshed or reprocessed.`,owners:[`platform.knowledge`],tags:[`knowledge`,`sources`],stability:`experimental`},io:{input:f,output:p},policy:{auth:`admin`,policies:[{name:`platform.knowledge.manage`,version:1}]}}),y={CreateKnowledgeSource:m,UpdateKnowledgeSource:h,DeleteKnowledgeSource:g,ListKnowledgeSources:_,TriggerKnowledgeSourceSync:v};function b(e){return e.register(m).register(h).register(g).register(_).register(v)}export{m as CreateKnowledgeSource,g as DeleteKnowledgeSource,_ as ListKnowledgeSources,v as TriggerKnowledgeSourceSync,h as UpdateKnowledgeSource,y as knowledgeContracts,b as registerKnowledgeContracts};
@@ -0,0 +1 @@
1
+ import{require_graphql as e}from"../../../graphql/index.js";import{DEFAULT_COMPLEXITY as t,DEFAULT_LIST_MULTIPLIER as n}from"./defaults.js";import{PothosValidationError as r,getMappedArgumentValues as i}from"@pothos/core";var a=e();function o(e){return e instanceof a.GraphQLList?!0:e instanceof a.GraphQLNonNull?o(e.ofType):!1}function s(e,s,c,l){let d=1,f=1,p=c.name.value,m=((0,a.isObjectType)(l)||(0,a.isInterfaceType)(l))&&l.getFields()[p],h;if(m)h=m.extensions?.complexity;else if(!p.startsWith(`__`))throw new r(`Unknown field selected (${l.name}.${p})`);if(typeof h==`function`){let t=i(m,c,e,s);h=h(t,e,m)}let g;g=typeof h==`object`&&h.multiplier!==void 0?h.multiplier:m&&o(m.type)?n:1;let _=0;if(m&&c.selectionSet){let t=u(e,s,c.selectionSet,(0,a.getNamedType)(m.type));_+=t.complexity*Math.max(g,0),d+=t.depth,f+=t.breadth}return _+=typeof h==`number`?h:h?.field??t,{complexity:_,depth:d,breadth:f}}function c(e,t){let n=`${t.operation.operation.slice(0,1).toUpperCase()}${t.operation.operation.slice(1)}`,i=t.schema.getType(n);if(!i||!(0,a.isOutputType)(i))throw new r(`Unsupported operation ${n}`);return u(e,t,t.operation.selectionSet,i)}function l(e,t,n,i){let o=n.typeCondition?t.schema.getType(n.typeCondition.name.value):i;if(!(0,a.isOutputType)(o))throw new r(`Expected Type ${i.name} to be an Output type`);if(!o)throw new r(`Missing type from fragment ${n.typeCondition?.name.value}`);return u(e,t,n.selectionSet,o)}function u(e,t,n,i){let o={depth:0,breadth:0,complexity:0};for(let c of n.selections){let n;if(c.kind===a.Kind.FIELD)n=s(e,t,c,i);else if(c.kind===a.Kind.FRAGMENT_SPREAD){let a=t.fragments[c.name.value];if(!a)throw new r(`Missing fragment ${c.name.value}`);n=l(e,t,a,i)}else n=l(e,t,c,i);o.complexity+=n.complexity,o.breadth+=n.breadth,o.depth=Math.max(o.depth,n.depth)}return o}export{c as calculateComplexity};
@@ -0,0 +1 @@
1
+ const e=1,t=10;export{e as DEFAULT_COMPLEXITY,t as DEFAULT_LIST_MULTIPLIER};
@@ -0,0 +1 @@
1
+ import{DEFAULT_COMPLEXITY as e,DEFAULT_LIST_MULTIPLIER as t}from"./defaults.js";import{calculateComplexity as n}from"./calculate-complexity.js";import{ComplexityErrorKind as r}from"./types.js";import"./util.js";import"./validator.js";import i,{BasePlugin as a,PothosValidationError as o,createContextCache as s}from"@pothos/core";function c(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}var l=class extends a{onOutputFieldConfig(e){return{...e,extensions:{...e.extensions,complexity:e.pothosOptions.complexity??this.options.complexity?.fieldComplexity??this.builder.options?.complexity?.fieldComplexity??(e.type.kind===`List`?{field:this.defaultComplexity,multiplier:this.defaultListMultiplier}:this.defaultComplexity)}}}wrapResolve(e,t){return this.builder.options.complexity?.disabled||t.kind!==`Query`&&t.kind!==`Mutation`&&t.kind!==`Subscription`?e:(t,n,r,i)=>(this.checkComplexity(r,i),e(t,n,r,i))}checkComplexity(e,t){let n=this.getMax(e);if(!n)return;let{complexity:i,depth:a,breadth:o}=this.complexityCache(e,t),s=null;if(typeof n.depth==`number`&&n.depth<a?s=r.Depth:typeof n.breadth==`number`&&n.breadth<o?s=r.Breadth:typeof n.complexity==`number`&&n.complexity<i&&(s=r.Complexity),s){let e=this.complexityError(s,{complexity:i,depth:a,breadth:o,maxComplexity:n.complexity,maxDepth:n.depth,maxBreadth:n.breadth},t);throw typeof e==`string`?Error(e):e}}getMax(e){let t=this.options.complexity?.limit??this.builder.options.complexity?.limit;return typeof t==`function`&&(t=t(e)),t?.complexity||t?.depth||t?.breadth?t:null}constructor(...i){super(...i),c(this,`defaultComplexity`,this.options.complexity?.defaultComplexity??this.builder.options?.complexity?.defaultComplexity??e),c(this,`defaultListMultiplier`,this.options.complexity?.defaultListMultiplier??this.builder.options.complexity?.defaultListMultiplier??t),c(this,`complexityError`,this.options.complexity?.complexityError??this.builder.options.complexity?.complexityError??((e,{depth:t,breadth:n,complexity:i,maxBreadth:a,maxComplexity:s,maxDepth:c})=>{if(e===r.Depth)return new o(`Query exceeds maximum depth (depth: ${t}, max: ${c})`);if(e===r.Breadth)return new o(`Query exceeds maximum breadth (breadth: ${n}, max: ${a})`);if(e===r.Complexity)return new o(`Query exceeds maximum complexity (complexity: ${i}, max: ${s})`);throw new o(`Unexpected complexity error kind`)})),c(this,`complexityCache`,s((e,t)=>n(e,t)))}};i.registerPlugin(`complexity`,l);
@@ -0,0 +1 @@
1
+ var e=function(e){return e.Complexity=`Complexity`,e.Depth=`Depth`,e.Breadth=`Breadth`,e}({});export{e as ComplexityErrorKind};
@@ -0,0 +1 @@
1
+ import"./calculate-complexity.js";import{PothosValidationError as e}from"@pothos/core";
@@ -0,0 +1 @@
1
+ import"./calculate-complexity.js";import{PothosValidationError as e}from"@pothos/core";
@@ -0,0 +1 @@
1
+ import{pathDataloaderGetter as e,rejectErrors as t}from"./util.js";import{RootFieldBuilder as n}from"@pothos/core";const r=n.prototype;r.loadable=function({load:n,sort:r,loaderOptions:i,resolve:a,type:o,byPath:s,...c}){let l=e(i,(e,t,r,i)=>n(e,t,r,i),void 0,r,s);return this.field({...c,type:o,resolve:async(e,n,r,i)=>{let s=await a(e,n,r,i);if(s==null)return null;let c=l(n,r,i);return Array.isArray(o)?t(s.map(e=>e==null?e:c.load(e))):c.load(s)}})},r.loadableList=function({load:t,sort:n,loaderOptions:r,resolve:i,type:a,byPath:o,...s}){let c=e(r,(e,n,r,i)=>t(e,n,r,i),void 0,n,o);return this.field({...s,type:[a],resolve:async(e,t,n,r)=>{let a=await i(e,t,n,r);return c(t,n,r).load(a)}})},r.loadableGroup=function({load:t,group:n,loaderOptions:r,byPath:i,resolve:a,type:o,...s}){let c=e(r,async(e,r,i,a)=>{let o=await t(e,r,i,a),s=new Map;for(let e of o){if(e==null)continue;let t=n(e);s.has(t)||s.set(t,[]),s.get(t).push(e)}return e.map(e=>s.get(e)??[])},void 0,!1,i);return this.field({...s,type:[o],resolve:async(e,t,n,r)=>{let i=await a(e,t,n,r);return c(t,n,r).load(i)}})};
@@ -0,0 +1 @@
1
+ import{cacheKey as e,dataloaderGetter as t,loadAndSort as n,pathDataloaderGetter as r,rejectErrors as i}from"./util.js";import"./field-builder.js";import{ImplementableLoadableInterfaceRef as a}from"./refs/interface.js";import{ImplementableLoadableObjectRef as o,LoadableObjectRef as s}from"./refs/object.js";import{ImplementableLoadableNodeRef as c,LoadableNodeRef as l}from"./refs/node.js";import{LoadableUnionRef as u}from"./refs/union.js";import"./refs/index.js";import"./schema-builder.js";import d,{BasePlugin as f,isThenable as p,unwrapOutputFieldType as m}from"@pothos/core";var h=class extends f{wrapResolve(e,t){let n=t.type.kind===`List`,r=this.buildCache.getTypeConfig(m(t.type)),i=r.extensions?.getDataloader;if(!i)return e;let a=r.extensions?.cacheResolved;function o(e,t){if(e==null)return e;if(p(e))return e.then(e=>o(e,t));switch(typeof e){case`number`:case`bigint`:case`string`:return t.load(e);default:if(a){let n=a(e);t.prime(n,e)}return e}}return n?(t,n,r,a)=>{let s=i(r),c=e(t,n,r,a);return p(c)?c.then(e=>e?.map(e=>o(e,s))):c?.map(e=>o(e,s))}:(t,n,r,a)=>o(e(t,n,r,a),i(r))}};d.registerPlugin(`dataloader`,h);
@@ -0,0 +1 @@
1
+ import{ImplementableLoadableInterfaceRef as e}from"./interface.js";import{ImplementableLoadableObjectRef as t,LoadableObjectRef as n}from"./object.js";import{ImplementableLoadableNodeRef as r,LoadableNodeRef as i}from"./node.js";import{LoadableUnionRef as a}from"./union.js";
@@ -0,0 +1 @@
1
+ import{dataloaderGetter as e}from"../util.js";import{ImplementableInterfaceRef as t,InterfaceRef as n}from"@pothos/core";function r(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}var i=class extends t{implement(e){return super.implement({...e,extensions:{...e.extensions,getDataloader:this.getDataloader,cacheResolved:this.cacheResolved}})}constructor(t,n,{loaderOptions:i,load:a,toKey:o,sort:s,cacheResolved:c}){super(t,n),r(this,`cacheResolved`,void 0),r(this,`getDataloader`,void 0),this.getDataloader=e(i,a,o,s),this.cacheResolved=typeof c==`function`?c:c&&o}};export{i as ImplementableLoadableInterfaceRef};
@@ -0,0 +1 @@
1
+ import{dataloaderGetter as e}from"../util.js";import{LoadableObjectRef as t}from"./object.js";import{ImplementableObjectRef as n}from"@pothos/core";function r(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}var i=class extends t{constructor(t,n,{id:i,loaderOptions:a,load:o,toKey:s,sort:c}){super(n,e(a,o,s,c)),r(this,`parseId`,void 0),r(this,`builder`,void 0),this.builder=t,this.parseId=i.parse}},a=class extends n{constructor(t,n,{id:i,loaderOptions:a,load:o,toKey:s,sort:c,cacheResolved:l}){super(t,n),r(this,`parseId`,void 0),r(this,`getDataloader`,void 0),r(this,`cacheResolved`,void 0),this.parseId=i.parse,this.builder=t,this.getDataloader=e(a,o,s,c),this.cacheResolved=typeof l==`function`?l:l&&s,this.builder.nodeRef(this,{id:i,loadManyWithoutCache:(e,t)=>this.getDataloader(t).loadMany(e)}),this.updateConfig(e=>({...e,extensions:{...e.extensions,getDataloader:this.getDataloader,cacheResolved:this.cacheResolved}}))}};export{a as ImplementableLoadableNodeRef,i as LoadableNodeRef};
@@ -0,0 +1 @@
1
+ import{dataloaderGetter as e}from"../util.js";import{ImplementableObjectRef as t,ObjectRef as n}from"@pothos/core";function r(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}var i=class extends n{constructor(e,t){super(e),r(this,`getDataloader`,void 0),this.getDataloader=t}},a=class extends t{constructor(t,n,{loaderOptions:i,load:a,toKey:o,sort:s,cacheResolved:c}){super(t,n),r(this,`getDataloader`,void 0),r(this,`cacheResolved`,void 0),this.getDataloader=e(i,a,o,s),this.cacheResolved=typeof c==`function`?c:c&&o,this.builder.configStore.onTypeConfig(this,e=>{e.extensions={...e.extensions,getDataloader:this.getDataloader,cacheResolved:this.cacheResolved}})}};export{a as ImplementableLoadableObjectRef,i as LoadableObjectRef};
@@ -0,0 +1 @@
1
+ import{UnionRef as e}from"@pothos/core";function t(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}var n=class extends e{constructor(e,n){super(e),t(this,`getDataloader`,void 0),this.getDataloader=n}};export{n as LoadableUnionRef};
@@ -0,0 +1 @@
1
+ import{dataloaderGetter as e}from"./util.js";import{ImplementableLoadableInterfaceRef as t}from"./refs/interface.js";import{ImplementableLoadableObjectRef as n}from"./refs/object.js";import{ImplementableLoadableNodeRef as r,LoadableNodeRef as i}from"./refs/node.js";import{LoadableUnionRef as a}from"./refs/union.js";import"./refs/index.js";import o,{PothosSchemaError as s}from"@pothos/core";const c=o.prototype;c.loadableObjectRef=function(e,t){return new n(this,e,t)},c.loadableInterfaceRef=function(e,n){return new t(this,e,n)},c.loadableNodeRef=function(e,t){return new r(this,e,t)},c.loadableObject=function(e,t){let r=typeof e==`string`?e:t.name??e.name,i=new n(this,r,t);return i.implement(t),typeof e!=`string`&&this.configStore.associateParamWithRef(e,i),i},c.loadableInterface=function(e,n){let r=typeof e==`string`?e:n.name??e.name,i=new t(this,r,n);return i.implement(n),typeof e!=`string`&&this.configStore.associateParamWithRef(e,i),i},c.loadableUnion=function(t,{load:n,toKey:r,sort:i,cacheResolved:o,loaderOptions:s,...c}){let l=e(s,n,r,i),u=new a(t,l),d=this.unionType(t,{...c,extensions:{getDataloader:l,cacheResolved:typeof o==`function`?o:o&&r}});return this.configStore.associateParamWithRef(u,d),u},c.loadableNode,c.loadableNode=function(e,t){if(typeof this.nodeInterfaceRef!=`function`)throw new s(`builder.loadableNode requires @pothos/plugin-relay to be installed`);let n=typeof e==`string`?e:t.name??e.name,r=new i(this,n,t);return this.node(r,{...t,extensions:{...t.extensions,pothosParseGlobalID:t.id.parse,getDataloader:r.getDataloader,cacheResolved:typeof t.cacheResolved==`function`?t.cacheResolved:t.cacheResolved&&t.toKey},loadManyWithoutCache:(e,t)=>r.getDataloader(t).loadMany(e),isTypeOf:t.isTypeOf??(typeof e==`function`?t=>{if(!t)return!1;if(t instanceof e)return!0;let r=Object.getPrototypeOf(t);try{if(r?.constructor)return this.configStore.getTypeConfig(r.constructor).name===n}catch{}return!1}:void 0)}),typeof e!=`string`&&this.configStore.associateParamWithRef(e,r),r};
@@ -0,0 +1 @@
1
+ import{__toESM as e}from"../../../../_virtual/rolldown_runtime.js";import{require_dataloader as t}from"../../../dataloader/index.js";import{createContextCache as n,isThenable as r}from"@pothos/core";var i=e(t(),1);function a(e){return r(e)?e.then(a):e.map(e=>e instanceof Error?Promise.reject(e):e)}const o=n(()=>new Set);function s(e,t){return o(e).add(t),t}function c(e,t){return t?async(n,r,i,a)=>{let o=await e(n,r,i,a),s=new Map,c=[];for(let e of o){if(e instanceof Error)throw e;e!=null&&s.set(t(e),e)}for(let e=0;e<n.length;e+=1)c[e]=s.get(n[e])??null;return c}:e}function l(e,t,r,a){let o=a?c(t,typeof a==`function`?a:r):t;return n(t=>s(t,new i.default(e=>o(e,t),e)))}function u(e,t,r,a,o){let l=n(()=>new Map),u=a?c(t,typeof a==`function`?a:r):t;return(t,n,r)=>{let a=o?d(r.path):`*`,c=l(n);return c.has(a)||c.set(a,s(n,new i.default(e=>u(e,n,t,r),e))),c.get(a)}}function d(e){if(!e)return`*`;let t=String(e.key),n=e.prev;for(;n;)t=`${typeof n.key==`number`?`*`:n.key}.${t}`,n=n.prev;return t}export{d as cacheKey,l as dataloaderGetter,c as loadAndSort,u as pathDataloaderGetter,a as rejectErrors};
@@ -0,0 +1 @@
1
+ import"./util/get-client.js";import"./util/datamodel.js";import"./model-loader.js";import"./util/cursors.js";import"./util/relation-map.js";
@@ -0,0 +1 @@
1
+ import{getRefFromModel as e}from"./util/datamodel.js";import{require_graphql as t}from"../../../graphql/index.js";import{isUsed as n}from"./util/usage.js";import{queryFromInfo as r}from"./util/map-query.js";import{ModelLoader as i}from"./model-loader.js";import{getCursorFormatter as a,getCursorParser as o,resolvePrismaCursorConnection as s}from"./util/cursors.js";import{ObjectRef as c,PothosError as l,RootFieldBuilder as u,isThenable as d}from"@pothos/core";var f=t();const p=u.prototype;p.prismaField=function({type:t,resolve:n,...i}){let a=Array.isArray(t)?t[0]:t,o=typeof a==`string`?e(a,this.builder):a,s=Array.isArray(t)?[o]:o;return this.field({...i,type:s,resolve:(e,t,i,a)=>{let o=r({context:i,info:a,withUsageCheck:!!this.builder.options.prisma?.onUnusedQuery,skipDeferredFragments:this.builder.options.prisma?.skipDeferredFragments});return m(this.builder,o,a,n(o,e,t,i,a))}})},p.prismaFieldWithInput=function({type:t,resolve:n,...i}){let a=Array.isArray(t)?t[0]:t,o=typeof a==`string`?e(a,this.builder):a,s=Array.isArray(t)?[o]:o;return this.fieldWithInput({...i,type:s,resolve:(e,t,i,a)=>{let o=r({context:i,info:a,withUsageCheck:!!this.builder.options.prisma?.onUnusedQuery,skipDeferredFragments:this.builder.options.prisma?.skipDeferredFragments});return m(this.builder,o,a,n(o,e,t,i,a))}})},p.prismaConnection=function({type:t,cursor:n,maxSize:l=this.builder.options.prisma?.maxConnectionSize,defaultSize:u=this.builder.options.prisma?.defaultConnectionSize,resolve:d,totalCount:p,...h},g={},_={}){let v=typeof t==`string`?e(t,this.builder):t,y=this.builder.configStore.getTypeConfig(v).name,b=this.builder.configStore.getTypeConfig(v).extensions?.pothosPrismaModel,x=a(b,this.builder,n),S=o(b,this.builder,n),C=i.getCursorSelection(v,b,n,this.builder);return this.connection({...h,type:v,resolve:(e,t,n,i)=>{let a=r({context:n,info:i,select:C,paths:[[`nodes`],[`edges`,`node`]],typeName:y,withUsageCheck:!!this.builder.options.prisma?.onUnusedQuery,skipDeferredFragments:this.builder.options.prisma?.skipDeferredFragments}),o=(0,f.getNamedType)(i.returnType),c=(0,f.isObjectType)(o)||(0,f.isInterfaceType)(o)?o.getFields():{},h=i.fieldNodes.every(e=>e.selectionSet?.selections.every(e=>e.kind===f.Kind.FIELD&&(c[e.name.value]?.extensions?.pothosPrismaTotalCount||e.name.value===`__typename`)));return s({parent:e,query:a,ctx:n,parseCursor:S,maxSize:l,defaultSize:u,args:t,totalCount:p&&(()=>p(e,t,n,i))},x,r=>h?[]:m(this.builder,a,i,d(r,e,t,n,i)))}},g instanceof c?g:{...g,fields:p?e=>({totalCount:e.int({nullable:!1,extensions:{pothosPrismaTotalCount:!0},resolve:e=>e.totalCount?.call(e)}),...g.fields?.call(g,e)}):g.fields,extensions:{...g?.extensions}},_)};function m(e,t,r,i){let{onUnusedQuery:a}=e.options.prisma||{};if(!a)return i;if(d(i))return i.then(e=>(n(t)||o(),e));return n(t)||o(),i;function o(){if(typeof a==`function`){a(r);return}let e=`Prisma query was unused in resolver for ${r.parentType.name}.${r.fieldName}`;if(a===`error`)throw new l(e);a===`warn`&&console.warn(e)}}
@@ -0,0 +1 @@
1
+ import{PrismaObjectRef as e,prismaModelKey as t}from"./object-ref.js";import{PrismaInterfaceRef as n}from"./interface-ref.js";import{prismaClientCache as r}from"./util/get-client.js";import{getModel as i,getRefFromModel as a}from"./util/datamodel.js";import{getLoaderMapping as o,setLoaderMappings as s}from"./util/loader-map.js";import{queryFromInfo as c}from"./util/map-query.js";import{PrismaNodeRef as l}from"./node-ref.js";import{parsePrismaCursor as u}from"./util/cursors.js";import"./prisma-field-builder.js";import"./schema-builder.js";import"./field-builder.js";import"./connection-helpers.js";import"./types.js";import d,{BasePlugin as f,PothosSchemaError as p}from"@pothos/core";const m=`prisma`;var h=class extends f{onTypeConfig(e){if(e.kind!==`Object`&&e.kind!==`Interface`)return e;let t=e.extensions?.pothosPrismaModel;for(let n of e.interfaces){let r=this.buildCache.getTypeConfig(n,`Interface`).extensions?.pothosPrismaModel;if(r){if(t&&t!==r)throw new p(`PrismaObjects must be based on the same prisma model as any PrismaInterfaces they extend. ${e.name} uses ${t} and ${n.name} uses ${r}`);t=r}}return{...e,extensions:{...e.extensions,pothosPrismaModel:t}}}onOutputFieldConfig(e){if(e.kind===`PrismaObject`&&e.pothosOptions.select){let{select:t}=e.pothosOptions;return{...e,extensions:{...e.extensions,pothosPrismaSelect:typeof t==`function`?(e,n,r)=>({select:t(e,n,r)}):t}}}return e}wrapResolve(e,t){if(t.kind!==`PrismaObject`||!t.extensions?.pothosPrismaSelect)return e;let n=this.buildCache.getTypeConfig(t.parentType),r=t.extensions?.pothosPrismaLoaded,i=n.extensions?.pothosPrismaLoader,a=t.extensions?.pothosPrismaFallback,l=new Set([t.parentType]);if(n.kind===`Interface`||n.kind===`Object`)for(let e of n.interfaces){let t=this.buildCache.getTypeConfig(e,`Interface`);t.extensions?.pothosPrismaModel&&l.add(t.name)}return(t,n,u,d)=>{let f=o(u,d.path,d.parentType.name);if(!f){for(let e of l)if(f=o(u,d.path,e),f)break}return(!r||r(t,d))&&f?(s(u,d,f),e(t,n,u,d)):a?a(c({context:u,info:d,skipDeferredFragments:this.builder.options.prisma.skipDeferredFragments}),t,n,u,d):i(u).loadSelection(d,t).then(t=>e(t,n,u,d))}}constructor(e){super(e,m)}};d.registerPlugin(m,h,{v3:e=>({prisma:{...e.prisma,filterConnectionTotalCount:e.prisma?.filterConnectionTotalCount??!1}})});
@@ -0,0 +1 @@
1
+ import{prismaModelKey as e}from"./object-ref.js";import{InterfaceRef as t}from"@pothos/core";function n(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}let r=e;var i=class extends t{constructor(e,t){super(e),n(this,r,void 0),n(this,`modelName`,void 0),this.modelName=t}};export{i as PrismaInterfaceRef};
@@ -0,0 +1 @@
1
+ import{getClient as e}from"./util/get-client.js";import{getDelegateFromModel as t,getModel as n}from"./util/datamodel.js";import{cacheKey as r,setLoaderMappings as i}from"./util/loader-map.js";import{mergeSelection as a,selectionCompatible as o,selectionToQuery as s}from"./util/selections.js";import{selectionStateFromInfo as c}from"./util/map-query.js";import{PothosSchemaError as l,createContextCache as u}from"@pothos/core";function d(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}var f=class f{static forRef(e,t,n,r){return u(i=>new f(i,r,t,n===null?()=>{throw new l(`Missing findUnique for ${e.name}`)}:n??f.getDefaultFindUnique(e,t,r)))}static getFindUnique(e){if(typeof e==`string`)return t=>({[e]:t[e]});let{fields:t,name:n}=e;return e=>{let r={};for(let n of t)r[n]=e[n];return{[n??t.join(`_`)]:r}}}static getDefaultFindBy(e,t,r){let i=n(t,r),a=i.fields.find(e=>e.isId),o=i.fields.find(e=>e.isRequired&&e.isUnique),s=i.uniqueIndexes.find(e=>e.fields.every(e=>i.fields.find(t=>t.name===e)?.isRequired)),c;if(i.primaryKey?c=i.primaryKey:a?c=a.name:o?c=o.name:s&&(c=s),!c)throw new l(`Missing findUnique for ${e.name}`);return c}static getDefaultFindUnique(e,t,n){let r=f.getDefaultFindBy(e,t,n);return f.getFindUnique(r)}static getDefaultIDSelection(e,t,n){let r=f.getDefaultFindBy(e,t,n);if(typeof r==`string`)return{[r]:!0};let i={};for(let e of r.fields)i[e]=!0;return i}static getCursorSelection(e,t,r,i){let a=n(t,i),o=a.fields.find(e=>e.name===r);if(o)return{[o.name]:!0};let s=[a.primaryKey,...a.uniqueIndexes].filter(Boolean).find(e=>(e.name??e.fields.join(`_`))===r);if(!s)throw new l(`Can't find "${r}" field or index for ${e.name}`);let c={};for(let e of s.fields)c[e]=!0;return c}static getFindUniqueForField(e,t,r,i){let a=n(t,i),o=a.uniqueIndexes.find(e=>(e.name??e.fields.join(`_`))===r),s;if(a.fields.some(e=>e.name===r)?s=r:a.primaryKey&&(a.primaryKey?.name??a.primaryKey?.fields.join(`_`))===r?s=a.primaryKey:o&&(s=o),!s)throw new l(`Unable to find field or index for ${r} of ${e.name}`);return f.getFindUnique(s)}getSelection(e){let t=r(e.parentType.name,e.path);if(!this.queryCache.has(t)){let n=c(this.context,e,this.builder.options.prisma.skipDeferredFragments??!0);this.queryCache.set(t,{selection:n,query:s(n)})}return this.queryCache.get(t)}async loadSelection(e,t){let{selection:n,query:r}=this.getSelection(e),a=await this.stageQuery(n,r,t);if(a){let t=n.mappings[e.path.key];t&&i(this.context,e,t.mappings)}return a}async stageQuery(e,t,n){for(let e of this.staged)if(o(e.state,t))return a(e.state,t),e.models.has(n)||e.models.set(n,p()),await e.models.get(n).promise;return this.initLoad(e,n)}initLoad(n,r){let i=t(e(this.builder,this.context),this.modelName),a=new Map,o=p();a.set(r,o);let c={models:a,state:n};this.staged.add(c);let l=p();return this.tick.then(()=>{this.staged.delete(c);for(let[e,{resolve:t,reject:r}]of c.models)i.findUniqueOrThrow?i.findUniqueOrThrow({...s(n),where:{...this.findUnique(e,this.context)}}).then(t,r):i.findUnique({rejectOnNotFound:!0,...s(n),where:{...this.findUnique(e,this.context)}}).then(t,r)}),setTimeout(()=>l.resolve(),0),this.tick=l.promise,o.promise}constructor(e,t,n,r){d(this,`context`,void 0),d(this,`builder`,void 0),d(this,`findUnique`,void 0),d(this,`modelName`,void 0),d(this,`queryCache`,new Map),d(this,`staged`,new Set),d(this,`tick`,Promise.resolve()),this.context=e,this.builder=t,this.findUnique=r,this.modelName=n}};function p(){let e,t;return{promise:new Promise((n,r)=>{e=n,t=r}),resolve:e,reject:t}}export{f as ModelLoader};
@@ -0,0 +1 @@
1
+ import{PrismaObjectRef as e}from"./object-ref.js";var t=class extends e{};export{t as PrismaNodeRef};
@@ -0,0 +1 @@
1
+ import{ObjectRef as e,abstractReturnShapeKey as t,brandWithType as n,typeBrandKey as r}from"@pothos/core";function i(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}const a=Symbol.for(`Pothos.prismaModelKey`);let o=a,s=t;var c=class extends e{addBrand(e){if(Array.isArray(e)){for(let t of e)n(t,this.name);return e}return n(e,this.name),e}hasBrand(e){return typeof e==`object`&&!!e&&r in e&&e[r]===this.name}constructor(e,t){super(e),i(this,o,void 0),i(this,s,void 0),i(this,`modelName`,void 0),this.modelName=t}};export{c as PrismaObjectRef,a as prismaModelKey};
@@ -0,0 +1 @@
1
+ import{getRefFromModel as e,getRelation as t}from"./util/datamodel.js";import{require_graphql as n}from"../../../graphql/index.js";import{ModelLoader as r}from"./model-loader.js";import{getCursorFormatter as i,getCursorParser as a,prismaCursorConnectionQuery as o,wrapConnectionResult as s}from"./util/cursors.js";import{getFieldDescription as c}from"./util/description.js";import{ObjectRef as l,RootFieldBuilder as u,isThenable as d}from"@pothos/core";var f=n();function p(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}const m=u;var h=class extends m{relation(n,...r){let[{description:i,...a}={}]=r,o=t(this.model,this.builder,n),s=a.type??e(o.type,this.builder),{query:l={},resolve:u,extensions:d,onNull:f,...p}=a,m=(e,t,r)=>({select:{[n]:r(l)}});return this.field({...p,type:o.isList?[s]:s,description:c(this.model,this.builder,n,i),extensions:{...d,pothosPrismaSelect:m,pothosPrismaLoaded:e=>e[n]!==void 0,pothosPrismaFallback:u&&((e,t,n,r,i)=>u({...e,...typeof l==`function`?l(n,r):l},t,n,r,i))},resolve:e=>{let t=e[n];return typeof f==`function`&&t==null?f(e,{},{},{}):t}})}relationCount(e,...t){let[{where:n,...r}={}]=t,i=typeof n==`function`?(t,r)=>({_count:{select:{[e]:{where:n(t,r)}}}}):{_count:{select:{[e]:n?{where:n}:!0}}};return this.field({...r,type:`Int`,nullable:!1,select:i,resolve:(t,n,r,i)=>t._count?.[e]})}variant(t,...n){let[{isNull:r,nullable:i,...a}={}]=n,o=typeof t==`string`?e(t,this.builder):t,s=(e,t,n)=>n({});return this.field({...a,type:o,extensions:{...a?.extensions,pothosPrismaSelect:s},nullable:i??!!r,resolve:r?(e,t,n,i)=>{let a=r(e,t,n,i);return a?d(a)?a.then(t=>t?null:e):null:e}:e=>e})}expose(e,...t){let[n={}]=t,r=!!this.builder.configStore.getTypeConfig(this.typename).extensions?.pothosPrismaSelect;return this.exposeField(e,{...n,description:c(this.model,this.builder,e,n.description),extensions:{...n.extensions,pothosPrismaVariant:e,pothosPrismaSelect:r&&{[e]:!0}}})}createExpose(e){return(t,...n)=>{let[r={}]=n;return this.expose(t,{...r,type:e})}}constructor(n,u,d,m,h=`Object`){super(u,`PrismaObject`,h),p(this,`model`,void 0),p(this,`prismaFieldMap`,void 0),p(this,`exposeBoolean`,this.createExpose(`Boolean`)),p(this,`exposeFloat`,this.createExpose(`Float`)),p(this,`exposeInt`,this.createExpose(`Int`)),p(this,`exposeID`,this.createExpose(`ID`)),p(this,`exposeString`,this.createExpose(`String`)),p(this,`exposeBooleanList`,this.createExpose([`Boolean`])),p(this,`exposeFloatList`,this.createExpose([`Float`])),p(this,`exposeIntList`,this.createExpose([`Int`])),p(this,`exposeIDList`,this.createExpose([`ID`])),p(this,`exposeStringList`,this.createExpose([`String`])),p(this,`withAuth`,_),p(this,`relatedConnection`,function(n,{maxSize:u=this.builder.options.prisma.maxConnectionSize,defaultSize:d=this.builder.options.prisma.defaultConnectionSize,cursor:p,query:m,resolve:h,extensions:g,totalCount:_,description:v,...y},b={},x={}){let S=t(this.model,this.builder,n),C=y.type??e(S.type,this.builder),w,T=i(S.type,this.builder,p),E=a(S.type,this.builder,p),D=(e,t)=>{let n=o({parseCursor:E,ctx:t,maxSize:u,defaultSize:d,args:e}),{take:r=n.take,skip:i=n.skip,cursor:a=n.cursor,...s}=(typeof m==`function`?m(e,t):m)??{};return{...s,...n,take:r,skip:i,...a?{cursor:a}:{}}},O=r.getCursorSelection(C,S.type,p,this.builder),k=(e,t,r,i)=>{w??=this.builder.configStore.getTypeConfig(C).name;let a=r(D(e,t),{getType:()=>w,paths:[[{name:`nodes`}],[{name:`edges`},{name:`node`}]]}),o=i([]),s=_&&!!i([`totalCount`]),c=o.selectionSet?.selections.filter(e=>!(e.kind===f.Kind.FIELD&&e.name.value===`__typename`)),l=c?.length===1&&c[0].kind===f.Kind.FIELD&&c[0].name.value===`totalCount`&&s,u=this.builder.options.prisma.filterConnectionTotalCount===!1?!0:a.where?{where:a.where}:!0;return{select:{...s?{_count:{select:{[n]:u}}}:{},[n]:l?void 0:a?.select?{...a,select:{...O,...a.select}}:a}}};return this.connection({...y,description:c(this.model,this.builder,n,v),extensions:{...g,pothosPrismaSelect:k,pothosPrismaLoaded:(e,t)=>{let r=(0,f.getNamedType)(t.returnType),i=(0,f.isObjectType)(r)||(0,f.isInterfaceType)(r)?r.getFields():{};return t.fieldNodes.every(e=>e.selectionSet?.selections.every(e=>e.kind===f.Kind.FIELD&&(i[e.name.value]?.extensions?.pothosPrismaTotalCount||e.name.value===`__typename`)))||e[n]!==void 0},pothosPrismaFallback:h&&((e,t,n,r,i)=>Promise.resolve(h({...e,...D(n,r)},t,n,r,i)).then(r=>s(t,r,n,e.take,T)))},type:C,resolve:(e,t,r)=>{let i=D(t,r);return s(e,e[n]??[],t,i.take,T,e._count?.[n])}},b instanceof l?b:{...b,fields:_?e=>({totalCount:e.int({nullable:!1,extensions:{pothosPrismaTotalCount:!0},resolve:(e,t,n)=>e.totalCount}),...b.fields?.call(b,e)}):b.fields},x)}),p(this,`typename`,void 0),this.model=d,this.prismaFieldMap=m,this.typename=n,this.builder=u}};function g(e,t){let n=t.createField;return t.createField=function(t){return n.call(this,{authScopes:e,...t})},t}function _(e){return g(e,new h(this.typename,this.builder,this.model,this.prismaFieldMap))}export{h as PrismaObjectFieldBuilder};
@@ -0,0 +1 @@
1
+ import{PrismaObjectRef as e}from"./object-ref.js";import{PrismaInterfaceRef as t}from"./interface-ref.js";import{getClient as n,getDMMF as r}from"./util/get-client.js";import{getDelegateFromModel as i,getRefFromModel as a}from"./util/datamodel.js";import{queryFromInfo as o}from"./util/map-query.js";import{ModelLoader as s}from"./model-loader.js";import{PrismaNodeRef as c}from"./node-ref.js";import{getDefaultIDParser as l,getDefaultIDSerializer as u}from"./util/cursors.js";import{getModelDescription as d}from"./util/description.js";import{PrismaObjectFieldBuilder as f}from"./prisma-field-builder.js";import{getRelationMap as p}from"./util/relation-map.js";import m,{brandWithType as h}from"@pothos/core";const g=m.prototype;g.prismaObject=function(t,{fields:n,findUnique:i,select:o,include:c,description:l,...u}){let m=u.variant?new e(u.variant,t):a(t,this),h=u.variant??u.name??t,g=p(r(this)).get(t),_=s.getDefaultIDSelection(m,t,this);return m.name=h,this.objectType(m,{...u,description:d(t,this,l),extensions:{...u.extensions,pothosPrismaInclude:c,pothosPrismaModel:t,pothosPrismaFieldMap:g,pothosPrismaSelect:o&&{..._,...o},pothosPrismaLoader:s.forRef(m,t,i,this)},name:h,fields:n?()=>n(new f(m.name,this,t,p(r(this)).get(t))):void 0}),m},g.prismaInterface=function(e,{fields:n,findUnique:i,select:o,include:c,description:l,...u}){let m=u.variant?new t(u.variant,e):a(e,this,`interface`),h=u.variant??u.name??e,g=p(r(this)).get(e),_=s.getDefaultIDSelection(m,e,this);return m.name=h,this.interfaceType(m,{...u,description:d(e,this,l),extensions:{...u.extensions,pothosPrismaInclude:c,pothosPrismaModel:e,pothosPrismaFieldMap:g,pothosPrismaSelect:o&&{..._,...o},pothosPrismaLoader:s.forRef(m,e,i,this)},name:h,fields:n?()=>n(new f(h,this,e,p(r(this)).get(e),`Interface`)):void 0}),m},g.prismaNode=function(e,{id:{field:t,resolve:r,...a},findUnique:d,name:f,variant:p,nullable:m,...g}){let _=t,v=r??u(e,_,this),y=_?l(e,_,this):void 0,b=p??f??e,x=new c(b,e),S=d?(e,t)=>d(v(e,t),t):s.getFindUniqueForField(x,e,_,this),C={...g,name:f,variant:p,findUnique:S},w=this.prismaObject(e,C);return this.nodeRef(w,{id:{...a,resolve:(e,t,n)=>v(e,n)},loadWithoutCache:async(t,r,a)=>{let s=o({context:r,info:a,typeName:b}),c=i(n(this,r),e),l=await(c.findUniqueOrThrow&&!m?c.findUniqueOrThrow({...s,where:d?d(t,r):{[_]:y(t)}}):c.findUnique({...s,...m?{}:{rejectOnNotFound:!0},where:d?d(t,r):{[_]:y(t)}}));return h(l,b),l}}),this.configStore.associateParamWithRef(x,w),x},g.prismaObjectField=function(e,t,n){let i=typeof e==`string`?a(e,this):e;this.configStore.onTypeConfig(i,({name:e})=>{this.configStore.addFields(i,()=>({[t]:n(new f(e,this,i.modelName,p(r(this)).get(i.modelName)))}))})},g.prismaInterfaceField=function(e,t,n){let i=typeof e==`string`?a(e,this):e;this.configStore.onTypeConfig(i,({name:e})=>{this.configStore.addFields(i,()=>({[t]:n(new f(e,this,i.modelName,p(r(this)).get(i.modelName),`Interface`))}))})},g.prismaObjectFields=function(e,t){let n=typeof e==`string`?a(e,this):e;this.configStore.onTypeConfig(n,({name:e})=>{this.configStore.addFields(n,()=>t(new f(e,this,n.modelName,p(r(this)).get(n.modelName))))})},g.prismaInterfaceFields=function(e,t){let n=typeof e==`string`?a(e,this):e;this.configStore.onTypeConfig(n,({name:e})=>{this.configStore.addFields(n,()=>t(new f(e,this,n.modelName,p(r(this)).get(n.modelName),`Interface`)))})};
@@ -0,0 +1 @@
1
+ import{getModel as e}from"./datamodel.js";import{extendWithUsage as t}from"./usage.js";import{PothosValidationError as n,decodeBase64 as r,encodeBase64 as i}from"@pothos/core";function a(e){if(e instanceof Date)return`D:${String(Number(e))}`;switch(typeof e){case`number`:return`N:${e}`;case`string`:return`S:${e}`;case`bigint`:return`I:${e}`;default:throw new n(`Unsupported cursor type ${typeof e}`)}}function o(e){return t=>i(typeof e==`string`?`GPC:${a(t[e])}`:`GPC:J:${JSON.stringify(e.map(e=>t[e]))}`)}function s(e){if(typeof e!=`string`)throw new n(`Cursor must be a string`);try{let[,t,i]=r(e).match(/^GPC:(\w):(.*)/);switch(t){case`S`:return i;case`N`:return Number.parseInt(i,10);case`D`:return new Date(Number.parseInt(i,10));case`J`:return JSON.parse(i);case`I`:return BigInt(i);default:throw new n(`Invalid cursor type ${t}`)}}catch{throw new n(`Invalid cursor: ${e}`)}}function c(e,t){if(!e)return e;switch(t){case`String`:return e;case`Int`:return Number.parseInt(e,10);case`BigInt`:return BigInt(e);case`Boolean`:return e!==`false`;case`Float`:case`Decimal`:return Number.parseFloat(e);case`DateTime`:return new Date(e);case`Json`:return JSON.parse(e);case`Byte`:return Buffer.from(e,`base64`);default:return e}}function l(t,r,i){let a=e(t,i),o=a.fields.find(e=>e.name===r);if(o)return e=>d(e[r],o.type);if((a.primaryKey?.name??a.primaryKey?.fields.join(`_`))===r){let e=a.primaryKey.fields.map(e=>a.fields.find(t=>t.name===e));return t=>JSON.stringify(e.map(e=>d(t[e.name],e.kind)))}let s=a.uniqueIndexes.find(e=>(e.name??e.fields.join(`_`))===r);if(s){let e=s.fields.map(e=>a.fields.find(t=>t.name===e));return t=>JSON.stringify(e.map(e=>d(t[e.name],e.kind)))}throw new n(`Unable to find ${r} for model ${t}`)}function u(t,r,i){if(!r)throw new n(`Missing field name`);let a=e(t,i),o=a.fields.find(e=>e.name===r);if(o)return e=>c(e,o.type);let s=a.uniqueIndexes.find(e=>(e.name??e.fields.join(`_`))===r),l;if((a.primaryKey?.name??a.primaryKey?.fields.join(`_`))===r?l=a.primaryKey.fields.map(e=>a.fields.find(t=>t.name===e)):s&&(l=s.fields.map(e=>a.fields.find(t=>t.name===e))),!l)throw new n(`Unable to find ${r} for model ${t}`);return e=>{let i=JSON.parse(e);if(!Array.isArray(i))throw new n(`Invalid id received for ${r} of ${t}`);let a={};for(let e=0;e<l.length;e+=1)a[l[e].name]=c(i[e],l[e].type);return a}}function d(e,t){switch(t){case`Json`:return JSON.stringify(e);case`Byte`:return e instanceof Uint8Array?Buffer.from(e).toString(`base64`):e.toString(`base64`);default:return String(e)}}function f(e){return t=>{let r=s(t);if(!Array.isArray(r))throw new n(`Expected compound cursor to contain an array, but got ${r}`);let i={};return e.forEach((e,t)=>{i[e]=r[t]}),i}}function p({args:e,ctx:t,maxSize:r=100,defaultSize:i=20,parseCursor:a}){let{before:o,after:s,first:c,last:l}=e;if(c!=null&&c<0)throw new n(`Argument "first" must be a non-negative integer`);if(l!=null&&l<0)throw new n(`Argument "last" must be a non-negative integer`);if(o&&s)throw new n(`Arguments "before" and "after" are not supported at the same time`);if(o!=null&&c!=null)throw new n(`Arguments "before" and "first" are not supported at the same time`);if(s!=null&&l!=null)throw new n(`Arguments "after" and "last" are not supported at the same time`);let u=o??s,d=typeof r==`function`?r(e,t):r,f=typeof i==`function`?i(e,t):i,p=Math.min(c??l??f,d)+1;return(o??l)&&(p=-p),u==null?{take:p,skip:0}:{cursor:a(u),take:p,skip:1}}function m(e,t,n,r,i,a,o){let s=t.length===Math.abs(r),c=n.before?!0:n.last?!1:s,l=n.after?!0:n.before??n.last?s:!1,u=s?t.slice(r<0?1:0,r<0?t.length:-1):t,d={parent:e,args:n,totalCount:a,edges:[],pageInfo:{startCursor:null,endCursor:null,hasPreviousPage:l,hasNextPage:c}},f=u.map(e=>e==null?null:o?{connection:d,...e,cursor:i(e),node:o(e)}:{connection:d,cursor:i(e),node:e});return d.edges=f,d.pageInfo.startCursor=f[0]?.cursor??null,d.pageInfo.endCursor=f[f.length-1]?.cursor??null,d}async function h(e,n,r){let i=p(e),a=await r(t(e.query,i));return a&&m(e.parent,a,e.args,i.take,n,e.totalCount)}function g(t,n,r){let i=e(t,n);return(i.primaryKey?.name??i.primaryKey?.fields.join(`_`))===r?o(i.primaryKey.fields):o(i.uniqueIndexes.find(e=>(e.name??e.fields.join(`_`))===r)?.fields??r)}function _(t,n,r){let i=e(t,n),a=i.primaryKey?.name??i.primaryKey?.fields.join(`_`),o=s;if(a===r)o=f(i.primaryKey.fields);else{let e=i.uniqueIndexes.find(e=>(e.name??e.fields.join(`_`))===r);e&&(o=f(e.fields))}return e=>({[r]:o(e)})}export{g as getCursorFormatter,_ as getCursorParser,u as getDefaultIDParser,l as getDefaultIDSerializer,s as parsePrismaCursor,p as prismaCursorConnectionQuery,h as resolvePrismaCursorConnection,m as wrapConnectionResult};
@@ -0,0 +1 @@
1
+ import{PrismaObjectRef as e}from"../object-ref.js";import{PrismaInterfaceRef as t}from"../interface-ref.js";import{getDMMF as n}from"./get-client.js";import{PothosSchemaError as r}from"@pothos/core";const i=new WeakMap;function a(n,r,a=`object`){i.has(r)||i.set(r,new Map);let o=i.get(r);return o.has(n)||o.set(n,a===`object`?new e(n,n):new t(n,n)),o.get(n)}function o(e,t,n){let i=s(e,t,n);if(i.kind!==`object`)throw new r(`Field ${n} of model '${e}' is not a relation (${i.kind})`);return i}function s(e,t,n){let i=c(e,t).fields.find(e=>e.name===n);if(!i)throw new r(`Field '${n}' not found in model '${e}'`);return i}function c(e,t){let i=n(t),a=Array.isArray(i.models)?i.models.find(t=>t.name===e):i.models[e];if(!a)throw new r(`Model '${e}' not found in DMMF`);return a}function l(e,t){let n=`${t.slice(0,1).toLowerCase()}${t.slice(1)}`,i=n in e?e[n]:null;if(!i)throw new r(`Unable to find delegate for model ${t}`);return i}export{l as getDelegateFromModel,s as getFieldData,c as getModel,a as getRefFromModel,o as getRelation};
@@ -0,0 +1 @@
1
+ function e(t,n,r){if(t===n)return!0;if(t&&n&&typeof t==`object`&&typeof n==`object`){if(Array.isArray(t)){if(!Array.isArray(n))return!1;let{length:r}=t;if(n.length!==r)return!1;for(let i=0;i<r;i+=1)if(!e(t[i],n[i]))return!1;return!0}let i=t.valueOf?.call(t),a=n.valueOf?.call(n);if((i!=null||a!=null)&&typeof i!=`object`)return i===a;let o=Object.keys(t);if(o.length!==Object.keys(n).length)return!1;for(let i of o)if(!r?.has(i)&&!e(t[i],n[i]))return!1;return!0}return!1}export{e as deepEqual};
@@ -0,0 +1 @@
1
+ import{getFieldData as e,getModel as t}from"./datamodel.js";function n(t,n,r,i){let{exposeDescriptions:a}=n.options.prisma;return(a===!0||typeof a==`object`&&a?.fields===!0?i??e(t,n,r).documentation:i)||void 0}function r(e,n,r){let{exposeDescriptions:i}=n.options.prisma;return(i===!0||typeof i==`object`&&i?.models===!0?r??t(e,n).documentation:r)||void 0}export{n as getFieldDescription,r as getModelDescription};
@@ -0,0 +1 @@
1
+ import{createContextCache as e}from"@pothos/core";const t=e(t=>e(e=>typeof t.options.prisma.client==`function`?t.options.prisma.client(e):t.options.prisma.client));function n(e,n){return typeof e.options.prisma.client==`function`?t(e)(n):e.options.prisma.client}function r(e){if(`dmmf`in e.options.prisma&&e.options.prisma.dmmf)return e.options.prisma.dmmf.datamodel;let t=e.options.prisma.client;return t._runtimeDataModel??t._baseDmmf?.datamodel??t._dmmf.datamodel}export{n as getClient,r as getDMMF,t as prismaClientCache};