@almadar/core 10.31.0 → 10.32.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.
- package/dist/{builders-DDcCVboe.d.ts → builders-CnPRr1cq.d.ts} +3 -3
- package/dist/builders.d.ts +4 -4
- package/dist/{pattern-types-VDIr2TkX.d.ts → effect-8eas3tpU.d.ts} +1457 -4
- package/dist/{expression-CB9R3KWk.d.ts → expression-BlFrxmNB.d.ts} +1 -1
- package/dist/factory/index.d.ts +6 -6
- package/dist/factory-runtime/index.d.ts +4 -4
- package/dist/index.d.ts +30 -10
- package/dist/index.js +228 -112
- package/dist/index.js.map +1 -1
- package/dist/patterns/component-mapping.json +1 -1
- package/dist/patterns/event-contracts.json +14 -1
- package/dist/patterns/index.d.ts +174 -142
- package/dist/patterns/index.js +115 -85
- package/dist/patterns/index.js.map +1 -1
- package/dist/patterns/patterns-registry.json +83 -82
- package/dist/patterns/registry.json +83 -82
- package/dist/state-machine/index.d.ts +13 -2
- package/dist/state-machine/index.js +48 -23
- package/dist/state-machine/index.js.map +1 -1
- package/dist/{trait-DE6VU4Cd.d.ts → trait-CMGaEccZ.d.ts} +3 -1454
- package/dist/types/index.d.ts +11 -9
- package/dist/types/index.js.map +1 -1
- package/dist/{types-DSfz2mr5.d.ts → types-B6IYPXZM.d.ts} +2 -2
- package/package.json +1 -1
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": "1.0.0",
|
|
3
|
-
"exportedAt": "2026-07-
|
|
3
|
+
"exportedAt": "2026-07-23T14:32:35.644Z",
|
|
4
4
|
"patterns": {
|
|
5
5
|
"entity-table": {
|
|
6
6
|
"type": "entity-table",
|
|
@@ -3499,7 +3499,8 @@
|
|
|
3499
3499
|
"types": [
|
|
3500
3500
|
"string"
|
|
3501
3501
|
],
|
|
3502
|
-
"description": "
|
|
3502
|
+
"description": "Declarative search event — emits UI:{event} via eventBus on query submit (alongside canonical UI:SEARCH)",
|
|
3503
|
+
"kind": "event"
|
|
3503
3504
|
},
|
|
3504
3505
|
"entity": {
|
|
3505
3506
|
"types": [
|
|
@@ -3658,6 +3659,20 @@
|
|
|
3658
3659
|
"inline-column-header"
|
|
3659
3660
|
],
|
|
3660
3661
|
"default": "toolbar"
|
|
3662
|
+
},
|
|
3663
|
+
"event": {
|
|
3664
|
+
"types": [
|
|
3665
|
+
"string"
|
|
3666
|
+
],
|
|
3667
|
+
"description": "Declarative filter event — emits UI:{event} via eventBus on filter change (alongside canonical UI:FILTER)",
|
|
3668
|
+
"kind": "event"
|
|
3669
|
+
},
|
|
3670
|
+
"clearEvent": {
|
|
3671
|
+
"types": [
|
|
3672
|
+
"string"
|
|
3673
|
+
],
|
|
3674
|
+
"description": "Declarative clear event — emits UI:{clearEvent} via eventBus on clear-all (alongside canonical UI:CLEAR_FILTERS)",
|
|
3675
|
+
"kind": "event"
|
|
3661
3676
|
}
|
|
3662
3677
|
}
|
|
3663
3678
|
},
|
|
@@ -5721,9 +5736,9 @@
|
|
|
5721
5736
|
},
|
|
5722
5737
|
"title": {
|
|
5723
5738
|
"types": [
|
|
5724
|
-
"
|
|
5739
|
+
"node"
|
|
5725
5740
|
],
|
|
5726
|
-
"description": "Drawer title"
|
|
5741
|
+
"description": "Drawer title (text or any node, e.g. a brand logo + name)."
|
|
5727
5742
|
},
|
|
5728
5743
|
"children": {
|
|
5729
5744
|
"types": [
|
|
@@ -9733,8 +9748,9 @@
|
|
|
9733
9748
|
"types": [
|
|
9734
9749
|
"string"
|
|
9735
9750
|
],
|
|
9736
|
-
"description": "Font weight override",
|
|
9751
|
+
"description": "Font weight override — `none` = no override, the variant's baked weight applies",
|
|
9737
9752
|
"enumValues": [
|
|
9753
|
+
"none",
|
|
9738
9754
|
"light",
|
|
9739
9755
|
"normal",
|
|
9740
9756
|
"medium",
|
|
@@ -9748,6 +9764,7 @@
|
|
|
9748
9764
|
],
|
|
9749
9765
|
"description": "Font size override",
|
|
9750
9766
|
"enumValues": [
|
|
9767
|
+
"none",
|
|
9751
9768
|
"xs",
|
|
9752
9769
|
"sm",
|
|
9753
9770
|
"md",
|
|
@@ -15219,37 +15236,7 @@
|
|
|
15219
15236
|
"types": [
|
|
15220
15237
|
"string"
|
|
15221
15238
|
],
|
|
15222
|
-
"description": "Programming language for syntax highlighting",
|
|
15223
|
-
"enumValues": [
|
|
15224
|
-
"text",
|
|
15225
|
-
"json",
|
|
15226
|
-
"javascript",
|
|
15227
|
-
"js",
|
|
15228
|
-
"typescript",
|
|
15229
|
-
"ts",
|
|
15230
|
-
"jsx",
|
|
15231
|
-
"tsx",
|
|
15232
|
-
"css",
|
|
15233
|
-
"markdown",
|
|
15234
|
-
"md",
|
|
15235
|
-
"bash",
|
|
15236
|
-
"shell",
|
|
15237
|
-
"sh",
|
|
15238
|
-
"yaml",
|
|
15239
|
-
"yml",
|
|
15240
|
-
"rust",
|
|
15241
|
-
"python",
|
|
15242
|
-
"py",
|
|
15243
|
-
"sql",
|
|
15244
|
-
"diff",
|
|
15245
|
-
"toml",
|
|
15246
|
-
"go",
|
|
15247
|
-
"graphql",
|
|
15248
|
-
"html",
|
|
15249
|
-
"xml",
|
|
15250
|
-
"orb",
|
|
15251
|
-
"lolo"
|
|
15252
|
-
],
|
|
15239
|
+
"description": "Programming language for syntax highlighting (any Prism id; loaded on demand if not pre-registered)",
|
|
15253
15240
|
"default": "text"
|
|
15254
15241
|
},
|
|
15255
15242
|
"showCopyButton": {
|
|
@@ -15450,6 +15437,58 @@
|
|
|
15450
15437
|
"graphql",
|
|
15451
15438
|
"html",
|
|
15452
15439
|
"xml",
|
|
15440
|
+
"clojure",
|
|
15441
|
+
"clj",
|
|
15442
|
+
"edn",
|
|
15443
|
+
"haskell",
|
|
15444
|
+
"hs",
|
|
15445
|
+
"lisp",
|
|
15446
|
+
"scheme",
|
|
15447
|
+
"scala",
|
|
15448
|
+
"elixir",
|
|
15449
|
+
"ex",
|
|
15450
|
+
"exs",
|
|
15451
|
+
"erlang",
|
|
15452
|
+
"erl",
|
|
15453
|
+
"elm",
|
|
15454
|
+
"fsharp",
|
|
15455
|
+
"fs",
|
|
15456
|
+
"fsx",
|
|
15457
|
+
"ocaml",
|
|
15458
|
+
"ml",
|
|
15459
|
+
"java",
|
|
15460
|
+
"c",
|
|
15461
|
+
"cpp",
|
|
15462
|
+
"c++",
|
|
15463
|
+
"cc",
|
|
15464
|
+
"cxx",
|
|
15465
|
+
"hpp",
|
|
15466
|
+
"h",
|
|
15467
|
+
"csharp",
|
|
15468
|
+
"cs",
|
|
15469
|
+
"objectivec",
|
|
15470
|
+
"objc",
|
|
15471
|
+
"php",
|
|
15472
|
+
"ruby",
|
|
15473
|
+
"rb",
|
|
15474
|
+
"swift",
|
|
15475
|
+
"kotlin",
|
|
15476
|
+
"kt",
|
|
15477
|
+
"lua",
|
|
15478
|
+
"r",
|
|
15479
|
+
"dart",
|
|
15480
|
+
"julia",
|
|
15481
|
+
"fortran",
|
|
15482
|
+
"f90",
|
|
15483
|
+
"f95",
|
|
15484
|
+
"perl",
|
|
15485
|
+
"pl",
|
|
15486
|
+
"powershell",
|
|
15487
|
+
"ps1",
|
|
15488
|
+
"makefile",
|
|
15489
|
+
"make",
|
|
15490
|
+
"nginx",
|
|
15491
|
+
"ini",
|
|
15453
15492
|
"orb",
|
|
15454
15493
|
"lolo"
|
|
15455
15494
|
]
|
|
@@ -17101,6 +17140,11 @@
|
|
|
17101
17140
|
"string"
|
|
17102
17141
|
]
|
|
17103
17142
|
},
|
|
17143
|
+
"navigatesTo": {
|
|
17144
|
+
"types": [
|
|
17145
|
+
"string"
|
|
17146
|
+
]
|
|
17147
|
+
},
|
|
17104
17148
|
"icon": {
|
|
17105
17149
|
"types": [
|
|
17106
17150
|
"icon",
|
|
@@ -17261,7 +17305,7 @@
|
|
|
17261
17305
|
"types": [
|
|
17262
17306
|
"function"
|
|
17263
17307
|
],
|
|
17264
|
-
"description": "Render prop for custom per-card content. When provided, `fields`
|
|
17308
|
+
"description": "Render prop for custom per-card content. When provided, `fields` are ignored; `itemActions` render as a footer beneath the custom content.",
|
|
17265
17309
|
"kind": "callback",
|
|
17266
17310
|
"callbackArgs": [
|
|
17267
17311
|
{
|
|
@@ -34016,22 +34060,6 @@
|
|
|
34016
34060
|
"items": {
|
|
34017
34061
|
"types": [
|
|
34018
34062
|
"object"
|
|
34019
|
-
],
|
|
34020
|
-
"properties": {
|
|
34021
|
-
"type": {
|
|
34022
|
-
"types": [
|
|
34023
|
-
"unknown"
|
|
34024
|
-
]
|
|
34025
|
-
},
|
|
34026
|
-
"content": {
|
|
34027
|
-
"types": [
|
|
34028
|
-
"string"
|
|
34029
|
-
]
|
|
34030
|
-
}
|
|
34031
|
-
},
|
|
34032
|
-
"required": [
|
|
34033
|
-
"type",
|
|
34034
|
-
"content"
|
|
34035
34063
|
]
|
|
34036
34064
|
}
|
|
34037
34065
|
},
|
|
@@ -34051,34 +34079,7 @@
|
|
|
34051
34079
|
"types": [
|
|
34052
34080
|
"object"
|
|
34053
34081
|
],
|
|
34054
|
-
"description": "User progress for restoring activation/reflection state"
|
|
34055
|
-
"properties": {
|
|
34056
|
-
"activationResponse": {
|
|
34057
|
-
"types": [
|
|
34058
|
-
"string"
|
|
34059
|
-
]
|
|
34060
|
-
},
|
|
34061
|
-
"reflectionNotes": {
|
|
34062
|
-
"types": [
|
|
34063
|
-
"array"
|
|
34064
|
-
],
|
|
34065
|
-
"items": {
|
|
34066
|
-
"types": [
|
|
34067
|
-
"string"
|
|
34068
|
-
]
|
|
34069
|
-
}
|
|
34070
|
-
},
|
|
34071
|
-
"bloomAnswered": {
|
|
34072
|
-
"types": [
|
|
34073
|
-
"object"
|
|
34074
|
-
],
|
|
34075
|
-
"mapValue": {
|
|
34076
|
-
"types": [
|
|
34077
|
-
"boolean"
|
|
34078
|
-
]
|
|
34079
|
-
}
|
|
34080
|
-
}
|
|
34081
|
-
}
|
|
34082
|
+
"description": "User progress for restoring activation/reflection state"
|
|
34082
34083
|
},
|
|
34083
34084
|
"onRunCodeSimulation": {
|
|
34084
34085
|
"types": [
|
|
@@ -34107,7 +34108,7 @@
|
|
|
34107
34108
|
"callbackArgs": [
|
|
34108
34109
|
{
|
|
34109
34110
|
"name": "type",
|
|
34110
|
-
"type": "
|
|
34111
|
+
"type": "object"
|
|
34111
34112
|
},
|
|
34112
34113
|
{
|
|
34113
34114
|
"name": "description",
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": "1.0.0",
|
|
3
|
-
"exportedAt": "2026-07-
|
|
3
|
+
"exportedAt": "2026-07-23T14:32:35.644Z",
|
|
4
4
|
"patterns": {
|
|
5
5
|
"entity-table": {
|
|
6
6
|
"type": "entity-table",
|
|
@@ -3499,7 +3499,8 @@
|
|
|
3499
3499
|
"types": [
|
|
3500
3500
|
"string"
|
|
3501
3501
|
],
|
|
3502
|
-
"description": "
|
|
3502
|
+
"description": "Declarative search event — emits UI:{event} via eventBus on query submit (alongside canonical UI:SEARCH)",
|
|
3503
|
+
"kind": "event"
|
|
3503
3504
|
},
|
|
3504
3505
|
"entity": {
|
|
3505
3506
|
"types": [
|
|
@@ -3658,6 +3659,20 @@
|
|
|
3658
3659
|
"inline-column-header"
|
|
3659
3660
|
],
|
|
3660
3661
|
"default": "toolbar"
|
|
3662
|
+
},
|
|
3663
|
+
"event": {
|
|
3664
|
+
"types": [
|
|
3665
|
+
"string"
|
|
3666
|
+
],
|
|
3667
|
+
"description": "Declarative filter event — emits UI:{event} via eventBus on filter change (alongside canonical UI:FILTER)",
|
|
3668
|
+
"kind": "event"
|
|
3669
|
+
},
|
|
3670
|
+
"clearEvent": {
|
|
3671
|
+
"types": [
|
|
3672
|
+
"string"
|
|
3673
|
+
],
|
|
3674
|
+
"description": "Declarative clear event — emits UI:{clearEvent} via eventBus on clear-all (alongside canonical UI:CLEAR_FILTERS)",
|
|
3675
|
+
"kind": "event"
|
|
3661
3676
|
}
|
|
3662
3677
|
}
|
|
3663
3678
|
},
|
|
@@ -5721,9 +5736,9 @@
|
|
|
5721
5736
|
},
|
|
5722
5737
|
"title": {
|
|
5723
5738
|
"types": [
|
|
5724
|
-
"
|
|
5739
|
+
"node"
|
|
5725
5740
|
],
|
|
5726
|
-
"description": "Drawer title"
|
|
5741
|
+
"description": "Drawer title (text or any node, e.g. a brand logo + name)."
|
|
5727
5742
|
},
|
|
5728
5743
|
"children": {
|
|
5729
5744
|
"types": [
|
|
@@ -9733,8 +9748,9 @@
|
|
|
9733
9748
|
"types": [
|
|
9734
9749
|
"string"
|
|
9735
9750
|
],
|
|
9736
|
-
"description": "Font weight override",
|
|
9751
|
+
"description": "Font weight override — `none` = no override, the variant's baked weight applies",
|
|
9737
9752
|
"enumValues": [
|
|
9753
|
+
"none",
|
|
9738
9754
|
"light",
|
|
9739
9755
|
"normal",
|
|
9740
9756
|
"medium",
|
|
@@ -9748,6 +9764,7 @@
|
|
|
9748
9764
|
],
|
|
9749
9765
|
"description": "Font size override",
|
|
9750
9766
|
"enumValues": [
|
|
9767
|
+
"none",
|
|
9751
9768
|
"xs",
|
|
9752
9769
|
"sm",
|
|
9753
9770
|
"md",
|
|
@@ -15219,37 +15236,7 @@
|
|
|
15219
15236
|
"types": [
|
|
15220
15237
|
"string"
|
|
15221
15238
|
],
|
|
15222
|
-
"description": "Programming language for syntax highlighting",
|
|
15223
|
-
"enumValues": [
|
|
15224
|
-
"text",
|
|
15225
|
-
"json",
|
|
15226
|
-
"javascript",
|
|
15227
|
-
"js",
|
|
15228
|
-
"typescript",
|
|
15229
|
-
"ts",
|
|
15230
|
-
"jsx",
|
|
15231
|
-
"tsx",
|
|
15232
|
-
"css",
|
|
15233
|
-
"markdown",
|
|
15234
|
-
"md",
|
|
15235
|
-
"bash",
|
|
15236
|
-
"shell",
|
|
15237
|
-
"sh",
|
|
15238
|
-
"yaml",
|
|
15239
|
-
"yml",
|
|
15240
|
-
"rust",
|
|
15241
|
-
"python",
|
|
15242
|
-
"py",
|
|
15243
|
-
"sql",
|
|
15244
|
-
"diff",
|
|
15245
|
-
"toml",
|
|
15246
|
-
"go",
|
|
15247
|
-
"graphql",
|
|
15248
|
-
"html",
|
|
15249
|
-
"xml",
|
|
15250
|
-
"orb",
|
|
15251
|
-
"lolo"
|
|
15252
|
-
],
|
|
15239
|
+
"description": "Programming language for syntax highlighting (any Prism id; loaded on demand if not pre-registered)",
|
|
15253
15240
|
"default": "text"
|
|
15254
15241
|
},
|
|
15255
15242
|
"showCopyButton": {
|
|
@@ -15450,6 +15437,58 @@
|
|
|
15450
15437
|
"graphql",
|
|
15451
15438
|
"html",
|
|
15452
15439
|
"xml",
|
|
15440
|
+
"clojure",
|
|
15441
|
+
"clj",
|
|
15442
|
+
"edn",
|
|
15443
|
+
"haskell",
|
|
15444
|
+
"hs",
|
|
15445
|
+
"lisp",
|
|
15446
|
+
"scheme",
|
|
15447
|
+
"scala",
|
|
15448
|
+
"elixir",
|
|
15449
|
+
"ex",
|
|
15450
|
+
"exs",
|
|
15451
|
+
"erlang",
|
|
15452
|
+
"erl",
|
|
15453
|
+
"elm",
|
|
15454
|
+
"fsharp",
|
|
15455
|
+
"fs",
|
|
15456
|
+
"fsx",
|
|
15457
|
+
"ocaml",
|
|
15458
|
+
"ml",
|
|
15459
|
+
"java",
|
|
15460
|
+
"c",
|
|
15461
|
+
"cpp",
|
|
15462
|
+
"c++",
|
|
15463
|
+
"cc",
|
|
15464
|
+
"cxx",
|
|
15465
|
+
"hpp",
|
|
15466
|
+
"h",
|
|
15467
|
+
"csharp",
|
|
15468
|
+
"cs",
|
|
15469
|
+
"objectivec",
|
|
15470
|
+
"objc",
|
|
15471
|
+
"php",
|
|
15472
|
+
"ruby",
|
|
15473
|
+
"rb",
|
|
15474
|
+
"swift",
|
|
15475
|
+
"kotlin",
|
|
15476
|
+
"kt",
|
|
15477
|
+
"lua",
|
|
15478
|
+
"r",
|
|
15479
|
+
"dart",
|
|
15480
|
+
"julia",
|
|
15481
|
+
"fortran",
|
|
15482
|
+
"f90",
|
|
15483
|
+
"f95",
|
|
15484
|
+
"perl",
|
|
15485
|
+
"pl",
|
|
15486
|
+
"powershell",
|
|
15487
|
+
"ps1",
|
|
15488
|
+
"makefile",
|
|
15489
|
+
"make",
|
|
15490
|
+
"nginx",
|
|
15491
|
+
"ini",
|
|
15453
15492
|
"orb",
|
|
15454
15493
|
"lolo"
|
|
15455
15494
|
]
|
|
@@ -17101,6 +17140,11 @@
|
|
|
17101
17140
|
"string"
|
|
17102
17141
|
]
|
|
17103
17142
|
},
|
|
17143
|
+
"navigatesTo": {
|
|
17144
|
+
"types": [
|
|
17145
|
+
"string"
|
|
17146
|
+
]
|
|
17147
|
+
},
|
|
17104
17148
|
"icon": {
|
|
17105
17149
|
"types": [
|
|
17106
17150
|
"icon",
|
|
@@ -17261,7 +17305,7 @@
|
|
|
17261
17305
|
"types": [
|
|
17262
17306
|
"function"
|
|
17263
17307
|
],
|
|
17264
|
-
"description": "Render prop for custom per-card content. When provided, `fields`
|
|
17308
|
+
"description": "Render prop for custom per-card content. When provided, `fields` are ignored; `itemActions` render as a footer beneath the custom content.",
|
|
17265
17309
|
"kind": "callback",
|
|
17266
17310
|
"callbackArgs": [
|
|
17267
17311
|
{
|
|
@@ -34016,22 +34060,6 @@
|
|
|
34016
34060
|
"items": {
|
|
34017
34061
|
"types": [
|
|
34018
34062
|
"object"
|
|
34019
|
-
],
|
|
34020
|
-
"properties": {
|
|
34021
|
-
"type": {
|
|
34022
|
-
"types": [
|
|
34023
|
-
"unknown"
|
|
34024
|
-
]
|
|
34025
|
-
},
|
|
34026
|
-
"content": {
|
|
34027
|
-
"types": [
|
|
34028
|
-
"string"
|
|
34029
|
-
]
|
|
34030
|
-
}
|
|
34031
|
-
},
|
|
34032
|
-
"required": [
|
|
34033
|
-
"type",
|
|
34034
|
-
"content"
|
|
34035
34063
|
]
|
|
34036
34064
|
}
|
|
34037
34065
|
},
|
|
@@ -34051,34 +34079,7 @@
|
|
|
34051
34079
|
"types": [
|
|
34052
34080
|
"object"
|
|
34053
34081
|
],
|
|
34054
|
-
"description": "User progress for restoring activation/reflection state"
|
|
34055
|
-
"properties": {
|
|
34056
|
-
"activationResponse": {
|
|
34057
|
-
"types": [
|
|
34058
|
-
"string"
|
|
34059
|
-
]
|
|
34060
|
-
},
|
|
34061
|
-
"reflectionNotes": {
|
|
34062
|
-
"types": [
|
|
34063
|
-
"array"
|
|
34064
|
-
],
|
|
34065
|
-
"items": {
|
|
34066
|
-
"types": [
|
|
34067
|
-
"string"
|
|
34068
|
-
]
|
|
34069
|
-
}
|
|
34070
|
-
},
|
|
34071
|
-
"bloomAnswered": {
|
|
34072
|
-
"types": [
|
|
34073
|
-
"object"
|
|
34074
|
-
],
|
|
34075
|
-
"mapValue": {
|
|
34076
|
-
"types": [
|
|
34077
|
-
"boolean"
|
|
34078
|
-
]
|
|
34079
|
-
}
|
|
34080
|
-
}
|
|
34081
|
-
}
|
|
34082
|
+
"description": "User progress for restoring activation/reflection state"
|
|
34082
34083
|
},
|
|
34083
34084
|
"onRunCodeSimulation": {
|
|
34084
34085
|
"types": [
|
|
@@ -34107,7 +34108,7 @@
|
|
|
34107
34108
|
"callbackArgs": [
|
|
34108
34109
|
{
|
|
34109
34110
|
"name": "type",
|
|
34110
|
-
"type": "
|
|
34111
|
+
"type": "object"
|
|
34111
34112
|
},
|
|
34112
34113
|
{
|
|
34113
34114
|
"name": "description",
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { c as EventPayload, S as SExpr } from '../expression-BlFrxmNB.js';
|
|
2
2
|
import 'zod';
|
|
3
3
|
|
|
4
4
|
/**
|
|
@@ -216,6 +216,17 @@ declare function walkStatePairs(transitions: GraphTransition[], initialState: st
|
|
|
216
216
|
* extractPayloadFieldRef('@user.name'); // returns null
|
|
217
217
|
*/
|
|
218
218
|
declare function extractPayloadFieldRef(ref: unknown): string | null;
|
|
219
|
+
/**
|
|
220
|
+
* Full dotted path of a payload reference — `'@payload.data.providerName'`
|
|
221
|
+
* → `['data', 'providerName']`. `extractPayloadFieldRef` keeps only the
|
|
222
|
+
* first segment, which made every guard on a NESTED payload field
|
|
223
|
+
* unsatisfiable by synthesis: `when ?data.providerName` was seeded as
|
|
224
|
+
* `{data: 'mock-test-value'}`, the runtime read `.providerName` off a
|
|
225
|
+
* string, and the pass-case dispatch was correctly rejected (std-booking
|
|
226
|
+
* BookingWizard NEXT — the whole step chain became unwalkable). Returns
|
|
227
|
+
* `null` for non-payload references.
|
|
228
|
+
*/
|
|
229
|
+
declare function extractPayloadFieldPath(ref: unknown): string[] | null;
|
|
219
230
|
/**
|
|
220
231
|
* Builds test payloads that satisfy or violate guard conditions.
|
|
221
232
|
*
|
|
@@ -344,4 +355,4 @@ declare function buildReplayPaths(transitions: ReplayTransition[], initialState:
|
|
|
344
355
|
*/
|
|
345
356
|
declare function buildEdgeCoveringWalk(transitions: EdgeWalkTransition[], initialState: string): WalkStep[];
|
|
346
357
|
|
|
347
|
-
export { type BFSNode, type BFSPathNode, type EdgeWalkTransition, type GraphTransition, type GuardPayload, type PayloadFieldSchema, type ReplayStep, type ReplayTransition, type StateEdge, type WalkStep, buildEdgeCoveringWalk, buildGuardPayloads, buildReplayPaths, buildStateGraph, collectReachableStates, constTruth, extractPayloadFieldRef, walkStatePairs };
|
|
358
|
+
export { type BFSNode, type BFSPathNode, type EdgeWalkTransition, type GraphTransition, type GuardPayload, type PayloadFieldSchema, type ReplayStep, type ReplayTransition, type StateEdge, type WalkStep, buildEdgeCoveringWalk, buildGuardPayloads, buildReplayPaths, buildStateGraph, collectReachableStates, constTruth, extractPayloadFieldPath, extractPayloadFieldRef, walkStatePairs };
|
|
@@ -59,6 +59,29 @@ function extractPayloadFieldRef(ref) {
|
|
|
59
59
|
const match = ref.match(/^@payload\.([A-Za-z0-9_]+)/);
|
|
60
60
|
return match ? match[1] : null;
|
|
61
61
|
}
|
|
62
|
+
function extractPayloadFieldPath(ref) {
|
|
63
|
+
if (typeof ref !== "string") return null;
|
|
64
|
+
const match = ref.match(/^@payload\.([A-Za-z0-9_]+(?:\.[A-Za-z0-9_]+)*)/);
|
|
65
|
+
return match ? match[1].split(".") : null;
|
|
66
|
+
}
|
|
67
|
+
function nestedPayload(path, leaf) {
|
|
68
|
+
let value = leaf;
|
|
69
|
+
for (let i = path.length - 1; i >= 1; i--) {
|
|
70
|
+
value = { [path[i]]: value };
|
|
71
|
+
}
|
|
72
|
+
return { [path[0]]: value };
|
|
73
|
+
}
|
|
74
|
+
function isPayloadObject(v) {
|
|
75
|
+
return typeof v === "object" && v !== null && !Array.isArray(v) && !(v instanceof Date);
|
|
76
|
+
}
|
|
77
|
+
function mergePayloads(a, b) {
|
|
78
|
+
const out = { ...a };
|
|
79
|
+
for (const [k, v] of Object.entries(b)) {
|
|
80
|
+
const prev = out[k];
|
|
81
|
+
out[k] = prev !== void 0 && isPayloadObject(prev) && v !== void 0 && isPayloadObject(v) ? mergePayloads(prev, v) : v;
|
|
82
|
+
}
|
|
83
|
+
return out;
|
|
84
|
+
}
|
|
62
85
|
function constTruth(guard) {
|
|
63
86
|
if (typeof guard === "boolean") return guard;
|
|
64
87
|
if (typeof guard === "string") {
|
|
@@ -97,62 +120,64 @@ function buildGuardPayloads(guard) {
|
|
|
97
120
|
return { pass: {}, fail: {} };
|
|
98
121
|
}
|
|
99
122
|
if (typeof guard === "string") {
|
|
100
|
-
const
|
|
101
|
-
if (
|
|
123
|
+
const path = extractPayloadFieldPath(guard);
|
|
124
|
+
if (path) {
|
|
125
|
+
return path.length === 1 ? { pass: { [path[0]]: { id: "mock-test-id", name: "mock-test-name" } }, fail: { [path[0]]: null } } : { pass: nestedPayload(path, "mock-test-value"), fail: nestedPayload(path, null) };
|
|
126
|
+
}
|
|
102
127
|
}
|
|
103
128
|
if (!Array.isArray(guard) || guard.length === 0) {
|
|
104
129
|
return { pass: {}, fail: {} };
|
|
105
130
|
}
|
|
106
131
|
const op = String(guard[0]);
|
|
107
132
|
if (op === "not-nil" || op === "not_nil") {
|
|
108
|
-
const
|
|
109
|
-
if (
|
|
133
|
+
const path = extractPayloadFieldPath(guard[1]);
|
|
134
|
+
if (path) return { pass: nestedPayload(path, "mock-test-value"), fail: nestedPayload(path, null) };
|
|
110
135
|
}
|
|
111
136
|
if (op === "nil") {
|
|
112
|
-
const
|
|
113
|
-
if (
|
|
137
|
+
const path = extractPayloadFieldPath(guard[1]);
|
|
138
|
+
if (path) return { pass: {}, fail: nestedPayload(path, "mock-test-value") };
|
|
114
139
|
}
|
|
115
140
|
if (op === "eq" || op === "==" || op === "=") {
|
|
116
|
-
const
|
|
141
|
+
const path = extractPayloadFieldPath(guard[1]);
|
|
117
142
|
const val = guard[2];
|
|
118
|
-
if (
|
|
143
|
+
if (path && val !== void 0) {
|
|
119
144
|
const failVal = typeof val === "number" ? val + 1 : typeof val === "string" ? `not-${val}` : null;
|
|
120
|
-
return { pass:
|
|
145
|
+
return { pass: nestedPayload(path, val), fail: nestedPayload(path, failVal) };
|
|
121
146
|
}
|
|
122
147
|
}
|
|
123
148
|
if (op === "not-eq" || op === "!=" || op === "neq") {
|
|
124
|
-
const
|
|
149
|
+
const path = extractPayloadFieldPath(guard[1]);
|
|
125
150
|
const val = guard[2];
|
|
126
|
-
if (
|
|
151
|
+
if (path && val !== void 0) {
|
|
127
152
|
const passVal = typeof val === "number" ? val + 1 : typeof val === "string" ? `not-${val}` : "other";
|
|
128
|
-
return { pass:
|
|
153
|
+
return { pass: nestedPayload(path, passVal), fail: nestedPayload(path, val) };
|
|
129
154
|
}
|
|
130
155
|
}
|
|
131
156
|
if (op === "gt" || op === ">") {
|
|
132
|
-
const
|
|
157
|
+
const path = extractPayloadFieldPath(guard[1]);
|
|
133
158
|
const n = typeof guard[2] === "number" ? guard[2] : 0;
|
|
134
|
-
if (
|
|
159
|
+
if (path) return { pass: nestedPayload(path, n + 1), fail: nestedPayload(path, n - 1) };
|
|
135
160
|
}
|
|
136
161
|
if (op === "gte" || op === ">=") {
|
|
137
|
-
const
|
|
162
|
+
const path = extractPayloadFieldPath(guard[1]);
|
|
138
163
|
const n = typeof guard[2] === "number" ? guard[2] : 0;
|
|
139
|
-
if (
|
|
164
|
+
if (path) return { pass: nestedPayload(path, n), fail: nestedPayload(path, n - 1) };
|
|
140
165
|
}
|
|
141
166
|
if (op === "lt" || op === "<") {
|
|
142
|
-
const
|
|
167
|
+
const path = extractPayloadFieldPath(guard[1]);
|
|
143
168
|
const n = typeof guard[2] === "number" ? guard[2] : 0;
|
|
144
|
-
if (
|
|
169
|
+
if (path) return { pass: nestedPayload(path, n - 1), fail: nestedPayload(path, n + 1) };
|
|
145
170
|
}
|
|
146
171
|
if (op === "lte" || op === "<=") {
|
|
147
|
-
const
|
|
172
|
+
const path = extractPayloadFieldPath(guard[1]);
|
|
148
173
|
const n = typeof guard[2] === "number" ? guard[2] : 0;
|
|
149
|
-
if (
|
|
174
|
+
if (path) return { pass: nestedPayload(path, n), fail: nestedPayload(path, n + 1) };
|
|
150
175
|
}
|
|
151
176
|
if (op === "and") {
|
|
152
177
|
const subs = guard.slice(1);
|
|
153
178
|
if (subs.length >= 2) {
|
|
154
179
|
const built = subs.map(buildGuardPayloads);
|
|
155
|
-
const pass = built.reduce((acc, b) => (
|
|
180
|
+
const pass = built.reduce((acc, b) => mergePayloads(acc, b.pass), {});
|
|
156
181
|
return { pass, fail: built[0].fail };
|
|
157
182
|
}
|
|
158
183
|
if (subs.length === 1) return buildGuardPayloads(subs[0]);
|
|
@@ -163,7 +188,7 @@ function buildGuardPayloads(guard) {
|
|
|
163
188
|
const s1 = buildGuardPayloads(subs[0]);
|
|
164
189
|
const s2 = buildGuardPayloads(subs[1]);
|
|
165
190
|
const combinedPass = Object.keys(s1.pass).length > 0 ? s1.pass : s2.pass;
|
|
166
|
-
return { pass: combinedPass, fail:
|
|
191
|
+
return { pass: combinedPass, fail: mergePayloads(s1.fail, s2.fail) };
|
|
167
192
|
}
|
|
168
193
|
if (subs.length === 1) return buildGuardPayloads(subs[0]);
|
|
169
194
|
}
|
|
@@ -385,6 +410,6 @@ function buildPayloadForEdge(transition, guardCase) {
|
|
|
385
410
|
return {};
|
|
386
411
|
}
|
|
387
412
|
|
|
388
|
-
export { buildEdgeCoveringWalk, buildGuardPayloads, buildReplayPaths, buildStateGraph, collectReachableStates, constTruth, extractPayloadFieldRef, walkStatePairs };
|
|
413
|
+
export { buildEdgeCoveringWalk, buildGuardPayloads, buildReplayPaths, buildStateGraph, collectReachableStates, constTruth, extractPayloadFieldPath, extractPayloadFieldRef, walkStatePairs };
|
|
389
414
|
//# sourceMappingURL=index.js.map
|
|
390
415
|
//# sourceMappingURL=index.js.map
|