codexmate 0.1.8 → 0.1.10
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/cli.js +63 -2696
- package/package.json +1 -1
- package/web-ui/app.js +27 -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.index.mjs +1 -3
- package/web-ui/modules/app.methods.navigation.mjs +1 -2
- package/web-ui/modules/app.methods.session-actions.mjs +146 -21
- package/web-ui/modules/app.methods.session-browser.mjs +5 -0
- package/web-ui/modules/app.methods.web-ui-preferences.mjs +20 -9
- package/web-ui/modules/i18n/locales/en.mjs +14 -265
- package/web-ui/modules/i18n/locales/ja.mjs +14 -265
- package/web-ui/modules/i18n/locales/vi.mjs +14 -266
- package/web-ui/modules/i18n/locales/zh-tw.mjs +14 -265
- package/web-ui/modules/i18n/locales/zh.mjs +14 -265
- package/web-ui/partials/index/layout-header.html +0 -48
- package/web-ui/partials/index/panel-dashboard.html +0 -21
- package/web-ui/partials/index/panel-sessions.html +30 -2
- package/web-ui/res/web-ui-render.precompiled.js +105 -1193
- package/web-ui/session-helpers.mjs +3 -16
- package/web-ui/styles/sessions-list.css +96 -0
- 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
|
@@ -155,7 +155,7 @@ document.addEventListener('DOMContentLoaded', () => {
|
|
|
155
155
|
agentsModalTitle: 'AGENTS.md 编辑器',
|
|
156
156
|
agentsModalHint: '保存后会写入目标 AGENTS.md(与 config.toml 同级)。',
|
|
157
157
|
sysPromptScope: 'global',
|
|
158
|
-
sysPromptMode: '
|
|
158
|
+
sysPromptMode: 'system',
|
|
159
159
|
sysPromptContent: '',
|
|
160
160
|
sysPromptOriginalContent: '',
|
|
161
161
|
sysPromptPath: '',
|
|
@@ -240,6 +240,9 @@ document.addEventListener('DOMContentLoaded', () => {
|
|
|
240
240
|
sessionImportingNative: {},
|
|
241
241
|
sessionCloning: {},
|
|
242
242
|
sessionDeleting: {},
|
|
243
|
+
sessionDeletingSelected: false,
|
|
244
|
+
sessionBatchSelectMode: false,
|
|
245
|
+
sessionSelectedKeys: {},
|
|
243
246
|
activeSession: null,
|
|
244
247
|
activeSessionMessages: [],
|
|
245
248
|
activeSessionDetailError: '',
|
|
@@ -477,45 +480,6 @@ document.addEventListener('DOMContentLoaded', () => {
|
|
|
477
480
|
sidebarCollapsed: false,
|
|
478
481
|
sessionLoadNativeDialog: false,
|
|
479
482
|
starPrompted: false,
|
|
480
|
-
taskOrchestrationTabEnabled: true,
|
|
481
|
-
taskOrchestration: {
|
|
482
|
-
loading: false,
|
|
483
|
-
planning: false,
|
|
484
|
-
running: false,
|
|
485
|
-
queueAdding: false,
|
|
486
|
-
queueStarting: false,
|
|
487
|
-
retrying: false,
|
|
488
|
-
target: '',
|
|
489
|
-
chatDraft: '',
|
|
490
|
-
title: '',
|
|
491
|
-
notes: '',
|
|
492
|
-
workspacePath: '',
|
|
493
|
-
threadId: '',
|
|
494
|
-
followUpsText: '',
|
|
495
|
-
workflowIdsText: '',
|
|
496
|
-
selectedEngine: 'openai-chat',
|
|
497
|
-
runMode: 'write',
|
|
498
|
-
concurrency: 2,
|
|
499
|
-
autoFixRounds: 1,
|
|
500
|
-
plan: null,
|
|
501
|
-
planFingerprint: '',
|
|
502
|
-
planIssues: [],
|
|
503
|
-
planWarnings: [],
|
|
504
|
-
overviewWarnings: [],
|
|
505
|
-
workflows: [],
|
|
506
|
-
queue: [],
|
|
507
|
-
runs: [],
|
|
508
|
-
selectedRunId: '',
|
|
509
|
-
workspaceTab: 'queue',
|
|
510
|
-
selectedRunDetail: null,
|
|
511
|
-
selectedRunLoading: false,
|
|
512
|
-
selectedRunError: '',
|
|
513
|
-
detailRequestToken: 0,
|
|
514
|
-
settingsOpen: false,
|
|
515
|
-
lastLoadedAt: '',
|
|
516
|
-
lastError: ''
|
|
517
|
-
},
|
|
518
|
-
_taskOrchestrationPollTimer: 0,
|
|
519
483
|
webhookConfig: { enabled: false, url: '', events: ['provider-switch', 'claude-md-edit'] },
|
|
520
484
|
webhookEventOptions: ['provider-switch', 'claude-md-edit'],
|
|
521
485
|
webhookSaving: false,
|
|
@@ -532,7 +496,6 @@ document.addEventListener('DOMContentLoaded', () => {
|
|
|
532
496
|
const url = new URL(window.location.href);
|
|
533
497
|
url.pathname = '/';
|
|
534
498
|
// Preserve startup query/hash flags while normalizing the legacy web-ui path.
|
|
535
|
-
// Feature gates such as ?taskOrchestration=1 are consumed below after redirect.
|
|
536
499
|
window.location.replace(url.toString());
|
|
537
500
|
return;
|
|
538
501
|
}
|
|
@@ -565,15 +528,8 @@ document.addEventListener('DOMContentLoaded', () => {
|
|
|
565
528
|
this.agentsModalTitle = this.t('modal.agents.title');
|
|
566
529
|
this.agentsModalHint = this.t('modal.agents.hint');
|
|
567
530
|
}
|
|
568
|
-
try {
|
|
569
|
-
const url = new URL(window.location.href);
|
|
570
|
-
const requestedTaskOrchestration = String(url.searchParams.get('taskOrchestration') || '').trim().toLowerCase();
|
|
571
|
-
if (requestedTaskOrchestration === '1' || requestedTaskOrchestration === 'true') {
|
|
572
|
-
this.taskOrchestrationTabEnabled = true;
|
|
573
|
-
}
|
|
574
|
-
} catch (_) {}
|
|
575
531
|
{
|
|
576
|
-
const mainTabSet = new Set(['dashboard', 'config', 'sessions', 'usage', '
|
|
532
|
+
const mainTabSet = new Set(['dashboard', 'config', 'sessions', 'usage', 'market', 'plugins', 'docs', 'settings', 'trash', 'prompts']);
|
|
577
533
|
let urlMainTab = '';
|
|
578
534
|
try {
|
|
579
535
|
const url = new URL(window.location.href);
|
|
@@ -605,8 +561,6 @@ document.addEventListener('DOMContentLoaded', () => {
|
|
|
605
561
|
? this.getFirstSelectableMainTab()
|
|
606
562
|
: 'dashboard';
|
|
607
563
|
this.switchMainTab(fallbackTab);
|
|
608
|
-
} else if (!this.taskOrchestrationTabEnabled && this.mainTab === 'orchestration') {
|
|
609
|
-
this.switchMainTab('dashboard');
|
|
610
564
|
}
|
|
611
565
|
this.restoreSessionFilterCache();
|
|
612
566
|
this.restoreSessionPinnedMap();
|
|
@@ -747,7 +701,6 @@ document.addEventListener('DOMContentLoaded', () => {
|
|
|
747
701
|
window.removeEventListener('keydown', this.handleGlobalKeydown);
|
|
748
702
|
window.removeEventListener('beforeunload', this.handleBeforeUnload);
|
|
749
703
|
this.applyCompactLayoutClass(false);
|
|
750
|
-
this.stopTaskOrchestrationPolling();
|
|
751
704
|
this.sessionPreviewScrollEl = null;
|
|
752
705
|
this.sessionPreviewContainerEl = null;
|
|
753
706
|
this.sessionPreviewHeaderEl = null;
|
|
@@ -765,11 +718,15 @@ document.addEventListener('DOMContentLoaded', () => {
|
|
|
765
718
|
}
|
|
766
719
|
return;
|
|
767
720
|
}
|
|
768
|
-
if (newTab === 'prompts'
|
|
721
|
+
if (newTab === 'prompts') {
|
|
769
722
|
if (this.promptsSubTab === 'claude-project' && !this.projectPathOptions.length && !this.projectPathOptionsLoading && typeof this.loadProjectPathOptions === 'function') {
|
|
770
723
|
this.loadProjectPathOptions();
|
|
771
724
|
}
|
|
772
|
-
this.
|
|
725
|
+
if (this.promptsSubTab === 'system') {
|
|
726
|
+
if (typeof this.loadSystemPrompt === 'function') this.loadSystemPrompt();
|
|
727
|
+
} else if (typeof this.loadPromptsContent === 'function') {
|
|
728
|
+
this.loadPromptsContent();
|
|
729
|
+
}
|
|
773
730
|
}
|
|
774
731
|
},
|
|
775
732
|
promptsSubTab(newVal) {
|
|
@@ -780,14 +737,28 @@ document.addEventListener('DOMContentLoaded', () => {
|
|
|
780
737
|
this.__skipNextPromptsSubTabLoad = false;
|
|
781
738
|
return;
|
|
782
739
|
}
|
|
783
|
-
if (this.mainTab === 'prompts'
|
|
784
|
-
this.
|
|
740
|
+
if (this.mainTab === 'prompts') {
|
|
741
|
+
if (this.promptsSubTab === 'system') {
|
|
742
|
+
if (typeof this.loadSystemPrompt === 'function') this.loadSystemPrompt();
|
|
743
|
+
} else if (typeof this.loadPromptsContent === 'function') {
|
|
744
|
+
this.loadPromptsContent();
|
|
745
|
+
}
|
|
785
746
|
}
|
|
786
747
|
},
|
|
787
748
|
projectClaudeMdPath(newPath) {
|
|
788
749
|
if (typeof this.persistWebUiPreferences === 'function') {
|
|
789
750
|
this.persistWebUiPreferences({ projectClaudeMdPath: newPath || '' });
|
|
790
751
|
}
|
|
752
|
+
},
|
|
753
|
+
sysPromptScope(newVal) {
|
|
754
|
+
if (typeof this.persistWebUiPreferences === 'function') {
|
|
755
|
+
this.persistWebUiPreferences({ sysPromptScope: newVal });
|
|
756
|
+
}
|
|
757
|
+
},
|
|
758
|
+
sysPromptMode(newVal) {
|
|
759
|
+
if (typeof this.persistWebUiPreferences === 'function') {
|
|
760
|
+
this.persistWebUiPreferences({ sysPromptMode: newVal });
|
|
761
|
+
}
|
|
791
762
|
}
|
|
792
763
|
},
|
|
793
764
|
|
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() {
|