@wrongstack/core 0.264.0 → 0.265.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.
Files changed (87) hide show
  1. package/dist/{agent-bridge-D8sa1vtv.d.ts → agent-bridge-DrkBxszZ.d.ts} +1 -1
  2. package/dist/{agent-subagent-runner-c9DLkaas.d.ts → agent-subagent-runner-DM2pP-B6.d.ts} +113 -11
  3. package/dist/{brain-O1IdKPaK.d.ts → brain-BXd_61kQ.d.ts} +31 -2
  4. package/dist/{compactor-BBy0rCtB.d.ts → compactor-B8pOf45Y.d.ts} +1 -1
  5. package/dist/{config-Dz2F3H2K.d.ts → config-BMCj_XDs.d.ts} +80 -12
  6. package/dist/{context-BGSpZNSE.d.ts → context-MRk5PhNv.d.ts} +26 -12
  7. package/dist/coordination/index.d.ts +77 -21
  8. package/dist/coordination/index.js +557 -159
  9. package/dist/coordination/index.js.map +1 -1
  10. package/dist/{default-config-CXsDvOmP.d.ts → default-config-B0cj-Hry.d.ts} +11 -1
  11. package/dist/defaults/index.d.ts +28 -28
  12. package/dist/defaults/index.js +609 -195
  13. package/dist/defaults/index.js.map +1 -1
  14. package/dist/execution/index.d.ts +16 -16
  15. package/dist/execution/index.js +394 -155
  16. package/dist/execution/index.js.map +1 -1
  17. package/dist/execution/prompt-enhancer.d.ts +2 -2
  18. package/dist/execution/prompt-enhancer.js +1 -1
  19. package/dist/execution/prompt-enhancer.js.map +1 -1
  20. package/dist/extension/index.d.ts +6 -6
  21. package/dist/{goal-preamble-DzjFuN3p.d.ts → goal-preamble-DvHDSKSe.d.ts} +14 -10
  22. package/dist/{goal-store-CxWmCGbH.d.ts → goal-store-DtLMySNb.d.ts} +1 -1
  23. package/dist/{index-CYIQrXVF.d.ts → index-B-ch8K9C.d.ts} +8 -8
  24. package/dist/{index-CbLSI66_.d.ts → index-CEDeNodM.d.ts} +5 -5
  25. package/dist/index.d.ts +183 -52
  26. package/dist/index.js +1779 -673
  27. package/dist/index.js.map +1 -1
  28. package/dist/infrastructure/index.d.ts +6 -6
  29. package/dist/infrastructure/index.js +12 -8
  30. package/dist/infrastructure/index.js.map +1 -1
  31. package/dist/kernel/index.d.ts +9 -9
  32. package/dist/kernel/index.js +1 -1
  33. package/dist/kernel/index.js.map +1 -1
  34. package/dist/{llm-selector-DzxuZnNz.d.ts → llm-selector-C0tfTCUe.d.ts} +14 -2
  35. package/dist/{mcp-servers-DC4QRPUI.d.ts → mcp-servers-2x4w6Jn9.d.ts} +3 -3
  36. package/dist/models/index.d.ts +5 -5
  37. package/dist/models/index.js +74 -30
  38. package/dist/models/index.js.map +1 -1
  39. package/dist/{models-registry-B_siPxqN.d.ts → models-registry-DmJlKuNp.d.ts} +1 -1
  40. package/dist/{multi-agent-coordinator-CK5Jdj9K.d.ts → multi-agent-coordinator-DyCkCZnU.d.ts} +1 -1
  41. package/dist/{null-fleet-bus-DgvD4SCO.d.ts → null-fleet-bus-CG9QY2aP.d.ts} +6 -6
  42. package/dist/observability/index.d.ts +2 -2
  43. package/dist/{parallel-eternal-engine-bK0JQBR_.d.ts → parallel-eternal-engine-Jw9uhEoT.d.ts} +9 -9
  44. package/dist/{path-resolver-BPEDlN38.d.ts → path-resolver-Dy2ej-gE.d.ts} +3 -3
  45. package/dist/{permission-4yvGmMRB.d.ts → permission-B9SB45lp.d.ts} +1 -1
  46. package/dist/{permission-policy-C6XpsBOy.d.ts → permission-policy-CkjSXabK.d.ts} +2 -2
  47. package/dist/{pipeline-CXCeMz8J.d.ts → pipeline-DPDxH_7m.d.ts} +3 -3
  48. package/dist/{plan-templates-BvzRBkJc.d.ts → plan-templates-CzD9GnAU.d.ts} +32 -8
  49. package/dist/{provider-runner-C5aQpDWE.d.ts → provider-runner-DMa70ODu.d.ts} +3 -3
  50. package/dist/{retry-policy-CFhdtRzz.d.ts → retry-policy-CN0khdlj.d.ts} +1 -1
  51. package/dist/sdd/index.d.ts +8 -8
  52. package/dist/sdd/index.js +274 -93
  53. package/dist/sdd/index.js.map +1 -1
  54. package/dist/{secret-vault-CxiVLbt1.d.ts → secret-vault-B2yw84VT.d.ts} +43 -4
  55. package/dist/secret-vault-BAKpgFw_.d.ts +57 -0
  56. package/dist/security/index.d.ts +5 -5
  57. package/dist/security/index.js +204 -23
  58. package/dist/security/index.js.map +1 -1
  59. package/dist/{selector-gIuhRTkN.d.ts → selector-CzHh_igB.d.ts} +1 -1
  60. package/dist/{session-event-bridge-DkvvrpDt.d.ts → session-event-bridge-BUI6Jf-4.d.ts} +1 -1
  61. package/dist/{session-reader-KdfVwkKP.d.ts → session-reader-CMgdMSRP.d.ts} +1 -1
  62. package/dist/storage/index.d.ts +112 -15
  63. package/dist/storage/index.js +419 -81
  64. package/dist/storage/index.js.map +1 -1
  65. package/dist/tools/index.d.ts +2 -2
  66. package/dist/types/index.d.ts +21 -21
  67. package/dist/types/index.js +261 -53
  68. package/dist/types/index.js.map +1 -1
  69. package/dist/utils/index.d.ts +3 -3
  70. package/dist/utils/index.js +3 -5
  71. package/dist/utils/index.js.map +1 -1
  72. package/dist/{wstack-paths-CJjEwPXn.d.ts → wstack-paths-hOpNLmvf.d.ts} +2 -0
  73. package/package.json +1 -1
  74. package/skills/api-design/SKILL.md +1 -1
  75. package/skills/audit-log/SKILL.md +6 -6
  76. package/skills/bug-hunter/SKILL.md +5 -5
  77. package/skills/chimera/SKILL.md +4 -4
  78. package/skills/docker-deploy/SKILL.md +1 -1
  79. package/skills/git-flow/SKILL.md +3 -3
  80. package/skills/multi-agent/SKILL.md +3 -3
  81. package/skills/node-modern/SKILL.md +1 -0
  82. package/skills/observability/SKILL.md +2 -2
  83. package/skills/output-standards/SKILL.md +51 -28
  84. package/skills/refactor-planner/SKILL.md +3 -3
  85. package/skills/security-scanner/SKILL.md +4 -3
  86. package/skills/tech-stack/SKILL.md +1 -2
  87. package/dist/secret-vault-BJDY28ev.d.ts +0 -25
@@ -1,4 +1,4 @@
1
- import { M as ModelsRegistry, a as ModelsDevPayload, R as ResolvedProvider, b as ResolvedModel, W as WireFamily } from './config-Dz2F3H2K.js';
1
+ import { M as ModelsRegistry, a as ModelsDevPayload, R as ResolvedProvider, b as ResolvedModel, W as WireFamily } from './config-BMCj_XDs.js';
2
2
 
3
3
  interface DefaultModelsRegistryOptions {
4
4
  cacheFile: string;
@@ -1,4 +1,4 @@
1
- import { S as SubagentConfig, M as MultiAgentCoordinator, c as MultiAgentConfig, d as SubagentRunner, F as FleetBus, e as SpawnResult, T as TaskSpec, a as BridgeMessage, A as AgentBridge, C as CoordinatorStatus, f as TaskResult } from './agent-subagent-runner-c9DLkaas.js';
1
+ import { S as SubagentConfig, M as MultiAgentCoordinator, c as MultiAgentConfig, d as SubagentRunner, F as FleetBus, e as SpawnResult, T as TaskSpec, a as BridgeMessage, A as AgentBridge, C as CoordinatorStatus, f as TaskResult } from './agent-subagent-runner-DM2pP-B6.js';
2
2
  import { EventEmitter } from 'node:events';
3
3
 
4
4
  /**
@@ -1,11 +1,11 @@
1
- import { A as AgentPhase, b as AgentDefinition, a as DefaultMultiAgentCoordinator, D as DispatchClassifier } from './multi-agent-coordinator-CK5Jdj9K.js';
2
- import { F as FleetBus, i as FleetUsage, S as SubagentConfig, j as FleetUsageAggregator, f as TaskResult, C as CoordinatorStatus, T as TaskSpec, c as MultiAgentConfig, d as SubagentRunner } from './agent-subagent-runner-c9DLkaas.js';
3
- import { a as SessionWriter, T as Tool, i as SessionStore } from './context-BGSpZNSE.js';
4
- import { B as BrainArbiter, E as EventBus } from './brain-O1IdKPaK.js';
1
+ import { A as AgentPhase, b as AgentDefinition, a as DefaultMultiAgentCoordinator, D as DispatchClassifier } from './multi-agent-coordinator-DyCkCZnU.js';
2
+ import { F as FleetBus, i as FleetUsage, S as SubagentConfig, j as FleetUsageAggregator, f as TaskResult, C as CoordinatorStatus, T as TaskSpec, c as MultiAgentConfig, d as SubagentRunner } from './agent-subagent-runner-DM2pP-B6.js';
3
+ import { a as SessionWriter, T as Tool, i as SessionStore } from './context-MRk5PhNv.js';
4
+ import { B as BrainArbiter, E as EventBus } from './brain-BXd_61kQ.js';
5
5
  import { EventEmitter } from 'node:events';
6
6
  import { D as DirectorStateSnapshot } from './director-state-BfeCUbmk.js';
7
- import { d as ModelMatrixEntry } from './config-Dz2F3H2K.js';
8
- import { I as InMemoryAgentBridge } from './agent-bridge-D8sa1vtv.js';
7
+ import { d as ModelMatrixEntry } from './config-BMCj_XDs.js';
8
+ import { I as InMemoryAgentBridge } from './agent-bridge-DrkBxszZ.js';
9
9
 
10
10
  /**
11
11
  * Alert levels the Director can emit when a collab session needs attention.
@@ -1,6 +1,6 @@
1
1
  import { M as MetricsSink, d as MetricLabels, f as MetricsSnapshot, H as HealthRegistry, a as HealthCheck, A as AggregateHealth, T as Tracer, S as Span } from '../observability-D-HZN_mF.js';
2
- import { E as EventBus } from '../brain-O1IdKPaK.js';
3
- import '../context-BGSpZNSE.js';
2
+ import { E as EventBus } from '../brain-BXd_61kQ.js';
3
+ import '../context-MRk5PhNv.js';
4
4
 
5
5
  /**
6
6
  * In-memory metrics sink. Suitable for embedded use, tests, and /metrics
@@ -1,12 +1,12 @@
1
- import { e as ProviderError, C as Context, T as Tool, l as ToolUseBlock, m as ToolResultBlock } from './context-BGSpZNSE.js';
2
- import { R as RetryPolicy, E as ErrorHandler, a as RecoveryDecision } from './retry-policy-CFhdtRzz.js';
3
- import { C as Compactor, a as CompactReport } from './compactor-BBy0rCtB.js';
4
- import { M as ModelsRegistry } from './config-Dz2F3H2K.js';
5
- import { T as ToolExecutorOptions, a as ToolExecutorStrategy, b as ToolBatchResult } from './index-CbLSI66_.js';
6
- import { g as Agent, h as AgentFactory } from './agent-subagent-runner-c9DLkaas.js';
7
- import { B as BrainArbiter, E as EventBus } from './brain-O1IdKPaK.js';
8
- import { J as JournalEntry } from './goal-store-CxWmCGbH.js';
9
- import { D as DispatchClassifier, a as DefaultMultiAgentCoordinator } from './multi-agent-coordinator-CK5Jdj9K.js';
1
+ import { e as ProviderError, C as Context, T as Tool, l as ToolUseBlock, m as ToolResultBlock } from './context-MRk5PhNv.js';
2
+ import { R as RetryPolicy, E as ErrorHandler, a as RecoveryDecision } from './retry-policy-CN0khdlj.js';
3
+ import { C as Compactor, a as CompactReport } from './compactor-B8pOf45Y.js';
4
+ import { M as ModelsRegistry } from './config-BMCj_XDs.js';
5
+ import { T as ToolExecutorOptions, a as ToolExecutorStrategy, b as ToolBatchResult } from './index-CEDeNodM.js';
6
+ import { g as Agent, h as AgentFactory } from './agent-subagent-runner-DM2pP-B6.js';
7
+ import { B as BrainArbiter, E as EventBus } from './brain-BXd_61kQ.js';
8
+ import { J as JournalEntry } from './goal-store-DtLMySNb.js';
9
+ import { D as DispatchClassifier, a as DefaultMultiAgentCoordinator } from './multi-agent-coordinator-DyCkCZnU.js';
10
10
 
11
11
  declare class DefaultRetryPolicy implements RetryPolicy {
12
12
  shouldRetry(err: Error | ProviderError, attempt: number): boolean;
@@ -1,6 +1,6 @@
1
- import { E as EventBus } from './brain-O1IdKPaK.js';
2
- import { M as ModelsRegistry, b as ResolvedModel } from './config-Dz2F3H2K.js';
3
- import { c as TokenCounter, U as Usage, d as CacheStats } from './context-BGSpZNSE.js';
1
+ import { E as EventBus } from './brain-BXd_61kQ.js';
2
+ import { M as ModelsRegistry, b as ResolvedModel } from './config-BMCj_XDs.js';
3
+ import { c as TokenCounter, U as Usage, d as CacheStats } from './context-MRk5PhNv.js';
4
4
  import { P as PathResolver } from './path-resolver-CPRj4bFY.js';
5
5
 
6
6
  /**
@@ -1,4 +1,4 @@
1
- import { T as Tool, C as Context, f as Permission } from './context-BGSpZNSE.js';
1
+ import { T as Tool, C as Context, f as Permission } from './context-MRk5PhNv.js';
2
2
 
3
3
  interface SecretScrubber {
4
4
  scrub(text: string): string;
@@ -1,6 +1,6 @@
1
- import { T as Tool, C as Context } from './context-BGSpZNSE.js';
1
+ import { T as Tool, C as Context } from './context-MRk5PhNv.js';
2
2
  import { I as InputReader } from './input-reader-E-ffP2ee.js';
3
- import { P as PermissionPolicy, a as PermissionDecision } from './permission-4yvGmMRB.js';
3
+ import { P as PermissionPolicy, a as PermissionDecision } from './permission-B9SB45lp.js';
4
4
 
5
5
  interface PermissionPolicyOptions {
6
6
  trustFile: string;
@@ -1,5 +1,5 @@
1
- import { T as Tool, n as TextBlock, g as ContentBlock } from './context-BGSpZNSE.js';
2
- import { H as HookEvent, e as HookMatcher, I as InProcessHook, S as ShellHook, f as HookEntry } from './config-Dz2F3H2K.js';
1
+ import { T as Tool, n as TextBlock, g as ContentBlock } from './context-MRk5PhNv.js';
2
+ import { H as HookEvent, e as HookMatcher, I as InProcessHook, S as ShellHook, f as HookEntry } from './config-BMCj_XDs.js';
3
3
 
4
4
  /**
5
5
  * Mailbox — persistent inter-agent messaging system with cross-session support.
@@ -27,7 +27,7 @@ import { H as HookEvent, e as HookMatcher, I as InProcessHook, S as ShellHook, f
27
27
  *
28
28
  * @module mailbox-types
29
29
  */
30
- type MailboxMessageType = 'note' | 'ask' | 'assign' | 'steer' | 'btw' | 'broadcast' | 'status' | 'result';
30
+ type MailboxMessageType = 'note' | 'ask' | 'assign' | 'steer' | 'btw' | 'broadcast' | 'status' | 'result' | 'control';
31
31
  /**
32
32
  * Per-recipient read status. `readBy` maps agentId → ISO8601 timestamp of
33
33
  * when that agent first read the message. An empty map means unread by all.
@@ -1,10 +1,10 @@
1
- import { E as EventBus, M as MemoryScope, b as MemoryEntry, c as MemoryStore, d as MemoryRelevanceContext, S as ScoredEntry } from './brain-O1IdKPaK.js';
2
- import { S as SecretScrubber } from './permission-4yvGmMRB.js';
3
- import { i as SessionStore, h as SessionMetadata, a as SessionWriter, p as ResumedSession, q as SessionData, r as SessionSummary, g as ContentBlock, S as SessionEvent, s as TodoItem, t as ConversationState } from './context-BGSpZNSE.js';
4
- import { A as AttachmentStore, a as AddAttachmentInput, b as AttachmentRef, c as Attachment } from './session-reader-KdfVwkKP.js';
5
- import { W as WstackPaths } from './wstack-paths-CJjEwPXn.js';
6
- import { i as ConfigStore, h as Config, j as ConfigLoader, k as SyncConfig } from './config-Dz2F3H2K.js';
7
- import { S as SecretVault } from './secret-vault-BJDY28ev.js';
1
+ import { E as EventBus, M as MemoryScope, b as MemoryEntry, c as MemoryStore, d as MemoryRelevanceContext, S as ScoredEntry } from './brain-BXd_61kQ.js';
2
+ import { S as SecretScrubber } from './permission-B9SB45lp.js';
3
+ import { i as SessionStore, h as SessionMetadata, a as SessionWriter, p as ResumedSession, q as SessionData, r as SessionSummary, g as ContentBlock, S as SessionEvent, s as TodoItem, t as ConversationState } from './context-MRk5PhNv.js';
4
+ import { A as AttachmentStore, a as AddAttachmentInput, b as AttachmentRef, c as Attachment } from './session-reader-CMgdMSRP.js';
5
+ import { W as WstackPaths } from './wstack-paths-hOpNLmvf.js';
6
+ import { i as ConfigStore, h as Config, j as ConfigLoader, k as SyncConfig } from './config-BMCj_XDs.js';
7
+ import { S as SecretVault } from './secret-vault-BAKpgFw_.js';
8
8
 
9
9
  interface SessionStoreOptions {
10
10
  dir: string;
@@ -24,7 +24,24 @@ declare class DefaultSessionStore implements SessionStore {
24
24
  private readonly dir;
25
25
  private readonly events?;
26
26
  private readonly secretScrubber?;
27
+ /**
28
+ * In-memory cache for load() results, keyed by session ID. The cache is
29
+ * invalidated when the file's mtimeMs or size changes (indicating the
30
+ * file was written to). This eliminates redundant full-file reads and
31
+ * JSON parses when the same session is loaded multiple times within the
32
+ * store's lifetime (e.g., webui session detail views, list() fallbacks).
33
+ *
34
+ * Max size is capped to prevent unbounded memory growth in long-running
35
+ * processes. When the limit is reached, the oldest entry is evicted.
36
+ */
37
+ private readonly _loadCache;
38
+ private static readonly LOAD_CACHE_MAX_ENTRIES;
27
39
  constructor(opts: SessionStoreOptions);
40
+ /**
41
+ * Clear the load() cache. Useful for testing or when the caller knows
42
+ * the file has changed externally (e.g., another process wrote to it).
43
+ */
44
+ clearLoadCache(sessionId?: string): void;
28
45
  private emitRead;
29
46
  private emitWrite;
30
47
  private emitError;
@@ -608,7 +625,14 @@ interface PlanFile {
608
625
  items: PlanItem[];
609
626
  }
610
627
  declare function loadPlan(filePath: string, events?: EventBus): Promise<PlanFile | null>;
611
- declare function savePlan(filePath: string, plan: PlanFile, events?: EventBus): Promise<void>;
628
+ /**
629
+ * Persist a plan. Returns `true` on success, `false` if the write failed
630
+ * (still emits `storage.error` + warns — it does NOT throw, so callers that
631
+ * treat a lost plan-save as non-fatal keep working). `mutatePlan` inspects the
632
+ * result and throws so the plan TOOL can report `ok:false` instead of falsely
633
+ * claiming the plan was persisted.
634
+ */
635
+ declare function savePlan(filePath: string, plan: PlanFile, events?: EventBus): Promise<boolean>;
612
636
  /** Create a new PlanFile when none exists on disk. */
613
637
  declare function emptyPlan(sessionId: string, title?: string): PlanFile;
614
638
  declare function addPlanItem(plan: PlanFile, title: string, details?: string | undefined): {
@@ -1,8 +1,8 @@
1
- import { E as EventBus } from './brain-O1IdKPaK.js';
1
+ import { E as EventBus } from './brain-BXd_61kQ.js';
2
2
  import { L as Logger } from './logger-B63L5bTg.js';
3
3
  import { T as Tracer } from './observability-D-HZN_mF.js';
4
- import { P as Provider, R as Request, C as Context, b as Response } from './context-BGSpZNSE.js';
5
- import { R as RetryPolicy } from './retry-policy-CFhdtRzz.js';
4
+ import { P as Provider, R as Request, C as Context, b as Response } from './context-MRk5PhNv.js';
5
+ import { R as RetryPolicy } from './retry-policy-CN0khdlj.js';
6
6
 
7
7
  /**
8
8
  * Options passed to a ProviderRunner when calling the provider.
@@ -1,4 +1,4 @@
1
- import { C as Context, b as Response, e as ProviderError } from './context-BGSpZNSE.js';
1
+ import { C as Context, b as Response, e as ProviderError } from './context-MRk5PhNv.js';
2
2
 
3
3
  type RecoveryDecision = {
4
4
  /**
@@ -1,15 +1,15 @@
1
1
  import { h as Specification, S as SpecAnalysis, g as SpecValidationResult, e as SpecStatus, f as SpecTemplate, b as SpecRequirement } from '../spec-TBi3Jr6T.js';
2
2
  import { d as TaskGraph, e as TaskNode, i as TaskFilter, j as TaskSort, c as TaskProgress, T as TaskType, a as TaskPriority } from '../task-graph-u1q9Jkyk.js';
3
- import { E as EventBus } from '../brain-O1IdKPaK.js';
4
- import { D as DoneCondition, g as Agent, h as AgentFactory, f as TaskResult } from '../agent-subagent-runner-c9DLkaas.js';
5
- import '../context-BGSpZNSE.js';
6
- import '../index-CbLSI66_.js';
3
+ import { E as EventBus } from '../brain-BXd_61kQ.js';
4
+ import { D as DoneCondition, g as Agent, h as AgentFactory, f as TaskResult } from '../agent-subagent-runner-DM2pP-B6.js';
5
+ import '../context-MRk5PhNv.js';
6
+ import '../index-CEDeNodM.js';
7
7
  import '../logger-B63L5bTg.js';
8
- import '../pipeline-CXCeMz8J.js';
9
- import '../config-Dz2F3H2K.js';
8
+ import '../pipeline-DPDxH_7m.js';
9
+ import '../config-BMCj_XDs.js';
10
10
  import '../observability-D-HZN_mF.js';
11
- import '../permission-4yvGmMRB.js';
12
- import '../retry-policy-CFhdtRzz.js';
11
+ import '../permission-B9SB45lp.js';
12
+ import '../retry-policy-CN0khdlj.js';
13
13
 
14
14
  declare class SpecParser {
15
15
  parse(content: string): Specification;