codexmate 0.1.9 → 0.1.12
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 +0 -4
- package/README.vi.md +0 -4
- package/README.zh.md +0 -4
- package/cli/agents-files.js +27 -3
- package/cli/prompt-history.js +171 -0
- package/cli/system-prompt-files.js +20 -2
- package/cli.js +83 -2694
- package/package.json +1 -1
- package/web-ui/app.js +39 -56
- package/web-ui/index.html +0 -1
- package/web-ui/modules/app.computed.dashboard.mjs +0 -3
- package/web-ui/modules/app.computed.main-tabs.mjs +0 -474
- package/web-ui/modules/app.methods.agents.mjs +90 -0
- package/web-ui/modules/app.methods.index.mjs +1 -3
- package/web-ui/modules/app.methods.navigation.mjs +8 -3
- package/web-ui/modules/app.methods.session-actions.mjs +57 -25
- package/web-ui/modules/app.methods.system-prompt.mjs +81 -0
- package/web-ui/modules/app.methods.web-ui-preferences.mjs +26 -9
- package/web-ui/modules/i18n/locales/en.mjs +10 -265
- package/web-ui/modules/i18n/locales/ja.mjs +10 -265
- package/web-ui/modules/i18n/locales/vi.mjs +10 -266
- package/web-ui/modules/i18n/locales/zh-tw.mjs +10 -265
- package/web-ui/modules/i18n/locales/zh.mjs +10 -265
- package/web-ui/partials/index/layout-header.html +5 -48
- package/web-ui/partials/index/panel-config-claude.html +3 -3
- package/web-ui/partials/index/panel-config-codex.html +3 -3
- package/web-ui/partials/index/panel-config-kilocode.html +5 -5
- package/web-ui/partials/index/panel-config-openclaw.html +3 -3
- package/web-ui/partials/index/panel-config-opencode.html +5 -5
- package/web-ui/partials/index/panel-dashboard.html +0 -21
- package/web-ui/partials/index/panel-prompts.html +52 -0
- package/web-ui/partials/index/panel-sessions.html +12 -0
- package/web-ui/partials/index/panel-settings.html +35 -0
- package/web-ui/res/web-ui-render.precompiled.js +543 -1376
- package/web-ui/session-helpers.mjs +0 -16
- package/web-ui/styles/modals-core.css +86 -0
- package/web-ui/styles/sessions-preview.css +38 -0
- package/web-ui/styles/titles-cards.css +2 -2
- package/web-ui/styles.css +0 -1
- package/lib/automation.js +0 -404
- package/lib/task-orchestrator.js +0 -938
- package/lib/task-workspace-chat.js +0 -292
- package/web-ui/modules/app.methods.task-orchestration.mjs +0 -895
- package/web-ui/partials/index/panel-orchestration.html +0 -598
- package/web-ui/styles/task-orchestration.css +0 -2979
package/package.json
CHANGED
package/web-ui/app.js
CHANGED
|
@@ -74,6 +74,13 @@ document.addEventListener('DOMContentLoaded', () => {
|
|
|
74
74
|
showAgentsModal: false,
|
|
75
75
|
promptsSubTab: 'codex',
|
|
76
76
|
projectClaudeMdPath: '',
|
|
77
|
+
promptHistoryVisible: false,
|
|
78
|
+
promptHistoryLoading: false,
|
|
79
|
+
promptHistoryBucket: '',
|
|
80
|
+
promptHistoryItems: [],
|
|
81
|
+
promptHistoryPreviewId: '',
|
|
82
|
+
promptHistoryPreviewContent: '',
|
|
83
|
+
promptHistoryError: '',
|
|
77
84
|
promptPresets: [],
|
|
78
85
|
selectedPromptPresetId: '',
|
|
79
86
|
promptPresetNameDraft: '',
|
|
@@ -130,6 +137,7 @@ document.addEventListener('DOMContentLoaded', () => {
|
|
|
130
137
|
configTemplateDiffFingerprint: '',
|
|
131
138
|
_configTemplateDiffPreviewRequestToken: null,
|
|
132
139
|
configTemplateDiffConfirmEnabled: true,
|
|
140
|
+
configModeVisibility: { codex: true, claude: true, openclaw: true, opencode: true, kilocode: true },
|
|
133
141
|
codexApplying: false,
|
|
134
142
|
_pendingCodexApplyOptions: null,
|
|
135
143
|
agentsContent: '',
|
|
@@ -155,12 +163,19 @@ document.addEventListener('DOMContentLoaded', () => {
|
|
|
155
163
|
agentsModalTitle: 'AGENTS.md 编辑器',
|
|
156
164
|
agentsModalHint: '保存后会写入目标 AGENTS.md(与 config.toml 同级)。',
|
|
157
165
|
sysPromptScope: 'global',
|
|
158
|
-
sysPromptMode: '
|
|
166
|
+
sysPromptMode: 'system',
|
|
159
167
|
sysPromptContent: '',
|
|
160
168
|
sysPromptOriginalContent: '',
|
|
161
169
|
sysPromptPath: '',
|
|
162
170
|
sysPromptExists: false,
|
|
163
171
|
sysPromptHash: '',
|
|
172
|
+
sysHistoryBucket: '',
|
|
173
|
+
sysHistoryVisible: false,
|
|
174
|
+
sysHistoryLoading: false,
|
|
175
|
+
sysHistoryItems: [],
|
|
176
|
+
sysHistoryPreviewId: '',
|
|
177
|
+
sysHistoryPreviewContent: '',
|
|
178
|
+
sysHistoryError: '',
|
|
164
179
|
sysPromptLoading: false,
|
|
165
180
|
sysPromptSaving: false,
|
|
166
181
|
sysPromptDiffVisible: false,
|
|
@@ -480,45 +495,6 @@ document.addEventListener('DOMContentLoaded', () => {
|
|
|
480
495
|
sidebarCollapsed: false,
|
|
481
496
|
sessionLoadNativeDialog: false,
|
|
482
497
|
starPrompted: false,
|
|
483
|
-
taskOrchestrationTabEnabled: true,
|
|
484
|
-
taskOrchestration: {
|
|
485
|
-
loading: false,
|
|
486
|
-
planning: false,
|
|
487
|
-
running: false,
|
|
488
|
-
queueAdding: false,
|
|
489
|
-
queueStarting: false,
|
|
490
|
-
retrying: false,
|
|
491
|
-
target: '',
|
|
492
|
-
chatDraft: '',
|
|
493
|
-
title: '',
|
|
494
|
-
notes: '',
|
|
495
|
-
workspacePath: '',
|
|
496
|
-
threadId: '',
|
|
497
|
-
followUpsText: '',
|
|
498
|
-
workflowIdsText: '',
|
|
499
|
-
selectedEngine: 'openai-chat',
|
|
500
|
-
runMode: 'write',
|
|
501
|
-
concurrency: 2,
|
|
502
|
-
autoFixRounds: 1,
|
|
503
|
-
plan: null,
|
|
504
|
-
planFingerprint: '',
|
|
505
|
-
planIssues: [],
|
|
506
|
-
planWarnings: [],
|
|
507
|
-
overviewWarnings: [],
|
|
508
|
-
workflows: [],
|
|
509
|
-
queue: [],
|
|
510
|
-
runs: [],
|
|
511
|
-
selectedRunId: '',
|
|
512
|
-
workspaceTab: 'queue',
|
|
513
|
-
selectedRunDetail: null,
|
|
514
|
-
selectedRunLoading: false,
|
|
515
|
-
selectedRunError: '',
|
|
516
|
-
detailRequestToken: 0,
|
|
517
|
-
settingsOpen: false,
|
|
518
|
-
lastLoadedAt: '',
|
|
519
|
-
lastError: ''
|
|
520
|
-
},
|
|
521
|
-
_taskOrchestrationPollTimer: 0,
|
|
522
498
|
webhookConfig: { enabled: false, url: '', events: ['provider-switch', 'claude-md-edit'] },
|
|
523
499
|
webhookEventOptions: ['provider-switch', 'claude-md-edit'],
|
|
524
500
|
webhookSaving: false,
|
|
@@ -535,7 +511,6 @@ document.addEventListener('DOMContentLoaded', () => {
|
|
|
535
511
|
const url = new URL(window.location.href);
|
|
536
512
|
url.pathname = '/';
|
|
537
513
|
// Preserve startup query/hash flags while normalizing the legacy web-ui path.
|
|
538
|
-
// Feature gates such as ?taskOrchestration=1 are consumed below after redirect.
|
|
539
514
|
window.location.replace(url.toString());
|
|
540
515
|
return;
|
|
541
516
|
}
|
|
@@ -568,15 +543,8 @@ document.addEventListener('DOMContentLoaded', () => {
|
|
|
568
543
|
this.agentsModalTitle = this.t('modal.agents.title');
|
|
569
544
|
this.agentsModalHint = this.t('modal.agents.hint');
|
|
570
545
|
}
|
|
571
|
-
try {
|
|
572
|
-
const url = new URL(window.location.href);
|
|
573
|
-
const requestedTaskOrchestration = String(url.searchParams.get('taskOrchestration') || '').trim().toLowerCase();
|
|
574
|
-
if (requestedTaskOrchestration === '1' || requestedTaskOrchestration === 'true') {
|
|
575
|
-
this.taskOrchestrationTabEnabled = true;
|
|
576
|
-
}
|
|
577
|
-
} catch (_) {}
|
|
578
546
|
{
|
|
579
|
-
const mainTabSet = new Set(['dashboard', 'config', 'sessions', 'usage', '
|
|
547
|
+
const mainTabSet = new Set(['dashboard', 'config', 'sessions', 'usage', 'market', 'plugins', 'docs', 'settings', 'trash', 'prompts']);
|
|
580
548
|
let urlMainTab = '';
|
|
581
549
|
try {
|
|
582
550
|
const url = new URL(window.location.href);
|
|
@@ -608,8 +576,6 @@ document.addEventListener('DOMContentLoaded', () => {
|
|
|
608
576
|
? this.getFirstSelectableMainTab()
|
|
609
577
|
: 'dashboard';
|
|
610
578
|
this.switchMainTab(fallbackTab);
|
|
611
|
-
} else if (!this.taskOrchestrationTabEnabled && this.mainTab === 'orchestration') {
|
|
612
|
-
this.switchMainTab('dashboard');
|
|
613
579
|
}
|
|
614
580
|
this.restoreSessionFilterCache();
|
|
615
581
|
this.restoreSessionPinnedMap();
|
|
@@ -750,7 +716,6 @@ document.addEventListener('DOMContentLoaded', () => {
|
|
|
750
716
|
window.removeEventListener('keydown', this.handleGlobalKeydown);
|
|
751
717
|
window.removeEventListener('beforeunload', this.handleBeforeUnload);
|
|
752
718
|
this.applyCompactLayoutClass(false);
|
|
753
|
-
this.stopTaskOrchestrationPolling();
|
|
754
719
|
this.sessionPreviewScrollEl = null;
|
|
755
720
|
this.sessionPreviewContainerEl = null;
|
|
756
721
|
this.sessionPreviewHeaderEl = null;
|
|
@@ -768,11 +733,15 @@ document.addEventListener('DOMContentLoaded', () => {
|
|
|
768
733
|
}
|
|
769
734
|
return;
|
|
770
735
|
}
|
|
771
|
-
if (newTab === 'prompts'
|
|
736
|
+
if (newTab === 'prompts') {
|
|
772
737
|
if (this.promptsSubTab === 'claude-project' && !this.projectPathOptions.length && !this.projectPathOptionsLoading && typeof this.loadProjectPathOptions === 'function') {
|
|
773
738
|
this.loadProjectPathOptions();
|
|
774
739
|
}
|
|
775
|
-
this.
|
|
740
|
+
if (this.promptsSubTab === 'system') {
|
|
741
|
+
if (typeof this.loadSystemPrompt === 'function') this.loadSystemPrompt();
|
|
742
|
+
} else if (typeof this.loadPromptsContent === 'function') {
|
|
743
|
+
this.loadPromptsContent();
|
|
744
|
+
}
|
|
776
745
|
}
|
|
777
746
|
},
|
|
778
747
|
promptsSubTab(newVal) {
|
|
@@ -783,14 +752,28 @@ document.addEventListener('DOMContentLoaded', () => {
|
|
|
783
752
|
this.__skipNextPromptsSubTabLoad = false;
|
|
784
753
|
return;
|
|
785
754
|
}
|
|
786
|
-
if (this.mainTab === 'prompts'
|
|
787
|
-
this.
|
|
755
|
+
if (this.mainTab === 'prompts') {
|
|
756
|
+
if (this.promptsSubTab === 'system') {
|
|
757
|
+
if (typeof this.loadSystemPrompt === 'function') this.loadSystemPrompt();
|
|
758
|
+
} else if (typeof this.loadPromptsContent === 'function') {
|
|
759
|
+
this.loadPromptsContent();
|
|
760
|
+
}
|
|
788
761
|
}
|
|
789
762
|
},
|
|
790
763
|
projectClaudeMdPath(newPath) {
|
|
791
764
|
if (typeof this.persistWebUiPreferences === 'function') {
|
|
792
765
|
this.persistWebUiPreferences({ projectClaudeMdPath: newPath || '' });
|
|
793
766
|
}
|
|
767
|
+
},
|
|
768
|
+
sysPromptScope(newVal) {
|
|
769
|
+
if (typeof this.persistWebUiPreferences === 'function') {
|
|
770
|
+
this.persistWebUiPreferences({ sysPromptScope: newVal });
|
|
771
|
+
}
|
|
772
|
+
},
|
|
773
|
+
sysPromptMode(newVal) {
|
|
774
|
+
if (typeof this.persistWebUiPreferences === 'function') {
|
|
775
|
+
this.persistWebUiPreferences({ sysPromptMode: newVal });
|
|
776
|
+
}
|
|
794
777
|
}
|
|
795
778
|
},
|
|
796
779
|
|
package/web-ui/index.html
CHANGED
|
@@ -20,7 +20,6 @@
|
|
|
20
20
|
<!-- @include ./partials/index/panel-config-kilocode.html -->
|
|
21
21
|
<!-- @include ./partials/index/panel-sessions.html -->
|
|
22
22
|
<!-- @include ./partials/index/panel-usage.html -->
|
|
23
|
-
<!-- @include ./partials/index/panel-orchestration.html -->
|
|
24
23
|
<!-- @include ./partials/index/panel-docs.html -->
|
|
25
24
|
<!-- @include ./partials/index/panel-settings.html -->
|
|
26
25
|
<!-- @include ./partials/index/panel-trash.html -->
|
|
@@ -185,9 +185,6 @@ export function createDashboardComputed() {
|
|
|
185
185
|
if (this.codexApplying || this.configTemplateApplying || this.openclawApplying) tasks.push(this.t('dashboard.busy.configApply'));
|
|
186
186
|
if (this.agentsSaving) tasks.push(this.t('dashboard.busy.agents'));
|
|
187
187
|
if (this.skillsLoading || this.skillsDeleting || this.skillsScanningImports || this.skillsImporting || this.skillsZipImporting || this.skillsExporting) tasks.push(this.t('dashboard.busy.skills'));
|
|
188
|
-
if (this.taskOrchestration && (this.taskOrchestration.loading || this.taskOrchestration.planning || this.taskOrchestration.running || this.taskOrchestration.queueAdding || this.taskOrchestration.queueStarting || this.taskOrchestration.retrying || this.taskOrchestration.selectedRunLoading)) {
|
|
189
|
-
tasks.push(this.t('dashboard.busy.tasks'));
|
|
190
|
-
}
|
|
191
188
|
return tasks.length ? tasks.join(' / ') : this.t('dashboard.busy.idle');
|
|
192
189
|
},
|
|
193
190
|
inspectorMessageSummary() {
|