@pillar-ai/sdk 0.1.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 (114) hide show
  1. package/README.md +129 -0
  2. package/dist/actions/definitions/analytics.d.ts +18 -0
  3. package/dist/actions/definitions/content.d.ts +40 -0
  4. package/dist/actions/definitions/index.d.ts +26 -0
  5. package/dist/actions/definitions/navigation.d.ts +65 -0
  6. package/dist/actions/definitions/settings.d.ts +162 -0
  7. package/dist/actions/definitions/sources.d.ts +44 -0
  8. package/dist/actions/definitions/support.d.ts +15 -0
  9. package/dist/actions/definitions/team.d.ts +120 -0
  10. package/dist/actions/index.d.ts +33 -0
  11. package/dist/actions/registry.d.ts +110 -0
  12. package/dist/actions/types.d.ts +388 -0
  13. package/dist/api/client.d.ts +186 -0
  14. package/dist/api/mcp-client.d.ts +226 -0
  15. package/dist/button/FloatingButton.d.ts +44 -0
  16. package/dist/cli/sync.d.ts +2 -0
  17. package/dist/components/Button/EdgeTrigger.d.ts +78 -0
  18. package/dist/components/Button/FloatingButton.d.ts +46 -0
  19. package/dist/components/Button/index.d.ts +5 -0
  20. package/dist/components/Cards/ConfirmActionCard.d.ts +23 -0
  21. package/dist/components/Cards/index.d.ts +6 -0
  22. package/dist/components/Panel/ChatInput.d.ts +5 -0
  23. package/dist/components/Panel/ContextTag.d.ts +18 -0
  24. package/dist/components/Panel/Header.d.ts +14 -0
  25. package/dist/components/Panel/Panel.d.ts +104 -0
  26. package/dist/components/Panel/PanelContent.d.ts +6 -0
  27. package/dist/components/Panel/TaskButton.d.ts +59 -0
  28. package/dist/components/Panel/UnifiedChatInput.d.ts +23 -0
  29. package/dist/components/Panel/WorkflowChecklist.d.ts +9 -0
  30. package/dist/components/Panel/index.d.ts +13 -0
  31. package/dist/components/Panel/styles.d.ts +20 -0
  32. package/dist/components/Plan/InlinePlanView.d.ts +24 -0
  33. package/dist/components/Plan/PlanStepItem.d.ts +18 -0
  34. package/dist/components/Plan/PlanView.d.ts +10 -0
  35. package/dist/components/Plan/index.d.ts +8 -0
  36. package/dist/components/TextSelection/TextSelectionManager.d.ts +34 -0
  37. package/dist/components/TextSelection/TextSelectionPopover.d.ts +14 -0
  38. package/dist/components/TextSelection/index.d.ts +6 -0
  39. package/dist/components/TextSelection/styles.d.ts +5 -0
  40. package/dist/components/Tooltips/Tooltip.d.ts +46 -0
  41. package/dist/components/Tooltips/TooltipManager.d.ts +41 -0
  42. package/dist/components/Tooltips/index.d.ts +6 -0
  43. package/dist/components/Tooltips/styles.d.ts +5 -0
  44. package/dist/components/Views/ArticleChatView.d.ts +9 -0
  45. package/dist/components/Views/ArticleView.d.ts +10 -0
  46. package/dist/components/Views/CategoryView.d.ts +11 -0
  47. package/dist/components/Views/ChatView.d.ts +5 -0
  48. package/dist/components/Views/DeveloperView.d.ts +6 -0
  49. package/dist/components/Views/HomeView.d.ts +5 -0
  50. package/dist/components/Views/SearchView.d.ts +10 -0
  51. package/dist/components/Views/index.d.ts +5 -0
  52. package/dist/components/context.d.ts +21 -0
  53. package/dist/components/index.d.ts +9 -0
  54. package/dist/components/shared/ArticleCard.d.ts +17 -0
  55. package/dist/components/shared/CategoryCard.d.ts +17 -0
  56. package/dist/components/shared/Empty.d.ts +11 -0
  57. package/dist/components/shared/Loading.d.ts +6 -0
  58. package/dist/components/shared/MessageInputArea.d.ts +19 -0
  59. package/dist/components/shared/QuestionChip.d.ts +14 -0
  60. package/dist/components/shared/index.d.ts +7 -0
  61. package/dist/content/extensions/AccordionNode.d.ts +10 -0
  62. package/dist/content/extensions/CalloutNode.d.ts +11 -0
  63. package/dist/content/extensions/index.d.ts +5 -0
  64. package/dist/content/index.d.ts +5 -0
  65. package/dist/content/renderer.d.ts +24 -0
  66. package/dist/core/Pillar.d.ts +454 -0
  67. package/dist/core/config.d.ts +253 -0
  68. package/dist/core/context.d.ts +71 -0
  69. package/dist/core/events.d.ts +228 -0
  70. package/dist/core/plan-executor.d.ts +101 -0
  71. package/dist/core/plan.d.ts +155 -0
  72. package/dist/core/workflow.d.ts +89 -0
  73. package/dist/index.d.ts +32 -0
  74. package/dist/panel/Panel.d.ts +53 -0
  75. package/dist/panel/PanelUI.d.ts +43 -0
  76. package/dist/panel/components/ArticleCard.d.ts +10 -0
  77. package/dist/panel/components/CategoryCard.d.ts +10 -0
  78. package/dist/panel/components/ChatInput.d.ts +36 -0
  79. package/dist/panel/components/Header.d.ts +16 -0
  80. package/dist/panel/components/SearchInput.d.ts +11 -0
  81. package/dist/panel/styles.d.ts +5 -0
  82. package/dist/panel/views/ArticleView.d.ts +21 -0
  83. package/dist/panel/views/CategoryView.d.ts +20 -0
  84. package/dist/panel/views/ChatView.d.ts +30 -0
  85. package/dist/panel/views/HomeView.d.ts +18 -0
  86. package/dist/panel/views/SearchView.d.ts +22 -0
  87. package/dist/pillar.esm.js +10338 -0
  88. package/dist/pillar.esm.js.map +1 -0
  89. package/dist/pillar.js +10362 -0
  90. package/dist/pillar.js.map +1 -0
  91. package/dist/pillar.min.js +2 -0
  92. package/dist/pillar.min.js.map +1 -0
  93. package/dist/store/chat.d.ts +85 -0
  94. package/dist/store/context.d.ts +46 -0
  95. package/dist/store/developer.d.ts +19 -0
  96. package/dist/store/index.d.ts +10 -0
  97. package/dist/store/panel.d.ts +43 -0
  98. package/dist/store/plan-persistence.d.ts +47 -0
  99. package/dist/store/plan.d.ts +45 -0
  100. package/dist/store/router.d.ts +18 -0
  101. package/dist/store/tooltips.d.ts +21 -0
  102. package/dist/store/workflow.d.ts +48 -0
  103. package/dist/tooltips/Tooltip.d.ts +63 -0
  104. package/dist/tooltips/TooltipManager.d.ts +42 -0
  105. package/dist/tooltips/styles.d.ts +5 -0
  106. package/dist/types/index.d.ts +4 -0
  107. package/dist/types/user-context.d.ts +29 -0
  108. package/dist/utils/dom.d.ts +46 -0
  109. package/dist/utils/markdown.d.ts +9 -0
  110. package/dist/utils/positioning.d.ts +52 -0
  111. package/dist/utils/urlParams.d.ts +27 -0
  112. package/package.json +86 -0
  113. package/src/actions/types.ts +468 -0
  114. package/src/cli/sync.ts +477 -0
package/README.md ADDED
@@ -0,0 +1,129 @@
1
+ # @pillar-ai/sdk
2
+
3
+ Pillar Embedded Help SDK - Add contextual help, tooltips, and AI chat to your application.
4
+
5
+ ## Installation
6
+
7
+ ```bash
8
+ npm install @pillar-ai/sdk
9
+ ```
10
+
11
+ ## Quick Start
12
+
13
+ ### Script Tag (CDN)
14
+
15
+ ```html
16
+ <script src="https://cdn.trypillar.com/sdk/pillar.min.js"></script>
17
+ <script>
18
+ Pillar.init({
19
+ helpCenter: 'your-help-center',
20
+ publicKey: 'pk_live_xxx',
21
+ });
22
+ </script>
23
+ ```
24
+
25
+ Or with auto-initialization via data attributes:
26
+
27
+ ```html
28
+ <script
29
+ src="https://cdn.trypillar.com/sdk/pillar.min.js"
30
+ data-help-center="your-help-center"
31
+ data-public-key="pk_live_xxx"
32
+ ></script>
33
+ ```
34
+
35
+ ### ES Modules
36
+
37
+ ```javascript
38
+ import { Pillar } from '@pillar-ai/sdk';
39
+
40
+ await Pillar.init({
41
+ helpCenter: 'your-help-center',
42
+ publicKey: 'pk_live_xxx',
43
+ });
44
+ ```
45
+
46
+ ## Configuration
47
+
48
+ ```javascript
49
+ Pillar.init({
50
+ // Required
51
+ helpCenter: 'your-help-center',
52
+ publicKey: 'pk_live_xxx',
53
+
54
+ // Optional configuration
55
+ config: {
56
+ // Panel configuration
57
+ panel: {
58
+ position: 'right', // 'left' | 'right'
59
+ mode: 'overlay', // 'overlay' | 'push'
60
+ },
61
+
62
+ // Floating button
63
+ floatingButton: {
64
+ enabled: true,
65
+ position: 'bottom-right',
66
+ },
67
+
68
+ // Tooltips
69
+ tooltips: {
70
+ enabled: true,
71
+ trigger: 'hover', // 'hover' | 'click'
72
+ },
73
+
74
+ // Theme
75
+ theme: {
76
+ mode: 'system', // 'light' | 'dark' | 'system'
77
+ colors: {
78
+ primary: '#6366f1',
79
+ },
80
+ },
81
+ },
82
+ });
83
+ ```
84
+
85
+ ## Features
86
+
87
+ - **AI Chat**: Embedded AI assistant that understands your product
88
+ - **Contextual Help**: Show relevant help based on user context
89
+ - **Tooltips**: Attach interactive tooltips to any element
90
+ - **Text Selection**: Allow users to ask questions about selected text
91
+ - **Customizable UI**: Full control over positioning, theming, and behavior
92
+
93
+ ## API Reference
94
+
95
+ ### Pillar.init(config)
96
+
97
+ Initialize the SDK with your configuration.
98
+
99
+ ### Pillar.open()
100
+
101
+ Open the help panel.
102
+
103
+ ### Pillar.close()
104
+
105
+ Close the help panel.
106
+
107
+ ### Pillar.toggle()
108
+
109
+ Toggle the help panel open/closed.
110
+
111
+ ### Pillar.setContext(context)
112
+
113
+ Update the user/product context.
114
+
115
+ ### Pillar.on(event, callback)
116
+
117
+ Subscribe to SDK events.
118
+
119
+ ## React Integration
120
+
121
+ For React applications, use the `@pillar-ai/react` package for a more idiomatic integration with hooks and components.
122
+
123
+ ```bash
124
+ npm install @pillar-ai/react
125
+ ```
126
+
127
+ ## License
128
+
129
+ MIT
@@ -0,0 +1,18 @@
1
+ export declare const analyticsActions: {
2
+ view_search_analytics: {
3
+ description: string;
4
+ type: "navigate";
5
+ path: string;
6
+ autoRun: true;
7
+ autoComplete: true;
8
+ handler: () => void;
9
+ };
10
+ view_ai_analytics: {
11
+ description: string;
12
+ type: "navigate";
13
+ path: string;
14
+ autoRun: true;
15
+ autoComplete: true;
16
+ handler: () => void;
17
+ };
18
+ };
@@ -0,0 +1,40 @@
1
+ export declare const contentActions: {
2
+ view_all_articles: {
3
+ description: string;
4
+ type: "navigate";
5
+ path: string;
6
+ autoRun: true;
7
+ autoComplete: true;
8
+ handler: () => void;
9
+ };
10
+ view_article: {
11
+ description: string;
12
+ type: "trigger_action";
13
+ autoRun: false;
14
+ autoComplete: false;
15
+ defaultData: {
16
+ action: string;
17
+ };
18
+ handler: () => void;
19
+ };
20
+ filter_stale: {
21
+ description: string;
22
+ type: "trigger_action";
23
+ autoRun: false;
24
+ autoComplete: false;
25
+ defaultData: {
26
+ action: string;
27
+ };
28
+ handler: () => void;
29
+ };
30
+ view_categories: {
31
+ description: string;
32
+ type: "trigger_action";
33
+ autoRun: false;
34
+ autoComplete: false;
35
+ defaultData: {
36
+ action: string;
37
+ };
38
+ handler: () => void;
39
+ };
40
+ };
@@ -0,0 +1,26 @@
1
+ /**
2
+ * Action Definitions Index
3
+ *
4
+ * Imports and registers all action definitions for the Pillar Admin app.
5
+ * These are code-first action definitions that get synced to the backend
6
+ * during CI/CD builds.
7
+ *
8
+ * To use in your app:
9
+ * 1. Import this file early in your app initialization
10
+ * 2. Or create your own action definitions using defineActions()
11
+ *
12
+ * The action metadata is extracted via `npm run extract-actions` and
13
+ * synced to the backend via `npm run sync-actions`.
14
+ */
15
+ import './navigation';
16
+ import './settings';
17
+ import './sources';
18
+ import './analytics';
19
+ import './team';
20
+ import './support';
21
+ export { navigationActions } from './navigation';
22
+ export { settingsActions } from './settings';
23
+ export { sourcesActions } from './sources';
24
+ export { analyticsActions } from './analytics';
25
+ export { teamActions } from './team';
26
+ export { supportActions } from './support';
@@ -0,0 +1,65 @@
1
+ export declare const navigationActions: {
2
+ open_knowledge: {
3
+ description: string;
4
+ examples: string[];
5
+ type: "navigate";
6
+ path: string;
7
+ autoRun: true;
8
+ autoComplete: true;
9
+ handler: () => void;
10
+ };
11
+ open_settings: {
12
+ description: string;
13
+ examples: string[];
14
+ type: "navigate";
15
+ path: string;
16
+ autoRun: true;
17
+ autoComplete: true;
18
+ handler: () => void;
19
+ };
20
+ open_actions: {
21
+ description: string;
22
+ examples: string[];
23
+ type: "navigate";
24
+ path: string;
25
+ autoRun: true;
26
+ autoComplete: true;
27
+ handler: () => void;
28
+ };
29
+ open_analytics: {
30
+ description: string;
31
+ examples: string[];
32
+ type: "navigate";
33
+ path: string;
34
+ autoRun: true;
35
+ autoComplete: true;
36
+ handler: () => void;
37
+ };
38
+ open_ai_tester: {
39
+ description: string;
40
+ examples: string[];
41
+ type: "navigate";
42
+ path: string;
43
+ autoRun: true;
44
+ autoComplete: true;
45
+ handler: () => void;
46
+ };
47
+ open_configure: {
48
+ description: string;
49
+ examples: string[];
50
+ type: "navigate";
51
+ path: string;
52
+ autoRun: true;
53
+ autoComplete: true;
54
+ handler: () => void;
55
+ };
56
+ create_new_action: {
57
+ description: string;
58
+ examples: string[];
59
+ type: "navigate";
60
+ path: string;
61
+ autoRun: true;
62
+ autoComplete: true;
63
+ handler: () => void;
64
+ };
65
+ };
@@ -0,0 +1,162 @@
1
+ export declare const settingsActions: {
2
+ open_branding_settings: {
3
+ description: string;
4
+ examples: string[];
5
+ type: "navigate";
6
+ path: string;
7
+ autoRun: true;
8
+ autoComplete: true;
9
+ handler: () => void;
10
+ };
11
+ open_layout_settings: {
12
+ description: string;
13
+ examples: string[];
14
+ type: "navigate";
15
+ path: string;
16
+ autoRun: true;
17
+ autoComplete: true;
18
+ handler: () => void;
19
+ };
20
+ open_header_settings: {
21
+ description: string;
22
+ examples: string[];
23
+ type: "navigate";
24
+ path: string;
25
+ autoRun: true;
26
+ autoComplete: true;
27
+ handler: () => void;
28
+ };
29
+ open_footer_settings: {
30
+ description: string;
31
+ examples: string[];
32
+ type: "navigate";
33
+ path: string;
34
+ autoRun: true;
35
+ autoComplete: true;
36
+ handler: () => void;
37
+ };
38
+ open_features_settings: {
39
+ description: string;
40
+ examples: string[];
41
+ type: "navigate";
42
+ path: string;
43
+ autoRun: true;
44
+ autoComplete: true;
45
+ handler: () => void;
46
+ };
47
+ open_ai_settings: {
48
+ description: string;
49
+ examples: string[];
50
+ type: "navigate";
51
+ path: string;
52
+ autoRun: true;
53
+ autoComplete: true;
54
+ handler: () => void;
55
+ };
56
+ open_seo_settings: {
57
+ description: string;
58
+ examples: string[];
59
+ type: "navigate";
60
+ path: string;
61
+ autoRun: true;
62
+ autoComplete: true;
63
+ handler: () => void;
64
+ };
65
+ enable_ai_assistant: {
66
+ description: string;
67
+ type: "trigger_action";
68
+ autoRun: false;
69
+ autoComplete: false;
70
+ defaultData: {
71
+ action: string;
72
+ target: string;
73
+ };
74
+ handler: () => void;
75
+ };
76
+ disable_ai_assistant: {
77
+ description: string;
78
+ type: "trigger_action";
79
+ autoRun: false;
80
+ autoComplete: false;
81
+ defaultData: {
82
+ action: string;
83
+ target: string;
84
+ };
85
+ handler: () => void;
86
+ };
87
+ enable_dark_mode: {
88
+ description: string;
89
+ examples: string[];
90
+ type: "trigger_action";
91
+ autoRun: true;
92
+ autoComplete: true;
93
+ defaultData: {
94
+ action: string;
95
+ theme: string;
96
+ };
97
+ handler: () => void;
98
+ };
99
+ disable_dark_mode: {
100
+ description: string;
101
+ examples: string[];
102
+ type: "trigger_action";
103
+ autoRun: true;
104
+ autoComplete: true;
105
+ defaultData: {
106
+ action: string;
107
+ theme: string;
108
+ };
109
+ handler: () => void;
110
+ };
111
+ toggle_dark_mode: {
112
+ description: string;
113
+ examples: string[];
114
+ type: "trigger_action";
115
+ autoRun: true;
116
+ autoComplete: true;
117
+ defaultData: {
118
+ action: string;
119
+ };
120
+ handler: () => void;
121
+ };
122
+ change_theme: {
123
+ description: string;
124
+ type: "trigger_action";
125
+ autoRun: true;
126
+ autoComplete: true;
127
+ defaultData: {
128
+ action: string;
129
+ };
130
+ handler: () => void;
131
+ };
132
+ update_logo: {
133
+ description: string;
134
+ type: "trigger_action";
135
+ autoRun: true;
136
+ autoComplete: true;
137
+ defaultData: {
138
+ action: string;
139
+ };
140
+ handler: () => void;
141
+ };
142
+ add_footer_link: {
143
+ description: string;
144
+ type: "trigger_action";
145
+ autoRun: true;
146
+ autoComplete: true;
147
+ defaultData: {
148
+ action: string;
149
+ };
150
+ handler: () => void;
151
+ };
152
+ configure_suggested_questions: {
153
+ description: string;
154
+ type: "trigger_action";
155
+ autoRun: true;
156
+ autoComplete: true;
157
+ defaultData: {
158
+ action: string;
159
+ };
160
+ handler: () => void;
161
+ };
162
+ };
@@ -0,0 +1,44 @@
1
+ export declare const sourcesActions: {
2
+ add_new_source: {
3
+ description: string;
4
+ examples: string[];
5
+ type: "navigate";
6
+ path: string;
7
+ autoRun: true;
8
+ autoComplete: true;
9
+ dataSchema: {
10
+ type: "object";
11
+ properties: {
12
+ type: {
13
+ type: "string";
14
+ description: string;
15
+ };
16
+ url: {
17
+ type: "string";
18
+ description: string;
19
+ };
20
+ name: {
21
+ type: "string";
22
+ description: string;
23
+ };
24
+ };
25
+ };
26
+ handler: () => void;
27
+ };
28
+ crawl_website: {
29
+ description: string;
30
+ type: "navigate";
31
+ path: string;
32
+ autoRun: true;
33
+ autoComplete: true;
34
+ handler: () => void;
35
+ };
36
+ connect_cloud_storage: {
37
+ description: string;
38
+ type: "navigate";
39
+ path: string;
40
+ autoRun: true;
41
+ autoComplete: true;
42
+ handler: () => void;
43
+ };
44
+ };
@@ -0,0 +1,15 @@
1
+ export declare const supportActions: {
2
+ escalate: {
3
+ description: string;
4
+ examples: string[];
5
+ type: "external_link";
6
+ externalUrl: string;
7
+ handler: () => void;
8
+ };
9
+ defer: {
10
+ description: string;
11
+ examples: string[];
12
+ type: "trigger_action";
13
+ handler: () => void;
14
+ };
15
+ };
@@ -0,0 +1,120 @@
1
+ export declare const teamActions: {
2
+ open_team_settings: {
3
+ description: string;
4
+ type: "navigate";
5
+ path: string;
6
+ autoRun: true;
7
+ autoComplete: true;
8
+ handler: () => void;
9
+ };
10
+ invite_team_member: {
11
+ description: string;
12
+ type: "inline_ui";
13
+ autoRun: false;
14
+ autoComplete: false;
15
+ defaultData: {
16
+ card_type: string;
17
+ emails: never[];
18
+ role: string;
19
+ };
20
+ dataSchema: {
21
+ type: "object";
22
+ properties: {
23
+ emails: {
24
+ type: "array";
25
+ description: string;
26
+ };
27
+ role: {
28
+ type: "string";
29
+ description: string;
30
+ enum: string[];
31
+ };
32
+ };
33
+ required: string[];
34
+ };
35
+ requiredContext: {
36
+ userRole: string;
37
+ };
38
+ handler: () => void;
39
+ };
40
+ view_pending_invitations: {
41
+ description: string;
42
+ type: "trigger_action";
43
+ autoRun: true;
44
+ autoComplete: true;
45
+ defaultData: {
46
+ action: string;
47
+ };
48
+ requiredContext: {
49
+ userRole: string;
50
+ };
51
+ handler: () => void;
52
+ };
53
+ resend_invitation: {
54
+ description: string;
55
+ type: "trigger_action";
56
+ autoRun: false;
57
+ autoComplete: false;
58
+ defaultData: {
59
+ action: string;
60
+ };
61
+ requiredContext: {
62
+ userRole: string;
63
+ };
64
+ handler: () => void;
65
+ };
66
+ cancel_invitation: {
67
+ description: string;
68
+ type: "trigger_action";
69
+ autoRun: false;
70
+ autoComplete: false;
71
+ defaultData: {
72
+ action: string;
73
+ };
74
+ requiredContext: {
75
+ userRole: string;
76
+ };
77
+ handler: () => void;
78
+ };
79
+ remove_team_member: {
80
+ description: string;
81
+ type: "trigger_action";
82
+ autoRun: false;
83
+ autoComplete: false;
84
+ defaultData: {
85
+ action: string;
86
+ };
87
+ requiredContext: {
88
+ userRole: string;
89
+ };
90
+ handler: () => void;
91
+ };
92
+ promote_to_admin: {
93
+ description: string;
94
+ type: "trigger_action";
95
+ autoRun: false;
96
+ autoComplete: false;
97
+ defaultData: {
98
+ action: string;
99
+ role: string;
100
+ };
101
+ requiredContext: {
102
+ userRole: string;
103
+ };
104
+ handler: () => void;
105
+ };
106
+ demote_to_member: {
107
+ description: string;
108
+ type: "trigger_action";
109
+ autoRun: false;
110
+ autoComplete: false;
111
+ defaultData: {
112
+ action: string;
113
+ role: string;
114
+ };
115
+ requiredContext: {
116
+ userRole: string;
117
+ };
118
+ handler: () => void;
119
+ };
120
+ };
@@ -0,0 +1,33 @@
1
+ /**
2
+ * Actions Module - Code-first action definitions for Pillar SDK.
3
+ *
4
+ * This module enables developers to define actions in their application code
5
+ * rather than in the admin UI. Action metadata is synced to the server during
6
+ * CI/CD builds via the `pillar-sync` CLI.
7
+ *
8
+ * @example
9
+ * ```ts
10
+ * // 1. Define actions in your app (e.g., lib/pillar/actions.ts)
11
+ * import type { SyncActionDefinitions } from '@pillar-ai/sdk';
12
+ *
13
+ * export const actions: SyncActionDefinitions = {
14
+ * open_settings: {
15
+ * description: 'Navigate to settings page',
16
+ * type: 'navigate',
17
+ * path: '/settings',
18
+ * autoRun: true,
19
+ * },
20
+ * };
21
+ *
22
+ * // 2. Sync actions via CI/CD
23
+ * // npx pillar-sync --actions ./lib/pillar/actions.ts
24
+ *
25
+ * // 3. Register handlers at runtime
26
+ * pillar.onTask('open_settings', () => router.push('/settings'));
27
+ * pillar.onTask('navigate', ({ path }) => router.push(path));
28
+ * ```
29
+ *
30
+ * @module actions
31
+ */
32
+ export type { ActionType, ActionDataSchema, ActionDefinition, ActionDefinitions, ActionManifest, ActionManifestEntry, ClientInfo, Platform, SyncActionDefinition, SyncActionDefinitions, ActionTypeDataMap, NavigateActionData, TriggerActionData, InlineUIData, ExternalLinkData, CopyTextData, ActionDataType, ActionNames, TypedTaskHandler, TypedOnTask, TypedPillarMethods, } from './types';
33
+ export { defineActions, setClientInfo, getClientInfo, getHandler, getActionDefinition, hasAction, getActionNames, getManifest, clearRegistry, getActionCount, } from './registry';