@zmzai/agent-framework 0.9.0 → 0.13.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.
Files changed (126) hide show
  1. package/dist/adapters/openai-provider.d.ts +6 -3
  2. package/dist/adapters/openai-provider.d.ts.map +1 -1
  3. package/dist/adapters/openai-provider.js +1 -1
  4. package/dist/adapters/openai-provider.js.map +1 -1
  5. package/dist/core/events/manifest.d.ts +2 -2
  6. package/dist/core/runtime/active-run-registry.d.ts +34 -0
  7. package/dist/core/runtime/active-run-registry.d.ts.map +1 -0
  8. package/dist/core/runtime/active-run-registry.js +44 -0
  9. package/dist/core/runtime/active-run-registry.js.map +1 -0
  10. package/dist/core/runtime/attempt-executor.d.ts +67 -0
  11. package/dist/core/runtime/attempt-executor.d.ts.map +1 -0
  12. package/dist/core/runtime/attempt-executor.js +683 -0
  13. package/dist/core/runtime/attempt-executor.js.map +1 -0
  14. package/dist/core/runtime/command-service.d.ts +48 -0
  15. package/dist/core/runtime/command-service.d.ts.map +1 -0
  16. package/dist/core/runtime/command-service.js +148 -0
  17. package/dist/core/runtime/command-service.js.map +1 -0
  18. package/dist/core/runtime/compaction.d.ts +30 -6
  19. package/dist/core/runtime/compaction.d.ts.map +1 -1
  20. package/dist/core/runtime/compaction.js +5 -4
  21. package/dist/core/runtime/compaction.js.map +1 -1
  22. package/dist/core/runtime/context-builder.d.ts +66 -0
  23. package/dist/core/runtime/context-builder.d.ts.map +1 -0
  24. package/dist/core/runtime/context-builder.js +187 -0
  25. package/dist/core/runtime/context-builder.js.map +1 -0
  26. package/dist/core/runtime/run-scheduler.d.ts +44 -0
  27. package/dist/core/runtime/run-scheduler.d.ts.map +1 -0
  28. package/dist/core/runtime/run-scheduler.js +136 -0
  29. package/dist/core/runtime/run-scheduler.js.map +1 -0
  30. package/dist/core/runtime/runner.d.ts +25 -178
  31. package/dist/core/runtime/runner.d.ts.map +1 -1
  32. package/dist/core/runtime/runner.js +105 -1457
  33. package/dist/core/runtime/runner.js.map +1 -1
  34. package/dist/core/runtime/task-lifecycle.d.ts +165 -0
  35. package/dist/core/runtime/task-lifecycle.d.ts.map +1 -0
  36. package/dist/core/runtime/task-lifecycle.js +424 -0
  37. package/dist/core/runtime/task-lifecycle.js.map +1 -0
  38. package/dist/core/session/sqlite-store.d.ts.map +1 -1
  39. package/dist/core/session/sqlite-store.js +110 -1
  40. package/dist/core/session/sqlite-store.js.map +1 -1
  41. package/dist/core/session/store.d.ts +9 -1
  42. package/dist/core/session/store.d.ts.map +1 -1
  43. package/dist/core/session/types.d.ts +16 -0
  44. package/dist/core/session/types.d.ts.map +1 -1
  45. package/dist/core/session/workflow.d.ts +49 -2
  46. package/dist/core/session/workflow.d.ts.map +1 -1
  47. package/dist/core/session/workflow.js.map +1 -1
  48. package/dist/core/subagents/coordinator.d.ts +187 -0
  49. package/dist/core/subagents/coordinator.d.ts.map +1 -0
  50. package/dist/core/subagents/coordinator.js +446 -0
  51. package/dist/core/subagents/coordinator.js.map +1 -0
  52. package/dist/core/subagents/parked.d.ts +50 -0
  53. package/dist/core/subagents/parked.d.ts.map +1 -0
  54. package/dist/core/subagents/parked.js +75 -0
  55. package/dist/core/subagents/parked.js.map +1 -0
  56. package/dist/core/subagents/tools.d.ts +29 -0
  57. package/dist/core/subagents/tools.d.ts.map +1 -0
  58. package/dist/core/subagents/tools.js +164 -0
  59. package/dist/core/subagents/tools.js.map +1 -0
  60. package/dist/core/subagents/types.d.ts +107 -0
  61. package/dist/core/subagents/types.d.ts.map +1 -0
  62. package/dist/core/subagents/types.js +44 -0
  63. package/dist/core/subagents/types.js.map +1 -0
  64. package/dist/core/task/completion.d.ts +3 -0
  65. package/dist/core/task/completion.d.ts.map +1 -1
  66. package/dist/core/task/completion.js +4 -0
  67. package/dist/core/task/completion.js.map +1 -1
  68. package/dist/core/task/types.d.ts +5 -0
  69. package/dist/core/task/types.d.ts.map +1 -1
  70. package/dist/core/task/types.js.map +1 -1
  71. package/dist/core/tools/adapter.d.ts.map +1 -1
  72. package/dist/core/tools/adapter.js +87 -61
  73. package/dist/core/tools/adapter.js.map +1 -1
  74. package/dist/core/tools/builtins.d.ts.map +1 -1
  75. package/dist/core/tools/builtins.js +7 -0
  76. package/dist/core/tools/builtins.js.map +1 -1
  77. package/dist/core/tools/context.d.ts +1 -0
  78. package/dist/core/tools/context.d.ts.map +1 -1
  79. package/dist/core/tools/def.d.ts +25 -0
  80. package/dist/core/tools/def.d.ts.map +1 -1
  81. package/dist/core/tools/def.js.map +1 -1
  82. package/dist/core/tools/git.d.ts.map +1 -1
  83. package/dist/core/tools/git.js +4 -0
  84. package/dist/core/tools/git.js.map +1 -1
  85. package/dist/core/tools/patch.d.ts.map +1 -1
  86. package/dist/core/tools/patch.js +1 -0
  87. package/dist/core/tools/patch.js.map +1 -1
  88. package/dist/core/tools/qa-check.d.ts +2 -2
  89. package/dist/core/tools/qa-check.d.ts.map +1 -1
  90. package/dist/core/tools/qa-check.js +1 -0
  91. package/dist/core/tools/qa-check.js.map +1 -1
  92. package/dist/core/tools/repomap.d.ts.map +1 -1
  93. package/dist/core/tools/repomap.js +1 -0
  94. package/dist/core/tools/repomap.js.map +1 -1
  95. package/dist/core/tools/task-block.d.ts.map +1 -1
  96. package/dist/core/tools/task-block.js +1 -0
  97. package/dist/core/tools/task-block.js.map +1 -1
  98. package/dist/core/tools/task-deliver.d.ts +1 -1
  99. package/dist/core/tools/task-deliver.d.ts.map +1 -1
  100. package/dist/core/tools/task-deliver.js +1 -0
  101. package/dist/core/tools/task-deliver.js.map +1 -1
  102. package/dist/core/tools/task.d.ts.map +1 -1
  103. package/dist/core/tools/task.js +3 -0
  104. package/dist/core/tools/task.js.map +1 -1
  105. package/dist/core/tools/terminal.d.ts.map +1 -1
  106. package/dist/core/tools/terminal.js +5 -0
  107. package/dist/core/tools/terminal.js.map +1 -1
  108. package/dist/core/tools/webfetch.d.ts.map +1 -1
  109. package/dist/core/tools/webfetch.js +1 -0
  110. package/dist/core/tools/webfetch.js.map +1 -1
  111. package/dist/core/tools/websearch.d.ts.map +1 -1
  112. package/dist/core/tools/websearch.js +1 -0
  113. package/dist/core/tools/websearch.js.map +1 -1
  114. package/dist/index.d.ts +5 -0
  115. package/dist/index.d.ts.map +1 -1
  116. package/dist/index.js +3 -0
  117. package/dist/index.js.map +1 -1
  118. package/dist/server/create-agent-runtime.d.ts +3 -1
  119. package/dist/server/create-agent-runtime.d.ts.map +1 -1
  120. package/dist/server/create-agent-runtime.js +8 -1
  121. package/dist/server/create-agent-runtime.js.map +1 -1
  122. package/dist/server/create-server.d.ts +6 -0
  123. package/dist/server/create-server.d.ts.map +1 -1
  124. package/dist/server/create-server.js +9 -0
  125. package/dist/server/create-server.js.map +1 -1
  126. package/package.json +12 -11
@@ -1,4 +1,5 @@
1
1
  import type { ModelProvider } from "./index.js";
2
+ import type { ModelRef } from "../core/session/types.js";
2
3
  /** 动态额外请求头(如登录态 cookie)。函数形式每次请求前求值,支持异步。 */
3
4
  export type ProviderHeaders = Record<string, string> | (() => Record<string, string> | Promise<Record<string, string>>);
4
5
  /** 模型能力(真实上下文窗口等),由产品侧从模型目录解析。 */
@@ -50,10 +51,12 @@ export declare function createOpenAiModelProvider(input?: {
50
51
  apiKey?: string;
51
52
  defaultModel?: string;
52
53
  headers?: ProviderHeaders;
53
- /** 按 modelId 查询真实模型能力(上下文窗口/最大输出)。同步形式——getModel
54
- * 是同步契约,产品侧需自己缓存模型目录(如请求级灌入进程内缓存)。
54
+ /** 按完整 ModelRef 查询真实模型能力(W9:键必须含 provider 标识——同一
55
+ * modelId 挂在不同 provider/端点配置上时能力不得串用,spec §9.2 / A32;
56
+ * 只按 modelId 缓存正是要钉的缺陷)。同步形式——getModel 是同步契约,
57
+ * 产品侧缓存键应按 providerId+modelId(+端点配置)。
55
58
  * 未命中返回 undefined 时回落 DEFAULT_*,与不配置时行为完全一致。 */
56
- modelCaps?: (modelId: string) => ModelCaps | undefined;
59
+ modelCaps?: (ref: ModelRef) => ModelCaps | undefined;
57
60
  failoverEndpoints?: FailoverEndpoint[] | (() => FailoverEndpoint[]);
58
61
  /** 降级发生时回调(宿主用于日志/UI 提示)。 */
59
62
  onFailover?: (event: FailoverEvent) => void;
@@ -1 +1 @@
1
- {"version":3,"file":"openai-provider.d.ts","sourceRoot":"","sources":["../../src/adapters/openai-provider.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAIhD,6CAA6C;AAC7C,MAAM,MAAM,eAAe,GACvB,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GACtB,CAAC,MAAM,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC;AAErE,kCAAkC;AAClC,MAAM,MAAM,SAAS,GAAG;IACtB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB;gDAC4C;IAC5C,uBAAuB,CAAC,EAAE,MAAM,EAAE,CAAC;CACpC,CAAC;AAEF,2CAA2C;AAC3C,eAAO,MAAM,sBAAsB,SAAU,CAAC;AAC9C,eAAO,MAAM,kBAAkB,QAAS,CAAC;AAEzC,0CAA0C;AAC1C,MAAM,MAAM,gBAAgB,GAAG;IAC7B,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,+BAA+B;IAC/B,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB,CAAC;AAEF,oCAAoC;AACpC,MAAM,MAAM,aAAa,GAAG;IAC1B,+BAA+B;IAC/B,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,cAAc;IACd,EAAE,EAAE,MAAM,CAAC;IACX,oBAAoB;IACpB,KAAK,EAAE,MAAM,CAAC;IACd,kBAAkB;IAClB,OAAO,EAAE,MAAM,CAAC;CACjB,CAAC;AAEF;;;;;;;;;;;;;;sCAcsC;AACtC,wBAAgB,yBAAyB,CAAC,KAAK,CAAC,EAAE;IAChD,OAAO,CAAC,EAAE,MAAM,GAAG,CAAC,MAAM,MAAM,CAAC,CAAC;IAClC,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,OAAO,CAAC,EAAE,eAAe,CAAC;IAC1B;;qDAEiD;IACjD,SAAS,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,SAAS,GAAG,SAAS,CAAC;IACvD,iBAAiB,CAAC,EAAE,gBAAgB,EAAE,GAAG,CAAC,MAAM,gBAAgB,EAAE,CAAC,CAAC;IACpE,6BAA6B;IAC7B,UAAU,CAAC,EAAE,CAAC,KAAK,EAAE,aAAa,KAAK,IAAI,CAAC;CAC7C,GAAG,aAAa,CA8KhB"}
1
+ {"version":3,"file":"openai-provider.d.ts","sourceRoot":"","sources":["../../src/adapters/openai-provider.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAChD,OAAO,KAAK,EAAE,QAAQ,EAAe,MAAM,0BAA0B,CAAC;AAGtE,6CAA6C;AAC7C,MAAM,MAAM,eAAe,GACvB,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GACtB,CAAC,MAAM,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC;AAErE,kCAAkC;AAClC,MAAM,MAAM,SAAS,GAAG;IACtB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB;gDAC4C;IAC5C,uBAAuB,CAAC,EAAE,MAAM,EAAE,CAAC;CACpC,CAAC;AAEF,2CAA2C;AAC3C,eAAO,MAAM,sBAAsB,SAAU,CAAC;AAC9C,eAAO,MAAM,kBAAkB,QAAS,CAAC;AAEzC,0CAA0C;AAC1C,MAAM,MAAM,gBAAgB,GAAG;IAC7B,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,+BAA+B;IAC/B,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB,CAAC;AAEF,oCAAoC;AACpC,MAAM,MAAM,aAAa,GAAG;IAC1B,+BAA+B;IAC/B,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,cAAc;IACd,EAAE,EAAE,MAAM,CAAC;IACX,oBAAoB;IACpB,KAAK,EAAE,MAAM,CAAC;IACd,kBAAkB;IAClB,OAAO,EAAE,MAAM,CAAC;CACjB,CAAC;AAEF;;;;;;;;;;;;;;sCAcsC;AACtC,wBAAgB,yBAAyB,CAAC,KAAK,CAAC,EAAE;IAChD,OAAO,CAAC,EAAE,MAAM,GAAG,CAAC,MAAM,MAAM,CAAC,CAAC;IAClC,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,OAAO,CAAC,EAAE,eAAe,CAAC;IAC1B;;;;qDAIiD;IACjD,SAAS,CAAC,EAAE,CAAC,GAAG,EAAE,QAAQ,KAAK,SAAS,GAAG,SAAS,CAAC;IACrD,iBAAiB,CAAC,EAAE,gBAAgB,EAAE,GAAG,CAAC,MAAM,gBAAgB,EAAE,CAAC,CAAC;IACpE,6BAA6B;IAC7B,UAAU,CAAC,EAAE,CAAC,KAAK,EAAE,aAAa,KAAK,IAAI,CAAC;CAC7C,GAAG,aAAa,CA8KhB"}
@@ -47,7 +47,7 @@ export function createOpenAiModelProvider(input) {
47
47
  // 解析器抛错同样回落——目录只是增强信息,绝不能阻断建会话/压缩摘要。
48
48
  let caps;
49
49
  try {
50
- caps = input?.modelCaps?.(id);
50
+ caps = input?.modelCaps?.(ref);
51
51
  }
52
52
  catch {
53
53
  caps = undefined;
@@ -1 +1 @@
1
- {"version":3,"file":"openai-provider.js","sourceRoot":"","sources":["../../src/adapters/openai-provider.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"openai-provider.js","sourceRoot":"","sources":["../../src/adapters/openai-provider.ts"],"names":[],"mappings":"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"}
@@ -127,8 +127,8 @@ export declare const frameworkEventSchemas: {
127
127
  required: z.ZodBoolean;
128
128
  status: z.ZodEnum<{
129
129
  pending: "pending";
130
- failed: "failed";
131
130
  passed: "passed";
131
+ failed: "failed";
132
132
  not_applicable: "not_applicable";
133
133
  }>;
134
134
  }, z.core.$strip>>;
@@ -241,8 +241,8 @@ export declare const frameworkEventSchemas: {
241
241
  required: z.ZodBoolean;
242
242
  status: z.ZodEnum<{
243
243
  pending: "pending";
244
- failed: "failed";
245
244
  passed: "passed";
245
+ failed: "failed";
246
246
  not_applicable: "not_applicable";
247
247
  }>;
248
248
  }, z.core.$strip>>;
@@ -0,0 +1,34 @@
1
+ import type { Agent } from "@earendil-works/pi-agent-core";
2
+ import type { PermissionEngine } from "../permission/engine.js";
3
+ /** 一个会话的当前活跃 run(W6 §3.1,自 runner.ts 原样搬移)。
4
+ *
5
+ * registry 拥有进程级活跃 run 表,让调度/命令层共享它而不必 import runner。 */
6
+ export type ActiveRun = {
7
+ agent: Agent;
8
+ engine: PermissionEngine;
9
+ settled: () => Promise<void>;
10
+ abort: () => void;
11
+ /** Resolves only after the run has emitted its terminal state and released
12
+ * its lease. Control-plane code uses this before starting a continuation. */
13
+ done: Promise<void>;
14
+ };
15
+ export declare class ActiveRunRegistry {
16
+ private readonly runs;
17
+ constructor(runs: Map<string, ActiveRun>);
18
+ register(sessionId: string, run: ActiveRun): void;
19
+ get(sessionId: string): ActiveRun | undefined;
20
+ has(sessionId: string): boolean;
21
+ delete(sessionId: string): void;
22
+ sessionIds(): string[];
23
+ }
24
+ /** 进程级默认实例(包住上面那张 globalThis Map)。 */
25
+ export declare const defaultActiveRunRegistry: ActiveRunRegistry;
26
+ export declare function isSessionActive(sessionId: string): boolean;
27
+ /** 会话当前 run 是否挂起等待人工授权(HITL 待确认)。宿主会话列表用它把
28
+ * 「待确认」从笼统的「运行中」里区分出来,否则后台会话被权限卡住时
29
+ * 侧边栏毫无信号。无 run 或 run 无 pending 请求均为 false。 */
30
+ export declare function isSessionAwaitingPermission(sessionId: string): boolean;
31
+ /** 当前所有 running 会话 id(Electron 优雅退出等收尾场景枚举用,P2)。
32
+ * activeRuns 是模块级 globalThis 单例,跨项目/跨 runtime 共享。 */
33
+ export declare function listActiveSessions(): string[];
34
+ //# sourceMappingURL=active-run-registry.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"active-run-registry.d.ts","sourceRoot":"","sources":["../../../src/core/runtime/active-run-registry.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,+BAA+B,CAAC;AAC3D,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAEhE;;0DAE0D;AAC1D,MAAM,MAAM,SAAS,GAAG;IACtB,KAAK,EAAE,KAAK,CAAC;IACb,MAAM,EAAE,gBAAgB,CAAC;IACzB,OAAO,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;IAC7B,KAAK,EAAE,MAAM,IAAI,CAAC;IAClB;kFAC8E;IAC9E,IAAI,EAAE,OAAO,CAAC,IAAI,CAAC,CAAC;CACrB,CAAC;AAQF,qBAAa,iBAAiB;IAChB,OAAO,CAAC,QAAQ,CAAC,IAAI;gBAAJ,IAAI,EAAE,GAAG,CAAC,MAAM,EAAE,SAAS,CAAC;IAEzD,QAAQ,CAAC,SAAS,EAAE,MAAM,EAAE,GAAG,EAAE,SAAS,GAAG,IAAI;IAGjD,GAAG,CAAC,SAAS,EAAE,MAAM,GAAG,SAAS,GAAG,SAAS;IAG7C,GAAG,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO;IAG/B,MAAM,CAAC,SAAS,EAAE,MAAM,GAAG,IAAI;IAG/B,UAAU,IAAI,MAAM,EAAE;CAGvB;AAED,sCAAsC;AACtC,eAAO,MAAM,wBAAwB,mBAAoC,CAAC;AAE1E,wBAAgB,eAAe,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAE1D;AAED;;gDAEgD;AAChD,wBAAgB,2BAA2B,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAGtE;AAED;sDACsD;AACtD,wBAAgB,kBAAkB,IAAI,MAAM,EAAE,CAE7C"}
@@ -0,0 +1,44 @@
1
+ /** activeRuns 表仍是挂 globalThis 的 Map 单例(跨副本共享语义保持不变);
2
+ * registry 只是它的具名门面。 */
3
+ const globalRunners = globalThis;
4
+ const activeRuns = globalRunners.__zmzaiFrameworkRuns ?? new Map();
5
+ globalRunners.__zmzaiFrameworkRuns = activeRuns;
6
+ export class ActiveRunRegistry {
7
+ runs;
8
+ constructor(runs) {
9
+ this.runs = runs;
10
+ }
11
+ register(sessionId, run) {
12
+ this.runs.set(sessionId, run);
13
+ }
14
+ get(sessionId) {
15
+ return this.runs.get(sessionId);
16
+ }
17
+ has(sessionId) {
18
+ return this.runs.has(sessionId);
19
+ }
20
+ delete(sessionId) {
21
+ this.runs.delete(sessionId);
22
+ }
23
+ sessionIds() {
24
+ return [...this.runs.keys()];
25
+ }
26
+ }
27
+ /** 进程级默认实例(包住上面那张 globalThis Map)。 */
28
+ export const defaultActiveRunRegistry = new ActiveRunRegistry(activeRuns);
29
+ export function isSessionActive(sessionId) {
30
+ return defaultActiveRunRegistry.has(sessionId);
31
+ }
32
+ /** 会话当前 run 是否挂起等待人工授权(HITL 待确认)。宿主会话列表用它把
33
+ * 「待确认」从笼统的「运行中」里区分出来,否则后台会话被权限卡住时
34
+ * 侧边栏毫无信号。无 run 或 run 无 pending 请求均为 false。 */
35
+ export function isSessionAwaitingPermission(sessionId) {
36
+ const active = defaultActiveRunRegistry.get(sessionId);
37
+ return !!active && active.engine.pendingRequests.length > 0;
38
+ }
39
+ /** 当前所有 running 会话 id(Electron 优雅退出等收尾场景枚举用,P2)。
40
+ * activeRuns 是模块级 globalThis 单例,跨项目/跨 runtime 共享。 */
41
+ export function listActiveSessions() {
42
+ return defaultActiveRunRegistry.sessionIds();
43
+ }
44
+ //# sourceMappingURL=active-run-registry.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"active-run-registry.js","sourceRoot":"","sources":["../../../src/core/runtime/active-run-registry.ts"],"names":[],"mappings":"AAgBA;yBACyB;AACzB,MAAM,aAAa,GAAG,UAAmF,CAAC;AAC1G,MAAM,UAAU,GAAG,aAAa,CAAC,oBAAoB,IAAI,IAAI,GAAG,EAAqB,CAAC;AACtF,aAAa,CAAC,oBAAoB,GAAG,UAAU,CAAC;AAEhD,MAAM,OAAO,iBAAiB;IACC;IAA7B,YAA6B,IAA4B;QAA5B,SAAI,GAAJ,IAAI,CAAwB;IAAG,CAAC;IAE7D,QAAQ,CAAC,SAAiB,EAAE,GAAc;QACxC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,SAAS,EAAE,GAAG,CAAC,CAAC;IAChC,CAAC;IACD,GAAG,CAAC,SAAiB;QACnB,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;IAClC,CAAC;IACD,GAAG,CAAC,SAAiB;QACnB,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;IAClC,CAAC;IACD,MAAM,CAAC,SAAiB;QACtB,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;IAC9B,CAAC;IACD,UAAU;QACR,OAAO,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC;IAC/B,CAAC;CACF;AAED,sCAAsC;AACtC,MAAM,CAAC,MAAM,wBAAwB,GAAG,IAAI,iBAAiB,CAAC,UAAU,CAAC,CAAC;AAE1E,MAAM,UAAU,eAAe,CAAC,SAAiB;IAC/C,OAAO,wBAAwB,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;AACjD,CAAC;AAED;;gDAEgD;AAChD,MAAM,UAAU,2BAA2B,CAAC,SAAiB;IAC3D,MAAM,MAAM,GAAG,wBAAwB,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;IACvD,OAAO,CAAC,CAAC,MAAM,IAAI,MAAM,CAAC,MAAM,CAAC,eAAe,CAAC,MAAM,GAAG,CAAC,CAAC;AAC9D,CAAC;AAED;sDACsD;AACtD,MAAM,UAAU,kBAAkB;IAChC,OAAO,wBAAwB,CAAC,UAAU,EAAE,CAAC;AAC/C,CAAC"}
@@ -0,0 +1,67 @@
1
+ import type { AgentRegistry } from "../agent/registry.js";
2
+ import type { FrameworkEvent } from "../events/manifest.js";
3
+ import { PermissionEngine } from "../permission/engine.js";
4
+ import { LoopGuard } from "./loop-guard.js";
5
+ import type { SessionInfo } from "../session/types.js";
6
+ import type { PromptInput } from "../session/workflow.js";
7
+ import { type RunOutcome, type TaskLifecycle } from "./task-lifecycle.js";
8
+ import type { RunScheduler } from "./run-scheduler.js";
9
+ import type { ContextBuilder } from "./context-builder.js";
10
+ import type { TaskRecord } from "../task/types.js";
11
+ /** AttemptExecutor(W7-S7 自 SessionRunner 原样搬移,spec §7):
12
+ * PI 适配、上下文消费、工具执行钩子、事件漏斗与 RunOutcome 装配。
13
+ * 单次 Attempt 的完整执行;任务循环在 TaskLifecycle,调度在 RunScheduler。 */
14
+ /** 协作者由 runner 装配注入;RunnerDeps 字段**持有原对象引用**(测试会在
15
+ * 构造 runner 之后改 deps 字段,快照会让它们静默失效——W7-S7 实测踩过)。 */
16
+ export type AttemptCollaborators = {
17
+ lifecycle: TaskLifecycle;
18
+ scheduler: RunScheduler;
19
+ contextBuilder: ContextBuilder;
20
+ publish: (event: FrameworkEvent, sessionId: string) => Promise<void>;
21
+ persist: (event: FrameworkEvent, fallbackSessionId: string) => Promise<void>;
22
+ subagentCoordinator?: import("../subagents/coordinator.js").SubagentCoordinator;
23
+ spawnSubagent: (session: SessionInfo, input: {
24
+ description: string;
25
+ prompt: string;
26
+ subagentType: string;
27
+ spawnRequestId?: string;
28
+ }, registry: AgentRegistry, parentEngine: PermissionEngine) => Promise<{
29
+ childSessionId: string;
30
+ summary: string;
31
+ state: "completed" | "error";
32
+ }>;
33
+ };
34
+ export declare class AttemptExecutor {
35
+ #private;
36
+ private readonly deps;
37
+ private readonly collabs;
38
+ /** 供 runLoop 取归一化钩子数组(lazy:constructor 后仍可由 deps 引用共享)。 */
39
+ private get hooks();
40
+ constructor(deps: import("./runner.js").RunnerDeps, collabs: AttemptCollaborators);
41
+ /** 会话级 registry 解析(public:createServer 给协调器绑定同源解析用,
42
+ * 保证子代理类型检查与默认工厂看到 workspace 自定义 Agent)。 */
43
+ registryFor(session: SessionInfo): Promise<AgentRegistry>;
44
+ /** Versioned agents are resolved from the product control plane. A missing
45
+ * version intentionally falls back to the M1-M5 registry so old sessions
46
+ * and standalone consumers remain valid. */
47
+ private resolvedAgentFor;
48
+ /** 一次 Attempt:从模型上下文构造到终态收尾的完整内部运行。
49
+ *
50
+ * `taskContext` 存在时,任务契约会注入 systemPrompt(**不落成消息**,
51
+ * 规格 §19 禁止伪用户消息)。它同时携带 continuation 的 advisory,
52
+ * 保证「续跑指令」与「任务契约」在同一条系统指令里,不会互相矛盾。
53
+ * 它还携带 `loopGuard`:任务层自己持有一个跨 Attempt 的实例,避免每轮
54
+ * 重置循环防护的计数(见下方注释)。 */
55
+ runLoop(session: SessionInfo, input: PromptInput, acceptedUserId?: string, taskContext?: {
56
+ task: TaskRecord;
57
+ advisory?: string;
58
+ continuation?: boolean;
59
+ loopGuard?: LoopGuard;
60
+ } | null): Promise<RunOutcome>;
61
+ /** 任务终态小结(N5):run 收尾时用 summary 模型生成一句自然语言总结,
62
+ * 附本轮结构化统计,发布 session.summary 事件供前端渲染「任务完成卡」。
63
+ * 失败/中断也发(kind 区分),让 UI 的收尾永远有明确落点。生成失败或
64
+ * 无 summaryModel 时静默跳过(不阻塞 run 收尾)。 */
65
+ private summarizeRun;
66
+ }
67
+ //# sourceMappingURL=attempt-executor.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"attempt-executor.d.ts","sourceRoot":"","sources":["../../../src/core/runtime/attempt-executor.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAE1D,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AAC5D,OAAO,EAAE,gBAAgB,EAAiB,MAAM,yBAAyB,CAAC;AAG1E,OAAO,EAAE,SAAS,EAAiC,MAAM,iBAAiB,CAAC;AAE3E,OAAO,KAAK,EAA2B,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAChF,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAC;AAY1D,OAAO,EAAoB,KAAK,UAAU,EAAE,KAAK,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAC5F,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AACvD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAK3D,OAAO,KAAK,EAAE,UAAU,EAAoB,MAAM,kBAAkB,CAAC;AAgDrE;;6DAE6D;AAC7D;qDACqD;AACrD,MAAM,MAAM,oBAAoB,GAAG;IACjC,SAAS,EAAE,aAAa,CAAC;IACzB,SAAS,EAAE,YAAY,CAAC;IACxB,cAAc,EAAE,cAAc,CAAC;IAC/B,OAAO,EAAE,CAAC,KAAK,EAAE,cAAc,EAAE,SAAS,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IACrE,OAAO,EAAE,CAAC,KAAK,EAAE,cAAc,EAAE,iBAAiB,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IAC7E,mBAAmB,CAAC,EAAE,OAAO,6BAA6B,EAAE,mBAAmB,CAAC;IAChF,aAAa,EAAE,CAAC,OAAO,EAAE,WAAW,EAAE,KAAK,EAAE;QAAE,WAAW,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAC;QAAC,YAAY,EAAE,MAAM,CAAC;QAAC,cAAc,CAAC,EAAE,MAAM,CAAA;KAAE,EAAE,QAAQ,EAAE,aAAa,EAAE,YAAY,EAAE,gBAAgB,KAAK,OAAO,CAAC;QAAE,cAAc,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,WAAW,GAAG,OAAO,CAAA;KAAE,CAAC,CAAC;CACrR,CAAC;AAEF,qBAAa,eAAe;;IAQd,OAAO,CAAC,QAAQ,CAAC,IAAI;IAAoC,OAAO,CAAC,QAAQ,CAAC,OAAO;IAN7F,2DAA2D;IAC3D,OAAO,KAAK,KAAK,GAGhB;gBAE4B,IAAI,EAAE,OAAO,aAAa,EAAE,UAAU,EAAmB,OAAO,EAAE,oBAAoB;IAEnH;iDAC6C;IACvC,WAAW,CAAC,OAAO,EAAE,WAAW,GAAG,OAAO,CAAC,aAAa,CAAC;IAU/D;;iDAE6C;YAC/B,gBAAgB;IAS9B;;;;;;4BAMwB;IAClB,OAAO,CACX,OAAO,EAAE,WAAW,EACpB,KAAK,EAAE,WAAW,EAClB,cAAc,CAAC,EAAE,MAAM,EACvB,WAAW,CAAC,EAAE;QAAE,IAAI,EAAE,UAAU,CAAC;QAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;QAAC,YAAY,CAAC,EAAE,OAAO,CAAC;QAAC,SAAS,CAAC,EAAE,SAAS,CAAA;KAAE,GAAG,IAAI,GAC1G,OAAO,CAAC,UAAU,CAAC;IAggBtB;;;4CAGwC;YAC1B,YAAY;CA0E3B"}