@skill-map/cli 0.61.2 → 0.61.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/cli/tutorial/sm-tutorial/SKILL.md +5 -6
- package/dist/cli/tutorial/sm-tutorial/references/part-project-kickoff.md +11 -15
- package/dist/cli.js +25 -9
- package/dist/index.js +10 -6
- package/dist/kernel/index.d.ts +11 -0
- package/dist/kernel/index.js +10 -6
- package/dist/ui/chunk-66JAVSK5.js +3 -0
- package/dist/ui/chunk-I52OQIZQ.js +1 -0
- package/dist/ui/index.html +1 -1
- package/dist/ui/{main-H6ARR2AP.js → main-CDGL35UC.js} +2 -2
- package/package.json +2 -2
- package/dist/ui/chunk-FVCFBXFY.js +0 -3
- package/dist/ui/chunk-OGXBHDY4.js +0 -1
|
@@ -304,12 +304,11 @@ the `__PROVIDER__` token and skip kinds the provider does not claim.
|
|
|
304
304
|
2. Seed: `fixtures.js seed <harness-built|harness-connected> --provider <provider> --lang <lang>`
|
|
305
305
|
(`harness-built` for `connect-harness`, `harness-connected` for
|
|
306
306
|
`daily-loop`).
|
|
307
|
-
3. Provision
|
|
308
|
-
|
|
309
|
-
|
|
310
|
-
|
|
311
|
-
|
|
312
|
-
`.skill-map/` already exists, just `sm scan`.)
|
|
307
|
+
3. Provision the lens: the seeded portfolio has a root `AGENTS.md`
|
|
308
|
+
(the `openai`/Codex marker) next to `.claude/`, but `openai` is
|
|
309
|
+
coming soon, so auto-detect ignores it and a plain `sm init`
|
|
310
|
+
resolves the `claude` lens with no prompt. Run `sm init`, then
|
|
311
|
+
`sm scan`. (If `.skill-map/` already exists, just `sm scan`.)
|
|
313
312
|
4. Mark the skipped predecessors: `state.js set-part <predecessor> skipped`
|
|
314
313
|
for each (they stay in the menu). Then emit exactly ONE
|
|
315
314
|
tester-facing line:
|
|
@@ -28,18 +28,14 @@ disk. The orchestrator's `portfolio-init` already cleared it during
|
|
|
28
28
|
pre-flight, so the tester sees only the portfolio. If anything demo
|
|
29
29
|
lingers, mention it once and move on.
|
|
30
30
|
|
|
31
|
-
**Context (agent, do not narrate the plumbing): the lens
|
|
32
|
-
|
|
33
|
-
`claude`
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
the other options the prompt lists (`openai`/Codex and friends) are
|
|
40
|
-
coming soon in the tutorial and we do not walk them. The prompt is
|
|
41
|
-
expected, blessed behaviour; the tester just needs to know which
|
|
42
|
-
option to pick, so the message below previews it.
|
|
31
|
+
**Context (agent, do not narrate the plumbing): the lens.** This
|
|
32
|
+
project has a root `AGENTS.md` (the `openai`/Codex marker) sitting next
|
|
33
|
+
to the `.claude/` folder (the `claude` marker, where the tutorial skill
|
|
34
|
+
itself lives). `openai` is **coming soon**, though, so auto-detect
|
|
35
|
+
ignores its marker and `sm init` resolves the lens to `claude`
|
|
36
|
+
silently, exactly like the prologue: only `claude` is selectable today,
|
|
37
|
+
so there is no ambiguity and no prompt. Do not promise the tester a
|
|
38
|
+
lens prompt here.
|
|
43
39
|
|
|
44
40
|
```bash
|
|
45
41
|
sm init
|
|
@@ -53,9 +49,9 @@ Tell the tester:
|
|
|
53
49
|
> `.claude/` folder is the **harness** (the helpers that maintain the
|
|
54
50
|
> site). skill-map maps that harness.
|
|
55
51
|
>
|
|
56
|
-
> Run `sm init
|
|
57
|
-
>
|
|
58
|
-
>
|
|
52
|
+
> Run `sm init`, it auto-detects the `claude` lens (this is a Claude
|
|
53
|
+
> project; the other lenses are coming soon). Then run `sm` to boot the
|
|
54
|
+
> live UI.
|
|
59
55
|
>
|
|
60
56
|
> Open the URL `sm` printed. You'll see **one node**: `AGENTS.md`,
|
|
61
57
|
> the project's handbook (the operating manual for the site).
|
package/dist/cli.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
// cli/entry.ts
|
|
2
2
|
|
|
3
|
-
!function(){try{var e="undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof globalThis?globalThis:"undefined"!=typeof self?self:{},n=(new e.Error).stack;n&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[n]="
|
|
3
|
+
!function(){try{var e="undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof globalThis?globalThis:"undefined"!=typeof self?self:{},n=(new e.Error).stack;n&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[n]="ce13dce1-d18b-5abf-b6a8-1ef997ccaf99")}catch(e){}}();
|
|
4
4
|
import { existsSync as existsSync33 } from "fs";
|
|
5
5
|
import { Builtins, Cli as Cli2 } from "clipanion";
|
|
6
6
|
|
|
@@ -250,7 +250,7 @@ function bucketByKind(kind, instance, bag) {
|
|
|
250
250
|
// package.json
|
|
251
251
|
var package_default = {
|
|
252
252
|
name: "@skill-map/cli",
|
|
253
|
-
version: "0.61.
|
|
253
|
+
version: "0.61.3",
|
|
254
254
|
description: "skill-map reference implementation \u2014 kernel + CLI + adapters.",
|
|
255
255
|
license: "MIT",
|
|
256
256
|
type: "module",
|
|
@@ -1071,7 +1071,10 @@ var antigravityProvider = {
|
|
|
1071
1071
|
presentation: {
|
|
1072
1072
|
label: "Antigravity",
|
|
1073
1073
|
color: "#7c3aed",
|
|
1074
|
-
colorDark: "#a78bfa"
|
|
1074
|
+
colorDark: "#a78bfa",
|
|
1075
|
+
// Registered but not yet selectable as the active lens; the UI greys
|
|
1076
|
+
// it with a `(coming soon)` suffix.
|
|
1077
|
+
comingSoon: true
|
|
1075
1078
|
},
|
|
1076
1079
|
// No `detect` block: Antigravity has no vendor-specific workspace marker
|
|
1077
1080
|
// (it adopted the open-standard `.agents/`, owned by `agent-skills`), so
|
|
@@ -1233,7 +1236,10 @@ var openaiProvider = {
|
|
|
1233
1236
|
presentation: {
|
|
1234
1237
|
label: "OpenAI Codex",
|
|
1235
1238
|
color: "#22c55e",
|
|
1236
|
-
colorDark: "#4ade80"
|
|
1239
|
+
colorDark: "#4ade80",
|
|
1240
|
+
// Registered but not yet selectable as the active lens; auto-detect
|
|
1241
|
+
// skips its markers and the UI greys it with a `(coming soon)` suffix.
|
|
1242
|
+
comingSoon: true
|
|
1237
1243
|
},
|
|
1238
1244
|
// Auto-detect markers: a `.codex/` directory or a root `AGENTS.md` marks
|
|
1239
1245
|
// a Codex CLI project. Provider-owned (replaces the old central
|
|
@@ -1322,7 +1328,11 @@ var agentSkillsProvider = {
|
|
|
1322
1328
|
presentation: {
|
|
1323
1329
|
label: "Open Skills",
|
|
1324
1330
|
color: "#64748b",
|
|
1325
|
-
colorDark: "#94a3b8"
|
|
1331
|
+
colorDark: "#94a3b8",
|
|
1332
|
+
// Registered but not yet selectable as the active lens; auto-detect
|
|
1333
|
+
// skips its `.agents/` marker and the UI greys it with a
|
|
1334
|
+
// `(coming soon)` suffix.
|
|
1335
|
+
comingSoon: true
|
|
1326
1336
|
},
|
|
1327
1337
|
// Auto-detect marker: a `.agents/` directory marks an open-standard
|
|
1328
1338
|
// project. This is also the marker a Google/Antigravity project carries
|
|
@@ -11559,14 +11569,18 @@ function detectProvidersFromFilesystem(cwd, providers) {
|
|
|
11559
11569
|
const out = [];
|
|
11560
11570
|
for (const provider of providers) {
|
|
11561
11571
|
if (seen.has(provider.id)) continue;
|
|
11562
|
-
|
|
11563
|
-
if (!markers || markers.length === 0) continue;
|
|
11564
|
-
if (!markers.some((marker) => existsSync15(join10(cwd, marker)))) continue;
|
|
11572
|
+
if (!isDetectableUnderCwd(cwd, provider)) continue;
|
|
11565
11573
|
seen.add(provider.id);
|
|
11566
11574
|
out.push(provider.id);
|
|
11567
11575
|
}
|
|
11568
11576
|
return out;
|
|
11569
11577
|
}
|
|
11578
|
+
function isDetectableUnderCwd(cwd, provider) {
|
|
11579
|
+
if (provider.presentation?.comingSoon === true) return false;
|
|
11580
|
+
const markers = provider.detect?.markers;
|
|
11581
|
+
if (!markers || markers.length === 0) return false;
|
|
11582
|
+
return markers.some((marker) => existsSync15(join10(cwd, marker)));
|
|
11583
|
+
}
|
|
11570
11584
|
|
|
11571
11585
|
// core/config/active-provider.ts
|
|
11572
11586
|
function resolveActiveProvider(cwd, providers = []) {
|
|
@@ -27232,6 +27246,7 @@ async function resolveSelectableProviders(deps) {
|
|
|
27232
27246
|
});
|
|
27233
27247
|
const selectable = /* @__PURE__ */ new Set();
|
|
27234
27248
|
for (const provider of deps.providers) {
|
|
27249
|
+
if (provider.presentation?.comingSoon === true) continue;
|
|
27235
27250
|
if (isPluginExtensionEnabled(provider, resolveEnabled)) {
|
|
27236
27251
|
selectable.add(provider.id);
|
|
27237
27252
|
}
|
|
@@ -28442,6 +28457,7 @@ function buildProviderRegistry(providers) {
|
|
|
28442
28457
|
if (ui.emoji !== void 0) entry.emoji = ui.emoji;
|
|
28443
28458
|
if (ui.icon !== void 0) entry.icon = ui.icon;
|
|
28444
28459
|
if (ui.hideChip !== void 0) entry.hideChip = ui.hideChip;
|
|
28460
|
+
if (ui.comingSoon !== void 0) entry.comingSoon = ui.comingSoon;
|
|
28445
28461
|
registry[provider.id] = entry;
|
|
28446
28462
|
}
|
|
28447
28463
|
return registry;
|
|
@@ -31057,4 +31073,4 @@ function resolveBareDefault() {
|
|
|
31057
31073
|
process.exit(ExitCode.Error);
|
|
31058
31074
|
}
|
|
31059
31075
|
//# sourceMappingURL=cli.js.map
|
|
31060
|
-
//# debugId=
|
|
31076
|
+
//# debugId=ce13dce1-d18b-5abf-b6a8-1ef997ccaf99
|
package/dist/index.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
// kernel/i18n/registry.texts.ts
|
|
2
2
|
|
|
3
|
-
!function(){try{var e="undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof globalThis?globalThis:"undefined"!=typeof self?self:{},n=(new e.Error).stack;n&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[n]="
|
|
3
|
+
!function(){try{var e="undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof globalThis?globalThis:"undefined"!=typeof self?self:{},n=(new e.Error).stack;n&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[n]="f3e27769-f4cb-5526-a022-5ef018a37ef8")}catch(e){}}();
|
|
4
4
|
var REGISTRY_TEXTS = {
|
|
5
5
|
duplicateExtension: "Extension already registered: {{kind}}:{{qualifiedId}}",
|
|
6
6
|
unknownKind: "Unknown extension kind: {{kind}}",
|
|
@@ -102,7 +102,7 @@ import { Tiktoken as Tiktoken2 } from "js-tiktoken/lite";
|
|
|
102
102
|
// package.json
|
|
103
103
|
var package_default = {
|
|
104
104
|
name: "@skill-map/cli",
|
|
105
|
-
version: "0.61.
|
|
105
|
+
version: "0.61.3",
|
|
106
106
|
description: "skill-map reference implementation \u2014 kernel + CLI + adapters.",
|
|
107
107
|
license: "MIT",
|
|
108
108
|
type: "module",
|
|
@@ -792,14 +792,18 @@ function detectProvidersFromFilesystem(cwd, providers) {
|
|
|
792
792
|
const out = [];
|
|
793
793
|
for (const provider of providers) {
|
|
794
794
|
if (seen.has(provider.id)) continue;
|
|
795
|
-
|
|
796
|
-
if (!markers || markers.length === 0) continue;
|
|
797
|
-
if (!markers.some((marker) => existsSync3(join3(cwd, marker)))) continue;
|
|
795
|
+
if (!isDetectableUnderCwd(cwd, provider)) continue;
|
|
798
796
|
seen.add(provider.id);
|
|
799
797
|
out.push(provider.id);
|
|
800
798
|
}
|
|
801
799
|
return out;
|
|
802
800
|
}
|
|
801
|
+
function isDetectableUnderCwd(cwd, provider) {
|
|
802
|
+
if (provider.presentation?.comingSoon === true) return false;
|
|
803
|
+
const markers = provider.detect?.markers;
|
|
804
|
+
if (!markers || markers.length === 0) return false;
|
|
805
|
+
return markers.some((marker) => existsSync3(join3(cwd, marker)));
|
|
806
|
+
}
|
|
803
807
|
|
|
804
808
|
// kernel/types.ts
|
|
805
809
|
var ConfidenceTier = Object.freeze({
|
|
@@ -3847,4 +3851,4 @@ export {
|
|
|
3847
3851
|
runScanWithRenames
|
|
3848
3852
|
};
|
|
3849
3853
|
//# sourceMappingURL=index.js.map
|
|
3850
|
-
//# debugId=
|
|
3854
|
+
//# debugId=f3e27769-f4cb-5526-a022-5ef018a37ef8
|
package/dist/kernel/index.d.ts
CHANGED
|
@@ -2471,6 +2471,17 @@ interface IProviderUi {
|
|
|
2471
2471
|
* topbar lens chip; only the per-card badge is suppressed.
|
|
2472
2472
|
*/
|
|
2473
2473
|
hideChip?: boolean;
|
|
2474
|
+
/**
|
|
2475
|
+
* When `true`, this Provider is registered but NOT yet selectable as
|
|
2476
|
+
* the active lens. Auto-detect skips it (`detectProvidersFromFilesystem`),
|
|
2477
|
+
* the BFF drops it from the `selectable` set, and the UI greys it with
|
|
2478
|
+
* a `(coming soon)` suffix. It still ships in `providerRegistry` so
|
|
2479
|
+
* node chips render. Mirrors
|
|
2480
|
+
* `spec/schemas/extensions/provider.schema.json#/properties/presentation/properties/comingSoon`.
|
|
2481
|
+
* Distinct from `hideChip` and from the operator toggle
|
|
2482
|
+
* `plugins[<id>].enabled = false`. Defaults to `false` (selectable).
|
|
2483
|
+
*/
|
|
2484
|
+
comingSoon?: boolean;
|
|
2474
2485
|
}
|
|
2475
2486
|
/**
|
|
2476
2487
|
* Auto-detection markers for the active-provider lens. The lens resolver
|
package/dist/kernel/index.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
// kernel/i18n/registry.texts.ts
|
|
2
2
|
|
|
3
|
-
!function(){try{var e="undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof globalThis?globalThis:"undefined"!=typeof self?self:{},n=(new e.Error).stack;n&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[n]="
|
|
3
|
+
!function(){try{var e="undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof globalThis?globalThis:"undefined"!=typeof self?self:{},n=(new e.Error).stack;n&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[n]="efabc578-2328-5428-97bc-6c89a870170a")}catch(e){}}();
|
|
4
4
|
var REGISTRY_TEXTS = {
|
|
5
5
|
duplicateExtension: "Extension already registered: {{kind}}:{{qualifiedId}}",
|
|
6
6
|
unknownKind: "Unknown extension kind: {{kind}}",
|
|
@@ -102,7 +102,7 @@ import { Tiktoken as Tiktoken2 } from "js-tiktoken/lite";
|
|
|
102
102
|
// package.json
|
|
103
103
|
var package_default = {
|
|
104
104
|
name: "@skill-map/cli",
|
|
105
|
-
version: "0.61.
|
|
105
|
+
version: "0.61.3",
|
|
106
106
|
description: "skill-map reference implementation \u2014 kernel + CLI + adapters.",
|
|
107
107
|
license: "MIT",
|
|
108
108
|
type: "module",
|
|
@@ -792,14 +792,18 @@ function detectProvidersFromFilesystem(cwd, providers) {
|
|
|
792
792
|
const out = [];
|
|
793
793
|
for (const provider of providers) {
|
|
794
794
|
if (seen.has(provider.id)) continue;
|
|
795
|
-
|
|
796
|
-
if (!markers || markers.length === 0) continue;
|
|
797
|
-
if (!markers.some((marker) => existsSync3(join3(cwd, marker)))) continue;
|
|
795
|
+
if (!isDetectableUnderCwd(cwd, provider)) continue;
|
|
798
796
|
seen.add(provider.id);
|
|
799
797
|
out.push(provider.id);
|
|
800
798
|
}
|
|
801
799
|
return out;
|
|
802
800
|
}
|
|
801
|
+
function isDetectableUnderCwd(cwd, provider) {
|
|
802
|
+
if (provider.presentation?.comingSoon === true) return false;
|
|
803
|
+
const markers = provider.detect?.markers;
|
|
804
|
+
if (!markers || markers.length === 0) return false;
|
|
805
|
+
return markers.some((marker) => existsSync3(join3(cwd, marker)));
|
|
806
|
+
}
|
|
803
807
|
|
|
804
808
|
// kernel/types.ts
|
|
805
809
|
var ConfidenceTier = Object.freeze({
|
|
@@ -3847,4 +3851,4 @@ export {
|
|
|
3847
3851
|
runScanWithRenames
|
|
3848
3852
|
};
|
|
3849
3853
|
//# sourceMappingURL=index.js.map
|
|
3850
|
-
//# debugId=
|
|
3854
|
+
//# debugId=efabc578-2328-5428-97bc-6c89a870170a
|