@mcp-abap-adt/llm-agent 17.0.0 → 18.0.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/dist/interfaces/executor.d.ts +36 -0
- package/dist/interfaces/executor.d.ts.map +1 -0
- package/dist/interfaces/executor.js +2 -0
- package/dist/interfaces/executor.js.map +1 -0
- package/dist/interfaces/index.d.ts +11 -1
- package/dist/interfaces/index.d.ts.map +1 -1
- package/dist/interfaces/index.js +3 -0
- package/dist/interfaces/index.js.map +1 -1
- package/dist/interfaces/insufficient-signal.d.ts +7 -0
- package/dist/interfaces/insufficient-signal.d.ts.map +1 -0
- package/dist/interfaces/insufficient-signal.js +11 -0
- package/dist/interfaces/insufficient-signal.js.map +1 -0
- package/dist/interfaces/knowledge-rag.d.ts +40 -0
- package/dist/interfaces/knowledge-rag.d.ts.map +1 -0
- package/dist/interfaces/knowledge-rag.js +2 -0
- package/dist/interfaces/knowledge-rag.js.map +1 -0
- package/dist/interfaces/need-resolver.d.ts +12 -0
- package/dist/interfaces/need-resolver.d.ts.map +1 -0
- package/dist/interfaces/need-resolver.js +2 -0
- package/dist/interfaces/need-resolver.js.map +1 -0
- package/dist/interfaces/request-logger.d.ts +4 -1
- package/dist/interfaces/request-logger.d.ts.map +1 -1
- package/dist/interfaces/stepper-interpreter.d.ts +27 -0
- package/dist/interfaces/stepper-interpreter.d.ts.map +1 -0
- package/dist/interfaces/stepper-interpreter.js +2 -0
- package/dist/interfaces/stepper-interpreter.js.map +1 -0
- package/dist/interfaces/stepper-planner.d.ts +32 -0
- package/dist/interfaces/stepper-planner.d.ts.map +1 -0
- package/dist/interfaces/stepper-planner.js +2 -0
- package/dist/interfaces/stepper-planner.js.map +1 -0
- package/dist/interfaces/stepper.d.ts +73 -0
- package/dist/interfaces/stepper.d.ts.map +1 -0
- package/dist/interfaces/stepper.js +18 -0
- package/dist/interfaces/stepper.js.map +1 -0
- package/dist/interfaces/streaming.d.ts +54 -14
- package/dist/interfaces/streaming.d.ts.map +1 -1
- package/dist/interfaces/task-spec.d.ts +42 -0
- package/dist/interfaces/task-spec.d.ts.map +1 -0
- package/dist/interfaces/task-spec.js +17 -0
- package/dist/interfaces/task-spec.js.map +1 -0
- package/package.json +1 -1
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
import type { IKnowledgeRagHandle, IToolsRagHandle } from './knowledge-rag.js';
|
|
2
|
+
import type { INeedResolver } from './need-resolver.js';
|
|
3
|
+
import type { Budget, RunIdentity } from './stepper.js';
|
|
4
|
+
import type { StreamChunk } from './streaming.js';
|
|
5
|
+
import type { ITaskSpec } from './task-spec.js';
|
|
6
|
+
import type { LlmTool, LlmUsage } from './types.js';
|
|
7
|
+
export interface IExecutor {
|
|
8
|
+
readonly name: string;
|
|
9
|
+
execute(input: {
|
|
10
|
+
prompt: string;
|
|
11
|
+
tools: readonly LlmTool[];
|
|
12
|
+
knowledgeRag: IKnowledgeRagHandle;
|
|
13
|
+
toolsRag: IToolsRagHandle;
|
|
14
|
+
needResolver?: INeedResolver;
|
|
15
|
+
/**
|
|
16
|
+
* Formalized overall task (optional). When present it is kept as a
|
|
17
|
+
* persistent anchor in EVERY iteration and prefixes the tool-search query
|
|
18
|
+
* so the executor never loses sight of the overall task. Absent → behaves
|
|
19
|
+
* as before.
|
|
20
|
+
*/
|
|
21
|
+
taskSpec?: ITaskSpec;
|
|
22
|
+
/** Executor is a LEAF; ignores depthRemaining, stops when budget.tokens.exhausted(). */
|
|
23
|
+
budget: Budget;
|
|
24
|
+
identity: RunIdentity;
|
|
25
|
+
signal?: AbortSignal;
|
|
26
|
+
sessionLogger?: {
|
|
27
|
+
logStep(name: string, data: unknown): void;
|
|
28
|
+
};
|
|
29
|
+
onProgress?: (event: StreamChunk) => void;
|
|
30
|
+
}): Promise<{
|
|
31
|
+
status: 'ok' | 'incomplete' | 'budget-exhausted';
|
|
32
|
+
missing?: string[];
|
|
33
|
+
usage: LlmUsage;
|
|
34
|
+
}>;
|
|
35
|
+
}
|
|
36
|
+
//# sourceMappingURL=executor.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"executor.d.ts","sourceRoot":"","sources":["../../src/interfaces/executor.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,mBAAmB,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AAC/E,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AACxD,OAAO,KAAK,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AACxD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAClD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAChD,OAAO,KAAK,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAEpD,MAAM,WAAW,SAAS;IACxB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,OAAO,CAAC,KAAK,EAAE;QACb,MAAM,EAAE,MAAM,CAAC;QACf,KAAK,EAAE,SAAS,OAAO,EAAE,CAAC;QAC1B,YAAY,EAAE,mBAAmB,CAAC;QAClC,QAAQ,EAAE,eAAe,CAAC;QAC1B,YAAY,CAAC,EAAE,aAAa,CAAC;QAC7B;;;;;WAKG;QACH,QAAQ,CAAC,EAAE,SAAS,CAAC;QACrB,wFAAwF;QACxF,MAAM,EAAE,MAAM,CAAC;QACf,QAAQ,EAAE,WAAW,CAAC;QACtB,MAAM,CAAC,EAAE,WAAW,CAAC;QACrB,aAAa,CAAC,EAAE;YAAE,OAAO,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,GAAG,IAAI,CAAA;SAAE,CAAC;QAC/D,UAAU,CAAC,EAAE,CAAC,KAAK,EAAE,WAAW,KAAK,IAAI,CAAC;KAC3C,GAAG,OAAO,CAAC;QACV,MAAM,EAAE,IAAI,GAAG,YAAY,GAAG,kBAAkB,CAAC;QACjD,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;QACnB,KAAK,EAAE,QAAQ,CAAC;KACjB,CAAC,CAAC;CACJ"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"executor.js","sourceRoot":"","sources":["../../src/interfaces/executor.ts"],"names":[],"mappings":""}
|
|
@@ -7,11 +7,14 @@ export type { ContextPath } from './context-path.js';
|
|
|
7
7
|
export type { EpicFailTrace, IActivationStrategy, ICoordinatorConfig, ICoordinatorContext, IDispatchStrategy, IPlanningStrategy, Plan, PlanStep, StepResult, SubAgentWithDescription, } from './coordinator.js';
|
|
8
8
|
export type { DagPlan, PlanNode } from './dag-plan.js';
|
|
9
9
|
export type { ErrorContext, ErrorReaction, IErrorStrategy, } from './error-strategy.js';
|
|
10
|
+
export type { IExecutor } from './executor.js';
|
|
10
11
|
export type { FinalizerInput, FinalizerResult, IFinalizer, } from './finalizer.js';
|
|
11
12
|
export type { CircuitBreakerStatus, HealthComponentStatus, HealthStatus, } from './health.js';
|
|
12
13
|
export type { IHistoryMemory } from './history-memory.js';
|
|
13
14
|
export type { HistoryTurn, IHistorySummarizer, } from './history-summarizer.js';
|
|
15
|
+
export { InsufficientSignal } from './insufficient-signal.js';
|
|
14
16
|
export type { IInterpreter, InterpretContext, InterpretResult, NodeResult, } from './interpreter.js';
|
|
17
|
+
export type { IKnowledgeRagHandle, IToolsRagHandle, KnowledgeEntry, KnowledgeEntryMetadata, KnowledgeFilter, } from './knowledge-rag.js';
|
|
15
18
|
export type { ILlm } from './llm.js';
|
|
16
19
|
export type { ILlmCallStrategy } from './llm-call-strategy.js';
|
|
17
20
|
export type { IMcpClient } from './mcp-client.js';
|
|
@@ -19,6 +22,7 @@ export type { ConnectionStrategyOptions, IMcpConnectionStrategy, McpClientFactor
|
|
|
19
22
|
export type { CounterSnapshot, HistogramSnapshot, ICounter, IHistogram, IMetrics, MetricsSnapshot, } from './metrics.js';
|
|
20
23
|
export type { IModelFilter, IModelInfo, IModelProvider, } from './model-provider.js';
|
|
21
24
|
export type { IModelResolver } from './model-resolver.js';
|
|
25
|
+
export type { INeedResolver } from './need-resolver.js';
|
|
22
26
|
export type { BuiltInStageType, ControlFlowType, StageDefinition, StageType, } from './pipeline.js';
|
|
23
27
|
export type { IPlanner, PlannerCatalogEntry, PlannerInput, PlannerResult, } from './planner.js';
|
|
24
28
|
export type { IPluginLoader, IRagStoreConfig, ISmartAgentPlugin, IStageHandler, LoadedPlugins, PluginExports, RagScope, } from './plugin.js';
|
|
@@ -33,9 +37,15 @@ export type { ISessionManager } from './session.js';
|
|
|
33
37
|
export type { SessionIdentity } from './session-identity.js';
|
|
34
38
|
export type { ISkill, ISkillManager, ISkillMeta, ISkillResource, } from './skill.js';
|
|
35
39
|
export type { IStateOracle, StateOracleInput, StateOracleResult, } from './state-oracle.js';
|
|
36
|
-
export type {
|
|
40
|
+
export type { Budget, IStepper, IStepperInput, IStepperResult, ITokenLedger, RunIdentity, } from './stepper.js';
|
|
41
|
+
export { TokenLedger } from './stepper.js';
|
|
42
|
+
export type { IStepperInterpreter } from './stepper-interpreter.js';
|
|
43
|
+
export type { IStepperPlanner } from './stepper-planner.js';
|
|
44
|
+
export type { OnPartial, StepperRef, StreamChunk } from './streaming.js';
|
|
37
45
|
export type { ISubAgent, ISubAgentInput, ISubAgentResult, SubAgentCapabilities, SubAgentRegistry, } from './subagent.js';
|
|
38
46
|
export type { ISubAgentContextBuilder, SubAgentContextRequest, SubAgentContextResult, } from './subagent-context.js';
|
|
47
|
+
export type { ITaskFormalizer, ITaskSpec } from './task-spec.js';
|
|
48
|
+
export { renderTaskSpec } from './task-spec.js';
|
|
39
49
|
export type { IToolSelectionStrategy } from './tool-selection-strategy.js';
|
|
40
50
|
export type { ISpan, ITracer, SpanOptions, SpanStatus } from './tracer.js';
|
|
41
51
|
export type { AgentConfig, CallOptions, ContextFrame, LlmFinishReason, LlmResponse, LlmStreamChunk, LlmTool, LlmToolCall, LlmToolCallDelta, LlmUsage, McpTool, McpToolResult, ModelUsageEntry, RagMetadata, RagResult, Result, StreamHookContext, StreamToolCall, Subprompt, SubpromptType, TimingEntry, ToolCallRecord, ToolHeartbeat, TraceContext, } from './types.js';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/interfaces/index.ts"],"names":[],"mappings":"AAAA,YAAY,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAC;AAC/D,OAAO,EACL,KAAK,gBAAgB,EACrB,KAAK,kBAAkB,EACvB,iBAAiB,EACjB,KAAK,kBAAkB,EACvB,KAAK,UAAU,GAChB,MAAM,sBAAsB,CAAC;AAC9B,YAAY,EAAE,YAAY,EAAE,iBAAiB,EAAE,MAAM,gBAAgB,CAAC;AACtE,YAAY,EACV,WAAW,EACX,gBAAgB,EAChB,mBAAmB,GACpB,MAAM,cAAc,CAAC;AACtB,YAAY,EAAE,oBAAoB,EAAE,MAAM,iBAAiB,CAAC;AAC5D,YAAY,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AACrD,YAAY,EACV,aAAa,EACb,mBAAmB,EACnB,kBAAkB,EAClB,mBAAmB,EACnB,iBAAiB,EACjB,iBAAiB,EACjB,IAAI,EACJ,QAAQ,EACR,UAAU,EACV,uBAAuB,GACxB,MAAM,kBAAkB,CAAC;AAC1B,YAAY,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AACvD,YAAY,EACV,YAAY,EACZ,aAAa,EACb,cAAc,GACf,MAAM,qBAAqB,CAAC;AAC7B,YAAY,EACV,cAAc,EACd,eAAe,EACf,UAAU,GACX,MAAM,gBAAgB,CAAC;AACxB,YAAY,EACV,oBAAoB,EACpB,qBAAqB,EACrB,YAAY,GACb,MAAM,aAAa,CAAC;AACrB,YAAY,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAC1D,YAAY,EACV,WAAW,EACX,kBAAkB,GACnB,MAAM,yBAAyB,CAAC;AACjC,YAAY,EACV,YAAY,EACZ,gBAAgB,EAChB,eAAe,EACf,UAAU,GACX,MAAM,kBAAkB,CAAC;AAC1B,YAAY,EAAE,IAAI,EAAE,MAAM,UAAU,CAAC;AACrC,YAAY,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAC/D,YAAY,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAClD,YAAY,EACV,yBAAyB,EACzB,sBAAsB,EACtB,gBAAgB,EAChB,sBAAsB,EACtB,mBAAmB,EACnB,mBAAmB,GACpB,MAAM,8BAA8B,CAAC;AACtC,YAAY,EACV,eAAe,EACf,iBAAiB,EACjB,QAAQ,EACR,UAAU,EACV,QAAQ,EACR,eAAe,GAChB,MAAM,cAAc,CAAC;AACtB,YAAY,EACV,YAAY,EACZ,UAAU,EACV,cAAc,GACf,MAAM,qBAAqB,CAAC;AAC7B,YAAY,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAC1D,YAAY,EACV,gBAAgB,EAChB,eAAe,EACf,eAAe,EACf,SAAS,GACV,MAAM,eAAe,CAAC;AACvB,YAAY,EACV,QAAQ,EACR,mBAAmB,EACnB,YAAY,EACZ,aAAa,GACd,MAAM,cAAc,CAAC;AACtB,YAAY,EACV,aAAa,EACb,eAAe,EACf,iBAAiB,EACjB,aAAa,EACb,aAAa,EACb,aAAa,EACb,QAAQ,GACT,MAAM,aAAa,CAAC;AACrB,YAAY,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAC5D,YAAY,EACV,eAAe,EACf,qBAAqB,EACrB,SAAS,EACT,cAAc,EACd,YAAY,EACZ,WAAW,EACX,IAAI,EACJ,iBAAiB,EACjB,UAAU,EACV,YAAY,EACZ,oBAAoB,EACpB,YAAY,EACZ,iBAAiB,EACjB,kBAAkB,GACnB,MAAM,UAAU,CAAC;AAClB,OAAO,EAAE,eAAe,EAAE,MAAM,UAAU,CAAC;AAC3C,YAAY,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACzD,YAAY,EACV,cAAc,EACd,YAAY,EACZ,YAAY,EACZ,aAAa,EACb,cAAc,EACd,WAAW,EACX,aAAa,EACb,aAAa,GACd,MAAM,qBAAqB,CAAC;AAC7B,YAAY,EAAE,SAAS,EAAE,MAAM,eAAe,CAAC;AAC/C,YAAY,EACV,qBAAqB,EACrB,uBAAuB,EACvB,qBAAqB,EACrB,eAAe,EACf,WAAW,EACX,YAAY,EACZ,aAAa,GACd,MAAM,aAAa,CAAC;AACrB,YAAY,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AACpD,YAAY,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AAC7D,YAAY,EACV,MAAM,EACN,aAAa,EACb,UAAU,EACV,cAAc,GACf,MAAM,YAAY,CAAC;AACpB,YAAY,EACV,YAAY,EACZ,gBAAgB,EAChB,iBAAiB,GAClB,MAAM,mBAAmB,CAAC;AAC3B,YAAY,EAAE,SAAS,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/interfaces/index.ts"],"names":[],"mappings":"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"}
|
package/dist/interfaces/index.js
CHANGED
|
@@ -1,5 +1,8 @@
|
|
|
1
1
|
export { OrchestratorError, } from './agent-contracts.js';
|
|
2
|
+
export { InsufficientSignal } from './insufficient-signal.js';
|
|
2
3
|
export { isBatchEmbedder } from './rag.js';
|
|
4
|
+
export { TokenLedger } from './stepper.js';
|
|
5
|
+
export { renderTaskSpec } from './task-spec.js';
|
|
3
6
|
export { AssemblerError, ClassifierError, LlmError, McpError, RagError, SkillError, SmartAgentError, } from './types.js';
|
|
4
7
|
export { ValidatorError } from './validator.js';
|
|
5
8
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/interfaces/index.ts"],"names":[],"mappings":"AACA,OAAO,EAGL,iBAAiB,GAGlB,MAAM,sBAAsB,CAAC;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/interfaces/index.ts"],"names":[],"mappings":"AACA,OAAO,EAGL,iBAAiB,GAGlB,MAAM,sBAAsB,CAAC;AA2C9B,OAAO,EAAE,kBAAkB,EAAE,MAAM,0BAA0B,CAAC;AA8E9D,OAAO,EAAE,eAAe,EAAE,MAAM,UAAU,CAAC;AA2C3C,OAAO,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAiB3C,OAAO,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AA6BhD,OAAO,EACL,cAAc,EACd,eAAe,EACf,QAAQ,EACR,QAAQ,EACR,QAAQ,EACR,UAAU,EACV,eAAe,GAChB,MAAM,YAAY,CAAC;AAEpB,OAAO,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import type { LlmUsage } from './types.js';
|
|
2
|
+
export declare class InsufficientSignal extends Error {
|
|
3
|
+
readonly missing: string[];
|
|
4
|
+
readonly usage?: LlmUsage;
|
|
5
|
+
constructor(missing: string[], usage?: LlmUsage);
|
|
6
|
+
}
|
|
7
|
+
//# sourceMappingURL=insufficient-signal.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"insufficient-signal.d.ts","sourceRoot":"","sources":["../../src/interfaces/insufficient-signal.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAE3C,qBAAa,kBAAmB,SAAQ,KAAK;IAC3C,QAAQ,CAAC,OAAO,EAAE,MAAM,EAAE,CAAC;IAC3B,QAAQ,CAAC,KAAK,CAAC,EAAE,QAAQ,CAAC;gBACd,OAAO,EAAE,MAAM,EAAE,EAAE,KAAK,CAAC,EAAE,QAAQ;CAMhD"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
export class InsufficientSignal extends Error {
|
|
2
|
+
missing;
|
|
3
|
+
usage;
|
|
4
|
+
constructor(missing, usage) {
|
|
5
|
+
super('insufficient');
|
|
6
|
+
this.name = 'InsufficientSignal';
|
|
7
|
+
this.missing = missing;
|
|
8
|
+
this.usage = usage;
|
|
9
|
+
}
|
|
10
|
+
}
|
|
11
|
+
//# sourceMappingURL=insufficient-signal.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"insufficient-signal.js","sourceRoot":"","sources":["../../src/interfaces/insufficient-signal.ts"],"names":[],"mappings":"AAEA,MAAM,OAAO,kBAAmB,SAAQ,KAAK;IAClC,OAAO,CAAW;IAClB,KAAK,CAAY;IAC1B,YAAY,OAAiB,EAAE,KAAgB;QAC7C,KAAK,CAAC,cAAc,CAAC,CAAC;QACtB,IAAI,CAAC,IAAI,GAAG,oBAAoB,CAAC;QACjC,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;QACvB,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;IACrB,CAAC;CACF"}
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
import type { LlmTool } from './types.js';
|
|
2
|
+
export interface KnowledgeEntryMetadata {
|
|
3
|
+
traceId: string;
|
|
4
|
+
turnId: string;
|
|
5
|
+
stepperId: string;
|
|
6
|
+
parentStepperId?: string;
|
|
7
|
+
task: string;
|
|
8
|
+
artifactType: string;
|
|
9
|
+
toolName?: string;
|
|
10
|
+
createdAt: string;
|
|
11
|
+
}
|
|
12
|
+
export interface KnowledgeEntry {
|
|
13
|
+
content: string;
|
|
14
|
+
metadata: KnowledgeEntryMetadata;
|
|
15
|
+
}
|
|
16
|
+
export interface KnowledgeFilter {
|
|
17
|
+
traceId?: string;
|
|
18
|
+
turnId?: string;
|
|
19
|
+
stepperId?: string;
|
|
20
|
+
parentStepperId?: string;
|
|
21
|
+
artifactType?: string | readonly string[];
|
|
22
|
+
toolName?: string;
|
|
23
|
+
}
|
|
24
|
+
export interface IKnowledgeRagHandle {
|
|
25
|
+
query(text: string, opts?: {
|
|
26
|
+
k?: number;
|
|
27
|
+
filter?: KnowledgeFilter;
|
|
28
|
+
}): Promise<readonly KnowledgeEntry[]>;
|
|
29
|
+
list(filter: KnowledgeFilter): Promise<readonly KnowledgeEntry[]>;
|
|
30
|
+
write(entry: {
|
|
31
|
+
content: string;
|
|
32
|
+
metadata: KnowledgeEntryMetadata;
|
|
33
|
+
}): Promise<void>;
|
|
34
|
+
fingerprint(): string;
|
|
35
|
+
}
|
|
36
|
+
export interface IToolsRagHandle {
|
|
37
|
+
query(text: string, k?: number): Promise<readonly LlmTool[]>;
|
|
38
|
+
lookup(name: string): LlmTool | undefined;
|
|
39
|
+
}
|
|
40
|
+
//# sourceMappingURL=knowledge-rag.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"knowledge-rag.d.ts","sourceRoot":"","sources":["../../src/interfaces/knowledge-rag.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,YAAY,CAAC;AAE1C,MAAM,WAAW,sBAAsB;IACrC,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,EAAE,MAAM,CAAC;IAClB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,IAAI,EAAE,MAAM,CAAC;IACb,YAAY,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,cAAc;IAC7B,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,sBAAsB,CAAC;CAClC;AAED,MAAM,WAAW,eAAe;IAC9B,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,YAAY,CAAC,EAAE,MAAM,GAAG,SAAS,MAAM,EAAE,CAAC;IAC1C,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,mBAAmB;IAClC,KAAK,CACH,IAAI,EAAE,MAAM,EACZ,IAAI,CAAC,EAAE;QAAE,CAAC,CAAC,EAAE,MAAM,CAAC;QAAC,MAAM,CAAC,EAAE,eAAe,CAAA;KAAE,GAC9C,OAAO,CAAC,SAAS,cAAc,EAAE,CAAC,CAAC;IACtC,IAAI,CAAC,MAAM,EAAE,eAAe,GAAG,OAAO,CAAC,SAAS,cAAc,EAAE,CAAC,CAAC;IAClE,KAAK,CAAC,KAAK,EAAE;QACX,OAAO,EAAE,MAAM,CAAC;QAChB,QAAQ,EAAE,sBAAsB,CAAC;KAClC,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAClB,WAAW,IAAI,MAAM,CAAC;CACvB;AAED,MAAM,WAAW,eAAe;IAC9B,KAAK,CAAC,IAAI,EAAE,MAAM,EAAE,CAAC,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,SAAS,OAAO,EAAE,CAAC,CAAC;IAC7D,MAAM,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,GAAG,SAAS,CAAC;CAC3C"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"knowledge-rag.js","sourceRoot":"","sources":["../../src/interfaces/knowledge-rag.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
export interface INeedResolver {
|
|
2
|
+
/** Inspect an LLM utterance for an unmet-capability signal. Returns a
|
|
3
|
+
* tools-RAG query string to discover the needed capability, or undefined
|
|
4
|
+
* for a clean answer / normal tool call.
|
|
5
|
+
* v1 scope: only `queryToolsRag`. (Reserved for 18.x: queryKnowledgeRag,
|
|
6
|
+
* injectTools — intentionally NOT in the v1 contract so there are no dead
|
|
7
|
+
* public fields the executor ignores; see review R1-F5.) */
|
|
8
|
+
resolve(llmResponse: string): Promise<{
|
|
9
|
+
queryToolsRag: string;
|
|
10
|
+
} | undefined>;
|
|
11
|
+
}
|
|
12
|
+
//# sourceMappingURL=need-resolver.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"need-resolver.d.ts","sourceRoot":"","sources":["../../src/interfaces/need-resolver.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,aAAa;IAC5B;;;;;iEAK6D;IAC7D,OAAO,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC;QAAE,aAAa,EAAE,MAAM,CAAA;KAAE,GAAG,SAAS,CAAC,CAAC;CAC9E"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"need-resolver.js","sourceRoot":"","sources":["../../src/interfaces/need-resolver.ts"],"names":[],"mappings":""}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
export type LlmComponent = 'tool-loop' | 'classifier' | 'helper' | 'translate' | 'query-expander' | 'embedding' | 'planner' | 'reviewer' | 'finalizer' | 'oracle';
|
|
1
|
+
export type LlmComponent = 'tool-loop' | 'classifier' | 'tool-definer' | 'helper' | 'translate' | 'query-expander' | 'embedding' | 'planner' | 'reviewer' | 'finalizer' | 'oracle';
|
|
2
2
|
export type TokenCategory = 'initialization' | 'auxiliary' | 'request';
|
|
3
3
|
export interface TokenBucket {
|
|
4
4
|
promptTokens: number;
|
|
@@ -34,6 +34,9 @@ export interface ToolCallEntry {
|
|
|
34
34
|
cached: boolean;
|
|
35
35
|
}
|
|
36
36
|
export interface RequestSummary {
|
|
37
|
+
/** Faithful sum across all byComponent entries (promptTokens, completionTokens,
|
|
38
|
+
* totalTokens, requests). Equal to reducing byComponent values; never null. */
|
|
39
|
+
totals: TokenBucket;
|
|
37
40
|
/** Per-model aggregated token usage. */
|
|
38
41
|
byModel: Record<string, TokenBucket>;
|
|
39
42
|
/** Per-component aggregated token usage. */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"request-logger.d.ts","sourceRoot":"","sources":["../../src/interfaces/request-logger.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,YAAY,GACpB,WAAW,GACX,YAAY,GACZ,QAAQ,GACR,WAAW,GACX,gBAAgB,GAChB,WAAW,GACX,SAAS,GACT,UAAU,GACV,WAAW,GACX,QAAQ,CAAC;AAEb,MAAM,MAAM,aAAa,GAAG,gBAAgB,GAAG,WAAW,GAAG,SAAS,CAAC;AAEvE,MAAM,WAAW,WAAW;IAC1B,YAAY,EAAE,MAAM,CAAC;IACrB,gBAAgB,EAAE,MAAM,CAAC;IACzB,WAAW,EAAE,MAAM,CAAC;IACpB,QAAQ,EAAE,MAAM,CAAC;IACjB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,YAAY;IAC3B,SAAS,EAAE,YAAY,CAAC;IACxB,KAAK,EAAE,MAAM,CAAC;IACd,YAAY,EAAE,MAAM,CAAC;IACrB,gBAAgB,EAAE,MAAM,CAAC;IACzB,WAAW,EAAE,MAAM,CAAC;IACpB,UAAU,EAAE,MAAM,CAAC;IACnB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,KAAK,CAAC,EAAE,gBAAgB,GAAG,SAAS,CAAC;IACrC,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB;+DAC2D;IAC3D,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,aAAa;IAC5B,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,EAAE,MAAM,CAAC;IACpB,UAAU,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,aAAa;IAC5B,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,OAAO,CAAC;IACjB,UAAU,EAAE,MAAM,CAAC;IACnB,MAAM,EAAE,OAAO,CAAC;CACjB;AAED,MAAM,WAAW,cAAc;IAC7B,wCAAwC;IACxC,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,WAAW,CAAC,CAAC;IACrC,4CAA4C;IAC5C,WAAW,EAAE,MAAM,CAAC,MAAM,EAAE,WAAW,CAAC,CAAC;IACzC,2CAA2C;IAC3C,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,WAAW,CAAC,CAAC;IACxC,UAAU,EAAE,MAAM,CAAC;IACnB,SAAS,EAAE,MAAM,CAAC;IAClB,8CAA8C;IAC9C,eAAe,EAAE,MAAM,CAAC;CACzB;AAED,MAAM,WAAW,cAAc;IAC7B,UAAU,CAAC,KAAK,EAAE,YAAY,GAAG,IAAI,CAAC;IACtC,WAAW,CAAC,KAAK,EAAE,aAAa,GAAG;QAAE,SAAS,CAAC,EAAE,MAAM,CAAA;KAAE,GAAG,IAAI,CAAC;IACjE,WAAW,CAAC,KAAK,EAAE,aAAa,GAAG;QAAE,SAAS,CAAC,EAAE,MAAM,CAAA;KAAE,GAAG,IAAI,CAAC;IACjE;2CACuC;IACvC,YAAY,CAAC,SAAS,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACvC,sEAAsE;IACtE,UAAU,CAAC,SAAS,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACrC;sEACkE;IAClE,WAAW,CAAC,SAAS,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACtC,UAAU,CAAC,SAAS,CAAC,EAAE,MAAM,GAAG,cAAc,CAAC;IAC/C,KAAK,IAAI,IAAI,CAAC;CACf"}
|
|
1
|
+
{"version":3,"file":"request-logger.d.ts","sourceRoot":"","sources":["../../src/interfaces/request-logger.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,YAAY,GACpB,WAAW,GACX,YAAY,GACZ,cAAc,GACd,QAAQ,GACR,WAAW,GACX,gBAAgB,GAChB,WAAW,GACX,SAAS,GACT,UAAU,GACV,WAAW,GACX,QAAQ,CAAC;AAEb,MAAM,MAAM,aAAa,GAAG,gBAAgB,GAAG,WAAW,GAAG,SAAS,CAAC;AAEvE,MAAM,WAAW,WAAW;IAC1B,YAAY,EAAE,MAAM,CAAC;IACrB,gBAAgB,EAAE,MAAM,CAAC;IACzB,WAAW,EAAE,MAAM,CAAC;IACpB,QAAQ,EAAE,MAAM,CAAC;IACjB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,YAAY;IAC3B,SAAS,EAAE,YAAY,CAAC;IACxB,KAAK,EAAE,MAAM,CAAC;IACd,YAAY,EAAE,MAAM,CAAC;IACrB,gBAAgB,EAAE,MAAM,CAAC;IACzB,WAAW,EAAE,MAAM,CAAC;IACpB,UAAU,EAAE,MAAM,CAAC;IACnB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,KAAK,CAAC,EAAE,gBAAgB,GAAG,SAAS,CAAC;IACrC,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB;+DAC2D;IAC3D,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,aAAa;IAC5B,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,EAAE,MAAM,CAAC;IACpB,UAAU,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,aAAa;IAC5B,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,OAAO,CAAC;IACjB,UAAU,EAAE,MAAM,CAAC;IACnB,MAAM,EAAE,OAAO,CAAC;CACjB;AAED,MAAM,WAAW,cAAc;IAC7B;oFACgF;IAChF,MAAM,EAAE,WAAW,CAAC;IACpB,wCAAwC;IACxC,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,WAAW,CAAC,CAAC;IACrC,4CAA4C;IAC5C,WAAW,EAAE,MAAM,CAAC,MAAM,EAAE,WAAW,CAAC,CAAC;IACzC,2CAA2C;IAC3C,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,WAAW,CAAC,CAAC;IACxC,UAAU,EAAE,MAAM,CAAC;IACnB,SAAS,EAAE,MAAM,CAAC;IAClB,8CAA8C;IAC9C,eAAe,EAAE,MAAM,CAAC;CACzB;AAED,MAAM,WAAW,cAAc;IAC7B,UAAU,CAAC,KAAK,EAAE,YAAY,GAAG,IAAI,CAAC;IACtC,WAAW,CAAC,KAAK,EAAE,aAAa,GAAG;QAAE,SAAS,CAAC,EAAE,MAAM,CAAA;KAAE,GAAG,IAAI,CAAC;IACjE,WAAW,CAAC,KAAK,EAAE,aAAa,GAAG;QAAE,SAAS,CAAC,EAAE,MAAM,CAAA;KAAE,GAAG,IAAI,CAAC;IACjE;2CACuC;IACvC,YAAY,CAAC,SAAS,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACvC,sEAAsE;IACtE,UAAU,CAAC,SAAS,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACrC;sEACkE;IAClE,WAAW,CAAC,SAAS,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACtC,UAAU,CAAC,SAAS,CAAC,EAAE,MAAM,GAAG,cAAc,CAAC;IAC/C,KAAK,IAAI,IAAI,CAAC;CACf"}
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
import type { DagPlan } from './dag-plan.js';
|
|
2
|
+
import type { IExecutor } from './executor.js';
|
|
3
|
+
import type { IKnowledgeRagHandle, IToolsRagHandle } from './knowledge-rag.js';
|
|
4
|
+
import type { Budget, IStepper, IStepperResult, RunIdentity } from './stepper.js';
|
|
5
|
+
import type { StreamChunk } from './streaming.js';
|
|
6
|
+
import type { ITaskSpec } from './task-spec.js';
|
|
7
|
+
export interface IStepperInterpreter {
|
|
8
|
+
readonly name: string;
|
|
9
|
+
interpret(plan: DagPlan, ctx: {
|
|
10
|
+
prompt: string;
|
|
11
|
+
knowledgeRag: IKnowledgeRagHandle;
|
|
12
|
+
toolsRag: IToolsRagHandle;
|
|
13
|
+
childSteppers: ReadonlyMap<string, IStepper>;
|
|
14
|
+
executor: IExecutor;
|
|
15
|
+
budget: Budget;
|
|
16
|
+
identity: RunIdentity;
|
|
17
|
+
taskSpec?: ITaskSpec;
|
|
18
|
+
maxParallelSteps: number;
|
|
19
|
+
mintStepperId: () => string;
|
|
20
|
+
signal?: AbortSignal;
|
|
21
|
+
sessionLogger?: {
|
|
22
|
+
logStep(name: string, data: unknown): void;
|
|
23
|
+
};
|
|
24
|
+
onProgress?: (event: StreamChunk) => void;
|
|
25
|
+
}): Promise<IStepperResult>;
|
|
26
|
+
}
|
|
27
|
+
//# sourceMappingURL=stepper-interpreter.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"stepper-interpreter.d.ts","sourceRoot":"","sources":["../../src/interfaces/stepper-interpreter.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC;AAC7C,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,eAAe,CAAC;AAC/C,OAAO,KAAK,EAAE,mBAAmB,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AAC/E,OAAO,KAAK,EACV,MAAM,EACN,QAAQ,EACR,cAAc,EACd,WAAW,EACZ,MAAM,cAAc,CAAC;AACtB,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAClD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAEhD,MAAM,WAAW,mBAAmB;IAClC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,SAAS,CACP,IAAI,EAAE,OAAO,EACb,GAAG,EAAE;QACH,MAAM,EAAE,MAAM,CAAC;QACf,YAAY,EAAE,mBAAmB,CAAC;QAClC,QAAQ,EAAE,eAAe,CAAC;QAC1B,aAAa,EAAE,WAAW,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;QAC7C,QAAQ,EAAE,SAAS,CAAC;QACpB,MAAM,EAAE,MAAM,CAAC;QACf,QAAQ,EAAE,WAAW,CAAC;QACtB,QAAQ,CAAC,EAAE,SAAS,CAAC;QACrB,gBAAgB,EAAE,MAAM,CAAC;QACzB,aAAa,EAAE,MAAM,MAAM,CAAC;QAC5B,MAAM,CAAC,EAAE,WAAW,CAAC;QACrB,aAAa,CAAC,EAAE;YAAE,OAAO,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,GAAG,IAAI,CAAA;SAAE,CAAC;QAC/D,UAAU,CAAC,EAAE,CAAC,KAAK,EAAE,WAAW,KAAK,IAAI,CAAC;KAC3C,GACA,OAAO,CAAC,cAAc,CAAC,CAAC;CAC5B"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"stepper-interpreter.js","sourceRoot":"","sources":["../../src/interfaces/stepper-interpreter.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
import type { DagPlan } from './dag-plan.js';
|
|
2
|
+
import type { IKnowledgeRagHandle, IToolsRagHandle } from './knowledge-rag.js';
|
|
3
|
+
import type { RunIdentity } from './stepper.js';
|
|
4
|
+
import type { ITaskSpec } from './task-spec.js';
|
|
5
|
+
export interface IStepperPlanner {
|
|
6
|
+
readonly name: string;
|
|
7
|
+
plan(input: {
|
|
8
|
+
prompt: string;
|
|
9
|
+
knowledgeRag: IKnowledgeRagHandle;
|
|
10
|
+
toolsRag: IToolsRagHandle;
|
|
11
|
+
parentPath: string[];
|
|
12
|
+
identity: RunIdentity;
|
|
13
|
+
/**
|
|
14
|
+
* Formalized overall task (optional). When present, every planner at every
|
|
15
|
+
* level sees the overall task — not just its local sub-prompt — so plans
|
|
16
|
+
* stay aligned to the whole. Absent → behaves as before.
|
|
17
|
+
*/
|
|
18
|
+
taskSpec?: ITaskSpec;
|
|
19
|
+
/**
|
|
20
|
+
* Child worker Steppers available for delegation (deep-stepper mode). The
|
|
21
|
+
* planner renders these into its prompt and may set a node's `agent` to one
|
|
22
|
+
* of these names to recurse into that child. Empty/omitted → the planner
|
|
23
|
+
* emits only leaves (executor-handled), i.e. flat planned-react behaviour.
|
|
24
|
+
*/
|
|
25
|
+
agents?: ReadonlyArray<{
|
|
26
|
+
name: string;
|
|
27
|
+
description?: string;
|
|
28
|
+
}>;
|
|
29
|
+
signal?: AbortSignal;
|
|
30
|
+
}): Promise<DagPlan>;
|
|
31
|
+
}
|
|
32
|
+
//# sourceMappingURL=stepper-planner.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"stepper-planner.d.ts","sourceRoot":"","sources":["../../src/interfaces/stepper-planner.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC;AAC7C,OAAO,KAAK,EAAE,mBAAmB,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AAC/E,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAChD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAEhD,MAAM,WAAW,eAAe;IAC9B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,IAAI,CAAC,KAAK,EAAE;QACV,MAAM,EAAE,MAAM,CAAC;QACf,YAAY,EAAE,mBAAmB,CAAC;QAClC,QAAQ,EAAE,eAAe,CAAC;QAC1B,UAAU,EAAE,MAAM,EAAE,CAAC;QACrB,QAAQ,EAAE,WAAW,CAAC;QACtB;;;;WAIG;QACH,QAAQ,CAAC,EAAE,SAAS,CAAC;QACrB;;;;;WAKG;QACH,MAAM,CAAC,EAAE,aAAa,CAAC;YAAE,IAAI,EAAE,MAAM,CAAC;YAAC,WAAW,CAAC,EAAE,MAAM,CAAA;SAAE,CAAC,CAAC;QAC/D,MAAM,CAAC,EAAE,WAAW,CAAC;KACtB,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;CACtB"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"stepper-planner.js","sourceRoot":"","sources":["../../src/interfaces/stepper-planner.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,73 @@
|
|
|
1
|
+
import type { IKnowledgeRagHandle, IToolsRagHandle } from './knowledge-rag.js';
|
|
2
|
+
import type { StreamChunk } from './streaming.js';
|
|
3
|
+
import type { ITaskSpec } from './task-spec.js';
|
|
4
|
+
import type { LlmUsage } from './types.js';
|
|
5
|
+
/** Identity carried through every layer so executors can stamp
|
|
6
|
+
* KnowledgeEntryMetadata and the coordinator can attribute streaming
|
|
7
|
+
* + usage. Minted at the coordinator boundary; the interpreter rewrites
|
|
8
|
+
* stepperId/parentStepperId at each dispatch. */
|
|
9
|
+
export interface RunIdentity {
|
|
10
|
+
traceId: string;
|
|
11
|
+
turnId: string;
|
|
12
|
+
sessionId: string;
|
|
13
|
+
stepperId: string;
|
|
14
|
+
parentStepperId?: string;
|
|
15
|
+
}
|
|
16
|
+
/** Shared, live token ledger (review R2-F1). ONE instance is created at the
|
|
17
|
+
* coordinator boundary and passed BY REFERENCE through the whole run. Every
|
|
18
|
+
* Stepper and executor reads `exhausted()` before each LLM call and calls
|
|
19
|
+
* `spend(usage)` after. This is a SOFT cap (review R3-F2/R5-F1): parallel
|
|
20
|
+
* siblings can each pass the pre-check before any records its spend, so the
|
|
21
|
+
* run can overshoot by at most (total in-flight calls across the tree ×
|
|
22
|
+
* tokens-per-call). maxParallelSteps bounds only each LOCAL scheduler; the
|
|
23
|
+
* global in-flight count is ≈ maxParallelSteps^depth worst case. The
|
|
24
|
+
* budget-extension ClarifySignal is the real net. Tokens bound WORK; depth
|
|
25
|
+
* (a per-branch value below) bounds RECURSION. A reserve-before-call hard
|
|
26
|
+
* cap is deferred. */
|
|
27
|
+
export interface ITokenLedger {
|
|
28
|
+
readonly remaining: number;
|
|
29
|
+
spend(usage: LlmUsage): void;
|
|
30
|
+
exhausted(): boolean;
|
|
31
|
+
}
|
|
32
|
+
export interface Budget {
|
|
33
|
+
/** Per-branch recursion bound — a plain value, decremented by 1 at each
|
|
34
|
+
* child dispatch (NOT shared). */
|
|
35
|
+
depthRemaining: number;
|
|
36
|
+
/** Shared run-wide token ledger — the SAME object reference for every
|
|
37
|
+
* Stepper/executor in the run. */
|
|
38
|
+
tokens: ITokenLedger;
|
|
39
|
+
}
|
|
40
|
+
export interface IStepperInput {
|
|
41
|
+
prompt: string;
|
|
42
|
+
knowledgeRag: IKnowledgeRagHandle;
|
|
43
|
+
toolsRag: IToolsRagHandle;
|
|
44
|
+
budget: Budget;
|
|
45
|
+
identity: RunIdentity;
|
|
46
|
+
/** Formalized overall task (optional). Threaded down to every planner and
|
|
47
|
+
* executor as a compact anchor. Absent → behaves as before. */
|
|
48
|
+
taskSpec?: ITaskSpec;
|
|
49
|
+
signal?: AbortSignal;
|
|
50
|
+
sessionLogger?: {
|
|
51
|
+
logStep(name: string, data: unknown): void;
|
|
52
|
+
};
|
|
53
|
+
onProgress?: (event: StreamChunk) => void;
|
|
54
|
+
}
|
|
55
|
+
export interface IStepperResult {
|
|
56
|
+
status: 'ok' | 'incomplete' | 'budget-exhausted';
|
|
57
|
+
missing?: string[];
|
|
58
|
+
usage: LlmUsage;
|
|
59
|
+
}
|
|
60
|
+
export interface IStepper {
|
|
61
|
+
readonly name: string;
|
|
62
|
+
run(input: IStepperInput): Promise<IStepperResult>;
|
|
63
|
+
}
|
|
64
|
+
/** Default mutable ledger. Created once per run with the configured token
|
|
65
|
+
* budget; shared by reference. */
|
|
66
|
+
export declare class TokenLedger implements ITokenLedger {
|
|
67
|
+
private _remaining;
|
|
68
|
+
constructor(total: number);
|
|
69
|
+
get remaining(): number;
|
|
70
|
+
spend(usage: LlmUsage): void;
|
|
71
|
+
exhausted(): boolean;
|
|
72
|
+
}
|
|
73
|
+
//# sourceMappingURL=stepper.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"stepper.d.ts","sourceRoot":"","sources":["../../src/interfaces/stepper.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,mBAAmB,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AAC/E,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAClD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAChD,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAE3C;;;kDAGkD;AAClD,MAAM,WAAW,WAAW;IAC1B,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;IAClB,eAAe,CAAC,EAAE,MAAM,CAAC;CAC1B;AAED;;;;;;;;;;uBAUuB;AACvB,MAAM,WAAW,YAAY;IAC3B,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,KAAK,CAAC,KAAK,EAAE,QAAQ,GAAG,IAAI,CAAC;IAC7B,SAAS,IAAI,OAAO,CAAC;CACtB;AAED,MAAM,WAAW,MAAM;IACrB;uCACmC;IACnC,cAAc,EAAE,MAAM,CAAC;IACvB;uCACmC;IACnC,MAAM,EAAE,YAAY,CAAC;CACtB;AAED,MAAM,WAAW,aAAa;IAC5B,MAAM,EAAE,MAAM,CAAC;IACf,YAAY,EAAE,mBAAmB,CAAC;IAClC,QAAQ,EAAE,eAAe,CAAC;IAC1B,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,WAAW,CAAC;IACtB;oEACgE;IAChE,QAAQ,CAAC,EAAE,SAAS,CAAC;IACrB,MAAM,CAAC,EAAE,WAAW,CAAC;IACrB,aAAa,CAAC,EAAE;QAAE,OAAO,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,GAAG,IAAI,CAAA;KAAE,CAAC;IAC/D,UAAU,CAAC,EAAE,CAAC,KAAK,EAAE,WAAW,KAAK,IAAI,CAAC;CAC3C;AAED,MAAM,WAAW,cAAc;IAC7B,MAAM,EAAE,IAAI,GAAG,YAAY,GAAG,kBAAkB,CAAC;IACjD,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;IACnB,KAAK,EAAE,QAAQ,CAAC;CACjB;AAED,MAAM,WAAW,QAAQ;IACvB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,GAAG,CAAC,KAAK,EAAE,aAAa,GAAG,OAAO,CAAC,cAAc,CAAC,CAAC;CACpD;AAED;mCACmC;AACnC,qBAAa,WAAY,YAAW,YAAY;IAC9C,OAAO,CAAC,UAAU,CAAS;gBACf,KAAK,EAAE,MAAM;IAGzB,IAAI,SAAS,IAAI,MAAM,CAEtB;IACD,KAAK,CAAC,KAAK,EAAE,QAAQ,GAAG,IAAI;IAG5B,SAAS,IAAI,OAAO;CAGrB"}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
/** Default mutable ledger. Created once per run with the configured token
|
|
2
|
+
* budget; shared by reference. */
|
|
3
|
+
export class TokenLedger {
|
|
4
|
+
_remaining;
|
|
5
|
+
constructor(total) {
|
|
6
|
+
this._remaining = total;
|
|
7
|
+
}
|
|
8
|
+
get remaining() {
|
|
9
|
+
return this._remaining;
|
|
10
|
+
}
|
|
11
|
+
spend(usage) {
|
|
12
|
+
this._remaining -= usage.totalTokens;
|
|
13
|
+
}
|
|
14
|
+
exhausted() {
|
|
15
|
+
return this._remaining <= 0;
|
|
16
|
+
}
|
|
17
|
+
}
|
|
18
|
+
//# sourceMappingURL=stepper.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"stepper.js","sourceRoot":"","sources":["../../src/interfaces/stepper.ts"],"names":[],"mappings":"AAoEA;mCACmC;AACnC,MAAM,OAAO,WAAW;IACd,UAAU,CAAS;IAC3B,YAAY,KAAa;QACvB,IAAI,CAAC,UAAU,GAAG,KAAK,CAAC;IAC1B,CAAC;IACD,IAAI,SAAS;QACX,OAAO,IAAI,CAAC,UAAU,CAAC;IACzB,CAAC;IACD,KAAK,CAAC,KAAe;QACnB,IAAI,CAAC,UAAU,IAAI,KAAK,CAAC,WAAW,CAAC;IACvC,CAAC;IACD,SAAS;QACP,OAAO,IAAI,CAAC,UAAU,IAAI,CAAC,CAAC;IAC9B,CAAC;CACF"}
|
|
@@ -1,29 +1,69 @@
|
|
|
1
|
+
import type { LlmComponent } from './request-logger.js';
|
|
2
|
+
import type { LlmUsage } from './types.js';
|
|
3
|
+
/**
|
|
4
|
+
* Stable reference to a Stepper execution. Minted at dispatch (for recursive
|
|
5
|
+
* Stepper construction) or synthesized for terminal executor invocations.
|
|
6
|
+
* Unique across the whole run.
|
|
7
|
+
*/
|
|
8
|
+
export interface StepperRef {
|
|
9
|
+
/** Stable UUID minted at each dispatch. */
|
|
10
|
+
stepperId: string;
|
|
11
|
+
/** Parent Stepper ID (undefined at root or for terminal executors). */
|
|
12
|
+
parentStepperId?: string;
|
|
13
|
+
/** Human-readable name (goal name or executor type). */
|
|
14
|
+
name: string;
|
|
15
|
+
}
|
|
1
16
|
/**
|
|
2
17
|
* Per-event chunk type emitted by `onPartial` callbacks along the
|
|
3
|
-
* worker →
|
|
18
|
+
* worker → Stepper → coordinator path.
|
|
19
|
+
*
|
|
20
|
+
* `content` carries an LLM-output delta. The 18.0 progress-event variants
|
|
21
|
+
* (`stepper-spawned`, `stepper-done`, `mcp-call`, `mcp-result`,
|
|
22
|
+
* `tokens-used`, `llm-call-start`, `llm-call-end`) each carry
|
|
23
|
+
* `source: StepperRef` for precise attribution in nested execution trees.
|
|
4
24
|
*
|
|
5
|
-
*
|
|
6
|
-
*
|
|
7
|
-
*
|
|
8
|
-
* forwarding worker-emitted chunks (workers don't know their node id).
|
|
25
|
+
* BREAKING (18.0 / Task 19e): the 17.0 `tool-call`, `node-start`, and
|
|
26
|
+
* `node-end` variants have been removed. SSE clients must migrate to
|
|
27
|
+
* `mcp-call` / `mcp-result` / `stepper-spawned` / `stepper-done`.
|
|
9
28
|
*/
|
|
10
29
|
export type StreamChunk = {
|
|
11
30
|
kind: 'content';
|
|
12
31
|
nodeId?: string;
|
|
13
32
|
delta: string;
|
|
14
33
|
} | {
|
|
15
|
-
kind: '
|
|
16
|
-
|
|
17
|
-
name: string;
|
|
18
|
-
args?: unknown;
|
|
19
|
-
} | {
|
|
20
|
-
kind: 'node-start';
|
|
21
|
-
nodeId: string;
|
|
34
|
+
kind: 'stepper-spawned';
|
|
35
|
+
source: StepperRef;
|
|
22
36
|
goal: string;
|
|
23
37
|
} | {
|
|
24
|
-
kind: '
|
|
25
|
-
|
|
38
|
+
kind: 'stepper-done';
|
|
39
|
+
source: StepperRef;
|
|
26
40
|
ok: boolean;
|
|
41
|
+
} | {
|
|
42
|
+
kind: 'mcp-call';
|
|
43
|
+
source: StepperRef;
|
|
44
|
+
tool: string;
|
|
45
|
+
args?: unknown;
|
|
46
|
+
} | {
|
|
47
|
+
kind: 'mcp-result';
|
|
48
|
+
source: StepperRef;
|
|
49
|
+
tool: string;
|
|
50
|
+
durationMs: number;
|
|
51
|
+
bytes?: number;
|
|
52
|
+
} | {
|
|
53
|
+
kind: 'tokens-used';
|
|
54
|
+
source: StepperRef;
|
|
55
|
+
component: LlmComponent;
|
|
56
|
+
delta: LlmUsage;
|
|
57
|
+
} | {
|
|
58
|
+
kind: 'llm-call-start';
|
|
59
|
+
source: StepperRef;
|
|
60
|
+
component: LlmComponent;
|
|
61
|
+
model: string;
|
|
62
|
+
} | {
|
|
63
|
+
kind: 'llm-call-end';
|
|
64
|
+
source: StepperRef;
|
|
65
|
+
component: LlmComponent;
|
|
66
|
+
durationMs: number;
|
|
27
67
|
};
|
|
28
68
|
export type OnPartial = (chunk: StreamChunk) => void;
|
|
29
69
|
//# sourceMappingURL=streaming.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"streaming.d.ts","sourceRoot":"","sources":["../../src/interfaces/streaming.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"streaming.d.ts","sourceRoot":"","sources":["../../src/interfaces/streaming.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AACxD,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAE3C;;;;GAIG;AACH,MAAM,WAAW,UAAU;IACzB,2CAA2C;IAC3C,SAAS,EAAE,MAAM,CAAC;IAClB,uEAAuE;IACvE,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,wDAAwD;IACxD,IAAI,EAAE,MAAM,CAAC;CACd;AAED;;;;;;;;;;;;GAYG;AACH,MAAM,MAAM,WAAW,GACnB;IAAE,IAAI,EAAE,SAAS,CAAC;IAAC,MAAM,CAAC,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,GAEnD;IAAE,IAAI,EAAE,iBAAiB,CAAC;IAAC,MAAM,EAAE,UAAU,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,GAC7D;IAAE,IAAI,EAAE,cAAc,CAAC;IAAC,MAAM,EAAE,UAAU,CAAC;IAAC,EAAE,EAAE,OAAO,CAAA;CAAE,GACzD;IAAE,IAAI,EAAE,UAAU,CAAC;IAAC,MAAM,EAAE,UAAU,CAAC;IAAC,IAAI,EAAE,MAAM,CAAC;IAAC,IAAI,CAAC,EAAE,OAAO,CAAA;CAAE,GACtE;IACE,IAAI,EAAE,YAAY,CAAC;IACnB,MAAM,EAAE,UAAU,CAAC;IACnB,IAAI,EAAE,MAAM,CAAC;IACb,UAAU,EAAE,MAAM,CAAC;IACnB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB,GACD;IACE,IAAI,EAAE,aAAa,CAAC;IACpB,MAAM,EAAE,UAAU,CAAC;IACnB,SAAS,EAAE,YAAY,CAAC;IACxB,KAAK,EAAE,QAAQ,CAAC;CACjB,GACD;IACE,IAAI,EAAE,gBAAgB,CAAC;IACvB,MAAM,EAAE,UAAU,CAAC;IACnB,SAAS,EAAE,YAAY,CAAC;IACxB,KAAK,EAAE,MAAM,CAAC;CACf,GACD;IACE,IAAI,EAAE,cAAc,CAAC;IACrB,MAAM,EAAE,UAAU,CAAC;IACnB,SAAS,EAAE,YAAY,CAAC;IACxB,UAAU,EAAE,MAAM,CAAC;CACpB,CAAC;AAEN,MAAM,MAAM,SAAS,GAAG,CAAC,KAAK,EAAE,WAAW,KAAK,IAAI,CAAC"}
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* TaskSpec — the formalized overall task.
|
|
3
|
+
*
|
|
4
|
+
* Produced ONCE at the coordinator root by an {@link ITaskFormalizer} and then
|
|
5
|
+
* threaded down through every planner and executor (as a compact anchor) so no
|
|
6
|
+
* level "forgets" it is part of the overall task. It is BOUNDED on purpose — a
|
|
7
|
+
* few short fields, never the full conversation — to anchor context without a
|
|
8
|
+
* context explosion. Optional everywhere: when absent, the runtime behaves
|
|
9
|
+
* exactly as before (backward-compatible).
|
|
10
|
+
*/
|
|
11
|
+
export interface ITaskSpec {
|
|
12
|
+
/** The overall objective in one sentence. */
|
|
13
|
+
objective: string;
|
|
14
|
+
/** What the task should cover (optional). */
|
|
15
|
+
scope?: string;
|
|
16
|
+
/** Hard constraints the work must respect (optional). */
|
|
17
|
+
constraints?: readonly string[];
|
|
18
|
+
/** Expected shape of the final deliverable (optional). */
|
|
19
|
+
deliverable?: string;
|
|
20
|
+
/** The original user request, verbatim — the ground truth. */
|
|
21
|
+
raw: string;
|
|
22
|
+
}
|
|
23
|
+
/**
|
|
24
|
+
* Turns a raw prompt into a {@link ITaskSpec}. Implemented once with the
|
|
25
|
+
* strong (planner-tier) model at the coordinator root. MUST never throw on a
|
|
26
|
+
* bad LLM response — fall back to `{ objective: prompt, raw: prompt }`.
|
|
27
|
+
*/
|
|
28
|
+
export interface ITaskFormalizer {
|
|
29
|
+
readonly name: string;
|
|
30
|
+
formalize(input: {
|
|
31
|
+
prompt: string;
|
|
32
|
+
signal?: AbortSignal;
|
|
33
|
+
}): Promise<ITaskSpec>;
|
|
34
|
+
}
|
|
35
|
+
/**
|
|
36
|
+
* Render a TaskSpec as a compact, bounded anchor block for planner/executor
|
|
37
|
+
* prompts. A few lines — NOT the full history. Used both as a persistent
|
|
38
|
+
* "main task" reminder in the executor and as the overall-intent prefix for the
|
|
39
|
+
* tool-search query.
|
|
40
|
+
*/
|
|
41
|
+
export declare function renderTaskSpec(spec: ITaskSpec): string;
|
|
42
|
+
//# sourceMappingURL=task-spec.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"task-spec.d.ts","sourceRoot":"","sources":["../../src/interfaces/task-spec.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AACH,MAAM,WAAW,SAAS;IACxB,6CAA6C;IAC7C,SAAS,EAAE,MAAM,CAAC;IAClB,6CAA6C;IAC7C,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,yDAAyD;IACzD,WAAW,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IAChC,0DAA0D;IAC1D,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,8DAA8D;IAC9D,GAAG,EAAE,MAAM,CAAC;CACb;AAED;;;;GAIG;AACH,MAAM,WAAW,eAAe;IAC9B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,SAAS,CAAC,KAAK,EAAE;QACf,MAAM,EAAE,MAAM,CAAC;QACf,MAAM,CAAC,EAAE,WAAW,CAAC;KACtB,GAAG,OAAO,CAAC,SAAS,CAAC,CAAC;CACxB;AAED;;;;;GAKG;AACH,wBAAgB,cAAc,CAAC,IAAI,EAAE,SAAS,GAAG,MAAM,CAOtD"}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Render a TaskSpec as a compact, bounded anchor block for planner/executor
|
|
3
|
+
* prompts. A few lines — NOT the full history. Used both as a persistent
|
|
4
|
+
* "main task" reminder in the executor and as the overall-intent prefix for the
|
|
5
|
+
* tool-search query.
|
|
6
|
+
*/
|
|
7
|
+
export function renderTaskSpec(spec) {
|
|
8
|
+
const lines = [`Overall task: ${spec.objective}`];
|
|
9
|
+
if (spec.scope)
|
|
10
|
+
lines.push(`Scope: ${spec.scope}`);
|
|
11
|
+
if (spec.constraints && spec.constraints.length > 0)
|
|
12
|
+
lines.push(`Constraints: ${spec.constraints.join('; ')}`);
|
|
13
|
+
if (spec.deliverable)
|
|
14
|
+
lines.push(`Deliverable: ${spec.deliverable}`);
|
|
15
|
+
return lines.join('\n');
|
|
16
|
+
}
|
|
17
|
+
//# sourceMappingURL=task-spec.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"task-spec.js","sourceRoot":"","sources":["../../src/interfaces/task-spec.ts"],"names":[],"mappings":"AAoCA;;;;;GAKG;AACH,MAAM,UAAU,cAAc,CAAC,IAAe;IAC5C,MAAM,KAAK,GAAG,CAAC,iBAAiB,IAAI,CAAC,SAAS,EAAE,CAAC,CAAC;IAClD,IAAI,IAAI,CAAC,KAAK;QAAE,KAAK,CAAC,IAAI,CAAC,UAAU,IAAI,CAAC,KAAK,EAAE,CAAC,CAAC;IACnD,IAAI,IAAI,CAAC,WAAW,IAAI,IAAI,CAAC,WAAW,CAAC,MAAM,GAAG,CAAC;QACjD,KAAK,CAAC,IAAI,CAAC,gBAAgB,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IAC5D,IAAI,IAAI,CAAC,WAAW;QAAE,KAAK,CAAC,IAAI,CAAC,gBAAgB,IAAI,CAAC,WAAW,EAAE,CAAC,CAAC;IACrE,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAC1B,CAAC"}
|
package/package.json
CHANGED