@caupulican/pi-adaptative 0.81.27 → 0.81.30
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/CHANGELOG.md +32 -0
- package/dist/bundled-resources/skills/harness-self-adaptation/SKILL.md +327 -0
- package/dist/bundled-resources/skills/harness-self-adaptation/references/adaptation-layers.md +89 -0
- package/dist/core/agent-session.d.ts +20 -3
- package/dist/core/agent-session.d.ts.map +1 -1
- package/dist/core/agent-session.js +73 -17
- package/dist/core/agent-session.js.map +1 -1
- package/dist/core/auth-storage.d.ts +6 -0
- package/dist/core/auth-storage.d.ts.map +1 -1
- package/dist/core/auth-storage.js +35 -0
- package/dist/core/auth-storage.js.map +1 -1
- package/dist/core/autonomy/approval-gate.d.ts +1 -1
- package/dist/core/autonomy/approval-gate.d.ts.map +1 -1
- package/dist/core/autonomy/approval-gate.js +5 -1
- package/dist/core/autonomy/approval-gate.js.map +1 -1
- package/dist/core/autonomy/contracts.d.ts +2 -0
- package/dist/core/autonomy/contracts.d.ts.map +1 -1
- package/dist/core/autonomy/contracts.js.map +1 -1
- package/dist/core/autonomy/lane-tool-surface.d.ts +4 -0
- package/dist/core/autonomy/lane-tool-surface.d.ts.map +1 -1
- package/dist/core/autonomy/lane-tool-surface.js +31 -4
- package/dist/core/autonomy/lane-tool-surface.js.map +1 -1
- package/dist/core/autonomy/lane-tracker.d.ts +6 -0
- package/dist/core/autonomy/lane-tracker.d.ts.map +1 -1
- package/dist/core/autonomy/lane-tracker.js +25 -3
- package/dist/core/autonomy/lane-tracker.js.map +1 -1
- package/dist/core/autonomy/risk-assessment.d.ts.map +1 -1
- package/dist/core/autonomy/risk-assessment.js +1 -1
- package/dist/core/autonomy/risk-assessment.js.map +1 -1
- package/dist/core/background-lane-controller.d.ts +34 -1
- package/dist/core/background-lane-controller.d.ts.map +1 -1
- package/dist/core/background-lane-controller.js +204 -9
- package/dist/core/background-lane-controller.js.map +1 -1
- package/dist/core/context/context-artifacts.d.ts.map +1 -1
- package/dist/core/context/context-artifacts.js +7 -6
- package/dist/core/context/context-artifacts.js.map +1 -1
- package/dist/core/context/context-store-retention.d.ts +12 -0
- package/dist/core/context/context-store-retention.d.ts.map +1 -0
- package/dist/core/context/context-store-retention.js +161 -0
- package/dist/core/context/context-store-retention.js.map +1 -0
- package/dist/core/context-gc.d.ts.map +1 -1
- package/dist/core/context-gc.js +20 -4
- package/dist/core/context-gc.js.map +1 -1
- package/dist/core/context-pipeline.d.ts +18 -15
- package/dist/core/context-pipeline.d.ts.map +1 -1
- package/dist/core/context-pipeline.js +143 -38
- package/dist/core/context-pipeline.js.map +1 -1
- package/dist/core/cost/cost-summary.d.ts +7 -1
- package/dist/core/cost/cost-summary.d.ts.map +1 -1
- package/dist/core/cost/cost-summary.js +28 -17
- package/dist/core/cost/cost-summary.js.map +1 -1
- package/dist/core/cost/daily-usage.d.ts +7 -3
- package/dist/core/cost/daily-usage.d.ts.map +1 -1
- package/dist/core/cost/daily-usage.js +10 -5
- package/dist/core/cost/daily-usage.js.map +1 -1
- package/dist/core/delegation/worker-result.d.ts.map +1 -1
- package/dist/core/delegation/worker-result.js +3 -0
- package/dist/core/delegation/worker-result.js.map +1 -1
- package/dist/core/delegation/worker-runner.d.ts.map +1 -1
- package/dist/core/delegation/worker-runner.js +70 -5
- package/dist/core/delegation/worker-runner.js.map +1 -1
- package/dist/core/export-html/template.js +2 -1
- package/dist/core/extensions/loader.d.ts.map +1 -1
- package/dist/core/extensions/loader.js +52 -2
- package/dist/core/extensions/loader.js.map +1 -1
- package/dist/core/extensions/runner.d.ts.map +1 -1
- package/dist/core/extensions/runner.js +21 -19
- package/dist/core/extensions/runner.js.map +1 -1
- package/dist/core/extensions/types.d.ts +5 -0
- package/dist/core/extensions/types.d.ts.map +1 -1
- package/dist/core/extensions/types.js.map +1 -1
- package/dist/core/failure-corpus.d.ts.map +1 -1
- package/dist/core/failure-corpus.js +36 -13
- package/dist/core/failure-corpus.js.map +1 -1
- package/dist/core/local-runtime-controller.d.ts +16 -0
- package/dist/core/local-runtime-controller.d.ts.map +1 -1
- package/dist/core/local-runtime-controller.js +127 -30
- package/dist/core/local-runtime-controller.js.map +1 -1
- package/dist/core/memory-controller.d.ts +2 -0
- package/dist/core/memory-controller.d.ts.map +1 -1
- package/dist/core/memory-controller.js +18 -0
- package/dist/core/memory-controller.js.map +1 -1
- package/dist/core/model-registry.d.ts +2 -0
- package/dist/core/model-registry.d.ts.map +1 -1
- package/dist/core/model-registry.js +4 -0
- package/dist/core/model-registry.js.map +1 -1
- package/dist/core/models/local-runtime.d.ts +2 -0
- package/dist/core/models/local-runtime.d.ts.map +1 -1
- package/dist/core/models/local-runtime.js +25 -14
- package/dist/core/models/local-runtime.js.map +1 -1
- package/dist/core/models/runtime-arbiter.d.ts +11 -0
- package/dist/core/models/runtime-arbiter.d.ts.map +1 -1
- package/dist/core/models/runtime-arbiter.js +35 -13
- package/dist/core/models/runtime-arbiter.js.map +1 -1
- package/dist/core/reflection-controller.d.ts +5 -1
- package/dist/core/reflection-controller.d.ts.map +1 -1
- package/dist/core/reflection-controller.js +9 -3
- package/dist/core/reflection-controller.js.map +1 -1
- package/dist/core/runtime-builder.d.ts +19 -2
- package/dist/core/runtime-builder.d.ts.map +1 -1
- package/dist/core/runtime-builder.js +13 -5
- package/dist/core/runtime-builder.js.map +1 -1
- package/dist/core/sdk.d.ts.map +1 -1
- package/dist/core/sdk.js +3 -0
- package/dist/core/sdk.js.map +1 -1
- package/dist/core/session-analytics.d.ts +13 -7
- package/dist/core/session-analytics.d.ts.map +1 -1
- package/dist/core/session-analytics.js +155 -112
- package/dist/core/session-analytics.js.map +1 -1
- package/dist/core/tool-gate-controller.d.ts +3 -0
- package/dist/core/tool-gate-controller.d.ts.map +1 -1
- package/dist/core/tool-gate-controller.js +20 -15
- package/dist/core/tool-gate-controller.js.map +1 -1
- package/dist/core/tool-recovery-log-records.d.ts.map +1 -1
- package/dist/core/tool-recovery-log-records.js +54 -9
- package/dist/core/tool-recovery-log-records.js.map +1 -1
- package/dist/core/tool-recovery-logger.d.ts +2 -0
- package/dist/core/tool-recovery-logger.d.ts.map +1 -1
- package/dist/core/tool-recovery-logger.js +32 -13
- package/dist/core/tool-recovery-logger.js.map +1 -1
- package/dist/core/tool-recovery-stats.d.ts +15 -0
- package/dist/core/tool-recovery-stats.d.ts.map +1 -0
- package/dist/core/tool-recovery-stats.js +206 -0
- package/dist/core/tool-recovery-stats.js.map +1 -0
- package/dist/core/tool-selection/expected-utility.d.ts +51 -0
- package/dist/core/tool-selection/expected-utility.d.ts.map +1 -0
- package/dist/core/tool-selection/expected-utility.js +85 -0
- package/dist/core/tool-selection/expected-utility.js.map +1 -0
- package/dist/core/tool-selection/tool-performance-store.d.ts +82 -0
- package/dist/core/tool-selection/tool-performance-store.d.ts.map +1 -0
- package/dist/core/tool-selection/tool-performance-store.js +249 -0
- package/dist/core/tool-selection/tool-performance-store.js.map +1 -0
- package/dist/core/tool-selection/tool-selection-controller.d.ts +41 -0
- package/dist/core/tool-selection/tool-selection-controller.d.ts.map +1 -0
- package/dist/core/tool-selection/tool-selection-controller.js +199 -0
- package/dist/core/tool-selection/tool-selection-controller.js.map +1 -0
- package/dist/core/tools/delegate-status.d.ts +9 -0
- package/dist/core/tools/delegate-status.d.ts.map +1 -0
- package/dist/core/tools/delegate-status.js +61 -0
- package/dist/core/tools/delegate-status.js.map +1 -0
- package/dist/core/tools/delegate.d.ts +13 -0
- package/dist/core/tools/delegate.d.ts.map +1 -1
- package/dist/core/tools/delegate.js +28 -4
- package/dist/core/tools/delegate.js.map +1 -1
- package/dist/core/tools/run-toolkit-script.d.ts +3 -0
- package/dist/core/tools/run-toolkit-script.d.ts.map +1 -1
- package/dist/core/tools/run-toolkit-script.js +17 -7
- package/dist/core/tools/run-toolkit-script.js.map +1 -1
- package/dist/main.d.ts.map +1 -1
- package/dist/main.js +1 -1
- package/dist/main.js.map +1 -1
- package/dist/modes/interactive/components/bash-execution.d.ts +2 -1
- package/dist/modes/interactive/components/bash-execution.d.ts.map +1 -1
- package/dist/modes/interactive/components/bash-execution.js +12 -1
- package/dist/modes/interactive/components/bash-execution.js.map +1 -1
- package/dist/modes/interactive/components/footer.d.ts +1 -0
- package/dist/modes/interactive/components/footer.d.ts.map +1 -1
- package/dist/modes/interactive/components/footer.js +19 -9
- package/dist/modes/interactive/components/footer.js.map +1 -1
- package/dist/modes/interactive/components/tool-execution.d.ts.map +1 -1
- package/dist/modes/interactive/components/tool-execution.js +12 -2
- package/dist/modes/interactive/components/tool-execution.js.map +1 -1
- package/dist/modes/interactive/components/tool-panel-registry.d.ts +1 -0
- package/dist/modes/interactive/components/tool-panel-registry.d.ts.map +1 -1
- package/dist/modes/interactive/components/tool-panel-registry.js +18 -2
- package/dist/modes/interactive/components/tool-panel-registry.js.map +1 -1
- package/dist/modes/interactive/interactive-mode.d.ts.map +1 -1
- package/dist/modes/interactive/interactive-mode.js +18 -0
- package/dist/modes/interactive/interactive-mode.js.map +1 -1
- package/dist/modes/rpc/jsonl.d.ts.map +1 -1
- package/dist/modes/rpc/jsonl.js +9 -28
- package/dist/modes/rpc/jsonl.js.map +1 -1
- package/dist/utils/streaming-lines.d.ts +20 -0
- package/dist/utils/streaming-lines.d.ts.map +1 -0
- package/dist/utils/streaming-lines.js +79 -0
- package/dist/utils/streaming-lines.js.map +1 -0
- package/docs/extensions.md +2 -0
- package/docs/index.md +1 -1
- package/docs/integration-sweep-builder-blueprint-2026-07-09.md +365 -0
- package/docs/integration-sweep-resume-2026-07-09.md +407 -0
- package/docs/self-adaptation.md +7 -0
- package/docs/settings.md +7 -1
- package/examples/extensions/custom-provider-anthropic/package-lock.json +2 -2
- package/examples/extensions/custom-provider-anthropic/package.json +1 -1
- package/examples/extensions/custom-provider-gitlab-duo/package.json +1 -1
- package/examples/extensions/sandbox/package-lock.json +2 -2
- package/examples/extensions/sandbox/package.json +1 -1
- package/examples/extensions/with-deps/package-lock.json +2 -2
- package/examples/extensions/with-deps/package.json +1 -1
- package/npm-shrinkwrap.json +12 -12
- package/package.json +4 -4
|
@@ -0,0 +1,407 @@
|
|
|
1
|
+
# Integration Sweep Resume Note — 2026-07-09
|
|
2
|
+
|
|
3
|
+
Status: paused by user after a second work slice; implementation is intentionally uncommitted and
|
|
4
|
+
ready to resume. The latest slice has not yet been re-tested.
|
|
5
|
+
|
|
6
|
+
## Scope
|
|
7
|
+
|
|
8
|
+
Synchronize and simplify these host subsystems while prioritizing foreground performance and
|
|
9
|
+
accuracy:
|
|
10
|
+
|
|
11
|
+
- toolkit store and deterministic toolkit routing;
|
|
12
|
+
- shared tool repair and isolated child loops;
|
|
13
|
+
- local-model lifecycle, routing, residency, and background lanes;
|
|
14
|
+
- memory and file-backed tool-output artifacts;
|
|
15
|
+
- worker/subagent contracts and accounting;
|
|
16
|
+
- generic external memory-provider compatibility.
|
|
17
|
+
|
|
18
|
+
Do not modify Pi extensions. In particular, no files under
|
|
19
|
+
`/home/caudev/__pi/agent/extensions` were changed. Graphify was inspected only as an external
|
|
20
|
+
consumer of the host's generic tool and context-memory-provider contracts.
|
|
21
|
+
|
|
22
|
+
## Design decisions
|
|
23
|
+
|
|
24
|
+
1. Foreground first: optional local curation/background work must not compete with a local user
|
|
25
|
+
turn.
|
|
26
|
+
2. One model-call gateway: foreground, routed, and isolated calls must share managed-local
|
|
27
|
+
readiness, repair telemetry, timeout behavior, and accounting.
|
|
28
|
+
3. Reuse a configured healthy Ollama server when it exposes the requested model. Server/store
|
|
29
|
+
ownership is not a capability boundary.
|
|
30
|
+
4. Residency admission must not synchronously cold-load Ollama with an empty generation. The real
|
|
31
|
+
adaptive stream owns cold load and prefill timing.
|
|
32
|
+
5. Preserve exact oversized tool output in retrievable artifacts; send bounded previews to models.
|
|
33
|
+
6. Use compact structured model-to-model contracts. Do not use Unicode/Braille as compression;
|
|
34
|
+
measure tokenizer cost instead.
|
|
35
|
+
7. Future automatic tool selection should use constrained expected utility, not another free-form
|
|
36
|
+
judge:
|
|
37
|
+
|
|
38
|
+
`utility = success_probability * value - latency_cost - token_cost - risk_cost - context_cost`
|
|
39
|
+
|
|
40
|
+
Hard capability/path/profile gates run first; ambiguous rankings return a shortlist or defer to
|
|
41
|
+
the foreground model.
|
|
42
|
+
|
|
43
|
+
## Implemented in the working tree
|
|
44
|
+
|
|
45
|
+
### Local model reliability and performance
|
|
46
|
+
|
|
47
|
+
- `ReflectionController.runIsolatedCompletion` now calls a shared managed-local readiness gate, so
|
|
48
|
+
research, workers, route judges, curation, reflex interpretation, fitness probes, and other
|
|
49
|
+
isolated calls no longer bypass local runtime startup.
|
|
50
|
+
- Manual/default local foreground models now receive readiness handling even when the model router
|
|
51
|
+
is disabled.
|
|
52
|
+
- A healthy configured Ollama server is reused when `/api/tags` contains the requested model,
|
|
53
|
+
regardless of whether its store is Pi-owned, user-owned, or externally managed.
|
|
54
|
+
- Ollama detection now carries the live server's model list in `LocalRuntimeStatus`, so the initial
|
|
55
|
+
readiness pass uses one `/api/tags` request instead of detecting and listing separately.
|
|
56
|
+
- A running server missing the requested model fails visibly instead of being used incorrectly.
|
|
57
|
+
- Runtime residency adapters are collected into one session-wide view instead of constructing an
|
|
58
|
+
arbiter that sees only the current runtime.
|
|
59
|
+
- Residency supports admission/eviction without loading the model. The local controller uses this
|
|
60
|
+
mode to avoid a blocking empty `/api/generate` with a 60-second timeout before the real request.
|
|
61
|
+
- Already-resident models no longer receive redundant activation calls from the arbiter.
|
|
62
|
+
- Local curator draining is deferred while both the foreground and curator models are managed-local,
|
|
63
|
+
preventing a fire-and-forget curator from taking a single-parallel Ollama slot before the user
|
|
64
|
+
request.
|
|
65
|
+
- A focused local-priority regression test was added but has not yet been run.
|
|
66
|
+
|
|
67
|
+
### Tool repair
|
|
68
|
+
|
|
69
|
+
- Isolated child tool loops now forward `onToolArgumentValidation` and
|
|
70
|
+
`onToolValidationEscalation`, so their deterministic repairs and repeated validation failures use
|
|
71
|
+
the same telemetry/adaptation path as foreground calls.
|
|
72
|
+
|
|
73
|
+
### Toolkit output artifacts
|
|
74
|
+
|
|
75
|
+
- `run_toolkit_script` now stores exact oversized stdout/stderr in the session artifact store and
|
|
76
|
+
returns an 8 KiB/400-line bounded preview plus an `artifact_retrieve` handle.
|
|
77
|
+
- Exit status and failure text remain in the preview; toolkit output is marked non-reproducible.
|
|
78
|
+
|
|
79
|
+
## Live diagnosis captured
|
|
80
|
+
|
|
81
|
+
- The active Pi config is under `~/.pi/agent`.
|
|
82
|
+
- Its Ollama provider targets `http://localhost:11434/v1` and registers local qwen/MiniCPM models.
|
|
83
|
+
- The model router was disabled at inspection time, but local cheap/executor models remained
|
|
84
|
+
configured.
|
|
85
|
+
- No Ollama server was running during inspection and no Linux Ollama binary was found in PATH or the
|
|
86
|
+
Pi runtime directory.
|
|
87
|
+
- Another local configuration under `~/__pi/agent` targets a manually served Windows/WSL endpoint.
|
|
88
|
+
- The prior host policy rejected non-Pi-owned running stores and synchronously preloaded models;
|
|
89
|
+
these were concrete causes of manual-server performance being better and local use failing.
|
|
90
|
+
|
|
91
|
+
## Focused validation completed
|
|
92
|
+
|
|
93
|
+
From `packages/coding-agent`:
|
|
94
|
+
|
|
95
|
+
```bash
|
|
96
|
+
node ../../node_modules/vitest/dist/cli.js --run \
|
|
97
|
+
test/run-toolkit-script.test.ts \
|
|
98
|
+
test/isolated-child-loop.test.ts \
|
|
99
|
+
test/agent-session-local-runtime.test.ts \
|
|
100
|
+
test/runtime-arbiter.test.ts \
|
|
101
|
+
test/brain-curator.test.ts \
|
|
102
|
+
test/context-pipeline-token-budget.test.ts
|
|
103
|
+
```
|
|
104
|
+
|
|
105
|
+
Result: 6 files passed, 65 tests passed.
|
|
106
|
+
|
|
107
|
+
Earlier focused run also passed the existing local runtime and isolated child tests after the
|
|
108
|
+
readiness changes.
|
|
109
|
+
|
|
110
|
+
`npm run check` has not been run yet because the user paused the sweep before final validation.
|
|
111
|
+
|
|
112
|
+
Important: after that 65-test green run, the second slice changed `LocalRuntimeStatus` to include
|
|
113
|
+
`serverModels` and added `context-pipeline-local-priority.test.ts`. Those latest changes have not yet
|
|
114
|
+
been compiled or tested.
|
|
115
|
+
|
|
116
|
+
## Files changed by this sweep
|
|
117
|
+
|
|
118
|
+
- `packages/coding-agent/src/core/agent-session.ts`
|
|
119
|
+
- `packages/coding-agent/src/core/context-pipeline.ts`
|
|
120
|
+
- `packages/coding-agent/src/core/local-runtime-controller.ts`
|
|
121
|
+
- `packages/coding-agent/src/core/models/runtime-arbiter.ts`
|
|
122
|
+
- `packages/coding-agent/src/core/reflection-controller.ts`
|
|
123
|
+
- `packages/coding-agent/src/core/runtime-builder.ts`
|
|
124
|
+
- `packages/coding-agent/src/core/tools/run-toolkit-script.ts`
|
|
125
|
+
- `packages/coding-agent/test/agent-session-local-runtime.test.ts`
|
|
126
|
+
- `packages/coding-agent/test/context-pipeline-token-budget.test.ts`
|
|
127
|
+
- `packages/coding-agent/test/context-pipeline-local-priority.test.ts`
|
|
128
|
+
- `packages/coding-agent/test/isolated-child-loop.test.ts`
|
|
129
|
+
- `packages/coding-agent/test/run-toolkit-script.test.ts`
|
|
130
|
+
- `packages/coding-agent/test/runtime-arbiter.test.ts`
|
|
131
|
+
- this resume note.
|
|
132
|
+
|
|
133
|
+
`packages/coding-agent/docs/bug-ledger.md` was already modified before this sweep and was not edited
|
|
134
|
+
as part of this work.
|
|
135
|
+
|
|
136
|
+
## Remaining work: exact execution plan
|
|
137
|
+
|
|
138
|
+
### 1. Stabilize the latest local-runtime changes
|
|
139
|
+
|
|
140
|
+
Files:
|
|
141
|
+
|
|
142
|
+
- `src/core/models/local-runtime.ts`
|
|
143
|
+
- `src/core/local-runtime-controller.ts`
|
|
144
|
+
- `src/core/models/runtime-arbiter.ts`
|
|
145
|
+
- `test/agent-session-local-runtime.test.ts`
|
|
146
|
+
- `test/runtime-arbiter.test.ts`
|
|
147
|
+
|
|
148
|
+
How:
|
|
149
|
+
|
|
150
|
+
1. Compile/run the focused tests first. `LocalRuntimeStatus.serverModels` is newly required, so faux
|
|
151
|
+
status literals in other tests may need `serverModels: []`.
|
|
152
|
+
2. Check that one cold readiness pass performs:
|
|
153
|
+
- one `/api/tags` request for reachability plus requested-model presence;
|
|
154
|
+
- one `/api/ps` request for residency accounting;
|
|
155
|
+
- no empty `/api/generate` preload;
|
|
156
|
+
- then the real OpenAI-compatible stream, whose adaptive local connect bound owns cold load and
|
|
157
|
+
prefill.
|
|
158
|
+
3. Keep `_confirmedUp` as the steady-state fast path: subsequent successful turns should perform no
|
|
159
|
+
readiness HTTP requests until a matching local assistant error invalidates the key.
|
|
160
|
+
4. Verify a manually managed server is accepted only when it exposes the exact requested model or
|
|
161
|
+
the bare/`:latest` equivalent. A reachable server without the model must return
|
|
162
|
+
`model_missing_on_server`, not proceed and fail later.
|
|
163
|
+
5. Review session-wide residency adapter identities for multiple Ollama URLs and Transformers
|
|
164
|
+
models. They must not collide.
|
|
165
|
+
|
|
166
|
+
Expected:
|
|
167
|
+
|
|
168
|
+
- Manually started Ollama keeps its own binary, GPU/backend configuration, model store, and warm
|
|
169
|
+
cache.
|
|
170
|
+
- Pi starts its managed server only when the configured endpoint is down and a usable binary exists.
|
|
171
|
+
- No duplicate server is started against an already reachable configured endpoint.
|
|
172
|
+
- Local route, manual model, judge, research, worker, curation, reflex, and fitness calls all pass
|
|
173
|
+
through readiness.
|
|
174
|
+
- Foreground failure remains visible and router fallback remains bounded/explicit.
|
|
175
|
+
|
|
176
|
+
Acceptance tests:
|
|
177
|
+
|
|
178
|
+
```bash
|
|
179
|
+
cd packages/coding-agent
|
|
180
|
+
node ../../node_modules/vitest/dist/cli.js --run \
|
|
181
|
+
test/agent-session-local-runtime.test.ts \
|
|
182
|
+
test/runtime-arbiter.test.ts \
|
|
183
|
+
test/model-perf-profile.test.ts \
|
|
184
|
+
test/isolated-child-loop.test.ts
|
|
185
|
+
```
|
|
186
|
+
|
|
187
|
+
### 2. Finish foreground-priority behavior
|
|
188
|
+
|
|
189
|
+
Files:
|
|
190
|
+
|
|
191
|
+
- `src/core/context-pipeline.ts`
|
|
192
|
+
- `test/context-pipeline-local-priority.test.ts`
|
|
193
|
+
- optionally `test/brain-curator.test.ts` if a session-level regression is clearer.
|
|
194
|
+
|
|
195
|
+
How:
|
|
196
|
+
|
|
197
|
+
1. Run the newly added local-priority test and correct type/faux-dependency issues.
|
|
198
|
+
2. Keep queued curator work intact when both foreground and curator are managed-local.
|
|
199
|
+
3. Add a second assertion or test proving the same queued job can drain later when the foreground is
|
|
200
|
+
a cloud model or no local foreground is active. Do not drop or mark the job completed on defer.
|
|
201
|
+
4. Keep the visible reason code `curation_deferred_for_local_foreground` in diagnostics.
|
|
202
|
+
|
|
203
|
+
Expected:
|
|
204
|
+
|
|
205
|
+
- Optional curation never takes a single-parallel local server slot before a user request.
|
|
206
|
+
- Deferral loses no work; curation can run on a later non-competing turn.
|
|
207
|
+
- Cloud foreground plus local curator remains allowed unless profiling later shows host CPU pressure.
|
|
208
|
+
|
|
209
|
+
### 3. Complete toolkit/artifact integration
|
|
210
|
+
|
|
211
|
+
Files:
|
|
212
|
+
|
|
213
|
+
- `src/core/tools/run-toolkit-script.ts`
|
|
214
|
+
- `src/core/runtime-builder.ts`
|
|
215
|
+
- `test/run-toolkit-script.test.ts`
|
|
216
|
+
|
|
217
|
+
How:
|
|
218
|
+
|
|
219
|
+
1. Re-run the artifact regression.
|
|
220
|
+
2. Confirm the active-tool companion rule always activates `artifact_retrieve` when
|
|
221
|
+
`run_toolkit_script` can emit an artifact. The current runtime only auto-adds the companion for
|
|
222
|
+
`grep`/`find`; either extend that condition to toolkit or suppress the artifact store when the
|
|
223
|
+
retrieval tool is not active. Never emit an unresolvable handle.
|
|
224
|
+
3. Keep the preview bounded at 8 KiB/400 lines unless measurement supports a smaller cap.
|
|
225
|
+
4. Preserve exit code, timeout state, first failure text, stdout/stderr labels, and exact full output
|
|
226
|
+
in the artifact.
|
|
227
|
+
5. Verify context-GC reference release recognizes toolkit `details.artifactId` exactly as it does for
|
|
228
|
+
grep/find.
|
|
229
|
+
|
|
230
|
+
Expected:
|
|
231
|
+
|
|
232
|
+
- Small script output stays directly readable.
|
|
233
|
+
- Large output never bloats prompt context and is never lost.
|
|
234
|
+
- Every emitted artifact handle is resolvable in the same active tool surface.
|
|
235
|
+
- Failed scripts remain unmistakably failed even when output is packed.
|
|
236
|
+
|
|
237
|
+
### 4. Tool-selection policy: observe first
|
|
238
|
+
|
|
239
|
+
Do not add an orphan policy module. Integrate only when its inputs and output have live owners.
|
|
240
|
+
|
|
241
|
+
Suggested files:
|
|
242
|
+
|
|
243
|
+
- new `src/core/tool-selection/expected-utility.ts` for pure math;
|
|
244
|
+
- new `src/core/tool-selection/tool-performance-store.ts` for bounded host/model/tool statistics;
|
|
245
|
+
- `src/core/tool-gate-controller.ts` for execution outcomes/timing;
|
|
246
|
+
- `src/core/system-prompt-builder.ts` or a dedicated pre-turn controller for a compact recommendation;
|
|
247
|
+
- focused tests under `test/tool-selection-*.test.ts`.
|
|
248
|
+
|
|
249
|
+
How:
|
|
250
|
+
|
|
251
|
+
1. Candidate generation uses only active, profile-allowed, capability-compatible tools.
|
|
252
|
+
2. Hard gates run before scoring: denied tool/path/capability never becomes a candidate.
|
|
253
|
+
3. Maintain per `(host, model ref, intent class, tool)` bounded statistics:
|
|
254
|
+
- Beta posterior `alpha/beta` for success probability;
|
|
255
|
+
- latency EWMA and bounded deviation;
|
|
256
|
+
- prompt/output-token EWMA where observable;
|
|
257
|
+
- repair/bounce/failure counts;
|
|
258
|
+
- last-used timestamp and sample count.
|
|
259
|
+
4. Score candidates with normalized units:
|
|
260
|
+
|
|
261
|
+
`U(t) = Psuccess(t) * value(t) - λL*latency(t) - λT*tokens(t) - λR*risk(t) - λC*context(t)`
|
|
262
|
+
|
|
263
|
+
5. Include `no_tool` as a real candidate with zero cost and an intent-dependent value.
|
|
264
|
+
6. Recommend a tool only when:
|
|
265
|
+
- best utility is positive;
|
|
266
|
+
- best-minus-runner-up exceeds a configured margin;
|
|
267
|
+
- minimum evidence exists, or the match is deterministic name/alias/schema intent.
|
|
268
|
+
7. Compute normalized entropy over candidate probabilities. High entropy produces a shortlist; it
|
|
269
|
+
never executes automatically.
|
|
270
|
+
8. First production slice is observe-only: persist/redact rankings and compare recommendation to the
|
|
271
|
+
model's actual choice. Do not hide tools or execute on the model's behalf.
|
|
272
|
+
9. Promote to a concise prompt hint only after offline replay shows higher first-tool success and no
|
|
273
|
+
increase in unsafe/wrong-tool calls.
|
|
274
|
+
|
|
275
|
+
Expected:
|
|
276
|
+
|
|
277
|
+
- Exact toolkit/name hits remain deterministic and model-call-free.
|
|
278
|
+
- Repeated host/model workflows improve from observed outcomes.
|
|
279
|
+
- Ambiguity remains conservative.
|
|
280
|
+
- The selector reduces wrong first tools, retries, latency, and context cost without becoming another
|
|
281
|
+
prompt-heavy router.
|
|
282
|
+
|
|
283
|
+
Acceptance metrics:
|
|
284
|
+
|
|
285
|
+
- first-tool success rate;
|
|
286
|
+
- wrong-tool/refusal rate;
|
|
287
|
+
- p50/p95 time to first useful tool result;
|
|
288
|
+
- tool-related input/output tokens;
|
|
289
|
+
- repair and validation-bounce rate;
|
|
290
|
+
- shortlist/abstention calibration;
|
|
291
|
+
- no regression in capability/path gate enforcement.
|
|
292
|
+
|
|
293
|
+
### 5. Worker semantics
|
|
294
|
+
|
|
295
|
+
Files:
|
|
296
|
+
|
|
297
|
+
- `src/core/delegation/worker-runner.ts`
|
|
298
|
+
- `src/core/background-lane-controller.ts`
|
|
299
|
+
- `src/core/delegation/worker-result.ts`
|
|
300
|
+
- worker delegation tests.
|
|
301
|
+
|
|
302
|
+
Current fact: direct write/edit tools and structured actions may mutate inside the capability
|
|
303
|
+
envelope before `validateWorkerResult` returns `parent_review_required`.
|
|
304
|
+
|
|
305
|
+
How:
|
|
306
|
+
|
|
307
|
+
1. Do not silently remove the intentional write lane.
|
|
308
|
+
2. Choose and document one explicit contract:
|
|
309
|
+
- review-after-apply: envelope authorization permits mutation; parent reviews/validates afterward;
|
|
310
|
+
- staged apply: worker returns structured actions/patches, parent gate accepts, then runner applies.
|
|
311
|
+
3. If staged apply is selected, direct write/edit tools must also target a staging layer; otherwise
|
|
312
|
+
only structured actions are truly staged.
|
|
313
|
+
4. Preserve symlink-aware path enforcement, changed-file accounting on partial failure, blockers, and
|
|
314
|
+
spawned usage under either contract.
|
|
315
|
+
|
|
316
|
+
Expected:
|
|
317
|
+
|
|
318
|
+
- User and parent can tell whether review is pre- or post-mutation.
|
|
319
|
+
- A blocked/out-of-scope action never mutates.
|
|
320
|
+
- Partial mutations never look like clean success.
|
|
321
|
+
|
|
322
|
+
### 6. External memory and Graphify compatibility
|
|
323
|
+
|
|
324
|
+
Host files only. Do not modify Pi extensions.
|
|
325
|
+
|
|
326
|
+
How:
|
|
327
|
+
|
|
328
|
+
1. Verify extension registration/reload keeps both `registerMemoryProvider` and
|
|
329
|
+
`registerContextMemoryProvider` contributions across atomic reloads.
|
|
330
|
+
2. Add/retain host tests using faux graph-capable context providers (`graph: true`) rather than
|
|
331
|
+
importing private Graphify code.
|
|
332
|
+
3. Confirm generic graph results are budgeted, source-labeled, wrapped as untrusted evidence, and
|
|
333
|
+
included only when the long-term-memory demand gate opens.
|
|
334
|
+
4. Confirm dynamic provider GC markers join context-GC markers without brand-specific host logic.
|
|
335
|
+
|
|
336
|
+
Expected:
|
|
337
|
+
|
|
338
|
+
- The host is fully ready for Graphify or any graph provider through public contracts.
|
|
339
|
+
- Private providers remain optional and can disappear/reload without breaking the session.
|
|
340
|
+
- No private brand or path becomes a package dependency.
|
|
341
|
+
|
|
342
|
+
### 7. Documentation and final validation
|
|
343
|
+
|
|
344
|
+
Update these stale planning snapshots after behavior is final:
|
|
345
|
+
|
|
346
|
+
- `docs/model-router-rework.md`
|
|
347
|
+
- `docs/model-router-rework/current-state.md`
|
|
348
|
+
- `docs/model-router-rework/local-model-lifecycle-design.md`
|
|
349
|
+
- `docs/context-management-rework/tool-output-artifacts.md`
|
|
350
|
+
- this note: change status to completed and record final test/check results.
|
|
351
|
+
|
|
352
|
+
Document:
|
|
353
|
+
|
|
354
|
+
- three-tier router and judge are implemented;
|
|
355
|
+
- autonomy/delegation/research directories exist;
|
|
356
|
+
- managed-local readiness covers every call path;
|
|
357
|
+
- configured manual Ollama servers are preferred when valid;
|
|
358
|
+
- residency admission is non-blocking;
|
|
359
|
+
- local foreground has priority over optional local sidecars;
|
|
360
|
+
- artifact coverage is grep/find/toolkit, plus any additional tools actually completed;
|
|
361
|
+
- worker mutation semantics exactly as implemented.
|
|
362
|
+
|
|
363
|
+
Final commands:
|
|
364
|
+
|
|
365
|
+
```bash
|
|
366
|
+
cd /home/caudev/GitHub/mine/pi-adaptative
|
|
367
|
+
git status --short
|
|
368
|
+
|
|
369
|
+
cd packages/coding-agent
|
|
370
|
+
node ../../node_modules/vitest/dist/cli.js --run \
|
|
371
|
+
test/agent-session-local-runtime.test.ts \
|
|
372
|
+
test/runtime-arbiter.test.ts \
|
|
373
|
+
test/model-perf-profile.test.ts \
|
|
374
|
+
test/isolated-child-loop.test.ts \
|
|
375
|
+
test/context-pipeline-local-priority.test.ts \
|
|
376
|
+
test/context-pipeline-token-budget.test.ts \
|
|
377
|
+
test/brain-curator.test.ts \
|
|
378
|
+
test/run-toolkit-script.test.ts
|
|
379
|
+
|
|
380
|
+
cd /home/caudev/GitHub/mine/pi-adaptative
|
|
381
|
+
npm run check
|
|
382
|
+
```
|
|
383
|
+
|
|
384
|
+
Fix every error, warning, and info from `npm run check`. Do not use `tail`. Do not run `npm test` or
|
|
385
|
+
`npm run build` unless requested. Do not commit unless requested.
|
|
386
|
+
|
|
387
|
+
## Resume command
|
|
388
|
+
|
|
389
|
+
Start at the repository root and inspect only; do not discard other-session changes:
|
|
390
|
+
|
|
391
|
+
```bash
|
|
392
|
+
git status --short
|
|
393
|
+
git diff -- \
|
|
394
|
+
packages/coding-agent/src/core/agent-session.ts \
|
|
395
|
+
packages/coding-agent/src/core/context-pipeline.ts \
|
|
396
|
+
packages/coding-agent/src/core/local-runtime-controller.ts \
|
|
397
|
+
packages/coding-agent/src/core/models/runtime-arbiter.ts \
|
|
398
|
+
packages/coding-agent/src/core/reflection-controller.ts \
|
|
399
|
+
packages/coding-agent/src/core/runtime-builder.ts \
|
|
400
|
+
packages/coding-agent/src/core/tools/run-toolkit-script.ts \
|
|
401
|
+
packages/coding-agent/test/agent-session-local-runtime.test.ts \
|
|
402
|
+
packages/coding-agent/test/context-pipeline-token-budget.test.ts \
|
|
403
|
+
packages/coding-agent/test/context-pipeline-local-priority.test.ts \
|
|
404
|
+
packages/coding-agent/test/isolated-child-loop.test.ts \
|
|
405
|
+
packages/coding-agent/test/run-toolkit-script.test.ts \
|
|
406
|
+
packages/coding-agent/test/runtime-arbiter.test.ts
|
|
407
|
+
```
|
package/docs/self-adaptation.md
CHANGED
|
@@ -11,6 +11,7 @@ This keeps a human on the edge of the loop: Pi proposes, you confirm, then it ac
|
|
|
11
11
|
- [Skillify](#skillify)
|
|
12
12
|
- [Extensionify](#extensionify)
|
|
13
13
|
- [Learn](#learn)
|
|
14
|
+
- [Harness self-adaptation](#harness-self-adaptation)
|
|
14
15
|
- [Duplicate detection](#duplicate-detection)
|
|
15
16
|
- [Going live](#going-live)
|
|
16
17
|
|
|
@@ -57,6 +58,12 @@ Before anything is offered for activation, the candidate is **smoke-tested in is
|
|
|
57
58
|
|
|
58
59
|
`/learn` orchestrates; it never writes or activates on its own. Long-term memory storage is handled outside Pi; `/learn` routes to it rather than implementing it.
|
|
59
60
|
|
|
61
|
+
## Harness self-adaptation
|
|
62
|
+
|
|
63
|
+
For work on Pi itself, the bundled `harness-self-adaptation` skill keeps the active task primary and wraps it in a bounded improvement loop: define an observable oracle, capture a baseline or correctness invariant, diagnose the owning mechanism, choose the smallest enforcing layer, validate a focused intervention, then retain or roll it back. A task with no reusable evidence ends with no durable adaptation rather than a speculative change.
|
|
64
|
+
|
|
65
|
+
The skill treats tests, benchmarks, telemetry, and before/after measurements as retention evidence. It keeps code defects in their owning code, routes procedures to skills or prompts, and reserves extensions or core changes for behavior lower layers cannot enforce. It composes with `pi-harness-learning` for after-action capture and `skill-architect` for instruction authoring. Pi can load it when the task description matches, or you can force it with `/skill:harness-self-adaptation`.
|
|
66
|
+
|
|
60
67
|
## Duplicate detection
|
|
61
68
|
|
|
62
69
|
The `skill_audit` tool guards against accumulating near-identical skills. Given a draft's name, description, and body, it scans your loaded skills and scores keyword overlap. Matches above the similarity threshold are flagged so you can **merge or refine** an existing skill instead of adding a redundant one.
|
package/docs/settings.md
CHANGED
|
@@ -148,7 +148,13 @@ Fitness applicability is intentionally split by autonomy level:
|
|
|
148
148
|
|
|
149
149
|
### Worker Delegation
|
|
150
150
|
|
|
151
|
-
Delegation is available by default when the active model and UAC tool surface support it. Ultra reinforces proactive use but does not own or unlock the capability. Each worker gets a fresh classified tool surface (`read`, `grep`, `find`, and `ls`); its shipped profile filters those names with the same glob semantics as foreground UAC. `delegate`, shell, memory/lifecycle tools, and opaque extension tools are never inherited into the child.
|
|
151
|
+
Delegation is available by default when the active model and UAC tool surface support it. Ultra reinforces proactive use but does not own or unlock the capability. Each worker gets a fresh classified tool surface (`read`, `grep`, `find`, and `ls`); its shipped profile filters those names with the same glob semantics as foreground UAC. `delegate`, shell, foreground memory/lifecycle tools, and opaque extension tools are never inherited into the child. The orchestrator may set `memoryRead: true` for a relevant task; if global memory retrieval remains enabled and the lane profile also grants `memory`, the worker receives a separate bounded query-only memory tool. Generic file tools cannot bypass that decision by reading private memory/auth/settings files. Memory writes remain unavailable. Workers are otherwise read-only unless the write toggle, a non-empty path scope, and the shipped profile all grant `write` or `edit`.
|
|
152
|
+
|
|
153
|
+
The worker model is provider-independent: when `workerDelegation.model` is unset it inherits the active model; an explicit pattern may select any authenticated, capability-eligible model, including subscription, API-key, or local providers. The isolated worker resolves auth and text-tool fallback from that selected model rather than inheriting the foreground model's protocol. Local workers that contend with a local foreground are queued and drained at the configured running concurrency. `delegate_status` preserves bounded non-JSON read-only results and labels output that ended at a provider limit as incomplete instead of discarding it as unparseable.
|
|
154
|
+
|
|
155
|
+
**Confirmed behavior:** `delegate` returns a lane id immediately instead of waiting for the worker. `delegate_status` shows queued, running, and terminal workers and retrieves bounded terminal output by lane id. Completion emits a session notification with the completed lane id and status; the interactive footer shows running/queued counts or the latest terminal lane. Late worker output is stored separately and is never injected into an active foreground transcript.
|
|
156
|
+
|
|
157
|
+
Worker writes use **review-after-apply** semantics: a gate-authorized direct `write`/`edit` call or an envelope/path-validated structured action may mutate the scoped workspace before the parent reviews the result. The parent review is therefore a post-mutation acceptance step and receives changed files, blockers, the usage report id, and `parent_review_required` for an in-scope changed result. Denied or out-of-scope actions are refused before filesystem mutation; partial application is reported as `blocked`, never clean success.
|
|
152
158
|
|
|
153
159
|
| Setting | Type | Default | Description |
|
|
154
160
|
|---------|------|---------|-------------|
|
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "pi-extension-custom-provider",
|
|
3
|
-
"version": "0.81.
|
|
3
|
+
"version": "0.81.30",
|
|
4
4
|
"lockfileVersion": 3,
|
|
5
5
|
"requires": true,
|
|
6
6
|
"packages": {
|
|
7
7
|
"": {
|
|
8
8
|
"name": "pi-extension-custom-provider",
|
|
9
|
-
"version": "0.81.
|
|
9
|
+
"version": "0.81.30",
|
|
10
10
|
"dependencies": {
|
|
11
11
|
"@anthropic-ai/sdk": "^0.52.0"
|
|
12
12
|
}
|
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "pi-extension-sandbox",
|
|
3
|
-
"version": "0.81.
|
|
3
|
+
"version": "0.81.30",
|
|
4
4
|
"lockfileVersion": 3,
|
|
5
5
|
"requires": true,
|
|
6
6
|
"packages": {
|
|
7
7
|
"": {
|
|
8
8
|
"name": "pi-extension-sandbox",
|
|
9
|
-
"version": "0.81.
|
|
9
|
+
"version": "0.81.30",
|
|
10
10
|
"dependencies": {
|
|
11
11
|
"@anthropic-ai/sandbox-runtime": "^0.0.26"
|
|
12
12
|
}
|
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "pi-extension-with-deps",
|
|
3
|
-
"version": "0.81.
|
|
3
|
+
"version": "0.81.30",
|
|
4
4
|
"lockfileVersion": 3,
|
|
5
5
|
"requires": true,
|
|
6
6
|
"packages": {
|
|
7
7
|
"": {
|
|
8
8
|
"name": "pi-extension-with-deps",
|
|
9
|
-
"version": "0.81.
|
|
9
|
+
"version": "0.81.30",
|
|
10
10
|
"dependencies": {
|
|
11
11
|
"ms": "^2.1.3"
|
|
12
12
|
},
|
package/npm-shrinkwrap.json
CHANGED
|
@@ -1,17 +1,17 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@caupulican/pi-adaptative",
|
|
3
|
-
"version": "0.81.
|
|
3
|
+
"version": "0.81.30",
|
|
4
4
|
"lockfileVersion": 3,
|
|
5
5
|
"requires": true,
|
|
6
6
|
"packages": {
|
|
7
7
|
"": {
|
|
8
8
|
"name": "@caupulican/pi-adaptative",
|
|
9
|
-
"version": "0.81.
|
|
9
|
+
"version": "0.81.30",
|
|
10
10
|
"license": "MIT",
|
|
11
11
|
"dependencies": {
|
|
12
|
-
"@caupulican/pi-agent-core": "^0.81.
|
|
13
|
-
"@caupulican/pi-ai": "^0.81.
|
|
14
|
-
"@caupulican/pi-tui": "^0.81.
|
|
12
|
+
"@caupulican/pi-agent-core": "^0.81.30",
|
|
13
|
+
"@caupulican/pi-ai": "^0.81.30",
|
|
14
|
+
"@caupulican/pi-tui": "^0.81.30",
|
|
15
15
|
"@ff-labs/fff-node": "0.9.6",
|
|
16
16
|
"@silvia-odwyer/photon-node": "0.3.4",
|
|
17
17
|
"chalk": "5.6.2",
|
|
@@ -475,11 +475,11 @@
|
|
|
475
475
|
}
|
|
476
476
|
},
|
|
477
477
|
"node_modules/@caupulican/pi-agent-core": {
|
|
478
|
-
"version": "0.81.
|
|
479
|
-
"resolved": "https://registry.npmjs.org/@caupulican/pi-agent-core/-/pi-agent-core-0.81.
|
|
478
|
+
"version": "0.81.30",
|
|
479
|
+
"resolved": "https://registry.npmjs.org/@caupulican/pi-agent-core/-/pi-agent-core-0.81.30.tgz",
|
|
480
480
|
"license": "MIT",
|
|
481
481
|
"dependencies": {
|
|
482
|
-
"@caupulican/pi-ai": "^0.81.
|
|
482
|
+
"@caupulican/pi-ai": "^0.81.30",
|
|
483
483
|
"ignore": "7.0.5",
|
|
484
484
|
"typebox": "1.1.38",
|
|
485
485
|
"yaml": "2.9.0"
|
|
@@ -489,8 +489,8 @@
|
|
|
489
489
|
}
|
|
490
490
|
},
|
|
491
491
|
"node_modules/@caupulican/pi-ai": {
|
|
492
|
-
"version": "0.81.
|
|
493
|
-
"resolved": "https://registry.npmjs.org/@caupulican/pi-ai/-/pi-ai-0.81.
|
|
492
|
+
"version": "0.81.30",
|
|
493
|
+
"resolved": "https://registry.npmjs.org/@caupulican/pi-ai/-/pi-ai-0.81.30.tgz",
|
|
494
494
|
"license": "MIT",
|
|
495
495
|
"dependencies": {
|
|
496
496
|
"@anthropic-ai/sdk": "0.91.1",
|
|
@@ -512,8 +512,8 @@
|
|
|
512
512
|
}
|
|
513
513
|
},
|
|
514
514
|
"node_modules/@caupulican/pi-tui": {
|
|
515
|
-
"version": "0.81.
|
|
516
|
-
"resolved": "https://registry.npmjs.org/@caupulican/pi-tui/-/pi-tui-0.81.
|
|
515
|
+
"version": "0.81.30",
|
|
516
|
+
"resolved": "https://registry.npmjs.org/@caupulican/pi-tui/-/pi-tui-0.81.30.tgz",
|
|
517
517
|
"license": "MIT",
|
|
518
518
|
"dependencies": {
|
|
519
519
|
"get-east-asian-width": "1.6.0",
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@caupulican/pi-adaptative",
|
|
3
|
-
"version": "0.81.
|
|
3
|
+
"version": "0.81.30",
|
|
4
4
|
"description": "Adaptive fork of Pi coding agent for self-evolving agent harness experiments",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"piConfig": {
|
|
@@ -73,9 +73,9 @@
|
|
|
73
73
|
"prepublishOnly": "npm run clean && npm run build && npm run shrinkwrap"
|
|
74
74
|
},
|
|
75
75
|
"dependencies": {
|
|
76
|
-
"@caupulican/pi-agent-core": "^0.81.
|
|
77
|
-
"@caupulican/pi-ai": "^0.81.
|
|
78
|
-
"@caupulican/pi-tui": "^0.81.
|
|
76
|
+
"@caupulican/pi-agent-core": "^0.81.30",
|
|
77
|
+
"@caupulican/pi-ai": "^0.81.30",
|
|
78
|
+
"@caupulican/pi-tui": "^0.81.30",
|
|
79
79
|
"@ff-labs/fff-node": "0.9.6",
|
|
80
80
|
"@silvia-odwyer/photon-node": "0.3.4",
|
|
81
81
|
"chalk": "5.6.2",
|