@theokit/sdk 4.62.0 → 4.63.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 (114) hide show
  1. package/CHANGELOG.md +66 -0
  2. package/dist/{agent-NVBFTY5H.js → agent-536OOESZ.js} +8 -6
  3. package/dist/{agent-NVBFTY5H.js.map → agent-536OOESZ.js.map} +1 -1
  4. package/dist/{agent-VYPUO4UB.cjs → agent-5KYMG63I.cjs} +9 -7
  5. package/dist/{agent-VYPUO4UB.cjs.map → agent-5KYMG63I.cjs.map} +1 -1
  6. package/dist/{agent-DIu6FooJ.d.ts → agent-BFno7Sfn.d.ts} +36 -21
  7. package/dist/{agent-D3Xr_-6Z.d.cts → agent-X0DKA943.d.cts} +36 -21
  8. package/dist/chunk-A4RAL2ER.cjs +51 -0
  9. package/dist/chunk-A4RAL2ER.cjs.map +1 -0
  10. package/dist/chunk-A4VHSE56.cjs +21 -0
  11. package/dist/chunk-A4VHSE56.cjs.map +1 -0
  12. package/dist/{chunk-CQ2TQ32Y.js → chunk-AMFXSENK.js} +3 -48
  13. package/dist/chunk-AMFXSENK.js.map +1 -0
  14. package/dist/chunk-C7QPML3L.js +831 -0
  15. package/dist/chunk-C7QPML3L.js.map +1 -0
  16. package/dist/{chunk-CWHTMNNK.cjs → chunk-CASUEY42.cjs} +4 -4
  17. package/dist/{chunk-CWHTMNNK.cjs.map → chunk-CASUEY42.cjs.map} +1 -1
  18. package/dist/{chunk-SKOCYA55.js → chunk-CHKH5452.js} +37 -50
  19. package/dist/chunk-CHKH5452.js.map +1 -0
  20. package/dist/chunk-EHJEZAOO.cjs +864 -0
  21. package/dist/chunk-EHJEZAOO.cjs.map +1 -0
  22. package/dist/chunk-IRCJ7EHV.cjs +201 -0
  23. package/dist/chunk-IRCJ7EHV.cjs.map +1 -0
  24. package/dist/chunk-LW7G5DYW.js +19 -0
  25. package/dist/chunk-LW7G5DYW.js.map +1 -0
  26. package/dist/{chunk-IBYRA5PM.js → chunk-MG3SOM3M.js} +3 -3
  27. package/dist/{chunk-IBYRA5PM.js.map → chunk-MG3SOM3M.js.map} +1 -1
  28. package/dist/{chunk-AH6WD7JR.cjs → chunk-NLXOGBRJ.cjs} +45 -58
  29. package/dist/chunk-NLXOGBRJ.cjs.map +1 -0
  30. package/dist/{chunk-SKXBJ2NU.cjs → chunk-NXH4GPAQ.cjs} +2 -49
  31. package/dist/chunk-NXH4GPAQ.cjs.map +1 -0
  32. package/dist/chunk-R6TA2DRJ.js +194 -0
  33. package/dist/chunk-R6TA2DRJ.js.map +1 -0
  34. package/dist/{chunk-6OBIWHDR.cjs → chunk-UUP3MUZ6.cjs} +20 -361
  35. package/dist/chunk-UUP3MUZ6.cjs.map +1 -0
  36. package/dist/chunk-WE22OXQA.js +48 -0
  37. package/dist/chunk-WE22OXQA.js.map +1 -0
  38. package/dist/{chunk-QEKI3YKI.js → chunk-YTR3RBUZ.js} +13 -348
  39. package/dist/chunk-YTR3RBUZ.js.map +1 -0
  40. package/dist/{cron-BcWmzWzT.d.cts → cron-BuiRPrvt.d.cts} +1 -1
  41. package/dist/{cron-De6hzWCF.d.ts → cron-C2SIi31n.d.ts} +1 -1
  42. package/dist/cron.cjs +8 -6
  43. package/dist/cron.d.cts +2 -2
  44. package/dist/cron.d.ts +2 -2
  45. package/dist/cron.js +7 -5
  46. package/dist/eval.cjs +7 -5
  47. package/dist/eval.cjs.map +1 -1
  48. package/dist/eval.js +6 -4
  49. package/dist/eval.js.map +1 -1
  50. package/dist/{index-manager-RHPFVFSC.cjs → index-manager-6TEEIWM7.cjs} +7 -6
  51. package/dist/{index-manager-RHPFVFSC.cjs.map → index-manager-6TEEIWM7.cjs.map} +1 -1
  52. package/dist/{index-manager-AHAYJ33H.js → index-manager-ACEQG3IJ.js} +6 -5
  53. package/dist/{index-manager-AHAYJ33H.js.map → index-manager-ACEQG3IJ.js.map} +1 -1
  54. package/dist/index.cjs +35 -208
  55. package/dist/index.cjs.map +1 -1
  56. package/dist/index.d.cts +8 -3
  57. package/dist/index.d.ts +8 -3
  58. package/dist/index.js +22 -195
  59. package/dist/index.js.map +1 -1
  60. package/dist/internal/memory/active-memory.d.ts +8 -1
  61. package/dist/internal/memory/dreaming/diary.d.ts +39 -2
  62. package/dist/internal/memory/index-db.d.ts +44 -1
  63. package/dist/internal/memory/index-manager-contract.d.ts +10 -0
  64. package/dist/internal/memory/index-manager-helpers.d.ts +20 -1
  65. package/dist/internal/memory/index-manager.d.ts +1 -1
  66. package/dist/internal/memory/lance-index.d.ts +15 -1
  67. package/dist/internal/memory/migrate-sqlite-to-lance.d.ts +43 -0
  68. package/dist/internal/memory/storage/index.cjs +95 -12
  69. package/dist/internal/memory/storage/index.d.cts +11 -1
  70. package/dist/internal/memory/storage/index.d.ts +11 -1
  71. package/dist/internal/memory/storage/index.js +4 -1
  72. package/dist/internal/memory/storage/markdown-store.d.cts +13 -42
  73. package/dist/internal/memory/storage/markdown-store.d.ts +13 -42
  74. package/dist/internal/memory/storage/memory-root.d.cts +93 -0
  75. package/dist/internal/memory/storage/memory-root.d.ts +93 -0
  76. package/dist/internal/memory/storage/session-loader.d.cts +35 -1
  77. package/dist/internal/memory/storage/session-loader.d.ts +35 -1
  78. package/dist/internal/memory/storage/session-summary-writer.d.cts +50 -2
  79. package/dist/internal/memory/storage/session-summary-writer.d.ts +50 -2
  80. package/dist/internal/memory/storage/transcript-store.d.cts +38 -1
  81. package/dist/internal/memory/storage/transcript-store.d.ts +38 -1
  82. package/dist/internal/memory/storage/wiki-loader.d.cts +27 -2
  83. package/dist/internal/memory/storage/wiki-loader.d.ts +27 -2
  84. package/dist/internal/memory/tools.d.ts +8 -1
  85. package/dist/internal/memory/types.d.ts +5 -0
  86. package/dist/internal/persistence/index.cjs +12 -11
  87. package/dist/internal/persistence/index.cjs.map +1 -1
  88. package/dist/internal/persistence/index.js +2 -1
  89. package/dist/internal/persistence/index.js.map +1 -1
  90. package/dist/internal/persistence/session-dir.d.cts +0 -15
  91. package/dist/internal/persistence/session-dir.d.ts +0 -15
  92. package/dist/internal/runtime/memory/memory-store.d.ts +2 -2
  93. package/dist/persistence.cjs +9 -8
  94. package/dist/persistence.cjs.map +1 -1
  95. package/dist/persistence.js +2 -1
  96. package/dist/persistence.js.map +1 -1
  97. package/dist/subagents-loader.d.cts +1 -1
  98. package/dist/subagents-loader.d.ts +1 -1
  99. package/dist/types/agent.d.ts +11 -0
  100. package/dist/types/memory-provider.d.ts +8 -0
  101. package/docs/error-codes.md +10 -9
  102. package/docs/harness-capability-map.md +57 -17
  103. package/docs/memory-decisions.md +44 -7
  104. package/package.json +1 -1
  105. package/dist/chunk-2UCFUSPW.cjs +0 -468
  106. package/dist/chunk-2UCFUSPW.cjs.map +0 -1
  107. package/dist/chunk-6OBIWHDR.cjs.map +0 -1
  108. package/dist/chunk-AH6WD7JR.cjs.map +0 -1
  109. package/dist/chunk-CQ2TQ32Y.js.map +0 -1
  110. package/dist/chunk-QEKI3YKI.js.map +0 -1
  111. package/dist/chunk-SKOCYA55.js.map +0 -1
  112. package/dist/chunk-SKXBJ2NU.cjs.map +0 -1
  113. package/dist/chunk-WCLDJSMY.js +0 -456
  114. package/dist/chunk-WCLDJSMY.js.map +0 -1
package/dist/index.d.cts CHANGED
@@ -1,14 +1,14 @@
1
1
  import { T as TheokitAgentError, B as BudgetOptions, a as BudgetHandle, b as BudgetSnapshot, E as ErrorMetadata } from './errors-BgJH9PHi.cjs';
2
2
  export { A as AgentDisposedError, c as AgentRunError, d as AgentRunErrorCode, e as AuthenticationError, f as BudgetExceedEvent, g as BudgetExceededError, h as BudgetLimit, i as BudgetMode, j as BudgetScope, k as BudgetThresholdEvent, l as BudgetWindow, C as ConfigurationError, m as ErrorCode, I as IntegrationNotConnectedError, n as InvalidTaskIdError, M as MemoryAdapterError, o as MemoryAdapterErrorCode, N as NetworkError, R as RateLimitError, p as TaskNotFoundError, U as UnknownAgentError, q as UnsupportedBudgetOperationError, r as UnsupportedRunOperationError, s as UnsupportedTaskOperationError, t as isTransientError } from './errors-BgJH9PHi.cjs';
3
- import { A as AgentOptions, L as LocalOptions, S as SystemPromptResolver, C as CloudOptions, M as MemorySettings, a as AgentDefinition, b as SkillsSettings, c as ListAgentsOptions, d as ListResult, e as SDKAgentInfo, G as GetAgentOptions, f as ListRunsOptions, g as GetRunOptions, h as AgentOperationOptions, i as AgentDescription, P as Plugin$1, j as ProviderProfile, I as InlineSkill, B as BudgetTracker, k as MemoryProvider, l as PreToolCallDecision } from './agent-D3Xr_-6Z.cjs';
4
- export { m as ActiveMemoryPassArgs, n as ActiveMemoryPassResult, o as AgentSubagentDescription, p as AgentToolDescription, q as BudgetCheck, r as BudgetTotal, s as BudgetUsageEvent, t as BuiltinToolName, u as CloudEnv, v as CloudRepo, w as CreateSkillSpec, H as HookName, x as MemoryProviderFactory, y as MemoryProviderHandle, z as MemoryProviderInitOptions, D as PluginContext, E as PostAssistantReplyContext, F as PostToolCallContext, J as PreToolCallContext, K as PreUserSendContext, N as PreUserSendResult, O as ProviderTransform, Q as ProviderTransformContext, R as RecordSessionSummaryArgs, T as SessionLifecycleContext, U as SessionRecord, V as SessionStore, W as SettingSource, X as Skill, Y as SkillsResolver, Z as SkillsResolverContext, _ as SystemPromptContext, $ as SystemPromptMemoryFact, a0 as TelemetrySettings, a1 as ToolCallSummary, a2 as ToolResultTransformContext, a3 as TransformContext } from './agent-D3Xr_-6Z.cjs';
3
+ import { A as AgentOptions, L as LocalOptions, S as SystemPromptResolver, C as CloudOptions, M as MemorySettings, a as AgentDefinition, b as SkillsSettings, c as ListAgentsOptions, d as ListResult, e as SDKAgentInfo, G as GetAgentOptions, f as ListRunsOptions, g as GetRunOptions, h as AgentOperationOptions, i as AgentDescription, P as Plugin$1, j as ProviderProfile, I as InlineSkill, B as BudgetTracker, k as MemoryProvider, l as PreToolCallDecision } from './agent-X0DKA943.cjs';
4
+ export { m as ActiveMemoryPassArgs, n as ActiveMemoryPassResult, o as AgentSubagentDescription, p as AgentToolDescription, q as BudgetCheck, r as BudgetTotal, s as BudgetUsageEvent, t as BuiltinToolName, u as CloudEnv, v as CloudRepo, w as CreateSkillSpec, H as HookName, x as MemoryProviderFactory, y as MemoryProviderHandle, z as MemoryProviderInitOptions, D as PluginContext, E as PostAssistantReplyContext, F as PostToolCallContext, J as PreToolCallContext, K as PreUserSendContext, N as PreUserSendResult, O as ProviderTransform, Q as ProviderTransformContext, R as RecordSessionSummaryArgs, T as SessionLifecycleContext, U as SessionRecord, V as SessionStore, W as SettingSource, X as Skill, Y as SkillsResolver, Z as SkillsResolverContext, _ as SystemPromptContext, $ as SystemPromptMemoryFact, a0 as TelemetrySettings, a1 as ToolCallSummary, a2 as ToolResultTransformContext, a3 as TransformContext } from './agent-X0DKA943.cjs';
5
5
  import { k as CostBreakdown, aw as TokenUsage, R as RunResult, M as ModelSelection, C as CustomTool, a as McpServerConfig, T as ToolResultContentBlock, b as Run, P as Processor, c as PermissionMode, d as PermissionEngine, e as RunEventSink, S as SDKMessage } from './run-BYSHf58D.cjs';
6
6
  export { A as AgentConversationTurn, f as AssistantMessage, g as CompletionCheck, h as CompletionCheckResult, i as ConversationStep, j as ConversationTurn, k as CostBreakdown, l as CostSource, m as CostStatus, D as DoomLoopThresholds, G as GenerateOptions, n as GenerateRunResult, I as ImageBlock, o as InputProcessorContext, p as InteractionUpdate, q as McpAuthConfig, r as McpHttpServerConfig, s as McpOAuthConfig, t as McpStdioServerConfig, u as MessageOrigin, v as ModelParameterValue, O as OutputProcessorContext, w as PartialToolCallUpdate, x as PermissionAction, y as PermissionEngineOptions, z as PermissionRule, B as ProcessorControls, E as ProcessorTripwire, F as ProcessorViolation, H as RunCompactBoundaryEvent, J as RunCompletionCheckEvent, K as RunErrorDetail, L as RunEvent, N as RunGitInfo, Q as RunOperation, U as RunPermissionDeniedEvent, V as RunRateLimitEvent, W as RunStatus, X as RunTaskCompletedEvent, Y as RunTaskStartedEvent, Z as RunTaskUpdatedEvent, _ as RunTimelineEvent, $ as RunToCompletionOptions, a0 as RunToCompletionResult, a1 as RunToolProgressEvent, a2 as RunTripwireEvent, a3 as SDKAssistantMessage, a4 as SDKImage, a5 as SDKImageDimension, a6 as SDKObjectDelta, a7 as SDKRequestMessage, a8 as SDKStatusMessage, a9 as SDKSystemMessage, aa as SDKTaskMessage, ab as SDKThinkingMessage, ac as SDKToolUseMessage, ad as SDKUserMessage, ae as SDKUserMessageEvent, af as SendOptions, ag as ShellCommand, ah as ShellConversationTurn, ai as ShellOutput, aj as ShellOutputDeltaUpdate, ak as StepCompletedUpdate, al as StepStartedUpdate, am as StreamToCompletionResult, an as SummaryCompletedUpdate, ao as SummaryStartedUpdate, ap as SummaryUpdate, aq as TextBlock, ar as TextDeltaUpdate, as as ThinkingCompletedUpdate, at as ThinkingDeltaUpdate, au as ThinkingMessage, av as TokenDeltaUpdate, aw as TokenUsage, ax as ToolCall, ay as ToolCallCompletedUpdate, az as ToolCallStartedUpdate, aA as ToolContextMessage, aB as ToolResult, aC as ToolResultGuardOptions, aD as ToolUseBlock, aE as TurnEndedUpdate, aF as UserMessage, aG as UserMessageAppendedUpdate, aH as applyMode, aI as emitRunEvent } from './run-BYSHf58D.cjs';
7
7
  import * as zod from 'zod';
8
8
  import { ZodType, z } from 'zod';
9
9
  import { P as ProviderRoutingSettings, S as SDKAgent, C as ContextSettings, a as PluginsSettings, J as JudgeResult, G as GoalOptions, b as GoalEvent, c as GoalResult, M as MemoryId, d as SDKProvider } from './sdk-agent-DEoKhA8a.cjs';
10
10
  export { A as AgentMemory, e as ContextBudget, f as ContextManagerKind, g as ContextSnapshot, h as ContextSource, i as ContextSourceStatus, I as InvalidateCacheOptions, j as MemoryAdapter, k as MemoryAdapterCapabilities, l as MemoryContext, m as MemoryFact, n as MemoryRevision, o as MemoryToolSchema, p as MemoryTurnMessage, q as PersonalityPreset, r as ProviderCapability, s as ProviderRoute, R as ResolvedProviderRoute, t as RunUntilIterator, u as SDKAgentPlugins, v as SDKAgentSkillDetail, w as SDKAgentSkills, x as SDKArtifact, y as SDKContextManager, z as SDKPluginMetadata, B as SDKProvidersManager, D as SystemPromptSkillRef, V as Verdict } from './sdk-agent-DEoKhA8a.cjs';
11
- export { C as Cron, a as CronCreateOptions, b as CronGetOptions, c as CronJob, d as CronJobStatus, e as CronListOptions, f as CronOperationOptions, g as CronRunOptions, h as CronRuntime, i as CronSchedulerStatus, j as CronStartOptions } from './cron-BcWmzWzT.cjs';
11
+ export { C as Cron, a as CronCreateOptions, b as CronGetOptions, c as CronJob, d as CronJobStatus, e as CronListOptions, f as CronOperationOptions, g as CronRunOptions, h as CronRuntime, i as CronSchedulerStatus, j as CronStartOptions } from './cron-BuiRPrvt.cjs';
12
12
  import { StepResult } from './workflow.cjs';
13
13
  export { Workflow, agentStep, fn } from './workflow.cjs';
14
14
 
@@ -2325,6 +2325,11 @@ interface MemoryIndexHandle {
2325
2325
  interface DreamingSweepOptions {
2326
2326
  /** Workspace cwd holding `.theokit/memory/`. */
2327
2327
  cwd: string;
2328
+ /**
2329
+ * Absolute path (or `~/`-prefixed) of the memory root to sweep, when the agent that wrote it set
2330
+ * `memory.directory`. Defaults to `<cwd>/.theokit/memory`.
2331
+ */
2332
+ directory?: string;
2328
2333
  /**
2329
2334
  * Embedding provider for semantic dedup + clustering. Required — dreaming
2330
2335
  * relies on real embeddings to score cosine similarity. Supported providers:
package/dist/index.d.ts CHANGED
@@ -1,14 +1,14 @@
1
1
  import { T as TheokitAgentError, B as BudgetOptions, a as BudgetHandle, b as BudgetSnapshot, E as ErrorMetadata } from './errors-C5fJUqLk.js';
2
2
  export { A as AgentDisposedError, c as AgentRunError, d as AgentRunErrorCode, e as AuthenticationError, f as BudgetExceedEvent, g as BudgetExceededError, h as BudgetLimit, i as BudgetMode, j as BudgetScope, k as BudgetThresholdEvent, l as BudgetWindow, C as ConfigurationError, m as ErrorCode, I as IntegrationNotConnectedError, n as InvalidTaskIdError, M as MemoryAdapterError, o as MemoryAdapterErrorCode, N as NetworkError, R as RateLimitError, p as TaskNotFoundError, U as UnknownAgentError, q as UnsupportedBudgetOperationError, r as UnsupportedRunOperationError, s as UnsupportedTaskOperationError, t as isTransientError } from './errors-C5fJUqLk.js';
3
- import { A as AgentOptions, L as LocalOptions, S as SystemPromptResolver, C as CloudOptions, M as MemorySettings, a as AgentDefinition, b as SkillsSettings, c as ListAgentsOptions, d as ListResult, e as SDKAgentInfo, G as GetAgentOptions, f as ListRunsOptions, g as GetRunOptions, h as AgentOperationOptions, i as AgentDescription, P as Plugin$1, j as ProviderProfile, I as InlineSkill, B as BudgetTracker, k as MemoryProvider, l as PreToolCallDecision } from './agent-DIu6FooJ.js';
4
- export { m as ActiveMemoryPassArgs, n as ActiveMemoryPassResult, o as AgentSubagentDescription, p as AgentToolDescription, q as BudgetCheck, r as BudgetTotal, s as BudgetUsageEvent, t as BuiltinToolName, u as CloudEnv, v as CloudRepo, w as CreateSkillSpec, H as HookName, x as MemoryProviderFactory, y as MemoryProviderHandle, z as MemoryProviderInitOptions, D as PluginContext, E as PostAssistantReplyContext, F as PostToolCallContext, J as PreToolCallContext, K as PreUserSendContext, N as PreUserSendResult, O as ProviderTransform, Q as ProviderTransformContext, R as RecordSessionSummaryArgs, T as SessionLifecycleContext, U as SessionRecord, V as SessionStore, W as SettingSource, X as Skill, Y as SkillsResolver, Z as SkillsResolverContext, _ as SystemPromptContext, $ as SystemPromptMemoryFact, a0 as TelemetrySettings, a1 as ToolCallSummary, a2 as ToolResultTransformContext, a3 as TransformContext } from './agent-DIu6FooJ.js';
3
+ import { A as AgentOptions, L as LocalOptions, S as SystemPromptResolver, C as CloudOptions, M as MemorySettings, a as AgentDefinition, b as SkillsSettings, c as ListAgentsOptions, d as ListResult, e as SDKAgentInfo, G as GetAgentOptions, f as ListRunsOptions, g as GetRunOptions, h as AgentOperationOptions, i as AgentDescription, P as Plugin$1, j as ProviderProfile, I as InlineSkill, B as BudgetTracker, k as MemoryProvider, l as PreToolCallDecision } from './agent-BFno7Sfn.js';
4
+ export { m as ActiveMemoryPassArgs, n as ActiveMemoryPassResult, o as AgentSubagentDescription, p as AgentToolDescription, q as BudgetCheck, r as BudgetTotal, s as BudgetUsageEvent, t as BuiltinToolName, u as CloudEnv, v as CloudRepo, w as CreateSkillSpec, H as HookName, x as MemoryProviderFactory, y as MemoryProviderHandle, z as MemoryProviderInitOptions, D as PluginContext, E as PostAssistantReplyContext, F as PostToolCallContext, J as PreToolCallContext, K as PreUserSendContext, N as PreUserSendResult, O as ProviderTransform, Q as ProviderTransformContext, R as RecordSessionSummaryArgs, T as SessionLifecycleContext, U as SessionRecord, V as SessionStore, W as SettingSource, X as Skill, Y as SkillsResolver, Z as SkillsResolverContext, _ as SystemPromptContext, $ as SystemPromptMemoryFact, a0 as TelemetrySettings, a1 as ToolCallSummary, a2 as ToolResultTransformContext, a3 as TransformContext } from './agent-BFno7Sfn.js';
5
5
  import { k as CostBreakdown, aw as TokenUsage, R as RunResult, M as ModelSelection, C as CustomTool, a as McpServerConfig, T as ToolResultContentBlock, b as Run, P as Processor, c as PermissionMode, d as PermissionEngine, e as RunEventSink, S as SDKMessage } from './run-BYSHf58D.js';
6
6
  export { A as AgentConversationTurn, f as AssistantMessage, g as CompletionCheck, h as CompletionCheckResult, i as ConversationStep, j as ConversationTurn, k as CostBreakdown, l as CostSource, m as CostStatus, D as DoomLoopThresholds, G as GenerateOptions, n as GenerateRunResult, I as ImageBlock, o as InputProcessorContext, p as InteractionUpdate, q as McpAuthConfig, r as McpHttpServerConfig, s as McpOAuthConfig, t as McpStdioServerConfig, u as MessageOrigin, v as ModelParameterValue, O as OutputProcessorContext, w as PartialToolCallUpdate, x as PermissionAction, y as PermissionEngineOptions, z as PermissionRule, B as ProcessorControls, E as ProcessorTripwire, F as ProcessorViolation, H as RunCompactBoundaryEvent, J as RunCompletionCheckEvent, K as RunErrorDetail, L as RunEvent, N as RunGitInfo, Q as RunOperation, U as RunPermissionDeniedEvent, V as RunRateLimitEvent, W as RunStatus, X as RunTaskCompletedEvent, Y as RunTaskStartedEvent, Z as RunTaskUpdatedEvent, _ as RunTimelineEvent, $ as RunToCompletionOptions, a0 as RunToCompletionResult, a1 as RunToolProgressEvent, a2 as RunTripwireEvent, a3 as SDKAssistantMessage, a4 as SDKImage, a5 as SDKImageDimension, a6 as SDKObjectDelta, a7 as SDKRequestMessage, a8 as SDKStatusMessage, a9 as SDKSystemMessage, aa as SDKTaskMessage, ab as SDKThinkingMessage, ac as SDKToolUseMessage, ad as SDKUserMessage, ae as SDKUserMessageEvent, af as SendOptions, ag as ShellCommand, ah as ShellConversationTurn, ai as ShellOutput, aj as ShellOutputDeltaUpdate, ak as StepCompletedUpdate, al as StepStartedUpdate, am as StreamToCompletionResult, an as SummaryCompletedUpdate, ao as SummaryStartedUpdate, ap as SummaryUpdate, aq as TextBlock, ar as TextDeltaUpdate, as as ThinkingCompletedUpdate, at as ThinkingDeltaUpdate, au as ThinkingMessage, av as TokenDeltaUpdate, aw as TokenUsage, ax as ToolCall, ay as ToolCallCompletedUpdate, az as ToolCallStartedUpdate, aA as ToolContextMessage, aB as ToolResult, aC as ToolResultGuardOptions, aD as ToolUseBlock, aE as TurnEndedUpdate, aF as UserMessage, aG as UserMessageAppendedUpdate, aH as applyMode, aI as emitRunEvent } from './run-BYSHf58D.js';
7
7
  import * as zod from 'zod';
8
8
  import { ZodType, z } from 'zod';
9
9
  import { P as ProviderRoutingSettings, S as SDKAgent, C as ContextSettings, a as PluginsSettings, J as JudgeResult, G as GoalOptions, b as GoalEvent, c as GoalResult, M as MemoryId, d as SDKProvider } from './sdk-agent-D8qJVkuV.js';
10
10
  export { A as AgentMemory, e as ContextBudget, f as ContextManagerKind, g as ContextSnapshot, h as ContextSource, i as ContextSourceStatus, I as InvalidateCacheOptions, j as MemoryAdapter, k as MemoryAdapterCapabilities, l as MemoryContext, m as MemoryFact, n as MemoryRevision, o as MemoryToolSchema, p as MemoryTurnMessage, q as PersonalityPreset, r as ProviderCapability, s as ProviderRoute, R as ResolvedProviderRoute, t as RunUntilIterator, u as SDKAgentPlugins, v as SDKAgentSkillDetail, w as SDKAgentSkills, x as SDKArtifact, y as SDKContextManager, z as SDKPluginMetadata, B as SDKProvidersManager, D as SystemPromptSkillRef, V as Verdict } from './sdk-agent-D8qJVkuV.js';
11
- export { C as Cron, a as CronCreateOptions, b as CronGetOptions, c as CronJob, d as CronJobStatus, e as CronListOptions, f as CronOperationOptions, g as CronRunOptions, h as CronRuntime, i as CronSchedulerStatus, j as CronStartOptions } from './cron-De6hzWCF.js';
11
+ export { C as Cron, a as CronCreateOptions, b as CronGetOptions, c as CronJob, d as CronJobStatus, e as CronListOptions, f as CronOperationOptions, g as CronRunOptions, h as CronRuntime, i as CronSchedulerStatus, j as CronStartOptions } from './cron-C2SIi31n.js';
12
12
  import { StepResult } from './workflow.js';
13
13
  export { Workflow, agentStep, fn } from './workflow.js';
14
14
 
@@ -2325,6 +2325,11 @@ interface MemoryIndexHandle {
2325
2325
  interface DreamingSweepOptions {
2326
2326
  /** Workspace cwd holding `.theokit/memory/`. */
2327
2327
  cwd: string;
2328
+ /**
2329
+ * Absolute path (or `~/`-prefixed) of the memory root to sweep, when the agent that wrote it set
2330
+ * `memory.directory`. Defaults to `<cwd>/.theokit/memory`.
2331
+ */
2332
+ directory?: string;
2328
2333
  /**
2329
2334
  * Embedding provider for semantic dedup + clustering. Required — dreaming
2330
2335
  * relies on real embeddings to score cosine similarity. Supported providers:
package/dist/index.js CHANGED
@@ -1,25 +1,27 @@
1
1
  export { StreamObjectError } from './chunk-WKRSH2VR.js';
2
2
  export { GOAL_CONTINUATION_MARKER } from './chunk-PY2RQOA7.js';
3
3
  export { JudgeCredentialError } from './chunk-T73NA43R.js';
4
+ import { migrateSqliteToLance, appendDiaryEntry } from './chunk-R6TA2DRJ.js';
4
5
  export { GenerateObjectError } from './chunk-QRSUA2CV.js';
5
6
  import './chunk-AEOZTXVW.js';
6
7
  import { Workflow, agentStep } from './chunk-FUL2I7G5.js';
7
8
  export { Workflow, agentStep, fn } from './chunk-FUL2I7G5.js';
8
9
  import './chunk-AQLGBKNT.js';
9
10
  import './chunk-HY66GLM6.js';
10
- export { Cron } from './chunk-IBYRA5PM.js';
11
- import { MEMORY_EMBEDDING_ADAPTERS, DEFAULT_AGENTIC_MODEL_ID, Agent } from './chunk-SKOCYA55.js';
12
- export { Agent, AgentBuilder, Tool, ToolError, UsageAccumulator, computeCost, getPricingEntry } from './chunk-SKOCYA55.js';
11
+ export { Cron } from './chunk-MG3SOM3M.js';
12
+ import { MEMORY_EMBEDDING_ADAPTERS, DEFAULT_AGENTIC_MODEL_ID, Agent } from './chunk-CHKH5452.js';
13
+ export { Agent, AgentBuilder, Tool, ToolError, UsageAccumulator, computeCost, getPricingEntry } from './chunk-CHKH5452.js';
13
14
  import { configure, submit, list, get, cancel, subscribe } from './chunk-SUKXXLWD.js';
14
15
  export { emitRunEvent } from './chunk-SUKXXLWD.js';
15
16
  import './chunk-YEXA3PGR.js';
16
17
  import './chunk-K2BQQ445.js';
17
- import { lanceStoragePath, LanceIndex, defaultIndexPath, openMemoryDb } from './chunk-QEKI3YKI.js';
18
+ import './chunk-YTR3RBUZ.js';
18
19
  import './chunk-MZ2FGBLZ.js';
19
20
  import './chunk-2SFBB54R.js';
20
21
  import './chunk-XN7NOENA.js';
21
22
  import './chunk-H73MEMQB.js';
22
- import { readFactsFromMarkdown, memoryDir } from './chunk-WCLDJSMY.js';
23
+ import './chunk-LW7G5DYW.js';
24
+ import { resolveMemoryRoot, readFactsFromMarkdown } from './chunk-C7QPML3L.js';
23
25
  import './chunk-YJDH3CKG.js';
24
26
  import { discoverProviderPlugins, shouldUseFixtureMode, isFixtureApiKey, httpRequest, mapOllamaTransportError, readErrorResponseBody, mapOllamaHttpError } from './chunk-YXGAW7BB.js';
25
27
  import './chunk-3E77SX4H.js';
@@ -45,7 +47,8 @@ import './chunk-UC3HT2S4.js';
45
47
  import './chunk-OC4NTGMN.js';
46
48
  import './chunk-44JAAH4X.js';
47
49
  import './chunk-FKMUFNQE.js';
48
- import './chunk-CQ2TQ32Y.js';
50
+ import './chunk-WE22OXQA.js';
51
+ import './chunk-AMFXSENK.js';
49
52
  import './chunk-CV7XMBHP.js';
50
53
  import { withCwdMutex } from './chunk-Q5EWJPRY.js';
51
54
  export { withCwdMutex } from './chunk-Q5EWJPRY.js';
@@ -68,9 +71,8 @@ import { diag } from './chunk-T7O6K6PX.js';
68
71
  export { setDiagnosticsSink } from './chunk-T7O6K6PX.js';
69
72
  import { createHash, randomUUID } from 'crypto';
70
73
  import { z } from 'zod';
71
- import { mkdir, readFile } from 'fs/promises';
74
+ import { mkdir } from 'fs/promises';
72
75
  import { join } from 'path';
73
- import { existsSync, rmSync, mkdirSync, renameSync } from 'fs';
74
76
 
75
77
  // src/agent-factory.ts
76
78
  function createAgentFactory(common) {
@@ -1023,47 +1025,6 @@ function foldLayers(entries, accumulatingKeys = []) {
1023
1025
  }
1024
1026
  return combined;
1025
1027
  }
1026
- function diaryPath(cwd) {
1027
- return join(memoryDir(cwd), "dream-diary.md");
1028
- }
1029
- function renderDiaryEntry(entry) {
1030
- const stamp = new Date(entry.timestampMs).toISOString();
1031
- const hash = entryHash(entry).slice(0, 8);
1032
- return [
1033
- `## ${stamp}`,
1034
- "",
1035
- `- entry-hash: ${hash}`,
1036
- `- facts before: ${entry.factsBefore}`,
1037
- `- facts after: ${entry.factsAfter}`,
1038
- `- duplicates removed: ${entry.duplicatesRemoved}`,
1039
- `- clusters created: ${entry.clustersCreated}`,
1040
- `- notes written: ${entry.notesWritten}`,
1041
- ""
1042
- ].join("\n");
1043
- }
1044
- async function appendDiaryEntry(cwd, entry) {
1045
- const path = diaryPath(cwd);
1046
- let raw = "";
1047
- try {
1048
- raw = await readFile(path, "utf8");
1049
- } catch {
1050
- raw = "# Dream Diary\n\n";
1051
- }
1052
- const next = `${raw.endsWith("\n") ? raw : `${raw}
1053
- `}${renderDiaryEntry(entry)}`;
1054
- await replaceFileAtomic(path, next);
1055
- }
1056
- function entryHash(entry) {
1057
- return createHash("sha256").update(
1058
- [
1059
- entry.factsBefore,
1060
- entry.factsAfter,
1061
- entry.duplicatesRemoved,
1062
- entry.clustersCreated,
1063
- entry.notesWritten
1064
- ].join("|")
1065
- ).digest("hex");
1066
- }
1067
1028
 
1068
1029
  // src/internal/memory/dreaming/phases.ts
1069
1030
  var DEFAULT_DEDUP_THRESHOLD = 0.95;
@@ -1204,13 +1165,17 @@ async function runInner(options) {
1204
1165
  const now = options.now ?? Date.now;
1205
1166
  const timestampMs = now();
1206
1167
  try {
1207
- const facts = await readFactsFromMarkdown(options.cwd);
1168
+ const root = options.memoryRoot ?? resolveMemoryRoot(options.cwd);
1169
+ const facts = await readFactsFromMarkdown(
1170
+ options.cwd,
1171
+ options.memoryRoot ? { directory: options.memoryRoot } : void 0
1172
+ );
1208
1173
  if (facts.length === 0) {
1209
1174
  return emptyResult("skipped");
1210
1175
  }
1211
1176
  const dedup = await lightPhase(facts, options.embedding, options.dedupThreshold);
1212
1177
  const rem = await remPhase(dedup.kept, options.embedding, options.clusterThreshold);
1213
- const notesWritten = await writeConsolidatedNotes(options.cwd, rem.clusters, timestampMs);
1178
+ const notesWritten = await writeConsolidatedNotes(root, rem.clusters, timestampMs);
1214
1179
  const result = {
1215
1180
  status: "ok",
1216
1181
  factsBefore: facts.length,
@@ -1220,7 +1185,7 @@ async function runInner(options) {
1220
1185
  notesWritten,
1221
1186
  diaryEntryHash: void 0
1222
1187
  };
1223
- await appendDiaryEntry(options.cwd, {
1188
+ await appendDiaryEntry(root, {
1224
1189
  timestampMs,
1225
1190
  factsBefore: result.factsBefore,
1226
1191
  factsAfter: result.factsAfter,
@@ -1236,9 +1201,9 @@ async function runInner(options) {
1236
1201
  return emptyResult("error");
1237
1202
  }
1238
1203
  }
1239
- async function writeConsolidatedNotes(cwd, clusters, timestampMs) {
1204
+ async function writeConsolidatedNotes(root, clusters, timestampMs) {
1240
1205
  if (clusters.length === 0) return 0;
1241
- const notesDir = join(memoryDir(cwd), "notes");
1206
+ const notesDir = join(root, "notes");
1242
1207
  await mkdir(notesDir, { recursive: true });
1243
1208
  const isoSlug = new Date(timestampMs).toISOString().replace(/[^\dT]/g, "-");
1244
1209
  const file = join(notesDir, `dreamed-${isoSlug}.md`);
@@ -1304,7 +1269,7 @@ var Memory = {
1304
1269
  openArgs.embedding = await resolveEmbedding(opts.embedding, peer.MEMORY_EMBEDDING_ADAPTERS);
1305
1270
  return await peer.IndexManager.open(openArgs);
1306
1271
  }
1307
- const { IndexManager } = await import('./index-manager-AHAYJ33H.js');
1272
+ const { IndexManager } = await import('./index-manager-ACEQG3IJ.js');
1308
1273
  openArgs.embedding = await resolveEmbedding(opts.embedding, MEMORY_EMBEDDING_ADAPTERS);
1309
1274
  return await IndexManager.open(openArgs);
1310
1275
  },
@@ -1350,6 +1315,7 @@ async function buildDreamingSweepArgs(opts, catalog) {
1350
1315
  const runtime = await resolveEmbedding(opts.embedding, catalog);
1351
1316
  return {
1352
1317
  cwd: opts.cwd,
1318
+ memoryRoot: resolveMemoryRoot(opts.cwd, { directory: opts.directory }),
1353
1319
  embedding: runtime,
1354
1320
  ...opts.dedupThreshold !== void 0 ? { dedupThreshold: opts.dedupThreshold } : {},
1355
1321
  ...opts.clusterThreshold !== void 0 ? { clusterThreshold: opts.clusterThreshold } : {}
@@ -1381,145 +1347,6 @@ function extractRawId(id, expectedAdapterId) {
1381
1347
  }
1382
1348
  return id.slice(prefix.length);
1383
1349
  }
1384
- async function readAllSqliteFacts(cwd) {
1385
- const dbPath = defaultIndexPath(cwd);
1386
- if (!existsSync(dbPath)) return [];
1387
- const db = await openMemoryDb({ filePath: dbPath });
1388
- try {
1389
- const stmt = db.prepare("SELECT id, path, source, start_line, end_line, text FROM chunks");
1390
- const rows = stmt.all();
1391
- return rows.map((r) => ({
1392
- ...r,
1393
- namespace: "default",
1394
- scope: "agent",
1395
- user_id: "default"
1396
- }));
1397
- } finally {
1398
- db.close();
1399
- }
1400
- }
1401
- function nfcEqual(a, b) {
1402
- return a.normalize("NFC") === b.normalize("NFC");
1403
- }
1404
- async function migrateSqliteToLance(opts) {
1405
- const cwd = opts.cwd;
1406
- const finalPath = lanceStoragePath(cwd);
1407
- const newPath = join(cwd, ".theokit", "memory", "lance-new");
1408
- const rawLog = opts.logger ?? ((m) => console.log(m));
1409
- const log = (m) => rawLog(redactSecrets(m));
1410
- if (existsSync(finalPath)) {
1411
- throw new ConfigurationError(
1412
- `Destination already exists: ${finalPath}. Remove it manually (\`rm -rf ${finalPath}\`) and re-run.`,
1413
- { code: "migration_destination_exists" }
1414
- );
1415
- }
1416
- if (existsSync(newPath)) {
1417
- log(`Removing stale ${newPath} from a previous run...`);
1418
- rmSync(newPath, { recursive: true, force: true });
1419
- }
1420
- log(`Reading SQLite facts from ${cwd}/.theokit/memory/index.sqlite ...`);
1421
- const sqliteFacts = await readAllSqliteFacts(cwd);
1422
- log(`SQLite has ${sqliteFacts.length} facts.`);
1423
- if (sqliteFacts.length === 0) {
1424
- return {
1425
- countSqlite: 0,
1426
- countLance: 0,
1427
- validated: true,
1428
- sampleComparisons: [],
1429
- lancePath: finalPath,
1430
- committed: false
1431
- };
1432
- }
1433
- const placeholderEmbedding = {
1434
- id: "migration-placeholder",
1435
- model: "deterministic-hash",
1436
- dimension: 8,
1437
- embed: async (texts) => {
1438
- return texts.map((t) => {
1439
- const arr = new Array(8).fill(0);
1440
- for (let i = 0; i < t.length; i += 1) {
1441
- arr[i % 8] += t.charCodeAt(i);
1442
- }
1443
- return arr.map((x) => x / 1e3);
1444
- });
1445
- },
1446
- stats: () => ({ cacheHits: 0, cacheMisses: 0, httpCalls: 0, retries: 0 })
1447
- };
1448
- mkdirSync(newPath, { recursive: true });
1449
- log(`Writing Lance index to ${newPath} ...`);
1450
- const lance = await LanceIndex.open({
1451
- cwd,
1452
- embedding: placeholderEmbedding,
1453
- storagePath: newPath
1454
- });
1455
- const batchSize = opts.batchSize ?? 100;
1456
- for (let i = 0; i < sqliteFacts.length; i += batchSize) {
1457
- const batch = sqliteFacts.slice(i, i + batchSize).map((f) => ({
1458
- id: f.id,
1459
- text: f.text,
1460
- source: f.source,
1461
- namespace: f.namespace ?? "default",
1462
- scope: f.scope ?? "agent",
1463
- user_id: f.user_id ?? "default",
1464
- timestamp: 0
1465
- }));
1466
- await lance.addFacts(batch);
1467
- log(` Migrated ${Math.min(i + batchSize, sqliteFacts.length)}/${sqliteFacts.length}`);
1468
- }
1469
- const lanceCount = await lance.countFacts("default");
1470
- log(`Lance has ${lanceCount} facts (expected ${sqliteFacts.length}).`);
1471
- const sampleSize = Math.min(10, sqliteFacts.length);
1472
- const sampleComparisons = [];
1473
- for (let i = 0; i < sampleSize; i += 1) {
1474
- const sqliteFact = sqliteFacts[Math.floor(i * sqliteFacts.length / sampleSize)];
1475
- if (sqliteFact === void 0) continue;
1476
- const hits = await lance.search(sqliteFact.text, {
1477
- namespace: sqliteFact.namespace ?? "default",
1478
- limit: 1
1479
- });
1480
- const hit = hits[0];
1481
- const match = hit !== void 0 && nfcEqual(hit.text, sqliteFact.text);
1482
- sampleComparisons.push({ id: sqliteFact.id, match });
1483
- }
1484
- const allMatch = sampleComparisons.every((c) => c.match);
1485
- const countMatch = lanceCount === sqliteFacts.length;
1486
- const validated = allMatch && countMatch;
1487
- await lance.close();
1488
- if (opts.dryRun === true) {
1489
- log("Dry-run mode \u2014 discarding Lance staging dir.");
1490
- rmSync(newPath, { recursive: true, force: true });
1491
- return {
1492
- countSqlite: sqliteFacts.length,
1493
- countLance: lanceCount,
1494
- validated,
1495
- sampleComparisons,
1496
- lancePath: finalPath,
1497
- committed: false
1498
- };
1499
- }
1500
- if (!validated) {
1501
- log("Validation FAILED \u2014 leaving SQLite intact, removing Lance staging dir.");
1502
- rmSync(newPath, { recursive: true, force: true });
1503
- return {
1504
- countSqlite: sqliteFacts.length,
1505
- countLance: lanceCount,
1506
- validated: false,
1507
- sampleComparisons,
1508
- lancePath: finalPath,
1509
- committed: false
1510
- };
1511
- }
1512
- renameSync(newPath, finalPath);
1513
- log(`Migration committed to ${finalPath}.`);
1514
- return {
1515
- countSqlite: sqliteFacts.length,
1516
- countLance: lanceCount,
1517
- validated: true,
1518
- sampleComparisons,
1519
- lancePath: finalPath,
1520
- committed: true
1521
- };
1522
- }
1523
1350
 
1524
1351
  // src/migrate.ts
1525
1352
  async function migrateSqliteToLance2(options) {
@@ -1878,7 +1705,7 @@ function isBuiltAgent(m) {
1878
1705
  return typeof m.send === "function";
1879
1706
  }
1880
1707
  async function materialize(def, index) {
1881
- const { Agent: Agent2 } = await import('./agent-NVBFTY5H.js');
1708
+ const { Agent: Agent2 } = await import('./agent-536OOESZ.js');
1882
1709
  return Agent2.create({
1883
1710
  // `AgentDefinition.model` admits the sentinel `'inherit'`, which is not a model id. Inheriting
1884
1711
  // here means "declare nothing and let the default apply" — forwarding the literal would create