soloforge 1.2.10 → 1.2.11

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.
@@ -1,5 +1,3 @@
1
- import { type IngestionStatus } from "./input_material_contract_registry.js";
2
- import type { ArtifactKind } from "./artifact_contract_registry.js";
3
1
  /**
4
2
  * Intent Router — 意图路由器
5
3
  *
@@ -8,7 +6,15 @@ import type { ArtifactKind } from "./artifact_contract_registry.js";
8
6
  *
9
7
  * 替代旧的 task_type -> strategy 入口裁决链路。
10
8
  * task_type 保留为辅助描述,不再单独决定是否进入 SoloForge。
9
+ *
10
+ * v2: 模块化拆分 — 路由判定由"信号提取 + 归一化 + 打分 + 冲突仲裁"完成,
11
+ * 不再依赖单条整句正则。
11
12
  */
13
+ import { type IngestionStatus } from "./input_material_contract_registry.js";
14
+ import type { ArtifactKind } from "./artifact_contract_registry.js";
15
+ import { type MaterialExtractionResult } from "./input_material_extractor.js";
16
+ import { type IntentSignals } from "./intent_signal_extractor.js";
17
+ import { type ScoredRouteResult } from "./intent_route_scorer.js";
12
18
  /** 意图路由类型 */
13
19
  export type IntentRoute = "skip_chat" | "direct_answer" | "artifact_generation" | "source_extraction" | "code_change" | "analysis" | "review" | "planning" | "operation";
14
20
  /** 执行形态 */
@@ -45,6 +51,16 @@ export interface IntentRouteDecision {
45
51
  missing_required_inputs: string[];
46
52
  /** 路由置信度 */
47
53
  confidence: number;
54
+ /** 是否需要澄清 */
55
+ needs_clarification?: boolean;
56
+ /** 路由原因 */
57
+ route_reason?: string;
58
+ /** 信号证据 */
59
+ signal_evidence?: string[];
60
+ /** 跳过原因 */
61
+ skip_reason?: string;
62
+ /** 决策版本 */
63
+ decision_version?: number;
48
64
  }
49
65
  /** 路由输入参数 */
50
66
  export interface RouteInput {
@@ -55,28 +71,18 @@ export interface RouteInput {
55
71
  /** 可选,任务 ID */
56
72
  task_id?: string;
57
73
  }
58
- /**
59
- * 主路由函数 — 根据用户意图文本确定语义路由和执行形态。
60
- * 采用分层匹配策略,优先级从高到低: 跳过类 > 源码提取 > 规划 > 操作 > 分析 > 产物生成 > 代码修改 > 审查 > 通用分析 > 灰区 > 纯解释 > 兜底。
61
- *
62
- * @param input - 路由输入参数,包含意图文本和可选的项目路径/任务 ID
63
- * @returns 意图路由决策,包含路由类型、执行形态和置信度
64
- */
65
74
  export declare function routeIntent(input: RouteInput): IntentRouteDecision;
66
- /**
67
- * 判断是否应进入 SoloForge 流程。
68
- * skip_chat 和 direct_answer 路由不进入 SoloForge。
69
- *
70
- * @param decision - 意图路由决策
71
- * @returns 是否应进入 SoloForge
72
- */
73
75
  export declare function shouldEnterSoloForge(decision: IntentRouteDecision): boolean;
74
76
  /** Prompt 模板名称 */
75
77
  export type PromptTemplateName = "code_execution_prompt" | "single_artifact_prompt" | "source_extraction_prompt" | "read_only_analysis_prompt" | "verification_only_prompt" | "direct_answer_prompt";
76
- /**
77
- * 根据路由决策选择对应的 Prompt 模板。
78
- * @param decision - 意图路由决策
79
- * @returns Prompt 模板名称
80
- */
81
78
  export declare function selectPromptTemplate(decision: IntentRouteDecision): PromptTemplateName;
79
+ export interface RouteDebugInfo {
80
+ intent: string;
81
+ extracted_materials: MaterialExtractionResult;
82
+ signals: IntentSignals;
83
+ scored: ScoredRouteResult;
84
+ final_decision: IntentRouteDecision;
85
+ why_not_skip: string;
86
+ }
87
+ export declare function debugRouteIntent(input: RouteInput): RouteDebugInfo;
82
88
  //# sourceMappingURL=intent_router.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"intent_router.d.ts","sourceRoot":"","sources":["../../src/engine/intent_router.ts"],"names":[],"mappings":"AAAA,OAAO,EAA2B,KAAK,eAAe,EAAE,MAAM,uCAAuC,CAAC;AACtG,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,iCAAiC,CAAC;AAIpE;;;;;;;;GAQG;AAIH,aAAa;AACb,MAAM,MAAM,WAAW,GACnB,WAAW,GACX,eAAe,GACf,qBAAqB,GACrB,mBAAmB,GACnB,aAAa,GACb,UAAU,GACV,QAAQ,GACR,UAAU,GACV,WAAW,CAAC;AAEhB,WAAW;AACX,MAAM,MAAM,cAAc,GACtB,MAAM,GACN,iBAAiB,GACjB,kBAAkB,GAClB,gBAAgB,GAChB,oBAAoB,GACpB,mBAAmB,CAAC;AAExB,aAAa;AACb,MAAM,MAAM,iBAAiB,GACzB,MAAM,GAAG,MAAM,GAAG,WAAW,GAAG,SAAS,GAAG,KAAK,GAAG,KAAK,GAAG,KAAK,GAAG,SAAS,CAAC;AAElF,kEAAkE;AAClE,MAAM,MAAM,kBAAkB,GAAG,YAAY,GAAG,SAAS,CAAC;AAE1D,eAAe;AACf,MAAM,WAAW,mBAAmB;IAClC,WAAW;IACX,KAAK,EAAE,WAAW,CAAC;IACnB,WAAW;IACX,eAAe,EAAE,cAAc,CAAC;IAChC,eAAe;IACf,gBAAgB,EAAE,OAAO,CAAC;IAC1B,aAAa;IACb,eAAe,EAAE,KAAK,CAAC;QAAE,IAAI,EAAE,iBAAiB,CAAC;QAAC,IAAI,CAAC,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,OAAO,CAAC;QAAC,gBAAgB,CAAC,EAAE,eAAe,CAAA;KAAE,CAAC,CAAC;IAC1H,WAAW;IACX,eAAe,CAAC,EAAE;QAAE,IAAI,EAAE,kBAAkB,CAAC;QAAC,IAAI,CAAC,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;QAAC,MAAM,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;IAClG,YAAY;IACZ,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,cAAc;IACd,uBAAuB,EAAE,MAAM,EAAE,CAAC;IAClC,YAAY;IACZ,UAAU,EAAE,MAAM,CAAC;CACpB;AA6SD,aAAa;AACb,MAAM,WAAW,UAAU;IACzB,aAAa;IACb,MAAM,EAAE,MAAM,CAAC;IACf,cAAc;IACd,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,eAAe;IACf,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED;;;;;;GAMG;AACH,wBAAgB,WAAW,CAAC,KAAK,EAAE,UAAU,GAAG,mBAAmB,CAqJlE;AAuDD;;;;;;GAMG;AACH,wBAAgB,oBAAoB,CAAC,QAAQ,EAAE,mBAAmB,GAAG,OAAO,CAG3E;AAED,kBAAkB;AAClB,MAAM,MAAM,kBAAkB,GAC1B,uBAAuB,GACvB,wBAAwB,GACxB,0BAA0B,GAC1B,2BAA2B,GAC3B,0BAA0B,GAC1B,sBAAsB,CAAC;AAE3B;;;;GAIG;AACH,wBAAgB,oBAAoB,CAAC,QAAQ,EAAE,mBAAmB,GAAG,kBAAkB,CAatF"}
1
+ {"version":3,"file":"intent_router.d.ts","sourceRoot":"","sources":["../../src/engine/intent_router.ts"],"names":[],"mappings":"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"}