@codemieai/code 0.15.2 → 0.15.3
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/plugins/claude/claude.plugin.d.ts +1 -1
- package/dist/agents/plugins/claude/claude.plugin.js +2 -2
- 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/opencode/opencode-dynamic-models.d.ts.map +1 -1
- package/dist/agents/plugins/opencode/opencode-dynamic-models.js +3 -4
- 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/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/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 +11 -0
- package/dist/cli/commands/proxy/connectors/tenant-catalog.d.ts.map +1 -0
- package/dist/cli/commands/proxy/connectors/tenant-catalog.js +108 -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 +3 -3
- package/dist/cli/commands/proxy/connectors/vscode-models.d.ts.map +1 -1
- package/dist/cli/commands/proxy/connectors/vscode-models.js +28 -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 +78 -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/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/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/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/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/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/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/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/package.json +2 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"vscode.js","sourceRoot":"","sources":["../../../../../src/cli/commands/proxy/connectors/vscode.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AACrC,OAAO,EAAE,KAAK,EAAE,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AACpF,OAAO,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AAClC,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAC1C,OAAO,EAAE,kBAAkB,EAAE,MAAM,mBAAmB,CAAC;AACvD,OAAO,EACL,wBAAwB,
|
|
1
|
+
{"version":3,"file":"vscode.js","sourceRoot":"","sources":["../../../../../src/cli/commands/proxy/connectors/vscode.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,69 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Headless-mode detection and flag validation shared by `codemie setup assistants`
|
|
3
|
+
* and `codemie setup skills`.
|
|
4
|
+
*/
|
|
5
|
+
import { StorageScope } from '../../../env/types.js';
|
|
6
|
+
import { type AgentSetupTarget, type TargetAgent } from '../../../cli/commands/shared/agent-targets.js';
|
|
7
|
+
export interface HeadlessFlags {
|
|
8
|
+
yes?: boolean;
|
|
9
|
+
assistant?: string;
|
|
10
|
+
skill?: string;
|
|
11
|
+
/**
|
|
12
|
+
* Accepted so callers can hand over their whole options object, but deliberately
|
|
13
|
+
* not part of the headless decision — see `isHeadlessMode`.
|
|
14
|
+
*/
|
|
15
|
+
scope?: string;
|
|
16
|
+
agent?: string;
|
|
17
|
+
mode?: string;
|
|
18
|
+
}
|
|
19
|
+
/**
|
|
20
|
+
* Determines whether a command should run in non-interactive (headless) mode:
|
|
21
|
+
* true when stdin is not a TTY, or when a flag that only makes sense
|
|
22
|
+
* non-interactively is present — the item-selection flags (`--assistant` /
|
|
23
|
+
* `--skill`) or `-y/--yes`.
|
|
24
|
+
*
|
|
25
|
+
* `--agent`, `--scope` and `--mode` must NOT select headless mode. `--agent`
|
|
26
|
+
* shipped long before headless mode as a wizard preselector, so treating it as a
|
|
27
|
+
* headless trigger would break `codemie setup assistants --agent claude` at a
|
|
28
|
+
* TTY; `--scope` and `--mode` are preselectors on the same surface.
|
|
29
|
+
*/
|
|
30
|
+
export declare function isHeadlessMode(flags: HeadlessFlags, isTty: boolean): boolean;
|
|
31
|
+
/**
|
|
32
|
+
* Returns the given flag value, or throws a ConfigurationError naming the flag when missing.
|
|
33
|
+
*/
|
|
34
|
+
export declare function requireFlag(value: string | undefined, flagName: string): string;
|
|
35
|
+
/**
|
|
36
|
+
* Parses a scope flag value into a StorageScope, throwing a ConfigurationError for
|
|
37
|
+
* any other value.
|
|
38
|
+
*/
|
|
39
|
+
export declare function parseScopeFlag(value: string): StorageScope;
|
|
40
|
+
/**
|
|
41
|
+
* Splits a comma-separated flag value into trimmed, de-duplicated, non-empty entries.
|
|
42
|
+
* Throws a ConfigurationError when no non-empty values remain.
|
|
43
|
+
*/
|
|
44
|
+
export declare function parseListFlag(value: string): string[];
|
|
45
|
+
/**
|
|
46
|
+
* Resolves the headless agent target from `--agent`, falling back to the agent
|
|
47
|
+
* hosting the command (`codemie-<agent> setup ...` wires its adapter name in as
|
|
48
|
+
* `hostAgent`), which determines the target just as unambiguously as the flag.
|
|
49
|
+
* Throws a ConfigurationError naming `--agent` only when neither is available,
|
|
50
|
+
* so the generic `codemie setup` surface still requires an explicit target.
|
|
51
|
+
* Agent targets are never auto-detected on this path.
|
|
52
|
+
*/
|
|
53
|
+
export declare function resolveHeadlessAgentTarget(value: string | undefined, hostAgent?: TargetAgent): AgentSetupTarget;
|
|
54
|
+
export interface RegisteredPartition<T> {
|
|
55
|
+
/** Already-registered records the request names, which will be re-registered. */
|
|
56
|
+
inScope: T[];
|
|
57
|
+
/** Already-registered records the request does not name, which must survive untouched. */
|
|
58
|
+
untouched: T[];
|
|
59
|
+
}
|
|
60
|
+
/**
|
|
61
|
+
* Splits already-registered records against the requested ids. Headless
|
|
62
|
+
* registration is purely additive, so the "currently registered" set handed to
|
|
63
|
+
* the change calculation must be narrowed to the overlap with the request —
|
|
64
|
+
* anything outside it would otherwise be derived as a removal.
|
|
65
|
+
*/
|
|
66
|
+
export declare function partitionRegisteredByRequest<T extends {
|
|
67
|
+
id: string;
|
|
68
|
+
}>(registered: T[], selectedIds: string[]): RegisteredPartition<T>;
|
|
69
|
+
//# sourceMappingURL=headless.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"headless.d.ts","sourceRoot":"","sources":["../../../../src/cli/commands/shared/headless.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAGH,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAC9C,OAAO,EAEL,KAAK,gBAAgB,EACrB,KAAK,WAAW,EACjB,MAAM,wCAAwC,CAAC;AAEhD,MAAM,WAAW,aAAa;IAC5B,GAAG,CAAC,EAAE,OAAO,CAAC;IACd,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf;;;OAGG;IACH,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,cAAc,CAAC,KAAK,EAAE,aAAa,EAAE,KAAK,EAAE,OAAO,GAAG,OAAO,CAM5E;AAED;;GAEG;AACH,wBAAgB,WAAW,CAAC,KAAK,EAAE,MAAM,GAAG,SAAS,EAAE,QAAQ,EAAE,MAAM,GAAG,MAAM,CAM/E;AAED;;;GAGG;AACH,wBAAgB,cAAc,CAAC,KAAK,EAAE,MAAM,GAAG,YAAY,CAY1D;AAED;;;GAGG;AACH,wBAAgB,aAAa,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,EAAE,CAQrD;AAED;;;;;;;GAOG;AACH,wBAAgB,0BAA0B,CACxC,KAAK,EAAE,MAAM,GAAG,SAAS,EACzB,SAAS,CAAC,EAAE,WAAW,GACtB,gBAAgB,CAElB;AAED,MAAM,WAAW,mBAAmB,CAAC,CAAC;IACpC,iFAAiF;IACjF,OAAO,EAAE,CAAC,EAAE,CAAC;IACb,0FAA0F;IAC1F,SAAS,EAAE,CAAC,EAAE,CAAC;CAChB;AAED;;;;;GAKG;AACH,wBAAgB,4BAA4B,CAAC,CAAC,SAAS;IAAE,EAAE,EAAE,MAAM,CAAA;CAAE,EACnE,UAAU,EAAE,CAAC,EAAE,EACf,WAAW,EAAE,MAAM,EAAE,GACpB,mBAAmB,CAAC,CAAC,CAAC,CAOxB"}
|
|
@@ -0,0 +1,83 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Headless-mode detection and flag validation shared by `codemie setup assistants`
|
|
3
|
+
* and `codemie setup skills`.
|
|
4
|
+
*/
|
|
5
|
+
import { ConfigurationError } from '../../../utils/errors.js';
|
|
6
|
+
import { StorageScope } from '../../../env/types.js';
|
|
7
|
+
import { parseAgentSetupTarget, } from '../../../cli/commands/shared/agent-targets.js';
|
|
8
|
+
/**
|
|
9
|
+
* Determines whether a command should run in non-interactive (headless) mode:
|
|
10
|
+
* true when stdin is not a TTY, or when a flag that only makes sense
|
|
11
|
+
* non-interactively is present — the item-selection flags (`--assistant` /
|
|
12
|
+
* `--skill`) or `-y/--yes`.
|
|
13
|
+
*
|
|
14
|
+
* `--agent`, `--scope` and `--mode` must NOT select headless mode. `--agent`
|
|
15
|
+
* shipped long before headless mode as a wizard preselector, so treating it as a
|
|
16
|
+
* headless trigger would break `codemie setup assistants --agent claude` at a
|
|
17
|
+
* TTY; `--scope` and `--mode` are preselectors on the same surface.
|
|
18
|
+
*/
|
|
19
|
+
export function isHeadlessMode(flags, isTty) {
|
|
20
|
+
if (!isTty) {
|
|
21
|
+
return true;
|
|
22
|
+
}
|
|
23
|
+
return Boolean(flags.yes || flags.assistant || flags.skill);
|
|
24
|
+
}
|
|
25
|
+
/**
|
|
26
|
+
* Returns the given flag value, or throws a ConfigurationError naming the flag when missing.
|
|
27
|
+
*/
|
|
28
|
+
export function requireFlag(value, flagName) {
|
|
29
|
+
if (!value) {
|
|
30
|
+
throw new ConfigurationError(`Missing required flag: ${flagName}`);
|
|
31
|
+
}
|
|
32
|
+
return value;
|
|
33
|
+
}
|
|
34
|
+
/**
|
|
35
|
+
* Parses a scope flag value into a StorageScope, throwing a ConfigurationError for
|
|
36
|
+
* any other value.
|
|
37
|
+
*/
|
|
38
|
+
export function parseScopeFlag(value) {
|
|
39
|
+
const normalized = value.trim().toLowerCase();
|
|
40
|
+
if (normalized === StorageScope.GLOBAL) {
|
|
41
|
+
return StorageScope.GLOBAL;
|
|
42
|
+
}
|
|
43
|
+
if (normalized === StorageScope.LOCAL) {
|
|
44
|
+
return StorageScope.LOCAL;
|
|
45
|
+
}
|
|
46
|
+
throw new ConfigurationError(`Invalid scope: "${value}". Expected "global" or "local".`);
|
|
47
|
+
}
|
|
48
|
+
/**
|
|
49
|
+
* Splits a comma-separated flag value into trimmed, de-duplicated, non-empty entries.
|
|
50
|
+
* Throws a ConfigurationError when no non-empty values remain.
|
|
51
|
+
*/
|
|
52
|
+
export function parseListFlag(value) {
|
|
53
|
+
const items = Array.from(new Set(value.split(',').map((item) => item.trim()).filter((item) => item.length > 0)));
|
|
54
|
+
if (items.length === 0) {
|
|
55
|
+
throw new ConfigurationError(`Expected a comma-separated list of values, got: "${value}"`);
|
|
56
|
+
}
|
|
57
|
+
return items;
|
|
58
|
+
}
|
|
59
|
+
/**
|
|
60
|
+
* Resolves the headless agent target from `--agent`, falling back to the agent
|
|
61
|
+
* hosting the command (`codemie-<agent> setup ...` wires its adapter name in as
|
|
62
|
+
* `hostAgent`), which determines the target just as unambiguously as the flag.
|
|
63
|
+
* Throws a ConfigurationError naming `--agent` only when neither is available,
|
|
64
|
+
* so the generic `codemie setup` surface still requires an explicit target.
|
|
65
|
+
* Agent targets are never auto-detected on this path.
|
|
66
|
+
*/
|
|
67
|
+
export function resolveHeadlessAgentTarget(value, hostAgent) {
|
|
68
|
+
return parseAgentSetupTarget(requireFlag(value ?? hostAgent, '--agent'));
|
|
69
|
+
}
|
|
70
|
+
/**
|
|
71
|
+
* Splits already-registered records against the requested ids. Headless
|
|
72
|
+
* registration is purely additive, so the "currently registered" set handed to
|
|
73
|
+
* the change calculation must be narrowed to the overlap with the request —
|
|
74
|
+
* anything outside it would otherwise be derived as a removal.
|
|
75
|
+
*/
|
|
76
|
+
export function partitionRegisteredByRequest(registered, selectedIds) {
|
|
77
|
+
const selected = new Set(selectedIds);
|
|
78
|
+
return {
|
|
79
|
+
inScope: registered.filter((item) => selected.has(item.id)),
|
|
80
|
+
untouched: registered.filter((item) => !selected.has(item.id)),
|
|
81
|
+
};
|
|
82
|
+
}
|
|
83
|
+
//# sourceMappingURL=headless.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"headless.js","sourceRoot":"","sources":["../../../../src/cli/commands/shared/headless.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,kBAAkB,EAAE,MAAM,mBAAmB,CAAC;AACvD,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAC9C,OAAO,EACL,qBAAqB,GAGtB,MAAM,wCAAwC,CAAC;AAehD;;;;;;;;;;GAUG;AACH,MAAM,UAAU,cAAc,CAAC,KAAoB,EAAE,KAAc;IACjE,IAAI,CAAC,KAAK,EAAE,CAAC;QACX,OAAO,IAAI,CAAC;IACd,CAAC;IAED,OAAO,OAAO,CAAC,KAAK,CAAC,GAAG,IAAI,KAAK,CAAC,SAAS,IAAI,KAAK,CAAC,KAAK,CAAC,CAAC;AAC9D,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,WAAW,CAAC,KAAyB,EAAE,QAAgB;IACrE,IAAI,CAAC,KAAK,EAAE,CAAC;QACX,MAAM,IAAI,kBAAkB,CAAC,0BAA0B,QAAQ,EAAE,CAAC,CAAC;IACrE,CAAC;IAED,OAAO,KAAK,CAAC;AACf,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,cAAc,CAAC,KAAa;IAC1C,MAAM,UAAU,GAAG,KAAK,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;IAE9C,IAAI,UAAU,KAAK,YAAY,CAAC,MAAM,EAAE,CAAC;QACvC,OAAO,YAAY,CAAC,MAAM,CAAC;IAC7B,CAAC;IAED,IAAI,UAAU,KAAK,YAAY,CAAC,KAAK,EAAE,CAAC;QACtC,OAAO,YAAY,CAAC,KAAK,CAAC;IAC5B,CAAC;IAED,MAAM,IAAI,kBAAkB,CAAC,mBAAmB,KAAK,kCAAkC,CAAC,CAAC;AAC3F,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,aAAa,CAAC,KAAa;IACzC,MAAM,KAAK,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;IAEjH,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACvB,MAAM,IAAI,kBAAkB,CAAC,oDAAoD,KAAK,GAAG,CAAC,CAAC;IAC7F,CAAC;IAED,OAAO,KAAK,CAAC;AACf,CAAC;AAED;;;;;;;GAOG;AACH,MAAM,UAAU,0BAA0B,CACxC,KAAyB,EACzB,SAAuB;IAEvB,OAAO,qBAAqB,CAAC,WAAW,CAAC,KAAK,IAAI,SAAS,EAAE,SAAS,CAAC,CAAC,CAAC;AAC3E,CAAC;AASD;;;;;GAKG;AACH,MAAM,UAAU,4BAA4B,CAC1C,UAAe,EACf,WAAqB;IAErB,MAAM,QAAQ,GAAG,IAAI,GAAG,CAAC,WAAW,CAAC,CAAC;IAEtC,OAAO;QACL,OAAO,EAAE,UAAU,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QAC3D,SAAS,EAAE,UAAU,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;KAC/D,CAAC;AACJ,CAAC"}
|
|
@@ -1,4 +1,25 @@
|
|
|
1
1
|
export declare function executeWithSpinner<T>(spinnerMessage: string, operation: () => Promise<T>, successMessage: string, errorMessage: string, onError?: (error: unknown) => void): Promise<T | null>;
|
|
2
|
+
/**
|
|
3
|
+
* Runs `operation` behind a spinner and **rethrows** the original error after
|
|
4
|
+
* invoking `onError`, in deliberate contrast to `executeWithSpinner`, which
|
|
5
|
+
* swallows the failure and returns `null` (a `null` a caller easily reads as
|
|
6
|
+
* "skip this one" and reports as success). Use this variant wherever a failed
|
|
7
|
+
* write must abort the run.
|
|
8
|
+
*/
|
|
9
|
+
export declare function executeWithSpinnerStrict<T>(spinnerMessage: string, operation: () => Promise<T>, successMessage: string, errorMessage: string, onError?: (error: unknown) => void): Promise<T>;
|
|
10
|
+
/**
|
|
11
|
+
* Writes items sequentially and stops at the first failure, so a caller never
|
|
12
|
+
* reports success for items that were never written. There is no rollback:
|
|
13
|
+
* items already written before the failure stay written on disk.
|
|
14
|
+
*/
|
|
15
|
+
export declare function registerAllOrAbort<TItem, TResult>(items: TItem[], nameOf: (item: TItem) => string, writeOne: (item: TItem) => Promise<TResult>): Promise<TResult[]>;
|
|
16
|
+
/**
|
|
17
|
+
* Records the items a batch already wrote before it aborted, so the saved config
|
|
18
|
+
* never claims less than what exists on disk (an artifact with no config entry can
|
|
19
|
+
* neither be listed nor unregistered). A failure to save is logged and swallowed:
|
|
20
|
+
* it must never mask the registration error the caller is about to rethrow.
|
|
21
|
+
*/
|
|
22
|
+
export declare function persistPartialWrites<T>(written: T[], untouched: T[], save: (items: T[]) => Promise<void>): Promise<void>;
|
|
2
23
|
export declare function determineChanges<TItem extends {
|
|
3
24
|
id: string;
|
|
4
25
|
}, TRegistered extends {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"helpers.d.ts","sourceRoot":"","sources":["../../../../src/cli/commands/shared/helpers.ts"],"names":[],"mappings":"AAKA,wBAAsB,kBAAkB,CAAC,CAAC,EACxC,cAAc,EAAE,MAAM,EACtB,SAAS,EAAE,MAAM,OAAO,CAAC,CAAC,CAAC,EAC3B,cAAc,EAAE,MAAM,EACtB,YAAY,EAAE,MAAM,EACpB,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,OAAO,KAAK,IAAI,GACjC,OAAO,CAAC,CAAC,GAAG,IAAI,CAAC,CAyBnB;AAED,wBAAgB,gBAAgB,CAC9B,KAAK,SAAS;IAAE,EAAE,EAAE,MAAM,CAAA;CAAE,EAC5B,WAAW,SAAS;IAAE,EAAE,EAAE,MAAM,CAAA;CAAE,EAElC,WAAW,EAAE,MAAM,EAAE,EACrB,QAAQ,EAAE,KAAK,EAAE,EACjB,eAAe,EAAE,WAAW,EAAE,GAC7B;IAAE,UAAU,EAAE,KAAK,EAAE,CAAC;IAAC,YAAY,EAAE,WAAW,EAAE,CAAA;CAAE,CAQtD;AAED,wBAAgB,oBAAoB,IAAI,IAAI,CAM3C;AAED,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,OAAO,EAAE,KAAK,SAAU,GAAG,KAAK,CAKvE"}
|
|
1
|
+
{"version":3,"file":"helpers.d.ts","sourceRoot":"","sources":["../../../../src/cli/commands/shared/helpers.ts"],"names":[],"mappings":"AAKA,wBAAsB,kBAAkB,CAAC,CAAC,EACxC,cAAc,EAAE,MAAM,EACtB,SAAS,EAAE,MAAM,OAAO,CAAC,CAAC,CAAC,EAC3B,cAAc,EAAE,MAAM,EACtB,YAAY,EAAE,MAAM,EACpB,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,OAAO,KAAK,IAAI,GACjC,OAAO,CAAC,CAAC,GAAG,IAAI,CAAC,CAyBnB;AAED;;;;;;GAMG;AACH,wBAAsB,wBAAwB,CAAC,CAAC,EAC9C,cAAc,EAAE,MAAM,EACtB,SAAS,EAAE,MAAM,OAAO,CAAC,CAAC,CAAC,EAC3B,cAAc,EAAE,MAAM,EACtB,YAAY,EAAE,MAAM,EACpB,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,OAAO,KAAK,IAAI,GACjC,OAAO,CAAC,CAAC,CAAC,CAyBZ;AAED;;;;GAIG;AACH,wBAAsB,kBAAkB,CAAC,KAAK,EAAE,OAAO,EACrD,KAAK,EAAE,KAAK,EAAE,EACd,MAAM,EAAE,CAAC,IAAI,EAAE,KAAK,KAAK,MAAM,EAC/B,QAAQ,EAAE,CAAC,IAAI,EAAE,KAAK,KAAK,OAAO,CAAC,OAAO,CAAC,GAC1C,OAAO,CAAC,OAAO,EAAE,CAAC,CAepB;AAED;;;;;GAKG;AACH,wBAAsB,oBAAoB,CAAC,CAAC,EAC1C,OAAO,EAAE,CAAC,EAAE,EACZ,SAAS,EAAE,CAAC,EAAE,EACd,IAAI,EAAE,CAAC,KAAK,EAAE,CAAC,EAAE,KAAK,OAAO,CAAC,IAAI,CAAC,GAClC,OAAO,CAAC,IAAI,CAAC,CAUf;AAED,wBAAgB,gBAAgB,CAC9B,KAAK,SAAS;IAAE,EAAE,EAAE,MAAM,CAAA;CAAE,EAC5B,WAAW,SAAS;IAAE,EAAE,EAAE,MAAM,CAAA;CAAE,EAElC,WAAW,EAAE,MAAM,EAAE,EACrB,QAAQ,EAAE,KAAK,EAAE,EACjB,eAAe,EAAE,WAAW,EAAE,GAC7B;IAAE,UAAU,EAAE,KAAK,EAAE,CAAC;IAAC,YAAY,EAAE,WAAW,EAAE,CAAA;CAAE,CAQtD;AAED,wBAAgB,oBAAoB,IAAI,IAAI,CAM3C;AAED,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,OAAO,EAAE,KAAK,SAAU,GAAG,KAAK,CAKvE"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import chalk from 'chalk';
|
|
2
2
|
import ora from 'ora';
|
|
3
3
|
import { logger } from '../../../utils/logger.js';
|
|
4
|
-
import { createErrorContext, formatErrorForUser } from '../../../utils/errors.js';
|
|
4
|
+
import { createErrorContext, formatErrorForUser, PartialRegistrationError } from '../../../utils/errors.js';
|
|
5
5
|
export async function executeWithSpinner(spinnerMessage, operation, successMessage, errorMessage, onError) {
|
|
6
6
|
const isVerbose = process.env.CODEMIE_DEBUG === 'true';
|
|
7
7
|
const spinner = ora(spinnerMessage).start();
|
|
@@ -30,6 +30,78 @@ export async function executeWithSpinner(spinnerMessage, operation, successMessa
|
|
|
30
30
|
return null;
|
|
31
31
|
}
|
|
32
32
|
}
|
|
33
|
+
/**
|
|
34
|
+
* Runs `operation` behind a spinner and **rethrows** the original error after
|
|
35
|
+
* invoking `onError`, in deliberate contrast to `executeWithSpinner`, which
|
|
36
|
+
* swallows the failure and returns `null` (a `null` a caller easily reads as
|
|
37
|
+
* "skip this one" and reports as success). Use this variant wherever a failed
|
|
38
|
+
* write must abort the run.
|
|
39
|
+
*/
|
|
40
|
+
export async function executeWithSpinnerStrict(spinnerMessage, operation, successMessage, errorMessage, onError) {
|
|
41
|
+
const isVerbose = process.env.CODEMIE_DEBUG === 'true';
|
|
42
|
+
const spinner = ora(spinnerMessage).start();
|
|
43
|
+
try {
|
|
44
|
+
const result = await operation();
|
|
45
|
+
if (isVerbose) {
|
|
46
|
+
spinner.succeed(chalk.green(successMessage));
|
|
47
|
+
}
|
|
48
|
+
else {
|
|
49
|
+
spinner.clear();
|
|
50
|
+
spinner.stop();
|
|
51
|
+
}
|
|
52
|
+
return result;
|
|
53
|
+
}
|
|
54
|
+
catch (error) {
|
|
55
|
+
if (isVerbose) {
|
|
56
|
+
spinner.fail(chalk.red(errorMessage));
|
|
57
|
+
}
|
|
58
|
+
else {
|
|
59
|
+
spinner.clear();
|
|
60
|
+
spinner.stop();
|
|
61
|
+
}
|
|
62
|
+
if (onError) {
|
|
63
|
+
onError(error);
|
|
64
|
+
}
|
|
65
|
+
throw error;
|
|
66
|
+
}
|
|
67
|
+
}
|
|
68
|
+
/**
|
|
69
|
+
* Writes items sequentially and stops at the first failure, so a caller never
|
|
70
|
+
* reports success for items that were never written. There is no rollback:
|
|
71
|
+
* items already written before the failure stay written on disk.
|
|
72
|
+
*/
|
|
73
|
+
export async function registerAllOrAbort(items, nameOf, writeOne) {
|
|
74
|
+
const results = [];
|
|
75
|
+
const written = [];
|
|
76
|
+
for (const item of items) {
|
|
77
|
+
try {
|
|
78
|
+
const result = await writeOne(item);
|
|
79
|
+
results.push(result);
|
|
80
|
+
written.push(nameOf(item));
|
|
81
|
+
}
|
|
82
|
+
catch (error) {
|
|
83
|
+
throw new PartialRegistrationError(written, error);
|
|
84
|
+
}
|
|
85
|
+
}
|
|
86
|
+
return results;
|
|
87
|
+
}
|
|
88
|
+
/**
|
|
89
|
+
* Records the items a batch already wrote before it aborted, so the saved config
|
|
90
|
+
* never claims less than what exists on disk (an artifact with no config entry can
|
|
91
|
+
* neither be listed nor unregistered). A failure to save is logged and swallowed:
|
|
92
|
+
* it must never mask the registration error the caller is about to rethrow.
|
|
93
|
+
*/
|
|
94
|
+
export async function persistPartialWrites(written, untouched, save) {
|
|
95
|
+
if (written.length === 0) {
|
|
96
|
+
return;
|
|
97
|
+
}
|
|
98
|
+
try {
|
|
99
|
+
await save([...untouched, ...written]);
|
|
100
|
+
}
|
|
101
|
+
catch (error) {
|
|
102
|
+
logger.error('Failed to record partially written registrations', { error });
|
|
103
|
+
}
|
|
104
|
+
}
|
|
33
105
|
export function determineChanges(selectedIds, allItems, registeredItems) {
|
|
34
106
|
const selectedSet = new Set(selectedIds);
|
|
35
107
|
const registeredIds = new Set(registeredItems.map(item => item.id));
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"helpers.js","sourceRoot":"","sources":["../../../../src/cli/commands/shared/helpers.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,GAAG,MAAM,KAAK,CAAC;AACtB,OAAO,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAC;AAC3C,OAAO,EAAE,kBAAkB,EAAE,kBAAkB,EAAE,MAAM,mBAAmB,CAAC;
|
|
1
|
+
{"version":3,"file":"helpers.js","sourceRoot":"","sources":["../../../../src/cli/commands/shared/helpers.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Pure identifier resolution shared by `codemie setup assistants` and `codemie setup skills`.
|
|
3
|
+
*
|
|
4
|
+
* Resolves user-supplied identifiers (id, slug, or exact name) against a catalog,
|
|
5
|
+
* failing loudly instead of guessing when an identifier is unknown or ambiguous.
|
|
6
|
+
*/
|
|
7
|
+
export interface ResolvableItem {
|
|
8
|
+
id: string;
|
|
9
|
+
name: string;
|
|
10
|
+
slug?: string;
|
|
11
|
+
}
|
|
12
|
+
/**
|
|
13
|
+
* Resolves each requested identifier against the catalog, matching case-insensitively
|
|
14
|
+
* by id, then slug, then exact name. Results are ordered like `identifiers`.
|
|
15
|
+
*
|
|
16
|
+
* Throws `RegistrationItemNotFoundError` when an identifier matches nothing, and
|
|
17
|
+
* `AmbiguousIdentifierError` — listing every candidate rather than picking one —
|
|
18
|
+
* whenever an identifier matches multiple catalog entries, whether they collide on
|
|
19
|
+
* id, slug or name. Since matching is case-insensitive throughout, entries whose
|
|
20
|
+
* keys differ only in case collide too.
|
|
21
|
+
*/
|
|
22
|
+
export declare function resolveIdentifiers<T extends ResolvableItem>(kind: 'assistant' | 'skill', identifiers: string[], catalog: T[]): T[];
|
|
23
|
+
//# sourceMappingURL=identifier-resolution.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"identifier-resolution.d.ts","sourceRoot":"","sources":["../../../../src/cli/commands/shared/identifier-resolution.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAIH,MAAM,WAAW,cAAc;IAC7B,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAYD;;;;;;;;;GASG;AACH,wBAAgB,kBAAkB,CAAC,CAAC,SAAS,cAAc,EACzD,IAAI,EAAE,WAAW,GAAG,OAAO,EAC3B,WAAW,EAAE,MAAM,EAAE,EACrB,OAAO,EAAE,CAAC,EAAE,GACX,CAAC,EAAE,CAoCL"}
|
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Pure identifier resolution shared by `codemie setup assistants` and `codemie setup skills`.
|
|
3
|
+
*
|
|
4
|
+
* Resolves user-supplied identifiers (id, slug, or exact name) against a catalog,
|
|
5
|
+
* failing loudly instead of guessing when an identifier is unknown or ambiguous.
|
|
6
|
+
*/
|
|
7
|
+
import { RegistrationItemNotFoundError, AmbiguousIdentifierError } from '../../../utils/errors.js';
|
|
8
|
+
function bucket(map, key, item) {
|
|
9
|
+
const existing = map.get(key);
|
|
10
|
+
if (existing) {
|
|
11
|
+
existing.push(item);
|
|
12
|
+
}
|
|
13
|
+
else {
|
|
14
|
+
map.set(key, [item]);
|
|
15
|
+
}
|
|
16
|
+
}
|
|
17
|
+
/**
|
|
18
|
+
* Resolves each requested identifier against the catalog, matching case-insensitively
|
|
19
|
+
* by id, then slug, then exact name. Results are ordered like `identifiers`.
|
|
20
|
+
*
|
|
21
|
+
* Throws `RegistrationItemNotFoundError` when an identifier matches nothing, and
|
|
22
|
+
* `AmbiguousIdentifierError` — listing every candidate rather than picking one —
|
|
23
|
+
* whenever an identifier matches multiple catalog entries, whether they collide on
|
|
24
|
+
* id, slug or name. Since matching is case-insensitive throughout, entries whose
|
|
25
|
+
* keys differ only in case collide too.
|
|
26
|
+
*/
|
|
27
|
+
export function resolveIdentifiers(kind, identifiers, catalog) {
|
|
28
|
+
const byId = new Map();
|
|
29
|
+
const bySlug = new Map();
|
|
30
|
+
const byName = new Map();
|
|
31
|
+
for (const item of catalog) {
|
|
32
|
+
bucket(byId, item.id.toLowerCase(), item);
|
|
33
|
+
if (item.slug) {
|
|
34
|
+
bucket(bySlug, item.slug.toLowerCase(), item);
|
|
35
|
+
}
|
|
36
|
+
bucket(byName, item.name.toLowerCase(), item);
|
|
37
|
+
}
|
|
38
|
+
return identifiers.map((identifier) => {
|
|
39
|
+
const key = identifier.toLowerCase();
|
|
40
|
+
if (!key) {
|
|
41
|
+
throw new RegistrationItemNotFoundError(kind, identifier);
|
|
42
|
+
}
|
|
43
|
+
for (const candidates of [byId.get(key), bySlug.get(key), byName.get(key)]) {
|
|
44
|
+
if (!candidates) {
|
|
45
|
+
continue;
|
|
46
|
+
}
|
|
47
|
+
if (candidates.length > 1) {
|
|
48
|
+
throw new AmbiguousIdentifierError(kind, identifier, candidates);
|
|
49
|
+
}
|
|
50
|
+
return candidates[0];
|
|
51
|
+
}
|
|
52
|
+
throw new RegistrationItemNotFoundError(kind, identifier);
|
|
53
|
+
});
|
|
54
|
+
}
|
|
55
|
+
//# sourceMappingURL=identifier-resolution.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"identifier-resolution.js","sourceRoot":"","sources":["../../../../src/cli/commands/shared/identifier-resolution.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,6BAA6B,EAAE,wBAAwB,EAAE,MAAM,mBAAmB,CAAC;AAQ5F,SAAS,MAAM,CAAI,GAAqB,EAAE,GAAW,EAAE,IAAO;IAC5D,MAAM,QAAQ,GAAG,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;IAE9B,IAAI,QAAQ,EAAE,CAAC;QACb,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACtB,CAAC;SAAM,CAAC;QACN,GAAG,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC;IACvB,CAAC;AACH,CAAC;AAED;;;;;;;;;GASG;AACH,MAAM,UAAU,kBAAkB,CAChC,IAA2B,EAC3B,WAAqB,EACrB,OAAY;IAEZ,MAAM,IAAI,GAAG,IAAI,GAAG,EAAe,CAAC;IACpC,MAAM,MAAM,GAAG,IAAI,GAAG,EAAe,CAAC;IACtC,MAAM,MAAM,GAAG,IAAI,GAAG,EAAe,CAAC;IAEtC,KAAK,MAAM,IAAI,IAAI,OAAO,EAAE,CAAC;QAC3B,MAAM,CAAC,IAAI,EAAE,IAAI,CAAC,EAAE,CAAC,WAAW,EAAE,EAAE,IAAI,CAAC,CAAC;QAE1C,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC;YACd,MAAM,CAAC,MAAM,EAAE,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,EAAE,IAAI,CAAC,CAAC;QAChD,CAAC;QAED,MAAM,CAAC,MAAM,EAAE,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,EAAE,IAAI,CAAC,CAAC;IAChD,CAAC;IAED,OAAO,WAAW,CAAC,GAAG,CAAC,CAAC,UAAU,EAAE,EAAE;QACpC,MAAM,GAAG,GAAG,UAAU,CAAC,WAAW,EAAE,CAAC;QAErC,IAAI,CAAC,GAAG,EAAE,CAAC;YACT,MAAM,IAAI,6BAA6B,CAAC,IAAI,EAAE,UAAU,CAAC,CAAC;QAC5D,CAAC;QAED,KAAK,MAAM,UAAU,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC;YAC3E,IAAI,CAAC,UAAU,EAAE,CAAC;gBAChB,SAAS;YACX,CAAC;YAED,IAAI,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBAC1B,MAAM,IAAI,wBAAwB,CAAC,IAAI,EAAE,UAAU,EAAE,UAAU,CAAC,CAAC;YACnE,CAAC;YAED,OAAO,UAAU,CAAC,CAAC,CAAC,CAAC;QACvB,CAAC;QAED,MAAM,IAAI,6BAA6B,CAAC,IAAI,EAAE,UAAU,CAAC,CAAC;IAC5D,CAAC,CAAC,CAAC;AACL,CAAC"}
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
*
|
|
4
4
|
* Handles all data fetching for skills setup
|
|
5
5
|
*/
|
|
6
|
-
import type
|
|
6
|
+
import { type SkillListItem, type SkillDetail, type CodeMieClient } from 'codemie-sdk';
|
|
7
7
|
import type { CodemieSkill } from '../../../../env/types.js';
|
|
8
8
|
export interface FetchSkillsParams {
|
|
9
9
|
scope: 'registered' | 'project' | 'marketplace';
|
|
@@ -18,7 +18,8 @@ export interface FetchSkillsResult {
|
|
|
18
18
|
export interface SkillDataFetcher {
|
|
19
19
|
fetchSkills: (params: FetchSkillsParams) => Promise<FetchSkillsResult>;
|
|
20
20
|
fetchSkillById: (id: string) => Promise<SkillDetail>;
|
|
21
|
-
fetchSkillsByIds: (ids: string[], registeredSkills: CodemieSkill[]) => Promise<
|
|
21
|
+
fetchSkillsByIds: (ids: string[], registeredSkills: CodemieSkill[]) => Promise<SkillDetail[]>;
|
|
22
|
+
fetchAllVisibleSkills: () => Promise<SkillListItem[]>;
|
|
22
23
|
}
|
|
23
24
|
export interface SkillDataFetcherConfig {
|
|
24
25
|
client: CodeMieClient;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"data.d.ts","sourceRoot":"","sources":["../../../../../src/cli/commands/skills/setup/data.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,
|
|
1
|
+
{"version":3,"file":"data.d.ts","sourceRoot":"","sources":["../../../../../src/cli/commands/skills/setup/data.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAiB,KAAK,aAAa,EAAE,KAAK,WAAW,EAAE,KAAK,aAAa,EAAE,MAAM,aAAa,CAAC;AAEtG,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AA+CnD,MAAM,WAAW,iBAAiB;IAChC,KAAK,EAAE,YAAY,GAAG,SAAS,GAAG,aAAa,CAAC;IAChD,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,iBAAiB;IAChC,IAAI,EAAE,aAAa,EAAE,CAAC;IACtB,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,gBAAgB;IAC/B,WAAW,EAAE,CAAC,MAAM,EAAE,iBAAiB,KAAK,OAAO,CAAC,iBAAiB,CAAC,CAAC;IACvE,cAAc,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,OAAO,CAAC,WAAW,CAAC,CAAC;IACrD,gBAAgB,EAAE,CAAC,GAAG,EAAE,MAAM,EAAE,EAAE,gBAAgB,EAAE,YAAY,EAAE,KAAK,OAAO,CAAC,WAAW,EAAE,CAAC,CAAC;IAC9F,qBAAqB,EAAE,MAAM,OAAO,CAAC,aAAa,EAAE,CAAC,CAAC;CACvD;AAED,MAAM,WAAW,sBAAsB;IACrC,MAAM,EAAE,aAAa,CAAC;IACtB,gBAAgB,EAAE,YAAY,EAAE,CAAC;CAClC;AAED,wBAAgB,sBAAsB,CAAC,MAAM,EAAE,sBAAsB,GAAG,gBAAgB,CA6IvF"}
|
|
@@ -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"}
|