@pasko70/pibo 3.2.3 → 3.2.4

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 (69) hide show
  1. package/dist/agent-runtime/auth.js +3 -5
  2. package/dist/agent-runtime/portable-history.js +1 -1
  3. package/dist/agent-runtimes/codex-native/client.js +2 -5
  4. package/dist/agent-runtimes/codex-native/redaction.js +3 -27
  5. package/dist/agent-runtimes/omp/client.js +2 -4
  6. package/dist/agent-runtimes/pi/adapter.js +1 -0
  7. package/dist/agent-runtimes/pi/runtime.js +1 -1
  8. package/dist/apps/chat/agent-store.js +1 -1
  9. package/dist/apps/chat/chat-files.js +3 -1
  10. package/dist/apps/chat/chat-request-normalizers.js +1 -1
  11. package/dist/apps/chat/chat-user-skill-routes.js +7 -0
  12. package/dist/apps/chat/data/project-service.js +49 -1
  13. package/dist/apps/chat/data/session-query-service.js +46 -6
  14. package/dist/apps/chat/loop-api.js +10 -1
  15. package/dist/apps/chat/ralph-api.js +10 -1
  16. package/dist/apps/chat/web-app.js +22 -5
  17. package/dist/apps/chat-ui/assets/{dist-CTsyojIh.js → dist-CTC-_3l0.js} +1 -1
  18. package/dist/apps/chat-ui/assets/{dist-BHio-Mzx.js → dist-CftLEFd5.js} +1 -1
  19. package/dist/apps/chat-ui/assets/{dist-DJ6Bhcuk.js → dist-Dq27Wt2q.js} +1 -1
  20. package/dist/apps/chat-ui/assets/{dist-CPKEoSPK.js → dist-Y4fHV5-Z.js} +1 -1
  21. package/dist/apps/chat-ui/assets/{dist-DNHFRMCk.js → dist-dGF-PDGY.js} +1 -1
  22. package/dist/apps/chat-ui/assets/index-C_P0gXvJ.js +228 -0
  23. package/dist/apps/chat-ui/assets/{index-Dc-6Xupt.css → index-DUGVw259.css} +1 -1
  24. package/dist/apps/chat-ui/index.html +2 -2
  25. package/dist/apps/chat-vscode-web/assets/{index-B1TuQNY5.js → index-B5X0NaRo.js} +4 -4
  26. package/dist/apps/chat-vscode-web/index.html +1 -1
  27. package/dist/apps/cli-ui/InkSessionApp.js +38 -28
  28. package/dist/auth/cli.js +4 -6
  29. package/dist/auth/machine-keys.js +20 -3
  30. package/dist/cli-session/localSessionSource.js +2 -4
  31. package/dist/compute/cli.js +16 -13
  32. package/dist/compute/docker.js +96 -48
  33. package/dist/core/base-prompt.js +27 -5
  34. package/dist/core/context-build.js +5 -15
  35. package/dist/core/sensitive-data-redaction.js +2 -2
  36. package/dist/core/session-router.js +15 -4
  37. package/dist/cron/cli.js +42 -10
  38. package/dist/cron/store.js +1 -1
  39. package/dist/data/cli.js +15 -7
  40. package/dist/data/payload-store.js +38 -0
  41. package/dist/data/schema.js +9 -1
  42. package/dist/debug/index.js +5 -0
  43. package/dist/debug/pty.js +45 -10
  44. package/dist/gateway/cli.js +18 -2
  45. package/dist/gateway/server.js +1 -0
  46. package/dist/loops/service.js +32 -16
  47. package/dist/mcp/runtime-session.js +2 -1
  48. package/dist/pi-packages/cli.js +5 -0
  49. package/dist/previews/cli.js +2 -6
  50. package/dist/previews/config.js +10 -0
  51. package/dist/previews/manager.js +2 -9
  52. package/dist/ralph/service.js +21 -10
  53. package/dist/session-ui/statusViewModel.js +2 -4
  54. package/dist/sessions/pibo-data-store.js +18 -0
  55. package/dist/sessions/store.js +9 -0
  56. package/dist/setup/cli.js +14 -7
  57. package/dist/setup/installation-profiles.js +20 -7
  58. package/dist/shared/trace-event-projection.js +32 -1
  59. package/dist/subagents/tool.js +3 -3
  60. package/dist/tools/browser-use-leases.js +11 -3
  61. package/dist/tools/index.js +0 -1
  62. package/dist/tools/runtime/node-worker-source.js +39 -5
  63. package/dist/tools/runtime/python-backend.js +6 -2
  64. package/dist/tools/runtime/registry.js +38 -6
  65. package/dist/vscode/cli.js +1 -2
  66. package/dist/vscode/install.js +21 -14
  67. package/npm-shrinkwrap.json +2 -2
  68. package/package.json +3 -1
  69. package/dist/apps/chat-ui/assets/index-Y6jYzsaC.js +0 -228
@@ -11,13 +11,13 @@
11
11
  * The resolved VSIX is cached under `~/.pibo/vscode/cache/<tagName>/` so
12
12
  * repeated installs do not re-download.
13
13
  */
14
+ import { createHash } from "node:crypto";
14
15
  import { existsSync, mkdirSync, readFileSync, writeFileSync } from "node:fs";
15
16
  import { homedir } from "node:os";
16
17
  import { join, resolve } from "node:path";
17
18
  import { detectCodeBinary, listInstalledExtensions, runCodeCommand } from "./code-cli.js";
18
19
  import { downloadVsixAsset, fetchLatestVsix, isVsixAsset } from "./vsix-fetcher.js";
19
20
  import { DEFAULT_GITHUB_OWNER, DEFAULT_GITHUB_REPO, PIBO_VSCODE_CACHE_DIR, PIBO_VSCODE_EXTENSION_ID, } from "./types.js";
20
- import { findVsixAsset, fetchRelease } from "./vsix-fetcher.js";
21
21
  const DEFAULT_LOG = (message) => {
22
22
  console.log(message);
23
23
  };
@@ -33,6 +33,9 @@ function getCacheDir(options) {
33
33
  function cacheKeyForVersion(tagName) {
34
34
  return tagName.replace(/[^A-Za-z0-9._-]/g, "_");
35
35
  }
36
+ function cacheTagForUrl(url) {
37
+ return `url-${createHash("sha256").update(url).digest("hex").slice(0, 16)}`;
38
+ }
36
39
  function readCachedVsix(cacheDir, tagName) {
37
40
  const dir = join(cacheDir, cacheKeyForVersion(tagName));
38
41
  const path = join(dir, "pibo.vsix");
@@ -73,19 +76,23 @@ export async function resolveVsixArtifact(options) {
73
76
  }
74
77
  return { tagName: "local", vsixPath: absolute };
75
78
  }
79
+ if (options.fromUrl) {
80
+ const tagName = cacheTagForUrl(options.fromUrl);
81
+ if (!options.skipCache) {
82
+ const cached = readCachedVsix(options.cacheDir, tagName);
83
+ if (cached)
84
+ return { tagName, vsixPath: cached };
85
+ }
86
+ const bytes = await downloadVsixAsset({ url: options.fromUrl, fetchImpl: options.fetchImpl });
87
+ const cachedPath = writeCachedVsix(options.cacheDir, tagName, bytes);
88
+ return { tagName, vsixPath: cachedPath, bytes };
89
+ }
76
90
  if (!options.skipCache && !options.version) {
77
91
  const cachedTag = readCachedTagManifest(options.cacheDir);
78
92
  if (cachedTag?.tagName && cachedTag.vsixPath && existsSync(cachedTag.vsixPath)) {
79
93
  return { tagName: cachedTag.tagName, vsixPath: cachedTag.vsixPath };
80
94
  }
81
95
  }
82
- if (options.fromUrl) {
83
- const release = await fetchRelease({ owner: options.owner, repo: options.repo, fetchImpl: options.fetchImpl });
84
- const asset = findVsixAsset(release) ?? { name: "remote.vsix", browserDownloadUrl: options.fromUrl, size: 0, contentType: "application/octet-stream" };
85
- const bytes = await downloadVsixAsset({ url: options.fromUrl, fetchImpl: options.fetchImpl });
86
- const cachedPath = writeCachedVsix(options.cacheDir, release.tagName, bytes);
87
- return { tagName: release.tagName, vsixPath: cachedPath, bytes };
88
- }
89
96
  const result = await fetchLatestVsix({
90
97
  owner: options.owner,
91
98
  repo: options.repo,
@@ -151,7 +158,6 @@ export async function runInstall(options) {
151
158
  errorLog(reason);
152
159
  return { status: "failed", reason, codeBinary: detected.path, tagName: artifact.tagName };
153
160
  }
154
- writeCachedTagManifest(cacheDir, artifact.tagName, artifact.vsixPath);
155
161
  try {
156
162
  const installed = await listInstalledExtensions({
157
163
  binary: detected.path,
@@ -159,18 +165,19 @@ export async function runInstall(options) {
159
165
  env: options.env,
160
166
  });
161
167
  const ours = installed.find((entry) => entry.id === PIBO_VSCODE_EXTENSION_ID);
162
- if (ours) {
163
- log(`Installed ${ours.id}@${ours.version ?? "?"} via ${detected.path}`);
164
- }
165
- else {
166
- log(`code --install-extension reported success but ${PIBO_VSCODE_EXTENSION_ID} is not in the installed list.`);
168
+ if (!ours) {
169
+ const reason = `code --install-extension reported success but ${PIBO_VSCODE_EXTENSION_ID} is not in the installed list.`;
170
+ errorLog(reason);
171
+ return { status: "failed", reason, codeBinary: detected.path, tagName: artifact.tagName };
167
172
  }
173
+ log(`Installed ${ours.id}@${ours.version ?? "?"} via ${detected.path}`);
168
174
  }
169
175
  catch (listError) {
170
176
  // Listing the installed extensions is a best-effort check; do not fail the install on a listing error.
171
177
  const reason = listError instanceof Error ? listError.message : String(listError);
172
178
  log(`Install completed; failed to verify via --list-extensions: ${reason}`);
173
179
  }
180
+ writeCachedTagManifest(cacheDir, artifact.tagName, artifact.vsixPath);
174
181
  return { status: "installed", tagName: artifact.tagName, vsixPath: artifact.vsixPath, codeBinary: detected.path };
175
182
  }
176
183
  // Re-export for symmetry with code-cli.ts consumers.
@@ -1,12 +1,12 @@
1
1
  {
2
2
  "name": "@pasko70/pibo",
3
- "version": "3.2.3",
3
+ "version": "3.2.4",
4
4
  "lockfileVersion": 3,
5
5
  "requires": true,
6
6
  "packages": {
7
7
  "": {
8
8
  "name": "@pasko70/pibo",
9
- "version": "3.2.3",
9
+ "version": "3.2.4",
10
10
  "workspaces": [
11
11
  "packages/workflows"
12
12
  ],
package/package.json CHANGED
@@ -1,7 +1,9 @@
1
1
  {
2
2
  "name": "@pasko70/pibo",
3
- "version": "3.2.3",
3
+ "version": "3.2.4",
4
4
  "type": "module",
5
+ "main": "./dist/index.js",
6
+ "types": "./dist/index.d.ts",
5
7
  "workspaces": [
6
8
  "packages/workflows"
7
9
  ],