@wrongstack/core 0.313.0 → 0.316.1
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/dist/chronicle/index.js +84 -6391
- package/dist/chronicle/legacy-journal-import.d.ts +0 -6
- package/dist/chronicle/metrics-ingest.d.ts +14 -0
- package/dist/chronicle/metrics-schema.d.ts +10 -1
- package/dist/chronicle/metrics-store.d.ts +20 -2
- package/dist/chronicle/project-server.js +98 -4874
- package/dist/chronicle/sink.d.ts +13 -0
- package/dist/chronicle/sqlite-journal.d.ts +20 -2
- package/dist/chunk-25LSLC3G.js +334 -0
- package/dist/chunk-27QIURLN.js +1073 -0
- package/dist/chunk-2FK4WTFF.js +207 -0
- package/dist/chunk-2YU4WVBW.js +134 -0
- package/dist/chunk-3AGWVSS7.js +4608 -0
- package/dist/chunk-3BDV7RL3.js +211 -0
- package/dist/chunk-3ECENVHL.js +325 -0
- package/dist/chunk-3XPVB7BA.js +135 -0
- package/dist/chunk-45WI72ZB.js +16884 -0
- package/dist/chunk-4BMVPOHO.js +3748 -0
- package/dist/chunk-4I7HGVVA.js +363 -0
- package/dist/chunk-4LCZVJVF.js +317 -0
- package/dist/chunk-4SJNS7OB.js +217 -0
- package/dist/chunk-4VWO3ZXL.js +342 -0
- package/dist/chunk-57GEWK5X.js +26 -0
- package/dist/chunk-5BMIE7QG.js +46 -0
- package/dist/chunk-5S437PRC.js +50 -0
- package/dist/chunk-5XDUGTKN.js +511 -0
- package/dist/chunk-5YPSXQXM.js +1443 -0
- package/dist/chunk-6FHWXLPT.js +10 -0
- package/dist/chunk-6H5GEOET.js +2406 -0
- package/dist/chunk-6NWEVFEL.js +151 -0
- package/dist/chunk-AYW5YINX.js +58 -0
- package/dist/chunk-B4AMLZPB.js +9 -0
- package/dist/chunk-B7F4WVP4.js +65 -0
- package/dist/chunk-BJHVULHO.js +55 -0
- package/dist/chunk-BPBKKBUK.js +2085 -0
- package/dist/chunk-BYD345OX.js +589 -0
- package/dist/chunk-C27KDLOX.js +279 -0
- package/dist/chunk-CU546ESW.js +597 -0
- package/dist/chunk-DLHHXUAM.js +172 -0
- package/dist/chunk-DOTHQSJ2.js +429 -0
- package/dist/chunk-DYLPMV4Q.js +711 -0
- package/dist/chunk-EODDVJBM.js +82 -0
- package/dist/chunk-F3JWNST7.js +361 -0
- package/dist/chunk-FC2ZGRF3.js +140 -0
- package/dist/chunk-FCBTO76Z.js +5786 -0
- package/dist/chunk-FHZVFYSL.js +396 -0
- package/dist/chunk-FNXVT7HF.js +52 -0
- package/dist/chunk-FWNLEZYG.js +259 -0
- package/dist/chunk-FXQLIX3K.js +211 -0
- package/dist/chunk-G5S3S5ZN.js +38 -0
- package/dist/chunk-GDQ7CZRQ.js +116 -0
- package/dist/chunk-GJJGJB2R.js +1374 -0
- package/dist/chunk-GTCU6DZ3.js +1 -0
- package/dist/chunk-HA4ZYA6T.js +178 -0
- package/dist/chunk-HI3JGZR2.js +188 -0
- package/dist/chunk-HMLIGAU7.js +395 -0
- package/dist/chunk-HXKZ7OBQ.js +303 -0
- package/dist/chunk-I7DALG7J.js +292 -0
- package/dist/chunk-IRUTEHCE.js +960 -0
- package/dist/chunk-IYFBFX34.js +86 -0
- package/dist/chunk-J2WRWR37.js +1104 -0
- package/dist/chunk-JFPJ6LLQ.js +129 -0
- package/dist/chunk-JMULFFLN.js +9 -0
- package/dist/chunk-JO4MGB6Z.js +1264 -0
- package/dist/chunk-JVKB2TBL.js +48 -0
- package/dist/chunk-JX7VBZDK.js +31 -0
- package/dist/chunk-K6BXGITA.js +931 -0
- package/dist/chunk-KDQJCT2J.js +45 -0
- package/dist/chunk-KJ2ZTQSL.js +47 -0
- package/dist/chunk-KZMSZV32.js +187 -0
- package/dist/chunk-LA7CLDRW.js +129 -0
- package/dist/chunk-LHOA5DWA.js +28 -0
- package/dist/chunk-LSMMOS2Z.js +119 -0
- package/dist/chunk-LX5QWLBL.js +27 -0
- package/dist/chunk-LXWCMQNJ.js +789 -0
- package/dist/chunk-M27LIEKV.js +2829 -0
- package/dist/chunk-MJPHJRAL.js +663 -0
- package/dist/chunk-MTL4O5YR.js +228 -0
- package/dist/chunk-NDBIPFNY.js +102 -0
- package/dist/chunk-NEMIWEXC.js +1199 -0
- package/dist/chunk-NHJ75HXY.js +1 -0
- package/dist/chunk-NIOAGFPB.js +1510 -0
- package/dist/chunk-NS52ISWS.js +355 -0
- package/dist/chunk-NSOFPKGT.js +5352 -0
- package/dist/chunk-NVIZG63R.js +757 -0
- package/dist/chunk-O37BQ65S.js +21 -0
- package/dist/chunk-OOYZPOXM.js +308 -0
- package/dist/chunk-OSGLYW5J.js +28 -0
- package/dist/chunk-PFCMSSUF.js +1640 -0
- package/dist/chunk-PFZO3C6H.js +14 -0
- package/dist/chunk-PGRVXIMY.js +158 -0
- package/dist/chunk-PHH7LD45.js +113 -0
- package/dist/chunk-PISBFBJN.js +109 -0
- package/dist/chunk-POOOIWE5.js +9 -0
- package/dist/chunk-PQNS3U7Z.js +1240 -0
- package/dist/chunk-QSTSJOCK.js +402 -0
- package/dist/chunk-RFQMOKWK.js +282 -0
- package/dist/chunk-RJIZEJ42.js +30 -0
- package/dist/chunk-RTOTNK3P.js +484 -0
- package/dist/chunk-RXKSDUAU.js +1172 -0
- package/dist/chunk-S45JPKQN.js +3317 -0
- package/dist/chunk-SAFHACFA.js +152 -0
- package/dist/chunk-SQJVFEBV.js +41 -0
- package/dist/chunk-SVT4RNTR.js +49 -0
- package/dist/chunk-SWUFN7XM.js +43 -0
- package/dist/chunk-SXMVYC5H.js +174 -0
- package/dist/chunk-SZ6AYUIZ.js +23 -0
- package/dist/chunk-TBRL2RCC.js +9 -0
- package/dist/chunk-TCCHINEF.js +655 -0
- package/dist/chunk-THEGTRAG.js +316 -0
- package/dist/chunk-TR4LQE7L.js +2256 -0
- package/dist/chunk-TRT2HRWZ.js +18 -0
- package/dist/chunk-TWJMGXCI.js +900 -0
- package/dist/chunk-U45AXT5D.js +1023 -0
- package/dist/chunk-U4FWBSO3.js +509 -0
- package/dist/chunk-UBGDX6FI.js +147 -0
- package/dist/chunk-UJILKYES.js +75 -0
- package/dist/chunk-ULMAQV3T.js +234 -0
- package/dist/chunk-VVBP6KGT.js +9 -0
- package/dist/chunk-W5VITDM2.js +168 -0
- package/dist/chunk-WAHQVNWT.js +194 -0
- package/dist/chunk-WBPVKEEE.js +227 -0
- package/dist/chunk-WGGYRBXH.js +5434 -0
- package/dist/chunk-WLYKU45P.js +5770 -0
- package/dist/chunk-WP7BVANJ.js +53 -0
- package/dist/chunk-WQQON3SV.js +473 -0
- package/dist/chunk-WQTOVMGV.js +119 -0
- package/dist/chunk-XBDP4QPW.js +7 -0
- package/dist/chunk-XEBHSJLT.js +103 -0
- package/dist/chunk-XF4VUMKW.js +231 -0
- package/dist/chunk-XQ2ECNK3.js +1 -0
- package/dist/chunk-Y5YXDM7D.js +74 -0
- package/dist/chunk-YOPAUVU4.js +2588 -0
- package/dist/chunk-YPT4A46F.js +362 -0
- package/dist/chunk-YWXT3JNM.js +425 -0
- package/dist/chunk-YY6APYUM.js +49 -0
- package/dist/chunk-Z2IJUO45.js +691 -0
- package/dist/chunk-ZHZ2Y2DH.js +1643 -0
- package/dist/chunk-ZT7JNIGX.js +152 -0
- package/dist/coordination/agent-monitor.d.ts +9 -1
- package/dist/coordination/agent-subagent-runner.d.ts +1 -1
- package/dist/coordination/agents/agent-prompts.d.ts +8 -0
- package/dist/coordination/agents/index.d.ts +33 -1
- package/dist/coordination/agents/index.js +184 -6269
- package/dist/coordination/agents/phase3-wave1-platform.d.ts +1 -3
- package/dist/coordination/agents/phase3-wave2-meta.d.ts +1 -3
- package/dist/coordination/agents/phase8-wave3-products.d.ts +1 -3
- package/dist/coordination/agents/phase9-wave4-platform-meta.d.ts +1 -3
- package/dist/coordination/agents/project-agent-identity.d.ts +11 -11
- package/dist/coordination/agents/types.d.ts +13 -2
- package/dist/coordination/brain-monitor.d.ts +30 -7
- package/dist/coordination/collab-debug.d.ts +1 -1
- package/dist/coordination/collab-pause.d.ts +1 -1
- package/dist/coordination/delegate-tool.d.ts +7 -5
- package/dist/coordination/director-kanban-queue-helpers.d.ts +1 -0
- package/dist/coordination/director-options.d.ts +7 -0
- package/dist/coordination/director-spawn-model.d.ts +17 -0
- package/dist/coordination/director-tools.d.ts +2 -2
- package/dist/coordination/director.d.ts +12 -0
- package/dist/coordination/dispatcher.d.ts +8 -0
- package/dist/coordination/fleet-bus.d.ts +35 -4
- package/dist/coordination/fleet-supervisor.d.ts +10 -2
- package/dist/coordination/fleet.d.ts +16 -7
- package/dist/coordination/index.d.ts +4 -0
- package/dist/coordination/index.js +402 -34324
- package/dist/coordination/kanban-dispatch-port.d.ts +2 -2
- package/dist/coordination/mailbox-http-router.d.ts +4 -3
- package/dist/coordination/mailbox-http-validation.d.ts +1 -1
- package/dist/coordination/mailbox-project-server.js +48 -3276
- package/dist/coordination/mailbox-types.d.ts +24 -6
- package/dist/coordination/model-tier-leader.d.ts +122 -0
- package/dist/coordination/model-tier.d.ts +122 -0
- package/dist/coordination/multi-agent-coordinator.d.ts +24 -0
- package/dist/coordination/origin-session.d.ts +16 -0
- package/dist/coordination/provider-status-tracker.d.ts +41 -5
- package/dist/coordination/session-note-hub.d.ts +44 -0
- package/dist/coordination/session-note-tool.d.ts +10 -0
- package/dist/core/agent.d.ts +15 -2
- package/dist/core/context.d.ts +22 -3
- package/dist/core/index.d.ts +2 -0
- package/dist/core/index.js +239 -12360
- package/dist/core/model-ref.js +5 -23
- package/dist/core/provider-runner.d.ts +36 -1
- package/dist/core/request-conversation-binding.d.ts +37 -0
- package/dist/core/session-notes.d.ts +25 -0
- package/dist/core/system-prompt-builder.d.ts +11 -2
- package/dist/core/system-prompt-variants.d.ts +78 -0
- package/dist/design/index.js +50 -1087
- package/dist/execution/auto-compaction-middleware.d.ts +11 -0
- package/dist/execution/autonomy-brain.d.ts +2 -1
- package/dist/execution/autonomy-prompt-contributor.d.ts +7 -2
- package/dist/execution/compaction-core.d.ts +4 -4
- package/dist/execution/eternal-autonomy.d.ts +1 -1
- package/dist/execution/index.d.ts +1 -1
- package/dist/execution/index.js +1615 -21895
- package/dist/execution/model-runtime.d.ts +0 -7
- package/dist/execution/parallel-eternal-engine.d.ts +7 -7
- package/dist/execution/prompt-enhancer.js +16 -535
- package/dist/execution/retry-policy.d.ts +31 -1
- package/dist/extension/index.js +7 -311
- package/dist/goal/index.js +33 -3435
- package/dist/hooks/index.js +14 -1138
- package/dist/hq/index.js +114 -5139
- package/dist/hq/persistence/event-log.d.ts +0 -1
- package/dist/hq/persistence.d.ts +4 -4
- package/dist/hq/protocol.js +21 -668
- package/dist/hq/publisher.d.ts +2 -0
- package/dist/index.d.ts +14 -11
- package/dist/index.js +1502 -92655
- package/dist/infrastructure/index.d.ts +4 -4
- package/dist/infrastructure/index.js +504 -5230
- package/dist/infrastructure/token-counter.d.ts +9 -0
- package/dist/kernel/events/agent-events.d.ts +77 -3
- package/dist/kernel/events/brain-events.d.ts +12 -0
- package/dist/kernel/events/provider-events.d.ts +22 -1
- package/dist/kernel/events/session-events.d.ts +14 -0
- package/dist/kernel/events/tool-events.d.ts +13 -0
- package/dist/kernel/index.js +14 -992
- package/dist/mailbox-attach.d.ts +1 -1
- package/dist/models/index.js +41 -1117
- package/dist/notifications/index.js +3 -108
- package/dist/observability/event-bridge.d.ts +25 -5
- package/dist/observability/index.d.ts +9 -8
- package/dist/observability/index.js +477 -631
- package/dist/observability/tool-usage-source.d.ts +65 -0
- package/dist/plugin/index.d.ts +5 -0
- package/dist/plugin/index.js +600 -14835
- package/dist/plugins/auto-review-plugin.d.ts +3 -2
- package/dist/plugins/review-finding-commands.d.ts +0 -8
- package/dist/plugins/review-finding-store.js +22 -0
- package/dist/plugins/review-finding-types.js +19 -0
- package/dist/plugins/review-report-integration.js +21 -0
- package/dist/plugins/review-report-store.js +20 -0
- package/dist/plugins/review-report-types.js +13 -0
- package/dist/prompts/index.js +14 -948
- package/dist/registry/index.js +9 -822
- package/dist/registry/tool-registry.d.ts +59 -9
- package/dist/registry-7N4O3E7W.js +14 -0
- package/dist/replay/index.js +6 -84
- package/dist/security/capabilities.d.ts +6 -0
- package/dist/security/file-permissions.d.ts +1 -1
- package/dist/security/index.js +161 -2235
- package/dist/security/permission-policy.d.ts +12 -1
- package/dist/security/secret-scrubber.d.ts +15 -0
- package/dist/session-catalog/index.d.ts +1 -0
- package/dist/session-catalog/index.js +41 -2103
- package/dist/session-catalog/project-server.js +59 -1435
- package/dist/session-catalog/protocol.d.ts +32 -1
- package/dist/session-catalog/registry.d.ts +17 -1
- package/dist/session-catalog/session-agents.d.ts +56 -0
- package/dist/session-catalog/store-rebuild.d.ts +14 -0
- package/dist/session-catalog/store-schema.d.ts +26 -0
- package/dist/session-catalog/store.d.ts +27 -1
- package/dist/session-note-attach.d.ts +9 -0
- package/dist/skills/index.js +35 -1578
- package/dist/statusline/index.d.ts +43 -0
- package/dist/statusline/index.js +102 -0
- package/dist/storage/board-store-port.d.ts +2 -2
- package/dist/storage/config-loader/in-project-policy.d.ts +29 -0
- package/dist/storage/config-loader.d.ts +3 -2
- package/dist/storage/file-session-writer.d.ts +4 -2
- package/dist/storage/goal-coordination.d.ts +6 -1
- package/dist/storage/goal-kanban.d.ts +4 -1
- package/dist/storage/index.d.ts +12 -4
- package/dist/storage/index.js +198 -15601
- package/dist/storage/input-history-store.d.ts +2 -4
- package/dist/storage/memory-curator.d.ts +133 -0
- package/dist/storage/session-agent-attribution.d.ts +39 -0
- package/dist/storage/session-doctor.d.ts +109 -0
- package/dist/storage/session-event-bridge.d.ts +5 -7
- package/dist/storage/session-outcome.d.ts +42 -0
- package/dist/storage/session-recovery.d.ts +55 -0
- package/dist/storage/session-store/load-session-data.d.ts +11 -0
- package/dist/storage/session-store/prune-helpers.d.ts +1 -1
- package/dist/storage/session-store/resume-session.d.ts +0 -2
- package/dist/storage/session-store/types.d.ts +8 -0
- package/dist/storage/session-store.d.ts +3 -3
- package/dist/storage/session-summary-tracker.d.ts +8 -1
- package/dist/storage/session-write-buffer.d.ts +18 -0
- package/dist/storage/session-writer-truncate.d.ts +2 -0
- package/dist/tasking/index.js +10 -676
- package/dist/tools/fallback-manage-tools.d.ts +6 -4
- package/dist/tools/index.js +52 -9590
- package/dist/tools/model-tier-set-tool.d.ts +66 -0
- package/dist/types/agent-bridge.d.ts +2 -1
- package/dist/types/config/autonomy.d.ts +5 -0
- package/dist/types/config/mcp-features.d.ts +7 -0
- package/dist/types/config/model-tiers.d.ts +148 -0
- package/dist/types/config/root.d.ts +9 -0
- package/dist/types/config/tools.d.ts +73 -0
- package/dist/types/config/ui.d.ts +1 -1
- package/dist/types/config.d.ts +1 -0
- package/dist/types/context.d.ts +2 -0
- package/dist/types/default-config.d.ts +6 -0
- package/dist/types/errors.d.ts +20 -1
- package/dist/types/index.d.ts +11 -9
- package/dist/types/index.js +131 -1342
- package/dist/types/multi-agent.d.ts +43 -0
- package/dist/types/plugin.d.ts +1 -1
- package/dist/types/provider-runner.d.ts +8 -0
- package/dist/types/provider.d.ts +15 -0
- package/dist/types/runtime-capability-manifest.d.ts +1 -1
- package/dist/types/secret-scrubber.d.ts +15 -0
- package/dist/types/session-markers.d.ts +37 -10
- package/dist/types/session-markers.js +8 -144
- package/dist/types/session-timeline.d.ts +197 -0
- package/dist/types/session-timeline.js +12 -0
- package/dist/types/session.d.ts +172 -11
- package/dist/types/system-prompt.d.ts +27 -0
- package/dist/utils/config-backup.d.ts +9 -1
- package/dist/utils/error.js +3 -4
- package/dist/utils/expect-defined.js +3 -9
- package/dist/utils/heap-watchdog.js +6 -706
- package/dist/utils/index.js +271 -5685
- package/dist/utils/message-invariants.d.ts +4 -1
- package/dist/utils/regex-guard.d.ts +1 -1
- package/dist/utils/sage-output-block.js +5 -42
- package/dist/utils/socket-path.d.ts +1 -1
- package/dist/utils/token-estimate.d.ts +6 -2
- package/dist/utils/wstack-paths.d.ts +2 -0
- package/dist/wiring/proxy-rewrite.d.ts +46 -0
- package/dist/wiring/proxy-rewrite.js +24 -121
- package/dist/worktree/index.js +6 -887
- package/instructions/agents/explore-companion.md +45 -18
- package/instructions/agents/memory-curator.md +34 -22
- package/instructions/coordination/director-preamble.md +12 -7
- package/instructions/coordination/subagent-baseline.md +26 -5
- package/instructions/leader-after-task.md +4 -1
- package/instructions/llm/chimera-review.md +30 -9
- package/instructions/llm/memory-curator.md +31 -0
- package/instructions/sections/tool/delegation-compact.md +2 -0
- package/instructions/sections/tool/delegation-full.md +5 -1
- package/instructions/sections/tool/mailbox-compact.md +5 -1
- package/instructions/sections/tool/mailbox-full.md +3 -0
- package/instructions/sections/tool/session-note-compact.md +3 -0
- package/instructions/sections/tool/session-note-full.md +15 -0
- package/instructions/system-lite.md +9 -4
- package/instructions/system-pro.md +66 -143
- package/instructions/system.md +73 -175
- package/package.json +32 -4
- package/dist/coordination/agents.d.ts +0 -8
- package/dist/coordination/transport.d.ts +0 -2
- package/dist/storage/session-writer/session-writer-summary-tracker.d.ts +0 -28
package/dist/core/model-ref.js
CHANGED
|
@@ -1,26 +1,8 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
return {
|
|
7
|
-
provider: trimmed.slice(0, slash) || void 0,
|
|
8
|
-
model: trimmed.slice(slash + 1).trim()
|
|
9
|
-
};
|
|
10
|
-
}
|
|
11
|
-
const parts = trimmed.split(/\s+/);
|
|
12
|
-
if (parts.length >= 2) {
|
|
13
|
-
return { provider: parts[0], model: parts.slice(1).join(" ") };
|
|
14
|
-
}
|
|
15
|
-
return { model: trimmed };
|
|
16
|
-
}
|
|
17
|
-
function formatModelRef(ref, defaultProvider) {
|
|
18
|
-
const provider = ref.provider ?? defaultProvider;
|
|
19
|
-
return provider ? `${provider}/${ref.model}` : ref.model;
|
|
20
|
-
}
|
|
21
|
-
function normalizeModelRef(ref, defaultProvider) {
|
|
22
|
-
return formatModelRef(parseModelRef(ref), defaultProvider);
|
|
23
|
-
}
|
|
1
|
+
import {
|
|
2
|
+
formatModelRef,
|
|
3
|
+
normalizeModelRef,
|
|
4
|
+
parseModelRef
|
|
5
|
+
} from "../chunk-RJIZEJ42.js";
|
|
24
6
|
export {
|
|
25
7
|
formatModelRef,
|
|
26
8
|
normalizeModelRef,
|
|
@@ -1,9 +1,10 @@
|
|
|
1
|
+
import type { ProviderModelStatusTracker } from '../coordination/provider-status-tracker.js';
|
|
1
2
|
import type { EventBus } from '../kernel/events.js';
|
|
3
|
+
import type { AgentContext } from '../types/context.js';
|
|
2
4
|
import type { Logger } from '../types/logger.js';
|
|
3
5
|
import type { Tracer } from '../types/observability.js';
|
|
4
6
|
import type { Provider, Request, Response } from '../types/provider.js';
|
|
5
7
|
import type { RetryPolicy } from '../types/retry-policy.js';
|
|
6
|
-
import type { AgentContext } from '../types/context.js';
|
|
7
8
|
export interface RunProviderOptions {
|
|
8
9
|
provider: Provider;
|
|
9
10
|
request: Request;
|
|
@@ -13,12 +14,46 @@ export interface RunProviderOptions {
|
|
|
13
14
|
retry: RetryPolicy;
|
|
14
15
|
logger: Logger;
|
|
15
16
|
tracer?: Tracer | undefined;
|
|
17
|
+
/**
|
|
18
|
+
* Shared provider/model waiting room. When present this runner refuses to
|
|
19
|
+
* put a quarantined (provider, model) pair on the wire and reports every
|
|
20
|
+
* wire outcome back into it. See {@link runProviderWithRetry}.
|
|
21
|
+
*/
|
|
22
|
+
statusTracker?: ProviderModelStatusTracker | undefined;
|
|
16
23
|
}
|
|
24
|
+
/**
|
|
25
|
+
* Marks a ProviderError whose failure has already been written to the waiting
|
|
26
|
+
* room, so an outer layer (the `fallback-model` extension) does not count the
|
|
27
|
+
* same wire failure twice. `Symbol.for` because the error crosses esbuild
|
|
28
|
+
* subpath-bundle boundaries where class identity is not preserved.
|
|
29
|
+
*/
|
|
30
|
+
export declare const PROVIDER_FAILURE_TRACKED: unique symbol;
|
|
31
|
+
/** True when a previous layer already recorded this error in the waiting room. */
|
|
32
|
+
export declare function isProviderFailureTracked(err: unknown): boolean;
|
|
17
33
|
/**
|
|
18
34
|
* Call a provider with the retry policy applied. Emits `provider.retry`
|
|
19
35
|
* before each retry and `provider.error` once when the retries are
|
|
20
36
|
* exhausted. Streaming providers route through the streaming-response
|
|
21
37
|
* builder so deltas reach the renderer.
|
|
38
|
+
*
|
|
39
|
+
* ## Waiting-room middleware
|
|
40
|
+
*
|
|
41
|
+
* This function is the ONE funnel every agent-loop provider call passes
|
|
42
|
+
* through — leader turns, subagent turns, and every hop the `fallback-model`
|
|
43
|
+
* extension takes (its chain calls back into this runner). When
|
|
44
|
+
* `statusTracker` is supplied it therefore acts as the last line of defence
|
|
45
|
+
* for the provider waiting room:
|
|
46
|
+
*
|
|
47
|
+
* - **Pre-flight**: a quarantined (provider, model) pair never reaches the
|
|
48
|
+
* wire. A synthetic fallback-worthy 429 is thrown instead, so an outer
|
|
49
|
+
* fallback chain rotates to the next candidate exactly as it would for a
|
|
50
|
+
* real rate limit — but no HTTP request, and no billing, happens.
|
|
51
|
+
* - **Post-flight**: every success and every terminal failure is recorded,
|
|
52
|
+
* independent of which extensions are installed. Before this, the ONLY
|
|
53
|
+
* writer was the `fallback-model` extension; anything running without it
|
|
54
|
+
* (or any failure whose class identity did not survive a bundle boundary)
|
|
55
|
+
* left the waiting room empty and the same doomed model was picked again
|
|
56
|
+
* on the very next spawn.
|
|
22
57
|
*/
|
|
23
58
|
export declare function runProviderWithRetry(opts: RunProviderOptions): Promise<Response>;
|
|
24
59
|
//# sourceMappingURL=provider-runner.d.ts.map
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The conversation that owns one concrete LLM request.
|
|
3
|
+
*
|
|
4
|
+
* The request pipeline is SHARED: one instance serves every conversation the
|
|
5
|
+
* process is running, and its payload is a bare `Request` with no session on
|
|
6
|
+
* it. That was fine when a process meant a conversation. With four WebUI tabs
|
|
7
|
+
* it means a middleware can only answer "what did the project configure",
|
|
8
|
+
* never "what did THIS tab configure" — which is how a reasoning effort chosen
|
|
9
|
+
* in one tab ended up on every other tab's next request.
|
|
10
|
+
*
|
|
11
|
+
* A side-channel rather than a field on `Request`, for the same reason
|
|
12
|
+
* `request-provider-binding.ts` is one: `Request` is the wire shape, and
|
|
13
|
+
* adding non-wire fields to it invites providers to serialise them.
|
|
14
|
+
*
|
|
15
|
+
* Binding is best-effort by design. A request built outside the agent loop
|
|
16
|
+
* (compaction, one-shot helpers, the brain) carries no conversation, and every
|
|
17
|
+
* reader must fall back to the process-wide answer — which is exactly the
|
|
18
|
+
* behaviour those callers had before.
|
|
19
|
+
*
|
|
20
|
+
* @module request-conversation-binding
|
|
21
|
+
*/
|
|
22
|
+
import type { Request } from '../types/provider.js';
|
|
23
|
+
/** The slice of a conversation a request-pipeline middleware may consult. */
|
|
24
|
+
export interface RequestConversation {
|
|
25
|
+
/** The conversation's own meta bag — per-session preferences live here. */
|
|
26
|
+
meta: Record<string, unknown>;
|
|
27
|
+
}
|
|
28
|
+
export declare function bindRequestConversation(request: Request, conversation: RequestConversation): void;
|
|
29
|
+
export declare function conversationBoundToRequest(request: Request): RequestConversation | undefined;
|
|
30
|
+
/**
|
|
31
|
+
* Carry the binding onto a request a middleware just copied.
|
|
32
|
+
*
|
|
33
|
+
* Middleware conventionally returns `{ ...req }`, which is a NEW object and
|
|
34
|
+
* therefore unbound — so the middleware after it would see no conversation.
|
|
35
|
+
*/
|
|
36
|
+
export declare function inheritRequestConversation(from: Request, to: Request): void;
|
|
37
|
+
//# sourceMappingURL=request-conversation-binding.d.ts.map
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Same-session agent notes — ephemeral inbox on the live Context.
|
|
3
|
+
*
|
|
4
|
+
* Distinct from `/btw` (user mid-run steering) and from mailbox (durable
|
|
5
|
+
* cross-session mail). A note is posted in-process, queued here, and folded
|
|
6
|
+
* into the recipient's conversation at the next iteration boundary.
|
|
7
|
+
*
|
|
8
|
+
* @module session-notes
|
|
9
|
+
*/
|
|
10
|
+
import type { Context } from './context.js';
|
|
11
|
+
export type SessionNoteKind = 'note' | 'result' | 'ask' | 'steer';
|
|
12
|
+
export interface SessionNote {
|
|
13
|
+
from: string;
|
|
14
|
+
kind: SessionNoteKind;
|
|
15
|
+
body: string;
|
|
16
|
+
subject?: string | undefined;
|
|
17
|
+
}
|
|
18
|
+
/** Queue a note for this agent's next iteration. Returns pending count. */
|
|
19
|
+
export declare function enqueueSessionNote(ctx: Context, note: SessionNote): number;
|
|
20
|
+
export declare function pendingSessionNoteCount(ctx: Context): number;
|
|
21
|
+
/** Read and clear pending notes in FIFO order. */
|
|
22
|
+
export declare function consumeSessionNotes(ctx: Context): SessionNote[];
|
|
23
|
+
/** Compact block the agent reads at the iteration boundary. */
|
|
24
|
+
export declare function buildSessionNoteBlock(notes: SessionNote[]): string;
|
|
25
|
+
//# sourceMappingURL=session-notes.d.ts.map
|
|
@@ -7,7 +7,7 @@ import type { BuildContext, ModelCapabilities, SystemPromptBuilder, SystemPrompt
|
|
|
7
7
|
import type { SystemPromptContributor } from '../types/system-prompt-contributor.js';
|
|
8
8
|
import { type InstructionBundle, type InstructionBundlePaths } from './instruction-bundle.js';
|
|
9
9
|
import { type InstructionTemplateContext } from './instruction-template.js';
|
|
10
|
-
export {
|
|
10
|
+
export { effectiveShell, shellGuidanceBlock } from './system-prompt-shell.js';
|
|
11
11
|
export declare const LAYER_1_IDENTITY: string;
|
|
12
12
|
/**
|
|
13
13
|
* Compose the layer-1 identity from the bundled default plus any override.
|
|
@@ -155,7 +155,8 @@ export declare class DefaultSystemPromptBuilder implements SystemPromptBuilder {
|
|
|
155
155
|
* join, leave, or change status.
|
|
156
156
|
*/
|
|
157
157
|
private _toolsUsageCache?;
|
|
158
|
-
|
|
158
|
+
/** Instruction bundle per identity variant — see `instructions()`. */
|
|
159
|
+
private readonly _instructionBundles;
|
|
159
160
|
/**
|
|
160
161
|
* Cached rendered identity layer. Keyed the same way as `_toolsUsageCache`:
|
|
161
162
|
* the ToolRegistry snapshot keeps the array reference stable until a registry
|
|
@@ -206,6 +207,14 @@ export declare class DefaultSystemPromptBuilder implements SystemPromptBuilder {
|
|
|
206
207
|
* provider's prefix cache before the identity block is reached.
|
|
207
208
|
*/
|
|
208
209
|
private buildIdentity;
|
|
210
|
+
/**
|
|
211
|
+
* The instruction bundle for one identity variant.
|
|
212
|
+
*
|
|
213
|
+
* Cached per variant rather than once for the builder: four conversations
|
|
214
|
+
* share this instance and each picks its own identity, so a single memoised
|
|
215
|
+
* bundle handed whichever variant loaded first to all of them. At most three
|
|
216
|
+
* entries exist ('default' | 'lite' | 'pro').
|
|
217
|
+
*/
|
|
209
218
|
private instructions;
|
|
210
219
|
/**
|
|
211
220
|
* Cached plan content keyed by (planPath, mtimeMs). The plan is read
|
|
@@ -0,0 +1,78 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The shared catalogue of system-prompt identity variants - Lite / Standard /
|
|
3
|
+
* Pro - plus the per-variant token estimate every surface shows before a user
|
|
4
|
+
* commits to one.
|
|
5
|
+
*
|
|
6
|
+
* This lives in core because three surfaces need the same answer: the CLI's
|
|
7
|
+
* startup menu, the WebUI's new-session modal, and any host that wants to
|
|
8
|
+
* report which variant a session is running. Each of them would otherwise
|
|
9
|
+
* re-derive the label set, the ordering, and - worse - the token count. A
|
|
10
|
+
* count computed a second way drifts from the one the builder actually emits,
|
|
11
|
+
* which is the number the user is choosing on.
|
|
12
|
+
*/
|
|
13
|
+
import { type SystemInstructionVariant } from './instruction-bundle.js';
|
|
14
|
+
/** Menu order + display labels. `default` is shown as "Standard". */
|
|
15
|
+
export declare const SYSTEM_PROMPT_VARIANT_OPTIONS: ReadonlyArray<{
|
|
16
|
+
variant: SystemInstructionVariant;
|
|
17
|
+
label: string;
|
|
18
|
+
hint: string;
|
|
19
|
+
}>;
|
|
20
|
+
/** All selectable variants, in menu order. */
|
|
21
|
+
export declare const SYSTEM_PROMPT_VARIANTS: readonly SystemInstructionVariant[];
|
|
22
|
+
/** Narrow an untrusted value (WS payload, config file, CLI flag) to a variant. */
|
|
23
|
+
export declare function isSystemInstructionVariant(value: unknown): value is SystemInstructionVariant;
|
|
24
|
+
/** Human label for a variant; falls back to the raw id for an unknown value. */
|
|
25
|
+
export declare function systemPromptVariantLabel(variant: SystemInstructionVariant): string;
|
|
26
|
+
/** Instruction dirs used to resolve the identity text per variant. */
|
|
27
|
+
export interface SystemPromptVariantPaths {
|
|
28
|
+
/** Profile override directory, e.g. `~/.wrongstack/profiles/<name>/instructions`. */
|
|
29
|
+
globalDir?: string | undefined;
|
|
30
|
+
/** Project override directory, e.g. `<project>/.wrongstack/instructions`. */
|
|
31
|
+
projectDir?: string | undefined;
|
|
32
|
+
}
|
|
33
|
+
/**
|
|
34
|
+
* Estimate the tokens of the system identity block each variant injects.
|
|
35
|
+
*
|
|
36
|
+
* Resolution goes through the same `loadInstructionBundle` the
|
|
37
|
+
* SystemPromptBuilder runs (bundled -> global -> project, later layers override
|
|
38
|
+
* `system.identity`), and composition goes through the builder's own
|
|
39
|
+
* `buildIdentityLayer`. Calling the real composer matters: when the identity
|
|
40
|
+
* came from the *project* layer, WS-016 makes the builder emit the bundled
|
|
41
|
+
* identity PLUS a `<project-supplied-instructions>` delimiter block PLUS the
|
|
42
|
+
* project text rather than replacing the identity. Counting
|
|
43
|
+
* `bundle.system.identity` alone therefore under-reports a project override by
|
|
44
|
+
* the whole bundled prompt - exactly the case a repo that ships its own
|
|
45
|
+
* `system-pro.md` hits.
|
|
46
|
+
*
|
|
47
|
+
* The figure is an **upper bound**, not `/context` parity: `buildIdentityLayer`
|
|
48
|
+
* is called without an `InstructionTemplateContext`, which by its own contract
|
|
49
|
+
* keeps the full text, so `ws:if` blocks for tools the live request never
|
|
50
|
+
* registers are still counted. Erring high is the right direction for a picker
|
|
51
|
+
* whose purpose is comparing variant cost, and every figure is rendered with a
|
|
52
|
+
* leading tilde.
|
|
53
|
+
*/
|
|
54
|
+
export declare function countSystemPromptTokens(paths: SystemPromptVariantPaths): Promise<Record<SystemInstructionVariant, number>>;
|
|
55
|
+
/**
|
|
56
|
+
* Read the variant the user explicitly saved to the profile config file.
|
|
57
|
+
*
|
|
58
|
+
* The config loader materializes `systemPrompt: { variant: 'default' }` for
|
|
59
|
+
* every config (see the config-loader defaults), so the in-memory Config cannot
|
|
60
|
+
* distinguish "user chose Standard" from "never chose". Only the raw file can:
|
|
61
|
+
* {@link persistSystemPromptVariant} writes the key explicitly, so its presence
|
|
62
|
+
* on disk is the signal that a selection was made. Absence (first run, or a
|
|
63
|
+
* config edited before this feature existed) returns undefined, and the caller
|
|
64
|
+
* shows the full picker instead of a one-line confirmation.
|
|
65
|
+
*/
|
|
66
|
+
export declare function readSavedSystemPromptVariant(configPath: string): Promise<SystemInstructionVariant | undefined>;
|
|
67
|
+
/**
|
|
68
|
+
* Persist the chosen variant to the profile config file so the next boot can
|
|
69
|
+
* offer a one-line "Continue with these?" gate. Mirrors the launch-choices
|
|
70
|
+
* writer: read the existing JSON, mutate only the `systemPrompt` block, write
|
|
71
|
+
* back atomically with mode 0600. Other fields (including encrypted secrets)
|
|
72
|
+
* pass through round-trip unchanged.
|
|
73
|
+
*
|
|
74
|
+
* @throws when the config file exists but is corrupt (same policy as the
|
|
75
|
+
* launch-choices writer - never overwrite unreadable user config silently).
|
|
76
|
+
*/
|
|
77
|
+
export declare function persistSystemPromptVariant(configPath: string, variant: SystemInstructionVariant): Promise<void>;
|
|
78
|
+
//# sourceMappingURL=system-prompt-variants.d.ts.map
|