@keyou007/agent-bot 0.1.18 → 0.1.19-alpha.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (63) hide show
  1. package/CHANGELOG.md +11 -0
  2. package/README.md +3 -0
  3. package/README.zh.md +3 -0
  4. package/dist/cli/controlProtocol.js.map +1 -1
  5. package/dist/cli/help.js +2 -0
  6. package/dist/cli/help.js.map +1 -1
  7. package/dist/cli.js +20 -0
  8. package/dist/cli.js.map +1 -1
  9. package/dist/codex/CodexProcessManager.js +48 -0
  10. package/dist/codex/CodexProcessManager.js.map +1 -1
  11. package/dist/codex/CodexRuntime.js +43 -5
  12. package/dist/codex/CodexRuntime.js.map +1 -1
  13. package/dist/codex/ThreadWriterProcess.js +344 -0
  14. package/dist/codex/ThreadWriterProcess.js.map +1 -0
  15. package/dist/commands/CommandRouter.js +5 -0
  16. package/dist/commands/CommandRouter.js.map +1 -1
  17. package/dist/console/ConsoleTurnPresenter.js +1 -0
  18. package/dist/console/ConsoleTurnPresenter.js.map +1 -1
  19. package/dist/feishu/CardRenderer.js +166 -0
  20. package/dist/feishu/CardRenderer.js.map +1 -1
  21. package/dist/feishu/FeishuTurnPresenter.js +13 -3
  22. package/dist/feishu/FeishuTurnPresenter.js.map +1 -1
  23. package/dist/feishu/MergedForwardMessage.js +6 -1
  24. package/dist/feishu/MergedForwardMessage.js.map +1 -1
  25. package/dist/index.js +4 -2
  26. package/dist/index.js.map +1 -1
  27. package/dist/logging/errorLogValue.js +18 -0
  28. package/dist/logging/errorLogValue.js.map +1 -0
  29. package/dist/logging/logger.js +4 -0
  30. package/dist/logging/logger.js.map +1 -1
  31. package/dist/presentation/OutboundRouter.js +2 -2
  32. package/dist/presentation/OutboundRouter.js.map +1 -1
  33. package/dist/proxy/ProxySessionController.js +778 -19
  34. package/dist/proxy/ProxySessionController.js.map +1 -1
  35. package/dist/state/StateStore.js +10 -0
  36. package/dist/state/StateStore.js.map +1 -1
  37. package/dist/supervision/SafeRestartScheduler.js +1 -1
  38. package/dist/supervision/SafeRestartScheduler.js.map +1 -1
  39. package/docs/technical-reference.md +1 -1
  40. package/docs/technical-reference.zh.md +1 -1
  41. package/npm-shrinkwrap.json +2 -2
  42. package/package.json +1 -1
  43. package/skills/agent-bot/SKILL.md +3 -0
  44. package/src/cli/controlProtocol.ts +8 -0
  45. package/src/cli/help.ts +2 -0
  46. package/src/cli.ts +33 -0
  47. package/src/codex/CodexProcessManager.ts +43 -0
  48. package/src/codex/CodexRuntime.ts +41 -4
  49. package/src/codex/ThreadWriterProcess.ts +385 -0
  50. package/src/commands/CommandRouter.ts +4 -0
  51. package/src/commands/commandTypes.ts +1 -0
  52. package/src/console/ConsoleTurnPresenter.ts +2 -1
  53. package/src/feishu/CardRenderer.ts +205 -0
  54. package/src/feishu/FeishuTurnPresenter.ts +16 -3
  55. package/src/feishu/MergedForwardMessage.ts +5 -1
  56. package/src/index.ts +4 -2
  57. package/src/logging/errorLogValue.ts +26 -0
  58. package/src/logging/logger.ts +4 -0
  59. package/src/presentation/OutboundRouter.ts +15 -3
  60. package/src/proxy/ProxySessionController.ts +1003 -30
  61. package/src/runtime/types.ts +7 -0
  62. package/src/state/StateStore.ts +11 -0
  63. package/src/supervision/SafeRestartScheduler.ts +1 -1
@@ -209,6 +209,11 @@ export interface RuntimeExecutionSettings {
209
209
  permissionMode: PermissionMode;
210
210
  }
211
211
 
212
+ export interface RuntimeReleaseResult {
213
+ status: "released" | "busy";
214
+ activeSessionIds?: string[];
215
+ }
216
+
212
217
  export interface ReasoningEffortOption {
213
218
  value: string;
214
219
  description?: string;
@@ -217,6 +222,7 @@ export interface ReasoningEffortOption {
217
222
  export interface AgentRuntime {
218
223
  readonly kind: RuntimeKind;
219
224
  getProcessInfo?(): AgentProcessInfo;
225
+ getThreadWriterLockPath?(remoteSessionId: string): string | undefined;
220
226
  createSession(input: CreateRuntimeSessionInput): Promise<RuntimeSession>;
221
227
  resumeSession(input: ResumeRuntimeSessionInput): Promise<RuntimeSession>;
222
228
  forkSession?(input: ForkRuntimeSessionInput): Promise<RuntimeSession>;
@@ -243,6 +249,7 @@ export interface AgentRuntime {
243
249
  respondToApproval(sessionId: string, requestId: string, decision: ApprovalDecision): Promise<void>;
244
250
  listModels(): Promise<ModelOption[]>;
245
251
  listModelProviders?(): Promise<ModelProviderOption[]>;
252
+ release?(options?: { force?: boolean }): Promise<RuntimeReleaseResult>;
246
253
  onEvent(listener: (event: RuntimeEvent) => void): () => void;
247
254
  close(): void;
248
255
  }
@@ -1741,6 +1741,17 @@ export class StateStore {
1741
1741
  .run(contextKey, eventType, JSON.stringify(payload), new Date().toISOString());
1742
1742
  }
1743
1743
 
1744
+ hasInjectedTopicRoot(localSessionId: string, rootMessageId: string): boolean {
1745
+ return Boolean(this.db.prepare(`
1746
+ SELECT 1
1747
+ FROM audit_events
1748
+ WHERE event_type = 'topic_root_injected'
1749
+ AND json_extract(payload_json, '$.localSessionId') = ?
1750
+ AND json_extract(payload_json, '$.rootMessageId') = ?
1751
+ LIMIT 1
1752
+ `).get(localSessionId, rootMessageId));
1753
+ }
1754
+
1744
1755
  claimInboundEvent(eventId: string, eventKind: "message" | "card_action"): boolean {
1745
1756
  const result = this.db
1746
1757
  .prepare(
@@ -140,7 +140,7 @@ export class SafeRestartScheduler {
140
140
  await this.restart(reason, scheduleId, state);
141
141
  return;
142
142
  }
143
- const quietPeriodMs = this.options.quietPeriodMs ?? 15_000;
143
+ const quietPeriodMs = this.options.quietPeriodMs ?? 5_000;
144
144
  const latestInboundAt = state.latestInboundAt ?? "";
145
145
  if (this.idleSince === undefined || this.idleInboundAt !== latestInboundAt) {
146
146
  this.idleSince = Date.now();