@planu/cli 0.92.0 → 0.93.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/engine/telemetry/error-reporter.d.ts +6 -0
- package/dist/engine/telemetry/error-reporter.d.ts.map +1 -1
- package/dist/engine/telemetry/error-reporter.js +22 -0
- package/dist/engine/telemetry/error-reporter.js.map +1 -1
- package/dist/tools/audit-trail-handler.d.ts +6 -2
- package/dist/tools/audit-trail-handler.d.ts.map +1 -1
- package/dist/tools/audit-trail-handler.js +12 -9
- package/dist/tools/audit-trail-handler.js.map +1 -1
- package/dist/tools/check-readiness.d.ts +3 -1
- package/dist/tools/check-readiness.d.ts.map +1 -1
- package/dist/tools/check-readiness.js +9 -1
- package/dist/tools/check-readiness.js.map +1 -1
- package/dist/tools/data-governance.d.ts +3 -1
- package/dist/tools/data-governance.d.ts.map +1 -1
- package/dist/tools/data-governance.js +9 -1
- package/dist/tools/data-governance.js.map +1 -1
- package/dist/tools/register-audit-trail-tools.d.ts.map +1 -1
- package/dist/tools/register-audit-trail-tools.js +27 -4
- package/dist/tools/register-audit-trail-tools.js.map +1 -1
- package/dist/tools/register-backlog-tools.d.ts.map +1 -1
- package/dist/tools/register-backlog-tools.js +24 -8
- package/dist/tools/register-backlog-tools.js.map +1 -1
- package/dist/tools/register-ci-tools.d.ts.map +1 -1
- package/dist/tools/register-ci-tools.js +27 -5
- package/dist/tools/register-ci-tools.js.map +1 -1
- package/dist/tools/register-coverage-tools.d.ts.map +1 -1
- package/dist/tools/register-coverage-tools.js +14 -2
- package/dist/tools/register-coverage-tools.js.map +1 -1
- package/dist/tools/register-domain-criteria-tools.d.ts.map +1 -1
- package/dist/tools/register-domain-criteria-tools.js +27 -4
- package/dist/tools/register-domain-criteria-tools.js.map +1 -1
- package/dist/tools/register-elicitation-tools.d.ts.map +1 -1
- package/dist/tools/register-elicitation-tools.js +14 -2
- package/dist/tools/register-elicitation-tools.js.map +1 -1
- package/dist/tools/register-event-tools.d.ts.map +1 -1
- package/dist/tools/register-event-tools.js +14 -2
- package/dist/tools/register-event-tools.js.map +1 -1
- package/dist/tools/register-federation-tools.d.ts.map +1 -1
- package/dist/tools/register-federation-tools.js +27 -4
- package/dist/tools/register-federation-tools.js.map +1 -1
- package/dist/tools/register-governance-tools.d.ts.map +1 -1
- package/dist/tools/register-governance-tools.js +27 -4
- package/dist/tools/register-governance-tools.js.map +1 -1
- package/dist/tools/register-hooks-tools.d.ts.map +1 -1
- package/dist/tools/register-hooks-tools.js +14 -2
- package/dist/tools/register-hooks-tools.js.map +1 -1
- package/dist/tools/register-infrastructure-tools.d.ts.map +1 -1
- package/dist/tools/register-infrastructure-tools.js +17 -2
- package/dist/tools/register-infrastructure-tools.js.map +1 -1
- package/dist/tools/register-lessons-tools.d.ts.map +1 -1
- package/dist/tools/register-lessons-tools.js +12 -4
- package/dist/tools/register-lessons-tools.js.map +1 -1
- package/dist/tools/register-living-spec-advanced-tools.d.ts.map +1 -1
- package/dist/tools/register-living-spec-advanced-tools.js +92 -16
- package/dist/tools/register-living-spec-advanced-tools.js.map +1 -1
- package/dist/tools/register-living-spec-tools.d.ts.map +1 -1
- package/dist/tools/register-living-spec-tools.js +53 -10
- package/dist/tools/register-living-spec-tools.js.map +1 -1
- package/dist/tools/register-migration-tools.d.ts.map +1 -1
- package/dist/tools/register-migration-tools.js +10 -3
- package/dist/tools/register-migration-tools.js.map +1 -1
- package/dist/tools/register-readiness-tools.d.ts.map +1 -1
- package/dist/tools/register-readiness-tools.js +27 -4
- package/dist/tools/register-readiness-tools.js.map +1 -1
- package/dist/tools/register-scan-tools.js +1 -1
- package/dist/tools/register-scan-tools.js.map +1 -1
- package/dist/tools/register-scope-tools.d.ts.map +1 -1
- package/dist/tools/register-scope-tools.js +27 -4
- package/dist/tools/register-scope-tools.js.map +1 -1
- package/dist/tools/register-search-tools.d.ts.map +1 -1
- package/dist/tools/register-search-tools.js +14 -2
- package/dist/tools/register-search-tools.js.map +1 -1
- package/dist/tools/register-security-tools.d.ts.map +1 -1
- package/dist/tools/register-security-tools.js +14 -2
- package/dist/tools/register-security-tools.js.map +1 -1
- package/dist/tools/register-spec-observability-tools.d.ts.map +1 -1
- package/dist/tools/register-spec-observability-tools.js +14 -2
- package/dist/tools/register-spec-observability-tools.js.map +1 -1
- package/dist/tools/register-spec-split-tools.d.ts.map +1 -1
- package/dist/tools/register-spec-split-tools.js +26 -6
- package/dist/tools/register-spec-split-tools.js.map +1 -1
- package/dist/tools/register-stack-tools.d.ts.map +1 -1
- package/dist/tools/register-stack-tools.js +40 -9
- package/dist/tools/register-stack-tools.js.map +1 -1
- package/dist/tools/register-team-tools.d.ts.map +1 -1
- package/dist/tools/register-team-tools.js +38 -6
- package/dist/tools/register-team-tools.js.map +1 -1
- package/dist/tools/register-telemetry-tools.d.ts.map +1 -1
- package/dist/tools/register-telemetry-tools.js +6 -1
- package/dist/tools/register-telemetry-tools.js.map +1 -1
- package/dist/tools/register-versioning-tools.d.ts.map +1 -1
- package/dist/tools/register-versioning-tools.js +66 -13
- package/dist/tools/register-versioning-tools.js.map +1 -1
- package/dist/tools/resolve-project-id.d.ts +13 -0
- package/dist/tools/resolve-project-id.d.ts.map +1 -0
- package/dist/tools/resolve-project-id.js +22 -0
- package/dist/tools/resolve-project-id.js.map +1 -0
- package/dist/tools/safe-handler.d.ts.map +1 -1
- package/dist/tools/safe-handler.js +7 -2
- package/dist/tools/safe-handler.js.map +1 -1
- package/package.json +1 -1
|
@@ -2,6 +2,7 @@
|
|
|
2
2
|
import { z } from 'zod';
|
|
3
3
|
import { safeLicensed } from './safe-handler.js';
|
|
4
4
|
import { handleSuggestCriteria, handleInjectCriteria } from './domain-criteria-handler.js';
|
|
5
|
+
import { resolveProjectId, missingProjectIdError } from './resolve-project-id.js';
|
|
5
6
|
export function registerDomainCriteriaTools(server) {
|
|
6
7
|
// suggest_criteria — read-only, free tier
|
|
7
8
|
server.registerTool('suggest_criteria', {
|
|
@@ -10,7 +11,12 @@ export function registerDomainCriteriaTools(server) {
|
|
|
10
11
|
'Returns suggested criteria grouped by domain and flags critical gaps that penalize readiness score.',
|
|
11
12
|
annotations: { readOnlyHint: true },
|
|
12
13
|
inputSchema: {
|
|
13
|
-
projectId: z.string().max(500).describe('Project ID
|
|
14
|
+
projectId: z.string().max(500).optional().describe('Project ID hash. Prefer projectPath.'),
|
|
15
|
+
projectPath: z
|
|
16
|
+
.string()
|
|
17
|
+
.max(4096)
|
|
18
|
+
.optional()
|
|
19
|
+
.describe('Absolute path to project root. Derives projectId automatically.'),
|
|
14
20
|
specId: z.string().max(500).describe('Spec ID to analyze (e.g. SPEC-042)'),
|
|
15
21
|
projectHash: z
|
|
16
22
|
.string()
|
|
@@ -19,7 +25,13 @@ export function registerDomainCriteriaTools(server) {
|
|
|
19
25
|
.describe('Optional project hash for loading project-level best-practices overrides from ' +
|
|
20
26
|
'data/projects/{hash}/config/domain-best-practices-overrides.json'),
|
|
21
27
|
},
|
|
22
|
-
}, safeLicensed('suggest_criteria', async (args) =>
|
|
28
|
+
}, safeLicensed('suggest_criteria', async (args) => {
|
|
29
|
+
const pid = resolveProjectId(args);
|
|
30
|
+
if (!pid) {
|
|
31
|
+
return missingProjectIdError;
|
|
32
|
+
}
|
|
33
|
+
return handleSuggestCriteria({ ...args, projectId: pid });
|
|
34
|
+
}));
|
|
23
35
|
// inject_criteria — destructive (modifies spec file), pro tier
|
|
24
36
|
server.registerTool('inject_criteria', {
|
|
25
37
|
description: 'Inject missing domain best-practice criteria directly into a spec\'s "## Acceptance Criteria" section. ' +
|
|
@@ -27,7 +39,12 @@ export function registerDomainCriteriaTools(server) {
|
|
|
27
39
|
'Use criteriaIds to inject only specific criteria; omit to inject all missing critical criteria.',
|
|
28
40
|
annotations: { destructiveHint: true },
|
|
29
41
|
inputSchema: {
|
|
30
|
-
projectId: z.string().max(500).describe('Project ID
|
|
42
|
+
projectId: z.string().max(500).optional().describe('Project ID hash. Prefer projectPath.'),
|
|
43
|
+
projectPath: z
|
|
44
|
+
.string()
|
|
45
|
+
.max(4096)
|
|
46
|
+
.optional()
|
|
47
|
+
.describe('Absolute path to project root. Derives projectId automatically.'),
|
|
31
48
|
specId: z.string().max(500).describe('Spec ID to inject criteria into (e.g. SPEC-042)'),
|
|
32
49
|
criteriaIds: z
|
|
33
50
|
.array(z.string().max(200))
|
|
@@ -41,6 +58,12 @@ export function registerDomainCriteriaTools(server) {
|
|
|
41
58
|
.optional()
|
|
42
59
|
.describe('Optional project hash for loading project-level best-practices overrides'),
|
|
43
60
|
},
|
|
44
|
-
}, safeLicensed('inject_criteria', async (args) =>
|
|
61
|
+
}, safeLicensed('inject_criteria', async (args) => {
|
|
62
|
+
const pid = resolveProjectId(args);
|
|
63
|
+
if (!pid) {
|
|
64
|
+
return missingProjectIdError;
|
|
65
|
+
}
|
|
66
|
+
return handleInjectCriteria({ ...args, projectId: pid });
|
|
67
|
+
}));
|
|
45
68
|
}
|
|
46
69
|
//# sourceMappingURL=register-domain-criteria-tools.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"register-domain-criteria-tools.js","sourceRoot":"","sources":["../../src/tools/register-domain-criteria-tools.ts"],"names":[],"mappings":"AAAA,sGAAsG;AAGtG,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AACjD,OAAO,EAAE,qBAAqB,EAAE,oBAAoB,EAAE,MAAM,8BAA8B,CAAC;
|
|
1
|
+
{"version":3,"file":"register-domain-criteria-tools.js","sourceRoot":"","sources":["../../src/tools/register-domain-criteria-tools.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"register-elicitation-tools.d.ts","sourceRoot":"","sources":["../../src/tools/register-elicitation-tools.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;
|
|
1
|
+
{"version":3,"file":"register-elicitation-tools.d.ts","sourceRoot":"","sources":["../../src/tools/register-elicitation-tools.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAOzE,wBAAgB,wBAAwB,CAAC,MAAM,EAAE,SAAS,GAAG,IAAI,CAgDhE"}
|
|
@@ -1,13 +1,19 @@
|
|
|
1
1
|
import { z } from 'zod';
|
|
2
2
|
import { safeLicensed } from './safe-handler.js';
|
|
3
3
|
import { handleElicitRequirements } from './elicit-requirements-handler.js';
|
|
4
|
+
import { resolveProjectId, missingProjectIdError } from './resolve-project-id.js';
|
|
4
5
|
export function registerElicitationTools(server) {
|
|
5
6
|
server.registerTool('elicit_requirements', {
|
|
6
7
|
description: 'Interactively clarify requirements before creating a spec. ' +
|
|
7
8
|
'First call returns structured questions for the user to answer. ' +
|
|
8
9
|
'Second call (with answers + sessionId) returns a structured summary ready to pass to create_spec.',
|
|
9
10
|
inputSchema: {
|
|
10
|
-
projectId: z.string().
|
|
11
|
+
projectId: z.string().max(500).optional().describe('Project ID hash. Prefer projectPath.'),
|
|
12
|
+
projectPath: z
|
|
13
|
+
.string()
|
|
14
|
+
.max(4096)
|
|
15
|
+
.optional()
|
|
16
|
+
.describe('Absolute path to project root. Derives projectId automatically.'),
|
|
11
17
|
title: z.string().min(3).max(200).describe('Feature title to clarify requirements for.'),
|
|
12
18
|
description: z
|
|
13
19
|
.string()
|
|
@@ -28,6 +34,12 @@ export function registerElicitationTools(server) {
|
|
|
28
34
|
'Pass this on the follow-up call to continue the same elicitation session.'),
|
|
29
35
|
},
|
|
30
36
|
annotations: { title: 'Elicit Requirements', readOnlyHint: false },
|
|
31
|
-
}, safeLicensed('elicit_requirements', async (args) =>
|
|
37
|
+
}, safeLicensed('elicit_requirements', async (args) => {
|
|
38
|
+
const pid = resolveProjectId(args);
|
|
39
|
+
if (!pid) {
|
|
40
|
+
return missingProjectIdError;
|
|
41
|
+
}
|
|
42
|
+
return handleElicitRequirements({ ...args, projectId: pid });
|
|
43
|
+
}));
|
|
32
44
|
}
|
|
33
45
|
//# sourceMappingURL=register-elicitation-tools.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"register-elicitation-tools.js","sourceRoot":"","sources":["../../src/tools/register-elicitation-tools.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AACjD,OAAO,EAAE,wBAAwB,EAAE,MAAM,kCAAkC,CAAC;
|
|
1
|
+
{"version":3,"file":"register-elicitation-tools.js","sourceRoot":"","sources":["../../src/tools/register-elicitation-tools.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AACjD,OAAO,EAAE,wBAAwB,EAAE,MAAM,kCAAkC,CAAC;AAE5E,OAAO,EAAE,gBAAgB,EAAE,qBAAqB,EAAE,MAAM,yBAAyB,CAAC;AAElF,MAAM,UAAU,wBAAwB,CAAC,MAAiB;IACxD,MAAM,CAAC,YAAY,CACjB,qBAAqB,EACrB;QACE,WAAW,EACT,6DAA6D;YAC7D,kEAAkE;YAClE,mGAAmG;QACrG,WAAW,EAAE;YACX,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,sCAAsC,CAAC;YAC1F,WAAW,EAAE,CAAC;iBACX,MAAM,EAAE;iBACR,GAAG,CAAC,IAAI,CAAC;iBACT,QAAQ,EAAE;iBACV,QAAQ,CAAC,iEAAiE,CAAC;YAC9E,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,QAAQ,CAAC,4CAA4C,CAAC;YACxF,WAAW,EAAE,CAAC;iBACX,MAAM,EAAE;iBACR,GAAG,CAAC,EAAE,CAAC;iBACP,GAAG,CAAC,IAAI,CAAC;iBACT,QAAQ,CAAC,+CAA+C,CAAC;YAC5D,OAAO,EAAE,CAAC;iBACP,MAAM,EAAE;iBACR,GAAG,CAAC,IAAI,CAAC;iBACT,QAAQ,EAAE;iBACV,QAAQ,CACP,+DAA+D;gBAC7D,iEAAiE,CACpE;YACH,SAAS,EAAE,CAAC;iBACT,MAAM,EAAE;iBACR,GAAG,CAAC,GAAG,CAAC;iBACR,QAAQ,EAAE;iBACV,QAAQ,CACP,8CAA8C;gBAC5C,2EAA2E,CAC9E;SACJ;QACD,WAAW,EAAE,EAAE,KAAK,EAAE,qBAAqB,EAAE,YAAY,EAAE,KAAK,EAAE;KACnE,EACD,YAAY,CAAC,qBAAqB,EAAE,KAAK,EAAE,IAAI,EAAE,EAAE;QACjD,MAAM,GAAG,GAAG,gBAAgB,CAAC,IAAoD,CAAC,CAAC;QACnF,IAAI,CAAC,GAAG,EAAE,CAAC;YACT,OAAO,qBAAqB,CAAC;QAC/B,CAAC;QACD,OAAO,wBAAwB,CAAC,EAAE,GAAG,IAAI,EAAE,SAAS,EAAE,GAAG,EAA6B,CAAC,CAAC;IAC1F,CAAC,CAAC,CACH,CAAC;AACJ,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"register-event-tools.d.ts","sourceRoot":"","sources":["../../src/tools/register-event-tools.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;
|
|
1
|
+
{"version":3,"file":"register-event-tools.d.ts","sourceRoot":"","sources":["../../src/tools/register-event-tools.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAMzE,wBAAgB,kBAAkB,CAAC,MAAM,EAAE,SAAS,GAAG,IAAI,CAyK1D"}
|
|
@@ -2,6 +2,7 @@
|
|
|
2
2
|
import { z } from 'zod';
|
|
3
3
|
import { handleEventContracts } from './event-contracts.js';
|
|
4
4
|
import { safeLicensed } from './safe-handler.js';
|
|
5
|
+
import { resolveProjectId, missingProjectIdError } from './resolve-project-id.js';
|
|
5
6
|
export function registerEventTools(server) {
|
|
6
7
|
// event_contracts — SPEC-031
|
|
7
8
|
server.registerTool('event_contracts', {
|
|
@@ -16,7 +17,12 @@ export function registerEventTools(server) {
|
|
|
16
17
|
'validate-contract: verify a payload against the active contract; ' +
|
|
17
18
|
'evolve-contract: classify a schema change and apply the new version; ' +
|
|
18
19
|
'saga-spec: define a Saga with compensation events per step'),
|
|
19
|
-
projectId: z.string().max(500).describe('Project ID
|
|
20
|
+
projectId: z.string().max(500).optional().describe('Project ID hash. Prefer projectPath.'),
|
|
21
|
+
projectPath: z
|
|
22
|
+
.string()
|
|
23
|
+
.max(4096)
|
|
24
|
+
.optional()
|
|
25
|
+
.describe('Absolute path to project root. Derives projectId automatically.'),
|
|
20
26
|
generateContract: z
|
|
21
27
|
.object({
|
|
22
28
|
projectId: z.string().max(500).describe('Project ID'),
|
|
@@ -142,6 +148,12 @@ export function registerEventTools(server) {
|
|
|
142
148
|
.optional()
|
|
143
149
|
.describe('Input for saga-spec subcommand'),
|
|
144
150
|
},
|
|
145
|
-
}, safeLicensed('event_contracts', async (args) =>
|
|
151
|
+
}, safeLicensed('event_contracts', async (args) => {
|
|
152
|
+
const pid = resolveProjectId(args);
|
|
153
|
+
if (!pid) {
|
|
154
|
+
return missingProjectIdError;
|
|
155
|
+
}
|
|
156
|
+
return handleEventContracts({ ...args, projectId: pid });
|
|
157
|
+
}));
|
|
146
158
|
}
|
|
147
159
|
//# sourceMappingURL=register-event-tools.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"register-event-tools.js","sourceRoot":"","sources":["../../src/tools/register-event-tools.ts"],"names":[],"mappings":"AAAA,mFAAmF;AAGnF,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,oBAAoB,EAAE,MAAM,sBAAsB,CAAC;AAC5D,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;
|
|
1
|
+
{"version":3,"file":"register-event-tools.js","sourceRoot":"","sources":["../../src/tools/register-event-tools.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"register-federation-tools.d.ts","sourceRoot":"","sources":["../../src/tools/register-federation-tools.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;
|
|
1
|
+
{"version":3,"file":"register-federation-tools.d.ts","sourceRoot":"","sources":["../../src/tools/register-federation-tools.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAOzE;;GAEG;AACH,wBAAgB,uBAAuB,CAAC,MAAM,EAAE,SAAS,GAAG,IAAI,CAiF/D"}
|
|
@@ -3,6 +3,7 @@ import { z } from 'zod';
|
|
|
3
3
|
import { handleFederateSpecs } from './federate-specs.js';
|
|
4
4
|
import { handleFederationStatus } from './federation-status.js';
|
|
5
5
|
import { safeLicensed } from './safe-handler.js';
|
|
6
|
+
import { resolveProjectId, missingProjectIdError } from './resolve-project-id.js';
|
|
6
7
|
/**
|
|
7
8
|
* Registers the `federate_specs` and `federation_status` tools (SPEC-160).
|
|
8
9
|
*/
|
|
@@ -14,7 +15,12 @@ export function registerFederationTools(server) {
|
|
|
14
15
|
'Supports three relationship types: depends-on, consumed-by, shared-contract. ' +
|
|
15
16
|
'Stored in data/global/federation.json and resolved locally — no network calls.',
|
|
16
17
|
inputSchema: {
|
|
17
|
-
projectId: z.string().max(500).describe('Project ID
|
|
18
|
+
projectId: z.string().max(500).optional().describe('Project ID hash. Prefer projectPath.'),
|
|
19
|
+
projectPath: z
|
|
20
|
+
.string()
|
|
21
|
+
.max(4096)
|
|
22
|
+
.optional()
|
|
23
|
+
.describe('Absolute path to project root. Derives projectId automatically.'),
|
|
18
24
|
specId: z.string().max(500).describe('Spec ID in the current project (e.g., "SPEC-042")'),
|
|
19
25
|
linkedRepo: z
|
|
20
26
|
.string()
|
|
@@ -32,7 +38,13 @@ export function registerFederationTools(server) {
|
|
|
32
38
|
'shared-contract (both specs share a contract)'),
|
|
33
39
|
},
|
|
34
40
|
annotations: { readOnlyHint: false },
|
|
35
|
-
}, safeLicensed('federate_specs', async (args) =>
|
|
41
|
+
}, safeLicensed('federate_specs', async (args) => {
|
|
42
|
+
const pid = resolveProjectId(args);
|
|
43
|
+
if (!pid) {
|
|
44
|
+
return missingProjectIdError;
|
|
45
|
+
}
|
|
46
|
+
return handleFederateSpecs({ ...args, projectId: pid });
|
|
47
|
+
}));
|
|
36
48
|
// federation_status — show all federated specs and their health
|
|
37
49
|
server.registerTool('federation_status', {
|
|
38
50
|
description: 'Show all cross-repo spec federation links for a project and their health. ' +
|
|
@@ -40,9 +52,20 @@ export function registerFederationTools(server) {
|
|
|
40
52
|
'and whether they have changed since the last check (drift detection). ' +
|
|
41
53
|
'Returns a report with per-link status (OK / MISSING / BROKEN) and drift flags.',
|
|
42
54
|
inputSchema: {
|
|
43
|
-
projectId: z.string().max(500).describe('Project ID
|
|
55
|
+
projectId: z.string().max(500).optional().describe('Project ID hash. Prefer projectPath.'),
|
|
56
|
+
projectPath: z
|
|
57
|
+
.string()
|
|
58
|
+
.max(4096)
|
|
59
|
+
.optional()
|
|
60
|
+
.describe('Absolute path to project root. Derives projectId automatically.'),
|
|
44
61
|
},
|
|
45
62
|
annotations: { readOnlyHint: true },
|
|
46
|
-
}, safeLicensed('federation_status', async (args) =>
|
|
63
|
+
}, safeLicensed('federation_status', async (args) => {
|
|
64
|
+
const pid = resolveProjectId(args);
|
|
65
|
+
if (!pid) {
|
|
66
|
+
return missingProjectIdError;
|
|
67
|
+
}
|
|
68
|
+
return handleFederationStatus({ ...args, projectId: pid });
|
|
69
|
+
}));
|
|
47
70
|
}
|
|
48
71
|
//# sourceMappingURL=register-federation-tools.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"register-federation-tools.js","sourceRoot":"","sources":["../../src/tools/register-federation-tools.ts"],"names":[],"mappings":"AAAA,uFAAuF;AAGvF,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,mBAAmB,EAAE,MAAM,qBAAqB,CAAC;AAC1D,OAAO,EAAE,sBAAsB,EAAE,MAAM,wBAAwB,CAAC;AAChE,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;
|
|
1
|
+
{"version":3,"file":"register-federation-tools.js","sourceRoot":"","sources":["../../src/tools/register-federation-tools.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"register-governance-tools.d.ts","sourceRoot":"","sources":["../../src/tools/register-governance-tools.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;
|
|
1
|
+
{"version":3,"file":"register-governance-tools.d.ts","sourceRoot":"","sources":["../../src/tools/register-governance-tools.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAQzE,wBAAgB,uBAAuB,CAAC,MAAM,EAAE,SAAS,GAAG,IAAI,CA8E/D"}
|
|
@@ -4,13 +4,19 @@ import { t } from '../i18n/index.js';
|
|
|
4
4
|
import { handleDataGovernance } from './data-governance.js';
|
|
5
5
|
import { handleLegalComplianceReport } from './legal-compliance-report.js';
|
|
6
6
|
import { safeLicensed } from './safe-handler.js';
|
|
7
|
+
import { resolveProjectId, missingProjectIdError } from './resolve-project-id.js';
|
|
7
8
|
export function registerGovernanceTools(server) {
|
|
8
9
|
// data_governance — SPEC-030
|
|
9
10
|
server.registerTool('data_governance', {
|
|
10
11
|
description: t('tools.data_governance.description'),
|
|
11
12
|
annotations: { readOnlyHint: true },
|
|
12
13
|
inputSchema: {
|
|
13
|
-
projectId: z.string().max(500).describe('Project ID'),
|
|
14
|
+
projectId: z.string().max(500).optional().describe('Project ID hash. Prefer projectPath.'),
|
|
15
|
+
projectPath: z
|
|
16
|
+
.string()
|
|
17
|
+
.max(4096)
|
|
18
|
+
.optional()
|
|
19
|
+
.describe('Absolute path to project root. Derives projectId automatically.'),
|
|
14
20
|
subcommand: z
|
|
15
21
|
.enum(['detect', 'retention-policy', 'privacy-notice', 'audit'])
|
|
16
22
|
.describe('detect: find PII in a spec; retention-policy: generate retention policy for a model; ' +
|
|
@@ -32,7 +38,13 @@ export function registerGovernanceTools(server) {
|
|
|
32
38
|
.optional()
|
|
33
39
|
.describe('Raw spec content to analyze when specId is not available'),
|
|
34
40
|
},
|
|
35
|
-
}, safeLicensed('data_governance', async (args) =>
|
|
41
|
+
}, safeLicensed('data_governance', async (args) => {
|
|
42
|
+
const pid = resolveProjectId(args);
|
|
43
|
+
if (!pid) {
|
|
44
|
+
return missingProjectIdError;
|
|
45
|
+
}
|
|
46
|
+
return handleDataGovernance({ ...args, projectId: pid });
|
|
47
|
+
}));
|
|
36
48
|
// legal_compliance_report — SPEC-131
|
|
37
49
|
server.registerTool('legal_compliance_report', {
|
|
38
50
|
description: 'Generate a legal compliance report for the project. ' +
|
|
@@ -41,8 +53,19 @@ export function registerGovernanceTools(server) {
|
|
|
41
53
|
'and regulations apply to your project based on industry, target countries, and data types.',
|
|
42
54
|
annotations: { readOnlyHint: true },
|
|
43
55
|
inputSchema: {
|
|
44
|
-
projectId: z.string().max(500).describe('Project ID'),
|
|
56
|
+
projectId: z.string().max(500).optional().describe('Project ID hash. Prefer projectPath.'),
|
|
57
|
+
projectPath: z
|
|
58
|
+
.string()
|
|
59
|
+
.max(4096)
|
|
60
|
+
.optional()
|
|
61
|
+
.describe('Absolute path to project root. Derives projectId automatically.'),
|
|
45
62
|
},
|
|
46
|
-
}, safeLicensed('legal_compliance_report', async (args) =>
|
|
63
|
+
}, safeLicensed('legal_compliance_report', async (args) => {
|
|
64
|
+
const pid = resolveProjectId(args);
|
|
65
|
+
if (!pid) {
|
|
66
|
+
return missingProjectIdError;
|
|
67
|
+
}
|
|
68
|
+
return handleLegalComplianceReport({ ...args, projectId: pid });
|
|
69
|
+
}));
|
|
47
70
|
}
|
|
48
71
|
//# sourceMappingURL=register-governance-tools.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"register-governance-tools.js","sourceRoot":"","sources":["../../src/tools/register-governance-tools.ts"],"names":[],"mappings":"AAAA,0FAA0F;AAG1F,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,CAAC,EAAE,MAAM,kBAAkB,CAAC;AACrC,OAAO,EAAE,oBAAoB,EAAE,MAAM,sBAAsB,CAAC;AAC5D,OAAO,EAAE,2BAA2B,EAAE,MAAM,8BAA8B,CAAC;AAC3E,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;
|
|
1
|
+
{"version":3,"file":"register-governance-tools.js","sourceRoot":"","sources":["../../src/tools/register-governance-tools.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"register-hooks-tools.d.ts","sourceRoot":"","sources":["../../src/tools/register-hooks-tools.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;
|
|
1
|
+
{"version":3,"file":"register-hooks-tools.d.ts","sourceRoot":"","sources":["../../src/tools/register-hooks-tools.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAczE,wBAAgB,kBAAkB,CAAC,MAAM,EAAE,SAAS,GAAG,IAAI,CA0S1D"}
|
|
@@ -2,6 +2,7 @@
|
|
|
2
2
|
import { z } from 'zod';
|
|
3
3
|
import { safeLicensed } from './safe-handler.js';
|
|
4
4
|
import { handleManageHooks } from './manage-hooks.js';
|
|
5
|
+
import { resolveProjectId, missingProjectIdError } from './resolve-project-id.js';
|
|
5
6
|
import { handleStartHooks, handleStopHooks, handleHookStatus, handleConfigureHooks, } from './start-hooks.js';
|
|
6
7
|
export function registerHooksTools(server) {
|
|
7
8
|
// ----- SPEC-130: Hook Engine Tools -----
|
|
@@ -116,7 +117,12 @@ export function registerHooksTools(server) {
|
|
|
116
117
|
'Hooks automate actions when Planu events fire (spec created, status change, drift detected, commit). ' +
|
|
117
118
|
'Use dry_run to preview which hooks would fire without side effects.',
|
|
118
119
|
inputSchema: {
|
|
119
|
-
projectId: z.string().max(500).describe('Project ID
|
|
120
|
+
projectId: z.string().max(500).optional().describe('Project ID hash. Prefer projectPath.'),
|
|
121
|
+
projectPath: z
|
|
122
|
+
.string()
|
|
123
|
+
.max(4096)
|
|
124
|
+
.optional()
|
|
125
|
+
.describe('Absolute path to project root. Derives projectId automatically.'),
|
|
120
126
|
operation: z
|
|
121
127
|
.enum([
|
|
122
128
|
'create',
|
|
@@ -237,6 +243,12 @@ export function registerHooksTools(server) {
|
|
|
237
243
|
title: 'Manage Agent Hooks',
|
|
238
244
|
readOnlyHint: false,
|
|
239
245
|
},
|
|
240
|
-
}, safeLicensed('manage_hooks', async (args) =>
|
|
246
|
+
}, safeLicensed('manage_hooks', async (args) => {
|
|
247
|
+
const pid = resolveProjectId(args);
|
|
248
|
+
if (!pid) {
|
|
249
|
+
return missingProjectIdError;
|
|
250
|
+
}
|
|
251
|
+
return handleManageHooks({ ...args, projectId: pid });
|
|
252
|
+
}));
|
|
241
253
|
}
|
|
242
254
|
//# sourceMappingURL=register-hooks-tools.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"register-hooks-tools.js","sourceRoot":"","sources":["../../src/tools/register-hooks-tools.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"register-hooks-tools.js","sourceRoot":"","sources":["../../src/tools/register-hooks-tools.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"register-infrastructure-tools.d.ts","sourceRoot":"","sources":["../../src/tools/register-infrastructure-tools.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;
|
|
1
|
+
{"version":3,"file":"register-infrastructure-tools.d.ts","sourceRoot":"","sources":["../../src/tools/register-infrastructure-tools.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAOzE,wBAAgB,2BAA2B,CAAC,MAAM,EAAE,SAAS,GAAG,IAAI,CAqDnE"}
|
|
@@ -2,6 +2,7 @@
|
|
|
2
2
|
import { z } from 'zod';
|
|
3
3
|
import { handleGenerateInfrastructure } from './generate-infrastructure.js';
|
|
4
4
|
import { safeTracked } from './safe-handler.js';
|
|
5
|
+
import { resolveProjectId, missingProjectIdError } from './resolve-project-id.js';
|
|
5
6
|
export function registerInfrastructureTools(server) {
|
|
6
7
|
server.registerTool('generate_infrastructure', {
|
|
7
8
|
description: 'Generate Infrastructure-as-Code (IaC) from a spec. ' +
|
|
@@ -10,7 +11,12 @@ export function registerInfrastructureTools(server) {
|
|
|
10
11
|
'Includes monthly cost estimates for detected services.',
|
|
11
12
|
annotations: { readOnlyHint: true },
|
|
12
13
|
inputSchema: {
|
|
13
|
-
projectId: z.string().max(500).describe('Project ID
|
|
14
|
+
projectId: z.string().max(500).optional().describe('Project ID hash. Prefer projectPath.'),
|
|
15
|
+
projectPath: z
|
|
16
|
+
.string()
|
|
17
|
+
.max(4096)
|
|
18
|
+
.optional()
|
|
19
|
+
.describe('Absolute path to project root. Derives projectId automatically.'),
|
|
14
20
|
specId: z
|
|
15
21
|
.string()
|
|
16
22
|
.max(500)
|
|
@@ -29,6 +35,15 @@ export function registerInfrastructureTools(server) {
|
|
|
29
35
|
.describe('Target environment: dev | staging | prod. ' +
|
|
30
36
|
'Affects instance sizing and cost estimates. Default: dev'),
|
|
31
37
|
},
|
|
32
|
-
}, safeTracked('generate_infrastructure', async (args) =>
|
|
38
|
+
}, safeTracked('generate_infrastructure', async (args) => {
|
|
39
|
+
const pid = resolveProjectId(args);
|
|
40
|
+
if (!pid) {
|
|
41
|
+
return missingProjectIdError;
|
|
42
|
+
}
|
|
43
|
+
return handleGenerateInfrastructure({
|
|
44
|
+
...args,
|
|
45
|
+
projectId: pid,
|
|
46
|
+
});
|
|
47
|
+
}));
|
|
33
48
|
}
|
|
34
49
|
//# sourceMappingURL=register-infrastructure-tools.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"register-infrastructure-tools.js","sourceRoot":"","sources":["../../src/tools/register-infrastructure-tools.ts"],"names":[],"mappings":"AAAA,4FAA4F;AAG5F,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,EAAE,4BAA4B,EAAE,MAAM,8BAA8B,CAAC;AAC5E,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;
|
|
1
|
+
{"version":3,"file":"register-infrastructure-tools.js","sourceRoot":"","sources":["../../src/tools/register-infrastructure-tools.ts"],"names":[],"mappings":"AAAA,4FAA4F;AAG5F,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,EAAE,4BAA4B,EAAE,MAAM,8BAA8B,CAAC;AAC5E,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAChD,OAAO,EAAE,gBAAgB,EAAE,qBAAqB,EAAE,MAAM,yBAAyB,CAAC;AAElF,MAAM,UAAU,2BAA2B,CAAC,MAAiB;IAC3D,MAAM,CAAC,YAAY,CACjB,yBAAyB,EACzB;QACE,WAAW,EACT,qDAAqD;YACrD,8FAA8F;YAC9F,oFAAoF;YACpF,wDAAwD;QAC1D,WAAW,EAAE,EAAE,YAAY,EAAE,IAAI,EAAE;QACnC,WAAW,EAAE;YACX,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,sCAAsC,CAAC;YAC1F,WAAW,EAAE,CAAC;iBACX,MAAM,EAAE;iBACR,GAAG,CAAC,IAAI,CAAC;iBACT,QAAQ,EAAE;iBACV,QAAQ,CAAC,iEAAiE,CAAC;YAC9E,MAAM,EAAE,CAAC;iBACN,MAAM,EAAE;iBACR,GAAG,CAAC,GAAG,CAAC;iBACR,QAAQ,CAAC,+DAA+D,CAAC;YAC5E,OAAO,EAAE,CAAC;iBACP,KAAK,CACJ,CAAC;iBACE,IAAI,CAAC,CAAC,WAAW,EAAE,gBAAgB,EAAE,YAAY,EAAE,SAAS,CAAC,CAAC;iBAC9D,QAAQ,CAAC,kEAAkE,CAAC,CAChF;iBACA,GAAG,CAAC,CAAC,CAAC;iBACN,QAAQ,EAAE;iBACV,QAAQ,CACP,8EAA8E;gBAC5E,sCAAsC,CACzC;YACH,WAAW,EAAE,CAAC;iBACX,IAAI,CAAC,CAAC,KAAK,EAAE,SAAS,EAAE,MAAM,CAAC,CAAC;iBAChC,QAAQ,EAAE;iBACV,QAAQ,CACP,4CAA4C;gBAC1C,0DAA0D,CAC7D;SACJ;KACF,EACD,WAAW,CAAC,yBAAyB,EAAE,KAAK,EAAE,IAAI,EAAE,EAAE;QACpD,MAAM,GAAG,GAAG,gBAAgB,CAAC,IAAoD,CAAC,CAAC;QACnF,IAAI,CAAC,GAAG,EAAE,CAAC;YACT,OAAO,qBAAqB,CAAC;QAC/B,CAAC;QACD,OAAO,4BAA4B,CAAC;YAClC,GAAG,IAAI;YACP,SAAS,EAAE,GAAG;SACgB,CAAC,CAAC;IACpC,CAAC,CAAC,CACH,CAAC;AACJ,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"register-lessons-tools.d.ts","sourceRoot":"","sources":["../../src/tools/register-lessons-tools.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAmBzE,wBAAgB,oBAAoB,CAAC,MAAM,EAAE,SAAS,GAAG,IAAI,
|
|
1
|
+
{"version":3,"file":"register-lessons-tools.d.ts","sourceRoot":"","sources":["../../src/tools/register-lessons-tools.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAmBzE,wBAAgB,oBAAoB,CAAC,MAAM,EAAE,SAAS,GAAG,IAAI,CAqE5D"}
|
|
@@ -18,8 +18,12 @@ export function registerLessonsTools(server) {
|
|
|
18
18
|
'Captures what went wrong (or right), the category, severity, and how to prevent it next time. ' +
|
|
19
19
|
'Use after bugs, rollbacks, or effort >50% over estimate.',
|
|
20
20
|
inputSchema: {
|
|
21
|
-
projectId: z.string().
|
|
22
|
-
projectPath: z
|
|
21
|
+
projectId: z.string().max(500).optional().describe('Project ID hash. Prefer projectPath.'),
|
|
22
|
+
projectPath: z
|
|
23
|
+
.string()
|
|
24
|
+
.max(4096)
|
|
25
|
+
.optional()
|
|
26
|
+
.describe('Absolute path to project root. Derives projectId automatically.'),
|
|
23
27
|
specId: z
|
|
24
28
|
.string()
|
|
25
29
|
.optional()
|
|
@@ -42,8 +46,12 @@ export function registerLessonsTools(server) {
|
|
|
42
46
|
'Optionally filter by category, severity, or spec ID. ' +
|
|
43
47
|
'Returns matching lessons plus frequency stats by category to surface recurring patterns.',
|
|
44
48
|
inputSchema: {
|
|
45
|
-
projectId: z.string().
|
|
46
|
-
projectPath: z
|
|
49
|
+
projectId: z.string().max(500).optional().describe('Project ID hash. Prefer projectPath.'),
|
|
50
|
+
projectPath: z
|
|
51
|
+
.string()
|
|
52
|
+
.max(4096)
|
|
53
|
+
.optional()
|
|
54
|
+
.describe('Absolute path to project root. Derives projectId automatically.'),
|
|
47
55
|
category: CATEGORY_ENUM.optional().describe('Filter by category: estimation | testing | architecture | security | performance | ux | process | other'),
|
|
48
56
|
severity: SEVERITY_ENUM.optional().describe('Filter by severity: low | medium | high'),
|
|
49
57
|
specId: z.string().optional().describe('Filter by spec ID (e.g. "SPEC-042").'),
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"register-lessons-tools.js","sourceRoot":"","sources":["../../src/tools/register-lessons-tools.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AACjD,OAAO,EAAE,eAAe,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AAG1E,MAAM,aAAa,GAAG,CAAC,CAAC,IAAI,CAAC;IAC3B,YAAY;IACZ,SAAS;IACT,cAAc;IACd,UAAU;IACV,aAAa;IACb,IAAI;IACJ,SAAS;IACT,OAAO;CACR,CAAC,CAAC;AAEH,MAAM,aAAa,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,QAAQ,EAAE,MAAM,CAAC,CAAC,CAAC;AAExD,MAAM,UAAU,oBAAoB,CAAC,MAAiB;IACpD,MAAM,CAAC,YAAY,CACjB,YAAY,EACZ;QACE,WAAW,EACT,0DAA0D;YAC1D,gGAAgG;YAChG,0DAA0D;QAC5D,WAAW,EAAE;YACX,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,
|
|
1
|
+
{"version":3,"file":"register-lessons-tools.js","sourceRoot":"","sources":["../../src/tools/register-lessons-tools.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AACjD,OAAO,EAAE,eAAe,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AAG1E,MAAM,aAAa,GAAG,CAAC,CAAC,IAAI,CAAC;IAC3B,YAAY;IACZ,SAAS;IACT,cAAc;IACd,UAAU;IACV,aAAa;IACb,IAAI;IACJ,SAAS;IACT,OAAO;CACR,CAAC,CAAC;AAEH,MAAM,aAAa,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,QAAQ,EAAE,MAAM,CAAC,CAAC,CAAC;AAExD,MAAM,UAAU,oBAAoB,CAAC,MAAiB;IACpD,MAAM,CAAC,YAAY,CACjB,YAAY,EACZ;QACE,WAAW,EACT,0DAA0D;YAC1D,gGAAgG;YAChG,0DAA0D;QAC5D,WAAW,EAAE;YACX,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,sCAAsC,CAAC;YAC1F,WAAW,EAAE,CAAC;iBACX,MAAM,EAAE;iBACR,GAAG,CAAC,IAAI,CAAC;iBACT,QAAQ,EAAE;iBACV,QAAQ,CAAC,iEAAiE,CAAC;YAC9E,MAAM,EAAE,CAAC;iBACN,MAAM,EAAE;iBACR,QAAQ,EAAE;iBACV,QAAQ,CAAC,4DAA4D,CAAC;YACzE,QAAQ,EAAE,aAAa,CAAC,QAAQ,CAC9B,+FAA+F,CAChG;YACD,QAAQ,EAAE,aAAa,CAAC,QAAQ,CAAC,+BAA+B,CAAC;YACjE,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,QAAQ,CAAC,4BAA4B,CAAC;YACxE,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,sCAAsC,CAAC;YACzF,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,mCAAmC,CAAC;YACrF,IAAI,EAAE,CAAC;iBACJ,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;iBACzB,GAAG,CAAC,EAAE,CAAC;iBACP,QAAQ,EAAE;iBACV,QAAQ,CAAC,sDAAsD,CAAC;SACpE;QACD,WAAW,EAAE,EAAE,YAAY,EAAE,KAAK,EAAE;KACrC,EACD,YAAY,CAAC,YAAY,EAAE,KAAK,EAAE,IAAI,EAAE,EAAE,CAAC,eAAe,CAAC,IAAsB,CAAC,CAAC,CACpF,CAAC;IAEF,MAAM,CAAC,YAAY,CACjB,cAAc,EACd;QACE,WAAW,EACT,sCAAsC;YACtC,uDAAuD;YACvD,0FAA0F;QAC5F,WAAW,EAAE;YACX,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,sCAAsC,CAAC;YAC1F,WAAW,EAAE,CAAC;iBACX,MAAM,EAAE;iBACR,GAAG,CAAC,IAAI,CAAC;iBACT,QAAQ,EAAE;iBACV,QAAQ,CAAC,iEAAiE,CAAC;YAC9E,QAAQ,EAAE,aAAa,CAAC,QAAQ,EAAE,CAAC,QAAQ,CACzC,yGAAyG,CAC1G;YACD,QAAQ,EAAE,aAAa,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,yCAAyC,CAAC;YACtF,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,sCAAsC,CAAC;YAC9E,KAAK,EAAE,CAAC;iBACL,MAAM,EAAE;iBACR,GAAG,EAAE;iBACL,GAAG,CAAC,CAAC,CAAC;iBACN,GAAG,CAAC,GAAG,CAAC;iBACR,QAAQ,EAAE;iBACV,OAAO,CAAC,EAAE,CAAC;iBACX,QAAQ,CAAC,8CAA8C,CAAC;SAC5D;QACD,WAAW,EAAE,EAAE,YAAY,EAAE,IAAI,EAAE;KACpC,EACD,YAAY,CAAC,cAAc,EAAE,KAAK,EAAE,IAAI,EAAE,EAAE,CAAC,iBAAiB,CAAC,IAAwB,CAAC,CAAC,CAC1F,CAAC;AACJ,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"register-living-spec-advanced-tools.d.ts","sourceRoot":"","sources":["../../src/tools/register-living-spec-advanced-tools.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;
|
|
1
|
+
{"version":3,"file":"register-living-spec-advanced-tools.d.ts","sourceRoot":"","sources":["../../src/tools/register-living-spec-advanced-tools.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAWzE;;GAEG;AACH,wBAAgB,+BAA+B,CAAC,MAAM,EAAE,SAAS,GAAG,IAAI,CAqOvE"}
|