pi-harness-runtime 0.9.25 → 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 +27 -7
- package/README.md +51 -51
- package/harness/auto-compact.ts +1 -1
- 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 +1 -1
- 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 +10 -10
- 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 +46 -32
- package/package.json +1 -1
- package/packages/a2a-adapter/package.json +1 -1
- package/packages/a2a-adapter/src/types.ts +5 -5
- package/packages/auth/package.json +1 -1
- 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/package.json +1 -1
- package/packages/providers/src/deepagents-adapter.ts +1 -1
- package/packages/quota-manager/package.json +1 -1
- 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
|
@@ -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
|
|
@@ -4,14 +4,14 @@
|
|
|
4
4
|
* Core types for session management.
|
|
5
5
|
*/
|
|
6
6
|
|
|
7
|
-
//
|
|
7
|
+
// --- SDK Version ------------------------------------------------------------
|
|
8
8
|
|
|
9
9
|
/**
|
|
10
10
|
* SDK version for compatibility checks
|
|
11
11
|
*/
|
|
12
12
|
export const SDK_VERSION = "1.0.0";
|
|
13
13
|
|
|
14
|
-
//
|
|
14
|
+
// --- Session Types ---------------------------------------------------------
|
|
15
15
|
|
|
16
16
|
/**
|
|
17
17
|
* Session status
|
|
@@ -80,7 +80,7 @@ export interface ToolResult {
|
|
|
80
80
|
timestamp: string;
|
|
81
81
|
}
|
|
82
82
|
|
|
83
|
-
//
|
|
83
|
+
// --- Token Usage -----------------------------------------------------------
|
|
84
84
|
|
|
85
85
|
/**
|
|
86
86
|
* Token usage tracking
|
|
@@ -96,7 +96,7 @@ export interface TokenUsage {
|
|
|
96
96
|
resetAt?: string;
|
|
97
97
|
}
|
|
98
98
|
|
|
99
|
-
//
|
|
99
|
+
// --- Session Metrics ------------------------------------------------------
|
|
100
100
|
|
|
101
101
|
/**
|
|
102
102
|
* Session metrics
|
|
@@ -112,7 +112,7 @@ export interface SessionMetrics {
|
|
|
112
112
|
retryCount: number;
|
|
113
113
|
}
|
|
114
114
|
|
|
115
|
-
//
|
|
115
|
+
// --- Policy Types ---------------------------------------------------------
|
|
116
116
|
|
|
117
117
|
/**
|
|
118
118
|
* Policy state
|
|
@@ -126,7 +126,7 @@ export interface PolicyState {
|
|
|
126
126
|
suspensionReason?: string;
|
|
127
127
|
}
|
|
128
128
|
|
|
129
|
-
//
|
|
129
|
+
// --- Configuration --------------------------------------------------------
|
|
130
130
|
|
|
131
131
|
/**
|
|
132
132
|
* Session manager configuration
|
|
@@ -178,7 +178,7 @@ export interface SessionManagerConfig {
|
|
|
178
178
|
cleanupIntervalMs?: number;
|
|
179
179
|
}
|
|
180
180
|
|
|
181
|
-
//
|
|
181
|
+
// --- Store Types ----------------------------------------------------------
|
|
182
182
|
|
|
183
183
|
/**
|
|
184
184
|
* Session store configuration
|
|
@@ -190,7 +190,7 @@ export interface SessionStoreConfig {
|
|
|
190
190
|
maxSessions?: number;
|
|
191
191
|
}
|
|
192
192
|
|
|
193
|
-
//
|
|
193
|
+
// --- Policy Engine Types -------------------------------------------------
|
|
194
194
|
|
|
195
195
|
/**
|
|
196
196
|
* Policy engine configuration
|
|
@@ -222,7 +222,7 @@ export interface PolicyEngineConfig {
|
|
|
222
222
|
sessionBudget?: number;
|
|
223
223
|
}
|
|
224
224
|
|
|
225
|
-
//
|
|
225
|
+
// --- Event Types ----------------------------------------------------------
|
|
226
226
|
|
|
227
227
|
/**
|
|
228
228
|
* Session event type
|
|
@@ -248,7 +248,7 @@ export interface SessionEvent {
|
|
|
248
248
|
data?: Record<string, unknown>;
|
|
249
249
|
}
|
|
250
250
|
|
|
251
|
-
//
|
|
251
|
+
// --- History Types --------------------------------------------------------
|
|
252
252
|
|
|
253
253
|
/**
|
|
254
254
|
* Search filter for messages
|