openxiangda-skill-kit 2.0.0-alpha.14 → 2.0.0-alpha.143
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 +2 -7
- package/dist/bin.js +0 -0
- package/dist/index.d.ts +5 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +159 -65
- package/dist/index.js.map +1 -1
- package/dist/internal/skill-installer.d.ts +8 -0
- package/dist/internal/skill-installer.d.ts.map +1 -0
- package/dist/internal/skill-installer.js +51 -0
- package/dist/internal/skill-installer.js.map +1 -0
- package/dist/workspace-guidance.d.ts +13 -0
- package/dist/workspace-guidance.d.ts.map +1 -0
- package/dist/workspace-guidance.js +67 -0
- package/dist/workspace-guidance.js.map +1 -0
- package/package.json +4 -7
- package/skills/manifest.json +2 -32
- package/skills/openxiangda-v2/SKILL.md +55 -24
- package/skills/openxiangda-v2/agents/openai.yaml +2 -2
- package/skills/openxiangda-v2/references/administration.md +27 -0
- package/skills/openxiangda-v2/references/application-foundation.md +162 -0
- package/skills/openxiangda-v2/references/appspec.md +102 -0
- package/skills/openxiangda-v2/references/architecture.md +61 -0
- package/skills/openxiangda-v2/references/backend.md +85 -0
- package/skills/openxiangda-v2/references/commands.md +26 -0
- package/skills/openxiangda-v2/references/data-authz.md +58 -0
- package/skills/openxiangda-v2/references/delivery.md +96 -0
- package/skills/openxiangda-v2/references/discovery.md +28 -0
- package/skills/openxiangda-v2/references/field-components.md +204 -0
- package/skills/openxiangda-v2/references/frontend.md +269 -0
- package/skills/openxiangda-v2/references/getting-started.md +61 -0
- package/skills/openxiangda-v2/references/mcp.md +605 -0
- package/skills/openxiangda-v2/references/public-access.md +151 -0
- package/skills/openxiangda-v2/references/testing.md +59 -0
- package/skills/openxiangda-v2/references/upgrading.md +23 -0
- package/skills/openxiangda-v2/references/workflow-events.md +181 -0
- package/docs/architecture/repository-and-release.md +0 -56
- package/docs/backend.md +0 -89
- package/docs/concepts.md +0 -34
- package/docs/data-authz.md +0 -100
- package/docs/delivery.md +0 -71
- package/docs/frontend.md +0 -47
- package/docs/getting-started.md +0 -129
- package/docs/index.md +0 -23
- package/docs/llms.txt +0 -12
- package/docs/reference/cli.md +0 -51
- package/docs/reference/mcp.md +0 -26
- package/docs/workflow-events.md +0 -63
- package/skills/openxiangda-v2-architecture/SKILL.md +0 -29
- package/skills/openxiangda-v2-architecture/agents/openai.yaml +0 -4
- package/skills/openxiangda-v2-backend/SKILL.md +0 -42
- package/skills/openxiangda-v2-backend/agents/openai.yaml +0 -4
- package/skills/openxiangda-v2-data-authz/SKILL.md +0 -44
- package/skills/openxiangda-v2-data-authz/agents/openai.yaml +0 -4
- package/skills/openxiangda-v2-delivery/SKILL.md +0 -65
- package/skills/openxiangda-v2-delivery/agents/openai.yaml +0 -4
- package/skills/openxiangda-v2-frontend/SKILL.md +0 -40
- package/skills/openxiangda-v2-frontend/agents/openai.yaml +0 -4
- package/skills/openxiangda-v2-workflow-events/SKILL.md +0 -39
- package/skills/openxiangda-v2-workflow-events/agents/openai.yaml +0 -4
package/README.md
CHANGED
|
@@ -1,10 +1,5 @@
|
|
|
1
1
|
# openxiangda-skill-kit
|
|
2
2
|
|
|
3
|
-
|
|
3
|
+
维护单一 `openxiangda-v2` Skill 的元数据、正文链接、命令引用、版本边界和内容摘要校验。应用通过根包安装,同版本中文专题生成 Skill 内的按需参考;本包不提供公开命令。
|
|
4
4
|
|
|
5
|
-
|
|
6
|
-
openxiangda-skill-kit install --dest ~/.codex/skills
|
|
7
|
-
openxiangda-skill-kit validate ./skills
|
|
8
|
-
```
|
|
9
|
-
|
|
10
|
-
The published package includes the shared 2.0 documentation tree. Installation copies it into a namespaced hidden reference directory beside the installed Skills and rewrites local links, so every installed `SKILL.md` remains valid outside the source repository.
|
|
5
|
+
安装以事务替换同名 Skill,只清理由旧安装器标记托管的历史目录。项目模式安装到指定工作区,AGENTS.md 只替换明确标记的平台区块。没有标记的旧文件保持原样,并提供候选区块供整合。
|
package/dist/bin.js
CHANGED
|
File without changes
|
package/dist/index.d.ts
CHANGED
|
@@ -17,6 +17,8 @@ export interface InstallSkillsInput {
|
|
|
17
17
|
destination: string;
|
|
18
18
|
force?: boolean;
|
|
19
19
|
}
|
|
20
|
+
export declare const OPENXIANGDA_SKILL_NAME = "openxiangda-v2";
|
|
21
|
+
export declare const RETIRED_OPENXIANGDA_V2_SKILL_NAMES: readonly ["openxiangda-v2-architecture", "openxiangda-v2-backend", "openxiangda-v2-data-authz", "openxiangda-v2-delivery", "openxiangda-v2-frontend", "openxiangda-v2-workflow-events"];
|
|
20
22
|
export declare function resolveDefaultSkillsRoot(): string;
|
|
21
23
|
export declare function validateSkills(skillsRoot: string): Promise<SkillValidationIssue[]>;
|
|
22
24
|
export declare function createSkillManifest(skillsRoot: string): Promise<SkillManifest>;
|
|
@@ -24,6 +26,8 @@ export declare function writeSkillManifest(skillsRoot: string, output?: string):
|
|
|
24
26
|
export declare function installSkills(input: InstallSkillsInput): Promise<{
|
|
25
27
|
destination: string;
|
|
26
28
|
installed: string[];
|
|
27
|
-
|
|
29
|
+
retired: string[];
|
|
30
|
+
references: string;
|
|
28
31
|
}>;
|
|
32
|
+
export { refreshWorkspaceGuidance } from './workspace-guidance.js';
|
|
29
33
|
//# sourceMappingURL=index.d.ts.map
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAiBA,MAAM,WAAW,oBAAoB;IACnC,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,kBAAkB;IACjC,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,aAAa;IAC5B,aAAa,EAAE,CAAC,CAAC;IACjB,MAAM,EAAE,kBAAkB,EAAE,CAAC;CAC9B;AAED,MAAM,WAAW,kBAAkB;IACjC,UAAU,EAAE,MAAM,CAAC;IACnB,WAAW,EAAE,MAAM,CAAC;IACpB,KAAK,CAAC,EAAE,OAAO,CAAC;CACjB;AAED,eAAO,MAAM,sBAAsB,mBAAmB,CAAC;AACvD,eAAO,MAAM,kCAAkC,yLAOrC,CAAC;AACX,wBAAgB,wBAAwB,WAMvC;AAuBD,wBAAsB,cAAc,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,oBAAoB,EAAE,CAAC,CAgGxF;AAED,wBAAsB,mBAAmB,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,aAAa,CAAC,CAepF;AAuBD,wBAAsB,kBAAkB,CAAC,UAAU,EAAE,MAAM,EAAE,MAAM,SAAuC,0BAIzG;AAED,wBAAsB,aAAa,CAAC,KAAK,EAAE,kBAAkB;;;;;GAuB5D;AAwID,OAAO,EAAE,wBAAwB,EAAE,MAAM,yBAAyB,CAAC"}
|
package/dist/index.js
CHANGED
|
@@ -1,54 +1,104 @@
|
|
|
1
1
|
import { createHash } from 'node:crypto';
|
|
2
2
|
import { existsSync } from 'node:fs';
|
|
3
|
-
import {
|
|
4
|
-
import { dirname, resolve } from 'node:path';
|
|
5
|
-
import { DEVKIT_COMMANDS } from 'openxiangda-devkit-core';
|
|
3
|
+
import { readdir, readFile, stat, writeFile, } from 'node:fs/promises';
|
|
4
|
+
import { dirname, relative, resolve } from 'node:path';
|
|
5
|
+
import { DEVKIT_COMMANDS, DOCUMENTATION_TOPICS, documentationReferenceFile, renderDevkitCommandReference, } from 'openxiangda-devkit-core';
|
|
6
|
+
import { installSkillTransaction } from './internal/skill-installer.js';
|
|
7
|
+
export const OPENXIANGDA_SKILL_NAME = 'openxiangda-v2';
|
|
8
|
+
export const RETIRED_OPENXIANGDA_V2_SKILL_NAMES = [
|
|
9
|
+
'openxiangda-v2-architecture',
|
|
10
|
+
'openxiangda-v2-backend',
|
|
11
|
+
'openxiangda-v2-data-authz',
|
|
12
|
+
'openxiangda-v2-delivery',
|
|
13
|
+
'openxiangda-v2-frontend',
|
|
14
|
+
'openxiangda-v2-workflow-events',
|
|
15
|
+
];
|
|
6
16
|
export function resolveDefaultSkillsRoot() {
|
|
17
|
+
const explicit = String(process.env.OPENXIANGDA_SKILLS_ROOT || '').trim();
|
|
18
|
+
if (explicit)
|
|
19
|
+
return resolve(explicit);
|
|
7
20
|
const packaged = resolve(import.meta.dirname, '../skills');
|
|
8
21
|
const development = resolve(import.meta.dirname, '../../../skills');
|
|
9
|
-
|
|
10
|
-
return existsSync(packaged) && existsSync(packagedDocs) ? packaged : development;
|
|
22
|
+
return existsSync(packaged) ? packaged : development;
|
|
11
23
|
}
|
|
12
24
|
const FORBIDDEN_V2_TERMS = [
|
|
13
25
|
/\bApp Function\b/i,
|
|
14
26
|
/\bJS_CODE\b/i,
|
|
15
27
|
/\bresource publish\b/i,
|
|
16
28
|
/\bworkflow v3\b/i,
|
|
29
|
+
/\bRoleSession\b/i,
|
|
30
|
+
/\bcreate-openxiangda\b/i,
|
|
31
|
+
/\bopenxiangda-(?:admin|compiler|field-kit|testing|user|workflow)\b/i,
|
|
17
32
|
];
|
|
18
33
|
const knownCommandIds = new Set(DEVKIT_COMMANDS.map(command => command.id));
|
|
34
|
+
const REQUIRED_REFERENCES = DOCUMENTATION_TOPICS.map(topic => documentationReferenceFile(topic.id));
|
|
19
35
|
export async function validateSkills(skillsRoot) {
|
|
20
36
|
const skills = await loadSkills(skillsRoot);
|
|
21
37
|
const knownSkills = new Set(skills.map(skill => skill.name));
|
|
22
38
|
const issues = [];
|
|
39
|
+
if (skills.length !== 1 || skills[0]?.name !== OPENXIANGDA_SKILL_NAME) {
|
|
40
|
+
issues.push({
|
|
41
|
+
skill: OPENXIANGDA_SKILL_NAME,
|
|
42
|
+
file: skillsRoot,
|
|
43
|
+
message: `Skill distribution must contain only ${OPENXIANGDA_SKILL_NAME}.`,
|
|
44
|
+
});
|
|
45
|
+
}
|
|
23
46
|
for (const skill of skills) {
|
|
24
47
|
const add = (message, file = skill.file) => issues.push({ skill: skill.name || skill.directory, file, message });
|
|
25
48
|
if (!skill.name)
|
|
26
49
|
add('SKILL.md frontmatter must declare name.');
|
|
27
50
|
if (skill.name !== skill.directory)
|
|
28
51
|
add('Skill directory and frontmatter name must match.');
|
|
29
|
-
if (!skill.description ||
|
|
52
|
+
if (!skill.description || [...skill.description.trim()].length < 12) {
|
|
30
53
|
add('Description must explain when the skill should be used.');
|
|
31
54
|
}
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
if (
|
|
36
|
-
add(`
|
|
37
|
-
}
|
|
38
|
-
for (const command of extractCommands(skill.source)) {
|
|
39
|
-
const commandId = toCommandId(command);
|
|
40
|
-
if (!commandId || !knownCommandIds.has(commandId)) {
|
|
41
|
-
add(`Unknown 2.0 CLI command reference: openxiangda ${command}`);
|
|
55
|
+
const referencesRoot = resolve(skillsRoot, skill.directory, 'references');
|
|
56
|
+
for (const name of REQUIRED_REFERENCES) {
|
|
57
|
+
const referenceFile = resolve(referencesRoot, name);
|
|
58
|
+
if (!(await isFile(referenceFile))) {
|
|
59
|
+
add(`Missing required nested reference: references/${name}`, referenceFile);
|
|
42
60
|
}
|
|
43
61
|
}
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
62
|
+
const markdownFiles = [skill.file, ...(await markdownFilesBelow(referencesRoot))];
|
|
63
|
+
for (const markdownFile of markdownFiles) {
|
|
64
|
+
const source = await readFile(markdownFile, 'utf8');
|
|
65
|
+
if (markdownFile !== skill.file && /^---\n/.test(source)) {
|
|
66
|
+
add('Nested reference must not declare Skill frontmatter.', markdownFile);
|
|
67
|
+
}
|
|
68
|
+
if (/\bTODO\b/.test(source)) {
|
|
69
|
+
add('Skill contains unfinished TODO text.', markdownFile);
|
|
70
|
+
}
|
|
71
|
+
for (const forbidden of FORBIDDEN_V2_TERMS) {
|
|
72
|
+
if (forbidden.test(source)) {
|
|
73
|
+
add(`2.0 skill contains forbidden 1.x term: ${forbidden.source}`, markdownFile);
|
|
74
|
+
}
|
|
75
|
+
}
|
|
76
|
+
for (const linkedSkill of extractSkillMentions(source)) {
|
|
77
|
+
if (!knownSkills.has(linkedSkill)) {
|
|
78
|
+
add(`Unknown skill reference: $${linkedSkill}`, markdownFile);
|
|
79
|
+
}
|
|
80
|
+
}
|
|
81
|
+
for (const command of extractCommands(source)) {
|
|
82
|
+
const commandId = toCommandId(command);
|
|
83
|
+
if (!commandId || !knownCommandIds.has(commandId)) {
|
|
84
|
+
add(`Unknown 2.0 CLI command reference: openxiangda ${command}`, markdownFile);
|
|
85
|
+
}
|
|
86
|
+
}
|
|
87
|
+
for (const reference of extractLocalMarkdownLinks(source)) {
|
|
88
|
+
const target = resolve(dirname(markdownFile), reference);
|
|
89
|
+
if (!(await isFile(target))) {
|
|
90
|
+
add(`Broken local reference: ${reference}`, markdownFile);
|
|
91
|
+
}
|
|
92
|
+
}
|
|
47
93
|
}
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
94
|
+
const commandReference = resolve(referencesRoot, 'commands.md');
|
|
95
|
+
if ((await isFile(commandReference)) &&
|
|
96
|
+
(await readFile(commandReference, 'utf8')) !==
|
|
97
|
+
renderDevkitCommandReference({
|
|
98
|
+
title: 'CLI 命令参考',
|
|
99
|
+
executable: 'pnpm openxiangda',
|
|
100
|
+
})) {
|
|
101
|
+
add('Generated command reference drifted from DEVKIT_COMMANDS.', commandReference);
|
|
52
102
|
}
|
|
53
103
|
const agentFile = resolve(skillsRoot, skill.directory, 'agents/openai.yaml');
|
|
54
104
|
if (!(await isFile(agentFile))) {
|
|
@@ -67,21 +117,38 @@ export async function validateSkills(skillsRoot) {
|
|
|
67
117
|
}
|
|
68
118
|
export async function createSkillManifest(skillsRoot) {
|
|
69
119
|
const skills = await loadSkills(skillsRoot);
|
|
120
|
+
assertCanonicalSkillSet(skills);
|
|
70
121
|
const entries = await Promise.all(skills.map(async (skill) => {
|
|
71
|
-
const agentFile = resolve(skillsRoot, skill.directory, 'agents/openai.yaml');
|
|
72
|
-
const agentSource = await readFile(agentFile, 'utf8');
|
|
73
122
|
return {
|
|
74
123
|
name: skill.name,
|
|
75
124
|
description: skill.description,
|
|
76
|
-
sha256:
|
|
77
|
-
.update(skill.source)
|
|
78
|
-
.update('\0')
|
|
79
|
-
.update(agentSource)
|
|
80
|
-
.digest('hex'),
|
|
125
|
+
sha256: await skillDirectoryDigest(resolve(skillsRoot, skill.directory)),
|
|
81
126
|
};
|
|
82
127
|
}));
|
|
83
128
|
return { schemaVersion: 1, skills: entries.sort((left, right) => left.name.localeCompare(right.name)) };
|
|
84
129
|
}
|
|
130
|
+
async function skillDirectoryDigest(root) {
|
|
131
|
+
const files = [];
|
|
132
|
+
const visit = async (directory) => {
|
|
133
|
+
for (const entry of await readdir(directory, { withFileTypes: true })) {
|
|
134
|
+
const path = resolve(directory, entry.name);
|
|
135
|
+
if (entry.isDirectory())
|
|
136
|
+
await visit(path);
|
|
137
|
+
else if (entry.isFile())
|
|
138
|
+
files.push(path);
|
|
139
|
+
}
|
|
140
|
+
};
|
|
141
|
+
await visit(root);
|
|
142
|
+
const hash = createHash('sha256');
|
|
143
|
+
for (const file of files.sort()) {
|
|
144
|
+
hash
|
|
145
|
+
.update(relative(root, file).replaceAll('\\', '/'))
|
|
146
|
+
.update('\0')
|
|
147
|
+
.update(await readFile(file))
|
|
148
|
+
.update('\0');
|
|
149
|
+
}
|
|
150
|
+
return hash.digest('hex');
|
|
151
|
+
}
|
|
85
152
|
export async function writeSkillManifest(skillsRoot, output = resolve(skillsRoot, 'manifest.json')) {
|
|
86
153
|
const manifest = await createSkillManifest(skillsRoot);
|
|
87
154
|
await writeFile(output, `${JSON.stringify(manifest, null, 2)}\n`, 'utf8');
|
|
@@ -89,43 +156,45 @@ export async function writeSkillManifest(skillsRoot, output = resolve(skillsRoot
|
|
|
89
156
|
}
|
|
90
157
|
export async function installSkills(input) {
|
|
91
158
|
const skills = await loadSkills(input.skillsRoot);
|
|
92
|
-
|
|
93
|
-
const
|
|
94
|
-
const
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
targets.push(referencesTarget);
|
|
98
|
-
if (!input.force) {
|
|
99
|
-
for (const target of targets) {
|
|
100
|
-
if (await pathExists(target))
|
|
101
|
-
throw new Error(`SKILL_ALREADY_EXISTS: ${target}`);
|
|
102
|
-
}
|
|
103
|
-
}
|
|
104
|
-
await mkdir(input.destination, { recursive: true });
|
|
105
|
-
if (hasReferences) {
|
|
106
|
-
await rm(referencesTarget, { recursive: true, force: true });
|
|
107
|
-
await cp(docsSource, referencesTarget, { recursive: true });
|
|
108
|
-
await rm(resolve(referencesTarget, '.vitepress'), { recursive: true, force: true });
|
|
109
|
-
}
|
|
110
|
-
const installed = [];
|
|
111
|
-
for (const skill of skills) {
|
|
112
|
-
const source = resolve(input.skillsRoot, skill.directory);
|
|
113
|
-
const target = resolve(input.destination, skill.directory);
|
|
114
|
-
await rm(target, { recursive: true, force: true });
|
|
115
|
-
await cp(source, target, { recursive: true });
|
|
116
|
-
if (hasReferences) {
|
|
117
|
-
const skillFile = resolve(target, 'SKILL.md');
|
|
118
|
-
const sourceText = await readFile(skillFile, 'utf8');
|
|
119
|
-
await writeFile(skillFile, sourceText.replaceAll('../../docs/', '../.openxiangda-v2-references/'), 'utf8');
|
|
120
|
-
}
|
|
121
|
-
installed.push(skill.name);
|
|
159
|
+
assertCanonicalSkillSet(skills);
|
|
160
|
+
const skill = skills[0];
|
|
161
|
+
const target = resolve(input.destination, OPENXIANGDA_SKILL_NAME);
|
|
162
|
+
if (!input.force && (await pathExists(target))) {
|
|
163
|
+
throw new Error(`SKILL_ALREADY_EXISTS: ${target}`);
|
|
122
164
|
}
|
|
165
|
+
const retired = await managedRetiredSkillNames(input.destination);
|
|
166
|
+
await installSkillTransaction({
|
|
167
|
+
source: resolve(input.skillsRoot, skill.directory),
|
|
168
|
+
destination: input.destination,
|
|
169
|
+
name: OPENXIANGDA_SKILL_NAME,
|
|
170
|
+
retiredNames: retired,
|
|
171
|
+
});
|
|
123
172
|
return {
|
|
124
173
|
destination: input.destination,
|
|
125
|
-
installed,
|
|
126
|
-
|
|
174
|
+
installed: [OPENXIANGDA_SKILL_NAME],
|
|
175
|
+
retired,
|
|
176
|
+
references: resolve(target, 'references'),
|
|
127
177
|
};
|
|
128
178
|
}
|
|
179
|
+
async function managedRetiredSkillNames(destination) {
|
|
180
|
+
const retired = [];
|
|
181
|
+
for (const name of RETIRED_OPENXIANGDA_V2_SKILL_NAMES) {
|
|
182
|
+
const metadata = resolve(destination, name, '.openxiangda-skill-install.json');
|
|
183
|
+
if (!(await isFile(metadata)))
|
|
184
|
+
continue;
|
|
185
|
+
try {
|
|
186
|
+
const parsed = JSON.parse(await readFile(metadata, 'utf8'));
|
|
187
|
+
if (parsed?.manager === 'openxiangda' &&
|
|
188
|
+
/(?:^|\/)v2\/skills\/openxiangda-v2-/.test(String(parsed?.sourceRelativePath || ''))) {
|
|
189
|
+
retired.push(name);
|
|
190
|
+
}
|
|
191
|
+
}
|
|
192
|
+
catch {
|
|
193
|
+
// An unreadable or user-owned directory is never removed automatically.
|
|
194
|
+
}
|
|
195
|
+
}
|
|
196
|
+
return retired.sort();
|
|
197
|
+
}
|
|
129
198
|
async function loadSkills(skillsRoot) {
|
|
130
199
|
const entries = await readdir(skillsRoot, { withFileTypes: true });
|
|
131
200
|
const directories = entries
|
|
@@ -145,6 +214,11 @@ async function loadSkills(skillsRoot) {
|
|
|
145
214
|
};
|
|
146
215
|
}));
|
|
147
216
|
}
|
|
217
|
+
function assertCanonicalSkillSet(skills) {
|
|
218
|
+
if (skills.length !== 1 || skills[0]?.name !== OPENXIANGDA_SKILL_NAME) {
|
|
219
|
+
throw new Error(`SKILL_SET_INVALID: expected only ${OPENXIANGDA_SKILL_NAME}`);
|
|
220
|
+
}
|
|
221
|
+
}
|
|
148
222
|
function parseFrontmatter(source) {
|
|
149
223
|
const match = source.match(/^---\n([\s\S]*?)\n---\n/);
|
|
150
224
|
if (!match?.[1])
|
|
@@ -156,15 +230,18 @@ function parseFrontmatter(source) {
|
|
|
156
230
|
.map(line => [line[1], line[2].replace(/^['"]|['"]$/g, '')]));
|
|
157
231
|
}
|
|
158
232
|
function extractCommands(source) {
|
|
159
|
-
return [
|
|
233
|
+
return [
|
|
234
|
+
...source.matchAll(/\bopenxiangda(?:@[^\s`]+)?\s+([a-z][a-z0-9:-]*(?:\s+[a-z][a-z0-9:-]*)?)/gi),
|
|
235
|
+
].map(match => match[1].trim().toLowerCase());
|
|
160
236
|
}
|
|
161
237
|
function extractSkillMentions(source) {
|
|
162
|
-
return [...source.matchAll(/\$([a-z0-9-]+)/g)].map(match => match[1]);
|
|
238
|
+
return [...source.matchAll(/\$([a-z0-9-]+)/g)].map(match => match[1]).filter(name => !['ref', 'defs', 'schema', 'id', 'anchor'].includes(name));
|
|
163
239
|
}
|
|
164
240
|
function extractLocalMarkdownLinks(source) {
|
|
165
241
|
return [...source.matchAll(/\]\(([^)]+)\)/g)]
|
|
166
242
|
.map(match => match[1])
|
|
167
|
-
.filter(reference => !/^(?:
|
|
243
|
+
.filter(reference => !/^(?:[a-z]+:|#)/i.test(reference))
|
|
244
|
+
.map(reference => reference.split('#')[0]);
|
|
168
245
|
}
|
|
169
246
|
function toCommandId(command) {
|
|
170
247
|
const tokens = command.split(/\s+/).filter(token => token && !token.startsWith('-'));
|
|
@@ -193,6 +270,22 @@ async function isDirectory(path) {
|
|
|
193
270
|
return false;
|
|
194
271
|
}
|
|
195
272
|
}
|
|
273
|
+
async function markdownFilesBelow(root) {
|
|
274
|
+
if (!(await isDirectory(root)))
|
|
275
|
+
return [];
|
|
276
|
+
const files = [];
|
|
277
|
+
const visit = async (directory) => {
|
|
278
|
+
for (const entry of await readdir(directory, { withFileTypes: true })) {
|
|
279
|
+
const path = resolve(directory, entry.name);
|
|
280
|
+
if (entry.isDirectory())
|
|
281
|
+
await visit(path);
|
|
282
|
+
else if (entry.isFile() && entry.name.endsWith('.md'))
|
|
283
|
+
files.push(path);
|
|
284
|
+
}
|
|
285
|
+
};
|
|
286
|
+
await visit(root);
|
|
287
|
+
return files.sort();
|
|
288
|
+
}
|
|
196
289
|
async function pathExists(path) {
|
|
197
290
|
try {
|
|
198
291
|
await stat(path);
|
|
@@ -202,4 +295,5 @@ async function pathExists(path) {
|
|
|
202
295
|
return false;
|
|
203
296
|
}
|
|
204
297
|
}
|
|
298
|
+
export { refreshWorkspaceGuidance } from './workspace-guidance.js';
|
|
205
299
|
//# sourceMappingURL=index.js.map
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACzC,OAAO,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AACrC,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,OAAO,EAAE,QAAQ,EAAE,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AACrF,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAC7C,OAAO,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAC;AAyB1D,MAAM,UAAU,wBAAwB;IACtC,MAAM,QAAQ,GAAG,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,EAAE,WAAW,CAAC,CAAC;IAC3D,MAAM,WAAW,GAAG,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,EAAE,iBAAiB,CAAC,CAAC;IACpE,MAAM,YAAY,GAAG,OAAO,CAAC,QAAQ,EAAE,SAAS,CAAC,CAAC;IAClD,OAAO,UAAU,CAAC,QAAQ,CAAC,IAAI,UAAU,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,WAAW,CAAC;AACnF,CAAC;AAUD,MAAM,kBAAkB,GAAG;IACzB,mBAAmB;IACnB,cAAc;IACd,uBAAuB;IACvB,kBAAkB;CACnB,CAAC;AAEF,MAAM,eAAe,GAAG,IAAI,GAAG,CAAS,eAAe,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,CAAC;AAEpF,MAAM,CAAC,KAAK,UAAU,cAAc,CAAC,UAAkB;IACrD,MAAM,MAAM,GAAG,MAAM,UAAU,CAAC,UAAU,CAAC,CAAC;IAC5C,MAAM,WAAW,GAAG,IAAI,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC;IAC7D,MAAM,MAAM,GAA2B,EAAE,CAAC;IAE1C,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;QAC3B,MAAM,GAAG,GAAG,CAAC,OAAe,EAAE,IAAI,GAAG,KAAK,CAAC,IAAI,EAAE,EAAE,CACjD,MAAM,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,KAAK,CAAC,IAAI,IAAI,KAAK,CAAC,SAAS,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC;QAEvE,IAAI,CAAC,KAAK,CAAC,IAAI;YAAE,GAAG,CAAC,yCAAyC,CAAC,CAAC;QAChE,IAAI,KAAK,CAAC,IAAI,KAAK,KAAK,CAAC,SAAS;YAAE,GAAG,CAAC,kDAAkD,CAAC,CAAC;QAC5F,IAAI,CAAC,KAAK,CAAC,WAAW,IAAI,CAAC,qBAAqB,CAAC,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,EAAE,CAAC;YACzE,GAAG,CAAC,yDAAyD,CAAC,CAAC;QACjE,CAAC;QACD,IAAI,UAAU,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC;YAAE,GAAG,CAAC,sCAAsC,CAAC,CAAC;QAE/E,KAAK,MAAM,SAAS,IAAI,kBAAkB,EAAE,CAAC;YAC3C,IAAI,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC;gBAAE,GAAG,CAAC,0CAA0C,SAAS,CAAC,MAAM,EAAE,CAAC,CAAC;QACtG,CAAC;QACD,KAAK,MAAM,OAAO,IAAI,eAAe,CAAC,KAAK,CAAC,MAAM,CAAC,EAAE,CAAC;YACpD,MAAM,SAAS,GAAG,WAAW,CAAC,OAAO,CAAC,CAAC;YACvC,IAAI,CAAC,SAAS,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,SAAS,CAAC,EAAE,CAAC;gBAClD,GAAG,CAAC,kDAAkD,OAAO,EAAE,CAAC,CAAC;YACnE,CAAC;QACH,CAAC;QAED,KAAK,MAAM,WAAW,IAAI,oBAAoB,CAAC,KAAK,CAAC,MAAM,CAAC,EAAE,CAAC;YAC7D,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,WAAW,CAAC;gBAAE,GAAG,CAAC,6BAA6B,WAAW,EAAE,CAAC,CAAC;QACrF,CAAC;QAED,KAAK,MAAM,SAAS,IAAI,yBAAyB,CAAC,KAAK,CAAC,MAAM,CAAC,EAAE,CAAC;YAChE,MAAM,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,SAAS,CAAC,CAAC;YACvD,IAAI,CAAC,CAAC,MAAM,MAAM,CAAC,MAAM,CAAC,CAAC;gBAAE,GAAG,CAAC,2BAA2B,SAAS,EAAE,CAAC,CAAC;QAC3E,CAAC;QAED,MAAM,SAAS,GAAG,OAAO,CAAC,UAAU,EAAE,KAAK,CAAC,SAAS,EAAE,oBAAoB,CAAC,CAAC;QAC7E,IAAI,CAAC,CAAC,MAAM,MAAM,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC;YAC/B,GAAG,CAAC,6BAA6B,EAAE,SAAS,CAAC,CAAC;QAChD,CAAC;aAAM,CAAC;YACN,MAAM,WAAW,GAAG,MAAM,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC;YACtD,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,IAAI,KAAK,CAAC,IAAI,EAAE,CAAC,EAAE,CAAC;gBAC5C,GAAG,CAAC,8DAA8D,EAAE,SAAS,CAAC,CAAC;YACjF,CAAC;YACD,IAAI,UAAU,CAAC,IAAI,CAAC,WAAW,CAAC;gBAAE,GAAG,CAAC,+CAA+C,EAAE,SAAS,CAAC,CAAC;QACpG,CAAC;IACH,CAAC;IAED,OAAO,MAAM,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CACjC,GAAG,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC,aAAa,CACxD,GAAG,KAAK,CAAC,KAAK,IAAI,KAAK,CAAC,IAAI,IAAI,KAAK,CAAC,OAAO,EAAE,CAChD,CACF,CAAC;AACJ,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,mBAAmB,CAAC,UAAkB;IAC1D,MAAM,MAAM,GAAG,MAAM,UAAU,CAAC,UAAU,CAAC,CAAC;IAC5C,MAAM,OAAO,GAAG,MAAM,OAAO,CAAC,GAAG,CAC/B,MAAM,CAAC,GAAG,CAAC,KAAK,EAAC,KAAK,EAAC,EAAE;QACvB,MAAM,SAAS,GAAG,OAAO,CAAC,UAAU,EAAE,KAAK,CAAC,SAAS,EAAE,oBAAoB,CAAC,CAAC;QAC7E,MAAM,WAAW,GAAG,MAAM,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC;QACtD,OAAO;YACL,IAAI,EAAE,KAAK,CAAC,IAAI;YAChB,WAAW,EAAE,KAAK,CAAC,WAAW;YAC9B,MAAM,EAAE,UAAU,CAAC,QAAQ,CAAC;iBACzB,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC;iBACpB,MAAM,CAAC,IAAI,CAAC;iBACZ,MAAM,CAAC,WAAW,CAAC;iBACnB,MAAM,CAAC,KAAK,CAAC;SACY,CAAC;IACjC,CAAC,CAAC,CACH,CAAC;IACF,OAAO,EAAE,aAAa,EAAE,CAAC,EAAE,MAAM,EAAE,OAAO,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC;AAC1G,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,kBAAkB,CAAC,UAAkB,EAAE,MAAM,GAAG,OAAO,CAAC,UAAU,EAAE,eAAe,CAAC;IACxG,MAAM,QAAQ,GAAG,MAAM,mBAAmB,CAAC,UAAU,CAAC,CAAC;IACvD,MAAM,SAAS,CAAC,MAAM,EAAE,GAAG,IAAI,CAAC,SAAS,CAAC,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;IAC1E,OAAO,QAAQ,CAAC;AAClB,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,aAAa,CAAC,KAAyB;IAC3D,MAAM,MAAM,GAAG,MAAM,UAAU,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC;IAClD,MAAM,UAAU,GAAG,OAAO,CAAC,KAAK,CAAC,UAAU,EAAE,SAAS,CAAC,CAAC;IACxD,MAAM,gBAAgB,GAAG,OAAO,CAAC,KAAK,CAAC,WAAW,EAAE,4BAA4B,CAAC,CAAC;IAClF,MAAM,aAAa,GAAG,MAAM,WAAW,CAAC,UAAU,CAAC,CAAC;IAEpD,MAAM,OAAO,GAAG,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC,WAAW,EAAE,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC;IACjF,IAAI,aAAa;QAAE,OAAO,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC;IAClD,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC;QACjB,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE,CAAC;YAC7B,IAAI,MAAM,UAAU,CAAC,MAAM,CAAC;gBAAE,MAAM,IAAI,KAAK,CAAC,yBAAyB,MAAM,EAAE,CAAC,CAAC;QACnF,CAAC;IACH,CAAC;IAED,MAAM,KAAK,CAAC,KAAK,CAAC,WAAW,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IACpD,IAAI,aAAa,EAAE,CAAC;QAClB,MAAM,EAAE,CAAC,gBAAgB,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;QAC7D,MAAM,EAAE,CAAC,UAAU,EAAE,gBAAgB,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;QAC5D,MAAM,EAAE,CAAC,OAAO,CAAC,gBAAgB,EAAE,YAAY,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;IACtF,CAAC;IAED,MAAM,SAAS,GAAa,EAAE,CAAC;IAC/B,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;QAC3B,MAAM,MAAM,GAAG,OAAO,CAAC,KAAK,CAAC,UAAU,EAAE,KAAK,CAAC,SAAS,CAAC,CAAC;QAC1D,MAAM,MAAM,GAAG,OAAO,CAAC,KAAK,CAAC,WAAW,EAAE,KAAK,CAAC,SAAS,CAAC,CAAC;QAC3D,MAAM,EAAE,CAAC,MAAM,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;QACnD,MAAM,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;QAC9C,IAAI,aAAa,EAAE,CAAC;YAClB,MAAM,SAAS,GAAG,OAAO,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC;YAC9C,MAAM,UAAU,GAAG,MAAM,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC;YACrD,MAAM,SAAS,CACb,SAAS,EACT,UAAU,CAAC,UAAU,CAAC,aAAa,EAAE,gCAAgC,CAAC,EACtE,MAAM,CACP,CAAC;QACJ,CAAC;QACD,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IAC7B,CAAC;IACD,OAAO;QACL,WAAW,EAAE,KAAK,CAAC,WAAW;QAC9B,SAAS;QACT,UAAU,EAAE,aAAa,CAAC,CAAC,CAAC,gBAAgB,CAAC,CAAC,CAAC,IAAI;KACpD,CAAC;AACJ,CAAC;AAED,KAAK,UAAU,UAAU,CAAC,UAAkB;IAC1C,MAAM,OAAO,GAAG,MAAM,OAAO,CAAC,UAAU,EAAE,EAAE,aAAa,EAAE,IAAI,EAAE,CAAC,CAAC;IACnE,MAAM,WAAW,GAAG,OAAO;SACxB,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,KAAK,CAAC,WAAW,EAAE,IAAI,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,cAAc,CAAC,CAAC;SAC7E,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC;SACxB,IAAI,EAAE,CAAC;IACV,OAAO,OAAO,CAAC,GAAG,CAChB,WAAW,CAAC,GAAG,CAAC,KAAK,EAAC,SAAS,EAAC,EAAE;QAChC,MAAM,IAAI,GAAG,OAAO,CAAC,UAAU,EAAE,SAAS,EAAE,UAAU,CAAC,CAAC;QACxD,MAAM,MAAM,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;QAC5C,MAAM,WAAW,GAAG,gBAAgB,CAAC,MAAM,CAAC,CAAC;QAC7C,OAAO;YACL,SAAS;YACT,IAAI;YACJ,MAAM;YACN,IAAI,EAAE,WAAW,CAAC,IAAI,IAAI,EAAE;YAC5B,WAAW,EAAE,WAAW,CAAC,WAAW,IAAI,EAAE;SAC3C,CAAC;IACJ,CAAC,CAAC,CACH,CAAC;AACJ,CAAC;AAED,SAAS,gBAAgB,CAAC,MAAc;IACtC,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC,yBAAyB,CAAC,CAAC;IACtD,IAAI,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;QAAE,OAAO,EAAE,CAAC;IAC3B,OAAO,MAAM,CAAC,WAAW,CACvB,KAAK,CAAC,CAAC,CAAC;SACL,KAAK,CAAC,IAAI,CAAC;SACX,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,qBAAqB,CAAC,CAAC;SAC9C,MAAM,CAAC,CAAC,IAAI,EAA4B,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;SACzD,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAE,EAAE,IAAI,CAAC,CAAC,CAAE,CAAC,OAAO,CAAC,cAAc,EAAE,EAAE,CAAC,CAAC,CAAC,CACjE,CAAC;AACJ,CAAC;AAED,SAAS,eAAe,CAAC,MAAc;IACrC,OAAO,CAAC,GAAG,MAAM,CAAC,QAAQ,CAAC,0BAA0B,CAAC,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,CAAE,CAAC,IAAI,EAAE,CAAC,CAAC;AACzF,CAAC;AAED,SAAS,oBAAoB,CAAC,MAAc;IAC1C,OAAO,CAAC,GAAG,MAAM,CAAC,QAAQ,CAAC,iBAAiB,CAAC,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,CAAE,CAAC,CAAC;AACzE,CAAC;AAED,SAAS,yBAAyB,CAAC,MAAc;IAC/C,OAAO,CAAC,GAAG,MAAM,CAAC,QAAQ,CAAC,gBAAgB,CAAC,CAAC;SAC1C,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,CAAE,CAAC;SACvB,MAAM,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC,gBAAgB,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC;AAC5D,CAAC;AAED,SAAS,WAAW,CAAC,OAAe;IAClC,MAAM,MAAM,GAAG,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,KAAK,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC;IACrF,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC;QAAE,OAAO,SAAS,CAAC;IACjC,KAAK,IAAI,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC,EAAE,MAAM,IAAI,CAAC,EAAE,MAAM,IAAI,CAAC,EAAE,CAAC;QACvE,MAAM,SAAS,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QACpD,IAAI,eAAe,CAAC,GAAG,CAAC,SAAS,CAAC;YAAE,OAAO,SAAS,CAAC;IACvD,CAAC;IACD,OAAO,SAAS,CAAC;AACnB,CAAC;AAED,KAAK,UAAU,MAAM,CAAC,IAAY;IAChC,IAAI,CAAC;QACH,OAAO,CAAC,MAAM,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC;IACrC,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,KAAK,CAAC;IACf,CAAC;AACH,CAAC;AAED,KAAK,UAAU,WAAW,CAAC,IAAY;IACrC,IAAI,CAAC;QACH,OAAO,CAAC,MAAM,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC;IAC1C,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,KAAK,CAAC;IACf,CAAC;AACH,CAAC;AAED,KAAK,UAAU,UAAU,CAAC,IAAY;IACpC,IAAI,CAAC;QACH,MAAM,IAAI,CAAC,IAAI,CAAC,CAAC;QACjB,OAAO,IAAI,CAAC;IACd,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,KAAK,CAAC;IACf,CAAC;AACH,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
export interface SkillInstallTransactionInput {
|
|
2
|
+
source: string;
|
|
3
|
+
destination: string;
|
|
4
|
+
name: string;
|
|
5
|
+
retiredNames?: string[];
|
|
6
|
+
}
|
|
7
|
+
export declare function installSkillTransaction(input: SkillInstallTransactionInput): Promise<string>;
|
|
8
|
+
//# sourceMappingURL=skill-installer.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"skill-installer.d.ts","sourceRoot":"","sources":["../../src/internal/skill-installer.ts"],"names":[],"mappings":"AAGA,MAAM,WAAW,4BAA4B;IAC3C,MAAM,EAAE,MAAM,CAAC;IACf,WAAW,EAAE,MAAM,CAAC;IACpB,IAAI,EAAE,MAAM,CAAC;IACb,YAAY,CAAC,EAAE,MAAM,EAAE,CAAC;CACzB;AAED,wBAAsB,uBAAuB,CAAC,KAAK,EAAE,4BAA4B,mBAqChF"}
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
import { cp, mkdir, mkdtemp, rename, rm, stat } from 'node:fs/promises';
|
|
2
|
+
import { resolve } from 'node:path';
|
|
3
|
+
export async function installSkillTransaction(input) {
|
|
4
|
+
await mkdir(input.destination, { recursive: true });
|
|
5
|
+
const target = resolve(input.destination, input.name);
|
|
6
|
+
const staging = await mkdtemp(resolve(input.destination, '.openxiangda-v2-install-'));
|
|
7
|
+
const stagedSkill = resolve(staging, input.name);
|
|
8
|
+
const backupRoot = resolve(staging, 'previous');
|
|
9
|
+
const backedUp = [];
|
|
10
|
+
let installedNewSkill = false;
|
|
11
|
+
try {
|
|
12
|
+
await cp(input.source, stagedSkill, { recursive: true });
|
|
13
|
+
await mkdir(backupRoot, { recursive: true });
|
|
14
|
+
for (const name of [
|
|
15
|
+
input.name,
|
|
16
|
+
...new Set(input.retiredNames || []),
|
|
17
|
+
]) {
|
|
18
|
+
const source = resolve(input.destination, name);
|
|
19
|
+
if (!(await pathExists(source)))
|
|
20
|
+
continue;
|
|
21
|
+
const backup = resolve(backupRoot, name);
|
|
22
|
+
await rename(source, backup);
|
|
23
|
+
backedUp.push({ source, backup });
|
|
24
|
+
}
|
|
25
|
+
await rename(stagedSkill, target);
|
|
26
|
+
installedNewSkill = true;
|
|
27
|
+
}
|
|
28
|
+
catch (error) {
|
|
29
|
+
if (installedNewSkill || (await pathExists(target))) {
|
|
30
|
+
await rm(target, { recursive: true, force: true });
|
|
31
|
+
}
|
|
32
|
+
for (const entry of backedUp.reverse()) {
|
|
33
|
+
await rename(entry.backup, entry.source);
|
|
34
|
+
}
|
|
35
|
+
throw error;
|
|
36
|
+
}
|
|
37
|
+
finally {
|
|
38
|
+
await rm(staging, { recursive: true, force: true });
|
|
39
|
+
}
|
|
40
|
+
return target;
|
|
41
|
+
}
|
|
42
|
+
async function pathExists(path) {
|
|
43
|
+
try {
|
|
44
|
+
await stat(path);
|
|
45
|
+
return true;
|
|
46
|
+
}
|
|
47
|
+
catch {
|
|
48
|
+
return false;
|
|
49
|
+
}
|
|
50
|
+
}
|
|
51
|
+
//# sourceMappingURL=skill-installer.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"skill-installer.js","sourceRoot":"","sources":["../../src/internal/skill-installer.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,OAAO,EAAE,MAAM,EAAE,EAAE,EAAE,IAAI,EAAE,MAAM,kBAAkB,CAAC;AACxE,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AASpC,MAAM,CAAC,KAAK,UAAU,uBAAuB,CAAC,KAAmC;IAC/E,MAAM,KAAK,CAAC,KAAK,CAAC,WAAW,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IACpD,MAAM,MAAM,GAAG,OAAO,CAAC,KAAK,CAAC,WAAW,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC;IACtD,MAAM,OAAO,GAAG,MAAM,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC,WAAW,EAAE,0BAA0B,CAAC,CAAC,CAAC;IACtF,MAAM,WAAW,GAAG,OAAO,CAAC,OAAO,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC;IACjD,MAAM,UAAU,GAAG,OAAO,CAAC,OAAO,EAAE,UAAU,CAAC,CAAC;IAChD,MAAM,QAAQ,GAA8C,EAAE,CAAC;IAC/D,IAAI,iBAAiB,GAAG,KAAK,CAAC;IAE9B,IAAI,CAAC;QACH,MAAM,EAAE,CAAC,KAAK,CAAC,MAAM,EAAE,WAAW,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;QACzD,MAAM,KAAK,CAAC,UAAU,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;QAC7C,KAAK,MAAM,IAAI,IAAI;YACjB,KAAK,CAAC,IAAI;YACV,GAAG,IAAI,GAAG,CAAC,KAAK,CAAC,YAAY,IAAI,EAAE,CAAC;SACrC,EAAE,CAAC;YACF,MAAM,MAAM,GAAG,OAAO,CAAC,KAAK,CAAC,WAAW,EAAE,IAAI,CAAC,CAAC;YAChD,IAAI,CAAC,CAAC,MAAM,UAAU,CAAC,MAAM,CAAC,CAAC;gBAAE,SAAS;YAC1C,MAAM,MAAM,GAAG,OAAO,CAAC,UAAU,EAAE,IAAI,CAAC,CAAC;YACzC,MAAM,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;YAC7B,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC,CAAC;QACpC,CAAC;QACD,MAAM,MAAM,CAAC,WAAW,EAAE,MAAM,CAAC,CAAC;QAClC,iBAAiB,GAAG,IAAI,CAAC;IAC3B,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,IAAI,iBAAiB,IAAI,CAAC,MAAM,UAAU,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC;YACpD,MAAM,EAAE,CAAC,MAAM,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;QACrD,CAAC;QACD,KAAK,MAAM,KAAK,IAAI,QAAQ,CAAC,OAAO,EAAE,EAAE,CAAC;YACvC,MAAM,MAAM,CAAC,KAAK,CAAC,MAAM,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC;QAC3C,CAAC;QACD,MAAM,KAAK,CAAC;IACd,CAAC;YAAS,CAAC;QACT,MAAM,EAAE,CAAC,OAAO,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;IACtD,CAAC;IAED,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,KAAK,UAAU,UAAU,CAAC,IAAY;IACpC,IAAI,CAAC;QACH,MAAM,IAAI,CAAC,IAAI,CAAC,CAAC;QACjB,OAAO,IAAI,CAAC;IACd,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,KAAK,CAAC;IACf,CAAC;AACH,CAAC"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
/** 仅更新平台托管区块;旧项目没有边界时写候选文件,不猜测用户文字归属。 */
|
|
2
|
+
export declare function refreshWorkspaceGuidance(root: string, template: string): {
|
|
3
|
+
state: string;
|
|
4
|
+
path: string;
|
|
5
|
+
candidate: string;
|
|
6
|
+
preserved: boolean;
|
|
7
|
+
} | {
|
|
8
|
+
state: string;
|
|
9
|
+
path: string;
|
|
10
|
+
preserved: boolean;
|
|
11
|
+
candidate?: never;
|
|
12
|
+
};
|
|
13
|
+
//# sourceMappingURL=workspace-guidance.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"workspace-guidance.d.ts","sourceRoot":"","sources":["../src/workspace-guidance.ts"],"names":[],"mappings":"AAaA,yCAAyC;AACzC,wBAAgB,wBAAwB,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM;;;;;;;;;;EAwCtE"}
|
|
@@ -0,0 +1,67 @@
|
|
|
1
|
+
import { createHash, randomUUID } from 'node:crypto';
|
|
2
|
+
import { existsSync, lstatSync, mkdirSync, openSync, closeSync, readFileSync, renameSync, unlinkSync, writeFileSync } from 'node:fs';
|
|
3
|
+
import { resolve } from 'node:path';
|
|
4
|
+
const BEGIN = '<!-- OPENXIANGDA:BEGIN -->';
|
|
5
|
+
const END = '<!-- OPENXIANGDA:END -->';
|
|
6
|
+
function managedBlock(text) {
|
|
7
|
+
if (text.split(BEGIN).length !== 2 || text.split(END).length !== 2 || text.indexOf(END) < text.indexOf(BEGIN)) {
|
|
8
|
+
throw new Error('WORKSPACE_GUIDANCE_MARKERS_INVALID: 平台约定区块缺失、重复或次序错误');
|
|
9
|
+
}
|
|
10
|
+
return { start: text.indexOf(BEGIN), end: text.indexOf(END) + END.length };
|
|
11
|
+
}
|
|
12
|
+
/** 仅更新平台托管区块;旧项目没有边界时写候选文件,不猜测用户文字归属。 */
|
|
13
|
+
export function refreshWorkspaceGuidance(root, template) {
|
|
14
|
+
const markers = managedBlock(template);
|
|
15
|
+
const block = template.slice(markers.start, markers.end);
|
|
16
|
+
const directory = resolve(root, '.openxiangda');
|
|
17
|
+
mkdirSync(directory, { recursive: true });
|
|
18
|
+
const lock = resolve(directory, 'guidance.lock');
|
|
19
|
+
let fd;
|
|
20
|
+
try {
|
|
21
|
+
fd = openSync(lock, 'wx', 0o600);
|
|
22
|
+
}
|
|
23
|
+
catch (error) {
|
|
24
|
+
if (error.code === 'EEXIST')
|
|
25
|
+
throw new Error('WORKSPACE_GUIDANCE_BUSY: 另一个资料更新正在执行;确认其结束后重试');
|
|
26
|
+
throw error;
|
|
27
|
+
}
|
|
28
|
+
closeSync(fd);
|
|
29
|
+
const target = resolve(root, 'AGENTS.md');
|
|
30
|
+
let temporary;
|
|
31
|
+
try {
|
|
32
|
+
if (existsSync(target) && !lstatSync(target).isFile())
|
|
33
|
+
throw new Error('WORKSPACE_GUIDANCE_PATH_INVALID: AGENTS.md 必须是普通文件');
|
|
34
|
+
const previous = existsSync(target) ? readFileSync(target, 'utf8') : undefined;
|
|
35
|
+
if (previous !== undefined && !previous.includes(BEGIN) && !previous.includes(END)) {
|
|
36
|
+
const digest = createHash('sha256').update(block).digest('hex').slice(0, 12);
|
|
37
|
+
const candidate = resolve(directory, `AGENTS.platform-${digest}.md`);
|
|
38
|
+
// 候选本身也可能已由用户编辑,使用独占创建并保留已有内容。
|
|
39
|
+
try {
|
|
40
|
+
writeFileSync(candidate, `${block}\n`, { flag: 'wx' });
|
|
41
|
+
}
|
|
42
|
+
catch (error) {
|
|
43
|
+
if (error.code !== 'EEXIST')
|
|
44
|
+
throw error;
|
|
45
|
+
}
|
|
46
|
+
return { state: 'review-required', path: target, candidate, preserved: true };
|
|
47
|
+
}
|
|
48
|
+
const current = previous === undefined ? undefined : managedBlock(previous);
|
|
49
|
+
const next = current ? previous.slice(0, current.start) + block + previous.slice(current.end) : template;
|
|
50
|
+
if (next === previous)
|
|
51
|
+
return { state: 'unchanged', path: target, preserved: true };
|
|
52
|
+
temporary = resolve(root, `.AGENTS.openxiangda-${randomUUID()}.tmp`);
|
|
53
|
+
writeFileSync(temporary, next, { flag: 'wx' });
|
|
54
|
+
const readback = existsSync(target) ? readFileSync(target, 'utf8') : undefined;
|
|
55
|
+
if (previous !== readback)
|
|
56
|
+
throw new Error('WORKSPACE_GUIDANCE_CHANGED: AGENTS.md 在准备期间被修改,请重新读取后重试');
|
|
57
|
+
renameSync(temporary, target);
|
|
58
|
+
temporary = undefined;
|
|
59
|
+
return { state: previous === undefined ? 'created' : 'updated', path: target, preserved: true };
|
|
60
|
+
}
|
|
61
|
+
finally {
|
|
62
|
+
if (temporary && existsSync(temporary))
|
|
63
|
+
unlinkSync(temporary);
|
|
64
|
+
unlinkSync(lock);
|
|
65
|
+
}
|
|
66
|
+
}
|
|
67
|
+
//# sourceMappingURL=workspace-guidance.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"workspace-guidance.js","sourceRoot":"","sources":["../src/workspace-guidance.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,13 +1,10 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "openxiangda-skill-kit",
|
|
3
|
-
"version": "2.0.0-alpha.
|
|
4
|
-
"description": "
|
|
3
|
+
"version": "2.0.0-alpha.143",
|
|
4
|
+
"description": "OpenXiangda 2.0 中文 AI 技能的校验、分发与安装。",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "./dist/index.js",
|
|
7
7
|
"types": "./dist/index.d.ts",
|
|
8
|
-
"bin": {
|
|
9
|
-
"openxiangda-skill-kit": "./dist/bin.js"
|
|
10
|
-
},
|
|
11
8
|
"exports": {
|
|
12
9
|
".": {
|
|
13
10
|
"types": "./dist/index.d.ts",
|
|
@@ -17,11 +14,10 @@
|
|
|
17
14
|
"files": [
|
|
18
15
|
"dist/",
|
|
19
16
|
"skills/",
|
|
20
|
-
"docs/",
|
|
21
17
|
"README.md"
|
|
22
18
|
],
|
|
23
19
|
"dependencies": {
|
|
24
|
-
"openxiangda-devkit-core": "2.0.0-alpha.
|
|
20
|
+
"openxiangda-devkit-core": "2.0.0-alpha.117"
|
|
25
21
|
},
|
|
26
22
|
"devDependencies": {
|
|
27
23
|
"tsx": "4.23.12",
|
|
@@ -33,6 +29,7 @@
|
|
|
33
29
|
"license": "MIT",
|
|
34
30
|
"scripts": {
|
|
35
31
|
"build": "tsc -p tsconfig.json",
|
|
32
|
+
"build:release": "node ../../scripts/prune-package-dist.mjs && pnpm build",
|
|
36
33
|
"check": "tsc -p tsconfig.json --noEmit",
|
|
37
34
|
"test": "tsx --test test/*.test.ts"
|
|
38
35
|
}
|