@codemieai/code 0.0.36 → 0.0.38
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 +33 -0
- package/dist/agents/codemie-code/tools/assistant-invocation.d.ts.map +1 -1
- package/dist/agents/codemie-code/tools/assistant-invocation.js +2 -2
- package/dist/agents/codemie-code/tools/assistant-invocation.js.map +1 -1
- package/dist/agents/core/BaseAgentAdapter.d.ts.map +1 -1
- package/dist/agents/core/BaseAgentAdapter.js +23 -9
- package/dist/agents/core/BaseAgentAdapter.js.map +1 -1
- package/dist/agents/core/extension/BaseExtensionInstaller.d.ts.map +1 -1
- package/dist/agents/core/extension/BaseExtensionInstaller.js +11 -4
- package/dist/agents/core/extension/BaseExtensionInstaller.js.map +1 -1
- package/dist/agents/core/session/BaseProcessor.d.ts +22 -1
- package/dist/agents/core/session/BaseProcessor.d.ts.map +1 -1
- package/dist/agents/plugins/claude/claude-acp.plugin.d.ts +5 -0
- package/dist/agents/plugins/claude/claude-acp.plugin.d.ts.map +1 -1
- package/dist/agents/plugins/claude/claude-acp.plugin.js +12 -2
- package/dist/agents/plugins/claude/claude-acp.plugin.js.map +1 -1
- package/dist/agents/plugins/claude/claude.plugin.d.ts +11 -0
- package/dist/agents/plugins/claude/claude.plugin.d.ts.map +1 -1
- package/dist/agents/plugins/claude/claude.plugin.js +59 -2
- package/dist/agents/plugins/claude/claude.plugin.js.map +1 -1
- package/dist/agents/plugins/claude/claude.session.d.ts +5 -0
- package/dist/agents/plugins/claude/claude.session.d.ts.map +1 -1
- package/dist/agents/plugins/claude/claude.session.js +101 -2
- package/dist/agents/plugins/claude/claude.session.js.map +1 -1
- package/dist/agents/plugins/claude/plugin/.claude-plugin/plugin.json +1 -1
- package/dist/agents/plugins/claude/plugin/commands/README.md +103 -22
- package/dist/agents/plugins/claude/plugin/commands/memory-refresh.md +329 -18
- package/dist/agents/plugins/claude/session/processors/claude.conversations-processor.d.ts +0 -1
- package/dist/agents/plugins/claude/session/processors/claude.conversations-processor.d.ts.map +1 -1
- package/dist/agents/plugins/claude/session/processors/claude.conversations-processor.js +13 -19
- package/dist/agents/plugins/claude/session/processors/claude.conversations-processor.js.map +1 -1
- package/dist/agents/plugins/claude/session/processors/claude.metrics-processor.d.ts.map +1 -1
- package/dist/agents/plugins/claude/session/processors/claude.metrics-processor.js +29 -4
- package/dist/agents/plugins/claude/session/processors/claude.metrics-processor.js.map +1 -1
- package/dist/cli/commands/assistants/chat.js +9 -6
- package/dist/cli/commands/assistants/chat.js.map +1 -1
- package/dist/cli/commands/assistants/constants.d.ts +2 -6
- package/dist/cli/commands/assistants/constants.d.ts.map +1 -1
- package/dist/cli/commands/assistants/constants.js +2 -5
- package/dist/cli/commands/assistants/constants.js.map +1 -1
- package/dist/cli/commands/assistants/index.d.ts.map +1 -1
- package/dist/cli/commands/assistants/index.js +1 -11
- package/dist/cli/commands/assistants/index.js.map +1 -1
- package/dist/cli/commands/assistants/setup/configuration/actions.d.ts +30 -0
- package/dist/cli/commands/assistants/setup/configuration/actions.d.ts.map +1 -0
- package/dist/cli/commands/assistants/setup/configuration/actions.js +63 -0
- package/dist/cli/commands/assistants/setup/configuration/actions.js.map +1 -0
- package/dist/cli/commands/assistants/setup/configuration/constants.d.ts +49 -0
- package/dist/cli/commands/assistants/setup/configuration/constants.d.ts.map +1 -0
- package/dist/cli/commands/assistants/setup/configuration/constants.js +56 -0
- package/dist/cli/commands/assistants/setup/configuration/constants.js.map +1 -0
- package/dist/cli/commands/assistants/setup/configuration/index.d.ts +9 -0
- package/dist/cli/commands/assistants/setup/configuration/index.d.ts.map +1 -0
- package/dist/cli/commands/assistants/setup/configuration/index.js +8 -0
- package/dist/cli/commands/assistants/setup/configuration/index.js.map +1 -0
- package/dist/cli/commands/assistants/setup/configuration/selection.d.ts +12 -0
- package/dist/cli/commands/assistants/setup/configuration/selection.d.ts.map +1 -0
- package/dist/cli/commands/assistants/setup/configuration/selection.js +94 -0
- package/dist/cli/commands/assistants/setup/configuration/selection.js.map +1 -0
- package/dist/cli/commands/assistants/setup/configuration/types.d.ts +22 -0
- package/dist/cli/commands/assistants/setup/configuration/types.d.ts.map +1 -0
- package/dist/cli/commands/assistants/setup/configuration/types.js +2 -0
- package/dist/cli/commands/assistants/setup/configuration/types.js.map +1 -0
- package/dist/cli/commands/assistants/setup/configuration/ui.d.ts +9 -0
- package/dist/cli/commands/assistants/setup/configuration/ui.d.ts.map +1 -0
- package/dist/cli/commands/assistants/setup/configuration/ui.js +86 -0
- package/dist/cli/commands/assistants/setup/configuration/ui.js.map +1 -0
- package/dist/cli/commands/assistants/setup/constants.d.ts +26 -0
- package/dist/cli/commands/assistants/setup/constants.d.ts.map +1 -0
- package/dist/cli/commands/assistants/setup/constants.js +21 -0
- package/dist/cli/commands/assistants/setup/constants.js.map +1 -0
- package/dist/cli/commands/assistants/setup/data.d.ts +30 -0
- package/dist/cli/commands/assistants/setup/data.d.ts.map +1 -0
- package/dist/cli/commands/assistants/setup/data.js +125 -0
- package/dist/cli/commands/assistants/setup/data.js.map +1 -0
- package/dist/cli/commands/assistants/setup/generators/claude-agent-generator.d.ts.map +1 -0
- package/dist/cli/commands/assistants/{generators → setup/generators}/claude-agent-generator.js +6 -2
- package/dist/cli/commands/assistants/setup/generators/claude-agent-generator.js.map +1 -0
- package/dist/cli/commands/assistants/setup/generators/claude-skill-generator.d.ts +12 -0
- package/dist/cli/commands/assistants/setup/generators/claude-skill-generator.d.ts.map +1 -0
- package/dist/cli/commands/assistants/setup/generators/claude-skill-generator.js +94 -0
- package/dist/cli/commands/assistants/setup/generators/claude-skill-generator.js.map +1 -0
- package/dist/cli/commands/assistants/setup/helpers.d.ts +27 -0
- package/dist/cli/commands/assistants/setup/helpers.d.ts.map +1 -0
- package/dist/cli/commands/assistants/setup/helpers.js +94 -0
- package/dist/cli/commands/assistants/setup/helpers.js.map +1 -0
- package/dist/cli/commands/assistants/setup/index.d.ts +17 -0
- package/dist/cli/commands/assistants/setup/index.d.ts.map +1 -0
- package/dist/cli/commands/assistants/setup/index.js +193 -0
- package/dist/cli/commands/assistants/setup/index.js.map +1 -0
- package/dist/cli/commands/assistants/setup/manualConfiguration/actions.d.ts +47 -0
- package/dist/cli/commands/assistants/setup/manualConfiguration/actions.d.ts.map +1 -0
- package/dist/cli/commands/assistants/setup/manualConfiguration/actions.js +140 -0
- package/dist/cli/commands/assistants/setup/manualConfiguration/actions.js.map +1 -0
- package/dist/cli/commands/assistants/setup/manualConfiguration/constants.d.ts +56 -0
- package/dist/cli/commands/assistants/setup/manualConfiguration/constants.d.ts.map +1 -0
- package/dist/cli/commands/assistants/setup/manualConfiguration/constants.js +61 -0
- package/dist/cli/commands/assistants/setup/manualConfiguration/constants.js.map +1 -0
- package/dist/cli/commands/assistants/setup/manualConfiguration/index.d.ts +12 -0
- package/dist/cli/commands/assistants/setup/manualConfiguration/index.d.ts.map +1 -0
- package/dist/cli/commands/assistants/setup/manualConfiguration/index.js +48 -0
- package/dist/cli/commands/assistants/setup/manualConfiguration/index.js.map +1 -0
- package/dist/cli/commands/assistants/setup/manualConfiguration/interactive-prompt.d.ts +6 -0
- package/dist/cli/commands/assistants/setup/manualConfiguration/interactive-prompt.d.ts.map +1 -0
- package/dist/cli/commands/assistants/setup/manualConfiguration/interactive-prompt.js +90 -0
- package/dist/cli/commands/assistants/setup/manualConfiguration/interactive-prompt.js.map +1 -0
- package/dist/cli/commands/assistants/setup/manualConfiguration/types.d.ts +37 -0
- package/dist/cli/commands/assistants/setup/manualConfiguration/types.d.ts.map +1 -0
- package/dist/cli/commands/assistants/setup/manualConfiguration/types.js +2 -0
- package/dist/cli/commands/assistants/setup/manualConfiguration/types.js.map +1 -0
- package/dist/cli/commands/assistants/setup/manualConfiguration/ui.d.ts +6 -0
- package/dist/cli/commands/assistants/setup/manualConfiguration/ui.d.ts.map +1 -0
- package/dist/cli/commands/assistants/setup/manualConfiguration/ui.js +103 -0
- package/dist/cli/commands/assistants/setup/manualConfiguration/ui.js.map +1 -0
- package/dist/cli/commands/assistants/setup/selection/actions.d.ts +31 -0
- package/dist/cli/commands/assistants/setup/selection/actions.d.ts.map +1 -0
- package/dist/cli/commands/assistants/setup/selection/actions.js +321 -0
- package/dist/cli/commands/assistants/setup/selection/actions.js.map +1 -0
- package/dist/cli/commands/assistants/setup/selection/constants.d.ts +79 -0
- package/dist/cli/commands/assistants/setup/selection/constants.d.ts.map +1 -0
- package/dist/cli/commands/assistants/setup/selection/constants.js +90 -0
- package/dist/cli/commands/assistants/setup/selection/constants.js.map +1 -0
- package/dist/cli/commands/assistants/setup/selection/index.d.ts +25 -0
- package/dist/cli/commands/assistants/setup/selection/index.d.ts.map +1 -0
- package/dist/cli/commands/assistants/setup/selection/index.js +127 -0
- package/dist/cli/commands/assistants/setup/selection/index.js.map +1 -0
- package/dist/cli/commands/assistants/setup/selection/interactive-prompt.d.ts +20 -0
- package/dist/cli/commands/assistants/setup/selection/interactive-prompt.d.ts.map +1 -0
- package/dist/cli/commands/assistants/setup/selection/interactive-prompt.js +328 -0
- package/dist/cli/commands/assistants/setup/selection/interactive-prompt.js.map +1 -0
- package/dist/cli/commands/assistants/setup/selection/types.d.ts +27 -0
- package/dist/cli/commands/assistants/setup/selection/types.d.ts.map +1 -0
- package/dist/cli/commands/assistants/setup/selection/types.js +2 -0
- package/dist/cli/commands/assistants/setup/selection/types.js.map +1 -0
- package/dist/cli/commands/assistants/setup/selection/ui.d.ts +11 -0
- package/dist/cli/commands/assistants/setup/selection/ui.d.ts.map +1 -0
- package/dist/cli/commands/assistants/setup/selection/ui.js +189 -0
- package/dist/cli/commands/assistants/setup/selection/ui.js.map +1 -0
- package/dist/cli/commands/assistants/setup/selection/utils.d.ts +36 -0
- package/dist/cli/commands/assistants/setup/selection/utils.d.ts.map +1 -0
- package/dist/cli/commands/assistants/setup/selection/utils.js +55 -0
- package/dist/cli/commands/assistants/setup/selection/utils.js.map +1 -0
- package/dist/cli/commands/assistants/setup/summary/index.d.ts +16 -0
- package/dist/cli/commands/assistants/setup/summary/index.d.ts.map +1 -0
- package/dist/cli/commands/assistants/setup/summary/index.js +48 -0
- package/dist/cli/commands/assistants/setup/summary/index.js.map +1 -0
- package/dist/cli/commands/hook.d.ts +72 -0
- package/dist/cli/commands/hook.d.ts.map +1 -1
- package/dist/cli/commands/hook.js +290 -110
- package/dist/cli/commands/hook.js.map +1 -1
- package/dist/cli/commands/log/cleaner.d.ts +37 -0
- package/dist/cli/commands/log/cleaner.d.ts.map +1 -0
- package/dist/cli/commands/log/cleaner.js +218 -0
- package/dist/cli/commands/log/cleaner.js.map +1 -0
- package/dist/cli/commands/log/filter.d.ts +55 -0
- package/dist/cli/commands/log/filter.d.ts.map +1 -0
- package/dist/cli/commands/log/filter.js +128 -0
- package/dist/cli/commands/log/filter.js.map +1 -0
- package/dist/cli/commands/log/follower.d.ts +36 -0
- package/dist/cli/commands/log/follower.d.ts.map +1 -0
- package/dist/cli/commands/log/follower.js +151 -0
- package/dist/cli/commands/log/follower.js.map +1 -0
- package/dist/cli/commands/log/formatter.d.ts +76 -0
- package/dist/cli/commands/log/formatter.d.ts.map +1 -0
- package/dist/cli/commands/log/formatter.js +261 -0
- package/dist/cli/commands/log/formatter.js.map +1 -0
- package/dist/cli/commands/log/index.d.ts +6 -0
- package/dist/cli/commands/log/index.d.ts.map +1 -0
- package/dist/cli/commands/log/index.js +400 -0
- package/dist/cli/commands/log/index.js.map +1 -0
- package/dist/cli/commands/log/parser.d.ts +20 -0
- package/dist/cli/commands/log/parser.d.ts.map +1 -0
- package/dist/cli/commands/log/parser.js +111 -0
- package/dist/cli/commands/log/parser.js.map +1 -0
- package/dist/cli/commands/log/reader.d.ts +66 -0
- package/dist/cli/commands/log/reader.d.ts.map +1 -0
- package/dist/cli/commands/log/reader.js +364 -0
- package/dist/cli/commands/log/reader.js.map +1 -0
- package/dist/cli/commands/log/types.d.ts +100 -0
- package/dist/cli/commands/log/types.d.ts.map +1 -0
- package/dist/cli/commands/log/types.js +5 -0
- package/dist/cli/commands/log/types.js.map +1 -0
- package/dist/cli/commands/profile/display.d.ts +1 -0
- package/dist/cli/commands/profile/display.d.ts.map +1 -1
- package/dist/cli/commands/profile/display.js +10 -2
- package/dist/cli/commands/profile/display.js.map +1 -1
- package/dist/cli/commands/profile/index.js +58 -22
- package/dist/cli/commands/profile/index.js.map +1 -1
- package/dist/cli/commands/setup.d.ts.map +1 -1
- package/dist/cli/commands/setup.js +143 -24
- package/dist/cli/commands/setup.js.map +1 -1
- package/dist/cli/index.js +2 -0
- package/dist/cli/index.js.map +1 -1
- package/dist/env/types.d.ts +10 -1
- package/dist/env/types.d.ts.map +1 -1
- package/dist/env/types.js.map +1 -1
- package/dist/index.d.ts +5 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +10 -0
- package/dist/index.js.map +1 -1
- package/dist/providers/plugins/sso/session/SessionSyncer.d.ts +5 -0
- package/dist/providers/plugins/sso/session/SessionSyncer.d.ts.map +1 -1
- package/dist/providers/plugins/sso/session/SessionSyncer.js +102 -3
- package/dist/providers/plugins/sso/session/SessionSyncer.js.map +1 -1
- package/dist/providers/plugins/sso/session/processors/conversations/conversation-sync-processor.d.ts +0 -1
- package/dist/providers/plugins/sso/session/processors/conversations/conversation-sync-processor.d.ts.map +1 -1
- package/dist/providers/plugins/sso/session/processors/conversations/conversation-sync-processor.js +25 -48
- package/dist/providers/plugins/sso/session/processors/conversations/conversation-sync-processor.js.map +1 -1
- package/dist/providers/plugins/sso/session/processors/metrics/metrics-sync-processor.d.ts.map +1 -1
- package/dist/providers/plugins/sso/session/processors/metrics/metrics-sync-processor.js +8 -34
- package/dist/providers/plugins/sso/session/processors/metrics/metrics-sync-processor.js.map +1 -1
- package/dist/utils/config.d.ts +35 -8
- package/dist/utils/config.d.ts.map +1 -1
- package/dist/utils/config.js +243 -33
- package/dist/utils/config.js.map +1 -1
- package/dist/utils/logger.d.ts +8 -0
- package/dist/utils/logger.d.ts.map +1 -1
- package/dist/utils/logger.js +42 -0
- package/dist/utils/logger.js.map +1 -1
- package/dist/utils/native-installer.d.ts +1 -0
- package/dist/utils/native-installer.d.ts.map +1 -1
- package/dist/utils/native-installer.js +21 -7
- package/dist/utils/native-installer.js.map +1 -1
- package/package.json +2 -2
- package/dist/agents/plugins/claude/plugin/commands/memory-add.md +0 -325
- package/dist/agents/plugins/claude/plugin/commands/memory-init.md +0 -18
- package/dist/cli/commands/assistants/generators/claude-agent-generator.d.ts.map +0 -1
- package/dist/cli/commands/assistants/generators/claude-agent-generator.js.map +0 -1
- package/dist/cli/commands/assistants/list.d.ts +0 -11
- package/dist/cli/commands/assistants/list.d.ts.map +0 -1
- package/dist/cli/commands/assistants/list.js +0 -323
- package/dist/cli/commands/assistants/list.js.map +0 -1
- /package/dist/cli/commands/assistants/{generators → setup/generators}/claude-agent-generator.d.ts +0 -0
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import type { Assistant } from 'codemie-sdk';
|
|
2
|
+
import type { CodemieAssistant } from '../../../../../env/types.js';
|
|
3
|
+
import type { ConfigurationResult } from './types.js';
|
|
4
|
+
/**
|
|
5
|
+
* Prompt user to manually configure registration modes for selected assistants
|
|
6
|
+
* Returns a map of assistant IDs to registration modes and the action taken
|
|
7
|
+
* @param assistants - All selected assistants (both new and already registered)
|
|
8
|
+
* @param registeredIds - Set of IDs of already registered assistants
|
|
9
|
+
* @param registeredAssistants - Array of registered assistants with saved modes
|
|
10
|
+
*/
|
|
11
|
+
export declare function promptManualConfiguration(assistants: Assistant[], registeredIds: Set<string>, registeredAssistants: CodemieAssistant[]): Promise<ConfigurationResult>;
|
|
12
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../../src/cli/commands/assistants/setup/manualConfiguration/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAC7C,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AACvD,OAAO,KAAK,EAAsB,mBAAmB,EAAoB,MAAM,YAAY,CAAC;AAyB5F;;;;;;GAMG;AACH,wBAAsB,yBAAyB,CAC9C,UAAU,EAAE,SAAS,EAAE,EACvB,aAAa,EAAE,GAAG,CAAC,MAAM,CAAC,EAC1B,oBAAoB,EAAE,gBAAgB,EAAE,GACtC,OAAO,CAAC,mBAAmB,CAAC,CAyB9B"}
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
import { createInteractivePrompt } from './interactive-prompt.js';
|
|
2
|
+
import { REGISTRATION_MODE } from './constants.js';
|
|
3
|
+
import { ACTION_TYPE } from '../constants.js';
|
|
4
|
+
/**
|
|
5
|
+
* Initialize state with saved registration modes or default to 'agent'
|
|
6
|
+
*/
|
|
7
|
+
function initializeState(assistants, registeredIds, savedModes) {
|
|
8
|
+
return {
|
|
9
|
+
registrations: assistants.map((assistant) => ({
|
|
10
|
+
assistant,
|
|
11
|
+
mode: savedModes.get(assistant.id) || REGISTRATION_MODE.AGENT,
|
|
12
|
+
isAlreadyRegistered: registeredIds.has(assistant.id),
|
|
13
|
+
})),
|
|
14
|
+
cursorIndex: 0,
|
|
15
|
+
areNavigationButtonsFocused: true,
|
|
16
|
+
focusedButton: ACTION_TYPE.APPLY,
|
|
17
|
+
};
|
|
18
|
+
}
|
|
19
|
+
/**
|
|
20
|
+
* Prompt user to manually configure registration modes for selected assistants
|
|
21
|
+
* Returns a map of assistant IDs to registration modes and the action taken
|
|
22
|
+
* @param assistants - All selected assistants (both new and already registered)
|
|
23
|
+
* @param registeredIds - Set of IDs of already registered assistants
|
|
24
|
+
* @param registeredAssistants - Array of registered assistants with saved modes
|
|
25
|
+
*/
|
|
26
|
+
export async function promptManualConfiguration(assistants, registeredIds, registeredAssistants) {
|
|
27
|
+
const savedModes = new Map();
|
|
28
|
+
for (const registered of registeredAssistants) {
|
|
29
|
+
if (registered.registrationMode) {
|
|
30
|
+
// Use saved mode, defaulting to AGENT for any other value (e.g., legacy 'both')
|
|
31
|
+
const mode = (registered.registrationMode === REGISTRATION_MODE.AGENT || registered.registrationMode === REGISTRATION_MODE.SKILL)
|
|
32
|
+
? registered.registrationMode
|
|
33
|
+
: REGISTRATION_MODE.AGENT;
|
|
34
|
+
savedModes.set(registered.id, mode);
|
|
35
|
+
}
|
|
36
|
+
}
|
|
37
|
+
const state = initializeState(assistants, registeredIds, savedModes);
|
|
38
|
+
const action = await createInteractivePrompt(state);
|
|
39
|
+
const registrationModes = new Map();
|
|
40
|
+
for (const registration of state.registrations) {
|
|
41
|
+
registrationModes.set(registration.assistant.id, registration.mode);
|
|
42
|
+
}
|
|
43
|
+
return {
|
|
44
|
+
registrationModes,
|
|
45
|
+
action,
|
|
46
|
+
};
|
|
47
|
+
}
|
|
48
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../src/cli/commands/assistants/setup/manualConfiguration/index.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,uBAAuB,EAAE,MAAM,yBAAyB,CAAC;AAClE,OAAO,EAAE,iBAAiB,EAAE,MAAM,gBAAgB,CAAC;AACnD,OAAO,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAE9C;;GAEG;AACH,SAAS,eAAe,CACvB,UAAuB,EACvB,aAA0B,EAC1B,UAAyC;IAEzC,OAAO;QACN,aAAa,EAAE,UAAU,CAAC,GAAG,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,CAAC;YAC7C,SAAS;YACT,IAAI,EAAE,UAAU,CAAC,GAAG,CAAC,SAAS,CAAC,EAAE,CAAC,IAAI,iBAAiB,CAAC,KAAK;YAC7D,mBAAmB,EAAE,aAAa,CAAC,GAAG,CAAC,SAAS,CAAC,EAAE,CAAC;SACpD,CAAC,CAAC;QACH,WAAW,EAAE,CAAC;QACd,2BAA2B,EAAE,IAAI;QACjC,aAAa,EAAE,WAAW,CAAC,KAAK;KAChC,CAAC;AACH,CAAC;AAED;;;;;;GAMG;AACH,MAAM,CAAC,KAAK,UAAU,yBAAyB,CAC9C,UAAuB,EACvB,aAA0B,EAC1B,oBAAwC;IAExC,MAAM,UAAU,GAAG,IAAI,GAAG,EAA4B,CAAC;IACvD,KAAK,MAAM,UAAU,IAAI,oBAAoB,EAAE,CAAC;QAC/C,IAAI,UAAU,CAAC,gBAAgB,EAAE,CAAC;YACjC,gFAAgF;YAChF,MAAM,IAAI,GAAG,CAAC,UAAU,CAAC,gBAAgB,KAAK,iBAAiB,CAAC,KAAK,IAAI,UAAU,CAAC,gBAAgB,KAAK,iBAAiB,CAAC,KAAK,CAAC;gBAChI,CAAC,CAAC,UAAU,CAAC,gBAAgB;gBAC7B,CAAC,CAAC,iBAAiB,CAAC,KAAK,CAAC;YAC3B,UAAU,CAAC,GAAG,CAAC,UAAU,CAAC,EAAE,EAAE,IAAI,CAAC,CAAC;QACrC,CAAC;IACF,CAAC;IAED,MAAM,KAAK,GAAG,eAAe,CAAC,UAAU,EAAE,aAAa,EAAE,UAAU,CAAC,CAAC;IAErE,MAAM,MAAM,GAAG,MAAM,uBAAuB,CAAC,KAAK,CAAC,CAAC;IAEpD,MAAM,iBAAiB,GAAG,IAAI,GAAG,EAA4B,CAAC;IAC9D,KAAK,MAAM,YAAY,IAAI,KAAK,CAAC,aAAa,EAAE,CAAC;QAChD,iBAAiB,CAAC,GAAG,CAAC,YAAY,CAAC,SAAS,CAAC,EAAE,EAAE,YAAY,CAAC,IAAI,CAAC,CAAC;IACrE,CAAC;IAED,OAAO;QACN,iBAAiB;QACjB,MAAM;KACN,CAAC;AACH,CAAC"}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import type { ConfigurationState, ConfigurationAction } from './types.js';
|
|
2
|
+
/**
|
|
3
|
+
* Interactive prompt for configuring assistant registration modes
|
|
4
|
+
*/
|
|
5
|
+
export declare function createInteractivePrompt(state: ConfigurationState): Promise<ConfigurationAction>;
|
|
6
|
+
//# sourceMappingURL=interactive-prompt.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"interactive-prompt.d.ts","sourceRoot":"","sources":["../../../../../../src/cli/commands/assistants/setup/manualConfiguration/interactive-prompt.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,kBAAkB,EAAE,mBAAmB,EAAE,MAAM,YAAY,CAAC;AAK1E;;GAEG;AACH,wBAAgB,uBAAuB,CAAC,KAAK,EAAE,kBAAkB,GAAG,OAAO,CAAC,mBAAmB,CAAC,CA6F/F"}
|
|
@@ -0,0 +1,90 @@
|
|
|
1
|
+
import { ANSI, KEY, KEEP_ALIVE_INTERVAL } from './constants.js';
|
|
2
|
+
import { renderUI } from './ui.js';
|
|
3
|
+
import { createActionHandlers } from './actions.js';
|
|
4
|
+
/**
|
|
5
|
+
* Interactive prompt for configuring assistant registration modes
|
|
6
|
+
*/
|
|
7
|
+
export function createInteractivePrompt(state) {
|
|
8
|
+
return new Promise((resolve) => {
|
|
9
|
+
let keepAliveTimer = null;
|
|
10
|
+
/**
|
|
11
|
+
* Render UI to stdout
|
|
12
|
+
*/
|
|
13
|
+
function render() {
|
|
14
|
+
const output = ANSI.CLEAR_SCREEN + ANSI.HIDE_CURSOR + renderUI(state);
|
|
15
|
+
process.stdout.write(output);
|
|
16
|
+
}
|
|
17
|
+
/**
|
|
18
|
+
* Cleanup and restore terminal
|
|
19
|
+
*/
|
|
20
|
+
function cleanup() {
|
|
21
|
+
if (keepAliveTimer) {
|
|
22
|
+
clearInterval(keepAliveTimer);
|
|
23
|
+
keepAliveTimer = null;
|
|
24
|
+
}
|
|
25
|
+
process.stdin.setRawMode(false);
|
|
26
|
+
process.stdin.pause();
|
|
27
|
+
process.stdin.removeAllListeners('data');
|
|
28
|
+
process.stdout.write(ANSI.SHOW_CURSOR + ANSI.CLEAR_SCREEN);
|
|
29
|
+
}
|
|
30
|
+
/**
|
|
31
|
+
* Resolve promise and cleanup
|
|
32
|
+
*/
|
|
33
|
+
function stop(action) {
|
|
34
|
+
cleanup();
|
|
35
|
+
resolve(action);
|
|
36
|
+
}
|
|
37
|
+
/**
|
|
38
|
+
* Start interactive mode
|
|
39
|
+
*/
|
|
40
|
+
function start() {
|
|
41
|
+
const actions = createActionHandlers(state, render, stop);
|
|
42
|
+
process.stdin.setRawMode(true);
|
|
43
|
+
process.stdin.resume();
|
|
44
|
+
process.stdin.setEncoding('utf8');
|
|
45
|
+
process.stdin.on('data', (key) => {
|
|
46
|
+
switch (key) {
|
|
47
|
+
case KEY.UP:
|
|
48
|
+
actions.handleArrowUp();
|
|
49
|
+
break;
|
|
50
|
+
case KEY.DOWN:
|
|
51
|
+
actions.handleArrowDown();
|
|
52
|
+
break;
|
|
53
|
+
case KEY.LEFT:
|
|
54
|
+
actions.handleArrowLeft();
|
|
55
|
+
break;
|
|
56
|
+
case KEY.RIGHT:
|
|
57
|
+
actions.handleArrowRight();
|
|
58
|
+
break;
|
|
59
|
+
case KEY.SPACE:
|
|
60
|
+
actions.handleSpace();
|
|
61
|
+
break;
|
|
62
|
+
case KEY.TAB:
|
|
63
|
+
actions.handleTab();
|
|
64
|
+
break;
|
|
65
|
+
case KEY.SHIFT_TAB:
|
|
66
|
+
actions.handleShiftTab();
|
|
67
|
+
break;
|
|
68
|
+
case KEY.ENTER:
|
|
69
|
+
actions.handleEnter();
|
|
70
|
+
break;
|
|
71
|
+
case KEY.ESC:
|
|
72
|
+
actions.handleBack();
|
|
73
|
+
break;
|
|
74
|
+
case KEY.CTRL_C:
|
|
75
|
+
actions.handleCancel();
|
|
76
|
+
break;
|
|
77
|
+
default:
|
|
78
|
+
// Ignore other keys
|
|
79
|
+
break;
|
|
80
|
+
}
|
|
81
|
+
});
|
|
82
|
+
// Keep-alive timer to prevent process from exiting
|
|
83
|
+
keepAliveTimer = setInterval(() => {
|
|
84
|
+
}, KEEP_ALIVE_INTERVAL);
|
|
85
|
+
render();
|
|
86
|
+
}
|
|
87
|
+
start();
|
|
88
|
+
});
|
|
89
|
+
}
|
|
90
|
+
//# sourceMappingURL=interactive-prompt.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"interactive-prompt.js","sourceRoot":"","sources":["../../../../../../src/cli/commands/assistants/setup/manualConfiguration/interactive-prompt.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
import type { Assistant } from 'codemie-sdk';
|
|
2
|
+
import type { ACTION_TYPE } from '../constants.js';
|
|
3
|
+
/**
|
|
4
|
+
* Registration mode for an assistant
|
|
5
|
+
* - agent: Register as Claude agent only (~/.claude/agents/{slug}.md)
|
|
6
|
+
* - skill: Register as Claude skill only (~/.codemie/skills/{slug}/SKILL.md)
|
|
7
|
+
*/
|
|
8
|
+
export type RegistrationMode = 'agent' | 'skill';
|
|
9
|
+
/**
|
|
10
|
+
* Action taken by the user in the configuration UI
|
|
11
|
+
*/
|
|
12
|
+
export type ConfigurationAction = typeof ACTION_TYPE.APPLY | typeof ACTION_TYPE.CANCEL | typeof ACTION_TYPE.BACK;
|
|
13
|
+
/**
|
|
14
|
+
* Represents a single assistant with its registration mode
|
|
15
|
+
*/
|
|
16
|
+
export interface AssistantRegistration {
|
|
17
|
+
assistant: Assistant;
|
|
18
|
+
mode: RegistrationMode;
|
|
19
|
+
isAlreadyRegistered: boolean;
|
|
20
|
+
}
|
|
21
|
+
/**
|
|
22
|
+
* State for the manual configuration UI
|
|
23
|
+
*/
|
|
24
|
+
export interface ConfigurationState {
|
|
25
|
+
registrations: AssistantRegistration[];
|
|
26
|
+
cursorIndex: number;
|
|
27
|
+
areNavigationButtonsFocused: boolean;
|
|
28
|
+
focusedButton: typeof ACTION_TYPE.APPLY | typeof ACTION_TYPE.CANCEL;
|
|
29
|
+
}
|
|
30
|
+
/**
|
|
31
|
+
* Result returned from the configuration UI
|
|
32
|
+
*/
|
|
33
|
+
export interface ConfigurationResult {
|
|
34
|
+
registrationModes: Map<string, RegistrationMode>;
|
|
35
|
+
action: ConfigurationAction;
|
|
36
|
+
}
|
|
37
|
+
//# sourceMappingURL=types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../../../src/cli/commands/assistants/setup/manualConfiguration/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAC7C,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAEnD;;;;GAIG;AACH,MAAM,MAAM,gBAAgB,GAAG,OAAO,GAAG,OAAO,CAAC;AAEjD;;GAEG;AACH,MAAM,MAAM,mBAAmB,GAAG,OAAO,WAAW,CAAC,KAAK,GAAG,OAAO,WAAW,CAAC,MAAM,GAAG,OAAO,WAAW,CAAC,IAAI,CAAC;AAEjH;;GAEG;AACH,MAAM,WAAW,qBAAqB;IACrC,SAAS,EAAE,SAAS,CAAC;IACrB,IAAI,EAAE,gBAAgB,CAAC;IACvB,mBAAmB,EAAE,OAAO,CAAC;CAC7B;AAED;;GAEG;AACH,MAAM,WAAW,kBAAkB;IAClC,aAAa,EAAE,qBAAqB,EAAE,CAAC;IACvC,WAAW,EAAE,MAAM,CAAC;IACpB,2BAA2B,EAAE,OAAO,CAAC;IACrC,aAAa,EAAE,OAAO,WAAW,CAAC,KAAK,GAAG,OAAO,WAAW,CAAC,MAAM,CAAC;CACpE;AAED;;GAEG;AACH,MAAM,WAAW,mBAAmB;IACnC,iBAAiB,EAAE,GAAG,CAAC,MAAM,EAAE,gBAAgB,CAAC,CAAC;IACjD,MAAM,EAAE,mBAAmB,CAAC;CAC5B"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../../../../../src/cli/commands/assistants/setup/manualConfiguration/types.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ui.d.ts","sourceRoot":"","sources":["../../../../../../src/cli/commands/assistants/setup/manualConfiguration/ui.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,kBAAkB,EAAoB,MAAM,YAAY,CAAC;AAqGvE;;GAEG;AACH,wBAAgB,QAAQ,CAAC,KAAK,EAAE,kBAAkB,GAAG,MAAM,CAiB1D"}
|
|
@@ -0,0 +1,103 @@
|
|
|
1
|
+
import chalk from 'chalk';
|
|
2
|
+
import { MODE_LABELS, MODE_CYCLE_ORDER, UI_TEXT } from './constants.js';
|
|
3
|
+
import { COLOR, ACTION_TYPE } from '../constants.js';
|
|
4
|
+
/**
|
|
5
|
+
* Build top line (purple separator)
|
|
6
|
+
*/
|
|
7
|
+
function buildTopLine() {
|
|
8
|
+
const width = 60;
|
|
9
|
+
return chalk.rgb(COLOR.PURPLE.r, COLOR.PURPLE.g, COLOR.PURPLE.b)('─'.repeat(width));
|
|
10
|
+
}
|
|
11
|
+
/**
|
|
12
|
+
* Build title section
|
|
13
|
+
*/
|
|
14
|
+
function buildTitle() {
|
|
15
|
+
return chalk.rgb(COLOR.PURPLE.r, COLOR.PURPLE.g, COLOR.PURPLE.b).bold(UI_TEXT.TITLE);
|
|
16
|
+
}
|
|
17
|
+
/**
|
|
18
|
+
* Build subtitle section
|
|
19
|
+
*/
|
|
20
|
+
function buildSubtitle() {
|
|
21
|
+
return chalk.dim(UI_TEXT.SUBTITLE);
|
|
22
|
+
}
|
|
23
|
+
/**
|
|
24
|
+
* Build mode switch display
|
|
25
|
+
* Shows: [Claude Agent] [Claude Skill]
|
|
26
|
+
* Active mode is highlighted in purple
|
|
27
|
+
*/
|
|
28
|
+
function buildModeSwitch(currentMode, isCursor) {
|
|
29
|
+
const switches = MODE_CYCLE_ORDER.map((mode) => {
|
|
30
|
+
const label = MODE_LABELS[mode];
|
|
31
|
+
const isActive = mode === currentMode;
|
|
32
|
+
if (isActive && isCursor) {
|
|
33
|
+
return chalk.rgb(COLOR.PURPLE.r, COLOR.PURPLE.g, COLOR.PURPLE.b).bold(`[${label}]`);
|
|
34
|
+
}
|
|
35
|
+
else if (isActive) {
|
|
36
|
+
return chalk.bold(`[${label}]`);
|
|
37
|
+
}
|
|
38
|
+
else {
|
|
39
|
+
return chalk.dim(`[${label}]`);
|
|
40
|
+
}
|
|
41
|
+
});
|
|
42
|
+
return switches.join(' ');
|
|
43
|
+
}
|
|
44
|
+
/**
|
|
45
|
+
* Build single assistant line
|
|
46
|
+
*/
|
|
47
|
+
function buildAssistantLine(registration, isCursor) {
|
|
48
|
+
const cursor = isCursor ? chalk.rgb(COLOR.PURPLE.r, COLOR.PURPLE.g, COLOR.PURPLE.b)('› ') : ' ';
|
|
49
|
+
const name = isCursor ? chalk.bold(registration.assistant.name) : chalk.white(registration.assistant.name);
|
|
50
|
+
const badge = registration.isAlreadyRegistered ? chalk.dim(' (Already registered)') : '';
|
|
51
|
+
const modeSwitch = buildModeSwitch(registration.mode, isCursor);
|
|
52
|
+
return `${cursor}${name}${badge}\n Mode: ${modeSwitch}`;
|
|
53
|
+
}
|
|
54
|
+
/**
|
|
55
|
+
* Build assistants list
|
|
56
|
+
*/
|
|
57
|
+
function buildAssistantsList(state) {
|
|
58
|
+
const lines = state.registrations.map((registration, index) => {
|
|
59
|
+
const isCursor = !state.areNavigationButtonsFocused && state.cursorIndex === index;
|
|
60
|
+
return buildAssistantLine(registration, isCursor);
|
|
61
|
+
});
|
|
62
|
+
return lines.join('\n\n');
|
|
63
|
+
}
|
|
64
|
+
/**
|
|
65
|
+
* Build buttons (Apply / Cancel)
|
|
66
|
+
*/
|
|
67
|
+
function buildButtons(state) {
|
|
68
|
+
const { areNavigationButtonsFocused, focusedButton } = state;
|
|
69
|
+
const applyButton = areNavigationButtonsFocused && focusedButton === ACTION_TYPE.APPLY
|
|
70
|
+
? chalk.bgRgb(COLOR.PURPLE.r, COLOR.PURPLE.g, COLOR.PURPLE.b).black(` ${UI_TEXT.APPLY_BUTTON} `)
|
|
71
|
+
: chalk.dim(`[${UI_TEXT.APPLY_BUTTON}]`);
|
|
72
|
+
const cancelButton = areNavigationButtonsFocused && focusedButton === ACTION_TYPE.CANCEL
|
|
73
|
+
? chalk.bgRgb(COLOR.PURPLE.r, COLOR.PURPLE.g, COLOR.PURPLE.b).black(` ${UI_TEXT.CANCEL_BUTTON} `)
|
|
74
|
+
: chalk.dim(`[${UI_TEXT.CANCEL_BUTTON}]`);
|
|
75
|
+
return ` ${applyButton} ${cancelButton}`;
|
|
76
|
+
}
|
|
77
|
+
/**
|
|
78
|
+
* Build instructions line
|
|
79
|
+
*/
|
|
80
|
+
function buildInstructions() {
|
|
81
|
+
return chalk.dim(UI_TEXT.INSTRUCTIONS);
|
|
82
|
+
}
|
|
83
|
+
/**
|
|
84
|
+
* Render full UI
|
|
85
|
+
*/
|
|
86
|
+
export function renderUI(state) {
|
|
87
|
+
const parts = [
|
|
88
|
+
buildTopLine(),
|
|
89
|
+
buildTitle(),
|
|
90
|
+
'',
|
|
91
|
+
buildSubtitle(),
|
|
92
|
+
'',
|
|
93
|
+
buildAssistantsList(state),
|
|
94
|
+
'',
|
|
95
|
+
buildTopLine(),
|
|
96
|
+
'',
|
|
97
|
+
buildButtons(state),
|
|
98
|
+
'',
|
|
99
|
+
buildInstructions(),
|
|
100
|
+
];
|
|
101
|
+
return parts.join('\n');
|
|
102
|
+
}
|
|
103
|
+
//# sourceMappingURL=ui.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ui.js","sourceRoot":"","sources":["../../../../../../src/cli/commands/assistants/setup/manualConfiguration/ui.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Action Handlers
|
|
3
|
+
*
|
|
4
|
+
* All user interaction handlers for the selection UI
|
|
5
|
+
*/
|
|
6
|
+
import type { SelectionState } from './types.js';
|
|
7
|
+
import type { DataFetcher } from '../data.js';
|
|
8
|
+
import type { InteractivePrompt } from './interactive-prompt.js';
|
|
9
|
+
export interface ActionHandlers {
|
|
10
|
+
handlePanelSwitch: (direction: 'next' | 'prev') => void;
|
|
11
|
+
handleSearchUpdate: (query: string) => void;
|
|
12
|
+
handleFocusSearch: () => void;
|
|
13
|
+
handleFocusList: () => void;
|
|
14
|
+
handleCursorMove: (direction: 'up' | 'down') => void;
|
|
15
|
+
handleToggleSelection: () => void;
|
|
16
|
+
handleConfirm: () => void;
|
|
17
|
+
handleCancel: () => void;
|
|
18
|
+
handlePageNext: () => void;
|
|
19
|
+
handlePagePrev: () => void;
|
|
20
|
+
handleButtonToggle: () => void;
|
|
21
|
+
handleButtonSwitch: (direction: 'left' | 'right') => void;
|
|
22
|
+
}
|
|
23
|
+
export interface ActionHandlerDependencies {
|
|
24
|
+
state: SelectionState;
|
|
25
|
+
fetcher: DataFetcher;
|
|
26
|
+
prompt: () => InteractivePrompt | null;
|
|
27
|
+
setPrompt: (p: InteractivePrompt | null) => void;
|
|
28
|
+
setCancelled: (cancelled: boolean) => void;
|
|
29
|
+
}
|
|
30
|
+
export declare function createActionHandlers(deps: ActionHandlerDependencies): ActionHandlers;
|
|
31
|
+
//# sourceMappingURL=actions.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"actions.d.ts","sourceRoot":"","sources":["../../../../../../src/cli/commands/assistants/setup/selection/actions.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AACjD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAC9C,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AAIjE,MAAM,WAAW,cAAc;IAC7B,iBAAiB,EAAE,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM,KAAK,IAAI,CAAC;IACxD,kBAAkB,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IAC5C,iBAAiB,EAAE,MAAM,IAAI,CAAC;IAC9B,eAAe,EAAE,MAAM,IAAI,CAAC;IAC5B,gBAAgB,EAAE,CAAC,SAAS,EAAE,IAAI,GAAG,MAAM,KAAK,IAAI,CAAC;IACrD,qBAAqB,EAAE,MAAM,IAAI,CAAC;IAClC,aAAa,EAAE,MAAM,IAAI,CAAC;IAC1B,YAAY,EAAE,MAAM,IAAI,CAAC;IACzB,cAAc,EAAE,MAAM,IAAI,CAAC;IAC3B,cAAc,EAAE,MAAM,IAAI,CAAC;IAC3B,kBAAkB,EAAE,MAAM,IAAI,CAAC;IAC/B,kBAAkB,EAAE,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,KAAK,IAAI,CAAC;CAC3D;AAED,MAAM,WAAW,yBAAyB;IACxC,KAAK,EAAE,cAAc,CAAC;IACtB,OAAO,EAAE,WAAW,CAAC;IACrB,MAAM,EAAE,MAAM,iBAAiB,GAAG,IAAI,CAAC;IACvC,SAAS,EAAE,CAAC,CAAC,EAAE,iBAAiB,GAAG,IAAI,KAAK,IAAI,CAAC;IACjD,YAAY,EAAE,CAAC,SAAS,EAAE,OAAO,KAAK,IAAI,CAAC;CAC5C;AAED,wBAAgB,oBAAoB,CAAC,IAAI,EAAE,yBAAyB,GAAG,cAAc,CAgVpF"}
|