@wrongstack/core 0.257.2 → 0.264.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.
Files changed (82) hide show
  1. package/dist/{agent-bridge-BrxWHEOm.d.ts → agent-bridge-D8sa1vtv.d.ts} +1 -1
  2. package/dist/{agent-subagent-runner-US741uBH.d.ts → agent-subagent-runner-c9DLkaas.d.ts} +31 -9
  3. package/dist/{brain-TjEEwSpw.d.ts → brain-O1IdKPaK.d.ts} +59 -2
  4. package/dist/{compactor-C5sT4U7I.d.ts → compactor-BBy0rCtB.d.ts} +1 -1
  5. package/dist/{config-DuAu23zm.d.ts → config-Dz2F3H2K.d.ts} +7 -1
  6. package/dist/{context-CGdgA0q6.d.ts → context-BGSpZNSE.d.ts} +33 -0
  7. package/dist/coordination/index.d.ts +1681 -15
  8. package/dist/coordination/index.js +2826 -405
  9. package/dist/coordination/index.js.map +1 -1
  10. package/dist/defaults/index.d.ts +25 -25
  11. package/dist/defaults/index.js +2258 -1433
  12. package/dist/defaults/index.js.map +1 -1
  13. package/dist/dispatcher-types.d-BBeXBQgS.d.ts +66 -0
  14. package/dist/execution/index.d.ts +15 -15
  15. package/dist/execution/index.js +502 -398
  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 +7 -1
  19. package/dist/execution/prompt-enhancer.js.map +1 -1
  20. package/dist/extension/index.d.ts +6 -6
  21. package/dist/extension/index.js.map +1 -1
  22. package/dist/{goal-preamble-CznHTZqP.d.ts → goal-preamble-DzjFuN3p.d.ts} +21 -9
  23. package/dist/{goal-store-CV9Yz2X_.d.ts → goal-store-CxWmCGbH.d.ts} +4 -2
  24. package/dist/{index-CC0Mcm05.d.ts → index-CYIQrXVF.d.ts} +8 -8
  25. package/dist/{index-CitPrI3a.d.ts → index-CbLSI66_.d.ts} +5 -5
  26. package/dist/index.d.ts +50 -94
  27. package/dist/index.js +16009 -12406
  28. package/dist/index.js.map +1 -1
  29. package/dist/infrastructure/index.d.ts +6 -6
  30. package/dist/kernel/index.d.ts +9 -9
  31. package/dist/kernel/index.js +6 -1
  32. package/dist/kernel/index.js.map +1 -1
  33. package/dist/{llm-selector-CJ4SyAFE.d.ts → llm-selector-DzxuZnNz.d.ts} +2 -2
  34. package/dist/{mcp-servers-D8YnLaEp.d.ts → mcp-servers-DC4QRPUI.d.ts} +3 -3
  35. package/dist/models/index.d.ts +5 -5
  36. package/dist/models/index.js +6 -1
  37. package/dist/models/index.js.map +1 -1
  38. package/dist/{models-registry-ByZCdFuQ.d.ts → models-registry-B_siPxqN.d.ts} +1 -1
  39. package/dist/{multi-agent-coordinator-DqTUEAeC.d.ts → multi-agent-coordinator-CK5Jdj9K.d.ts} +2 -2
  40. package/dist/{null-fleet-bus-B5mfTJXT.d.ts → null-fleet-bus-DgvD4SCO.d.ts} +13 -8
  41. package/dist/observability/index.d.ts +2 -2
  42. package/dist/observability/index.js +8 -3
  43. package/dist/observability/index.js.map +1 -1
  44. package/dist/{parallel-eternal-engine-C0juOszP.d.ts → parallel-eternal-engine-bK0JQBR_.d.ts} +13 -9
  45. package/dist/{path-resolver-CbkT-RMU.d.ts → path-resolver-BPEDlN38.d.ts} +3 -3
  46. package/dist/{permission-CwBBpCoF.d.ts → permission-4yvGmMRB.d.ts} +1 -1
  47. package/dist/{permission-policy-B8rSu908.d.ts → permission-policy-C6XpsBOy.d.ts} +3 -2
  48. package/dist/{pipeline-JG8XoudC.d.ts → pipeline-CXCeMz8J.d.ts} +58 -3
  49. package/dist/{plan-templates-DPiQMkBz.d.ts → plan-templates-BvzRBkJc.d.ts} +32 -11
  50. package/dist/{provider-runner-hM7EXlLI.d.ts → provider-runner-C5aQpDWE.d.ts} +3 -3
  51. package/dist/{retry-policy-Tg7LXkoK.d.ts → retry-policy-CFhdtRzz.d.ts} +1 -1
  52. package/dist/sdd/index.d.ts +8 -8
  53. package/dist/sdd/index.js +59 -31
  54. package/dist/sdd/index.js.map +1 -1
  55. package/dist/{secret-vault-gxtFZYBt.d.ts → secret-vault-CxiVLbt1.d.ts} +1 -1
  56. package/dist/security/index.d.ts +4 -4
  57. package/dist/security/index.js +238 -204
  58. package/dist/security/index.js.map +1 -1
  59. package/dist/{selector-DWsqVjGf.d.ts → selector-gIuhRTkN.d.ts} +1 -1
  60. package/dist/{session-event-bridge-BAFWdgQ3.d.ts → session-event-bridge-DkvvrpDt.d.ts} +8 -2
  61. package/dist/{session-reader-CqRvaL5v.d.ts → session-reader-KdfVwkKP.d.ts} +1 -1
  62. package/dist/skills/index.js +67 -64
  63. package/dist/skills/index.js.map +1 -1
  64. package/dist/storage/index.d.ts +50 -22
  65. package/dist/storage/index.js +1654 -525
  66. package/dist/storage/index.js.map +1 -1
  67. package/dist/tools/index.d.ts +57 -0
  68. package/dist/tools/index.js +411 -0
  69. package/dist/tools/index.js.map +1 -0
  70. package/dist/types/index.d.ts +19 -19
  71. package/dist/types/index.js +711 -694
  72. package/dist/types/index.js.map +1 -1
  73. package/dist/utils/error.d.ts +7 -0
  74. package/dist/utils/error.js +8 -0
  75. package/dist/utils/error.js.map +1 -0
  76. package/dist/utils/index.d.ts +7 -67
  77. package/dist/utils/index.js +17 -5
  78. package/dist/utils/index.js.map +1 -1
  79. package/package.json +5 -1
  80. package/skills/output-standards/SKILL.md +14 -9
  81. package/skills/output-standards/SKILL.save.md +3 -2
  82. package/dist/package-outdated-watcher-BSgR_kK-.d.ts +0 -581
@@ -1,4 +1,4 @@
1
- import { B as BridgeTransport, a as BridgeMessage, A as AgentBridge, b as AgentBridgeConfig } from './agent-subagent-runner-US741uBH.js';
1
+ import { B as BridgeTransport, a as BridgeMessage, A as AgentBridge, b as AgentBridgeConfig } from './agent-subagent-runner-c9DLkaas.js';
2
2
 
3
3
  /**
4
4
  * In-memory pub/sub transport for agent-to-agent messaging.
@@ -1,12 +1,12 @@
1
- import { c as ToolCallPipelinePayload, d as ToolWrapper, E as ExtensionRegistry, S as SystemPromptContributor, e as ToolRegistry, P as ProviderRegistry, A as AgentPipelines, f as ToolExecutorLike, g as AgentInit, h as AgentInput, R as RunResult } from './index-CitPrI3a.js';
2
- import { C as Container, R as ReadonlyPipeline, a as Renderer } from './pipeline-JG8XoudC.js';
3
- import { E as EventBus, a as EventName, L as Listener } from './brain-TjEEwSpw.js';
4
- import { R as RetryPolicy, E as ErrorHandler } from './retry-policy-Tg7LXkoK.js';
1
+ import { c as ToolCallPipelinePayload, d as ToolWrapper, E as ExtensionRegistry, S as SystemPromptContributor, e as ToolRegistry, P as ProviderRegistry, A as AgentPipelines, f as ToolExecutorLike, g as AgentInit, h as AgentInput, R as RunResult } from './index-CbLSI66_.js';
2
+ import { C as Container, R as ReadonlyPipeline, a as Renderer } from './pipeline-CXCeMz8J.js';
3
+ import { E as EventBus, a as EventName, L as Listener } from './brain-O1IdKPaK.js';
4
+ import { R as RetryPolicy, E as ErrorHandler } from './retry-policy-CFhdtRzz.js';
5
5
  import { L as Logger } from './logger-B63L5bTg.js';
6
6
  import { T as Tracer } from './observability-D-HZN_mF.js';
7
- import { P as PermissionPolicy } from './permission-CwBBpCoF.js';
8
- import { U as Usage, C as Context, J as JSONSchema, R as Request, b as Response, g as ContentBlock, n as TextBlock, T as Tool, P as Provider, o as RunOptions } from './context-CGdgA0q6.js';
9
- import { W as WireFamily, H as HookEvent, e as HookMatcher, I as InProcessHook, h as Config } from './config-DuAu23zm.js';
7
+ import { P as PermissionPolicy } from './permission-4yvGmMRB.js';
8
+ import { U as Usage, C as Context, J as JSONSchema, R as Request, b as Response, g as ContentBlock, n as TextBlock, T as Tool, P as Provider, o as RunOptions } from './context-BGSpZNSE.js';
9
+ import { W as WireFamily, H as HookEvent, e as HookMatcher, I as InProcessHook, h as Config } from './config-Dz2F3H2K.js';
10
10
 
11
11
  /**
12
12
  * Single fleet-wide event with subagent attribution. Whatever a child
@@ -416,6 +416,13 @@ interface SubagentConfig {
416
416
  */
417
417
  idleTimeoutMs?: number | undefined;
418
418
  tools?: string[] | undefined;
419
+ /**
420
+ * Tools to explicitly disable for this subagent. These tools will be
421
+ * removed from the subagent's tool list even if they are normally available.
422
+ * Use this to enforce constraints that the baseline prompt alone cannot
423
+ * fully enforce (e.g., preventing delegation by removing the delegate tool).
424
+ */
425
+ disabledTools?: string[] | undefined;
419
426
  model?: string | undefined;
420
427
  priority?: number | undefined;
421
428
  /**
@@ -979,7 +986,9 @@ declare class Agent {
979
986
  readonly events: EventBus;
980
987
  readonly pipelines: AgentPipelines;
981
988
  readonly ctx: Context;
982
- readonly maxIterations: number;
989
+ /** Max agent-loop iterations per run. Mutable so the TUI `/settings` picker
990
+ * can apply a new value to the live session (takes effect next run). */
991
+ maxIterations: number;
983
992
  readonly executionStrategy: 'parallel' | 'sequential' | 'smart';
984
993
  readonly perIterationOutputCapBytes: number;
985
994
  private readonly plugins;
@@ -1013,6 +1022,19 @@ declare class Agent {
1013
1022
  * attributed correctly.
1014
1023
  */
1015
1024
  type AgentFactory = (config: SubagentConfig) => Promise<AgentFactoryResult>;
1025
+ /**
1026
+ * Wrap a factory to automatically filter out disabled tools from subagent
1027
+ * configurations. This provides mechanical enforcement of tool restrictions
1028
+ * (e.g., preventing delegation) in addition to the baseline prompt constraint.
1029
+ *
1030
+ * The wrapper reads `config.disabledTools` and removes those tools from the
1031
+ * agent's tool registry before returning.
1032
+ *
1033
+ * Usage:
1034
+ * const filteredFactory = withDisabledToolFiltering(originalFactory);
1035
+ * const runner = makeAgentSubagentRunner({ factory: filteredFactory });
1036
+ */
1037
+ declare function withDisabledToolFiltering(factory: AgentFactory): AgentFactory;
1016
1038
  interface AgentFactoryResult {
1017
1039
  agent: Agent;
1018
1040
  /** Event bus the factory wired to this agent — required for budget hookup. */
@@ -1062,4 +1084,4 @@ interface AgentRunnerOptions {
1062
1084
  */
1063
1085
  declare function makeAgentSubagentRunner(opts: AgentRunnerOptions): SubagentRunner;
1064
1086
 
1065
- export { type AgentBridge as A, type BridgeTransport as B, type CoordinatorStatus as C, type DoneCondition as D, type PluginPipelines as E, FleetBus as F, type ToolRegistryView as G, type ProviderRegistryView as H, type MCPRegistryView as I, type SlashCommandRegistryView as J, type SessionWriterView as K, type MetricsSinkView as L, type MultiAgentCoordinator as M, type PluginCapabilities as N, type Plugin as O, type PluginAPI as P, type CoordinatorEvents as Q, type PluginDependency as R, type SubagentConfig as S, type TaskSpec as T, type SubagentContext as U, type SubagentError as V, type SubagentErrorKind as W, type SubagentRunContext as X, type SubagentRunOutcome as Y, type TaskDelegation as Z, type ProviderFactory as _, type BridgeMessage as a, type AgentBridgeConfig as b, type MultiAgentConfig as c, type SubagentRunner as d, type SpawnResult as e, type TaskResult as f, Agent as g, type AgentFactory as h, type AgentFactoryResult as i, type AgentRunnerOptions as j, BudgetExceededError as k, type BudgetKind as l, type BudgetLimits as m, type BudgetNegotiationMode as n, type BudgetThresholdDecision as o, type BudgetThresholdHandler as p, BudgetThresholdSignal as q, type BudgetUsage as r, type FleetEvent as s, type FleetHandler as t, type FleetUsage as u, FleetUsageAggregator as v, SubagentBudget as w, type SubagentUsageSnapshot as x, makeAgentSubagentRunner as y, type SlashCommand as z };
1087
+ export { type ProviderFactory as $, type AgentBridge as A, type BridgeTransport as B, type CoordinatorStatus as C, type DoneCondition as D, type BudgetThresholdDecision as E, FleetBus as F, type BudgetThresholdHandler as G, BudgetThresholdSignal as H, type BudgetUsage as I, type CoordinatorEvents as J, type FleetEvent as K, type FleetHandler as L, type MultiAgentCoordinator as M, type PluginDependency as N, SubagentBudget as O, type PluginAPI as P, type SubagentContext as Q, type SubagentError as R, type SubagentConfig as S, type TaskSpec as T, type SubagentErrorKind as U, type SubagentRunContext as V, type SubagentRunOutcome as W, type SubagentUsageSnapshot as X, type TaskDelegation as Y, makeAgentSubagentRunner as Z, withDisabledToolFiltering as _, type BridgeMessage as a, type AgentBridgeConfig as b, type MultiAgentConfig as c, type SubagentRunner as d, type SpawnResult as e, type TaskResult as f, Agent as g, type AgentFactory as h, type FleetUsage as i, FleetUsageAggregator as j, type SlashCommand as k, type PluginPipelines as l, type ToolRegistryView as m, type ProviderRegistryView as n, type MCPRegistryView as o, type SlashCommandRegistryView as p, type SessionWriterView as q, type MetricsSinkView as r, type PluginCapabilities as s, type Plugin as t, type AgentFactoryResult as u, type AgentRunnerOptions as v, BudgetExceededError as w, type BudgetKind as x, type BudgetLimits as y, type BudgetNegotiationMode as z };
@@ -1,4 +1,4 @@
1
- import { U as Usage, C as Context, j as ToolProgressEvent, T as Tool } from './context-CGdgA0q6.js';
1
+ import { U as Usage, C as Context, j as ToolProgressEvent, T as Tool } from './context-BGSpZNSE.js';
2
2
 
3
3
  type MemoryScope = 'project-agents' | 'project-memory' | 'user-memory';
4
4
  type MemoryType = 'fact' | 'decision' | 'convention' | 'preference' | 'reference' | 'anti_pattern';
@@ -81,6 +81,12 @@ interface MemoryStore {
81
81
  * Returns only entries that meet a relevance threshold.
82
82
  */
83
83
  scoreRelevant?(ctx: MemoryRelevanceContext, scope?: MemoryScope, limit?: number): Promise<ScoredEntry[]>;
84
+ /**
85
+ * Attach a trace ID to this store so that all subsequent `storage.*`
86
+ * events include it for observability correlation. Mutates the store
87
+ * in place and returns the same instance (convenience chaining).
88
+ */
89
+ withTraceId(traceId: string): MemoryStore;
84
90
  }
85
91
 
86
92
  /**
@@ -744,6 +750,57 @@ interface EventMap {
744
750
  'memory.forgotten': MemoryForgottenPayload;
745
751
  'memory.cleared': MemoryClearedPayload;
746
752
  'memory.consolidated': MemoryConsolidatedPayload;
753
+ /**
754
+ * Fired when a store completes a read operation. Carries the session ID
755
+ * and file path so dashboards can correlate storage I/O with agent
756
+ * iterations via the session ID.
757
+ */
758
+ 'storage.read': {
759
+ sessionId: string;
760
+ /** Which store was read. */
761
+ store: 'session' | 'goal' | 'plan' | 'project' | 'todos' | 'queue' | 'tasks' | 'memory' | 'annotations' | 'audit' | 'replay' | 'config';
762
+ filePath: string;
763
+ /** Session store: load|list|summary|index_read. Goal store: load. Plan store: load. Memory store: readAll. Annotations: list. Audit: verify|load. Replay: load|lookup. Config: read_json|load_sync. */
764
+ operation: string;
765
+ outcome: 'success' | 'failure';
766
+ durationMs: number;
767
+ error?: string;
768
+ traceId?: string;
769
+ };
770
+ /**
771
+ * Fired when a store completes a write operation. Covers both individual
772
+ * event appends and batch flushes — check `eventCount` to distinguish.
773
+ */
774
+ 'storage.write': {
775
+ sessionId: string;
776
+ store: 'session' | 'goal' | 'plan' | 'project' | 'todos' | 'queue' | 'tasks' | 'memory' | 'annotations' | 'audit' | 'replay' | 'config';
777
+ filePath: string;
778
+ /** Session store: create|resume|append|flush|close|index_append|compact|checkpoint.
779
+ * Goal store: save|update|delete. Plan store: save. Project manifest: manifest_write.
780
+ * Todos: save. Queue: write|clear. Tasks: save. Memory: remember|forget|clear|consolidate.
781
+ * Annotations: add|resolve|evict. Audit: record. Replay: record|compact. Config: persist_sync. */
782
+ operation: string;
783
+ outcome: 'success' | 'failure';
784
+ durationMs: number;
785
+ eventCount?: number;
786
+ error?: string;
787
+ traceId?: string;
788
+ };
789
+ /**
790
+ * Fired when a store operation fails after best-effort retries.
791
+ * Use this for alert-worthy persistent failures (disk full, permissions).
792
+ */
793
+ 'storage.error': {
794
+ sessionId: string;
795
+ store: 'session' | 'goal' | 'plan' | 'project' | 'todos' | 'queue' | 'tasks' | 'memory' | 'annotations' | 'audit' | 'replay' | 'config';
796
+ filePath: string;
797
+ operation: string;
798
+ outcome?: 'failure';
799
+ error: string;
800
+ recoverable: boolean;
801
+ durationMs?: number;
802
+ traceId?: string;
803
+ };
747
804
  error: {
748
805
  err: Error;
749
806
  phase: string;
@@ -1000,4 +1057,4 @@ declare class DefaultBrainArbiter implements BrainArbiter {
1000
1057
  }
1001
1058
  declare function formatHumanPrompt(request: BrainDecisionRequest): string;
1002
1059
 
1003
- export { type BrainArbiter as B, DefaultBrainArbiter as D, EventBus as E, HumanEscalatingBrainArbiter as H, type Listener as L, type MemoryScope as M, ObservableBrainArbiter as O, type ScoredEntry as S, type EventName as a, type BrainDecision as b, type BrainDecisionOption as c, BrainDecisionQueue as d, type BrainDecisionRequest as e, type BrainDecisionSource as f, type BrainFallback as g, type BrainRisk as h, type DefaultBrainArbiterOptions as i, formatHumanPrompt as j, type MemoryEntry as k, type MemoryStore as l, type MemoryRelevanceContext as m, type EventLogger as n, type EventMap as o, MEMORY_TYPE_LABELS as p, type MemoryClearedPayload as q, type MemoryConsolidatedPayload as r, type MemoryForgottenPayload as s, type MemoryPriority as t, type MemoryRememberedPayload as u, type MemoryType as v, ScopedEventBus as w };
1060
+ export { type BrainArbiter as B, DefaultBrainArbiter as D, EventBus as E, HumanEscalatingBrainArbiter as H, type Listener as L, type MemoryScope as M, ObservableBrainArbiter as O, type ScoredEntry as S, type EventName as a, type MemoryEntry as b, type MemoryStore as c, type MemoryRelevanceContext as d, type BrainDecision as e, type BrainDecisionOption as f, BrainDecisionQueue as g, type BrainDecisionRequest as h, type BrainDecisionSource as i, type BrainFallback as j, type BrainRisk as k, type DefaultBrainArbiterOptions as l, type EventLogger as m, type EventMap as n, MEMORY_TYPE_LABELS as o, type MemoryClearedPayload as p, type MemoryConsolidatedPayload as q, type MemoryForgottenPayload as r, type MemoryPriority as s, type MemoryRememberedPayload as t, type MemoryType as u, ScopedEventBus as v, formatHumanPrompt as w };
@@ -1,4 +1,4 @@
1
- import { C as Context } from './context-CGdgA0q6.js';
1
+ import { C as Context } from './context-BGSpZNSE.js';
2
2
 
3
3
  interface CompactRepairReport {
4
4
  removedToolUses: string[];
@@ -1,4 +1,4 @@
1
- import { k as Capabilities, f as Permission } from './context-CGdgA0q6.js';
1
+ import { k as Capabilities, f as Permission } from './context-BGSpZNSE.js';
2
2
 
3
3
  type ContextWindowModeId = 'balanced' | 'frugal' | 'deep' | 'archival';
4
4
  type ContextWindowAggressiveOn = 'hard' | 'soft' | 'warn';
@@ -382,6 +382,12 @@ interface FeaturesConfig {
382
382
  * `features.tokenSavingMode: true` in config.
383
383
  */
384
384
  tokenSavingMode?: boolean | undefined;
385
+ /**
386
+ * Allow tools to read/write paths outside the project root directory.
387
+ * When true (default), tools can access any path on the filesystem.
388
+ * When false, tools are restricted to the project root directory.
389
+ */
390
+ allowOutsideProjectRoot?: boolean | undefined;
385
391
  }
386
392
  interface AutonomyConfig {
387
393
  /** ms to wait before auto-proceeding in 'auto' mode. Default: 45000. */
@@ -1012,6 +1012,14 @@ interface SessionStore {
1012
1012
  }
1013
1013
  interface SessionWriter {
1014
1014
  readonly id: string;
1015
+ /**
1016
+ * Session-level trace ID for correlating storage events with agent
1017
+ * iterations in observability pipelines. Generated once at Context
1018
+ * creation time and stored here so storage operations can include it
1019
+ * in `storage.*` events even though the store has no direct handle
1020
+ * on the Context.
1021
+ */
1022
+ traceId?: string | undefined;
1015
1023
  /**
1016
1024
  * Absolute path to the JSONL file this writer appends to, when one
1017
1025
  * exists. In-memory writers (tests, ephemeral sessions) leave it
@@ -1283,6 +1291,20 @@ interface ContextInit {
1283
1291
  agentId?: string | undefined;
1284
1292
  /** Human-readable agent name. */
1285
1293
  agentName?: string | undefined;
1294
+ /**
1295
+ * Session-level trace ID for correlating storage events with agent
1296
+ * iterations in observability pipelines. Stored on the SessionWriter
1297
+ * so that storage operations can emit it in `storage.*` events.
1298
+ * When set, the Context constructor propagates it to
1299
+ * `session.traceId` automatically.
1300
+ */
1301
+ traceId?: string | undefined;
1302
+ /**
1303
+ * Allow tools to read/write paths outside the project root directory.
1304
+ * When true, tools can access any path on the filesystem.
1305
+ * When false or undefined, tools are restricted to the project root.
1306
+ */
1307
+ allowOutsideProjectRoot?: boolean | undefined;
1286
1308
  }
1287
1309
  /**
1288
1310
  * L1-A: `Context` is the live agent-run object. Its read-only environment
@@ -1322,6 +1344,17 @@ declare class Context implements RunEnv {
1322
1344
  agentId: string;
1323
1345
  /** Human-readable agent name. */
1324
1346
  agentName: string;
1347
+ /**
1348
+ * Session-level trace ID for correlating storage events with agent
1349
+ * iterations. Stored here and also propagated to `session.traceId`
1350
+ * so storage operations can include it in `storage.*` events.
1351
+ */
1352
+ traceId: string | undefined;
1353
+ /**
1354
+ * When true, tools can access any path on the filesystem.
1355
+ * When false or undefined, tools are restricted to the project root.
1356
+ */
1357
+ allowOutsideProjectRoot: boolean;
1325
1358
  /** Callbacks fired when `setWorkingDir()` changes the working directory. */
1326
1359
  private _onWorkingDirChanged;
1327
1360
  /**