@pasko70/pibo 1.3.0 → 1.3.2

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 (30) hide show
  1. package/README.md +9 -0
  2. package/dist/apps/chat-ui/assets/{dist-CrBzZkUp.js → dist-7YaJd19a.js} +1 -1
  3. package/dist/apps/chat-ui/assets/{dist-DfcIkFSN.js → dist-8Noo5eCN.js} +1 -1
  4. package/dist/apps/chat-ui/assets/{dist-B4lw9z4F.js → dist-BIvPnn_C.js} +1 -1
  5. package/dist/apps/chat-ui/assets/{dist-DGLWQLX8.js → dist-BbNE72h8.js} +1 -1
  6. package/dist/apps/chat-ui/assets/{dist-CGINd7XU.js → dist-CVQU42Fn.js} +1 -1
  7. package/dist/apps/chat-ui/assets/{dist-CyyISotB.js → dist-ChSZNqKE.js} +1 -1
  8. package/dist/apps/chat-ui/assets/{dist-y9D6la48.js → dist-CiYeO8nN.js} +1 -1
  9. package/dist/apps/chat-ui/assets/{dist-DFbnFNpX.js → dist-CjSI6y5z.js} +1 -1
  10. package/dist/apps/chat-ui/assets/{dist-BcT_c1EJ.js → dist-D7TCkoFT.js} +1 -1
  11. package/dist/apps/chat-ui/assets/{dist-sKDHTwaT.js → dist-KXCMNKIL.js} +1 -1
  12. package/dist/apps/chat-ui/assets/{dist-BbTaHWON.js → dist-Ubstha8t.js} +1 -1
  13. package/dist/apps/chat-ui/assets/{index-CUkuvI3v.js → index-CmxtUVG1.js} +3 -3
  14. package/dist/apps/chat-ui/index.html +1 -1
  15. package/dist/apps/vscode-artifacts/latest.vsix +0 -0
  16. package/dist/apps/vscode-artifacts/pibo-vscode-1.3.0.vsix +0 -0
  17. package/dist/apps/vscode-artifacts/pibo-vscode-1.3.1.vsix +0 -0
  18. package/dist/apps/vscode-artifacts/pibo-vscode-1.3.2.vsix +0 -0
  19. package/dist/cli.js +15 -1
  20. package/dist/config/config.js +9 -0
  21. package/dist/core/context-build.js +36 -2
  22. package/dist/core/wsl.js +100 -0
  23. package/dist/gateway/web.js +51 -11
  24. package/dist/plugins/dev-auth.js +53 -1
  25. package/dist/setup/cli.js +60 -8
  26. package/dist/web/channel.js +53 -2
  27. package/dist/web/http.js +6 -3
  28. package/docs/ops/install-user-host.md +21 -1
  29. package/docs/ops/vscode-extension-release.md +24 -2
  30. package/package.json +2 -1
@@ -39,6 +39,8 @@ systemctl daemon-reload
39
39
 
40
40
  ## Configure auth
41
41
 
42
+ For a public deployment with Google OAuth:
43
+
42
44
  ```bash
43
45
  pibo config set auth.baseURL https://pibo.example.com
44
46
  pibo config set auth.secret <at-least-32-characters>
@@ -47,6 +49,24 @@ pibo config set auth.googleClientSecret <google-client-secret>
47
49
  pibo config set auth.allowedEmails you@example.com
48
50
  ```
49
51
 
52
+ For a local development install on a developer laptop, use the local auth mode. This skips Google OAuth and binds the gateway to loopback only:
53
+
54
+ ```bash
55
+ pibo config set auth.mode local
56
+ pibo gateway:web --auth=local
57
+ # Open http://localhost:4788/apps/chat and click "Sign in with Google".
58
+ # The dev identity dev@pibo.local is auto-attached without OAuth.
59
+ ```
60
+
61
+ Local auth refuses a non-loopback bind:
62
+
63
+ ```bash
64
+ pibo gateway:web --auth=local --web-host=0.0.0.0
65
+ # Error: --auth=local requires a loopback bind (127.0.0.1, ::1, or localhost).
66
+ ```
67
+
68
+ Three independent request-time safety layers guard the local auth service. See `docs/specs/capabilities/web-auth-and-same-origin-host.md` REQ-010 and the `pibo-debug-auth` skill for the full model.
69
+
50
70
  ## Start the gateway
51
71
 
52
72
  `pibo-web` will not start until Better Auth config is complete. This cannot be automated because you must create/select your Google OAuth client and allowed user list. Check it first:
@@ -63,7 +83,7 @@ systemctl enable --now pibo-web
63
83
  pibo gateway web status
64
84
  ```
65
85
 
66
- If you use Caddy, point DNS at the host before expecting Let's Encrypt to issue a certificate.
86
+ If you use Caddy, point DNS at the host before expecting Let's Encrypt to issue a certificate. Local auth mode bypasses the Better Auth requirement and prints a warning instead of a hard blocker.
67
87
 
68
88
  ## When not to use this path
69
89
 
@@ -60,6 +60,8 @@ git push origin v1.3.0
60
60
 
61
61
  ### 4. Create a GitHub Release with the VSIX attached
62
62
 
63
+ The maintainer's local machine has the `gh` CLI installed:
64
+
63
65
  ```bash
64
66
  gh release create v1.3.0 \
65
67
  dist/apps/vscode-artifacts/pibo-vscode-1.3.0.vsix \
@@ -67,7 +69,25 @@ gh release create v1.3.0 \
67
69
  --notes "..."
68
70
  ```
69
71
 
70
- This makes the VSIX downloadable from a stable URL (`https://github.com/Pascapone/pibo/releases/download/v1.3.0/pibo-vscode-1.3.0.vsix`). The `pibo vscode install` command uses the GitHub Releases API to discover this URL automatically.
72
+ In environments where `gh` is not available (e.g. the pibo compute workers),
73
+ `scripts/create-github-release.mjs` performs the same action via the Pibo
74
+ GitHub App, which has been installed on `Pascapone/pibo` with the
75
+ `contents: write` scope. The script accepts the GitHub App credentials from
76
+ `PIBO_GITHUB_APP_ID` and `PIBO_GITHUB_APP_KEY` environment variables, or
77
+ from the well-known env file at
78
+ `/root/.pibo/uploads/github-app.env` (with the PEM key auto-discovered
79
+ next to it).
80
+
81
+ ```bash
82
+ node scripts/create-github-release.mjs \
83
+ --tag v1.3.0 \
84
+ --asset dist/apps/vscode-artifacts/pibo-vscode-1.3.0.vsix
85
+ ```
86
+
87
+ Both paths make the VSIX downloadable from a stable URL
88
+ (`https://github.com/Pascapone/pibo/releases/download/v1.3.0/pibo-vscode-1.3.0.vsix`).
89
+ The `pibo vscode install` command uses the GitHub Releases API to discover
90
+ this URL automatically.
71
91
 
72
92
  The release script can also do this in one step:
73
93
 
@@ -75,7 +95,9 @@ The release script can also do this in one step:
75
95
  node scripts/release.mjs --version 1.3.0 --create-release
76
96
  ```
77
97
 
78
- …if the tag has already been pushed.
98
+ …if the tag has already been pushed. Internally the release script calls
99
+ `scripts/create-github-release.mjs`, so it works in worker environments
100
+ without `gh`.
79
101
 
80
102
  ### 5. Publish the npm package
81
103
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@pasko70/pibo",
3
- "version": "1.3.0",
3
+ "version": "1.3.2",
4
4
  "type": "module",
5
5
  "description": "Minimal TypeScript wrapper around Pi Coding Agent.",
6
6
  "files": [
@@ -37,6 +37,7 @@
37
37
  "vscode:extension:build": "esbuild src/apps/chat-vscode/extension/src/extension.ts --bundle --platform=node --target=node24 --format=cjs --outfile=src/apps/chat-vscode/dist/extension/extension.cjs --external:vscode --sourcemap=inline",
38
38
  "vscode:package": "node scripts/vscode-package.mjs",
39
39
  "release": "node scripts/release.mjs",
40
+ "release:github": "node scripts/create-github-release.mjs",
40
41
  "build": "tsc -p tsconfig.json && npm run web-ui:build && npm run vscode:webview:build && node scripts/ensure-bin-executable.mjs",
41
42
  "start": "node dist/bin/pibo.js",
42
43
  "test": "npm run build && node --test test/*.test.mjs test/chat-vscode/*.test.mjs",