asyar-sdk 1.0.2

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 (163) hide show
  1. package/LICENSE +661 -0
  2. package/README.md +165 -0
  3. package/dist/ExtensionBridge.d.ts +34 -0
  4. package/dist/ExtensionBridge.d.ts.map +1 -0
  5. package/dist/ExtensionBridge.js +192 -0
  6. package/dist/ExtensionBridge.js.map +1 -0
  7. package/dist/ExtensionContext.d.ts +25 -0
  8. package/dist/ExtensionContext.d.ts.map +1 -0
  9. package/dist/ExtensionContext.js +128 -0
  10. package/dist/ExtensionContext.js.map +1 -0
  11. package/dist/cli/commands/build.d.ts +5 -0
  12. package/dist/cli/commands/build.d.ts.map +1 -0
  13. package/dist/cli/commands/build.js +122 -0
  14. package/dist/cli/commands/build.js.map +1 -0
  15. package/dist/cli/commands/dev.d.ts +3 -0
  16. package/dist/cli/commands/dev.d.ts.map +1 -0
  17. package/dist/cli/commands/dev.js +85 -0
  18. package/dist/cli/commands/dev.js.map +1 -0
  19. package/dist/cli/commands/link.d.ts +6 -0
  20. package/dist/cli/commands/link.d.ts.map +1 -0
  21. package/dist/cli/commands/link.js +153 -0
  22. package/dist/cli/commands/link.js.map +1 -0
  23. package/dist/cli/commands/publish.d.ts +3 -0
  24. package/dist/cli/commands/publish.d.ts.map +1 -0
  25. package/dist/cli/commands/publish.js +344 -0
  26. package/dist/cli/commands/publish.js.map +1 -0
  27. package/dist/cli/commands/validate.d.ts +3 -0
  28. package/dist/cli/commands/validate.d.ts.map +1 -0
  29. package/dist/cli/commands/validate.js +58 -0
  30. package/dist/cli/commands/validate.js.map +1 -0
  31. package/dist/cli/index.d.ts +3 -0
  32. package/dist/cli/index.d.ts.map +1 -0
  33. package/dist/cli/index.js +20 -0
  34. package/dist/cli/index.js.map +1 -0
  35. package/dist/cli/lib/auth.d.ts +16 -0
  36. package/dist/cli/lib/auth.d.ts.map +1 -0
  37. package/dist/cli/lib/auth.js +225 -0
  38. package/dist/cli/lib/auth.js.map +1 -0
  39. package/dist/cli/lib/config.d.ts +11 -0
  40. package/dist/cli/lib/config.d.ts.map +1 -0
  41. package/dist/cli/lib/config.js +77 -0
  42. package/dist/cli/lib/config.js.map +1 -0
  43. package/dist/cli/lib/github.d.ts +44 -0
  44. package/dist/cli/lib/github.d.ts.map +1 -0
  45. package/dist/cli/lib/github.js +106 -0
  46. package/dist/cli/lib/github.js.map +1 -0
  47. package/dist/cli/lib/manifest.d.ts +29 -0
  48. package/dist/cli/lib/manifest.d.ts.map +1 -0
  49. package/dist/cli/lib/manifest.js +138 -0
  50. package/dist/cli/lib/manifest.js.map +1 -0
  51. package/dist/cli/lib/platform.d.ts +2 -0
  52. package/dist/cli/lib/platform.d.ts.map +1 -0
  53. package/dist/cli/lib/platform.js +40 -0
  54. package/dist/cli/lib/platform.js.map +1 -0
  55. package/dist/cli/lib/store.d.ts +21 -0
  56. package/dist/cli/lib/store.d.ts.map +1 -0
  57. package/dist/cli/lib/store.js +81 -0
  58. package/dist/cli/lib/store.js.map +1 -0
  59. package/dist/cli/lib/zip.d.ts +7 -0
  60. package/dist/cli/lib/zip.d.ts.map +1 -0
  61. package/dist/cli/lib/zip.js +67 -0
  62. package/dist/cli/lib/zip.js.map +1 -0
  63. package/dist/components/index.d.ts +8 -0
  64. package/dist/components/index.d.ts.map +1 -0
  65. package/dist/components/index.js +25 -0
  66. package/dist/components/index.js.map +1 -0
  67. package/dist/index.d.ts +9 -0
  68. package/dist/index.d.ts.map +1 -0
  69. package/dist/index.js +36 -0
  70. package/dist/index.js.map +1 -0
  71. package/dist/ipc/MessageBroker.d.ts +30 -0
  72. package/dist/ipc/MessageBroker.d.ts.map +1 -0
  73. package/dist/ipc/MessageBroker.js +118 -0
  74. package/dist/ipc/MessageBroker.js.map +1 -0
  75. package/dist/services/ActionServiceProxy.d.ts +17 -0
  76. package/dist/services/ActionServiceProxy.d.ts.map +1 -0
  77. package/dist/services/ActionServiceProxy.js +60 -0
  78. package/dist/services/ActionServiceProxy.js.map +1 -0
  79. package/dist/services/ClipboardHistoryServiceProxy.d.ts +26 -0
  80. package/dist/services/ClipboardHistoryServiceProxy.d.ts.map +1 -0
  81. package/dist/services/ClipboardHistoryServiceProxy.js +74 -0
  82. package/dist/services/ClipboardHistoryServiceProxy.js.map +1 -0
  83. package/dist/services/CommandServiceProxy.d.ts +15 -0
  84. package/dist/services/CommandServiceProxy.d.ts.map +1 -0
  85. package/dist/services/CommandServiceProxy.js +44 -0
  86. package/dist/services/CommandServiceProxy.js.map +1 -0
  87. package/dist/services/ExtensionManagerProxy.d.ts +25 -0
  88. package/dist/services/ExtensionManagerProxy.d.ts.map +1 -0
  89. package/dist/services/ExtensionManagerProxy.js +78 -0
  90. package/dist/services/ExtensionManagerProxy.js.map +1 -0
  91. package/dist/services/IClipboardHistoryService.d.ts +24 -0
  92. package/dist/services/IClipboardHistoryService.d.ts.map +1 -0
  93. package/dist/services/IClipboardHistoryService.js +3 -0
  94. package/dist/services/IClipboardHistoryService.js.map +1 -0
  95. package/dist/services/ICommandService.d.ts +10 -0
  96. package/dist/services/ICommandService.d.ts.map +1 -0
  97. package/dist/services/ICommandService.js +3 -0
  98. package/dist/services/ICommandService.js.map +1 -0
  99. package/dist/services/IExtensionManager.d.ts +26 -0
  100. package/dist/services/IExtensionManager.d.ts.map +1 -0
  101. package/dist/services/IExtensionManager.js +3 -0
  102. package/dist/services/IExtensionManager.js.map +1 -0
  103. package/dist/services/INotificationService.d.ts +15 -0
  104. package/dist/services/INotificationService.d.ts.map +1 -0
  105. package/dist/services/INotificationService.js +3 -0
  106. package/dist/services/INotificationService.js.map +1 -0
  107. package/dist/services/IStatusBarService.d.ts +11 -0
  108. package/dist/services/IStatusBarService.d.ts.map +1 -0
  109. package/dist/services/IStatusBarService.js +3 -0
  110. package/dist/services/IStatusBarService.js.map +1 -0
  111. package/dist/services/LogService.d.ts +8 -0
  112. package/dist/services/LogService.d.ts.map +1 -0
  113. package/dist/services/LogService.js +3 -0
  114. package/dist/services/LogService.js.map +1 -0
  115. package/dist/services/LogServiceProxy.d.ts +13 -0
  116. package/dist/services/LogServiceProxy.d.ts.map +1 -0
  117. package/dist/services/LogServiceProxy.js +33 -0
  118. package/dist/services/LogServiceProxy.js.map +1 -0
  119. package/dist/services/NetworkServiceProxy.d.ts +9 -0
  120. package/dist/services/NetworkServiceProxy.d.ts.map +1 -0
  121. package/dist/services/NetworkServiceProxy.js +37 -0
  122. package/dist/services/NetworkServiceProxy.js.map +1 -0
  123. package/dist/services/NotificationServiceProxy.d.ts +17 -0
  124. package/dist/services/NotificationServiceProxy.d.ts.map +1 -0
  125. package/dist/services/NotificationServiceProxy.js +42 -0
  126. package/dist/services/NotificationServiceProxy.js.map +1 -0
  127. package/dist/services/StatusBarServiceProxy.d.ts +11 -0
  128. package/dist/services/StatusBarServiceProxy.d.ts.map +1 -0
  129. package/dist/services/StatusBarServiceProxy.js +28 -0
  130. package/dist/services/StatusBarServiceProxy.js.map +1 -0
  131. package/dist/services/index.d.ts +15 -0
  132. package/dist/services/index.d.ts.map +1 -0
  133. package/dist/services/index.js +35 -0
  134. package/dist/services/index.js.map +1 -0
  135. package/dist/types/ActionType.d.ts +64 -0
  136. package/dist/types/ActionType.d.ts.map +1 -0
  137. package/dist/types/ActionType.js +47 -0
  138. package/dist/types/ActionType.js.map +1 -0
  139. package/dist/types/ClipboardType.d.ts +20 -0
  140. package/dist/types/ClipboardType.d.ts.map +1 -0
  141. package/dist/types/ClipboardType.js +13 -0
  142. package/dist/types/ClipboardType.js.map +1 -0
  143. package/dist/types/CommandType.d.ts +36 -0
  144. package/dist/types/CommandType.d.ts.map +1 -0
  145. package/dist/types/CommandType.js +3 -0
  146. package/dist/types/CommandType.js.map +1 -0
  147. package/dist/types/ExtensionType.d.ts +50 -0
  148. package/dist/types/ExtensionType.d.ts.map +1 -0
  149. package/dist/types/ExtensionType.js +3 -0
  150. package/dist/types/ExtensionType.js.map +1 -0
  151. package/dist/types/NetworkType.d.ts +17 -0
  152. package/dist/types/NetworkType.d.ts.map +1 -0
  153. package/dist/types/NetworkType.js +3 -0
  154. package/dist/types/NetworkType.js.map +1 -0
  155. package/dist/types/NotificationType.d.ts +48 -0
  156. package/dist/types/NotificationType.d.ts.map +1 -0
  157. package/dist/types/NotificationType.js +3 -0
  158. package/dist/types/NotificationType.js.map +1 -0
  159. package/dist/types/index.d.ts +7 -0
  160. package/dist/types/index.d.ts.map +1 -0
  161. package/dist/types/index.js +19 -0
  162. package/dist/types/index.js.map +1 -0
  163. package/package.json +48 -0
@@ -0,0 +1,118 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.MessageBroker = void 0;
4
+ class MessageBroker {
5
+ constructor() {
6
+ this.pendingRequests = new Map();
7
+ this.eventListeners = new Map();
8
+ this.isBrowser = typeof window !== 'undefined' && typeof window.parent !== 'undefined';
9
+ this.setupListeners();
10
+ }
11
+ setExtensionId(id) {
12
+ this.extensionId = id;
13
+ }
14
+ static getInstance() {
15
+ if (!MessageBroker.instance) {
16
+ MessageBroker.instance = new MessageBroker();
17
+ }
18
+ return MessageBroker.instance;
19
+ }
20
+ setupListeners() {
21
+ if (this.isBrowser) {
22
+ window.addEventListener('message', this.handleMessage.bind(this));
23
+ }
24
+ else if (typeof process !== 'undefined') {
25
+ if (process.send) {
26
+ process.on('message', this.handleMessage.bind(this));
27
+ }
28
+ else if (process.stdin) {
29
+ process.stdin.on('data', (data) => {
30
+ try {
31
+ const messages = data.toString().split('\n').filter(Boolean);
32
+ for (const msgStr of messages) {
33
+ const msg = JSON.parse(msgStr);
34
+ this.handleMessage(msg);
35
+ }
36
+ }
37
+ catch (e) {
38
+ console.error('Failed to parse IPC message from stdin', e);
39
+ }
40
+ });
41
+ }
42
+ }
43
+ }
44
+ handleMessage(event) {
45
+ var _a, _b, _c;
46
+ const data = this.isBrowser ? event.data : event;
47
+ if (!data || typeof data !== 'object')
48
+ return;
49
+ if (data.type === 'asyar:response') {
50
+ const response = data;
51
+ const pending = this.pendingRequests.get(response.messageId);
52
+ if (pending) {
53
+ if (response.error) {
54
+ pending.reject(new Error(response.error));
55
+ }
56
+ else {
57
+ pending.resolve(response.result);
58
+ }
59
+ this.pendingRequests.delete(response.messageId);
60
+ }
61
+ }
62
+ else if ((_a = data.type) === null || _a === void 0 ? void 0 : _a.startsWith('asyar:event:')) {
63
+ const listeners = this.eventListeners.get(data.type);
64
+ if (listeners) {
65
+ listeners.forEach(listener => listener(data.payload));
66
+ }
67
+ }
68
+ else if ((_b = data.type) === null || _b === void 0 ? void 0 : _b.startsWith('asyar:invoke:')) {
69
+ // Main app calling an extension function
70
+ const listeners = this.eventListeners.get(data.type);
71
+ if (listeners) {
72
+ listeners.forEach(listener => listener(data));
73
+ }
74
+ }
75
+ else if (data.messageId && ((_c = data.type) === null || _c === void 0 ? void 0 : _c.startsWith('asyar:api:'))) {
76
+ // Ignore messages intended for main app if they loop back somehow
77
+ return;
78
+ }
79
+ }
80
+ generateId() {
81
+ return Math.random().toString(36).substring(2, 15) + Math.random().toString(36).substring(2, 15);
82
+ }
83
+ invoke(command, payload, extensionId) {
84
+ return new Promise((resolve, reject) => {
85
+ const messageId = this.generateId();
86
+ this.pendingRequests.set(messageId, { resolve, reject });
87
+ const message = Object.assign({ type: `asyar:api:${command}`, payload: payload || {}, messageId }, (extensionId ? { extensionId } : {}));
88
+ this.send(message);
89
+ });
90
+ }
91
+ send(message) {
92
+ if (this.isBrowser) {
93
+ window.parent.postMessage(message, '*');
94
+ }
95
+ else if (typeof process !== 'undefined') {
96
+ if (process.send) {
97
+ process.send(message);
98
+ }
99
+ else if (process.stdout) {
100
+ process.stdout.write(JSON.stringify(message) + '\n');
101
+ }
102
+ }
103
+ }
104
+ on(event, listener) {
105
+ if (!this.eventListeners.has(event)) {
106
+ this.eventListeners.set(event, new Set());
107
+ }
108
+ this.eventListeners.get(event).add(listener);
109
+ }
110
+ off(event, listener) {
111
+ const listeners = this.eventListeners.get(event);
112
+ if (listeners) {
113
+ listeners.delete(listener);
114
+ }
115
+ }
116
+ }
117
+ exports.MessageBroker = MessageBroker;
118
+ //# sourceMappingURL=MessageBroker.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"MessageBroker.js","sourceRoot":"","sources":["../../src/ipc/MessageBroker.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,17 @@
1
+ import { IActionService, ExtensionAction, ActionContext } from "../types";
2
+ export declare class ActionServiceProxy implements IActionService {
3
+ private broker;
4
+ private currentContext;
5
+ private extensionId?;
6
+ constructor();
7
+ setExtensionId(id: string): void;
8
+ registerAction(action: ExtensionAction): void;
9
+ unregisterAction(actionId: string): void;
10
+ getActions(context?: ActionContext): ExtensionAction[];
11
+ executeAction(actionId: string): Promise<void>;
12
+ setContext(context: ActionContext, data?: {
13
+ commandId?: string;
14
+ }): void;
15
+ getContext(): ActionContext;
16
+ }
17
+ //# sourceMappingURL=ActionServiceProxy.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ActionServiceProxy.d.ts","sourceRoot":"","sources":["../../src/services/ActionServiceProxy.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,eAAe,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AAI1E,qBAAa,kBAAmB,YAAW,cAAc;IACvD,OAAO,CAAC,MAAM,CAAgB;IAC9B,OAAO,CAAC,cAAc,CAAuC;IAC7D,OAAO,CAAC,WAAW,CAAC,CAAS;;IAM7B,cAAc,CAAC,EAAE,EAAE,MAAM;IAOzB,cAAc,CAAC,MAAM,EAAE,eAAe,GAAG,IAAI;IAQ7C,gBAAgB,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI;IAKxC,UAAU,CAAC,OAAO,CAAC,EAAE,aAAa,GAAG,eAAe,EAAE;IAStD,aAAa,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAI9C,UAAU,CAAC,OAAO,EAAE,aAAa,EAAE,IAAI,CAAC,EAAE;QAAE,SAAS,CAAC,EAAE,MAAM,CAAA;KAAE,GAAG,IAAI;IAKvE,UAAU,IAAI,aAAa;CAI5B"}
@@ -0,0 +1,60 @@
1
+ "use strict";
2
+ var __rest = (this && this.__rest) || function (s, e) {
3
+ var t = {};
4
+ for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)
5
+ t[p] = s[p];
6
+ if (s != null && typeof Object.getOwnPropertySymbols === "function")
7
+ for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
8
+ if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))
9
+ t[p[i]] = s[p[i]];
10
+ }
11
+ return t;
12
+ };
13
+ Object.defineProperty(exports, "__esModule", { value: true });
14
+ exports.ActionServiceProxy = void 0;
15
+ const types_1 = require("../types");
16
+ const MessageBroker_1 = require("../ipc/MessageBroker");
17
+ const ExtensionBridge_1 = require("../ExtensionBridge");
18
+ class ActionServiceProxy {
19
+ constructor() {
20
+ this.currentContext = types_1.ActionContext.GLOBAL;
21
+ this.broker = MessageBroker_1.MessageBroker.getInstance();
22
+ }
23
+ setExtensionId(id) {
24
+ this.extensionId = id;
25
+ const originalInvoke = this.broker.invoke.bind(this.broker);
26
+ this.broker = Object.create(this.broker);
27
+ this.broker.invoke = (command, payload) => originalInvoke(command, payload, id);
28
+ }
29
+ registerAction(action) {
30
+ ExtensionBridge_1.ExtensionBridge.getInstance().registerAction(action.extensionId, action);
31
+ // We shouldn't serialize the `execute` function for IPC, so we omit it
32
+ const { execute } = action, actionData = __rest(action, ["execute"]);
33
+ this.broker.invoke('action:registerAction', { action: actionData }).catch(console.error);
34
+ }
35
+ unregisterAction(actionId) {
36
+ ExtensionBridge_1.ExtensionBridge.getInstance().unregisterAction(actionId);
37
+ this.broker.invoke('action:unregisterAction', { actionId }).catch(console.error);
38
+ }
39
+ getActions(context) {
40
+ console.warn('getActions called synchronously in proxy.');
41
+ const allActions = ExtensionBridge_1.ExtensionBridge.getInstance().getActions();
42
+ if (context) {
43
+ return allActions.filter(a => a.context === context);
44
+ }
45
+ return allActions;
46
+ }
47
+ executeAction(actionId) {
48
+ return this.broker.invoke('action:executeAction', { actionId });
49
+ }
50
+ setContext(context, data) {
51
+ this.currentContext = context;
52
+ this.broker.invoke('action:setContext', { context, data }).catch(console.error);
53
+ }
54
+ getContext() {
55
+ console.warn('getContext called synchronously in proxy.');
56
+ return this.currentContext;
57
+ }
58
+ }
59
+ exports.ActionServiceProxy = ActionServiceProxy;
60
+ //# sourceMappingURL=ActionServiceProxy.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ActionServiceProxy.js","sourceRoot":"","sources":["../../src/services/ActionServiceProxy.ts"],"names":[],"mappings":";;;;;;;;;;;;;;AAAA,oCAA0E;AAC1E,wDAAqD;AACrD,wDAAqD;AAErD,MAAa,kBAAkB;IAK7B;QAHQ,mBAAc,GAAkB,qBAAa,CAAC,MAAM,CAAC;QAI3D,IAAI,CAAC,MAAM,GAAG,6BAAa,CAAC,WAAW,EAAE,CAAC;IAC5C,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,CAAC,CAAC;QACzC,IAAI,CAAC,MAAM,CAAC,MAAM,GAAG,CAAI,OAAe,EAAE,OAAa,EAAE,EAAE,CAAC,cAAc,CAAC,OAAO,EAAE,OAAO,EAAE,EAAE,CAAC,CAAC;IACnG,CAAC;IAED,cAAc,CAAC,MAAuB;QACpC,iCAAe,CAAC,WAAW,EAAE,CAAC,cAAc,CAAC,MAAM,CAAC,WAAW,EAAE,MAAM,CAAC,CAAC;QAEzE,uEAAuE;QACvE,MAAM,EAAE,OAAO,KAAoB,MAAM,EAArB,UAAU,UAAK,MAAM,EAAnC,WAA0B,CAAS,CAAC;QAC1C,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,uBAAuB,EAAE,EAAE,MAAM,EAAE,UAAU,EAAE,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;IAC3F,CAAC;IAED,gBAAgB,CAAC,QAAgB;QAC/B,iCAAe,CAAC,WAAW,EAAE,CAAC,gBAAgB,CAAC,QAAQ,CAAC,CAAC;QACzD,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,yBAAyB,EAAE,EAAE,QAAQ,EAAE,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;IACnF,CAAC;IAED,UAAU,CAAC,OAAuB;QAChC,OAAO,CAAC,IAAI,CAAC,2CAA2C,CAAC,CAAC;QAC1D,MAAM,UAAU,GAAG,iCAAe,CAAC,WAAW,EAAE,CAAC,UAAU,EAAE,CAAC;QAC9D,IAAI,OAAO,EAAE,CAAC;YACV,OAAO,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,OAAO,KAAK,OAAO,CAAC,CAAC;QACzD,CAAC;QACD,OAAO,UAAU,CAAC;IACpB,CAAC;IAED,aAAa,CAAC,QAAgB;QAC5B,OAAO,IAAI,CAAC,MAAM,CAAC,MAAM,CAAO,sBAAsB,EAAE,EAAE,QAAQ,EAAE,CAAC,CAAC;IACxE,CAAC;IAED,UAAU,CAAC,OAAsB,EAAE,IAA6B;QAC9D,IAAI,CAAC,cAAc,GAAG,OAAO,CAAC;QAC9B,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,mBAAmB,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;IAClF,CAAC;IAED,UAAU;QACR,OAAO,CAAC,IAAI,CAAC,2CAA2C,CAAC,CAAC;QAC1D,OAAO,IAAI,CAAC,cAAc,CAAC;IAC7B,CAAC;CACF;AAnDD,gDAmDC"}
@@ -0,0 +1,26 @@
1
+ import { IClipboardHistoryService } from "./IClipboardHistoryService";
2
+ import { ClipboardHistoryItem, ClipboardItemType } from "../types";
3
+ export declare class ClipboardHistoryServiceProxy implements IClipboardHistoryService {
4
+ private broker;
5
+ private extensionId?;
6
+ constructor();
7
+ setExtensionId(id: string): void;
8
+ initialize(): Promise<void>;
9
+ stopMonitoring(): void;
10
+ formatClipboardItem(item: ClipboardHistoryItem): string;
11
+ pasteItem(item: ClipboardHistoryItem): Promise<void>;
12
+ hideWindow(): Promise<void>;
13
+ simulatePaste(): Promise<boolean>;
14
+ writeToClipboard(item: ClipboardHistoryItem): Promise<void>;
15
+ getRecentItems(limit?: number): Promise<ClipboardHistoryItem[]>;
16
+ toggleItemFavorite(itemId: string): Promise<boolean>;
17
+ deleteItem(itemId: string): Promise<boolean>;
18
+ clearNonFavorites(): Promise<boolean>;
19
+ normalizeImageData(content: string): string;
20
+ isValidImageData(content: string): boolean;
21
+ readCurrentClipboard(): Promise<{
22
+ type: ClipboardItemType;
23
+ content: string;
24
+ }>;
25
+ }
26
+ //# sourceMappingURL=ClipboardHistoryServiceProxy.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ClipboardHistoryServiceProxy.d.ts","sourceRoot":"","sources":["../../src/services/ClipboardHistoryServiceProxy.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,wBAAwB,EAAE,MAAM,4BAA4B,CAAC;AAEtE,OAAO,EAAE,oBAAoB,EAAE,iBAAiB,EAAE,MAAM,UAAU,CAAC;AAEnE,qBAAa,4BAA6B,YAAW,wBAAwB;IAC3E,OAAO,CAAC,MAAM,CAAgB;IAC9B,OAAO,CAAC,WAAW,CAAC,CAAS;;IAM7B,cAAc,CAAC,EAAE,EAAE,MAAM;IAOzB,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC;IAI3B,cAAc,IAAI,IAAI;IAOtB,mBAAmB,CAAC,IAAI,EAAE,oBAAoB,GAAG,MAAM;IAWvD,SAAS,CAAC,IAAI,EAAE,oBAAoB,GAAG,OAAO,CAAC,IAAI,CAAC;IAIpD,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC;IAI3B,aAAa,IAAI,OAAO,CAAC,OAAO,CAAC;IAIjC,gBAAgB,CAAC,IAAI,EAAE,oBAAoB,GAAG,OAAO,CAAC,IAAI,CAAC;IAI3D,cAAc,CAAC,KAAK,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,oBAAoB,EAAE,CAAC;IAI/D,kBAAkB,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAIpD,UAAU,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAI5C,iBAAiB,IAAI,OAAO,CAAC,OAAO,CAAC;IAIrC,kBAAkB,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM;IAM3C,gBAAgB,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO;IAK1C,oBAAoB,IAAI,OAAO,CAAC;QAAE,IAAI,EAAE,iBAAiB,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAE,CAAC;CAG9E"}
@@ -0,0 +1,74 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.ClipboardHistoryServiceProxy = void 0;
4
+ const MessageBroker_1 = require("../ipc/MessageBroker");
5
+ const types_1 = require("../types");
6
+ class ClipboardHistoryServiceProxy {
7
+ constructor() {
8
+ this.broker = MessageBroker_1.MessageBroker.getInstance();
9
+ }
10
+ setExtensionId(id) {
11
+ this.extensionId = id;
12
+ const originalInvoke = this.broker.invoke.bind(this.broker);
13
+ this.broker = Object.create(this.broker);
14
+ this.broker.invoke = (command, payload) => originalInvoke(command, payload, id);
15
+ }
16
+ initialize() {
17
+ return this.broker.invoke('clipboard:initialize');
18
+ }
19
+ stopMonitoring() {
20
+ this.broker.invoke('clipboard:stopMonitoring').catch(console.error);
21
+ }
22
+ // Note: formatClipboardItem seems like a synchronous formatting task.
23
+ // It might be better executed directly if it's purely formatting text,
24
+ // but if it relies on backend state, we proxy it. Assuming proxy to be safe.
25
+ formatClipboardItem(item) {
26
+ // If it's a synchronous method in the interface and we must return a string immediately,
27
+ // we can't use an async IPC call easily unless we change the interface.
28
+ // However, looking at the interface: `formatClipboardItem(item: ClipboardHistoryItem): string;`
29
+ // I'll implement a basic formatting here, as making it async breaks the interface.
30
+ if (item.type === types_1.ClipboardItemType.Text || item.type === types_1.ClipboardItemType.Html) {
31
+ return item.content || '';
32
+ }
33
+ return `[${item.type} item]`;
34
+ }
35
+ pasteItem(item) {
36
+ return this.broker.invoke('clipboard:pasteItem', { item });
37
+ }
38
+ hideWindow() {
39
+ return this.broker.invoke('clipboard:hideWindow');
40
+ }
41
+ simulatePaste() {
42
+ return this.broker.invoke('clipboard:simulatePaste');
43
+ }
44
+ writeToClipboard(item) {
45
+ return this.broker.invoke('clipboard:writeToClipboard', { item });
46
+ }
47
+ getRecentItems(limit) {
48
+ return this.broker.invoke('clipboard:getRecentItems', { limit });
49
+ }
50
+ toggleItemFavorite(itemId) {
51
+ return this.broker.invoke('clipboard:toggleItemFavorite', { itemId });
52
+ }
53
+ deleteItem(itemId) {
54
+ return this.broker.invoke('clipboard:deleteItem', { itemId });
55
+ }
56
+ clearNonFavorites() {
57
+ return this.broker.invoke('clipboard:clearNonFavorites');
58
+ }
59
+ normalizeImageData(content) {
60
+ // Synchronous method.
61
+ if (content.startsWith('data:image'))
62
+ return content;
63
+ return `data:image/png;base64,${content}`;
64
+ }
65
+ isValidImageData(content) {
66
+ // Synchronous method.
67
+ return content.startsWith('data:image') || /^[A-Za-z0-9+/=]+$/.test(content);
68
+ }
69
+ readCurrentClipboard() {
70
+ return this.broker.invoke('clipboard:readCurrentClipboard');
71
+ }
72
+ }
73
+ exports.ClipboardHistoryServiceProxy = ClipboardHistoryServiceProxy;
74
+ //# sourceMappingURL=ClipboardHistoryServiceProxy.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ClipboardHistoryServiceProxy.js","sourceRoot":"","sources":["../../src/services/ClipboardHistoryServiceProxy.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,15 @@
1
+ import { ICommandService } from "./ICommandService";
2
+ import { CommandHandler, ExtensionAction } from "../types";
3
+ export declare class CommandServiceProxy implements ICommandService {
4
+ private broker;
5
+ private extensionId?;
6
+ constructor();
7
+ setExtensionId(id: string): void;
8
+ registerCommand(commandId: string, handler: CommandHandler, extensionId: string, actions?: Omit<ExtensionAction, 'extensionId'>[]): void;
9
+ unregisterCommand(commandId: string): void;
10
+ executeCommand(commandId: string, args?: Record<string, any>): Promise<any>;
11
+ getCommands(): string[];
12
+ getCommandsForExtension(extensionId: string): string[];
13
+ clearCommandsForExtension(extensionId: string): void;
14
+ }
15
+ //# sourceMappingURL=CommandServiceProxy.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"CommandServiceProxy.d.ts","sourceRoot":"","sources":["../../src/services/CommandServiceProxy.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACpD,OAAO,EAAE,cAAc,EAAE,eAAe,EAAE,MAAM,UAAU,CAAC;AAI3D,qBAAa,mBAAoB,YAAW,eAAe;IACzD,OAAO,CAAC,MAAM,CAAgB;IAC9B,OAAO,CAAC,WAAW,CAAC,CAAS;;IAM7B,cAAc,CAAC,EAAE,EAAE,MAAM;IAOzB,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;IAQP,iBAAiB,CAAC,SAAS,EAAE,MAAM,GAAG,IAAI;IAK1C,cAAc,CAAC,SAAS,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,OAAO,CAAC,GAAG,CAAC;IAI3E,WAAW,IAAI,MAAM,EAAE;IAKvB,uBAAuB,CAAC,WAAW,EAAE,MAAM,GAAG,MAAM,EAAE;IAKtD,yBAAyB,CAAC,WAAW,EAAE,MAAM,GAAG,IAAI;CAKrD"}
@@ -0,0 +1,44 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.CommandServiceProxy = void 0;
4
+ const MessageBroker_1 = require("../ipc/MessageBroker");
5
+ const ExtensionBridge_1 = require("../ExtensionBridge");
6
+ class CommandServiceProxy {
7
+ constructor() {
8
+ this.broker = MessageBroker_1.MessageBroker.getInstance();
9
+ }
10
+ setExtensionId(id) {
11
+ this.extensionId = id;
12
+ const originalInvoke = this.broker.invoke.bind(this.broker);
13
+ this.broker = Object.create(this.broker);
14
+ this.broker.invoke = (command, payload) => originalInvoke(command, payload, id);
15
+ }
16
+ registerCommand(commandId, handler, extensionId, actions) {
17
+ // We register it locally so the extension can handle it when called back.
18
+ ExtensionBridge_1.ExtensionBridge.getInstance().registerCommand(commandId, handler, extensionId);
19
+ // Notify the main app
20
+ this.broker.invoke('command:registerCommand', { commandId, extensionId, actions }).catch(console.error);
21
+ }
22
+ unregisterCommand(commandId) {
23
+ ExtensionBridge_1.ExtensionBridge.getInstance().unregisterCommand(commandId);
24
+ this.broker.invoke('command:unregisterCommand', { commandId }).catch(console.error);
25
+ }
26
+ executeCommand(commandId, args) {
27
+ return this.broker.invoke('command:executeCommand', { commandId, args });
28
+ }
29
+ getCommands() {
30
+ console.warn('getCommands called synchronously in proxy.');
31
+ return ExtensionBridge_1.ExtensionBridge.getInstance().getCommands();
32
+ }
33
+ getCommandsForExtension(extensionId) {
34
+ console.warn('getCommandsForExtension called synchronously in proxy.');
35
+ return ExtensionBridge_1.ExtensionBridge.getInstance().getCommandsForExtension(extensionId);
36
+ }
37
+ clearCommandsForExtension(extensionId) {
38
+ // It's tricky to implement synchronously when the master list is in main.
39
+ // Assuming mostly local clearing is needed inside iframe.
40
+ this.broker.invoke('command:clearCommandsForExtension', { extensionId }).catch(console.error);
41
+ }
42
+ }
43
+ exports.CommandServiceProxy = CommandServiceProxy;
44
+ //# sourceMappingURL=CommandServiceProxy.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"CommandServiceProxy.js","sourceRoot":"","sources":["../../src/services/CommandServiceProxy.ts"],"names":[],"mappings":";;;AAEA,wDAAqD;AACrD,wDAAqD;AAErD,MAAa,mBAAmB;IAI9B;QACE,IAAI,CAAC,MAAM,GAAG,6BAAa,CAAC,WAAW,EAAE,CAAC;IAC5C,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,CAAC,CAAC;QACzC,IAAI,CAAC,MAAM,CAAC,MAAM,GAAG,CAAI,OAAe,EAAE,OAAa,EAAE,EAAE,CAAC,cAAc,CAAC,OAAO,EAAE,OAAO,EAAE,EAAE,CAAC,CAAC;IACnG,CAAC;IAED,eAAe,CACb,SAAiB,EACjB,OAAuB,EACvB,WAAmB,EACnB,OAAgD;QAEhD,0EAA0E;QAC1E,iCAAe,CAAC,WAAW,EAAE,CAAC,eAAe,CAAC,SAAS,EAAE,OAAO,EAAE,WAAW,CAAC,CAAC;QAE/E,sBAAsB;QACtB,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,yBAAyB,EAAE,EAAE,SAAS,EAAE,WAAW,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;IAC1G,CAAC;IAED,iBAAiB,CAAC,SAAiB;QACjC,iCAAe,CAAC,WAAW,EAAE,CAAC,iBAAiB,CAAC,SAAS,CAAC,CAAC;QAC3D,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,2BAA2B,EAAE,EAAE,SAAS,EAAE,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;IACtF,CAAC;IAED,cAAc,CAAC,SAAiB,EAAE,IAA0B;QAC1D,OAAO,IAAI,CAAC,MAAM,CAAC,MAAM,CAAM,wBAAwB,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IAChF,CAAC;IAED,WAAW;QACT,OAAO,CAAC,IAAI,CAAC,4CAA4C,CAAC,CAAC;QAC3D,OAAO,iCAAe,CAAC,WAAW,EAAE,CAAC,WAAW,EAAE,CAAC;IACrD,CAAC;IAED,uBAAuB,CAAC,WAAmB;QACzC,OAAO,CAAC,IAAI,CAAC,wDAAwD,CAAC,CAAC;QACvE,OAAO,iCAAe,CAAC,WAAW,EAAE,CAAC,uBAAuB,CAAC,WAAW,CAAC,CAAC;IAC5E,CAAC;IAED,yBAAyB,CAAC,WAAmB;QAC3C,0EAA0E;QAC1E,0DAA0D;QAC1D,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,mCAAmC,EAAE,EAAE,WAAW,EAAE,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;IAChG,CAAC;CACF;AApDD,kDAoDC"}
@@ -0,0 +1,25 @@
1
+ import { IExtensionManager } from "./IExtensionManager";
2
+ import { ExtensionResult } from "../types/ExtensionType";
3
+ export declare class ExtensionManagerProxy implements IExtensionManager {
4
+ private broker;
5
+ private _currentExtension;
6
+ private extensionId?;
7
+ constructor();
8
+ setExtensionId(id: string): void;
9
+ get currentExtension(): any;
10
+ set currentExtension(value: any);
11
+ init(): Promise<boolean>;
12
+ loadExtensions(): Promise<void>;
13
+ reloadExtensions(): Promise<void>;
14
+ isExtensionEnabled(extensionName: string): boolean;
15
+ toggleExtensionState(extensionName: string, enabled: boolean): Promise<boolean>;
16
+ getAllExtensionsWithState(): Promise<any[]>;
17
+ searchAll(query: string): Promise<ExtensionResult[]>;
18
+ handleViewSearch(query: string): Promise<void>;
19
+ navigateToView(viewPath: string): void;
20
+ goBack(): void;
21
+ getAllExtensions(): Promise<any[]>;
22
+ uninstallExtension(extensionId: string, extensionName: string): Promise<boolean>;
23
+ setActiveViewActionLabel(label: string | null): void;
24
+ }
25
+ //# sourceMappingURL=ExtensionManagerProxy.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ExtensionManagerProxy.d.ts","sourceRoot":"","sources":["../../src/services/ExtensionManagerProxy.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AAExD,OAAO,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AAEzD,qBAAa,qBAAsB,YAAW,iBAAiB;IAC7D,OAAO,CAAC,MAAM,CAAgB;IAC9B,OAAO,CAAC,iBAAiB,CAAa;IACtC,OAAO,CAAC,WAAW,CAAC,CAAS;;IAS7B,cAAc,CAAC,EAAE,EAAE,MAAM;IAOzB,IAAI,gBAAgB,IAAI,GAAG,CAE1B;IAED,IAAI,gBAAgB,CAAC,KAAK,EAAE,GAAG,EAE9B;IAED,IAAI,IAAI,OAAO,CAAC,OAAO,CAAC;IAIxB,cAAc,IAAI,OAAO,CAAC,IAAI,CAAC;IAI/B,gBAAgB,IAAI,OAAO,CAAC,IAAI,CAAC;IAOjC,kBAAkB,CAAC,aAAa,EAAE,MAAM,GAAG,OAAO;IAKlD,oBAAoB,CAAC,aAAa,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC;IAI/E,yBAAyB,IAAI,OAAO,CAAC,GAAG,EAAE,CAAC;IAI3C,SAAS,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,eAAe,EAAE,CAAC;IAIpD,gBAAgB,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAI9C,cAAc,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI;IAYtC,MAAM,IAAI,IAAI;IAId,gBAAgB,IAAI,OAAO,CAAC,GAAG,EAAE,CAAC;IAIlC,kBAAkB,CAAC,WAAW,EAAE,MAAM,EAAE,aAAa,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAIhF,wBAAwB,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,GAAG,IAAI;CAGrD"}
@@ -0,0 +1,78 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.ExtensionManagerProxy = void 0;
4
+ const MessageBroker_1 = require("../ipc/MessageBroker");
5
+ class ExtensionManagerProxy {
6
+ constructor() {
7
+ this._currentExtension = null;
8
+ this.broker = MessageBroker_1.MessageBroker.getInstance();
9
+ // In an iframe context, the current extension ID should ideally be
10
+ // initialized via a message from the host, but we can set up a listener for it
11
+ // if the main process sends the state.
12
+ }
13
+ setExtensionId(id) {
14
+ this.extensionId = id;
15
+ const originalInvoke = this.broker.invoke.bind(this.broker);
16
+ this.broker = Object.create(this.broker);
17
+ this.broker.invoke = (command, payload) => originalInvoke(command, payload, id);
18
+ }
19
+ get currentExtension() {
20
+ return this._currentExtension;
21
+ }
22
+ set currentExtension(value) {
23
+ this._currentExtension = value;
24
+ }
25
+ init() {
26
+ return this.broker.invoke('extension:init');
27
+ }
28
+ loadExtensions() {
29
+ return this.broker.invoke('extension:loadExtensions');
30
+ }
31
+ reloadExtensions() {
32
+ return this.broker.invoke('extension:reloadExtensions');
33
+ }
34
+ // NOTE: isExtensionEnabled is a synchronous method in the interface
35
+ // which might be tricky with IPC. Returning a dummy value for now,
36
+ // though extensions shouldn't usually check this synchronously.
37
+ isExtensionEnabled(extensionName) {
38
+ console.warn('isExtensionEnabled called synchronously in proxy. Returning true as fallback.');
39
+ return true;
40
+ }
41
+ toggleExtensionState(extensionName, enabled) {
42
+ return this.broker.invoke('extension:toggleExtensionState', { extensionName, enabled });
43
+ }
44
+ getAllExtensionsWithState() {
45
+ return this.broker.invoke('extension:getAllExtensionsWithState');
46
+ }
47
+ searchAll(query) {
48
+ return this.broker.invoke('extension:searchAll', { query });
49
+ }
50
+ handleViewSearch(query) {
51
+ return this.broker.invoke('extension:handleViewSearch', { query });
52
+ }
53
+ navigateToView(viewPath) {
54
+ // [ARCHITECTURE SAFEGUARD]: IPC PAYLOAD STRUCTURE
55
+ // The Host Window (ExtensionManager.ts) dynamically unpacks IPC method payloads
56
+ // into positional arguments using `Object.values(payload)`.
57
+ // Therefore, EVERY proxy method here MUST send its payload as a named-key object
58
+ // where the keys correspond to the target method's parameter names in order.
59
+ // Example: Sending `{ viewPath }` becomes `navigateToView(viewPath)`.
60
+ // NEVER send raw primitives like `this.broker.invoke('...', viewPath)`, as it
61
+ // will break the Host's generic argument deserializer.
62
+ this.broker.invoke('extension:navigateToView', { viewPath }).catch(console.error);
63
+ }
64
+ goBack() {
65
+ this.broker.invoke('extension:goBack').catch(console.error);
66
+ }
67
+ getAllExtensions() {
68
+ return this.broker.invoke('extension:getAllExtensions');
69
+ }
70
+ uninstallExtension(extensionId, extensionName) {
71
+ return this.broker.invoke('extension:uninstallExtension', { extensionId, extensionName });
72
+ }
73
+ setActiveViewActionLabel(label) {
74
+ this.broker.invoke('extension:setActiveViewActionLabel', { label }).catch(console.error);
75
+ }
76
+ }
77
+ exports.ExtensionManagerProxy = ExtensionManagerProxy;
78
+ //# sourceMappingURL=ExtensionManagerProxy.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ExtensionManagerProxy.js","sourceRoot":"","sources":["../../src/services/ExtensionManagerProxy.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,24 @@
1
+ import { ClipboardHistoryItem, ClipboardItemType } from "../types";
2
+ /**
3
+ * Interface for Clipboard History Service
4
+ */
5
+ export interface IClipboardHistoryService {
6
+ initialize(): Promise<void>;
7
+ stopMonitoring(): void;
8
+ formatClipboardItem(item: ClipboardHistoryItem): string;
9
+ pasteItem(item: ClipboardHistoryItem): Promise<void>;
10
+ hideWindow(): Promise<void>;
11
+ simulatePaste(): Promise<boolean>;
12
+ writeToClipboard(item: ClipboardHistoryItem): Promise<void>;
13
+ getRecentItems(limit?: number): Promise<ClipboardHistoryItem[]>;
14
+ toggleItemFavorite(itemId: string): Promise<boolean>;
15
+ deleteItem(itemId: string): Promise<boolean>;
16
+ clearNonFavorites(): Promise<boolean>;
17
+ normalizeImageData(content: string): string;
18
+ isValidImageData(content: string): boolean;
19
+ readCurrentClipboard(): Promise<{
20
+ type: ClipboardItemType;
21
+ content: string;
22
+ }>;
23
+ }
24
+ //# sourceMappingURL=IClipboardHistoryService.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"IClipboardHistoryService.d.ts","sourceRoot":"","sources":["../../src/services/IClipboardHistoryService.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,oBAAoB,EAAE,iBAAiB,EAAE,MAAM,UAAU,CAAC;AAEnE;;GAEG;AACH,MAAM,WAAW,wBAAwB;IACvC,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IAC5B,cAAc,IAAI,IAAI,CAAC;IACvB,mBAAmB,CAAC,IAAI,EAAE,oBAAoB,GAAG,MAAM,CAAC;IACxD,SAAS,CAAC,IAAI,EAAE,oBAAoB,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACrD,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IAC5B,aAAa,IAAI,OAAO,CAAC,OAAO,CAAC,CAAC;IAClC,gBAAgB,CAAC,IAAI,EAAE,oBAAoB,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAC5D,cAAc,CAAC,KAAK,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,oBAAoB,EAAE,CAAC,CAAC;IAChE,kBAAkB,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;IACrD,UAAU,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;IAC7C,iBAAiB,IAAI,OAAO,CAAC,OAAO,CAAC,CAAC;IACtC,kBAAkB,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAAC;IAC5C,gBAAgB,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC;IAC3C,oBAAoB,IAAI,OAAO,CAAC;QAAE,IAAI,EAAE,iBAAiB,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;CAC/E"}
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=IClipboardHistoryService.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"IClipboardHistoryService.js","sourceRoot":"","sources":["../../src/services/IClipboardHistoryService.ts"],"names":[],"mappings":""}
@@ -0,0 +1,10 @@
1
+ import { CommandHandler, ExtensionAction } from '../types';
2
+ export interface ICommandService {
3
+ registerCommand(commandId: string, handler: CommandHandler, extensionId: string, actions?: Omit<ExtensionAction, 'extensionId'>[]): void;
4
+ unregisterCommand(commandId: string): void;
5
+ executeCommand(commandId: string, args?: Record<string, any>): Promise<any>;
6
+ getCommands(): string[];
7
+ getCommandsForExtension(extensionId: string): string[];
8
+ clearCommandsForExtension(extensionId: string): void;
9
+ }
10
+ //# sourceMappingURL=ICommandService.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ICommandService.d.ts","sourceRoot":"","sources":["../../src/services/ICommandService.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,eAAe,EAAE,MAAM,UAAU,CAAC;AAE3D,MAAM,WAAW,eAAe;IAC9B,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,CAAC;IACR,iBAAiB,CAAC,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3C,cAAc,CAAC,SAAS,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC;IAC5E,WAAW,IAAI,MAAM,EAAE,CAAC;IACxB,uBAAuB,CAAC,WAAW,EAAE,MAAM,GAAG,MAAM,EAAE,CAAC;IACvD,yBAAyB,CAAC,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;CACtD"}
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=ICommandService.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ICommandService.js","sourceRoot":"","sources":["../../src/services/ICommandService.ts"],"names":[],"mappings":""}
@@ -0,0 +1,26 @@
1
+ import { ExtensionResult } from "../types/ExtensionType";
2
+ /**
3
+ * Interface for Extension Manager
4
+ */
5
+ export interface IExtensionManager {
6
+ init(): Promise<boolean>;
7
+ loadExtensions(): Promise<void>;
8
+ reloadExtensions(): Promise<void>;
9
+ isExtensionEnabled(extensionName: string): boolean;
10
+ toggleExtensionState(extensionName: string, enabled: boolean): Promise<boolean>;
11
+ getAllExtensionsWithState(): Promise<any[]>;
12
+ searchAll(query: string): Promise<ExtensionResult[]>;
13
+ handleViewSearch(query: string): Promise<void>;
14
+ navigateToView(viewPath: string): void;
15
+ goBack(): void;
16
+ getAllExtensions(): Promise<any[]>;
17
+ uninstallExtension(extensionId: string, extensionName: string): Promise<boolean>;
18
+ currentExtension: any;
19
+ /**
20
+ * Allows an active view extension to suggest a primary action label
21
+ * to be displayed in the UI (e.g., in the bottom action bar).
22
+ * @param label The suggested label (e.g., "Paste", "Save"), or null to clear.
23
+ */
24
+ setActiveViewActionLabel(label: string | null): void;
25
+ }
26
+ //# sourceMappingURL=IExtensionManager.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"IExtensionManager.d.ts","sourceRoot":"","sources":["../../src/services/IExtensionManager.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AAEzD;;GAEG;AACH,MAAM,WAAW,iBAAiB;IAChC,IAAI,IAAI,OAAO,CAAC,OAAO,CAAC,CAAC;IACzB,cAAc,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IAChC,gBAAgB,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IAClC,kBAAkB,CAAC,aAAa,EAAE,MAAM,GAAG,OAAO,CAAC;IACnD,oBAAoB,CAClB,aAAa,EAAE,MAAM,EACrB,OAAO,EAAE,OAAO,GACf,OAAO,CAAC,OAAO,CAAC,CAAC;IACpB,yBAAyB,IAAI,OAAO,CAAC,GAAG,EAAE,CAAC,CAAC;IAC5C,SAAS,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,eAAe,EAAE,CAAC,CAAC;IACrD,gBAAgB,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAC/C,cAAc,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;IACvC,MAAM,IAAI,IAAI,CAAC;IACf,gBAAgB,IAAI,OAAO,CAAC,GAAG,EAAE,CAAC,CAAC;IACnC,kBAAkB,CAChB,WAAW,EAAE,MAAM,EACnB,aAAa,EAAE,MAAM,GACpB,OAAO,CAAC,OAAO,CAAC,CAAC;IACpB,gBAAgB,EAAE,GAAG,CAAC;IACtB;;;;OAIG;IACH,wBAAwB,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,GAAG,IAAI,CAAC;CACtD"}
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=IExtensionManager.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"IExtensionManager.js","sourceRoot":"","sources":["../../src/services/IExtensionManager.ts"],"names":[],"mappings":""}