@vscode/component-explorer-cli 0.1.1-0 → 0.1.1-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 (139) hide show
  1. package/dist/browserPage.js +4 -2
  2. package/dist/browserPage.js.map +1 -1
  3. package/dist/commands/acceptCommand.d.ts +1 -0
  4. package/dist/commands/acceptCommand.d.ts.map +1 -1
  5. package/dist/commands/acceptCommand.js +8 -2
  6. package/dist/commands/acceptCommand.js.map +1 -1
  7. package/dist/commands/compareCommand.d.ts +1 -0
  8. package/dist/commands/compareCommand.d.ts.map +1 -1
  9. package/dist/commands/compareCommand.js +8 -2
  10. package/dist/commands/compareCommand.js.map +1 -1
  11. package/dist/commands/mcpCommand.d.ts +8 -0
  12. package/dist/commands/mcpCommand.d.ts.map +1 -0
  13. package/dist/commands/mcpCommand.js +24 -0
  14. package/dist/commands/mcpCommand.js.map +1 -0
  15. package/dist/commands/screenshotCommand.d.ts +1 -0
  16. package/dist/commands/screenshotCommand.d.ts.map +1 -1
  17. package/dist/commands/screenshotCommand.js +10 -4
  18. package/dist/commands/screenshotCommand.js.map +1 -1
  19. package/dist/commands/serveCommand.d.ts +16 -0
  20. package/dist/commands/serveCommand.d.ts.map +1 -0
  21. package/dist/commands/serveCommand.js +137 -0
  22. package/dist/commands/serveCommand.js.map +1 -0
  23. package/dist/commands/watchCommand.d.ts +1 -0
  24. package/dist/commands/watchCommand.d.ts.map +1 -1
  25. package/dist/commands/watchCommand.js +22 -10
  26. package/dist/commands/watchCommand.js.map +1 -1
  27. package/dist/componentExplorer.js +5 -2
  28. package/dist/componentExplorer.js.map +1 -1
  29. package/dist/daemon/DaemonService.d.ts +131 -0
  30. package/dist/daemon/DaemonService.d.ts.map +1 -0
  31. package/dist/daemon/DaemonService.js +450 -0
  32. package/dist/daemon/DaemonService.js.map +1 -0
  33. package/dist/daemon/approvalStore.d.ts +51 -0
  34. package/dist/daemon/approvalStore.d.ts.map +1 -0
  35. package/dist/daemon/approvalStore.js +58 -0
  36. package/dist/daemon/approvalStore.js.map +1 -0
  37. package/dist/daemon/lifecycle.d.ts +8 -0
  38. package/dist/daemon/lifecycle.d.ts.map +1 -0
  39. package/dist/daemon/lifecycle.js +51 -0
  40. package/dist/daemon/lifecycle.js.map +1 -0
  41. package/dist/daemon/pipeClient.d.ts +4 -0
  42. package/dist/daemon/pipeClient.d.ts.map +1 -0
  43. package/dist/daemon/pipeClient.js +97 -0
  44. package/dist/daemon/pipeClient.js.map +1 -0
  45. package/dist/daemon/pipeName.d.ts +2 -0
  46. package/dist/daemon/pipeName.d.ts.map +1 -0
  47. package/dist/daemon/pipeName.js +14 -0
  48. package/dist/daemon/pipeName.js.map +1 -0
  49. package/dist/daemon/pipeServer.d.ts +4 -0
  50. package/dist/daemon/pipeServer.d.ts.map +1 -0
  51. package/dist/daemon/pipeServer.js +23 -0
  52. package/dist/daemon/pipeServer.js.map +1 -0
  53. package/dist/dependencyInstaller.js +7 -4
  54. package/dist/dependencyInstaller.js.map +1 -1
  55. package/dist/explorerSession.d.ts +5 -3
  56. package/dist/explorerSession.d.ts.map +1 -1
  57. package/dist/explorerSession.js +11 -5
  58. package/dist/explorerSession.js.map +1 -1
  59. package/dist/external/vscode-observables/observables/dist/disposables.js +43 -0
  60. package/dist/external/vscode-observables/observables/dist/disposables.js.map +1 -0
  61. package/dist/external/vscode-observables/observables/dist/observableInternal/base.js +22 -0
  62. package/dist/external/vscode-observables/observables/dist/observableInternal/base.js.map +1 -0
  63. package/dist/external/vscode-observables/observables/dist/observableInternal/commonFacade/deps.js +40 -0
  64. package/dist/external/vscode-observables/observables/dist/observableInternal/commonFacade/deps.js.map +1 -0
  65. package/dist/external/vscode-observables/observables/dist/observableInternal/debugLocation.js +77 -0
  66. package/dist/external/vscode-observables/observables/dist/observableInternal/debugLocation.js.map +1 -0
  67. package/dist/external/vscode-observables/observables/dist/observableInternal/debugName.js +114 -0
  68. package/dist/external/vscode-observables/observables/dist/observableInternal/debugName.js.map +1 -0
  69. package/dist/external/vscode-observables/observables/dist/observableInternal/index.js +25 -0
  70. package/dist/external/vscode-observables/observables/dist/observableInternal/index.js.map +1 -0
  71. package/dist/external/vscode-observables/observables/dist/observableInternal/logging/consoleObservableLogger.js +332 -0
  72. package/dist/external/vscode-observables/observables/dist/observableInternal/logging/consoleObservableLogger.js.map +1 -0
  73. package/dist/external/vscode-observables/observables/dist/observableInternal/logging/debugGetDependencyGraph.js +79 -0
  74. package/dist/external/vscode-observables/observables/dist/observableInternal/logging/debugGetDependencyGraph.js.map +1 -0
  75. package/dist/external/vscode-observables/observables/dist/observableInternal/logging/debugger/debuggerRpc.js +72 -0
  76. package/dist/external/vscode-observables/observables/dist/observableInternal/logging/debugger/debuggerRpc.js.map +1 -0
  77. package/dist/external/vscode-observables/observables/dist/observableInternal/logging/debugger/devToolsLogger.js +447 -0
  78. package/dist/external/vscode-observables/observables/dist/observableInternal/logging/debugger/devToolsLogger.js.map +1 -0
  79. package/dist/external/vscode-observables/observables/dist/observableInternal/logging/debugger/rpc.js +64 -0
  80. package/dist/external/vscode-observables/observables/dist/observableInternal/logging/debugger/rpc.js.map +1 -0
  81. package/dist/external/vscode-observables/observables/dist/observableInternal/logging/debugger/utils.js +52 -0
  82. package/dist/external/vscode-observables/observables/dist/observableInternal/logging/debugger/utils.js.map +1 -0
  83. package/dist/external/vscode-observables/observables/dist/observableInternal/logging/logging.js +100 -0
  84. package/dist/external/vscode-observables/observables/dist/observableInternal/logging/logging.js.map +1 -0
  85. package/dist/external/vscode-observables/observables/dist/observableInternal/observables/baseObservable.js +143 -0
  86. package/dist/external/vscode-observables/observables/dist/observableInternal/observables/baseObservable.js.map +1 -0
  87. package/dist/external/vscode-observables/observables/dist/observableInternal/observables/derived.js +17 -0
  88. package/dist/external/vscode-observables/observables/dist/observableInternal/observables/derived.js.map +1 -0
  89. package/dist/external/vscode-observables/observables/dist/observableInternal/observables/derivedImpl.js +362 -0
  90. package/dist/external/vscode-observables/observables/dist/observableInternal/observables/derivedImpl.js.map +1 -0
  91. package/dist/external/vscode-observables/observables/dist/observableInternal/observables/observableFromEvent.js +123 -0
  92. package/dist/external/vscode-observables/observables/dist/observableInternal/observables/observableFromEvent.js.map +1 -0
  93. package/dist/external/vscode-observables/observables/dist/observableInternal/observables/observableValue.js +81 -0
  94. package/dist/external/vscode-observables/observables/dist/observableInternal/observables/observableValue.js.map +1 -0
  95. package/dist/external/vscode-observables/observables/dist/observableInternal/reactions/autorun.js +23 -0
  96. package/dist/external/vscode-observables/observables/dist/observableInternal/reactions/autorun.js.map +1 -0
  97. package/dist/external/vscode-observables/observables/dist/observableInternal/reactions/autorunImpl.js +226 -0
  98. package/dist/external/vscode-observables/observables/dist/observableInternal/reactions/autorunImpl.js.map +1 -0
  99. package/dist/external/vscode-observables/observables/dist/observableInternal/transaction.js +87 -0
  100. package/dist/external/vscode-observables/observables/dist/observableInternal/transaction.js.map +1 -0
  101. package/dist/external/vscode-observables/observables/dist/observableInternal/utils/utils.js +68 -0
  102. package/dist/external/vscode-observables/observables/dist/observableInternal/utils/utils.js.map +1 -0
  103. package/dist/git/gitCommitId.js +4 -2
  104. package/dist/git/gitCommitId.js.map +1 -1
  105. package/dist/git/gitCommitResolver.js +11 -3
  106. package/dist/git/gitCommitResolver.js.map +1 -1
  107. package/dist/git/gitService.js +5 -2
  108. package/dist/git/gitService.js.map +1 -1
  109. package/dist/git/gitUtils.js +9 -6
  110. package/dist/git/gitUtils.js.map +1 -1
  111. package/dist/git/gitWorktreeManager.js +5 -2
  112. package/dist/git/gitWorktreeManager.js.map +1 -1
  113. package/dist/httpServer.d.ts +9 -7
  114. package/dist/httpServer.d.ts.map +1 -1
  115. package/dist/httpServer.js +67 -10
  116. package/dist/httpServer.js.map +1 -1
  117. package/dist/index.js +6 -1
  118. package/dist/index.js.map +1 -1
  119. package/dist/logger.d.ts +17 -1
  120. package/dist/logger.d.ts.map +1 -1
  121. package/dist/logger.js +43 -6
  122. package/dist/logger.js.map +1 -1
  123. package/dist/mcp/McpServer.d.ts +28 -0
  124. package/dist/mcp/McpServer.d.ts.map +1 -0
  125. package/dist/mcp/McpServer.js +386 -0
  126. package/dist/mcp/McpServer.js.map +1 -0
  127. package/dist/screenshotCache.js +7 -4
  128. package/dist/screenshotCache.js.map +1 -1
  129. package/dist/sourceTreeId.js +4 -2
  130. package/dist/sourceTreeId.js.map +1 -1
  131. package/dist/storage.js +5 -2
  132. package/dist/storage.js.map +1 -1
  133. package/dist/viteProjectRef.js +5 -2
  134. package/dist/viteProjectRef.js.map +1 -1
  135. package/dist/watchConfig.d.ts +5 -0
  136. package/dist/watchConfig.d.ts.map +1 -1
  137. package/dist/watchConfig.js +22 -7
  138. package/dist/watchConfig.js.map +1 -1
  139. package/package.json +11 -4
@@ -0,0 +1 @@
1
+ {"version":3,"file":"lifecycle.js","sources":["../../src/daemon/lifecycle.ts"],"sourcesContent":[null],"names":[],"mappings":";;;;;;;AASA,MAAM,cAAc,GAAG,IAAI,CAAC,OAAO,CAClC,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAC5C,aAAa,CACb;AAEK,SAAU,UAAU,CAAC,QAAgB,EAAA;AAC1C,IAAA,OAAO,IAAI,OAAO,CAAC,OAAO,IAAG;AAC5B,QAAA,MAAM,GAAG,GAAG,IAAI,CAAC,OAAO,CAAC,EAAE,UAAU,EAAE,QAAQ,EAAE,IAAI,EAAE,eAAe,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,EAAE,cAAc,EAAE,kBAAkB,EAAE,EAAE,EAAE,CAAC,GAAG,KAAI;YAClJ,IAAI,IAAI,GAAG,EAAE;AACb,YAAA,GAAG,CAAC,EAAE,CAAC,MAAM,EAAE,KAAK,IAAI,IAAI,IAAI,KAAK,CAAC;AACtC,YAAA,GAAG,CAAC,EAAE,CAAC,KAAK,EAAE,MAAK;AAClB,gBAAA,IAAI,GAAG,CAAC,UAAU,KAAK,GAAG,EAAE;AAC3B,oBAAA,OAAO,CAAC,gBAAgB,CAAC,QAAQ,CAAC,CAAC;gBACpC;qBAAO;oBACN,OAAO,CAAC,SAAS,CAAC;gBACnB;AACD,YAAA,CAAC,CAAC;AACH,QAAA,CAAC,CAAC;AACF,QAAA,GAAG,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,OAAO,CAAC,SAAS,CAAC,CAAC;AACzC,QAAA,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC;QACf,GAAG,CAAC,GAAG,EAAE;AACV,IAAA,CAAC,CAAC;AACH;AAEO,eAAe,aAAa,CAClC,QAAgB,EAChB,OAA8B,EAAA;IAE9B,MAAM,QAAQ,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,OAAO,CAAC,SAAS;AAC/C,IAAA,OAAO,IAAI,CAAC,GAAG,EAAE,GAAG,QAAQ,EAAE;AAC7B,QAAA,MAAM,MAAM,GAAG,MAAM,UAAU,CAAC,QAAQ,CAAC;QACzC,IAAI,MAAM,EAAE;AAAE,YAAA,OAAO,MAAM;QAAE;AAC7B,QAAA,MAAM,IAAI,OAAO,CAAC,CAAC,IAAI,UAAU,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;IAC3C;IACA,MAAM,IAAI,KAAK,CAAC,CAAA,4BAAA,EAA+B,OAAO,CAAC,SAAS,CAAA,EAAA,CAAI,CAAC;AACtE;AAEO,eAAe,YAAY,CAAC,UAAkB,EAAA;AACpD,IAAA,MAAM,QAAQ,GAAG,cAAc,CAAC,UAAU,CAAC;AAE3C,IAAA,MAAM,QAAQ,GAAG,MAAM,UAAU,CAAC,QAAQ,CAAC;IAC3C,IAAI,QAAQ,EAAE;AAAE,QAAA,OAAO,QAAQ;IAAE;AAEjC,IAAA,MAAM,KAAK,GAAG,KAAK,CAClB,OAAO,CAAC,QAAQ,EAChB,CAAC,cAAc,EAAE,OAAO,EAAE,IAAI,EAAE,UAAU,CAAC,EAC3C,EAAE,QAAQ,EAAE,IAAI,EAAE,KAAK,EAAE,QAAQ,EAAE,CACnC;IACD,KAAK,CAAC,KAAK,EAAE;IAEb,OAAO,aAAa,CAAC,QAAQ,EAAE,EAAE,SAAS,EAAE,MAAM,EAAE,CAAC;AACtD;;;;"}
@@ -0,0 +1,4 @@
1
+ import { ProxyApiClient } from '@hediet/simple-api/client';
2
+ import type { DaemonApiType } from './DaemonService.js';
3
+ export declare function createPipeClient(pipeName: string): ProxyApiClient<DaemonApiType>;
4
+ //# sourceMappingURL=pipeClient.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"pipeClient.d.ts","sourceRoot":"","sources":["../../src/daemon/pipeClient.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,cAAc,EAAE,MAAM,2BAA2B,CAAC;AAE3D,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAExD,wBAAgB,gBAAgB,CAAC,QAAQ,EAAE,MAAM,GAAG,cAAc,CAAC,aAAa,CAAC,CA2FhF"}
@@ -0,0 +1,97 @@
1
+ import http from 'node:http';
2
+ import { ProxyApiClient } from '@hediet/simple-api/client';
3
+ import { AsyncStream } from '@hediet/simple-api';
4
+
5
+ function createPipeClient(pipeName) {
6
+ return new ProxyApiClient(async (method, arg) => {
7
+ const body = JSON.stringify(arg ?? {});
8
+ return new Promise((resolve, reject) => {
9
+ const req = http.request({
10
+ socketPath: pipeName,
11
+ path: `/api/${method}`,
12
+ method: 'POST',
13
+ headers: {
14
+ 'Content-Type': 'application/json',
15
+ 'Content-Length': Buffer.byteLength(body),
16
+ },
17
+ }, (res) => {
18
+ const contentType = res.headers['content-type'] ?? '';
19
+ if (contentType.startsWith('application/jsonl')) {
20
+ resolve(AsyncStream.fromFn(() => {
21
+ let buffer = '';
22
+ const pending = [];
23
+ let resolve;
24
+ let done = false;
25
+ res.on('data', (chunk) => {
26
+ buffer += chunk.toString();
27
+ let eol;
28
+ while ((eol = buffer.indexOf('\n')) >= 0) {
29
+ const line = buffer.slice(0, eol).trim();
30
+ buffer = buffer.slice(eol + 1);
31
+ if (line) {
32
+ const parsed = JSON.parse(line);
33
+ if (resolve) {
34
+ const r = resolve;
35
+ resolve = undefined;
36
+ r({ value: parsed, done: false });
37
+ }
38
+ else {
39
+ pending.push(parsed);
40
+ }
41
+ }
42
+ }
43
+ });
44
+ res.on('end', () => {
45
+ if (buffer.trim()) {
46
+ pending.push(JSON.parse(buffer.trim()));
47
+ }
48
+ done = true;
49
+ if (resolve) {
50
+ const r = resolve;
51
+ resolve = undefined;
52
+ r({ value: undefined, done: true });
53
+ }
54
+ });
55
+ res.on('error', (err) => {
56
+ done = true;
57
+ if (resolve) {
58
+ const r = resolve;
59
+ resolve = undefined;
60
+ r({ value: undefined, done: true });
61
+ }
62
+ });
63
+ return {
64
+ next() {
65
+ if (pending.length > 0) {
66
+ return Promise.resolve({ value: pending.shift(), done: false });
67
+ }
68
+ if (done) {
69
+ return Promise.resolve({ value: undefined, done: true });
70
+ }
71
+ return new Promise(r => { resolve = r; });
72
+ },
73
+ };
74
+ }));
75
+ }
76
+ else {
77
+ let data = '';
78
+ res.on('data', chunk => data += chunk);
79
+ res.on('end', () => {
80
+ if (res.statusCode !== 200) {
81
+ reject(new Error(`Daemon error (${res.statusCode}): ${data}`));
82
+ }
83
+ else {
84
+ resolve(data ? JSON.parse(data) : null);
85
+ }
86
+ });
87
+ }
88
+ });
89
+ req.on('error', reject);
90
+ req.write(body);
91
+ req.end();
92
+ });
93
+ });
94
+ }
95
+
96
+ export { createPipeClient };
97
+ //# sourceMappingURL=pipeClient.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"pipeClient.js","sources":["../../src/daemon/pipeClient.ts"],"sourcesContent":[null],"names":[],"mappings":";;;;AAKM,SAAU,gBAAgB,CAAC,QAAgB,EAAA;IAChD,OAAO,IAAI,cAAc,CAAC,OAAO,MAAM,EAAE,GAAG,KAAI;QAC/C,MAAM,IAAI,GAAG,IAAI,CAAC,SAAS,CAAC,GAAG,IAAI,EAAE,CAAC;QACtC,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,KAAI;AACtC,YAAA,MAAM,GAAG,GAAG,IAAI,CAAC,OAAO,CAAC;AACxB,gBAAA,UAAU,EAAE,QAAQ;gBACpB,IAAI,EAAE,CAAA,KAAA,EAAQ,MAAM,CAAA,CAAE;AACtB,gBAAA,MAAM,EAAE,MAAM;AACd,gBAAA,OAAO,EAAE;AACR,oBAAA,cAAc,EAAE,kBAAkB;AAClC,oBAAA,gBAAgB,EAAE,MAAM,CAAC,UAAU,CAAC,IAAI,CAAC;AACzC,iBAAA;aACD,EAAE,CAAC,GAAG,KAAI;gBACV,MAAM,WAAW,GAAG,GAAG,CAAC,OAAO,CAAC,cAAc,CAAC,IAAI,EAAE;AAErD,gBAAA,IAAI,WAAW,CAAC,UAAU,CAAC,mBAAmB,CAAC,EAAE;AAChD,oBAAA,OAAO,CAAC,WAAW,CAAC,MAAM,CAAC,MAAK;wBAC/B,IAAI,MAAM,GAAG,EAAE;wBACf,MAAM,OAAO,GAAc,EAAE;AAC7B,wBAAA,IAAI,OAA+D;wBACnE,IAAI,IAAI,GAAG,KAAK;wBAEhB,GAAG,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC,KAAa,KAAI;AAChC,4BAAA,MAAM,IAAI,KAAK,CAAC,QAAQ,EAAE;AAC1B,4BAAA,IAAI,GAAW;AACf,4BAAA,OAAO,CAAC,GAAG,GAAG,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE;AACzC,gCAAA,MAAM,IAAI,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,IAAI,EAAE;gCACxC,MAAM,GAAG,MAAM,CAAC,KAAK,CAAC,GAAG,GAAG,CAAC,CAAC;gCAC9B,IAAI,IAAI,EAAE;oCACT,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC;oCAC/B,IAAI,OAAO,EAAE;wCACZ,MAAM,CAAC,GAAG,OAAO;wCACjB,OAAO,GAAG,SAAS;wCACnB,CAAC,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC;oCAClC;yCAAO;AACN,wCAAA,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC;oCACrB;gCACD;4BACD;AACD,wBAAA,CAAC,CAAC;AAEF,wBAAA,GAAG,CAAC,EAAE,CAAC,KAAK,EAAE,MAAK;AAClB,4BAAA,IAAI,MAAM,CAAC,IAAI,EAAE,EAAE;AAClB,gCAAA,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC,CAAC;4BACxC;4BACA,IAAI,GAAG,IAAI;4BACX,IAAI,OAAO,EAAE;gCACZ,MAAM,CAAC,GAAG,OAAO;gCACjB,OAAO,GAAG,SAAS;gCACnB,CAAC,CAAC,EAAE,KAAK,EAAE,SAAS,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC;4BACpC;AACD,wBAAA,CAAC,CAAC;wBAEF,GAAG,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,GAAG,KAAI;4BACvB,IAAI,GAAG,IAAI;4BACX,IAAI,OAAO,EAAE;gCACZ,MAAM,CAAC,GAAG,OAAO;gCACjB,OAAO,GAAG,SAAS;gCACnB,CAAC,CAAC,EAAE,KAAK,EAAE,SAAS,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC;4BACpC;AACD,wBAAA,CAAC,CAAC;wBAEF,OAAO;4BACN,IAAI,GAAA;AACH,gCAAA,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE;AACvB,oCAAA,OAAO,OAAO,CAAC,OAAO,CAAC,EAAE,KAAK,EAAE,OAAO,CAAC,KAAK,EAAG,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC;gCACjE;gCACA,IAAI,IAAI,EAAE;AACT,oCAAA,OAAO,OAAO,CAAC,OAAO,CAAC,EAAE,KAAK,EAAE,SAAS,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC;gCACzD;AACA,gCAAA,OAAO,IAAI,OAAO,CAAC,CAAC,IAAG,EAAG,OAAO,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;4BAC1C,CAAC;yBACD;oBACF,CAAC,CAAC,CAAC;gBACJ;qBAAO;oBACN,IAAI,IAAI,GAAG,EAAE;AACb,oBAAA,GAAG,CAAC,EAAE,CAAC,MAAM,EAAE,KAAK,IAAI,IAAI,IAAI,KAAK,CAAC;AACtC,oBAAA,GAAG,CAAC,EAAE,CAAC,KAAK,EAAE,MAAK;AAClB,wBAAA,IAAI,GAAG,CAAC,UAAU,KAAK,GAAG,EAAE;AAC3B,4BAAA,MAAM,CAAC,IAAI,KAAK,CAAC,CAAA,cAAA,EAAiB,GAAG,CAAC,UAAU,CAAA,GAAA,EAAM,IAAI,CAAA,CAAE,CAAC,CAAC;wBAC/D;6BAAO;AACN,4BAAA,OAAO,CAAC,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC;wBACxC;AACD,oBAAA,CAAC,CAAC;gBACH;AACD,YAAA,CAAC,CAAC;AACF,YAAA,GAAG,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,CAAC;AACvB,YAAA,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC;YACf,GAAG,CAAC,GAAG,EAAE;AACV,QAAA,CAAC,CAAC;AACH,IAAA,CAAC,CAAC;AACH;;;;"}
@@ -0,0 +1,2 @@
1
+ export declare function daemonPipeName(configPath: string): string;
2
+ //# sourceMappingURL=pipeName.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"pipeName.d.ts","sourceRoot":"","sources":["../../src/daemon/pipeName.ts"],"names":[],"mappings":"AAIA,wBAAgB,cAAc,CAAC,UAAU,EAAE,MAAM,GAAG,MAAM,CAMzD"}
@@ -0,0 +1,14 @@
1
+ import { createHash } from 'node:crypto';
2
+ import * as os from 'node:os';
3
+ import * as path from 'node:path';
4
+
5
+ function daemonPipeName(configPath) {
6
+ const absPath = path.resolve(configPath);
7
+ const h = createHash('sha256').update(absPath).digest('hex').slice(0, 16);
8
+ return process.platform === 'win32'
9
+ ? `\\\\.\\pipe\\component-explorer-${h}`
10
+ : path.join(os.tmpdir(), `component-explorer-${h}.sock`);
11
+ }
12
+
13
+ export { daemonPipeName };
14
+ //# sourceMappingURL=pipeName.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"pipeName.js","sources":["../../src/daemon/pipeName.ts"],"sourcesContent":[null],"names":[],"mappings":";;;;AAIM,SAAU,cAAc,CAAC,UAAkB,EAAA;IAChD,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC;IACxC,MAAM,CAAC,GAAG,UAAU,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC;AACzE,IAAA,OAAO,OAAO,CAAC,QAAQ,KAAK;UACzB,CAAA,gCAAA,EAAmC,CAAC,CAAA;AACtC,UAAE,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,MAAM,EAAE,EAAE,CAAA,mBAAA,EAAsB,CAAC,CAAA,KAAA,CAAO,CAAC;AAC1D;;;;"}
@@ -0,0 +1,4 @@
1
+ import http from 'node:http';
2
+ import type { DaemonService } from './DaemonService.js';
3
+ export declare function startPipeServer(pipeName: string, service: DaemonService): Promise<http.Server>;
4
+ //# sourceMappingURL=pipeServer.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"pipeServer.d.ts","sourceRoot":"","sources":["../../src/daemon/pipeServer.ts"],"names":[],"mappings":"AAAA,OAAO,IAAI,MAAM,WAAW,CAAC;AAI7B,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAExD,wBAAsB,eAAe,CACpC,QAAQ,EAAE,MAAM,EAChB,OAAO,EAAE,aAAa,GACpB,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,CAatB"}
@@ -0,0 +1,23 @@
1
+ import http from 'node:http';
2
+ import * as fs from 'node:fs';
3
+ import express from 'express';
4
+ import { createApiRouter } from '@hediet/simple-api/express';
5
+
6
+ async function startPipeServer(pipeName, service) {
7
+ if (process.platform !== 'win32') {
8
+ try {
9
+ fs.unlinkSync(pipeName);
10
+ }
11
+ catch { /* may not exist */ }
12
+ }
13
+ const app = express();
14
+ app.use('/api', createApiRouter(service.api, {
15
+ contextFactory: () => undefined,
16
+ }));
17
+ const server = http.createServer(app);
18
+ await new Promise(resolve => server.listen(pipeName, resolve));
19
+ return server;
20
+ }
21
+
22
+ export { startPipeServer };
23
+ //# sourceMappingURL=pipeServer.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"pipeServer.js","sources":["../../src/daemon/pipeServer.ts"],"sourcesContent":[null],"names":[],"mappings":";;;;;AAMO,eAAe,eAAe,CACpC,QAAgB,EAChB,OAAsB,EAAA;AAEtB,IAAA,IAAI,OAAO,CAAC,QAAQ,KAAK,OAAO,EAAE;AACjC,QAAA,IAAI;AAAE,YAAA,EAAE,CAAC,UAAU,CAAC,QAAQ,CAAC;QAAE;AAAE,QAAA,MAAM,sBAAsB;IAC9D;AAEA,IAAA,MAAM,GAAG,GAAG,OAAO,EAAE;IACrB,GAAG,CAAC,GAAG,CAAC,MAAM,EAAE,eAAe,CAAC,OAAO,CAAC,GAAG,EAAE;AAC5C,QAAA,cAAc,EAAE,MAAM,SAAS;AAC/B,KAAA,CAAC,CAAC;IAEH,MAAM,MAAM,GAAG,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC;AACrC,IAAA,MAAM,IAAI,OAAO,CAAO,OAAO,IAAI,MAAM,CAAC,MAAM,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;AACpE,IAAA,OAAO,MAAM;AACd;;;;"}
@@ -1,7 +1,8 @@
1
1
  import { exec } from 'node:child_process';
2
2
  import * as fs from 'node:fs';
3
3
  import * as path from 'node:path';
4
- export async function installDependencies(worktreePath, config, logger) {
4
+
5
+ async function installDependencies(worktreePath, config, logger) {
5
6
  if (config.kind === 'skip') {
6
7
  return;
7
8
  }
@@ -16,8 +17,8 @@ export async function installDependencies(worktreePath, config, logger) {
16
17
  resolve();
17
18
  }
18
19
  });
19
- proc.stdout?.on('data', (data) => { logger.log(data.trimEnd()); });
20
- proc.stderr?.on('data', (data) => { logger.log(data.trimEnd()); });
20
+ proc.stdout?.on('data', (data) => { logger.debug(data.trimEnd()); });
21
+ proc.stderr?.on('data', (data) => { logger.debug(data.trimEnd()); });
21
22
  });
22
23
  }
23
24
  function resolveCommand(worktreePath, config) {
@@ -42,4 +43,6 @@ function detectPackageManager(worktreePath) {
42
43
  }
43
44
  return 'npm install';
44
45
  }
45
- //# sourceMappingURL=dependencyInstaller.js.map
46
+
47
+ export { installDependencies };
48
+ //# sourceMappingURL=dependencyInstaller.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"dependencyInstaller.js","sourceRoot":"","sources":["../src/dependencyInstaller.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,oBAAoB,CAAC;AAC1C,OAAO,KAAK,EAAE,MAAM,SAAS,CAAC;AAC9B,OAAO,KAAK,IAAI,MAAM,WAAW,CAAC;AAIlC,MAAM,CAAC,KAAK,UAAU,mBAAmB,CACxC,YAAoB,EACpB,MAA6B,EAC7B,MAAe;IAEf,IAAI,MAAM,CAAC,IAAI,KAAK,MAAM,EAAE,CAAC;QAAC,OAAO;IAAC,CAAC;IAEvC,MAAM,OAAO,GAAG,cAAc,CAAC,YAAY,EAAE,MAAM,CAAC,CAAC;IACrD,MAAM,CAAC,GAAG,CAAC,4BAA4B,OAAO,EAAE,CAAC,CAAC;IAElD,MAAM,IAAI,OAAO,CAAO,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;QAC3C,MAAM,IAAI,GAAG,IAAI,CAAC,OAAO,EAAE,EAAE,GAAG,EAAE,YAAY,EAAE,QAAQ,EAAE,OAAO,EAAE,EAAE,CAAC,GAAG,EAAE,EAAE;YAC5E,IAAI,GAAG,EAAE,CAAC;gBACT,MAAM,CAAC,IAAI,KAAK,CAAC,8BAA8B,GAAG,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC;YAChE,CAAC;iBAAM,CAAC;gBACP,OAAO,EAAE,CAAC;YACX,CAAC;QACF,CAAC,CAAC,CAAC;QACH,IAAI,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,EAAE,CAAC,IAAY,EAAE,EAAE,GAAG,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAC3E,IAAI,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,EAAE,CAAC,IAAY,EAAE,EAAE,GAAG,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IAC5E,CAAC,CAAC,CAAC;AACJ,CAAC;AAED,SAAS,cAAc,CACtB,YAAoB,EACpB,MAA6B;IAE7B,QAAQ,MAAM,CAAC,IAAI,EAAE,CAAC;QACrB,KAAK,KAAK,CAAC,CAAC,OAAO,QAAQ,CAAC;QAC5B,KAAK,MAAM,CAAC,CAAC,OAAO,gCAAgC,CAAC;QACrD,KAAK,MAAM,CAAC,CAAC,OAAO,gCAAgC,CAAC;QACrD,KAAK,QAAQ,CAAC,CAAC,OAAO,MAAM,CAAC,OAAO,CAAC;QACrC,KAAK,MAAM,CAAC,CAAC,OAAO,oBAAoB,CAAC,YAAY,CAAC,CAAC;QACvD,OAAO,CAAC,CAAC,MAAM,IAAI,KAAK,CAAC,gCAAiC,MAA2B,CAAC,IAAI,EAAE,CAAC,CAAC;IAC/F,CAAC;AACF,CAAC;AAED,SAAS,oBAAoB,CAAC,YAAoB;IACjD,IAAI,EAAE,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,gBAAgB,CAAC,CAAC,EAAE,CAAC;QAC9D,OAAO,gCAAgC,CAAC;IACzC,CAAC;IACD,IAAI,EAAE,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,WAAW,CAAC,CAAC,EAAE,CAAC;QACzD,OAAO,gCAAgC,CAAC;IACzC,CAAC;IACD,IAAI,EAAE,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,mBAAmB,CAAC,CAAC,EAAE,CAAC;QACjE,OAAO,QAAQ,CAAC;IACjB,CAAC;IACD,OAAO,aAAa,CAAC;AACtB,CAAC"}
1
+ {"version":3,"file":"dependencyInstaller.js","sources":["../src/dependencyInstaller.ts"],"sourcesContent":[null],"names":[],"mappings":";;;;AAMO,eAAe,mBAAmB,CACxC,YAAoB,EACpB,MAA6B,EAC7B,MAAe,EAAA;AAEf,IAAA,IAAI,MAAM,CAAC,IAAI,KAAK,MAAM,EAAE;QAAE;IAAQ;IAEtC,MAAM,OAAO,GAAG,cAAc,CAAC,YAAY,EAAE,MAAM,CAAC;AACpD,IAAA,MAAM,CAAC,GAAG,CAAC,4BAA4B,OAAO,CAAA,CAAE,CAAC;IAEjD,MAAM,IAAI,OAAO,CAAO,CAAC,OAAO,EAAE,MAAM,KAAI;AAC3C,QAAA,MAAM,IAAI,GAAG,IAAI,CAAC,OAAO,EAAE,EAAE,GAAG,EAAE,YAAY,EAAE,QAAQ,EAAE,OAAO,EAAE,EAAE,CAAC,GAAG,KAAI;YAC5E,IAAI,GAAG,EAAE;gBACR,MAAM,CAAC,IAAI,KAAK,CAAC,CAAA,2BAAA,EAA8B,GAAG,CAAC,OAAO,CAAA,CAAE,CAAC,CAAC;YAC/D;iBAAO;AACN,gBAAA,OAAO,EAAE;YACV;AACD,QAAA,CAAC,CAAC;QACF,IAAI,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,EAAE,CAAC,IAAY,KAAI,EAAG,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;QAC5E,IAAI,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,EAAE,CAAC,IAAY,KAAI,EAAG,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;AAC7E,IAAA,CAAC,CAAC;AACH;AAEA,SAAS,cAAc,CACtB,YAAoB,EACpB,MAA6B,EAAA;AAE7B,IAAA,QAAQ,MAAM,CAAC,IAAI;AAClB,QAAA,KAAK,KAAK,EAAE,OAAO,QAAQ;AAC3B,QAAA,KAAK,MAAM,EAAE,OAAO,gCAAgC;AACpD,QAAA,KAAK,MAAM,EAAE,OAAO,gCAAgC;AACpD,QAAA,KAAK,QAAQ,EAAE,OAAO,MAAM,CAAC,OAAO;QACpC,KAAK,MAAM,EAAE,OAAO,oBAAoB,CAAC,YAAY,CAAC;AACtD,QAAA,SAAS,MAAM,IAAI,KAAK,CAAC,CAAA,6BAAA,EAAiC,MAA2B,CAAC,IAAI,CAAA,CAAE,CAAC;;AAE/F;AAEA,SAAS,oBAAoB,CAAC,YAAoB,EAAA;AACjD,IAAA,IAAI,EAAE,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,gBAAgB,CAAC,CAAC,EAAE;AAC7D,QAAA,OAAO,gCAAgC;IACxC;AACA,IAAA,IAAI,EAAE,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,WAAW,CAAC,CAAC,EAAE;AACxD,QAAA,OAAO,gCAAgC;IACxC;AACA,IAAA,IAAI,EAAE,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,mBAAmB,CAAC,CAAC,EAAE;AAChE,QAAA,OAAO,QAAQ;IAChB;AACA,IAAA,OAAO,aAAa;AACrB;;;;"}
@@ -1,15 +1,17 @@
1
1
  import { type ComponentExplorer } from './componentExplorer.js';
2
2
  import type { BrowserPageFactory } from './browserPage.js';
3
- import { type ComponentExplorerHttpServerFactory } from './httpServer.js';
3
+ import { type ComponentExplorerHttpServerFactory, type ViteServerOptions } from './httpServer.js';
4
+ import type { IObservable } from '@vscode/observables';
5
+ import type { SourceTreeId } from './sourceTreeId.js';
4
6
  import type { ViteProjectRef } from './viteProjectRef.js';
5
- import type { ILogger } from './logger.js';
6
7
  export declare class ExplorerSession {
7
8
  readonly name: string;
8
9
  readonly explorer: ComponentExplorer;
9
10
  private readonly _server;
10
11
  private constructor();
11
- static create(name: string, project: ViteProjectRef, serverFactory: ComponentExplorerHttpServerFactory, browserFactory: BrowserPageFactory, logger: ILogger, resolveViteFrom?: string): Promise<ExplorerSession>;
12
+ static create(name: string, project: ViteProjectRef, serverFactory: ComponentExplorerHttpServerFactory, browserFactory: BrowserPageFactory, options?: ViteServerOptions): Promise<ExplorerSession>;
12
13
  get serverUrl(): string;
14
+ get sourceTreeId(): IObservable<SourceTreeId>;
13
15
  dispose(): Promise<void>;
14
16
  }
15
17
  //# sourceMappingURL=explorerSession.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"explorerSession.d.ts","sourceRoot":"","sources":["../src/explorerSession.ts"],"names":[],"mappings":"AAAA,OAAO,EAA4B,KAAK,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAC1F,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,kBAAkB,CAAC;AAC3D,OAAO,EAAoC,KAAK,kCAAkC,EAAE,MAAM,iBAAiB,CAAC;AAC5G,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAC1D,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,aAAa,CAAC;AAE3C,qBAAa,eAAe;IAE1B,QAAQ,CAAC,IAAI,EAAE,MAAM;IACrB,QAAQ,CAAC,QAAQ,EAAE,iBAAiB;IACpC,OAAO,CAAC,QAAQ,CAAC,OAAO;IAHzB,OAAO;WAMM,MAAM,CAClB,IAAI,EAAE,MAAM,EACZ,OAAO,EAAE,cAAc,EACvB,aAAa,EAAE,kCAAkC,EACjD,cAAc,EAAE,kBAAkB,EAClC,MAAM,EAAE,OAAO,EACf,eAAe,CAAC,EAAE,MAAM,GACtB,OAAO,CAAC,eAAe,CAAC;IAM3B,IAAI,SAAS,IAAI,MAAM,CAEtB;IAEK,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;CAI9B"}
1
+ {"version":3,"file":"explorerSession.d.ts","sourceRoot":"","sources":["../src/explorerSession.ts"],"names":[],"mappings":"AAAA,OAAO,EAA4B,KAAK,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAC1F,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,kBAAkB,CAAC;AAC3D,OAAO,EAAoC,KAAK,kCAAkC,EAAE,KAAK,iBAAiB,EAAE,MAAM,iBAAiB,CAAC;AACpI,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AACvD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AACtD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAE1D,qBAAa,eAAe;IAE1B,QAAQ,CAAC,IAAI,EAAE,MAAM;IACrB,QAAQ,CAAC,QAAQ,EAAE,iBAAiB;IACpC,OAAO,CAAC,QAAQ,CAAC,OAAO;IAHzB,OAAO;WAMM,MAAM,CAClB,IAAI,EAAE,MAAM,EACZ,OAAO,EAAE,cAAc,EACvB,aAAa,EAAE,kCAAkC,EACjD,cAAc,EAAE,kBAAkB,EAClC,OAAO,CAAC,EAAE,iBAAiB,GACzB,OAAO,CAAC,eAAe,CAAC;IAM3B,IAAI,SAAS,IAAI,MAAM,CAEtB;IAED,IAAI,YAAY,IAAI,WAAW,CAAC,YAAY,CAAC,CAE5C;IAEK,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;CAI9B"}
@@ -1,5 +1,6 @@
1
1
  import { BrowserComponentExplorer } from './componentExplorer.js';
2
- export class ExplorerSession {
2
+
3
+ class ExplorerSession {
3
4
  name;
4
5
  explorer;
5
6
  _server;
@@ -8,17 +9,22 @@ export class ExplorerSession {
8
9
  this.explorer = explorer;
9
10
  this._server = _server;
10
11
  }
11
- static async create(name, project, serverFactory, browserFactory, logger, resolveViteFrom) {
12
- const server = await serverFactory.createViteServer(project, resolveViteFrom);
13
- const explorer = new BrowserComponentExplorer(browserFactory, server, logger);
12
+ static async create(name, project, serverFactory, browserFactory, options) {
13
+ const server = await serverFactory.createViteServer(project, options);
14
+ const explorer = new BrowserComponentExplorer(browserFactory, server, options?.logger);
14
15
  return new ExplorerSession(name, explorer, server);
15
16
  }
16
17
  get serverUrl() {
17
18
  return this._server.url;
18
19
  }
20
+ get sourceTreeId() {
21
+ return this._server.sourceTreeId;
22
+ }
19
23
  async dispose() {
20
24
  await this.explorer.dispose();
21
25
  await this._server.dispose();
22
26
  }
23
27
  }
24
- //# sourceMappingURL=explorerSession.js.map
28
+
29
+ export { ExplorerSession };
30
+ //# sourceMappingURL=explorerSession.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"explorerSession.js","sourceRoot":"","sources":["../src/explorerSession.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,wBAAwB,EAA0B,MAAM,wBAAwB,CAAC;AAM1F,MAAM,OAAO,eAAe;IAEjB;IACA;IACQ;IAHlB,YACU,IAAY,EACZ,QAA2B,EACnB,OAAoC;QAF5C,SAAI,GAAJ,IAAI,CAAQ;QACZ,aAAQ,GAAR,QAAQ,CAAmB;QACnB,YAAO,GAAP,OAAO,CAA6B;IACnD,CAAC;IAEJ,MAAM,CAAC,KAAK,CAAC,MAAM,CAClB,IAAY,EACZ,OAAuB,EACvB,aAAiD,EACjD,cAAkC,EAClC,MAAe,EACf,eAAwB;QAExB,MAAM,MAAM,GAAG,MAAM,aAAa,CAAC,gBAAgB,CAAC,OAAO,EAAE,eAAe,CAAC,CAAC;QAC9E,MAAM,QAAQ,GAAG,IAAI,wBAAwB,CAAC,cAAc,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;QAC9E,OAAO,IAAI,eAAe,CAAC,IAAI,EAAE,QAAQ,EAAE,MAAM,CAAC,CAAC;IACpD,CAAC;IAED,IAAI,SAAS;QACZ,OAAO,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC;IACzB,CAAC;IAED,KAAK,CAAC,OAAO;QACZ,MAAM,IAAI,CAAC,QAAQ,CAAC,OAAO,EAAE,CAAC;QAC9B,MAAM,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC;IAC9B,CAAC;CACD"}
1
+ {"version":3,"file":"explorerSession.js","sources":["../src/explorerSession.ts"],"sourcesContent":[null],"names":[],"mappings":";;MAOa,eAAe,CAAA;AAEjB,IAAA,IAAA;AACA,IAAA,QAAA;AACQ,IAAA,OAAA;AAHlB,IAAA,WAAA,CACU,IAAY,EACZ,QAA2B,EACnB,OAAoC,EAAA;QAF5C,IAAA,CAAA,IAAI,GAAJ,IAAI;QACJ,IAAA,CAAA,QAAQ,GAAR,QAAQ;QACA,IAAA,CAAA,OAAO,GAAP,OAAO;IACtB;AAEH,IAAA,aAAa,MAAM,CAClB,IAAY,EACZ,OAAuB,EACvB,aAAiD,EACjD,cAAkC,EAClC,OAA2B,EAAA;QAE3B,MAAM,MAAM,GAAG,MAAM,aAAa,CAAC,gBAAgB,CAAC,OAAO,EAAE,OAAO,CAAC;AACrE,QAAA,MAAM,QAAQ,GAAG,IAAI,wBAAwB,CAAC,cAAc,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,CAAC;QACtF,OAAO,IAAI,eAAe,CAAC,IAAI,EAAE,QAAQ,EAAE,MAAM,CAAC;IACnD;AAEA,IAAA,IAAI,SAAS,GAAA;AACZ,QAAA,OAAO,IAAI,CAAC,OAAO,CAAC,GAAG;IACxB;AAEA,IAAA,IAAI,YAAY,GAAA;AACf,QAAA,OAAO,IAAI,CAAC,OAAO,CAAC,YAAY;IACjC;AAEA,IAAA,MAAM,OAAO,GAAA;AACZ,QAAA,MAAM,IAAI,CAAC,QAAQ,CAAC,OAAO,EAAE;AAC7B,QAAA,MAAM,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE;IAC7B;AACA;;;;"}
@@ -0,0 +1,43 @@
1
+ /*---------------------------------------------------------------------------------------------
2
+ * Copyright (c) Microsoft Corporation. All rights reserved.
3
+ * Licensed under the MIT License. See License.txt in the project root for license information.
4
+ *--------------------------------------------------------------------------------------------*/
5
+ class DisposableStore {
6
+ constructor() {
7
+ this.disposables = [];
8
+ this._isDisposed = false;
9
+ }
10
+ get isDisposed() { return this._isDisposed; }
11
+ dispose() {
12
+ this.clear();
13
+ this._isDisposed = true;
14
+ }
15
+ add(disposable) {
16
+ if (disposable) {
17
+ this.disposables.push(disposable);
18
+ }
19
+ return disposable;
20
+ }
21
+ remove(disposable) {
22
+ if (!disposable) {
23
+ return disposable;
24
+ }
25
+ const index = this.disposables.indexOf(disposable);
26
+ if (index !== -1) {
27
+ this.disposables.splice(index, 1);
28
+ }
29
+ return disposable;
30
+ }
31
+ clear() {
32
+ for (const disposable of this.disposables) {
33
+ disposable.dispose();
34
+ }
35
+ this.disposables = [];
36
+ }
37
+ leakItems() {
38
+ this.disposables = [];
39
+ }
40
+ }
41
+
42
+ export { DisposableStore };
43
+ //# sourceMappingURL=disposables.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"disposables.js","sources":["../../../../../../../external/vscode-observables/observables/dist/disposables.js"],"sourcesContent":["/*---------------------------------------------------------------------------------------------\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Licensed under the MIT License. See License.txt in the project root for license information.\n *--------------------------------------------------------------------------------------------*/\nclass DisposableStore {\n constructor() {\n this.disposables = [];\n this._isDisposed = false;\n }\n get isDisposed() { return this._isDisposed; }\n dispose() {\n this.clear();\n this._isDisposed = true;\n }\n add(disposable) {\n if (disposable) {\n this.disposables.push(disposable);\n }\n return disposable;\n }\n remove(disposable) {\n if (!disposable) {\n return disposable;\n }\n const index = this.disposables.indexOf(disposable);\n if (index !== -1) {\n this.disposables.splice(index, 1);\n }\n return disposable;\n }\n clear() {\n for (const disposable of this.disposables) {\n disposable.dispose();\n }\n this.disposables = [];\n }\n leakItems() {\n this.disposables = [];\n }\n}\nclass Disposable {\n constructor() {\n this._store = new DisposableStore();\n }\n dispose() {\n this._store.dispose();\n }\n _register(t) {\n this._store.add(t);\n return t;\n }\n _registerOrDispose(t) {\n if (t) {\n if (this._store.isDisposed) {\n t.dispose();\n }\n else {\n this._store.add(t);\n }\n }\n return t;\n }\n}\n\nexport { Disposable, DisposableStore };\n//# sourceMappingURL=disposables.js.map\n"],"names":[],"mappings":"AAAA;AACA;AACA;AACA;AACA,MAAM,eAAe,CAAC;AACtB,IAAI,WAAW,GAAG;AAClB,QAAQ,IAAI,CAAC,WAAW,GAAG,EAAE;AAC7B,QAAQ,IAAI,CAAC,WAAW,GAAG,KAAK;AAChC,IAAI;AACJ,IAAI,IAAI,UAAU,GAAG,EAAE,OAAO,IAAI,CAAC,WAAW,CAAC,CAAC;AAChD,IAAI,OAAO,GAAG;AACd,QAAQ,IAAI,CAAC,KAAK,EAAE;AACpB,QAAQ,IAAI,CAAC,WAAW,GAAG,IAAI;AAC/B,IAAI;AACJ,IAAI,GAAG,CAAC,UAAU,EAAE;AACpB,QAAQ,IAAI,UAAU,EAAE;AACxB,YAAY,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,UAAU,CAAC;AAC7C,QAAQ;AACR,QAAQ,OAAO,UAAU;AACzB,IAAI;AACJ,IAAI,MAAM,CAAC,UAAU,EAAE;AACvB,QAAQ,IAAI,CAAC,UAAU,EAAE;AACzB,YAAY,OAAO,UAAU;AAC7B,QAAQ;AACR,QAAQ,MAAM,KAAK,GAAG,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,UAAU,CAAC;AAC1D,QAAQ,IAAI,KAAK,KAAK,EAAE,EAAE;AAC1B,YAAY,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC;AAC7C,QAAQ;AACR,QAAQ,OAAO,UAAU;AACzB,IAAI;AACJ,IAAI,KAAK,GAAG;AACZ,QAAQ,KAAK,MAAM,UAAU,IAAI,IAAI,CAAC,WAAW,EAAE;AACnD,YAAY,UAAU,CAAC,OAAO,EAAE;AAChC,QAAQ;AACR,QAAQ,IAAI,CAAC,WAAW,GAAG,EAAE;AAC7B,IAAI;AACJ,IAAI,SAAS,GAAG;AAChB,QAAQ,IAAI,CAAC,WAAW,GAAG,EAAE;AAC7B,IAAI;AACJ;;;;"}
@@ -0,0 +1,22 @@
1
+ import { onUnexpectedError } from './commonFacade/deps.js';
2
+
3
+ /*---------------------------------------------------------------------------------------------
4
+ * Copyright (c) Microsoft Corporation. All rights reserved.
5
+ * Licensed under the MIT License. See License.txt in the project root for license information.
6
+ *--------------------------------------------------------------------------------------------*/
7
+
8
+ /*---------------------------------------------------------------------------------------------
9
+ * Copyright (c) Microsoft Corporation. All rights reserved.
10
+ * Licensed under the MIT License. See License.txt in the project root for license information.
11
+ *--------------------------------------------------------------------------------------------*/
12
+ /**
13
+ * This function is used to indicate that the caller recovered from an error that indicates a bug.
14
+ */
15
+ function handleBugIndicatingErrorRecovery(message) {
16
+ const err = new Error('BugIndicatingErrorRecovery: ' + message);
17
+ onUnexpectedError(err);
18
+ console.error('recovered from an error that indicates a bug', err);
19
+ }
20
+
21
+ export { handleBugIndicatingErrorRecovery };
22
+ //# sourceMappingURL=base.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"base.js","sources":["../../../../../../../../external/vscode-observables/observables/dist/observableInternal/base.js"],"sourcesContent":["/*---------------------------------------------------------------------------------------------\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Licensed under the MIT License. See License.txt in the project root for license information.\n *--------------------------------------------------------------------------------------------*/\nimport { onUnexpectedError } from './commonFacade/deps.js';\n\n/*---------------------------------------------------------------------------------------------\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Licensed under the MIT License. See License.txt in the project root for license information.\n *--------------------------------------------------------------------------------------------*/\n/**\n * This function is used to indicate that the caller recovered from an error that indicates a bug.\n*/\nfunction handleBugIndicatingErrorRecovery(message) {\n const err = new Error('BugIndicatingErrorRecovery: ' + message);\n onUnexpectedError(err);\n console.error('recovered from an error that indicates a bug', err);\n}\n\nexport { handleBugIndicatingErrorRecovery };\n//# sourceMappingURL=base.js.map\n"],"names":[],"mappings":";;AAAA;AACA;AACA;AACA;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS,gCAAgC,CAAC,OAAO,EAAE;AACnD,IAAI,MAAM,GAAG,GAAG,IAAI,KAAK,CAAC,8BAA8B,GAAG,OAAO,CAAC;AACnE,IAAI,iBAAiB,CAAC,GAAG,CAAC;AAC1B,IAAI,OAAO,CAAC,KAAK,CAAC,8CAA8C,EAAE,GAAG,CAAC;AACtE;;;;"}
@@ -0,0 +1,40 @@
1
+ /*---------------------------------------------------------------------------------------------
2
+ * Copyright (c) Microsoft Corporation. All rights reserved.
3
+ * Licensed under the MIT License. See License.txt in the project root for license information.
4
+ *--------------------------------------------------------------------------------------------*/
5
+ /*---------------------------------------------------------------------------------------------
6
+ * Copyright (c) Microsoft Corporation. All rights reserved.
7
+ * Licensed under the MIT License. See License.txt in the project root for license information.
8
+ *--------------------------------------------------------------------------------------------*/
9
+ function toDisposable(fn) {
10
+ return {
11
+ dispose: fn
12
+ };
13
+ }
14
+ class BugIndicatingError extends Error {
15
+ constructor(message) {
16
+ super(message || 'An unexpected bug occurred.');
17
+ Object.setPrototypeOf(this, BugIndicatingError.prototype);
18
+ // Because we know for sure only buggy code throws this,
19
+ // we definitely want to break here and fix the bug.
20
+ // eslint-disable-next-line no-debugger
21
+ // debugger;
22
+ }
23
+ }
24
+ function onBugIndicatingError(error) {
25
+ // debugger;
26
+ throw error;
27
+ }
28
+ function onUnexpectedError(error) {
29
+ console.error('Unexpected error:', error);
30
+ }
31
+ /**
32
+ * Compares two items for equality using strict equality.
33
+ */
34
+ const strictEquals = (a, b) => a === b;
35
+ function isDefined(arg) {
36
+ return arg !== undefined && arg !== null;
37
+ }
38
+
39
+ export { BugIndicatingError, isDefined, onBugIndicatingError, onUnexpectedError, strictEquals, toDisposable };
40
+ //# sourceMappingURL=deps.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"deps.js","sources":["../../../../../../../../../external/vscode-observables/observables/dist/observableInternal/commonFacade/deps.js"],"sourcesContent":["/*---------------------------------------------------------------------------------------------\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Licensed under the MIT License. See License.txt in the project root for license information.\n *--------------------------------------------------------------------------------------------*/\n/*---------------------------------------------------------------------------------------------\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Licensed under the MIT License. See License.txt in the project root for license information.\n *--------------------------------------------------------------------------------------------*/\nfunction toDisposable(fn) {\n return {\n dispose: fn\n };\n}\nclass BugIndicatingError extends Error {\n constructor(message) {\n super(message || 'An unexpected bug occurred.');\n Object.setPrototypeOf(this, BugIndicatingError.prototype);\n // Because we know for sure only buggy code throws this,\n // we definitely want to break here and fix the bug.\n // eslint-disable-next-line no-debugger\n // debugger;\n }\n}\nfunction onBugIndicatingError(error) {\n // debugger;\n throw error;\n}\nfunction onUnexpectedError(error) {\n console.error('Unexpected error:', error);\n}\n/**\n * Compares two items for equality using strict equality.\n*/\nconst strictEquals = (a, b) => a === b;\nfunction isDefined(arg) {\n return arg !== undefined && arg !== null;\n}\n\nexport { BugIndicatingError, isDefined, onBugIndicatingError, onUnexpectedError, strictEquals, toDisposable };\n//# sourceMappingURL=deps.js.map\n"],"names":[],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS,YAAY,CAAC,EAAE,EAAE;AAC1B,IAAI,OAAO;AACX,QAAQ,OAAO,EAAE;AACjB,KAAK;AACL;AACA,MAAM,kBAAkB,SAAS,KAAK,CAAC;AACvC,IAAI,WAAW,CAAC,OAAO,EAAE;AACzB,QAAQ,KAAK,CAAC,OAAO,IAAI,6BAA6B,CAAC;AACvD,QAAQ,MAAM,CAAC,cAAc,CAAC,IAAI,EAAE,kBAAkB,CAAC,SAAS,CAAC;AACjE;AACA;AACA;AACA;AACA,IAAI;AACJ;AACA,SAAS,oBAAoB,CAAC,KAAK,EAAE;AACrC;AACA,IAAI,MAAM,KAAK;AACf;AACA,SAAS,iBAAiB,CAAC,KAAK,EAAE;AAClC,IAAI,OAAO,CAAC,KAAK,CAAC,mBAAmB,EAAE,KAAK,CAAC;AAC7C;AACA;AACA;AACA;AACK,MAAC,YAAY,GAAG,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,KAAK;AACrC,SAAS,SAAS,CAAC,GAAG,EAAE;AACxB,IAAI,OAAO,GAAG,KAAK,SAAS,IAAI,GAAG,KAAK,IAAI;AAC5C;;;;"}
@@ -0,0 +1,77 @@
1
+ /*---------------------------------------------------------------------------------------------
2
+ * Copyright (c) Microsoft Corporation. All rights reserved.
3
+ * Licensed under the MIT License. See License.txt in the project root for license information.
4
+ *--------------------------------------------------------------------------------------------*/
5
+ /*---------------------------------------------------------------------------------------------
6
+ * Copyright (c) Microsoft Corporation. All rights reserved.
7
+ * Licensed under the MIT License. See License.txt in the project root for license information.
8
+ *--------------------------------------------------------------------------------------------*/
9
+ var DebugLocation;
10
+ (function (DebugLocation) {
11
+ let enabled = false;
12
+ function enable() {
13
+ enabled = true;
14
+ }
15
+ DebugLocation.enable = enable;
16
+ function ofCaller() {
17
+ return ofNthCaller(1);
18
+ }
19
+ DebugLocation.ofCaller = ofCaller;
20
+ function ofNthCaller(n) {
21
+ if (!enabled) {
22
+ return undefined;
23
+ }
24
+ const Err = Error; // For the monaco editor checks, which don't have the nodejs types.
25
+ const l = Err.stackTraceLimit;
26
+ Err.stackTraceLimit = 3;
27
+ const stack = new Error().stack;
28
+ Err.stackTraceLimit = l;
29
+ return DebugLocationImpl.fromStack(stack, n + 1);
30
+ }
31
+ DebugLocation.ofNthCaller = ofNthCaller;
32
+ })(DebugLocation || (DebugLocation = {}));
33
+ class DebugLocationImpl {
34
+ static fromStack(stack, parentIdx) {
35
+ const lines = stack.split('\n');
36
+ const location = parseLine(lines[parentIdx + 1]);
37
+ if (location) {
38
+ return new DebugLocationImpl(location.fileName, location.line, location.column, location.id);
39
+ }
40
+ else {
41
+ return undefined;
42
+ }
43
+ }
44
+ constructor(fileName, line, column, id) {
45
+ this.fileName = fileName;
46
+ this.line = line;
47
+ this.column = column;
48
+ this.id = id;
49
+ }
50
+ }
51
+ function parseLine(stackLine) {
52
+ if (!stackLine) {
53
+ return undefined;
54
+ }
55
+ const match = stackLine.match(/\((.*):(\d+):(\d+)\)/);
56
+ if (match) {
57
+ return {
58
+ fileName: match[1],
59
+ line: parseInt(match[2]),
60
+ column: parseInt(match[3]),
61
+ id: stackLine,
62
+ };
63
+ }
64
+ const match2 = stackLine.match(/at ([^\(\)]*):(\d+):(\d+)/);
65
+ if (match2) {
66
+ return {
67
+ fileName: match2[1],
68
+ line: parseInt(match2[2]),
69
+ column: parseInt(match2[3]),
70
+ id: stackLine,
71
+ };
72
+ }
73
+ return undefined;
74
+ }
75
+
76
+ export { DebugLocation };
77
+ //# sourceMappingURL=debugLocation.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"debugLocation.js","sources":["../../../../../../../../external/vscode-observables/observables/dist/observableInternal/debugLocation.js"],"sourcesContent":["/*---------------------------------------------------------------------------------------------\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Licensed under the MIT License. See License.txt in the project root for license information.\n *--------------------------------------------------------------------------------------------*/\n/*---------------------------------------------------------------------------------------------\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Licensed under the MIT License. See License.txt in the project root for license information.\n *--------------------------------------------------------------------------------------------*/\nvar DebugLocation;\n(function (DebugLocation) {\n let enabled = false;\n function enable() {\n enabled = true;\n }\n DebugLocation.enable = enable;\n function ofCaller() {\n return ofNthCaller(1);\n }\n DebugLocation.ofCaller = ofCaller;\n function ofNthCaller(n) {\n if (!enabled) {\n return undefined;\n }\n const Err = Error; // For the monaco editor checks, which don't have the nodejs types.\n const l = Err.stackTraceLimit;\n Err.stackTraceLimit = 3;\n const stack = new Error().stack;\n Err.stackTraceLimit = l;\n return DebugLocationImpl.fromStack(stack, n + 1);\n }\n DebugLocation.ofNthCaller = ofNthCaller;\n})(DebugLocation || (DebugLocation = {}));\nclass DebugLocationImpl {\n static fromStack(stack, parentIdx) {\n const lines = stack.split('\\n');\n const location = parseLine(lines[parentIdx + 1]);\n if (location) {\n return new DebugLocationImpl(location.fileName, location.line, location.column, location.id);\n }\n else {\n return undefined;\n }\n }\n constructor(fileName, line, column, id) {\n this.fileName = fileName;\n this.line = line;\n this.column = column;\n this.id = id;\n }\n}\nfunction parseLine(stackLine) {\n if (!stackLine) {\n return undefined;\n }\n const match = stackLine.match(/\\((.*):(\\d+):(\\d+)\\)/);\n if (match) {\n return {\n fileName: match[1],\n line: parseInt(match[2]),\n column: parseInt(match[3]),\n id: stackLine,\n };\n }\n const match2 = stackLine.match(/at ([^\\(\\)]*):(\\d+):(\\d+)/);\n if (match2) {\n return {\n fileName: match2[1],\n line: parseInt(match2[2]),\n column: parseInt(match2[3]),\n id: stackLine,\n };\n }\n return undefined;\n}\n\nexport { DebugLocation };\n//# sourceMappingURL=debugLocation.js.map\n"],"names":[],"mappings":"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"}