asyar-sdk 1.10.2 → 1.12.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.
- package/README.md +70 -4
- package/dist/ExtensionBridge.d.ts +48 -0
- package/dist/ExtensionBridge.d.ts.map +1 -1
- package/dist/ExtensionBridge.js +141 -3
- package/dist/ExtensionBridge.js.map +1 -1
- package/dist/ExtensionBridge.test.js +65 -0
- package/dist/ExtensionBridge.test.js.map +1 -1
- package/dist/ExtensionContext.d.ts +77 -1
- package/dist/ExtensionContext.d.ts.map +1 -1
- package/dist/ExtensionContext.js +114 -0
- package/dist/ExtensionContext.js.map +1 -1
- package/dist/ExtensionContext.test.d.ts +2 -0
- package/dist/ExtensionContext.test.d.ts.map +1 -0
- package/dist/ExtensionContext.test.js +101 -0
- package/dist/ExtensionContext.test.js.map +1 -0
- package/dist/cli/commands/build.d.ts.map +1 -1
- package/dist/cli/commands/build.js +17 -7
- package/dist/cli/commands/build.js.map +1 -1
- package/dist/cli/lib/manifest.d.ts +22 -1
- package/dist/cli/lib/manifest.d.ts.map +1 -1
- package/dist/cli/lib/manifest.js +129 -1
- package/dist/cli/lib/manifest.js.map +1 -1
- package/dist/icons/iconData.d.ts.map +1 -1
- package/dist/icons/iconData.js +28 -0
- package/dist/icons/iconData.js.map +1 -1
- package/dist/index.d.ts +2 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +5 -3
- package/dist/index.js.map +1 -1
- package/dist/search/textUtils.d.ts +2 -1
- package/dist/search/textUtils.d.ts.map +1 -1
- package/dist/search/textUtils.js +143 -7
- package/dist/search/textUtils.js.map +1 -1
- package/dist/search/textUtils.test.js +47 -0
- package/dist/search/textUtils.test.js.map +1 -1
- package/dist/services/AIServiceProxy.d.ts +6 -0
- package/dist/services/AIServiceProxy.d.ts.map +1 -0
- package/dist/services/AIServiceProxy.js +99 -0
- package/dist/services/AIServiceProxy.js.map +1 -0
- package/dist/services/AIServiceProxy.test.d.ts +2 -0
- package/dist/services/AIServiceProxy.test.d.ts.map +1 -0
- package/dist/services/AIServiceProxy.test.js +192 -0
- package/dist/services/AIServiceProxy.test.js.map +1 -0
- package/dist/services/ActionServiceProxy.d.ts +1 -0
- package/dist/services/ActionServiceProxy.d.ts.map +1 -1
- package/dist/services/ActionServiceProxy.js +3 -0
- package/dist/services/ActionServiceProxy.js.map +1 -1
- package/dist/services/ApplicationService.d.ts +39 -0
- package/dist/services/ApplicationService.d.ts.map +1 -0
- package/dist/services/ApplicationService.js +32 -0
- package/dist/services/ApplicationService.js.map +1 -0
- package/dist/services/ApplicationService.test.d.ts +2 -0
- package/dist/services/ApplicationService.test.d.ts.map +1 -0
- package/dist/services/ApplicationService.test.js +75 -0
- package/dist/services/ApplicationService.test.js.map +1 -0
- package/dist/services/BaseServiceProxy.d.ts.map +1 -1
- package/dist/services/BaseServiceProxy.js +3 -1
- package/dist/services/BaseServiceProxy.js.map +1 -1
- package/dist/services/CacheServiceProxy.d.ts +27 -0
- package/dist/services/CacheServiceProxy.d.ts.map +1 -0
- package/dist/services/CacheServiceProxy.js +67 -0
- package/dist/services/CacheServiceProxy.js.map +1 -0
- package/dist/services/CacheServiceProxy.test.d.ts +2 -0
- package/dist/services/CacheServiceProxy.test.d.ts.map +1 -0
- package/dist/services/CacheServiceProxy.test.js +61 -0
- package/dist/services/CacheServiceProxy.test.js.map +1 -0
- package/dist/services/ClipboardHistoryServiceProxy.d.ts +1 -0
- package/dist/services/ClipboardHistoryServiceProxy.d.ts.map +1 -1
- package/dist/services/ClipboardHistoryServiceProxy.js +3 -0
- package/dist/services/ClipboardHistoryServiceProxy.js.map +1 -1
- package/dist/services/CommandServiceProxy.d.ts +3 -0
- package/dist/services/CommandServiceProxy.d.ts.map +1 -1
- package/dist/services/CommandServiceProxy.js +8 -0
- package/dist/services/CommandServiceProxy.js.map +1 -1
- package/dist/services/CommandServiceProxy.test.d.ts +2 -0
- package/dist/services/CommandServiceProxy.test.d.ts.map +1 -0
- package/dist/services/CommandServiceProxy.test.js +69 -0
- package/dist/services/CommandServiceProxy.test.js.map +1 -0
- package/dist/services/ExtensionManagerProxy.d.ts +1 -1
- package/dist/services/ExtensionManagerProxy.d.ts.map +1 -1
- package/dist/services/ExtensionManagerProxy.js +2 -2
- package/dist/services/ExtensionManagerProxy.js.map +1 -1
- package/dist/services/FeedbackServiceProxy.d.ts +25 -0
- package/dist/services/FeedbackServiceProxy.d.ts.map +1 -0
- package/dist/services/FeedbackServiceProxy.js +41 -0
- package/dist/services/FeedbackServiceProxy.js.map +1 -0
- package/dist/services/FileManagerServiceProxy.d.ts +7 -0
- package/dist/services/FileManagerServiceProxy.d.ts.map +1 -0
- package/dist/services/FileManagerServiceProxy.js +27 -0
- package/dist/services/FileManagerServiceProxy.js.map +1 -0
- package/dist/services/FileManagerServiceProxy.test.d.ts +2 -0
- package/dist/services/FileManagerServiceProxy.test.d.ts.map +1 -0
- package/dist/services/FileManagerServiceProxy.test.js +56 -0
- package/dist/services/FileManagerServiceProxy.test.js.map +1 -0
- package/dist/services/IAIService.d.ts +66 -0
- package/dist/services/IAIService.d.ts.map +1 -0
- package/dist/services/IAIService.js +3 -0
- package/dist/services/IAIService.js.map +1 -0
- package/dist/services/ICacheService.d.ts +45 -0
- package/dist/services/ICacheService.d.ts.map +1 -0
- package/dist/services/ICacheService.js +3 -0
- package/dist/services/ICacheService.js.map +1 -0
- package/dist/services/IClipboardHistoryService.d.ts +6 -0
- package/dist/services/IClipboardHistoryService.d.ts.map +1 -1
- package/dist/services/ICommandService.d.ts +3 -0
- package/dist/services/ICommandService.d.ts.map +1 -1
- package/dist/services/IExtensionManager.d.ts +7 -4
- package/dist/services/IExtensionManager.d.ts.map +1 -1
- package/dist/services/IFeedbackService.d.ts +84 -0
- package/dist/services/IFeedbackService.d.ts.map +1 -0
- package/dist/services/IFeedbackService.js +3 -0
- package/dist/services/IFeedbackService.js.map +1 -0
- package/dist/services/IFileManagerService.d.ts +33 -0
- package/dist/services/IFileManagerService.d.ts.map +1 -0
- package/dist/services/IFileManagerService.js +3 -0
- package/dist/services/IFileManagerService.js.map +1 -0
- package/dist/services/IInteropService.d.ts +16 -0
- package/dist/services/IInteropService.d.ts.map +1 -0
- package/dist/services/IInteropService.js +12 -0
- package/dist/services/IInteropService.js.map +1 -0
- package/dist/services/IOAuthService.d.ts +68 -0
- package/dist/services/IOAuthService.d.ts.map +1 -0
- package/dist/services/IOAuthService.js +3 -0
- package/dist/services/IOAuthService.js.map +1 -0
- package/dist/services/ISelectionService.d.ts +23 -0
- package/dist/services/ISelectionService.d.ts.map +1 -0
- package/dist/services/ISelectionService.js +3 -0
- package/dist/services/ISelectionService.js.map +1 -0
- package/dist/services/IShellService.d.ts +39 -0
- package/dist/services/IShellService.d.ts.map +1 -0
- package/dist/services/IShellService.js +3 -0
- package/dist/services/IShellService.js.map +1 -0
- package/dist/services/IStorageService.d.ts +22 -0
- package/dist/services/IStorageService.d.ts.map +1 -0
- package/dist/services/IStorageService.js +3 -0
- package/dist/services/IStorageService.js.map +1 -0
- package/dist/services/InteropServiceProxy.d.ts +6 -0
- package/dist/services/InteropServiceProxy.d.ts.map +1 -0
- package/dist/services/InteropServiceProxy.js +26 -0
- package/dist/services/InteropServiceProxy.js.map +1 -0
- package/dist/services/InteropServiceProxy.test.d.ts +2 -0
- package/dist/services/InteropServiceProxy.test.d.ts.map +1 -0
- package/dist/services/InteropServiceProxy.test.js +59 -0
- package/dist/services/InteropServiceProxy.test.js.map +1 -0
- package/dist/services/OAuthServiceProxy.d.ts +18 -0
- package/dist/services/OAuthServiceProxy.d.ts.map +1 -0
- package/dist/services/OAuthServiceProxy.js +70 -0
- package/dist/services/OAuthServiceProxy.js.map +1 -0
- package/dist/services/OAuthServiceProxy.test.d.ts +2 -0
- package/dist/services/OAuthServiceProxy.test.d.ts.map +1 -0
- package/dist/services/OAuthServiceProxy.test.js +165 -0
- package/dist/services/OAuthServiceProxy.test.js.map +1 -0
- package/dist/services/SelectionServiceProxy.d.ts +10 -0
- package/dist/services/SelectionServiceProxy.d.ts.map +1 -0
- package/dist/services/SelectionServiceProxy.js +17 -0
- package/dist/services/SelectionServiceProxy.js.map +1 -0
- package/dist/services/ShellServiceProxy.d.ts +6 -0
- package/dist/services/ShellServiceProxy.d.ts.map +1 -0
- package/dist/services/ShellServiceProxy.js +78 -0
- package/dist/services/ShellServiceProxy.js.map +1 -0
- package/dist/services/StorageServiceProxy.d.ts +16 -0
- package/dist/services/StorageServiceProxy.d.ts.map +1 -0
- package/dist/services/StorageServiceProxy.js +48 -0
- package/dist/services/StorageServiceProxy.js.map +1 -0
- package/dist/services/WindowManagementService.d.ts +48 -0
- package/dist/services/WindowManagementService.d.ts.map +1 -0
- package/dist/services/WindowManagementService.js +37 -0
- package/dist/services/WindowManagementService.js.map +1 -0
- package/dist/services/WindowManagementService.test.d.ts +2 -0
- package/dist/services/WindowManagementService.test.d.ts.map +1 -0
- package/dist/services/WindowManagementService.test.js +51 -0
- package/dist/services/WindowManagementService.test.js.map +1 -0
- package/dist/services/index.d.ts +23 -0
- package/dist/services/index.d.ts.map +1 -1
- package/dist/services/index.js +27 -1
- package/dist/services/index.js.map +1 -1
- package/dist/types/ActionType.d.ts +2 -0
- package/dist/types/ActionType.d.ts.map +1 -1
- package/dist/types/ActionType.js.map +1 -1
- package/dist/types/ClipboardType.d.ts +13 -0
- package/dist/types/ClipboardType.d.ts.map +1 -1
- package/dist/types/ExtensionType.d.ts +72 -0
- package/dist/types/ExtensionType.d.ts.map +1 -1
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -275,9 +275,73 @@ Valid values: `"macos"`, `"windows"`, `"linux"`. You can list any combination.
|
|
|
275
275
|
|
|
276
276
|
Distributed under the AGPLv3 License. See LICENSE.md for more information.
|
|
277
277
|
|
|
278
|
-
##
|
|
278
|
+
## Actions — The ⌘K Panel
|
|
279
279
|
|
|
280
|
-
|
|
280
|
+
There are two ways to contribute actions to Asyar's ⌘K panel:
|
|
281
|
+
|
|
282
|
+
### 1. Manifest-declared actions (root search)
|
|
283
|
+
|
|
284
|
+
Declare actions directly in `manifest.json`. These appear in the ⌘K drawer while the user has your command highlighted in the **main search results** — before opening any view.
|
|
285
|
+
|
|
286
|
+
**`manifest.json`:**
|
|
287
|
+
```json
|
|
288
|
+
{
|
|
289
|
+
"id": "com.example.github",
|
|
290
|
+
"actions": [
|
|
291
|
+
{
|
|
292
|
+
"id": "open-settings",
|
|
293
|
+
"title": "Extension Settings",
|
|
294
|
+
"icon": "icon:settings",
|
|
295
|
+
"shortcut": "⌘,",
|
|
296
|
+
"category": "System"
|
|
297
|
+
}
|
|
298
|
+
],
|
|
299
|
+
"commands": [
|
|
300
|
+
{
|
|
301
|
+
"id": "search-repos",
|
|
302
|
+
"name": "Search Repositories",
|
|
303
|
+
"resultType": "view",
|
|
304
|
+
"actions": [
|
|
305
|
+
{
|
|
306
|
+
"id": "clone-repo",
|
|
307
|
+
"title": "Clone Repository",
|
|
308
|
+
"icon": "icon:download",
|
|
309
|
+
"shortcut": "⌘⇧C",
|
|
310
|
+
"category": "Primary"
|
|
311
|
+
}
|
|
312
|
+
]
|
|
313
|
+
}
|
|
314
|
+
]
|
|
315
|
+
}
|
|
316
|
+
```
|
|
317
|
+
|
|
318
|
+
Register handlers in your extension's `initialize()` or `activate()`:
|
|
319
|
+
|
|
320
|
+
```typescript
|
|
321
|
+
class GitHubExtension implements Extension {
|
|
322
|
+
async initialize(context: ExtensionContext): Promise<void> {
|
|
323
|
+
// Extension-level: visible when any GitHub command is selected
|
|
324
|
+
context.actions.registerActionHandler('open-settings', async () => {
|
|
325
|
+
// your handler
|
|
326
|
+
});
|
|
327
|
+
|
|
328
|
+
// Command-level: visible only when "search-repos" is selected
|
|
329
|
+
context.actions.registerActionHandler('clone-repo', async () => {
|
|
330
|
+
// your handler
|
|
331
|
+
});
|
|
332
|
+
}
|
|
333
|
+
}
|
|
334
|
+
```
|
|
335
|
+
|
|
336
|
+
The `actionId` you pass to `registerActionHandler` is the short local ID from `manifest.json`, not the full internal ID (`act_{extensionId}_{actionId}`).
|
|
337
|
+
|
|
338
|
+
**Visibility rules:**
|
|
339
|
+
- Root-level `actions[]` — visible when **any** command from your extension is highlighted
|
|
340
|
+
- Command-level `actions[]` — visible only when **that specific command** is highlighted
|
|
341
|
+
|
|
342
|
+
### 2. Programmatic actions (inside extension views)
|
|
343
|
+
|
|
344
|
+
Register actions in code from your extension view components. These appear while your extension panel is open.
|
|
281
345
|
|
|
282
346
|
```typescript
|
|
283
347
|
import { ActionContext, ActionCategory } from 'asyar-sdk';
|
|
@@ -287,15 +351,17 @@ actionService.registerAction({
|
|
|
287
351
|
title: 'Do Something',
|
|
288
352
|
description: 'A helpful description shown in the panel',
|
|
289
353
|
icon: '✨',
|
|
290
|
-
category: ActionCategory.PRIMARY,
|
|
354
|
+
category: ActionCategory.PRIMARY,
|
|
291
355
|
extensionId: context.extensionId,
|
|
292
|
-
context: ActionContext.
|
|
356
|
+
context: ActionContext.EXTENSION_VIEW,
|
|
293
357
|
execute: async () => {
|
|
294
358
|
// your action logic
|
|
295
359
|
}
|
|
296
360
|
})
|
|
297
361
|
```
|
|
298
362
|
|
|
363
|
+
Always unregister in `onDestroy` to prevent stale actions persisting across views.
|
|
364
|
+
|
|
299
365
|
### Standard categories (`ActionCategory`)
|
|
300
366
|
|
|
301
367
|
| Constant | Display name | Use for |
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { ExtensionContext } from "./ExtensionContext";
|
|
1
2
|
import type { Extension, ExtensionManifest } from "./types/ExtensionType";
|
|
2
3
|
import type { ExtensionAction } from "./types/ActionType";
|
|
3
4
|
import type { CommandHandler } from "./types/CommandType";
|
|
@@ -8,6 +9,8 @@ export declare class ExtensionBridge {
|
|
|
8
9
|
private componentRegistry;
|
|
9
10
|
private actionRegistry;
|
|
10
11
|
private commandRegistry;
|
|
12
|
+
private preferences;
|
|
13
|
+
private activeContexts;
|
|
11
14
|
private broker;
|
|
12
15
|
private logger;
|
|
13
16
|
private constructor();
|
|
@@ -17,6 +20,51 @@ export declare class ExtensionBridge {
|
|
|
17
20
|
registerAction(extensionId: string, action: ExtensionAction): void;
|
|
18
21
|
unregisterAction(actionId: string): void;
|
|
19
22
|
getActions(): ExtensionAction[];
|
|
23
|
+
/**
|
|
24
|
+
* Register a handler for a manifest-declared action.
|
|
25
|
+
* Stores the handler locally in the actionRegistry so the
|
|
26
|
+
* asyar:action:execute message from the host can find it.
|
|
27
|
+
* No IPC message sent — the host already knows about the action from the manifest.
|
|
28
|
+
*/
|
|
29
|
+
registerActionHandler(extensionId: string, actionId: string, handler: () => Promise<void> | void): void;
|
|
30
|
+
/**
|
|
31
|
+
* Tells the bridge which extension this iframe represents so its internal
|
|
32
|
+
* `LogServiceProxy` can stamp `extensionId` on every IPC log call.
|
|
33
|
+
*
|
|
34
|
+
* Without this, every `this.logger.debug(...)` from the bridge fires a
|
|
35
|
+
* `log:debug` postMessage with no extensionId, and the host's
|
|
36
|
+
* `ExtensionIpcRouter` rejects it as "untrusted frame, no extensionId" —
|
|
37
|
+
* producing per-tick error spam in the dev console for any extension that
|
|
38
|
+
* re-registers actions on a timer (e.g. pomodoro's countdown).
|
|
39
|
+
*/
|
|
40
|
+
setExtensionId(extensionId: string): void;
|
|
41
|
+
/**
|
|
42
|
+
* Register a live `ExtensionContext` with the bridge as the active
|
|
43
|
+
* context for an extension id. This is what lets the
|
|
44
|
+
* `asyar:event:preferences:set-all` listener find the context and
|
|
45
|
+
* call `setPreferences` on it.
|
|
46
|
+
*
|
|
47
|
+
* Tier 2 iframes that bootstrap by creating their own
|
|
48
|
+
* `ExtensionContext` (instead of going through the bridge's
|
|
49
|
+
* `initializeExtensions()` path) must call this so they show up in
|
|
50
|
+
* `activeContexts`. Otherwise the preferences bundle arrives at the
|
|
51
|
+
* bridge but never reaches the live context — it only lands in the
|
|
52
|
+
* `this.preferences` map which is consulted by `initializeExtensions`.
|
|
53
|
+
*
|
|
54
|
+
* Called from `ExtensionContext.setExtensionId`, so Tier 2 iframes get
|
|
55
|
+
* this for free as long as they call `setExtensionId(id)` during boot.
|
|
56
|
+
*/
|
|
57
|
+
registerActiveContext(extensionId: string, context: ExtensionContext): void;
|
|
58
|
+
/**
|
|
59
|
+
* Store a preference bundle (extension-level + command-level) for an
|
|
60
|
+
* extension. Called by the host-side ExtensionLoader before the extension
|
|
61
|
+
* is initialized, so that `initializeExtensions` can hand it to the new
|
|
62
|
+
* ExtensionContext as a frozen snapshot.
|
|
63
|
+
*/
|
|
64
|
+
setPreferences(extensionId: string, bundle: {
|
|
65
|
+
extension: Record<string, unknown>;
|
|
66
|
+
commands: Record<string, Record<string, unknown>>;
|
|
67
|
+
}): void;
|
|
20
68
|
registerManifest(manifest: ExtensionManifest): void;
|
|
21
69
|
registerExtensionImplementation(id: string, extension: Extension): void;
|
|
22
70
|
initializeExtensions(): Promise<void>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ExtensionBridge.d.ts","sourceRoot":"","sources":["../src/ExtensionBridge.ts"],"names":[],"mappings":"
|
|
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,EAAE,MAAM,uBAAuB,CAAC;AAC1E,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AAC1D,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAO1D,qBAAa,eAAe;IAC1B,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAkB;IACzC,OAAO,CAAC,kBAAkB,CAA6C;IACvE,OAAO,CAAC,wBAAwB,CAAqC;IACrE,OAAO,CAAC,iBAAiB,CAA2B;IACpD,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;IAE5B,OAAO;WAUO,WAAW,IAAI,eAAe;IAO5C,OAAO,CAAC,iBAAiB;IA+IzB,eAAe,CAAC,WAAW,EAAE,MAAM,EAAE,cAAc,EAAE,GAAG,GAAG,IAAI;IAS/D,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;IAMzC;;;;;;;;;;;;;;;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,GAAG,CAAC,GACzB,OAAO,CAAC,GAAG,CAAC;IASf,WAAW,IAAI,MAAM,EAAE;IAKvB,uBAAuB,CAAC,WAAW,EAAE,MAAM,GAAG,MAAM,EAAE;CAKvD"}
|
package/dist/ExtensionBridge.js
CHANGED
|
@@ -21,6 +21,8 @@ class ExtensionBridge {
|
|
|
21
21
|
this.componentRegistry = {};
|
|
22
22
|
this.actionRegistry = new Map();
|
|
23
23
|
this.commandRegistry = new Map();
|
|
24
|
+
this.preferences = new Map();
|
|
25
|
+
this.activeContexts = new Map();
|
|
24
26
|
this.logger = new LogServiceProxy_1.LogServiceProxy();
|
|
25
27
|
this.broker = MessageBroker_1.MessageBroker.getInstance();
|
|
26
28
|
this.setupIPCListeners();
|
|
@@ -52,6 +54,39 @@ class ExtensionBridge {
|
|
|
52
54
|
});
|
|
53
55
|
}
|
|
54
56
|
}));
|
|
57
|
+
// The broker routes anything under `asyar:event:*` straight to registered
|
|
58
|
+
// listeners with the payload unwrapped (see MessageBroker.handleMessage).
|
|
59
|
+
// That's why the message type uses the `:event:` namespace here instead
|
|
60
|
+
// of a plain `asyar:preferences:set-all` — a non-event message would be
|
|
61
|
+
// filtered out and the listener would silently never fire.
|
|
62
|
+
this.broker.on('asyar:event:preferences:set-all', (payload) => {
|
|
63
|
+
var _a, _b;
|
|
64
|
+
const bundle = {
|
|
65
|
+
extension: (_a = payload === null || payload === void 0 ? void 0 : payload.extension) !== null && _a !== void 0 ? _a : {},
|
|
66
|
+
commands: (_b = payload === null || payload === void 0 ? void 0 : payload.commands) !== null && _b !== void 0 ? _b : {},
|
|
67
|
+
};
|
|
68
|
+
// Iterate `activeContexts`, not `extensionManifests`. Tier 2 iframes
|
|
69
|
+
// bootstrap via `new ExtensionContext()` directly — they never call
|
|
70
|
+
// `bridge.registerManifest`, so `extensionManifests` is empty. But
|
|
71
|
+
// `activeContexts` is populated by the self-register path in
|
|
72
|
+
// `ExtensionContext.setExtensionId`, so that's where the live
|
|
73
|
+
// contexts live in both Tier 1 and Tier 2.
|
|
74
|
+
//
|
|
75
|
+
// Also store the bundle in `this.preferences` so any context that
|
|
76
|
+
// registers AFTER this message arrives can pick it up via the
|
|
77
|
+
// stash-and-drain path in `registerActiveContext`.
|
|
78
|
+
for (const [id, context] of this.activeContexts) {
|
|
79
|
+
this.preferences.set(id, bundle);
|
|
80
|
+
context.setPreferences(bundle);
|
|
81
|
+
}
|
|
82
|
+
// Race guard: if the reply arrived before any context registered
|
|
83
|
+
// (the iframe posts `asyar:extension:loaded` asynchronously), stash
|
|
84
|
+
// under a sentinel key. The next `registerActiveContext` call will
|
|
85
|
+
// drain it into the real extension id.
|
|
86
|
+
if (this.activeContexts.size === 0) {
|
|
87
|
+
this.preferences.set('__pending__', bundle);
|
|
88
|
+
}
|
|
89
|
+
});
|
|
55
90
|
// Listen for search requests from the host
|
|
56
91
|
if (typeof window !== 'undefined') {
|
|
57
92
|
window.addEventListener('message', (event) => __awaiter(this, void 0, void 0, function* () {
|
|
@@ -72,6 +107,18 @@ class ExtensionBridge {
|
|
|
72
107
|
}
|
|
73
108
|
return;
|
|
74
109
|
}
|
|
110
|
+
// Handle scheduled/direct command execution from host
|
|
111
|
+
if (data.type === 'asyar:command:execute') {
|
|
112
|
+
const { commandId, args } = data.payload;
|
|
113
|
+
// Each Tier 2 iframe has exactly one extension
|
|
114
|
+
for (const extension of this.extensionImplementations.values()) {
|
|
115
|
+
if (typeof extension.executeCommand === 'function') {
|
|
116
|
+
Promise.resolve(extension.executeCommand(commandId, args))
|
|
117
|
+
.catch((err) => this.logger.error(err));
|
|
118
|
+
}
|
|
119
|
+
}
|
|
120
|
+
return;
|
|
121
|
+
}
|
|
75
122
|
// Handle search requests (existing logic)
|
|
76
123
|
if (data.type !== 'asyar:search:request')
|
|
77
124
|
return;
|
|
@@ -139,6 +186,78 @@ class ExtensionBridge {
|
|
|
139
186
|
getActions() {
|
|
140
187
|
return Array.from(this.actionRegistry.values());
|
|
141
188
|
}
|
|
189
|
+
/**
|
|
190
|
+
* Register a handler for a manifest-declared action.
|
|
191
|
+
* Stores the handler locally in the actionRegistry so the
|
|
192
|
+
* asyar:action:execute message from the host can find it.
|
|
193
|
+
* No IPC message sent — the host already knows about the action from the manifest.
|
|
194
|
+
*/
|
|
195
|
+
registerActionHandler(extensionId, actionId, handler) {
|
|
196
|
+
const fullActionId = `act_${extensionId}_${actionId}`;
|
|
197
|
+
this.actionRegistry.set(fullActionId, {
|
|
198
|
+
id: fullActionId,
|
|
199
|
+
title: actionId,
|
|
200
|
+
extensionId,
|
|
201
|
+
execute: handler,
|
|
202
|
+
});
|
|
203
|
+
this.logger.debug(`Registered action handler: ${fullActionId}`);
|
|
204
|
+
}
|
|
205
|
+
/**
|
|
206
|
+
* Tells the bridge which extension this iframe represents so its internal
|
|
207
|
+
* `LogServiceProxy` can stamp `extensionId` on every IPC log call.
|
|
208
|
+
*
|
|
209
|
+
* Without this, every `this.logger.debug(...)` from the bridge fires a
|
|
210
|
+
* `log:debug` postMessage with no extensionId, and the host's
|
|
211
|
+
* `ExtensionIpcRouter` rejects it as "untrusted frame, no extensionId" —
|
|
212
|
+
* producing per-tick error spam in the dev console for any extension that
|
|
213
|
+
* re-registers actions on a timer (e.g. pomodoro's countdown).
|
|
214
|
+
*/
|
|
215
|
+
setExtensionId(extensionId) {
|
|
216
|
+
if (typeof this.logger.setExtensionId === 'function') {
|
|
217
|
+
this.logger.setExtensionId(extensionId);
|
|
218
|
+
}
|
|
219
|
+
}
|
|
220
|
+
/**
|
|
221
|
+
* Register a live `ExtensionContext` with the bridge as the active
|
|
222
|
+
* context for an extension id. This is what lets the
|
|
223
|
+
* `asyar:event:preferences:set-all` listener find the context and
|
|
224
|
+
* call `setPreferences` on it.
|
|
225
|
+
*
|
|
226
|
+
* Tier 2 iframes that bootstrap by creating their own
|
|
227
|
+
* `ExtensionContext` (instead of going through the bridge's
|
|
228
|
+
* `initializeExtensions()` path) must call this so they show up in
|
|
229
|
+
* `activeContexts`. Otherwise the preferences bundle arrives at the
|
|
230
|
+
* bridge but never reaches the live context — it only lands in the
|
|
231
|
+
* `this.preferences` map which is consulted by `initializeExtensions`.
|
|
232
|
+
*
|
|
233
|
+
* Called from `ExtensionContext.setExtensionId`, so Tier 2 iframes get
|
|
234
|
+
* this for free as long as they call `setExtensionId(id)` during boot.
|
|
235
|
+
*/
|
|
236
|
+
registerActiveContext(extensionId, context) {
|
|
237
|
+
var _a;
|
|
238
|
+
this.activeContexts.set(extensionId, context);
|
|
239
|
+
// If we've already received a preferences bundle for this extension
|
|
240
|
+
// (e.g. boot reply arrived before the context was registered, or a
|
|
241
|
+
// live update landed earlier), deliver it now so the late-joining
|
|
242
|
+
// context sees the latest snapshot immediately. The `__pending__`
|
|
243
|
+
// sentinel key is used when the message arrives before any context
|
|
244
|
+
// is registered — we move it to the real id and clear the sentinel.
|
|
245
|
+
const existing = (_a = this.preferences.get(extensionId)) !== null && _a !== void 0 ? _a : this.preferences.get('__pending__');
|
|
246
|
+
if (existing) {
|
|
247
|
+
context.setPreferences(existing);
|
|
248
|
+
this.preferences.set(extensionId, existing);
|
|
249
|
+
this.preferences.delete('__pending__');
|
|
250
|
+
}
|
|
251
|
+
}
|
|
252
|
+
/**
|
|
253
|
+
* Store a preference bundle (extension-level + command-level) for an
|
|
254
|
+
* extension. Called by the host-side ExtensionLoader before the extension
|
|
255
|
+
* is initialized, so that `initializeExtensions` can hand it to the new
|
|
256
|
+
* ExtensionContext as a frozen snapshot.
|
|
257
|
+
*/
|
|
258
|
+
setPreferences(extensionId, bundle) {
|
|
259
|
+
this.preferences.set(extensionId, bundle);
|
|
260
|
+
}
|
|
142
261
|
// Register an extension manifest
|
|
143
262
|
registerManifest(manifest) {
|
|
144
263
|
this.extensionManifests.set(manifest.id, manifest);
|
|
@@ -164,8 +283,17 @@ class ExtensionBridge {
|
|
|
164
283
|
}
|
|
165
284
|
this.logger.debug(`Initializing extension: ${manifest.id} (${manifest.name})`);
|
|
166
285
|
const context = new ExtensionContext_1.ExtensionContext();
|
|
286
|
+
// `setExtensionId` self-registers the context with the bridge and
|
|
287
|
+
// drains any stashed preferences bundle (either under `manifest.id`
|
|
288
|
+
// or the `__pending__` sentinel). No need to set `activeContexts`
|
|
289
|
+
// or call `setPreferences` directly here — it already happened.
|
|
167
290
|
context.setExtensionId(manifest.id);
|
|
168
|
-
|
|
291
|
+
try {
|
|
292
|
+
yield extension.initialize(context);
|
|
293
|
+
}
|
|
294
|
+
catch (error) {
|
|
295
|
+
this.logger.error(`Failed to initialize extension ${manifest.id}: ${error}`);
|
|
296
|
+
}
|
|
169
297
|
}
|
|
170
298
|
});
|
|
171
299
|
}
|
|
@@ -177,7 +305,12 @@ class ExtensionBridge {
|
|
|
177
305
|
if (!manifest)
|
|
178
306
|
continue;
|
|
179
307
|
this.logger.debug(`Activating extension: ${manifest.id}`);
|
|
180
|
-
|
|
308
|
+
try {
|
|
309
|
+
yield extension.activate();
|
|
310
|
+
}
|
|
311
|
+
catch (error) {
|
|
312
|
+
this.logger.error(`Failed to activate extension ${manifest.id}: ${error}`);
|
|
313
|
+
}
|
|
181
314
|
}
|
|
182
315
|
});
|
|
183
316
|
}
|
|
@@ -189,7 +322,12 @@ class ExtensionBridge {
|
|
|
189
322
|
if (!manifest)
|
|
190
323
|
continue;
|
|
191
324
|
this.logger.debug(`Deactivating extension: ${manifest.id}`);
|
|
192
|
-
|
|
325
|
+
try {
|
|
326
|
+
yield extension.deactivate();
|
|
327
|
+
}
|
|
328
|
+
catch (error) {
|
|
329
|
+
this.logger.error(`Failed to deactivate extension ${manifest.id}: ${error}`);
|
|
330
|
+
}
|
|
193
331
|
}
|
|
194
332
|
});
|
|
195
333
|
}
|
|
@@ -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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"}
|
|
@@ -226,4 +226,69 @@ vitest_1.vi.mock('./services/LogServiceProxy', () => ({
|
|
|
226
226
|
});
|
|
227
227
|
}));
|
|
228
228
|
});
|
|
229
|
+
(0, vitest_1.describe)('ExtensionBridge registerActionHandler', () => {
|
|
230
|
+
let messageHandler;
|
|
231
|
+
(0, vitest_1.beforeEach)(() => {
|
|
232
|
+
vitest_1.vi.resetModules();
|
|
233
|
+
vitest_1.vi.spyOn(window, 'addEventListener').mockImplementation((type, handler) => {
|
|
234
|
+
if (type === 'message') {
|
|
235
|
+
messageHandler = handler;
|
|
236
|
+
}
|
|
237
|
+
});
|
|
238
|
+
Object.defineProperty(window, 'parent', {
|
|
239
|
+
value: { postMessage: vitest_1.vi.fn() },
|
|
240
|
+
writable: true,
|
|
241
|
+
configurable: true,
|
|
242
|
+
});
|
|
243
|
+
});
|
|
244
|
+
(0, vitest_1.afterEach)(() => {
|
|
245
|
+
vitest_1.vi.restoreAllMocks();
|
|
246
|
+
messageHandler = undefined;
|
|
247
|
+
});
|
|
248
|
+
(0, vitest_1.it)('stores handler in actionRegistry with full action ID', () => __awaiter(void 0, void 0, void 0, function* () {
|
|
249
|
+
const { ExtensionBridge } = yield Promise.resolve().then(() => __importStar(require('./ExtensionBridge')));
|
|
250
|
+
const bridge = ExtensionBridge.getInstance();
|
|
251
|
+
const handler = vitest_1.vi.fn();
|
|
252
|
+
bridge.registerActionHandler('com.example.github', 'open-browser', handler);
|
|
253
|
+
const actions = bridge.getActions();
|
|
254
|
+
const found = actions.find(a => a.id === 'act_com.example.github_open-browser');
|
|
255
|
+
(0, vitest_1.expect)(found).toBeDefined();
|
|
256
|
+
(0, vitest_1.expect)(found.extensionId).toBe('com.example.github');
|
|
257
|
+
}));
|
|
258
|
+
(0, vitest_1.it)('handler is invoked when asyar:action:execute message arrives', () => __awaiter(void 0, void 0, void 0, function* () {
|
|
259
|
+
const { ExtensionBridge } = yield Promise.resolve().then(() => __importStar(require('./ExtensionBridge')));
|
|
260
|
+
const bridge = ExtensionBridge.getInstance();
|
|
261
|
+
const handler = vitest_1.vi.fn();
|
|
262
|
+
bridge.registerActionHandler('com.example.github', 'open-browser', handler);
|
|
263
|
+
(0, vitest_1.expect)(messageHandler).toBeDefined();
|
|
264
|
+
const event = new MessageEvent('message', {
|
|
265
|
+
data: {
|
|
266
|
+
type: 'asyar:action:execute',
|
|
267
|
+
payload: { actionId: 'act_com.example.github_open-browser' },
|
|
268
|
+
},
|
|
269
|
+
source: window.parent,
|
|
270
|
+
});
|
|
271
|
+
messageHandler(event);
|
|
272
|
+
yield vitest_1.vi.waitFor(() => {
|
|
273
|
+
(0, vitest_1.expect)(handler).toHaveBeenCalledOnce();
|
|
274
|
+
});
|
|
275
|
+
}));
|
|
276
|
+
(0, vitest_1.it)('does not invoke handler for non-matching action ID', () => __awaiter(void 0, void 0, void 0, function* () {
|
|
277
|
+
const { ExtensionBridge } = yield Promise.resolve().then(() => __importStar(require('./ExtensionBridge')));
|
|
278
|
+
const bridge = ExtensionBridge.getInstance();
|
|
279
|
+
const handler = vitest_1.vi.fn();
|
|
280
|
+
bridge.registerActionHandler('com.example.github', 'open-browser', handler);
|
|
281
|
+
const event = new MessageEvent('message', {
|
|
282
|
+
data: {
|
|
283
|
+
type: 'asyar:action:execute',
|
|
284
|
+
payload: { actionId: 'act_com.example.github_wrong-action' },
|
|
285
|
+
},
|
|
286
|
+
source: window.parent,
|
|
287
|
+
});
|
|
288
|
+
messageHandler(event);
|
|
289
|
+
// Give it a tick to process
|
|
290
|
+
yield new Promise(r => setTimeout(r, 10));
|
|
291
|
+
(0, vitest_1.expect)(handler).not.toHaveBeenCalled();
|
|
292
|
+
}));
|
|
293
|
+
});
|
|
229
294
|
//# sourceMappingURL=ExtensionBridge.test.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ExtensionBridge.test.js","sourceRoot":"","sources":["../src/ExtensionBridge.test.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"ExtensionBridge.test.js","sourceRoot":"","sources":["../src/ExtensionBridge.test.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,9 +1,66 @@
|
|
|
1
1
|
import type { ExtensionSyncProvider } from "./types/SyncType";
|
|
2
2
|
import type { ExtensionAction } from "./types/ActionType";
|
|
3
3
|
import type { CommandHandler } from "./types/CommandType";
|
|
4
|
-
import { LogServiceProxy, NotificationServiceProxy, ClipboardHistoryServiceProxy, ExtensionManagerProxy, CommandServiceProxy, ActionServiceProxy, NetworkServiceProxy, SettingsServiceProxy, StatusBarServiceProxy, EntitlementServiceProxy } from "./services";
|
|
4
|
+
import { LogServiceProxy, NotificationServiceProxy, ClipboardHistoryServiceProxy, ExtensionManagerProxy, CommandServiceProxy, ActionServiceProxy, NetworkServiceProxy, SettingsServiceProxy, StatusBarServiceProxy, EntitlementServiceProxy, StorageServiceProxy, FeedbackServiceProxy, SelectionServiceProxy, ShellServiceProxy, CacheServiceProxy, ApplicationServiceProxy } from "./services";
|
|
5
|
+
import { AIServiceProxy } from './services/AIServiceProxy';
|
|
6
|
+
import { OAuthServiceProxy } from './services/OAuthServiceProxy';
|
|
7
|
+
import { FileManagerServiceProxy } from './services/FileManagerServiceProxy';
|
|
8
|
+
import { InteropServiceProxy } from './services/InteropServiceProxy';
|
|
9
|
+
import { WindowManagementServiceProxy } from './services/WindowManagementService';
|
|
10
|
+
/**
|
|
11
|
+
* A frozen snapshot of an extension's effective preferences, taken at
|
|
12
|
+
* extension boot. Extension-level preferences are flat keys on this object;
|
|
13
|
+
* command-level preferences live under `commands[commandId]`.
|
|
14
|
+
*
|
|
15
|
+
* This snapshot is NOT live. When the user edits preferences in Settings,
|
|
16
|
+
* the launcher reloads the extension and a fresh context is created.
|
|
17
|
+
* Extensions should not cache `context.preferences` across reloads.
|
|
18
|
+
*/
|
|
19
|
+
export interface PreferencesSnapshot {
|
|
20
|
+
[key: string]: unknown;
|
|
21
|
+
commands: {
|
|
22
|
+
[commandId: string]: {
|
|
23
|
+
[key: string]: unknown;
|
|
24
|
+
};
|
|
25
|
+
};
|
|
26
|
+
}
|
|
5
27
|
export declare class ExtensionContext {
|
|
6
28
|
private extensionId;
|
|
29
|
+
preferences: PreferencesSnapshot;
|
|
30
|
+
/**
|
|
31
|
+
* Listeners notified *after* `setPreferences` installs a new frozen
|
|
32
|
+
* snapshot. Callbacks take no arguments and must re-read fresh values
|
|
33
|
+
* from `context.preferences` — the snapshot is already in place when
|
|
34
|
+
* they fire. This is a read-only notification, not a live getter:
|
|
35
|
+
* extensions that cache preference values at boot subscribe here to
|
|
36
|
+
* recompute when the user edits their settings.
|
|
37
|
+
*/
|
|
38
|
+
private preferenceChangeListeners;
|
|
39
|
+
/**
|
|
40
|
+
* Replace the preferences snapshot. Called once at extension boot by
|
|
41
|
+
* ExtensionBridge, and again when the user edits preferences in the
|
|
42
|
+
* launcher's Extensions settings tab. The snapshot is frozen at all
|
|
43
|
+
* nesting levels — extensions cannot mutate it.
|
|
44
|
+
*
|
|
45
|
+
* After the snapshot is installed, registered `onPreferencesChanged`
|
|
46
|
+
* listeners fire. They must re-read `context.preferences` to pick up
|
|
47
|
+
* the new values.
|
|
48
|
+
*/
|
|
49
|
+
setPreferences(bundle: {
|
|
50
|
+
extension: Record<string, unknown>;
|
|
51
|
+
commands: Record<string, Record<string, unknown>>;
|
|
52
|
+
}): void;
|
|
53
|
+
/**
|
|
54
|
+
* Subscribe to preference change notifications. Returns an unsubscribe
|
|
55
|
+
* function. The callback fires *after* `context.preferences` has been
|
|
56
|
+
* replaced with a new frozen snapshot — re-read values inside the
|
|
57
|
+
* callback, do not capture them from the enclosing scope.
|
|
58
|
+
*
|
|
59
|
+
* Typical use: an extension that caches a preference value at
|
|
60
|
+
* `initialize()` time (e.g. to feed a timer engine's internal state)
|
|
61
|
+
* uses this to recompute when the user edits the setting.
|
|
62
|
+
*/
|
|
63
|
+
onPreferencesChanged(callback: () => void): () => void;
|
|
7
64
|
readonly proxies: {
|
|
8
65
|
LogService: LogServiceProxy;
|
|
9
66
|
NotificationService: NotificationServiceProxy;
|
|
@@ -15,6 +72,17 @@ export declare class ExtensionContext {
|
|
|
15
72
|
SettingsService: SettingsServiceProxy;
|
|
16
73
|
StatusBarService: StatusBarServiceProxy;
|
|
17
74
|
EntitlementService: EntitlementServiceProxy;
|
|
75
|
+
StorageService: StorageServiceProxy;
|
|
76
|
+
FeedbackService: FeedbackServiceProxy;
|
|
77
|
+
SelectionService: SelectionServiceProxy;
|
|
78
|
+
AIService: AIServiceProxy;
|
|
79
|
+
OAuthService: OAuthServiceProxy;
|
|
80
|
+
ShellService: ShellServiceProxy;
|
|
81
|
+
FileManagerService: FileManagerServiceProxy;
|
|
82
|
+
InteropService: InteropServiceProxy;
|
|
83
|
+
CacheService: CacheServiceProxy;
|
|
84
|
+
ApplicationService: ApplicationServiceProxy;
|
|
85
|
+
WindowManagementService: WindowManagementServiceProxy;
|
|
18
86
|
};
|
|
19
87
|
constructor();
|
|
20
88
|
private setupFocusTracking;
|
|
@@ -25,6 +93,14 @@ export declare class ExtensionContext {
|
|
|
25
93
|
unregisterAction(actionId: string): void;
|
|
26
94
|
registerCommand(commandId: string, handler: CommandHandler): void;
|
|
27
95
|
unregisterCommand(commandId: string): void;
|
|
96
|
+
/**
|
|
97
|
+
* Build an `asyar://extensions/{extensionId}/{commandId}?args` deep link URL
|
|
98
|
+
* for a command owned by this extension. Pure string formatting — no IPC.
|
|
99
|
+
*
|
|
100
|
+
* Extensions can embed the returned URL in notifications, clipboard output,
|
|
101
|
+
* generated documents, or pass it to other apps.
|
|
102
|
+
*/
|
|
103
|
+
createDeeplink(commandId: string, args?: Record<string, string>): string;
|
|
28
104
|
registerSyncProvider(provider: ExtensionSyncProvider): void;
|
|
29
105
|
}
|
|
30
106
|
export declare function injectThemeVariables(vars: Record<string, string>): void;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ExtensionContext.d.ts","sourceRoot":"","sources":["../src/ExtensionContext.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,kBAAkB,CAAC;AAC9D,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AAC1D,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAC1D,OAAO,EACL,eAAe,EACf,wBAAwB,EACxB,4BAA4B,EAC5B,qBAAqB,EACrB,mBAAmB,EACnB,kBAAkB,EAClB,mBAAmB,EACnB,oBAAoB,EACpB,qBAAqB,EACrB,uBAAuB,EACxB,MAAM,YAAY,CAAC;
|
|
1
|
+
{"version":3,"file":"ExtensionContext.d.ts","sourceRoot":"","sources":["../src/ExtensionContext.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,kBAAkB,CAAC;AAC9D,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AAC1D,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAC1D,OAAO,EACL,eAAe,EACf,wBAAwB,EACxB,4BAA4B,EAC5B,qBAAqB,EACrB,mBAAmB,EACnB,kBAAkB,EAClB,mBAAmB,EACnB,oBAAoB,EACpB,qBAAqB,EACrB,uBAAuB,EACvB,mBAAmB,EACnB,oBAAoB,EACpB,qBAAqB,EACrB,iBAAiB,EACjB,iBAAiB,EACjB,uBAAuB,EACxB,MAAM,YAAY,CAAC;AACpB,OAAO,EAAE,cAAc,EAAE,MAAM,2BAA2B,CAAC;AAC3D,OAAO,EAAE,iBAAiB,EAAE,MAAM,8BAA8B,CAAC;AACjE,OAAO,EAAE,uBAAuB,EAAE,MAAM,oCAAoC,CAAC;AAC7E,OAAO,EAAE,mBAAmB,EAAE,MAAM,gCAAgC,CAAC;AACrE,OAAO,EAAE,4BAA4B,EAAE,MAAM,oCAAoC,CAAC;AAElF;;;;;;;;GAQG;AACH,MAAM,WAAW,mBAAmB;IAClC,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;IACvB,QAAQ,EAAE;QAAE,CAAC,SAAS,EAAE,MAAM,GAAG;YAAE,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAA;SAAE,CAAA;KAAE,CAAC;CAC/D;AAGD,qBAAa,gBAAgB;IAC3B,OAAO,CAAC,WAAW,CAAc;IAC1B,WAAW,EAAE,mBAAmB,CAEb;IAE1B;;;;;;;OAOG;IACH,OAAO,CAAC,yBAAyB,CAAyB;IAE1D;;;;;;;;;OASG;IACI,cAAc,CAAC,MAAM,EAAE;QAC5B,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;QACnC,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC;KACnD,GAAG,IAAI;IAoBR;;;;;;;;;OASG;IACI,oBAAoB,CAAC,QAAQ,EAAE,MAAM,IAAI,GAAG,MAAM,IAAI;IAU7D,SAAgB,OAAO;;;;;;;;;;;;;;;;;;;;;;MAsBrB;;IAOF,OAAO,CAAC,kBAAkB;IA6C1B,OAAO,CAAC,mBAAmB;IAoB3B,UAAU,CAAC,CAAC,EAAE,WAAW,EAAE,MAAM,GAAG,CAAC;IAQrC,cAAc,CAAC,EAAE,EAAE,MAAM,GAAG,IAAI;IAgChC,cAAc,CAAC,MAAM,EAAE,eAAe,GAAG,IAAI;IAa7C,gBAAgB,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI;IASxC,eAAe,CAAC,SAAS,EAAE,MAAM,EAAE,OAAO,EAAE,cAAc,GAAG,IAAI;IAiBjE,iBAAiB,CAAC,SAAS,EAAE,MAAM,GAAG,IAAI;IAS1C;;;;;;OAMG;IACH,cAAc,CAAC,SAAS,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,MAAM;IAYxE,oBAAoB,CAAC,QAAQ,EAAE,qBAAqB,GAAG,IAAI;CAyF5D;AAGD,wBAAgB,oBAAoB,CAAC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,IAAI,CAWvE;AAGD,wBAAgB,iBAAiB,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI,CAQnD"}
|