@zhixuan92/multi-model-agent-core 2.0.1 → 2.1.1
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/README.md +6 -0
- package/dist/index.d.ts +15 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +15 -0
- package/dist/index.js.map +1 -1
- package/dist/intake/clarification-store.d.ts +21 -0
- package/dist/intake/clarification-store.d.ts.map +1 -0
- package/dist/intake/clarification-store.js +100 -0
- package/dist/intake/clarification-store.js.map +1 -0
- package/dist/intake/classify.d.ts +3 -0
- package/dist/intake/classify.d.ts.map +1 -0
- package/dist/intake/classify.js +108 -0
- package/dist/intake/classify.js.map +1 -0
- package/dist/intake/compilers/audit.d.ts +8 -0
- package/dist/intake/compilers/audit.d.ts.map +1 -0
- package/dist/intake/compilers/audit.js +45 -0
- package/dist/intake/compilers/audit.js.map +1 -0
- package/dist/intake/compilers/debug.d.ts +9 -0
- package/dist/intake/compilers/debug.d.ts.map +1 -0
- package/dist/intake/compilers/debug.js +27 -0
- package/dist/intake/compilers/debug.js.map +1 -0
- package/dist/intake/compilers/delegate.d.ts +10 -0
- package/dist/intake/compilers/delegate.d.ts.map +1 -0
- package/dist/intake/compilers/delegate.js +16 -0
- package/dist/intake/compilers/delegate.js.map +1 -0
- package/dist/intake/compilers/review.d.ts +9 -0
- package/dist/intake/compilers/review.d.ts.map +1 -0
- package/dist/intake/compilers/review.js +46 -0
- package/dist/intake/compilers/review.js.map +1 -0
- package/dist/intake/compilers/verify.d.ts +8 -0
- package/dist/intake/compilers/verify.d.ts.map +1 -0
- package/dist/intake/compilers/verify.js +45 -0
- package/dist/intake/compilers/verify.js.map +1 -0
- package/dist/intake/confirm.d.ts +7 -0
- package/dist/intake/confirm.d.ts.map +1 -0
- package/dist/intake/confirm.js +109 -0
- package/dist/intake/confirm.js.map +1 -0
- package/dist/intake/draft-id.d.ts +12 -0
- package/dist/intake/draft-id.d.ts.map +1 -0
- package/dist/intake/draft-id.js +46 -0
- package/dist/intake/draft-id.js.map +1 -0
- package/dist/intake/feature-flag.d.ts +6 -0
- package/dist/intake/feature-flag.d.ts.map +1 -0
- package/dist/intake/feature-flag.js +13 -0
- package/dist/intake/feature-flag.js.map +1 -0
- package/dist/intake/infer.d.ts +3 -0
- package/dist/intake/infer.d.ts.map +1 -0
- package/dist/intake/infer.js +42 -0
- package/dist/intake/infer.js.map +1 -0
- package/dist/intake/pipeline.d.ts +5 -0
- package/dist/intake/pipeline.d.ts.map +1 -0
- package/dist/intake/pipeline.js +99 -0
- package/dist/intake/pipeline.js.map +1 -0
- package/dist/intake/resolve.d.ts +7 -0
- package/dist/intake/resolve.d.ts.map +1 -0
- package/dist/intake/resolve.js +36 -0
- package/dist/intake/resolve.js.map +1 -0
- package/dist/intake/source-schema.d.ts +4 -0
- package/dist/intake/source-schema.d.ts.map +1 -0
- package/dist/intake/source-schema.js +45 -0
- package/dist/intake/source-schema.js.map +1 -0
- package/dist/intake/types.d.ts +124 -0
- package/dist/intake/types.d.ts.map +1 -0
- package/dist/intake/types.js +2 -0
- package/dist/intake/types.js.map +1 -0
- package/dist/run-tasks.d.ts.map +1 -1
- package/dist/run-tasks.js +14 -6
- package/dist/run-tasks.js.map +1 -1
- package/dist/types.d.ts +3 -0
- package/dist/types.d.ts.map +1 -1
- package/dist/types.js.map +1 -1
- package/package.json +61 -1
package/README.md
CHANGED
|
@@ -50,6 +50,12 @@ for (const r of results) {
|
|
|
50
50
|
| `./provider` | `createProvider` factory |
|
|
51
51
|
| `./run-tasks` | `runTasks` parallel dispatcher |
|
|
52
52
|
| `./types` | All shared types |
|
|
53
|
+
| `./intake/pipeline` | `runIntakePipeline` — compile → infer → classify → resolve |
|
|
54
|
+
| `./intake/types` | `DraftTask`, `Source`, `IntakeResult`, `ClarificationEntry` |
|
|
55
|
+
| `./intake/classify` | `classifyDraft` — deterministic classification heuristic |
|
|
56
|
+
| `./intake/confirm` | `processConfirmations` — clarification resume processing |
|
|
57
|
+
| `./intake/clarification-store` | `ClarificationStore` — TTL/LRU state for clarification sets |
|
|
58
|
+
| `./intake/compilers/*` | Route compilers: `delegate`, `review`, `debug`, `verify`, `audit` |
|
|
53
59
|
|
|
54
60
|
## Full documentation
|
|
55
61
|
|
package/dist/index.d.ts
CHANGED
|
@@ -11,4 +11,19 @@ export { evaluateReadiness, hasScopePillar, hasInputsPillar, hasDoneConditionPil
|
|
|
11
11
|
export { resolveAgent } from './routing/resolve-agent.js';
|
|
12
12
|
export type { ResolvedAgent } from './routing/resolve-agent.js';
|
|
13
13
|
export { findModelProfile, getEffectiveCostTier } from './routing/model-profiles.js';
|
|
14
|
+
export { compileDelegateTasks } from './intake/compilers/delegate.js';
|
|
15
|
+
export { compileReviewCode } from './intake/compilers/review.js';
|
|
16
|
+
export { compileDebugTask } from './intake/compilers/debug.js';
|
|
17
|
+
export { compileVerifyWork } from './intake/compilers/verify.js';
|
|
18
|
+
export { compileAuditDocument } from './intake/compilers/audit.js';
|
|
19
|
+
export { runIntakePipeline } from './intake/pipeline.js';
|
|
20
|
+
export { classifyDraft } from './intake/classify.js';
|
|
21
|
+
export { inferMissingFields } from './intake/infer.js';
|
|
22
|
+
export { resolveDraft } from './intake/resolve.js';
|
|
23
|
+
export { ClarificationStore } from './intake/clarification-store.js';
|
|
24
|
+
export { processConfirmations } from './intake/confirm.js';
|
|
25
|
+
export { getMaxRoundsPerDraft } from './intake/feature-flag.js';
|
|
26
|
+
export { validateSource } from './intake/source-schema.js';
|
|
27
|
+
export type { DraftTask, SourceRoute, AnySource, DelegateSource, ReviewSource, DebugSource, VerifySource, AuditSource, StoredDraft, ClarificationSet, ConfirmationEntry, ConfirmDraftError, ConfirmResult, ClassificationResult, ClarificationEntry, HardError, IntakeProgress, ReadyDraft, IntakeResult, } from './intake/types.js';
|
|
28
|
+
export { createDraftId, parseDraftId, generateRequestId } from './intake/draft-id.js';
|
|
14
29
|
//# sourceMappingURL=index.d.ts.map
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,kBAAkB,EAAE,MAAM,kBAAkB,CAAC;AACtD,OAAO,EAAE,WAAW,EAAE,sBAAsB,EAAE,MAAM,oBAAoB,CAAC;AAGzE,YAAY,EACV,QAAQ,EACR,aAAa,EACb,SAAS,EACT,eAAe,EACf,WAAW,EACX,MAAM,EACN,QAAQ,EACR,SAAS,EACT,QAAQ,EACR,cAAc,EACd,mBAAmB,EACnB,oBAAoB,EACpB,8BAA8B,EAC9B,gBAAgB,EAChB,UAAU,EACV,SAAS,EACT,YAAY,EACZ,aAAa,EACb,kBAAkB,EAClB,QAAQ,EACR,UAAU,EACV,eAAe,EACf,aAAa,EACb,uBAAuB,EACvB,kBAAkB,EAClB,mBAAmB,EACnB,mBAAmB,EACnB,kBAAkB,EAClB,eAAe,GAChB,MAAM,YAAY,CAAC;AACpB,OAAO,EAAE,sBAAsB,EAAE,MAAM,kCAAkC,CAAC;AAG1E,OAAO,EACL,yBAAyB,EACzB,yBAAyB,GAC1B,MAAM,kCAAkC,CAAC;AAC1C,YAAY,EACV,iBAAiB,EACjB,eAAe,EACf,gCAAgC,GACjC,MAAM,kCAAkC,CAAC;AAC1C,OAAO,EAAE,mBAAmB,EAAE,MAAM,oCAAoC,CAAC;AAGzE,OAAO,EAAE,cAAc,EAAE,MAAM,eAAe,CAAC;AAG/C,OAAO,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAG1C,OAAO,EACL,iBAAiB,EACjB,cAAc,EACd,eAAe,EACf,sBAAsB,EACtB,uBAAuB,EACvB,yBAAyB,EACzB,wBAAwB,EACxB,6BAA6B,EAC7B,kBAAkB,EAClB,uBAAuB,EACvB,sBAAsB,GACvB,MAAM,0BAA0B,CAAC;AAGlC,OAAO,EAAE,YAAY,EAAE,MAAM,4BAA4B,CAAC;AAC1D,YAAY,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAC;AAChE,OAAO,EAAE,gBAAgB,EAAE,oBAAoB,EAAE,MAAM,6BAA6B,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,kBAAkB,EAAE,MAAM,kBAAkB,CAAC;AACtD,OAAO,EAAE,WAAW,EAAE,sBAAsB,EAAE,MAAM,oBAAoB,CAAC;AAGzE,YAAY,EACV,QAAQ,EACR,aAAa,EACb,SAAS,EACT,eAAe,EACf,WAAW,EACX,MAAM,EACN,QAAQ,EACR,SAAS,EACT,QAAQ,EACR,cAAc,EACd,mBAAmB,EACnB,oBAAoB,EACpB,8BAA8B,EAC9B,gBAAgB,EAChB,UAAU,EACV,SAAS,EACT,YAAY,EACZ,aAAa,EACb,kBAAkB,EAClB,QAAQ,EACR,UAAU,EACV,eAAe,EACf,aAAa,EACb,uBAAuB,EACvB,kBAAkB,EAClB,mBAAmB,EACnB,mBAAmB,EACnB,kBAAkB,EAClB,eAAe,GAChB,MAAM,YAAY,CAAC;AACpB,OAAO,EAAE,sBAAsB,EAAE,MAAM,kCAAkC,CAAC;AAG1E,OAAO,EACL,yBAAyB,EACzB,yBAAyB,GAC1B,MAAM,kCAAkC,CAAC;AAC1C,YAAY,EACV,iBAAiB,EACjB,eAAe,EACf,gCAAgC,GACjC,MAAM,kCAAkC,CAAC;AAC1C,OAAO,EAAE,mBAAmB,EAAE,MAAM,oCAAoC,CAAC;AAGzE,OAAO,EAAE,cAAc,EAAE,MAAM,eAAe,CAAC;AAG/C,OAAO,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAG1C,OAAO,EACL,iBAAiB,EACjB,cAAc,EACd,eAAe,EACf,sBAAsB,EACtB,uBAAuB,EACvB,yBAAyB,EACzB,wBAAwB,EACxB,6BAA6B,EAC7B,kBAAkB,EAClB,uBAAuB,EACvB,sBAAsB,GACvB,MAAM,0BAA0B,CAAC;AAGlC,OAAO,EAAE,YAAY,EAAE,MAAM,4BAA4B,CAAC;AAC1D,YAAY,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAC;AAChE,OAAO,EAAE,gBAAgB,EAAE,oBAAoB,EAAE,MAAM,6BAA6B,CAAC;AAGrF,OAAO,EAAE,oBAAoB,EAAE,MAAM,gCAAgC,CAAC;AACtE,OAAO,EAAE,iBAAiB,EAAE,MAAM,8BAA8B,CAAC;AACjE,OAAO,EAAE,gBAAgB,EAAE,MAAM,6BAA6B,CAAC;AAC/D,OAAO,EAAE,iBAAiB,EAAE,MAAM,8BAA8B,CAAC;AACjE,OAAO,EAAE,oBAAoB,EAAE,MAAM,6BAA6B,CAAC;AACnE,OAAO,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AACzD,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AACrD,OAAO,EAAE,kBAAkB,EAAE,MAAM,mBAAmB,CAAC;AACvD,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AACnD,OAAO,EAAE,kBAAkB,EAAE,MAAM,iCAAiC,CAAC;AACrE,OAAO,EAAE,oBAAoB,EAAE,MAAM,qBAAqB,CAAC;AAC3D,OAAO,EAAE,oBAAoB,EAAE,MAAM,0BAA0B,CAAC;AAChE,OAAO,EAAE,cAAc,EAAE,MAAM,2BAA2B,CAAC;AAC3D,YAAY,EACV,SAAS,EACT,WAAW,EACX,SAAS,EACT,cAAc,EACd,YAAY,EACZ,WAAW,EACX,YAAY,EACZ,WAAW,EACX,WAAW,EACX,gBAAgB,EAChB,iBAAiB,EACjB,iBAAiB,EACjB,aAAa,EACb,oBAAoB,EACpB,kBAAkB,EAClB,SAAS,EACT,cAAc,EACd,UAAU,EACV,YAAY,GACb,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EAAE,aAAa,EAAE,YAAY,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC"}
|
package/dist/index.js
CHANGED
|
@@ -13,4 +13,19 @@ export { evaluateReadiness, hasScopePillar, hasInputsPillar, hasDoneConditionPil
|
|
|
13
13
|
// Agent resolution
|
|
14
14
|
export { resolveAgent } from './routing/resolve-agent.js';
|
|
15
15
|
export { findModelProfile, getEffectiveCostTier } from './routing/model-profiles.js';
|
|
16
|
+
// Intake pipeline
|
|
17
|
+
export { compileDelegateTasks } from './intake/compilers/delegate.js';
|
|
18
|
+
export { compileReviewCode } from './intake/compilers/review.js';
|
|
19
|
+
export { compileDebugTask } from './intake/compilers/debug.js';
|
|
20
|
+
export { compileVerifyWork } from './intake/compilers/verify.js';
|
|
21
|
+
export { compileAuditDocument } from './intake/compilers/audit.js';
|
|
22
|
+
export { runIntakePipeline } from './intake/pipeline.js';
|
|
23
|
+
export { classifyDraft } from './intake/classify.js';
|
|
24
|
+
export { inferMissingFields } from './intake/infer.js';
|
|
25
|
+
export { resolveDraft } from './intake/resolve.js';
|
|
26
|
+
export { ClarificationStore } from './intake/clarification-store.js';
|
|
27
|
+
export { processConfirmations } from './intake/confirm.js';
|
|
28
|
+
export { getMaxRoundsPerDraft } from './intake/feature-flag.js';
|
|
29
|
+
export { validateSource } from './intake/source-schema.js';
|
|
30
|
+
export { createDraftId, parseDraftId, generateRequestId } from './intake/draft-id.js';
|
|
16
31
|
//# sourceMappingURL=index.js.map
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,SAAS;AACT,OAAO,EAAE,kBAAkB,EAAE,MAAM,kBAAkB,CAAC;AACtD,OAAO,EAAE,WAAW,EAAE,sBAAsB,EAAE,MAAM,oBAAoB,CAAC;AAoCzE,iBAAiB;AACjB,OAAO,EACL,yBAAyB,EACzB,yBAAyB,GAC1B,MAAM,kCAAkC,CAAC;AAM1C,OAAO,EAAE,mBAAmB,EAAE,MAAM,oCAAoC,CAAC;AAEzE,WAAW;AACX,OAAO,EAAE,cAAc,EAAE,MAAM,eAAe,CAAC;AAE/C,YAAY;AACZ,OAAO,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAE1C,YAAY;AACZ,OAAO,EACL,iBAAiB,EACjB,cAAc,EACd,eAAe,EACf,sBAAsB,EACtB,uBAAuB,EACvB,yBAAyB,EACzB,wBAAwB,EACxB,6BAA6B,EAC7B,kBAAkB,EAClB,uBAAuB,EACvB,sBAAsB,GACvB,MAAM,0BAA0B,CAAC;AAElC,mBAAmB;AACnB,OAAO,EAAE,YAAY,EAAE,MAAM,4BAA4B,CAAC;AAE1D,OAAO,EAAE,gBAAgB,EAAE,oBAAoB,EAAE,MAAM,6BAA6B,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,SAAS;AACT,OAAO,EAAE,kBAAkB,EAAE,MAAM,kBAAkB,CAAC;AACtD,OAAO,EAAE,WAAW,EAAE,sBAAsB,EAAE,MAAM,oBAAoB,CAAC;AAoCzE,iBAAiB;AACjB,OAAO,EACL,yBAAyB,EACzB,yBAAyB,GAC1B,MAAM,kCAAkC,CAAC;AAM1C,OAAO,EAAE,mBAAmB,EAAE,MAAM,oCAAoC,CAAC;AAEzE,WAAW;AACX,OAAO,EAAE,cAAc,EAAE,MAAM,eAAe,CAAC;AAE/C,YAAY;AACZ,OAAO,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAE1C,YAAY;AACZ,OAAO,EACL,iBAAiB,EACjB,cAAc,EACd,eAAe,EACf,sBAAsB,EACtB,uBAAuB,EACvB,yBAAyB,EACzB,wBAAwB,EACxB,6BAA6B,EAC7B,kBAAkB,EAClB,uBAAuB,EACvB,sBAAsB,GACvB,MAAM,0BAA0B,CAAC;AAElC,mBAAmB;AACnB,OAAO,EAAE,YAAY,EAAE,MAAM,4BAA4B,CAAC;AAE1D,OAAO,EAAE,gBAAgB,EAAE,oBAAoB,EAAE,MAAM,6BAA6B,CAAC;AAErF,kBAAkB;AAClB,OAAO,EAAE,oBAAoB,EAAE,MAAM,gCAAgC,CAAC;AACtE,OAAO,EAAE,iBAAiB,EAAE,MAAM,8BAA8B,CAAC;AACjE,OAAO,EAAE,gBAAgB,EAAE,MAAM,6BAA6B,CAAC;AAC/D,OAAO,EAAE,iBAAiB,EAAE,MAAM,8BAA8B,CAAC;AACjE,OAAO,EAAE,oBAAoB,EAAE,MAAM,6BAA6B,CAAC;AACnE,OAAO,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AACzD,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AACrD,OAAO,EAAE,kBAAkB,EAAE,MAAM,mBAAmB,CAAC;AACvD,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AACnD,OAAO,EAAE,kBAAkB,EAAE,MAAM,iCAAiC,CAAC;AACrE,OAAO,EAAE,oBAAoB,EAAE,MAAM,qBAAqB,CAAC;AAC3D,OAAO,EAAE,oBAAoB,EAAE,MAAM,0BAA0B,CAAC;AAChE,OAAO,EAAE,cAAc,EAAE,MAAM,2BAA2B,CAAC;AAsB3D,OAAO,EAAE,aAAa,EAAE,YAAY,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC"}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import type { ClarificationSet, StoredDraft } from './types.js';
|
|
2
|
+
export interface ClarificationStoreOptions {
|
|
3
|
+
ttlMs?: number;
|
|
4
|
+
maxSets?: number;
|
|
5
|
+
}
|
|
6
|
+
export declare class ClarificationStore {
|
|
7
|
+
private readonly sets;
|
|
8
|
+
private readonly ttlMs;
|
|
9
|
+
private readonly maxSets;
|
|
10
|
+
constructor(options?: ClarificationStoreOptions);
|
|
11
|
+
create(storedDrafts: StoredDraft[], originalBatchId: string): string;
|
|
12
|
+
get(id: string): ClarificationSet | undefined;
|
|
13
|
+
touchForConfirm(id: string): void;
|
|
14
|
+
removeDraft(setId: string, draftId: string): void;
|
|
15
|
+
markExecuted(setId: string, draftId: string): void;
|
|
16
|
+
cleanupIfResolved(setId: string): void;
|
|
17
|
+
incrementRound(setId: string, draftId: string): void;
|
|
18
|
+
delete(id: string): boolean;
|
|
19
|
+
private evict;
|
|
20
|
+
}
|
|
21
|
+
//# sourceMappingURL=clarification-store.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"clarification-store.d.ts","sourceRoot":"","sources":["../../src/intake/clarification-store.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,gBAAgB,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAEhE,MAAM,WAAW,yBAAyB;IACxC,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAKD,qBAAa,kBAAkB;IAC7B,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAuC;IAC5D,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAS;IAC/B,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAS;gBAErB,OAAO,CAAC,EAAE,yBAAyB;IAK/C,MAAM,CAAC,YAAY,EAAE,WAAW,EAAE,EAAE,eAAe,EAAE,MAAM,GAAG,MAAM;IAmBpE,GAAG,CAAC,EAAE,EAAE,MAAM,GAAG,gBAAgB,GAAG,SAAS;IAY7C,eAAe,CAAC,EAAE,EAAE,MAAM,GAAG,IAAI;IAOjC,WAAW,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,IAAI;IASjD,YAAY,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,IAAI;IAOlD,iBAAiB,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI;IAOtC,cAAc,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,IAAI;IASpD,MAAM,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO;IAI3B,OAAO,CAAC,KAAK;CAed"}
|
|
@@ -0,0 +1,100 @@
|
|
|
1
|
+
import { randomUUID } from 'node:crypto';
|
|
2
|
+
const DEFAULT_TTL_MS = 30 * 60 * 1000;
|
|
3
|
+
const DEFAULT_MAX_SETS = 100;
|
|
4
|
+
export class ClarificationStore {
|
|
5
|
+
sets = new Map();
|
|
6
|
+
ttlMs;
|
|
7
|
+
maxSets;
|
|
8
|
+
constructor(options) {
|
|
9
|
+
this.ttlMs = options?.ttlMs ?? DEFAULT_TTL_MS;
|
|
10
|
+
this.maxSets = options?.maxSets ?? DEFAULT_MAX_SETS;
|
|
11
|
+
}
|
|
12
|
+
create(storedDrafts, originalBatchId) {
|
|
13
|
+
const id = randomUUID();
|
|
14
|
+
const now = Date.now();
|
|
15
|
+
const drafts = new Map();
|
|
16
|
+
for (const sd of storedDrafts) {
|
|
17
|
+
drafts.set(sd.draft.draftId, sd);
|
|
18
|
+
}
|
|
19
|
+
this.sets.set(id, {
|
|
20
|
+
id,
|
|
21
|
+
drafts,
|
|
22
|
+
originalBatchId,
|
|
23
|
+
executedDraftIds: new Set(),
|
|
24
|
+
createdAt: now,
|
|
25
|
+
lastAccessedAt: now,
|
|
26
|
+
});
|
|
27
|
+
this.evict();
|
|
28
|
+
return id;
|
|
29
|
+
}
|
|
30
|
+
get(id) {
|
|
31
|
+
const set = this.sets.get(id);
|
|
32
|
+
if (!set)
|
|
33
|
+
return undefined;
|
|
34
|
+
if (Date.now() - set.lastAccessedAt > this.ttlMs) {
|
|
35
|
+
this.sets.delete(id);
|
|
36
|
+
return undefined;
|
|
37
|
+
}
|
|
38
|
+
this.sets.delete(id);
|
|
39
|
+
this.sets.set(id, set);
|
|
40
|
+
return set;
|
|
41
|
+
}
|
|
42
|
+
touchForConfirm(id) {
|
|
43
|
+
const set = this.sets.get(id);
|
|
44
|
+
if (set) {
|
|
45
|
+
set.lastAccessedAt = Date.now();
|
|
46
|
+
}
|
|
47
|
+
}
|
|
48
|
+
removeDraft(setId, draftId) {
|
|
49
|
+
const set = this.sets.get(setId);
|
|
50
|
+
if (!set)
|
|
51
|
+
return;
|
|
52
|
+
set.drafts.delete(draftId);
|
|
53
|
+
if (set.drafts.size === 0 && set.executedDraftIds.size === 0) {
|
|
54
|
+
this.sets.delete(setId);
|
|
55
|
+
}
|
|
56
|
+
}
|
|
57
|
+
markExecuted(setId, draftId) {
|
|
58
|
+
const set = this.sets.get(setId);
|
|
59
|
+
if (!set)
|
|
60
|
+
return;
|
|
61
|
+
set.executedDraftIds.add(draftId);
|
|
62
|
+
set.drafts.delete(draftId);
|
|
63
|
+
}
|
|
64
|
+
cleanupIfResolved(setId) {
|
|
65
|
+
const set = this.sets.get(setId);
|
|
66
|
+
if (set && set.drafts.size === 0) {
|
|
67
|
+
this.sets.delete(setId);
|
|
68
|
+
}
|
|
69
|
+
}
|
|
70
|
+
incrementRound(setId, draftId) {
|
|
71
|
+
const set = this.sets.get(setId);
|
|
72
|
+
if (!set)
|
|
73
|
+
return;
|
|
74
|
+
const stored = set.drafts.get(draftId);
|
|
75
|
+
if (stored) {
|
|
76
|
+
stored.roundCount++;
|
|
77
|
+
}
|
|
78
|
+
}
|
|
79
|
+
delete(id) {
|
|
80
|
+
return this.sets.delete(id);
|
|
81
|
+
}
|
|
82
|
+
evict() {
|
|
83
|
+
let unresolvedCount = 0;
|
|
84
|
+
for (const set of this.sets.values()) {
|
|
85
|
+
if (set.drafts.size > 0)
|
|
86
|
+
unresolvedCount++;
|
|
87
|
+
}
|
|
88
|
+
if (unresolvedCount <= this.maxSets)
|
|
89
|
+
return;
|
|
90
|
+
for (const [id, set] of this.sets) {
|
|
91
|
+
if (unresolvedCount <= this.maxSets)
|
|
92
|
+
break;
|
|
93
|
+
if (set.drafts.size > 0) {
|
|
94
|
+
this.sets.delete(id);
|
|
95
|
+
unresolvedCount--;
|
|
96
|
+
}
|
|
97
|
+
}
|
|
98
|
+
}
|
|
99
|
+
}
|
|
100
|
+
//# sourceMappingURL=clarification-store.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"clarification-store.js","sourceRoot":"","sources":["../../src/intake/clarification-store.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"classify.d.ts","sourceRoot":"","sources":["../../src/intake/classify.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,oBAAoB,EAAE,MAAM,YAAY,CAAC;AA2BlE,wBAAgB,aAAa,CAAC,KAAK,EAAE,SAAS,GAAG,oBAAoB,CAmGpE"}
|
|
@@ -0,0 +1,108 @@
|
|
|
1
|
+
const PRESET_ROUTES = new Set(['review_code', 'debug_task', 'verify_work', 'audit_document']);
|
|
2
|
+
const MIN_PROMPT_WORDS = 4;
|
|
3
|
+
const VAGUE_PATTERNS = [
|
|
4
|
+
/^please$/i,
|
|
5
|
+
/^help$/i,
|
|
6
|
+
/^fix it$/i,
|
|
7
|
+
/^do it$/i,
|
|
8
|
+
/^handle this$/i,
|
|
9
|
+
/^(can|could) you/i,
|
|
10
|
+
/^(can|could) I/i,
|
|
11
|
+
];
|
|
12
|
+
function getUserContentForRoute(draft) {
|
|
13
|
+
switch (draft.source.route) {
|
|
14
|
+
case 'review_code':
|
|
15
|
+
return draft.source.code || draft.source.inlineContent;
|
|
16
|
+
case 'audit_document':
|
|
17
|
+
return draft.source.document;
|
|
18
|
+
case 'verify_work':
|
|
19
|
+
return draft.source.work;
|
|
20
|
+
default:
|
|
21
|
+
return draft.prompt;
|
|
22
|
+
}
|
|
23
|
+
}
|
|
24
|
+
export function classifyDraft(draft) {
|
|
25
|
+
const reasons = [];
|
|
26
|
+
const promptWords = draft.prompt.trim().split(/\s+/).length;
|
|
27
|
+
if (!draft.prompt.trim()) {
|
|
28
|
+
if (draft.source.route === 'delegate_tasks') {
|
|
29
|
+
return {
|
|
30
|
+
draft,
|
|
31
|
+
classification: 'unrecoverable',
|
|
32
|
+
reasons: ['prompt too vague to form any interpretation — requires a fresh request'],
|
|
33
|
+
};
|
|
34
|
+
}
|
|
35
|
+
}
|
|
36
|
+
if (promptWords < 2) {
|
|
37
|
+
return {
|
|
38
|
+
draft,
|
|
39
|
+
classification: 'unrecoverable',
|
|
40
|
+
reasons: ['prompt too vague to form any interpretation — requires a fresh request'],
|
|
41
|
+
};
|
|
42
|
+
}
|
|
43
|
+
if (draft.questions?.length) {
|
|
44
|
+
reasons.push('draft has open questions from compilation');
|
|
45
|
+
return { draft, classification: 'needs_confirmation', reasons };
|
|
46
|
+
}
|
|
47
|
+
const isConfirmed = draft.confirmed === true;
|
|
48
|
+
if (PRESET_ROUTES.has(draft.source.route)) {
|
|
49
|
+
const presetReasons = [];
|
|
50
|
+
const userContent = getUserContentForRoute(draft);
|
|
51
|
+
if (userContent && userContent.trim().split(/\s+/).length < 2) {
|
|
52
|
+
presetReasons.push('user-provided content is too vague to act on');
|
|
53
|
+
}
|
|
54
|
+
if (draft.filePaths?.some(p => p === '/' || p === '.' || p === '*')) {
|
|
55
|
+
presetReasons.push('file scope is too broad to be actionable');
|
|
56
|
+
}
|
|
57
|
+
if (draft.source.route === 'audit_document' && !draft.filePaths?.length) {
|
|
58
|
+
if (!('document' in draft.source.originalInput)) {
|
|
59
|
+
presetReasons.push('audit has no target — provide filePaths or inline document');
|
|
60
|
+
}
|
|
61
|
+
}
|
|
62
|
+
if (draft.source.route === 'verify_work') {
|
|
63
|
+
const checklist = draft.source.checklist ?? [];
|
|
64
|
+
const VAGUE_CHECKLIST = /^(check|verify|test|ensure)\s+(everything|all|it|this|that)$/i;
|
|
65
|
+
if (checklist.some(item => VAGUE_CHECKLIST.test(item.trim()))) {
|
|
66
|
+
presetReasons.push('checklist contains overly generic items that are not actionable');
|
|
67
|
+
}
|
|
68
|
+
}
|
|
69
|
+
if (presetReasons.length > 0) {
|
|
70
|
+
return { draft, classification: 'needs_confirmation', reasons: presetReasons };
|
|
71
|
+
}
|
|
72
|
+
return { draft, classification: 'ready', reasons: [] };
|
|
73
|
+
}
|
|
74
|
+
if (!isConfirmed) {
|
|
75
|
+
for (const pattern of VAGUE_PATTERNS) {
|
|
76
|
+
if (pattern.test(draft.prompt.trim())) {
|
|
77
|
+
reasons.push('prompt is too vague to form one concrete instruction');
|
|
78
|
+
break;
|
|
79
|
+
}
|
|
80
|
+
}
|
|
81
|
+
if (!draft.filePaths?.length) {
|
|
82
|
+
const multiScopeSignals = [
|
|
83
|
+
/\band\b.*\b(module|service|component|system|layer)/i,
|
|
84
|
+
/\b(modules|services|components|systems|layers)\b/i,
|
|
85
|
+
];
|
|
86
|
+
for (const pattern of multiScopeSignals) {
|
|
87
|
+
if (pattern.test(draft.prompt)) {
|
|
88
|
+
reasons.push('multiple plausible scopes detected');
|
|
89
|
+
break;
|
|
90
|
+
}
|
|
91
|
+
}
|
|
92
|
+
}
|
|
93
|
+
const behaviorChange = /\b(delete|remove|drop|migrate|deploy|push|publish|send)\b/i;
|
|
94
|
+
const securitySensitive = /\b(auth|credential|secret|token|permission|password|key)\b/i;
|
|
95
|
+
if (behaviorChange.test(draft.prompt) && !draft.filePaths?.length) {
|
|
96
|
+
reasons.push('behavior-changing task without explicit scope');
|
|
97
|
+
}
|
|
98
|
+
if (securitySensitive.test(draft.prompt) && !draft.done) {
|
|
99
|
+
reasons.push('security-sensitive task without explicit done condition');
|
|
100
|
+
}
|
|
101
|
+
}
|
|
102
|
+
const uniqueReasons = [...new Set(reasons)];
|
|
103
|
+
if (uniqueReasons.length > 0) {
|
|
104
|
+
return { draft, classification: 'needs_confirmation', reasons: uniqueReasons };
|
|
105
|
+
}
|
|
106
|
+
return { draft, classification: 'ready', reasons: [] };
|
|
107
|
+
}
|
|
108
|
+
//# sourceMappingURL=classify.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"classify.js","sourceRoot":"","sources":["../../src/intake/classify.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import type { DraftTask } from '../types.js';
|
|
2
|
+
export interface AuditDocumentInput {
|
|
3
|
+
document?: string;
|
|
4
|
+
filePaths?: string[];
|
|
5
|
+
auditType?: string;
|
|
6
|
+
}
|
|
7
|
+
export declare function compileAuditDocument(input: AuditDocumentInput, requestId: string): DraftTask[];
|
|
8
|
+
//# sourceMappingURL=audit.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"audit.d.ts","sourceRoot":"","sources":["../../../src/intake/compilers/audit.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAe,MAAM,aAAa,CAAC;AAG1D,MAAM,WAAW,kBAAkB;IACjC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,SAAS,CAAC,EAAE,MAAM,EAAE,CAAC;IACrB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,wBAAgB,oBAAoB,CAClC,KAAK,EAAE,kBAAkB,EACzB,SAAS,EAAE,MAAM,GAChB,SAAS,EAAE,CA0Cb"}
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
import { createDraftId, escapeFanoutKey, canonicalizePath } from '../draft-id.js';
|
|
2
|
+
export function compileAuditDocument(input, requestId) {
|
|
3
|
+
const filePaths = input.filePaths ?? [];
|
|
4
|
+
if (filePaths.length <= 1) {
|
|
5
|
+
const promptParts = [];
|
|
6
|
+
if (input.document)
|
|
7
|
+
promptParts.push(`Document to audit:\n${input.document}`);
|
|
8
|
+
if (input.auditType)
|
|
9
|
+
promptParts.push(`Audit type: ${input.auditType}`);
|
|
10
|
+
if (filePaths.length)
|
|
11
|
+
promptParts.push(`\nFiles to audit: ${filePaths.join(', ')}`);
|
|
12
|
+
promptParts.push('Provide a structured audit report with findings and severity.');
|
|
13
|
+
return [{
|
|
14
|
+
draftId: createDraftId(requestId, 0, 'root'),
|
|
15
|
+
source: {
|
|
16
|
+
route: 'audit_document',
|
|
17
|
+
originalInput: structuredClone(input),
|
|
18
|
+
document: input.document,
|
|
19
|
+
auditType: input.auditType,
|
|
20
|
+
},
|
|
21
|
+
prompt: promptParts.join('\n\n'),
|
|
22
|
+
filePaths,
|
|
23
|
+
}];
|
|
24
|
+
}
|
|
25
|
+
return filePaths.map((filePath, index) => {
|
|
26
|
+
const nodeId = escapeFanoutKey(canonicalizePath(filePath));
|
|
27
|
+
const promptParts = [];
|
|
28
|
+
promptParts.push(`Audit this file: ${filePath}`);
|
|
29
|
+
if (input.auditType)
|
|
30
|
+
promptParts.push(`Audit type: ${input.auditType}`);
|
|
31
|
+
promptParts.push('Provide a structured audit report with findings and severity.');
|
|
32
|
+
return {
|
|
33
|
+
draftId: createDraftId(requestId, index, nodeId),
|
|
34
|
+
source: {
|
|
35
|
+
route: 'audit_document',
|
|
36
|
+
originalInput: structuredClone(input),
|
|
37
|
+
document: input.document,
|
|
38
|
+
auditType: input.auditType,
|
|
39
|
+
},
|
|
40
|
+
prompt: promptParts.join('\n\n'),
|
|
41
|
+
filePaths: [filePath],
|
|
42
|
+
};
|
|
43
|
+
});
|
|
44
|
+
}
|
|
45
|
+
//# sourceMappingURL=audit.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"audit.js","sourceRoot":"","sources":["../../../src/intake/compilers/audit.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,aAAa,EAAE,eAAe,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AAQlF,MAAM,UAAU,oBAAoB,CAClC,KAAyB,EACzB,SAAiB;IAEjB,MAAM,SAAS,GAAG,KAAK,CAAC,SAAS,IAAI,EAAE,CAAC;IAExC,IAAI,SAAS,CAAC,MAAM,IAAI,CAAC,EAAE,CAAC;QAC1B,MAAM,WAAW,GAAa,EAAE,CAAC;QACjC,IAAI,KAAK,CAAC,QAAQ;YAAE,WAAW,CAAC,IAAI,CAAC,uBAAuB,KAAK,CAAC,QAAQ,EAAE,CAAC,CAAC;QAC9E,IAAI,KAAK,CAAC,SAAS;YAAE,WAAW,CAAC,IAAI,CAAC,eAAe,KAAK,CAAC,SAAS,EAAE,CAAC,CAAC;QACxE,IAAI,SAAS,CAAC,MAAM;YAAE,WAAW,CAAC,IAAI,CAAC,qBAAqB,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACpF,WAAW,CAAC,IAAI,CAAC,+DAA+D,CAAC,CAAC;QAElF,OAAO,CAAC;gBACN,OAAO,EAAE,aAAa,CAAC,SAAS,EAAE,CAAC,EAAE,MAAM,CAAC;gBAC5C,MAAM,EAAE;oBACN,KAAK,EAAE,gBAAgB;oBACvB,aAAa,EAAE,eAAe,CAAC,KAAK,CAAuC;oBAC3E,QAAQ,EAAE,KAAK,CAAC,QAAQ;oBACxB,SAAS,EAAE,KAAK,CAAC,SAAS;iBACZ;gBAChB,MAAM,EAAE,WAAW,CAAC,IAAI,CAAC,MAAM,CAAC;gBAChC,SAAS;aACV,CAAC,CAAC;IACL,CAAC;IAED,OAAO,SAAS,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE,KAAK,EAAE,EAAE;QACvC,MAAM,MAAM,GAAG,eAAe,CAAC,gBAAgB,CAAC,QAAQ,CAAC,CAAC,CAAC;QAC3D,MAAM,WAAW,GAAa,EAAE,CAAC;QACjC,WAAW,CAAC,IAAI,CAAC,oBAAoB,QAAQ,EAAE,CAAC,CAAC;QACjD,IAAI,KAAK,CAAC,SAAS;YAAE,WAAW,CAAC,IAAI,CAAC,eAAe,KAAK,CAAC,SAAS,EAAE,CAAC,CAAC;QACxE,WAAW,CAAC,IAAI,CAAC,+DAA+D,CAAC,CAAC;QAElF,OAAO;YACL,OAAO,EAAE,aAAa,CAAC,SAAS,EAAE,KAAK,EAAE,MAAM,CAAC;YAChD,MAAM,EAAE;gBACN,KAAK,EAAE,gBAAgB;gBACvB,aAAa,EAAE,eAAe,CAAC,KAAK,CAAuC;gBAC3E,QAAQ,EAAE,KAAK,CAAC,QAAQ;gBACxB,SAAS,EAAE,KAAK,CAAC,SAAS;aACZ;YAChB,MAAM,EAAE,WAAW,CAAC,IAAI,CAAC,MAAM,CAAC;YAChC,SAAS,EAAE,CAAC,QAAQ,CAAC;SACtB,CAAC;IACJ,CAAC,CAAC,CAAC;AACL,CAAC"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import type { DraftTask } from '../types.js';
|
|
2
|
+
export interface DebugTaskInput {
|
|
3
|
+
problem: string;
|
|
4
|
+
context?: string;
|
|
5
|
+
hypothesis?: string;
|
|
6
|
+
filePaths?: string[];
|
|
7
|
+
}
|
|
8
|
+
export declare function compileDebugTask(input: DebugTaskInput, requestId: string): DraftTask[];
|
|
9
|
+
//# sourceMappingURL=debug.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"debug.d.ts","sourceRoot":"","sources":["../../../src/intake/compilers/debug.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAe,MAAM,aAAa,CAAC;AAG1D,MAAM,WAAW,cAAc;IAC7B,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,SAAS,CAAC,EAAE,MAAM,EAAE,CAAC;CACtB;AAED,wBAAgB,gBAAgB,CAC9B,KAAK,EAAE,cAAc,EACrB,SAAS,EAAE,MAAM,GAChB,SAAS,EAAE,CA0Bb"}
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
import { createDraftId } from '../draft-id.js';
|
|
2
|
+
export function compileDebugTask(input, requestId) {
|
|
3
|
+
const promptParts = [];
|
|
4
|
+
promptParts.push(`Problem to debug: ${input.problem}`);
|
|
5
|
+
if (input.context) {
|
|
6
|
+
promptParts.push(`\nContext:\n${input.context}`);
|
|
7
|
+
}
|
|
8
|
+
if (input.hypothesis) {
|
|
9
|
+
promptParts.push(`\nHypothesis: ${input.hypothesis}`);
|
|
10
|
+
}
|
|
11
|
+
if (input.filePaths?.length) {
|
|
12
|
+
promptParts.push(`\nFiles involved: ${input.filePaths.join(', ')}`);
|
|
13
|
+
}
|
|
14
|
+
return [{
|
|
15
|
+
draftId: createDraftId(requestId, 0, 'root'),
|
|
16
|
+
source: {
|
|
17
|
+
route: 'debug_task',
|
|
18
|
+
originalInput: input,
|
|
19
|
+
problem: input.problem,
|
|
20
|
+
context: input.context,
|
|
21
|
+
hypothesis: input.hypothesis,
|
|
22
|
+
},
|
|
23
|
+
prompt: promptParts.join(''),
|
|
24
|
+
filePaths: input.filePaths,
|
|
25
|
+
}];
|
|
26
|
+
}
|
|
27
|
+
//# sourceMappingURL=debug.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"debug.js","sourceRoot":"","sources":["../../../src/intake/compilers/debug.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC;AAS/C,MAAM,UAAU,gBAAgB,CAC9B,KAAqB,EACrB,SAAiB;IAEjB,MAAM,WAAW,GAAa,EAAE,CAAC;IAEjC,WAAW,CAAC,IAAI,CAAC,qBAAqB,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC;IACvD,IAAI,KAAK,CAAC,OAAO,EAAE,CAAC;QAClB,WAAW,CAAC,IAAI,CAAC,eAAe,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC;IACnD,CAAC;IACD,IAAI,KAAK,CAAC,UAAU,EAAE,CAAC;QACrB,WAAW,CAAC,IAAI,CAAC,iBAAiB,KAAK,CAAC,UAAU,EAAE,CAAC,CAAC;IACxD,CAAC;IACD,IAAI,KAAK,CAAC,SAAS,EAAE,MAAM,EAAE,CAAC;QAC5B,WAAW,CAAC,IAAI,CAAC,qBAAqB,KAAK,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACtE,CAAC;IAED,OAAO,CAAC;YACN,OAAO,EAAE,aAAa,CAAC,SAAS,EAAE,CAAC,EAAE,MAAM,CAAC;YAC5C,MAAM,EAAE;gBACN,KAAK,EAAE,YAAY;gBACnB,aAAa,EAAE,KAA2C;gBAC1D,OAAO,EAAE,KAAK,CAAC,OAAO;gBACtB,OAAO,EAAE,KAAK,CAAC,OAAO;gBACtB,UAAU,EAAE,KAAK,CAAC,UAAU;aACd;YAChB,MAAM,EAAE,WAAW,CAAC,IAAI,CAAC,EAAE,CAAC;YAC5B,SAAS,EAAE,KAAK,CAAC,SAAS;SAC3B,CAAC,CAAC;AACL,CAAC"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import type { DraftTask } from '../types.js';
|
|
2
|
+
export interface DelegateTaskInput {
|
|
3
|
+
prompt: string;
|
|
4
|
+
done?: string;
|
|
5
|
+
filePaths?: string[];
|
|
6
|
+
agentType?: string;
|
|
7
|
+
contextBlockIds?: string[];
|
|
8
|
+
}
|
|
9
|
+
export declare function compileDelegateTasks(tasks: DelegateTaskInput[], requestId: string): DraftTask[];
|
|
10
|
+
//# sourceMappingURL=delegate.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"delegate.d.ts","sourceRoot":"","sources":["../../../src/intake/compilers/delegate.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAkB,MAAM,aAAa,CAAC;AAG7D,MAAM,WAAW,iBAAiB;IAChC,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,SAAS,CAAC,EAAE,MAAM,EAAE,CAAC;IACrB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,eAAe,CAAC,EAAE,MAAM,EAAE,CAAC;CAC5B;AAED,wBAAgB,oBAAoB,CAClC,KAAK,EAAE,iBAAiB,EAAE,EAC1B,SAAS,EAAE,MAAM,GAChB,SAAS,EAAE,CAab"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import { createDraftId } from '../draft-id.js';
|
|
2
|
+
export function compileDelegateTasks(tasks, requestId) {
|
|
3
|
+
return tasks.map((task, index) => ({
|
|
4
|
+
draftId: createDraftId(requestId, index, 'root'),
|
|
5
|
+
source: {
|
|
6
|
+
route: 'delegate_tasks',
|
|
7
|
+
originalInput: structuredClone(task),
|
|
8
|
+
},
|
|
9
|
+
prompt: task.prompt,
|
|
10
|
+
done: task.done,
|
|
11
|
+
filePaths: task.filePaths,
|
|
12
|
+
agentType: task.agentType,
|
|
13
|
+
contextBlockIds: task.contextBlockIds,
|
|
14
|
+
}));
|
|
15
|
+
}
|
|
16
|
+
//# sourceMappingURL=delegate.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"delegate.js","sourceRoot":"","sources":["../../../src/intake/compilers/delegate.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC;AAU/C,MAAM,UAAU,oBAAoB,CAClC,KAA0B,EAC1B,SAAiB;IAEjB,OAAO,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC,CAAC;QACjC,OAAO,EAAE,aAAa,CAAC,SAAS,EAAE,KAAK,EAAE,MAAM,CAAC;QAChD,MAAM,EAAE;YACN,KAAK,EAAE,gBAAgB;YACvB,aAAa,EAAE,eAAe,CAAC,IAAI,CAAuC;SACzD;QACnB,MAAM,EAAE,IAAI,CAAC,MAAM;QACnB,IAAI,EAAE,IAAI,CAAC,IAAI;QACf,SAAS,EAAE,IAAI,CAAC,SAAS;QACzB,SAAS,EAAE,IAAI,CAAC,SAAS;QACzB,eAAe,EAAE,IAAI,CAAC,eAAe;KACtC,CAAC,CAAC,CAAC;AACN,CAAC"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import type { DraftTask } from '../types.js';
|
|
2
|
+
export interface ReviewCodeInput {
|
|
3
|
+
code?: string;
|
|
4
|
+
inlineContent?: string;
|
|
5
|
+
filePaths?: string[];
|
|
6
|
+
focus?: string[];
|
|
7
|
+
}
|
|
8
|
+
export declare function compileReviewCode(input: ReviewCodeInput, requestId: string): DraftTask[];
|
|
9
|
+
//# sourceMappingURL=review.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"review.d.ts","sourceRoot":"","sources":["../../../src/intake/compilers/review.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAgB,MAAM,aAAa,CAAC;AAG3D,MAAM,WAAW,eAAe;IAC9B,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,SAAS,CAAC,EAAE,MAAM,EAAE,CAAC;IACrB,KAAK,CAAC,EAAE,MAAM,EAAE,CAAC;CAClB;AAED,wBAAgB,iBAAiB,CAC/B,KAAK,EAAE,eAAe,EACtB,SAAS,EAAE,MAAM,GAChB,SAAS,EAAE,CA4Cb"}
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
import { createDraftId, escapeFanoutKey, canonicalizePath } from '../draft-id.js';
|
|
2
|
+
export function compileReviewCode(input, requestId) {
|
|
3
|
+
const filePaths = input.filePaths ?? [];
|
|
4
|
+
if (filePaths.length <= 1 && !input.code && !input.inlineContent) {
|
|
5
|
+
const nodeId = filePaths.length === 1 ? escapeFanoutKey(canonicalizePath(filePaths[0])) : 'root';
|
|
6
|
+
const promptParts = [];
|
|
7
|
+
if (filePaths.length)
|
|
8
|
+
promptParts.push(`Files to review: ${filePaths.join(', ')}`);
|
|
9
|
+
if (input.focus?.length)
|
|
10
|
+
promptParts.push(`Focus areas: ${input.focus.join(', ')}`);
|
|
11
|
+
promptParts.push('Provide a structured review with findings and recommendations.');
|
|
12
|
+
return [{
|
|
13
|
+
draftId: createDraftId(requestId, 0, nodeId),
|
|
14
|
+
source: {
|
|
15
|
+
route: 'review_code',
|
|
16
|
+
originalInput: structuredClone(input),
|
|
17
|
+
code: input.code,
|
|
18
|
+
inlineContent: input.inlineContent,
|
|
19
|
+
focus: input.focus,
|
|
20
|
+
},
|
|
21
|
+
prompt: promptParts.join('\n\n'),
|
|
22
|
+
filePaths,
|
|
23
|
+
}];
|
|
24
|
+
}
|
|
25
|
+
return filePaths.map((filePath, index) => {
|
|
26
|
+
const nodeId = escapeFanoutKey(canonicalizePath(filePath));
|
|
27
|
+
const promptParts = [];
|
|
28
|
+
promptParts.push(`Review this file: ${filePath}`);
|
|
29
|
+
if (input.focus?.length)
|
|
30
|
+
promptParts.push(`Focus areas: ${input.focus.join(', ')}`);
|
|
31
|
+
promptParts.push('Provide a structured review with findings and recommendations.');
|
|
32
|
+
return {
|
|
33
|
+
draftId: createDraftId(requestId, index, nodeId),
|
|
34
|
+
source: {
|
|
35
|
+
route: 'review_code',
|
|
36
|
+
originalInput: structuredClone(input),
|
|
37
|
+
code: input.code,
|
|
38
|
+
inlineContent: input.inlineContent,
|
|
39
|
+
focus: input.focus,
|
|
40
|
+
},
|
|
41
|
+
prompt: promptParts.join('\n\n'),
|
|
42
|
+
filePaths: [filePath],
|
|
43
|
+
};
|
|
44
|
+
});
|
|
45
|
+
}
|
|
46
|
+
//# sourceMappingURL=review.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"review.js","sourceRoot":"","sources":["../../../src/intake/compilers/review.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,aAAa,EAAE,eAAe,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AASlF,MAAM,UAAU,iBAAiB,CAC/B,KAAsB,EACtB,SAAiB;IAEjB,MAAM,SAAS,GAAG,KAAK,CAAC,SAAS,IAAI,EAAE,CAAC;IAExC,IAAI,SAAS,CAAC,MAAM,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,IAAI,CAAC,KAAK,CAAC,aAAa,EAAE,CAAC;QACjE,MAAM,MAAM,GAAG,SAAS,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,eAAe,CAAC,gBAAgB,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC;QACjG,MAAM,WAAW,GAAa,EAAE,CAAC;QACjC,IAAI,SAAS,CAAC,MAAM;YAAE,WAAW,CAAC,IAAI,CAAC,oBAAoB,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACnF,IAAI,KAAK,CAAC,KAAK,EAAE,MAAM;YAAE,WAAW,CAAC,IAAI,CAAC,gBAAgB,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACpF,WAAW,CAAC,IAAI,CAAC,gEAAgE,CAAC,CAAC;QAEnF,OAAO,CAAC;gBACN,OAAO,EAAE,aAAa,CAAC,SAAS,EAAE,CAAC,EAAE,MAAM,CAAC;gBAC5C,MAAM,EAAE;oBACN,KAAK,EAAE,aAAa;oBACpB,aAAa,EAAE,eAAe,CAAC,KAAK,CAAuC;oBAC3E,IAAI,EAAE,KAAK,CAAC,IAAI;oBAChB,aAAa,EAAE,KAAK,CAAC,aAAa;oBAClC,KAAK,EAAE,KAAK,CAAC,KAAK;iBACH;gBACjB,MAAM,EAAE,WAAW,CAAC,IAAI,CAAC,MAAM,CAAC;gBAChC,SAAS;aACV,CAAC,CAAC;IACL,CAAC;IAED,OAAO,SAAS,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE,KAAK,EAAE,EAAE;QACvC,MAAM,MAAM,GAAG,eAAe,CAAC,gBAAgB,CAAC,QAAQ,CAAC,CAAC,CAAC;QAC3D,MAAM,WAAW,GAAa,EAAE,CAAC;QACjC,WAAW,CAAC,IAAI,CAAC,qBAAqB,QAAQ,EAAE,CAAC,CAAC;QAClD,IAAI,KAAK,CAAC,KAAK,EAAE,MAAM;YAAE,WAAW,CAAC,IAAI,CAAC,gBAAgB,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACpF,WAAW,CAAC,IAAI,CAAC,gEAAgE,CAAC,CAAC;QAEnF,OAAO;YACL,OAAO,EAAE,aAAa,CAAC,SAAS,EAAE,KAAK,EAAE,MAAM,CAAC;YAChD,MAAM,EAAE;gBACN,KAAK,EAAE,aAAa;gBACpB,aAAa,EAAE,eAAe,CAAC,KAAK,CAAuC;gBAC3E,IAAI,EAAE,KAAK,CAAC,IAAI;gBAChB,aAAa,EAAE,KAAK,CAAC,aAAa;gBAClC,KAAK,EAAE,KAAK,CAAC,KAAK;aACH;YACjB,MAAM,EAAE,WAAW,CAAC,IAAI,CAAC,MAAM,CAAC;YAChC,SAAS,EAAE,CAAC,QAAQ,CAAC;SACtB,CAAC;IACJ,CAAC,CAAC,CAAC;AACL,CAAC"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import type { DraftTask } from '../types.js';
|
|
2
|
+
export interface VerifyWorkInput {
|
|
3
|
+
work?: string;
|
|
4
|
+
filePaths?: string[];
|
|
5
|
+
checklist: string[];
|
|
6
|
+
}
|
|
7
|
+
export declare function compileVerifyWork(input: VerifyWorkInput, requestId: string): DraftTask[];
|
|
8
|
+
//# sourceMappingURL=verify.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"verify.d.ts","sourceRoot":"","sources":["../../../src/intake/compilers/verify.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAgB,MAAM,aAAa,CAAC;AAG3D,MAAM,WAAW,eAAe;IAC9B,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,SAAS,CAAC,EAAE,MAAM,EAAE,CAAC;IACrB,SAAS,EAAE,MAAM,EAAE,CAAC;CACrB;AAED,wBAAgB,iBAAiB,CAC/B,KAAK,EAAE,eAAe,EACtB,SAAS,EAAE,MAAM,GAChB,SAAS,EAAE,CA0Cb"}
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
import { createDraftId, escapeFanoutKey, canonicalizePath } from '../draft-id.js';
|
|
2
|
+
export function compileVerifyWork(input, requestId) {
|
|
3
|
+
const filePaths = input.filePaths ?? [];
|
|
4
|
+
if (filePaths.length <= 1) {
|
|
5
|
+
const promptParts = [];
|
|
6
|
+
if (input.work)
|
|
7
|
+
promptParts.push(`Work to verify:\n${input.work}`);
|
|
8
|
+
if (filePaths.length)
|
|
9
|
+
promptParts.push(`\nFiles to check: ${filePaths.join(', ')}`);
|
|
10
|
+
if (input.checklist.length)
|
|
11
|
+
promptParts.push(`\nChecklist:\n${input.checklist.map(c => `- ${c}`).join('\n')}`);
|
|
12
|
+
promptParts.push('For each checklist item, indicate pass/fail and provide evidence.');
|
|
13
|
+
return [{
|
|
14
|
+
draftId: createDraftId(requestId, 0, 'root'),
|
|
15
|
+
source: {
|
|
16
|
+
route: 'verify_work',
|
|
17
|
+
originalInput: structuredClone(input),
|
|
18
|
+
checklist: input.checklist,
|
|
19
|
+
work: input.work,
|
|
20
|
+
},
|
|
21
|
+
prompt: promptParts.join('\n'),
|
|
22
|
+
filePaths,
|
|
23
|
+
}];
|
|
24
|
+
}
|
|
25
|
+
return filePaths.map((filePath, index) => {
|
|
26
|
+
const nodeId = escapeFanoutKey(canonicalizePath(filePath));
|
|
27
|
+
const promptParts = [];
|
|
28
|
+
promptParts.push(`Verify this file: ${filePath}`);
|
|
29
|
+
if (input.checklist.length)
|
|
30
|
+
promptParts.push(`Checklist:\n${input.checklist.map(c => `- ${c}`).join('\n')}`);
|
|
31
|
+
promptParts.push('For each checklist item, indicate pass/fail and provide evidence.');
|
|
32
|
+
return {
|
|
33
|
+
draftId: createDraftId(requestId, index, nodeId),
|
|
34
|
+
source: {
|
|
35
|
+
route: 'verify_work',
|
|
36
|
+
originalInput: structuredClone(input),
|
|
37
|
+
checklist: input.checklist,
|
|
38
|
+
work: input.work,
|
|
39
|
+
},
|
|
40
|
+
prompt: promptParts.join('\n'),
|
|
41
|
+
filePaths: [filePath],
|
|
42
|
+
};
|
|
43
|
+
});
|
|
44
|
+
}
|
|
45
|
+
//# sourceMappingURL=verify.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"verify.js","sourceRoot":"","sources":["../../../src/intake/compilers/verify.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,aAAa,EAAE,eAAe,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AAQlF,MAAM,UAAU,iBAAiB,CAC/B,KAAsB,EACtB,SAAiB;IAEjB,MAAM,SAAS,GAAG,KAAK,CAAC,SAAS,IAAI,EAAE,CAAC;IAExC,IAAI,SAAS,CAAC,MAAM,IAAI,CAAC,EAAE,CAAC;QAC1B,MAAM,WAAW,GAAa,EAAE,CAAC;QACjC,IAAI,KAAK,CAAC,IAAI;YAAE,WAAW,CAAC,IAAI,CAAC,oBAAoB,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC;QACnE,IAAI,SAAS,CAAC,MAAM;YAAE,WAAW,CAAC,IAAI,CAAC,qBAAqB,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACpF,IAAI,KAAK,CAAC,SAAS,CAAC,MAAM;YAAE,WAAW,CAAC,IAAI,CAAC,iBAAiB,KAAK,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QAC/G,WAAW,CAAC,IAAI,CAAC,mEAAmE,CAAC,CAAC;QAEtF,OAAO,CAAC;gBACN,OAAO,EAAE,aAAa,CAAC,SAAS,EAAE,CAAC,EAAE,MAAM,CAAC;gBAC5C,MAAM,EAAE;oBACN,KAAK,EAAE,aAAa;oBACpB,aAAa,EAAE,eAAe,CAAC,KAAK,CAAuC;oBAC3E,SAAS,EAAE,KAAK,CAAC,SAAS;oBAC1B,IAAI,EAAE,KAAK,CAAC,IAAI;iBACD;gBACjB,MAAM,EAAE,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC;gBAC9B,SAAS;aACV,CAAC,CAAC;IACL,CAAC;IAED,OAAO,SAAS,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE,KAAK,EAAE,EAAE;QACvC,MAAM,MAAM,GAAG,eAAe,CAAC,gBAAgB,CAAC,QAAQ,CAAC,CAAC,CAAC;QAC3D,MAAM,WAAW,GAAa,EAAE,CAAC;QACjC,WAAW,CAAC,IAAI,CAAC,qBAAqB,QAAQ,EAAE,CAAC,CAAC;QAClD,IAAI,KAAK,CAAC,SAAS,CAAC,MAAM;YAAE,WAAW,CAAC,IAAI,CAAC,eAAe,KAAK,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QAC7G,WAAW,CAAC,IAAI,CAAC,mEAAmE,CAAC,CAAC;QAEtF,OAAO;YACL,OAAO,EAAE,aAAa,CAAC,SAAS,EAAE,KAAK,EAAE,MAAM,CAAC;YAChD,MAAM,EAAE;gBACN,KAAK,EAAE,aAAa;gBACpB,aAAa,EAAE,eAAe,CAAC,KAAK,CAAuC;gBAC3E,SAAS,EAAE,KAAK,CAAC,SAAS;gBAC1B,IAAI,EAAE,KAAK,CAAC,IAAI;aACD;YACjB,MAAM,EAAE,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC;YAC9B,SAAS,EAAE,CAAC,QAAQ,CAAC;SACtB,CAAC;IACJ,CAAC,CAAC,CAAC;AACL,CAAC"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import type { ConfirmationEntry, ConfirmResult } from './types.js';
|
|
2
|
+
import type { ClarificationStore } from './clarification-store.js';
|
|
3
|
+
export interface ConfirmOptions {
|
|
4
|
+
maxRounds?: number;
|
|
5
|
+
}
|
|
6
|
+
export declare function processConfirmations(store: ClarificationStore, clarificationId: string, confirmations: Map<string, ConfirmationEntry>, options?: ConfirmOptions): ConfirmResult;
|
|
7
|
+
//# sourceMappingURL=confirm.d.ts.map
|