codexmate 0.0.27 → 0.0.28
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/README.md +421 -421
- package/README.zh.md +354 -354
- package/cli/agents-files.js +224 -224
- package/cli/archive-helpers.js +446 -446
- package/cli/auth-profiles.js +375 -375
- package/cli/builtin-proxy.js +1620 -1299
- package/cli/claude-proxy.js +1022 -1022
- package/cli/config-bootstrap.js +384 -384
- package/cli/config-health.js +338 -338
- package/cli/doctor-core.js +903 -903
- package/cli/import-skills-url.js +356 -356
- package/cli/openai-bridge.js +1489 -1091
- package/cli/openclaw-config.js +629 -629
- package/cli/session-convert-args.js +65 -65
- package/cli/session-convert-io.js +82 -82
- package/cli/session-convert.js +43 -43
- package/cli/session-usage.concurrent.js +28 -28
- package/cli/session-usage.js +118 -118
- package/cli/session-usage.models.js +176 -176
- package/cli/skills.js +1141 -1141
- package/cli/zip-commands.js +510 -510
- package/cli.js +15264 -15251
- package/lib/automation.js +404 -404
- package/lib/cli-file-utils.js +151 -151
- package/lib/cli-models-utils.js +440 -379
- package/lib/cli-network-utils.js +190 -190
- package/lib/cli-path-utils.js +85 -85
- package/lib/cli-session-utils.js +121 -121
- package/lib/cli-sessions.js +417 -417
- package/lib/cli-utils.js +155 -155
- package/lib/download-artifacts.js +92 -92
- package/lib/mcp-stdio.js +453 -453
- package/lib/task-orchestrator.js +869 -869
- package/lib/text-diff.js +303 -303
- package/lib/workflow-engine.js +340 -340
- package/package.json +3 -1
- package/plugins/README.md +20 -20
- package/plugins/README.zh-CN.md +20 -20
- package/plugins/prompt-templates/comment-polish/index.mjs +25 -25
- package/plugins/prompt-templates/computed.mjs +253 -253
- package/plugins/prompt-templates/index.mjs +8 -8
- package/plugins/prompt-templates/manifest.mjs +15 -15
- package/plugins/prompt-templates/methods.mjs +553 -619
- package/plugins/prompt-templates/overview.mjs +91 -90
- package/plugins/prompt-templates/ownership.mjs +19 -19
- package/plugins/prompt-templates/rule-ack/index.mjs +21 -21
- package/plugins/prompt-templates/storage.mjs +64 -64
- package/plugins/registry.mjs +16 -16
- package/web-ui/app.js +625 -634
- package/web-ui/index.html +35 -35
- package/web-ui/logic.agents-diff.mjs +386 -386
- package/web-ui/logic.claude.mjs +168 -168
- package/web-ui/logic.codex.mjs +56 -0
- package/web-ui/logic.mjs +5 -5
- package/web-ui/logic.runtime.mjs +128 -128
- package/web-ui/logic.session-convert.mjs +70 -70
- package/web-ui/logic.sessions.mjs +765 -765
- package/web-ui/modules/api.mjs +90 -90
- package/web-ui/modules/app.computed.dashboard.mjs +225 -171
- package/web-ui/modules/app.computed.index.mjs +17 -17
- package/web-ui/modules/app.computed.main-tabs.mjs +205 -205
- package/web-ui/modules/app.computed.session.mjs +994 -994
- package/web-ui/modules/app.constants.mjs +15 -15
- package/web-ui/modules/app.methods.agents.mjs +632 -632
- package/web-ui/modules/app.methods.claude-config.mjs +190 -184
- package/web-ui/modules/app.methods.codex-config.mjs +892 -860
- package/web-ui/modules/app.methods.index.mjs +92 -92
- package/web-ui/modules/app.methods.install.mjs +205 -205
- package/web-ui/modules/app.methods.navigation.mjs +743 -743
- package/web-ui/modules/app.methods.openclaw-core.mjs +814 -814
- package/web-ui/modules/app.methods.openclaw-editing.mjs +372 -372
- package/web-ui/modules/app.methods.openclaw-persist.mjs +369 -369
- package/web-ui/modules/app.methods.providers.mjs +412 -404
- package/web-ui/modules/app.methods.runtime.mjs +345 -345
- package/web-ui/modules/app.methods.session-actions.mjs +593 -596
- package/web-ui/modules/app.methods.session-browser.mjs +984 -989
- package/web-ui/modules/app.methods.session-timeline.mjs +479 -479
- package/web-ui/modules/app.methods.session-trash.mjs +439 -439
- package/web-ui/modules/app.methods.startup-claude.mjs +533 -526
- package/web-ui/modules/app.methods.task-orchestration.mjs +556 -556
- package/web-ui/modules/config-mode.computed.mjs +124 -124
- package/web-ui/modules/config-template-confirm-pref.mjs +33 -33
- package/web-ui/modules/i18n.dict.mjs +2109 -2131
- package/web-ui/modules/i18n.mjs +56 -56
- package/web-ui/modules/plugins.computed.mjs +3 -3
- package/web-ui/modules/plugins.methods.mjs +3 -3
- package/web-ui/modules/plugins.storage.mjs +11 -11
- package/web-ui/modules/provider-url-display.mjs +17 -0
- package/web-ui/modules/sessions-filters-url.mjs +85 -85
- package/web-ui/modules/skills.computed.mjs +107 -107
- package/web-ui/modules/skills.methods.mjs +481 -481
- package/web-ui/partials/index/layout-footer.html +13 -13
- package/web-ui/partials/index/layout-header.html +475 -475
- package/web-ui/partials/index/modal-config-template-agents.html +174 -174
- package/web-ui/partials/index/modal-confirm-toast.html +32 -32
- package/web-ui/partials/index/modal-health-check.html +45 -45
- package/web-ui/partials/index/modal-openclaw-config.html +280 -280
- package/web-ui/partials/index/modal-skills.html +200 -200
- package/web-ui/partials/index/modals-basic.html +165 -165
- package/web-ui/partials/index/panel-config-claude.html +188 -187
- package/web-ui/partials/index/panel-config-codex.html +312 -283
- package/web-ui/partials/index/panel-config-openclaw.html +83 -83
- package/web-ui/partials/index/panel-dashboard.html +186 -186
- package/web-ui/partials/index/panel-docs.html +147 -147
- package/web-ui/partials/index/panel-market.html +177 -177
- package/web-ui/partials/index/panel-orchestration.html +391 -391
- package/web-ui/partials/index/panel-plugins.html +253 -279
- package/web-ui/partials/index/panel-sessions.html +316 -326
- package/web-ui/partials/index/panel-settings.html +253 -274
- package/web-ui/partials/index/panel-usage.html +371 -371
- package/web-ui/res/json5.min.js +1 -1
- package/web-ui/res/vue.global.prod.js +13 -13
- package/web-ui/session-helpers.mjs +576 -576
- package/web-ui/source-bundle.cjs +233 -233
- package/web-ui/styles/base-theme.css +281 -268
- package/web-ui/styles/controls-forms.css +422 -423
- package/web-ui/styles/dashboard.css +274 -274
- package/web-ui/styles/docs-panel.css +247 -247
- package/web-ui/styles/feedback.css +108 -108
- package/web-ui/styles/health-check-dialog.css +144 -144
- package/web-ui/styles/layout-shell.css +606 -603
- package/web-ui/styles/modals-core.css +466 -464
- package/web-ui/styles/navigation-panels.css +391 -390
- package/web-ui/styles/openclaw-structured.css +266 -266
- package/web-ui/styles/plugins-panel.css +523 -523
- package/web-ui/styles/responsive.css +454 -454
- package/web-ui/styles/sessions-list.css +419 -415
- package/web-ui/styles/sessions-preview.css +411 -411
- package/web-ui/styles/sessions-toolbar-trash.css +330 -330
- package/web-ui/styles/sessions-usage.css +1040 -1040
- package/web-ui/styles/settings-panel.css +185 -185
- package/web-ui/styles/skills-list.css +303 -303
- package/web-ui/styles/skills-market.css +406 -406
- package/web-ui/styles/task-orchestration.css +822 -822
- package/web-ui/styles/titles-cards.css +472 -408
- package/web-ui/styles.css +21 -21
- package/web-ui.html +17 -17
|
@@ -1,70 +1,70 @@
|
|
|
1
|
-
function stripLeadingSystemMessage(messages) {
|
|
2
|
-
if (!Array.isArray(messages) || messages.length < 2) return messages;
|
|
3
|
-
const first = messages[0];
|
|
4
|
-
if (!first || first.role !== 'system') return messages;
|
|
5
|
-
return messages.slice(1);
|
|
6
|
-
}
|
|
7
|
-
|
|
8
|
-
function toIsoTimestamp(value, fallback) {
|
|
9
|
-
const text = typeof value === 'string' ? value.trim() : '';
|
|
10
|
-
if (text) return text;
|
|
11
|
-
return typeof fallback === 'string' ? fallback : '';
|
|
12
|
-
}
|
|
13
|
-
|
|
14
|
-
export function normalizeSessionConvertSource(value) {
|
|
15
|
-
const normalized = typeof value === 'string' ? value.trim().toLowerCase() : '';
|
|
16
|
-
if (normalized === 'codex' || normalized === 'claude') return normalized;
|
|
17
|
-
return '';
|
|
18
|
-
}
|
|
19
|
-
|
|
20
|
-
export function getConvertTargetSource(source) {
|
|
21
|
-
return source === 'codex' ? 'claude' : (source === 'claude' ? 'codex' : '');
|
|
22
|
-
}
|
|
23
|
-
|
|
24
|
-
export function buildConvertedSessionJsonl(target, payload) {
|
|
25
|
-
const now = Date.now();
|
|
26
|
-
const baseTime = new Date(now).toISOString();
|
|
27
|
-
const sessionId = typeof payload.sessionId === 'string' ? payload.sessionId : '';
|
|
28
|
-
const cwd = typeof payload.cwd === 'string' ? payload.cwd : '';
|
|
29
|
-
const rawMessages = Array.isArray(payload.messages) ? payload.messages : [];
|
|
30
|
-
const messages = stripLeadingSystemMessage(rawMessages);
|
|
31
|
-
const lines = [];
|
|
32
|
-
|
|
33
|
-
if (target === 'codex') {
|
|
34
|
-
lines.push(JSON.stringify({ type: 'session_meta', timestamp: baseTime, payload: { id: sessionId, cwd } }));
|
|
35
|
-
for (let i = 0; i < messages.length; i += 1) {
|
|
36
|
-
const message = messages[i];
|
|
37
|
-
if (!message) continue;
|
|
38
|
-
const role = message.role === 'user' || message.role === 'assistant' || message.role === 'system'
|
|
39
|
-
? message.role
|
|
40
|
-
: 'assistant';
|
|
41
|
-
const text = typeof message.text === 'string' ? message.text : '';
|
|
42
|
-
if (!text) continue;
|
|
43
|
-
lines.push(JSON.stringify({
|
|
44
|
-
type: 'response_item',
|
|
45
|
-
timestamp: toIsoTimestamp(message.timestamp, new Date(now + i).toISOString()),
|
|
46
|
-
payload: { type: 'message', role, content: text }
|
|
47
|
-
}));
|
|
48
|
-
}
|
|
49
|
-
return `${lines.join('\n')}\n`;
|
|
50
|
-
}
|
|
51
|
-
|
|
52
|
-
for (let i = 0; i < messages.length; i += 1) {
|
|
53
|
-
const message = messages[i];
|
|
54
|
-
if (!message) continue;
|
|
55
|
-
const role = message.role === 'user' || message.role === 'assistant' || message.role === 'system'
|
|
56
|
-
? message.role
|
|
57
|
-
: 'assistant';
|
|
58
|
-
const text = typeof message.text === 'string' ? message.text : '';
|
|
59
|
-
if (!text) continue;
|
|
60
|
-
lines.push(JSON.stringify({
|
|
61
|
-
type: role,
|
|
62
|
-
timestamp: toIsoTimestamp(message.timestamp, new Date(now + i).toISOString()),
|
|
63
|
-
sessionId,
|
|
64
|
-
cwd,
|
|
65
|
-
message: { content: text }
|
|
66
|
-
}));
|
|
67
|
-
}
|
|
68
|
-
return `${lines.join('\n')}\n`;
|
|
69
|
-
}
|
|
70
|
-
|
|
1
|
+
function stripLeadingSystemMessage(messages) {
|
|
2
|
+
if (!Array.isArray(messages) || messages.length < 2) return messages;
|
|
3
|
+
const first = messages[0];
|
|
4
|
+
if (!first || first.role !== 'system') return messages;
|
|
5
|
+
return messages.slice(1);
|
|
6
|
+
}
|
|
7
|
+
|
|
8
|
+
function toIsoTimestamp(value, fallback) {
|
|
9
|
+
const text = typeof value === 'string' ? value.trim() : '';
|
|
10
|
+
if (text) return text;
|
|
11
|
+
return typeof fallback === 'string' ? fallback : '';
|
|
12
|
+
}
|
|
13
|
+
|
|
14
|
+
export function normalizeSessionConvertSource(value) {
|
|
15
|
+
const normalized = typeof value === 'string' ? value.trim().toLowerCase() : '';
|
|
16
|
+
if (normalized === 'codex' || normalized === 'claude') return normalized;
|
|
17
|
+
return '';
|
|
18
|
+
}
|
|
19
|
+
|
|
20
|
+
export function getConvertTargetSource(source) {
|
|
21
|
+
return source === 'codex' ? 'claude' : (source === 'claude' ? 'codex' : '');
|
|
22
|
+
}
|
|
23
|
+
|
|
24
|
+
export function buildConvertedSessionJsonl(target, payload) {
|
|
25
|
+
const now = Date.now();
|
|
26
|
+
const baseTime = new Date(now).toISOString();
|
|
27
|
+
const sessionId = typeof payload.sessionId === 'string' ? payload.sessionId : '';
|
|
28
|
+
const cwd = typeof payload.cwd === 'string' ? payload.cwd : '';
|
|
29
|
+
const rawMessages = Array.isArray(payload.messages) ? payload.messages : [];
|
|
30
|
+
const messages = stripLeadingSystemMessage(rawMessages);
|
|
31
|
+
const lines = [];
|
|
32
|
+
|
|
33
|
+
if (target === 'codex') {
|
|
34
|
+
lines.push(JSON.stringify({ type: 'session_meta', timestamp: baseTime, payload: { id: sessionId, cwd } }));
|
|
35
|
+
for (let i = 0; i < messages.length; i += 1) {
|
|
36
|
+
const message = messages[i];
|
|
37
|
+
if (!message) continue;
|
|
38
|
+
const role = message.role === 'user' || message.role === 'assistant' || message.role === 'system'
|
|
39
|
+
? message.role
|
|
40
|
+
: 'assistant';
|
|
41
|
+
const text = typeof message.text === 'string' ? message.text : '';
|
|
42
|
+
if (!text) continue;
|
|
43
|
+
lines.push(JSON.stringify({
|
|
44
|
+
type: 'response_item',
|
|
45
|
+
timestamp: toIsoTimestamp(message.timestamp, new Date(now + i).toISOString()),
|
|
46
|
+
payload: { type: 'message', role, content: text }
|
|
47
|
+
}));
|
|
48
|
+
}
|
|
49
|
+
return `${lines.join('\n')}\n`;
|
|
50
|
+
}
|
|
51
|
+
|
|
52
|
+
for (let i = 0; i < messages.length; i += 1) {
|
|
53
|
+
const message = messages[i];
|
|
54
|
+
if (!message) continue;
|
|
55
|
+
const role = message.role === 'user' || message.role === 'assistant' || message.role === 'system'
|
|
56
|
+
? message.role
|
|
57
|
+
: 'assistant';
|
|
58
|
+
const text = typeof message.text === 'string' ? message.text : '';
|
|
59
|
+
if (!text) continue;
|
|
60
|
+
lines.push(JSON.stringify({
|
|
61
|
+
type: role,
|
|
62
|
+
timestamp: toIsoTimestamp(message.timestamp, new Date(now + i).toISOString()),
|
|
63
|
+
sessionId,
|
|
64
|
+
cwd,
|
|
65
|
+
message: { content: text }
|
|
66
|
+
}));
|
|
67
|
+
}
|
|
68
|
+
return `${lines.join('\n')}\n`;
|
|
69
|
+
}
|
|
70
|
+
|