@bluefly/openstandardagents 0.4.8 → 0.4.9

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 (651) hide show
  1. package/.version.json +4 -4
  2. package/CHANGELOG.md +14 -0
  3. package/README.md +20 -5
  4. package/dist/.version.json +4 -4
  5. package/dist/adapters/a2a/__tests__/mcp-integration.spec.js +1 -1
  6. package/dist/adapters/a2a/a2a-protocol.d.ts +1 -1
  7. package/dist/adapters/a2a/a2a-tool.js +3 -3
  8. package/dist/adapters/a2a/delegation.js +1 -1
  9. package/dist/adapters/base/common-file-generator.d.ts +1 -1
  10. package/dist/adapters/base/common-file-generator.js +22 -0
  11. package/dist/cli/banner.js +1 -1
  12. package/dist/cli/commands/agents-sync.command.d.ts +19 -0
  13. package/dist/cli/commands/agents-sync.command.js +268 -0
  14. package/dist/cli/commands/discover.js +48 -52
  15. package/dist/cli/commands/export.command.js +41 -12
  16. package/dist/cli/commands/lifecycle.command.d.ts +29 -0
  17. package/dist/cli/commands/lifecycle.command.js +495 -0
  18. package/dist/cli/commands/policy.command.d.ts +11 -0
  19. package/dist/cli/commands/policy.command.js +85 -0
  20. package/dist/cli/commands/publish.command.js +29 -3
  21. package/dist/cli/commands/search.command.js +31 -2
  22. package/dist/cli/commands/serve-builder-routes.d.ts +17 -0
  23. package/dist/cli/commands/serve-builder-routes.js +390 -0
  24. package/dist/cli/commands/validate.command.js +48 -2
  25. package/dist/cli/commands/verify.js +61 -34
  26. package/dist/cli/commands/wizard-api-first.command.js +6 -0
  27. package/dist/cli/commands/wizard.command.js +6 -0
  28. package/dist/cli/commands/workspace.command.js +65 -65
  29. package/dist/cli/index.js +11 -3
  30. package/dist/cli/utils/standard-options.js +1 -1
  31. package/dist/confidence/index.d.ts +67 -0
  32. package/dist/confidence/index.js +130 -0
  33. package/dist/data/platform-matrix.js +29 -0
  34. package/dist/mcp-server/index.js +0 -0
  35. package/dist/mesh/discovery-providers.js +2 -2
  36. package/dist/mesh/discovery.js +1 -1
  37. package/dist/mesh/index.d.ts +2 -2
  38. package/dist/mesh/index.js +2 -2
  39. package/dist/mesh/types.d.ts +202 -1
  40. package/dist/package.json +6 -12
  41. package/dist/services/agent-card-generator.d.ts +2 -2
  42. package/dist/services/agent-card-generator.js +3 -1
  43. package/dist/services/agents-md/agents-md.service.d.ts +4 -0
  44. package/dist/services/agents-md/agents-md.service.js +18 -0
  45. package/dist/services/governance/cedar-validator.service.d.ts +32 -0
  46. package/dist/services/governance/cedar-validator.service.js +88 -0
  47. package/dist/services/mcp/bridge.service.d.ts +1 -0
  48. package/dist/services/mcp/bridge.service.js +31 -0
  49. package/dist/services/skills-pipeline/skills-install.service.js +2 -2
  50. package/dist/services/skills-pipeline/skills-research.service.d.ts +5 -7
  51. package/dist/services/skills-pipeline/skills-research.service.js +13 -58
  52. package/dist/services/trust/trust.service.d.ts +9 -0
  53. package/dist/services/trust/trust.service.js +35 -0
  54. package/dist/services/validators/a2a.validator.js +2 -2
  55. package/dist/skills/test-skill/package.json +1 -1
  56. package/dist/spec/uadp/README.md +1 -1
  57. package/dist/spec/v0.4/agent-card.schema.json +2 -2
  58. package/dist/spec/v0.4/agent.schema.json +69 -0
  59. package/dist/spec/v0.4/extensions/a2a/a2a.schema.json +1 -1
  60. package/dist/spec/v0.5/agent-card.schema.json +1 -1
  61. package/dist/spec/v0.5/agent.schema.json +137 -67
  62. package/dist/types/index.d.ts +3 -1
  63. package/dist/validation/progressive-scorer.d.ts +1 -1
  64. package/dist/validation/progressive-scorer.js +19 -2
  65. package/dist/version-management/api/server.d.ts +1 -1
  66. package/examples/agent-mesh/DISCOVERY.md +25 -25
  67. package/examples/agent-mesh/README.ts +6 -6
  68. package/examples/agent-mesh/basic-usage.ts +11 -11
  69. package/examples/agent-mesh/discovery-system.ts +37 -37
  70. package/openapi/agent-communication.yaml +12 -12
  71. package/openapi/marketplace-plugin.openapi.yaml +1 -1
  72. package/openapi/protocols/sse-streams.yaml +3 -3
  73. package/openapi/protocols/websocket-events.yaml +3 -3
  74. package/openapi/uadp-asyncapi.yaml +1 -1
  75. package/openapi/uadp-openapi.yaml +99 -5
  76. package/package.json +4 -10
  77. package/spec/uadp/README.md +393 -0
  78. package/spec/uadp/openapi.yaml +387 -0
  79. package/spec/uadp/schemas/uadp-agents-response.schema.json +68 -0
  80. package/spec/uadp/schemas/uadp-federation-response.schema.json +46 -0
  81. package/spec/uadp/schemas/uadp-manifest.schema.json +82 -0
  82. package/spec/uadp/schemas/uadp-skills-response.schema.json +72 -0
  83. package/spec/v0.4/agent-card.schema.json +2 -2
  84. package/spec/v0.4/extensions/a2a/a2a.schema.json +1 -1
  85. package/spec/v0.5/agent-card.schema.json +477 -0
  86. package/spec/v0.5/agent.schema.json +1626 -0
  87. package/spec/v0.5/conformance/profiles/baseline.json +19 -0
  88. package/spec/v0.5/conformance/profiles/enterprise.json +20 -0
  89. package/spec/v0.5/extensions/a2a/README.md +193 -0
  90. package/spec/v0.5/extensions/a2a/a2a.schema.json +77 -0
  91. package/spec/v0.5/extensions/ag2/ag2.schema.json +277 -0
  92. package/spec/v0.5/extensions/cognition/cognition.schema.json +94 -0
  93. package/spec/v0.5/extensions/cognition/thought-node.schema.json +80 -0
  94. package/spec/v0.5/extensions/crewai/crewai.schema.json +256 -0
  95. package/spec/v0.5/extensions/drupal/drupal.schema.json +318 -0
  96. package/spec/v0.5/extensions/evals/evals.schema.json +597 -0
  97. package/spec/v0.5/extensions/governance/governance-extension.yaml +161 -0
  98. package/spec/v0.5/extensions/identity/identity.schema.json +302 -0
  99. package/spec/v0.5/extensions/kagent/README.md +315 -0
  100. package/spec/v0.5/extensions/kagent/kagent.schema.json +624 -0
  101. package/spec/v0.5/extensions/langchain/langchain.schema.json +243 -0
  102. package/spec/v0.5/extensions/langgraph/langgraph.schema.json +211 -0
  103. package/spec/v0.5/extensions/mcp/README.md +276 -0
  104. package/spec/v0.5/extensions/mcp/mcp.schema.json +84 -0
  105. package/spec/v0.5/extensions/memory/memory.schema.json +7 -0
  106. package/spec/v0.5/extensions/team/team.schema.json +304 -0
  107. package/spec/v0.5/extensions/token-efficiency/token-efficiency.schema.json +47 -0
  108. package/spec/v0.5/mcp.schema.json +1 -0
  109. package/spec/v0.5/skill.schema.json +1 -0
  110. package/spec/v0.5/validator.schema.json +282 -0
  111. package/node_modules/ajv/.runkit_example.js +0 -23
  112. package/node_modules/ajv/LICENSE +0 -22
  113. package/node_modules/ajv/README.md +0 -207
  114. package/node_modules/ajv/dist/2019.d.ts +0 -19
  115. package/node_modules/ajv/dist/2019.js +0 -61
  116. package/node_modules/ajv/dist/2019.js.map +0 -1
  117. package/node_modules/ajv/dist/2020.d.ts +0 -19
  118. package/node_modules/ajv/dist/2020.js +0 -55
  119. package/node_modules/ajv/dist/2020.js.map +0 -1
  120. package/node_modules/ajv/dist/ajv.d.ts +0 -18
  121. package/node_modules/ajv/dist/ajv.js +0 -50
  122. package/node_modules/ajv/dist/ajv.js.map +0 -1
  123. package/node_modules/ajv/dist/compile/codegen/code.d.ts +0 -40
  124. package/node_modules/ajv/dist/compile/codegen/code.js +0 -156
  125. package/node_modules/ajv/dist/compile/codegen/code.js.map +0 -1
  126. package/node_modules/ajv/dist/compile/codegen/index.d.ts +0 -79
  127. package/node_modules/ajv/dist/compile/codegen/index.js +0 -697
  128. package/node_modules/ajv/dist/compile/codegen/index.js.map +0 -1
  129. package/node_modules/ajv/dist/compile/codegen/scope.d.ts +0 -79
  130. package/node_modules/ajv/dist/compile/codegen/scope.js +0 -143
  131. package/node_modules/ajv/dist/compile/codegen/scope.js.map +0 -1
  132. package/node_modules/ajv/dist/compile/errors.d.ts +0 -13
  133. package/node_modules/ajv/dist/compile/errors.js +0 -123
  134. package/node_modules/ajv/dist/compile/errors.js.map +0 -1
  135. package/node_modules/ajv/dist/compile/index.d.ts +0 -80
  136. package/node_modules/ajv/dist/compile/index.js +0 -242
  137. package/node_modules/ajv/dist/compile/index.js.map +0 -1
  138. package/node_modules/ajv/dist/compile/jtd/parse.d.ts +0 -4
  139. package/node_modules/ajv/dist/compile/jtd/parse.js +0 -350
  140. package/node_modules/ajv/dist/compile/jtd/parse.js.map +0 -1
  141. package/node_modules/ajv/dist/compile/jtd/serialize.d.ts +0 -4
  142. package/node_modules/ajv/dist/compile/jtd/serialize.js +0 -236
  143. package/node_modules/ajv/dist/compile/jtd/serialize.js.map +0 -1
  144. package/node_modules/ajv/dist/compile/jtd/types.d.ts +0 -6
  145. package/node_modules/ajv/dist/compile/jtd/types.js +0 -14
  146. package/node_modules/ajv/dist/compile/jtd/types.js.map +0 -1
  147. package/node_modules/ajv/dist/compile/names.d.ts +0 -20
  148. package/node_modules/ajv/dist/compile/names.js +0 -28
  149. package/node_modules/ajv/dist/compile/names.js.map +0 -1
  150. package/node_modules/ajv/dist/compile/ref_error.d.ts +0 -6
  151. package/node_modules/ajv/dist/compile/ref_error.js +0 -12
  152. package/node_modules/ajv/dist/compile/ref_error.js.map +0 -1
  153. package/node_modules/ajv/dist/compile/resolve.d.ts +0 -12
  154. package/node_modules/ajv/dist/compile/resolve.js +0 -155
  155. package/node_modules/ajv/dist/compile/resolve.js.map +0 -1
  156. package/node_modules/ajv/dist/compile/rules.d.ts +0 -28
  157. package/node_modules/ajv/dist/compile/rules.js +0 -26
  158. package/node_modules/ajv/dist/compile/rules.js.map +0 -1
  159. package/node_modules/ajv/dist/compile/util.d.ts +0 -40
  160. package/node_modules/ajv/dist/compile/util.js +0 -178
  161. package/node_modules/ajv/dist/compile/util.js.map +0 -1
  162. package/node_modules/ajv/dist/compile/validate/applicability.d.ts +0 -6
  163. package/node_modules/ajv/dist/compile/validate/applicability.js +0 -19
  164. package/node_modules/ajv/dist/compile/validate/applicability.js.map +0 -1
  165. package/node_modules/ajv/dist/compile/validate/boolSchema.d.ts +0 -4
  166. package/node_modules/ajv/dist/compile/validate/boolSchema.js +0 -50
  167. package/node_modules/ajv/dist/compile/validate/boolSchema.js.map +0 -1
  168. package/node_modules/ajv/dist/compile/validate/dataType.d.ts +0 -17
  169. package/node_modules/ajv/dist/compile/validate/dataType.js +0 -203
  170. package/node_modules/ajv/dist/compile/validate/dataType.js.map +0 -1
  171. package/node_modules/ajv/dist/compile/validate/defaults.d.ts +0 -2
  172. package/node_modules/ajv/dist/compile/validate/defaults.js +0 -35
  173. package/node_modules/ajv/dist/compile/validate/defaults.js.map +0 -1
  174. package/node_modules/ajv/dist/compile/validate/index.d.ts +0 -42
  175. package/node_modules/ajv/dist/compile/validate/index.js +0 -520
  176. package/node_modules/ajv/dist/compile/validate/index.js.map +0 -1
  177. package/node_modules/ajv/dist/compile/validate/keyword.d.ts +0 -8
  178. package/node_modules/ajv/dist/compile/validate/keyword.js +0 -124
  179. package/node_modules/ajv/dist/compile/validate/keyword.js.map +0 -1
  180. package/node_modules/ajv/dist/compile/validate/subschema.d.ts +0 -47
  181. package/node_modules/ajv/dist/compile/validate/subschema.js +0 -81
  182. package/node_modules/ajv/dist/compile/validate/subschema.js.map +0 -1
  183. package/node_modules/ajv/dist/core.d.ts +0 -174
  184. package/node_modules/ajv/dist/core.js +0 -618
  185. package/node_modules/ajv/dist/core.js.map +0 -1
  186. package/node_modules/ajv/dist/jtd.d.ts +0 -47
  187. package/node_modules/ajv/dist/jtd.js +0 -72
  188. package/node_modules/ajv/dist/jtd.js.map +0 -1
  189. package/node_modules/ajv/dist/refs/data.json +0 -13
  190. package/node_modules/ajv/dist/refs/json-schema-2019-09/index.d.ts +0 -2
  191. package/node_modules/ajv/dist/refs/json-schema-2019-09/index.js +0 -28
  192. package/node_modules/ajv/dist/refs/json-schema-2019-09/index.js.map +0 -1
  193. package/node_modules/ajv/dist/refs/json-schema-2019-09/meta/applicator.json +0 -53
  194. package/node_modules/ajv/dist/refs/json-schema-2019-09/meta/content.json +0 -17
  195. package/node_modules/ajv/dist/refs/json-schema-2019-09/meta/core.json +0 -57
  196. package/node_modules/ajv/dist/refs/json-schema-2019-09/meta/format.json +0 -14
  197. package/node_modules/ajv/dist/refs/json-schema-2019-09/meta/meta-data.json +0 -37
  198. package/node_modules/ajv/dist/refs/json-schema-2019-09/meta/validation.json +0 -90
  199. package/node_modules/ajv/dist/refs/json-schema-2019-09/schema.json +0 -39
  200. package/node_modules/ajv/dist/refs/json-schema-2020-12/index.d.ts +0 -2
  201. package/node_modules/ajv/dist/refs/json-schema-2020-12/index.js +0 -30
  202. package/node_modules/ajv/dist/refs/json-schema-2020-12/index.js.map +0 -1
  203. package/node_modules/ajv/dist/refs/json-schema-2020-12/meta/applicator.json +0 -48
  204. package/node_modules/ajv/dist/refs/json-schema-2020-12/meta/content.json +0 -17
  205. package/node_modules/ajv/dist/refs/json-schema-2020-12/meta/core.json +0 -51
  206. package/node_modules/ajv/dist/refs/json-schema-2020-12/meta/format-annotation.json +0 -14
  207. package/node_modules/ajv/dist/refs/json-schema-2020-12/meta/meta-data.json +0 -37
  208. package/node_modules/ajv/dist/refs/json-schema-2020-12/meta/unevaluated.json +0 -15
  209. package/node_modules/ajv/dist/refs/json-schema-2020-12/meta/validation.json +0 -90
  210. package/node_modules/ajv/dist/refs/json-schema-2020-12/schema.json +0 -55
  211. package/node_modules/ajv/dist/refs/json-schema-draft-06.json +0 -137
  212. package/node_modules/ajv/dist/refs/json-schema-draft-07.json +0 -151
  213. package/node_modules/ajv/dist/refs/json-schema-secure.json +0 -88
  214. package/node_modules/ajv/dist/refs/jtd-schema.d.ts +0 -3
  215. package/node_modules/ajv/dist/refs/jtd-schema.js +0 -118
  216. package/node_modules/ajv/dist/refs/jtd-schema.js.map +0 -1
  217. package/node_modules/ajv/dist/runtime/equal.d.ts +0 -6
  218. package/node_modules/ajv/dist/runtime/equal.js +0 -7
  219. package/node_modules/ajv/dist/runtime/equal.js.map +0 -1
  220. package/node_modules/ajv/dist/runtime/parseJson.d.ts +0 -18
  221. package/node_modules/ajv/dist/runtime/parseJson.js +0 -185
  222. package/node_modules/ajv/dist/runtime/parseJson.js.map +0 -1
  223. package/node_modules/ajv/dist/runtime/quote.d.ts +0 -5
  224. package/node_modules/ajv/dist/runtime/quote.js +0 -30
  225. package/node_modules/ajv/dist/runtime/quote.js.map +0 -1
  226. package/node_modules/ajv/dist/runtime/re2.d.ts +0 -6
  227. package/node_modules/ajv/dist/runtime/re2.js +0 -6
  228. package/node_modules/ajv/dist/runtime/re2.js.map +0 -1
  229. package/node_modules/ajv/dist/runtime/timestamp.d.ts +0 -5
  230. package/node_modules/ajv/dist/runtime/timestamp.js +0 -42
  231. package/node_modules/ajv/dist/runtime/timestamp.js.map +0 -1
  232. package/node_modules/ajv/dist/runtime/ucs2length.d.ts +0 -5
  233. package/node_modules/ajv/dist/runtime/ucs2length.js +0 -24
  234. package/node_modules/ajv/dist/runtime/ucs2length.js.map +0 -1
  235. package/node_modules/ajv/dist/runtime/uri.d.ts +0 -6
  236. package/node_modules/ajv/dist/runtime/uri.js +0 -6
  237. package/node_modules/ajv/dist/runtime/uri.js.map +0 -1
  238. package/node_modules/ajv/dist/runtime/validation_error.d.ts +0 -7
  239. package/node_modules/ajv/dist/runtime/validation_error.js +0 -11
  240. package/node_modules/ajv/dist/runtime/validation_error.js.map +0 -1
  241. package/node_modules/ajv/dist/standalone/index.d.ts +0 -6
  242. package/node_modules/ajv/dist/standalone/index.js +0 -90
  243. package/node_modules/ajv/dist/standalone/index.js.map +0 -1
  244. package/node_modules/ajv/dist/standalone/instance.d.ts +0 -12
  245. package/node_modules/ajv/dist/standalone/instance.js +0 -35
  246. package/node_modules/ajv/dist/standalone/instance.js.map +0 -1
  247. package/node_modules/ajv/dist/types/index.d.ts +0 -183
  248. package/node_modules/ajv/dist/types/index.js +0 -3
  249. package/node_modules/ajv/dist/types/index.js.map +0 -1
  250. package/node_modules/ajv/dist/types/json-schema.d.ts +0 -125
  251. package/node_modules/ajv/dist/types/json-schema.js +0 -3
  252. package/node_modules/ajv/dist/types/json-schema.js.map +0 -1
  253. package/node_modules/ajv/dist/types/jtd-schema.d.ts +0 -174
  254. package/node_modules/ajv/dist/types/jtd-schema.js +0 -3
  255. package/node_modules/ajv/dist/types/jtd-schema.js.map +0 -1
  256. package/node_modules/ajv/dist/vocabularies/applicator/additionalItems.d.ts +0 -8
  257. package/node_modules/ajv/dist/vocabularies/applicator/additionalItems.js +0 -49
  258. package/node_modules/ajv/dist/vocabularies/applicator/additionalItems.js.map +0 -1
  259. package/node_modules/ajv/dist/vocabularies/applicator/additionalProperties.d.ts +0 -6
  260. package/node_modules/ajv/dist/vocabularies/applicator/additionalProperties.js +0 -106
  261. package/node_modules/ajv/dist/vocabularies/applicator/additionalProperties.js.map +0 -1
  262. package/node_modules/ajv/dist/vocabularies/applicator/allOf.d.ts +0 -3
  263. package/node_modules/ajv/dist/vocabularies/applicator/allOf.js +0 -23
  264. package/node_modules/ajv/dist/vocabularies/applicator/allOf.js.map +0 -1
  265. package/node_modules/ajv/dist/vocabularies/applicator/anyOf.d.ts +0 -4
  266. package/node_modules/ajv/dist/vocabularies/applicator/anyOf.js +0 -12
  267. package/node_modules/ajv/dist/vocabularies/applicator/anyOf.js.map +0 -1
  268. package/node_modules/ajv/dist/vocabularies/applicator/contains.d.ts +0 -7
  269. package/node_modules/ajv/dist/vocabularies/applicator/contains.js +0 -95
  270. package/node_modules/ajv/dist/vocabularies/applicator/contains.js.map +0 -1
  271. package/node_modules/ajv/dist/vocabularies/applicator/dependencies.d.ts +0 -21
  272. package/node_modules/ajv/dist/vocabularies/applicator/dependencies.js +0 -85
  273. package/node_modules/ajv/dist/vocabularies/applicator/dependencies.js.map +0 -1
  274. package/node_modules/ajv/dist/vocabularies/applicator/dependentSchemas.d.ts +0 -3
  275. package/node_modules/ajv/dist/vocabularies/applicator/dependentSchemas.js +0 -11
  276. package/node_modules/ajv/dist/vocabularies/applicator/dependentSchemas.js.map +0 -1
  277. package/node_modules/ajv/dist/vocabularies/applicator/if.d.ts +0 -6
  278. package/node_modules/ajv/dist/vocabularies/applicator/if.js +0 -66
  279. package/node_modules/ajv/dist/vocabularies/applicator/if.js.map +0 -1
  280. package/node_modules/ajv/dist/vocabularies/applicator/index.d.ts +0 -13
  281. package/node_modules/ajv/dist/vocabularies/applicator/index.js +0 -44
  282. package/node_modules/ajv/dist/vocabularies/applicator/index.js.map +0 -1
  283. package/node_modules/ajv/dist/vocabularies/applicator/items.d.ts +0 -5
  284. package/node_modules/ajv/dist/vocabularies/applicator/items.js +0 -52
  285. package/node_modules/ajv/dist/vocabularies/applicator/items.js.map +0 -1
  286. package/node_modules/ajv/dist/vocabularies/applicator/items2020.d.ts +0 -6
  287. package/node_modules/ajv/dist/vocabularies/applicator/items2020.js +0 -30
  288. package/node_modules/ajv/dist/vocabularies/applicator/items2020.js.map +0 -1
  289. package/node_modules/ajv/dist/vocabularies/applicator/not.d.ts +0 -4
  290. package/node_modules/ajv/dist/vocabularies/applicator/not.js +0 -26
  291. package/node_modules/ajv/dist/vocabularies/applicator/not.js.map +0 -1
  292. package/node_modules/ajv/dist/vocabularies/applicator/oneOf.d.ts +0 -6
  293. package/node_modules/ajv/dist/vocabularies/applicator/oneOf.js +0 -60
  294. package/node_modules/ajv/dist/vocabularies/applicator/oneOf.js.map +0 -1
  295. package/node_modules/ajv/dist/vocabularies/applicator/patternProperties.d.ts +0 -3
  296. package/node_modules/ajv/dist/vocabularies/applicator/patternProperties.js +0 -75
  297. package/node_modules/ajv/dist/vocabularies/applicator/patternProperties.js.map +0 -1
  298. package/node_modules/ajv/dist/vocabularies/applicator/prefixItems.d.ts +0 -3
  299. package/node_modules/ajv/dist/vocabularies/applicator/prefixItems.js +0 -12
  300. package/node_modules/ajv/dist/vocabularies/applicator/prefixItems.js.map +0 -1
  301. package/node_modules/ajv/dist/vocabularies/applicator/properties.d.ts +0 -3
  302. package/node_modules/ajv/dist/vocabularies/applicator/properties.js +0 -54
  303. package/node_modules/ajv/dist/vocabularies/applicator/properties.js.map +0 -1
  304. package/node_modules/ajv/dist/vocabularies/applicator/propertyNames.d.ts +0 -6
  305. package/node_modules/ajv/dist/vocabularies/applicator/propertyNames.js +0 -38
  306. package/node_modules/ajv/dist/vocabularies/applicator/propertyNames.js.map +0 -1
  307. package/node_modules/ajv/dist/vocabularies/applicator/thenElse.d.ts +0 -3
  308. package/node_modules/ajv/dist/vocabularies/applicator/thenElse.js +0 -13
  309. package/node_modules/ajv/dist/vocabularies/applicator/thenElse.js.map +0 -1
  310. package/node_modules/ajv/dist/vocabularies/code.d.ts +0 -17
  311. package/node_modules/ajv/dist/vocabularies/code.js +0 -131
  312. package/node_modules/ajv/dist/vocabularies/code.js.map +0 -1
  313. package/node_modules/ajv/dist/vocabularies/core/id.d.ts +0 -3
  314. package/node_modules/ajv/dist/vocabularies/core/id.js +0 -10
  315. package/node_modules/ajv/dist/vocabularies/core/id.js.map +0 -1
  316. package/node_modules/ajv/dist/vocabularies/core/index.d.ts +0 -3
  317. package/node_modules/ajv/dist/vocabularies/core/index.js +0 -16
  318. package/node_modules/ajv/dist/vocabularies/core/index.js.map +0 -1
  319. package/node_modules/ajv/dist/vocabularies/core/ref.d.ts +0 -8
  320. package/node_modules/ajv/dist/vocabularies/core/ref.js +0 -122
  321. package/node_modules/ajv/dist/vocabularies/core/ref.js.map +0 -1
  322. package/node_modules/ajv/dist/vocabularies/discriminator/index.d.ts +0 -5
  323. package/node_modules/ajv/dist/vocabularies/discriminator/index.js +0 -104
  324. package/node_modules/ajv/dist/vocabularies/discriminator/index.js.map +0 -1
  325. package/node_modules/ajv/dist/vocabularies/discriminator/types.d.ts +0 -10
  326. package/node_modules/ajv/dist/vocabularies/discriminator/types.js +0 -9
  327. package/node_modules/ajv/dist/vocabularies/discriminator/types.js.map +0 -1
  328. package/node_modules/ajv/dist/vocabularies/draft2020.d.ts +0 -3
  329. package/node_modules/ajv/dist/vocabularies/draft2020.js +0 -23
  330. package/node_modules/ajv/dist/vocabularies/draft2020.js.map +0 -1
  331. package/node_modules/ajv/dist/vocabularies/draft7.d.ts +0 -3
  332. package/node_modules/ajv/dist/vocabularies/draft7.js +0 -17
  333. package/node_modules/ajv/dist/vocabularies/draft7.js.map +0 -1
  334. package/node_modules/ajv/dist/vocabularies/dynamic/dynamicAnchor.d.ts +0 -5
  335. package/node_modules/ajv/dist/vocabularies/dynamic/dynamicAnchor.js +0 -30
  336. package/node_modules/ajv/dist/vocabularies/dynamic/dynamicAnchor.js.map +0 -1
  337. package/node_modules/ajv/dist/vocabularies/dynamic/dynamicRef.d.ts +0 -5
  338. package/node_modules/ajv/dist/vocabularies/dynamic/dynamicRef.js +0 -51
  339. package/node_modules/ajv/dist/vocabularies/dynamic/dynamicRef.js.map +0 -1
  340. package/node_modules/ajv/dist/vocabularies/dynamic/index.d.ts +0 -3
  341. package/node_modules/ajv/dist/vocabularies/dynamic/index.js +0 -9
  342. package/node_modules/ajv/dist/vocabularies/dynamic/index.js.map +0 -1
  343. package/node_modules/ajv/dist/vocabularies/dynamic/recursiveAnchor.d.ts +0 -3
  344. package/node_modules/ajv/dist/vocabularies/dynamic/recursiveAnchor.js +0 -16
  345. package/node_modules/ajv/dist/vocabularies/dynamic/recursiveAnchor.js.map +0 -1
  346. package/node_modules/ajv/dist/vocabularies/dynamic/recursiveRef.d.ts +0 -3
  347. package/node_modules/ajv/dist/vocabularies/dynamic/recursiveRef.js +0 -10
  348. package/node_modules/ajv/dist/vocabularies/dynamic/recursiveRef.js.map +0 -1
  349. package/node_modules/ajv/dist/vocabularies/errors.d.ts +0 -9
  350. package/node_modules/ajv/dist/vocabularies/errors.js +0 -3
  351. package/node_modules/ajv/dist/vocabularies/errors.js.map +0 -1
  352. package/node_modules/ajv/dist/vocabularies/format/format.d.ts +0 -8
  353. package/node_modules/ajv/dist/vocabularies/format/format.js +0 -92
  354. package/node_modules/ajv/dist/vocabularies/format/format.js.map +0 -1
  355. package/node_modules/ajv/dist/vocabularies/format/index.d.ts +0 -3
  356. package/node_modules/ajv/dist/vocabularies/format/index.js +0 -6
  357. package/node_modules/ajv/dist/vocabularies/format/index.js.map +0 -1
  358. package/node_modules/ajv/dist/vocabularies/jtd/discriminator.d.ts +0 -6
  359. package/node_modules/ajv/dist/vocabularies/jtd/discriminator.js +0 -71
  360. package/node_modules/ajv/dist/vocabularies/jtd/discriminator.js.map +0 -1
  361. package/node_modules/ajv/dist/vocabularies/jtd/elements.d.ts +0 -5
  362. package/node_modules/ajv/dist/vocabularies/jtd/elements.js +0 -24
  363. package/node_modules/ajv/dist/vocabularies/jtd/elements.js.map +0 -1
  364. package/node_modules/ajv/dist/vocabularies/jtd/enum.d.ts +0 -6
  365. package/node_modules/ajv/dist/vocabularies/jtd/enum.js +0 -43
  366. package/node_modules/ajv/dist/vocabularies/jtd/enum.js.map +0 -1
  367. package/node_modules/ajv/dist/vocabularies/jtd/error.d.ts +0 -9
  368. package/node_modules/ajv/dist/vocabularies/jtd/error.js +0 -20
  369. package/node_modules/ajv/dist/vocabularies/jtd/error.js.map +0 -1
  370. package/node_modules/ajv/dist/vocabularies/jtd/index.d.ts +0 -10
  371. package/node_modules/ajv/dist/vocabularies/jtd/index.js +0 -29
  372. package/node_modules/ajv/dist/vocabularies/jtd/index.js.map +0 -1
  373. package/node_modules/ajv/dist/vocabularies/jtd/metadata.d.ts +0 -5
  374. package/node_modules/ajv/dist/vocabularies/jtd/metadata.js +0 -25
  375. package/node_modules/ajv/dist/vocabularies/jtd/metadata.js.map +0 -1
  376. package/node_modules/ajv/dist/vocabularies/jtd/nullable.d.ts +0 -4
  377. package/node_modules/ajv/dist/vocabularies/jtd/nullable.js +0 -22
  378. package/node_modules/ajv/dist/vocabularies/jtd/nullable.js.map +0 -1
  379. package/node_modules/ajv/dist/vocabularies/jtd/optionalProperties.d.ts +0 -3
  380. package/node_modules/ajv/dist/vocabularies/jtd/optionalProperties.js +0 -15
  381. package/node_modules/ajv/dist/vocabularies/jtd/optionalProperties.js.map +0 -1
  382. package/node_modules/ajv/dist/vocabularies/jtd/properties.d.ts +0 -22
  383. package/node_modules/ajv/dist/vocabularies/jtd/properties.js +0 -149
  384. package/node_modules/ajv/dist/vocabularies/jtd/properties.js.map +0 -1
  385. package/node_modules/ajv/dist/vocabularies/jtd/ref.d.ts +0 -4
  386. package/node_modules/ajv/dist/vocabularies/jtd/ref.js +0 -67
  387. package/node_modules/ajv/dist/vocabularies/jtd/ref.js.map +0 -1
  388. package/node_modules/ajv/dist/vocabularies/jtd/type.d.ts +0 -10
  389. package/node_modules/ajv/dist/vocabularies/jtd/type.js +0 -69
  390. package/node_modules/ajv/dist/vocabularies/jtd/type.js.map +0 -1
  391. package/node_modules/ajv/dist/vocabularies/jtd/union.d.ts +0 -3
  392. package/node_modules/ajv/dist/vocabularies/jtd/union.js +0 -12
  393. package/node_modules/ajv/dist/vocabularies/jtd/union.js.map +0 -1
  394. package/node_modules/ajv/dist/vocabularies/jtd/values.d.ts +0 -5
  395. package/node_modules/ajv/dist/vocabularies/jtd/values.js +0 -51
  396. package/node_modules/ajv/dist/vocabularies/jtd/values.js.map +0 -1
  397. package/node_modules/ajv/dist/vocabularies/metadata.d.ts +0 -3
  398. package/node_modules/ajv/dist/vocabularies/metadata.js +0 -18
  399. package/node_modules/ajv/dist/vocabularies/metadata.js.map +0 -1
  400. package/node_modules/ajv/dist/vocabularies/next.d.ts +0 -3
  401. package/node_modules/ajv/dist/vocabularies/next.js +0 -8
  402. package/node_modules/ajv/dist/vocabularies/next.js.map +0 -1
  403. package/node_modules/ajv/dist/vocabularies/unevaluated/index.d.ts +0 -3
  404. package/node_modules/ajv/dist/vocabularies/unevaluated/index.js +0 -7
  405. package/node_modules/ajv/dist/vocabularies/unevaluated/index.js.map +0 -1
  406. package/node_modules/ajv/dist/vocabularies/unevaluated/unevaluatedItems.d.ts +0 -6
  407. package/node_modules/ajv/dist/vocabularies/unevaluated/unevaluatedItems.js +0 -40
  408. package/node_modules/ajv/dist/vocabularies/unevaluated/unevaluatedItems.js.map +0 -1
  409. package/node_modules/ajv/dist/vocabularies/unevaluated/unevaluatedProperties.d.ts +0 -6
  410. package/node_modules/ajv/dist/vocabularies/unevaluated/unevaluatedProperties.js +0 -65
  411. package/node_modules/ajv/dist/vocabularies/unevaluated/unevaluatedProperties.js.map +0 -1
  412. package/node_modules/ajv/dist/vocabularies/validation/const.d.ts +0 -6
  413. package/node_modules/ajv/dist/vocabularies/validation/const.js +0 -25
  414. package/node_modules/ajv/dist/vocabularies/validation/const.js.map +0 -1
  415. package/node_modules/ajv/dist/vocabularies/validation/dependentRequired.d.ts +0 -5
  416. package/node_modules/ajv/dist/vocabularies/validation/dependentRequired.js +0 -12
  417. package/node_modules/ajv/dist/vocabularies/validation/dependentRequired.js.map +0 -1
  418. package/node_modules/ajv/dist/vocabularies/validation/enum.d.ts +0 -8
  419. package/node_modules/ajv/dist/vocabularies/validation/enum.js +0 -48
  420. package/node_modules/ajv/dist/vocabularies/validation/enum.js.map +0 -1
  421. package/node_modules/ajv/dist/vocabularies/validation/index.d.ts +0 -16
  422. package/node_modules/ajv/dist/vocabularies/validation/index.js +0 -33
  423. package/node_modules/ajv/dist/vocabularies/validation/index.js.map +0 -1
  424. package/node_modules/ajv/dist/vocabularies/validation/limitContains.d.ts +0 -3
  425. package/node_modules/ajv/dist/vocabularies/validation/limitContains.js +0 -15
  426. package/node_modules/ajv/dist/vocabularies/validation/limitContains.js.map +0 -1
  427. package/node_modules/ajv/dist/vocabularies/validation/limitItems.d.ts +0 -3
  428. package/node_modules/ajv/dist/vocabularies/validation/limitItems.js +0 -24
  429. package/node_modules/ajv/dist/vocabularies/validation/limitItems.js.map +0 -1
  430. package/node_modules/ajv/dist/vocabularies/validation/limitLength.d.ts +0 -3
  431. package/node_modules/ajv/dist/vocabularies/validation/limitLength.js +0 -27
  432. package/node_modules/ajv/dist/vocabularies/validation/limitLength.js.map +0 -1
  433. package/node_modules/ajv/dist/vocabularies/validation/limitNumber.d.ts +0 -11
  434. package/node_modules/ajv/dist/vocabularies/validation/limitNumber.js +0 -27
  435. package/node_modules/ajv/dist/vocabularies/validation/limitNumber.js.map +0 -1
  436. package/node_modules/ajv/dist/vocabularies/validation/limitProperties.d.ts +0 -3
  437. package/node_modules/ajv/dist/vocabularies/validation/limitProperties.js +0 -24
  438. package/node_modules/ajv/dist/vocabularies/validation/limitProperties.js.map +0 -1
  439. package/node_modules/ajv/dist/vocabularies/validation/multipleOf.d.ts +0 -8
  440. package/node_modules/ajv/dist/vocabularies/validation/multipleOf.js +0 -26
  441. package/node_modules/ajv/dist/vocabularies/validation/multipleOf.js.map +0 -1
  442. package/node_modules/ajv/dist/vocabularies/validation/pattern.d.ts +0 -8
  443. package/node_modules/ajv/dist/vocabularies/validation/pattern.js +0 -33
  444. package/node_modules/ajv/dist/vocabularies/validation/pattern.js.map +0 -1
  445. package/node_modules/ajv/dist/vocabularies/validation/required.d.ts +0 -8
  446. package/node_modules/ajv/dist/vocabularies/validation/required.js +0 -79
  447. package/node_modules/ajv/dist/vocabularies/validation/required.js.map +0 -1
  448. package/node_modules/ajv/dist/vocabularies/validation/uniqueItems.d.ts +0 -9
  449. package/node_modules/ajv/dist/vocabularies/validation/uniqueItems.js +0 -64
  450. package/node_modules/ajv/dist/vocabularies/validation/uniqueItems.js.map +0 -1
  451. package/node_modules/ajv/lib/2019.ts +0 -81
  452. package/node_modules/ajv/lib/2020.ts +0 -75
  453. package/node_modules/ajv/lib/ajv.ts +0 -70
  454. package/node_modules/ajv/lib/compile/codegen/code.ts +0 -169
  455. package/node_modules/ajv/lib/compile/codegen/index.ts +0 -852
  456. package/node_modules/ajv/lib/compile/codegen/scope.ts +0 -215
  457. package/node_modules/ajv/lib/compile/errors.ts +0 -184
  458. package/node_modules/ajv/lib/compile/index.ts +0 -324
  459. package/node_modules/ajv/lib/compile/jtd/parse.ts +0 -411
  460. package/node_modules/ajv/lib/compile/jtd/serialize.ts +0 -277
  461. package/node_modules/ajv/lib/compile/jtd/types.ts +0 -16
  462. package/node_modules/ajv/lib/compile/names.ts +0 -27
  463. package/node_modules/ajv/lib/compile/ref_error.ts +0 -13
  464. package/node_modules/ajv/lib/compile/resolve.ts +0 -149
  465. package/node_modules/ajv/lib/compile/rules.ts +0 -50
  466. package/node_modules/ajv/lib/compile/util.ts +0 -213
  467. package/node_modules/ajv/lib/compile/validate/applicability.ts +0 -22
  468. package/node_modules/ajv/lib/compile/validate/boolSchema.ts +0 -47
  469. package/node_modules/ajv/lib/compile/validate/dataType.ts +0 -230
  470. package/node_modules/ajv/lib/compile/validate/defaults.ts +0 -32
  471. package/node_modules/ajv/lib/compile/validate/index.ts +0 -582
  472. package/node_modules/ajv/lib/compile/validate/keyword.ts +0 -171
  473. package/node_modules/ajv/lib/compile/validate/subschema.ts +0 -135
  474. package/node_modules/ajv/lib/core.ts +0 -892
  475. package/node_modules/ajv/lib/jtd.ts +0 -132
  476. package/node_modules/ajv/lib/refs/data.json +0 -13
  477. package/node_modules/ajv/lib/refs/json-schema-2019-09/index.ts +0 -28
  478. package/node_modules/ajv/lib/refs/json-schema-2019-09/meta/applicator.json +0 -53
  479. package/node_modules/ajv/lib/refs/json-schema-2019-09/meta/content.json +0 -17
  480. package/node_modules/ajv/lib/refs/json-schema-2019-09/meta/core.json +0 -57
  481. package/node_modules/ajv/lib/refs/json-schema-2019-09/meta/format.json +0 -14
  482. package/node_modules/ajv/lib/refs/json-schema-2019-09/meta/meta-data.json +0 -37
  483. package/node_modules/ajv/lib/refs/json-schema-2019-09/meta/validation.json +0 -90
  484. package/node_modules/ajv/lib/refs/json-schema-2019-09/schema.json +0 -39
  485. package/node_modules/ajv/lib/refs/json-schema-2020-12/index.ts +0 -30
  486. package/node_modules/ajv/lib/refs/json-schema-2020-12/meta/applicator.json +0 -48
  487. package/node_modules/ajv/lib/refs/json-schema-2020-12/meta/content.json +0 -17
  488. package/node_modules/ajv/lib/refs/json-schema-2020-12/meta/core.json +0 -51
  489. package/node_modules/ajv/lib/refs/json-schema-2020-12/meta/format-annotation.json +0 -14
  490. package/node_modules/ajv/lib/refs/json-schema-2020-12/meta/meta-data.json +0 -37
  491. package/node_modules/ajv/lib/refs/json-schema-2020-12/meta/unevaluated.json +0 -15
  492. package/node_modules/ajv/lib/refs/json-schema-2020-12/meta/validation.json +0 -90
  493. package/node_modules/ajv/lib/refs/json-schema-2020-12/schema.json +0 -55
  494. package/node_modules/ajv/lib/refs/json-schema-draft-06.json +0 -137
  495. package/node_modules/ajv/lib/refs/json-schema-draft-07.json +0 -151
  496. package/node_modules/ajv/lib/refs/json-schema-secure.json +0 -88
  497. package/node_modules/ajv/lib/refs/jtd-schema.ts +0 -130
  498. package/node_modules/ajv/lib/runtime/equal.ts +0 -7
  499. package/node_modules/ajv/lib/runtime/parseJson.ts +0 -177
  500. package/node_modules/ajv/lib/runtime/quote.ts +0 -31
  501. package/node_modules/ajv/lib/runtime/re2.ts +0 -6
  502. package/node_modules/ajv/lib/runtime/timestamp.ts +0 -46
  503. package/node_modules/ajv/lib/runtime/ucs2length.ts +0 -20
  504. package/node_modules/ajv/lib/runtime/uri.ts +0 -6
  505. package/node_modules/ajv/lib/runtime/validation_error.ts +0 -13
  506. package/node_modules/ajv/lib/standalone/index.ts +0 -100
  507. package/node_modules/ajv/lib/standalone/instance.ts +0 -36
  508. package/node_modules/ajv/lib/types/index.ts +0 -244
  509. package/node_modules/ajv/lib/types/json-schema.ts +0 -187
  510. package/node_modules/ajv/lib/types/jtd-schema.ts +0 -273
  511. package/node_modules/ajv/lib/vocabularies/applicator/additionalItems.ts +0 -56
  512. package/node_modules/ajv/lib/vocabularies/applicator/additionalProperties.ts +0 -118
  513. package/node_modules/ajv/lib/vocabularies/applicator/allOf.ts +0 -22
  514. package/node_modules/ajv/lib/vocabularies/applicator/anyOf.ts +0 -14
  515. package/node_modules/ajv/lib/vocabularies/applicator/contains.ts +0 -109
  516. package/node_modules/ajv/lib/vocabularies/applicator/dependencies.ts +0 -112
  517. package/node_modules/ajv/lib/vocabularies/applicator/dependentSchemas.ts +0 -11
  518. package/node_modules/ajv/lib/vocabularies/applicator/if.ts +0 -80
  519. package/node_modules/ajv/lib/vocabularies/applicator/index.ts +0 -53
  520. package/node_modules/ajv/lib/vocabularies/applicator/items.ts +0 -59
  521. package/node_modules/ajv/lib/vocabularies/applicator/items2020.ts +0 -36
  522. package/node_modules/ajv/lib/vocabularies/applicator/not.ts +0 -38
  523. package/node_modules/ajv/lib/vocabularies/applicator/oneOf.ts +0 -82
  524. package/node_modules/ajv/lib/vocabularies/applicator/patternProperties.ts +0 -91
  525. package/node_modules/ajv/lib/vocabularies/applicator/prefixItems.ts +0 -12
  526. package/node_modules/ajv/lib/vocabularies/applicator/properties.ts +0 -57
  527. package/node_modules/ajv/lib/vocabularies/applicator/propertyNames.ts +0 -50
  528. package/node_modules/ajv/lib/vocabularies/applicator/thenElse.ts +0 -13
  529. package/node_modules/ajv/lib/vocabularies/code.ts +0 -168
  530. package/node_modules/ajv/lib/vocabularies/core/id.ts +0 -10
  531. package/node_modules/ajv/lib/vocabularies/core/index.ts +0 -16
  532. package/node_modules/ajv/lib/vocabularies/core/ref.ts +0 -129
  533. package/node_modules/ajv/lib/vocabularies/discriminator/index.ts +0 -113
  534. package/node_modules/ajv/lib/vocabularies/discriminator/types.ts +0 -12
  535. package/node_modules/ajv/lib/vocabularies/draft2020.ts +0 -23
  536. package/node_modules/ajv/lib/vocabularies/draft7.ts +0 -17
  537. package/node_modules/ajv/lib/vocabularies/dynamic/dynamicAnchor.ts +0 -31
  538. package/node_modules/ajv/lib/vocabularies/dynamic/dynamicRef.ts +0 -51
  539. package/node_modules/ajv/lib/vocabularies/dynamic/index.ts +0 -9
  540. package/node_modules/ajv/lib/vocabularies/dynamic/recursiveAnchor.ts +0 -14
  541. package/node_modules/ajv/lib/vocabularies/dynamic/recursiveRef.ts +0 -10
  542. package/node_modules/ajv/lib/vocabularies/errors.ts +0 -18
  543. package/node_modules/ajv/lib/vocabularies/format/format.ts +0 -120
  544. package/node_modules/ajv/lib/vocabularies/format/index.ts +0 -6
  545. package/node_modules/ajv/lib/vocabularies/jtd/discriminator.ts +0 -89
  546. package/node_modules/ajv/lib/vocabularies/jtd/elements.ts +0 -32
  547. package/node_modules/ajv/lib/vocabularies/jtd/enum.ts +0 -45
  548. package/node_modules/ajv/lib/vocabularies/jtd/error.ts +0 -23
  549. package/node_modules/ajv/lib/vocabularies/jtd/index.ts +0 -37
  550. package/node_modules/ajv/lib/vocabularies/jtd/metadata.ts +0 -24
  551. package/node_modules/ajv/lib/vocabularies/jtd/nullable.ts +0 -21
  552. package/node_modules/ajv/lib/vocabularies/jtd/optionalProperties.ts +0 -15
  553. package/node_modules/ajv/lib/vocabularies/jtd/properties.ts +0 -184
  554. package/node_modules/ajv/lib/vocabularies/jtd/ref.ts +0 -76
  555. package/node_modules/ajv/lib/vocabularies/jtd/type.ts +0 -75
  556. package/node_modules/ajv/lib/vocabularies/jtd/union.ts +0 -12
  557. package/node_modules/ajv/lib/vocabularies/jtd/values.ts +0 -58
  558. package/node_modules/ajv/lib/vocabularies/metadata.ts +0 -17
  559. package/node_modules/ajv/lib/vocabularies/next.ts +0 -8
  560. package/node_modules/ajv/lib/vocabularies/unevaluated/index.ts +0 -7
  561. package/node_modules/ajv/lib/vocabularies/unevaluated/unevaluatedItems.ts +0 -47
  562. package/node_modules/ajv/lib/vocabularies/unevaluated/unevaluatedProperties.ts +0 -85
  563. package/node_modules/ajv/lib/vocabularies/validation/const.ts +0 -28
  564. package/node_modules/ajv/lib/vocabularies/validation/dependentRequired.ts +0 -23
  565. package/node_modules/ajv/lib/vocabularies/validation/enum.ts +0 -54
  566. package/node_modules/ajv/lib/vocabularies/validation/index.ts +0 -49
  567. package/node_modules/ajv/lib/vocabularies/validation/limitContains.ts +0 -16
  568. package/node_modules/ajv/lib/vocabularies/validation/limitItems.ts +0 -26
  569. package/node_modules/ajv/lib/vocabularies/validation/limitLength.ts +0 -30
  570. package/node_modules/ajv/lib/vocabularies/validation/limitNumber.ts +0 -42
  571. package/node_modules/ajv/lib/vocabularies/validation/limitProperties.ts +0 -26
  572. package/node_modules/ajv/lib/vocabularies/validation/multipleOf.ts +0 -34
  573. package/node_modules/ajv/lib/vocabularies/validation/pattern.ts +0 -39
  574. package/node_modules/ajv/lib/vocabularies/validation/required.ts +0 -98
  575. package/node_modules/ajv/lib/vocabularies/validation/uniqueItems.ts +0 -79
  576. package/node_modules/ajv/package.json +0 -127
  577. package/node_modules/ajv-formats/LICENSE +0 -21
  578. package/node_modules/ajv-formats/README.md +0 -125
  579. package/node_modules/ajv-formats/dist/formats.d.ts +0 -9
  580. package/node_modules/ajv-formats/dist/formats.js +0 -208
  581. package/node_modules/ajv-formats/dist/formats.js.map +0 -1
  582. package/node_modules/ajv-formats/dist/index.d.ts +0 -15
  583. package/node_modules/ajv-formats/dist/index.js +0 -37
  584. package/node_modules/ajv-formats/dist/index.js.map +0 -1
  585. package/node_modules/ajv-formats/dist/limit.d.ts +0 -10
  586. package/node_modules/ajv-formats/dist/limit.js +0 -69
  587. package/node_modules/ajv-formats/dist/limit.js.map +0 -1
  588. package/node_modules/ajv-formats/package.json +0 -74
  589. package/node_modules/ajv-formats/src/formats.ts +0 -269
  590. package/node_modules/ajv-formats/src/index.ts +0 -62
  591. package/node_modules/ajv-formats/src/limit.ts +0 -99
  592. package/node_modules/fast-deep-equal/LICENSE +0 -21
  593. package/node_modules/fast-deep-equal/README.md +0 -96
  594. package/node_modules/fast-deep-equal/es6/index.d.ts +0 -2
  595. package/node_modules/fast-deep-equal/es6/index.js +0 -72
  596. package/node_modules/fast-deep-equal/es6/react.d.ts +0 -2
  597. package/node_modules/fast-deep-equal/es6/react.js +0 -79
  598. package/node_modules/fast-deep-equal/index.d.ts +0 -4
  599. package/node_modules/fast-deep-equal/index.js +0 -46
  600. package/node_modules/fast-deep-equal/package.json +0 -61
  601. package/node_modules/fast-deep-equal/react.d.ts +0 -2
  602. package/node_modules/fast-deep-equal/react.js +0 -53
  603. package/node_modules/fast-uri/.gitattributes +0 -2
  604. package/node_modules/fast-uri/.github/.stale.yml +0 -21
  605. package/node_modules/fast-uri/.github/dependabot.yml +0 -13
  606. package/node_modules/fast-uri/.github/tests_checker.yml +0 -8
  607. package/node_modules/fast-uri/.github/workflows/ci.yml +0 -101
  608. package/node_modules/fast-uri/.github/workflows/package-manager-ci.yml +0 -24
  609. package/node_modules/fast-uri/LICENSE +0 -32
  610. package/node_modules/fast-uri/README.md +0 -143
  611. package/node_modules/fast-uri/benchmark/benchmark.mjs +0 -159
  612. package/node_modules/fast-uri/benchmark/equal.mjs +0 -51
  613. package/node_modules/fast-uri/benchmark/non-simple-domain.mjs +0 -22
  614. package/node_modules/fast-uri/benchmark/package.json +0 -17
  615. package/node_modules/fast-uri/benchmark/string-array-to-hex-stripped.mjs +0 -24
  616. package/node_modules/fast-uri/benchmark/ws-is-secure.mjs +0 -65
  617. package/node_modules/fast-uri/eslint.config.js +0 -6
  618. package/node_modules/fast-uri/index.js +0 -340
  619. package/node_modules/fast-uri/lib/schemes.js +0 -267
  620. package/node_modules/fast-uri/lib/utils.js +0 -336
  621. package/node_modules/fast-uri/package.json +0 -69
  622. package/node_modules/fast-uri/test/ajv.test.js +0 -43
  623. package/node_modules/fast-uri/test/equal.test.js +0 -108
  624. package/node_modules/fast-uri/test/fixtures/uri-js-parse.json +0 -501
  625. package/node_modules/fast-uri/test/fixtures/uri-js-serialize.json +0 -120
  626. package/node_modules/fast-uri/test/parse.test.js +0 -318
  627. package/node_modules/fast-uri/test/resolve.test.js +0 -78
  628. package/node_modules/fast-uri/test/rfc-3986.test.js +0 -90
  629. package/node_modules/fast-uri/test/serialize.test.js +0 -151
  630. package/node_modules/fast-uri/test/uri-js-compatibility.test.js +0 -33
  631. package/node_modules/fast-uri/test/uri-js.test.js +0 -912
  632. package/node_modules/fast-uri/test/util.test.js +0 -38
  633. package/node_modules/fast-uri/tsconfig.json +0 -9
  634. package/node_modules/fast-uri/types/index.d.ts +0 -60
  635. package/node_modules/fast-uri/types/index.test-d.ts +0 -17
  636. package/node_modules/json-schema-traverse/.eslintrc.yml +0 -27
  637. package/node_modules/json-schema-traverse/.github/FUNDING.yml +0 -2
  638. package/node_modules/json-schema-traverse/.github/workflows/build.yml +0 -28
  639. package/node_modules/json-schema-traverse/.github/workflows/publish.yml +0 -27
  640. package/node_modules/json-schema-traverse/LICENSE +0 -21
  641. package/node_modules/json-schema-traverse/README.md +0 -95
  642. package/node_modules/json-schema-traverse/index.d.ts +0 -40
  643. package/node_modules/json-schema-traverse/index.js +0 -93
  644. package/node_modules/json-schema-traverse/package.json +0 -43
  645. package/node_modules/json-schema-traverse/spec/.eslintrc.yml +0 -6
  646. package/node_modules/json-schema-traverse/spec/fixtures/schema.js +0 -125
  647. package/node_modules/json-schema-traverse/spec/index.spec.js +0 -171
  648. package/node_modules/require-from-string/index.js +0 -34
  649. package/node_modules/require-from-string/license +0 -21
  650. package/node_modules/require-from-string/package.json +0 -28
  651. package/node_modules/require-from-string/readme.md +0 -56
@@ -0,0 +1,85 @@
1
+ /**
2
+ * OSSA Policy Command — Cedar policy validation for OSSA manifests
3
+ *
4
+ * Usage:
5
+ * ossa policy validate <manifest>
6
+ * ossa policy validate agent.ossa.yaml
7
+ * ossa policy validate agent.ossa.json --verbose
8
+ */
9
+ import { Command } from 'commander';
10
+ import * as fs from 'fs';
11
+ import * as yaml from 'js-yaml';
12
+ import * as path from 'path';
13
+ import { validateManifestCedarPolicies } from '../../services/governance/cedar-validator.service.js';
14
+ const validateSubcommand = new Command('validate')
15
+ .description('Validate Cedar policies embedded in an OSSA manifest (extensions.security.cedar)')
16
+ .argument('<manifest>', 'Path to the OSSA manifest file (.yaml or .json)')
17
+ .option('-v, --verbose', 'Show detailed validation output')
18
+ .action(async (manifestPath, options) => {
19
+ const fullPath = path.resolve(process.cwd(), manifestPath);
20
+ if (!fs.existsSync(fullPath)) {
21
+ console.error(`Error: Manifest file not found at ${fullPath}`);
22
+ process.exit(1);
23
+ }
24
+ const isJson = fullPath.endsWith('.json');
25
+ const content = fs.readFileSync(fullPath, 'utf-8');
26
+ let manifest;
27
+ try {
28
+ manifest = isJson
29
+ ? JSON.parse(content)
30
+ : yaml.load(content);
31
+ }
32
+ catch (e) {
33
+ console.error(`Error parsing manifest: ${e instanceof Error ? e.message : 'Unknown error'}`);
34
+ process.exit(1);
35
+ }
36
+ // Check for governance.authorization.policy_references (external refs)
37
+ const governance = manifest.governance;
38
+ const authorization = governance?.authorization;
39
+ const policyRefs = authorization?.policy_references;
40
+ if (policyRefs && policyRefs.length > 0) {
41
+ console.log(`ℹ Found ${policyRefs.length} external policy reference(s) in governance.authorization.policy_references`);
42
+ console.log(' External references cannot be validated offline. Use DUADP node for runtime evaluation.');
43
+ }
44
+ // Validate inline Cedar policies
45
+ const result = validateManifestCedarPolicies(manifest);
46
+ if (result.policyCount === 0) {
47
+ console.log('No inline Cedar policies found in extensions.security.cedar');
48
+ if (!policyRefs || policyRefs.length === 0) {
49
+ console.log('Tip: Add Cedar policies to extensions.security.cedar or governance.authorization.policy_references');
50
+ }
51
+ process.exit(0);
52
+ }
53
+ console.log(`Validating ${result.policyCount} Cedar polic${result.policyCount === 1 ? 'y' : 'ies'}${result.hasSchema ? ' (with schema)' : ''}...\n`);
54
+ for (const r of result.results) {
55
+ const icon = r.valid ? 'PASS' : 'FAIL';
56
+ console.log(` [${icon}] ${r.policyId || 'unnamed'}`);
57
+ if (r.errors.length > 0) {
58
+ for (const err of r.errors) {
59
+ console.log(` Error: ${err}`);
60
+ }
61
+ }
62
+ if (r.warnings.length > 0) {
63
+ for (const warn of r.warnings) {
64
+ console.log(` Warn: ${warn}`);
65
+ }
66
+ }
67
+ if (options.verbose && r.valid) {
68
+ console.log(' Cedar syntax valid');
69
+ }
70
+ }
71
+ console.log('');
72
+ if (result.valid) {
73
+ console.log(`All ${result.policyCount} Cedar polic${result.policyCount === 1 ? 'y' : 'ies'} validated successfully.`);
74
+ process.exit(0);
75
+ }
76
+ else {
77
+ const failCount = result.results.filter((r) => !r.valid).length;
78
+ console.error(`${failCount} of ${result.policyCount} Cedar polic${result.policyCount === 1 ? 'y' : 'ies'} failed validation.`);
79
+ process.exit(1);
80
+ }
81
+ });
82
+ export const policyCommand = new Command('policy')
83
+ .description('Cedar authorization policy management')
84
+ .addCommand(validateSubcommand);
85
+ //# sourceMappingURL=policy.command.js.map
@@ -5,10 +5,12 @@ import { RegistryService } from '../../services/registry.service.js';
5
5
  import { ManifestRepository } from '../../repositories/manifest.repository.js';
6
6
  import { addGlobalOptions, addMutationOptions, shouldUseColor, ExitCode, } from '../utils/standard-options.js';
7
7
  export const publishCommand = new Command('publish')
8
- .description('Publish an OSSA agent to the registry')
8
+ .description('Publish an OSSA agent to the registry (local or remote DUADP node)')
9
9
  .argument('<manifest>', 'Path to OSSA manifest file')
10
10
  .option('-v, --version <version>', 'Version to publish (defaults to manifest version)')
11
- .option('-r, --registry <path>', 'Registry path (defaults to .ossa-registry)');
11
+ .option('-r, --registry <path>', 'Registry path (defaults to .ossa-registry)')
12
+ .option('--remote <url>', 'Publish to a remote DUADP node (e.g., https://discover.duadp.org)')
13
+ .option('--token <token>', 'Bearer token for remote DUADP node authentication');
12
14
  // Apply production-grade standard options
13
15
  addGlobalOptions(publishCommand);
14
16
  addMutationOptions(publishCommand);
@@ -32,7 +34,31 @@ publishCommand.action(async (manifestPath, options) => {
32
34
  process.exit(ExitCode.CANNOT_EXECUTE);
33
35
  }
34
36
  if (options.dryRun) {
35
- log('🔍 DRY RUN MODE - Not publishing to registry', chalk.yellow);
37
+ log('DRY RUN MODE - Not publishing to registry', chalk.yellow);
38
+ }
39
+ // Remote DUADP node publishing
40
+ if (options.remote) {
41
+ const { DuadpClient } = await import('@bluefly/duadp');
42
+ const client = new DuadpClient(options.remote, {
43
+ token: options.token || process.env.DUADP_TOKEN,
44
+ });
45
+ if (options.dryRun) {
46
+ const id = manifest.metadata?.name || 'unknown';
47
+ log(`\nWould publish to ${options.remote}: ${id}`, chalk.blue);
48
+ process.exit(ExitCode.SUCCESS);
49
+ }
50
+ const result = await client.publish(manifest);
51
+ if (result.success) {
52
+ log(`\nPublished to ${options.remote}: ${result.gaid || manifest.metadata?.name}`, chalk.green);
53
+ if (options.verbose && result.trust_verification) {
54
+ log(` Trust tier: ${result.trust_verification.verified_tier}`, chalk.gray);
55
+ }
56
+ }
57
+ else {
58
+ console.error(useColor ? chalk.red(`\nPublish failed: ${result.error || 'Unknown error'}`) : `\nPublish failed`);
59
+ process.exit(ExitCode.GENERAL_ERROR);
60
+ }
61
+ process.exit(ExitCode.SUCCESS);
36
62
  }
37
63
  // Initialize registry
38
64
  const registryService = container.get(RegistryService);
@@ -3,14 +3,43 @@ import chalk from 'chalk';
3
3
  import { container } from '../../di-container.js';
4
4
  import { RegistryService } from '../../services/registry.service.js';
5
5
  export const searchCommand = new Command('search')
6
- .description('Search for OSSA agents in the registry')
6
+ .description('Search for OSSA agents in the registry (local or remote DUADP node)')
7
7
  .option('-q, --query <query>', 'Search query')
8
8
  .option('-d, --domain <domain>', 'Filter by domain')
9
9
  .option('-t, --type <type>', 'Filter by agent type')
10
10
  .option('-l, --limit <limit>', 'Limit results', '20')
11
11
  .option('-r, --registry <path>', 'Registry path (defaults to .ossa-registry)')
12
+ .option('--remote <url>', 'Search a remote DUADP node (e.g., https://discover.duadp.org)')
13
+ .option('--federated', 'Include federated results from peer nodes')
12
14
  .action(async (options) => {
13
15
  try {
16
+ // Remote DUADP search
17
+ if (options.remote) {
18
+ const { DuadpClient } = await import('@bluefly/duadp');
19
+ const client = new DuadpClient(options.remote);
20
+ const result = await client.search({
21
+ q: options.query || '',
22
+ limit: options.limit ? parseInt(options.limit, 10) : 20,
23
+ federated: options.federated,
24
+ });
25
+ const data = result.data || [];
26
+ if (data.length === 0) {
27
+ console.log(chalk.yellow('\nNo results found'));
28
+ process.exit(0);
29
+ }
30
+ console.log(chalk.blue(`\nFound ${data.length} result(s) from ${options.remote}:\n`));
31
+ for (const item of data) {
32
+ const name = item.metadata?.name || item.name || 'unknown';
33
+ const kind = item._kind || item.kind || '';
34
+ const desc = item.metadata?.description || item.description || '';
35
+ console.log(chalk.bold(`[${kind}] ${name}`));
36
+ if (desc)
37
+ console.log(chalk.gray(` ${desc}`));
38
+ console.log('');
39
+ }
40
+ process.exit(0);
41
+ }
42
+ // Local registry search
14
43
  const registryService = options.registry
15
44
  ? new RegistryService(options.registry)
16
45
  : container.get(RegistryService);
@@ -38,7 +67,7 @@ export const searchCommand = new Command('search')
38
67
  process.exit(0);
39
68
  }
40
69
  catch (error) {
41
- console.error(chalk.red(`\n Error: ${error instanceof Error ? error.message : String(error)}`));
70
+ console.error(chalk.red(`\n Error: ${error instanceof Error ? error.message : String(error)}`));
42
71
  process.exit(1);
43
72
  }
44
73
  });
@@ -0,0 +1,17 @@
1
+ /**
2
+ * Builder API routes for `ossa serve`
3
+ *
4
+ * These endpoints power the openstandard-ui builder frontend:
5
+ * GET /api/wizard/definitions — wizard step definitions
6
+ * GET /api/skills — list available skills
7
+ * POST /api/skills/attach — attach skill ref to manifest YAML
8
+ * GET /api/agent-builder — list platforms
9
+ * POST /api/agent-builder — init + validate + export agent
10
+ * POST /api/agent-builder/save — save agent to external store
11
+ */
12
+ import type { IncomingMessage, ServerResponse } from 'http';
13
+ /**
14
+ * Handle builder API routes. Returns true if handled, false if not matched.
15
+ */
16
+ export declare function handleBuilderRoute(req: IncomingMessage, res: ServerResponse, pathname: string, query: Record<string, string | string[] | undefined>): Promise<boolean>;
17
+ //# sourceMappingURL=serve-builder-routes.d.ts.map
@@ -0,0 +1,390 @@
1
+ /**
2
+ * Builder API routes for `ossa serve`
3
+ *
4
+ * These endpoints power the openstandard-ui builder frontend:
5
+ * GET /api/wizard/definitions — wizard step definitions
6
+ * GET /api/skills — list available skills
7
+ * POST /api/skills/attach — attach skill ref to manifest YAML
8
+ * GET /api/agent-builder — list platforms
9
+ * POST /api/agent-builder — init + validate + export agent
10
+ * POST /api/agent-builder/save — save agent to external store
11
+ */
12
+ import { execFile } from 'child_process';
13
+ import { mkdir, mkdtemp, readdir, readFile, rm, stat as fsStat, writeFile, } from 'fs/promises';
14
+ import { tmpdir } from 'os';
15
+ import { join } from 'path';
16
+ import { promisify } from 'util';
17
+ const execFileAsync = promisify(execFile);
18
+ // ── Config ──────────────────────────────────────────────────────────────────
19
+ const OSSA_CLI = process.env.OSSA_CLI || join(process.cwd(), 'dist/cli/index.js');
20
+ const NODE_BIN = process.env.NODE_BIN || process.execPath || 'node';
21
+ const PLATFORMS = [
22
+ 'docker',
23
+ 'kubernetes',
24
+ 'kagent',
25
+ 'langchain',
26
+ 'langflow',
27
+ 'crewai',
28
+ 'temporal',
29
+ 'n8n',
30
+ 'gitlab',
31
+ 'gitlab-agent',
32
+ 'npm',
33
+ 'drupal',
34
+ 'agent-skills',
35
+ ];
36
+ const BUILTIN_SKILLS = [
37
+ { name: 'code-review', version: '1.0.0', description: 'Automated code review with quality, security, and style checks', categories: ['development', 'quality'], platforms: ['claude-code', 'cursor', 'codex-cli'], allowedTools: ['bash', 'file_read', 'file_write'] },
38
+ { name: 'tdd-workflow', version: '1.0.0', description: 'Test-driven development workflow: write tests first, then implement', categories: ['development', 'testing'], platforms: ['claude-code', 'cursor', 'codex-cli'], allowedTools: ['bash', 'file_read', 'file_write'] },
39
+ { name: 'git-commit-review', version: '1.0.0', description: 'Review and improve git commit messages following conventional commits', categories: ['development', 'git'], platforms: ['claude-code', 'cursor', 'github-copilot'], allowedTools: ['bash', 'file_read'] },
40
+ { name: 'security-audit', version: '1.0.0', description: 'OWASP Top 10 security scanning and vulnerability detection', categories: ['security', 'compliance'], platforms: ['claude-code', 'cursor', 'codex-cli'], allowedTools: ['bash', 'file_read', 'web_search'] },
41
+ { name: 'api-design', version: '1.0.0', description: 'OpenAPI 3.1 spec design and validation with Zod type generation', categories: ['development', 'api'], platforms: ['claude-code', 'cursor'], allowedTools: ['bash', 'file_read', 'file_write'] },
42
+ { name: 'documentation', version: '1.0.0', description: 'Generate and maintain technical documentation from code', categories: ['documentation', 'content'], platforms: ['claude-code', 'cursor', 'codex-cli', 'kiro'], allowedTools: ['file_read', 'file_write', 'web_search'] },
43
+ { name: 'drupal-module', version: '1.0.0', description: 'Drupal module development with PHPCS, PHPStan, and hook validation', categories: ['drupal', 'php', 'development'], platforms: ['claude-code', 'cursor'], allowedTools: ['bash', 'file_read', 'file_write'] },
44
+ { name: 'react-best-practices', version: '1.0.0', description: 'React component patterns, hooks, and performance optimization', categories: ['frontend', 'react', 'development'], platforms: ['claude-code', 'cursor', 'codex-cli', 'windsurf'], allowedTools: ['file_read', 'file_write', 'bash'] },
45
+ { name: 'kubernetes-ops', version: '1.0.0', description: 'Kubernetes deployment, scaling, health checks, and troubleshooting', categories: ['infrastructure', 'kubernetes', 'devops'], platforms: ['claude-code', 'codex-cli'], allowedTools: ['bash', 'file_read', 'file_write'] },
46
+ { name: 'ci-pipeline', version: '1.0.0', description: 'CI/CD pipeline configuration for GitLab CI, GitHub Actions', categories: ['devops', 'ci-cd'], platforms: ['claude-code', 'cursor', 'github-copilot'], allowedTools: ['bash', 'file_read', 'file_write'] },
47
+ { name: 'database-migration', version: '1.0.0', description: 'Database schema migrations with rollback support', categories: ['database', 'development'], platforms: ['claude-code', 'cursor'], allowedTools: ['bash', 'file_read', 'file_write'] },
48
+ { name: 'mcp-server-builder', version: '1.0.0', description: 'Create and package Model Context Protocol servers', categories: ['mcp', 'tooling', 'development'], platforms: ['claude-code', 'cursor', 'codex-cli'], allowedTools: ['bash', 'file_read', 'file_write', 'web_search'] },
49
+ ];
50
+ // ── Helpers ──────────────────────────────────────────────────────────────────
51
+ function readBody(req) {
52
+ return new Promise((resolve, reject) => {
53
+ let data = '';
54
+ req.on('data', (chunk) => (data += chunk.toString()));
55
+ req.on('end', () => resolve(data));
56
+ req.on('error', reject);
57
+ });
58
+ }
59
+ function json(res, status, data) {
60
+ res.writeHead(status, { 'Content-Type': 'application/json' });
61
+ res.end(JSON.stringify(data, null, 2));
62
+ }
63
+ async function runOssa(args) {
64
+ return execFileAsync(NODE_BIN, [OSSA_CLI, ...args], {
65
+ timeout: 30_000,
66
+ env: { ...process.env, NO_COLOR: '1', FORCE_COLOR: '0' },
67
+ });
68
+ }
69
+ async function readDirTree(dirPath, prefix = '') {
70
+ const entries = await readdir(dirPath, { withFileTypes: true });
71
+ const nodes = [];
72
+ for (const entry of entries) {
73
+ const fullPath = join(dirPath, entry.name);
74
+ const relativeName = prefix ? `${prefix}/${entry.name}` : entry.name;
75
+ if (entry.name === 'node_modules' || entry.name === '.git')
76
+ continue;
77
+ if (entry.isDirectory()) {
78
+ const children = await readDirTree(fullPath, relativeName);
79
+ nodes.push({ name: entry.name, path: relativeName, type: 'dir', children });
80
+ }
81
+ else {
82
+ const s = await fsStat(fullPath);
83
+ let content;
84
+ if (s.size < 50_000) {
85
+ try {
86
+ content = await readFile(fullPath, 'utf-8');
87
+ }
88
+ catch {
89
+ content = `[binary, ${s.size}B]`;
90
+ }
91
+ }
92
+ else {
93
+ content = `[too large: ${s.size}B]`;
94
+ }
95
+ nodes.push({ name: entry.name, path: relativeName, type: 'file', size: s.size, content });
96
+ }
97
+ }
98
+ return nodes.sort((a, b) => {
99
+ if (a.type !== b.type)
100
+ return a.type === 'dir' ? -1 : 1;
101
+ return a.name.localeCompare(b.name);
102
+ });
103
+ }
104
+ // ── Route handler ───────────────────────────────────────────────────────────
105
+ /**
106
+ * Handle builder API routes. Returns true if handled, false if not matched.
107
+ */
108
+ export async function handleBuilderRoute(req, res, pathname, query) {
109
+ // ── GET /api/wizard/definitions ──────────────────────────────────────
110
+ if (pathname === '/api/wizard/definitions' && req.method === 'GET') {
111
+ const kind = query.kind || 'Agent';
112
+ const mode = query.mode || 'guided';
113
+ // Wizard definitions are step sequences for the builder UI
114
+ const steps = getWizardDefinitions(kind, mode);
115
+ json(res, 200, { kind, mode, steps });
116
+ return true;
117
+ }
118
+ // ── GET /api/skills ──────────────────────────────────────────────────
119
+ if (pathname === '/api/skills' && req.method === 'GET') {
120
+ json(res, 200, { skillsPath: 'builtin', skills: BUILTIN_SKILLS });
121
+ return true;
122
+ }
123
+ // ── POST /api/skills/attach ──────────────────────────────────────────
124
+ if (pathname === '/api/skills/attach' && req.method === 'POST') {
125
+ const body = JSON.parse(await readBody(req) || '{}');
126
+ const skillName = typeof body.skillName === 'string' ? body.skillName.trim() : '';
127
+ const manifestYaml = typeof body.manifestYaml === 'string' ? body.manifestYaml : '';
128
+ if (!skillName)
129
+ return json(res, 400, { error: 'skillName is required' }), true;
130
+ if (!manifestYaml)
131
+ return json(res, 400, { error: 'manifestYaml is required' }), true;
132
+ try {
133
+ // Dynamic import yaml — it's a dep of openstandardagents
134
+ const yaml = await import('yaml');
135
+ const manifest = yaml.parse(manifestYaml);
136
+ const ext = manifest.extensions || {};
137
+ const skillsExt = ext.skills || {};
138
+ const refs = Array.isArray(skillsExt.skillRefs) ? [...skillsExt.skillRefs] : [];
139
+ if (refs.includes(skillName)) {
140
+ json(res, 200, { manifestYaml, skillRefs: refs, message: 'Skill already attached' });
141
+ return true;
142
+ }
143
+ refs.push(skillName);
144
+ manifest.extensions = { ...ext, skills: { ...skillsExt, skillRefs: refs } };
145
+ const updated = yaml.stringify(manifest, { indent: 2, lineWidth: 0 });
146
+ json(res, 200, { manifestYaml: updated, skillRefs: refs });
147
+ }
148
+ catch (err) {
149
+ json(res, 400, { error: 'Invalid manifest YAML', detail: err.message });
150
+ }
151
+ return true;
152
+ }
153
+ // ── GET /api/agent-builder ───────────────────────────────────────────
154
+ if (pathname === '/api/agent-builder' && req.method === 'GET') {
155
+ let platformList = '';
156
+ try {
157
+ const result = await runOssa(['export', '--list-platforms']);
158
+ platformList = result.stdout;
159
+ }
160
+ catch { /* ok */ }
161
+ json(res, 200, { platforms: PLATFORMS, cli: OSSA_CLI, platformList });
162
+ return true;
163
+ }
164
+ // ── POST /api/agent-builder ──────────────────────────────────────────
165
+ if (pathname === '/api/agent-builder' && req.method === 'POST') {
166
+ const body = JSON.parse(await readBody(req) || '{}');
167
+ const { agentName = 'my-agent', platform, platforms: platformsBody, manifestYaml, } = body;
168
+ // Check for GitLab pipeline trigger
169
+ const exportTriggerToken = process.env.EXPORT_TRIGGER_TOKEN || process.env.GITLAB_TOKEN;
170
+ const exportProjectPath = process.env.EXPORT_GITLAB_PROJECT_PATH || 'blueflyio%2Fossa%2Flab%2Fopenstandard-generated-agents';
171
+ const exportRef = process.env.EXPORT_REF || 'main';
172
+ if (exportTriggerToken && (manifestYaml ?? '').trim().length > 0) {
173
+ const platforms = Array.isArray(platformsBody) && platformsBody.length > 0 ? platformsBody : [platform ?? 'docker'].filter(Boolean);
174
+ const safeName = (agentName ?? 'my-agent').replace(/[^a-zA-Z0-9_-]/g, '-').slice(0, 64) || 'my-agent';
175
+ const base64 = Buffer.from(String(manifestYaml).trim(), 'utf-8').toString('base64');
176
+ try {
177
+ const form = new URLSearchParams();
178
+ form.set('token', exportTriggerToken);
179
+ form.set('ref', exportRef);
180
+ form.set('variables[EXPORT_MANIFEST_BASE64]', base64);
181
+ if (platforms.length > 1)
182
+ form.set('variables[EXPORT_PLATFORMS]', platforms.join(','));
183
+ form.set('variables[EXPORT_PLATFORM]', platforms[0] ?? 'docker');
184
+ form.set('variables[EXPORT_AGENT_NAME]', safeName);
185
+ const triggerRes = await fetch(`https://gitlab.com/api/v4/projects/${exportProjectPath}/trigger/pipeline`, { method: 'POST', headers: { 'Content-Type': 'application/x-www-form-urlencoded' }, body: form.toString() });
186
+ const pipeline = await triggerRes.json().catch(() => null);
187
+ const webUrl = pipeline?.web_url ?? `https://gitlab.com/${decodeURIComponent(exportProjectPath)}/-/pipelines`;
188
+ if (!triggerRes.ok) {
189
+ json(res, triggerRes.status >= 400 ? triggerRes.status : 502, {
190
+ error: pipeline?.message ?? 'Export pipeline trigger failed',
191
+ pipelineUrl: webUrl, agent: safeName, platforms,
192
+ steps: [{ step: 'trigger', command: 'POST trigger/pipeline', stdout: '', stderr: JSON.stringify(pipeline ?? {}), exitCode: 1 }],
193
+ manifest: manifestYaml ?? '', hasFiles: false, timestamp: new Date().toISOString(),
194
+ });
195
+ return true;
196
+ }
197
+ json(res, 200, {
198
+ agent: safeName, platform: platforms[0], platforms,
199
+ steps: [{ step: 'trigger', command: 'Triggered pipeline', stdout: `Pipeline ${pipeline?.id ?? 'started'}: ${webUrl}`, stderr: '', exitCode: 0 }],
200
+ files: [], manifest: manifestYaml ?? '', hasFiles: false,
201
+ timestamp: new Date().toISOString(), pipelineUrl: webUrl, pipelineId: pipeline?.id,
202
+ });
203
+ return true;
204
+ }
205
+ catch (err) {
206
+ json(res, 502, { error: 'Export pipeline trigger failed', details: err.message });
207
+ return true;
208
+ }
209
+ }
210
+ // Local CLI execution
211
+ const platforms = Array.isArray(platformsBody) && platformsBody.length > 0
212
+ ? platformsBody : [platform ?? 'docker'].filter(Boolean);
213
+ const invalid = platforms.filter((p) => !PLATFORMS.includes(p));
214
+ if (invalid.length > 0) {
215
+ json(res, 400, { error: `Invalid platform(s): ${invalid.join(', ')}. Valid: ${PLATFORMS.join(', ')}` });
216
+ return true;
217
+ }
218
+ const safeName = (agentName || 'my-agent').replace(/[^a-zA-Z0-9_-]/g, '-').slice(0, 64) || 'my-agent';
219
+ const workDir = await mkdtemp(join(tmpdir(), 'ossa-builder-'));
220
+ try {
221
+ const steps = [];
222
+ const manifestPath = join(workDir, `${safeName}.ossa.yaml`);
223
+ if (manifestYaml) {
224
+ await writeFile(manifestPath, manifestYaml, 'utf-8');
225
+ steps.push({ step: 'write-manifest', command: `# Manifest → ${safeName}.ossa.yaml`, stdout: `Wrote ${manifestYaml.length} bytes`, stderr: '', exitCode: 0 });
226
+ }
227
+ else {
228
+ try {
229
+ const r = await runOssa(['init', safeName, '-y', '-o', manifestPath]);
230
+ steps.push({ step: 'init', command: `ossa init ${safeName} -y`, stdout: r.stdout, stderr: r.stderr, exitCode: 0 });
231
+ }
232
+ catch (err) {
233
+ steps.push({ step: 'init', command: `ossa init ${safeName} -y`, stdout: err.stdout || '', stderr: err.stderr || String(err), exitCode: err.code ?? 1 });
234
+ }
235
+ }
236
+ try {
237
+ const r = await runOssa(['validate', manifestPath]);
238
+ steps.push({ step: 'validate', command: `ossa validate`, stdout: r.stdout, stderr: r.stderr, exitCode: 0 });
239
+ }
240
+ catch (err) {
241
+ steps.push({ step: 'validate', command: `ossa validate`, stdout: err.stdout || '', stderr: err.stderr || String(err), exitCode: err.code ?? 1 });
242
+ }
243
+ const allFiles = [];
244
+ for (const plat of platforms) {
245
+ const outputDir = join(workDir, `${safeName}-${plat}`);
246
+ await mkdir(outputDir, { recursive: true });
247
+ try {
248
+ const r = await runOssa(['export', manifestPath, '--platform', plat, '--output', outputDir]);
249
+ steps.push({ step: `export:${plat}`, command: `ossa export --platform ${plat}`, stdout: r.stdout, stderr: r.stderr, exitCode: 0 });
250
+ }
251
+ catch (err) {
252
+ steps.push({ step: `export:${plat}`, command: `ossa export --platform ${plat}`, stdout: err.stdout || '', stderr: err.stderr || String(err), exitCode: err.code ?? 1 });
253
+ }
254
+ try {
255
+ const s = await fsStat(outputDir);
256
+ if (s.isDirectory()) {
257
+ const tree = await readDirTree(outputDir);
258
+ allFiles.push({ name: `${safeName}-${plat}`, path: `${safeName}-${plat}`, type: 'dir', children: tree });
259
+ }
260
+ }
261
+ catch { /* skip */ }
262
+ }
263
+ let manifestContent = '';
264
+ try {
265
+ manifestContent = await readFile(manifestPath, 'utf-8');
266
+ }
267
+ catch { /* ok */ }
268
+ json(res, 200, {
269
+ agent: safeName, platform: platforms[0], platforms, steps,
270
+ files: allFiles, manifest: manifestContent, hasFiles: allFiles.length > 0,
271
+ timestamp: new Date().toISOString(),
272
+ });
273
+ }
274
+ finally {
275
+ await rm(workDir, { recursive: true, force: true }).catch(() => { });
276
+ }
277
+ return true;
278
+ }
279
+ // ── POST /api/agent-builder/save ─────────────────────────────────────
280
+ if (pathname === '/api/agent-builder/save' && req.method === 'POST') {
281
+ const saveUrl = process.env.OSSA_WEBAGENTS_API_URL;
282
+ if (!saveUrl) {
283
+ json(res, 503, { error: 'Save not configured. Set OSSA_WEBAGENTS_API_URL.' });
284
+ return true;
285
+ }
286
+ const body = JSON.parse(await readBody(req) || '{}');
287
+ const manifest = typeof body.manifest === 'string' ? body.manifest : undefined;
288
+ if (!manifest || manifest.trim().length === 0) {
289
+ json(res, 400, { error: 'manifest (YAML string) is required' });
290
+ return true;
291
+ }
292
+ try {
293
+ const targetUrl = (typeof body.targetUrl === 'string' && body.targetUrl.trim()) || `${saveUrl.replace(/\/$/, '')}/api/agents`;
294
+ const proxyRes = await fetch(targetUrl, {
295
+ method: 'POST',
296
+ headers: { 'Content-Type': 'application/json' },
297
+ body: JSON.stringify({ manifest: manifest.trim(), metadata: body.metadata }),
298
+ });
299
+ const data = await proxyRes.json().catch(() => ({}));
300
+ json(res, proxyRes.ok ? 201 : proxyRes.status, data);
301
+ }
302
+ catch (err) {
303
+ json(res, 502, { error: 'Save failed', details: err.message });
304
+ }
305
+ return true;
306
+ }
307
+ return false;
308
+ }
309
+ // ── Wizard definitions ──────────────────────────────────────────────────────
310
+ function getWizardDefinitions(kind, mode) {
311
+ if (kind === 'Agent' && mode === 'quick') {
312
+ return [
313
+ {
314
+ id: 'basics', title: 'Agent Basics', description: 'Name and describe your agent',
315
+ fields: [
316
+ { name: 'name', type: 'text', label: 'Agent Name', required: true, description: 'Unique identifier (lowercase, hyphens ok)' },
317
+ { name: 'description', type: 'textarea', label: 'Description', required: true, description: 'What does this agent do?' },
318
+ { name: 'version', type: 'text', label: 'Version', default: '0.1.0' },
319
+ ],
320
+ },
321
+ {
322
+ id: 'type', title: 'Agent Type', description: 'Select the agent role',
323
+ fields: [
324
+ { name: 'agentType', type: 'select', label: 'Type', required: true, options: [
325
+ { label: 'Worker', value: 'worker', description: 'Executes specific tasks' },
326
+ { label: 'Orchestrator', value: 'orchestrator', description: 'Coordinates other agents' },
327
+ { label: 'Specialist', value: 'specialist', description: 'Domain expert' },
328
+ { label: 'Critic', value: 'critic', description: 'Reviews and validates work' },
329
+ { label: 'Monitor', value: 'monitor', description: 'Observes and reports' },
330
+ { label: 'Gateway', value: 'gateway', description: 'External interface' },
331
+ ] },
332
+ ],
333
+ },
334
+ {
335
+ id: 'platform', title: 'Target Platform', description: 'Where will this agent run?',
336
+ fields: [
337
+ { name: 'platforms', type: 'multiselect', label: 'Platforms', required: true, options: PLATFORMS.map(p => ({ label: p, value: p })) },
338
+ ],
339
+ },
340
+ ];
341
+ }
342
+ if (kind === 'Agent' && mode === 'guided') {
343
+ return [
344
+ {
345
+ id: 'basics', title: 'Agent Basics', description: 'Core identity',
346
+ fields: [
347
+ { name: 'name', type: 'text', label: 'Agent Name', required: true },
348
+ { name: 'description', type: 'textarea', label: 'Description', required: true },
349
+ { name: 'version', type: 'text', label: 'Version', default: '0.1.0' },
350
+ { name: 'agentType', type: 'select', label: 'Type', required: true, options: [
351
+ { label: 'Worker', value: 'worker' },
352
+ { label: 'Orchestrator', value: 'orchestrator' },
353
+ { label: 'Specialist', value: 'specialist' },
354
+ { label: 'Critic', value: 'critic' },
355
+ { label: 'Monitor', value: 'monitor' },
356
+ { label: 'Gateway', value: 'gateway' },
357
+ ] },
358
+ ],
359
+ },
360
+ {
361
+ id: 'capabilities', title: 'Capabilities', description: 'What can this agent do?',
362
+ fields: [
363
+ { name: 'capabilities', type: 'textarea', label: 'Capabilities (one per line)', description: 'e.g. code-review, deploy, test' },
364
+ { name: 'allowedTools', type: 'multiselect', label: 'Allowed Tools', options: [
365
+ { label: 'Bash', value: 'bash' },
366
+ { label: 'File Read', value: 'file_read' },
367
+ { label: 'File Write', value: 'file_write' },
368
+ { label: 'Web Search', value: 'web_search' },
369
+ { label: 'HTTP', value: 'http' },
370
+ ] },
371
+ ],
372
+ },
373
+ {
374
+ id: 'skills', title: 'Skills', description: 'Attach reusable skills',
375
+ fields: [
376
+ { name: 'skills', type: 'multiselect', label: 'Skills', options: BUILTIN_SKILLS.map(s => ({ label: s.name, value: s.name, description: s.description })) },
377
+ ],
378
+ },
379
+ {
380
+ id: 'platform', title: 'Target Platforms', description: 'Export targets',
381
+ fields: [
382
+ { name: 'platforms', type: 'multiselect', label: 'Platforms', required: true, options: PLATFORMS.map(p => ({ label: p, value: p })) },
383
+ ],
384
+ },
385
+ ];
386
+ }
387
+ // Default: return empty steps (expert mode or unknown kind)
388
+ return [];
389
+ }
390
+ //# sourceMappingURL=serve-builder-routes.js.map