@happyvertical/smrt-svelte 0.43.9 → 0.44.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 (90) hide show
  1. package/AGENTS.md +38 -2
  2. package/dist/Provider.svelte +11 -0
  3. package/dist/Provider.svelte.d.ts.map +1 -1
  4. package/dist/components/forms/Form.svelte +29 -13
  5. package/dist/components/forms/Form.svelte.d.ts +5 -0
  6. package/dist/components/forms/Form.svelte.d.ts.map +1 -1
  7. package/dist/components/forms/__tests__/Form.webmcp.test.js +115 -6
  8. package/dist/components/settings/SettingsCatalog.svelte +9 -0
  9. package/dist/components/settings/SettingsCatalog.svelte.d.ts +9 -0
  10. package/dist/components/settings/SettingsCatalog.svelte.d.ts.map +1 -1
  11. package/dist/components/workspace/admin-shell/ActivityBadge.svelte +2 -0
  12. package/dist/components/workspace/admin-shell/ActivityBadge.svelte.d.ts +2 -0
  13. package/dist/components/workspace/admin-shell/ActivityBadge.svelte.d.ts.map +1 -1
  14. package/dist/components/workspace/admin-shell/ActivityItem.svelte +1 -0
  15. package/dist/components/workspace/admin-shell/ActivityItem.svelte.d.ts +1 -0
  16. package/dist/components/workspace/admin-shell/ActivityItem.svelte.d.ts.map +1 -1
  17. package/dist/components/workspace/admin-shell/ActivityList.svelte +3 -0
  18. package/dist/components/workspace/admin-shell/ActivityList.svelte.d.ts +3 -0
  19. package/dist/components/workspace/admin-shell/ActivityList.svelte.d.ts.map +1 -1
  20. package/dist/components/workspace/admin-shell/ActivityToasts.svelte +1 -0
  21. package/dist/components/workspace/admin-shell/ActivityToasts.svelte.d.ts +1 -0
  22. package/dist/components/workspace/admin-shell/ActivityToasts.svelte.d.ts.map +1 -1
  23. package/dist/components/workspace/admin-shell/AdminShell.svelte +15 -0
  24. package/dist/components/workspace/admin-shell/AdminShell.svelte.d.ts +15 -0
  25. package/dist/components/workspace/admin-shell/AdminShell.svelte.d.ts.map +1 -1
  26. package/dist/components/workspace/admin-shell/AppScopePanel.svelte +7 -0
  27. package/dist/components/workspace/admin-shell/AppScopePanel.svelte.d.ts +7 -0
  28. package/dist/components/workspace/admin-shell/AppScopePanel.svelte.d.ts.map +1 -1
  29. package/dist/components/workspace/admin-shell/HotkeyInput.svelte +4 -0
  30. package/dist/components/workspace/admin-shell/HotkeyInput.svelte.d.ts +4 -0
  31. package/dist/components/workspace/admin-shell/HotkeyInput.svelte.d.ts.map +1 -1
  32. package/dist/components/workspace/admin-shell/ShellCorner.svelte +1 -0
  33. package/dist/components/workspace/admin-shell/ShellCorner.svelte.d.ts +1 -0
  34. package/dist/components/workspace/admin-shell/ShellCorner.svelte.d.ts.map +1 -1
  35. package/dist/components/workspace/admin-shell/ShortcutsOverlay.svelte +1 -0
  36. package/dist/components/workspace/admin-shell/ShortcutsOverlay.svelte.d.ts +1 -0
  37. package/dist/components/workspace/admin-shell/ShortcutsOverlay.svelte.d.ts.map +1 -1
  38. package/dist/components/workspace/admin-shell/SystemScopePanel.svelte +2 -0
  39. package/dist/components/workspace/admin-shell/SystemScopePanel.svelte.d.ts +2 -0
  40. package/dist/components/workspace/admin-shell/SystemScopePanel.svelte.d.ts.map +1 -1
  41. package/dist/components/workspace/admin-shell/SystemStatusChips.svelte +1 -0
  42. package/dist/components/workspace/admin-shell/SystemStatusChips.svelte.d.ts +1 -0
  43. package/dist/components/workspace/admin-shell/SystemStatusChips.svelte.d.ts.map +1 -1
  44. package/dist/components/workspace/admin-shell/TenantNav.svelte +5 -0
  45. package/dist/components/workspace/admin-shell/TenantNav.svelte.d.ts +5 -0
  46. package/dist/components/workspace/admin-shell/TenantNav.svelte.d.ts.map +1 -1
  47. package/dist/components/workspace/admin-shell/WorkspaceAccountMenu.svelte +11 -0
  48. package/dist/components/workspace/admin-shell/WorkspaceAccountMenu.svelte.d.ts +11 -0
  49. package/dist/components/workspace/admin-shell/WorkspaceAccountMenu.svelte.d.ts.map +1 -1
  50. package/dist/index.d.ts +1 -0
  51. package/dist/index.d.ts.map +1 -1
  52. package/dist/index.js +3 -0
  53. package/dist/web/__tests__/view-intent-provider.fixture.svelte +28 -0
  54. package/dist/web/__tests__/view-intent-provider.fixture.svelte.d.ts +13 -0
  55. package/dist/web/__tests__/view-intent-provider.fixture.svelte.d.ts.map +1 -0
  56. package/dist/web/__tests__/view-intent.fixture.svelte +33 -0
  57. package/dist/web/__tests__/view-intent.fixture.svelte.d.ts +15 -0
  58. package/dist/web/__tests__/view-intent.fixture.svelte.d.ts.map +1 -0
  59. package/dist/web/__tests__/view-intent.intents.d.ts +14 -0
  60. package/dist/web/__tests__/view-intent.intents.d.ts.map +1 -0
  61. package/dist/web/__tests__/view-intent.intents.js +38 -0
  62. package/dist/web/__tests__/view-intent.svelte.test.js +201 -0
  63. package/dist/web/__tests__/webmcp-composed.child.fixture.svelte +11 -0
  64. package/dist/web/__tests__/webmcp-composed.child.fixture.svelte.d.ts.map +1 -1
  65. package/dist/web/__tests__/webmcp-composed.integration.svelte.test.js +4 -0
  66. package/dist/web/__tests__/webmcp-effects-reactivity.child.fixture.svelte +16 -0
  67. package/dist/web/__tests__/webmcp-effects-reactivity.child.fixture.svelte.d.ts +19 -0
  68. package/dist/web/__tests__/webmcp-effects-reactivity.child.fixture.svelte.d.ts.map +1 -0
  69. package/dist/web/__tests__/webmcp-effects-reactivity.fixture.svelte +11 -0
  70. package/dist/web/__tests__/webmcp-effects-reactivity.fixture.svelte.d.ts +8 -0
  71. package/dist/web/__tests__/webmcp-effects-reactivity.fixture.svelte.d.ts.map +1 -0
  72. package/dist/web/__tests__/webmcp-harness-reactive-samename.svelte +20 -0
  73. package/dist/web/__tests__/webmcp-harness-reactive-samename.svelte.d.ts +7 -0
  74. package/dist/web/__tests__/webmcp-harness-reactive-samename.svelte.d.ts.map +1 -0
  75. package/dist/web/__tests__/webmcp-harness-unannotated.svelte +14 -0
  76. package/dist/web/__tests__/webmcp-harness-unannotated.svelte.d.ts +19 -0
  77. package/dist/web/__tests__/webmcp-harness-unannotated.svelte.d.ts.map +1 -0
  78. package/dist/web/__tests__/webmcp-harness.svelte +4 -0
  79. package/dist/web/__tests__/webmcp-harness.svelte.d.ts.map +1 -1
  80. package/dist/web/__tests__/webmcp.test.js +136 -9
  81. package/dist/web/view-intent.svelte.d.ts +64 -0
  82. package/dist/web/view-intent.svelte.d.ts.map +1 -0
  83. package/dist/web/view-intent.svelte.js +83 -0
  84. package/dist/web/webmcp-bespoke-context.d.ts +14 -0
  85. package/dist/web/webmcp-bespoke-context.d.ts.map +1 -0
  86. package/dist/web/webmcp-bespoke-context.js +8 -0
  87. package/dist/web/webmcp.svelte.d.ts +29 -13
  88. package/dist/web/webmcp.svelte.d.ts.map +1 -1
  89. package/dist/web/webmcp.svelte.js +92 -12
  90. package/package.json +8 -7
@@ -1 +1 @@
1
- {"version":3,"file":"ActivityToasts.svelte.d.ts","sourceRoot":"","sources":["../../../../src/components/workspace/admin-shell/ActivityToasts.svelte.ts"],"names":[],"mappings":"AAQA,OAAO,KAAK,EAAiB,kBAAkB,EAAE,MAAM,YAAY,CAAC;AASpE,UAAU,KAAK;IACb,GAAG,CAAC,EAAE,MAAM,CAAC;IACb;;;;;;OAMG;IACH,MAAM,CAAC,EAAE,CAAC,KAAK,EAAE,kBAAkB,KAAK,OAAO,CAAC;CACjD;AAiED,QAAA,MAAM,cAAc,2CAAwC,CAAC;AAC7D,KAAK,cAAc,GAAG,UAAU,CAAC,OAAO,cAAc,CAAC,CAAC;AACxD,eAAe,cAAc,CAAC"}
1
+ {"version":3,"file":"ActivityToasts.svelte.d.ts","sourceRoot":"","sources":["../../../../src/components/workspace/admin-shell/ActivityToasts.svelte.ts"],"names":[],"mappings":"AAQA,OAAO,KAAK,EAAiB,kBAAkB,EAAE,MAAM,YAAY,CAAC;AASpE,UAAU,KAAK;IACb,iEAAiE;IACjE,GAAG,CAAC,EAAE,MAAM,CAAC;IACb;;;;;;OAMG;IACH,MAAM,CAAC,EAAE,CAAC,KAAK,EAAE,kBAAkB,KAAK,OAAO,CAAC;CACjD;AAiED,QAAA,MAAM,cAAc,2CAAwC,CAAC;AAC7D,KAAK,cAAc,GAAG,UAAU,CAAC,OAAO,cAAc,CAAC,CAAC;AACxD,eAAe,cAAc,CAAC"}
@@ -57,20 +57,35 @@ function buildLayoutStyle(shell: ModuleShellState): string {
57
57
  } from './types.js';
58
58
 
59
59
  interface Props extends AdminShellProps {
60
+ /** Pre-configured shell state. Creates one from config if omitted. */
60
61
  state?: ShellState;
62
+ /** Content for the top app bar. */
61
63
  appBar?: Snippet;
64
+ /** Content for the main app panel. */
62
65
  appPanel?: Snippet;
66
+ /** Content for the left tenant rail. */
63
67
  tenantRail?: Snippet;
68
+ /** Content for the left tenant panel. */
64
69
  tenantPanel?: Snippet;
70
+ /** Content for the tenant panel footer. */
65
71
  tenantFooter?: Snippet;
72
+ /** Content for the right focus rail. */
66
73
  focusRail?: Snippet;
74
+ /** Content for the right focus panel, receives the active tool. */
67
75
  focusPanel?: Snippet<[{ tool: ShellFocusTool | null }]>;
76
+ /** Content for the system bar. */
68
77
  systemBar?: Snippet;
78
+ /** Content for the system panel. */
69
79
  systemPanel?: Snippet;
80
+ /** Content for the top-left corner. */
70
81
  topLeftCorner?: Snippet;
82
+ /** Content for the top-right corner. */
71
83
  topRightCorner?: Snippet;
84
+ /** Content for the bottom-left corner. */
72
85
  bottomLeftCorner?: Snippet;
86
+ /** Content for the bottom-right corner. */
73
87
  bottomRightCorner?: Snippet;
88
+ /** Content for the keyboard shortcuts overlay. */
74
89
  shortcutsOverlay?: Snippet;
75
90
  children: Snippet;
76
91
  }
@@ -2,22 +2,37 @@ import type { Snippet } from 'svelte';
2
2
  import { type ShellState } from './state.svelte.js';
3
3
  import type { AdminShellProps, ShellFocusTool } from './types.js';
4
4
  interface Props extends AdminShellProps {
5
+ /** Pre-configured shell state. Creates one from config if omitted. */
5
6
  state?: ShellState;
7
+ /** Content for the top app bar. */
6
8
  appBar?: Snippet;
9
+ /** Content for the main app panel. */
7
10
  appPanel?: Snippet;
11
+ /** Content for the left tenant rail. */
8
12
  tenantRail?: Snippet;
13
+ /** Content for the left tenant panel. */
9
14
  tenantPanel?: Snippet;
15
+ /** Content for the tenant panel footer. */
10
16
  tenantFooter?: Snippet;
17
+ /** Content for the right focus rail. */
11
18
  focusRail?: Snippet;
19
+ /** Content for the right focus panel, receives the active tool. */
12
20
  focusPanel?: Snippet<[{
13
21
  tool: ShellFocusTool | null;
14
22
  }]>;
23
+ /** Content for the system bar. */
15
24
  systemBar?: Snippet;
25
+ /** Content for the system panel. */
16
26
  systemPanel?: Snippet;
27
+ /** Content for the top-left corner. */
17
28
  topLeftCorner?: Snippet;
29
+ /** Content for the top-right corner. */
18
30
  topRightCorner?: Snippet;
31
+ /** Content for the bottom-left corner. */
19
32
  bottomLeftCorner?: Snippet;
33
+ /** Content for the bottom-right corner. */
20
34
  bottomRightCorner?: Snippet;
35
+ /** Content for the keyboard shortcuts overlay. */
21
36
  shortcutsOverlay?: Snippet;
22
37
  children: Snippet;
23
38
  }
@@ -1 +1 @@
1
- {"version":3,"file":"AdminShell.svelte.d.ts","sourceRoot":"","sources":["../../../../src/components/workspace/admin-shell/AdminShell.svelte.ts"],"names":[],"mappings":"AA2CA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,QAAQ,CAAC;AAStC,OAAO,EAAoB,KAAK,UAAU,EAAE,MAAM,mBAAmB,CAAC;AACtE,OAAO,KAAK,EACR,eAAe,EAEf,cAAc,EACf,MAAM,YAAY,CAAC;AAGpB,UAAU,KAAM,SAAQ,eAAe;IACrC,KAAK,CAAC,EAAE,UAAU,CAAC;IACnB,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,UAAU,CAAC,EAAE,OAAO,CAAC,CAAC;QAAE,IAAI,EAAE,cAAc,GAAG,IAAI,CAAA;KAAE,CAAC,CAAC,CAAC;IACxD,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAC5B,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B,QAAQ,EAAE,OAAO,CAAC;CACnB;AAmYH,QAAA,MAAM,UAAU,2CAAwC,CAAC;AACzD,KAAK,UAAU,GAAG,UAAU,CAAC,OAAO,UAAU,CAAC,CAAC;AAChD,eAAe,UAAU,CAAC"}
1
+ {"version":3,"file":"AdminShell.svelte.d.ts","sourceRoot":"","sources":["../../../../src/components/workspace/admin-shell/AdminShell.svelte.ts"],"names":[],"mappings":"AA2CA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,QAAQ,CAAC;AAStC,OAAO,EAAoB,KAAK,UAAU,EAAE,MAAM,mBAAmB,CAAC;AACtE,OAAO,KAAK,EACR,eAAe,EAEf,cAAc,EACf,MAAM,YAAY,CAAC;AAGpB,UAAU,KAAM,SAAQ,eAAe;IACrC,sEAAsE;IACtE,KAAK,CAAC,EAAE,UAAU,CAAC;IACnB,mCAAmC;IACnC,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,sCAAsC;IACtC,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,wCAAwC;IACxC,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,yCAAyC;IACzC,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,2CAA2C;IAC3C,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,wCAAwC;IACxC,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,mEAAmE;IACnE,UAAU,CAAC,EAAE,OAAO,CAAC,CAAC;QAAE,IAAI,EAAE,cAAc,GAAG,IAAI,CAAA;KAAE,CAAC,CAAC,CAAC;IACxD,kCAAkC;IAClC,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,oCAAoC;IACpC,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,uCAAuC;IACvC,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,wCAAwC;IACxC,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,0CAA0C;IAC1C,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B,2CAA2C;IAC3C,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAC5B,kDAAkD;IAClD,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B,QAAQ,EAAE,OAAO,CAAC;CACnB;AAmYH,QAAA,MAAM,UAAU,2CAAwC,CAAC;AACzD,KAAK,UAAU,GAAG,UAAU,CAAC,OAAO,UAAU,CAAC,CAAC;AAChD,eAAe,UAAU,CAAC"}
@@ -6,12 +6,19 @@ import { M } from '../../../i18n/strings.workspace.js';
6
6
  import ShellSettingsPanel from './ShellSettingsPanel.svelte';
7
7
 
8
8
  interface Props {
9
+ /** Application name displayed at the top of the panel. */
9
10
  appName: string;
11
+ /** Current tenant name shown below the app name. */
10
12
  tenantName?: string;
13
+ /** Environment badge text (staging, production, etc). */
11
14
  environment?: string;
15
+ /** Custom search content section. */
12
16
  search?: Snippet;
17
+ /** Custom documentation content section. */
13
18
  docs?: Snippet;
19
+ /** Custom switcher content section. */
14
20
  switcher?: Snippet;
21
+ /** Show or hide the settings panel. */
15
22
  showSettings?: boolean;
16
23
  }
17
24
 
@@ -1,11 +1,18 @@
1
1
  import type { Snippet } from 'svelte';
2
2
  interface Props {
3
+ /** Application name displayed at the top of the panel. */
3
4
  appName: string;
5
+ /** Current tenant name shown below the app name. */
4
6
  tenantName?: string;
7
+ /** Environment badge text (staging, production, etc). */
5
8
  environment?: string;
9
+ /** Custom search content section. */
6
10
  search?: Snippet;
11
+ /** Custom documentation content section. */
7
12
  docs?: Snippet;
13
+ /** Custom switcher content section. */
8
14
  switcher?: Snippet;
15
+ /** Show or hide the settings panel. */
9
16
  showSettings?: boolean;
10
17
  }
11
18
  declare const AppScopePanel: import("svelte").Component<Props, {}, "">;
@@ -1 +1 @@
1
- {"version":3,"file":"AppScopePanel.svelte.d.ts","sourceRoot":"","sources":["../../../../src/components/workspace/admin-shell/AppScopePanel.svelte.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,QAAQ,CAAC;AAKtC,UAAU,KAAK;IACb,OAAO,EAAE,MAAM,CAAC;IAChB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,YAAY,CAAC,EAAE,OAAO,CAAC;CACxB;AA6DD,QAAA,MAAM,aAAa,2CAAwC,CAAC;AAC5D,KAAK,aAAa,GAAG,UAAU,CAAC,OAAO,aAAa,CAAC,CAAC;AACtD,eAAe,aAAa,CAAC"}
1
+ {"version":3,"file":"AppScopePanel.svelte.d.ts","sourceRoot":"","sources":["../../../../src/components/workspace/admin-shell/AppScopePanel.svelte.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,QAAQ,CAAC;AAKtC,UAAU,KAAK;IACb,0DAA0D;IAC1D,OAAO,EAAE,MAAM,CAAC;IAChB,oDAAoD;IACpD,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,yDAAyD;IACzD,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,qCAAqC;IACrC,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,4CAA4C;IAC5C,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,uCAAuC;IACvC,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,uCAAuC;IACvC,YAAY,CAAC,EAAE,OAAO,CAAC;CACxB;AA6DD,QAAA,MAAM,aAAa,2CAAwC,CAAC;AAC5D,KAAK,aAAa,GAAG,UAAU,CAAC,OAAO,aAAa,CAAC,CAAC;AACtD,eAAe,aAAa,CAAC"}
@@ -6,9 +6,13 @@ import { formatHotkeyBinding } from './hotkeys.js';
6
6
  import type { ShellHotkeyBinding } from './types.js';
7
7
 
8
8
  interface Props {
9
+ /** Current hotkey binding displayed in the button. */
9
10
  value?: ShellHotkeyBinding | null;
11
+ /** Blocks keyboard input capture and disables the button. */
10
12
  disabled?: boolean;
13
+ /** Other hotkey or action this binding conflicts with, shown as an error. */
11
14
  conflictsWith?: string | null;
15
+ /** Called when user captures a new hotkey, or null if cleared. */
12
16
  oncapture?: (binding: ShellHotkeyBinding | null) => void;
13
17
  }
14
18
 
@@ -1,8 +1,12 @@
1
1
  import type { ShellHotkeyBinding } from './types.js';
2
2
  interface Props {
3
+ /** Current hotkey binding displayed in the button. */
3
4
  value?: ShellHotkeyBinding | null;
5
+ /** Blocks keyboard input capture and disables the button. */
4
6
  disabled?: boolean;
7
+ /** Other hotkey or action this binding conflicts with, shown as an error. */
5
8
  conflictsWith?: string | null;
9
+ /** Called when user captures a new hotkey, or null if cleared. */
6
10
  oncapture?: (binding: ShellHotkeyBinding | null) => void;
7
11
  }
8
12
  declare const HotkeyInput: import("svelte").Component<Props, {}, "">;
@@ -1 +1 @@
1
- {"version":3,"file":"HotkeyInput.svelte.d.ts","sourceRoot":"","sources":["../../../../src/components/workspace/admin-shell/HotkeyInput.svelte.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,YAAY,CAAC;AAGrD,UAAU,KAAK;IACb,KAAK,CAAC,EAAE,kBAAkB,GAAG,IAAI,CAAC;IAClC,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,aAAa,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC9B,SAAS,CAAC,EAAE,CAAC,OAAO,EAAE,kBAAkB,GAAG,IAAI,KAAK,IAAI,CAAC;CAC1D;AAqDD,QAAA,MAAM,WAAW,2CAAwC,CAAC;AAC1D,KAAK,WAAW,GAAG,UAAU,CAAC,OAAO,WAAW,CAAC,CAAC;AAClD,eAAe,WAAW,CAAC"}
1
+ {"version":3,"file":"HotkeyInput.svelte.d.ts","sourceRoot":"","sources":["../../../../src/components/workspace/admin-shell/HotkeyInput.svelte.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,YAAY,CAAC;AAGrD,UAAU,KAAK;IACb,sDAAsD;IACtD,KAAK,CAAC,EAAE,kBAAkB,GAAG,IAAI,CAAC;IAClC,6DAA6D;IAC7D,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,6EAA6E;IAC7E,aAAa,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC9B,kEAAkE;IAClE,SAAS,CAAC,EAAE,CAAC,OAAO,EAAE,kBAAkB,GAAG,IAAI,KAAK,IAAI,CAAC;CAC1D;AAqDD,QAAA,MAAM,WAAW,2CAAwC,CAAC;AAC1D,KAAK,WAAW,GAAG,UAAU,CAAC,OAAO,WAAW,CAAC,CAAC;AAClD,eAAe,WAAW,CAAC"}
@@ -2,6 +2,7 @@
2
2
  import type { Snippet } from 'svelte';
3
3
 
4
4
  interface Props {
5
+ /** Which side of the shell layout this corner occupies. */
5
6
  side: 'left' | 'right';
6
7
  children: Snippet;
7
8
  }
@@ -1,5 +1,6 @@
1
1
  import type { Snippet } from 'svelte';
2
2
  interface Props {
3
+ /** Which side of the shell layout this corner occupies. */
3
4
  side: 'left' | 'right';
4
5
  children: Snippet;
5
6
  }
@@ -1 +1 @@
1
- {"version":3,"file":"ShellCorner.svelte.d.ts","sourceRoot":"","sources":["../../../../src/components/workspace/admin-shell/ShellCorner.svelte.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,QAAQ,CAAC;AAGtC,UAAU,KAAK;IACb,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC;IACvB,QAAQ,EAAE,OAAO,CAAC;CACnB;AAgBD,QAAA,MAAM,WAAW,2CAAwC,CAAC;AAC1D,KAAK,WAAW,GAAG,UAAU,CAAC,OAAO,WAAW,CAAC,CAAC;AAClD,eAAe,WAAW,CAAC"}
1
+ {"version":3,"file":"ShellCorner.svelte.d.ts","sourceRoot":"","sources":["../../../../src/components/workspace/admin-shell/ShellCorner.svelte.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,QAAQ,CAAC;AAGtC,UAAU,KAAK;IACb,2DAA2D;IAC3D,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC;IACvB,QAAQ,EAAE,OAAO,CAAC;CACnB;AAgBD,QAAA,MAAM,WAAW,2CAAwC,CAAC;AAC1D,KAAK,WAAW,GAAG,UAAU,CAAC,OAAO,WAAW,CAAC,CAAC;AAClD,eAAe,WAAW,CAAC"}
@@ -8,6 +8,7 @@ import { resolveHotkey } from './settings.js';
8
8
  import type { PanelEdge } from './types.js';
9
9
 
10
10
  interface Props {
11
+ /** Called when the user closes the shortcuts overlay. */
11
12
  onclose?: () => void;
12
13
  }
13
14
 
@@ -1,4 +1,5 @@
1
1
  interface Props {
2
+ /** Called when the user closes the shortcuts overlay. */
2
3
  onclose?: () => void;
3
4
  }
4
5
  declare const ShortcutsOverlay: import("svelte").Component<Props, {}, "">;
@@ -1 +1 @@
1
- {"version":3,"file":"ShortcutsOverlay.svelte.d.ts","sourceRoot":"","sources":["../../../../src/components/workspace/admin-shell/ShortcutsOverlay.svelte.ts"],"names":[],"mappings":"AAYA,UAAU,KAAK;IACb,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC;CACtB;AAkDD,QAAA,MAAM,gBAAgB,2CAAwC,CAAC;AAC/D,KAAK,gBAAgB,GAAG,UAAU,CAAC,OAAO,gBAAgB,CAAC,CAAC;AAC5D,eAAe,gBAAgB,CAAC"}
1
+ {"version":3,"file":"ShortcutsOverlay.svelte.d.ts","sourceRoot":"","sources":["../../../../src/components/workspace/admin-shell/ShortcutsOverlay.svelte.ts"],"names":[],"mappings":"AAYA,UAAU,KAAK;IACb,yDAAyD;IACzD,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC;CACtB;AAkDD,QAAA,MAAM,gBAAgB,2CAAwC,CAAC;AAC/D,KAAK,gBAAgB,GAAG,UAAU,CAAC,OAAO,gBAAgB,CAAC,CAAC;AAC5D,eAAe,gBAAgB,CAAC"}
@@ -5,7 +5,9 @@ import ActivityList from './ActivityList.svelte';
5
5
  import type { ShellSystemPanel } from './types.js';
6
6
 
7
7
  interface Props {
8
+ /** Array of system panel sections, each with a label and list of items. */
8
9
  panels: ShellSystemPanel[];
10
+ /** Show or hide the running activities section at the bottom. */
9
11
  showActivities?: boolean;
10
12
  }
11
13
 
@@ -1,6 +1,8 @@
1
1
  import type { ShellSystemPanel } from './types.js';
2
2
  interface Props {
3
+ /** Array of system panel sections, each with a label and list of items. */
3
4
  panels: ShellSystemPanel[];
5
+ /** Show or hide the running activities section at the bottom. */
4
6
  showActivities?: boolean;
5
7
  }
6
8
  declare const SystemScopePanel: import("svelte").Component<Props, {}, "">;
@@ -1 +1 @@
1
- {"version":3,"file":"SystemScopePanel.svelte.d.ts","sourceRoot":"","sources":["../../../../src/components/workspace/admin-shell/SystemScopePanel.svelte.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC;AAGnD,UAAU,KAAK;IACb,MAAM,EAAE,gBAAgB,EAAE,CAAC;IAC3B,cAAc,CAAC,EAAE,OAAO,CAAC;CAC1B;AAmDD,QAAA,MAAM,gBAAgB,2CAAwC,CAAC;AAC/D,KAAK,gBAAgB,GAAG,UAAU,CAAC,OAAO,gBAAgB,CAAC,CAAC;AAC5D,eAAe,gBAAgB,CAAC"}
1
+ {"version":3,"file":"SystemScopePanel.svelte.d.ts","sourceRoot":"","sources":["../../../../src/components/workspace/admin-shell/SystemScopePanel.svelte.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC;AAGnD,UAAU,KAAK;IACb,2EAA2E;IAC3E,MAAM,EAAE,gBAAgB,EAAE,CAAC;IAC3B,iEAAiE;IACjE,cAAc,CAAC,EAAE,OAAO,CAAC;CAC1B;AAmDD,QAAA,MAAM,gBAAgB,2CAAwC,CAAC;AAC/D,KAAK,gBAAgB,GAAG,UAAU,CAAC,OAAO,gBAAgB,CAAC,CAAC;AAC5D,eAAe,gBAAgB,CAAC"}
@@ -5,6 +5,7 @@ import { M } from '../../../i18n/strings.workspace.js';
5
5
  import type { ShellStatusChip } from './types.js';
6
6
 
7
7
  interface Props {
8
+ /** Array of status chips with label, value, tone, and optional link. */
8
9
  chips: ShellStatusChip[];
9
10
  }
10
11
 
@@ -1,5 +1,6 @@
1
1
  import type { ShellStatusChip } from './types.js';
2
2
  interface Props {
3
+ /** Array of status chips with label, value, tone, and optional link. */
3
4
  chips: ShellStatusChip[];
4
5
  }
5
6
  declare const SystemStatusChips: import("svelte").Component<Props, {}, "">;
@@ -1 +1 @@
1
- {"version":3,"file":"SystemStatusChips.svelte.d.ts","sourceRoot":"","sources":["../../../../src/components/workspace/admin-shell/SystemStatusChips.svelte.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAGlD,UAAU,KAAK;IACb,KAAK,EAAE,eAAe,EAAE,CAAC;CAC1B;AAwCD,QAAA,MAAM,iBAAiB,2CAAwC,CAAC;AAChE,KAAK,iBAAiB,GAAG,UAAU,CAAC,OAAO,iBAAiB,CAAC,CAAC;AAC9D,eAAe,iBAAiB,CAAC"}
1
+ {"version":3,"file":"SystemStatusChips.svelte.d.ts","sourceRoot":"","sources":["../../../../src/components/workspace/admin-shell/SystemStatusChips.svelte.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAGlD,UAAU,KAAK;IACb,wEAAwE;IACxE,KAAK,EAAE,eAAe,EAAE,CAAC;CAC1B;AAwCD,QAAA,MAAM,iBAAiB,2CAAwC,CAAC;AAChE,KAAK,iBAAiB,GAAG,UAAU,CAAC,OAAO,iBAAiB,CAAC,CAAC;AAC9D,eAAe,iBAAiB,CAAC"}
@@ -5,10 +5,15 @@ import { M } from '../../../i18n/strings.workspace.js';
5
5
  import type { ShellNavItem } from './types.js';
6
6
 
7
7
  interface Props {
8
+ /** Navigation items with href, label, icon, and optional children. */
8
9
  items: ShellNavItem[];
10
+ /** Current URL to highlight the active navigation link. */
9
11
  currentHref?: string;
12
+ /** Component used to render icon names as SVG or custom icons. */
10
13
  iconComponent?: Component<{ name: string; size?: number }>;
14
+ /** Hide labels and show only icons in a compact layout. */
11
15
  collapsed?: boolean;
16
+ /** Called when the user clicks a navigation link. */
12
17
  onNavigate?: () => void;
13
18
  }
14
19
 
@@ -1,13 +1,18 @@
1
1
  import type { Component } from 'svelte';
2
2
  import type { ShellNavItem } from './types.js';
3
3
  interface Props {
4
+ /** Navigation items with href, label, icon, and optional children. */
4
5
  items: ShellNavItem[];
6
+ /** Current URL to highlight the active navigation link. */
5
7
  currentHref?: string;
8
+ /** Component used to render icon names as SVG or custom icons. */
6
9
  iconComponent?: Component<{
7
10
  name: string;
8
11
  size?: number;
9
12
  }>;
13
+ /** Hide labels and show only icons in a compact layout. */
10
14
  collapsed?: boolean;
15
+ /** Called when the user clicks a navigation link. */
11
16
  onNavigate?: () => void;
12
17
  }
13
18
  declare const TenantNav: Component<Props, {}, "">;
@@ -1 +1 @@
1
- {"version":3,"file":"TenantNav.svelte.d.ts","sourceRoot":"","sources":["../../../../src/components/workspace/admin-shell/TenantNav.svelte.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,QAAQ,CAAC;AAExC,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAG/C,UAAU,KAAK;IACb,KAAK,EAAE,YAAY,EAAE,CAAC;IACtB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,aAAa,CAAC,EAAE,SAAS,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IAC3D,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,UAAU,CAAC,EAAE,MAAM,IAAI,CAAC;CACzB;AAsFD,QAAA,MAAM,SAAS,0BAAwC,CAAC;AACxD,KAAK,SAAS,GAAG,UAAU,CAAC,OAAO,SAAS,CAAC,CAAC;AAC9C,eAAe,SAAS,CAAC"}
1
+ {"version":3,"file":"TenantNav.svelte.d.ts","sourceRoot":"","sources":["../../../../src/components/workspace/admin-shell/TenantNav.svelte.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,QAAQ,CAAC;AAExC,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAG/C,UAAU,KAAK;IACb,sEAAsE;IACtE,KAAK,EAAE,YAAY,EAAE,CAAC;IACtB,2DAA2D;IAC3D,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,kEAAkE;IAClE,aAAa,CAAC,EAAE,SAAS,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IAC3D,2DAA2D;IAC3D,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,qDAAqD;IACrD,UAAU,CAAC,EAAE,MAAM,IAAI,CAAC;CACzB;AAsFD,QAAA,MAAM,SAAS,0BAAwC,CAAC;AACxD,KAAK,SAAS,GAAG,UAAU,CAAC,OAAO,SAAS,CAAC,CAAC;AAC9C,eAAe,SAAS,CAAC"}
@@ -9,16 +9,27 @@ const SIGN_OUT_ID = 'workspace-account:sign-out';
9
9
  const TENANT_PREFIX = 'workspace-account:tenant:';
10
10
 
11
11
  export interface Props {
12
+ /** Username or identifier displayed in the account menu. */
12
13
  userName: string;
14
+ /** Custom display name for the user, falls back to userName. */
13
15
  userLabel?: string;
16
+ /** URL for the user's avatar image. */
14
17
  avatarUrl?: string;
18
+ /** Custom display name for the current tenant. */
15
19
  tenantLabel?: string;
20
+ /** User's role or permission level. */
16
21
  roleLabel?: string;
22
+ /** List of available tenants to switch between. */
17
23
  tenants?: WorkspaceAccountTenant[];
24
+ /** ID of the currently selected tenant. */
18
25
  currentTenantId?: string | null;
26
+ /** Where the dropdown menu appears relative to the trigger button. */
19
27
  placement?: DropdownPlacement;
28
+ /** Disables the account menu button. */
20
29
  disabled?: boolean;
30
+ /** Called when the user selects a different tenant. */
21
31
  onTenantSelect?: (tenantId: string) => void;
32
+ /** Called when the user clicks sign out. */
22
33
  onSignOut?: () => void;
23
34
  }
24
35
 
@@ -1,16 +1,27 @@
1
1
  import type { DropdownPlacement } from '@happyvertical/smrt-ui';
2
2
  import type { WorkspaceAccountTenant } from './types.js';
3
3
  export interface Props {
4
+ /** Username or identifier displayed in the account menu. */
4
5
  userName: string;
6
+ /** Custom display name for the user, falls back to userName. */
5
7
  userLabel?: string;
8
+ /** URL for the user's avatar image. */
6
9
  avatarUrl?: string;
10
+ /** Custom display name for the current tenant. */
7
11
  tenantLabel?: string;
12
+ /** User's role or permission level. */
8
13
  roleLabel?: string;
14
+ /** List of available tenants to switch between. */
9
15
  tenants?: WorkspaceAccountTenant[];
16
+ /** ID of the currently selected tenant. */
10
17
  currentTenantId?: string | null;
18
+ /** Where the dropdown menu appears relative to the trigger button. */
11
19
  placement?: DropdownPlacement;
20
+ /** Disables the account menu button. */
12
21
  disabled?: boolean;
22
+ /** Called when the user selects a different tenant. */
13
23
  onTenantSelect?: (tenantId: string) => void;
24
+ /** Called when the user clicks sign out. */
14
25
  onSignOut?: () => void;
15
26
  }
16
27
  declare const WorkspaceAccountMenu: import("svelte").Component<Props, {}, "">;
@@ -1 +1 @@
1
- {"version":3,"file":"WorkspaceAccountMenu.svelte.d.ts","sourceRoot":"","sources":["../../../../src/components/workspace/admin-shell/WorkspaceAccountMenu.svelte.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,iBAAiB,EAAY,MAAM,wBAAwB,CAAC;AAI1E,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,YAAY,CAAC;AAGzD,MAAM,WAAW,KAAK;IACpB,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,OAAO,CAAC,EAAE,sBAAsB,EAAE,CAAC;IACnC,eAAe,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAChC,SAAS,CAAC,EAAE,iBAAiB,CAAC;IAC9B,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,cAAc,CAAC,EAAE,CAAC,QAAQ,EAAE,MAAM,KAAK,IAAI,CAAC;IAC5C,SAAS,CAAC,EAAE,MAAM,IAAI,CAAC;CACxB;AAqGD,QAAA,MAAM,oBAAoB,2CAAwC,CAAC;AACnE,KAAK,oBAAoB,GAAG,UAAU,CAAC,OAAO,oBAAoB,CAAC,CAAC;AACpE,eAAe,oBAAoB,CAAC"}
1
+ {"version":3,"file":"WorkspaceAccountMenu.svelte.d.ts","sourceRoot":"","sources":["../../../../src/components/workspace/admin-shell/WorkspaceAccountMenu.svelte.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,iBAAiB,EAAY,MAAM,wBAAwB,CAAC;AAI1E,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,YAAY,CAAC;AAGzD,MAAM,WAAW,KAAK;IACpB,4DAA4D;IAC5D,QAAQ,EAAE,MAAM,CAAC;IACjB,gEAAgE;IAChE,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,uCAAuC;IACvC,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,kDAAkD;IAClD,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,uCAAuC;IACvC,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,mDAAmD;IACnD,OAAO,CAAC,EAAE,sBAAsB,EAAE,CAAC;IACnC,2CAA2C;IAC3C,eAAe,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAChC,sEAAsE;IACtE,SAAS,CAAC,EAAE,iBAAiB,CAAC;IAC9B,wCAAwC;IACxC,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,uDAAuD;IACvD,cAAc,CAAC,EAAE,CAAC,QAAQ,EAAE,MAAM,KAAK,IAAI,CAAC;IAC5C,4CAA4C;IAC5C,SAAS,CAAC,EAAE,MAAM,IAAI,CAAC;CACxB;AAqGD,QAAA,MAAM,oBAAoB,2CAAwC,CAAC;AACnE,KAAK,oBAAoB,GAAG,UAAU,CAAC,OAAO,oBAAoB,CAAC,CAAC;AACpE,eAAe,oBAAoB,CAAC"}
package/dist/index.d.ts CHANGED
@@ -17,6 +17,7 @@ export * from './data-surface.js';
17
17
  export * from './hooks/index.js';
18
18
  export { default as Provider } from './Provider.svelte';
19
19
  export * from './state/index.js';
20
+ export { type UseViewIntentOptions, useViewIntent, type ViewIntentIdentity, } from './web/view-intent.svelte.js';
20
21
  export { useWebMcpTool, type WebMcpToolSpec } from './web/webmcp.svelte.js';
21
22
  export type { WebMcpProviderConfig, WebMcpUiProviderConfig, } from './web/webmcp-provider.js';
22
23
  export { type RegisterWebMcpUiToolsOptions, registerWebMcpUiTools, } from './web/webmcp-ui.js';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAEA;;;;;;;;;;;;GAYG;AAGH,cAAc,6BAA6B,CAAC;AAE5C,cAAc,8BAA8B,CAAC;AAE7C,cAAc,mBAAmB,CAAC;AAElC,cAAc,kBAAkB,CAAC;AAEjC,OAAO,EAAE,OAAO,IAAI,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAExD,cAAc,kBAAkB,CAAC;AAEjC,OAAO,EAAE,aAAa,EAAE,KAAK,cAAc,EAAE,MAAM,wBAAwB,CAAC;AAC5E,YAAY,EACV,oBAAoB,EACpB,sBAAsB,GACvB,MAAM,0BAA0B,CAAC;AAClC,OAAO,EACL,KAAK,4BAA4B,EACjC,qBAAqB,GACtB,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EACL,WAAW,EACX,KAAK,eAAe,GACrB,MAAM,4BAA4B,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAEA;;;;;;;;;;;;GAYG;AAGH,cAAc,6BAA6B,CAAC;AAE5C,cAAc,8BAA8B,CAAC;AAE7C,cAAc,mBAAmB,CAAC;AAElC,cAAc,kBAAkB,CAAC;AAEjC,OAAO,EAAE,OAAO,IAAI,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAExD,cAAc,kBAAkB,CAAC;AAGjC,OAAO,EACL,KAAK,oBAAoB,EACzB,aAAa,EACb,KAAK,kBAAkB,GACxB,MAAM,6BAA6B,CAAC;AAErC,OAAO,EAAE,aAAa,EAAE,KAAK,cAAc,EAAE,MAAM,wBAAwB,CAAC;AAC5E,YAAY,EACV,oBAAoB,EACpB,sBAAsB,GACvB,MAAM,0BAA0B,CAAC;AAClC,OAAO,EACL,KAAK,4BAA4B,EACjC,qBAAqB,GACtB,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EACL,WAAW,EACX,KAAK,eAAe,GACrB,MAAM,4BAA4B,CAAC"}
package/dist/index.js CHANGED
@@ -24,6 +24,9 @@ export * from './hooks/index.js';
24
24
  export { default as Provider } from './Provider.svelte';
25
25
  // State management
26
26
  export * from './state/index.js';
27
+ // Declarative view intents (#2588) — the Svelte binding. Declare the intent
28
+ // itself with `defineIntent` from `@happyvertical/smrt-web/intents`.
29
+ export { useViewIntent, } from './web/view-intent.svelte.js';
27
30
  // Opt-in browser WebMCP lifecycle primitive.
28
31
  export { useWebMcpTool } from './web/webmcp.svelte.js';
29
32
  export { registerWebMcpUiTools, } from './web/webmcp-ui.js';
@@ -0,0 +1,28 @@
1
+ <script lang="ts">
2
+ import type { ControlInteractionRegistry } from '@happyvertical/smrt-ui/forms';
3
+ import type { ViewIntent } from '@happyvertical/smrt-web';
4
+ import Provider from '../../Provider.svelte';
5
+ import type { ViewIntentIdentity } from '../view-intent.svelte.js';
6
+ import ViewIntentFixture from './view-intent.fixture.svelte';
7
+
8
+ let {
9
+ intent,
10
+ identity,
11
+ providerRegistry,
12
+ effects,
13
+ }: {
14
+ intent: ViewIntent;
15
+ identity: ViewIntentIdentity;
16
+ providerRegistry: ControlInteractionRegistry;
17
+ effects?: readonly ('read' | 'write' | 'destructive')[];
18
+ } = $props();
19
+ </script>
20
+
21
+ <Provider
22
+ webmcp={{
23
+ ...(effects ? { effects } : {}),
24
+ ui: { controlRegistry: providerRegistry },
25
+ }}
26
+ >
27
+ <ViewIntentFixture {intent} {identity} />
28
+ </Provider>
@@ -0,0 +1,13 @@
1
+ import type { ControlInteractionRegistry } from '@happyvertical/smrt-ui/forms';
2
+ import type { ViewIntent } from '@happyvertical/smrt-web';
3
+ import type { ViewIntentIdentity } from '../view-intent.svelte.js';
4
+ type $$ComponentProps = {
5
+ intent: ViewIntent;
6
+ identity: ViewIntentIdentity;
7
+ providerRegistry: ControlInteractionRegistry;
8
+ effects?: readonly ('read' | 'write' | 'destructive')[];
9
+ };
10
+ declare const ViewIntentProvider: import("svelte").Component<$$ComponentProps, {}, "">;
11
+ type ViewIntentProvider = ReturnType<typeof ViewIntentProvider>;
12
+ export default ViewIntentProvider;
13
+ //# sourceMappingURL=view-intent-provider.fixture.svelte.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"view-intent-provider.fixture.svelte.d.ts","sourceRoot":"","sources":["../../../src/web/__tests__/view-intent-provider.fixture.svelte.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,0BAA0B,EAAE,MAAM,8BAA8B,CAAC;AAC/E,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAC;AAE1D,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,0BAA0B,CAAC;AAGlE,KAAK,gBAAgB,GAAI;IACxB,MAAM,EAAE,UAAU,CAAC;IACnB,QAAQ,EAAE,kBAAkB,CAAC;IAC7B,gBAAgB,EAAE,0BAA0B,CAAC;IAC7C,OAAO,CAAC,EAAE,SAAS,CAAC,MAAM,GAAG,OAAO,GAAG,aAAa,CAAC,EAAE,CAAC;CACzD,CAAC;AAyBF,QAAA,MAAM,kBAAkB,sDAAwC,CAAC;AACjE,KAAK,kBAAkB,GAAG,UAAU,CAAC,OAAO,kBAAkB,CAAC,CAAC;AAChE,eAAe,kBAAkB,CAAC"}
@@ -0,0 +1,33 @@
1
+ <script lang="ts">
2
+ import type { DataSurfaceRegistry } from '@happyvertical/smrt-ui/data';
3
+ import type { ControlInteractionRegistry } from '@happyvertical/smrt-ui/forms';
4
+ import type { ViewIntent } from '@happyvertical/smrt-web';
5
+ import type {
6
+ UseViewIntentOptions,
7
+ ViewIntentIdentity,
8
+ } from '../view-intent.svelte.js';
9
+ import { useViewIntent } from '../view-intent.svelte.js';
10
+
11
+ let {
12
+ intent,
13
+ identity,
14
+ controlRegistry,
15
+ dataSurfaceRegistry,
16
+ effects,
17
+ }: {
18
+ intent: ViewIntent;
19
+ identity: ViewIntentIdentity;
20
+ controlRegistry?: ControlInteractionRegistry;
21
+ dataSurfaceRegistry?: DataSurfaceRegistry;
22
+ effects?: UseViewIntentOptions['effects'];
23
+ } = $props();
24
+
25
+ useViewIntent(intent, {
26
+ identity,
27
+ ...(controlRegistry ? { controlRegistry } : {}),
28
+ ...(dataSurfaceRegistry ? { dataSurfaceRegistry } : {}),
29
+ ...(effects ? { effects } : {}),
30
+ });
31
+ </script>
32
+
33
+ <span>{intent.id}</span>
@@ -0,0 +1,15 @@
1
+ import type { DataSurfaceRegistry } from '@happyvertical/smrt-ui/data';
2
+ import type { ControlInteractionRegistry } from '@happyvertical/smrt-ui/forms';
3
+ import type { ViewIntent } from '@happyvertical/smrt-web';
4
+ import type { UseViewIntentOptions, ViewIntentIdentity } from '../view-intent.svelte.js';
5
+ type $$ComponentProps = {
6
+ intent: ViewIntent;
7
+ identity: ViewIntentIdentity;
8
+ controlRegistry?: ControlInteractionRegistry;
9
+ dataSurfaceRegistry?: DataSurfaceRegistry;
10
+ effects?: UseViewIntentOptions['effects'];
11
+ };
12
+ declare const ViewIntent: import("svelte").Component<$$ComponentProps, {}, "">;
13
+ type ViewIntent = ReturnType<typeof ViewIntent>;
14
+ export default ViewIntent;
15
+ //# sourceMappingURL=view-intent.fixture.svelte.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"view-intent.fixture.svelte.d.ts","sourceRoot":"","sources":["../../../src/web/__tests__/view-intent.fixture.svelte.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,6BAA6B,CAAC;AACvE,OAAO,KAAK,EAAE,0BAA0B,EAAE,MAAM,8BAA8B,CAAC;AAC/E,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAC;AAC1D,OAAO,KAAK,EACV,oBAAoB,EACpB,kBAAkB,EACnB,MAAM,0BAA0B,CAAC;AAGjC,KAAK,gBAAgB,GAAI;IACxB,MAAM,EAAE,UAAU,CAAC;IACnB,QAAQ,EAAE,kBAAkB,CAAC;IAC7B,eAAe,CAAC,EAAE,0BAA0B,CAAC;IAC7C,mBAAmB,CAAC,EAAE,mBAAmB,CAAC;IAC1C,OAAO,CAAC,EAAE,oBAAoB,CAAC,SAAS,CAAC,CAAC;CAC3C,CAAC;AA4BF,QAAA,MAAM,UAAU,sDAAwC,CAAC;AACzD,KAAK,UAAU,GAAG,UAAU,CAAC,OAAO,UAAU,CAAC,CAAC;AAChD,eAAe,UAAU,CAAC"}
@@ -0,0 +1,14 @@
1
+ /**
2
+ * A worked example of the `Foo.intents.ts` sidecar convention (#2588).
3
+ *
4
+ * Every declaration below is a module-scope `defineIntent({ ... })` call with
5
+ * a single object literal — no spreads, no conditionals, no computed values —
6
+ * in a `.ts` module, which is exactly the form #2591's scanner matches
7
+ * without evaluating this file.
8
+ */
9
+ export declare const revealNotesIntent: import("@happyvertical/smrt-web/intents").ViewIntent;
10
+ export declare const stageNotesIntent: import("@happyvertical/smrt-web/intents").ViewIntent;
11
+ /** No `capability` at all — classifies fail-closed as destructive. */
12
+ export declare const clearNotesIntent: import("@happyvertical/smrt-web/intents").ViewIntent;
13
+ export declare const nextPageIntent: import("@happyvertical/smrt-web/intents").ViewIntent;
14
+ //# sourceMappingURL=view-intent.intents.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"view-intent.intents.d.ts","sourceRoot":"","sources":["../../../src/web/__tests__/view-intent.intents.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAIH,eAAO,MAAM,iBAAiB,sDAK5B,CAAC;AAEH,eAAO,MAAM,gBAAgB,sDAU3B,CAAC;AAEH,sEAAsE;AACtE,eAAO,MAAM,gBAAgB,sDAI3B,CAAC;AAEH,eAAO,MAAM,cAAc,sDAKzB,CAAC"}
@@ -0,0 +1,38 @@
1
+ /**
2
+ * A worked example of the `Foo.intents.ts` sidecar convention (#2588).
3
+ *
4
+ * Every declaration below is a module-scope `defineIntent({ ... })` call with
5
+ * a single object literal — no spreads, no conditionals, no computed values —
6
+ * in a `.ts` module, which is exactly the form #2591's scanner matches
7
+ * without evaluating this file.
8
+ */
9
+ import { defineIntent } from '@happyvertical/smrt-web/intents';
10
+ export const revealNotesIntent = defineIntent({
11
+ id: 'fixture.reveal_notes',
12
+ description: 'Scroll the notes field into view',
13
+ capability: { effect: 'read', idempotent: true, openWorld: false },
14
+ target: { registry: 'control', action: 'reveal' },
15
+ });
16
+ export const stageNotesIntent = defineIntent({
17
+ id: 'fixture.stage_notes',
18
+ description: 'Propose a value for the notes field',
19
+ capability: { effect: 'write', idempotent: true, openWorld: false },
20
+ inputSchema: {
21
+ type: 'object',
22
+ properties: { value: { type: 'string' } },
23
+ required: ['value'],
24
+ },
25
+ target: { registry: 'control', action: 'stage' },
26
+ });
27
+ /** No `capability` at all — classifies fail-closed as destructive. */
28
+ export const clearNotesIntent = defineIntent({
29
+ id: 'fixture.clear_notes',
30
+ description: 'Clear the notes field',
31
+ target: { registry: 'control', action: 'clear' },
32
+ });
33
+ export const nextPageIntent = defineIntent({
34
+ id: 'fixture.next_page',
35
+ description: 'Advance the orders table by one page',
36
+ capability: { effect: 'read', idempotent: false, openWorld: false },
37
+ target: { registry: 'dataSurface', controlId: 'next-page', kind: 'table' },
38
+ });