@lssm/example.wealth-snapshot 0.0.0-canary-20251220041653 → 0.0.0-canary-20251221132705

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 (153) hide show
  1. package/dist/contracts/index.d.ts +111 -111
  2. package/dist/contracts/index.d.ts.map +1 -1
  3. package/dist/contracts/index.js +1 -1
  4. package/dist/index.d.ts +2 -2
  5. package/dist/index.d.ts.map +1 -1
  6. package/dist/libs/contracts/dist/_virtual/rolldown_runtime.js +6 -0
  7. package/dist/libs/contracts/dist/_virtual/rolldown_runtime.js.map +1 -0
  8. package/dist/libs/contracts/dist/client/react/form-render.js +1 -0
  9. package/dist/libs/contracts/dist/data-views.js +1 -0
  10. package/dist/libs/contracts/dist/docs/tech/contracts/openapi-export.docblock.js +6 -6
  11. package/dist/libs/contracts/dist/docs/tech/contracts/openapi-export.docblock.js.map +1 -1
  12. package/dist/libs/contracts/dist/features.js +1 -0
  13. package/dist/libs/contracts/dist/forms.js +1 -0
  14. package/dist/libs/contracts/dist/index.js +14 -1
  15. package/dist/libs/contracts/dist/index.js.map +1 -0
  16. package/dist/libs/contracts/dist/integrations/contracts.js +1 -1
  17. package/dist/libs/contracts/dist/integrations/contracts.js.map +1 -1
  18. package/dist/libs/contracts/dist/integrations/openbanking/contracts/accounts.js +1 -1
  19. package/dist/libs/contracts/dist/integrations/openbanking/contracts/accounts.js.map +1 -1
  20. package/dist/libs/contracts/dist/integrations/openbanking/contracts/balances.js +1 -1
  21. package/dist/libs/contracts/dist/integrations/openbanking/contracts/balances.js.map +1 -1
  22. package/dist/libs/contracts/dist/integrations/openbanking/contracts/transactions.js +1 -1
  23. package/dist/libs/contracts/dist/integrations/openbanking/contracts/transactions.js.map +1 -1
  24. package/dist/libs/contracts/dist/knowledge/contracts.js +1 -1
  25. package/dist/libs/contracts/dist/knowledge/contracts.js.map +1 -1
  26. package/dist/libs/contracts/dist/llm/exporters.js.map +1 -1
  27. package/dist/libs/contracts/dist/onboarding-base.js +1 -1
  28. package/dist/libs/contracts/dist/onboarding-base.js.map +1 -1
  29. package/dist/libs/contracts/dist/{spec.js → operation.js} +2 -2
  30. package/dist/libs/contracts/dist/operation.js.map +1 -0
  31. package/dist/libs/contracts/dist/presentations.js +1 -0
  32. package/dist/libs/contracts/dist/registry-utils.js +24 -0
  33. package/dist/libs/contracts/dist/registry-utils.js.map +1 -0
  34. package/dist/libs/contracts/dist/registry.js +1 -0
  35. package/dist/libs/contracts/dist/workflow/index.js +1 -0
  36. package/dist/libs/contracts/dist/workflow/spec.js +1 -0
  37. package/dist/libs/contracts/dist/workspace-config/contractsrc-schema.js +122 -0
  38. package/dist/libs/contracts/dist/workspace-config/contractsrc-schema.js.map +1 -0
  39. package/dist/libs/contracts/dist/workspace-config/index.js +1 -0
  40. package/dist/libs/identity-rbac/dist/contracts/dist/_virtual/rolldown_runtime.js +6 -0
  41. package/dist/libs/identity-rbac/dist/contracts/dist/_virtual/rolldown_runtime.js.map +1 -0
  42. package/dist/libs/identity-rbac/dist/contracts/dist/client/react/form-render.js +1 -0
  43. package/dist/libs/identity-rbac/dist/contracts/dist/data-views.js +1 -0
  44. package/dist/libs/identity-rbac/dist/contracts/dist/docs/tech/contracts/openapi-export.docblock.js +6 -6
  45. package/dist/libs/identity-rbac/dist/contracts/dist/docs/tech/contracts/openapi-export.docblock.js.map +1 -1
  46. package/dist/libs/identity-rbac/dist/contracts/dist/features.js +1 -0
  47. package/dist/libs/identity-rbac/dist/contracts/dist/forms.js +1 -0
  48. package/dist/libs/identity-rbac/dist/contracts/dist/index.js +13 -0
  49. package/dist/libs/identity-rbac/dist/contracts/dist/index.js.map +1 -0
  50. package/dist/libs/identity-rbac/dist/contracts/dist/integrations/contracts.js +1 -1
  51. package/dist/libs/identity-rbac/dist/contracts/dist/integrations/contracts.js.map +1 -1
  52. package/dist/libs/identity-rbac/dist/contracts/dist/integrations/openbanking/contracts/accounts.js +1 -1
  53. package/dist/libs/identity-rbac/dist/contracts/dist/integrations/openbanking/contracts/accounts.js.map +1 -1
  54. package/dist/libs/identity-rbac/dist/contracts/dist/integrations/openbanking/contracts/balances.js +1 -1
  55. package/dist/libs/identity-rbac/dist/contracts/dist/integrations/openbanking/contracts/balances.js.map +1 -1
  56. package/dist/libs/identity-rbac/dist/contracts/dist/integrations/openbanking/contracts/transactions.js +1 -1
  57. package/dist/libs/identity-rbac/dist/contracts/dist/integrations/openbanking/contracts/transactions.js.map +1 -1
  58. package/dist/libs/identity-rbac/dist/contracts/dist/knowledge/contracts.js +1 -1
  59. package/dist/libs/identity-rbac/dist/contracts/dist/knowledge/contracts.js.map +1 -1
  60. package/dist/libs/identity-rbac/dist/contracts/dist/onboarding-base.js +1 -1
  61. package/dist/libs/identity-rbac/dist/contracts/dist/onboarding-base.js.map +1 -1
  62. package/dist/{modules/audit-trail/dist/libs/contracts/dist/spec.js → libs/identity-rbac/dist/contracts/dist/operation.js} +2 -2
  63. package/dist/libs/identity-rbac/dist/contracts/dist/operation.js.map +1 -0
  64. package/dist/libs/identity-rbac/dist/contracts/dist/presentations.js +1 -0
  65. package/dist/libs/identity-rbac/dist/contracts/dist/registry-utils.js +24 -0
  66. package/dist/libs/identity-rbac/dist/contracts/dist/registry-utils.js.map +1 -0
  67. package/dist/libs/identity-rbac/dist/contracts/dist/registry.js +1 -0
  68. package/dist/libs/identity-rbac/dist/contracts/dist/workflow/index.js +1 -0
  69. package/dist/libs/identity-rbac/dist/contracts/dist/workflow/spec.js +1 -0
  70. package/dist/libs/identity-rbac/dist/contracts/dist/workspace-config/contractsrc-schema.js +118 -0
  71. package/dist/libs/identity-rbac/dist/contracts/dist/workspace-config/contractsrc-schema.js.map +1 -0
  72. package/dist/libs/identity-rbac/dist/contracts/dist/workspace-config/index.js +1 -0
  73. package/dist/libs/identity-rbac/dist/contracts/organization.js +1 -1
  74. package/dist/libs/identity-rbac/dist/contracts/organization.js.map +1 -1
  75. package/dist/libs/identity-rbac/dist/contracts/rbac.js +1 -1
  76. package/dist/libs/identity-rbac/dist/contracts/rbac.js.map +1 -1
  77. package/dist/libs/identity-rbac/dist/contracts/user.js +1 -1
  78. package/dist/libs/identity-rbac/dist/contracts/user.js.map +1 -1
  79. package/dist/modules/audit-trail/dist/contracts/index.js +1 -1
  80. package/dist/modules/audit-trail/dist/contracts/index.js.map +1 -1
  81. package/dist/modules/audit-trail/dist/libs/contracts/dist/_virtual/rolldown_runtime.js +6 -0
  82. package/dist/modules/audit-trail/dist/libs/contracts/dist/_virtual/rolldown_runtime.js.map +1 -0
  83. package/dist/modules/audit-trail/dist/libs/contracts/dist/client/react/form-render.js +1 -0
  84. package/dist/modules/audit-trail/dist/libs/contracts/dist/data-views.js +1 -0
  85. package/dist/modules/audit-trail/dist/libs/contracts/dist/docs/tech/contracts/openapi-export.docblock.js +6 -6
  86. package/dist/modules/audit-trail/dist/libs/contracts/dist/docs/tech/contracts/openapi-export.docblock.js.map +1 -1
  87. package/dist/modules/audit-trail/dist/libs/contracts/dist/features.js +1 -0
  88. package/dist/modules/audit-trail/dist/libs/contracts/dist/forms.js +1 -0
  89. package/dist/modules/audit-trail/dist/libs/contracts/dist/index.js +13 -0
  90. package/dist/modules/audit-trail/dist/libs/contracts/dist/index.js.map +1 -0
  91. package/dist/modules/audit-trail/dist/libs/contracts/dist/integrations/contracts.js +1 -1
  92. package/dist/modules/audit-trail/dist/libs/contracts/dist/integrations/contracts.js.map +1 -1
  93. package/dist/modules/audit-trail/dist/libs/contracts/dist/integrations/openbanking/contracts/accounts.js +1 -1
  94. package/dist/modules/audit-trail/dist/libs/contracts/dist/integrations/openbanking/contracts/accounts.js.map +1 -1
  95. package/dist/modules/audit-trail/dist/libs/contracts/dist/integrations/openbanking/contracts/balances.js +1 -1
  96. package/dist/modules/audit-trail/dist/libs/contracts/dist/integrations/openbanking/contracts/balances.js.map +1 -1
  97. package/dist/modules/audit-trail/dist/libs/contracts/dist/integrations/openbanking/contracts/transactions.js +1 -1
  98. package/dist/modules/audit-trail/dist/libs/contracts/dist/integrations/openbanking/contracts/transactions.js.map +1 -1
  99. package/dist/modules/audit-trail/dist/libs/contracts/dist/knowledge/contracts.js +1 -1
  100. package/dist/modules/audit-trail/dist/libs/contracts/dist/knowledge/contracts.js.map +1 -1
  101. package/dist/modules/audit-trail/dist/libs/contracts/dist/onboarding-base.js +1 -1
  102. package/dist/modules/audit-trail/dist/libs/contracts/dist/onboarding-base.js.map +1 -1
  103. package/dist/{libs/identity-rbac/dist/contracts/dist/spec.js → modules/audit-trail/dist/libs/contracts/dist/operation.js} +2 -2
  104. package/dist/modules/audit-trail/dist/libs/contracts/dist/operation.js.map +1 -0
  105. package/dist/modules/audit-trail/dist/libs/contracts/dist/presentations.js +1 -0
  106. package/dist/modules/audit-trail/dist/libs/contracts/dist/registry-utils.js +24 -0
  107. package/dist/modules/audit-trail/dist/libs/contracts/dist/registry-utils.js.map +1 -0
  108. package/dist/modules/audit-trail/dist/libs/contracts/dist/registry.js +1 -0
  109. package/dist/modules/audit-trail/dist/libs/contracts/dist/workflow/index.js +1 -0
  110. package/dist/modules/audit-trail/dist/libs/contracts/dist/workflow/spec.js +1 -0
  111. package/dist/modules/audit-trail/dist/libs/contracts/dist/workspace-config/contractsrc-schema.js +118 -0
  112. package/dist/modules/audit-trail/dist/libs/contracts/dist/workspace-config/contractsrc-schema.js.map +1 -0
  113. package/dist/modules/audit-trail/dist/libs/contracts/dist/workspace-config/index.js +1 -0
  114. package/dist/modules/notifications/dist/contracts/index.js +1 -1
  115. package/dist/modules/notifications/dist/contracts/index.js.map +1 -1
  116. package/dist/modules/notifications/dist/libs/contracts/dist/_virtual/rolldown_runtime.js +6 -0
  117. package/dist/modules/notifications/dist/libs/contracts/dist/_virtual/rolldown_runtime.js.map +1 -0
  118. package/dist/modules/notifications/dist/libs/contracts/dist/client/react/form-render.js +1 -0
  119. package/dist/modules/notifications/dist/libs/contracts/dist/data-views.js +1 -0
  120. package/dist/modules/notifications/dist/libs/contracts/dist/docs/tech/contracts/openapi-export.docblock.js +6 -6
  121. package/dist/modules/notifications/dist/libs/contracts/dist/docs/tech/contracts/openapi-export.docblock.js.map +1 -1
  122. package/dist/modules/notifications/dist/libs/contracts/dist/features.js +1 -0
  123. package/dist/modules/notifications/dist/libs/contracts/dist/forms.js +1 -0
  124. package/dist/modules/notifications/dist/libs/contracts/dist/index.js +13 -0
  125. package/dist/modules/notifications/dist/libs/contracts/dist/index.js.map +1 -0
  126. package/dist/modules/notifications/dist/libs/contracts/dist/integrations/contracts.js +1 -1
  127. package/dist/modules/notifications/dist/libs/contracts/dist/integrations/contracts.js.map +1 -1
  128. package/dist/modules/notifications/dist/libs/contracts/dist/integrations/openbanking/contracts/accounts.js +1 -1
  129. package/dist/modules/notifications/dist/libs/contracts/dist/integrations/openbanking/contracts/accounts.js.map +1 -1
  130. package/dist/modules/notifications/dist/libs/contracts/dist/integrations/openbanking/contracts/balances.js +1 -1
  131. package/dist/modules/notifications/dist/libs/contracts/dist/integrations/openbanking/contracts/balances.js.map +1 -1
  132. package/dist/modules/notifications/dist/libs/contracts/dist/integrations/openbanking/contracts/transactions.js +1 -1
  133. package/dist/modules/notifications/dist/libs/contracts/dist/integrations/openbanking/contracts/transactions.js.map +1 -1
  134. package/dist/modules/notifications/dist/libs/contracts/dist/knowledge/contracts.js +1 -1
  135. package/dist/modules/notifications/dist/libs/contracts/dist/knowledge/contracts.js.map +1 -1
  136. package/dist/modules/notifications/dist/libs/contracts/dist/onboarding-base.js +1 -1
  137. package/dist/modules/notifications/dist/libs/contracts/dist/onboarding-base.js.map +1 -1
  138. package/dist/modules/notifications/dist/libs/contracts/dist/{spec.js → operation.js} +2 -2
  139. package/dist/modules/notifications/dist/libs/contracts/dist/operation.js.map +1 -0
  140. package/dist/modules/notifications/dist/libs/contracts/dist/presentations.js +1 -0
  141. package/dist/modules/notifications/dist/libs/contracts/dist/registry-utils.js +24 -0
  142. package/dist/modules/notifications/dist/libs/contracts/dist/registry-utils.js.map +1 -0
  143. package/dist/modules/notifications/dist/libs/contracts/dist/registry.js +1 -0
  144. package/dist/modules/notifications/dist/libs/contracts/dist/workflow/index.js +1 -0
  145. package/dist/modules/notifications/dist/libs/contracts/dist/workflow/spec.js +1 -0
  146. package/dist/modules/notifications/dist/libs/contracts/dist/workspace-config/contractsrc-schema.js +118 -0
  147. package/dist/modules/notifications/dist/libs/contracts/dist/workspace-config/contractsrc-schema.js.map +1 -0
  148. package/dist/modules/notifications/dist/libs/contracts/dist/workspace-config/index.js +1 -0
  149. package/package.json +9 -9
  150. package/dist/libs/contracts/dist/spec.js.map +0 -1
  151. package/dist/libs/identity-rbac/dist/contracts/dist/spec.js.map +0 -1
  152. package/dist/modules/audit-trail/dist/libs/contracts/dist/spec.js.map +0 -1
  153. package/dist/modules/notifications/dist/libs/contracts/dist/spec.js.map +0 -1
@@ -0,0 +1,24 @@
1
+ import { __esmMin } from "./_virtual/rolldown_runtime.js";
2
+
3
+ //#region ../../modules/audit-trail/dist/libs/contracts/dist/registry-utils.js
4
+ var GroupingStrategies;
5
+ var init_registry_utils = __esmMin(() => {
6
+ GroupingStrategies = {
7
+ byTag: (item) => item.meta.tags?.[0] ?? "untagged",
8
+ byAllTags: (item) => item.meta.tags?.length ? item.meta.tags : ["untagged"],
9
+ byOwner: (item) => item.meta.owners?.[0] ?? "unowned",
10
+ byDomain: (item) => {
11
+ return (item.meta.name ?? item.meta.key ?? "").split(".")[0] ?? "default";
12
+ },
13
+ byStability: (item) => item.meta.stability ?? "stable",
14
+ byUrlPath: (level) => (item) => {
15
+ if (!item.path) return "root";
16
+ return item.path.split("/").filter(Boolean).slice(0, level).join("/") || "root";
17
+ }
18
+ };
19
+ });
20
+ init_registry_utils();
21
+
22
+ //#endregion
23
+ export { init_registry_utils };
24
+ //# sourceMappingURL=registry-utils.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"registry-utils.js","names":[],"sources":["../../../../../../../../../modules/audit-trail/dist/libs/contracts/dist/registry-utils.js"],"sourcesContent":["import { __esmMin } from \"./_virtual/rolldown_runtime.js\";\n\n//#region ../../libs/contracts/dist/registry-utils.js\nvar GroupingStrategies;\nvar init_registry_utils = __esmMin(() => {\n\tGroupingStrategies = {\n\t\tbyTag: (item) => item.meta.tags?.[0] ?? \"untagged\",\n\t\tbyAllTags: (item) => item.meta.tags?.length ? item.meta.tags : [\"untagged\"],\n\t\tbyOwner: (item) => item.meta.owners?.[0] ?? \"unowned\",\n\t\tbyDomain: (item) => {\n\t\t\treturn (item.meta.name ?? item.meta.key ?? \"\").split(\".\")[0] ?? \"default\";\n\t\t},\n\t\tbyStability: (item) => item.meta.stability ?? \"stable\",\n\t\tbyUrlPath: (level) => (item) => {\n\t\t\tif (!item.path) return \"root\";\n\t\t\treturn item.path.split(\"/\").filter(Boolean).slice(0, level).join(\"/\") || \"root\";\n\t\t}\n\t};\n});\ninit_registry_utils();\n\n//#endregion\nexport { GroupingStrategies, init_registry_utils };\n//# sourceMappingURL=registry-utils.js.map"],"mappings":";;;AAGA,IAAI;AACJ,IAAI,sBAAsB,eAAe;AACxC,sBAAqB;EACpB,QAAQ,SAAS,KAAK,KAAK,OAAO,MAAM;EACxC,YAAY,SAAS,KAAK,KAAK,MAAM,SAAS,KAAK,KAAK,OAAO,CAAC,WAAW;EAC3E,UAAU,SAAS,KAAK,KAAK,SAAS,MAAM;EAC5C,WAAW,SAAS;AACnB,WAAQ,KAAK,KAAK,QAAQ,KAAK,KAAK,OAAO,IAAI,MAAM,IAAI,CAAC,MAAM;;EAEjE,cAAc,SAAS,KAAK,KAAK,aAAa;EAC9C,YAAY,WAAW,SAAS;AAC/B,OAAI,CAAC,KAAK,KAAM,QAAO;AACvB,UAAO,KAAK,KAAK,MAAM,IAAI,CAAC,OAAO,QAAQ,CAAC,MAAM,GAAG,MAAM,CAAC,KAAK,IAAI,IAAI;;EAE1E;EACA;AACF,qBAAqB"}
@@ -1,2 +1,3 @@
1
+ import "./registry-utils.js";
1
2
  import "./events.js";
2
3
  import "./docs/registry.js";
@@ -1 +1,2 @@
1
+ import "./spec.js";
1
2
  import "./runner.js";
@@ -0,0 +1 @@
1
+ import "../registry-utils.js";
@@ -0,0 +1,118 @@
1
+ import * as z$1 from "zod";
2
+
3
+ //#region ../../modules/audit-trail/dist/libs/contracts/dist/workspace-config/contractsrc-schema.js
4
+ /**
5
+ * ContractSpec configuration schema definitions.
6
+ *
7
+ * These schemas define the structure of .contractsrc.json files
8
+ * and are shared across CLI tools and libraries.
9
+ */
10
+ /**
11
+ * OpenAPI source configuration for import/sync/validate operations.
12
+ */
13
+ const OpenApiSourceConfigSchema = z$1.object({
14
+ name: z$1.string(),
15
+ url: z$1.url().optional(),
16
+ file: z$1.string().optional(),
17
+ syncMode: z$1.enum([
18
+ "import",
19
+ "sync",
20
+ "validate"
21
+ ]).default("validate"),
22
+ tags: z$1.array(z$1.string()).optional(),
23
+ exclude: z$1.array(z$1.string()).optional(),
24
+ include: z$1.array(z$1.string()).optional(),
25
+ prefix: z$1.string().optional(),
26
+ defaultStability: z$1.enum([
27
+ "experimental",
28
+ "beta",
29
+ "stable",
30
+ "deprecated"
31
+ ]).optional(),
32
+ defaultAuth: z$1.enum([
33
+ "anonymous",
34
+ "user",
35
+ "admin"
36
+ ]).optional(),
37
+ defaultOwners: z$1.array(z$1.string()).optional()
38
+ });
39
+ const OpenApiExportConfigSchema = z$1.object({
40
+ outputPath: z$1.string().default("./openapi.json"),
41
+ format: z$1.enum(["json", "yaml"]).default("json"),
42
+ title: z$1.string().optional(),
43
+ version: z$1.string().optional(),
44
+ description: z$1.string().optional(),
45
+ servers: z$1.array(z$1.object({
46
+ url: z$1.string(),
47
+ description: z$1.string().optional()
48
+ })).optional()
49
+ });
50
+ /**
51
+ * OpenAPI configuration section.
52
+ */
53
+ const OpenApiConfigSchema = z$1.object({
54
+ sources: z$1.array(OpenApiSourceConfigSchema).optional(),
55
+ export: OpenApiExportConfigSchema.optional()
56
+ });
57
+ /**
58
+ * Grouping strategy for organizing specs.
59
+ */
60
+ const GroupingStrategySchema = z$1.enum([
61
+ "by-tag",
62
+ "by-owner",
63
+ "by-domain",
64
+ "by-url-path-single",
65
+ "by-url-path-multi",
66
+ "by-feature",
67
+ "none"
68
+ ]);
69
+ /**
70
+ * Grouping rule configuration.
71
+ */
72
+ const GroupingRuleSchema = z$1.object({
73
+ strategy: GroupingStrategySchema,
74
+ urlPathLevel: z$1.number().optional(),
75
+ pattern: z$1.string().optional()
76
+ });
77
+ /**
78
+ * Output directory conventions for generated specs.
79
+ */
80
+ const FolderConventionsSchema = z$1.object({
81
+ models: z$1.string().default("models"),
82
+ operations: z$1.string().default("operations/commands|queries"),
83
+ events: z$1.string().default("events"),
84
+ presentations: z$1.string().default("presentations"),
85
+ forms: z$1.string().default("forms"),
86
+ groupByFeature: z$1.boolean().default(true),
87
+ operationsGrouping: GroupingRuleSchema.optional(),
88
+ modelsGrouping: GroupingRuleSchema.optional(),
89
+ eventsGrouping: GroupingRuleSchema.optional()
90
+ });
91
+ z$1.object({
92
+ aiProvider: z$1.enum([
93
+ "claude",
94
+ "openai",
95
+ "ollama",
96
+ "custom"
97
+ ]).default("claude"),
98
+ aiModel: z$1.string().optional(),
99
+ agentMode: z$1.enum([
100
+ "simple",
101
+ "cursor",
102
+ "claude-code",
103
+ "openai-codex"
104
+ ]).default("simple"),
105
+ customEndpoint: z$1.url().nullable().optional(),
106
+ customApiKey: z$1.string().nullable().optional(),
107
+ outputDir: z$1.string().default("./src"),
108
+ conventions: FolderConventionsSchema,
109
+ defaultOwners: z$1.array(z$1.string()).default([]),
110
+ defaultTags: z$1.array(z$1.string()).default([]),
111
+ packages: z$1.array(z$1.string()).optional(),
112
+ excludePackages: z$1.array(z$1.string()).optional(),
113
+ recursive: z$1.boolean().optional(),
114
+ openapi: OpenApiConfigSchema.optional()
115
+ });
116
+
117
+ //#endregion
118
+ //# sourceMappingURL=contractsrc-schema.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"contractsrc-schema.js","names":[],"sources":["../../../../../../../../../../modules/audit-trail/dist/libs/contracts/dist/workspace-config/contractsrc-schema.js"],"sourcesContent":["import * as z$1 from \"zod\";\n\n//#region ../../libs/contracts/dist/workspace-config/contractsrc-schema.js\n/**\n* ContractSpec configuration schema definitions.\n*\n* These schemas define the structure of .contractsrc.json files\n* and are shared across CLI tools and libraries.\n*/\n/**\n* OpenAPI source configuration for import/sync/validate operations.\n*/\nconst OpenApiSourceConfigSchema = z$1.object({\n\tname: z$1.string(),\n\turl: z$1.url().optional(),\n\tfile: z$1.string().optional(),\n\tsyncMode: z$1.enum([\n\t\t\"import\",\n\t\t\"sync\",\n\t\t\"validate\"\n\t]).default(\"validate\"),\n\ttags: z$1.array(z$1.string()).optional(),\n\texclude: z$1.array(z$1.string()).optional(),\n\tinclude: z$1.array(z$1.string()).optional(),\n\tprefix: z$1.string().optional(),\n\tdefaultStability: z$1.enum([\n\t\t\"experimental\",\n\t\t\"beta\",\n\t\t\"stable\",\n\t\t\"deprecated\"\n\t]).optional(),\n\tdefaultAuth: z$1.enum([\n\t\t\"anonymous\",\n\t\t\"user\",\n\t\t\"admin\"\n\t]).optional(),\n\tdefaultOwners: z$1.array(z$1.string()).optional()\n});\nconst OpenApiExportConfigSchema = z$1.object({\n\toutputPath: z$1.string().default(\"./openapi.json\"),\n\tformat: z$1.enum([\"json\", \"yaml\"]).default(\"json\"),\n\ttitle: z$1.string().optional(),\n\tversion: z$1.string().optional(),\n\tdescription: z$1.string().optional(),\n\tservers: z$1.array(z$1.object({\n\t\turl: z$1.string(),\n\t\tdescription: z$1.string().optional()\n\t})).optional()\n});\n/**\n* OpenAPI configuration section.\n*/\nconst OpenApiConfigSchema = z$1.object({\n\tsources: z$1.array(OpenApiSourceConfigSchema).optional(),\n\texport: OpenApiExportConfigSchema.optional()\n});\n/**\n* Grouping strategy for organizing specs.\n*/\nconst GroupingStrategySchema = z$1.enum([\n\t\"by-tag\",\n\t\"by-owner\",\n\t\"by-domain\",\n\t\"by-url-path-single\",\n\t\"by-url-path-multi\",\n\t\"by-feature\",\n\t\"none\"\n]);\n/**\n* Grouping rule configuration.\n*/\nconst GroupingRuleSchema = z$1.object({\n\tstrategy: GroupingStrategySchema,\n\turlPathLevel: z$1.number().optional(),\n\tpattern: z$1.string().optional()\n});\n/**\n* Output directory conventions for generated specs.\n*/\nconst FolderConventionsSchema = z$1.object({\n\tmodels: z$1.string().default(\"models\"),\n\toperations: z$1.string().default(\"operations/commands|queries\"),\n\tevents: z$1.string().default(\"events\"),\n\tpresentations: z$1.string().default(\"presentations\"),\n\tforms: z$1.string().default(\"forms\"),\n\tgroupByFeature: z$1.boolean().default(true),\n\toperationsGrouping: GroupingRuleSchema.optional(),\n\tmodelsGrouping: GroupingRuleSchema.optional(),\n\teventsGrouping: GroupingRuleSchema.optional()\n});\n/**\n* Full ContractSpec configuration schema (.contractsrc.json).\n*/\nconst ContractsrcSchema = z$1.object({\n\taiProvider: z$1.enum([\n\t\t\"claude\",\n\t\t\"openai\",\n\t\t\"ollama\",\n\t\t\"custom\"\n\t]).default(\"claude\"),\n\taiModel: z$1.string().optional(),\n\tagentMode: z$1.enum([\n\t\t\"simple\",\n\t\t\"cursor\",\n\t\t\"claude-code\",\n\t\t\"openai-codex\"\n\t]).default(\"simple\"),\n\tcustomEndpoint: z$1.url().nullable().optional(),\n\tcustomApiKey: z$1.string().nullable().optional(),\n\toutputDir: z$1.string().default(\"./src\"),\n\tconventions: FolderConventionsSchema,\n\tdefaultOwners: z$1.array(z$1.string()).default([]),\n\tdefaultTags: z$1.array(z$1.string()).default([]),\n\tpackages: z$1.array(z$1.string()).optional(),\n\texcludePackages: z$1.array(z$1.string()).optional(),\n\trecursive: z$1.boolean().optional(),\n\topenapi: OpenApiConfigSchema.optional()\n});\n\n//#endregion\nexport { FolderConventionsSchema, OpenApiConfigSchema, OpenApiExportConfigSchema, OpenApiSourceConfigSchema };\n//# sourceMappingURL=contractsrc-schema.js.map"],"mappings":"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"}
@@ -0,0 +1 @@
1
+ import "./contractsrc-schema.js";
@@ -1,6 +1,6 @@
1
1
  import { E5, N5 } from "../libs/schema/dist/index.js";
2
2
  import { K5 } from "../libs/contracts/dist/schema/dist/index.js";
3
- import { defineCommand, defineQuery } from "../libs/contracts/dist/spec.js";
3
+ import { defineCommand, defineQuery } from "../libs/contracts/dist/operation.js";
4
4
  import "../libs/contracts/dist/index.js";
5
5
 
6
6
  //#region ../../modules/notifications/dist/contracts/index.js
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":[],"sources":["../../../../../../../modules/notifications/dist/contracts/index.js"],"sourcesContent":["import { E5, N5 } from \"../libs/schema/dist/index.js\";\nimport { K5 } from \"../libs/contracts/dist/schema/dist/index.js\";\nimport { defineCommand, defineQuery } from \"../libs/contracts/dist/spec.js\";\nimport \"../libs/contracts/dist/index.js\";\n\n//#region src/contracts/index.ts\nconst OWNERS = [\"platform.notifications\"];\nconst NotificationStatusSchemaEnum = N5(\"NotificationStatus\", [\n\t\"PENDING\",\n\t\"SENT\",\n\t\"DELIVERED\",\n\t\"READ\",\n\t\"FAILED\",\n\t\"CANCELLED\"\n]);\nconst NotificationChannelSchemaEnum = N5(\"NotificationChannel\", [\n\t\"EMAIL\",\n\t\"IN_APP\",\n\t\"PUSH\",\n\t\"WEBHOOK\"\n]);\nconst NotificationFilterEnum = N5(\"NotificationFilter\", [\n\t\"unread\",\n\t\"read\",\n\t\"all\"\n]);\nconst NotificationModel = K5({\n\tname: \"Notification\",\n\tdescription: \"A notification sent to a user\",\n\tfields: {\n\t\tid: {\n\t\t\ttype: E5.String_unsecure(),\n\t\t\tisOptional: false\n\t\t},\n\t\tuserId: {\n\t\t\ttype: E5.String_unsecure(),\n\t\t\tisOptional: false\n\t\t},\n\t\ttitle: {\n\t\t\ttype: E5.String_unsecure(),\n\t\t\tisOptional: false\n\t\t},\n\t\tbody: {\n\t\t\ttype: E5.String_unsecure(),\n\t\t\tisOptional: false\n\t\t},\n\t\ttype: {\n\t\t\ttype: E5.String_unsecure(),\n\t\t\tisOptional: false\n\t\t},\n\t\tstatus: {\n\t\t\ttype: NotificationStatusSchemaEnum,\n\t\t\tisOptional: false\n\t\t},\n\t\tchannels: {\n\t\t\ttype: NotificationChannelSchemaEnum,\n\t\t\tisArray: true,\n\t\t\tisOptional: false\n\t\t},\n\t\tactionUrl: {\n\t\t\ttype: E5.URL(),\n\t\t\tisOptional: true\n\t\t},\n\t\treadAt: {\n\t\t\ttype: E5.DateTime(),\n\t\t\tisOptional: true\n\t\t},\n\t\tcreatedAt: {\n\t\t\ttype: E5.DateTime(),\n\t\t\tisOptional: false\n\t\t}\n\t}\n});\nconst NotificationPreferenceModel = K5({\n\tname: \"NotificationPreference\",\n\tdescription: \"User notification preferences\",\n\tfields: {\n\t\tuserId: {\n\t\t\ttype: E5.String_unsecure(),\n\t\t\tisOptional: false\n\t\t},\n\t\tglobalEnabled: {\n\t\t\ttype: E5.Boolean(),\n\t\t\tisOptional: false\n\t\t},\n\t\tchannelPreferences: {\n\t\t\ttype: E5.JSONObject(),\n\t\t\tisOptional: false\n\t\t},\n\t\ttypePreferences: {\n\t\t\ttype: E5.JSONObject(),\n\t\t\tisOptional: false\n\t\t},\n\t\tquietHoursStart: {\n\t\t\ttype: E5.String_unsecure(),\n\t\t\tisOptional: true\n\t\t},\n\t\tquietHoursEnd: {\n\t\t\ttype: E5.String_unsecure(),\n\t\t\tisOptional: true\n\t\t},\n\t\ttimezone: {\n\t\t\ttype: E5.String_unsecure(),\n\t\t\tisOptional: false\n\t\t},\n\t\tdigestEnabled: {\n\t\t\ttype: E5.Boolean(),\n\t\t\tisOptional: false\n\t\t},\n\t\tdigestFrequency: {\n\t\t\ttype: E5.String_unsecure(),\n\t\t\tisOptional: true\n\t\t}\n\t}\n});\nconst SendNotificationInputModel = K5({\n\tname: \"SendNotificationInput\",\n\tdescription: \"Input for sending a notification\",\n\tfields: {\n\t\tuserId: {\n\t\t\ttype: E5.String_unsecure(),\n\t\t\tisOptional: false\n\t\t},\n\t\ttemplateId: {\n\t\t\ttype: E5.String_unsecure(),\n\t\t\tisOptional: true\n\t\t},\n\t\ttitle: {\n\t\t\ttype: E5.String_unsecure(),\n\t\t\tisOptional: true\n\t\t},\n\t\tbody: {\n\t\t\ttype: E5.String_unsecure(),\n\t\t\tisOptional: true\n\t\t},\n\t\ttype: {\n\t\t\ttype: E5.String_unsecure(),\n\t\t\tisOptional: false\n\t\t},\n\t\tchannels: {\n\t\t\ttype: NotificationChannelSchemaEnum,\n\t\t\tisArray: true,\n\t\t\tisOptional: true\n\t\t},\n\t\tactionUrl: {\n\t\t\ttype: E5.URL(),\n\t\t\tisOptional: true\n\t\t},\n\t\tvariables: {\n\t\t\ttype: E5.JSONObject(),\n\t\t\tisOptional: true\n\t\t},\n\t\tmetadata: {\n\t\t\ttype: E5.JSONObject(),\n\t\t\tisOptional: true\n\t\t}\n\t}\n});\nconst ListNotificationsInputModel = K5({\n\tname: \"ListNotificationsInput\",\n\tdescription: \"Input for listing notifications\",\n\tfields: {\n\t\tstatus: {\n\t\t\ttype: NotificationFilterEnum,\n\t\t\tisOptional: true\n\t\t},\n\t\ttype: {\n\t\t\ttype: E5.String_unsecure(),\n\t\t\tisOptional: true\n\t\t},\n\t\tlimit: {\n\t\t\ttype: E5.Int_unsecure(),\n\t\t\tisOptional: true,\n\t\t\tdefaultValue: 20\n\t\t},\n\t\toffset: {\n\t\t\ttype: E5.Int_unsecure(),\n\t\t\tisOptional: true,\n\t\t\tdefaultValue: 0\n\t\t}\n\t}\n});\nconst ListNotificationsOutputModel = K5({\n\tname: \"ListNotificationsOutput\",\n\tdescription: \"Output for listing notifications\",\n\tfields: {\n\t\tnotifications: {\n\t\t\ttype: NotificationModel,\n\t\t\tisArray: true,\n\t\t\tisOptional: false\n\t\t},\n\t\ttotal: {\n\t\t\ttype: E5.Int_unsecure(),\n\t\t\tisOptional: false\n\t\t},\n\t\tunreadCount: {\n\t\t\ttype: E5.Int_unsecure(),\n\t\t\tisOptional: false\n\t\t}\n\t}\n});\nconst UpdatePreferencesInputModel = K5({\n\tname: \"UpdateNotificationPreferencesInput\",\n\tdescription: \"Input for updating notification preferences\",\n\tfields: {\n\t\tglobalEnabled: {\n\t\t\ttype: E5.Boolean(),\n\t\t\tisOptional: true\n\t\t},\n\t\tchannelPreferences: {\n\t\t\ttype: E5.JSONObject(),\n\t\t\tisOptional: true\n\t\t},\n\t\ttypePreferences: {\n\t\t\ttype: E5.JSONObject(),\n\t\t\tisOptional: true\n\t\t},\n\t\tquietHoursStart: {\n\t\t\ttype: E5.String_unsecure(),\n\t\t\tisOptional: true\n\t\t},\n\t\tquietHoursEnd: {\n\t\t\ttype: E5.String_unsecure(),\n\t\t\tisOptional: true\n\t\t},\n\t\ttimezone: {\n\t\t\ttype: E5.String_unsecure(),\n\t\t\tisOptional: true\n\t\t},\n\t\tdigestEnabled: {\n\t\t\ttype: E5.Boolean(),\n\t\t\tisOptional: true\n\t\t},\n\t\tdigestFrequency: {\n\t\t\ttype: E5.String_unsecure(),\n\t\t\tisOptional: true\n\t\t}\n\t}\n});\n/**\n* Send a notification.\n*/\nconst SendNotificationContract = defineCommand({\n\tmeta: {\n\t\tname: \"notifications.send\",\n\t\tversion: 1,\n\t\tstability: \"stable\",\n\t\towners: [...OWNERS],\n\t\ttags: [\"notifications\", \"send\"],\n\t\tdescription: \"Send a notification to a user.\",\n\t\tgoal: \"Deliver notifications across multiple channels.\",\n\t\tcontext: \"Called by services when events require user notification.\"\n\t},\n\tio: {\n\t\tinput: SendNotificationInputModel,\n\t\toutput: NotificationModel,\n\t\terrors: {\n\t\t\tUSER_NOT_FOUND: {\n\t\t\t\tdescription: \"Target user does not exist\",\n\t\t\t\thttp: 404,\n\t\t\t\tgqlCode: \"USER_NOT_FOUND\",\n\t\t\t\twhen: \"User ID is invalid\"\n\t\t\t},\n\t\t\tTEMPLATE_NOT_FOUND: {\n\t\t\t\tdescription: \"Notification template does not exist\",\n\t\t\t\thttp: 404,\n\t\t\t\tgqlCode: \"TEMPLATE_NOT_FOUND\",\n\t\t\t\twhen: \"Template ID is invalid\"\n\t\t\t}\n\t\t}\n\t},\n\tpolicy: { auth: \"user\" },\n\tsideEffects: { emits: [{\n\t\tname: \"notification.sent\",\n\t\tversion: 1,\n\t\twhen: \"Notification is sent\",\n\t\tpayload: NotificationModel\n\t}] }\n});\n/**\n* List notifications for current user.\n*/\nconst ListNotificationsContract = defineQuery({\n\tmeta: {\n\t\tname: \"notifications.list\",\n\t\tversion: 1,\n\t\tstability: \"stable\",\n\t\towners: [...OWNERS],\n\t\ttags: [\"notifications\", \"list\"],\n\t\tdescription: \"List notifications for the current user.\",\n\t\tgoal: \"Show user their notifications.\",\n\t\tcontext: \"Notification center UI.\"\n\t},\n\tio: {\n\t\tinput: ListNotificationsInputModel,\n\t\toutput: ListNotificationsOutputModel\n\t},\n\tpolicy: { auth: \"user\" }\n});\n/**\n* Mark notification as read.\n*/\nconst MarkNotificationReadContract = defineCommand({\n\tmeta: {\n\t\tname: \"notifications.markRead\",\n\t\tversion: 1,\n\t\tstability: \"stable\",\n\t\towners: [...OWNERS],\n\t\ttags: [\"notifications\", \"read\"],\n\t\tdescription: \"Mark a notification as read.\",\n\t\tgoal: \"Track which notifications user has seen.\",\n\t\tcontext: \"User clicks on a notification.\"\n\t},\n\tio: {\n\t\tinput: K5({\n\t\t\tname: \"MarkNotificationReadInput\",\n\t\t\tfields: { notificationId: {\n\t\t\t\ttype: E5.String_unsecure(),\n\t\t\t\tisOptional: false\n\t\t\t} }\n\t\t}),\n\t\toutput: NotificationModel\n\t},\n\tpolicy: { auth: \"user\" }\n});\n/**\n* Mark all notifications as read.\n*/\nconst MarkAllNotificationsReadContract = defineCommand({\n\tmeta: {\n\t\tname: \"notifications.markAllRead\",\n\t\tversion: 1,\n\t\tstability: \"stable\",\n\t\towners: [...OWNERS],\n\t\ttags: [\"notifications\", \"read\"],\n\t\tdescription: \"Mark all notifications as read.\",\n\t\tgoal: \"Clear notification badge.\",\n\t\tcontext: \"User clicks \\\"mark all as read\\\".\"\n\t},\n\tio: {\n\t\tinput: null,\n\t\toutput: K5({\n\t\t\tname: \"MarkAllNotificationsReadOutput\",\n\t\t\tfields: { markedCount: {\n\t\t\t\ttype: E5.Int_unsecure(),\n\t\t\t\tisOptional: false\n\t\t\t} }\n\t\t})\n\t},\n\tpolicy: { auth: \"user\" }\n});\n/**\n* Get notification preferences.\n*/\nconst GetNotificationPreferencesContract = defineQuery({\n\tmeta: {\n\t\tname: \"notifications.preferences.get\",\n\t\tversion: 1,\n\t\tstability: \"stable\",\n\t\towners: [...OWNERS],\n\t\ttags: [\n\t\t\t\"notifications\",\n\t\t\t\"preferences\",\n\t\t\t\"get\"\n\t\t],\n\t\tdescription: \"Get notification preferences for current user.\",\n\t\tgoal: \"Show user their notification settings.\",\n\t\tcontext: \"Notification settings page.\"\n\t},\n\tio: {\n\t\tinput: null,\n\t\toutput: NotificationPreferenceModel\n\t},\n\tpolicy: { auth: \"user\" }\n});\n/**\n* Update notification preferences.\n*/\nconst UpdateNotificationPreferencesContract = defineCommand({\n\tmeta: {\n\t\tname: \"notifications.preferences.update\",\n\t\tversion: 1,\n\t\tstability: \"stable\",\n\t\towners: [...OWNERS],\n\t\ttags: [\n\t\t\t\"notifications\",\n\t\t\t\"preferences\",\n\t\t\t\"update\"\n\t\t],\n\t\tdescription: \"Update notification preferences.\",\n\t\tgoal: \"Allow user to control notification delivery.\",\n\t\tcontext: \"Notification settings page.\"\n\t},\n\tio: {\n\t\tinput: UpdatePreferencesInputModel,\n\t\toutput: NotificationPreferenceModel\n\t},\n\tpolicy: { auth: \"user\" }\n});\n/**\n* Delete a notification.\n*/\nconst DeleteNotificationContract = defineCommand({\n\tmeta: {\n\t\tname: \"notifications.delete\",\n\t\tversion: 1,\n\t\tstability: \"stable\",\n\t\towners: [...OWNERS],\n\t\ttags: [\"notifications\", \"delete\"],\n\t\tdescription: \"Delete a notification.\",\n\t\tgoal: \"Allow user to remove unwanted notifications.\",\n\t\tcontext: \"User dismisses a notification.\"\n\t},\n\tio: {\n\t\tinput: K5({\n\t\t\tname: \"DeleteNotificationInput\",\n\t\t\tfields: { notificationId: {\n\t\t\t\ttype: E5.String_unsecure(),\n\t\t\t\tisOptional: false\n\t\t\t} }\n\t\t}),\n\t\toutput: K5({\n\t\t\tname: \"DeleteNotificationOutput\",\n\t\t\tfields: { success: {\n\t\t\t\ttype: E5.Boolean(),\n\t\t\t\tisOptional: false\n\t\t\t} }\n\t\t})\n\t},\n\tpolicy: { auth: \"user\" }\n});\n\n//#endregion\nexport { DeleteNotificationContract, GetNotificationPreferencesContract, ListNotificationsContract, ListNotificationsInputModel, ListNotificationsOutputModel, MarkAllNotificationsReadContract, MarkNotificationReadContract, NotificationFilterEnum, NotificationModel, NotificationPreferenceModel, SendNotificationContract, SendNotificationInputModel, UpdateNotificationPreferencesContract, UpdatePreferencesInputModel };\n//# sourceMappingURL=index.js.map"],"mappings":"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"}
1
+ {"version":3,"file":"index.js","names":[],"sources":["../../../../../../../modules/notifications/dist/contracts/index.js"],"sourcesContent":["import { E5, N5 } from \"../libs/schema/dist/index.js\";\nimport { K5 } from \"../libs/contracts/dist/schema/dist/index.js\";\nimport { defineCommand, defineQuery } from \"../libs/contracts/dist/operation.js\";\nimport \"../libs/contracts/dist/index.js\";\n\n//#region src/contracts/index.ts\nconst OWNERS = [\"platform.notifications\"];\nconst NotificationStatusSchemaEnum = N5(\"NotificationStatus\", [\n\t\"PENDING\",\n\t\"SENT\",\n\t\"DELIVERED\",\n\t\"READ\",\n\t\"FAILED\",\n\t\"CANCELLED\"\n]);\nconst NotificationChannelSchemaEnum = N5(\"NotificationChannel\", [\n\t\"EMAIL\",\n\t\"IN_APP\",\n\t\"PUSH\",\n\t\"WEBHOOK\"\n]);\nconst NotificationFilterEnum = N5(\"NotificationFilter\", [\n\t\"unread\",\n\t\"read\",\n\t\"all\"\n]);\nconst NotificationModel = K5({\n\tname: \"Notification\",\n\tdescription: \"A notification sent to a user\",\n\tfields: {\n\t\tid: {\n\t\t\ttype: E5.String_unsecure(),\n\t\t\tisOptional: false\n\t\t},\n\t\tuserId: {\n\t\t\ttype: E5.String_unsecure(),\n\t\t\tisOptional: false\n\t\t},\n\t\ttitle: {\n\t\t\ttype: E5.String_unsecure(),\n\t\t\tisOptional: false\n\t\t},\n\t\tbody: {\n\t\t\ttype: E5.String_unsecure(),\n\t\t\tisOptional: false\n\t\t},\n\t\ttype: {\n\t\t\ttype: E5.String_unsecure(),\n\t\t\tisOptional: false\n\t\t},\n\t\tstatus: {\n\t\t\ttype: NotificationStatusSchemaEnum,\n\t\t\tisOptional: false\n\t\t},\n\t\tchannels: {\n\t\t\ttype: NotificationChannelSchemaEnum,\n\t\t\tisArray: true,\n\t\t\tisOptional: false\n\t\t},\n\t\tactionUrl: {\n\t\t\ttype: E5.URL(),\n\t\t\tisOptional: true\n\t\t},\n\t\treadAt: {\n\t\t\ttype: E5.DateTime(),\n\t\t\tisOptional: true\n\t\t},\n\t\tcreatedAt: {\n\t\t\ttype: E5.DateTime(),\n\t\t\tisOptional: false\n\t\t}\n\t}\n});\nconst NotificationPreferenceModel = K5({\n\tname: \"NotificationPreference\",\n\tdescription: \"User notification preferences\",\n\tfields: {\n\t\tuserId: {\n\t\t\ttype: E5.String_unsecure(),\n\t\t\tisOptional: false\n\t\t},\n\t\tglobalEnabled: {\n\t\t\ttype: E5.Boolean(),\n\t\t\tisOptional: false\n\t\t},\n\t\tchannelPreferences: {\n\t\t\ttype: E5.JSONObject(),\n\t\t\tisOptional: false\n\t\t},\n\t\ttypePreferences: {\n\t\t\ttype: E5.JSONObject(),\n\t\t\tisOptional: false\n\t\t},\n\t\tquietHoursStart: {\n\t\t\ttype: E5.String_unsecure(),\n\t\t\tisOptional: true\n\t\t},\n\t\tquietHoursEnd: {\n\t\t\ttype: E5.String_unsecure(),\n\t\t\tisOptional: true\n\t\t},\n\t\ttimezone: {\n\t\t\ttype: E5.String_unsecure(),\n\t\t\tisOptional: false\n\t\t},\n\t\tdigestEnabled: {\n\t\t\ttype: E5.Boolean(),\n\t\t\tisOptional: false\n\t\t},\n\t\tdigestFrequency: {\n\t\t\ttype: E5.String_unsecure(),\n\t\t\tisOptional: true\n\t\t}\n\t}\n});\nconst SendNotificationInputModel = K5({\n\tname: \"SendNotificationInput\",\n\tdescription: \"Input for sending a notification\",\n\tfields: {\n\t\tuserId: {\n\t\t\ttype: E5.String_unsecure(),\n\t\t\tisOptional: false\n\t\t},\n\t\ttemplateId: {\n\t\t\ttype: E5.String_unsecure(),\n\t\t\tisOptional: true\n\t\t},\n\t\ttitle: {\n\t\t\ttype: E5.String_unsecure(),\n\t\t\tisOptional: true\n\t\t},\n\t\tbody: {\n\t\t\ttype: E5.String_unsecure(),\n\t\t\tisOptional: true\n\t\t},\n\t\ttype: {\n\t\t\ttype: E5.String_unsecure(),\n\t\t\tisOptional: false\n\t\t},\n\t\tchannels: {\n\t\t\ttype: NotificationChannelSchemaEnum,\n\t\t\tisArray: true,\n\t\t\tisOptional: true\n\t\t},\n\t\tactionUrl: {\n\t\t\ttype: E5.URL(),\n\t\t\tisOptional: true\n\t\t},\n\t\tvariables: {\n\t\t\ttype: E5.JSONObject(),\n\t\t\tisOptional: true\n\t\t},\n\t\tmetadata: {\n\t\t\ttype: E5.JSONObject(),\n\t\t\tisOptional: true\n\t\t}\n\t}\n});\nconst ListNotificationsInputModel = K5({\n\tname: \"ListNotificationsInput\",\n\tdescription: \"Input for listing notifications\",\n\tfields: {\n\t\tstatus: {\n\t\t\ttype: NotificationFilterEnum,\n\t\t\tisOptional: true\n\t\t},\n\t\ttype: {\n\t\t\ttype: E5.String_unsecure(),\n\t\t\tisOptional: true\n\t\t},\n\t\tlimit: {\n\t\t\ttype: E5.Int_unsecure(),\n\t\t\tisOptional: true,\n\t\t\tdefaultValue: 20\n\t\t},\n\t\toffset: {\n\t\t\ttype: E5.Int_unsecure(),\n\t\t\tisOptional: true,\n\t\t\tdefaultValue: 0\n\t\t}\n\t}\n});\nconst ListNotificationsOutputModel = K5({\n\tname: \"ListNotificationsOutput\",\n\tdescription: \"Output for listing notifications\",\n\tfields: {\n\t\tnotifications: {\n\t\t\ttype: NotificationModel,\n\t\t\tisArray: true,\n\t\t\tisOptional: false\n\t\t},\n\t\ttotal: {\n\t\t\ttype: E5.Int_unsecure(),\n\t\t\tisOptional: false\n\t\t},\n\t\tunreadCount: {\n\t\t\ttype: E5.Int_unsecure(),\n\t\t\tisOptional: false\n\t\t}\n\t}\n});\nconst UpdatePreferencesInputModel = K5({\n\tname: \"UpdateNotificationPreferencesInput\",\n\tdescription: \"Input for updating notification preferences\",\n\tfields: {\n\t\tglobalEnabled: {\n\t\t\ttype: E5.Boolean(),\n\t\t\tisOptional: true\n\t\t},\n\t\tchannelPreferences: {\n\t\t\ttype: E5.JSONObject(),\n\t\t\tisOptional: true\n\t\t},\n\t\ttypePreferences: {\n\t\t\ttype: E5.JSONObject(),\n\t\t\tisOptional: true\n\t\t},\n\t\tquietHoursStart: {\n\t\t\ttype: E5.String_unsecure(),\n\t\t\tisOptional: true\n\t\t},\n\t\tquietHoursEnd: {\n\t\t\ttype: E5.String_unsecure(),\n\t\t\tisOptional: true\n\t\t},\n\t\ttimezone: {\n\t\t\ttype: E5.String_unsecure(),\n\t\t\tisOptional: true\n\t\t},\n\t\tdigestEnabled: {\n\t\t\ttype: E5.Boolean(),\n\t\t\tisOptional: true\n\t\t},\n\t\tdigestFrequency: {\n\t\t\ttype: E5.String_unsecure(),\n\t\t\tisOptional: true\n\t\t}\n\t}\n});\n/**\n* Send a notification.\n*/\nconst SendNotificationContract = defineCommand({\n\tmeta: {\n\t\tname: \"notifications.send\",\n\t\tversion: 1,\n\t\tstability: \"stable\",\n\t\towners: [...OWNERS],\n\t\ttags: [\"notifications\", \"send\"],\n\t\tdescription: \"Send a notification to a user.\",\n\t\tgoal: \"Deliver notifications across multiple channels.\",\n\t\tcontext: \"Called by services when events require user notification.\"\n\t},\n\tio: {\n\t\tinput: SendNotificationInputModel,\n\t\toutput: NotificationModel,\n\t\terrors: {\n\t\t\tUSER_NOT_FOUND: {\n\t\t\t\tdescription: \"Target user does not exist\",\n\t\t\t\thttp: 404,\n\t\t\t\tgqlCode: \"USER_NOT_FOUND\",\n\t\t\t\twhen: \"User ID is invalid\"\n\t\t\t},\n\t\t\tTEMPLATE_NOT_FOUND: {\n\t\t\t\tdescription: \"Notification template does not exist\",\n\t\t\t\thttp: 404,\n\t\t\t\tgqlCode: \"TEMPLATE_NOT_FOUND\",\n\t\t\t\twhen: \"Template ID is invalid\"\n\t\t\t}\n\t\t}\n\t},\n\tpolicy: { auth: \"user\" },\n\tsideEffects: { emits: [{\n\t\tname: \"notification.sent\",\n\t\tversion: 1,\n\t\twhen: \"Notification is sent\",\n\t\tpayload: NotificationModel\n\t}] }\n});\n/**\n* List notifications for current user.\n*/\nconst ListNotificationsContract = defineQuery({\n\tmeta: {\n\t\tname: \"notifications.list\",\n\t\tversion: 1,\n\t\tstability: \"stable\",\n\t\towners: [...OWNERS],\n\t\ttags: [\"notifications\", \"list\"],\n\t\tdescription: \"List notifications for the current user.\",\n\t\tgoal: \"Show user their notifications.\",\n\t\tcontext: \"Notification center UI.\"\n\t},\n\tio: {\n\t\tinput: ListNotificationsInputModel,\n\t\toutput: ListNotificationsOutputModel\n\t},\n\tpolicy: { auth: \"user\" }\n});\n/**\n* Mark notification as read.\n*/\nconst MarkNotificationReadContract = defineCommand({\n\tmeta: {\n\t\tname: \"notifications.markRead\",\n\t\tversion: 1,\n\t\tstability: \"stable\",\n\t\towners: [...OWNERS],\n\t\ttags: [\"notifications\", \"read\"],\n\t\tdescription: \"Mark a notification as read.\",\n\t\tgoal: \"Track which notifications user has seen.\",\n\t\tcontext: \"User clicks on a notification.\"\n\t},\n\tio: {\n\t\tinput: K5({\n\t\t\tname: \"MarkNotificationReadInput\",\n\t\t\tfields: { notificationId: {\n\t\t\t\ttype: E5.String_unsecure(),\n\t\t\t\tisOptional: false\n\t\t\t} }\n\t\t}),\n\t\toutput: NotificationModel\n\t},\n\tpolicy: { auth: \"user\" }\n});\n/**\n* Mark all notifications as read.\n*/\nconst MarkAllNotificationsReadContract = defineCommand({\n\tmeta: {\n\t\tname: \"notifications.markAllRead\",\n\t\tversion: 1,\n\t\tstability: \"stable\",\n\t\towners: [...OWNERS],\n\t\ttags: [\"notifications\", \"read\"],\n\t\tdescription: \"Mark all notifications as read.\",\n\t\tgoal: \"Clear notification badge.\",\n\t\tcontext: \"User clicks \\\"mark all as read\\\".\"\n\t},\n\tio: {\n\t\tinput: null,\n\t\toutput: K5({\n\t\t\tname: \"MarkAllNotificationsReadOutput\",\n\t\t\tfields: { markedCount: {\n\t\t\t\ttype: E5.Int_unsecure(),\n\t\t\t\tisOptional: false\n\t\t\t} }\n\t\t})\n\t},\n\tpolicy: { auth: \"user\" }\n});\n/**\n* Get notification preferences.\n*/\nconst GetNotificationPreferencesContract = defineQuery({\n\tmeta: {\n\t\tname: \"notifications.preferences.get\",\n\t\tversion: 1,\n\t\tstability: \"stable\",\n\t\towners: [...OWNERS],\n\t\ttags: [\n\t\t\t\"notifications\",\n\t\t\t\"preferences\",\n\t\t\t\"get\"\n\t\t],\n\t\tdescription: \"Get notification preferences for current user.\",\n\t\tgoal: \"Show user their notification settings.\",\n\t\tcontext: \"Notification settings page.\"\n\t},\n\tio: {\n\t\tinput: null,\n\t\toutput: NotificationPreferenceModel\n\t},\n\tpolicy: { auth: \"user\" }\n});\n/**\n* Update notification preferences.\n*/\nconst UpdateNotificationPreferencesContract = defineCommand({\n\tmeta: {\n\t\tname: \"notifications.preferences.update\",\n\t\tversion: 1,\n\t\tstability: \"stable\",\n\t\towners: [...OWNERS],\n\t\ttags: [\n\t\t\t\"notifications\",\n\t\t\t\"preferences\",\n\t\t\t\"update\"\n\t\t],\n\t\tdescription: \"Update notification preferences.\",\n\t\tgoal: \"Allow user to control notification delivery.\",\n\t\tcontext: \"Notification settings page.\"\n\t},\n\tio: {\n\t\tinput: UpdatePreferencesInputModel,\n\t\toutput: NotificationPreferenceModel\n\t},\n\tpolicy: { auth: \"user\" }\n});\n/**\n* Delete a notification.\n*/\nconst DeleteNotificationContract = defineCommand({\n\tmeta: {\n\t\tname: \"notifications.delete\",\n\t\tversion: 1,\n\t\tstability: \"stable\",\n\t\towners: [...OWNERS],\n\t\ttags: [\"notifications\", \"delete\"],\n\t\tdescription: \"Delete a notification.\",\n\t\tgoal: \"Allow user to remove unwanted notifications.\",\n\t\tcontext: \"User dismisses a notification.\"\n\t},\n\tio: {\n\t\tinput: K5({\n\t\t\tname: \"DeleteNotificationInput\",\n\t\t\tfields: { notificationId: {\n\t\t\t\ttype: E5.String_unsecure(),\n\t\t\t\tisOptional: false\n\t\t\t} }\n\t\t}),\n\t\toutput: K5({\n\t\t\tname: \"DeleteNotificationOutput\",\n\t\t\tfields: { success: {\n\t\t\t\ttype: E5.Boolean(),\n\t\t\t\tisOptional: false\n\t\t\t} }\n\t\t})\n\t},\n\tpolicy: { auth: \"user\" }\n});\n\n//#endregion\nexport { DeleteNotificationContract, GetNotificationPreferencesContract, ListNotificationsContract, ListNotificationsInputModel, ListNotificationsOutputModel, MarkAllNotificationsReadContract, MarkNotificationReadContract, NotificationFilterEnum, NotificationModel, NotificationPreferenceModel, SendNotificationContract, SendNotificationInputModel, UpdateNotificationPreferencesContract, UpdatePreferencesInputModel };\n//# sourceMappingURL=index.js.map"],"mappings":"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"}
@@ -0,0 +1,6 @@
1
+ //#region ../../modules/notifications/dist/libs/contracts/dist/_virtual/rolldown_runtime.js
2
+ var __esmMin = (fn, res) => () => (fn && (res = fn(fn = 0)), res);
3
+
4
+ //#endregion
5
+ export { __esmMin };
6
+ //# sourceMappingURL=rolldown_runtime.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"rolldown_runtime.js","names":[],"sources":["../../../../../../../../../../modules/notifications/dist/libs/contracts/dist/_virtual/rolldown_runtime.js"],"sourcesContent":["//#region ../../libs/contracts/dist/_virtual/rolldown_runtime.js\nvar __esmMin = (fn, res) => () => (fn && (res = fn(fn = 0)), res);\n\n//#endregion\nexport { __esmMin };\n//# sourceMappingURL=rolldown_runtime.js.map"],"mappings":";AACA,IAAI,YAAY,IAAI,eAAe,OAAO,MAAM,GAAG,KAAK,EAAE,GAAG"}
@@ -1,3 +1,4 @@
1
+ import "../../forms.js";
1
2
  import "react";
2
3
  import "react-hook-form";
3
4
  import "@hookform/resolvers/zod";
@@ -0,0 +1 @@
1
+ import "./registry-utils.js";
@@ -3,8 +3,8 @@ import { registerDocBlocks } from "../../registry.js";
3
3
  //#region ../../modules/notifications/dist/libs/contracts/dist/docs/tech/contracts/openapi-export.docblock.js
4
4
  registerDocBlocks([{
5
5
  id: "docs.tech.contracts.openapi-export",
6
- title: "OpenAPI export (OpenAPI 3.1) from SpecRegistry",
7
- summary: "Generate a deterministic OpenAPI document from a SpecRegistry using jsonSchemaForSpec + REST transport metadata.",
6
+ title: "OpenAPI export (OpenAPI 3.1) from OperationSpecRegistry",
7
+ summary: "Generate a deterministic OpenAPI document from a OperationSpecRegistry using jsonSchemaForSpec + REST transport metadata.",
8
8
  kind: "reference",
9
9
  visibility: "public",
10
10
  route: "/docs/tech/contracts/openapi-export",
@@ -13,7 +13,7 @@ registerDocBlocks([{
13
13
  "openapi",
14
14
  "rest"
15
15
  ],
16
- body: `## OpenAPI export (OpenAPI 3.1) from SpecRegistry
16
+ body: `## OpenAPI export (OpenAPI 3.1) from OperationSpecRegistry
17
17
 
18
18
  ### Purpose
19
19
 
@@ -42,9 +42,9 @@ contractspec openapi --registry ./src/registry.ts --out ./openapi.json
42
42
 
43
43
  The registry module must export one of:
44
44
 
45
- - \`registry: SpecRegistry\`
46
- - \`default(): SpecRegistry | Promise<SpecRegistry>\`
47
- - \`createRegistry(): SpecRegistry | Promise<SpecRegistry>\`
45
+ - \`registry: OperationSpecRegistry\`
46
+ - \`default(): OperationSpecRegistry | Promise<OperationSpecRegistry>\`
47
+ - \`createRegistry(): OperationSpecRegistry | Promise<OperationSpecRegistry>\`
48
48
 
49
49
  ### Notes / limitations (current)
50
50
 
@@ -1 +1 @@
1
- {"version":3,"file":"openapi-export.docblock.js","names":[],"sources":["../../../../../../../../../../../../modules/notifications/dist/libs/contracts/dist/docs/tech/contracts/openapi-export.docblock.js"],"sourcesContent":["import { registerDocBlocks } from \"../../registry.js\";\n\n//#region ../../libs/contracts/dist/docs/tech/contracts/openapi-export.docblock.js\nconst tech_contracts_openapi_export_DocBlocks = [{\n\tid: \"docs.tech.contracts.openapi-export\",\n\ttitle: \"OpenAPI export (OpenAPI 3.1) from SpecRegistry\",\n\tsummary: \"Generate a deterministic OpenAPI document from a SpecRegistry using jsonSchemaForSpec + REST transport metadata.\",\n\tkind: \"reference\",\n\tvisibility: \"public\",\n\troute: \"/docs/tech/contracts/openapi-export\",\n\ttags: [\n\t\t\"contracts\",\n\t\t\"openapi\",\n\t\t\"rest\"\n\t],\n\tbody: `## OpenAPI export (OpenAPI 3.1) from SpecRegistry\n\n### Purpose\n\nContractSpec specs can be exported into an **OpenAPI 3.1** document for tooling (SDK generation, docs, gateways).\n\nThe export is **spec-first**:\n\n- Uses \\`jsonSchemaForSpec(spec)\\` for input/output JSON Schema (from SchemaModel → zod → JSON Schema)\n- Uses \\`spec.transport.rest.method/path\\` when present\n- Falls back to deterministic defaults:\n - Method: \\`POST\\` for commands, \\`GET\\` for queries\n - Path: \\`defaultRestPath(name, version)\\` → \\`/<dot/name>/v<version>\\`\n\n### Library API\n\n- Function: \\`openApiForRegistry(registry, options?)\\`\n- Location: \\`@lssm/lib.contracts/openapi\\`\n\n### CLI\n\nExport OpenAPI from a registry module:\n\n\\`\\`\\`bash\ncontractspec openapi --registry ./src/registry.ts --out ./openapi.json\n\\`\\`\\`\n\nThe registry module must export one of:\n\n- \\`registry: SpecRegistry\\`\n- \\`default(): SpecRegistry | Promise<SpecRegistry>\\`\n- \\`createRegistry(): SpecRegistry | Promise<SpecRegistry>\\`\n\n### Notes / limitations (current)\n\n- Responses are generated as a basic \\`200\\` response (plus schemas when available).\n- Query (GET) inputs are currently represented as a JSON request body when an input schema exists.\n- Errors are not yet expanded into OpenAPI responses; that will be added when we standardize error envelopes.`\n}];\nregisterDocBlocks(tech_contracts_openapi_export_DocBlocks);\n\n//#endregion\n//# sourceMappingURL=openapi-export.docblock.js.map"],"mappings":";;;AAsDA,kBAnDgD,CAAC;CAChD,IAAI;CACJ,OAAO;CACP,SAAS;CACT,MAAM;CACN,YAAY;CACZ,OAAO;CACP,MAAM;EACL;EACA;EACA;EACA;CACD,MAAM;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAsCN,CAAC,CACwD"}
1
+ {"version":3,"file":"openapi-export.docblock.js","names":[],"sources":["../../../../../../../../../../../../modules/notifications/dist/libs/contracts/dist/docs/tech/contracts/openapi-export.docblock.js"],"sourcesContent":["import { registerDocBlocks } from \"../../registry.js\";\n\n//#region ../../libs/contracts/dist/docs/tech/contracts/openapi-export.docblock.js\nconst tech_contracts_openapi_export_DocBlocks = [{\n\tid: \"docs.tech.contracts.openapi-export\",\n\ttitle: \"OpenAPI export (OpenAPI 3.1) from OperationSpecRegistry\",\n\tsummary: \"Generate a deterministic OpenAPI document from a OperationSpecRegistry using jsonSchemaForSpec + REST transport metadata.\",\n\tkind: \"reference\",\n\tvisibility: \"public\",\n\troute: \"/docs/tech/contracts/openapi-export\",\n\ttags: [\n\t\t\"contracts\",\n\t\t\"openapi\",\n\t\t\"rest\"\n\t],\n\tbody: `## OpenAPI export (OpenAPI 3.1) from OperationSpecRegistry\n\n### Purpose\n\nContractSpec specs can be exported into an **OpenAPI 3.1** document for tooling (SDK generation, docs, gateways).\n\nThe export is **spec-first**:\n\n- Uses \\`jsonSchemaForSpec(spec)\\` for input/output JSON Schema (from SchemaModel → zod → JSON Schema)\n- Uses \\`spec.transport.rest.method/path\\` when present\n- Falls back to deterministic defaults:\n - Method: \\`POST\\` for commands, \\`GET\\` for queries\n - Path: \\`defaultRestPath(name, version)\\` → \\`/<dot/name>/v<version>\\`\n\n### Library API\n\n- Function: \\`openApiForRegistry(registry, options?)\\`\n- Location: \\`@lssm/lib.contracts/openapi\\`\n\n### CLI\n\nExport OpenAPI from a registry module:\n\n\\`\\`\\`bash\ncontractspec openapi --registry ./src/registry.ts --out ./openapi.json\n\\`\\`\\`\n\nThe registry module must export one of:\n\n- \\`registry: OperationSpecRegistry\\`\n- \\`default(): OperationSpecRegistry | Promise<OperationSpecRegistry>\\`\n- \\`createRegistry(): OperationSpecRegistry | Promise<OperationSpecRegistry>\\`\n\n### Notes / limitations (current)\n\n- Responses are generated as a basic \\`200\\` response (plus schemas when available).\n- Query (GET) inputs are currently represented as a JSON request body when an input schema exists.\n- Errors are not yet expanded into OpenAPI responses; that will be added when we standardize error envelopes.`\n}];\nregisterDocBlocks(tech_contracts_openapi_export_DocBlocks);\n\n//#endregion\n//# sourceMappingURL=openapi-export.docblock.js.map"],"mappings":";;;AAsDA,kBAnDgD,CAAC;CAChD,IAAI;CACJ,OAAO;CACP,SAAS;CACT,MAAM;CACN,YAAY;CACZ,OAAO;CACP,MAAM;EACL;EACA;EACA;EACA;CACD,MAAM;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAsCN,CAAC,CACwD"}
@@ -0,0 +1 @@
1
+ import "./registry-utils.js";
@@ -0,0 +1 @@
1
+ import "./registry-utils.js";
@@ -1,5 +1,9 @@
1
1
  import "./schema/dist/index.js";
2
+ import { init_registry_utils } from "./registry-utils.js";
3
+ import "./data-views.js";
2
4
  import "./events.js";
5
+ import "./features.js";
6
+ import "./forms.js";
3
7
  import "./presentations.v2.js";
4
8
  import "./client/react/feature-render.js";
5
9
  import "./client/react/form-render.js";
@@ -58,6 +62,9 @@ import "./integrations/contracts.js";
58
62
  import "./knowledge/contracts.js";
59
63
  import "./regenerator/service.js";
60
64
  import "./regenerator/index.js";
65
+ import "./workspace-config/contractsrc-schema.js";
66
+ import "./workspace-config/index.js";
67
+ import "./workflow/spec.js";
61
68
  import "./workflow/runner.js";
62
69
  import "./workflow/index.js";
63
70
  import "./docs/tech-contracts.docs.js";
@@ -66,3 +73,9 @@ import "./docs/index.js";
66
73
  import "./llm/exporters.js";
67
74
  import "./llm/prompts.js";
68
75
  import "./llm/index.js";
76
+
77
+ //#region ../../modules/notifications/dist/libs/contracts/dist/index.js
78
+ init_registry_utils();
79
+
80
+ //#endregion
81
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","names":[],"sources":["../../../../../../../../../modules/notifications/dist/libs/contracts/dist/index.js"],"sourcesContent":["import { GroupingStrategies, init_registry_utils } from \"./registry-utils.js\";\nimport \"./data-views.js\";\nimport { K5 } from \"./schema/dist/index.js\";\nimport \"./events.js\";\nimport \"./features.js\";\nimport \"./forms.js\";\nimport \"./presentations.v2.js\";\nimport \"./client/react/feature-render.js\";\nimport \"./client/react/form-render.js\";\nimport \"./client/index.js\";\nimport \"./jsonschema.js\";\nimport \"./server/graphql-pothos.js\";\nimport \"./presentations.js\";\nimport \"./server/mcp/createMcpServer.js\";\nimport \"./server/rest-generic.js\";\nimport \"./server/rest-elysia.js\";\nimport \"./server/rest-express.js\";\nimport \"./server/rest-next-app.js\";\nimport \"./server/rest-next-pages.js\";\nimport \"./server/index.js\";\nimport { defineCommand, defineQuery } from \"./operation.js\";\nimport { docBlockToPresentationSpec, docBlockToPresentationV2, docBlocksToPresentationRoutes } from \"./docs/presentations.js\";\nimport { DocRegistry, defaultDocRegistry, registerDocBlocks } from \"./docs/registry.js\";\nimport \"./registry.js\";\nimport { OwnersEnum, StabilityEnum } from \"./ownership.js\";\nimport { ContractRegistryFileSchema, ContractRegistryItemSchema, ContractRegistryItemTypeSchema } from \"./contract-registry/schemas.js\";\nimport \"./contract-registry/index.js\";\nimport \"./install.js\";\nimport \"./openapi.js\";\nimport \"./prompt.js\";\nimport \"./promptRegistry.js\";\nimport \"./resources.js\";\nimport { CompleteOnboardingBaseInput, CompleteOnboardingBaseOutput, DeleteOnboardingDraftOutput, GetOnboardingDraftOutput, SaveOnboardingDraftInput, SaveOnboardingDraftOutput } from \"./onboarding-base.js\";\nimport \"./capabilities/openbanking.js\";\nimport \"./telemetry/tracker.js\";\nimport \"./telemetry/index.js\";\nimport \"./tests/runner.js\";\nimport \"./tests/index.js\";\nimport \"./experiments/evaluator.js\";\nimport \"./integrations/providers/stripe.js\";\nimport \"./integrations/providers/postmark.js\";\nimport \"./integrations/providers/qdrant.js\";\nimport \"./integrations/providers/mistral.js\";\nimport \"./integrations/providers/elevenlabs.js\";\nimport \"./integrations/providers/gmail.js\";\nimport \"./integrations/providers/google-calendar.js\";\nimport \"./integrations/providers/twilio-sms.js\";\nimport \"./integrations/providers/gcs-storage.js\";\nimport \"./integrations/providers/powens.js\";\nimport \"./integrations/providers/registry.js\";\nimport { AccountBalanceRecord, BankAccountRecord, BankTransactionRecord } from \"./integrations/openbanking/models.js\";\nimport { OPENBANKING_TELEMETRY_EVENTS } from \"./integrations/openbanking/telemetry.js\";\nimport \"./integrations/openbanking/contracts/accounts.js\";\nimport \"./integrations/openbanking/contracts/transactions.js\";\nimport \"./integrations/openbanking/contracts/balances.js\";\nimport \"./integrations/openbanking/contracts/index.js\";\nimport \"./integrations/index.js\";\nimport \"./knowledge/spaces/product-canon.js\";\nimport \"./knowledge/spaces/support-faq.js\";\nimport \"./knowledge/spaces/email-threads.js\";\nimport \"./knowledge/spaces/uploaded-docs.js\";\nimport \"./knowledge/spaces/financial-docs.js\";\nimport \"./knowledge/spaces/financial-overview.js\";\nimport \"./knowledge/index.js\";\nimport \"./integrations/contracts.js\";\nimport \"./knowledge/contracts.js\";\nimport \"./regenerator/service.js\";\nimport \"./regenerator/index.js\";\nimport { FolderConventionsSchema, OpenApiConfigSchema, OpenApiExportConfigSchema, OpenApiSourceConfigSchema } from \"./workspace-config/contractsrc-schema.js\";\nimport \"./workspace-config/index.js\";\nimport \"./workflow/spec.js\";\nimport \"./workflow/runner.js\";\nimport \"./workflow/index.js\";\nimport { techContractsDocs } from \"./docs/tech-contracts.docs.js\";\nimport { metaDocs } from \"./docs/meta.docs.js\";\nimport \"./docs/index.js\";\nimport \"./llm/exporters.js\";\nimport \"./llm/prompts.js\";\nimport \"./llm/index.js\";\n\n//#region ../../libs/contracts/dist/index.js\ninit_registry_utils();\n\n//#endregion\n//# sourceMappingURL=index.js.map"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAiFA,qBAAqB"}
@@ -1,5 +1,5 @@
1
1
  import { E5, x8 } from "../schema/dist/index.js";
2
- import { defineCommand, defineQuery } from "../spec.js";
2
+ import { defineCommand, defineQuery } from "../operation.js";
3
3
 
4
4
  //#region ../../modules/notifications/dist/libs/contracts/dist/integrations/contracts.js
5
5
  const IntegrationConnectionRecord = new x8({
@@ -1 +1 @@
1
- {"version":3,"file":"contracts.js","names":[],"sources":["../../../../../../../../../../modules/notifications/dist/libs/contracts/dist/integrations/contracts.js"],"sourcesContent":["import { E5, x8 } from \"../schema/dist/index.js\";\nimport { defineCommand, defineQuery } from \"../spec.js\";\n\n//#region ../../libs/contracts/dist/integrations/contracts.js\nconst IntegrationConnectionRecord = new x8({\n\tname: \"IntegrationConnectionRecord\",\n\tfields: {\n\t\tid: {\n\t\t\ttype: E5.ID(),\n\t\t\tisOptional: false\n\t\t},\n\t\ttenantId: {\n\t\t\ttype: E5.ID(),\n\t\t\tisOptional: false\n\t\t},\n\t\tintegrationKey: {\n\t\t\ttype: E5.NonEmptyString(),\n\t\t\tisOptional: false\n\t\t},\n\t\tintegrationVersion: {\n\t\t\ttype: E5.Int_unsecure(),\n\t\t\tisOptional: false\n\t\t},\n\t\tlabel: {\n\t\t\ttype: E5.String_unsecure(),\n\t\t\tisOptional: false\n\t\t},\n\t\townershipMode: {\n\t\t\ttype: E5.String_unsecure(),\n\t\t\tisOptional: false\n\t\t},\n\t\texternalAccountId: {\n\t\t\ttype: E5.String_unsecure(),\n\t\t\tisOptional: true\n\t\t},\n\t\tsecretProvider: {\n\t\t\ttype: E5.String_unsecure(),\n\t\t\tisOptional: false\n\t\t},\n\t\tsecretRef: {\n\t\t\ttype: E5.String_unsecure(),\n\t\t\tisOptional: false\n\t\t},\n\t\tstatus: {\n\t\t\ttype: E5.String_unsecure(),\n\t\t\tisOptional: false\n\t\t},\n\t\tenvironment: {\n\t\t\ttype: E5.String_unsecure(),\n\t\t\tisOptional: true\n\t\t},\n\t\thealthStatus: {\n\t\t\ttype: E5.String_unsecure(),\n\t\t\tisOptional: true\n\t\t},\n\t\thealthCheckedAt: {\n\t\t\ttype: E5.DateTime(),\n\t\t\tisOptional: true\n\t\t},\n\t\thealthLatencyMs: {\n\t\t\ttype: E5.Float_unsecure(),\n\t\t\tisOptional: true\n\t\t},\n\t\thealthErrorCode: {\n\t\t\ttype: E5.String_unsecure(),\n\t\t\tisOptional: true\n\t\t},\n\t\thealthErrorMessage: {\n\t\t\ttype: E5.String_unsecure(),\n\t\t\tisOptional: true\n\t\t},\n\t\tusageRequestCount: {\n\t\t\ttype: E5.Int_unsecure(),\n\t\t\tisOptional: true\n\t\t},\n\t\tusageSuccessCount: {\n\t\t\ttype: E5.Int_unsecure(),\n\t\t\tisOptional: true\n\t\t},\n\t\tusageErrorCount: {\n\t\t\ttype: E5.Int_unsecure(),\n\t\t\tisOptional: true\n\t\t},\n\t\tusageLastUsedAt: {\n\t\t\ttype: E5.DateTime(),\n\t\t\tisOptional: true\n\t\t},\n\t\tusageLastErrorAt: {\n\t\t\ttype: E5.DateTime(),\n\t\t\tisOptional: true\n\t\t},\n\t\tusageLastErrorCode: {\n\t\t\ttype: E5.String_unsecure(),\n\t\t\tisOptional: true\n\t\t},\n\t\tcreatedAt: {\n\t\t\ttype: E5.DateTime(),\n\t\t\tisOptional: true\n\t\t},\n\t\tupdatedAt: {\n\t\t\ttype: E5.DateTime(),\n\t\t\tisOptional: true\n\t\t}\n\t}\n});\nconst CreateIntegrationConnectionInput = new x8({\n\tname: \"CreateIntegrationConnectionInput\",\n\tfields: {\n\t\ttenantId: {\n\t\t\ttype: E5.ID(),\n\t\t\tisOptional: false\n\t\t},\n\t\tintegrationKey: {\n\t\t\ttype: E5.NonEmptyString(),\n\t\t\tisOptional: false\n\t\t},\n\t\tintegrationVersion: {\n\t\t\ttype: E5.Int_unsecure(),\n\t\t\tisOptional: false\n\t\t},\n\t\tlabel: {\n\t\t\ttype: E5.String_unsecure(),\n\t\t\tisOptional: false\n\t\t},\n\t\townershipMode: {\n\t\t\ttype: E5.String_unsecure(),\n\t\t\tisOptional: false\n\t\t},\n\t\texternalAccountId: {\n\t\t\ttype: E5.String_unsecure(),\n\t\t\tisOptional: true\n\t\t},\n\t\tsecretProvider: {\n\t\t\ttype: E5.String_unsecure(),\n\t\t\tisOptional: false\n\t\t},\n\t\tsecretRef: {\n\t\t\ttype: E5.String_unsecure(),\n\t\t\tisOptional: false\n\t\t},\n\t\tenvironment: {\n\t\t\ttype: E5.String_unsecure(),\n\t\t\tisOptional: true\n\t\t},\n\t\tconfig: {\n\t\t\ttype: E5.JSONObject(),\n\t\t\tisOptional: false\n\t\t}\n\t}\n});\nconst UpdateIntegrationConnectionInput = new x8({\n\tname: \"UpdateIntegrationConnectionInput\",\n\tfields: {\n\t\tconnectionId: {\n\t\t\ttype: E5.ID(),\n\t\t\tisOptional: false\n\t\t},\n\t\tlabel: {\n\t\t\ttype: E5.String_unsecure(),\n\t\t\tisOptional: true\n\t\t},\n\t\tstatus: {\n\t\t\ttype: E5.String_unsecure(),\n\t\t\tisOptional: true\n\t\t},\n\t\townershipMode: {\n\t\t\ttype: E5.String_unsecure(),\n\t\t\tisOptional: true\n\t\t},\n\t\texternalAccountId: {\n\t\t\ttype: E5.String_unsecure(),\n\t\t\tisOptional: true\n\t\t},\n\t\tsecretProvider: {\n\t\t\ttype: E5.String_unsecure(),\n\t\t\tisOptional: true\n\t\t},\n\t\tsecretRef: {\n\t\t\ttype: E5.String_unsecure(),\n\t\t\tisOptional: true\n\t\t},\n\t\tconfig: {\n\t\t\ttype: E5.JSONObject(),\n\t\t\tisOptional: true\n\t\t}\n\t}\n});\nconst DeleteIntegrationConnectionInput = new x8({\n\tname: \"DeleteIntegrationConnectionInput\",\n\tfields: { connectionId: {\n\t\ttype: E5.ID(),\n\t\tisOptional: false\n\t} }\n});\nconst ListIntegrationConnectionsInput = new x8({\n\tname: \"ListIntegrationConnectionsInput\",\n\tfields: {\n\t\ttenantId: {\n\t\t\ttype: E5.ID(),\n\t\t\tisOptional: false\n\t\t},\n\t\tcategory: {\n\t\t\ttype: E5.String_unsecure(),\n\t\t\tisOptional: true\n\t\t},\n\t\tstatus: {\n\t\t\ttype: E5.String_unsecure(),\n\t\t\tisOptional: true\n\t\t}\n\t}\n});\nconst ListIntegrationConnectionsOutput = new x8({\n\tname: \"ListIntegrationConnectionsOutput\",\n\tfields: { connections: {\n\t\ttype: IntegrationConnectionRecord,\n\t\tisOptional: false,\n\t\tisArray: true\n\t} }\n});\nconst TestIntegrationConnectionInput = new x8({\n\tname: \"TestIntegrationConnectionInput\",\n\tfields: { connectionId: {\n\t\ttype: E5.ID(),\n\t\tisOptional: false\n\t} }\n});\nconst TestIntegrationConnectionOutput = new x8({\n\tname: \"TestIntegrationConnectionOutput\",\n\tfields: {\n\t\tsuccess: {\n\t\t\ttype: E5.Boolean(),\n\t\t\tisOptional: false\n\t\t},\n\t\tstatus: {\n\t\t\ttype: E5.String_unsecure(),\n\t\t\tisOptional: true\n\t\t},\n\t\tlatencyMs: {\n\t\t\ttype: E5.Float_unsecure(),\n\t\t\tisOptional: true\n\t\t},\n\t\terror: {\n\t\t\ttype: E5.String_unsecure(),\n\t\t\tisOptional: true\n\t\t},\n\t\terrorCode: {\n\t\t\ttype: E5.String_unsecure(),\n\t\t\tisOptional: true\n\t\t}\n\t}\n});\nconst DeleteIntegrationConnectionOutput = new x8({\n\tname: \"DeleteIntegrationConnectionOutput\",\n\tfields: { success: {\n\t\ttype: E5.Boolean(),\n\t\tisOptional: false\n\t} }\n});\nconst CreateIntegrationConnection = defineCommand({\n\tmeta: {\n\t\tname: \"integrations.connection.create\",\n\t\tversion: 1,\n\t\tdescription: \"Create a new integration connection for a tenant.\",\n\t\tgoal: \"Provision a tenant-scoped connection to an external provider.\",\n\t\tcontext: \"Used by Ops or the App Studio to configure external integrations such as Stripe or Qdrant.\",\n\t\towners: [\"platform.integrations\"],\n\t\ttags: [\"integration\", \"connections\"],\n\t\tstability: \"experimental\"\n\t},\n\tio: {\n\t\tinput: CreateIntegrationConnectionInput,\n\t\toutput: IntegrationConnectionRecord\n\t},\n\tpolicy: {\n\t\tauth: \"admin\",\n\t\tpolicies: [{\n\t\t\tname: \"platform.integration.manage\",\n\t\t\tversion: 1\n\t\t}]\n\t}\n});\nconst UpdateIntegrationConnection = defineCommand({\n\tmeta: {\n\t\tname: \"integrations.connection.update\",\n\t\tversion: 1,\n\t\tdescription: \"Update metadata or credentials for an integration connection.\",\n\t\tgoal: \"Allow secure rotation of credentials and metadata adjustments.\",\n\t\tcontext: \"Supports rotating API keys, toggling status, or updating labels for tenant integrations.\",\n\t\towners: [\"platform.integrations\"],\n\t\ttags: [\"integration\", \"connections\"],\n\t\tstability: \"experimental\"\n\t},\n\tio: {\n\t\tinput: UpdateIntegrationConnectionInput,\n\t\toutput: IntegrationConnectionRecord\n\t},\n\tpolicy: {\n\t\tauth: \"admin\",\n\t\tpolicies: [{\n\t\t\tname: \"platform.integration.manage\",\n\t\t\tversion: 1\n\t\t}]\n\t}\n});\nconst DeleteIntegrationConnection = defineCommand({\n\tmeta: {\n\t\tname: \"integrations.connection.delete\",\n\t\tversion: 1,\n\t\tdescription: \"Delete an integration connection for a tenant.\",\n\t\tgoal: \"Safely remove credentials and disable connector usage.\",\n\t\tcontext: \"Ensures connections are de-provisioned when no longer needed or breached.\",\n\t\towners: [\"platform.integrations\"],\n\t\ttags: [\"integration\", \"connections\"],\n\t\tstability: \"experimental\"\n\t},\n\tio: {\n\t\tinput: DeleteIntegrationConnectionInput,\n\t\toutput: DeleteIntegrationConnectionOutput\n\t},\n\tpolicy: {\n\t\tauth: \"admin\",\n\t\tpolicies: [{\n\t\t\tname: \"platform.integration.manage\",\n\t\t\tversion: 1\n\t\t}]\n\t}\n});\nconst ListIntegrationConnections = defineQuery({\n\tmeta: {\n\t\tname: \"integrations.connection.list\",\n\t\tversion: 1,\n\t\tdescription: \"List integration connections for a tenant.\",\n\t\tgoal: \"Provide visibility into configured integrations and their status.\",\n\t\tcontext: \"Used by the App Studio and Ops flows to show bindings and health.\",\n\t\towners: [\"platform.integrations\"],\n\t\ttags: [\"integration\", \"connections\"],\n\t\tstability: \"experimental\"\n\t},\n\tio: {\n\t\tinput: ListIntegrationConnectionsInput,\n\t\toutput: ListIntegrationConnectionsOutput\n\t},\n\tpolicy: {\n\t\tauth: \"admin\",\n\t\tpolicies: [{\n\t\t\tname: \"platform.integration.read\",\n\t\t\tversion: 1\n\t\t}]\n\t}\n});\nconst TestIntegrationConnection = defineCommand({\n\tmeta: {\n\t\tname: \"integrations.connection.test\",\n\t\tversion: 1,\n\t\tdescription: \"Run a health check against a configured integration connection.\",\n\t\tgoal: \"Validate credentials and connectivity for external providers.\",\n\t\tcontext: \"Triggered manually or by background monitors to confirm provider availability.\",\n\t\towners: [\"platform.integrations\"],\n\t\ttags: [\"integration\", \"connections\"],\n\t\tstability: \"experimental\"\n\t},\n\tio: {\n\t\tinput: TestIntegrationConnectionInput,\n\t\toutput: TestIntegrationConnectionOutput\n\t},\n\tpolicy: {\n\t\tauth: \"admin\",\n\t\tpolicies: [{\n\t\t\tname: \"platform.integration.manage\",\n\t\t\tversion: 1\n\t\t}]\n\t}\n});\n\n//#endregion\n//# sourceMappingURL=contracts.js.map"],"mappings":"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"}
1
+ {"version":3,"file":"contracts.js","names":[],"sources":["../../../../../../../../../../modules/notifications/dist/libs/contracts/dist/integrations/contracts.js"],"sourcesContent":["import { E5, x8 } from \"../schema/dist/index.js\";\nimport { defineCommand, defineQuery } from \"../operation.js\";\n\n//#region ../../libs/contracts/dist/integrations/contracts.js\nconst IntegrationConnectionRecord = new x8({\n\tname: \"IntegrationConnectionRecord\",\n\tfields: {\n\t\tid: {\n\t\t\ttype: E5.ID(),\n\t\t\tisOptional: false\n\t\t},\n\t\ttenantId: {\n\t\t\ttype: E5.ID(),\n\t\t\tisOptional: false\n\t\t},\n\t\tintegrationKey: {\n\t\t\ttype: E5.NonEmptyString(),\n\t\t\tisOptional: false\n\t\t},\n\t\tintegrationVersion: {\n\t\t\ttype: E5.Int_unsecure(),\n\t\t\tisOptional: false\n\t\t},\n\t\tlabel: {\n\t\t\ttype: E5.String_unsecure(),\n\t\t\tisOptional: false\n\t\t},\n\t\townershipMode: {\n\t\t\ttype: E5.String_unsecure(),\n\t\t\tisOptional: false\n\t\t},\n\t\texternalAccountId: {\n\t\t\ttype: E5.String_unsecure(),\n\t\t\tisOptional: true\n\t\t},\n\t\tsecretProvider: {\n\t\t\ttype: E5.String_unsecure(),\n\t\t\tisOptional: false\n\t\t},\n\t\tsecretRef: {\n\t\t\ttype: E5.String_unsecure(),\n\t\t\tisOptional: false\n\t\t},\n\t\tstatus: {\n\t\t\ttype: E5.String_unsecure(),\n\t\t\tisOptional: false\n\t\t},\n\t\tenvironment: {\n\t\t\ttype: E5.String_unsecure(),\n\t\t\tisOptional: true\n\t\t},\n\t\thealthStatus: {\n\t\t\ttype: E5.String_unsecure(),\n\t\t\tisOptional: true\n\t\t},\n\t\thealthCheckedAt: {\n\t\t\ttype: E5.DateTime(),\n\t\t\tisOptional: true\n\t\t},\n\t\thealthLatencyMs: {\n\t\t\ttype: E5.Float_unsecure(),\n\t\t\tisOptional: true\n\t\t},\n\t\thealthErrorCode: {\n\t\t\ttype: E5.String_unsecure(),\n\t\t\tisOptional: true\n\t\t},\n\t\thealthErrorMessage: {\n\t\t\ttype: E5.String_unsecure(),\n\t\t\tisOptional: true\n\t\t},\n\t\tusageRequestCount: {\n\t\t\ttype: E5.Int_unsecure(),\n\t\t\tisOptional: true\n\t\t},\n\t\tusageSuccessCount: {\n\t\t\ttype: E5.Int_unsecure(),\n\t\t\tisOptional: true\n\t\t},\n\t\tusageErrorCount: {\n\t\t\ttype: E5.Int_unsecure(),\n\t\t\tisOptional: true\n\t\t},\n\t\tusageLastUsedAt: {\n\t\t\ttype: E5.DateTime(),\n\t\t\tisOptional: true\n\t\t},\n\t\tusageLastErrorAt: {\n\t\t\ttype: E5.DateTime(),\n\t\t\tisOptional: true\n\t\t},\n\t\tusageLastErrorCode: {\n\t\t\ttype: E5.String_unsecure(),\n\t\t\tisOptional: true\n\t\t},\n\t\tcreatedAt: {\n\t\t\ttype: E5.DateTime(),\n\t\t\tisOptional: true\n\t\t},\n\t\tupdatedAt: {\n\t\t\ttype: E5.DateTime(),\n\t\t\tisOptional: true\n\t\t}\n\t}\n});\nconst CreateIntegrationConnectionInput = new x8({\n\tname: \"CreateIntegrationConnectionInput\",\n\tfields: {\n\t\ttenantId: {\n\t\t\ttype: E5.ID(),\n\t\t\tisOptional: false\n\t\t},\n\t\tintegrationKey: {\n\t\t\ttype: E5.NonEmptyString(),\n\t\t\tisOptional: false\n\t\t},\n\t\tintegrationVersion: {\n\t\t\ttype: E5.Int_unsecure(),\n\t\t\tisOptional: false\n\t\t},\n\t\tlabel: {\n\t\t\ttype: E5.String_unsecure(),\n\t\t\tisOptional: false\n\t\t},\n\t\townershipMode: {\n\t\t\ttype: E5.String_unsecure(),\n\t\t\tisOptional: false\n\t\t},\n\t\texternalAccountId: {\n\t\t\ttype: E5.String_unsecure(),\n\t\t\tisOptional: true\n\t\t},\n\t\tsecretProvider: {\n\t\t\ttype: E5.String_unsecure(),\n\t\t\tisOptional: false\n\t\t},\n\t\tsecretRef: {\n\t\t\ttype: E5.String_unsecure(),\n\t\t\tisOptional: false\n\t\t},\n\t\tenvironment: {\n\t\t\ttype: E5.String_unsecure(),\n\t\t\tisOptional: true\n\t\t},\n\t\tconfig: {\n\t\t\ttype: E5.JSONObject(),\n\t\t\tisOptional: false\n\t\t}\n\t}\n});\nconst UpdateIntegrationConnectionInput = new x8({\n\tname: \"UpdateIntegrationConnectionInput\",\n\tfields: {\n\t\tconnectionId: {\n\t\t\ttype: E5.ID(),\n\t\t\tisOptional: false\n\t\t},\n\t\tlabel: {\n\t\t\ttype: E5.String_unsecure(),\n\t\t\tisOptional: true\n\t\t},\n\t\tstatus: {\n\t\t\ttype: E5.String_unsecure(),\n\t\t\tisOptional: true\n\t\t},\n\t\townershipMode: {\n\t\t\ttype: E5.String_unsecure(),\n\t\t\tisOptional: true\n\t\t},\n\t\texternalAccountId: {\n\t\t\ttype: E5.String_unsecure(),\n\t\t\tisOptional: true\n\t\t},\n\t\tsecretProvider: {\n\t\t\ttype: E5.String_unsecure(),\n\t\t\tisOptional: true\n\t\t},\n\t\tsecretRef: {\n\t\t\ttype: E5.String_unsecure(),\n\t\t\tisOptional: true\n\t\t},\n\t\tconfig: {\n\t\t\ttype: E5.JSONObject(),\n\t\t\tisOptional: true\n\t\t}\n\t}\n});\nconst DeleteIntegrationConnectionInput = new x8({\n\tname: \"DeleteIntegrationConnectionInput\",\n\tfields: { connectionId: {\n\t\ttype: E5.ID(),\n\t\tisOptional: false\n\t} }\n});\nconst ListIntegrationConnectionsInput = new x8({\n\tname: \"ListIntegrationConnectionsInput\",\n\tfields: {\n\t\ttenantId: {\n\t\t\ttype: E5.ID(),\n\t\t\tisOptional: false\n\t\t},\n\t\tcategory: {\n\t\t\ttype: E5.String_unsecure(),\n\t\t\tisOptional: true\n\t\t},\n\t\tstatus: {\n\t\t\ttype: E5.String_unsecure(),\n\t\t\tisOptional: true\n\t\t}\n\t}\n});\nconst ListIntegrationConnectionsOutput = new x8({\n\tname: \"ListIntegrationConnectionsOutput\",\n\tfields: { connections: {\n\t\ttype: IntegrationConnectionRecord,\n\t\tisOptional: false,\n\t\tisArray: true\n\t} }\n});\nconst TestIntegrationConnectionInput = new x8({\n\tname: \"TestIntegrationConnectionInput\",\n\tfields: { connectionId: {\n\t\ttype: E5.ID(),\n\t\tisOptional: false\n\t} }\n});\nconst TestIntegrationConnectionOutput = new x8({\n\tname: \"TestIntegrationConnectionOutput\",\n\tfields: {\n\t\tsuccess: {\n\t\t\ttype: E5.Boolean(),\n\t\t\tisOptional: false\n\t\t},\n\t\tstatus: {\n\t\t\ttype: E5.String_unsecure(),\n\t\t\tisOptional: true\n\t\t},\n\t\tlatencyMs: {\n\t\t\ttype: E5.Float_unsecure(),\n\t\t\tisOptional: true\n\t\t},\n\t\terror: {\n\t\t\ttype: E5.String_unsecure(),\n\t\t\tisOptional: true\n\t\t},\n\t\terrorCode: {\n\t\t\ttype: E5.String_unsecure(),\n\t\t\tisOptional: true\n\t\t}\n\t}\n});\nconst DeleteIntegrationConnectionOutput = new x8({\n\tname: \"DeleteIntegrationConnectionOutput\",\n\tfields: { success: {\n\t\ttype: E5.Boolean(),\n\t\tisOptional: false\n\t} }\n});\nconst CreateIntegrationConnection = defineCommand({\n\tmeta: {\n\t\tname: \"integrations.connection.create\",\n\t\tversion: 1,\n\t\tdescription: \"Create a new integration connection for a tenant.\",\n\t\tgoal: \"Provision a tenant-scoped connection to an external provider.\",\n\t\tcontext: \"Used by Ops or the App Studio to configure external integrations such as Stripe or Qdrant.\",\n\t\towners: [\"platform.integrations\"],\n\t\ttags: [\"integration\", \"connections\"],\n\t\tstability: \"experimental\"\n\t},\n\tio: {\n\t\tinput: CreateIntegrationConnectionInput,\n\t\toutput: IntegrationConnectionRecord\n\t},\n\tpolicy: {\n\t\tauth: \"admin\",\n\t\tpolicies: [{\n\t\t\tname: \"platform.integration.manage\",\n\t\t\tversion: 1\n\t\t}]\n\t}\n});\nconst UpdateIntegrationConnection = defineCommand({\n\tmeta: {\n\t\tname: \"integrations.connection.update\",\n\t\tversion: 1,\n\t\tdescription: \"Update metadata or credentials for an integration connection.\",\n\t\tgoal: \"Allow secure rotation of credentials and metadata adjustments.\",\n\t\tcontext: \"Supports rotating API keys, toggling status, or updating labels for tenant integrations.\",\n\t\towners: [\"platform.integrations\"],\n\t\ttags: [\"integration\", \"connections\"],\n\t\tstability: \"experimental\"\n\t},\n\tio: {\n\t\tinput: UpdateIntegrationConnectionInput,\n\t\toutput: IntegrationConnectionRecord\n\t},\n\tpolicy: {\n\t\tauth: \"admin\",\n\t\tpolicies: [{\n\t\t\tname: \"platform.integration.manage\",\n\t\t\tversion: 1\n\t\t}]\n\t}\n});\nconst DeleteIntegrationConnection = defineCommand({\n\tmeta: {\n\t\tname: \"integrations.connection.delete\",\n\t\tversion: 1,\n\t\tdescription: \"Delete an integration connection for a tenant.\",\n\t\tgoal: \"Safely remove credentials and disable connector usage.\",\n\t\tcontext: \"Ensures connections are de-provisioned when no longer needed or breached.\",\n\t\towners: [\"platform.integrations\"],\n\t\ttags: [\"integration\", \"connections\"],\n\t\tstability: \"experimental\"\n\t},\n\tio: {\n\t\tinput: DeleteIntegrationConnectionInput,\n\t\toutput: DeleteIntegrationConnectionOutput\n\t},\n\tpolicy: {\n\t\tauth: \"admin\",\n\t\tpolicies: [{\n\t\t\tname: \"platform.integration.manage\",\n\t\t\tversion: 1\n\t\t}]\n\t}\n});\nconst ListIntegrationConnections = defineQuery({\n\tmeta: {\n\t\tname: \"integrations.connection.list\",\n\t\tversion: 1,\n\t\tdescription: \"List integration connections for a tenant.\",\n\t\tgoal: \"Provide visibility into configured integrations and their status.\",\n\t\tcontext: \"Used by the App Studio and Ops flows to show bindings and health.\",\n\t\towners: [\"platform.integrations\"],\n\t\ttags: [\"integration\", \"connections\"],\n\t\tstability: \"experimental\"\n\t},\n\tio: {\n\t\tinput: ListIntegrationConnectionsInput,\n\t\toutput: ListIntegrationConnectionsOutput\n\t},\n\tpolicy: {\n\t\tauth: \"admin\",\n\t\tpolicies: [{\n\t\t\tname: \"platform.integration.read\",\n\t\t\tversion: 1\n\t\t}]\n\t}\n});\nconst TestIntegrationConnection = defineCommand({\n\tmeta: {\n\t\tname: \"integrations.connection.test\",\n\t\tversion: 1,\n\t\tdescription: \"Run a health check against a configured integration connection.\",\n\t\tgoal: \"Validate credentials and connectivity for external providers.\",\n\t\tcontext: \"Triggered manually or by background monitors to confirm provider availability.\",\n\t\towners: [\"platform.integrations\"],\n\t\ttags: [\"integration\", \"connections\"],\n\t\tstability: \"experimental\"\n\t},\n\tio: {\n\t\tinput: TestIntegrationConnectionInput,\n\t\toutput: TestIntegrationConnectionOutput\n\t},\n\tpolicy: {\n\t\tauth: \"admin\",\n\t\tpolicies: [{\n\t\t\tname: \"platform.integration.manage\",\n\t\t\tversion: 1\n\t\t}]\n\t}\n});\n\n//#endregion\n//# sourceMappingURL=contracts.js.map"],"mappings":"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"}
@@ -1,5 +1,5 @@
1
1
  import { E5, x8 } from "../../../schema/dist/index.js";
2
- import { defineCommand, defineQuery } from "../../../spec.js";
2
+ import { defineCommand, defineQuery } from "../../../operation.js";
3
3
  import { BankAccountRecord } from "../models.js";
4
4
  import { OPENBANKING_TELEMETRY_EVENTS } from "../telemetry.js";
5
5
 
@@ -1 +1 @@
1
- {"version":3,"file":"accounts.js","names":[],"sources":["../../../../../../../../../../../../modules/notifications/dist/libs/contracts/dist/integrations/openbanking/contracts/accounts.js"],"sourcesContent":["import { E5, x8 } from \"../../../schema/dist/index.js\";\nimport { defineCommand, defineQuery } from \"../../../spec.js\";\nimport { BankAccountRecord } from \"../models.js\";\nimport { OPENBANKING_TELEMETRY_EVENTS } from \"../telemetry.js\";\n\n//#region ../../libs/contracts/dist/integrations/openbanking/contracts/accounts.js\nconst OpenBankingListAccountsInput = new x8({\n\tname: \"OpenBankingListAccountsInput\",\n\tdescription: \"Parameters for listing bank accounts through the open banking provider.\",\n\tfields: {\n\t\ttenantId: {\n\t\t\ttype: E5.ID(),\n\t\t\tisOptional: false\n\t\t},\n\t\tuserId: {\n\t\t\ttype: E5.ID(),\n\t\t\tisOptional: false\n\t\t},\n\t\tconnectionId: {\n\t\t\ttype: E5.ID(),\n\t\t\tisOptional: true\n\t\t},\n\t\tincludeBalances: {\n\t\t\ttype: E5.Boolean(),\n\t\t\tisOptional: true\n\t\t},\n\t\tinstitutionId: {\n\t\t\ttype: E5.String_unsecure(),\n\t\t\tisOptional: true\n\t\t},\n\t\tcursor: {\n\t\t\ttype: E5.String_unsecure(),\n\t\t\tisOptional: true\n\t\t},\n\t\tpageSize: {\n\t\t\ttype: E5.Int_unsecure(),\n\t\t\tisOptional: true\n\t\t}\n\t}\n});\nconst OpenBankingListAccountsOutput = new x8({\n\tname: \"OpenBankingListAccountsOutput\",\n\tdescription: \"Paginated list of bank accounts available to the tenant and user.\",\n\tfields: {\n\t\taccounts: {\n\t\t\ttype: BankAccountRecord,\n\t\t\tisOptional: false,\n\t\t\tisArray: true\n\t\t},\n\t\tnextCursor: {\n\t\t\ttype: E5.String_unsecure(),\n\t\t\tisOptional: true\n\t\t},\n\t\thasMore: {\n\t\t\ttype: E5.Boolean(),\n\t\t\tisOptional: true\n\t\t}\n\t}\n});\nconst OpenBankingGetAccountInput = new x8({\n\tname: \"OpenBankingGetAccountInput\",\n\tdescription: \"Parameters for retrieving a specific bank account.\",\n\tfields: {\n\t\ttenantId: {\n\t\t\ttype: E5.ID(),\n\t\t\tisOptional: false\n\t\t},\n\t\taccountId: {\n\t\t\ttype: E5.ID(),\n\t\t\tisOptional: false\n\t\t},\n\t\tincludeBalances: {\n\t\t\ttype: E5.Boolean(),\n\t\t\tisOptional: true\n\t\t},\n\t\tincludeLatestTransactions: {\n\t\t\ttype: E5.Boolean(),\n\t\t\tisOptional: true\n\t\t}\n\t}\n});\nconst OpenBankingSyncAccountsInput = new x8({\n\tname: \"OpenBankingSyncAccountsInput\",\n\tdescription: \"Command payload to trigger an account synchronisation against the open banking provider.\",\n\tfields: {\n\t\ttenantId: {\n\t\t\ttype: E5.ID(),\n\t\t\tisOptional: false\n\t\t},\n\t\tuserId: {\n\t\t\ttype: E5.ID(),\n\t\t\tisOptional: true\n\t\t},\n\t\tconnectionId: {\n\t\t\ttype: E5.ID(),\n\t\t\tisOptional: false\n\t\t},\n\t\taccountIds: {\n\t\t\ttype: E5.ID(),\n\t\t\tisArray: true,\n\t\t\tisOptional: true\n\t\t},\n\t\tforceFullRefresh: {\n\t\t\ttype: E5.Boolean(),\n\t\t\tisOptional: true\n\t\t},\n\t\ttriggerWorkflows: {\n\t\t\ttype: E5.Boolean(),\n\t\t\tisOptional: true\n\t\t}\n\t}\n});\nconst OpenBankingSyncAccountsOutput = new x8({\n\tname: \"OpenBankingSyncAccountsOutput\",\n\tdescription: \"Result of a bank account synchronisation run.\",\n\tfields: {\n\t\tsynced: {\n\t\t\ttype: E5.Int_unsecure(),\n\t\t\tisOptional: false\n\t\t},\n\t\tfailed: {\n\t\t\ttype: E5.Int_unsecure(),\n\t\t\tisOptional: false\n\t\t},\n\t\terrors: {\n\t\t\ttype: E5.String_unsecure(),\n\t\t\tisArray: true,\n\t\t\tisOptional: true\n\t\t},\n\t\tnextSyncSuggestedAt: {\n\t\t\ttype: E5.DateTime(),\n\t\t\tisOptional: true\n\t\t}\n\t}\n});\nconst OpenBankingListAccounts = defineQuery({\n\tmeta: {\n\t\tname: \"openbanking.accounts.list\",\n\t\tversion: 1,\n\t\tdescription: \"List bank accounts available to a tenant/user via Powens Open Banking.\",\n\t\tgoal: \"Provide downstream workflows with the set of accounts accessible via the configured open banking connection.\",\n\t\tcontext: \"Used by Pocket Family Office dashboards and sync workflows to enumerate bank accounts prior to syncing balances or transactions.\",\n\t\towners: [\"platform.finance\"],\n\t\ttags: [\n\t\t\t\"open-banking\",\n\t\t\t\"powens\",\n\t\t\t\"accounts\"\n\t\t],\n\t\tstability: \"experimental\"\n\t},\n\tio: {\n\t\tinput: OpenBankingListAccountsInput,\n\t\toutput: OpenBankingListAccountsOutput\n\t},\n\tpolicy: { auth: \"user\" }\n});\nconst OpenBankingGetAccount = defineQuery({\n\tmeta: {\n\t\tname: \"openbanking.accounts.get\",\n\t\tversion: 1,\n\t\tdescription: \"Retrieve the canonical bank account record for the given account identifier.\",\n\t\tgoal: \"Allow user-facing experiences and automations to display up-to-date account metadata.\",\n\t\tcontext: \"Invoked by UI surfaces and workflow automation steps that require detailed metadata for a specific bank account.\",\n\t\towners: [\"platform.finance\"],\n\t\ttags: [\n\t\t\t\"open-banking\",\n\t\t\t\"powens\",\n\t\t\t\"accounts\"\n\t\t],\n\t\tstability: \"experimental\"\n\t},\n\tio: {\n\t\tinput: OpenBankingGetAccountInput,\n\t\toutput: BankAccountRecord\n\t},\n\tpolicy: { auth: \"user\" }\n});\nconst OpenBankingSyncAccounts = defineCommand({\n\tmeta: {\n\t\tname: \"openbanking.accounts.sync\",\n\t\tversion: 1,\n\t\tdescription: \"Initiate a synchronisation run to refresh bank account metadata from Powens.\",\n\t\tgoal: \"Keep canonical bank account records aligned with the external open banking provider.\",\n\t\tcontext: \"Triggered by scheduled workflows or manual operator actions to reconcile account metadata prior to transaction/balance syncs.\",\n\t\towners: [\"platform.finance\"],\n\t\ttags: [\n\t\t\t\"open-banking\",\n\t\t\t\"powens\",\n\t\t\t\"accounts\"\n\t\t],\n\t\tstability: \"experimental\"\n\t},\n\tio: {\n\t\tinput: OpenBankingSyncAccountsInput,\n\t\toutput: OpenBankingSyncAccountsOutput\n\t},\n\tpolicy: { auth: \"admin\" },\n\ttelemetry: {\n\t\tsuccess: {\n\t\t\tevent: { name: OPENBANKING_TELEMETRY_EVENTS.accountsSynced },\n\t\t\tproperties: ({ input, output }) => {\n\t\t\t\tconst payload = input;\n\t\t\t\tconst result = output;\n\t\t\t\treturn {\n\t\t\t\t\ttenantId: payload?.tenantId,\n\t\t\t\t\tconnectionId: payload?.connectionId,\n\t\t\t\t\tsynced: result?.synced,\n\t\t\t\t\tfailed: result?.failed\n\t\t\t\t};\n\t\t\t}\n\t\t},\n\t\tfailure: {\n\t\t\tevent: { name: OPENBANKING_TELEMETRY_EVENTS.accountsSyncFailed },\n\t\t\tproperties: ({ input, error }) => {\n\t\t\t\tconst payload = input;\n\t\t\t\treturn {\n\t\t\t\t\ttenantId: payload?.tenantId,\n\t\t\t\t\tconnectionId: payload?.connectionId,\n\t\t\t\t\terror: error instanceof Error ? error.message : String(error ?? \"unknown\")\n\t\t\t\t};\n\t\t\t}\n\t\t}\n\t}\n});\n\n//#endregion\n//# sourceMappingURL=accounts.js.map"],"mappings":"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"}
1
+ {"version":3,"file":"accounts.js","names":[],"sources":["../../../../../../../../../../../../modules/notifications/dist/libs/contracts/dist/integrations/openbanking/contracts/accounts.js"],"sourcesContent":["import { E5, x8 } from \"../../../schema/dist/index.js\";\nimport { defineCommand, defineQuery } from \"../../../operation.js\";\nimport { BankAccountRecord } from \"../models.js\";\nimport { OPENBANKING_TELEMETRY_EVENTS } from \"../telemetry.js\";\n\n//#region ../../libs/contracts/dist/integrations/openbanking/contracts/accounts.js\nconst OpenBankingListAccountsInput = new x8({\n\tname: \"OpenBankingListAccountsInput\",\n\tdescription: \"Parameters for listing bank accounts through the open banking provider.\",\n\tfields: {\n\t\ttenantId: {\n\t\t\ttype: E5.ID(),\n\t\t\tisOptional: false\n\t\t},\n\t\tuserId: {\n\t\t\ttype: E5.ID(),\n\t\t\tisOptional: false\n\t\t},\n\t\tconnectionId: {\n\t\t\ttype: E5.ID(),\n\t\t\tisOptional: true\n\t\t},\n\t\tincludeBalances: {\n\t\t\ttype: E5.Boolean(),\n\t\t\tisOptional: true\n\t\t},\n\t\tinstitutionId: {\n\t\t\ttype: E5.String_unsecure(),\n\t\t\tisOptional: true\n\t\t},\n\t\tcursor: {\n\t\t\ttype: E5.String_unsecure(),\n\t\t\tisOptional: true\n\t\t},\n\t\tpageSize: {\n\t\t\ttype: E5.Int_unsecure(),\n\t\t\tisOptional: true\n\t\t}\n\t}\n});\nconst OpenBankingListAccountsOutput = new x8({\n\tname: \"OpenBankingListAccountsOutput\",\n\tdescription: \"Paginated list of bank accounts available to the tenant and user.\",\n\tfields: {\n\t\taccounts: {\n\t\t\ttype: BankAccountRecord,\n\t\t\tisOptional: false,\n\t\t\tisArray: true\n\t\t},\n\t\tnextCursor: {\n\t\t\ttype: E5.String_unsecure(),\n\t\t\tisOptional: true\n\t\t},\n\t\thasMore: {\n\t\t\ttype: E5.Boolean(),\n\t\t\tisOptional: true\n\t\t}\n\t}\n});\nconst OpenBankingGetAccountInput = new x8({\n\tname: \"OpenBankingGetAccountInput\",\n\tdescription: \"Parameters for retrieving a specific bank account.\",\n\tfields: {\n\t\ttenantId: {\n\t\t\ttype: E5.ID(),\n\t\t\tisOptional: false\n\t\t},\n\t\taccountId: {\n\t\t\ttype: E5.ID(),\n\t\t\tisOptional: false\n\t\t},\n\t\tincludeBalances: {\n\t\t\ttype: E5.Boolean(),\n\t\t\tisOptional: true\n\t\t},\n\t\tincludeLatestTransactions: {\n\t\t\ttype: E5.Boolean(),\n\t\t\tisOptional: true\n\t\t}\n\t}\n});\nconst OpenBankingSyncAccountsInput = new x8({\n\tname: \"OpenBankingSyncAccountsInput\",\n\tdescription: \"Command payload to trigger an account synchronisation against the open banking provider.\",\n\tfields: {\n\t\ttenantId: {\n\t\t\ttype: E5.ID(),\n\t\t\tisOptional: false\n\t\t},\n\t\tuserId: {\n\t\t\ttype: E5.ID(),\n\t\t\tisOptional: true\n\t\t},\n\t\tconnectionId: {\n\t\t\ttype: E5.ID(),\n\t\t\tisOptional: false\n\t\t},\n\t\taccountIds: {\n\t\t\ttype: E5.ID(),\n\t\t\tisArray: true,\n\t\t\tisOptional: true\n\t\t},\n\t\tforceFullRefresh: {\n\t\t\ttype: E5.Boolean(),\n\t\t\tisOptional: true\n\t\t},\n\t\ttriggerWorkflows: {\n\t\t\ttype: E5.Boolean(),\n\t\t\tisOptional: true\n\t\t}\n\t}\n});\nconst OpenBankingSyncAccountsOutput = new x8({\n\tname: \"OpenBankingSyncAccountsOutput\",\n\tdescription: \"Result of a bank account synchronisation run.\",\n\tfields: {\n\t\tsynced: {\n\t\t\ttype: E5.Int_unsecure(),\n\t\t\tisOptional: false\n\t\t},\n\t\tfailed: {\n\t\t\ttype: E5.Int_unsecure(),\n\t\t\tisOptional: false\n\t\t},\n\t\terrors: {\n\t\t\ttype: E5.String_unsecure(),\n\t\t\tisArray: true,\n\t\t\tisOptional: true\n\t\t},\n\t\tnextSyncSuggestedAt: {\n\t\t\ttype: E5.DateTime(),\n\t\t\tisOptional: true\n\t\t}\n\t}\n});\nconst OpenBankingListAccounts = defineQuery({\n\tmeta: {\n\t\tname: \"openbanking.accounts.list\",\n\t\tversion: 1,\n\t\tdescription: \"List bank accounts available to a tenant/user via Powens Open Banking.\",\n\t\tgoal: \"Provide downstream workflows with the set of accounts accessible via the configured open banking connection.\",\n\t\tcontext: \"Used by Pocket Family Office dashboards and sync workflows to enumerate bank accounts prior to syncing balances or transactions.\",\n\t\towners: [\"platform.finance\"],\n\t\ttags: [\n\t\t\t\"open-banking\",\n\t\t\t\"powens\",\n\t\t\t\"accounts\"\n\t\t],\n\t\tstability: \"experimental\"\n\t},\n\tio: {\n\t\tinput: OpenBankingListAccountsInput,\n\t\toutput: OpenBankingListAccountsOutput\n\t},\n\tpolicy: { auth: \"user\" }\n});\nconst OpenBankingGetAccount = defineQuery({\n\tmeta: {\n\t\tname: \"openbanking.accounts.get\",\n\t\tversion: 1,\n\t\tdescription: \"Retrieve the canonical bank account record for the given account identifier.\",\n\t\tgoal: \"Allow user-facing experiences and automations to display up-to-date account metadata.\",\n\t\tcontext: \"Invoked by UI surfaces and workflow automation steps that require detailed metadata for a specific bank account.\",\n\t\towners: [\"platform.finance\"],\n\t\ttags: [\n\t\t\t\"open-banking\",\n\t\t\t\"powens\",\n\t\t\t\"accounts\"\n\t\t],\n\t\tstability: \"experimental\"\n\t},\n\tio: {\n\t\tinput: OpenBankingGetAccountInput,\n\t\toutput: BankAccountRecord\n\t},\n\tpolicy: { auth: \"user\" }\n});\nconst OpenBankingSyncAccounts = defineCommand({\n\tmeta: {\n\t\tname: \"openbanking.accounts.sync\",\n\t\tversion: 1,\n\t\tdescription: \"Initiate a synchronisation run to refresh bank account metadata from Powens.\",\n\t\tgoal: \"Keep canonical bank account records aligned with the external open banking provider.\",\n\t\tcontext: \"Triggered by scheduled workflows or manual operator actions to reconcile account metadata prior to transaction/balance syncs.\",\n\t\towners: [\"platform.finance\"],\n\t\ttags: [\n\t\t\t\"open-banking\",\n\t\t\t\"powens\",\n\t\t\t\"accounts\"\n\t\t],\n\t\tstability: \"experimental\"\n\t},\n\tio: {\n\t\tinput: OpenBankingSyncAccountsInput,\n\t\toutput: OpenBankingSyncAccountsOutput\n\t},\n\tpolicy: { auth: \"admin\" },\n\ttelemetry: {\n\t\tsuccess: {\n\t\t\tevent: { name: OPENBANKING_TELEMETRY_EVENTS.accountsSynced },\n\t\t\tproperties: ({ input, output }) => {\n\t\t\t\tconst payload = input;\n\t\t\t\tconst result = output;\n\t\t\t\treturn {\n\t\t\t\t\ttenantId: payload?.tenantId,\n\t\t\t\t\tconnectionId: payload?.connectionId,\n\t\t\t\t\tsynced: result?.synced,\n\t\t\t\t\tfailed: result?.failed\n\t\t\t\t};\n\t\t\t}\n\t\t},\n\t\tfailure: {\n\t\t\tevent: { name: OPENBANKING_TELEMETRY_EVENTS.accountsSyncFailed },\n\t\t\tproperties: ({ input, error }) => {\n\t\t\t\tconst payload = input;\n\t\t\t\treturn {\n\t\t\t\t\ttenantId: payload?.tenantId,\n\t\t\t\t\tconnectionId: payload?.connectionId,\n\t\t\t\t\terror: error instanceof Error ? error.message : String(error ?? \"unknown\")\n\t\t\t\t};\n\t\t\t}\n\t\t}\n\t}\n});\n\n//#endregion\n//# sourceMappingURL=accounts.js.map"],"mappings":"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"}
@@ -1,5 +1,5 @@
1
1
  import { E5, x8 } from "../../../schema/dist/index.js";
2
- import { defineCommand, defineQuery } from "../../../spec.js";
2
+ import { defineCommand, defineQuery } from "../../../operation.js";
3
3
  import { AccountBalanceRecord } from "../models.js";
4
4
  import { OPENBANKING_TELEMETRY_EVENTS } from "../telemetry.js";
5
5
 
@@ -1 +1 @@
1
- {"version":3,"file":"balances.js","names":[],"sources":["../../../../../../../../../../../../modules/notifications/dist/libs/contracts/dist/integrations/openbanking/contracts/balances.js"],"sourcesContent":["import { E5, x8 } from \"../../../schema/dist/index.js\";\nimport { defineCommand, defineQuery } from \"../../../spec.js\";\nimport { AccountBalanceRecord } from \"../models.js\";\nimport { OPENBANKING_TELEMETRY_EVENTS } from \"../telemetry.js\";\n\n//#region ../../libs/contracts/dist/integrations/openbanking/contracts/balances.js\nconst OpenBankingGetBalancesInput = new x8({\n\tname: \"OpenBankingGetBalancesInput\",\n\tdescription: \"Parameters for retrieving bank account balances from the canonical ledger.\",\n\tfields: {\n\t\ttenantId: {\n\t\t\ttype: E5.ID(),\n\t\t\tisOptional: false\n\t\t},\n\t\taccountId: {\n\t\t\ttype: E5.ID(),\n\t\t\tisOptional: false\n\t\t},\n\t\tbalanceTypes: {\n\t\t\ttype: E5.String_unsecure(),\n\t\t\tisArray: true,\n\t\t\tisOptional: true\n\t\t}\n\t}\n});\nconst OpenBankingGetBalancesOutput = new x8({\n\tname: \"OpenBankingGetBalancesOutput\",\n\tdescription: \"Canonical balances for a bank account.\",\n\tfields: {\n\t\tbalances: {\n\t\t\ttype: AccountBalanceRecord,\n\t\t\tisOptional: false,\n\t\t\tisArray: true\n\t\t},\n\t\tasOf: {\n\t\t\ttype: E5.DateTime(),\n\t\t\tisOptional: true\n\t\t}\n\t}\n});\nconst OpenBankingRefreshBalancesInput = new x8({\n\tname: \"OpenBankingRefreshBalancesInput\",\n\tdescription: \"Command payload to refresh balances for a bank account via the open banking provider.\",\n\tfields: {\n\t\ttenantId: {\n\t\t\ttype: E5.ID(),\n\t\t\tisOptional: false\n\t\t},\n\t\taccountId: {\n\t\t\ttype: E5.ID(),\n\t\t\tisOptional: false\n\t\t},\n\t\tconnectionId: {\n\t\t\ttype: E5.ID(),\n\t\t\tisOptional: true\n\t\t},\n\t\tbalanceTypes: {\n\t\t\ttype: E5.String_unsecure(),\n\t\t\tisArray: true,\n\t\t\tisOptional: true\n\t\t},\n\t\tforceRefresh: {\n\t\t\ttype: E5.Boolean(),\n\t\t\tisOptional: true\n\t\t}\n\t}\n});\nconst OpenBankingRefreshBalancesOutput = new x8({\n\tname: \"OpenBankingRefreshBalancesOutput\",\n\tdescription: \"Result of a balance refresh against the open banking provider.\",\n\tfields: {\n\t\tbalances: {\n\t\t\ttype: AccountBalanceRecord,\n\t\t\tisOptional: false,\n\t\t\tisArray: true\n\t\t},\n\t\trefreshedAt: {\n\t\t\ttype: E5.DateTime(),\n\t\t\tisOptional: false\n\t\t},\n\t\terrors: {\n\t\t\ttype: E5.String_unsecure(),\n\t\t\tisArray: true,\n\t\t\tisOptional: true\n\t\t}\n\t}\n});\nconst OpenBankingGetBalances = defineQuery({\n\tmeta: {\n\t\tname: \"openbanking.balances.get\",\n\t\tversion: 1,\n\t\tdescription: \"Retrieve the latest cached balances for a bank account.\",\n\t\tgoal: \"Expose current and available balances required by dashboards and analytics.\",\n\t\tcontext: \"Used by Pocket Family Office UI surfaces and automation steps that require balance totals prior to generating summaries.\",\n\t\towners: [\"platform.finance\"],\n\t\ttags: [\n\t\t\t\"open-banking\",\n\t\t\t\"powens\",\n\t\t\t\"balances\"\n\t\t],\n\t\tstability: \"experimental\"\n\t},\n\tio: {\n\t\tinput: OpenBankingGetBalancesInput,\n\t\toutput: OpenBankingGetBalancesOutput\n\t},\n\tpolicy: { auth: \"user\" }\n});\nconst OpenBankingRefreshBalances = defineCommand({\n\tmeta: {\n\t\tname: \"openbanking.balances.refresh\",\n\t\tversion: 1,\n\t\tdescription: \"Refresh balances for a bank account via the configured open banking provider.\",\n\t\tgoal: \"Ensure canonical balance records reflect the latest values from Powens.\",\n\t\tcontext: \"Triggered by scheduled workflows before generating summaries or forecasting cashflow.\",\n\t\towners: [\"platform.finance\"],\n\t\ttags: [\n\t\t\t\"open-banking\",\n\t\t\t\"powens\",\n\t\t\t\"balances\"\n\t\t],\n\t\tstability: \"experimental\"\n\t},\n\tio: {\n\t\tinput: OpenBankingRefreshBalancesInput,\n\t\toutput: OpenBankingRefreshBalancesOutput\n\t},\n\tpolicy: { auth: \"admin\" },\n\ttelemetry: {\n\t\tsuccess: {\n\t\t\tevent: { name: OPENBANKING_TELEMETRY_EVENTS.balancesRefreshed },\n\t\t\tproperties: ({ input, output }) => {\n\t\t\t\tconst payload = input;\n\t\t\t\tconst result = output;\n\t\t\t\treturn {\n\t\t\t\t\ttenantId: payload?.tenantId,\n\t\t\t\t\taccountId: payload?.accountId,\n\t\t\t\t\trefreshedAt: result?.refreshedAt,\n\t\t\t\t\tbalanceCount: Array.isArray(result?.balances) ? result?.balances.length : void 0\n\t\t\t\t};\n\t\t\t}\n\t\t},\n\t\tfailure: {\n\t\t\tevent: { name: OPENBANKING_TELEMETRY_EVENTS.balancesRefreshFailed },\n\t\t\tproperties: ({ input, error }) => {\n\t\t\t\tconst payload = input;\n\t\t\t\treturn {\n\t\t\t\t\ttenantId: payload?.tenantId,\n\t\t\t\t\taccountId: payload?.accountId,\n\t\t\t\t\terror: error instanceof Error ? error.message : String(error ?? \"unknown\")\n\t\t\t\t};\n\t\t\t}\n\t\t}\n\t}\n});\n\n//#endregion\n//# sourceMappingURL=balances.js.map"],"mappings":";;;;;;AAMA,MAAM,8BAA8B,IAAI,GAAG;CAC1C,MAAM;CACN,aAAa;CACb,QAAQ;EACP,UAAU;GACT,MAAM,GAAG,IAAI;GACb,YAAY;GACZ;EACD,WAAW;GACV,MAAM,GAAG,IAAI;GACb,YAAY;GACZ;EACD,cAAc;GACb,MAAM,GAAG,iBAAiB;GAC1B,SAAS;GACT,YAAY;GACZ;EACD;CACD,CAAC;AACF,MAAM,+BAA+B,IAAI,GAAG;CAC3C,MAAM;CACN,aAAa;CACb,QAAQ;EACP,UAAU;GACT,MAAM;GACN,YAAY;GACZ,SAAS;GACT;EACD,MAAM;GACL,MAAM,GAAG,UAAU;GACnB,YAAY;GACZ;EACD;CACD,CAAC;AACF,MAAM,kCAAkC,IAAI,GAAG;CAC9C,MAAM;CACN,aAAa;CACb,QAAQ;EACP,UAAU;GACT,MAAM,GAAG,IAAI;GACb,YAAY;GACZ;EACD,WAAW;GACV,MAAM,GAAG,IAAI;GACb,YAAY;GACZ;EACD,cAAc;GACb,MAAM,GAAG,IAAI;GACb,YAAY;GACZ;EACD,cAAc;GACb,MAAM,GAAG,iBAAiB;GAC1B,SAAS;GACT,YAAY;GACZ;EACD,cAAc;GACb,MAAM,GAAG,SAAS;GAClB,YAAY;GACZ;EACD;CACD,CAAC;AACF,MAAM,mCAAmC,IAAI,GAAG;CAC/C,MAAM;CACN,aAAa;CACb,QAAQ;EACP,UAAU;GACT,MAAM;GACN,YAAY;GACZ,SAAS;GACT;EACD,aAAa;GACZ,MAAM,GAAG,UAAU;GACnB,YAAY;GACZ;EACD,QAAQ;GACP,MAAM,GAAG,iBAAiB;GAC1B,SAAS;GACT,YAAY;GACZ;EACD;CACD,CAAC;AAC6B,YAAY;CAC1C,MAAM;EACL,MAAM;EACN,SAAS;EACT,aAAa;EACb,MAAM;EACN,SAAS;EACT,QAAQ,CAAC,mBAAmB;EAC5B,MAAM;GACL;GACA;GACA;GACA;EACD,WAAW;EACX;CACD,IAAI;EACH,OAAO;EACP,QAAQ;EACR;CACD,QAAQ,EAAE,MAAM,QAAQ;CACxB,CAAC;AACiC,cAAc;CAChD,MAAM;EACL,MAAM;EACN,SAAS;EACT,aAAa;EACb,MAAM;EACN,SAAS;EACT,QAAQ,CAAC,mBAAmB;EAC5B,MAAM;GACL;GACA;GACA;GACA;EACD,WAAW;EACX;CACD,IAAI;EACH,OAAO;EACP,QAAQ;EACR;CACD,QAAQ,EAAE,MAAM,SAAS;CACzB,WAAW;EACV,SAAS;GACR,OAAO,EAAE,MAAM,6BAA6B,mBAAmB;GAC/D,aAAa,EAAE,OAAO,aAAa;IAClC,MAAM,UAAU;IAChB,MAAM,SAAS;AACf,WAAO;KACN,UAAU,SAAS;KACnB,WAAW,SAAS;KACpB,aAAa,QAAQ;KACrB,cAAc,MAAM,QAAQ,QAAQ,SAAS,GAAG,QAAQ,SAAS,SAAS,KAAK;KAC/E;;GAEF;EACD,SAAS;GACR,OAAO,EAAE,MAAM,6BAA6B,uBAAuB;GACnE,aAAa,EAAE,OAAO,YAAY;IACjC,MAAM,UAAU;AAChB,WAAO;KACN,UAAU,SAAS;KACnB,WAAW,SAAS;KACpB,OAAO,iBAAiB,QAAQ,MAAM,UAAU,OAAO,SAAS,UAAU;KAC1E;;GAEF;EACD;CACD,CAAC"}
1
+ {"version":3,"file":"balances.js","names":[],"sources":["../../../../../../../../../../../../modules/notifications/dist/libs/contracts/dist/integrations/openbanking/contracts/balances.js"],"sourcesContent":["import { E5, x8 } from \"../../../schema/dist/index.js\";\nimport { defineCommand, defineQuery } from \"../../../operation.js\";\nimport { AccountBalanceRecord } from \"../models.js\";\nimport { OPENBANKING_TELEMETRY_EVENTS } from \"../telemetry.js\";\n\n//#region ../../libs/contracts/dist/integrations/openbanking/contracts/balances.js\nconst OpenBankingGetBalancesInput = new x8({\n\tname: \"OpenBankingGetBalancesInput\",\n\tdescription: \"Parameters for retrieving bank account balances from the canonical ledger.\",\n\tfields: {\n\t\ttenantId: {\n\t\t\ttype: E5.ID(),\n\t\t\tisOptional: false\n\t\t},\n\t\taccountId: {\n\t\t\ttype: E5.ID(),\n\t\t\tisOptional: false\n\t\t},\n\t\tbalanceTypes: {\n\t\t\ttype: E5.String_unsecure(),\n\t\t\tisArray: true,\n\t\t\tisOptional: true\n\t\t}\n\t}\n});\nconst OpenBankingGetBalancesOutput = new x8({\n\tname: \"OpenBankingGetBalancesOutput\",\n\tdescription: \"Canonical balances for a bank account.\",\n\tfields: {\n\t\tbalances: {\n\t\t\ttype: AccountBalanceRecord,\n\t\t\tisOptional: false,\n\t\t\tisArray: true\n\t\t},\n\t\tasOf: {\n\t\t\ttype: E5.DateTime(),\n\t\t\tisOptional: true\n\t\t}\n\t}\n});\nconst OpenBankingRefreshBalancesInput = new x8({\n\tname: \"OpenBankingRefreshBalancesInput\",\n\tdescription: \"Command payload to refresh balances for a bank account via the open banking provider.\",\n\tfields: {\n\t\ttenantId: {\n\t\t\ttype: E5.ID(),\n\t\t\tisOptional: false\n\t\t},\n\t\taccountId: {\n\t\t\ttype: E5.ID(),\n\t\t\tisOptional: false\n\t\t},\n\t\tconnectionId: {\n\t\t\ttype: E5.ID(),\n\t\t\tisOptional: true\n\t\t},\n\t\tbalanceTypes: {\n\t\t\ttype: E5.String_unsecure(),\n\t\t\tisArray: true,\n\t\t\tisOptional: true\n\t\t},\n\t\tforceRefresh: {\n\t\t\ttype: E5.Boolean(),\n\t\t\tisOptional: true\n\t\t}\n\t}\n});\nconst OpenBankingRefreshBalancesOutput = new x8({\n\tname: \"OpenBankingRefreshBalancesOutput\",\n\tdescription: \"Result of a balance refresh against the open banking provider.\",\n\tfields: {\n\t\tbalances: {\n\t\t\ttype: AccountBalanceRecord,\n\t\t\tisOptional: false,\n\t\t\tisArray: true\n\t\t},\n\t\trefreshedAt: {\n\t\t\ttype: E5.DateTime(),\n\t\t\tisOptional: false\n\t\t},\n\t\terrors: {\n\t\t\ttype: E5.String_unsecure(),\n\t\t\tisArray: true,\n\t\t\tisOptional: true\n\t\t}\n\t}\n});\nconst OpenBankingGetBalances = defineQuery({\n\tmeta: {\n\t\tname: \"openbanking.balances.get\",\n\t\tversion: 1,\n\t\tdescription: \"Retrieve the latest cached balances for a bank account.\",\n\t\tgoal: \"Expose current and available balances required by dashboards and analytics.\",\n\t\tcontext: \"Used by Pocket Family Office UI surfaces and automation steps that require balance totals prior to generating summaries.\",\n\t\towners: [\"platform.finance\"],\n\t\ttags: [\n\t\t\t\"open-banking\",\n\t\t\t\"powens\",\n\t\t\t\"balances\"\n\t\t],\n\t\tstability: \"experimental\"\n\t},\n\tio: {\n\t\tinput: OpenBankingGetBalancesInput,\n\t\toutput: OpenBankingGetBalancesOutput\n\t},\n\tpolicy: { auth: \"user\" }\n});\nconst OpenBankingRefreshBalances = defineCommand({\n\tmeta: {\n\t\tname: \"openbanking.balances.refresh\",\n\t\tversion: 1,\n\t\tdescription: \"Refresh balances for a bank account via the configured open banking provider.\",\n\t\tgoal: \"Ensure canonical balance records reflect the latest values from Powens.\",\n\t\tcontext: \"Triggered by scheduled workflows before generating summaries or forecasting cashflow.\",\n\t\towners: [\"platform.finance\"],\n\t\ttags: [\n\t\t\t\"open-banking\",\n\t\t\t\"powens\",\n\t\t\t\"balances\"\n\t\t],\n\t\tstability: \"experimental\"\n\t},\n\tio: {\n\t\tinput: OpenBankingRefreshBalancesInput,\n\t\toutput: OpenBankingRefreshBalancesOutput\n\t},\n\tpolicy: { auth: \"admin\" },\n\ttelemetry: {\n\t\tsuccess: {\n\t\t\tevent: { name: OPENBANKING_TELEMETRY_EVENTS.balancesRefreshed },\n\t\t\tproperties: ({ input, output }) => {\n\t\t\t\tconst payload = input;\n\t\t\t\tconst result = output;\n\t\t\t\treturn {\n\t\t\t\t\ttenantId: payload?.tenantId,\n\t\t\t\t\taccountId: payload?.accountId,\n\t\t\t\t\trefreshedAt: result?.refreshedAt,\n\t\t\t\t\tbalanceCount: Array.isArray(result?.balances) ? result?.balances.length : void 0\n\t\t\t\t};\n\t\t\t}\n\t\t},\n\t\tfailure: {\n\t\t\tevent: { name: OPENBANKING_TELEMETRY_EVENTS.balancesRefreshFailed },\n\t\t\tproperties: ({ input, error }) => {\n\t\t\t\tconst payload = input;\n\t\t\t\treturn {\n\t\t\t\t\ttenantId: payload?.tenantId,\n\t\t\t\t\taccountId: payload?.accountId,\n\t\t\t\t\terror: error instanceof Error ? error.message : String(error ?? \"unknown\")\n\t\t\t\t};\n\t\t\t}\n\t\t}\n\t}\n});\n\n//#endregion\n//# sourceMappingURL=balances.js.map"],"mappings":";;;;;;AAMA,MAAM,8BAA8B,IAAI,GAAG;CAC1C,MAAM;CACN,aAAa;CACb,QAAQ;EACP,UAAU;GACT,MAAM,GAAG,IAAI;GACb,YAAY;GACZ;EACD,WAAW;GACV,MAAM,GAAG,IAAI;GACb,YAAY;GACZ;EACD,cAAc;GACb,MAAM,GAAG,iBAAiB;GAC1B,SAAS;GACT,YAAY;GACZ;EACD;CACD,CAAC;AACF,MAAM,+BAA+B,IAAI,GAAG;CAC3C,MAAM;CACN,aAAa;CACb,QAAQ;EACP,UAAU;GACT,MAAM;GACN,YAAY;GACZ,SAAS;GACT;EACD,MAAM;GACL,MAAM,GAAG,UAAU;GACnB,YAAY;GACZ;EACD;CACD,CAAC;AACF,MAAM,kCAAkC,IAAI,GAAG;CAC9C,MAAM;CACN,aAAa;CACb,QAAQ;EACP,UAAU;GACT,MAAM,GAAG,IAAI;GACb,YAAY;GACZ;EACD,WAAW;GACV,MAAM,GAAG,IAAI;GACb,YAAY;GACZ;EACD,cAAc;GACb,MAAM,GAAG,IAAI;GACb,YAAY;GACZ;EACD,cAAc;GACb,MAAM,GAAG,iBAAiB;GAC1B,SAAS;GACT,YAAY;GACZ;EACD,cAAc;GACb,MAAM,GAAG,SAAS;GAClB,YAAY;GACZ;EACD;CACD,CAAC;AACF,MAAM,mCAAmC,IAAI,GAAG;CAC/C,MAAM;CACN,aAAa;CACb,QAAQ;EACP,UAAU;GACT,MAAM;GACN,YAAY;GACZ,SAAS;GACT;EACD,aAAa;GACZ,MAAM,GAAG,UAAU;GACnB,YAAY;GACZ;EACD,QAAQ;GACP,MAAM,GAAG,iBAAiB;GAC1B,SAAS;GACT,YAAY;GACZ;EACD;CACD,CAAC;AAC6B,YAAY;CAC1C,MAAM;EACL,MAAM;EACN,SAAS;EACT,aAAa;EACb,MAAM;EACN,SAAS;EACT,QAAQ,CAAC,mBAAmB;EAC5B,MAAM;GACL;GACA;GACA;GACA;EACD,WAAW;EACX;CACD,IAAI;EACH,OAAO;EACP,QAAQ;EACR;CACD,QAAQ,EAAE,MAAM,QAAQ;CACxB,CAAC;AACiC,cAAc;CAChD,MAAM;EACL,MAAM;EACN,SAAS;EACT,aAAa;EACb,MAAM;EACN,SAAS;EACT,QAAQ,CAAC,mBAAmB;EAC5B,MAAM;GACL;GACA;GACA;GACA;EACD,WAAW;EACX;CACD,IAAI;EACH,OAAO;EACP,QAAQ;EACR;CACD,QAAQ,EAAE,MAAM,SAAS;CACzB,WAAW;EACV,SAAS;GACR,OAAO,EAAE,MAAM,6BAA6B,mBAAmB;GAC/D,aAAa,EAAE,OAAO,aAAa;IAClC,MAAM,UAAU;IAChB,MAAM,SAAS;AACf,WAAO;KACN,UAAU,SAAS;KACnB,WAAW,SAAS;KACpB,aAAa,QAAQ;KACrB,cAAc,MAAM,QAAQ,QAAQ,SAAS,GAAG,QAAQ,SAAS,SAAS,KAAK;KAC/E;;GAEF;EACD,SAAS;GACR,OAAO,EAAE,MAAM,6BAA6B,uBAAuB;GACnE,aAAa,EAAE,OAAO,YAAY;IACjC,MAAM,UAAU;AAChB,WAAO;KACN,UAAU,SAAS;KACnB,WAAW,SAAS;KACpB,OAAO,iBAAiB,QAAQ,MAAM,UAAU,OAAO,SAAS,UAAU;KAC1E;;GAEF;EACD;CACD,CAAC"}
@@ -1,5 +1,5 @@
1
1
  import { E5, x8 } from "../../../schema/dist/index.js";
2
- import { defineCommand, defineQuery } from "../../../spec.js";
2
+ import { defineCommand, defineQuery } from "../../../operation.js";
3
3
  import { BankTransactionRecord } from "../models.js";
4
4
  import { OPENBANKING_TELEMETRY_EVENTS } from "../telemetry.js";
5
5