carrick 0.3.65 → 0.3.66
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/README.md +8 -0
- package/dist/init/connect.js +10 -8
- package/dist/init/connect.js.map +1 -1
- package/dist/init/hosted.d.ts +22 -1
- package/dist/init/hosted.js +38 -32
- package/dist/init/hosted.js.map +1 -1
- package/dist/init/mcp.d.ts +0 -2
- package/dist/init/mcp.js +0 -18
- package/dist/init/mcp.js.map +1 -1
- package/dist/init/output.d.ts +44 -0
- package/dist/init/output.js +134 -0
- package/dist/init/output.js.map +1 -0
- package/dist/init/run.d.ts +44 -30
- package/dist/init/run.js +155 -216
- package/dist/init/run.js.map +1 -1
- package/package.json +8 -6
- package/sidecar/dist/src/capture/machinery.d.ts +10 -0
- package/sidecar/dist/src/capture/machinery.js +19 -9
- package/sidecar/dist/src/type-inferrer.d.ts +66 -4
- package/sidecar/dist/src/type-inferrer.js +249 -18
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.66",
|
|
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",
|
|
@@ -49,17 +49,19 @@
|
|
|
49
49
|
"build": "tsc -p tsconfig.build.json"
|
|
50
50
|
},
|
|
51
51
|
"dependencies": {
|
|
52
|
+
"@clack/prompts": "1.8.1",
|
|
53
|
+
"picocolors": "1.1.1",
|
|
52
54
|
"pnpm": "10.34.5",
|
|
53
55
|
"ts-morph": "^25.0.1",
|
|
54
56
|
"typescript": "^5.8.0",
|
|
55
57
|
"zod": "^3.23.0"
|
|
56
58
|
},
|
|
57
59
|
"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.
|
|
60
|
+
"@carrick-tools/cli-darwin-arm64": "0.3.66",
|
|
61
|
+
"@carrick-tools/cli-darwin-x64": "0.3.66",
|
|
62
|
+
"@carrick-tools/cli-linux-arm64": "0.3.66",
|
|
63
|
+
"@carrick-tools/cli-linux-x64": "0.3.66",
|
|
64
|
+
"@carrick-tools/cli-win32-x64": "0.3.66"
|
|
63
65
|
},
|
|
64
66
|
"devDependencies": {
|
|
65
67
|
"@types/node": "^24.13.3",
|
|
@@ -57,3 +57,13 @@ export declare const MACHINERY_MEMBER_INDICATORS: Set<string>;
|
|
|
57
57
|
* machinery type far inside from over-abstaining.
|
|
58
58
|
*/
|
|
59
59
|
export declare function typeIsOrContainsMachinery(checker: ts.TypeChecker, type: ts.Type, node: ts.Node): boolean;
|
|
60
|
+
/**
|
|
61
|
+
* True when a declaration file path is runtime/library origin: a TS lib
|
|
62
|
+
* (`lib.*.d.ts`), an installed package, or the runtime declarations Carrick
|
|
63
|
+
* materialises for a non-Node runtime under `.carrick/deno/` (carrick#1017 —
|
|
64
|
+
* there the platform `Response` lives in Carrick's own generated file, so
|
|
65
|
+
* without this the gate stayed shut and the wrapper was published as a
|
|
66
|
+
* contract). Lockstep mirror of `isExternalOrigin` in `type-inferrer.ts`;
|
|
67
|
+
* `machinery-indicator-mirror.test.ts` guards the pair.
|
|
68
|
+
*/
|
|
69
|
+
export declare function isExternalOrigin(filePath: string): boolean;
|
|
@@ -127,21 +127,31 @@ function isFrameworkMachinery(checker, type) {
|
|
|
127
127
|
return symbolIsLibOrExternalOrigin(checker, type.getSymbol() ?? type.aliasSymbol);
|
|
128
128
|
}
|
|
129
129
|
/**
|
|
130
|
-
* True when
|
|
131
|
-
* `
|
|
132
|
-
*
|
|
130
|
+
* True when a declaration file path is runtime/library origin: a TS lib
|
|
131
|
+
* (`lib.*.d.ts`), an installed package, or the runtime declarations Carrick
|
|
132
|
+
* materialises for a non-Node runtime under `.carrick/deno/` (carrick#1017 —
|
|
133
|
+
* there the platform `Response` lives in Carrick's own generated file, so
|
|
134
|
+
* without this the gate stayed shut and the wrapper was published as a
|
|
135
|
+
* contract). Lockstep mirror of `isExternalOrigin` in `type-inferrer.ts`;
|
|
136
|
+
* `machinery-indicator-mirror.test.ts` guards the pair.
|
|
137
|
+
*/
|
|
138
|
+
export function isExternalOrigin(filePath) {
|
|
139
|
+
const normalized = filePath.replace(/\\/g, '/');
|
|
140
|
+
return (normalized.includes('/node_modules/') ||
|
|
141
|
+
/\/lib\.[^/]*\.d\.ts$/.test(normalized) ||
|
|
142
|
+
normalized.includes('/.carrick/deno/'));
|
|
143
|
+
}
|
|
144
|
+
/**
|
|
145
|
+
* True when the symbol is declared in a runtime/library origin. Works on a bare
|
|
146
|
+
* checkout: the DOM `Response`/`Request` resolve from the bundled
|
|
147
|
+
* `lib.dom.d.ts` even with no installed dependencies.
|
|
133
148
|
*/
|
|
134
149
|
function symbolIsLibOrExternalOrigin(checker, symbol) {
|
|
135
150
|
if (!symbol) {
|
|
136
151
|
return false;
|
|
137
152
|
}
|
|
138
|
-
const isExternalPath = (filePath) => {
|
|
139
|
-
const normalized = filePath.replace(/\\/g, '/');
|
|
140
|
-
return (normalized.includes('/node_modules/') ||
|
|
141
|
-
/\/lib\.[^/]*\.d\.ts$/.test(normalized));
|
|
142
|
-
};
|
|
143
153
|
for (const decl of symbol.getDeclarations() ?? []) {
|
|
144
|
-
if (
|
|
154
|
+
if (isExternalOrigin(decl.getSourceFile().fileName)) {
|
|
145
155
|
return true;
|
|
146
156
|
}
|
|
147
157
|
}
|
|
@@ -38,6 +38,24 @@ import type { InferRequestItem, InferResult, ExtractionConfig } from './types.js
|
|
|
38
38
|
* test (`machinery-indicator-mirror.test.ts`) asserts the two sets stay equal.
|
|
39
39
|
*/
|
|
40
40
|
export declare const MACHINERY_MEMBER_INDICATORS: Set<string>;
|
|
41
|
+
/**
|
|
42
|
+
* True when a declaration file path is runtime/library origin rather than user
|
|
43
|
+
* source: a TypeScript lib (`lib.dom.d.ts`), an installed package, or the
|
|
44
|
+
* runtime declarations Carrick itself materialises for a non-Node runtime
|
|
45
|
+
* (`.carrick/deno/<hash>/runtime.d.ts`, and the remote modules cached beside
|
|
46
|
+
* it).
|
|
47
|
+
*
|
|
48
|
+
* The third case is carrick#1017: on a Deno service the platform `Response`
|
|
49
|
+
* is declared in Carrick's own generated runtime file, which is neither a
|
|
50
|
+
* `lib.*.d.ts` nor under `node_modules`, so the machinery origin gate stayed
|
|
51
|
+
* shut and every route published the fetch `Response` wrapper as its response
|
|
52
|
+
* contract. The path is Carrick's own artefact, not a framework name.
|
|
53
|
+
*
|
|
54
|
+
* Kept in lockstep with `capture/machinery.ts`'s copy (the capture seam forbids
|
|
55
|
+
* sharing a module across it); `machinery-indicator-mirror.test.ts` guards the
|
|
56
|
+
* pair.
|
|
57
|
+
*/
|
|
58
|
+
export declare function isExternalOrigin(filePath: string): boolean;
|
|
41
59
|
/**
|
|
42
60
|
* Options for TypeInferrer construction
|
|
43
61
|
*/
|
|
@@ -125,6 +143,13 @@ export declare class TypeInferrer {
|
|
|
125
143
|
private extractBindingFromCall;
|
|
126
144
|
private extractBindingNames;
|
|
127
145
|
private getPrimaryBindingNode;
|
|
146
|
+
/**
|
|
147
|
+
* The zero-argument `.json()` body read on this identifier — `res` in
|
|
148
|
+
* `await res.json()` — or `undefined` (carrick#1017). The JSON body of an
|
|
149
|
+
* HTTP response is read exactly this way whatever produced the response, so
|
|
150
|
+
* the shape is structural, not a framework's name.
|
|
151
|
+
*/
|
|
152
|
+
private bodyReadOnReceiver;
|
|
128
153
|
private collectDefUseNodes;
|
|
129
154
|
private expressionUsesNames;
|
|
130
155
|
private isIdentifierUsage;
|
|
@@ -243,10 +268,12 @@ export declare class TypeInferrer {
|
|
|
243
268
|
*/
|
|
244
269
|
private hasMachineryIndicatorThreshold;
|
|
245
270
|
/**
|
|
246
|
-
* True when the symbol is declared in a TypeScript lib file (`lib.*.d.ts`)
|
|
247
|
-
* under `node_modules
|
|
248
|
-
*
|
|
249
|
-
*
|
|
271
|
+
* True when the symbol is declared in a TypeScript lib file (`lib.*.d.ts`),
|
|
272
|
+
* under `node_modules`, or in the runtime declarations Carrick materialises
|
|
273
|
+
* for a non-Node runtime under `.carrick/deno/` — i.e. framework/runtime
|
|
274
|
+
* machinery, not user source. Works on a bare checkout: the DOM
|
|
275
|
+
* `Response`/`Request` resolve from the bundled `lib.dom.d.ts` even with no
|
|
276
|
+
* installed dependencies.
|
|
250
277
|
*/
|
|
251
278
|
private symbolIsLibOrExternalOrigin;
|
|
252
279
|
/**
|
|
@@ -371,6 +398,18 @@ export declare class TypeInferrer {
|
|
|
371
398
|
* expression yields an argument type this may read.
|
|
372
399
|
*/
|
|
373
400
|
private recoverPayloadFromReturnStatements;
|
|
401
|
+
/**
|
|
402
|
+
* The response payload carried by a set of response-carrying expressions —
|
|
403
|
+
* a handler's return expressions, or the single expression a producer
|
|
404
|
+
* response locator resolved to (carrick#1017).
|
|
405
|
+
*
|
|
406
|
+
* Each expression is first split into its BRANCHES, so a route that answers
|
|
407
|
+
* `found ? json(entry) : json(problem, { status: 404 })` contributes both
|
|
408
|
+
* sides: the payload rule reads each one, the error branch drops out on its
|
|
409
|
+
* stated status, and what survives is joined as a union exactly as several
|
|
410
|
+
* return statements are.
|
|
411
|
+
*/
|
|
412
|
+
private recoverPayloadFromResponseExpressions;
|
|
374
413
|
/**
|
|
375
414
|
* The expressions a function returns, excluding returns belonging to nested
|
|
376
415
|
* functions (a `.map(x => …)` callback returns a row, not the response).
|
|
@@ -473,6 +512,17 @@ export declare class TypeInferrer {
|
|
|
473
512
|
* a shared response contract without widening the literal.
|
|
474
513
|
*/
|
|
475
514
|
private statedTypeNodeOf;
|
|
515
|
+
/**
|
|
516
|
+
* True when an object literal argument is response INIT rather than a body:
|
|
517
|
+
* every property it declares is one the standard `ResponseInit` declares
|
|
518
|
+
* (`status`, `statusText`, `headers`), and it states at least one of them as
|
|
519
|
+
* init really does — a numeric status in the HTTP range, or headers.
|
|
520
|
+
*
|
|
521
|
+
* A payload that merely has a `status` member of its own (`{ status: "ok",
|
|
522
|
+
* service: "ledger" }`) declares members init does not, or states `status` as
|
|
523
|
+
* something other than an HTTP code, so it stays a payload.
|
|
524
|
+
*/
|
|
525
|
+
private statesResponseInit;
|
|
476
526
|
/**
|
|
477
527
|
* True when an argument states a >= 400 status: an options object carrying
|
|
478
528
|
* `status`/`statusCode`, or a bare status code (`send(body, 404)`).
|
|
@@ -498,6 +548,18 @@ export declare class TypeInferrer {
|
|
|
498
548
|
* because the annotation is exactly what the recovery wants to read.
|
|
499
549
|
*/
|
|
500
550
|
private peelTransparentExpression;
|
|
551
|
+
/**
|
|
552
|
+
* The branches a single response expression can take — one entry for a plain
|
|
553
|
+
* expression, one per side of a conditional (carrick#1017).
|
|
554
|
+
*
|
|
555
|
+
* `return entry ? json(entry) : json({ error }, { status: 404 })` is one
|
|
556
|
+
* return statement holding two responses. Read whole, its type is the
|
|
557
|
+
* transport wrapper both sides share and the payload is lost; read per
|
|
558
|
+
* branch, each side goes through the ordinary payload rule, which is also
|
|
559
|
+
* what drops the error branch on its stated status. Nested conditionals are
|
|
560
|
+
* followed to a small depth; anything else is returned as itself.
|
|
561
|
+
*/
|
|
562
|
+
private expandResponseBranches;
|
|
501
563
|
/**
|
|
502
564
|
* The deterministic source symbol of a resolved type (`Payment` for a payload
|
|
503
565
|
* typed `Payment`), or `undefined` when there is no single user-defined
|
|
@@ -112,6 +112,67 @@ export const MACHINERY_MEMBER_INDICATORS = new Set([
|
|
|
112
112
|
]);
|
|
113
113
|
/** Machinery needs at least this many indicator members to be recognized. */
|
|
114
114
|
const MACHINERY_INDICATOR_THRESHOLD = 3;
|
|
115
|
+
/**
|
|
116
|
+
* True when a binary expression COMPARES rather than assigns or computes: its
|
|
117
|
+
* value is a `boolean` the operator manufactured, never a payload
|
|
118
|
+
* (carrick#1017).
|
|
119
|
+
*/
|
|
120
|
+
function isComparisonExpression(expr) {
|
|
121
|
+
switch (expr.getOperatorToken().getKind()) {
|
|
122
|
+
case SyntaxKind.EqualsEqualsToken:
|
|
123
|
+
case SyntaxKind.EqualsEqualsEqualsToken:
|
|
124
|
+
case SyntaxKind.ExclamationEqualsToken:
|
|
125
|
+
case SyntaxKind.ExclamationEqualsEqualsToken:
|
|
126
|
+
case SyntaxKind.LessThanToken:
|
|
127
|
+
case SyntaxKind.LessThanEqualsToken:
|
|
128
|
+
case SyntaxKind.GreaterThanToken:
|
|
129
|
+
case SyntaxKind.GreaterThanEqualsToken:
|
|
130
|
+
case SyntaxKind.InstanceOfKeyword:
|
|
131
|
+
case SyntaxKind.InKeyword:
|
|
132
|
+
return true;
|
|
133
|
+
default:
|
|
134
|
+
return false;
|
|
135
|
+
}
|
|
136
|
+
}
|
|
137
|
+
/**
|
|
138
|
+
* How deep the response-branch split (carrick#1017) follows nested
|
|
139
|
+
* conditionals. Two levels covers `a ? x : b ? y : z`; deeper nesting is a
|
|
140
|
+
* dispatch table, not a response contract.
|
|
141
|
+
*/
|
|
142
|
+
const RESPONSE_BRANCH_MAX_DEPTH = 2;
|
|
143
|
+
/**
|
|
144
|
+
* The members the standard response-init object declares. An argument beside
|
|
145
|
+
* the body whose properties are all from this set is telling the platform how
|
|
146
|
+
* to send the response, not what to send (carrick#1017).
|
|
147
|
+
*/
|
|
148
|
+
const RESPONSE_INIT_MEMBER_NAMES = new Set([
|
|
149
|
+
'status',
|
|
150
|
+
'statusText',
|
|
151
|
+
'headers',
|
|
152
|
+
]);
|
|
153
|
+
/**
|
|
154
|
+
* True when a declaration file path is runtime/library origin rather than user
|
|
155
|
+
* source: a TypeScript lib (`lib.dom.d.ts`), an installed package, or the
|
|
156
|
+
* runtime declarations Carrick itself materialises for a non-Node runtime
|
|
157
|
+
* (`.carrick/deno/<hash>/runtime.d.ts`, and the remote modules cached beside
|
|
158
|
+
* it).
|
|
159
|
+
*
|
|
160
|
+
* The third case is carrick#1017: on a Deno service the platform `Response`
|
|
161
|
+
* is declared in Carrick's own generated runtime file, which is neither a
|
|
162
|
+
* `lib.*.d.ts` nor under `node_modules`, so the machinery origin gate stayed
|
|
163
|
+
* shut and every route published the fetch `Response` wrapper as its response
|
|
164
|
+
* contract. The path is Carrick's own artefact, not a framework name.
|
|
165
|
+
*
|
|
166
|
+
* Kept in lockstep with `capture/machinery.ts`'s copy (the capture seam forbids
|
|
167
|
+
* sharing a module across it); `machinery-indicator-mirror.test.ts` guards the
|
|
168
|
+
* pair.
|
|
169
|
+
*/
|
|
170
|
+
export function isExternalOrigin(filePath) {
|
|
171
|
+
const normalized = filePath.replace(/\\/g, '/');
|
|
172
|
+
return (normalized.includes('/node_modules/') ||
|
|
173
|
+
/\/lib\.[^/]*\.d\.ts$/.test(normalized) ||
|
|
174
|
+
normalized.includes('/.carrick/deno/'));
|
|
175
|
+
}
|
|
115
176
|
/**
|
|
116
177
|
* How far the response-helper recovery (carrick#631) descends through nested
|
|
117
178
|
* calls looking for the payload argument. `cors(request, json(payload))` needs
|
|
@@ -566,6 +627,44 @@ export class TypeInferrer {
|
|
|
566
627
|
return this.buildFunctionReturnInferredType(request, registryHandler, extractionConfig, true);
|
|
567
628
|
}
|
|
568
629
|
}
|
|
630
|
+
// carrick#1017: the located expression evaluates to the transport wrapper
|
|
631
|
+
// itself — `Response.json(entry)`, `new Response(JSON.stringify(entry))`,
|
|
632
|
+
// `ctx.json(entry)` all have the platform `Response` as their type, and a
|
|
633
|
+
// conditional over two of them has it on both sides. Publishing that type
|
|
634
|
+
// reports the fetch API (`headers`, `ok`, `status`, `json(): Promise<any>`)
|
|
635
|
+
// as the endpoint's response contract, and every consumer reading the real
|
|
636
|
+
// body is then told its type is missing those members. The body is in the
|
|
637
|
+
// ARGUMENT, so read it there — through the same payload rule the
|
|
638
|
+
// function-return path uses, which splits the conditional, drops the
|
|
639
|
+
// branch whose sibling options object states a >= 400 status, and joins
|
|
640
|
+
// what survives. When it recovers nothing the row stays unresolved below:
|
|
641
|
+
// no contract is published off the wrapper either way.
|
|
642
|
+
const locatedType = node.getType();
|
|
643
|
+
const locatedUnwrap = this.unwrapTypeWithConfig(locatedType, node, extractionConfig);
|
|
644
|
+
const machineryAnchor = locatedUnwrap.verifiedMachinery === true ||
|
|
645
|
+
(!locatedUnwrap.wasUnwrapped &&
|
|
646
|
+
this.typeIsOrContainsResponseMachinery(this.unwrapPromiseType(locatedType)));
|
|
647
|
+
if (machineryAnchor) {
|
|
648
|
+
const recovered = this.recoverPayloadFromResponseExpressions([node], false);
|
|
649
|
+
if (recovered) {
|
|
650
|
+
this.log(`Response payload at ${request.file_path}:${request.line_number} is the ` +
|
|
651
|
+
"transport wrapper; recovered the body from the response call's argument");
|
|
652
|
+
const recoveredAnchor = recovered.anchorType
|
|
653
|
+
? this.unwrapArrayLevels(recovered.anchorType)
|
|
654
|
+
: undefined;
|
|
655
|
+
const resolvedSymbol = recoveredAnchor
|
|
656
|
+
? this.primaryTypeSymbol(recoveredAnchor.element)
|
|
657
|
+
: undefined;
|
|
658
|
+
const stated = recovered.statedTypeNode;
|
|
659
|
+
const writtenAnchor = resolvedSymbol === undefined && stated
|
|
660
|
+
? this.writtenAnchorOf(stated)
|
|
661
|
+
: undefined;
|
|
662
|
+
return this.createInferredType(request, recovered.typeString, recovered.isExplicit, this.getNodeLocation(recovered.node), undefined, resolvedSymbol ?? writtenAnchor?.symbol, writtenAnchor ? writtenAnchor.depth : recoveredAnchor?.depth, writtenAnchor?.source);
|
|
663
|
+
}
|
|
664
|
+
this.log(`Response payload at ${request.file_path}:${request.line_number} is the ` +
|
|
665
|
+
'transport wrapper and no branch states a body; leaving it unresolved');
|
|
666
|
+
return null;
|
|
667
|
+
}
|
|
569
668
|
// The resolved node IS the payload subexpression in the MVP schema.
|
|
570
669
|
// Transitional fallback: if a caller still supplies a bare call expression
|
|
571
670
|
// (e.g., `res.json(users)`), drill to its first argument. No method-name list.
|
|
@@ -610,10 +709,11 @@ export class TypeInferrer {
|
|
|
610
709
|
}
|
|
611
710
|
else {
|
|
612
711
|
const resolved = this.unwrapPromiseType(payloadType);
|
|
613
|
-
//
|
|
614
|
-
//
|
|
615
|
-
//
|
|
616
|
-
//
|
|
712
|
+
// The carrick#371 fail-closed guard. The LOCATED expression is handled
|
|
713
|
+
// above, where a wrapper yields its body; this catches the argument the
|
|
714
|
+
// drill reached being machinery itself (`hand(request, upstream)`),
|
|
715
|
+
// which no response call carries a body for. Abstain rather than emit
|
|
716
|
+
// the machinery.
|
|
617
717
|
if (this.typeIsOrContainsResponseMachinery(resolved)) {
|
|
618
718
|
this.log(`Response payload at ${request.file_path}:${request.line_number} is or contains ` +
|
|
619
719
|
'framework machinery (Response/Request-shaped); abstaining rather than ' +
|
|
@@ -940,6 +1040,28 @@ export class TypeInferrer {
|
|
|
940
1040
|
for (const expr of candidates) {
|
|
941
1041
|
if (expr.getStart() <= startPos)
|
|
942
1042
|
continue;
|
|
1043
|
+
// carrick#1017: a comparison is `boolean` by construction, so it is
|
|
1044
|
+
// never the payload a call yields. `const res = await fetch(url); if
|
|
1045
|
+
// (res.status === 404) return null; return await res.json() as Entry`
|
|
1046
|
+
// otherwise ends on the status check — the expected response type of
|
|
1047
|
+
// that call was published as `boolean`, and the producer's real body
|
|
1048
|
+
// was reported as not assignable to it.
|
|
1049
|
+
if (Node.isBinaryExpression(expr) && isComparisonExpression(expr)) {
|
|
1050
|
+
continue;
|
|
1051
|
+
}
|
|
1052
|
+
// The body a caller reads OUT of a transport response IS the payload
|
|
1053
|
+
// of the call that produced it: `res.json()` on the tracked binding,
|
|
1054
|
+
// with whatever `as T` the source states around it read by
|
|
1055
|
+
// `extractExplicitTypeFromAncestor` below. A bare identifier never
|
|
1056
|
+
// matches `expressionUsesNames` (it tests DESCENDANTS), so without
|
|
1057
|
+
// this the body read is invisible to the def-use walk.
|
|
1058
|
+
if (Node.isIdentifier(expr) && this.isIdentifierUsage(expr, currentNames)) {
|
|
1059
|
+
const bodyRead = this.bodyReadOnReceiver(expr);
|
|
1060
|
+
if (bodyRead) {
|
|
1061
|
+
lastNode = bodyRead;
|
|
1062
|
+
continue;
|
|
1063
|
+
}
|
|
1064
|
+
}
|
|
943
1065
|
if (Node.isVariableDeclaration(expr)) {
|
|
944
1066
|
const initializer = expr.getInitializer();
|
|
945
1067
|
if (initializer &&
|
|
@@ -1023,6 +1145,29 @@ export class TypeInferrer {
|
|
|
1023
1145
|
}
|
|
1024
1146
|
return nameNode;
|
|
1025
1147
|
}
|
|
1148
|
+
/**
|
|
1149
|
+
* The zero-argument `.json()` body read on this identifier — `res` in
|
|
1150
|
+
* `await res.json()` — or `undefined` (carrick#1017). The JSON body of an
|
|
1151
|
+
* HTTP response is read exactly this way whatever produced the response, so
|
|
1152
|
+
* the shape is structural, not a framework's name.
|
|
1153
|
+
*/
|
|
1154
|
+
bodyReadOnReceiver(identifier) {
|
|
1155
|
+
const access = identifier.getParent();
|
|
1156
|
+
if (!access ||
|
|
1157
|
+
!Node.isPropertyAccessExpression(access) ||
|
|
1158
|
+
access.getExpression() !== identifier ||
|
|
1159
|
+
access.getName() !== 'json') {
|
|
1160
|
+
return undefined;
|
|
1161
|
+
}
|
|
1162
|
+
const call = access.getParent();
|
|
1163
|
+
if (!call ||
|
|
1164
|
+
!Node.isCallExpression(call) ||
|
|
1165
|
+
call.getExpression() !== access ||
|
|
1166
|
+
call.getArguments().length > 0) {
|
|
1167
|
+
return undefined;
|
|
1168
|
+
}
|
|
1169
|
+
return call;
|
|
1170
|
+
}
|
|
1026
1171
|
collectDefUseNodes(func) {
|
|
1027
1172
|
const candidates = [];
|
|
1028
1173
|
func.forEachDescendant((node) => {
|
|
@@ -1508,22 +1653,19 @@ export class TypeInferrer {
|
|
|
1508
1653
|
return false;
|
|
1509
1654
|
}
|
|
1510
1655
|
/**
|
|
1511
|
-
* True when the symbol is declared in a TypeScript lib file (`lib.*.d.ts`)
|
|
1512
|
-
* under `node_modules
|
|
1513
|
-
*
|
|
1514
|
-
*
|
|
1656
|
+
* True when the symbol is declared in a TypeScript lib file (`lib.*.d.ts`),
|
|
1657
|
+
* under `node_modules`, or in the runtime declarations Carrick materialises
|
|
1658
|
+
* for a non-Node runtime under `.carrick/deno/` — i.e. framework/runtime
|
|
1659
|
+
* machinery, not user source. Works on a bare checkout: the DOM
|
|
1660
|
+
* `Response`/`Request` resolve from the bundled `lib.dom.d.ts` even with no
|
|
1661
|
+
* installed dependencies.
|
|
1515
1662
|
*/
|
|
1516
1663
|
symbolIsLibOrExternalOrigin(symbol) {
|
|
1517
1664
|
if (!symbol) {
|
|
1518
1665
|
return false;
|
|
1519
1666
|
}
|
|
1520
|
-
const isExternalPath = (filePath) => {
|
|
1521
|
-
const normalized = filePath.replace(/\\/g, '/');
|
|
1522
|
-
return (normalized.includes('/node_modules/') ||
|
|
1523
|
-
/\/lib\.[^/]*\.d\.ts$/.test(normalized));
|
|
1524
|
-
};
|
|
1525
1667
|
for (const decl of symbol.getDeclarations()) {
|
|
1526
|
-
if (
|
|
1668
|
+
if (isExternalOrigin(decl.getSourceFile().getFilePath())) {
|
|
1527
1669
|
return true;
|
|
1528
1670
|
}
|
|
1529
1671
|
}
|
|
@@ -1842,8 +1984,22 @@ export class TypeInferrer {
|
|
|
1842
1984
|
* expression yields an argument type this may read.
|
|
1843
1985
|
*/
|
|
1844
1986
|
recoverPayloadFromReturnStatements(func, statedOnly) {
|
|
1987
|
+
return this.recoverPayloadFromResponseExpressions(this.responseReturnedExpressions(func), statedOnly);
|
|
1988
|
+
}
|
|
1989
|
+
/**
|
|
1990
|
+
* The response payload carried by a set of response-carrying expressions —
|
|
1991
|
+
* a handler's return expressions, or the single expression a producer
|
|
1992
|
+
* response locator resolved to (carrick#1017).
|
|
1993
|
+
*
|
|
1994
|
+
* Each expression is first split into its BRANCHES, so a route that answers
|
|
1995
|
+
* `found ? json(entry) : json(problem, { status: 404 })` contributes both
|
|
1996
|
+
* sides: the payload rule reads each one, the error branch drops out on its
|
|
1997
|
+
* stated status, and what survives is joined as a union exactly as several
|
|
1998
|
+
* return statements are.
|
|
1999
|
+
*/
|
|
2000
|
+
recoverPayloadFromResponseExpressions(expressions, statedOnly) {
|
|
1845
2001
|
const candidates = [];
|
|
1846
|
-
const returned = this.
|
|
2002
|
+
const returned = expressions.flatMap((expression) => this.expandResponseBranches(expression, 0));
|
|
1847
2003
|
const serialisers = this.calleesProvenSerialiser(returned);
|
|
1848
2004
|
for (const expression of returned) {
|
|
1849
2005
|
const payloadNode = this.responseHelperPayloadNode(expression, 0, statedOnly, serialisers);
|
|
@@ -2015,8 +2171,9 @@ export class TypeInferrer {
|
|
|
2015
2171
|
* when the compiler has one, else the callee's source text.
|
|
2016
2172
|
*/
|
|
2017
2173
|
calleeIdentity(call) {
|
|
2018
|
-
if (!Node.isCallExpression(call))
|
|
2174
|
+
if (!Node.isCallExpression(call) && !Node.isNewExpression(call)) {
|
|
2019
2175
|
return undefined;
|
|
2176
|
+
}
|
|
2020
2177
|
const callee = call.getExpression();
|
|
2021
2178
|
const symbol = callee.getSymbol();
|
|
2022
2179
|
if (symbol)
|
|
@@ -2046,8 +2203,13 @@ export class TypeInferrer {
|
|
|
2046
2203
|
if (depth > RESPONSE_HELPER_MAX_DEPTH)
|
|
2047
2204
|
return undefined;
|
|
2048
2205
|
const call = this.peelTransparentExpression(expression);
|
|
2049
|
-
|
|
2206
|
+
// A `new` of the platform response constructor carries its body exactly
|
|
2207
|
+
// where a call does — `new Response(JSON.stringify(payload), { status })`
|
|
2208
|
+
// is the same statement as `Response.json(payload, { status })`
|
|
2209
|
+
// (carrick#1017). Both node kinds answer `getArguments()`.
|
|
2210
|
+
if (!Node.isCallExpression(call) && !Node.isNewExpression(call)) {
|
|
2050
2211
|
return undefined;
|
|
2212
|
+
}
|
|
2051
2213
|
const args = call.getArguments().map((a) => this.peelTransparentExpression(a));
|
|
2052
2214
|
if (args.length === 0)
|
|
2053
2215
|
return undefined;
|
|
@@ -2056,7 +2218,14 @@ export class TypeInferrer {
|
|
|
2056
2218
|
const identity = this.calleeIdentity(call);
|
|
2057
2219
|
const proven = identity !== undefined && serialisers.has(identity);
|
|
2058
2220
|
const effectiveStatedOnly = statedOnly && !proven;
|
|
2059
|
-
for (const arg of args) {
|
|
2221
|
+
for (const [index, arg] of args.entries()) {
|
|
2222
|
+
// An options object BESIDE the body states how to send it, never what is
|
|
2223
|
+
// sent (carrick#1017): `new Response(null, { status: 204 })` has no body
|
|
2224
|
+
// at all, and reading its second argument would publish `{ status:
|
|
2225
|
+
// number }` as the endpoint's contract. The first argument is the body
|
|
2226
|
+
// by construction, so the rule applies only past it.
|
|
2227
|
+
if (index > 0 && this.statesResponseInit(arg))
|
|
2228
|
+
continue;
|
|
2060
2229
|
const candidate = this.unwrapJsonStringifyArg(arg);
|
|
2061
2230
|
if (this.nodeCarriesPayloadContract(candidate, effectiveStatedOnly)) {
|
|
2062
2231
|
return candidate;
|
|
@@ -2132,6 +2301,45 @@ export class TypeInferrer {
|
|
|
2132
2301
|
}
|
|
2133
2302
|
return undefined;
|
|
2134
2303
|
}
|
|
2304
|
+
/**
|
|
2305
|
+
* True when an object literal argument is response INIT rather than a body:
|
|
2306
|
+
* every property it declares is one the standard `ResponseInit` declares
|
|
2307
|
+
* (`status`, `statusText`, `headers`), and it states at least one of them as
|
|
2308
|
+
* init really does — a numeric status in the HTTP range, or headers.
|
|
2309
|
+
*
|
|
2310
|
+
* A payload that merely has a `status` member of its own (`{ status: "ok",
|
|
2311
|
+
* service: "ledger" }`) declares members init does not, or states `status` as
|
|
2312
|
+
* something other than an HTTP code, so it stays a payload.
|
|
2313
|
+
*/
|
|
2314
|
+
statesResponseInit(node) {
|
|
2315
|
+
if (!Node.isObjectLiteralExpression(node))
|
|
2316
|
+
return false;
|
|
2317
|
+
const properties = node.getProperties();
|
|
2318
|
+
if (properties.length === 0)
|
|
2319
|
+
return false;
|
|
2320
|
+
let statesInit = false;
|
|
2321
|
+
for (const property of properties) {
|
|
2322
|
+
if (!Node.isPropertyAssignment(property))
|
|
2323
|
+
return false;
|
|
2324
|
+
const name = property.getName();
|
|
2325
|
+
if (!RESPONSE_INIT_MEMBER_NAMES.has(name))
|
|
2326
|
+
return false;
|
|
2327
|
+
const initializer = property.getInitializer();
|
|
2328
|
+
if (!initializer)
|
|
2329
|
+
return false;
|
|
2330
|
+
if (name === 'headers') {
|
|
2331
|
+
statesInit = true;
|
|
2332
|
+
continue;
|
|
2333
|
+
}
|
|
2334
|
+
if (name === 'status' && Node.isNumericLiteral(initializer)) {
|
|
2335
|
+
const value = initializer.getLiteralValue();
|
|
2336
|
+
if (Number.isInteger(value) && value >= 100 && value <= 599) {
|
|
2337
|
+
statesInit = true;
|
|
2338
|
+
}
|
|
2339
|
+
}
|
|
2340
|
+
}
|
|
2341
|
+
return statesInit;
|
|
2342
|
+
}
|
|
2135
2343
|
/**
|
|
2136
2344
|
* True when an argument states a >= 400 status: an options object carrying
|
|
2137
2345
|
* `status`/`statusCode`, or a bare status code (`send(body, 404)`).
|
|
@@ -2201,6 +2409,29 @@ export class TypeInferrer {
|
|
|
2201
2409
|
}
|
|
2202
2410
|
return current;
|
|
2203
2411
|
}
|
|
2412
|
+
/**
|
|
2413
|
+
* The branches a single response expression can take — one entry for a plain
|
|
2414
|
+
* expression, one per side of a conditional (carrick#1017).
|
|
2415
|
+
*
|
|
2416
|
+
* `return entry ? json(entry) : json({ error }, { status: 404 })` is one
|
|
2417
|
+
* return statement holding two responses. Read whole, its type is the
|
|
2418
|
+
* transport wrapper both sides share and the payload is lost; read per
|
|
2419
|
+
* branch, each side goes through the ordinary payload rule, which is also
|
|
2420
|
+
* what drops the error branch on its stated status. Nested conditionals are
|
|
2421
|
+
* followed to a small depth; anything else is returned as itself.
|
|
2422
|
+
*/
|
|
2423
|
+
expandResponseBranches(node, depth) {
|
|
2424
|
+
if (depth > RESPONSE_BRANCH_MAX_DEPTH)
|
|
2425
|
+
return [node];
|
|
2426
|
+
const expression = this.peelTransparentExpression(node);
|
|
2427
|
+
if (Node.isConditionalExpression(expression)) {
|
|
2428
|
+
return [
|
|
2429
|
+
...this.expandResponseBranches(expression.getWhenTrue(), depth + 1),
|
|
2430
|
+
...this.expandResponseBranches(expression.getWhenFalse(), depth + 1),
|
|
2431
|
+
];
|
|
2432
|
+
}
|
|
2433
|
+
return [expression];
|
|
2434
|
+
}
|
|
2204
2435
|
/**
|
|
2205
2436
|
* The deterministic source symbol of a resolved type (`Payment` for a payload
|
|
2206
2437
|
* typed `Payment`), or `undefined` when there is no single user-defined
|