@pasko70/pibo 1.4.0 → 1.4.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 (129) 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 +82 -82
  8. package/dist/apps/chat/data/project-service.js +166 -166
  9. package/dist/apps/chat/data/read-state-service.js +18 -18
  10. package/dist/apps/chat/data/timeline-query-service.js +8 -8
  11. package/dist/apps/chat/model-catalog.js +5 -1
  12. package/dist/apps/chat/static-assets.js +853 -853
  13. package/dist/apps/chat/workflow-persistence.js +255 -255
  14. package/dist/apps/chat-ui/assets/{dist-7YaJd19a.js → dist-B2BEpL7n.js} +1 -1
  15. package/dist/apps/chat-ui/assets/{dist-CiYeO8nN.js → dist-BAGS_xkV.js} +1 -1
  16. package/dist/apps/chat-ui/assets/{dist-BIvPnn_C.js → dist-BAXNalar.js} +1 -1
  17. package/dist/apps/chat-ui/assets/{dist-CjSI6y5z.js → dist-BwUvs6Ph.js} +1 -1
  18. package/dist/apps/chat-ui/assets/{dist-Ubstha8t.js → dist-C0zsJ8II.js} +1 -1
  19. package/dist/apps/chat-ui/assets/{dist-KXCMNKIL.js → dist-C3PnEkhb.js} +1 -1
  20. package/dist/apps/chat-ui/assets/{dist-CVQU42Fn.js → dist-CYPL-B2Z.js} +1 -1
  21. package/dist/apps/chat-ui/assets/{dist-BbNE72h8.js → dist-CiDSXgtg.js} +1 -1
  22. package/dist/apps/chat-ui/assets/{dist-D7TCkoFT.js → dist-DnACFKyO.js} +1 -1
  23. package/dist/apps/chat-ui/assets/{dist-ChSZNqKE.js → dist-ZB1-ui2y.js} +1 -1
  24. package/dist/apps/chat-ui/assets/{dist-8Noo5eCN.js → dist-vKlxFkTa.js} +1 -1
  25. package/dist/apps/chat-ui/assets/{index-CmxtUVG1.js → index-0x7tuTNX.js} +3 -3
  26. package/dist/apps/chat-ui/assets/{index-C25VYnyb.css → index-B-qaya1G.css} +1 -1
  27. package/dist/apps/chat-ui/index.html +18 -18
  28. package/dist/apps/chat-ui/manifest.webmanifest +25 -25
  29. package/dist/apps/chat-ui/sw.js +41 -41
  30. package/dist/apps/chat-vscode-web/index.html +12 -12
  31. package/dist/apps/cli-ui/cliSessionsCommand.js +23 -23
  32. package/dist/apps/context-files-ui/index.html +11 -11
  33. package/dist/apps/vscode-artifacts/latest.vsix +0 -0
  34. package/dist/apps/vscode-artifacts/pibo-vscode-ext-1.4.2.vsix +0 -0
  35. package/dist/bin/pibo.js +0 -0
  36. package/dist/bin/rg.js +0 -0
  37. package/dist/cli.js +35 -35
  38. package/dist/compute/cli.js +54 -54
  39. package/dist/core/runtime.js +2 -0
  40. package/dist/core/session-router.js +1 -0
  41. package/dist/cron/cli.js +15 -15
  42. package/dist/cron/store.js +49 -49
  43. package/dist/data/cli.js +23 -23
  44. package/dist/data/event-log.js +23 -23
  45. package/dist/data/message-store.js +20 -20
  46. package/dist/data/navigation-store.js +9 -9
  47. package/dist/data/observation-store.js +4 -4
  48. package/dist/data/payload-store.js +17 -17
  49. package/dist/data/schema.js +429 -429
  50. package/dist/data/session-store.js +4 -4
  51. package/dist/data/telemetry-queries.js +54 -54
  52. package/dist/data/telemetry.js +156 -156
  53. package/dist/debug/events.js +12 -12
  54. package/dist/debug/failures.js +6 -6
  55. package/dist/debug/index.js +207 -207
  56. package/dist/debug/messages.js +6 -6
  57. package/dist/debug/pty.js +124 -124
  58. package/dist/debug/session.js +29 -29
  59. package/dist/debug/tools.js +5 -5
  60. package/dist/debug/web-snapshot-browser-scripts.js +294 -294
  61. package/dist/debug/web-streaming-browser-library.js +925 -925
  62. package/dist/debug/web-streaming-browser-scripts.js +232 -232
  63. package/dist/debug/web-streaming-provider-telemetry.js +4 -4
  64. package/dist/debug/web.js +93 -93
  65. package/dist/gateway/cli.js +19 -19
  66. package/dist/mcp/config-command.js +53 -53
  67. package/dist/mcp/index.js +21 -21
  68. package/dist/mcp/registry.js +11 -11
  69. package/dist/pi-packages/cli.js +11 -11
  70. package/dist/plugins/context-files-store.js +110 -110
  71. package/dist/plugins/context-files.js +4 -4
  72. package/dist/providers/glm.js +59 -0
  73. package/dist/ralph/cli.js +18 -18
  74. package/dist/ralph/templates.js +140 -140
  75. package/dist/reliability/store.js +226 -226
  76. package/dist/sessions/pibo-data-store.js +16 -16
  77. package/dist/sessions/sqlite-store.js +53 -53
  78. package/dist/setup/cli.js +58 -58
  79. package/dist/tools/agent-browser-wrapper.js +80 -80
  80. package/dist/tools/browser-use-cdp.js +12 -12
  81. package/dist/tools/browser-use-wrapper.js +762 -762
  82. package/dist/tools/guides.js +455 -455
  83. package/dist/tools/index.js +99 -99
  84. package/dist/tools/runtime/node-worker-source.js +205 -205
  85. package/dist/tools/runtime/python-worker-source.js +177 -177
  86. package/dist/vscode/cli.js +9 -9
  87. package/dist/web-annotations/cdp.js +900 -900
  88. package/dist/web-annotations/store.js +96 -96
  89. package/docs/README.md +23 -23
  90. package/docs/ops/install-developer-host.md +112 -112
  91. package/docs/ops/install-user-host.md +96 -96
  92. package/docs/ops/upgrade-user-to-developer-host.md +69 -69
  93. package/docs/ops/vscode-extension-release.md +160 -160
  94. package/package.json +1 -1
  95. package/skills/builtin/pi-agent-harness/SKILL.md +319 -319
  96. package/skills/builtin/pi-agent-harness/agents/openai.yaml +4 -4
  97. package/skills/builtin/pibo-docker-system/SKILL.md +170 -170
  98. package/skills/builtin/pibo-spec-writing/SKILL.md +330 -330
  99. package/skills/builtin/prd/SKILL.md +143 -143
  100. package/skills/builtin/ralph-loop/SKILL.md +359 -359
  101. package/skills/builtin/ralph-prd-json/SKILL.md +123 -123
  102. package/skills/builtin/skill-creator/LICENSE.txt +201 -201
  103. package/skills/builtin/skill-creator/SKILL.md +513 -513
  104. package/skills/builtin/skill-creator/agents/analyzer.md +274 -274
  105. package/skills/builtin/skill-creator/agents/comparator.md +202 -202
  106. package/skills/builtin/skill-creator/agents/grader.md +223 -223
  107. package/skills/builtin/skill-creator/assets/eval_review.html +146 -146
  108. package/skills/builtin/skill-creator/eval-viewer/generate_review.py +471 -471
  109. package/skills/builtin/skill-creator/eval-viewer/viewer.html +1325 -1325
  110. package/skills/builtin/skill-creator/references/schemas.md +430 -430
  111. package/skills/builtin/skill-creator/scripts/aggregate_benchmark.py +401 -401
  112. package/skills/builtin/skill-creator/scripts/generate_report.py +326 -326
  113. package/skills/builtin/skill-creator/scripts/improve_description.py +247 -247
  114. package/skills/builtin/skill-creator/scripts/package_skill.py +136 -136
  115. package/skills/builtin/skill-creator/scripts/quick_validate.py +102 -102
  116. package/skills/builtin/skill-creator/scripts/run_eval.py +310 -310
  117. package/skills/builtin/skill-creator/scripts/run_loop.py +328 -328
  118. package/skills/builtin/skill-creator/scripts/utils.py +47 -47
  119. package/skills/builtin/web-annotations/SKILL.md +93 -93
  120. package/src/mcp/LICENSE.mcp-cli +21 -21
  121. package/dist/apps/vscode-artifacts/pibo-vscode-1.3.0.vsix +0 -0
  122. package/dist/apps/vscode-artifacts/pibo-vscode-ext-1.3.3.vsix +0 -0
  123. package/dist/apps/vscode-artifacts/pibo-vscode-ext-1.3.4.vsix +0 -0
  124. package/dist/apps/vscode-artifacts/pibo-vscode-ext-1.3.5.vsix +0 -0
  125. package/dist/core/shared-app.js +0 -17
  126. package/dist/data/final-app-space-cutover-migration.js +0 -728
  127. package/dist/data/shared-app-migration.js +0 -757
  128. package/dist/session-ui/ownerViewModel.js +0 -27
  129. package/dist/shared-app.js +0 -4
@@ -1,78 +1,78 @@
1
- # Agent System
2
-
3
- You are an expert coding assistant operating inside pi, a coding agent harness. You help users by reading files, executing commands, editing code, and writing new files.
4
-
5
- ## Tools
6
-
7
- Available tools:
8
- {{availableTools}}
9
-
10
- In addition to the tools above, you may have access to other custom tools depending on the project.
11
-
12
- ## Guidelines
13
-
14
- {{guidelines}}
15
-
16
- Behavioral guidelines to reduce common LLM coding mistakes. Merge with project-specific instructions as needed.
17
-
18
- **Tradeoff:** These guidelines bias toward caution over speed. For trivial tasks, use judgment.
19
-
20
- ## 1. Think Before Coding
21
-
22
- **Don't assume. Don't hide confusion. Surface tradeoffs.**
23
-
24
- Before implementing:
25
- - State your assumptions explicitly. If uncertain, ask.
26
- - If multiple interpretations exist, present them - don't pick silently.
27
- - If a simpler approach exists, say so. Push back when warranted.
28
- - If something is unclear, stop. Name what's confusing. Ask.
29
-
30
- ## 2. Simplicity First
31
-
32
- **Minimum code that solves the problem. Nothing speculative.**
33
-
34
- - No features beyond what was asked.
35
- - No abstractions for single-use code.
36
- - No "flexibility" or "configurability" that wasn't requested.
37
- - No error handling for impossible scenarios.
38
- - If you write 200 lines and it could be 50, rewrite it.
39
-
40
- Ask yourself: "Would a senior engineer say this is overcomplicated?" If yes, simplify.
41
-
42
- ## 3. Surgical Changes
43
-
44
- **Touch only what you must. Clean up only your own mess.**
45
-
46
- When editing existing code:
47
- - Don't "improve" adjacent code, comments, or formatting.
48
- - Don't refactor things that aren't broken.
49
- - Match existing style, even if you'd do it differently.
50
- - If you notice unrelated dead code, mention it - don't delete it.
51
-
52
- When your changes create orphans:
53
- - Remove imports/variables/functions that YOUR changes made unused.
54
- - Don't remove pre-existing dead code unless asked.
55
-
56
- The test: Every changed line should trace directly to the user's request.
57
-
58
- ## 4. Goal-Driven Execution
59
-
60
- **Define success criteria. Loop until verified.**
61
-
62
- Transform tasks into verifiable goals:
63
- - "Add validation" → "Write tests for invalid inputs, then make them pass"
64
- - "Fix the bug" → "Write a test that reproduces it, then make it pass"
65
- - "Refactor X" → "Ensure tests pass before and after"
66
-
67
- For multi-step tasks, state a brief plan:
68
- ```
69
- 1. [Step] → verify: [check]
70
- 2. [Step] → verify: [check]
71
- 3. [Step] → verify: [check]
72
- ```
73
-
74
- Strong success criteria let you loop independently. Weak criteria ("make it work") require constant clarification.
75
-
76
- ---
77
-
1
+ # Agent System
2
+
3
+ You are an expert coding assistant operating inside pi, a coding agent harness. You help users by reading files, executing commands, editing code, and writing new files.
4
+
5
+ ## Tools
6
+
7
+ Available tools:
8
+ {{availableTools}}
9
+
10
+ In addition to the tools above, you may have access to other custom tools depending on the project.
11
+
12
+ ## Guidelines
13
+
14
+ {{guidelines}}
15
+
16
+ Behavioral guidelines to reduce common LLM coding mistakes. Merge with project-specific instructions as needed.
17
+
18
+ **Tradeoff:** These guidelines bias toward caution over speed. For trivial tasks, use judgment.
19
+
20
+ ## 1. Think Before Coding
21
+
22
+ **Don't assume. Don't hide confusion. Surface tradeoffs.**
23
+
24
+ Before implementing:
25
+ - State your assumptions explicitly. If uncertain, ask.
26
+ - If multiple interpretations exist, present them - don't pick silently.
27
+ - If a simpler approach exists, say so. Push back when warranted.
28
+ - If something is unclear, stop. Name what's confusing. Ask.
29
+
30
+ ## 2. Simplicity First
31
+
32
+ **Minimum code that solves the problem. Nothing speculative.**
33
+
34
+ - No features beyond what was asked.
35
+ - No abstractions for single-use code.
36
+ - No "flexibility" or "configurability" that wasn't requested.
37
+ - No error handling for impossible scenarios.
38
+ - If you write 200 lines and it could be 50, rewrite it.
39
+
40
+ Ask yourself: "Would a senior engineer say this is overcomplicated?" If yes, simplify.
41
+
42
+ ## 3. Surgical Changes
43
+
44
+ **Touch only what you must. Clean up only your own mess.**
45
+
46
+ When editing existing code:
47
+ - Don't "improve" adjacent code, comments, or formatting.
48
+ - Don't refactor things that aren't broken.
49
+ - Match existing style, even if you'd do it differently.
50
+ - If you notice unrelated dead code, mention it - don't delete it.
51
+
52
+ When your changes create orphans:
53
+ - Remove imports/variables/functions that YOUR changes made unused.
54
+ - Don't remove pre-existing dead code unless asked.
55
+
56
+ The test: Every changed line should trace directly to the user's request.
57
+
58
+ ## 4. Goal-Driven Execution
59
+
60
+ **Define success criteria. Loop until verified.**
61
+
62
+ Transform tasks into verifiable goals:
63
+ - "Add validation" → "Write tests for invalid inputs, then make them pass"
64
+ - "Fix the bug" → "Write a test that reproduces it, then make it pass"
65
+ - "Refactor X" → "Ensure tests pass before and after"
66
+
67
+ For multi-step tasks, state a brief plan:
68
+ ```
69
+ 1. [Step] → verify: [check]
70
+ 2. [Step] → verify: [check]
71
+ 3. [Step] → verify: [check]
72
+ ```
73
+
74
+ Strong success criteria let you loop independently. Weak criteria ("make it work") require constant clarification.
75
+
76
+ ---
77
+
78
78
  **These guidelines are working if:** fewer unnecessary changes in diffs, fewer rewrites due to overcomplication, and clarifying questions come before implementation rather than after mistakes.
@@ -17,35 +17,35 @@ export class CustomAgentStore {
17
17
  this.db.exec("PRAGMA busy_timeout = 5000");
18
18
  if (resolvedPath !== ":memory:")
19
19
  this.db.exec("PRAGMA journal_mode = WAL");
20
- this.db.exec(`
21
- CREATE TABLE IF NOT EXISTS chat_agents (
22
- id TEXT PRIMARY KEY,
23
- profile_name TEXT NOT NULL UNIQUE,
24
- display_name TEXT NOT NULL,
25
- description TEXT,
26
- native_tools_json TEXT NOT NULL,
27
- skills_json TEXT NOT NULL,
28
- context_files_json TEXT NOT NULL,
29
- subagents_json TEXT NOT NULL,
30
- mcp_servers_json TEXT NOT NULL DEFAULT '[]',
31
- pi_packages_json TEXT NOT NULL DEFAULT '[]',
32
- main_model_json TEXT,
33
- subagent_model_json TEXT,
34
- thinking_level TEXT,
35
- main_thinking_level TEXT,
36
- subagent_thinking_level TEXT,
37
- fast INTEGER,
38
- main_fast INTEGER,
39
- subagent_fast INTEGER,
40
- builtin_tools TEXT NOT NULL,
41
- builtin_tool_names_json TEXT NOT NULL DEFAULT '["read","bash","edit","write"]',
42
- auto_context_files INTEGER NOT NULL DEFAULT 1,
43
- run_control INTEGER NOT NULL,
44
- created_at TEXT NOT NULL,
45
- updated_at TEXT NOT NULL,
46
- archived_at TEXT
47
- );
48
-
20
+ this.db.exec(`
21
+ CREATE TABLE IF NOT EXISTS chat_agents (
22
+ id TEXT PRIMARY KEY,
23
+ profile_name TEXT NOT NULL UNIQUE,
24
+ display_name TEXT NOT NULL,
25
+ description TEXT,
26
+ native_tools_json TEXT NOT NULL,
27
+ skills_json TEXT NOT NULL,
28
+ context_files_json TEXT NOT NULL,
29
+ subagents_json TEXT NOT NULL,
30
+ mcp_servers_json TEXT NOT NULL DEFAULT '[]',
31
+ pi_packages_json TEXT NOT NULL DEFAULT '[]',
32
+ main_model_json TEXT,
33
+ subagent_model_json TEXT,
34
+ thinking_level TEXT,
35
+ main_thinking_level TEXT,
36
+ subagent_thinking_level TEXT,
37
+ fast INTEGER,
38
+ main_fast INTEGER,
39
+ subagent_fast INTEGER,
40
+ builtin_tools TEXT NOT NULL,
41
+ builtin_tool_names_json TEXT NOT NULL DEFAULT '["read","bash","edit","write"]',
42
+ auto_context_files INTEGER NOT NULL DEFAULT 1,
43
+ run_control INTEGER NOT NULL,
44
+ created_at TEXT NOT NULL,
45
+ updated_at TEXT NOT NULL,
46
+ archived_at TEXT
47
+ );
48
+
49
49
  `);
50
50
  this.migrateArchivedAtColumn();
51
51
  this.migrateAutoContextFilesColumn();
@@ -141,31 +141,31 @@ export class CustomAgentStore {
141
141
  updatedAt: new Date().toISOString(),
142
142
  };
143
143
  this.db
144
- .prepare(`
145
- UPDATE chat_agents SET
146
- profile_name = ?,
147
- display_name = ?,
148
- description = ?,
149
- native_tools_json = ?,
150
- skills_json = ?,
151
- context_files_json = ?,
152
- subagents_json = ?,
153
- mcp_servers_json = ?,
154
- pi_packages_json = ?,
155
- main_model_json = ?,
156
- subagent_model_json = ?,
157
- thinking_level = ?,
158
- main_thinking_level = ?,
159
- subagent_thinking_level = ?,
160
- fast = ?,
161
- main_fast = ?,
162
- subagent_fast = ?,
163
- builtin_tools = ?,
164
- builtin_tool_names_json = ?,
165
- auto_context_files = ?,
166
- run_control = ?,
167
- updated_at = ?
168
- WHERE id = ?
144
+ .prepare(`
145
+ UPDATE chat_agents SET
146
+ profile_name = ?,
147
+ display_name = ?,
148
+ description = ?,
149
+ native_tools_json = ?,
150
+ skills_json = ?,
151
+ context_files_json = ?,
152
+ subagents_json = ?,
153
+ mcp_servers_json = ?,
154
+ pi_packages_json = ?,
155
+ main_model_json = ?,
156
+ subagent_model_json = ?,
157
+ thinking_level = ?,
158
+ main_thinking_level = ?,
159
+ subagent_thinking_level = ?,
160
+ fast = ?,
161
+ main_fast = ?,
162
+ subagent_fast = ?,
163
+ builtin_tools = ?,
164
+ builtin_tool_names_json = ?,
165
+ auto_context_files = ?,
166
+ run_control = ?,
167
+ updated_at = ?
168
+ WHERE id = ?
169
169
  `)
170
170
  .run(updated.profileName, updated.displayName, updated.description ?? null, JSON.stringify(updated.nativeTools), JSON.stringify(updated.skills), JSON.stringify(updated.contextFiles), JSON.stringify(sanitizeSubagents(updated.subagents)), JSON.stringify(updated.mcpServers), JSON.stringify(updated.piPackages), updated.mainModel ? JSON.stringify(updated.mainModel) : null, updated.subagentModel ? JSON.stringify(updated.subagentModel) : null, updated.thinkingLevel ?? null, updated.mainThinkingLevel ?? null, updated.subagentThinkingLevel ?? null, serializeBoolean(updated.fast), serializeBoolean(updated.mainFast), serializeBoolean(updated.subagentFast), updated.builtinTools, JSON.stringify(updated.builtinToolNames), updated.autoContextFiles ? 1 : 0, updated.runControl ? 1 : 0, updated.updatedAt, id);
171
171
  return this.get(id);
@@ -190,34 +190,34 @@ export class CustomAgentStore {
190
190
  }
191
191
  insert(agent) {
192
192
  this.db
193
- .prepare(`
194
- INSERT INTO chat_agents (
195
- id,
196
- profile_name,
197
- display_name,
198
- description,
199
- native_tools_json,
200
- skills_json,
201
- context_files_json,
202
- subagents_json,
203
- mcp_servers_json,
204
- pi_packages_json,
205
- main_model_json,
206
- subagent_model_json,
207
- thinking_level,
208
- main_thinking_level,
209
- subagent_thinking_level,
210
- fast,
211
- main_fast,
212
- subagent_fast,
213
- builtin_tools,
214
- builtin_tool_names_json,
215
- auto_context_files,
216
- run_control,
217
- created_at,
218
- updated_at,
219
- archived_at
220
- ) VALUES (${Array.from({ length: 25 }, () => "?").join(", ")})
193
+ .prepare(`
194
+ INSERT INTO chat_agents (
195
+ id,
196
+ profile_name,
197
+ display_name,
198
+ description,
199
+ native_tools_json,
200
+ skills_json,
201
+ context_files_json,
202
+ subagents_json,
203
+ mcp_servers_json,
204
+ pi_packages_json,
205
+ main_model_json,
206
+ subagent_model_json,
207
+ thinking_level,
208
+ main_thinking_level,
209
+ subagent_thinking_level,
210
+ fast,
211
+ main_fast,
212
+ subagent_fast,
213
+ builtin_tools,
214
+ builtin_tool_names_json,
215
+ auto_context_files,
216
+ run_control,
217
+ created_at,
218
+ updated_at,
219
+ archived_at
220
+ ) VALUES (${Array.from({ length: 25 }, () => "?").join(", ")})
221
221
  `)
222
222
  .run(agent.id, agent.profileName, agent.displayName, agent.description ?? null, JSON.stringify(agent.nativeTools), JSON.stringify(agent.skills), JSON.stringify(agent.contextFiles), JSON.stringify(sanitizeSubagents(agent.subagents)), JSON.stringify(agent.mcpServers), JSON.stringify(agent.piPackages), agent.mainModel ? JSON.stringify(agent.mainModel) : null, agent.subagentModel ? JSON.stringify(agent.subagentModel) : null, agent.thinkingLevel ?? null, agent.mainThinkingLevel ?? null, agent.subagentThinkingLevel ?? null, serializeBoolean(agent.fast), serializeBoolean(agent.mainFast), serializeBoolean(agent.subagentFast), agent.builtinTools, JSON.stringify(agent.builtinToolNames), agent.autoContextFiles ? 1 : 0, agent.runControl ? 1 : 0, agent.createdAt, agent.updatedAt, agent.archivedAt ?? null);
223
223
  }