@gencode/agents 0.0.4 → 0.0.6

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 (111) hide show
  1. package/dist/commands/new.js +6 -6
  2. package/dist/commands/new.js.map +1 -1
  3. package/dist/config/types.d.ts +2 -2
  4. package/dist/config/types.d.ts.map +1 -1
  5. package/dist/plugins/hooks.d.ts +20 -1
  6. package/dist/plugins/hooks.d.ts.map +1 -1
  7. package/dist/plugins/hooks.js.map +1 -1
  8. package/dist/plugins/index.d.ts +1 -1
  9. package/dist/plugins/index.d.ts.map +1 -1
  10. package/dist/plugins/index.js.map +1 -1
  11. package/dist/runner/agent-runtime.d.ts +62 -0
  12. package/dist/runner/agent-runtime.d.ts.map +1 -0
  13. package/dist/runner/agent-runtime.js +179 -0
  14. package/dist/runner/agent-runtime.js.map +1 -0
  15. package/dist/runner/announce-loop.d.ts +41 -0
  16. package/dist/runner/announce-loop.d.ts.map +1 -0
  17. package/dist/runner/announce-loop.js +94 -0
  18. package/dist/runner/announce-loop.js.map +1 -0
  19. package/dist/runner/event-dispatcher.d.ts +31 -0
  20. package/dist/runner/event-dispatcher.d.ts.map +1 -0
  21. package/dist/runner/event-dispatcher.js +87 -0
  22. package/dist/runner/event-dispatcher.js.map +1 -0
  23. package/dist/runner/finalizer.d.ts +30 -0
  24. package/dist/runner/finalizer.d.ts.map +1 -0
  25. package/dist/runner/finalizer.js +75 -0
  26. package/dist/runner/finalizer.js.map +1 -0
  27. package/dist/runner/invocation-resolver.d.ts +67 -0
  28. package/dist/runner/invocation-resolver.d.ts.map +1 -0
  29. package/dist/runner/invocation-resolver.js +224 -0
  30. package/dist/runner/invocation-resolver.js.map +1 -0
  31. package/dist/runner/plugin-context.d.ts +18 -0
  32. package/dist/runner/plugin-context.d.ts.map +1 -0
  33. package/dist/runner/plugin-context.js +26 -0
  34. package/dist/runner/plugin-context.js.map +1 -0
  35. package/dist/runner/run-context.d.ts +38 -0
  36. package/dist/runner/run-context.d.ts.map +1 -0
  37. package/dist/runner/run-context.js +159 -0
  38. package/dist/runner/run-context.js.map +1 -0
  39. package/dist/runner/runner-session.d.ts +34 -0
  40. package/dist/runner/runner-session.d.ts.map +1 -0
  41. package/dist/runner/runner-session.js +61 -0
  42. package/dist/runner/runner-session.js.map +1 -0
  43. package/dist/runner/runner.d.ts +1 -2
  44. package/dist/runner/runner.d.ts.map +1 -1
  45. package/dist/runner/runner.js +115 -889
  46. package/dist/runner/runner.js.map +1 -1
  47. package/dist/runner/runtime.d.ts +7 -0
  48. package/dist/runner/runtime.d.ts.map +1 -0
  49. package/dist/runner/runtime.js +21 -0
  50. package/dist/runner/runtime.js.map +1 -0
  51. package/dist/runner/session-lifecycle.d.ts +31 -0
  52. package/dist/runner/session-lifecycle.d.ts.map +1 -0
  53. package/dist/runner/session-lifecycle.js +46 -0
  54. package/dist/runner/session-lifecycle.js.map +1 -0
  55. package/dist/runner/title.d.ts +3 -0
  56. package/dist/runner/title.d.ts.map +1 -0
  57. package/dist/runner/title.js +6 -0
  58. package/dist/runner/title.js.map +1 -0
  59. package/dist/runner/turn-executor.d.ts +51 -0
  60. package/dist/runner/turn-executor.d.ts.map +1 -0
  61. package/dist/runner/turn-executor.js +255 -0
  62. package/dist/runner/turn-executor.js.map +1 -0
  63. package/dist/tools/cron.d.ts +15 -22
  64. package/dist/tools/cron.d.ts.map +1 -1
  65. package/dist/tools/cron.js +20 -40
  66. package/dist/tools/cron.js.map +1 -1
  67. package/dist/types.d.ts +1 -1
  68. package/dist/types.d.ts.map +1 -1
  69. package/package.json +1 -1
  70. package/dist/config-DJX-VM7S.js +0 -198
  71. package/dist/config-DJX-VM7S.js.map +0 -1
  72. package/dist/index-JD6Ye-N5.d.ts +0 -149
  73. package/dist/index-JD6Ye-N5.d.ts.map +0 -1
  74. package/dist/manager-qXa-NP0p.js +0 -1651
  75. package/dist/manager-qXa-NP0p.js.map +0 -1
  76. package/dist/message.d.ts +0 -11
  77. package/dist/message.d.ts.map +0 -1
  78. package/dist/message.js +0 -46
  79. package/dist/message.js.map +0 -1
  80. package/dist/security/command-dangerous-rules.d.ts +0 -4
  81. package/dist/security/command-dangerous-rules.d.ts.map +0 -1
  82. package/dist/security/command-dangerous-rules.js +0 -26
  83. package/dist/security/command-dangerous-rules.js.map +0 -1
  84. package/dist/security/command-parser.d.ts +0 -3
  85. package/dist/security/command-parser.d.ts.map +0 -1
  86. package/dist/security/command-parser.js +0 -191
  87. package/dist/security/command-parser.js.map +0 -1
  88. package/dist/security/command-path-guard.d.ts +0 -10
  89. package/dist/security/command-path-guard.d.ts.map +0 -1
  90. package/dist/security/command-path-guard.js +0 -126
  91. package/dist/security/command-path-guard.js.map +0 -1
  92. package/dist/security/command-policy-config.d.ts +0 -5
  93. package/dist/security/command-policy-config.d.ts.map +0 -1
  94. package/dist/security/command-policy-config.js +0 -212
  95. package/dist/security/command-policy-config.js.map +0 -1
  96. package/dist/security/command-policy-engine.d.ts +0 -8
  97. package/dist/security/command-policy-engine.d.ts.map +0 -1
  98. package/dist/security/command-policy-engine.js +0 -122
  99. package/dist/security/command-policy-engine.js.map +0 -1
  100. package/dist/security/command-policy-types.d.ts +0 -67
  101. package/dist/security/command-policy-types.d.ts.map +0 -1
  102. package/dist/security/command-policy-types.js +0 -2
  103. package/dist/security/command-policy-types.js.map +0 -1
  104. package/dist/security/command-safe-bins.d.ts +0 -4
  105. package/dist/security/command-safe-bins.d.ts.map +0 -1
  106. package/dist/security/command-safe-bins.js +0 -84
  107. package/dist/security/command-safe-bins.js.map +0 -1
  108. package/dist/security/command-trusted-executables.d.ts +0 -6
  109. package/dist/security/command-trusted-executables.d.ts.map +0 -1
  110. package/dist/security/command-trusted-executables.js +0 -57
  111. package/dist/security/command-trusted-executables.js.map +0 -1
@@ -1,13 +1,13 @@
1
1
  const NEW_SESSION_TEXT = [
2
2
  "✨ 新会话已开启,我们可以重新开始啦~",
3
3
  "",
4
- "我是爱码Max,你的AI研发助手。你可以这样和我聊:",
5
- "💻 “用React写一个登录组件”",
6
- "✏️ “帮我写一个用户中心的PRD”",
7
- "🧪 “为这个接口设计测试用例”",
8
- "💬 “解释下什么是微服务”",
4
+ " 我是爱码Max,你的AI研发助手。你可以这样和我聊:",
5
+ " 💻 “用React写一个登录组件”",
6
+ " ✏️ “帮我写一个用户中心的PRD”",
7
+ " 🧪 “为这个接口设计测试用例”",
8
+ " 💬 “解释下什么是微服务”",
9
9
  "",
10
- "直接说出你的需求就行~",
10
+ " 直接说出你的需求就行~",
11
11
  ].join("\n");
12
12
  export function handleNewCommand() {
13
13
  return { kind: "reply", text: NEW_SESSION_TEXT };
@@ -1 +1 @@
1
- {"version":3,"file":"new.js","sourceRoot":"","sources":["../../src/commands/new.ts"],"names":[],"mappings":"AAEA,MAAM,gBAAgB,GAAG;IACvB,qBAAqB;IACrB,EAAE;IACF,4BAA4B;IAC5B,oBAAoB;IACpB,oBAAoB;IACpB,kBAAkB;IAClB,gBAAgB;IAChB,EAAE;IACF,aAAa;CACd,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAEb,MAAM,UAAU,gBAAgB;IAC9B,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,gBAAgB,EAAE,CAAC;AACnD,CAAC"}
1
+ {"version":3,"file":"new.js","sourceRoot":"","sources":["../../src/commands/new.ts"],"names":[],"mappings":"AAEA,MAAM,gBAAgB,GAAG;IACvB,qBAAqB;IACrB,EAAE;IACF,6BAA6B;IAC7B,uBAAuB;IACvB,uBAAuB;IACvB,qBAAqB;IACrB,mBAAmB;IACnB,EAAE;IACF,cAAc;CACf,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAEb,MAAM,UAAU,gBAAgB;IAC9B,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,gBAAgB,EAAE,CAAC;AACnD,CAAC"}
@@ -50,8 +50,8 @@ export type AgentBinding = {
50
50
  comment?: string;
51
51
  /** Match conditions for this binding */
52
52
  match: {
53
- /** Channel type: H5 | WEB | KLPA | CRON */
54
- channel: "H5" | "WEB" | "KLPA" | "CRON";
53
+ /** Channel type: H5 | WEB | KLPA | CRON | EIP_ASSISTANT */
54
+ channel: "H5" | "WEB" | "KLPA" | "CRON" | "EIP_ASSISTANT";
55
55
  /** Account ID (optional, for multi-account routing) */
56
56
  accountId?: string;
57
57
  /** User ID (optional, for user-specific routing) */
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/config/types.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH;;;GAGG;AACH,MAAM,MAAM,WAAW,GAAG;IACxB,8BAA8B;IAC9B,EAAE,EAAE,MAAM,CAAC;IACX,wCAAwC;IACxC,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,6CAA6C;IAC7C,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,oEAAoE;IACpE,KAAK,CAAC,EAAE,MAAM,GAAG,gBAAgB,CAAC;IAClC,yDAAyD;IACzD,MAAM,CAAC,EAAE,MAAM,EAAE,CAAC;IAClB,iDAAiD;IACjD,QAAQ,CAAC,EAAE;QACT,IAAI,CAAC,EAAE,MAAM,CAAC;QACd,KAAK,CAAC,EAAE,MAAM,CAAC;QACf,KAAK,CAAC,EAAE,MAAM,CAAC;QACf,MAAM,CAAC,EAAE,MAAM,CAAC;KACjB,CAAC;IACF,4CAA4C;IAC5C,SAAS,CAAC,EAAE;QACV,4EAA4E;QAC5E,WAAW,CAAC,EAAE,MAAM,EAAE,CAAC;QACvB,qFAAqF;QACrF,KAAK,CAAC,EAAE,MAAM,GAAG,gBAAgB,CAAC;KACnC,CAAC;CACH,CAAC;AAEF;;GAEG;AACH,MAAM,MAAM,gBAAgB,GAAG;IAC7B,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,CAAC,EAAE,MAAM,EAAE,CAAC;CACtB,CAAC;AAEF;;;GAGG;AACH,MAAM,MAAM,YAAY,GAAG;IACzB,uCAAuC;IACvC,OAAO,EAAE,MAAM,CAAC;IAChB,mCAAmC;IACnC,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,wCAAwC;IACxC,KAAK,EAAE;QACL,2CAA2C;QAC3C,OAAO,EAAE,IAAI,GAAG,KAAK,GAAG,MAAM,GAAG,MAAM,CAAC;QACxC,uDAAuD;QACvD,SAAS,CAAC,EAAE,MAAM,CAAC;QACnB,oDAAoD;QACpD,MAAM,CAAC,EAAE,MAAM,CAAC;KACjB,CAAC;CACH,CAAC;AAEF;;;GAGG;AACH,MAAM,MAAM,YAAY,GAAG;IACzB,gCAAgC;IAChC,MAAM,EAAE,WAAW,EAAE,CAAC;IACtB,kDAAkD;IAClD,QAAQ,CAAC,EAAE,YAAY,EAAE,CAAC;IAC1B,uCAAuC;IACvC,QAAQ,CAAC,EAAE;QACT,KAAK,CAAC,EAAE,MAAM,GAAG,gBAAgB,CAAC;QAClC;;;WAGG;QACH,YAAY,CAAC,EAAE,MAAM,CAAC;QACtB,4CAA4C;QAC5C,UAAU,CAAC,EAAE;YACX,sEAAsE;YACtE,OAAO,CAAC,EAAE,OAAO,CAAC;YAClB,2EAA2E;YAC3E,cAAc,CAAC,EAAE,MAAM,CAAC;SACzB,CAAC;KACH,CAAC;CACH,CAAC"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/config/types.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH;;;GAGG;AACH,MAAM,MAAM,WAAW,GAAG;IACxB,8BAA8B;IAC9B,EAAE,EAAE,MAAM,CAAC;IACX,wCAAwC;IACxC,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,6CAA6C;IAC7C,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,oEAAoE;IACpE,KAAK,CAAC,EAAE,MAAM,GAAG,gBAAgB,CAAC;IAClC,yDAAyD;IACzD,MAAM,CAAC,EAAE,MAAM,EAAE,CAAC;IAClB,iDAAiD;IACjD,QAAQ,CAAC,EAAE;QACT,IAAI,CAAC,EAAE,MAAM,CAAC;QACd,KAAK,CAAC,EAAE,MAAM,CAAC;QACf,KAAK,CAAC,EAAE,MAAM,CAAC;QACf,MAAM,CAAC,EAAE,MAAM,CAAC;KACjB,CAAC;IACF,4CAA4C;IAC5C,SAAS,CAAC,EAAE;QACV,4EAA4E;QAC5E,WAAW,CAAC,EAAE,MAAM,EAAE,CAAC;QACvB,qFAAqF;QACrF,KAAK,CAAC,EAAE,MAAM,GAAG,gBAAgB,CAAC;KACnC,CAAC;CACH,CAAC;AAEF;;GAEG;AACH,MAAM,MAAM,gBAAgB,GAAG;IAC7B,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,CAAC,EAAE,MAAM,EAAE,CAAC;CACtB,CAAC;AAEF;;;GAGG;AACH,MAAM,MAAM,YAAY,GAAG;IACzB,uCAAuC;IACvC,OAAO,EAAE,MAAM,CAAC;IAChB,mCAAmC;IACnC,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,wCAAwC;IACxC,KAAK,EAAE;QACL,2DAA2D;QAC3D,OAAO,EAAE,IAAI,GAAG,KAAK,GAAG,MAAM,GAAG,MAAM,GAAG,eAAe,CAAC;QAC1D,uDAAuD;QACvD,SAAS,CAAC,EAAE,MAAM,CAAC;QACnB,oDAAoD;QACpD,MAAM,CAAC,EAAE,MAAM,CAAC;KACjB,CAAC;CACH,CAAC;AAEF;;;GAGG;AACH,MAAM,MAAM,YAAY,GAAG;IACzB,gCAAgC;IAChC,MAAM,EAAE,WAAW,EAAE,CAAC;IACtB,kDAAkD;IAClD,QAAQ,CAAC,EAAE,YAAY,EAAE,CAAC;IAC1B,uCAAuC;IACvC,QAAQ,CAAC,EAAE;QACT,KAAK,CAAC,EAAE,MAAM,GAAG,gBAAgB,CAAC;QAClC;;;WAGG;QACH,YAAY,CAAC,EAAE,MAAM,CAAC;QACtB,4CAA4C;QAC5C,UAAU,CAAC,EAAE;YACX,sEAAsE;YACtE,OAAO,CAAC,EAAE,OAAO,CAAC;YAClB,2EAA2E;YAC3E,cAAc,CAAC,EAAE,MAAM,CAAC;SACzB,CAAC;KACH,CAAC;CACH,CAAC"}
@@ -1,7 +1,7 @@
1
1
  import type { AssistantMessage } from "@mariozechner/pi-ai";
2
2
  import type { AgentRunParams } from "../types.js";
3
3
  import type { MemoryChangedEvent } from "../memory/provider.js";
4
- export type PluginHookName = "before_model_resolve" | "before_prompt_build" | "llm_input" | "llm_output" | "before_tool_call" | "after_tool_call" | "agent_end" | "before_compaction" | "after_compaction" | "session_start" | "session_end" | "session_reset" | "memory_changed";
4
+ export type PluginHookName = "before_model_resolve" | "before_prompt_build" | "after_prompt_build" | "llm_input" | "assistant_message_end" | "llm_output" | "before_tool_call" | "after_tool_call" | "agent_end" | "before_compaction" | "after_compaction" | "session_start" | "session_end" | "session_reset" | "memory_changed";
5
5
  export type PluginHookAgentContext = {
6
6
  agentId?: string;
7
7
  sessionId?: string;
@@ -21,12 +21,29 @@ export type PluginHookBeforePromptBuildResult = {
21
21
  systemPrompt?: string;
22
22
  prependContext?: string;
23
23
  };
24
+ export type PluginHookAfterPromptBuildEvent = {
25
+ prompt: string;
26
+ systemPrompt: string;
27
+ };
24
28
  export type PluginHookLlmInputEvent = {
25
29
  sessionId: string;
26
30
  model: string;
27
31
  prompt: string;
28
32
  historyMessages: unknown[];
29
33
  };
34
+ export type PluginHookAssistantMessageEndEvent = {
35
+ sessionId: string;
36
+ model: string;
37
+ assistantText: string;
38
+ assistantMessage: AssistantMessage;
39
+ hasToolCalls: boolean;
40
+ durationMs?: number;
41
+ usage?: {
42
+ input?: number;
43
+ output?: number;
44
+ total?: number;
45
+ };
46
+ };
30
47
  export type PluginHookLlmOutputEvent = {
31
48
  sessionId: string;
32
49
  model: string;
@@ -85,7 +102,9 @@ export type PluginHookMemoryChangedEvent = MemoryChangedEvent;
85
102
  export type PluginHookHandlerMap = {
86
103
  before_model_resolve: (event: PluginHookBeforeModelResolveEvent, ctx: PluginHookAgentContext) => PluginHookBeforeModelResolveResult | void | Promise<PluginHookBeforeModelResolveResult | void>;
87
104
  before_prompt_build: (event: PluginHookBeforePromptBuildEvent, ctx: PluginHookAgentContext) => PluginHookBeforePromptBuildResult | void | Promise<PluginHookBeforePromptBuildResult | void>;
105
+ after_prompt_build: (event: PluginHookAfterPromptBuildEvent, ctx: PluginHookAgentContext) => void | Promise<void>;
88
106
  llm_input: (event: PluginHookLlmInputEvent, ctx: PluginHookAgentContext) => void | Promise<void>;
107
+ assistant_message_end: (event: PluginHookAssistantMessageEndEvent, ctx: PluginHookAgentContext) => void | Promise<void>;
89
108
  llm_output: (event: PluginHookLlmOutputEvent, ctx: PluginHookAgentContext) => void | Promise<void>;
90
109
  before_tool_call: (event: PluginHookBeforeToolCallEvent, ctx: PluginHookAgentContext) => PluginHookBeforeToolCallResult | void | Promise<PluginHookBeforeToolCallResult | void>;
91
110
  after_tool_call: (event: PluginHookAfterToolCallEvent, ctx: PluginHookAgentContext) => void | Promise<void>;
@@ -1 +1 @@
1
- {"version":3,"file":"hooks.d.ts","sourceRoot":"","sources":["../../src/plugins/hooks.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"hooks.d.ts","sourceRoot":"","sources":["../../src/plugins/hooks.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"hooks.js","sourceRoot":"","sources":["../../src/plugins/hooks.ts"],"names":[],"mappings":"AAmLA,MAAM,OAAO,kBAAkB;IACZ,KAAK,GAAG,IAAI,GAAG,EAA4C,CAAC;IAE7E,QAAQ,CAA2B,YAAuC;QACxE,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,YAAY,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC;QACzD,IAAI,CAAC,IAAI,CAAC,YAAsC,CAAC,CAAC;QAClD,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,QAAQ,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,QAAQ,IAAI,CAAC,CAAC,CAAC,CAAC;QAC3D,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,YAAY,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;IAC9C,CAAC;IAED,KAAK,CAAC,QAAQ,CACZ,QAAW,EACX,KAA6C,EAC7C,GAA2C;QAE3C,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC;QAC5C,MAAM,OAAO,GAAwD,EAAE,CAAC;QACxE,KAAK,MAAM,KAAK,IAAI,IAAI,EAAE,CAAC;YACzB,MAAM,MAAM,GAAG,MAAO,KAAK,CAAC,OAAe,CAAC,KAAK,EAAE,GAA6B,CAAC,CAAC;YAClF,OAAO,CAAC,IAAI,CAAC,MAAsD,CAAC,CAAC;QACvE,CAAC;QACD,OAAO,OAAO,CAAC;IACjB,CAAC;CACF"}
1
+ {"version":3,"file":"hooks.js","sourceRoot":"","sources":["../../src/plugins/hooks.ts"],"names":[],"mappings":"AAgNA,MAAM,OAAO,kBAAkB;IACZ,KAAK,GAAG,IAAI,GAAG,EAA4C,CAAC;IAE7E,QAAQ,CAA2B,YAAuC;QACxE,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,YAAY,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC;QACzD,IAAI,CAAC,IAAI,CAAC,YAAsC,CAAC,CAAC;QAClD,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,QAAQ,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,QAAQ,IAAI,CAAC,CAAC,CAAC,CAAC;QAC3D,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,YAAY,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;IAC9C,CAAC;IAED,KAAK,CAAC,QAAQ,CACZ,QAAW,EACX,KAA6C,EAC7C,GAA2C;QAE3C,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC;QAC5C,MAAM,OAAO,GAAwD,EAAE,CAAC;QACxE,KAAK,MAAM,KAAK,IAAI,IAAI,EAAE,CAAC;YACzB,MAAM,MAAM,GAAG,MAAO,KAAK,CAAC,OAAe,CAAC,KAAK,EAAE,GAA6B,CAAC,CAAC;YAClF,OAAO,CAAC,IAAI,CAAC,MAAsD,CAAC,CAAC;QACvE,CAAC;QACD,OAAO,OAAO,CAAC;IACjB,CAAC;CACF"}
@@ -11,7 +11,7 @@ export { initializePluginSystem } from "./manager.js";
11
11
  export type { PluginSystem, PluginSystemOptions } from "./manager.js";
12
12
  export type { PluginRuntimeContext } from "./runtime-context.js";
13
13
  export { PluginHookRegistry } from "./hooks.js";
14
- export type { PluginHookName, PluginHookHandlerMap, PluginHookAgentContext, PluginHookBeforeModelResolveEvent, PluginHookBeforeModelResolveResult, PluginHookBeforePromptBuildEvent, PluginHookBeforePromptBuildResult, PluginHookLlmInputEvent, PluginHookLlmOutputEvent, PluginHookBeforeToolCallEvent, PluginHookBeforeToolCallResult, PluginHookAfterToolCallEvent, PluginHookAgentEndEvent, PluginHookBeforeCompactionEvent, PluginHookAfterCompactionEvent, PluginHookSessionStartEvent, PluginHookSessionEndEvent, PluginHookSessionResetEvent, PluginHookMemoryChangedEvent, } from "./hooks.js";
14
+ export type { PluginHookName, PluginHookHandlerMap, PluginHookAgentContext, PluginHookBeforeModelResolveEvent, PluginHookBeforeModelResolveResult, PluginHookBeforePromptBuildEvent, PluginHookBeforePromptBuildResult, PluginHookAfterPromptBuildEvent, PluginHookLlmInputEvent, PluginHookAssistantMessageEndEvent, PluginHookLlmOutputEvent, PluginHookBeforeToolCallEvent, PluginHookBeforeToolCallResult, PluginHookAfterToolCallEvent, PluginHookAgentEndEvent, PluginHookBeforeCompactionEvent, PluginHookAfterCompactionEvent, PluginHookSessionStartEvent, PluginHookSessionEndEvent, PluginHookSessionResetEvent, PluginHookMemoryChangedEvent, } from "./hooks.js";
15
15
  export { PluginToolRegistry } from "./tools.js";
16
16
  export type { PluginToolOptions, RegisteredPluginTool } from "./tools.js";
17
17
  export { createPluginRuntime } from "./runtime.js";
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/plugins/index.ts"],"names":[],"mappings":"AAAA,YAAY,EACV,gBAAgB,EAChB,YAAY,EACZ,UAAU,EACV,kBAAkB,EAClB,cAAc,EACd,wBAAwB,EACxB,eAAe,EACf,qBAAqB,GACtB,MAAM,YAAY,CAAC;AACpB,OAAO,EACL,oBAAoB,EACpB,KAAK,sBAAsB,GAC5B,MAAM,gBAAgB,CAAC;AACxB,OAAO,EACL,kBAAkB,EAClB,yBAAyB,EACzB,wBAAwB,EACxB,yBAAyB,GAC1B,MAAM,eAAe,CAAC;AACvB,OAAO,EACL,sBAAsB,EACtB,qBAAqB,GACtB,MAAM,mBAAmB,CAAC;AAC3B,YAAY,EACV,aAAa,EACb,uBAAuB,EACvB,iBAAiB,EACjB,6BAA6B,GAC9B,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EACL,0BAA0B,GAC3B,MAAM,wBAAwB,CAAC;AAChC,YAAY,EAAE,sBAAsB,EAAE,MAAM,wBAAwB,CAAC;AACrE,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAC1C,YAAY,EAAE,cAAc,EAAE,YAAY,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAC3E,OAAO,EAAE,sBAAsB,EAAE,MAAM,cAAc,CAAC;AACtD,YAAY,EAAE,YAAY,EAAE,mBAAmB,EAAE,MAAM,cAAc,CAAC;AACtE,YAAY,EAAE,oBAAoB,EAAE,MAAM,sBAAsB,CAAC;AACjE,OAAO,EAAE,kBAAkB,EAAE,MAAM,YAAY,CAAC;AAChD,YAAY,EACV,cAAc,EACd,oBAAoB,EACpB,sBAAsB,EACtB,iCAAiC,EACjC,kCAAkC,EAClC,gCAAgC,EAChC,iCAAiC,EACjC,uBAAuB,EACvB,wBAAwB,EACxB,6BAA6B,EAC7B,8BAA8B,EAC9B,4BAA4B,EAC5B,uBAAuB,EACvB,+BAA+B,EAC/B,8BAA8B,EAC9B,2BAA2B,EAC3B,yBAAyB,EACzB,2BAA2B,EAC3B,4BAA4B,GAC7B,MAAM,YAAY,CAAC;AACpB,OAAO,EAAE,kBAAkB,EAAE,MAAM,YAAY,CAAC;AAChD,YAAY,EAAE,iBAAiB,EAAE,oBAAoB,EAAE,MAAM,YAAY,CAAC;AAC1E,OAAO,EAAE,mBAAmB,EAAE,MAAM,cAAc,CAAC;AACnD,YAAY,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAClD,OAAO,EAAE,kBAAkB,EAAE,MAAM,iBAAiB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/plugins/index.ts"],"names":[],"mappings":"AAAA,YAAY,EACV,gBAAgB,EAChB,YAAY,EACZ,UAAU,EACV,kBAAkB,EAClB,cAAc,EACd,wBAAwB,EACxB,eAAe,EACf,qBAAqB,GACtB,MAAM,YAAY,CAAC;AACpB,OAAO,EACL,oBAAoB,EACpB,KAAK,sBAAsB,GAC5B,MAAM,gBAAgB,CAAC;AACxB,OAAO,EACL,kBAAkB,EAClB,yBAAyB,EACzB,wBAAwB,EACxB,yBAAyB,GAC1B,MAAM,eAAe,CAAC;AACvB,OAAO,EACL,sBAAsB,EACtB,qBAAqB,GACtB,MAAM,mBAAmB,CAAC;AAC3B,YAAY,EACV,aAAa,EACb,uBAAuB,EACvB,iBAAiB,EACjB,6BAA6B,GAC9B,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EACL,0BAA0B,GAC3B,MAAM,wBAAwB,CAAC;AAChC,YAAY,EAAE,sBAAsB,EAAE,MAAM,wBAAwB,CAAC;AACrE,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAC1C,YAAY,EAAE,cAAc,EAAE,YAAY,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAC3E,OAAO,EAAE,sBAAsB,EAAE,MAAM,cAAc,CAAC;AACtD,YAAY,EAAE,YAAY,EAAE,mBAAmB,EAAE,MAAM,cAAc,CAAC;AACtE,YAAY,EAAE,oBAAoB,EAAE,MAAM,sBAAsB,CAAC;AACjE,OAAO,EAAE,kBAAkB,EAAE,MAAM,YAAY,CAAC;AAChD,YAAY,EACV,cAAc,EACd,oBAAoB,EACpB,sBAAsB,EACtB,iCAAiC,EACjC,kCAAkC,EAClC,gCAAgC,EAChC,iCAAiC,EACjC,+BAA+B,EAC/B,uBAAuB,EACvB,kCAAkC,EAClC,wBAAwB,EACxB,6BAA6B,EAC7B,8BAA8B,EAC9B,4BAA4B,EAC5B,uBAAuB,EACvB,+BAA+B,EAC/B,8BAA8B,EAC9B,2BAA2B,EAC3B,yBAAyB,EACzB,2BAA2B,EAC3B,4BAA4B,GAC7B,MAAM,YAAY,CAAC;AACpB,OAAO,EAAE,kBAAkB,EAAE,MAAM,YAAY,CAAC;AAChD,YAAY,EAAE,iBAAiB,EAAE,oBAAoB,EAAE,MAAM,YAAY,CAAC;AAC1E,OAAO,EAAE,mBAAmB,EAAE,MAAM,cAAc,CAAC;AACnD,YAAY,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAClD,OAAO,EAAE,kBAAkB,EAAE,MAAM,iBAAiB,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/plugins/index.ts"],"names":[],"mappings":"AAUA,OAAO,EACL,oBAAoB,GAErB,MAAM,gBAAgB,CAAC;AACxB,OAAO,EACL,kBAAkB,EAClB,yBAAyB,EACzB,wBAAwB,EACxB,yBAAyB,GAC1B,MAAM,eAAe,CAAC;AACvB,OAAO,EACL,sBAAsB,EACtB,qBAAqB,GACtB,MAAM,mBAAmB,CAAC;AAO3B,OAAO,EACL,0BAA0B,GAC3B,MAAM,wBAAwB,CAAC;AAEhC,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAE1C,OAAO,EAAE,sBAAsB,EAAE,MAAM,cAAc,CAAC;AAGtD,OAAO,EAAE,kBAAkB,EAAE,MAAM,YAAY,CAAC;AAsBhD,OAAO,EAAE,kBAAkB,EAAE,MAAM,YAAY,CAAC;AAEhD,OAAO,EAAE,mBAAmB,EAAE,MAAM,cAAc,CAAC;AAEnD,OAAO,EAAE,kBAAkB,EAAE,MAAM,iBAAiB,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/plugins/index.ts"],"names":[],"mappings":"AAUA,OAAO,EACL,oBAAoB,GAErB,MAAM,gBAAgB,CAAC;AACxB,OAAO,EACL,kBAAkB,EAClB,yBAAyB,EACzB,wBAAwB,EACxB,yBAAyB,GAC1B,MAAM,eAAe,CAAC;AACvB,OAAO,EACL,sBAAsB,EACtB,qBAAqB,GACtB,MAAM,mBAAmB,CAAC;AAO3B,OAAO,EACL,0BAA0B,GAC3B,MAAM,wBAAwB,CAAC;AAEhC,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAE1C,OAAO,EAAE,sBAAsB,EAAE,MAAM,cAAc,CAAC;AAGtD,OAAO,EAAE,kBAAkB,EAAE,MAAM,YAAY,CAAC;AAwBhD,OAAO,EAAE,kBAAkB,EAAE,MAAM,YAAY,CAAC;AAEhD,OAAO,EAAE,mBAAmB,EAAE,MAAM,cAAc,CAAC;AAEnD,OAAO,EAAE,kBAAkB,EAAE,MAAM,iBAAiB,CAAC"}
@@ -0,0 +1,62 @@
1
+ import { Agent } from "@mariozechner/pi-agent-core";
2
+ import type { AgentTool } from "@mariozechner/pi-agent-core";
3
+ import { manageHistory } from "../history/index.js";
4
+ import { PluginHookRegistry, type PluginHookAgentContext } from "../plugins/hooks.js";
5
+ import type { AgentRunParams } from "../types.js";
6
+ import type { Skill } from "../skills/skills.js";
7
+ import type { SubagentRegistry } from "../subagent/registry.js";
8
+ import type { AgentRunContext } from "./run-context.js";
9
+ import { RunEventDispatcher } from "./event-dispatcher.js";
10
+ type HistoryResult = Awaited<ReturnType<typeof manageHistory>> | {
11
+ messages: [];
12
+ priorSummary: undefined;
13
+ compactionEntry: undefined;
14
+ stats: {
15
+ originalCount: number;
16
+ keptCount: number;
17
+ estimatedTokens: number;
18
+ compacted: boolean;
19
+ };
20
+ };
21
+ export type AgentRuntime = {
22
+ agent: Agent;
23
+ resolvedModelId: string;
24
+ historyMessages: unknown[];
25
+ historyResult: HistoryResult;
26
+ workspaceDir: string;
27
+ };
28
+ export type AgentRuntimeSession = {
29
+ runParams: AgentRunParams;
30
+ sessionId: string;
31
+ hookRegistry: PluginHookRegistry;
32
+ hookContext: PluginHookAgentContext;
33
+ runContext: AgentRunContext;
34
+ eventDispatcher: RunEventDispatcher;
35
+ };
36
+ export type AgentRuntimeInputs = {
37
+ contextFiles: ReturnType<typeof import("../bootstrap/bootstrap.js").buildBootstrapContextFiles>;
38
+ bootstrapWarnings: string[];
39
+ skills: Skill[];
40
+ effectivePromptText: string;
41
+ pluginTools: AgentTool[];
42
+ };
43
+ export type AgentRuntimeDependencies = {
44
+ registry: SubagentRegistry;
45
+ spawnFn: (params: AgentRunParams) => Promise<import("../types.js").AgentRunResult>;
46
+ createModel: (params: AgentRunParams["llm"], sessionId: string) => import("@mariozechner/pi-ai").Model<"openai-completions">;
47
+ abortSignal: AbortSignal;
48
+ };
49
+ /**
50
+ * Builds the runtime state needed for model execution: history restoration,
51
+ * compaction decisions, tool assembly, prompt construction, hook-driven prompt
52
+ * and model adjustments, and the final Agent instance. Callers should treat
53
+ * the result as a ready-to-run turn environment rather than reapplying any of
54
+ * these policies themselves.
55
+ */
56
+ export declare function createAgentRuntime(params: {
57
+ session: AgentRuntimeSession;
58
+ runtimeInputs: AgentRuntimeInputs;
59
+ dependencies: AgentRuntimeDependencies;
60
+ }): Promise<AgentRuntime>;
61
+ export {};
62
+ //# sourceMappingURL=agent-runtime.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"agent-runtime.d.ts","sourceRoot":"","sources":["../../src/runner/agent-runtime.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,6BAA6B,CAAC;AAEpD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,6BAA6B,CAAC;AAE7D,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAIpD,OAAO,EAAE,kBAAkB,EAAE,KAAK,sBAAsB,EAA2C,MAAM,qBAAqB,CAAC;AAG/H,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAClD,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,qBAAqB,CAAC;AACjD,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAChE,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAC;AACxD,OAAO,EAAE,kBAAkB,EAAE,MAAM,uBAAuB,CAAC;AAE3D,KAAK,aAAa,GAAG,OAAO,CAAC,UAAU,CAAC,OAAO,aAAa,CAAC,CAAC,GAAG;IAC/D,QAAQ,EAAE,EAAE,CAAC;IACb,YAAY,EAAE,SAAS,CAAC;IACxB,eAAe,EAAE,SAAS,CAAC;IAC3B,KAAK,EAAE;QAAE,aAAa,EAAE,MAAM,CAAC;QAAC,SAAS,EAAE,MAAM,CAAC;QAAC,eAAe,EAAE,MAAM,CAAC;QAAC,SAAS,EAAE,OAAO,CAAA;KAAE,CAAC;CAClG,CAAC;AAEF,MAAM,MAAM,YAAY,GAAG;IACzB,KAAK,EAAE,KAAK,CAAC;IACb,eAAe,EAAE,MAAM,CAAC;IACxB,eAAe,EAAE,OAAO,EAAE,CAAC;IAC3B,aAAa,EAAE,aAAa,CAAC;IAC7B,YAAY,EAAE,MAAM,CAAC;CACtB,CAAC;AAEF,MAAM,MAAM,mBAAmB,GAAG;IAChC,SAAS,EAAE,cAAc,CAAC;IAC1B,SAAS,EAAE,MAAM,CAAC;IAClB,YAAY,EAAE,kBAAkB,CAAC;IACjC,WAAW,EAAE,sBAAsB,CAAC;IACpC,UAAU,EAAE,eAAe,CAAC;IAC5B,eAAe,EAAE,kBAAkB,CAAC;CACrC,CAAC;AAEF,MAAM,MAAM,kBAAkB,GAAG;IAC/B,YAAY,EAAE,UAAU,CAAC,cAAc,2BAA2B,EAAE,0BAA0B,CAAC,CAAC;IAChG,iBAAiB,EAAE,MAAM,EAAE,CAAC;IAC5B,MAAM,EAAE,KAAK,EAAE,CAAC;IAChB,mBAAmB,EAAE,MAAM,CAAC;IAC5B,WAAW,EAAE,SAAS,EAAE,CAAC;CAC1B,CAAC;AAEF,MAAM,MAAM,wBAAwB,GAAG;IACrC,QAAQ,EAAE,gBAAgB,CAAC;IAC3B,OAAO,EAAE,CAAC,MAAM,EAAE,cAAc,KAAK,OAAO,CAAC,OAAO,aAAa,EAAE,cAAc,CAAC,CAAC;IACnF,WAAW,EAAE,CAAC,MAAM,EAAE,cAAc,CAAC,KAAK,CAAC,EAAE,SAAS,EAAE,MAAM,KAAK,OAAO,qBAAqB,EAAE,KAAK,CAAC,oBAAoB,CAAC,CAAC;IAC7H,WAAW,EAAE,WAAW,CAAC;CAC1B,CAAC;AAEF;;;;;;GAMG;AACH,wBAAsB,kBAAkB,CAAC,MAAM,EAAE;IAC/C,OAAO,EAAE,mBAAmB,CAAC;IAC7B,aAAa,EAAE,kBAAkB,CAAC;IAClC,YAAY,EAAE,wBAAwB,CAAC;CACxC,GAAG,OAAO,CAAC,YAAY,CAAC,CAmMxB"}
@@ -0,0 +1,179 @@
1
+ import { Agent } from "@mariozechner/pi-agent-core";
2
+ import os from "node:os";
3
+ import { loadTranscript } from "../session/session.js";
4
+ import { manageHistory } from "../history/index.js";
5
+ import { createAgentTools } from "../tools/index.js";
6
+ import { buildSystemPrompt } from "../system-prompt/builder.js";
7
+ import { wrapToolsWithHooks } from "../plugins/tool-hooks.js";
8
+ import { PluginHookRegistry } from "../plugins/hooks.js";
9
+ import { wrapToolsWithLoopDetection } from "../loop-detection/tool-loop-detection.js";
10
+ import { getLoopDetectionState } from "../loop-detection/session-state.js";
11
+ import { RunEventDispatcher } from "./event-dispatcher.js";
12
+ /**
13
+ * Builds the runtime state needed for model execution: history restoration,
14
+ * compaction decisions, tool assembly, prompt construction, hook-driven prompt
15
+ * and model adjustments, and the final Agent instance. Callers should treat
16
+ * the result as a ready-to-run turn environment rather than reapplying any of
17
+ * these policies themselves.
18
+ */
19
+ export async function createAgentRuntime(params) {
20
+ const { session: { runParams, sessionId, hookRegistry, hookContext, runContext, eventDispatcher, }, runtimeInputs: { contextFiles, bootstrapWarnings, skills, effectivePromptText, pluginTools, }, dependencies: { registry, spawnFn, createModel, abortSignal, }, } = params;
21
+ // CRON runs are intentionally stateless from the model's perspective.
22
+ const skipHistory = runParams.channel === "CRON";
23
+ const rawHistory = skipHistory ? [] : await loadTranscript(runParams.dataDir, sessionId);
24
+ await hookRegistry.dispatch("before_compaction", { messageCount: rawHistory.length }, hookContext);
25
+ const modelInfo = { model: runParams.llm.model, api: "openai-completions" };
26
+ const historyResult = skipHistory
27
+ ? {
28
+ messages: [],
29
+ priorSummary: undefined,
30
+ compactionEntry: undefined,
31
+ stats: { originalCount: 0, keptCount: 0, estimatedTokens: 0, compacted: false },
32
+ }
33
+ : await manageHistory({
34
+ entries: rawHistory,
35
+ modelInfo,
36
+ contextWindowTokens: runParams.llm.contextWindow ?? 200_000,
37
+ llm: {
38
+ baseUrl: runParams.llm.baseUrl,
39
+ apiKey: runParams.llm.apiKey,
40
+ model: runParams.llm.model,
41
+ },
42
+ historyLimit: runParams.historyLimit,
43
+ compactionEnabled: true,
44
+ signal: abortSignal,
45
+ hooks: hookRegistry,
46
+ hookCtx: hookContext,
47
+ });
48
+ await applyCompactionResult({
49
+ sessionId,
50
+ historyResult,
51
+ runContext,
52
+ eventDispatcher,
53
+ hookRegistry,
54
+ hookContext,
55
+ });
56
+ // Tool and prompt policy both depend on whether this run is nested.
57
+ const depth = runParams.subagentContext?.depth ?? 0;
58
+ const baseTools = createAgentTools(runParams.dataDir, {
59
+ registry,
60
+ parentSessionId: sessionId,
61
+ depth,
62
+ channel: runParams.channel,
63
+ llm: runParams.llm,
64
+ loopDetection: runParams.loopDetection,
65
+ memoryOptions: {
66
+ providerId: runContext.memoryProviderId,
67
+ pluginId: runContext.memoryPluginId,
68
+ sessionId,
69
+ onMemoryChanged: async () => { },
70
+ },
71
+ spawnFn,
72
+ });
73
+ const rawTools = [...baseTools, ...pluginTools];
74
+ const toolNames = rawTools
75
+ .map((tool) => (typeof tool.name === "string" ? tool.name.trim() : ""))
76
+ .filter(Boolean);
77
+ const toolSummaries = {};
78
+ for (const tool of rawTools) {
79
+ const name = typeof tool.name === "string" ? tool.name.trim() : "";
80
+ const description = typeof tool.description === "string" ? tool.description.trim() : "";
81
+ if (!name || !description || toolSummaries[name])
82
+ continue;
83
+ toolSummaries[name] = description;
84
+ }
85
+ const messagingEnabled = runParams.messaging?.enabled ?? runParams.channel !== "CRON";
86
+ const messagingChannels = runParams.messaging?.channels && runParams.messaging.channels.length > 0
87
+ ? runParams.messaging.channels
88
+ : [runParams.channel];
89
+ let systemPrompt = buildSystemPrompt({
90
+ dataDir: runParams.dataDir,
91
+ skills,
92
+ contextFiles,
93
+ toolNames,
94
+ toolSummaries,
95
+ promptMode: depth > 0 ? "minimal" : "full",
96
+ bootstrapWarnings,
97
+ memoryCitationsMode: runParams.memory?.citationsMode ?? "off",
98
+ messaging: {
99
+ enabled: messagingEnabled,
100
+ channels: messagingChannels,
101
+ },
102
+ docs: {
103
+ localPath: runParams.docs?.localPath,
104
+ webUrl: runParams.docs?.webUrl,
105
+ sourceUrl: runParams.docs?.sourceUrl,
106
+ },
107
+ sandboxInfo: {
108
+ enabled: true,
109
+ hostWorkspaceDir: runContext.workspaceDir,
110
+ containerWorkspaceDir: runContext.workspaceDir,
111
+ },
112
+ runtimeInfo: {
113
+ os: process.platform,
114
+ node: process.version,
115
+ model: runParams.llm.model,
116
+ hostname: os.hostname(),
117
+ },
118
+ currentDate: new Date().toISOString().split("T")[0],
119
+ priorConversationSummary: historyResult.priorSummary,
120
+ });
121
+ // Prompt hooks can prepend context or fully replace the generated prompt.
122
+ const beforePromptResults = await hookRegistry.dispatch("before_prompt_build", { prompt: effectivePromptText }, hookContext);
123
+ for (const result of beforePromptResults) {
124
+ if (!result)
125
+ continue;
126
+ if (result.systemPrompt) {
127
+ systemPrompt = result.systemPrompt;
128
+ }
129
+ if (result.prependContext) {
130
+ systemPrompt = `${result.prependContext}\n\n${systemPrompt}`;
131
+ }
132
+ }
133
+ await hookRegistry.dispatch("after_prompt_build", { prompt: effectivePromptText, systemPrompt }, hookContext);
134
+ // Hook wrapping happens before loop detection so plugin hooks observe the
135
+ // same tool calls the runtime ultimately executes.
136
+ const toolsWithHooks = wrapToolsWithHooks(rawTools, hookRegistry, hookContext);
137
+ const tools = wrapToolsWithLoopDetection(toolsWithHooks, { sessionId, config: runParams.loopDetection }, getLoopDetectionState);
138
+ // Model selection is finalized after prompt construction so hooks can make
139
+ // prompt-aware routing decisions.
140
+ let resolvedModelId = runParams.llm.model;
141
+ const beforeModelResults = await hookRegistry.dispatch("before_model_resolve", { prompt: effectivePromptText }, hookContext);
142
+ for (const result of beforeModelResults) {
143
+ if (result && result.modelOverride) {
144
+ resolvedModelId = result.modelOverride;
145
+ }
146
+ }
147
+ const model = createModel({ ...runParams.llm, model: resolvedModelId }, sessionId);
148
+ const agent = new Agent({
149
+ initialState: { systemPrompt, model, tools, messages: [] },
150
+ getApiKey: (_provider) => runParams.llm.apiKey,
151
+ });
152
+ if (historyResult.messages.length > 0) {
153
+ agent.replaceMessages(historyResult.messages);
154
+ }
155
+ return {
156
+ agent,
157
+ resolvedModelId,
158
+ historyMessages: historyResult.messages,
159
+ historyResult,
160
+ workspaceDir: runContext.workspaceDir,
161
+ };
162
+ }
163
+ async function applyCompactionResult(params) {
164
+ const { sessionId, historyResult, runContext, eventDispatcher, hookRegistry, hookContext } = params;
165
+ if (!historyResult.compactionEntry) {
166
+ return;
167
+ }
168
+ const compactedCount = historyResult.stats.originalCount - historyResult.stats.keptCount;
169
+ await runContext.appendTranscriptEntry(historyResult.compactionEntry);
170
+ await eventDispatcher.dispatchProgress(sessionId, {
171
+ type: "compaction",
172
+ reason: `Summarised ${compactedCount} older entries`,
173
+ });
174
+ await hookRegistry.dispatch("after_compaction", {
175
+ messageCount: historyResult.stats.originalCount,
176
+ compactedCount,
177
+ }, hookContext);
178
+ }
179
+ //# sourceMappingURL=agent-runtime.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"agent-runtime.js","sourceRoot":"","sources":["../../src/runner/agent-runtime.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,41 @@
1
+ import type { Agent } from "@mariozechner/pi-agent-core";
2
+ import type { AgentRunParams, AssistantEntry, ToolResultEntry } from "../types.js";
3
+ import type { PluginHookRegistry } from "../plugins/hooks.js";
4
+ import type { SubagentRegistry } from "../subagent/registry.js";
5
+ import { RunEventDispatcher } from "./event-dispatcher.js";
6
+ import { SkillUsageTracker } from "./skill-usage.js";
7
+ /**
8
+ * Feeds completed subagent results back into the parent agent until no more
9
+ * announcements are pending or the safety cap is reached. This keeps the
10
+ * multi-agent follow-up protocol out of the main runner loop.
11
+ */
12
+ export declare function runAnnounceLoop(params: {
13
+ agent: Agent;
14
+ registry: SubagentRegistry;
15
+ sessionId: string;
16
+ resolvedModelId: string;
17
+ eventDispatcher: RunEventDispatcher;
18
+ skillUsageTracker: SkillUsageTracker;
19
+ hookRegistry: PluginHookRegistry;
20
+ hookContext: {
21
+ sessionId?: string;
22
+ workspaceDir?: string;
23
+ channel?: AgentRunParams["channel"];
24
+ };
25
+ abortSignal?: AbortSignal;
26
+ appendEntry: (entry: AssistantEntry | ToolResultEntry | {
27
+ role: "assistant";
28
+ content: string;
29
+ timestamp: string;
30
+ } | {
31
+ role: "user";
32
+ content: string;
33
+ timestamp: string;
34
+ }) => Promise<void>;
35
+ }): Promise<{
36
+ text: string;
37
+ inputTokens: number;
38
+ outputTokens: number;
39
+ error?: string;
40
+ }>;
41
+ //# sourceMappingURL=announce-loop.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"announce-loop.d.ts","sourceRoot":"","sources":["../../src/runner/announce-loop.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,6BAA6B,CAAC;AAEzD,OAAO,KAAK,EAAE,cAAc,EAAE,cAAc,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AACnF,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,qBAAqB,CAAC;AAC9D,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAGhE,OAAO,EAAE,kBAAkB,EAAE,MAAM,uBAAuB,CAAC;AAC3D,OAAO,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AAKrD;;;;GAIG;AACH,wBAAsB,eAAe,CAAC,MAAM,EAAE;IAC5C,KAAK,EAAE,KAAK,CAAC;IACb,QAAQ,EAAE,gBAAgB,CAAC;IAC3B,SAAS,EAAE,MAAM,CAAC;IAClB,eAAe,EAAE,MAAM,CAAC;IACxB,eAAe,EAAE,kBAAkB,CAAC;IACpC,iBAAiB,EAAE,iBAAiB,CAAC;IACrC,YAAY,EAAE,kBAAkB,CAAC;IACjC,WAAW,EAAE;QAAE,SAAS,CAAC,EAAE,MAAM,CAAC;QAAC,YAAY,CAAC,EAAE,MAAM,CAAC;QAAC,OAAO,CAAC,EAAE,cAAc,CAAC,SAAS,CAAC,CAAA;KAAE,CAAC;IAChG,WAAW,CAAC,EAAE,WAAW,CAAC;IAC1B,WAAW,EAAE,CACX,KAAK,EACD,cAAc,GACd,eAAe,GACf;QAAE,IAAI,EAAE,WAAW,CAAC;QAAC,OAAO,EAAE,MAAM,CAAC;QAAC,SAAS,EAAE,MAAM,CAAA;KAAE,GACzD;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAC;QAAC,SAAS,EAAE,MAAM,CAAA;KAAE,KACrD,OAAO,CAAC,IAAI,CAAC,CAAC;CACpB,GAAG,OAAO,CAAC;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,WAAW,EAAE,MAAM,CAAC;IAAC,YAAY,EAAE,MAAM,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC,CAkFvF"}
@@ -0,0 +1,94 @@
1
+ import { buildSubagentAnnounceMessage } from "../tools/subagent-spawn.js";
2
+ import { RunEventDispatcher } from "./event-dispatcher.js";
3
+ import { SkillUsageTracker } from "./skill-usage.js";
4
+ import { executeAgentTurn, persistTurnEntriesWithWriter } from "./turn-executor.js";
5
+ const MAX_ANNOUNCE_ROUNDS = 10;
6
+ /**
7
+ * Feeds completed subagent results back into the parent agent until no more
8
+ * announcements are pending or the safety cap is reached. This keeps the
9
+ * multi-agent follow-up protocol out of the main runner loop.
10
+ */
11
+ export async function runAnnounceLoop(params) {
12
+ const { agent, registry, sessionId, resolvedModelId, eventDispatcher, skillUsageTracker, hookRegistry, hookContext, abortSignal, appendEntry, } = params;
13
+ let announceRound = 0;
14
+ let lastResponseText = "";
15
+ let totalInputTokens = 0;
16
+ let totalOutputTokens = 0;
17
+ let runError;
18
+ // Multiple child runs may complete between turns, so announce them in
19
+ // batches to minimize extra parent turns.
20
+ while (!abortSignal?.aborted &&
21
+ registry.needsAnnounce(sessionId) &&
22
+ announceRound < MAX_ANNOUNCE_ROUNDS) {
23
+ announceRound++;
24
+ await registry.waitForAll(sessionId);
25
+ const completed = registry.consumeCompleted(sessionId);
26
+ if (completed.length === 0) {
27
+ break;
28
+ }
29
+ for (const record of completed) {
30
+ await eventDispatcher.dispatchProgress(sessionId, {
31
+ type: "subagent_complete",
32
+ childSessionId: record.childSessionId,
33
+ task: record.task,
34
+ status: record.status,
35
+ });
36
+ }
37
+ const announceMsg = buildBatchAnnounceMessage(completed);
38
+ await appendEntry({
39
+ role: "user",
40
+ content: announceMsg,
41
+ timestamp: new Date().toISOString(),
42
+ });
43
+ const announceTurn = await executeAgentTurn({
44
+ agent,
45
+ message: announceMsg,
46
+ sessionId,
47
+ modelId: resolvedModelId,
48
+ historyMessages: [],
49
+ eventDispatcher,
50
+ skillUsageTracker,
51
+ hooks: hookRegistry,
52
+ hookCtx: hookContext,
53
+ abortSignal,
54
+ });
55
+ lastResponseText = announceTurn.text;
56
+ totalInputTokens += announceTurn.inputTokens;
57
+ totalOutputTokens += announceTurn.outputTokens;
58
+ if (announceTurn.error && !runError) {
59
+ runError = announceTurn.error;
60
+ }
61
+ await persistTurnEntriesWithWriter(appendEntry, announceTurn);
62
+ }
63
+ return {
64
+ text: lastResponseText,
65
+ inputTokens: totalInputTokens,
66
+ outputTokens: totalOutputTokens,
67
+ error: runError,
68
+ };
69
+ }
70
+ /**
71
+ * Preserves the single-subagent announce format while still supporting a
72
+ * batched representation when several children finish together.
73
+ */
74
+ function buildBatchAnnounceMessage(completed) {
75
+ if (completed.length === 1) {
76
+ const r = completed[0];
77
+ return buildSubagentAnnounceMessage({
78
+ task: r.task,
79
+ label: r.label,
80
+ status: r.status,
81
+ result: r.result,
82
+ error: r.error,
83
+ });
84
+ }
85
+ const parts = completed.map((r) => buildSubagentAnnounceMessage({
86
+ task: r.task,
87
+ label: r.label,
88
+ status: r.status,
89
+ result: r.result,
90
+ error: r.error,
91
+ }));
92
+ return `[${completed.length} subagents completed]\n\n${parts.join("\n\n---\n\n")}`;
93
+ }
94
+ //# sourceMappingURL=announce-loop.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"announce-loop.js","sourceRoot":"","sources":["../../src/runner/announce-loop.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,4BAA4B,EAAE,MAAM,4BAA4B,CAAC;AAC1E,OAAO,EAAE,kBAAkB,EAAE,MAAM,uBAAuB,CAAC;AAC3D,OAAO,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AACrD,OAAO,EAAE,gBAAgB,EAAE,4BAA4B,EAAE,MAAM,oBAAoB,CAAC;AAEpF,MAAM,mBAAmB,GAAG,EAAE,CAAC;AAE/B;;;;GAIG;AACH,MAAM,CAAC,KAAK,UAAU,eAAe,CAAC,MAiBrC;IACC,MAAM,EACJ,KAAK,EACL,QAAQ,EACR,SAAS,EACT,eAAe,EACf,eAAe,EACf,iBAAiB,EACjB,YAAY,EACZ,WAAW,EACX,WAAW,EACX,WAAW,GACZ,GAAG,MAAM,CAAC;IAEX,IAAI,aAAa,GAAG,CAAC,CAAC;IACtB,IAAI,gBAAgB,GAAG,EAAE,CAAC;IAC1B,IAAI,gBAAgB,GAAG,CAAC,CAAC;IACzB,IAAI,iBAAiB,GAAG,CAAC,CAAC;IAC1B,IAAI,QAA4B,CAAC;IAEjC,sEAAsE;IACtE,0CAA0C;IAC1C,OACE,CAAC,WAAW,EAAE,OAAO;QACrB,QAAQ,CAAC,aAAa,CAAC,SAAS,CAAC;QACjC,aAAa,GAAG,mBAAmB,EACnC,CAAC;QACD,aAAa,EAAE,CAAC;QAEhB,MAAM,QAAQ,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC;QACrC,MAAM,SAAS,GAAG,QAAQ,CAAC,gBAAgB,CAAC,SAAS,CAAC,CAAC;QACvD,IAAI,SAAS,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAC3B,MAAM;QACR,CAAC;QAED,KAAK,MAAM,MAAM,IAAI,SAAS,EAAE,CAAC;YAC/B,MAAM,eAAe,CAAC,gBAAgB,CACpC,SAAS,EACT;gBACE,IAAI,EAAE,mBAAmB;gBACzB,cAAc,EAAE,MAAM,CAAC,cAAc;gBACrC,IAAI,EAAE,MAAM,CAAC,IAAI;gBACjB,MAAM,EAAE,MAAM,CAAC,MAAqC;aACrD,CACF,CAAC;QACJ,CAAC;QAED,MAAM,WAAW,GAAG,yBAAyB,CAAC,SAAS,CAAC,CAAC;QACzD,MAAM,WAAW,CAAC;YAChB,IAAI,EAAE,MAAM;YACZ,OAAO,EAAE,WAAW;YACpB,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;SACpC,CAAC,CAAC;QAEH,MAAM,YAAY,GAAG,MAAM,gBAAgB,CAAC;YAC1C,KAAK;YACL,OAAO,EAAE,WAAW;YACpB,SAAS;YACT,OAAO,EAAE,eAAe;YACxB,eAAe,EAAE,EAAE;YACnB,eAAe;YACf,iBAAiB;YACjB,KAAK,EAAE,YAAY;YACnB,OAAO,EAAE,WAAW;YACpB,WAAW;SACZ,CAAC,CAAC;QACH,gBAAgB,GAAG,YAAY,CAAC,IAAI,CAAC;QACrC,gBAAgB,IAAI,YAAY,CAAC,WAAW,CAAC;QAC7C,iBAAiB,IAAI,YAAY,CAAC,YAAY,CAAC;QAC/C,IAAI,YAAY,CAAC,KAAK,IAAI,CAAC,QAAQ,EAAE,CAAC;YACpC,QAAQ,GAAG,YAAY,CAAC,KAAK,CAAC;QAChC,CAAC;QAED,MAAM,4BAA4B,CAAC,WAAW,EAAE,YAAY,CAAC,CAAC;IAChE,CAAC;IAED,OAAO;QACL,IAAI,EAAE,gBAAgB;QACtB,WAAW,EAAE,gBAAgB;QAC7B,YAAY,EAAE,iBAAiB;QAC/B,KAAK,EAAE,QAAQ;KAChB,CAAC;AACJ,CAAC;AAED;;;GAGG;AACH,SAAS,yBAAyB,CAAC,SAA8B;IAC/D,IAAI,SAAS,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC3B,MAAM,CAAC,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC;QACvB,OAAO,4BAA4B,CAAC;YAClC,IAAI,EAAE,CAAC,CAAC,IAAI;YACZ,KAAK,EAAE,CAAC,CAAC,KAAK;YACd,MAAM,EAAE,CAAC,CAAC,MAAqC;YAC/C,MAAM,EAAE,CAAC,CAAC,MAAM;YAChB,KAAK,EAAE,CAAC,CAAC,KAAK;SACf,CAAC,CAAC;IACL,CAAC;IAED,MAAM,KAAK,GAAG,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAChC,4BAA4B,CAAC;QAC3B,IAAI,EAAE,CAAC,CAAC,IAAI;QACZ,KAAK,EAAE,CAAC,CAAC,KAAK;QACd,MAAM,EAAE,CAAC,CAAC,MAAqC;QAC/C,MAAM,EAAE,CAAC,CAAC,MAAM;QAChB,KAAK,EAAE,CAAC,CAAC,KAAK;KACf,CAAC,CACH,CAAC;IACF,OAAO,IAAI,SAAS,CAAC,MAAM,4BAA4B,KAAK,CAAC,IAAI,CAAC,aAAa,CAAC,EAAE,CAAC;AACrF,CAAC"}
@@ -0,0 +1,31 @@
1
+ import type { AgentRunParams, AgentProgressEvent, CallbackPayload } from "../types.js";
2
+ type EventDispatchParams = Pick<AgentRunParams, "onProgress" | "callbackUrl" | "messageId" | "channel">;
3
+ type RunDoneResult = {
4
+ text: string;
5
+ usage: {
6
+ input: number;
7
+ output: number;
8
+ total: number;
9
+ };
10
+ durationMs: number;
11
+ };
12
+ /**
13
+ * Emits runner events to in-process listeners and optional HTTP callbacks.
14
+ * Callback failures are intentionally ignored so they do not interrupt the run.
15
+ */
16
+ export declare class RunEventDispatcher {
17
+ private readonly params;
18
+ constructor(params: EventDispatchParams);
19
+ sendCallback(url: string, payload: CallbackPayload): Promise<void>;
20
+ dispatchProgress(sessionId: string, event: AgentProgressEvent): Promise<void>;
21
+ dispatchStart(sessionId: string, message: string): Promise<void>;
22
+ dispatchDone(sessionId: string, result: RunDoneResult): Promise<void>;
23
+ dispatchError(sessionId: string, message: string): Promise<void>;
24
+ dispatchSessionReset(sessionId: string, payload: {
25
+ action: "new" | "reset";
26
+ previousSessionId?: string;
27
+ message: string;
28
+ }): Promise<void>;
29
+ }
30
+ export {};
31
+ //# sourceMappingURL=event-dispatcher.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"event-dispatcher.d.ts","sourceRoot":"","sources":["../../src/runner/event-dispatcher.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,kBAAkB,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAEvF,KAAK,mBAAmB,GAAG,IAAI,CAAC,cAAc,EAAE,YAAY,GAAG,aAAa,GAAG,WAAW,GAAG,SAAS,CAAC,CAAC;AACxG,KAAK,aAAa,GAAG;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,CAAC;IAAC,UAAU,EAAE,MAAM,CAAA;CAAE,CAAC;AAEnH;;;GAGG;AACH,qBAAa,kBAAkB;IACjB,OAAO,CAAC,QAAQ,CAAC,MAAM;gBAAN,MAAM,EAAE,mBAAmB;IAElD,YAAY,CAAC,GAAG,EAAE,MAAM,EAAE,OAAO,EAAE,eAAe,GAAG,OAAO,CAAC,IAAI,CAAC;IAYlE,gBAAgB,CAAC,SAAS,EAAE,MAAM,EAAE,KAAK,EAAE,kBAAkB,GAAG,OAAO,CAAC,IAAI,CAAC;IAiB7E,aAAa,CAAC,SAAS,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAchE,YAAY,CAChB,SAAS,EAAE,MAAM,EACjB,MAAM,EAAE,aAAa,GACpB,OAAO,CAAC,IAAI,CAAC;IAcV,aAAa,CAAC,SAAS,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAchE,oBAAoB,CACxB,SAAS,EAAE,MAAM,EACjB,OAAO,EAAE;QAAE,MAAM,EAAE,KAAK,GAAG,OAAO,CAAC;QAAC,iBAAiB,CAAC,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAE,GAChF,OAAO,CAAC,IAAI,CAAC;CAejB"}