@wrongstack/core 0.313.1 → 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 +31 -31
- 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 +39 -31
- package/dist/chronicle/sink.d.ts +13 -0
- package/dist/chronicle/sqlite-journal.d.ts +20 -2
- package/dist/{chunk-WOEZV3Q4.js → chunk-25LSLC3G.js} +2 -1
- package/dist/{chunk-AI4LLQ2U.js → chunk-27QIURLN.js} +229 -12
- package/dist/{chunk-I45KAW2N.js → chunk-3AGWVSS7.js} +38 -450
- package/dist/chunk-3BDV7RL3.js +211 -0
- package/dist/{chunk-NFAYHPRH.js → chunk-3ECENVHL.js} +10 -8
- package/dist/{chunk-FW5LDDMJ.js → chunk-45WI72ZB.js} +1576 -1156
- package/dist/{chunk-AT4V4XGI.js → chunk-4BMVPOHO.js} +539 -313
- package/dist/{chunk-YBUJCZ57.js → chunk-4I7HGVVA.js} +17 -5
- package/dist/{chunk-JVGPR3TS.js → chunk-4LCZVJVF.js} +7 -55
- package/dist/{chunk-4ZHTKJHM.js → chunk-4SJNS7OB.js} +36 -2
- package/dist/{chunk-AD7ZFZCS.js → chunk-5BMIE7QG.js} +3 -3
- package/dist/{chunk-IQ35HMQL.js → chunk-5YPSXQXM.js} +71 -24
- package/dist/chunk-6FHWXLPT.js +10 -0
- package/dist/{chunk-FIV4IJL7.js → chunk-6H5GEOET.js} +163 -20
- package/dist/{chunk-VB3H5WWB.js → chunk-6NWEVFEL.js} +2 -2
- package/dist/{chunk-E6I5RXVK.js → chunk-AYW5YINX.js} +2 -2
- package/dist/{chunk-DEIQMBD2.js → chunk-B7F4WVP4.js} +2 -2
- package/dist/{chunk-XQ2XGIBF.js → chunk-BPBKKBUK.js} +6 -7
- package/dist/{chunk-K4YUNKU7.js → chunk-BYD345OX.js} +2 -2
- package/dist/{chunk-LZDDLNCZ.js → chunk-C27KDLOX.js} +4 -4
- package/dist/{chunk-6AKOTGLM.js → chunk-CU546ESW.js} +7 -7
- package/dist/{chunk-ZZ4V3WIZ.js → chunk-DLHHXUAM.js} +10 -1
- package/dist/{chunk-BAKVJLEV.js → chunk-DOTHQSJ2.js} +28 -16
- package/dist/{chunk-KBZGE6LN.js → chunk-DYLPMV4Q.js} +4 -3
- package/dist/{chunk-52RTVH4M.js → chunk-F3JWNST7.js} +2 -2
- package/dist/{chunk-WEBMSQP2.js → chunk-FC2ZGRF3.js} +21 -4
- package/dist/{chunk-FHAMQS7Q.js → chunk-FCBTO76Z.js} +76 -146
- package/dist/{chunk-4LJJYBAU.js → chunk-FHZVFYSL.js} +9 -1
- package/dist/{chunk-W4A6QA3D.js → chunk-FWNLEZYG.js} +4 -3
- package/dist/{chunk-OJZEX73F.js → chunk-GDQ7CZRQ.js} +5 -1
- package/dist/{chunk-QVOVMXJR.js → chunk-GJJGJB2R.js} +32 -9
- package/dist/{chunk-4XV6IR37.js → chunk-HI3JGZR2.js} +7 -6
- package/dist/{chunk-FSWCWSTS.js → chunk-HMLIGAU7.js} +26 -26
- package/dist/{chunk-PFXFQQRT.js → chunk-HXKZ7OBQ.js} +7 -43
- package/dist/{chunk-2FQL4PDC.js → chunk-I7DALG7J.js} +5 -5
- package/dist/{chunk-GM54GJBU.js → chunk-IRUTEHCE.js} +3 -3
- package/dist/{chunk-TYW2GI5I.js → chunk-J2WRWR37.js} +40 -13
- package/dist/{chunk-ZEHUCJHY.js → chunk-JFPJ6LLQ.js} +2 -2
- package/dist/chunk-JMULFFLN.js +9 -0
- package/dist/{chunk-RD6DEE36.js → chunk-JO4MGB6Z.js} +94 -8
- package/dist/{chunk-5DSMEVA4.js → chunk-K6BXGITA.js} +7 -7
- package/dist/{chunk-O74MJHXU.js → chunk-KZMSZV32.js} +2 -2
- package/dist/{chunk-GFJOMSHG.js → chunk-LA7CLDRW.js} +6 -2
- package/dist/{chunk-M2WF6AXG.js → chunk-LSMMOS2Z.js} +7 -3
- package/dist/{chunk-ASX6AW36.js → chunk-LXWCMQNJ.js} +3 -3
- package/dist/{chunk-WZO23AWO.js → chunk-M27LIEKV.js} +72 -22
- package/dist/{chunk-JTHKOYWU.js → chunk-MJPHJRAL.js} +15 -15
- package/dist/{chunk-G5AAKEEZ.js → chunk-MTL4O5YR.js} +5 -5
- package/dist/chunk-NHJ75HXY.js +1 -0
- package/dist/{chunk-ZYU2YOJ6.js → chunk-NIOAGFPB.js} +29 -15
- package/dist/{chunk-Y2GE5TSI.js → chunk-NS52ISWS.js} +2 -2
- package/dist/{chunk-UIWONWVG.js → chunk-NSOFPKGT.js} +541 -148
- package/dist/{chunk-RCQYT2I4.js → chunk-NVIZG63R.js} +2 -2
- package/dist/{chunk-EPC3GZD4.js → chunk-OOYZPOXM.js} +2 -2
- package/dist/{chunk-7ZHZE5EO.js → chunk-OSGLYW5J.js} +2 -2
- package/dist/{chunk-CE4ZOCOI.js → chunk-PFCMSSUF.js} +9 -9
- package/dist/{chunk-GFXZTHNI.js → chunk-PGRVXIMY.js} +5 -5
- package/dist/{chunk-JJPMWPB6.js → chunk-PISBFBJN.js} +6 -6
- package/dist/chunk-POOOIWE5.js +9 -0
- package/dist/{chunk-5RP3QTRL.js → chunk-PQNS3U7Z.js} +20 -3
- package/dist/{chunk-3E244UDA.js → chunk-QSTSJOCK.js} +52 -6
- package/dist/{chunk-YUPMXOGP.js → chunk-RFQMOKWK.js} +3 -3
- package/dist/chunk-RTOTNK3P.js +484 -0
- package/dist/{chunk-SN2DQRL6.js → chunk-RXKSDUAU.js} +7 -7
- package/dist/{chunk-T3KGZBU5.js → chunk-S45JPKQN.js} +189 -43
- package/dist/{chunk-YNCVSFGF.js → chunk-SAFHACFA.js} +4 -1
- package/dist/{chunk-KI4L2DUL.js → chunk-TCCHINEF.js} +114 -19
- package/dist/{chunk-AWNQ6ED6.js → chunk-THEGTRAG.js} +7 -2
- package/dist/{chunk-2KKODIQU.js → chunk-TR4LQE7L.js} +15 -15
- package/dist/{chunk-GPQ3NJPR.js → chunk-TWJMGXCI.js} +3 -3
- package/dist/{chunk-H72H4XDU.js → chunk-U45AXT5D.js} +9 -9
- package/dist/{chunk-62V2AFVG.js → chunk-U4FWBSO3.js} +160 -73
- package/dist/{chunk-A455ATZB.js → chunk-UBGDX6FI.js} +8 -1
- package/dist/chunk-UJILKYES.js +75 -0
- package/dist/{chunk-KSJ5UTP7.js → chunk-ULMAQV3T.js} +84 -4
- package/dist/{chunk-CB2HFKTP.js → chunk-VVBP6KGT.js} +1 -1
- package/dist/{chunk-RPOA7IAE.js → chunk-W5VITDM2.js} +43 -25
- package/dist/{chunk-QRTG4XTI.js → chunk-WAHQVNWT.js} +7 -1
- package/dist/{chunk-SQP64RCS.js → chunk-WGGYRBXH.js} +3019 -2976
- package/dist/{chunk-K3G6JBUC.js → chunk-WLYKU45P.js} +679 -141
- package/dist/chunk-WP7BVANJ.js +53 -0
- package/dist/{chunk-GAZEWQEZ.js → chunk-XF4VUMKW.js} +2 -2
- package/dist/{chunk-PAAWLLZX.js → chunk-Y5YXDM7D.js} +2 -2
- package/dist/{chunk-65RDIOR2.js → chunk-YOPAUVU4.js} +162 -44
- package/dist/{chunk-FFSX2QDQ.js → chunk-YPT4A46F.js} +3 -3
- package/dist/chunk-YWXT3JNM.js +425 -0
- package/dist/{chunk-EFEHDQGY.js → chunk-ZHZ2Y2DH.js} +64 -10
- package/dist/{chunk-CQQL4ZOQ.js → chunk-ZT7JNIGX.js} +4 -3
- 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 +52 -22
- 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 +86 -49
- 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 +15 -15
- 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 +37 -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 +1 -1
- package/dist/core/context.d.ts +22 -3
- package/dist/core/index.d.ts +2 -0
- package/dist/core/index.js +130 -38
- 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 +3 -3
- 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.js +138 -129
- package/dist/execution/model-runtime.d.ts +0 -7
- package/dist/execution/parallel-eternal-engine.d.ts +7 -7
- package/dist/extension/index.js +3 -3
- package/dist/goal/index.js +6 -6
- package/dist/hooks/index.js +3 -3
- package/dist/hq/index.js +14 -12
- package/dist/hq/persistence/event-log.d.ts +0 -1
- package/dist/hq/persistence.d.ts +4 -4
- package/dist/hq/publisher.d.ts +2 -0
- package/dist/index.d.ts +14 -11
- package/dist/index.js +728 -635
- package/dist/infrastructure/index.d.ts +4 -4
- package/dist/infrastructure/index.js +281 -260
- 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 +7 -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 +4 -4
- package/dist/mailbox-attach.d.ts +1 -1
- package/dist/models/index.js +10 -9
- package/dist/observability/event-bridge.d.ts +25 -5
- package/dist/observability/index.d.ts +9 -8
- package/dist/observability/index.js +459 -351
- package/dist/observability/tool-usage-source.d.ts +65 -0
- package/dist/plugin/index.d.ts +5 -0
- package/dist/plugin/index.js +66 -50
- package/dist/plugins/auto-review-plugin.d.ts +3 -2
- package/dist/plugins/review-finding-commands.d.ts +0 -8
- package/dist/{review-finding-store-DKAV3AS6.js → plugins/review-finding-store.js} +7 -6
- package/dist/plugins/review-finding-types.js +19 -0
- package/dist/plugins/review-report-integration.js +21 -0
- package/dist/{review-report-store-OWY3EC3N.js → plugins/review-report-store.js} +7 -6
- package/dist/plugins/review-report-types.js +13 -0
- package/dist/prompts/index.js +5 -5
- package/dist/registry/index.js +3 -3
- package/dist/registry/tool-registry.d.ts +59 -9
- package/dist/{registry-R23UBE7H.js → registry-7N4O3E7W.js} +5 -5
- package/dist/security/capabilities.d.ts +6 -0
- package/dist/security/file-permissions.d.ts +1 -1
- package/dist/security/index.js +47 -33
- 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 +19 -14
- package/dist/session-catalog/project-server.js +30 -13
- 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 +5 -5
- 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 +76 -61
- 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 +2 -2
- package/dist/tools/fallback-manage-tools.d.ts +6 -4
- package/dist/tools/index.js +21 -21
- package/dist/tools/model-tier-set-tool.d.ts +66 -0
- package/dist/types/agent-bridge.d.ts +2 -1
- 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.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 +2 -1
- package/dist/types/index.d.ts +11 -9
- package/dist/types/index.js +25 -15
- package/dist/types/multi-agent.d.ts +43 -0
- package/dist/types/plugin.d.ts +1 -1
- 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 +1 -1
- 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/heap-watchdog.js +2 -2
- package/dist/utils/index.js +50 -48
- package/dist/utils/message-invariants.d.ts +4 -1
- package/dist/utils/regex-guard.d.ts +1 -1
- 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 +28 -0
- package/dist/wiring/proxy-rewrite.js +7 -1
- package/dist/worktree/index.js +2 -2
- 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/chunk-2BUUIMQB.js +0 -225
- package/dist/chunk-FAYRX2AD.js +0 -13
- package/dist/chunk-H5E77KUJ.js +0 -15
- package/dist/chunk-M7BS2K6U.js +0 -1
- 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
|
@@ -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
|
package/dist/design/index.js
CHANGED
|
@@ -28,12 +28,12 @@ import {
|
|
|
28
28
|
setActiveKit,
|
|
29
29
|
setDesignOverrides,
|
|
30
30
|
verifyFiles
|
|
31
|
-
} from "../chunk-
|
|
31
|
+
} from "../chunk-K6BXGITA.js";
|
|
32
|
+
import "../chunk-FC2ZGRF3.js";
|
|
33
|
+
import "../chunk-SAFHACFA.js";
|
|
32
34
|
import {
|
|
33
35
|
isDesignStack
|
|
34
36
|
} from "../chunk-G5S3S5ZN.js";
|
|
35
|
-
import "../chunk-WEBMSQP2.js";
|
|
36
|
-
import "../chunk-YNCVSFGF.js";
|
|
37
37
|
|
|
38
38
|
// src/execution/design-materialize.ts
|
|
39
39
|
var SCALE_PREFIXES = [
|
|
@@ -138,6 +138,17 @@ export declare class AutoCompactionMiddleware {
|
|
|
138
138
|
* the middleware passes every iteration straight through without estimating
|
|
139
139
|
* tokens or compacting. */
|
|
140
140
|
setEnabled(enabled: boolean): void;
|
|
141
|
+
/**
|
|
142
|
+
* Is auto-compaction on for THIS conversation?
|
|
143
|
+
*
|
|
144
|
+
* `contextAutoCompact` is a per-tab preference, and a WebUI runs four tabs
|
|
145
|
+
* through this one middleware instance. The host used to express "off" by
|
|
146
|
+
* removing the middleware from the shared pipeline, which turned it off for
|
|
147
|
+
* every tab at once; a session that sets its own value now decides for
|
|
148
|
+
* itself, and `this._enabled` remains the answer for hosts that keep no
|
|
149
|
+
* per-session value.
|
|
150
|
+
*/
|
|
151
|
+
private enabledFor;
|
|
141
152
|
handler(): MiddlewareHandler<Context>;
|
|
142
153
|
/**
|
|
143
154
|
* Full-request token total for the current context.
|
|
@@ -26,7 +26,8 @@ import type { EventBus } from '../kernel/events.js';
|
|
|
26
26
|
import type { Provider } from '../types/provider.js';
|
|
27
27
|
import type { BrainCircuitBreaker } from './brain-circuit.js';
|
|
28
28
|
import { type BrainLlmTarget, DEFAULT_BRAIN_MAX_TOKENS, readLlmDenyKind, buildBrainUserMessage, withDecisionDigest, completeBrainLlm, completeBrainLlmDetailed, extractConfidence, isNonAnswer, parseFreeTextDecision, parseOptionDecision } from './autonomy-brain-llm.js';
|
|
29
|
-
export {
|
|
29
|
+
export type { BrainLlmTarget };
|
|
30
|
+
export { DEFAULT_BRAIN_MAX_TOKENS, buildBrainUserMessage, withDecisionDigest, completeBrainLlm, completeBrainLlmDetailed, extractConfidence, isNonAnswer, parseFreeTextDecision, parseOptionDecision, readLlmDenyKind, };
|
|
30
31
|
export interface AutonomyBrainOptions {
|
|
31
32
|
/** LLM provider for decision-making. Ignored when `targets` is non-empty. */
|
|
32
33
|
provider?: Provider | undefined;
|
|
@@ -14,6 +14,7 @@
|
|
|
14
14
|
* counter) changes each turn without invalidating the upstream prefix
|
|
15
15
|
* cache.
|
|
16
16
|
*/
|
|
17
|
+
import type { BuildContext } from '../types/system-prompt.js';
|
|
17
18
|
import type { SystemPromptContributor } from '../types/system-prompt-contributor.js';
|
|
18
19
|
export interface AutonomyPromptContributorOptions {
|
|
19
20
|
/** Absolute path to the project's `goal.json`. */
|
|
@@ -24,9 +25,13 @@ export interface AutonomyPromptContributorOptions {
|
|
|
24
25
|
* leak into interactive runs that happen to have a goal on disk and
|
|
25
26
|
* teach the model loop-control markers it shouldn't emit.
|
|
26
27
|
*
|
|
27
|
-
* Typical wiring: enable while `eternal` or `eternal-parallel` autonomy is
|
|
28
|
+
* Typical wiring: enable while `eternal` or `eternal-parallel` autonomy is
|
|
29
|
+
* active. Receives the build context so the answer can come from the
|
|
30
|
+
* CONVERSATION being built for (`ctx.autonomy`) rather than a process-wide
|
|
31
|
+
* mode ref — with four tabs on one process, that ref is whichever tab last
|
|
32
|
+
* changed it.
|
|
28
33
|
*/
|
|
29
|
-
enabled: () => boolean;
|
|
34
|
+
enabled: (ctx: BuildContext) => boolean;
|
|
30
35
|
/** Number of journal entries to include in the recent-tail block. Default 5. */
|
|
31
36
|
journalTailSize?: number | undefined;
|
|
32
37
|
}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { estimateMessageTokens } from '../utils/token-estimate.js';
|
|
2
|
-
export {
|
|
3
|
-
export { collapseAcknowledgedToolReceipts, eliseAcknowledgedToolResults, eliseOldToolResults,
|
|
4
|
-
export { buildLosslessDigest,
|
|
5
|
-
export { CompactionSummaryCache,
|
|
2
|
+
export { type ContentScore, buildSmartDigest, extractText, hasLargeToolResult, hasToolUse, scoreMessage, } from './compaction-scoring.js';
|
|
3
|
+
export { type EliseResult, collapseAcknowledgedToolReceipts, eliseAcknowledgedToolResults, eliseOldToolResults, findPreserveStart, isElidedResultContent, isElidedToolInput, normalizePathKey, readPathOf, setCompactionDebugLogger, summarizeToolResultElision, summarizeToolUseInputElision, } from './compaction-elision.js';
|
|
4
|
+
export { buildLosslessDigest, dedupStaleReads, elideMessageToolIo, enforceHardBudget, findExchangeStart, findSafeBoundary, hasTextContent, headTailTruncate, truncateMessageText } from './compaction-budget.js';
|
|
5
|
+
export { CompactionSummaryCache, compactionSummaryKey, isPlaceholderSummary, PLACEHOLDER_SUMMARIES } from './compaction-summary-cache.js';
|
|
6
6
|
export declare const estimateMessages: typeof estimateMessageTokens;
|
|
7
7
|
//# sourceMappingURL=compaction-core.d.ts.map
|
|
@@ -12,7 +12,7 @@
|
|
|
12
12
|
* user wants "sittin sene". Failures are logged and the loop continues
|
|
13
13
|
* with a different source on the next tick.
|
|
14
14
|
*/
|
|
15
|
-
export type { EternalAutonomyOptions, EternalEngineState, IterationStage } from './eternal-autonomy-types.js';
|
|
15
|
+
export type { EternalAutonomyOptions, EternalEngineState, IterationStage, } from './eternal-autonomy-types.js';
|
|
16
16
|
import type { EternalAutonomyOptions, EternalEngineState } from './eternal-autonomy-types.js';
|
|
17
17
|
export declare class EternalAutonomyEngine {
|
|
18
18
|
private readonly opts;
|