carrick 0.3.113 → 0.3.115
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.
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "carrick",
|
|
3
|
-
"version": "0.3.
|
|
3
|
+
"version": "0.3.115",
|
|
4
4
|
"carrickCache": {
|
|
5
5
|
"cache_version": 22,
|
|
6
6
|
"intent_cache_version": 2
|
|
@@ -113,11 +113,11 @@
|
|
|
113
113
|
"zod": "^3.23.0"
|
|
114
114
|
},
|
|
115
115
|
"optionalDependencies": {
|
|
116
|
-
"@carrick-tools/cli-darwin-arm64": "0.3.
|
|
117
|
-
"@carrick-tools/cli-darwin-x64": "0.3.
|
|
118
|
-
"@carrick-tools/cli-linux-arm64": "0.3.
|
|
119
|
-
"@carrick-tools/cli-linux-x64": "0.3.
|
|
120
|
-
"@carrick-tools/cli-win32-x64": "0.3.
|
|
116
|
+
"@carrick-tools/cli-darwin-arm64": "0.3.115",
|
|
117
|
+
"@carrick-tools/cli-darwin-x64": "0.3.115",
|
|
118
|
+
"@carrick-tools/cli-linux-arm64": "0.3.115",
|
|
119
|
+
"@carrick-tools/cli-linux-x64": "0.3.115",
|
|
120
|
+
"@carrick-tools/cli-win32-x64": "0.3.115"
|
|
121
121
|
},
|
|
122
122
|
"devDependencies": {
|
|
123
123
|
"@types/node": "^24.13.3"
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "carrick",
|
|
3
3
|
"description": "Claude Code plugin for Carrick, which indexes TypeScript codebases across service and repository boundaries. After each edit it adds the file's routes, calls, and cross-service type mismatches to the session, and it registers Carrick's language server. It pairs with the Carrick MCP server, which lets agents search functions by intent rather than name.",
|
|
4
|
-
"version": "0.3.
|
|
4
|
+
"version": "0.3.115",
|
|
5
5
|
"author": {
|
|
6
6
|
"name": "Carrick",
|
|
7
7
|
"email": "hello@carrick.tools"
|
|
@@ -6,7 +6,7 @@ import { Node, ts, } from 'ts-morph';
|
|
|
6
6
|
import * as path from 'node:path';
|
|
7
7
|
import * as fs from 'node:fs';
|
|
8
8
|
import { expandTypeStructural, } from './type-structural-expander.js';
|
|
9
|
-
import { externalImportsOf } from './origin.js';
|
|
9
|
+
import { externalImportsOf, isExternalOrigin } from './origin.js';
|
|
10
10
|
import { statusTableBody } from './capture/index.js';
|
|
11
11
|
/**
|
|
12
12
|
* #248: upper bound on `SymbolRequest.array_depth`. SDL list nesting is
|
|
@@ -85,7 +85,7 @@ function declaredName(declaration) {
|
|
|
85
85
|
* it is: a model names a type where the consumer imports it from, usually a
|
|
86
86
|
* barrel that only has `export *`.
|
|
87
87
|
*/
|
|
88
|
-
function declarationSite(sourceFile, name, label) {
|
|
88
|
+
function declarationSite(sourceFile, name, label, origin) {
|
|
89
89
|
if (declaresName(sourceFile, name))
|
|
90
90
|
return { sourceFile, name };
|
|
91
91
|
const declarations = exportedDeclarations(sourceFile, name, new Set());
|
|
@@ -99,7 +99,10 @@ function declarationSite(sourceFile, name, label) {
|
|
|
99
99
|
// An installed package's declaration names types from the package's own
|
|
100
100
|
// files, which the bundle does not carry, so its text would dangle. The
|
|
101
101
|
// failure is what it was before the walk, and inference keeps the row.
|
|
102
|
-
|
|
102
|
+
// A package of the checkout that a package manager links into
|
|
103
|
+
// `node_modules` is the user's own source and is followed (carrick#2304):
|
|
104
|
+
// the compiler marks it external too, so its flag alone cannot decide.
|
|
105
|
+
if (isExternalOrigin(origin.program, file.compilerNode, origin.repoRoot, origin.imports)) {
|
|
103
106
|
return { reason: `Symbol '${name}' is re-exported from an installed package in ${label}` };
|
|
104
107
|
}
|
|
105
108
|
const declared = declaredName(declaration);
|
|
@@ -259,7 +262,7 @@ export class TypeBundler {
|
|
|
259
262
|
reason: `Failed to load source file: ${err instanceof Error ? err.message : String(err)}`,
|
|
260
263
|
};
|
|
261
264
|
}
|
|
262
|
-
const site = declarationSite(sourceFile, symbol.symbol_name, symbol.source_file);
|
|
265
|
+
const site = declarationSite(sourceFile, symbol.symbol_name, symbol.source_file, this.expandOrigin());
|
|
263
266
|
return 'reason' in site ? { valid: false, reason: site.reason } : { valid: true };
|
|
264
267
|
}
|
|
265
268
|
/** Where a requested symbol is declared, or undefined when it cannot be found. */
|
|
@@ -270,7 +273,7 @@ export class TypeBundler {
|
|
|
270
273
|
const sourceFile = this.project.getSourceFile(absolutePath);
|
|
271
274
|
if (!sourceFile)
|
|
272
275
|
return undefined;
|
|
273
|
-
const site = declarationSite(sourceFile, symbol.symbol_name, symbol.source_file);
|
|
276
|
+
const site = declarationSite(sourceFile, symbol.symbol_name, symbol.source_file, this.expandOrigin());
|
|
274
277
|
return 'reason' in site ? undefined : site;
|
|
275
278
|
}
|
|
276
279
|
/**
|