@playcraft/common 0.0.57 → 0.0.59

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 (252) hide show
  1. package/README.md +1 -1
  2. package/dist/agent/gamepilot.d.ts +17 -0
  3. package/dist/agent/gamepilot.d.ts.map +1 -0
  4. package/dist/agent/gamepilot.js +37 -0
  5. package/dist/agent/gamepilot.js.map +1 -0
  6. package/dist/agent/index.d.ts +1 -0
  7. package/dist/agent/index.d.ts.map +1 -1
  8. package/dist/agent/index.js +1 -0
  9. package/dist/agent/index.js.map +1 -1
  10. package/dist/agent/openai-responses-api.d.ts +12 -0
  11. package/dist/agent/openai-responses-api.d.ts.map +1 -1
  12. package/dist/agent/openai-responses-api.js +30 -0
  13. package/dist/agent/openai-responses-api.js.map +1 -1
  14. package/dist/agent/runtime-failure.d.ts +3 -1
  15. package/dist/agent/runtime-failure.d.ts.map +1 -1
  16. package/dist/agent/runtime-failure.js +6 -1
  17. package/dist/agent/runtime-failure.js.map +1 -1
  18. package/dist/agent/session-title.d.ts +1 -1
  19. package/dist/agent/session-title.js +1 -1
  20. package/dist/agent-messages/db-message-converter.d.ts +12 -0
  21. package/dist/agent-messages/db-message-converter.d.ts.map +1 -1
  22. package/dist/agent-messages/db-message-converter.js +28 -0
  23. package/dist/agent-messages/db-message-converter.js.map +1 -1
  24. package/dist/agent-messages/runtime-user-messages.d.ts +3 -0
  25. package/dist/agent-messages/runtime-user-messages.d.ts.map +1 -1
  26. package/dist/agent-messages/runtime-user-messages.js +36 -2
  27. package/dist/agent-messages/runtime-user-messages.js.map +1 -1
  28. package/dist/agent-tools/index.d.ts +1 -0
  29. package/dist/agent-tools/index.d.ts.map +1 -1
  30. package/dist/agent-tools/index.js +1 -0
  31. package/dist/agent-tools/index.js.map +1 -1
  32. package/dist/agent-tools/operation-protocol.d.ts +10 -0
  33. package/dist/agent-tools/operation-protocol.d.ts.map +1 -0
  34. package/dist/agent-tools/operation-protocol.js +13 -0
  35. package/dist/agent-tools/operation-protocol.js.map +1 -0
  36. package/dist/agent-tools/types.d.ts +1 -1
  37. package/dist/agent-tools/types.d.ts.map +1 -1
  38. package/dist/agent-tools/types.js +8 -1
  39. package/dist/agent-tools/types.js.map +1 -1
  40. package/dist/auth/index.d.ts +2 -0
  41. package/dist/auth/index.d.ts.map +1 -1
  42. package/dist/auth/index.js +2 -0
  43. package/dist/auth/index.js.map +1 -1
  44. package/dist/auth/jwt.d.ts.map +1 -1
  45. package/dist/auth/jwt.js +2 -7
  46. package/dist/auth/jwt.js.map +1 -1
  47. package/dist/auth/project-access-checker.d.ts +42 -0
  48. package/dist/auth/project-access-checker.d.ts.map +1 -0
  49. package/dist/auth/project-access-checker.js +81 -0
  50. package/dist/auth/project-access-checker.js.map +1 -0
  51. package/dist/auth/resolve-secret.d.ts +18 -0
  52. package/dist/auth/resolve-secret.d.ts.map +1 -0
  53. package/dist/auth/resolve-secret.js +33 -0
  54. package/dist/auth/resolve-secret.js.map +1 -0
  55. package/dist/auth/signature.d.ts +6 -1
  56. package/dist/auth/signature.d.ts.map +1 -1
  57. package/dist/auth/signature.js +8 -3
  58. package/dist/auth/signature.js.map +1 -1
  59. package/dist/cloud-workspace/runtime/agent-chat-flush.d.ts +57 -0
  60. package/dist/cloud-workspace/runtime/agent-chat-flush.d.ts.map +1 -0
  61. package/dist/cloud-workspace/runtime/agent-chat-flush.js +55 -0
  62. package/dist/cloud-workspace/runtime/agent-chat-flush.js.map +1 -0
  63. package/dist/cloud-workspace/runtime/agent-codebuddy.d.ts +266 -0
  64. package/dist/cloud-workspace/runtime/agent-codebuddy.d.ts.map +1 -0
  65. package/dist/cloud-workspace/runtime/agent-codebuddy.js +189 -0
  66. package/dist/cloud-workspace/runtime/agent-codebuddy.js.map +1 -0
  67. package/dist/cloud-workspace/runtime/agent-command.d.ts +130 -0
  68. package/dist/cloud-workspace/runtime/agent-command.d.ts.map +1 -0
  69. package/dist/cloud-workspace/runtime/agent-command.js +75 -0
  70. package/dist/cloud-workspace/runtime/agent-command.js.map +1 -0
  71. package/dist/cloud-workspace/runtime/agent-connection.d.ts +76 -0
  72. package/dist/cloud-workspace/runtime/agent-connection.d.ts.map +1 -0
  73. package/dist/cloud-workspace/runtime/agent-connection.js +59 -0
  74. package/dist/cloud-workspace/runtime/agent-connection.js.map +1 -0
  75. package/dist/cloud-workspace/runtime/agent-lifecycle.d.ts +85 -0
  76. package/dist/cloud-workspace/runtime/agent-lifecycle.d.ts.map +1 -0
  77. package/dist/cloud-workspace/runtime/agent-lifecycle.js +70 -0
  78. package/dist/cloud-workspace/runtime/agent-lifecycle.js.map +1 -0
  79. package/dist/cloud-workspace/runtime/agent-mutation.d.ts +197 -0
  80. package/dist/cloud-workspace/runtime/agent-mutation.d.ts.map +1 -0
  81. package/dist/cloud-workspace/runtime/agent-mutation.js +114 -0
  82. package/dist/cloud-workspace/runtime/agent-mutation.js.map +1 -0
  83. package/dist/cloud-workspace/runtime/agent-opencode-gateway.d.ts +156 -0
  84. package/dist/cloud-workspace/runtime/agent-opencode-gateway.d.ts.map +1 -0
  85. package/dist/cloud-workspace/runtime/agent-opencode-gateway.js +141 -0
  86. package/dist/cloud-workspace/runtime/agent-opencode-gateway.js.map +1 -0
  87. package/dist/cloud-workspace/runtime/agent-opencode.d.ts +240 -0
  88. package/dist/cloud-workspace/runtime/agent-opencode.d.ts.map +1 -0
  89. package/dist/cloud-workspace/runtime/agent-opencode.js +176 -0
  90. package/dist/cloud-workspace/runtime/agent-opencode.js.map +1 -0
  91. package/dist/cloud-workspace/runtime/agent-promotion.d.ts +20 -0
  92. package/dist/cloud-workspace/runtime/agent-promotion.d.ts.map +1 -0
  93. package/dist/cloud-workspace/runtime/agent-promotion.js +19 -0
  94. package/dist/cloud-workspace/runtime/agent-promotion.js.map +1 -0
  95. package/dist/cloud-workspace/runtime/agent-read.d.ts +343 -0
  96. package/dist/cloud-workspace/runtime/agent-read.d.ts.map +1 -0
  97. package/dist/cloud-workspace/runtime/agent-read.js +159 -0
  98. package/dist/cloud-workspace/runtime/agent-read.js.map +1 -0
  99. package/dist/cloud-workspace/runtime/agent-tool-claim.d.ts +18 -0
  100. package/dist/cloud-workspace/runtime/agent-tool-claim.d.ts.map +1 -0
  101. package/dist/cloud-workspace/runtime/agent-tool-claim.js +16 -0
  102. package/dist/cloud-workspace/runtime/agent-tool-claim.js.map +1 -0
  103. package/dist/cloud-workspace/runtime/capabilities.d.ts +40 -0
  104. package/dist/cloud-workspace/runtime/capabilities.d.ts.map +1 -0
  105. package/dist/cloud-workspace/runtime/capabilities.js +53 -0
  106. package/dist/cloud-workspace/runtime/capabilities.js.map +1 -0
  107. package/dist/cloud-workspace/runtime/checkpoints.d.ts +60 -0
  108. package/dist/cloud-workspace/runtime/checkpoints.d.ts.map +1 -0
  109. package/dist/cloud-workspace/runtime/checkpoints.js +33 -0
  110. package/dist/cloud-workspace/runtime/checkpoints.js.map +1 -0
  111. package/dist/cloud-workspace/runtime/config.d.ts +42 -0
  112. package/dist/cloud-workspace/runtime/config.d.ts.map +1 -0
  113. package/dist/cloud-workspace/runtime/config.js +89 -0
  114. package/dist/cloud-workspace/runtime/config.js.map +1 -0
  115. package/dist/cloud-workspace/runtime/errors.d.ts +26 -0
  116. package/dist/cloud-workspace/runtime/errors.d.ts.map +1 -0
  117. package/dist/cloud-workspace/runtime/errors.js +40 -0
  118. package/dist/cloud-workspace/runtime/errors.js.map +1 -0
  119. package/dist/cloud-workspace/runtime/events.d.ts +107 -0
  120. package/dist/cloud-workspace/runtime/events.d.ts.map +1 -0
  121. package/dist/cloud-workspace/runtime/events.js +70 -0
  122. package/dist/cloud-workspace/runtime/events.js.map +1 -0
  123. package/dist/cloud-workspace/runtime/execution-grant.d.ts +36 -0
  124. package/dist/cloud-workspace/runtime/execution-grant.d.ts.map +1 -0
  125. package/dist/cloud-workspace/runtime/execution-grant.js +102 -0
  126. package/dist/cloud-workspace/runtime/execution-grant.js.map +1 -0
  127. package/dist/cloud-workspace/runtime/file-snapshot.d.ts +62 -0
  128. package/dist/cloud-workspace/runtime/file-snapshot.d.ts.map +1 -0
  129. package/dist/cloud-workspace/runtime/file-snapshot.js +147 -0
  130. package/dist/cloud-workspace/runtime/file-snapshot.js.map +1 -0
  131. package/dist/cloud-workspace/runtime/files.d.ts +58 -0
  132. package/dist/cloud-workspace/runtime/files.d.ts.map +1 -0
  133. package/dist/cloud-workspace/runtime/files.js +78 -0
  134. package/dist/cloud-workspace/runtime/files.js.map +1 -0
  135. package/dist/cloud-workspace/runtime/generations.d.ts +18 -0
  136. package/dist/cloud-workspace/runtime/generations.d.ts.map +1 -0
  137. package/dist/cloud-workspace/runtime/generations.js +39 -0
  138. package/dist/cloud-workspace/runtime/generations.js.map +1 -0
  139. package/dist/cloud-workspace/runtime/git.d.ts +46 -0
  140. package/dist/cloud-workspace/runtime/git.d.ts.map +1 -0
  141. package/dist/cloud-workspace/runtime/git.js +44 -0
  142. package/dist/cloud-workspace/runtime/git.js.map +1 -0
  143. package/dist/cloud-workspace/runtime/handshake.d.ts +47 -0
  144. package/dist/cloud-workspace/runtime/handshake.d.ts.map +1 -0
  145. package/dist/cloud-workspace/runtime/handshake.js +31 -0
  146. package/dist/cloud-workspace/runtime/handshake.js.map +1 -0
  147. package/dist/cloud-workspace/runtime/http-object-store.d.ts +15 -0
  148. package/dist/cloud-workspace/runtime/http-object-store.d.ts.map +1 -0
  149. package/dist/cloud-workspace/runtime/http-object-store.js +108 -0
  150. package/dist/cloud-workspace/runtime/http-object-store.js.map +1 -0
  151. package/dist/cloud-workspace/runtime/index.d.ts +32 -0
  152. package/dist/cloud-workspace/runtime/index.d.ts.map +1 -0
  153. package/dist/cloud-workspace/runtime/index.js +32 -0
  154. package/dist/cloud-workspace/runtime/index.js.map +1 -0
  155. package/dist/cloud-workspace/runtime/instance-rebuild.d.ts +59 -0
  156. package/dist/cloud-workspace/runtime/instance-rebuild.d.ts.map +1 -0
  157. package/dist/cloud-workspace/runtime/instance-rebuild.js +51 -0
  158. package/dist/cloud-workspace/runtime/instance-rebuild.js.map +1 -0
  159. package/dist/cloud-workspace/runtime/operations.d.ts +142 -0
  160. package/dist/cloud-workspace/runtime/operations.d.ts.map +1 -0
  161. package/dist/cloud-workspace/runtime/operations.js +134 -0
  162. package/dist/cloud-workspace/runtime/operations.js.map +1 -0
  163. package/dist/cloud-workspace/runtime/parameters.d.ts +38 -0
  164. package/dist/cloud-workspace/runtime/parameters.d.ts.map +1 -0
  165. package/dist/cloud-workspace/runtime/parameters.js +75 -0
  166. package/dist/cloud-workspace/runtime/parameters.js.map +1 -0
  167. package/dist/cloud-workspace/runtime/project-native-skills.d.ts +40 -0
  168. package/dist/cloud-workspace/runtime/project-native-skills.d.ts.map +1 -0
  169. package/dist/cloud-workspace/runtime/project-native-skills.js +45 -0
  170. package/dist/cloud-workspace/runtime/project-native-skills.js.map +1 -0
  171. package/dist/cloud-workspace/runtime/protocol.d.ts +23 -0
  172. package/dist/cloud-workspace/runtime/protocol.d.ts.map +1 -0
  173. package/dist/cloud-workspace/runtime/protocol.js +30 -0
  174. package/dist/cloud-workspace/runtime/protocol.js.map +1 -0
  175. package/dist/cloud-workspace/runtime/resource-grant.d.ts +54 -0
  176. package/dist/cloud-workspace/runtime/resource-grant.d.ts.map +1 -0
  177. package/dist/cloud-workspace/runtime/resource-grant.js +80 -0
  178. package/dist/cloud-workspace/runtime/resource-grant.js.map +1 -0
  179. package/dist/cloud-workspace/runtime/terminals.d.ts +52 -0
  180. package/dist/cloud-workspace/runtime/terminals.d.ts.map +1 -0
  181. package/dist/cloud-workspace/runtime/terminals.js +62 -0
  182. package/dist/cloud-workspace/runtime/terminals.js.map +1 -0
  183. package/dist/cloud-workspace/runtime/variant-workspace.d.ts +221 -0
  184. package/dist/cloud-workspace/runtime/variant-workspace.d.ts.map +1 -0
  185. package/dist/cloud-workspace/runtime/variant-workspace.js +75 -0
  186. package/dist/cloud-workspace/runtime/variant-workspace.js.map +1 -0
  187. package/dist/cloud-workspace/runtime/workspace-binding.d.ts +84 -0
  188. package/dist/cloud-workspace/runtime/workspace-binding.d.ts.map +1 -0
  189. package/dist/cloud-workspace/runtime/workspace-binding.js +121 -0
  190. package/dist/cloud-workspace/runtime/workspace-binding.js.map +1 -0
  191. package/dist/database/postgres-adapter.js +1 -1
  192. package/dist/database/postgres-adapter.js.map +1 -1
  193. package/dist/database/schema.d.ts +1 -1
  194. package/dist/database/schema.js +1 -1
  195. package/dist/messenger/server.d.ts +14 -1
  196. package/dist/messenger/server.d.ts.map +1 -1
  197. package/dist/messenger/server.js +5 -1
  198. package/dist/messenger/server.js.map +1 -1
  199. package/dist/playable-ads-filename.d.ts +16 -0
  200. package/dist/playable-ads-filename.d.ts.map +1 -1
  201. package/dist/playable-ads-filename.js +18 -0
  202. package/dist/playable-ads-filename.js.map +1 -1
  203. package/dist/prefab/mime-type-list.d.ts.map +1 -1
  204. package/dist/prefab/mime-type-list.js +8 -0
  205. package/dist/prefab/mime-type-list.js.map +1 -1
  206. package/dist/project-skills/bundle-archive.d.ts +21 -0
  207. package/dist/project-skills/bundle-archive.d.ts.map +1 -0
  208. package/dist/project-skills/bundle-archive.js +161 -0
  209. package/dist/project-skills/bundle-archive.js.map +1 -0
  210. package/dist/project-skills/bundle-path.d.ts +3 -0
  211. package/dist/project-skills/bundle-path.d.ts.map +1 -0
  212. package/dist/project-skills/bundle-path.js +17 -0
  213. package/dist/project-skills/bundle-path.js.map +1 -0
  214. package/dist/project-skills/evidence.d.ts +15 -0
  215. package/dist/project-skills/evidence.d.ts.map +1 -0
  216. package/dist/project-skills/evidence.js +33 -0
  217. package/dist/project-skills/evidence.js.map +1 -0
  218. package/dist/project-skills/index.d.ts +7 -0
  219. package/dist/project-skills/index.d.ts.map +1 -0
  220. package/dist/project-skills/index.js +7 -0
  221. package/dist/project-skills/index.js.map +1 -0
  222. package/dist/project-skills/inventory.d.ts +23 -0
  223. package/dist/project-skills/inventory.d.ts.map +1 -0
  224. package/dist/project-skills/inventory.js +150 -0
  225. package/dist/project-skills/inventory.js.map +1 -0
  226. package/dist/project-skills/local-snapshot.d.ts +12 -0
  227. package/dist/project-skills/local-snapshot.d.ts.map +1 -0
  228. package/dist/project-skills/local-snapshot.js +66 -0
  229. package/dist/project-skills/local-snapshot.js.map +1 -0
  230. package/dist/project-skills/protocol.d.ts +31 -0
  231. package/dist/project-skills/protocol.d.ts.map +1 -0
  232. package/dist/project-skills/protocol.js +197 -0
  233. package/dist/project-skills/protocol.js.map +1 -0
  234. package/dist/project-skills/runtime-plugin.d.ts +66 -0
  235. package/dist/project-skills/runtime-plugin.d.ts.map +1 -0
  236. package/dist/project-skills/runtime-plugin.js +102 -0
  237. package/dist/project-skills/runtime-plugin.js.map +1 -0
  238. package/dist/project-skills/types.d.ts +63 -0
  239. package/dist/project-skills/types.d.ts.map +1 -0
  240. package/dist/project-skills/types.js +13 -0
  241. package/dist/project-skills/types.js.map +1 -0
  242. package/dist/recommend/types.d.ts +1 -1
  243. package/dist/recommend/types.js +1 -1
  244. package/dist/sharedb/server.d.ts +12 -0
  245. package/dist/sharedb/server.d.ts.map +1 -1
  246. package/dist/sharedb/server.js +27 -6
  247. package/dist/sharedb/server.js.map +1 -1
  248. package/dist/skill-evaluation.d.ts +152 -0
  249. package/dist/skill-evaluation.d.ts.map +1 -0
  250. package/dist/skill-evaluation.js +14 -0
  251. package/dist/skill-evaluation.js.map +1 -0
  252. package/package.json +21 -1
@@ -0,0 +1,102 @@
1
+ import { readFile } from 'node:fs/promises';
2
+ import { createHash } from 'node:crypto';
3
+ import { join, isAbsolute, dirname } from 'node:path';
4
+ import { z } from 'zod';
5
+ /**
6
+ * Bundled by the supervisor, outside the writable project. The supervisor owns
7
+ * both this file and the manifest. Native directory discovery is never used here.
8
+ */
9
+ export default async function managedSkillsPlugin(input) {
10
+ const file = process.env.PLAYCRAFT_SKILL_RUNTIME_FILE;
11
+ const root = process.env.PLAYCRAFT_SKILL_RUNTIME_ROOT;
12
+ if ((!file && !root) || (file && root))
13
+ throw new Error('Exactly one managed skill runtime location is required');
14
+ const sessions = new Map();
15
+ async function load(filePath, sessionId) {
16
+ const manifest = JSON.parse(await readFile(filePath, 'utf8'));
17
+ if (manifest.schemaVersion !== 1 || !manifest.runtimeId || !manifest.lockId || !Array.isArray(manifest.entries)) {
18
+ throw new Error('Invalid managed skill runtime manifest');
19
+ }
20
+ if (sessionId && manifest.nativeSessionId !== sessionId)
21
+ throw new Error('Managed skill session mismatch');
22
+ const entries = new Map();
23
+ for (const entry of manifest.entries) {
24
+ if (!entry.name || entries.has(entry.name) || !entry.revisionId || !entry.artifactHash || !entry.skillRef || !isAbsolute(entry.bodyFile)) {
25
+ throw new Error('Invalid or duplicate managed skill');
26
+ }
27
+ const body = await readFile(entry.bodyFile);
28
+ if (createHash('sha256').update(body).digest('hex') !== entry.bodyHash)
29
+ throw new Error('Managed skill body changed');
30
+ entries.set(entry.name, { entry, body: body.toString('utf8') });
31
+ }
32
+ return { manifest, entries };
33
+ }
34
+ const fixed = file ? await load(file) : undefined;
35
+ async function forSession(sessionId, ancestors = new Set()) {
36
+ if (fixed)
37
+ return fixed;
38
+ if (!/^ses_[A-Za-z0-9_-]+$/.test(sessionId) || ancestors.has(sessionId) || ancestors.size >= 32)
39
+ throw new Error('Invalid managed skill session');
40
+ const cached = sessions.get(sessionId);
41
+ if (cached)
42
+ return cached;
43
+ const pending = (async () => {
44
+ try {
45
+ return await load(join(root, 'sessions', `${sessionId}.json`), sessionId);
46
+ }
47
+ catch (error) {
48
+ if (error.code !== 'ENOENT')
49
+ throw error;
50
+ // Only native ancestry can inherit a lock. No branch/latest fallback.
51
+ const session = await input?.client?.session.get({ path: { id: sessionId } });
52
+ if (session?.data?.id !== sessionId || !session.data.parentID)
53
+ throw new Error('Managed skill session has not been prepared');
54
+ return forSession(session.data.parentID, new Set([...ancestors, sessionId]));
55
+ }
56
+ })();
57
+ sessions.set(sessionId, pending);
58
+ try {
59
+ return await pending;
60
+ }
61
+ catch (error) {
62
+ sessions.delete(sessionId);
63
+ throw error;
64
+ }
65
+ }
66
+ const description = 'Load an enabled skill from the immutable lock for this session. Use an exact name from the available skills section.';
67
+ return {
68
+ tool: {
69
+ skill: {
70
+ description,
71
+ args: { name: z.string().describe('Exact name from the available skills list') },
72
+ async execute(args, context) {
73
+ const { manifest, entries } = await forSession(context.sessionID);
74
+ const selected = entries.get(args.name);
75
+ if (!selected)
76
+ throw new Error(`Skill is not enabled in this run: ${args.name}`);
77
+ return { title: selected.entry.skillRef, output: selected.body, metadata: {
78
+ playcraftSkill: {
79
+ schemaVersion: 1, runtimeId: manifest.runtimeId, lockId: manifest.lockId,
80
+ skillVersionId: selected.entry.revisionId, artifactHash: selected.entry.artifactHash,
81
+ skillRef: selected.entry.skillRef, nativeSessionId: context.sessionID,
82
+ rootNativeSessionId: manifest.nativeSessionId ?? context.sessionID,
83
+ bodyHash: selected.entry.bodyHash, packageRoot: dirname(selected.entry.bodyFile),
84
+ },
85
+ } };
86
+ },
87
+ },
88
+ },
89
+ // Limit the model-facing definition even if the runtime supplies a native one.
90
+ 'tool.definition': async (input, output) => {
91
+ if (input.toolID === 'skill')
92
+ output.description = description;
93
+ },
94
+ 'experimental.chat.system.transform': async (input, output) => {
95
+ if (!input.sessionID)
96
+ return;
97
+ const { manifest } = await forSession(input.sessionID);
98
+ output.system.push(`Available project skills for this session:\n${manifest.entries.map((entry) => `${entry.name}: ${entry.description} (package: ${dirname(entry.bodyFile)}; resolve skill resources relative to this directory)`).join('\n') || '(none)'}`);
99
+ },
100
+ };
101
+ }
102
+ //# sourceMappingURL=runtime-plugin.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"runtime-plugin.js","sourceRoot":"","sources":["../../src/project-skills/runtime-plugin.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,63 @@
1
+ /** Portable project configuration. Identifiers in these files never grant access. */
2
+ export declare const PROJECT_SKILLS_DECLARATION_PATH = ".playcraft/skills.json";
3
+ export declare const PROJECT_SKILLS_LOCK_PATH = ".playcraft/skills.lock.json";
4
+ export declare const PROJECT_SKILL_SURFACES: readonly ["portal-agent", "sandbox-agent", "build-time"];
5
+ export type ProjectSkillSurface = (typeof PROJECT_SKILL_SURFACES)[number];
6
+ export type ProjectSkillEntry = {
7
+ entryKey: string;
8
+ source: {
9
+ kind: 'registry';
10
+ skillRef: string;
11
+ version: string;
12
+ } | {
13
+ kind: 'repository';
14
+ root: string;
15
+ skillRef?: string;
16
+ };
17
+ enabled: boolean;
18
+ surface: ProjectSkillSurface;
19
+ projectFiles?: string[];
20
+ };
21
+ export type ProjectSkillDeclaration = {
22
+ schemaVersion: 1;
23
+ entries: ProjectSkillEntry[];
24
+ };
25
+ export type LockedSkillRevision = {
26
+ skillRef: string;
27
+ artifactHash: string;
28
+ } & ({
29
+ kind: 'release';
30
+ version: string;
31
+ } | {
32
+ kind: 'source';
33
+ sourceRevision: string;
34
+ });
35
+ export type ProjectSkillLockEntry = {
36
+ entryKey: string;
37
+ revision: LockedSkillRevision;
38
+ sourceTreeHash?: string;
39
+ dependencyLockHash: string;
40
+ dependencies: string[];
41
+ };
42
+ export type ProjectSkillsLockV3 = {
43
+ lockVersion: 3;
44
+ declarationHash: string;
45
+ entries: ProjectSkillLockEntry[];
46
+ };
47
+ export type ProjectSkillFile = {
48
+ path: string;
49
+ content: Uint8Array;
50
+ };
51
+ export type SkillAdoptionPhase = 'queued' | 'inspecting' | 'registering' | 'writing' | 'verifying' | 'completed' | 'blocked' | 'failed' | 'cancelled';
52
+ export type ProjectSkillCapability = 'pending' | 'needs_attention' | 'ready' | 'stale';
53
+ export type ProjectSkillIssue = {
54
+ code: string;
55
+ path?: string;
56
+ entryKey?: string;
57
+ detail: string;
58
+ };
59
+ export declare class ProjectSkillsError extends Error {
60
+ readonly code: string;
61
+ constructor(code: string, message: string);
62
+ }
63
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/project-skills/types.ts"],"names":[],"mappings":"AAAA,qFAAqF;AACrF,eAAO,MAAM,+BAA+B,2BAA2B,CAAC;AACxE,eAAO,MAAM,wBAAwB,gCAAgC,CAAC;AACtE,eAAO,MAAM,sBAAsB,0DAA2D,CAAC;AAC/F,MAAM,MAAM,mBAAmB,GAAG,CAAC,OAAO,sBAAsB,CAAC,CAAC,MAAM,CAAC,CAAC;AAE1E,MAAM,MAAM,iBAAiB,GAAG;IAC9B,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,EACF;QAAE,IAAI,EAAE,UAAU,CAAC;QAAC,QAAQ,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAE,GACvD;QAAE,IAAI,EAAE,YAAY,CAAC;QAAC,IAAI,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;IAC5D,OAAO,EAAE,OAAO,CAAC;IACjB,OAAO,EAAE,mBAAmB,CAAC;IAC7B,YAAY,CAAC,EAAE,MAAM,EAAE,CAAC;CACzB,CAAC;AACF,MAAM,MAAM,uBAAuB,GAAG;IAAE,aAAa,EAAE,CAAC,CAAC;IAAC,OAAO,EAAE,iBAAiB,EAAE,CAAA;CAAE,CAAC;AACzF,MAAM,MAAM,mBAAmB,GAAG;IAChC,QAAQ,EAAE,MAAM,CAAC;IACjB,YAAY,EAAE,MAAM,CAAC;CACtB,GAAG,CACA;IAAE,IAAI,EAAE,SAAS,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAE,GACpC;IAAE,IAAI,EAAE,QAAQ,CAAC;IAAC,cAAc,EAAE,MAAM,CAAA;CAAE,CAC7C,CAAC;AACF,MAAM,MAAM,qBAAqB,GAAG;IAClC,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,mBAAmB,CAAC;IAC9B,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,kBAAkB,EAAE,MAAM,CAAC;IAC3B,YAAY,EAAE,MAAM,EAAE,CAAC;CACxB,CAAC;AACF,MAAM,MAAM,mBAAmB,GAAG;IAChC,WAAW,EAAE,CAAC,CAAC;IACf,eAAe,EAAE,MAAM,CAAC;IACxB,OAAO,EAAE,qBAAqB,EAAE,CAAC;CAClC,CAAC;AACF,MAAM,MAAM,gBAAgB,GAAG;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,UAAU,CAAA;CAAE,CAAC;AACrE,MAAM,MAAM,kBAAkB,GAC1B,QAAQ,GAAG,YAAY,GAAG,aAAa,GAAG,SAAS,GAAG,WAAW,GACjE,WAAW,GAAG,SAAS,GAAG,QAAQ,GAAG,WAAW,CAAC;AACrD,MAAM,MAAM,sBAAsB,GAAG,SAAS,GAAG,iBAAiB,GAAG,OAAO,GAAG,OAAO,CAAC;AACvF,MAAM,MAAM,iBAAiB,GAAG;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,IAAI,CAAC,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,CAAC;AAEnG,qBAAa,kBAAmB,SAAQ,KAAK;aACf,IAAI,EAAE,MAAM;gBAAZ,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM;CAI1D"}
@@ -0,0 +1,13 @@
1
+ /** Portable project configuration. Identifiers in these files never grant access. */
2
+ export const PROJECT_SKILLS_DECLARATION_PATH = '.playcraft/skills.json';
3
+ export const PROJECT_SKILLS_LOCK_PATH = '.playcraft/skills.lock.json';
4
+ export const PROJECT_SKILL_SURFACES = ['portal-agent', 'sandbox-agent', 'build-time'];
5
+ export class ProjectSkillsError extends Error {
6
+ code;
7
+ constructor(code, message) {
8
+ super(message);
9
+ this.code = code;
10
+ this.name = 'ProjectSkillsError';
11
+ }
12
+ }
13
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/project-skills/types.ts"],"names":[],"mappings":"AAAA,qFAAqF;AACrF,MAAM,CAAC,MAAM,+BAA+B,GAAG,wBAAwB,CAAC;AACxE,MAAM,CAAC,MAAM,wBAAwB,GAAG,6BAA6B,CAAC;AACtE,MAAM,CAAC,MAAM,sBAAsB,GAAG,CAAC,cAAc,EAAE,eAAe,EAAE,YAAY,CAAU,CAAC;AAuC/F,MAAM,OAAO,kBAAmB,SAAQ,KAAK;IACf;IAA5B,YAA4B,IAAY,EAAE,OAAe;QACvD,KAAK,CAAC,OAAO,CAAC,CAAC;QADW,SAAI,GAAJ,IAAI,CAAQ;QAEtC,IAAI,CAAC,IAAI,GAAG,oBAAoB,CAAC;IACnC,CAAC;CACF"}
@@ -5,7 +5,7 @@
5
5
  * 作为前端 / 后端 / CLI 三方共享的唯一定义来源。
6
6
  *
7
7
  * 任何字段调整必须同步评审三个调用方:
8
- * - packages/backend/src/features/recommend/*
8
+ * - packages/backend-business-server/src/features/recommend/*
9
9
  * - packages/frontend/src/app/(dashboard)/recommend/*
10
10
  * - packages/cli/src/commands/recommend.ts
11
11
  */
@@ -5,7 +5,7 @@
5
5
  * 作为前端 / 后端 / CLI 三方共享的唯一定义来源。
6
6
  *
7
7
  * 任何字段调整必须同步评审三个调用方:
8
- * - packages/backend/src/features/recommend/*
8
+ * - packages/backend-business-server/src/features/recommend/*
9
9
  * - packages/frontend/src/app/(dashboard)/recommend/*
10
10
  * - packages/cli/src/commands/recommend.ts
11
11
  */
@@ -1,4 +1,9 @@
1
1
  import http from 'node:http';
2
+ /** 项目访问判定结果:是否放行,以及是否降级为只读 */
3
+ export type ProjectAccessDecision = {
4
+ allowed: boolean;
5
+ readOnly?: boolean;
6
+ };
2
7
  export type ShareDBServerOptions = {
3
8
  /**
4
9
  * 可选:用于从后端拉取初始数据(scenes/assets)。
@@ -14,6 +19,13 @@ export type ShareDBServerOptions = {
14
19
  * 认证回调:返回任意 truthy 表示允许连接,并用于填充 auth payload。
15
20
  */
16
21
  onAuth?: (accessToken: string | undefined) => Promise<any>;
22
+ /**
23
+ * 授权回调:判断已认证用户能否访问 auth 消息中自报的 projectId。
24
+ *
25
+ * 不配置时退化为「只要令牌有效就放行任意项目」——这是历史行为,
26
+ * 任何持有有效 JWT 的人都能订阅并修改任意项目的文档,生产环境必须配置。
27
+ */
28
+ onCheckProjectAccess?: (userId: unknown, projectId: unknown) => Promise<ProjectAccessDecision>;
17
29
  /**
18
30
  * 自定义拉取初始 doc:返回 json0 data(scenes/assets)。
19
31
  */
@@ -1 +1 @@
1
- {"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../../src/sharedb/server.ts"],"names":[],"mappings":"AAAA,OAAO,IAAI,MAAM,WAAW,CAAC;AAuB7B,MAAM,MAAM,oBAAoB,GAAG;IACjC;;;;OAIG;IACH,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB;;OAEG;IACH,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB;;OAEG;IACH,MAAM,CAAC,EAAE,CAAC,WAAW,EAAE,MAAM,GAAG,SAAS,KAAK,OAAO,CAAC,GAAG,CAAC,CAAC;IAC3D;;OAEG;IACH,WAAW,CAAC,EAAE,CAAC,UAAU,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,KAAK,OAAO,CAAC,GAAG,CAAC,CAAC;IAC/D;;OAEG;IACH,IAAI,CAAC,EAAE,MAAM,CAAC;CACf,CAAC;AAEF,qBAAa,qBAAqB;IAChC,OAAO,CAAC,OAAO,CAAM;IACrB,OAAO,CAAC,GAAG,CAAC,CAAkB;IAC9B,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAuB;IAC/C,OAAO,CAAC,QAAQ,CAAC,IAAI,CAIhB;IAGL,OAAO,CAAC,UAAU,CAAoD;IACtE,OAAO,CAAC,iBAAiB,CAAyC;IAClE,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAkB;IAC/C,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAS;IACxC,OAAO,CAAC,iBAAiB,CAA+C;IACxE,iEAAiE;IACjE,OAAO,CAAC,oBAAoB,CAA2C;IACvE,OAAO,CAAC,wBAAwB,CAA0D;gBAE9E,OAAO,GAAE,oBAAyB;IAY9C,MAAM,CAAC,MAAM,EAAE,IAAI,CAAC,MAAM;IAQ1B;;OAEG;IACH,mBAAmB,IAAI,CAAC,GAAG,EAAE,IAAI,CAAC,eAAe,EAAE,GAAG,EAAE,IAAI,CAAC,cAAc,KAAK,IAAI;IAmBpF,KAAK;IAuBL,yBAAyB;IACzB,OAAO,CAAC,iBAAiB;IAOzB,OAAO,CAAC,mBAAmB;IAiC3B,OAAO,CAAC,iBAAiB;IAwEzB,OAAO,CAAC,aAAa;IAQrB;;;;OAIG;YACW,wBAAwB;IAKtC;;OAEG;IACH,OAAO,CAAC,iBAAiB;IASzB;;OAEG;IACH,OAAO,CAAC,qBAAqB;IAwB7B;;OAEG;IACH,OAAO,CAAC,cAAc;IAmCtB,OAAO,CAAC,uBAAuB;IAI/B,OAAO,CAAC,sBAAsB;IAI9B;;;OAGG;YACW,yBAAyB;IAoBvC;;;;OAIG;YAmFW,eAAe;IA0K7B,OAAO,CAAC,gBAAgB;CAyOzB"}
1
+ {"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../../src/sharedb/server.ts"],"names":[],"mappings":"AAAA,OAAO,IAAI,MAAM,WAAW,CAAC;AAuB7B,8BAA8B;AAC9B,MAAM,MAAM,qBAAqB,GAAG;IAClC,OAAO,EAAE,OAAO,CAAC;IACjB,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB,CAAC;AAEF,MAAM,MAAM,oBAAoB,GAAG;IACjC;;;;OAIG;IACH,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB;;OAEG;IACH,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB;;OAEG;IACH,MAAM,CAAC,EAAE,CAAC,WAAW,EAAE,MAAM,GAAG,SAAS,KAAK,OAAO,CAAC,GAAG,CAAC,CAAC;IAC3D;;;;;OAKG;IACH,oBAAoB,CAAC,EAAE,CACrB,MAAM,EAAE,OAAO,EACf,SAAS,EAAE,OAAO,KACf,OAAO,CAAC,qBAAqB,CAAC,CAAC;IACpC;;OAEG;IACH,WAAW,CAAC,EAAE,CAAC,UAAU,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,KAAK,OAAO,CAAC,GAAG,CAAC,CAAC;IAC/D;;OAEG;IACH,IAAI,CAAC,EAAE,MAAM,CAAC;CACf,CAAC;AAEF,qBAAa,qBAAqB;IAChC,OAAO,CAAC,OAAO,CAAM;IACrB,OAAO,CAAC,GAAG,CAAC,CAAkB;IAC9B,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAuB;IAC/C,OAAO,CAAC,QAAQ,CAAC,IAAI,CAIhB;IAGL,OAAO,CAAC,UAAU,CAAoD;IACtE,OAAO,CAAC,iBAAiB,CAAyC;IAClE,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAkB;IAC/C,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAS;IACxC,OAAO,CAAC,iBAAiB,CAA+C;IACxE,iEAAiE;IACjE,OAAO,CAAC,oBAAoB,CAA2C;IACvE,OAAO,CAAC,wBAAwB,CAA0D;gBAE9E,OAAO,GAAE,oBAAyB;IAY9C,MAAM,CAAC,MAAM,EAAE,IAAI,CAAC,MAAM;IAQ1B;;OAEG;IACH,mBAAmB,IAAI,CAAC,GAAG,EAAE,IAAI,CAAC,eAAe,EAAE,GAAG,EAAE,IAAI,CAAC,cAAc,KAAK,IAAI;IAmBpF,KAAK;IAuBL,yBAAyB;IACzB,OAAO,CAAC,iBAAiB;IAOzB,OAAO,CAAC,mBAAmB;IAiC3B,OAAO,CAAC,iBAAiB;IAwEzB,OAAO,CAAC,aAAa;IAQrB;;;;OAIG;YACW,wBAAwB;IAKtC;;OAEG;IACH,OAAO,CAAC,iBAAiB;IASzB;;OAEG;IACH,OAAO,CAAC,qBAAqB;IAwB7B;;OAEG;IACH,OAAO,CAAC,cAAc;IAmCtB,OAAO,CAAC,uBAAuB;IAI/B,OAAO,CAAC,sBAAsB;IAI9B;;;OAGG;YACW,yBAAyB;IAoBvC;;;;OAIG;YAmFW,eAAe;IA0K7B,OAAO,CAAC,gBAAgB;CAmQzB"}
@@ -640,7 +640,30 @@ export class ShareDBRealtimeServer {
640
640
  const isDev = LocalDevAuth.shouldAllowWithoutToken();
641
641
  const user = this.options.onAuth ? await this.options.onAuth(accessToken) : null;
642
642
  const effectiveUser = user || (isDev ? LocalDevAuth.getFallbackUser() : null);
643
+ if (!effectiveUser) {
644
+ ws.close(1008, 'invalid_token');
645
+ return;
646
+ }
643
647
  if (effectiveUser && !streamListenCalled) {
648
+ // 授权:令牌有效不等于能访问客户端自报的这个 projectId。
649
+ // 未配置回调时维持历史行为(放行),配置后由回调决定放行与只读。
650
+ let decision = { allowed: true };
651
+ if (this.options.onCheckProjectAccess) {
652
+ const authUserId = effectiveUser?.sub ?? effectiveUser?.id ?? null;
653
+ try {
654
+ decision = await this.options.onCheckProjectAccess(authUserId, p?.projectId);
655
+ }
656
+ catch (err) {
657
+ // 授权组件异常时不放行:宁可断连重试,也不要以全量权限继续
658
+ console.error('[sharedb] project access check threw, denying:', err);
659
+ decision = { allowed: false };
660
+ }
661
+ if (!decision.allowed) {
662
+ console.warn(`[sharedb] access denied user=${String(authUserId)} project=${String(p?.projectId)}`);
663
+ ws.close(1008, 'access_denied');
664
+ return;
665
+ }
666
+ }
644
667
  authed = true;
645
668
  streamListenCalled = true;
646
669
  this.connectionContextMap.set(ws, {
@@ -648,6 +671,7 @@ export class ShareDBRealtimeServer {
648
671
  branchId: p?.branchId,
649
672
  });
650
673
  const currentUserId = effectiveUser?.id ?? 1;
674
+ const readOnly = decision.readOnly === true;
651
675
  const authPayload = {
652
676
  user: {
653
677
  id: currentUserId,
@@ -657,18 +681,15 @@ export class ShareDBRealtimeServer {
657
681
  project: {
658
682
  permissions: {
659
683
  read: [currentUserId],
660
- write: [currentUserId],
661
- admin: [currentUserId],
684
+ write: readOnly ? [] : [currentUserId],
685
+ admin: readOnly ? [] : [currentUserId],
662
686
  },
663
687
  },
664
- readOnly: false,
688
+ readOnly,
665
689
  };
666
690
  ws.send(`auth${JSON.stringify(authPayload)}`);
667
691
  this.backend.listen(stream);
668
692
  }
669
- else if (!effectiveUser) {
670
- ws.close(1008, 'invalid_token');
671
- }
672
693
  return;
673
694
  }
674
695
  for (const p of SPECIAL_PREFIXES) {
@@ -1 +1 @@
1
- {"version":3,"file":"server.js","sourceRoot":"","sources":["../../src/sharedb/server.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"server.js","sourceRoot":"","sources":["../../src/sharedb/server.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,152 @@
1
+ /** Immutable inputs shared by the skill workbench, runner and release checks. */
2
+ export type SkillEvaluationAssertion = {
3
+ type: 'contains' | 'not_contains' | 'equals';
4
+ expected: string;
5
+ file?: string;
6
+ } | {
7
+ type: 'json_field';
8
+ field: string;
9
+ expected: unknown;
10
+ file?: string;
11
+ } | {
12
+ type: 'file_exists';
13
+ file: string;
14
+ } | {
15
+ type: 'node_test';
16
+ source: string;
17
+ };
18
+ export type SkillEvaluationCase = {
19
+ id: string;
20
+ name: string;
21
+ enabled: boolean;
22
+ prompt: string;
23
+ judgePrompt?: string;
24
+ files: Array<{
25
+ path: string;
26
+ content: string;
27
+ }>;
28
+ assertions: SkillEvaluationAssertion[];
29
+ };
30
+ export type SkillEvaluationTemplateSpec = {
31
+ executor: 'opencode';
32
+ dockerImage: string;
33
+ cloudTemplateId: string;
34
+ nodeVersion: string;
35
+ opencodeVersion: string;
36
+ modelConfigId: string | null;
37
+ graderVersion: 'node-v1';
38
+ caseTimeoutSeconds: number;
39
+ runTimeoutSeconds: number;
40
+ globalConcurrency: number;
41
+ };
42
+ export type SkillEvaluationTemplate = {
43
+ id: string;
44
+ key: string;
45
+ version: number;
46
+ name: string;
47
+ state: 'draft' | 'enabled' | 'disabled';
48
+ spec: SkillEvaluationTemplateSpec;
49
+ };
50
+ export type SkillEvaluationConfigSpec = {
51
+ modelConfigId: string | null;
52
+ caseTimeoutSeconds: number;
53
+ cases: SkillEvaluationCase[];
54
+ };
55
+ export type SkillEvaluationConfig = {
56
+ id: string | null;
57
+ skillVersionId: string;
58
+ revision: number;
59
+ templateId: string;
60
+ fingerprint: string;
61
+ spec: SkillEvaluationConfigSpec;
62
+ ready: boolean;
63
+ };
64
+ export type SkillEvaluationPhase = 'queued' | 'preparing' | 'running' | 'grading' | 'archiving' | 'completed' | 'error' | 'cancelled';
65
+ export type SkillEvaluationVerdict = 'passed' | 'failed' | 'error' | 'cancelled';
66
+ export type SkillEvaluationCheck = {
67
+ index: number;
68
+ passed: boolean;
69
+ detail: string;
70
+ modelReview?: {
71
+ status: 'running' | 'completed' | 'error';
72
+ verdict?: 'passed' | 'failed' | 'insufficient_evidence';
73
+ evidence?: string[];
74
+ improvements?: string[];
75
+ inputTruncated?: boolean;
76
+ durationMs?: number;
77
+ usage?: {
78
+ inputTokens: number | null;
79
+ outputTokens: number | null;
80
+ };
81
+ };
82
+ };
83
+ export type SkillEvaluationCaseResult = {
84
+ id: string;
85
+ caseId: string;
86
+ target: 'candidate' | 'baseline';
87
+ phase: SkillEvaluationPhase;
88
+ verdict: SkillEvaluationVerdict | null;
89
+ checks: SkillEvaluationCheck[];
90
+ output: string | null;
91
+ error: string | null;
92
+ durationMs: number | null;
93
+ usage: {
94
+ inputTokens: number | null;
95
+ outputTokens: number | null;
96
+ cost: number | null;
97
+ } | null;
98
+ artifactAvailable: boolean;
99
+ };
100
+ export type SkillEvaluationRun = {
101
+ id: string;
102
+ skillVersionId: string;
103
+ baselineVersionId: string | null;
104
+ configId: string;
105
+ workspaceId: string;
106
+ phase: SkillEvaluationPhase;
107
+ verdict: SkillEvaluationVerdict | null;
108
+ error: string | null;
109
+ createdAt: string;
110
+ completedAt: string | null;
111
+ results: SkillEvaluationCaseResult[];
112
+ model: {
113
+ provider: string;
114
+ model: string;
115
+ } | null;
116
+ judge?: {
117
+ version: string;
118
+ maxOutputTokens: number;
119
+ temperature: number;
120
+ };
121
+ cases?: SkillEvaluationCase[];
122
+ template?: {
123
+ id: string;
124
+ version: number;
125
+ spec: SkillEvaluationTemplateSpec;
126
+ };
127
+ staticValidation?: {
128
+ candidate: SkillStaticValidation;
129
+ baseline: SkillStaticValidation | null;
130
+ };
131
+ };
132
+ export type SkillStaticValidation = {
133
+ status: 'passed' | 'failed';
134
+ issues: Array<{
135
+ code: string;
136
+ message: string;
137
+ severity: string;
138
+ }>;
139
+ };
140
+ export type SkillPublishCheck = {
141
+ skillVersionId: string;
142
+ currentStableVersionId: string | null;
143
+ configId: string | null;
144
+ reviewId: string | null;
145
+ runId: string | null;
146
+ hardIssues: string[];
147
+ evaluationIssues: string[];
148
+ canPublish: boolean;
149
+ };
150
+ export declare function defaultSkillEvaluationCases(): SkillEvaluationCase[];
151
+ export declare function isSkillEvaluationTerminal(phase: string): boolean;
152
+ //# sourceMappingURL=skill-evaluation.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"skill-evaluation.d.ts","sourceRoot":"","sources":["../src/skill-evaluation.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,14 @@
1
+ export function defaultSkillEvaluationCases() {
2
+ return ['normal', 'boundary', 'regression'].map((id) => ({
3
+ id,
4
+ name: '',
5
+ enabled: id === 'normal',
6
+ prompt: '',
7
+ files: [],
8
+ assertions: [],
9
+ }));
10
+ }
11
+ export function isSkillEvaluationTerminal(phase) {
12
+ return ['completed', 'error', 'cancelled'].includes(phase);
13
+ }
14
+ //# sourceMappingURL=skill-evaluation.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"skill-evaluation.js","sourceRoot":"","sources":["../src/skill-evaluation.ts"],"names":[],"mappings":"AAgIA,MAAM,UAAU,2BAA2B;IACzC,OAAO,CAAC,QAAQ,EAAE,UAAU,EAAE,YAAY,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC;QACvD,EAAE;QACF,IAAI,EAAE,EAAE;QACR,OAAO,EAAE,EAAE,KAAK,QAAQ;QACxB,MAAM,EAAE,EAAE;QACV,KAAK,EAAE,EAAE;QACT,UAAU,EAAE,EAAE;KACf,CAAC,CAAC,CAAC;AACN,CAAC;AAED,MAAM,UAAU,yBAAyB,CAAC,KAAa;IACrD,OAAO,CAAC,WAAW,EAAE,OAAO,EAAE,WAAW,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;AAC7D,CAAC"}