asyar-sdk 2.4.0 → 2.6.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 (85) hide show
  1. package/dist/contracts/runs.d.ts +48 -0
  2. package/dist/contracts/runs.d.ts.map +1 -0
  3. package/dist/contracts/runs.js +2 -0
  4. package/dist/contracts/runs.js.map +1 -0
  5. package/dist/contracts/runs.test.d.ts +2 -0
  6. package/dist/contracts/runs.test.d.ts.map +1 -0
  7. package/dist/contracts/runs.test.js +27 -0
  8. package/dist/contracts/runs.test.js.map +1 -0
  9. package/dist/contracts/tools.d.ts +22 -0
  10. package/dist/contracts/tools.d.ts.map +1 -0
  11. package/dist/contracts/tools.js +2 -0
  12. package/dist/contracts/tools.js.map +1 -0
  13. package/dist/contracts/tools.test.d.ts +2 -0
  14. package/dist/contracts/tools.test.d.ts.map +1 -0
  15. package/dist/contracts/tools.test.js +96 -0
  16. package/dist/contracts/tools.test.js.map +1 -0
  17. package/dist/contracts.d.ts +3 -0
  18. package/dist/contracts.d.ts.map +1 -1
  19. package/dist/contracts.js +1 -0
  20. package/dist/contracts.js.map +1 -1
  21. package/dist/icons/IconRenderer.test.js +12 -0
  22. package/dist/icons/IconRenderer.test.js.map +1 -1
  23. package/dist/icons/iconData.d.ts.map +1 -1
  24. package/dist/icons/iconData.js +43 -0
  25. package/dist/icons/iconData.js.map +1 -1
  26. package/dist/ipc/namespaces.d.ts +1 -1
  27. package/dist/ipc/namespaces.d.ts.map +1 -1
  28. package/dist/ipc/namespaces.js +2 -0
  29. package/dist/ipc/namespaces.js.map +1 -1
  30. package/dist/ipc/namespaces.test.js +1 -1
  31. package/dist/ipc/namespaces.test.js.map +1 -1
  32. package/dist/ipc/namespaces.tools.test.d.ts +2 -0
  33. package/dist/ipc/namespaces.tools.test.d.ts.map +1 -0
  34. package/dist/ipc/namespaces.tools.test.js +8 -0
  35. package/dist/ipc/namespaces.tools.test.js.map +1 -0
  36. package/dist/services/BaseServiceProxy.d.ts.map +1 -1
  37. package/dist/services/BaseServiceProxy.js +8 -0
  38. package/dist/services/BaseServiceProxy.js.map +1 -1
  39. package/dist/services/CommandServiceProxy.d.ts +13 -1
  40. package/dist/services/CommandServiceProxy.d.ts.map +1 -1
  41. package/dist/services/CommandServiceProxy.js +24 -0
  42. package/dist/services/CommandServiceProxy.js.map +1 -1
  43. package/dist/services/CommandServiceProxy.test.js +66 -1
  44. package/dist/services/CommandServiceProxy.test.js.map +1 -1
  45. package/dist/services/ICommandService.d.ts +15 -1
  46. package/dist/services/ICommandService.d.ts.map +1 -1
  47. package/dist/services/RunServiceProxy.d.ts +9 -0
  48. package/dist/services/RunServiceProxy.d.ts.map +1 -0
  49. package/dist/services/RunServiceProxy.js +93 -0
  50. package/dist/services/RunServiceProxy.js.map +1 -0
  51. package/dist/services/RunServiceProxy.test.d.ts +2 -0
  52. package/dist/services/RunServiceProxy.test.d.ts.map +1 -0
  53. package/dist/services/RunServiceProxy.test.js +180 -0
  54. package/dist/services/RunServiceProxy.test.js.map +1 -0
  55. package/dist/services/ToolsServiceProxy.d.ts +11 -0
  56. package/dist/services/ToolsServiceProxy.d.ts.map +1 -0
  57. package/dist/services/ToolsServiceProxy.js +45 -0
  58. package/dist/services/ToolsServiceProxy.js.map +1 -0
  59. package/dist/services/ToolsServiceProxy.test.d.ts +2 -0
  60. package/dist/services/ToolsServiceProxy.test.d.ts.map +1 -0
  61. package/dist/services/ToolsServiceProxy.test.js +142 -0
  62. package/dist/services/ToolsServiceProxy.test.js.map +1 -0
  63. package/dist/types/ActionType.d.ts +2 -0
  64. package/dist/types/ActionType.d.ts.map +1 -1
  65. package/dist/types/ActionType.js.map +1 -1
  66. package/dist/types/ClipboardType.d.ts +9 -0
  67. package/dist/types/ClipboardType.d.ts.map +1 -1
  68. package/dist/types/CommandType.d.ts +31 -0
  69. package/dist/types/CommandType.d.ts.map +1 -1
  70. package/dist/types/ExtensionType.d.ts +10 -0
  71. package/dist/types/ExtensionType.d.ts.map +1 -1
  72. package/dist/types/ExtensionType.tools.test.d.ts +2 -0
  73. package/dist/types/ExtensionType.tools.test.d.ts.map +1 -0
  74. package/dist/types/ExtensionType.tools.test.js +57 -0
  75. package/dist/types/ExtensionType.tools.test.js.map +1 -0
  76. package/dist/worker.d.ts.map +1 -1
  77. package/dist/worker.js +62 -1
  78. package/dist/worker.js.map +1 -1
  79. package/dist/worker.test.js +2 -0
  80. package/dist/worker.test.js.map +1 -1
  81. package/dist/worker.tools.test.d.ts +2 -0
  82. package/dist/worker.tools.test.d.ts.map +1 -0
  83. package/dist/worker.tools.test.js +100 -0
  84. package/dist/worker.tools.test.js.map +1 -0
  85. package/package.json +1 -1
@@ -0,0 +1,48 @@
1
+ export type RunStatus = 'pending' | 'running' | 'succeeded' | 'failed' | 'cancelled';
2
+ export type RunKind = 'ai-chat' | 'shell-script' | 'agent' | 'custom';
3
+ export interface Run {
4
+ id: string;
5
+ kind: RunKind;
6
+ label: string;
7
+ status: RunStatus;
8
+ extensionId?: string;
9
+ startedAt: number;
10
+ endedAt?: number;
11
+ cancellable: boolean;
12
+ errorMessage?: string;
13
+ /**
14
+ * Stable join key linking a run back to its dynamic command's `object_id`.
15
+ * Set by built-in dispatch sites (scripts, agents) so the launcher can
16
+ * surface a status dot next to the originating row without fragile label
17
+ * matching. Format: `cmd_scripts_dyn_<dynamicId>` for a script run,
18
+ * `cmd_agents_dyn_<agentId>` for an agent run. `undefined` for ad-hoc
19
+ * runs (Tier 2 RunService.start calls, custom kinds, label-only runs).
20
+ */
21
+ subjectId?: string;
22
+ }
23
+ export interface RunHandle {
24
+ readonly id: string;
25
+ write(line: string): Promise<void>;
26
+ done(): Promise<void>;
27
+ fail(error: string): Promise<void>;
28
+ cancel(): Promise<void>;
29
+ onCancel(cb: () => void): () => void;
30
+ /**
31
+ * True after the launcher confirms cancellation via the cancel event.
32
+ * Note: not synchronously true after `cancel()` resolves — the event arrives on a round-trip.
33
+ */
34
+ readonly cancelled: boolean;
35
+ }
36
+ export interface RunStartInput {
37
+ label: string;
38
+ kind: RunKind;
39
+ cancellable?: boolean;
40
+ }
41
+ export interface IRunService {
42
+ /**
43
+ * Start a new run. The returned handle holds a cancel-event subscription;
44
+ * always call `done()`, `fail()`, or `cancel()` to release it.
45
+ */
46
+ start(input: RunStartInput): Promise<RunHandle>;
47
+ }
48
+ //# sourceMappingURL=runs.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"runs.d.ts","sourceRoot":"","sources":["../../src/contracts/runs.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,SAAS,GAAG,SAAS,GAAG,SAAS,GAAG,WAAW,GAAG,QAAQ,GAAG,WAAW,CAAC;AACrF,MAAM,MAAM,OAAO,GAAG,SAAS,GAAG,cAAc,GAAG,OAAO,GAAG,QAAQ,CAAC;AAEtE,MAAM,WAAW,GAAG;IAClB,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,OAAO,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,SAAS,CAAC;IAClB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,WAAW,EAAE,OAAO,CAAC;IACrB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB;;;;;;;OAOG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,SAAS;IACxB,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IACpB,KAAK,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACnC,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IACtB,IAAI,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACnC,MAAM,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IACxB,QAAQ,CAAC,EAAE,EAAE,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC;IACrC;;;OAGG;IACH,QAAQ,CAAC,SAAS,EAAE,OAAO,CAAC;CAC7B;AAED,MAAM,WAAW,aAAa;IAC5B,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,OAAO,CAAC;IACd,WAAW,CAAC,EAAE,OAAO,CAAC;CACvB;AAED,MAAM,WAAW,WAAW;IAC1B;;;OAGG;IACH,KAAK,CAAC,KAAK,EAAE,aAAa,GAAG,OAAO,CAAC,SAAS,CAAC,CAAC;CACjD"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=runs.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"runs.js","sourceRoot":"","sources":["../../src/contracts/runs.ts"],"names":[],"mappings":""}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=runs.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"runs.test.d.ts","sourceRoot":"","sources":["../../src/contracts/runs.test.ts"],"names":[],"mappings":""}
@@ -0,0 +1,27 @@
1
+ import { describe, expect, it } from 'vitest';
2
+ describe('Run contract', () => {
3
+ it('carries an optional subjectId for the run-to-item join', () => {
4
+ const r = {
5
+ id: 'r1',
6
+ kind: 'shell-script',
7
+ label: 'Hosts Update',
8
+ status: 'running',
9
+ startedAt: 1700000000000,
10
+ cancellable: false,
11
+ subjectId: 'cmd_scripts_dyn_abc',
12
+ };
13
+ expect(r.subjectId).toBe('cmd_scripts_dyn_abc');
14
+ });
15
+ it('accepts a Run without subjectId (ad-hoc / Tier 2 runs)', () => {
16
+ const r = {
17
+ id: 'r1',
18
+ kind: 'custom',
19
+ label: 'misc',
20
+ status: 'pending',
21
+ startedAt: 0,
22
+ cancellable: false,
23
+ };
24
+ expect(r.subjectId).toBeUndefined();
25
+ });
26
+ });
27
+ //# sourceMappingURL=runs.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"runs.test.js","sourceRoot":"","sources":["../../src/contracts/runs.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,QAAQ,CAAC;AAG9C,QAAQ,CAAC,cAAc,EAAE,GAAG,EAAE;IAC5B,EAAE,CAAC,wDAAwD,EAAE,GAAG,EAAE;QAChE,MAAM,CAAC,GAAQ;YACb,EAAE,EAAE,IAAI;YACR,IAAI,EAAE,cAAc;YACpB,KAAK,EAAE,cAAc;YACrB,MAAM,EAAE,SAAS;YACjB,SAAS,EAAE,aAAiB;YAC5B,WAAW,EAAE,KAAK;YAClB,SAAS,EAAE,qBAAqB;SACjC,CAAC;QACF,MAAM,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,IAAI,CAAC,qBAAqB,CAAC,CAAC;IAClD,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,wDAAwD,EAAE,GAAG,EAAE;QAChE,MAAM,CAAC,GAAQ;YACb,EAAE,EAAE,IAAI;YACR,IAAI,EAAE,QAAQ;YACd,KAAK,EAAE,MAAM;YACb,MAAM,EAAE,SAAS;YACjB,SAAS,EAAE,CAAC;YACZ,WAAW,EAAE,KAAK;SACnB,CAAC;QACF,MAAM,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,aAAa,EAAE,CAAC;IACtC,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
@@ -0,0 +1,22 @@
1
+ export interface ManifestTool {
2
+ id: string;
3
+ name: string;
4
+ description: string;
5
+ parameters: Record<string, unknown>;
6
+ }
7
+ export type ToolFullyQualifiedId = `${string}:${string}`;
8
+ export interface ToolDescriptor extends ManifestTool {
9
+ source: 'builtin' | {
10
+ extensionId: string;
11
+ } | {
12
+ mcpServerId: string;
13
+ };
14
+ fullyQualifiedId: ToolFullyQualifiedId;
15
+ }
16
+ export type ToolHandler = (args: unknown) => Promise<unknown>;
17
+ export interface IToolsService {
18
+ registerTool(tool: ManifestTool, handler: ToolHandler): Promise<void>;
19
+ unregisterTool(id: string): Promise<void>;
20
+ listTools(): Promise<ToolDescriptor[]>;
21
+ }
22
+ //# sourceMappingURL=tools.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tools.d.ts","sourceRoot":"","sources":["../../src/contracts/tools.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,YAAY;IAC3B,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACrC;AAED,MAAM,MAAM,oBAAoB,GAAG,GAAG,MAAM,IAAI,MAAM,EAAE,CAAC;AAEzD,MAAM,WAAW,cAAe,SAAQ,YAAY;IAClD,MAAM,EAAE,SAAS,GAAG;QAAE,WAAW,EAAE,MAAM,CAAA;KAAE,GAAG;QAAE,WAAW,EAAE,MAAM,CAAA;KAAE,CAAC;IACtE,gBAAgB,EAAE,oBAAoB,CAAC;CACxC;AAED,MAAM,MAAM,WAAW,GAAG,CAAC,IAAI,EAAE,OAAO,KAAK,OAAO,CAAC,OAAO,CAAC,CAAC;AAE9D,MAAM,WAAW,aAAa;IAC5B,YAAY,CAAC,IAAI,EAAE,YAAY,EAAE,OAAO,EAAE,WAAW,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACtE,cAAc,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAC1C,SAAS,IAAI,OAAO,CAAC,cAAc,EAAE,CAAC,CAAC;CACxC"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=tools.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tools.js","sourceRoot":"","sources":["../../src/contracts/tools.ts"],"names":[],"mappings":""}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=tools.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tools.test.d.ts","sourceRoot":"","sources":["../../src/contracts/tools.test.ts"],"names":[],"mappings":""}
@@ -0,0 +1,96 @@
1
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
2
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
3
+ return new (P || (P = Promise))(function (resolve, reject) {
4
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
5
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
6
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
7
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
8
+ });
9
+ };
10
+ import { describe, it, expect } from 'vitest';
11
+ /**
12
+ * Tests for the ManifestTool / ToolDescriptor / IToolsService contracts
13
+ * defined in src/contracts/tools.ts.
14
+ *
15
+ * Vitest + Vite resolve imports at transform time, so we assert module
16
+ * existence by checking the public re-export surface in contracts.ts
17
+ * rather than importing from the not-yet-created file directly.
18
+ */
19
+ describe('tools contracts — re-exported through contracts.ts', () => {
20
+ it('contracts.ts re-exports IToolsService', () => __awaiter(void 0, void 0, void 0, function* () {
21
+ const mod = yield import('../contracts');
22
+ expect('IToolsService' in mod || true).toBe(true);
23
+ // The real assertion: when tools.ts exists and is re-exported,
24
+ // contracts.ts will contain the type. We assert the module has
25
+ // a known symbol that item 5 must add — ToolsServiceProxy.
26
+ // If absent, worker cannot wire the proxy.
27
+ expect(typeof mod.ToolsServiceProxy).not.toBe('undefined');
28
+ }));
29
+ });
30
+ describe('ManifestTool shape', () => {
31
+ it('tool object with id/name/description/parameters is valid', () => {
32
+ const tool = {
33
+ id: 'search-web',
34
+ name: 'Search Web',
35
+ description: 'Searches the web',
36
+ parameters: { type: 'object', properties: { query: { type: 'string' } } },
37
+ };
38
+ expect(tool.id).toBe('search-web');
39
+ expect(tool.name).toBe('Search Web');
40
+ expect(tool.description).toBe('Searches the web');
41
+ expect(typeof tool.parameters).toBe('object');
42
+ });
43
+ });
44
+ describe('ToolDescriptor shape', () => {
45
+ it('builtin source descriptor is valid', () => {
46
+ const descriptor = {
47
+ id: 'open-url',
48
+ name: 'Open URL',
49
+ description: 'Opens a URL',
50
+ parameters: {},
51
+ source: 'builtin',
52
+ fullyQualifiedId: 'builtin:open-url',
53
+ };
54
+ expect(descriptor.source).toBe('builtin');
55
+ expect(descriptor.fullyQualifiedId).toMatch(/^builtin:/);
56
+ });
57
+ it('extension source descriptor is valid', () => {
58
+ const descriptor = {
59
+ id: 'my-tool',
60
+ name: 'My Tool',
61
+ description: 'Does something',
62
+ parameters: {},
63
+ source: { extensionId: 'com.example.my-ext' },
64
+ fullyQualifiedId: 'com.example.my-ext:my-tool',
65
+ };
66
+ expect(descriptor.source.extensionId).toBe('com.example.my-ext');
67
+ expect(descriptor.fullyQualifiedId).toMatch(/^[^:]+:[^:]+$/);
68
+ });
69
+ });
70
+ describe('ToolDescriptor shape', () => {
71
+ it('mcp source descriptor is valid', () => {
72
+ const descriptor = {
73
+ id: 'search-web',
74
+ name: 'Search Web',
75
+ description: 'Searches via MCP',
76
+ parameters: {},
77
+ source: { mcpServerId: 'srv-acme' },
78
+ fullyQualifiedId: 'mcp:srv-acme:search-web',
79
+ };
80
+ expect(descriptor.source.mcpServerId).toBe('srv-acme');
81
+ expect(descriptor.fullyQualifiedId).toMatch(/^mcp:[^:]+:[^:]+$/);
82
+ });
83
+ });
84
+ describe('IToolsService mock', () => {
85
+ it('registerTool/unregisterTool/listTools are async', () => {
86
+ const svc = {
87
+ registerTool: (_tool, _handler) => __awaiter(void 0, void 0, void 0, function* () { return undefined; }),
88
+ unregisterTool: (_id) => __awaiter(void 0, void 0, void 0, function* () { return undefined; }),
89
+ listTools: () => __awaiter(void 0, void 0, void 0, function* () { return []; }),
90
+ };
91
+ expect(svc.registerTool({}, () => __awaiter(void 0, void 0, void 0, function* () { return null; }))).toBeInstanceOf(Promise);
92
+ expect(svc.unregisterTool('t')).toBeInstanceOf(Promise);
93
+ expect(svc.listTools()).toBeInstanceOf(Promise);
94
+ });
95
+ });
96
+ //# sourceMappingURL=tools.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tools.test.js","sourceRoot":"","sources":["../../src/contracts/tools.test.ts"],"names":[],"mappings":"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"}
@@ -28,6 +28,9 @@ export type { ISearchBarAccessoryService } from './services/ISearchBarAccessoryS
28
28
  export type { SearchBarAccessoryDropdownOption, SearchBarAccessoryManifestDeclaration, SearchBarAccessorySetOptions, SearchBarAccessoryListener, } from './types/SearchBarAccessoryType';
29
29
  export { SearchBarAccessoryServiceProxy } from './services/SearchBarAccessoryServiceProxy';
30
30
  export type { Diagnostic, DiagnosticSource, IDiagnosticsService, Severity } from './contracts/diagnostics';
31
+ export type { Run, RunHandle, RunKind, RunStartInput, RunStatus, IRunService } from './contracts/runs';
32
+ export type { ManifestTool, ToolDescriptor, ToolFullyQualifiedId, ToolHandler, IToolsService } from './contracts/tools';
33
+ export { ToolsServiceProxy } from './services/ToolsServiceProxy';
31
34
  export { ExtensionStateProxy, extensionStateProxy } from './services/ExtensionStateProxy';
32
35
  export { ExtensionRpc, extensionRpc } from './services/ExtensionRpc';
33
36
  export { ExtensionManagerProxy, StatusBarServiceProxy, } from './services';
@@ -1 +1 @@
1
- {"version":3,"file":"contracts.d.ts","sourceRoot":"","sources":["../src/contracts.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,EAAE,eAAe,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACrE,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AACtD,OAAO,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAC;AAC9D,YAAY,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAC;AAGnE,OAAO,EAAE,UAAU,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAC3D,YAAY,EAAE,SAAS,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAE/D,OAAO,EAAE,aAAa,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AACnE,YAAY,EAAE,cAAc,EAAE,UAAU,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAEnF,YAAY,EACV,iBAAiB,EACjB,WAAW,EACX,oBAAoB,EACpB,wBAAwB,EACxB,eAAe,EACf,iBAAiB,EACjB,cAAc,EACd,gBAAgB,EAChB,mBAAmB,EACnB,gBAAgB,EAChB,gBAAgB,EAChB,mBAAmB,EACnB,UAAU,EACV,iBAAiB,EACjB,cAAc,EACd,kBAAkB,EAClB,eAAe,EACf,mBAAmB,EACnB,eAAe,EACf,UAAU,EACV,cAAc,EACd,gBAAgB,EAChB,SAAS,EACT,aAAa,EACb,WAAW,EACX,UAAU,EACV,UAAU,EACV,aAAa,EACb,mBAAmB,EACnB,eAAe,EACf,mBAAmB,EACnB,oBAAoB,EACpB,gBAAgB,EAChB,oBAAoB,EACpB,aAAa,EACb,eAAe,EACf,wBAAwB,EACxB,YAAY,EACZ,WAAW,EACX,UAAU,EACV,WAAW,EACX,aAAa,EACb,gBAAgB,EAChB,wBAAwB,EACxB,eAAe,EACf,oBAAoB,EACpB,WAAW,EACX,eAAe,EACf,QAAQ,EACR,aAAa,EACb,eAAe,EACf,oBAAoB,EACpB,yBAAyB,EACzB,wBAAwB,EACxB,qBAAqB,EACrB,aAAa,GACd,MAAM,YAAY,CAAC;AAEpB,OAAO,EAAE,6BAA6B,EAAE,MAAM,YAAY,CAAC;AAC3D,OAAO,EAAE,kBAAkB,EAAE,MAAM,YAAY,CAAC;AAEhD,YAAY,EAAE,0BAA0B,EAAE,MAAM,uCAAuC,CAAC;AACxF,YAAY,EACV,gCAAgC,EAChC,qCAAqC,EACrC,4BAA4B,EAC5B,0BAA0B,GAC3B,MAAM,gCAAgC,CAAC;AACxC,OAAO,EAAE,8BAA8B,EAAE,MAAM,2CAA2C,CAAC;AAE3F,YAAY,EAAE,UAAU,EAAE,gBAAgB,EAAE,mBAAmB,EAAE,QAAQ,EAAE,MAAM,yBAAyB,CAAC;AAI3G,OAAO,EAAE,mBAAmB,EAAE,mBAAmB,EAAE,MAAM,gCAAgC,CAAC;AAC1F,OAAO,EAAE,YAAY,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAC;AAGrE,OAAO,EACL,qBAAqB,EACrB,qBAAqB,GACtB,MAAM,YAAY,CAAC;AAEpB,OAAO,EAAE,aAAa,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AACnE,YAAY,EAAE,mBAAmB,EAAE,MAAM,oBAAoB,CAAC;AAE9D,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AACxD,YAAY,EAAE,mBAAmB,EAAE,MAAM,qBAAqB,CAAC;AAE/D,OAAO,EAAE,oBAAoB,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AAE9E,cAAc,SAAS,CAAC;AACxB,cAAc,SAAS,CAAC;AACxB,cAAc,UAAU,CAAC"}
1
+ {"version":3,"file":"contracts.d.ts","sourceRoot":"","sources":["../src/contracts.ts"],"names":[],"mappings":"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"}
package/dist/contracts.js CHANGED
@@ -22,6 +22,7 @@ export { MessageBroker, messageBroker } from './ipc/MessageBroker';
22
22
  export { FileSystemWatcherServiceProxy } from './services';
23
23
  export { LaunchCommandError } from './services';
24
24
  export { SearchBarAccessoryServiceProxy } from './services/SearchBarAccessoryServiceProxy';
25
+ export { ToolsServiceProxy } from './services/ToolsServiceProxy';
25
26
  // Launcher-brokered extension state store + RPC primitive.
26
27
  // Re-exported so launcher-side wiring can reference them in type positions.
27
28
  export { ExtensionStateProxy, extensionStateProxy } from './services/ExtensionStateProxy';
@@ -1 +1 @@
1
- {"version":3,"file":"contracts.js","sourceRoot":"","sources":["../src/contracts.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,EAAE,eAAe,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACrE,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AACtD,OAAO,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAC;AAG9D,uCAAuC;AACvC,OAAO,EAAE,UAAU,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAG3D,OAAO,EAAE,aAAa,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AA8DnE,OAAO,EAAE,6BAA6B,EAAE,MAAM,YAAY,CAAC;AAC3D,OAAO,EAAE,kBAAkB,EAAE,MAAM,YAAY,CAAC;AAShD,OAAO,EAAE,8BAA8B,EAAE,MAAM,2CAA2C,CAAC;AAI3F,2DAA2D;AAC3D,4EAA4E;AAC5E,OAAO,EAAE,mBAAmB,EAAE,mBAAmB,EAAE,MAAM,gCAAgC,CAAC;AAC1F,OAAO,EAAE,YAAY,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAC;AAErE,8DAA8D;AAC9D,OAAO,EACL,qBAAqB,EACrB,qBAAqB,GACtB,MAAM,YAAY,CAAC;AAEpB,OAAO,EAAE,aAAa,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AAGnE,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AAGxD,OAAO,EAAE,oBAAoB,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AAE9E,cAAc,SAAS,CAAC;AACxB,cAAc,SAAS,CAAC;AACxB,cAAc,UAAU,CAAC"}
1
+ {"version":3,"file":"contracts.js","sourceRoot":"","sources":["../src/contracts.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,EAAE,eAAe,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACrE,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AACtD,OAAO,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAC;AAG9D,uCAAuC;AACvC,OAAO,EAAE,UAAU,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAG3D,OAAO,EAAE,aAAa,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AA8DnE,OAAO,EAAE,6BAA6B,EAAE,MAAM,YAAY,CAAC;AAC3D,OAAO,EAAE,kBAAkB,EAAE,MAAM,YAAY,CAAC;AAShD,OAAO,EAAE,8BAA8B,EAAE,MAAM,2CAA2C,CAAC;AAK3F,OAAO,EAAE,iBAAiB,EAAE,MAAM,8BAA8B,CAAC;AAEjE,2DAA2D;AAC3D,4EAA4E;AAC5E,OAAO,EAAE,mBAAmB,EAAE,mBAAmB,EAAE,MAAM,gCAAgC,CAAC;AAC1F,OAAO,EAAE,YAAY,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAC;AAErE,8DAA8D;AAC9D,OAAO,EACL,qBAAqB,EACrB,qBAAqB,GACtB,MAAM,YAAY,CAAC;AAEpB,OAAO,EAAE,aAAa,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AAGnE,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AAGxD,OAAO,EAAE,oBAAoB,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AAE9E,cAAc,SAAS,CAAC;AACxB,cAAc,SAAS,CAAC;AACxB,cAAc,UAAU,CAAC"}
@@ -76,6 +76,18 @@ describe('IconRenderer', () => {
76
76
  expect(ICON_DATA).toHaveProperty('settings');
77
77
  expect(ICON_DATA).toHaveProperty('store');
78
78
  });
79
+ it('includes server icon (used by MCP manifest)', () => {
80
+ expect(hasIcon('server')).toBe(true);
81
+ const data = getIconData('server');
82
+ expect(data).toBeDefined();
83
+ expect(data).toMatch(/<rect|<path|<line/);
84
+ });
85
+ it('includes terminal icon (used by Scripts manifest + script fallback)', () => {
86
+ expect(hasIcon('terminal')).toBe(true);
87
+ const data = getIconData('terminal');
88
+ expect(data).toBeDefined();
89
+ expect(data).toMatch(/<polyline|<path|<line/);
90
+ });
79
91
  });
80
92
  describe('ICON_NAMES', () => {
81
93
  it('matches keys of ICON_DATA', () => {
@@ -1 +1 @@
1
- {"version":3,"file":"IconRenderer.test.js","sourceRoot":"","sources":["../../src/icons/IconRenderer.test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"IconRenderer.test.js","sourceRoot":"","sources":["../../src/icons/IconRenderer.test.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"iconData.d.ts","sourceRoot":"","sources":["../../src/icons/iconData.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAgL5C,CAAC;AAEF,eAAO,MAAM,UAAU,EAAE,SAAS,MAAM,EAA2B,CAAC"}
1
+ {"version":3,"file":"iconData.d.ts","sourceRoot":"","sources":["../../src/icons/iconData.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CA2N5C,CAAC;AAEF,eAAO,MAAM,UAAU,EAAE,SAAS,MAAM,EAA2B,CAAC"}
@@ -174,6 +174,49 @@ export const ICON_DATA = {
174
174
  <path d="M12 16v-4" />
175
175
  <path d="M12 8h.01" />
176
176
  `,
177
+ tag: `
178
+ <path d="M20.59 13.41l-7.17 7.17a2 2 0 0 1-2.83 0L2 12V2h10l8.59 8.59a2 2 0 0 1 0 2.82z" />
179
+ <path d="M7 7h.01" />
180
+ `,
181
+ sparkles: `
182
+ <path d="M9.937 15.5A2 2 0 0 0 8.5 14.063l-6.135-1.582a.5.5 0 0 1 0-.962L8.5 9.936A2 2 0 0 0 9.937 8.5l1.582-6.135a.5.5 0 0 1 .963 0L14.063 8.5A2 2 0 0 0 15.5 9.937l6.135 1.581a.5.5 0 0 1 0 .964L15.5 14.063a2 2 0 0 0-1.437 1.437l-1.582 6.135a.5.5 0 0 1-.963 0z" />
183
+ <path d="M20 3v4" />
184
+ <path d="M22 5h-4" />
185
+ <path d="M4 17v2" />
186
+ <path d="M5 18H3" />
187
+ `,
188
+ history: `
189
+ <path d="M3 12a9 9 0 1 0 9-9 9.75 9.75 0 0 0-6.74 2.74L3 8" />
190
+ <path d="M3 3v5h5" />
191
+ <path d="M12 7v5l4 2" />
192
+ `,
193
+ 'arrow-up-circle': `
194
+ <circle cx="12" cy="12" r="10" />
195
+ <path d="m16 12-4-4-4 4" />
196
+ <path d="M12 16V8" />
197
+ `,
198
+ download: `
199
+ <path d="M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4" />
200
+ <polyline points="7 10 12 15 17 10" />
201
+ <line x1="12" y1="15" x2="12" y2="3" />
202
+ `,
203
+ activity: `
204
+ <polyline points="22 12 18 12 15 21 9 3 6 12 2 12" />
205
+ `,
206
+ lock: `
207
+ <rect x="3" y="11" width="18" height="11" rx="2" ry="2" />
208
+ <path d="M7 11V7a5 5 0 0 1 10 0v4" />
209
+ `,
210
+ server: `
211
+ <rect x="2" y="2" width="20" height="8" rx="2" ry="2" />
212
+ <rect x="2" y="14" width="20" height="8" rx="2" ry="2" />
213
+ <line x1="6" y1="6" x2="6.01" y2="6" />
214
+ <line x1="6" y1="18" x2="6.01" y2="18" />
215
+ `,
216
+ terminal: `
217
+ <polyline points="4 17 10 11 4 5" />
218
+ <line x1="12" y1="19" x2="20" y2="19" />
219
+ `,
177
220
  };
178
221
  export const ICON_NAMES = Object.keys(ICON_DATA);
179
222
  //# sourceMappingURL=iconData.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"iconData.js","sourceRoot":"","sources":["../../src/icons/iconData.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,SAAS,GAA2B;IAC/C,UAAU,EAAE;;;;;;GAMX;IACD,SAAS,EAAE;;;;;GAKV;IACD,QAAQ,EAAE;;;GAGT;IACD,QAAQ,EAAE;;;;;;;;;;GAUT;IACD,WAAW,EAAE;;GAEZ;IACD,SAAS,EAAE;;;;;GAKV;IACD,QAAQ,EAAE;;;;GAIT;IACD,KAAK,EAAE;;;;;GAKN;IACD,eAAe,EAAE;;;;;GAKhB;IACD,YAAY,EAAE;;;;;;GAMb;IACD,WAAW,EAAE;;;;;GAKZ;IACD,WAAW,EAAE;;;;;GAKZ;IACD,KAAK,EAAE;;;;GAIN;IACD,IAAI,EAAE;;;GAGL;IACD,KAAK,EAAE;;;;;;GAMN;IACD,OAAO,EAAE;;;GAGR;IACD,IAAI,EAAE;;GAEL;IACD,GAAG,EAAE;;;GAGJ;IACD,MAAM,EAAE;;GAEP;IACD,QAAQ,EAAE;;;;;;GAMT;IACD,MAAM,EAAE;;GAEP;IACD,IAAI,EAAE;;;GAGL;IACD,MAAM,EAAE;;;;GAIP;IACD,IAAI,EAAE;;;;GAIL;IACD,KAAK,EAAE;;;;GAIN;IACD,WAAW,EAAE;;;;;GAKZ;IACD,IAAI,EAAE;;;;GAIL;IACD,GAAG,EAAE;;;GAGJ;IACD,KAAK,EAAE;;;GAGN;IACD,OAAO,EAAE;;;;;;GAMR;IACD,MAAM,EAAE;;GAEP;IACD,cAAc,EAAE;;;;GAIf;IACD,IAAI,EAAE;;;GAGL;IACD,IAAI,EAAE;;;;GAIL;CACF,CAAC;AAEF,MAAM,CAAC,MAAM,UAAU,GAAsB,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC"}
1
+ {"version":3,"file":"iconData.js","sourceRoot":"","sources":["../../src/icons/iconData.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,SAAS,GAA2B;IAC/C,UAAU,EAAE;;;;;;GAMX;IACD,SAAS,EAAE;;;;;GAKV;IACD,QAAQ,EAAE;;;GAGT;IACD,QAAQ,EAAE;;;;;;;;;;GAUT;IACD,WAAW,EAAE;;GAEZ;IACD,SAAS,EAAE;;;;;GAKV;IACD,QAAQ,EAAE;;;;GAIT;IACD,KAAK,EAAE;;;;;GAKN;IACD,eAAe,EAAE;;;;;GAKhB;IACD,YAAY,EAAE;;;;;;GAMb;IACD,WAAW,EAAE;;;;;GAKZ;IACD,WAAW,EAAE;;;;;GAKZ;IACD,KAAK,EAAE;;;;GAIN;IACD,IAAI,EAAE;;;GAGL;IACD,KAAK,EAAE;;;;;;GAMN;IACD,OAAO,EAAE;;;GAGR;IACD,IAAI,EAAE;;GAEL;IACD,GAAG,EAAE;;;GAGJ;IACD,MAAM,EAAE;;GAEP;IACD,QAAQ,EAAE;;;;;;GAMT;IACD,MAAM,EAAE;;GAEP;IACD,IAAI,EAAE;;;GAGL;IACD,MAAM,EAAE;;;;GAIP;IACD,IAAI,EAAE;;;;GAIL;IACD,KAAK,EAAE;;;;GAIN;IACD,WAAW,EAAE;;;;;GAKZ;IACD,IAAI,EAAE;;;;GAIL;IACD,GAAG,EAAE;;;GAGJ;IACD,KAAK,EAAE;;;GAGN;IACD,OAAO,EAAE;;;;;;GAMR;IACD,MAAM,EAAE;;GAEP;IACD,cAAc,EAAE;;;;GAIf;IACD,IAAI,EAAE;;;GAGL;IACD,IAAI,EAAE;;;;GAIL;IACD,GAAG,EAAE;;;GAGJ;IACD,QAAQ,EAAE;;;;;;GAMT;IACD,OAAO,EAAE;;;;GAIR;IACD,iBAAiB,EAAE;;;;GAIlB;IACD,QAAQ,EAAE;;;;GAIT;IACD,QAAQ,EAAE;;GAET;IACD,IAAI,EAAE;;;GAGL;IACD,MAAM,EAAE;;;;;GAKP;IACD,QAAQ,EAAE;;;GAGT;CACF,CAAC;AAEF,MAAM,CAAC,MAAM,UAAU,GAAsB,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC"}
@@ -1,4 +1,4 @@
1
- export declare const NAMESPACES: readonly ["log", "extensions", "notifications", "clipboard", "commands", "actions", "settings", "preferences", "searchBar", "statusBar", "entitlements", "network", "storage", "cache", "feedback", "diagnostics", "selection", "ai", "oauth", "opener", "power", "shell", "systemEvents", "appEvents", "applicationIndex", "fs", "interop", "application", "window", "timers", "fsWatcher", "state", "onboarding"];
1
+ export declare const NAMESPACES: readonly ["log", "extensions", "notifications", "clipboard", "commands", "actions", "settings", "preferences", "searchBar", "statusBar", "entitlements", "network", "storage", "cache", "feedback", "diagnostics", "selection", "ai", "oauth", "opener", "power", "shell", "systemEvents", "appEvents", "applicationIndex", "fs", "interop", "application", "window", "timers", "fsWatcher", "state", "onboarding", "runs", "tools"];
2
2
  export type Namespace = typeof NAMESPACES[number];
3
3
  export type WireCommand = `${Namespace}:${string}`;
4
4
  export declare function isNamespace(value: string): value is Namespace;
@@ -1 +1 @@
1
- {"version":3,"file":"namespaces.d.ts","sourceRoot":"","sources":["../../src/ipc/namespaces.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,UAAU,qZAkCb,CAAA;AAEV,MAAM,MAAM,SAAS,GAAG,OAAO,UAAU,CAAC,MAAM,CAAC,CAAA;AAEjD,MAAM,MAAM,WAAW,GAAG,GAAG,SAAS,IAAI,MAAM,EAAE,CAAA;AAElD,wBAAgB,WAAW,CAAC,KAAK,EAAE,MAAM,GAAG,KAAK,IAAI,SAAS,CAE7D"}
1
+ {"version":3,"file":"namespaces.d.ts","sourceRoot":"","sources":["../../src/ipc/namespaces.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,UAAU,saAoCb,CAAA;AAEV,MAAM,MAAM,SAAS,GAAG,OAAO,UAAU,CAAC,MAAM,CAAC,CAAA;AAEjD,MAAM,MAAM,WAAW,GAAG,GAAG,SAAS,IAAI,MAAM,EAAE,CAAA;AAElD,wBAAgB,WAAW,CAAC,KAAK,EAAE,MAAM,GAAG,KAAK,IAAI,SAAS,CAE7D"}
@@ -32,6 +32,8 @@ export const NAMESPACES = [
32
32
  'fsWatcher',
33
33
  'state',
34
34
  'onboarding',
35
+ 'runs',
36
+ 'tools',
35
37
  ];
36
38
  export function isNamespace(value) {
37
39
  return NAMESPACES.includes(value);
@@ -1 +1 @@
1
- {"version":3,"file":"namespaces.js","sourceRoot":"","sources":["../../src/ipc/namespaces.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,UAAU,GAAG;IACxB,KAAK;IACL,YAAY;IACZ,eAAe;IACf,WAAW;IACX,UAAU;IACV,SAAS;IACT,UAAU;IACV,aAAa;IACb,WAAW;IACX,WAAW;IACX,cAAc;IACd,SAAS;IACT,SAAS;IACT,OAAO;IACP,UAAU;IACV,aAAa;IACb,WAAW;IACX,IAAI;IACJ,OAAO;IACP,QAAQ;IACR,OAAO;IACP,OAAO;IACP,cAAc;IACd,WAAW;IACX,kBAAkB;IAClB,IAAI;IACJ,SAAS;IACT,aAAa;IACb,QAAQ;IACR,QAAQ;IACR,WAAW;IACX,OAAO;IACP,YAAY;CACJ,CAAA;AAMV,MAAM,UAAU,WAAW,CAAC,KAAa;IACvC,OAAQ,UAAgC,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAA;AAC1D,CAAC"}
1
+ {"version":3,"file":"namespaces.js","sourceRoot":"","sources":["../../src/ipc/namespaces.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,UAAU,GAAG;IACxB,KAAK;IACL,YAAY;IACZ,eAAe;IACf,WAAW;IACX,UAAU;IACV,SAAS;IACT,UAAU;IACV,aAAa;IACb,WAAW;IACX,WAAW;IACX,cAAc;IACd,SAAS;IACT,SAAS;IACT,OAAO;IACP,UAAU;IACV,aAAa;IACb,WAAW;IACX,IAAI;IACJ,OAAO;IACP,QAAQ;IACR,OAAO;IACP,OAAO;IACP,cAAc;IACd,WAAW;IACX,kBAAkB;IAClB,IAAI;IACJ,SAAS;IACT,aAAa;IACb,QAAQ;IACR,QAAQ;IACR,WAAW;IACX,OAAO;IACP,YAAY;IACZ,MAAM;IACN,OAAO;CACC,CAAA;AAMV,MAAM,UAAU,WAAW,CAAC,KAAa;IACvC,OAAQ,UAAgC,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAA;AAC1D,CAAC"}
@@ -8,7 +8,7 @@ describe('NAMESPACES', () => {
8
8
  'network', 'storage', 'cache', 'feedback', 'diagnostics', 'selection', 'ai',
9
9
  'oauth', 'opener', 'power', 'shell', 'systemEvents', 'appEvents',
10
10
  'applicationIndex', 'fs', 'interop', 'application', 'window', 'timers',
11
- 'fsWatcher', 'state', 'onboarding',
11
+ 'fsWatcher', 'state', 'onboarding', 'runs', 'tools',
12
12
  ]);
13
13
  });
14
14
  it('has no duplicates', () => {
@@ -1 +1 @@
1
- {"version":3,"file":"namespaces.test.js","sourceRoot":"","sources":["../../src/ipc/namespaces.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,EAAE,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAA;AAC7C,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAA;AAEzC,QAAQ,CAAC,YAAY,EAAE,GAAG,EAAE;IAC1B,EAAE,CAAC,4CAA4C,EAAE,GAAG,EAAE;QACpD,MAAM,CAAC,UAAU,CAAC,CAAC,OAAO,CAAC;YACzB,KAAK,EAAE,YAAY,EAAE,eAAe,EAAE,WAAW,EAAE,UAAU;YAC7D,SAAS,EAAE,UAAU,EAAE,aAAa,EAAE,WAAW,EAAE,WAAW,EAAE,cAAc;YAC9E,SAAS,EAAE,SAAS,EAAE,OAAO,EAAE,UAAU,EAAE,aAAa,EAAE,WAAW,EAAE,IAAI;YAC3E,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,OAAO,EAAE,cAAc,EAAE,WAAW;YAChE,kBAAkB,EAAE,IAAI,EAAE,SAAS,EAAE,aAAa,EAAE,QAAQ,EAAE,QAAQ;YACtE,WAAW,EAAE,OAAO,EAAE,YAAY;SACnC,CAAC,CAAA;IACJ,CAAC,CAAC,CAAA;IAEF,EAAE,CAAC,mBAAmB,EAAE,GAAG,EAAE;QAC3B,MAAM,CAAC,IAAI,GAAG,CAAC,UAAU,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,CAAA;IAC1D,CAAC,CAAC,CAAA;IAEF,EAAE,CAAC,2DAA2D,EAAE,GAAG,EAAE;QACnE,MAAM,OAAO,GAAG,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,qBAAqB,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAA;QACtE,MAAM,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC,CAAA;IAC7B,CAAC,CAAC,CAAA;IAEF,EAAE,CAAC,qBAAqB,EAAE,GAAG,EAAE;QAC7B,MAAM,CAAC,UAAU,CAAC,CAAC,SAAS,CAAC,YAAY,CAAC,CAAA;IAC5C,CAAC,CAAC,CAAA;AACJ,CAAC,CAAC,CAAA"}
1
+ {"version":3,"file":"namespaces.test.js","sourceRoot":"","sources":["../../src/ipc/namespaces.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,EAAE,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAA;AAC7C,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAA;AAEzC,QAAQ,CAAC,YAAY,EAAE,GAAG,EAAE;IAC1B,EAAE,CAAC,4CAA4C,EAAE,GAAG,EAAE;QACpD,MAAM,CAAC,UAAU,CAAC,CAAC,OAAO,CAAC;YACzB,KAAK,EAAE,YAAY,EAAE,eAAe,EAAE,WAAW,EAAE,UAAU;YAC7D,SAAS,EAAE,UAAU,EAAE,aAAa,EAAE,WAAW,EAAE,WAAW,EAAE,cAAc;YAC9E,SAAS,EAAE,SAAS,EAAE,OAAO,EAAE,UAAU,EAAE,aAAa,EAAE,WAAW,EAAE,IAAI;YAC3E,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,OAAO,EAAE,cAAc,EAAE,WAAW;YAChE,kBAAkB,EAAE,IAAI,EAAE,SAAS,EAAE,aAAa,EAAE,QAAQ,EAAE,QAAQ;YACtE,WAAW,EAAE,OAAO,EAAE,YAAY,EAAE,MAAM,EAAE,OAAO;SACpD,CAAC,CAAA;IACJ,CAAC,CAAC,CAAA;IAEF,EAAE,CAAC,mBAAmB,EAAE,GAAG,EAAE;QAC3B,MAAM,CAAC,IAAI,GAAG,CAAC,UAAU,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,CAAA;IAC1D,CAAC,CAAC,CAAA;IAEF,EAAE,CAAC,2DAA2D,EAAE,GAAG,EAAE;QACnE,MAAM,OAAO,GAAG,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,qBAAqB,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAA;QACtE,MAAM,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC,CAAA;IAC7B,CAAC,CAAC,CAAA;IAEF,EAAE,CAAC,qBAAqB,EAAE,GAAG,EAAE;QAC7B,MAAM,CAAC,UAAU,CAAC,CAAC,SAAS,CAAC,YAAY,CAAC,CAAA;IAC5C,CAAC,CAAC,CAAA;AACJ,CAAC,CAAC,CAAA"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=namespaces.tools.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"namespaces.tools.test.d.ts","sourceRoot":"","sources":["../../src/ipc/namespaces.tools.test.ts"],"names":[],"mappings":""}
@@ -0,0 +1,8 @@
1
+ import { describe, it, expect } from 'vitest';
2
+ import { NAMESPACES } from './namespaces';
3
+ describe('NAMESPACES — tools namespace', () => {
4
+ it('includes tools namespace', () => {
5
+ expect(NAMESPACES).toContain('tools');
6
+ });
7
+ });
8
+ //# sourceMappingURL=namespaces.tools.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"namespaces.tools.test.js","sourceRoot":"","sources":["../../src/ipc/namespaces.tools.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,EAAE,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAC9C,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAE1C,QAAQ,CAAC,8BAA8B,EAAE,GAAG,EAAE;IAC5C,EAAE,CAAC,0BAA0B,EAAE,GAAG,EAAE;QAClC,MAAM,CAAC,UAAU,CAAC,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC;IACxC,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"BaseServiceProxy.d.ts","sourceRoot":"","sources":["../../src/services/BaseServiceProxy.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAiB,MAAM,sBAAsB,CAAC;AAGpE;;;;;;GAMG;AACH,8BAAsB,gBAAgB;IACpC,SAAS,CAAC,MAAM,EAAE,aAAa,CAAC;IAChC,SAAS,CAAC,WAAW,EAAE,MAAM,CAAM;;IAMnC,cAAc,CAAC,EAAE,EAAE,MAAM,GAAG,IAAI;CAajC"}
1
+ {"version":3,"file":"BaseServiceProxy.d.ts","sourceRoot":"","sources":["../../src/services/BaseServiceProxy.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAiB,MAAM,sBAAsB,CAAC;AAGpE;;;;;;GAMG;AACH,8BAAsB,gBAAgB;IACpC,SAAS,CAAC,MAAM,EAAE,aAAa,CAAC;IAChC,SAAS,CAAC,WAAW,EAAE,MAAM,CAAM;;IAMnC,cAAc,CAAC,EAAE,EAAE,MAAM,GAAG,IAAI;CAqBjC"}
@@ -14,6 +14,14 @@ export class BaseServiceProxy {
14
14
  setExtensionId(id) {
15
15
  this.extensionId = id;
16
16
  const originalInvoke = this.broker.invoke.bind(this.broker);
17
+ // Patch only `invoke` on a prototype-chained clone so other methods
18
+ // (`on`, `off`, `setHostDispatcher`, etc.) fall through to the singleton
19
+ // and read its shared `eventListeners` / `pendingRequests` Maps. This is
20
+ // why proxy handles capturing `this.broker` after setExtensionId still
21
+ // see launcher-emitted events: `broker.on(...)` mutates the singleton's
22
+ // listener Map via the prototype chain, and the singleton's
23
+ // `handleMessage` dispatches to that same Map. Adding overrides on the
24
+ // patched broker for any other method would silently break this.
17
25
  this.broker = Object.create(this.broker);
18
26
  // Forward all four args so per-call overrides (e.g. a longer
19
27
  // `timeoutMs` for blocking confirm dialogs) survive the patch.
@@ -1 +1 @@
1
- {"version":3,"file":"BaseServiceProxy.js","sourceRoot":"","sources":["../../src/services/BaseServiceProxy.ts"],"names":[],"mappings":"AAAA,OAAO,EAAiB,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAGpE;;;;;;GAMG;AACH,MAAM,OAAgB,gBAAgB;IAIpC;QAFU,gBAAW,GAAW,EAAE,CAAC;QAGjC,IAAI,CAAC,MAAM,GAAG,aAAa,CAAC;IAC9B,CAAC;IAED,cAAc,CAAC,EAAU;QACvB,IAAI,CAAC,WAAW,GAAG,EAAE,CAAC;QACtB,MAAM,cAAc,GAAG,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QAC5D,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAkB,CAAC;QAC1D,6DAA6D;QAC7D,+DAA+D;QAC/D,IAAI,CAAC,MAAM,CAAC,MAAM,GAAG,CACnB,OAAoB,EACpB,OAA6C,EAC7C,IAAa,EACb,SAAkB,EAClB,EAAE,CAAC,cAAc,CAAI,OAAO,EAAE,OAAO,EAAE,EAAE,EAAE,SAAS,CAAC,CAAC;IAC1D,CAAC;CACF"}
1
+ {"version":3,"file":"BaseServiceProxy.js","sourceRoot":"","sources":["../../src/services/BaseServiceProxy.ts"],"names":[],"mappings":"AAAA,OAAO,EAAiB,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAGpE;;;;;;GAMG;AACH,MAAM,OAAgB,gBAAgB;IAIpC;QAFU,gBAAW,GAAW,EAAE,CAAC;QAGjC,IAAI,CAAC,MAAM,GAAG,aAAa,CAAC;IAC9B,CAAC;IAED,cAAc,CAAC,EAAU;QACvB,IAAI,CAAC,WAAW,GAAG,EAAE,CAAC;QACtB,MAAM,cAAc,GAAG,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QAC5D,oEAAoE;QACpE,yEAAyE;QACzE,yEAAyE;QACzE,uEAAuE;QACvE,wEAAwE;QACxE,4DAA4D;QAC5D,uEAAuE;QACvE,iEAAiE;QACjE,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAkB,CAAC;QAC1D,6DAA6D;QAC7D,+DAA+D;QAC/D,IAAI,CAAC,MAAM,CAAC,MAAM,GAAG,CACnB,OAAoB,EACpB,OAA6C,EAC7C,IAAa,EACb,SAAkB,EAClB,EAAE,CAAC,cAAc,CAAI,OAAO,EAAE,OAAO,EAAE,EAAE,EAAE,SAAS,CAAC,CAAC;IAC1D,CAAC;CACF"}
@@ -1,5 +1,5 @@
1
1
  import type { ICommandService } from "./ICommandService";
2
- import type { CommandHandler, ExtensionAction } from "../types";
2
+ import type { CommandHandler, DynamicCommandRegistration, ExtensionAction } from "../types";
3
3
  import { BaseServiceProxy } from "./BaseServiceProxy";
4
4
  export declare class CommandServiceProxy extends BaseServiceProxy implements ICommandService {
5
5
  registerCommand(commandId: string, handler: CommandHandler, extensionId: string, actions?: Omit<ExtensionAction, 'extensionId'>[]): void;
@@ -11,5 +11,17 @@ export declare class CommandServiceProxy extends BaseServiceProxy implements ICo
11
11
  updateCommandMetadata(commandId: string, metadata: {
12
12
  subtitle?: string;
13
13
  }): Promise<void>;
14
+ /**
15
+ * Replace this extension's dynamic command list with the given set.
16
+ *
17
+ * Worker-only — the underlying data source (file watcher, OS listing,
18
+ * remote API) lives in the worker so it can fire while the view is
19
+ * Dormant. The runtime guard below mirrors the architectural
20
+ * constraint: registering from the view iframe would silently lose
21
+ * commands across panel-close cycles. Re-asserting the role at the
22
+ * call site means the constraint holds even if a future extension
23
+ * mis-imports the proxy.
24
+ */
25
+ replaceDynamicCommands(regs: DynamicCommandRegistration[]): Promise<void>;
14
26
  }
15
27
  //# sourceMappingURL=CommandServiceProxy.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"CommandServiceProxy.d.ts","sourceRoot":"","sources":["../../src/services/CommandServiceProxy.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACzD,OAAO,KAAK,EAAE,cAAc,EAAE,eAAe,EAAE,MAAM,UAAU,CAAC;AAChE,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AAGtD,qBAAa,mBAAoB,SAAQ,gBAAiB,YAAW,eAAe;IAClF,eAAe,CACb,SAAS,EAAE,MAAM,EACjB,OAAO,EAAE,cAAc,EACvB,WAAW,EAAE,MAAM,EACnB,OAAO,CAAC,EAAE,IAAI,CAAC,eAAe,EAAE,aAAa,CAAC,EAAE,GAC/C,IAAI;IAKP,iBAAiB,CAAC,SAAS,EAAE,MAAM,GAAG,IAAI;IAK1C,cAAc,CAAC,SAAS,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,OAAO,CAAC,OAAO,CAAC;IAInF,WAAW,IAAI,MAAM,EAAE;IAKvB,uBAAuB,CAAC,WAAW,EAAE,MAAM,GAAG,MAAM,EAAE;IAKtD,yBAAyB,CAAC,WAAW,EAAE,MAAM,GAAG,IAAI;IAIpD,qBAAqB,CACnB,SAAS,EAAE,MAAM,EACjB,QAAQ,EAAE;QAAE,QAAQ,CAAC,EAAE,MAAM,CAAA;KAAE,GAC9B,OAAO,CAAC,IAAI,CAAC;CAOjB"}
1
+ {"version":3,"file":"CommandServiceProxy.d.ts","sourceRoot":"","sources":["../../src/services/CommandServiceProxy.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACzD,OAAO,KAAK,EAAE,cAAc,EAAE,0BAA0B,EAAE,eAAe,EAAE,MAAM,UAAU,CAAC;AAC5F,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AAGtD,qBAAa,mBAAoB,SAAQ,gBAAiB,YAAW,eAAe;IAClF,eAAe,CACb,SAAS,EAAE,MAAM,EACjB,OAAO,EAAE,cAAc,EACvB,WAAW,EAAE,MAAM,EACnB,OAAO,CAAC,EAAE,IAAI,CAAC,eAAe,EAAE,aAAa,CAAC,EAAE,GAC/C,IAAI;IAKP,iBAAiB,CAAC,SAAS,EAAE,MAAM,GAAG,IAAI;IAK1C,cAAc,CAAC,SAAS,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,OAAO,CAAC,OAAO,CAAC;IAInF,WAAW,IAAI,MAAM,EAAE;IAKvB,uBAAuB,CAAC,WAAW,EAAE,MAAM,GAAG,MAAM,EAAE;IAKtD,yBAAyB,CAAC,WAAW,EAAE,MAAM,GAAG,IAAI;IAIpD,qBAAqB,CACnB,SAAS,EAAE,MAAM,EACjB,QAAQ,EAAE;QAAE,QAAQ,CAAC,EAAE,MAAM,CAAA;KAAE,GAC9B,OAAO,CAAC,IAAI,CAAC;IAQhB;;;;;;;;;;OAUG;IACH,sBAAsB,CAAC,IAAI,EAAE,0BAA0B,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC;CAmB1E"}
@@ -31,5 +31,29 @@ export class CommandServiceProxy extends BaseServiceProxy {
31
31
  subtitle: (_a = metadata.subtitle) !== null && _a !== void 0 ? _a : null,
32
32
  });
33
33
  }
34
+ /**
35
+ * Replace this extension's dynamic command list with the given set.
36
+ *
37
+ * Worker-only — the underlying data source (file watcher, OS listing,
38
+ * remote API) lives in the worker so it can fire while the view is
39
+ * Dormant. The runtime guard below mirrors the architectural
40
+ * constraint: registering from the view iframe would silently lose
41
+ * commands across panel-close cycles. Re-asserting the role at the
42
+ * call site means the constraint holds even if a future extension
43
+ * mis-imports the proxy.
44
+ */
45
+ replaceDynamicCommands(regs) {
46
+ if (typeof window === 'undefined' ||
47
+ window.__ASYAR_ROLE__ !== 'worker') {
48
+ return Promise.reject(new Error('[CommandServiceProxy] replaceDynamicCommands is worker-only. ' +
49
+ 'Call this from your extension\'s worker.ts, not view.ts. ' +
50
+ 'Dynamic command lists must survive view eviction (Dormant), ' +
51
+ 'so registration must live with the always-on worker context.'));
52
+ }
53
+ return this.broker.invoke('commands:replaceDynamicCommands', {
54
+ extensionId: this.extensionId,
55
+ regs,
56
+ });
57
+ }
34
58
  }
35
59
  //# sourceMappingURL=CommandServiceProxy.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"CommandServiceProxy.js","sourceRoot":"","sources":["../../src/services/CommandServiceProxy.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AACtD,OAAO,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AAErD,MAAM,OAAO,mBAAoB,SAAQ,gBAAgB;IACvD,eAAe,CACb,SAAiB,EACjB,OAAuB,EACvB,WAAmB,EACnB,OAAgD;QAEhD,eAAe,CAAC,eAAe,CAAC,SAAS,EAAE,OAAO,EAAE,WAAW,CAAC,CAAC;QACjE,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,0BAA0B,EAAE,EAAE,SAAS,EAAE,WAAW,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,+CAA+C,EAAE,GAAG,CAAC,CAAC,CAAC;IACvK,CAAC;IAED,iBAAiB,CAAC,SAAiB;QACjC,eAAe,CAAC,iBAAiB,CAAC,SAAS,CAAC,CAAC;QAC7C,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,4BAA4B,EAAE,EAAE,SAAS,EAAE,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,iDAAiD,EAAE,GAAG,CAAC,CAAC,CAAC;IACrJ,CAAC;IAED,cAAc,CAAC,SAAiB,EAAE,IAA8B;QAC9D,OAAO,IAAI,CAAC,MAAM,CAAC,MAAM,CAAU,yBAAyB,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IACrF,CAAC;IAED,WAAW;QACT,OAAO,CAAC,IAAI,CAAC,4CAA4C,CAAC,CAAC;QAC3D,OAAO,eAAe,CAAC,WAAW,EAAE,CAAC;IACvC,CAAC;IAED,uBAAuB,CAAC,WAAmB;QACzC,OAAO,CAAC,IAAI,CAAC,wDAAwD,CAAC,CAAC;QACvE,OAAO,eAAe,CAAC,uBAAuB,CAAC,WAAW,CAAC,CAAC;IAC9D,CAAC;IAED,yBAAyB,CAAC,WAAmB;QAC3C,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,oCAAoC,EAAE,EAAE,WAAW,EAAE,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,yDAAyD,EAAE,GAAG,CAAC,CAAC,CAAC;IACvK,CAAC;IAED,qBAAqB,CACnB,SAAiB,EACjB,QAA+B;;QAE/B,OAAO,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,gCAAgC,EAAE;YAC1D,WAAW,EAAE,IAAI,CAAC,WAAW;YAC7B,SAAS;YACT,QAAQ,EAAE,MAAA,QAAQ,CAAC,QAAQ,mCAAI,IAAI;SACpC,CAAC,CAAC;IACL,CAAC;CACF"}
1
+ {"version":3,"file":"CommandServiceProxy.js","sourceRoot":"","sources":["../../src/services/CommandServiceProxy.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AACtD,OAAO,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AAErD,MAAM,OAAO,mBAAoB,SAAQ,gBAAgB;IACvD,eAAe,CACb,SAAiB,EACjB,OAAuB,EACvB,WAAmB,EACnB,OAAgD;QAEhD,eAAe,CAAC,eAAe,CAAC,SAAS,EAAE,OAAO,EAAE,WAAW,CAAC,CAAC;QACjE,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,0BAA0B,EAAE,EAAE,SAAS,EAAE,WAAW,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,+CAA+C,EAAE,GAAG,CAAC,CAAC,CAAC;IACvK,CAAC;IAED,iBAAiB,CAAC,SAAiB;QACjC,eAAe,CAAC,iBAAiB,CAAC,SAAS,CAAC,CAAC;QAC7C,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,4BAA4B,EAAE,EAAE,SAAS,EAAE,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,iDAAiD,EAAE,GAAG,CAAC,CAAC,CAAC;IACrJ,CAAC;IAED,cAAc,CAAC,SAAiB,EAAE,IAA8B;QAC9D,OAAO,IAAI,CAAC,MAAM,CAAC,MAAM,CAAU,yBAAyB,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IACrF,CAAC;IAED,WAAW;QACT,OAAO,CAAC,IAAI,CAAC,4CAA4C,CAAC,CAAC;QAC3D,OAAO,eAAe,CAAC,WAAW,EAAE,CAAC;IACvC,CAAC;IAED,uBAAuB,CAAC,WAAmB;QACzC,OAAO,CAAC,IAAI,CAAC,wDAAwD,CAAC,CAAC;QACvE,OAAO,eAAe,CAAC,uBAAuB,CAAC,WAAW,CAAC,CAAC;IAC9D,CAAC;IAED,yBAAyB,CAAC,WAAmB;QAC3C,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,oCAAoC,EAAE,EAAE,WAAW,EAAE,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,yDAAyD,EAAE,GAAG,CAAC,CAAC,CAAC;IACvK,CAAC;IAED,qBAAqB,CACnB,SAAiB,EACjB,QAA+B;;QAE/B,OAAO,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,gCAAgC,EAAE;YAC1D,WAAW,EAAE,IAAI,CAAC,WAAW;YAC7B,SAAS;YACT,QAAQ,EAAE,MAAA,QAAQ,CAAC,QAAQ,mCAAI,IAAI;SACpC,CAAC,CAAC;IACL,CAAC;IAED;;;;;;;;;;OAUG;IACH,sBAAsB,CAAC,IAAkC;QACvD,IACE,OAAO,MAAM,KAAK,WAAW;YAC5B,MAAuC,CAAC,cAAc,KAAK,QAAQ,EACpE,CAAC;YACD,OAAO,OAAO,CAAC,MAAM,CACnB,IAAI,KAAK,CACP,+DAA+D;gBAC/D,2DAA2D;gBAC3D,8DAA8D;gBAC9D,8DAA8D,CAC/D,CACF,CAAC;QACJ,CAAC;QACD,OAAO,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,iCAAiC,EAAE;YAC3D,WAAW,EAAE,IAAI,CAAC,WAAW;YAC7B,IAAI;SACL,CAAC,CAAC;IACL,CAAC;CACF"}