codebuff 1.0.290 → 1.0.292

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 (138) hide show
  1. package/dist/cli-handlers/checkpoint.d.ts +1 -1
  2. package/dist/cli-handlers/initialization-flow.d.ts +1 -0
  3. package/dist/cli-handlers/initialization-flow.js +24 -0
  4. package/dist/cli-handlers/initialization-flow.js.map +1 -0
  5. package/dist/cli-modules/command-processor.d.ts +2 -0
  6. package/dist/cli-modules/command-processor.js +112 -0
  7. package/dist/cli-modules/command-processor.js.map +1 -0
  8. package/dist/cli-modules/input-handler.d.ts +4 -0
  9. package/dist/cli-modules/input-handler.js +75 -0
  10. package/dist/cli-modules/input-handler.js.map +1 -0
  11. package/dist/cli-modules/readline-handler.d.ts +11 -0
  12. package/dist/cli-modules/readline-handler.js +158 -0
  13. package/dist/cli-modules/readline-handler.js.map +1 -0
  14. package/dist/cli-modules/signal-handler.d.ts +7 -0
  15. package/dist/cli-modules/signal-handler.js +128 -0
  16. package/dist/cli-modules/signal-handler.js.map +1 -0
  17. package/dist/cli-modules/types.d.ts +51 -0
  18. package/dist/cli-modules/types.js +3 -0
  19. package/dist/cli-modules/types.js.map +1 -0
  20. package/dist/cli-modules/websocket-handler.d.ts +16 -0
  21. package/dist/cli-modules/websocket-handler.js +53 -0
  22. package/dist/cli-modules/websocket-handler.js.map +1 -0
  23. package/dist/cli.d.ts +1 -1
  24. package/dist/cli.js +1 -1
  25. package/dist/client.d.ts +4 -4
  26. package/dist/code-map/__mocks__/tree-sitter-typescript.d.ts +12 -0
  27. package/dist/code-map/__mocks__/tree-sitter-typescript.d.ts.map +1 -0
  28. package/dist/code-map/__mocks__/tree-sitter-typescript.js +14 -0
  29. package/dist/code-map/__mocks__/tree-sitter-typescript.js.map +1 -0
  30. package/dist/code-map/__mocks__/wasm-mock.d.ts +2 -0
  31. package/dist/code-map/__mocks__/wasm-mock.d.ts.map +1 -0
  32. package/dist/code-map/__mocks__/wasm-mock.js +3 -0
  33. package/dist/code-map/__mocks__/wasm-mock.js.map +1 -0
  34. package/dist/code-map/__tests__/parse.test.d.ts +2 -0
  35. package/dist/code-map/__tests__/parse.test.d.ts.map +1 -0
  36. package/dist/code-map/__tests__/parse.test.js +231 -0
  37. package/dist/code-map/__tests__/parse.test.js.map +1 -0
  38. package/dist/code-map/__tests__/test-langs/consumer.d.ts +2 -0
  39. package/dist/code-map/__tests__/test-langs/consumer.d.ts.map +1 -0
  40. package/dist/code-map/__tests__/test-langs/consumer.js +6 -0
  41. package/dist/code-map/__tests__/test-langs/consumer.js.map +1 -0
  42. package/dist/code-map/__tests__/test-langs/empty.d.ts +1 -0
  43. package/dist/code-map/__tests__/test-langs/empty.d.ts.map +1 -0
  44. package/dist/code-map/__tests__/test-langs/empty.js +2 -0
  45. package/dist/code-map/__tests__/test-langs/empty.js.map +1 -0
  46. package/dist/code-map/__tests__/test-langs/test.d.ts +12 -0
  47. package/dist/code-map/__tests__/test-langs/test.d.ts.map +1 -0
  48. package/dist/code-map/__tests__/test-langs/test.js +23 -0
  49. package/dist/code-map/__tests__/test-langs/test.js.map +1 -0
  50. package/dist/code-map/__tests__/test-langs/unused.d.ts +2 -0
  51. package/dist/code-map/__tests__/test-langs/unused.d.ts.map +1 -0
  52. package/dist/code-map/__tests__/test-langs/unused.js +7 -0
  53. package/dist/code-map/__tests__/test-langs/unused.js.map +1 -0
  54. package/dist/code-map/__tests__/test-langs/utils1.d.ts +2 -0
  55. package/dist/code-map/__tests__/test-langs/utils1.d.ts.map +1 -0
  56. package/dist/code-map/__tests__/test-langs/utils1.js +7 -0
  57. package/dist/code-map/__tests__/test-langs/utils1.js.map +1 -0
  58. package/dist/code-map/__tests__/test-langs/utils2.d.ts +2 -0
  59. package/dist/code-map/__tests__/test-langs/utils2.d.ts.map +1 -0
  60. package/dist/code-map/__tests__/test-langs/utils2.js +8 -0
  61. package/dist/code-map/__tests__/test-langs/utils2.js.map +1 -0
  62. package/dist/code-map/__tests__/tree-sitter-minimal.test.d.ts +2 -0
  63. package/dist/code-map/__tests__/tree-sitter-minimal.test.d.ts.map +1 -0
  64. package/dist/code-map/__tests__/tree-sitter-minimal.test.js +79 -0
  65. package/dist/code-map/__tests__/tree-sitter-minimal.test.js.map +1 -0
  66. package/dist/code-map/jest.config.d.ts +4 -0
  67. package/dist/code-map/jest.config.d.ts.map +1 -0
  68. package/dist/code-map/jest.config.js +18 -0
  69. package/dist/code-map/jest.config.js.map +1 -0
  70. package/dist/code-map/parse.test.d.ts +2 -0
  71. package/dist/code-map/parse.test.d.ts.map +1 -0
  72. package/dist/code-map/parse.test.js +218 -0
  73. package/dist/code-map/parse.test.js.map +1 -0
  74. package/dist/code-map/scripts/tree-sitter-test.cjs +27 -0
  75. package/dist/code-map/scripts/tree-sitter-test.cjs.map +1 -0
  76. package/dist/code-map/scripts/tree-sitter-test.d.cts +2 -0
  77. package/dist/code-map/scripts/tree-sitter-test.d.cts.map +1 -0
  78. package/dist/code-map/scripts/tree-sitter-test.d.ts +2 -0
  79. package/dist/code-map/scripts/tree-sitter-test.d.ts.map +1 -0
  80. package/dist/code-map/scripts/tree-sitter-test.js +54 -0
  81. package/dist/code-map/scripts/tree-sitter-test.js.map +1 -0
  82. package/dist/code-map/test-parser.d.ts +2 -0
  83. package/dist/code-map/test-parser.d.ts.map +1 -0
  84. package/dist/code-map/test-parser.js +42 -0
  85. package/dist/code-map/test-parser.js.map +1 -0
  86. package/dist/code-map/tsconfig.tsbuildinfo +1 -1
  87. package/dist/common/actions.d.ts +144 -144
  88. package/dist/common/bigquery/client.d.ts +15 -0
  89. package/dist/common/bigquery/client.js +265 -0
  90. package/dist/common/bigquery/client.js.map +1 -0
  91. package/dist/common/bigquery/schema.d.ts +55 -0
  92. package/dist/common/bigquery/schema.js +24 -0
  93. package/dist/common/bigquery/schema.js.map +1 -0
  94. package/dist/common/constants/tools.d.ts +1 -1
  95. package/dist/common/constants/tools.js +1 -1
  96. package/dist/common/constants/tools.js.map +1 -1
  97. package/dist/common/constants.d.ts +6 -6
  98. package/dist/common/constants.js +1 -1
  99. package/dist/common/constants.js.map +1 -1
  100. package/dist/common/types/agent-state.d.ts +12 -12
  101. package/dist/common/util/file-metadata.d.ts +9 -0
  102. package/dist/common/util/file-metadata.js +24 -0
  103. package/dist/common/util/file-metadata.js.map +1 -0
  104. package/dist/common/util/saxy.d.ts +1 -1
  105. package/dist/common/util/saxy.js +2 -2
  106. package/dist/common/util/saxy.js.map +1 -1
  107. package/dist/common/util/string.d.ts +1 -0
  108. package/dist/common/util/string.js +9 -0
  109. package/dist/common/util/string.js.map +1 -1
  110. package/dist/common/websockets/websocket-schema.d.ts +256 -256
  111. package/dist/index.js +4 -10
  112. package/dist/utils/spinner.js +1 -1
  113. package/dist/utils/tool-renderers.js +4 -0
  114. package/dist/utils/tool-renderers.js.map +1 -1
  115. package/package.json +1 -1
  116. package/dist/common/__tests__/project-file-tree.test.d.ts +0 -1
  117. package/dist/common/__tests__/project-file-tree.test.js +0 -251
  118. package/dist/common/__tests__/project-file-tree.test.js.map +0 -1
  119. package/dist/common/json-config/__tests__/__snapshots__/stringify-schema.test.js.snap +0 -119
  120. package/dist/common/util/process-stream.d.ts +0 -7
  121. package/dist/common/util/process-stream.js +0 -162
  122. package/dist/common/util/process-stream.js.map +0 -1
  123. package/dist/readline.d.ts +0 -22
  124. package/dist/readline.js +0 -180
  125. package/dist/readline.js.map +0 -1
  126. package/dist/utils/__tests__/__snapshots__/background-process-manager.test.js.snap +0 -137
  127. package/dist/utils/__tests__/file-paths.test.d.ts +0 -1
  128. package/dist/utils/__tests__/file-paths.test.js +0 -37
  129. package/dist/utils/__tests__/file-paths.test.js.map +0 -1
  130. package/dist/utils/__tests__/path.test.d.ts +0 -1
  131. package/dist/utils/__tests__/path.test.js +0 -37
  132. package/dist/utils/__tests__/path.test.js.map +0 -1
  133. package/dist/utils/file-paths.d.ts +0 -9
  134. package/dist/utils/file-paths.js +0 -24
  135. package/dist/utils/file-paths.js.map +0 -1
  136. package/dist/utils/path.d.ts +0 -9
  137. package/dist/utils/path.js +0 -27
  138. package/dist/utils/path.js.map +0 -1
@@ -0,0 +1,16 @@
1
+ import { WebSocketHandlerOptions, Handler } from './types';
2
+ export declare class WebSocketHandler implements Handler {
3
+ private client;
4
+ private freshPrompt;
5
+ private isReceivingResponse;
6
+ private shouldReconnectWhenIdle;
7
+ private stopResponse;
8
+ constructor(options: WebSocketHandlerOptions);
9
+ onError(): void;
10
+ onReconnect(): void;
11
+ reconnectWhenNextIdle(): void;
12
+ setStopResponse(stopResponse: (() => void) | null): void;
13
+ setIsReceivingResponse(value: boolean): void;
14
+ setShouldReconnectWhenIdle(value: boolean): void;
15
+ cleanup(): Promise<void>;
16
+ }
@@ -0,0 +1,53 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.WebSocketHandler = void 0;
4
+ const picocolors_1 = require("picocolors");
5
+ const spinner_1 = require("../utils/spinner");
6
+ class WebSocketHandler {
7
+ client;
8
+ freshPrompt;
9
+ isReceivingResponse;
10
+ shouldReconnectWhenIdle;
11
+ stopResponse = null;
12
+ constructor(options) {
13
+ this.client = options.client;
14
+ this.freshPrompt = options.freshPrompt;
15
+ this.isReceivingResponse = options.isReceivingResponse;
16
+ this.shouldReconnectWhenIdle = options.shouldReconnectWhenIdle;
17
+ }
18
+ onError() {
19
+ spinner_1.Spinner.get().stop();
20
+ this.isReceivingResponse = false;
21
+ if (this.stopResponse) {
22
+ this.stopResponse();
23
+ this.stopResponse = null;
24
+ }
25
+ console.error('\n' + (0, picocolors_1.yellow)('Could not connect. Retrying...'));
26
+ }
27
+ onReconnect() {
28
+ console.log('\n' + (0, picocolors_1.green)('Reconnected!'));
29
+ this.freshPrompt();
30
+ }
31
+ reconnectWhenNextIdle() {
32
+ if (!this.isReceivingResponse) {
33
+ this.client.reconnect();
34
+ }
35
+ else {
36
+ this.shouldReconnectWhenIdle = true;
37
+ }
38
+ }
39
+ setStopResponse(stopResponse) {
40
+ this.stopResponse = stopResponse;
41
+ }
42
+ setIsReceivingResponse(value) {
43
+ this.isReceivingResponse = value;
44
+ }
45
+ setShouldReconnectWhenIdle(value) {
46
+ this.shouldReconnectWhenIdle = value;
47
+ }
48
+ async cleanup() {
49
+ // Nothing to clean up for now
50
+ }
51
+ }
52
+ exports.WebSocketHandler = WebSocketHandler;
53
+ //# sourceMappingURL=websocket-handler.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"websocket-handler.js","sourceRoot":"","sources":["../../src/cli-modules/websocket-handler.ts"],"names":[],"mappings":";;;AAAA,2CAA0C;AAC1C,8CAA0C;AAG1C,MAAa,gBAAgB;IACnB,MAAM,CAAmC;IACzC,WAAW,CAAwC;IACnD,mBAAmB,CAAS;IAC5B,uBAAuB,CAAS;IAChC,YAAY,GAAwB,IAAI,CAAA;IAEhD,YAAY,OAAgC;QAC1C,IAAI,CAAC,MAAM,GAAG,OAAO,CAAC,MAAM,CAAA;QAC5B,IAAI,CAAC,WAAW,GAAG,OAAO,CAAC,WAAW,CAAA;QACtC,IAAI,CAAC,mBAAmB,GAAG,OAAO,CAAC,mBAAmB,CAAA;QACtD,IAAI,CAAC,uBAAuB,GAAG,OAAO,CAAC,uBAAuB,CAAA;IAChE,CAAC;IAEM,OAAO;QACZ,iBAAO,CAAC,GAAG,EAAE,CAAC,IAAI,EAAE,CAAA;QACpB,IAAI,CAAC,mBAAmB,GAAG,KAAK,CAAA;QAChC,IAAI,IAAI,CAAC,YAAY,EAAE,CAAC;YACtB,IAAI,CAAC,YAAY,EAAE,CAAA;YACnB,IAAI,CAAC,YAAY,GAAG,IAAI,CAAA;QAC1B,CAAC;QACD,OAAO,CAAC,KAAK,CAAC,IAAI,GAAG,IAAA,mBAAM,EAAC,gCAAgC,CAAC,CAAC,CAAA;IAChE,CAAC;IAEM,WAAW;QAChB,OAAO,CAAC,GAAG,CAAC,IAAI,GAAG,IAAA,kBAAK,EAAC,cAAc,CAAC,CAAC,CAAA;QACzC,IAAI,CAAC,WAAW,EAAE,CAAA;IACpB,CAAC;IAEM,qBAAqB;QAC1B,IAAI,CAAC,IAAI,CAAC,mBAAmB,EAAE,CAAC;YAC9B,IAAI,CAAC,MAAM,CAAC,SAAS,EAAE,CAAA;QACzB,CAAC;aAAM,CAAC;YACN,IAAI,CAAC,uBAAuB,GAAG,IAAI,CAAA;QACrC,CAAC;IACH,CAAC;IAEM,eAAe,CAAC,YAAiC;QACtD,IAAI,CAAC,YAAY,GAAG,YAAY,CAAA;IAClC,CAAC;IAEM,sBAAsB,CAAC,KAAc;QAC1C,IAAI,CAAC,mBAAmB,GAAG,KAAK,CAAA;IAClC,CAAC;IAEM,0BAA0B,CAAC,KAAc;QAC9C,IAAI,CAAC,uBAAuB,GAAG,KAAK,CAAA;IACtC,CAAC;IAEM,KAAK,CAAC,OAAO;QAClB,8BAA8B;IAChC,CAAC;CACF;AApDD,4CAoDC"}
package/dist/cli.d.ts CHANGED
@@ -1,4 +1,4 @@
1
- import * as readline from './readline';
1
+ import * as readline from 'readline';
2
2
  import { ProjectFileContext } from './common/util/file';
3
3
  import { CliOptions } from './types';
4
4
  export declare class CLI {
package/dist/cli.js CHANGED
@@ -28,7 +28,7 @@ const fs_1 = __importStar(require("fs"));
28
28
  const os = __importStar(require("os"));
29
29
  const os_1 = require("os");
30
30
  const path_1 = __importStar(require("path"));
31
- const readline = __importStar(require("./readline"));
31
+ const readline = __importStar(require("readline"));
32
32
  const analytics_events_1 = require("./common/constants/analytics-events");
33
33
  const string_1 = require("./common/util/string");
34
34
  const picocolors_1 = require("picocolors");
package/dist/client.d.ts CHANGED
@@ -88,28 +88,28 @@ export declare class Client {
88
88
  tokenCallers?: Record<string, Record<string, string[]>> | undefined;
89
89
  userKnowledgeFiles?: Record<string, string> | undefined;
90
90
  fileVersions?: {
91
- content: string;
92
91
  path: string;
92
+ content: string;
93
93
  }[][] | undefined;
94
94
  };
95
95
  messageHistory: {
96
96
  content: string | ({
97
- text: string;
98
97
  type: "text";
98
+ text: string;
99
99
  cache_control?: {
100
100
  type: "ephemeral";
101
101
  } | undefined;
102
102
  } | {
103
- name: string;
104
103
  type: "tool_use";
104
+ name: string;
105
105
  id: string;
106
106
  input: Record<string, any>;
107
107
  cache_control?: {
108
108
  type: "ephemeral";
109
109
  } | undefined;
110
110
  } | {
111
- content: string;
112
111
  type: "tool_result";
112
+ content: string;
113
113
  tool_use_id: string;
114
114
  cache_control?: {
115
115
  type: "ephemeral";
@@ -0,0 +1,12 @@
1
+ export namespace typescript {
2
+ let name: string;
3
+ namespace language {
4
+ function parse(): {
5
+ rootNode: {
6
+ toString: () => string;
7
+ text: string;
8
+ };
9
+ };
10
+ }
11
+ }
12
+ //# sourceMappingURL=tree-sitter-typescript.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tree-sitter-typescript.d.ts","sourceRoot":"","sources":["../../__mocks__/tree-sitter-typescript.js"],"names":[],"mappings":";;;QAGW;;;;;UAKL"}
@@ -0,0 +1,14 @@
1
+ "use strict";
2
+ const typescript = {
3
+ name: 'typescript',
4
+ language: {
5
+ parse: () => ({
6
+ rootNode: {
7
+ toString: () => '(program (interface_declaration name: (type_identifier) body: (interface_body)))',
8
+ text: 'Greeter'
9
+ }
10
+ })
11
+ }
12
+ };
13
+ module.exports = { typescript };
14
+ //# sourceMappingURL=tree-sitter-typescript.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tree-sitter-typescript.js","sourceRoot":"","sources":["../../__mocks__/tree-sitter-typescript.js"],"names":[],"mappings":";AAAA,MAAM,UAAU,GAAG;IACjB,IAAI,EAAE,YAAY;IAClB,QAAQ,EAAE;QACR,KAAK,EAAE,GAAG,EAAE,CAAC,CAAC;YACZ,QAAQ,EAAE;gBACR,QAAQ,EAAE,GAAG,EAAE,CAAC,kFAAkF;gBAClG,IAAI,EAAE,SAAS;aAChB;SACF,CAAC;KACH;CACF,CAAC;AAEF,MAAM,CAAC,OAAO,GAAG,EAAE,UAAU,EAAE,CAAC"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=wasm-mock.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"wasm-mock.d.ts","sourceRoot":"","sources":["../../__mocks__/wasm-mock.js"],"names":[],"mappings":""}
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ module.exports = {};
3
+ //# sourceMappingURL=wasm-mock.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"wasm-mock.js","sourceRoot":"","sources":["../../__mocks__/wasm-mock.js"],"names":[],"mappings":";AAAA,MAAM,CAAC,OAAO,GAAG,EAAE,CAAC"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=parse.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"parse.test.d.ts","sourceRoot":"","sources":["../../__tests__/parse.test.ts"],"names":[],"mappings":""}
@@ -0,0 +1,231 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || function (mod) {
19
+ if (mod && mod.__esModule) return mod;
20
+ var result = {};
21
+ if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
22
+ __setModuleDefault(result, mod);
23
+ return result;
24
+ };
25
+ Object.defineProperty(exports, "__esModule", { value: true });
26
+ const path = __importStar(require("path"));
27
+ const fs = __importStar(require("fs"));
28
+ const parse_1 = require("../parse");
29
+ const globals_1 = require("@jest/globals");
30
+ // Test data
31
+ const tsFile = `
32
+ interface Greeter {
33
+ greet(name: string): string;
34
+ }
35
+
36
+ class Greeting implements Greeter {
37
+ private prefix: string;
38
+
39
+ constructor(prefix: string) {
40
+ this.prefix = prefix;
41
+ }
42
+
43
+ greet(name: string): string {
44
+ return \`\${this.prefix}, \${name}!\`;
45
+ }
46
+
47
+ static printGreeting(greeter: Greeter, name: string): void {
48
+ console.log(greeter.greet(name));
49
+ }
50
+ }
51
+
52
+ function createGreeter(prefix: string): Greeter {
53
+ return new Greeting(prefix);
54
+ }
55
+
56
+ const greeting = createGreeter('Hello');
57
+ Greeting.printGreeting(greeting, 'World');
58
+ `;
59
+ const pyFile = `
60
+ from abc import ABC, abstractmethod
61
+
62
+ class Greeter(ABC):
63
+ @abstractmethod
64
+ def greet(self, name: str) -> str:
65
+ pass
66
+
67
+ class Greeting(Greeter):
68
+ def __init__(self, prefix: str):
69
+ self.prefix = prefix
70
+
71
+ def greet(self, name: str) -> str:
72
+ return f'{self.prefix}, {name}!'
73
+
74
+ def print_greeting(greeter: Greeter, name: str):
75
+ print(greeter.greet(name))
76
+
77
+ if __name__ == "__main__":
78
+ greeting = Greeting("Hello")
79
+ print_greeting(greeting, "World")
80
+ `;
81
+ const multiDefFile1 = `
82
+ export function utils() {
83
+ console.log('utils from file 1');
84
+ }
85
+ `;
86
+ const multiDefFile2 = `
87
+ // This file is deeper in the directory structure, so it will have a lower base score
88
+ export function utils() {
89
+ console.log('utils from file 2');
90
+ }
91
+ `;
92
+ const noDefsOnlyCallsFile = `
93
+ import { utils } from './utils';
94
+ utils();
95
+ console.log('no definitions here');
96
+ `;
97
+ const noCallsOnlyDefsFile = `
98
+ export function unusedFunction() {
99
+ console.log('never called');
100
+ }
101
+ `;
102
+ const emptyFile = '';
103
+ // Pre-read query files
104
+ let tsQueryFile;
105
+ let pyQueryFile;
106
+ (0, globals_1.beforeAll)(async () => {
107
+ // Read the actual query files
108
+ tsQueryFile = await fs.promises.readFile(path.join(__dirname, '../tree-sitter-queries/tree-sitter-typescript-tags.scm'), 'utf8');
109
+ pyQueryFile = await fs.promises.readFile(path.join(__dirname, '../tree-sitter-queries/tree-sitter-python-tags.scm'), 'utf8');
110
+ });
111
+ (0, globals_1.describe)('getFileTokenScores', () => {
112
+ (0, globals_1.it)('should correctly identify tokens and calls in TypeScript', async () => {
113
+ // Write test file to disk temporarily
114
+ const testFilePath = path.join(__dirname, 'test.ts');
115
+ await fs.promises.writeFile(testFilePath, tsFile);
116
+ try {
117
+ const result = await (0, parse_1.getFileTokenScores)('/root', ['test.ts']);
118
+ // Check token identification
119
+ (0, globals_1.expect)(result.tokenScores['test.ts']).toHaveProperty('Greeter');
120
+ (0, globals_1.expect)(result.tokenScores['test.ts']).toHaveProperty('Greeting');
121
+ (0, globals_1.expect)(result.tokenScores['test.ts']).toHaveProperty('createGreeter');
122
+ (0, globals_1.expect)(result.tokenScores['test.ts']).toHaveProperty('greet');
123
+ (0, globals_1.expect)(result.tokenScores['test.ts']).toHaveProperty('printGreeting');
124
+ // Check calls
125
+ (0, globals_1.expect)(result.tokenCallers['test.ts']['Greeting']).toContain('test.ts');
126
+ (0, globals_1.expect)(result.tokenCallers['test.ts']['createGreeter']).toContain('test.ts');
127
+ (0, globals_1.expect)(result.tokenCallers['test.ts']['printGreeting']).toContain('test.ts');
128
+ (0, globals_1.expect)(result.tokenCallers['test.ts']['greet']).toContain('test.ts');
129
+ }
130
+ finally {
131
+ // Clean up test file
132
+ await fs.promises.unlink(testFilePath);
133
+ }
134
+ });
135
+ globals_1.it.skip('should correctly identify tokens and calls in Python', async () => {
136
+ // Write test file to disk temporarily
137
+ const testFilePath = path.join(__dirname, 'test.py');
138
+ await fs.promises.writeFile(testFilePath, pyFile);
139
+ try {
140
+ const result = await (0, parse_1.getFileTokenScores)('/root', ['test.py']);
141
+ // Check token identification
142
+ (0, globals_1.expect)(result.tokenScores['test.py']).toHaveProperty('Greeter');
143
+ (0, globals_1.expect)(result.tokenScores['test.py']).toHaveProperty('Greeting');
144
+ (0, globals_1.expect)(result.tokenScores['test.py']).toHaveProperty('print_greeting');
145
+ (0, globals_1.expect)(result.tokenScores['test.py']).toHaveProperty('greet');
146
+ // Check calls
147
+ (0, globals_1.expect)(result.tokenCallers['test.py']['Greeting']).toContain('test.py');
148
+ (0, globals_1.expect)(result.tokenCallers['test.py']['print_greeting']).toContain('test.py');
149
+ (0, globals_1.expect)(result.tokenCallers['test.py']['greet']).toContain('test.py');
150
+ }
151
+ finally {
152
+ // Clean up test file
153
+ await fs.promises.unlink(testFilePath);
154
+ }
155
+ });
156
+ (0, globals_1.it)('should use highest scoring definition when token is defined in multiple files', async () => {
157
+ // Write test files to disk temporarily
158
+ const utils1Path = path.join(__dirname, 'utils1.ts');
159
+ const utils2Path = path.join(__dirname, 'deep/utils2.ts');
160
+ const consumerPath = path.join(__dirname, 'consumer.ts');
161
+ await fs.promises.mkdir(path.join(__dirname, 'deep'), { recursive: true });
162
+ await fs.promises.writeFile(utils1Path, multiDefFile1);
163
+ await fs.promises.writeFile(utils2Path, multiDefFile2);
164
+ await fs.promises.writeFile(consumerPath, noDefsOnlyCallsFile);
165
+ try {
166
+ const result = await (0, parse_1.getFileTokenScores)('/root', [
167
+ 'utils1.ts',
168
+ 'deep/utils2.ts',
169
+ 'consumer.ts',
170
+ ]);
171
+ // utils1.ts has a higher score (shallower path)
172
+ (0, globals_1.expect)(result.tokenCallers['utils1.ts']['utils']).toContain('consumer.ts');
173
+ // utils2.ts should not be chosen as the defining file
174
+ (0, globals_1.expect)(result.tokenCallers['deep/utils2.ts']['utils']).toBeUndefined();
175
+ }
176
+ finally {
177
+ // Clean up test files
178
+ await fs.promises.unlink(utils1Path);
179
+ await fs.promises.unlink(utils2Path);
180
+ await fs.promises.unlink(consumerPath);
181
+ await fs.promises.rmdir(path.join(__dirname, 'deep'));
182
+ }
183
+ });
184
+ (0, globals_1.it)('should handle files with no definitions', async () => {
185
+ // Write test file to disk temporarily
186
+ const testFilePath = path.join(__dirname, 'consumer.ts');
187
+ await fs.promises.writeFile(testFilePath, noDefsOnlyCallsFile);
188
+ try {
189
+ const result = await (0, parse_1.getFileTokenScores)('/root', ['consumer.ts']);
190
+ // No definitions, only calls
191
+ (0, globals_1.expect)(Object.keys(result.tokenScores['consumer.ts'])).toHaveLength(0);
192
+ // External calls are tracked but not mapped to callers since definition is unknown
193
+ (0, globals_1.expect)(Object.keys(result.tokenCallers)).toHaveLength(0);
194
+ }
195
+ finally {
196
+ // Clean up test file
197
+ await fs.promises.unlink(testFilePath);
198
+ }
199
+ });
200
+ (0, globals_1.it)('should handle files with no calls', async () => {
201
+ // Write test file to disk temporarily
202
+ const testFilePath = path.join(__dirname, 'unused.ts');
203
+ await fs.promises.writeFile(testFilePath, noCallsOnlyDefsFile);
204
+ try {
205
+ const result = await (0, parse_1.getFileTokenScores)('/root', ['unused.ts']);
206
+ // Has definition but no calls
207
+ (0, globals_1.expect)(result.tokenScores['unused.ts']).toHaveProperty('unusedFunction');
208
+ (0, globals_1.expect)(result.tokenCallers['unused.ts']['unusedFunction']).toEqual([]);
209
+ }
210
+ finally {
211
+ // Clean up test file
212
+ await fs.promises.unlink(testFilePath);
213
+ }
214
+ });
215
+ (0, globals_1.it)('should handle empty files', async () => {
216
+ // Write test file to disk temporarily
217
+ const testFilePath = path.join(__dirname, 'empty.ts');
218
+ await fs.promises.writeFile(testFilePath, emptyFile);
219
+ try {
220
+ const result = await (0, parse_1.getFileTokenScores)('/root', ['empty.ts']);
221
+ // No definitions or calls
222
+ (0, globals_1.expect)(Object.keys(result.tokenScores['empty.ts'] || {})).toHaveLength(0);
223
+ (0, globals_1.expect)(Object.keys(result.tokenCallers)).toHaveLength(0);
224
+ }
225
+ finally {
226
+ // Clean up test file
227
+ await fs.promises.unlink(testFilePath);
228
+ }
229
+ });
230
+ });
231
+ //# sourceMappingURL=parse.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"parse.test.js","sourceRoot":"","sources":["../../__tests__/parse.test.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=consumer.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"consumer.d.ts","sourceRoot":"","sources":["../../../__tests__/test-langs/consumer.ts"],"names":[],"mappings":""}
@@ -0,0 +1,6 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const utils1_1 = require("./utils1");
4
+ (0, utils1_1.utils)();
5
+ console.log('no definitions here');
6
+ //# sourceMappingURL=consumer.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"consumer.js","sourceRoot":"","sources":["../../../__tests__/test-langs/consumer.ts"],"names":[],"mappings":";;AAAA,qCAAiC;AACjC,IAAA,cAAK,GAAE,CAAC;AACR,OAAO,CAAC,GAAG,CAAC,qBAAqB,CAAC,CAAC"}
@@ -0,0 +1 @@
1
+ //# sourceMappingURL=empty.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"empty.d.ts","sourceRoot":"","sources":["../../../__tests__/test-langs/empty.ts"],"names":[],"mappings":""}
@@ -0,0 +1,2 @@
1
+ "use strict";
2
+ //# sourceMappingURL=empty.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"empty.js","sourceRoot":"","sources":["../../../__tests__/test-langs/empty.ts"],"names":[],"mappings":""}
@@ -0,0 +1,12 @@
1
+ interface Greeter {
2
+ greet(name: string): string;
3
+ }
4
+ declare class Greeting implements Greeter {
5
+ private prefix;
6
+ constructor(prefix: string);
7
+ greet(name: string): string;
8
+ static printGreeting(greeter: Greeter, name: string): void;
9
+ }
10
+ declare function createGreeter(prefix: string): Greeter;
11
+ declare const greeting: Greeter;
12
+ //# sourceMappingURL=test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"test.d.ts","sourceRoot":"","sources":["../../../__tests__/test-langs/test.ts"],"names":[],"mappings":"AACA,UAAU,OAAO;IACb,KAAK,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAAC;CAC/B;AAGD,cAAM,QAAS,YAAW,OAAO;IAC7B,OAAO,CAAC,MAAM,CAAS;gBAEX,MAAM,EAAE,MAAM;IAI1B,KAAK,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM;IAK3B,MAAM,CAAC,aAAa,CAAC,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,GAAG,IAAI;CAG7D;AAGD,iBAAS,aAAa,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAE9C;AAGD,QAAA,MAAM,QAAQ,SAAyB,CAAC"}
@@ -0,0 +1,23 @@
1
+ "use strict";
2
+ // Class implementation
3
+ class Greeting {
4
+ prefix;
5
+ constructor(prefix) {
6
+ this.prefix = prefix;
7
+ }
8
+ greet(name) {
9
+ return `${this.prefix}, ${name}!`;
10
+ }
11
+ // Static method
12
+ static printGreeting(greeter, name) {
13
+ console.log(greeter.greet(name));
14
+ }
15
+ }
16
+ // Function
17
+ function createGreeter(prefix) {
18
+ return new Greeting(prefix);
19
+ }
20
+ // Main execution
21
+ const greeting = createGreeter('Hello');
22
+ Greeting.printGreeting(greeting, 'World');
23
+ //# sourceMappingURL=test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"test.js","sourceRoot":"","sources":["../../../__tests__/test-langs/test.ts"],"names":[],"mappings":";AAKA,uBAAuB;AACvB,MAAM,QAAQ;IACF,MAAM,CAAS;IAEvB,YAAY,MAAc;QACtB,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;IACzB,CAAC;IAED,KAAK,CAAC,IAAY;QACd,OAAO,GAAG,IAAI,CAAC,MAAM,KAAK,IAAI,GAAG,CAAC;IACtC,CAAC;IAED,gBAAgB;IAChB,MAAM,CAAC,aAAa,CAAC,OAAgB,EAAE,IAAY;QAC/C,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC;IACrC,CAAC;CACJ;AAED,WAAW;AACX,SAAS,aAAa,CAAC,MAAc;IACjC,OAAO,IAAI,QAAQ,CAAC,MAAM,CAAC,CAAC;AAChC,CAAC;AAED,iBAAiB;AACjB,MAAM,QAAQ,GAAG,aAAa,CAAC,OAAO,CAAC,CAAC;AACxC,QAAQ,CAAC,aAAa,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC"}
@@ -0,0 +1,2 @@
1
+ export declare function unusedFunction(): void;
2
+ //# sourceMappingURL=unused.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"unused.d.ts","sourceRoot":"","sources":["../../../__tests__/test-langs/unused.ts"],"names":[],"mappings":"AAAA,wBAAgB,cAAc,SAE7B"}
@@ -0,0 +1,7 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.unusedFunction = unusedFunction;
4
+ function unusedFunction() {
5
+ console.log('never called');
6
+ }
7
+ //# sourceMappingURL=unused.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"unused.js","sourceRoot":"","sources":["../../../__tests__/test-langs/unused.ts"],"names":[],"mappings":";;AAAA,wCAEC;AAFD,SAAgB,cAAc;IAC1B,OAAO,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC;AAChC,CAAC"}
@@ -0,0 +1,2 @@
1
+ export declare function utils(): void;
2
+ //# sourceMappingURL=utils1.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"utils1.d.ts","sourceRoot":"","sources":["../../../__tests__/test-langs/utils1.ts"],"names":[],"mappings":"AAAA,wBAAgB,KAAK,SAEpB"}
@@ -0,0 +1,7 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.utils = utils;
4
+ function utils() {
5
+ console.log('utils from file 1');
6
+ }
7
+ //# sourceMappingURL=utils1.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"utils1.js","sourceRoot":"","sources":["../../../__tests__/test-langs/utils1.ts"],"names":[],"mappings":";;AAAA,sBAEC;AAFD,SAAgB,KAAK;IACjB,OAAO,CAAC,GAAG,CAAC,mBAAmB,CAAC,CAAC;AACrC,CAAC"}
@@ -0,0 +1,2 @@
1
+ export declare function utils(): void;
2
+ //# sourceMappingURL=utils2.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"utils2.d.ts","sourceRoot":"","sources":["../../../__tests__/test-langs/utils2.ts"],"names":[],"mappings":"AACA,wBAAgB,KAAK,SAEpB"}
@@ -0,0 +1,8 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.utils = utils;
4
+ // This file is deeper in the directory structure, so it will have a lower base score
5
+ function utils() {
6
+ console.log('utils from file 2');
7
+ }
8
+ //# sourceMappingURL=utils2.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"utils2.js","sourceRoot":"","sources":["../../../__tests__/test-langs/utils2.ts"],"names":[],"mappings":";;AACA,sBAEC;AAHD,qFAAqF;AACrF,SAAgB,KAAK;IACjB,OAAO,CAAC,GAAG,CAAC,mBAAmB,CAAC,CAAC;AACrC,CAAC"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=tree-sitter-minimal.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tree-sitter-minimal.test.d.ts","sourceRoot":"","sources":["../../__tests__/tree-sitter-minimal.test.ts"],"names":[],"mappings":""}