@syntrologie/runtime-sdk 2.12.0 → 2.14.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (37) hide show
  1. package/CAPABILITIES.md +96 -67
  2. package/dist/actions/schema.d.ts +776 -776
  3. package/dist/actions/schema.js +3 -3
  4. package/dist/bootstrap.d.ts +2 -0
  5. package/dist/{chunk-L6RJMBR2.js → chunk-77TNZ66J.js} +3 -3
  6. package/dist/{chunk-XDYJ64IN.js → chunk-IR6UOR63.js} +4 -4
  7. package/dist/chunk-IR6UOR63.js.map +7 -0
  8. package/dist/{chunk-J2LGX2PV.js → chunk-JCDCANR7.js} +296 -75
  9. package/dist/chunk-JCDCANR7.js.map +7 -0
  10. package/dist/chunk-YLLWLUQX.js +241 -0
  11. package/dist/chunk-YLLWLUQX.js.map +7 -0
  12. package/dist/components/ShadowCanvasOverlay.d.ts +1 -2
  13. package/dist/config/schema.d.ts +147 -136
  14. package/dist/config/schema.js +2 -2
  15. package/dist/decisions/schema.d.ts +47 -47
  16. package/dist/decisions/schema.js +1 -1
  17. package/dist/fetchers/experimentsFetcher.d.ts +3 -3
  18. package/dist/fetchers/mergeConfigs.d.ts +7 -7
  19. package/dist/index.js +6 -4
  20. package/dist/index.js.map +1 -1
  21. package/dist/react.js +4 -4
  22. package/dist/smart-canvas.esm.js +44 -44
  23. package/dist/smart-canvas.esm.js.map +4 -4
  24. package/dist/smart-canvas.js +341 -109
  25. package/dist/smart-canvas.js.map +4 -4
  26. package/dist/smart-canvas.min.js +43 -43
  27. package/dist/smart-canvas.min.js.map +4 -4
  28. package/dist/telemetry/InterventionTracker.d.ts +23 -0
  29. package/dist/telemetry/index.d.ts +1 -0
  30. package/dist/version.d.ts +1 -1
  31. package/package.json +1 -1
  32. package/schema/canvas-config.schema.json +2347 -11396
  33. package/dist/chunk-BU4Z6PD7.js +0 -218
  34. package/dist/chunk-BU4Z6PD7.js.map +0 -7
  35. package/dist/chunk-J2LGX2PV.js.map +0 -7
  36. package/dist/chunk-XDYJ64IN.js.map +0 -7
  37. /package/dist/{chunk-L6RJMBR2.js.map → chunk-77TNZ66J.js.map} +0 -0
package/CAPABILITIES.md CHANGED
@@ -331,29 +331,46 @@ Collapsible Q&A accordion with actions, rich content, feedback, and personalizat
331
331
 
332
332
  | Goal | Action |
333
333
  |------|--------|
334
- | Mount an FAQ accordion widget | `core:mountWidget` with `widget: "adaptive-faq:accordion"` |
334
+ | Add an FAQ accordion widget | Add a **tile** in `tiles[]` with `widget: "adaptive-faq:accordion"` |
335
335
  | Scroll to and expand a specific FAQ item | `faq:scroll_to` |
336
336
  | Open, close, or toggle a FAQ item | `faq:toggle_item` |
337
337
  | Add, remove, reorder, or replace FAQ items | `faq:update` |
338
338
 
339
- ## Actions
339
+ ## Mounting an FAQ Widget
340
+
341
+ FAQ widgets are mounted via **tiles** (not actions). Add an entry to the `tiles[]` array in the config:
340
342
 
341
- ### core:mountWidget (FAQ)
343
+ ```json
344
+ {
345
+ "tiles": [
346
+ {
347
+ "id": "my-faq",
348
+ "title": "Frequently Asked Questions",
349
+ "content": {
350
+ "type": "custom",
351
+ "component": "adaptive-faq:accordion",
352
+ "props": {
353
+ "expandBehavior": "single",
354
+ "searchable": true,
355
+ "items": [ ... ]
356
+ }
357
+ }
358
+ }
359
+ ]
360
+ }
361
+ ```
342
362
 
343
- Mounts an FAQ accordion widget to a surface slot.
363
+ ### Tile Props
344
364
 
345
365
  | Property | Type | Required | Description |
346
366
  | ----------------------- | --------------------------------- | -------- | ------------------------------------------------------------------- |
347
- | `kind` | `"core:mountWidget"` | Yes | Action type |
348
- | `slot` | string | Yes | Target slot (e.g., `"drawer_right"`, `"overlay_center"`) |
349
- | `config.title` | string | No | Widget title |
350
- | `config.expandBehavior` | `"single"` \| `"multiple"` | No | Whether one or many items can be open at once (default: `"single"`) |
351
- | `config.searchable` | boolean | No | Show a search/filter input (default: `false`) |
352
- | `config.theme` | `"light"` \| `"dark"` \| `"auto"` | No | Color theme (default: `"auto"`) |
353
- | `config.items` | array | Yes | FAQ items (see below) |
354
- | `config.feedback` | boolean \| FeedbackConfig | No | Enable per-item feedback widget |
355
- | `config.ordering` | OrderingStrategy | No | Item ordering strategy (default: `"static"`) |
356
- | `config.injections` | InjectionRule[] | No | Dynamic item injection rules |
367
+ | `expandBehavior` | `"single"` \| `"multiple"` | No | Whether one or many items can be open at once (default: `"single"`) |
368
+ | `searchable` | boolean | No | Show a search/filter input (default: `false`) |
369
+ | `theme` | `"light"` \| `"dark"` \| `"auto"` | No | Color theme (default: `"auto"`) |
370
+ | `items` | array | Yes | FAQ items (see below) |
371
+ | `feedback` | boolean \| FeedbackConfig | No | Enable per-item feedback widget |
372
+ | `ordering` | OrderingStrategy | No | Item ordering strategy (default: `"static"`) |
373
+ | `injections` | InjectionRule[] | No | Dynamic item injection rules |
357
374
 
358
375
  ### FAQ Item Schema
359
376
 
@@ -370,53 +387,51 @@ Each item in the `items` array:
370
387
  | `config.answerStrategy` | AnswerStrategy | No | AI-generated answer configuration |
371
388
  | `triggerWhen` | DecisionStrategy \| null | No | Conditional visibility strategy |
372
389
 
390
+ **Full tile example with FAQ items:**
391
+
373
392
  ```json
374
393
  {
375
- "kind": "core:mountWidget",
376
- "slot": "drawer_right",
377
- "config": {
378
- "title": "Frequently Asked Questions",
379
- "expandBehavior": "single",
380
- "searchable": true,
381
- "theme": "auto",
382
- "feedback": {
383
- "style": "thumbs",
384
- "prompt": "Was this helpful?"
385
- },
386
- "ordering": "priority",
387
- "items": [
388
- {
389
- "kind": "faq:question",
390
- "config": {
391
- "id": "getting-started",
392
- "question": "How do I get started?",
393
- "answer": "Sign up for a free account and follow our quickstart guide.",
394
- "category": "General",
395
- "priority": 10
396
- }
397
- },
398
- {
399
- "kind": "faq:question",
400
- "config": {
401
- "id": "payment-methods",
402
- "question": "What payment methods do you accept?",
403
- "answer": "We accept all major credit cards and PayPal.",
404
- "category": "Billing",
405
- "priority": 5
406
- },
407
- "triggerWhen": {
408
- "type": "rules",
409
- "rules": [
394
+ "tiles": [
395
+ {
396
+ "id": "help-faq",
397
+ "title": "Frequently Asked Questions",
398
+ "content": {
399
+ "type": "custom",
400
+ "component": "adaptive-faq:accordion",
401
+ "props": {
402
+ "expandBehavior": "single",
403
+ "searchable": true,
404
+ "feedback": {
405
+ "style": "thumbs",
406
+ "prompt": "Was this helpful?"
407
+ },
408
+ "ordering": "priority",
409
+ "items": [
410
410
  {
411
- "conditions": [{ "type": "page_url", "pattern": "/pricing*" }],
412
- "value": true
411
+ "kind": "faq:question",
412
+ "config": {
413
+ "id": "getting-started",
414
+ "question": "How do I get started?",
415
+ "answer": "Sign up for a free account and follow our quickstart guide.",
416
+ "category": "General",
417
+ "priority": 10
418
+ }
419
+ },
420
+ {
421
+ "kind": "faq:question",
422
+ "config": {
423
+ "id": "payment-methods",
424
+ "question": "What payment methods do you accept?",
425
+ "answer": "We accept all major credit cards and PayPal.",
426
+ "category": "Billing",
427
+ "priority": 5
428
+ }
413
429
  }
414
- ],
415
- "default": false
430
+ ]
416
431
  }
417
432
  }
418
- ]
419
- }
433
+ }
434
+ ]
420
435
  }
421
436
  ```
422
437
 
@@ -698,7 +713,7 @@ Gamification capabilities including badges, points, and leaderboards.
698
713
  |------|--------|
699
714
  | Award a badge to a user | `gamification:awardBadge` |
700
715
  | Add points to a user's score | `gamification:addPoints` |
701
- | Mount a gamification widget (leaderboard, progress) | `core:mountWidget` |
716
+ | Mount a gamification widget (leaderboard, progress) | Add a **tile** with `component: "adaptive-gamification:leaderboard"` |
702
717
 
703
718
  ## Actions
704
719
 
@@ -734,15 +749,25 @@ Adds points to the current user's score.
734
749
  }
735
750
  ```
736
751
 
737
- ### core:mountWidget (Gamification)
752
+ ### Gamification Widget (via Tile)
738
753
 
739
- Mounts gamification UI elements (leaderboard, badge display, progress tracker).
754
+ Mount gamification UI elements (leaderboard, badge display, progress tracker) via a **tile**:
740
755
 
741
- | Property | Type | Required | Description |
742
- | -------- | ---------------------- | -------- | -------------------------- |
743
- | `kind` | `"core:mountWidget"` | Yes | Action type |
744
- | `slot` | string | Yes | Target slot |
745
- | `config` | object | Yes | Gamification configuration |
756
+ ```json
757
+ {
758
+ "tiles": [
759
+ {
760
+ "id": "gamification",
761
+ "title": "Your Progress",
762
+ "content": {
763
+ "type": "custom",
764
+ "component": "adaptive-gamification:leaderboard",
765
+ "props": { ... }
766
+ }
767
+ }
768
+ ]
769
+ }
770
+ ```
746
771
 
747
772
  ### Configuration Schema
748
773
 
@@ -767,9 +792,13 @@ Mounts gamification UI elements (leaderboard, badge display, progress tracker).
767
792
 
768
793
  ```json
769
794
  {
770
- "kind": "core:mountWidget",
771
- "slot": "overlay_corner_br",
772
- "config": {
795
+ "tiles": [{
796
+ "id": "gamification-widget",
797
+ "title": "Achievements",
798
+ "content": {
799
+ "type": "custom",
800
+ "component": "adaptive-gamification:leaderboard",
801
+ "props": {
773
802
  "badges": [
774
803
  {
775
804
  "id": "first-purchase",
@@ -813,7 +842,7 @@ Navigation tips accordion widget with conditional item visibility and toast noti
813
842
  |------|--------|
814
843
  | Scroll to an element on the page | `navigation:scrollTo` |
815
844
  | Navigate to a different URL | `navigation:navigate` |
816
- | Show contextual navigation tips widget | `core:mountWidget` with `widget: "adaptive-nav:tips"` |
845
+ | Show contextual navigation tips widget | Add a **tile** with `component: "adaptive-nav:tips"` |
817
846
 
818
847
  ## Widget: `adaptive-nav:tips`
819
848