olympus-ai 3.2.2 → 3.3.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 (158) hide show
  1. package/.claude-plugin/plugin.json +1 -1
  2. package/dist/__tests__/ascent-checkpoint.test.d.ts +2 -0
  3. package/dist/__tests__/ascent-checkpoint.test.d.ts.map +1 -0
  4. package/dist/__tests__/ascent-checkpoint.test.js +261 -0
  5. package/dist/__tests__/ascent-checkpoint.test.js.map +1 -0
  6. package/dist/__tests__/config-ascent.test.d.ts +2 -0
  7. package/dist/__tests__/config-ascent.test.d.ts.map +1 -0
  8. package/dist/__tests__/config-ascent.test.js +134 -0
  9. package/dist/__tests__/config-ascent.test.js.map +1 -0
  10. package/dist/__tests__/hook-blocking.test.d.ts +8 -0
  11. package/dist/__tests__/hook-blocking.test.d.ts.map +1 -0
  12. package/dist/__tests__/hook-blocking.test.js +277 -0
  13. package/dist/__tests__/hook-blocking.test.js.map +1 -0
  14. package/dist/__tests__/installer.test.js +1 -1
  15. package/dist/__tests__/metrics-cli.test.d.ts +5 -0
  16. package/dist/__tests__/metrics-cli.test.d.ts.map +1 -0
  17. package/dist/__tests__/metrics-cli.test.js +24 -0
  18. package/dist/__tests__/metrics-cli.test.js.map +1 -0
  19. package/dist/__tests__/skill-auto-detection.test.d.ts +2 -0
  20. package/dist/__tests__/skill-auto-detection.test.d.ts.map +1 -0
  21. package/dist/__tests__/skill-auto-detection.test.js +255 -0
  22. package/dist/__tests__/skill-auto-detection.test.js.map +1 -0
  23. package/dist/__tests__/token-estimator.test.d.ts +5 -0
  24. package/dist/__tests__/token-estimator.test.d.ts.map +1 -0
  25. package/dist/__tests__/token-estimator.test.js +192 -0
  26. package/dist/__tests__/token-estimator.test.js.map +1 -0
  27. package/dist/agents/definitions.d.ts.map +1 -1
  28. package/dist/agents/definitions.js +83 -1
  29. package/dist/agents/definitions.js.map +1 -1
  30. package/dist/agents/document-writer.d.ts.map +1 -1
  31. package/dist/agents/document-writer.js +38 -0
  32. package/dist/agents/document-writer.js.map +1 -1
  33. package/dist/agents/frontend-engineer.d.ts.map +1 -1
  34. package/dist/agents/frontend-engineer.js +16 -0
  35. package/dist/agents/frontend-engineer.js.map +1 -1
  36. package/dist/agents/olympian.d.ts.map +1 -1
  37. package/dist/agents/olympian.js +15 -0
  38. package/dist/agents/olympian.js.map +1 -1
  39. package/dist/cli/commands/metrics.d.ts +31 -0
  40. package/dist/cli/commands/metrics.d.ts.map +1 -0
  41. package/dist/cli/commands/metrics.js +266 -0
  42. package/dist/cli/commands/metrics.js.map +1 -0
  43. package/dist/cli/index.js +39 -0
  44. package/dist/cli/index.js.map +1 -1
  45. package/dist/config/loader.d.ts.map +1 -1
  46. package/dist/config/loader.js +16 -0
  47. package/dist/config/loader.js.map +1 -1
  48. package/dist/features/ascent-checkpoint/index.d.ts +48 -0
  49. package/dist/features/ascent-checkpoint/index.d.ts.map +1 -0
  50. package/dist/features/ascent-checkpoint/index.js +144 -0
  51. package/dist/features/ascent-checkpoint/index.js.map +1 -0
  52. package/dist/features/hook-logging/index.d.ts +37 -0
  53. package/dist/features/hook-logging/index.d.ts.map +1 -0
  54. package/dist/features/hook-logging/index.js +120 -0
  55. package/dist/features/hook-logging/index.js.map +1 -0
  56. package/dist/features/hook-logging/index.test.d.ts +5 -0
  57. package/dist/features/hook-logging/index.test.d.ts.map +1 -0
  58. package/dist/features/hook-logging/index.test.js +268 -0
  59. package/dist/features/hook-logging/index.test.js.map +1 -0
  60. package/dist/features/index.d.ts +3 -0
  61. package/dist/features/index.d.ts.map +1 -1
  62. package/dist/features/index.js +8 -0
  63. package/dist/features/index.js.map +1 -1
  64. package/dist/features/magic-keywords.d.ts +51 -0
  65. package/dist/features/magic-keywords.d.ts.map +1 -1
  66. package/dist/features/magic-keywords.js +172 -0
  67. package/dist/features/magic-keywords.js.map +1 -1
  68. package/dist/features/session-state/index.d.ts +50 -0
  69. package/dist/features/session-state/index.d.ts.map +1 -0
  70. package/dist/features/session-state/index.js +64 -0
  71. package/dist/features/session-state/index.js.map +1 -0
  72. package/dist/features/session-state/index.test.d.ts +5 -0
  73. package/dist/features/session-state/index.test.d.ts.map +1 -0
  74. package/dist/features/session-state/index.test.js +221 -0
  75. package/dist/features/session-state/index.test.js.map +1 -0
  76. package/dist/features/token-metrics/index.d.ts +6 -0
  77. package/dist/features/token-metrics/index.d.ts.map +1 -0
  78. package/dist/features/token-metrics/index.js +5 -0
  79. package/dist/features/token-metrics/index.js.map +1 -0
  80. package/dist/features/token-metrics/storage.d.ts +16 -0
  81. package/dist/features/token-metrics/storage.d.ts.map +1 -0
  82. package/dist/features/token-metrics/storage.js +144 -0
  83. package/dist/features/token-metrics/storage.js.map +1 -0
  84. package/dist/features/token-metrics/token-estimator.d.ts +66 -0
  85. package/dist/features/token-metrics/token-estimator.d.ts.map +1 -0
  86. package/dist/features/token-metrics/token-estimator.js +230 -0
  87. package/dist/features/token-metrics/token-estimator.js.map +1 -0
  88. package/dist/features/token-metrics/types.d.ts +63 -0
  89. package/dist/features/token-metrics/types.d.ts.map +1 -0
  90. package/dist/features/token-metrics/types.js +5 -0
  91. package/dist/features/token-metrics/types.js.map +1 -0
  92. package/dist/hooks/olympus-orchestrator/constants.d.ts +2 -0
  93. package/dist/hooks/olympus-orchestrator/constants.d.ts.map +1 -1
  94. package/dist/hooks/olympus-orchestrator/constants.js +41 -0
  95. package/dist/hooks/olympus-orchestrator/constants.js.map +1 -1
  96. package/dist/hooks/olympus-orchestrator/index.d.ts +10 -1
  97. package/dist/hooks/olympus-orchestrator/index.d.ts.map +1 -1
  98. package/dist/hooks/olympus-orchestrator/index.js +108 -14
  99. package/dist/hooks/olympus-orchestrator/index.js.map +1 -1
  100. package/dist/hooks/registrations/index.d.ts +2 -1
  101. package/dist/hooks/registrations/index.d.ts.map +1 -1
  102. package/dist/hooks/registrations/index.js +3 -1
  103. package/dist/hooks/registrations/index.js.map +1 -1
  104. package/dist/hooks/registrations/token-metrics.d.ts +11 -0
  105. package/dist/hooks/registrations/token-metrics.d.ts.map +1 -0
  106. package/dist/hooks/registrations/token-metrics.js +119 -0
  107. package/dist/hooks/registrations/token-metrics.js.map +1 -0
  108. package/dist/installer/index.d.ts +1 -1
  109. package/dist/installer/index.d.ts.map +1 -1
  110. package/dist/installer/index.js +334 -9
  111. package/dist/installer/index.js.map +1 -1
  112. package/dist/shared/types.d.ts +16 -0
  113. package/dist/shared/types.d.ts.map +1 -1
  114. package/package.json +3 -3
  115. package/scripts/.olympus/token-metrics.jsonl +1 -0
  116. package/scripts/dist/hooks/olympus-hooks.cjs +127 -128
  117. package/scripts/esbuild.hooks.mjs +1 -1
  118. package/.claude/.olympus-version.json +0 -6
  119. package/.claude/CLAUDE.md +0 -339
  120. package/.claude/agents/document-writer.md +0 -152
  121. package/.claude/agents/explore-medium.md +0 -25
  122. package/.claude/agents/explore.md +0 -86
  123. package/.claude/agents/frontend-engineer-high.md +0 -17
  124. package/.claude/agents/frontend-engineer-low.md +0 -17
  125. package/.claude/agents/frontend-engineer.md +0 -80
  126. package/.claude/agents/librarian-low.md +0 -22
  127. package/.claude/agents/librarian.md +0 -70
  128. package/.claude/agents/metis.md +0 -85
  129. package/.claude/agents/momus.md +0 -97
  130. package/.claude/agents/multimodal-looker.md +0 -39
  131. package/.claude/agents/olympian-high.md +0 -32
  132. package/.claude/agents/olympian-low.md +0 -22
  133. package/.claude/agents/olympian.md +0 -78
  134. package/.claude/agents/oracle-low.md +0 -23
  135. package/.claude/agents/oracle-medium.md +0 -28
  136. package/.claude/agents/oracle.md +0 -77
  137. package/.claude/agents/prometheus.md +0 -125
  138. package/.claude/agents/qa-tester.md +0 -220
  139. package/.claude/commands/analyze/skill.md +0 -14
  140. package/.claude/commands/ascent/skill.md +0 -152
  141. package/.claude/commands/cancel-ascent.md +0 -9
  142. package/.claude/commands/complete-plan.md +0 -101
  143. package/.claude/commands/deepsearch/skill.md +0 -15
  144. package/.claude/commands/olympus/skill.md +0 -82
  145. package/.claude/commands/olympus-default.md +0 -26
  146. package/.claude/commands/plan.md +0 -71
  147. package/.claude/commands/prometheus/skill.md +0 -38
  148. package/.claude/commands/review/skill.md +0 -34
  149. package/.claude/commands/ultrawork/skill.md +0 -90
  150. package/.claude/commands/update.md +0 -38
  151. package/scripts/generate-logo-hybrid-v2.mjs +0 -213
  152. package/scripts/generate-logo-hybrid.mjs +0 -209
  153. package/scripts/generate-logo-infinity.mjs +0 -239
  154. package/scripts/generate-logo-mythology.mjs +0 -190
  155. package/scripts/generate-logo-orchestration.mjs +0 -228
  156. package/scripts/generate-logo-recraft.mjs +0 -147
  157. package/scripts/generate-logo-simple.mjs +0 -154
  158. package/scripts/generate-logo.mjs +0 -117
@@ -8,5 +8,8 @@ export { type QuestState, type PlanProgress, type PlanSummary, OLYMPUS_DIR, QUES
8
8
  export { ContextCollector, contextCollector, injectPendingContext, injectContextIntoText, createContextInjectorHook, type ContextSourceType, type ContextPriority, type ContextEntry, type RegisterContextOptions, type PendingContext, type MessageContext, type OutputPart, type InjectionStrategy, type InjectionResult } from './context-injector/index.js';
9
9
  export { BackgroundManager, ConcurrencyManager, getBackgroundManager, resetBackgroundManager, type BackgroundTask, type BackgroundTaskStatus, type BackgroundTaskConfig, type LaunchInput, type ResumeInput, type TaskProgress } from './background-agent/index.js';
10
10
  export { createBuiltinSkills, getBuiltinSkill, listBuiltinSkillNames, type BuiltinSkill, type SkillMcpConfig, type SkillRegistry } from './builtin-skills/index.js';
11
+ export { saveCheckpoint, loadCheckpoint, listCheckpoints, validateCheckpoint, hashPlanContent, getGitSha, getCheckpointsDir, type AscentCheckpoint } from './ascent-checkpoint/index.js';
11
12
  export { routeTask, routeWithEscalation, routeAndAdaptTask, escalateModel, canEscalate, explainRouting, quickTierForAgent, extractLexicalSignals, extractStructuralSignals, extractContextSignals, extractAllSignals, calculateComplexityScore, calculateComplexityTier, scoreToTier, getScoreBreakdown, calculateConfidence, evaluateRules, getMatchingRules, createRule, mergeRules, DEFAULT_ROUTING_RULES, adaptPromptForTier, getPromptStrategy, getPromptPrefix, getPromptSuffix, createDelegationPrompt, getTaskInstructions, TIER_MODELS, TIER_TO_MODEL_TYPE, DEFAULT_ROUTING_CONFIG, AGENT_CATEGORY_TIERS, COMPLEXITY_KEYWORDS, TIER_PROMPT_STRATEGIES, TIER_TASK_INSTRUCTIONS, type ComplexityTier, type ComplexitySignals, type LexicalSignals, type StructuralSignals, type ContextSignals, type RoutingDecision, type RoutingContext, type RoutingConfig, type RoutingRule, type PromptAdaptationStrategy, } from './model-routing/index.js';
13
+ export { SessionState, sessionState, type TaskCompletion } from './session-state/index.js';
14
+ export { logViolation, getViolationStats, readViolations, clearViolations, type HookViolation } from './hook-logging/index.js';
12
15
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/features/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EACL,2BAA2B,EAC3B,mBAAmB,EACnB,oBAAoB,EACrB,MAAM,qBAAqB,CAAC;AAE7B,OAAO,EACL,sBAAsB,EACtB,gCAAgC,EAChC,uBAAuB,EACvB,0BAA0B,EAC3B,MAAM,+BAA+B,CAAC;AAEvC,OAAO,EAEL,KAAK,eAAe,EACpB,KAAK,WAAW,EAChB,KAAK,iBAAiB,EACtB,KAAK,YAAY,EACjB,KAAK,kBAAkB,EAEvB,UAAU,EACV,SAAS,EACT,cAAc,EACd,cAAc,EACd,iBAAiB,EACjB,YAAY,EAEZ,mBAAmB,EACnB,mBAAmB,EACnB,mBAAmB,EACnB,kBAAkB,EAClB,eAAe,EACf,eAAe,EACf,aAAa,EACb,wBAAwB,EACxB,qBAAqB,EACrB,qBAAqB,EACrB,iBAAiB,EAEjB,gBAAgB,EAChB,uBAAuB,EACvB,yBAAyB,EACzB,uBAAuB,EACvB,oBAAoB,EACrB,MAAM,kBAAkB,CAAC;AAG1B,OAAO,EAEL,KAAK,UAAU,EACf,KAAK,YAAY,EACjB,KAAK,WAAW,EAEhB,WAAW,EACX,UAAU,EACV,gBAAgB,EAChB,WAAW,EACX,iBAAiB,EACjB,oBAAoB,EACpB,cAAc,EAEd,gBAAgB,EAChB,cAAc,EACd,eAAe,EACf,eAAe,EACf,eAAe,EACf,mBAAmB,EACnB,eAAe,EACf,WAAW,EACX,gBAAgB,EAChB,gBAAgB,EAChB,cAAc,EACd,iBAAiB,EAClB,MAAM,wBAAwB,CAAC;AAGhC,OAAO,EAEL,gBAAgB,EAChB,gBAAgB,EAEhB,oBAAoB,EACpB,qBAAqB,EACrB,yBAAyB,EAEzB,KAAK,iBAAiB,EACtB,KAAK,eAAe,EACpB,KAAK,YAAY,EACjB,KAAK,sBAAsB,EAC3B,KAAK,cAAc,EACnB,KAAK,cAAc,EACnB,KAAK,UAAU,EACf,KAAK,iBAAiB,EACtB,KAAK,eAAe,EACrB,MAAM,6BAA6B,CAAC;AAGrC,OAAO,EAEL,iBAAiB,EACjB,kBAAkB,EAElB,oBAAoB,EACpB,sBAAsB,EAEtB,KAAK,cAAc,EACnB,KAAK,oBAAoB,EACzB,KAAK,oBAAoB,EACzB,KAAK,WAAW,EAChB,KAAK,WAAW,EAChB,KAAK,YAAY,EAClB,MAAM,6BAA6B,CAAC;AAGrC,OAAO,EAEL,mBAAmB,EACnB,eAAe,EACf,qBAAqB,EAErB,KAAK,YAAY,EACjB,KAAK,cAAc,EACnB,KAAK,aAAa,EACnB,MAAM,2BAA2B,CAAC;AAGnC,OAAO,EAEL,SAAS,EACT,mBAAmB,EACnB,iBAAiB,EACjB,aAAa,EACb,WAAW,EACX,cAAc,EACd,iBAAiB,EAEjB,qBAAqB,EACrB,wBAAwB,EACxB,qBAAqB,EACrB,iBAAiB,EAEjB,wBAAwB,EACxB,uBAAuB,EACvB,WAAW,EACX,iBAAiB,EACjB,mBAAmB,EAEnB,aAAa,EACb,gBAAgB,EAChB,UAAU,EACV,UAAU,EACV,qBAAqB,EAErB,kBAAkB,EAClB,iBAAiB,EACjB,eAAe,EACf,eAAe,EACf,sBAAsB,EACtB,mBAAmB,EAEnB,WAAW,EACX,kBAAkB,EAClB,sBAAsB,EACtB,oBAAoB,EACpB,mBAAmB,EACnB,sBAAsB,EACtB,sBAAsB,EAEtB,KAAK,cAAc,EACnB,KAAK,iBAAiB,EACtB,KAAK,cAAc,EACnB,KAAK,iBAAiB,EACtB,KAAK,cAAc,EACnB,KAAK,eAAe,EACpB,KAAK,cAAc,EACnB,KAAK,aAAa,EAClB,KAAK,WAAW,EAChB,KAAK,wBAAwB,GAC9B,MAAM,0BAA0B,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/features/index.ts"],"names":[],"mappings":"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"}
@@ -32,6 +32,10 @@ getBackgroundManager, resetBackgroundManager } from './background-agent/index.js
32
32
  export {
33
33
  // Functions
34
34
  createBuiltinSkills, getBuiltinSkill, listBuiltinSkillNames } from './builtin-skills/index.js';
35
+ // Ascent Checkpoint - checkpoint system for ascent safety
36
+ export {
37
+ // Functions
38
+ saveCheckpoint, loadCheckpoint, listCheckpoints, validateCheckpoint, hashPlanContent, getGitSha, getCheckpointsDir } from './ascent-checkpoint/index.js';
35
39
  // Model Routing - intelligent model tier routing
36
40
  export {
37
41
  // Main functions
@@ -46,4 +50,8 @@ evaluateRules, getMatchingRules, createRule, mergeRules, DEFAULT_ROUTING_RULES,
46
50
  adaptPromptForTier, getPromptStrategy, getPromptPrefix, getPromptSuffix, createDelegationPrompt, getTaskInstructions,
47
51
  // Constants
48
52
  TIER_MODELS, TIER_TO_MODEL_TYPE, DEFAULT_ROUTING_CONFIG, AGENT_CATEGORY_TIERS, COMPLEXITY_KEYWORDS, TIER_PROMPT_STRATEGIES, TIER_TASK_INSTRUCTIONS, } from './model-routing/index.js';
53
+ // Session State - task completion tracking
54
+ export { SessionState, sessionState } from './session-state/index.js';
55
+ // Hook Logging - violation logging
56
+ export { logViolation, getViolationStats, readViolations, clearViolations } from './hook-logging/index.js';
49
57
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/features/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EACL,2BAA2B,EAC3B,mBAAmB,EACnB,oBAAoB,EACrB,MAAM,qBAAqB,CAAC;AAE7B,OAAO,EACL,sBAAsB,EACtB,gCAAgC,EAChC,uBAAuB,EACvB,0BAA0B,EAC3B,MAAM,+BAA+B,CAAC;AAEvC,OAAO;AAOL,YAAY;AACZ,UAAU,EACV,SAAS,EACT,cAAc,EACd,cAAc,EACd,iBAAiB,EACjB,YAAY;AACZ,YAAY;AACZ,mBAAmB,EACnB,mBAAmB,EACnB,mBAAmB,EACnB,kBAAkB,EAClB,eAAe,EACf,eAAe,EACf,aAAa,EACb,wBAAwB,EACxB,qBAAqB,EACrB,qBAAqB,EACrB,iBAAiB;AACjB,qBAAqB;AACrB,gBAAgB,EAChB,uBAAuB,EACvB,yBAAyB,EACzB,uBAAuB,EACvB,oBAAoB,EACrB,MAAM,kBAAkB,CAAC;AAE1B,sCAAsC;AACtC,OAAO;AAKL,YAAY;AACZ,WAAW,EACX,UAAU,EACV,gBAAgB,EAChB,WAAW,EACX,iBAAiB,EACjB,oBAAoB,EACpB,cAAc;AACd,YAAY;AACZ,gBAAgB,EAChB,cAAc,EACd,eAAe,EACf,eAAe,EACf,eAAe,EACf,mBAAmB,EACnB,eAAe,EACf,WAAW,EACX,gBAAgB,EAChB,gBAAgB,EAChB,cAAc,EACd,iBAAiB,EAClB,MAAM,wBAAwB,CAAC;AAEhC,mEAAmE;AACnE,OAAO;AACL,UAAU;AACV,gBAAgB,EAChB,gBAAgB;AAChB,YAAY;AACZ,oBAAoB,EACpB,qBAAqB,EACrB,yBAAyB,EAW1B,MAAM,6BAA6B,CAAC;AAErC,gDAAgD;AAChD,OAAO;AACL,UAAU;AACV,iBAAiB,EACjB,kBAAkB;AAClB,YAAY;AACZ,oBAAoB,EACpB,sBAAsB,EAQvB,MAAM,6BAA6B,CAAC;AAErC,6CAA6C;AAC7C,OAAO;AACL,YAAY;AACZ,mBAAmB,EACnB,eAAe,EACf,qBAAqB,EAKtB,MAAM,2BAA2B,CAAC;AAEnC,iDAAiD;AACjD,OAAO;AACL,iBAAiB;AACjB,SAAS,EACT,mBAAmB,EACnB,iBAAiB,EACjB,aAAa,EACb,WAAW,EACX,cAAc,EACd,iBAAiB;AACjB,oBAAoB;AACpB,qBAAqB,EACrB,wBAAwB,EACxB,qBAAqB,EACrB,iBAAiB;AACjB,UAAU;AACV,wBAAwB,EACxB,uBAAuB,EACvB,WAAW,EACX,iBAAiB,EACjB,mBAAmB;AACnB,QAAQ;AACR,aAAa,EACb,gBAAgB,EAChB,UAAU,EACV,UAAU,EACV,qBAAqB;AACrB,oBAAoB;AACpB,kBAAkB,EAClB,iBAAiB,EACjB,eAAe,EACf,eAAe,EACf,sBAAsB,EACtB,mBAAmB;AACnB,YAAY;AACZ,WAAW,EACX,kBAAkB,EAClB,sBAAsB,EACtB,oBAAoB,EACpB,mBAAmB,EACnB,sBAAsB,EACtB,sBAAsB,GAYvB,MAAM,0BAA0B,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/features/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EACL,2BAA2B,EAC3B,mBAAmB,EACnB,oBAAoB,EACrB,MAAM,qBAAqB,CAAC;AAE7B,OAAO,EACL,sBAAsB,EACtB,gCAAgC,EAChC,uBAAuB,EACvB,0BAA0B,EAC3B,MAAM,+BAA+B,CAAC;AAEvC,OAAO;AAOL,YAAY;AACZ,UAAU,EACV,SAAS,EACT,cAAc,EACd,cAAc,EACd,iBAAiB,EACjB,YAAY;AACZ,YAAY;AACZ,mBAAmB,EACnB,mBAAmB,EACnB,mBAAmB,EACnB,kBAAkB,EAClB,eAAe,EACf,eAAe,EACf,aAAa,EACb,wBAAwB,EACxB,qBAAqB,EACrB,qBAAqB,EACrB,iBAAiB;AACjB,qBAAqB;AACrB,gBAAgB,EAChB,uBAAuB,EACvB,yBAAyB,EACzB,uBAAuB,EACvB,oBAAoB,EACrB,MAAM,kBAAkB,CAAC;AAE1B,sCAAsC;AACtC,OAAO;AAKL,YAAY;AACZ,WAAW,EACX,UAAU,EACV,gBAAgB,EAChB,WAAW,EACX,iBAAiB,EACjB,oBAAoB,EACpB,cAAc;AACd,YAAY;AACZ,gBAAgB,EAChB,cAAc,EACd,eAAe,EACf,eAAe,EACf,eAAe,EACf,mBAAmB,EACnB,eAAe,EACf,WAAW,EACX,gBAAgB,EAChB,gBAAgB,EAChB,cAAc,EACd,iBAAiB,EAClB,MAAM,wBAAwB,CAAC;AAEhC,mEAAmE;AACnE,OAAO;AACL,UAAU;AACV,gBAAgB,EAChB,gBAAgB;AAChB,YAAY;AACZ,oBAAoB,EACpB,qBAAqB,EACrB,yBAAyB,EAW1B,MAAM,6BAA6B,CAAC;AAErC,gDAAgD;AAChD,OAAO;AACL,UAAU;AACV,iBAAiB,EACjB,kBAAkB;AAClB,YAAY;AACZ,oBAAoB,EACpB,sBAAsB,EAQvB,MAAM,6BAA6B,CAAC;AAErC,6CAA6C;AAC7C,OAAO;AACL,YAAY;AACZ,mBAAmB,EACnB,eAAe,EACf,qBAAqB,EAKtB,MAAM,2BAA2B,CAAC;AAEnC,0DAA0D;AAC1D,OAAO;AACL,YAAY;AACZ,cAAc,EACd,cAAc,EACd,eAAe,EACf,kBAAkB,EAClB,eAAe,EACf,SAAS,EACT,iBAAiB,EAGlB,MAAM,8BAA8B,CAAC;AAEtC,iDAAiD;AACjD,OAAO;AACL,iBAAiB;AACjB,SAAS,EACT,mBAAmB,EACnB,iBAAiB,EACjB,aAAa,EACb,WAAW,EACX,cAAc,EACd,iBAAiB;AACjB,oBAAoB;AACpB,qBAAqB,EACrB,wBAAwB,EACxB,qBAAqB,EACrB,iBAAiB;AACjB,UAAU;AACV,wBAAwB,EACxB,uBAAuB,EACvB,WAAW,EACX,iBAAiB,EACjB,mBAAmB;AACnB,QAAQ;AACR,aAAa,EACb,gBAAgB,EAChB,UAAU,EACV,UAAU,EACV,qBAAqB;AACrB,oBAAoB;AACpB,kBAAkB,EAClB,iBAAiB,EACjB,eAAe,EACf,eAAe,EACf,sBAAsB,EACtB,mBAAmB;AACnB,YAAY;AACZ,WAAW,EACX,kBAAkB,EAClB,sBAAsB,EACtB,oBAAoB,EACpB,mBAAmB,EACnB,sBAAsB,EACtB,sBAAsB,GAYvB,MAAM,0BAA0B,CAAC;AAElC,2CAA2C;AAC3C,OAAO,EACL,YAAY,EACZ,YAAY,EAEb,MAAM,0BAA0B,CAAC;AAElC,mCAAmC;AACnC,OAAO,EACL,YAAY,EACZ,iBAAiB,EACjB,cAAc,EACd,eAAe,EAEhB,MAAM,yBAAyB,CAAC"}
@@ -10,6 +10,11 @@
10
10
  * - ANALYZE: Delegate to oracle agent
11
11
  * - ASCENT: Relentless persistence mode
12
12
  *
13
+ * Skill Auto-Detection:
14
+ * - FRONTEND-UI-UX: Detects UI/component/design work with 2+ visual keywords
15
+ * - GIT-MASTER: Detects refactor/rename/restructure operations
16
+ * - ASCENT: Detects completion signals like "must complete", "don't stop", "until done"
17
+ *
13
18
  * Behavior: Strips code blocks before detection to avoid false positives
14
19
  * Configuration: Customizable keyword patterns via olympus.jsonc
15
20
  */
@@ -34,4 +39,50 @@ export declare function extractPromptText(parts: Array<{
34
39
  text?: string;
35
40
  [key: string]: unknown;
36
41
  }>): string;
42
+ /**
43
+ * Auto-detect frontend-ui-ux skill from prompt
44
+ *
45
+ * Detection logic:
46
+ * - Primary keywords: component, ui, ux, design, styling, css, html, tailwind, sass, scss
47
+ * - Element keywords: button, modal, dialog, form, input, navbar, sidebar, menu, dropdown, card, layout
48
+ * - Action keywords: animate, responsive, theme, style
49
+ * - Negative signals: api, backend, server, database, endpoint, query, migration
50
+ *
51
+ * Rules:
52
+ * - Check negative signals first (if present, return false)
53
+ * - Require 2+ keyword matches from primary/elements/actions
54
+ */
55
+ export declare function detectFrontendUiUx(prompt: string): boolean;
56
+ /**
57
+ * Auto-detect git-master skill from prompt
58
+ *
59
+ * Detection logic:
60
+ * - Trigger keywords: refactor, rename, reorganize, migrate, restructure, move files
61
+ * - Post-Task activation: when 2+ files modified (checked via hook)
62
+ * - Check git status is clean before activation
63
+ *
64
+ * Rules:
65
+ * - Check prompt for trigger keywords
66
+ * - Skip if git status dirty (unsafe to start)
67
+ */
68
+ export declare function detectGitMaster(prompt: string): boolean;
69
+ /**
70
+ * Auto-detect ascent skill from prompt
71
+ *
72
+ * Detection logic:
73
+ * - Positive patterns: don't stop, must complete, finish this/it/everything,
74
+ * complete all/everything, until done/complete/finished, keep going, don't give up
75
+ * - Negative patterns: try, attempt, explore, investigate, check if, see if
76
+ *
77
+ * Rules:
78
+ * - Check negative patterns first (if match, return false)
79
+ * - Use regex for positive patterns (handle contractions)
80
+ * - Return true if any positive pattern matches
81
+ */
82
+ export declare function detectAscent(prompt: string): boolean;
83
+ /**
84
+ * Detect all skills from a prompt
85
+ * Returns array of skill names that should be activated
86
+ */
87
+ export declare function detectSkills(prompt: string): string[];
37
88
  //# sourceMappingURL=magic-keywords.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"magic-keywords.d.ts","sourceRoot":"","sources":["../../src/features/magic-keywords.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,KAAK,EAAE,YAAY,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AA2UrE;;GAEG;AACH,eAAO,MAAM,oBAAoB,EAAE,YAAY,EAK9C,CAAC;AAEF;;GAEG;AACH,wBAAgB,2BAA2B,CAAC,MAAM,CAAC,EAAE,YAAY,CAAC,eAAe,CAAC,GAAG,CAAC,MAAM,EAAE,MAAM,KAAK,MAAM,CA+C9G;AAED;;GAEG;AACH,wBAAgB,mBAAmB,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,YAAY,CAAC,eAAe,CAAC,GAAG,MAAM,EAAE,CAoCpG;AAED;;GAEG;AACH,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,KAAK,CAAC;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,IAAI,CAAC,EAAE,MAAM,CAAC;IAAC,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAA;CAAE,CAAC,GAAG,MAAM,CAK/G"}
1
+ {"version":3,"file":"magic-keywords.d.ts","sourceRoot":"","sources":["../../src/features/magic-keywords.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;GAmBG;AAEH,OAAO,KAAK,EAAE,YAAY,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AA2UrE;;GAEG;AACH,eAAO,MAAM,oBAAoB,EAAE,YAAY,EAK9C,CAAC;AAEF;;GAEG;AACH,wBAAgB,2BAA2B,CAAC,MAAM,CAAC,EAAE,YAAY,CAAC,eAAe,CAAC,GAAG,CAAC,MAAM,EAAE,MAAM,KAAK,MAAM,CA+C9G;AAED;;GAEG;AACH,wBAAgB,mBAAmB,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,YAAY,CAAC,eAAe,CAAC,GAAG,MAAM,EAAE,CAoCpG;AAED;;GAEG;AACH,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,KAAK,CAAC;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,IAAI,CAAC,EAAE,MAAM,CAAC;IAAC,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAA;CAAE,CAAC,GAAG,MAAM,CAK/G;AAED;;;;;;;;;;;;GAYG;AACH,wBAAgB,kBAAkB,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAoE1D;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,eAAe,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAoBvD;AAED;;;;;;;;;;;;GAYG;AACH,wBAAgB,YAAY,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAqCpD;AAED;;;GAGG;AACH,wBAAgB,YAAY,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,EAAE,CAgBrD"}
@@ -10,6 +10,11 @@
10
10
  * - ANALYZE: Delegate to oracle agent
11
11
  * - ASCENT: Relentless persistence mode
12
12
  *
13
+ * Skill Auto-Detection:
14
+ * - FRONTEND-UI-UX: Detects UI/component/design work with 2+ visual keywords
15
+ * - GIT-MASTER: Detects refactor/rename/restructure operations
16
+ * - ASCENT: Detects completion signals like "must complete", "don't stop", "until done"
17
+ *
13
18
  * Behavior: Strips code blocks before detection to avoid false positives
14
19
  * Configuration: Customizable keyword patterns via olympus.jsonc
15
20
  */
@@ -427,4 +432,171 @@ export function extractPromptText(parts) {
427
432
  .map(p => p.text ?? '')
428
433
  .join('\n');
429
434
  }
435
+ /**
436
+ * Auto-detect frontend-ui-ux skill from prompt
437
+ *
438
+ * Detection logic:
439
+ * - Primary keywords: component, ui, ux, design, styling, css, html, tailwind, sass, scss
440
+ * - Element keywords: button, modal, dialog, form, input, navbar, sidebar, menu, dropdown, card, layout
441
+ * - Action keywords: animate, responsive, theme, style
442
+ * - Negative signals: api, backend, server, database, endpoint, query, migration
443
+ *
444
+ * Rules:
445
+ * - Check negative signals first (if present, return false)
446
+ * - Require 2+ keyword matches from primary/elements/actions
447
+ */
448
+ export function detectFrontendUiUx(prompt) {
449
+ const cleanPrompt = removeCodeBlocks(prompt).toLowerCase();
450
+ // Negative signals - if present, NOT a frontend task
451
+ const negativeSignals = [
452
+ /\bapi\b/,
453
+ /\bbackend\b/,
454
+ /\bserver\b/,
455
+ /\bdatabase\b/,
456
+ /\bendpoint\b/,
457
+ /\bquery\b/,
458
+ /\bmigration\b/
459
+ ];
460
+ for (const signal of negativeSignals) {
461
+ if (signal.test(cleanPrompt)) {
462
+ return false;
463
+ }
464
+ }
465
+ // Primary keywords
466
+ const primaryKeywords = [
467
+ /\bcomponent\b/,
468
+ /\bui\b/,
469
+ /\bux\b/,
470
+ /\bdesign\b/,
471
+ /\bstyling\b/,
472
+ /\bcss\b/,
473
+ /\bhtml\b/,
474
+ /\btailwind\b/,
475
+ /\bsass\b/,
476
+ /\bscss\b/
477
+ ];
478
+ // Element keywords
479
+ const elementKeywords = [
480
+ /\bbutton\b/,
481
+ /\bmodal\b/,
482
+ /\bdialog\b/,
483
+ /\bform\b/,
484
+ /\binput\b/,
485
+ /\bnavbar\b/,
486
+ /\bsidebar\b/,
487
+ /\bmenu\b/,
488
+ /\bdropdown\b/,
489
+ /\bcard\b/,
490
+ /\blayout\b/
491
+ ];
492
+ // Action keywords
493
+ const actionKeywords = [
494
+ /\banimate\b/,
495
+ /\bresponsive\b/,
496
+ /\btheme\b/,
497
+ /\bstyle\b/
498
+ ];
499
+ // Count matches
500
+ let matchCount = 0;
501
+ for (const keyword of [...primaryKeywords, ...elementKeywords, ...actionKeywords]) {
502
+ if (keyword.test(cleanPrompt)) {
503
+ matchCount++;
504
+ }
505
+ }
506
+ // Require 2+ keyword matches
507
+ return matchCount >= 2;
508
+ }
509
+ /**
510
+ * Auto-detect git-master skill from prompt
511
+ *
512
+ * Detection logic:
513
+ * - Trigger keywords: refactor, rename, reorganize, migrate, restructure, move files
514
+ * - Post-Task activation: when 2+ files modified (checked via hook)
515
+ * - Check git status is clean before activation
516
+ *
517
+ * Rules:
518
+ * - Check prompt for trigger keywords
519
+ * - Skip if git status dirty (unsafe to start)
520
+ */
521
+ export function detectGitMaster(prompt) {
522
+ const cleanPrompt = removeCodeBlocks(prompt).toLowerCase();
523
+ // Trigger keywords
524
+ const triggerKeywords = [
525
+ /\brefactor\b/,
526
+ /\brename\b/,
527
+ /\breorganize\b/,
528
+ /\bmigrate\b/,
529
+ /\brestructure\b/,
530
+ /\bmove\s+files?\b/
531
+ ];
532
+ for (const keyword of triggerKeywords) {
533
+ if (keyword.test(cleanPrompt)) {
534
+ return true;
535
+ }
536
+ }
537
+ return false;
538
+ }
539
+ /**
540
+ * Auto-detect ascent skill from prompt
541
+ *
542
+ * Detection logic:
543
+ * - Positive patterns: don't stop, must complete, finish this/it/everything,
544
+ * complete all/everything, until done/complete/finished, keep going, don't give up
545
+ * - Negative patterns: try, attempt, explore, investigate, check if, see if
546
+ *
547
+ * Rules:
548
+ * - Check negative patterns first (if match, return false)
549
+ * - Use regex for positive patterns (handle contractions)
550
+ * - Return true if any positive pattern matches
551
+ */
552
+ export function detectAscent(prompt) {
553
+ const cleanPrompt = removeCodeBlocks(prompt).toLowerCase();
554
+ // Negative patterns - if present, NOT an ascent task
555
+ const negativePatterns = [
556
+ /\btry\b/,
557
+ /\battempt\b/,
558
+ /\bexplore\b/,
559
+ /\binvestigate\b/,
560
+ /\bcheck\s+if\b/,
561
+ /\bsee\s+if\b/
562
+ ];
563
+ for (const pattern of negativePatterns) {
564
+ if (pattern.test(cleanPrompt)) {
565
+ return false;
566
+ }
567
+ }
568
+ // Positive patterns (with contraction support)
569
+ const positivePatterns = [
570
+ /don'?t\s+stop/,
571
+ /must\s+complete/,
572
+ /finish\s+(this|it|everything)/,
573
+ /complete\s+(all|everything)/,
574
+ /until\s+(done|complete|finished)/,
575
+ /keep\s+going/,
576
+ /don'?t\s+give\s+up/
577
+ ];
578
+ for (const pattern of positivePatterns) {
579
+ if (pattern.test(cleanPrompt)) {
580
+ return true;
581
+ }
582
+ }
583
+ return false;
584
+ }
585
+ /**
586
+ * Detect all skills from a prompt
587
+ * Returns array of skill names that should be activated
588
+ */
589
+ export function detectSkills(prompt) {
590
+ const skills = [];
591
+ if (detectFrontendUiUx(prompt)) {
592
+ skills.push('frontend-ui-ux');
593
+ }
594
+ if (detectGitMaster(prompt)) {
595
+ skills.push('git-master');
596
+ }
597
+ if (detectAscent(prompt)) {
598
+ skills.push('ascent');
599
+ }
600
+ return skills;
601
+ }
430
602
  //# sourceMappingURL=magic-keywords.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"magic-keywords.js","sourceRoot":"","sources":["../../src/features/magic-keywords.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"magic-keywords.js","sourceRoot":"","sources":["../../src/features/magic-keywords.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,50 @@
1
+ /**
2
+ * Session State Tracking
3
+ *
4
+ * Tracks recent task completions to enable smart verification edit detection.
5
+ * Maintains in-memory state of the last 3 completed tasks and their modified files.
6
+ */
7
+ export interface TaskCompletion {
8
+ timestamp: number;
9
+ filesModified: string[];
10
+ taskId: string;
11
+ }
12
+ /**
13
+ * SessionState tracks recent task completions and determines if an edit
14
+ * qualifies as a "verification edit" (small edit on recently-modified file).
15
+ */
16
+ export declare class SessionState {
17
+ private recentTasks;
18
+ private readonly maxTracked;
19
+ /**
20
+ * Record a task completion with its modified files
21
+ */
22
+ recordTaskCompletion(completion: TaskCompletion): void;
23
+ /**
24
+ * Check if a file edit qualifies as a verification edit:
25
+ * - File was modified by one of the last 3 tasks
26
+ * - Edit is small (< 10 lines changed)
27
+ */
28
+ isVerificationEdit(filePath: string, linesChanged: number): boolean;
29
+ /**
30
+ * Get all files modified by recent tasks (deduplicated)
31
+ */
32
+ getRecentTaskFiles(): string[];
33
+ /**
34
+ * Get recent task completions (for debugging/testing)
35
+ */
36
+ getRecentTasks(): TaskCompletion[];
37
+ /**
38
+ * Clear all tracked tasks (for testing)
39
+ */
40
+ clear(): void;
41
+ /**
42
+ * Get number of tracked tasks
43
+ */
44
+ get trackedCount(): number;
45
+ }
46
+ /**
47
+ * Singleton instance for the session
48
+ */
49
+ export declare const sessionState: SessionState;
50
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/features/session-state/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,MAAM,WAAW,cAAc;IAC7B,SAAS,EAAE,MAAM,CAAC;IAClB,aAAa,EAAE,MAAM,EAAE,CAAC;IACxB,MAAM,EAAE,MAAM,CAAC;CAChB;AAED;;;GAGG;AACH,qBAAa,YAAY;IACvB,OAAO,CAAC,WAAW,CAAwB;IAC3C,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAK;IAEhC;;OAEG;IACH,oBAAoB,CAAC,UAAU,EAAE,cAAc,GAAG,IAAI;IAOtD;;;;OAIG;IACH,kBAAkB,CAAC,QAAQ,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,GAAG,OAAO;IAUnE;;OAEG;IACH,kBAAkB,IAAI,MAAM,EAAE;IAK9B;;OAEG;IACH,cAAc,IAAI,cAAc,EAAE;IAIlC;;OAEG;IACH,KAAK,IAAI,IAAI;IAIb;;OAEG;IACH,IAAI,YAAY,IAAI,MAAM,CAEzB;CACF;AAED;;GAEG;AACH,eAAO,MAAM,YAAY,cAAqB,CAAC"}
@@ -0,0 +1,64 @@
1
+ /**
2
+ * Session State Tracking
3
+ *
4
+ * Tracks recent task completions to enable smart verification edit detection.
5
+ * Maintains in-memory state of the last 3 completed tasks and their modified files.
6
+ */
7
+ /**
8
+ * SessionState tracks recent task completions and determines if an edit
9
+ * qualifies as a "verification edit" (small edit on recently-modified file).
10
+ */
11
+ export class SessionState {
12
+ recentTasks = [];
13
+ maxTracked = 3;
14
+ /**
15
+ * Record a task completion with its modified files
16
+ */
17
+ recordTaskCompletion(completion) {
18
+ this.recentTasks.unshift(completion);
19
+ if (this.recentTasks.length > this.maxTracked) {
20
+ this.recentTasks.pop();
21
+ }
22
+ }
23
+ /**
24
+ * Check if a file edit qualifies as a verification edit:
25
+ * - File was modified by one of the last 3 tasks
26
+ * - Edit is small (< 10 lines changed)
27
+ */
28
+ isVerificationEdit(filePath, linesChanged) {
29
+ // Check if file was modified by any of last 3 tasks
30
+ const wasModifiedByTask = this.recentTasks.some((task) => task.filesModified.includes(filePath));
31
+ // Must be small edit (< 10 lines) on file from recent task
32
+ return wasModifiedByTask && linesChanged < 10;
33
+ }
34
+ /**
35
+ * Get all files modified by recent tasks (deduplicated)
36
+ */
37
+ getRecentTaskFiles() {
38
+ const allFiles = this.recentTasks.flatMap((t) => t.filesModified);
39
+ return Array.from(new Set(allFiles));
40
+ }
41
+ /**
42
+ * Get recent task completions (for debugging/testing)
43
+ */
44
+ getRecentTasks() {
45
+ return [...this.recentTasks];
46
+ }
47
+ /**
48
+ * Clear all tracked tasks (for testing)
49
+ */
50
+ clear() {
51
+ this.recentTasks = [];
52
+ }
53
+ /**
54
+ * Get number of tracked tasks
55
+ */
56
+ get trackedCount() {
57
+ return this.recentTasks.length;
58
+ }
59
+ }
60
+ /**
61
+ * Singleton instance for the session
62
+ */
63
+ export const sessionState = new SessionState();
64
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/features/session-state/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAQH;;;GAGG;AACH,MAAM,OAAO,YAAY;IACf,WAAW,GAAqB,EAAE,CAAC;IAC1B,UAAU,GAAG,CAAC,CAAC;IAEhC;;OAEG;IACH,oBAAoB,CAAC,UAA0B;QAC7C,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;QACrC,IAAI,IAAI,CAAC,WAAW,CAAC,MAAM,GAAG,IAAI,CAAC,UAAU,EAAE,CAAC;YAC9C,IAAI,CAAC,WAAW,CAAC,GAAG,EAAE,CAAC;QACzB,CAAC;IACH,CAAC;IAED;;;;OAIG;IACH,kBAAkB,CAAC,QAAgB,EAAE,YAAoB;QACvD,oDAAoD;QACpD,MAAM,iBAAiB,GAAG,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CACvD,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC,QAAQ,CAAC,CACtC,CAAC;QAEF,2DAA2D;QAC3D,OAAO,iBAAiB,IAAI,YAAY,GAAG,EAAE,CAAC;IAChD,CAAC;IAED;;OAEG;IACH,kBAAkB;QAChB,MAAM,QAAQ,GAAG,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC;QAClE,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC;IACvC,CAAC;IAED;;OAEG;IACH,cAAc;QACZ,OAAO,CAAC,GAAG,IAAI,CAAC,WAAW,CAAC,CAAC;IAC/B,CAAC;IAED;;OAEG;IACH,KAAK;QACH,IAAI,CAAC,WAAW,GAAG,EAAE,CAAC;IACxB,CAAC;IAED;;OAEG;IACH,IAAI,YAAY;QACd,OAAO,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC;IACjC,CAAC;CACF;AAED;;GAEG;AACH,MAAM,CAAC,MAAM,YAAY,GAAG,IAAI,YAAY,EAAE,CAAC"}
@@ -0,0 +1,5 @@
1
+ /**
2
+ * Tests for Session State Tracking
3
+ */
4
+ export {};
5
+ //# sourceMappingURL=index.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.test.d.ts","sourceRoot":"","sources":["../../../src/features/session-state/index.test.ts"],"names":[],"mappings":"AAAA;;GAEG"}