pi-harness-runtime 0.9.22 → 0.10.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.
- package/CHANGELOG.md +49 -7
- package/README.md +51 -51
- package/footer-status.ts +84 -44
- package/harness/auto-compact.ts +1 -1
- package/harness/auto-quota-resume.ts +15 -12
- package/harness/autonomous-review.ts +88 -0
- package/harness/context-compact-orchestrator.ts +23 -23
- package/harness/context-window-manager.ts +5 -5
- package/harness/continue-prompt.ts +3 -3
- package/harness/e2e/minimax-quota-scraper.ts +10 -10
- package/harness/e2e/openai-quota-scraper.ts +442 -0
- package/harness/forked-summarizer.ts +4 -4
- package/harness/herdr-agents.ts +91 -0
- package/harness/index.ts +5 -5
- package/harness/loop-code-agent.ts +284 -0
- package/harness/loop-controller.ts +201 -0
- package/harness/loop-review-agent.ts +295 -0
- package/harness/loop-runtime.ts +21 -17
- package/harness/loop-types.ts +118 -0
- package/harness/notification-events.ts +3 -3
- package/harness/output-limit-handler.ts +1 -1
- package/harness/partial-recovery.ts +3 -3
- package/harness/session-memory.ts +5 -5
- package/index.ts +211 -80
- package/package.json +2 -2
- package/packages/a2a-adapter/package.json +1 -1
- package/packages/a2a-adapter/src/types.ts +5 -5
- package/packages/auth/dist/minimax-browser-auth.d.ts +89 -0
- package/packages/auth/dist/minimax-browser-auth.d.ts.map +1 -0
- package/packages/auth/dist/minimax-browser-auth.js +890 -0
- package/packages/auth/dist/minimax-browser-auth.js.map +1 -0
- package/packages/auth/dist/run-minimax-auth.d.ts +19 -0
- package/packages/auth/dist/run-minimax-auth.d.ts.map +1 -0
- package/packages/auth/dist/run-minimax-auth.js +112 -0
- package/packages/auth/dist/run-minimax-auth.js.map +1 -0
- package/packages/auth/package.json +1 -1
- package/packages/auth/tsconfig.json +9 -0
- package/packages/autonomous-refactor/package.json +1 -1
- package/packages/autonomous-runtime/dist/inbox.d.ts +3 -3
- package/packages/autonomous-runtime/dist/inbox.js +12 -12
- package/packages/autonomous-runtime/dist/lease.js +14 -14
- package/packages/autonomous-runtime/dist/types.js +1 -1
- package/packages/autonomous-runtime/package.json +1 -1
- package/packages/autonomous-runtime/src/inbox.ts +12 -12
- package/packages/autonomous-runtime/src/lease.ts +15 -15
- package/packages/autonomous-runtime/src/types.ts +13 -13
- package/packages/autonomous-runtime/tsconfig.tsbuildinfo +1 -1
- package/packages/cache-strategy/package.json +1 -1
- package/packages/capability-registry/dist/types.js +1 -1
- package/packages/capability-registry/package.json +1 -1
- package/packages/capability-registry/src/types.ts +5 -5
- package/packages/checkpoint/README.md +6 -6
- package/packages/checkpoint/dist/differ.js +2 -2
- package/packages/checkpoint/dist/engine.js +3 -3
- package/packages/checkpoint/dist/index.js +5 -5
- package/packages/checkpoint/dist/storage.js +3 -3
- package/packages/checkpoint/dist/types.js +1 -1
- package/packages/checkpoint/package.json +1 -1
- package/packages/checkpoint/src/differ.ts +2 -2
- package/packages/checkpoint/src/engine.ts +3 -3
- package/packages/checkpoint/src/index.ts +5 -5
- package/packages/checkpoint/src/storage.ts +3 -3
- package/packages/checkpoint/src/types.ts +10 -10
- package/packages/checkpoint/tsconfig.tsbuildinfo +1 -1
- package/packages/cli-plugin-sdk/package.json +1 -1
- package/packages/clipboard/dist/src/clipboard.d.ts.map +1 -1
- package/packages/clipboard/dist/src/clipboard.js +15 -7
- package/packages/clipboard/dist/src/clipboard.js.map +1 -1
- package/packages/clipboard/package.json +1 -1
- package/packages/clipboard/src/clipboard.ts +16 -9
- package/packages/code-generation/README.md +13 -13
- package/packages/code-generation/dist/faker.js +4 -4
- package/packages/code-generation/dist/generator.js +3 -3
- package/packages/code-generation/dist/index.js +3 -3
- package/packages/code-generation/dist/templates/registry.js +1 -1
- package/packages/code-generation/dist/types.js +1 -1
- package/packages/code-generation/package.json +1 -1
- package/packages/code-generation/src/faker.ts +5 -5
- package/packages/code-generation/src/generator.ts +4 -4
- package/packages/code-generation/src/index.ts +3 -3
- package/packages/code-generation/src/templates/registry.ts +1 -1
- package/packages/code-generation/src/types.ts +10 -10
- package/packages/code-generation/tsconfig.tsbuildinfo +1 -1
- package/packages/code-review/README.md +13 -13
- package/packages/code-review/dist/engine.js +3 -3
- package/packages/code-review/dist/index.js +3 -3
- package/packages/code-review/dist/types.js +1 -1
- package/packages/code-review/package.json +1 -1
- package/packages/code-review/src/engine.ts +3 -3
- package/packages/code-review/src/index.ts +3 -3
- package/packages/code-review/src/types.ts +10 -10
- package/packages/code-review/tsconfig.tsbuildinfo +1 -1
- package/packages/codex-adapter/package.json +1 -1
- package/packages/context-compiler/dist/compiler.js +1 -1
- package/packages/context-compiler/package.json +1 -1
- package/packages/context-compiler/src/compiler.ts +1 -1
- package/packages/context-compiler/src/types.ts +11 -11
- package/packages/context-compiler/test/context-compiler.test.ts +11 -11
- package/packages/context-discovery/package.json +1 -1
- package/packages/context-manager/package.json +1 -1
- package/packages/cookie-sanitizer/README.md +27 -27
- package/packages/cookie-sanitizer/package.json +1 -1
- package/packages/cost-optimizer/package.json +1 -1
- package/packages/cost-optimizer/src/types.ts +5 -5
- package/packages/dependency-analyzer/package.json +1 -1
- package/packages/django-plugin/dist/analyzer.js +7 -7
- package/packages/django-plugin/package.json +1 -1
- package/packages/django-plugin/src/analyzer.ts +7 -7
- package/packages/doc-generator/package.json +1 -1
- package/packages/evaluation-engine/dist/engine.js +9 -9
- package/packages/evaluation-engine/package.json +1 -1
- package/packages/evaluation-engine/src/engine.ts +9 -9
- package/packages/evaluation-engine/src/types.ts +3 -3
- package/packages/evaluation-runner/package.json +1 -1
- package/packages/event-bus/dist/src/herdr-bus.d.ts +121 -0
- package/packages/event-bus/dist/src/herdr-bus.d.ts.map +1 -0
- package/packages/event-bus/dist/src/herdr-bus.js +322 -0
- package/packages/event-bus/dist/src/herdr-bus.js.map +1 -0
- package/packages/event-bus/dist/src/index.d.ts +2 -0
- package/packages/event-bus/dist/src/index.d.ts.map +1 -1
- package/packages/event-bus/dist/src/index.js +1 -0
- package/packages/event-bus/dist/src/index.js.map +1 -1
- package/packages/event-bus/package.json +1 -1
- package/packages/event-bus/src/herdr-bus.ts +525 -0
- package/packages/event-bus/src/index.ts +29 -0
- package/packages/event-store/package.json +1 -1
- package/packages/experience-replay/dist/replay.js +7 -7
- package/packages/experience-replay/package.json +1 -1
- package/packages/experience-replay/src/replay.ts +7 -7
- package/packages/experience-replay/src/types.ts +5 -5
- package/packages/feedback-collector/package.json +1 -1
- package/packages/framework-detector/README.md +18 -18
- package/packages/framework-detector/dist/detector.js +3 -3
- package/packages/framework-detector/dist/index.js +3 -3
- package/packages/framework-detector/dist/signatures/registry.js +24 -24
- package/packages/framework-detector/dist/types.js +1 -1
- package/packages/framework-detector/package.json +1 -1
- package/packages/framework-detector/src/detector.ts +3 -3
- package/packages/framework-detector/src/index.ts +3 -3
- package/packages/framework-detector/src/signatures/registry.ts +24 -24
- package/packages/framework-detector/src/types.ts +7 -7
- package/packages/framework-detector/tsconfig.tsbuildinfo +1 -1
- package/packages/framework-plugin-sdk/README.md +23 -23
- package/packages/framework-plugin-sdk/dist/index.js +2 -2
- package/packages/framework-plugin-sdk/dist/manager.js +3 -3
- package/packages/framework-plugin-sdk/dist/types.js +2 -2
- package/packages/framework-plugin-sdk/package.json +1 -1
- package/packages/framework-plugin-sdk/src/index.ts +2 -2
- package/packages/framework-plugin-sdk/src/manager.ts +3 -3
- package/packages/framework-plugin-sdk/src/types.ts +10 -10
- package/packages/framework-plugin-sdk/tsconfig.tsbuildinfo +1 -1
- package/packages/frappe-plugin/dist/analyzer.js +8 -8
- package/packages/frappe-plugin/dist/types.js +1 -1
- package/packages/frappe-plugin/package.json +1 -1
- package/packages/frappe-plugin/src/analyzer.ts +8 -8
- package/packages/frappe-plugin/src/types.ts +10 -10
- package/packages/generic-web-plugin/dist/analyzer.js +5 -5
- package/packages/generic-web-plugin/package.json +1 -1
- package/packages/generic-web-plugin/src/analyzer.ts +5 -5
- package/packages/health-monitor/package.json +1 -1
- package/packages/health-monitor/src/monitor.ts +1 -1
- package/packages/intent-analyzer/package.json +1 -1
- package/packages/laravel-plugin/dist/analyzer.js +11 -11
- package/packages/laravel-plugin/package.json +1 -1
- package/packages/laravel-plugin/src/analyzer.ts +11 -11
- package/packages/learning-engine/dist/engine.js +5 -5
- package/packages/learning-engine/dist/types.js +1 -1
- package/packages/learning-engine/package.json +1 -1
- package/packages/learning-engine/src/engine.ts +5 -5
- package/packages/learning-engine/src/types.ts +6 -6
- package/packages/mcp-adapter/package.json +1 -1
- package/packages/memory-engine/dist/engine.js +8 -8
- package/packages/memory-engine/dist/types.js +2 -2
- package/packages/memory-engine/package.json +1 -1
- package/packages/memory-engine/src/engine.ts +8 -8
- package/packages/memory-engine/src/types.ts +9 -9
- package/packages/model-registry/package.json +1 -1
- package/packages/model-registry/src/types.ts +4 -4
- package/packages/nextjs-plugin/dist/analyzer.js +9 -9
- package/packages/nextjs-plugin/package.json +1 -1
- package/packages/nextjs-plugin/src/analyzer.ts +9 -9
- package/packages/notification/dist/notification-center.js +1 -1
- package/packages/notification/package.json +1 -1
- package/packages/notification/src/notification-center.ts +1 -1
- package/packages/observability/dist/alerts.js +2 -2
- package/packages/observability/dist/health.js +4 -4
- package/packages/observability/dist/index.js +6 -6
- package/packages/observability/dist/logger.js +7 -7
- package/packages/observability/dist/metrics.js +11 -11
- package/packages/observability/dist/tracer.js +3 -3
- package/packages/observability/dist/types.js +1 -1
- package/packages/observability/package.json +1 -1
- package/packages/observability/src/alerts.ts +2 -2
- package/packages/observability/src/health.ts +4 -4
- package/packages/observability/src/index.ts +6 -6
- package/packages/observability/src/logger.ts +7 -7
- package/packages/observability/src/metrics.ts +11 -11
- package/packages/observability/src/tracer.ts +3 -3
- package/packages/observability/src/types.ts +7 -7
- package/packages/observability/test/observability.test.ts +4 -4
- package/packages/observability/tsconfig.tsbuildinfo +1 -1
- package/packages/performance-optimizer/dist/optimizer.js +1 -1
- package/packages/performance-optimizer/package.json +1 -1
- package/packages/performance-optimizer/src/optimizer.ts +1 -1
- package/packages/performance-optimizer/src/types.ts +4 -4
- package/packages/privilege-broker/package.json +1 -1
- package/packages/project-analyzer/dist/analyzer.js +4 -4
- package/packages/project-analyzer/dist/index.js +8 -8
- package/packages/project-analyzer/dist/signals.js +3 -3
- package/packages/project-analyzer/dist/types.js +1 -1
- package/packages/project-analyzer/package.json +1 -1
- package/packages/project-analyzer/src/analyzer.ts +4 -4
- package/packages/project-analyzer/src/index.ts +9 -9
- package/packages/project-analyzer/src/signals.ts +4 -4
- package/packages/project-analyzer/src/types.ts +15 -15
- package/packages/project-analyzer/test/index.test.ts +17 -17
- package/packages/project-analyzer/tsconfig.tsbuildinfo +1 -1
- package/packages/projection-engine/package.json +1 -1
- package/packages/prompt-compiler/dist/section-builder.js +1 -1
- package/packages/prompt-compiler/dist/types.js +3 -3
- package/packages/prompt-compiler/package.json +1 -1
- package/packages/prompt-compiler/src/section-builder.ts +1 -1
- package/packages/prompt-compiler/src/types.ts +12 -12
- package/packages/prompt-compiler/test/prompt-compiler.test.ts +12 -12
- package/packages/prompt-versioning/package.json +1 -1
- package/packages/provider-adapter-sdk/dist/builder.js +1 -1
- package/packages/provider-adapter-sdk/dist/index.js +5 -5
- package/packages/provider-adapter-sdk/dist/registry.js +1 -1
- package/packages/provider-adapter-sdk/dist/tester.js +1 -1
- package/packages/provider-adapter-sdk/dist/types.js +1 -1
- package/packages/provider-adapter-sdk/package.json +1 -1
- package/packages/provider-adapter-sdk/src/builder.ts +1 -1
- package/packages/provider-adapter-sdk/src/index.ts +6 -6
- package/packages/provider-adapter-sdk/src/registry.ts +1 -1
- package/packages/provider-adapter-sdk/src/tester.ts +1 -1
- package/packages/provider-adapter-sdk/src/types.ts +5 -5
- package/packages/provider-adapter-sdk/tsconfig.tsbuildinfo +1 -1
- package/packages/provider-router/package.json +1 -1
- package/packages/provider-router/src/types.ts +4 -4
- package/packages/provider-selector/package.json +1 -1
- package/packages/providers/dist/deepagents-adapter.js +1 -1
- package/packages/providers/dist/provider-id.d.ts +5 -0
- package/packages/providers/dist/provider-id.d.ts.map +1 -1
- package/packages/providers/dist/provider-id.js +6 -1
- package/packages/providers/dist/provider-id.js.map +1 -1
- package/packages/providers/package.json +1 -1
- package/packages/providers/src/deepagents-adapter.ts +1 -1
- package/packages/providers/src/provider-id.ts +6 -1
- package/packages/quota-manager/dist/tui-usage-monitor.d.ts.map +1 -1
- package/packages/quota-manager/dist/tui-usage-monitor.js +0 -6
- package/packages/quota-manager/dist/tui-usage-monitor.js.map +1 -1
- package/packages/quota-manager/package.json +1 -1
- package/packages/quota-manager/src/tui-usage-monitor.ts +0 -21
- package/packages/rate-limiter/package.json +1 -1
- package/packages/react-vite-plugin/dist/analyzer.js +7 -7
- package/packages/react-vite-plugin/package.json +1 -1
- package/packages/react-vite-plugin/src/analyzer.ts +7 -7
- package/packages/release-manager/package.json +1 -1
- package/packages/requirement-compiler/dist/compiler.js +17 -17
- package/packages/requirement-compiler/dist/types.js +2 -2
- package/packages/requirement-compiler/package.json +1 -1
- package/packages/requirement-compiler/src/compiler.ts +17 -17
- package/packages/requirement-compiler/src/types.ts +21 -21
- package/packages/requirement-compiler/test/requirement-compiler.test.ts +17 -17
- package/packages/runtime/dist/command-executor.js +1 -1
- package/packages/runtime/dist/local-runtime-agent.js +1 -1
- package/packages/runtime/dist/policy-engine.js +1 -1
- package/packages/runtime/dist/runtime-api.js +1 -1
- package/packages/runtime/dist/workspace-manager.js +1 -1
- package/packages/runtime/package.json +1 -1
- package/packages/runtime/src/command-executor.ts +1 -1
- package/packages/runtime/src/local-runtime-agent.ts +1 -1
- package/packages/runtime/src/policy-engine.ts +1 -1
- package/packages/runtime/src/runtime-api.ts +1 -1
- package/packages/runtime/src/workspace-manager.ts +1 -1
- package/packages/scheduler/package.json +1 -1
- package/packages/scheduler-adapter/package.json +1 -1
- package/packages/session/README.md +18 -18
- package/packages/session/dist/history.js +3 -3
- package/packages/session/dist/index.js +5 -5
- package/packages/session/dist/manager.js +3 -3
- package/packages/session/dist/policy.js +2 -2
- package/packages/session/dist/store.js +2 -2
- package/packages/session/dist/types.js +1 -1
- package/packages/session/package.json +1 -1
- package/packages/session/src/history.ts +3 -3
- package/packages/session/src/index.ts +5 -5
- package/packages/session/src/manager.ts +3 -3
- package/packages/session/src/policy.ts +4 -4
- package/packages/session/src/store.ts +3 -3
- package/packages/session/src/types.ts +10 -10
- package/packages/session/tsconfig.tsbuildinfo +1 -1
- package/packages/session-api/package.json +1 -1
- package/packages/session-export/package.json +1 -1
- package/packages/shared-context/package.json +1 -1
- package/packages/skill-registry/package.json +1 -1
- package/packages/skill-registry/src/types.ts +4 -4
- package/packages/sprint-planner/package.json +1 -1
- package/packages/subscription-engine/package.json +1 -1
- package/packages/task-compiler/dist/compiler.js +7 -7
- package/packages/task-compiler/dist/decompose.js +11 -11
- package/packages/task-compiler/dist/file-scope.js +6 -6
- package/packages/task-compiler/dist/graph.js +6 -6
- package/packages/task-compiler/dist/index.js +2 -2
- package/packages/task-compiler/dist/types.js +5 -5
- package/packages/task-compiler/dist/validate.js +2 -2
- package/packages/task-compiler/dist/verification.js +2 -2
- package/packages/task-compiler/package.json +1 -1
- package/packages/task-compiler/src/command-policy.ts +1 -1
- package/packages/task-compiler/src/compiler.ts +7 -7
- package/packages/task-compiler/src/decompose.ts +11 -11
- package/packages/task-compiler/src/file-scope.ts +6 -6
- package/packages/task-compiler/src/graph.ts +6 -6
- package/packages/task-compiler/src/index.ts +3 -3
- package/packages/task-compiler/src/types.ts +14 -14
- package/packages/task-compiler/src/validate.ts +2 -2
- package/packages/task-compiler/src/verification.ts +2 -2
- package/packages/task-compiler/test/task-compiler.test.ts +10 -10
- package/packages/test-data-generator/README.md +13 -13
- package/packages/test-data-generator/dist/faker-adapter.js +4 -4
- package/packages/test-data-generator/dist/generator.js +3 -3
- package/packages/test-data-generator/dist/index.js +3 -3
- package/packages/test-data-generator/dist/types.js +1 -1
- package/packages/test-data-generator/package.json +1 -1
- package/packages/test-data-generator/src/faker-adapter.ts +4 -4
- package/packages/test-data-generator/src/generator.ts +3 -3
- package/packages/test-data-generator/src/index.ts +3 -3
- package/packages/test-data-generator/src/types.ts +9 -9
- package/packages/test-data-generator/tsconfig.tsbuildinfo +1 -1
- package/packages/test-generator/package.json +1 -1
- package/packages/token-estimation/package.json +1 -1
- package/packages/token-optimizer/package.json +1 -1
- package/packages/tui/package.json +1 -1
- package/packages/types/package.json +1 -1
- package/packages/types/src/agent-worker-types.ts +5 -5
- package/packages/types/src/runtime-types.ts +12 -12
- package/packages/types/tsconfig.tsbuildinfo +1 -1
- package/packages/workflow-events/package.json +1 -1
- package/packages/workspace-scanner/package.json +1 -1
- package/packages/worktree/package.json +1 -1
- package/renderer.ts +7 -7
- package/skills/harness-runtime/SKILL.md +15 -15
- package/packages/dependency-analyzer/dist/analyzer.d.ts +0 -17
- package/packages/dependency-analyzer/dist/analyzer.d.ts.map +0 -1
- package/packages/dependency-analyzer/dist/analyzer.js +0 -106
- package/packages/dependency-analyzer/dist/analyzer.js.map +0 -1
- package/packages/dependency-analyzer/dist/imports.d.ts +0 -12
- package/packages/dependency-analyzer/dist/imports.d.ts.map +0 -1
- package/packages/dependency-analyzer/dist/imports.js +0 -73
- package/packages/dependency-analyzer/dist/imports.js.map +0 -1
- package/packages/dependency-analyzer/dist/index.d.ts +0 -4
- package/packages/dependency-analyzer/dist/index.d.ts.map +0 -1
- package/packages/dependency-analyzer/dist/index.js +0 -3
- package/packages/dependency-analyzer/dist/index.js.map +0 -1
- package/packages/dependency-analyzer/dist/test/analyzer.test.js +0 -37
- package/packages/dependency-analyzer/dist/types.d.ts +0 -28
- package/packages/dependency-analyzer/dist/types.d.ts.map +0 -1
- package/packages/dependency-analyzer/dist/types.js +0 -5
- package/packages/dependency-analyzer/dist/types.js.map +0 -1
- package/packages/intent-analyzer/dist/analyzer.d.ts +0 -13
- package/packages/intent-analyzer/dist/analyzer.d.ts.map +0 -1
- package/packages/intent-analyzer/dist/analyzer.js +0 -72
- package/packages/intent-analyzer/dist/analyzer.js.map +0 -1
- package/packages/intent-analyzer/dist/index.d.ts +0 -3
- package/packages/intent-analyzer/dist/index.d.ts.map +0 -1
- package/packages/intent-analyzer/dist/index.js +0 -2
- package/packages/intent-analyzer/dist/index.js.map +0 -1
- package/packages/intent-analyzer/dist/test/analyzer.test.js +0 -56
- package/packages/intent-analyzer/dist/types.d.ts +0 -26
- package/packages/intent-analyzer/dist/types.d.ts.map +0 -1
- package/packages/intent-analyzer/dist/types.js +0 -7
- package/packages/intent-analyzer/dist/types.js.map +0 -1
- package/packages/workspace-scanner/dist/detect.d.ts +0 -3
- package/packages/workspace-scanner/dist/detect.d.ts.map +0 -1
- package/packages/workspace-scanner/dist/detect.js +0 -58
- package/packages/workspace-scanner/dist/detect.js.map +0 -1
- package/packages/workspace-scanner/dist/git.d.ts +0 -7
- package/packages/workspace-scanner/dist/git.d.ts.map +0 -1
- package/packages/workspace-scanner/dist/git.js +0 -75
- package/packages/workspace-scanner/dist/git.js.map +0 -1
- package/packages/workspace-scanner/dist/index.d.ts +0 -5
- package/packages/workspace-scanner/dist/index.d.ts.map +0 -1
- package/packages/workspace-scanner/dist/index.js +0 -4
- package/packages/workspace-scanner/dist/index.js.map +0 -1
- package/packages/workspace-scanner/dist/scanner.d.ts +0 -11
- package/packages/workspace-scanner/dist/scanner.d.ts.map +0 -1
- package/packages/workspace-scanner/dist/scanner.js +0 -46
- package/packages/workspace-scanner/dist/scanner.js.map +0 -1
- package/packages/workspace-scanner/dist/test/scanner.test.js +0 -34
- package/packages/workspace-scanner/dist/types.d.ts +0 -35
- package/packages/workspace-scanner/dist/types.d.ts.map +0 -1
- package/packages/workspace-scanner/dist/types.js +0 -5
- package/packages/workspace-scanner/dist/types.js.map +0 -1
|
@@ -26,7 +26,7 @@ import {
|
|
|
26
26
|
} from "../src/index.js";
|
|
27
27
|
import type { RawRequirement, ExtractedStatement } from "../src/types.js";
|
|
28
28
|
|
|
29
|
-
//
|
|
29
|
+
// --- Test utilities ------------------------------------------------------
|
|
30
30
|
|
|
31
31
|
function makeRaw(
|
|
32
32
|
text: string,
|
|
@@ -47,7 +47,7 @@ async function compile(text: string, overrides?: Partial<RawRequirement>) {
|
|
|
47
47
|
return compileRequirement(makeRaw(text, overrides));
|
|
48
48
|
}
|
|
49
49
|
|
|
50
|
-
//
|
|
50
|
+
// --- Test 1: Explicit requirement remains explicit ---------------------
|
|
51
51
|
|
|
52
52
|
describe("Explicit requirement remains explicit", () => {
|
|
53
53
|
it("goal statement becomes a goal", async () => {
|
|
@@ -71,7 +71,7 @@ describe("Explicit requirement remains explicit", () => {
|
|
|
71
71
|
});
|
|
72
72
|
});
|
|
73
73
|
|
|
74
|
-
//
|
|
74
|
+
// --- Test 2: Preference is NOT promoted to mandatory -------------------
|
|
75
75
|
|
|
76
76
|
describe("Preference is not promoted to mandatory", () => {
|
|
77
77
|
it("preference becomes non-blocking constraint", async () => {
|
|
@@ -95,7 +95,7 @@ describe("Preference is not promoted to mandatory", () => {
|
|
|
95
95
|
});
|
|
96
96
|
});
|
|
97
97
|
|
|
98
|
-
//
|
|
98
|
+
// --- Test 3: Contradictory statements create ambiguity -----------------
|
|
99
99
|
|
|
100
100
|
describe("Contradictory statements create ambiguity", () => {
|
|
101
101
|
it("opposing must/must not creates contradiction ambiguity", async () => {
|
|
@@ -159,7 +159,7 @@ describe("Contradictory statements create ambiguity", () => {
|
|
|
159
159
|
});
|
|
160
160
|
});
|
|
161
161
|
|
|
162
|
-
//
|
|
162
|
+
// --- Test 4: Acceptance criteria normalize to Given/When/Then -----------
|
|
163
163
|
|
|
164
164
|
describe("Acceptance criteria normalize to Given/When/Then", () => {
|
|
165
165
|
it("Given/When/Then statement parses correctly", () => {
|
|
@@ -236,7 +236,7 @@ describe("Acceptance criteria normalize to Given/When/Then", () => {
|
|
|
236
236
|
});
|
|
237
237
|
});
|
|
238
238
|
|
|
239
|
-
//
|
|
239
|
+
// --- Test 5: Thai terminology preserved in glossary --------------------
|
|
240
240
|
|
|
241
241
|
describe("Thai terminology remains in glossary", () => {
|
|
242
242
|
it("Thai term is preserved in terminology", async () => {
|
|
@@ -267,7 +267,7 @@ describe("Thai terminology remains in glossary", () => {
|
|
|
267
267
|
});
|
|
268
268
|
});
|
|
269
269
|
|
|
270
|
-
//
|
|
270
|
+
// --- Test 6: Financial requirement receives risk tag ------------------
|
|
271
271
|
|
|
272
272
|
describe("Financial requirement receives risk tag", () => {
|
|
273
273
|
it("payment keyword triggers financial risk", async () => {
|
|
@@ -300,7 +300,7 @@ describe("Financial requirement receives risk tag", () => {
|
|
|
300
300
|
});
|
|
301
301
|
});
|
|
302
302
|
|
|
303
|
-
//
|
|
303
|
+
// --- Test 7: Empty requirement is rejected ---------------------------
|
|
304
304
|
|
|
305
305
|
describe("Empty requirement is rejected", () => {
|
|
306
306
|
it("rejects empty text requirement", async () => {
|
|
@@ -345,7 +345,7 @@ describe("Empty requirement is rejected", () => {
|
|
|
345
345
|
});
|
|
346
346
|
});
|
|
347
347
|
|
|
348
|
-
//
|
|
348
|
+
// --- Test 8: Source references remain traceable -------------------------
|
|
349
349
|
|
|
350
350
|
describe("Source references remain traceable", () => {
|
|
351
351
|
it("every goal has a source reference", async () => {
|
|
@@ -408,7 +408,7 @@ describe("Source references remain traceable", () => {
|
|
|
408
408
|
});
|
|
409
409
|
});
|
|
410
410
|
|
|
411
|
-
//
|
|
411
|
+
// --- Extractor tests -----------------------------------------------------
|
|
412
412
|
|
|
413
413
|
describe("Statement extraction", () => {
|
|
414
414
|
it("extracts numbered list items", () => {
|
|
@@ -433,7 +433,7 @@ describe("Statement extraction", () => {
|
|
|
433
433
|
});
|
|
434
434
|
});
|
|
435
435
|
|
|
436
|
-
//
|
|
436
|
+
// --- Classifier tests ---------------------------------------------------
|
|
437
437
|
|
|
438
438
|
describe("Statement classification", () => {
|
|
439
439
|
it("classifies must statements as explicit_behavior", () => {
|
|
@@ -492,7 +492,7 @@ describe("Statement classification", () => {
|
|
|
492
492
|
});
|
|
493
493
|
});
|
|
494
494
|
|
|
495
|
-
//
|
|
495
|
+
// --- Risk detection tests ------------------------------------------------
|
|
496
496
|
|
|
497
497
|
describe("Risk detection", () => {
|
|
498
498
|
it("detects destructive operation risk", async () => {
|
|
@@ -527,7 +527,7 @@ describe("Risk detection", () => {
|
|
|
527
527
|
});
|
|
528
528
|
});
|
|
529
529
|
|
|
530
|
-
//
|
|
530
|
+
// --- Ambiguity detection tests -------------------------------------------
|
|
531
531
|
|
|
532
532
|
describe("Ambiguity detection", () => {
|
|
533
533
|
it("detects vague terms", () => {
|
|
@@ -646,7 +646,7 @@ describe("Ambiguity detection", () => {
|
|
|
646
646
|
});
|
|
647
647
|
});
|
|
648
648
|
|
|
649
|
-
//
|
|
649
|
+
// --- Workflow tests ------------------------------------------------------
|
|
650
650
|
|
|
651
651
|
describe("Workflow extraction", () => {
|
|
652
652
|
it("groups multiple goals into a workflow", async () => {
|
|
@@ -661,7 +661,7 @@ describe("Workflow extraction", () => {
|
|
|
661
661
|
});
|
|
662
662
|
});
|
|
663
663
|
|
|
664
|
-
//
|
|
664
|
+
// --- Actor extraction tests ---------------------------------------------
|
|
665
665
|
|
|
666
666
|
describe("Actor extraction", () => {
|
|
667
667
|
it("extracts actors from statements", async () => {
|
|
@@ -677,7 +677,7 @@ describe("Actor extraction", () => {
|
|
|
677
677
|
});
|
|
678
678
|
});
|
|
679
679
|
|
|
680
|
-
//
|
|
680
|
+
// --- Error handling tests ----------------------------------------------
|
|
681
681
|
|
|
682
682
|
describe("Error handling", () => {
|
|
683
683
|
it("RequirementCompileError has correct properties", () => {
|
|
@@ -712,7 +712,7 @@ describe("Error handling", () => {
|
|
|
712
712
|
});
|
|
713
713
|
});
|
|
714
714
|
|
|
715
|
-
//
|
|
715
|
+
// --- Multilingual tests -------------------------------------------------
|
|
716
716
|
|
|
717
717
|
describe("Multilingual handling", () => {
|
|
718
718
|
it("preserves Thai business terms", async () => {
|
|
@@ -346,7 +346,7 @@ export class CommandExecutor extends EventEmitter {
|
|
|
346
346
|
getPolicy() {
|
|
347
347
|
return { ...this.policy };
|
|
348
348
|
}
|
|
349
|
-
//
|
|
349
|
+
// --- Private Methods ------------------------------------------------
|
|
350
350
|
waitForExit(_proc) {
|
|
351
351
|
// Note: This method is for synchronous execution.
|
|
352
352
|
// For async execution, use execAsync() which properly handles events.
|
|
@@ -161,7 +161,7 @@ export class LocalRuntimeAgent extends EventEmitter {
|
|
|
161
161
|
getAuthSessions() {
|
|
162
162
|
return Array.from(this.authSessions.values());
|
|
163
163
|
}
|
|
164
|
-
//
|
|
164
|
+
// --- Private Methods ------------------------------------------------
|
|
165
165
|
async handleRequest(req, res) {
|
|
166
166
|
const url = new URL(req.url ?? "/", `http://${req.headers.host}`);
|
|
167
167
|
const path = url.pathname;
|
|
@@ -364,7 +364,7 @@ export class PolicyEngine extends EventEmitter {
|
|
|
364
364
|
return false;
|
|
365
365
|
}
|
|
366
366
|
}
|
|
367
|
-
//
|
|
367
|
+
// --- Private Methods ------------------------------------------------
|
|
368
368
|
matchesPolicy(context, policy) {
|
|
369
369
|
const condition = policy.condition;
|
|
370
370
|
// Check subject
|
|
@@ -153,7 +153,7 @@ export class RuntimeApi extends EventEmitter {
|
|
|
153
153
|
}
|
|
154
154
|
}
|
|
155
155
|
}
|
|
156
|
-
//
|
|
156
|
+
// --- Private Methods ------------------------------------------------
|
|
157
157
|
startWebSocket() {
|
|
158
158
|
this.wsServer = new WebSocketServer({
|
|
159
159
|
noServer: true,
|
|
@@ -366,7 +366,7 @@ export class WorkspaceManager extends EventEmitter {
|
|
|
366
366
|
}
|
|
367
367
|
return { exists, size, isAccessible };
|
|
368
368
|
}
|
|
369
|
-
//
|
|
369
|
+
// --- Private Methods ------------------------------------------------
|
|
370
370
|
ensureRootDir() {
|
|
371
371
|
if (!existsSync(this.rootDir)) {
|
|
372
372
|
mkdirSync(this.rootDir, { recursive: true });
|
|
@@ -485,7 +485,7 @@ export class CommandExecutor extends EventEmitter {
|
|
|
485
485
|
return { ...this.policy };
|
|
486
486
|
}
|
|
487
487
|
|
|
488
|
-
//
|
|
488
|
+
// --- Private Methods ------------------------------------------------
|
|
489
489
|
|
|
490
490
|
private waitForExit(_proc: ChildProcess): number | null {
|
|
491
491
|
// Note: This method is for synchronous execution.
|
|
@@ -231,7 +231,7 @@ export class LocalRuntimeAgent extends EventEmitter {
|
|
|
231
231
|
return Array.from(this.authSessions.values());
|
|
232
232
|
}
|
|
233
233
|
|
|
234
|
-
//
|
|
234
|
+
// --- Private Methods ------------------------------------------------
|
|
235
235
|
|
|
236
236
|
private async handleRequest(
|
|
237
237
|
req: import("node:http").IncomingMessage,
|
|
@@ -545,7 +545,7 @@ export class PolicyEngine extends EventEmitter {
|
|
|
545
545
|
}
|
|
546
546
|
}
|
|
547
547
|
|
|
548
|
-
//
|
|
548
|
+
// --- Private Methods ------------------------------------------------
|
|
549
549
|
|
|
550
550
|
private matchesPolicy(context: PolicyContext, policy: Policy): boolean {
|
|
551
551
|
const condition = policy.condition;
|
|
@@ -247,7 +247,7 @@ export class RuntimeApi extends EventEmitter {
|
|
|
247
247
|
}
|
|
248
248
|
}
|
|
249
249
|
|
|
250
|
-
//
|
|
250
|
+
// --- Private Methods ------------------------------------------------
|
|
251
251
|
|
|
252
252
|
private startWebSocket(): void {
|
|
253
253
|
this.wsServer = new WebSocketServer({
|
|
@@ -492,7 +492,7 @@ export class WorkspaceManager extends EventEmitter {
|
|
|
492
492
|
return { exists, size, isAccessible };
|
|
493
493
|
}
|
|
494
494
|
|
|
495
|
-
//
|
|
495
|
+
// --- Private Methods ------------------------------------------------
|
|
496
496
|
|
|
497
497
|
private ensureRootDir(): void {
|
|
498
498
|
if (!existsSync(this.rootDir)) {
|
|
@@ -247,27 +247,27 @@ Sessions are stored as JSON files:
|
|
|
247
247
|
|
|
248
248
|
```
|
|
249
249
|
sessions/
|
|
250
|
-
|
|
251
|
-
|
|
252
|
-
|
|
253
|
-
|
|
254
|
-
|
|
250
|
+
+-- index.json # Session index
|
|
251
|
+
+-- sessions/
|
|
252
|
+
+-- ab/
|
|
253
|
+
+-- cdef1234.../
|
|
254
|
+
+-- session.json # Full session context
|
|
255
255
|
```
|
|
256
256
|
|
|
257
257
|
## Architecture
|
|
258
258
|
|
|
259
259
|
```
|
|
260
|
-
|
|
261
|
-
|
|
262
|
-
|
|
263
|
-
|
|
264
|
-
|
|
265
|
-
|
|
266
|
-
|
|
267
|
-
|
|
268
|
-
|
|
269
|
-
|
|
270
|
-
|
|
271
|
-
|
|
272
|
-
|
|
260
|
+
+---------------------------------------------------------+
|
|
261
|
+
| SessionManager |
|
|
262
|
+
| +-------------+ +-------------+ +-----------------+ |
|
|
263
|
+
| | Manager | | Policy | | Store | |
|
|
264
|
+
| | |--| Engine |--| | |
|
|
265
|
+
| +-------------+ +-------------+ +-----------------+ |
|
|
266
|
+
| | | |
|
|
267
|
+
| ▼ ▼ |
|
|
268
|
+
| +-----------------+ +-----------------+|
|
|
269
|
+
| | ContextWindow | | Disk ||
|
|
270
|
+
| | Manager | | ||
|
|
271
|
+
| +-----------------+ +-----------------+|
|
|
272
|
+
+---------------------------------------------------------+
|
|
273
273
|
```
|
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
* Message history management and search.
|
|
5
5
|
*/
|
|
6
6
|
import { createHash } from "node:crypto";
|
|
7
|
-
//
|
|
7
|
+
// --- Message History ------------------------------------------------------
|
|
8
8
|
export class MessageHistory {
|
|
9
9
|
messages = [];
|
|
10
10
|
maxMessages;
|
|
@@ -123,7 +123,7 @@ export class MessageHistory {
|
|
|
123
123
|
}, 0);
|
|
124
124
|
}
|
|
125
125
|
}
|
|
126
|
-
//
|
|
126
|
+
// --- Message Search --------------------------------------------------------
|
|
127
127
|
export class MessageSearch {
|
|
128
128
|
index = new Map();
|
|
129
129
|
/**
|
|
@@ -212,7 +212,7 @@ export class MessageSearch {
|
|
|
212
212
|
this.index.delete(sessionId);
|
|
213
213
|
}
|
|
214
214
|
}
|
|
215
|
-
//
|
|
215
|
+
// --- Context Window Manager ------------------------------------------------
|
|
216
216
|
export class ContextWindowManager {
|
|
217
217
|
maxTokens;
|
|
218
218
|
history;
|
|
@@ -4,14 +4,14 @@
|
|
|
4
4
|
* Session management system with message history, token accounting,
|
|
5
5
|
* policy enforcement, and session persistence.
|
|
6
6
|
*/
|
|
7
|
-
//
|
|
7
|
+
// --- Manager ------------------------------------------------------------
|
|
8
8
|
export { SessionManager, createSessionManager } from "./manager.js";
|
|
9
|
-
//
|
|
9
|
+
// --- Store ------------------------------------------------------------
|
|
10
10
|
export { SessionStore, createSessionStore } from "./store.js";
|
|
11
|
-
//
|
|
11
|
+
// --- History ---------------------------------------------------------
|
|
12
12
|
export { MessageHistory, MessageSearch, ContextWindowManager, } from "./history.js";
|
|
13
|
-
//
|
|
13
|
+
// --- Policy ----------------------------------------------------------
|
|
14
14
|
export { PolicyEngine, RateLimiter, BudgetTracker, createPolicyEngine, } from "./policy.js";
|
|
15
|
-
//
|
|
15
|
+
// --- Types -----------------------------------------------------------
|
|
16
16
|
export { SDK_VERSION, } from "./types.js";
|
|
17
17
|
//# sourceMappingURL=index.js.map
|
|
@@ -7,7 +7,7 @@ import { randomBytes } from "node:crypto";
|
|
|
7
7
|
import { ContextWindowManager } from "./history.js";
|
|
8
8
|
import { PolicyEngine } from "./policy.js";
|
|
9
9
|
import { SessionStore } from "./store.js";
|
|
10
|
-
//
|
|
10
|
+
// --- Default Configuration -------------------------------------------------
|
|
11
11
|
const DEFAULT_CONFIG = {
|
|
12
12
|
rootDir: "./sessions",
|
|
13
13
|
sessionTtlMs: 24 * 60 * 60 * 1000, // 24 hours
|
|
@@ -19,7 +19,7 @@ const DEFAULT_CONFIG = {
|
|
|
19
19
|
autoCleanup: true,
|
|
20
20
|
cleanupIntervalMs: 60 * 60 * 1000, // 1 hour
|
|
21
21
|
};
|
|
22
|
-
//
|
|
22
|
+
// --- Session Manager -------------------------------------------------------
|
|
23
23
|
export class SessionManager {
|
|
24
24
|
config;
|
|
25
25
|
store;
|
|
@@ -360,7 +360,7 @@ export class SessionManager {
|
|
|
360
360
|
await this.store.close();
|
|
361
361
|
}
|
|
362
362
|
}
|
|
363
|
-
//
|
|
363
|
+
// --- Factory Function ----------------------------------------------------
|
|
364
364
|
/**
|
|
365
365
|
* Create a session manager
|
|
366
366
|
*/
|
|
@@ -122,7 +122,7 @@ export class BudgetTracker {
|
|
|
122
122
|
return entry.resetAt;
|
|
123
123
|
}
|
|
124
124
|
}
|
|
125
|
-
//
|
|
125
|
+
// --- Policy Engine ---------------------------------------------------------
|
|
126
126
|
export class PolicyEngine {
|
|
127
127
|
config;
|
|
128
128
|
rateLimiter;
|
|
@@ -281,7 +281,7 @@ export class PolicyEngine {
|
|
|
281
281
|
this.rateLimiter.clearExpired();
|
|
282
282
|
}
|
|
283
283
|
}
|
|
284
|
-
//
|
|
284
|
+
// --- Factory Function ----------------------------------------------------
|
|
285
285
|
/**
|
|
286
286
|
* Create a policy engine
|
|
287
287
|
*/
|
|
@@ -5,7 +5,7 @@
|
|
|
5
5
|
*/
|
|
6
6
|
import { readdir, readFile, writeFile, mkdir, rename, unlink, } from "node:fs/promises";
|
|
7
7
|
import { dirname, join } from "node:path";
|
|
8
|
-
//
|
|
8
|
+
// --- Session Store --------------------------------------------------------
|
|
9
9
|
export class SessionStore {
|
|
10
10
|
rootDir;
|
|
11
11
|
autoSave;
|
|
@@ -264,7 +264,7 @@ export class SessionStore {
|
|
|
264
264
|
await this.saveIndex();
|
|
265
265
|
}
|
|
266
266
|
}
|
|
267
|
-
//
|
|
267
|
+
// --- Factory Function ----------------------------------------------------
|
|
268
268
|
/**
|
|
269
269
|
* Create a session store
|
|
270
270
|
*/
|
|
@@ -12,7 +12,7 @@ import type {
|
|
|
12
12
|
SessionContext,
|
|
13
13
|
} from "./types.js";
|
|
14
14
|
|
|
15
|
-
//
|
|
15
|
+
// --- Message History ------------------------------------------------------
|
|
16
16
|
|
|
17
17
|
export class MessageHistory {
|
|
18
18
|
private messages: Message[] = [];
|
|
@@ -152,7 +152,7 @@ export class MessageHistory {
|
|
|
152
152
|
}
|
|
153
153
|
}
|
|
154
154
|
|
|
155
|
-
//
|
|
155
|
+
// --- Message Search --------------------------------------------------------
|
|
156
156
|
|
|
157
157
|
export class MessageSearch {
|
|
158
158
|
private index: Map<string, Message[]> = new Map();
|
|
@@ -269,7 +269,7 @@ export class MessageSearch {
|
|
|
269
269
|
}
|
|
270
270
|
}
|
|
271
271
|
|
|
272
|
-
//
|
|
272
|
+
// --- Context Window Manager ------------------------------------------------
|
|
273
273
|
|
|
274
274
|
export class ContextWindowManager {
|
|
275
275
|
private readonly maxTokens: number;
|
|
@@ -5,15 +5,15 @@
|
|
|
5
5
|
* policy enforcement, and session persistence.
|
|
6
6
|
*/
|
|
7
7
|
|
|
8
|
-
//
|
|
8
|
+
// --- Manager ------------------------------------------------------------
|
|
9
9
|
|
|
10
10
|
export { SessionManager, createSessionManager } from "./manager.js";
|
|
11
11
|
|
|
12
|
-
//
|
|
12
|
+
// --- Store ------------------------------------------------------------
|
|
13
13
|
|
|
14
14
|
export { SessionStore, createSessionStore } from "./store.js";
|
|
15
15
|
|
|
16
|
-
//
|
|
16
|
+
// --- History ---------------------------------------------------------
|
|
17
17
|
|
|
18
18
|
export {
|
|
19
19
|
MessageHistory,
|
|
@@ -21,7 +21,7 @@ export {
|
|
|
21
21
|
ContextWindowManager,
|
|
22
22
|
} from "./history.js";
|
|
23
23
|
|
|
24
|
-
//
|
|
24
|
+
// --- Policy ----------------------------------------------------------
|
|
25
25
|
|
|
26
26
|
export {
|
|
27
27
|
PolicyEngine,
|
|
@@ -30,7 +30,7 @@ export {
|
|
|
30
30
|
createPolicyEngine,
|
|
31
31
|
} from "./policy.js";
|
|
32
32
|
|
|
33
|
-
//
|
|
33
|
+
// --- Types -----------------------------------------------------------
|
|
34
34
|
|
|
35
35
|
export {
|
|
36
36
|
SDK_VERSION,
|
|
@@ -19,7 +19,7 @@ import { ContextWindowManager } from "./history.js";
|
|
|
19
19
|
import { PolicyEngine } from "./policy.js";
|
|
20
20
|
import { SessionStore } from "./store.js";
|
|
21
21
|
|
|
22
|
-
//
|
|
22
|
+
// --- Default Configuration -------------------------------------------------
|
|
23
23
|
|
|
24
24
|
const DEFAULT_CONFIG: Required<SessionManagerConfig> = {
|
|
25
25
|
rootDir: "./sessions",
|
|
@@ -33,7 +33,7 @@ const DEFAULT_CONFIG: Required<SessionManagerConfig> = {
|
|
|
33
33
|
cleanupIntervalMs: 60 * 60 * 1000, // 1 hour
|
|
34
34
|
};
|
|
35
35
|
|
|
36
|
-
//
|
|
36
|
+
// --- Session Manager -------------------------------------------------------
|
|
37
37
|
|
|
38
38
|
export class SessionManager {
|
|
39
39
|
private readonly config: Required<SessionManagerConfig>;
|
|
@@ -469,7 +469,7 @@ export class SessionManager {
|
|
|
469
469
|
}
|
|
470
470
|
}
|
|
471
471
|
|
|
472
|
-
//
|
|
472
|
+
// --- Factory Function ----------------------------------------------------
|
|
473
473
|
|
|
474
474
|
/**
|
|
475
475
|
* Create a session manager
|
|
@@ -6,7 +6,7 @@
|
|
|
6
6
|
|
|
7
7
|
import type { PolicyEngineConfig, PolicyState, TokenUsage } from "./types.js";
|
|
8
8
|
|
|
9
|
-
//
|
|
9
|
+
// --- Rate Limiter ----------------------------------------------------------
|
|
10
10
|
|
|
11
11
|
interface RateLimitEntry {
|
|
12
12
|
count: number;
|
|
@@ -78,7 +78,7 @@ export class RateLimiter {
|
|
|
78
78
|
}
|
|
79
79
|
}
|
|
80
80
|
|
|
81
|
-
//
|
|
81
|
+
// --- Budget Tracker --------------------------------------------------------
|
|
82
82
|
|
|
83
83
|
interface BudgetEntry {
|
|
84
84
|
spent: number;
|
|
@@ -156,7 +156,7 @@ export class BudgetTracker {
|
|
|
156
156
|
}
|
|
157
157
|
}
|
|
158
158
|
|
|
159
|
-
//
|
|
159
|
+
// --- Policy Engine ---------------------------------------------------------
|
|
160
160
|
|
|
161
161
|
export class PolicyEngine {
|
|
162
162
|
private readonly config: PolicyEngineConfig;
|
|
@@ -353,7 +353,7 @@ export class PolicyEngine {
|
|
|
353
353
|
}
|
|
354
354
|
}
|
|
355
355
|
|
|
356
|
-
//
|
|
356
|
+
// --- Factory Function ----------------------------------------------------
|
|
357
357
|
|
|
358
358
|
/**
|
|
359
359
|
* Create a policy engine
|
|
@@ -20,7 +20,7 @@ import type {
|
|
|
20
20
|
SessionStatus,
|
|
21
21
|
} from "./types.js";
|
|
22
22
|
|
|
23
|
-
//
|
|
23
|
+
// --- Session Index --------------------------------------------------------
|
|
24
24
|
|
|
25
25
|
/**
|
|
26
26
|
* Session index entry
|
|
@@ -36,7 +36,7 @@ interface SessionIndexEntry {
|
|
|
36
36
|
totalTokens: number;
|
|
37
37
|
}
|
|
38
38
|
|
|
39
|
-
//
|
|
39
|
+
// --- Session Store --------------------------------------------------------
|
|
40
40
|
|
|
41
41
|
export class SessionStore {
|
|
42
42
|
private readonly rootDir: string;
|
|
@@ -338,7 +338,7 @@ export class SessionStore {
|
|
|
338
338
|
}
|
|
339
339
|
}
|
|
340
340
|
|
|
341
|
-
//
|
|
341
|
+
// --- Factory Function ----------------------------------------------------
|
|
342
342
|
|
|
343
343
|
/**
|
|
344
344
|
* Create a session store
|