@contractspec/module.workspace 1.56.1 → 1.58.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (248) hide show
  1. package/dist/ai/code-generation.d.ts +25 -0
  2. package/dist/ai/code-generation.d.ts.map +1 -0
  3. package/dist/ai/index.d.ts +5 -0
  4. package/dist/ai/index.d.ts.map +1 -0
  5. package/dist/ai/prompts/code-generation.d.ts +5 -8
  6. package/dist/ai/prompts/code-generation.d.ts.map +1 -1
  7. package/dist/ai/prompts/index.d.ts +3 -0
  8. package/dist/ai/prompts/index.d.ts.map +1 -0
  9. package/dist/ai/prompts/spec-creation.d.ts +7 -12
  10. package/dist/ai/prompts/spec-creation.d.ts.map +1 -1
  11. package/dist/ai/spec-creation.d.ts +27 -0
  12. package/dist/ai/spec-creation.d.ts.map +1 -0
  13. package/dist/analysis/deps/graph.d.ts +14 -14
  14. package/dist/analysis/deps/graph.d.ts.map +1 -1
  15. package/dist/analysis/deps/index.d.ts +6 -0
  16. package/dist/analysis/deps/index.d.ts.map +1 -0
  17. package/dist/analysis/deps/parse-imports.d.ts +1 -4
  18. package/dist/analysis/deps/parse-imports.d.ts.map +1 -1
  19. package/dist/analysis/diff/deep-diff.d.ts +17 -16
  20. package/dist/analysis/diff/deep-diff.d.ts.map +1 -1
  21. package/dist/analysis/diff/deep-diff.test.d.ts +5 -0
  22. package/dist/analysis/diff/deep-diff.test.d.ts.map +1 -0
  23. package/dist/analysis/diff/index.d.ts +6 -0
  24. package/dist/analysis/diff/index.d.ts.map +1 -0
  25. package/dist/analysis/diff/semantic.d.ts +6 -7
  26. package/dist/analysis/diff/semantic.d.ts.map +1 -1
  27. package/dist/analysis/example-scan.d.ts +3 -8
  28. package/dist/analysis/example-scan.d.ts.map +1 -1
  29. package/dist/analysis/example-scan.test.d.ts +7 -0
  30. package/dist/analysis/example-scan.test.d.ts.map +1 -0
  31. package/dist/analysis/feature-extractor.d.ts +25 -0
  32. package/dist/analysis/feature-extractor.d.ts.map +1 -0
  33. package/dist/analysis/feature-scan.d.ts +3 -8
  34. package/dist/analysis/feature-scan.d.ts.map +1 -1
  35. package/dist/analysis/feature-scan.test.d.ts +2 -0
  36. package/dist/analysis/feature-scan.test.d.ts.map +1 -0
  37. package/dist/analysis/grouping.d.ts +41 -42
  38. package/dist/analysis/grouping.d.ts.map +1 -1
  39. package/dist/analysis/impact/classifier.d.ts +9 -9
  40. package/dist/analysis/impact/classifier.d.ts.map +1 -1
  41. package/dist/analysis/impact/classifier.test.d.ts +5 -0
  42. package/dist/analysis/impact/classifier.test.d.ts.map +1 -0
  43. package/dist/analysis/impact/index.d.ts +9 -0
  44. package/dist/analysis/impact/index.d.ts.map +1 -0
  45. package/dist/analysis/impact/rules.d.ts +15 -15
  46. package/dist/analysis/impact/rules.d.ts.map +1 -1
  47. package/dist/analysis/impact/types.d.ts +73 -76
  48. package/dist/analysis/impact/types.d.ts.map +1 -1
  49. package/dist/analysis/index.d.ts +14 -0
  50. package/dist/analysis/index.d.ts.map +1 -0
  51. package/dist/analysis/snapshot/index.d.ts +9 -0
  52. package/dist/analysis/snapshot/index.d.ts.map +1 -0
  53. package/dist/analysis/snapshot/normalizer.d.ts +7 -10
  54. package/dist/analysis/snapshot/normalizer.d.ts.map +1 -1
  55. package/dist/analysis/snapshot/snapshot.d.ts +10 -9
  56. package/dist/analysis/snapshot/snapshot.d.ts.map +1 -1
  57. package/dist/analysis/snapshot/snapshot.test.d.ts +5 -0
  58. package/dist/analysis/snapshot/snapshot.test.d.ts.map +1 -0
  59. package/dist/analysis/snapshot/types.d.ts +58 -57
  60. package/dist/analysis/snapshot/types.d.ts.map +1 -1
  61. package/dist/analysis/spec-parser.d.ts +8 -7
  62. package/dist/analysis/spec-parser.d.ts.map +1 -1
  63. package/dist/analysis/spec-parsing-utils.d.ts +20 -11
  64. package/dist/analysis/spec-parsing-utils.d.ts.map +1 -1
  65. package/dist/analysis/spec-scan.d.ts +13 -13
  66. package/dist/analysis/spec-scan.d.ts.map +1 -1
  67. package/dist/analysis/spec-scan.test.d.ts +2 -0
  68. package/dist/analysis/spec-scan.test.d.ts.map +1 -0
  69. package/dist/analysis/utils/matchers.d.ts +39 -0
  70. package/dist/analysis/utils/matchers.d.ts.map +1 -0
  71. package/dist/analysis/utils/variables.d.ts +15 -0
  72. package/dist/analysis/utils/variables.d.ts.map +1 -0
  73. package/dist/analysis/validate/index.d.ts +5 -0
  74. package/dist/analysis/validate/index.d.ts.map +1 -0
  75. package/dist/analysis/validate/spec-structure.d.ts +15 -15
  76. package/dist/analysis/validate/spec-structure.d.ts.map +1 -1
  77. package/dist/analysis/validate/spec-structure.test.d.ts +2 -0
  78. package/dist/analysis/validate/spec-structure.test.d.ts.map +1 -0
  79. package/dist/formatter.d.ts +28 -28
  80. package/dist/formatter.d.ts.map +1 -1
  81. package/dist/formatters/index.d.ts +8 -0
  82. package/dist/formatters/index.d.ts.map +1 -0
  83. package/dist/formatters/spec-markdown.d.ts +13 -12
  84. package/dist/formatters/spec-markdown.d.ts.map +1 -1
  85. package/dist/formatters/spec-markdown.test.d.ts +5 -0
  86. package/dist/formatters/spec-markdown.test.d.ts.map +1 -0
  87. package/dist/formatters/spec-to-docblock.d.ts +4 -9
  88. package/dist/formatters/spec-to-docblock.d.ts.map +1 -1
  89. package/dist/index.d.ts +13 -42
  90. package/dist/index.d.ts.map +1 -0
  91. package/dist/index.js +4302 -38
  92. package/dist/node/index.js +4301 -0
  93. package/dist/templates/app-config.d.ts +2 -6
  94. package/dist/templates/app-config.d.ts.map +1 -1
  95. package/dist/templates/app-config.test.d.ts +2 -0
  96. package/dist/templates/app-config.test.d.ts.map +1 -0
  97. package/dist/templates/data-view.d.ts +2 -6
  98. package/dist/templates/data-view.d.ts.map +1 -1
  99. package/dist/templates/data-view.test.d.ts +2 -0
  100. package/dist/templates/data-view.test.d.ts.map +1 -0
  101. package/dist/templates/event.d.ts +6 -7
  102. package/dist/templates/event.d.ts.map +1 -1
  103. package/dist/templates/event.test.d.ts +2 -0
  104. package/dist/templates/event.test.d.ts.map +1 -0
  105. package/dist/templates/experiment.d.ts +2 -6
  106. package/dist/templates/experiment.d.ts.map +1 -1
  107. package/dist/templates/experiment.test.d.ts +2 -0
  108. package/dist/templates/experiment.test.d.ts.map +1 -0
  109. package/dist/templates/handler.d.ts +3 -6
  110. package/dist/templates/handler.d.ts.map +1 -1
  111. package/dist/templates/handler.test.d.ts +2 -0
  112. package/dist/templates/handler.test.d.ts.map +1 -0
  113. package/dist/templates/index.d.ts +18 -0
  114. package/dist/templates/index.d.ts.map +1 -0
  115. package/dist/templates/integration-utils.d.ts +13 -0
  116. package/dist/templates/integration-utils.d.ts.map +1 -0
  117. package/dist/templates/integration-utils.test.d.ts +2 -0
  118. package/dist/templates/integration-utils.test.d.ts.map +1 -0
  119. package/dist/templates/integration.d.ts +2 -6
  120. package/dist/templates/integration.d.ts.map +1 -1
  121. package/dist/templates/integration.test.d.ts +2 -0
  122. package/dist/templates/integration.test.d.ts.map +1 -0
  123. package/dist/templates/knowledge.d.ts +2 -6
  124. package/dist/templates/knowledge.d.ts.map +1 -1
  125. package/dist/templates/knowledge.test.d.ts +2 -0
  126. package/dist/templates/knowledge.test.d.ts.map +1 -0
  127. package/dist/templates/migration.d.ts +2 -6
  128. package/dist/templates/migration.d.ts.map +1 -1
  129. package/dist/templates/migration.test.d.ts +2 -0
  130. package/dist/templates/migration.test.d.ts.map +1 -0
  131. package/dist/templates/operation.d.ts +6 -7
  132. package/dist/templates/operation.d.ts.map +1 -1
  133. package/dist/templates/operation.test.d.ts +2 -0
  134. package/dist/templates/operation.test.d.ts.map +1 -0
  135. package/dist/templates/presentation.d.ts +6 -7
  136. package/dist/templates/presentation.d.ts.map +1 -1
  137. package/dist/templates/presentation.test.d.ts +2 -0
  138. package/dist/templates/presentation.test.d.ts.map +1 -0
  139. package/dist/templates/telemetry.d.ts +2 -6
  140. package/dist/templates/telemetry.d.ts.map +1 -1
  141. package/dist/templates/telemetry.test.d.ts +2 -0
  142. package/dist/templates/telemetry.test.d.ts.map +1 -0
  143. package/dist/templates/utils.d.ts +5 -8
  144. package/dist/templates/utils.d.ts.map +1 -1
  145. package/dist/templates/utils.test.d.ts +2 -0
  146. package/dist/templates/utils.test.d.ts.map +1 -0
  147. package/dist/templates/workflow-runner.d.ts +6 -13
  148. package/dist/templates/workflow-runner.d.ts.map +1 -1
  149. package/dist/templates/workflow-runner.test.d.ts +2 -0
  150. package/dist/templates/workflow-runner.test.d.ts.map +1 -0
  151. package/dist/templates/workflow.d.ts +6 -7
  152. package/dist/templates/workflow.d.ts.map +1 -1
  153. package/dist/templates/workflow.test.d.ts +2 -0
  154. package/dist/templates/workflow.test.d.ts.map +1 -0
  155. package/dist/types/analysis-types.d.ts +135 -137
  156. package/dist/types/analysis-types.d.ts.map +1 -1
  157. package/dist/types/generation-types.d.ts +36 -38
  158. package/dist/types/generation-types.d.ts.map +1 -1
  159. package/dist/types/index.d.ts +9 -0
  160. package/dist/types/index.d.ts.map +1 -0
  161. package/dist/types/llm-types.d.ts +97 -97
  162. package/dist/types/llm-types.d.ts.map +1 -1
  163. package/dist/types/rulesync-types.d.ts +17 -19
  164. package/dist/types/rulesync-types.d.ts.map +1 -1
  165. package/dist/types/spec-types.d.ts +329 -330
  166. package/dist/types/spec-types.d.ts.map +1 -1
  167. package/package.json +20 -16
  168. package/dist/ai/prompts/code-generation.js +0 -134
  169. package/dist/ai/prompts/code-generation.js.map +0 -1
  170. package/dist/ai/prompts/spec-creation.js +0 -102
  171. package/dist/ai/prompts/spec-creation.js.map +0 -1
  172. package/dist/analysis/deps/graph.js +0 -85
  173. package/dist/analysis/deps/graph.js.map +0 -1
  174. package/dist/analysis/deps/parse-imports.js +0 -31
  175. package/dist/analysis/deps/parse-imports.js.map +0 -1
  176. package/dist/analysis/diff/deep-diff.js +0 -114
  177. package/dist/analysis/diff/deep-diff.js.map +0 -1
  178. package/dist/analysis/diff/semantic.js +0 -97
  179. package/dist/analysis/diff/semantic.js.map +0 -1
  180. package/dist/analysis/example-scan.js +0 -116
  181. package/dist/analysis/example-scan.js.map +0 -1
  182. package/dist/analysis/feature-extractor.js +0 -203
  183. package/dist/analysis/feature-extractor.js.map +0 -1
  184. package/dist/analysis/feature-scan.js +0 -56
  185. package/dist/analysis/feature-scan.js.map +0 -1
  186. package/dist/analysis/grouping.js +0 -115
  187. package/dist/analysis/grouping.js.map +0 -1
  188. package/dist/analysis/impact/classifier.js +0 -135
  189. package/dist/analysis/impact/classifier.js.map +0 -1
  190. package/dist/analysis/impact/index.js +0 -2
  191. package/dist/analysis/impact/rules.js +0 -154
  192. package/dist/analysis/impact/rules.js.map +0 -1
  193. package/dist/analysis/index.js +0 -18
  194. package/dist/analysis/snapshot/index.js +0 -2
  195. package/dist/analysis/snapshot/normalizer.js +0 -67
  196. package/dist/analysis/snapshot/normalizer.js.map +0 -1
  197. package/dist/analysis/snapshot/snapshot.js +0 -163
  198. package/dist/analysis/snapshot/snapshot.js.map +0 -1
  199. package/dist/analysis/spec-parser.js +0 -89
  200. package/dist/analysis/spec-parser.js.map +0 -1
  201. package/dist/analysis/spec-parsing-utils.js +0 -98
  202. package/dist/analysis/spec-parsing-utils.js.map +0 -1
  203. package/dist/analysis/spec-scan.js +0 -157
  204. package/dist/analysis/spec-scan.js.map +0 -1
  205. package/dist/analysis/utils/matchers.js +0 -77
  206. package/dist/analysis/utils/matchers.js.map +0 -1
  207. package/dist/analysis/utils/variables.js +0 -45
  208. package/dist/analysis/utils/variables.js.map +0 -1
  209. package/dist/analysis/validate/index.js +0 -1
  210. package/dist/analysis/validate/spec-structure.js +0 -475
  211. package/dist/analysis/validate/spec-structure.js.map +0 -1
  212. package/dist/formatter.js +0 -163
  213. package/dist/formatter.js.map +0 -1
  214. package/dist/formatters/index.js +0 -2
  215. package/dist/formatters/spec-markdown.js +0 -263
  216. package/dist/formatters/spec-markdown.js.map +0 -1
  217. package/dist/formatters/spec-to-docblock.js +0 -48
  218. package/dist/formatters/spec-to-docblock.js.map +0 -1
  219. package/dist/templates/app-config.js +0 -107
  220. package/dist/templates/app-config.js.map +0 -1
  221. package/dist/templates/data-view.js +0 -69
  222. package/dist/templates/data-view.js.map +0 -1
  223. package/dist/templates/event.js +0 -41
  224. package/dist/templates/event.js.map +0 -1
  225. package/dist/templates/experiment.js +0 -88
  226. package/dist/templates/experiment.js.map +0 -1
  227. package/dist/templates/handler.js +0 -96
  228. package/dist/templates/handler.js.map +0 -1
  229. package/dist/templates/integration-utils.js +0 -105
  230. package/dist/templates/integration-utils.js.map +0 -1
  231. package/dist/templates/integration.js +0 -62
  232. package/dist/templates/integration.js.map +0 -1
  233. package/dist/templates/knowledge.js +0 -69
  234. package/dist/templates/knowledge.js.map +0 -1
  235. package/dist/templates/migration.js +0 -61
  236. package/dist/templates/migration.js.map +0 -1
  237. package/dist/templates/operation.js +0 -101
  238. package/dist/templates/operation.js.map +0 -1
  239. package/dist/templates/presentation.js +0 -79
  240. package/dist/templates/presentation.js.map +0 -1
  241. package/dist/templates/telemetry.js +0 -90
  242. package/dist/templates/telemetry.js.map +0 -1
  243. package/dist/templates/utils.js +0 -39
  244. package/dist/templates/utils.js.map +0 -1
  245. package/dist/templates/workflow-runner.js +0 -49
  246. package/dist/templates/workflow-runner.js.map +0 -1
  247. package/dist/templates/workflow.js +0 -68
  248. package/dist/templates/workflow.js.map +0 -1
@@ -1,343 +1,342 @@
1
- import { OpKind } from "@contractspec/lib.contracts";
2
-
3
- //#region src/types/spec-types.d.ts
4
-
5
- type SpecType = 'operation' | 'event' | 'presentation' | 'form' | 'feature' | 'workflow' | 'data-view' | 'migration' | 'telemetry' | 'experiment' | 'app-config' | 'integration' | 'knowledge';
6
- type PresentationKind = 'web_component' | 'markdown' | 'data';
7
- type Stability = 'experimental' | 'beta' | 'stable' | 'deprecated';
8
- type StepType = 'human' | 'automation' | 'decision';
9
- interface BaseSpecData {
10
- name: string;
11
- version: string;
12
- description: string;
13
- owners: string[];
14
- tags: string[];
15
- stability: Stability;
16
- }
17
- interface OperationSpecData extends BaseSpecData {
18
- kind: OpKind;
19
- goal: string;
20
- context: string;
21
- hasInput: boolean;
22
- hasOutput: boolean;
23
- auth: 'anonymous' | 'user' | 'admin';
24
- flags: string[];
25
- emitsEvents: boolean;
26
- }
27
- interface EventSpecData extends BaseSpecData {
28
- piiFields: string[];
29
- }
30
- interface PresentationSpecData extends BaseSpecData {
31
- presentationKind: PresentationKind;
32
- }
33
- type FormSpecData = BaseSpecData;
34
- interface FeatureSpecData extends BaseSpecData {
35
- key: string;
36
- operations: {
1
+ /**
2
+ * Core spec type definitions.
3
+ * Extracted from cli-contractspec/src/types.ts
4
+ */
5
+ import type { OpKind } from '@contractspec/lib.contracts';
6
+ export type SpecType = 'operation' | 'event' | 'presentation' | 'form' | 'feature' | 'workflow' | 'data-view' | 'migration' | 'telemetry' | 'experiment' | 'app-config' | 'integration' | 'knowledge';
7
+ export type PresentationKind = 'web_component' | 'markdown' | 'data';
8
+ export type Stability = 'experimental' | 'beta' | 'stable' | 'deprecated';
9
+ export type StepType = 'human' | 'automation' | 'decision';
10
+ export interface BaseSpecData {
37
11
  name: string;
38
12
  version: string;
39
- }[];
40
- events: {
41
- name: string;
42
- version: string;
43
- }[];
44
- presentations: {
45
- name: string;
46
- version: string;
47
- }[];
48
- }
49
- interface WorkflowStepData {
50
- id: string;
51
- label: string;
52
- type: StepType;
53
- description?: string;
54
- operation?: {
55
- name: string;
56
- version: string;
57
- };
58
- form?: {
13
+ description: string;
14
+ owners: string[];
15
+ tags: string[];
16
+ stability: Stability;
17
+ }
18
+ export interface OperationSpecData extends BaseSpecData {
19
+ kind: OpKind;
20
+ goal: string;
21
+ context: string;
22
+ hasInput: boolean;
23
+ hasOutput: boolean;
24
+ auth: 'anonymous' | 'user' | 'admin';
25
+ flags: string[];
26
+ emitsEvents: boolean;
27
+ }
28
+ export interface EventSpecData extends BaseSpecData {
29
+ piiFields: string[];
30
+ }
31
+ export interface PresentationSpecData extends BaseSpecData {
32
+ presentationKind: PresentationKind;
33
+ }
34
+ export type FormSpecData = BaseSpecData;
35
+ export interface FeatureSpecData extends BaseSpecData {
59
36
  key: string;
60
- version: string;
61
- };
62
- }
63
- interface WorkflowTransitionData {
64
- from: string;
65
- to: string;
66
- condition?: string;
67
- }
68
- interface WorkflowSpecData extends BaseSpecData {
69
- title: string;
70
- domain: string;
71
- entryStepId?: string;
72
- steps: WorkflowStepData[];
73
- transitions: WorkflowTransitionData[];
74
- policyFlags: string[];
75
- }
76
- type DataViewKind = 'list' | 'detail' | 'table' | 'grid';
77
- interface DataViewFieldData {
78
- key: string;
79
- label: string;
80
- dataPath: string;
81
- format?: string;
82
- sortable?: boolean;
83
- filterable?: boolean;
84
- }
85
- interface DataViewSpecData extends BaseSpecData {
86
- title: string;
87
- domain: string;
88
- entity: string;
89
- kind: DataViewKind;
90
- primaryOperation: {
37
+ operations: {
38
+ name: string;
39
+ version: string;
40
+ }[];
41
+ events: {
42
+ name: string;
43
+ version: string;
44
+ }[];
45
+ presentations: {
46
+ name: string;
47
+ version: string;
48
+ }[];
49
+ }
50
+ export interface WorkflowStepData {
51
+ id: string;
52
+ label: string;
53
+ type: StepType;
54
+ description?: string;
55
+ operation?: {
56
+ name: string;
57
+ version: string;
58
+ };
59
+ form?: {
60
+ key: string;
61
+ version: string;
62
+ };
63
+ }
64
+ export interface WorkflowTransitionData {
65
+ from: string;
66
+ to: string;
67
+ condition?: string;
68
+ }
69
+ export interface WorkflowSpecData extends BaseSpecData {
70
+ title: string;
71
+ domain: string;
72
+ entryStepId?: string;
73
+ steps: WorkflowStepData[];
74
+ transitions: WorkflowTransitionData[];
75
+ policyFlags: string[];
76
+ }
77
+ export type DataViewKind = 'list' | 'detail' | 'table' | 'grid';
78
+ export interface DataViewFieldData {
79
+ key: string;
80
+ label: string;
81
+ dataPath: string;
82
+ format?: string;
83
+ sortable?: boolean;
84
+ filterable?: boolean;
85
+ }
86
+ export interface DataViewSpecData extends BaseSpecData {
87
+ title: string;
88
+ domain: string;
89
+ entity: string;
90
+ kind: DataViewKind;
91
+ primaryOperation: {
92
+ name: string;
93
+ version: string;
94
+ };
95
+ itemOperation?: {
96
+ name: string;
97
+ version: string;
98
+ };
99
+ fields: DataViewFieldData[];
100
+ primaryField?: string;
101
+ secondaryFields?: string[];
102
+ }
103
+ export type TelemetryPrivacy = 'public' | 'internal' | 'pii' | 'sensitive';
104
+ export interface TelemetryPropertyData {
91
105
  name: string;
92
- version: string;
93
- };
94
- itemOperation?: {
106
+ type: 'string' | 'number' | 'boolean' | 'timestamp' | 'json';
107
+ required?: boolean;
108
+ pii?: boolean;
109
+ redact?: boolean;
110
+ description?: string;
111
+ }
112
+ export interface TelemetryAnomalyRuleData {
113
+ metric: string;
114
+ min?: number;
115
+ max?: number;
116
+ }
117
+ export interface TelemetryEventData {
95
118
  name: string;
96
119
  version: string;
97
- };
98
- fields: DataViewFieldData[];
99
- primaryField?: string;
100
- secondaryFields?: string[];
101
- }
102
- type TelemetryPrivacy = 'public' | 'internal' | 'pii' | 'sensitive';
103
- interface TelemetryPropertyData {
104
- name: string;
105
- type: 'string' | 'number' | 'boolean' | 'timestamp' | 'json';
106
- required?: boolean;
107
- pii?: boolean;
108
- redact?: boolean;
109
- description?: string;
110
- }
111
- interface TelemetryAnomalyRuleData {
112
- metric: string;
113
- min?: number;
114
- max?: number;
115
- }
116
- interface TelemetryEventData {
117
- name: string;
118
- version: string;
119
- what: string;
120
- who?: string;
121
- why?: string;
122
- privacy: TelemetryPrivacy;
123
- properties: TelemetryPropertyData[];
124
- retentionDays?: number;
125
- retentionPolicy?: 'archive' | 'delete';
126
- samplingRate?: number;
127
- samplingConditions?: string;
128
- anomalyEnabled?: boolean;
129
- anomalyMinimumSample?: number;
130
- anomalyRules?: TelemetryAnomalyRuleData[];
131
- anomalyActions?: ('alert' | 'log' | 'trigger_regen')[];
132
- tags?: string[];
133
- }
134
- interface TelemetryProviderData {
135
- type: 'posthog' | 'segment' | 'opentelemetry' | 'internal';
136
- config: string;
137
- }
138
- interface TelemetrySpecData extends BaseSpecData {
139
- domain: string;
140
- defaultRetentionDays?: number;
141
- defaultSamplingRate?: number;
142
- providers?: TelemetryProviderData[];
143
- anomalyEnabled?: boolean;
144
- anomalyCheckIntervalMs?: number;
145
- events: TelemetryEventData[];
146
- }
147
- interface ExperimentVariantOverrideData {
148
- type: 'dataView' | 'workflow' | 'theme' | 'policy' | 'presentation';
149
- target: string;
150
- version?: string;
151
- }
152
- interface ExperimentVariantData {
153
- id: string;
154
- name: string;
155
- description?: string;
156
- weight?: number;
157
- overrides?: ExperimentVariantOverrideData[];
158
- }
159
- interface TargetingRuleData {
160
- variantId: string;
161
- percentage?: number;
162
- policy?: {
163
- name: string;
120
+ what: string;
121
+ who?: string;
122
+ why?: string;
123
+ privacy: TelemetryPrivacy;
124
+ properties: TelemetryPropertyData[];
125
+ retentionDays?: number;
126
+ retentionPolicy?: 'archive' | 'delete';
127
+ samplingRate?: number;
128
+ samplingConditions?: string;
129
+ anomalyEnabled?: boolean;
130
+ anomalyMinimumSample?: number;
131
+ anomalyRules?: TelemetryAnomalyRuleData[];
132
+ anomalyActions?: ('alert' | 'log' | 'trigger_regen')[];
133
+ tags?: string[];
134
+ }
135
+ export interface TelemetryProviderData {
136
+ type: 'posthog' | 'segment' | 'opentelemetry' | 'internal';
137
+ config: string;
138
+ }
139
+ export interface TelemetrySpecData extends BaseSpecData {
140
+ domain: string;
141
+ defaultRetentionDays?: number;
142
+ defaultSamplingRate?: number;
143
+ providers?: TelemetryProviderData[];
144
+ anomalyEnabled?: boolean;
145
+ anomalyCheckIntervalMs?: number;
146
+ events: TelemetryEventData[];
147
+ }
148
+ export interface ExperimentVariantOverrideData {
149
+ type: 'dataView' | 'workflow' | 'theme' | 'policy' | 'presentation';
150
+ target: string;
164
151
  version?: string;
165
- };
166
- expression?: string;
167
- }
168
- interface RandomAllocationData {
169
- type: 'random';
170
- salt?: string;
171
- }
172
- interface StickyAllocationData {
173
- type: 'sticky';
174
- attribute: 'userId' | 'organizationId' | 'sessionId';
175
- salt?: string;
176
- }
177
- interface TargetedAllocationData {
178
- type: 'targeted';
179
- fallback?: 'control' | 'random';
180
- rules: TargetingRuleData[];
181
- }
182
- type ExperimentAllocationData = RandomAllocationData | StickyAllocationData | TargetedAllocationData;
183
- interface ExperimentMetricData {
184
- name: string;
185
- eventName: string;
186
- eventVersion: string;
187
- aggregation: 'count' | 'avg' | 'p75' | 'p90' | 'p95' | 'p99';
188
- target?: string;
189
- }
190
- interface ExperimentSpecData extends BaseSpecData {
191
- domain: string;
192
- controlVariant: string;
193
- variants: ExperimentVariantData[];
194
- allocation: ExperimentAllocationData;
195
- successMetrics?: ExperimentMetricData[];
196
- }
197
- interface AppConfigMappingData {
198
- slot: string;
199
- name: string;
200
- version?: string;
201
- }
202
- interface AppConfigFeatureFlagData {
203
- key: string;
204
- enabled: boolean;
205
- variant?: string;
206
- description?: string;
207
- }
208
- interface AppRouteConfigData {
209
- path: string;
210
- label?: string;
211
- dataView?: string;
212
- workflow?: string;
213
- guardName?: string;
214
- guardVersion?: string | number;
215
- featureFlag?: string;
216
- experimentName?: string;
217
- experimentVersion?: string | number;
218
- }
219
- interface AppBlueprintSpecData extends BaseSpecData {
220
- title: string;
221
- domain: string;
222
- appId: string;
223
- capabilitiesEnabled: string[];
224
- capabilitiesDisabled: string[];
225
- featureIncludes: string[];
226
- featureExcludes: string[];
227
- dataViews: AppConfigMappingData[];
228
- workflows: AppConfigMappingData[];
229
- policyRefs: {
230
- name: string;
231
- version?: string;
232
- }[];
233
- theme?: {
234
- name: string;
235
- version: string;
236
- };
237
- themeFallbacks: {
152
+ }
153
+ export interface ExperimentVariantData {
154
+ id: string;
238
155
  name: string;
239
- version: string;
240
- }[];
241
- telemetry?: {
156
+ description?: string;
157
+ weight?: number;
158
+ overrides?: ExperimentVariantOverrideData[];
159
+ }
160
+ export interface TargetingRuleData {
161
+ variantId: string;
162
+ percentage?: number;
163
+ policy?: {
164
+ name: string;
165
+ version?: string;
166
+ };
167
+ expression?: string;
168
+ }
169
+ export interface RandomAllocationData {
170
+ type: 'random';
171
+ salt?: string;
172
+ }
173
+ export interface StickyAllocationData {
174
+ type: 'sticky';
175
+ attribute: 'userId' | 'organizationId' | 'sessionId';
176
+ salt?: string;
177
+ }
178
+ export interface TargetedAllocationData {
179
+ type: 'targeted';
180
+ fallback?: 'control' | 'random';
181
+ rules: TargetingRuleData[];
182
+ }
183
+ export type ExperimentAllocationData = RandomAllocationData | StickyAllocationData | TargetedAllocationData;
184
+ export interface ExperimentMetricData {
242
185
  name: string;
243
- version?: string;
244
- };
245
- activeExperiments: {
186
+ eventName: string;
187
+ eventVersion: string;
188
+ aggregation: 'count' | 'avg' | 'p75' | 'p90' | 'p95' | 'p99';
189
+ target?: string;
190
+ }
191
+ export interface ExperimentSpecData extends BaseSpecData {
192
+ domain: string;
193
+ controlVariant: string;
194
+ variants: ExperimentVariantData[];
195
+ allocation: ExperimentAllocationData;
196
+ successMetrics?: ExperimentMetricData[];
197
+ }
198
+ export interface AppConfigMappingData {
199
+ slot: string;
246
200
  name: string;
247
201
  version?: string;
248
- }[];
249
- pausedExperiments: {
250
- name: string;
202
+ }
203
+ export interface AppConfigFeatureFlagData {
204
+ key: string;
205
+ enabled: boolean;
206
+ variant?: string;
207
+ description?: string;
208
+ }
209
+ export interface AppRouteConfigData {
210
+ path: string;
211
+ label?: string;
212
+ dataView?: string;
213
+ workflow?: string;
214
+ guardName?: string;
215
+ guardVersion?: string | number;
216
+ featureFlag?: string;
217
+ experimentName?: string;
218
+ experimentVersion?: string | number;
219
+ }
220
+ export interface AppBlueprintSpecData extends BaseSpecData {
221
+ title: string;
222
+ domain: string;
223
+ appId: string;
224
+ capabilitiesEnabled: string[];
225
+ capabilitiesDisabled: string[];
226
+ featureIncludes: string[];
227
+ featureExcludes: string[];
228
+ dataViews: AppConfigMappingData[];
229
+ workflows: AppConfigMappingData[];
230
+ policyRefs: {
231
+ name: string;
232
+ version?: string;
233
+ }[];
234
+ theme?: {
235
+ name: string;
236
+ version: string;
237
+ };
238
+ themeFallbacks: {
239
+ name: string;
240
+ version: string;
241
+ }[];
242
+ telemetry?: {
243
+ name: string;
244
+ version?: string;
245
+ };
246
+ activeExperiments: {
247
+ name: string;
248
+ version?: string;
249
+ }[];
250
+ pausedExperiments: {
251
+ name: string;
252
+ version?: string;
253
+ }[];
254
+ featureFlags: AppConfigFeatureFlagData[];
255
+ routes: AppRouteConfigData[];
256
+ notes?: string;
257
+ }
258
+ export type MigrationStepKind = 'schema' | 'data' | 'validation';
259
+ export interface MigrationStepData {
260
+ kind: MigrationStepKind;
261
+ description?: string;
262
+ sql?: string;
263
+ script?: string;
264
+ assertion?: string;
265
+ timeoutMs?: number;
266
+ retries?: number;
267
+ preChecks?: {
268
+ description: string;
269
+ expression: string;
270
+ }[];
271
+ postChecks?: {
272
+ description: string;
273
+ expression: string;
274
+ }[];
275
+ }
276
+ export interface MigrationSpecData extends BaseSpecData {
277
+ title: string;
278
+ domain: string;
279
+ dependencies: string[];
280
+ up: MigrationStepData[];
281
+ down?: MigrationStepData[];
282
+ }
283
+ export type IntegrationCategoryData = 'payments' | 'email' | 'calendar' | 'sms' | 'ai-llm' | 'ai-voice' | 'analytics' | 'speech-to-text' | 'vector-db' | 'storage' | 'accounting' | 'crm' | 'helpdesk' | 'project-management' | 'open-banking' | 'database' | 'custom';
284
+ export type IntegrationConfigFieldType = 'string' | 'number' | 'boolean';
285
+ export type IntegrationOwnershipModeData = 'managed' | 'byok';
286
+ export type IntegrationHealthCheckMethod = 'ping' | 'list' | 'custom';
287
+ export interface IntegrationCapabilityRefData {
288
+ key: string;
289
+ version: string;
290
+ }
291
+ export interface IntegrationCapabilityRequirementData {
292
+ key: string;
251
293
  version?: string;
252
- }[];
253
- featureFlags: AppConfigFeatureFlagData[];
254
- routes: AppRouteConfigData[];
255
- notes?: string;
256
- }
257
- type MigrationStepKind = 'schema' | 'data' | 'validation';
258
- interface MigrationStepData {
259
- kind: MigrationStepKind;
260
- description?: string;
261
- sql?: string;
262
- script?: string;
263
- assertion?: string;
264
- timeoutMs?: number;
265
- retries?: number;
266
- preChecks?: {
267
- description: string;
268
- expression: string;
269
- }[];
270
- postChecks?: {
271
- description: string;
272
- expression: string;
273
- }[];
274
- }
275
- interface MigrationSpecData extends BaseSpecData {
276
- title: string;
277
- domain: string;
278
- dependencies: string[];
279
- up: MigrationStepData[];
280
- down?: MigrationStepData[];
281
- }
282
- type IntegrationCategoryData = 'payments' | 'email' | 'calendar' | 'sms' | 'ai-llm' | 'ai-voice' | 'speech-to-text' | 'vector-db' | 'storage' | 'accounting' | 'crm' | 'helpdesk' | 'open-banking' | 'custom';
283
- type IntegrationConfigFieldType = 'string' | 'number' | 'boolean';
284
- type IntegrationOwnershipModeData = 'managed' | 'byok';
285
- type IntegrationHealthCheckMethod = 'ping' | 'list' | 'custom';
286
- interface IntegrationCapabilityRefData {
287
- key: string;
288
- version: string;
289
- }
290
- interface IntegrationCapabilityRequirementData {
291
- key: string;
292
- version?: string;
293
- optional?: boolean;
294
- reason?: string;
295
- }
296
- interface IntegrationConfigFieldData {
297
- key: string;
298
- type: IntegrationConfigFieldType;
299
- required: boolean;
300
- description?: string;
301
- }
302
- type IntegrationSecretFieldData = IntegrationConfigFieldData;
303
- interface IntegrationSpecData extends BaseSpecData {
304
- title: string;
305
- domain: string;
306
- displayName: string;
307
- category: IntegrationCategoryData;
308
- supportedModes: IntegrationOwnershipModeData[];
309
- capabilitiesProvided: IntegrationCapabilityRefData[];
310
- capabilitiesRequired: IntegrationCapabilityRequirementData[];
311
- configFields: IntegrationConfigFieldData[];
312
- secretFields: IntegrationSecretFieldData[];
313
- docsUrl?: string;
314
- rateLimitRpm?: number;
315
- rateLimitRph?: number;
316
- healthCheckMethod: IntegrationHealthCheckMethod;
317
- healthCheckTimeoutMs?: number;
318
- byokSetupInstructions?: string;
319
- byokRequiredScopes?: string[];
320
- }
321
- type KnowledgeCategoryData = 'canonical' | 'operational' | 'external' | 'ephemeral';
322
- type KnowledgeTrustLevel = 'high' | 'medium' | 'low';
323
- interface KnowledgeRetentionData {
324
- ttlDays?: number | null;
325
- archiveAfterDays?: number;
326
- }
327
- interface KnowledgeSpaceSpecData extends BaseSpecData {
328
- title: string;
329
- domain: string;
330
- displayName: string;
331
- category: KnowledgeCategoryData;
332
- retention: KnowledgeRetentionData;
333
- policyName?: string;
334
- policyVersion?: string | number;
335
- trustLevel: KnowledgeTrustLevel;
336
- automationWritable: boolean;
337
- embeddingModel?: string;
338
- chunkSize?: number;
339
- vectorDbIntegration?: string;
340
- }
341
- //#endregion
342
- export { AppBlueprintSpecData, AppConfigFeatureFlagData, AppConfigMappingData, AppRouteConfigData, BaseSpecData, DataViewFieldData, DataViewKind, DataViewSpecData, EventSpecData, ExperimentAllocationData, ExperimentMetricData, ExperimentSpecData, ExperimentVariantData, ExperimentVariantOverrideData, FeatureSpecData, FormSpecData, IntegrationCapabilityRefData, IntegrationCapabilityRequirementData, IntegrationCategoryData, IntegrationConfigFieldData, IntegrationConfigFieldType, IntegrationHealthCheckMethod, IntegrationOwnershipModeData, IntegrationSecretFieldData, IntegrationSpecData, KnowledgeCategoryData, KnowledgeRetentionData, KnowledgeSpaceSpecData, KnowledgeTrustLevel, MigrationSpecData, MigrationStepData, MigrationStepKind, OperationSpecData, PresentationKind, PresentationSpecData, RandomAllocationData, SpecType, Stability, StepType, StickyAllocationData, TargetedAllocationData, TargetingRuleData, TelemetryAnomalyRuleData, TelemetryEventData, TelemetryPrivacy, TelemetryPropertyData, TelemetryProviderData, TelemetrySpecData, WorkflowSpecData, WorkflowStepData, WorkflowTransitionData };
294
+ optional?: boolean;
295
+ reason?: string;
296
+ }
297
+ export interface IntegrationConfigFieldData {
298
+ key: string;
299
+ type: IntegrationConfigFieldType;
300
+ required: boolean;
301
+ description?: string;
302
+ }
303
+ export type IntegrationSecretFieldData = IntegrationConfigFieldData;
304
+ export interface IntegrationSpecData extends BaseSpecData {
305
+ title: string;
306
+ domain: string;
307
+ displayName: string;
308
+ category: IntegrationCategoryData;
309
+ supportedModes: IntegrationOwnershipModeData[];
310
+ capabilitiesProvided: IntegrationCapabilityRefData[];
311
+ capabilitiesRequired: IntegrationCapabilityRequirementData[];
312
+ configFields: IntegrationConfigFieldData[];
313
+ secretFields: IntegrationSecretFieldData[];
314
+ docsUrl?: string;
315
+ rateLimitRpm?: number;
316
+ rateLimitRph?: number;
317
+ healthCheckMethod: IntegrationHealthCheckMethod;
318
+ healthCheckTimeoutMs?: number;
319
+ byokSetupInstructions?: string;
320
+ byokRequiredScopes?: string[];
321
+ }
322
+ export type KnowledgeCategoryData = 'canonical' | 'operational' | 'external' | 'ephemeral';
323
+ export type KnowledgeTrustLevel = 'high' | 'medium' | 'low';
324
+ export interface KnowledgeRetentionData {
325
+ ttlDays?: number | null;
326
+ archiveAfterDays?: number;
327
+ }
328
+ export interface KnowledgeSpaceSpecData extends BaseSpecData {
329
+ title: string;
330
+ domain: string;
331
+ displayName: string;
332
+ category: KnowledgeCategoryData;
333
+ retention: KnowledgeRetentionData;
334
+ policyName?: string;
335
+ policyVersion?: string | number;
336
+ trustLevel: KnowledgeTrustLevel;
337
+ automationWritable: boolean;
338
+ embeddingModel?: string;
339
+ chunkSize?: number;
340
+ vectorDbIntegration?: string;
341
+ }
343
342
  //# sourceMappingURL=spec-types.d.ts.map