@theaiplatform/miniapp-sdk 0.0.0 → 0.0.2
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.
- package/README.md +102 -2
- package/THIRD_PARTY_NOTICES.md +42 -14
- package/config-schema.json +543 -30
- package/dist/config.d.ts +4 -1
- package/dist/index.d.ts +177 -2
- package/dist/index.js +1 -0
- package/dist/mcp.d.ts +27 -0
- package/dist/mcp.js +4 -0
- package/dist/rspack/css-entry-loader.cjs +1 -1
- package/dist/rspack/html-loader.cjs +1 -1
- package/dist/rspack/index.js +252 -5
- package/dist/sdk.d.ts +158 -1
- package/dist/surface.d.ts +1 -1
- package/dist/ui/styles.css +3761 -0
- package/dist/ui/tailwind.css +113 -0
- package/dist/ui/theme.css +335 -0
- package/dist/ui/wasm.d.ts +660 -0
- package/dist/ui/wasm.js +2714 -0
- package/dist/ui.d.ts +986 -0
- package/dist/ui.js +2045 -0
- package/dist/web.d.ts +177 -1
- package/dist/web.js +37 -1
- package/examples/wasm-ui/Cargo.lock +248 -0
- package/examples/wasm-ui/Cargo.toml +18 -0
- package/examples/wasm-ui/README.md +19 -0
- package/examples/wasm-ui/src/lib.rs +190 -0
- package/package.json +52 -3
- package/ui-components.json +64 -0
package/config-schema.json
CHANGED
|
@@ -132,18 +132,15 @@
|
|
|
132
132
|
"type": "string"
|
|
133
133
|
},
|
|
134
134
|
"ContributionTarget": {
|
|
135
|
-
"
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
"expose": {
|
|
139
|
-
"type": "string"
|
|
135
|
+
"anyOf": [
|
|
136
|
+
{
|
|
137
|
+
"$ref": "#/$defs/ModuleContributionTarget"
|
|
140
138
|
},
|
|
141
|
-
|
|
142
|
-
"$ref": "#/$defs/
|
|
139
|
+
{
|
|
140
|
+
"$ref": "#/$defs/HostDeclarativeContributionTarget"
|
|
143
141
|
}
|
|
144
|
-
|
|
145
|
-
"
|
|
146
|
-
"type": "object"
|
|
142
|
+
],
|
|
143
|
+
"description": "A target-specific execution binding selected for a contribution.\n\nExecutable package modules select one immutable Federation expose. Host-\ndeclarative contributions are materialized by TAP and therefore select the\nhost runtime without inventing a module expose."
|
|
147
144
|
},
|
|
148
145
|
"DeclarativeOptions": {
|
|
149
146
|
"additionalProperties": false,
|
|
@@ -183,14 +180,7 @@
|
|
|
183
180
|
"type": "object"
|
|
184
181
|
},
|
|
185
182
|
"ExecutionRuntime": {
|
|
186
|
-
"enum": [
|
|
187
|
-
"webview",
|
|
188
|
-
"quickjs",
|
|
189
|
-
"worker",
|
|
190
|
-
"node",
|
|
191
|
-
"workflow-host",
|
|
192
|
-
"host-declarative"
|
|
193
|
-
],
|
|
183
|
+
"enum": ["webview", "quickjs", "worker", "node", "workflow-host"],
|
|
194
184
|
"type": "string"
|
|
195
185
|
},
|
|
196
186
|
"FallbackFormat": {
|
|
@@ -263,6 +253,22 @@
|
|
|
263
253
|
],
|
|
264
254
|
"type": "object"
|
|
265
255
|
},
|
|
256
|
+
"HostDeclarativeContributionTarget": {
|
|
257
|
+
"additionalProperties": false,
|
|
258
|
+
"description": "A contribution whose declarative configuration TAP materializes directly.",
|
|
259
|
+
"properties": {
|
|
260
|
+
"runtime": {
|
|
261
|
+
"$ref": "#/$defs/HostDeclarativeRuntime"
|
|
262
|
+
}
|
|
263
|
+
},
|
|
264
|
+
"required": ["runtime"],
|
|
265
|
+
"type": "object"
|
|
266
|
+
},
|
|
267
|
+
"HostDeclarativeRuntime": {
|
|
268
|
+
"description": "The only runtime accepted by an expose-free contribution target binding.",
|
|
269
|
+
"enum": ["host-declarative"],
|
|
270
|
+
"type": "string"
|
|
271
|
+
},
|
|
266
272
|
"InstancePolicy": {
|
|
267
273
|
"enum": [
|
|
268
274
|
"per-mount",
|
|
@@ -290,20 +296,251 @@
|
|
|
290
296
|
"enum": ["installation", "realm", "contribution", "mount"],
|
|
291
297
|
"type": "string"
|
|
292
298
|
},
|
|
293
|
-
"
|
|
299
|
+
"McpAppOptions": {
|
|
300
|
+
"additionalProperties": false,
|
|
301
|
+
"description": "One sandboxed MCP App bound to exact tool and UI resource contributions.",
|
|
302
|
+
"properties": {
|
|
303
|
+
"protocolVersion": {
|
|
304
|
+
"type": "string"
|
|
305
|
+
},
|
|
306
|
+
"resourceContributionId": {
|
|
307
|
+
"type": "string"
|
|
308
|
+
},
|
|
309
|
+
"serverContributionId": {
|
|
310
|
+
"type": "string"
|
|
311
|
+
},
|
|
312
|
+
"toolContributionId": {
|
|
313
|
+
"type": "string"
|
|
314
|
+
}
|
|
315
|
+
},
|
|
316
|
+
"required": [
|
|
317
|
+
"serverContributionId",
|
|
318
|
+
"toolContributionId",
|
|
319
|
+
"resourceContributionId",
|
|
320
|
+
"protocolVersion"
|
|
321
|
+
],
|
|
322
|
+
"type": "object"
|
|
323
|
+
},
|
|
324
|
+
"McpConsumerPolicy": {
|
|
325
|
+
"additionalProperties": false,
|
|
326
|
+
"description": "Publisher-declared upper bound on who may consume an MCP server.\n\nBoth lists default empty. Installation policy may select or remove entries,\nbut cannot authorize consumers outside this signed maximum.",
|
|
327
|
+
"properties": {
|
|
328
|
+
"contributionIds": {
|
|
329
|
+
"description": "Exact same-package contribution identities eligible to receive access.",
|
|
330
|
+
"items": {
|
|
331
|
+
"type": "string"
|
|
332
|
+
},
|
|
333
|
+
"type": "array"
|
|
334
|
+
},
|
|
335
|
+
"externalConsumers": {
|
|
336
|
+
"description": "External platform consumer classes eligible for narrower host grants.",
|
|
337
|
+
"items": {
|
|
338
|
+
"$ref": "#/$defs/McpExternalConsumerClass"
|
|
339
|
+
},
|
|
340
|
+
"type": "array"
|
|
341
|
+
}
|
|
342
|
+
},
|
|
343
|
+
"type": "object"
|
|
344
|
+
},
|
|
345
|
+
"McpExternalConsumerClass": {
|
|
346
|
+
"description": "Closed external consumer classes a publisher may include in its maximum.",
|
|
347
|
+
"enum": [
|
|
348
|
+
"selected-miniapps",
|
|
349
|
+
"selected-specialists",
|
|
350
|
+
"chat",
|
|
351
|
+
"workflows",
|
|
352
|
+
"platform"
|
|
353
|
+
],
|
|
354
|
+
"type": "string"
|
|
355
|
+
},
|
|
356
|
+
"McpHttpCredentialRequirement": {
|
|
357
|
+
"additionalProperties": false,
|
|
358
|
+
"description": "One host-held credential injected into a declared Streamable HTTP header.\n\nDescriptors name requirements and destinations only. Credential values are\nresolved from host-owned secret storage after installation consent.",
|
|
359
|
+
"properties": {
|
|
360
|
+
"header": {
|
|
361
|
+
"type": "string"
|
|
362
|
+
},
|
|
363
|
+
"id": {
|
|
364
|
+
"type": "string"
|
|
365
|
+
}
|
|
366
|
+
},
|
|
367
|
+
"required": ["id", "header"],
|
|
368
|
+
"type": "object"
|
|
369
|
+
},
|
|
370
|
+
"McpPromptOptions": {
|
|
371
|
+
"additionalProperties": false,
|
|
372
|
+
"description": "One MCP prompt promoted from its owning server's live catalog.",
|
|
373
|
+
"properties": {
|
|
374
|
+
"promptName": {
|
|
375
|
+
"type": "string"
|
|
376
|
+
},
|
|
377
|
+
"serverContributionId": {
|
|
378
|
+
"type": "string"
|
|
379
|
+
}
|
|
380
|
+
},
|
|
381
|
+
"required": ["serverContributionId", "promptName"],
|
|
382
|
+
"type": "object"
|
|
383
|
+
},
|
|
384
|
+
"McpResourceOptions": {
|
|
385
|
+
"additionalProperties": false,
|
|
386
|
+
"description": "One exact MCP resource promoted from its owning server's live catalog.",
|
|
387
|
+
"properties": {
|
|
388
|
+
"mimeType": {
|
|
389
|
+
"type": ["string", "null"]
|
|
390
|
+
},
|
|
391
|
+
"serverContributionId": {
|
|
392
|
+
"type": "string"
|
|
393
|
+
},
|
|
394
|
+
"uri": {
|
|
395
|
+
"type": "string"
|
|
396
|
+
}
|
|
397
|
+
},
|
|
398
|
+
"required": ["serverContributionId", "uri"],
|
|
399
|
+
"type": "object"
|
|
400
|
+
},
|
|
401
|
+
"McpResourceTemplateOptions": {
|
|
294
402
|
"additionalProperties": false,
|
|
403
|
+
"description": "One MCP resource template promoted from its owning server's live catalog.",
|
|
295
404
|
"properties": {
|
|
405
|
+
"mimeType": {
|
|
406
|
+
"type": ["string", "null"]
|
|
407
|
+
},
|
|
408
|
+
"serverContributionId": {
|
|
409
|
+
"type": "string"
|
|
410
|
+
},
|
|
411
|
+
"uriTemplate": {
|
|
412
|
+
"type": "string"
|
|
413
|
+
}
|
|
414
|
+
},
|
|
415
|
+
"required": ["serverContributionId", "uriTemplate"],
|
|
416
|
+
"type": "object"
|
|
417
|
+
},
|
|
418
|
+
"McpServerImplementation": {
|
|
419
|
+
"description": "Mutually exclusive ways TAP can activate a declared MCP server.",
|
|
420
|
+
"oneOf": [
|
|
421
|
+
{
|
|
422
|
+
"additionalProperties": false,
|
|
423
|
+
"description": "Load the server adapter from the contribution's verified Federation expose.",
|
|
424
|
+
"properties": {
|
|
425
|
+
"type": {
|
|
426
|
+
"const": "package-runtime",
|
|
427
|
+
"type": "string"
|
|
428
|
+
}
|
|
429
|
+
},
|
|
430
|
+
"required": ["type"],
|
|
431
|
+
"type": "object"
|
|
432
|
+
},
|
|
433
|
+
{
|
|
434
|
+
"additionalProperties": false,
|
|
435
|
+
"description": "Spawn a reviewed local process and communicate over stdio.",
|
|
436
|
+
"properties": {
|
|
437
|
+
"args": {
|
|
438
|
+
"items": {
|
|
439
|
+
"type": "string"
|
|
440
|
+
},
|
|
441
|
+
"type": "array"
|
|
442
|
+
},
|
|
443
|
+
"command": {
|
|
444
|
+
"type": "string"
|
|
445
|
+
},
|
|
446
|
+
"credentialRequirements": {
|
|
447
|
+
"items": {
|
|
448
|
+
"$ref": "#/$defs/McpStdioCredentialRequirement"
|
|
449
|
+
},
|
|
450
|
+
"type": "array"
|
|
451
|
+
},
|
|
452
|
+
"type": {
|
|
453
|
+
"const": "stdio",
|
|
454
|
+
"type": "string"
|
|
455
|
+
}
|
|
456
|
+
},
|
|
457
|
+
"required": ["type", "command"],
|
|
458
|
+
"type": "object"
|
|
459
|
+
},
|
|
460
|
+
{
|
|
461
|
+
"additionalProperties": false,
|
|
462
|
+
"description": "Connect to an HTTPS MCP endpoint using Streamable HTTP.",
|
|
463
|
+
"properties": {
|
|
464
|
+
"credentialRequirements": {
|
|
465
|
+
"items": {
|
|
466
|
+
"$ref": "#/$defs/McpHttpCredentialRequirement"
|
|
467
|
+
},
|
|
468
|
+
"type": "array"
|
|
469
|
+
},
|
|
470
|
+
"type": {
|
|
471
|
+
"const": "streamable-http",
|
|
472
|
+
"type": "string"
|
|
473
|
+
},
|
|
474
|
+
"url": {
|
|
475
|
+
"type": "string"
|
|
476
|
+
}
|
|
477
|
+
},
|
|
478
|
+
"required": ["type", "url"],
|
|
479
|
+
"type": "object"
|
|
480
|
+
}
|
|
481
|
+
]
|
|
482
|
+
},
|
|
483
|
+
"McpServerOptions": {
|
|
484
|
+
"additionalProperties": false,
|
|
485
|
+
"description": "One package-declared MCP server and its maximum consumer audience.",
|
|
486
|
+
"properties": {
|
|
487
|
+
"consumerPolicy": {
|
|
488
|
+
"$ref": "#/$defs/McpConsumerPolicy",
|
|
489
|
+
"default": {}
|
|
490
|
+
},
|
|
491
|
+
"implementation": {
|
|
492
|
+
"$ref": "#/$defs/McpServerImplementation"
|
|
493
|
+
},
|
|
296
494
|
"protocolVersion": {
|
|
297
495
|
"type": "string"
|
|
496
|
+
}
|
|
497
|
+
},
|
|
498
|
+
"required": ["protocolVersion", "implementation"],
|
|
499
|
+
"type": "object"
|
|
500
|
+
},
|
|
501
|
+
"McpStdioCredentialRequirement": {
|
|
502
|
+
"additionalProperties": false,
|
|
503
|
+
"description": "One host-held credential injected into a declared stdio environment slot.\n\nDescriptors name requirements and destinations only. Credential values are\nresolved from host-owned secret storage after installation consent.",
|
|
504
|
+
"properties": {
|
|
505
|
+
"environmentVariable": {
|
|
506
|
+
"type": "string"
|
|
507
|
+
},
|
|
508
|
+
"id": {
|
|
509
|
+
"type": "string"
|
|
510
|
+
}
|
|
511
|
+
},
|
|
512
|
+
"required": ["id", "environmentVariable"],
|
|
513
|
+
"type": "object"
|
|
514
|
+
},
|
|
515
|
+
"McpToolOptions": {
|
|
516
|
+
"additionalProperties": false,
|
|
517
|
+
"description": "One MCP tool promoted from its owning server's live catalog.",
|
|
518
|
+
"properties": {
|
|
519
|
+
"effects": {
|
|
520
|
+
"items": {
|
|
521
|
+
"$ref": "#/$defs/RuntimeEffect"
|
|
522
|
+
},
|
|
523
|
+
"type": "array"
|
|
298
524
|
},
|
|
299
|
-
"
|
|
525
|
+
"inputSchema": {
|
|
300
526
|
"type": ["string", "null"]
|
|
301
527
|
},
|
|
302
|
-
"
|
|
528
|
+
"outputSchema": {
|
|
303
529
|
"type": ["string", "null"]
|
|
530
|
+
},
|
|
531
|
+
"serverContributionId": {
|
|
532
|
+
"type": "string"
|
|
533
|
+
},
|
|
534
|
+
"timeoutMs": {
|
|
535
|
+
"format": "uint64",
|
|
536
|
+
"minimum": 0,
|
|
537
|
+
"type": ["integer", "null"]
|
|
538
|
+
},
|
|
539
|
+
"toolName": {
|
|
540
|
+
"type": "string"
|
|
304
541
|
}
|
|
305
542
|
},
|
|
306
|
-
"required": ["
|
|
543
|
+
"required": ["serverContributionId", "toolName"],
|
|
307
544
|
"type": "object"
|
|
308
545
|
},
|
|
309
546
|
"MiniAppBundleManifest": {
|
|
@@ -347,6 +584,22 @@
|
|
|
347
584
|
"title": "Tap Miniapp Bundle Manifest",
|
|
348
585
|
"type": "object"
|
|
349
586
|
},
|
|
587
|
+
"MiniAppCategory": {
|
|
588
|
+
"description": "Closed Marketplace discovery taxonomy for descriptor-backed miniapps.",
|
|
589
|
+
"enum": [
|
|
590
|
+
"productivity",
|
|
591
|
+
"developer-tools",
|
|
592
|
+
"creativity",
|
|
593
|
+
"communication",
|
|
594
|
+
"data-and-analytics",
|
|
595
|
+
"business",
|
|
596
|
+
"education",
|
|
597
|
+
"media-and-entertainment",
|
|
598
|
+
"utilities",
|
|
599
|
+
"other"
|
|
600
|
+
],
|
|
601
|
+
"type": "string"
|
|
602
|
+
},
|
|
350
603
|
"MiniAppReferencesManifest": {
|
|
351
604
|
"additionalProperties": false,
|
|
352
605
|
"description": "Manifest that references built TAP miniapp manifests.",
|
|
@@ -433,6 +686,20 @@
|
|
|
433
686
|
}
|
|
434
687
|
]
|
|
435
688
|
},
|
|
689
|
+
"ModuleContributionTarget": {
|
|
690
|
+
"additionalProperties": false,
|
|
691
|
+
"description": "A contribution implemented by one module in the locked Federation graph.",
|
|
692
|
+
"properties": {
|
|
693
|
+
"expose": {
|
|
694
|
+
"type": "string"
|
|
695
|
+
},
|
|
696
|
+
"runtime": {
|
|
697
|
+
"$ref": "#/$defs/ExecutionRuntime"
|
|
698
|
+
}
|
|
699
|
+
},
|
|
700
|
+
"required": ["expose", "runtime"],
|
|
701
|
+
"type": "object"
|
|
702
|
+
},
|
|
436
703
|
"PackageCompatibility": {
|
|
437
704
|
"additionalProperties": false,
|
|
438
705
|
"description": "Host and SDK compatibility checked before remote loading.",
|
|
@@ -1360,7 +1627,7 @@
|
|
|
1360
1627
|
"default": "mount"
|
|
1361
1628
|
},
|
|
1362
1629
|
"options": {
|
|
1363
|
-
"$ref": "#/$defs/
|
|
1630
|
+
"$ref": "#/$defs/WorkflowOptions"
|
|
1364
1631
|
},
|
|
1365
1632
|
"publishes": {
|
|
1366
1633
|
"items": {
|
|
@@ -1428,7 +1695,7 @@
|
|
|
1428
1695
|
"default": "mount"
|
|
1429
1696
|
},
|
|
1430
1697
|
"options": {
|
|
1431
|
-
"$ref": "#/$defs/
|
|
1698
|
+
"$ref": "#/$defs/WorkflowNodeOptions"
|
|
1432
1699
|
},
|
|
1433
1700
|
"publishes": {
|
|
1434
1701
|
"items": {
|
|
@@ -1564,7 +1831,7 @@
|
|
|
1564
1831
|
"default": "mount"
|
|
1565
1832
|
},
|
|
1566
1833
|
"options": {
|
|
1567
|
-
"$ref": "#/$defs/
|
|
1834
|
+
"$ref": "#/$defs/McpServerOptions"
|
|
1568
1835
|
},
|
|
1569
1836
|
"publishes": {
|
|
1570
1837
|
"items": {
|
|
@@ -1632,7 +1899,7 @@
|
|
|
1632
1899
|
"default": "mount"
|
|
1633
1900
|
},
|
|
1634
1901
|
"options": {
|
|
1635
|
-
"$ref": "#/$defs/
|
|
1902
|
+
"$ref": "#/$defs/McpToolOptions"
|
|
1636
1903
|
},
|
|
1637
1904
|
"publishes": {
|
|
1638
1905
|
"items": {
|
|
@@ -1700,7 +1967,7 @@
|
|
|
1700
1967
|
"default": "mount"
|
|
1701
1968
|
},
|
|
1702
1969
|
"options": {
|
|
1703
|
-
"$ref": "#/$defs/
|
|
1970
|
+
"$ref": "#/$defs/McpPromptOptions"
|
|
1704
1971
|
},
|
|
1705
1972
|
"publishes": {
|
|
1706
1973
|
"items": {
|
|
@@ -1768,7 +2035,7 @@
|
|
|
1768
2035
|
"default": "mount"
|
|
1769
2036
|
},
|
|
1770
2037
|
"options": {
|
|
1771
|
-
"$ref": "#/$defs/
|
|
2038
|
+
"$ref": "#/$defs/McpResourceOptions"
|
|
1772
2039
|
},
|
|
1773
2040
|
"publishes": {
|
|
1774
2041
|
"items": {
|
|
@@ -1836,7 +2103,7 @@
|
|
|
1836
2103
|
"default": "mount"
|
|
1837
2104
|
},
|
|
1838
2105
|
"options": {
|
|
1839
|
-
"$ref": "#/$defs/
|
|
2106
|
+
"$ref": "#/$defs/McpResourceTemplateOptions"
|
|
1840
2107
|
},
|
|
1841
2108
|
"publishes": {
|
|
1842
2109
|
"items": {
|
|
@@ -1904,7 +2171,7 @@
|
|
|
1904
2171
|
"default": "mount"
|
|
1905
2172
|
},
|
|
1906
2173
|
"options": {
|
|
1907
|
-
"$ref": "#/$defs/
|
|
2174
|
+
"$ref": "#/$defs/McpAppOptions"
|
|
1908
2175
|
},
|
|
1909
2176
|
"publishes": {
|
|
1910
2177
|
"items": {
|
|
@@ -2796,6 +3063,15 @@
|
|
|
2796
3063
|
},
|
|
2797
3064
|
"type": "array"
|
|
2798
3065
|
},
|
|
3066
|
+
"categories": {
|
|
3067
|
+
"description": "Ordered Marketplace discovery categories. Existing private/manual\npackages may omit categories; published listings validate their own\ndiscovery requirements before accepting a release.",
|
|
3068
|
+
"items": {
|
|
3069
|
+
"$ref": "#/$defs/MiniAppCategory"
|
|
3070
|
+
},
|
|
3071
|
+
"maxItems": 3,
|
|
3072
|
+
"type": "array",
|
|
3073
|
+
"uniqueItems": true
|
|
3074
|
+
},
|
|
2799
3075
|
"description": {
|
|
2800
3076
|
"type": "string"
|
|
2801
3077
|
},
|
|
@@ -3169,6 +3445,243 @@
|
|
|
3169
3445
|
},
|
|
3170
3446
|
"required": ["placement", "scope"],
|
|
3171
3447
|
"type": "object"
|
|
3448
|
+
},
|
|
3449
|
+
"WorkflowCancellationPolicy": {
|
|
3450
|
+
"description": "Cancellation behavior supported by package-provided workflows.",
|
|
3451
|
+
"enum": ["host-managed"],
|
|
3452
|
+
"type": "string"
|
|
3453
|
+
},
|
|
3454
|
+
"WorkflowCheckpointPolicy": {
|
|
3455
|
+
"description": "Checkpoint behavior supported by the package-contribution ABI.",
|
|
3456
|
+
"enum": ["none"],
|
|
3457
|
+
"type": "string"
|
|
3458
|
+
},
|
|
3459
|
+
"WorkflowExecutionSemantics": {
|
|
3460
|
+
"additionalProperties": false,
|
|
3461
|
+
"description": "Fixed v1 execution semantics for one immutable package workflow.",
|
|
3462
|
+
"properties": {
|
|
3463
|
+
"cancellation": {
|
|
3464
|
+
"$ref": "#/$defs/WorkflowCancellationPolicy"
|
|
3465
|
+
},
|
|
3466
|
+
"checkpoint": {
|
|
3467
|
+
"$ref": "#/$defs/WorkflowCheckpointPolicy"
|
|
3468
|
+
},
|
|
3469
|
+
"retry": {
|
|
3470
|
+
"$ref": "#/$defs/WorkflowRetryPolicy"
|
|
3471
|
+
},
|
|
3472
|
+
"rollback": {
|
|
3473
|
+
"$ref": "#/$defs/WorkflowRollbackPolicy"
|
|
3474
|
+
},
|
|
3475
|
+
"upgrade": {
|
|
3476
|
+
"$ref": "#/$defs/WorkflowUpgradePolicy"
|
|
3477
|
+
}
|
|
3478
|
+
},
|
|
3479
|
+
"required": [
|
|
3480
|
+
"retry",
|
|
3481
|
+
"cancellation",
|
|
3482
|
+
"checkpoint",
|
|
3483
|
+
"upgrade",
|
|
3484
|
+
"rollback"
|
|
3485
|
+
],
|
|
3486
|
+
"type": "object"
|
|
3487
|
+
},
|
|
3488
|
+
"WorkflowHostPort": {
|
|
3489
|
+
"description": "Narrow host port a package-provided workflow node may request.",
|
|
3490
|
+
"enum": ["fs", "proc", "http", "clock", "crypto", "store", "source"],
|
|
3491
|
+
"type": "string"
|
|
3492
|
+
},
|
|
3493
|
+
"WorkflowNodeCancellationPolicy": {
|
|
3494
|
+
"description": "Cancellation behavior supported by one package-provided node attempt.",
|
|
3495
|
+
"enum": ["not-supported"],
|
|
3496
|
+
"type": "string"
|
|
3497
|
+
},
|
|
3498
|
+
"WorkflowNodeEffect": {
|
|
3499
|
+
"description": "Side-effect classification for a package-provided workflow node.",
|
|
3500
|
+
"enum": ["pure", "read", "write", "exec"],
|
|
3501
|
+
"type": "string"
|
|
3502
|
+
},
|
|
3503
|
+
"WorkflowNodeExecutionSemantics": {
|
|
3504
|
+
"additionalProperties": false,
|
|
3505
|
+
"description": "Fixed v1 execution semantics for one package-provided workflow node.",
|
|
3506
|
+
"properties": {
|
|
3507
|
+
"cancellation": {
|
|
3508
|
+
"$ref": "#/$defs/WorkflowNodeCancellationPolicy"
|
|
3509
|
+
},
|
|
3510
|
+
"checkpoint": {
|
|
3511
|
+
"$ref": "#/$defs/WorkflowCheckpointPolicy"
|
|
3512
|
+
},
|
|
3513
|
+
"idempotency": {
|
|
3514
|
+
"$ref": "#/$defs/WorkflowNodeIdempotency"
|
|
3515
|
+
},
|
|
3516
|
+
"maxAttempts": {
|
|
3517
|
+
"format": "uint8",
|
|
3518
|
+
"maximum": 1,
|
|
3519
|
+
"minimum": 1,
|
|
3520
|
+
"type": "integer"
|
|
3521
|
+
},
|
|
3522
|
+
"rollback": {
|
|
3523
|
+
"$ref": "#/$defs/WorkflowRollbackPolicy"
|
|
3524
|
+
},
|
|
3525
|
+
"upgrade": {
|
|
3526
|
+
"$ref": "#/$defs/WorkflowUpgradePolicy"
|
|
3527
|
+
}
|
|
3528
|
+
},
|
|
3529
|
+
"required": [
|
|
3530
|
+
"maxAttempts",
|
|
3531
|
+
"idempotency",
|
|
3532
|
+
"cancellation",
|
|
3533
|
+
"checkpoint",
|
|
3534
|
+
"upgrade",
|
|
3535
|
+
"rollback"
|
|
3536
|
+
],
|
|
3537
|
+
"type": "object"
|
|
3538
|
+
},
|
|
3539
|
+
"WorkflowNodeIdempotency": {
|
|
3540
|
+
"description": "Idempotency claim for the one attempt allowed by the v1 node ABI.",
|
|
3541
|
+
"enum": ["idempotent", "non-idempotent"],
|
|
3542
|
+
"type": "string"
|
|
3543
|
+
},
|
|
3544
|
+
"WorkflowNodeOptions": {
|
|
3545
|
+
"additionalProperties": false,
|
|
3546
|
+
"description": "Exact descriptor options for a canonical `ze-workflows` contributed node.",
|
|
3547
|
+
"properties": {
|
|
3548
|
+
"config": {
|
|
3549
|
+
"$ref": "#/$defs/WorkflowSchemaReference"
|
|
3550
|
+
},
|
|
3551
|
+
"effect": {
|
|
3552
|
+
"$ref": "#/$defs/WorkflowNodeEffect"
|
|
3553
|
+
},
|
|
3554
|
+
"execution": {
|
|
3555
|
+
"$ref": "#/$defs/WorkflowNodeExecutionSemantics"
|
|
3556
|
+
},
|
|
3557
|
+
"exportName": {
|
|
3558
|
+
"type": "string"
|
|
3559
|
+
},
|
|
3560
|
+
"inputs": {
|
|
3561
|
+
"items": {
|
|
3562
|
+
"$ref": "#/$defs/WorkflowPort"
|
|
3563
|
+
},
|
|
3564
|
+
"type": "array"
|
|
3565
|
+
},
|
|
3566
|
+
"nodeKind": {
|
|
3567
|
+
"type": "string"
|
|
3568
|
+
},
|
|
3569
|
+
"outcomes": {
|
|
3570
|
+
"items": {
|
|
3571
|
+
"type": "string"
|
|
3572
|
+
},
|
|
3573
|
+
"type": "array"
|
|
3574
|
+
},
|
|
3575
|
+
"outputs": {
|
|
3576
|
+
"items": {
|
|
3577
|
+
"$ref": "#/$defs/WorkflowPort"
|
|
3578
|
+
},
|
|
3579
|
+
"type": "array"
|
|
3580
|
+
},
|
|
3581
|
+
"requires": {
|
|
3582
|
+
"items": {
|
|
3583
|
+
"$ref": "#/$defs/WorkflowHostPort"
|
|
3584
|
+
},
|
|
3585
|
+
"type": "array"
|
|
3586
|
+
}
|
|
3587
|
+
},
|
|
3588
|
+
"required": [
|
|
3589
|
+
"nodeKind",
|
|
3590
|
+
"exportName",
|
|
3591
|
+
"config",
|
|
3592
|
+
"inputs",
|
|
3593
|
+
"outputs",
|
|
3594
|
+
"outcomes",
|
|
3595
|
+
"effect",
|
|
3596
|
+
"requires",
|
|
3597
|
+
"execution"
|
|
3598
|
+
],
|
|
3599
|
+
"type": "object"
|
|
3600
|
+
},
|
|
3601
|
+
"WorkflowOptions": {
|
|
3602
|
+
"additionalProperties": false,
|
|
3603
|
+
"description": "Exact descriptor options for a canonical `ze-workflows` workflow.\n\nThe module expose and runtime remain in [`ContributionBase::targets`]; the\npackage host combines that verified target with these inert declarations to\nbuild the release-scoped `ze-workflows` catalog.",
|
|
3604
|
+
"properties": {
|
|
3605
|
+
"exportName": {
|
|
3606
|
+
"type": "string"
|
|
3607
|
+
},
|
|
3608
|
+
"inputs": {
|
|
3609
|
+
"items": {
|
|
3610
|
+
"$ref": "#/$defs/WorkflowPort"
|
|
3611
|
+
},
|
|
3612
|
+
"type": "array"
|
|
3613
|
+
},
|
|
3614
|
+
"lifecycle": {
|
|
3615
|
+
"$ref": "#/$defs/WorkflowExecutionSemantics"
|
|
3616
|
+
},
|
|
3617
|
+
"manifest": {
|
|
3618
|
+
"$ref": "#/$defs/WorkflowSchemaReference"
|
|
3619
|
+
},
|
|
3620
|
+
"outputs": {
|
|
3621
|
+
"items": {
|
|
3622
|
+
"$ref": "#/$defs/WorkflowPort"
|
|
3623
|
+
},
|
|
3624
|
+
"type": "array"
|
|
3625
|
+
},
|
|
3626
|
+
"workflowId": {
|
|
3627
|
+
"type": "string"
|
|
3628
|
+
}
|
|
3629
|
+
},
|
|
3630
|
+
"required": [
|
|
3631
|
+
"workflowId",
|
|
3632
|
+
"exportName",
|
|
3633
|
+
"manifest",
|
|
3634
|
+
"inputs",
|
|
3635
|
+
"outputs",
|
|
3636
|
+
"lifecycle"
|
|
3637
|
+
],
|
|
3638
|
+
"type": "object"
|
|
3639
|
+
},
|
|
3640
|
+
"WorkflowPort": {
|
|
3641
|
+
"additionalProperties": false,
|
|
3642
|
+
"description": "One named, schema-bound workflow input or output port.",
|
|
3643
|
+
"properties": {
|
|
3644
|
+
"name": {
|
|
3645
|
+
"type": "string"
|
|
3646
|
+
},
|
|
3647
|
+
"required": {
|
|
3648
|
+
"type": "boolean"
|
|
3649
|
+
},
|
|
3650
|
+
"schema": {
|
|
3651
|
+
"$ref": "#/$defs/WorkflowSchemaReference"
|
|
3652
|
+
}
|
|
3653
|
+
},
|
|
3654
|
+
"required": ["name", "schema", "required"],
|
|
3655
|
+
"type": "object"
|
|
3656
|
+
},
|
|
3657
|
+
"WorkflowRetryPolicy": {
|
|
3658
|
+
"description": "Retry behavior supported by package-provided workflow definitions.",
|
|
3659
|
+
"enum": ["none"],
|
|
3660
|
+
"type": "string"
|
|
3661
|
+
},
|
|
3662
|
+
"WorkflowRollbackPolicy": {
|
|
3663
|
+
"description": "Rollback ownership for package-provided workflows and nodes.",
|
|
3664
|
+
"enum": ["host-managed"],
|
|
3665
|
+
"type": "string"
|
|
3666
|
+
},
|
|
3667
|
+
"WorkflowSchemaReference": {
|
|
3668
|
+
"additionalProperties": false,
|
|
3669
|
+
"description": "Exact schema identity admitted by the canonical `ze-workflows` package ABI.\n\n`id` is the release-relative schema asset path and `integrity` is the SRI of\nthe canonical JSON document. The target's [`PackageAssetLockV1`] separately\nbinds the raw file bytes; the package host verifies both identities before\nit evaluates the workflow-host export.",
|
|
3670
|
+
"properties": {
|
|
3671
|
+
"id": {
|
|
3672
|
+
"type": "string"
|
|
3673
|
+
},
|
|
3674
|
+
"integrity": {
|
|
3675
|
+
"type": "string"
|
|
3676
|
+
}
|
|
3677
|
+
},
|
|
3678
|
+
"required": ["id", "integrity"],
|
|
3679
|
+
"type": "object"
|
|
3680
|
+
},
|
|
3681
|
+
"WorkflowUpgradePolicy": {
|
|
3682
|
+
"description": "Upgrade behavior supported by immutable package workflow definitions.",
|
|
3683
|
+
"enum": ["restart"],
|
|
3684
|
+
"type": "string"
|
|
3172
3685
|
}
|
|
3173
3686
|
},
|
|
3174
3687
|
"$id": "https://tap.local/schemas/manifest.tap.schema.json",
|