carrick 0.3.90 → 0.3.92

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 (45) hide show
  1. package/README.md +5 -2
  2. package/bin/carrick.mjs +2 -2
  3. package/dist/auth/credentials.d.ts +1 -1
  4. package/dist/auth/credentials.js +1 -1
  5. package/dist/auth/credentials.js.map +1 -1
  6. package/dist/auth/oauth.d.ts +8 -0
  7. package/dist/auth/oauth.js +65 -11
  8. package/dist/auth/oauth.js.map +1 -1
  9. package/dist/auth/run.d.ts +19 -1
  10. package/dist/auth/run.js +52 -9
  11. package/dist/auth/run.js.map +1 -1
  12. package/dist/init/connect.d.ts +42 -3
  13. package/dist/init/connect.js +172 -113
  14. package/dist/init/connect.js.map +1 -1
  15. package/dist/init/mcp.d.ts +11 -0
  16. package/dist/init/mcp.js +14 -8
  17. package/dist/init/mcp.js.map +1 -1
  18. package/dist/init/output.d.ts +2 -0
  19. package/dist/init/output.js +33 -2
  20. package/dist/init/output.js.map +1 -1
  21. package/dist/init/projects.d.ts +56 -5
  22. package/dist/init/projects.js +124 -17
  23. package/dist/init/projects.js.map +1 -1
  24. package/dist/init/repos.d.ts +33 -0
  25. package/dist/init/repos.js +8 -1
  26. package/dist/init/repos.js.map +1 -1
  27. package/dist/init/run.d.ts +64 -36
  28. package/dist/init/run.js +263 -163
  29. package/dist/init/run.js.map +1 -1
  30. package/package.json +6 -6
  31. package/sidecar/dist/src/capture/api.d.ts +13 -1
  32. package/sidecar/dist/src/capture/check-classify.js +12 -7
  33. package/sidecar/dist/src/capture/check-probe.d.ts +10 -0
  34. package/sidecar/dist/src/capture/check-probe.js +21 -3
  35. package/sidecar/dist/src/capture/check.js +1 -0
  36. package/sidecar/dist/src/capture/index.d.ts +1 -0
  37. package/sidecar/dist/src/capture/index.js +1 -0
  38. package/sidecar/dist/src/index.js +37 -9
  39. package/sidecar/dist/src/retype.d.ts +67 -0
  40. package/sidecar/dist/src/retype.js +813 -0
  41. package/sidecar/dist/src/type-inferrer.d.ts +85 -1
  42. package/sidecar/dist/src/type-inferrer.js +384 -1
  43. package/sidecar/dist/src/types.d.ts +58 -2
  44. package/sidecar/dist/src/validators.d.ts +153 -20
  45. package/sidecar/dist/src/validators.js +17 -0
@@ -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.90",
3
+ "version": "0.3.92",
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",
@@ -58,11 +58,11 @@
58
58
  "zod": "^3.23.0"
59
59
  },
60
60
  "optionalDependencies": {
61
- "@carrick-tools/cli-darwin-arm64": "0.3.90",
62
- "@carrick-tools/cli-darwin-x64": "0.3.90",
63
- "@carrick-tools/cli-linux-arm64": "0.3.90",
64
- "@carrick-tools/cli-linux-x64": "0.3.90",
65
- "@carrick-tools/cli-win32-x64": "0.3.90"
61
+ "@carrick-tools/cli-darwin-arm64": "0.3.92",
62
+ "@carrick-tools/cli-darwin-x64": "0.3.92",
63
+ "@carrick-tools/cli-linux-arm64": "0.3.92",
64
+ "@carrick-tools/cli-linux-x64": "0.3.92",
65
+ "@carrick-tools/cli-win32-x64": "0.3.92"
66
66
  },
67
67
  "devDependencies": {
68
68
  "@types/node": "^24.13.3",
@@ -163,7 +163,10 @@ export type SelfCheckOutcome = 'ok' | 'allowlisted_external' | 'decayed_internal
163
163
  * rather than an error body or a redirect location (carrick#1161).
164
164
  * - `no_request_body`: the located request read is a validated part the
165
165
  * route's validator binds that is not a body (a path parameter, a query), so
166
- * the route states no request body contract there (carrick#1166).
166
+ * the route states no request body contract there (carrick#1166); or the
167
+ * located argument is a call's request config and does not set the member
168
+ * the call takes its body from, so the call sends no body
169
+ * (carrick-cloud#1366).
167
170
  * - `projected_value_only`: every read of a call's result takes a member out
168
171
  * of it and none reads the value itself, so the site states a part of a
169
172
  * payload rather than the payload a caller receives (carrick#1375).
@@ -374,6 +377,15 @@ export interface CheckVerdict {
374
377
  resolved: boolean;
375
378
  /** Why `resolved` is false. Absent exactly when `resolved` is true. */
376
379
  unresolved_reason?: string;
380
+ /**
381
+ * WHICH side's type left the verdict unresolved, when one side did: a gate,
382
+ * a missing export, poison or a deep finding on that side. Absent when
383
+ * nothing about either side is to blame (the check did not run, a probe
384
+ * diagnostic that is not a mismatch) and whenever `resolved` is true. The
385
+ * scanner retypes an unresolved CONSUMER call with the producer's response
386
+ * (carrick#1491), so it reads this rather than parsing the reason.
387
+ */
388
+ unresolved_side?: 'producer' | 'consumer';
377
389
  /**
378
390
  * Statements about THIS comparison that are neither the verdict nor an
379
391
  * unresolution (carrick#1341).
@@ -83,7 +83,11 @@ export function classifyPair(input) {
83
83
  // Every branch below this point except the last two returns a verdict about
84
84
  // a type nobody could read; each states that in one place rather than
85
85
  // repeating the reasoning.
86
- const notAFact = (reason) => ({ resolved: false, unresolved_reason: reason });
86
+ const notAFact = (reason, side) => ({
87
+ resolved: false,
88
+ unresolved_reason: reason,
89
+ ...(side ? { unresolved_side: side } : {}),
90
+ });
87
91
  // 1. Poison: a diagnostic in this pair's own alias closure (either side)
88
92
  // makes the pair unverifiable, never "no probe error -> compatible". A
89
93
  // sibling alias's poison in the same service no longer reaches here.
@@ -96,7 +100,7 @@ export function classifyPair(input) {
96
100
  bucket: 'unverifiable',
97
101
  gate: `poison:${side}`,
98
102
  diagnostic: `the type stub for service '${endpoint.service_name}' does not typecheck (its own declarations carry diagnostics); compatibility cannot be verified.`,
99
- ...notAFact(`the ${side} stub does not typecheck`),
103
+ ...notAFact(`the ${side} stub does not typecheck`, side),
100
104
  };
101
105
  }
102
106
  }
@@ -110,7 +114,7 @@ export function classifyPair(input) {
110
114
  bucket: 'unverifiable',
111
115
  gate: `import:${side}`,
112
116
  diagnostic: `surface export '${alias}' for the ${side} is missing or renamed; compatibility cannot be verified.`,
113
- ...notAFact(`the ${side} surface export is missing or renamed`),
117
+ ...notAFact(`the ${side} surface export is missing or renamed`, side),
114
118
  };
115
119
  }
116
120
  // 3/4. Probe gates (TS2344). IsAny outranks IsUnknown/IsNever.
@@ -125,7 +129,7 @@ export function classifyPair(input) {
125
129
  bucket: 'gate_caught_baked_any',
126
130
  gate: `${side}:any`,
127
131
  diagnostic: `the ${side} type resolved to 'any' at check time; compatibility cannot be verified (a type inferred through a missing library bakes to any).`,
128
- ...notAFact(`the ${side} type is 'any'`),
132
+ ...notAFact(`the ${side} type is 'any'`, side),
129
133
  };
130
134
  }
131
135
  const decayGate = gateDiags
@@ -138,7 +142,7 @@ export function classifyPair(input) {
138
142
  bucket: 'unverifiable',
139
143
  gate: `${side}:${kind}`,
140
144
  diagnostic: `the ${side} type resolved to '${kind}' at check time; compatibility cannot be verified.`,
141
- ...notAFact(`the ${side} type is '${kind}'`),
145
+ ...notAFact(`the ${side} type is '${kind}'`, side),
142
146
  };
143
147
  }
144
148
  // 4b. A side that states no contract (carrick#1162), below the decay gates so
@@ -156,7 +160,7 @@ export function classifyPair(input) {
156
160
  bucket: 'unverifiable',
157
161
  gate: `${side}:void`,
158
162
  diagnostic: `the ${side} type is 'void' (it reads no body), so there is no contract to verify.`,
159
- ...notAFact(`the ${side} type is 'void'`),
163
+ ...notAFact(`the ${side} type is 'void'`, side),
160
164
  };
161
165
  }
162
166
  return {
@@ -164,7 +168,7 @@ export function classifyPair(input) {
164
168
  bucket: 'unverifiable',
165
169
  gate: `${side}:form`,
166
170
  diagnostic: `the ${side} sends a form-encoded body, whose fields are appended at runtime and cannot be compared with a declared shape.`,
167
- ...notAFact(`the ${side} sends a form-encoded body`),
171
+ ...notAFact(`the ${side} sends a form-encoded body`, side),
168
172
  };
169
173
  }
170
174
  // 5. Assignment-class error on the DECISIVE assignment line -> incompatible.
@@ -295,6 +299,7 @@ function factness(input) {
295
299
  const where = first.path === '' ? 'its root' : `'${first.path}'`;
296
300
  return {
297
301
  resolved: false,
302
+ unresolved_side: label,
298
303
  unresolved_reason: first.kind === 'budget_exhausted'
299
304
  ? `the ${label} type is too deep or wide to verify at ${where}`
300
305
  : `the ${label} type carries '${first.kind}' at ${where}, which every counterparty shape satisfies`,
@@ -81,6 +81,16 @@ export interface ProbePlan {
81
81
  wireAssignmentLine?: number;
82
82
  }
83
83
  /** The assignment line whose diagnostic decides the bucket. */
84
+ /**
85
+ * The JSON wire transform as TypeScript declarations: `JsonWire<T>` is the
86
+ * form `JSON.stringify` puts `T` on the wire in (a value with `toJSON()`
87
+ * travels as what it returns), and `JsonWireSame<A, B>` says two forms are
88
+ * mutually assignable. `prefix` namespaces the three names so the same
89
+ * transform can be appended to a file that is not ours (the retype check,
90
+ * carrick#1491) without colliding with anything the file declares. The probe
91
+ * uses no prefix, so its text is unchanged.
92
+ */
93
+ export declare function jsonWireDeclarations(prefix: string): string[];
84
94
  export declare function decisiveAssignmentLine(plan: ProbePlan): number;
85
95
  /**
86
96
  * Build one probe, recording the exact line of every gate and the assignment so
@@ -70,6 +70,25 @@ export function pairId(spec) {
70
70
  return fnv1a(key);
71
71
  }
72
72
  /** The assignment line whose diagnostic decides the bucket. */
73
+ /**
74
+ * The JSON wire transform as TypeScript declarations: `JsonWire<T>` is the
75
+ * form `JSON.stringify` puts `T` on the wire in (a value with `toJSON()`
76
+ * travels as what it returns), and `JsonWireSame<A, B>` says two forms are
77
+ * mutually assignable. `prefix` namespaces the three names so the same
78
+ * transform can be appended to a file that is not ours (the retype check,
79
+ * carrick#1491) without colliding with anything the file declares. The probe
80
+ * uses no prefix, so its text is unchanged.
81
+ */
82
+ export function jsonWireDeclarations(prefix) {
83
+ const depth = `${prefix}JsonWireDepth`;
84
+ const wire = `${prefix}JsonWire`;
85
+ const same = `${prefix}JsonWireSame`;
86
+ return [
87
+ `type ${depth} = [never, 0, 1, 2, 3, 4, 5, 6];`,
88
+ `type ${wire}<T, D extends number = 6> = [D] extends [never] ? T : T extends { toJSON: (...args: any[]) => infer R } ? ${wire}<R, ${depth}[D]> : T extends (...args: any[]) => any ? T : T extends object ? { [K in keyof T]: ${wire}<T[K], ${depth}[D]> } : T;`,
89
+ `type ${same}<A, B> = [A] extends [B] ? ([B] extends [A] ? true : false) : false;`,
90
+ ];
91
+ }
73
92
  export function decisiveAssignmentLine(plan) {
74
93
  return plan.wireAssignmentLine ?? plan.assignmentLine;
75
94
  }
@@ -174,14 +193,13 @@ export function buildProbe(spec, packageOf) {
174
193
  // disagreeing one). tsc stays the judge of both forms.
175
194
  let wireAssignmentLine;
176
195
  if (spec.protocol === 'http') {
177
- push(`type JsonWireDepth = [never, 0, 1, 2, 3, 4, 5, 6];`);
178
- push(`type JsonWire<T, D extends number = 6> = [D] extends [never] ? T : T extends { toJSON: (...args: any[]) => infer R } ? JsonWire<R, JsonWireDepth[D]> : T extends (...args: any[]) => any ? T : T extends object ? { [K in keyof T]: JsonWire<T[K], JsonWireDepth[D]> } : T;`);
179
196
  // Keep the DECLARED type whenever serialising changes nothing observable,
180
197
  // so the compiler's headline still names the real surface alias (the probe
181
198
  // prints `Sent`, which the scrub rewrites) instead of expanding a mapped
182
199
  // type structurally. Only a pair whose payload really is transformed loses
183
200
  // that name — and there the declared name no longer describes what travels.
184
- push(`type JsonWireSame<A, B> = [A] extends [B] ? ([B] extends [A] ? true : false) : false;`);
201
+ for (const line of jsonWireDeclarations(''))
202
+ push(line);
185
203
  push(`type WireSent = [Sent] extends [Expected] ? Sent : (JsonWireSame<JsonWire<Sent>, Sent> extends true ? Sent : JsonWire<Sent>);`);
186
204
  push(`declare const sentWire: WireSent;`);
187
205
  wireAssignmentLine = push(`const expectedWire: Expected = sentWire;`);
@@ -187,6 +187,7 @@ export async function runCheck(opts, onProgress) {
187
187
  `type would let an arbitrary shape read compatible).`,
188
188
  codes: [],
189
189
  resolved: false,
190
+ unresolved_side: hit.side,
190
191
  unresolved_reason: hit.kind === 'budget_exhausted'
191
192
  ? `the ${hit.side} type is too deep or wide to verify at '${hit.path}'`
192
193
  : `the ${hit.side} type carries '${hit.kind}' at '${hit.path}'`,
@@ -32,6 +32,7 @@ export type { CaptureStubOptions, CaptureStubResult } from './api.js';
32
32
  export { DenoProject, findDenoConfig } from './deno-project.js';
33
33
  export { runCheck } from './check.js';
34
34
  export type { CheckProgress } from './check.js';
35
+ export { jsonWireDeclarations } from './check-probe.js';
35
36
  /**
36
37
  * The name of THIS capture's surface entry, without an extension
37
38
  * (carrick#1046).
@@ -43,6 +43,7 @@ export { DenoProject, findDenoConfig } from './deno-project.js';
43
43
  // v2 check core ("tsc as the judge"). Same bundle, same seam: the sidecar
44
44
  // reaches it only through this door (index.js).
45
45
  export { runCheck } from './check.js';
46
+ export { jsonWireDeclarations } from './check-probe.js';
46
47
  const SURFACE_ENTRY_BASENAME = '__carrick_surface__';
47
48
  /** Captures made by this process, so each one's entry file has a name of its
48
49
  * own. Paired with the pid it is unique across processes too. */
@@ -18,7 +18,8 @@ import { TypeBundler, SurfaceEmitter } from './bundler.js';
18
18
  import { TypeInferrer } from './type-inferrer.js';
19
19
  import { MonorepoBuilder } from './monorepo-builder.js';
20
20
  import { DefinitionResolver } from './definition-resolver.js';
21
- import { captureStub, runCheck } from './capture/index.js';
21
+ import { captureStub, jsonWireDeclarations, runCheck } from './capture/index.js';
22
+ import { Retyper } from './retype.js';
22
23
  // ===========================================================================
23
24
  // Module-level state
24
25
  // ===========================================================================
@@ -43,18 +44,22 @@ function projectComponents() {
43
44
  const loader = projectLoader;
44
45
  const project = loader.getProject();
45
46
  const repoRoot = loader.getRepoRoot();
47
+ // The module graph, where the project resolved through one, is the only
48
+ // thing that can name the package a file belongs to: a Deno service
49
+ // resolves nothing under `node_modules` (carrick#1260).
50
+ const typeInferrer = new TypeInferrer({
51
+ project,
52
+ repoRoot,
53
+ packageOf: (filePath) => loader.packageOf(filePath),
54
+ });
46
55
  components = {
47
56
  typeBundler: new TypeBundler({ project, repoRoot }),
48
57
  surfaceEmitter: new SurfaceEmitter({ project, repoRoot }),
49
- // The module graph, where the project resolved through one, is the only
50
- // thing that can name the package a file belongs to: a Deno service
51
- // resolves nothing under `node_modules` (carrick#1260).
52
- typeInferrer: new TypeInferrer({
53
- project,
54
- repoRoot,
55
- packageOf: (filePath) => loader.packageOf(filePath),
56
- }),
58
+ typeInferrer,
57
59
  definitionResolver: new DefinitionResolver({ project }),
60
+ // Locates calls exactly as `infer` does, so it rewrites the node the
61
+ // consumer's published type came from (carrick#1491).
62
+ retyper: new Retyper(project, typeInferrer, jsonWireDeclarations),
58
63
  };
59
64
  }
60
65
  return components;
@@ -281,6 +286,27 @@ function handleInfer(request) {
281
286
  };
282
287
  }
283
288
  }
289
+ /**
290
+ * How long one retype_check request may spend before the items it has not
291
+ * reached abstain: well inside the scanner's 900s read deadline.
292
+ */
293
+ const RETYPE_BUDGET_MS = 600_000;
294
+ /**
295
+ * Handle the 'retype_check' action - judge untyped consumer calls by retyping
296
+ * them with the producer's response type (carrick#1491)
297
+ */
298
+ function handleRetypeCheck(request) {
299
+ try {
300
+ log(`Retyping ${request.items.length} consumer call(s)`);
301
+ const outcomes = projectComponents().retyper.run(request.items, request.budget_ms ?? RETYPE_BUDGET_MS);
302
+ return { request_id: request.request_id, status: 'success', outcomes };
303
+ }
304
+ catch (err) {
305
+ const error = err instanceof Error ? err.message : String(err);
306
+ logError(`Retype check failed: ${error}`);
307
+ return { request_id: request.request_id, status: 'error', errors: [error] };
308
+ }
309
+ }
284
310
  /**
285
311
  * Handle the 'build_workspace' action - build synthetic monorepo workspace
286
312
  */
@@ -429,6 +455,8 @@ function handleRequest(request) {
429
455
  return handleCheckCompatibility(request);
430
456
  case 'resolve_definitions':
431
457
  return handleResolveDefinitions(request);
458
+ case 'retype_check':
459
+ return handleRetypeCheck(request);
432
460
  case 'health':
433
461
  return handleHealth(request);
434
462
  case 'shutdown':
@@ -0,0 +1,67 @@
1
+ /**
2
+ * The retype check (carrick#1491): judge an untyped consumer call by what its
3
+ * own source does with the producer's response.
4
+ *
5
+ * A consumer that writes `await api.post('/orders')` with no type argument
6
+ * gets `any` back, so the pair has nothing to compare and every field it reads
7
+ * goes unchecked. The source still says how the response is used: the members
8
+ * it reads, what it destructures, the typed places it flows into. So the call
9
+ * is rewritten, in memory, to state the producer's response type
10
+ * (`api.post<ProducerResponse>('/orders')`), the consumer file is type-checked
11
+ * before and after, and every diagnostic the rewrite adds is a place where the
12
+ * consumer uses something the producer does not return. No rule of ours
13
+ * decides anything: the compiler reads the consumer's own code.
14
+ *
15
+ * A call that takes no type argument but returns a typed transport response
16
+ * (`const res = await fetch(u)`) is judged at its body read instead: the
17
+ * `res.json()` on that call's result is the payload, so that read is cast to
18
+ * the producer's type (carrick#1493).
19
+ *
20
+ * Runs in the consumer's REAL program (the init'd project), because that is
21
+ * the only place its file can type-check: the check workspace holds
22
+ * declaration stubs, not consumer sources, and none of the consumer's imports.
23
+ *
24
+ * Every edit is undone before the next item and before returning, so the
25
+ * project other requests read is the project the scan loaded.
26
+ */
27
+ import type { Project } from 'ts-morph';
28
+ import type { TypeInferrer } from './type-inferrer.js';
29
+ import type { RetypeItem, RetypeOutcome } from './types.js';
30
+ export declare class Retyper {
31
+ private readonly project;
32
+ private readonly inferrer;
33
+ private readonly jsonWire;
34
+ /**
35
+ * `jsonWire` is the check phase's own JSON wire transform
36
+ * (`jsonWireDeclarations` in the capture bundle), handed in by the entry
37
+ * point so both judges read the wire the same way without this file
38
+ * crossing the bundle seam.
39
+ */
40
+ constructor(project: Project, inferrer: TypeInferrer, jsonWire: (prefix: string) => string[]);
41
+ /**
42
+ * Judge every item, spending at most `budgetMs`. Each item rebuilds the
43
+ * program at least twice, so a consumer with many calls could otherwise
44
+ * outrun the caller's read deadline and lose every answer; the items the
45
+ * budget does not reach abstain and say so.
46
+ */
47
+ run(items: RetypeItem[], budgetMs: number): RetypeOutcome[];
48
+ private runOne;
49
+ /**
50
+ * How to state the producer's type at this call, or why it cannot be done.
51
+ * Returns a builder so the wire and the declared form share one decision.
52
+ */
53
+ private plan;
54
+ /**
55
+ * Apply one rewrite, type-check, restore. Returns the diagnostics the
56
+ * rewrite ADDED, in original-file positions.
57
+ */
58
+ private check;
59
+ /**
60
+ * The stated type argument must be what the call RETURNS (or a type
61
+ * argument or member of it): the rewrite is only a statement about the
62
+ * response when the parameter it fills carries the response. A parameter
63
+ * that types something else — a request body, a config — would judge the
64
+ * consumer against the wrong thing, so the item abstains.
65
+ */
66
+ private typeArgumentReachesResult;
67
+ }