@orkestrel/probe 0.0.27 → 0.0.29

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.
@@ -730,8 +730,12 @@ function matchesLiveProcess(id) {
730
730
  * Collects every regular file a target workspace holds, skipping the trees no inspection reads.
731
731
  *
732
732
  * @remarks
733
- * Skips a directory named `.git`, `dist`, or `node_modules` at any depth, and the directory
734
- * {@link TYPE_MIRROR} names, which would otherwise carry this package's own mirror into the walk. A
733
+ * Skips a directory named `.git`, `dist`, or `node_modules` at any depth. Of the workspace-root
734
+ * `tmp` directory it walks only `tmp/probes`: the scaffold tmp layout holds the runtime probes there
735
+ * and nothing else an inspection reads, so a consumer's ignored data under `tmp/` is never read or
736
+ * copied. The match is the lowercase `tmp` spelling exactly, and a `tmp` directory below the root is
737
+ * walked like any other. The directory {@link TYPE_MIRROR} names is skipped as well, so this
738
+ * package's own mirror stays out of the walk if it ever moves outside `tmp`. A
735
739
  * directory this host cannot list is skipped rather than raised, so one unreadable directory in a
736
740
  * consumer's tree is not a reason to refuse the whole walk. A symbolic link is not carried, whether
737
741
  * it names a file or a directory, so a file reached only through one is absent from the result; a
@@ -748,7 +752,9 @@ function matchesLiveProcess(id) {
748
752
  function collectWorkspaceFiles(workspace) {
749
753
  const excluded = normalizePath(resolveWorkspaceFile(workspace, _src_core.TYPE_MIRROR));
750
754
  const files = [];
751
- const directories = [(0, node_path.resolve)(workspace)];
755
+ const root = (0, node_path.resolve)(workspace);
756
+ const scratch = (0, node_path.join)(root, "tmp");
757
+ const directories = [root];
752
758
  while (directories.length > 0) {
753
759
  const directory = directories.pop();
754
760
  if (directory === void 0) break;
@@ -756,6 +762,7 @@ function collectWorkspaceFiles(workspace) {
756
762
  const entries = reading.success ? reading.value : [];
757
763
  for (const entry of entries) {
758
764
  if (entry.name === ".git" || entry.name === "dist" || entry.name === "node_modules") continue;
765
+ if (directory === scratch && entry.name !== "probes") continue;
759
766
  const path = (0, node_path.join)(directory, entry.name);
760
767
  if (entry.isDirectory()) {
761
768
  if (normalizePath(path) !== excluded) directories.push(path);
@@ -815,12 +822,12 @@ async function guardStage(stage, operation) {
815
822
  *
816
823
  * @remarks
817
824
  * The published claim schema constrains `Draft.path` to a non-empty string and nothing else, while
818
- * `isDraft` also refuses an absolute path and one that escapes the workspace. That one member is
819
- * the whole of the difference between the advertised contract and the enforced one, so a caller
820
- * refused after satisfying the schema is refused here and nowhere else. The whole input must first
821
- * satisfy that schema. Each draft is then tested with `isDraft` itself rather than with a second
822
- * copy of its rule. Reports nothing for a value carrying no draft member, including one refused for
823
- * a member this contract does not declare.
825
+ * `isDraft` also refuses an absolute path and one that resolves outside the workspace. That one
826
+ * member is the whole of the difference between the advertised contract and the enforced one, so a
827
+ * caller refused after satisfying the schema is refused here and nowhere else. The whole input must
828
+ * first satisfy that schema. Each draft is then tested with `isDraft` itself rather than with a
829
+ * second copy of its rule. Reports nothing for a value carrying no draft member, including one
830
+ * refused for a member this contract does not declare.
824
831
  *
825
832
  * This function lives in the server helpers rather than in core: core's leaf pair, `helpers.ts` and
826
833
  * `validators.ts`, may not consume the shapes module this function reads `CLAIM_SHAPE` from, and
@@ -855,10 +862,11 @@ function findRefusedPaths(value) {
855
862
  * `tsc --showConfig` spells a path relative to the project file, so a printed record carries an
856
863
  * absolute path only where a project itself declares one. Rewriting a contained absolute path to
857
864
  * its relative form keeps one commit checked out at two roots reading to one digest. A path that
858
- * escapes the workspace is left as it stands, because rewriting it would name a file outside the
859
- * tree by a relative spelling. Key order is the compiler's own and it differs between the supported
860
- * majors, so sorting removes a difference that means nothing. A `__proto__` key is dropped, as
861
- * the earlier assignment-built record dropped it, so a digest stays the same across releases.
865
+ * resolves outside the workspace is left as it stands, because rewriting it would name a file
866
+ * outside the tree by a relative spelling. Key order is the compiler's own and it differs between
867
+ * the supported majors, so sorting removes a difference that means nothing. A `__proto__` key is
868
+ * dropped, as the earlier assignment-built record dropped it, so a digest stays the same across
869
+ * releases.
862
870
  *
863
871
  * @param workspace - The target workspace root
864
872
  * @param value - The value to rewrite
@@ -1094,10 +1102,10 @@ var Overlay = class {
1094
1102
  }
1095
1103
  };
1096
1104
  // package.json
1097
- var version = "0.0.27";
1105
+ var version = "0.0.29";
1098
1106
  var peerDependencies = {
1099
1107
  "typescript": "^6.0.3 || ^7.0.2",
1100
- "vitest": "^4.1.12 || ^5.0.5"
1108
+ "vitest": "^4.1.12 || ^5.1.0"
1101
1109
  };
1102
1110
  // src/server/stages/LintStage.ts
1103
1111
  /**
@@ -1346,10 +1354,10 @@ var LintStage = class {
1346
1354
  * Vitest service after 64 specifications rather than deleting from each map that service owns. Any
1347
1355
  * bound holds the retention flat, because the replacement releases everything the instance held,
1348
1356
  * and 64 is the value chosen. The inspection that crosses the bound pays the replacement
1349
- * synchronously: it closes the resident service and warms a new one before it runs. On 2026-08-20,
1350
- * over this package's own workspace on the host `guides/probe.md` § Cost names, two runs of 66
1351
- * inspections put that one at 480 ms and 269 ms against median inspections of 156 ms and 155 ms, so
1352
- * budget one call in 64 at 110 ms to 330 ms above the rest.
1357
+ * synchronously: it closes the resident service and warms a fresh service before it runs. On
1358
+ * 2026-08-20, over this package's own workspace on the host `guides/probe.md` § Cost names, two
1359
+ * runs of 66 inspections put that one at 480 ms and 269 ms against median inspections of 156 ms and
1360
+ * 155 ms, so budget one call in 64 at 110 ms to 330 ms above the rest.
1353
1361
  *
1354
1362
  * Every issue this stage emits names its party, and the stage emits an issue for every party
1355
1363
  * `Party` declares. An `origin: 'claimant'` issue is a failure Vitest reported about the candidate.
@@ -2089,8 +2097,8 @@ var TypeStage = class {
2089
2097
  *
2090
2098
  * @param project - The workspace-relative TypeScript project to resolve
2091
2099
  * @returns The resolved workspace-relative path and the digest of its compiler options
2092
- * @throws When the project escapes the workspace, when the compiler refuses it, or when the
2093
- * stage has already been destroyed
2100
+ * @throws When the project resolves outside the workspace, when the compiler refuses it, or when
2101
+ * the stage has already been destroyed
2094
2102
  */
2095
2103
  resolve(project) {
2096
2104
  return guardStage(this.stage, this.#resolve(project));
@@ -3242,7 +3250,7 @@ var ProbeServer = class {
3242
3250
  text: (0, _src_core.formatReceipt)(record)
3243
3251
  }]
3244
3252
  };
3245
- return ((0, _orkestrel_mcp.isBoundedJSON)(record, bounds) ? [
3253
+ return ((0, _orkestrel_mcp.isBoundedJSON)(record, bounds) && (0, _orkestrel_contract.isRecord)(record) ? [
3246
3254
  {
3247
3255
  ...rendered,
3248
3256
  structuredContent: record