opencode-bridge 2.9.0-beta

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 (237) hide show
  1. package/.env.example +131 -0
  2. package/LICENSE +674 -0
  3. package/README.md +1195 -0
  4. package/bin/opencode-bridge.js +31 -0
  5. package/dist/commands/effort.d.ts +9 -0
  6. package/dist/commands/effort.d.ts.map +1 -0
  7. package/dist/commands/effort.js +56 -0
  8. package/dist/commands/effort.js.map +1 -0
  9. package/dist/commands/parser.d.ts +37 -0
  10. package/dist/commands/parser.d.ts.map +1 -0
  11. package/dist/commands/parser.js +355 -0
  12. package/dist/commands/parser.js.map +1 -0
  13. package/dist/config.d.ts +91 -0
  14. package/dist/config.d.ts.map +1 -0
  15. package/dist/config.js +340 -0
  16. package/dist/config.js.map +1 -0
  17. package/dist/feishu/cards-stream.d.ts +65 -0
  18. package/dist/feishu/cards-stream.d.ts.map +1 -0
  19. package/dist/feishu/cards-stream.js +448 -0
  20. package/dist/feishu/cards-stream.js.map +1 -0
  21. package/dist/feishu/cards.d.ts +81 -0
  22. package/dist/feishu/cards.d.ts.map +1 -0
  23. package/dist/feishu/cards.js +560 -0
  24. package/dist/feishu/cards.js.map +1 -0
  25. package/dist/feishu/client.d.ts +132 -0
  26. package/dist/feishu/client.d.ts.map +1 -0
  27. package/dist/feishu/client.js +952 -0
  28. package/dist/feishu/client.js.map +1 -0
  29. package/dist/feishu/streamer.d.ts +30 -0
  30. package/dist/feishu/streamer.d.ts.map +1 -0
  31. package/dist/feishu/streamer.js +95 -0
  32. package/dist/feishu/streamer.js.map +1 -0
  33. package/dist/handlers/card-action.d.ts +12 -0
  34. package/dist/handlers/card-action.d.ts.map +1 -0
  35. package/dist/handlers/card-action.js +154 -0
  36. package/dist/handlers/card-action.js.map +1 -0
  37. package/dist/handlers/command.d.ts +76 -0
  38. package/dist/handlers/command.d.ts.map +1 -0
  39. package/dist/handlers/command.js +1773 -0
  40. package/dist/handlers/command.js.map +1 -0
  41. package/dist/handlers/discord.d.ts +78 -0
  42. package/dist/handlers/discord.d.ts.map +1 -0
  43. package/dist/handlers/discord.js +1832 -0
  44. package/dist/handlers/discord.js.map +1 -0
  45. package/dist/handlers/file-sender.d.ts +22 -0
  46. package/dist/handlers/file-sender.d.ts.map +1 -0
  47. package/dist/handlers/file-sender.js +183 -0
  48. package/dist/handlers/file-sender.js.map +1 -0
  49. package/dist/handlers/group.d.ts +21 -0
  50. package/dist/handlers/group.d.ts.map +1 -0
  51. package/dist/handlers/group.js +414 -0
  52. package/dist/handlers/group.js.map +1 -0
  53. package/dist/handlers/lifecycle.d.ts +17 -0
  54. package/dist/handlers/lifecycle.d.ts.map +1 -0
  55. package/dist/handlers/lifecycle.js +129 -0
  56. package/dist/handlers/lifecycle.js.map +1 -0
  57. package/dist/handlers/p2p.d.ts +44 -0
  58. package/dist/handlers/p2p.d.ts.map +1 -0
  59. package/dist/handlers/p2p.js +625 -0
  60. package/dist/handlers/p2p.js.map +1 -0
  61. package/dist/index.d.ts +33 -0
  62. package/dist/index.d.ts.map +1 -0
  63. package/dist/index.js +1562 -0
  64. package/dist/index.js.map +1 -0
  65. package/dist/opencode/client.d.ts +176 -0
  66. package/dist/opencode/client.d.ts.map +1 -0
  67. package/dist/opencode/client.js +1126 -0
  68. package/dist/opencode/client.js.map +1 -0
  69. package/dist/opencode/delayed-handler.d.ts +33 -0
  70. package/dist/opencode/delayed-handler.d.ts.map +1 -0
  71. package/dist/opencode/delayed-handler.js +74 -0
  72. package/dist/opencode/delayed-handler.js.map +1 -0
  73. package/dist/opencode/output-buffer.d.ts +56 -0
  74. package/dist/opencode/output-buffer.d.ts.map +1 -0
  75. package/dist/opencode/output-buffer.js +202 -0
  76. package/dist/opencode/output-buffer.js.map +1 -0
  77. package/dist/opencode/question-handler.d.ts +61 -0
  78. package/dist/opencode/question-handler.d.ts.map +1 -0
  79. package/dist/opencode/question-handler.js +183 -0
  80. package/dist/opencode/question-handler.js.map +1 -0
  81. package/dist/opencode/question-parser.d.ts +9 -0
  82. package/dist/opencode/question-parser.d.ts.map +1 -0
  83. package/dist/opencode/question-parser.js +69 -0
  84. package/dist/opencode/question-parser.js.map +1 -0
  85. package/dist/opencode/session-queue.d.ts +16 -0
  86. package/dist/opencode/session-queue.d.ts.map +1 -0
  87. package/dist/opencode/session-queue.js +41 -0
  88. package/dist/opencode/session-queue.js.map +1 -0
  89. package/dist/permissions/handler.d.ts +36 -0
  90. package/dist/permissions/handler.d.ts.map +1 -0
  91. package/dist/permissions/handler.js +141 -0
  92. package/dist/permissions/handler.js.map +1 -0
  93. package/dist/platform/adapters/discord-adapter.d.ts +45 -0
  94. package/dist/platform/adapters/discord-adapter.d.ts.map +1 -0
  95. package/dist/platform/adapters/discord-adapter.js +497 -0
  96. package/dist/platform/adapters/discord-adapter.js.map +1 -0
  97. package/dist/platform/adapters/feishu-adapter.d.ts +29 -0
  98. package/dist/platform/adapters/feishu-adapter.d.ts.map +1 -0
  99. package/dist/platform/adapters/feishu-adapter.js +150 -0
  100. package/dist/platform/adapters/feishu-adapter.js.map +1 -0
  101. package/dist/platform/registry.d.ts +41 -0
  102. package/dist/platform/registry.d.ts.map +1 -0
  103. package/dist/platform/registry.js +87 -0
  104. package/dist/platform/registry.js.map +1 -0
  105. package/dist/platform/types.d.ts +92 -0
  106. package/dist/platform/types.d.ts.map +1 -0
  107. package/dist/platform/types.js +4 -0
  108. package/dist/platform/types.js.map +1 -0
  109. package/dist/reliability/audit-log.d.ts +93 -0
  110. package/dist/reliability/audit-log.d.ts.map +1 -0
  111. package/dist/reliability/audit-log.js +248 -0
  112. package/dist/reliability/audit-log.js.map +1 -0
  113. package/dist/reliability/config-guard.d.ts +42 -0
  114. package/dist/reliability/config-guard.d.ts.map +1 -0
  115. package/dist/reliability/config-guard.js +264 -0
  116. package/dist/reliability/config-guard.js.map +1 -0
  117. package/dist/reliability/conversation-heartbeat.d.ts +37 -0
  118. package/dist/reliability/conversation-heartbeat.d.ts.map +1 -0
  119. package/dist/reliability/conversation-heartbeat.js +179 -0
  120. package/dist/reliability/conversation-heartbeat.js.map +1 -0
  121. package/dist/reliability/cron-api-server.d.ts +13 -0
  122. package/dist/reliability/cron-api-server.d.ts.map +1 -0
  123. package/dist/reliability/cron-api-server.js +247 -0
  124. package/dist/reliability/cron-api-server.js.map +1 -0
  125. package/dist/reliability/cron-control.d.ts +34 -0
  126. package/dist/reliability/cron-control.d.ts.map +1 -0
  127. package/dist/reliability/cron-control.js +864 -0
  128. package/dist/reliability/cron-control.js.map +1 -0
  129. package/dist/reliability/cron-semantic.d.ts +9 -0
  130. package/dist/reliability/cron-semantic.d.ts.map +1 -0
  131. package/dist/reliability/cron-semantic.js +208 -0
  132. package/dist/reliability/cron-semantic.js.map +1 -0
  133. package/dist/reliability/environment-doctor.d.ts +56 -0
  134. package/dist/reliability/environment-doctor.d.ts.map +1 -0
  135. package/dist/reliability/environment-doctor.js +213 -0
  136. package/dist/reliability/environment-doctor.js.map +1 -0
  137. package/dist/reliability/job-registry.d.ts +26 -0
  138. package/dist/reliability/job-registry.d.ts.map +1 -0
  139. package/dist/reliability/job-registry.js +77 -0
  140. package/dist/reliability/job-registry.js.map +1 -0
  141. package/dist/reliability/opencode-probe.d.ts +37 -0
  142. package/dist/reliability/opencode-probe.d.ts.map +1 -0
  143. package/dist/reliability/opencode-probe.js +195 -0
  144. package/dist/reliability/opencode-probe.js.map +1 -0
  145. package/dist/reliability/opencode-restart.d.ts +42 -0
  146. package/dist/reliability/opencode-restart.d.ts.map +1 -0
  147. package/dist/reliability/opencode-restart.js +155 -0
  148. package/dist/reliability/opencode-restart.js.map +1 -0
  149. package/dist/reliability/proactive-heartbeat.d.ts +39 -0
  150. package/dist/reliability/proactive-heartbeat.d.ts.map +1 -0
  151. package/dist/reliability/proactive-heartbeat.js +147 -0
  152. package/dist/reliability/proactive-heartbeat.js.map +1 -0
  153. package/dist/reliability/process-check-job.d.ts +73 -0
  154. package/dist/reliability/process-check-job.d.ts.map +1 -0
  155. package/dist/reliability/process-check-job.js +254 -0
  156. package/dist/reliability/process-check-job.js.map +1 -0
  157. package/dist/reliability/process-guard.d.ts +53 -0
  158. package/dist/reliability/process-guard.d.ts.map +1 -0
  159. package/dist/reliability/process-guard.js +344 -0
  160. package/dist/reliability/process-guard.js.map +1 -0
  161. package/dist/reliability/recovery-reporter.d.ts +37 -0
  162. package/dist/reliability/recovery-reporter.d.ts.map +1 -0
  163. package/dist/reliability/recovery-reporter.js +161 -0
  164. package/dist/reliability/recovery-reporter.js.map +1 -0
  165. package/dist/reliability/rescue-executor.d.ts +52 -0
  166. package/dist/reliability/rescue-executor.d.ts.map +1 -0
  167. package/dist/reliability/rescue-executor.js +244 -0
  168. package/dist/reliability/rescue-executor.js.map +1 -0
  169. package/dist/reliability/rescue-policy.d.ts +39 -0
  170. package/dist/reliability/rescue-policy.d.ts.map +1 -0
  171. package/dist/reliability/rescue-policy.js +85 -0
  172. package/dist/reliability/rescue-policy.js.map +1 -0
  173. package/dist/reliability/runtime-cron-dispatcher.d.ts +30 -0
  174. package/dist/reliability/runtime-cron-dispatcher.d.ts.map +1 -0
  175. package/dist/reliability/runtime-cron-dispatcher.js +100 -0
  176. package/dist/reliability/runtime-cron-dispatcher.js.map +1 -0
  177. package/dist/reliability/runtime-cron-orphan.d.ts +18 -0
  178. package/dist/reliability/runtime-cron-orphan.d.ts.map +1 -0
  179. package/dist/reliability/runtime-cron-orphan.js +87 -0
  180. package/dist/reliability/runtime-cron-orphan.js.map +1 -0
  181. package/dist/reliability/runtime-cron-registry.d.ts +4 -0
  182. package/dist/reliability/runtime-cron-registry.d.ts.map +1 -0
  183. package/dist/reliability/runtime-cron-registry.js +8 -0
  184. package/dist/reliability/runtime-cron-registry.js.map +1 -0
  185. package/dist/reliability/runtime-cron.d.ts +75 -0
  186. package/dist/reliability/runtime-cron.d.ts.map +1 -0
  187. package/dist/reliability/runtime-cron.js +309 -0
  188. package/dist/reliability/runtime-cron.js.map +1 -0
  189. package/dist/reliability/scheduler.d.ts +38 -0
  190. package/dist/reliability/scheduler.d.ts.map +1 -0
  191. package/dist/reliability/scheduler.js +174 -0
  192. package/dist/reliability/scheduler.js.map +1 -0
  193. package/dist/reliability/types.d.ts +151 -0
  194. package/dist/reliability/types.d.ts.map +1 -0
  195. package/dist/reliability/types.js +178 -0
  196. package/dist/reliability/types.js.map +1 -0
  197. package/dist/router/action-handlers.d.ts +27 -0
  198. package/dist/router/action-handlers.d.ts.map +1 -0
  199. package/dist/router/action-handlers.js +226 -0
  200. package/dist/router/action-handlers.js.map +1 -0
  201. package/dist/router/opencode-event-hub.d.ts +159 -0
  202. package/dist/router/opencode-event-hub.d.ts.map +1 -0
  203. package/dist/router/opencode-event-hub.js +589 -0
  204. package/dist/router/opencode-event-hub.js.map +1 -0
  205. package/dist/router/root-router.d.ts +94 -0
  206. package/dist/router/root-router.d.ts.map +1 -0
  207. package/dist/router/root-router.js +214 -0
  208. package/dist/router/root-router.js.map +1 -0
  209. package/dist/store/chat-session.d.ts +150 -0
  210. package/dist/store/chat-session.d.ts.map +1 -0
  211. package/dist/store/chat-session.js +640 -0
  212. package/dist/store/chat-session.js.map +1 -0
  213. package/dist/store/session-directory.d.ts +12 -0
  214. package/dist/store/session-directory.d.ts.map +1 -0
  215. package/dist/store/session-directory.js +47 -0
  216. package/dist/store/session-directory.js.map +1 -0
  217. package/dist/store/session-group.d.ts +19 -0
  218. package/dist/store/session-group.d.ts.map +1 -0
  219. package/dist/store/session-group.js +92 -0
  220. package/dist/store/session-group.js.map +1 -0
  221. package/dist/store/user-session.d.ts +19 -0
  222. package/dist/store/user-session.d.ts.map +1 -0
  223. package/dist/store/user-session.js +112 -0
  224. package/dist/store/user-session.js.map +1 -0
  225. package/dist/utils/async-queue.d.ts +12 -0
  226. package/dist/utils/async-queue.d.ts.map +1 -0
  227. package/dist/utils/async-queue.js +51 -0
  228. package/dist/utils/async-queue.js.map +1 -0
  229. package/dist/utils/directory-policy.d.ts +50 -0
  230. package/dist/utils/directory-policy.d.ts.map +1 -0
  231. package/dist/utils/directory-policy.js +379 -0
  232. package/dist/utils/directory-policy.js.map +1 -0
  233. package/dist/utils/session-title.d.ts +2 -0
  234. package/dist/utils/session-title.d.ts.map +1 -0
  235. package/dist/utils/session-title.js +10 -0
  236. package/dist/utils/session-title.js.map +1 -0
  237. package/package.json +73 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,176 @@
1
+ import { type OpencodeClient as SdkOpencodeClient } from '@opencode-ai/sdk';
2
+ import type { Session, Message, Part, Project } from '@opencode-ai/sdk';
3
+ import { EventEmitter } from 'events';
4
+ export interface PermissionRequestEvent {
5
+ sessionId: string;
6
+ permissionId: string;
7
+ tool: string;
8
+ description: string;
9
+ risk?: string;
10
+ parentSessionId?: string;
11
+ relatedSessionId?: string;
12
+ messageId?: string;
13
+ callId?: string;
14
+ }
15
+ export interface PermissionResponseOptions {
16
+ directory?: string;
17
+ fallbackDirectories?: string[];
18
+ }
19
+ export interface MessagePart {
20
+ type: string;
21
+ text?: string;
22
+ toolName?: string;
23
+ args?: Record<string, unknown>;
24
+ result?: string;
25
+ error?: string;
26
+ }
27
+ export type AgentMode = 'primary' | 'subagent' | 'all';
28
+ export interface OpencodeAgentInfo {
29
+ name: string;
30
+ description?: string;
31
+ mode?: AgentMode;
32
+ hidden?: boolean;
33
+ builtIn?: boolean;
34
+ native?: boolean;
35
+ }
36
+ export interface OpencodeAgentConfig {
37
+ description?: string;
38
+ mode?: AgentMode;
39
+ prompt?: string;
40
+ tools?: Record<string, boolean>;
41
+ [key: string]: unknown;
42
+ }
43
+ export interface OpencodeRuntimeConfig {
44
+ agent?: Record<string, OpencodeAgentConfig>;
45
+ [key: string]: unknown;
46
+ }
47
+ export interface ShellExecutionResult {
48
+ info?: Message;
49
+ parts: Part[];
50
+ }
51
+ export interface SessionQueryOptions {
52
+ directory?: string;
53
+ }
54
+ declare class OpencodeClientWrapper extends EventEmitter {
55
+ private client;
56
+ private eventAbortController;
57
+ private eventReconnectTimer;
58
+ private eventReconnectAttempt;
59
+ private eventListeningEnabled;
60
+ private eventStreamActive;
61
+ private directoryEventStreams;
62
+ private pendingDirectoryStreams;
63
+ constructor();
64
+ connect(): Promise<boolean>;
65
+ private clearEventReconnectTimer;
66
+ private scheduleEventReconnect;
67
+ private clearDirectoryEventReconnectTimer;
68
+ private scheduleDirectoryEventReconnect;
69
+ private ensureDirectoryEventStream;
70
+ private _createDirectoryEventStream;
71
+ private startEventListener;
72
+ private handleEvent;
73
+ getClient(): SdkOpencodeClient;
74
+ getOrCreateSession(title?: string): Promise<Session>;
75
+ private resolveModelOption;
76
+ private normalizeDirectory;
77
+ private buildPermissionDirectoryCandidates;
78
+ sendMessage(sessionId: string, text: string, options?: {
79
+ providerId?: string;
80
+ modelId?: string;
81
+ agent?: string;
82
+ variant?: string;
83
+ directory?: string;
84
+ }): Promise<{
85
+ info: Message;
86
+ parts: Part[];
87
+ }>;
88
+ sendMessageParts(sessionId: string, parts: Array<{
89
+ type: 'text';
90
+ text: string;
91
+ } | {
92
+ type: 'file';
93
+ mime: string;
94
+ url: string;
95
+ filename?: string;
96
+ }>, options?: {
97
+ providerId?: string;
98
+ modelId?: string;
99
+ agent?: string;
100
+ variant?: string;
101
+ directory?: string;
102
+ }, messageId?: string): Promise<{
103
+ info: Message;
104
+ parts: Part[];
105
+ }>;
106
+ sendMessageAsync(sessionId: string, text: string, options?: {
107
+ providerId?: string;
108
+ modelId?: string;
109
+ agent?: string;
110
+ variant?: string;
111
+ directory?: string;
112
+ }): Promise<void>;
113
+ sendMessagePartsAsync(sessionId: string, parts: Array<{
114
+ type: 'text';
115
+ text: string;
116
+ } | {
117
+ type: 'file';
118
+ mime: string;
119
+ url: string;
120
+ filename?: string;
121
+ }>, options?: {
122
+ providerId?: string;
123
+ modelId?: string;
124
+ agent?: string;
125
+ variant?: string;
126
+ directory?: string;
127
+ }): Promise<void>;
128
+ sendCommand(sessionId: string, command: string, args: string, options?: {
129
+ directory?: string;
130
+ }): Promise<{
131
+ info: Message;
132
+ parts: Part[];
133
+ }>;
134
+ sendShellCommand(sessionId: string, command: string, agent: string, options?: {
135
+ providerId?: string;
136
+ modelId?: string;
137
+ directory?: string;
138
+ }): Promise<ShellExecutionResult>;
139
+ summarizeSession(sessionId: string, providerId: string, modelId: string): Promise<boolean>;
140
+ revertMessage(sessionId: string, messageId: string): Promise<boolean>;
141
+ abortSession(sessionId: string): Promise<boolean>;
142
+ respondToPermission(sessionId: string, permissionId: string, allow: boolean, remember?: boolean, options?: PermissionResponseOptions): Promise<boolean>;
143
+ listProjects(options?: SessionQueryOptions): Promise<Project[]>;
144
+ listSessions(options?: SessionQueryOptions): Promise<Session[]>;
145
+ listSessionsAcrossProjects(): Promise<Session[]>;
146
+ listAllSessions(knownDirectories: string[]): Promise<Session[]>;
147
+ getSessionById(sessionId: string, options?: SessionQueryOptions): Promise<Session | null>;
148
+ findSessionAcrossProjects(sessionId: string): Promise<Session | null>;
149
+ createSession(title?: string, directory?: string): Promise<Session>;
150
+ updateSession(sessionId: string, title: string): Promise<boolean>;
151
+ deleteSession(sessionId: string, options?: SessionQueryOptions): Promise<boolean>;
152
+ getSessionMessages(sessionId: string): Promise<Array<{
153
+ info: Message;
154
+ parts: Part[];
155
+ }>>;
156
+ getProviders(): Promise<{
157
+ providers: Array<{
158
+ id: string;
159
+ name: string;
160
+ models: Array<{
161
+ id: string;
162
+ name: string;
163
+ }>;
164
+ }>;
165
+ default: Record<string, string>;
166
+ }>;
167
+ getConfig(): Promise<OpencodeRuntimeConfig>;
168
+ updateConfig(config: OpencodeRuntimeConfig): Promise<OpencodeRuntimeConfig | null>;
169
+ getAgents(): Promise<OpencodeAgentInfo[]>;
170
+ replyQuestion(requestId: string, answers: string[][]): Promise<boolean>;
171
+ rejectQuestion(requestId: string): Promise<boolean>;
172
+ disconnect(): void;
173
+ }
174
+ export declare const opencodeClient: OpencodeClientWrapper;
175
+ export {};
176
+ //# sourceMappingURL=client.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../../src/opencode/client.ts"],"names":[],"mappings":"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"}