@caupulican/pi-adaptative 0.80.100 → 0.80.103
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 +201 -0
- package/dist/config.d.ts +11 -0
- package/dist/config.d.ts.map +1 -1
- package/dist/config.js +17 -3
- package/dist/config.js.map +1 -1
- package/dist/core/agent-session.d.ts +72 -0
- package/dist/core/agent-session.d.ts.map +1 -1
- package/dist/core/agent-session.js +437 -46
- package/dist/core/agent-session.js.map +1 -1
- package/dist/core/autonomy/envelope-enforcement.d.ts +5 -0
- package/dist/core/autonomy/envelope-enforcement.d.ts.map +1 -1
- package/dist/core/autonomy/envelope-enforcement.js +28 -4
- package/dist/core/autonomy/envelope-enforcement.js.map +1 -1
- package/dist/core/autonomy/path-scope.d.ts.map +1 -1
- package/dist/core/autonomy/path-scope.js +33 -2
- package/dist/core/autonomy/path-scope.js.map +1 -1
- package/dist/core/bash-executor.d.ts.map +1 -1
- package/dist/core/bash-executor.js +15 -7
- package/dist/core/bash-executor.js.map +1 -1
- package/dist/core/context/brain-curator.d.ts +10 -0
- package/dist/core/context/brain-curator.d.ts.map +1 -1
- package/dist/core/context/brain-curator.js +19 -2
- package/dist/core/context/brain-curator.js.map +1 -1
- package/dist/core/context-gc.d.ts +8 -3
- package/dist/core/context-gc.d.ts.map +1 -1
- package/dist/core/context-gc.js +5 -0
- package/dist/core/context-gc.js.map +1 -1
- package/dist/core/delegation/worker-actions.d.ts +0 -10
- package/dist/core/delegation/worker-actions.d.ts.map +1 -1
- package/dist/core/delegation/worker-actions.js +5 -7
- package/dist/core/delegation/worker-actions.js.map +1 -1
- package/dist/core/delegation/worker-result.d.ts +6 -0
- package/dist/core/delegation/worker-result.d.ts.map +1 -1
- package/dist/core/delegation/worker-result.js +10 -4
- package/dist/core/delegation/worker-result.js.map +1 -1
- package/dist/core/delegation/worker-runner.d.ts +3 -0
- package/dist/core/delegation/worker-runner.d.ts.map +1 -1
- package/dist/core/delegation/worker-runner.js +6 -1
- package/dist/core/delegation/worker-runner.js.map +1 -1
- package/dist/core/doctor.d.ts +66 -0
- package/dist/core/doctor.d.ts.map +1 -0
- package/dist/core/doctor.js +144 -0
- package/dist/core/doctor.js.map +1 -0
- package/dist/core/learning/learning-audit.d.ts +13 -1
- package/dist/core/learning/learning-audit.d.ts.map +1 -1
- package/dist/core/learning/learning-audit.js +22 -1
- package/dist/core/learning/learning-audit.js.map +1 -1
- package/dist/core/learning/learning-gate.d.ts +3 -0
- package/dist/core/learning/learning-gate.d.ts.map +1 -1
- package/dist/core/learning/learning-gate.js +13 -4
- package/dist/core/learning/learning-gate.js.map +1 -1
- package/dist/core/models/local-registration.d.ts +2 -0
- package/dist/core/models/local-registration.d.ts.map +1 -1
- package/dist/core/models/local-registration.js +2 -1
- package/dist/core/models/local-registration.js.map +1 -1
- package/dist/core/models/local-runtime.d.ts +76 -2
- package/dist/core/models/local-runtime.d.ts.map +1 -1
- package/dist/core/models/local-runtime.js +233 -21
- package/dist/core/models/local-runtime.js.map +1 -1
- package/dist/core/profile-resource-selection.d.ts +15 -3
- package/dist/core/profile-resource-selection.d.ts.map +1 -1
- package/dist/core/profile-resource-selection.js +19 -9
- package/dist/core/profile-resource-selection.js.map +1 -1
- package/dist/core/resource-loader.d.ts +20 -0
- package/dist/core/resource-loader.d.ts.map +1 -1
- package/dist/core/resource-loader.js +42 -16
- package/dist/core/resource-loader.js.map +1 -1
- package/dist/core/settings-manager.d.ts +30 -0
- package/dist/core/settings-manager.d.ts.map +1 -1
- package/dist/core/settings-manager.js +65 -3
- package/dist/core/settings-manager.js.map +1 -1
- package/dist/core/skills.d.ts +14 -0
- package/dist/core/skills.d.ts.map +1 -1
- package/dist/core/skills.js +8 -0
- package/dist/core/skills.js.map +1 -1
- package/dist/core/tools/fff-search-backend.d.ts +34 -1
- package/dist/core/tools/fff-search-backend.d.ts.map +1 -1
- package/dist/core/tools/fff-search-backend.js +43 -4
- package/dist/core/tools/fff-search-backend.js.map +1 -1
- package/dist/core/tools/find.d.ts +16 -0
- package/dist/core/tools/find.d.ts.map +1 -1
- package/dist/core/tools/find.js +17 -3
- package/dist/core/tools/find.js.map +1 -1
- package/dist/core/tools/grep.d.ts +20 -0
- package/dist/core/tools/grep.d.ts.map +1 -1
- package/dist/core/tools/grep.js +15 -3
- package/dist/core/tools/grep.js.map +1 -1
- package/dist/main.d.ts.map +1 -1
- package/dist/main.js +17 -0
- package/dist/main.js.map +1 -1
- package/dist/modes/interactive/components/fitness-role-selector.d.ts +6 -2
- package/dist/modes/interactive/components/fitness-role-selector.d.ts.map +1 -1
- package/dist/modes/interactive/components/fitness-role-selector.js +55 -45
- package/dist/modes/interactive/components/fitness-role-selector.js.map +1 -1
- package/dist/modes/interactive/components/model-suggestion-selector.d.ts +13 -0
- package/dist/modes/interactive/components/model-suggestion-selector.d.ts.map +1 -0
- package/dist/modes/interactive/components/model-suggestion-selector.js +40 -0
- package/dist/modes/interactive/components/model-suggestion-selector.js.map +1 -0
- package/dist/modes/interactive/components/profile-resource-editor.d.ts +3 -0
- package/dist/modes/interactive/components/profile-resource-editor.d.ts.map +1 -1
- package/dist/modes/interactive/components/profile-resource-editor.js +16 -2
- package/dist/modes/interactive/components/profile-resource-editor.js.map +1 -1
- package/dist/modes/interactive/components/settings-selector.d.ts.map +1 -1
- package/dist/modes/interactive/components/settings-selector.js +98 -0
- package/dist/modes/interactive/components/settings-selector.js.map +1 -1
- package/dist/modes/interactive/interactive-mode.d.ts +8 -1
- package/dist/modes/interactive/interactive-mode.d.ts.map +1 -1
- package/dist/modes/interactive/interactive-mode.js +50 -12
- package/dist/modes/interactive/interactive-mode.js.map +1 -1
- package/dist/utils/safe-write-stream.d.ts +8 -0
- package/dist/utils/safe-write-stream.d.ts.map +1 -1
- package/dist/utils/safe-write-stream.js +32 -0
- package/dist/utils/safe-write-stream.js.map +1 -1
- package/dist/utils/tools-manager.d.ts +92 -2
- package/dist/utils/tools-manager.d.ts.map +1 -1
- package/dist/utils/tools-manager.js +172 -32
- package/dist/utils/tools-manager.js.map +1 -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 -36
- package/package.json +4 -4
|
@@ -29,6 +29,7 @@ import { type CustomMessage } from "./messages.ts";
|
|
|
29
29
|
import { type ModelCapabilityProfile } from "./model-capability.ts";
|
|
30
30
|
import type { ModelRegistry } from "./model-registry.ts";
|
|
31
31
|
import { type StoredFitnessReport } from "./models/fitness-store.ts";
|
|
32
|
+
import { type LocalRuntimeDeps, OllamaRuntime } from "./models/local-runtime.ts";
|
|
32
33
|
import { type PromptTemplate } from "./prompt-templates.ts";
|
|
33
34
|
import { type ModelFitnessReport } from "./research/model-fitness.ts";
|
|
34
35
|
import { type ResearchRunResult } from "./research/research-runner.ts";
|
|
@@ -91,6 +92,10 @@ export type AgentSessionEvent = Exclude<AgentEvent, {
|
|
|
91
92
|
success: boolean;
|
|
92
93
|
attempt: number;
|
|
93
94
|
finalError?: string;
|
|
95
|
+
} | {
|
|
96
|
+
type: "routing_start";
|
|
97
|
+
} | {
|
|
98
|
+
type: "routing_end";
|
|
94
99
|
};
|
|
95
100
|
/** Listener function for agent session events */
|
|
96
101
|
export type AgentSessionEventListener = (event: AgentSessionEvent) => void;
|
|
@@ -148,6 +153,12 @@ export interface AgentSessionConfig {
|
|
|
148
153
|
* defaults to the real, best-effort collector.
|
|
149
154
|
*/
|
|
150
155
|
collectWorkspaceSources?: typeof collectWorkspaceSources;
|
|
156
|
+
/**
|
|
157
|
+
* Injected fetch/spawn/exists for the local (Ollama) runtime health-check + boot used by the
|
|
158
|
+
* model router before a turn routed to a local model (see _ensureLocalModelReady). Unit tests
|
|
159
|
+
* inject fakes so they never hit a real network/process; production defaults to the real ones.
|
|
160
|
+
*/
|
|
161
|
+
localRuntimeDeps?: LocalRuntimeDeps;
|
|
151
162
|
}
|
|
152
163
|
export interface ExtensionBindings {
|
|
153
164
|
uiContext?: ExtensionUIContext;
|
|
@@ -345,6 +356,8 @@ export declare class AgentSession {
|
|
|
345
356
|
private readonly _brainCurator;
|
|
346
357
|
private _lastCurationSkipReason;
|
|
347
358
|
private _inertExtensionWarnings;
|
|
359
|
+
/** Extensions the active resource profile removed from the runtime set (surfaced in /context). */
|
|
360
|
+
private _profileDeniedExtensionCount;
|
|
348
361
|
private _lastPreDigestSkipReason;
|
|
349
362
|
private _unboundToolGrantWarnings;
|
|
350
363
|
private _toolArtifactStore;
|
|
@@ -370,6 +383,12 @@ export declare class AgentSession {
|
|
|
370
383
|
private _cwd;
|
|
371
384
|
private _agentDir;
|
|
372
385
|
private _collectWorkspaceSources;
|
|
386
|
+
private _localRuntimeDeps?;
|
|
387
|
+
/** Lazy, cached by baseUrl so the router path and any other caller share one instance per server. */
|
|
388
|
+
private _localRuntimes;
|
|
389
|
+
/** Server URLs confirmed reachable THIS session — skips the health-check round trip on every
|
|
390
|
+
* local-routed turn once warm. Keyed the same way as _localRuntimes. */
|
|
391
|
+
private _localRuntimeConfirmedUp;
|
|
373
392
|
private _extensionRunnerRef?;
|
|
374
393
|
private _initialActiveToolNames?;
|
|
375
394
|
private _allowedToolNames?;
|
|
@@ -673,6 +692,16 @@ export declare class AgentSession {
|
|
|
673
692
|
private _emit;
|
|
674
693
|
private _emitQueueUpdate;
|
|
675
694
|
private _lastAssistantMessage;
|
|
695
|
+
/**
|
|
696
|
+
* User messages already painted to the UI by an early, synthetic `message_start` fired from
|
|
697
|
+
* `_promptUnserialized` — before the model-router judge's bounded LLM call — so the prompt
|
|
698
|
+
* appears immediately instead of hanging until routing finishes. The real agent-loop run emits
|
|
699
|
+
* its own authoritative `message_start` for the SAME message object once the turn actually
|
|
700
|
+
* starts; `_handleAgentEvent` consumes (deletes) it from this set to suppress that one duplicate
|
|
701
|
+
* listener notification. Persistence is untouched: it stays keyed off `message_end`, which is
|
|
702
|
+
* never added here and never suppressed.
|
|
703
|
+
*/
|
|
704
|
+
private _earlyDisplayedUserMessages;
|
|
676
705
|
/** Internal handler for agent events - shared by subscribe and reconnect */
|
|
677
706
|
private _handleAgentEvent;
|
|
678
707
|
private _willRetryAfterAgentEnd;
|
|
@@ -797,13 +826,41 @@ export declare class AgentSession {
|
|
|
797
826
|
private _buildSituationSoulPrompt;
|
|
798
827
|
private _buildSelfModificationPrompt;
|
|
799
828
|
private _buildAutonomyPrompt;
|
|
829
|
+
private _buildSystemPromptOptionsForToolNames;
|
|
800
830
|
private _rebuildSystemPrompt;
|
|
831
|
+
/**
|
|
832
|
+
* Build a system prompt for a specific tool surface WITHOUT touching the session's base prompt
|
|
833
|
+
* state. Used for a router-swapped turn (G4): the routed model runs against a filtered tool set,
|
|
834
|
+
* so it must also receive a system prompt whose tool guidelines/snippets match that filtered
|
|
835
|
+
* surface — but the change is per-turn, so it must not mutate `_baseSystemPromptOptions` (which
|
|
836
|
+
* later turns and extension events read).
|
|
837
|
+
*/
|
|
838
|
+
private _buildSystemPromptForToolNames;
|
|
801
839
|
private _runAgentPrompt;
|
|
802
840
|
private _isModelAvailableAndAuthed;
|
|
803
841
|
private _resolveExecutorRoute;
|
|
804
842
|
/** True if a run_toolkit_script tool result since `fromIndex` actually EXECUTED (not error/ambiguous). */
|
|
805
843
|
private _executorTurnExecutedScript;
|
|
806
844
|
private _buildExecutorRefinedPrompt;
|
|
845
|
+
/**
|
|
846
|
+
* Shared {@link OllamaRuntime} for a given server, lazily created and cached by baseUrl so every
|
|
847
|
+
* caller — the router's readiness gate below and any host UI's own model-lifecycle commands
|
|
848
|
+
* (e.g. `/models`) — sees and can stop the SAME pi-managed process instead of each tracking its
|
|
849
|
+
* own untracked child.
|
|
850
|
+
*/
|
|
851
|
+
getLocalRuntime(baseUrl?: string): OllamaRuntime;
|
|
852
|
+
/** models.json registers a local model's baseUrl as `<server>/v1` (OpenAI-compat); the runtime's
|
|
853
|
+
* own health/boot endpoints are on the Ollama-native server root. */
|
|
854
|
+
private _deriveOllamaServerUrl;
|
|
855
|
+
/**
|
|
856
|
+
* If the last assistant message in this session was an error from THIS exact local server, a
|
|
857
|
+
* cached "confirmed up" flag would be stale (the server may have died mid-session) — drop it so
|
|
858
|
+
* the next ensure-check is a real one instead of trusting stale state.
|
|
859
|
+
*/
|
|
860
|
+
private _invalidateLocalRuntimeIfLastCallFailed;
|
|
861
|
+
private _ensureLocalModelReady;
|
|
862
|
+
private _maybeInstallOllamaOnConsent;
|
|
863
|
+
private _ensureRouteModelReady;
|
|
807
864
|
private _resolveModelRouterTurnRoute;
|
|
808
865
|
private _resolveModelRouterModelForIntent;
|
|
809
866
|
private _resolveConfiguredTierModel;
|
|
@@ -1021,6 +1078,21 @@ export declare class AgentSession {
|
|
|
1021
1078
|
private _isToolOrCommandAllowedByProfile;
|
|
1022
1079
|
private _hasToolOrCommandProfileGate;
|
|
1023
1080
|
private _filterExtensionsForRuntime;
|
|
1081
|
+
/**
|
|
1082
|
+
* /context observations for skills/prompts/extensions the active resource profile removed from
|
|
1083
|
+
* listings — the analog of the withheld-AGENTS.md warning. Strict UAC makes these silently absent,
|
|
1084
|
+
* so a lean profile's effect on the resource surface stays visible. Counts are profile-scoped
|
|
1085
|
+
* (skills/prompts via the profile-independent discovery universe filtered by the live profile
|
|
1086
|
+
* filter; extensions via the runtime filter's denied tally). Empty when nothing is withheld.
|
|
1087
|
+
*
|
|
1088
|
+
* Uses `isResourceDeniedByActiveProfile` (profile-only), not `isResourceAllowedByProfile` (which
|
|
1089
|
+
* also folds in the user's own legacy `disabledResources` list): a plain user-disabled resource
|
|
1090
|
+
* must never be misattributed to "the active resource profile" — that case is already surfaced by
|
|
1091
|
+
* the G14 disable-wins warning. With no active profile at all, the helper always reports nothing
|
|
1092
|
+
* denied, so this naturally stays silent (extensions keep their own runtime-filter-derived count,
|
|
1093
|
+
* which is already correctly zero absent a profile).
|
|
1094
|
+
*/
|
|
1095
|
+
private _profileDeniedResourceObservations;
|
|
1024
1096
|
private _reapplyActiveProfileModelSettings;
|
|
1025
1097
|
private _initializeMemory;
|
|
1026
1098
|
/** Register a memory provider contributed by an extension; applied on the next memory (re)init. */
|