renma 0.18.0 → 0.18.2

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 (74) hide show
  1. package/CHANGELOG.md +101 -1
  2. package/README.md +61 -3
  3. package/architecture.md +7 -6
  4. package/design.md +39 -32
  5. package/dist/agent-skills.d.ts +5 -6
  6. package/dist/agent-skills.d.ts.map +1 -1
  7. package/dist/agent-skills.js +2 -10
  8. package/dist/agent-skills.js.map +1 -1
  9. package/dist/catalog.d.ts +27 -1
  10. package/dist/catalog.d.ts.map +1 -1
  11. package/dist/catalog.js +62 -16
  12. package/dist/catalog.js.map +1 -1
  13. package/dist/cli-help.d.ts +8 -8
  14. package/dist/cli-help.d.ts.map +1 -1
  15. package/dist/cli-help.js +19 -4
  16. package/dist/cli-help.js.map +1 -1
  17. package/dist/command-invocation.d.ts +4 -0
  18. package/dist/command-invocation.d.ts.map +1 -0
  19. package/dist/command-invocation.js +14 -0
  20. package/dist/command-invocation.js.map +1 -0
  21. package/dist/commands/inspect.d.ts +5 -0
  22. package/dist/commands/inspect.d.ts.map +1 -1
  23. package/dist/commands/inspect.js +185 -33
  24. package/dist/commands/inspect.js.map +1 -1
  25. package/dist/commands/scaffold.js +30 -9
  26. package/dist/commands/scaffold.js.map +1 -1
  27. package/dist/commands/suggest-metadata.d.ts +6 -2
  28. package/dist/commands/suggest-metadata.d.ts.map +1 -1
  29. package/dist/commands/suggest-metadata.js +516 -72
  30. package/dist/commands/suggest-metadata.js.map +1 -1
  31. package/dist/context-lens.d.ts +1 -0
  32. package/dist/context-lens.d.ts.map +1 -1
  33. package/dist/context-lens.js +19 -1
  34. package/dist/context-lens.js.map +1 -1
  35. package/dist/diagnostic-ids.d.ts +1 -0
  36. package/dist/diagnostic-ids.d.ts.map +1 -1
  37. package/dist/diagnostic-ids.js +1 -0
  38. package/dist/diagnostic-ids.js.map +1 -1
  39. package/dist/discovery.d.ts +33 -1
  40. package/dist/discovery.d.ts.map +1 -1
  41. package/dist/discovery.js +361 -51
  42. package/dist/discovery.js.map +1 -1
  43. package/dist/metadata.d.ts +15 -1
  44. package/dist/metadata.d.ts.map +1 -1
  45. package/dist/metadata.js +235 -0
  46. package/dist/metadata.js.map +1 -1
  47. package/dist/model.d.ts +5 -10
  48. package/dist/model.d.ts.map +1 -1
  49. package/dist/rules.js +69 -23
  50. package/dist/rules.js.map +1 -1
  51. package/dist/scanner.d.ts.map +1 -1
  52. package/dist/scanner.js +66 -2
  53. package/dist/scanner.js.map +1 -1
  54. package/dist/skill-migration.d.ts.map +1 -1
  55. package/dist/skill-migration.js +6 -1
  56. package/dist/skill-migration.js.map +1 -1
  57. package/dist/types.d.ts +72 -0
  58. package/dist/types.d.ts.map +1 -1
  59. package/dist/types.js +50 -1
  60. package/dist/types.js.map +1 -1
  61. package/docs/README.md +2 -1
  62. package/docs/agent-skills-compatibility.md +8 -1
  63. package/docs/authoring-guide.md +100 -13
  64. package/docs/context-lens.md +319 -153
  65. package/docs/diagnostics.md +385 -3
  66. package/docs/metadata-budget.md +32 -0
  67. package/docs/quality-profile.md +17 -5
  68. package/docs/user-manual.md +136 -14
  69. package/examples/context-lens/README.md +8 -3
  70. package/examples/context-lens/contexts/testing/boundary-value-analysis.md +6 -2
  71. package/examples/context-lens/lenses/testing/spec-review-boundary-values.md +27 -5
  72. package/examples/context-lens/lenses/testing/test-design-boundary-values.md +27 -5
  73. package/examples/context-lens/skills/testing/spec-review/SKILL.md +33 -4
  74. package/package.json +1 -1
package/dist/discovery.js CHANGED
@@ -1,4 +1,5 @@
1
1
  import { createHash } from "node:crypto";
2
+ import { lstatSync } from "node:fs";
2
3
  import { readFile } from "node:fs/promises";
3
4
  import path from "node:path";
4
5
  import { DIAGNOSTIC_IDS } from "./diagnostic-ids.js";
@@ -150,6 +151,365 @@ export function normalizeRepositoryRelativePath(filePath) {
150
151
  const normalizedRootEndIndex = repositorySkillRootEndIndex(resolved);
151
152
  return normalizedRootEndIndex === rootEndIndex ? normalized : undefined;
152
153
  }
154
+ /** Normalize any repository-relative path without permitting root traversal. */
155
+ export function normalizeAssetRepositoryRelativePath(filePath) {
156
+ const normalizedSeparators = toPosix(filePath);
157
+ if (isAbsoluteLike(normalizedSeparators))
158
+ return undefined;
159
+ if (normalizedSeparators.split("/").includes(".."))
160
+ return undefined;
161
+ const resolved = [];
162
+ for (const segment of normalizedSeparators.split("/")) {
163
+ if (!segment || segment === ".")
164
+ continue;
165
+ if (segment === "..") {
166
+ if (resolved.length === 0)
167
+ return undefined;
168
+ resolved.pop();
169
+ continue;
170
+ }
171
+ resolved.push(segment);
172
+ }
173
+ return resolved.length > 0 ? resolved.join("/") : undefined;
174
+ }
175
+ /** Resolve one repository boundary without treating cwd containment as proof. */
176
+ export function repositoryClassificationPath(filePath, options = {}) {
177
+ const normalizedOptions = typeof options === "string" ? { cwd: options } : options;
178
+ const cwd = path.resolve(normalizedOptions.cwd ?? process.cwd());
179
+ const absolutePath = path.resolve(cwd, filePath);
180
+ if (normalizedOptions.repositoryRoot) {
181
+ const root = path.resolve(cwd, normalizedOptions.repositoryRoot);
182
+ const relativePath = repositoryRelativePath(root, absolutePath);
183
+ return relativePath
184
+ ? {
185
+ state: "resolved",
186
+ source: "explicit",
187
+ root,
188
+ relativePath,
189
+ absolutePath,
190
+ }
191
+ : {
192
+ state: "unresolved",
193
+ reasonCode: "repository-boundary-unresolved",
194
+ reason: "The target is outside the explicitly supplied repository root.",
195
+ absolutePath,
196
+ candidateRoots: [root],
197
+ };
198
+ }
199
+ const markerBoundary = nearestRepositoryMarker(path.dirname(absolutePath));
200
+ if (markerBoundary) {
201
+ const relativePath = repositoryRelativePath(markerBoundary.root, absolutePath);
202
+ if (relativePath) {
203
+ return {
204
+ state: "resolved",
205
+ source: "marker",
206
+ root: markerBoundary.root,
207
+ relativePath,
208
+ absolutePath,
209
+ marker: markerBoundary.marker,
210
+ };
211
+ }
212
+ }
213
+ const structural = structuralRepositoryBoundary(absolutePath);
214
+ if (structural) {
215
+ if (structural.state === "ambiguous") {
216
+ return {
217
+ state: "unresolved",
218
+ reasonCode: "repository-boundary-ambiguous",
219
+ reason: "Multiple structural repository roots remain plausible; supply an explicit root or add a repository marker.",
220
+ absolutePath,
221
+ candidateRoots: structural.candidateRoots,
222
+ };
223
+ }
224
+ return {
225
+ state: "resolved",
226
+ source: "structural",
227
+ root: structural.root,
228
+ relativePath: structural.relativePath,
229
+ absolutePath,
230
+ };
231
+ }
232
+ return {
233
+ state: "unresolved",
234
+ reasonCode: "repository-boundary-unresolved",
235
+ reason: "No explicit root, repository marker, or unambiguous structural asset boundary was found.",
236
+ absolutePath,
237
+ candidateRoots: [],
238
+ };
239
+ }
240
+ /**
241
+ * Classify one normalized repository path using the documented precedence.
242
+ * Metadata may refine a Context Asset to Context Lens without changing the
243
+ * path rule that established its repository boundary.
244
+ */
245
+ export function classifyAssetPath(relativePath, options = {}) {
246
+ const currentPath = normalizeAssetRepositoryRelativePath(relativePath);
247
+ if (!currentPath) {
248
+ return classification("unknown", "unknown", "unknown", "outside-recognized-asset-boundary", "The path is absolute, empty, or escapes the repository boundary; repository-relative classification is unavailable.");
249
+ }
250
+ // 1. Explicit Skill entrypoint.
251
+ const skillPath = classifyRepositorySkillPath(currentPath);
252
+ if (skillPath?.kind === "entrypoint") {
253
+ return {
254
+ ...classification("skill", "independent", "skill-entrypoint", "under-canonical-skill-root", `The file is a Skill entrypoint under the recognized ${skillPath.root}/** root.`),
255
+ recognizedRoot: skillPath.root,
256
+ };
257
+ }
258
+ // 2. Structurally Skill-local support inside a recognized Skill path shape.
259
+ if (skillPath?.kind === "support") {
260
+ return {
261
+ ...classification(supportArtifactKind(skillPath.supportDirectory), "skill-local", "skill-local-support", "under-skill-support-directory", `The file is inside a canonical ${skillPath.supportDirectory}/ support directory under a recognized Skill root; repository evidence must resolve the parent Skill.`),
262
+ recognizedRoot: skillPath.root,
263
+ parentAssetCandidatePath: `${skillPath.skillDirectory}/SKILL.md`,
264
+ parentResolution: "structural-candidate",
265
+ supportDirectory: skillPath.supportDirectory,
266
+ };
267
+ }
268
+ if (skillPath?.kind === "reserved-root") {
269
+ const compatibleKind = skillPath.supportDirectory === "assets" ||
270
+ skillPath.supportDirectory === "scripts"
271
+ ? "unknown"
272
+ : supportArtifactKind(skillPath.supportDirectory);
273
+ return {
274
+ ...classification(compatibleKind, "unknown", compatibleKind === "unknown"
275
+ ? "unknown"
276
+ : genericSupportRule(skillPath.supportDirectory), "outside-recognized-asset-boundary", `The ${skillPath.supportDirectory}/ directory is reserved for support inside a containing Skill, but this path has no Skill parent.`),
277
+ recognizedRoot: skillPath.root,
278
+ supportDirectory: skillPath.supportDirectory,
279
+ };
280
+ }
281
+ // Paths below a Skill root that did not match the canonical support set are
282
+ // repository files, not implicitly governed Skill-local resources.
283
+ if (isUnderSkillRoot(currentPath)) {
284
+ const segments = currentPath.split("/");
285
+ const rootEnd = repositorySkillRootEndIndex(segments) ?? 0;
286
+ const localSegments = segments.slice(rootEnd);
287
+ if (localSegments.includes("tools")) {
288
+ return {
289
+ ...classification("unknown", "repository-support", "unknown", "unsupported-skill-local-directory", "The tools/ directory is not a canonical Skill-local support directory; use scripts/ for Skill-local executable support."),
290
+ recognizedRoot: repositorySkillRoot(segments),
291
+ competingRules: [
292
+ {
293
+ rule: "skill-local-support",
294
+ matched: false,
295
+ reasonCode: "unsupported-skill-local-directory",
296
+ reason: "Canonical Skill-local support is limited to references, profiles, examples, scripts, and assets.",
297
+ },
298
+ ],
299
+ };
300
+ }
301
+ }
302
+ // 3. Recognized top-level asset roots.
303
+ const segments = currentPath.split("/");
304
+ const root = segments[0] ?? "";
305
+ if (root === "contexts" || root === "context") {
306
+ const ignoredNestedSegments = RESERVED_SKILL_SUPPORT_DIRS.filter((segment) => segments.slice(1).includes(segment));
307
+ const kind = options.metadataType === "context_lens" ? "context_lens" : "context";
308
+ const result = {
309
+ ...classification(kind, "independent", root === "contexts" ? "context-root" : "context-root-legacy", root === "contexts"
310
+ ? "under-recognized-context-root"
311
+ : "under-legacy-context-root", root === "contexts"
312
+ ? "The file is under the recognized contexts/** root."
313
+ : "The file is under the supported legacy context/** root."),
314
+ recognizedRoot: root,
315
+ };
316
+ if (ignoredNestedSegments.length > 0) {
317
+ result.ignoredNestedSegments = ignoredNestedSegments;
318
+ result.competingRules = [
319
+ {
320
+ rule: "skill-local-support",
321
+ matched: false,
322
+ reasonCode: "outside-recognized-skill-boundary",
323
+ reason: "The path is not inside skills/** or .agents/skills/**, so nested support-like names do not establish Skill-local governance.",
324
+ },
325
+ ];
326
+ result.reason += ` The nested ${ignoredNestedSegments.join(", ")}/ segment${ignoredNestedSegments.length === 1 ? " does" : "s do"} not change its classification.`;
327
+ }
328
+ return result;
329
+ }
330
+ if (root === "lenses") {
331
+ return {
332
+ ...classification("context_lens", "independent", "lens-root", "under-recognized-lens-root", "The file is under the recognized lenses/** root."),
333
+ recognizedRoot: root,
334
+ };
335
+ }
336
+ if (currentPath === "AGENTS.md" || root === ".agents") {
337
+ return {
338
+ ...classification("agent", "independent", "agent-root", "under-recognized-agent-root", "The file is repository agent guidance under the recognized Agent boundary."),
339
+ recognizedRoot: currentPath === "AGENTS.md" ? "AGENTS.md" : ".agents",
340
+ };
341
+ }
342
+ // 4. Recognized repository support and configuration.
343
+ if (root === "tools") {
344
+ return {
345
+ ...classification("unknown", "repository-support", "repository-tool", "repository-tool-not-context", "The tools/** root is repository implementation and is not a Context Asset root."),
346
+ recognizedRoot: root,
347
+ competingRules: [
348
+ {
349
+ rule: "context-root",
350
+ matched: false,
351
+ reasonCode: "outside-recognized-context-root",
352
+ reason: "The path is not under contexts/** or context/**.",
353
+ },
354
+ ],
355
+ };
356
+ }
357
+ const basename = path.posix.basename(currentPath);
358
+ if (basename === "renma.config.json" || basename === ".renma.json") {
359
+ return classification("config", "repository-support", "config-file", "recognized-config-file", "The filename matches a supported Renma configuration file.");
360
+ }
361
+ // 5. Compatibility rules for nested generic support-like paths.
362
+ for (const [segment, kind, rule] of [
363
+ ["profiles", "profile", "generic-profile"],
364
+ ["references", "reference", "generic-reference"],
365
+ ["examples", "example", "generic-example"],
366
+ ]) {
367
+ if (segments.slice(1, -1).includes(segment)) {
368
+ return classification(kind, "unknown", rule, "under-generic-support-directory", `The file is under a nested ${segment}/ directory outside a recognized independent or Skill-local asset boundary.`);
369
+ }
370
+ }
371
+ // 6. Unknown.
372
+ return classification("unknown", "unknown", "unknown", "outside-recognized-asset-boundary", "The file is outside Renma's recognized asset and repository-support boundaries.");
373
+ }
374
+ function classification(kind, scope, matchedRule, reasonCode, reason) {
375
+ return { kind, scope, matchedRule, reasonCode, reason };
376
+ }
377
+ function repositoryRelativePath(root, absolutePath) {
378
+ const relative = path.relative(root, absolutePath);
379
+ if (!relative || relative.startsWith("..") || path.isAbsolute(relative)) {
380
+ return undefined;
381
+ }
382
+ return normalizeAssetRepositoryRelativePath(relative);
383
+ }
384
+ function nearestRepositoryMarker(startDirectory) {
385
+ let directory = path.resolve(startDirectory);
386
+ while (true) {
387
+ for (const marker of [
388
+ ".git",
389
+ "renma.config.json",
390
+ ".renma.json",
391
+ ]) {
392
+ try {
393
+ const markerStats = lstatSync(path.join(directory, marker));
394
+ const validMarker = marker === ".git"
395
+ ? markerStats.isFile() || markerStats.isDirectory()
396
+ : markerStats.isFile();
397
+ if (!markerStats.isSymbolicLink() && validMarker) {
398
+ return { root: directory, marker };
399
+ }
400
+ }
401
+ catch {
402
+ // Missing or unreadable markers do not establish a safe boundary.
403
+ }
404
+ }
405
+ const parent = path.dirname(directory);
406
+ if (parent === directory)
407
+ return undefined;
408
+ directory = parent;
409
+ }
410
+ }
411
+ function structuralRepositoryBoundary(absolutePath) {
412
+ const parsed = path.parse(absolutePath);
413
+ const relativeToFilesystemRoot = path.relative(parsed.root, absolutePath);
414
+ const segments = relativeToFilesystemRoot.split(path.sep).filter(Boolean);
415
+ const strongSegments = new Set([
416
+ ".agents",
417
+ "skills",
418
+ "contexts",
419
+ "context",
420
+ "lenses",
421
+ "tools",
422
+ ]);
423
+ const guardSegments = new Set([
424
+ "profiles",
425
+ "references",
426
+ "examples",
427
+ "scripts",
428
+ "assets",
429
+ ]);
430
+ const boundaryCandidate = (index) => {
431
+ const root = path.join(parsed.root, ...segments.slice(0, index));
432
+ const relativePath = normalizeAssetRepositoryRelativePath(segments.slice(index).join("/"));
433
+ return relativePath ? { index, root, relativePath } : undefined;
434
+ };
435
+ const strongCandidates = segments
436
+ .slice(0, -1)
437
+ .flatMap((segment, index) => strongSegments.has(segment) ? [boundaryCandidate(index)] : [])
438
+ .filter((candidate) => candidate !== undefined);
439
+ const guardCandidates = segments
440
+ .slice(0, -1)
441
+ .flatMap((segment, index) => guardSegments.has(segment) ? [boundaryCandidate(index)] : [])
442
+ .filter((candidate) => candidate !== undefined);
443
+ const firstStrong = strongCandidates[0];
444
+ if (firstStrong) {
445
+ const earlierGuards = guardCandidates.filter((candidate) => candidate.index < firstStrong.index);
446
+ if (earlierGuards.length > 0) {
447
+ return {
448
+ state: "ambiguous",
449
+ candidateRoots: [
450
+ ...new Set([...earlierGuards, ...strongCandidates].map((candidate) => candidate.root)),
451
+ ],
452
+ };
453
+ }
454
+ const firstClassification = classifyAssetPath(firstStrong.relativePath);
455
+ const firstStrongEstablishesBoundary = firstClassification.matchedRule !== "unknown" ||
456
+ firstClassification.scope !== "unknown";
457
+ if (strongCandidates.length === 1 || firstStrongEstablishesBoundary) {
458
+ return {
459
+ state: "resolved",
460
+ root: firstStrong.root,
461
+ relativePath: firstStrong.relativePath,
462
+ };
463
+ }
464
+ return {
465
+ state: "ambiguous",
466
+ candidateRoots: [
467
+ ...new Set(strongCandidates.map((candidate) => candidate.root)),
468
+ ],
469
+ };
470
+ }
471
+ const basename = segments.at(-1);
472
+ if (basename === "AGENTS.md" ||
473
+ basename === "renma.config.json" ||
474
+ basename === ".renma.json") {
475
+ const root = path.dirname(absolutePath);
476
+ const relativePath = normalizeAssetRepositoryRelativePath(basename);
477
+ if (relativePath)
478
+ return { state: "resolved", root, relativePath };
479
+ }
480
+ return undefined;
481
+ }
482
+ function supportArtifactKind(directory) {
483
+ switch (directory) {
484
+ case "assets":
485
+ return "asset";
486
+ case "examples":
487
+ return "example";
488
+ case "profiles":
489
+ return "profile";
490
+ case "references":
491
+ return "reference";
492
+ case "scripts":
493
+ return "script";
494
+ }
495
+ }
496
+ function genericSupportRule(directory) {
497
+ switch (directory) {
498
+ case "profiles":
499
+ return "generic-profile";
500
+ case "references":
501
+ return "generic-reference";
502
+ case "examples":
503
+ return "generic-example";
504
+ case "assets":
505
+ case "scripts":
506
+ return "unknown";
507
+ }
508
+ }
509
+ function isUnderSkillRoot(relativePath) {
510
+ const segments = relativePath.split("/");
511
+ return repositorySkillRootEndIndex(segments) !== undefined;
512
+ }
153
513
  function classifySkillEntrypointAtRoot(currentPath, segments, rootEndIndex) {
154
514
  const basename = path.posix.basename(currentPath);
155
515
  const directory = path.posix.dirname(currentPath);
@@ -248,7 +608,7 @@ export async function discoverArtifacts(root, config) {
248
608
  return {
249
609
  path: relativePath,
250
610
  absolutePath,
251
- kind: classify(relativePath),
611
+ kind: classifyAssetPath(relativePath).kind,
252
612
  sizeBytes: info.size,
253
613
  contentHash: `sha256:${createHash("sha256").update(bytes).digest("hex")}`,
254
614
  contentClassification,
@@ -273,53 +633,6 @@ export async function discoverArtifacts(root, config) {
273
633
  discoveredPaths,
274
634
  };
275
635
  }
276
- function classify(relativePath) {
277
- if (isExplicitSkillEntrypoint(relativePath))
278
- return "skill";
279
- const explicitSkillSupportKind = classifyExplicitSkillSupportPath(relativePath);
280
- if (explicitSkillSupportKind !== undefined)
281
- return explicitSkillSupportKind;
282
- if (classifyRepositorySkillPath(relativePath)?.kind === "reserved-root")
283
- return "unknown";
284
- if (relativePath === "AGENTS.md" || relativePath.startsWith(".agents/"))
285
- return "agent";
286
- if (relativePath.startsWith("lenses/"))
287
- return "context_lens";
288
- if (relativePath.startsWith("context/") ||
289
- relativePath.startsWith("contexts/"))
290
- return "context";
291
- if (relativePath.includes("/profiles/"))
292
- return "profile";
293
- if (relativePath.includes("/references/"))
294
- return "reference";
295
- if (relativePath.includes("/examples/"))
296
- return "example";
297
- if (relativePath.endsWith("renma.config.json") ||
298
- relativePath.endsWith(".renma.json")) {
299
- return "config";
300
- }
301
- return "unknown";
302
- }
303
- function classifyExplicitSkillSupportPath(relativePath) {
304
- const classified = classifyRepositorySkillPath(relativePath);
305
- const supportDirectory = classified?.kind === "support" || classified?.kind === "reserved-root"
306
- ? classified.supportDirectory
307
- : undefined;
308
- switch (supportDirectory) {
309
- case "assets":
310
- return classified?.kind === "support" ? "asset" : undefined;
311
- case "profiles":
312
- return "profile";
313
- case "references":
314
- return "reference";
315
- case "examples":
316
- return "example";
317
- case "scripts":
318
- return classified?.kind === "support" ? "script" : undefined;
319
- default:
320
- return undefined;
321
- }
322
- }
323
636
  const OPAQUE_EXTENSIONS = new Set([
324
637
  ".avif",
325
638
  ".bmp",
@@ -391,9 +704,6 @@ function skillLikeLayoutDiagnostics(walkedFiles) {
391
704
  }
392
705
  return diagnostics;
393
706
  }
394
- function isExplicitSkillEntrypoint(relativePath) {
395
- return classifyRepositorySkillEntrypointPath(relativePath) !== undefined;
396
- }
397
707
  function isExplicitSkillsPath(relativePath) {
398
708
  return normalizeRepositoryRelativePath(relativePath) !== undefined;
399
709
  }
@@ -1 +1 @@
1
- {"version":3,"file":"discovery.js","sourceRoot":"","sources":["../src/discovery.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"discovery.js","sourceRoot":"","sources":["../src/discovery.ts"],"names":[],"mappings":"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"}
@@ -1,8 +1,22 @@
1
1
  import type { AssetMetadata } from "./model.js";
2
- import type { Diagnostic, MetadataFieldEvidence, ParsedDocument } from "./types.js";
2
+ import type { Diagnostic, Evidence, MetadataFieldEvidence, ParsedDocument } from "./types.js";
3
+ export interface SupportAssetTokenBudgetDecision {
4
+ status: "absent" | "invalid" | "active";
5
+ estimatedTokens?: number;
6
+ defaultLimit?: number;
7
+ overrideLimit?: number;
8
+ effectiveLimit?: number;
9
+ tokenBudgetRationale?: string;
10
+ tokenBudgetReviewedAt?: string;
11
+ invalidReasons: string[];
12
+ evidence?: Evidence;
13
+ }
14
+ /** Validate one declared support-asset token-budget decision without selecting ambiguous values. */
15
+ export declare function parseSupportAssetTokenBudgetDecision(document: ParsedDocument): SupportAssetTokenBudgetDecision;
3
16
  /** Normalize parsed frontmatter into asset metadata plus validation diagnostics. */
4
17
  export declare function parseAssetMetadata(document: ParsedDocument): {
5
18
  metadata: AssetMetadata;
19
+ tokenBudgetDecision: SupportAssetTokenBudgetDecision;
6
20
  metadataFields: Record<string, MetadataFieldEvidence>;
7
21
  metadataListItems: Record<string, MetadataFieldEvidence[]>;
8
22
  diagnostics: Diagnostic[];
@@ -1 +1 @@
1
- {"version":3,"file":"metadata.d.ts","sourceRoot":"","sources":["../src/metadata.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAe,MAAM,YAAY,CAAC;AAE7D,OAAO,KAAK,EACV,UAAU,EACV,qBAAqB,EAErB,cAAc,EACf,MAAM,YAAY,CAAC;AA2DpB,oFAAoF;AACpF,wBAAgB,kBAAkB,CAAC,QAAQ,EAAE,cAAc,GAAG;IAC5D,QAAQ,EAAE,aAAa,CAAC;IACxB,cAAc,EAAE,MAAM,CAAC,MAAM,EAAE,qBAAqB,CAAC,CAAC;IACtD,iBAAiB,EAAE,MAAM,CAAC,MAAM,EAAE,qBAAqB,EAAE,CAAC,CAAC;IAC3D,WAAW,EAAE,UAAU,EAAE,CAAC;CAC3B,CA8JA"}
1
+ {"version":3,"file":"metadata.d.ts","sourceRoot":"","sources":["../src/metadata.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAe,MAAM,YAAY,CAAC;AAE7D,OAAO,KAAK,EACV,UAAU,EACV,QAAQ,EACR,qBAAqB,EAErB,cAAc,EACf,MAAM,YAAY,CAAC;AAiEpB,MAAM,WAAW,+BAA+B;IAC9C,MAAM,EAAE,QAAQ,GAAG,SAAS,GAAG,QAAQ,CAAC;IACxC,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAC9B,qBAAqB,CAAC,EAAE,MAAM,CAAC;IAC/B,cAAc,EAAE,MAAM,EAAE,CAAC;IACzB,QAAQ,CAAC,EAAE,QAAQ,CAAC;CACrB;AAeD,oGAAoG;AACpG,wBAAgB,oCAAoC,CAClD,QAAQ,EAAE,cAAc,GACvB,+BAA+B,CAmMjC;AAyDD,oFAAoF;AACpF,wBAAgB,kBAAkB,CAAC,QAAQ,EAAE,cAAc,GAAG;IAC5D,QAAQ,EAAE,aAAa,CAAC;IACxB,mBAAmB,EAAE,+BAA+B,CAAC;IACrD,cAAc,EAAE,MAAM,CAAC,MAAM,EAAE,qBAAqB,CAAC,CAAC;IACtD,iBAAiB,EAAE,MAAM,CAAC,MAAM,EAAE,qBAAqB,EAAE,CAAC,CAAC;IAC3D,WAAW,EAAE,UAAU,EAAE,CAAC;CAC3B,CA6KA"}