@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.
- package/README.md +183 -183
- package/context/codex-base-prompt.md +148 -148
- package/context/compute-worker.md +23 -23
- package/context/pibo-compaction-prompt.md +100 -100
- package/context/pibo-native-tooling.md +18 -18
- package/context/pibo-system-prompt.md +77 -77
- package/dist/apps/chat/agent-store.js +248 -248
- package/dist/apps/chat/data/project-service.js +168 -168
- package/dist/apps/chat/data/read-state-service.js +18 -18
- package/dist/apps/chat/data/session-query-service.js +25 -25
- package/dist/apps/chat/data/timeline-query-service.js +14 -14
- package/dist/apps/chat/static-assets.js +854 -854
- package/dist/apps/chat/workflow-persistence.js +255 -255
- package/dist/apps/chat-ui/assets/{dist-5GM30SQK.js → dist-5WHjqNrY.js} +1 -1
- package/dist/apps/chat-ui/assets/{dist-Cge8JklW.js → dist-BJBNSAIH.js} +1 -1
- package/dist/apps/chat-ui/assets/{dist-C-5u2QIS.js → dist-C3liNPZJ.js} +1 -1
- package/dist/apps/chat-ui/assets/{dist-BWbWIOcD.js → dist-CW6FHEaw.js} +1 -1
- package/dist/apps/chat-ui/assets/{dist-CjYtD7ZT.js → dist-CaNlj6v6.js} +1 -1
- package/dist/apps/chat-ui/assets/{dist-BYKMZlI0.js → dist-Cne74s6i.js} +1 -1
- package/dist/apps/chat-ui/assets/{dist-9lsp1UpA.js → dist-DvKZv20v.js} +1 -1
- package/dist/apps/chat-ui/assets/{dist-DFhhiR8M.js → dist-FYH7vzrh.js} +1 -1
- package/dist/apps/chat-ui/assets/{dist-Etxmpyxg.js → dist-f5KioIwL.js} +1 -1
- package/dist/apps/chat-ui/assets/{dist-2KdPXbMT.js → dist-hWrpj7SE.js} +1 -1
- package/dist/apps/chat-ui/assets/{dist-Idz5kzy8.js → dist-jAuO8_bV.js} +1 -1
- package/dist/apps/chat-ui/assets/{index-BqD_bm7z.js → index-Bf29pJph.js} +29 -29
- package/dist/apps/chat-ui/index.html +17 -17
- package/dist/apps/chat-ui/manifest.webmanifest +25 -25
- package/dist/apps/chat-ui/sw.js +47 -47
- package/dist/apps/chat-vscode-web/assets/index-BAMxIaI_.js +41 -0
- package/dist/apps/chat-vscode-web/index.html +13 -13
- package/dist/apps/cli-ui/cliSessionsCommand.js +23 -23
- package/dist/apps/context-files-ui/index.html +11 -11
- package/dist/cli.js +39 -39
- package/dist/compute/cli.js +54 -54
- package/dist/core/session-router.js +5 -2
- package/dist/cron/cli.js +15 -15
- package/dist/cron/store.js +49 -49
- package/dist/data/cli.js +23 -23
- package/dist/data/event-log.js +23 -23
- package/dist/data/message-store.js +20 -20
- package/dist/data/navigation-store.js +9 -9
- package/dist/data/observation-store.js +4 -4
- package/dist/data/payload-store.js +17 -17
- package/dist/data/schema.js +431 -431
- package/dist/data/session-store.js +4 -4
- package/dist/data/telemetry-queries.js +54 -54
- package/dist/data/telemetry.js +197 -197
- package/dist/debug/events.js +12 -12
- package/dist/debug/failures.js +6 -6
- package/dist/debug/index.js +227 -227
- package/dist/debug/messages.js +6 -6
- package/dist/debug/pty.js +124 -124
- package/dist/debug/session.js +29 -29
- package/dist/debug/tools.js +5 -5
- package/dist/debug/web-snapshot-browser-scripts.js +294 -294
- package/dist/debug/web-streaming-browser-library.js +925 -925
- package/dist/debug/web-streaming-browser-scripts.js +232 -232
- package/dist/debug/web-streaming-provider-telemetry.js +4 -4
- package/dist/debug/web.js +93 -93
- package/dist/gateway/cli.js +19 -19
- package/dist/mcp/config-command.js +53 -53
- package/dist/mcp/index.js +21 -21
- package/dist/mcp/registry.js +11 -11
- package/dist/pi-packages/cli.js +11 -11
- package/dist/plugins/context-files-store.js +110 -110
- package/dist/plugins/context-files.js +4 -4
- package/dist/ralph/cli.js +18 -18
- package/dist/ralph/templates.js +140 -140
- package/dist/reliability/store.js +226 -226
- package/dist/session-ui/sessionActivity.js +30 -0
- package/dist/sessions/pibo-data-store.js +16 -16
- package/dist/sessions/sqlite-store.js +53 -53
- package/dist/setup/cli.js +58 -58
- package/dist/signals/projector.js +26 -11
- package/dist/signals/registry.js +41 -0
- package/dist/tools/agent-browser-wrapper.js +80 -80
- package/dist/tools/browser-use-cdp.js +12 -12
- package/dist/tools/browser-use-wrapper.js +762 -762
- package/dist/tools/guides.js +538 -538
- package/dist/tools/index.js +99 -99
- package/dist/tools/runtime/node-worker-source.js +205 -205
- package/dist/tools/runtime/python-worker-source.js +177 -177
- package/dist/vscode/cli.js +9 -9
- package/dist/web-annotations/cdp.js +900 -900
- package/dist/web-annotations/store.js +96 -96
- package/docs/README.md +23 -23
- package/docs/ops/install-developer-host.md +112 -112
- package/docs/ops/install-user-host.md +96 -96
- package/docs/ops/upgrade-user-to-developer-host.md +69 -69
- package/docs/ops/vscode-extension-release.md +160 -160
- package/package.json +95 -95
- package/skills/builtin/graphify/SKILL.md +52 -52
- package/skills/builtin/pi-agent-harness/SKILL.md +319 -319
- package/skills/builtin/pi-agent-harness/agents/openai.yaml +4 -4
- package/skills/builtin/pibo-docker-system/SKILL.md +170 -170
- package/skills/builtin/pibo-spec-writing/SKILL.md +330 -330
- package/skills/builtin/prd/SKILL.md +143 -143
- package/skills/builtin/ralph-loop/SKILL.md +359 -359
- package/skills/builtin/ralph-prd-json/SKILL.md +123 -123
- package/skills/builtin/skill-creator/LICENSE.txt +201 -201
- package/skills/builtin/skill-creator/SKILL.md +513 -513
- package/skills/builtin/skill-creator/agents/analyzer.md +274 -274
- package/skills/builtin/skill-creator/agents/comparator.md +202 -202
- package/skills/builtin/skill-creator/agents/grader.md +223 -223
- package/skills/builtin/skill-creator/assets/eval_review.html +146 -146
- package/skills/builtin/skill-creator/eval-viewer/generate_review.py +471 -471
- package/skills/builtin/skill-creator/eval-viewer/viewer.html +1325 -1325
- package/skills/builtin/skill-creator/references/schemas.md +430 -430
- package/skills/builtin/skill-creator/scripts/aggregate_benchmark.py +401 -401
- package/skills/builtin/skill-creator/scripts/generate_report.py +326 -326
- package/skills/builtin/skill-creator/scripts/improve_description.py +247 -247
- package/skills/builtin/skill-creator/scripts/package_skill.py +136 -136
- package/skills/builtin/skill-creator/scripts/quick_validate.py +102 -102
- package/skills/builtin/skill-creator/scripts/run_eval.py +310 -310
- package/skills/builtin/skill-creator/scripts/run_loop.py +328 -328
- package/skills/builtin/skill-creator/scripts/utils.py +47 -47
- package/skills/builtin/web-annotations/SKILL.md +93 -93
- package/src/mcp/LICENSE.mcp-cli +21 -21
- package/dist/apps/chat-vscode-web/assets/index-Cst9OUkC.js +0 -41
- package/dist/session-ui/activeTurn.js +0 -126
|
@@ -1,126 +0,0 @@
|
|
|
1
|
-
export const EMPTY_STABLE_ACTIVE_TURN = { active: false };
|
|
2
|
-
export function resolveStableActiveTurn(previous, observation) {
|
|
3
|
-
const sessionId = observation.sessionId ?? previous.sessionId;
|
|
4
|
-
const sameSession = !previous.sessionId || !sessionId || previous.sessionId === sessionId;
|
|
5
|
-
const current = sameSession ? previous : { active: false, sessionId };
|
|
6
|
-
const terminalKey = observation.terminal?.key;
|
|
7
|
-
const observedStartedAt = validTimestamp(observation.startedAt) ? observation.startedAt : undefined;
|
|
8
|
-
if (observedStartedAt && terminalClosesTurn(observation.terminal, observedStartedAt)) {
|
|
9
|
-
return inactiveState(current, sessionId, terminalKey);
|
|
10
|
-
}
|
|
11
|
-
if (observedStartedAt) {
|
|
12
|
-
if (current.active &&
|
|
13
|
-
current.sessionId === sessionId &&
|
|
14
|
-
current.startedAt === observedStartedAt &&
|
|
15
|
-
current.terminalBaselineKey === terminalKey)
|
|
16
|
-
return current;
|
|
17
|
-
return {
|
|
18
|
-
sessionId,
|
|
19
|
-
active: true,
|
|
20
|
-
startedAt: observedStartedAt,
|
|
21
|
-
terminalBaselineKey: terminalKey,
|
|
22
|
-
};
|
|
23
|
-
}
|
|
24
|
-
if (current.active) {
|
|
25
|
-
if (terminalKey && terminalKey !== current.terminalBaselineKey) {
|
|
26
|
-
return inactiveState(current, sessionId, terminalKey);
|
|
27
|
-
}
|
|
28
|
-
return current;
|
|
29
|
-
}
|
|
30
|
-
if (observation.activeEvidence && terminalKey !== current.endedByTerminalKey) {
|
|
31
|
-
return {
|
|
32
|
-
sessionId,
|
|
33
|
-
active: true,
|
|
34
|
-
terminalBaselineKey: terminalKey,
|
|
35
|
-
};
|
|
36
|
-
}
|
|
37
|
-
if (current.sessionId === sessionId)
|
|
38
|
-
return current;
|
|
39
|
-
return { ...current, sessionId };
|
|
40
|
-
}
|
|
41
|
-
export function findLatestActiveTurnTerminal(traceView) {
|
|
42
|
-
if (!traceView)
|
|
43
|
-
return undefined;
|
|
44
|
-
let latest;
|
|
45
|
-
for (const event of traceView.rawEvents) {
|
|
46
|
-
const payload = record(event.payload);
|
|
47
|
-
const type = typeof payload?.type === "string" ? payload.type : event.type;
|
|
48
|
-
const isTerminal = type === "message_finished" || type === "session_error" ||
|
|
49
|
-
(type === "execution_result" && isTurnStoppingAction(payload?.action));
|
|
50
|
-
if (!isTerminal)
|
|
51
|
-
continue;
|
|
52
|
-
latest = latestActiveTurnTerminal(latest, {
|
|
53
|
-
key: `${type}:${event.eventSequence ?? event.streamId ?? event.id}`,
|
|
54
|
-
at: event.createdAt,
|
|
55
|
-
});
|
|
56
|
-
}
|
|
57
|
-
for (const node of flattenTraceNodes(traceView.nodes)) {
|
|
58
|
-
const terminalAt = node.type === "agent.turn" ? node.completedAt : node.type === "error" ? node.completedAt ?? node.startedAt : undefined;
|
|
59
|
-
if (!terminalAt)
|
|
60
|
-
continue;
|
|
61
|
-
latest = latestActiveTurnTerminal(latest, { key: `node:${node.id}:${node.status}`, at: terminalAt });
|
|
62
|
-
}
|
|
63
|
-
return latest;
|
|
64
|
-
}
|
|
65
|
-
export function findSignalActiveTurnStartedAt(sessionSignal, signalTree) {
|
|
66
|
-
if (!sessionSignal?.isTreeActive || !signalTree)
|
|
67
|
-
return undefined;
|
|
68
|
-
const currentTurn = sessionSignal.currentTurnId ? signalTree.nodes[sessionSignal.currentTurnId] : undefined;
|
|
69
|
-
if (currentTurn?.startedAt)
|
|
70
|
-
return currentTurn.startedAt;
|
|
71
|
-
return Object.values(signalTree.nodes)
|
|
72
|
-
.filter((node) => node.piboSessionId === sessionSignal.piboSessionId && node.kind === "turn" && isActiveSignalStatus(node.status) && node.startedAt)
|
|
73
|
-
.sort((left, right) => Date.parse(left.startedAt ?? left.createdAt) - Date.parse(right.startedAt ?? right.createdAt))
|
|
74
|
-
.at(-1)?.startedAt;
|
|
75
|
-
}
|
|
76
|
-
export function findSignalActiveTurnTerminal(sessionSignal) {
|
|
77
|
-
if (!sessionSignal || sessionSignal.isTreeActive)
|
|
78
|
-
return undefined;
|
|
79
|
-
const status = [sessionSignal.localStatus, sessionSignal.aggregateStatus].find(isTerminalSignalStatus);
|
|
80
|
-
return status ? { key: `signal:${status}:${sessionSignal.updatedAt}`, at: sessionSignal.updatedAt } : undefined;
|
|
81
|
-
}
|
|
82
|
-
export function latestActiveTurnTerminal(left, right) {
|
|
83
|
-
if (!left)
|
|
84
|
-
return right;
|
|
85
|
-
if (!right)
|
|
86
|
-
return left;
|
|
87
|
-
return Date.parse(right.at) >= Date.parse(left.at) ? right : left;
|
|
88
|
-
}
|
|
89
|
-
function flattenTraceNodes(nodes) {
|
|
90
|
-
return nodes.flatMap((node) => [node, ...flattenTraceNodes(node.children)]);
|
|
91
|
-
}
|
|
92
|
-
function inactiveState(current, sessionId, terminalKey) {
|
|
93
|
-
if (!current.active &&
|
|
94
|
-
current.sessionId === sessionId &&
|
|
95
|
-
current.endedByTerminalKey === terminalKey)
|
|
96
|
-
return current;
|
|
97
|
-
return {
|
|
98
|
-
sessionId,
|
|
99
|
-
active: false,
|
|
100
|
-
endedByTerminalKey: terminalKey,
|
|
101
|
-
};
|
|
102
|
-
}
|
|
103
|
-
function terminalClosesTurn(terminal, startedAt) {
|
|
104
|
-
if (!terminal)
|
|
105
|
-
return false;
|
|
106
|
-
const terminalMs = Date.parse(terminal.at);
|
|
107
|
-
const startedMs = Date.parse(startedAt);
|
|
108
|
-
return Number.isFinite(terminalMs) && Number.isFinite(startedMs) && terminalMs >= startedMs;
|
|
109
|
-
}
|
|
110
|
-
function isTurnStoppingAction(value) {
|
|
111
|
-
return value === "abort" || value === "kill" || value === "kill_all" || value === "dispose";
|
|
112
|
-
}
|
|
113
|
-
function isActiveSignalStatus(status) {
|
|
114
|
-
return status === "queued" || status === "starting" || status === "running" || status === "streaming" || status === "compacting" || status === "blocked" || status === "paused";
|
|
115
|
-
}
|
|
116
|
-
function isTerminalSignalStatus(status) {
|
|
117
|
-
return status === "error" || status === "failed" || status === "cancelled" || status === "interrupted" || status === "disposed";
|
|
118
|
-
}
|
|
119
|
-
function validTimestamp(value) {
|
|
120
|
-
return Boolean(value && Number.isFinite(Date.parse(value)));
|
|
121
|
-
}
|
|
122
|
-
function record(value) {
|
|
123
|
-
return value !== null && typeof value === "object" && !Array.isArray(value)
|
|
124
|
-
? value
|
|
125
|
-
: undefined;
|
|
126
|
-
}
|