@axhub/genie 0.2.6 → 0.2.7
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.
- package/dist/assets/App-BWSqiXAT.js +220 -0
- package/dist/assets/App-DrlLKa8f.css +1 -0
- package/dist/assets/ReviewApp-nz3mbArg.js +1 -0
- package/dist/assets/{_basePickBy-DkiHsp3X.js → _basePickBy-C19AekOu.js} +1 -1
- package/dist/assets/{_baseUniq-7ElXb2sX.js → _baseUniq-JsnevLw_.js} +1 -1
- package/dist/assets/{arc-CEsS3MdK.js → arc-BLpcuBlf.js} +1 -1
- package/dist/assets/architectureDiagram-2XIMDMQ5-CarjBOOv.js +36 -0
- package/dist/assets/{blockDiagram-WCTKOSBZ-Cza6M6Ht.js → blockDiagram-WCTKOSBZ-DQBLwsUS.js} +3 -3
- package/dist/assets/c4Diagram-IC4MRINW-CGobwBIj.js +10 -0
- package/dist/assets/channel-DkFNxV_H.js +1 -0
- package/dist/assets/{chunk-4BX2VUAB--HkodwbY.js → chunk-4BX2VUAB-De63kbgc.js} +1 -1
- package/dist/assets/{chunk-55IACEB6-CyBuez4e.js → chunk-55IACEB6-DtTDDdM9.js} +1 -1
- package/dist/assets/{chunk-FMBD7UC4-CuzG4iAl.js → chunk-FMBD7UC4-DHuwd8tw.js} +1 -1
- package/dist/assets/{chunk-JSJVCQXG-BNi8S861.js → chunk-JSJVCQXG-BgytFtmO.js} +1 -1
- package/dist/assets/{chunk-KX2RTZJC-D817O-GT.js → chunk-KX2RTZJC-nZdp86aN.js} +1 -1
- package/dist/assets/chunk-NQ4KR5QH-CMH6EDP2.js +220 -0
- package/dist/assets/{chunk-QZHKN3VN-VMEn-zxh.js → chunk-QZHKN3VN-DvUQ3mnO.js} +1 -1
- package/dist/assets/chunk-WL4C6EOR-Dn7db_6t.js +189 -0
- package/dist/assets/classDiagram-VBA2DB6C-DtwCEe8S.js +1 -0
- package/dist/assets/classDiagram-v2-RAHNMMFH-DtwCEe8S.js +1 -0
- package/dist/assets/clone-C0lCEIEO.js +1 -0
- package/dist/assets/cose-bilkent-S5V4N54A-DD_nzqsz.js +1 -0
- package/dist/assets/cytoscape.esm-5J0xJHOV.js +321 -0
- package/dist/assets/{dagre-KLK3FWXG-Bqp7DjEa.js → dagre-KLK3FWXG-CHYIvW47.js} +1 -1
- package/dist/assets/diagram-E7M64L7V-TVdvHtGc.js +24 -0
- package/dist/assets/{diagram-IFDJBPK2--fHfW6V2.js → diagram-IFDJBPK2-Dzsiln_C.js} +1 -1
- package/dist/assets/{diagram-P4PSJMXO-D1kQI5RB.js → diagram-P4PSJMXO-DKnGbUpE.js} +1 -1
- package/dist/assets/erDiagram-INFDFZHY-5Kw0bByo.js +70 -0
- package/dist/assets/{flowDiagram-PKNHOUZH-DWeNr4yg.js → flowDiagram-PKNHOUZH-BAZ2-jKp.js} +4 -4
- package/dist/assets/ganttDiagram-A5KZAMGK-CsADFkcq.js +292 -0
- package/dist/assets/{gitGraphDiagram-K3NZZRJ6-B5a8UWjN.js → gitGraphDiagram-K3NZZRJ6-BflpyjGy.js} +1 -1
- package/dist/assets/{graph-Cw1rYoD9.js → graph-suelaXFh.js} +1 -1
- package/dist/assets/highlighted-body-OFNGDK62-CZrBMazC.js +1 -0
- package/dist/assets/index-B01NxbUv.css +1 -0
- package/dist/assets/index-DW5pGgQ_.js +2 -0
- package/dist/assets/{infoDiagram-LFFYTUFH-D2u70rhN.js → infoDiagram-LFFYTUFH-pfD1FA3p.js} +1 -1
- package/dist/assets/ishikawaDiagram-PHBUUO56-ndm9snwO.js +70 -0
- package/dist/assets/journeyDiagram-4ABVD52K-HgF2t7z5.js +139 -0
- package/dist/assets/{kanban-definition-K7BYSVSG-DbVt0v29.js → kanban-definition-K7BYSVSG-FWinmur1.js} +5 -5
- package/dist/assets/{layout-W_tRx4UV.js → layout-vcz43XvZ.js} +1 -1
- package/dist/assets/{linear-CcMb2ay-.js → linear-le4gc0vx.js} +1 -1
- package/dist/assets/mermaid-GHXKKRXX-CK8m3lad.js +870 -0
- package/dist/assets/mindmap-definition-YRQLILUH-CNq9SKj4.js +68 -0
- package/dist/assets/{pieDiagram-SKSYHLDU-CDyJaACv.js → pieDiagram-SKSYHLDU-C7PKDh3b.js} +2 -2
- package/dist/assets/quadrantDiagram-337W2JSQ-B7FnztNO.js +7 -0
- package/dist/assets/requirementDiagram-Z7DCOOCP-Bl_BM2Th.js +73 -0
- package/dist/assets/{sankeyDiagram-WA2Y5GQK-Di1ShaMF.js → sankeyDiagram-WA2Y5GQK-4gulcOP4.js} +3 -3
- package/dist/assets/sequenceDiagram-2WXFIKYE-VEuJDwyJ.js +145 -0
- package/dist/assets/{stateDiagram-RAJIS63D-CVZYMqyW.js → stateDiagram-RAJIS63D-CB4Vl7qM.js} +1 -1
- package/dist/assets/stateDiagram-v2-FVOUBMTO-C85ucl39.js +1 -0
- package/dist/assets/timeline-definition-YZTLITO2-BPGKhi7f.js +61 -0
- package/dist/assets/{treemap-KZPCXAKY-CGG4gx3C.js → treemap-KZPCXAKY-DZSEE6Hz.js} +58 -58
- package/dist/assets/vendor-codemirror-CyOKkaQZ.js +31 -0
- package/dist/assets/vendor-react-CP4yFTs7.js +8 -0
- package/dist/assets/vendor-xterm-DfcmCpbH.js +66 -0
- package/dist/assets/{vennDiagram-LZ73GAT5-Dds37L2k.js → vennDiagram-LZ73GAT5-8E_G06fI.js} +4 -4
- package/dist/assets/xychartDiagram-JWTSCODW-CbBk50-O.js +7 -0
- package/dist/index.html +4 -4
- package/package.json +2 -1
- package/server/_legacy-providers/README.md +30 -0
- package/server/_legacy-providers/claude-sdk.js +956 -0
- package/server/_legacy-providers/gemini-cli.js +368 -0
- package/server/_legacy-providers/openai-codex.js +705 -0
- package/server/_legacy-providers/opencode-cli.js +674 -0
- package/server/acp-runtime/client.js +1805 -0
- package/server/acp-runtime/client.test.js +688 -0
- package/server/acp-runtime/index.js +419 -0
- package/server/acp-runtime/registry.js +45 -0
- package/server/acp-runtime/session-store.js +254 -0
- package/server/acp-runtime/session-store.test.js +89 -0
- package/server/channels/runtime/AgentRuntimeAdapter.js +21 -70
- package/server/claude-sdk.js +24 -944
- package/server/cli.js +4 -2
- package/server/external-agent/service.js +52 -63
- package/server/gemini-cli.js +23 -360
- package/server/index.js +47 -44
- package/server/openai-codex.js +24 -698
- package/server/opencode-cli.js +70 -640
- package/server/routes/agent.js +2 -0
- package/server/routes/git.js +3 -20
- package/server/routes/session-core.js +44 -10
- package/server/session-core/abortSession.js +2 -18
- package/server/session-core/eventStore.js +5 -1
- package/server/session-core/providerAdapters.js +98 -10
- package/server/session-core/runtimeState.js +16 -17
- package/server/session-core/runtimeWriter.js +19 -12
- package/shared/conversationEvents.js +347 -10
- package/shared/conversationEvents.test.js +403 -0
- package/dist/assets/App-CYTE30Cf.js +0 -484
- package/dist/assets/App-qxJ8_QYu.css +0 -32
- package/dist/assets/ReviewApp-BEicSBzW.js +0 -1
- package/dist/assets/architectureDiagram-2XIMDMQ5-BubZ7T3U.js +0 -36
- package/dist/assets/c4Diagram-IC4MRINW-jhjtOQ12.js +0 -10
- package/dist/assets/channel-RmqTALN0.js +0 -1
- package/dist/assets/chunk-NQ4KR5QH-DyujyOvx.js +0 -220
- package/dist/assets/chunk-WL4C6EOR-CQHHFLvx.js +0 -189
- package/dist/assets/classDiagram-VBA2DB6C-wvVV1ggz.js +0 -1
- package/dist/assets/classDiagram-v2-RAHNMMFH-wvVV1ggz.js +0 -1
- package/dist/assets/clone-oT5aWXpf.js +0 -1
- package/dist/assets/cose-bilkent-S5V4N54A-qykDd54p.js +0 -1
- package/dist/assets/cytoscape.esm-2ZfV8NB5.js +0 -331
- package/dist/assets/diagram-E7M64L7V-BKtx468K.js +0 -24
- package/dist/assets/erDiagram-INFDFZHY-DT9YzdNw.js +0 -70
- package/dist/assets/ganttDiagram-A5KZAMGK--IgwcUhI.js +0 -292
- package/dist/assets/highlighted-body-TPN3WLV5-BCxJHuqY.js +0 -1
- package/dist/assets/index-CBuAXA5S.js +0 -2
- package/dist/assets/index-CyLWKyxy.css +0 -1
- package/dist/assets/ishikawaDiagram-PHBUUO56-Cl8yrezU.js +0 -70
- package/dist/assets/journeyDiagram-4ABVD52K-ddP0AMU9.js +0 -139
- package/dist/assets/mermaid-O7DHMXV3-BBJqt8pT.js +0 -988
- package/dist/assets/mindmap-definition-YRQLILUH-BGhZa7Na.js +0 -68
- package/dist/assets/quadrantDiagram-337W2JSQ-BSYuqf0Q.js +0 -7
- package/dist/assets/requirementDiagram-Z7DCOOCP-Cfi9YX9H.js +0 -73
- package/dist/assets/sequenceDiagram-2WXFIKYE-CYTTG38e.js +0 -145
- package/dist/assets/stateDiagram-v2-FVOUBMTO-Bbl0b4-i.js +0 -1
- package/dist/assets/timeline-definition-YZTLITO2-B1sdb5mK.js +0 -61
- package/dist/assets/vendor-codemirror-Dz7_EqNA.js +0 -39
- package/dist/assets/vendor-react-Cpt6D04s.js +0 -59
- package/dist/assets/vendor-xterm-DfaPXD3y.js +0 -66
- package/dist/assets/xychartDiagram-JWTSCODW-C8QKSyRR.js +0 -7
package/server/index.js
CHANGED
|
@@ -97,10 +97,13 @@ import fetch from 'node-fetch';
|
|
|
97
97
|
import mime from 'mime-types';
|
|
98
98
|
|
|
99
99
|
import { getProjects, getSessions, getSessionMessages, renameProject, deleteSession, deleteProject, addProjectManually, extractProjectDirectory, clearProjectDirectoryCache, clearProviderSessionLookupCaches, getGeminiSessionMessages } from './projects.js';
|
|
100
|
-
import {
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
100
|
+
import {
|
|
101
|
+
executeAgentPrompt,
|
|
102
|
+
getActiveAgentSessions,
|
|
103
|
+
isAgentSessionActive,
|
|
104
|
+
resolveAgentPermission,
|
|
105
|
+
setAgentSessionMode
|
|
106
|
+
} from './acp-runtime/index.js';
|
|
104
107
|
import gitRoutes from './routes/git.js';
|
|
105
108
|
import authRoutes from './routes/auth.js';
|
|
106
109
|
import mcpRoutes from './routes/mcp.js';
|
|
@@ -1112,31 +1115,24 @@ function handleChatConnection(ws) {
|
|
|
1112
1115
|
try {
|
|
1113
1116
|
data = JSON.parse(message);
|
|
1114
1117
|
|
|
1115
|
-
|
|
1116
|
-
console.log('[DEBUG] User message:', data.command || '[Continue/Resume]');
|
|
1117
|
-
console.log('📁 Project:', data.options?.projectPath || 'Unknown');
|
|
1118
|
-
console.log('🔄 Session:', data.options?.sessionId ? 'Resume' : 'New');
|
|
1118
|
+
const agentCommandTypes = ['claude-command', 'codex-command', 'gemini-command', 'opencode-command'];
|
|
1119
1119
|
|
|
1120
|
-
|
|
1121
|
-
|
|
1122
|
-
|
|
1123
|
-
console.log('[DEBUG] Codex message:', data.command || '[Continue/Resume]');
|
|
1124
|
-
console.log('📁 Project:', data.options?.projectPath || data.options?.cwd || 'Unknown');
|
|
1125
|
-
console.log('🔄 Session:', data.options?.sessionId ? 'Resume' : 'New');
|
|
1126
|
-
console.log('🤖 Model:', data.options?.model || 'default');
|
|
1127
|
-
await queryCodex(data.command, data.options, new SessionEventMirrorWriter(baseWriter, 'codex'));
|
|
1128
|
-
} else if (data.type === 'gemini-command') {
|
|
1129
|
-
console.log('[DEBUG] Gemini message:', data.command || '[Continue/Resume]');
|
|
1120
|
+
if (agentCommandTypes.includes(data.type)) {
|
|
1121
|
+
const agentKey = data.type.replace(/-command$/, '');
|
|
1122
|
+
console.log(`[DEBUG] ${agentKey} message:`, data.command || '[Continue/Resume]');
|
|
1130
1123
|
console.log('📁 Project:', data.options?.projectPath || data.options?.cwd || 'Unknown');
|
|
1131
1124
|
console.log('🔄 Session:', data.options?.sessionId ? 'Resume' : 'New');
|
|
1132
1125
|
console.log('🤖 Model:', data.options?.model || 'default');
|
|
1133
|
-
|
|
1134
|
-
|
|
1135
|
-
|
|
1136
|
-
|
|
1137
|
-
|
|
1138
|
-
|
|
1139
|
-
|
|
1126
|
+
|
|
1127
|
+
await executeAgentPrompt({
|
|
1128
|
+
agentKey,
|
|
1129
|
+
command: data.command,
|
|
1130
|
+
options: {
|
|
1131
|
+
...(data.options || {}),
|
|
1132
|
+
clientRequestId: data.clientRequestId || data.options?.clientRequestId || null
|
|
1133
|
+
},
|
|
1134
|
+
writer: new SessionEventMirrorWriter(baseWriter, agentKey)
|
|
1135
|
+
});
|
|
1140
1136
|
} else if (data.type === 'abort-session') {
|
|
1141
1137
|
console.log('[DEBUG] Abort session request:', data.sessionId);
|
|
1142
1138
|
const provider = typeof data.provider === 'string' && data.provider.trim()
|
|
@@ -1147,13 +1143,29 @@ function handleChatConnection(ws) {
|
|
|
1147
1143
|
sessionId: data.sessionId,
|
|
1148
1144
|
writer: getSessionWriter(provider)
|
|
1149
1145
|
});
|
|
1150
|
-
} else if (data.type === '
|
|
1151
|
-
|
|
1152
|
-
|
|
1153
|
-
|
|
1146
|
+
} else if (data.type === 'set-session-mode') {
|
|
1147
|
+
const provider = typeof data.provider === 'string' && data.provider.trim()
|
|
1148
|
+
? data.provider.trim().toLowerCase()
|
|
1149
|
+
: 'claude';
|
|
1150
|
+
const modeId = String(data.modeId || '').trim();
|
|
1151
|
+
if (!data.sessionId || !modeId) {
|
|
1152
|
+
throw new Error('set-session-mode requires sessionId and modeId');
|
|
1153
|
+
}
|
|
1154
|
+
|
|
1155
|
+
const changed = await setAgentSessionMode(provider, data.sessionId, modeId, {
|
|
1156
|
+
writer: getSessionWriter(provider)
|
|
1157
|
+
});
|
|
1158
|
+
|
|
1159
|
+
if (!changed) {
|
|
1160
|
+
throw new Error(`Unable to set session mode for ${provider}:${data.sessionId}`);
|
|
1161
|
+
}
|
|
1162
|
+
} else if (data.type === 'permission-response' || data.type === 'claude-permission-response') {
|
|
1154
1163
|
if (data.requestId) {
|
|
1155
|
-
|
|
1164
|
+
resolveAgentPermission(data.requestId, {
|
|
1156
1165
|
allow: Boolean(data.allow),
|
|
1166
|
+
optionId: data.optionId,
|
|
1167
|
+
outcome: data.outcome,
|
|
1168
|
+
cancelled: data.outcome?.outcome === 'cancelled' || Boolean(data.cancelled),
|
|
1157
1169
|
updatedInput: data.updatedInput,
|
|
1158
1170
|
message: data.message,
|
|
1159
1171
|
rememberEntry: data.rememberEntry
|
|
@@ -1164,17 +1176,7 @@ function handleChatConnection(ws) {
|
|
|
1164
1176
|
const provider = data.provider || 'claude';
|
|
1165
1177
|
const sessionId = data.sessionId;
|
|
1166
1178
|
const sessionWriter = getSessionWriter(provider);
|
|
1167
|
-
|
|
1168
|
-
if (provider === 'codex') {
|
|
1169
|
-
isActive = isCodexSessionActive(sessionId);
|
|
1170
|
-
} else if (provider === 'gemini') {
|
|
1171
|
-
isActive = isGeminiSessionActive(sessionId);
|
|
1172
|
-
} else if (provider === 'opencode') {
|
|
1173
|
-
isActive = isOpencodeSessionActive(sessionId);
|
|
1174
|
-
} else {
|
|
1175
|
-
// Use Claude Agents SDK
|
|
1176
|
-
isActive = isClaudeSDKSessionActive(sessionId);
|
|
1177
|
-
}
|
|
1179
|
+
const isActive = isAgentSessionActive(provider, sessionId);
|
|
1178
1180
|
|
|
1179
1181
|
sessionWriter.send({
|
|
1180
1182
|
type: 'session-status',
|
|
@@ -1185,9 +1187,10 @@ function handleChatConnection(ws) {
|
|
|
1185
1187
|
} else if (data.type === 'get-active-sessions') {
|
|
1186
1188
|
// Get all currently active sessions
|
|
1187
1189
|
const activeSessions = {
|
|
1188
|
-
claude:
|
|
1189
|
-
|
|
1190
|
-
|
|
1190
|
+
claude: getActiveAgentSessions('claude'),
|
|
1191
|
+
codex: getActiveAgentSessions('codex'),
|
|
1192
|
+
gemini: getActiveAgentSessions('gemini'),
|
|
1193
|
+
opencode: getActiveAgentSessions('opencode')
|
|
1191
1194
|
};
|
|
1192
1195
|
baseWriter.send({
|
|
1193
1196
|
type: 'active-sessions',
|