@codemieai/code 0.15.2 → 0.15.4
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/agents/core/AgentCLI.d.ts.map +1 -1
- package/dist/agents/core/AgentCLI.js +9 -0
- package/dist/agents/core/AgentCLI.js.map +1 -1
- package/dist/agents/core/BaseAgentAdapter.d.ts.map +1 -1
- package/dist/agents/core/BaseAgentAdapter.js +34 -9
- package/dist/agents/core/BaseAgentAdapter.js.map +1 -1
- package/dist/agents/plugins/claude/claude.models.d.ts +58 -0
- package/dist/agents/plugins/claude/claude.models.d.ts.map +1 -1
- package/dist/agents/plugins/claude/claude.models.js +196 -10
- package/dist/agents/plugins/claude/claude.models.js.map +1 -1
- package/dist/agents/plugins/claude/claude.plugin.d.ts +1 -1
- package/dist/agents/plugins/claude/claude.plugin.d.ts.map +1 -1
- package/dist/agents/plugins/claude/claude.plugin.js +149 -47
- package/dist/agents/plugins/claude/claude.plugin.js.map +1 -1
- package/dist/agents/plugins/claude/claude.session.d.ts +17 -1
- package/dist/agents/plugins/claude/claude.session.d.ts.map +1 -1
- package/dist/agents/plugins/claude/claude.session.js +4 -0
- package/dist/agents/plugins/claude/claude.session.js.map +1 -1
- package/dist/agents/plugins/claude/plugin/statusline.bundle.mjs +729 -0
- package/dist/agents/plugins/claude/statusline-installer.d.ts +1 -1
- package/dist/agents/plugins/claude/statusline-installer.d.ts.map +1 -1
- package/dist/agents/plugins/claude/statusline-installer.js +41 -3
- package/dist/agents/plugins/claude/statusline-installer.js.map +1 -1
- package/dist/agents/plugins/codex/codex-models.d.ts.map +1 -1
- package/dist/agents/plugins/codex/codex-models.js +109 -8
- package/dist/agents/plugins/codex/codex-models.js.map +1 -1
- package/dist/agents/plugins/codex/codex.correlation.d.ts +39 -0
- package/dist/agents/plugins/codex/codex.correlation.d.ts.map +1 -0
- package/dist/agents/plugins/codex/codex.correlation.js +150 -0
- package/dist/agents/plugins/codex/codex.correlation.js.map +1 -0
- package/dist/agents/plugins/codex/codex.plugin.d.ts.map +1 -1
- package/dist/agents/plugins/codex/codex.plugin.js +8 -40
- package/dist/agents/plugins/codex/codex.plugin.js.map +1 -1
- package/dist/agents/plugins/kimi/kimi.env-model.d.ts +27 -0
- package/dist/agents/plugins/kimi/kimi.env-model.d.ts.map +1 -0
- package/dist/agents/plugins/kimi/kimi.env-model.js +52 -0
- package/dist/agents/plugins/kimi/kimi.env-model.js.map +1 -0
- package/dist/agents/plugins/kimi/kimi.session.d.ts +6 -0
- package/dist/agents/plugins/kimi/kimi.session.d.ts.map +1 -1
- package/dist/agents/plugins/kimi/kimi.session.js +24 -2
- package/dist/agents/plugins/kimi/kimi.session.js.map +1 -1
- package/dist/agents/plugins/opencode/opencode-dynamic-models.d.ts.map +1 -1
- package/dist/agents/plugins/opencode/opencode-dynamic-models.js +4 -5
- package/dist/agents/plugins/opencode/opencode-dynamic-models.js.map +1 -1
- package/dist/agents/plugins/pi/pi.models.d.ts.map +1 -1
- package/dist/agents/plugins/pi/pi.models.js +3 -3
- package/dist/agents/plugins/pi/pi.models.js.map +1 -1
- package/dist/bin/proxy-daemon.js +8 -1
- package/dist/bin/proxy-daemon.js.map +1 -1
- package/dist/cli/commands/analytics/cost/cost-enricher.d.ts +19 -2
- package/dist/cli/commands/analytics/cost/cost-enricher.d.ts.map +1 -1
- package/dist/cli/commands/analytics/cost/cost-enricher.js +171 -14
- package/dist/cli/commands/analytics/cost/cost-enricher.js.map +1 -1
- package/dist/cli/commands/analytics/cost/local-models.d.ts +15 -0
- package/dist/cli/commands/analytics/cost/local-models.d.ts.map +1 -0
- package/dist/cli/commands/analytics/cost/local-models.js +21 -0
- package/dist/cli/commands/analytics/cost/local-models.js.map +1 -0
- package/dist/cli/commands/analytics/cost/types.d.ts +60 -0
- package/dist/cli/commands/analytics/cost/types.d.ts.map +1 -1
- package/dist/cli/commands/analytics/cost/types.js.map +1 -1
- package/dist/cli/commands/analytics/cost/usage-readers.d.ts +25 -2
- package/dist/cli/commands/analytics/cost/usage-readers.d.ts.map +1 -1
- package/dist/cli/commands/analytics/cost/usage-readers.js +61 -3
- package/dist/cli/commands/analytics/cost/usage-readers.js.map +1 -1
- package/dist/cli/commands/analytics/formatter.d.ts +11 -0
- package/dist/cli/commands/analytics/formatter.d.ts.map +1 -1
- package/dist/cli/commands/analytics/formatter.js +28 -0
- package/dist/cli/commands/analytics/formatter.js.map +1 -1
- package/dist/cli/commands/analytics/index.d.ts.map +1 -1
- package/dist/cli/commands/analytics/index.js +70 -73
- package/dist/cli/commands/analytics/index.js.map +1 -1
- package/dist/cli/commands/analytics/otel-loader.d.ts.map +1 -1
- package/dist/cli/commands/analytics/otel-loader.js +60 -14
- package/dist/cli/commands/analytics/otel-loader.js.map +1 -1
- package/dist/cli/commands/analytics/otel-pricing.d.ts +38 -0
- package/dist/cli/commands/analytics/otel-pricing.d.ts.map +1 -0
- package/dist/cli/commands/analytics/otel-pricing.js +33 -0
- package/dist/cli/commands/analytics/otel-pricing.js.map +1 -0
- package/dist/cli/commands/analytics/report/client/app.js +279 -18
- package/dist/cli/commands/analytics/report/output-target.d.ts +22 -0
- package/dist/cli/commands/analytics/report/output-target.d.ts.map +1 -0
- package/dist/cli/commands/analytics/report/output-target.js +56 -0
- package/dist/cli/commands/analytics/report/output-target.js.map +1 -0
- package/dist/cli/commands/analytics/report/payload-builder.d.ts.map +1 -1
- package/dist/cli/commands/analytics/report/payload-builder.js +6 -0
- package/dist/cli/commands/analytics/report/payload-builder.js.map +1 -1
- package/dist/cli/commands/analytics/report/report-generator.d.ts +1 -1
- package/dist/cli/commands/analytics/report/report-generator.js +1 -1
- package/dist/cli/commands/analytics/report/session-report.d.ts +1 -3
- package/dist/cli/commands/analytics/report/session-report.d.ts.map +1 -1
- package/dist/cli/commands/analytics/report/session-report.js +1 -3
- package/dist/cli/commands/analytics/report/session-report.js.map +1 -1
- package/dist/cli/commands/analytics/report/template.html +6 -6
- package/dist/cli/commands/analytics/report/types.d.ts +17 -1
- package/dist/cli/commands/analytics/report/types.d.ts.map +1 -1
- package/dist/cli/commands/analytics/sources/sessions-source.d.ts.map +1 -1
- package/dist/cli/commands/analytics/sources/sessions-source.js +9 -11
- package/dist/cli/commands/analytics/sources/sessions-source.js.map +1 -1
- package/dist/cli/commands/analytics/sources/types.d.ts +0 -2
- package/dist/cli/commands/analytics/sources/types.d.ts.map +1 -1
- package/dist/cli/commands/analytics/types.d.ts +8 -8
- package/dist/cli/commands/analytics/types.d.ts.map +1 -1
- package/dist/cli/commands/assistants/constants.d.ts +4 -0
- package/dist/cli/commands/assistants/constants.d.ts.map +1 -1
- package/dist/cli/commands/assistants/constants.js +4 -0
- package/dist/cli/commands/assistants/constants.js.map +1 -1
- package/dist/cli/commands/assistants/setup/data.d.ts +1 -0
- package/dist/cli/commands/assistants/setup/data.d.ts.map +1 -1
- package/dist/cli/commands/assistants/setup/data.js +55 -10
- package/dist/cli/commands/assistants/setup/data.js.map +1 -1
- package/dist/cli/commands/assistants/setup/helpers.d.ts +1 -1
- package/dist/cli/commands/assistants/setup/helpers.d.ts.map +1 -1
- package/dist/cli/commands/assistants/setup/helpers.js +2 -5
- package/dist/cli/commands/assistants/setup/helpers.js.map +1 -1
- package/dist/cli/commands/assistants/setup/index.d.ts +12 -0
- package/dist/cli/commands/assistants/setup/index.d.ts.map +1 -1
- package/dist/cli/commands/assistants/setup/index.js +148 -20
- package/dist/cli/commands/assistants/setup/index.js.map +1 -1
- package/dist/cli/commands/models.d.ts.map +1 -1
- package/dist/cli/commands/models.js +16 -3
- package/dist/cli/commands/models.js.map +1 -1
- package/dist/cli/commands/profile/display.d.ts +5 -1
- package/dist/cli/commands/profile/display.d.ts.map +1 -1
- package/dist/cli/commands/profile/display.js +5 -1
- package/dist/cli/commands/profile/display.js.map +1 -1
- package/dist/cli/commands/profile/index.d.ts.map +1 -1
- package/dist/cli/commands/profile/index.js +7 -4
- package/dist/cli/commands/profile/index.js.map +1 -1
- package/dist/cli/commands/proxy/connect-orchestrator.d.ts.map +1 -1
- package/dist/cli/commands/proxy/connect-orchestrator.js +3 -4
- package/dist/cli/commands/proxy/connect-orchestrator.js.map +1 -1
- package/dist/cli/commands/proxy/connectors/desktop.d.ts +2 -3
- package/dist/cli/commands/proxy/connectors/desktop.d.ts.map +1 -1
- package/dist/cli/commands/proxy/connectors/desktop.js +9 -25
- package/dist/cli/commands/proxy/connectors/desktop.js.map +1 -1
- package/dist/cli/commands/proxy/connectors/model-name-resolver.d.ts +19 -0
- package/dist/cli/commands/proxy/connectors/model-name-resolver.d.ts.map +1 -0
- package/dist/cli/commands/proxy/connectors/model-name-resolver.js +126 -0
- package/dist/cli/commands/proxy/connectors/model-name-resolver.js.map +1 -0
- package/dist/cli/commands/proxy/connectors/tenant-catalog.d.ts +23 -0
- package/dist/cli/commands/proxy/connectors/tenant-catalog.d.ts.map +1 -0
- package/dist/cli/commands/proxy/connectors/tenant-catalog.js +136 -0
- package/dist/cli/commands/proxy/connectors/tenant-catalog.js.map +1 -0
- package/dist/cli/commands/proxy/connectors/vscode-claude-code.d.ts.map +1 -1
- package/dist/cli/commands/proxy/connectors/vscode-claude-code.js +49 -19
- package/dist/cli/commands/proxy/connectors/vscode-claude-code.js.map +1 -1
- package/dist/cli/commands/proxy/connectors/vscode-models.d.ts +21 -3
- package/dist/cli/commands/proxy/connectors/vscode-models.d.ts.map +1 -1
- package/dist/cli/commands/proxy/connectors/vscode-models.js +86 -28
- package/dist/cli/commands/proxy/connectors/vscode-models.js.map +1 -1
- package/dist/cli/commands/proxy/connectors/vscode.d.ts +3 -2
- package/dist/cli/commands/proxy/connectors/vscode.d.ts.map +1 -1
- package/dist/cli/commands/proxy/connectors/vscode.js +67 -39
- package/dist/cli/commands/proxy/connectors/vscode.js.map +1 -1
- package/dist/cli/commands/shared/headless.d.ts +69 -0
- package/dist/cli/commands/shared/headless.d.ts.map +1 -0
- package/dist/cli/commands/shared/headless.js +83 -0
- package/dist/cli/commands/shared/headless.js.map +1 -0
- package/dist/cli/commands/shared/helpers.d.ts +21 -0
- package/dist/cli/commands/shared/helpers.d.ts.map +1 -1
- package/dist/cli/commands/shared/helpers.js +73 -1
- package/dist/cli/commands/shared/helpers.js.map +1 -1
- package/dist/cli/commands/shared/identifier-resolution.d.ts +23 -0
- package/dist/cli/commands/shared/identifier-resolution.d.ts.map +1 -0
- package/dist/cli/commands/shared/identifier-resolution.js +55 -0
- package/dist/cli/commands/shared/identifier-resolution.js.map +1 -0
- package/dist/cli/commands/skills/setup/data.d.ts +3 -2
- package/dist/cli/commands/skills/setup/data.d.ts.map +1 -1
- package/dist/cli/commands/skills/setup/data.js +75 -13
- package/dist/cli/commands/skills/setup/data.js.map +1 -1
- package/dist/cli/commands/skills/setup/helpers.d.ts +1 -1
- package/dist/cli/commands/skills/setup/helpers.d.ts.map +1 -1
- package/dist/cli/commands/skills/setup/helpers.js +2 -5
- package/dist/cli/commands/skills/setup/helpers.js.map +1 -1
- package/dist/cli/commands/skills/setup/index.d.ts +17 -1
- package/dist/cli/commands/skills/setup/index.d.ts.map +1 -1
- package/dist/cli/commands/skills/setup/index.js +190 -19
- package/dist/cli/commands/skills/setup/index.js.map +1 -1
- package/dist/providers/core/codemie-auth-helpers.d.ts.map +1 -1
- package/dist/providers/core/codemie-auth-helpers.js +6 -1
- package/dist/providers/core/codemie-auth-helpers.js.map +1 -1
- package/dist/providers/core/default-agent-hooks.d.ts.map +1 -1
- package/dist/providers/core/default-agent-hooks.js +9 -0
- package/dist/providers/core/default-agent-hooks.js.map +1 -1
- package/dist/providers/plugins/bedrock/bedrock.template.d.ts.map +1 -1
- package/dist/providers/plugins/bedrock/bedrock.template.js +5 -31
- package/dist/providers/plugins/bedrock/bedrock.template.js.map +1 -1
- package/dist/providers/plugins/sso/proxy/plugins/background-request-normalizer.plugin.d.ts +44 -0
- package/dist/providers/plugins/sso/proxy/plugins/background-request-normalizer.plugin.d.ts.map +1 -0
- package/dist/providers/plugins/sso/proxy/plugins/background-request-normalizer.plugin.js +106 -0
- package/dist/providers/plugins/sso/proxy/plugins/background-request-normalizer.plugin.js.map +1 -0
- package/dist/providers/plugins/sso/proxy/plugins/claude-model-resolver.d.ts +41 -0
- package/dist/providers/plugins/sso/proxy/plugins/claude-model-resolver.d.ts.map +1 -0
- package/dist/providers/plugins/sso/proxy/plugins/claude-model-resolver.js +115 -0
- package/dist/providers/plugins/sso/proxy/plugins/claude-model-resolver.js.map +1 -0
- package/dist/providers/plugins/sso/proxy/plugins/claude-request-normalizer.plugin.d.ts.map +1 -1
- package/dist/providers/plugins/sso/proxy/plugins/claude-request-normalizer.plugin.js +101 -7
- package/dist/providers/plugins/sso/proxy/plugins/claude-request-normalizer.plugin.js.map +1 -1
- package/dist/providers/plugins/sso/proxy/plugins/header-injection.plugin.d.ts +4 -0
- package/dist/providers/plugins/sso/proxy/plugins/header-injection.plugin.d.ts.map +1 -1
- package/dist/providers/plugins/sso/proxy/plugins/header-injection.plugin.js +28 -3
- package/dist/providers/plugins/sso/proxy/plugins/header-injection.plugin.js.map +1 -1
- package/dist/providers/plugins/sso/proxy/plugins/index.d.ts +3 -1
- package/dist/providers/plugins/sso/proxy/plugins/index.d.ts.map +1 -1
- package/dist/providers/plugins/sso/proxy/plugins/index.js +5 -1
- package/dist/providers/plugins/sso/proxy/plugins/index.js.map +1 -1
- package/dist/providers/plugins/sso/proxy/plugins/routing-header-injector.plugin.d.ts +67 -0
- package/dist/providers/plugins/sso/proxy/plugins/routing-header-injector.plugin.d.ts.map +1 -0
- package/dist/providers/plugins/sso/proxy/plugins/routing-header-injector.plugin.js +203 -0
- package/dist/providers/plugins/sso/proxy/plugins/routing-header-injector.plugin.js.map +1 -0
- package/dist/providers/plugins/sso/proxy/proxy-types.d.ts +5 -0
- package/dist/providers/plugins/sso/proxy/proxy-types.d.ts.map +1 -1
- package/dist/providers/plugins/sso/proxy/sso.proxy.d.ts.map +1 -1
- package/dist/providers/plugins/sso/proxy/sso.proxy.js +1 -0
- package/dist/providers/plugins/sso/proxy/sso.proxy.js.map +1 -1
- package/dist/providers/plugins/sso/session/processors/metrics/metrics-aggregator.d.ts.map +1 -1
- package/dist/providers/plugins/sso/session/processors/metrics/metrics-aggregator.js +11 -2
- package/dist/providers/plugins/sso/session/processors/metrics/metrics-aggregator.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 +2 -1
- package/dist/providers/plugins/sso/session/processors/metrics/metrics-sync-processor.js.map +1 -1
- package/dist/providers/plugins/sso/sso.http-client.d.ts +95 -0
- package/dist/providers/plugins/sso/sso.http-client.d.ts.map +1 -1
- package/dist/providers/plugins/sso/sso.http-client.js +79 -0
- package/dist/providers/plugins/sso/sso.http-client.js.map +1 -1
- package/dist/providers/plugins/sso/sso.models.d.ts +7 -0
- package/dist/providers/plugins/sso/sso.models.d.ts.map +1 -1
- package/dist/providers/plugins/sso/sso.models.js +22 -14
- package/dist/providers/plugins/sso/sso.models.js.map +1 -1
- package/dist/telemetry/clients/claude-desktop/claude-desktop.discovery.d.ts +1 -0
- package/dist/telemetry/clients/claude-desktop/claude-desktop.discovery.d.ts.map +1 -1
- package/dist/telemetry/clients/claude-desktop/claude-desktop.discovery.js +30 -6
- package/dist/telemetry/clients/claude-desktop/claude-desktop.discovery.js.map +1 -1
- package/dist/telemetry/clients/claude-desktop/claude-desktop.parser.d.ts.map +1 -1
- package/dist/telemetry/clients/claude-desktop/claude-desktop.parser.js +33 -3
- package/dist/telemetry/clients/claude-desktop/claude-desktop.parser.js.map +1 -1
- package/dist/telemetry/runtime/DesktopRepositoryResolver.d.ts +58 -0
- package/dist/telemetry/runtime/DesktopRepositoryResolver.d.ts.map +1 -0
- package/dist/telemetry/runtime/DesktopRepositoryResolver.js +370 -0
- package/dist/telemetry/runtime/DesktopRepositoryResolver.js.map +1 -0
- package/dist/telemetry/runtime/DesktopTelemetryRuntime.d.ts +1 -0
- package/dist/telemetry/runtime/DesktopTelemetryRuntime.d.ts.map +1 -1
- package/dist/telemetry/runtime/DesktopTelemetryRuntime.js +89 -6
- package/dist/telemetry/runtime/DesktopTelemetryRuntime.js.map +1 -1
- package/dist/telemetry/runtime/types.d.ts +2 -0
- package/dist/telemetry/runtime/types.d.ts.map +1 -1
- package/dist/utils/auth.d.ts +13 -2
- package/dist/utils/auth.d.ts.map +1 -1
- package/dist/utils/auth.js +7 -3
- package/dist/utils/auth.js.map +1 -1
- package/dist/utils/bedrock-pricing.mjs +111 -0
- package/dist/utils/cli-updater.d.ts.map +1 -1
- package/dist/utils/cli-updater.js +32 -7
- package/dist/utils/cli-updater.js.map +1 -1
- package/dist/utils/config.d.ts +21 -0
- package/dist/utils/config.d.ts.map +1 -1
- package/dist/utils/config.js +69 -7
- package/dist/utils/config.js.map +1 -1
- package/dist/utils/credential-crypto.d.ts +51 -0
- package/dist/utils/credential-crypto.d.ts.map +1 -0
- package/dist/utils/credential-crypto.js +96 -0
- package/dist/utils/credential-crypto.js.map +1 -0
- package/dist/utils/errors.d.ts +14 -0
- package/dist/utils/errors.d.ts.map +1 -1
- package/dist/utils/errors.js +25 -0
- package/dist/utils/errors.js.map +1 -1
- package/dist/utils/model-normalizer.d.ts +6 -0
- package/dist/utils/model-normalizer.d.ts.map +1 -1
- package/dist/utils/model-normalizer.js +37 -19
- package/dist/utils/model-normalizer.js.map +1 -1
- package/dist/utils/paths.d.ts +2 -2
- package/dist/utils/paths.d.ts.map +1 -1
- package/dist/utils/paths.js +11 -9
- package/dist/utils/paths.js.map +1 -1
- package/dist/utils/price-resolution.d.ts +42 -0
- package/dist/utils/price-resolution.d.ts.map +1 -0
- package/dist/utils/price-resolution.js +112 -0
- package/dist/utils/price-resolution.js.map +1 -0
- package/dist/utils/pricing.d.ts +65 -6
- package/dist/utils/pricing.d.ts.map +1 -1
- package/dist/utils/pricing.js +91 -117
- package/dist/utils/pricing.js.map +1 -1
- package/dist/utils/pricing.json +201 -20
- package/dist/utils/processes.d.ts +12 -0
- package/dist/utils/processes.d.ts.map +1 -1
- package/dist/utils/processes.js +15 -0
- package/dist/utils/processes.js.map +1 -1
- package/dist/utils/routing-headers.mjs +104 -0
- package/dist/utils/security.d.ts +0 -32
- package/dist/utils/security.d.ts.map +1 -1
- package/dist/utils/security.js +20 -102
- package/dist/utils/security.js.map +1 -1
- package/package.json +5 -2
- package/scripts/bundle-statusline.mjs +37 -0
- package/scripts/copy-plugins.js +19 -2
- package/src/utils/tips.json +9 -9
- package/dist/agents/plugins/claude/plugin/__tests__/statusline.test.ts +0 -323
- package/dist/agents/plugins/claude/plugin/statusline.mjs +0 -282
- package/dist/cli/commands/analytics/exporter.d.ts +0 -20
- package/dist/cli/commands/analytics/exporter.d.ts.map +0 -1
- package/dist/cli/commands/analytics/exporter.js +0 -91
- package/dist/cli/commands/analytics/exporter.js.map +0 -1
|
@@ -3,16 +3,37 @@
|
|
|
3
3
|
*
|
|
4
4
|
* Handles all data fetching for skills setup
|
|
5
5
|
*/
|
|
6
|
+
import { NotFoundError } from 'codemie-sdk';
|
|
6
7
|
import { logger } from '../../../../utils/logger.js';
|
|
8
|
+
import { RegistrationItemNotFoundError } from '../../../../utils/errors.js';
|
|
7
9
|
import { assertApiListResponse } from '../../../../cli/commands/shared/api-response-guard.js';
|
|
10
|
+
/**
|
|
11
|
+
* Builds the filter payload the skills listing expects for a panel scope. Shared by
|
|
12
|
+
* the wizard fetch and the headless catalog crawl so both see the same set.
|
|
13
|
+
*/
|
|
14
|
+
function buildScopeFilters(apiScope, search) {
|
|
15
|
+
return {
|
|
16
|
+
search: search.trim(),
|
|
17
|
+
project: [],
|
|
18
|
+
created_by: '',
|
|
19
|
+
categories: [],
|
|
20
|
+
visibility: apiScope === 'marketplace' ? 'public' : null,
|
|
21
|
+
scope: apiScope,
|
|
22
|
+
};
|
|
23
|
+
}
|
|
8
24
|
function isSkillListResponse(response) {
|
|
9
25
|
const r = response;
|
|
10
26
|
return !!r && typeof r === 'object' && Array.isArray(r.skills)
|
|
11
27
|
&& typeof r.total === 'number' && typeof r.pages === 'number';
|
|
12
28
|
}
|
|
29
|
+
function isSkillDetailResponse(response) {
|
|
30
|
+
const r = response;
|
|
31
|
+
return !!r && typeof r === 'object' && typeof r.id === 'string';
|
|
32
|
+
}
|
|
13
33
|
export function createSkillDataFetcher(config) {
|
|
14
34
|
const { client, registeredSkills } = config;
|
|
15
35
|
const PER_PAGE = 5;
|
|
36
|
+
const ALL_VISIBLE_PER_PAGE = 100;
|
|
16
37
|
async function fetchSkills(params) {
|
|
17
38
|
const { scope, searchQuery = '', page = 0 } = params;
|
|
18
39
|
logger.debug('[SkillSetup] Fetching skills', { scope, searchQuery, page });
|
|
@@ -43,14 +64,7 @@ export function createSkillDataFetcher(config) {
|
|
|
43
64
|
const response = await client.skills.listPaginated({
|
|
44
65
|
page,
|
|
45
66
|
per_page: PER_PAGE,
|
|
46
|
-
filters:
|
|
47
|
-
search: searchQuery.trim(),
|
|
48
|
-
project: [],
|
|
49
|
-
created_by: "",
|
|
50
|
-
categories: [],
|
|
51
|
-
visibility: apiScope === 'marketplace' ? 'public' : null,
|
|
52
|
-
scope: apiScope
|
|
53
|
-
}
|
|
67
|
+
filters: buildScopeFilters(apiScope, searchQuery)
|
|
54
68
|
});
|
|
55
69
|
assertApiListResponse(response, isSkillListResponse, `${apiScope} skills`);
|
|
56
70
|
logger.debug('[SkillSetup] Fetched skills from API', {
|
|
@@ -70,18 +84,66 @@ export function createSkillDataFetcher(config) {
|
|
|
70
84
|
logger.debug('[SkillSetup] Fetching skill details', { id });
|
|
71
85
|
return client.skills.get(id);
|
|
72
86
|
}
|
|
87
|
+
async function fetchAllPagesForScope(apiScope) {
|
|
88
|
+
const skills = [];
|
|
89
|
+
let page = 0;
|
|
90
|
+
let pages = 1;
|
|
91
|
+
do {
|
|
92
|
+
const response = await client.skills.listPaginated({
|
|
93
|
+
page,
|
|
94
|
+
per_page: ALL_VISIBLE_PER_PAGE,
|
|
95
|
+
filters: buildScopeFilters(apiScope, ''),
|
|
96
|
+
});
|
|
97
|
+
assertApiListResponse(response, isSkillListResponse, `${apiScope} skills`);
|
|
98
|
+
skills.push(...response.skills);
|
|
99
|
+
pages = response.pages;
|
|
100
|
+
page += 1;
|
|
101
|
+
} while (page < pages);
|
|
102
|
+
return skills;
|
|
103
|
+
}
|
|
104
|
+
async function fetchAllVisibleSkills() {
|
|
105
|
+
logger.debug('[SkillSetup] Fetching all visible skills');
|
|
106
|
+
// Page exactly the two scopes the wizard's panels fetch, with the wizard's
|
|
107
|
+
// filters: an unfiltered listing relies on a server-side default that is not
|
|
108
|
+
// observable here, so "not in the listing" would not be provably the same as
|
|
109
|
+
// "not available to you".
|
|
110
|
+
const byId = new Map();
|
|
111
|
+
for (const apiScope of ['project', 'marketplace']) {
|
|
112
|
+
for (const skill of await fetchAllPagesForScope(apiScope)) {
|
|
113
|
+
if (!byId.has(skill.id)) {
|
|
114
|
+
byId.set(skill.id, skill);
|
|
115
|
+
}
|
|
116
|
+
}
|
|
117
|
+
}
|
|
118
|
+
const skills = Array.from(byId.values());
|
|
119
|
+
logger.debug('[SkillSetup] Fetched all visible skills', { count: skills.length });
|
|
120
|
+
return skills;
|
|
121
|
+
}
|
|
73
122
|
async function fetchSkillsByIds(ids, _registeredSkills) {
|
|
74
123
|
if (ids.length === 0) {
|
|
75
124
|
return [];
|
|
76
125
|
}
|
|
77
126
|
logger.debug('[SkillSetup] Fetching skills by IDs', { ids });
|
|
78
|
-
// Fetch
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
127
|
+
// Fetch each requested id directly rather than crawling the whole catalog: the
|
|
128
|
+
// visible catalog runs to thousands of skills, and paging through it took
|
|
129
|
+
// longer than 30s with no output. An id the API does not know aborts the run:
|
|
130
|
+
// filtering it out silently reports success for a skill that was never registered.
|
|
131
|
+
const skills = await Promise.all(ids.map(async (id) => {
|
|
132
|
+
try {
|
|
133
|
+
const skill = await client.skills.get(id);
|
|
134
|
+
assertApiListResponse(skill, isSkillDetailResponse, 'skill details');
|
|
135
|
+
return skill;
|
|
136
|
+
}
|
|
137
|
+
catch (error) {
|
|
138
|
+
if (error instanceof NotFoundError) {
|
|
139
|
+
throw new RegistrationItemNotFoundError('skill', id);
|
|
140
|
+
}
|
|
141
|
+
throw error;
|
|
142
|
+
}
|
|
143
|
+
}));
|
|
82
144
|
logger.debug('[SkillSetup] Fetched skills by IDs', { count: skills.length });
|
|
83
145
|
return skills;
|
|
84
146
|
}
|
|
85
|
-
return { fetchSkills, fetchSkillById, fetchSkillsByIds };
|
|
147
|
+
return { fetchSkills, fetchSkillById, fetchSkillsByIds, fetchAllVisibleSkills };
|
|
86
148
|
}
|
|
87
149
|
//# sourceMappingURL=data.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"data.js","sourceRoot":"","sources":["../../../../../src/cli/commands/skills/setup/data.ts"],"names":[],"mappings":"AAAA;;;;GAIG;
|
|
1
|
+
{"version":3,"file":"data.js","sourceRoot":"","sources":["../../../../../src/cli/commands/skills/setup/data.ts"],"names":[],"mappings":"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"}
|
|
@@ -10,5 +10,5 @@ export interface RegistrationChanges {
|
|
|
10
10
|
}
|
|
11
11
|
export declare function determineChanges(selectedIds: string[], allSkills: SkillListItem[], registeredSkills: CodemieSkill[]): RegistrationChanges;
|
|
12
12
|
export declare function unregisterSkill(skill: CodemieSkill, scope?: StorageScope, workingDir?: string, target?: AgentSetupTarget): Promise<void>;
|
|
13
|
-
export declare function registerSkill(skill: SkillDetail, scope?: StorageScope, workingDir?: string, target?: AgentSetupTarget): Promise<CodemieSkill
|
|
13
|
+
export declare function registerSkill(skill: SkillDetail, scope?: StorageScope, workingDir?: string, target?: AgentSetupTarget): Promise<CodemieSkill>;
|
|
14
14
|
//# sourceMappingURL=helpers.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"helpers.d.ts","sourceRoot":"","sources":["../../../../../src/cli/commands/skills/setup/helpers.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,WAAW,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAC9D,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAEnD,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAK9C,OAAO,EAAE,kBAAkB,
|
|
1
|
+
{"version":3,"file":"helpers.d.ts","sourceRoot":"","sources":["../../../../../src/cli/commands/skills/setup/helpers.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,WAAW,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAC9D,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAEnD,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAK9C,OAAO,EAAE,kBAAkB,EAAmE,MAAM,kCAAkC,CAAC;AACvI,OAAO,EAIL,KAAK,gBAAgB,EACtB,MAAM,wCAAwC,CAAC;AAEhD,OAAO,EAAE,kBAAkB,EAAE,CAAC;AAE9B,MAAM,WAAW,mBAAmB;IAClC,UAAU,EAAE,aAAa,EAAE,CAAC;IAC5B,YAAY,EAAE,YAAY,EAAE,CAAC;CAC9B;AAED,wBAAgB,gBAAgB,CAC9B,WAAW,EAAE,MAAM,EAAE,EACrB,SAAS,EAAE,aAAa,EAAE,EAC1B,gBAAgB,EAAE,YAAY,EAAE,GAC/B,mBAAmB,CAErB;AAED,wBAAsB,eAAe,CACnC,KAAK,EAAE,YAAY,EACnB,KAAK,GAAE,YAAkC,EACzC,UAAU,CAAC,EAAE,MAAM,EACnB,MAAM,GAAE,gBAA6B,GACpC,OAAO,CAAC,IAAI,CAAC,CAkBf;AAED,wBAAsB,aAAa,CACjC,KAAK,EAAE,WAAW,EAClB,KAAK,GAAE,YAAkC,EACzC,UAAU,CAAC,EAAE,MAAM,EACnB,MAAM,GAAE,gBAA6B,GACpC,OAAO,CAAC,YAAY,CAAC,CA+BvB"}
|
|
@@ -5,7 +5,7 @@ import { registerClaudeSkill, unregisterClaudeSkill } from '../../../../cli/comm
|
|
|
5
5
|
import { sanitizeToSlug } from '../../../../utils/slug.js';
|
|
6
6
|
import { registerCodexSkill, unregisterCodexSkill } from '../../../../cli/commands/skills/setup/generators/codex-skill-generator.js';
|
|
7
7
|
import { registerGeminiSkill, unregisterGeminiSkill } from '../../../../cli/commands/skills/setup/generators/gemini-skill-generator.js';
|
|
8
|
-
import { executeWithSpinner, determineChanges as _determineChanges } from '../../../../cli/commands/shared/helpers.js';
|
|
8
|
+
import { executeWithSpinner, executeWithSpinnerStrict, determineChanges as _determineChanges } from '../../../../cli/commands/shared/helpers.js';
|
|
9
9
|
import { targetsClaude, targetsCodex, targetsGemini, } from '../../../../cli/commands/shared/agent-targets.js';
|
|
10
10
|
export { executeWithSpinner };
|
|
11
11
|
export function determineChanges(selectedIds, allSkills, registeredSkills) {
|
|
@@ -25,7 +25,7 @@ export async function unregisterSkill(skill, scope = StorageScope.GLOBAL, workin
|
|
|
25
25
|
}, `Unregistered ${chalk.bold(skill.name)} ${chalk.cyan(`/${skill.slug}`)}`, `Failed to unregister ${skill.name}`, (error) => logger.error('Skill removal failed', { error, skillId: skill.id, target }));
|
|
26
26
|
}
|
|
27
27
|
export async function registerSkill(skill, scope = StorageScope.GLOBAL, workingDir, target = ['claude']) {
|
|
28
|
-
const result = await
|
|
28
|
+
const result = await executeWithSpinnerStrict(`Registering ${chalk.bold(skill.name)}...`, async () => {
|
|
29
29
|
let slug;
|
|
30
30
|
if (targetsClaude(target)) {
|
|
31
31
|
slug = await registerClaudeSkill(skill, scope, workingDir);
|
|
@@ -38,9 +38,6 @@ export async function registerSkill(skill, scope = StorageScope.GLOBAL, workingD
|
|
|
38
38
|
}
|
|
39
39
|
return slug;
|
|
40
40
|
}, `Registered ${chalk.bold(skill.name)} ${chalk.cyan(`/${sanitizeToSlug(skill.name)}`)}`, `Failed to register ${skill.name}`, (error) => logger.error('Skill registration failed', { error, skillId: skill.id, target }));
|
|
41
|
-
if (!result) {
|
|
42
|
-
return null;
|
|
43
|
-
}
|
|
44
41
|
return {
|
|
45
42
|
id: skill.id,
|
|
46
43
|
name: skill.name,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"helpers.js","sourceRoot":"","sources":["../../../../../src/cli/commands/skills/setup/helpers.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAG1B,OAAO,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAC;AAC3C,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAC9C,OAAO,EAAE,mBAAmB,EAAE,qBAAqB,EAAE,MAAM,kEAAkE,CAAC;AAC9H,OAAO,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AACjD,OAAO,EAAE,kBAAkB,EAAE,oBAAoB,EAAE,MAAM,iEAAiE,CAAC;AAC3H,OAAO,EAAE,mBAAmB,EAAE,qBAAqB,EAAE,MAAM,kEAAkE,CAAC;AAC9H,OAAO,EAAE,kBAAkB,EAAE,gBAAgB,IAAI,iBAAiB,EAAE,MAAM,kCAAkC,CAAC;
|
|
1
|
+
{"version":3,"file":"helpers.js","sourceRoot":"","sources":["../../../../../src/cli/commands/skills/setup/helpers.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAG1B,OAAO,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAC;AAC3C,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAC9C,OAAO,EAAE,mBAAmB,EAAE,qBAAqB,EAAE,MAAM,kEAAkE,CAAC;AAC9H,OAAO,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AACjD,OAAO,EAAE,kBAAkB,EAAE,oBAAoB,EAAE,MAAM,iEAAiE,CAAC;AAC3H,OAAO,EAAE,mBAAmB,EAAE,qBAAqB,EAAE,MAAM,kEAAkE,CAAC;AAC9H,OAAO,EAAE,kBAAkB,EAAE,wBAAwB,EAAE,gBAAgB,IAAI,iBAAiB,EAAE,MAAM,kCAAkC,CAAC;AACvI,OAAO,EACL,aAAa,EACb,YAAY,EACZ,aAAa,GAEd,MAAM,wCAAwC,CAAC;AAEhD,OAAO,EAAE,kBAAkB,EAAE,CAAC;AAO9B,MAAM,UAAU,gBAAgB,CAC9B,WAAqB,EACrB,SAA0B,EAC1B,gBAAgC;IAEhC,OAAO,iBAAiB,CAAC,WAAW,EAAE,SAAS,EAAE,gBAAgB,CAAC,CAAC;AACrE,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,eAAe,CACnC,KAAmB,EACnB,QAAsB,YAAY,CAAC,MAAM,EACzC,UAAmB,EACnB,SAA2B,CAAC,QAAQ,CAAC;IAErC,MAAM,kBAAkB,CACtB,iBAAiB,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,EAC5C,KAAK,IAAI,EAAE;QACT,IAAI,aAAa,CAAC,MAAM,CAAC,EAAE,CAAC;YAC1B,MAAM,qBAAqB,CAAC,KAAK,CAAC,IAAI,EAAE,KAAK,EAAE,UAAU,CAAC,CAAC;QAC7D,CAAC;QACD,IAAI,YAAY,CAAC,MAAM,CAAC,EAAE,CAAC;YACzB,MAAM,oBAAoB,CAAC,KAAK,CAAC,IAAI,EAAE,KAAK,EAAE,UAAU,CAAC,CAAC;QAC5D,CAAC;QACD,IAAI,aAAa,CAAC,MAAM,CAAC,EAAE,CAAC;YAC1B,MAAM,qBAAqB,CAAC,KAAK,CAAC,IAAI,EAAE,KAAK,EAAE,UAAU,CAAC,CAAC;QAC7D,CAAC;IACH,CAAC,EACD,gBAAgB,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,KAAK,CAAC,IAAI,CAAC,IAAI,KAAK,CAAC,IAAI,EAAE,CAAC,EAAE,EACxE,wBAAwB,KAAK,CAAC,IAAI,EAAE,EACpC,CAAC,KAAK,EAAE,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC,sBAAsB,EAAE,EAAE,KAAK,EAAE,OAAO,EAAE,KAAK,CAAC,EAAE,EAAE,MAAM,EAAE,CAAC,CACtF,CAAC;AACJ,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,aAAa,CACjC,KAAkB,EAClB,QAAsB,YAAY,CAAC,MAAM,EACzC,UAAmB,EACnB,SAA2B,CAAC,QAAQ,CAAC;IAGrC,MAAM,MAAM,GAAG,MAAM,wBAAwB,CAC3C,eAAe,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,EAC1C,KAAK,IAAI,EAAE;QACT,IAAI,IAAwB,CAAC;QAC7B,IAAI,aAAa,CAAC,MAAM,CAAC,EAAE,CAAC;YAC1B,IAAI,GAAG,MAAM,mBAAmB,CAAC,KAAK,EAAE,KAAK,EAAE,UAAU,CAAC,CAAC;QAC7D,CAAC;QACD,IAAI,YAAY,CAAC,MAAM,CAAC,EAAE,CAAC;YACzB,IAAI,GAAG,MAAM,kBAAkB,CAAC,KAAK,EAAE,KAAK,EAAE,UAAU,CAAC,CAAC;QAC5D,CAAC;QACD,IAAI,aAAa,CAAC,MAAM,CAAC,EAAE,CAAC;YAC1B,IAAI,GAAG,MAAM,mBAAmB,CAAC,KAAK,EAAE,KAAK,EAAE,UAAU,CAAC,CAAC;QAC7D,CAAC;QACD,OAAO,IAAI,CAAC;IACd,CAAC,EACD,cAAc,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,KAAK,CAAC,IAAI,CAAC,IAAI,cAAc,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,EACtF,sBAAsB,KAAK,CAAC,IAAI,EAAE,EAClC,CAAC,KAAK,EAAE,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC,2BAA2B,EAAE,EAAE,KAAK,EAAE,OAAO,EAAE,KAAK,CAAC,EAAE,EAAE,MAAM,EAAE,CAAC,CAC3F,CAAC;IAEF,OAAO;QACL,EAAE,EAAE,KAAK,CAAC,EAAE;QACZ,IAAI,EAAE,KAAK,CAAC,IAAI;QAChB,IAAI,EAAE,MAAO;QACb,WAAW,EAAE,KAAK,CAAC,WAAW;QAC9B,OAAO,EAAE,KAAK,CAAC,OAAO;QACtB,YAAY,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;QACtC,YAAY,EAAE,MAAM;KACrB,CAAC;AACJ,CAAC"}
|
|
@@ -1,6 +1,22 @@
|
|
|
1
1
|
import { Command } from 'commander';
|
|
2
2
|
import { type TargetAgent } from '../../../../cli/commands/shared/agent-targets.js';
|
|
3
|
-
import type
|
|
3
|
+
import { type CodemieSkill } from '../../../../env/types.js';
|
|
4
4
|
export type { CodemieSkill };
|
|
5
|
+
export interface SetupCommandOptions {
|
|
6
|
+
profile?: string;
|
|
7
|
+
agent?: string;
|
|
8
|
+
verbose?: boolean;
|
|
9
|
+
skill?: string;
|
|
10
|
+
scope?: string;
|
|
11
|
+
yes?: boolean;
|
|
12
|
+
}
|
|
5
13
|
export declare function createSkillsSetupCommand(hostAgent?: TargetAgent): Command;
|
|
14
|
+
/**
|
|
15
|
+
* Non-interactive branch of `codemie setup skills`. Every prompt (skill
|
|
16
|
+
* selection, storage scope, agent target detection/selection, the disclaimer's
|
|
17
|
+
* Enter gate) is skipped in favour of flags, validated up front so an invalid
|
|
18
|
+
* or missing flag, or an unresolvable identifier, aborts before any network
|
|
19
|
+
* call or write happens.
|
|
20
|
+
*/
|
|
21
|
+
export declare function setupSkillsHeadless(options: SetupCommandOptions, hostAgent?: TargetAgent): Promise<void>;
|
|
6
22
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/cli/commands/skills/setup/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/cli/commands/skills/setup/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAiBpC,OAAO,EAIL,KAAK,WAAW,EACjB,MAAM,wCAAwC,CAAC;AAWhD,OAAO,EAAgB,KAAK,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAEjE,YAAY,EAAE,YAAY,EAAE,CAAC;AAE7B,MAAM,WAAW,mBAAmB;IAClC,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,GAAG,CAAC,EAAE,OAAO,CAAC;CACf;AAED,wBAAgB,wBAAwB,CAAC,SAAS,CAAC,EAAE,WAAW,GAAG,OAAO,CAwBzE;AAiOD;;;;;;GAMG;AACH,wBAAsB,mBAAmB,CAAC,OAAO,EAAE,mBAAmB,EAAE,SAAS,CAAC,EAAE,WAAW,GAAG,OAAO,CAAC,IAAI,CAAC,CA8C9G"}
|
|
@@ -1,20 +1,27 @@
|
|
|
1
1
|
import { Command } from 'commander';
|
|
2
2
|
import chalk from 'chalk';
|
|
3
|
+
import { logger } from '../../../../utils/logger.js';
|
|
3
4
|
import { ConfigLoader } from '../../../../utils/config.js';
|
|
4
5
|
import { getAuthenticatedClient } from '../../../../utils/auth.js';
|
|
5
6
|
import { createSkillDataFetcher } from './data.js';
|
|
6
7
|
import { promptSkillSelection } from './selection/index.js';
|
|
7
8
|
import { determineChanges, registerSkill, unregisterSkill } from './helpers.js';
|
|
8
9
|
import { ACTION_TYPE } from './constants.js';
|
|
9
|
-
import { enableVerboseLogging, handleSetupError } from '../../../../cli/commands/shared/helpers.js';
|
|
10
|
+
import { enableVerboseLogging, handleSetupError, persistPartialWrites, registerAllOrAbort, } from '../../../../cli/commands/shared/helpers.js';
|
|
10
11
|
import { promptStorageScope } from '../../../../cli/commands/shared/prompts/storage-scope.js';
|
|
11
|
-
import { resolveAgentSetupTargets, formatAgentSetupTarget } from '../../../../cli/commands/shared/agent-targets.js';
|
|
12
|
+
import { resolveAgentSetupTargets, formatAgentSetupTarget, } from '../../../../cli/commands/shared/agent-targets.js';
|
|
13
|
+
import { isHeadlessMode, requireFlag, parseScopeFlag, parseListFlag, partitionRegisteredByRequest, resolveHeadlessAgentTarget, } from '../../../../cli/commands/shared/headless.js';
|
|
14
|
+
import { resolveIdentifiers } from '../../../../cli/commands/shared/identifier-resolution.js';
|
|
15
|
+
import { RegistrationItemNotFoundError } from '../../../../utils/errors.js';
|
|
12
16
|
export function createSkillsSetupCommand(hostAgent) {
|
|
13
17
|
const command = new Command('setup');
|
|
14
18
|
command
|
|
15
19
|
.description('Manage CodeMie platform skills (view, register, unregister)')
|
|
16
20
|
.option('--profile <name>', 'Profile to use')
|
|
17
21
|
.option('--agent <agents>', 'Target agent(s), comma-separated: claude, codex, gemini')
|
|
22
|
+
.option('--skill <ids>', 'Skill identifier(s) to register, comma-separated (id or exact name); enables non-interactive mode')
|
|
23
|
+
.option('--scope <scope>', 'Storage scope for non-interactive registration: global or local')
|
|
24
|
+
.option('-y, --yes', 'Run non-interactively; requires --skill, --scope and --agent')
|
|
18
25
|
.option('-v, --verbose', 'Enable verbose debug output')
|
|
19
26
|
.action(async (options) => {
|
|
20
27
|
if (options.verbose) {
|
|
@@ -75,6 +82,9 @@ async function showDisclaimer() {
|
|
|
75
82
|
});
|
|
76
83
|
}
|
|
77
84
|
async function setupSkills(options, hostAgent) {
|
|
85
|
+
if (isHeadlessMode(options, process.stdin.isTTY === true)) {
|
|
86
|
+
return setupSkillsHeadless(options, hostAgent);
|
|
87
|
+
}
|
|
78
88
|
const profileName = options.profile ?? await ConfigLoader.getActiveProfileName() ?? 'default';
|
|
79
89
|
const workingDir = process.cwd();
|
|
80
90
|
const proceed = await showDisclaimer();
|
|
@@ -102,31 +112,192 @@ async function setupSkills(options, hostAgent) {
|
|
|
102
112
|
console.log(chalk.yellow('\nNo changes to apply.\n'));
|
|
103
113
|
return;
|
|
104
114
|
}
|
|
115
|
+
// Pre-flight: fetchSkillsByIds already read every selected skill's details, so
|
|
116
|
+
// any unreadable one has aborted the run before the first write.
|
|
117
|
+
const details = new Map(selectedSkills.map(skill => [skill.id, skill]));
|
|
105
118
|
for (const skill of toUnregister) {
|
|
106
119
|
await unregisterSkill(skill, storageScope, workingDir, target);
|
|
107
120
|
}
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
121
|
+
await registerAndSaveSkills({
|
|
122
|
+
toRegister,
|
|
123
|
+
details,
|
|
124
|
+
carriedOver: registeredSkills.filter(s => selectedIds.includes(s.id)),
|
|
125
|
+
unregisteredCount: toUnregister.length,
|
|
126
|
+
scope: storageScope,
|
|
127
|
+
workingDir,
|
|
128
|
+
target,
|
|
129
|
+
});
|
|
130
|
+
}
|
|
131
|
+
/**
|
|
132
|
+
* Writes the selected skills from their pre-fetched details and saves the config,
|
|
133
|
+
* including when the batch aborts partway: whatever reached disk is recorded before
|
|
134
|
+
* the error propagates, so the config never claims less than what exists.
|
|
135
|
+
*/
|
|
136
|
+
async function registerAndSaveSkills(params) {
|
|
137
|
+
const { toRegister, details, carriedOver, scope, workingDir, target } = params;
|
|
138
|
+
const written = [];
|
|
139
|
+
const save = (items) => ConfigLoader.saveSkillsToProjectConfig(workingDir, scope, items);
|
|
140
|
+
try {
|
|
141
|
+
const newlyRegistered = await registerAllOrAbort(toRegister, (skill) => skill.name, async (skill) => {
|
|
142
|
+
const registration = await registerSkill(requireSkillDetail(details, skill.id), scope, workingDir, target);
|
|
143
|
+
written.push(registration);
|
|
144
|
+
return registration;
|
|
145
|
+
});
|
|
146
|
+
await save([...carriedOver, ...newlyRegistered]);
|
|
147
|
+
printSkillsSummary(newlyRegistered.length, params.unregisteredCount, scope, workingDir, target);
|
|
115
148
|
}
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
149
|
+
catch (error) {
|
|
150
|
+
await persistPartialWrites(written, carriedOver, save);
|
|
151
|
+
throw error;
|
|
152
|
+
}
|
|
153
|
+
}
|
|
154
|
+
/**
|
|
155
|
+
* Fetches the detail payload of every skill that is about to be written. This is the
|
|
156
|
+
* call that proves the caller can actually read the skill, so it runs for the whole
|
|
157
|
+
* batch up front: inside the write loop, a 403 on the last skill would abort only
|
|
158
|
+
* after earlier artifacts had already been written.
|
|
159
|
+
*/
|
|
160
|
+
async function prefetchSkillDetails(skills, fetcher) {
|
|
161
|
+
const details = new Map();
|
|
162
|
+
for (const skill of skills) {
|
|
163
|
+
details.set(skill.id, await fetcher.fetchSkillById(skill.id));
|
|
164
|
+
}
|
|
165
|
+
return details;
|
|
166
|
+
}
|
|
167
|
+
function requireSkillDetail(details, id) {
|
|
168
|
+
const detail = details.get(id);
|
|
169
|
+
if (!detail) {
|
|
170
|
+
throw new RegistrationItemNotFoundError('skill', id);
|
|
171
|
+
}
|
|
172
|
+
return detail;
|
|
173
|
+
}
|
|
174
|
+
function printSkillsSummary(registeredCount, unregisteredCount, scope, workingDir, target) {
|
|
175
|
+
const configLocation = ConfigLoader.getConfigLocationLabel(scope, workingDir);
|
|
122
176
|
console.log('');
|
|
123
|
-
if (
|
|
124
|
-
console.log(chalk.green(`✓ Registered ${
|
|
177
|
+
if (registeredCount > 0) {
|
|
178
|
+
console.log(chalk.green(`✓ Registered ${registeredCount} skill(s)`));
|
|
125
179
|
}
|
|
126
|
-
if (
|
|
127
|
-
console.log(chalk.yellow(`○ Unregistered ${
|
|
180
|
+
if (unregisteredCount > 0) {
|
|
181
|
+
console.log(chalk.yellow(`○ Unregistered ${unregisteredCount} skill(s)`));
|
|
128
182
|
}
|
|
129
183
|
console.log(chalk.dim(`\nSkills saved to: ${configLocation}`));
|
|
130
184
|
console.log(chalk.dim(`Skills are available for ${formatAgentSetupTarget(target)}.\n`));
|
|
131
185
|
}
|
|
186
|
+
/**
|
|
187
|
+
* Prints the same "skills have no tools/MCP servers" notice as the interactive
|
|
188
|
+
* `showDisclaimer()`, minus the ANSI screen control and the Enter/Ctrl+C prompt.
|
|
189
|
+
* Headless mode treats this as informational only, never a consent gate: it is
|
|
190
|
+
* printed through `console.log` and execution continues without reading stdin.
|
|
191
|
+
*/
|
|
192
|
+
function printSkillsNotice() {
|
|
193
|
+
console.log('');
|
|
194
|
+
console.log(chalk.yellow(' ⚠ Skills are installed without tools or MCP servers.'));
|
|
195
|
+
console.log('');
|
|
196
|
+
console.log(chalk.white(' If you need tools or MCP servers with your skill:'));
|
|
197
|
+
console.log(chalk.white(' 1. Go to ') + chalk.cyan('https://codemie.lab.epam.com/assistants'));
|
|
198
|
+
console.log(chalk.white(' 2. Create an assistant and attach your skill to it'));
|
|
199
|
+
console.log(chalk.white(' 3. Run: ') + chalk.cyan('codemie assistants setup') + chalk.white(' to install the assistant as a skill'));
|
|
200
|
+
console.log('');
|
|
201
|
+
}
|
|
202
|
+
/**
|
|
203
|
+
* Non-interactive branch of `codemie setup skills`. Every prompt (skill
|
|
204
|
+
* selection, storage scope, agent target detection/selection, the disclaimer's
|
|
205
|
+
* Enter gate) is skipped in favour of flags, validated up front so an invalid
|
|
206
|
+
* or missing flag, or an unresolvable identifier, aborts before any network
|
|
207
|
+
* call or write happens.
|
|
208
|
+
*/
|
|
209
|
+
export async function setupSkillsHeadless(options, hostAgent) {
|
|
210
|
+
const profileName = options.profile ?? await ConfigLoader.getActiveProfileName() ?? 'default';
|
|
211
|
+
const workingDir = process.cwd();
|
|
212
|
+
logger.debug('Setting up skills (headless)', { profileName, options, hostAgent });
|
|
213
|
+
const { identifiers, storageScope, target } = parseHeadlessSkillFlags(options, hostAgent);
|
|
214
|
+
printSkillsNotice();
|
|
215
|
+
const config = await ConfigLoader.load(workingDir, { name: profileName });
|
|
216
|
+
const client = await getAuthenticatedClient(config, { nonInteractive: true });
|
|
217
|
+
const registeredSkills = await ConfigLoader.loadSkillsByScope(storageScope, workingDir, profileName);
|
|
218
|
+
const fetcher = createSkillDataFetcher({ client, registeredSkills });
|
|
219
|
+
const catalog = await fetcher.fetchAllVisibleSkills();
|
|
220
|
+
const resolvedSkills = resolveIdentifiers('skill', identifiers, catalog);
|
|
221
|
+
const selectedIds = Array.from(new Set(resolvedSkills.map(skill => skill.id)));
|
|
222
|
+
const { inScope } = partitionRegisteredByRequest(registeredSkills, selectedIds);
|
|
223
|
+
// Headless registration is purely additive: every already-registered skill the
|
|
224
|
+
// request does not name survives the save untouched.
|
|
225
|
+
const carryOver = (written) => {
|
|
226
|
+
const writtenIds = new Set(written.map(skill => skill.id));
|
|
227
|
+
return registeredSkills.filter(skill => !writtenIds.has(skill.id));
|
|
228
|
+
};
|
|
229
|
+
const written = [];
|
|
230
|
+
const save = (items) => ConfigLoader.saveSkillsToProjectConfig(workingDir, storageScope, items);
|
|
231
|
+
try {
|
|
232
|
+
const { newlyRegistered, unregistered } = await applySkillChanges({ selectedIds, catalog, registeredSkills: inScope, scope: storageScope, workingDir, target, fetcher }, written);
|
|
233
|
+
if (newlyRegistered.length === 0 && unregistered.length === 0) {
|
|
234
|
+
return;
|
|
235
|
+
}
|
|
236
|
+
await save([...carryOver(newlyRegistered), ...newlyRegistered]);
|
|
237
|
+
printSkillsSummary(newlyRegistered.length, unregistered.length, storageScope, workingDir, target);
|
|
238
|
+
}
|
|
239
|
+
catch (error) {
|
|
240
|
+
await persistPartialWrites(written, carryOver(written), save);
|
|
241
|
+
throw error;
|
|
242
|
+
}
|
|
243
|
+
}
|
|
244
|
+
/**
|
|
245
|
+
* Validates and parses every headless input before any network call or write, so a
|
|
246
|
+
* missing or invalid flag aborts with an error naming it. `--agent` may come from
|
|
247
|
+
* the hosting agent (`codemie-<agent> setup skills`); nothing else is inferred.
|
|
248
|
+
*/
|
|
249
|
+
function parseHeadlessSkillFlags(options, hostAgent) {
|
|
250
|
+
return {
|
|
251
|
+
identifiers: parseListFlag(requireFlag(options.skill, '--skill')),
|
|
252
|
+
storageScope: parseScopeFlag(requireFlag(options.scope, '--scope')),
|
|
253
|
+
target: resolveHeadlessAgentTarget(options.agent, hostAgent),
|
|
254
|
+
};
|
|
255
|
+
}
|
|
256
|
+
async function applySkillChanges(params,
|
|
257
|
+
/** Collects each registration as it reaches disk, so a caller can record a partial batch. */
|
|
258
|
+
writeSink) {
|
|
259
|
+
const { selectedIds, catalog, registeredSkills, scope, workingDir, target, fetcher } = params;
|
|
260
|
+
const { toRegister, toUnregister } = determineChanges(selectedIds, catalog, registeredSkills);
|
|
261
|
+
const selectedSet = new Set(selectedIds);
|
|
262
|
+
const toReregister = registeredSkills.filter(s => selectedSet.has(s.id));
|
|
263
|
+
if (toRegister.length === 0 && toUnregister.length === 0 && toReregister.length === 0) {
|
|
264
|
+
console.log(chalk.yellow('\nNo changes to apply.\n'));
|
|
265
|
+
return { newlyRegistered: [], unregistered: [] };
|
|
266
|
+
}
|
|
267
|
+
const allToRegister = [...toRegister, ...getFullSkills(toReregister, catalog)];
|
|
268
|
+
// Pre-flight: prove every skill is readable before the first artifact is written,
|
|
269
|
+
// and before any existing registration is removed.
|
|
270
|
+
const details = await prefetchSkillDetails(allToRegister, fetcher);
|
|
271
|
+
for (const skill of toUnregister) {
|
|
272
|
+
await unregisterSkill(skill, scope, workingDir, target);
|
|
273
|
+
}
|
|
274
|
+
const previousById = new Map(toReregister.map(skill => [skill.id, skill]));
|
|
275
|
+
const newlyRegistered = await registerAllOrAbort(allToRegister, (skill) => skill.name, (skill) => writeOneSkill(skill, {
|
|
276
|
+
details,
|
|
277
|
+
previous: previousById.get(skill.id),
|
|
278
|
+
scope,
|
|
279
|
+
workingDir,
|
|
280
|
+
target,
|
|
281
|
+
writeSink,
|
|
282
|
+
}));
|
|
283
|
+
return { newlyRegistered, unregistered: toUnregister };
|
|
284
|
+
}
|
|
285
|
+
async function writeOneSkill(skill, context) {
|
|
286
|
+
const { details, previous, scope, workingDir, target, writeSink } = context;
|
|
287
|
+
// A re-registration removes its previous artifacts immediately before the
|
|
288
|
+
// replacement is written, never up front for the whole batch: an earlier
|
|
289
|
+
// failure would otherwise leave a working skill deleted and unwritten.
|
|
290
|
+
if (previous) {
|
|
291
|
+
await unregisterSkill(previous, scope, workingDir, target);
|
|
292
|
+
}
|
|
293
|
+
const registration = await registerSkill(requireSkillDetail(details, skill.id), scope, workingDir, target);
|
|
294
|
+
writeSink?.push(registration);
|
|
295
|
+
return registration;
|
|
296
|
+
}
|
|
297
|
+
function getFullSkills(skills, catalog) {
|
|
298
|
+
const byId = new Map(catalog.map(item => [item.id, item]));
|
|
299
|
+
return skills
|
|
300
|
+
.map(skill => byId.get(skill.id))
|
|
301
|
+
.filter((item) => item !== undefined);
|
|
302
|
+
}
|
|
132
303
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/cli/commands/skills/setup/index.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/cli/commands/skills/setup/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"codemie-auth-helpers.d.ts","sourceRoot":"","sources":["../../../src/providers/core/codemie-auth-helpers.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAGhD,eAAO,MAAM,wBAAwB,iCAAiC,CAAC;AAEvE,MAAM,WAAW,eAAe;IAC9B,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,OAAO,CAAC;IACjB,YAAY,EAAE,MAAM,EAAE,CAAC;IACvB,kBAAkB,EAAE,MAAM,EAAE,CAAC;IAC7B,iBAAiB,CAAC,EAAE,MAAM,EAAE,CAAC;IAC7B,OAAO,EAAE,MAAM,CAAC;IAChB,cAAc,EAAE,MAAM,EAAE,CAAC;IACzB,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED,wBAAgB,aAAa,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,
|
|
1
|
+
{"version":3,"file":"codemie-auth-helpers.d.ts","sourceRoot":"","sources":["../../../src/providers/core/codemie-auth-helpers.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAGhD,eAAO,MAAM,wBAAwB,iCAAiC,CAAC;AAEvE,MAAM,WAAW,eAAe;IAC9B,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,OAAO,CAAC;IACjB,YAAY,EAAE,MAAM,EAAE,CAAC;IACvB,kBAAkB,EAAE,MAAM,EAAE,CAAC;IAC7B,iBAAiB,CAAC,EAAE,MAAM,EAAE,CAAC;IAC7B,OAAO,EAAE,MAAM,CAAC;IAChB,cAAc,EAAE,MAAM,EAAE,CAAC;IACzB,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED,wBAAgB,aAAa,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAWpD;AAED,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAkB9F;AAED,wBAAsB,mBAAmB,CACvC,UAAU,GAAE,MAAiC,EAC7C,OAAO,GAAE,MAAoC,GAC5C,OAAO,CAAC,MAAM,CAAC,CAoBjB;AAED,wBAAsB,uBAAuB,CAC3C,UAAU,EAAE,MAAM,EAClB,OAAO,GAAE,MAAe,GACvB,OAAO,CAAC,aAAa,CAAC,CAOxB;AAGD,wBAAgB,oBAAoB,CAClC,MAAM,EAAE,MAAM,EACd,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAC9B,OAAO,CAAC,eAAe,CAAC,CAAC;AAC5B,wBAAgB,oBAAoB,CAClC,MAAM,EAAE,MAAM,EACd,QAAQ,EAAE,MAAM,GACf,OAAO,CAAC,eAAe,CAAC,CAAC;AAsC5B,wBAAsB,oBAAoB,CAAC,UAAU,EAAE,aAAa,GAAG,OAAO,CAAC;IAAE,OAAO,EAAE,MAAM,CAAC;IAAC,SAAS,EAAE,MAAM,CAAA;CAAE,CAAC,CA+CrH"}
|
|
@@ -6,7 +6,12 @@ export const DEFAULT_CODEMIE_BASE_URL = 'https://codemie.lab.epam.com';
|
|
|
6
6
|
export function ensureApiBase(rawUrl) {
|
|
7
7
|
let base = rawUrl.replace(/\/$/, '');
|
|
8
8
|
if (!/\/code-assistant-api(\/|$)/i.test(base)) {
|
|
9
|
-
|
|
9
|
+
// Local dev backends (localhost / 127.0.0.1) serve directly at /v1/...
|
|
10
|
+
// without the nginx-stripped /code-assistant-api prefix.
|
|
11
|
+
const isLocal = /^https?:\/\/(localhost|127\.0\.0\.1)(:\d+)?(\/|$)/i.test(base);
|
|
12
|
+
if (!isLocal) {
|
|
13
|
+
base = `${base}/code-assistant-api`;
|
|
14
|
+
}
|
|
10
15
|
}
|
|
11
16
|
return base;
|
|
12
17
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"codemie-auth-helpers.js","sourceRoot":"","sources":["../../../src/providers/core/codemie-auth-helpers.ts"],"names":[],"mappings":"AAAA,OAAO,QAAQ,MAAM,UAAU,CAAC;AAChC,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAC;AAEnD,OAAO,EAAE,kBAAkB,EAAE,MAAM,uBAAuB,CAAC;AAE3D,MAAM,CAAC,MAAM,wBAAwB,GAAG,8BAA8B,CAAC;AAevE,MAAM,UAAU,aAAa,CAAC,MAAc;IAC1C,IAAI,IAAI,GAAG,MAAM,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;IACrC,IAAI,CAAC,6BAA6B,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;QAC9C,IAAI,GAAG,GAAG,IAAI,qBAAqB,CAAC;
|
|
1
|
+
{"version":3,"file":"codemie-auth-helpers.js","sourceRoot":"","sources":["../../../src/providers/core/codemie-auth-helpers.ts"],"names":[],"mappings":"AAAA,OAAO,QAAQ,MAAM,UAAU,CAAC;AAChC,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAC;AAEnD,OAAO,EAAE,kBAAkB,EAAE,MAAM,uBAAuB,CAAC;AAE3D,MAAM,CAAC,MAAM,wBAAwB,GAAG,8BAA8B,CAAC;AAevE,MAAM,UAAU,aAAa,CAAC,MAAc;IAC1C,IAAI,IAAI,GAAG,MAAM,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;IACrC,IAAI,CAAC,6BAA6B,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;QAC9C,uEAAuE;QACvE,yDAAyD;QACzD,MAAM,OAAO,GAAG,oDAAoD,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAChF,IAAI,CAAC,OAAO,EAAE,CAAC;YACb,IAAI,GAAG,GAAG,IAAI,qBAAqB,CAAC;QACtC,CAAC;IACH,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAED,MAAM,UAAU,gBAAgB,CAAC,IAAqC;IACpE,MAAM,UAAU,GAAG,OAAO,CAAC,GAAG,CAAC,mBAAmB,IAAI,SAAS,CAAC;IAChE,MAAM,OAAO,GAA2B;QACtC,cAAc,EAAE,kBAAkB;QAClC,YAAY,EAAE,eAAe,UAAU,EAAE;QACzC,eAAe,EAAE,eAAe,UAAU,EAAE;QAC5C,kBAAkB,EAAE,aAAa;KAClC,CAAC;IAEF,IAAI,OAAO,IAAI,KAAK,QAAQ,EAAE,CAAC;QAC7B,OAAO,CAAC,aAAa,GAAG,UAAU,IAAI,EAAE,CAAC;IAC3C,CAAC;SAAM,CAAC;QACN,OAAO,CAAC,MAAM,GAAG,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC;aAClC,GAAG,CAAC,CAAC,CAAC,GAAG,EAAE,KAAK,CAAC,EAAE,EAAE,CAAC,GAAG,GAAG,IAAI,KAAK,EAAE,CAAC;aACxC,IAAI,CAAC,GAAG,CAAC,CAAC;IACf,CAAC;IAED,OAAO,OAAO,CAAC;AACjB,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,mBAAmB,CACvC,aAAqB,wBAAwB,EAC7C,UAAkB,2BAA2B;IAE7C,MAAM,OAAO,GAAG,MAAM,QAAQ,CAAC,MAAM,CAAC;QACpC;YACE,IAAI,EAAE,OAAO;YACb,IAAI,EAAE,YAAY;YAClB,OAAO;YACP,OAAO,EAAE,UAAU;YACnB,QAAQ,EAAE,CAAC,KAAa,EAAE,EAAE;gBAC1B,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,EAAE,CAAC;oBAClB,OAAO,yBAAyB,CAAC;gBACnC,CAAC;gBACD,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,UAAU,CAAC,EAAE,CAAC;oBAClE,OAAO,4DAA4D,CAAC;gBACtE,CAAC;gBACD,OAAO,IAAI,CAAC;YACd,CAAC;SACF;KACF,CAAC,CAAC;IAEH,OAAO,OAAO,CAAC,UAAU,CAAC,IAAI,EAAE,CAAC;AACnC,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,uBAAuB,CAC3C,UAAkB,EAClB,UAAkB,MAAM;IAExB,MAAM,EAAE,UAAU,EAAE,GAAG,MAAM,MAAM,CAAC,4BAA4B,CAAC,CAAC;IAClE,MAAM,GAAG,GAAG,IAAI,UAAU,EAAE,CAAC;IAC7B,OAAO,GAAG,CAAC,YAAY,CAAC;QACtB,UAAU;QACV,OAAO;KACR,CAAC,CAAC;AACL,CAAC;AAWD,MAAM,CAAC,KAAK,UAAU,oBAAoB,CACxC,MAAc,EACd,IAAqC;IAEvC,gCAAgC;IAC9B,MAAM,OAAO,GAAG,gBAAgB,CAAC,IAAI,CAAC,CAAC;IACvC,MAAM,GAAG,GAAG,GAAG,MAAM,UAAU,CAAC;IAEhC,MAAM,MAAM,GAAG,IAAI,UAAU,CAAC;QAC5B,OAAO,EAAE,KAAK;QACd,UAAU,EAAE,CAAC;QACb,oFAAoF;QACpF,kBAAkB,EAAE,KAAK;KAC1B,CAAC,CAAC;IAEH,MAAM,QAAQ,GAAG,MAAM,MAAM,CAAC,MAAM,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC;IAEnD,IAAI,CAAC,QAAQ,CAAC,UAAU,IAAI,QAAQ,CAAC,UAAU,GAAG,GAAG,IAAI,QAAQ,CAAC,UAAU,IAAI,GAAG,EAAE,CAAC;QACpF,IAAI,QAAQ,CAAC,UAAU,KAAK,GAAG,IAAI,QAAQ,CAAC,UAAU,KAAK,GAAG,EAAE,CAAC;YAC/D,MAAM,IAAI,kBAAkB,CAAC,wDAAwD,CAAC,CAAC;QACzF,CAAC;QACD,MAAM,IAAI,kBAAkB,CAAC,8BAA8B,QAAQ,CAAC,UAAU,IAAI,QAAQ,CAAC,aAAa,EAAE,CAAC,CAAC;IAC9G,CAAC;IAED,MAAM,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAoB,CAAC;IAE9D,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,kBAAkB,CAAC,IAAI,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,iBAAiB,CAAC,EAAE,CAAC;QAC7F,QAAQ,CAAC,kBAAkB,GAAG,QAAQ,CAAC,iBAAiB,CAAC;IAC3D,CAAC;IAED,IAAI,CAAC,QAAQ,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,kBAAkB,CAAC,EAAE,CAAC;QACtG,MAAM,IAAI,kBAAkB,CAAC,yDAAyD,CAAC,CAAC;IAC1F,CAAC;IAED,OAAO,QAAQ,CAAC;AAClB,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,oBAAoB,CAAC,UAAyB;IAClE,IAAI,CAAC,UAAU,CAAC,MAAM,IAAI,CAAC,UAAU,CAAC,OAAO,EAAE,CAAC;QAC9C,MAAM,IAAI,kBAAkB,CAAC,uDAAuD,CAAC,CAAC;IACxF,CAAC;IAED,MAAM,QAAQ,GAAG,MAAM,oBAAoB,CACzC,UAAU,CAAC,MAAM,EACjB,UAAU,CAAC,OAAO,CACnB,CAAC;IAEF,MAAM,YAAY,GAAG,QAAQ,CAAC,YAAY,IAAI,EAAE,CAAC;IACjD,MAAM,iBAAiB,GAAG,QAAQ,CAAC,kBAAkB,IAAI,EAAE,CAAC;IAC5D,MAAM,WAAW,GAAG,CAAC,GAAG,IAAI,GAAG,CAAC,CAAC,GAAG,YAAY,EAAE,GAAG,iBAAiB,CAAC,CAAC,CAAC,CAAC;IAE1E,IAAI,WAAW,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC7B,MAAM,IAAI,kBAAkB,CAAC,wEAAwE,CAAC,CAAC;IACzG,CAAC;IAED,MAAM,cAAc,GAAG,WAAW,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAC/C,CAAC,CAAC,aAAa,CAAC,CAAC,EAAE,SAAS,EAAE,EAAE,WAAW,EAAE,MAAM,EAAE,CAAC,CACvD,CAAC;IAEF,IAAI,OAAe,CAAC;IACpB,IAAI,cAAc,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAChC,OAAO,GAAG,cAAc,CAAC,CAAC,CAAC,CAAC;QAC5B,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,4BAA4B,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,CAAC;IAC9E,CAAC;SAAM,CAAC;QACN,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,SAAS,cAAc,CAAC,MAAM,wBAAwB,CAAC,CAAC,CAAC;QAE/E,MAAM,cAAc,GAAG,MAAM,QAAQ,CAAC,MAAM,CAAC;YAC3C;gBACE,IAAI,EAAE,MAAM;gBACZ,IAAI,EAAE,SAAS;gBACf,OAAO,EAAE,sBAAsB;gBAC/B,OAAO,EAAE,cAAc,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;oBAChC,IAAI,EAAE,CAAC;oBACP,KAAK,EAAE,CAAC;iBACT,CAAC,CAAC;gBACH,QAAQ,EAAE,EAAE;aACb;SACF,CAAC,CAAC;QAEH,OAAO,GAAG,cAAc,CAAC,OAAO,CAAC;QACjC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,uBAAuB,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,CAAC;IACzE,CAAC;IAED,OAAO,EAAE,OAAO,EAAE,SAAS,EAAE,QAAQ,CAAC,QAAQ,EAAE,CAAC;AACnD,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"default-agent-hooks.d.ts","sourceRoot":"","sources":["../../../src/providers/core/default-agent-hooks.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAGH,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,2BAA2B,CAAC;AAQlE,eAAO,MAAM,iBAAiB,EAAE,gBAAgB,CAAC,YAAY,
|
|
1
|
+
{"version":3,"file":"default-agent-hooks.d.ts","sourceRoot":"","sources":["../../../src/providers/core/default-agent-hooks.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAGH,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,2BAA2B,CAAC;AAQlE,eAAO,MAAM,iBAAiB,EAAE,gBAAgB,CAAC,YAAY,CA0E5D,CAAC"}
|
|
@@ -63,6 +63,15 @@ export const defaultAgentHooks = {
|
|
|
63
63
|
if (model && !hasModelFlag) {
|
|
64
64
|
enriched = ['--model', model, ...enriched];
|
|
65
65
|
}
|
|
66
|
+
// Points the /model picker at the CodeMie catalog for this process only (see
|
|
67
|
+
// claude.plugin.ts's beforeRun, which writes the temp file). Deliberately NOT written into
|
|
68
|
+
// ~/.claude/settings.json: that file is shared by every concurrent Claude Code process on
|
|
69
|
+
// the machine, and --settings layers on top of it without affecting any other session.
|
|
70
|
+
const modelPickerSettings = process.env.CODEMIE_CLAUDE_MODEL_PICKER_SETTINGS;
|
|
71
|
+
const hasSettingsFlag = enriched.some(arg => arg === '--settings' || arg.startsWith('--settings='));
|
|
72
|
+
if (modelPickerSettings && !hasSettingsFlag) {
|
|
73
|
+
enriched = ['--settings', modelPickerSettings, ...enriched];
|
|
74
|
+
}
|
|
66
75
|
return enriched;
|
|
67
76
|
}
|
|
68
77
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"default-agent-hooks.js","sourceRoot":"","sources":["../../../src/providers/core/default-agent-hooks.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"default-agent-hooks.js","sourceRoot":"","sources":["../../../src/providers/core/default-agent-hooks.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAWH,MAAM,CAAC,MAAM,iBAAiB,GAAmC;IAC/D,GAAG,EAAE;QACH,KAAK,CAAC,SAAS,CAAC,GAAsB,EAAE,MAAmB;YACzD,MAAM,SAAS,GAAG,MAAM,CAAC,KAAK,CAAC;YAC/B,IAAI,CAAC,SAAS;gBAAE,OAAO,GAAG,CAAC;YAE3B,8EAA8E;YAC9E,yEAAyE;YACzE,MAAM,EAAE,aAAa,EAAE,GAAG,MAAM,MAAM,CAAC,sBAAsB,CAAC,CAAC;YAC/D,MAAM,KAAK,GAAG,aAAa,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC;YAChD,IAAI,CAAC,KAAK;gBAAE,OAAO,GAAG,CAAC;YAEvB,IAAI,CAAC;gBACH,MAAM,SAAS,GAAI,KAAgC,CAAC,qBAAqB,EAAE,EAAE,CAAC;gBAC9E,IAAI,CAAC,SAAS;oBAAE,OAAO,GAAG,CAAC;gBAE3B,MAAM,MAAM,GAAG,MAAM,SAAS,CAAC,OAAO,EAAE,CAAC;gBACzC,IAAI,MAAM,CAAC,OAAO,EAAE,CAAC;oBACnB,GAAG,CAAC,WAAW,SAAS,CAAC,WAAW,EAAE,gBAAgB,CAAC,GAAG,MAAM,CAAC,UAAU,CAAC;gBAC9E,CAAC;qBAAM,CAAC;oBACN,MAAM,EAAE,MAAM,EAAE,GAAG,MAAM,MAAM,CAAC,mBAAmB,CAAC,CAAC;oBACrD,MAAM,CAAC,IAAI,CAAC,IAAI,SAAS,8CAA8C,MAAM,CAAC,KAAK,IAAI,eAAe,EAAE,CAAC,CAAC;oBAC1G,MAAM,CAAC,IAAI,CAAC,IAAI,SAAS,6DAA6D,CAAC,CAAC;gBAC1F,CAAC;YACH,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,MAAM,EAAE,MAAM,EAAE,GAAG,MAAM,MAAM,CAAC,mBAAmB,CAAC,CAAC;gBACrD,MAAM,QAAQ,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;gBACxE,MAAM,CAAC,KAAK,CAAC,IAAI,SAAS,6CAA6C,QAAQ,EAAE,CAAC,CAAC;gBACnF,MAAM,CAAC,IAAI,CAAC,IAAI,SAAS,6DAA6D,CAAC,CAAC;YAC1F,CAAC;YAED,OAAO,GAAG,CAAC;QACb,CAAC;KACF;IAED,QAAQ,EAAE;QACR,UAAU,CAAC,IAAc,EAAE,OAAoB;YAC7C,IAAI,QAAQ,GAAG,IAAI,CAAC;YAEpB,MAAM,SAAS,GAAG,OAAO,CAAC,GAAG,CAAC,4BAA4B,CAAC;YAC3D,IAAI,SAAS,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,cAAc,CAAC,EAAE,CAAC;gBAC/D,QAAQ,GAAG,CAAC,cAAc,EAAE,SAAS,EAAE,GAAG,QAAQ,CAAC,CAAC;YACtD,CAAC;YAED,yDAAyD;YACzD,2EAA2E;YAC3E,2EAA2E;YAC3E,+DAA+D;YAC/D,4EAA4E;YAC5E,qEAAqE;YACrE,gDAAgD;YAChD,EAAE;YACF,wEAAwE;YACxE,sEAAsE;YACtE,iDAAiD;YACjD,MAAM,KAAK,GAAG,OAAO,CAAC,GAAG,CAAC,aAAa,EAAE,IAAI,EAAE,CAAC;YAChD,MAAM,YAAY,GAAG,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,SAAS,IAAI,GAAG,CAAC,UAAU,CAAC,UAAU,CAAC,CAAC,CAAC;YAC3F,IAAI,KAAK,IAAI,CAAC,YAAY,EAAE,CAAC;gBAC3B,QAAQ,GAAG,CAAC,SAAS,EAAE,KAAK,EAAE,GAAG,QAAQ,CAAC,CAAC;YAC7C,CAAC;YAED,6EAA6E;YAC7E,2FAA2F;YAC3F,0FAA0F;YAC1F,uFAAuF;YACvF,MAAM,mBAAmB,GAAG,OAAO,CAAC,GAAG,CAAC,oCAAoC,CAAC;YAC7E,MAAM,eAAe,GAAG,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,YAAY,IAAI,GAAG,CAAC,UAAU,CAAC,aAAa,CAAC,CAAC,CAAC;YACpG,IAAI,mBAAmB,IAAI,CAAC,eAAe,EAAE,CAAC;gBAC5C,QAAQ,GAAG,CAAC,YAAY,EAAE,mBAAmB,EAAE,GAAG,QAAQ,CAAC,CAAC;YAC9D,CAAC;YAED,OAAO,QAAQ,CAAC;QAClB,CAAC;KACF;CACF,CAAC"}
|