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
|
@@ -48,7 +48,7 @@ export function buildSections(normalized, projectRules) {
|
|
|
48
48
|
}
|
|
49
49
|
return sections;
|
|
50
50
|
}
|
|
51
|
-
//
|
|
51
|
+
// --- Section builders ---------------------------------------------------
|
|
52
52
|
function buildIdentitySection(req) {
|
|
53
53
|
const lines = [
|
|
54
54
|
"# Task Identity",
|
|
@@ -23,7 +23,7 @@ export class PromptCompileError extends Error {
|
|
|
23
23
|
this.details = details;
|
|
24
24
|
}
|
|
25
25
|
}
|
|
26
|
-
//
|
|
26
|
+
// --- Provider profiles ----------------------------------------------------
|
|
27
27
|
/**
|
|
28
28
|
* Built-in provider profiles.
|
|
29
29
|
*/
|
|
@@ -77,7 +77,7 @@ export const PROVIDER_PROFILES = {
|
|
|
77
77
|
continuationMarker: "<!-- CONTINUE -->",
|
|
78
78
|
},
|
|
79
79
|
};
|
|
80
|
-
//
|
|
80
|
+
// --- Section order --------------------------------------------------------
|
|
81
81
|
/**
|
|
82
82
|
* Deterministic section ordering per RFC-0041.
|
|
83
83
|
*/
|
|
@@ -94,7 +94,7 @@ export const SECTION_ORDER = [
|
|
|
94
94
|
"continuation_instructions",
|
|
95
95
|
"supplemental",
|
|
96
96
|
];
|
|
97
|
-
//
|
|
97
|
+
// --- Compactable priority threshold ---------------------------------------
|
|
98
98
|
/**
|
|
99
99
|
* Entries with priority >= this are eligible for compaction.
|
|
100
100
|
* Priority 0 = critical (never compact).
|
|
@@ -67,7 +67,7 @@ export function buildSections(
|
|
|
67
67
|
return sections;
|
|
68
68
|
}
|
|
69
69
|
|
|
70
|
-
//
|
|
70
|
+
// --- Section builders ---------------------------------------------------
|
|
71
71
|
|
|
72
72
|
function buildIdentitySection(req: NormalizedRequest): PromptSection {
|
|
73
73
|
const lines = [
|
|
@@ -7,7 +7,7 @@
|
|
|
7
7
|
import type { CompiledRequirement } from "@pi-harness/requirement-compiler";
|
|
8
8
|
import type { CompiledTask } from "@pi-harness/task-compiler";
|
|
9
9
|
|
|
10
|
-
//
|
|
10
|
+
// --- Provider target ------------------------------------------------------
|
|
11
11
|
|
|
12
12
|
/**
|
|
13
13
|
* Supported provider targets.
|
|
@@ -20,7 +20,7 @@ export type ProviderTarget =
|
|
|
20
20
|
| "anthropic"
|
|
21
21
|
| "gemini";
|
|
22
22
|
|
|
23
|
-
//
|
|
23
|
+
// --- Provider prompt profile -----------------------------------------------
|
|
24
24
|
|
|
25
25
|
/**
|
|
26
26
|
* Provider-specific formatting preferences.
|
|
@@ -34,7 +34,7 @@ export interface ProviderPromptProfile {
|
|
|
34
34
|
continuationMarker: string;
|
|
35
35
|
}
|
|
36
36
|
|
|
37
|
-
//
|
|
37
|
+
// --- Prompt sections ------------------------------------------------------
|
|
38
38
|
|
|
39
39
|
/**
|
|
40
40
|
* A single section of the compiled prompt.
|
|
@@ -68,7 +68,7 @@ export interface SourceRef {
|
|
|
68
68
|
text: string;
|
|
69
69
|
}
|
|
70
70
|
|
|
71
|
-
//
|
|
71
|
+
// --- Continuation ---------------------------------------------------------
|
|
72
72
|
|
|
73
73
|
/**
|
|
74
74
|
* Context for resuming a prompt that hit output limits.
|
|
@@ -80,7 +80,7 @@ export interface ContinuationContext {
|
|
|
80
80
|
instruction: "continue_without_repeating";
|
|
81
81
|
}
|
|
82
82
|
|
|
83
|
-
//
|
|
83
|
+
// --- Compiled context ----------------------------------------------------
|
|
84
84
|
|
|
85
85
|
/**
|
|
86
86
|
* Compiled context from the Context Compiler (RFC-0042).
|
|
@@ -106,7 +106,7 @@ function __contextEntryPriority(): void {
|
|
|
106
106
|
// 7+ = supplemental
|
|
107
107
|
}
|
|
108
108
|
|
|
109
|
-
//
|
|
109
|
+
// --- Redaction ------------------------------------------------------------
|
|
110
110
|
|
|
111
111
|
/**
|
|
112
112
|
* Redaction rule patterns.
|
|
@@ -117,7 +117,7 @@ export interface RedactionRule {
|
|
|
117
117
|
description: string;
|
|
118
118
|
}
|
|
119
119
|
|
|
120
|
-
//
|
|
120
|
+
// --- Prompt package ------------------------------------------------------
|
|
121
121
|
|
|
122
122
|
/**
|
|
123
123
|
* The output artifact of prompt compilation.
|
|
@@ -135,7 +135,7 @@ export interface PromptPackage {
|
|
|
135
135
|
createdAt: string;
|
|
136
136
|
}
|
|
137
137
|
|
|
138
|
-
//
|
|
138
|
+
// --- Compile request ------------------------------------------------------
|
|
139
139
|
|
|
140
140
|
/**
|
|
141
141
|
* Input to the prompt compiler.
|
|
@@ -149,7 +149,7 @@ export interface PromptCompileRequest {
|
|
|
149
149
|
continuation?: ContinuationContext;
|
|
150
150
|
}
|
|
151
151
|
|
|
152
|
-
//
|
|
152
|
+
// --- Error codes ---------------------------------------------------------
|
|
153
153
|
|
|
154
154
|
export type PromptCompileErrorCode =
|
|
155
155
|
| "INVALID_TASK"
|
|
@@ -178,7 +178,7 @@ export class PromptCompileError extends Error {
|
|
|
178
178
|
}
|
|
179
179
|
}
|
|
180
180
|
|
|
181
|
-
//
|
|
181
|
+
// --- Provider profiles ----------------------------------------------------
|
|
182
182
|
|
|
183
183
|
/**
|
|
184
184
|
* Built-in provider profiles.
|
|
@@ -235,7 +235,7 @@ export const PROVIDER_PROFILES: Record<ProviderTarget, ProviderPromptProfile> =
|
|
|
235
235
|
},
|
|
236
236
|
};
|
|
237
237
|
|
|
238
|
-
//
|
|
238
|
+
// --- Section order --------------------------------------------------------
|
|
239
239
|
|
|
240
240
|
/**
|
|
241
241
|
* Deterministic section ordering per RFC-0041.
|
|
@@ -254,7 +254,7 @@ export const SECTION_ORDER: PromptSection["kind"][] = [
|
|
|
254
254
|
"supplemental",
|
|
255
255
|
];
|
|
256
256
|
|
|
257
|
-
//
|
|
257
|
+
// --- Compactable priority threshold ---------------------------------------
|
|
258
258
|
|
|
259
259
|
/**
|
|
260
260
|
* Entries with priority >= this are eligible for compaction.
|
|
@@ -32,7 +32,7 @@ import { PROVIDER_PROFILES } from "../src/types.js";
|
|
|
32
32
|
import type { PromptCompileRequest } from "../src/types.js";
|
|
33
33
|
import { validateSections, validateTokenBudget } from "../src/validate.js";
|
|
34
34
|
|
|
35
|
-
//
|
|
35
|
+
// --- Test fixtures -------------------------------------------------------
|
|
36
36
|
|
|
37
37
|
function makeRequest(
|
|
38
38
|
overrides?: Partial<PromptCompileRequest>,
|
|
@@ -115,7 +115,7 @@ function makeDeps(overrides?: {
|
|
|
115
115
|
};
|
|
116
116
|
}
|
|
117
117
|
|
|
118
|
-
//
|
|
118
|
+
// --- Test 1: Deterministic hash --------------------------------------
|
|
119
119
|
|
|
120
120
|
describe("Deterministic hash", () => {
|
|
121
121
|
it("identical inputs produce identical prompt content and hash", async () => {
|
|
@@ -167,7 +167,7 @@ describe("Deterministic hash", () => {
|
|
|
167
167
|
});
|
|
168
168
|
});
|
|
169
169
|
|
|
170
|
-
//
|
|
170
|
+
// --- Test 2: Required sections never removed -----------------------------
|
|
171
171
|
|
|
172
172
|
describe("Required sections survive compaction", () => {
|
|
173
173
|
it("objective section is required and never compacted", async () => {
|
|
@@ -235,7 +235,7 @@ describe("Required sections survive compaction", () => {
|
|
|
235
235
|
});
|
|
236
236
|
});
|
|
237
237
|
|
|
238
|
-
//
|
|
238
|
+
// --- Test 3: Provider formatting ---------------------------------------
|
|
239
239
|
|
|
240
240
|
describe("Provider formatting", () => {
|
|
241
241
|
it("anthropic uses XML formatting", async () => {
|
|
@@ -299,7 +299,7 @@ describe("Provider formatting", () => {
|
|
|
299
299
|
});
|
|
300
300
|
});
|
|
301
301
|
|
|
302
|
-
//
|
|
302
|
+
// --- Test 4: Secret redaction -----------------------------------------
|
|
303
303
|
|
|
304
304
|
describe("Secret redaction", () => {
|
|
305
305
|
it("API keys are redacted before persistence", async () => {
|
|
@@ -360,7 +360,7 @@ describe("Secret redaction", () => {
|
|
|
360
360
|
});
|
|
361
361
|
});
|
|
362
362
|
|
|
363
|
-
//
|
|
363
|
+
// --- Test 5: Error codes -----------------------------------------------
|
|
364
364
|
|
|
365
365
|
describe("Error codes", () => {
|
|
366
366
|
it("INVALID_TASK when task ID is empty", async () => {
|
|
@@ -477,7 +477,7 @@ describe("Error codes", () => {
|
|
|
477
477
|
});
|
|
478
478
|
});
|
|
479
479
|
|
|
480
|
-
//
|
|
480
|
+
// --- Test 6: Continuation without repetition ---------------------------
|
|
481
481
|
|
|
482
482
|
describe("Continuation without repetition", () => {
|
|
483
483
|
it("completed items are marked as done, not repeated", async () => {
|
|
@@ -554,7 +554,7 @@ describe("Continuation without repetition", () => {
|
|
|
554
554
|
});
|
|
555
555
|
});
|
|
556
556
|
|
|
557
|
-
//
|
|
557
|
+
// --- Test 7: Token budget ----------------------------------------------
|
|
558
558
|
|
|
559
559
|
describe("Token budget", () => {
|
|
560
560
|
it("estimateTokens returns 0 for empty string", () => {
|
|
@@ -623,7 +623,7 @@ describe("Token budget", () => {
|
|
|
623
623
|
});
|
|
624
624
|
});
|
|
625
625
|
|
|
626
|
-
//
|
|
626
|
+
// --- Test 8: Deduplication ---------------------------------------------
|
|
627
627
|
|
|
628
628
|
describe("Deduplication", () => {
|
|
629
629
|
it("normalizeForDeduplication strips markdown and lowercases", () => {
|
|
@@ -691,7 +691,7 @@ describe("Deduplication", () => {
|
|
|
691
691
|
});
|
|
692
692
|
});
|
|
693
693
|
|
|
694
|
-
//
|
|
694
|
+
// --- Test 9: Metadata completeness ------------------------------------
|
|
695
695
|
|
|
696
696
|
describe("Metadata completeness", () => {
|
|
697
697
|
it("PromptPackage includes token estimate and source refs", async () => {
|
|
@@ -738,7 +738,7 @@ describe("Metadata completeness", () => {
|
|
|
738
738
|
});
|
|
739
739
|
});
|
|
740
740
|
|
|
741
|
-
//
|
|
741
|
+
// --- Test 10: PromptCompileError -------------------------------------
|
|
742
742
|
|
|
743
743
|
describe("PromptCompileError", () => {
|
|
744
744
|
it("has correct name, code, and message", () => {
|
|
@@ -761,7 +761,7 @@ describe("PromptCompileError", () => {
|
|
|
761
761
|
});
|
|
762
762
|
});
|
|
763
763
|
|
|
764
|
-
//
|
|
764
|
+
// --- Test 11: normalizeRequest ----------------------------------------
|
|
765
765
|
|
|
766
766
|
describe("normalizeRequest", () => {
|
|
767
767
|
it("trims strings", () => {
|
|
@@ -346,7 +346,7 @@ export class BuiltAdapter {
|
|
|
346
346
|
};
|
|
347
347
|
}
|
|
348
348
|
}
|
|
349
|
-
//
|
|
349
|
+
// --- Factory Function ------------------------------------------------------
|
|
350
350
|
/**
|
|
351
351
|
* Create a new provider builder
|
|
352
352
|
*/
|
|
@@ -3,15 +3,15 @@
|
|
|
3
3
|
*
|
|
4
4
|
* A comprehensive SDK for building, testing, and registering provider adapters.
|
|
5
5
|
*/
|
|
6
|
-
//
|
|
6
|
+
// --- Builder ----------------------------------------------------------------
|
|
7
7
|
export { AdapterBuilder, BuiltAdapter, createProviderBuilder, } from "./builder.js";
|
|
8
|
-
//
|
|
8
|
+
// --- Registry ----------------------------------------------------------------
|
|
9
9
|
export { AdapterRegistry, createAdapterRegistry, } from "./registry.js";
|
|
10
|
-
//
|
|
10
|
+
// --- Tester -----------------------------------------------------------------
|
|
11
11
|
export { AdapterTester, assertTestResults, createAdapterTester, } from "./tester.js";
|
|
12
|
-
//
|
|
12
|
+
// --- Errors -----------------------------------------------------------------
|
|
13
13
|
export { AdapterError, AdapterNotFoundError, AdapterAlreadyRegisteredError, AdapterInvocationError, ModelNotSupportedError, AdapterStateError, CompatibilityError, TestFailureError, BuilderValidationError, LifecycleError, } from "./errors.js";
|
|
14
|
-
//
|
|
14
|
+
// --- Constants ---------------------------------------------------------------
|
|
15
15
|
/**
|
|
16
16
|
* SDK version
|
|
17
17
|
*/
|
|
@@ -346,7 +346,7 @@ export class AdapterRegistry extends EventEmitter {
|
|
|
346
346
|
};
|
|
347
347
|
}
|
|
348
348
|
}
|
|
349
|
-
//
|
|
349
|
+
// --- Factory Function ------------------------------------------------------
|
|
350
350
|
/**
|
|
351
351
|
* Create a new adapter registry
|
|
352
352
|
*/
|
|
@@ -389,7 +389,7 @@ export function assertTestResults(report) {
|
|
|
389
389
|
throw new TestFailureError(report.adapterId, "all", `Test failed:\n${messages.join("\n")}`);
|
|
390
390
|
}
|
|
391
391
|
}
|
|
392
|
-
//
|
|
392
|
+
// --- Factory Function ------------------------------------------------------
|
|
393
393
|
/**
|
|
394
394
|
* Create a new adapter tester
|
|
395
395
|
*/
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
*
|
|
4
4
|
* Core types for building provider adapters.
|
|
5
5
|
*/
|
|
6
|
-
//
|
|
6
|
+
// --- SDK Version ------------------------------------------------------------
|
|
7
7
|
/**
|
|
8
8
|
* SDK version for compatibility checks
|
|
9
9
|
*/
|
|
@@ -432,7 +432,7 @@ export class BuiltAdapter {
|
|
|
432
432
|
}
|
|
433
433
|
}
|
|
434
434
|
|
|
435
|
-
//
|
|
435
|
+
// --- Factory Function ------------------------------------------------------
|
|
436
436
|
|
|
437
437
|
/**
|
|
438
438
|
* Create a new provider builder
|
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
* A comprehensive SDK for building, testing, and registering provider adapters.
|
|
5
5
|
*/
|
|
6
6
|
|
|
7
|
-
//
|
|
7
|
+
// --- Builder ----------------------------------------------------------------
|
|
8
8
|
|
|
9
9
|
export {
|
|
10
10
|
AdapterBuilder,
|
|
@@ -12,7 +12,7 @@ export {
|
|
|
12
12
|
createProviderBuilder,
|
|
13
13
|
} from "./builder.js";
|
|
14
14
|
|
|
15
|
-
//
|
|
15
|
+
// --- Registry ----------------------------------------------------------------
|
|
16
16
|
|
|
17
17
|
export {
|
|
18
18
|
AdapterRegistry,
|
|
@@ -20,7 +20,7 @@ export {
|
|
|
20
20
|
type RegistryConfig,
|
|
21
21
|
} from "./registry.js";
|
|
22
22
|
|
|
23
|
-
//
|
|
23
|
+
// --- Tester -----------------------------------------------------------------
|
|
24
24
|
|
|
25
25
|
export {
|
|
26
26
|
AdapterTester,
|
|
@@ -28,7 +28,7 @@ export {
|
|
|
28
28
|
createAdapterTester,
|
|
29
29
|
} from "./tester.js";
|
|
30
30
|
|
|
31
|
-
//
|
|
31
|
+
// --- Types ------------------------------------------------------------------
|
|
32
32
|
|
|
33
33
|
export type {
|
|
34
34
|
// SDK Types
|
|
@@ -61,7 +61,7 @@ export type {
|
|
|
61
61
|
ProviderResponse,
|
|
62
62
|
} from "./types.js";
|
|
63
63
|
|
|
64
|
-
//
|
|
64
|
+
// --- Errors -----------------------------------------------------------------
|
|
65
65
|
|
|
66
66
|
export {
|
|
67
67
|
AdapterError,
|
|
@@ -76,7 +76,7 @@ export {
|
|
|
76
76
|
LifecycleError,
|
|
77
77
|
} from "./errors.js";
|
|
78
78
|
|
|
79
|
-
//
|
|
79
|
+
// --- Constants ---------------------------------------------------------------
|
|
80
80
|
|
|
81
81
|
/**
|
|
82
82
|
* SDK version
|
|
@@ -474,7 +474,7 @@ export class AdapterRegistry extends EventEmitter {
|
|
|
474
474
|
}
|
|
475
475
|
}
|
|
476
476
|
|
|
477
|
-
//
|
|
477
|
+
// --- Factory Function ------------------------------------------------------
|
|
478
478
|
|
|
479
479
|
/**
|
|
480
480
|
* Create a new adapter registry
|
|
@@ -470,7 +470,7 @@ export function assertTestResults(report: TestReport): void {
|
|
|
470
470
|
}
|
|
471
471
|
}
|
|
472
472
|
|
|
473
|
-
//
|
|
473
|
+
// --- Factory Function ------------------------------------------------------
|
|
474
474
|
|
|
475
475
|
/**
|
|
476
476
|
* Create a new adapter tester
|
|
@@ -4,14 +4,14 @@
|
|
|
4
4
|
* Core types for building provider adapters.
|
|
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
|
+
// --- Provider Types (from @pi/types) ----------------------------------------
|
|
15
15
|
|
|
16
16
|
/**
|
|
17
17
|
* Provider capability
|
|
@@ -62,7 +62,7 @@ export interface ProviderResponse {
|
|
|
62
62
|
error?: string;
|
|
63
63
|
}
|
|
64
64
|
|
|
65
|
-
//
|
|
65
|
+
// --- Rate Limit Config ------------------------------------------------------
|
|
66
66
|
|
|
67
67
|
/**
|
|
68
68
|
* Rate limit configuration for providers
|
|
@@ -74,7 +74,7 @@ export interface RateLimitConfig {
|
|
|
74
74
|
concurrentRequests?: number;
|
|
75
75
|
}
|
|
76
76
|
|
|
77
|
-
//
|
|
77
|
+
// --- SDK Types --------------------------------------------------------------
|
|
78
78
|
|
|
79
79
|
/**
|
|
80
80
|
* Adapter version information
|
|
@@ -262,7 +262,7 @@ export interface RegistryEvents {
|
|
|
262
262
|
onHealthCheckFailed: (adapterId: string, result: HealthCheckResult) => void;
|
|
263
263
|
}
|
|
264
264
|
|
|
265
|
-
//
|
|
265
|
+
// --- Provider Adapter Types ------------------------------------------------
|
|
266
266
|
|
|
267
267
|
/**
|
|
268
268
|
* Provider adapter interface
|