@intentsolutions/blueprint 2.6.0 → 2.8.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 (192) hide show
  1. package/dist/analytics/collector.d.ts +73 -0
  2. package/dist/analytics/collector.d.ts.map +1 -0
  3. package/dist/analytics/collector.js +239 -0
  4. package/dist/analytics/collector.js.map +1 -0
  5. package/dist/analytics/dashboard.d.ts +62 -0
  6. package/dist/analytics/dashboard.d.ts.map +1 -0
  7. package/dist/analytics/dashboard.js +346 -0
  8. package/dist/analytics/dashboard.js.map +1 -0
  9. package/dist/analytics/index.d.ts +75 -0
  10. package/dist/analytics/index.d.ts.map +1 -0
  11. package/dist/analytics/index.js +115 -0
  12. package/dist/analytics/index.js.map +1 -0
  13. package/dist/analytics/types.d.ts +169 -0
  14. package/dist/analytics/types.d.ts.map +1 -0
  15. package/dist/analytics/types.js +16 -0
  16. package/dist/analytics/types.js.map +1 -0
  17. package/dist/cli.js +359 -1
  18. package/dist/cli.js.map +1 -1
  19. package/dist/commands/analytics.d.ts +38 -0
  20. package/dist/commands/analytics.d.ts.map +1 -0
  21. package/dist/commands/analytics.js +196 -0
  22. package/dist/commands/analytics.js.map +1 -0
  23. package/dist/commands/index.d.ts +26 -0
  24. package/dist/commands/index.d.ts.map +1 -0
  25. package/dist/commands/index.js +101 -0
  26. package/dist/commands/index.js.map +1 -0
  27. package/dist/commands/marketplace.d.ts +52 -0
  28. package/dist/commands/marketplace.d.ts.map +1 -0
  29. package/dist/commands/marketplace.js +356 -0
  30. package/dist/commands/marketplace.js.map +1 -0
  31. package/dist/enterprise/api/index.d.ts +8 -0
  32. package/dist/enterprise/api/index.d.ts.map +1 -0
  33. package/dist/enterprise/api/index.js +8 -0
  34. package/dist/enterprise/api/index.js.map +1 -0
  35. package/dist/enterprise/api/server.d.ts +79 -0
  36. package/dist/enterprise/api/server.d.ts.map +1 -0
  37. package/dist/enterprise/api/server.js +468 -0
  38. package/dist/enterprise/api/server.js.map +1 -0
  39. package/dist/enterprise/api/types.d.ts +269 -0
  40. package/dist/enterprise/api/types.d.ts.map +1 -0
  41. package/dist/enterprise/api/types.js +6 -0
  42. package/dist/enterprise/api/types.js.map +1 -0
  43. package/dist/enterprise/api/webhooks.d.ts +214 -0
  44. package/dist/enterprise/api/webhooks.d.ts.map +1 -0
  45. package/dist/enterprise/api/webhooks.js +308 -0
  46. package/dist/enterprise/api/webhooks.js.map +1 -0
  47. package/dist/enterprise/index.d.ts +9 -0
  48. package/dist/enterprise/index.d.ts.map +1 -0
  49. package/dist/enterprise/index.js +13 -0
  50. package/dist/enterprise/index.js.map +1 -0
  51. package/dist/enterprise/models/claude.d.ts +23 -0
  52. package/dist/enterprise/models/claude.d.ts.map +1 -0
  53. package/dist/enterprise/models/claude.js +176 -0
  54. package/dist/enterprise/models/claude.js.map +1 -0
  55. package/dist/enterprise/models/gemini.d.ts +25 -0
  56. package/dist/enterprise/models/gemini.d.ts.map +1 -0
  57. package/dist/enterprise/models/gemini.js +199 -0
  58. package/dist/enterprise/models/gemini.js.map +1 -0
  59. package/dist/enterprise/models/index.d.ts +11 -0
  60. package/dist/enterprise/models/index.d.ts.map +1 -0
  61. package/dist/enterprise/models/index.js +11 -0
  62. package/dist/enterprise/models/index.js.map +1 -0
  63. package/dist/enterprise/models/ollama.d.ts +32 -0
  64. package/dist/enterprise/models/ollama.d.ts.map +1 -0
  65. package/dist/enterprise/models/ollama.js +285 -0
  66. package/dist/enterprise/models/ollama.js.map +1 -0
  67. package/dist/enterprise/models/openai.d.ts +27 -0
  68. package/dist/enterprise/models/openai.d.ts.map +1 -0
  69. package/dist/enterprise/models/openai.js +222 -0
  70. package/dist/enterprise/models/openai.js.map +1 -0
  71. package/dist/enterprise/models/registry.d.ts +101 -0
  72. package/dist/enterprise/models/registry.d.ts.map +1 -0
  73. package/dist/enterprise/models/registry.js +263 -0
  74. package/dist/enterprise/models/registry.js.map +1 -0
  75. package/dist/enterprise/models/types.d.ts +141 -0
  76. package/dist/enterprise/models/types.d.ts.map +1 -0
  77. package/dist/enterprise/models/types.js +40 -0
  78. package/dist/enterprise/models/types.js.map +1 -0
  79. package/dist/enterprise/team/audit.d.ts +153 -0
  80. package/dist/enterprise/team/audit.d.ts.map +1 -0
  81. package/dist/enterprise/team/audit.js +346 -0
  82. package/dist/enterprise/team/audit.js.map +1 -0
  83. package/dist/enterprise/team/config.d.ts +83 -0
  84. package/dist/enterprise/team/config.d.ts.map +1 -0
  85. package/dist/enterprise/team/config.js +245 -0
  86. package/dist/enterprise/team/config.js.map +1 -0
  87. package/dist/enterprise/team/index.d.ts +7 -0
  88. package/dist/enterprise/team/index.d.ts.map +1 -0
  89. package/dist/enterprise/team/index.js +7 -0
  90. package/dist/enterprise/team/index.js.map +1 -0
  91. package/dist/enterprise/templates/engine.d.ts +100 -0
  92. package/dist/enterprise/templates/engine.d.ts.map +1 -0
  93. package/dist/enterprise/templates/engine.js +429 -0
  94. package/dist/enterprise/templates/engine.js.map +1 -0
  95. package/dist/enterprise/templates/index.d.ts +8 -0
  96. package/dist/enterprise/templates/index.d.ts.map +1 -0
  97. package/dist/enterprise/templates/index.js +8 -0
  98. package/dist/enterprise/templates/index.js.map +1 -0
  99. package/dist/enterprise/templates/loader.d.ts +65 -0
  100. package/dist/enterprise/templates/loader.d.ts.map +1 -0
  101. package/dist/enterprise/templates/loader.js +269 -0
  102. package/dist/enterprise/templates/loader.js.map +1 -0
  103. package/dist/enterprise/templates/types.d.ts +212 -0
  104. package/dist/enterprise/templates/types.d.ts.map +1 -0
  105. package/dist/enterprise/templates/types.js +55 -0
  106. package/dist/enterprise/templates/types.js.map +1 -0
  107. package/dist/marketplace/index.d.ts +86 -0
  108. package/dist/marketplace/index.d.ts.map +1 -0
  109. package/dist/marketplace/index.js +112 -0
  110. package/dist/marketplace/index.js.map +1 -0
  111. package/dist/marketplace/manager.d.ts +81 -0
  112. package/dist/marketplace/manager.d.ts.map +1 -0
  113. package/dist/marketplace/manager.js +292 -0
  114. package/dist/marketplace/manager.js.map +1 -0
  115. package/dist/marketplace/packs/fastapi.d.ts +8 -0
  116. package/dist/marketplace/packs/fastapi.d.ts.map +1 -0
  117. package/dist/marketplace/packs/fastapi.js +728 -0
  118. package/dist/marketplace/packs/fastapi.js.map +1 -0
  119. package/dist/marketplace/packs/fintech.d.ts +8 -0
  120. package/dist/marketplace/packs/fintech.d.ts.map +1 -0
  121. package/dist/marketplace/packs/fintech.js +366 -0
  122. package/dist/marketplace/packs/fintech.js.map +1 -0
  123. package/dist/marketplace/packs/gdpr.d.ts +8 -0
  124. package/dist/marketplace/packs/gdpr.d.ts.map +1 -0
  125. package/dist/marketplace/packs/gdpr.js +637 -0
  126. package/dist/marketplace/packs/gdpr.js.map +1 -0
  127. package/dist/marketplace/packs/healthtech.d.ts +8 -0
  128. package/dist/marketplace/packs/healthtech.d.ts.map +1 -0
  129. package/dist/marketplace/packs/healthtech.js +470 -0
  130. package/dist/marketplace/packs/healthtech.js.map +1 -0
  131. package/dist/marketplace/packs/hipaa.d.ts +8 -0
  132. package/dist/marketplace/packs/hipaa.d.ts.map +1 -0
  133. package/dist/marketplace/packs/hipaa.js +473 -0
  134. package/dist/marketplace/packs/hipaa.js.map +1 -0
  135. package/dist/marketplace/packs/index.d.ts +250 -0
  136. package/dist/marketplace/packs/index.d.ts.map +1 -0
  137. package/dist/marketplace/packs/index.js +205 -0
  138. package/dist/marketplace/packs/index.js.map +1 -0
  139. package/dist/marketplace/packs/nextjs.d.ts +8 -0
  140. package/dist/marketplace/packs/nextjs.d.ts.map +1 -0
  141. package/dist/marketplace/packs/nextjs.js +532 -0
  142. package/dist/marketplace/packs/nextjs.js.map +1 -0
  143. package/dist/marketplace/packs/rails.d.ts +8 -0
  144. package/dist/marketplace/packs/rails.d.ts.map +1 -0
  145. package/dist/marketplace/packs/rails.js +866 -0
  146. package/dist/marketplace/packs/rails.js.map +1 -0
  147. package/dist/marketplace/packs/saas.d.ts +8 -0
  148. package/dist/marketplace/packs/saas.d.ts.map +1 -0
  149. package/dist/marketplace/packs/saas.js +516 -0
  150. package/dist/marketplace/packs/saas.js.map +1 -0
  151. package/dist/marketplace/packs/soc2.d.ts +8 -0
  152. package/dist/marketplace/packs/soc2.d.ts.map +1 -0
  153. package/dist/marketplace/packs/soc2.js +455 -0
  154. package/dist/marketplace/packs/soc2.js.map +1 -0
  155. package/dist/marketplace/registry.d.ts +76 -0
  156. package/dist/marketplace/registry.d.ts.map +1 -0
  157. package/dist/marketplace/registry.js +454 -0
  158. package/dist/marketplace/registry.js.map +1 -0
  159. package/dist/marketplace/types.d.ts +202 -0
  160. package/dist/marketplace/types.d.ts.map +1 -0
  161. package/dist/marketplace/types.js +61 -0
  162. package/dist/marketplace/types.js.map +1 -0
  163. package/dist/mcp/index.js +1 -1
  164. package/dist/plugins/builtin/html-formatter.d.ts +11 -0
  165. package/dist/plugins/builtin/html-formatter.d.ts.map +1 -0
  166. package/dist/plugins/builtin/html-formatter.js +214 -0
  167. package/dist/plugins/builtin/html-formatter.js.map +1 -0
  168. package/dist/plugins/builtin/index.d.ts +21 -0
  169. package/dist/plugins/builtin/index.d.ts.map +1 -0
  170. package/dist/plugins/builtin/index.js +31 -0
  171. package/dist/plugins/builtin/index.js.map +1 -0
  172. package/dist/plugins/builtin/markdown-formatter.d.ts +11 -0
  173. package/dist/plugins/builtin/markdown-formatter.d.ts.map +1 -0
  174. package/dist/plugins/builtin/markdown-formatter.js +77 -0
  175. package/dist/plugins/builtin/markdown-formatter.js.map +1 -0
  176. package/dist/plugins/builtin/quality-validator.d.ts +11 -0
  177. package/dist/plugins/builtin/quality-validator.d.ts.map +1 -0
  178. package/dist/plugins/builtin/quality-validator.js +355 -0
  179. package/dist/plugins/builtin/quality-validator.js.map +1 -0
  180. package/dist/plugins/index.d.ts +98 -0
  181. package/dist/plugins/index.d.ts.map +1 -0
  182. package/dist/plugins/index.js +187 -0
  183. package/dist/plugins/index.js.map +1 -0
  184. package/dist/plugins/manager.d.ts +122 -0
  185. package/dist/plugins/manager.d.ts.map +1 -0
  186. package/dist/plugins/manager.js +349 -0
  187. package/dist/plugins/manager.js.map +1 -0
  188. package/dist/plugins/types.d.ts +348 -0
  189. package/dist/plugins/types.d.ts.map +1 -0
  190. package/dist/plugins/types.js +13 -0
  191. package/dist/plugins/types.js.map +1 -0
  192. package/package.json +5 -4
@@ -0,0 +1,269 @@
1
+ /**
2
+ * REST API Types
3
+ * Types for the programmatic API interface
4
+ */
5
+ import type { CustomTemplate, AuditEntry } from '../templates/types.js';
6
+ /**
7
+ * API Configuration
8
+ */
9
+ export interface ApiConfig {
10
+ /** Port to listen on */
11
+ port?: number;
12
+ /** Host to bind to */
13
+ host?: string;
14
+ /** API key for authentication */
15
+ apiKey?: string;
16
+ /** Enable CORS */
17
+ cors?: boolean;
18
+ /** Allowed origins for CORS */
19
+ allowedOrigins?: string[];
20
+ /** Rate limit (requests per minute) */
21
+ rateLimit?: number;
22
+ /** Enable request logging */
23
+ logging?: boolean;
24
+ }
25
+ /**
26
+ * API Request context
27
+ */
28
+ export interface ApiContext {
29
+ /** Request ID */
30
+ requestId: string;
31
+ /** Authenticated user/client */
32
+ clientId?: string;
33
+ /** Request timestamp */
34
+ timestamp: Date;
35
+ }
36
+ /**
37
+ * Standard API response wrapper
38
+ */
39
+ export interface ApiResponse<T> {
40
+ success: boolean;
41
+ data?: T;
42
+ error?: ApiError;
43
+ meta?: {
44
+ requestId: string;
45
+ timestamp: string;
46
+ duration?: number;
47
+ };
48
+ }
49
+ /**
50
+ * API Error
51
+ */
52
+ export interface ApiError {
53
+ code: string;
54
+ message: string;
55
+ details?: Record<string, unknown>;
56
+ }
57
+ /**
58
+ * Generate request
59
+ */
60
+ export interface GenerateRequest {
61
+ /** Template ID to use */
62
+ templateId: string;
63
+ /** Variables for template */
64
+ variables: Record<string, unknown>;
65
+ /** Output format */
66
+ format?: 'markdown' | 'html' | 'json';
67
+ /** Whether to include metadata */
68
+ includeMeta?: boolean;
69
+ }
70
+ /**
71
+ * Generate response
72
+ */
73
+ export interface GenerateResponse {
74
+ /** Generated content */
75
+ content: string;
76
+ /** Template metadata */
77
+ template: {
78
+ id: string;
79
+ name: string;
80
+ version: string;
81
+ };
82
+ /** Variables used */
83
+ variables: Record<string, unknown>;
84
+ /** Generation timestamp */
85
+ generatedAt: string;
86
+ }
87
+ /**
88
+ * Template list response
89
+ */
90
+ export interface TemplateListResponse {
91
+ templates: TemplateInfo[];
92
+ total: number;
93
+ }
94
+ /**
95
+ * Template info
96
+ */
97
+ export interface TemplateInfo {
98
+ id: string;
99
+ name: string;
100
+ description: string;
101
+ version: string;
102
+ category: string;
103
+ scope: string;
104
+ author?: string;
105
+ tags?: string[];
106
+ }
107
+ /**
108
+ * Template detail response
109
+ */
110
+ export interface TemplateDetailResponse {
111
+ template: CustomTemplate;
112
+ }
113
+ /**
114
+ * Interview start request
115
+ */
116
+ export interface InterviewStartRequest {
117
+ /** Project type hint */
118
+ projectType?: string;
119
+ /** Partial answers to pre-fill */
120
+ prefill?: Record<string, unknown>;
121
+ }
122
+ /**
123
+ * Interview state
124
+ */
125
+ export interface InterviewState {
126
+ /** Session ID */
127
+ sessionId: string;
128
+ /** Current question index */
129
+ currentIndex: number;
130
+ /** Total questions */
131
+ totalQuestions: number;
132
+ /** Current question */
133
+ currentQuestion: InterviewQuestion;
134
+ /** Collected answers */
135
+ answers: Record<string, unknown>;
136
+ /** Whether interview is complete */
137
+ complete: boolean;
138
+ }
139
+ /**
140
+ * Interview question
141
+ */
142
+ export interface InterviewQuestion {
143
+ id: string;
144
+ text: string;
145
+ type: 'text' | 'select' | 'multiselect' | 'number' | 'boolean';
146
+ options?: Array<{
147
+ label: string;
148
+ value: string;
149
+ }>;
150
+ required?: boolean;
151
+ default?: unknown;
152
+ }
153
+ /**
154
+ * Interview answer request
155
+ */
156
+ export interface InterviewAnswerRequest {
157
+ /** Session ID */
158
+ sessionId: string;
159
+ /** Answer value */
160
+ answer: unknown;
161
+ }
162
+ /**
163
+ * Export request
164
+ */
165
+ export interface ExportRequest {
166
+ /** Content to export */
167
+ content: string;
168
+ /** Target platform */
169
+ target: 'github' | 'linear' | 'jira' | 'notion';
170
+ /** Platform-specific options */
171
+ options: Record<string, unknown>;
172
+ }
173
+ /**
174
+ * Export response
175
+ */
176
+ export interface ExportResponse {
177
+ /** Export success */
178
+ success: boolean;
179
+ /** Created resources */
180
+ resources: ExportedResource[];
181
+ /** Export URL */
182
+ url?: string;
183
+ }
184
+ /**
185
+ * Exported resource
186
+ */
187
+ export interface ExportedResource {
188
+ type: string;
189
+ id: string;
190
+ title: string;
191
+ url?: string;
192
+ }
193
+ /**
194
+ * Audit list request
195
+ */
196
+ export interface AuditListRequest {
197
+ /** Filter by user */
198
+ user?: string;
199
+ /** Filter by template */
200
+ template?: string;
201
+ /** Filter by action */
202
+ action?: AuditEntry['action'];
203
+ /** Start date */
204
+ startDate?: string;
205
+ /** End date */
206
+ endDate?: string;
207
+ /** Page number */
208
+ page?: number;
209
+ /** Page size */
210
+ pageSize?: number;
211
+ }
212
+ /**
213
+ * Audit list response
214
+ */
215
+ export interface AuditListResponse {
216
+ entries: AuditEntry[];
217
+ total: number;
218
+ page: number;
219
+ pageSize: number;
220
+ }
221
+ /**
222
+ * Audit stats response
223
+ */
224
+ export interface AuditStatsResponse {
225
+ totalGenerations: number;
226
+ successfulGenerations: number;
227
+ failedGenerations: number;
228
+ averageDuration: number;
229
+ byTemplate: Record<string, number>;
230
+ byUser: Record<string, number>;
231
+ byAction: Record<string, number>;
232
+ }
233
+ /**
234
+ * Health check response
235
+ */
236
+ export interface HealthCheckResponse {
237
+ status: 'healthy' | 'degraded' | 'unhealthy';
238
+ version: string;
239
+ uptime: number;
240
+ checks: {
241
+ templates: boolean;
242
+ audit: boolean;
243
+ };
244
+ }
245
+ /**
246
+ * API route handler
247
+ */
248
+ export type RouteHandler = (req: ApiRequest, res: ApiResponseWriter) => Promise<void> | void;
249
+ /**
250
+ * API request
251
+ */
252
+ export interface ApiRequest {
253
+ method: string;
254
+ path: string;
255
+ params: Record<string, string>;
256
+ query: Record<string, string>;
257
+ body: unknown;
258
+ headers: Record<string, string>;
259
+ context: ApiContext;
260
+ }
261
+ /**
262
+ * API response writer
263
+ */
264
+ export interface ApiResponseWriter {
265
+ status(code: number): ApiResponseWriter;
266
+ json<T>(data: ApiResponse<T>): void;
267
+ send(body: string): void;
268
+ }
269
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/enterprise/api/types.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,6 @@
1
+ /**
2
+ * REST API Types
3
+ * Types for the programmatic API interface
4
+ */
5
+ export {};
6
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/enterprise/api/types.ts"],"names":[],"mappings":"AAAA;;;GAGG"}
@@ -0,0 +1,214 @@
1
+ /**
2
+ * Webhook System
3
+ * Subscribe to events and receive HTTP callbacks
4
+ */
5
+ /**
6
+ * Webhook event types
7
+ */
8
+ export type WebhookEvent = 'generation.started' | 'generation.completed' | 'generation.failed' | 'export.started' | 'export.completed' | 'export.failed' | 'template.created' | 'template.updated' | 'template.deleted' | 'audit.entry';
9
+ /**
10
+ * Webhook configuration
11
+ */
12
+ export interface Webhook {
13
+ /** Unique webhook ID */
14
+ id: string;
15
+ /** Webhook name */
16
+ name: string;
17
+ /** Target URL */
18
+ url: string;
19
+ /** Events to subscribe to */
20
+ events: WebhookEvent[];
21
+ /** Secret for signature verification */
22
+ secret?: string;
23
+ /** Whether webhook is active */
24
+ active: boolean;
25
+ /** Retry configuration */
26
+ retry?: {
27
+ maxAttempts: number;
28
+ backoffMs: number;
29
+ };
30
+ /** Created timestamp */
31
+ createdAt: string;
32
+ /** Last triggered timestamp */
33
+ lastTriggeredAt?: string;
34
+ /** Failure count */
35
+ failureCount: number;
36
+ }
37
+ /**
38
+ * Webhook payload
39
+ */
40
+ export interface WebhookPayload<T = unknown> {
41
+ /** Event type */
42
+ event: WebhookEvent;
43
+ /** Event timestamp */
44
+ timestamp: string;
45
+ /** Webhook ID */
46
+ webhookId: string;
47
+ /** Delivery ID */
48
+ deliveryId: string;
49
+ /** Event data */
50
+ data: T;
51
+ }
52
+ /**
53
+ * Webhook delivery result
54
+ */
55
+ export interface DeliveryResult {
56
+ webhookId: string;
57
+ deliveryId: string;
58
+ success: boolean;
59
+ statusCode?: number;
60
+ error?: string;
61
+ duration: number;
62
+ attempt: number;
63
+ }
64
+ /**
65
+ * Generation event data
66
+ */
67
+ export interface GenerationEventData {
68
+ templateId: string;
69
+ templateName: string;
70
+ variables: Record<string, unknown>;
71
+ output?: string;
72
+ duration?: number;
73
+ error?: string;
74
+ }
75
+ /**
76
+ * Export event data
77
+ */
78
+ export interface ExportEventData {
79
+ target: string;
80
+ templateId: string;
81
+ resourceCount: number;
82
+ resources: Array<{
83
+ type: string;
84
+ id: string;
85
+ title: string;
86
+ }>;
87
+ error?: string;
88
+ }
89
+ /**
90
+ * Template event data
91
+ */
92
+ export interface TemplateEventData {
93
+ templateId: string;
94
+ templateName: string;
95
+ version: string;
96
+ action: 'created' | 'updated' | 'deleted';
97
+ }
98
+ export declare class WebhookManager {
99
+ private webhooks;
100
+ private storagePath;
101
+ private deliveryQueue;
102
+ private processing;
103
+ constructor(storagePath?: string);
104
+ /**
105
+ * Load webhooks from storage
106
+ */
107
+ private load;
108
+ /**
109
+ * Save webhooks to storage
110
+ */
111
+ private save;
112
+ /**
113
+ * Create a new webhook
114
+ */
115
+ create(params: {
116
+ name: string;
117
+ url: string;
118
+ events: WebhookEvent[];
119
+ secret?: string;
120
+ retry?: {
121
+ maxAttempts: number;
122
+ backoffMs: number;
123
+ };
124
+ }): Webhook;
125
+ /**
126
+ * Get a webhook by ID
127
+ */
128
+ get(id: string): Webhook | undefined;
129
+ /**
130
+ * List all webhooks
131
+ */
132
+ list(): Webhook[];
133
+ /**
134
+ * Update a webhook
135
+ */
136
+ update(id: string, updates: Partial<Omit<Webhook, 'id' | 'createdAt'>>): Webhook | undefined;
137
+ /**
138
+ * Delete a webhook
139
+ */
140
+ delete(id: string): boolean;
141
+ /**
142
+ * Activate a webhook
143
+ */
144
+ activate(id: string): boolean;
145
+ /**
146
+ * Deactivate a webhook
147
+ */
148
+ deactivate(id: string): boolean;
149
+ /**
150
+ * Trigger an event
151
+ */
152
+ trigger<T>(event: WebhookEvent, data: T): Promise<DeliveryResult[]>;
153
+ /**
154
+ * Deliver a webhook payload
155
+ */
156
+ private deliver;
157
+ /**
158
+ * Send HTTP request
159
+ */
160
+ private sendRequest;
161
+ /**
162
+ * Sign payload with HMAC-SHA256
163
+ */
164
+ private sign;
165
+ /**
166
+ * Sleep helper
167
+ */
168
+ private sleep;
169
+ /**
170
+ * Trigger generation started event
171
+ */
172
+ onGenerationStarted(data: GenerationEventData): Promise<DeliveryResult[]>;
173
+ /**
174
+ * Trigger generation completed event
175
+ */
176
+ onGenerationCompleted(data: GenerationEventData): Promise<DeliveryResult[]>;
177
+ /**
178
+ * Trigger generation failed event
179
+ */
180
+ onGenerationFailed(data: GenerationEventData): Promise<DeliveryResult[]>;
181
+ /**
182
+ * Trigger export started event
183
+ */
184
+ onExportStarted(data: ExportEventData): Promise<DeliveryResult[]>;
185
+ /**
186
+ * Trigger export completed event
187
+ */
188
+ onExportCompleted(data: ExportEventData): Promise<DeliveryResult[]>;
189
+ /**
190
+ * Trigger export failed event
191
+ */
192
+ onExportFailed(data: ExportEventData): Promise<DeliveryResult[]>;
193
+ /**
194
+ * Trigger template created event
195
+ */
196
+ onTemplateCreated(data: TemplateEventData): Promise<DeliveryResult[]>;
197
+ /**
198
+ * Trigger template updated event
199
+ */
200
+ onTemplateUpdated(data: TemplateEventData): Promise<DeliveryResult[]>;
201
+ /**
202
+ * Trigger template deleted event
203
+ */
204
+ onTemplateDeleted(data: TemplateEventData): Promise<DeliveryResult[]>;
205
+ }
206
+ /**
207
+ * Create a webhook manager instance
208
+ */
209
+ export declare function createWebhookManager(storagePath?: string): WebhookManager;
210
+ /**
211
+ * Verify webhook signature
212
+ */
213
+ export declare function verifyWebhookSignature(payload: string, signature: string, secret: string): boolean;
214
+ //# sourceMappingURL=webhooks.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"webhooks.d.ts","sourceRoot":"","sources":["../../../src/enterprise/api/webhooks.ts"],"names":[],"mappings":"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"}