@manifesto-ai/compiler 1.0.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 (158) hide show
  1. package/README.md +313 -0
  2. package/dist/__tests__/domain.test.d.ts +2 -0
  3. package/dist/__tests__/domain.test.d.ts.map +1 -0
  4. package/dist/__tests__/domain.test.js +56 -0
  5. package/dist/__tests__/domain.test.js.map +1 -0
  6. package/dist/__tests__/effects.test.d.ts +2 -0
  7. package/dist/__tests__/effects.test.d.ts.map +1 -0
  8. package/dist/__tests__/effects.test.js +145 -0
  9. package/dist/__tests__/effects.test.js.map +1 -0
  10. package/dist/__tests__/helpers/mock-adapter.d.ts +47 -0
  11. package/dist/__tests__/helpers/mock-adapter.d.ts.map +1 -0
  12. package/dist/__tests__/helpers/mock-adapter.js +135 -0
  13. package/dist/__tests__/helpers/mock-adapter.js.map +1 -0
  14. package/dist/__tests__/integration.test.d.ts +2 -0
  15. package/dist/__tests__/integration.test.d.ts.map +1 -0
  16. package/dist/__tests__/integration.test.js +220 -0
  17. package/dist/__tests__/integration.test.js.map +1 -0
  18. package/dist/__tests__/parser.test.d.ts +2 -0
  19. package/dist/__tests__/parser.test.d.ts.map +1 -0
  20. package/dist/__tests__/parser.test.js +118 -0
  21. package/dist/__tests__/parser.test.js.map +1 -0
  22. package/dist/__tests__/telemetry.test.d.ts +2 -0
  23. package/dist/__tests__/telemetry.test.d.ts.map +1 -0
  24. package/dist/__tests__/telemetry.test.js +207 -0
  25. package/dist/__tests__/telemetry.test.js.map +1 -0
  26. package/dist/api/compiler.d.ts +86 -0
  27. package/dist/api/compiler.d.ts.map +1 -0
  28. package/dist/api/compiler.js +302 -0
  29. package/dist/api/compiler.js.map +1 -0
  30. package/dist/api/factory.d.ts +27 -0
  31. package/dist/api/factory.d.ts.map +1 -0
  32. package/dist/api/factory.js +60 -0
  33. package/dist/api/factory.js.map +1 -0
  34. package/dist/api/index.d.ts +3 -0
  35. package/dist/api/index.d.ts.map +1 -0
  36. package/dist/api/index.js +3 -0
  37. package/dist/api/index.js.map +1 -0
  38. package/dist/cli/App.d.ts +10 -0
  39. package/dist/cli/App.d.ts.map +1 -0
  40. package/dist/cli/App.js +75 -0
  41. package/dist/cli/App.js.map +1 -0
  42. package/dist/cli/components/Error.d.ts +10 -0
  43. package/dist/cli/components/Error.d.ts.map +1 -0
  44. package/dist/cli/components/Error.js +21 -0
  45. package/dist/cli/components/Error.js.map +1 -0
  46. package/dist/cli/components/Header.d.ts +10 -0
  47. package/dist/cli/components/Header.d.ts.map +1 -0
  48. package/dist/cli/components/Header.js +11 -0
  49. package/dist/cli/components/Header.js.map +1 -0
  50. package/dist/cli/components/Metrics.d.ts +10 -0
  51. package/dist/cli/components/Metrics.d.ts.map +1 -0
  52. package/dist/cli/components/Metrics.js +29 -0
  53. package/dist/cli/components/Metrics.js.map +1 -0
  54. package/dist/cli/components/Progress.d.ts +10 -0
  55. package/dist/cli/components/Progress.d.ts.map +1 -0
  56. package/dist/cli/components/Progress.js +37 -0
  57. package/dist/cli/components/Progress.js.map +1 -0
  58. package/dist/cli/components/Resolution.d.ts +11 -0
  59. package/dist/cli/components/Resolution.d.ts.map +1 -0
  60. package/dist/cli/components/Resolution.js +26 -0
  61. package/dist/cli/components/Resolution.js.map +1 -0
  62. package/dist/cli/components/Result.d.ts +10 -0
  63. package/dist/cli/components/Result.d.ts.map +1 -0
  64. package/dist/cli/components/Result.js +38 -0
  65. package/dist/cli/components/Result.js.map +1 -0
  66. package/dist/cli/components/StatusBar.d.ts +10 -0
  67. package/dist/cli/components/StatusBar.d.ts.map +1 -0
  68. package/dist/cli/components/StatusBar.js +21 -0
  69. package/dist/cli/components/StatusBar.js.map +1 -0
  70. package/dist/cli/hooks/useCompiler.d.ts +22 -0
  71. package/dist/cli/hooks/useCompiler.d.ts.map +1 -0
  72. package/dist/cli/hooks/useCompiler.js +214 -0
  73. package/dist/cli/hooks/useCompiler.js.map +1 -0
  74. package/dist/cli/index.d.ts +13 -0
  75. package/dist/cli/index.d.ts.map +1 -0
  76. package/dist/cli/index.js +178 -0
  77. package/dist/cli/index.js.map +1 -0
  78. package/dist/cli/types.d.ts +96 -0
  79. package/dist/cli/types.d.ts.map +1 -0
  80. package/dist/cli/types.js +26 -0
  81. package/dist/cli/types.js.map +1 -0
  82. package/dist/domain/domain.d.ts +76 -0
  83. package/dist/domain/domain.d.ts.map +1 -0
  84. package/dist/domain/domain.js +251 -0
  85. package/dist/domain/domain.js.map +1 -0
  86. package/dist/domain/index.d.ts +4 -0
  87. package/dist/domain/index.d.ts.map +1 -0
  88. package/dist/domain/index.js +4 -0
  89. package/dist/domain/index.js.map +1 -0
  90. package/dist/domain/schema.d.ts +198 -0
  91. package/dist/domain/schema.d.ts.map +1 -0
  92. package/dist/domain/schema.js +131 -0
  93. package/dist/domain/schema.js.map +1 -0
  94. package/dist/domain/types.d.ts +360 -0
  95. package/dist/domain/types.d.ts.map +1 -0
  96. package/dist/domain/types.js +2 -0
  97. package/dist/domain/types.js.map +1 -0
  98. package/dist/effects/builder/index.d.ts +2 -0
  99. package/dist/effects/builder/index.d.ts.map +1 -0
  100. package/dist/effects/builder/index.js +2 -0
  101. package/dist/effects/builder/index.js.map +1 -0
  102. package/dist/effects/builder/validate-handler.d.ts +27 -0
  103. package/dist/effects/builder/validate-handler.d.ts.map +1 -0
  104. package/dist/effects/builder/validate-handler.js +153 -0
  105. package/dist/effects/builder/validate-handler.js.map +1 -0
  106. package/dist/effects/index.d.ts +3 -0
  107. package/dist/effects/index.d.ts.map +1 -0
  108. package/dist/effects/index.js +5 -0
  109. package/dist/effects/index.js.map +1 -0
  110. package/dist/effects/llm/adapter.d.ts +123 -0
  111. package/dist/effects/llm/adapter.d.ts.map +1 -0
  112. package/dist/effects/llm/adapter.js +13 -0
  113. package/dist/effects/llm/adapter.js.map +1 -0
  114. package/dist/effects/llm/anthropic-adapter.d.ts +65 -0
  115. package/dist/effects/llm/anthropic-adapter.d.ts.map +1 -0
  116. package/dist/effects/llm/anthropic-adapter.js +178 -0
  117. package/dist/effects/llm/anthropic-adapter.js.map +1 -0
  118. package/dist/effects/llm/handlers.d.ts +44 -0
  119. package/dist/effects/llm/handlers.d.ts.map +1 -0
  120. package/dist/effects/llm/handlers.js +127 -0
  121. package/dist/effects/llm/handlers.js.map +1 -0
  122. package/dist/effects/llm/index.d.ts +7 -0
  123. package/dist/effects/llm/index.d.ts.map +1 -0
  124. package/dist/effects/llm/index.js +10 -0
  125. package/dist/effects/llm/index.js.map +1 -0
  126. package/dist/effects/llm/openai-adapter.d.ts +59 -0
  127. package/dist/effects/llm/openai-adapter.d.ts.map +1 -0
  128. package/dist/effects/llm/openai-adapter.js +206 -0
  129. package/dist/effects/llm/openai-adapter.js.map +1 -0
  130. package/dist/effects/llm/parser.d.ts +63 -0
  131. package/dist/effects/llm/parser.d.ts.map +1 -0
  132. package/dist/effects/llm/parser.js +177 -0
  133. package/dist/effects/llm/parser.js.map +1 -0
  134. package/dist/effects/llm/prompts/index.d.ts +4 -0
  135. package/dist/effects/llm/prompts/index.d.ts.map +1 -0
  136. package/dist/effects/llm/prompts/index.js +4 -0
  137. package/dist/effects/llm/prompts/index.js.map +1 -0
  138. package/dist/effects/llm/prompts/normalize.d.ts +19 -0
  139. package/dist/effects/llm/prompts/normalize.d.ts.map +1 -0
  140. package/dist/effects/llm/prompts/normalize.js +98 -0
  141. package/dist/effects/llm/prompts/normalize.js.map +1 -0
  142. package/dist/effects/llm/prompts/propose.d.ts +21 -0
  143. package/dist/effects/llm/prompts/propose.d.ts.map +1 -0
  144. package/dist/effects/llm/prompts/propose.js +326 -0
  145. package/dist/effects/llm/prompts/propose.js.map +1 -0
  146. package/dist/effects/llm/prompts/segment.d.ts +16 -0
  147. package/dist/effects/llm/prompts/segment.d.ts.map +1 -0
  148. package/dist/effects/llm/prompts/segment.js +57 -0
  149. package/dist/effects/llm/prompts/segment.js.map +1 -0
  150. package/dist/effects/types.d.ts +10 -0
  151. package/dist/effects/types.d.ts.map +1 -0
  152. package/dist/effects/types.js +2 -0
  153. package/dist/effects/types.js.map +1 -0
  154. package/dist/index.d.ts +64 -0
  155. package/dist/index.d.ts.map +1 -0
  156. package/dist/index.js +81 -0
  157. package/dist/index.js.map +1 -0
  158. package/package.json +82 -0
@@ -0,0 +1,360 @@
1
+ import type { DomainSchema as CoreDomainSchema } from "@manifesto-ai/core";
2
+ /**
3
+ * Compiler context for additional information
4
+ */
5
+ export interface CompilerContext {
6
+ /**
7
+ * Name of the domain being compiled
8
+ */
9
+ domainName?: string;
10
+ /**
11
+ * List of existing action names (for context)
12
+ */
13
+ existingActions?: string[];
14
+ /**
15
+ * Glossary of domain-specific terms
16
+ */
17
+ glossary?: Record<string, string>;
18
+ }
19
+ /**
20
+ * Normalized intent - structured representation of a requirement
21
+ */
22
+ export interface NormalizedIntent {
23
+ /**
24
+ * Intent kind
25
+ */
26
+ kind: "state" | "computed" | "action" | "constraint";
27
+ /**
28
+ * Human-readable description
29
+ */
30
+ description: string;
31
+ /**
32
+ * Confidence level (0.0 - 1.0)
33
+ */
34
+ confidence: number;
35
+ }
36
+ /**
37
+ * Attempt record - tracks validation attempts
38
+ */
39
+ export interface AttemptRecord {
40
+ /**
41
+ * Attempt number (0-indexed)
42
+ */
43
+ attemptNumber: number;
44
+ /**
45
+ * Hash of the draft for correlation
46
+ */
47
+ draftHash: string;
48
+ /**
49
+ * Validation diagnostics from this attempt
50
+ */
51
+ diagnostics: CompilerDiagnostics | null;
52
+ /**
53
+ * Timestamp of the attempt (from effect handler)
54
+ */
55
+ timestamp: number;
56
+ }
57
+ /**
58
+ * Resolution option - choice for ambiguity resolution
59
+ */
60
+ export interface ResolutionOption {
61
+ /**
62
+ * Unique identifier
63
+ */
64
+ id: string;
65
+ /**
66
+ * Human-readable description
67
+ */
68
+ description: string;
69
+ /**
70
+ * Optional preview of what this option produces
71
+ */
72
+ preview?: string;
73
+ }
74
+ /**
75
+ * Discard reason codes
76
+ */
77
+ export type DiscardReason = "RESOLUTION_REQUIRED_BUT_DISABLED" | "MAX_RETRIES_EXCEEDED" | "EMPTY_INPUT" | "SEGMENTATION_FAILED" | "USER_CANCELLED";
78
+ /**
79
+ * Compilation status
80
+ */
81
+ export type CompilerStatus = "idle" | "segmenting" | "normalizing" | "proposing" | "validating" | "awaiting_resolution" | "success" | "discarded";
82
+ /**
83
+ * Resolution policy
84
+ */
85
+ export interface CompilerResolutionPolicy {
86
+ /**
87
+ * What to do when resolution is required
88
+ */
89
+ onResolutionRequired: "await" | "discard";
90
+ }
91
+ /**
92
+ * Simplified diagnostics for compiler use
93
+ */
94
+ export interface CompilerDiagnostics {
95
+ valid: boolean;
96
+ errors: CompilerDiagnostic[];
97
+ warnings: CompilerDiagnostic[];
98
+ }
99
+ export interface CompilerDiagnostic {
100
+ code: string;
101
+ message: string;
102
+ path?: string;
103
+ suggestion?: string;
104
+ }
105
+ /**
106
+ * Compiler state - full state of the compiler domain
107
+ */
108
+ export interface CompilerState {
109
+ input: string | null;
110
+ targetSchema: unknown | null;
111
+ context: CompilerContext | null;
112
+ maxRetries: number;
113
+ traceDrafts: boolean;
114
+ segments: string[];
115
+ intents: NormalizedIntent[];
116
+ currentDraft: unknown | null;
117
+ diagnostics: CompilerDiagnostics | null;
118
+ attemptCount: number;
119
+ attempts: AttemptRecord[];
120
+ resolutionOptions: ResolutionOption[];
121
+ resolutionReason: string | null;
122
+ status: CompilerStatus;
123
+ result: CoreDomainSchema | null;
124
+ resultHash: string | null;
125
+ discardReason: DiscardReason | null;
126
+ }
127
+ /**
128
+ * Compiler snapshot - exposed state with computed values
129
+ */
130
+ export interface CompilerSnapshot extends CompilerState {
131
+ isIdle: boolean;
132
+ isSegmenting: boolean;
133
+ isNormalizing: boolean;
134
+ isProposing: boolean;
135
+ isValidating: boolean;
136
+ isAwaitingResolution: boolean;
137
+ isTerminal: boolean;
138
+ canRetry: boolean;
139
+ }
140
+ /**
141
+ * Compiler options
142
+ */
143
+ export interface CompilerOptions {
144
+ /**
145
+ * LLM adapter for text processing.
146
+ * If provided, takes precedence over anthropic/openai options.
147
+ */
148
+ llmAdapter?: LLMAdapter;
149
+ /**
150
+ * Anthropic adapter options.
151
+ * Used if llmAdapter is not provided and openai is not specified.
152
+ */
153
+ anthropic?: {
154
+ apiKey?: string;
155
+ model?: string;
156
+ maxTokens?: number;
157
+ temperature?: number;
158
+ timeout?: number;
159
+ };
160
+ /**
161
+ * OpenAI adapter options.
162
+ * Used if llmAdapter is not provided. Takes precedence over anthropic.
163
+ */
164
+ openai?: {
165
+ apiKey?: string;
166
+ baseURL?: string;
167
+ organization?: string;
168
+ model?: string;
169
+ maxTokens?: number;
170
+ temperature?: number;
171
+ timeout?: number;
172
+ };
173
+ /**
174
+ * Resolution policy (default: 'discard')
175
+ */
176
+ resolutionPolicy?: CompilerResolutionPolicy;
177
+ /**
178
+ * Maximum retries (default: 5)
179
+ */
180
+ maxRetries?: number;
181
+ /**
182
+ * Whether to trace drafts (default: false)
183
+ */
184
+ traceDrafts?: boolean;
185
+ /**
186
+ * Telemetry hook for monitoring compilation (optional)
187
+ * Per SPEC §15.2
188
+ */
189
+ telemetry?: CompilerTelemetry;
190
+ }
191
+ /**
192
+ * Compile input
193
+ */
194
+ export interface CompileInput {
195
+ /**
196
+ * Natural language text to compile
197
+ */
198
+ text: string;
199
+ /**
200
+ * Target schema (optional)
201
+ */
202
+ schema?: unknown;
203
+ /**
204
+ * Additional context
205
+ */
206
+ context?: CompilerContext;
207
+ /**
208
+ * Override max retries
209
+ */
210
+ maxRetries?: number;
211
+ /**
212
+ * Override trace drafts
213
+ */
214
+ traceDrafts?: boolean;
215
+ }
216
+ /**
217
+ * LLM Result types
218
+ */
219
+ export type LLMResult<T> = {
220
+ ok: true;
221
+ data: T;
222
+ } | {
223
+ ok: "resolution";
224
+ reason: string;
225
+ options: ResolutionOption[];
226
+ } | {
227
+ ok: false;
228
+ error: string;
229
+ };
230
+ export type SegmentResult = LLMResult<{
231
+ segments: string[];
232
+ }>;
233
+ export type NormalizeResult = LLMResult<{
234
+ intents: NormalizedIntent[];
235
+ }>;
236
+ export type ProposeResult = LLMResult<{
237
+ draft: unknown;
238
+ }>;
239
+ /**
240
+ * LLM Adapter interface
241
+ */
242
+ export interface LLMAdapter {
243
+ /**
244
+ * Segment natural language text into requirement segments
245
+ */
246
+ segment(params: {
247
+ text: string;
248
+ }): Promise<SegmentResult>;
249
+ /**
250
+ * Normalize segments into structured intents
251
+ */
252
+ normalize(params: {
253
+ segments: string[];
254
+ schema: unknown;
255
+ context?: CompilerContext;
256
+ }): Promise<NormalizeResult>;
257
+ /**
258
+ * Propose a DomainDraft from intents
259
+ */
260
+ propose(params: {
261
+ schema: unknown;
262
+ intents: NormalizedIntent[];
263
+ history: AttemptRecord[];
264
+ context?: CompilerContext;
265
+ resolution?: string;
266
+ }): Promise<ProposeResult>;
267
+ }
268
+ /**
269
+ * Unsubscribe function
270
+ */
271
+ export type Unsubscribe = () => void;
272
+ /**
273
+ * Compiler interface
274
+ */
275
+ export interface Compiler {
276
+ /**
277
+ * Start compilation
278
+ */
279
+ start(input: CompileInput): Promise<void>;
280
+ /**
281
+ * Get current state
282
+ */
283
+ getSnapshot(): Promise<CompilerSnapshot>;
284
+ /**
285
+ * Subscribe to state changes
286
+ */
287
+ subscribe(callback: (state: CompilerSnapshot) => void): Unsubscribe;
288
+ /**
289
+ * Dispatch an action
290
+ */
291
+ dispatch(action: string, input?: unknown): Promise<void>;
292
+ /**
293
+ * Resolve ambiguity
294
+ */
295
+ resolve(selectedOptionId: string): Promise<void>;
296
+ /**
297
+ * Discard compilation
298
+ */
299
+ discard(reason?: DiscardReason): Promise<void>;
300
+ /**
301
+ * Reset to idle
302
+ */
303
+ reset(): Promise<void>;
304
+ }
305
+ /**
306
+ * Effect handler result - returned by effect handlers
307
+ */
308
+ export interface EffectHandlerResult {
309
+ action: string;
310
+ input: Record<string, unknown>;
311
+ }
312
+ /**
313
+ * Telemetry hook for monitoring compiler execution
314
+ *
315
+ * Per SPEC §15.2: Allows external systems to observe compilation progress
316
+ * for debugging, monitoring, and analytics purposes.
317
+ */
318
+ export interface CompilerTelemetry {
319
+ /**
320
+ * Called when compilation phase changes
321
+ * @param from - Previous status
322
+ * @param to - New status
323
+ */
324
+ onPhaseChange?(from: CompilerStatus, to: CompilerStatus): void;
325
+ /**
326
+ * Called when a validation attempt is recorded (when traceDrafts is true)
327
+ * @param attempt - The recorded attempt
328
+ */
329
+ onAttempt?(attempt: AttemptRecord): void;
330
+ /**
331
+ * Called when resolution is requested from external system
332
+ * @param reason - Why resolution is needed
333
+ * @param options - Available resolution options
334
+ */
335
+ onResolutionRequested?(reason: string, options: ResolutionOption[]): void;
336
+ /**
337
+ * Called when compilation completes (success or discarded)
338
+ * @param result - Final compiler snapshot
339
+ */
340
+ onComplete?(result: CompilerSnapshot): void;
341
+ /**
342
+ * Called when an effect is about to be executed
343
+ * @param effectType - Type of effect (e.g., 'llm:segment')
344
+ * @param params - Effect parameters
345
+ */
346
+ onEffectStart?(effectType: string, params: Record<string, unknown>): void;
347
+ /**
348
+ * Called when an effect completes
349
+ * @param effectType - Type of effect
350
+ * @param result - Effect handler result
351
+ */
352
+ onEffectEnd?(effectType: string, result: EffectHandlerResult): void;
353
+ /**
354
+ * Called on any error during compilation
355
+ * @param error - The error that occurred
356
+ * @param context - Context where error occurred (e.g., 'effect:llm:segment')
357
+ */
358
+ onError?(error: Error, context: string): void;
359
+ }
360
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/domain/types.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/domain/types.ts"],"names":[],"mappings":""}
@@ -0,0 +1,2 @@
1
+ export { createBuilderValidateHandler, type BuilderValidateHandler, type ValidateResult, } from "./validate-handler.js";
2
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/effects/builder/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,4BAA4B,EAC5B,KAAK,sBAAsB,EAC3B,KAAK,cAAc,GACpB,MAAM,uBAAuB,CAAC"}
@@ -0,0 +1,2 @@
1
+ export { createBuilderValidateHandler, } from "./validate-handler.js";
2
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/effects/builder/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,4BAA4B,GAG7B,MAAM,uBAAuB,CAAC"}
@@ -0,0 +1,27 @@
1
+ import type { EffectHandlerResult } from "../llm/handlers.js";
2
+ import type { CompilerDiagnostics } from "../../domain/types.js";
3
+ /**
4
+ * Builder validate effect handler type
5
+ */
6
+ export type BuilderValidateHandler = (params: Record<string, unknown>) => Promise<EffectHandlerResult>;
7
+ /**
8
+ * Create builder:validate effect handler
9
+ *
10
+ * Per FDR-C010: Builder.validateDomain() MUST be the sole judge of DomainDraft validity.
11
+ * Compiler MUST NOT implement validation logic.
12
+ *
13
+ * This handler wraps the Builder validation and returns the result as an action.
14
+ *
15
+ * @param validateFn - Optional custom validation function (for testing)
16
+ */
17
+ export declare function createBuilderValidateHandler(validateFn?: (draft: unknown) => ValidateResult): BuilderValidateHandler;
18
+ /**
19
+ * Validation result from Builder
20
+ */
21
+ export interface ValidateResult {
22
+ valid: boolean;
23
+ schema?: unknown;
24
+ schemaHash?: string;
25
+ diagnostics: CompilerDiagnostics;
26
+ }
27
+ //# sourceMappingURL=validate-handler.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"validate-handler.d.ts","sourceRoot":"","sources":["../../../src/effects/builder/validate-handler.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,oBAAoB,CAAC;AAC9D,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAEjE;;GAEG;AACH,MAAM,MAAM,sBAAsB,GAAG,CACnC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAC5B,OAAO,CAAC,mBAAmB,CAAC,CAAC;AAElC;;;;;;;;;GASG;AACH,wBAAgB,4BAA4B,CAC1C,UAAU,CAAC,EAAE,CAAC,KAAK,EAAE,OAAO,KAAK,cAAc,GAC9C,sBAAsB,CA+CxB;AAED;;GAEG;AACH,MAAM,WAAW,cAAc;IAC7B,KAAK,EAAE,OAAO,CAAC;IACf,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,WAAW,EAAE,mBAAmB,CAAC;CAClC"}
@@ -0,0 +1,153 @@
1
+ /**
2
+ * Create builder:validate effect handler
3
+ *
4
+ * Per FDR-C010: Builder.validateDomain() MUST be the sole judge of DomainDraft validity.
5
+ * Compiler MUST NOT implement validation logic.
6
+ *
7
+ * This handler wraps the Builder validation and returns the result as an action.
8
+ *
9
+ * @param validateFn - Optional custom validation function (for testing)
10
+ */
11
+ export function createBuilderValidateHandler(validateFn) {
12
+ const validate = validateFn ?? defaultValidate;
13
+ return async (params) => {
14
+ const draft = params.draft;
15
+ const timestamp = Date.now();
16
+ try {
17
+ const result = validate(draft);
18
+ return {
19
+ action: "receiveValidation",
20
+ input: {
21
+ valid: result.valid,
22
+ schema: result.valid ? result.schema : null,
23
+ diagnostics: result.diagnostics,
24
+ schemaHash: result.valid ? result.schemaHash : null,
25
+ timestamp,
26
+ },
27
+ };
28
+ }
29
+ catch (error) {
30
+ // Validation threw an error - treat as invalid
31
+ const message = error instanceof Error ? error.message : String(error);
32
+ const diagnostics = {
33
+ valid: false,
34
+ errors: [
35
+ {
36
+ code: "VALIDATION_ERROR",
37
+ message: `Builder validation threw: ${message}`,
38
+ },
39
+ ],
40
+ warnings: [],
41
+ };
42
+ return {
43
+ action: "receiveValidation",
44
+ input: {
45
+ valid: false,
46
+ schema: null,
47
+ diagnostics,
48
+ schemaHash: null,
49
+ timestamp,
50
+ },
51
+ };
52
+ }
53
+ };
54
+ }
55
+ /**
56
+ * Default validation function
57
+ *
58
+ * This is a placeholder that performs basic structural validation.
59
+ * In production, this would call the actual Builder.validateDomain().
60
+ *
61
+ * TODO: Integrate with actual @manifesto-ai/builder validateDomain
62
+ */
63
+ function defaultValidate(draft) {
64
+ // Basic structural validation
65
+ if (!draft || typeof draft !== "object") {
66
+ return {
67
+ valid: false,
68
+ diagnostics: {
69
+ valid: false,
70
+ errors: [{ code: "INVALID_DRAFT", message: "Draft must be an object" }],
71
+ warnings: [],
72
+ },
73
+ };
74
+ }
75
+ const d = draft;
76
+ // Check required fields
77
+ const requiredFields = ["id", "version", "state", "computed", "actions"];
78
+ const missingFields = requiredFields.filter((f) => !(f in d));
79
+ if (missingFields.length > 0) {
80
+ return {
81
+ valid: false,
82
+ diagnostics: {
83
+ valid: false,
84
+ errors: [
85
+ {
86
+ code: "MISSING_FIELDS",
87
+ message: `Draft missing required fields: ${missingFields.join(", ")}`,
88
+ },
89
+ ],
90
+ warnings: [],
91
+ },
92
+ };
93
+ }
94
+ // Check state structure
95
+ if (!d.state || typeof d.state !== "object") {
96
+ return {
97
+ valid: false,
98
+ diagnostics: {
99
+ valid: false,
100
+ errors: [{ code: "INVALID_STATE", message: "state must be an object" }],
101
+ warnings: [],
102
+ },
103
+ };
104
+ }
105
+ // Check computed structure
106
+ if (!d.computed || typeof d.computed !== "object") {
107
+ return {
108
+ valid: false,
109
+ diagnostics: {
110
+ valid: false,
111
+ errors: [{ code: "INVALID_COMPUTED", message: "computed must be an object" }],
112
+ warnings: [],
113
+ },
114
+ };
115
+ }
116
+ // Check actions structure
117
+ if (!d.actions || typeof d.actions !== "object") {
118
+ return {
119
+ valid: false,
120
+ diagnostics: {
121
+ valid: false,
122
+ errors: [{ code: "INVALID_ACTIONS", message: "actions must be an object" }],
123
+ warnings: [],
124
+ },
125
+ };
126
+ }
127
+ // Generate a simple hash
128
+ const schemaHash = generateSimpleHash(JSON.stringify(draft));
129
+ // Valid draft
130
+ return {
131
+ valid: true,
132
+ schema: draft,
133
+ schemaHash,
134
+ diagnostics: {
135
+ valid: true,
136
+ errors: [],
137
+ warnings: [],
138
+ },
139
+ };
140
+ }
141
+ /**
142
+ * Generate a simple hash for identification
143
+ */
144
+ function generateSimpleHash(content) {
145
+ let hash = 0;
146
+ for (let i = 0; i < content.length; i++) {
147
+ const char = content.charCodeAt(i);
148
+ hash = (hash << 5) - hash + char;
149
+ hash = hash & hash;
150
+ }
151
+ return Math.abs(hash).toString(16).padStart(8, "0");
152
+ }
153
+ //# sourceMappingURL=validate-handler.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"validate-handler.js","sourceRoot":"","sources":["../../../src/effects/builder/validate-handler.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ export * from "./llm/index.js";
2
+ export * from "./builder/index.js";
3
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/effects/index.ts"],"names":[],"mappings":"AACA,cAAc,gBAAgB,CAAC;AAG/B,cAAc,oBAAoB,CAAC"}
@@ -0,0 +1,5 @@
1
+ // LLM effects
2
+ export * from "./llm/index.js";
3
+ // Builder effects
4
+ export * from "./builder/index.js";
5
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/effects/index.ts"],"names":[],"mappings":"AAAA,cAAc;AACd,cAAc,gBAAgB,CAAC;AAE/B,kBAAkB;AAClB,cAAc,oBAAoB,CAAC"}