aibroker 0.5.1 → 0.6.2

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 (133) hide show
  1. package/README.md +263 -104
  2. package/dist/adapters/iterm/iterm2-api.d.ts +20 -0
  3. package/dist/adapters/iterm/iterm2-api.d.ts.map +1 -0
  4. package/dist/adapters/iterm/iterm2-api.js +244 -0
  5. package/dist/adapters/iterm/iterm2-api.js.map +1 -0
  6. package/dist/adapters/iterm/sessions.d.ts +1 -0
  7. package/dist/adapters/iterm/sessions.d.ts.map +1 -1
  8. package/dist/adapters/iterm/sessions.js +26 -2
  9. package/dist/adapters/iterm/sessions.js.map +1 -1
  10. package/dist/adapters/kokoro/media.js +2 -2
  11. package/dist/adapters/kokoro/media.js.map +1 -1
  12. package/dist/adapters/pailot/gateway.d.ts +5 -6
  13. package/dist/adapters/pailot/gateway.d.ts.map +1 -1
  14. package/dist/adapters/pailot/gateway.js +575 -34
  15. package/dist/adapters/pailot/gateway.js.map +1 -1
  16. package/dist/aibp/bridge.d.ts +123 -0
  17. package/dist/aibp/bridge.d.ts.map +1 -0
  18. package/dist/aibp/bridge.js +363 -0
  19. package/dist/aibp/bridge.js.map +1 -0
  20. package/dist/aibp/envelope.d.ts +26 -0
  21. package/dist/aibp/envelope.d.ts.map +1 -0
  22. package/dist/aibp/envelope.js +101 -0
  23. package/dist/aibp/envelope.js.map +1 -0
  24. package/dist/aibp/index.d.ts +11 -0
  25. package/dist/aibp/index.d.ts.map +1 -0
  26. package/dist/aibp/index.js +10 -0
  27. package/dist/aibp/index.js.map +1 -0
  28. package/dist/aibp/registry.d.ts +71 -0
  29. package/dist/aibp/registry.d.ts.map +1 -0
  30. package/dist/aibp/registry.js +408 -0
  31. package/dist/aibp/registry.js.map +1 -0
  32. package/dist/aibp/types.d.ts +91 -0
  33. package/dist/aibp/types.d.ts.map +1 -0
  34. package/dist/aibp/types.js +8 -0
  35. package/dist/aibp/types.js.map +1 -0
  36. package/dist/core/hybrid.d.ts +2 -0
  37. package/dist/core/hybrid.d.ts.map +1 -1
  38. package/dist/core/hybrid.js +8 -0
  39. package/dist/core/hybrid.js.map +1 -1
  40. package/dist/core/state.d.ts +12 -0
  41. package/dist/core/state.d.ts.map +1 -1
  42. package/dist/core/state.js +34 -0
  43. package/dist/core/state.js.map +1 -1
  44. package/dist/core/status-cache.d.ts +51 -0
  45. package/dist/core/status-cache.d.ts.map +1 -0
  46. package/dist/core/status-cache.js +62 -0
  47. package/dist/core/status-cache.js.map +1 -0
  48. package/dist/daemon/adapter-registry.d.ts +5 -0
  49. package/dist/daemon/adapter-registry.d.ts.map +1 -1
  50. package/dist/daemon/adapter-registry.js +94 -4
  51. package/dist/daemon/adapter-registry.js.map +1 -1
  52. package/dist/daemon/cli.d.ts +1 -0
  53. package/dist/daemon/cli.d.ts.map +1 -1
  54. package/dist/daemon/cli.js +95 -3
  55. package/dist/daemon/cli.js.map +1 -1
  56. package/dist/daemon/command-context.d.ts +28 -0
  57. package/dist/daemon/command-context.d.ts.map +1 -0
  58. package/dist/daemon/command-context.js +13 -0
  59. package/dist/daemon/command-context.js.map +1 -0
  60. package/dist/daemon/commands.d.ts +22 -0
  61. package/dist/daemon/commands.d.ts.map +1 -0
  62. package/dist/daemon/commands.js +849 -0
  63. package/dist/daemon/commands.js.map +1 -0
  64. package/dist/daemon/core-handlers.d.ts.map +1 -1
  65. package/dist/daemon/core-handlers.js +758 -3
  66. package/dist/daemon/core-handlers.js.map +1 -1
  67. package/dist/daemon/create-adapter.js +2 -1
  68. package/dist/daemon/create-adapter.js.map +1 -1
  69. package/dist/daemon/image-context.d.ts +56 -0
  70. package/dist/daemon/image-context.d.ts.map +1 -0
  71. package/dist/daemon/image-context.js +116 -0
  72. package/dist/daemon/image-context.js.map +1 -0
  73. package/dist/daemon/image-gen/index.d.ts +22 -0
  74. package/dist/daemon/image-gen/index.d.ts.map +1 -0
  75. package/dist/daemon/image-gen/index.js +129 -0
  76. package/dist/daemon/image-gen/index.js.map +1 -0
  77. package/dist/daemon/image-gen/providers/cloudflare.d.ts +13 -0
  78. package/dist/daemon/image-gen/providers/cloudflare.d.ts.map +1 -0
  79. package/dist/daemon/image-gen/providers/cloudflare.js +63 -0
  80. package/dist/daemon/image-gen/providers/cloudflare.js.map +1 -0
  81. package/dist/daemon/image-gen/providers/huggingface.d.ts +12 -0
  82. package/dist/daemon/image-gen/providers/huggingface.d.ts.map +1 -0
  83. package/dist/daemon/image-gen/providers/huggingface.js +58 -0
  84. package/dist/daemon/image-gen/providers/huggingface.js.map +1 -0
  85. package/dist/daemon/image-gen/providers/pollinations.d.ts +11 -0
  86. package/dist/daemon/image-gen/providers/pollinations.d.ts.map +1 -0
  87. package/dist/daemon/image-gen/providers/pollinations.js +39 -0
  88. package/dist/daemon/image-gen/providers/pollinations.js.map +1 -0
  89. package/dist/daemon/image-gen/providers/replicate.d.ts +9 -0
  90. package/dist/daemon/image-gen/providers/replicate.d.ts.map +1 -0
  91. package/dist/daemon/image-gen/providers/replicate.js +158 -0
  92. package/dist/daemon/image-gen/providers/replicate.js.map +1 -0
  93. package/dist/daemon/image-gen/types.d.ts +41 -0
  94. package/dist/daemon/image-gen/types.d.ts.map +1 -0
  95. package/dist/daemon/image-gen/types.js +5 -0
  96. package/dist/daemon/image-gen/types.js.map +1 -0
  97. package/dist/daemon/index.d.ts.map +1 -1
  98. package/dist/daemon/index.js +260 -6
  99. package/dist/daemon/index.js.map +1 -1
  100. package/dist/daemon/screenshot.d.ts +12 -0
  101. package/dist/daemon/screenshot.d.ts.map +1 -0
  102. package/dist/daemon/screenshot.js +252 -0
  103. package/dist/daemon/screenshot.js.map +1 -0
  104. package/dist/daemon/session-content.d.ts +27 -0
  105. package/dist/daemon/session-content.d.ts.map +1 -0
  106. package/dist/daemon/session-content.js +76 -0
  107. package/dist/daemon/session-content.js.map +1 -0
  108. package/dist/daemon/vision.d.ts +46 -0
  109. package/dist/daemon/vision.d.ts.map +1 -0
  110. package/dist/daemon/vision.js +176 -0
  111. package/dist/daemon/vision.js.map +1 -0
  112. package/dist/index.d.ts +6 -1
  113. package/dist/index.d.ts.map +1 -1
  114. package/dist/index.js +4 -1
  115. package/dist/index.js.map +1 -1
  116. package/dist/ipc/validate.d.ts +52 -0
  117. package/dist/ipc/validate.d.ts.map +1 -0
  118. package/dist/ipc/validate.js +129 -0
  119. package/dist/ipc/validate.js.map +1 -0
  120. package/dist/mcp/index.d.ts +23 -0
  121. package/dist/mcp/index.d.ts.map +1 -0
  122. package/dist/mcp/index.js +787 -0
  123. package/dist/mcp/index.js.map +1 -0
  124. package/dist/types/broker.d.ts +3 -1
  125. package/dist/types/broker.d.ts.map +1 -1
  126. package/dist/types/broker.js.map +1 -1
  127. package/package.json +5 -2
  128. package/templates/adapter/ONBOARDING_PROMPT.md +51 -29
  129. package/templates/adapter/README.md.tmpl +14 -31
  130. package/templates/adapter/package.json.tmpl +1 -1
  131. package/templates/adapter/src/watcher/commands.ts.tmpl +24 -126
  132. package/templates/adapter/src/watcher/index.ts.tmpl +112 -88
  133. package/templates/adapter/src/watcher/ipc-server.ts.tmpl +27 -3
@@ -0,0 +1 @@
1
+ {"version":3,"file":"registry.js","sourceRoot":"","sources":["../../src/aibp/registry.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,91 @@
1
+ /**
2
+ * AIBP — AIBroker Interchange Protocol
3
+ *
4
+ * Canonical types for the protocol. Source of truth is SPEC-aibp-protocol.md.
5
+ * Every message has explicit src/dst addressing — no guessing.
6
+ */
7
+ export type MessageType = "TEXT" | "VOICE" | "IMAGE" | "COMMAND" | "SYSTEM" | "TYPING" | "STATUS" | "FILE";
8
+ export type SystemEvent = "REGISTER" | "REGISTER_ACK" | "JOIN" | "JOIN_ACK" | "PART" | "PART_ACK" | "PING" | "PONG" | "ERROR" | "SHUTDOWN" | "OUTBOX_DRAIN" | "PLUGIN_OFFLINE";
9
+ export interface TextPayload {
10
+ content: string;
11
+ }
12
+ export interface VoicePayload {
13
+ audioBase64: string;
14
+ transcript: string;
15
+ transcriptConfidence?: number;
16
+ durationMs?: number;
17
+ }
18
+ export interface ImagePayload {
19
+ imageBase64: string;
20
+ mimeType: string;
21
+ caption?: string;
22
+ }
23
+ export interface TypingPayload {
24
+ active: boolean;
25
+ }
26
+ export interface StatusPayload {
27
+ subject: string;
28
+ state: "idle" | "busy" | "error" | "disconnected";
29
+ summary?: string;
30
+ }
31
+ export interface CommandPayload {
32
+ command: string;
33
+ args: Record<string, unknown>;
34
+ }
35
+ export interface SystemPayload {
36
+ event: SystemEvent;
37
+ [key: string]: unknown;
38
+ }
39
+ export interface FilePayload {
40
+ filename: string;
41
+ mimeType: string;
42
+ dataBase64?: string;
43
+ path?: string;
44
+ sizeBytes?: number;
45
+ }
46
+ export type AibpPayload = TextPayload | VoicePayload | ImagePayload | TypingPayload | StatusPayload | CommandPayload | SystemPayload | FilePayload;
47
+ export interface AibpMessage<P extends AibpPayload = AibpPayload> {
48
+ aibp: "0.1";
49
+ id: string;
50
+ ts: number;
51
+ src: string;
52
+ dst: string;
53
+ type: MessageType;
54
+ payload: P;
55
+ }
56
+ export type PluginType = "transport" | "terminal" | "mobile" | "bridge" | "mcp" | "hub";
57
+ export interface CommandSpec {
58
+ name: string;
59
+ description: string;
60
+ args: string;
61
+ subcommands?: CommandSpec[];
62
+ }
63
+ export interface PluginSpec {
64
+ id: string;
65
+ type: PluginType;
66
+ name: string;
67
+ version?: string;
68
+ capabilities: MessageType[];
69
+ channels: string[];
70
+ commands?: CommandSpec[];
71
+ }
72
+ export interface PluginAuth {
73
+ token?: string;
74
+ }
75
+ export interface ChannelMembership {
76
+ channel: string;
77
+ members: Set<string>;
78
+ lastMessageId?: string;
79
+ lastMessageTs?: number;
80
+ outbox: AibpMessage[];
81
+ }
82
+ export interface RegisteredPlugin {
83
+ spec: PluginSpec;
84
+ address: string;
85
+ connectedAt: number;
86
+ lastPing?: number;
87
+ missedPings: number;
88
+ status: "active" | "degraded" | "dead";
89
+ joinedChannels: Set<string>;
90
+ }
91
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/aibp/types.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,8 @@
1
+ /**
2
+ * AIBP — AIBroker Interchange Protocol
3
+ *
4
+ * Canonical types for the protocol. Source of truth is SPEC-aibp-protocol.md.
5
+ * Every message has explicit src/dst addressing — no guessing.
6
+ */
7
+ export {};
8
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/aibp/types.ts"],"names":[],"mappings":"AAAA;;;;;GAKG"}
@@ -48,6 +48,8 @@ export declare class HybridSessionManager {
48
48
  * Call with the set of live iTerm2 session IDs from snapshotAllSessions().
49
49
  */
50
50
  pruneDeadVisualSessions(liveIds: Set<string>): number;
51
+ /** Update the name of a session identified by its backend ID. */
52
+ updateName(backendSessionId: string, newName: string): void;
51
53
  /** All sessions in creation order. */
52
54
  listSessions(): HybridSession[];
53
55
  /** Get session by 1-based display index. */
@@ -1 +1 @@
1
- {"version":3,"file":"hybrid.d.ts","sourceRoot":"","sources":["../../src/core/hybrid.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAGpD,MAAM,MAAM,WAAW,GAAG,KAAK,GAAG,QAAQ,CAAC;AAE3C,MAAM,WAAW,aAAa;IAC5B,2CAA2C;IAC3C,EAAE,EAAE,MAAM,CAAC;IACX,0BAA0B;IAC1B,IAAI,EAAE,MAAM,CAAC;IACb,wBAAwB;IACxB,GAAG,EAAE,MAAM,CAAC;IACZ,mBAAmB;IACnB,IAAI,EAAE,WAAW,CAAC;IAClB,yBAAyB;IACzB,SAAS,EAAE,MAAM,CAAC;IAClB,4EAA4E;IAC5E,gBAAgB,EAAE,MAAM,CAAC;CAC1B;AAED,qBAAa,oBAAoB;IAC/B,QAAQ,CAAC,UAAU,EAAE,UAAU,CAAC;IAEhC,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAuB;IAChD,OAAO,CAAC,YAAY,CAAM;IAC1B,OAAO,CAAC,OAAO,CAAK;gBAER,UAAU,EAAE,UAAU;IAMlC,oEAAoE;IACpE,gBAAgB,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,aAAa;IAkB1D,2FAA2F;IAC3F,qBAAqB,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,cAAc,EAAE,MAAM,GAAG,aAAa;IAiBvF,oFAAoF;IACpF,aAAa,CAAC,KAAK,EAAE,MAAM,GAAG,aAAa,GAAG,SAAS;IAYvD,0FAA0F;IAC1F,aAAa,CAAC,KAAK,EAAE,MAAM,GAAG,aAAa,GAAG,SAAS;IAiCvD,6EAA6E;IAC7E,kBAAkB,IAAI,IAAI;IAW1B,0DAA0D;IAC1D,IAAI,aAAa,IAAI,aAAa,GAAG,SAAS,CAE7C;IAED;;;OAGG;IACH,uBAAuB,CAAC,OAAO,EAAE,GAAG,CAAC,MAAM,CAAC,GAAG,MAAM;IAoBrD,sCAAsC;IACtC,YAAY,IAAI,aAAa,EAAE;IAI/B,4CAA4C;IAC5C,UAAU,CAAC,KAAK,EAAE,MAAM,GAAG,aAAa,GAAG,SAAS;IAMpD,mDAAmD;IACnD,iBAAiB,IAAI,MAAM;IAU3B;;;;OAIG;IACH,kBAAkB,IAAI,MAAM,GAAG,IAAI;CASpC;AAED,wEAAwE;AACxE,eAAO,IAAI,aAAa,EAAE,oBAAoB,GAAG,IAAW,CAAC;AAE7D,wBAAgB,gBAAgB,CAAC,CAAC,EAAE,oBAAoB,GAAG,IAAI,GAAG,IAAI,CAErE"}
1
+ {"version":3,"file":"hybrid.d.ts","sourceRoot":"","sources":["../../src/core/hybrid.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAGpD,MAAM,MAAM,WAAW,GAAG,KAAK,GAAG,QAAQ,CAAC;AAE3C,MAAM,WAAW,aAAa;IAC5B,2CAA2C;IAC3C,EAAE,EAAE,MAAM,CAAC;IACX,0BAA0B;IAC1B,IAAI,EAAE,MAAM,CAAC;IACb,wBAAwB;IACxB,GAAG,EAAE,MAAM,CAAC;IACZ,mBAAmB;IACnB,IAAI,EAAE,WAAW,CAAC;IAClB,yBAAyB;IACzB,SAAS,EAAE,MAAM,CAAC;IAClB,4EAA4E;IAC5E,gBAAgB,EAAE,MAAM,CAAC;CAC1B;AAED,qBAAa,oBAAoB;IAC/B,QAAQ,CAAC,UAAU,EAAE,UAAU,CAAC;IAEhC,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAuB;IAChD,OAAO,CAAC,YAAY,CAAM;IAC1B,OAAO,CAAC,OAAO,CAAK;gBAER,UAAU,EAAE,UAAU;IAMlC,oEAAoE;IACpE,gBAAgB,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,aAAa;IAkB1D,2FAA2F;IAC3F,qBAAqB,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,cAAc,EAAE,MAAM,GAAG,aAAa;IAiBvF,oFAAoF;IACpF,aAAa,CAAC,KAAK,EAAE,MAAM,GAAG,aAAa,GAAG,SAAS;IAYvD,0FAA0F;IAC1F,aAAa,CAAC,KAAK,EAAE,MAAM,GAAG,aAAa,GAAG,SAAS;IAiCvD,6EAA6E;IAC7E,kBAAkB,IAAI,IAAI;IAW1B,0DAA0D;IAC1D,IAAI,aAAa,IAAI,aAAa,GAAG,SAAS,CAE7C;IAED;;;OAGG;IACH,uBAAuB,CAAC,OAAO,EAAE,GAAG,CAAC,MAAM,CAAC,GAAG,MAAM;IAoBrD,iEAAiE;IACjE,UAAU,CAAC,gBAAgB,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,IAAI;IAQ3D,sCAAsC;IACtC,YAAY,IAAI,aAAa,EAAE;IAI/B,4CAA4C;IAC5C,UAAU,CAAC,KAAK,EAAE,MAAM,GAAG,aAAa,GAAG,SAAS;IAMpD,mDAAmD;IACnD,iBAAiB,IAAI,MAAM;IAU3B;;;;OAIG;IACH,kBAAkB,IAAI,MAAM,GAAG,IAAI;CASpC;AAED,wEAAwE;AACxE,eAAO,IAAI,aAAa,EAAE,oBAAoB,GAAG,IAAW,CAAC;AAE7D,wBAAgB,gBAAgB,CAAC,CAAC,EAAE,oBAAoB,GAAG,IAAI,GAAG,IAAI,CAErE"}
@@ -138,6 +138,14 @@ export class HybridSessionManager {
138
138
  this._activeIndex = -1;
139
139
  return pruned;
140
140
  }
141
+ /** Update the name of a session identified by its backend ID. */
142
+ updateName(backendSessionId, newName) {
143
+ const s = this.sessions.find(s => s.backendSessionId === backendSessionId);
144
+ if (s && s.name !== newName) {
145
+ log(`HybridManager: name sync "${s.name}" → "${newName}"`);
146
+ s.name = newName;
147
+ }
148
+ }
141
149
  /** All sessions in creation order. */
142
150
  listSessions() {
143
151
  return [...this.sessions];
@@ -1 +1 @@
1
- {"version":3,"file":"hybrid.js","sourceRoot":"","sources":["../../src/core/hybrid.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"hybrid.js","sourceRoot":"","sources":["../../src/core/hybrid.ts"],"names":[],"mappings":"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"}
@@ -14,6 +14,8 @@ export declare const managedSessions: Map<string, {
14
14
  export declare const sessionTtyCache: Map<string, string>;
15
15
  export declare let activeClientId: string | null;
16
16
  export declare let activeItermSessionId: string;
17
+ export declare let lastRoutedSessionId: string;
18
+ export declare function setLastRoutedSessionId(id: string): void;
17
19
  export declare function setActiveClientId(id: string | null): void;
18
20
  export declare function setActiveItermSessionId(id: string): void;
19
21
  export declare function updateSessionTtyCache(entries: Array<{
@@ -36,6 +38,9 @@ export declare const contactMessageQueues: Map<string, QueuedMessage[]>;
36
38
  export declare const contactDirectory: Map<string, ContactEntry>;
37
39
  export declare let voiceConfig: VoiceConfig;
38
40
  export declare function setVoiceConfig(cfg: VoiceConfig): void;
41
+ import type { AibpBridge } from "../aibp/bridge.js";
42
+ export declare function setAibpBridge(bridge: AibpBridge): void;
43
+ export declare function getAibpBridge(): AibpBridge | null;
39
44
  export type CommandHandler = (text: string, timestamp: number) => void | Promise<void>;
40
45
  export declare let commandHandler: CommandHandler | null;
41
46
  export declare function setCommandHandler(handler: CommandHandler | null): void;
@@ -43,6 +48,13 @@ export type MessageSource = string;
43
48
  export declare let messageSource: MessageSource;
44
49
  export declare function setMessageSource(src: MessageSource): void;
45
50
  export declare const sentMessageIds: Set<string | number>;
51
+ export interface MailboxMessage {
52
+ from: string;
53
+ content: string;
54
+ timestamp: number;
55
+ }
56
+ export declare function depositToSessionMailbox(itermSessionId: string, from: string, content: string): void;
57
+ export declare function drainSessionMailbox(itermSessionId: string): MailboxMessage[];
46
58
  export declare function dispatchIncomingMessage(body: string, timestamp: number): void;
47
59
  export declare function enqueueContactMessage(contactId: string, body: string, timestamp: number): void;
48
60
  //# sourceMappingURL=state.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"state.d.ts","sourceRoot":"","sources":["../../src/core/state.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,KAAK,EACV,iBAAiB,EACjB,aAAa,EACb,YAAY,EACZ,YAAY,EACZ,WAAW,EACZ,MAAM,mBAAmB,CAAC;AAI3B,eAAO,MAAM,eAAe,gCAAuC,CAAC;AACpE,eAAO,MAAM,eAAe;UAA2B,MAAM;eAAa,MAAM;EAAK,CAAC;AACtF,eAAO,MAAM,eAAe,qBAA4B,CAAC;AAEzD,eAAO,IAAI,cAAc,EAAE,MAAM,GAAG,IAAW,CAAC;AAChD,eAAO,IAAI,oBAAoB,QAAK,CAAC;AAErC,wBAAgB,iBAAiB,CAAC,EAAE,EAAE,MAAM,GAAG,IAAI,GAAG,IAAI,CAEzD;AAED,wBAAgB,uBAAuB,CAAC,EAAE,EAAE,MAAM,GAAG,IAAI,CAExD;AAED,wBAAgB,qBAAqB,CAAC,OAAO,EAAE,KAAK,CAAC;IAAE,EAAE,EAAE,MAAM,CAAC;IAAC,GAAG,EAAE,MAAM,CAAA;CAAE,CAAC,GAAG,IAAI,CAIvF;AAID,eAAO,IAAI,iBAAiB,EAAE,KAAK,CAAC;IAClC,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,QAAQ,GAAG,UAAU,CAAC;IAC5B,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;IACvB,QAAQ,EAAE,OAAO,CAAC;CACnB,CAAC,GAAG,IAAW,CAAC;AAEjB,eAAO,IAAI,qBAAqB,QAAI,CAAC;AAErC,wBAAgB,oBAAoB,CAClC,IAAI,EAAE,OAAO,iBAAiB,EAC9B,IAAI,EAAE,MAAM,GACX,IAAI,CAGN;AAID,eAAO,MAAM,YAAY,8BAAqC,CAAC;AAC/D,eAAO,MAAM,aAAa,6BAAoC,CAAC;AAC/D,eAAO,MAAM,oBAAoB,8BAAqC,CAAC;AAIvE,eAAO,MAAM,gBAAgB,2BAAkC,CAAC;AAIhE,eAAO,IAAI,WAAW,EAAE,WAKvB,CAAC;AAEF,wBAAgB,cAAc,CAAC,GAAG,EAAE,WAAW,GAAG,IAAI,CAErD;AAID,MAAM,MAAM,cAAc,GAAG,CAAC,IAAI,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,KAAK,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;AAEvF,eAAO,IAAI,cAAc,EAAE,cAAc,GAAG,IAAW,CAAC;AAExD,wBAAgB,iBAAiB,CAAC,OAAO,EAAE,cAAc,GAAG,IAAI,GAAG,IAAI,CAEtE;AAID,MAAM,MAAM,aAAa,GAAG,MAAM,CAAC;AACnC,eAAO,IAAI,aAAa,EAAE,aAA0B,CAAC;AAErD,wBAAgB,gBAAgB,CAAC,GAAG,EAAE,aAAa,GAAG,IAAI,CAEzD;AAID,eAAO,MAAM,cAAc,sBAA6B,CAAC;AAIzD,wBAAgB,uBAAuB,CAAC,IAAI,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,IAAI,CAiB7E;AAED,wBAAgB,qBAAqB,CACnC,SAAS,EAAE,MAAM,EACjB,IAAI,EAAE,MAAM,EACZ,SAAS,EAAE,MAAM,GAChB,IAAI,CAON"}
1
+ {"version":3,"file":"state.d.ts","sourceRoot":"","sources":["../../src/core/state.ts"],"names":[],"mappings":"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"}
@@ -11,6 +11,13 @@ export const managedSessions = new Map();
11
11
  export const sessionTtyCache = new Map();
12
12
  export let activeClientId = null;
13
13
  export let activeItermSessionId = "";
14
+ // Track the session that last received user input from PAILot.
15
+ // Used to tag responses correctly even if the user switches sessions
16
+ // before the response arrives (race condition prevention).
17
+ export let lastRoutedSessionId = "";
18
+ export function setLastRoutedSessionId(id) {
19
+ lastRoutedSessionId = id;
20
+ }
14
21
  export function setActiveClientId(id) {
15
22
  activeClientId = id;
16
23
  }
@@ -46,6 +53,13 @@ export let voiceConfig = {
46
53
  export function setVoiceConfig(cfg) {
47
54
  voiceConfig = cfg;
48
55
  }
56
+ let _aibpBridge = null;
57
+ export function setAibpBridge(bridge) {
58
+ _aibpBridge = bridge;
59
+ }
60
+ export function getAibpBridge() {
61
+ return _aibpBridge;
62
+ }
49
63
  export let commandHandler = null;
50
64
  export function setCommandHandler(handler) {
51
65
  commandHandler = handler;
@@ -56,6 +70,26 @@ export function setMessageSource(src) {
56
70
  }
57
71
  // ── Self-Echo Suppression ──
58
72
  export const sentMessageIds = new Set();
73
+ const sessionMailboxes = new Map();
74
+ const MAX_MAILBOX = 100;
75
+ export function depositToSessionMailbox(itermSessionId, from, content) {
76
+ let queue = sessionMailboxes.get(itermSessionId);
77
+ if (!queue) {
78
+ queue = [];
79
+ sessionMailboxes.set(itermSessionId, queue);
80
+ }
81
+ if (queue.length >= MAX_MAILBOX) {
82
+ queue.shift(); // drop oldest
83
+ }
84
+ queue.push({ from, content, timestamp: Date.now() });
85
+ }
86
+ export function drainSessionMailbox(itermSessionId) {
87
+ const queue = sessionMailboxes.get(itermSessionId);
88
+ if (!queue || queue.length === 0)
89
+ return [];
90
+ const messages = queue.splice(0);
91
+ return messages;
92
+ }
59
93
  // ── Message Dispatch ──
60
94
  export function dispatchIncomingMessage(body, timestamp) {
61
95
  if (!activeClientId)
@@ -1 +1 @@
1
- {"version":3,"file":"state.js","sourceRoot":"","sources":["../../src/core/state.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"state.js","sourceRoot":"","sources":["../../src/core/state.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,51 @@
1
+ /**
2
+ * core/status-cache.ts — In-memory cache for session status snapshots.
3
+ *
4
+ * Stores parsed summaries with content hashing for change detection.
5
+ * Shared across all sessions — any MCP client can read/write.
6
+ *
7
+ * Part of Session Orchestration (Phase 1, v0.7).
8
+ */
9
+ export interface StatusSnapshot {
10
+ sessionId: string;
11
+ sessionName: string;
12
+ /** When this snapshot was created */
13
+ timestamp: number;
14
+ /** Busy/idle state */
15
+ state: "idle" | "busy" | "error" | "disconnected";
16
+ /** AI-parsed 1-2 sentence summary */
17
+ summary: string;
18
+ /** Hash of the raw terminal content when summary was generated */
19
+ contentHash: string;
20
+ /** When the terminal content was last probed */
21
+ lastProbeAt: number;
22
+ }
23
+ /** Hash terminal content for change detection */
24
+ export declare function hashContent(content: string): string;
25
+ /**
26
+ * StatusCache — in-memory cache of parsed session summaries.
27
+ *
28
+ * Lives in the daemon process, shared across all MCP clients.
29
+ */
30
+ export declare class StatusCache {
31
+ private cache;
32
+ /** Store a parsed summary for a session */
33
+ set(sessionId: string, snapshot: StatusSnapshot): void;
34
+ /** Get cached snapshot for a session */
35
+ get(sessionId: string): StatusSnapshot | undefined;
36
+ /** Get all cached snapshots */
37
+ getAll(): StatusSnapshot[];
38
+ /** Check if content has changed since last probe */
39
+ hasChanged(sessionId: string, currentContentHash: string): boolean;
40
+ /** Update just the probe timestamp (content unchanged) */
41
+ touch(sessionId: string): void;
42
+ /** Remove a session from cache */
43
+ delete(sessionId: string): void;
44
+ /** Clear entire cache */
45
+ clear(): void;
46
+ /** Number of cached entries */
47
+ get size(): number;
48
+ }
49
+ /** Singleton cache instance for the daemon */
50
+ export declare const statusCache: StatusCache;
51
+ //# sourceMappingURL=status-cache.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"status-cache.d.ts","sourceRoot":"","sources":["../../src/core/status-cache.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAIH,MAAM,WAAW,cAAc;IAC7B,SAAS,EAAE,MAAM,CAAC;IAClB,WAAW,EAAE,MAAM,CAAC;IACpB,qCAAqC;IACrC,SAAS,EAAE,MAAM,CAAC;IAClB,sBAAsB;IACtB,KAAK,EAAE,MAAM,GAAG,MAAM,GAAG,OAAO,GAAG,cAAc,CAAC;IAClD,qCAAqC;IACrC,OAAO,EAAE,MAAM,CAAC;IAChB,kEAAkE;IAClE,WAAW,EAAE,MAAM,CAAC;IACpB,gDAAgD;IAChD,WAAW,EAAE,MAAM,CAAC;CACrB;AAED,iDAAiD;AACjD,wBAAgB,WAAW,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAEnD;AAED;;;;GAIG;AACH,qBAAa,WAAW;IACtB,OAAO,CAAC,KAAK,CAAqC;IAElD,2CAA2C;IAC3C,GAAG,CAAC,SAAS,EAAE,MAAM,EAAE,QAAQ,EAAE,cAAc,GAAG,IAAI;IAItD,wCAAwC;IACxC,GAAG,CAAC,SAAS,EAAE,MAAM,GAAG,cAAc,GAAG,SAAS;IAIlD,+BAA+B;IAC/B,MAAM,IAAI,cAAc,EAAE;IAI1B,oDAAoD;IACpD,UAAU,CAAC,SAAS,EAAE,MAAM,EAAE,kBAAkB,EAAE,MAAM,GAAG,OAAO;IAMlE,0DAA0D;IAC1D,KAAK,CAAC,SAAS,EAAE,MAAM,GAAG,IAAI;IAO9B,kCAAkC;IAClC,MAAM,CAAC,SAAS,EAAE,MAAM,GAAG,IAAI;IAI/B,yBAAyB;IACzB,KAAK,IAAI,IAAI;IAIb,+BAA+B;IAC/B,IAAI,IAAI,IAAI,MAAM,CAEjB;CACF;AAED,8CAA8C;AAC9C,eAAO,MAAM,WAAW,aAAoB,CAAC"}
@@ -0,0 +1,62 @@
1
+ /**
2
+ * core/status-cache.ts — In-memory cache for session status snapshots.
3
+ *
4
+ * Stores parsed summaries with content hashing for change detection.
5
+ * Shared across all sessions — any MCP client can read/write.
6
+ *
7
+ * Part of Session Orchestration (Phase 1, v0.7).
8
+ */
9
+ import { createHash } from "node:crypto";
10
+ /** Hash terminal content for change detection */
11
+ export function hashContent(content) {
12
+ return createHash("md5").update(content).digest("hex");
13
+ }
14
+ /**
15
+ * StatusCache — in-memory cache of parsed session summaries.
16
+ *
17
+ * Lives in the daemon process, shared across all MCP clients.
18
+ */
19
+ export class StatusCache {
20
+ cache = new Map();
21
+ /** Store a parsed summary for a session */
22
+ set(sessionId, snapshot) {
23
+ this.cache.set(sessionId, snapshot);
24
+ }
25
+ /** Get cached snapshot for a session */
26
+ get(sessionId) {
27
+ return this.cache.get(sessionId);
28
+ }
29
+ /** Get all cached snapshots */
30
+ getAll() {
31
+ return [...this.cache.values()];
32
+ }
33
+ /** Check if content has changed since last probe */
34
+ hasChanged(sessionId, currentContentHash) {
35
+ const cached = this.cache.get(sessionId);
36
+ if (!cached)
37
+ return true;
38
+ return cached.contentHash !== currentContentHash;
39
+ }
40
+ /** Update just the probe timestamp (content unchanged) */
41
+ touch(sessionId) {
42
+ const cached = this.cache.get(sessionId);
43
+ if (cached) {
44
+ cached.lastProbeAt = Date.now();
45
+ }
46
+ }
47
+ /** Remove a session from cache */
48
+ delete(sessionId) {
49
+ this.cache.delete(sessionId);
50
+ }
51
+ /** Clear entire cache */
52
+ clear() {
53
+ this.cache.clear();
54
+ }
55
+ /** Number of cached entries */
56
+ get size() {
57
+ return this.cache.size;
58
+ }
59
+ }
60
+ /** Singleton cache instance for the daemon */
61
+ export const statusCache = new StatusCache();
62
+ //# sourceMappingURL=status-cache.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"status-cache.js","sourceRoot":"","sources":["../../src/core/status-cache.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAiBzC,iDAAiD;AACjD,MAAM,UAAU,WAAW,CAAC,OAAe;IACzC,OAAO,UAAU,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;AACzD,CAAC;AAED;;;;GAIG;AACH,MAAM,OAAO,WAAW;IACd,KAAK,GAAG,IAAI,GAAG,EAA0B,CAAC;IAElD,2CAA2C;IAC3C,GAAG,CAAC,SAAiB,EAAE,QAAwB;QAC7C,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAC;IACtC,CAAC;IAED,wCAAwC;IACxC,GAAG,CAAC,SAAiB;QACnB,OAAO,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;IACnC,CAAC;IAED,+BAA+B;IAC/B,MAAM;QACJ,OAAO,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC,CAAC;IAClC,CAAC;IAED,oDAAoD;IACpD,UAAU,CAAC,SAAiB,EAAE,kBAA0B;QACtD,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;QACzC,IAAI,CAAC,MAAM;YAAE,OAAO,IAAI,CAAC;QACzB,OAAO,MAAM,CAAC,WAAW,KAAK,kBAAkB,CAAC;IACnD,CAAC;IAED,0DAA0D;IAC1D,KAAK,CAAC,SAAiB;QACrB,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;QACzC,IAAI,MAAM,EAAE,CAAC;YACX,MAAM,CAAC,WAAW,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QAClC,CAAC;IACH,CAAC;IAED,kCAAkC;IAClC,MAAM,CAAC,SAAiB;QACtB,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;IAC/B,CAAC;IAED,yBAAyB;IACzB,KAAK;QACH,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC;IACrB,CAAC;IAED,+BAA+B;IAC/B,IAAI,IAAI;QACN,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC;IACzB,CAAC;CACF;AAED,8CAA8C;AAC9C,MAAM,CAAC,MAAM,WAAW,GAAG,IAAI,WAAW,EAAE,CAAC"}
@@ -6,15 +6,19 @@
6
6
  */
7
7
  import type { BrokerMessage, RouteResult } from "../types/broker.js";
8
8
  import type { AdapterHealth } from "../types/adapter.js";
9
+ import type { CommandContext } from "./command-context.js";
9
10
  export interface AdapterDescriptor {
10
11
  name: string;
11
12
  socketPath: string;
12
13
  registeredAt: number;
13
14
  }
15
+ type HubCommandHandler = (text: string, timestamp: number, ctx: CommandContext) => void | Promise<void>;
14
16
  export declare class AdapterRegistry {
15
17
  private readonly adapters;
16
18
  private readonly lastHealth;
17
19
  private pollInterval;
20
+ private hubCommandHandler;
21
+ setCommandHandler(handler: HubCommandHandler): void;
18
22
  register(descriptor: AdapterDescriptor): void;
19
23
  unregister(name: string): void;
20
24
  startHealthPolling(intervalMs?: number): void;
@@ -55,4 +59,5 @@ export declare class AdapterRegistry {
55
59
  */
56
60
  deliverToAdapter(adapter: AdapterDescriptor, message: BrokerMessage): Promise<RouteResult>;
57
61
  }
62
+ export {};
58
63
  //# sourceMappingURL=adapter-registry.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"adapter-registry.d.ts","sourceRoot":"","sources":["../../src/daemon/adapter-registry.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAMH,OAAO,KAAK,EAAE,aAAa,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AACrE,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAEzD,MAAM,WAAW,iBAAiB;IAChC,IAAI,EAAE,MAAM,CAAC;IACb,UAAU,EAAE,MAAM,CAAC;IACnB,YAAY,EAAE,MAAM,CAAC;CACtB;AAID,qBAAa,eAAe;IAC1B,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAwC;IACjE,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAoC;IAC/D,OAAO,CAAC,YAAY,CAA+C;IAEnE,QAAQ,CAAC,UAAU,EAAE,iBAAiB,GAAG,IAAI;IAK7C,UAAU,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI;IAQ9B,kBAAkB,CAAC,UAAU,GAAE,MAAe,GAAG,IAAI;IAMrD,iBAAiB,IAAI,IAAI;IAOzB,gBAAgB,CAAC,IAAI,EAAE,MAAM,GAAG,aAAa,GAAG,SAAS;IAIzD,YAAY,IAAI,GAAG,CAAC,MAAM,EAAE,aAAa,CAAC;YAI5B,eAAe;YAKf,WAAW;IAoCzB,GAAG,CAAC,IAAI,EAAE,MAAM,GAAG,iBAAiB,GAAG,SAAS;IAIhD,IAAI,IAAI,iBAAiB,EAAE;IAI3B;;;;;;;;;OASG;IACH,gBAAgB,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,IAAI;IAuBvE;;;;;;;;;OASG;IACG,KAAK,CAAC,OAAO,EAAE,aAAa,GAAG,OAAO,CAAC,WAAW,CAAC;IAmCzD;;;;;OAKG;IACG,gBAAgB,CACpB,OAAO,EAAE,iBAAiB,EAC1B,OAAO,EAAE,aAAa,GACrB,OAAO,CAAC,WAAW,CAAC;CAexB"}
1
+ {"version":3,"file":"adapter-registry.d.ts","sourceRoot":"","sources":["../../src/daemon/adapter-registry.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAMH,OAAO,KAAK,EAAE,aAAa,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AACrE,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAEzD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAK3D,MAAM,WAAW,iBAAiB;IAChC,IAAI,EAAE,MAAM,CAAC;IACb,UAAU,EAAE,MAAM,CAAC;IACnB,YAAY,EAAE,MAAM,CAAC;CACtB;AAID,KAAK,iBAAiB,GAAG,CAAC,IAAI,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,GAAG,EAAE,cAAc,KAAK,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;AAExG,qBAAa,eAAe;IAC1B,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAwC;IACjE,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAoC;IAC/D,OAAO,CAAC,YAAY,CAA+C;IACnE,OAAO,CAAC,iBAAiB,CAAkC;IAE3D,iBAAiB,CAAC,OAAO,EAAE,iBAAiB,GAAG,IAAI;IAInD,QAAQ,CAAC,UAAU,EAAE,iBAAiB,GAAG,IAAI;IAK7C,UAAU,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI;IAQ9B,kBAAkB,CAAC,UAAU,GAAE,MAAe,GAAG,IAAI;IAMrD,iBAAiB,IAAI,IAAI;IAOzB,gBAAgB,CAAC,IAAI,EAAE,MAAM,GAAG,aAAa,GAAG,SAAS;IAIzD,YAAY,IAAI,GAAG,CAAC,MAAM,EAAE,aAAa,CAAC;YAI5B,eAAe;YAKf,WAAW;IAoCzB,GAAG,CAAC,IAAI,EAAE,MAAM,GAAG,iBAAiB,GAAG,SAAS;IAIhD,IAAI,IAAI,iBAAiB,EAAE;IAI3B;;;;;;;;;OASG;IACH,gBAAgB,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,IAAI;IAwBvE;;;;;;;;;OASG;IACG,KAAK,CAAC,OAAO,EAAE,aAAa,GAAG,OAAO,CAAC,WAAW,CAAC;IA6GzD;;;;;OAKG;IACG,gBAAgB,CACpB,OAAO,EAAE,iBAAiB,EAC1B,OAAO,EAAE,aAAa,GACrB,OAAO,CAAC,WAAW,CAAC;CAexB"}
@@ -8,11 +8,19 @@ import { commandHandler } from "../core/state.js";
8
8
  import { log } from "../core/log.js";
9
9
  import { WatcherClient } from "../ipc/client.js";
10
10
  import { createBrokerMessage } from "../types/broker.js";
11
+ import { validateAdapterHealth } from "../ipc/validate.js";
12
+ import { broadcastText, broadcastImage, broadcastVoice } from "../adapters/pailot/gateway.js";
13
+ import { getAibpBridge } from "../core/state.js";
14
+ import { hybridManager } from "../core/hybrid.js";
11
15
  const HEALTH_TIMEOUT_MS = 5_000;
12
16
  export class AdapterRegistry {
13
17
  adapters = new Map();
14
18
  lastHealth = new Map();
15
19
  pollInterval = null;
20
+ hubCommandHandler = null;
21
+ setCommandHandler(handler) {
22
+ this.hubCommandHandler = handler;
23
+ }
16
24
  register(descriptor) {
17
25
  this.adapters.set(descriptor.name, descriptor);
18
26
  log(`Adapter registered: ${descriptor.name} (socket: ${descriptor.socketPath})`);
@@ -55,7 +63,7 @@ export class AdapterRegistry {
55
63
  client.call_raw("health", {}),
56
64
  new Promise((_, reject) => setTimeout(() => reject(new Error("health poll timed out")), HEALTH_TIMEOUT_MS)),
57
65
  ]);
58
- health = result;
66
+ health = validateAdapterHealth(result);
59
67
  }
60
68
  catch (err) {
61
69
  const msg = err instanceof Error ? err.message : String(err);
@@ -96,7 +104,8 @@ export class AdapterRegistry {
96
104
  */
97
105
  dispatchIncoming(source, text, timestamp) {
98
106
  log(`[hub] incoming from ${source}: ${text.slice(0, 80)}`);
99
- const message = createBrokerMessage(source, "command", { text }, undefined);
107
+ const type = text.trim().startsWith("/") ? "command" : "text";
108
+ const message = createBrokerMessage(source, type, { text }, undefined);
100
109
  message.timestamp = timestamp;
101
110
  // Route through the standard pipeline
102
111
  void this.route(message).then((result) => {
@@ -134,8 +143,89 @@ export class AdapterRegistry {
134
143
  }
135
144
  return this.deliverToAdapter(adapter, message);
136
145
  }
137
- // Commands with no explicit target -> hub commandHandler
138
- if (message.type === "command") {
146
+ // Commands and text messages with no explicit target -> hub command handler
147
+ // Text messages from adapters are user input that needs to reach iTerm2/API sessions.
148
+ if (message.type === "command" || message.type === "text") {
149
+ const handler = this.hubCommandHandler;
150
+ if (handler) {
151
+ const sourceAdapter = this.adapters.get(message.source);
152
+ const isPailot = message.source === "pailot";
153
+ const bridge = getAibpBridge();
154
+ const ctx = {
155
+ reply: async (text) => {
156
+ if (isPailot) {
157
+ if (bridge) {
158
+ bridge.routeToMobile("", text);
159
+ }
160
+ else {
161
+ broadcastText(text);
162
+ }
163
+ }
164
+ else if (sourceAdapter) {
165
+ const replyMsg = createBrokerMessage("hub", "text", {
166
+ text,
167
+ recipient: message.payload.recipient,
168
+ });
169
+ await this.deliverToAdapter(sourceAdapter, replyMsg);
170
+ }
171
+ else {
172
+ log(`[hub] no adapter for reply to ${message.source}`);
173
+ }
174
+ },
175
+ replyImage: async (buffer, caption) => {
176
+ if (isPailot) {
177
+ if (bridge) {
178
+ bridge.routeToMobile("", caption, "IMAGE", {
179
+ imageBase64: buffer.toString("base64"),
180
+ mimeType: "image/png",
181
+ });
182
+ }
183
+ else {
184
+ broadcastImage(buffer, caption);
185
+ }
186
+ }
187
+ else if (sourceAdapter) {
188
+ const replyMsg = createBrokerMessage("hub", "image", {
189
+ text: caption,
190
+ buffer: buffer.toString("base64"),
191
+ recipient: message.payload.recipient,
192
+ });
193
+ await this.deliverToAdapter(sourceAdapter, replyMsg);
194
+ }
195
+ },
196
+ replyVoice: async (audioBuffer, caption) => {
197
+ if (isPailot) {
198
+ if (bridge) {
199
+ bridge.routeToMobile("", caption, "VOICE", {
200
+ audioBase64: audioBuffer.toString("base64"),
201
+ });
202
+ }
203
+ else {
204
+ broadcastVoice(audioBuffer, caption);
205
+ }
206
+ }
207
+ else if (sourceAdapter) {
208
+ const replyMsg = createBrokerMessage("hub", "voice", {
209
+ buffer: audioBuffer.toString("base64"),
210
+ text: caption,
211
+ recipient: message.payload.recipient,
212
+ });
213
+ await this.deliverToAdapter(sourceAdapter, replyMsg);
214
+ }
215
+ },
216
+ typing: (active) => {
217
+ if (isPailot && bridge) {
218
+ bridge.sendTyping("", active);
219
+ }
220
+ },
221
+ source: message.source,
222
+ recipient: message.payload.recipient,
223
+ sessionId: hybridManager?.activeSession?.backendSessionId,
224
+ };
225
+ await handler(message.payload.text ?? "", message.timestamp, ctx);
226
+ return { ok: true, deliveredTo: "hub" };
227
+ }
228
+ // Fallback to old-style commandHandler
139
229
  if (commandHandler) {
140
230
  await commandHandler(message.payload.text ?? "", message.timestamp);
141
231
  return { ok: true, deliveredTo: "hub" };