@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.
Files changed (147) hide show
  1. package/dist/agents/plugins/claude/claude.plugin.d.ts +1 -1
  2. package/dist/agents/plugins/claude/claude.plugin.js +2 -2
  3. package/dist/agents/plugins/claude/claude.session.d.ts +17 -1
  4. package/dist/agents/plugins/claude/claude.session.d.ts.map +1 -1
  5. package/dist/agents/plugins/claude/claude.session.js +4 -0
  6. package/dist/agents/plugins/claude/claude.session.js.map +1 -1
  7. package/dist/agents/plugins/opencode/opencode-dynamic-models.d.ts.map +1 -1
  8. package/dist/agents/plugins/opencode/opencode-dynamic-models.js +3 -4
  9. package/dist/agents/plugins/opencode/opencode-dynamic-models.js.map +1 -1
  10. package/dist/agents/plugins/pi/pi.models.d.ts.map +1 -1
  11. package/dist/agents/plugins/pi/pi.models.js +3 -3
  12. package/dist/agents/plugins/pi/pi.models.js.map +1 -1
  13. package/dist/bin/proxy-daemon.js +8 -1
  14. package/dist/bin/proxy-daemon.js.map +1 -1
  15. package/dist/cli/commands/assistants/constants.d.ts +4 -0
  16. package/dist/cli/commands/assistants/constants.d.ts.map +1 -1
  17. package/dist/cli/commands/assistants/constants.js +4 -0
  18. package/dist/cli/commands/assistants/constants.js.map +1 -1
  19. package/dist/cli/commands/assistants/setup/data.d.ts +1 -0
  20. package/dist/cli/commands/assistants/setup/data.d.ts.map +1 -1
  21. package/dist/cli/commands/assistants/setup/data.js +55 -10
  22. package/dist/cli/commands/assistants/setup/data.js.map +1 -1
  23. package/dist/cli/commands/assistants/setup/helpers.d.ts +1 -1
  24. package/dist/cli/commands/assistants/setup/helpers.d.ts.map +1 -1
  25. package/dist/cli/commands/assistants/setup/helpers.js +2 -5
  26. package/dist/cli/commands/assistants/setup/helpers.js.map +1 -1
  27. package/dist/cli/commands/assistants/setup/index.d.ts +12 -0
  28. package/dist/cli/commands/assistants/setup/index.d.ts.map +1 -1
  29. package/dist/cli/commands/assistants/setup/index.js +148 -20
  30. package/dist/cli/commands/assistants/setup/index.js.map +1 -1
  31. package/dist/cli/commands/profile/display.d.ts +5 -1
  32. package/dist/cli/commands/profile/display.d.ts.map +1 -1
  33. package/dist/cli/commands/profile/display.js +5 -1
  34. package/dist/cli/commands/profile/display.js.map +1 -1
  35. package/dist/cli/commands/profile/index.d.ts.map +1 -1
  36. package/dist/cli/commands/profile/index.js +7 -4
  37. package/dist/cli/commands/profile/index.js.map +1 -1
  38. package/dist/cli/commands/proxy/connect-orchestrator.d.ts.map +1 -1
  39. package/dist/cli/commands/proxy/connect-orchestrator.js +3 -4
  40. package/dist/cli/commands/proxy/connect-orchestrator.js.map +1 -1
  41. package/dist/cli/commands/proxy/connectors/desktop.d.ts +2 -3
  42. package/dist/cli/commands/proxy/connectors/desktop.d.ts.map +1 -1
  43. package/dist/cli/commands/proxy/connectors/desktop.js +9 -25
  44. package/dist/cli/commands/proxy/connectors/desktop.js.map +1 -1
  45. package/dist/cli/commands/proxy/connectors/model-name-resolver.d.ts +19 -0
  46. package/dist/cli/commands/proxy/connectors/model-name-resolver.d.ts.map +1 -0
  47. package/dist/cli/commands/proxy/connectors/model-name-resolver.js +126 -0
  48. package/dist/cli/commands/proxy/connectors/model-name-resolver.js.map +1 -0
  49. package/dist/cli/commands/proxy/connectors/tenant-catalog.d.ts +11 -0
  50. package/dist/cli/commands/proxy/connectors/tenant-catalog.d.ts.map +1 -0
  51. package/dist/cli/commands/proxy/connectors/tenant-catalog.js +108 -0
  52. package/dist/cli/commands/proxy/connectors/tenant-catalog.js.map +1 -0
  53. package/dist/cli/commands/proxy/connectors/vscode-claude-code.d.ts.map +1 -1
  54. package/dist/cli/commands/proxy/connectors/vscode-claude-code.js +49 -19
  55. package/dist/cli/commands/proxy/connectors/vscode-claude-code.js.map +1 -1
  56. package/dist/cli/commands/proxy/connectors/vscode-models.d.ts +3 -3
  57. package/dist/cli/commands/proxy/connectors/vscode-models.d.ts.map +1 -1
  58. package/dist/cli/commands/proxy/connectors/vscode-models.js +28 -28
  59. package/dist/cli/commands/proxy/connectors/vscode-models.js.map +1 -1
  60. package/dist/cli/commands/proxy/connectors/vscode.d.ts +3 -2
  61. package/dist/cli/commands/proxy/connectors/vscode.d.ts.map +1 -1
  62. package/dist/cli/commands/proxy/connectors/vscode.js +78 -39
  63. package/dist/cli/commands/proxy/connectors/vscode.js.map +1 -1
  64. package/dist/cli/commands/shared/headless.d.ts +69 -0
  65. package/dist/cli/commands/shared/headless.d.ts.map +1 -0
  66. package/dist/cli/commands/shared/headless.js +83 -0
  67. package/dist/cli/commands/shared/headless.js.map +1 -0
  68. package/dist/cli/commands/shared/helpers.d.ts +21 -0
  69. package/dist/cli/commands/shared/helpers.d.ts.map +1 -1
  70. package/dist/cli/commands/shared/helpers.js +73 -1
  71. package/dist/cli/commands/shared/helpers.js.map +1 -1
  72. package/dist/cli/commands/shared/identifier-resolution.d.ts +23 -0
  73. package/dist/cli/commands/shared/identifier-resolution.d.ts.map +1 -0
  74. package/dist/cli/commands/shared/identifier-resolution.js +55 -0
  75. package/dist/cli/commands/shared/identifier-resolution.js.map +1 -0
  76. package/dist/cli/commands/skills/setup/data.d.ts +3 -2
  77. package/dist/cli/commands/skills/setup/data.d.ts.map +1 -1
  78. package/dist/cli/commands/skills/setup/data.js +75 -13
  79. package/dist/cli/commands/skills/setup/data.js.map +1 -1
  80. package/dist/cli/commands/skills/setup/helpers.d.ts +1 -1
  81. package/dist/cli/commands/skills/setup/helpers.d.ts.map +1 -1
  82. package/dist/cli/commands/skills/setup/helpers.js +2 -5
  83. package/dist/cli/commands/skills/setup/helpers.js.map +1 -1
  84. package/dist/cli/commands/skills/setup/index.d.ts +17 -1
  85. package/dist/cli/commands/skills/setup/index.d.ts.map +1 -1
  86. package/dist/cli/commands/skills/setup/index.js +190 -19
  87. package/dist/cli/commands/skills/setup/index.js.map +1 -1
  88. package/dist/providers/plugins/sso/proxy/plugins/claude-model-resolver.d.ts +41 -0
  89. package/dist/providers/plugins/sso/proxy/plugins/claude-model-resolver.d.ts.map +1 -0
  90. package/dist/providers/plugins/sso/proxy/plugins/claude-model-resolver.js +115 -0
  91. package/dist/providers/plugins/sso/proxy/plugins/claude-model-resolver.js.map +1 -0
  92. package/dist/providers/plugins/sso/proxy/plugins/claude-request-normalizer.plugin.d.ts.map +1 -1
  93. package/dist/providers/plugins/sso/proxy/plugins/claude-request-normalizer.plugin.js +101 -7
  94. package/dist/providers/plugins/sso/proxy/plugins/claude-request-normalizer.plugin.js.map +1 -1
  95. package/dist/providers/plugins/sso/proxy/plugins/header-injection.plugin.d.ts +4 -0
  96. package/dist/providers/plugins/sso/proxy/plugins/header-injection.plugin.d.ts.map +1 -1
  97. package/dist/providers/plugins/sso/proxy/plugins/header-injection.plugin.js +28 -3
  98. package/dist/providers/plugins/sso/proxy/plugins/header-injection.plugin.js.map +1 -1
  99. package/dist/providers/plugins/sso/proxy/proxy-types.d.ts +5 -0
  100. package/dist/providers/plugins/sso/proxy/proxy-types.d.ts.map +1 -1
  101. package/dist/providers/plugins/sso/proxy/sso.proxy.d.ts.map +1 -1
  102. package/dist/providers/plugins/sso/proxy/sso.proxy.js +1 -0
  103. package/dist/providers/plugins/sso/proxy/sso.proxy.js.map +1 -1
  104. package/dist/providers/plugins/sso/session/processors/metrics/metrics-aggregator.d.ts.map +1 -1
  105. package/dist/providers/plugins/sso/session/processors/metrics/metrics-aggregator.js +11 -2
  106. package/dist/providers/plugins/sso/session/processors/metrics/metrics-aggregator.js.map +1 -1
  107. package/dist/providers/plugins/sso/session/processors/metrics/metrics-sync-processor.d.ts.map +1 -1
  108. package/dist/providers/plugins/sso/session/processors/metrics/metrics-sync-processor.js +2 -1
  109. package/dist/providers/plugins/sso/session/processors/metrics/metrics-sync-processor.js.map +1 -1
  110. package/dist/telemetry/clients/claude-desktop/claude-desktop.discovery.d.ts +1 -0
  111. package/dist/telemetry/clients/claude-desktop/claude-desktop.discovery.d.ts.map +1 -1
  112. package/dist/telemetry/clients/claude-desktop/claude-desktop.discovery.js +30 -6
  113. package/dist/telemetry/clients/claude-desktop/claude-desktop.discovery.js.map +1 -1
  114. package/dist/telemetry/clients/claude-desktop/claude-desktop.parser.d.ts.map +1 -1
  115. package/dist/telemetry/clients/claude-desktop/claude-desktop.parser.js +33 -3
  116. package/dist/telemetry/clients/claude-desktop/claude-desktop.parser.js.map +1 -1
  117. package/dist/telemetry/runtime/DesktopRepositoryResolver.d.ts +58 -0
  118. package/dist/telemetry/runtime/DesktopRepositoryResolver.d.ts.map +1 -0
  119. package/dist/telemetry/runtime/DesktopRepositoryResolver.js +370 -0
  120. package/dist/telemetry/runtime/DesktopRepositoryResolver.js.map +1 -0
  121. package/dist/telemetry/runtime/DesktopTelemetryRuntime.d.ts +1 -0
  122. package/dist/telemetry/runtime/DesktopTelemetryRuntime.d.ts.map +1 -1
  123. package/dist/telemetry/runtime/DesktopTelemetryRuntime.js +89 -6
  124. package/dist/telemetry/runtime/DesktopTelemetryRuntime.js.map +1 -1
  125. package/dist/telemetry/runtime/types.d.ts +2 -0
  126. package/dist/telemetry/runtime/types.d.ts.map +1 -1
  127. package/dist/utils/auth.d.ts +13 -2
  128. package/dist/utils/auth.d.ts.map +1 -1
  129. package/dist/utils/auth.js +7 -3
  130. package/dist/utils/auth.js.map +1 -1
  131. package/dist/utils/config.d.ts +21 -0
  132. package/dist/utils/config.d.ts.map +1 -1
  133. package/dist/utils/config.js +69 -7
  134. package/dist/utils/config.js.map +1 -1
  135. package/dist/utils/errors.d.ts +14 -0
  136. package/dist/utils/errors.d.ts.map +1 -1
  137. package/dist/utils/errors.js +25 -0
  138. package/dist/utils/errors.js.map +1 -1
  139. package/dist/utils/paths.d.ts +2 -2
  140. package/dist/utils/paths.d.ts.map +1 -1
  141. package/dist/utils/paths.js +11 -9
  142. package/dist/utils/paths.js.map +1 -1
  143. package/dist/utils/processes.d.ts +12 -0
  144. package/dist/utils/processes.d.ts.map +1 -1
  145. package/dist/utils/processes.js +15 -0
  146. package/dist/utils/processes.js.map +1 -1
  147. package/package.json +2 -1
@@ -1 +1 @@
1
- {"version":3,"file":"vscode.js","sourceRoot":"","sources":["../../../../../src/cli/commands/proxy/connectors/vscode.ts"],"names":[],"mappings":"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"}
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;AAE3E,MAAM,CAAC,KAAK,UAAU,kBAAkB,CACtC,cAAsB,EACtB,SAA2B,EAC3B,cAAsB,EACtB,YAAoB,EACpB,OAAkC;IAElC,MAAM,SAAS,GAAG,OAAO,CAAC,GAAG,CAAC,aAAa,KAAK,MAAM,CAAC;IACvD,MAAM,OAAO,GAAG,GAAG,CAAC,cAAc,CAAC,CAAC,KAAK,EAAE,CAAC;IAE5C,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,MAAM,SAAS,EAAE,CAAC;QACjC,IAAI,SAAS,EAAE,CAAC;YACd,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,cAAc,CAAC,CAAC,CAAC;QAC/C,CAAC;aAAM,CAAC;YACN,OAAO,CAAC,KAAK,EAAE,CAAC;YAChB,OAAO,CAAC,IAAI,EAAE,CAAC;QACjB,CAAC;QACD,OAAO,MAAM,CAAC;IAChB,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,IAAI,SAAS,EAAE,CAAC;YACd,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC,CAAC;QACxC,CAAC;aAAM,CAAC;YACN,OAAO,CAAC,KAAK,EAAE,CAAC;YAChB,OAAO,CAAC,IAAI,EAAE,CAAC;QACjB,CAAC;QACD,IAAI,OAAO,EAAE,CAAC;YACZ,OAAO,CAAC,KAAK,CAAC,CAAC;QACjB,CAAC;QACD,OAAO,IAAI,CAAC;IACd,CAAC;AACH,CAAC;AAED,MAAM,UAAU,gBAAgB,CAI9B,WAAqB,EACrB,QAAiB,EACjB,eAA8B;IAE9B,MAAM,WAAW,GAAG,IAAI,GAAG,CAAC,WAAW,CAAC,CAAC;IACzC,MAAM,aAAa,GAAG,IAAI,GAAG,CAAC,eAAe,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC;IAEpE,OAAO;QACL,UAAU,EAAE,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,WAAW,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QAC5F,YAAY,EAAE,eAAe,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,WAAW,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;KACxE,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,oBAAoB;IAClC,OAAO,CAAC,GAAG,CAAC,aAAa,GAAG,MAAM,CAAC;IACnC,MAAM,WAAW,GAAG,MAAM,CAAC,cAAc,EAAE,CAAC;IAC5C,IAAI,WAAW,EAAE,CAAC;QAChB,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,eAAe,WAAW,IAAI,CAAC,CAAC,CAAC;IACzD,CAAC;AACH,CAAC;AAED,MAAM,UAAU,gBAAgB,CAAC,KAAc,EAAE,KAAK,GAAG,OAAO;IAC9D,MAAM,OAAO,GAAG,kBAAkB,CAAC,KAAK,CAAC,CAAC;IAC1C,MAAM,CAAC,KAAK,CAAC,aAAa,KAAK,EAAE,EAAE,OAAO,CAAC,CAAC;IAC5C,OAAO,CAAC,KAAK,CAAC,kBAAkB,CAAC,OAAO,CAAC,CAAC,CAAC;IAC3C,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AAClB,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 { SkillListItem, SkillDetail, CodeMieClient } from 'codemie-sdk';
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<SkillListItem[]>;
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,EAAE,aAAa,EAAE,WAAW,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAE7E,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAenD,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,aAAa,EAAE,CAAC,CAAC;CACjG;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,CA4FvF"}
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 all skills (no efficient bulk endpoint, so fetch all and filter)
79
- const response = await client.skills.listPaginated({ per_page: 100 });
80
- assertApiListResponse(response, isSkillListResponse, 'skills');
81
- const skills = response.skills.filter(skill => ids.includes(skill.id));
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":"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"}
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 | null>;
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,EAAyC,MAAM,kCAAkC,CAAC;AAC7G,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,GAAG,IAAI,CAAC,CAmC9B"}
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"}