@almadar/core 10.39.0 → 10.41.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/index.js CHANGED
@@ -479,6 +479,11 @@ var OrbitalEntitySchema = z.object({
479
479
  name: z.string().min(1, "Entity name is required"),
480
480
  persistence: EntityPersistenceSchema.default("persistent"),
481
481
  shared: z.boolean().optional(),
482
+ // Must stay in step with the Rust serde field (`EntityDefinition.identity`,
483
+ // orbital-core/src/schema/types.rs). `z.object()` STRIPS unknown keys rather
484
+ // than rejecting them, so a Rust-only field works on the compiled path and
485
+ // silently vanishes on the interpreter path.
486
+ identity: z.boolean().optional(),
482
487
  collection: z.string().optional(),
483
488
  fields: z.array(EntityFieldSchema).min(1, "At least one field is required"),
484
489
  instances: z.array(z.record(z.unknown())).optional(),
@@ -2107,7 +2112,7 @@ function getInteractionModelForDomain(domain) {
2107
2112
  // src/patterns/patterns-registry.json
2108
2113
  var patterns_registry_default = {
2109
2114
  version: "1.0.0",
2110
- exportedAt: "2026-07-27T04:55:27.017Z",
2115
+ exportedAt: "2026-07-28T14:48:23.507Z",
2111
2116
  patterns: {
2112
2117
  "entity-table": {
2113
2118
  type: "entity-table",
@@ -11928,6 +11933,21 @@ var patterns_registry_default = {
11928
11933
  ],
11929
11934
  description: "Inline style"
11930
11935
  },
11936
+ format: {
11937
+ types: [
11938
+ "string"
11939
+ ],
11940
+ description: 'Value formatting applied to string/number/Date content \u2014 `none` (the default) renders content as-is. Covers the raw-ISO-date class: a bound datetime renders human-readable via `format="date"|"time"|"datetime"`.',
11941
+ enumValues: [
11942
+ "none",
11943
+ "date",
11944
+ "time",
11945
+ "datetime",
11946
+ "number",
11947
+ "currency",
11948
+ "percent"
11949
+ ]
11950
+ },
11931
11951
  content: {
11932
11952
  types: [
11933
11953
  "node"
@@ -16725,6 +16745,27 @@ var patterns_registry_default = {
16725
16745
  "number"
16726
16746
  ]
16727
16747
  },
16748
+ mark: {
16749
+ types: [
16750
+ "object"
16751
+ ],
16752
+ properties: {
16753
+ kind: {
16754
+ types: [
16755
+ "unknown"
16756
+ ]
16757
+ },
16758
+ suggestionId: {
16759
+ types: [
16760
+ "string"
16761
+ ]
16762
+ }
16763
+ },
16764
+ required: [
16765
+ "kind",
16766
+ "suggestionId"
16767
+ ]
16768
+ },
16728
16769
  x: {
16729
16770
  types: [
16730
16771
  "number"
@@ -16783,6 +16824,48 @@ var patterns_registry_default = {
16783
16824
  ]
16784
16825
  }
16785
16826
  },
16827
+ proposedEdges: {
16828
+ types: [
16829
+ "array"
16830
+ ],
16831
+ description: "Uncommitted proposal links \u2014 rendered dashed/faint in a separate pass, never folded into the layout springs.",
16832
+ items: {
16833
+ types: [
16834
+ "object"
16835
+ ],
16836
+ properties: {
16837
+ source: {
16838
+ types: [
16839
+ "string"
16840
+ ]
16841
+ },
16842
+ target: {
16843
+ types: [
16844
+ "string"
16845
+ ]
16846
+ },
16847
+ label: {
16848
+ types: [
16849
+ "string"
16850
+ ]
16851
+ },
16852
+ weight: {
16853
+ types: [
16854
+ "number"
16855
+ ]
16856
+ },
16857
+ color: {
16858
+ types: [
16859
+ "string"
16860
+ ]
16861
+ }
16862
+ },
16863
+ required: [
16864
+ "source",
16865
+ "target"
16866
+ ]
16867
+ }
16868
+ },
16786
16869
  similarity: {
16787
16870
  types: [
16788
16871
  "array"
@@ -16930,6 +17013,111 @@ var patterns_registry_default = {
16930
17013
  "number"
16931
17014
  ]
16932
17015
  },
17016
+ mark: {
17017
+ types: [
17018
+ "object"
17019
+ ],
17020
+ properties: {
17021
+ kind: {
17022
+ types: [
17023
+ "unknown"
17024
+ ]
17025
+ },
17026
+ suggestionId: {
17027
+ types: [
17028
+ "string"
17029
+ ]
17030
+ }
17031
+ },
17032
+ required: [
17033
+ "kind",
17034
+ "suggestionId"
17035
+ ]
17036
+ },
17037
+ x: {
17038
+ types: [
17039
+ "number"
17040
+ ]
17041
+ },
17042
+ y: {
17043
+ types: [
17044
+ "number"
17045
+ ]
17046
+ }
17047
+ },
17048
+ required: [
17049
+ "id"
17050
+ ]
17051
+ }
17052
+ }
17053
+ ]
17054
+ },
17055
+ onMarkClick: {
17056
+ types: [
17057
+ "function"
17058
+ ],
17059
+ description: "On marked-node click (suggestion/proposal target). Takes priority over onNodeClick.",
17060
+ kind: "callback",
17061
+ callbackArgs: [
17062
+ {
17063
+ name: "node",
17064
+ type: "object",
17065
+ schema: {
17066
+ types: [
17067
+ "object"
17068
+ ],
17069
+ properties: {
17070
+ id: {
17071
+ types: [
17072
+ "string"
17073
+ ]
17074
+ },
17075
+ label: {
17076
+ types: [
17077
+ "string"
17078
+ ]
17079
+ },
17080
+ group: {
17081
+ types: [
17082
+ "string"
17083
+ ]
17084
+ },
17085
+ color: {
17086
+ types: [
17087
+ "string"
17088
+ ]
17089
+ },
17090
+ size: {
17091
+ types: [
17092
+ "number"
17093
+ ]
17094
+ },
17095
+ badge: {
17096
+ types: [
17097
+ "number"
17098
+ ]
17099
+ },
17100
+ mark: {
17101
+ types: [
17102
+ "object"
17103
+ ],
17104
+ properties: {
17105
+ kind: {
17106
+ types: [
17107
+ "unknown"
17108
+ ]
17109
+ },
17110
+ suggestionId: {
17111
+ types: [
17112
+ "string"
17113
+ ]
17114
+ }
17115
+ },
17116
+ required: [
17117
+ "kind",
17118
+ "suggestionId"
17119
+ ]
17120
+ },
16933
17121
  x: {
16934
17122
  types: [
16935
17123
  "number"
@@ -16993,6 +17181,27 @@ var patterns_registry_default = {
16993
17181
  "number"
16994
17182
  ]
16995
17183
  },
17184
+ mark: {
17185
+ types: [
17186
+ "object"
17187
+ ],
17188
+ properties: {
17189
+ kind: {
17190
+ types: [
17191
+ "unknown"
17192
+ ]
17193
+ },
17194
+ suggestionId: {
17195
+ types: [
17196
+ "string"
17197
+ ]
17198
+ }
17199
+ },
17200
+ required: [
17201
+ "kind",
17202
+ "suggestionId"
17203
+ ]
17204
+ },
16996
17205
  x: {
16997
17206
  types: [
16998
17207
  "number"
@@ -17056,6 +17265,27 @@ var patterns_registry_default = {
17056
17265
  "number"
17057
17266
  ]
17058
17267
  },
17268
+ mark: {
17269
+ types: [
17270
+ "object"
17271
+ ],
17272
+ properties: {
17273
+ kind: {
17274
+ types: [
17275
+ "unknown"
17276
+ ]
17277
+ },
17278
+ suggestionId: {
17279
+ types: [
17280
+ "string"
17281
+ ]
17282
+ }
17283
+ },
17284
+ required: [
17285
+ "kind",
17286
+ "suggestionId"
17287
+ ]
17288
+ },
17059
17289
  x: {
17060
17290
  types: [
17061
17291
  "number"
@@ -19811,12 +20041,24 @@ var patterns_registry_default = {
19811
20041
  ],
19812
20042
  description: 'Field name identifying the sender (used with variant: "message")'
19813
20043
  },
20044
+ senderLabelField: {
20045
+ types: [
20046
+ "string"
20047
+ ],
20048
+ description: 'Field holding the sender\'s human-readable name (used with variant: "message"). Defaults to `senderField`. Set this when `senderField` holds an id \u2014 an id-keyed thread otherwise labels bubbles `staff-1` instead of `Sam Staff`.'
20049
+ },
19814
20050
  currentUser: {
19815
20051
  types: [
19816
20052
  "string"
19817
20053
  ],
19818
20054
  description: 'Current user identifier; messages matching this value align right (used with variant: "message")'
19819
20055
  },
20056
+ emptyMessage: {
20057
+ types: [
20058
+ "string"
20059
+ ],
20060
+ description: 'Message shown when there are no rows. Falls back to the generic "no items" translation. `TableView` already exposes this; an agenda or an inbox wants to say what "empty" means in its own words.'
20061
+ },
19820
20062
  className: {
19821
20063
  types: [
19822
20064
  "string"
@@ -42783,6 +43025,445 @@ var patterns_registry_default = {
42783
43025
  description: "Additional CSS classes"
42784
43026
  }
42785
43027
  }
43028
+ },
43029
+ "svg-draw-group": {
43030
+ type: "svg-draw-group",
43031
+ category: "game",
43032
+ tier: "atoms",
43033
+ family: "game",
43034
+ description: "SvgDrawGroup component",
43035
+ suggestedFor: [
43036
+ "svg",
43037
+ "draw",
43038
+ "group",
43039
+ "svg draw group"
43040
+ ],
43041
+ typicalSize: "small",
43042
+ propsSchema: {
43043
+ x: {
43044
+ types: [
43045
+ "number"
43046
+ ],
43047
+ description: "Grid-cell x of the group's origin.",
43048
+ default: 0
43049
+ },
43050
+ y: {
43051
+ types: [
43052
+ "number"
43053
+ ],
43054
+ description: "Grid-cell y of the group's origin.",
43055
+ default: 0
43056
+ },
43057
+ scale: {
43058
+ types: [
43059
+ "number"
43060
+ ],
43061
+ description: "Uniform scale applied after the translate."
43062
+ },
43063
+ rotate: {
43064
+ types: [
43065
+ "number"
43066
+ ],
43067
+ description: "Rotation in degrees applied after the translate."
43068
+ },
43069
+ opacity: {
43070
+ types: [
43071
+ "number"
43072
+ ],
43073
+ description: "0..1 opacity."
43074
+ },
43075
+ className: {
43076
+ types: [
43077
+ "string"
43078
+ ],
43079
+ description: "Additional CSS classes"
43080
+ },
43081
+ children: {
43082
+ types: [
43083
+ "node"
43084
+ ],
43085
+ description: "children prop"
43086
+ }
43087
+ }
43088
+ },
43089
+ "svg-draw-shape": {
43090
+ type: "svg-draw-shape",
43091
+ category: "game",
43092
+ tier: "atoms",
43093
+ family: "game",
43094
+ description: "SvgDrawShape component",
43095
+ suggestedFor: [
43096
+ "svg",
43097
+ "draw",
43098
+ "shape",
43099
+ "svg draw shape"
43100
+ ],
43101
+ typicalSize: "small",
43102
+ propsSchema: {
43103
+ shape: {
43104
+ types: [
43105
+ "string"
43106
+ ],
43107
+ description: "shape prop",
43108
+ required: true,
43109
+ enumValues: [
43110
+ "rect",
43111
+ "circle",
43112
+ "ellipse",
43113
+ "polygon",
43114
+ "polyline",
43115
+ "path",
43116
+ "line"
43117
+ ]
43118
+ },
43119
+ x: {
43120
+ types: [
43121
+ "number"
43122
+ ],
43123
+ description: "Grid-cell x of the element's translated origin.",
43124
+ required: true
43125
+ },
43126
+ y: {
43127
+ types: [
43128
+ "number"
43129
+ ],
43130
+ description: "Grid-cell y of the element's translated origin.",
43131
+ required: true
43132
+ },
43133
+ width: {
43134
+ types: [
43135
+ "number"
43136
+ ],
43137
+ description: "Rect width in cell units."
43138
+ },
43139
+ height: {
43140
+ types: [
43141
+ "number"
43142
+ ],
43143
+ description: "Rect height in cell units."
43144
+ },
43145
+ radius: {
43146
+ types: [
43147
+ "number"
43148
+ ],
43149
+ description: "Circle radius / ellipse horizontal radius in cell units."
43150
+ },
43151
+ radiusY: {
43152
+ types: [
43153
+ "number"
43154
+ ],
43155
+ description: "Ellipse vertical radius in cell units; omitted \u2192 `radius` (a circle)."
43156
+ },
43157
+ points: {
43158
+ types: [
43159
+ "string"
43160
+ ],
43161
+ description: "Polygon/polyline points, viewBox units relative to the translated origin."
43162
+ },
43163
+ d: {
43164
+ types: [
43165
+ "string"
43166
+ ],
43167
+ description: "Path data, viewBox units relative to the translated origin."
43168
+ },
43169
+ x2: {
43170
+ types: [
43171
+ "number"
43172
+ ],
43173
+ description: "Line end x in cell units."
43174
+ },
43175
+ y2: {
43176
+ types: [
43177
+ "number"
43178
+ ],
43179
+ description: "Line end y in cell units."
43180
+ },
43181
+ fill: {
43182
+ types: [
43183
+ "string"
43184
+ ],
43185
+ description: "fill prop"
43186
+ },
43187
+ stroke: {
43188
+ types: [
43189
+ "string"
43190
+ ],
43191
+ description: "stroke prop"
43192
+ },
43193
+ strokeWidth: {
43194
+ types: [
43195
+ "number"
43196
+ ],
43197
+ description: "strokeWidth prop"
43198
+ },
43199
+ opacity: {
43200
+ types: [
43201
+ "number"
43202
+ ],
43203
+ description: "0..1 opacity."
43204
+ },
43205
+ className: {
43206
+ types: [
43207
+ "string"
43208
+ ],
43209
+ description: "Additional CSS classes"
43210
+ }
43211
+ }
43212
+ },
43213
+ "svg-draw-text": {
43214
+ type: "svg-draw-text",
43215
+ category: "game",
43216
+ tier: "atoms",
43217
+ family: "game",
43218
+ description: "SvgDrawText component",
43219
+ suggestedFor: [
43220
+ "svg",
43221
+ "draw",
43222
+ "text",
43223
+ "svg draw text"
43224
+ ],
43225
+ typicalSize: "small",
43226
+ propsSchema: {
43227
+ x: {
43228
+ types: [
43229
+ "number"
43230
+ ],
43231
+ description: "Grid-cell x of the text anchor.",
43232
+ required: true
43233
+ },
43234
+ y: {
43235
+ types: [
43236
+ "number"
43237
+ ],
43238
+ description: "Grid-cell y of the text anchor.",
43239
+ required: true
43240
+ },
43241
+ text: {
43242
+ types: [
43243
+ "string"
43244
+ ],
43245
+ description: "The text content.",
43246
+ required: true
43247
+ },
43248
+ size: {
43249
+ types: [
43250
+ "number"
43251
+ ],
43252
+ description: "Font size in viewBox units (default 12).",
43253
+ default: 12
43254
+ },
43255
+ fill: {
43256
+ types: [
43257
+ "string"
43258
+ ],
43259
+ description: "fill prop",
43260
+ default: "var(--color-foreground)"
43261
+ },
43262
+ anchor: {
43263
+ types: [
43264
+ "string"
43265
+ ],
43266
+ description: "Text anchor (default 'middle').",
43267
+ enumValues: [
43268
+ "start",
43269
+ "middle",
43270
+ "end"
43271
+ ],
43272
+ default: "middle"
43273
+ },
43274
+ className: {
43275
+ types: [
43276
+ "string"
43277
+ ],
43278
+ description: "Additional CSS classes"
43279
+ }
43280
+ }
43281
+ },
43282
+ "svg-draw-shape-layer": {
43283
+ type: "svg-draw-shape-layer",
43284
+ category: "game",
43285
+ tier: "molecules",
43286
+ family: "game",
43287
+ description: "SvgDrawShapeLayer component",
43288
+ suggestedFor: [
43289
+ "svg",
43290
+ "draw",
43291
+ "shape",
43292
+ "layer",
43293
+ "svg draw shape layer"
43294
+ ],
43295
+ typicalSize: "medium",
43296
+ propsSchema: {
43297
+ items: {
43298
+ types: [
43299
+ "array"
43300
+ ],
43301
+ description: "items prop",
43302
+ required: true,
43303
+ items: {
43304
+ types: [
43305
+ "object"
43306
+ ],
43307
+ properties: {
43308
+ id: {
43309
+ types: [
43310
+ "string"
43311
+ ]
43312
+ }
43313
+ },
43314
+ required: [
43315
+ "id"
43316
+ ]
43317
+ }
43318
+ },
43319
+ fill: {
43320
+ types: [
43321
+ "string"
43322
+ ],
43323
+ description: "Default fill for items that don't set one."
43324
+ },
43325
+ stroke: {
43326
+ types: [
43327
+ "string"
43328
+ ],
43329
+ description: "Default stroke for items that don't set one."
43330
+ },
43331
+ strokeWidth: {
43332
+ types: [
43333
+ "number"
43334
+ ],
43335
+ description: "Default strokeWidth for items that don't set one."
43336
+ },
43337
+ opacity: {
43338
+ types: [
43339
+ "number"
43340
+ ],
43341
+ description: "Default 0..1 opacity for items that don't set one."
43342
+ }
43343
+ }
43344
+ },
43345
+ "svg-stage": {
43346
+ type: "svg-stage",
43347
+ category: "game",
43348
+ tier: "molecules",
43349
+ family: "game",
43350
+ description: "SvgStage component",
43351
+ suggestedFor: [
43352
+ "svg",
43353
+ "stage",
43354
+ "svg stage"
43355
+ ],
43356
+ typicalSize: "medium",
43357
+ propsSchema: {
43358
+ cols: {
43359
+ types: [
43360
+ "number"
43361
+ ],
43362
+ description: "Grid width in cells.",
43363
+ required: true
43364
+ },
43365
+ rows: {
43366
+ types: [
43367
+ "number"
43368
+ ],
43369
+ description: "Grid height in cells.",
43370
+ required: true
43371
+ },
43372
+ tileSize: {
43373
+ types: [
43374
+ "number"
43375
+ ],
43376
+ description: "ViewBox units per cell (default 32); viewBox is `0 0 cols*tileSize rows*tileSize`.",
43377
+ default: 32
43378
+ },
43379
+ background: {
43380
+ types: [
43381
+ "string"
43382
+ ],
43383
+ description: "Background rect fill (default `var(--color-background)`).",
43384
+ default: "var(--color-background)"
43385
+ },
43386
+ tileClickEvent: {
43387
+ types: [
43388
+ "string"
43389
+ ],
43390
+ description: "Emitted as `UI:<event>` with `{ x, y }` cell coords on pointer up (<5px drag).",
43391
+ kind: "event-ref",
43392
+ emitPayloadSchema: [
43393
+ {
43394
+ name: "x",
43395
+ type: "number",
43396
+ required: true
43397
+ },
43398
+ {
43399
+ name: "y",
43400
+ type: "number",
43401
+ required: true
43402
+ }
43403
+ ]
43404
+ },
43405
+ tileHoverEvent: {
43406
+ types: [
43407
+ "string"
43408
+ ],
43409
+ description: "Emitted as `UI:<event>` with `{ x, y }` cell coords on pointer move.",
43410
+ kind: "event-ref",
43411
+ emitPayloadSchema: [
43412
+ {
43413
+ name: "x",
43414
+ type: "number",
43415
+ required: true
43416
+ },
43417
+ {
43418
+ name: "y",
43419
+ type: "number",
43420
+ required: true
43421
+ }
43422
+ ]
43423
+ },
43424
+ tileLeaveEvent: {
43425
+ types: [
43426
+ "string"
43427
+ ],
43428
+ description: "Emitted as `UI:<event>` with `{}` when the pointer leaves the stage.",
43429
+ kind: "event-ref",
43430
+ emitPayloadSchema: []
43431
+ },
43432
+ keyMap: {
43433
+ types: [
43434
+ "object"
43435
+ ],
43436
+ description: "Keyboard \u2192 semantic events: `e.code` \u2192 event name, emitted as `UI:<event>` with `{}`.",
43437
+ mapValue: {
43438
+ types: [
43439
+ "string"
43440
+ ]
43441
+ }
43442
+ },
43443
+ keyUpMap: {
43444
+ types: [
43445
+ "object"
43446
+ ],
43447
+ description: "Keyup counterpart of `keyMap`.",
43448
+ mapValue: {
43449
+ types: [
43450
+ "string"
43451
+ ]
43452
+ }
43453
+ },
43454
+ className: {
43455
+ types: [
43456
+ "string"
43457
+ ],
43458
+ description: "Additional CSS classes"
43459
+ },
43460
+ children: {
43461
+ types: [
43462
+ "node"
43463
+ ],
43464
+ description: "children prop"
43465
+ }
43466
+ }
42786
43467
  }
42787
43468
  },
42788
43469
  categories: [
@@ -43342,74 +44023,180 @@ var integrators_registry_default = {
43342
44023
  name: "cloneRepo",
43343
44024
  description: "Clone a repository",
43344
44025
  params: [
43345
- { name: "repo", type: "string", required: true, description: "Repository URL or owner/repo" },
43346
- { name: "branch", type: "string", required: false, description: "Branch to clone" }
44026
+ {
44027
+ name: "repo",
44028
+ type: "string",
44029
+ required: true,
44030
+ description: "Repository URL or owner/repo"
44031
+ },
44032
+ {
44033
+ name: "branch",
44034
+ type: "string",
44035
+ required: false,
44036
+ description: "Branch to clone"
44037
+ }
43347
44038
  ],
43348
- responseShape: { path: "string", branch: "string" }
44039
+ responseShape: {
44040
+ path: "string",
44041
+ branch: "string"
44042
+ }
43349
44043
  },
43350
44044
  {
43351
44045
  name: "createBranch",
43352
44046
  description: "Create a new branch",
43353
44047
  params: [
43354
- { name: "repo", type: "string", required: true, description: "Local repo path" },
43355
- { name: "branch", type: "string", required: true, description: "Branch name" }
44048
+ {
44049
+ name: "repo",
44050
+ type: "string",
44051
+ required: true,
44052
+ description: "Local repo path"
44053
+ },
44054
+ {
44055
+ name: "branch",
44056
+ type: "string",
44057
+ required: true,
44058
+ description: "Branch name"
44059
+ }
43356
44060
  ],
43357
- responseShape: { branch: "string" }
44061
+ responseShape: {
44062
+ branch: "string"
44063
+ }
43358
44064
  },
43359
44065
  {
43360
44066
  name: "commit",
43361
44067
  description: "Commit changes",
43362
44068
  params: [
43363
- { name: "repo", type: "string", required: true, description: "Local repo path" },
43364
- { name: "message", type: "string", required: true, description: "Commit message" },
43365
- { name: "files", type: "array", required: false, description: "Files to stage" }
44069
+ {
44070
+ name: "repo",
44071
+ type: "string",
44072
+ required: true,
44073
+ description: "Local repo path"
44074
+ },
44075
+ {
44076
+ name: "message",
44077
+ type: "string",
44078
+ required: true,
44079
+ description: "Commit message"
44080
+ },
44081
+ {
44082
+ name: "files",
44083
+ type: "array",
44084
+ required: false,
44085
+ description: "Files to stage"
44086
+ }
43366
44087
  ],
43367
- responseShape: { hash: "string", message: "string" }
44088
+ responseShape: {
44089
+ hash: "string",
44090
+ message: "string"
44091
+ }
43368
44092
  },
43369
44093
  {
43370
44094
  name: "push",
43371
44095
  description: "Push commits to remote",
43372
44096
  params: [
43373
- { name: "repo", type: "string", required: true, description: "Local repo path" },
43374
- { name: "branch", type: "string", required: false, description: "Branch to push" }
44097
+ {
44098
+ name: "repo",
44099
+ type: "string",
44100
+ required: true,
44101
+ description: "Local repo path"
44102
+ },
44103
+ {
44104
+ name: "branch",
44105
+ type: "string",
44106
+ required: false,
44107
+ description: "Branch to push"
44108
+ }
43375
44109
  ],
43376
- responseShape: { success: "boolean" }
44110
+ responseShape: {
44111
+ success: "boolean"
44112
+ }
43377
44113
  },
43378
44114
  {
43379
44115
  name: "createPR",
43380
44116
  description: "Create a pull request",
43381
44117
  params: [
43382
- { name: "title", type: "string", required: true, description: "PR title" },
43383
- { name: "body", type: "string", required: false, description: "PR description" },
43384
- { name: "head", type: "string", required: true, description: "Head branch" },
43385
- { name: "base", type: "string", required: false, description: "Base branch (default: main)" }
44118
+ {
44119
+ name: "title",
44120
+ type: "string",
44121
+ required: true,
44122
+ description: "PR title"
44123
+ },
44124
+ {
44125
+ name: "body",
44126
+ type: "string",
44127
+ required: false,
44128
+ description: "PR description"
44129
+ },
44130
+ {
44131
+ name: "head",
44132
+ type: "string",
44133
+ required: true,
44134
+ description: "Head branch"
44135
+ },
44136
+ {
44137
+ name: "base",
44138
+ type: "string",
44139
+ required: false,
44140
+ description: "Base branch (default: main)"
44141
+ }
43386
44142
  ],
43387
- responseShape: { number: "number", url: "string" }
44143
+ responseShape: {
44144
+ number: "number",
44145
+ url: "string"
44146
+ }
43388
44147
  },
43389
44148
  {
43390
44149
  name: "getPRComments",
43391
44150
  description: "Fetch pull request comments",
43392
44151
  params: [
43393
- { name: "prNumber", type: "number", required: true, description: "PR number" }
44152
+ {
44153
+ name: "prNumber",
44154
+ type: "number",
44155
+ required: true,
44156
+ description: "PR number"
44157
+ }
43394
44158
  ],
43395
- responseShape: { comments: "array" }
44159
+ responseShape: {
44160
+ comments: "array"
44161
+ }
43396
44162
  },
43397
44163
  {
43398
44164
  name: "listIssues",
43399
44165
  description: "List issues with optional filters",
43400
44166
  params: [
43401
- { name: "state", type: "string", required: false, description: "Issue state: open, closed, all" },
43402
- { name: "labels", type: "string", required: false, description: "Comma-separated label names" }
44167
+ {
44168
+ name: "state",
44169
+ type: "string",
44170
+ required: false,
44171
+ description: "Issue state: open, closed, all"
44172
+ },
44173
+ {
44174
+ name: "labels",
44175
+ type: "string",
44176
+ required: false,
44177
+ description: "Comma-separated label names"
44178
+ }
43403
44179
  ],
43404
- responseShape: { issues: "array" }
44180
+ responseShape: {
44181
+ issues: "array"
44182
+ }
43405
44183
  },
43406
44184
  {
43407
44185
  name: "getIssue",
43408
44186
  description: "Get a single issue",
43409
44187
  params: [
43410
- { name: "issueNumber", type: "number", required: true, description: "Issue number" }
44188
+ {
44189
+ name: "issueNumber",
44190
+ type: "number",
44191
+ required: true,
44192
+ description: "Issue number"
44193
+ }
43411
44194
  ],
43412
- responseShape: { title: "string", body: "string", state: "string" }
44195
+ responseShape: {
44196
+ title: "string",
44197
+ body: "string",
44198
+ state: "string"
44199
+ }
43413
44200
  }
43414
44201
  ]
43415
44202
  },
@@ -43422,7 +44209,12 @@ var integrators_registry_default = {
43422
44209
  name: "validate",
43423
44210
  description: "Validate an orbital schema",
43424
44211
  params: [
43425
- { name: "schema", type: "string", required: true, description: "Schema content to validate" }
44212
+ {
44213
+ name: "schema",
44214
+ type: "string",
44215
+ required: true,
44216
+ description: "Schema content to validate"
44217
+ }
43426
44218
  ],
43427
44219
  responseShape: {
43428
44220
  valid: "boolean",
@@ -43442,9 +44234,24 @@ var integrators_registry_default = {
43442
44234
  name: "query",
43443
44235
  description: "Run a single read-only SELECT against a connection referenced by env var name",
43444
44236
  params: [
43445
- { name: "connectionRef", type: "string", required: true, description: "Name of the environment variable holding the connection string (never the secret itself)" },
43446
- { name: "sql", type: "string", required: true, description: "Single SELECT statement (read-only enforced)" },
43447
- { name: "params", type: "array", required: false, description: "Bind parameters for the query" }
44237
+ {
44238
+ name: "connectionRef",
44239
+ type: "string",
44240
+ required: true,
44241
+ description: "Name of the environment variable holding the connection string (never the secret itself)"
44242
+ },
44243
+ {
44244
+ name: "sql",
44245
+ type: "string",
44246
+ required: true,
44247
+ description: "Single SELECT statement (read-only enforced)"
44248
+ },
44249
+ {
44250
+ name: "params",
44251
+ type: "array",
44252
+ required: false,
44253
+ description: "Bind parameters for the query"
44254
+ }
43448
44255
  ],
43449
44256
  responseShape: {
43450
44257
  rows: "array",
@@ -43452,15 +44259,133 @@ var integrators_registry_default = {
43452
44259
  }
43453
44260
  }
43454
44261
  ]
44262
+ },
44263
+ wikimedia: {
44264
+ name: "wikimedia",
44265
+ description: "Wikipedia API \u2014 redirect-resolved page lookup (description, portrait, lead extract)",
44266
+ category: "reference",
44267
+ actions: [
44268
+ {
44269
+ name: "getPage",
44270
+ description: "Look up a title on Wikipedia",
44271
+ params: [
44272
+ {
44273
+ name: "title",
44274
+ type: "string",
44275
+ required: true,
44276
+ description: "Page title (human-readable name)"
44277
+ }
44278
+ ],
44279
+ responseShape: {
44280
+ title: "string",
44281
+ description: "string",
44282
+ portraitUrl: "string",
44283
+ extract: "string"
44284
+ }
44285
+ }
44286
+ ]
44287
+ },
44288
+ iconify: {
44289
+ name: "iconify",
44290
+ description: "Iconify API \u2014 brand-logo / icon resolution, search, and body fetch",
44291
+ category: "reference",
44292
+ actions: [
44293
+ {
44294
+ name: "svgExists",
44295
+ description: "Check whether an SVG path exists",
44296
+ params: [
44297
+ {
44298
+ name: "path",
44299
+ type: "string",
44300
+ required: true,
44301
+ description: "Path under api.iconify.design (e.g. devicon/typescript.svg)"
44302
+ }
44303
+ ],
44304
+ responseShape: {
44305
+ exists: "boolean"
44306
+ }
44307
+ },
44308
+ {
44309
+ name: "search",
44310
+ description: "Relevance search for icons",
44311
+ params: [
44312
+ {
44313
+ name: "query",
44314
+ type: "string",
44315
+ required: true,
44316
+ description: "Search term"
44317
+ },
44318
+ {
44319
+ name: "limit",
44320
+ type: "number",
44321
+ required: false,
44322
+ description: "Max results"
44323
+ }
44324
+ ],
44325
+ responseShape: {
44326
+ icons: "string[]"
44327
+ }
44328
+ },
44329
+ {
44330
+ name: "getIconBody",
44331
+ description: "Fetch an icon SVG body for color-tone classification",
44332
+ params: [
44333
+ {
44334
+ name: "iconId",
44335
+ type: "string",
44336
+ required: true,
44337
+ description: "Icon id (prefix:name)"
44338
+ }
44339
+ ],
44340
+ responseShape: {
44341
+ body: "string"
44342
+ }
44343
+ }
44344
+ ]
44345
+ },
44346
+ arxiv: {
44347
+ name: "arxiv",
44348
+ description: "arXiv API \u2014 frontier academic preprint search (emerging-axis research backend)",
44349
+ category: "reference",
44350
+ actions: [
44351
+ {
44352
+ name: "search",
44353
+ description: "Search arXiv preprints by relevance",
44354
+ params: [
44355
+ {
44356
+ name: "query",
44357
+ type: "string",
44358
+ required: true,
44359
+ description: "Search query"
44360
+ },
44361
+ {
44362
+ name: "maxResults",
44363
+ type: "number",
44364
+ required: false,
44365
+ description: "Max results (default 8)"
44366
+ }
44367
+ ],
44368
+ responseShape: {
44369
+ results: "ArxivResult[]"
44370
+ }
44371
+ }
44372
+ ]
43455
44373
  }
43456
44374
  },
43457
- categories: ["media", "payment", "messaging", "ai", "devtools", "infrastructure"]
44375
+ categories: [
44376
+ "media",
44377
+ "payment",
44378
+ "messaging",
44379
+ "ai",
44380
+ "devtools",
44381
+ "infrastructure"
44382
+ ]
43458
44383
  };
43459
44384
 
43460
44385
  // src/patterns/component-mapping.json
43461
44386
  var component_mapping_default = {
43462
44387
  version: "1.0.0",
43463
- exportedAt: "2026-07-27T04:55:27.017Z",
44388
+ exportedAt: "2026-07-28T14:48:23.507Z",
43464
44389
  mappings: {
43465
44390
  "page-header": {
43466
44391
  component: "PageHeader",
@@ -44833,6 +45758,31 @@ var component_mapping_default = {
44833
45758
  component: "ImportSourcePicker",
44834
45759
  importPath: "@/components/core/molecules/ImportSourcePicker",
44835
45760
  category: "component"
45761
+ },
45762
+ "svg-draw-group": {
45763
+ component: "SvgDrawGroup",
45764
+ importPath: "@/components/game/atoms/SvgDrawGroup",
45765
+ category: "game"
45766
+ },
45767
+ "svg-draw-shape": {
45768
+ component: "SvgDrawShape",
45769
+ importPath: "@/components/game/atoms/SvgDrawShape",
45770
+ category: "game"
45771
+ },
45772
+ "svg-draw-text": {
45773
+ component: "SvgDrawText",
45774
+ importPath: "@/components/game/atoms/SvgDrawText",
45775
+ category: "game"
45776
+ },
45777
+ "svg-draw-shape-layer": {
45778
+ component: "SvgDrawShapeLayer",
45779
+ importPath: "@/components/game/molecules/SvgDrawShapeLayer",
45780
+ category: "game"
45781
+ },
45782
+ "svg-stage": {
45783
+ component: "SvgStage",
45784
+ importPath: "@/components/game/molecules/SvgStage",
45785
+ category: "game"
44836
45786
  }
44837
45787
  }
44838
45788
  };
@@ -44840,7 +45790,7 @@ var component_mapping_default = {
44840
45790
  // src/patterns/event-contracts.json
44841
45791
  var event_contracts_default = {
44842
45792
  version: "1.0.0",
44843
- exportedAt: "2026-07-27T04:55:27.017Z",
45793
+ exportedAt: "2026-07-28T14:48:23.507Z",
44844
45794
  contracts: {
44845
45795
  form: {
44846
45796
  emits: [
@@ -46221,6 +47171,10 @@ var PATTERN_TYPES = [
46221
47171
  "subagent-trace-panel",
46222
47172
  "svg-branch",
46223
47173
  "svg-connection",
47174
+ "svg-draw-group",
47175
+ "svg-draw-shape",
47176
+ "svg-draw-shape-layer",
47177
+ "svg-draw-text",
46224
47178
  "svg-flow",
46225
47179
  "svg-grid",
46226
47180
  "svg-lobe",
@@ -46231,6 +47185,7 @@ var PATTERN_TYPES = [
46231
47185
  "svg-ring",
46232
47186
  "svg-shield",
46233
47187
  "svg-stack",
47188
+ "svg-stage",
46234
47189
  "swipeable-row",
46235
47190
  "switch",
46236
47191
  "tabbed-container",