asyar-sdk 3.1.0 → 4.0.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 (104) hide show
  1. package/README.md +32 -2
  2. package/dist/ExtensionContext.d.ts +6 -0
  3. package/dist/ExtensionContext.d.ts.map +1 -1
  4. package/dist/ExtensionContext.js +16 -1
  5. package/dist/ExtensionContext.js.map +1 -1
  6. package/dist/ExtensionContext.test.js +15 -0
  7. package/dist/ExtensionContext.test.js.map +1 -1
  8. package/dist/cli/lib/manifest.d.ts +1 -1
  9. package/dist/cli/lib/manifest.d.ts.map +1 -1
  10. package/dist/cli/lib/manifest.js +1 -0
  11. package/dist/cli/lib/manifest.js.map +1 -1
  12. package/dist/contracts/diagnostics.d.ts +2 -0
  13. package/dist/contracts/diagnostics.d.ts.map +1 -1
  14. package/dist/contracts.d.ts +3 -1
  15. package/dist/contracts.d.ts.map +1 -1
  16. package/dist/contracts.js +1 -0
  17. package/dist/contracts.js.map +1 -1
  18. package/dist/icons/iconData.d.ts.map +1 -1
  19. package/dist/icons/iconData.js +11 -0
  20. package/dist/icons/iconData.js.map +1 -1
  21. package/dist/ipc/namespaces.d.ts +1 -1
  22. package/dist/ipc/namespaces.d.ts.map +1 -1
  23. package/dist/ipc/namespaces.js +3 -0
  24. package/dist/ipc/namespaces.js.map +1 -1
  25. package/dist/ipc/namespaces.test.js +8 -2
  26. package/dist/ipc/namespaces.test.js.map +1 -1
  27. package/dist/search/index.d.ts +0 -2
  28. package/dist/search/index.d.ts.map +1 -1
  29. package/dist/search/index.js +0 -1
  30. package/dist/search/index.js.map +1 -1
  31. package/dist/services/ClipboardHistoryServiceProxy.d.ts +2 -0
  32. package/dist/services/ClipboardHistoryServiceProxy.d.ts.map +1 -1
  33. package/dist/services/ClipboardHistoryServiceProxy.js +6 -0
  34. package/dist/services/ClipboardHistoryServiceProxy.js.map +1 -1
  35. package/dist/services/ClipboardHistoryServiceProxy.test.js +18 -0
  36. package/dist/services/ClipboardHistoryServiceProxy.test.js.map +1 -1
  37. package/dist/services/FilesServiceProxy.d.ts +12 -0
  38. package/dist/services/FilesServiceProxy.d.ts.map +1 -0
  39. package/dist/services/FilesServiceProxy.js +28 -0
  40. package/dist/services/FilesServiceProxy.js.map +1 -0
  41. package/dist/services/FilesServiceProxy.test.d.ts +2 -0
  42. package/dist/services/FilesServiceProxy.test.d.ts.map +1 -0
  43. package/dist/services/FilesServiceProxy.test.js +56 -0
  44. package/dist/services/FilesServiceProxy.test.js.map +1 -0
  45. package/dist/services/IClipboardHistoryService.d.ts +4 -0
  46. package/dist/services/IClipboardHistoryService.d.ts.map +1 -1
  47. package/dist/services/IFilesService.d.ts +51 -0
  48. package/dist/services/IFilesService.d.ts.map +1 -0
  49. package/dist/services/IFilesService.js +2 -0
  50. package/dist/services/IFilesService.js.map +1 -0
  51. package/dist/services/IProcessService.d.ts +51 -0
  52. package/dist/services/IProcessService.d.ts.map +1 -0
  53. package/dist/services/IProcessService.js +2 -0
  54. package/dist/services/IProcessService.js.map +1 -0
  55. package/dist/services/ISearchService.d.ts +28 -0
  56. package/dist/services/ISearchService.d.ts.map +1 -0
  57. package/dist/services/ISearchService.js +2 -0
  58. package/dist/services/ISearchService.js.map +1 -0
  59. package/dist/services/ProcessServiceProxy.d.ts +11 -0
  60. package/dist/services/ProcessServiceProxy.d.ts.map +1 -0
  61. package/dist/services/ProcessServiceProxy.js +35 -0
  62. package/dist/services/ProcessServiceProxy.js.map +1 -0
  63. package/dist/services/ProcessServiceProxy.test.d.ts +2 -0
  64. package/dist/services/ProcessServiceProxy.test.d.ts.map +1 -0
  65. package/dist/services/ProcessServiceProxy.test.js +64 -0
  66. package/dist/services/ProcessServiceProxy.test.js.map +1 -0
  67. package/dist/services/SearchServiceProxy.d.ts +11 -0
  68. package/dist/services/SearchServiceProxy.d.ts.map +1 -0
  69. package/dist/services/SearchServiceProxy.js +23 -0
  70. package/dist/services/SearchServiceProxy.js.map +1 -0
  71. package/dist/services/SearchServiceProxy.test.d.ts +2 -0
  72. package/dist/services/SearchServiceProxy.test.d.ts.map +1 -0
  73. package/dist/services/SearchServiceProxy.test.js +45 -0
  74. package/dist/services/SearchServiceProxy.test.js.map +1 -0
  75. package/dist/services/WindowManagementService.d.ts +14 -0
  76. package/dist/services/WindowManagementService.d.ts.map +1 -1
  77. package/dist/services/WindowManagementService.js +10 -0
  78. package/dist/services/WindowManagementService.js.map +1 -1
  79. package/dist/services/WindowManagementService.test.js +12 -0
  80. package/dist/services/WindowManagementService.test.js.map +1 -1
  81. package/dist/services/index.d.ts +4 -0
  82. package/dist/services/index.d.ts.map +1 -1
  83. package/dist/services/index.js +2 -0
  84. package/dist/services/index.js.map +1 -1
  85. package/dist/view.test.js +3 -0
  86. package/dist/view.test.js.map +1 -1
  87. package/dist/worker.d.ts.map +1 -1
  88. package/dist/worker.js +6 -0
  89. package/dist/worker.js.map +1 -1
  90. package/dist/worker.test.js +3 -0
  91. package/dist/worker.test.js.map +1 -1
  92. package/package.json +3 -4
  93. package/dist/search/SearchEngine.d.ts +0 -20
  94. package/dist/search/SearchEngine.d.ts.map +0 -1
  95. package/dist/search/SearchEngine.js +0 -84
  96. package/dist/search/SearchEngine.js.map +0 -1
  97. package/dist/search/SearchEngine.test.d.ts +0 -2
  98. package/dist/search/SearchEngine.test.d.ts.map +0 -1
  99. package/dist/search/SearchEngine.test.js +0 -135
  100. package/dist/search/SearchEngine.test.js.map +0 -1
  101. package/dist/search/types.d.ts +0 -14
  102. package/dist/search/types.d.ts.map +0 -1
  103. package/dist/search/types.js +0 -2
  104. package/dist/search/types.js.map +0 -1
@@ -1,135 +0,0 @@
1
- import { describe, it, expect } from 'vitest';
2
- import { SearchEngine } from './SearchEngine';
3
- function makeEngine(items, mode = 'fuzzy') {
4
- const engine = new SearchEngine({
5
- getText: (item) => item.text,
6
- mode,
7
- });
8
- engine.setItems(items);
9
- return engine;
10
- }
11
- const sampleItems = [
12
- { id: '1', text: 'quarterly report summary for Q3' },
13
- { id: '2', text: 'banana smoothie recipe' },
14
- { id: '3', text: 'record of transactions' },
15
- { id: '4', text: 'apple pie recipe' },
16
- { id: '5', text: 'unrelated text document' },
17
- ];
18
- describe('SearchEngine', () => {
19
- describe('basic behavior', () => {
20
- it('returns all items when query is empty', () => {
21
- const engine = makeEngine(sampleItems);
22
- expect(engine.search('')).toHaveLength(5);
23
- });
24
- it('returns all items when query is whitespace', () => {
25
- const engine = makeEngine(sampleItems);
26
- expect(engine.search(' ')).toHaveLength(5);
27
- });
28
- it('returns empty array when nothing matches', () => {
29
- const engine = makeEngine(sampleItems);
30
- expect(engine.search('zzzznothing')).toHaveLength(0);
31
- });
32
- it('finds exact substring matches', () => {
33
- const engine = makeEngine(sampleItems);
34
- const results = engine.search('banana');
35
- expect(results.some(r => r.id === '2')).toBe(true);
36
- expect(results.some(r => r.id === '1')).toBe(false);
37
- });
38
- it('is case-insensitive', () => {
39
- const engine = makeEngine(sampleItems);
40
- const results = engine.search('BANANA');
41
- expect(results.some(r => r.id === '2')).toBe(true);
42
- });
43
- it('handles multi-word queries with AND logic for exact tier', () => {
44
- const engine = makeEngine(sampleItems);
45
- const results = engine.search('apple recipe');
46
- expect(results.some(r => r.id === '4')).toBe(true);
47
- expect(results.some(r => r.id === '2')).toBe(false); // has "recipe" but not "apple"
48
- });
49
- });
50
- describe('fuzzy mode — subsequence matching', () => {
51
- it('matches subsequences: "qrtly" finds "quarterly"', () => {
52
- const engine = makeEngine(sampleItems);
53
- const results = engine.search('qrtly');
54
- expect(results.some(r => r.id === '1')).toBe(true);
55
- });
56
- it('matches across word boundaries: "qr" finds "quarterly report"', () => {
57
- const engine = makeEngine(sampleItems);
58
- const results = engine.search('qr');
59
- expect(results.some(r => r.id === '1')).toBe(true);
60
- });
61
- it('multi-term fuzzy: "qrtly rep" finds "quarterly report summary"', () => {
62
- const engine = makeEngine(sampleItems);
63
- const results = engine.search('qrtly rep');
64
- expect(results.some(r => r.id === '1')).toBe(true);
65
- expect(results.some(r => r.id === '5')).toBe(false);
66
- });
67
- });
68
- describe('fuzzy mode — typo tolerance', () => {
69
- it('tolerates single substitution: "recort" finds "record"', () => {
70
- const engine = makeEngine(sampleItems);
71
- const results = engine.search('recort');
72
- expect(results.some(r => r.id === '3')).toBe(true);
73
- });
74
- it('tolerates single transposition: "reocrd" finds "record"', () => {
75
- const engine = makeEngine(sampleItems);
76
- const results = engine.search('reocrd');
77
- expect(results.some(r => r.id === '3')).toBe(true);
78
- });
79
- });
80
- describe('ranking', () => {
81
- it('ranks exact matches higher than fuzzy-only matches', () => {
82
- const items = [
83
- { id: 'fuzzy', text: 'approximate appple thing' },
84
- { id: 'exact', text: 'apple pie recipe' },
85
- ];
86
- const engine = makeEngine(items);
87
- const results = engine.search('apple');
88
- expect(results[0].id).toBe('exact');
89
- });
90
- });
91
- describe('exact mode', () => {
92
- it('does NOT match subsequences in exact mode', () => {
93
- const engine = makeEngine(sampleItems, 'exact');
94
- const results = engine.search('qrtly');
95
- expect(results).toHaveLength(0);
96
- });
97
- it('still finds exact substrings in exact mode', () => {
98
- const engine = makeEngine(sampleItems, 'exact');
99
- const results = engine.search('banana');
100
- expect(results.some(r => r.id === '2')).toBe(true);
101
- });
102
- it('multi-term AND logic in exact mode', () => {
103
- const engine = makeEngine(sampleItems, 'exact');
104
- const results = engine.search('apple recipe');
105
- expect(results.some(r => r.id === '4')).toBe(true);
106
- expect(results.some(r => r.id === '2')).toBe(false);
107
- });
108
- });
109
- describe('setItems', () => {
110
- it('rebuilds haystack when items change', () => {
111
- const engine = new SearchEngine({
112
- getText: (item) => item.text,
113
- });
114
- engine.setItems([{ id: '1', text: 'first batch' }]);
115
- expect(engine.search('first')).toHaveLength(1);
116
- engine.setItems([{ id: '2', text: 'second batch' }]);
117
- expect(engine.search('first')).toHaveLength(0);
118
- expect(engine.search('second')).toHaveLength(1);
119
- });
120
- it('skips rebuild if same array reference is passed', () => {
121
- const items = [{ id: '1', text: 'hello' }];
122
- const engine = new SearchEngine({
123
- getText: (item) => item.text,
124
- });
125
- engine.setItems(items);
126
- // Mutate the item (bad practice, but tests the reference check)
127
- items[0].text = 'changed';
128
- engine.setItems(items); // same reference — should NOT rebuild
129
- // Haystack should still contain old value
130
- expect(engine.search('hello')).toHaveLength(1);
131
- expect(engine.search('changed')).toHaveLength(0);
132
- });
133
- });
134
- });
135
- //# sourceMappingURL=SearchEngine.test.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"SearchEngine.test.js","sourceRoot":"","sources":["../../src/search/SearchEngine.test.ts"],"names":[],"mappings":"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"}
@@ -1,14 +0,0 @@
1
- export interface SearchEngineOptions<T> {
2
- /**
3
- * Extract searchable text from an item.
4
- * Called once per item when setItems() is called — not on every search.
5
- */
6
- getText: (item: T) => string;
7
- /**
8
- * 'exact' — substring match only (fast, no typo tolerance)
9
- * 'fuzzy' — two-tier: exact substring first, then uFuzzy subsequence + 1 typo per term
10
- * Default: 'fuzzy'
11
- */
12
- mode?: 'exact' | 'fuzzy';
13
- }
14
- //# sourceMappingURL=types.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/search/types.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,mBAAmB,CAAC,CAAC;IACpC;;;OAGG;IACH,OAAO,EAAE,CAAC,IAAI,EAAE,CAAC,KAAK,MAAM,CAAC;IAE7B;;;;OAIG;IACH,IAAI,CAAC,EAAE,OAAO,GAAG,OAAO,CAAC;CAC1B"}
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=types.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/search/types.ts"],"names":[],"mappings":""}