carrick 0.3.99 → 0.3.101

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/dist/scan.d.ts CHANGED
@@ -60,6 +60,11 @@ export type Marker = {
60
60
  } | {
61
61
  kind: "notice";
62
62
  text: string;
63
+ }
64
+ /** The wait a notice described is over (carrick#1674). */
65
+ | {
66
+ kind: "noticeEnded";
67
+ text: string;
63
68
  };
64
69
  /**
65
70
  * Read one line of a build's output as a marker, or answer null.
@@ -157,6 +162,12 @@ export declare class ScanRender {
157
162
  private close;
158
163
  private progress;
159
164
  private notice;
165
+ /**
166
+ * The wait a notice described is over: take it off the line, but only while
167
+ * it is still the notice showing, so one wait's end never clears another
168
+ * notice (carrick#1674). An end with no open phase says nothing.
169
+ */
170
+ private noticeEnded;
160
171
  /** Say where an open phase is while it runs, without ending it. */
161
172
  private redraw;
162
173
  private summary;
package/dist/scan.js CHANGED
@@ -79,6 +79,8 @@ export function parseMarker(line) {
79
79
  const notice = payload;
80
80
  if (typeof notice.text !== "string")
81
81
  return null;
82
+ if (notice.ended === true)
83
+ return { kind: "noticeEnded", text: notice.text };
82
84
  return { kind: "notice", text: notice.text };
83
85
  }
84
86
  return null;
@@ -238,6 +240,8 @@ export class ScanRender {
238
240
  this.progress(marker.update);
239
241
  else if (marker.kind === "notice")
240
242
  this.notice(marker.text);
243
+ else if (marker.kind === "noticeEnded")
244
+ this.noticeEnded(marker.text);
241
245
  else
242
246
  this.summary(marker.summary);
243
247
  return true;
@@ -326,6 +330,17 @@ export class ScanRender {
326
330
  this.open.notice = text;
327
331
  this.redraw();
328
332
  }
333
+ /**
334
+ * The wait a notice described is over: take it off the line, but only while
335
+ * it is still the notice showing, so one wait's end never clears another
336
+ * notice (carrick#1674). An end with no open phase says nothing.
337
+ */
338
+ noticeEnded(text) {
339
+ if (!this.open || this.open.notice !== text)
340
+ return;
341
+ this.open.notice = null;
342
+ this.redraw();
343
+ }
329
344
  /** Say where an open phase is while it runs, without ending it. */
330
345
  redraw() {
331
346
  const open = this.open;
package/dist/scan.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"scan.js","sourceRoot":"","sources":["../src/scan.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"scan.js","sourceRoot":"","sources":["../src/scan.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.99",
3
+ "version": "0.3.101",
4
4
  "description": "Maps your entire TypeScript codebase across services and repositories, giving AI agents full context on existing types, routes, and function behaviours over MCP before they write duplicate or breaking code.",
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.99",
62
- "@carrick-tools/cli-darwin-x64": "0.3.99",
63
- "@carrick-tools/cli-linux-arm64": "0.3.99",
64
- "@carrick-tools/cli-linux-x64": "0.3.99",
65
- "@carrick-tools/cli-win32-x64": "0.3.99"
61
+ "@carrick-tools/cli-darwin-arm64": "0.3.101",
62
+ "@carrick-tools/cli-darwin-x64": "0.3.101",
63
+ "@carrick-tools/cli-linux-arm64": "0.3.101",
64
+ "@carrick-tools/cli-linux-x64": "0.3.101",
65
+ "@carrick-tools/cli-win32-x64": "0.3.101"
66
66
  },
67
67
  "devDependencies": {
68
68
  "@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.99",
4
+ "version": "0.3.101",
5
5
  "author": {
6
6
  "name": "Carrick",
7
7
  "email": "hello@carrick.tools"
@@ -21,7 +21,7 @@ import { MonorepoBuilder } from './monorepo-builder.js';
21
21
  import { DefinitionResolver } from './definition-resolver.js';
22
22
  import { captureStub, findDisqualifyingTopTypes, jsonWireDeclarations, runCheck, } from './capture/index.js';
23
23
  import { Retyper } from './retype.js';
24
- import { ClientSemanticsVerifier } from './client-semantics.js';
24
+ import { LibraryClaimsVerifier, httpCheck } from './library-claims.js';
25
25
  // ===========================================================================
26
26
  // Module-level state
27
27
  // ===========================================================================
@@ -74,7 +74,7 @@ function projectComponents(key = '') {
74
74
  // (`npm/carrick/package.json`) resolves `typescript ^5.8.0` unpinned,
75
75
  // so an install can pair ts-morph's copy with a newer 5.x.
76
76
  retyper: new Retyper(project, typeInferrer, jsonWireDeclarations, findDisqualifyingTopTypes),
77
- semanticsVerifier: new ClientSemanticsVerifier(project),
77
+ claimsVerifier: new LibraryClaimsVerifier(project),
78
78
  };
79
79
  components.set(key, built);
80
80
  }
@@ -382,22 +382,25 @@ function handleRetypeCheck(request) {
382
382
  }
383
383
  }
384
384
  /**
385
- * How long one verify_client_semantics request may spend before the checks it
386
- * has not reached come back `unchecked` with reason `budget`. The first request
387
- * on a service may pay the program build, which counts against it; the checks
388
- * themselves are cheap. Well inside the scanner's 900s read deadline.
385
+ * How long one verify_client_semantics or verify_library_claims request may
386
+ * spend before the checks it has not reached come back `unchecked` with reason
387
+ * `budget`. The first request on a service may pay the program build, which
388
+ * counts against it; the checks themselves are cheap. Well inside the
389
+ * scanner's 900s read deadline.
389
390
  */
390
391
  const SEMANTICS_BUDGET_MS = 600_000;
391
392
  /**
392
- * Handle the 'verify_client_semantics' action - check library-semantics
393
- * claims against each package's type declarations (carrick#1564)
393
+ * Handle the 'verify_client_semantics' action - check HTTP client-library
394
+ * claims against each package's type declarations (carrick#1564). Each check
395
+ * is converted into the shared claim shape and answered by the same verifier
396
+ * as `verify_library_claims`, with the #1564 checks and reasons.
394
397
  */
395
398
  function handleVerifyClientSemantics(request) {
396
399
  try {
397
- const { semanticsVerifier } = projectComponents();
400
+ const { claimsVerifier } = projectComponents();
398
401
  const fromDir = path.resolve(projectLoader.getRepoRoot(), request.from_dir);
399
402
  log(`Verifying ${request.checks.length} client-semantics claim(s) from ${fromDir}`);
400
- const { semantics, modules } = semanticsVerifier.run(fromDir, request.checks, request.budget_ms ?? SEMANTICS_BUDGET_MS);
403
+ const { semantics, modules } = claimsVerifier.run(fromDir, request.checks.map(httpCheck), request.budget_ms ?? SEMANTICS_BUDGET_MS);
401
404
  return {
402
405
  request_id: request.request_id,
403
406
  status: 'success',
@@ -411,6 +414,53 @@ function handleVerifyClientSemantics(request) {
411
414
  return { request_id: request.request_id, status: 'error', errors: [error] };
412
415
  }
413
416
  }
417
+ /**
418
+ * Handle the 'verify_library_claims' action - check library claims of every
419
+ * role against each package's own declarations (carrick#1616). One verdict
420
+ * per check, in request order.
421
+ */
422
+ function handleVerifyLibraryClaims(request) {
423
+ const started = performance.now();
424
+ try {
425
+ const { claimsVerifier } = projectComponents();
426
+ const fromDir = path.resolve(projectLoader.getRepoRoot(), request.from_dir);
427
+ log(`Verifying ${request.checks.length} library claim(s) from ${fromDir}`);
428
+ const { semantics, modules } = claimsVerifier.run(fromDir, request.checks, request.budget_ms ?? SEMANTICS_BUDGET_MS);
429
+ return {
430
+ request_id: request.request_id,
431
+ status: 'success',
432
+ verdicts: semantics,
433
+ modules,
434
+ duration_ms: Math.round(performance.now() - started),
435
+ };
436
+ }
437
+ catch (err) {
438
+ const error = err instanceof Error ? err.message : String(err);
439
+ logError(`Library-claims check failed: ${error}`);
440
+ return { request_id: request.request_id, status: 'error', errors: [error] };
441
+ }
442
+ }
443
+ /** Entries a surface listing keeps per package when the request names no cap. */
444
+ const SURFACE_MAX_ENTRIES = 1000;
445
+ /**
446
+ * Handle the 'list_library_surface' action - each specifier's declared
447
+ * surface, read with the verifier's predicates, and the full-surface hash
448
+ * (carrick#1660).
449
+ */
450
+ function handleListLibrarySurface(request) {
451
+ try {
452
+ const { claimsVerifier } = projectComponents();
453
+ const fromDir = path.resolve(projectLoader.getRepoRoot(), request.from_dir);
454
+ log(`Listing the declared surface of ${request.packages.length} specifier(s) from ${fromDir}`);
455
+ const { surfaces, surface_sha256 } = claimsVerifier.listSurface(fromDir, request.packages, request.max_entries ?? SURFACE_MAX_ENTRIES, request.exports ?? {});
456
+ return { request_id: request.request_id, status: 'success', surfaces, surface_sha256 };
457
+ }
458
+ catch (err) {
459
+ const error = err instanceof Error ? err.message : String(err);
460
+ logError(`Surface listing failed: ${error}`);
461
+ return { request_id: request.request_id, status: 'error', errors: [error] };
462
+ }
463
+ }
414
464
  /**
415
465
  * Handle the 'build_workspace' action - build synthetic monorepo workspace
416
466
  */
@@ -563,6 +613,10 @@ function handleRequest(request) {
563
613
  return handleRetypeCheck(request);
564
614
  case 'verify_client_semantics':
565
615
  return handleVerifyClientSemantics(request);
616
+ case 'verify_library_claims':
617
+ return handleVerifyLibraryClaims(request);
618
+ case 'list_library_surface':
619
+ return handleListLibrarySurface(request);
566
620
  case 'health':
567
621
  return handleHealth(request);
568
622
  case 'shutdown':
@@ -0,0 +1,105 @@
1
+ /**
2
+ * `verify_library_claims` (carrick#1616) and `verify_client_semantics`
3
+ * (carrick#1564): check what a model said about a library against the
4
+ * package's own type declarations.
5
+ *
6
+ * A claim says what one export of a package does (its role, from a closed
7
+ * list) and where each part of a call through it sits: which member makes an
8
+ * instance and which option keys it reads, which member acts on the wire,
9
+ * which argument or key holds the name (a path, topic or event), the payload,
10
+ * the handler. The scanner reads call sites through a claim only when this
11
+ * check verified it, and a verified claim becomes a fact that can fail a pull
12
+ * request check. So a claim is `verified` only when the declarations say so
13
+ * positively. `failed` means the declarations resolved and contradict the
14
+ * claim; `unchecked` means they could not be read, or say nothing at the place
15
+ * the claim needs (`any`, `unknown`, `{}`, an unconstrained type parameter).
16
+ * The scanner drops both.
17
+ *
18
+ * One probe file, one set of resolution rules and one set of definitions
19
+ * ("declared", "accepts string", "says nothing") serve every role. The role
20
+ * alone picks which checks a claim needs (`ROLE_TABLE`): `http_client` keeps
21
+ * the #1564 checks and reasons exactly, so `verify_client_semantics` converts
22
+ * its checks into the shared shape (`httpCheck`) and answers through here;
23
+ * `broker`, `in_process_bus` and `socket` take the message checks, which add
24
+ * the contract's must-not-verify rules (a member only another package
25
+ * declares, a name slot beside a string slot the claim does not account for,
26
+ * a handler that says nothing). The wire is pinned on carrick#1564 (comment
27
+ * 5937606126, section 3), as contract amendment 2 (comment 5939543981)
28
+ * changes it: a maker's parts are slots, `of` is a receiver id, and a
29
+ * receiver a generic maker or scope builds is read at its declared
30
+ * type-parameter defaults.
31
+ *
32
+ * The export's type is read the way the service's own code would read it: a
33
+ * probe file in `from_dir` imports it, inside the service's program, under the
34
+ * service's compiler options. The declarations must be the installed
35
+ * package's: a `paths` alias or a `declare module` block the service writes
36
+ * for itself is not evidence about the library.
37
+ */
38
+ import { type Project } from 'ts-morph';
39
+ import type { LibraryCheck, LibrarySurface, SemanticsCheck, SemanticsModule, SemanticsResult } from './types.js';
40
+ export interface VerifyResult {
41
+ semantics: SemanticsResult[];
42
+ modules: SemanticsModule[];
43
+ }
44
+ /**
45
+ * A #1564 HTTP check in the shared shape. The conversion is one to one, so
46
+ * each claim keeps its own id and its own verdict:
47
+ * - `factory` is a `make` call of `member` whose base is the base key of the
48
+ * options at argument 0;
49
+ * - `verb` is a `request` op with a fixed method and the path at argument 0;
50
+ * - `verb_body` is the same op with the body at argument 1, or with an
51
+ * options object at argument 1 and the body as one of its keys;
52
+ * - `request` is a `request` op whose url and method keys sit on the config
53
+ * at argument 0, or whose path is argument 0 and method key sits on the
54
+ * options at argument 1; `request_body` adds the body key there.
55
+ */
56
+ export declare function httpCheck(check: SemanticsCheck): LibraryCheck;
57
+ export declare class LibraryClaimsVerifier {
58
+ private readonly project;
59
+ constructor(project: Project);
60
+ /**
61
+ * Judge every check, in request order, spending at most `budgetMs`. Checks
62
+ * the budget does not reach come back `unchecked` with reason `budget`.
63
+ * A check on an instance or a scope reads the maker or scope claims of the
64
+ * same request first, whatever their place in it.
65
+ */
66
+ run(fromDir: string, checks: LibraryCheck[], budgetMs: number): VerifyResult;
67
+ /**
68
+ * Each specifier's declared surface, read with the verifier's predicates
69
+ * (carrick#1660): every value export (or only those `only` names for the
70
+ * specifier), the receivers a claim can be read on, in the verifier's
71
+ * receiver grammar, and each receiver's callable members with their
72
+ * parameter slots. A runtime module (`node:events`) is listed from the
73
+ * runtime's types package, as the message roles read it. Capped at
74
+ * `maxEntries` per specifier, with the count dropped: every export and
75
+ * receiver is listed before any member name, and every member name before
76
+ * any signature, so the cap cuts signatures first and exports last.
77
+ *
78
+ * A receiver a maker builds is listed as the verifier reads it: built with
79
+ * no argument and no type argument, so a generic maker's instance is read
80
+ * at its declared type-parameter defaults (carrick#1696). That takes two
81
+ * programs. The first reads which receivers each export can make; the
82
+ * second adds the verifier's own build statement for each
83
+ * (`receiverExpression` on the export's `importLine`, read through
84
+ * `DeclarationReader.returnOf`) and lists from it.
85
+ *
86
+ * `surface_sha256` is the full-surface hash (see `fullSurfaceSha256`).
87
+ */
88
+ listSurface(fromDir: string, packages: string[], maxEntries: number, only?: Readonly<Record<string, string[]>>): ListedSurface;
89
+ /** `read` over a probe file holding `lines` in `fromDir`, removed again afterwards. */
90
+ private readProbe;
91
+ }
92
+ /** The answer to `list_library_surface`. */
93
+ export interface ListedSurface {
94
+ surfaces: LibrarySurface[];
95
+ surface_sha256: string;
96
+ }
97
+ /**
98
+ * The full-surface hash the shared library store keys on: sha256 of the JSON
99
+ * array of `[package, exports]` for every surface that listed at least one
100
+ * export, sorted by `package` (code unit order). A specifier that lists
101
+ * nothing (unresolved, local, no value exports) is left out, so asking for a
102
+ * subpath a version does not have changes nothing. Type text already names
103
+ * the request's directory as `<root>`.
104
+ */
105
+ export declare function fullSurfaceSha256(surfaces: readonly LibrarySurface[]): string;