@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
|
@@ -105,7 +105,7 @@ export async function runComplianceCheck(inspection, profileId) {
|
|
|
105
105
|
}
|
|
106
106
|
// MCP read-only contract — info only; the canonical check is the
|
|
107
107
|
// separate `shrk safety audit` command, which has access to the MCP
|
|
108
|
-
// tool list. We surface a hint here so
|
|
108
|
+
// tool list. We surface a hint here so consumers know to run it.
|
|
109
109
|
if (profile.requiredMcpReadOnly) {
|
|
110
110
|
findings.push({
|
|
111
111
|
profileId: profile.id,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"construct-adoption-diff.d.ts","sourceRoot":"","sources":["../src/construct-adoption-diff.ts"],"names":[],"mappings":"AASA,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,2BAA2B,CAAC;AAEvE,eAAO,MAAM,8BAA8B,0CAA0C,CAAC;AAEtF,MAAM,MAAM,2BAA2B,GAAG,MAAM,GAAG,UAAU,GAAG,MAAM,GAAG,MAAM,CAAC;AAEhF,oBAAY,sBAAsB;IAChC,YAAY,kBAAkB;IAC9B,QAAQ,cAAc;IACtB,UAAU,gBAAgB;IAC1B,aAAa,mBAAmB;IAChC,cAAc,oBAAoB;IAClC,QAAQ,aAAa;CACtB;AAED,MAAM,WAAW,kBAAkB;IACjC,qEAAqE;IACrE,MAAM,EAAE,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,CAAC;IAC9B,IAAI,EAAE,MAAM,CAAC;CACd;AAED,MAAM,WAAW,mBAAmB;IAClC,IAAI,EAAE,sBAAsB,CAAC;IAC7B,0CAA0C;IAC1C,WAAW,EAAE,MAAM,CAAC;IACpB,qDAAqD;IACrD,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,uCAAuC;IACvC,KAAK,EAAE,MAAM,CAAC;IACd,gCAAgC;IAChC,KAAK,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IAC1B,wEAAwE;IACxE,KAAK,EAAE,SAAS,kBAAkB,EAAE,CAAC;CACtC;AAED,MAAM,WAAW,sBAAsB;IACrC,MAAM,EAAE,OAAO,8BAA8B,CAAC;IAC9C,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,EAAE,MAAM,CAAC;IACpB,cAAc,EAAE,MAAM,GAAG,IAAI,CAAC;IAC9B,yEAAyE;IACzE,oBAAoB,EAAE,OAAO,CAAC;IAC9B,iFAAiF;IACjF,mBAAmB,EAAE,MAAM,CAAC;IAC5B,MAAM,EAAE,SAAS,mBAAmB,EAAE,CAAC;IACvC,OAAO,EAAE;QACP,aAAa,EAAE,MAAM,CAAC;QACtB,SAAS,EAAE,MAAM,CAAC;QAClB,WAAW,EAAE,MAAM,CAAC;QACpB,cAAc,EAAE,MAAM,CAAC;QACvB,cAAc,EAAE,MAAM,CAAC;QACvB,SAAS,EAAE,MAAM,CAAC;KACnB,CAAC;IACF,QAAQ,EAAE,SAAS,MAAM,EAAE,CAAC;CAC7B;
|
|
1
|
+
{"version":3,"file":"construct-adoption-diff.d.ts","sourceRoot":"","sources":["../src/construct-adoption-diff.ts"],"names":[],"mappings":"AASA,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,2BAA2B,CAAC;AAEvE,eAAO,MAAM,8BAA8B,0CAA0C,CAAC;AAEtF,MAAM,MAAM,2BAA2B,GAAG,MAAM,GAAG,UAAU,GAAG,MAAM,GAAG,MAAM,CAAC;AAEhF,oBAAY,sBAAsB;IAChC,YAAY,kBAAkB;IAC9B,QAAQ,cAAc;IACtB,UAAU,gBAAgB;IAC1B,aAAa,mBAAmB;IAChC,cAAc,oBAAoB;IAClC,QAAQ,aAAa;CACtB;AAED,MAAM,WAAW,kBAAkB;IACjC,qEAAqE;IACrE,MAAM,EAAE,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,CAAC;IAC9B,IAAI,EAAE,MAAM,CAAC;CACd;AAED,MAAM,WAAW,mBAAmB;IAClC,IAAI,EAAE,sBAAsB,CAAC;IAC7B,0CAA0C;IAC1C,WAAW,EAAE,MAAM,CAAC;IACpB,qDAAqD;IACrD,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,uCAAuC;IACvC,KAAK,EAAE,MAAM,CAAC;IACd,gCAAgC;IAChC,KAAK,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IAC1B,wEAAwE;IACxE,KAAK,EAAE,SAAS,kBAAkB,EAAE,CAAC;CACtC;AAED,MAAM,WAAW,sBAAsB;IACrC,MAAM,EAAE,OAAO,8BAA8B,CAAC;IAC9C,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,EAAE,MAAM,CAAC;IACpB,cAAc,EAAE,MAAM,GAAG,IAAI,CAAC;IAC9B,yEAAyE;IACzE,oBAAoB,EAAE,OAAO,CAAC;IAC9B,iFAAiF;IACjF,mBAAmB,EAAE,MAAM,CAAC;IAC5B,MAAM,EAAE,SAAS,mBAAmB,EAAE,CAAC;IACvC,OAAO,EAAE;QACP,aAAa,EAAE,MAAM,CAAC;QACtB,SAAS,EAAE,MAAM,CAAC;QAClB,WAAW,EAAE,MAAM,CAAC;QACpB,cAAc,EAAE,MAAM,CAAC;QACvB,cAAc,EAAE,MAAM,CAAC;QACvB,SAAS,EAAE,MAAM,CAAC;KACnB,CAAC;IACF,QAAQ,EAAE,SAAS,MAAM,EAAE,CAAC;CAC7B;AA+KD,wBAAsB,0BAA0B,CAC9C,UAAU,EAAE,qBAAqB,GAChC,OAAO,CAAC,sBAAsB,CAAC,CA2CjC;AAED,wBAAgB,+BAA+B,CAAC,IAAI,EAAE,sBAAsB,GAAG,MAAM,CAmBpF;AAED,wBAAgB,mCAAmC,CAAC,IAAI,EAAE,sBAAsB,GAAG,MAAM,CAuCxF;AAED,wBAAgB,+BAA+B,CAAC,IAAI,EAAE,sBAAsB,GAAG,MAAM,CAwCpF;AAED,wBAAgB,2BAA2B,CACzC,IAAI,EAAE,sBAAsB,EAC5B,MAAM,EAAE,2BAA2B,GAClC,MAAM,CAKR"}
|
|
@@ -159,7 +159,8 @@ function renderProposedFilePreview(existingSource, plan) {
|
|
|
159
159
|
.join('\n');
|
|
160
160
|
if (!existingSource) {
|
|
161
161
|
return [
|
|
162
|
-
|
|
162
|
+
'// Self-contained — no @shrkcrft/* imports required.',
|
|
163
|
+
'function defineConstruct<T>(construct: T): T { return construct; }',
|
|
163
164
|
'',
|
|
164
165
|
'export default [',
|
|
165
166
|
additionBlock,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"construct-adoption.d.ts","sourceRoot":"","sources":["../src/construct-adoption.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"construct-adoption.d.ts","sourceRoot":"","sources":["../src/construct-adoption.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,16 +1,8 @@
|
|
|
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, mkdirSync, readFileSync, statSync, writeFileSync } from 'node:fs';
|
|
10
2
|
import * as nodePath from 'node:path';
|
|
11
|
-
import { pathToFileURL } from 'node:url';
|
|
12
3
|
import { listConstructs } from "./construct-registry.js";
|
|
13
4
|
import { InferredConstructConfidence, } from "./construct-inference.js";
|
|
5
|
+
import { importModuleViaLoader } from '@shrkcrft/core';
|
|
14
6
|
export const CONSTRUCT_ADOPTION_SCHEMA = 'sharkcraft.construct-adoption-plan/v1';
|
|
15
7
|
export var ConstructAdoptionCategory;
|
|
16
8
|
(function (ConstructAdoptionCategory) {
|
|
@@ -33,7 +25,7 @@ async function loadDrafts(file) {
|
|
|
33
25
|
if (!existsSync(file))
|
|
34
26
|
return [];
|
|
35
27
|
try {
|
|
36
|
-
const mod = (await
|
|
28
|
+
const mod = (await importModuleViaLoader(file));
|
|
37
29
|
if (Array.isArray(mod.default))
|
|
38
30
|
return mod.default;
|
|
39
31
|
if (Array.isArray(mod.constructs))
|
|
@@ -203,7 +195,14 @@ export function renderConstructAdoptionMarkdown(plan) {
|
|
|
203
195
|
lines.push('# Construct adoption plan');
|
|
204
196
|
lines.push('');
|
|
205
197
|
lines.push(`Generated: ${plan.generatedAt}`);
|
|
206
|
-
|
|
198
|
+
// Render the drafts path relative to the project root so the rendered
|
|
199
|
+
// markdown (which often gets committed) doesn't leak absolute paths.
|
|
200
|
+
const relDrafts = plan.draftsFile
|
|
201
|
+
? plan.draftsFile.startsWith(plan.projectRoot + nodePath.sep)
|
|
202
|
+
? plan.draftsFile.slice(plan.projectRoot.length + 1)
|
|
203
|
+
: nodePath.basename(plan.draftsFile)
|
|
204
|
+
: '(none)';
|
|
205
|
+
lines.push(`Drafts: ${relDrafts}`);
|
|
207
206
|
lines.push('');
|
|
208
207
|
lines.push('## Summary');
|
|
209
208
|
lines.push('');
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"construct-inference.d.ts","sourceRoot":"","sources":["../src/construct-inference.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,2BAA2B,CAAC;AAGvE,eAAO,MAAM,0BAA0B,sCAAsC,CAAC;AAE9E,oBAAY,2BAA2B;IACrC,IAAI,SAAS;IACb,MAAM,WAAW;IACjB,GAAG,QAAQ;CACZ;AAED,MAAM,WAAW,uBAAuB;IACtC,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,kBAAkB;IACjC,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IACd,UAAU,EAAE,2BAA2B,CAAC;IACxC,QAAQ,EAAE,SAAS,MAAM,EAAE,CAAC;IAC5B,KAAK,EAAE,SAAS,MAAM,EAAE,CAAC;IACzB,SAAS,EAAE,SAAS,MAAM,EAAE,CAAC;IAC7B,MAAM,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IAC3B,MAAM,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IAC3B,gBAAgB,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IACrC,gBAAgB,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IACrC,sBAAsB,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IAC3C,MAAM,CAAC,EAAE,SAAS,uBAAuB,EAAE,CAAC;IAC5C,sDAAsD;IACtD,KAAK,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,wBAAwB;IACvC,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,aAAa,CAAC,EAAE,2BAA2B,CAAC;IAC5C,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,yBAAyB;IACxC,MAAM,EAAE,OAAO,0BAA0B,CAAC;IAC1C,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,EAAE,MAAM,CAAC;IACpB,UAAU,EAAE,SAAS,kBAAkB,EAAE,CAAC;IAC1C,QAAQ,EAAE,SAAS,MAAM,EAAE,CAAC;CAC7B;AA0OD,wBAAsB,eAAe,CACnC,UAAU,EAAE,qBAAqB,EACjC,KAAK,GAAE,wBAA6B,GACnC,OAAO,CAAC,yBAAyB,CAAC,CAuJpC;AAED,wBAAgB,2BAA2B,CACzC,MAAM,EAAE,yBAAyB,GAChC,MAAM,
|
|
1
|
+
{"version":3,"file":"construct-inference.d.ts","sourceRoot":"","sources":["../src/construct-inference.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,2BAA2B,CAAC;AAGvE,eAAO,MAAM,0BAA0B,sCAAsC,CAAC;AAE9E,oBAAY,2BAA2B;IACrC,IAAI,SAAS;IACb,MAAM,WAAW;IACjB,GAAG,QAAQ;CACZ;AAED,MAAM,WAAW,uBAAuB;IACtC,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,kBAAkB;IACjC,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IACd,UAAU,EAAE,2BAA2B,CAAC;IACxC,QAAQ,EAAE,SAAS,MAAM,EAAE,CAAC;IAC5B,KAAK,EAAE,SAAS,MAAM,EAAE,CAAC;IACzB,SAAS,EAAE,SAAS,MAAM,EAAE,CAAC;IAC7B,MAAM,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IAC3B,MAAM,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IAC3B,gBAAgB,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IACrC,gBAAgB,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IACrC,sBAAsB,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IAC3C,MAAM,CAAC,EAAE,SAAS,uBAAuB,EAAE,CAAC;IAC5C,sDAAsD;IACtD,KAAK,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,wBAAwB;IACvC,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,aAAa,CAAC,EAAE,2BAA2B,CAAC;IAC5C,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,yBAAyB;IACxC,MAAM,EAAE,OAAO,0BAA0B,CAAC;IAC1C,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,EAAE,MAAM,CAAC;IACpB,UAAU,EAAE,SAAS,kBAAkB,EAAE,CAAC;IAC1C,QAAQ,EAAE,SAAS,MAAM,EAAE,CAAC;CAC7B;AA0OD,wBAAsB,eAAe,CACnC,UAAU,EAAE,qBAAqB,EACjC,KAAK,GAAE,wBAA6B,GACnC,OAAO,CAAC,yBAAyB,CAAC,CAuJpC;AAED,wBAAgB,2BAA2B,CACzC,MAAM,EAAE,yBAAyB,GAChC,MAAM,CAmBR"}
|
|
@@ -379,7 +379,8 @@ export function renderConstructDraftsModule(result) {
|
|
|
379
379
|
lines.push(" * SharkCraft does NOT load this file automatically.");
|
|
380
380
|
lines.push(` * Generated: ${result.generatedAt}`);
|
|
381
381
|
lines.push(" */");
|
|
382
|
-
lines.push(
|
|
382
|
+
lines.push('// Self-contained — no @shrkcrft/* imports required.');
|
|
383
|
+
lines.push('function defineConstruct<T>(construct: T): T { return construct; }');
|
|
383
384
|
lines.push('');
|
|
384
385
|
lines.push('export default [');
|
|
385
386
|
for (const c of result.candidates) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"construct-registry.d.ts","sourceRoot":"","sources":["../src/construct-registry.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"construct-registry.d.ts","sourceRoot":"","sources":["../src/construct-registry.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EACV,oBAAoB,EACpB,oBAAoB,EACpB,eAAe,EAChB,MAAM,sBAAsB,CAAC;AAC9B,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,2BAA2B,CAAC;AAGvE,eAAO,MAAM,yBAAyB,qCAAqC,CAAC;AAE5E,MAAM,WAAW,UAAW,SAAQ,eAAe;IACjD,MAAM,EAAE,OAAO,GAAG,MAAM,CAAC;IACzB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,WAAW,eAAgB,SAAQ,oBAAoB;CAAG;AA+DhE,wBAAsB,cAAc,CAClC,UAAU,EAAE,qBAAqB,GAChC,OAAO,CAAC,SAAS,UAAU,EAAE,CAAC,CAwFhC;AAED;wEACwE;AACxE,wBAAgB,cAAc,CAAC,UAAU,EAAE,qBAAqB,GAAG,SAAS,UAAU,EAAE,CAGvF;AAED,wEAAwE;AACxE,wBAAsB,kBAAkB,CAAC,UAAU,EAAE,qBAAqB,GAAG,OAAO,CAAC,IAAI,CAAC,CAEzF;AAED,MAAM,WAAW,eAAe;IAC9B,SAAS,EAAE,UAAU,CAAC;IACtB,KAAK,EAAE,SAAS,MAAM,EAAE,CAAC;IACzB,SAAS,EAAE,SAAS,MAAM,EAAE,CAAC;IAC7B,MAAM,EAAE,SAAS,MAAM,EAAE,CAAC;IAC1B,MAAM,EAAE,SAAS,MAAM,EAAE,CAAC;IAC1B,QAAQ,EAAE,SAAS,MAAM,EAAE,CAAC;IAC5B,gBAAgB,EAAE,SAAS,MAAM,EAAE,CAAC;IACpC,YAAY,EAAE,SAAS,MAAM,EAAE,CAAC;IAChC,gBAAgB,EAAE,SAAS,MAAM,EAAE,CAAC;IACpC,gBAAgB,EAAE,SAAS,MAAM,EAAE,CAAC;IACpC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,SAAS,oBAAoB,EAAE,CAAC,CAAC;IACxD,QAAQ,EAAE,SAAS,MAAM,EAAE,CAAC;CAC7B;AAED,wBAAgB,cAAc,CAAC,SAAS,EAAE,UAAU,GAAG,eAAe,CAmBrE"}
|
|
@@ -1,14 +1,6 @@
|
|
|
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, readFileSync } from 'node:fs';
|
|
10
2
|
import * as nodePath from 'node:path';
|
|
11
|
-
import {
|
|
3
|
+
import { importModuleViaLoader } from '@shrkcrft/core';
|
|
12
4
|
export const CONSTRUCT_REGISTRY_SCHEMA = 'sharkcraft.construct-registry/v1';
|
|
13
5
|
const CACHE = new Map();
|
|
14
6
|
function readJsonOrEmpty(file) {
|
|
@@ -22,7 +14,7 @@ function readJsonOrEmpty(file) {
|
|
|
22
14
|
}
|
|
23
15
|
}
|
|
24
16
|
async function importDefault(file) {
|
|
25
|
-
const mod = (await
|
|
17
|
+
const mod = (await importModuleViaLoader(file));
|
|
26
18
|
const def = mod.default;
|
|
27
19
|
if (Array.isArray(def))
|
|
28
20
|
return def;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"contract-template-registry.d.ts","sourceRoot":"","sources":["../src/contract-template-registry.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"contract-template-registry.d.ts","sourceRoot":"","sources":["../src/contract-template-registry.ts"],"names":[],"mappings":"AAMA,OAAO,EAGL,KAAK,sBAAsB,EAC5B,MAAM,+BAA+B,CAAC;AACvC,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,2BAA2B,CAAC;AAGvE,eAAO,MAAM,iCAAiC,6CAA6C,CAAC;AAE5F,oBAAY,sBAAsB;IAChC,OAAO,YAAY;IACnB,KAAK,UAAU;IACf,IAAI,SAAS;CACd;AAED,MAAM,WAAW,sBAAsB;IACrC,QAAQ,CAAC,QAAQ,EAAE,sBAAsB,CAAC;IAC1C,QAAQ,CAAC,MAAM,EAAE,sBAAsB,CAAC;IACxC,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,CAAC;IAC9B,QAAQ,CAAC,UAAU,CAAC,EAAE,MAAM,CAAC;CAC9B;AAED,MAAM,WAAW,8BAA8B;IAC7C,QAAQ,CAAC,QAAQ,EAAE,MAAM,GAAG,SAAS,GAAG,OAAO,CAAC;IAChD,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,UAAU,CAAC,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC;CAC1B;AA+CD,wBAAsB,wBAAwB,CAC5C,UAAU,EAAE,qBAAqB,GAChC,OAAO,CAAC;IACT,OAAO,EAAE,SAAS,sBAAsB,EAAE,CAAC;IAC3C,MAAM,EAAE,SAAS,8BAA8B,EAAE,CAAC;CACnD,CAAC,CAkGD;AAED,wBAAsB,wBAAwB,CAC5C,UAAU,EAAE,qBAAqB,GAChC,OAAO,CAAC,SAAS,sBAAsB,EAAE,CAAC,CAG5C;AAED,wBAAgB,kCAAkC,CAAC,WAAW,CAAC,EAAE,MAAM,GAAG,IAAI,CAG7E"}
|
|
@@ -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
|
/**
|
|
10
2
|
* Contract template registry. Merges engine built-ins with
|
|
11
3
|
* pack-contributed contract templates via `contractTemplateFiles`.
|
|
12
4
|
*/
|
|
13
5
|
import { existsSync } from 'node:fs';
|
|
14
6
|
import * as nodePath from 'node:path';
|
|
15
|
-
import { pathToFileURL } from 'node:url';
|
|
16
7
|
import { ALL_CONTRACT_TEMPLATES, AGENT_CONTRACT_TEMPLATE_SCHEMA, } from "./agent-contract-templates.js";
|
|
8
|
+
import { importModuleViaLoader } from '@shrkcrft/core';
|
|
17
9
|
export const CONTRACT_TEMPLATE_REGISTRY_SCHEMA = 'sharkcraft.contract-template-registry/v1';
|
|
18
10
|
export var ContractTemplateSource;
|
|
19
11
|
(function (ContractTemplateSource) {
|
|
@@ -23,7 +15,7 @@ export var ContractTemplateSource;
|
|
|
23
15
|
})(ContractTemplateSource || (ContractTemplateSource = {}));
|
|
24
16
|
const CACHE = new Map();
|
|
25
17
|
async function importDefault(file) {
|
|
26
|
-
const mod = (await
|
|
18
|
+
const mod = (await importModuleViaLoader(file));
|
|
27
19
|
if (Array.isArray(mod.default))
|
|
28
20
|
return mod.default;
|
|
29
21
|
if (mod.default && typeof mod.default === 'object')
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"convention-registry.d.ts","sourceRoot":"","sources":["../src/convention-registry.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"convention-registry.d.ts","sourceRoot":"","sources":["../src/convention-registry.ts"],"names":[],"mappings":"AAOA,OAAO,EAEL,KAAK,WAAW,EACjB,MAAM,sBAAsB,CAAC;AAC9B,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,2BAA2B,CAAC;AAGvE,eAAO,MAAM,0BAA0B,sCAAsC,CAAC;AAE9E,oBAAY,gBAAgB;IAC1B,KAAK,UAAU;IACf,IAAI,SAAS;IACb,OAAO,YAAY;CACpB;AAED,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,CAAC,UAAU,EAAE,WAAW,CAAC;IACjC,QAAQ,CAAC,MAAM,EAAE,gBAAgB,CAAC;IAClC,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,CAAC;IAC9B,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;CAC7B;AAED,MAAM,WAAW,sBAAsB;IACrC,QAAQ,CAAC,QAAQ,EAAE,MAAM,GAAG,SAAS,GAAG,OAAO,CAAC;IAChD,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,YAAY,CAAC,EAAE,MAAM,CAAC;IAC/B,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC;CAC1B;AA4BD,wBAAsB,eAAe,CACnC,UAAU,EAAE,qBAAqB,GAChC,OAAO,CAAC;IAAE,OAAO,EAAE,SAAS,gBAAgB,EAAE,CAAC;IAAC,MAAM,EAAE,SAAS,sBAAsB,EAAE,CAAA;CAAE,CAAC,CAoF9F;AAED,wBAAsB,eAAe,CACnC,UAAU,EAAE,qBAAqB,GAChC,OAAO,CAAC,SAAS,gBAAgB,EAAE,CAAC,CAGtC;AAED,wBAAsB,cAAc,CAClC,UAAU,EAAE,qBAAqB,EACjC,EAAE,EAAE,MAAM,GACT,OAAO,CAAC,gBAAgB,GAAG,IAAI,CAAC,CAGlC;AAED,wBAAsB,oBAAoB,CACxC,UAAU,EAAE,qBAAqB,GAChC,OAAO,CAAC,SAAS,sBAAsB,EAAE,CAAC,CAG5C;AAED,MAAM,WAAW,mBAAmB;IAClC,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC;IAC9B,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,QAAQ,EAAE,MAAM,GAAG,SAAS,GAAG,OAAO,CAAC;IAChD,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;CAC1B;AAED,MAAM,WAAW,sBAAsB;IACrC,QAAQ,CAAC,MAAM,EAAE,gCAAgC,CAAC;IAClD,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC;IAC9B,QAAQ,CAAC,IAAI,EAAE,SAAS,mBAAmB,EAAE,CAAC;IAC9C,QAAQ,CAAC,OAAO,EAAE,OAAO,GAAG,gBAAgB,CAAC;CAC9C;AAiBD,wBAAsB,4BAA4B,CAChD,UAAU,EAAE,qBAAqB,EACjC,KAAK,EAAE,SAAS,MAAM,EAAE,GACvB,OAAO,CAAC,sBAAsB,CAAC,CAqCjC"}
|
|
@@ -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
|
* Convention registry. Loads pack + local conventions and validates
|
|
11
3
|
* them. Engine has no built-in conventions; everything comes from
|
|
@@ -13,8 +5,8 @@ var __rewriteRelativeImportExtension = (this && this.__rewriteRelativeImportExte
|
|
|
13
5
|
*/
|
|
14
6
|
import { existsSync } from 'node:fs';
|
|
15
7
|
import * as nodePath from 'node:path';
|
|
16
|
-
import { pathToFileURL } from 'node:url';
|
|
17
8
|
import { validateConvention, } from '@shrkcrft/plugin-api';
|
|
9
|
+
import { importModuleViaLoader } from '@shrkcrft/core';
|
|
18
10
|
export const CONVENTION_REGISTRY_SCHEMA = 'sharkcraft.convention-registry/v1';
|
|
19
11
|
export var ConventionSource;
|
|
20
12
|
(function (ConventionSource) {
|
|
@@ -23,7 +15,7 @@ export var ConventionSource;
|
|
|
23
15
|
ConventionSource["Fixture"] = "fixture";
|
|
24
16
|
})(ConventionSource || (ConventionSource = {}));
|
|
25
17
|
async function importDefault(file) {
|
|
26
|
-
const mod = (await
|
|
18
|
+
const mod = (await importModuleViaLoader(file));
|
|
27
19
|
if (Array.isArray(mod.default))
|
|
28
20
|
return mod.default;
|
|
29
21
|
if (mod.default && typeof mod.default === 'object')
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"decision-records.d.ts","sourceRoot":"","sources":["../src/decision-records.ts"],"names":[],"mappings":"AAYA,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,2BAA2B,CAAC;
|
|
1
|
+
{"version":3,"file":"decision-records.d.ts","sourceRoot":"","sources":["../src/decision-records.ts"],"names":[],"mappings":"AAYA,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,2BAA2B,CAAC;AAGvE,eAAO,MAAM,sBAAsB,2BAA2B,CAAC;AAE/D,oBAAY,cAAc;IACxB,QAAQ,aAAa;IACrB,QAAQ,aAAa;IACrB,QAAQ,aAAa;IACrB,UAAU,eAAe;CAC1B;AAED,MAAM,WAAW,eAAe;IAC9B,MAAM,EAAE,OAAO,sBAAsB,CAAC;IACtC,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,cAAc,CAAC;IACvB,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,MAAM,CAAC;IACjB,YAAY,EAAE,MAAM,CAAC;IACrB,YAAY,EAAE,SAAS,MAAM,EAAE,CAAC;IAChC,eAAe,EAAE,SAAS,MAAM,EAAE,CAAC;IACnC,iBAAiB,EAAE,SAAS,MAAM,EAAE,CAAC;IACrC,YAAY,EAAE,SAAS,MAAM,EAAE,CAAC;IAChC,IAAI,EAAE,MAAM,CAAC;IACb,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,WAAW,mBAAmB;IAClC,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,CAAC,EAAE,cAAc,CAAC;IACxB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,YAAY,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IACjC,eAAe,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IACpC,iBAAiB,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IACtC,YAAY,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IACjC,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AA8CD,wBAAgB,aAAa,CAAC,UAAU,EAAE,qBAAqB,GAAG,SAAS,eAAe,EAAE,CAyD3F;AA0BD;;;;GAIG;AACH,wBAAsB,eAAe,CACnC,UAAU,EAAE,qBAAqB,GAChC,OAAO,CAAC,SAAS,eAAe,EAAE,CAAC,CAuCrC;AAaD,wBAAgB,WAAW,CAAC,UAAU,EAAE,qBAAqB,EAAE,EAAE,EAAE,MAAM,GAAG,eAAe,GAAG,SAAS,CAEtG;AAED,wBAAgB,oBAAoB,CAAC,KAAK,EAAE,mBAAmB,GAAG,MAAM,CA0CvE;AAED,wBAAgB,uBAAuB,CAAC,WAAW,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,GAAG,MAAM,CAE/E"}
|
package/dist/decision-records.js
CHANGED
|
@@ -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
|
* Decision / ADR support.
|
|
11
3
|
*
|
|
@@ -18,6 +10,7 @@ var __rewriteRelativeImportExtension = (this && this.__rewriteRelativeImportExte
|
|
|
18
10
|
*/
|
|
19
11
|
import { existsSync, readFileSync, readdirSync, statSync } from 'node:fs';
|
|
20
12
|
import * as nodePath from 'node:path';
|
|
13
|
+
import { importModuleViaLoader } from '@shrkcrft/core';
|
|
21
14
|
export const DECISION_RECORD_SCHEMA = 'sharkcraft.decision/v1';
|
|
22
15
|
export var DecisionStatus;
|
|
23
16
|
(function (DecisionStatus) {
|
|
@@ -193,7 +186,7 @@ async function importDefaultArray(absPath) {
|
|
|
193
186
|
if (!existsSync(absPath))
|
|
194
187
|
return [];
|
|
195
188
|
const { pathToFileURL } = await import('node:url');
|
|
196
|
-
const mod = (await
|
|
189
|
+
const mod = (await importModuleViaLoader(absPath));
|
|
197
190
|
return Array.isArray(mod.default) ? mod.default : [];
|
|
198
191
|
}
|
|
199
192
|
catch {
|
package/dist/demo-script.d.ts
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"demo-script.d.ts","sourceRoot":"","sources":["../src/demo-script.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,kBAAkB,8BAA8B,CAAC;AAE9D,oBAAY,YAAY;IACtB,gBAAgB,sBAAsB;IACtC,
|
|
1
|
+
{"version":3,"file":"demo-script.d.ts","sourceRoot":"","sources":["../src/demo-script.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,kBAAkB,8BAA8B,CAAC;AAE9D,oBAAY,YAAY;IACtB,gBAAgB,sBAAsB;IACtC,QAAQ,cAAc;IACtB,UAAU,eAAe;CAC1B;AAED,MAAM,WAAW,eAAe;IAC9B,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,SAAS,MAAM,EAAE,CAAC;IAC5B,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,wEAAwE;IACxE,WAAW,CAAC,EAAE,OAAO,CAAC;CACvB;AAED,MAAM,WAAW,WAAW;IAC1B,MAAM,EAAE,OAAO,kBAAkB,CAAC;IAClC,QAAQ,EAAE,YAAY,CAAC;IACvB,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,EAAE,MAAM,CAAC;IACpB,KAAK,EAAE,SAAS,eAAe,EAAE,CAAC;CACnC;AA2HD,wBAAgB,iBAAiB,IAAI,SAAS,YAAY,EAAE,CAE3D;AAED,wBAAgB,aAAa,CAAC,QAAQ,EAAE,YAAY,GAAG,WAAW,CAEjE;AAED,wBAAgB,qBAAqB,CAAC,MAAM,EAAE,WAAW,GAAG,MAAM,CAsBjE"}
|
package/dist/demo-script.js
CHANGED
|
@@ -2,7 +2,6 @@ export const DEMO_SCRIPT_SCHEMA = 'sharkcraft.demo-script/v1';
|
|
|
2
2
|
export var DemoScenario;
|
|
3
3
|
(function (DemoScenario) {
|
|
4
4
|
DemoScenario["UnconfiguredRepo"] = "unconfigured-repo";
|
|
5
|
-
DemoScenario["PlatformPlugin"] = "platform-plugin";
|
|
6
5
|
DemoScenario["PrReview"] = "pr-review";
|
|
7
6
|
DemoScenario["Governance"] = "governance";
|
|
8
7
|
})(DemoScenario || (DemoScenario = {}));
|
|
@@ -52,48 +51,6 @@ const SCRIPTS = {
|
|
|
52
51
|
},
|
|
53
52
|
],
|
|
54
53
|
},
|
|
55
|
-
[DemoScenario.PlatformPlugin]: {
|
|
56
|
-
schema: DEMO_SCRIPT_SCHEMA,
|
|
57
|
-
scenario: DemoScenario.PlatformPlugin,
|
|
58
|
-
title: 'Add a plugin to a platform-adopter project',
|
|
59
|
-
description: 'Uses a pack-contributed plugin construct + playbook + lifecycle profile. SharkCraft does not embed any platform-specific assumptions; everything comes from the pack.',
|
|
60
|
-
steps: [
|
|
61
|
-
{
|
|
62
|
-
title: 'Confirm packs loaded',
|
|
63
|
-
commands: ['shrk packs doctor --require-signatures'],
|
|
64
|
-
notes: 'Set SHARKCRAFT_PACK_SECRET so signature verification can run.',
|
|
65
|
-
},
|
|
66
|
-
{
|
|
67
|
-
title: 'Inspect the plugin construct contributed by the pack',
|
|
68
|
-
commands: ['shrk constructs list --filter plugin', 'shrk constructs get <pack>.plugin'],
|
|
69
|
-
},
|
|
70
|
-
{
|
|
71
|
-
title: 'Walk the add-plugin playbook',
|
|
72
|
-
commands: [
|
|
73
|
-
'shrk playbooks recommend "add a profile plugin"',
|
|
74
|
-
'shrk playbooks list --filter plugin',
|
|
75
|
-
],
|
|
76
|
-
},
|
|
77
|
-
{
|
|
78
|
-
title: 'Use the lifecycle profile (rename / remove preview)',
|
|
79
|
-
commands: [
|
|
80
|
-
'shrk plugin lifecycle profiles',
|
|
81
|
-
'shrk plugin lifecycle list --profile <id>',
|
|
82
|
-
'shrk plugin rename old new --profile <id> --dry-run',
|
|
83
|
-
],
|
|
84
|
-
},
|
|
85
|
-
{
|
|
86
|
-
title: 'Render a chunked agent brief',
|
|
87
|
-
commands: [
|
|
88
|
-
'shrk brief "create a user profile plugin" --mode implementation --chunk --output-dir .sharkcraft/briefs/profile-plugin',
|
|
89
|
-
],
|
|
90
|
-
},
|
|
91
|
-
{
|
|
92
|
-
title: 'Start a dev session and let an agent take it from here',
|
|
93
|
-
commands: ['shrk dev start "create a user profile plugin" --brief'],
|
|
94
|
-
},
|
|
95
|
-
],
|
|
96
|
-
},
|
|
97
54
|
[DemoScenario.PrReview]: {
|
|
98
55
|
schema: DEMO_SCRIPT_SCHEMA,
|
|
99
56
|
scenario: DemoScenario.PrReview,
|
package/dist/docs-check.js
CHANGED
|
@@ -101,7 +101,7 @@ export function buildDocsCheck(projectRoot, options = {}) {
|
|
|
101
101
|
severity: 'warning',
|
|
102
102
|
message: 'README does not explicitly state that MCP is read-only.',
|
|
103
103
|
file: 'README.md',
|
|
104
|
-
suggestion: 'Include the phrase "MCP is read-only" so
|
|
104
|
+
suggestion: 'Include the phrase "MCP is read-only" so consumers can scan-find it.',
|
|
105
105
|
});
|
|
106
106
|
}
|
|
107
107
|
// Validate internal links.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"drift-baseline.d.ts","sourceRoot":"","sources":["../src/drift-baseline.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,2BAA2B,CAAC;AAGvE,eAAO,MAAM,qBAAqB,iCAAiC,CAAC;AAEpE,MAAM,WAAW,qBAAqB;IACpC,WAAW,EAAE,MAAM,CAAC;IACpB,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,cAAc;IAC7B,MAAM,EAAE,OAAO,qBAAqB,CAAC;IACrC,SAAS,EAAE,MAAM,CAAC;IAClB,WAAW,EAAE,MAAM,CAAC;IACpB,QAAQ,EAAE,SAAS,qBAAqB,EAAE,CAAC;CAC5C;AAED,MAAM,WAAW,wBAAwB;IACvC,MAAM,EAAE,yCAAyC,CAAC;IAClD,YAAY,EAAE,MAAM,CAAC;IACrB,QAAQ,EAAE,cAAc,CAAC;IACzB,OAAO,EAAE,cAAc,CAAC;IACxB,QAAQ,EAAE,SAAS,qBAAqB,EAAE,CAAC;IAC3C,WAAW,EAAE,SAAS,qBAAqB,EAAE,CAAC;IAC9C,QAAQ,EAAE,SAAS,qBAAqB,EAAE,CAAC;CAC5C;AA8BD,wBAAgB,mBAAmB,CACjC,UAAU,EAAE,qBAAqB,EACjC,OAAO,EAAE,MAAM,GACd,cAAc,
|
|
1
|
+
{"version":3,"file":"drift-baseline.d.ts","sourceRoot":"","sources":["../src/drift-baseline.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,2BAA2B,CAAC;AAGvE,eAAO,MAAM,qBAAqB,iCAAiC,CAAC;AAEpE,MAAM,WAAW,qBAAqB;IACpC,WAAW,EAAE,MAAM,CAAC;IACpB,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,cAAc;IAC7B,MAAM,EAAE,OAAO,qBAAqB,CAAC;IACrC,SAAS,EAAE,MAAM,CAAC;IAClB,WAAW,EAAE,MAAM,CAAC;IACpB,QAAQ,EAAE,SAAS,qBAAqB,EAAE,CAAC;CAC5C;AAED,MAAM,WAAW,wBAAwB;IACvC,MAAM,EAAE,yCAAyC,CAAC;IAClD,YAAY,EAAE,MAAM,CAAC;IACrB,QAAQ,EAAE,cAAc,CAAC;IACzB,OAAO,EAAE,cAAc,CAAC;IACxB,QAAQ,EAAE,SAAS,qBAAqB,EAAE,CAAC;IAC3C,WAAW,EAAE,SAAS,qBAAqB,EAAE,CAAC;IAC9C,QAAQ,EAAE,SAAS,qBAAqB,EAAE,CAAC;CAC5C;AA8BD,wBAAgB,mBAAmB,CACjC,UAAU,EAAE,qBAAqB,EACjC,OAAO,EAAE,MAAM,GACd,cAAc,CAehB;AAED,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,MAAM,GAAG,cAAc,GAAG,IAAI,CAOrE;AAED,wBAAgB,oBAAoB,CAClC,UAAU,EAAE,qBAAqB,EACjC,YAAY,EAAE,MAAM,GACnB,wBAAwB,GAAG,IAAI,CAwBjC"}
|
package/dist/drift-baseline.js
CHANGED
|
@@ -35,7 +35,10 @@ export function createDriftBaseline(inspection, outFile) {
|
|
|
35
35
|
const baseline = {
|
|
36
36
|
schema: DRIFT_BASELINE_SCHEMA,
|
|
37
37
|
createdAt: nowIso(),
|
|
38
|
-
|
|
38
|
+
// Store only the repo basename, not the absolute path — baselines are
|
|
39
|
+
// committed to version control and absolute paths leak the author's
|
|
40
|
+
// filesystem layout into the public repo.
|
|
41
|
+
projectRoot: nodePath.basename(inspection.projectRoot),
|
|
39
42
|
findings,
|
|
40
43
|
};
|
|
41
44
|
mkdirSync(nodePath.dirname(outFile), { recursive: true });
|
|
@@ -70,7 +73,7 @@ export function compareDriftBaseline(inspection, baselineFile) {
|
|
|
70
73
|
current: {
|
|
71
74
|
schema: DRIFT_BASELINE_SCHEMA,
|
|
72
75
|
createdAt: nowIso(),
|
|
73
|
-
projectRoot: inspection.projectRoot,
|
|
76
|
+
projectRoot: nodePath.basename(inspection.projectRoot),
|
|
74
77
|
findings: currentList,
|
|
75
78
|
},
|
|
76
79
|
existing,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"feedback-ingestion.d.ts","sourceRoot":"","sources":["../src/feedback-ingestion.ts"],"names":[],"mappings":"AAkBA,eAAO,MAAM,yBAAyB,qCAAqC,CAAC;AAE5E,oBAAY,cAAc;IACxB,IAAI,SAAS;IACb,GAAG,QAAQ;IACX,OAAO,YAAY;IACnB,SAAS,eAAe;IACxB,KAAK,UAAU;CAChB;AAED,oBAAY,gBAAgB;IAC1B,IAAI,SAAS;IACb,KAAK,UAAU;IACf,KAAK,UAAU;IACf,OAAO,YAAY;CACpB;AAED,MAAM,WAAW,gBAAgB;IAC/B,MAAM,EAAE,cAAc,CAAC;IACvB,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,aAAa,CAAC,MAAM,CAAC,CAAC;IAC5B,uFAAuF;IACvF,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,QAAQ,EAAE,gBAAgB,CAAC;IAC3B,oCAAoC;IACpC,iBAAiB,EAAE,aAAa,CAAC,MAAM,CAAC,CAAC;CAC1C;AAED,MAAM,WAAW,eAAe;IAC9B,MAAM,EAAE,OAAO,yBAAyB,CAAC;IACzC,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,WAAW,EAAE,MAAM,CAAC;IACpB,aAAa,EAAE,MAAM,CAAC;IACtB,MAAM,EAAE,MAAM,CAAC,cAAc,EAAE,MAAM,CAAC,CAAC;IACvC,QAAQ,EAAE,aAAa,CAAC,gBAAgB,CAAC,CAAC;IAC1C,kBAAkB,EAAE,aAAa,CAAC,MAAM,CAAC,CAAC;CAC3C;AAUD;;;;;;;GAOG;AACH,eAAO,MAAM,oBAAoB,gCAAgC,CAAC;AAElE,MAAM,WAAW,aAAa;IAC5B,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,oEAAoE;IACpE,QAAQ,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IAC7B,0BAA0B;IAC1B,OAAO,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IAC5B,kDAAkD;IAClD,OAAO,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IAC5B,iEAAiE;IACjE,QAAQ,CAAC,EAAE,MAAM,GAAG,KAAK,GAAG,SAAS,GAAG,YAAY,GAAG,OAAO,CAAC;IAC/D,0DAA0D;IAC1D,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,IAAI,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IACzB,sCAAsC;IACtC,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,EAAE,gBAAgB,CAAC;IAC5B,4DAA4D;IAC5D,gBAAgB,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IACrC,4CAA4C;IAC5C,eAAe,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IACpC,gBAAgB,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IACrC,gBAAgB,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IACrC,gBAAgB,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IACrC,uEAAuE;IACvE,WAAW,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;CACjC;AAED,wBAAgB,kBAAkB,CAAC,CAAC,SAAS,aAAa,EAAE,CAAC,EAAE,CAAC,GAAG,CAAC,CAEnE;
|
|
1
|
+
{"version":3,"file":"feedback-ingestion.d.ts","sourceRoot":"","sources":["../src/feedback-ingestion.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
|
* Feedback ingestion.
|
|
11
3
|
*
|
|
@@ -21,8 +13,8 @@ var __rewriteRelativeImportExtension = (this && this.__rewriteRelativeImportExte
|
|
|
21
13
|
* Schema: sharkcraft.feedback-ingestion/v1
|
|
22
14
|
*/
|
|
23
15
|
import { existsSync, readFileSync } from 'node:fs';
|
|
24
|
-
import { pathToFileURL } from 'node:url';
|
|
25
16
|
import * as nodePath from 'node:path';
|
|
17
|
+
import { importModuleViaLoader } from '@shrkcrft/core';
|
|
26
18
|
export const FEEDBACK_INGESTION_SCHEMA = 'sharkcraft.feedback-ingestion/v1';
|
|
27
19
|
export var FeedbackBucket;
|
|
28
20
|
(function (FeedbackBucket) {
|
|
@@ -151,12 +143,6 @@ const KEYWORD_RULES = [
|
|
|
151
143
|
targetArea: 'mcp',
|
|
152
144
|
suggestedCommands: ['shrk commands list --filter mcp'],
|
|
153
145
|
},
|
|
154
|
-
{
|
|
155
|
-
pattern: /\b(plugin)\b/i,
|
|
156
|
-
tags: ['plugin'],
|
|
157
|
-
targetArea: 'plugin-lifecycle',
|
|
158
|
-
suggestedCommands: ['shrk plugin lifecycle list', 'shrk plugin rename <old> <new>'],
|
|
159
|
-
},
|
|
160
146
|
{
|
|
161
147
|
pattern: /\b(helper[s]?)\b/i,
|
|
162
148
|
tags: ['helpers'],
|
|
@@ -349,7 +335,7 @@ async function importDefaultArray(absPath) {
|
|
|
349
335
|
try {
|
|
350
336
|
if (!existsSync(absPath))
|
|
351
337
|
return [];
|
|
352
|
-
const mod = (await
|
|
338
|
+
const mod = (await importModuleViaLoader(absPath));
|
|
353
339
|
return Array.isArray(mod.default) ? mod.default : [];
|
|
354
340
|
}
|
|
355
341
|
catch {
|
package/dist/git-helpers.d.ts
CHANGED
|
@@ -20,18 +20,6 @@ export interface IGitStatusSummary {
|
|
|
20
20
|
export declare function isGitRepo(cwd: string): boolean;
|
|
21
21
|
export declare function getGitRoot(cwd: string): string | null;
|
|
22
22
|
export declare function getGitBranch(cwd: string): string | null;
|
|
23
|
-
/**
|
|
24
|
-
* Verify that `ref` resolves to a commit. Returns `{ valid: true }` on
|
|
25
|
-
* success, otherwise `{ valid: false, suggestions }` listing nearby
|
|
26
|
-
* branch / tag names so the caller can offer a did-you-mean.
|
|
27
|
-
*
|
|
28
|
-
* Cheap (`git rev-parse --verify` + `git for-each-ref`) — only run when
|
|
29
|
-
* the user passes an explicit ref.
|
|
30
|
-
*/
|
|
31
|
-
export declare function verifyGitRef(cwd: string, ref: string): {
|
|
32
|
-
valid: boolean;
|
|
33
|
-
suggestions?: string[];
|
|
34
|
-
};
|
|
35
23
|
export declare function getChangedFiles(cwd: string, opts?: IGitChangedOptions): string[];
|
|
36
24
|
export declare function getStatusSummary(cwd: string): IGitStatusSummary;
|
|
37
25
|
export declare function parseLines(text: string): string[];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"git-helpers.d.ts","sourceRoot":"","sources":["../src/git-helpers.ts"],"names":[],"mappings":"AAIA,MAAM,WAAW,kBAAkB;IACjC,mEAAmE;IACnE,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,8CAA8C;IAC9C,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,gEAAgE;IAChE,eAAe,CAAC,EAAE,OAAO,CAAC;CAC3B;AAED,MAAM,WAAW,iBAAiB;IAChC,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;IACtB,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;IACpB,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;IAClB,KAAK,EAAE,OAAO,CAAC;CAChB;AAWD,wBAAgB,SAAS,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAI9C;AAED,wBAAgB,UAAU,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAKrD;AAED,wBAAgB,YAAY,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAKvD;AAED
|
|
1
|
+
{"version":3,"file":"git-helpers.d.ts","sourceRoot":"","sources":["../src/git-helpers.ts"],"names":[],"mappings":"AAIA,MAAM,WAAW,kBAAkB;IACjC,mEAAmE;IACnE,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,8CAA8C;IAC9C,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,gEAAgE;IAChE,eAAe,CAAC,EAAE,OAAO,CAAC;CAC3B;AAED,MAAM,WAAW,iBAAiB;IAChC,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;IACtB,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;IACpB,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;IAClB,KAAK,EAAE,OAAO,CAAC;CAChB;AAWD,wBAAgB,SAAS,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAI9C;AAED,wBAAgB,UAAU,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAKrD;AAED,wBAAgB,YAAY,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAKvD;AAED,wBAAgB,eAAe,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,GAAE,kBAAuB,GAAG,MAAM,EAAE,CAkBpF;AAED,wBAAgB,gBAAgB,CAAC,GAAG,EAAE,MAAM,GAAG,iBAAiB,CAyC/D;AAED,wBAAgB,UAAU,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,EAAE,CAKjD"}
|
package/dist/git-helpers.js
CHANGED
|
@@ -29,69 +29,6 @@ export function getGitBranch(cwd) {
|
|
|
29
29
|
const out = r.stdout.trim();
|
|
30
30
|
return out.length > 0 ? out : null;
|
|
31
31
|
}
|
|
32
|
-
/**
|
|
33
|
-
* Verify that `ref` resolves to a commit. Returns `{ valid: true }` on
|
|
34
|
-
* success, otherwise `{ valid: false, suggestions }` listing nearby
|
|
35
|
-
* branch / tag names so the caller can offer a did-you-mean.
|
|
36
|
-
*
|
|
37
|
-
* Cheap (`git rev-parse --verify` + `git for-each-ref`) — only run when
|
|
38
|
-
* the user passes an explicit ref.
|
|
39
|
-
*/
|
|
40
|
-
export function verifyGitRef(cwd, ref) {
|
|
41
|
-
if (!isGitRepo(cwd))
|
|
42
|
-
return { valid: false, suggestions: [] };
|
|
43
|
-
const r = runGit(cwd, ['rev-parse', '--verify', '--quiet', `${ref}^{commit}`]);
|
|
44
|
-
if (r.ok)
|
|
45
|
-
return { valid: true };
|
|
46
|
-
// Collect candidate names from local + remote refs, then rank by Levenshtein.
|
|
47
|
-
const candidates = listRefNames(cwd);
|
|
48
|
-
const suggestions = nearestRefs(ref, candidates, 3);
|
|
49
|
-
return { valid: false, suggestions };
|
|
50
|
-
}
|
|
51
|
-
function listRefNames(cwd) {
|
|
52
|
-
const out = new Set();
|
|
53
|
-
const local = runGit(cwd, ['for-each-ref', '--format=%(refname:short)', 'refs/heads']);
|
|
54
|
-
if (local.ok)
|
|
55
|
-
for (const line of parseLines(local.stdout))
|
|
56
|
-
out.add(line);
|
|
57
|
-
const remote = runGit(cwd, ['for-each-ref', '--format=%(refname:short)', 'refs/remotes']);
|
|
58
|
-
if (remote.ok)
|
|
59
|
-
for (const line of parseLines(remote.stdout))
|
|
60
|
-
out.add(line);
|
|
61
|
-
const tags = runGit(cwd, ['for-each-ref', '--format=%(refname:short)', 'refs/tags']);
|
|
62
|
-
if (tags.ok)
|
|
63
|
-
for (const line of parseLines(tags.stdout))
|
|
64
|
-
out.add(line);
|
|
65
|
-
return [...out];
|
|
66
|
-
}
|
|
67
|
-
function nearestRefs(query, refs, k) {
|
|
68
|
-
const scored = refs.map((r) => ({ r, d: levenshtein(query, r) }));
|
|
69
|
-
scored.sort((a, b) => a.d - b.d);
|
|
70
|
-
return scored.slice(0, k).map((s) => s.r);
|
|
71
|
-
}
|
|
72
|
-
function levenshtein(a, b) {
|
|
73
|
-
if (a === b)
|
|
74
|
-
return 0;
|
|
75
|
-
const al = a.length;
|
|
76
|
-
const bl = b.length;
|
|
77
|
-
if (al === 0)
|
|
78
|
-
return bl;
|
|
79
|
-
if (bl === 0)
|
|
80
|
-
return al;
|
|
81
|
-
let prev = new Array(bl + 1);
|
|
82
|
-
let curr = new Array(bl + 1);
|
|
83
|
-
for (let j = 0; j <= bl; j += 1)
|
|
84
|
-
prev[j] = j;
|
|
85
|
-
for (let i = 1; i <= al; i += 1) {
|
|
86
|
-
curr[0] = i;
|
|
87
|
-
for (let j = 1; j <= bl; j += 1) {
|
|
88
|
-
const cost = a.charCodeAt(i - 1) === b.charCodeAt(j - 1) ? 0 : 1;
|
|
89
|
-
curr[j] = Math.min((prev[j] ?? 0) + 1, (curr[j - 1] ?? 0) + 1, (prev[j - 1] ?? 0) + cost);
|
|
90
|
-
}
|
|
91
|
-
[prev, curr] = [curr, prev];
|
|
92
|
-
}
|
|
93
|
-
return prev[bl] ?? Math.max(al, bl);
|
|
94
|
-
}
|
|
95
32
|
export function getChangedFiles(cwd, opts = {}) {
|
|
96
33
|
if (!isGitRepo(cwd))
|
|
97
34
|
return [];
|