@x12i/made-easy 0.0.0-stage → 0.1.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 (169) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +57 -2
  3. package/dist/analysis.d.ts +19 -0
  4. package/dist/analysis.d.ts.map +1 -0
  5. package/dist/analysis.js +90 -0
  6. package/dist/analysis.js.map +1 -0
  7. package/dist/build.d.ts +36 -0
  8. package/dist/build.d.ts.map +1 -0
  9. package/dist/build.js +260 -0
  10. package/dist/build.js.map +1 -0
  11. package/dist/contracts/api.d.ts +447 -0
  12. package/dist/contracts/api.d.ts.map +1 -0
  13. package/dist/contracts/api.js +152 -0
  14. package/dist/contracts/api.js.map +1 -0
  15. package/dist/contracts/blocks.d.ts +221 -0
  16. package/dist/contracts/blocks.d.ts.map +1 -0
  17. package/dist/contracts/blocks.js +392 -0
  18. package/dist/contracts/blocks.js.map +1 -0
  19. package/dist/contracts/diagnostics.d.ts +111 -0
  20. package/dist/contracts/diagnostics.d.ts.map +1 -0
  21. package/dist/contracts/diagnostics.js +122 -0
  22. package/dist/contracts/diagnostics.js.map +1 -0
  23. package/dist/contracts/index.d.ts +11 -0
  24. package/dist/contracts/index.d.ts.map +1 -0
  25. package/dist/contracts/index.js +11 -0
  26. package/dist/contracts/index.js.map +1 -0
  27. package/dist/contracts/json-schema.d.ts +5 -0
  28. package/dist/contracts/json-schema.d.ts.map +1 -0
  29. package/dist/contracts/json-schema.js +41 -0
  30. package/dist/contracts/json-schema.js.map +1 -0
  31. package/dist/contracts/recipe.d.ts +535 -0
  32. package/dist/contracts/recipe.d.ts.map +1 -0
  33. package/dist/contracts/recipe.js +380 -0
  34. package/dist/contracts/recipe.js.map +1 -0
  35. package/dist/contracts/schemas.d.ts +413 -0
  36. package/dist/contracts/schemas.d.ts.map +1 -0
  37. package/dist/contracts/schemas.js +205 -0
  38. package/dist/contracts/schemas.js.map +1 -0
  39. package/dist/draft.d.ts +157 -0
  40. package/dist/draft.d.ts.map +1 -0
  41. package/dist/draft.js +254 -0
  42. package/dist/draft.js.map +1 -0
  43. package/dist/emit-assets.d.ts +2 -0
  44. package/dist/emit-assets.d.ts.map +1 -0
  45. package/dist/emit-assets.js +27 -0
  46. package/dist/emit-assets.js.map +1 -0
  47. package/dist/index.d.ts +25 -0
  48. package/dist/index.d.ts.map +1 -0
  49. package/dist/index.js +30 -0
  50. package/dist/index.js.map +1 -0
  51. package/dist/markdown-doc.d.ts +59 -0
  52. package/dist/markdown-doc.d.ts.map +1 -0
  53. package/dist/markdown-doc.js +187 -0
  54. package/dist/markdown-doc.js.map +1 -0
  55. package/dist/model.d.ts +54 -0
  56. package/dist/model.d.ts.map +1 -0
  57. package/dist/model.js +244 -0
  58. package/dist/model.js.map +1 -0
  59. package/dist/normalize.d.ts +63 -0
  60. package/dist/normalize.d.ts.map +1 -0
  61. package/dist/normalize.js +54 -0
  62. package/dist/normalize.js.map +1 -0
  63. package/dist/npm.d.ts +24 -0
  64. package/dist/npm.d.ts.map +1 -0
  65. package/dist/npm.js +51 -0
  66. package/dist/npm.js.map +1 -0
  67. package/dist/render/blocks.d.ts +17 -0
  68. package/dist/render/blocks.d.ts.map +1 -0
  69. package/dist/render/blocks.js +384 -0
  70. package/dist/render/blocks.js.map +1 -0
  71. package/dist/render/brief.d.ts +77 -0
  72. package/dist/render/brief.d.ts.map +1 -0
  73. package/dist/render/brief.js +62 -0
  74. package/dist/render/brief.js.map +1 -0
  75. package/dist/render/context.d.ts +43 -0
  76. package/dist/render/context.d.ts.map +1 -0
  77. package/dist/render/context.js +88 -0
  78. package/dist/render/context.js.map +1 -0
  79. package/dist/render/html.d.ts +19 -0
  80. package/dist/render/html.d.ts.map +1 -0
  81. package/dist/render/html.js +178 -0
  82. package/dist/render/html.js.map +1 -0
  83. package/dist/render/markdown-out.d.ts +11 -0
  84. package/dist/render/markdown-out.d.ts.map +1 -0
  85. package/dist/render/markdown-out.js +121 -0
  86. package/dist/render/markdown-out.js.map +1 -0
  87. package/dist/render/pdf.d.ts +23 -0
  88. package/dist/render/pdf.d.ts.map +1 -0
  89. package/dist/render/pdf.js +138 -0
  90. package/dist/render/pdf.js.map +1 -0
  91. package/dist/render/prose.d.ts +15 -0
  92. package/dist/render/prose.d.ts.map +1 -0
  93. package/dist/render/prose.js +110 -0
  94. package/dist/render/prose.js.map +1 -0
  95. package/dist/scaffold.d.ts +13 -0
  96. package/dist/scaffold.d.ts.map +1 -0
  97. package/dist/scaffold.js +393 -0
  98. package/dist/scaffold.js.map +1 -0
  99. package/dist/sdk.d.ts +56 -0
  100. package/dist/sdk.d.ts.map +1 -0
  101. package/dist/sdk.js +238 -0
  102. package/dist/sdk.js.map +1 -0
  103. package/dist/source.d.ts +57 -0
  104. package/dist/source.d.ts.map +1 -0
  105. package/dist/source.js +289 -0
  106. package/dist/source.js.map +1 -0
  107. package/dist/theme/book.d.ts +10 -0
  108. package/dist/theme/book.d.ts.map +1 -0
  109. package/dist/theme/book.js +198 -0
  110. package/dist/theme/book.js.map +1 -0
  111. package/dist/util.d.ts +14 -0
  112. package/dist/util.d.ts.map +1 -0
  113. package/dist/util.js +69 -0
  114. package/dist/util.js.map +1 -0
  115. package/dist/validate.d.ts +36 -0
  116. package/dist/validate.d.ts.map +1 -0
  117. package/dist/validate.js +986 -0
  118. package/dist/validate.js.map +1 -0
  119. package/dist/verify.d.ts +35 -0
  120. package/dist/verify.d.ts.map +1 -0
  121. package/dist/verify.js +112 -0
  122. package/dist/verify.js.map +1 -0
  123. package/dist/version.d.ts +3 -0
  124. package/dist/version.d.ts.map +1 -0
  125. package/dist/version.js +4 -0
  126. package/dist/version.js.map +1 -0
  127. package/dist/yamlfile.d.ts +22 -0
  128. package/dist/yamlfile.d.ts.map +1 -0
  129. package/dist/yamlfile.js +129 -0
  130. package/dist/yamlfile.js.map +1 -0
  131. package/package.json +64 -4
  132. package/recipes/index.json +282 -0
  133. package/recipes/shared-1.0.0.json +456 -0
  134. package/schemas/artifact.v1.json +36 -0
  135. package/schemas/assets.v1.json +61 -0
  136. package/schemas/block.v1.json +27 -0
  137. package/schemas/blocks/brief.v1.json +20 -0
  138. package/schemas/blocks/callout.v1.json +25 -0
  139. package/schemas/blocks/code.v1.json +21 -0
  140. package/schemas/blocks/decision.v1.json +80 -0
  141. package/schemas/blocks/evidence-comparison.v1.json +33 -0
  142. package/schemas/blocks/example.v1.json +52 -0
  143. package/schemas/blocks/figure.v1.json +22 -0
  144. package/schemas/blocks/human-action.v1.json +42 -0
  145. package/schemas/blocks/job-map.v1.json +170 -0
  146. package/schemas/blocks/pause.v1.json +25 -0
  147. package/schemas/blocks/reference-profile.v1.json +41 -0
  148. package/schemas/blocks/review-checklist.v1.json +19 -0
  149. package/schemas/blocks/table.v1.json +59 -0
  150. package/schemas/brief.v1.json +157 -0
  151. package/schemas/build-request.v1.json +173 -0
  152. package/schemas/build-result.v1.json +171 -0
  153. package/schemas/checks.v1.json +149 -0
  154. package/schemas/create-request.v1.json +47 -0
  155. package/schemas/diagnostic.v1.json +50 -0
  156. package/schemas/draft-request.v1.json +196 -0
  157. package/schemas/guide.v1.json +172 -0
  158. package/schemas/job.v1.json +107 -0
  159. package/schemas/preview-request.v1.json +153 -0
  160. package/schemas/preview-result.v1.json +84 -0
  161. package/schemas/problem.v1.json +78 -0
  162. package/schemas/recipe-definition.v1.json +673 -0
  163. package/schemas/source-ref.v1.json +111 -0
  164. package/schemas/sources.v1.json +158 -0
  165. package/schemas/validate-request.v1.json +135 -0
  166. package/schemas/validate-result.v1.json +110 -0
  167. package/schemas/verification.v1.json +77 -0
  168. package/themes/book/1.0.0/theme.css +190 -0
  169. package/themes/book/1.0.0/theme.json +5 -0
@@ -0,0 +1,221 @@
1
+ import { z } from 'zod';
2
+ import { type RefKind } from './schemas.js';
3
+ export declare const DecisionOptionSchema: z.ZodObject<{
4
+ id: z.ZodString;
5
+ label: z.ZodString;
6
+ kind: z.ZodOptional<z.ZodEnum<{
7
+ other: "other";
8
+ accept: "accept";
9
+ rerun: "rerun";
10
+ authorize: "authorize";
11
+ escalate: "escalate";
12
+ }>>;
13
+ decidedBy: z.ZodOptional<z.ZodString>;
14
+ when: z.ZodOptional<z.ZodString>;
15
+ consequence: z.ZodOptional<z.ZodString>;
16
+ rationale: z.ZodOptional<z.ZodString>;
17
+ evidence: z.ZodOptional<z.ZodArray<z.ZodString>>;
18
+ }, z.core.$strict>;
19
+ export declare const DecisionPropsSchema: z.ZodObject<{
20
+ job: z.ZodOptional<z.ZodString>;
21
+ question: z.ZodOptional<z.ZodString>;
22
+ owner: z.ZodOptional<z.ZodString>;
23
+ dependsOn: z.ZodOptional<z.ZodArray<z.ZodString>>;
24
+ options: z.ZodOptional<z.ZodArray<z.ZodObject<{
25
+ id: z.ZodString;
26
+ label: z.ZodString;
27
+ kind: z.ZodOptional<z.ZodEnum<{
28
+ other: "other";
29
+ accept: "accept";
30
+ rerun: "rerun";
31
+ authorize: "authorize";
32
+ escalate: "escalate";
33
+ }>>;
34
+ decidedBy: z.ZodOptional<z.ZodString>;
35
+ when: z.ZodOptional<z.ZodString>;
36
+ consequence: z.ZodOptional<z.ZodString>;
37
+ rationale: z.ZodOptional<z.ZodString>;
38
+ evidence: z.ZodOptional<z.ZodArray<z.ZodString>>;
39
+ }, z.core.$strict>>>;
40
+ evidence: z.ZodOptional<z.ZodArray<z.ZodString>>;
41
+ }, z.core.$strict>;
42
+ export declare const JobMapPropsSchema: z.ZodObject<{
43
+ inputs: z.ZodOptional<z.ZodArray<z.ZodObject<{
44
+ id: z.ZodString;
45
+ label: z.ZodString;
46
+ description: z.ZodOptional<z.ZodString>;
47
+ }, z.core.$strict>>>;
48
+ stages: z.ZodOptional<z.ZodArray<z.ZodObject<{
49
+ id: z.ZodString;
50
+ label: z.ZodString;
51
+ actor: z.ZodEnum<{
52
+ human: "human";
53
+ operator: "operator";
54
+ system: "system";
55
+ }>;
56
+ description: z.ZodOptional<z.ZodString>;
57
+ }, z.core.$strict>>>;
58
+ outputs: z.ZodOptional<z.ZodArray<z.ZodObject<{
59
+ id: z.ZodString;
60
+ label: z.ZodString;
61
+ description: z.ZodOptional<z.ZodString>;
62
+ }, z.core.$strict>>>;
63
+ sideEffects: z.ZodOptional<z.ZodArray<z.ZodObject<{
64
+ id: z.ZodString;
65
+ label: z.ZodString;
66
+ reversible: z.ZodOptional<z.ZodBoolean>;
67
+ }, z.core.$strict>>>;
68
+ failurePoints: z.ZodOptional<z.ZodArray<z.ZodObject<{
69
+ id: z.ZodString;
70
+ stage: z.ZodOptional<z.ZodString>;
71
+ description: z.ZodString;
72
+ interpretation: z.ZodOptional<z.ZodString>;
73
+ recovery: z.ZodOptional<z.ZodString>;
74
+ }, z.core.$strict>>>;
75
+ mechanisms: z.ZodOptional<z.ZodArray<z.ZodObject<{
76
+ id: z.ZodString;
77
+ name: z.ZodString;
78
+ explanation: z.ZodString;
79
+ decisionImpact: z.ZodOptional<z.ZodString>;
80
+ }, z.core.$strict>>>;
81
+ textEquivalent: z.ZodOptional<z.ZodString>;
82
+ }, z.core.$strict>;
83
+ export declare const HumanActionPropsSchema: z.ZodObject<{
84
+ kind: z.ZodEnum<{
85
+ decision: "decision";
86
+ action: "action";
87
+ delegated: "delegated";
88
+ }>;
89
+ actor: z.ZodOptional<z.ZodString>;
90
+ action: z.ZodOptional<z.ZodString>;
91
+ steps: z.ZodOptional<z.ZodArray<z.ZodString>>;
92
+ mayContinue: z.ZodOptional<z.ZodString>;
93
+ resume: z.ZodOptional<z.ZodString>;
94
+ pause: z.ZodOptional<z.ZodString>;
95
+ }, z.core.$strict>;
96
+ export declare const PausePropsSchema: z.ZodObject<{
97
+ rule: z.ZodString;
98
+ note: z.ZodOptional<z.ZodString>;
99
+ exceptions: z.ZodOptional<z.ZodArray<z.ZodString>>;
100
+ }, z.core.$strict>;
101
+ export declare const BriefPropsSchema: z.ZodObject<{
102
+ view: z.ZodOptional<z.ZodEnum<{
103
+ both: "both";
104
+ worked: "worked";
105
+ template: "template";
106
+ }>>;
107
+ title: z.ZodOptional<z.ZodString>;
108
+ }, z.core.$strict>;
109
+ export declare const ReviewChecklistPropsSchema: z.ZodObject<{
110
+ title: z.ZodOptional<z.ZodString>;
111
+ checks: z.ZodOptional<z.ZodArray<z.ZodString>>;
112
+ }, z.core.$strict>;
113
+ export declare const EvidenceComparisonPropsSchema: z.ZodObject<{
114
+ usable: z.ZodOptional<z.ZodString>;
115
+ flawed: z.ZodOptional<z.ZodString>;
116
+ decisiveChecks: z.ZodOptional<z.ZodArray<z.ZodString>>;
117
+ recovery: z.ZodOptional<z.ZodString>;
118
+ partialWhen: z.ZodOptional<z.ZodString>;
119
+ invalidWhen: z.ZodOptional<z.ZodString>;
120
+ }, z.core.$strict>;
121
+ export declare const CalloutPropsSchema: z.ZodObject<{
122
+ variant: z.ZodOptional<z.ZodEnum<{
123
+ warning: "warning";
124
+ info: "info";
125
+ success: "success";
126
+ risk: "risk";
127
+ exception: "exception";
128
+ }>>;
129
+ title: z.ZodOptional<z.ZodString>;
130
+ text: z.ZodOptional<z.ZodString>;
131
+ }, z.core.$strict>;
132
+ export declare const CodePropsSchema: z.ZodObject<{
133
+ language: z.ZodOptional<z.ZodString>;
134
+ caption: z.ZodOptional<z.ZodString>;
135
+ code: z.ZodString;
136
+ }, z.core.$strict>;
137
+ export declare const TablePropsSchema: z.ZodObject<{
138
+ caption: z.ZodOptional<z.ZodString>;
139
+ columns: z.ZodArray<z.ZodObject<{
140
+ key: z.ZodString;
141
+ label: z.ZodString;
142
+ align: z.ZodOptional<z.ZodEnum<{
143
+ left: "left";
144
+ right: "right";
145
+ center: "center";
146
+ }>>;
147
+ }, z.core.$strict>>;
148
+ rows: z.ZodArray<z.ZodRecord<z.ZodString, z.ZodUnion<readonly [z.ZodString, z.ZodNumber, z.ZodBoolean]>>>;
149
+ }, z.core.$strict>;
150
+ export declare const FigurePropsSchema: z.ZodObject<{
151
+ asset: z.ZodString;
152
+ caption: z.ZodOptional<z.ZodString>;
153
+ alt: z.ZodOptional<z.ZodString>;
154
+ }, z.core.$strict>;
155
+ export declare const ReferenceProfilePropsSchema: z.ZodObject<{
156
+ profile: z.ZodEnum<{
157
+ market: "market";
158
+ product: "product";
159
+ service: "service";
160
+ sdk: "sdk";
161
+ }>;
162
+ fields: z.ZodRecord<z.ZodString, z.ZodUnion<readonly [z.ZodString, z.ZodArray<z.ZodString>]>>;
163
+ }, z.core.$strict>;
164
+ export declare const ExamplePropsSchema: z.ZodObject<{
165
+ title: z.ZodOptional<z.ZodString>;
166
+ language: z.ZodOptional<z.ZodString>;
167
+ runtime: z.ZodOptional<z.ZodString>;
168
+ fixture: z.ZodOptional<z.ZodString>;
169
+ files: z.ZodOptional<z.ZodArray<z.ZodString>>;
170
+ setup: z.ZodOptional<z.ZodArray<z.ZodString>>;
171
+ run: z.ZodOptional<z.ZodArray<z.ZodString>>;
172
+ expected: z.ZodOptional<z.ZodString>;
173
+ executable: z.ZodOptional<z.ZodBoolean>;
174
+ summary: z.ZodOptional<z.ZodString>;
175
+ }, z.core.$strict>;
176
+ export declare const BLOCK_TYPES: readonly ["decision", "job-map", "human-action", "pause", "brief", "review-checklist", "evidence-comparison", "callout", "code", "table", "figure", "reference-profile", "example"];
177
+ export type BlockType = (typeof BLOCK_TYPES)[number];
178
+ export declare const BlockEnvelopeSchema: z.ZodObject<{
179
+ id: z.ZodString;
180
+ type: z.ZodString;
181
+ props: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
182
+ }, z.core.$strict>;
183
+ export type FieldKind = 'text' | 'textarea' | 'select' | 'boolean' | 'string-list' | 'ref-list' | 'id-list' | 'id' | 'code' | 'list' | 'record';
184
+ export interface FieldDescriptor {
185
+ key: string;
186
+ label: string;
187
+ kind: FieldKind;
188
+ help?: string;
189
+ options?: readonly string[];
190
+ /** Child fields for `list` items. */
191
+ item?: FieldDescriptor[];
192
+ refKinds?: RefKind[];
193
+ language?: string;
194
+ }
195
+ export interface BlockDefinition {
196
+ type: BlockType;
197
+ title: string;
198
+ summary: string;
199
+ schema: z.ZodType;
200
+ fields: FieldDescriptor[];
201
+ /** Props inserted by editors when the block is added. */
202
+ template: () => Record<string, unknown>;
203
+ }
204
+ export declare const BLOCK_DEFINITIONS: Record<BlockType, BlockDefinition>;
205
+ export declare function isBlockType(value: string): value is BlockType;
206
+ export declare function listBlockDefinitions(): BlockDefinition[];
207
+ /** Props types inferred from the block schemas. */
208
+ export type DecisionProps = z.infer<typeof DecisionPropsSchema>;
209
+ export type JobMapProps = z.infer<typeof JobMapPropsSchema>;
210
+ export type HumanActionProps = z.infer<typeof HumanActionPropsSchema>;
211
+ export type PauseProps = z.infer<typeof PausePropsSchema>;
212
+ export type BriefProps = z.infer<typeof BriefPropsSchema>;
213
+ export type ReviewChecklistProps = z.infer<typeof ReviewChecklistPropsSchema>;
214
+ export type EvidenceComparisonProps = z.infer<typeof EvidenceComparisonPropsSchema>;
215
+ export type CalloutProps = z.infer<typeof CalloutPropsSchema>;
216
+ export type CodeProps = z.infer<typeof CodePropsSchema>;
217
+ export type TableProps = z.infer<typeof TablePropsSchema>;
218
+ export type FigureProps = z.infer<typeof FigurePropsSchema>;
219
+ export type ReferenceProfileProps = z.infer<typeof ReferenceProfilePropsSchema>;
220
+ export type ExampleProps = z.infer<typeof ExamplePropsSchema>;
221
+ //# sourceMappingURL=blocks.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"blocks.d.ts","sourceRoot":"","sources":["../../src/contracts/blocks.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,392 @@
1
+ import { z } from 'zod';
2
+ import { IdSchema, RefSchema, RelPathSchema, SubjectTypeSchema } from './schemas.js';
3
+ /* ------------------------------------------------------------------------ *
4
+ * Typed props for every structured block. Fields are optional at the schema
5
+ * level so that drafts can hold explicit placeholders; the recipe decides
6
+ * which fields are required (draft = warning, release = error).
7
+ * ------------------------------------------------------------------------ */
8
+ const T = z.string();
9
+ const StrList = z.array(z.string());
10
+ export const DecisionOptionSchema = z.strictObject({
11
+ id: IdSchema,
12
+ label: T,
13
+ kind: z.enum(['accept', 'rerun', 'authorize', 'escalate', 'other']).optional(),
14
+ decidedBy: T.optional(),
15
+ when: T.optional(),
16
+ consequence: T.optional(),
17
+ rationale: T.optional(),
18
+ evidence: z.array(RefSchema).optional(),
19
+ });
20
+ export const DecisionPropsSchema = z.strictObject({
21
+ job: T.optional(),
22
+ question: T.optional(),
23
+ owner: T.optional(),
24
+ dependsOn: StrList.optional(),
25
+ options: z.array(DecisionOptionSchema).optional(),
26
+ evidence: z.array(RefSchema).optional(),
27
+ });
28
+ export const JobMapPropsSchema = z.strictObject({
29
+ inputs: z.array(z.strictObject({ id: IdSchema, label: T, description: T.optional() })).optional(),
30
+ stages: z
31
+ .array(z.strictObject({
32
+ id: IdSchema,
33
+ label: T,
34
+ actor: z.enum(['human', 'operator', 'system']),
35
+ description: T.optional(),
36
+ }))
37
+ .optional(),
38
+ outputs: z.array(z.strictObject({ id: IdSchema, label: T, description: T.optional() })).optional(),
39
+ sideEffects: z
40
+ .array(z.strictObject({ id: IdSchema, label: T, reversible: z.boolean().optional() }))
41
+ .optional(),
42
+ failurePoints: z
43
+ .array(z.strictObject({
44
+ id: IdSchema,
45
+ stage: IdSchema.optional(),
46
+ description: T,
47
+ interpretation: T.optional(),
48
+ recovery: T.optional(),
49
+ }))
50
+ .optional(),
51
+ mechanisms: z
52
+ .array(z.strictObject({ id: IdSchema, name: T, explanation: T, decisionImpact: T.optional() }))
53
+ .optional(),
54
+ textEquivalent: T.optional(),
55
+ });
56
+ export const HumanActionPropsSchema = z.strictObject({
57
+ kind: z.enum(['decision', 'action', 'delegated']),
58
+ actor: T.optional(),
59
+ action: T.optional(),
60
+ steps: StrList.optional(),
61
+ mayContinue: T.optional(),
62
+ resume: T.optional(),
63
+ pause: IdSchema.optional(),
64
+ });
65
+ export const PausePropsSchema = z.strictObject({
66
+ rule: IdSchema,
67
+ note: T.optional(),
68
+ exceptions: StrList.optional(),
69
+ });
70
+ export const BriefPropsSchema = z.strictObject({
71
+ view: z.enum(['both', 'worked', 'template']).optional(),
72
+ title: T.optional(),
73
+ });
74
+ export const ReviewChecklistPropsSchema = z.strictObject({
75
+ title: T.optional(),
76
+ checks: z.array(IdSchema).optional(),
77
+ });
78
+ export const EvidenceComparisonPropsSchema = z.strictObject({
79
+ usable: IdSchema.optional(),
80
+ flawed: IdSchema.optional(),
81
+ decisiveChecks: z.array(IdSchema).optional(),
82
+ recovery: T.optional(),
83
+ partialWhen: T.optional(),
84
+ invalidWhen: T.optional(),
85
+ });
86
+ export const CalloutPropsSchema = z.strictObject({
87
+ variant: z.enum(['info', 'success', 'warning', 'risk', 'exception']).optional(),
88
+ title: T.optional(),
89
+ text: T.optional(),
90
+ });
91
+ export const CodePropsSchema = z.strictObject({
92
+ language: T.optional(),
93
+ caption: T.optional(),
94
+ code: T,
95
+ });
96
+ export const TablePropsSchema = z.strictObject({
97
+ caption: T.optional(),
98
+ columns: z.array(z.strictObject({ key: T, label: T, align: z.enum(['left', 'right', 'center']).optional() })),
99
+ rows: z.array(z.record(z.string(), z.union([z.string(), z.number(), z.boolean()]))),
100
+ });
101
+ export const FigurePropsSchema = z.strictObject({
102
+ asset: IdSchema,
103
+ caption: T.optional(),
104
+ alt: T.optional(),
105
+ });
106
+ export const ReferenceProfilePropsSchema = z.strictObject({
107
+ profile: SubjectTypeSchema,
108
+ fields: z.record(z.string(), z.union([T, StrList])),
109
+ });
110
+ export const ExamplePropsSchema = z.strictObject({
111
+ title: T.optional(),
112
+ language: T.optional(),
113
+ runtime: T.optional(),
114
+ /** Bundle-relative fixture directory, for example operator/fixtures/build-guide. */
115
+ fixture: RelPathSchema.optional(),
116
+ /** Fixture files shown in the reference. */
117
+ files: z.array(RelPathSchema).optional(),
118
+ setup: StrList.optional(),
119
+ run: StrList.optional(),
120
+ expected: T.optional(),
121
+ executable: z.boolean().optional(),
122
+ summary: T.optional(),
123
+ });
124
+ export const BLOCK_TYPES = [
125
+ 'decision',
126
+ 'job-map',
127
+ 'human-action',
128
+ 'pause',
129
+ 'brief',
130
+ 'review-checklist',
131
+ 'evidence-comparison',
132
+ 'callout',
133
+ 'code',
134
+ 'table',
135
+ 'figure',
136
+ 'reference-profile',
137
+ 'example',
138
+ ];
139
+ export const BlockEnvelopeSchema = z.strictObject({
140
+ id: IdSchema,
141
+ type: z.string(),
142
+ props: z.record(z.string(), z.unknown()).optional(),
143
+ });
144
+ const todo = (what) => `[[TODO: ${what}]]`;
145
+ const optionFields = [
146
+ { key: 'id', label: 'ID', kind: 'id' },
147
+ { key: 'label', label: 'Label', kind: 'text' },
148
+ { key: 'kind', label: 'Kind', kind: 'select', options: ['accept', 'rerun', 'authorize', 'escalate', 'other'] },
149
+ { key: 'decidedBy', label: 'Decided by', kind: 'text' },
150
+ { key: 'when', label: 'When this applies', kind: 'text' },
151
+ { key: 'consequence', label: 'Consequence', kind: 'textarea' },
152
+ { key: 'rationale', label: 'Rationale', kind: 'textarea' },
153
+ { key: 'evidence', label: 'Evidence links', kind: 'ref-list', refKinds: ['check', 'claim', 'source', 'result'] },
154
+ ];
155
+ const labelled = (extra = []) => [
156
+ { key: 'id', label: 'ID', kind: 'id' },
157
+ { key: 'label', label: 'Label', kind: 'text' },
158
+ ...extra,
159
+ ];
160
+ export const BLOCK_DEFINITIONS = {
161
+ decision: {
162
+ type: 'decision',
163
+ title: 'Decision',
164
+ summary: 'Question, owner, options, consequences, and evidence links.',
165
+ schema: DecisionPropsSchema,
166
+ fields: [
167
+ { key: 'job', label: 'The one concrete job', kind: 'textarea' },
168
+ { key: 'question', label: 'Question this answers', kind: 'textarea' },
169
+ { key: 'owner', label: 'Decision owner', kind: 'text' },
170
+ { key: 'dependsOn', label: 'The decision depends on', kind: 'string-list' },
171
+ { key: 'options', label: 'Options', kind: 'list', item: optionFields },
172
+ { key: 'evidence', label: 'Evidence links', kind: 'ref-list', refKinds: ['check', 'claim', 'source', 'result'] },
173
+ ],
174
+ template: () => ({
175
+ job: todo('state the one concrete job'),
176
+ question: todo('the question this decision answers'),
177
+ owner: todo('who owns the decision'),
178
+ dependsOn: [todo('what the decision depends on')],
179
+ options: [],
180
+ }),
181
+ },
182
+ 'job-map': {
183
+ type: 'job-map',
184
+ title: 'Job map',
185
+ summary: 'Inputs, stages, actor, outputs, and side effects, with a text equivalent.',
186
+ schema: JobMapPropsSchema,
187
+ fields: [
188
+ { key: 'inputs', label: 'Inputs', kind: 'list', item: labelled([{ key: 'description', label: 'Description', kind: 'text' }]) },
189
+ {
190
+ key: 'stages',
191
+ label: 'Operator stages',
192
+ kind: 'list',
193
+ item: labelled([
194
+ { key: 'actor', label: 'Actor', kind: 'select', options: ['human', 'operator', 'system'] },
195
+ { key: 'description', label: 'Description', kind: 'textarea' },
196
+ ]),
197
+ },
198
+ { key: 'outputs', label: 'Outputs', kind: 'list', item: labelled([{ key: 'description', label: 'Description', kind: 'text' }]) },
199
+ { key: 'sideEffects', label: 'Side effects', kind: 'list', item: labelled([{ key: 'reversible', label: 'Reversible', kind: 'boolean' }]) },
200
+ {
201
+ key: 'failurePoints',
202
+ label: 'Failure points',
203
+ kind: 'list',
204
+ item: [
205
+ { key: 'id', label: 'ID', kind: 'id' },
206
+ { key: 'stage', label: 'Stage ID', kind: 'id' },
207
+ { key: 'description', label: 'What fails', kind: 'textarea' },
208
+ { key: 'interpretation', label: 'How to read the failure', kind: 'textarea' },
209
+ { key: 'recovery', label: 'Recovery', kind: 'textarea' },
210
+ ],
211
+ },
212
+ {
213
+ key: 'mechanisms',
214
+ label: 'Mechanisms that change a decision',
215
+ kind: 'list',
216
+ item: [
217
+ { key: 'id', label: 'ID', kind: 'id' },
218
+ { key: 'name', label: 'Name', kind: 'text' },
219
+ { key: 'explanation', label: 'Explanation', kind: 'textarea' },
220
+ { key: 'decisionImpact', label: 'Decision impact', kind: 'textarea' },
221
+ ],
222
+ },
223
+ { key: 'textEquivalent', label: 'Text equivalent (optional override)', kind: 'textarea' },
224
+ ],
225
+ template: () => ({
226
+ inputs: [{ id: 'input-1', label: todo('input') }],
227
+ stages: [{ id: 'stage-1', label: todo('stage'), actor: 'operator' }],
228
+ outputs: [{ id: 'output-1', label: todo('output') }],
229
+ sideEffects: [],
230
+ failurePoints: [{ id: 'failure-1', description: todo('what can fail') }],
231
+ }),
232
+ },
233
+ 'human-action': {
234
+ type: 'human-action',
235
+ title: 'Human action',
236
+ summary: 'Who acts, what they do, what may continue, and how to resume.',
237
+ schema: HumanActionPropsSchema,
238
+ fields: [
239
+ { key: 'kind', label: 'Kind', kind: 'select', options: ['decision', 'action', 'delegated'] },
240
+ { key: 'actor', label: 'Who acts', kind: 'text' },
241
+ { key: 'action', label: 'What they do', kind: 'textarea' },
242
+ { key: 'steps', label: 'Exact steps', kind: 'string-list' },
243
+ { key: 'mayContinue', label: 'What may continue meanwhile', kind: 'text' },
244
+ { key: 'resume', label: 'How to resume', kind: 'text' },
245
+ { key: 'pause', label: 'Related pause rule ID', kind: 'id' },
246
+ ],
247
+ template: () => ({ kind: 'action', actor: todo('who acts'), action: todo('what they do') }),
248
+ },
249
+ pause: {
250
+ type: 'pause',
251
+ title: 'Pause rule',
252
+ summary: 'Trigger, decision owner, work that may continue, and the resume condition (from brief.yaml).',
253
+ schema: PausePropsSchema,
254
+ fields: [
255
+ { key: 'rule', label: 'Pause rule ID (brief.yaml)', kind: 'id' },
256
+ { key: 'note', label: 'Note', kind: 'textarea' },
257
+ { key: 'exceptions', label: 'Exceptions', kind: 'string-list' },
258
+ ],
259
+ template: () => ({ rule: 'pause-1' }),
260
+ },
261
+ brief: {
262
+ type: 'brief',
263
+ title: 'Operator brief',
264
+ summary: 'Worked brief and blank template from brief.yaml, linked to the pinned reference revision.',
265
+ schema: BriefPropsSchema,
266
+ fields: [
267
+ { key: 'view', label: 'View', kind: 'select', options: ['both', 'worked', 'template'] },
268
+ { key: 'title', label: 'Title', kind: 'text' },
269
+ ],
270
+ template: () => ({ view: 'both' }),
271
+ },
272
+ 'review-checklist': {
273
+ type: 'review-checklist',
274
+ title: 'Review checklist',
275
+ summary: 'Printable acceptance checklist drawn from checks.yaml.',
276
+ schema: ReviewChecklistPropsSchema,
277
+ fields: [
278
+ { key: 'title', label: 'Title', kind: 'text' },
279
+ { key: 'checks', label: 'Check IDs (default: all acceptance checks)', kind: 'id-list' },
280
+ ],
281
+ template: () => ({}),
282
+ },
283
+ 'evidence-comparison': {
284
+ type: 'evidence-comparison',
285
+ title: 'Evidence comparison',
286
+ summary: 'A usable and a flawed result against the same checks, with decisive checks and recovery.',
287
+ schema: EvidenceComparisonPropsSchema,
288
+ fields: [
289
+ { key: 'usable', label: 'Usable result ID', kind: 'id' },
290
+ { key: 'flawed', label: 'Flawed result ID', kind: 'id' },
291
+ { key: 'decisiveChecks', label: 'Decisive check IDs', kind: 'id-list' },
292
+ { key: 'partialWhen', label: 'What makes a result partial', kind: 'textarea' },
293
+ { key: 'invalidWhen', label: 'What makes a result invalid', kind: 'textarea' },
294
+ { key: 'recovery', label: 'Recovery action', kind: 'textarea' },
295
+ ],
296
+ template: () => ({ usable: 'result-usable', flawed: 'result-flawed', decisiveChecks: [] }),
297
+ },
298
+ callout: {
299
+ type: 'callout',
300
+ title: 'Callout',
301
+ summary: 'Information, success, warning, risk, or exception note.',
302
+ schema: CalloutPropsSchema,
303
+ fields: [
304
+ { key: 'variant', label: 'Variant', kind: 'select', options: ['info', 'success', 'warning', 'risk', 'exception'] },
305
+ { key: 'title', label: 'Title', kind: 'text' },
306
+ { key: 'text', label: 'Text', kind: 'textarea' },
307
+ ],
308
+ template: () => ({ variant: 'info', text: todo('callout text') }),
309
+ },
310
+ code: {
311
+ type: 'code',
312
+ title: 'Code',
313
+ summary: 'Literal code with language and caption.',
314
+ schema: CodePropsSchema,
315
+ fields: [
316
+ { key: 'language', label: 'Language', kind: 'text' },
317
+ { key: 'caption', label: 'Caption', kind: 'text' },
318
+ { key: 'code', label: 'Code', kind: 'code' },
319
+ ],
320
+ template: () => ({ language: 'text', code: '' }),
321
+ },
322
+ table: {
323
+ type: 'table',
324
+ title: 'Table',
325
+ summary: 'Typed rows with aligned columns and a caption.',
326
+ schema: TablePropsSchema,
327
+ fields: [
328
+ { key: 'caption', label: 'Caption', kind: 'text' },
329
+ {
330
+ key: 'columns',
331
+ label: 'Columns',
332
+ kind: 'list',
333
+ item: [
334
+ { key: 'key', label: 'Key', kind: 'text' },
335
+ { key: 'label', label: 'Label', kind: 'text' },
336
+ { key: 'align', label: 'Align', kind: 'select', options: ['left', 'right', 'center'] },
337
+ ],
338
+ },
339
+ { key: 'rows', label: 'Rows', kind: 'record' },
340
+ ],
341
+ template: () => ({ columns: [{ key: 'item', label: 'Item' }], rows: [] }),
342
+ },
343
+ figure: {
344
+ type: 'figure',
345
+ title: 'Figure',
346
+ summary: 'A declared asset with a caption and alternative text.',
347
+ schema: FigurePropsSchema,
348
+ fields: [
349
+ { key: 'asset', label: 'Asset ID', kind: 'id' },
350
+ { key: 'caption', label: 'Caption', kind: 'text' },
351
+ { key: 'alt', label: 'Alternative text override', kind: 'text' },
352
+ ],
353
+ template: () => ({ asset: 'asset-1', caption: todo('caption') }),
354
+ },
355
+ 'reference-profile': {
356
+ type: 'reference-profile',
357
+ title: 'Reference profile',
358
+ summary: 'Subject-profile facts (audience, version, region, ...) for the operator reference.',
359
+ schema: ReferenceProfilePropsSchema,
360
+ fields: [
361
+ { key: 'profile', label: 'Profile', kind: 'select', options: ['market', 'product', 'service', 'sdk'] },
362
+ { key: 'fields', label: 'Fields', kind: 'record' },
363
+ ],
364
+ template: () => ({ profile: 'market', fields: {} }),
365
+ },
366
+ example: {
367
+ type: 'example',
368
+ title: 'Executable example',
369
+ summary: 'A runnable fixture with commands and expected output. Verified outside the build.',
370
+ schema: ExamplePropsSchema,
371
+ fields: [
372
+ { key: 'title', label: 'Title', kind: 'text' },
373
+ { key: 'language', label: 'Language', kind: 'text' },
374
+ { key: 'runtime', label: 'Runtime', kind: 'text' },
375
+ { key: 'fixture', label: 'Fixture directory', kind: 'text' },
376
+ { key: 'files', label: 'Fixture files shown', kind: 'string-list' },
377
+ { key: 'setup', label: 'Setup commands', kind: 'string-list' },
378
+ { key: 'run', label: 'Run commands', kind: 'string-list' },
379
+ { key: 'expected', label: 'Expected output', kind: 'code' },
380
+ { key: 'executable', label: 'Executable (needs verification)', kind: 'boolean' },
381
+ { key: 'summary', label: 'Summary', kind: 'textarea' },
382
+ ],
383
+ template: () => ({ title: todo('example title'), executable: true, run: [], expected: '' }),
384
+ },
385
+ };
386
+ export function isBlockType(value) {
387
+ return BLOCK_TYPES.includes(value);
388
+ }
389
+ export function listBlockDefinitions() {
390
+ return BLOCK_TYPES.map((t) => BLOCK_DEFINITIONS[t]);
391
+ }
392
+ //# sourceMappingURL=blocks.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"blocks.js","sourceRoot":"","sources":["../../src/contracts/blocks.ts"],"names":[],"mappings":"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"}