@fyuld/snitch 3.0.0 → 3.0.1
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/assets/json-schemas/snitchconfig.schema.json +48 -3
- package/assets/json-schemas/third-party-tool.schema.json +12 -6
- package/dist/commands/prepare.d.ts.map +1 -1
- package/dist/commands/prepare.js +40 -3
- package/dist/commands/prepare.js.map +1 -1
- package/dist/datamodel/snitch-configuration.d.ts +4 -4
- package/dist/datamodel/snitch-configuration.d.ts.map +1 -1
- package/dist/datamodel/snitch-configuration.js +12 -1
- package/dist/datamodel/snitch-configuration.js.map +1 -1
- package/dist/utils/markdown-config-parser.d.ts +16 -0
- package/dist/utils/markdown-config-parser.d.ts.map +1 -0
- package/dist/utils/markdown-config-parser.js +65 -0
- package/dist/utils/markdown-config-parser.js.map +1 -0
- package/dist/utils/third-party-tools.js +2 -2
- package/dist/utils/third-party-tools.js.map +1 -1
- package/package.json +1 -1
|
@@ -20,17 +20,62 @@
|
|
|
20
20
|
"type": "object",
|
|
21
21
|
"description": "Policy definitions with provider pipelines",
|
|
22
22
|
"additionalProperties": {
|
|
23
|
-
"
|
|
23
|
+
"oneOf": [
|
|
24
|
+
{
|
|
25
|
+
"$ref": "./policy.schema.json"
|
|
26
|
+
},
|
|
27
|
+
{
|
|
28
|
+
"type": "object",
|
|
29
|
+
"properties": {
|
|
30
|
+
"$ref": {
|
|
31
|
+
"type": "string",
|
|
32
|
+
"description": "URL to external policy configuration"
|
|
33
|
+
}
|
|
34
|
+
},
|
|
35
|
+
"required": ["$ref"],
|
|
36
|
+
"additionalProperties": false
|
|
37
|
+
}
|
|
38
|
+
]
|
|
24
39
|
}
|
|
25
40
|
},
|
|
26
41
|
"thirdPartyTools": {
|
|
27
42
|
"type": "array",
|
|
28
43
|
"description": "Third party tools (formatters, test runners, etc.) to install and configure",
|
|
29
44
|
"items": {
|
|
30
|
-
"
|
|
45
|
+
"oneOf": [
|
|
46
|
+
{
|
|
47
|
+
"$ref": "./third-party-tool.schema.json"
|
|
48
|
+
},
|
|
49
|
+
{
|
|
50
|
+
"type": "object",
|
|
51
|
+
"properties": {
|
|
52
|
+
"$ref": {
|
|
53
|
+
"type": "string",
|
|
54
|
+
"description": "URL to external tool configuration"
|
|
55
|
+
}
|
|
56
|
+
},
|
|
57
|
+
"required": ["$ref"],
|
|
58
|
+
"additionalProperties": false
|
|
59
|
+
}
|
|
60
|
+
]
|
|
31
61
|
}
|
|
62
|
+
},
|
|
63
|
+
"instructions": {
|
|
64
|
+
"type": "object",
|
|
65
|
+
"description": "High-level instructions for AI agents",
|
|
66
|
+
"properties": {
|
|
67
|
+
"dontEdit": {
|
|
68
|
+
"type": "array",
|
|
69
|
+
"description": "List of paths that should not be edited by AI agents",
|
|
70
|
+
"items": {
|
|
71
|
+
"type": "string"
|
|
72
|
+
}
|
|
73
|
+
}
|
|
74
|
+
},
|
|
75
|
+
"required": ["dontEdit"],
|
|
76
|
+
"additionalProperties": false
|
|
32
77
|
}
|
|
33
78
|
},
|
|
34
|
-
"required": ["sourceDirectory", "testsDirectory", "policies"],
|
|
79
|
+
"required": ["sourceDirectory", "testsDirectory", "policies", "instructions"],
|
|
35
80
|
"additionalProperties": false
|
|
36
81
|
}
|
|
@@ -61,11 +61,17 @@
|
|
|
61
61
|
]
|
|
62
62
|
},
|
|
63
63
|
"instructions": {
|
|
64
|
-
"
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
64
|
+
"oneOf": [
|
|
65
|
+
{
|
|
66
|
+
"type": "string",
|
|
67
|
+
"description": "Instruction file URL for AI agents"
|
|
68
|
+
},
|
|
69
|
+
{
|
|
70
|
+
"type": "string",
|
|
71
|
+
"enum": ["Instructions Not Required"],
|
|
72
|
+
"description": "No instructions required for this tool"
|
|
73
|
+
}
|
|
74
|
+
]
|
|
69
75
|
},
|
|
70
76
|
"sideEffects": {
|
|
71
77
|
"type": "object",
|
|
@@ -79,6 +85,6 @@
|
|
|
79
85
|
"additionalProperties": false
|
|
80
86
|
}
|
|
81
87
|
},
|
|
82
|
-
"required": ["title", "
|
|
88
|
+
"required": ["title", "configFilename", "software", "configuration", "instructions"],
|
|
83
89
|
"additionalProperties": false
|
|
84
90
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"prepare.d.ts","sourceRoot":"","sources":["../../src/commands/prepare.ts"],"names":[],"mappings":"AAMA,OAAO,EAA0B,aAAa,EAAmC,MAAM,4BAA4B,CAAA;AACnH,OAAO,EAGL,mBAAmB,EAEpB,MAAM,mCAAmC,CAAA;
|
|
1
|
+
{"version":3,"file":"prepare.d.ts","sourceRoot":"","sources":["../../src/commands/prepare.ts"],"names":[],"mappings":"AAMA,OAAO,EAA0B,aAAa,EAAmC,MAAM,4BAA4B,CAAA;AACnH,OAAO,EAGL,mBAAmB,EAEpB,MAAM,mCAAmC,CAAA;AAK1C,wBAAsB,OAAO,CAAC,MAAM,EAAE,mBAAmB,GAAG,OAAO,CAAC,aAAa,CAAC,CA4DjF;AAED,wBAAsB,cAAc,IAAI,OAAO,CAAC,IAAI,CAAC,CA0CpD"}
|
package/dist/commands/prepare.js
CHANGED
|
@@ -46,6 +46,7 @@ const child_process_1 = require("child_process");
|
|
|
46
46
|
const SnitchConfigManager_1 = require("../SnitchConfigManager");
|
|
47
47
|
const third_party_tools_1 = require("../utils/third-party-tools");
|
|
48
48
|
const json_merge_1 = require("../utils/json-merge");
|
|
49
|
+
const markdown_config_parser_1 = require("../utils/markdown-config-parser");
|
|
49
50
|
async function prepare(config) {
|
|
50
51
|
const resolvedTools = [];
|
|
51
52
|
if (config.thirdPartyTools && config.thirdPartyTools.length > 0) {
|
|
@@ -72,9 +73,11 @@ async function prepare(config) {
|
|
|
72
73
|
...toolsResult.files.filter((f) => f.path.startsWith('.snitch/instructions/')),
|
|
73
74
|
...policyInstructionFiles,
|
|
74
75
|
];
|
|
76
|
+
const language = detectLanguage(resolvedTools);
|
|
77
|
+
const dontEditPaths = ['.claude', '.snitch', 'configs', ...config.instructions.dontEdit];
|
|
75
78
|
const aggregatedInstructions = {
|
|
76
79
|
path: '.claude/INSTRUCTIONS.md',
|
|
77
|
-
content: aggregatePolicyInstructions(allInstructionFiles),
|
|
80
|
+
content: aggregatePolicyInstructions(allInstructionFiles, language, dontEditPaths),
|
|
78
81
|
};
|
|
79
82
|
const allFiles = [
|
|
80
83
|
...toolsResult.files.filter((f) => !f.path.startsWith('.snitch/instructions/') && f.path !== '.claude/INSTRUCTIONS.md'),
|
|
@@ -135,6 +138,9 @@ async function resolveThirdPartyTool(entry) {
|
|
|
135
138
|
const filename = url.substring(url.lastIndexOf('/') + 1);
|
|
136
139
|
console.log(`Fetching configuration: ${filename} from ${url}`);
|
|
137
140
|
const content = await fetchUrl(url);
|
|
141
|
+
if (filename.endsWith('.md')) {
|
|
142
|
+
return await parseMarkdownTool(content, url);
|
|
143
|
+
}
|
|
138
144
|
const parsed = JSON.parse(content);
|
|
139
145
|
validateThirdPartyTool(parsed, filename);
|
|
140
146
|
return parsed;
|
|
@@ -203,15 +209,46 @@ Check for Updates: ${url}
|
|
|
203
209
|
content: header + content,
|
|
204
210
|
};
|
|
205
211
|
}
|
|
206
|
-
function
|
|
207
|
-
const
|
|
212
|
+
function detectLanguage(tools) {
|
|
213
|
+
const hasTypeScript = tools.some((tool) => tool.software.name === 'typescript');
|
|
214
|
+
return hasTypeScript ? 'TypeScript' : null;
|
|
215
|
+
}
|
|
216
|
+
function aggregatePolicyInstructions(instructionFiles, language, dontEditPaths) {
|
|
217
|
+
let header = `# Project Instructions
|
|
208
218
|
|
|
209
219
|
This file is auto-generated from .snitch/instructions/
|
|
210
220
|
|
|
221
|
+
`;
|
|
222
|
+
if (language) {
|
|
223
|
+
header += `Language: ${language}\n\n`;
|
|
224
|
+
}
|
|
225
|
+
header += `### Do Not Edit
|
|
226
|
+
|
|
227
|
+
Following paths and files should never be edited. They are generated, and will cause unexpected problems, since snitch or other tools can be invoked by other agents, entities, or hooks, and will confuse everybody. If edits required – ask user explicitly.
|
|
228
|
+
|
|
229
|
+
Names of files:
|
|
230
|
+
${dontEditPaths.map((p) => `- ${p}`).join('\n')}
|
|
231
|
+
|
|
211
232
|
---
|
|
212
233
|
|
|
213
234
|
`;
|
|
214
235
|
const sections = instructionFiles.map((file) => file.content).join('\n\n---\n\n');
|
|
215
236
|
return header + sections;
|
|
216
237
|
}
|
|
238
|
+
async function parseMarkdownTool(markdownContent, url) {
|
|
239
|
+
const parsed = (0, markdown_config_parser_1.parseMarkdownConfig)(markdownContent);
|
|
240
|
+
const tool = {
|
|
241
|
+
title: parsed.title,
|
|
242
|
+
configFilename: parsed.configFilename,
|
|
243
|
+
software: {
|
|
244
|
+
pm: 'npm',
|
|
245
|
+
name: parsed.toolName,
|
|
246
|
+
version: parsed.toolVersion,
|
|
247
|
+
},
|
|
248
|
+
configuration: parsed.configContent,
|
|
249
|
+
instructions: url,
|
|
250
|
+
};
|
|
251
|
+
validateThirdPartyTool(tool, url);
|
|
252
|
+
return tool;
|
|
253
|
+
}
|
|
217
254
|
//# sourceMappingURL=prepare.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"prepare.js","sourceRoot":"","sources":["../../src/commands/prepare.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
|
1
|
+
{"version":3,"file":"prepare.js","sourceRoot":"","sources":["../../src/commands/prepare.ts"],"names":[],"mappings":"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"}
|
|
@@ -14,9 +14,6 @@ export type JsonConfigurationEntry<Type> = Type | {
|
|
|
14
14
|
} & Partial<Type>);
|
|
15
15
|
export type ThirdPartyTool = {
|
|
16
16
|
title: string;
|
|
17
|
-
description: string;
|
|
18
|
-
id: string;
|
|
19
|
-
purpose: string[];
|
|
20
17
|
configFilename: string;
|
|
21
18
|
software: {
|
|
22
19
|
pm: 'npm';
|
|
@@ -24,7 +21,7 @@ export type ThirdPartyTool = {
|
|
|
24
21
|
version?: string;
|
|
25
22
|
};
|
|
26
23
|
configuration: Uri | object;
|
|
27
|
-
instructions: Uri
|
|
24
|
+
instructions: Uri | 'Instructions Not Required';
|
|
28
25
|
sideEffects?: {
|
|
29
26
|
'package.json'?: object;
|
|
30
27
|
};
|
|
@@ -36,6 +33,9 @@ export type SnitchConfiguration = {
|
|
|
36
33
|
commands?: Record<string, PublicCommandConfig>;
|
|
37
34
|
policies: Record<string, JsonConfigurationEntry<PolicyConfig>>;
|
|
38
35
|
thirdPartyTools?: JsonConfigurationEntry<ThirdPartyTool>[];
|
|
36
|
+
instructions: {
|
|
37
|
+
dontEdit: string[];
|
|
38
|
+
};
|
|
39
39
|
};
|
|
40
40
|
export declare const snitchConfigurationSchema: JsonSchema<SnitchConfiguration>;
|
|
41
41
|
//# sourceMappingURL=snitch-configuration.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"snitch-configuration.d.ts","sourceRoot":"","sources":["../../src/datamodel/snitch-configuration.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAA;AAC3C,OAAO,EAAE,mBAAmB,EAAE,MAAM,kBAAkB,CAAA;AACtD,OAAO,EAAE,aAAa,EAAE,MAAM,yBAAyB,CAAA;AACvD,OAAO,EAAE,GAAG,EAAE,MAAM,OAAO,CAAA;AAE3B,MAAM,MAAM,YAAY,GAAG;IACzB,KAAK,EAAE,MAAM,CAAA;IACb,UAAU,EAAE,aAAa,EAAE,CAAA;IAC3B,YAAY,EAAE,GAAG,EAAE,CAAA;CACpB,CAAA;AAED,MAAM,MAAM,sBAAsB,CAAC,IAAI,IAAI,IAAI,GAAG;IAAE,IAAI,EAAE,MAAM,CAAA;CAAE,GAAG,CAAC;IAAE,QAAQ,EAAE,MAAM,CAAA;CAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC,CAAA;AAE3G,MAAM,MAAM,cAAc,GAAG;IAC3B,KAAK,EAAE,MAAM,CAAA;IACb,
|
|
1
|
+
{"version":3,"file":"snitch-configuration.d.ts","sourceRoot":"","sources":["../../src/datamodel/snitch-configuration.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAA;AAC3C,OAAO,EAAE,mBAAmB,EAAE,MAAM,kBAAkB,CAAA;AACtD,OAAO,EAAE,aAAa,EAAE,MAAM,yBAAyB,CAAA;AACvD,OAAO,EAAE,GAAG,EAAE,MAAM,OAAO,CAAA;AAE3B,MAAM,MAAM,YAAY,GAAG;IACzB,KAAK,EAAE,MAAM,CAAA;IACb,UAAU,EAAE,aAAa,EAAE,CAAA;IAC3B,YAAY,EAAE,GAAG,EAAE,CAAA;CACpB,CAAA;AAED,MAAM,MAAM,sBAAsB,CAAC,IAAI,IAAI,IAAI,GAAG;IAAE,IAAI,EAAE,MAAM,CAAA;CAAE,GAAG,CAAC;IAAE,QAAQ,EAAE,MAAM,CAAA;CAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC,CAAA;AAE3G,MAAM,MAAM,cAAc,GAAG;IAC3B,KAAK,EAAE,MAAM,CAAA;IACb,cAAc,EAAE,MAAM,CAAA;IACtB,QAAQ,EAAE;QACR,EAAE,EAAE,KAAK,CAAA;QACT,IAAI,EAAE,MAAM,CAAA;QACZ,OAAO,CAAC,EAAE,MAAM,CAAA;KACjB,CAAA;IACD,aAAa,EAAE,GAAG,GAAG,MAAM,CAAA;IAC3B,YAAY,EAAE,GAAG,GAAG,2BAA2B,CAAA;IAC/C,WAAW,CAAC,EAAE;QACZ,cAAc,CAAC,EAAE,MAAM,CAAA;KACxB,CAAA;CACF,CAAA;AAED,MAAM,MAAM,mBAAmB,GAAG;IAChC,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,eAAe,EAAE,MAAM,CAAA;IACvB,cAAc,EAAE,MAAM,CAAA;IACtB,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,mBAAmB,CAAC,CAAA;IAC9C,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,sBAAsB,CAAC,YAAY,CAAC,CAAC,CAAA;IAC9D,eAAe,CAAC,EAAE,sBAAsB,CAAC,cAAc,CAAC,EAAE,CAAA;IAC1D,YAAY,EAAE;QACZ,QAAQ,EAAE,MAAM,EAAE,CAAA;KACnB,CAAA;CACF,CAAA;AAED,eAAO,MAAM,yBAAyB,EAAE,UAAU,CAAC,mBAAmB,CA2CrE,CAAA"}
|
|
@@ -30,8 +30,19 @@ exports.snitchConfigurationSchema = {
|
|
|
30
30
|
items: {},
|
|
31
31
|
nullable: true,
|
|
32
32
|
},
|
|
33
|
+
instructions: {
|
|
34
|
+
type: 'object',
|
|
35
|
+
properties: {
|
|
36
|
+
dontEdit: {
|
|
37
|
+
type: 'array',
|
|
38
|
+
items: { type: 'string' },
|
|
39
|
+
},
|
|
40
|
+
},
|
|
41
|
+
required: ['dontEdit'],
|
|
42
|
+
additionalProperties: false,
|
|
43
|
+
},
|
|
33
44
|
},
|
|
34
|
-
required: ['sourceDirectory', 'testsDirectory', 'policies'],
|
|
45
|
+
required: ['sourceDirectory', 'testsDirectory', 'policies', 'instructions'],
|
|
35
46
|
additionalProperties: false,
|
|
36
47
|
};
|
|
37
48
|
//# sourceMappingURL=snitch-configuration.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"snitch-configuration.js","sourceRoot":"","sources":["../../src/datamodel/snitch-configuration.ts"],"names":[],"mappings":";;;AAwCa,QAAA,yBAAyB,GAAoC;IACxE,IAAI,EAAE,QAAQ;IACd,UAAU,EAAE;QACV,OAAO,EAAE;YACP,IAAI,EAAE,QAAQ;YACd,QAAQ,EAAE,IAAI;SACf;QACD,eAAe,EAAE;YACf,IAAI,EAAE,QAAQ;SACf;QACD,cAAc,EAAE;YACd,IAAI,EAAE,QAAQ;SACf;QACD,QAAQ,EAAE;YACR,IAAI,EAAE,QAAQ;YACd,QAAQ,EAAE,EAAE;YACZ,oBAAoB,EAAE,IAAI;YAC1B,QAAQ,EAAE,IAAI;SACf;QACD,QAAQ,EAAE;YACR,IAAI,EAAE,QAAQ;YACd,QAAQ,EAAE,EAAE;YACZ,oBAAoB,EAAE,IAAI;SAC3B;QACD,eAAe,EAAE;YACf,IAAI,EAAE,OAAO;YACb,KAAK,EAAE,EAAS;YAChB,QAAQ,EAAE,IAAI;SACf;KACF;IACD,QAAQ,EAAE,CAAC,iBAAiB,EAAE,gBAAgB,EAAE,UAAU,CAAC;
|
|
1
|
+
{"version":3,"file":"snitch-configuration.js","sourceRoot":"","sources":["../../src/datamodel/snitch-configuration.ts"],"names":[],"mappings":";;;AAwCa,QAAA,yBAAyB,GAAoC;IACxE,IAAI,EAAE,QAAQ;IACd,UAAU,EAAE;QACV,OAAO,EAAE;YACP,IAAI,EAAE,QAAQ;YACd,QAAQ,EAAE,IAAI;SACf;QACD,eAAe,EAAE;YACf,IAAI,EAAE,QAAQ;SACf;QACD,cAAc,EAAE;YACd,IAAI,EAAE,QAAQ;SACf;QACD,QAAQ,EAAE;YACR,IAAI,EAAE,QAAQ;YACd,QAAQ,EAAE,EAAE;YACZ,oBAAoB,EAAE,IAAI;YAC1B,QAAQ,EAAE,IAAI;SACf;QACD,QAAQ,EAAE;YACR,IAAI,EAAE,QAAQ;YACd,QAAQ,EAAE,EAAE;YACZ,oBAAoB,EAAE,IAAI;SAC3B;QACD,eAAe,EAAE;YACf,IAAI,EAAE,OAAO;YACb,KAAK,EAAE,EAAS;YAChB,QAAQ,EAAE,IAAI;SACf;QACD,YAAY,EAAE;YACZ,IAAI,EAAE,QAAQ;YACd,UAAU,EAAE;gBACV,QAAQ,EAAE;oBACR,IAAI,EAAE,OAAO;oBACb,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;iBAC1B;aACF;YACD,QAAQ,EAAE,CAAC,UAAU,CAAC;YACtB,oBAAoB,EAAE,KAAK;SAC5B;KACF;IACD,QAAQ,EAAE,CAAC,iBAAiB,EAAE,gBAAgB,EAAE,UAAU,EAAE,cAAc,CAAC;IAC3E,oBAAoB,EAAE,KAAK;CAC5B,CAAA"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
export type ParsedMarkdownConfig = {
|
|
2
|
+
metadata: {
|
|
3
|
+
version: string;
|
|
4
|
+
source: string;
|
|
5
|
+
lastUpdated: string;
|
|
6
|
+
checkForUpdates: string;
|
|
7
|
+
};
|
|
8
|
+
title: string;
|
|
9
|
+
toolName: string;
|
|
10
|
+
toolVersion: string;
|
|
11
|
+
configFilename: string;
|
|
12
|
+
configContent: object;
|
|
13
|
+
instructions: string;
|
|
14
|
+
};
|
|
15
|
+
export declare function parseMarkdownConfig(markdown: string): ParsedMarkdownConfig;
|
|
16
|
+
//# sourceMappingURL=markdown-config-parser.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"markdown-config-parser.d.ts","sourceRoot":"","sources":["../../src/utils/markdown-config-parser.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,oBAAoB,GAAG;IACjC,QAAQ,EAAE;QACR,OAAO,EAAE,MAAM,CAAA;QACf,MAAM,EAAE,MAAM,CAAA;QACd,WAAW,EAAE,MAAM,CAAA;QACnB,eAAe,EAAE,MAAM,CAAA;KACxB,CAAA;IACD,KAAK,EAAE,MAAM,CAAA;IACb,QAAQ,EAAE,MAAM,CAAA;IAChB,WAAW,EAAE,MAAM,CAAA;IACnB,cAAc,EAAE,MAAM,CAAA;IACtB,aAAa,EAAE,MAAM,CAAA;IACrB,YAAY,EAAE,MAAM,CAAA;CACrB,CAAA;AAED,wBAAgB,mBAAmB,CAAC,QAAQ,EAAE,MAAM,GAAG,oBAAoB,CAsE1E"}
|
|
@@ -0,0 +1,65 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.parseMarkdownConfig = parseMarkdownConfig;
|
|
4
|
+
function parseMarkdownConfig(markdown) {
|
|
5
|
+
// Extract metadata
|
|
6
|
+
const metadataMatch = markdown.match(/^Version: (.+)\nSource: (.+)\nLast Updated: (.+)\nCheck for Updates: (.+)\n\n---/m);
|
|
7
|
+
if (!metadataMatch) {
|
|
8
|
+
throw new Error('Missing metadata header');
|
|
9
|
+
}
|
|
10
|
+
const metadata = {
|
|
11
|
+
version: metadataMatch[1],
|
|
12
|
+
source: metadataMatch[2],
|
|
13
|
+
lastUpdated: metadataMatch[3],
|
|
14
|
+
checkForUpdates: metadataMatch[4],
|
|
15
|
+
};
|
|
16
|
+
// Extract title
|
|
17
|
+
const titleMatch = markdown.match(/^# (.+)$/m);
|
|
18
|
+
if (!titleMatch) {
|
|
19
|
+
throw new Error('Missing title');
|
|
20
|
+
}
|
|
21
|
+
const title = titleMatch[1];
|
|
22
|
+
// Extract tool name
|
|
23
|
+
const toolNameMatch = markdown.match(/Tool Name: `([^`]+)`/);
|
|
24
|
+
if (!toolNameMatch) {
|
|
25
|
+
throw new Error('Missing tool name');
|
|
26
|
+
}
|
|
27
|
+
const toolName = toolNameMatch[1];
|
|
28
|
+
// Extract tool version
|
|
29
|
+
const toolVersionMatch = markdown.match(/Version: `([^`]+)`/);
|
|
30
|
+
if (!toolVersionMatch) {
|
|
31
|
+
throw new Error('Missing tool version');
|
|
32
|
+
}
|
|
33
|
+
const toolVersion = toolVersionMatch[1];
|
|
34
|
+
// Extract filename
|
|
35
|
+
const filenameMatch = markdown.match(/File: `([^`]+)`/);
|
|
36
|
+
if (!filenameMatch) {
|
|
37
|
+
throw new Error('Missing config filename');
|
|
38
|
+
}
|
|
39
|
+
const configFilename = filenameMatch[1];
|
|
40
|
+
// Extract JSON from first code block after ## Configuration
|
|
41
|
+
const configSectionMatch = markdown.match(/## Configuration\n\n[\s\S]*?```json\n([\s\S]*?)\n```/);
|
|
42
|
+
if (!configSectionMatch) {
|
|
43
|
+
throw new Error('Missing configuration JSON block');
|
|
44
|
+
}
|
|
45
|
+
let configContent;
|
|
46
|
+
try {
|
|
47
|
+
configContent = JSON.parse(configSectionMatch[1]);
|
|
48
|
+
}
|
|
49
|
+
catch (error) {
|
|
50
|
+
throw new Error('Invalid JSON in configuration block');
|
|
51
|
+
}
|
|
52
|
+
// Extract instructions (everything after ## Configuration section)
|
|
53
|
+
const instructionsMatch = markdown.match(/## Configuration[\s\S]*?```\n\n([\s\S]*)$/);
|
|
54
|
+
const instructions = instructionsMatch ? instructionsMatch[1].trim() : '';
|
|
55
|
+
return {
|
|
56
|
+
metadata,
|
|
57
|
+
title,
|
|
58
|
+
toolName,
|
|
59
|
+
toolVersion,
|
|
60
|
+
configFilename,
|
|
61
|
+
configContent,
|
|
62
|
+
instructions,
|
|
63
|
+
};
|
|
64
|
+
}
|
|
65
|
+
//# sourceMappingURL=markdown-config-parser.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"markdown-config-parser.js","sourceRoot":"","sources":["../../src/utils/markdown-config-parser.ts"],"names":[],"mappings":";;AAeA,kDAsEC;AAtED,SAAgB,mBAAmB,CAAC,QAAgB;IAClD,mBAAmB;IACnB,MAAM,aAAa,GAAG,QAAQ,CAAC,KAAK,CAClC,mFAAmF,CACpF,CAAA;IACD,IAAI,CAAC,aAAa,EAAE,CAAC;QACnB,MAAM,IAAI,KAAK,CAAC,yBAAyB,CAAC,CAAA;IAC5C,CAAC;IAED,MAAM,QAAQ,GAAG;QACf,OAAO,EAAE,aAAa,CAAC,CAAC,CAAC;QACzB,MAAM,EAAE,aAAa,CAAC,CAAC,CAAC;QACxB,WAAW,EAAE,aAAa,CAAC,CAAC,CAAC;QAC7B,eAAe,EAAE,aAAa,CAAC,CAAC,CAAC;KAClC,CAAA;IAED,gBAAgB;IAChB,MAAM,UAAU,GAAG,QAAQ,CAAC,KAAK,CAAC,WAAW,CAAC,CAAA;IAC9C,IAAI,CAAC,UAAU,EAAE,CAAC;QAChB,MAAM,IAAI,KAAK,CAAC,eAAe,CAAC,CAAA;IAClC,CAAC;IACD,MAAM,KAAK,GAAG,UAAU,CAAC,CAAC,CAAC,CAAA;IAE3B,oBAAoB;IACpB,MAAM,aAAa,GAAG,QAAQ,CAAC,KAAK,CAAC,sBAAsB,CAAC,CAAA;IAC5D,IAAI,CAAC,aAAa,EAAE,CAAC;QACnB,MAAM,IAAI,KAAK,CAAC,mBAAmB,CAAC,CAAA;IACtC,CAAC;IACD,MAAM,QAAQ,GAAG,aAAa,CAAC,CAAC,CAAC,CAAA;IAEjC,uBAAuB;IACvB,MAAM,gBAAgB,GAAG,QAAQ,CAAC,KAAK,CAAC,oBAAoB,CAAC,CAAA;IAC7D,IAAI,CAAC,gBAAgB,EAAE,CAAC;QACtB,MAAM,IAAI,KAAK,CAAC,sBAAsB,CAAC,CAAA;IACzC,CAAC;IACD,MAAM,WAAW,GAAG,gBAAgB,CAAC,CAAC,CAAC,CAAA;IAEvC,mBAAmB;IACnB,MAAM,aAAa,GAAG,QAAQ,CAAC,KAAK,CAAC,iBAAiB,CAAC,CAAA;IACvD,IAAI,CAAC,aAAa,EAAE,CAAC;QACnB,MAAM,IAAI,KAAK,CAAC,yBAAyB,CAAC,CAAA;IAC5C,CAAC;IACD,MAAM,cAAc,GAAG,aAAa,CAAC,CAAC,CAAC,CAAA;IAEvC,4DAA4D;IAC5D,MAAM,kBAAkB,GAAG,QAAQ,CAAC,KAAK,CAAC,sDAAsD,CAAC,CAAA;IACjG,IAAI,CAAC,kBAAkB,EAAE,CAAC;QACxB,MAAM,IAAI,KAAK,CAAC,kCAAkC,CAAC,CAAA;IACrD,CAAC;IAED,IAAI,aAAqB,CAAA;IACzB,IAAI,CAAC;QACH,aAAa,GAAG,IAAI,CAAC,KAAK,CAAC,kBAAkB,CAAC,CAAC,CAAC,CAAC,CAAA;IACnD,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,MAAM,IAAI,KAAK,CAAC,qCAAqC,CAAC,CAAA;IACxD,CAAC;IAED,mEAAmE;IACnE,MAAM,iBAAiB,GAAG,QAAQ,CAAC,KAAK,CAAC,2CAA2C,CAAC,CAAA;IACrF,MAAM,YAAY,GAAG,iBAAiB,CAAC,CAAC,CAAC,iBAAiB,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAA;IAEzE,OAAO;QACL,QAAQ;QACR,KAAK;QACL,QAAQ;QACR,WAAW;QACX,cAAc;QACd,aAAa;QACb,YAAY;KACb,CAAA;AACH,CAAC"}
|
|
@@ -53,8 +53,8 @@ async function prepareThirdPartyTools(tools) {
|
|
|
53
53
|
software,
|
|
54
54
|
sideEffects,
|
|
55
55
|
});
|
|
56
|
-
|
|
57
|
-
const { filename, content } = await downloadInstructionFile(
|
|
56
|
+
if (instructions !== 'Instructions Not Required') {
|
|
57
|
+
const { filename, content } = await downloadInstructionFile(instructions);
|
|
58
58
|
instructionFiles.push({
|
|
59
59
|
path: `.snitch/instructions/${filename}`,
|
|
60
60
|
content,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"third-party-tools.js","sourceRoot":"","sources":["../../src/utils/third-party-tools.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAkCA,wDA6FC;AA7HD,6CAA8B;AAgCvB,KAAK,UAAU,sBAAsB,CAAC,KAAuB;IAClE,MAAM,aAAa,GAAmB,EAAE,CAAA;IACxC,MAAM,aAAa,GAAG,IAAI,GAAG,EAAU,CAAA;IACvC,MAAM,gBAAgB,GAAmB,EAAE,CAAA;IAE3C,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;QACzB,MAAM,EAAE,cAAc,EAAE,aAAa,EAAE,WAAW,EAAE,KAAK,EAAE,QAAQ,EAAE,YAAY,EAAE,GAAG,IAAI,CAAA;QAE1F,IAAI,aAAa,CAAC,GAAG,CAAC,cAAc,CAAC,EAAE,CAAC;YACtC,MAAM,IAAI,KAAK,CACb,uCAAuC,cAAc,sDAAsD,CAC5G,CAAA;QACH,CAAC;QACD,aAAa,CAAC,GAAG,CAAC,cAAc,CAAC,CAAA;QAEjC,MAAM,YAAY,GAAG,MAAM,oBAAoB,CAAC,aAAa,CAAC,CAAA;QAC9D,MAAM,aAAa,GAAG,mBAAmB,CAAC,YAAY,EAAE,cAAc,EAAE,KAAK,CAAC,CAAA;QAE9E,aAAa,CAAC,IAAI,CAAC;YACjB,cAAc;YACd,aAAa;YACb,QAAQ;YACR,WAAW;SACZ,CAAC,CAAA;QAEF,
|
|
1
|
+
{"version":3,"file":"third-party-tools.js","sourceRoot":"","sources":["../../src/utils/third-party-tools.ts"],"names":[],"mappings":"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"}
|