@metaobjectsdev/sdk 0.9.0 → 0.10.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 (96) hide show
  1. package/README.md +9 -0
  2. package/agent-context/README.md +14 -0
  3. package/agent-context/servers/csharp.meta.json +5 -0
  4. package/agent-context/servers/java.meta.json +5 -0
  5. package/agent-context/servers/kotlin.meta.json +5 -0
  6. package/agent-context/servers/python.meta.json +5 -0
  7. package/agent-context/servers/typescript.meta.json +5 -0
  8. package/agent-context/skills/metaobjects-authoring/SKILL.md +308 -0
  9. package/agent-context/skills/metaobjects-codegen/SKILL.md +99 -0
  10. package/agent-context/skills/metaobjects-codegen/references/csharp.md +87 -0
  11. package/agent-context/skills/metaobjects-codegen/references/java.md +94 -0
  12. package/agent-context/skills/metaobjects-codegen/references/kotlin.md +110 -0
  13. package/agent-context/skills/metaobjects-codegen/references/typescript.md +135 -0
  14. package/agent-context/skills/metaobjects-prompts/SKILL.md +148 -0
  15. package/agent-context/skills/metaobjects-prompts/references/csharp.md +110 -0
  16. package/agent-context/skills/metaobjects-prompts/references/java.md +108 -0
  17. package/agent-context/skills/metaobjects-prompts/references/kotlin.md +130 -0
  18. package/agent-context/skills/metaobjects-prompts/references/python.md +116 -0
  19. package/agent-context/skills/metaobjects-prompts/references/typescript.md +150 -0
  20. package/agent-context/skills/metaobjects-runtime-ui/SKILL.md +130 -0
  21. package/agent-context/skills/metaobjects-runtime-ui/references/java.md +96 -0
  22. package/agent-context/skills/metaobjects-runtime-ui/references/kotlin.md +99 -0
  23. package/agent-context/skills/metaobjects-runtime-ui/references/react.md +86 -0
  24. package/agent-context/skills/metaobjects-runtime-ui/references/tanstack.md +119 -0
  25. package/agent-context/skills/metaobjects-runtime-ui/references/typescript.md +92 -0
  26. package/agent-context/skills/metaobjects-verify/SKILL.md +107 -0
  27. package/agent-context/skills/metaobjects-verify/references/migration.md +72 -0
  28. package/agent-context/templates/always-on.md.mustache +27 -0
  29. package/dist/agent-context/assemble.d.ts +7 -0
  30. package/dist/agent-context/assemble.d.ts.map +1 -0
  31. package/dist/agent-context/assemble.js +61 -0
  32. package/dist/agent-context/assemble.js.map +1 -0
  33. package/dist/agent-context/content-root.d.ts +8 -0
  34. package/dist/agent-context/content-root.d.ts.map +1 -0
  35. package/dist/agent-context/content-root.js +35 -0
  36. package/dist/agent-context/content-root.js.map +1 -0
  37. package/dist/agent-context/index.d.ts +6 -0
  38. package/dist/agent-context/index.d.ts.map +1 -0
  39. package/dist/agent-context/index.js +6 -0
  40. package/dist/agent-context/index.js.map +1 -0
  41. package/dist/agent-context/resolve.d.ts +13 -0
  42. package/dist/agent-context/resolve.d.ts.map +1 -0
  43. package/dist/agent-context/resolve.js +30 -0
  44. package/dist/agent-context/resolve.js.map +1 -0
  45. package/dist/agent-context/scaffold.d.ts +60 -0
  46. package/dist/agent-context/scaffold.d.ts.map +1 -0
  47. package/dist/agent-context/scaffold.js +61 -0
  48. package/dist/agent-context/scaffold.js.map +1 -0
  49. package/dist/agent-context/types.d.ts +21 -0
  50. package/dist/agent-context/types.d.ts.map +1 -0
  51. package/dist/agent-context/types.js +12 -0
  52. package/dist/agent-context/types.js.map +1 -0
  53. package/dist/agent-docs/body.d.ts +5 -1
  54. package/dist/agent-docs/body.d.ts.map +1 -1
  55. package/dist/agent-docs/body.js +7 -3
  56. package/dist/agent-docs/body.js.map +1 -1
  57. package/dist/forge-types.js +2 -2
  58. package/dist/forge-types.js.map +1 -1
  59. package/dist/index.d.ts +2 -1
  60. package/dist/index.d.ts.map +1 -1
  61. package/dist/index.js +3 -1
  62. package/dist/index.js.map +1 -1
  63. package/dist/memory.d.ts.map +1 -1
  64. package/dist/memory.js +3 -1
  65. package/dist/memory.js.map +1 -1
  66. package/dist/storage/errors.d.ts +3 -3
  67. package/dist/storage/errors.d.ts.map +1 -1
  68. package/dist/storage/errors.js +6 -6
  69. package/dist/storage/errors.js.map +1 -1
  70. package/dist/storage/index.d.ts +1 -1
  71. package/dist/storage/index.d.ts.map +1 -1
  72. package/dist/storage/index.js +1 -1
  73. package/dist/storage/index.js.map +1 -1
  74. package/dist/storage/lifecycle.js +4 -4
  75. package/dist/storage/lifecycle.js.map +1 -1
  76. package/dist/storage/read.js +4 -4
  77. package/dist/storage/read.js.map +1 -1
  78. package/dist/storage/write.js +2 -2
  79. package/dist/storage/write.js.map +1 -1
  80. package/package.json +40 -22
  81. package/scripts/bundle-agent-context.mjs +19 -0
  82. package/src/agent-context/assemble.ts +68 -0
  83. package/src/agent-context/content-root.ts +35 -0
  84. package/src/agent-context/index.ts +5 -0
  85. package/src/agent-context/resolve.ts +33 -0
  86. package/src/agent-context/scaffold.ts +103 -0
  87. package/src/agent-context/types.ts +31 -0
  88. package/src/agent-docs/body.ts +7 -3
  89. package/src/forge-types.ts +2 -2
  90. package/src/index.ts +6 -3
  91. package/src/memory.ts +3 -1
  92. package/src/storage/errors.ts +6 -6
  93. package/src/storage/index.ts +3 -3
  94. package/src/storage/lifecycle.ts +4 -4
  95. package/src/storage/read.ts +4 -4
  96. package/src/storage/write.ts +2 -2
@@ -1 +1 @@
1
- {"version":3,"file":"forge-types.js","sourceRoot":"","sources":["../src/forge-types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"forge-types.js","sourceRoot":"","sources":["../src/forge-types.ts"],"names":[],"mappings":"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"}
package/dist/index.d.ts CHANGED
@@ -5,7 +5,7 @@ export { PrincipleRecord } from "./records/principle.js";
5
5
  export { GlossaryRecord } from "./records/glossary.js";
6
6
  export { FailureRecord } from "./records/failure.js";
7
7
  export { AnyRecord } from "./records/any.js";
8
- export { readRecord, recordExists, writeRecord, removeRecord, listRecords, promoteRecord, supersede, MetaForgeRecordNotFoundError, MetaForgeAlreadyPromotedError, MetaForgeRecordParseError, } from "./storage/index.js";
8
+ export { readRecord, recordExists, writeRecord, removeRecord, listRecords, promoteRecord, supersede, ForgeRecordNotFoundError, ForgeAlreadyPromotedError, ForgeRecordParseError, } from "./storage/index.js";
9
9
  export type { ListOptions } from "./storage/index.js";
10
10
  export { recordPath, resolveMetaRoot } from "./paths.js";
11
11
  export { ConfigSchema, DEFAULT_CONFIG, loadConfig, saveConfig } from "./config.js";
@@ -18,4 +18,5 @@ export { discoverWorkspace, resolveExtendsOrder, packageLabel } from "./workspac
18
18
  export type { Workspace, WorkspacePackage } from "./workspace.js";
19
19
  export { PackageManifestSchema, readPackageManifest, resolveMetaobjectsPackage, PACKAGE_MANIFEST_FILE, } from "./package.js";
20
20
  export type { PackageManifest } from "./package.js";
21
+ export * from "./agent-context/index.js";
21
22
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,UAAU,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AACzE,OAAO,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAC3D,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AACvD,OAAO,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AACzD,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AACvD,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AACrD,OAAO,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAG7C,OAAO,EACL,UAAU,EACV,YAAY,EACZ,WAAW,EACX,YAAY,EACZ,WAAW,EACX,aAAa,EACb,SAAS,EACT,4BAA4B,EAC5B,6BAA6B,EAC7B,yBAAyB,GAC1B,MAAM,oBAAoB,CAAC;AAC5B,YAAY,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AAGtD,OAAO,EAAE,UAAU,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAGzD,OAAO,EAAE,YAAY,EAAE,cAAc,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACnF,YAAY,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AAK1C,OAAO,EAEL,mBAAmB,EACnB,oBAAoB,EACpB,qBAAqB,EACrB,mBAAmB,EACnB,kBAAkB,EAClB,WAAW,EAEX,uBAAuB,EACvB,wBAAwB,EACxB,yBAAyB,EACzB,uBAAuB,EACvB,sBAAsB,EAEtB,qBAAqB,EACrB,iBAAiB,EACjB,sBAAsB,EACtB,gCAAgC,EAChC,2BAA2B,EAC3B,sBAAsB,EACtB,oBAAoB,EACpB,uBAAuB,EACvB,gBAAgB,EAChB,oBAAoB,EACpB,sBAAsB,EACtB,8BAA8B,EAC9B,mBAAmB,EACnB,2BAA2B,EAC3B,qBAAqB,EACrB,eAAe,EACf,mBAAmB,EACnB,qBAAqB,EACrB,uBAAuB,EACvB,mBAAmB,EACnB,yBAAyB,EACzB,wBAAwB,EACxB,WAAW,EAEX,kBAAkB,EAClB,kBAAkB,GACnB,MAAM,kBAAkB,CAAC;AAC1B,YAAY,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAK7D,OAAO,EACL,UAAU,EACV,0BAA0B,EAC1B,oBAAoB,EACpB,uBAAuB,GACxB,MAAM,aAAa,CAAC;AACrB,YAAY,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;AAGrD,OAAO,EAAE,iBAAiB,EAAE,mBAAmB,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AACtF,YAAY,EAAE,SAAS,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AAOlE,OAAO,EACL,qBAAqB,EACrB,mBAAmB,EACnB,yBAAyB,EACzB,qBAAqB,GACtB,MAAM,cAAc,CAAC;AACtB,YAAY,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,UAAU,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AACzE,OAAO,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAC3D,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AACvD,OAAO,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AACzD,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AACvD,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AACrD,OAAO,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAG7C,OAAO,EACL,UAAU,EACV,YAAY,EACZ,WAAW,EACX,YAAY,EACZ,WAAW,EACX,aAAa,EACb,SAAS,EACT,wBAAwB,EACxB,yBAAyB,EACzB,qBAAqB,GACtB,MAAM,oBAAoB,CAAC;AAC5B,YAAY,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AAGtD,OAAO,EAAE,UAAU,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAGzD,OAAO,EAAE,YAAY,EAAE,cAAc,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACnF,YAAY,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AAK1C,OAAO,EAEL,mBAAmB,EACnB,oBAAoB,EACpB,qBAAqB,EACrB,mBAAmB,EACnB,kBAAkB,EAClB,WAAW,EAEX,uBAAuB,EACvB,wBAAwB,EACxB,yBAAyB,EACzB,uBAAuB,EACvB,sBAAsB,EAEtB,qBAAqB,EACrB,iBAAiB,EACjB,sBAAsB,EACtB,gCAAgC,EAChC,2BAA2B,EAC3B,sBAAsB,EACtB,oBAAoB,EACpB,uBAAuB,EACvB,gBAAgB,EAChB,oBAAoB,EACpB,sBAAsB,EACtB,8BAA8B,EAC9B,mBAAmB,EACnB,2BAA2B,EAC3B,qBAAqB,EACrB,eAAe,EACf,mBAAmB,EACnB,qBAAqB,EACrB,uBAAuB,EACvB,mBAAmB,EACnB,yBAAyB,EACzB,wBAAwB,EACxB,WAAW,EAEX,kBAAkB,EAClB,kBAAkB,GACnB,MAAM,kBAAkB,CAAC;AAC1B,YAAY,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAK7D,OAAO,EACL,UAAU,EACV,0BAA0B,EAC1B,oBAAoB,EACpB,uBAAuB,GACxB,MAAM,aAAa,CAAC;AACrB,YAAY,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;AAGrD,OAAO,EAAE,iBAAiB,EAAE,mBAAmB,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AACtF,YAAY,EAAE,SAAS,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AAOlE,OAAO,EACL,qBAAqB,EACrB,mBAAmB,EACnB,yBAAyB,EACzB,qBAAqB,GACtB,MAAM,cAAc,CAAC;AACtB,YAAY,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AAGpD,cAAc,0BAA0B,CAAC"}
package/dist/index.js CHANGED
@@ -7,7 +7,7 @@ export { GlossaryRecord } from "./records/glossary.js";
7
7
  export { FailureRecord } from "./records/failure.js";
8
8
  export { AnyRecord } from "./records/any.js";
9
9
  // Storage
10
- export { readRecord, recordExists, writeRecord, removeRecord, listRecords, promoteRecord, supersede, MetaForgeRecordNotFoundError, MetaForgeAlreadyPromotedError, MetaForgeRecordParseError, } from "./storage/index.js";
10
+ export { readRecord, recordExists, writeRecord, removeRecord, listRecords, promoteRecord, supersede, ForgeRecordNotFoundError, ForgeAlreadyPromotedError, ForgeRecordParseError, } from "./storage/index.js";
11
11
  // Paths
12
12
  export { recordPath, resolveMetaRoot } from "./paths.js";
13
13
  // Config
@@ -36,4 +36,6 @@ export { discoverWorkspace, resolveExtendsOrder, packageLabel } from "./workspac
36
36
  // there is no exports field. See docs/strategy/2026-05-12-v0.3-ai-first-
37
37
  // metadata-loading.md.
38
38
  export { PackageManifestSchema, readPackageManifest, resolveMetaobjectsPackage, PACKAGE_MANIFEST_FILE, } from "./package.js";
39
+ // Agent context — stack resolver, file assembler, and vocabulary types
40
+ export * from "./agent-context/index.js";
39
41
  //# sourceMappingURL=index.js.map
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,UAAU;AACV,OAAO,EAAE,UAAU,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AACzE,OAAO,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAC3D,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AACvD,OAAO,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AACzD,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AACvD,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AACrD,OAAO,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAE7C,UAAU;AACV,OAAO,EACL,UAAU,EACV,YAAY,EACZ,WAAW,EACX,YAAY,EACZ,WAAW,EACX,aAAa,EACb,SAAS,EACT,4BAA4B,EAC5B,6BAA6B,EAC7B,yBAAyB,GAC1B,MAAM,oBAAoB,CAAC;AAG5B,QAAQ;AACR,OAAO,EAAE,UAAU,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAEzD,SAAS;AACT,OAAO,EAAE,YAAY,EAAE,cAAc,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAGnF,0EAA0E;AAC1E,0EAA0E;AAC1E,gCAAgC;AAChC,OAAO;AACL,aAAa;AACb,mBAAmB,EACnB,oBAAoB,EACpB,qBAAqB,EACrB,mBAAmB,EACnB,kBAAkB,EAClB,WAAW;AACX,WAAW;AACX,uBAAuB,EACvB,wBAAwB,EACxB,yBAAyB,EACzB,uBAAuB,EACvB,sBAAsB;AACtB,kBAAkB;AAClB,qBAAqB,EACrB,iBAAiB,EACjB,sBAAsB,EACtB,gCAAgC,EAChC,2BAA2B,EAC3B,sBAAsB,EACtB,oBAAoB,EACpB,uBAAuB,EACvB,gBAAgB,EAChB,oBAAoB,EACpB,sBAAsB,EACtB,8BAA8B,EAC9B,mBAAmB,EACnB,2BAA2B,EAC3B,qBAAqB,EACrB,eAAe,EACf,mBAAmB,EACnB,qBAAqB,EACrB,uBAAuB,EACvB,mBAAmB,EACnB,yBAAyB,EACzB,wBAAwB,EACxB,WAAW;AACX,iCAAiC;AACjC,kBAAkB,EAClB,kBAAkB,GACnB,MAAM,kBAAkB,CAAC;AAG1B,yDAAyD;AACzD,mEAAmE;AACnE,6CAA6C;AAC7C,OAAO,EACL,UAAU,EACV,0BAA0B,EAC1B,oBAAoB,EACpB,uBAAuB,GACxB,MAAM,aAAa,CAAC;AAGrB,mEAAmE;AACnE,OAAO,EAAE,iBAAiB,EAAE,mBAAmB,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAGtF,4EAA4E;AAC5E,0EAA0E;AAC1E,wEAAwE;AACxE,yEAAyE;AACzE,uBAAuB;AACvB,OAAO,EACL,qBAAqB,EACrB,mBAAmB,EACnB,yBAAyB,EACzB,qBAAqB,GACtB,MAAM,cAAc,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,UAAU;AACV,OAAO,EAAE,UAAU,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AACzE,OAAO,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAC3D,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AACvD,OAAO,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AACzD,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AACvD,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AACrD,OAAO,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAE7C,UAAU;AACV,OAAO,EACL,UAAU,EACV,YAAY,EACZ,WAAW,EACX,YAAY,EACZ,WAAW,EACX,aAAa,EACb,SAAS,EACT,wBAAwB,EACxB,yBAAyB,EACzB,qBAAqB,GACtB,MAAM,oBAAoB,CAAC;AAG5B,QAAQ;AACR,OAAO,EAAE,UAAU,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAEzD,SAAS;AACT,OAAO,EAAE,YAAY,EAAE,cAAc,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAGnF,0EAA0E;AAC1E,0EAA0E;AAC1E,gCAAgC;AAChC,OAAO;AACL,aAAa;AACb,mBAAmB,EACnB,oBAAoB,EACpB,qBAAqB,EACrB,mBAAmB,EACnB,kBAAkB,EAClB,WAAW;AACX,WAAW;AACX,uBAAuB,EACvB,wBAAwB,EACxB,yBAAyB,EACzB,uBAAuB,EACvB,sBAAsB;AACtB,kBAAkB;AAClB,qBAAqB,EACrB,iBAAiB,EACjB,sBAAsB,EACtB,gCAAgC,EAChC,2BAA2B,EAC3B,sBAAsB,EACtB,oBAAoB,EACpB,uBAAuB,EACvB,gBAAgB,EAChB,oBAAoB,EACpB,sBAAsB,EACtB,8BAA8B,EAC9B,mBAAmB,EACnB,2BAA2B,EAC3B,qBAAqB,EACrB,eAAe,EACf,mBAAmB,EACnB,qBAAqB,EACrB,uBAAuB,EACvB,mBAAmB,EACnB,yBAAyB,EACzB,wBAAwB,EACxB,WAAW;AACX,iCAAiC;AACjC,kBAAkB,EAClB,kBAAkB,GACnB,MAAM,kBAAkB,CAAC;AAG1B,yDAAyD;AACzD,mEAAmE;AACnE,6CAA6C;AAC7C,OAAO,EACL,UAAU,EACV,0BAA0B,EAC1B,oBAAoB,EACpB,uBAAuB,GACxB,MAAM,aAAa,CAAC;AAGrB,mEAAmE;AACnE,OAAO,EAAE,iBAAiB,EAAE,mBAAmB,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAGtF,4EAA4E;AAC5E,0EAA0E;AAC1E,wEAAwE;AACxE,yEAAyE;AACzE,uBAAuB;AACvB,OAAO,EACL,qBAAqB,EACrB,mBAAmB,EACnB,yBAAyB,EACzB,qBAAqB,GACtB,MAAM,cAAc,CAAC;AAGtB,uEAAuE;AACvE,cAAc,0BAA0B,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"memory.d.ts","sourceRoot":"","sources":["../src/memory.ts"],"names":[],"mappings":"AAEA,OAAO,EAIL,KAAK,oBAAoB,EACzB,KAAK,QAAQ,EACd,MAAM,0BAA0B,CAAC;AAKlC;;;GAGG;AACH,eAAO,MAAM,oBAAoB,gBAAgB,CAAC;AAElD;;;;GAIG;AACH,eAAO,MAAM,uBAAuB,iBAAiB,CAAC;AAEtD;;;;GAIG;AACH,MAAM,WAAW,iBAAiB;IAChC;;;;;OAKG;IACH,SAAS,CAAC,EAAE,SAAS,oBAAoB,EAAE,CAAC;IAC5C;;;;OAIG;IACH,eAAe,CAAC,EAAE,OAAO,CAAC;CAC3B;AAED;;;sEAGsE;AACtE,eAAO,MAAM,0BAA0B,EAAE,SAAS,oBAAoB,EAGrE,CAAC;AAEF;;;;;;;;;;;;;;;;;;;GAmBG;AACH,wBAAsB,UAAU,CAC9B,QAAQ,EAAE,MAAM,EAChB,OAAO,CAAC,EAAE,iBAAiB,GAC1B,OAAO,CAAC,QAAQ,CAAC,CA6BnB"}
1
+ {"version":3,"file":"memory.d.ts","sourceRoot":"","sources":["../src/memory.ts"],"names":[],"mappings":"AAEA,OAAO,EAIL,KAAK,oBAAoB,EACzB,KAAK,QAAQ,EACd,MAAM,0BAA0B,CAAC;AAKlC;;;GAGG;AACH,eAAO,MAAM,oBAAoB,gBAAgB,CAAC;AAElD;;;;GAIG;AACH,eAAO,MAAM,uBAAuB,iBAAiB,CAAC;AAEtD;;;;GAIG;AACH,MAAM,WAAW,iBAAiB;IAChC;;;;;OAKG;IACH,SAAS,CAAC,EAAE,SAAS,oBAAoB,EAAE,CAAC;IAC5C;;;;OAIG;IACH,eAAe,CAAC,EAAE,OAAO,CAAC;CAC3B;AAED;;;sEAGsE;AACtE,eAAO,MAAM,0BAA0B,EAAE,SAAS,oBAAoB,EAGrE,CAAC;AAEF;;;;;;;;;;;;;;;;;;;GAmBG;AACH,wBAAsB,UAAU,CAC9B,QAAQ,EAAE,MAAM,EAChB,OAAO,CAAC,EAAE,iBAAiB,GAC1B,OAAO,CAAC,QAAQ,CAAC,CA+BnB"}
package/dist/memory.js CHANGED
@@ -60,7 +60,9 @@ export async function loadMemory(repoRoot, options) {
60
60
  // deferred-resolution pass (it parses in array order, then resolves supers
61
61
  // against the merged tree afterwards) — dep packages first, current last.
62
62
  const paths = await collectMetadataPaths(repoRoot);
63
- const loader = new MetaDataLoader({ registry });
63
+ const loader = new MetaDataLoader({
64
+ registry,
65
+ });
64
66
  const result = await loader.load(paths.map((p) => new FileSource(p)));
65
67
  if (result.errors.length > 0) {
66
68
  const first = result.errors[0];
@@ -1 +1 @@
1
- {"version":3,"file":"memory.js","sourceRoot":"","sources":["../src/memory.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"memory.js","sourceRoot":"","sources":["../src/memory.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACjC,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,kBAAkB,CAAC;AACjD,OAAO,EACL,eAAe,EACf,aAAa,EACb,cAAc,GAGf,MAAM,0BAA0B,CAAC;AAClC,OAAO,EAAE,UAAU,EAAE,MAAM,+BAA+B,CAAC;AAC3D,OAAO,EAAE,kBAAkB,EAAE,MAAM,kBAAkB,CAAC;AACtD,OAAO,EAAE,iBAAiB,EAAE,mBAAmB,EAAE,MAAM,gBAAgB,CAAC;AAExE;;;GAGG;AACH,MAAM,CAAC,MAAM,oBAAoB,GAAG,aAAa,CAAC;AAElD;;;;GAIG;AACH,MAAM,CAAC,MAAM,uBAAuB,GAAG,cAAc,CAAC;AAuBtD;;;sEAGsE;AACtE,MAAM,CAAC,MAAM,0BAA0B,GAAoC;IACzE,GAAG,aAAa;IAChB,kBAAkB;CACnB,CAAC;AAEF;;;;;;;;;;;;;;;;;;;GAmBG;AACH,MAAM,CAAC,KAAK,UAAU,UAAU,CAC9B,QAAgB,EAChB,OAA2B;IAE3B,MAAM,KAAK,GAAG,OAAO,EAAE,SAAS,IAAI,EAAE,CAAC;IACvC,IAAI,SAA0C,CAAC;IAC/C,IAAI,OAAO,EAAE,eAAe,KAAK,IAAI,EAAE,CAAC;QACtC,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACvB,MAAM,IAAI,KAAK,CACb,oFAAoF,CACrF,CAAC;QACJ,CAAC;QACD,SAAS,GAAG,KAAK,CAAC;IACpB,CAAC;SAAM,CAAC;QACN,SAAS,GAAG,CAAC,GAAG,0BAA0B,EAAE,GAAG,KAAK,CAAC,CAAC;IACxD,CAAC;IACD,MAAM,QAAQ,GAAG,eAAe,CAAC,SAAS,CAAC,CAAC;IAE5C,0EAA0E;IAC1E,2EAA2E;IAC3E,0EAA0E;IAC1E,MAAM,KAAK,GAAG,MAAM,oBAAoB,CAAC,QAAQ,CAAC,CAAC;IAEnD,MAAM,MAAM,GAAG,IAAI,cAAc,CAAC;QAChC,QAAQ;KACT,CAAC,CAAC;IACH,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IAEtE,IAAI,MAAM,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC7B,MAAM,KAAK,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,CAAE,CAAC;QAChC,MAAM,KAAK,CAAC;IACd,CAAC;IAED,OAAO,MAAM,CAAC,IAAI,CAAC;AACrB,CAAC;AAED,4EAA4E;AAC5E,KAAK,UAAU,oBAAoB,CAAC,QAAgB;IAClD,MAAM,cAAc,GAAG,IAAI,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;IAC/C,MAAM,EAAE,GAAG,MAAM,iBAAiB,CAAC,QAAQ,CAAC,CAAC;IAE7C,iEAAiE;IACjE,IAAI,EAAE,KAAK,SAAS,EAAE,CAAC;QACrB,MAAM,UAAU,GAAG,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,KAAK,cAAc,CAAC,CAAC;QACzE,IAAI,UAAU,KAAK,SAAS,IAAI,UAAU,CAAC,QAAQ,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACvE,MAAM,OAAO,GAAG,mBAAmB,CAAC,EAAE,EAAE,cAAc,CAAC,CAAC;YACxD,MAAM,KAAK,GAAa,EAAE,CAAC;YAC3B,KAAK,MAAM,GAAG,IAAI,OAAO,EAAE,CAAC;gBAC1B,mEAAmE;gBACnE,MAAM,OAAO,GAAG,IAAI,CAAC,GAAG,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;gBACxC,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,MAAM,iBAAiB,CAAC,IAAI,CAAC,OAAO,EAAE,oBAAoB,CAAC,CAAC,CAAC,CAAC,CAAC;YAChF,CAAC;YACD,OAAO,KAAK,CAAC;QACf,CAAC;IACH,CAAC;IAED,6DAA6D;IAC7D,OAAO,iBAAiB,CAAC,IAAI,CAAC,QAAQ,EAAE,oBAAoB,CAAC,CAAC,CAAC;AACjE,CAAC;AAED;;;;;;;;;GASG;AACH,KAAK,UAAU,iBAAiB,CAAC,GAAW;IAC1C,IAAI,OAAiB,CAAC;IACtB,IAAI,CAAC;QACH,OAAO,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC,CAAC;IAC/B,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,MAAM,IAAI,KAAK,CAAC,2BAA2B,GAAG,KAAM,GAAa,CAAC,OAAO,EAAE,CAAC,CAAC;IAC/E,CAAC;IACD,MAAM,KAAK,GAAa,EAAE,CAAC;IAC3B,MAAM,OAAO,GAAa,EAAE,CAAC;IAC7B,KAAK,MAAM,KAAK,IAAI,OAAO,EAAE,CAAC;QAC5B,IAAI,KAAK,KAAK,UAAU;YAAE,SAAS;QACnC,MAAM,IAAI,GAAG,IAAI,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;QAC9B,MAAM,CAAC,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,CAAC;QAC3B,IAAI,CAAC,CAAC,WAAW,EAAE,EAAE,CAAC;YACpB,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACrB,CAAC;aAAM,IAAI,CAAC,CAAC,MAAM,EAAE,IAAI,cAAc,CAAC,KAAK,CAAC,EAAE,CAAC;YAC/C,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACnB,CAAC;IACH,CAAC;IACD,mEAAmE;IACnE,KAAK,MAAM,GAAG,IAAI,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC;QACjC,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,MAAM,iBAAiB,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;IAChD,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAED,SAAS,cAAc,CAAC,IAAY;IAClC,OAAO,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;AACnF,CAAC"}
@@ -1,12 +1,12 @@
1
- export declare class MetaForgeRecordNotFoundError extends Error {
1
+ export declare class ForgeRecordNotFoundError extends Error {
2
2
  readonly path: string;
3
3
  constructor(path: string);
4
4
  }
5
- export declare class MetaForgeAlreadyPromotedError extends Error {
5
+ export declare class ForgeAlreadyPromotedError extends Error {
6
6
  readonly path: string;
7
7
  constructor(path: string);
8
8
  }
9
- export declare class MetaForgeRecordParseError extends Error {
9
+ export declare class ForgeRecordParseError extends Error {
10
10
  readonly path: string;
11
11
  readonly cause: unknown;
12
12
  constructor(path: string, cause: unknown);
@@ -1 +1 @@
1
- {"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../../src/storage/errors.ts"],"names":[],"mappings":"AAAA,qBAAa,4BAA6B,SAAQ,KAAK;aACzB,IAAI,EAAE,MAAM;gBAAZ,IAAI,EAAE,MAAM;CAIzC;AAED,qBAAa,6BAA8B,SAAQ,KAAK;aAC1B,IAAI,EAAE,MAAM;gBAAZ,IAAI,EAAE,MAAM;CAIzC;AAED,qBAAa,yBAA0B,SAAQ,KAAK;aAEhC,IAAI,EAAE,MAAM;aACH,KAAK,EAAE,OAAO;gBADvB,IAAI,EAAE,MAAM,EACH,KAAK,EAAE,OAAO;CAK1C"}
1
+ {"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../../src/storage/errors.ts"],"names":[],"mappings":"AAAA,qBAAa,wBAAyB,SAAQ,KAAK;aACrB,IAAI,EAAE,MAAM;gBAAZ,IAAI,EAAE,MAAM;CAIzC;AAED,qBAAa,yBAA0B,SAAQ,KAAK;aACtB,IAAI,EAAE,MAAM;gBAAZ,IAAI,EAAE,MAAM;CAIzC;AAED,qBAAa,qBAAsB,SAAQ,KAAK;aAE5B,IAAI,EAAE,MAAM;aACH,KAAK,EAAE,OAAO;gBADvB,IAAI,EAAE,MAAM,EACH,KAAK,EAAE,OAAO;CAK1C"}
@@ -1,27 +1,27 @@
1
- export class MetaForgeRecordNotFoundError extends Error {
1
+ export class ForgeRecordNotFoundError extends Error {
2
2
  path;
3
3
  constructor(path) {
4
4
  super(`Record not found: ${path}`);
5
5
  this.path = path;
6
- this.name = "MetaForgeRecordNotFoundError";
6
+ this.name = "ForgeRecordNotFoundError";
7
7
  }
8
8
  }
9
- export class MetaForgeAlreadyPromotedError extends Error {
9
+ export class ForgeAlreadyPromotedError extends Error {
10
10
  path;
11
11
  constructor(path) {
12
12
  super(`A canonical record already exists at: ${path}`);
13
13
  this.path = path;
14
- this.name = "MetaForgeAlreadyPromotedError";
14
+ this.name = "ForgeAlreadyPromotedError";
15
15
  }
16
16
  }
17
- export class MetaForgeRecordParseError extends Error {
17
+ export class ForgeRecordParseError extends Error {
18
18
  path;
19
19
  cause;
20
20
  constructor(path, cause) {
21
21
  super(`Failed to parse record at ${path}: ${cause instanceof Error ? cause.message : String(cause)}`);
22
22
  this.path = path;
23
23
  this.cause = cause;
24
- this.name = "MetaForgeRecordParseError";
24
+ this.name = "ForgeRecordParseError";
25
25
  }
26
26
  }
27
27
  //# sourceMappingURL=errors.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"errors.js","sourceRoot":"","sources":["../../src/storage/errors.ts"],"names":[],"mappings":"AAAA,MAAM,OAAO,4BAA6B,SAAQ,KAAK;IACzB;IAA5B,YAA4B,IAAY;QACtC,KAAK,CAAC,qBAAqB,IAAI,EAAE,CAAC,CAAC;QADT,SAAI,GAAJ,IAAI,CAAQ;QAEtC,IAAI,CAAC,IAAI,GAAG,8BAA8B,CAAC;IAC7C,CAAC;CACF;AAED,MAAM,OAAO,6BAA8B,SAAQ,KAAK;IAC1B;IAA5B,YAA4B,IAAY;QACtC,KAAK,CAAC,yCAAyC,IAAI,EAAE,CAAC,CAAC;QAD7B,SAAI,GAAJ,IAAI,CAAQ;QAEtC,IAAI,CAAC,IAAI,GAAG,+BAA+B,CAAC;IAC9C,CAAC;CACF;AAED,MAAM,OAAO,yBAA0B,SAAQ,KAAK;IAEhC;IACS;IAF3B,YACkB,IAAY,EACH,KAAc;QAEvC,KAAK,CAAC,6BAA6B,IAAI,KAAK,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;QAHtF,SAAI,GAAJ,IAAI,CAAQ;QACH,UAAK,GAAL,KAAK,CAAS;QAGvC,IAAI,CAAC,IAAI,GAAG,2BAA2B,CAAC;IAC1C,CAAC;CACF"}
1
+ {"version":3,"file":"errors.js","sourceRoot":"","sources":["../../src/storage/errors.ts"],"names":[],"mappings":"AAAA,MAAM,OAAO,wBAAyB,SAAQ,KAAK;IACrB;IAA5B,YAA4B,IAAY;QACtC,KAAK,CAAC,qBAAqB,IAAI,EAAE,CAAC,CAAC;QADT,SAAI,GAAJ,IAAI,CAAQ;QAEtC,IAAI,CAAC,IAAI,GAAG,0BAA0B,CAAC;IACzC,CAAC;CACF;AAED,MAAM,OAAO,yBAA0B,SAAQ,KAAK;IACtB;IAA5B,YAA4B,IAAY;QACtC,KAAK,CAAC,yCAAyC,IAAI,EAAE,CAAC,CAAC;QAD7B,SAAI,GAAJ,IAAI,CAAQ;QAEtC,IAAI,CAAC,IAAI,GAAG,2BAA2B,CAAC;IAC1C,CAAC;CACF;AAED,MAAM,OAAO,qBAAsB,SAAQ,KAAK;IAE5B;IACS;IAF3B,YACkB,IAAY,EACH,KAAc;QAEvC,KAAK,CAAC,6BAA6B,IAAI,KAAK,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;QAHtF,SAAI,GAAJ,IAAI,CAAQ;QACH,UAAK,GAAL,KAAK,CAAS;QAGvC,IAAI,CAAC,IAAI,GAAG,uBAAuB,CAAC;IACtC,CAAC;CACF"}
@@ -3,5 +3,5 @@ export { writeRecord, removeRecord } from "./write.js";
3
3
  export { listRecords } from "./list.js";
4
4
  export type { ListOptions } from "./list.js";
5
5
  export { promoteRecord, supersede } from "./lifecycle.js";
6
- export { MetaForgeRecordNotFoundError, MetaForgeAlreadyPromotedError, MetaForgeRecordParseError, } from "./errors.js";
6
+ export { ForgeRecordNotFoundError, ForgeAlreadyPromotedError, ForgeRecordParseError, } from "./errors.js";
7
7
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/storage/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,WAAW,CAAC;AACrD,OAAO,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AACvD,OAAO,EAAE,WAAW,EAAE,MAAM,WAAW,CAAC;AACxC,YAAY,EAAE,WAAW,EAAE,MAAM,WAAW,CAAC;AAC7C,OAAO,EAAE,aAAa,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAC1D,OAAO,EACL,4BAA4B,EAC5B,6BAA6B,EAC7B,yBAAyB,GAC1B,MAAM,aAAa,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/storage/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,WAAW,CAAC;AACrD,OAAO,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AACvD,OAAO,EAAE,WAAW,EAAE,MAAM,WAAW,CAAC;AACxC,YAAY,EAAE,WAAW,EAAE,MAAM,WAAW,CAAC;AAC7C,OAAO,EAAE,aAAa,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAC1D,OAAO,EACL,wBAAwB,EACxB,yBAAyB,EACzB,qBAAqB,GACtB,MAAM,aAAa,CAAC"}
@@ -2,5 +2,5 @@ export { readRecord, recordExists } from "./read.js";
2
2
  export { writeRecord, removeRecord } from "./write.js";
3
3
  export { listRecords } from "./list.js";
4
4
  export { promoteRecord, supersede } from "./lifecycle.js";
5
- export { MetaForgeRecordNotFoundError, MetaForgeAlreadyPromotedError, MetaForgeRecordParseError, } from "./errors.js";
5
+ export { ForgeRecordNotFoundError, ForgeAlreadyPromotedError, ForgeRecordParseError, } from "./errors.js";
6
6
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/storage/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,WAAW,CAAC;AACrD,OAAO,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AACvD,OAAO,EAAE,WAAW,EAAE,MAAM,WAAW,CAAC;AAExC,OAAO,EAAE,aAAa,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAC1D,OAAO,EACL,4BAA4B,EAC5B,6BAA6B,EAC7B,yBAAyB,GAC1B,MAAM,aAAa,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/storage/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,WAAW,CAAC;AACrD,OAAO,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AACvD,OAAO,EAAE,WAAW,EAAE,MAAM,WAAW,CAAC;AAExC,OAAO,EAAE,aAAa,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAC1D,OAAO,EACL,wBAAwB,EACxB,yBAAyB,EACzB,qBAAqB,GACtB,MAAM,aAAa,CAAC"}
@@ -1,13 +1,13 @@
1
1
  import { readRecord, recordExists } from "./read.js";
2
2
  import { writeRecord, removeRecord } from "./write.js";
3
- import { MetaForgeAlreadyPromotedError, MetaForgeRecordNotFoundError } from "./errors.js";
3
+ import { ForgeAlreadyPromotedError, ForgeRecordNotFoundError } from "./errors.js";
4
4
  import { recordPath } from "../paths.js";
5
5
  export async function promoteRecord(metaRoot, type, id) {
6
6
  if (!(await recordExists(metaRoot, type, id, { pending: true }))) {
7
- throw new MetaForgeRecordNotFoundError(recordPath(metaRoot, type, id, { pending: true }));
7
+ throw new ForgeRecordNotFoundError(recordPath(metaRoot, type, id, { pending: true }));
8
8
  }
9
9
  if (await recordExists(metaRoot, type, id)) {
10
- throw new MetaForgeAlreadyPromotedError(recordPath(metaRoot, type, id));
10
+ throw new ForgeAlreadyPromotedError(recordPath(metaRoot, type, id));
11
11
  }
12
12
  const record = await readRecord(metaRoot, type, id, { pending: true });
13
13
  await writeRecord(metaRoot, record);
@@ -15,7 +15,7 @@ export async function promoteRecord(metaRoot, type, id) {
15
15
  }
16
16
  export async function supersede(metaRoot, oldId, newRecord) {
17
17
  if (!(await recordExists(metaRoot, newRecord.type, oldId))) {
18
- throw new MetaForgeRecordNotFoundError(recordPath(metaRoot, newRecord.type, oldId));
18
+ throw new ForgeRecordNotFoundError(recordPath(metaRoot, newRecord.type, oldId));
19
19
  }
20
20
  // Write the new record first, so a failure leaves the old record intact.
21
21
  await writeRecord(metaRoot, newRecord);
@@ -1 +1 @@
1
- {"version":3,"file":"lifecycle.js","sourceRoot":"","sources":["../../src/storage/lifecycle.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,WAAW,CAAC;AACrD,OAAO,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AACvD,OAAO,EAAE,6BAA6B,EAAE,4BAA4B,EAAE,MAAM,aAAa,CAAC;AAC1F,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAEzC,MAAM,CAAC,KAAK,UAAU,aAAa,CACjC,QAAgB,EAChB,IAAgB,EAChB,EAAU;IAEV,IAAI,CAAC,CAAC,MAAM,YAAY,CAAC,QAAQ,EAAE,IAAI,EAAE,EAAE,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,CAAC;QACjE,MAAM,IAAI,4BAA4B,CAAC,UAAU,CAAC,QAAQ,EAAE,IAAI,EAAE,EAAE,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;IAC5F,CAAC;IACD,IAAI,MAAM,YAAY,CAAC,QAAQ,EAAE,IAAI,EAAE,EAAE,CAAC,EAAE,CAAC;QAC3C,MAAM,IAAI,6BAA6B,CAAC,UAAU,CAAC,QAAQ,EAAE,IAAI,EAAE,EAAE,CAAC,CAAC,CAAC;IAC1E,CAAC;IACD,MAAM,MAAM,GAAG,MAAM,UAAU,CAAC,QAAQ,EAAE,IAAI,EAAE,EAAE,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC;IACvE,MAAM,WAAW,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;IACpC,MAAM,YAAY,CAAC,QAAQ,EAAE,IAAI,EAAE,EAAE,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC;AAC5D,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,SAAS,CAC7B,QAAgB,EAChB,KAAa,EACb,SAAoB;IAEpB,IAAI,CAAC,CAAC,MAAM,YAAY,CAAC,QAAQ,EAAE,SAAS,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC,EAAE,CAAC;QAC3D,MAAM,IAAI,4BAA4B,CAAC,UAAU,CAAC,QAAQ,EAAE,SAAS,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC,CAAC;IACtF,CAAC;IACD,yEAAyE;IACzE,MAAM,WAAW,CAAC,QAAQ,EAAE,SAAS,CAAC,CAAC;IACvC,oDAAoD;IACpD,MAAM,GAAG,GAAG,MAAM,UAAU,CAAC,QAAQ,EAAE,SAAS,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;IAC9D,MAAM,OAAO,GAAG,EAAE,GAAG,GAAG,EAAE,aAAa,EAAE,SAAS,CAAC,EAAE,EAAE,CAAC;IACxD,MAAM,WAAW,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;AACvC,CAAC"}
1
+ {"version":3,"file":"lifecycle.js","sourceRoot":"","sources":["../../src/storage/lifecycle.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,WAAW,CAAC;AACrD,OAAO,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AACvD,OAAO,EAAE,yBAAyB,EAAE,wBAAwB,EAAE,MAAM,aAAa,CAAC;AAClF,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAEzC,MAAM,CAAC,KAAK,UAAU,aAAa,CACjC,QAAgB,EAChB,IAAgB,EAChB,EAAU;IAEV,IAAI,CAAC,CAAC,MAAM,YAAY,CAAC,QAAQ,EAAE,IAAI,EAAE,EAAE,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,CAAC;QACjE,MAAM,IAAI,wBAAwB,CAAC,UAAU,CAAC,QAAQ,EAAE,IAAI,EAAE,EAAE,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;IACxF,CAAC;IACD,IAAI,MAAM,YAAY,CAAC,QAAQ,EAAE,IAAI,EAAE,EAAE,CAAC,EAAE,CAAC;QAC3C,MAAM,IAAI,yBAAyB,CAAC,UAAU,CAAC,QAAQ,EAAE,IAAI,EAAE,EAAE,CAAC,CAAC,CAAC;IACtE,CAAC;IACD,MAAM,MAAM,GAAG,MAAM,UAAU,CAAC,QAAQ,EAAE,IAAI,EAAE,EAAE,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC;IACvE,MAAM,WAAW,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;IACpC,MAAM,YAAY,CAAC,QAAQ,EAAE,IAAI,EAAE,EAAE,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC;AAC5D,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,SAAS,CAC7B,QAAgB,EAChB,KAAa,EACb,SAAoB;IAEpB,IAAI,CAAC,CAAC,MAAM,YAAY,CAAC,QAAQ,EAAE,SAAS,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC,EAAE,CAAC;QAC3D,MAAM,IAAI,wBAAwB,CAAC,UAAU,CAAC,QAAQ,EAAE,SAAS,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC,CAAC;IAClF,CAAC;IACD,yEAAyE;IACzE,MAAM,WAAW,CAAC,QAAQ,EAAE,SAAS,CAAC,CAAC;IACvC,oDAAoD;IACpD,MAAM,GAAG,GAAG,MAAM,UAAU,CAAC,QAAQ,EAAE,SAAS,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;IAC9D,MAAM,OAAO,GAAG,EAAE,GAAG,GAAG,EAAE,aAAa,EAAE,SAAS,CAAC,EAAE,EAAE,CAAC;IACxD,MAAM,WAAW,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;AACvC,CAAC"}
@@ -1,7 +1,7 @@
1
1
  import { readFile, stat } from "node:fs/promises";
2
2
  import { AnyRecord as AnyRecordSchema } from "../records/any.js";
3
3
  import { recordPath } from "../paths.js";
4
- import { MetaForgeRecordNotFoundError, MetaForgeRecordParseError } from "./errors.js";
4
+ import { ForgeRecordNotFoundError, ForgeRecordParseError } from "./errors.js";
5
5
  export async function readRecord(metaRoot, type, id, opts = {}) {
6
6
  const path = recordPath(metaRoot, type, id, opts);
7
7
  let raw;
@@ -10,7 +10,7 @@ export async function readRecord(metaRoot, type, id, opts = {}) {
10
10
  }
11
11
  catch (err) {
12
12
  if (isNoEntError(err))
13
- throw new MetaForgeRecordNotFoundError(path);
13
+ throw new ForgeRecordNotFoundError(path);
14
14
  throw err;
15
15
  }
16
16
  let parsedJson;
@@ -18,11 +18,11 @@ export async function readRecord(metaRoot, type, id, opts = {}) {
18
18
  parsedJson = JSON.parse(raw);
19
19
  }
20
20
  catch (err) {
21
- throw new MetaForgeRecordParseError(path, err);
21
+ throw new ForgeRecordParseError(path, err);
22
22
  }
23
23
  const result = AnyRecordSchema.safeParse(parsedJson);
24
24
  if (!result.success)
25
- throw new MetaForgeRecordParseError(path, result.error);
25
+ throw new ForgeRecordParseError(path, result.error);
26
26
  return result.data;
27
27
  }
28
28
  export async function recordExists(metaRoot, type, id, opts = {}) {
@@ -1 +1 @@
1
- {"version":3,"file":"read.js","sourceRoot":"","sources":["../../src/storage/read.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAE,MAAM,kBAAkB,CAAC;AAElD,OAAO,EAAE,SAAS,IAAI,eAAe,EAAE,MAAM,mBAAmB,CAAC;AAEjE,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACzC,OAAO,EAAE,4BAA4B,EAAE,yBAAyB,EAAE,MAAM,aAAa,CAAC;AAEtF,MAAM,CAAC,KAAK,UAAU,UAAU,CAC9B,QAAgB,EAChB,IAAgB,EAChB,EAAU,EACV,OAA8B,EAAE;IAEhC,MAAM,IAAI,GAAG,UAAU,CAAC,QAAQ,EAAE,IAAI,EAAE,EAAE,EAAE,IAAI,CAAC,CAAC;IAClD,IAAI,GAAW,CAAC;IAChB,IAAI,CAAC;QACH,GAAG,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;IACrC,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,IAAI,YAAY,CAAC,GAAG,CAAC;YAAE,MAAM,IAAI,4BAA4B,CAAC,IAAI,CAAC,CAAC;QACpE,MAAM,GAAG,CAAC;IACZ,CAAC;IACD,IAAI,UAAmB,CAAC;IACxB,IAAI,CAAC;QACH,UAAU,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IAC/B,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,MAAM,IAAI,yBAAyB,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;IACjD,CAAC;IACD,MAAM,MAAM,GAAG,eAAe,CAAC,SAAS,CAAC,UAAU,CAAC,CAAC;IACrD,IAAI,CAAC,MAAM,CAAC,OAAO;QAAE,MAAM,IAAI,yBAAyB,CAAC,IAAI,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC;IAC7E,OAAO,MAAM,CAAC,IAAI,CAAC;AACrB,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,YAAY,CAChC,QAAgB,EAChB,IAAgB,EAChB,EAAU,EACV,OAA8B,EAAE;IAEhC,IAAI,CAAC;QACH,MAAM,IAAI,CAAC,UAAU,CAAC,QAAQ,EAAE,IAAI,EAAE,EAAE,EAAE,IAAI,CAAC,CAAC,CAAC;QACjD,OAAO,IAAI,CAAC;IACd,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,KAAK,CAAC;IACf,CAAC;AACH,CAAC;AAED,SAAS,YAAY,CAAC,GAAY;IAChC,OAAO,CACL,OAAO,GAAG,KAAK,QAAQ;QACvB,GAAG,KAAK,IAAI;QACZ,MAAM,IAAI,GAAG;QACZ,GAAyB,CAAC,IAAI,KAAK,QAAQ,CAC7C,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"read.js","sourceRoot":"","sources":["../../src/storage/read.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAE,MAAM,kBAAkB,CAAC;AAElD,OAAO,EAAE,SAAS,IAAI,eAAe,EAAE,MAAM,mBAAmB,CAAC;AAEjE,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACzC,OAAO,EAAE,wBAAwB,EAAE,qBAAqB,EAAE,MAAM,aAAa,CAAC;AAE9E,MAAM,CAAC,KAAK,UAAU,UAAU,CAC9B,QAAgB,EAChB,IAAgB,EAChB,EAAU,EACV,OAA8B,EAAE;IAEhC,MAAM,IAAI,GAAG,UAAU,CAAC,QAAQ,EAAE,IAAI,EAAE,EAAE,EAAE,IAAI,CAAC,CAAC;IAClD,IAAI,GAAW,CAAC;IAChB,IAAI,CAAC;QACH,GAAG,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;IACrC,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,IAAI,YAAY,CAAC,GAAG,CAAC;YAAE,MAAM,IAAI,wBAAwB,CAAC,IAAI,CAAC,CAAC;QAChE,MAAM,GAAG,CAAC;IACZ,CAAC;IACD,IAAI,UAAmB,CAAC;IACxB,IAAI,CAAC;QACH,UAAU,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IAC/B,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,MAAM,IAAI,qBAAqB,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;IAC7C,CAAC;IACD,MAAM,MAAM,GAAG,eAAe,CAAC,SAAS,CAAC,UAAU,CAAC,CAAC;IACrD,IAAI,CAAC,MAAM,CAAC,OAAO;QAAE,MAAM,IAAI,qBAAqB,CAAC,IAAI,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC;IACzE,OAAO,MAAM,CAAC,IAAI,CAAC;AACrB,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,YAAY,CAChC,QAAgB,EAChB,IAAgB,EAChB,EAAU,EACV,OAA8B,EAAE;IAEhC,IAAI,CAAC;QACH,MAAM,IAAI,CAAC,UAAU,CAAC,QAAQ,EAAE,IAAI,EAAE,EAAE,EAAE,IAAI,CAAC,CAAC,CAAC;QACjD,OAAO,IAAI,CAAC;IACd,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,KAAK,CAAC;IACf,CAAC;AACH,CAAC;AAED,SAAS,YAAY,CAAC,GAAY;IAChC,OAAO,CACL,OAAO,GAAG,KAAK,QAAQ;QACvB,GAAG,KAAK,IAAI;QACZ,MAAM,IAAI,GAAG;QACZ,GAAyB,CAAC,IAAI,KAAK,QAAQ,CAC7C,CAAC;AACJ,CAAC"}
@@ -2,7 +2,7 @@ import { mkdir, writeFile, unlink } from "node:fs/promises";
2
2
  import { dirname } from "node:path";
3
3
  import { AnyRecord as AnyRecordSchema } from "../records/any.js";
4
4
  import { recordPath } from "../paths.js";
5
- import { MetaForgeRecordNotFoundError } from "./errors.js";
5
+ import { ForgeRecordNotFoundError } from "./errors.js";
6
6
  import { recordExists } from "./read.js";
7
7
  export async function writeRecord(metaRoot, record, opts = {}) {
8
8
  // Validate before any IO
@@ -13,7 +13,7 @@ export async function writeRecord(metaRoot, record, opts = {}) {
13
13
  }
14
14
  export async function removeRecord(metaRoot, type, id, opts = {}) {
15
15
  if (!(await recordExists(metaRoot, type, id, opts))) {
16
- throw new MetaForgeRecordNotFoundError(recordPath(metaRoot, type, id, opts));
16
+ throw new ForgeRecordNotFoundError(recordPath(metaRoot, type, id, opts));
17
17
  }
18
18
  await unlink(recordPath(metaRoot, type, id, opts));
19
19
  }
@@ -1 +1 @@
1
- {"version":3,"file":"write.js","sourceRoot":"","sources":["../../src/storage/write.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAC;AAC5D,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAEpC,OAAO,EAAE,SAAS,IAAI,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACjE,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACzC,OAAO,EAAE,4BAA4B,EAAE,MAAM,aAAa,CAAC;AAC3D,OAAO,EAAE,YAAY,EAAE,MAAM,WAAW,CAAC;AAEzC,MAAM,CAAC,KAAK,UAAU,WAAW,CAC/B,QAAgB,EAChB,MAAiB,EACjB,OAA8B,EAAE;IAEhC,yBAAyB;IACzB,eAAe,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;IAE9B,MAAM,IAAI,GAAG,UAAU,CAAC,QAAQ,EAAE,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,EAAE,EAAE,IAAI,CAAC,CAAC;IAChE,MAAM,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IAChD,MAAM,SAAS,CAAC,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,GAAG,IAAI,EAAE,MAAM,CAAC,CAAC;AACxE,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,YAAY,CAChC,QAAgB,EAChB,IAAuB,EACvB,EAAU,EACV,OAA8B,EAAE;IAEhC,IAAI,CAAC,CAAC,MAAM,YAAY,CAAC,QAAQ,EAAE,IAAI,EAAE,EAAE,EAAE,IAAI,CAAC,CAAC,EAAE,CAAC;QACpD,MAAM,IAAI,4BAA4B,CAAC,UAAU,CAAC,QAAQ,EAAE,IAAI,EAAE,EAAE,EAAE,IAAI,CAAC,CAAC,CAAC;IAC/E,CAAC;IACD,MAAM,MAAM,CAAC,UAAU,CAAC,QAAQ,EAAE,IAAI,EAAE,EAAE,EAAE,IAAI,CAAC,CAAC,CAAC;AACrD,CAAC"}
1
+ {"version":3,"file":"write.js","sourceRoot":"","sources":["../../src/storage/write.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAC;AAC5D,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAEpC,OAAO,EAAE,SAAS,IAAI,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACjE,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACzC,OAAO,EAAE,wBAAwB,EAAE,MAAM,aAAa,CAAC;AACvD,OAAO,EAAE,YAAY,EAAE,MAAM,WAAW,CAAC;AAEzC,MAAM,CAAC,KAAK,UAAU,WAAW,CAC/B,QAAgB,EAChB,MAAiB,EACjB,OAA8B,EAAE;IAEhC,yBAAyB;IACzB,eAAe,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;IAE9B,MAAM,IAAI,GAAG,UAAU,CAAC,QAAQ,EAAE,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,EAAE,EAAE,IAAI,CAAC,CAAC;IAChE,MAAM,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IAChD,MAAM,SAAS,CAAC,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,GAAG,IAAI,EAAE,MAAM,CAAC,CAAC;AACxE,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,YAAY,CAChC,QAAgB,EAChB,IAAuB,EACvB,EAAU,EACV,OAA8B,EAAE;IAEhC,IAAI,CAAC,CAAC,MAAM,YAAY,CAAC,QAAQ,EAAE,IAAI,EAAE,EAAE,EAAE,IAAI,CAAC,CAAC,EAAE,CAAC;QACpD,MAAM,IAAI,wBAAwB,CAAC,UAAU,CAAC,QAAQ,EAAE,IAAI,EAAE,EAAE,EAAE,IAAI,CAAC,CAAC,CAAC;IAC3E,CAAC;IACD,MAAM,MAAM,CAAC,UAAU,CAAC,QAAQ,EAAE,IAAI,EAAE,EAAE,EAAE,IAAI,CAAC,CAAC,CAAC;AACrD,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@metaobjectsdev/sdk",
3
- "version": "0.9.0",
3
+ "version": "0.10.0",
4
4
  "description": "Workspace helpers and agent-docs utilities for MetaObjects projects.",
5
5
  "type": "module",
6
6
  "main": "./dist/index.js",
@@ -15,34 +15,52 @@
15
15
  "bun": "./src/agent-docs/index.ts",
16
16
  "types": "./dist/agent-docs/index.d.ts",
17
17
  "default": "./dist/agent-docs/index.js"
18
+ },
19
+ "./agent-context": {
20
+ "bun": "./src/agent-context/index.ts",
21
+ "types": "./dist/agent-context/index.d.ts",
22
+ "default": "./dist/agent-context/index.js"
18
23
  }
19
24
  },
20
- "files": ["dist", "src", "README.md", "LICENSE"],
25
+ "files": [
26
+ "dist",
27
+ "src",
28
+ "README.md",
29
+ "LICENSE",
30
+ "agent-context",
31
+ "scripts"
32
+ ],
21
33
  "scripts": {
22
- "build": "tsc -p .",
34
+ "bundle-agent-context": "node scripts/bundle-agent-context.mjs",
35
+ "build": "node scripts/bundle-agent-context.mjs && tsc -p .",
23
36
  "typecheck": "tsc -p tsconfig.typecheck.json"
24
37
  },
25
38
  "license": "Apache-2.0",
26
39
  "author": "Doug Mealing <doug@dougmealing.com>",
27
40
  "homepage": "https://metaobjects.dev",
28
41
  "bugs": {
29
- "url": "https://github.com/metaobjectsdev/metaobjects/issues"
30
- },
31
- "repository": {
32
- "type": "git",
33
- "url": "https://github.com/metaobjectsdev/metaobjects.git",
34
- "directory": "server/typescript/packages/sdk"
35
- },
36
- "keywords": ["metaobjects", "sdk", "agent-docs", "workspace"],
37
- "publishConfig": {
38
- "access": "public"
39
- },
40
- "dependencies": {
41
- "@metaobjectsdev/metadata": "0.9.0",
42
- "zod": "^3.23.0"
43
- },
44
- "devDependencies": {
45
- "bun-types": "latest",
46
- "typescript": "^5.6.0"
47
- }
42
+ "url": "https://github.com/metaobjectsdev/metaobjects/issues"
43
+ },
44
+ "repository": {
45
+ "type": "git",
46
+ "url": "https://github.com/metaobjectsdev/metaobjects.git",
47
+ "directory": "server/typescript/packages/sdk"
48
+ },
49
+ "keywords": [
50
+ "metaobjects",
51
+ "sdk",
52
+ "agent-docs",
53
+ "workspace"
54
+ ],
55
+ "publishConfig": {
56
+ "access": "public"
57
+ },
58
+ "dependencies": {
59
+ "@metaobjectsdev/metadata": "0.10.0",
60
+ "zod": "^3.23.0"
61
+ },
62
+ "devDependencies": {
63
+ "bun-types": "latest",
64
+ "typescript": "^5.6.0"
65
+ }
48
66
  }
@@ -0,0 +1,19 @@
1
+ import { cpSync, rmSync, existsSync } from "node:fs";
2
+ import { dirname, join } from "node:path";
3
+ import { fileURLToPath } from "node:url";
4
+
5
+ // scripts/ → package root → walk up to the monorepo agent-context/
6
+ const pkgDir = join(dirname(fileURLToPath(import.meta.url)), "..");
7
+ let dir = pkgDir, src = "";
8
+ for (let i = 0; i < 8; i++) {
9
+ const cand = join(dir, "agent-context", "skills", "metaobjects-authoring", "SKILL.md");
10
+ if (existsSync(cand) && dir !== pkgDir) { src = join(dir, "agent-context"); break; }
11
+ const parent = dirname(dir);
12
+ if (parent === dir) break;
13
+ dir = parent;
14
+ }
15
+ if (!src) { console.error("monorepo agent-context/ not found to bundle"); process.exit(1); }
16
+ const dest = join(pkgDir, "agent-context");
17
+ rmSync(dest, { recursive: true, force: true });
18
+ cpSync(src, dest, { recursive: true });
19
+ console.log("bundled agent-context →", dest);
@@ -0,0 +1,68 @@
1
+ import { readFileSync, readdirSync, existsSync, statSync } from "node:fs";
2
+ import { join } from "node:path";
3
+ import { SKILL_NAMES, type AssembledFile, type Stack } from "./types.js";
4
+
5
+ interface ServerMeta { displayName: string; install: string; codegenCommand: string; }
6
+
7
+ function readServerMeta(contentRoot: string, server: string): ServerMeta | undefined {
8
+ const p = join(contentRoot, "servers", `${server}.meta.json`);
9
+ if (!existsSync(p)) return undefined;
10
+ return JSON.parse(readFileSync(p, "utf8")) as ServerMeta;
11
+ }
12
+
13
+ function stackLine(contentRoot: string, stack: Stack): { line: string; codegenCommand: string } {
14
+ const primary = stack.servers[0];
15
+ const meta = primary ? readServerMeta(contentRoot, primary) : undefined;
16
+ const serverPart = stack.servers.length ? stack.servers.join(", ") + " server" : "no server";
17
+ const clientPart = stack.clients.length ? stack.clients.join(", ") + " client" : "no client";
18
+ return {
19
+ line: `Stack: ${serverPart}, ${clientPart}; migrations are TS.`,
20
+ codegenCommand: meta ? meta.codegenCommand : "meta gen",
21
+ };
22
+ }
23
+
24
+ function applyTemplate(tpl: string, vars: Record<string, string>): string {
25
+ return tpl.replace(/\{\{(\w+)\}\}/g, (_m, k: string) => {
26
+ if (!(k in vars)) throw new Error(`agent-context: unknown template variable {{${k}}}`);
27
+ return vars[k]!;
28
+ });
29
+ }
30
+
31
+ /** Assemble the consumer files for a resolved stack. Pure given the content tree. */
32
+ export function assemble(opts: { contentRoot: string; stack: Stack }): AssembledFile[] {
33
+ const { contentRoot, stack } = opts;
34
+ const out: AssembledFile[] = [];
35
+
36
+ // 1. Always-on (AGENTS.md + CLAUDE.md, identical contents).
37
+ const tpl = readFileSync(join(contentRoot, "templates", "always-on.md.mustache"), "utf8");
38
+ const { line, codegenCommand } = stackLine(contentRoot, stack);
39
+ const alwaysOn = applyTemplate(tpl, { stackLine: line, codegenCommand });
40
+ out.push({ path: ".metaobjects/AGENTS.md", contents: alwaysOn });
41
+ out.push({ path: ".metaobjects/CLAUDE.md", contents: alwaysOn });
42
+
43
+ // 2. Skills: body + only the references whose token is in the stack.
44
+ for (const skill of SKILL_NAMES) {
45
+ const skillDir = join(contentRoot, "skills", skill);
46
+ const body = readFileSync(join(skillDir, "SKILL.md"), "utf8");
47
+ out.push({ path: `.claude/skills/${skill}/SKILL.md`, contents: body });
48
+
49
+ const refDir = join(skillDir, "references");
50
+ if (existsSync(refDir) && statSync(refDir).isDirectory()) {
51
+ const refs = readdirSync(refDir)
52
+ .filter((f) => f.endsWith(".md"))
53
+ .map((f) => f.replace(/\.md$/, ""))
54
+ .filter((token) => stack.tokens.has(token))
55
+ .sort();
56
+ for (const token of refs) {
57
+ out.push({
58
+ path: `.claude/skills/${skill}/references/${token}.md`,
59
+ contents: readFileSync(join(refDir, `${token}.md`), "utf8"),
60
+ });
61
+ }
62
+ }
63
+ }
64
+
65
+ // Stable order: by path.
66
+ out.sort((a, b) => (a.path < b.path ? -1 : a.path > b.path ? 1 : 0));
67
+ return out;
68
+ }
@@ -0,0 +1,35 @@
1
+ import { existsSync } from "node:fs";
2
+ import { dirname, join } from "node:path";
3
+ import { fileURLToPath } from "node:url";
4
+
5
+ /** A directory is a valid content root iff it holds the authoring skill body. */
6
+ function isContentRoot(dir: string): boolean {
7
+ return existsSync(join(dir, "skills", "metaobjects-authoring", "SKILL.md"));
8
+ }
9
+
10
+ /**
11
+ * Resolve the `agent-context/` content tree the assembler reads.
12
+ * - If `override` is given, it must be a valid content root (else throw).
13
+ * - Otherwise: check a bundled copy beside this module (`<pkg>/agent-context`,
14
+ * the published path), then walk up looking for a monorepo `agent-context/` (dev).
15
+ */
16
+ export function resolveAgentContextRoot(override?: string): string {
17
+ if (override !== undefined) {
18
+ if (isContentRoot(override)) return override;
19
+ throw new Error(`agent-context content not found at override: ${override}`);
20
+ }
21
+ let dir = dirname(fileURLToPath(import.meta.url));
22
+ for (let i = 0; i < 8; i++) {
23
+ // Matches both a bundled copy shipped inside the package (published) and the
24
+ // monorepo content tree (dev), since both live at `<dir>/agent-context`.
25
+ const candidate = join(dir, "agent-context");
26
+ if (isContentRoot(candidate)) return candidate;
27
+ const parent = dirname(dir);
28
+ if (parent === dir) break;
29
+ dir = parent;
30
+ }
31
+ throw new Error(
32
+ "agent-context content not found — looked for a bundled `agent-context/` beside the package " +
33
+ "and a monorepo `agent-context/` walking up from the sdk module.",
34
+ );
35
+ }
@@ -0,0 +1,5 @@
1
+ export * from "./types.js";
2
+ export * from "./resolve.js";
3
+ export * from "./assemble.js";
4
+ export * from "./content-root.js";
5
+ export * from "./scaffold.js";
@@ -0,0 +1,33 @@
1
+ import {
2
+ SERVER_LANGS, CLIENT_FRAMEWORKS, MIGRATION_TOKEN,
3
+ type ServerLang, type ClientFramework, type Stack,
4
+ } from "./types.js";
5
+
6
+ export interface ProjectProbe {
7
+ hasDep(name: string): boolean;
8
+ hasFileMatching(pattern: RegExp): boolean;
9
+ }
10
+
11
+ export function makeStack(servers: ServerLang[], clients: ClientFramework[]): Stack {
12
+ const s = SERVER_LANGS.filter((x) => servers.includes(x));
13
+ const c = CLIENT_FRAMEWORKS.filter((x) => clients.includes(x));
14
+ return { servers: s, clients: c, tokens: new Set<string>([...s, ...c, MIGRATION_TOKEN]) };
15
+ }
16
+
17
+ /** Best-effort detection from a project probe. Always overridable; a wrong guess
18
+ * writes an extra fragment, never a wrong one (callers confirm before scaffolding). */
19
+ export function detectStack(probe: ProjectProbe): { servers: ServerLang[]; clients: ClientFramework[] } {
20
+ const servers: ServerLang[] = [];
21
+ if (probe.hasDep("@metaobjectsdev/cli") || probe.hasDep("@metaobjectsdev/codegen-ts")) servers.push("typescript");
22
+ if (probe.hasFileMatching(/(^|\/)build\.gradle(\.kts)?$/)) servers.push("kotlin");
23
+ if (probe.hasFileMatching(/(^|\/)pom\.xml$/)) servers.push("java");
24
+ if (probe.hasFileMatching(/\.csproj$/)) servers.push("csharp");
25
+ if (probe.hasFileMatching(/(^|\/)(pyproject\.toml|setup\.py)$/)) servers.push("python");
26
+
27
+ const clients: ClientFramework[] = [];
28
+ if (probe.hasDep("@metaobjectsdev/react")) clients.push("react");
29
+ if (probe.hasDep("@metaobjectsdev/tanstack")) clients.push("tanstack");
30
+ if (probe.hasDep("@metaobjectsdev/angular")) clients.push("angular");
31
+
32
+ return { servers, clients };
33
+ }