@agentkitforge/core 0.1.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.
Files changed (107) hide show
  1. package/CHANGELOG.md +35 -0
  2. package/CLI.md +177 -0
  3. package/LICENSE +69 -0
  4. package/README.md +326 -0
  5. package/SECURITY.md +33 -0
  6. package/SPEC.md +159 -0
  7. package/VERSIONING.md +45 -0
  8. package/dist/adapters/claudeCode.d.ts +11 -0
  9. package/dist/adapters/claudeCode.js +120 -0
  10. package/dist/adapters/claudeCode.js.map +1 -0
  11. package/dist/adapters/codex.d.ts +12 -0
  12. package/dist/adapters/codex.js +141 -0
  13. package/dist/adapters/codex.js.map +1 -0
  14. package/dist/app/exampleInputDocuments.d.ts +21 -0
  15. package/dist/app/exampleInputDocuments.js +24 -0
  16. package/dist/app/exampleInputDocuments.js.map +1 -0
  17. package/dist/app/inspect.d.ts +15 -0
  18. package/dist/app/inspect.js +96 -0
  19. package/dist/app/inspect.js.map +1 -0
  20. package/dist/app/loadAsDraft.d.ts +7 -0
  21. package/dist/app/loadAsDraft.js +148 -0
  22. package/dist/app/loadAsDraft.js.map +1 -0
  23. package/dist/app/summary.d.ts +17 -0
  24. package/dist/app/summary.js +89 -0
  25. package/dist/app/summary.js.map +1 -0
  26. package/dist/artifacts/naming.d.ts +8 -0
  27. package/dist/artifacts/naming.js +26 -0
  28. package/dist/artifacts/naming.js.map +1 -0
  29. package/dist/builder/draftRequest.d.ts +24 -0
  30. package/dist/builder/draftRequest.js +87 -0
  31. package/dist/builder/draftRequest.js.map +1 -0
  32. package/dist/builder/instructions.d.ts +1 -0
  33. package/dist/builder/instructions.js +30 -0
  34. package/dist/builder/instructions.js.map +1 -0
  35. package/dist/builder/revisionRequest.d.ts +24 -0
  36. package/dist/builder/revisionRequest.js +94 -0
  37. package/dist/builder/revisionRequest.js.map +1 -0
  38. package/dist/cli/index.d.ts +2 -0
  39. package/dist/cli/index.js +5 -0
  40. package/dist/cli/index.js.map +1 -0
  41. package/dist/cli/program.d.ts +2 -0
  42. package/dist/cli/program.js +273 -0
  43. package/dist/cli/program.js.map +1 -0
  44. package/dist/context/builder.d.ts +2 -0
  45. package/dist/context/builder.js +159 -0
  46. package/dist/context/builder.js.map +1 -0
  47. package/dist/context/types.d.ts +23 -0
  48. package/dist/context/types.js +2 -0
  49. package/dist/context/types.js.map +1 -0
  50. package/dist/domains/catalog.d.ts +7 -0
  51. package/dist/domains/catalog.js +45 -0
  52. package/dist/domains/catalog.js.map +1 -0
  53. package/dist/draft/render.d.ts +13 -0
  54. package/dist/draft/render.js +207 -0
  55. package/dist/draft/render.js.map +1 -0
  56. package/dist/draft/schema.d.ts +107 -0
  57. package/dist/draft/schema.js +78 -0
  58. package/dist/draft/schema.js.map +1 -0
  59. package/dist/draft/session.d.ts +56 -0
  60. package/dist/draft/session.js +115 -0
  61. package/dist/draft/session.js.map +1 -0
  62. package/dist/export/onefile.d.ts +1 -0
  63. package/dist/export/onefile.js +109 -0
  64. package/dist/export/onefile.js.map +1 -0
  65. package/dist/fs/safety.d.ts +26 -0
  66. package/dist/fs/safety.js +187 -0
  67. package/dist/fs/safety.js.map +1 -0
  68. package/dist/index.d.ts +45 -0
  69. package/dist/index.js +26 -0
  70. package/dist/index.js.map +1 -0
  71. package/dist/init/create.d.ts +14 -0
  72. package/dist/init/create.js +48 -0
  73. package/dist/init/create.js.map +1 -0
  74. package/dist/init/templates.d.ts +12 -0
  75. package/dist/init/templates.js +202 -0
  76. package/dist/init/templates.js.map +1 -0
  77. package/dist/package/packager.d.ts +5 -0
  78. package/dist/package/packager.js +30 -0
  79. package/dist/package/packager.js.map +1 -0
  80. package/dist/package/reader.d.ts +3 -0
  81. package/dist/package/reader.js +21 -0
  82. package/dist/package/reader.js.map +1 -0
  83. package/dist/prompts/prompts.d.ts +35 -0
  84. package/dist/prompts/prompts.js +206 -0
  85. package/dist/prompts/prompts.js.map +1 -0
  86. package/dist/prompts/schema.d.ts +71 -0
  87. package/dist/prompts/schema.js +46 -0
  88. package/dist/prompts/schema.js.map +1 -0
  89. package/dist/providers/catalog.d.ts +15 -0
  90. package/dist/providers/catalog.js +211 -0
  91. package/dist/providers/catalog.js.map +1 -0
  92. package/dist/providers/types.d.ts +30 -0
  93. package/dist/providers/types.js +2 -0
  94. package/dist/providers/types.js.map +1 -0
  95. package/dist/schema/agentkit.d.ts +54 -0
  96. package/dist/schema/agentkit.js +63 -0
  97. package/dist/schema/agentkit.js.map +1 -0
  98. package/dist/types.d.ts +69 -0
  99. package/dist/types.js +2 -0
  100. package/dist/types.js.map +1 -0
  101. package/dist/validation/skill.d.ts +3 -0
  102. package/dist/validation/skill.js +83 -0
  103. package/dist/validation/skill.js.map +1 -0
  104. package/dist/validation/validator.d.ts +2 -0
  105. package/dist/validation/validator.js +247 -0
  106. package/dist/validation/validator.js.map +1 -0
  107. package/package.json +57 -0
@@ -0,0 +1,247 @@
1
+ import { readdir, stat } from "node:fs/promises";
2
+ import path from "node:path";
3
+ import { resolveInside, safeListFilesRecursive, normalizePath } from "../fs/safety.js";
4
+ import { agentKitManifestSchema } from "../schema/agentkit.js";
5
+ import { readYamlFile } from "../package/reader.js";
6
+ import { loadPreparedPrompt } from "../prompts/prompts.js";
7
+ import { validateSkillFile } from "./skill.js";
8
+ const PROFILE_REQUIREMENTS = {
9
+ "local-valid": ["agentkit.yaml", "AGENTKIT.md", "START_HERE.md", "skills"],
10
+ publishable: [
11
+ "agentkit.yaml",
12
+ "AGENTKIT.md",
13
+ "START_HERE.md",
14
+ "skills",
15
+ "README.md",
16
+ "LICENSE"
17
+ ],
18
+ trusted: [
19
+ "agentkit.yaml",
20
+ "AGENTKIT.md",
21
+ "START_HERE.md",
22
+ "skills",
23
+ "README.md",
24
+ "LICENSE",
25
+ "CHANGELOG.md",
26
+ "policies",
27
+ "examples"
28
+ ],
29
+ verified: [
30
+ "agentkit.yaml",
31
+ "AGENTKIT.md",
32
+ "START_HERE.md",
33
+ "skills",
34
+ "README.md",
35
+ "LICENSE",
36
+ "CHANGELOG.md",
37
+ "policies",
38
+ "examples",
39
+ "evals"
40
+ ]
41
+ };
42
+ export async function validateAgentKit(rootPath, profile = "local-valid") {
43
+ const resolvedRoot = path.resolve(rootPath);
44
+ const issues = [];
45
+ for (const requiredPath of PROFILE_REQUIREMENTS[profile]) {
46
+ if (!(await exists(path.join(resolvedRoot, requiredPath)))) {
47
+ issues.push({
48
+ severity: "error",
49
+ code: "package.required_path.missing",
50
+ message: `Missing required ${isLikelyFile(requiredPath) ? "file" : "folder"}: ${requiredPath}`,
51
+ path: requiredPath
52
+ });
53
+ }
54
+ }
55
+ let manifest;
56
+ const manifestPath = path.join(resolvedRoot, "agentkit.yaml");
57
+ if (await exists(manifestPath)) {
58
+ try {
59
+ const manifestRaw = await readYamlFile(manifestPath);
60
+ const parsed = agentKitManifestSchema.safeParse(manifestRaw);
61
+ if (parsed.success) {
62
+ manifest = parsed.data;
63
+ }
64
+ else {
65
+ issues.push(...zodIssuesToValidationIssues(parsed.error, "agentkit.yaml"));
66
+ }
67
+ }
68
+ catch (error) {
69
+ issues.push({
70
+ severity: "error",
71
+ code: "manifest.invalid_yaml",
72
+ message: error instanceof Error ? error.message : "Unable to parse agentkit.yaml",
73
+ path: "agentkit.yaml"
74
+ });
75
+ }
76
+ }
77
+ const skillsRoot = path.join(resolvedRoot, "skills");
78
+ if (await exists(skillsRoot)) {
79
+ const skillFiles = await findSkillFiles(skillsRoot);
80
+ if (skillFiles.length === 0) {
81
+ issues.push({
82
+ severity: "error",
83
+ code: "skill.required.missing",
84
+ message: "At least one skills/<skill-id>/SKILL.md file is required",
85
+ path: "skills"
86
+ });
87
+ }
88
+ }
89
+ if (manifest) {
90
+ for (const skill of manifest.skills) {
91
+ let skillPath;
92
+ try {
93
+ skillPath = resolveInside(resolvedRoot, skill.path);
94
+ }
95
+ catch (error) {
96
+ issues.push({
97
+ severity: "error",
98
+ code: "manifest.skill_path.unsafe",
99
+ message: error instanceof Error ? error.message : `Unsafe skill path: ${skill.path}`,
100
+ path: skill.path
101
+ });
102
+ continue;
103
+ }
104
+ if (!(await exists(skillPath))) {
105
+ issues.push({
106
+ severity: "error",
107
+ code: "manifest.skill_path.missing",
108
+ message: `Manifest skill path does not exist: ${skill.path}`,
109
+ path: skill.path
110
+ });
111
+ continue;
112
+ }
113
+ issues.push(...(await validateSkillFile(skillPath)));
114
+ }
115
+ issues.push(...(await validateDeclaredScripts(resolvedRoot, manifest)));
116
+ issues.push(...(await validatePreparedPromptFiles(resolvedRoot, manifest)));
117
+ }
118
+ return {
119
+ valid: issues.every((issue) => issue.severity !== "error"),
120
+ profile,
121
+ rootPath: resolvedRoot,
122
+ issues
123
+ };
124
+ }
125
+ async function validatePreparedPromptFiles(rootPath, manifest) {
126
+ const issues = [];
127
+ for (const prompt of manifest.prompts ?? []) {
128
+ let promptPath;
129
+ try {
130
+ promptPath = resolveInside(rootPath, prompt.path);
131
+ }
132
+ catch (error) {
133
+ issues.push({
134
+ severity: "error",
135
+ code: "manifest.prompt_path.unsafe",
136
+ message: error instanceof Error ? error.message : `Unsafe prepared prompt path: ${prompt.path}`,
137
+ path: prompt.path
138
+ });
139
+ continue;
140
+ }
141
+ if (!(await exists(promptPath))) {
142
+ issues.push({
143
+ severity: "error",
144
+ code: "manifest.prompt_path.missing",
145
+ message: `Manifest prepared prompt path does not exist: ${prompt.path}`,
146
+ path: prompt.path
147
+ });
148
+ continue;
149
+ }
150
+ try {
151
+ const loadedPrompt = await loadPreparedPrompt(promptPath);
152
+ if (loadedPrompt.id !== prompt.id) {
153
+ issues.push({
154
+ severity: "error",
155
+ code: "prompt.id.mismatch",
156
+ message: `Prepared prompt id mismatch: manifest has ${prompt.id}, file has ${loadedPrompt.id}`,
157
+ path: prompt.path
158
+ });
159
+ }
160
+ }
161
+ catch (error) {
162
+ issues.push({
163
+ severity: "error",
164
+ code: "prompt.invalid",
165
+ message: error instanceof Error ? error.message : "Invalid prepared prompt",
166
+ path: prompt.path
167
+ });
168
+ }
169
+ }
170
+ return issues;
171
+ }
172
+ function zodIssuesToValidationIssues(error, filePath) {
173
+ return error.issues.map((issue) => {
174
+ const issuePath = issue.path.length > 0 ? issue.path.join(".") : "(root)";
175
+ return {
176
+ severity: "error",
177
+ code: "manifest.field.invalid",
178
+ message: `Invalid or missing manifest field ${issuePath}: ${issue.message}`,
179
+ path: filePath
180
+ };
181
+ });
182
+ }
183
+ async function validateDeclaredScripts(rootPath, manifest) {
184
+ const scriptsPath = path.join(rootPath, "scripts");
185
+ if (!(await exists(scriptsPath))) {
186
+ return [];
187
+ }
188
+ const scriptFiles = (await safeListFilesRecursive(scriptsPath)).map((file) => file.absolutePath);
189
+ if (scriptFiles.length === 0) {
190
+ return [];
191
+ }
192
+ const declared = new Set();
193
+ const issues = [];
194
+ for (const script of manifest.scripts ?? []) {
195
+ const scriptPath = typeof script === "string" ? script : script.path;
196
+ try {
197
+ declared.add(normalizePath(path.relative(rootPath, resolveInside(rootPath, scriptPath))));
198
+ }
199
+ catch (error) {
200
+ issues.push({
201
+ severity: "error",
202
+ code: "scripts.path.unsafe",
203
+ message: error instanceof Error ? error.message : `Unsafe script path: ${scriptPath}`,
204
+ path: scriptPath
205
+ });
206
+ }
207
+ }
208
+ return [
209
+ ...issues,
210
+ ...scriptFiles
211
+ .map((file) => normalizePath(path.relative(rootPath, file)))
212
+ .filter((file) => !declared.has(file))
213
+ .map((file) => ({
214
+ severity: "error",
215
+ code: "scripts.undeclared",
216
+ message: `Script file is not declared in agentkit.yaml: ${file}`,
217
+ path: file
218
+ }))
219
+ ];
220
+ }
221
+ async function findSkillFiles(skillsRoot) {
222
+ const entries = await readdir(skillsRoot, { withFileTypes: true });
223
+ const skillFiles = [];
224
+ for (const entry of entries) {
225
+ if (!entry.isDirectory()) {
226
+ continue;
227
+ }
228
+ const skillPath = path.join(skillsRoot, entry.name, "SKILL.md");
229
+ if (await exists(skillPath)) {
230
+ skillFiles.push(skillPath);
231
+ }
232
+ }
233
+ return skillFiles;
234
+ }
235
+ async function exists(filePath) {
236
+ try {
237
+ await stat(filePath);
238
+ return true;
239
+ }
240
+ catch {
241
+ return false;
242
+ }
243
+ }
244
+ function isLikelyFile(requiredPath) {
245
+ return path.extname(requiredPath) !== "" || requiredPath === "LICENSE";
246
+ }
247
+ //# sourceMappingURL=validator.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"validator.js","sourceRoot":"","sources":["../../src/validation/validator.ts"],"names":[],"mappings":"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"}
package/package.json ADDED
@@ -0,0 +1,57 @@
1
+ {
2
+ "name": "@agentkitforge/core",
3
+ "version": "0.1.0",
4
+ "description": "Core package, validation, export, and packaging engine for AgentKitForge.",
5
+ "type": "module",
6
+ "bin": {
7
+ "agentkitforge": "dist/cli/index.js"
8
+ },
9
+ "main": "dist/index.js",
10
+ "types": "dist/index.d.ts",
11
+ "files": [
12
+ "dist",
13
+ "README.md",
14
+ "LICENSE",
15
+ "CLI.md",
16
+ "SPEC.md",
17
+ "CHANGELOG.md",
18
+ "SECURITY.md",
19
+ "VERSIONING.md"
20
+ ],
21
+ "scripts": {
22
+ "build": "tsc -p tsconfig.json",
23
+ "prepack": "npm run build",
24
+ "prepublishOnly": "npm run build && npm test",
25
+ "smoke": "node scripts/smoke.mjs",
26
+ "test": "vitest run",
27
+ "typecheck": "tsc -p tsconfig.json --noEmit"
28
+ },
29
+ "keywords": [
30
+ "agentkit",
31
+ "agents",
32
+ "validation",
33
+ "cli"
34
+ ],
35
+ "license": "Apache-2.0",
36
+ "repository": {
37
+ "type": "git",
38
+ "url": "git+https://github.com/AgentKitProject/agentkitforge-core.git"
39
+ },
40
+ "publishConfig": {
41
+ "access": "public"
42
+ },
43
+ "dependencies": {
44
+ "commander": "^14.0.2",
45
+ "jszip": "^3.10.1",
46
+ "yaml": "^2.8.2",
47
+ "zod": "^4.1.13"
48
+ },
49
+ "devDependencies": {
50
+ "@types/node": "^24.10.1",
51
+ "typescript": "^5.9.3",
52
+ "vitest": "^4.0.14"
53
+ },
54
+ "engines": {
55
+ "node": ">=26"
56
+ }
57
+ }