doe-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 (127) hide show
  1. package/README.md +509 -0
  2. package/dist/cli/index.d.ts +17 -0
  3. package/dist/cli/index.d.ts.map +1 -0
  4. package/dist/cli/index.js +118 -0
  5. package/dist/cli/index.js.map +1 -0
  6. package/dist/cli/init.d.ts +25 -0
  7. package/dist/cli/init.d.ts.map +1 -0
  8. package/dist/cli/init.js +100 -0
  9. package/dist/cli/init.js.map +1 -0
  10. package/dist/cli/login.d.ts +52 -0
  11. package/dist/cli/login.d.ts.map +1 -0
  12. package/dist/cli/login.js +571 -0
  13. package/dist/cli/login.js.map +1 -0
  14. package/dist/cli/publish.d.ts +27 -0
  15. package/dist/cli/publish.d.ts.map +1 -0
  16. package/dist/cli/publish.js +531 -0
  17. package/dist/cli/publish.js.map +1 -0
  18. package/dist/cli/scaffold.d.ts +18 -0
  19. package/dist/cli/scaffold.d.ts.map +1 -0
  20. package/dist/cli/scaffold.js +252 -0
  21. package/dist/cli/scaffold.js.map +1 -0
  22. package/dist/cli/ui.d.ts +57 -0
  23. package/dist/cli/ui.d.ts.map +1 -0
  24. package/dist/cli/ui.js +339 -0
  25. package/dist/cli/ui.js.map +1 -0
  26. package/dist/cli/validate.d.ts +28 -0
  27. package/dist/cli/validate.d.ts.map +1 -0
  28. package/dist/cli/validate.js +1270 -0
  29. package/dist/cli/validate.js.map +1 -0
  30. package/dist/compat/legacy-adapter.d.ts +198 -0
  31. package/dist/compat/legacy-adapter.d.ts.map +1 -0
  32. package/dist/compat/legacy-adapter.js +318 -0
  33. package/dist/compat/legacy-adapter.js.map +1 -0
  34. package/dist/index.d.ts +14 -0
  35. package/dist/index.d.ts.map +1 -0
  36. package/dist/index.js +16 -0
  37. package/dist/index.js.map +1 -0
  38. package/dist/runtime/client.d.ts +370 -0
  39. package/dist/runtime/client.d.ts.map +1 -0
  40. package/dist/runtime/client.js +470 -0
  41. package/dist/runtime/client.js.map +1 -0
  42. package/dist/runtime/index.d.ts +8 -0
  43. package/dist/runtime/index.d.ts.map +1 -0
  44. package/dist/runtime/index.js +7 -0
  45. package/dist/runtime/index.js.map +1 -0
  46. package/dist/types/api.d.ts +564 -0
  47. package/dist/types/api.d.ts.map +1 -0
  48. package/dist/types/api.js +11 -0
  49. package/dist/types/api.js.map +1 -0
  50. package/dist/types/index.d.ts +12 -0
  51. package/dist/types/index.d.ts.map +1 -0
  52. package/dist/types/index.js +10 -0
  53. package/dist/types/index.js.map +1 -0
  54. package/dist/types/manifest.d.ts +412 -0
  55. package/dist/types/manifest.d.ts.map +1 -0
  56. package/dist/types/manifest.js +42 -0
  57. package/dist/types/manifest.js.map +1 -0
  58. package/dist/types/marketplace-categories.d.ts +9 -0
  59. package/dist/types/marketplace-categories.d.ts.map +1 -0
  60. package/dist/types/marketplace-categories.js +16 -0
  61. package/dist/types/marketplace-categories.js.map +1 -0
  62. package/dist/types/permissions.d.ts +86 -0
  63. package/dist/types/permissions.d.ts.map +1 -0
  64. package/dist/types/permissions.js +295 -0
  65. package/dist/types/permissions.js.map +1 -0
  66. package/dist/types/theme/index.d.ts +7 -0
  67. package/dist/types/theme/index.d.ts.map +1 -0
  68. package/dist/types/theme/index.js +7 -0
  69. package/dist/types/theme/index.js.map +1 -0
  70. package/dist/types/theme/schema.d.ts +1205 -0
  71. package/dist/types/theme/schema.d.ts.map +1 -0
  72. package/dist/types/theme/schema.js +325 -0
  73. package/dist/types/theme/schema.js.map +1 -0
  74. package/dist/types/theme/types.d.ts +648 -0
  75. package/dist/types/theme/types.d.ts.map +1 -0
  76. package/dist/types/theme/types.js +8 -0
  77. package/dist/types/theme/types.js.map +1 -0
  78. package/package.json +75 -0
  79. package/templates/extension/README.md +254 -0
  80. package/templates/extension/icon.png +0 -0
  81. package/templates/extension/index.html +42 -0
  82. package/templates/extension/manifest.json +57 -0
  83. package/templates/extension/package.json +24 -0
  84. package/templates/extension/src/App.tsx +252 -0
  85. package/templates/extension/src/components/OnboardingComplete.tsx +190 -0
  86. package/templates/extension/src/components/OnboardingProgress.tsx +82 -0
  87. package/templates/extension/src/components/OnboardingWelcome.tsx +166 -0
  88. package/templates/extension/src/components/StepContainer.tsx +217 -0
  89. package/templates/extension/src/components/playground/CanvasTab.tsx +24 -0
  90. package/templates/extension/src/components/playground/ConfigTab.tsx +24 -0
  91. package/templates/extension/src/components/playground/EventsTab.tsx +24 -0
  92. package/templates/extension/src/components/playground/InfoTab.tsx +89 -0
  93. package/templates/extension/src/components/playground/NetworkTab.tsx +24 -0
  94. package/templates/extension/src/components/playground/PlaygroundContainer.tsx +184 -0
  95. package/templates/extension/src/components/playground/ResultDisplay.tsx +30 -0
  96. package/templates/extension/src/components/playground/StorageTab.tsx +24 -0
  97. package/templates/extension/src/components/playground/UITab.tsx +24 -0
  98. package/templates/extension/src/components/shared/CanvasControls.tsx +130 -0
  99. package/templates/extension/src/components/shared/ConfigControls.tsx +154 -0
  100. package/templates/extension/src/components/shared/EventsControls.tsx +232 -0
  101. package/templates/extension/src/components/shared/InfoControls.tsx +281 -0
  102. package/templates/extension/src/components/shared/NetworkControls.tsx +328 -0
  103. package/templates/extension/src/components/shared/StorageControls.tsx +203 -0
  104. package/templates/extension/src/components/shared/UIControls.tsx +199 -0
  105. package/templates/extension/src/components/shared/index.ts +15 -0
  106. package/templates/extension/src/components/steps/CanvasStep.tsx +67 -0
  107. package/templates/extension/src/components/steps/ClipboardStep.tsx +167 -0
  108. package/templates/extension/src/components/steps/ConfigStep.tsx +63 -0
  109. package/templates/extension/src/components/steps/EventsStep.tsx +69 -0
  110. package/templates/extension/src/components/steps/InfoStep.tsx +70 -0
  111. package/templates/extension/src/components/steps/NetworkStep.tsx +70 -0
  112. package/templates/extension/src/components/steps/StorageStep.tsx +61 -0
  113. package/templates/extension/src/components/steps/UIStep.tsx +70 -0
  114. package/templates/extension/src/hooks/useDoe.ts +93 -0
  115. package/templates/extension/src/hooks/useOnboarding.ts +264 -0
  116. package/templates/extension/src/hooks/usePointerHandlers.ts +105 -0
  117. package/templates/extension/src/main.tsx +18 -0
  118. package/templates/extension/src/styles.ts +265 -0
  119. package/templates/extension/tsconfig.json +28 -0
  120. package/templates/extension/vite.config.ts +32 -0
  121. package/templates/theme/README.md +132 -0
  122. package/templates/theme/manifest.json +19 -0
  123. package/templates/theme/package.json +16 -0
  124. package/templates/theme/styles/.gitkeep +2 -0
  125. package/templates/theme/themes/theme.json +32 -0
  126. package/templates/theme/vite-plugin-doe-theme.ts +53 -0
  127. package/templates/theme/vite.config.ts +10 -0
@@ -0,0 +1,295 @@
1
+ /**
2
+ * Canonical Permission Registry
3
+ * Feature: 003-extension-platform
4
+ *
5
+ * SINGLE SOURCE OF TRUTH for all extension permissions.
6
+ * This file is imported by both SDK types and runtime enforcement.
7
+ *
8
+ * Rules:
9
+ * 1. All permission names use format: scope:capability or scope:capability:modifier
10
+ * 2. No aliases - each capability has exactly one canonical name
11
+ * 3. Deprecated permissions map to their replacement
12
+ * 4. New permissions are added to the PERMISSIONS record
13
+ */
14
+ // =============================================================================
15
+ // Permission Registry
16
+ // =============================================================================
17
+ export const PERMISSIONS = {
18
+ // Canvas
19
+ "canvas:read": {
20
+ id: "canvas:read",
21
+ name: "Read Canvas",
22
+ description: "Read shapes created by this extension",
23
+ sensitive: false,
24
+ },
25
+ "canvas:write": {
26
+ id: "canvas:write",
27
+ name: "Write Canvas",
28
+ description: "Create, update, and delete shapes on the canvas",
29
+ sensitive: false,
30
+ },
31
+ "canvas:read:all": {
32
+ id: "canvas:read:all",
33
+ name: "Read All Canvas Data",
34
+ description: "Read all shapes on the canvas, including those created by other extensions",
35
+ sensitive: true,
36
+ warning: "This extension will be able to see all content on your canvas.",
37
+ },
38
+ // Storage
39
+ "storage:read": {
40
+ id: "storage:read",
41
+ name: "Read Storage",
42
+ description: "Read this extension's stored data",
43
+ sensitive: false,
44
+ },
45
+ "storage:write": {
46
+ id: "storage:write",
47
+ name: "Write Storage",
48
+ description: "Save data to this extension's storage",
49
+ sensitive: false,
50
+ },
51
+ // Clipboard
52
+ "clipboard:read": {
53
+ id: "clipboard:read",
54
+ name: "Read Clipboard",
55
+ description: "Read content from your clipboard",
56
+ sensitive: true,
57
+ warning: "This extension can read whatever you copy to your clipboard.",
58
+ },
59
+ "clipboard:write": {
60
+ id: "clipboard:write",
61
+ name: "Write Clipboard",
62
+ description: "Copy content to your clipboard",
63
+ sensitive: false,
64
+ },
65
+ // Network
66
+ "network:fetch": {
67
+ id: "network:fetch",
68
+ name: "Network Access",
69
+ description: "Make HTTP requests to allowed domains",
70
+ sensitive: true,
71
+ warning: "This extension can send and receive data from external servers.",
72
+ },
73
+ // UI
74
+ "ui:show-panel": {
75
+ id: "ui:show-panel",
76
+ name: "Show Panel",
77
+ description: "Display extension UI panels",
78
+ sensitive: false,
79
+ },
80
+ // Config
81
+ "config:read": {
82
+ id: "config:read",
83
+ name: "Read Configuration",
84
+ description: "Read this extension's settings",
85
+ sensitive: false,
86
+ },
87
+ "config:write": {
88
+ id: "config:write",
89
+ name: "Write Configuration",
90
+ description: "Modify this extension's settings",
91
+ sensitive: false,
92
+ },
93
+ // Profile
94
+ "profile:read-basic": {
95
+ id: "profile:read-basic",
96
+ name: "Basic Profile",
97
+ description: "Read your display name and avatar",
98
+ sensitive: false,
99
+ },
100
+ // Workspace
101
+ "workspace:read-basic": {
102
+ id: "workspace:read-basic",
103
+ name: "Workspace Info",
104
+ description: "Read workspace name and ID",
105
+ sensitive: false,
106
+ },
107
+ "theme:read": {
108
+ id: "theme:read",
109
+ name: "Read Theme",
110
+ description: "Read active theme and theme tokens",
111
+ sensitive: false,
112
+ },
113
+ "theme:write": {
114
+ id: "theme:write",
115
+ name: "Modify Theme Styles",
116
+ description: "Inject and remove extension-provided styles",
117
+ sensitive: false,
118
+ },
119
+ };
120
+ // =============================================================================
121
+ // API Method to Permission Mapping
122
+ // =============================================================================
123
+ /**
124
+ * Maps API methods to required permissions
125
+ */
126
+ export const API_PERMISSION_MAP = {
127
+ // Canvas API
128
+ "canvas.getShapes": ["canvas:read"],
129
+ "canvas.getShape": ["canvas:read"],
130
+ "canvas.getSelectedShapes": ["canvas:read"],
131
+ "canvas.getViewport": ["canvas:read"],
132
+ "canvas.getCanvasInfo": ["canvas:read"],
133
+ "canvas.createShape": ["canvas:write"],
134
+ "canvas.updateShape": ["canvas:write"],
135
+ "canvas.deleteShape": ["canvas:write"],
136
+ "canvas.selectShapes": ["canvas:write"],
137
+ "canvas.panTo": ["canvas:write"],
138
+ "canvas.zoomTo": ["canvas:write"],
139
+ // Storage API
140
+ "storage.get": ["storage:read"],
141
+ "storage.set": ["storage:write"],
142
+ "storage.delete": ["storage:write"],
143
+ "storage.keys": ["storage:read"],
144
+ "storage.clear": ["storage:write"],
145
+ // Clipboard API
146
+ "clipboard.readText": ["clipboard:read"],
147
+ "clipboard.writeText": ["clipboard:write"],
148
+ "clipboard.hasContent": ["clipboard:read"],
149
+ // Network API
150
+ "network.fetch": ["network:fetch"],
151
+ // UI API
152
+ "ui.showPanel": ["ui:show-panel"],
153
+ "ui.hidePanel": ["ui:show-panel"],
154
+ "ui.showModal": ["ui:show-panel"],
155
+ "ui.hideModal": ["ui:show-panel"],
156
+ "ui.showToast": ["ui:show-panel"],
157
+ "ui.confirm": ["ui:show-panel"],
158
+ "ui.getTheme": [], // No permission required
159
+ // Config API
160
+ "config.getConfig": ["config:read"],
161
+ "config.get": ["config:read"],
162
+ "config.set": ["config:write"],
163
+ "config.openSettings": ["config:read"],
164
+ // Workspace API
165
+ "workspace.getInfo": ["workspace:read-basic"],
166
+ "workspace.getCurrentUser": ["profile:read-basic"],
167
+ // Events API (no permissions required for basic events)
168
+ "events.subscribe": [],
169
+ "events.unsubscribe": [],
170
+ "events.getSubscriptions": [],
171
+ "events.getSupportedEvents": [],
172
+ // Convenience methods (also no permissions required except config events)
173
+ "events.onSelectionChange": [],
174
+ "events.onCanvasChange": [],
175
+ "events.onThemeChange": [],
176
+ "events.onConfigChange": ["config:read"],
177
+ // Theme API
178
+ "theme.getActiveThemeId": ["theme:read"],
179
+ "theme.getThemeType": ["theme:read"],
180
+ "theme.getToken": ["theme:read"],
181
+ "theme.getTokens": ["theme:read"],
182
+ "theme.getAllTokens": ["theme:read"],
183
+ "theme.getCSSVariable": ["theme:read"],
184
+ "theme.getMeta": ["theme:read"],
185
+ "theme.list": ["theme:read"],
186
+ "theme.subscribe": ["theme:read"],
187
+ "theme.unsubscribe": ["theme:read"],
188
+ "theme.injectStyles": ["theme:write"],
189
+ "theme.removeStyles": ["theme:write"],
190
+ "theme.removeAllStyles": ["theme:write"],
191
+ };
192
+ // =============================================================================
193
+ // Deprecated Permission Support
194
+ // =============================================================================
195
+ /**
196
+ * Map of deprecated permission names to their canonical replacements.
197
+ * Currently empty as all permissions use canonical names.
198
+ * Add entries here when renaming permissions to maintain backwards compatibility.
199
+ *
200
+ * @example
201
+ * // If we renamed "canvas:read" to "canvas:view":
202
+ * DEPRECATED_PERMISSIONS = { "canvas:read": "canvas:view" }
203
+ */
204
+ export const DEPRECATED_PERMISSIONS = {
205
+ // No deprecated permissions currently
206
+ };
207
+ /**
208
+ * Deprecation messages for deprecated permissions.
209
+ * Provides user-friendly migration guidance.
210
+ */
211
+ export const DEPRECATION_MESSAGES = {
212
+ // No deprecated permissions currently
213
+ };
214
+ /**
215
+ * Check if a permission is deprecated
216
+ */
217
+ export function isDeprecatedPermission(perm) {
218
+ return perm in DEPRECATED_PERMISSIONS;
219
+ }
220
+ /**
221
+ * Get the canonical permission name for a potentially deprecated permission.
222
+ * Returns the input unchanged if not deprecated.
223
+ */
224
+ export function getCanonicalPermission(perm) {
225
+ if (perm in DEPRECATED_PERMISSIONS) {
226
+ return DEPRECATED_PERMISSIONS[perm];
227
+ }
228
+ return perm;
229
+ }
230
+ // =============================================================================
231
+ // Validation Helpers
232
+ // =============================================================================
233
+ /**
234
+ * Check if a permission is valid
235
+ */
236
+ export function isValidPermission(perm) {
237
+ return perm in PERMISSIONS;
238
+ }
239
+ export function validatePermissions(permissions, options) {
240
+ const errors = [];
241
+ const warnings = [];
242
+ const validPermissions = [];
243
+ // Note: strict mode reserved for future use (e.g., treating warnings as errors)
244
+ void options?.strict;
245
+ for (const perm of permissions) {
246
+ // Check for unknown permissions
247
+ if (!isValidPermission(perm)) {
248
+ errors.push(`Unknown permission: '${perm}'`);
249
+ continue;
250
+ }
251
+ // Check for sensitive permissions and add as warning
252
+ const permDef = PERMISSIONS[perm];
253
+ if (permDef.sensitive && permDef.warning) {
254
+ warnings.push(`Sensitive permission '${perm}': ${permDef.warning}`);
255
+ }
256
+ validPermissions.push(perm);
257
+ }
258
+ return {
259
+ valid: errors.length === 0,
260
+ errors,
261
+ warnings,
262
+ permissions: validPermissions,
263
+ canonicalPermissions: validPermissions, // Alias for runtime compatibility
264
+ };
265
+ }
266
+ /**
267
+ * Check if any permissions in the list are sensitive
268
+ */
269
+ export function hasSensitivePermissions(permissionIds) {
270
+ return permissionIds.some((id) => {
271
+ if (!isValidPermission(id))
272
+ return false;
273
+ return PERMISSIONS[id]?.sensitive ?? false;
274
+ });
275
+ }
276
+ /**
277
+ * Group permissions by scope for display
278
+ */
279
+ export function groupPermissionsByScope(permissionIds) {
280
+ const grouped = {};
281
+ for (const id of permissionIds) {
282
+ if (!isValidPermission(id))
283
+ continue;
284
+ const permission = PERMISSIONS[id];
285
+ if (!permission)
286
+ continue;
287
+ const scope = id.split(":")[0] ?? "unknown";
288
+ if (!grouped[scope]) {
289
+ grouped[scope] = [];
290
+ }
291
+ grouped[scope].push(permission);
292
+ }
293
+ return grouped;
294
+ }
295
+ //# sourceMappingURL=permissions.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"permissions.js","sourceRoot":"","sources":["../../src/types/permissions.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,7 @@
1
+ /**
2
+ * Theme types and schemas for extension-sdk
3
+ * Copied from @doe/types for standalone SDK usage
4
+ */
5
+ export * from "./types.js";
6
+ export * from "./schema.js";
7
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/types/theme/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,cAAc,YAAY,CAAC;AAC3B,cAAc,aAAa,CAAC"}
@@ -0,0 +1,7 @@
1
+ /**
2
+ * Theme types and schemas for extension-sdk
3
+ * Copied from @doe/types for standalone SDK usage
4
+ */
5
+ export * from "./types.js";
6
+ export * from "./schema.js";
7
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/types/theme/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,cAAc,YAAY,CAAC;AAC3B,cAAc,aAAa,CAAC"}