renma 0.15.2 → 0.16.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 (63) hide show
  1. package/CHANGELOG.md +20 -1
  2. package/README.md +134 -34
  3. package/dist/agent-skills.d.ts +77 -0
  4. package/dist/agent-skills.d.ts.map +1 -0
  5. package/dist/agent-skills.js +468 -0
  6. package/dist/agent-skills.js.map +1 -0
  7. package/dist/catalog.d.ts.map +1 -1
  8. package/dist/catalog.js +38 -5
  9. package/dist/catalog.js.map +1 -1
  10. package/dist/cli-help.d.ts +7 -7
  11. package/dist/cli-help.d.ts.map +1 -1
  12. package/dist/cli-help.js +13 -2
  13. package/dist/cli-help.js.map +1 -1
  14. package/dist/commands/scaffold.d.ts.map +1 -1
  15. package/dist/commands/scaffold.js +45 -14
  16. package/dist/commands/scaffold.js.map +1 -1
  17. package/dist/commands/suggest-metadata.d.ts +3 -1
  18. package/dist/commands/suggest-metadata.d.ts.map +1 -1
  19. package/dist/commands/suggest-metadata.js +179 -6
  20. package/dist/commands/suggest-metadata.js.map +1 -1
  21. package/dist/diagnostic-ids.d.ts +29 -0
  22. package/dist/diagnostic-ids.d.ts.map +1 -1
  23. package/dist/diagnostic-ids.js +28 -0
  24. package/dist/diagnostic-ids.js.map +1 -1
  25. package/dist/discovery.d.ts +22 -0
  26. package/dist/discovery.d.ts.map +1 -1
  27. package/dist/discovery.js +124 -21
  28. package/dist/discovery.js.map +1 -1
  29. package/dist/metadata.d.ts +3 -1
  30. package/dist/metadata.d.ts.map +1 -1
  31. package/dist/metadata.js +166 -29
  32. package/dist/metadata.js.map +1 -1
  33. package/dist/model.d.ts +1 -0
  34. package/dist/model.d.ts.map +1 -1
  35. package/dist/report.d.ts.map +1 -1
  36. package/dist/report.js +16 -1
  37. package/dist/report.js.map +1 -1
  38. package/dist/rules.d.ts.map +1 -1
  39. package/dist/rules.js +33 -22
  40. package/dist/rules.js.map +1 -1
  41. package/dist/scanner.d.ts.map +1 -1
  42. package/dist/scanner.js +3 -1
  43. package/dist/scanner.js.map +1 -1
  44. package/dist/security-diagnostics.d.ts.map +1 -1
  45. package/dist/security-diagnostics.js +98 -35
  46. package/dist/security-diagnostics.js.map +1 -1
  47. package/dist/security-policy-inventory.js +11 -4
  48. package/dist/security-policy-inventory.js.map +1 -1
  49. package/dist/security-policy.d.ts +27 -1
  50. package/dist/security-policy.d.ts.map +1 -1
  51. package/dist/security-policy.js +247 -34
  52. package/dist/security-policy.js.map +1 -1
  53. package/dist/skill-migration.d.ts +30 -0
  54. package/dist/skill-migration.d.ts.map +1 -0
  55. package/dist/skill-migration.js +566 -0
  56. package/dist/skill-migration.js.map +1 -0
  57. package/dist/types.d.ts +2 -0
  58. package/dist/types.d.ts.map +1 -1
  59. package/dist/yaml-frontmatter.d.ts +26 -0
  60. package/dist/yaml-frontmatter.d.ts.map +1 -0
  61. package/dist/yaml-frontmatter.js +114 -0
  62. package/dist/yaml-frontmatter.js.map +1 -0
  63. package/package.json +4 -1
@@ -1,3 +1,5 @@
1
+ import { inspectAgentSkill } from "./agent-skills.js";
2
+ import { parseDocument } from "./markdown.js";
1
3
  const BOOLEAN_POLICY_FIELDS = new Map([
2
4
  ["network_allowed", "networkAllowed"],
3
5
  ["external_upload_allowed", "externalUploadAllowed"],
@@ -11,16 +13,59 @@ const UPLOAD_DESTINATION_POLICY_FIELDS = new Set([
11
13
  const ALLOWED_DATA_POLICY_FIELDS = new Set(["allowed_data"]);
12
14
  const FORBIDDEN_INPUT_POLICY_FIELDS = new Set(["forbidden_inputs"]);
13
15
  const SECURITY_PROFILE_POLICY_FIELDS = new Set(["security_profile"]);
16
+ const CANONICAL_SECURITY_FIELD_DEFINITIONS = [
17
+ {
18
+ key: "renma.network-allowed",
19
+ operationalField: "networkAllowed",
20
+ encoding: "boolean",
21
+ },
22
+ {
23
+ key: "renma.external-upload-allowed",
24
+ operationalField: "externalUploadAllowed",
25
+ encoding: "boolean",
26
+ },
27
+ {
28
+ key: "renma.secrets-allowed",
29
+ operationalField: "secretsAllowed",
30
+ encoding: "boolean",
31
+ },
32
+ {
33
+ key: "renma.requires-human-approval",
34
+ operationalField: "humanApprovalRequired",
35
+ encoding: "boolean",
36
+ },
37
+ {
38
+ key: "renma.allowed-data",
39
+ operationalField: "allowedData",
40
+ encoding: "list",
41
+ },
42
+ {
43
+ key: "renma.forbidden-inputs",
44
+ operationalField: "forbiddenInputs",
45
+ encoding: "list",
46
+ },
47
+ {
48
+ key: "renma.approved-network-destinations",
49
+ operationalField: "approvedNetworkDestinations",
50
+ encoding: "list",
51
+ },
52
+ {
53
+ key: "renma.approved-upload-destinations",
54
+ operationalField: "approvedUploadDestinations",
55
+ encoding: "list",
56
+ },
57
+ {
58
+ key: "renma.security-profile",
59
+ operationalField: "securityProfile",
60
+ encoding: "profile",
61
+ },
62
+ ];
63
+ const CANONICAL_SECURITY_FIELDS = new Map(CANONICAL_SECURITY_FIELD_DEFINITIONS.map((definition) => [
64
+ definition.key,
65
+ definition,
66
+ ]));
14
67
  export function parseSecurityPolicy(content) {
15
- const policy = {
16
- allowedData: [],
17
- forbiddenInputs: [],
18
- approvedNetworkDestinations: [],
19
- approvedUploadDestinations: [],
20
- disallowedCommands: [],
21
- declared: new Set(),
22
- lineByField: new Map(),
23
- };
68
+ const policy = emptySecurityPolicy();
24
69
  const lines = content.split(/\r?\n/);
25
70
  const frontmatterEnd = lines[0]?.trim() === "---"
26
71
  ? lines.findIndex((line, index) => index > 0 && line.trim() === "---")
@@ -92,11 +137,74 @@ export function parseSecurityPolicy(content) {
92
137
  }
93
138
  return policy;
94
139
  }
140
+ /** Resolve the operational security source for one repository artifact. */
141
+ export function parseOperationalSecurityPolicy(input) {
142
+ return resolveOperationalSecurityPolicy(input).policy;
143
+ }
144
+ /** Resolve operational policy together with canonical semantic issues. */
145
+ export function resolveOperationalSecurityPolicy(input) {
146
+ const document = isParsedDocument(input) ? input : parseDocument(input);
147
+ if (document.artifact.kind !== "skill") {
148
+ return {
149
+ policy: parseSecurityPolicy(document.artifact.content),
150
+ issues: [],
151
+ };
152
+ }
153
+ const inspection = inspectAgentSkill(document);
154
+ const semantic = validateCanonicalSecurityMetadata(document);
155
+ if (inspection.validation.valid)
156
+ return semantic;
157
+ const policy = emptySecurityPolicy();
158
+ for (const issue of semantic.issues) {
159
+ recordInvalidCanonicalPolicyField(policy, issue.operationalField, issue);
160
+ }
161
+ return { policy, issues: semantic.issues };
162
+ }
163
+ /** Parse and validate every recognized metadata.renma.* security field. */
164
+ export function validateCanonicalSecurityMetadata(document) {
165
+ const inspection = inspectAgentSkill(document);
166
+ const policy = emptySecurityPolicy();
167
+ const issues = [];
168
+ for (const field of inspection.frontmatter.metadataFields) {
169
+ const definition = CANONICAL_SECURITY_FIELDS.get(field.key);
170
+ if (definition === undefined)
171
+ continue;
172
+ if (definition.encoding === "boolean") {
173
+ if (field.value === "true" || field.value === "false") {
174
+ policy[definition.operationalField] = field.value === "true";
175
+ recordCanonicalPolicyField(document, policy, definition.operationalField, field);
176
+ }
177
+ else {
178
+ recordCanonicalSecurityIssue(document, policy, issues, definition, field, 'expected the exact string "true" or "false"');
179
+ }
180
+ }
181
+ else if (definition.encoding === "list") {
182
+ const values = canonicalStringArray(field.value);
183
+ if (values === undefined) {
184
+ recordCanonicalSecurityIssue(document, policy, issues, definition, field, "expected a JSON-array string containing strings only");
185
+ }
186
+ else {
187
+ policy[definition.operationalField].push(...values);
188
+ recordCanonicalPolicyField(document, policy, definition.operationalField, field);
189
+ }
190
+ }
191
+ else if (typeof field.value !== "string" || !field.value.trim()) {
192
+ recordCanonicalSecurityIssue(document, policy, issues, definition, field, "expected a trimmed non-empty string");
193
+ }
194
+ else {
195
+ policy.securityProfile = field.value.trim();
196
+ recordCanonicalPolicyField(document, policy, definition.operationalField, field);
197
+ }
198
+ }
199
+ return { policy, issues };
200
+ }
95
201
  export function applySecurityConfig(policy, config) {
96
202
  if (config === undefined)
97
203
  return policy;
98
204
  const declared = new Set(policy.declared);
205
+ const invalidDeclared = new Set(policy.invalidDeclared);
99
206
  const lineByField = new Map(policy.lineByField);
207
+ const evidenceByField = new Map(policy.evidenceByField);
100
208
  const resolved = {
101
209
  ...policy,
102
210
  allowedData: [...policy.allowedData],
@@ -105,43 +213,41 @@ export function applySecurityConfig(policy, config) {
105
213
  approvedUploadDestinations: [...policy.approvedUploadDestinations],
106
214
  disallowedCommands: [...policy.disallowedCommands],
107
215
  declared,
216
+ invalidDeclared,
108
217
  lineByField,
218
+ evidenceByField,
109
219
  };
110
220
  const chain = securityProfileChain(policy.securityProfile, config);
221
+ setResolvedBoolean(resolved, "networkAllowed", resolvePermissionBoolean(policy.networkAllowed, inheritedProfileBoolean(chain, "networkAllowed"), policy.invalidDeclared.has("networkAllowed")));
222
+ setResolvedBoolean(resolved, "externalUploadAllowed", resolvePermissionBoolean(policy.externalUploadAllowed, inheritedProfileBoolean(chain, "externalUploadAllowed"), policy.invalidDeclared.has("externalUploadAllowed")));
223
+ setResolvedBoolean(resolved, "secretsAllowed", resolvePermissionBoolean(policy.secretsAllowed, inheritedProfileBoolean(chain, "secretsAllowed"), policy.invalidDeclared.has("secretsAllowed")));
224
+ setResolvedBoolean(resolved, "humanApprovalRequired", resolveRequiredBoolean(policy.humanApprovalRequired, inheritedProfileBoolean(chain, "humanApprovalRequired"), policy.invalidDeclared.has("humanApprovalRequired")));
111
225
  for (const item of chain.profiles) {
112
226
  const profile = item.profile;
113
- if (!declared.has("networkAllowed") &&
114
- profile.networkAllowed !== undefined) {
115
- resolved.networkAllowed = profile.networkAllowed;
116
- }
117
- if (!declared.has("externalUploadAllowed") &&
118
- profile.externalUploadAllowed !== undefined) {
119
- resolved.externalUploadAllowed = profile.externalUploadAllowed;
120
- }
121
- if (!declared.has("secretsAllowed") &&
122
- profile.secretsAllowed !== undefined) {
123
- resolved.secretsAllowed = profile.secretsAllowed;
124
- }
125
- if (!declared.has("humanApprovalRequired") &&
126
- profile.humanApprovalRequired !== undefined) {
127
- resolved.humanApprovalRequired = profile.humanApprovalRequired;
128
- }
129
- if (!declared.has("allowedData") &&
227
+ if (mayInheritAllowedData(policy) &&
130
228
  profile.allowedDataClass !== undefined) {
131
229
  resolved.allowedDataClass = profile.allowedDataClass;
132
230
  }
133
- if (!declared.has("allowedData")) {
231
+ if (mayInheritAllowedData(policy)) {
134
232
  resolved.allowedData.push(...profile.allowedData);
135
233
  }
136
- if (!declared.has("forbiddenInputs")) {
234
+ if (mayInheritForbiddenInputs(policy)) {
137
235
  resolved.forbiddenInputs.push(...profile.forbiddenInputs);
138
236
  }
139
- resolved.approvedNetworkDestinations.push(...profile.approvedDomains);
140
- resolved.approvedUploadDestinations.push(...profile.approvedUploadDomains);
237
+ if (mayAccumulate(policy, "approvedNetworkDestinations")) {
238
+ resolved.approvedNetworkDestinations.push(...profile.approvedDomains);
239
+ }
240
+ if (mayAccumulate(policy, "approvedUploadDestinations")) {
241
+ resolved.approvedUploadDestinations.push(...profile.approvedUploadDomains);
242
+ }
141
243
  resolved.disallowedCommands.push(...profile.disallowedCommands);
142
244
  }
143
- resolved.approvedNetworkDestinations.push(...config.approvedDomains);
144
- resolved.approvedUploadDestinations.push(...config.approvedUploadDomains);
245
+ if (mayAccumulate(policy, "approvedNetworkDestinations")) {
246
+ resolved.approvedNetworkDestinations.push(...config.approvedDomains);
247
+ }
248
+ if (mayAccumulate(policy, "approvedUploadDestinations")) {
249
+ resolved.approvedUploadDestinations.push(...config.approvedUploadDomains);
250
+ }
145
251
  resolved.disallowedCommands.push(...config.disallowedCommands);
146
252
  resolved.allowedData = uniqueStrings(resolved.allowedData);
147
253
  resolved.forbiddenInputs = uniqueStrings(resolved.forbiddenInputs);
@@ -150,6 +256,112 @@ export function applySecurityConfig(policy, config) {
150
256
  resolved.disallowedCommands = uniqueStrings(resolved.disallowedCommands);
151
257
  return resolved;
152
258
  }
259
+ function emptySecurityPolicy() {
260
+ return {
261
+ allowedData: [],
262
+ forbiddenInputs: [],
263
+ approvedNetworkDestinations: [],
264
+ approvedUploadDestinations: [],
265
+ disallowedCommands: [],
266
+ declared: new Set(),
267
+ invalidDeclared: new Set(),
268
+ lineByField: new Map(),
269
+ evidenceByField: new Map(),
270
+ };
271
+ }
272
+ function isParsedDocument(input) {
273
+ return "artifact" in input;
274
+ }
275
+ function canonicalStringArray(value) {
276
+ if (typeof value !== "string")
277
+ return undefined;
278
+ let parsed;
279
+ try {
280
+ parsed = JSON.parse(value);
281
+ }
282
+ catch {
283
+ return undefined;
284
+ }
285
+ if (!Array.isArray(parsed) || parsed.some((item) => typeof item !== "string"))
286
+ return undefined;
287
+ return parsed.map((item) => item.trim()).filter(Boolean);
288
+ }
289
+ function recordCanonicalSecurityIssue(document, policy, issues, definition, field, expectation) {
290
+ const evidence = canonicalFieldEvidence(document, field);
291
+ const issue = {
292
+ key: definition.key,
293
+ operationalField: definition.operationalField,
294
+ reason: `${expectation}; rejected ${describeRejectedValue(field.value)}`,
295
+ ...evidence,
296
+ };
297
+ issues.push(issue);
298
+ recordInvalidCanonicalPolicyField(policy, definition.operationalField, issue);
299
+ }
300
+ function recordInvalidCanonicalPolicyField(policy, operationalField, evidence) {
301
+ policy.invalidDeclared.add(operationalField);
302
+ policy.lineByField.set(operationalField, evidence.startLine);
303
+ policy.evidenceByField.set(operationalField, evidence);
304
+ }
305
+ function describeRejectedValue(value) {
306
+ if (typeof value === "string")
307
+ return JSON.stringify(value);
308
+ const serialized = JSON.stringify(value);
309
+ return serialized === undefined ? String(value) : serialized;
310
+ }
311
+ function canonicalFieldEvidence(document, field) {
312
+ return {
313
+ startLine: field.startLine,
314
+ endLine: field.endLine,
315
+ snippet: document.lines
316
+ .slice(field.startLine - 1, field.endLine)
317
+ .join("\n"),
318
+ };
319
+ }
320
+ function recordCanonicalPolicyField(document, policy, operationalField, field) {
321
+ policy.declared.add(operationalField);
322
+ policy.lineByField.set(operationalField, field.startLine);
323
+ policy.evidenceByField.set(operationalField, canonicalFieldEvidence(document, field));
324
+ }
325
+ function resolvePermissionBoolean(local, inherited, invalid) {
326
+ if (local !== undefined)
327
+ return local;
328
+ if (invalid)
329
+ return inherited === false ? false : undefined;
330
+ return inherited;
331
+ }
332
+ function setResolvedBoolean(policy, field, value) {
333
+ if (value === undefined) {
334
+ delete policy[field];
335
+ }
336
+ else {
337
+ policy[field] = value;
338
+ }
339
+ }
340
+ function resolveRequiredBoolean(local, inherited, invalid) {
341
+ if (local !== undefined)
342
+ return local;
343
+ if (invalid)
344
+ return inherited === true ? true : undefined;
345
+ return inherited;
346
+ }
347
+ function inheritedProfileBoolean(chain, field) {
348
+ let inherited;
349
+ for (const item of chain.profiles) {
350
+ if (item.profile[field] !== undefined)
351
+ inherited = item.profile[field];
352
+ }
353
+ return inherited;
354
+ }
355
+ function mayInheritAllowedData(policy) {
356
+ return (!policy.declared.has("allowedData") &&
357
+ !policy.invalidDeclared.has("allowedData"));
358
+ }
359
+ function mayInheritForbiddenInputs(policy) {
360
+ return !policy.declared.has("forbiddenInputs");
361
+ }
362
+ function mayAccumulate(policy, field) {
363
+ return !policy.invalidDeclared.has(field);
364
+ }
153
365
  export function securityProfileChain(name, config) {
154
366
  if (name === undefined)
155
367
  return { profiles: [] };
@@ -184,9 +396,10 @@ export function effectiveAllowedDataList(policy) {
184
396
  return policy.allowedData;
185
397
  }
186
398
  export function isSecurityPolicyLine(line) {
187
- const key = line.match(/^\s*([A-Za-z_][A-Za-z0-9_]*):/)?.[1];
399
+ const key = line.match(/^\s*([A-Za-z_][A-Za-z0-9_.-]*):/)?.[1];
188
400
  return (key !== undefined &&
189
- (BOOLEAN_POLICY_FIELDS.has(key) ||
401
+ (CANONICAL_SECURITY_FIELDS.has(key) ||
402
+ BOOLEAN_POLICY_FIELDS.has(key) ||
190
403
  DESTINATION_POLICY_FIELDS.has(key) ||
191
404
  UPLOAD_DESTINATION_POLICY_FIELDS.has(key) ||
192
405
  ALLOWED_DATA_POLICY_FIELDS.has(key) ||
@@ -1 +1 @@
1
- {"version":3,"file":"security-policy.js","sourceRoot":"","sources":["../src/security-policy.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"security-policy.js","sourceRoot":"","sources":["../src/security-policy.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,30 @@
1
+ import { type AgentSkillFormat } from "./agent-skills.js";
2
+ import type { SkillEntrypointPath } from "./discovery.js";
3
+ import type { ParsedDocument } from "./types.js";
4
+ export interface SkillMigrationBlock {
5
+ field: string;
6
+ reason: string;
7
+ }
8
+ export interface AgentSkillMigrationSuggestion {
9
+ sourceFormat: AgentSkillFormat;
10
+ direction: "legacy-to-agent-skills" | "none";
11
+ proposalKind: "historical-migration" | "canonical-metadata-retrofit" | "none";
12
+ sourcePath: string;
13
+ targetPath: string;
14
+ entrypointMigration: "none" | "rename" | "move-and-rename";
15
+ bodyPreserved: true;
16
+ candidateAgentSkillsFields: Record<string, string>;
17
+ candidateRenmaMetadata: Record<string, string>;
18
+ preservedMetadata: Record<string, string>;
19
+ canonicalFrontmatter?: string;
20
+ blocked: SkillMigrationBlock[];
21
+ reviewPrompt: string;
22
+ }
23
+ export interface AgentSkillMigrationOptions {
24
+ explicitOwner?: string;
25
+ entrypoint?: SkillEntrypointPath;
26
+ additionalBlocks?: SkillMigrationBlock[];
27
+ }
28
+ /** Build a one-way, non-editing migration proposal for a Skill target. */
29
+ export declare function buildAgentSkillMigrationSuggestion(document: ParsedDocument, options?: AgentSkillMigrationOptions): AgentSkillMigrationSuggestion;
30
+ //# sourceMappingURL=skill-migration.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"skill-migration.d.ts","sourceRoot":"","sources":["../src/skill-migration.ts"],"names":[],"mappings":"AAEA,OAAO,EAQL,KAAK,gBAAgB,EAEtB,MAAM,mBAAmB,CAAC;AAC3B,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,gBAAgB,CAAC;AAG1D,OAAO,KAAK,EAAY,cAAc,EAAE,MAAM,YAAY,CAAC;AAuC3D,MAAM,WAAW,mBAAmB;IAClC,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,6BAA6B;IAC5C,YAAY,EAAE,gBAAgB,CAAC;IAC/B,SAAS,EAAE,wBAAwB,GAAG,MAAM,CAAC;IAC7C,YAAY,EAAE,sBAAsB,GAAG,6BAA6B,GAAG,MAAM,CAAC;IAC9E,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,MAAM,CAAC;IACnB,mBAAmB,EAAE,MAAM,GAAG,QAAQ,GAAG,iBAAiB,CAAC;IAC3D,aAAa,EAAE,IAAI,CAAC;IACpB,0BAA0B,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACnD,sBAAsB,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC/C,iBAAiB,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC1C,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAC9B,OAAO,EAAE,mBAAmB,EAAE,CAAC;IAC/B,YAAY,EAAE,MAAM,CAAC;CACtB;AAED,MAAM,WAAW,0BAA0B;IACzC,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,UAAU,CAAC,EAAE,mBAAmB,CAAC;IACjC,gBAAgB,CAAC,EAAE,mBAAmB,EAAE,CAAC;CAC1C;AAED,0EAA0E;AAC1E,wBAAgB,kCAAkC,CAChD,QAAQ,EAAE,cAAc,EACxB,OAAO,GAAE,0BAA+B,GACvC,6BAA6B,CAgS/B"}