asyar-sdk 1.16.2 → 2.0.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 (281) hide show
  1. package/README.md +95 -42
  2. package/dist/ExtensionBridge.d.ts +1 -1
  3. package/dist/ExtensionBridge.d.ts.map +1 -1
  4. package/dist/ExtensionBridge.js +17 -13
  5. package/dist/ExtensionBridge.js.map +1 -1
  6. package/dist/ExtensionBridge.test.js +76 -101
  7. package/dist/ExtensionBridge.test.js.map +1 -1
  8. package/dist/ExtensionContext.d.ts +22 -57
  9. package/dist/ExtensionContext.d.ts.map +1 -1
  10. package/dist/ExtensionContext.js +84 -207
  11. package/dist/ExtensionContext.js.map +1 -1
  12. package/dist/ExtensionContext.test.js +91 -66
  13. package/dist/ExtensionContext.test.js.map +1 -1
  14. package/dist/ExtensionContextCore.d.ts +46 -0
  15. package/dist/ExtensionContextCore.d.ts.map +1 -0
  16. package/dist/ExtensionContextCore.js +149 -0
  17. package/dist/ExtensionContextCore.js.map +1 -0
  18. package/dist/PreferencesFacade.js +4 -9
  19. package/dist/PreferencesFacade.js.map +1 -1
  20. package/dist/PreferencesFacade.test.js +53 -55
  21. package/dist/PreferencesFacade.test.js.map +1 -1
  22. package/dist/cli/commands/attach.js +1 -1
  23. package/dist/cli/commands/attach.js.map +1 -1
  24. package/dist/cli/commands/build.d.ts +5 -1
  25. package/dist/cli/commands/build.d.ts.map +1 -1
  26. package/dist/cli/commands/build.js +43 -5
  27. package/dist/cli/commands/build.js.map +1 -1
  28. package/dist/cli/lib/manifest.d.ts +17 -5
  29. package/dist/cli/lib/manifest.d.ts.map +1 -1
  30. package/dist/cli/lib/manifest.js +125 -66
  31. package/dist/cli/lib/manifest.js.map +1 -1
  32. package/dist/{index.d.ts → contracts.d.ts} +23 -1
  33. package/dist/contracts.d.ts.map +1 -0
  34. package/dist/contracts.js +36 -0
  35. package/dist/contracts.js.map +1 -0
  36. package/dist/contracts.purity.test.d.ts +2 -0
  37. package/dist/contracts.purity.test.d.ts.map +1 -0
  38. package/dist/contracts.purity.test.js +42 -0
  39. package/dist/contracts.purity.test.js.map +1 -0
  40. package/dist/icons/AsyarIconElement.js +4 -9
  41. package/dist/icons/AsyarIconElement.js.map +1 -1
  42. package/dist/icons/AsyarIconElement.test.js +14 -16
  43. package/dist/icons/AsyarIconElement.test.js.map +1 -1
  44. package/dist/icons/IconRenderer.js +9 -15
  45. package/dist/icons/IconRenderer.js.map +1 -1
  46. package/dist/icons/IconRenderer.test.js +63 -65
  47. package/dist/icons/IconRenderer.test.js.map +1 -1
  48. package/dist/icons/iconData.js +2 -5
  49. package/dist/icons/iconData.js.map +1 -1
  50. package/dist/icons/index.js +3 -14
  51. package/dist/icons/index.js.map +1 -1
  52. package/dist/ipc/MessageBroker.d.ts.map +1 -1
  53. package/dist/ipc/MessageBroker.js +33 -6
  54. package/dist/ipc/MessageBroker.js.map +1 -1
  55. package/dist/ipc/MessageBroker.test.js +26 -28
  56. package/dist/ipc/MessageBroker.test.js.map +1 -1
  57. package/dist/ipc/devInspectorBridge.d.ts +57 -0
  58. package/dist/ipc/devInspectorBridge.d.ts.map +1 -0
  59. package/dist/ipc/devInspectorBridge.js +70 -0
  60. package/dist/ipc/devInspectorBridge.js.map +1 -0
  61. package/dist/ipc/devInspectorBridge.test.d.ts +2 -0
  62. package/dist/ipc/devInspectorBridge.test.d.ts.map +1 -0
  63. package/dist/ipc/devInspectorBridge.test.js +128 -0
  64. package/dist/ipc/devInspectorBridge.test.js.map +1 -0
  65. package/dist/ipc/namespaces.d.ts +1 -1
  66. package/dist/ipc/namespaces.d.ts.map +1 -1
  67. package/dist/ipc/namespaces.js +4 -7
  68. package/dist/ipc/namespaces.js.map +1 -1
  69. package/dist/ipc/namespaces.test.js +11 -13
  70. package/dist/ipc/namespaces.test.js.map +1 -1
  71. package/dist/lib/focusTracker.js +1 -4
  72. package/dist/lib/focusTracker.js.map +1 -1
  73. package/dist/lib/focusTracker.test.js +32 -57
  74. package/dist/lib/focusTracker.test.js.map +1 -1
  75. package/dist/lib/syncProviderBridge.js +1 -4
  76. package/dist/lib/syncProviderBridge.js.map +1 -1
  77. package/dist/lib/syncProviderBridge.test.js +60 -85
  78. package/dist/lib/syncProviderBridge.test.js.map +1 -1
  79. package/dist/lib/themeInjector.js +3 -8
  80. package/dist/lib/themeInjector.js.map +1 -1
  81. package/dist/lib/themeInjector.test.js +42 -44
  82. package/dist/lib/themeInjector.test.js.map +1 -1
  83. package/dist/search/SearchEngine.js +3 -10
  84. package/dist/search/SearchEngine.js.map +1 -1
  85. package/dist/search/SearchEngine.test.js +53 -55
  86. package/dist/search/SearchEngine.test.js.map +1 -1
  87. package/dist/search/index.js +2 -8
  88. package/dist/search/index.js.map +1 -1
  89. package/dist/search/textUtils.js +2 -6
  90. package/dist/search/textUtils.js.map +1 -1
  91. package/dist/search/textUtils.test.js +73 -75
  92. package/dist/search/textUtils.test.js.map +1 -1
  93. package/dist/search/types.js +1 -2
  94. package/dist/services/AIServiceProxy.js +2 -6
  95. package/dist/services/AIServiceProxy.js.map +1 -1
  96. package/dist/services/AIServiceProxy.test.js +69 -71
  97. package/dist/services/AIServiceProxy.test.js.map +1 -1
  98. package/dist/services/ActionServiceProxy.d.ts.map +1 -1
  99. package/dist/services/ActionServiceProxy.js +14 -13
  100. package/dist/services/ActionServiceProxy.js.map +1 -1
  101. package/dist/services/ActionServiceProxy.test.js +28 -23
  102. package/dist/services/ActionServiceProxy.test.js.map +1 -1
  103. package/dist/services/ApplicationService.js +2 -6
  104. package/dist/services/ApplicationService.js.map +1 -1
  105. package/dist/services/ApplicationService.test.js +108 -110
  106. package/dist/services/ApplicationService.test.js.map +1 -1
  107. package/dist/services/BaseServiceProxy.js +3 -7
  108. package/dist/services/BaseServiceProxy.js.map +1 -1
  109. package/dist/services/CacheServiceProxy.js +2 -6
  110. package/dist/services/CacheServiceProxy.js.map +1 -1
  111. package/dist/services/CacheServiceProxy.test.js +21 -23
  112. package/dist/services/CacheServiceProxy.test.js.map +1 -1
  113. package/dist/services/ClipboardHistoryServiceProxy.js +6 -10
  114. package/dist/services/ClipboardHistoryServiceProxy.js.map +1 -1
  115. package/dist/services/ClipboardHistoryServiceProxy.test.js +106 -108
  116. package/dist/services/ClipboardHistoryServiceProxy.test.js.map +1 -1
  117. package/dist/services/CommandServiceProxy.js +7 -11
  118. package/dist/services/CommandServiceProxy.js.map +1 -1
  119. package/dist/services/CommandServiceProxy.test.js +37 -39
  120. package/dist/services/CommandServiceProxy.test.js.map +1 -1
  121. package/dist/services/EntitlementServiceProxy.js +2 -6
  122. package/dist/services/EntitlementServiceProxy.js.map +1 -1
  123. package/dist/services/EntitlementServiceProxy.test.js +16 -18
  124. package/dist/services/EntitlementServiceProxy.test.js.map +1 -1
  125. package/dist/services/ExtensionManagerProxy.js +2 -6
  126. package/dist/services/ExtensionManagerProxy.js.map +1 -1
  127. package/dist/services/ExtensionManagerProxy.test.js +42 -44
  128. package/dist/services/ExtensionManagerProxy.test.js.map +1 -1
  129. package/dist/services/ExtensionRpc.d.ts +90 -0
  130. package/dist/services/ExtensionRpc.d.ts.map +1 -0
  131. package/dist/services/ExtensionRpc.js +277 -0
  132. package/dist/services/ExtensionRpc.js.map +1 -0
  133. package/dist/services/ExtensionRpc.test.d.ts +2 -0
  134. package/dist/services/ExtensionRpc.test.d.ts.map +1 -0
  135. package/dist/services/ExtensionRpc.test.js +259 -0
  136. package/dist/services/ExtensionRpc.test.js.map +1 -0
  137. package/dist/services/ExtensionStateProxy.d.ts +44 -0
  138. package/dist/services/ExtensionStateProxy.d.ts.map +1 -0
  139. package/dist/services/ExtensionStateProxy.js +115 -0
  140. package/dist/services/ExtensionStateProxy.js.map +1 -0
  141. package/dist/services/ExtensionStateProxy.test.d.ts +2 -0
  142. package/dist/services/ExtensionStateProxy.test.d.ts.map +1 -0
  143. package/dist/services/ExtensionStateProxy.test.js +158 -0
  144. package/dist/services/ExtensionStateProxy.test.js.map +1 -0
  145. package/dist/services/FeedbackServiceProxy.js +2 -6
  146. package/dist/services/FeedbackServiceProxy.js.map +1 -1
  147. package/dist/services/FeedbackServiceProxy.test.js +31 -33
  148. package/dist/services/FeedbackServiceProxy.test.js.map +1 -1
  149. package/dist/services/FileManagerServiceProxy.js +2 -6
  150. package/dist/services/FileManagerServiceProxy.js.map +1 -1
  151. package/dist/services/FileManagerServiceProxy.test.js +21 -23
  152. package/dist/services/FileManagerServiceProxy.test.js.map +1 -1
  153. package/dist/services/FileSystemWatcherService.js +2 -6
  154. package/dist/services/FileSystemWatcherService.js.map +1 -1
  155. package/dist/services/FileSystemWatcherService.test.js +45 -47
  156. package/dist/services/FileSystemWatcherService.test.js.map +1 -1
  157. package/dist/services/IAIService.js +1 -2
  158. package/dist/services/ICacheService.js +1 -2
  159. package/dist/services/IClipboardHistoryService.js +1 -2
  160. package/dist/services/ICommandService.js +1 -2
  161. package/dist/services/IEntitlementService.js +1 -2
  162. package/dist/services/IExtensionManager.js +1 -2
  163. package/dist/services/IFeedbackService.js +1 -2
  164. package/dist/services/IFileManagerService.js +1 -2
  165. package/dist/services/IInteropService.js +1 -5
  166. package/dist/services/IInteropService.js.map +1 -1
  167. package/dist/services/INotificationService.js +1 -2
  168. package/dist/services/IOAuthService.js +1 -2
  169. package/dist/services/IPowerService.js +1 -2
  170. package/dist/services/IPreferencesService.js +1 -2
  171. package/dist/services/ISelectionService.js +1 -2
  172. package/dist/services/ISettingsService.js +1 -2
  173. package/dist/services/IShellService.js +1 -2
  174. package/dist/services/IStatusBarService.js +1 -2
  175. package/dist/services/IStorageService.js +1 -2
  176. package/dist/services/ISystemEventsService.js +1 -2
  177. package/dist/services/ISystemEventsService.js.map +1 -1
  178. package/dist/services/ITimerService.js +1 -2
  179. package/dist/services/InteropServiceProxy.js +2 -6
  180. package/dist/services/InteropServiceProxy.js.map +1 -1
  181. package/dist/services/InteropServiceProxy.test.js +19 -21
  182. package/dist/services/InteropServiceProxy.test.js.map +1 -1
  183. package/dist/services/LogService.js +1 -2
  184. package/dist/services/LogServiceProxy.js +2 -6
  185. package/dist/services/LogServiceProxy.js.map +1 -1
  186. package/dist/services/LogServiceProxy.test.js +43 -45
  187. package/dist/services/LogServiceProxy.test.js.map +1 -1
  188. package/dist/services/NetworkServiceProxy.js +2 -6
  189. package/dist/services/NetworkServiceProxy.js.map +1 -1
  190. package/dist/services/NetworkServiceProxy.test.js +20 -22
  191. package/dist/services/NetworkServiceProxy.test.js.map +1 -1
  192. package/dist/services/NotificationServiceProxy.js +2 -6
  193. package/dist/services/NotificationServiceProxy.js.map +1 -1
  194. package/dist/services/NotificationServiceProxy.test.js +39 -41
  195. package/dist/services/NotificationServiceProxy.test.js.map +1 -1
  196. package/dist/services/OAuthServiceProxy.js +2 -6
  197. package/dist/services/OAuthServiceProxy.js.map +1 -1
  198. package/dist/services/OAuthServiceProxy.test.js +42 -44
  199. package/dist/services/OAuthServiceProxy.test.js.map +1 -1
  200. package/dist/services/PowerServiceProxy.js +2 -6
  201. package/dist/services/PowerServiceProxy.js.map +1 -1
  202. package/dist/services/PowerServiceProxy.test.js +24 -26
  203. package/dist/services/PowerServiceProxy.test.js.map +1 -1
  204. package/dist/services/PreferencesServiceProxy.js +2 -6
  205. package/dist/services/PreferencesServiceProxy.js.map +1 -1
  206. package/dist/services/PreferencesServiceProxy.test.js +22 -24
  207. package/dist/services/PreferencesServiceProxy.test.js.map +1 -1
  208. package/dist/services/SelectionServiceProxy.js +2 -6
  209. package/dist/services/SelectionServiceProxy.js.map +1 -1
  210. package/dist/services/SelectionServiceProxy.test.js +20 -22
  211. package/dist/services/SelectionServiceProxy.test.js.map +1 -1
  212. package/dist/services/SettingsServiceProxy.js +2 -6
  213. package/dist/services/SettingsServiceProxy.js.map +1 -1
  214. package/dist/services/SettingsServiceProxy.test.js +18 -20
  215. package/dist/services/SettingsServiceProxy.test.js.map +1 -1
  216. package/dist/services/ShellServiceProxy.js +2 -6
  217. package/dist/services/ShellServiceProxy.js.map +1 -1
  218. package/dist/services/ShellServiceProxy.test.js +92 -94
  219. package/dist/services/ShellServiceProxy.test.js.map +1 -1
  220. package/dist/services/StatusBarServiceProxy.js +9 -13
  221. package/dist/services/StatusBarServiceProxy.js.map +1 -1
  222. package/dist/services/StatusBarServiceProxy.test.js +68 -70
  223. package/dist/services/StatusBarServiceProxy.test.js.map +1 -1
  224. package/dist/services/StorageServiceProxy.js +2 -6
  225. package/dist/services/StorageServiceProxy.js.map +1 -1
  226. package/dist/services/StorageServiceProxy.test.js +31 -33
  227. package/dist/services/StorageServiceProxy.test.js.map +1 -1
  228. package/dist/services/SystemEventsServiceProxy.js +2 -6
  229. package/dist/services/SystemEventsServiceProxy.js.map +1 -1
  230. package/dist/services/SystemEventsServiceProxy.test.js +50 -52
  231. package/dist/services/SystemEventsServiceProxy.test.js.map +1 -1
  232. package/dist/services/TimerServiceProxy.js +2 -6
  233. package/dist/services/TimerServiceProxy.js.map +1 -1
  234. package/dist/services/TimerServiceProxy.test.js +33 -35
  235. package/dist/services/TimerServiceProxy.test.js.map +1 -1
  236. package/dist/services/WindowManagementService.js +2 -6
  237. package/dist/services/WindowManagementService.js.map +1 -1
  238. package/dist/services/WindowManagementService.test.js +23 -25
  239. package/dist/services/WindowManagementService.test.js.map +1 -1
  240. package/dist/services/index.js +36 -76
  241. package/dist/services/index.js.map +1 -1
  242. package/dist/services/statusBarValidation.js +7 -14
  243. package/dist/services/statusBarValidation.js.map +1 -1
  244. package/dist/types/ActionType.js +3 -6
  245. package/dist/types/ActionType.js.map +1 -1
  246. package/dist/types/ApplicationType.js +1 -2
  247. package/dist/types/ClipboardType.js +2 -5
  248. package/dist/types/ClipboardType.js.map +1 -1
  249. package/dist/types/CommandType.js +1 -2
  250. package/dist/types/ExtensionType.d.ts +40 -5
  251. package/dist/types/ExtensionType.d.ts.map +1 -1
  252. package/dist/types/ExtensionType.js +1 -2
  253. package/dist/types/NetworkType.js +1 -2
  254. package/dist/types/NotificationType.js +1 -2
  255. package/dist/types/SyncType.js +1 -2
  256. package/dist/types/index.js +2 -18
  257. package/dist/types/index.js.map +1 -1
  258. package/dist/view.d.ts +12 -0
  259. package/dist/view.d.ts.map +1 -0
  260. package/dist/view.js +19 -0
  261. package/dist/view.js.map +1 -0
  262. package/dist/view.test.d.ts +2 -0
  263. package/dist/view.test.d.ts.map +1 -0
  264. package/dist/view.test.js +114 -0
  265. package/dist/view.test.js.map +1 -0
  266. package/dist/worker.bundle-size.test.d.ts +2 -0
  267. package/dist/worker.bundle-size.test.d.ts.map +1 -0
  268. package/dist/worker.bundle-size.test.js +96 -0
  269. package/dist/worker.bundle-size.test.js.map +1 -0
  270. package/dist/worker.d.ts +37 -0
  271. package/dist/worker.d.ts.map +1 -0
  272. package/dist/worker.js +122 -0
  273. package/dist/worker.js.map +1 -0
  274. package/dist/worker.test.d.ts +2 -0
  275. package/dist/worker.test.d.ts.map +1 -0
  276. package/dist/worker.test.js +136 -0
  277. package/dist/worker.test.js.map +1 -0
  278. package/package.json +12 -4
  279. package/dist/index.d.ts.map +0 -1
  280. package/dist/index.js +0 -47
  281. package/dist/index.js.map +0 -1
package/README.md CHANGED
@@ -87,58 +87,105 @@ See [docs/RELEASING.md](docs/RELEASING.md) for instructions on how to version an
87
87
 
88
88
  ## Usage
89
89
 
90
- This SDK is the bridge allowing Asyar extensions to interact with the Host Application. It dynamically adapts its behavior based on the execution context of the extension utilizing it.
90
+ This SDK is the bridge between Asyar extensions and the host application. The package has **no default export** extensions and the launcher must import from one of three explicit subpaths, picked according to where the code runs.
91
91
 
92
92
  Refer to the [Extension Development Guide](https://github.com/Xoshbin/asyar-launcher/blob/main/docs/extension-development.md) for detailed instructions on building extensions.
93
93
 
94
- ### Dual-Tier Architecture Support
94
+ ### Subpath exports
95
95
 
96
- The SDK supports two distinct environments seamlessly:
96
+ | Subpath | Asserts | Surface | Use from |
97
+ |---|---|---|---|
98
+ | `asyar-sdk/worker` | `window.__ASYAR_ROLE__ === "worker"` at module load | `ExtensionContext` bound to the **worker proxy bag** (no DOM-dependent helpers) — `log`, `notifications`, `storage`, `cache`, `network`, `shell`, `ai`, `oauth`, `fs`, `application`, `power`, `systemEvents`, `timers`, `statusBar`, `state`, `commands`, `actions` | A Tier 2 extension's `worker.html` (the always-on hidden iframe). |
99
+ | `asyar-sdk/view` | `window.__ASYAR_ROLE__ === "view"` at module load | Re-exports the full SDK surface plus DOM helpers (`registerIconElement`, theme injector). `ExtensionContext` is bound to the **full proxy bag** including view-only services: `clipboard`, `selection`, `interop`, `feedback`, plus the worker-shared services above. | A Tier 2 extension's `view.html` (the on-demand UI iframe). |
100
+ | `asyar-sdk/contracts` | Nothing — neutral, launcher-safe | Types, namespace constants, `MessageBroker`, `ExtensionBridge`, `ExtensionContextCore`. **No role assertion**, no top-level DOM requirement. | Launcher code (Tier 1 host, built-in features), SDK-internal modules, anything that needs types + IPC primitives without committing to an iframe role. |
97
101
 
98
- 1. **Tier 1 (Built-in Extensions):**
99
- * These extensions run directly inside the main Asyar Window context.
100
- * The SDK bypasses strict `<iframe>` security verifications.
101
- * `MessageBroker` requests automatically resolve against Host services synchronously.
102
- 2. **Tier 2 (Installed Extensions):**
103
- * These extensions are executed within strictly isolated, secure `<iframe>` sandboxes.
104
- * The SDK transparently serializes all Native SDK queries (such as navigating to a view, throwing a notification, checking the clipboard) into remote `postMessage` IPC payloads.
105
- * The Host Application intercepts these simulated payloads, validates the iframe's `extensionId`, unpacks the variables via positional mapping, and returns a Promise.
102
+ The role assertion fires at module load. If a worker bundle imports
103
+ `asyar-sdk/view` (or vice-versa), execution stops with a clear error
104
+ before any proxy is constructed the misimport is mechanically
105
+ impossible to ship to users.
106
+
107
+ ### Choosing the right entry decision tree
108
+
109
+ ```
110
+ Is the code running inside a Tier 2 extension iframe?
111
+ ├─ no → asyar-sdk/contracts
112
+ │ (launcher host code, Tier 1 built-in features, neutral types)
113
+
114
+ └─ yes → Is it the always-on worker (worker.html)?
115
+ ├─ yes → asyar-sdk/worker
116
+ │ (registerActionHandler, push subscriptions,
117
+ │ schedules, timers, tray writes, RPC handlers,
118
+ │ search() for searchable extensions)
119
+
120
+ └─ no, it's the view (view.html)
121
+ → asyar-sdk/view
122
+ (Svelte components, DOM helpers, view-search,
123
+ RPC callers via context.request)
124
+ ```
125
+
126
+ If the extension has both a worker and a view, you ship two bundles —
127
+ one entry per HTML file.
128
+
129
+ ### Manifest version policy — `asyarSdk`
130
+
131
+ Each manifest declares an `asyarSdk` semver range (e.g. `"^2.0.0"`):
132
+
133
+ - The host validates the bundled SDK version against this range at extension discovery. An incompatible extension is marked unloaded — its iframes are not materialised.
134
+ - The check is range-based; pin loosely (`^2`) for forward compatibility on minor versions, tightly (`~2.1.0`) only when you depend on a specific patch.
135
+ - Major SDK bumps are breaking by definition — extensions need to update to the new entry-points or proxy bag and re-publish.
136
+
137
+ ### Tier 2 vs Tier 1
138
+
139
+ Tier 2 extensions ship as compiled bundles loaded into sandboxed iframes;
140
+ they go through `asyar-sdk/worker` and `asyar-sdk/view`. Tier 1 (built-in
141
+ features inside the launcher repo) imports from `asyar-sdk/contracts` —
142
+ they run in the launcher's JS context with full Tauri API access and do
143
+ not need (or want) a role assertion.
106
144
 
107
145
  > [!WARNING]
108
146
  > **IPC Payload Requirements for SDK Contributors:**
109
- > When adding new proxy boundaries to `ExtensionManagerProxy`, you MUST send payloads as named-key property objects where keys correspond to the Host's parameter names in order (e.g., `broker.invoke('method', { query, limit })`).
147
+ > When adding new proxy boundaries, you MUST send payloads as named-key property objects where keys correspond to the Host's parameter names in order (e.g., `broker.invoke('method', { query, limit })`).
110
148
  > Sending raw primitives will cause the generic deserializer inside the Asyar Host to convert the argument into `"[object Object]"`, silently breaking the pipeline.
111
149
 
112
- Key exports include:
150
+ ### Example — worker entry
151
+
152
+ ```typescript
153
+ // src/main.worker.ts — loaded by worker.html
154
+ import { ExtensionContext, extensionBridge } from 'asyar-sdk/worker';
155
+ import type { ILogService, INotificationService } from 'asyar-sdk/contracts';
113
156
 
114
- * **Interfaces:** `Extension`, `ExtensionContext`, `ILogService`, `IExtensionManager`, `IActionService`, `IClipboardHistoryService`, `INotificationService`, `IStatusBarService`, etc.
115
- * **Types:** `ExtensionResult`, `ExtensionAction`, `ClipboardItem`, `IStatusBarItem`, etc.
116
- * **Proxies:** `StatusBarServiceProxy` and others providing safe cross-context RPC.
157
+ const extensionId = window.location.hostname;
158
+ const context = new ExtensionContext();
159
+ context.setExtensionId(extensionId);
117
160
 
118
- Example import in an extension's `index.ts`:
161
+ const log = context.getService<ILogService>('log');
162
+ log?.info('Worker bootstrapped');
163
+
164
+ // view → worker RPC handler (only available on the worker entry).
165
+ context.onRequest<{}, { rounds: number }>('getStats', async () => {
166
+ return { rounds: await readRounds() };
167
+ });
168
+
169
+ window.parent.postMessage({ type: 'asyar:extension:loaded', extensionId, role: 'worker' }, '*');
170
+ ```
171
+
172
+ ### Example — view entry
119
173
 
120
174
  ```typescript
121
- import type {
122
- Extension,
123
- ExtensionContext,
124
- ExtensionResult,
125
- ILogService,
126
- IExtensionManager,
127
- } from "asyar-sdk";
128
- import type { ExtensionAction, IActionService } from "asyar-sdk";
129
-
130
- class MyExtension implements Extension {
131
- private logService?: ILogService;
175
+ // src/main.view.ts — loaded by view.html
176
+ import { ExtensionContext, registerIconElement } from 'asyar-sdk/view';
177
+ import MyView from './MyView.svelte';
178
+ import { mount } from 'svelte';
132
179
 
133
- async initialize(context: ExtensionContext): Promise<void> {
134
- this.logService = context.getService<ILogService>("log");
135
- this.logService?.info("Extension initialized using asyar-sdk");
136
- }
180
+ registerIconElement();
137
181
 
138
- // ... other methods
139
- }
182
+ const extensionId = window.location.hostname;
183
+ const context = new ExtensionContext();
184
+ context.setExtensionId(extensionId);
185
+
186
+ mount(MyView, { target: document.getElementById('app')!, props: { context } });
140
187
 
141
- export default new MyExtension();
188
+ window.parent.postMessage({ type: 'asyar:extension:loaded', extensionId, role: 'view' }, '*');
142
189
  ```
143
190
 
144
191
  ### Extension Icons
@@ -300,7 +347,8 @@ Declare actions directly in `manifest.json`. These appear in the ⌘K drawer whi
300
347
  {
301
348
  "id": "search-repos",
302
349
  "name": "Search Repositories",
303
- "resultType": "view",
350
+ "mode": "view",
351
+ "component": "RepoSearch",
304
352
  "actions": [
305
353
  {
306
354
  "id": "clone-repo",
@@ -315,19 +363,24 @@ Declare actions directly in `manifest.json`. These appear in the ⌘K drawer whi
315
363
  }
316
364
  ```
317
365
 
318
- Register handlers in your extension's `initialize()` or `activate()`:
366
+ Register handlers in your extension's `initialize()` or `activate()`. With the worker/view split, `registerActionHandler` is role-neutral — it works from either role's `ExtensionContext`. Choose the role based on whether the action needs to fire while the panel is closed:
319
367
 
320
368
  ```typescript
369
+ // Worker entry — handles actions that must survive the view being Dormant
370
+ // (notification action callbacks, tray-driven actions, etc.)
321
371
  class GitHubExtension implements Extension {
322
372
  async initialize(context: ExtensionContext): Promise<void> {
323
- // Extension-level: visible when any GitHub command is selected
324
373
  context.actions.registerActionHandler('open-settings', async () => {
325
- // your handler
374
+ // your handler — fires even when no view is open
326
375
  });
376
+ }
377
+ }
327
378
 
328
- // Command-level: visible only when "search-repos" is selected
379
+ // View entry — handles actions that only make sense while the panel is open
380
+ class GitHubView implements Extension {
381
+ async initialize(context: ExtensionContext): Promise<void> {
329
382
  context.actions.registerActionHandler('clone-repo', async () => {
330
- // your handler
383
+ // your handler — uses DOM / view state
331
384
  });
332
385
  }
333
386
  }
@@ -344,7 +397,7 @@ The `actionId` you pass to `registerActionHandler` is the short local ID from `m
344
397
  Register actions in code from your extension view components. These appear while your extension panel is open.
345
398
 
346
399
  ```typescript
347
- import { ActionContext, ActionCategory } from 'asyar-sdk';
400
+ import { ActionContext, ActionCategory } from 'asyar-sdk/view';
348
401
 
349
402
  actionService.registerAction({
350
403
  id: 'my-extension:do-thing',
@@ -1,4 +1,4 @@
1
- import { ExtensionContext } from "./ExtensionContext";
1
+ import type { ExtensionContext } from "./ExtensionContext";
2
2
  import type { Extension, ExtensionManifest } from "./types/ExtensionType";
3
3
  import type { ExtensionAction } from "./types/ActionType";
4
4
  import type { CommandHandler } from "./types/CommandType";
@@ -1 +1 @@
1
- {"version":3,"file":"ExtensionBridge.d.ts","sourceRoot":"","sources":["../src/ExtensionBridge.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AACtD,OAAO,KAAK,EAAE,SAAS,EAAE,iBAAiB,EAAmB,MAAM,uBAAuB,CAAC;AAC3F,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AAC1D,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAO1D,qBAAa,eAAe;IAC1B,OAAO,CAAC,kBAAkB,CAA6C;IACvE,OAAO,CAAC,wBAAwB,CAAqC;IACrE,OAAO,CAAC,cAAc,CAA2C;IACjE,OAAO,CAAC,eAAe,CAGT;IACd,OAAO,CAAC,WAAW,CAGL;IACd,OAAO,CAAC,cAAc,CAA4C;IAClE,OAAO,CAAC,MAAM,CAAgB;IAC9B,OAAO,CAAC,MAAM,CAAc;;IAU5B;;;;;;;;;;;;OAYG;IACH,OAAO,CAAC,6BAA6B;IAoCrC,OAAO,CAAC,iBAAiB;IAiJzB,eAAe,CAAC,WAAW,EAAE,MAAM,EAAE,cAAc,EAAE,OAAO,GAAG,IAAI;IASnE,cAAc,CAAC,WAAW,EAAE,MAAM,EAAE,MAAM,EAAE,eAAe,GAAG,IAAI;IAWlE,gBAAgB,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI;IAKxC,UAAU,IAAI,eAAe,EAAE;IAI/B;;;;;OAKG;IACH,qBAAqB,CAAC,WAAW,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,GAAG,IAAI;IAWvG;;;;;;;;;OASG;IACH,cAAc,CAAC,WAAW,EAAE,MAAM,GAAG,IAAI;IAOzC;;;;;;;;;;;;;;;OAeG;IACH,qBAAqB,CAAC,WAAW,EAAE,MAAM,EAAE,OAAO,EAAE,gBAAgB,GAAG,IAAI;IAkB3E;;;;;OAKG;IACH,cAAc,CACZ,WAAW,EAAE,MAAM,EACnB,MAAM,EAAE;QAAE,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;QAAC,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAA;KAAE,GAChG,IAAI;IAKP,gBAAgB,CAAC,QAAQ,EAAE,iBAAiB,GAAG,IAAI;IAMnD,+BAA+B,CAAC,EAAE,EAAE,MAAM,EAAE,SAAS,EAAE,SAAS,GAAG,IAAI;IAWjE,oBAAoB,IAAI,OAAO,CAAC,IAAI,CAAC;IAwBrC,kBAAkB,IAAI,OAAO,CAAC,IAAI,CAAC;IAenC,oBAAoB,IAAI,OAAO,CAAC,IAAI,CAAC;IAe3C,YAAY,IAAI,iBAAiB,EAAE;IAKnC,WAAW,CAAC,EAAE,EAAE,MAAM,GAAG,iBAAiB,GAAG,SAAS;IAKtD,0BAA0B,CAAC,EAAE,EAAE,MAAM,GAAG,SAAS,GAAG,SAAS;IAK7D,eAAe,CACb,SAAS,EAAE,MAAM,EACjB,OAAO,EAAE,cAAc,EACvB,WAAW,EAAE,MAAM,GAClB,IAAI;IAMP,iBAAiB,CAAC,SAAS,EAAE,MAAM,GAAG,IAAI;IAKpC,cAAc,CAClB,SAAS,EAAE,MAAM,EACjB,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAC7B,OAAO,CAAC,OAAO,CAAC;IASnB,WAAW,IAAI,MAAM,EAAE;IAKvB,uBAAuB,CAAC,WAAW,EAAE,MAAM,GAAG,MAAM,EAAE;CAKvD;AAED,eAAO,MAAM,eAAe,iBAAwB,CAAC"}
1
+ {"version":3,"file":"ExtensionBridge.d.ts","sourceRoot":"","sources":["../src/ExtensionBridge.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AAC3D,OAAO,KAAK,EAAE,SAAS,EAAE,iBAAiB,EAAmB,MAAM,uBAAuB,CAAC;AAC3F,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AAC1D,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAO1D,qBAAa,eAAe;IAC1B,OAAO,CAAC,kBAAkB,CAA6C;IACvE,OAAO,CAAC,wBAAwB,CAAqC;IACrE,OAAO,CAAC,cAAc,CAA2C;IACjE,OAAO,CAAC,eAAe,CAGT;IACd,OAAO,CAAC,WAAW,CAGL;IACd,OAAO,CAAC,cAAc,CAA4C;IAClE,OAAO,CAAC,MAAM,CAAgB;IAC9B,OAAO,CAAC,MAAM,CAAc;;IAc5B;;;;;;;;;;;;OAYG;IACH,OAAO,CAAC,6BAA6B;IAoCrC,OAAO,CAAC,iBAAiB;IAiJzB,eAAe,CAAC,WAAW,EAAE,MAAM,EAAE,cAAc,EAAE,OAAO,GAAG,IAAI;IASnE,cAAc,CAAC,WAAW,EAAE,MAAM,EAAE,MAAM,EAAE,eAAe,GAAG,IAAI;IAWlE,gBAAgB,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI;IAKxC,UAAU,IAAI,eAAe,EAAE;IAI/B;;;;;OAKG;IACH,qBAAqB,CAAC,WAAW,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,GAAG,IAAI;IAWvG;;;;;;;;;OASG;IACH,cAAc,CAAC,WAAW,EAAE,MAAM,GAAG,IAAI;IAOzC;;;;;;;;;;;;;;;OAeG;IACH,qBAAqB,CAAC,WAAW,EAAE,MAAM,EAAE,OAAO,EAAE,gBAAgB,GAAG,IAAI;IAkB3E;;;;;OAKG;IACH,cAAc,CACZ,WAAW,EAAE,MAAM,EACnB,MAAM,EAAE;QAAE,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;QAAC,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAA;KAAE,GAChG,IAAI;IAKP,gBAAgB,CAAC,QAAQ,EAAE,iBAAiB,GAAG,IAAI;IAMnD,+BAA+B,CAAC,EAAE,EAAE,MAAM,EAAE,SAAS,EAAE,SAAS,GAAG,IAAI;IAWjE,oBAAoB,IAAI,OAAO,CAAC,IAAI,CAAC;IA6BrC,kBAAkB,IAAI,OAAO,CAAC,IAAI,CAAC;IAenC,oBAAoB,IAAI,OAAO,CAAC,IAAI,CAAC;IAe3C,YAAY,IAAI,iBAAiB,EAAE;IAKnC,WAAW,CAAC,EAAE,EAAE,MAAM,GAAG,iBAAiB,GAAG,SAAS;IAKtD,0BAA0B,CAAC,EAAE,EAAE,MAAM,GAAG,SAAS,GAAG,SAAS;IAK7D,eAAe,CACb,SAAS,EAAE,MAAM,EACjB,OAAO,EAAE,cAAc,EACvB,WAAW,EAAE,MAAM,GAClB,IAAI;IAMP,iBAAiB,CAAC,SAAS,EAAE,MAAM,GAAG,IAAI;IAKpC,cAAc,CAClB,SAAS,EAAE,MAAM,EACjB,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAC7B,OAAO,CAAC,OAAO,CAAC;IASnB,WAAW,IAAI,MAAM,EAAE;IAKvB,uBAAuB,CAAC,WAAW,EAAE,MAAM,GAAG,MAAM,EAAE;CAKvD;AAED,eAAO,MAAM,eAAe,iBAAwB,CAAC"}
@@ -1,4 +1,3 @@
1
- "use strict";
2
1
  var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
2
  function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
3
  return new (P || (P = Promise))(function (resolve, reject) {
@@ -8,13 +7,10 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
8
7
  step((generator = generator.apply(thisArg, _arguments || [])).next());
9
8
  });
10
9
  };
11
- Object.defineProperty(exports, "__esModule", { value: true });
12
- exports.extensionBridge = exports.ExtensionBridge = void 0;
13
- const ExtensionContext_1 = require("./ExtensionContext");
14
- const MessageBroker_1 = require("./ipc/MessageBroker");
15
- const LogServiceProxy_1 = require("./services/LogServiceProxy");
10
+ import { messageBroker } from "./ipc/MessageBroker";
11
+ import { LogServiceProxy } from "./services/LogServiceProxy";
16
12
  // Define the bridge that will be used to communicate between extensions and the base app
17
- class ExtensionBridge {
13
+ export class ExtensionBridge {
18
14
  constructor() {
19
15
  this.extensionManifests = new Map();
20
16
  this.extensionImplementations = new Map();
@@ -22,11 +18,15 @@ class ExtensionBridge {
22
18
  this.commandRegistry = new Map();
23
19
  this.preferences = new Map();
24
20
  this.activeContexts = new Map();
25
- this.logger = new LogServiceProxy_1.LogServiceProxy();
26
- this.broker = MessageBroker_1.messageBroker;
21
+ this.logger = new LogServiceProxy();
22
+ this.broker = messageBroker;
27
23
  this.setupIPCListeners();
28
24
  this.installNavigationKeyForwarder();
29
- this.logger.debug("ExtensionBridge instance created");
25
+ // Pre-identity boot log: must NOT go through `this.logger` (LogServiceProxy)
26
+ // because `setExtensionId` has not been called yet — the broker would fire a
27
+ // `log:debug` IPC with no extensionId and the host's ExtensionIpcRouter
28
+ // would reject it as "untrusted frame". console.debug is identity-agnostic.
29
+ console.debug('[asyar-sdk] ExtensionBridge instance created');
30
30
  }
31
31
  /**
32
32
  * Forward host-reserved keys from inside the iframe back to the host.
@@ -327,7 +327,12 @@ class ExtensionBridge {
327
327
  continue;
328
328
  }
329
329
  this.logger.debug(`Initializing extension: ${manifest.id} (${manifest.name})`);
330
- const context = new ExtensionContext_1.ExtensionContext();
330
+ // Dynamic import keeps ExtensionContext (and the full proxy bag it
331
+ // pulls in) off the worker entry's static import graph. Worker
332
+ // extensions that never call initializeExtensions() do not load
333
+ // this module at runtime — preserves the worker bundle-size budget.
334
+ const { ExtensionContext } = yield import("./ExtensionContext");
335
+ const context = new ExtensionContext();
331
336
  // `setExtensionId` self-registers the context with the bridge and
332
337
  // drains any stashed preferences bundle (either under `manifest.id`
333
338
  // or the `__pending__` sentinel). No need to set `activeContexts`
@@ -418,6 +423,5 @@ class ExtensionBridge {
418
423
  .map(([key, _]) => key);
419
424
  }
420
425
  }
421
- exports.ExtensionBridge = ExtensionBridge;
422
- exports.extensionBridge = new ExtensionBridge();
426
+ export const extensionBridge = new ExtensionBridge();
423
427
  //# sourceMappingURL=ExtensionBridge.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"ExtensionBridge.js","sourceRoot":"","sources":["../src/ExtensionBridge.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ExtensionBridge.js","sourceRoot":"","sources":["../src/ExtensionBridge.ts"],"names":[],"mappings":"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"}