@pasko70/pibo 1.9.2 → 1.9.3

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 (120) hide show
  1. package/README.md +183 -183
  2. package/context/codex-base-prompt.md +148 -148
  3. package/context/compute-worker.md +23 -23
  4. package/context/pibo-compaction-prompt.md +100 -100
  5. package/context/pibo-native-tooling.md +18 -18
  6. package/context/pibo-system-prompt.md +77 -77
  7. package/dist/apps/chat/agent-store.js +248 -248
  8. package/dist/apps/chat/data/project-service.js +168 -168
  9. package/dist/apps/chat/data/read-state-service.js +18 -18
  10. package/dist/apps/chat/data/session-query-service.js +25 -25
  11. package/dist/apps/chat/data/timeline-query-service.js +14 -14
  12. package/dist/apps/chat/static-assets.js +854 -854
  13. package/dist/apps/chat/workflow-persistence.js +255 -255
  14. package/dist/apps/chat-ui/assets/{dist-5GM30SQK.js → dist-5WHjqNrY.js} +1 -1
  15. package/dist/apps/chat-ui/assets/{dist-Cge8JklW.js → dist-BJBNSAIH.js} +1 -1
  16. package/dist/apps/chat-ui/assets/{dist-C-5u2QIS.js → dist-C3liNPZJ.js} +1 -1
  17. package/dist/apps/chat-ui/assets/{dist-BWbWIOcD.js → dist-CW6FHEaw.js} +1 -1
  18. package/dist/apps/chat-ui/assets/{dist-CjYtD7ZT.js → dist-CaNlj6v6.js} +1 -1
  19. package/dist/apps/chat-ui/assets/{dist-BYKMZlI0.js → dist-Cne74s6i.js} +1 -1
  20. package/dist/apps/chat-ui/assets/{dist-9lsp1UpA.js → dist-DvKZv20v.js} +1 -1
  21. package/dist/apps/chat-ui/assets/{dist-DFhhiR8M.js → dist-FYH7vzrh.js} +1 -1
  22. package/dist/apps/chat-ui/assets/{dist-Etxmpyxg.js → dist-f5KioIwL.js} +1 -1
  23. package/dist/apps/chat-ui/assets/{dist-2KdPXbMT.js → dist-hWrpj7SE.js} +1 -1
  24. package/dist/apps/chat-ui/assets/{dist-Idz5kzy8.js → dist-jAuO8_bV.js} +1 -1
  25. package/dist/apps/chat-ui/assets/{index-BqD_bm7z.js → index-Bf29pJph.js} +29 -29
  26. package/dist/apps/chat-ui/index.html +17 -17
  27. package/dist/apps/chat-ui/manifest.webmanifest +25 -25
  28. package/dist/apps/chat-ui/sw.js +47 -47
  29. package/dist/apps/chat-vscode-web/assets/index-BAMxIaI_.js +41 -0
  30. package/dist/apps/chat-vscode-web/index.html +13 -13
  31. package/dist/apps/cli-ui/cliSessionsCommand.js +23 -23
  32. package/dist/apps/context-files-ui/index.html +11 -11
  33. package/dist/cli.js +39 -39
  34. package/dist/compute/cli.js +54 -54
  35. package/dist/core/session-router.js +5 -2
  36. package/dist/cron/cli.js +15 -15
  37. package/dist/cron/store.js +49 -49
  38. package/dist/data/cli.js +23 -23
  39. package/dist/data/event-log.js +23 -23
  40. package/dist/data/message-store.js +20 -20
  41. package/dist/data/navigation-store.js +9 -9
  42. package/dist/data/observation-store.js +4 -4
  43. package/dist/data/payload-store.js +17 -17
  44. package/dist/data/schema.js +431 -431
  45. package/dist/data/session-store.js +4 -4
  46. package/dist/data/telemetry-queries.js +54 -54
  47. package/dist/data/telemetry.js +197 -197
  48. package/dist/debug/events.js +12 -12
  49. package/dist/debug/failures.js +6 -6
  50. package/dist/debug/index.js +227 -227
  51. package/dist/debug/messages.js +6 -6
  52. package/dist/debug/pty.js +124 -124
  53. package/dist/debug/session.js +29 -29
  54. package/dist/debug/tools.js +5 -5
  55. package/dist/debug/web-snapshot-browser-scripts.js +294 -294
  56. package/dist/debug/web-streaming-browser-library.js +925 -925
  57. package/dist/debug/web-streaming-browser-scripts.js +232 -232
  58. package/dist/debug/web-streaming-provider-telemetry.js +4 -4
  59. package/dist/debug/web.js +93 -93
  60. package/dist/gateway/cli.js +19 -19
  61. package/dist/mcp/config-command.js +53 -53
  62. package/dist/mcp/index.js +21 -21
  63. package/dist/mcp/registry.js +11 -11
  64. package/dist/pi-packages/cli.js +11 -11
  65. package/dist/plugins/context-files-store.js +110 -110
  66. package/dist/plugins/context-files.js +4 -4
  67. package/dist/ralph/cli.js +18 -18
  68. package/dist/ralph/templates.js +140 -140
  69. package/dist/reliability/store.js +226 -226
  70. package/dist/session-ui/sessionActivity.js +30 -0
  71. package/dist/sessions/pibo-data-store.js +16 -16
  72. package/dist/sessions/sqlite-store.js +53 -53
  73. package/dist/setup/cli.js +58 -58
  74. package/dist/signals/projector.js +26 -11
  75. package/dist/signals/registry.js +41 -0
  76. package/dist/tools/agent-browser-wrapper.js +80 -80
  77. package/dist/tools/browser-use-cdp.js +12 -12
  78. package/dist/tools/browser-use-wrapper.js +762 -762
  79. package/dist/tools/guides.js +538 -538
  80. package/dist/tools/index.js +99 -99
  81. package/dist/tools/runtime/node-worker-source.js +205 -205
  82. package/dist/tools/runtime/python-worker-source.js +177 -177
  83. package/dist/vscode/cli.js +9 -9
  84. package/dist/web-annotations/cdp.js +900 -900
  85. package/dist/web-annotations/store.js +96 -96
  86. package/docs/README.md +23 -23
  87. package/docs/ops/install-developer-host.md +112 -112
  88. package/docs/ops/install-user-host.md +96 -96
  89. package/docs/ops/upgrade-user-to-developer-host.md +69 -69
  90. package/docs/ops/vscode-extension-release.md +160 -160
  91. package/package.json +95 -95
  92. package/skills/builtin/graphify/SKILL.md +52 -52
  93. package/skills/builtin/pi-agent-harness/SKILL.md +319 -319
  94. package/skills/builtin/pi-agent-harness/agents/openai.yaml +4 -4
  95. package/skills/builtin/pibo-docker-system/SKILL.md +170 -170
  96. package/skills/builtin/pibo-spec-writing/SKILL.md +330 -330
  97. package/skills/builtin/prd/SKILL.md +143 -143
  98. package/skills/builtin/ralph-loop/SKILL.md +359 -359
  99. package/skills/builtin/ralph-prd-json/SKILL.md +123 -123
  100. package/skills/builtin/skill-creator/LICENSE.txt +201 -201
  101. package/skills/builtin/skill-creator/SKILL.md +513 -513
  102. package/skills/builtin/skill-creator/agents/analyzer.md +274 -274
  103. package/skills/builtin/skill-creator/agents/comparator.md +202 -202
  104. package/skills/builtin/skill-creator/agents/grader.md +223 -223
  105. package/skills/builtin/skill-creator/assets/eval_review.html +146 -146
  106. package/skills/builtin/skill-creator/eval-viewer/generate_review.py +471 -471
  107. package/skills/builtin/skill-creator/eval-viewer/viewer.html +1325 -1325
  108. package/skills/builtin/skill-creator/references/schemas.md +430 -430
  109. package/skills/builtin/skill-creator/scripts/aggregate_benchmark.py +401 -401
  110. package/skills/builtin/skill-creator/scripts/generate_report.py +326 -326
  111. package/skills/builtin/skill-creator/scripts/improve_description.py +247 -247
  112. package/skills/builtin/skill-creator/scripts/package_skill.py +136 -136
  113. package/skills/builtin/skill-creator/scripts/quick_validate.py +102 -102
  114. package/skills/builtin/skill-creator/scripts/run_eval.py +310 -310
  115. package/skills/builtin/skill-creator/scripts/run_loop.py +328 -328
  116. package/skills/builtin/skill-creator/scripts/utils.py +47 -47
  117. package/skills/builtin/web-annotations/SKILL.md +93 -93
  118. package/src/mcp/LICENSE.mcp-cli +21 -21
  119. package/dist/apps/chat-vscode-web/assets/index-Cst9OUkC.js +0 -41
  120. package/dist/session-ui/activeTurn.js +0 -126
package/dist/debug/web.js CHANGED
@@ -52,98 +52,98 @@ export async function runDebugWeb(args) {
52
52
  throw new Error(`Unknown pibo debug web command "${command}". Run pibo debug web --help.`);
53
53
  }
54
54
  function printWebDiscovery() {
55
- console.log(`pibo debug web - inspect browser render state via CDP
56
-
57
- Commands:
58
- targets List Chrome CDP targets with Chat auth hints
59
- attach-chat Show the best authenticated Chat Web target
60
- snapshot Capture a scoped compact DOM snapshot
61
- diff Compare current scoped snapshot against previous or artifact
62
- watch Record a bounded scoped DOM/focus/route timeline
63
- scenario Run guided Chat Web debug workflows
64
- report Render saved debug artifacts as reviewer-friendly Markdown
65
-
66
- Next:
67
- pibo debug web targets
68
- pibo debug web snapshot --preset session-list
69
- pibo debug web watch --preset chat-shell --duration 5000
70
- pibo debug web report streaming-benchmark --from artifact.json
55
+ console.log(`pibo debug web - inspect browser render state via CDP
56
+
57
+ Commands:
58
+ targets List Chrome CDP targets with Chat auth hints
59
+ attach-chat Show the best authenticated Chat Web target
60
+ snapshot Capture a scoped compact DOM snapshot
61
+ diff Compare current scoped snapshot against previous or artifact
62
+ watch Record a bounded scoped DOM/focus/route timeline
63
+ scenario Run guided Chat Web debug workflows
64
+ report Render saved debug artifacts as reviewer-friendly Markdown
65
+
66
+ Next:
67
+ pibo debug web targets
68
+ pibo debug web snapshot --preset session-list
69
+ pibo debug web watch --preset chat-shell --duration 5000
70
+ pibo debug web report streaming-benchmark --from artifact.json
71
71
  `);
72
72
  }
73
73
  function printSnapshotHelp() {
74
- console.log(`pibo debug web snapshot - capture a scoped compact DOM snapshot
75
-
76
- Usage:
77
- pibo debug web snapshot --scope <selector> [--target id|ws] [--json] [--artifact]
78
- pibo debug web snapshot --preset session-list
79
-
80
- Presets:
81
- app | route-shell | sidebar | session-list | chat-shell | composer
82
-
83
- Next:
84
- pibo debug web diff --preset session-list
85
- pibo debug web watch --preset chat-shell --duration 5000
74
+ console.log(`pibo debug web snapshot - capture a scoped compact DOM snapshot
75
+
76
+ Usage:
77
+ pibo debug web snapshot --scope <selector> [--target id|ws] [--json] [--artifact]
78
+ pibo debug web snapshot --preset session-list
79
+
80
+ Presets:
81
+ app | route-shell | sidebar | session-list | chat-shell | composer
82
+
83
+ Next:
84
+ pibo debug web diff --preset session-list
85
+ pibo debug web watch --preset chat-shell --duration 5000
86
86
  `);
87
87
  }
88
88
  function printWatchHelp() {
89
- console.log(`pibo debug web watch - record compact render-state changes
90
-
91
- Usage:
92
- pibo debug web watch --scope <selector> [--duration ms] [--target id|ws] [--json] [--artifact]
93
- pibo debug web watch --preset chat-shell --duration 5000
94
-
95
- Defaults:
96
- duration=5000ms, max=30000ms, event budget=500
97
-
98
- Next:
99
- pibo debug web diff --preset chat-shell
100
- pibo debug web scenario new-session --manual
89
+ console.log(`pibo debug web watch - record compact render-state changes
90
+
91
+ Usage:
92
+ pibo debug web watch --scope <selector> [--duration ms] [--target id|ws] [--json] [--artifact]
93
+ pibo debug web watch --preset chat-shell --duration 5000
94
+
95
+ Defaults:
96
+ duration=5000ms, max=30000ms, event budget=500
97
+
98
+ Next:
99
+ pibo debug web diff --preset chat-shell
100
+ pibo debug web scenario new-session --manual
101
101
  `);
102
102
  }
103
103
  function printScenarioHelp() {
104
- console.log(`pibo debug web scenario - guided Chat Web debug workflows
105
-
106
- Usage:
107
- pibo debug web scenario new-session [--manual|--act] [--duration ms] [--json] [--artifact]
108
- pibo debug web scenario streaming-benchmark [--fixture|--backend-fixture] [--fixture-profile steady|jitter|burst|batch] [--fixture-mix text|reasoning-text|markdown|gfm-markdown|gfm-task-markdown|gfm-full-markdown] [--fixture-prelude-messages n] [--simulate-reconnect|--simulate-trace-catchup] [--duration ms] [--runs n] [--from artifact.json] [--provider-request-id pr_...|--provider-session-id ps_...|--provider-turn-id turn_...|--provider-selected-session] [--compare-url url|--compare-hosted|--compare-hosted-if-configured] [--assert] [--expect-regression text] [--negative-profile batch|overlay-drop] [--json] [--artifact]
109
-
110
- Defaults:
111
- new-session --manual waits while you click New Session yourself.
112
- new-session --act clicks the discovered New Session button after the watcher starts.
113
- streaming-benchmark enables debugStreaming for future events, observes assistant DOM increments, and snapshots window.__piboStreamingDebug.
114
- streaming-benchmark --fixture navigates the target to a deterministic in-browser stream fixture before measuring.
115
- streaming-benchmark --backend-fixture posts to /api/chat/debug/streaming-fixture and records EventSource metrics while the real app consumes deterministic /api/chat/events frames.
116
- streaming-benchmark --fixture-profile selects steady cadence, deterministic jitter, bursty timing, or intentional batch stress.
117
- streaming-benchmark --fixture-mix includes text-only, mixed reasoning/text, CommonMark Markdown, simple GFM Markdown, or full-parser GFM Markdown assistant deltas.
118
- streaming-benchmark --fixture-prelude-messages seeds completed live assistant messages before counters reset so large live overlays can be measured without changing fixture preservation denominators.
119
- streaming-benchmark --simulate-reconnect reloads the app with an EventSource probe, forces one live stream close, and verifies reconnect/transient ids.
120
- streaming-benchmark --simulate-trace-catchup suppresses backend live text deltas and verifies trace snapshot recovery.
121
- streaming-benchmark --runs repeats the same scenario and reports medians; --from compares against a prior benchmark artifact.
122
- streaming-benchmark --compare-url runs the same backend fixture at another Chat URL, for direct-vs-hosted SSE comparison.
123
- streaming-benchmark --compare-hosted uses PIBO_DEV_PUBLIC_URL or PIBO_DEV_BASE_URL from the environment or .env.developer-host as the compare URL.
124
- streaming-benchmark --compare-hosted-if-configured runs the hosted comparison when a dev URL is configured; otherwise it records a warning and keeps the primary benchmark.
125
- streaming-benchmark --provider-request-id attaches provider/Pi telemetry delta counts, byte stats, gap stats, parse errors, first-text latency, and provider-to-transport preservation ratios from pibo debug telemetry.
126
- streaming-benchmark --provider-session-id, --provider-turn-id, or --provider-selected-session discovers the latest provider request from telemetry session/turn metadata after the benchmark window before attaching provider metrics.
127
- streaming-benchmark --assert exits non-zero when fixture/debug/DOM/provider preservation gates fail.
128
- streaming-benchmark --expect-regression marks a required regression substring for controlled negative benchmarks; unexpected or missing expected regressions still fail with --assert.
129
- streaming-benchmark --negative-profile batch expands to the backend batch reasoning/text fixture with required controlled regression assertions.
130
- streaming-benchmark --negative-profile overlay-drop preserves SSE/EventSource input but drops live-overlay text/reasoning enqueue for a controlled pipeline-preservation failure.
104
+ console.log(`pibo debug web scenario - guided Chat Web debug workflows
105
+
106
+ Usage:
107
+ pibo debug web scenario new-session [--manual|--act] [--duration ms] [--json] [--artifact]
108
+ pibo debug web scenario streaming-benchmark [--fixture|--backend-fixture] [--fixture-profile steady|jitter|burst|batch] [--fixture-mix text|reasoning-text|markdown|gfm-markdown|gfm-task-markdown|gfm-full-markdown] [--fixture-prelude-messages n] [--simulate-reconnect|--simulate-trace-catchup] [--duration ms] [--runs n] [--from artifact.json] [--provider-request-id pr_...|--provider-session-id ps_...|--provider-turn-id turn_...|--provider-selected-session] [--compare-url url|--compare-hosted|--compare-hosted-if-configured] [--assert] [--expect-regression text] [--negative-profile batch|overlay-drop] [--json] [--artifact]
109
+
110
+ Defaults:
111
+ new-session --manual waits while you click New Session yourself.
112
+ new-session --act clicks the discovered New Session button after the watcher starts.
113
+ streaming-benchmark enables debugStreaming for future events, observes assistant DOM increments, and snapshots window.__piboStreamingDebug.
114
+ streaming-benchmark --fixture navigates the target to a deterministic in-browser stream fixture before measuring.
115
+ streaming-benchmark --backend-fixture posts to /api/chat/debug/streaming-fixture and records EventSource metrics while the real app consumes deterministic /api/chat/events frames.
116
+ streaming-benchmark --fixture-profile selects steady cadence, deterministic jitter, bursty timing, or intentional batch stress.
117
+ streaming-benchmark --fixture-mix includes text-only, mixed reasoning/text, CommonMark Markdown, simple GFM Markdown, or full-parser GFM Markdown assistant deltas.
118
+ streaming-benchmark --fixture-prelude-messages seeds completed live assistant messages before counters reset so large live overlays can be measured without changing fixture preservation denominators.
119
+ streaming-benchmark --simulate-reconnect reloads the app with an EventSource probe, forces one live stream close, and verifies reconnect/transient ids.
120
+ streaming-benchmark --simulate-trace-catchup suppresses backend live text deltas and verifies trace snapshot recovery.
121
+ streaming-benchmark --runs repeats the same scenario and reports medians; --from compares against a prior benchmark artifact.
122
+ streaming-benchmark --compare-url runs the same backend fixture at another Chat URL, for direct-vs-hosted SSE comparison.
123
+ streaming-benchmark --compare-hosted uses PIBO_DEV_PUBLIC_URL or PIBO_DEV_BASE_URL from the environment or .env.developer-host as the compare URL.
124
+ streaming-benchmark --compare-hosted-if-configured runs the hosted comparison when a dev URL is configured; otherwise it records a warning and keeps the primary benchmark.
125
+ streaming-benchmark --provider-request-id attaches provider/Pi telemetry delta counts, byte stats, gap stats, parse errors, first-text latency, and provider-to-transport preservation ratios from pibo debug telemetry.
126
+ streaming-benchmark --provider-session-id, --provider-turn-id, or --provider-selected-session discovers the latest provider request from telemetry session/turn metadata after the benchmark window before attaching provider metrics.
127
+ streaming-benchmark --assert exits non-zero when fixture/debug/DOM/provider preservation gates fail.
128
+ streaming-benchmark --expect-regression marks a required regression substring for controlled negative benchmarks; unexpected or missing expected regressions still fail with --assert.
129
+ streaming-benchmark --negative-profile batch expands to the backend batch reasoning/text fixture with required controlled regression assertions.
130
+ streaming-benchmark --negative-profile overlay-drop preserves SSE/EventSource input but drops live-overlay text/reasoning enqueue for a controlled pipeline-preservation failure.
131
131
  `);
132
132
  }
133
133
  function printReportHelp() {
134
- console.log(`pibo debug web report - render saved debug artifacts
135
-
136
- Usage:
137
- pibo debug web report streaming-benchmark --from artifact.json [--compact] [--output report.md] [--json-output report.json] [--json] [--artifact]
138
-
139
- Reports:
140
- streaming-benchmark Summarize saved pibo debug web scenario streaming-benchmark JSON as Markdown.
141
- --compact Render reviewer-friendly Markdown tables instead of the detailed line report.
142
- --output Write the Markdown report to a specific file path.
143
- --json-output Write the normalized JSON report payload and compact rows to a specific file path.
144
-
145
- Next:
146
- pibo debug web scenario streaming-benchmark --backend-fixture --assert --artifact
134
+ console.log(`pibo debug web report - render saved debug artifacts
135
+
136
+ Usage:
137
+ pibo debug web report streaming-benchmark --from artifact.json [--compact] [--output report.md] [--json-output report.json] [--json] [--artifact]
138
+
139
+ Reports:
140
+ streaming-benchmark Summarize saved pibo debug web scenario streaming-benchmark JSON as Markdown.
141
+ --compact Render reviewer-friendly Markdown tables instead of the detailed line report.
142
+ --output Write the Markdown report to a specific file path.
143
+ --json-output Write the normalized JSON report payload and compact rows to a specific file path.
144
+
145
+ Next:
146
+ pibo debug web scenario streaming-benchmark --backend-fixture --assert --artifact
147
147
  `);
148
148
  }
149
149
  async function runTargets(options) {
@@ -204,13 +204,13 @@ async function runSnapshot(options) {
204
204
  }
205
205
  async function runDiff(options) {
206
206
  if (options.positionals[0] === "--help" || options.positionals[0] === "-h") {
207
- console.log(`pibo debug web diff - compare scoped render snapshots
208
-
209
- Usage:
210
- pibo debug web diff --scope <selector> [--from artifact.json]
211
- pibo debug web diff --preset session-list
212
-
213
- Default --from is the last snapshot captured by pibo debug web snapshot.
207
+ console.log(`pibo debug web diff - compare scoped render snapshots
208
+
209
+ Usage:
210
+ pibo debug web diff --scope <selector> [--from artifact.json]
211
+ pibo debug web diff --preset session-list
212
+
213
+ Default --from is the last snapshot captured by pibo debug web snapshot.
214
214
  `);
215
215
  return;
216
216
  }
@@ -511,9 +511,9 @@ async function prepareStreamingBenchmarkEventSourceProbe(client, targetUrl) {
511
511
  await client.send("Page.addScriptToEvaluateOnNewDocument", { source: streamingBenchmarkEventSourceProbeScript() }, 5_000);
512
512
  if (targetUrl)
513
513
  await navigateStreamingBenchmarkTarget(client, targetUrl);
514
- const state = await client.evaluate(`(() => {
515
- try { localStorage.setItem('pibo.chat.debugStreaming', '1'); } catch {}
516
- return { href: location.href };
514
+ const state = await client.evaluate(`(() => {
515
+ try { localStorage.setItem('pibo.chat.debugStreaming', '1'); } catch {}
516
+ return { href: location.href };
517
517
  })()`, 5_000);
518
518
  const url = new URL(state.href);
519
519
  if (url.protocol !== "http:" && url.protocol !== "https:")
@@ -544,9 +544,9 @@ async function navigateStreamingBenchmarkFixture(client, fixtureProfile, fixture
544
544
  await client.evaluate("new Promise((resolve) => { if (document.readyState === 'complete') resolve(true); else addEventListener('load', () => resolve(true), { once: true }); })", 5_000);
545
545
  }
546
546
  async function enableStreamingDebugForCurrentApp(client) {
547
- const state = await client.evaluate(`(() => {
548
- try { localStorage.setItem('pibo.chat.debugStreaming', '1'); } catch {}
549
- return { href: location.href, hasReset: typeof window.__piboStreamingDebugReset === 'function' };
547
+ const state = await client.evaluate(`(() => {
548
+ try { localStorage.setItem('pibo.chat.debugStreaming', '1'); } catch {}
549
+ return { href: location.href, hasReset: typeof window.__piboStreamingDebugReset === 'function' };
550
550
  })()`, 5_000);
551
551
  if (state.hasReset)
552
552
  return;
@@ -609,24 +609,24 @@ export async function runGatewayCli(argv = process.argv) {
609
609
  process.exitCode = 1;
610
610
  }
611
611
  function printGatewayHelp() {
612
- console.log(`pibo gateway - Gateway management
613
-
614
- Commands:
615
- web status Inspect the production gateway
616
- web start Start the production gateway
617
- web restart Safely restart the production gateway
618
- web doctor Check production gateway health
619
- dev status Inspect the dev gateway
620
- dev start Start the dev gateway
621
- dev restart Restart the dev gateway
622
- dev doctor Check dev gateway health
623
-
624
- Options:
625
- --force --confirm ${RESTART_CONFIRMATION_TOKEN}
626
- Force a production restart after explicit confirmation
627
-
628
- Next:
629
- pibo gateway web status
630
- pibo gateway dev status
612
+ console.log(`pibo gateway - Gateway management
613
+
614
+ Commands:
615
+ web status Inspect the production gateway
616
+ web start Start the production gateway
617
+ web restart Safely restart the production gateway
618
+ web doctor Check production gateway health
619
+ dev status Inspect the dev gateway
620
+ dev start Start the dev gateway
621
+ dev restart Restart the dev gateway
622
+ dev doctor Check dev gateway health
623
+
624
+ Options:
625
+ --force --confirm ${RESTART_CONFIRMATION_TOKEN}
626
+ Force a production restart after explicit confirmation
627
+
628
+ Next:
629
+ pibo gateway web status
630
+ pibo gateway dev status
631
631
  `);
632
632
  }
@@ -14,65 +14,65 @@ const EXAMPLE_CONFIG = {
14
14
  },
15
15
  };
16
16
  export function printConfigHelp() {
17
- console.log(`
18
- MCP server configuration
19
-
20
- Commands:
21
- pibo mcp config init Create mcp_servers.json if missing
22
- pibo mcp config path Print the config path that will be used
23
- pibo mcp config paths Show config path lookup order
24
- pibo mcp config show Print the current config JSON
25
- pibo mcp config add <name> <json> Add or replace one server
26
- pibo mcp config describe <name> "<text>" Add or update an agent-facing description
27
- pibo mcp config remove <name> Remove one server
28
- pibo mcp config schema Show server JSON schema and examples
29
- pibo mcp config help Show this help
17
+ console.log(`
18
+ MCP server configuration
19
+
20
+ Commands:
21
+ pibo mcp config init Create mcp_servers.json if missing
22
+ pibo mcp config path Print the config path that will be used
23
+ pibo mcp config paths Show config path lookup order
24
+ pibo mcp config show Print the current config JSON
25
+ pibo mcp config add <name> <json> Add or replace one server
26
+ pibo mcp config describe <name> "<text>" Add or update an agent-facing description
27
+ pibo mcp config remove <name> Remove one server
28
+ pibo mcp config schema Show server JSON schema and examples
29
+ pibo mcp config help Show this help
30
30
  `);
31
31
  }
32
32
  export function printConfigPaths() {
33
- console.log(`
34
- MCP config lookup order:
35
- 1. -c/--config <path>
36
- 2. MCP_CONFIG_PATH
37
- 3. ./mcp_servers.json
38
- 4. ~/.mcp_servers.json
39
- 5. ~/.config/mcp/mcp_servers.json
33
+ console.log(`
34
+ MCP config lookup order:
35
+ 1. -c/--config <path>
36
+ 2. MCP_CONFIG_PATH
37
+ 3. ./mcp_servers.json
38
+ 4. ~/.mcp_servers.json
39
+ 5. ~/.config/mcp/mcp_servers.json
40
40
  `);
41
41
  }
42
42
  export function printConfigSchema() {
43
- console.log(`
44
- Server schema:
45
- Stdio server:
46
- {
47
- "command": "npx",
48
- "args": ["-y", "@modelcontextprotocol/server-filesystem", "."],
49
- "env": { "TOKEN": "\${TOKEN}" },
50
- "cwd": ".",
51
- "allowedTools": ["read_*"],
52
- "disabledTools": ["write_*"],
53
- "pibo": {
54
- "description": "Access project files through the configured filesystem MCP server.",
55
- "descriptionSource": "user"
56
- }
57
- }
58
-
59
- HTTP server:
60
- {
61
- "url": "https://example.com/mcp",
62
- "headers": { "Authorization": "Bearer \${TOKEN}" },
63
- "allowedTools": ["search_*"],
64
- "disabledTools": ["dangerous_*"]
65
- }
66
-
67
- Full example:
68
- ${JSON.stringify(EXAMPLE_CONFIG, null, 2)}
69
-
70
- Examples:
71
- pibo mcp config init
72
- pibo mcp config add filesystem '{"command":"npx","args":["-y","@modelcontextprotocol/server-filesystem","."]}'
73
- pibo mcp config add deepwiki '{"url":"https://mcp.deepwiki.com/mcp"}'
74
- pibo mcp config describe filesystem "Access project files through the configured filesystem MCP server."
75
- pibo mcp config remove filesystem
43
+ console.log(`
44
+ Server schema:
45
+ Stdio server:
46
+ {
47
+ "command": "npx",
48
+ "args": ["-y", "@modelcontextprotocol/server-filesystem", "."],
49
+ "env": { "TOKEN": "\${TOKEN}" },
50
+ "cwd": ".",
51
+ "allowedTools": ["read_*"],
52
+ "disabledTools": ["write_*"],
53
+ "pibo": {
54
+ "description": "Access project files through the configured filesystem MCP server.",
55
+ "descriptionSource": "user"
56
+ }
57
+ }
58
+
59
+ HTTP server:
60
+ {
61
+ "url": "https://example.com/mcp",
62
+ "headers": { "Authorization": "Bearer \${TOKEN}" },
63
+ "allowedTools": ["search_*"],
64
+ "disabledTools": ["dangerous_*"]
65
+ }
66
+
67
+ Full example:
68
+ ${JSON.stringify(EXAMPLE_CONFIG, null, 2)}
69
+
70
+ Examples:
71
+ pibo mcp config init
72
+ pibo mcp config add filesystem '{"command":"npx","args":["-y","@modelcontextprotocol/server-filesystem","."]}'
73
+ pibo mcp config add deepwiki '{"url":"https://mcp.deepwiki.com/mcp"}'
74
+ pibo mcp config describe filesystem "Access project files through the configured filesystem MCP server."
75
+ pibo mcp config remove filesystem
76
76
  `);
77
77
  }
78
78
  async function readRawConfig(path) {
package/dist/mcp/index.js CHANGED
@@ -314,27 +314,27 @@ function parseArgs(args) {
314
314
  * Print help message
315
315
  */
316
316
  function printHelp() {
317
- console.log(`
318
- pibo mcp (mcp-cli v${VERSION}) - A lightweight CLI for MCP servers
319
-
320
- Commands:
321
- pibo mcp List configured servers and tools
322
- pibo mcp info <server> Show server tools
323
- pibo mcp info <server> <tool> Show one tool schema
324
- pibo mcp grep <pattern> Search tool names
325
- pibo mcp call <server> <tool> [json] Call one tool
326
- pibo mcp config Discover config commands
327
- pibo mcp registry Discover curated server presets
328
-
329
- Options:
330
- -v, --version Show version number
331
- -d, --with-descriptions Show full tool descriptions (default: first 100 chars)
332
- -c, --config <path> Path to mcp_servers.json config file
333
- --no-setup Skip registry setup commands during install
334
-
335
- Next:
336
- pibo mcp config help
337
- pibo mcp registry help
317
+ console.log(`
318
+ pibo mcp (mcp-cli v${VERSION}) - A lightweight CLI for MCP servers
319
+
320
+ Commands:
321
+ pibo mcp List configured servers and tools
322
+ pibo mcp info <server> Show server tools
323
+ pibo mcp info <server> <tool> Show one tool schema
324
+ pibo mcp grep <pattern> Search tool names
325
+ pibo mcp call <server> <tool> [json] Call one tool
326
+ pibo mcp config Discover config commands
327
+ pibo mcp registry Discover curated server presets
328
+
329
+ Options:
330
+ -v, --version Show version number
331
+ -d, --with-descriptions Show full tool descriptions (default: first 100 chars)
332
+ -c, --config <path> Path to mcp_servers.json config file
333
+ --no-setup Skip registry setup commands during install
334
+
335
+ Next:
336
+ pibo mcp config help
337
+ pibo mcp registry help
338
338
  `);
339
339
  }
340
340
  /**
@@ -17,17 +17,17 @@ function buildServerConfig(entry) {
17
17
  };
18
18
  }
19
19
  function printRegistryHelp() {
20
- console.log(`
21
- MCP server registry
22
-
23
- Commands:
24
- pibo mcp registry list List built-in MCP server presets
25
- pibo mcp registry show <name> Show one preset
26
- pibo mcp registry doctor <name> Check runtime prerequisites
27
- pibo mcp registry install <name> Install setup deps and add preset to mcp_servers.json
28
- pibo mcp registry install <name> --no-setup Only add preset to mcp_servers.json
29
- pibo mcp registry remove <name> Remove config and local runtime
30
- pibo mcp registry help Show this help
20
+ console.log(`
21
+ MCP server registry
22
+
23
+ Commands:
24
+ pibo mcp registry list List built-in MCP server presets
25
+ pibo mcp registry show <name> Show one preset
26
+ pibo mcp registry doctor <name> Check runtime prerequisites
27
+ pibo mcp registry install <name> Install setup deps and add preset to mcp_servers.json
28
+ pibo mcp registry install <name> --no-setup Only add preset to mcp_servers.json
29
+ pibo mcp registry remove <name> Remove config and local runtime
30
+ pibo mcp registry help Show this help
31
31
  `);
32
32
  }
33
33
  function printEntry(entry) {
@@ -77,16 +77,16 @@ export async function runPiPackagesCli(argv = process.argv) {
77
77
  await program.parseAsync(argv);
78
78
  }
79
79
  function printPiPackagesDiscovery() {
80
- console.log(`pibo pi-packages - registered Pi Coding Agent packages
81
-
82
- Commands:
83
- list List registered packages
84
- add <source> Register a pi.dev URL or local path
85
- inspect <name-or-id> Show package metadata
86
- remove <name-or-id> Remove a registration
87
- doctor Check package sources
88
-
89
- Next:
90
- pibo pi-packages list
80
+ console.log(`pibo pi-packages - registered Pi Coding Agent packages
81
+
82
+ Commands:
83
+ list List registered packages
84
+ add <source> Register a pi.dev URL or local path
85
+ inspect <name-or-id> Show package metadata
86
+ remove <name-or-id> Remove a registration
87
+ doctor Check package sources
88
+
89
+ Next:
90
+ pibo pi-packages list
91
91
  `);
92
92
  }