@wrongstack/core 0.302.2 → 0.305.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +1 -1
- package/dist/chronicle/index.js +117 -30
- package/dist/chronicle/project-server.js +12 -5
- package/dist/coordination/agents/index.js +4645 -3448
- package/dist/coordination/agents/project-agent-auto-optimize.d.ts +116 -0
- package/dist/coordination/agents/project-agent-capture-window.d.ts +29 -0
- package/dist/coordination/agents/project-agent-config-io.d.ts +11 -0
- package/dist/coordination/agents/project-agent-consolidation.d.ts +34 -2
- package/dist/coordination/agents/project-agent-directive-outcome.d.ts +57 -0
- package/dist/coordination/agents/project-agent-files.d.ts +12 -3
- package/dist/coordination/agents/project-agent-identity-types.d.ts +4 -0
- package/dist/coordination/agents/project-agent-identity.d.ts +38 -11
- package/dist/coordination/agents/project-agent-learning-entries.d.ts +8 -2
- package/dist/coordination/agents/project-agent-learning-policy.d.ts +22 -1
- package/dist/coordination/agents/project-agent-learning-structured.d.ts +72 -1
- package/dist/coordination/agents/project-agent-optimizer.d.ts +49 -0
- package/dist/coordination/agents/project-agent-quarantine.d.ts +63 -0
- package/dist/coordination/agents/project-agent-skill-layer.d.ts +146 -0
- package/dist/coordination/agents/role-skills.d.ts +11 -1
- package/dist/coordination/agents/types.d.ts +10 -2
- package/dist/coordination/director-prompts.d.ts +19 -6
- package/dist/coordination/director-tools.d.ts +2 -2
- package/dist/coordination/fleet.d.ts +0 -6
- package/dist/coordination/index.d.ts +1 -1
- package/dist/coordination/index.js +5746 -4326
- package/dist/coordination/mail-tools.d.ts +1 -1
- package/dist/core/agent-types.d.ts +4 -2
- package/dist/core/agent.d.ts +1 -0
- package/dist/core/context.d.ts +19 -0
- package/dist/core/conversation-state.d.ts +14 -0
- package/dist/core/fallback-profile-manager.d.ts +70 -2
- package/dist/core/index.js +317 -108
- package/dist/core/system-prompt-blocks.d.ts +1 -1
- package/dist/core/system-prompt-builder.d.ts +13 -1
- package/dist/core/system-prompt-glossary.d.ts +73 -0
- package/dist/core/system-prompt-memory-skills.d.ts +2 -2
- package/dist/defaults/index.js +1635 -1120
- package/dist/execution/council-orchestrator.d.ts +3 -13
- package/dist/execution/index.js +3136 -2706
- package/dist/execution/one-shot-llm.d.ts +5 -0
- package/dist/goal/index.js +7 -0
- package/dist/hq/index.js +17 -7
- package/dist/hq/protocol/kanban.d.ts +21 -0
- package/dist/hq/protocol.js +5 -1
- package/dist/hq/redaction.d.ts +14 -0
- package/dist/index.d.ts +1 -0
- package/dist/index.js +5502 -3483
- package/dist/infrastructure/index.js +247 -122
- package/dist/kernel/events/agent-events.d.ts +28 -0
- package/dist/plugin/index.js +111 -7
- package/dist/registry/index.js +11 -0
- package/dist/registry/tool-registry.d.ts +8 -0
- package/dist/replay/hash.d.ts +9 -0
- package/dist/replay/index.js +14 -4
- package/dist/replay/replay-provider-runner.d.ts +31 -1
- package/dist/security/index.js +92 -21
- package/dist/security/kanban-boundary.d.ts +5 -1
- package/dist/security/secret-vault.d.ts +2 -0
- package/dist/session-catalog/index.js +86 -10
- package/dist/session-catalog/project-server.js +100 -17
- package/dist/session-catalog/protocol.d.ts +20 -4
- package/dist/session-catalog/store.d.ts +19 -3
- package/dist/storage/index.js +305 -69
- package/dist/storage/memory-consolidator.d.ts +4 -2
- package/dist/storage/plan-store.d.ts +1 -1
- package/dist/storage/session-resume-validation.d.ts +24 -0
- package/dist/storage/session-store/directory-scan.d.ts +5 -1
- package/dist/storage/session-store/fork-session.d.ts +13 -1
- package/dist/storage/session-store/load-cache.d.ts +11 -0
- package/dist/storage/session-store/prune-helpers.d.ts +5 -0
- package/dist/storage/session-store.d.ts +18 -0
- package/dist/tasking/index.js +5 -0
- package/dist/tools/index.js +1151 -831
- package/dist/types/config/mcp-features.d.ts +31 -1
- package/dist/types/config/root.d.ts +23 -1
- package/dist/types/config/skills-fleet-brain.d.ts +34 -0
- package/dist/types/config/tools.d.ts +22 -0
- package/dist/types/config/ui.d.ts +14 -0
- package/dist/types/config.d.ts +1 -0
- package/dist/types/default-config.d.ts +1 -0
- package/dist/types/index.d.ts +2 -2
- package/dist/types/index.js +23 -0
- package/dist/types/multi-agent.d.ts +7 -0
- package/dist/types/session.d.ts +9 -1
- package/dist/types/task-graph.d.ts +2 -0
- package/dist/types/tool-executor.d.ts +2 -0
- package/dist/utils/index.d.ts +1 -0
- package/dist/utils/index.js +217 -76
- package/dist/utils/project-state-guard.d.ts +21 -0
- package/dist/utils/session-scoped-path.d.ts +17 -0
- package/dist/utils/todos-format.d.ts +20 -0
- package/instructions/leader-after-task.md +3 -4
- package/instructions/system-lite.md +17 -14
- package/instructions/system-pro.md +29 -30
- package/instructions/system.md +29 -28
- package/package.json +3 -3
- package/skills/wrongstack-kanban/SKILL.md +95 -93
|
@@ -281,10 +281,40 @@ export interface SageConfig {
|
|
|
281
281
|
* many days. Undefined/0 disables purge (default).
|
|
282
282
|
*/
|
|
283
283
|
purgeDeletedAfterDays?: number | undefined;
|
|
284
|
+
/**
|
|
285
|
+
* How deep periodic hygiene verifies anchors.
|
|
286
|
+
* - `existence` (default): file/path still exists (`fs.access` only).
|
|
287
|
+
* - `content`: also content-hash / symbol / command resolution.
|
|
288
|
+
* - `git`: content checks plus git blob hash comparison when available.
|
|
289
|
+
*/
|
|
290
|
+
verifyDepth?: 'existence' | 'content' | 'git' | undefined;
|
|
284
291
|
} | undefined;
|
|
285
292
|
embeddings?: {
|
|
286
|
-
/**
|
|
293
|
+
/**
|
|
294
|
+
* When true, retrieval re-ranks lexical candidates with the offline
|
|
295
|
+
* hashing embedding provider (hybrid). Default: false. Fail-open:
|
|
296
|
+
* lexical results are always available if embeddings fail.
|
|
297
|
+
*/
|
|
287
298
|
enabled?: boolean | undefined;
|
|
288
299
|
} | undefined;
|
|
300
|
+
/**
|
|
301
|
+
* Opt-in automatic capture of durable tool outcomes into SAGE.
|
|
302
|
+
* Off by default — operators enable per-project when they want
|
|
303
|
+
* command success notes recorded without an explicit `remember` call.
|
|
304
|
+
*/
|
|
305
|
+
capture?: {
|
|
306
|
+
/** Persist successful command/tool outcomes as `tool_outcome` memories. Default: false. */
|
|
307
|
+
toolOutcomes?: boolean | undefined;
|
|
308
|
+
/** Persist recurring error signatures as `error_pattern` memories. Default: false. */
|
|
309
|
+
errorPatterns?: boolean | undefined;
|
|
310
|
+
} | undefined;
|
|
311
|
+
/**
|
|
312
|
+
* Optional automated triage scheduling. When true, `setupSage` schedules a
|
|
313
|
+
* daily job (1h after boot, then every 24h): hygiene + bounded triage that
|
|
314
|
+
* files review proposals (never auto-deletes). Default: false.
|
|
315
|
+
*/
|
|
316
|
+
triage?: {
|
|
317
|
+
dailyDryRun?: boolean | undefined;
|
|
318
|
+
} | undefined;
|
|
289
319
|
}
|
|
290
320
|
//# sourceMappingURL=mcp-features.d.ts.map
|
|
@@ -1,10 +1,11 @@
|
|
|
1
1
|
import type { ConfiguredHook, HookEvent } from '../hooks.js';
|
|
2
|
-
import type { AutonomyConfig, ChronicleConfig, IndexingConfig, LaunchConfig, SessionLoggingConfig, SyncConfig } from './autonomy.js';
|
|
3
2
|
import type { AdaptiveConcurrencyConfig, CircuitBreakerRuntimeConfig, ContextConfig } from './context.js';
|
|
3
|
+
import type { AutonomyConfig, ChronicleConfig, IndexingConfig, LaunchConfig, SessionLoggingConfig, SyncConfig } from './autonomy.js';
|
|
4
4
|
import type { FeaturesConfig, LogConfig, MCPServerConfig, PluginConfig, PluginManagerConfig, SageConfig } from './mcp-features.js';
|
|
5
5
|
import type { CustomModelDefinition, ModelMatrixEntry, ProviderConfig } from './providers.js';
|
|
6
6
|
import type { CloudSyncConfig, HqClientConfig, ModelRuntimeConfig, SystemPromptConfig } from './runtime.js';
|
|
7
7
|
import type { BrainConfig, FleetConfig, SkillsConfig } from './skills-fleet-brain.js';
|
|
8
|
+
import type { ThemePresetId } from './ui.js';
|
|
8
9
|
import type { ToolsConfig } from './tools.js';
|
|
9
10
|
export interface GitBehaviorConfig {
|
|
10
11
|
/**
|
|
@@ -40,6 +41,15 @@ export interface Config {
|
|
|
40
41
|
* unset, surfaces fall back to their own browser/system detection.
|
|
41
42
|
*/
|
|
42
43
|
uiLocale?: string | undefined;
|
|
44
|
+
/**
|
|
45
|
+
* TUI color theme preset — read by the TUI on boot to apply the matching
|
|
46
|
+
* palette, and written by the `/theme` slash command (CLI REPL and TUI) so
|
|
47
|
+
* the choice persists across restarts. Unconstrained string at the config
|
|
48
|
+
* layer: the TUI owns the canonical preset list and applies a fallback
|
|
49
|
+
* (`catppuccin`) when the stored value is unknown, so a forward-compat
|
|
50
|
+
* drift on the TUI side never breaks the config round-trip.
|
|
51
|
+
*/
|
|
52
|
+
themePreset?: ThemePresetId | undefined;
|
|
43
53
|
providers?: Record<string, ProviderConfig>;
|
|
44
54
|
/**
|
|
45
55
|
* Top-level custom models (maps modelId → definition). Merged with
|
|
@@ -134,6 +144,18 @@ export interface Config {
|
|
|
134
144
|
primaryProbeInterval?: number | undefined;
|
|
135
145
|
stickyFallbackTurns?: number | undefined;
|
|
136
146
|
} | undefined;
|
|
147
|
+
/**
|
|
148
|
+
* Maximum number of candidates appended by the last-resort fallback sweep
|
|
149
|
+
* (`resolveAllConfigured`). When the smart default, bridge, and named/default
|
|
150
|
+
* profiles have all failed, every other configured provider is appended —
|
|
151
|
+
* this cap bounds the chain so a config with many providers does not produce
|
|
152
|
+
* a degenerate sequence of doomed requests during a systemic outage.
|
|
153
|
+
*
|
|
154
|
+
* Set to a higher value for rich multi-provider configs that want maximum
|
|
155
|
+
* diversity; set to 0 to disable the last-resort append entirely. The
|
|
156
|
+
* compiled-in default is exposed as `MAX_LAST_RESORT_CANDIDATES` (12).
|
|
157
|
+
*/
|
|
158
|
+
fallbackMaxLastResortCandidates?: number | undefined;
|
|
137
159
|
/**
|
|
138
160
|
* Lifecycle command/HTTP hooks, keyed by event. Commands receive HookInput
|
|
139
161
|
* JSON on stdin; HTTP hooks receive the same object as a POST body. A typed
|
|
@@ -128,6 +128,40 @@ export interface FleetConfig {
|
|
|
128
128
|
} | undefined;
|
|
129
129
|
/** Brain-gated fleet supervisor (rebalance/steer/spawn-helper). */
|
|
130
130
|
supervisor?: FleetSupervisorConfig | undefined;
|
|
131
|
+
/** Roster-agent self-learning: capture → optimize → per-skill addenda. */
|
|
132
|
+
learning?: AgentLearningConfig | undefined;
|
|
133
|
+
}
|
|
134
|
+
/**
|
|
135
|
+
* Automatic optimization of roster-agent learning.
|
|
136
|
+
*
|
|
137
|
+
* Capture is always automatic. This section governs the *distillation* pass
|
|
138
|
+
* that turns captured directives into per-skill project addenda and a
|
|
139
|
+
* consolidated role document, then archives and resets the raw buffer.
|
|
140
|
+
*/
|
|
141
|
+
export interface AgentLearningConfig {
|
|
142
|
+
autoOptimize?: {
|
|
143
|
+
/** Run the distillation pass automatically. Default true. */
|
|
144
|
+
enabled?: boolean | undefined;
|
|
145
|
+
/** Raw buffer size (bytes) that makes a role eligible. Default 8192. */
|
|
146
|
+
thresholdBytes?: number | undefined;
|
|
147
|
+
/** Never optimize a buffer with fewer directives than this. Default 4. */
|
|
148
|
+
minEntries?: number | undefined;
|
|
149
|
+
/**
|
|
150
|
+
* Directives routed to a skill that has no addendum yet. Reaching this
|
|
151
|
+
* count makes a role eligible even below `thresholdBytes`. Default 3.
|
|
152
|
+
*/
|
|
153
|
+
minPendingSkillDirectives?: number | undefined;
|
|
154
|
+
/** Minimum gap between automatic passes for one role. Default 6h. */
|
|
155
|
+
minIntervalMs?: number | undefined;
|
|
156
|
+
/** Quiet period after the last capture before a pass starts. Default 20s. */
|
|
157
|
+
debounceMs?: number | undefined;
|
|
158
|
+
/**
|
|
159
|
+
* Evaluate every role once when the fleet host starts, so roles that
|
|
160
|
+
* became eligible before this session are not stuck waiting for their
|
|
161
|
+
* next capture. Default true.
|
|
162
|
+
*/
|
|
163
|
+
sweepOnStart?: boolean | undefined;
|
|
164
|
+
} | undefined;
|
|
131
165
|
}
|
|
132
166
|
/** Config surface for the brain-gated FleetSupervisor. */
|
|
133
167
|
export interface FleetSupervisorConfig {
|
|
@@ -39,6 +39,28 @@ export interface ToolsConfig {
|
|
|
39
39
|
* `/settings` ("Filesystem access").
|
|
40
40
|
*/
|
|
41
41
|
restrictToProjectRoot?: boolean | undefined;
|
|
42
|
+
/**
|
|
43
|
+
* Require a ready, running **managed** Kanban card before any product
|
|
44
|
+
* mutation. Default: **false** — Kanban records work, it does not permit it,
|
|
45
|
+
* and that is the shipped contract the system prompt and the `kanban` tool
|
|
46
|
+
* description both state.
|
|
47
|
+
*
|
|
48
|
+
* Turning this on inverts that for this installation: a mutating tool
|
|
49
|
+
* (`write`, `edit`, `exec`, …) is refused until the run is bound to a card
|
|
50
|
+
* that is on a managed board, passes `evaluateContractGraphReadiness`, and
|
|
51
|
+
* sits in Running with a live assignment. Control tools (`kanban`, `todo`,
|
|
52
|
+
* `plan`, `task`) are always exempt so the agent can always record evidence
|
|
53
|
+
* or start the next card.
|
|
54
|
+
*
|
|
55
|
+
* Non-managed boards — session mirrors, SDD mirrors, plain imports — are
|
|
56
|
+
* skipped rather than blocked: they structurally cannot carry a lifecycle,
|
|
57
|
+
* so demanding one would deadlock every mutation with no reachable remedy.
|
|
58
|
+
* They still fall through to their path-scoped `boundary` policy.
|
|
59
|
+
*
|
|
60
|
+
* Independent of the two checks that are ALWAYS on regardless of this flag:
|
|
61
|
+
* the dispatch lease fence and the board/task filesystem `boundary`.
|
|
62
|
+
*/
|
|
63
|
+
kanbanGovernance?: boolean | undefined;
|
|
42
64
|
/**
|
|
43
65
|
* Per-command policy for the `exec` tool's allowlist. The tool ships a
|
|
44
66
|
* curated default allowlist of dev/build commands; this extends or trims it.
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Shared UI theme preset identifiers.
|
|
3
|
+
*
|
|
4
|
+
* Lives in core so the Config schema, the CLI `/theme` slash command, and
|
|
5
|
+
* the TUI runtime can all reference the same string union without
|
|
6
|
+
* importing the TUI package (which would invert the dependency direction).
|
|
7
|
+
*
|
|
8
|
+
* Keep in lockstep with `THEME_OPTIONS` in `packages/tui/src/theme.ts`.
|
|
9
|
+
* Adding a preset here is intentional — it also requires updating the TUI
|
|
10
|
+
* presets map AND the CLI `VALID_PRESETS` set in `tui-theme-adapter.ts`.
|
|
11
|
+
*/
|
|
12
|
+
export declare const THEME_PRESET_IDS: readonly ['catppuccin', 'tokyo-night', 'nord', 'cyberpunk', 'dracula', 'gruvbox-dark', 'solarized-dark', 'one-dark', 'monokai', 'rose-pine', 'kanagawa', 'ayu-dark', 'everforest', 'night-owl', 'synthwave'];
|
|
13
|
+
export type ThemePresetId = (typeof THEME_PRESET_IDS)[number];
|
|
14
|
+
//# sourceMappingURL=ui.d.ts.map
|
package/dist/types/config.d.ts
CHANGED
|
@@ -6,5 +6,6 @@ export * from './config/providers.js';
|
|
|
6
6
|
export * from './config/mcp-features.js';
|
|
7
7
|
export * from './config/autonomy.js';
|
|
8
8
|
export * from './config/skills-fleet-brain.js';
|
|
9
|
+
export * from './config/ui.js';
|
|
9
10
|
export * from './config/root.js';
|
|
10
11
|
//# sourceMappingURL=config.d.ts.map
|
|
@@ -14,6 +14,7 @@ export declare const DEFAULT_TOOLS_CONFIG: Readonly<{
|
|
|
14
14
|
disabledTools: readonly string[];
|
|
15
15
|
autoExtendLimit: true;
|
|
16
16
|
restrictToProjectRoot: true;
|
|
17
|
+
kanbanGovernance: false;
|
|
17
18
|
loopDetection: Readonly<{
|
|
18
19
|
mode: 'steer-then-cut' | 'cut' | 'off';
|
|
19
20
|
steerThreshold: number;
|
package/dist/types/index.d.ts
CHANGED
|
@@ -13,8 +13,8 @@ export { ProviderError, classifyProviderError, effectiveInputTokens, isContextOv
|
|
|
13
13
|
export type { CacheTtl, Capabilities, JsonSchemaSpec, Provider, ProviderContextLimit, ProviderErrorBody, ProviderErrorKind, ReasoningConfig, ReasoningEffort, ReasoningRequest, Request, RequestCacheControl, Response, ResponseFormat, SafetySetting, StopReason, StreamEvent, Usage } from './provider.js';
|
|
14
14
|
export { StreamHangError } from './provider.js';
|
|
15
15
|
export type { ProviderRunner, RunProviderOptions } from './provider-runner.js';
|
|
16
|
-
export { DEFAULT_TUI_THINKING_WORD, FLEET_CHAT_VERBOSITY_VALUES, MAX_TUI_THINKING_WORD_LENGTH, normalizeTokenSavingTier, normalizeTuiThinkingWord, resolveFleetChatVerbosity, resolveTokenSavingTier } from './config.js';
|
|
17
|
-
export type { AdaptiveConcurrencyConfig, AutonomyConfig, BrainConfig, BrainCouncilConfig, BrainCouncilVoterConfig, BrainModelEntry, CircuitBreakerRuntimeConfig, ConcreteTokenSavingTier, Config, ConfigLoader, ConfigStore, ContextConfig, CouncilPersonaDefinition, CouncilToolConfig, CouncilToolProfileDefinition, CustomModelDefinition, ExecDangerConfig, ExecToolConfig, FeaturesConfig, FleetChatVerbosity, FleetConfig, FleetSupervisorConfig, GitBehaviorConfig, HqClientConfig, IndexingConfig, InputHistoryConfig, LaunchConfig, LaunchMenuChoice, LogConfig, LoopDetectionConfig, MCPHealthConfig, MCPHealthThresholds, MCPServerConfig, ModelMatrixEntry, ModelRuntimeCacheConfig, ModelRuntimeConfig, ModelRuntimeParametersConfig, ModelRuntimeReasoningConfig, NextStepsToolConfig, PluginConfig, PluginManagerConfig, ProviderApiKey, ProviderConfig, SageConfig, SessionLoggingConfig, SkillsConfig, SyncCategory, SyncConfig, TokenSavingTier, ToolDescriptionMode, ToolDescriptionModeConfig, ToolResultRenderMode, ToolResultRenderModeConfig, ToolsConfig } from './config.js';
|
|
16
|
+
export { DEFAULT_TUI_THINKING_WORD, FLEET_CHAT_VERBOSITY_VALUES, MAX_TUI_THINKING_WORD_LENGTH, normalizeTokenSavingTier, normalizeTuiThinkingWord, resolveFleetChatVerbosity, resolveTokenSavingTier, THEME_PRESET_IDS } from './config.js';
|
|
17
|
+
export type { AdaptiveConcurrencyConfig, AgentLearningConfig, AutonomyConfig, BrainConfig, BrainCouncilConfig, BrainCouncilVoterConfig, BrainModelEntry, CircuitBreakerRuntimeConfig, ConcreteTokenSavingTier, Config, ConfigLoader, ConfigStore, ContextConfig, CouncilPersonaDefinition, CouncilToolConfig, CouncilToolProfileDefinition, CustomModelDefinition, ExecDangerConfig, ExecToolConfig, FeaturesConfig, FleetChatVerbosity, FleetConfig, FleetSupervisorConfig, GitBehaviorConfig, HqClientConfig, IndexingConfig, InputHistoryConfig, LaunchConfig, LaunchMenuChoice, LogConfig, LoopDetectionConfig, MCPHealthConfig, MCPHealthThresholds, MCPServerConfig, ModelMatrixEntry, ModelRuntimeCacheConfig, ModelRuntimeConfig, ModelRuntimeParametersConfig, ModelRuntimeReasoningConfig, NextStepsToolConfig, PluginConfig, PluginManagerConfig, ProviderApiKey, ProviderConfig, SageConfig, SessionLoggingConfig, SkillsConfig, SyncCategory, SyncConfig, ThemePresetId, TokenSavingTier, ToolDescriptionMode, ToolDescriptionModeConfig, ToolResultRenderMode, ToolResultRenderModeConfig, ToolsConfig } from './config.js';
|
|
18
18
|
export type { AnyHookOutcome, ConfiguredHook, HookEntry, HookEvent, HookFailurePolicy, HookInput, HookInvocationContext, HookMatcher, HookOutcome, HookRegistrationOptions, HttpHook, InProcessHook, PreToolUseOutcome, PreToolUseStage, ShellHook } from './hooks.js';
|
|
19
19
|
export type { Compactor, CompactReport } from './compactor.js';
|
|
20
20
|
export type { DirectoryPolicy, DirectoryRule, PermissionDecision, PermissionPolicy, PermissionTrace, PermissionTraceStep, TrustPolicy } from './permission.js';
|
package/dist/types/index.js
CHANGED
|
@@ -575,6 +575,25 @@ function normalizeTuiThinkingWord(value) {
|
|
|
575
575
|
return word;
|
|
576
576
|
}
|
|
577
577
|
|
|
578
|
+
// src/types/config/ui.ts
|
|
579
|
+
var THEME_PRESET_IDS = [
|
|
580
|
+
"catppuccin",
|
|
581
|
+
"tokyo-night",
|
|
582
|
+
"nord",
|
|
583
|
+
"cyberpunk",
|
|
584
|
+
"dracula",
|
|
585
|
+
"gruvbox-dark",
|
|
586
|
+
"solarized-dark",
|
|
587
|
+
"one-dark",
|
|
588
|
+
"monokai",
|
|
589
|
+
"rose-pine",
|
|
590
|
+
"kanagawa",
|
|
591
|
+
"ayu-dark",
|
|
592
|
+
"everforest",
|
|
593
|
+
"night-owl",
|
|
594
|
+
"synthwave"
|
|
595
|
+
];
|
|
596
|
+
|
|
578
597
|
// src/types/session-markers.ts
|
|
579
598
|
var SESSION_MARKER_EVENT_TYPES = /* @__PURE__ */ new Set([
|
|
580
599
|
"mode_changed",
|
|
@@ -715,6 +734,9 @@ var DEFAULT_TOOLS_CONFIG = Object.freeze({
|
|
|
715
734
|
disabledTools: Object.freeze([]),
|
|
716
735
|
autoExtendLimit: true,
|
|
717
736
|
restrictToProjectRoot: true,
|
|
737
|
+
// Off by default: the board is a record of the work, not a permit for it.
|
|
738
|
+
// See ToolsConfig.kanbanGovernance for what turning it on costs and gates.
|
|
739
|
+
kanbanGovernance: false,
|
|
718
740
|
loopDetection: Object.freeze({
|
|
719
741
|
mode: "steer-then-cut",
|
|
720
742
|
steerThreshold: 3,
|
|
@@ -1282,6 +1304,7 @@ export {
|
|
|
1282
1304
|
SddError,
|
|
1283
1305
|
SessionError,
|
|
1284
1306
|
StreamHangError,
|
|
1307
|
+
THEME_PRESET_IDS,
|
|
1285
1308
|
ToolError,
|
|
1286
1309
|
ToolErrorCategory,
|
|
1287
1310
|
ToolValidationError,
|
|
@@ -168,6 +168,13 @@ export interface SubagentConfig {
|
|
|
168
168
|
* bodies through `SkillLoader`; missing optional skills are skipped safely.
|
|
169
169
|
*/
|
|
170
170
|
skillNames?: string[] | undefined;
|
|
171
|
+
/**
|
|
172
|
+
* Every skill this role may draw on, before per-project ranking. The catalog
|
|
173
|
+
* sets this to the full curated set while `skillNames` holds the default
|
|
174
|
+
* eager slice; the spawn path ranks the pool by project skill-affinity so a
|
|
175
|
+
* skill the project actually developed can displace an unused sibling.
|
|
176
|
+
*/
|
|
177
|
+
skillPool?: string[] | undefined;
|
|
171
178
|
/** Optional smart-dispatch metadata for dynamically created project roles. */
|
|
172
179
|
dispatch?: {
|
|
173
180
|
summary: string;
|
package/dist/types/session.d.ts
CHANGED
|
@@ -8,7 +8,15 @@ export interface SessionMetadata {
|
|
|
8
8
|
provider?: string | undefined;
|
|
9
9
|
startedAt: string;
|
|
10
10
|
endedAt?: string | undefined;
|
|
11
|
-
/**
|
|
11
|
+
/**
|
|
12
|
+
* Tool calls the previous run had issued but not resolved when it closed,
|
|
13
|
+
* as recorded on `session_end`.
|
|
14
|
+
*
|
|
15
|
+
* Diagnostic only. Resume does NOT restore pending state from this: it
|
|
16
|
+
* derives the same fact from the replayed conversation
|
|
17
|
+
* ({@link SessionData.pendingToolUseCount}), which also covers the crash
|
|
18
|
+
* case where no `session_end` was ever written. Nothing re-executes these.
|
|
19
|
+
*/
|
|
12
20
|
pendingToolUses?: string[] | undefined;
|
|
13
21
|
/** Parent journal metadata when this session was created by fork(). */
|
|
14
22
|
forkedFrom?: {
|
|
@@ -31,6 +31,8 @@ export interface TaskEdge {
|
|
|
31
31
|
export interface TaskGraph {
|
|
32
32
|
id: string;
|
|
33
33
|
specId: string;
|
|
34
|
+
/** Canonical spec scope. When present, execution must retain at least one task per id. */
|
|
35
|
+
requiredRequirementIds?: string[] | undefined;
|
|
34
36
|
title: string;
|
|
35
37
|
nodes: Map<string, TaskNode>;
|
|
36
38
|
edges: TaskEdge[];
|
|
@@ -78,6 +78,8 @@ export interface ToolExecutorOptions {
|
|
|
78
78
|
* to the result the model sees).
|
|
79
79
|
*/
|
|
80
80
|
hookRunner?: import('../hooks/runner.js').HookRunner | undefined;
|
|
81
|
+
/** Hard-block product mutations outside a ready, running strict Kanban contract. */
|
|
82
|
+
requireKanbanGovernance?: boolean | undefined;
|
|
81
83
|
/**
|
|
82
84
|
* Per-tool on-screen result render mode map (`tools.resultRenderMode[name]`).
|
|
83
85
|
* When set, the executor reads this map to decide whether the next
|
package/dist/utils/index.d.ts
CHANGED
|
@@ -31,6 +31,7 @@ export { isSafePathSegment, MAX_PATH_SEGMENT_LENGTH, resolveContainedPath, } fro
|
|
|
31
31
|
export { getPerfProfile, indexParallelBatchSize, isFrugalPerf, type PerfProfile, SageCachePragmas, sqliteCachePragmas, tuiStreamFlushMs, useDaemonPerfDefaults, } from './perf-profile.js';
|
|
32
32
|
export { isPidAlive } from './pid.js';
|
|
33
33
|
export * from './project-identity.js';
|
|
34
|
+
export { activateProjectStateGuard, type ProjectStateGuard, type ProjectStateGuardOptions, startProjectStateGuard, } from './project-state-guard.js';
|
|
34
35
|
export { type ProjectWatchEvent, type ProjectWatchSubscription, watchProjectTree, } from './project-watch.js';
|
|
35
36
|
export { capSubject, type CompileFail, type CompileResult, compileUserRegex, MAX_SUBJECT_LEN, } from './regex-guard.js';
|
|
36
37
|
export * from './safe-json.js';
|