@sirius-mcp/mcp 1.5.2 → 1.6.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/README.md +17 -4
- package/dist/adapters/fs/structure.d.ts.map +1 -1
- package/dist/adapters/fs/structure.js +16 -0
- package/dist/adapters/fs/structure.js.map +1 -1
- package/dist/adapters/mcp/crawl.js +1 -1
- package/dist/adapters/mcp/crawl.js.map +1 -1
- package/dist/adapters/mcp/get.js +1 -1
- package/dist/adapters/mcp/get.js.map +1 -1
- package/dist/adapters/mcp/index.d.ts +2 -0
- package/dist/adapters/mcp/index.d.ts.map +1 -1
- package/dist/adapters/mcp/index.js +5 -1
- package/dist/adapters/mcp/index.js.map +1 -1
- package/dist/adapters/mcp/init.js +1 -1
- package/dist/adapters/mcp/init.js.map +1 -1
- package/dist/adapters/mcp/list.js +1 -1
- package/dist/adapters/mcp/list.js.map +1 -1
- package/dist/adapters/mcp/query-counter.d.ts +17 -0
- package/dist/adapters/mcp/query-counter.d.ts.map +1 -0
- package/dist/adapters/mcp/query-counter.js +30 -0
- package/dist/adapters/mcp/query-counter.js.map +1 -0
- package/dist/adapters/mcp/reindex.js +1 -1
- package/dist/adapters/mcp/reindex.js.map +1 -1
- package/dist/adapters/mcp/resources.d.ts +4 -1
- package/dist/adapters/mcp/resources.d.ts.map +1 -1
- package/dist/adapters/mcp/resources.js +50 -1
- package/dist/adapters/mcp/resources.js.map +1 -1
- package/dist/adapters/mcp/search.js +1 -1
- package/dist/adapters/mcp/search.js.map +1 -1
- package/dist/adapters/mcp/upsert.js +1 -1
- package/dist/adapters/mcp/upsert.js.map +1 -1
- package/dist/adapters/update/check.d.ts +27 -0
- package/dist/adapters/update/check.d.ts.map +1 -1
- package/dist/adapters/update/check.js +40 -2
- package/dist/adapters/update/check.js.map +1 -1
- package/dist/app/list.d.ts +2 -2
- package/dist/app/precedence-contract.d.ts +14 -0
- package/dist/app/precedence-contract.d.ts.map +1 -0
- package/dist/app/precedence-contract.js +51 -0
- package/dist/app/precedence-contract.js.map +1 -0
- package/dist/app/upsert.d.ts +2 -2
- package/dist/errors.d.ts +30 -6
- package/dist/errors.d.ts.map +1 -1
- package/dist/errors.js +88 -16
- package/dist/errors.js.map +1 -1
- package/dist/installer/cli-parser.d.ts.map +1 -1
- package/dist/installer/cli-parser.js +13 -3
- package/dist/installer/cli-parser.js.map +1 -1
- package/dist/installer/cli.d.ts.map +1 -1
- package/dist/installer/cli.js +61 -37
- package/dist/installer/cli.js.map +1 -1
- package/dist/installer/contract-seed.d.ts +6 -0
- package/dist/installer/contract-seed.d.ts.map +1 -0
- package/dist/installer/contract-seed.js +140 -0
- package/dist/installer/contract-seed.js.map +1 -0
- package/dist/installer/dispatch.d.ts.map +1 -1
- package/dist/installer/dispatch.js +3 -1
- package/dist/installer/dispatch.js.map +1 -1
- package/dist/installer/index.d.ts +4 -0
- package/dist/installer/index.d.ts.map +1 -1
- package/dist/installer/index.js +33 -5
- package/dist/installer/index.js.map +1 -1
- package/dist/installer/instruction-targets.d.ts +33 -0
- package/dist/installer/instruction-targets.d.ts.map +1 -0
- package/dist/installer/instruction-targets.js +199 -0
- package/dist/installer/instruction-targets.js.map +1 -0
- package/dist/installer/precedence.d.ts +59 -0
- package/dist/installer/precedence.d.ts.map +1 -0
- package/dist/installer/precedence.js +218 -0
- package/dist/installer/precedence.js.map +1 -0
- package/dist/installer/snippet-context.d.ts +49 -0
- package/dist/installer/snippet-context.d.ts.map +1 -0
- package/dist/installer/snippet-context.js +93 -0
- package/dist/installer/snippet-context.js.map +1 -0
- package/dist/installer/snippet-engine.d.ts +21 -0
- package/dist/installer/snippet-engine.d.ts.map +1 -0
- package/dist/installer/snippet-engine.js +122 -0
- package/dist/installer/snippet-engine.js.map +1 -0
- package/dist/installer/snippet-exec.d.ts +4 -0
- package/dist/installer/snippet-exec.d.ts.map +1 -0
- package/dist/installer/snippet-exec.js +105 -0
- package/dist/installer/snippet-exec.js.map +1 -0
- package/dist/installer/snippet-offer.d.ts +21 -0
- package/dist/installer/snippet-offer.d.ts.map +1 -0
- package/dist/installer/snippet-offer.js +108 -0
- package/dist/installer/snippet-offer.js.map +1 -0
- package/dist/installer/snippet-report.d.ts +14 -0
- package/dist/installer/snippet-report.d.ts.map +1 -0
- package/dist/installer/snippet-report.js +217 -0
- package/dist/installer/snippet-report.js.map +1 -0
- package/dist/installer/snippet.d.ts +4 -0
- package/dist/installer/snippet.d.ts.map +1 -0
- package/dist/installer/snippet.js +158 -0
- package/dist/installer/snippet.js.map +1 -0
- package/dist/installer/tui-render.d.ts +3 -0
- package/dist/installer/tui-render.d.ts.map +1 -0
- package/dist/installer/tui-render.js +31 -0
- package/dist/installer/tui-render.js.map +1 -0
- package/dist/installer/tui.d.ts +5 -3
- package/dist/installer/tui.d.ts.map +1 -1
- package/dist/installer/tui.js +7 -24
- package/dist/installer/tui.js.map +1 -1
- package/dist/installer/types.d.ts +40 -2
- package/dist/installer/types.d.ts.map +1 -1
- package/dist/installer/types.js.map +1 -1
- package/dist/installer/version.d.ts +2 -0
- package/dist/installer/version.d.ts.map +1 -0
- package/dist/installer/version.js +18 -0
- package/dist/installer/version.js.map +1 -0
- package/dist/schemas/document.d.ts +2 -2
- package/dist/server.d.ts.map +1 -1
- package/dist/server.js +4 -0
- package/dist/server.js.map +1 -1
- package/package.json +1 -1
|
@@ -13,6 +13,33 @@ export declare const releaseResponseSchema: z.ZodObject<{
|
|
|
13
13
|
downloadUrl: string;
|
|
14
14
|
checksum: string;
|
|
15
15
|
}>;
|
|
16
|
+
export declare const npmRegistryResponseSchema: z.ZodObject<{
|
|
17
|
+
version: z.ZodString;
|
|
18
|
+
dist: z.ZodObject<{
|
|
19
|
+
tarball: z.ZodOptional<z.ZodString>;
|
|
20
|
+
shasum: z.ZodOptional<z.ZodString>;
|
|
21
|
+
}, "strip", z.ZodTypeAny, {
|
|
22
|
+
tarball?: string | undefined;
|
|
23
|
+
shasum?: string | undefined;
|
|
24
|
+
}, {
|
|
25
|
+
tarball?: string | undefined;
|
|
26
|
+
shasum?: string | undefined;
|
|
27
|
+
}>;
|
|
28
|
+
}, "strip", z.ZodTypeAny, {
|
|
29
|
+
version: string;
|
|
30
|
+
dist: {
|
|
31
|
+
tarball?: string | undefined;
|
|
32
|
+
shasum?: string | undefined;
|
|
33
|
+
};
|
|
34
|
+
}, {
|
|
35
|
+
version: string;
|
|
36
|
+
dist: {
|
|
37
|
+
tarball?: string | undefined;
|
|
38
|
+
shasum?: string | undefined;
|
|
39
|
+
};
|
|
40
|
+
}>;
|
|
41
|
+
export declare const NPM_REGISTRY_FALLBACK = "https://registry.npmjs.org/@sirius-mcp/mcp/latest";
|
|
42
|
+
export declare function parseReleaseMetadata(raw: unknown): ReleaseMetadata;
|
|
16
43
|
export interface ReleaseMetadata {
|
|
17
44
|
readonly latestVersion: string;
|
|
18
45
|
readonly downloadUrl: string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"check.d.ts","sourceRoot":"","sources":["../../../src/adapters/update/check.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,GAAG,EAAE,MAAM,UAAU,CAAC;AAC/B,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,eAAO,MAAM,qBAAqB;;;;;;;;;;;;EAIhC,CAAC;AAEH,MAAM,WAAW,eAAe;IAC9B,QAAQ,CAAC,aAAa,EAAE,MAAM,CAAC;IAC/B,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;CAC3B;AAED,MAAM,WAAW,oBAAoB;IACnC,QAAQ,CAAC,cAAc,EAAE,MAAM,CAAC;IAChC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,UAAU,CAAC,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,eAAe,EAAE,MAAM,CAAC;CAClC;AAED,MAAM,MAAM,WAAW,GACnB;IAAE,QAAQ,CAAC,MAAM,EAAE,YAAY,CAAA;CAAE,GACjC;IACE,QAAQ,CAAC,MAAM,EAAE,kBAAkB,CAAC;IACpC,QAAQ,CAAC,aAAa,EAAE,MAAM,CAAC;IAC/B,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;CAC3B,GACD;IAAE,QAAQ,CAAC,MAAM,EAAE,OAAO,CAAC;IAAC,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAA;CAAE,CAAC;AAE3D,wBAAgB,eAAe,CAC7B,QAAQ,EAAE,MAAM,EAChB,cAAc,EAAE,MAAM,EACtB,IAAI,EAAE,MAAM,EACZ,UAAU,CAAC,EAAE,MAAM,GAClB,GAAG,CASL;AAwDD,wBAAsB,oBAAoB,CACxC,KAAK,EAAE,oBAAoB,GAC1B,OAAO,CAAC,eAAe,CAAC,
|
|
1
|
+
{"version":3,"file":"check.d.ts","sourceRoot":"","sources":["../../../src/adapters/update/check.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,GAAG,EAAE,MAAM,UAAU,CAAC;AAC/B,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,eAAO,MAAM,qBAAqB;;;;;;;;;;;;EAIhC,CAAC;AAEH,eAAO,MAAM,yBAAyB;;;;;;;;;;;;;;;;;;;;;;;;EAMpC,CAAC;AAEH,eAAO,MAAM,qBAAqB,sDACmB,CAAC;AAEtD,wBAAgB,oBAAoB,CAAC,GAAG,EAAE,OAAO,GAAG,eAAe,CAclE;AAED,MAAM,WAAW,eAAe;IAC9B,QAAQ,CAAC,aAAa,EAAE,MAAM,CAAC;IAC/B,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;CAC3B;AAED,MAAM,WAAW,oBAAoB;IACnC,QAAQ,CAAC,cAAc,EAAE,MAAM,CAAC;IAChC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,UAAU,CAAC,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,eAAe,EAAE,MAAM,CAAC;CAClC;AAED,MAAM,MAAM,WAAW,GACnB;IAAE,QAAQ,CAAC,MAAM,EAAE,YAAY,CAAA;CAAE,GACjC;IACE,QAAQ,CAAC,MAAM,EAAE,kBAAkB,CAAC;IACpC,QAAQ,CAAC,aAAa,EAAE,MAAM,CAAC;IAC/B,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;CAC3B,GACD;IAAE,QAAQ,CAAC,MAAM,EAAE,OAAO,CAAC;IAAC,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAA;CAAE,CAAC;AAE3D,wBAAgB,eAAe,CAC7B,QAAQ,EAAE,MAAM,EAChB,cAAc,EAAE,MAAM,EACtB,IAAI,EAAE,MAAM,EACZ,UAAU,CAAC,EAAE,MAAM,GAClB,GAAG,CASL;AAwDD,wBAAsB,oBAAoB,CACxC,KAAK,EAAE,oBAAoB,GAC1B,OAAO,CAAC,eAAe,CAAC,CA0B1B;AAED,wBAAgB,OAAO,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CAmBhE;AAED,wBAAsB,eAAe,CACnC,KAAK,EAAE,oBAAoB,GAC1B,OAAO,CAAC,WAAW,CAAC,CAatB"}
|
|
@@ -7,6 +7,29 @@ export const releaseResponseSchema = z.object({
|
|
|
7
7
|
downloadUrl: z.string(),
|
|
8
8
|
checksum: z.string(),
|
|
9
9
|
});
|
|
10
|
+
export const npmRegistryResponseSchema = z.object({
|
|
11
|
+
version: z.string(),
|
|
12
|
+
dist: z.object({
|
|
13
|
+
tarball: z.string().optional(),
|
|
14
|
+
shasum: z.string().optional(),
|
|
15
|
+
}),
|
|
16
|
+
});
|
|
17
|
+
export const NPM_REGISTRY_FALLBACK = "https://registry.npmjs.org/@sirius-mcp/mcp/latest";
|
|
18
|
+
export function parseReleaseMetadata(raw) {
|
|
19
|
+
const customParse = releaseResponseSchema.safeParse(raw);
|
|
20
|
+
if (customParse.success) {
|
|
21
|
+
return customParse.data;
|
|
22
|
+
}
|
|
23
|
+
const npmParse = npmRegistryResponseSchema.safeParse(raw);
|
|
24
|
+
if (npmParse.success) {
|
|
25
|
+
return {
|
|
26
|
+
latestVersion: npmParse.data.version,
|
|
27
|
+
downloadUrl: npmParse.data.dist.tarball ?? "",
|
|
28
|
+
checksum: npmParse.data.dist.shasum ?? "",
|
|
29
|
+
};
|
|
30
|
+
}
|
|
31
|
+
return releaseResponseSchema.parse(raw);
|
|
32
|
+
}
|
|
10
33
|
export function buildReleaseUrl(endpoint, currentVersion, arch, licenseKey) {
|
|
11
34
|
const url = new URL(endpoint);
|
|
12
35
|
url.search = "";
|
|
@@ -71,8 +94,23 @@ function requestJson(url) {
|
|
|
71
94
|
}
|
|
72
95
|
export async function fetchReleaseMetadata(input) {
|
|
73
96
|
const url = buildReleaseUrl(input.releaseEndpoint, input.currentVersion, input.arch, input.licenseKey);
|
|
74
|
-
|
|
75
|
-
|
|
97
|
+
try {
|
|
98
|
+
const raw = await requestJson(url);
|
|
99
|
+
return parseReleaseMetadata(raw);
|
|
100
|
+
}
|
|
101
|
+
catch (primaryErr) {
|
|
102
|
+
if (input.releaseEndpoint.includes("api.siriusmcp.dev")) {
|
|
103
|
+
try {
|
|
104
|
+
const npmUrl = buildReleaseUrl(NPM_REGISTRY_FALLBACK, input.currentVersion, input.arch);
|
|
105
|
+
const npmRaw = await requestJson(npmUrl);
|
|
106
|
+
return parseReleaseMetadata(npmRaw);
|
|
107
|
+
}
|
|
108
|
+
catch {
|
|
109
|
+
// preserve original error
|
|
110
|
+
}
|
|
111
|
+
}
|
|
112
|
+
throw primaryErr;
|
|
113
|
+
}
|
|
76
114
|
}
|
|
77
115
|
export function isNewer(latest, current) {
|
|
78
116
|
const parse = (value) => value
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"check.js","sourceRoot":"","sources":["../../../src/adapters/update/check.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,IAAI,WAAW,EAAE,MAAM,WAAW,CAAC;AACnD,OAAO,EAAE,OAAO,IAAI,YAAY,EAAE,MAAM,YAAY,CAAC;AACrD,OAAO,EAAE,GAAG,EAAE,MAAM,UAAU,CAAC;AAC/B,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,MAAM,CAAC,MAAM,qBAAqB,GAAG,CAAC,CAAC,MAAM,CAAC;IAC5C,aAAa,EAAE,CAAC,CAAC,MAAM,EAAE;IACzB,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE;IACvB,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE;CACrB,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"check.js","sourceRoot":"","sources":["../../../src/adapters/update/check.ts"],"names":[],"mappings":"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"}
|
package/dist/app/list.d.ts
CHANGED
|
@@ -17,12 +17,12 @@ export declare const ContextListInput: z.ZodObject<{
|
|
|
17
17
|
status: z.ZodOptional<z.ZodEnum<["draft", "active", "deprecated", "superseded"]>>;
|
|
18
18
|
path_prefix: z.ZodOptional<z.ZodString>;
|
|
19
19
|
}, "strip", z.ZodTypeAny, {
|
|
20
|
-
type?: "feature" | "business-rule" | "decision" | "component" | "architecture" | undefined;
|
|
21
20
|
status?: "draft" | "active" | "deprecated" | "superseded" | undefined;
|
|
21
|
+
type?: "feature" | "business-rule" | "decision" | "component" | "architecture" | undefined;
|
|
22
22
|
path_prefix?: string | undefined;
|
|
23
23
|
}, {
|
|
24
|
-
type?: "feature" | "business-rule" | "decision" | "component" | "architecture" | undefined;
|
|
25
24
|
status?: "draft" | "active" | "deprecated" | "superseded" | undefined;
|
|
25
|
+
type?: "feature" | "business-rule" | "decision" | "component" | "architecture" | undefined;
|
|
26
26
|
path_prefix?: string | undefined;
|
|
27
27
|
}>;
|
|
28
28
|
export type ContextListInput = z.infer<typeof ContextListInput>;
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { type SnippetLanguage } from "../installer/precedence.js";
|
|
2
|
+
export interface PrecedenceContractPayload {
|
|
3
|
+
readonly version: number;
|
|
4
|
+
readonly language: SnippetLanguage;
|
|
5
|
+
readonly contractPath: string;
|
|
6
|
+
readonly contract: string;
|
|
7
|
+
readonly snippet: string;
|
|
8
|
+
}
|
|
9
|
+
/**
|
|
10
|
+
* CAP-13 / A-3: builds the `context://system/precedence-contract` payload.
|
|
11
|
+
* Throws canonical McpRefusal errors; read-only, zero egress.
|
|
12
|
+
*/
|
|
13
|
+
export declare function buildPrecedenceContractPayload(root: string): Promise<PrecedenceContractPayload>;
|
|
14
|
+
//# sourceMappingURL=precedence-contract.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"precedence-contract.d.ts","sourceRoot":"","sources":["../../src/app/precedence-contract.ts"],"names":[],"mappings":"AAIA,OAAO,EACL,KAAK,eAAe,EAQrB,MAAM,4BAA4B,CAAC;AAGpC,MAAM,WAAW,yBAAyB;IACxC,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,QAAQ,EAAE,eAAe,CAAC;IACnC,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC;IAC9B,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;CAC1B;AAoBD;;;GAGG;AACH,wBAAsB,8BAA8B,CAClD,IAAI,EAAE,MAAM,GACX,OAAO,CAAC,yBAAyB,CAAC,CAkCpC"}
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
import { readDocumentByPath, documentPath } from "../adapters/fs/structure.js";
|
|
2
|
+
import { loadProjectConfig, configLoadError } from "./loadProjectConfig.js";
|
|
3
|
+
import { parseDocumentMarkdown } from "../schemas/document.js";
|
|
4
|
+
import { mcpRefusal } from "../errors.js";
|
|
5
|
+
import { CONTRACT_ID, CONTRACT_MAX_BODY_BYTES, CONTRACT_RELATIVE_PATH, CONTRACT_TYPE, chooseSnippetTemplate, extractCanonicalTemplates, renderSnippetBlock, } from "../installer/precedence.js";
|
|
6
|
+
import { precedenceRefusal } from "../installer/snippet-report.js";
|
|
7
|
+
function contractMissing() {
|
|
8
|
+
return mcpRefusal("PRECEDENCE_CONTRACT_MISSING", "The precedence contract was not found in the context store.", "The resource serves the whole rule; it is never truncated or partial.", "Run project_init or the snippet generator to seed the contract, then retry.");
|
|
9
|
+
}
|
|
10
|
+
function contractTooLarge(actualBytes) {
|
|
11
|
+
return mcpRefusal("CONTRACT_TOO_LARGE", `Precedence contract body exceeds ${CONTRACT_MAX_BODY_BYTES} bytes (${actualBytes}).`, "The precedence rule is never served truncated.", "Shorten the contract body to 6 KB or less, then retry.");
|
|
12
|
+
}
|
|
13
|
+
/**
|
|
14
|
+
* CAP-13 / A-3: builds the `context://system/precedence-contract` payload.
|
|
15
|
+
* Throws canonical McpRefusal errors; read-only, zero egress.
|
|
16
|
+
*/
|
|
17
|
+
export async function buildPrecedenceContractPayload(root) {
|
|
18
|
+
const config = await loadProjectConfig(root);
|
|
19
|
+
if (config.kind !== "ok") {
|
|
20
|
+
throw configLoadError(config);
|
|
21
|
+
}
|
|
22
|
+
const raw = await readDocumentByPath(documentPath(root, CONTRACT_TYPE, CONTRACT_ID));
|
|
23
|
+
if (raw === null) {
|
|
24
|
+
throw contractMissing();
|
|
25
|
+
}
|
|
26
|
+
const parsed = parseDocumentMarkdown(raw);
|
|
27
|
+
const body = parsed.success ? parsed.data.body : raw;
|
|
28
|
+
const actualBytes = Buffer.byteLength(body, "utf8");
|
|
29
|
+
if (actualBytes > CONTRACT_MAX_BODY_BYTES) {
|
|
30
|
+
throw contractTooLarge(actualBytes);
|
|
31
|
+
}
|
|
32
|
+
let templates;
|
|
33
|
+
try {
|
|
34
|
+
templates = extractCanonicalTemplates(body);
|
|
35
|
+
}
|
|
36
|
+
catch (err) {
|
|
37
|
+
// Wire errors must be canonical McpError refusals — never raw codes.
|
|
38
|
+
throw precedenceRefusal(err);
|
|
39
|
+
}
|
|
40
|
+
const version = templates[0].version;
|
|
41
|
+
const language = config.config.language === "pt" ? "pt" : "en";
|
|
42
|
+
const chosen = chooseSnippetTemplate(templates, language);
|
|
43
|
+
return {
|
|
44
|
+
version,
|
|
45
|
+
language,
|
|
46
|
+
contractPath: CONTRACT_RELATIVE_PATH,
|
|
47
|
+
contract: body,
|
|
48
|
+
snippet: renderSnippetBlock(chosen.template, version, CONTRACT_RELATIVE_PATH),
|
|
49
|
+
};
|
|
50
|
+
}
|
|
51
|
+
//# sourceMappingURL=precedence-contract.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"precedence-contract.js","sourceRoot":"","sources":["../../src/app/precedence-contract.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,YAAY,EAAE,MAAM,6BAA6B,CAAC;AAC/E,OAAO,EAAE,iBAAiB,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AAC5E,OAAO,EAAE,qBAAqB,EAAE,MAAM,wBAAwB,CAAC;AAC/D,OAAO,EAAE,UAAU,EAAiB,MAAM,cAAc,CAAC;AACzD,OAAO,EAEL,WAAW,EACX,uBAAuB,EACvB,sBAAsB,EACtB,aAAa,EACb,qBAAqB,EACrB,yBAAyB,EACzB,kBAAkB,GACnB,MAAM,4BAA4B,CAAC;AACpC,OAAO,EAAE,iBAAiB,EAAE,MAAM,gCAAgC,CAAC;AAUnE,SAAS,eAAe;IACtB,OAAO,UAAU,CACf,6BAA6B,EAC7B,6DAA6D,EAC7D,uEAAuE,EACvE,6EAA6E,CAC9E,CAAC;AACJ,CAAC;AAED,SAAS,gBAAgB,CAAC,WAAmB;IAC3C,OAAO,UAAU,CACf,oBAAoB,EACpB,oCAAoC,uBAAuB,WAAW,WAAW,IAAI,EACrF,gDAAgD,EAChD,wDAAwD,CACzD,CAAC;AACJ,CAAC;AAED;;;GAGG;AACH,MAAM,CAAC,KAAK,UAAU,8BAA8B,CAClD,IAAY;IAEZ,MAAM,MAAM,GAAG,MAAM,iBAAiB,CAAC,IAAI,CAAC,CAAC;IAC7C,IAAI,MAAM,CAAC,IAAI,KAAK,IAAI,EAAE,CAAC;QACzB,MAAM,eAAe,CAAC,MAAM,CAAC,CAAC;IAChC,CAAC;IACD,MAAM,GAAG,GAAG,MAAM,kBAAkB,CAClC,YAAY,CAAC,IAAI,EAAE,aAAa,EAAE,WAAW,CAAC,CAC/C,CAAC;IACF,IAAI,GAAG,KAAK,IAAI,EAAE,CAAC;QACjB,MAAM,eAAe,EAAE,CAAC;IAC1B,CAAC;IACD,MAAM,MAAM,GAAG,qBAAqB,CAAC,GAAG,CAAC,CAAC;IAC1C,MAAM,IAAI,GAAG,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC;IACrD,MAAM,WAAW,GAAG,MAAM,CAAC,UAAU,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;IACpD,IAAI,WAAW,GAAG,uBAAuB,EAAE,CAAC;QAC1C,MAAM,gBAAgB,CAAC,WAAW,CAAC,CAAC;IACtC,CAAC;IACD,IAAI,SAAS,CAAC;IACd,IAAI,CAAC;QACH,SAAS,GAAG,yBAAyB,CAAC,IAAI,CAAC,CAAC;IAC9C,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,qEAAqE;QACrE,MAAM,iBAAiB,CAAC,GAAG,CAAC,CAAC;IAC/B,CAAC;IACD,MAAM,OAAO,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC;IACrC,MAAM,QAAQ,GAAoB,MAAM,CAAC,MAAM,CAAC,QAAQ,KAAK,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC;IAChF,MAAM,MAAM,GAAG,qBAAqB,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAC;IAC1D,OAAO;QACL,OAAO;QACP,QAAQ;QACR,YAAY,EAAE,sBAAsB;QACpC,QAAQ,EAAE,IAAI;QACd,OAAO,EAAE,kBAAkB,CAAC,MAAM,CAAC,QAAQ,EAAE,OAAO,EAAE,sBAAsB,CAAC;KAC9E,CAAC;AACJ,CAAC"}
|
package/dist/app/upsert.d.ts
CHANGED
|
@@ -31,9 +31,9 @@ export declare const UpsertDocumentInput: z.ZodObject<{
|
|
|
31
31
|
} & {
|
|
32
32
|
body: z.ZodString;
|
|
33
33
|
}, "strip", z.ZodTypeAny, {
|
|
34
|
+
status: "draft" | "active" | "deprecated" | "superseded";
|
|
34
35
|
id: string;
|
|
35
36
|
type: "feature" | "business-rule" | "decision" | "component" | "architecture";
|
|
36
|
-
status: "draft" | "active" | "deprecated" | "superseded";
|
|
37
37
|
title: string;
|
|
38
38
|
updated: string;
|
|
39
39
|
body: string;
|
|
@@ -45,9 +45,9 @@ export declare const UpsertDocumentInput: z.ZodObject<{
|
|
|
45
45
|
tags?: string[] | undefined;
|
|
46
46
|
summary?: string | undefined;
|
|
47
47
|
}, {
|
|
48
|
+
status: "draft" | "active" | "deprecated" | "superseded";
|
|
48
49
|
id: string;
|
|
49
50
|
type: "feature" | "business-rule" | "decision" | "component" | "architecture";
|
|
50
|
-
status: "draft" | "active" | "deprecated" | "superseded";
|
|
51
51
|
title: string;
|
|
52
52
|
updated: string;
|
|
53
53
|
body: string;
|
package/dist/errors.d.ts
CHANGED
|
@@ -1,13 +1,36 @@
|
|
|
1
|
-
export
|
|
2
|
-
code: string;
|
|
3
|
-
message: string;
|
|
4
|
-
details?: Record<string, unknown>;
|
|
5
|
-
}
|
|
1
|
+
export type CanonicalErrorCode = "MISSING_REQUIRED_FIELD" | "INVALID_FRONTMATTER" | "INVALID_PATH" | "DOCUMENT_NOT_FOUND" | "QUERY_EMPTY" | "LIMIT_OUT_OF_BOUNDS" | "VALIDATION_ERROR" | "LICENSE_WRITE_BLOCKED" | "LICENSE_BLOCKED" | "ALREADY_INITIALIZED" | "INTERNAL_ERROR" | string;
|
|
6
2
|
export interface McpErrorDetails {
|
|
7
3
|
field?: string;
|
|
8
4
|
path?: string;
|
|
5
|
+
tool?: string;
|
|
6
|
+
expected?: string;
|
|
7
|
+
received?: unknown;
|
|
9
8
|
[key: string]: unknown;
|
|
10
9
|
}
|
|
10
|
+
export interface McpError {
|
|
11
|
+
status?: "refused";
|
|
12
|
+
code: string;
|
|
13
|
+
message: string;
|
|
14
|
+
reason?: string;
|
|
15
|
+
next_action?: string;
|
|
16
|
+
details?: McpErrorDetails;
|
|
17
|
+
}
|
|
18
|
+
export interface McpRefusal extends McpError {
|
|
19
|
+
status: "refused";
|
|
20
|
+
code: string;
|
|
21
|
+
message: string;
|
|
22
|
+
reason: string;
|
|
23
|
+
next_action: string;
|
|
24
|
+
details?: McpErrorDetails;
|
|
25
|
+
}
|
|
26
|
+
export interface McpOk<T = unknown> {
|
|
27
|
+
status: "ok";
|
|
28
|
+
data: T;
|
|
29
|
+
}
|
|
30
|
+
export type McpOutcome<T = unknown> = McpOk<T> | McpRefusal;
|
|
31
|
+
export declare function isMcpRefusal(error: unknown): error is McpRefusal;
|
|
32
|
+
export declare function mcpRefusal(code: string, message: string, reason: string, nextAction: string, details?: McpErrorDetails): McpRefusal;
|
|
33
|
+
export declare function mcpError(code: string, message: string, details?: McpErrorDetails): McpError;
|
|
11
34
|
export declare function toMcpError(error: unknown, fallbackCode?: string): McpError;
|
|
12
35
|
export declare function toMcpToolResult(error: McpError): {
|
|
13
36
|
content: [{
|
|
@@ -16,5 +39,6 @@ export declare function toMcpToolResult(error: McpError): {
|
|
|
16
39
|
}];
|
|
17
40
|
isError: true;
|
|
18
41
|
};
|
|
19
|
-
export declare function
|
|
42
|
+
export declare function deriveReason(code: string, message: string): string;
|
|
43
|
+
export declare function deriveNextAction(code: string, _message: string, details?: McpErrorDetails): string;
|
|
20
44
|
//# sourceMappingURL=errors.d.ts.map
|
package/dist/errors.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../src/errors.ts"],"names":[],"mappings":"AAEA,MAAM,WAAW,QAAQ;IACvB,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;IAChB,
|
|
1
|
+
{"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../src/errors.ts"],"names":[],"mappings":"AAEA,MAAM,MAAM,kBAAkB,GAC1B,wBAAwB,GACxB,qBAAqB,GACrB,cAAc,GACd,oBAAoB,GACpB,aAAa,GACb,qBAAqB,GACrB,kBAAkB,GAClB,uBAAuB,GACvB,iBAAiB,GACjB,qBAAqB,GACrB,gBAAgB,GAChB,MAAM,CAAC;AAEX,MAAM,WAAW,eAAe;IAC9B,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;CACxB;AAED,MAAM,WAAW,QAAQ;IACvB,MAAM,CAAC,EAAE,SAAS,CAAC;IACnB,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,OAAO,CAAC,EAAE,eAAe,CAAC;CAC3B;AAED,MAAM,WAAW,UAAW,SAAQ,QAAQ;IAC1C,MAAM,EAAE,SAAS,CAAC;IAClB,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,MAAM,CAAC;IACf,WAAW,EAAE,MAAM,CAAC;IACpB,OAAO,CAAC,EAAE,eAAe,CAAC;CAC3B;AAED,MAAM,WAAW,KAAK,CAAC,CAAC,GAAG,OAAO;IAChC,MAAM,EAAE,IAAI,CAAC;IACb,IAAI,EAAE,CAAC,CAAC;CACT;AAED,MAAM,MAAM,UAAU,CAAC,CAAC,GAAG,OAAO,IAAI,KAAK,CAAC,CAAC,CAAC,GAAG,UAAU,CAAC;AAE5D,wBAAgB,YAAY,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,UAAU,CAUhE;AAED,wBAAgB,UAAU,CACxB,IAAI,EAAE,MAAM,EACZ,OAAO,EAAE,MAAM,EACf,MAAM,EAAE,MAAM,EACd,UAAU,EAAE,MAAM,EAClB,OAAO,CAAC,EAAE,eAAe,GACxB,UAAU,CASZ;AAED,wBAAgB,QAAQ,CACtB,IAAI,EAAE,MAAM,EACZ,OAAO,EAAE,MAAM,EACf,OAAO,CAAC,EAAE,eAAe,GACxB,QAAQ,CAWV;AAED,wBAAgB,UAAU,CACxB,KAAK,EAAE,OAAO,EACd,YAAY,SAAmB,GAC9B,QAAQ,CAoBV;AAgCD,wBAAgB,eAAe,CAAC,KAAK,EAAE,QAAQ,GAAG;IAChD,OAAO,EAAE,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IAC1C,OAAO,EAAE,IAAI,CAAC;CACf,CAqBA;AAqCD,wBAAgB,YAAY,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,MAAM,CAElE;AAED,wBAAgB,gBAAgB,CAC9B,IAAI,EAAE,MAAM,EACZ,QAAQ,EAAE,MAAM,EAChB,OAAO,CAAC,EAAE,eAAe,GACxB,MAAM,CAcR"}
|
package/dist/errors.js
CHANGED
|
@@ -1,4 +1,35 @@
|
|
|
1
1
|
import { ZodError } from "zod";
|
|
2
|
+
export function isMcpRefusal(error) {
|
|
3
|
+
return (typeof error === "object" &&
|
|
4
|
+
error !== null &&
|
|
5
|
+
error.status === "refused" &&
|
|
6
|
+
typeof error.code === "string" &&
|
|
7
|
+
typeof error.message === "string" &&
|
|
8
|
+
typeof error.reason === "string" &&
|
|
9
|
+
typeof error.next_action === "string");
|
|
10
|
+
}
|
|
11
|
+
export function mcpRefusal(code, message, reason, nextAction, details) {
|
|
12
|
+
return {
|
|
13
|
+
status: "refused",
|
|
14
|
+
code,
|
|
15
|
+
message,
|
|
16
|
+
reason,
|
|
17
|
+
next_action: nextAction,
|
|
18
|
+
details,
|
|
19
|
+
};
|
|
20
|
+
}
|
|
21
|
+
export function mcpError(code, message, details) {
|
|
22
|
+
const reason = deriveReason(code, message);
|
|
23
|
+
const nextAction = deriveNextAction(code, message, details);
|
|
24
|
+
return {
|
|
25
|
+
status: "refused",
|
|
26
|
+
code,
|
|
27
|
+
message,
|
|
28
|
+
reason,
|
|
29
|
+
next_action: nextAction,
|
|
30
|
+
details,
|
|
31
|
+
};
|
|
32
|
+
}
|
|
2
33
|
export function toMcpError(error, fallbackCode = "INTERNAL_ERROR") {
|
|
3
34
|
const zod = zodErrorDetails(error);
|
|
4
35
|
if (zod) {
|
|
@@ -12,15 +43,9 @@ export function toMcpError(error, fallbackCode = "INTERNAL_ERROR") {
|
|
|
12
43
|
return error;
|
|
13
44
|
}
|
|
14
45
|
if (error instanceof Error) {
|
|
15
|
-
return
|
|
16
|
-
code: fallbackCode,
|
|
17
|
-
message: error.message,
|
|
18
|
-
};
|
|
46
|
+
return mcpError(fallbackCode, error.message);
|
|
19
47
|
}
|
|
20
|
-
return
|
|
21
|
-
code: fallbackCode,
|
|
22
|
-
message: typeof error === "string" ? error : String(error),
|
|
23
|
-
};
|
|
48
|
+
return mcpError(fallbackCode, typeof error === "string" ? error : String(error));
|
|
24
49
|
}
|
|
25
50
|
function zodErrorDetails(error) {
|
|
26
51
|
if (!(error instanceof ZodError)) {
|
|
@@ -28,9 +53,15 @@ function zodErrorDetails(error) {
|
|
|
28
53
|
}
|
|
29
54
|
const firstIssue = error.issues[0];
|
|
30
55
|
const field = firstIssue?.path.length ? String(firstIssue.path[0]) : undefined;
|
|
56
|
+
const message = `Validation failed: ${error.issues.map((issue) => issue.message).join("; ")}`;
|
|
31
57
|
return {
|
|
58
|
+
status: "refused",
|
|
32
59
|
code: "VALIDATION_ERROR",
|
|
33
|
-
message
|
|
60
|
+
message,
|
|
61
|
+
reason: "Input arguments failed schema validation constraints.",
|
|
62
|
+
next_action: field
|
|
63
|
+
? `Correct the parameter '${field}' to match the expected format and constraints, then retry.`
|
|
64
|
+
: "Check the tool arguments against its input schema and retry with valid parameters.",
|
|
34
65
|
details: { issues: error.issues, ...(field ? { field } : {}) },
|
|
35
66
|
};
|
|
36
67
|
}
|
|
@@ -42,17 +73,23 @@ function codedErrorDetails(error) {
|
|
|
42
73
|
if (typeof code !== "string") {
|
|
43
74
|
return null;
|
|
44
75
|
}
|
|
45
|
-
return
|
|
46
|
-
code,
|
|
47
|
-
message: error.message,
|
|
48
|
-
};
|
|
76
|
+
return mcpError(code, error.message);
|
|
49
77
|
}
|
|
50
78
|
export function toMcpToolResult(error) {
|
|
79
|
+
const refusal = {
|
|
80
|
+
status: "refused",
|
|
81
|
+
code: error.code,
|
|
82
|
+
message: error.message,
|
|
83
|
+
reason: error.reason ?? deriveReason(error.code, error.message),
|
|
84
|
+
next_action: error.next_action ??
|
|
85
|
+
deriveNextAction(error.code, error.message, error.details),
|
|
86
|
+
details: error.details,
|
|
87
|
+
};
|
|
51
88
|
return {
|
|
52
89
|
content: [
|
|
53
90
|
{
|
|
54
91
|
type: "text",
|
|
55
|
-
text: JSON.stringify(
|
|
92
|
+
text: JSON.stringify(refusal, null, 2),
|
|
56
93
|
},
|
|
57
94
|
],
|
|
58
95
|
isError: true,
|
|
@@ -66,7 +103,42 @@ function isMcpError(error) {
|
|
|
66
103
|
"message" in error &&
|
|
67
104
|
typeof error.message === "string");
|
|
68
105
|
}
|
|
69
|
-
|
|
70
|
-
|
|
106
|
+
const REASONS = {
|
|
107
|
+
VALIDATION_ERROR: "Input arguments failed schema validation constraints.",
|
|
108
|
+
MISSING_REQUIRED_FIELD: "A required property was not provided in the tool call.",
|
|
109
|
+
INVALID_PATH: "Requested path violates containment within .context store boundary.",
|
|
110
|
+
NOT_FOUND: "No document exists matching the requested type and slug ID.",
|
|
111
|
+
DOCUMENT_NOT_FOUND: "No document exists matching the requested type and slug ID.",
|
|
112
|
+
QUERY_EMPTY: "Search requires non-whitespace search terms.",
|
|
113
|
+
LIMIT_OUT_OF_BOUNDS: "Requested limit is outside the permissible pagination window (1 to 5).",
|
|
114
|
+
ALREADY_INITIALIZED: "The target project already has an active Sirius context store.",
|
|
115
|
+
LICENSE_WRITE_BLOCKED: "Context write is blocked under commercial enterprise mode without active license.",
|
|
116
|
+
LICENSE_BLOCKED: "Access to context is restricted under enterprise hard gate without valid credentials.",
|
|
117
|
+
};
|
|
118
|
+
const STATIC_NEXT_ACTIONS = {
|
|
119
|
+
INVALID_PATH: "Use a relative path inside .context/ (e.g. '.context/{type}/{id}.md') without '..' path traversal.",
|
|
120
|
+
NOT_FOUND: "Run 'context_search' with keywords or 'context_list' to discover valid document IDs before retrying 'context_get'.",
|
|
121
|
+
DOCUMENT_NOT_FOUND: "Run 'context_search' with keywords or 'context_list' to discover valid document IDs before retrying 'context_get'.",
|
|
122
|
+
QUERY_EMPTY: "Provide a search string containing at least 2 characters describing the topic, rule, or decision.",
|
|
123
|
+
LIMIT_OUT_OF_BOUNDS: "Set the 'limit' parameter to an integer between 1 and 5 (default is 5).",
|
|
124
|
+
ALREADY_INITIALIZED: "Use 'context_list' or 'context_search' to explore documents, or 'context_upsert' to create new ones.",
|
|
125
|
+
LICENSE_WRITE_BLOCKED: "Provide a valid SIRIUS_LICENSE_KEY or switch to solo community mode.",
|
|
126
|
+
LICENSE_BLOCKED: "Verify your license configuration or contact your Sirius administrator.",
|
|
127
|
+
};
|
|
128
|
+
export function deriveReason(code, message) {
|
|
129
|
+
return REASONS[code] ?? message;
|
|
130
|
+
}
|
|
131
|
+
export function deriveNextAction(code, _message, details) {
|
|
132
|
+
const field = details?.field;
|
|
133
|
+
if (code === "VALIDATION_ERROR") {
|
|
134
|
+
return field
|
|
135
|
+
? `Correct the parameter '${field}' to match the expected format and constraints, then retry.`
|
|
136
|
+
: "Check the tool arguments against its input schema and retry with valid parameters.";
|
|
137
|
+
}
|
|
138
|
+
if (code === "MISSING_REQUIRED_FIELD") {
|
|
139
|
+
return `Provide a non-empty value for the required field '${field || "parameter"}' and re-invoke the tool.`;
|
|
140
|
+
}
|
|
141
|
+
return (STATIC_NEXT_ACTIONS[code] ??
|
|
142
|
+
"Review the error details and retry the tool invocation with adjusted parameters.");
|
|
71
143
|
}
|
|
72
144
|
//# sourceMappingURL=errors.js.map
|
package/dist/errors.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"errors.js","sourceRoot":"","sources":["../src/errors.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,KAAK,CAAC;
|
|
1
|
+
{"version":3,"file":"errors.js","sourceRoot":"","sources":["../src/errors.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cli-parser.d.ts","sourceRoot":"","sources":["../../src/installer/cli-parser.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,gBAAgB,EAEtB,MAAM,YAAY,CAAC;
|
|
1
|
+
{"version":3,"file":"cli-parser.d.ts","sourceRoot":"","sources":["../../src/installer/cli-parser.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,gBAAgB,EAEtB,MAAM,YAAY,CAAC;AA0DpB,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,gBAAgB,CA+BnE"}
|
|
@@ -39,6 +39,14 @@ function parseBooleanFlag(arg, options) {
|
|
|
39
39
|
options.stdio = true;
|
|
40
40
|
return true;
|
|
41
41
|
}
|
|
42
|
+
if (arg === "--status") {
|
|
43
|
+
options.status = true;
|
|
44
|
+
return true;
|
|
45
|
+
}
|
|
46
|
+
if (arg === "--remove") {
|
|
47
|
+
options.remove = true;
|
|
48
|
+
return true;
|
|
49
|
+
}
|
|
42
50
|
return false;
|
|
43
51
|
}
|
|
44
52
|
export function parseInstallerArgs(args) {
|
|
@@ -52,11 +60,13 @@ export function parseInstallerArgs(args) {
|
|
|
52
60
|
force: false,
|
|
53
61
|
stdio: false,
|
|
54
62
|
};
|
|
55
|
-
const subcommands = ["install", "doctor", "uninstall", "setup"];
|
|
63
|
+
const subcommands = ["install", "doctor", "uninstall", "setup", "snippet"];
|
|
64
|
+
let subcommandAssigned = false;
|
|
56
65
|
for (let i = 0; i < args.length; i++) {
|
|
57
66
|
const arg = args[i];
|
|
58
|
-
if (
|
|
59
|
-
options.subcommand = arg
|
|
67
|
+
if (!subcommandAssigned && subcommands.includes(arg)) {
|
|
68
|
+
options.subcommand = arg;
|
|
69
|
+
subcommandAssigned = true;
|
|
60
70
|
continue;
|
|
61
71
|
}
|
|
62
72
|
if (parseValuedFlag(arg, args[i + 1], options)) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cli-parser.js","sourceRoot":"","sources":["../../src/installer/cli-parser.ts"],"names":[],"mappings":"AAAA,OAAO,EAGN,MAAM,YAAY,CAAC;AAEpB,SAAS,eAAe,CACtB,GAAW,EACX,GAAuB,EACvB,OAAyB;IAEzB,IAAI,GAAG,KAAK,OAAO,IAAI,GAAG,KAAK,WAAW,EAAE,CAAC;QAC3C,OAAO,CAAC,OAAO,GAAG,GAAG,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC,CAAC;QACrE,OAAO,IAAI,CAAC;IACd,CAAC;IACD,IAAI,GAAG,KAAK,YAAY,EAAE,CAAC;QACzB,OAAO,CAAC,QAAQ,GAAG,GAAG,EAAE,WAAW,EAAkC,CAAC;QACtE,OAAO,IAAI,CAAC;IACd,CAAC;IACD,IAAI,GAAG,KAAK,SAAS,EAAE,CAAC;QACtB,OAAO,CAAC,KAAK,GAAI,GAAG,EAAE,WAAW,EAAkB,IAAI,WAAW,CAAC;QACnE,OAAO,IAAI,CAAC;IACd,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAED,SAAS,gBAAgB,CAAC,GAAW,EAAE,OAAyB;IAC9D,IAAI,GAAG,KAAK,OAAO,EAAE,CAAC;QACpB,OAAO,CAAC,GAAG,GAAG,IAAI,CAAC;QACnB,OAAO,IAAI,CAAC;IACd,CAAC;IACD,IAAI,GAAG,KAAK,OAAO,IAAI,GAAG,KAAK,IAAI,EAAE,CAAC;QACpC,OAAO,CAAC,GAAG,GAAG,IAAI,CAAC;QACnB,OAAO,IAAI,CAAC;IACd,CAAC;IACD,IAAI,GAAG,KAAK,WAAW,EAAE,CAAC;QACxB,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC;QACtB,OAAO,IAAI,CAAC;IACd,CAAC;IACD,IAAI,GAAG,KAAK,QAAQ,EAAE,CAAC;QACrB,OAAO,CAAC,IAAI,GAAG,IAAI,CAAC;QACpB,OAAO,IAAI,CAAC;IACd,CAAC;IACD,IAAI,GAAG,KAAK,SAAS,EAAE,CAAC;QACtB,OAAO,CAAC,KAAK,GAAG,IAAI,CAAC;QACrB,OAAO,IAAI,CAAC;IACd,CAAC;IACD,IAAI,GAAG,KAAK,SAAS,EAAE,CAAC;QACtB,OAAO,CAAC,KAAK,GAAG,IAAI,CAAC;QACrB,OAAO,IAAI,CAAC;IACd,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAED,MAAM,UAAU,kBAAkB,CAAC,IAAc;IAC/C,MAAM,OAAO,GAAqB;QAChC,UAAU,EAAE,SAAS;QACrB,KAAK,EAAE,WAAW;QAClB,GAAG,EAAE,KAAK;QACV,GAAG,EAAE,KAAK;QACV,MAAM,EAAE,KAAK;QACb,IAAI,EAAE,KAAK;QACX,KAAK,EAAE,KAAK;QACZ,KAAK,EAAE,KAAK;KACb,CAAC;IAEF,MAAM,WAAW,GAAG,CAAC,SAAS,EAAE,QAAQ,EAAE,WAAW,EAAE,OAAO,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"cli-parser.js","sourceRoot":"","sources":["../../src/installer/cli-parser.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cli.d.ts","sourceRoot":"","sources":["../../src/installer/cli.ts"],"names":[],"mappings":"AAEA,OAAO,EAEL,KAAK,gBAAgB,EAErB,KAAK,WAAW,EAEjB,MAAM,YAAY,CAAC;
|
|
1
|
+
{"version":3,"file":"cli.d.ts","sourceRoot":"","sources":["../../src/installer/cli.ts"],"names":[],"mappings":"AAEA,OAAO,EAEL,KAAK,gBAAgB,EAErB,KAAK,WAAW,EAEjB,MAAM,YAAY,CAAC;AAuBpB,OAAO,EAAE,kBAAkB,EAAE,MAAM,iBAAiB,CAAC;AAErD,MAAM,WAAW,KAAK;IACpB,WAAW,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;IACpC,WAAW,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;IACpC,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,GAAG,CAAC,EAAE,WAAW,CAAC;CACnB;AA0ND,wBAAsB,eAAe,CACnC,OAAO,EAAE,gBAAgB,EACzB,WAAW,GAAE,OAAO,CAAC,KAAK,CAAM,GAC/B,OAAO,CAAC,MAAM,CAAC,CA4CjB"}
|