@typecad/cuttlefish 1.0.0-alpha.13 → 1.0.0-alpha.14

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 (64) hide show
  1. package/assets/editor-extensions/typecad-debug/README.md +142 -0
  2. package/assets/editor-extensions/typecad-debug/out/extension.js +347 -0
  3. package/assets/editor-extensions/typecad-debug/out/extension.js.map +1 -0
  4. package/assets/editor-extensions/typecad-debug/package.json +76 -0
  5. package/assets/editor-extensions/typecad-ui/LICENSE +27 -0
  6. package/assets/editor-extensions/typecad-ui/README.md +52 -0
  7. package/assets/editor-extensions/typecad-ui/file-icon-dark.png +0 -0
  8. package/assets/editor-extensions/typecad-ui/file-icon-light.png +0 -0
  9. package/assets/editor-extensions/typecad-ui/icon.png +0 -0
  10. package/assets/editor-extensions/typecad-ui/language-configuration.json +43 -0
  11. package/assets/editor-extensions/typecad-ui/package.json +54 -0
  12. package/assets/editor-extensions/typecad-ui/snippets/typecad-ui.json +80 -0
  13. package/assets/editor-extensions/typecad-ui/syntaxes/markdown-ui.json +45 -0
  14. package/assets/editor-extensions/typecad-ui/syntaxes/typecad-ui.tmLanguage.json +1269 -0
  15. package/dist/api/config.d.ts +8 -1
  16. package/dist/api/shared/framework-manifest.d.ts +61 -504
  17. package/dist/cli.js +17 -6
  18. package/dist/config-loader.js +3 -1
  19. package/dist/config-schema.d.ts +17 -223
  20. package/dist/config-schema.js +1 -0
  21. package/dist/contract/contract-parser.d.ts +9 -127
  22. package/dist/create/board-checklist.js +1 -1
  23. package/dist/create/board-codegen.js +4 -4
  24. package/dist/create/board-spec.d.ts +74 -530
  25. package/dist/create/editor-integration.d.ts +30 -0
  26. package/dist/create/editor-integration.js +218 -0
  27. package/dist/create/eslint-rules-template.d.ts +2 -2
  28. package/dist/create/framework-catalog.d.ts +8 -0
  29. package/dist/create/framework-catalog.js +28 -5
  30. package/dist/create/index.d.ts +7 -6
  31. package/dist/create/index.js +5 -4
  32. package/dist/create/{init-scaffold.d.ts → scaffold.d.ts} +4 -4
  33. package/dist/create/{init-scaffold.js → scaffold.js} +33 -2
  34. package/dist/create/templates.d.ts +29 -0
  35. package/dist/create/{init-templates.js → templates.js} +15 -0
  36. package/dist/create/wizard.d.ts +8 -0
  37. package/dist/create/{init-wizard.js → wizard.js} +11 -4
  38. package/dist/emit/emitters/setup.js +22 -0
  39. package/dist/ir/build-ir.js +24 -3
  40. package/dist/library/catalog.d.ts +35 -0
  41. package/dist/library/catalog.js +67 -0
  42. package/dist/library/cli.d.ts +2 -0
  43. package/dist/library/cli.js +168 -0
  44. package/dist/library/init.d.ts +25 -0
  45. package/dist/library/init.js +397 -0
  46. package/dist/library/install.d.ts +9 -0
  47. package/dist/library/install.js +80 -0
  48. package/dist/library/registry-search.d.ts +34 -0
  49. package/dist/library/registry-search.js +50 -0
  50. package/dist/library/validate.d.ts +17 -0
  51. package/dist/library/validate.js +175 -0
  52. package/dist/library-packages.d.ts +95 -0
  53. package/dist/library-packages.js +275 -0
  54. package/dist/orchestrator/graph-builder.js +16 -0
  55. package/dist/preview/client.js +17 -3
  56. package/dist/testing.d.ts +2 -2
  57. package/dist/testing.js +1 -1
  58. package/dist/transpile.js +55 -0
  59. package/dist/types.d.ts +19 -0
  60. package/dist/utils/cli.d.ts +2 -2
  61. package/dist/utils/cli.js +68 -3
  62. package/package.json +16 -8
  63. package/dist/create/init-templates.d.ts +0 -28
  64. package/dist/create/init-wizard.d.ts +0 -8
@@ -36,8 +36,15 @@ export interface CuttlefishZephyrConfig {
36
36
  kconfig?: Record<string, string>;
37
37
  /** Extra arguments forwarded to `west build`. */
38
38
  cmakeArgs?: string[];
39
- /** Override the west flash runner (e.g. 'nrfjprog', 'jlink'). */
39
+ /** Override the west flash runner (e.g. 'nrfjprog', 'jlink', 'openocd'). */
40
40
  runner?: string;
41
+ /**
42
+ * Extra arguments appended verbatim to `west flash` after the runner —
43
+ * anything the chosen runner's parser accepts. Example for an ST-Link
44
+ * clone with no SRST line wired to the target:
45
+ * runnerArgs: ['--cmd-pre-init=reset_config none']
46
+ */
47
+ runnerArgs?: string[];
41
48
  }
42
49
  /**
43
50
  * Root configuration object exported from `cuttlefish.config.ts`.
@@ -9,212 +9,70 @@ export declare const FrameworkManifestSchema: z.ZodObject<{
9
9
  displayName: z.ZodString;
10
10
  description: z.ZodString;
11
11
  basedOn: z.ZodOptional<z.ZodString>;
12
- implementationMode: z.ZodEnum<["from-scratch", "extends-canonical", "extends-other"]>;
12
+ implementationMode: z.ZodEnum<{
13
+ "from-scratch": "from-scratch";
14
+ "extends-canonical": "extends-canonical";
15
+ "extends-other": "extends-other";
16
+ }>;
13
17
  inheritsStrategyId: z.ZodOptional<z.ZodString>;
14
18
  entrypoint: z.ZodObject<{
15
19
  entrypointFunctionName: z.ZodString;
16
20
  requiresLoopFunction: z.ZodBoolean;
17
- sourceExtension: z.ZodEnum<["ino", "cc", "cpp", "h"]>;
21
+ sourceExtension: z.ZodEnum<{
22
+ cpp: "cpp";
23
+ ino: "ino";
24
+ cc: "cc";
25
+ h: "h";
26
+ }>;
18
27
  overrideBaseName: z.ZodOptional<z.ZodString>;
19
28
  outputSubdirectory: z.ZodOptional<z.ZodString>;
20
29
  generateHeaderFile: z.ZodBoolean;
21
30
  customBridgeShim: z.ZodOptional<z.ZodString>;
22
- }, "strip", z.ZodTypeAny, {
23
- sourceExtension: "cpp" | "ino" | "cc" | "h";
24
- entrypointFunctionName: string;
25
- requiresLoopFunction: boolean;
26
- generateHeaderFile: boolean;
27
- overrideBaseName?: string | undefined;
28
- outputSubdirectory?: string | undefined;
29
- customBridgeShim?: string | undefined;
30
- }, {
31
- sourceExtension: "cpp" | "ino" | "cc" | "h";
32
- entrypointFunctionName: string;
33
- requiresLoopFunction: boolean;
34
- generateHeaderFile: boolean;
35
- overrideBaseName?: string | undefined;
36
- outputSubdirectory?: string | undefined;
37
- customBridgeShim?: string | undefined;
38
- }>;
31
+ }, z.core.$strip>;
39
32
  profile: z.ZodObject<{
40
- targets: z.ZodArray<z.ZodString, "many">;
41
- forcedIncludes: z.ZodArray<z.ZodString, "many">;
33
+ targets: z.ZodArray<z.ZodString>;
34
+ forcedIncludes: z.ZodArray<z.ZodString>;
42
35
  symbolAliases: z.ZodRecord<z.ZodString, z.ZodString>;
43
- }, "strip", z.ZodTypeAny, {
44
- forcedIncludes: string[];
45
- symbolAliases: Record<string, string>;
46
- targets: string[];
47
- }, {
48
- forcedIncludes: string[];
49
- symbolAliases: Record<string, string>;
50
- targets: string[];
51
- }>;
36
+ }, z.core.$strip>;
52
37
  hal: z.ZodObject<{
53
38
  [x: string]: z.ZodObject<{
54
39
  supported: z.ZodBoolean;
55
40
  unsupportedReason: z.ZodOptional<z.ZodString>;
56
- ops: z.ZodRecord<z.ZodString, z.ZodEnum<["supported", "stub", "unsupported", "probe-inconclusive", "polyfill"]>>;
41
+ ops: z.ZodRecord<z.ZodString, z.ZodEnum<{
42
+ stub: "stub";
43
+ polyfill: "polyfill";
44
+ supported: "supported";
45
+ unsupported: "unsupported";
46
+ "probe-inconclusive": "probe-inconclusive";
47
+ }>>;
57
48
  partialCoverage: z.ZodDefault<z.ZodBoolean>;
58
- }, "strip", z.ZodTypeAny, {
59
- supported: boolean;
60
- ops: Record<string, "stub" | "polyfill" | "supported" | "unsupported" | "probe-inconclusive">;
61
- partialCoverage: boolean;
62
- unsupportedReason?: string | undefined;
63
- }, {
64
- supported: boolean;
65
- ops: Record<string, "stub" | "polyfill" | "supported" | "unsupported" | "probe-inconclusive">;
66
- unsupportedReason?: string | undefined;
67
- partialCoverage?: boolean | undefined;
68
- }>;
69
- } & {
49
+ }, z.core.$strip>;
70
50
  raw: z.ZodDefault<z.ZodObject<{
71
51
  supported: z.ZodBoolean;
72
- }, "strip", z.ZodTypeAny, {
73
- supported: boolean;
74
- }, {
75
- supported: boolean;
76
- }>>;
77
- }, "strip", z.ZodObject<{
78
- supported: z.ZodBoolean;
79
- unsupportedReason: z.ZodOptional<z.ZodString>;
80
- ops: z.ZodRecord<z.ZodString, z.ZodEnum<["supported", "stub", "unsupported", "probe-inconclusive", "polyfill"]>>;
81
- partialCoverage: z.ZodDefault<z.ZodBoolean>;
82
- }, "strip", z.ZodTypeAny, {
83
- supported: boolean;
84
- ops: Record<string, "stub" | "polyfill" | "supported" | "unsupported" | "probe-inconclusive">;
85
- partialCoverage: boolean;
86
- unsupportedReason?: string | undefined;
87
- }, {
88
- supported: boolean;
89
- ops: Record<string, "stub" | "polyfill" | "supported" | "unsupported" | "probe-inconclusive">;
90
- unsupportedReason?: string | undefined;
91
- partialCoverage?: boolean | undefined;
92
- }>, z.objectOutputType<{
93
- [x: string]: z.ZodObject<{
94
- supported: z.ZodBoolean;
95
- unsupportedReason: z.ZodOptional<z.ZodString>;
96
- ops: z.ZodRecord<z.ZodString, z.ZodEnum<["supported", "stub", "unsupported", "probe-inconclusive", "polyfill"]>>;
97
- partialCoverage: z.ZodDefault<z.ZodBoolean>;
98
- }, "strip", z.ZodTypeAny, {
99
- supported: boolean;
100
- ops: Record<string, "stub" | "polyfill" | "supported" | "unsupported" | "probe-inconclusive">;
101
- partialCoverage: boolean;
102
- unsupportedReason?: string | undefined;
103
- }, {
104
- supported: boolean;
105
- ops: Record<string, "stub" | "polyfill" | "supported" | "unsupported" | "probe-inconclusive">;
106
- unsupportedReason?: string | undefined;
107
- partialCoverage?: boolean | undefined;
108
- }>;
109
- } & {
110
- raw: z.ZodDefault<z.ZodObject<{
111
- supported: z.ZodBoolean;
112
- }, "strip", z.ZodTypeAny, {
113
- supported: boolean;
114
- }, {
115
- supported: boolean;
116
- }>>;
117
- }, z.ZodObject<{
52
+ }, z.core.$strip>>;
53
+ }, z.core.$catchall<z.ZodObject<{
118
54
  supported: z.ZodBoolean;
119
55
  unsupportedReason: z.ZodOptional<z.ZodString>;
120
- ops: z.ZodRecord<z.ZodString, z.ZodEnum<["supported", "stub", "unsupported", "probe-inconclusive", "polyfill"]>>;
121
- partialCoverage: z.ZodDefault<z.ZodBoolean>;
122
- }, "strip", z.ZodTypeAny, {
123
- supported: boolean;
124
- ops: Record<string, "stub" | "polyfill" | "supported" | "unsupported" | "probe-inconclusive">;
125
- partialCoverage: boolean;
126
- unsupportedReason?: string | undefined;
127
- }, {
128
- supported: boolean;
129
- ops: Record<string, "stub" | "polyfill" | "supported" | "unsupported" | "probe-inconclusive">;
130
- unsupportedReason?: string | undefined;
131
- partialCoverage?: boolean | undefined;
132
- }>, "strip">, z.objectInputType<{
133
- [x: string]: z.ZodObject<{
134
- supported: z.ZodBoolean;
135
- unsupportedReason: z.ZodOptional<z.ZodString>;
136
- ops: z.ZodRecord<z.ZodString, z.ZodEnum<["supported", "stub", "unsupported", "probe-inconclusive", "polyfill"]>>;
137
- partialCoverage: z.ZodDefault<z.ZodBoolean>;
138
- }, "strip", z.ZodTypeAny, {
139
- supported: boolean;
140
- ops: Record<string, "stub" | "polyfill" | "supported" | "unsupported" | "probe-inconclusive">;
141
- partialCoverage: boolean;
142
- unsupportedReason?: string | undefined;
143
- }, {
144
- supported: boolean;
145
- ops: Record<string, "stub" | "polyfill" | "supported" | "unsupported" | "probe-inconclusive">;
146
- unsupportedReason?: string | undefined;
147
- partialCoverage?: boolean | undefined;
148
- }>;
149
- } & {
150
- raw: z.ZodDefault<z.ZodObject<{
151
- supported: z.ZodBoolean;
152
- }, "strip", z.ZodTypeAny, {
153
- supported: boolean;
154
- }, {
155
- supported: boolean;
56
+ ops: z.ZodRecord<z.ZodString, z.ZodEnum<{
57
+ stub: "stub";
58
+ polyfill: "polyfill";
59
+ supported: "supported";
60
+ unsupported: "unsupported";
61
+ "probe-inconclusive": "probe-inconclusive";
156
62
  }>>;
157
- }, z.ZodObject<{
158
- supported: z.ZodBoolean;
159
- unsupportedReason: z.ZodOptional<z.ZodString>;
160
- ops: z.ZodRecord<z.ZodString, z.ZodEnum<["supported", "stub", "unsupported", "probe-inconclusive", "polyfill"]>>;
161
63
  partialCoverage: z.ZodDefault<z.ZodBoolean>;
162
- }, "strip", z.ZodTypeAny, {
163
- supported: boolean;
164
- ops: Record<string, "stub" | "polyfill" | "supported" | "unsupported" | "probe-inconclusive">;
165
- partialCoverage: boolean;
166
- unsupportedReason?: string | undefined;
167
- }, {
168
- supported: boolean;
169
- ops: Record<string, "stub" | "polyfill" | "supported" | "unsupported" | "probe-inconclusive">;
170
- unsupportedReason?: string | undefined;
171
- partialCoverage?: boolean | undefined;
172
- }>, "strip">>;
64
+ }, z.core.$strip>>>;
173
65
  polyfills: z.ZodObject<{
174
66
  emitted: z.ZodArray<z.ZodObject<{
175
67
  id: z.ZodString;
176
68
  domain: z.ZodString;
177
69
  notes: z.ZodOptional<z.ZodString>;
178
- }, "strip", z.ZodTypeAny, {
179
- id: string;
180
- domain: string;
181
- notes?: string | undefined;
182
- }, {
183
- id: string;
184
- domain: string;
185
- notes?: string | undefined;
186
- }>, "many">;
70
+ }, z.core.$strip>>;
187
71
  suppressed: z.ZodArray<z.ZodObject<{
188
72
  id: z.ZodString;
189
73
  reason: z.ZodString;
190
- }, "strip", z.ZodTypeAny, {
191
- id: string;
192
- reason: string;
193
- }, {
194
- id: string;
195
- reason: string;
196
- }>, "many">;
197
- }, "strip", z.ZodTypeAny, {
198
- emitted: {
199
- id: string;
200
- domain: string;
201
- notes?: string | undefined;
202
- }[];
203
- suppressed: {
204
- id: string;
205
- reason: string;
206
- }[];
207
- }, {
208
- emitted: {
209
- id: string;
210
- domain: string;
211
- notes?: string | undefined;
212
- }[];
213
- suppressed: {
214
- id: string;
215
- reason: string;
216
- }[];
217
- }>;
74
+ }, z.core.$strip>>;
75
+ }, z.core.$strip>;
218
76
  toolchain: z.ZodObject<{
219
77
  backend: z.ZodString;
220
78
  operations: z.ZodObject<{
@@ -223,63 +81,23 @@ export declare const FrameworkManifestSchema: z.ZodObject<{
223
81
  upload: z.ZodBoolean;
224
82
  monitor: z.ZodBoolean;
225
83
  debug: z.ZodOptional<z.ZodBoolean>;
226
- }, "strip", z.ZodTypeAny, {
227
- prepare: boolean;
228
- compile: boolean;
229
- upload: boolean;
230
- monitor: boolean;
231
- debug?: boolean | undefined;
232
- }, {
233
- prepare: boolean;
234
- compile: boolean;
235
- upload: boolean;
236
- monitor: boolean;
237
- debug?: boolean | undefined;
238
- }>;
84
+ }, z.core.$strip>;
239
85
  reexportedFrom: z.ZodOptional<z.ZodString>;
240
- }, "strip", z.ZodTypeAny, {
241
- backend: string;
242
- operations: {
243
- prepare: boolean;
244
- compile: boolean;
245
- upload: boolean;
246
- monitor: boolean;
247
- debug?: boolean | undefined;
248
- };
249
- reexportedFrom?: string | undefined;
250
- }, {
251
- backend: string;
252
- operations: {
253
- prepare: boolean;
254
- compile: boolean;
255
- upload: boolean;
256
- monitor: boolean;
257
- debug?: boolean | undefined;
258
- };
259
- reexportedFrom?: string | undefined;
260
- }>;
86
+ }, z.core.$strip>;
261
87
  libraryResolution: z.ZodOptional<z.ZodObject<{
262
88
  isFrameworkLibraryImport: z.ZodBoolean;
263
89
  getFrameworkLibraryHeaderName: z.ZodBoolean;
264
90
  buildClassNameMap: z.ZodBoolean;
265
91
  tryGenerateLibDecl: z.ZodBoolean;
266
92
  reexportedFrom: z.ZodOptional<z.ZodString>;
267
- }, "strip", z.ZodTypeAny, {
268
- isFrameworkLibraryImport: boolean;
269
- getFrameworkLibraryHeaderName: boolean;
270
- buildClassNameMap: boolean;
271
- tryGenerateLibDecl: boolean;
272
- reexportedFrom?: string | undefined;
273
- }, {
274
- isFrameworkLibraryImport: boolean;
275
- getFrameworkLibraryHeaderName: boolean;
276
- buildClassNameMap: boolean;
277
- tryGenerateLibDecl: boolean;
278
- reexportedFrom?: string | undefined;
279
- }>>;
93
+ }, z.core.$strip>>;
280
94
  typeEmission: z.ZodObject<{
281
95
  normalizeCppType: z.ZodBoolean;
282
- mathHeader: z.ZodEnum<["none", "<math.h>", "<Arduino.h>"]>;
96
+ mathHeader: z.ZodEnum<{
97
+ none: "none";
98
+ "<math.h>": "<math.h>";
99
+ "<Arduino.h>": "<Arduino.h>";
100
+ }>;
283
101
  needsStdString: z.ZodBoolean;
284
102
  needsStdVector: z.ZodBoolean;
285
103
  needsIostream: z.ZodBoolean;
@@ -290,292 +108,31 @@ export declare const FrameworkManifestSchema: z.ZodObject<{
290
108
  hasIostream: z.ZodBoolean;
291
109
  hasExceptions: z.ZodBoolean;
292
110
  hasRTTI: z.ZodBoolean;
293
- recommendedArrayImpl: z.ZodEnum<["std_vector", "static_array"]>;
294
- recommendedStringImpl: z.ZodEnum<["std_string", "static_string"]>;
295
- }, "strip", z.ZodTypeAny, {
296
- hasVector: boolean;
297
- hasString: boolean;
298
- hasIostream: boolean;
299
- hasExceptions: boolean;
300
- hasRTTI: boolean;
301
- recommendedArrayImpl: "std_vector" | "static_array";
302
- recommendedStringImpl: "std_string" | "static_string";
303
- }, {
304
- hasVector: boolean;
305
- hasString: boolean;
306
- hasIostream: boolean;
307
- hasExceptions: boolean;
308
- hasRTTI: boolean;
309
- recommendedArrayImpl: "std_vector" | "static_array";
310
- recommendedStringImpl: "std_string" | "static_string";
311
- }>;
312
- }, "strip", z.ZodTypeAny, {
313
- needsIostream: boolean;
314
- needsStdString: boolean;
315
- needsStdVector: boolean;
316
- needsStdFunction: boolean;
317
- mathHeader: "none" | "<math.h>" | "<Arduino.h>";
318
- normalizeCppType: boolean;
319
- stdlibSupport: {
320
- hasVector: boolean;
321
- hasString: boolean;
322
- hasIostream: boolean;
323
- hasExceptions: boolean;
324
- hasRTTI: boolean;
325
- recommendedArrayImpl: "std_vector" | "static_array";
326
- recommendedStringImpl: "std_string" | "static_string";
327
- };
328
- }, {
329
- needsIostream: boolean;
330
- needsStdString: boolean;
331
- needsStdVector: boolean;
332
- needsStdFunction: boolean;
333
- mathHeader: "none" | "<math.h>" | "<Arduino.h>";
334
- normalizeCppType: boolean;
335
- stdlibSupport: {
336
- hasVector: boolean;
337
- hasString: boolean;
338
- hasIostream: boolean;
339
- hasExceptions: boolean;
340
- hasRTTI: boolean;
341
- recommendedArrayImpl: "std_vector" | "static_array";
342
- recommendedStringImpl: "std_string" | "static_string";
343
- };
344
- }>;
345
- ambientTypes: z.ZodArray<z.ZodString, "many">;
111
+ recommendedArrayImpl: z.ZodEnum<{
112
+ std_vector: "std_vector";
113
+ static_array: "static_array";
114
+ }>;
115
+ recommendedStringImpl: z.ZodEnum<{
116
+ std_string: "std_string";
117
+ static_string: "static_string";
118
+ }>;
119
+ }, z.core.$strip>;
120
+ }, z.core.$strip>;
121
+ ambientTypes: z.ZodArray<z.ZodString>;
346
122
  conformance: z.ZodObject<{
347
- hardwareTestGroups: z.ZodArray<z.ZodString, "many">;
348
- halResolutionTests: z.ZodArray<z.ZodString, "many">;
349
- }, "strip", z.ZodTypeAny, {
350
- hardwareTestGroups: string[];
351
- halResolutionTests: string[];
352
- }, {
353
- hardwareTestGroups: string[];
354
- halResolutionTests: string[];
355
- }>;
123
+ hardwareTestGroups: z.ZodArray<z.ZodString>;
124
+ halResolutionTests: z.ZodArray<z.ZodString>;
125
+ }, z.core.$strip>;
356
126
  doctor: z.ZodOptional<z.ZodObject<{
357
127
  available: z.ZodBoolean;
358
- }, "strip", z.ZodTypeAny, {
359
- available: boolean;
360
- }, {
361
- available: boolean;
362
- }>>;
128
+ }, z.core.$strip>>;
363
129
  licenses: z.ZodOptional<z.ZodObject<{
364
130
  available: z.ZodBoolean;
365
- }, "strip", z.ZodTypeAny, {
366
- available: boolean;
367
- }, {
368
- available: boolean;
369
- }>>;
131
+ }, z.core.$strip>>;
370
132
  compat: z.ZodOptional<z.ZodObject<{
371
- /** Supported Zephyr RTOS version range (framework-zephyr). */
372
133
  zephyr: z.ZodOptional<z.ZodString>;
373
- }, "strip", z.ZodTypeAny, {
374
- zephyr?: string | undefined;
375
- }, {
376
- zephyr?: string | undefined;
377
- }>>;
378
- }, "strip", z.ZodTypeAny, {
379
- hal: {
380
- [x: string]: {
381
- supported: boolean;
382
- ops: Record<string, "stub" | "polyfill" | "supported" | "unsupported" | "probe-inconclusive">;
383
- partialCoverage: boolean;
384
- unsupportedReason?: string | undefined;
385
- };
386
- raw?: unknown;
387
- } & {
388
- [k: string]: {
389
- supported: boolean;
390
- ops: Record<string, "stub" | "polyfill" | "supported" | "unsupported" | "probe-inconclusive">;
391
- partialCoverage: boolean;
392
- unsupportedReason?: string | undefined;
393
- };
394
- };
395
- packageName: string;
396
- schemaVersion: 1;
397
- frameworkId: string;
398
- canonical: boolean;
399
- displayName: string;
400
- description: string;
401
- implementationMode: "from-scratch" | "extends-canonical" | "extends-other";
402
- entrypoint: {
403
- sourceExtension: "cpp" | "ino" | "cc" | "h";
404
- entrypointFunctionName: string;
405
- requiresLoopFunction: boolean;
406
- generateHeaderFile: boolean;
407
- overrideBaseName?: string | undefined;
408
- outputSubdirectory?: string | undefined;
409
- customBridgeShim?: string | undefined;
410
- };
411
- profile: {
412
- forcedIncludes: string[];
413
- symbolAliases: Record<string, string>;
414
- targets: string[];
415
- };
416
- polyfills: {
417
- emitted: {
418
- id: string;
419
- domain: string;
420
- notes?: string | undefined;
421
- }[];
422
- suppressed: {
423
- id: string;
424
- reason: string;
425
- }[];
426
- };
427
- toolchain: {
428
- backend: string;
429
- operations: {
430
- prepare: boolean;
431
- compile: boolean;
432
- upload: boolean;
433
- monitor: boolean;
434
- debug?: boolean | undefined;
435
- };
436
- reexportedFrom?: string | undefined;
437
- };
438
- typeEmission: {
439
- needsIostream: boolean;
440
- needsStdString: boolean;
441
- needsStdVector: boolean;
442
- needsStdFunction: boolean;
443
- mathHeader: "none" | "<math.h>" | "<Arduino.h>";
444
- normalizeCppType: boolean;
445
- stdlibSupport: {
446
- hasVector: boolean;
447
- hasString: boolean;
448
- hasIostream: boolean;
449
- hasExceptions: boolean;
450
- hasRTTI: boolean;
451
- recommendedArrayImpl: "std_vector" | "static_array";
452
- recommendedStringImpl: "std_string" | "static_string";
453
- };
454
- };
455
- ambientTypes: string[];
456
- conformance: {
457
- hardwareTestGroups: string[];
458
- halResolutionTests: string[];
459
- };
460
- doctor?: {
461
- available: boolean;
462
- } | undefined;
463
- licenses?: {
464
- available: boolean;
465
- } | undefined;
466
- basedOn?: string | undefined;
467
- inheritsStrategyId?: string | undefined;
468
- libraryResolution?: {
469
- isFrameworkLibraryImport: boolean;
470
- getFrameworkLibraryHeaderName: boolean;
471
- buildClassNameMap: boolean;
472
- tryGenerateLibDecl: boolean;
473
- reexportedFrom?: string | undefined;
474
- } | undefined;
475
- compat?: {
476
- zephyr?: string | undefined;
477
- } | undefined;
478
- }, {
479
- hal: {
480
- [x: string]: {
481
- supported: boolean;
482
- ops: Record<string, "stub" | "polyfill" | "supported" | "unsupported" | "probe-inconclusive">;
483
- unsupportedReason?: string | undefined;
484
- partialCoverage?: boolean | undefined;
485
- };
486
- raw?: unknown;
487
- } & {
488
- [k: string]: {
489
- supported: boolean;
490
- ops: Record<string, "stub" | "polyfill" | "supported" | "unsupported" | "probe-inconclusive">;
491
- unsupportedReason?: string | undefined;
492
- partialCoverage?: boolean | undefined;
493
- };
494
- };
495
- packageName: string;
496
- schemaVersion: 1;
497
- frameworkId: string;
498
- displayName: string;
499
- description: string;
500
- implementationMode: "from-scratch" | "extends-canonical" | "extends-other";
501
- entrypoint: {
502
- sourceExtension: "cpp" | "ino" | "cc" | "h";
503
- entrypointFunctionName: string;
504
- requiresLoopFunction: boolean;
505
- generateHeaderFile: boolean;
506
- overrideBaseName?: string | undefined;
507
- outputSubdirectory?: string | undefined;
508
- customBridgeShim?: string | undefined;
509
- };
510
- profile: {
511
- forcedIncludes: string[];
512
- symbolAliases: Record<string, string>;
513
- targets: string[];
514
- };
515
- polyfills: {
516
- emitted: {
517
- id: string;
518
- domain: string;
519
- notes?: string | undefined;
520
- }[];
521
- suppressed: {
522
- id: string;
523
- reason: string;
524
- }[];
525
- };
526
- toolchain: {
527
- backend: string;
528
- operations: {
529
- prepare: boolean;
530
- compile: boolean;
531
- upload: boolean;
532
- monitor: boolean;
533
- debug?: boolean | undefined;
534
- };
535
- reexportedFrom?: string | undefined;
536
- };
537
- typeEmission: {
538
- needsIostream: boolean;
539
- needsStdString: boolean;
540
- needsStdVector: boolean;
541
- needsStdFunction: boolean;
542
- mathHeader: "none" | "<math.h>" | "<Arduino.h>";
543
- normalizeCppType: boolean;
544
- stdlibSupport: {
545
- hasVector: boolean;
546
- hasString: boolean;
547
- hasIostream: boolean;
548
- hasExceptions: boolean;
549
- hasRTTI: boolean;
550
- recommendedArrayImpl: "std_vector" | "static_array";
551
- recommendedStringImpl: "std_string" | "static_string";
552
- };
553
- };
554
- ambientTypes: string[];
555
- conformance: {
556
- hardwareTestGroups: string[];
557
- halResolutionTests: string[];
558
- };
559
- doctor?: {
560
- available: boolean;
561
- } | undefined;
562
- licenses?: {
563
- available: boolean;
564
- } | undefined;
565
- canonical?: boolean | undefined;
566
- basedOn?: string | undefined;
567
- inheritsStrategyId?: string | undefined;
568
- libraryResolution?: {
569
- isFrameworkLibraryImport: boolean;
570
- getFrameworkLibraryHeaderName: boolean;
571
- buildClassNameMap: boolean;
572
- tryGenerateLibDecl: boolean;
573
- reexportedFrom?: string | undefined;
574
- } | undefined;
575
- compat?: {
576
- zephyr?: string | undefined;
577
- } | undefined;
578
- }>;
134
+ }, z.core.$strip>>;
135
+ }, z.core.$strip>;
579
136
  export type FrameworkManifest = z.infer<typeof FrameworkManifestSchema>;
580
137
  /**
581
138
  * Authoritative map of HAL op kinds that are lowered via the polyfill system