@danypops/pi-lector 0.12.11 → 0.12.13

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.
@@ -216,7 +216,7 @@ export default function (pi: ExtensionAPI) {
216
216
  * first touches. Refuses a bare filesystem root outright: workspaceForPath's own
217
217
  * intentional fallback for a raw read/write of a file outside any git repo can register
218
218
  * exactly this as a "new workspace", and auto-populating it would attempt a full
219
- * filesystem-wide symbol-graph scan -- confirmed live as a real, previously-shipped bug.
219
+ * filesystem-wide symbol-graph scan.
220
220
  *
221
221
  * Also short-circuits a broad host directory (home directory, an XDG config/cache/data
222
222
  * root, a dotfile directory) the exact same way workspace.populateSymbolGraph's own
@@ -1697,7 +1697,17 @@ export default function (pi: ExtensionAPI) {
1697
1697
  if (details?.action === "list") text.setText(formatPackageSourceListResult(details.page, theme));
1698
1698
  else if (details?.action === "remove") text.setText(formatPackageSourceRemoveResult(details.result, theme));
1699
1699
  else if (details?.action === "clean") text.setText(formatPackageSourceCleanResult(details.result, theme));
1700
- else text.setText(formatPackageSourceResult(details?.action === "resolve" ? details.result : undefined, expanded, theme));
1700
+ else if (details?.action === "resolve") text.setText(formatPackageSourceResult(details.result, expanded, theme));
1701
+ else {
1702
+ // A malformed/unknown-shaped details blob (e.g. a transcript row predating this
1703
+ // schema) has no recognized action -- fail closed to the model-facing content
1704
+ // channel first, only falling to the generic message if that's empty too.
1705
+ const contentText = result.content
1706
+ .filter((block) => block.type === "text")
1707
+ .map((block) => block.text)
1708
+ .join("\n");
1709
+ text.setText(contentText || formatPackageSourceResult(undefined, expanded, theme));
1710
+ }
1701
1711
  return text;
1702
1712
  },
1703
1713
  });
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@danypops/pi-lector",
3
- "version": "0.12.11",
3
+ "version": "0.12.13",
4
4
  "description": "Pi host adapter for Lector: overrides read/write/edit with a daemon-backed, hash-guarded filesystem",
5
5
  "license": "MIT",
6
6
  "type": "module",
@@ -19,17 +19,18 @@
19
19
  "@earendil-works/pi-coding-agent": "*",
20
20
  "@earendil-works/pi-tui": "*",
21
21
  "typebox": "*",
22
- "@danypops/vehicle-client-pi": "^0.42.1"
22
+ "@danypops/vehicle-client-pi": "^0.43.0"
23
23
  },
24
24
  "dependencies": {
25
- "@danypops/vehicle-client": "^0.10.1",
25
+ "@danypops/vehicle-client": "^0.10.3",
26
26
  "@danypops/vehicle-core": "^0.17.1",
27
27
  "@danypops/lector": "^0.19.3",
28
28
  "malevich-tui-components": "^0.25.0",
29
29
  "picomatch": "^4.0.5"
30
30
  },
31
31
  "devDependencies": {
32
- "@danypops/vehicle-client-pi": "^0.42.1",
32
+ "@danypops/vehicle-client-pi": "^0.43.0",
33
+ "@danypops/vehicle-conformance": "^0.4.0",
33
34
  "@danypops/pi-extension-harness": "^0.2.0",
34
35
  "@danypops/pi-tui-harness": "^0.0.1",
35
36
  "@earendil-works/pi-ai": "^0.81.1",