@shrkcrft/inspector 0.1.0-alpha.1 → 0.1.0-alpha.10
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +1 -1
- package/dist/adoption-state.js +1 -1
- package/dist/agent-brief.d.ts.map +1 -1
- package/dist/agent-brief.js +59 -10
- package/dist/agent-task-prep.d.ts.map +1 -1
- package/dist/agent-task-prep.js +1 -3
- package/dist/ai-readiness.d.ts +84 -9
- package/dist/ai-readiness.d.ts.map +1 -1
- package/dist/ai-readiness.js +161 -30
- package/dist/apply-dispatch-trace.d.ts +1 -2
- package/dist/apply-dispatch-trace.d.ts.map +1 -1
- package/dist/apply-dispatch-trace.js +0 -9
- package/dist/area-explore.d.ts.map +1 -1
- package/dist/area-explore.js +1 -5
- package/dist/area-map.d.ts +0 -19
- package/dist/area-map.d.ts.map +1 -1
- package/dist/area-map.js +0 -27
- package/dist/ci-permissions-fix.d.ts +1 -1
- package/dist/ci-permissions-fix.d.ts.map +1 -1
- package/dist/ci-permissions-fix.js +1 -182
- package/dist/code-intelligence-doctor.d.ts +21 -0
- package/dist/code-intelligence-doctor.d.ts.map +1 -0
- package/dist/code-intelligence-doctor.js +965 -0
- package/dist/compliance-profiles.js +1 -1
- package/dist/construct-adoption-diff.d.ts.map +1 -1
- package/dist/construct-adoption-diff.js +2 -1
- package/dist/construct-adoption.d.ts.map +1 -1
- package/dist/construct-adoption.js +10 -11
- package/dist/construct-inference.d.ts.map +1 -1
- package/dist/construct-inference.js +2 -1
- package/dist/construct-registry.d.ts.map +1 -1
- package/dist/construct-registry.js +2 -10
- package/dist/contract-template-registry.d.ts.map +1 -1
- package/dist/contract-template-registry.js +2 -10
- package/dist/convention-registry.d.ts.map +1 -1
- package/dist/convention-registry.js +2 -10
- package/dist/decision-records.d.ts.map +1 -1
- package/dist/decision-records.js +2 -9
- package/dist/demo-script.d.ts +0 -1
- package/dist/demo-script.d.ts.map +1 -1
- package/dist/demo-script.js +0 -43
- package/dist/docs-check.js +1 -1
- package/dist/drift-baseline.d.ts.map +1 -1
- package/dist/drift-baseline.js +5 -2
- package/dist/feedback-ingestion.d.ts.map +1 -1
- package/dist/feedback-ingestion.js +2 -16
- package/dist/git-helpers.d.ts +0 -12
- package/dist/git-helpers.d.ts.map +1 -1
- package/dist/git-helpers.js +0 -63
- package/dist/helper-registry.d.ts +27 -54
- package/dist/helper-registry.d.ts.map +1 -1
- package/dist/helper-registry.js +16 -517
- package/dist/impact-analysis.d.ts.map +1 -1
- package/dist/impact-analysis.js +4 -5
- package/dist/impact-render.d.ts.map +1 -1
- package/dist/impact-render.js +0 -9
- package/dist/index.d.ts +2 -3
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +2 -3
- package/dist/ingest-drafts.js +8 -4
- package/dist/migration-profile-registry.d.ts.map +1 -1
- package/dist/migration-profile-registry.js +2 -10
- package/dist/monorepo-onboarding.js +2 -2
- package/dist/onboarding-drafts.d.ts +0 -14
- package/dist/onboarding-drafts.d.ts.map +1 -1
- package/dist/onboarding-drafts.js +5 -39
- package/dist/onboarding-report.d.ts.map +1 -1
- package/dist/onboarding-report.js +5 -1
- package/dist/onboarding.d.ts +1 -1
- package/dist/onboarding.d.ts.map +1 -1
- package/dist/onboarding.js +5 -64
- package/dist/ownership.js +2 -10
- package/dist/pack-contributions-inventory.d.ts +0 -1
- package/dist/pack-contributions-inventory.d.ts.map +1 -1
- package/dist/pack-contributions-inventory.js +0 -24
- package/dist/pack-helper-registry.d.ts.map +1 -1
- package/dist/pack-helper-registry.js +2 -10
- package/dist/pack-release-check.d.ts.map +1 -1
- package/dist/pack-release-check.js +4 -11
- package/dist/pack-signature-status.d.ts.map +1 -1
- package/dist/pack-signature-status.js +0 -1
- package/dist/pack-symbol-compat.d.ts +4 -17
- package/dist/pack-symbol-compat.d.ts.map +1 -1
- package/dist/pack-symbol-compat.js +7 -155
- package/dist/pack-test-runner.js +2 -10
- package/dist/plan-simulation.d.ts.map +1 -1
- package/dist/plan-simulation.js +3 -20
- package/dist/playbook-registry.d.ts.map +1 -1
- package/dist/playbook-registry.js +2 -10
- package/dist/policy-engine.d.ts.map +1 -1
- package/dist/policy-engine.js +3 -11
- package/dist/policy-test.js +3 -11
- package/dist/product-coherence.js +5 -5
- package/dist/profile-registry.d.ts +0 -1
- package/dist/profile-registry.d.ts.map +1 -1
- package/dist/profile-registry.js +4 -32
- package/dist/quality-baseline.d.ts.map +1 -1
- package/dist/quality-baseline.js +3 -1
- package/dist/ranker-explainability.d.ts.map +1 -1
- package/dist/ranker-explainability.js +3 -9
- package/dist/registration-hint-registry.d.ts.map +1 -1
- package/dist/registration-hint-registry.js +2 -10
- package/dist/release-readiness.js +5 -5
- package/dist/reposet.js +1 -1
- package/dist/repository-knowledge-model.d.ts +1 -1
- package/dist/repository-knowledge-model.d.ts.map +1 -1
- package/dist/review-packet-v2.d.ts.map +1 -1
- package/dist/review-packet-v2.js +3 -13
- package/dist/rule-scaffold.d.ts.map +1 -1
- package/dist/rule-scaffold.js +12 -4
- package/dist/scaffold-patterns.js +2 -10
- package/dist/search-tuning-registry.d.ts.map +1 -1
- package/dist/search-tuning-registry.js +2 -10
- package/dist/self-config-doctor-v2.d.ts +1 -1
- package/dist/self-config-doctor-v2.d.ts.map +1 -1
- package/dist/self-config-doctor-v2.js +6 -10
- package/dist/self-config-doctor.d.ts.map +1 -1
- package/dist/self-config-doctor.js +7 -13
- package/dist/sharkcraft-inspector.d.ts.map +1 -1
- package/dist/sharkcraft-inspector.js +9 -0
- package/dist/start-here.d.ts +1 -1
- package/dist/start-here.js +1 -1
- package/dist/synthesize-from-onboarding.d.ts +68 -0
- package/dist/synthesize-from-onboarding.d.ts.map +1 -0
- package/dist/synthesize-from-onboarding.js +508 -0
- package/dist/task-packet.d.ts +13 -0
- package/dist/task-packet.d.ts.map +1 -1
- package/dist/task-packet.js +46 -5
- package/dist/task-ranker.d.ts.map +1 -1
- package/dist/task-ranker.js +1 -31
- package/dist/task-routing-hint-registry.d.ts.map +1 -1
- package/dist/task-routing-hint-registry.js +2 -10
- package/dist/test-runner.d.ts.map +1 -1
- package/dist/test-runner.js +12 -17
- package/dist/universal-search.d.ts +0 -1
- package/dist/universal-search.d.ts.map +1 -1
- package/dist/universal-search.js +0 -12
- package/dist/upgrade-advisor.js +1 -1
- package/package.json +22 -21
- package/dist/onboarding-drafts-merge.d.ts +0 -71
- package/dist/onboarding-drafts-merge.d.ts.map +0 -1
- package/dist/onboarding-drafts-merge.js +0 -174
- package/dist/plugin-lifecycle-profile-registry.d.ts +0 -52
- package/dist/plugin-lifecycle-profile-registry.d.ts.map +0 -1
- package/dist/plugin-lifecycle-profile-registry.js +0 -202
- package/dist/plugin-lifecycle.d.ts +0 -132
- package/dist/plugin-lifecycle.d.ts.map +0 -1
- package/dist/plugin-lifecycle.js +0 -477
package/dist/profile-registry.js
CHANGED
|
@@ -1,19 +1,17 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* Generic profile registry.
|
|
3
3
|
*
|
|
4
|
-
* Unifies profile-shaped contributions (
|
|
5
|
-
*
|
|
6
|
-
*
|
|
7
|
-
*
|
|
4
|
+
* Unifies profile-shaped contributions (migration profiles, future
|
|
5
|
+
* profile kinds) under a single `shrk profiles ...` surface. The engine
|
|
6
|
+
* ships zero built-in profiles; everything comes from pack contributions
|
|
7
|
+
* or local config.
|
|
8
8
|
*
|
|
9
9
|
* Read-only.
|
|
10
10
|
*/
|
|
11
|
-
import { listPluginLifecycleProfiles } from "./plugin-lifecycle-profile-registry.js";
|
|
12
11
|
import { loadMigrationProfiles } from "./migration-profile-registry.js";
|
|
13
12
|
export const PROFILE_REGISTRY_SCHEMA = 'sharkcraft.profile-registry/v1';
|
|
14
13
|
export var ProfileKind;
|
|
15
14
|
(function (ProfileKind) {
|
|
16
|
-
ProfileKind["PluginLifecycle"] = "plugin-lifecycle";
|
|
17
15
|
ProfileKind["Migration"] = "migration";
|
|
18
16
|
/** Future: command-behavior, generator, boundary, naming, architecture, language, report. */
|
|
19
17
|
})(ProfileKind || (ProfileKind = {}));
|
|
@@ -27,32 +25,6 @@ export var ProfileSource;
|
|
|
27
25
|
export async function loadAllProfiles(inspection) {
|
|
28
26
|
const entries = [];
|
|
29
27
|
const issues = [];
|
|
30
|
-
// Plugin lifecycle profiles
|
|
31
|
-
try {
|
|
32
|
-
const lifecycle = await listPluginLifecycleProfiles(inspection);
|
|
33
|
-
for (const e of lifecycle) {
|
|
34
|
-
entries.push({
|
|
35
|
-
id: e.profile.id,
|
|
36
|
-
kind: ProfileKind.PluginLifecycle,
|
|
37
|
-
title: e.profile.title,
|
|
38
|
-
...(e.profile.description ? { description: e.profile.description } : {}),
|
|
39
|
-
source: e.source,
|
|
40
|
-
...(e.packageName ? { packageName: e.packageName } : {}),
|
|
41
|
-
sourceFile: e.sourceFile,
|
|
42
|
-
...(e.profile.tags ? { tags: e.profile.tags } : {}),
|
|
43
|
-
...(e.profile.appliesWhen ? { appliesWhen: e.profile.appliesWhen } : {}),
|
|
44
|
-
payload: e.profile,
|
|
45
|
-
});
|
|
46
|
-
}
|
|
47
|
-
}
|
|
48
|
-
catch (err) {
|
|
49
|
-
issues.push({
|
|
50
|
-
severity: 'warning',
|
|
51
|
-
code: 'lifecycle-load-failed',
|
|
52
|
-
message: `Plugin lifecycle profile load failed: ${err.message}`,
|
|
53
|
-
kind: ProfileKind.PluginLifecycle,
|
|
54
|
-
});
|
|
55
|
-
}
|
|
56
28
|
// Migration profiles
|
|
57
29
|
try {
|
|
58
30
|
const migration = await loadMigrationProfiles(inspection);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"quality-baseline.d.ts","sourceRoot":"","sources":["../src/quality-baseline.ts"],"names":[],"mappings":"AAWA,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,2BAA2B,CAAC;AAKvE,eAAO,MAAM,uBAAuB,mCAAmC,CAAC;AAExE,MAAM,WAAW,oBAAoB;IACnC,EAAE,EAAE,MAAM,CAAC;IACX,MAAM,EAAE,OAAO,CAAC;IAChB,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,6BAA6B;IAC5C,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;IACd,qDAAqD;IACrD,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CAChC;AAED,MAAM,WAAW,qCAAqC;IACpD,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,MAAM,CAAC;IACjB,UAAU,EAAE,MAAM,CAAC;IACnB,OAAO,EAAE,MAAM,CAAC;IAChB,UAAU,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,gBAAgB;IAC/B,MAAM,EAAE,OAAO,uBAAuB,CAAC;IACvC,SAAS,EAAE,MAAM,CAAC;IAClB,WAAW,EAAE,MAAM,CAAC;IACpB,8DAA8D;IAC9D,iBAAiB,EAAE,MAAM,CAAC;IAC1B,+EAA+E;IAC/E,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,YAAY,EAAE,MAAM,CAAC;IACrB,cAAc,EAAE,MAAM,CAAC;IACvB,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;IACjB,mCAAmC;IACnC,KAAK,EAAE,SAAS,oBAAoB,EAAE,CAAC;IACvC,uCAAuC;IACvC,cAAc,EAAE,SAAS,6BAA6B,EAAE,CAAC;IACzD,aAAa,EAAE,MAAM,CAAC;IACtB,WAAW,EAAE,MAAM,CAAC;IACpB,aAAa,EAAE,MAAM,CAAC;IACtB,cAAc,EAAE,qCAAqC,CAAC;CACvD;AAED,MAAM,WAAW,qBAAqB;IACpC,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,EAAE,MAAM,CAAC;IACd,SAAS,EAAE,UAAU,GAAG,WAAW,GAAG,WAAW,CAAC;CACnD;AAED,MAAM,WAAW,0BAA0B;IACzC,MAAM,EAAE,2CAA2C,CAAC;IACpD,YAAY,EAAE,MAAM,CAAC;IACrB,QAAQ,EAAE,gBAAgB,CAAC;IAC3B,OAAO,EAAE,gBAAgB,CAAC;IAC1B,MAAM,EAAE,SAAS,qBAAqB,EAAE,CAAC;IACzC,WAAW,EAAE,SAAS,qBAAqB,EAAE,CAAC;IAC9C,YAAY,EAAE,SAAS,qBAAqB,EAAE,CAAC;CAChD;
|
|
1
|
+
{"version":3,"file":"quality-baseline.d.ts","sourceRoot":"","sources":["../src/quality-baseline.ts"],"names":[],"mappings":"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"}
|
package/dist/quality-baseline.js
CHANGED
|
@@ -109,7 +109,9 @@ function extractBaseline(inspection, report) {
|
|
|
109
109
|
return {
|
|
110
110
|
schema: QUALITY_BASELINE_SCHEMA,
|
|
111
111
|
createdAt: nowIso(),
|
|
112
|
-
|
|
112
|
+
// Repo basename only — baselines are committed and absolute paths
|
|
113
|
+
// leak the author's filesystem layout into the public repo.
|
|
114
|
+
projectRoot: nodePath.basename(inspection.projectRoot),
|
|
113
115
|
sharkcraftVersion: readSharkcraftVersion(inspection.projectRoot),
|
|
114
116
|
configHash: configHashFor(inspection),
|
|
115
117
|
qualityScore: report.score,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ranker-explainability.d.ts","sourceRoot":"","sources":["../src/ranker-explainability.ts"],"names":[],"mappings":"AA6BA,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,2BAA2B,CAAC;AAEvE,eAAO,MAAM,4BAA4B,wCAAwC,CAAC;AAElF,oBAAY,iBAAiB;IAC3B,SAAS,cAAc;IACvB,QAAQ,aAAa;IACrB,IAAI,SAAS;IACb,MAAM,WAAW;IACjB,QAAQ,aAAa;IACrB,SAAS,cAAc;IACvB,MAAM,WAAW;IACjB,OAAO,YAAY;IACnB,IAAI,SAAS;IACb,MAAM,WAAW;IACjB,QAAQ,aAAa;CACtB;AAED,MAAM,WAAW,qBAAqB;IACpC,sCAAsC;IACtC,EAAE,EAAE,MAAM,CAAC;IACX,+CAA+C;IAC/C,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,0BAA0B;IAC1B,IAAI,CAAC,EAAE,iBAAiB,CAAC;CAC1B;AAED,MAAM,WAAW,kBAAkB;IACjC,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IACd,gDAAgD;IAChD,OAAO,EAAE,SAAS,MAAM,EAAE,CAAC;CAC5B;AAED,MAAM,WAAW,uBAAuB;IACtC,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,mDAAmD;IACnD,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,oBAAoB;IACnC,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,OAAO,CAAC;IACjB,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,yBAAyB;IACxC,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,SAAS,MAAM,EAAE,CAAC;IAC3B,KAAK,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,oBAAoB;IACnC,MAAM,EAAE,OAAO,4BAA4B,CAAC;IAC5C,WAAW,EAAE,MAAM,CAAC;IACpB,OAAO,EAAE,qBAAqB,CAAC;IAC/B,gDAAgD;IAChD,KAAK,EAAE,OAAO,CAAC;IACf,yCAAyC;IACzC,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,4FAA4F;IAC5F,QAAQ,EAAE,OAAO,CAAC;IAClB,0EAA0E;IAC1E,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,kDAAkD;IAClD,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,+EAA+E;IAC/E,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,2EAA2E;IAC3E,cAAc,EAAE,SAAS,oBAAoB,EAAE,CAAC;IAChD,kFAAkF;IAClF,cAAc,EAAE,SAAS,oBAAoB,EAAE,CAAC;IAChD,qDAAqD;IACrD,WAAW,EAAE,SAAS,kBAAkB,EAAE,CAAC;IAC3C,2EAA2E;IAC3E,WAAW,EAAE,SAAS,yBAAyB,EAAE,CAAC;IAClD,8DAA8D;IAC9D,sBAAsB,EAAE,SAAS,MAAM,EAAE,CAAC;IAC1C,oCAAoC;IACpC,iBAAiB,EAAE,SAAS,MAAM,EAAE,CAAC;IACrC,iEAAiE;IACjE,UAAU,EAAE,SAAS,uBAAuB,EAAE,CAAC;IAC/C,6BAA6B;IAC7B,WAAW,EAAE,SAAS,MAAM,EAAE,CAAC;CAChC;
|
|
1
|
+
{"version":3,"file":"ranker-explainability.d.ts","sourceRoot":"","sources":["../src/ranker-explainability.ts"],"names":[],"mappings":"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"}
|
|
@@ -161,14 +161,12 @@ function suggestedFixes(taskOrQuery, hit, matched, missing) {
|
|
|
161
161
|
return out;
|
|
162
162
|
}
|
|
163
163
|
/**
|
|
164
|
-
* Generic domain-token inference. Project-specific tokens
|
|
165
|
-
*
|
|
166
|
-
*
|
|
164
|
+
* Generic domain-token inference. Project-specific tokens move to
|
|
165
|
+
* pack-contributed search-tuning rather than hardcoded heuristics
|
|
166
|
+
* in the engine.
|
|
167
167
|
*/
|
|
168
168
|
function inferDomainTags(taskLower) {
|
|
169
169
|
const out = [];
|
|
170
|
-
if (/\bplugin\b/.test(taskLower))
|
|
171
|
-
out.push('plugin');
|
|
172
170
|
if (/\brenderer\b/.test(taskLower))
|
|
173
171
|
out.push('renderer');
|
|
174
172
|
if (/\b(angular|react)\b/.test(taskLower))
|
|
@@ -181,12 +179,8 @@ function inferDomainAppliesWhen(taskLower) {
|
|
|
181
179
|
const out = [];
|
|
182
180
|
if (/\b(create|add|new|generate|build)\b/.test(taskLower))
|
|
183
181
|
out.push('generate-code');
|
|
184
|
-
if (/\bplugin\b/.test(taskLower))
|
|
185
|
-
out.push('create-plugin');
|
|
186
182
|
if (/\b(rename|move)\b/.test(taskLower))
|
|
187
183
|
out.push('refactor');
|
|
188
|
-
if (/\bcapability\b/.test(taskLower))
|
|
189
|
-
out.push('create-capability');
|
|
190
184
|
return Array.from(new Set(out));
|
|
191
185
|
}
|
|
192
186
|
function commonSuggestedCommands(found, hit) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"registration-hint-registry.d.ts","sourceRoot":"","sources":["../src/registration-hint-registry.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"registration-hint-registry.d.ts","sourceRoot":"","sources":["../src/registration-hint-registry.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,11 +1,3 @@
|
|
|
1
|
-
var __rewriteRelativeImportExtension = (this && this.__rewriteRelativeImportExtension) || function (path, preserveJsx) {
|
|
2
|
-
if (typeof path === "string" && /^\.\.?\//.test(path)) {
|
|
3
|
-
return path.replace(/\.(tsx)$|((?:\.d)?)((?:\.[^./]+?)?)\.([cm]?)ts$/i, function (m, tsx, d, ext, cm) {
|
|
4
|
-
return tsx ? preserveJsx ? ".jsx" : ".js" : d && (!ext || !cm) ? m : (d + ext + "." + cm.toLowerCase() + "js");
|
|
5
|
-
});
|
|
6
|
-
}
|
|
7
|
-
return path;
|
|
8
|
-
};
|
|
9
1
|
/**
|
|
10
2
|
* Registration hint registry. Pack- and local-contributed hints
|
|
11
3
|
* surface downstream registration steps that constructs typically need
|
|
@@ -18,8 +10,8 @@ var __rewriteRelativeImportExtension = (this && this.__rewriteRelativeImportExte
|
|
|
18
10
|
*/
|
|
19
11
|
import { existsSync, readFileSync } from 'node:fs';
|
|
20
12
|
import * as nodePath from 'node:path';
|
|
21
|
-
import { pathToFileURL } from 'node:url';
|
|
22
13
|
import { validateRegistrationHint, } from '@shrkcrft/plugin-api';
|
|
14
|
+
import { importModuleViaLoader } from '@shrkcrft/core';
|
|
23
15
|
export const REGISTRATION_HINT_REGISTRY_SCHEMA = 'sharkcraft.registration-hint-registry/v1';
|
|
24
16
|
export var RegistrationHintSource;
|
|
25
17
|
(function (RegistrationHintSource) {
|
|
@@ -28,7 +20,7 @@ export var RegistrationHintSource;
|
|
|
28
20
|
RegistrationHintSource["Fixture"] = "fixture";
|
|
29
21
|
})(RegistrationHintSource || (RegistrationHintSource = {}));
|
|
30
22
|
async function importDefault(file) {
|
|
31
|
-
const mod = (await
|
|
23
|
+
const mod = (await importModuleViaLoader(file));
|
|
32
24
|
if (Array.isArray(mod.default))
|
|
33
25
|
return mod.default;
|
|
34
26
|
if (mod.default && typeof mod.default === 'object')
|
|
@@ -157,7 +157,7 @@ function checkReadmeRequiredSections(projectRoot) {
|
|
|
157
157
|
const required = ['quick demo', 'onboard'];
|
|
158
158
|
const missing = required.filter((s) => !body.includes(s));
|
|
159
159
|
if (missing.length > 0) {
|
|
160
|
-
return warn('readme-required-sections', 'README required sections', `README.md is missing section keywords: ${missing.join(', ')}`, 'Add a "Quick demo" and "Onboard" section so
|
|
160
|
+
return warn('readme-required-sections', 'README required sections', `README.md is missing section keywords: ${missing.join(', ')}`, 'Add a "Quick demo" and "Onboard" section so consumers land on something runnable.');
|
|
161
161
|
}
|
|
162
162
|
return pass('readme-required-sections', 'README required sections', 'README.md has the expected sections.');
|
|
163
163
|
}
|
|
@@ -304,24 +304,24 @@ export async function buildReleaseReadiness(inspection, options = {}) {
|
|
|
304
304
|
})();
|
|
305
305
|
const releaseNotesDir = nodePath.join(projectRoot, 'docs', 'releases');
|
|
306
306
|
const releaseNotesFile = versionFile ? nodePath.join(releaseNotesDir, `${versionFile}.md`) : null;
|
|
307
|
-
const releaseNotesAlpha = nodePath.join(releaseNotesDir, '0.1.0-alpha.
|
|
307
|
+
const releaseNotesAlpha = nodePath.join(releaseNotesDir, '0.1.0-alpha.2.md');
|
|
308
308
|
const limitsFile = nodePath.join(projectRoot, 'docs', 'public-alpha-limitations.md');
|
|
309
309
|
const externalQuickstart = nodePath.join(projectRoot, 'docs', 'external-repo-quickstart.md');
|
|
310
310
|
const releaseNotesExists = (releaseNotesFile && existsSync(releaseNotesFile)) || existsSync(releaseNotesAlpha);
|
|
311
311
|
if (!releaseNotesExists) {
|
|
312
|
-
checks.push(warn('release-notes', 'Public alpha release notes', `Missing docs/releases/${versionFile ?? '<version>'}.md or docs/releases/0.1.0-alpha.
|
|
312
|
+
checks.push(warn('release-notes', 'Public alpha release notes', `Missing docs/releases/${versionFile ?? '<version>'}.md or docs/releases/0.1.0-alpha.2.md`, 'Add release notes — strict release readiness treats this as a blocker.'));
|
|
313
313
|
}
|
|
314
314
|
else {
|
|
315
315
|
checks.push(pass('release-notes', 'Public alpha release notes', 'Release notes file present.'));
|
|
316
316
|
}
|
|
317
317
|
if (!existsSync(limitsFile)) {
|
|
318
|
-
checks.push(warn('public-alpha-limitations', 'Public alpha limitations doc', 'Missing docs/public-alpha-limitations.md', 'List the known limitations
|
|
318
|
+
checks.push(warn('public-alpha-limitations', 'Public alpha limitations doc', 'Missing docs/public-alpha-limitations.md', 'List the known limitations consumers should be aware of.'));
|
|
319
319
|
}
|
|
320
320
|
else {
|
|
321
321
|
checks.push(pass('public-alpha-limitations', 'Public alpha limitations doc', 'Limitations doc present.'));
|
|
322
322
|
}
|
|
323
323
|
if (!existsSync(externalQuickstart)) {
|
|
324
|
-
checks.push(warn('external-quickstart', 'External repo quickstart', 'Missing docs/external-repo-quickstart.md', 'Add a 5-minute external-
|
|
324
|
+
checks.push(warn('external-quickstart', 'External repo quickstart', 'Missing docs/external-repo-quickstart.md', 'Add a 5-minute external-consumer quickstart.'));
|
|
325
325
|
}
|
|
326
326
|
else {
|
|
327
327
|
checks.push(pass('external-quickstart', 'External repo quickstart', 'Quickstart doc present.'));
|
package/dist/reposet.js
CHANGED
|
@@ -42,7 +42,7 @@ function exampleConfigBody() {
|
|
|
42
42
|
schema: REPOSET_SCHEMA,
|
|
43
43
|
repos: [
|
|
44
44
|
{ id: 'sharkcraft', name: 'SharkCraft', root: '.', tags: ['engine'], role: 'engine' },
|
|
45
|
-
{ id: 'example-
|
|
45
|
+
{ id: 'example-consumer', name: 'Example consumer project', root: '../example-consumer', tags: ['consumer'], role: 'consumer' },
|
|
46
46
|
],
|
|
47
47
|
}, null, 2);
|
|
48
48
|
}
|
|
@@ -51,7 +51,7 @@ export interface IArchitectureModel {
|
|
|
51
51
|
layers: readonly IArchitectureLayerSummary[];
|
|
52
52
|
/** Public API surfaces (paths whose deep imports should be forbidden). */
|
|
53
53
|
publicApis: readonly string[];
|
|
54
|
-
/** Notes about cycles or
|
|
54
|
+
/** Notes about cycles or other import-graph observations. */
|
|
55
55
|
notes: readonly string[];
|
|
56
56
|
}
|
|
57
57
|
export interface IBusinessConcept {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"repository-knowledge-model.d.ts","sourceRoot":"","sources":["../src/repository-knowledge-model.ts"],"names":[],"mappings":"AAEA,OAAO,EAEL,KAAK,qBAAqB,EAC3B,MAAM,mBAAmB,CAAC;AAE3B,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,2BAA2B,CAAC;AACvE,OAAO,EAEL,KAAK,qBAAqB,EAC1B,KAAK,uBAAuB,EAC5B,KAAK,iBAAiB,EACtB,KAAK,aAAa,EAClB,KAAK,0BAA0B,EAC/B,KAAK,4BAA4B,EAElC,MAAM,iBAAiB,CAAC;AAOzB,OAAO,EAEL,KAAK,oBAAoB,EAC1B,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAEL,KAAK,oBAAoB,EAC1B,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAEL,KAAK,aAAa,EAEnB,MAAM,oBAAoB,CAAC;AAI5B,OAAO,EAQL,KAAK,sBAAsB,EAC3B,KAAK,sBAAsB,EAC3B,KAAK,wBAAwB,EAC7B,KAAK,uBAAuB,EAC5B,KAAK,iCAAiC,EACtC,KAAK,mBAAmB,EACzB,MAAM,sBAAsB,CAAC;AAE9B,eAAO,MAAM,iCAAiC,6CAA6C,CAAC;AAE5F,oBAAY,WAAW;IACrB,OAAO,YAAY;IACnB,QAAQ,aAAa;IACrB,IAAI,SAAS;IACb,OAAO,YAAY;CACpB;AAED,oBAAY,aAAa;IACvB,kBAAkB,uBAAuB;IACzC,iBAAiB,sBAAsB;IACvC,kBAAkB,uBAAuB;IACzC,mBAAmB,wBAAwB;IAC3C,oBAAoB,yBAAyB;IAC7C,SAAS,cAAc;IACvB,WAAW,gBAAgB;IAC3B,cAAc,mBAAmB;IACjC,SAAS,cAAc;IACvB,cAAc,mBAAmB;IACjC,aAAa,kBAAkB;IAC/B,sBAAsB,2BAA2B;IACjD,4BAA4B,iCAAiC;IAC7D,gBAAgB,qBAAqB;IACrC,0BAA0B,+BAA+B;CAC1D;AAED,eAAO,MAAM,mBAAmB,EAAE,SAAS,aAAa,EAAiC,CAAC;AAE1F,MAAM,WAAW,mBAAmB;IAClC,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,cAAc,EAAE,MAAM,CAAC;IACvB,UAAU,EAAE,SAAS,MAAM,EAAE,CAAC;IAC9B,YAAY,EAAE,SAAS,MAAM,EAAE,CAAC;IAChC,YAAY,EAAE,SAAS,MAAM,EAAE,CAAC;IAChC,mBAAmB,EAAE,OAAO,CAAC;IAC7B,QAAQ,EAAE,OAAO,CAAC;IAClB,iBAAiB,EAAE,SAAS,MAAM,EAAE,CAAC;CACtC;AAED,MAAM,WAAW,yBAAyB;IACxC,EAAE,EAAE,MAAM,CAAC;IACX,WAAW,EAAE,MAAM,CAAC;IACpB,KAAK,EAAE,SAAS,MAAM,EAAE,CAAC;IACzB,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,kBAAkB;IACjC,MAAM,EAAE,SAAS,yBAAyB,EAAE,CAAC;IAC7C,0EAA0E;IAC1E,UAAU,EAAE,SAAS,MAAM,EAAE,CAAC;IAC9B,
|
|
1
|
+
{"version":3,"file":"repository-knowledge-model.d.ts","sourceRoot":"","sources":["../src/repository-knowledge-model.ts"],"names":[],"mappings":"AAEA,OAAO,EAEL,KAAK,qBAAqB,EAC3B,MAAM,mBAAmB,CAAC;AAE3B,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,2BAA2B,CAAC;AACvE,OAAO,EAEL,KAAK,qBAAqB,EAC1B,KAAK,uBAAuB,EAC5B,KAAK,iBAAiB,EACtB,KAAK,aAAa,EAClB,KAAK,0BAA0B,EAC/B,KAAK,4BAA4B,EAElC,MAAM,iBAAiB,CAAC;AAOzB,OAAO,EAEL,KAAK,oBAAoB,EAC1B,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAEL,KAAK,oBAAoB,EAC1B,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAEL,KAAK,aAAa,EAEnB,MAAM,oBAAoB,CAAC;AAI5B,OAAO,EAQL,KAAK,sBAAsB,EAC3B,KAAK,sBAAsB,EAC3B,KAAK,wBAAwB,EAC7B,KAAK,uBAAuB,EAC5B,KAAK,iCAAiC,EACtC,KAAK,mBAAmB,EACzB,MAAM,sBAAsB,CAAC;AAE9B,eAAO,MAAM,iCAAiC,6CAA6C,CAAC;AAE5F,oBAAY,WAAW;IACrB,OAAO,YAAY;IACnB,QAAQ,aAAa;IACrB,IAAI,SAAS;IACb,OAAO,YAAY;CACpB;AAED,oBAAY,aAAa;IACvB,kBAAkB,uBAAuB;IACzC,iBAAiB,sBAAsB;IACvC,kBAAkB,uBAAuB;IACzC,mBAAmB,wBAAwB;IAC3C,oBAAoB,yBAAyB;IAC7C,SAAS,cAAc;IACvB,WAAW,gBAAgB;IAC3B,cAAc,mBAAmB;IACjC,SAAS,cAAc;IACvB,cAAc,mBAAmB;IACjC,aAAa,kBAAkB;IAC/B,sBAAsB,2BAA2B;IACjD,4BAA4B,iCAAiC;IAC7D,gBAAgB,qBAAqB;IACrC,0BAA0B,+BAA+B;CAC1D;AAED,eAAO,MAAM,mBAAmB,EAAE,SAAS,aAAa,EAAiC,CAAC;AAE1F,MAAM,WAAW,mBAAmB;IAClC,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,cAAc,EAAE,MAAM,CAAC;IACvB,UAAU,EAAE,SAAS,MAAM,EAAE,CAAC;IAC9B,YAAY,EAAE,SAAS,MAAM,EAAE,CAAC;IAChC,YAAY,EAAE,SAAS,MAAM,EAAE,CAAC;IAChC,mBAAmB,EAAE,OAAO,CAAC;IAC7B,QAAQ,EAAE,OAAO,CAAC;IAClB,iBAAiB,EAAE,SAAS,MAAM,EAAE,CAAC;CACtC;AAED,MAAM,WAAW,yBAAyB;IACxC,EAAE,EAAE,MAAM,CAAC;IACX,WAAW,EAAE,MAAM,CAAC;IACpB,KAAK,EAAE,SAAS,MAAM,EAAE,CAAC;IACzB,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,kBAAkB;IACjC,MAAM,EAAE,SAAS,yBAAyB,EAAE,CAAC;IAC7C,0EAA0E;IAC1E,UAAU,EAAE,SAAS,MAAM,EAAE,CAAC;IAC9B,6DAA6D;IAC7D,KAAK,EAAE,SAAS,MAAM,EAAE,CAAC;CAC1B;AAED,MAAM,WAAW,gBAAgB;IAC/B,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,GAAG,QAAQ,GAAG,WAAW,GAAG,MAAM,GAAG,QAAQ,CAAC;IAC5D,sCAAsC;IACtC,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,EAAE,SAAS,MAAM,EAAE,CAAC;IACzB,2DAA2D;IAC3D,gBAAgB,EAAE,SAAS,MAAM,EAAE,CAAC;CACrC;AAED,MAAM,WAAW,mBAAmB;IAClC,QAAQ,EAAE,SAAS,gBAAgB,EAAE,CAAC;IACtC,SAAS,EAAE,SAAS,gBAAgB,EAAE,CAAC;IACvC,UAAU,EAAE,SAAS,MAAM,EAAE,CAAC;CAC/B;AAED,MAAM,WAAW,gBAAgB;IAC/B,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,SAAS,MAAM,EAAE,CAAC;IACzB,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,UAAU;IACzB,KAAK,EAAE,SAAS,gBAAgB,EAAE,CAAC;IACnC,UAAU,EAAE,SAAS;QAAE,EAAE,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,SAAS,MAAM,EAAE,CAAA;KAAE,EAAE,CAAC;CAChF;AAED,MAAM,WAAW,cAAc;IAC7B,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,GAAG,SAAS,GAAG,WAAW,GAAG,UAAU,CAAC;IACtD,KAAK,EAAE,SAAS,MAAM,EAAE,CAAC;CAC1B;AAED,MAAM,WAAW,YAAY;IAC3B,SAAS,EAAE,SAAS,cAAc,EAAE,CAAC;CACtC;AAED,MAAM,WAAW,oBAAoB;IACnC,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,SAAS,MAAM,EAAE,CAAC;IACzB,mBAAmB,EAAE,SAAS,MAAM,EAAE,CAAC;CACxC;AAED,MAAM,WAAW,eAAe;IAC9B,OAAO,EAAE,SAAS,oBAAoB,EAAE,CAAC;CAC1C;AAED,MAAM,WAAW,cAAc;IAC7B,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,CAAC;IACf,cAAc,EAAE,MAAM,CAAC;IACvB,+BAA+B;IAC/B,KAAK,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,gBAAgB;IAC/B,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,MAAM,CAAC;IACb,kBAAkB,CAAC,EAAE,MAAM,CAAC;CAC7B;AAED,MAAM,WAAW,0BAA0B;IACzC,mEAAmE;IACnE,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,SAAS,cAAc,EAAE,CAAC;CACpC;AAED,MAAM,WAAW,cAAc;IAC7B,EAAE,EAAE,MAAM,CAAC;IACX,8CAA8C;IAC9C,MAAM,EAAE,MAAM,CAAC;IACf,yDAAyD;IACzD,IAAI,EAAE,MAAM,CAAC;CACd;AAED,MAAM,WAAW,mCAAmC;IAClD,aAAa;IACb,OAAO,EAAE,MAAM,CAAC;IAChB,UAAU,EAAE,QAAQ,CAAC,MAAM,CAAC,aAAa,EAAE,MAAM,CAAC,CAAC,CAAC;IACpD,wCAAwC;IACxC,KAAK,EAAE,SAAS,MAAM,EAAE,CAAC;CAC1B;AAED,MAAM,WAAW,iBAAiB;IAChC,QAAQ,EAAE,MAAM,CAAC;IACjB,IAAI,EAAE,MAAM,CAAC;CACd;AAED,MAAM,WAAW,wBAAwB;IACvC,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,SAAS,MAAM,EAAE,CAAC;CAC1B;AAED,MAAM,WAAW,wBAAwB;IACvC,QAAQ,EAAE,MAAM,CAAC;IACjB,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,SAAS,MAAM,EAAE,CAAC;CAC1B;AAED,MAAM,WAAW,yBAAyB;IACxC,MAAM,EAAE,OAAO,iCAAiC,CAAC;IACjD,WAAW,EAAE,MAAM,CAAC;IACpB,KAAK,EAAE,WAAW,CAAC;IACnB,OAAO,EAAE,SAAS,qBAAqB,EAAE,CAAC;IAC1C,eAAe,EAAE,SAAS,MAAM,EAAE,CAAC;IACnC,uBAAuB,EAAE,SAAS,MAAM,EAAE,CAAC;IAC3C,gBAAgB,EAAE,SAAS,aAAa,EAAE,CAAC;IAC3C,kBAAkB,EAAE,mBAAmB,CAAC;IACxC,+BAA+B;IAC/B,gBAAgB,CAAC,EAAE,sBAAsB,CAAC;IAC1C,gBAAgB,CAAC,EAAE,sBAAsB,CAAC;IAC1C,yBAAyB,CAAC,EAAE,wBAAwB,CAAC;IACrD,yBAAyB,CAAC,EAAE,mBAAmB,CAAC;IAChD,2BAA2B,CAAC,EAAE,iCAAiC,CAAC;IAChE,sBAAsB,CAAC,EAAE,uBAAuB,CAAC;IACjD,iBAAiB,CAAC,EAAE,SAAS,iBAAiB,EAAE,CAAC;IACjD,4BAA4B,CAAC,EAAE,SAAS,wBAAwB,EAAE,CAAC;IACnE,wBAAwB,CAAC,EAAE,SAAS,wBAAwB,EAAE,CAAC;IAC/D,iBAAiB,EAAE,kBAAkB,CAAC;IACtC,kBAAkB,EAAE,mBAAmB,CAAC;IACxC,mBAAmB,EAAE;QACnB,KAAK,EAAE,SAAS,aAAa,EAAE,CAAC;QAChC,KAAK,EAAE,SAAS,uBAAuB,EAAE,CAAC;QAC1C,oBAAoB,EAAE,SAAS,4BAA4B,EAAE,CAAC;KAC/D,CAAC;IACF,oBAAoB,EAAE;QACpB,KAAK,EAAE,SAAS,qBAAqB,EAAE,CAAC;QACxC,kBAAkB,EAAE;YAClB,SAAS,EAAE,MAAM,CAAC;YAClB,SAAS,EAAE,MAAM,CAAC;YAClB,MAAM,EAAE,SAAS,MAAM,EAAE,CAAC;SAC3B,CAAC;KACH,CAAC;IACF,SAAS,EAAE,UAAU,CAAC;IACtB,WAAW,EAAE,YAAY,CAAC;IAC1B,cAAc,EAAE,eAAe,CAAC;IAChC,SAAS,EAAE,SAAS,cAAc,EAAE,CAAC;IACrC,cAAc,EAAE,oBAAoB,CAAC;IACrC,aAAa,EAAE,SAAS,MAAM,EAAE,CAAC;IACjC,sBAAsB,EAAE,oBAAoB,CAAC;IAC7C,4BAA4B,EAAE,aAAa,CAAC;IAC5C,gBAAgB,EAAE,SAAS,gBAAgB,EAAE,CAAC;IAC9C,0BAA0B,EAAE,SAAS,0BAA0B,EAAE,CAAC;IAClE,iBAAiB,EAAE,SAAS,iBAAiB,EAAE,CAAC;IAChD,iBAAiB,EAAE,SAAS,0BAA0B,EAAE,CAAC;IACzD,UAAU,EAAE,mCAAmC,CAAC;IAChD,WAAW,EAAE,SAAS,MAAM,EAAE,CAAC;IAC/B,WAAW,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,WAAW,qCAAqC;IACpD,UAAU,EAAE,qBAAqB,CAAC;IAClC,KAAK,CAAC,EAAE,WAAW,CAAC;IACpB,gBAAgB,CAAC,EAAE,SAAS,aAAa,EAAE,CAAC;IAC5C,gBAAgB,CAAC,EAAE,SAAS,aAAa,EAAE,CAAC;IAC5C,qDAAqD;IACrD,eAAe,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IACpC,0DAA0D;IAC1D,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,qEAAqE;IACrE,SAAS,CAAC,EAAE,OAAO,CAAC;CACrB;AAED,wBAAsB,6BAA6B,CACjD,OAAO,EAAE,qCAAqC,GAC7C,OAAO,CAAC,yBAAyB,CAAC,CAyRpC;AA2iBD,wBAAgB,kCAAkC,CAAC,KAAK,EAAE,yBAAyB,GAAG,MAAM,CAkC3F;AAED,wBAAgB,sCAAsC,CAAC,KAAK,EAAE,yBAAyB,GAAG,MAAM,CA6E/F;AAED,wBAAgB,kCAAkC,CAAC,KAAK,EAAE,yBAAyB,GAAG,MAAM,CAE3F;AAED,wBAAgB,kCAAkC,CAAC,KAAK,EAAE,yBAAyB,GAAG,MAAM,CAI3F"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"review-packet-v2.d.ts","sourceRoot":"","sources":["../src/review-packet-v2.ts"],"names":[],"mappings":"AAAA,OAAO,EAAqB,KAAK,yBAAyB,EAAE,KAAK,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAC3G,OAAO,EAAiB,KAAK,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAC3E,OAAO,EAAqB,KAAK,WAAW,EAAE,MAAM,kBAAkB,CAAC;AACvE,OAAO,
|
|
1
|
+
{"version":3,"file":"review-packet-v2.d.ts","sourceRoot":"","sources":["../src/review-packet-v2.ts"],"names":[],"mappings":"AAAA,OAAO,EAAqB,KAAK,yBAAyB,EAAE,KAAK,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAC3G,OAAO,EAAiB,KAAK,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAC3E,OAAO,EAAqB,KAAK,WAAW,EAAE,MAAM,kBAAkB,CAAC;AACvE,OAAO,EAAgB,KAAK,QAAQ,EAAE,MAAM,eAAe,CAAC;AAC5D,OAAO,EAAiC,KAAK,gBAAgB,EAAuB,MAAM,gBAAgB,CAAC;AAC3G,OAAO,EAAkB,KAAK,aAAa,EAAE,MAAM,oBAAoB,CAAC;AACxE,OAAO,EAA0B,KAAK,0BAA0B,EAAE,MAAM,uBAAuB,CAAC;AAChG,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,2BAA2B,CAAC;AAEvE,eAAO,MAAM,uBAAuB,mCAAmC,CAAC;AAExE,MAAM,WAAW,eAAe;IAC9B,MAAM,EAAE,OAAO,uBAAuB,CAAC;IACvC,wCAAwC;IACxC,IAAI,EAAE,aAAa,CAAC;IACpB,OAAO,EAAE,QAAQ,CAAC;IAClB,MAAM,EAAE,eAAe,CAAC;IACxB,UAAU,EAAE,WAAW,CAAC;IACxB,SAAS,EAAE,gBAAgB,CAAC;IAC5B,MAAM,EAAE,aAAa,CAAC;IACtB,iBAAiB,CAAC,EAAE,0BAA0B,CAAC;IAC/C,kBAAkB,EAAE,SAAS,MAAM,EAAE,CAAC;IACtC,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,2BAA4B,SAAQ,yBAAyB;IAC5E,cAAc,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IACnC,+EAA+E;IAC/E,mBAAmB,CAAC,EAAE,MAAM,CAAC;CAC9B;AAED,wBAAsB,mBAAmB,CACvC,UAAU,EAAE,qBAAqB,EACjC,OAAO,GAAE,2BAAgC,GACxC,OAAO,CAAC,eAAe,CAAC,CAyC1B"}
|
package/dist/review-packet-v2.js
CHANGED
|
@@ -1,28 +1,18 @@
|
|
|
1
1
|
import { buildReviewPacket } from "./review-packet.js";
|
|
2
2
|
import { analyzeImpact } from "./impact-analysis.js";
|
|
3
3
|
import { analyzeTestImpact } from "./test-impact.js";
|
|
4
|
-
import { buildAreaMap
|
|
4
|
+
import { buildAreaMap } from "./area-map.js";
|
|
5
5
|
import { impactFor, loadOwnershipRules } from "./ownership.js";
|
|
6
6
|
import { evaluatePolicy } from "./policy-engine.js";
|
|
7
7
|
import { compareQualityBaseline } from "./quality-baseline.js";
|
|
8
8
|
export const REVIEW_PACKET_V2_SCHEMA = 'sharkcraft.review-packet-v2/v1';
|
|
9
9
|
export async function buildReviewPacketV2(inspection, options = {}) {
|
|
10
10
|
const base = buildReviewPacket(inspection, options);
|
|
11
|
-
const
|
|
12
|
-
// 50 is enough for an AI reviewer to see the shape of the impact without
|
|
13
|
-
// blowing the packet up — `shrk impact` keeps the full 200 default for
|
|
14
|
-
// ad-hoc debugging.
|
|
11
|
+
const areaMap = buildAreaMap(inspection);
|
|
15
12
|
const impact = await analyzeImpact(inspection, {
|
|
16
13
|
files: base.changedFiles,
|
|
17
|
-
areaMap
|
|
18
|
-
limit: 50,
|
|
14
|
+
areaMap,
|
|
19
15
|
});
|
|
20
|
-
// Slim the area map to only the areas touched by the diff. Cuts the
|
|
21
|
-
// packet payload by ~75% on typical diffs without losing reviewer-facing
|
|
22
|
-
// context — the consumer can re-derive neighbours from the full map via
|
|
23
|
-
// `shrk map` if needed.
|
|
24
|
-
const affectedIds = impact.affectedAreas.map((a) => a.id);
|
|
25
|
-
const areaMap = affectedIds.length > 0 ? filterAreaMap(fullAreaMap, affectedIds) : fullAreaMap;
|
|
26
16
|
const testImpact = analyzeTestImpact(inspection, { files: base.changedFiles });
|
|
27
17
|
const { rules } = await loadOwnershipRules(inspection.projectRoot, options.ownershipFiles);
|
|
28
18
|
const ownership = impactFor(base.changedFiles, rules);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"rule-scaffold.d.ts","sourceRoot":"","sources":["../src/rule-scaffold.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAEH,eAAO,MAAM,oBAAoB,gCAAgC,CAAC;AAElE,oBAAY,gBAAgB;IAC1B,YAAY,iBAAiB;IAC7B,MAAM,WAAW;IACjB,KAAK,UAAU;IACf,UAAU,eAAe;IACzB,SAAS,cAAc;IACvB,OAAO,YAAY;IACnB,QAAQ,aAAa;CACtB;AAED,MAAM,WAAW,kBAAkB;IACjC,6DAA6D;IAC7D,EAAE,EAAE,MAAM,CAAC;IACX,gEAAgE;IAChE,IAAI,EAAE,gBAAgB,CAAC;IACvB,kEAAkE;IAClE,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,kDAAkD;IAClD,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,yDAAyD;IACzD,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,2EAA2E;IAC3E,QAAQ,CAAC,EAAE,UAAU,GAAG,MAAM,GAAG,QAAQ,GAAG,KAAK,CAAC;IAClD,gEAAgE;IAChE,oBAAoB,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IACzC,uCAAuC;IACvC,gBAAgB,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IACrC,oCAAoC;IACpC,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,WAAW,iBAAiB;IAChC,2DAA2D;IAC3D,IAAI,EAAE,MAAM,CAAC;IACb,yBAAyB;IACzB,IAAI,EAAE,MAAM,CAAC;IACb,mCAAmC;IACnC,QAAQ,EAAE,YAAY,GAAG,MAAM,GAAG,UAAU,CAAC;CAC9C;AAED,MAAM,WAAW,mBAAmB;IAClC,MAAM,EAAE,OAAO,oBAAoB,CAAC;IACpC,WAAW,EAAE,MAAM,CAAC;IACpB,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,gBAAgB,CAAC;IACvB,sEAAsE;IACtE,UAAU,EAAE,iBAAiB,CAAC;IAC9B,8DAA8D;IAC9D,YAAY,EAAE,iBAAiB,CAAC;IAChC,sEAAsE;IACtE,SAAS,EAAE,iBAAiB,CAAC;IAC7B,wDAAwD;IACxD,QAAQ,EAAE,SAAS,MAAM,EAAE,CAAC;IAC5B,6CAA6C;IAC7C,YAAY,EAAE,SAAS,MAAM,EAAE,CAAC;CACjC;
|
|
1
|
+
{"version":3,"file":"rule-scaffold.d.ts","sourceRoot":"","sources":["../src/rule-scaffold.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAEH,eAAO,MAAM,oBAAoB,gCAAgC,CAAC;AAElE,oBAAY,gBAAgB;IAC1B,YAAY,iBAAiB;IAC7B,MAAM,WAAW;IACjB,KAAK,UAAU;IACf,UAAU,eAAe;IACzB,SAAS,cAAc;IACvB,OAAO,YAAY;IACnB,QAAQ,aAAa;CACtB;AAED,MAAM,WAAW,kBAAkB;IACjC,6DAA6D;IAC7D,EAAE,EAAE,MAAM,CAAC;IACX,gEAAgE;IAChE,IAAI,EAAE,gBAAgB,CAAC;IACvB,kEAAkE;IAClE,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,kDAAkD;IAClD,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,yDAAyD;IACzD,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,2EAA2E;IAC3E,QAAQ,CAAC,EAAE,UAAU,GAAG,MAAM,GAAG,QAAQ,GAAG,KAAK,CAAC;IAClD,gEAAgE;IAChE,oBAAoB,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IACzC,uCAAuC;IACvC,gBAAgB,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IACrC,oCAAoC;IACpC,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,WAAW,iBAAiB;IAChC,2DAA2D;IAC3D,IAAI,EAAE,MAAM,CAAC;IACb,yBAAyB;IACzB,IAAI,EAAE,MAAM,CAAC;IACb,mCAAmC;IACnC,QAAQ,EAAE,YAAY,GAAG,MAAM,GAAG,UAAU,CAAC;CAC9C;AAED,MAAM,WAAW,mBAAmB;IAClC,MAAM,EAAE,OAAO,oBAAoB,CAAC;IACpC,WAAW,EAAE,MAAM,CAAC;IACpB,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,gBAAgB,CAAC;IACvB,sEAAsE;IACtE,UAAU,EAAE,iBAAiB,CAAC;IAC9B,8DAA8D;IAC9D,YAAY,EAAE,iBAAiB,CAAC;IAChC,sEAAsE;IACtE,SAAS,EAAE,iBAAiB,CAAC;IAC7B,wDAAwD;IACxD,QAAQ,EAAE,SAAS,MAAM,EAAE,CAAC;IAC5B,6CAA6C;IAC7C,YAAY,EAAE,SAAS,MAAM,EAAE,CAAC;CACjC;AAkOD,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,kBAAkB,GAAG,mBAAmB,CA+ChF"}
|
package/dist/rule-scaffold.js
CHANGED
|
@@ -131,11 +131,19 @@ function buildTsBody(input, defaults) {
|
|
|
131
131
|
const advisoryBlock = defaults.advisory ? `\n metadata: { advisory: true },` : '';
|
|
132
132
|
const verificationLine = verification.length > 0 ? `\n verificationCommands: ${tsArrayLiteral(verification)},` : '';
|
|
133
133
|
const forbiddenLine = forbidden.length > 0 ? `\n forbiddenActions: ${tsArrayLiteral(forbidden)},` : '';
|
|
134
|
-
return
|
|
135
|
-
import { KnowledgePriority } from '@shrkcrft/knowledge';
|
|
136
|
-
|
|
137
|
-
// Generated by \`shrk rules scaffold --id ${id}\`. Preview-only — review,
|
|
134
|
+
return `// Generated by \`shrk rules scaffold --id ${id}\`. Preview-only — review,
|
|
138
135
|
// then move into \`sharkcraft/rules.ts\` (or your pack's rules file).
|
|
136
|
+
// Self-contained — no @shrkcrft/* imports required.
|
|
137
|
+
|
|
138
|
+
const KnowledgePriority = {
|
|
139
|
+
Critical: 'critical',
|
|
140
|
+
High: 'high',
|
|
141
|
+
Medium: 'medium',
|
|
142
|
+
Low: 'low',
|
|
143
|
+
} as const;
|
|
144
|
+
|
|
145
|
+
function defineRule<T>(rule: T): T { return rule; }
|
|
146
|
+
|
|
139
147
|
export const ${idToConst(id)} = defineRule({
|
|
140
148
|
id: ${JSON.stringify(id)},
|
|
141
149
|
title: ${JSON.stringify(title)},
|
|
@@ -1,11 +1,3 @@
|
|
|
1
|
-
var __rewriteRelativeImportExtension = (this && this.__rewriteRelativeImportExtension) || function (path, preserveJsx) {
|
|
2
|
-
if (typeof path === "string" && /^\.\.?\//.test(path)) {
|
|
3
|
-
return path.replace(/\.(tsx)$|((?:\.d)?)((?:\.[^./]+?)?)\.([cm]?)ts$/i, function (m, tsx, d, ext, cm) {
|
|
4
|
-
return tsx ? preserveJsx ? ".jsx" : ".js" : d && (!ext || !cm) ? m : (d + ext + "." + cm.toLowerCase() + "js");
|
|
5
|
-
});
|
|
6
|
-
}
|
|
7
|
-
return path;
|
|
8
|
-
};
|
|
9
1
|
/**
|
|
10
2
|
* Scaffold pattern registry + loader.
|
|
11
3
|
*
|
|
@@ -15,13 +7,13 @@ var __rewriteRelativeImportExtension = (this && this.__rewriteRelativeImportExte
|
|
|
15
7
|
*/
|
|
16
8
|
import { existsSync } from 'node:fs';
|
|
17
9
|
import * as nodePath from 'node:path';
|
|
18
|
-
import {
|
|
10
|
+
import { importModuleViaLoader } from '@shrkcrft/core';
|
|
19
11
|
import { isRecognizedScaffoldStrategy, } from '@shrkcrft/plugin-api';
|
|
20
12
|
export async function loadScaffoldPatternsFromFile(file) {
|
|
21
13
|
if (!existsSync(file))
|
|
22
14
|
return { patterns: [], warnings: [`scaffold pattern file missing: ${file}`] };
|
|
23
15
|
try {
|
|
24
|
-
const mod =
|
|
16
|
+
const mod = await importModuleViaLoader(file);
|
|
25
17
|
const raw = mod.default ?? mod;
|
|
26
18
|
if (!Array.isArray(raw)) {
|
|
27
19
|
return {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"search-tuning-registry.d.ts","sourceRoot":"","sources":["../src/search-tuning-registry.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"search-tuning-registry.d.ts","sourceRoot":"","sources":["../src/search-tuning-registry.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAC1D,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,2BAA2B,CAAC;AAGvE,eAAO,MAAM,oBAAoB,yCAAyC,CAAC;AAE3E,MAAM,WAAW,kBAAmB,SAAQ,aAAa;IACvD,MAAM,EAAE,OAAO,GAAG,MAAM,CAAC;IACzB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,WAAW,wBAAwB;IACvC,QAAQ,EAAE,MAAM,GAAG,SAAS,GAAG,OAAO,CAAC;IACvC,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AA0GD,wBAAsB,gBAAgB,CACpC,UAAU,EAAE,qBAAqB,GAChC,OAAO,CAAC;IAAE,OAAO,EAAE,SAAS,kBAAkB,EAAE,CAAC;IAAC,MAAM,EAAE,SAAS,wBAAwB,EAAE,CAAA;CAAE,CAAC,CA4DlG;AAED,wBAAgB,gBAAgB,CAAC,UAAU,EAAE,qBAAqB,GAAG,SAAS,kBAAkB,EAAE,CAGjG;AAED,wBAAgB,sBAAsB,CAAC,UAAU,EAAE,qBAAqB,GAAG,SAAS,wBAAwB,EAAE,CAG7G;AAED,MAAM,WAAW,kBAAkB;IACjC,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB,uEAAuE;IACvE,WAAW,CAAC,EAAE,SAAS,wBAAwB,EAAE,CAAC;CACnD;AAED,MAAM,WAAW,yBAAyB;IACxC,QAAQ,EAAE,MAAM,CAAC;IACjB,KAAK,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,wBAAwB;IACvC,gFAAgF;IAChF,GAAG,EAAE,MAAM,CAAC;IACZ,QAAQ,EAAE,KAAK,GAAG,KAAK,CAAC;IACxB,YAAY,EAAE,SAAS,yBAAyB,EAAE,CAAC;IACnD,qEAAqE;IACrE,QAAQ,EAAE,MAAM,CAAC;CAClB;AAqBD;;;;;;;iCAOiC;AACjC,wBAAgB,cAAc,CAC5B,GAAG,EAAE;IAAE,EAAE,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAC;IAAC,IAAI,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,EAC3E,MAAM,EAAE,SAAS,MAAM,EAAE,EACzB,OAAO,EAAE,SAAS,kBAAkB,EAAE,GACrC,kBAAkB,CAoGpB"}
|
|
@@ -1,19 +1,11 @@
|
|
|
1
|
-
var __rewriteRelativeImportExtension = (this && this.__rewriteRelativeImportExtension) || function (path, preserveJsx) {
|
|
2
|
-
if (typeof path === "string" && /^\.\.?\//.test(path)) {
|
|
3
|
-
return path.replace(/\.(tsx)$|((?:\.d)?)((?:\.[^./]+?)?)\.([cm]?)ts$/i, function (m, tsx, d, ext, cm) {
|
|
4
|
-
return tsx ? preserveJsx ? ".jsx" : ".js" : d && (!ext || !cm) ? m : (d + ext + "." + cm.toLowerCase() + "js");
|
|
5
|
-
});
|
|
6
|
-
}
|
|
7
|
-
return path;
|
|
8
|
-
};
|
|
9
1
|
import { existsSync } from 'node:fs';
|
|
10
2
|
import * as nodePath from 'node:path';
|
|
11
|
-
import {
|
|
3
|
+
import { importModuleViaLoader } from '@shrkcrft/core';
|
|
12
4
|
export const SEARCH_TUNING_SCHEMA = 'sharkcraft.search-tuning-registry/v1';
|
|
13
5
|
const CACHE = new Map();
|
|
14
6
|
const MAX_BOOST = 5;
|
|
15
7
|
async function importDefault(file) {
|
|
16
|
-
const mod = (await
|
|
8
|
+
const mod = (await importModuleViaLoader(file));
|
|
17
9
|
if (Array.isArray(mod.default))
|
|
18
10
|
return mod.default;
|
|
19
11
|
if (mod.default && typeof mod.default === 'object')
|
|
@@ -9,7 +9,7 @@ export declare enum SelfConfigSeverityV2 {
|
|
|
9
9
|
* Source / target kind taxonomy. Open string for forward-compat with
|
|
10
10
|
* pack-contributed kinds, but the engine emits one of these values.
|
|
11
11
|
*/
|
|
12
|
-
export type SelfConfigKind = 'knowledge' | 'command' | 'helper' | 'template' | 'playbook' | 'pipeline' | 'policy' | 'rule' | 'path' | 'convention' | 'registration-hint' | 'routing-hint' | 'agent-test' | 'decision' | 'profile' | 'migration-profile' | '
|
|
12
|
+
export type SelfConfigKind = 'knowledge' | 'command' | 'helper' | 'template' | 'playbook' | 'pipeline' | 'policy' | 'rule' | 'path' | 'convention' | 'registration-hint' | 'routing-hint' | 'agent-test' | 'decision' | 'profile' | 'migration-profile' | 'contract-template' | 'pack' | 'schema' | 'file' | 'unknown';
|
|
13
13
|
/**
|
|
14
14
|
* Edge relation taxonomy. Open string to allow future relations.
|
|
15
15
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"self-config-doctor-v2.d.ts","sourceRoot":"","sources":["../src/self-config-doctor-v2.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"self-config-doctor-v2.d.ts","sourceRoot":"","sources":["../src/self-config-doctor-v2.ts"],"names":[],"mappings":"AA6BA,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,2BAA2B,CAAC;AAEvE,eAAO,MAAM,4BAA4B,qCAAqC,CAAC;AAE/E,oBAAY,oBAAoB;IAC9B,IAAI,SAAS;IACb,OAAO,YAAY;IACnB,KAAK,UAAU;CAChB;AAED;;;GAGG;AACH,MAAM,MAAM,cAAc,GACtB,WAAW,GACX,SAAS,GACT,QAAQ,GACR,UAAU,GACV,UAAU,GACV,UAAU,GACV,QAAQ,GACR,MAAM,GACN,MAAM,GACN,YAAY,GACZ,mBAAmB,GACnB,cAAc,GACd,YAAY,GACZ,UAAU,GACV,SAAS,GACT,mBAAmB,GACnB,mBAAmB,GACnB,MAAM,GACN,QAAQ,GACR,MAAM,GACN,SAAS,CAAC;AAEd;;GAEG;AACH,MAAM,MAAM,kBAAkB,GAC1B,YAAY,GACZ,SAAS,GACT,WAAW,GACX,UAAU,GACV,UAAU,GACV,WAAW,GACX,OAAO,GACP,WAAW,GACX,YAAY,GACZ,SAAS,CAAC;AAEd,MAAM,WAAW,oBAAoB;IACnC,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,QAAQ,EAAE,oBAAoB,CAAC;IACxC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,UAAU,EAAE,cAAc,CAAC;IACpC,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,UAAU,EAAE,cAAc,CAAC;IACpC,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,QAAQ,EAAE,kBAAkB,CAAC;IACtC,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,YAAY,CAAC,EAAE,MAAM,CAAC;IAC/B,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,CAAC;IAC9B;;;;;OAKG;IACH,QAAQ,CAAC,UAAU,EAAE,MAAM,GAAG,QAAQ,GAAG,KAAK,CAAC;CAChD;AAED,MAAM,WAAW,yBAAyB;IACxC,QAAQ,CAAC,MAAM,EAAE,OAAO,4BAA4B,CAAC;IACrD,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,QAAQ,EAAE,SAAS,oBAAoB,EAAE,CAAC;IACnD,QAAQ,CAAC,MAAM,EAAE,QAAQ,CAAC;QACxB,KAAK,EAAE,MAAM,CAAC;QACd,OAAO,EAAE,MAAM,CAAC;QAChB,IAAI,EAAE,MAAM,CAAC;QACb,UAAU,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC;QAC7C,YAAY,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC;QAC/C,YAAY,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC;KAChD,CAAC,CAAC;IACH,QAAQ,CAAC,OAAO,EAAE,IAAI,GAAG,UAAU,GAAG,QAAQ,CAAC;IAC/C,QAAQ,CAAC,YAAY,EAAE,SAAS,MAAM,EAAE,CAAC;CAC1C;AAwqBD,wBAAsB,6BAA6B,CACjD,UAAU,EAAE,qBAAqB,GAChC,OAAO,CAAC,yBAAyB,CAAC,CAyCpC;AAsBD,wBAAgB,4BAA4B,CAAC,MAAM,EAAE,yBAAyB,GAAG,MAAM,CA+BtF;AAED,wBAAgB,gCAAgC,CAC9C,MAAM,EAAE,yBAAyB,GAChC,MAAM,CAqBR"}
|
|
@@ -18,7 +18,6 @@
|
|
|
18
18
|
import { existsSync } from 'node:fs';
|
|
19
19
|
import * as nodePath from 'node:path';
|
|
20
20
|
import { listConventions } from "./convention-registry.js";
|
|
21
|
-
import { listPluginLifecycleProfiles } from "./plugin-lifecycle-profile-registry.js";
|
|
22
21
|
import { loadAllContractTemplates } from "./contract-template-registry.js";
|
|
23
22
|
import { listMigrationProfilesFromPacks } from "./migration-profile-registry.js";
|
|
24
23
|
import { listPackHelpers } from "./pack-helper-registry.js";
|
|
@@ -42,7 +41,6 @@ async function buildLookupsV2(inspection) {
|
|
|
42
41
|
const templates = new Set(inspection.templateRegistry?.list?.().map((t) => t.id) ?? []);
|
|
43
42
|
const pipelines = new Set(inspection.pipelineRegistry?.list?.().map((p) => p.id) ?? []);
|
|
44
43
|
const conventions = new Set((await listConventions(inspection)).map((e) => e.convention.id));
|
|
45
|
-
const lifecycleProfiles = new Set((await listPluginLifecycleProfiles(inspection)).map((e) => e.profile.id));
|
|
46
44
|
const contractTemplatesPair = await loadAllContractTemplates(inspection);
|
|
47
45
|
const contractTemplates = new Set(contractTemplatesPair.entries.map((e) => e.template.id));
|
|
48
46
|
const migrationProfiles = new Set((await listMigrationProfilesFromPacks(inspection)).map((p) => p.id));
|
|
@@ -103,7 +101,6 @@ async function buildLookupsV2(inspection) {
|
|
|
103
101
|
conventions,
|
|
104
102
|
contractTemplates,
|
|
105
103
|
migrationProfiles,
|
|
106
|
-
pluginLifecycleProfiles: lifecycleProfiles,
|
|
107
104
|
helpers,
|
|
108
105
|
routingHints,
|
|
109
106
|
registrationHints,
|
|
@@ -177,7 +174,6 @@ async function checkSearchTuning(inspection, lookups, findings) {
|
|
|
177
174
|
lookups.templates.has(targetId) ||
|
|
178
175
|
lookups.pipelines.has(targetId) ||
|
|
179
176
|
lookups.contractTemplates.has(targetId) ||
|
|
180
|
-
lookups.pluginLifecycleProfiles.has(targetId) ||
|
|
181
177
|
lookups.conventions.has(targetId) ||
|
|
182
178
|
lookups.playbooks.has(targetId) ||
|
|
183
179
|
lookups.helpers.has(targetId) ||
|
|
@@ -276,18 +272,18 @@ function checkTemplateMetadata(inspection, lookups, findings) {
|
|
|
276
272
|
});
|
|
277
273
|
}
|
|
278
274
|
for (const id of m.requiredProfileIds ?? []) {
|
|
279
|
-
if (lookups.
|
|
275
|
+
if (lookups.migrationProfiles.has(id))
|
|
280
276
|
continue;
|
|
281
277
|
pushFinding(findings, {
|
|
282
278
|
severity: SelfConfigSeverityV2.Warning,
|
|
283
279
|
code: 'template-profile-missing',
|
|
284
280
|
sourceKind: 'template',
|
|
285
281
|
sourceId: t.id,
|
|
286
|
-
targetKind: '
|
|
282
|
+
targetKind: 'profile',
|
|
287
283
|
targetId: id,
|
|
288
284
|
relation: 'requires',
|
|
289
|
-
message: `Template "${t.id}" requires
|
|
290
|
-
nextCommand: 'shrk
|
|
285
|
+
message: `Template "${t.id}" requires profile "${id}" but it is not registered.`,
|
|
286
|
+
nextCommand: 'shrk profiles list',
|
|
291
287
|
});
|
|
292
288
|
}
|
|
293
289
|
for (const id of m.registrationHintIds ?? []) {
|
|
@@ -333,7 +329,7 @@ async function checkRoutingHints(inspection, lookups, findings) {
|
|
|
333
329
|
probe(rec.templates, 'template', lookups.templates);
|
|
334
330
|
probe(rec.helpers, 'helper', lookups.helpers);
|
|
335
331
|
probe(rec.conventions, 'convention', lookups.conventions);
|
|
336
|
-
probe(rec.profiles, '
|
|
332
|
+
probe(rec.profiles, 'profile', lookups.migrationProfiles);
|
|
337
333
|
probe(rec.commands, 'command', lookups.commands);
|
|
338
334
|
probe(rec.playbooks, 'playbook', lookups.playbooks);
|
|
339
335
|
}
|
|
@@ -437,7 +433,7 @@ async function checkRegistrationHints(inspection, lookups, findings) {
|
|
|
437
433
|
};
|
|
438
434
|
probe(h.relatedTemplateIds, 'template', lookups.templates);
|
|
439
435
|
probe(h.relatedConventionIds, 'convention', lookups.conventions);
|
|
440
|
-
probe(h.relatedProfileIds, '
|
|
436
|
+
probe(h.relatedProfileIds, 'profile', lookups.migrationProfiles);
|
|
441
437
|
}
|
|
442
438
|
}
|
|
443
439
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"self-config-doctor.d.ts","sourceRoot":"","sources":["../src/self-config-doctor.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"self-config-doctor.d.ts","sourceRoot":"","sources":["../src/self-config-doctor.ts"],"names":[],"mappings":"AAqBA,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,2BAA2B,CAAC;AAEvE,eAAO,MAAM,yBAAyB,qCAAqC,CAAC;AAE5E,oBAAY,kBAAkB;IAC5B,IAAI,SAAS;IACb,OAAO,YAAY;IACnB,KAAK,UAAU;CAChB;AAED,MAAM,WAAW,kBAAkB;IACjC,QAAQ,CAAC,QAAQ,EAAE,kBAAkB,CAAC;IACtC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,UAAU,CAAC,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,aAAa,CAAC,EAAE,MAAM,CAAC;IAChC,QAAQ,CAAC,YAAY,CAAC,EAAE,MAAM,CAAC;IAC/B,QAAQ,CAAC,cAAc,CAAC,EAAE,MAAM,CAAC;IACjC,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,CAAC;CAC/B;AAED,MAAM,WAAW,uBAAuB;IACtC,QAAQ,CAAC,MAAM,EAAE,OAAO,yBAAyB,CAAC;IAClD,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,QAAQ,EAAE,SAAS,kBAAkB,EAAE,CAAC;IACjD,QAAQ,CAAC,MAAM,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC;IAClD,QAAQ,CAAC,OAAO,EAAE,IAAI,GAAG,UAAU,GAAG,QAAQ,CAAC;IAC/C,QAAQ,CAAC,YAAY,EAAE,SAAS,MAAM,EAAE,CAAC;CAC1C;AAED,MAAM,WAAW,oBAAoB;IACnC,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC;CAC1B;AAED,MAAM,WAAW,oBAAoB;IACnC,QAAQ,CAAC,IAAI,EAAE,oBAAoB,CAAC;IACpC,QAAQ,CAAC,EAAE,EAAE,oBAAoB,CAAC;IAClC,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;CAC3B;AAED,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,CAAC,MAAM,EAAE,iCAAiC,CAAC;IACnD,QAAQ,CAAC,KAAK,EAAE,SAAS,oBAAoB,EAAE,CAAC;IAChD,QAAQ,CAAC,KAAK,EAAE,SAAS,oBAAoB,EAAE,CAAC;IAChD,QAAQ,CAAC,WAAW,EAAE,SAAS,oBAAoB,EAAE,CAAC;CACvD;AA0WD,wBAAsB,2BAA2B,CAC/C,UAAU,EAAE,qBAAqB,GAChC,OAAO,CAAC,uBAAuB,CAAC,CAsClC;AAED,wBAAsB,oBAAoB,CACxC,UAAU,EAAE,qBAAqB,GAChC,OAAO,CAAC,gBAAgB,CAAC,CAuC3B;AAED,wBAAgB,0BAA0B,CAAC,MAAM,EAAE,uBAAuB,GAAG,MAAM,CAyBlF;AAED,wBAAgB,8BAA8B,CAAC,MAAM,EAAE,uBAAuB,GAAG,MAAM,CAoBtF"}
|
|
@@ -14,7 +14,6 @@ import { existsSync } from 'node:fs';
|
|
|
14
14
|
import * as nodePath from 'node:path';
|
|
15
15
|
import { buildPackContributionsInventory } from "./pack-contributions-inventory.js";
|
|
16
16
|
import { listConventions } from "./convention-registry.js";
|
|
17
|
-
import { listPluginLifecycleProfiles } from "./plugin-lifecycle-profile-registry.js";
|
|
18
17
|
import { loadAllContractTemplates } from "./contract-template-registry.js";
|
|
19
18
|
import { listMigrationProfilesFromPacks } from "./migration-profile-registry.js";
|
|
20
19
|
import { listPackHelpers } from "./pack-helper-registry.js";
|
|
@@ -35,7 +34,6 @@ async function buildLookups(inspection) {
|
|
|
35
34
|
const pipelines = new Set(inspection.pipelineRegistry?.list?.().map((p) => p.id) ?? []);
|
|
36
35
|
// Convention/profile/contract registries return entries asynchronously.
|
|
37
36
|
const conventions = new Set((await listConventions(inspection)).map((e) => e.convention.id));
|
|
38
|
-
const lifecycleProfiles = new Set((await listPluginLifecycleProfiles(inspection)).map((e) => e.profile.id));
|
|
39
37
|
const contractTemplatesPair = await loadAllContractTemplates(inspection);
|
|
40
38
|
const contractTemplates = new Set(contractTemplatesPair.entries.map((e) => e.template.id));
|
|
41
39
|
const migrationProfiles = new Set((await listMigrationProfilesFromPacks(inspection)).map((p) => p.id));
|
|
@@ -56,7 +54,6 @@ async function buildLookups(inspection) {
|
|
|
56
54
|
conventions,
|
|
57
55
|
contractTemplates,
|
|
58
56
|
migrationProfiles,
|
|
59
|
-
pluginLifecycleProfiles: lifecycleProfiles,
|
|
60
57
|
helpers,
|
|
61
58
|
routingHints,
|
|
62
59
|
registrationHints,
|
|
@@ -108,7 +105,6 @@ async function checkSearchTuningTargets(inspection, lookups, findings) {
|
|
|
108
105
|
lookups.templates.has(targetId) ||
|
|
109
106
|
lookups.pipelines.has(targetId) ||
|
|
110
107
|
lookups.contractTemplates.has(targetId) ||
|
|
111
|
-
lookups.pluginLifecycleProfiles.has(targetId) ||
|
|
112
108
|
lookups.conventions.has(targetId);
|
|
113
109
|
if (!exists) {
|
|
114
110
|
findings.push({
|
|
@@ -183,7 +179,7 @@ async function checkPackContributionConflicts(inspection, findings) {
|
|
|
183
179
|
* - `metadata.requiredConventionIds` → conventions registry
|
|
184
180
|
* - `metadata.requiredHelperIds` → helpers registry
|
|
185
181
|
* - `metadata.registrationHintIds` → registration-hints registry
|
|
186
|
-
* - `metadata.requiredProfileIds` →
|
|
182
|
+
* - `metadata.requiredProfileIds` → profile registry
|
|
187
183
|
*/
|
|
188
184
|
async function checkTemplateMetadataReferences(inspection, lookups, findings) {
|
|
189
185
|
const templates = (inspection.templates ?? []);
|
|
@@ -218,15 +214,15 @@ async function checkTemplateMetadataReferences(inspection, lookups, findings) {
|
|
|
218
214
|
}
|
|
219
215
|
}
|
|
220
216
|
for (const id of m.requiredProfileIds ?? []) {
|
|
221
|
-
if (!lookups.
|
|
217
|
+
if (!lookups.migrationProfiles.has(id)) {
|
|
222
218
|
findings.push({
|
|
223
219
|
severity: SelfConfigSeverity.Warning,
|
|
224
220
|
code: 'template-profile-missing',
|
|
225
|
-
message: `Template "${t.id}" requires
|
|
221
|
+
message: `Template "${t.id}" requires profile "${id}" but it is not registered.`,
|
|
226
222
|
referencingId: t.id,
|
|
227
223
|
referencedId: id,
|
|
228
|
-
referencedKind: '
|
|
229
|
-
nextCommand: `shrk
|
|
224
|
+
referencedKind: 'profile',
|
|
225
|
+
nextCommand: `shrk profiles list`,
|
|
230
226
|
});
|
|
231
227
|
}
|
|
232
228
|
}
|
|
@@ -289,14 +285,14 @@ async function checkRoutingHintTargets(inspection, lookups, findings) {
|
|
|
289
285
|
}
|
|
290
286
|
}
|
|
291
287
|
for (const id of rec.profiles ?? []) {
|
|
292
|
-
if (!lookups.
|
|
288
|
+
if (!lookups.migrationProfiles.has(id)) {
|
|
293
289
|
findings.push({
|
|
294
290
|
severity: SelfConfigSeverity.Info,
|
|
295
291
|
code: 'routing-hint-profile-missing',
|
|
296
292
|
message: `Routing hint "${e.hint.id}" recommends profile "${id}" but it is not registered.`,
|
|
297
293
|
referencingId: e.hint.id,
|
|
298
294
|
referencedId: id,
|
|
299
|
-
referencedKind: '
|
|
295
|
+
referencedKind: 'profile',
|
|
300
296
|
});
|
|
301
297
|
}
|
|
302
298
|
}
|
|
@@ -353,8 +349,6 @@ export async function buildSelfConfigGraph(inspection) {
|
|
|
353
349
|
nodes.push({ id, kind: 'convention' });
|
|
354
350
|
for (const id of lookups.contractTemplates)
|
|
355
351
|
nodes.push({ id, kind: 'contract-template' });
|
|
356
|
-
for (const id of lookups.pluginLifecycleProfiles)
|
|
357
|
-
nodes.push({ id, kind: 'plugin-lifecycle-profile' });
|
|
358
352
|
for (const id of lookups.migrationProfiles)
|
|
359
353
|
nodes.push({ id, kind: 'migration-profile' });
|
|
360
354
|
// Edges from knowledge → referenced ids (best-effort).
|