asyar-sdk 1.10.2 → 1.12.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (184) hide show
  1. package/README.md +70 -4
  2. package/dist/ExtensionBridge.d.ts +48 -0
  3. package/dist/ExtensionBridge.d.ts.map +1 -1
  4. package/dist/ExtensionBridge.js +141 -3
  5. package/dist/ExtensionBridge.js.map +1 -1
  6. package/dist/ExtensionBridge.test.js +65 -0
  7. package/dist/ExtensionBridge.test.js.map +1 -1
  8. package/dist/ExtensionContext.d.ts +77 -1
  9. package/dist/ExtensionContext.d.ts.map +1 -1
  10. package/dist/ExtensionContext.js +114 -0
  11. package/dist/ExtensionContext.js.map +1 -1
  12. package/dist/ExtensionContext.test.d.ts +2 -0
  13. package/dist/ExtensionContext.test.d.ts.map +1 -0
  14. package/dist/ExtensionContext.test.js +101 -0
  15. package/dist/ExtensionContext.test.js.map +1 -0
  16. package/dist/cli/commands/build.d.ts.map +1 -1
  17. package/dist/cli/commands/build.js +17 -7
  18. package/dist/cli/commands/build.js.map +1 -1
  19. package/dist/cli/lib/manifest.d.ts +22 -1
  20. package/dist/cli/lib/manifest.d.ts.map +1 -1
  21. package/dist/cli/lib/manifest.js +129 -1
  22. package/dist/cli/lib/manifest.js.map +1 -1
  23. package/dist/icons/iconData.d.ts.map +1 -1
  24. package/dist/icons/iconData.js +28 -0
  25. package/dist/icons/iconData.js.map +1 -1
  26. package/dist/index.d.ts +2 -1
  27. package/dist/index.d.ts.map +1 -1
  28. package/dist/index.js +5 -3
  29. package/dist/index.js.map +1 -1
  30. package/dist/search/textUtils.d.ts +2 -1
  31. package/dist/search/textUtils.d.ts.map +1 -1
  32. package/dist/search/textUtils.js +143 -7
  33. package/dist/search/textUtils.js.map +1 -1
  34. package/dist/search/textUtils.test.js +47 -0
  35. package/dist/search/textUtils.test.js.map +1 -1
  36. package/dist/services/AIServiceProxy.d.ts +6 -0
  37. package/dist/services/AIServiceProxy.d.ts.map +1 -0
  38. package/dist/services/AIServiceProxy.js +99 -0
  39. package/dist/services/AIServiceProxy.js.map +1 -0
  40. package/dist/services/AIServiceProxy.test.d.ts +2 -0
  41. package/dist/services/AIServiceProxy.test.d.ts.map +1 -0
  42. package/dist/services/AIServiceProxy.test.js +192 -0
  43. package/dist/services/AIServiceProxy.test.js.map +1 -0
  44. package/dist/services/ActionServiceProxy.d.ts +1 -0
  45. package/dist/services/ActionServiceProxy.d.ts.map +1 -1
  46. package/dist/services/ActionServiceProxy.js +3 -0
  47. package/dist/services/ActionServiceProxy.js.map +1 -1
  48. package/dist/services/ApplicationService.d.ts +39 -0
  49. package/dist/services/ApplicationService.d.ts.map +1 -0
  50. package/dist/services/ApplicationService.js +32 -0
  51. package/dist/services/ApplicationService.js.map +1 -0
  52. package/dist/services/ApplicationService.test.d.ts +2 -0
  53. package/dist/services/ApplicationService.test.d.ts.map +1 -0
  54. package/dist/services/ApplicationService.test.js +75 -0
  55. package/dist/services/ApplicationService.test.js.map +1 -0
  56. package/dist/services/BaseServiceProxy.d.ts.map +1 -1
  57. package/dist/services/BaseServiceProxy.js +3 -1
  58. package/dist/services/BaseServiceProxy.js.map +1 -1
  59. package/dist/services/CacheServiceProxy.d.ts +27 -0
  60. package/dist/services/CacheServiceProxy.d.ts.map +1 -0
  61. package/dist/services/CacheServiceProxy.js +67 -0
  62. package/dist/services/CacheServiceProxy.js.map +1 -0
  63. package/dist/services/CacheServiceProxy.test.d.ts +2 -0
  64. package/dist/services/CacheServiceProxy.test.d.ts.map +1 -0
  65. package/dist/services/CacheServiceProxy.test.js +61 -0
  66. package/dist/services/CacheServiceProxy.test.js.map +1 -0
  67. package/dist/services/ClipboardHistoryServiceProxy.d.ts +1 -0
  68. package/dist/services/ClipboardHistoryServiceProxy.d.ts.map +1 -1
  69. package/dist/services/ClipboardHistoryServiceProxy.js +3 -0
  70. package/dist/services/ClipboardHistoryServiceProxy.js.map +1 -1
  71. package/dist/services/CommandServiceProxy.d.ts +3 -0
  72. package/dist/services/CommandServiceProxy.d.ts.map +1 -1
  73. package/dist/services/CommandServiceProxy.js +8 -0
  74. package/dist/services/CommandServiceProxy.js.map +1 -1
  75. package/dist/services/CommandServiceProxy.test.d.ts +2 -0
  76. package/dist/services/CommandServiceProxy.test.d.ts.map +1 -0
  77. package/dist/services/CommandServiceProxy.test.js +69 -0
  78. package/dist/services/CommandServiceProxy.test.js.map +1 -0
  79. package/dist/services/ExtensionManagerProxy.d.ts +1 -1
  80. package/dist/services/ExtensionManagerProxy.d.ts.map +1 -1
  81. package/dist/services/ExtensionManagerProxy.js +2 -2
  82. package/dist/services/ExtensionManagerProxy.js.map +1 -1
  83. package/dist/services/FeedbackServiceProxy.d.ts +25 -0
  84. package/dist/services/FeedbackServiceProxy.d.ts.map +1 -0
  85. package/dist/services/FeedbackServiceProxy.js +41 -0
  86. package/dist/services/FeedbackServiceProxy.js.map +1 -0
  87. package/dist/services/FileManagerServiceProxy.d.ts +7 -0
  88. package/dist/services/FileManagerServiceProxy.d.ts.map +1 -0
  89. package/dist/services/FileManagerServiceProxy.js +27 -0
  90. package/dist/services/FileManagerServiceProxy.js.map +1 -0
  91. package/dist/services/FileManagerServiceProxy.test.d.ts +2 -0
  92. package/dist/services/FileManagerServiceProxy.test.d.ts.map +1 -0
  93. package/dist/services/FileManagerServiceProxy.test.js +56 -0
  94. package/dist/services/FileManagerServiceProxy.test.js.map +1 -0
  95. package/dist/services/IAIService.d.ts +66 -0
  96. package/dist/services/IAIService.d.ts.map +1 -0
  97. package/dist/services/IAIService.js +3 -0
  98. package/dist/services/IAIService.js.map +1 -0
  99. package/dist/services/ICacheService.d.ts +45 -0
  100. package/dist/services/ICacheService.d.ts.map +1 -0
  101. package/dist/services/ICacheService.js +3 -0
  102. package/dist/services/ICacheService.js.map +1 -0
  103. package/dist/services/IClipboardHistoryService.d.ts +6 -0
  104. package/dist/services/IClipboardHistoryService.d.ts.map +1 -1
  105. package/dist/services/ICommandService.d.ts +3 -0
  106. package/dist/services/ICommandService.d.ts.map +1 -1
  107. package/dist/services/IExtensionManager.d.ts +7 -4
  108. package/dist/services/IExtensionManager.d.ts.map +1 -1
  109. package/dist/services/IFeedbackService.d.ts +84 -0
  110. package/dist/services/IFeedbackService.d.ts.map +1 -0
  111. package/dist/services/IFeedbackService.js +3 -0
  112. package/dist/services/IFeedbackService.js.map +1 -0
  113. package/dist/services/IFileManagerService.d.ts +33 -0
  114. package/dist/services/IFileManagerService.d.ts.map +1 -0
  115. package/dist/services/IFileManagerService.js +3 -0
  116. package/dist/services/IFileManagerService.js.map +1 -0
  117. package/dist/services/IInteropService.d.ts +16 -0
  118. package/dist/services/IInteropService.d.ts.map +1 -0
  119. package/dist/services/IInteropService.js +12 -0
  120. package/dist/services/IInteropService.js.map +1 -0
  121. package/dist/services/IOAuthService.d.ts +68 -0
  122. package/dist/services/IOAuthService.d.ts.map +1 -0
  123. package/dist/services/IOAuthService.js +3 -0
  124. package/dist/services/IOAuthService.js.map +1 -0
  125. package/dist/services/ISelectionService.d.ts +23 -0
  126. package/dist/services/ISelectionService.d.ts.map +1 -0
  127. package/dist/services/ISelectionService.js +3 -0
  128. package/dist/services/ISelectionService.js.map +1 -0
  129. package/dist/services/IShellService.d.ts +39 -0
  130. package/dist/services/IShellService.d.ts.map +1 -0
  131. package/dist/services/IShellService.js +3 -0
  132. package/dist/services/IShellService.js.map +1 -0
  133. package/dist/services/IStorageService.d.ts +22 -0
  134. package/dist/services/IStorageService.d.ts.map +1 -0
  135. package/dist/services/IStorageService.js +3 -0
  136. package/dist/services/IStorageService.js.map +1 -0
  137. package/dist/services/InteropServiceProxy.d.ts +6 -0
  138. package/dist/services/InteropServiceProxy.d.ts.map +1 -0
  139. package/dist/services/InteropServiceProxy.js +26 -0
  140. package/dist/services/InteropServiceProxy.js.map +1 -0
  141. package/dist/services/InteropServiceProxy.test.d.ts +2 -0
  142. package/dist/services/InteropServiceProxy.test.d.ts.map +1 -0
  143. package/dist/services/InteropServiceProxy.test.js +59 -0
  144. package/dist/services/InteropServiceProxy.test.js.map +1 -0
  145. package/dist/services/OAuthServiceProxy.d.ts +18 -0
  146. package/dist/services/OAuthServiceProxy.d.ts.map +1 -0
  147. package/dist/services/OAuthServiceProxy.js +70 -0
  148. package/dist/services/OAuthServiceProxy.js.map +1 -0
  149. package/dist/services/OAuthServiceProxy.test.d.ts +2 -0
  150. package/dist/services/OAuthServiceProxy.test.d.ts.map +1 -0
  151. package/dist/services/OAuthServiceProxy.test.js +165 -0
  152. package/dist/services/OAuthServiceProxy.test.js.map +1 -0
  153. package/dist/services/SelectionServiceProxy.d.ts +10 -0
  154. package/dist/services/SelectionServiceProxy.d.ts.map +1 -0
  155. package/dist/services/SelectionServiceProxy.js +17 -0
  156. package/dist/services/SelectionServiceProxy.js.map +1 -0
  157. package/dist/services/ShellServiceProxy.d.ts +6 -0
  158. package/dist/services/ShellServiceProxy.d.ts.map +1 -0
  159. package/dist/services/ShellServiceProxy.js +78 -0
  160. package/dist/services/ShellServiceProxy.js.map +1 -0
  161. package/dist/services/StorageServiceProxy.d.ts +16 -0
  162. package/dist/services/StorageServiceProxy.d.ts.map +1 -0
  163. package/dist/services/StorageServiceProxy.js +48 -0
  164. package/dist/services/StorageServiceProxy.js.map +1 -0
  165. package/dist/services/WindowManagementService.d.ts +48 -0
  166. package/dist/services/WindowManagementService.d.ts.map +1 -0
  167. package/dist/services/WindowManagementService.js +37 -0
  168. package/dist/services/WindowManagementService.js.map +1 -0
  169. package/dist/services/WindowManagementService.test.d.ts +2 -0
  170. package/dist/services/WindowManagementService.test.d.ts.map +1 -0
  171. package/dist/services/WindowManagementService.test.js +51 -0
  172. package/dist/services/WindowManagementService.test.js.map +1 -0
  173. package/dist/services/index.d.ts +23 -0
  174. package/dist/services/index.d.ts.map +1 -1
  175. package/dist/services/index.js +27 -1
  176. package/dist/services/index.js.map +1 -1
  177. package/dist/types/ActionType.d.ts +2 -0
  178. package/dist/types/ActionType.d.ts.map +1 -1
  179. package/dist/types/ActionType.js.map +1 -1
  180. package/dist/types/ClipboardType.d.ts +13 -0
  181. package/dist/types/ClipboardType.d.ts.map +1 -1
  182. package/dist/types/ExtensionType.d.ts +72 -0
  183. package/dist/types/ExtensionType.d.ts.map +1 -1
  184. package/package.json +1 -1
@@ -149,6 +149,34 @@ exports.ICON_DATA = {
149
149
  <path d="M1 12s4-8 11-8 11 8 11 8-4 8-11 8-11-8-11-8z" />
150
150
  <circle cx="12" cy="12" r="3" />
151
151
  `,
152
+ power: `
153
+ <path d="M18.36 6.64a9 9 0 1 1-12.73 0" />
154
+ <line x1="12" y1="2" x2="12" y2="12" />
155
+ `,
156
+ palette: `
157
+ <circle cx="13.5" cy="6.5" r="1.5" />
158
+ <circle cx="17.5" cy="10.5" r="1.5" />
159
+ <circle cx="8.5" cy="7.5" r="1.5" />
160
+ <circle cx="6.5" cy="12.5" r="1.5" />
161
+ <path d="M12 2C6.5 2 2 6.5 2 12s4.5 10 10 10c.926 0 1.648-.746 1.648-1.688 0-.437-.18-.835-.437-1.125-.29-.289-.438-.652-.438-1.125a1.64 1.64 0 0 1 1.668-1.668h1.996c3.051 0 5.555-2.503 5.555-5.554C21.965 6.012 17.461 2 12 2z" />
162
+ `,
163
+ puzzle: `
164
+ <path d="M19.439 7.85c-.049.322.059.648.289.878l1.568 1.568c.47.47.706 1.087.706 1.704s-.235 1.233-.706 1.704l-1.611 1.611a.98.98 0 0 1-.837.276c-.47-.07-.802-.48-.968-.925a2.501 2.501 0 1 0-3.214 3.214c.446.166.855.497.925.968a.979.979 0 0 1-.276.837l-1.61 1.61a2.404 2.404 0 0 1-1.705.707 2.402 2.402 0 0 1-1.704-.706l-1.568-1.568a1.026 1.026 0 0 0-.877-.29c-.493.074-.84.504-1.02.968a2.5 2.5 0 1 1-3.237-3.237c.464-.18.894-.527.967-1.02a1.026 1.026 0 0 0-.289-.877l-1.568-1.568A2.402 2.402 0 0 1 1.998 12c0-.617.236-1.234.706-1.704L4.315 8.685a.98.98 0 0 1 .837-.276c.47.07.802.48.968.925a2.501 2.501 0 1 0 3.214-3.214c-.446-.166-.855-.497-.925-.968a.979.979 0 0 1 .276-.837l1.61-1.61a2.404 2.404 0 0 1 1.705-.707c.618 0 1.234.236 1.704.706l1.568 1.568c.23.23.556.338.877.29.493-.074.84-.504 1.02-.968a2.5 2.5 0 1 1 3.237 3.237c-.464.18-.894.527-.967 1.02z" />
165
+ `,
166
+ 'cloud-upload': `
167
+ <path d="M4 14.899A7 7 0 1 1 15.71 8h1.79a4.5 4.5 0 0 1 2.5 8.242" />
168
+ <path d="M12 12v9" />
169
+ <path d="m16 16-4-4-4 4" />
170
+ `,
171
+ user: `
172
+ <path d="M19 21v-2a4 4 0 0 0-4-4H9a4 4 0 0 0-4 4v2" />
173
+ <circle cx="12" cy="7" r="4" />
174
+ `,
175
+ info: `
176
+ <circle cx="12" cy="12" r="10" />
177
+ <path d="M12 16v-4" />
178
+ <path d="M12 8h.01" />
179
+ `,
152
180
  };
153
181
  exports.ICON_NAMES = Object.keys(exports.ICON_DATA);
154
182
  //# sourceMappingURL=iconData.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"iconData.js","sourceRoot":"","sources":["../../src/icons/iconData.ts"],"names":[],"mappings":";;;AAAa,QAAA,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;CACF,CAAC;AAEW,QAAA,UAAU,GAAsB,MAAM,CAAC,IAAI,CAAC,iBAAS,CAAC,CAAC"}
1
+ {"version":3,"file":"iconData.js","sourceRoot":"","sources":["../../src/icons/iconData.ts"],"names":[],"mappings":";;;AAAa,QAAA,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;AAEW,QAAA,UAAU,GAAsB,MAAM,CAAC,IAAI,CAAC,iBAAS,CAAC,CAAC"}
package/dist/index.d.ts CHANGED
@@ -1,6 +1,7 @@
1
1
  export { ExtensionBridge } from "./ExtensionBridge";
2
2
  export { ExtensionContext } from "./ExtensionContext";
3
- export type { IExtensionManager, ILogService, INotificationService, IClipboardHistoryService, ICommandService, IStatusBarService, IStatusBarItem, ISettingsService, IEntitlementService, } from './services';
3
+ export type { IExtensionManager, ILogService, INotificationService, IClipboardHistoryService, ICommandService, IStatusBarService, IStatusBarItem, ISettingsService, IEntitlementService, IFeedbackService, ShowToastOptions, ConfirmAlertOptions, ToastStyle, ISelectionService, SelectionError, SelectionErrorCode, IStorageService, IAIService, AIStreamHandle, AIStreamHandlers, AIMessage, IOAuthService, OAuthConfig, OAuthToken, OAuthError, IShellService, IFileManagerService, IInteropService, IApplicationService, FrontmostApplication, ICacheService, CacheSetOptions, IWindowManagementService, WindowBounds, ShellHandle, ShellChunk, SpawnParams, } from './services';
4
+ export { LaunchCommandError } from './services';
4
5
  export { ExtensionManagerProxy, StatusBarServiceProxy, } from './services';
5
6
  export { ActionContext, ActionCategory } from './types/ActionType';
6
7
  export type { ActionCategoryValue } from './types/ActionType';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACpD,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AAItD,YAAY,EACV,iBAAiB,EACjB,WAAW,EACX,oBAAoB,EACpB,wBAAwB,EACxB,eAAe,EACf,iBAAiB,EACjB,cAAc,EACd,gBAAgB,EAChB,mBAAmB,GACpB,MAAM,YAAY,CAAC;AAEpB,OAAO,EAGL,qBAAqB,EACrB,qBAAqB,GACtB,MAAM,YAAY,CAAC;AAGpB,OAAO,EAAE,aAAa,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AACnE,YAAY,EAAE,mBAAmB,EAAE,MAAM,oBAAoB,CAAC;AAG9D,cAAc,SAAS,CAAC;AACxB,cAAc,SAAS,CAAC;AACxB,cAAc,UAAU,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACpD,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AAItD,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,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,aAAa,EACb,eAAe,EACf,wBAAwB,EACxB,YAAY,EACZ,WAAW,EACX,UAAU,EACV,WAAW,GACZ,MAAM,YAAY,CAAC;AAEpB,OAAO,EAAE,kBAAkB,EAAE,MAAM,YAAY,CAAC;AAEhD,OAAO,EAGL,qBAAqB,EACrB,qBAAqB,GACtB,MAAM,YAAY,CAAC;AAGpB,OAAO,EAAE,aAAa,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AACnE,YAAY,EAAE,mBAAmB,EAAE,MAAM,oBAAoB,CAAC;AAG9D,cAAc,SAAS,CAAC;AACxB,cAAc,SAAS,CAAC;AACxB,cAAc,UAAU,CAAC"}
package/dist/index.js CHANGED
@@ -14,16 +14,18 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
14
  for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
15
  };
16
16
  Object.defineProperty(exports, "__esModule", { value: true });
17
- exports.ActionCategory = exports.ActionContext = exports.StatusBarServiceProxy = exports.ExtensionManagerProxy = exports.ExtensionContext = exports.ExtensionBridge = void 0;
17
+ exports.ActionCategory = exports.ActionContext = exports.StatusBarServiceProxy = exports.ExtensionManagerProxy = exports.LaunchCommandError = exports.ExtensionContext = exports.ExtensionBridge = void 0;
18
18
  var ExtensionBridge_1 = require("./ExtensionBridge");
19
19
  Object.defineProperty(exports, "ExtensionBridge", { enumerable: true, get: function () { return ExtensionBridge_1.ExtensionBridge; } });
20
20
  var ExtensionContext_1 = require("./ExtensionContext");
21
21
  Object.defineProperty(exports, "ExtensionContext", { enumerable: true, get: function () { return ExtensionContext_1.ExtensionContext; } });
22
22
  var services_1 = require("./services");
23
+ Object.defineProperty(exports, "LaunchCommandError", { enumerable: true, get: function () { return services_1.LaunchCommandError; } });
24
+ var services_2 = require("./services");
23
25
  // TODO: Tech Debt - Remove this public export once create-extension built-in is refactored
24
26
  // to call host services directly instead of using this Tier 2 postMessage proxy.
25
- Object.defineProperty(exports, "ExtensionManagerProxy", { enumerable: true, get: function () { return services_1.ExtensionManagerProxy; } });
26
- Object.defineProperty(exports, "StatusBarServiceProxy", { enumerable: true, get: function () { return services_1.StatusBarServiceProxy; } });
27
+ Object.defineProperty(exports, "ExtensionManagerProxy", { enumerable: true, get: function () { return services_2.ExtensionManagerProxy; } });
28
+ Object.defineProperty(exports, "StatusBarServiceProxy", { enumerable: true, get: function () { return services_2.StatusBarServiceProxy; } });
27
29
  // Export specific enums/types if needed individually
28
30
  var ActionType_1 = require("./types/ActionType");
29
31
  Object.defineProperty(exports, "ActionContext", { enumerable: true, get: function () { return ActionType_1.ActionContext; } });
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;AAAA,qDAAoD;AAA3C,kHAAA,eAAe,OAAA;AACxB,uDAAsD;AAA7C,oHAAA,gBAAgB,OAAA;AAgBzB,uCAKoB;AAJlB,4FAA4F;AAC5F,iFAAiF;AACjF,iHAAA,qBAAqB,OAAA;AACrB,iHAAA,qBAAqB,OAAA;AAGvB,qDAAqD;AACrD,iDAAmE;AAA1D,2GAAA,aAAa,OAAA;AAAE,4GAAA,cAAc,OAAA;AAGtC,6CAA6C;AAC7C,0CAAwB;AACxB,0CAAwB;AACxB,2CAAyB"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;AAAA,qDAAoD;AAA3C,kHAAA,eAAe,OAAA;AACxB,uDAAsD;AAA7C,oHAAA,gBAAgB,OAAA;AA4CzB,uCAAgD;AAAvC,8GAAA,kBAAkB,OAAA;AAE3B,uCAKoB;AAJlB,4FAA4F;AAC5F,iFAAiF;AACjF,iHAAA,qBAAqB,OAAA;AACrB,iHAAA,qBAAqB,OAAA;AAGvB,qDAAqD;AACrD,iDAAmE;AAA1D,2GAAA,aAAa,OAAA;AAAE,4GAAA,cAAc,OAAA;AAGtC,6CAA6C;AAC7C,0CAAwB;AACxB,0CAAwB;AACxB,2CAAyB"}
@@ -4,7 +4,8 @@
4
4
  */
5
5
  export declare function stripHtml(html: string): string;
6
6
  /**
7
- * Strip RTF control words, unicode escapes, braces, and backslashes.
7
+ * Strip RTF control words, metadata groups (font/color tables), and decode escapes.
8
+ * Uses a brace-aware single-pass scanner to avoid leaking structural text.
8
9
  */
9
10
  export declare function stripRtf(rtf: string): string;
10
11
  //# sourceMappingURL=textUtils.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"textUtils.d.ts","sourceRoot":"","sources":["../../src/search/textUtils.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,wBAAgB,SAAS,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAc9C;AAED;;GAEG;AACH,wBAAgB,QAAQ,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAQ5C"}
1
+ {"version":3,"file":"textUtils.d.ts","sourceRoot":"","sources":["../../src/search/textUtils.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,wBAAgB,SAAS,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAc9C;AAmBD;;;GAGG;AACH,wBAAgB,QAAQ,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAwH5C"}
@@ -23,16 +23,152 @@ function stripHtml(html) {
23
23
  .trim();
24
24
  }
25
25
  /**
26
- * Strip RTF control words, unicode escapes, braces, and backslashes.
26
+ * Character mapping for Windows-1252 (Standard RTF encoding for 0x80-0x9F)
27
+ */
28
+ const CP1252 = {
29
+ 0x80: '\u20AC', 0x82: '\u201A', 0x83: '\u0192', 0x84: '\u201E', 0x85: '\u2026', 0x86: '\u2020', 0x87: '\u2021',
30
+ 0x88: '\u02C6', 0x89: '\u2030', 0x8A: '\u0160', 0x8B: '\u2039', 0x8C: '\u0152', 0x8E: '\u017D', 0x91: '\u2018',
31
+ 0x92: '\u2019', 0x93: '\u201C', 0x94: '\u201D', 0x95: '\u2022', 0x96: '\u2013', 0x97: '\u2014', 0x98: '\u02DC',
32
+ 0x99: '\u2122', 0x9A: '\u0161', 0x9B: '\u203A', 0x9C: '\u0153', 0x9E: '\u017E', 0x9F: '\u0178',
33
+ };
34
+ const DESTINATIONS_TO_SKIP = new Set([
35
+ 'fonttbl', 'colortbl', 'expandedcolortbl', 'stylesheet', 'listtable', 'listoverridetable',
36
+ 'rsidtbl', 'generator', 'info', 'filetbl', 'revtbl', 'themedata', 'latentstyles', 'datastore',
37
+ 'pict', 'header', 'headerl', 'headerr', 'headerf', 'footer', 'footerl', 'footerr', 'footerf',
38
+ 'bkmkstart', 'bkmkend', 'field', 'object', 'nonesttables', 'mmathPr', 'wgrffmtfilter', 'xmlnstbl'
39
+ ]);
40
+ /**
41
+ * Strip RTF control words, metadata groups (font/color tables), and decode escapes.
42
+ * Uses a brace-aware single-pass scanner to avoid leaking structural text.
27
43
  */
28
44
  function stripRtf(rtf) {
29
45
  if (!rtf)
30
46
  return '';
31
- return rtf
32
- .replace(/\\u-?\d+\??/g, '')
33
- .replace(/\\[a-z]+-?\d*\s?/gi, '')
34
- .replace(/[{}\\]/g, '')
35
- .replace(/\s+/g, ' ')
36
- .trim();
47
+ let output = '';
48
+ let i = 0;
49
+ let depth = 0;
50
+ const skipUntil = [];
51
+ while (i < rtf.length) {
52
+ const char = rtf[i];
53
+ if (char === '{') {
54
+ depth++;
55
+ i++;
56
+ // Check if this is a destination group to skip (e.g. {\fonttbl ...} or {\*\expandedcolortbl ...})
57
+ if (rtf[i] === '\\') {
58
+ let j = i + 1;
59
+ let isIgnorable = false;
60
+ if (rtf[j] === '*') {
61
+ isIgnorable = true;
62
+ j++;
63
+ if (rtf[j] === '\\')
64
+ j++;
65
+ }
66
+ let k = j;
67
+ while (k < rtf.length && ((rtf[k] >= 'a' && rtf[k] <= 'z') || (rtf[k] >= 'A' && rtf[k] <= 'Z'))) {
68
+ k++;
69
+ }
70
+ const keyword = rtf.substring(j, k);
71
+ if (DESTINATIONS_TO_SKIP.has(keyword) || isIgnorable) {
72
+ skipUntil.push(depth);
73
+ }
74
+ }
75
+ continue;
76
+ }
77
+ if (char === '}') {
78
+ if (skipUntil.length > 0 && skipUntil[skipUntil.length - 1] === depth) {
79
+ skipUntil.pop();
80
+ }
81
+ depth--;
82
+ i++;
83
+ continue;
84
+ }
85
+ if (skipUntil.length > 0) {
86
+ i++;
87
+ continue;
88
+ }
89
+ if (char === '\\') {
90
+ i++;
91
+ const next = rtf[i];
92
+ if (!next)
93
+ break;
94
+ if (next === '{' || next === '}' || next === '\\') {
95
+ output += next;
96
+ i++;
97
+ }
98
+ else if (next === "'") {
99
+ const hex = rtf.substring(i + 1, i + 3);
100
+ if (/^[0-9a-fA-F]{2}$/.test(hex)) {
101
+ const byte = parseInt(hex, 16);
102
+ output += byte < 128 ? String.fromCharCode(byte) : (CP1252[byte] || '');
103
+ i += 3;
104
+ }
105
+ else {
106
+ i++;
107
+ }
108
+ }
109
+ else if (next === 'u') {
110
+ let j = i + 1;
111
+ let sign = 1;
112
+ if (rtf[j] === '-') {
113
+ sign = -1;
114
+ j++;
115
+ }
116
+ const start = j;
117
+ while (j < rtf.length && rtf[j] >= '0' && rtf[j] <= '9') {
118
+ j++;
119
+ }
120
+ const numStr = rtf.substring(start, j);
121
+ if (numStr) {
122
+ const code = (parseInt(numStr, 10) * sign) & 0xFFFF;
123
+ output += String.fromCodePoint(code);
124
+ i = j;
125
+ if (rtf[i] === '?')
126
+ i++;
127
+ if (i < rtf.length)
128
+ i++; // Skip fallback char
129
+ }
130
+ else {
131
+ i++;
132
+ }
133
+ }
134
+ else if (next === '~') {
135
+ output += ' ';
136
+ i++;
137
+ }
138
+ else if (next === '_') {
139
+ output += '-';
140
+ i++;
141
+ }
142
+ else if ((next >= 'a' && next <= 'z') || (next >= 'A' && next <= 'Z')) {
143
+ let j = i;
144
+ while (j < rtf.length && ((rtf[j] >= 'a' && rtf[j] <= 'z') || (rtf[j] >= 'A' && rtf[j] <= 'Z'))) {
145
+ j++;
146
+ }
147
+ const keyword = rtf.substring(i, j);
148
+ if (keyword === 'par' || keyword === 'line' || keyword === 'sect' || keyword === 'page') {
149
+ output += ' ';
150
+ }
151
+ else if (keyword === 'tab') {
152
+ output += '\t';
153
+ }
154
+ i = j;
155
+ if (rtf[i] === '-')
156
+ i++;
157
+ while (i < rtf.length && rtf[i] >= '0' && rtf[i] <= '9') {
158
+ i++;
159
+ }
160
+ if (rtf[i] === ' ')
161
+ i++;
162
+ }
163
+ else {
164
+ i++; // Skip non-letter extension
165
+ }
166
+ }
167
+ else {
168
+ output += char;
169
+ i++;
170
+ }
171
+ }
172
+ return output.replace(/\s+/g, ' ').trim();
37
173
  }
38
174
  //# sourceMappingURL=textUtils.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"textUtils.js","sourceRoot":"","sources":["../../src/search/textUtils.ts"],"names":[],"mappings":";;AAIA,8BAcC;AAKD,4BAQC;AA/BD;;;GAGG;AACH,SAAgB,SAAS,CAAC,IAAY;IACpC,IAAI,CAAC,IAAI;QAAE,OAAO,EAAE,CAAC;IACrB,OAAO,IAAI;SACR,OAAO,CAAC,iCAAiC,EAAE,EAAE,CAAC;SAC9C,OAAO,CAAC,mCAAmC,EAAE,EAAE,CAAC;SAChD,OAAO,CAAC,UAAU,EAAE,GAAG,CAAC;SACxB,OAAO,CAAC,UAAU,EAAE,GAAG,CAAC;SACxB,OAAO,CAAC,SAAS,EAAE,GAAG,CAAC;SACvB,OAAO,CAAC,QAAQ,EAAE,GAAG,CAAC;SACtB,OAAO,CAAC,QAAQ,EAAE,GAAG,CAAC;SACtB,OAAO,CAAC,UAAU,EAAE,GAAG,CAAC;SACxB,OAAO,CAAC,UAAU,EAAE,GAAG,CAAC;SACxB,OAAO,CAAC,MAAM,EAAE,GAAG,CAAC;SACpB,IAAI,EAAE,CAAC;AACZ,CAAC;AAED;;GAEG;AACH,SAAgB,QAAQ,CAAC,GAAW;IAClC,IAAI,CAAC,GAAG;QAAE,OAAO,EAAE,CAAC;IACpB,OAAO,GAAG;SACP,OAAO,CAAC,cAAc,EAAE,EAAE,CAAC;SAC3B,OAAO,CAAC,oBAAoB,EAAE,EAAE,CAAC;SACjC,OAAO,CAAC,SAAS,EAAE,EAAE,CAAC;SACtB,OAAO,CAAC,MAAM,EAAE,GAAG,CAAC;SACpB,IAAI,EAAE,CAAC;AACZ,CAAC"}
1
+ {"version":3,"file":"textUtils.js","sourceRoot":"","sources":["../../src/search/textUtils.ts"],"names":[],"mappings":";;AAIA,8BAcC;AAuBD,4BAwHC;AAjKD;;;GAGG;AACH,SAAgB,SAAS,CAAC,IAAY;IACpC,IAAI,CAAC,IAAI;QAAE,OAAO,EAAE,CAAC;IACrB,OAAO,IAAI;SACR,OAAO,CAAC,iCAAiC,EAAE,EAAE,CAAC;SAC9C,OAAO,CAAC,mCAAmC,EAAE,EAAE,CAAC;SAChD,OAAO,CAAC,UAAU,EAAE,GAAG,CAAC;SACxB,OAAO,CAAC,UAAU,EAAE,GAAG,CAAC;SACxB,OAAO,CAAC,SAAS,EAAE,GAAG,CAAC;SACvB,OAAO,CAAC,QAAQ,EAAE,GAAG,CAAC;SACtB,OAAO,CAAC,QAAQ,EAAE,GAAG,CAAC;SACtB,OAAO,CAAC,UAAU,EAAE,GAAG,CAAC;SACxB,OAAO,CAAC,UAAU,EAAE,GAAG,CAAC;SACxB,OAAO,CAAC,MAAM,EAAE,GAAG,CAAC;SACpB,IAAI,EAAE,CAAC;AACZ,CAAC;AAED;;GAEG;AACH,MAAM,MAAM,GAA2B;IACrC,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,QAAQ;IAC9G,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,QAAQ;IAC9G,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,QAAQ;IAC9G,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,QAAQ;CAC/F,CAAC;AAEF,MAAM,oBAAoB,GAAG,IAAI,GAAG,CAAC;IACnC,SAAS,EAAE,UAAU,EAAE,kBAAkB,EAAE,YAAY,EAAE,WAAW,EAAE,mBAAmB;IACzF,SAAS,EAAE,WAAW,EAAE,MAAM,EAAE,SAAS,EAAE,QAAQ,EAAE,WAAW,EAAE,cAAc,EAAE,WAAW;IAC7F,MAAM,EAAE,QAAQ,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,QAAQ,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS;IAC5F,WAAW,EAAE,SAAS,EAAE,OAAO,EAAE,QAAQ,EAAE,cAAc,EAAE,SAAS,EAAE,eAAe,EAAE,UAAU;CAClG,CAAC,CAAC;AAEH;;;GAGG;AACH,SAAgB,QAAQ,CAAC,GAAW;IAClC,IAAI,CAAC,GAAG;QAAE,OAAO,EAAE,CAAC;IAEpB,IAAI,MAAM,GAAG,EAAE,CAAC;IAChB,IAAI,CAAC,GAAG,CAAC,CAAC;IACV,IAAI,KAAK,GAAG,CAAC,CAAC;IACd,MAAM,SAAS,GAAa,EAAE,CAAC;IAE/B,OAAO,CAAC,GAAG,GAAG,CAAC,MAAM,EAAE,CAAC;QACtB,MAAM,IAAI,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC;QAEpB,IAAI,IAAI,KAAK,GAAG,EAAE,CAAC;YACjB,KAAK,EAAE,CAAC;YACR,CAAC,EAAE,CAAC;YACJ,kGAAkG;YAClG,IAAI,GAAG,CAAC,CAAC,CAAC,KAAK,IAAI,EAAE,CAAC;gBACpB,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;gBACd,IAAI,WAAW,GAAG,KAAK,CAAC;gBACxB,IAAI,GAAG,CAAC,CAAC,CAAC,KAAK,GAAG,EAAE,CAAC;oBACnB,WAAW,GAAG,IAAI,CAAC;oBACnB,CAAC,EAAE,CAAC;oBACJ,IAAI,GAAG,CAAC,CAAC,CAAC,KAAK,IAAI;wBAAE,CAAC,EAAE,CAAC;gBAC3B,CAAC;gBACD,IAAI,CAAC,GAAG,CAAC,CAAC;gBACV,OAAO,CAAC,GAAG,GAAG,CAAC,MAAM,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,GAAG,IAAI,GAAG,CAAC,CAAC,CAAC,IAAI,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,GAAG,IAAI,GAAG,CAAC,CAAC,CAAC,IAAI,GAAG,CAAC,CAAC,EAAE,CAAC;oBAChG,CAAC,EAAE,CAAC;gBACN,CAAC;gBACD,MAAM,OAAO,GAAG,GAAG,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;gBACpC,IAAI,oBAAoB,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,WAAW,EAAE,CAAC;oBACrD,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;gBACxB,CAAC;YACH,CAAC;YACD,SAAS;QACX,CAAC;QAED,IAAI,IAAI,KAAK,GAAG,EAAE,CAAC;YACjB,IAAI,SAAS,CAAC,MAAM,GAAG,CAAC,IAAI,SAAS,CAAC,SAAS,CAAC,MAAM,GAAG,CAAC,CAAC,KAAK,KAAK,EAAE,CAAC;gBACtE,SAAS,CAAC,GAAG,EAAE,CAAC;YAClB,CAAC;YACD,KAAK,EAAE,CAAC;YACR,CAAC,EAAE,CAAC;YACJ,SAAS;QACX,CAAC;QAED,IAAI,SAAS,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACzB,CAAC,EAAE,CAAC;YACJ,SAAS;QACX,CAAC;QAED,IAAI,IAAI,KAAK,IAAI,EAAE,CAAC;YAClB,CAAC,EAAE,CAAC;YACJ,MAAM,IAAI,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC;YACpB,IAAI,CAAC,IAAI;gBAAE,MAAM;YAEjB,IAAI,IAAI,KAAK,GAAG,IAAI,IAAI,KAAK,GAAG,IAAI,IAAI,KAAK,IAAI,EAAE,CAAC;gBAClD,MAAM,IAAI,IAAI,CAAC;gBACf,CAAC,EAAE,CAAC;YACN,CAAC;iBAAM,IAAI,IAAI,KAAK,GAAG,EAAE,CAAC;gBACxB,MAAM,GAAG,GAAG,GAAG,CAAC,SAAS,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;gBACxC,IAAI,kBAAkB,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;oBACjC,MAAM,IAAI,GAAG,QAAQ,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;oBAC/B,MAAM,IAAI,IAAI,GAAG,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC;oBACxE,CAAC,IAAI,CAAC,CAAC;gBACT,CAAC;qBAAM,CAAC;oBACN,CAAC,EAAE,CAAC;gBACN,CAAC;YACH,CAAC;iBAAM,IAAI,IAAI,KAAK,GAAG,EAAE,CAAC;gBACxB,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;gBACd,IAAI,IAAI,GAAG,CAAC,CAAC;gBACb,IAAI,GAAG,CAAC,CAAC,CAAC,KAAK,GAAG,EAAE,CAAC;oBACnB,IAAI,GAAG,CAAC,CAAC,CAAC;oBACV,CAAC,EAAE,CAAC;gBACN,CAAC;gBACD,MAAM,KAAK,GAAG,CAAC,CAAC;gBAChB,OAAO,CAAC,GAAG,GAAG,CAAC,MAAM,IAAI,GAAG,CAAC,CAAC,CAAC,IAAI,GAAG,IAAI,GAAG,CAAC,CAAC,CAAC,IAAI,GAAG,EAAE,CAAC;oBACxD,CAAC,EAAE,CAAC;gBACN,CAAC;gBACD,MAAM,MAAM,GAAG,GAAG,CAAC,SAAS,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;gBACvC,IAAI,MAAM,EAAE,CAAC;oBACX,MAAM,IAAI,GAAG,CAAC,QAAQ,CAAC,MAAM,EAAE,EAAE,CAAC,GAAG,IAAI,CAAC,GAAG,MAAM,CAAC;oBACpD,MAAM,IAAI,MAAM,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC;oBACrC,CAAC,GAAG,CAAC,CAAC;oBACN,IAAI,GAAG,CAAC,CAAC,CAAC,KAAK,GAAG;wBAAE,CAAC,EAAE,CAAC;oBACxB,IAAI,CAAC,GAAG,GAAG,CAAC,MAAM;wBAAE,CAAC,EAAE,CAAC,CAAC,qBAAqB;gBAChD,CAAC;qBAAM,CAAC;oBACN,CAAC,EAAE,CAAC;gBACN,CAAC;YACH,CAAC;iBAAM,IAAI,IAAI,KAAK,GAAG,EAAE,CAAC;gBACxB,MAAM,IAAI,GAAG,CAAC;gBACd,CAAC,EAAE,CAAC;YACN,CAAC;iBAAM,IAAI,IAAI,KAAK,GAAG,EAAE,CAAC;gBACxB,MAAM,IAAI,GAAG,CAAC;gBACd,CAAC,EAAE,CAAC;YACN,CAAC;iBAAM,IAAI,CAAC,IAAI,IAAI,GAAG,IAAI,IAAI,IAAI,GAAG,CAAC,IAAI,CAAC,IAAI,IAAI,GAAG,IAAI,IAAI,IAAI,GAAG,CAAC,EAAE,CAAC;gBACxE,IAAI,CAAC,GAAG,CAAC,CAAC;gBACV,OAAO,CAAC,GAAG,GAAG,CAAC,MAAM,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,GAAG,IAAI,GAAG,CAAC,CAAC,CAAC,IAAI,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,GAAG,IAAI,GAAG,CAAC,CAAC,CAAC,IAAI,GAAG,CAAC,CAAC,EAAE,CAAC;oBAChG,CAAC,EAAE,CAAC;gBACN,CAAC;gBACD,MAAM,OAAO,GAAG,GAAG,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;gBACpC,IAAI,OAAO,KAAK,KAAK,IAAI,OAAO,KAAK,MAAM,IAAI,OAAO,KAAK,MAAM,IAAI,OAAO,KAAK,MAAM,EAAE,CAAC;oBACxF,MAAM,IAAI,GAAG,CAAC;gBAChB,CAAC;qBAAM,IAAI,OAAO,KAAK,KAAK,EAAE,CAAC;oBAC7B,MAAM,IAAI,IAAI,CAAC;gBACjB,CAAC;gBACD,CAAC,GAAG,CAAC,CAAC;gBACN,IAAI,GAAG,CAAC,CAAC,CAAC,KAAK,GAAG;oBAAE,CAAC,EAAE,CAAC;gBACxB,OAAO,CAAC,GAAG,GAAG,CAAC,MAAM,IAAI,GAAG,CAAC,CAAC,CAAC,IAAI,GAAG,IAAI,GAAG,CAAC,CAAC,CAAC,IAAI,GAAG,EAAE,CAAC;oBACxD,CAAC,EAAE,CAAC;gBACN,CAAC;gBACD,IAAI,GAAG,CAAC,CAAC,CAAC,KAAK,GAAG;oBAAE,CAAC,EAAE,CAAC;YAC1B,CAAC;iBAAM,CAAC;gBACN,CAAC,EAAE,CAAC,CAAC,4BAA4B;YACnC,CAAC;QACH,CAAC;aAAM,CAAC;YACN,MAAM,IAAI,IAAI,CAAC;YACf,CAAC,EAAE,CAAC;QACN,CAAC;IACH,CAAC;IAED,OAAO,MAAM,CAAC,OAAO,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC;AAC5C,CAAC"}
@@ -57,5 +57,52 @@ const textUtils_1 = require("./textUtils");
57
57
  (0, vitest_1.it)('returns empty string for empty input', () => {
58
58
  (0, vitest_1.expect)((0, textUtils_1.stripRtf)('')).toBe('');
59
59
  });
60
+ (0, vitest_1.it)('drops font table content', () => {
61
+ const input = '{\\rtf1\\ansi{\\fonttbl\\f0\\fnil\\fcharset0 .SFNSRounded-Regular;}\\f0 hello world}';
62
+ (0, vitest_1.expect)((0, textUtils_1.stripRtf)(input)).toBe('hello world');
63
+ });
64
+ (0, vitest_1.it)('drops color table content', () => {
65
+ const input = '{\\rtf1{\\colortbl;\\red255\\green255\\blue255;\\red0\\green0\\blue0;}\\cf2 body text}';
66
+ (0, vitest_1.expect)((0, textUtils_1.stripRtf)(input)).toBe('body text');
67
+ });
68
+ (0, vitest_1.it)('drops expandedcolortbl with nested groups and labelColor', () => {
69
+ const input = '{\\rtf1{\\*\\expandedcolortbl;;\\cssrgb\\c0\\c0\\c0;\\cssrgb\\c0\\c0\\c0\\labelColor;}body}';
70
+ (0, vitest_1.expect)((0, textUtils_1.stripRtf)(input)).toBe('body');
71
+ });
72
+ (0, vitest_1.it)('decodes \\\'92 as curly apostrophe', () => {
73
+ const input = '{\\rtf1 it\\\'92s fine}';
74
+ (0, vitest_1.expect)((0, textUtils_1.stripRtf)(input)).toBe('it\u2019s fine');
75
+ });
76
+ (0, vitest_1.it)('decodes \\u8217? unicode escape to \u2019', () => {
77
+ const input = '{\\rtf1 it\\u8217?s fine}';
78
+ const result = (0, textUtils_1.stripRtf)(input);
79
+ (0, vitest_1.expect)(result).toContain('\u2019');
80
+ (0, vitest_1.expect)(result).not.toContain('u8217');
81
+ (0, vitest_1.expect)(result).not.toContain('?');
82
+ });
83
+ (0, vitest_1.it)('\\par becomes space', () => {
84
+ const input = '{\\rtf1 line1\\par line2}';
85
+ (0, vitest_1.expect)((0, textUtils_1.stripRtf)(input)).toBe('line1 line2');
86
+ });
87
+ (0, vitest_1.it)('escaped literals \\\\, \\{, \\}', () => {
88
+ const input = '{\\rtf1 a\\{b\\}c\\\\d}';
89
+ (0, vitest_1.expect)((0, textUtils_1.stripRtf)(input)).toBe('a{b}c\\d');
90
+ });
91
+ (0, vitest_1.it)('full real-world TextEdit sample', () => {
92
+ const input = '{\\rtf1\\ansi\\ansicpg1252\\cocoartf2868\\cocoatextscaling0\\cocoaplatform0{\\fonttbl\\f0\\fnil\\fcharset0 .SFNSRounded-Regular;}{\\colortbl;\\red255\\green255\\blue255;\\red0\\green0\\blue0;}{\\*\\expandedcolortbl;;\\cssrgb\\c0\\c0\\c0;\\cssrgb\\c0\\c0\\c0\\labelColor;}\\pard\\pardirnatural\\partightenfactor0\\f0\\fs28 \\cf2 \\expnd0\\expndtw0\\kerning0\\outl0\\strokewidth0 \\strokec2 Fix clipboard history formatting, currently it\\\'92s ugly}';
93
+ const result = (0, textUtils_1.stripRtf)(input);
94
+ (0, vitest_1.expect)(result).toBe('Fix clipboard history formatting, currently it\u2019s ugly');
95
+ ['SFNSRounded', 'JetBrainsMono', 'cocoartf', 'fonttbl', 'colortbl', 'labelColor', 'expandedcolortbl', 'pard', '\\f0', '\\fs28', '\\cf2', '\\\'92', '\\u8217'].forEach(term => {
96
+ (0, vitest_1.expect)(result).not.toContain(term);
97
+ });
98
+ });
99
+ (0, vitest_1.it)('unknown ignorable destination', () => {
100
+ const input = '{\\rtf1{\\*\\someunknown junk}real text}';
101
+ (0, vitest_1.expect)((0, textUtils_1.stripRtf)(input)).toBe('real text');
102
+ });
103
+ (0, vitest_1.it)('plain text input is preserved', () => {
104
+ const input = 'hello world';
105
+ (0, vitest_1.expect)((0, textUtils_1.stripRtf)(input)).toBe('hello world');
106
+ });
60
107
  });
61
108
  //# sourceMappingURL=textUtils.test.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"textUtils.test.js","sourceRoot":"","sources":["../../src/search/textUtils.test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"textUtils.test.js","sourceRoot":"","sources":["../../src/search/textUtils.test.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,6 @@
1
+ import { BaseServiceProxy } from './BaseServiceProxy';
2
+ import { IAIService, AIStreamParams, AIStreamHandlers, AIStreamHandle } from './IAIService';
3
+ export declare class AIServiceProxy extends BaseServiceProxy implements IAIService {
4
+ stream(params: AIStreamParams, handlers: AIStreamHandlers): AIStreamHandle;
5
+ }
6
+ //# sourceMappingURL=AIServiceProxy.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"AIServiceProxy.d.ts","sourceRoot":"","sources":["../../src/services/AIServiceProxy.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AACtD,OAAO,EACL,UAAU,EACV,cAAc,EACd,gBAAgB,EAChB,cAAc,EAGf,MAAM,cAAc,CAAC;AAWtB,qBAAa,cAAe,SAAQ,gBAAiB,YAAW,UAAU;IACxE,MAAM,CAAC,MAAM,EAAE,cAAc,EAAE,QAAQ,EAAE,gBAAgB,GAAG,cAAc;CA8F3E"}
@@ -0,0 +1,99 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.AIServiceProxy = void 0;
4
+ const BaseServiceProxy_1 = require("./BaseServiceProxy");
5
+ const KNOWN_CODES = [
6
+ 'ai_not_configured',
7
+ 'ai_disabled_by_user',
8
+ 'provider_error',
9
+ 'invalid_request',
10
+ 'internal_error',
11
+ 'aborted',
12
+ ];
13
+ class AIServiceProxy extends BaseServiceProxy_1.BaseServiceProxy {
14
+ stream(params, handlers) {
15
+ const streamId = crypto.randomUUID();
16
+ let settled = false;
17
+ const cleanup = () => {
18
+ window.removeEventListener('message', onMessage);
19
+ };
20
+ const settle = (error) => {
21
+ if (settled)
22
+ return;
23
+ settled = true;
24
+ cleanup();
25
+ if (error) {
26
+ handlers.onError(error);
27
+ }
28
+ else {
29
+ handlers.onDone();
30
+ }
31
+ };
32
+ const onMessage = (event) => {
33
+ var _a, _b;
34
+ const msg = event.data;
35
+ if ((msg === null || msg === void 0 ? void 0 : msg.type) !== 'asyar:stream' || (msg === null || msg === void 0 ? void 0 : msg.streamId) !== streamId) {
36
+ return;
37
+ }
38
+ const { phase, data } = msg;
39
+ switch (phase) {
40
+ case 'chunk':
41
+ if (data === null || data === void 0 ? void 0 : data.token) {
42
+ handlers.onToken(data.token);
43
+ }
44
+ break;
45
+ case 'done':
46
+ settle();
47
+ break;
48
+ case 'error':
49
+ {
50
+ const code = (_a = data === null || data === void 0 ? void 0 : data.error) === null || _a === void 0 ? void 0 : _a.code;
51
+ const message = ((_b = data === null || data === void 0 ? void 0 : data.error) === null || _b === void 0 ? void 0 : _b.message) || 'Unknown stream error';
52
+ settle({
53
+ code: KNOWN_CODES.includes(code)
54
+ ? code
55
+ : 'internal_error',
56
+ message,
57
+ });
58
+ }
59
+ break;
60
+ }
61
+ };
62
+ // Register listener BEFORE invoking to avoid races
63
+ window.addEventListener('message', onMessage);
64
+ this.broker
65
+ .invoke('asyar:service:AIService:streamChat', Object.assign(Object.assign({}, params), { streamId }))
66
+ .catch((err) => {
67
+ const errorStr = String(err.message || err);
68
+ const match = errorStr.match(/^(\w+):\s*(.*)$/);
69
+ if (match) {
70
+ const [, code, message] = match;
71
+ settle({
72
+ code: KNOWN_CODES.includes(code)
73
+ ? code
74
+ : 'internal_error',
75
+ message,
76
+ });
77
+ }
78
+ else {
79
+ settle({
80
+ code: 'internal_error',
81
+ message: errorStr,
82
+ });
83
+ }
84
+ });
85
+ return {
86
+ abort: () => {
87
+ if (settled)
88
+ return;
89
+ window.parent.postMessage({
90
+ type: 'asyar:stream:abort',
91
+ streamId,
92
+ }, '*');
93
+ settle({ code: 'aborted', message: 'Stream was aborted by the extension' });
94
+ },
95
+ };
96
+ }
97
+ }
98
+ exports.AIServiceProxy = AIServiceProxy;
99
+ //# sourceMappingURL=AIServiceProxy.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"AIServiceProxy.js","sourceRoot":"","sources":["../../src/services/AIServiceProxy.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=AIServiceProxy.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"AIServiceProxy.test.d.ts","sourceRoot":"","sources":["../../src/services/AIServiceProxy.test.ts"],"names":[],"mappings":""}