@actalk/inkos-core 1.1.1 → 1.2.0-canary.24.2

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 (62) hide show
  1. package/LICENSE +661 -21
  2. package/dist/index.d.ts +12 -0
  3. package/dist/index.d.ts.map +1 -1
  4. package/dist/index.js +12 -0
  5. package/dist/index.js.map +1 -1
  6. package/dist/interaction/edit-controller.d.ts +55 -0
  7. package/dist/interaction/edit-controller.d.ts.map +1 -0
  8. package/dist/interaction/edit-controller.js +187 -0
  9. package/dist/interaction/edit-controller.js.map +1 -0
  10. package/dist/interaction/events.d.ts +45 -0
  11. package/dist/interaction/events.d.ts.map +1 -0
  12. package/dist/interaction/events.js +32 -0
  13. package/dist/interaction/events.js.map +1 -0
  14. package/dist/interaction/intents.d.ts +96 -0
  15. package/dist/interaction/intents.d.ts.map +1 -0
  16. package/dist/interaction/intents.js +58 -0
  17. package/dist/interaction/intents.js.map +1 -0
  18. package/dist/interaction/modes.d.ts +5 -0
  19. package/dist/interaction/modes.d.ts.map +1 -0
  20. package/dist/interaction/modes.js +7 -0
  21. package/dist/interaction/modes.js.map +1 -0
  22. package/dist/interaction/nl-router.d.ts +7 -0
  23. package/dist/interaction/nl-router.d.ts.map +1 -0
  24. package/dist/interaction/nl-router.js +218 -0
  25. package/dist/interaction/nl-router.js.map +1 -0
  26. package/dist/interaction/project-control.d.ts +85 -0
  27. package/dist/interaction/project-control.d.ts.map +1 -0
  28. package/dist/interaction/project-control.js +123 -0
  29. package/dist/interaction/project-control.js.map +1 -0
  30. package/dist/interaction/project-session-store.d.ts +7 -0
  31. package/dist/interaction/project-session-store.d.ts.map +1 -0
  32. package/dist/interaction/project-session-store.js +46 -0
  33. package/dist/interaction/project-session-store.js.map +1 -0
  34. package/dist/interaction/project-tools.d.ts +20 -0
  35. package/dist/interaction/project-tools.d.ts.map +1 -0
  36. package/dist/interaction/project-tools.js +516 -0
  37. package/dist/interaction/project-tools.js.map +1 -0
  38. package/dist/interaction/request-router.d.ts +3 -0
  39. package/dist/interaction/request-router.d.ts.map +1 -0
  40. package/dist/interaction/request-router.js +5 -0
  41. package/dist/interaction/request-router.js.map +1 -0
  42. package/dist/interaction/runtime.d.ts +54 -0
  43. package/dist/interaction/runtime.d.ts.map +1 -0
  44. package/dist/interaction/runtime.js +943 -0
  45. package/dist/interaction/runtime.js.map +1 -0
  46. package/dist/interaction/session.d.ts +352 -0
  47. package/dist/interaction/session.d.ts.map +1 -0
  48. package/dist/interaction/session.js +98 -0
  49. package/dist/interaction/session.js.map +1 -0
  50. package/dist/interaction/truth-authority.d.ts +4 -0
  51. package/dist/interaction/truth-authority.d.ts.map +1 -0
  52. package/dist/interaction/truth-authority.js +37 -0
  53. package/dist/interaction/truth-authority.js.map +1 -0
  54. package/dist/llm/provider.d.ts +2 -0
  55. package/dist/llm/provider.d.ts.map +1 -1
  56. package/dist/llm/provider.js +49 -14
  57. package/dist/llm/provider.js.map +1 -1
  58. package/dist/pipeline/runner.d.ts +8 -1
  59. package/dist/pipeline/runner.d.ts.map +1 -1
  60. package/dist/pipeline/runner.js +139 -4
  61. package/dist/pipeline/runner.js.map +1 -1
  62. package/package.json +2 -2
package/dist/index.d.ts CHANGED
@@ -11,6 +11,18 @@ export { type RuntimeStateLanguage, type StateManifest, type HookStatus, type Ho
11
11
  export { type ChapterConflict, type HookMovement, type HookPressureLevel, type HookPressure, type ChapterIntent, type ContextSource, type ContextPackage, type RuleLayerScope, type RuleLayer, type OverrideEdge, type ActiveOverride, type RuleStackSections, type RuleStack, type ChapterTrace, ChapterConflictSchema, HookMovementSchema, HookPressureLevelSchema, HookPressureSchema, ChapterIntentSchema, ContextSourceSchema, ContextPackageSchema, RuleLayerScopeSchema, RuleLayerSchema, OverrideEdgeSchema, ActiveOverrideSchema, RuleStackSectionsSchema, RuleStackSchema, ChapterTraceSchema, } from "./models/input-governance.js";
12
12
  export { PlannerAgent, type PlanChapterInput, type PlanChapterOutput } from "./agents/planner.js";
13
13
  export { ComposerAgent, type ComposeChapterInput, type ComposeChapterOutput } from "./agents/composer.js";
14
+ export { AutomationModeSchema, type AutomationMode, normalizeAutomationMode, } from "./interaction/modes.js";
15
+ export { InteractionIntentTypeSchema, type InteractionIntentType, InteractionRequestSchema, type InteractionRequest, } from "./interaction/intents.js";
16
+ export { ExecutionStatusSchema, ExecutionStateSchema, InteractionEventSchema, type ExecutionStatus, type ExecutionState, type InteractionEvent, isTerminalExecutionStatus, } from "./interaction/events.js";
17
+ export { BookCreationDraftSchema, PendingDecisionSchema, InteractionMessageSchema, InteractionSessionSchema, type BookCreationDraft, type PendingDecision, type InteractionMessage, type InteractionSession, bindActiveBook, clearCreationDraft, clearPendingDecision, updateAutomationMode, updateCreationDraft, appendInteractionMessage, appendInteractionEvent, } from "./interaction/session.js";
18
+ export { resolveProjectSessionPath, createProjectSession, loadProjectSession, persistProjectSession, resolveSessionActiveBook, } from "./interaction/project-session-store.js";
19
+ export { routeInteractionRequest } from "./interaction/request-router.js";
20
+ export { routeNaturalLanguageIntent, type NaturalLanguageRoutingContext, } from "./interaction/nl-router.js";
21
+ export { processProjectInteractionInput, processProjectInteractionRequest, } from "./interaction/project-control.js";
22
+ export { createInteractionToolsFromDeps } from "./interaction/project-tools.js";
23
+ export { normalizeTruthFileName, classifyTruthAuthority, type TruthAuthority, } from "./interaction/truth-authority.js";
24
+ export { executeEditTransaction, planEditTransaction, type EditRequest, type EditExecutionDeps, type ExecutedEditTransaction, type PlannedEditTransaction, } from "./interaction/edit-controller.js";
25
+ export { runInteractionRequest, type InteractionRuntimeTools, type InteractionRuntimeResult, } from "./interaction/runtime.js";
14
26
  export { createLLMClient, chatCompletion, chatWithTools, createStreamMonitor, PartialResponseError, type LLMClient, type LLMResponse, type LLMMessage, type ToolDefinition, type ToolCall, type AgentMessage, type ChatWithToolsResult, type StreamProgress, type OnStreamProgress } from "./llm/provider.js";
15
27
  export { BaseAgent, type AgentContext } from "./agents/base.js";
16
28
  export { ArchitectAgent, type ArchitectOutput } from "./agents/architect.js";
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,KAAK,UAAU,EAAE,KAAK,QAAQ,EAAE,KAAK,KAAK,EAAE,KAAK,UAAU,EAAE,KAAK,UAAU,EAAE,gBAAgB,EAAE,cAAc,EAAE,WAAW,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AACnM,OAAO,EAAE,KAAK,WAAW,EAAE,KAAK,aAAa,EAAE,iBAAiB,EAAE,mBAAmB,EAAE,MAAM,qBAAqB,CAAC;AACnH,OAAO,EAAE,KAAK,aAAa,EAAE,KAAK,SAAS,EAAE,KAAK,aAAa,EAAE,KAAK,eAAe,EAAE,KAAK,YAAY,EAAE,KAAK,gBAAgB,EAAE,KAAK,mBAAmB,EAAE,mBAAmB,EAAE,eAAe,EAAE,sBAAsB,EAAE,qBAAqB,EAAE,kBAAkB,EAAE,yBAAyB,EAAE,MAAM,qBAAqB,CAAC;AAC3T,OAAO,EAAE,KAAK,YAAY,EAAE,KAAK,cAAc,EAAE,KAAK,YAAY,EAAE,KAAK,WAAW,EAAE,KAAK,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAClI,OAAO,EAAE,KAAK,YAAY,EAAE,KAAK,kBAAkB,EAAE,kBAAkB,EAAE,iBAAiB,EAAE,MAAM,2BAA2B,CAAC;AAC9H,OAAO,EAAE,KAAK,SAAS,EAAE,KAAK,eAAe,EAAE,eAAe,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AAC/G,OAAO,EAAE,KAAK,qBAAqB,EAAE,KAAK,cAAc,EAAE,MAAM,uBAAuB,CAAC;AACxF,OAAO,EAAE,KAAK,YAAY,EAAE,MAAM,2BAA2B,CAAC;AAC9D,OAAO,EAAE,KAAK,kBAAkB,EAAE,KAAK,mBAAmB,EAAE,KAAK,UAAU,EAAE,KAAK,eAAe,EAAE,KAAK,aAAa,EAAE,wBAAwB,EAAE,yBAAyB,EAAE,gBAAgB,EAAE,qBAAqB,EAAE,mBAAmB,EAAE,MAAM,+BAA+B,CAAC;AAChR,OAAO,EACL,KAAK,oBAAoB,EACzB,KAAK,aAAa,EAClB,KAAK,UAAU,EACf,KAAK,UAAU,EACf,KAAK,UAAU,EACf,KAAK,iBAAiB,EACtB,KAAK,qBAAqB,EAC1B,KAAK,gBAAgB,EACrB,KAAK,iBAAiB,EACtB,KAAK,iBAAiB,EACtB,KAAK,OAAO,EACZ,KAAK,gBAAgB,EACrB,KAAK,iBAAiB,EACtB,0BAA0B,EAC1B,mBAAmB,EACnB,gBAAgB,EAChB,gBAAgB,EAChB,gBAAgB,EAChB,uBAAuB,EACvB,2BAA2B,EAC3B,sBAAsB,EACtB,uBAAuB,EACvB,uBAAuB,EACvB,aAAa,EACb,sBAAsB,EACtB,uBAAuB,GACxB,MAAM,2BAA2B,CAAC;AACnC,OAAO,EACL,KAAK,eAAe,EACpB,KAAK,YAAY,EACjB,KAAK,iBAAiB,EACtB,KAAK,YAAY,EACjB,KAAK,aAAa,EAClB,KAAK,aAAa,EAClB,KAAK,cAAc,EACnB,KAAK,cAAc,EACnB,KAAK,SAAS,EACd,KAAK,YAAY,EACjB,KAAK,cAAc,EACnB,KAAK,iBAAiB,EACtB,KAAK,SAAS,EACd,KAAK,YAAY,EACjB,qBAAqB,EACrB,kBAAkB,EAClB,uBAAuB,EACvB,kBAAkB,EAClB,mBAAmB,EACnB,mBAAmB,EACnB,oBAAoB,EACpB,oBAAoB,EACpB,eAAe,EACf,kBAAkB,EAClB,oBAAoB,EACpB,uBAAuB,EACvB,eAAe,EACf,kBAAkB,GACnB,MAAM,8BAA8B,CAAC;AACtC,OAAO,EAAE,YAAY,EAAE,KAAK,gBAAgB,EAAE,KAAK,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AAClG,OAAO,EAAE,aAAa,EAAE,KAAK,mBAAmB,EAAE,KAAK,oBAAoB,EAAE,MAAM,sBAAsB,CAAC;AAC1G,OAAO,EACL,oBAAoB,EACpB,KAAK,cAAc,EACnB,uBAAuB,GACxB,MAAM,wBAAwB,CAAC;AAChC,OAAO,EACL,2BAA2B,EAC3B,KAAK,qBAAqB,EAC1B,wBAAwB,EACxB,KAAK,kBAAkB,GACxB,MAAM,0BAA0B,CAAC;AAClC,OAAO,EACL,qBAAqB,EACrB,oBAAoB,EACpB,sBAAsB,EACtB,KAAK,eAAe,EACpB,KAAK,cAAc,EACnB,KAAK,gBAAgB,EACrB,yBAAyB,GAC1B,MAAM,yBAAyB,CAAC;AACjC,OAAO,EACL,uBAAuB,EACvB,qBAAqB,EACrB,wBAAwB,EACxB,wBAAwB,EACxB,KAAK,iBAAiB,EACtB,KAAK,eAAe,EACpB,KAAK,kBAAkB,EACvB,KAAK,kBAAkB,EACvB,cAAc,EACd,kBAAkB,EAClB,oBAAoB,EACpB,oBAAoB,EACpB,mBAAmB,EACnB,wBAAwB,EACxB,sBAAsB,GACvB,MAAM,0BAA0B,CAAC;AAClC,OAAO,EACL,yBAAyB,EACzB,oBAAoB,EACpB,kBAAkB,EAClB,qBAAqB,EACrB,wBAAwB,GACzB,MAAM,wCAAwC,CAAC;AAChD,OAAO,EAAE,uBAAuB,EAAE,MAAM,iCAAiC,CAAC;AAC1E,OAAO,EACL,0BAA0B,EAC1B,KAAK,6BAA6B,GACnC,MAAM,4BAA4B,CAAC;AACpC,OAAO,EACL,8BAA8B,EAC9B,gCAAgC,GACjC,MAAM,kCAAkC,CAAC;AAC1C,OAAO,EAAE,8BAA8B,EAAE,MAAM,gCAAgC,CAAC;AAChF,OAAO,EACL,sBAAsB,EACtB,sBAAsB,EACtB,KAAK,cAAc,GACpB,MAAM,kCAAkC,CAAC;AAC1C,OAAO,EACL,sBAAsB,EACtB,mBAAmB,EACnB,KAAK,WAAW,EAChB,KAAK,iBAAiB,EACtB,KAAK,uBAAuB,EAC5B,KAAK,sBAAsB,GAC5B,MAAM,kCAAkC,CAAC;AAC1C,OAAO,EACL,qBAAqB,EACrB,KAAK,uBAAuB,EAC5B,KAAK,wBAAwB,GAC9B,MAAM,0BAA0B,CAAC;AAGlC,OAAO,EAAE,eAAe,EAAE,cAAc,EAAE,aAAa,EAAE,mBAAmB,EAAE,oBAAoB,EAAE,KAAK,SAAS,EAAE,KAAK,WAAW,EAAE,KAAK,UAAU,EAAE,KAAK,cAAc,EAAE,KAAK,QAAQ,EAAE,KAAK,YAAY,EAAE,KAAK,mBAAmB,EAAE,KAAK,cAAc,EAAE,KAAK,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AAG9S,OAAO,EAAE,SAAS,EAAE,KAAK,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAChE,OAAO,EAAE,cAAc,EAAE,KAAK,eAAe,EAAE,MAAM,uBAAuB,CAAC;AAC7E,OAAO,EAAE,WAAW,EAAE,KAAK,iBAAiB,EAAE,KAAK,kBAAkB,EAAE,KAAK,UAAU,EAAE,MAAM,oBAAoB,CAAC;AACnH,OAAO,EAAE,qBAAqB,EAAE,KAAK,oBAAoB,EAAE,KAAK,qBAAqB,EAAE,MAAM,+BAA+B,CAAC;AAC7H,OAAO,EAAE,iBAAiB,EAAE,KAAK,WAAW,EAAE,KAAK,UAAU,EAAE,MAAM,wBAAwB,CAAC;AAC9F,OAAO,EAAE,YAAY,EAAE,mBAAmB,EAAE,KAAK,YAAY,EAAE,KAAK,UAAU,EAAE,MAAM,qBAAqB,CAAC;AAC5G,OAAO,EAAE,UAAU,EAAE,KAAK,WAAW,EAAE,KAAK,mBAAmB,EAAE,MAAM,mBAAmB,CAAC;AAC3F,OAAO,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,eAAe,EAAE,KAAK,WAAW,EAAE,KAAK,gBAAgB,EAAE,KAAK,YAAY,EAAE,MAAM,0BAA0B,CAAC;AAC7J,OAAO,EAAE,gBAAgB,EAAE,aAAa,EAAE,mBAAmB,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAC;AACrH,OAAO,EAAE,uBAAuB,EAAE,MAAM,4BAA4B,CAAC;AACrE,OAAO,EAAE,cAAc,EAAE,KAAK,YAAY,EAAE,KAAK,WAAW,EAAE,MAAM,sBAAsB,CAAC;AAC3F,OAAO,EAAE,qBAAqB,EAAE,KAAK,mBAAmB,EAAE,KAAK,kBAAkB,EAAE,MAAM,6BAA6B,CAAC;AACvH,OAAO,EAAE,eAAe,EAAE,KAAK,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAC7E,OAAO,EAAE,YAAY,EAAE,MAAM,4BAA4B,CAAC;AAC1D,OAAO,EAAE,wBAAwB,EAAE,MAAM,gCAAgC,CAAC;AAC1E,OAAO,EAAE,iBAAiB,EAAE,0BAA0B,EAAE,4BAA4B,EAAE,oBAAoB,EAAE,KAAK,kBAAkB,EAAE,MAAM,kCAAkC,CAAC;AAC9K,OAAO,EAAE,oBAAoB,EAAE,KAAK,mBAAmB,EAAE,KAAK,oBAAoB,EAAE,MAAM,8BAA8B,CAAC;AACzH,OAAO,EAAE,iBAAiB,EAAE,mBAAmB,EAAE,KAAK,kBAAkB,EAAE,KAAK,cAAc,EAAE,MAAM,2BAA2B,CAAC;AACjI,OAAO,EAAE,wBAAwB,EAAE,sBAAsB,EAAE,MAAM,6BAA6B,CAAC;AAC/F,OAAO,EAAE,qBAAqB,EAAE,KAAK,gBAAgB,EAAE,MAAM,4BAA4B,CAAC;AAC1F,OAAO,EAAE,uBAAuB,EAAE,KAAK,kBAAkB,EAAE,MAAM,kCAAkC,CAAC;AACpG,OAAO,EAAE,mBAAmB,EAAE,KAAK,iBAAiB,EAAE,MAAM,mCAAmC,CAAC;AAChG,OAAO,EAAE,wBAAwB,EAAE,iBAAiB,EAAE,KAAK,qBAAqB,EAAE,MAAM,+BAA+B,CAAC;AACxH,OAAO,EAAE,uBAAuB,EAAE,2BAA2B,EAAE,2BAA2B,EAAE,MAAM,oCAAoC,CAAC;AAGvI,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAC;AAC5D,OAAO,EAAE,WAAW,EAAE,eAAe,EAAE,cAAc,EAAE,mBAAmB,EAAE,qBAAqB,EAAE,MAAM,2BAA2B,CAAC;AACrI,OAAO,EAAE,qBAAqB,EAAE,iBAAiB,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AACnG,OAAO,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAC;AAC7D,OAAO,EAAE,QAAQ,EAAE,KAAK,IAAI,EAAE,KAAK,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAC/E,OAAO,EAAE,mBAAmB,EAAE,MAAM,6BAA6B,CAAC;AAClE,OAAO,EAAE,wBAAwB,EAAE,0BAA0B,EAAE,wBAAwB,EAAE,uBAAuB,EAAE,6BAA6B,EAAE,KAAK,qBAAqB,EAAE,KAAK,mBAAmB,EAAE,MAAM,gCAAgC,CAAC;AAC9O,OAAO,EAAE,aAAa,EAAE,KAAK,YAAY,EAAE,MAAM,6BAA6B,CAAC;AAC/E,OAAO,EAAE,kBAAkB,EAAE,yBAAyB,EAAE,iBAAiB,EAAE,eAAe,EAAE,kBAAkB,EAAE,kBAAkB,EAAE,mBAAmB,EAAE,KAAK,cAAc,EAAE,MAAM,2BAA2B,CAAC;AAChN,OAAO,EAAE,YAAY,EAAE,gBAAgB,EAAE,kBAAkB,EAAE,QAAQ,EAAE,KAAK,MAAM,EAAE,KAAK,OAAO,EAAE,KAAK,QAAQ,EAAE,KAAK,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAC1J,OAAO,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,eAAe,EAAE,2BAA2B,EAAE,MAAM,0BAA0B,CAAC;AAC9H,OAAO,EAAE,gBAAgB,EAAE,KAAK,aAAa,EAAE,KAAK,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAC7F,OAAO,EACL,oBAAoB,EACpB,qBAAqB,EACrB,uBAAuB,EACvB,KAAK,sBAAsB,EAC3B,KAAK,qBAAqB,EAC1B,KAAK,eAAe,GACrB,MAAM,4BAA4B,CAAC;AACpC,OAAO,EAAE,+BAA+B,EAAE,KAAK,mBAAmB,EAAE,MAAM,yBAAyB,CAAC;AACpG,OAAO,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAG3D,OAAO,EAAE,cAAc,EAAE,KAAK,cAAc,EAAE,KAAK,qBAAqB,EAAE,KAAK,WAAW,EAAE,KAAK,iBAAiB,EAAE,KAAK,oBAAoB,EAAE,KAAK,YAAY,EAAE,KAAK,UAAU,EAAE,KAAK,cAAc,EAAE,KAAK,mBAAmB,EAAE,KAAK,oBAAoB,EAAE,KAAK,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AAClT,OAAO,EAAE,SAAS,EAAE,KAAK,eAAe,EAAE,MAAM,yBAAyB,CAAC;AAC1E,OAAO,EAAE,YAAY,EAAE,WAAW,IAAI,WAAW,EAAE,KAAK,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AACtG,OAAO,EAAE,aAAa,EAAE,gBAAgB,EAAE,oBAAoB,EAAE,KAAK,mBAAmB,EAAE,KAAK,sBAAsB,EAAE,MAAM,gCAAgC,CAAC;AAG9J,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAClD,OAAO,EAAE,oCAAoC,EAAE,MAAM,4BAA4B,CAAC;AAClF,OAAO,EAAE,4BAA4B,EAAE,qBAAqB,EAAE,gCAAgC,EAAE,MAAM,8BAA8B,CAAC;AACrI,OAAO,EAAE,sBAAsB,EAAE,KAAK,oBAAoB,EAAE,MAAM,0BAA0B,CAAC;AAC7F,OAAO,EAAE,oBAAoB,EAAE,KAAK,2BAA2B,EAAE,MAAM,4BAA4B,CAAC;AAGpG,OAAO,EAAE,oBAAoB,EAAE,oBAAoB,EAAE,KAAK,aAAa,EAAE,MAAM,wBAAwB,CAAC;AACxG,OAAO,EAAE,YAAY,EAAE,KAAK,cAAc,EAAE,MAAM,sBAAsB,CAAC;AACzE,OAAO,EAAE,UAAU,EAAE,KAAK,YAAY,EAAE,MAAM,oBAAoB,CAAC;AACnE,OAAO,EAAE,cAAc,EAAE,KAAK,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAChF,OAAO,EAAE,WAAW,EAAE,KAAK,aAAa,EAAE,KAAK,YAAY,EAAE,KAAK,cAAc,EAAE,MAAM,qBAAqB,CAAC"}
package/dist/index.js CHANGED
@@ -9,6 +9,18 @@ export { RuntimeStateLanguageSchema, StateManifestSchema, HookStatusSchema, Hook
9
9
  export { ChapterConflictSchema, HookMovementSchema, HookPressureLevelSchema, HookPressureSchema, ChapterIntentSchema, ContextSourceSchema, ContextPackageSchema, RuleLayerScopeSchema, RuleLayerSchema, OverrideEdgeSchema, ActiveOverrideSchema, RuleStackSectionsSchema, RuleStackSchema, ChapterTraceSchema, } from "./models/input-governance.js";
10
10
  export { PlannerAgent } from "./agents/planner.js";
11
11
  export { ComposerAgent } from "./agents/composer.js";
12
+ export { AutomationModeSchema, normalizeAutomationMode, } from "./interaction/modes.js";
13
+ export { InteractionIntentTypeSchema, InteractionRequestSchema, } from "./interaction/intents.js";
14
+ export { ExecutionStatusSchema, ExecutionStateSchema, InteractionEventSchema, isTerminalExecutionStatus, } from "./interaction/events.js";
15
+ export { BookCreationDraftSchema, PendingDecisionSchema, InteractionMessageSchema, InteractionSessionSchema, bindActiveBook, clearCreationDraft, clearPendingDecision, updateAutomationMode, updateCreationDraft, appendInteractionMessage, appendInteractionEvent, } from "./interaction/session.js";
16
+ export { resolveProjectSessionPath, createProjectSession, loadProjectSession, persistProjectSession, resolveSessionActiveBook, } from "./interaction/project-session-store.js";
17
+ export { routeInteractionRequest } from "./interaction/request-router.js";
18
+ export { routeNaturalLanguageIntent, } from "./interaction/nl-router.js";
19
+ export { processProjectInteractionInput, processProjectInteractionRequest, } from "./interaction/project-control.js";
20
+ export { createInteractionToolsFromDeps } from "./interaction/project-tools.js";
21
+ export { normalizeTruthFileName, classifyTruthAuthority, } from "./interaction/truth-authority.js";
22
+ export { executeEditTransaction, planEditTransaction, } from "./interaction/edit-controller.js";
23
+ export { runInteractionRequest, } from "./interaction/runtime.js";
12
24
  // LLM
13
25
  export { createLLMClient, chatCompletion, chatWithTools, createStreamMonitor, PartialResponseError } from "./llm/provider.js";
14
26
  // Agents
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,SAAS;AACT,OAAO,EAAgF,gBAAgB,EAAE,cAAc,EAAE,WAAW,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AACnM,OAAO,EAAwC,iBAAiB,EAAE,mBAAmB,EAAE,MAAM,qBAAqB,CAAC;AACnH,OAAO,EAAoJ,mBAAmB,EAAE,eAAe,EAAE,sBAAsB,EAAE,qBAAqB,EAAE,kBAAkB,EAAE,yBAAyB,EAAE,MAAM,qBAAqB,CAAC;AAE3T,OAAO,EAA8C,kBAAkB,EAAE,iBAAiB,EAAE,MAAM,2BAA2B,CAAC;AAC9H,OAAO,EAAwC,eAAe,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AAG/G,OAAO,EAAgH,wBAAwB,EAAE,yBAAyB,EAAE,gBAAgB,EAAE,qBAAqB,EAAE,mBAAmB,EAAE,MAAM,+BAA+B,CAAC;AAChR,OAAO,EAcL,0BAA0B,EAC1B,mBAAmB,EACnB,gBAAgB,EAChB,gBAAgB,EAChB,gBAAgB,EAChB,uBAAuB,EACvB,2BAA2B,EAC3B,sBAAsB,EACtB,uBAAuB,EACvB,uBAAuB,EACvB,aAAa,EACb,sBAAsB,EACtB,uBAAuB,GACxB,MAAM,2BAA2B,CAAC;AACnC,OAAO,EAeL,qBAAqB,EACrB,kBAAkB,EAClB,uBAAuB,EACvB,kBAAkB,EAClB,mBAAmB,EACnB,mBAAmB,EACnB,oBAAoB,EACpB,oBAAoB,EACpB,eAAe,EACf,kBAAkB,EAClB,oBAAoB,EACpB,uBAAuB,EACvB,eAAe,EACf,kBAAkB,GACnB,MAAM,8BAA8B,CAAC;AACtC,OAAO,EAAE,YAAY,EAAiD,MAAM,qBAAqB,CAAC;AAClG,OAAO,EAAE,aAAa,EAAuD,MAAM,sBAAsB,CAAC;AAC1G,OAAO,EACL,oBAAoB,EAEpB,uBAAuB,GACxB,MAAM,wBAAwB,CAAC;AAChC,OAAO,EACL,2BAA2B,EAE3B,wBAAwB,GAEzB,MAAM,0BAA0B,CAAC;AAClC,OAAO,EACL,qBAAqB,EACrB,oBAAoB,EACpB,sBAAsB,EAItB,yBAAyB,GAC1B,MAAM,yBAAyB,CAAC;AACjC,OAAO,EACL,uBAAuB,EACvB,qBAAqB,EACrB,wBAAwB,EACxB,wBAAwB,EAKxB,cAAc,EACd,kBAAkB,EAClB,oBAAoB,EACpB,oBAAoB,EACpB,mBAAmB,EACnB,wBAAwB,EACxB,sBAAsB,GACvB,MAAM,0BAA0B,CAAC;AAClC,OAAO,EACL,yBAAyB,EACzB,oBAAoB,EACpB,kBAAkB,EAClB,qBAAqB,EACrB,wBAAwB,GACzB,MAAM,wCAAwC,CAAC;AAChD,OAAO,EAAE,uBAAuB,EAAE,MAAM,iCAAiC,CAAC;AAC1E,OAAO,EACL,0BAA0B,GAE3B,MAAM,4BAA4B,CAAC;AACpC,OAAO,EACL,8BAA8B,EAC9B,gCAAgC,GACjC,MAAM,kCAAkC,CAAC;AAC1C,OAAO,EAAE,8BAA8B,EAAE,MAAM,gCAAgC,CAAC;AAChF,OAAO,EACL,sBAAsB,EACtB,sBAAsB,GAEvB,MAAM,kCAAkC,CAAC;AAC1C,OAAO,EACL,sBAAsB,EACtB,mBAAmB,GAKpB,MAAM,kCAAkC,CAAC;AAC1C,OAAO,EACL,qBAAqB,GAGtB,MAAM,0BAA0B,CAAC;AAElC,MAAM;AACN,OAAO,EAAE,eAAe,EAAE,cAAc,EAAE,aAAa,EAAE,mBAAmB,EAAE,oBAAoB,EAAkL,MAAM,mBAAmB,CAAC;AAE9S,SAAS;AACT,OAAO,EAAE,SAAS,EAAqB,MAAM,kBAAkB,CAAC;AAChE,OAAO,EAAE,cAAc,EAAwB,MAAM,uBAAuB,CAAC;AAC7E,OAAO,EAAE,WAAW,EAAoE,MAAM,oBAAoB,CAAC;AACnH,OAAO,EAAE,qBAAqB,EAAyD,MAAM,+BAA+B,CAAC;AAC7H,OAAO,EAAE,iBAAiB,EAAqC,MAAM,wBAAwB,CAAC;AAC9F,OAAO,EAAE,YAAY,EAAE,mBAAmB,EAAsC,MAAM,qBAAqB,CAAC;AAC5G,OAAO,EAAE,UAAU,EAA8C,MAAM,mBAAmB,CAAC;AAC3F,OAAO,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,eAAe,EAA8D,MAAM,0BAA0B,CAAC;AAC7J,OAAO,EAAE,gBAAgB,EAAE,aAAa,EAAE,mBAAmB,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAC;AACrH,OAAO,EAAE,uBAAuB,EAAE,MAAM,4BAA4B,CAAC;AACrE,OAAO,EAAE,cAAc,EAAuC,MAAM,sBAAsB,CAAC;AAC3F,OAAO,EAAE,qBAAqB,EAAqD,MAAM,6BAA6B,CAAC;AACvH,OAAO,EAAE,eAAe,EAAwB,MAAM,sBAAsB,CAAC;AAC7E,OAAO,EAAE,YAAY,EAAE,MAAM,4BAA4B,CAAC;AAC1D,OAAO,EAAE,wBAAwB,EAAE,MAAM,gCAAgC,CAAC;AAC1E,OAAO,EAAE,iBAAiB,EAAE,0BAA0B,EAAE,4BAA4B,EAAE,oBAAoB,EAA2B,MAAM,kCAAkC,CAAC;AAC9K,OAAO,EAAE,oBAAoB,EAAuD,MAAM,8BAA8B,CAAC;AACzH,OAAO,EAAE,iBAAiB,EAAE,mBAAmB,EAAgD,MAAM,2BAA2B,CAAC;AACjI,OAAO,EAAE,wBAAwB,EAAE,sBAAsB,EAAE,MAAM,6BAA6B,CAAC;AAC/F,OAAO,EAAE,qBAAqB,EAAyB,MAAM,4BAA4B,CAAC;AAC1F,OAAO,EAAE,uBAAuB,EAA2B,MAAM,kCAAkC,CAAC;AACpG,OAAO,EAAE,mBAAmB,EAA0B,MAAM,mCAAmC,CAAC;AAChG,OAAO,EAAE,wBAAwB,EAAE,iBAAiB,EAA8B,MAAM,+BAA+B,CAAC;AACxH,OAAO,EAAE,uBAAuB,EAAE,2BAA2B,EAAE,2BAA2B,EAAE,MAAM,oCAAoC,CAAC;AAEvI,QAAQ;AACR,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAC;AAC5D,OAAO,EAAE,WAAW,EAAE,eAAe,EAAE,cAAc,EAAE,mBAAmB,EAAE,qBAAqB,EAAE,MAAM,2BAA2B,CAAC;AACrI,OAAO,EAAE,qBAAqB,EAAE,iBAAiB,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AACnG,OAAO,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAC;AAC7D,OAAO,EAAE,QAAQ,EAAiC,MAAM,sBAAsB,CAAC;AAC/E,OAAO,EAAE,mBAAmB,EAAE,MAAM,6BAA6B,CAAC;AAClE,OAAO,EAAE,wBAAwB,EAAE,0BAA0B,EAAE,wBAAwB,EAAE,uBAAuB,EAAE,6BAA6B,EAAwD,MAAM,gCAAgC,CAAC;AAC9O,OAAO,EAAE,aAAa,EAAqB,MAAM,6BAA6B,CAAC;AAC/E,OAAO,EAAE,kBAAkB,EAAE,yBAAyB,EAAE,iBAAiB,EAAE,eAAe,EAAE,kBAAkB,EAAE,kBAAkB,EAAE,mBAAmB,EAAuB,MAAM,2BAA2B,CAAC;AAChN,OAAO,EAAE,YAAY,EAAE,gBAAgB,EAAE,kBAAkB,EAAE,QAAQ,EAA2D,MAAM,mBAAmB,CAAC;AAC1J,OAAO,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,eAAe,EAAE,2BAA2B,EAAE,MAAM,0BAA0B,CAAC;AAC9H,OAAO,EAAE,gBAAgB,EAAuC,MAAM,sBAAsB,CAAC;AAC7F,OAAO,EACL,oBAAoB,EACpB,qBAAqB,EACrB,uBAAuB,GAIxB,MAAM,4BAA4B,CAAC;AACpC,OAAO,EAAE,+BAA+B,EAA4B,MAAM,yBAAyB,CAAC;AACpG,OAAO,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAE3D,WAAW;AACX,OAAO,EAAE,cAAc,EAA8P,MAAM,sBAAsB,CAAC;AAClT,OAAO,EAAE,SAAS,EAAwB,MAAM,yBAAyB,CAAC;AAC1E,OAAO,EAAE,YAAY,EAAE,WAAW,IAAI,WAAW,EAAyB,MAAM,qBAAqB,CAAC;AACtG,OAAO,EAAE,aAAa,EAAE,gBAAgB,EAAE,oBAAoB,EAAyD,MAAM,gCAAgC,CAAC;AAE9J,QAAQ;AACR,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAClD,OAAO,EAAE,oCAAoC,EAAE,MAAM,4BAA4B,CAAC;AAClF,OAAO,EAAE,4BAA4B,EAAE,qBAAqB,EAAE,gCAAgC,EAAE,MAAM,8BAA8B,CAAC;AACrI,OAAO,EAAE,sBAAsB,EAA6B,MAAM,0BAA0B,CAAC;AAC7F,OAAO,EAAE,oBAAoB,EAAoC,MAAM,4BAA4B,CAAC;AAEpG,SAAS;AACT,OAAO,EAAE,oBAAoB,EAAE,oBAAoB,EAAsB,MAAM,wBAAwB,CAAC;AACxG,OAAO,EAAE,YAAY,EAAuB,MAAM,sBAAsB,CAAC;AACzE,OAAO,EAAE,UAAU,EAAqB,MAAM,oBAAoB,CAAC;AACnE,OAAO,EAAE,cAAc,EAAyB,MAAM,yBAAyB,CAAC;AAChF,OAAO,EAAE,WAAW,EAA8D,MAAM,qBAAqB,CAAC"}
@@ -0,0 +1,55 @@
1
+ import type { ChapterMeta } from "../models/chapter.js";
2
+ import { type TruthAuthority } from "./truth-authority.js";
3
+ export type EditRequest = {
4
+ readonly kind: "entity-rename";
5
+ readonly bookId: string;
6
+ readonly entityType: "protagonist" | "character" | "location" | "organization";
7
+ readonly oldValue: string;
8
+ readonly newValue: string;
9
+ } | {
10
+ readonly kind: "chapter-rewrite";
11
+ readonly bookId: string;
12
+ readonly chapterNumber: number;
13
+ readonly instruction: string;
14
+ } | {
15
+ readonly kind: "chapter-local-edit";
16
+ readonly bookId: string;
17
+ readonly chapterNumber: number;
18
+ readonly instruction: string;
19
+ readonly targetText?: string;
20
+ readonly replacementText?: string;
21
+ } | {
22
+ readonly kind: "truth-file-edit";
23
+ readonly bookId: string;
24
+ readonly fileName: string;
25
+ readonly instruction: string;
26
+ } | {
27
+ readonly kind: "focus-edit";
28
+ readonly bookId: string;
29
+ readonly instruction: string;
30
+ };
31
+ export interface PlannedEditTransaction {
32
+ readonly transactionType: EditRequest["kind"];
33
+ readonly bookId: string;
34
+ readonly chapterNumber?: number;
35
+ readonly truthAuthority?: TruthAuthority;
36
+ readonly normalizedFileName?: string;
37
+ readonly affectedScope: "chapter" | "downstream" | "future" | "book";
38
+ readonly requiresTruthRebuild: boolean;
39
+ }
40
+ export interface EditExecutionDeps {
41
+ readonly bookDir: (bookId: string) => string;
42
+ readonly loadChapterIndex: (bookId: string) => Promise<ReadonlyArray<ChapterMeta>>;
43
+ readonly saveChapterIndex: (bookId: string, index: ReadonlyArray<ChapterMeta>) => Promise<void>;
44
+ }
45
+ export interface ExecutedEditTransaction {
46
+ readonly transactionType: EditRequest["kind"];
47
+ readonly bookId: string;
48
+ readonly chapterNumber?: number;
49
+ readonly touchedFiles: ReadonlyArray<string>;
50
+ readonly reviewRequired: boolean;
51
+ readonly summary: string;
52
+ }
53
+ export declare function planEditTransaction(request: EditRequest): PlannedEditTransaction;
54
+ export declare function executeEditTransaction(deps: EditExecutionDeps, request: EditRequest): Promise<ExecutedEditTransaction>;
55
+ //# sourceMappingURL=edit-controller.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"edit-controller.d.ts","sourceRoot":"","sources":["../../src/interaction/edit-controller.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AACxD,OAAO,EAAkD,KAAK,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAE3G,MAAM,MAAM,WAAW,GACnB;IACE,QAAQ,CAAC,IAAI,EAAE,eAAe,CAAC;IAC/B,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,UAAU,EAAE,aAAa,GAAG,WAAW,GAAG,UAAU,GAAG,cAAc,CAAC;IAC/E,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;CAC3B,GACD;IACE,QAAQ,CAAC,IAAI,EAAE,iBAAiB,CAAC;IACjC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,aAAa,EAAE,MAAM,CAAC;IAC/B,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;CAC9B,GACD;IACE,QAAQ,CAAC,IAAI,EAAE,oBAAoB,CAAC;IACpC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,aAAa,EAAE,MAAM,CAAC;IAC/B,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,UAAU,CAAC,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,eAAe,CAAC,EAAE,MAAM,CAAC;CACnC,GACD;IACE,QAAQ,CAAC,IAAI,EAAE,iBAAiB,CAAC;IACjC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;CAC9B,GACD;IACE,QAAQ,CAAC,IAAI,EAAE,YAAY,CAAC;IAC5B,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;CAC9B,CAAC;AAEN,MAAM,WAAW,sBAAsB;IACrC,QAAQ,CAAC,eAAe,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC;IAC9C,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,aAAa,CAAC,EAAE,MAAM,CAAC;IAChC,QAAQ,CAAC,cAAc,CAAC,EAAE,cAAc,CAAC;IACzC,QAAQ,CAAC,kBAAkB,CAAC,EAAE,MAAM,CAAC;IACrC,QAAQ,CAAC,aAAa,EAAE,SAAS,GAAG,YAAY,GAAG,QAAQ,GAAG,MAAM,CAAC;IACrE,QAAQ,CAAC,oBAAoB,EAAE,OAAO,CAAC;CACxC;AAED,MAAM,WAAW,iBAAiB;IAChC,QAAQ,CAAC,OAAO,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,MAAM,CAAC;IAC7C,QAAQ,CAAC,gBAAgB,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,OAAO,CAAC,aAAa,CAAC,WAAW,CAAC,CAAC,CAAC;IACnF,QAAQ,CAAC,gBAAgB,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,aAAa,CAAC,WAAW,CAAC,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;CACjG;AAED,MAAM,WAAW,uBAAuB;IACtC,QAAQ,CAAC,eAAe,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC;IAC9C,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,aAAa,CAAC,EAAE,MAAM,CAAC;IAChC,QAAQ,CAAC,YAAY,EAAE,aAAa,CAAC,MAAM,CAAC,CAAC;IAC7C,QAAQ,CAAC,cAAc,EAAE,OAAO,CAAC;IACjC,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;CAC1B;AASD,wBAAgB,mBAAmB,CAAC,OAAO,EAAE,WAAW,GAAG,sBAAsB,CA+ChF;AA8HD,wBAAsB,sBAAsB,CAC1C,IAAI,EAAE,iBAAiB,EACvB,OAAO,EAAE,WAAW,GACnB,OAAO,CAAC,uBAAuB,CAAC,CAsBlC"}
@@ -0,0 +1,187 @@
1
+ import { readdir, readFile, unlink, writeFile } from "node:fs/promises";
2
+ import { join, relative } from "node:path";
3
+ import { classifyTruthAuthority, normalizeTruthFileName } from "./truth-authority.js";
4
+ function isMissingDirectoryError(error) {
5
+ return typeof error === "object"
6
+ && error !== null
7
+ && "code" in error
8
+ && error.code === "ENOENT";
9
+ }
10
+ export function planEditTransaction(request) {
11
+ switch (request.kind) {
12
+ case "entity-rename":
13
+ return {
14
+ transactionType: request.kind,
15
+ bookId: request.bookId,
16
+ affectedScope: "book",
17
+ requiresTruthRebuild: true,
18
+ };
19
+ case "chapter-rewrite":
20
+ return {
21
+ transactionType: request.kind,
22
+ bookId: request.bookId,
23
+ chapterNumber: request.chapterNumber,
24
+ affectedScope: "downstream",
25
+ requiresTruthRebuild: true,
26
+ };
27
+ case "chapter-local-edit":
28
+ return {
29
+ transactionType: request.kind,
30
+ bookId: request.bookId,
31
+ chapterNumber: request.chapterNumber,
32
+ affectedScope: "chapter",
33
+ requiresTruthRebuild: true,
34
+ };
35
+ case "truth-file-edit": {
36
+ const normalizedFileName = normalizeTruthFileName(request.fileName);
37
+ const truthAuthority = classifyTruthAuthority(normalizedFileName);
38
+ return {
39
+ transactionType: request.kind,
40
+ bookId: request.bookId,
41
+ normalizedFileName,
42
+ truthAuthority,
43
+ affectedScope: truthAuthority === "runtime-truth" ? "book" : truthAuthority === "memory" ? "book" : "book",
44
+ requiresTruthRebuild: truthAuthority === "runtime-truth" || truthAuthority === "memory",
45
+ };
46
+ }
47
+ case "focus-edit":
48
+ return {
49
+ transactionType: request.kind,
50
+ bookId: request.bookId,
51
+ truthAuthority: "direction",
52
+ normalizedFileName: "current_focus.md",
53
+ affectedScope: "future",
54
+ requiresTruthRebuild: false,
55
+ };
56
+ }
57
+ }
58
+ function escapeRegExp(text) {
59
+ return text.replace(/[.*+?^${}()|[\]\\]/g, "\\$&");
60
+ }
61
+ async function collectEditableFiles(dir) {
62
+ const entries = await readdir(dir, { withFileTypes: true }).catch((error) => {
63
+ if (isMissingDirectoryError(error)) {
64
+ return [];
65
+ }
66
+ throw error;
67
+ });
68
+ const files = await Promise.all(entries.map(async (entry) => {
69
+ const fullPath = join(dir, entry.name);
70
+ if (entry.isDirectory()) {
71
+ return collectEditableFiles(fullPath);
72
+ }
73
+ if (!/\.(md|json|ya?ml|txt)$/i.test(entry.name)) {
74
+ return [];
75
+ }
76
+ return [fullPath];
77
+ }));
78
+ return files.flat();
79
+ }
80
+ async function executeEntityRename(deps, request) {
81
+ const root = deps.bookDir(request.bookId);
82
+ const files = await collectEditableFiles(root);
83
+ const touchedFiles = [];
84
+ const matcher = new RegExp(escapeRegExp(request.oldValue), "g");
85
+ for (const filePath of files) {
86
+ const content = await readFile(filePath, "utf-8");
87
+ const nextContent = content.replace(matcher, request.newValue);
88
+ if (nextContent === content) {
89
+ continue;
90
+ }
91
+ await writeFile(filePath, nextContent, "utf-8");
92
+ touchedFiles.push(relative(root, filePath));
93
+ }
94
+ if (touchedFiles.length === 0) {
95
+ throw new Error(`No occurrences of "${request.oldValue}" were found in "${request.bookId}".`);
96
+ }
97
+ return {
98
+ transactionType: request.kind,
99
+ bookId: request.bookId,
100
+ touchedFiles,
101
+ reviewRequired: false,
102
+ summary: `Renamed ${request.oldValue} to ${request.newValue} across ${touchedFiles.length} files.`,
103
+ };
104
+ }
105
+ async function executeChapterLocalEdit(deps, request) {
106
+ const root = deps.bookDir(request.bookId);
107
+ const chaptersDir = join(root, "chapters");
108
+ const paddedChapter = String(request.chapterNumber).padStart(4, "0");
109
+ const chapterFile = (await readdir(chaptersDir).catch((error) => {
110
+ if (isMissingDirectoryError(error)) {
111
+ return [];
112
+ }
113
+ throw error;
114
+ }))
115
+ .find((file) => file.startsWith(`${paddedChapter}_`) && file.endsWith(".md"));
116
+ if (!chapterFile) {
117
+ throw new Error(`Chapter ${request.chapterNumber} not found in "${request.bookId}".`);
118
+ }
119
+ if (!request.targetText || request.replacementText === undefined) {
120
+ throw new Error("Chapter-local edits require targetText and replacementText.");
121
+ }
122
+ const chapterPath = join(chaptersDir, chapterFile);
123
+ const content = await readFile(chapterPath, "utf-8");
124
+ const nextContent = content.split(request.targetText).join(request.replacementText);
125
+ if (nextContent === content) {
126
+ throw new Error(`Target text was not found in chapter ${request.chapterNumber}.`);
127
+ }
128
+ await writeFile(chapterPath, nextContent, "utf-8");
129
+ const runtimeDir = join(root, "story", "runtime");
130
+ const runtimeFiles = (await readdir(runtimeDir).catch((error) => {
131
+ if (isMissingDirectoryError(error)) {
132
+ return [];
133
+ }
134
+ throw error;
135
+ }))
136
+ .filter((file) => file.startsWith(`chapter-${paddedChapter}.`));
137
+ await Promise.all(runtimeFiles.map((file) => unlink(join(runtimeDir, file)).catch(() => undefined)));
138
+ const index = [...(await deps.loadChapterIndex(request.bookId))];
139
+ const updatedIndex = index.map((chapter) => chapter.number === request.chapterNumber
140
+ ? {
141
+ ...chapter,
142
+ status: "audit-failed",
143
+ updatedAt: new Date().toISOString(),
144
+ auditIssues: [
145
+ ...chapter.auditIssues.filter((issue) => !issue.includes("Manual text edit requires review")),
146
+ "[warning] Manual text edit requires review before continuation.",
147
+ ],
148
+ }
149
+ : chapter);
150
+ await deps.saveChapterIndex(request.bookId, updatedIndex);
151
+ return {
152
+ transactionType: request.kind,
153
+ bookId: request.bookId,
154
+ chapterNumber: request.chapterNumber,
155
+ touchedFiles: [
156
+ relative(root, chapterPath),
157
+ ...runtimeFiles.map((file) => relative(root, join(runtimeDir, file))),
158
+ "chapters/index.json",
159
+ ],
160
+ reviewRequired: true,
161
+ summary: `Patched chapter ${request.chapterNumber} and marked it for review.`,
162
+ };
163
+ }
164
+ export async function executeEditTransaction(deps, request) {
165
+ switch (request.kind) {
166
+ case "entity-rename":
167
+ return executeEntityRename(deps, request);
168
+ case "chapter-local-edit":
169
+ return executeChapterLocalEdit(deps, request);
170
+ case "truth-file-edit": {
171
+ const root = deps.bookDir(request.bookId);
172
+ const normalizedFileName = normalizeTruthFileName(request.fileName);
173
+ const filePath = join(root, "story", normalizedFileName);
174
+ await writeFile(filePath, request.instruction, "utf-8");
175
+ return {
176
+ transactionType: request.kind,
177
+ bookId: request.bookId,
178
+ touchedFiles: [relative(root, filePath)],
179
+ reviewRequired: false,
180
+ summary: `Updated ${normalizedFileName}.`,
181
+ };
182
+ }
183
+ default:
184
+ throw new Error(`Edit transaction "${request.kind}" is not executable yet.`);
185
+ }
186
+ }
187
+ //# sourceMappingURL=edit-controller.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"edit-controller.js","sourceRoot":"","sources":["../../src/interaction/edit-controller.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,45 @@
1
+ import { z } from "zod";
2
+ export declare const ExecutionStatusSchema: z.ZodEnum<["idle", "planning", "composing", "writing", "assessing", "repairing", "persisting", "waiting_human", "blocked", "completed", "failed"]>;
3
+ export type ExecutionStatus = z.infer<typeof ExecutionStatusSchema>;
4
+ export declare const ExecutionStateSchema: z.ZodObject<{
5
+ status: z.ZodEnum<["idle", "planning", "composing", "writing", "assessing", "repairing", "persisting", "waiting_human", "blocked", "completed", "failed"]>;
6
+ bookId: z.ZodOptional<z.ZodString>;
7
+ chapterNumber: z.ZodOptional<z.ZodNumber>;
8
+ stageLabel: z.ZodOptional<z.ZodString>;
9
+ }, "strip", z.ZodTypeAny, {
10
+ status: "completed" | "planning" | "idle" | "composing" | "writing" | "assessing" | "repairing" | "persisting" | "waiting_human" | "blocked" | "failed";
11
+ bookId?: string | undefined;
12
+ chapterNumber?: number | undefined;
13
+ stageLabel?: string | undefined;
14
+ }, {
15
+ status: "completed" | "planning" | "idle" | "composing" | "writing" | "assessing" | "repairing" | "persisting" | "waiting_human" | "blocked" | "failed";
16
+ bookId?: string | undefined;
17
+ chapterNumber?: number | undefined;
18
+ stageLabel?: string | undefined;
19
+ }>;
20
+ export type ExecutionState = z.infer<typeof ExecutionStateSchema>;
21
+ export declare const InteractionEventSchema: z.ZodObject<{
22
+ kind: z.ZodString;
23
+ timestamp: z.ZodNumber;
24
+ status: z.ZodEnum<["idle", "planning", "composing", "writing", "assessing", "repairing", "persisting", "waiting_human", "blocked", "completed", "failed"]>;
25
+ bookId: z.ZodOptional<z.ZodString>;
26
+ chapterNumber: z.ZodOptional<z.ZodNumber>;
27
+ detail: z.ZodOptional<z.ZodString>;
28
+ }, "strip", z.ZodTypeAny, {
29
+ status: "completed" | "planning" | "idle" | "composing" | "writing" | "assessing" | "repairing" | "persisting" | "waiting_human" | "blocked" | "failed";
30
+ kind: string;
31
+ timestamp: number;
32
+ detail?: string | undefined;
33
+ bookId?: string | undefined;
34
+ chapterNumber?: number | undefined;
35
+ }, {
36
+ status: "completed" | "planning" | "idle" | "composing" | "writing" | "assessing" | "repairing" | "persisting" | "waiting_human" | "blocked" | "failed";
37
+ kind: string;
38
+ timestamp: number;
39
+ detail?: string | undefined;
40
+ bookId?: string | undefined;
41
+ chapterNumber?: number | undefined;
42
+ }>;
43
+ export type InteractionEvent = z.infer<typeof InteractionEventSchema>;
44
+ export declare function isTerminalExecutionStatus(status: ExecutionStatus): boolean;
45
+ //# sourceMappingURL=events.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"events.d.ts","sourceRoot":"","sources":["../../src/interaction/events.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,eAAO,MAAM,qBAAqB,oJAYhC,CAAC;AAEH,MAAM,MAAM,eAAe,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,qBAAqB,CAAC,CAAC;AAEpE,eAAO,MAAM,oBAAoB;;;;;;;;;;;;;;;EAK/B,CAAC;AAEH,MAAM,MAAM,cAAc,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,oBAAoB,CAAC,CAAC;AAElE,eAAO,MAAM,sBAAsB;;;;;;;;;;;;;;;;;;;;;EAOjC,CAAC;AAEH,MAAM,MAAM,gBAAgB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,sBAAsB,CAAC,CAAC;AAEtE,wBAAgB,yBAAyB,CAAC,MAAM,EAAE,eAAe,GAAG,OAAO,CAE1E"}
@@ -0,0 +1,32 @@
1
+ import { z } from "zod";
2
+ export const ExecutionStatusSchema = z.enum([
3
+ "idle",
4
+ "planning",
5
+ "composing",
6
+ "writing",
7
+ "assessing",
8
+ "repairing",
9
+ "persisting",
10
+ "waiting_human",
11
+ "blocked",
12
+ "completed",
13
+ "failed",
14
+ ]);
15
+ export const ExecutionStateSchema = z.object({
16
+ status: ExecutionStatusSchema,
17
+ bookId: z.string().min(1).optional(),
18
+ chapterNumber: z.number().int().min(1).optional(),
19
+ stageLabel: z.string().min(1).optional(),
20
+ });
21
+ export const InteractionEventSchema = z.object({
22
+ kind: z.string().min(1),
23
+ timestamp: z.number().int().nonnegative(),
24
+ status: ExecutionStatusSchema,
25
+ bookId: z.string().min(1).optional(),
26
+ chapterNumber: z.number().int().min(1).optional(),
27
+ detail: z.string().min(1).optional(),
28
+ });
29
+ export function isTerminalExecutionStatus(status) {
30
+ return status === "completed" || status === "failed" || status === "blocked";
31
+ }
32
+ //# sourceMappingURL=events.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"events.js","sourceRoot":"","sources":["../../src/interaction/events.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,MAAM,CAAC,MAAM,qBAAqB,GAAG,CAAC,CAAC,IAAI,CAAC;IAC1C,MAAM;IACN,UAAU;IACV,WAAW;IACX,SAAS;IACT,WAAW;IACX,WAAW;IACX,YAAY;IACZ,eAAe;IACf,SAAS;IACT,WAAW;IACX,QAAQ;CACT,CAAC,CAAC;AAIH,MAAM,CAAC,MAAM,oBAAoB,GAAG,CAAC,CAAC,MAAM,CAAC;IAC3C,MAAM,EAAE,qBAAqB;IAC7B,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE;IACpC,aAAa,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE;IACjD,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE;CACzC,CAAC,CAAC;AAIH,MAAM,CAAC,MAAM,sBAAsB,GAAG,CAAC,CAAC,MAAM,CAAC;IAC7C,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;IACvB,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,WAAW,EAAE;IACzC,MAAM,EAAE,qBAAqB;IAC7B,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE;IACpC,aAAa,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE;IACjD,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE;CACrC,CAAC,CAAC;AAIH,MAAM,UAAU,yBAAyB,CAAC,MAAuB;IAC/D,OAAO,MAAM,KAAK,WAAW,IAAI,MAAM,KAAK,QAAQ,IAAI,MAAM,KAAK,SAAS,CAAC;AAC/E,CAAC"}
@@ -0,0 +1,96 @@
1
+ import { z } from "zod";
2
+ export declare const InteractionIntentTypeSchema: z.ZodEnum<["develop_book", "show_book_draft", "create_book", "discard_book_draft", "list_books", "select_book", "continue_book", "write_next", "pause_book", "resume_book", "revise_chapter", "rewrite_chapter", "patch_chapter_text", "edit_truth", "rename_entity", "update_focus", "update_author_intent", "chat", "explain_status", "explain_failure", "export_book", "switch_mode"]>;
3
+ export type InteractionIntentType = z.infer<typeof InteractionIntentTypeSchema>;
4
+ export declare const InteractionRequestSchema: z.ZodObject<{
5
+ intent: z.ZodEnum<["develop_book", "show_book_draft", "create_book", "discard_book_draft", "list_books", "select_book", "continue_book", "write_next", "pause_book", "resume_book", "revise_chapter", "rewrite_chapter", "patch_chapter_text", "edit_truth", "rename_entity", "update_focus", "update_author_intent", "chat", "explain_status", "explain_failure", "export_book", "switch_mode"]>;
6
+ bookId: z.ZodOptional<z.ZodString>;
7
+ chapterNumber: z.ZodOptional<z.ZodNumber>;
8
+ title: z.ZodOptional<z.ZodString>;
9
+ genre: z.ZodOptional<z.ZodString>;
10
+ platform: z.ZodOptional<z.ZodString>;
11
+ language: z.ZodOptional<z.ZodEnum<["zh", "en"]>>;
12
+ chapterWordCount: z.ZodOptional<z.ZodNumber>;
13
+ targetChapters: z.ZodOptional<z.ZodNumber>;
14
+ blurb: z.ZodOptional<z.ZodString>;
15
+ worldPremise: z.ZodOptional<z.ZodString>;
16
+ settingNotes: z.ZodOptional<z.ZodString>;
17
+ protagonist: z.ZodOptional<z.ZodString>;
18
+ supportingCast: z.ZodOptional<z.ZodString>;
19
+ conflictCore: z.ZodOptional<z.ZodString>;
20
+ volumeOutline: z.ZodOptional<z.ZodString>;
21
+ constraints: z.ZodOptional<z.ZodString>;
22
+ authorIntent: z.ZodOptional<z.ZodString>;
23
+ currentFocus: z.ZodOptional<z.ZodString>;
24
+ fileName: z.ZodOptional<z.ZodString>;
25
+ format: z.ZodOptional<z.ZodEnum<["txt", "md", "epub"]>>;
26
+ approvedOnly: z.ZodOptional<z.ZodBoolean>;
27
+ outputPath: z.ZodOptional<z.ZodString>;
28
+ oldValue: z.ZodOptional<z.ZodString>;
29
+ newValue: z.ZodOptional<z.ZodString>;
30
+ targetText: z.ZodOptional<z.ZodString>;
31
+ replacementText: z.ZodOptional<z.ZodString>;
32
+ instruction: z.ZodOptional<z.ZodString>;
33
+ mode: z.ZodOptional<z.ZodEnum<["auto", "semi", "manual"]>>;
34
+ }, "strip", z.ZodTypeAny, {
35
+ intent: "chat" | "develop_book" | "show_book_draft" | "create_book" | "discard_book_draft" | "list_books" | "select_book" | "continue_book" | "write_next" | "pause_book" | "resume_book" | "revise_chapter" | "rewrite_chapter" | "patch_chapter_text" | "edit_truth" | "rename_entity" | "update_focus" | "update_author_intent" | "explain_status" | "explain_failure" | "export_book" | "switch_mode";
36
+ title?: string | undefined;
37
+ platform?: string | undefined;
38
+ genre?: string | undefined;
39
+ targetChapters?: number | undefined;
40
+ chapterWordCount?: number | undefined;
41
+ language?: "zh" | "en" | undefined;
42
+ protagonist?: string | undefined;
43
+ authorIntent?: string | undefined;
44
+ currentFocus?: string | undefined;
45
+ volumeOutline?: string | undefined;
46
+ bookId?: string | undefined;
47
+ chapterNumber?: number | undefined;
48
+ blurb?: string | undefined;
49
+ worldPremise?: string | undefined;
50
+ settingNotes?: string | undefined;
51
+ supportingCast?: string | undefined;
52
+ conflictCore?: string | undefined;
53
+ constraints?: string | undefined;
54
+ fileName?: string | undefined;
55
+ format?: "txt" | "md" | "epub" | undefined;
56
+ approvedOnly?: boolean | undefined;
57
+ outputPath?: string | undefined;
58
+ oldValue?: string | undefined;
59
+ newValue?: string | undefined;
60
+ targetText?: string | undefined;
61
+ replacementText?: string | undefined;
62
+ instruction?: string | undefined;
63
+ mode?: "auto" | "semi" | "manual" | undefined;
64
+ }, {
65
+ intent: "chat" | "develop_book" | "show_book_draft" | "create_book" | "discard_book_draft" | "list_books" | "select_book" | "continue_book" | "write_next" | "pause_book" | "resume_book" | "revise_chapter" | "rewrite_chapter" | "patch_chapter_text" | "edit_truth" | "rename_entity" | "update_focus" | "update_author_intent" | "explain_status" | "explain_failure" | "export_book" | "switch_mode";
66
+ title?: string | undefined;
67
+ platform?: string | undefined;
68
+ genre?: string | undefined;
69
+ targetChapters?: number | undefined;
70
+ chapterWordCount?: number | undefined;
71
+ language?: "zh" | "en" | undefined;
72
+ protagonist?: string | undefined;
73
+ authorIntent?: string | undefined;
74
+ currentFocus?: string | undefined;
75
+ volumeOutline?: string | undefined;
76
+ bookId?: string | undefined;
77
+ chapterNumber?: number | undefined;
78
+ blurb?: string | undefined;
79
+ worldPremise?: string | undefined;
80
+ settingNotes?: string | undefined;
81
+ supportingCast?: string | undefined;
82
+ conflictCore?: string | undefined;
83
+ constraints?: string | undefined;
84
+ fileName?: string | undefined;
85
+ format?: "txt" | "md" | "epub" | undefined;
86
+ approvedOnly?: boolean | undefined;
87
+ outputPath?: string | undefined;
88
+ oldValue?: string | undefined;
89
+ newValue?: string | undefined;
90
+ targetText?: string | undefined;
91
+ replacementText?: string | undefined;
92
+ instruction?: string | undefined;
93
+ mode?: "auto" | "semi" | "manual" | undefined;
94
+ }>;
95
+ export type InteractionRequest = z.infer<typeof InteractionRequestSchema>;
96
+ //# sourceMappingURL=intents.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"intents.d.ts","sourceRoot":"","sources":["../../src/interaction/intents.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAGxB,eAAO,MAAM,2BAA2B,2XAuBtC,CAAC;AAEH,MAAM,MAAM,qBAAqB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,2BAA2B,CAAC,CAAC;AAEhF,eAAO,MAAM,wBAAwB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EA8BnC,CAAC;AAEH,MAAM,MAAM,kBAAkB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,wBAAwB,CAAC,CAAC"}
@@ -0,0 +1,58 @@
1
+ import { z } from "zod";
2
+ import { AutomationModeSchema } from "./modes.js";
3
+ export const InteractionIntentTypeSchema = z.enum([
4
+ "develop_book",
5
+ "show_book_draft",
6
+ "create_book",
7
+ "discard_book_draft",
8
+ "list_books",
9
+ "select_book",
10
+ "continue_book",
11
+ "write_next",
12
+ "pause_book",
13
+ "resume_book",
14
+ "revise_chapter",
15
+ "rewrite_chapter",
16
+ "patch_chapter_text",
17
+ "edit_truth",
18
+ "rename_entity",
19
+ "update_focus",
20
+ "update_author_intent",
21
+ "chat",
22
+ "explain_status",
23
+ "explain_failure",
24
+ "export_book",
25
+ "switch_mode",
26
+ ]);
27
+ export const InteractionRequestSchema = z.object({
28
+ intent: InteractionIntentTypeSchema,
29
+ bookId: z.string().min(1).optional(),
30
+ chapterNumber: z.number().int().min(1).optional(),
31
+ title: z.string().min(1).optional(),
32
+ genre: z.string().min(1).optional(),
33
+ platform: z.string().min(1).optional(),
34
+ language: z.enum(["zh", "en"]).optional(),
35
+ chapterWordCount: z.number().int().min(1).optional(),
36
+ targetChapters: z.number().int().min(1).optional(),
37
+ blurb: z.string().min(1).optional(),
38
+ worldPremise: z.string().min(1).optional(),
39
+ settingNotes: z.string().min(1).optional(),
40
+ protagonist: z.string().min(1).optional(),
41
+ supportingCast: z.string().min(1).optional(),
42
+ conflictCore: z.string().min(1).optional(),
43
+ volumeOutline: z.string().min(1).optional(),
44
+ constraints: z.string().min(1).optional(),
45
+ authorIntent: z.string().min(1).optional(),
46
+ currentFocus: z.string().min(1).optional(),
47
+ fileName: z.string().min(1).optional(),
48
+ format: z.enum(["txt", "md", "epub"]).optional(),
49
+ approvedOnly: z.boolean().optional(),
50
+ outputPath: z.string().min(1).optional(),
51
+ oldValue: z.string().min(1).optional(),
52
+ newValue: z.string().min(1).optional(),
53
+ targetText: z.string().min(1).optional(),
54
+ replacementText: z.string().min(1).optional(),
55
+ instruction: z.string().min(1).optional(),
56
+ mode: AutomationModeSchema.optional(),
57
+ });
58
+ //# sourceMappingURL=intents.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"intents.js","sourceRoot":"","sources":["../../src/interaction/intents.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,5 @@
1
+ import { z } from "zod";
2
+ export declare const AutomationModeSchema: z.ZodEnum<["auto", "semi", "manual"]>;
3
+ export type AutomationMode = z.infer<typeof AutomationModeSchema>;
4
+ export declare function normalizeAutomationMode(mode: string | undefined, fallback?: AutomationMode): AutomationMode;
5
+ //# sourceMappingURL=modes.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"modes.d.ts","sourceRoot":"","sources":["../../src/interaction/modes.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,eAAO,MAAM,oBAAoB,uCAAqC,CAAC;AAEvE,MAAM,MAAM,cAAc,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,oBAAoB,CAAC,CAAC;AAElE,wBAAgB,uBAAuB,CACrC,IAAI,EAAE,MAAM,GAAG,SAAS,EACxB,QAAQ,GAAE,cAAuB,GAChC,cAAc,CAGhB"}