carrick 0.3.59 → 0.3.61
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/bin/carrick.mjs +25 -10
- package/dist/auth/credentials.d.ts +27 -2
- package/dist/auth/credentials.js +17 -2
- package/dist/auth/credentials.js.map +1 -1
- package/dist/auth/oauth.js +8 -4
- package/dist/auth/oauth.js.map +1 -1
- package/dist/init/repos.js +5 -1
- package/dist/init/repos.js.map +1 -1
- package/dist/init/run.js +15 -3
- package/dist/init/run.js.map +1 -1
- package/package.json +6 -6
- package/sidecar/dist/src/type-inferrer.d.ts +52 -0
- package/sidecar/dist/src/type-inferrer.js +130 -9
package/bin/carrick.mjs
CHANGED
|
@@ -94,22 +94,37 @@ async function printVersion() {
|
|
|
94
94
|
process.stdout.write(`${version}\n`);
|
|
95
95
|
}
|
|
96
96
|
|
|
97
|
+
/**
|
|
98
|
+
* The commands this package adds to the binary's own.
|
|
99
|
+
*
|
|
100
|
+
* Printed after the scanner's help rather than woven into it: the binary is
|
|
101
|
+
* spawned for that text and answers none of these names, so its groups are
|
|
102
|
+
* repeated here as headings instead of being interleaved (carrick#976).
|
|
103
|
+
*/
|
|
97
104
|
function extraHelp() {
|
|
98
105
|
return [
|
|
106
|
+
"This package carries the commands that put those answers where you work.",
|
|
99
107
|
"",
|
|
100
|
-
"
|
|
108
|
+
"WORKSPACE:",
|
|
109
|
+
" init [--project SLUG] set up this folder: the repos to index, the",
|
|
110
|
+
" first index, and the editor and agent wiring;",
|
|
111
|
+
" with a project, verify every repo is in it",
|
|
101
112
|
"",
|
|
102
|
-
"
|
|
103
|
-
"
|
|
104
|
-
"
|
|
105
|
-
"
|
|
106
|
-
"
|
|
107
|
-
"
|
|
113
|
+
"ACCOUNT:",
|
|
114
|
+
" login sign in to a Carrick workspace",
|
|
115
|
+
" logout remove the saved local credential",
|
|
116
|
+
"",
|
|
117
|
+
"INTEGRATION:",
|
|
118
|
+
" lsp --stdio the language server, for an editor or an agent",
|
|
108
119
|
" that speaks LSP",
|
|
109
|
-
"
|
|
120
|
+
" hook post-edit Claude Code PostToolUse hook (reads the tool",
|
|
110
121
|
" payload on stdin)",
|
|
111
|
-
"
|
|
112
|
-
"
|
|
122
|
+
" hook session-start Claude Code SessionStart hook",
|
|
123
|
+
" templates <name> print a file to add to a repo: workflow, or",
|
|
124
|
+
" carrick.json",
|
|
125
|
+
" --version the version of this package",
|
|
126
|
+
"",
|
|
127
|
+
"`carrick init --help` prints its own arguments.",
|
|
113
128
|
"",
|
|
114
129
|
].join("\n");
|
|
115
130
|
}
|
|
@@ -1,14 +1,39 @@
|
|
|
1
1
|
export declare const API_BASE = "https://api.carrick.tools";
|
|
2
2
|
export declare const APP_BASE = "https://app.carrick.tools";
|
|
3
|
-
/**
|
|
3
|
+
/**
|
|
4
|
+
* The scope `carrick login` consents to, and the scope a fresh credential
|
|
5
|
+
* records.
|
|
6
|
+
*
|
|
7
|
+
* `cli` is the credential kind that may upload an index and ask for paid
|
|
8
|
+
* analysis; `mcp`, which login asked for until 0.3.60, may only read. The
|
|
9
|
+
* server mints the kind from the scope the USER approved and never from
|
|
10
|
+
* anything the client asserts, so asking for it here is the only way a laptop
|
|
11
|
+
* gets one — and a login against a server that does not advertise `cli` fails
|
|
12
|
+
* rather than quietly leaving a credential on disk that cannot scan. That is
|
|
13
|
+
* why the cloud deploys first (carrick-cloud
|
|
14
|
+
* `docs/internal/reference/laptop-scan-seam.md` §1.1, §8.1, §9).
|
|
15
|
+
*/
|
|
16
|
+
export declare const SCOPE = "cli";
|
|
17
|
+
/** Shared with the native read client (`src/credentials.rs`). Tokens expire by server revocation. */
|
|
4
18
|
export type Credential = {
|
|
5
19
|
api_base: string;
|
|
6
20
|
token: string;
|
|
7
21
|
workspace_slug: string | null;
|
|
8
22
|
obtained_at: string;
|
|
23
|
+
/**
|
|
24
|
+
* The OAuth scope this credential was consented under.
|
|
25
|
+
*
|
|
26
|
+
* Optional on read, always written from this release on. Every credential
|
|
27
|
+
* on disk today predates the field and is an `mcp` one, so its absence must
|
|
28
|
+
* read as `mcp` rather than as an invalid file — the Rust reader defaults it
|
|
29
|
+
* the same way. Without it the CLI cannot tell "re-login would unlock this"
|
|
30
|
+
* from "the cloud has not deployed it", which are the same 403 on the wire
|
|
31
|
+
* (carrick-cloud `docs/internal/reference/laptop-scan-seam.md` §1.6).
|
|
32
|
+
*/
|
|
33
|
+
scope?: string;
|
|
9
34
|
};
|
|
10
35
|
export declare function credentialPath(env?: NodeJS.ProcessEnv): string;
|
|
11
36
|
export declare function readCredential(env?: NodeJS.ProcessEnv): Credential | null;
|
|
12
|
-
export declare function saveCredential(token: string, workspace: string | null, env?: NodeJS.ProcessEnv): void;
|
|
37
|
+
export declare function saveCredential(token: string, workspace: string | null, env?: NodeJS.ProcessEnv, scope?: string): void;
|
|
13
38
|
/** Removes the local credential only; dashboard revocation is a separate action. */
|
|
14
39
|
export declare function removeCredential(env?: NodeJS.ProcessEnv): boolean;
|
package/dist/auth/credentials.js
CHANGED
|
@@ -3,6 +3,20 @@ import os from "node:os";
|
|
|
3
3
|
import path from "node:path";
|
|
4
4
|
export const API_BASE = "https://api.carrick.tools";
|
|
5
5
|
export const APP_BASE = "https://app.carrick.tools";
|
|
6
|
+
/**
|
|
7
|
+
* The scope `carrick login` consents to, and the scope a fresh credential
|
|
8
|
+
* records.
|
|
9
|
+
*
|
|
10
|
+
* `cli` is the credential kind that may upload an index and ask for paid
|
|
11
|
+
* analysis; `mcp`, which login asked for until 0.3.60, may only read. The
|
|
12
|
+
* server mints the kind from the scope the USER approved and never from
|
|
13
|
+
* anything the client asserts, so asking for it here is the only way a laptop
|
|
14
|
+
* gets one — and a login against a server that does not advertise `cli` fails
|
|
15
|
+
* rather than quietly leaving a credential on disk that cannot scan. That is
|
|
16
|
+
* why the cloud deploys first (carrick-cloud
|
|
17
|
+
* `docs/internal/reference/laptop-scan-seam.md` §1.1, §8.1, §9).
|
|
18
|
+
*/
|
|
19
|
+
export const SCOPE = "cli";
|
|
6
20
|
export function credentialPath(env = process.env) {
|
|
7
21
|
const base = env["XDG_CONFIG_HOME"] ||
|
|
8
22
|
(process.platform === "win32" ? env["APPDATA"] : undefined) ||
|
|
@@ -39,6 +53,7 @@ export function readCredential(env = process.env) {
|
|
|
39
53
|
if (credential.api_base !== API_BASE || typeof credential.token !== "string" ||
|
|
40
54
|
!credential.token || /\s/.test(credential.token) ||
|
|
41
55
|
!(credential.workspace_slug === null || typeof credential.workspace_slug === "string") ||
|
|
56
|
+
!(credential.scope === undefined || typeof credential.scope === "string") ||
|
|
42
57
|
typeof credential.obtained_at !== "string")
|
|
43
58
|
throw new Error();
|
|
44
59
|
return credential;
|
|
@@ -50,7 +65,7 @@ export function readCredential(env = process.env) {
|
|
|
50
65
|
fs.closeSync(fd);
|
|
51
66
|
}
|
|
52
67
|
}
|
|
53
|
-
export function saveCredential(token, workspace, env = process.env) {
|
|
68
|
+
export function saveCredential(token, workspace, env = process.env, scope = SCOPE) {
|
|
54
69
|
if (!token || /\s/.test(token))
|
|
55
70
|
throw new Error("The authorization server returned an invalid token.");
|
|
56
71
|
const file = credentialPath(env);
|
|
@@ -63,7 +78,7 @@ export function saveCredential(token, workspace, env = process.env) {
|
|
|
63
78
|
const temporary = fs.mkdtempSync(path.join(directory, ".login-"));
|
|
64
79
|
try {
|
|
65
80
|
const pending = path.join(temporary, "credentials.json");
|
|
66
|
-
const credential = { api_base: API_BASE, token, workspace_slug: workspace, obtained_at: new Date().toISOString() };
|
|
81
|
+
const credential = { api_base: API_BASE, token, workspace_slug: workspace, obtained_at: new Date().toISOString(), scope };
|
|
67
82
|
fs.writeFileSync(pending, `${JSON.stringify(credential, null, 2)}\n`, { mode: 0o600, flag: "wx" });
|
|
68
83
|
fs.renameSync(pending, file);
|
|
69
84
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"credentials.js","sourceRoot":"","sources":["../../src/auth/credentials.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,SAAS,CAAC;AACzB,OAAO,EAAE,MAAM,SAAS,CAAC;AACzB,OAAO,IAAI,MAAM,WAAW,CAAC;AAE7B,MAAM,CAAC,MAAM,QAAQ,GAAG,2BAA2B,CAAC;AACpD,MAAM,CAAC,MAAM,QAAQ,GAAG,2BAA2B,CAAC;
|
|
1
|
+
{"version":3,"file":"credentials.js","sourceRoot":"","sources":["../../src/auth/credentials.ts"],"names":[],"mappings":"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"}
|
package/dist/auth/oauth.js
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { createHash, randomBytes, timingSafeEqual } from "node:crypto";
|
|
2
2
|
import http from "node:http";
|
|
3
3
|
import { spawn } from "node:child_process";
|
|
4
|
-
import { APP_BASE, API_BASE } from "./credentials.js";
|
|
4
|
+
import { APP_BASE, API_BASE, SCOPE } from "./credentials.js";
|
|
5
5
|
/** Launch a URL as an argument, never through a shell. */
|
|
6
6
|
export async function openBrowser(url) {
|
|
7
7
|
const command = process.platform === "darwin" ? "open" : process.platform === "win32" ? "rundll32.exe" : "xdg-open";
|
|
@@ -72,7 +72,7 @@ export async function authorize(options = {}) {
|
|
|
72
72
|
const registration = await request(`${APP_BASE}/oauth/register`, {
|
|
73
73
|
method: "POST", redirect: "error", signal,
|
|
74
74
|
headers: { "Content-Type": "application/json" },
|
|
75
|
-
body: JSON.stringify({ client_name: "Carrick CLI", redirect_uris: [redirect], token_endpoint_auth_method: "none", grant_types: ["authorization_code"], response_types: ["code"], scope:
|
|
75
|
+
body: JSON.stringify({ client_name: "Carrick CLI", redirect_uris: [redirect], token_endpoint_auth_method: "none", grant_types: ["authorization_code"], response_types: ["code"], scope: SCOPE }),
|
|
76
76
|
});
|
|
77
77
|
if (!registration.ok)
|
|
78
78
|
throw new Error(`Carrick client registration failed (HTTP ${registration.status}).`);
|
|
@@ -80,7 +80,7 @@ export async function authorize(options = {}) {
|
|
|
80
80
|
if (typeof registered.client_id !== "string" || !registered.client_id)
|
|
81
81
|
throw new Error("Carrick registration returned no client ID.");
|
|
82
82
|
const url = new URL(`${APP_BASE}/oauth/authorize`);
|
|
83
|
-
url.search = new URLSearchParams({ response_type: "code", client_id: registered.client_id, redirect_uri: redirect, scope:
|
|
83
|
+
url.search = new URLSearchParams({ response_type: "code", client_id: registered.client_id, redirect_uri: redirect, scope: SCOPE, resource: `${API_BASE}/mcp`, state, code_challenge: createHash("sha256").update(verifier).digest("base64url"), code_challenge_method: "S256" }).toString();
|
|
84
84
|
say(`Sign in to Carrick in your browser:\n${url}`);
|
|
85
85
|
// Opening a browser is best effort. A manual browser can finish the same callback.
|
|
86
86
|
void (options.open ?? openBrowser)(url.toString()).catch(() => false);
|
|
@@ -95,8 +95,12 @@ export async function authorize(options = {}) {
|
|
|
95
95
|
if (!result.ok)
|
|
96
96
|
throw new Error(`Carrick token exchange failed (HTTP ${result.status}). Run carrick login again.`);
|
|
97
97
|
const body = await result.json();
|
|
98
|
+
// The scope must come back as the one that was consented to. A server that
|
|
99
|
+
// answers with a different one has not minted the kind this credential
|
|
100
|
+
// needs, and keeping the token would leave a credential on disk that fails
|
|
101
|
+
// at the first upload with no way to say why.
|
|
98
102
|
if (typeof body.access_token !== "string" || !body.access_token || /\s/.test(body.access_token) ||
|
|
99
|
-
typeof body.token_type !== "string" || body.token_type.toLowerCase() !== "bearer" || body.scope !==
|
|
103
|
+
typeof body.token_type !== "string" || body.token_type.toLowerCase() !== "bearer" || body.scope !== SCOPE) {
|
|
100
104
|
throw new Error("Carrick returned an invalid OAuth token response.");
|
|
101
105
|
}
|
|
102
106
|
return body.access_token;
|
package/dist/auth/oauth.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"oauth.js","sourceRoot":"","sources":["../../src/auth/oauth.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,WAAW,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AACvE,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,EAAE,KAAK,EAAE,MAAM,oBAAoB,CAAC;AAC3C,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;
|
|
1
|
+
{"version":3,"file":"oauth.js","sourceRoot":"","sources":["../../src/auth/oauth.ts"],"names":[],"mappings":"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"}
|
package/dist/init/repos.js
CHANGED
|
@@ -20,8 +20,12 @@ export function deriveWorkspace(workspace) {
|
|
|
20
20
|
});
|
|
21
21
|
if (result.error)
|
|
22
22
|
throw new Error(`Could not derive the workspace: ${result.error.message}`);
|
|
23
|
+
// The scanner prefixes its own command name, and every caller of this
|
|
24
|
+
// prefixes theirs: without the strip, a discovery failure reads
|
|
25
|
+
// "carrick init: carrick derive: no repos in ...", which looks like two
|
|
26
|
+
// failures and hides the sentence that matters.
|
|
23
27
|
if (result.status !== 0)
|
|
24
|
-
throw new Error(result.stderr.trim() || "The scanner could not derive the workspace.");
|
|
28
|
+
throw new Error(result.stderr.trim().replace(/^carrick derive: /, "") || "The scanner could not derive the workspace.");
|
|
25
29
|
const parsed = proposal.safeParse(JSON.parse(result.stdout));
|
|
26
30
|
if (!parsed.success)
|
|
27
31
|
throw new Error("The scanner returned an unsupported workspace proposal. Install matching Carrick CLI and scanner versions.");
|
package/dist/init/repos.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"repos.js","sourceRoot":"","sources":["../../src/init/repos.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,SAAS,CAAC;AACzB,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAC/C,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,SAAS,EAAE,mBAAmB,EAAE,MAAM,cAAc,CAAC;AAE9D,MAAM,OAAO,GAAG,CAAC,CAAC,MAAM,CAAC,EAAE,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,EAAE,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,EAAE,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC,WAAW,EAAE,CAAC;AAClJ,MAAM,QAAQ,GAAG,CAAC,CAAC,MAAM,CAAC;IACxB,MAAM,EAAE,CAAC,CAAC,OAAO,CAAC,kBAAkB,CAAC,EAAE,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,EAAE,iBAAiB,EAAE,CAAC,CAAC,MAAM,EAAE;IAC3F,WAAW,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,EAAE,cAAc,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC;IACnG,eAAe,EAAE,CAAC,CAAC,MAAM,CAAC,EAAE,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,EAAE,CAAC,CAAC,QAAQ,EAAE;IAC3F,KAAK,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,EAAE,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,EAAE,QAAQ,EAAE,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,QAAQ,EAAE,EAAE,QAAQ,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,EAAE,CAAC,CAAC;CACxK,CAAC,CAAC;AAGH,qFAAqF;AACrF,MAAM,UAAU,eAAe,CAAC,SAAiB;IAC/C,MAAM,MAAM,GAAG,mBAAmB,EAAE,CAAC;IACrC,IAAI,CAAC,MAAM,CAAC,MAAM;QAAE,MAAM,IAAI,KAAK,CAAC,MAAM,CAAC,OAAO,IAAI,uCAAuC,CAAC,CAAC;IAC/F,MAAM,MAAM,GAAG,SAAS,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,aAAa,EAAE,SAAS,EAAE,QAAQ,CAAC,EAAE;QACtF,QAAQ,EAAE,MAAM,EAAE,GAAG,EAAE,SAAS,EAAE,EAAE,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,CAAC,GAAG,IAAI,GAAG,IAAI;KAChF,CAAC,CAAC;IACH,IAAI,MAAM,CAAC,KAAK;QAAE,MAAM,IAAI,KAAK,CAAC,mCAAmC,MAAM,CAAC,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC;IAC7F,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC;QAAE,MAAM,IAAI,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,IAAI,6CAA6C,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"repos.js","sourceRoot":"","sources":["../../src/init/repos.ts"],"names":[],"mappings":"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"}
|
package/dist/init/run.js
CHANGED
|
@@ -270,7 +270,12 @@ export async function init(argv) {
|
|
|
270
270
|
say(`Repos to index, in ${plan.workspace} (${plan.repos_detected_by}):`);
|
|
271
271
|
if (plan.parent_proposal) {
|
|
272
272
|
const parent = plan.parent_proposal;
|
|
273
|
-
|
|
273
|
+
// Reads like the scanner's own sentence for the same proposal, capped the
|
|
274
|
+
// same way: a folder of scratch checkouts holds dozens, and the folder
|
|
275
|
+
// that holds them is already named here.
|
|
276
|
+
const names = parent.repos.map((repo) => path.basename(repo));
|
|
277
|
+
const shown = names.length > 3 ? `${names.slice(0, 3).join(", ")} and ${names.length - 3} more` : names.join(", ");
|
|
278
|
+
say(`The parent folder ${parent.directory} holds ${parent.repos.length} ${parent.repos.length === 1 ? "repo" : "repos"}: ${shown}. Run carrick init .. to initialise that workspace.`);
|
|
274
279
|
}
|
|
275
280
|
for (const repo of plan.repos) {
|
|
276
281
|
say(` ${repo.path} (${repo.reason})`);
|
|
@@ -339,12 +344,19 @@ export async function init(argv) {
|
|
|
339
344
|
process.stderr.write(`carrick init: ${binary.problem}\n`);
|
|
340
345
|
return 1;
|
|
341
346
|
}
|
|
342
|
-
|
|
347
|
+
// `--infer` is what makes the first run produce an index worth reading.
|
|
348
|
+
// A local scan states the facts it can derive and leaves everything only
|
|
349
|
+
// the model can classify unclassified; this run asks Carrick Cloud for
|
|
350
|
+
// those, uploads the result, and writes the same payload into `.carrick`
|
|
351
|
+
// from the same run — so there is no scan, then wait, then download
|
|
352
|
+
// (carrick#956 §8.3). Every later `carrick index`, and every hook-driven
|
|
353
|
+
// `carrick refresh`, is the free local one.
|
|
354
|
+
const scan = spawnSync(binary.binary, ["index", "--workspace", workspace, "--infer"], {
|
|
343
355
|
stdio: "inherit",
|
|
344
356
|
env: nativeEnv(),
|
|
345
357
|
});
|
|
346
358
|
if (scan.status !== 0) {
|
|
347
|
-
process.stderr.write(`carrick init: the first index did not finish. The files above are written, so fix what it reported and run: carrick index\n`);
|
|
359
|
+
process.stderr.write(`carrick init: the first index did not finish. The files above are written, so fix what it reported and run: carrick index --infer\n`);
|
|
348
360
|
return scan.status ?? 1;
|
|
349
361
|
}
|
|
350
362
|
}
|
package/dist/init/run.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"run.js","sourceRoot":"","sources":["../../src/init/run.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"run.js","sourceRoot":"","sources":["../../src/init/run.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "carrick",
|
|
3
|
-
"version": "0.3.
|
|
3
|
+
"version": "0.3.61",
|
|
4
4
|
"description": "The API contract index for a TypeScript workspace: what the other services do with the routes and calls in the file you are editing, in your editor and in your agent's context",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"typescript",
|
|
@@ -55,11 +55,11 @@
|
|
|
55
55
|
"zod": "^3.23.0"
|
|
56
56
|
},
|
|
57
57
|
"optionalDependencies": {
|
|
58
|
-
"@carrick-tools/cli-darwin-arm64": "0.3.
|
|
59
|
-
"@carrick-tools/cli-darwin-x64": "0.3.
|
|
60
|
-
"@carrick-tools/cli-linux-arm64": "0.3.
|
|
61
|
-
"@carrick-tools/cli-linux-x64": "0.3.
|
|
62
|
-
"@carrick-tools/cli-win32-x64": "0.3.
|
|
58
|
+
"@carrick-tools/cli-darwin-arm64": "0.3.61",
|
|
59
|
+
"@carrick-tools/cli-darwin-x64": "0.3.61",
|
|
60
|
+
"@carrick-tools/cli-linux-arm64": "0.3.61",
|
|
61
|
+
"@carrick-tools/cli-linux-x64": "0.3.61",
|
|
62
|
+
"@carrick-tools/cli-win32-x64": "0.3.61"
|
|
63
63
|
},
|
|
64
64
|
"devDependencies": {
|
|
65
65
|
"@types/node": "^24.13.3",
|
|
@@ -272,6 +272,24 @@ export declare class TypeInferrer {
|
|
|
272
272
|
* Check if a type string is "useless" for payload purposes.
|
|
273
273
|
*/
|
|
274
274
|
private isUselessType;
|
|
275
|
+
/**
|
|
276
|
+
* A type that can be CALLED or constructed is machinery, never a payload
|
|
277
|
+
* (carrick#964).
|
|
278
|
+
*
|
|
279
|
+
* A context-object framework hands the handler one object that both reads the
|
|
280
|
+
* request and sends the response, so that object has a `body` MEMBER whose
|
|
281
|
+
* type is the response sender. Every anchor that reads a member off the
|
|
282
|
+
* handler's parameter, and every locator that lands on such a member, can
|
|
283
|
+
* therefore resolve to a perfectly concrete type that is the wrong side of
|
|
284
|
+
* the exchange — and, being concrete, it sails past the useless-type guard and
|
|
285
|
+
* publishes as an explicit contract.
|
|
286
|
+
*
|
|
287
|
+
* Nothing crosses an HTTP (or queue, or topic) boundary as a function, so the
|
|
288
|
+
* presence of call or construct signatures is a structural, framework-free
|
|
289
|
+
* proof that the resolution landed on machinery. The caller abstains, which
|
|
290
|
+
* leaves the row honestly unresolved instead of confidently wrong.
|
|
291
|
+
*/
|
|
292
|
+
private isCallableType;
|
|
275
293
|
private unwrapExpressionNode;
|
|
276
294
|
/**
|
|
277
295
|
* If `node` is a `JSON.stringify(arg)` call, return the (expression-unwrapped)
|
|
@@ -797,6 +815,18 @@ export declare class TypeInferrer {
|
|
|
797
815
|
* the route declares its request nowhere we can read.
|
|
798
816
|
*/
|
|
799
817
|
private requestContractFromRegistration;
|
|
818
|
+
/**
|
|
819
|
+
* The request contract a route DECLARES, in anchor order: the handler's
|
|
820
|
+
* parameter annotation (a), the registration's schema object (b), then a
|
|
821
|
+
* validator middleware bound to the request body (b2).
|
|
822
|
+
*
|
|
823
|
+
* Both callers — the registration locator and the expression locator whose
|
|
824
|
+
* line is a registration — consult exactly this set, so the two cannot drift.
|
|
825
|
+
* The typed request READ inside the handler body is deliberately not part of
|
|
826
|
+
* it: that anchor is itself an expression, and the expression path keeps its
|
|
827
|
+
* own locator authoritative when a route declares nothing.
|
|
828
|
+
*/
|
|
829
|
+
private declaredRequestContract;
|
|
800
830
|
/**
|
|
801
831
|
* Anchor (a): the request contract declared on the handler's own signature.
|
|
802
832
|
*
|
|
@@ -810,6 +840,28 @@ export declare class TypeInferrer {
|
|
|
810
840
|
* anchor runs.
|
|
811
841
|
*/
|
|
812
842
|
private requestBodyFromHandlerParams;
|
|
843
|
+
/**
|
|
844
|
+
* Anchor (b2): the contract declared by a VALIDATOR MIDDLEWARE on the
|
|
845
|
+
* registration (carrick#964).
|
|
846
|
+
*
|
|
847
|
+
* A route can declare its body by binding a schema to a named part of the
|
|
848
|
+
* request in a middleware the registration carries alongside the handler:
|
|
849
|
+
*
|
|
850
|
+
* router.post('/search', validate('json', PayloadSchema), async (c) => …)
|
|
851
|
+
*
|
|
852
|
+
* The shape is a CALL among the registration's arguments whose own arguments
|
|
853
|
+
* are a request part and a schema value. Neither the middleware's name nor
|
|
854
|
+
* the schema library is checked: the part is read off the string literal, and
|
|
855
|
+
* the schema is whatever exposes a parsed output (`schemaOutputTypeText`) —
|
|
856
|
+
* the same test anchor (b) already applies to a `schema: { body: … }` object.
|
|
857
|
+
*
|
|
858
|
+
* `REQUEST_BODY_PARTS` is HTTP vocabulary for how a body is carried, not a
|
|
859
|
+
* framework list. A middleware bound to any other part (`query`, `param`,
|
|
860
|
+
* `header`, `cookie`) declares no BODY, and a middleware that names no part
|
|
861
|
+
* at all is not read: publishing a query schema as the request contract would
|
|
862
|
+
* be the same confident-and-wrong answer this anchor exists to remove.
|
|
863
|
+
*/
|
|
864
|
+
private validatedBodyContractText;
|
|
813
865
|
/**
|
|
814
866
|
* Anchor (b): the contract declared in the route's validation schema.
|
|
815
867
|
*
|
|
@@ -123,6 +123,16 @@ const RESPONSE_HELPER_MAX_DEPTH = 4;
|
|
|
123
123
|
* the branch an error path, whose shape is not the endpoint's contract.
|
|
124
124
|
*/
|
|
125
125
|
const STATUS_MEMBER_NAMES = ['status', 'statusCode'];
|
|
126
|
+
/**
|
|
127
|
+
* The parts of a request that ARE the body, as validator middleware names them
|
|
128
|
+
* (`validate('json', Schema)`). HTTP vocabulary for how a body is carried — the
|
|
129
|
+
* same class of generic route vocabulary as the `schema` / `body` / `response` /
|
|
130
|
+
* `handler` keys the schema anchors already read, and deliberately not a list of
|
|
131
|
+
* libraries. Every other part a validator can bind (`query`, `param`, `header`,
|
|
132
|
+
* `cookie`) is NOT the body, so a schema bound to one of those declares no
|
|
133
|
+
* request contract.
|
|
134
|
+
*/
|
|
135
|
+
const REQUEST_BODY_PARTS = new Set(['json', 'form', 'body']);
|
|
126
136
|
/**
|
|
127
137
|
* Print a `Type` to its string form WITHOUT the compiler's default truncation.
|
|
128
138
|
*
|
|
@@ -790,16 +800,15 @@ export class TypeInferrer {
|
|
|
790
800
|
// ships as machinery and decays to `any` in the cross-repo surface.
|
|
791
801
|
//
|
|
792
802
|
// A DECLARED contract outranks whatever expression the locator picked,
|
|
793
|
-
// exactly as it does on the response side, so read
|
|
794
|
-
// first and fall through to the expression only when the
|
|
795
|
-
// its request nowhere. The
|
|
796
|
-
// READ inside the handler body — is deliberately not
|
|
797
|
-
// one is itself an expression, so the locator's own
|
|
798
|
-
// authoritative when nothing is declared.
|
|
803
|
+
// exactly as it does on the response side, so read the DECLARED anchors
|
|
804
|
+
// (a), (b) and (b2) first and fall through to the expression only when the
|
|
805
|
+
// route declares its request nowhere. The remaining registration anchor —
|
|
806
|
+
// the typed request READ inside the handler body — is deliberately not
|
|
807
|
+
// consulted here: that one is itself an expression, so the locator's own
|
|
808
|
+
// expression stays authoritative when nothing is declared.
|
|
799
809
|
const declaredAt = this.registrationAtLine(sourceFile, request.line_number);
|
|
800
810
|
if (declaredAt) {
|
|
801
|
-
const declared = this.
|
|
802
|
-
this.routeSchemaContractText(declaredAt.registration, 'body');
|
|
811
|
+
const declared = this.declaredRequestContract(declaredAt.registration, declaredAt.handler);
|
|
803
812
|
if (declared) {
|
|
804
813
|
this.log(`Route registration at ${request.file_path}:${request.line_number} declares its ` +
|
|
805
814
|
'request contract; using the declaration over the located expression');
|
|
@@ -895,6 +904,19 @@ export class TypeInferrer {
|
|
|
895
904
|
typeString = explicitType;
|
|
896
905
|
isExplicit = true;
|
|
897
906
|
}
|
|
907
|
+
// Publication guard (carrick#964): the locator landed on machinery — a
|
|
908
|
+
// callable member of the handler's context, a method reference, a handler
|
|
909
|
+
// binding — and neither a wrapper rule nor a declared type recovered a
|
|
910
|
+
// payload from it. Publishing that would assert an explicit contract for a
|
|
911
|
+
// type nothing can send over the wire, so abstain and let the row say
|
|
912
|
+
// unknown.
|
|
913
|
+
if (this.isCallableType(payloadType) &&
|
|
914
|
+
!unwrapResult.wasUnwrapped &&
|
|
915
|
+
!explicitType) {
|
|
916
|
+
this.log(`Request locator at ${request.file_path}:${request.line_number} resolved a callable ` +
|
|
917
|
+
`(${typeString}); a function is not a payload, leaving unresolved`);
|
|
918
|
+
return null;
|
|
919
|
+
}
|
|
898
920
|
typeString = this.unwrapPromise(typeString, payloadType);
|
|
899
921
|
return this.createInferredType(request, typeString, isExplicit, this.getNodeLocation(node), unwrapResult.wasUnwrapped ? unwrapResult.typeString : undefined);
|
|
900
922
|
}
|
|
@@ -1611,6 +1633,32 @@ export class TypeInferrer {
|
|
|
1611
1633
|
const trimmed = typeString.trim();
|
|
1612
1634
|
return useless.includes(trimmed) || trimmed === '';
|
|
1613
1635
|
}
|
|
1636
|
+
/**
|
|
1637
|
+
* A type that can be CALLED or constructed is machinery, never a payload
|
|
1638
|
+
* (carrick#964).
|
|
1639
|
+
*
|
|
1640
|
+
* A context-object framework hands the handler one object that both reads the
|
|
1641
|
+
* request and sends the response, so that object has a `body` MEMBER whose
|
|
1642
|
+
* type is the response sender. Every anchor that reads a member off the
|
|
1643
|
+
* handler's parameter, and every locator that lands on such a member, can
|
|
1644
|
+
* therefore resolve to a perfectly concrete type that is the wrong side of
|
|
1645
|
+
* the exchange — and, being concrete, it sails past the useless-type guard and
|
|
1646
|
+
* publishes as an explicit contract.
|
|
1647
|
+
*
|
|
1648
|
+
* Nothing crosses an HTTP (or queue, or topic) boundary as a function, so the
|
|
1649
|
+
* presence of call or construct signatures is a structural, framework-free
|
|
1650
|
+
* proof that the resolution landed on machinery. The caller abstains, which
|
|
1651
|
+
* leaves the row honestly unresolved instead of confidently wrong.
|
|
1652
|
+
*/
|
|
1653
|
+
isCallableType(type) {
|
|
1654
|
+
try {
|
|
1655
|
+
return (type.getCallSignatures().length > 0 ||
|
|
1656
|
+
type.getConstructSignatures().length > 0);
|
|
1657
|
+
}
|
|
1658
|
+
catch {
|
|
1659
|
+
return false;
|
|
1660
|
+
}
|
|
1661
|
+
}
|
|
1614
1662
|
unwrapExpressionNode(node) {
|
|
1615
1663
|
let current = node;
|
|
1616
1664
|
while (current) {
|
|
@@ -2799,6 +2847,9 @@ export class TypeInferrer {
|
|
|
2799
2847
|
structuralTextFromTypeNode(typeNode) {
|
|
2800
2848
|
try {
|
|
2801
2849
|
const resolved = this.unwrapPromiseType(typeNode.getType());
|
|
2850
|
+
if (this.isCallableType(resolved)) {
|
|
2851
|
+
return null;
|
|
2852
|
+
}
|
|
2802
2853
|
const bare = typeText(resolved, typeNode);
|
|
2803
2854
|
if (this.isUselessType(bare)) {
|
|
2804
2855
|
return null;
|
|
@@ -2817,6 +2868,9 @@ export class TypeInferrer {
|
|
|
2817
2868
|
structuralTextFromType(type, at) {
|
|
2818
2869
|
try {
|
|
2819
2870
|
const resolved = this.unwrapPromiseType(type);
|
|
2871
|
+
if (this.isCallableType(resolved)) {
|
|
2872
|
+
return null;
|
|
2873
|
+
}
|
|
2820
2874
|
const bare = typeText(resolved, at);
|
|
2821
2875
|
if (this.isUselessType(bare)) {
|
|
2822
2876
|
return null;
|
|
@@ -2891,9 +2945,24 @@ export class TypeInferrer {
|
|
|
2891
2945
|
* the route declares its request nowhere we can read.
|
|
2892
2946
|
*/
|
|
2893
2947
|
requestContractFromRegistration(registration, handler) {
|
|
2948
|
+
return (this.declaredRequestContract(registration, handler) ??
|
|
2949
|
+
this.inferRequestReadFromHandler(handler));
|
|
2950
|
+
}
|
|
2951
|
+
/**
|
|
2952
|
+
* The request contract a route DECLARES, in anchor order: the handler's
|
|
2953
|
+
* parameter annotation (a), the registration's schema object (b), then a
|
|
2954
|
+
* validator middleware bound to the request body (b2).
|
|
2955
|
+
*
|
|
2956
|
+
* Both callers — the registration locator and the expression locator whose
|
|
2957
|
+
* line is a registration — consult exactly this set, so the two cannot drift.
|
|
2958
|
+
* The typed request READ inside the handler body is deliberately not part of
|
|
2959
|
+
* it: that anchor is itself an expression, and the expression path keeps its
|
|
2960
|
+
* own locator authoritative when a route declares nothing.
|
|
2961
|
+
*/
|
|
2962
|
+
declaredRequestContract(registration, handler) {
|
|
2894
2963
|
return (this.requestBodyFromHandlerParams(handler) ??
|
|
2895
2964
|
this.routeSchemaContractText(registration, 'body') ??
|
|
2896
|
-
this.
|
|
2965
|
+
this.validatedBodyContractText(registration));
|
|
2897
2966
|
}
|
|
2898
2967
|
/**
|
|
2899
2968
|
* Anchor (a): the request contract declared on the handler's own signature.
|
|
@@ -2934,6 +3003,58 @@ export class TypeInferrer {
|
|
|
2934
3003
|
}
|
|
2935
3004
|
return null;
|
|
2936
3005
|
}
|
|
3006
|
+
/**
|
|
3007
|
+
* Anchor (b2): the contract declared by a VALIDATOR MIDDLEWARE on the
|
|
3008
|
+
* registration (carrick#964).
|
|
3009
|
+
*
|
|
3010
|
+
* A route can declare its body by binding a schema to a named part of the
|
|
3011
|
+
* request in a middleware the registration carries alongside the handler:
|
|
3012
|
+
*
|
|
3013
|
+
* router.post('/search', validate('json', PayloadSchema), async (c) => …)
|
|
3014
|
+
*
|
|
3015
|
+
* The shape is a CALL among the registration's arguments whose own arguments
|
|
3016
|
+
* are a request part and a schema value. Neither the middleware's name nor
|
|
3017
|
+
* the schema library is checked: the part is read off the string literal, and
|
|
3018
|
+
* the schema is whatever exposes a parsed output (`schemaOutputTypeText`) —
|
|
3019
|
+
* the same test anchor (b) already applies to a `schema: { body: … }` object.
|
|
3020
|
+
*
|
|
3021
|
+
* `REQUEST_BODY_PARTS` is HTTP vocabulary for how a body is carried, not a
|
|
3022
|
+
* framework list. A middleware bound to any other part (`query`, `param`,
|
|
3023
|
+
* `header`, `cookie`) declares no BODY, and a middleware that names no part
|
|
3024
|
+
* at all is not read: publishing a query schema as the request contract would
|
|
3025
|
+
* be the same confident-and-wrong answer this anchor exists to remove.
|
|
3026
|
+
*/
|
|
3027
|
+
validatedBodyContractText(registration) {
|
|
3028
|
+
if (!Node.isCallExpression(registration)) {
|
|
3029
|
+
return null;
|
|
3030
|
+
}
|
|
3031
|
+
for (const argument of registration.getArguments()) {
|
|
3032
|
+
const middleware = this.unwrapExpressionNode(argument);
|
|
3033
|
+
if (!Node.isCallExpression(middleware)) {
|
|
3034
|
+
continue;
|
|
3035
|
+
}
|
|
3036
|
+
const middlewareArgs = middleware
|
|
3037
|
+
.getArguments()
|
|
3038
|
+
.map((arg) => this.unwrapExpressionNode(arg));
|
|
3039
|
+
const parts = middlewareArgs.filter((arg) => Node.isStringLiteral(arg));
|
|
3040
|
+
if (parts.length === 0) {
|
|
3041
|
+
continue;
|
|
3042
|
+
}
|
|
3043
|
+
if (!parts.some((part) => REQUEST_BODY_PARTS.has(part.getLiteralValue().toLowerCase()))) {
|
|
3044
|
+
continue;
|
|
3045
|
+
}
|
|
3046
|
+
for (const candidate of middlewareArgs) {
|
|
3047
|
+
if (Node.isStringLiteral(candidate)) {
|
|
3048
|
+
continue;
|
|
3049
|
+
}
|
|
3050
|
+
const declared = this.schemaOutputTypeText(candidate);
|
|
3051
|
+
if (declared) {
|
|
3052
|
+
return declared;
|
|
3053
|
+
}
|
|
3054
|
+
}
|
|
3055
|
+
}
|
|
3056
|
+
return null;
|
|
3057
|
+
}
|
|
2937
3058
|
/**
|
|
2938
3059
|
* Anchor (b): the contract declared in the route's validation schema.
|
|
2939
3060
|
*
|