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,100 @@
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
+ /** @vitest-environment jsdom */
11
+ import { describe, it, expect, vi, beforeEach, afterEach } from 'vitest';
12
+ function setRole(role) {
13
+ if (role === undefined) {
14
+ delete window.__ASYAR_ROLE__;
15
+ }
16
+ else {
17
+ window.__ASYAR_ROLE__ = role;
18
+ }
19
+ }
20
+ describe('worker proxy bag — tools service', () => {
21
+ beforeEach(() => {
22
+ vi.resetModules();
23
+ setRole('worker');
24
+ });
25
+ afterEach(() => {
26
+ setRole(undefined);
27
+ });
28
+ it('ExtensionContext.proxies exposes a tools entry', () => __awaiter(void 0, void 0, void 0, function* () {
29
+ const { ExtensionContext } = yield import('./worker');
30
+ const ctx = new ExtensionContext();
31
+ expect(ctx.proxies.tools).toBeDefined();
32
+ }));
33
+ it('tools entry has registerTool method', () => __awaiter(void 0, void 0, void 0, function* () {
34
+ const { ExtensionContext } = yield import('./worker');
35
+ const ctx = new ExtensionContext();
36
+ expect(typeof ctx.proxies.tools.registerTool).toBe('function');
37
+ }));
38
+ it('tools entry has unregisterTool method', () => __awaiter(void 0, void 0, void 0, function* () {
39
+ const { ExtensionContext } = yield import('./worker');
40
+ const ctx = new ExtensionContext();
41
+ expect(typeof ctx.proxies.tools.unregisterTool).toBe('function');
42
+ }));
43
+ it('tools entry has listTools method', () => __awaiter(void 0, void 0, void 0, function* () {
44
+ const { ExtensionContext } = yield import('./worker');
45
+ const ctx = new ExtensionContext();
46
+ expect(typeof ctx.proxies.tools.listTools).toBe('function');
47
+ }));
48
+ });
49
+ // ── Item 7: worker dispatches asyar:tools:invoke to ToolsServiceProxy ─────────
50
+ describe('worker — asyar:tools:invoke dispatch', () => {
51
+ beforeEach(() => {
52
+ vi.resetModules();
53
+ setRole('worker');
54
+ });
55
+ afterEach(() => {
56
+ setRole(undefined);
57
+ vi.restoreAllMocks();
58
+ });
59
+ it('dispatches asyar:tools:invoke to ToolsServiceProxy.invokeHandler and posts response', () => __awaiter(void 0, void 0, void 0, function* () {
60
+ // Patch the MessageBroker before importing the worker so registerTool
61
+ // resolves immediately without a real host round-trip.
62
+ const { messageBroker } = yield import('./ipc/MessageBroker');
63
+ vi.spyOn(messageBroker, 'invoke').mockResolvedValue(undefined);
64
+ const { ExtensionContext } = yield import('./worker');
65
+ const ctx = new ExtensionContext();
66
+ ctx.setExtensionId('com.example.test');
67
+ const handler = vi.fn().mockResolvedValue({ result: 'ok' });
68
+ const tool = {
69
+ id: 't1',
70
+ name: 'T1',
71
+ description: 'Test tool',
72
+ parameters: {},
73
+ };
74
+ // Register the handler — broker.invoke is mocked so this resolves fast.
75
+ yield ctx.proxies.tools.registerTool(tool, handler);
76
+ const postedMessages = [];
77
+ vi.spyOn(window.parent, 'postMessage').mockImplementation((msg) => {
78
+ postedMessages.push(msg);
79
+ });
80
+ // Simulate the host posting an asyar:tools:invoke envelope.
81
+ window.dispatchEvent(new MessageEvent('message', {
82
+ data: {
83
+ type: 'asyar:tools:invoke',
84
+ messageId: 'm1',
85
+ payload: { id: 't1', args: { x: 7 } },
86
+ },
87
+ }));
88
+ // Allow microtasks to flush.
89
+ yield new Promise((r) => setTimeout(r, 20));
90
+ // RED: handler not called because the worker has no asyar:tools:invoke listener yet.
91
+ expect(handler).toHaveBeenCalledWith({ x: 7 });
92
+ const response = postedMessages.find((m) => m !== null &&
93
+ typeof m === 'object' &&
94
+ m.type === 'asyar:tools:invoke:response' &&
95
+ m.messageId === 'm1');
96
+ // RED: no response posted because no listener dispatched to handler.
97
+ expect(response).toBeDefined();
98
+ }));
99
+ });
100
+ //# sourceMappingURL=worker.tools.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"worker.tools.test.js","sourceRoot":"","sources":["../src/worker.tools.test.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "asyar-sdk",
3
- "version": "2.4.0",
3
+ "version": "2.6.0",
4
4
  "main": "dist/index.js",
5
5
  "bin": {
6
6
  "asyar": "./dist/cli/index.js"