@bluefly/openstandardagents 0.1.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 (738) hide show
  1. package/.buildkit/agent-first-policy.sh +65 -0
  2. package/.buildkit/branching-workflow.json +41 -0
  3. package/.buildkit/hooks.yaml +23 -0
  4. package/.buildkit/install-buildkit-setup.cjs +483 -0
  5. package/.cursor/plans/ossa-comprehensive-enhancement-issue-audit-plan.plan.md +735 -0
  6. package/.cursor/plans/ossa-enterprise-transformation-plan-0ccaf09b.plan.md +373 -0
  7. package/.cursor/plans/ossa-milestone-organization-and-v0-2-4-release-6dafa4ec.plan.md +214 -0
  8. package/.cursor/rules/problems.json +483 -0
  9. package/.cursor/settings.json +29 -0
  10. package/.cursor/worktrees.json +95 -0
  11. package/.env.example +41 -0
  12. package/.env.local +31 -0
  13. package/.github/ISSUE_TEMPLATE/README.md +33 -0
  14. package/.github/ISSUE_TEMPLATE/bug_report.md +61 -0
  15. package/.github/ISSUE_TEMPLATE/config.yml +12 -0
  16. package/.github/ISSUE_TEMPLATE/feature_request.md +75 -0
  17. package/.github/wiki_templates/home.md +39 -0
  18. package/.gitignore.bak +489 -0
  19. package/.gitlab-ci-trigger +1 -0
  20. package/.husky/pre-commit +31 -0
  21. package/.lintstagedrc.json +16 -0
  22. package/.redocly.yaml +63 -0
  23. package/.vscode/extensions.json +6 -0
  24. package/.vscode/settings.json +3 -0
  25. package/AUDIT_FIXES.md +139 -0
  26. package/AUDIT_REPORT.md +308 -0
  27. package/BUILDKIT_INTEGRATION.md +146 -0
  28. package/Dockerfile +35 -0
  29. package/README.md +559 -0
  30. package/dist/adk/adapters/index.d.ts +64 -0
  31. package/dist/adk/adapters/index.d.ts.map +1 -0
  32. package/dist/adk/adapters/index.js +257 -0
  33. package/dist/adk/adapters/index.js.map +1 -0
  34. package/dist/adk/agents/custom-agent.d.ts +55 -0
  35. package/dist/adk/agents/custom-agent.d.ts.map +1 -0
  36. package/dist/adk/agents/custom-agent.js +167 -0
  37. package/dist/adk/agents/custom-agent.js.map +1 -0
  38. package/dist/adk/agents/index.d.ts +64 -0
  39. package/dist/adk/agents/index.d.ts.map +1 -0
  40. package/dist/adk/agents/index.js +125 -0
  41. package/dist/adk/agents/index.js.map +1 -0
  42. package/dist/adk/agents/llm-agent.d.ts +27 -0
  43. package/dist/adk/agents/llm-agent.d.ts.map +1 -0
  44. package/dist/adk/agents/llm-agent.js +63 -0
  45. package/dist/adk/agents/llm-agent.js.map +1 -0
  46. package/dist/adk/agents/workflow-agent.d.ts +42 -0
  47. package/dist/adk/agents/workflow-agent.d.ts.map +1 -0
  48. package/dist/adk/agents/workflow-agent.js +144 -0
  49. package/dist/adk/agents/workflow-agent.js.map +1 -0
  50. package/dist/adk/index.d.ts +10 -0
  51. package/dist/adk/index.d.ts.map +1 -0
  52. package/dist/adk/index.js +10 -0
  53. package/dist/adk/index.js.map +1 -0
  54. package/dist/adk/orchestration/index.d.ts +63 -0
  55. package/dist/adk/orchestration/index.d.ts.map +1 -0
  56. package/dist/adk/orchestration/index.js +264 -0
  57. package/dist/adk/orchestration/index.js.map +1 -0
  58. package/dist/adk/state/index.d.ts +73 -0
  59. package/dist/adk/state/index.d.ts.map +1 -0
  60. package/dist/adk/state/index.js +177 -0
  61. package/dist/adk/state/index.js.map +1 -0
  62. package/dist/adk/tools/index.d.ts +65 -0
  63. package/dist/adk/tools/index.d.ts.map +1 -0
  64. package/dist/adk/tools/index.js +252 -0
  65. package/dist/adk/tools/index.js.map +1 -0
  66. package/dist/cli/agent-deployment.d.ts +34 -0
  67. package/dist/cli/agent-deployment.d.ts.map +1 -0
  68. package/dist/cli/agent-deployment.js +396 -0
  69. package/dist/cli/agent-deployment.js.map +1 -0
  70. package/dist/cli/commands/discover.command.d.ts +7 -0
  71. package/dist/cli/commands/discover.command.d.ts.map +1 -0
  72. package/dist/cli/commands/discover.command.js +80 -0
  73. package/dist/cli/commands/discover.command.js.map +1 -0
  74. package/dist/cli/commands/export.command.d.ts +7 -0
  75. package/dist/cli/commands/export.command.d.ts.map +1 -0
  76. package/dist/cli/commands/export.command.js +56 -0
  77. package/dist/cli/commands/export.command.js.map +1 -0
  78. package/dist/cli/commands/generate.command.d.ts +7 -0
  79. package/dist/cli/commands/generate.command.d.ts.map +1 -0
  80. package/dist/cli/commands/generate.command.js +66 -0
  81. package/dist/cli/commands/generate.command.js.map +1 -0
  82. package/dist/cli/commands/gitlab-agent.command.d.ts +8 -0
  83. package/dist/cli/commands/gitlab-agent.command.d.ts.map +1 -0
  84. package/dist/cli/commands/gitlab-agent.command.js +201 -0
  85. package/dist/cli/commands/gitlab-agent.command.js.map +1 -0
  86. package/dist/cli/commands/import.command.d.ts +7 -0
  87. package/dist/cli/commands/import.command.d.ts.map +1 -0
  88. package/dist/cli/commands/import.command.js +36 -0
  89. package/dist/cli/commands/import.command.js.map +1 -0
  90. package/dist/cli/commands/init.command.d.ts +7 -0
  91. package/dist/cli/commands/init.command.d.ts.map +1 -0
  92. package/dist/cli/commands/init.command.js +146 -0
  93. package/dist/cli/commands/init.command.js.map +1 -0
  94. package/dist/cli/commands/migrate.command.d.ts +7 -0
  95. package/dist/cli/commands/migrate.command.d.ts.map +1 -0
  96. package/dist/cli/commands/migrate.command.js +110 -0
  97. package/dist/cli/commands/migrate.command.js.map +1 -0
  98. package/dist/cli/commands/ossa.d.ts +9 -0
  99. package/dist/cli/commands/ossa.d.ts.map +1 -0
  100. package/dist/cli/commands/ossa.js +234 -0
  101. package/dist/cli/commands/ossa.js.map +1 -0
  102. package/dist/cli/commands/run.command.d.ts +7 -0
  103. package/dist/cli/commands/run.command.d.ts.map +1 -0
  104. package/dist/cli/commands/run.command.js +114 -0
  105. package/dist/cli/commands/run.command.js.map +1 -0
  106. package/dist/cli/commands/schema.command.d.ts +7 -0
  107. package/dist/cli/commands/schema.command.d.ts.map +1 -0
  108. package/dist/cli/commands/schema.command.js +72 -0
  109. package/dist/cli/commands/schema.command.js.map +1 -0
  110. package/dist/cli/commands/validate.command.d.ts +7 -0
  111. package/dist/cli/commands/validate.command.d.ts.map +1 -0
  112. package/dist/cli/commands/validate.command.js +125 -0
  113. package/dist/cli/commands/validate.command.js.map +1 -0
  114. package/dist/cli/commands/worktree.d.ts +7 -0
  115. package/dist/cli/commands/worktree.d.ts.map +1 -0
  116. package/dist/cli/commands/worktree.js +509 -0
  117. package/dist/cli/commands/worktree.js.map +1 -0
  118. package/dist/cli/index.d.ts +7 -0
  119. package/dist/cli/index.d.ts.map +1 -0
  120. package/dist/cli/index.js +50 -0
  121. package/dist/cli/index.js.map +1 -0
  122. package/dist/cli/ossa-cli.d.ts +52 -0
  123. package/dist/cli/ossa-cli.d.ts.map +1 -0
  124. package/dist/cli/ossa-cli.js +1061 -0
  125. package/dist/cli/ossa-cli.js.map +1 -0
  126. package/dist/core/index.d.ts +31 -0
  127. package/dist/core/index.d.ts.map +1 -0
  128. package/dist/core/index.js +37 -0
  129. package/dist/core/index.js.map +1 -0
  130. package/dist/core/mcp-server-implementation.d.ts +39 -0
  131. package/dist/core/mcp-server-implementation.d.ts.map +1 -0
  132. package/dist/core/mcp-server-implementation.js +1262 -0
  133. package/dist/core/mcp-server-implementation.js.map +1 -0
  134. package/dist/core/orchestrator/index.d.ts +156 -0
  135. package/dist/core/orchestrator/index.d.ts.map +1 -0
  136. package/dist/core/orchestrator/index.js +446 -0
  137. package/dist/core/orchestrator/index.js.map +1 -0
  138. package/dist/core/orchestrator/ossa-orchestrator.d.ts +106 -0
  139. package/dist/core/orchestrator/ossa-orchestrator.d.ts.map +1 -0
  140. package/dist/core/orchestrator/ossa-orchestrator.js +396 -0
  141. package/dist/core/orchestrator/ossa-orchestrator.js.map +1 -0
  142. package/dist/di-container.d.ts +18 -0
  143. package/dist/di-container.d.ts.map +1 -0
  144. package/dist/di-container.js +46 -0
  145. package/dist/di-container.js.map +1 -0
  146. package/dist/index.d.ts +31 -0
  147. package/dist/index.d.ts.map +1 -0
  148. package/dist/index.js +37 -0
  149. package/dist/index.js.map +1 -0
  150. package/dist/protocols/acap.d.ts +61 -0
  151. package/dist/protocols/acap.d.ts.map +1 -0
  152. package/dist/protocols/acap.js +92 -0
  153. package/dist/protocols/acap.js.map +1 -0
  154. package/dist/protocols/index.d.ts +8 -0
  155. package/dist/protocols/index.d.ts.map +1 -0
  156. package/dist/protocols/index.js +8 -0
  157. package/dist/protocols/index.js.map +1 -0
  158. package/dist/protocols/rasp.d.ts +58 -0
  159. package/dist/protocols/rasp.d.ts.map +1 -0
  160. package/dist/protocols/rasp.js +212 -0
  161. package/dist/protocols/rasp.js.map +1 -0
  162. package/dist/repositories/manifest.repository.d.ts +26 -0
  163. package/dist/repositories/manifest.repository.d.ts.map +1 -0
  164. package/dist/repositories/manifest.repository.js +90 -0
  165. package/dist/repositories/manifest.repository.js.map +1 -0
  166. package/dist/repositories/schema.repository.d.ts +30 -0
  167. package/dist/repositories/schema.repository.d.ts.map +1 -0
  168. package/dist/repositories/schema.repository.js +144 -0
  169. package/dist/repositories/schema.repository.js.map +1 -0
  170. package/dist/server/simple-app.d.ts +18 -0
  171. package/dist/server/simple-app.d.ts.map +1 -0
  172. package/dist/server/simple-app.js +155 -0
  173. package/dist/server/simple-app.js.map +1 -0
  174. package/dist/server/types/agent.d.ts +498 -0
  175. package/dist/server/types/agent.d.ts.map +1 -0
  176. package/dist/server/types/agent.js +37 -0
  177. package/dist/server/types/agent.js.map +1 -0
  178. package/dist/server/types/server.d.ts +370 -0
  179. package/dist/server/types/server.d.ts.map +1 -0
  180. package/dist/server/types/server.js +68 -0
  181. package/dist/server/types/server.js.map +1 -0
  182. package/dist/services/discovery.service.d.ts +78 -0
  183. package/dist/services/discovery.service.d.ts.map +1 -0
  184. package/dist/services/discovery.service.js +212 -0
  185. package/dist/services/discovery.service.js.map +1 -0
  186. package/dist/services/generation.service.d.ts +54 -0
  187. package/dist/services/generation.service.d.ts.map +1 -0
  188. package/dist/services/generation.service.js +298 -0
  189. package/dist/services/generation.service.js.map +1 -0
  190. package/dist/services/gitlab-agent.service.d.ts +94 -0
  191. package/dist/services/gitlab-agent.service.d.ts.map +1 -0
  192. package/dist/services/gitlab-agent.service.js +158 -0
  193. package/dist/services/gitlab-agent.service.js.map +1 -0
  194. package/dist/services/migration.service.d.ts +30 -0
  195. package/dist/services/migration.service.d.ts.map +1 -0
  196. package/dist/services/migration.service.js +231 -0
  197. package/dist/services/migration.service.js.map +1 -0
  198. package/dist/services/orchestration/worktree-orchestrator.d.ts +146 -0
  199. package/dist/services/orchestration/worktree-orchestrator.d.ts.map +1 -0
  200. package/dist/services/orchestration/worktree-orchestrator.js +591 -0
  201. package/dist/services/orchestration/worktree-orchestrator.js.map +1 -0
  202. package/dist/services/runtime/openai.adapter.d.ts +94 -0
  203. package/dist/services/runtime/openai.adapter.d.ts.map +1 -0
  204. package/dist/services/runtime/openai.adapter.js +209 -0
  205. package/dist/services/runtime/openai.adapter.js.map +1 -0
  206. package/dist/services/validation.service.d.ts +45 -0
  207. package/dist/services/validation.service.d.ts.map +1 -0
  208. package/dist/services/validation.service.js +362 -0
  209. package/dist/services/validation.service.js.map +1 -0
  210. package/dist/services/validators/anthropic.validator.d.ts +9 -0
  211. package/dist/services/validators/anthropic.validator.d.ts.map +1 -0
  212. package/dist/services/validators/anthropic.validator.js +105 -0
  213. package/dist/services/validators/anthropic.validator.js.map +1 -0
  214. package/dist/services/validators/autogen.validator.d.ts +9 -0
  215. package/dist/services/validators/autogen.validator.d.ts.map +1 -0
  216. package/dist/services/validators/autogen.validator.js +111 -0
  217. package/dist/services/validators/autogen.validator.js.map +1 -0
  218. package/dist/services/validators/crewai.validator.d.ts +9 -0
  219. package/dist/services/validators/crewai.validator.d.ts.map +1 -0
  220. package/dist/services/validators/crewai.validator.js +117 -0
  221. package/dist/services/validators/crewai.validator.js.map +1 -0
  222. package/dist/services/validators/cursor.validator.d.ts +9 -0
  223. package/dist/services/validators/cursor.validator.d.ts.map +1 -0
  224. package/dist/services/validators/cursor.validator.js +88 -0
  225. package/dist/services/validators/cursor.validator.js.map +1 -0
  226. package/dist/services/validators/index.d.ts +15 -0
  227. package/dist/services/validators/index.d.ts.map +1 -0
  228. package/dist/services/validators/index.js +15 -0
  229. package/dist/services/validators/index.js.map +1 -0
  230. package/dist/services/validators/langchain.validator.d.ts +9 -0
  231. package/dist/services/validators/langchain.validator.d.ts.map +1 -0
  232. package/dist/services/validators/langchain.validator.js +103 -0
  233. package/dist/services/validators/langchain.validator.js.map +1 -0
  234. package/dist/services/validators/langflow.validator.d.ts +9 -0
  235. package/dist/services/validators/langflow.validator.d.ts.map +1 -0
  236. package/dist/services/validators/langflow.validator.js +92 -0
  237. package/dist/services/validators/langflow.validator.js.map +1 -0
  238. package/dist/services/validators/langgraph.validator.d.ts +9 -0
  239. package/dist/services/validators/langgraph.validator.d.ts.map +1 -0
  240. package/dist/services/validators/langgraph.validator.js +123 -0
  241. package/dist/services/validators/langgraph.validator.js.map +1 -0
  242. package/dist/services/validators/llamaindex.validator.d.ts +9 -0
  243. package/dist/services/validators/llamaindex.validator.d.ts.map +1 -0
  244. package/dist/services/validators/llamaindex.validator.js +121 -0
  245. package/dist/services/validators/llamaindex.validator.js.map +1 -0
  246. package/dist/services/validators/openai.validator.d.ts +9 -0
  247. package/dist/services/validators/openai.validator.d.ts.map +1 -0
  248. package/dist/services/validators/openai.validator.js +126 -0
  249. package/dist/services/validators/openai.validator.js.map +1 -0
  250. package/dist/services/validators/vercel-ai.validator.d.ts +9 -0
  251. package/dist/services/validators/vercel-ai.validator.d.ts.map +1 -0
  252. package/dist/services/validators/vercel-ai.validator.js +99 -0
  253. package/dist/services/validators/vercel-ai.validator.js.map +1 -0
  254. package/dist/services/worktree/branching-strategy.d.ts +17 -0
  255. package/dist/services/worktree/branching-strategy.d.ts.map +1 -0
  256. package/dist/services/worktree/branching-strategy.js +66 -0
  257. package/dist/services/worktree/branching-strategy.js.map +1 -0
  258. package/dist/services/worktree/git-worktree-manager.d.ts +32 -0
  259. package/dist/services/worktree/git-worktree-manager.d.ts.map +1 -0
  260. package/dist/services/worktree/git-worktree-manager.js +61 -0
  261. package/dist/services/worktree/git-worktree-manager.js.map +1 -0
  262. package/dist/spec/v0.1.9/agent-autonomous-extensions.json +234 -0
  263. package/dist/spec/v0.1.9/ecosystem-compliance.json +235 -0
  264. package/dist/spec/v0.1.9/ossa-v0.1.9.schema.json +695 -0
  265. package/dist/spec/v0.1.9/ossa-v0.1.9.schema.json.backup +695 -0
  266. package/dist/spec/v0.1.9/reasoning-compliance.json +654 -0
  267. package/dist/spec/v0.2.0/ossa-0.2.0.schema.json +0 -0
  268. package/dist/spec/v0.2.1/ossa-0.2.1.schema.json +555 -0
  269. package/dist/spec/v0.2.2/kagent-enhancements.json +395 -0
  270. package/dist/spec/v0.2.2/ossa-0.2.2.schema.json +906 -0
  271. package/dist/spec/v0.2.2/ossa-0.2.2.yaml +448 -0
  272. package/dist/spec/v0.2.2/ossa-reasoning-compliance-1.0.schema.json +424 -0
  273. package/dist/spec/v0.2.3/README.md +154 -0
  274. package/dist/spec/v0.2.3/migrations/v0.2.2-to-v0.2.3.md +343 -0
  275. package/dist/spec/v0.2.3/ossa-0.2.3.schema.json +1397 -0
  276. package/dist/spec/v0.2.3/ossa-0.2.3.yaml +448 -0
  277. package/dist/spec/v0.2.4-dev/README.md +61 -0
  278. package/dist/spec/v0.2.4-dev/RELEASE-PROCESS.md +130 -0
  279. package/dist/spec/v0.2.4-dev/migrations/v0.2.3-to-v0.2.4.md +599 -0
  280. package/dist/spec/v0.2.4-dev/openapi/CHANGELOG-0.2.4.md +177 -0
  281. package/dist/spec/v0.2.4-dev/openapi/README-0.2.4.md +51 -0
  282. package/dist/spec/v0.2.4-dev/openapi/VERIFICATION-0.2.4.md +147 -0
  283. package/dist/spec/v0.2.4-dev/ossa-0.2.4-dev.schema.json +1717 -0
  284. package/dist/spec/v0.2.4-dev/ossa-0.2.4-dev.yaml +581 -0
  285. package/dist/spec/v0.2.5-dev/migrations/v0.2.4-to-v0.2.5.md +317 -0
  286. package/dist/spec/v0.2.5-dev/ossa-0.2.5-dev.schema.json +1732 -0
  287. package/dist/spec/v0.2.5-dev/ossa-0.2.5-dev.yaml +409 -0
  288. package/dist/specification/validator.d.ts +82 -0
  289. package/dist/specification/validator.d.ts.map +1 -0
  290. package/dist/specification/validator.js +562 -0
  291. package/dist/specification/validator.js.map +1 -0
  292. package/dist/types/acdl-api.d.ts +335 -0
  293. package/dist/types/acdl-api.d.ts.map +1 -0
  294. package/dist/types/acdl-api.js +6 -0
  295. package/dist/types/acdl-api.js.map +1 -0
  296. package/dist/types/agents/index.d.ts +53 -0
  297. package/dist/types/agents/index.d.ts.map +1 -0
  298. package/dist/types/agents/index.js +5 -0
  299. package/dist/types/agents/index.js.map +1 -0
  300. package/dist/types/api.d.ts +225 -0
  301. package/dist/types/api.d.ts.map +1 -0
  302. package/dist/types/api.js +6 -0
  303. package/dist/types/api.js.map +1 -0
  304. package/dist/types/architecture/index.d.ts +530 -0
  305. package/dist/types/architecture/index.d.ts.map +1 -0
  306. package/dist/types/architecture/index.js +258 -0
  307. package/dist/types/architecture/index.js.map +1 -0
  308. package/dist/types/index.d.ts +279 -0
  309. package/dist/types/index.d.ts.map +1 -0
  310. package/dist/types/index.js +68 -0
  311. package/dist/types/index.js.map +1 -0
  312. package/dist/types/openapi-extensions.d.ts +164 -0
  313. package/dist/types/openapi-extensions.d.ts.map +1 -0
  314. package/dist/types/openapi-extensions.js +6 -0
  315. package/dist/types/openapi-extensions.js.map +1 -0
  316. package/dist/types/policies/index.d.ts +35 -0
  317. package/dist/types/policies/index.d.ts.map +1 -0
  318. package/dist/types/policies/index.js +5 -0
  319. package/dist/types/policies/index.js.map +1 -0
  320. package/dist/types/workflows/index.d.ts +40 -0
  321. package/dist/types/workflows/index.d.ts.map +1 -0
  322. package/dist/types/workflows/index.js +5 -0
  323. package/dist/types/workflows/index.js.map +1 -0
  324. package/dist/utils/version-resolver.d.ts +28 -0
  325. package/dist/utils/version-resolver.d.ts.map +1 -0
  326. package/dist/utils/version-resolver.js +110 -0
  327. package/dist/utils/version-resolver.js.map +1 -0
  328. package/docker-compose.yml +160 -0
  329. package/junit.xml +1 -0
  330. package/package.json +105 -0
  331. package/public/api-docs.html +206 -0
  332. package/public/assets/favicon.svg +8 -0
  333. package/public/assets/script.js +279 -0
  334. package/public/assets/style.css +632 -0
  335. package/public/index.html +307 -0
  336. package/public/redocly-config.yaml +80 -0
  337. package/public/src/api/acdl-specification.yml +531 -0
  338. package/public/src/api/clean-architecture.openapi.yml +1435 -0
  339. package/public/src/api/context7-mcp.openapi.yml +313 -0
  340. package/public/src/api/magic-mcp.openapi.yml +647 -0
  341. package/public/src/api/mcp-infrastructure.openapi.yml +904 -0
  342. package/public/src/api/orchestration.openapi.yml +444 -0
  343. package/public/src/api/ossa-complete.openapi.yml +2250 -0
  344. package/public/src/api/project-discovery.openapi.yml +1293 -0
  345. package/public/src/api/rebuild-audit.openapi.yml +800 -0
  346. package/public/src/api/specification.openapi.yml +498 -0
  347. package/public/src/api/voice-agent-specification.yml +640 -0
  348. package/public/src/api/web-eval-mcp.openapi.yml +426 -0
  349. package/pyrightconfig.json +13 -0
  350. package/redocly.yaml +56 -0
  351. package/spec/v0.1.9/ossa-v0.1.9.schema.json.backup +695 -0
  352. package/spec/v0.2.0/ossa-0.2.0.schema.json +0 -0
  353. package/spec/v0.2.1/ossa-0.2.1.schema.json +555 -0
  354. package/spec/v0.2.4/ossa-0.2.4.schema.json +1717 -0
  355. package/spec/v0.2.4/ossa-0.2.4.yaml +581 -0
  356. package/specs/README.md +31 -0
  357. package/specs/acdl-specification.yml +531 -0
  358. package/specs/clean-architecture.openapi.yml +1435 -0
  359. package/specs/context7-mcp.openapi.yml +313 -0
  360. package/specs/magic-mcp.openapi.yml +647 -0
  361. package/specs/mcp-infrastructure.openapi.yml +904 -0
  362. package/specs/orchestration.openapi.yml +444 -0
  363. package/specs/ossa-complete.openapi.yml +2250 -0
  364. package/specs/project-discovery.openapi.yml +1293 -0
  365. package/specs/rebuild-audit.openapi.yml +800 -0
  366. package/specs/specification.openapi.yml +498 -0
  367. package/specs/test-api.openapi.yml +20 -0
  368. package/specs/voice-agent-specification.yml +640 -0
  369. package/specs/web-eval-mcp.openapi.yml +426 -0
  370. package/src/adk/adapters/index.ts +310 -0
  371. package/src/adk/agents/custom-agent.ts +206 -0
  372. package/src/adk/agents/index.ts +158 -0
  373. package/src/adk/agents/llm-agent.ts +76 -0
  374. package/src/adk/agents/workflow-agent.ts +191 -0
  375. package/src/adk/index.ts +10 -0
  376. package/src/adk/orchestration/index.ts +352 -0
  377. package/src/adk/state/index.ts +217 -0
  378. package/src/adk/tools/index.ts +291 -0
  379. package/src/api/acdl-specification.yml +531 -0
  380. package/src/api/agent-manifest.schema.json +859 -0
  381. package/src/api/agent-worktree-schema.json +320 -0
  382. package/src/api/clean-architecture.openapi.yml +1435 -0
  383. package/src/api/context7-mcp.openapi.yml +313 -0
  384. package/src/api/magic-mcp.openapi.yml +647 -0
  385. package/src/api/mcp-infrastructure.openapi.yml +904 -0
  386. package/src/api/openapi.redoc.config.json +6 -0
  387. package/src/api/orchestration.openapi.yml +444 -0
  388. package/src/api/ossa-complete.openapi.yml +2250 -0
  389. package/src/api/project-discovery.openapi.yml +1293 -0
  390. package/src/api/rebuild-audit.openapi.yml +800 -0
  391. package/src/api/specification.openapi.yml +498 -0
  392. package/src/api/test-api.openapi.yml +20 -0
  393. package/src/api/voice-agent-specification.yml +640 -0
  394. package/src/api/web-eval-mcp.openapi.yml +426 -0
  395. package/src/api/workflow.schema.json +524 -0
  396. package/src/cli/agent-deployment.ts +452 -0
  397. package/src/cli/commands/ossa.ts +272 -0
  398. package/src/cli/commands/worktree.ts +603 -0
  399. package/src/cli/ossa-cli.ts +1176 -0
  400. package/src/core/index.ts +42 -0
  401. package/src/core/mcp-server-implementation.ts +1409 -0
  402. package/src/core/orchestrator/index.ts +611 -0
  403. package/src/core/orchestrator/ossa-orchestrator.ts +504 -0
  404. package/src/mcp/simple-server.ts +322 -0
  405. package/src/protocols/acap.ts +146 -0
  406. package/src/protocols/index.ts +8 -0
  407. package/src/protocols/rasp.ts +263 -0
  408. package/src/server/app.ts +472 -0
  409. package/src/server/middleware/agentAccess.ts +10 -0
  410. package/src/server/middleware/asyncHandler.ts +10 -0
  411. package/src/server/middleware/auth.ts +10 -0
  412. package/src/server/middleware/errorHandler.ts +9 -0
  413. package/src/server/middleware/logging.ts +10 -0
  414. package/src/server/middleware/metrics.ts +10 -0
  415. package/src/server/middleware/validation.ts +10 -0
  416. package/src/server/routes/agents.ts +632 -0
  417. package/src/server/routes/monitoring.ts +13 -0
  418. package/src/server/routes/orchestration.ts +13 -0
  419. package/src/server/routes/specifications.ts +13 -0
  420. package/src/server/services/AgentService.ts +46 -0
  421. package/src/server/services/ExecutionService.ts +51 -0
  422. package/src/server/services/SpecificationService.ts +22 -0
  423. package/src/server/services/WebhookService.ts +24 -0
  424. package/src/server/simple-app.ts +174 -0
  425. package/src/server/types/agent.ts +612 -0
  426. package/src/server/types/server.ts +465 -0
  427. package/src/services/orchestration/worktree-orchestrator.ts +779 -0
  428. package/src/services/worktree/branching-strategy.ts +76 -0
  429. package/src/services/worktree/git-worktree-manager.ts +86 -0
  430. package/website/.next/BUILD_ID +1 -0
  431. package/website/.next/app-build-manifest.json +151 -0
  432. package/website/.next/app-path-routes-manifest.json +19 -0
  433. package/website/.next/build-manifest.json +33 -0
  434. package/website/.next/cache/.previewinfo +1 -0
  435. package/website/.next/cache/.rscinfo +1 -0
  436. package/website/.next/cache/.tsbuildinfo +1 -0
  437. package/website/.next/cache/fetch-cache/920aec34c288eefa97c5efba3baf95a846a0beb0c48a5064980a2c24b83e941c +1 -0
  438. package/website/.next/cache/fetch-cache/c2ad7a72b43463a0daaa85ca926a8af38defd17ecb64f1fdd2dd4fe2293e8b26 +1 -0
  439. package/website/.next/cache/fetch-cache/d10eb963d5980c8a50ee9ed24472339ee6da054ead33e00676e61e8b8e62cc83 +1 -0
  440. package/website/.next/cache/fetch-cache/f243d84640477f3205b74a85013018acd63b692144675630a74d1af8a3e9eab5 +1 -0
  441. package/website/.next/cache/webpack/client-production/0.pack +0 -0
  442. package/website/.next/cache/webpack/client-production/1.pack +0 -0
  443. package/website/.next/cache/webpack/client-production/10.pack +0 -0
  444. package/website/.next/cache/webpack/client-production/11.pack +0 -0
  445. package/website/.next/cache/webpack/client-production/12.pack +0 -0
  446. package/website/.next/cache/webpack/client-production/13.pack +0 -0
  447. package/website/.next/cache/webpack/client-production/14.pack +0 -0
  448. package/website/.next/cache/webpack/client-production/15.pack +0 -0
  449. package/website/.next/cache/webpack/client-production/16.pack +0 -0
  450. package/website/.next/cache/webpack/client-production/17.pack +0 -0
  451. package/website/.next/cache/webpack/client-production/18.pack +0 -0
  452. package/website/.next/cache/webpack/client-production/2.pack +0 -0
  453. package/website/.next/cache/webpack/client-production/3.pack +0 -0
  454. package/website/.next/cache/webpack/client-production/4.pack +0 -0
  455. package/website/.next/cache/webpack/client-production/5.pack +0 -0
  456. package/website/.next/cache/webpack/client-production/6.pack +0 -0
  457. package/website/.next/cache/webpack/client-production/7.pack +0 -0
  458. package/website/.next/cache/webpack/client-production/8.pack +0 -0
  459. package/website/.next/cache/webpack/client-production/9.pack +0 -0
  460. package/website/.next/cache/webpack/client-production/index.pack +0 -0
  461. package/website/.next/cache/webpack/client-production/index.pack.old +0 -0
  462. package/website/.next/cache/webpack/edge-server-production/0.pack +0 -0
  463. package/website/.next/cache/webpack/edge-server-production/index.pack +0 -0
  464. package/website/.next/cache/webpack/server-production/0.pack +0 -0
  465. package/website/.next/cache/webpack/server-production/1.pack +0 -0
  466. package/website/.next/cache/webpack/server-production/10.pack +0 -0
  467. package/website/.next/cache/webpack/server-production/11.pack +0 -0
  468. package/website/.next/cache/webpack/server-production/12.pack +0 -0
  469. package/website/.next/cache/webpack/server-production/2.pack +0 -0
  470. package/website/.next/cache/webpack/server-production/3.pack +0 -0
  471. package/website/.next/cache/webpack/server-production/4.pack +0 -0
  472. package/website/.next/cache/webpack/server-production/5.pack +0 -0
  473. package/website/.next/cache/webpack/server-production/6.pack +0 -0
  474. package/website/.next/cache/webpack/server-production/7.pack +0 -0
  475. package/website/.next/cache/webpack/server-production/8.pack +0 -0
  476. package/website/.next/cache/webpack/server-production/9.pack +0 -0
  477. package/website/.next/cache/webpack/server-production/index.pack +0 -0
  478. package/website/.next/cache/webpack/server-production/index.pack.old +0 -0
  479. package/website/.next/diagnostics/build-diagnostics.json +6 -0
  480. package/website/.next/diagnostics/framework.json +1 -0
  481. package/website/.next/export-detail.json +5 -0
  482. package/website/.next/export-marker.json +6 -0
  483. package/website/.next/images-manifest.json +57 -0
  484. package/website/.next/next-minimal-server.js.nft.json +1 -0
  485. package/website/.next/next-server.js.nft.json +1 -0
  486. package/website/.next/package.json +1 -0
  487. package/website/.next/prerender-manifest.json +2143 -0
  488. package/website/.next/react-loadable-manifest.json +1898 -0
  489. package/website/.next/required-server-files.json +320 -0
  490. package/website/.next/routes-manifest.json +161 -0
  491. package/website/.next/server/app/_not-found/page.js +2 -0
  492. package/website/.next/server/app/_not-found/page.js.nft.json +1 -0
  493. package/website/.next/server/app/_not-found/page_client-reference-manifest.js +1 -0
  494. package/website/.next/server/app/_not-found.html +1 -0
  495. package/website/.next/server/app/_not-found.meta +8 -0
  496. package/website/.next/server/app/_not-found.rsc +23 -0
  497. package/website/.next/server/app/about/page.js +2 -0
  498. package/website/.next/server/app/about/page.js.nft.json +1 -0
  499. package/website/.next/server/app/about/page_client-reference-manifest.js +1 -0
  500. package/website/.next/server/app/about.html +1 -0
  501. package/website/.next/server/app/about.meta +7 -0
  502. package/website/.next/server/app/about.rsc +40 -0
  503. package/website/.next/server/app/blog/OpenAPI-AI-Agents-Standard.html +217 -0
  504. package/website/.next/server/app/blog/OpenAPI-AI-Agents-Standard.meta +7 -0
  505. package/website/.next/server/app/blog/OpenAPI-AI-Agents-Standard.rsc +308 -0
  506. package/website/.next/server/app/blog/Why-Formal-Standards-Matter-Now.html +180 -0
  507. package/website/.next/server/app/blog/Why-Formal-Standards-Matter-Now.meta +7 -0
  508. package/website/.next/server/app/blog/Why-Formal-Standards-Matter-Now.rsc +232 -0
  509. package/website/.next/server/app/blog/[slug]/page.js +2 -0
  510. package/website/.next/server/app/blog/[slug]/page.js.nft.json +1 -0
  511. package/website/.next/server/app/blog/[slug]/page_client-reference-manifest.js +1 -0
  512. package/website/.next/server/app/blog/introducing-ossa-framework.html +263 -0
  513. package/website/.next/server/app/blog/introducing-ossa-framework.meta +7 -0
  514. package/website/.next/server/app/blog/introducing-ossa-framework.rsc +351 -0
  515. package/website/.next/server/app/blog/ossa-production-results.html +198 -0
  516. package/website/.next/server/app/blog/ossa-production-results.meta +7 -0
  517. package/website/.next/server/app/blog/ossa-production-results.rsc +302 -0
  518. package/website/.next/server/app/blog/page.js +2 -0
  519. package/website/.next/server/app/blog/page.js.nft.json +1 -0
  520. package/website/.next/server/app/blog/page_client-reference-manifest.js +1 -0
  521. package/website/.next/server/app/blog/welcome-to-ossa.html +22 -0
  522. package/website/.next/server/app/blog/welcome-to-ossa.meta +7 -0
  523. package/website/.next/server/app/blog/welcome-to-ossa.rsc +31 -0
  524. package/website/.next/server/app/blog/why-ai-agents-need-open-standard.html +63 -0
  525. package/website/.next/server/app/blog/why-ai-agents-need-open-standard.meta +7 -0
  526. package/website/.next/server/app/blog/why-ai-agents-need-open-standard.rsc +121 -0
  527. package/website/.next/server/app/blog.html +1 -0
  528. package/website/.next/server/app/blog.meta +7 -0
  529. package/website/.next/server/app/blog.rsc +35 -0
  530. package/website/.next/server/app/design-guide/page.js +12 -0
  531. package/website/.next/server/app/design-guide/page.js.nft.json +1 -0
  532. package/website/.next/server/app/design-guide/page_client-reference-manifest.js +1 -0
  533. package/website/.next/server/app/design-guide.html +11 -0
  534. package/website/.next/server/app/design-guide.meta +7 -0
  535. package/website/.next/server/app/design-guide.rsc +41 -0
  536. package/website/.next/server/app/docs.html +1 -0
  537. package/website/.next/server/app/docs.meta +7 -0
  538. package/website/.next/server/app/docs.rsc +42 -0
  539. package/website/.next/server/app/ecosystem/page.js +2 -0
  540. package/website/.next/server/app/ecosystem/page.js.nft.json +1 -0
  541. package/website/.next/server/app/ecosystem/page_client-reference-manifest.js +1 -0
  542. package/website/.next/server/app/ecosystem.html +1 -0
  543. package/website/.next/server/app/ecosystem.meta +7 -0
  544. package/website/.next/server/app/ecosystem.rsc +40 -0
  545. package/website/.next/server/app/examples.html +1 -0
  546. package/website/.next/server/app/examples.meta +7 -0
  547. package/website/.next/server/app/examples.rsc +14559 -0
  548. package/website/.next/server/app/index.html +3 -0
  549. package/website/.next/server/app/index.meta +7 -0
  550. package/website/.next/server/app/index.rsc +40 -0
  551. package/website/.next/server/app/license/page.js +2 -0
  552. package/website/.next/server/app/license/page.js.nft.json +1 -0
  553. package/website/.next/server/app/license/page_client-reference-manifest.js +1 -0
  554. package/website/.next/server/app/license.html +191 -0
  555. package/website/.next/server/app/license.meta +7 -0
  556. package/website/.next/server/app/license.rsc +222 -0
  557. package/website/.next/server/app/page.js +4 -0
  558. package/website/.next/server/app/page.js.nft.json +1 -0
  559. package/website/.next/server/app/page_client-reference-manifest.js +1 -0
  560. package/website/.next/server/app/playground/page.js +111 -0
  561. package/website/.next/server/app/playground/page.js.nft.json +1 -0
  562. package/website/.next/server/app/playground/page_client-reference-manifest.js +1 -0
  563. package/website/.next/server/app/playground.html +1 -0
  564. package/website/.next/server/app/playground.meta +7 -0
  565. package/website/.next/server/app/playground.rsc +30 -0
  566. package/website/.next/server/app/robots.txt/route.js +1 -0
  567. package/website/.next/server/app/robots.txt/route.js.nft.json +1 -0
  568. package/website/.next/server/app/robots.txt/route_client-reference-manifest.js +1 -0
  569. package/website/.next/server/app/robots.txt.body +6 -0
  570. package/website/.next/server/app/robots.txt.meta +1 -0
  571. package/website/.next/server/app/rss.xml/route.js +18 -0
  572. package/website/.next/server/app/rss.xml/route.js.nft.json +1 -0
  573. package/website/.next/server/app/rss.xml/route_client-reference-manifest.js +1 -0
  574. package/website/.next/server/app/rss.xml.body +11 -0
  575. package/website/.next/server/app/rss.xml.meta +1 -0
  576. package/website/.next/server/app/schema/page.js +76 -0
  577. package/website/.next/server/app/schema/page.js.nft.json +1 -0
  578. package/website/.next/server/app/schema/page_client-reference-manifest.js +1 -0
  579. package/website/.next/server/app/schema.html +1 -0
  580. package/website/.next/server/app/schema.meta +7 -0
  581. package/website/.next/server/app/schema.rsc +26 -0
  582. package/website/.next/server/app/sitemap.xml/route.js +1 -0
  583. package/website/.next/server/app/sitemap.xml/route.js.nft.json +1 -0
  584. package/website/.next/server/app/sitemap.xml/route_client-reference-manifest.js +1 -0
  585. package/website/.next/server/app/sitemap.xml.body +39 -0
  586. package/website/.next/server/app/sitemap.xml.meta +1 -0
  587. package/website/.next/server/app/specification/page.js +10 -0
  588. package/website/.next/server/app/specification/page.js.nft.json +1 -0
  589. package/website/.next/server/app/specification/page_client-reference-manifest.js +1 -0
  590. package/website/.next/server/app/specification.html +9 -0
  591. package/website/.next/server/app/specification.meta +7 -0
  592. package/website/.next/server/app/specification.rsc +32 -0
  593. package/website/.next/server/app-paths-manifest.json +19 -0
  594. package/website/.next/server/chunks/18.js +1 -0
  595. package/website/.next/server/chunks/227.js +9 -0
  596. package/website/.next/server/chunks/339.js +25 -0
  597. package/website/.next/server/chunks/49.js +1 -0
  598. package/website/.next/server/chunks/51.js +1 -0
  599. package/website/.next/server/chunks/57.js +1 -0
  600. package/website/.next/server/chunks/579.js +16 -0
  601. package/website/.next/server/chunks/611.js +6 -0
  602. package/website/.next/server/chunks/873.js +22 -0
  603. package/website/.next/server/chunks/900.js +1 -0
  604. package/website/.next/server/chunks/97.js +1 -0
  605. package/website/.next/server/functions-config-manifest.json +4 -0
  606. package/website/.next/server/interception-route-rewrite-manifest.js +1 -0
  607. package/website/.next/server/middleware-build-manifest.js +1 -0
  608. package/website/.next/server/middleware-manifest.json +6 -0
  609. package/website/.next/server/middleware-react-loadable-manifest.js +1 -0
  610. package/website/.next/server/next-font-manifest.js +1 -0
  611. package/website/.next/server/next-font-manifest.json +1 -0
  612. package/website/.next/server/pages/404.html +1 -0
  613. package/website/.next/server/pages/500.html +1 -0
  614. package/website/.next/server/pages/_app.js +1 -0
  615. package/website/.next/server/pages/_app.js.nft.json +1 -0
  616. package/website/.next/server/pages/_document.js +1 -0
  617. package/website/.next/server/pages/_document.js.nft.json +1 -0
  618. package/website/.next/server/pages/_error.js +19 -0
  619. package/website/.next/server/pages/_error.js.nft.json +1 -0
  620. package/website/.next/server/pages-manifest.json +6 -0
  621. package/website/.next/server/server-reference-manifest.js +1 -0
  622. package/website/.next/server/server-reference-manifest.json +1 -0
  623. package/website/.next/server/webpack-runtime.js +1 -0
  624. package/website/.next/static/IDhDQiozPwOaA3PpMqvTE/_buildManifest.js +1 -0
  625. package/website/.next/static/IDhDQiozPwOaA3PpMqvTE/_ssgManifest.js +1 -0
  626. package/website/.next/static/chunks/119.05f66060d7798fc9.js +25 -0
  627. package/website/.next/static/chunks/255-bf407b21685f2318.js +1 -0
  628. package/website/.next/static/chunks/451-235273497e501ae9.js +1 -0
  629. package/website/.next/static/chunks/4bd1b696-409494caf8c83275.js +1 -0
  630. package/website/.next/static/chunks/619-f072ac750404f9da.js +1 -0
  631. package/website/.next/static/chunks/651-5cd3c87d43b7eb46.js +1 -0
  632. package/website/.next/static/chunks/778.278ac2aadb2a1105.js +1 -0
  633. package/website/.next/static/chunks/890-ab915e0570e1961b.js +1 -0
  634. package/website/.next/static/chunks/app/_not-found/page-ccdaf9d90b537c5d.js +1 -0
  635. package/website/.next/static/chunks/app/about/page-bd4cb2219b41f933.js +1 -0
  636. package/website/.next/static/chunks/app/blog/[slug]/page-8fd43000c4969233.js +1 -0
  637. package/website/.next/static/chunks/app/blog/page-bd4cb2219b41f933.js +1 -0
  638. package/website/.next/static/chunks/app/design-guide/page-bd4cb2219b41f933.js +1 -0
  639. package/website/.next/static/chunks/app/ecosystem/page-bd4cb2219b41f933.js +1 -0
  640. package/website/.next/static/chunks/app/layout-ccacbd90656baa78.js +1 -0
  641. package/website/.next/static/chunks/app/license/page-bd4cb2219b41f933.js +1 -0
  642. package/website/.next/static/chunks/app/page-31241dc7465f9590.js +1 -0
  643. package/website/.next/static/chunks/app/playground/page-c2af00885374900f.js +1 -0
  644. package/website/.next/static/chunks/app/robots.txt/route-032c05054032342f.js +1 -0
  645. package/website/.next/static/chunks/app/rss.xml/route-032c05054032342f.js +1 -0
  646. package/website/.next/static/chunks/app/schema/page-f7c224b281771083.js +1 -0
  647. package/website/.next/static/chunks/app/sitemap.xml/route-032c05054032342f.js +1 -0
  648. package/website/.next/static/chunks/app/specification/page-bd4cb2219b41f933.js +1 -0
  649. package/website/.next/static/chunks/framework-1ce91eb6f9ecda85.js +1 -0
  650. package/website/.next/static/chunks/main-3099e141650ec47a.js +1 -0
  651. package/website/.next/static/chunks/main-app-a2fc6ac9305e3090.js +1 -0
  652. package/website/.next/static/chunks/pages/_app-5addca2b3b969fde.js +1 -0
  653. package/website/.next/static/chunks/pages/_error-022e4ac7bbb9914f.js +1 -0
  654. package/website/.next/static/chunks/polyfills-42372ed130431b0a.js +1 -0
  655. package/website/.next/static/chunks/webpack-6ecb09e5c6e34cb4.js +1 -0
  656. package/website/.next/static/css/23135390005d4468.css +3 -0
  657. package/website/.next/static/media/19cfc7226ec3afaa-s.woff2 +0 -0
  658. package/website/.next/static/media/21350d82a1f187e9-s.woff2 +0 -0
  659. package/website/.next/static/media/8e9860b6e62d6359-s.woff2 +0 -0
  660. package/website/.next/static/media/ba9851c3c22cd980-s.woff2 +0 -0
  661. package/website/.next/static/media/c5fe6dc8356a8c31-s.woff2 +0 -0
  662. package/website/.next/static/media/df0a9ae256c0569c-s.woff2 +0 -0
  663. package/website/.next/static/media/e4af272ccee01ff0-s.p.woff2 +0 -0
  664. package/website/.next/trace +3 -0
  665. package/website/.next/types/app/about/page.ts +84 -0
  666. package/website/.next/types/app/blog/[slug]/page.ts +84 -0
  667. package/website/.next/types/app/blog/page.ts +84 -0
  668. package/website/.next/types/app/design-guide/page.ts +84 -0
  669. package/website/.next/types/app/ecosystem/page.ts +84 -0
  670. package/website/.next/types/app/license/page.ts +84 -0
  671. package/website/.next/types/app/page.ts +84 -0
  672. package/website/.next/types/app/playground/page.ts +84 -0
  673. package/website/.next/types/app/rss.xml/route.ts +347 -0
  674. package/website/.next/types/app/schema/page.ts +84 -0
  675. package/website/.next/types/app/specification/page.ts +84 -0
  676. package/website/.next/types/cache-life.d.ts +141 -0
  677. package/website/.next/types/package.json +1 -0
  678. package/website/.next/types/routes.d.ts +85 -0
  679. package/website/.next/types/validator.ts +187 -0
  680. package/website/.wiki-export/Agent-Folder-Structure.md +215 -0
  681. package/website/.wiki-export/CI-STATUS.md +66 -0
  682. package/website/.wiki-export/COMPLETE-IMPLEMENTATION-CHECKLIST.md +74 -0
  683. package/website/.wiki-export/DRUPAL-MODULE-INTEGRATION.md +103 -0
  684. package/website/.wiki-export/FINAL-STATUS.md +63 -0
  685. package/website/.wiki-export/Getting-Started.md +87 -0
  686. package/website/.wiki-export/INSTRUCTIONS.md +46 -0
  687. package/website/.wiki-export/INTEGRATION-ANALYSIS.md +216 -0
  688. package/website/.wiki-export/MANIFEST.json +62 -0
  689. package/website/.wiki-export/OSSA-COMPLIANT-BADGE.md +247 -0
  690. package/website/.wiki-export/Openapi-Extensions.md +930 -0
  691. package/website/.wiki-export/README.md +31 -0
  692. package/website/.wiki-export/RELEASE-READINESS.md +95 -0
  693. package/website/.wiki-export/VERSIONING.md +284 -0
  694. package/website/lib/versions.json +77 -0
  695. package/website/next-env.d.ts +6 -0
  696. package/website/out/app-build-manifest.json +3 -0
  697. package/website/out/build-manifest.json +17 -0
  698. package/website/out/cache/.rscinfo +1 -0
  699. package/website/out/cache/next-devtools-config.json +1 -0
  700. package/website/out/cache/webpack/client-development/0.pack.gz +0 -0
  701. package/website/out/cache/webpack/client-development/1.pack.gz +0 -0
  702. package/website/out/cache/webpack/client-development/2.pack.gz +0 -0
  703. package/website/out/cache/webpack/client-development/3.pack.gz +0 -0
  704. package/website/out/cache/webpack/client-development/index.pack.gz +0 -0
  705. package/website/out/cache/webpack/client-development/index.pack.gz.old +0 -0
  706. package/website/out/cache/webpack/client-development-fallback/0.pack.gz +0 -0
  707. package/website/out/cache/webpack/client-development-fallback/index.pack.gz +0 -0
  708. package/website/out/cache/webpack/server-development/0.pack.gz +0 -0
  709. package/website/out/cache/webpack/server-development/1.pack.gz +0 -0
  710. package/website/out/cache/webpack/server-development/2.pack.gz +0 -0
  711. package/website/out/cache/webpack/server-development/3.pack.gz +0 -0
  712. package/website/out/cache/webpack/server-development/index.pack.gz +0 -0
  713. package/website/out/cache/webpack/server-development/index.pack.gz.old +0 -0
  714. package/website/out/package.json +1 -0
  715. package/website/out/prerender-manifest.json +11 -0
  716. package/website/out/react-loadable-manifest.json +1 -0
  717. package/website/out/routes-manifest.json +1 -0
  718. package/website/out/server/app-paths-manifest.json +1 -0
  719. package/website/out/server/interception-route-rewrite-manifest.js +1 -0
  720. package/website/out/server/middleware-build-manifest.js +19 -0
  721. package/website/out/server/middleware-manifest.json +6 -0
  722. package/website/out/server/middleware-react-loadable-manifest.js +1 -0
  723. package/website/out/server/next-font-manifest.js +1 -0
  724. package/website/out/server/next-font-manifest.json +1 -0
  725. package/website/out/server/pages-manifest.json +1 -0
  726. package/website/out/server/server-reference-manifest.js +1 -0
  727. package/website/out/server/server-reference-manifest.json +5 -0
  728. package/website/out/static/chunks/polyfills.js +1 -0
  729. package/website/out/static/development/_buildManifest.js +1 -0
  730. package/website/out/static/development/_ssgManifest.js +1 -0
  731. package/website/out/trace +2 -0
  732. package/website/out/types/cache-life.d.ts +141 -0
  733. package/website/out/types/package.json +1 -0
  734. package/website/out/types/routes.d.ts +85 -0
  735. package/website/out/types/validator.ts +187 -0
  736. package/website/public/examples.json +476 -0
  737. package/website/public/schemas/openapi-extensions.schema.json +486 -0
  738. package/website/tsconfig.tsbuildinfo +1 -0
@@ -0,0 +1,1061 @@
1
+ #!/usr/bin/env node
2
+ /**
3
+ * OSSA CLI - Main Command Line Interface
4
+ * OpenAPI 3.1 compliant CRUD operations for the OSSA specification
5
+ * Replaces all shell scripts with TypeScript-based operations
6
+ */
7
+ import { Command } from 'commander';
8
+ import { readFileSync, writeFileSync, existsSync, readdirSync, statSync } from 'fs';
9
+ import { join } from 'path';
10
+ import chalk from 'chalk';
11
+ import { z } from 'zod';
12
+ import * as yaml from 'js-yaml';
13
+ // OpenAPI 3.1 Schema Definitions
14
+ const OpenAPISchema = z.object({
15
+ openapi: z.literal('3.1.0'),
16
+ info: z.object({
17
+ title: z.string(),
18
+ version: z.string(),
19
+ description: z.string().optional()
20
+ }),
21
+ servers: z.array(z.object({
22
+ url: z.string(),
23
+ description: z.string().optional()
24
+ })).optional(),
25
+ paths: z.record(z.string(), z.any()),
26
+ components: z.object({
27
+ schemas: z.record(z.string(), z.any()).optional()
28
+ }).optional()
29
+ });
30
+ const SpecificationSchema = z.object({
31
+ agentId: z.string().regex(/^[a-z0-9-]+$/),
32
+ agentType: z.enum(['orchestrator', 'worker', 'critic', 'judge', 'trainer', 'governor', 'monitor', 'integrator']),
33
+ version: z.string().regex(/^\d+\.\d+\.\d+$/),
34
+ capabilities: z.object({
35
+ supportedDomains: z.array(z.string()),
36
+ inputFormats: z.array(z.string()),
37
+ outputFormats: z.array(z.string())
38
+ })
39
+ });
40
+ class OSSACli {
41
+ config;
42
+ program;
43
+ constructor() {
44
+ this.config = {
45
+ baseDir: process.cwd(),
46
+ specsDir: join(process.cwd(), 'src', 'api'),
47
+ agentsDir: join(process.cwd(), '.agents'),
48
+ outputDir: join(process.cwd(), 'dist'),
49
+ logLevel: 'info'
50
+ };
51
+ this.program = new Command();
52
+ this.setupCommands();
53
+ }
54
+ log(level, message, data) {
55
+ const levels = { debug: 0, info: 1, warn: 2, error: 3 };
56
+ const configLevel = levels[this.config.logLevel];
57
+ const messageLevel = levels[level];
58
+ if (messageLevel < configLevel)
59
+ return;
60
+ const colors = {
61
+ debug: chalk.gray,
62
+ info: chalk.blue,
63
+ warn: chalk.yellow,
64
+ error: chalk.red
65
+ };
66
+ const timestamp = new Date().toISOString();
67
+ console.log(colors[level](`[${timestamp}] [${level.toUpperCase()}] ${message}`));
68
+ if (data) {
69
+ console.log(chalk.gray(JSON.stringify(data, null, 2)));
70
+ }
71
+ }
72
+ setupCommands() {
73
+ this.program
74
+ .name('ossa')
75
+ .description('OSSA CLI - OpenAPI 3.1 Specification Management')
76
+ .version('0.1.9')
77
+ .option('-v, --verbose', 'Enable verbose logging')
78
+ .option('-d, --debug', 'Enable debug logging')
79
+ .hook('preAction', (thisCommand) => {
80
+ if (thisCommand.opts().verbose)
81
+ this.config.logLevel = 'info';
82
+ if (thisCommand.opts().debug)
83
+ this.config.logLevel = 'debug';
84
+ });
85
+ // SPECIFICATION CRUD Operations
86
+ const specCommand = this.program
87
+ .command('spec')
88
+ .description('Specification management (CRUD operations)');
89
+ // CREATE specification
90
+ specCommand
91
+ .command('create')
92
+ .description('Create new OpenAPI 3.1 specification')
93
+ .argument('<name>', 'Specification name')
94
+ .option('-t, --type <type>', 'Agent type', 'worker')
95
+ .option('-d, --description <desc>', 'Specification description')
96
+ .option('-v, --version <version>', 'API version', '1.0.0')
97
+ .option('--template <template>', 'Use template (basic, advanced, industrial)')
98
+ .option('--rasp-enabled', 'Enable RASP (Runtime Application Self-Protection) protocol support')
99
+ .action(this.createSpecification.bind(this));
100
+ // READ specifications
101
+ specCommand
102
+ .command('list')
103
+ .description('List all specifications')
104
+ .option('-f, --format <format>', 'Output format (table, json, yaml)', 'table')
105
+ .option('--filter <filter>', 'Filter by type or version')
106
+ .action(this.listSpecifications.bind(this));
107
+ specCommand
108
+ .command('get')
109
+ .description('Get specification details')
110
+ .argument('<name>', 'Specification name')
111
+ .option('-f, --format <format>', 'Output format (json, yaml)', 'yaml')
112
+ .action(this.getSpecification.bind(this));
113
+ // UPDATE specification
114
+ specCommand
115
+ .command('update')
116
+ .description('Update existing specification')
117
+ .argument('<name>', 'Specification name')
118
+ .option('-d, --description <desc>', 'Update description')
119
+ .option('-v, --version <version>', 'Update version')
120
+ .option('--add-path <path>', 'Add new API path')
121
+ .option('--remove-path <path>', 'Remove API path')
122
+ .action(this.updateSpecification.bind(this));
123
+ // DELETE specification
124
+ specCommand
125
+ .command('delete')
126
+ .description('Delete specification')
127
+ .argument('<name>', 'Specification name')
128
+ .option('-f, --force', 'Force deletion without confirmation')
129
+ .action(this.deleteSpecification.bind(this));
130
+ // AGENT CRUD Operations
131
+ const agentCommand = this.program
132
+ .command('agent')
133
+ .description('Agent management (CRUD operations)');
134
+ // CREATE agent
135
+ agentCommand
136
+ .command('create')
137
+ .description('Create new agent')
138
+ .argument('<agent-id>', 'Agent identifier')
139
+ .option('-t, --type <type>', 'Agent type')
140
+ .option('-s, --spec <spec>', 'OpenAPI specification file')
141
+ .option('-c, --capabilities <caps>', 'Comma-separated capabilities')
142
+ .action(this.createAgent.bind(this));
143
+ // READ agents
144
+ agentCommand
145
+ .command('list')
146
+ .description('List all agents')
147
+ .option('-t, --type <type>', 'Filter by agent type')
148
+ .option('-s, --status <status>', 'Filter by status')
149
+ .action(this.listAgents.bind(this));
150
+ agentCommand
151
+ .command('get')
152
+ .description('Get agent details')
153
+ .argument('<agent-id>', 'Agent identifier')
154
+ .option('-f, --format <format>', 'Output format (json, yaml, table)', 'table')
155
+ .action(this.getAgent.bind(this));
156
+ // UPDATE agent
157
+ agentCommand
158
+ .command('update')
159
+ .description('Update agent configuration')
160
+ .argument('<agent-id>', 'Agent identifier')
161
+ .option('-c, --capabilities <caps>', 'Update capabilities')
162
+ .option('-s, --spec <spec>', 'Update OpenAPI specification')
163
+ .action(this.updateAgent.bind(this));
164
+ // DELETE agent
165
+ agentCommand
166
+ .command('delete')
167
+ .description('Delete agent')
168
+ .argument('<agent-id>', 'Agent identifier')
169
+ .option('-f, --force', 'Force deletion')
170
+ .action(this.deleteAgent.bind(this));
171
+ // VALIDATION Operations
172
+ this.program
173
+ .command('validate')
174
+ .description('Validate OpenAPI 3.1 specifications and agents')
175
+ .option('-s, --spec <spec>', 'Validate specific specification')
176
+ .option('-a, --agent <agent>', 'Validate specific agent')
177
+ .option('--all', 'Validate all specifications and agents')
178
+ .option('--fix', 'Auto-fix validation errors where possible')
179
+ .action(this.validate.bind(this));
180
+ // BUILD Operations
181
+ this.program
182
+ .command('build')
183
+ .description('Build and compile specifications')
184
+ .option('-s, --spec <spec>', 'Build specific specification')
185
+ .option('--all', 'Build all specifications')
186
+ .option('-w, --watch', 'Watch for changes and rebuild')
187
+ .option('--output <dir>', 'Output directory')
188
+ .action(this.build.bind(this));
189
+ // DEPLOYMENT Operations
190
+ this.program
191
+ .command('deploy')
192
+ .description('Deploy agents and specifications')
193
+ .option('-e, --environment <env>', 'Target environment (dev, staging, prod)', 'dev')
194
+ .option('-a, --agent <agent>', 'Deploy specific agent')
195
+ .option('--all', 'Deploy all agents')
196
+ .option('--dry-run', 'Show what would be deployed without deploying')
197
+ .action(this.deploy.bind(this));
198
+ // TESTING Operations
199
+ this.program
200
+ .command('test')
201
+ .description('Test OpenAPI specifications and agents')
202
+ .option('-s, --spec <spec>', 'Test specific specification')
203
+ .option('-a, --agent <agent>', 'Test specific agent')
204
+ .option('--all', 'Test all specifications and agents')
205
+ .option('--coverage', 'Generate test coverage report')
206
+ .action(this.test.bind(this));
207
+ // STATUS Operations
208
+ this.program
209
+ .command('status')
210
+ .description('Show system status')
211
+ .option('--detailed', 'Show detailed status information')
212
+ .option('--health', 'Show health check results')
213
+ .action(this.status.bind(this));
214
+ // MIGRATION Operations
215
+ this.program
216
+ .command('migrate')
217
+ .description('Migrate specifications to OpenAPI 3.1')
218
+ .option('--from <version>', 'Source OpenAPI version')
219
+ .option('--backup', 'Create backup before migration')
220
+ .option('--dry-run', 'Show migration plan without executing')
221
+ .action(this.migrate.bind(this));
222
+ // UAP (Universal Agent Protocol) Operations
223
+ this.program
224
+ .command('certify')
225
+ .description('Certify agents and specifications for UAP compliance')
226
+ .option('--acap', 'Enable ACAP (Agent Capability Assurance Protocol) certification')
227
+ .option('-a, --agent <agent>', 'Certify specific agent')
228
+ .option('-s, --spec <spec>', 'Certify specific specification')
229
+ .option('--all', 'Certify all agents and specifications')
230
+ .option('--output <format>', 'Output format (json, yaml, table)', 'table')
231
+ .action(this.certify.bind(this));
232
+ this.program
233
+ .command('discover')
234
+ .description('Discover UAP-compliant agents and services')
235
+ .option('--uadp', 'Enable UADP (Universal Agent Discovery Protocol) for network discovery')
236
+ .option('--network <network>', 'Target network for discovery')
237
+ .option('--timeout <ms>', 'Discovery timeout in milliseconds', '5000')
238
+ .option('--filter <filter>', 'Filter by agent type, capability, or version')
239
+ .option('--output <format>', 'Output format (json, yaml, table)', 'table')
240
+ .action(this.discover.bind(this));
241
+ }
242
+ // SPECIFICATION CRUD Operations
243
+ async createSpecification(name, options) {
244
+ try {
245
+ this.log('info', `Creating specification: ${name}`);
246
+ const specTemplate = this.getSpecTemplate(options.template || 'basic');
247
+ const spec = {
248
+ ...specTemplate,
249
+ info: {
250
+ ...specTemplate.info,
251
+ title: `${name} API`,
252
+ version: options.version || '1.0.0',
253
+ description: options.description || `OpenAPI 3.1 specification for ${name}`,
254
+ ...(options.raspEnabled && {
255
+ 'x-rasp-enabled': true,
256
+ 'x-rasp-config': {
257
+ monitoring: true,
258
+ protection: true,
259
+ alerting: true
260
+ }
261
+ })
262
+ }
263
+ };
264
+ // Add RASP security schemes if enabled
265
+ if (options.raspEnabled) {
266
+ spec.components = spec.components || {};
267
+ spec.components.securitySchemes = {
268
+ ...spec.components.securitySchemes,
269
+ RASPToken: {
270
+ type: 'http',
271
+ scheme: 'bearer',
272
+ bearerFormat: 'JWT',
273
+ description: 'RASP (Runtime Application Self-Protection) authentication token'
274
+ }
275
+ };
276
+ spec.security = [{ RASPToken: [] }];
277
+ }
278
+ // Validate against OpenAPI 3.1 schema
279
+ const validation = OpenAPISchema.safeParse(spec);
280
+ if (!validation.success) {
281
+ this.log('error', 'Specification validation failed', validation.error.issues);
282
+ return;
283
+ }
284
+ const specPath = join(this.config.specsDir, `${name}.openapi.yml`);
285
+ writeFileSync(specPath, yaml.dump(spec));
286
+ this.log('info', `Specification created: ${specPath}`);
287
+ // Auto-generate TypeScript types if requested
288
+ if (options.generateTypes) {
289
+ await this.generateTypes(name);
290
+ }
291
+ }
292
+ catch (error) {
293
+ this.log('error', `Failed to create specification: ${error instanceof Error ? error.message : String(error)}`);
294
+ }
295
+ }
296
+ async listSpecifications(options) {
297
+ try {
298
+ this.log('info', 'Listing specifications...');
299
+ const specs = this.getAllSpecifications();
300
+ if (options.format === 'json') {
301
+ console.log(JSON.stringify(specs, null, 2));
302
+ }
303
+ else if (options.format === 'yaml') {
304
+ console.log(yaml.dump(specs));
305
+ }
306
+ else {
307
+ // Table format
308
+ console.table(specs.map(spec => ({
309
+ Name: spec.name,
310
+ Version: spec.version,
311
+ Type: spec.type || 'Unknown',
312
+ 'Last Modified': spec.lastModified
313
+ })));
314
+ }
315
+ }
316
+ catch (error) {
317
+ this.log('error', `Failed to list specifications: ${error instanceof Error ? error.message : String(error)}`);
318
+ }
319
+ }
320
+ async getSpecification(name, options) {
321
+ try {
322
+ this.log('info', `Getting specification: ${name}`);
323
+ const specPath = join(this.config.specsDir, `${name}.openapi.yml`);
324
+ if (!existsSync(specPath)) {
325
+ this.log('error', `Specification not found: ${name}`);
326
+ return;
327
+ }
328
+ const content = readFileSync(specPath, 'utf8');
329
+ if (options.format === 'json') {
330
+ const spec = yaml.load(content);
331
+ console.log(JSON.stringify(spec, null, 2));
332
+ }
333
+ else {
334
+ console.log(content);
335
+ }
336
+ }
337
+ catch (error) {
338
+ this.log('error', `Failed to get specification: ${error instanceof Error ? error.message : String(error)}`);
339
+ }
340
+ }
341
+ async updateSpecification(name, options) {
342
+ try {
343
+ this.log('info', `Updating specification: ${name}`);
344
+ // TODO: Implement specification update logic
345
+ }
346
+ catch (error) {
347
+ this.log('error', `Failed to update specification: ${error instanceof Error ? error.message : String(error)}`);
348
+ }
349
+ }
350
+ async deleteSpecification(name, options) {
351
+ try {
352
+ this.log('info', `Deleting specification: ${name}`);
353
+ // TODO: Implement specification deletion logic
354
+ }
355
+ catch (error) {
356
+ this.log('error', `Failed to delete specification: ${error instanceof Error ? error.message : String(error)}`);
357
+ }
358
+ }
359
+ // AGENT CRUD Operations
360
+ async createAgent(agentId, options) {
361
+ try {
362
+ this.log('info', `Creating agent: ${agentId}`);
363
+ // TODO: Implement agent creation logic
364
+ }
365
+ catch (error) {
366
+ this.log('error', `Failed to create agent: ${error instanceof Error ? error.message : String(error)}`);
367
+ }
368
+ }
369
+ async listAgents(options) {
370
+ try {
371
+ this.log('info', 'Listing agents...');
372
+ // TODO: Implement agent listing logic
373
+ }
374
+ catch (error) {
375
+ this.log('error', `Failed to list agents: ${error instanceof Error ? error.message : String(error)}`);
376
+ }
377
+ }
378
+ async getAgent(agentId, options) {
379
+ try {
380
+ this.log('info', `Getting agent: ${agentId}`);
381
+ // TODO: Implement get agent logic
382
+ }
383
+ catch (error) {
384
+ this.log('error', `Failed to get agent: ${error instanceof Error ? error.message : String(error)}`);
385
+ }
386
+ }
387
+ async updateAgent(agentId, options) {
388
+ try {
389
+ this.log('info', `Updating agent: ${agentId}`);
390
+ // TODO: Implement agent update logic
391
+ }
392
+ catch (error) {
393
+ this.log('error', `Failed to update agent: ${error instanceof Error ? error.message : String(error)}`);
394
+ }
395
+ }
396
+ async deleteAgent(agentId, options) {
397
+ try {
398
+ this.log('info', `Deleting agent: ${agentId}`);
399
+ // TODO: Implement agent deletion logic
400
+ }
401
+ catch (error) {
402
+ this.log('error', `Failed to delete agent: ${error instanceof Error ? error.message : String(error)}`);
403
+ }
404
+ }
405
+ // Utility Operations
406
+ async validate(options) {
407
+ try {
408
+ this.log('info', 'Starting validation...');
409
+ if (options.all) {
410
+ await this.validateAllSpecifications();
411
+ await this.validateAllAgents();
412
+ }
413
+ else if (options.spec) {
414
+ await this.validateSpecification(options.spec);
415
+ }
416
+ else if (options.agent) {
417
+ await this.validateAgent(options.agent);
418
+ }
419
+ }
420
+ catch (error) {
421
+ this.log('error', `Validation failed: ${error instanceof Error ? error.message : String(error)}`);
422
+ }
423
+ }
424
+ async build(options) {
425
+ try {
426
+ this.log('info', 'Building specifications...');
427
+ // TODO: Implement build logic
428
+ }
429
+ catch (error) {
430
+ this.log('error', `Build failed: ${error instanceof Error ? error.message : String(error)}`);
431
+ }
432
+ }
433
+ async deploy(options) {
434
+ try {
435
+ this.log('info', `Deploying to ${options.environment}...`);
436
+ // TODO: Implement deployment logic
437
+ }
438
+ catch (error) {
439
+ this.log('error', `Deployment failed: ${error instanceof Error ? error.message : String(error)}`);
440
+ }
441
+ }
442
+ async test(options) {
443
+ try {
444
+ this.log('info', 'Running tests...');
445
+ // TODO: Implement testing logic
446
+ }
447
+ catch (error) {
448
+ this.log('error', `Tests failed: ${error instanceof Error ? error.message : String(error)}`);
449
+ }
450
+ }
451
+ async status(options) {
452
+ try {
453
+ this.log('info', 'Checking system status...');
454
+ const status = {
455
+ specifications: this.getAllSpecifications().length,
456
+ agents: this.getAllAgents().length,
457
+ environment: process.env.NODE_ENV || 'development',
458
+ version: '0.1.9',
459
+ health: 'healthy'
460
+ };
461
+ console.log(chalk.green('OSSA System Status:'));
462
+ console.table(status);
463
+ }
464
+ catch (error) {
465
+ this.log('error', `Failed to get status: ${error instanceof Error ? error.message : String(error)}`);
466
+ }
467
+ }
468
+ async migrate(options) {
469
+ try {
470
+ this.log('info', 'Starting migration...');
471
+ // TODO: Implement migration logic
472
+ }
473
+ catch (error) {
474
+ this.log('error', `Migration failed: ${error instanceof Error ? error.message : String(error)}`);
475
+ }
476
+ }
477
+ // UAP Protocol Operations
478
+ async certify(options) {
479
+ try {
480
+ this.log('info', 'Starting UAP certification process...');
481
+ const certificationResults = [];
482
+ if (options.acap) {
483
+ this.log('info', 'ACAP (Agent Capability Assurance Protocol) certification enabled');
484
+ }
485
+ if (options.all) {
486
+ // Certify all agents and specifications
487
+ this.log('info', 'Certifying all agents and specifications...');
488
+ const agents = this.getAllAgents();
489
+ const specs = this.getAllSpecifications();
490
+ for (const agent of agents) {
491
+ const result = await this.certifyAgent(agent.name, options);
492
+ certificationResults.push(result);
493
+ }
494
+ for (const spec of specs) {
495
+ const result = await this.certifySpecification(spec.name, options);
496
+ certificationResults.push(result);
497
+ }
498
+ }
499
+ else if (options.agent) {
500
+ // Certify specific agent
501
+ const result = await this.certifyAgent(options.agent, options);
502
+ certificationResults.push(result);
503
+ }
504
+ else if (options.spec) {
505
+ // Certify specific specification
506
+ const result = await this.certifySpecification(options.spec, options);
507
+ certificationResults.push(result);
508
+ }
509
+ // Output results
510
+ this.outputCertificationResults(certificationResults, options.output || 'table');
511
+ }
512
+ catch (error) {
513
+ this.log('error', `Certification failed: ${error instanceof Error ? error.message : String(error)}`);
514
+ }
515
+ }
516
+ async discover(options) {
517
+ try {
518
+ this.log('info', 'Starting UAP discovery process...');
519
+ if (options.uadp) {
520
+ this.log('info', 'UADP (Universal Agent Discovery Protocol) enabled');
521
+ }
522
+ const discoveryResults = await this.performUAPDiscovery(options);
523
+ // Output results
524
+ this.outputDiscoveryResults(discoveryResults, options.output || 'table');
525
+ }
526
+ catch (error) {
527
+ this.log('error', `Discovery failed: ${error instanceof Error ? error.message : String(error)}`);
528
+ }
529
+ }
530
+ // UAP Protocol Helper Methods
531
+ async certifyAgent(agentId, options) {
532
+ try {
533
+ this.log('info', `Certifying agent: ${agentId}`);
534
+ const certification = {
535
+ id: agentId,
536
+ type: 'agent',
537
+ certified: false,
538
+ certificationLevel: 'none',
539
+ compliance: {
540
+ uapCompliant: false,
541
+ acapCompliant: false,
542
+ errors: [],
543
+ warnings: []
544
+ },
545
+ timestamp: new Date().toISOString()
546
+ };
547
+ // Check if agent exists
548
+ const agentPath = join(this.config.agentsDir, agentId);
549
+ if (!existsSync(agentPath)) {
550
+ certification.compliance.errors.push(`Agent directory not found: ${agentPath}`);
551
+ return certification;
552
+ }
553
+ // ACAP certification checks
554
+ if (options.acap) {
555
+ const acapResult = await this.performACAPCertification(agentId);
556
+ certification.compliance.acapCompliant = acapResult.compliant;
557
+ certification.compliance.errors.push(...acapResult.errors);
558
+ certification.compliance.warnings.push(...acapResult.warnings);
559
+ }
560
+ // Basic UAP compliance checks
561
+ const uapResult = await this.performUAPCertification(agentId);
562
+ certification.compliance.uapCompliant = uapResult.compliant;
563
+ certification.compliance.errors.push(...uapResult.errors);
564
+ certification.compliance.warnings.push(...uapResult.warnings);
565
+ // Determine overall certification
566
+ certification.certified = certification.compliance.errors.length === 0;
567
+ certification.certificationLevel = certification.certified ?
568
+ (certification.compliance.warnings.length === 0 ? 'full' : 'conditional') : 'failed';
569
+ return certification;
570
+ }
571
+ catch (error) {
572
+ return {
573
+ id: agentId,
574
+ type: 'agent',
575
+ certified: false,
576
+ certificationLevel: 'error',
577
+ error: error instanceof Error ? error.message : String(error),
578
+ timestamp: new Date().toISOString()
579
+ };
580
+ }
581
+ }
582
+ async certifySpecification(specName, options) {
583
+ try {
584
+ this.log('info', `Certifying specification: ${specName}`);
585
+ const certification = {
586
+ id: specName,
587
+ type: 'specification',
588
+ certified: false,
589
+ certificationLevel: 'none',
590
+ compliance: {
591
+ openapi31Compliant: false,
592
+ uapCompliant: false,
593
+ raspEnabled: false,
594
+ errors: [],
595
+ warnings: []
596
+ },
597
+ timestamp: new Date().toISOString()
598
+ };
599
+ // Check if specification exists
600
+ const specPath = join(this.config.specsDir, `${specName}.openapi.yml`);
601
+ if (!existsSync(specPath)) {
602
+ certification.compliance.errors.push(`Specification file not found: ${specPath}`);
603
+ return certification;
604
+ }
605
+ // Load and validate specification
606
+ const content = readFileSync(specPath, 'utf8');
607
+ const spec = yaml.load(content);
608
+ // OpenAPI 3.1 compliance check
609
+ const validation = OpenAPISchema.safeParse(spec);
610
+ if (validation.success) {
611
+ certification.compliance.openapi31Compliant = true;
612
+ }
613
+ else {
614
+ certification.compliance.errors.push(...validation.error.issues.map(issue => `OpenAPI validation: ${issue.path.join('.')}: ${issue.message}`));
615
+ }
616
+ // Check for RASP enablement
617
+ if (spec.info && spec.info['x-rasp-enabled']) {
618
+ certification.compliance.raspEnabled = true;
619
+ }
620
+ // UAP compliance checks for specifications
621
+ const uapResult = await this.performSpecificationUAPCertification(spec);
622
+ certification.compliance.uapCompliant = uapResult.compliant;
623
+ certification.compliance.errors.push(...uapResult.errors);
624
+ certification.compliance.warnings.push(...uapResult.warnings);
625
+ // Determine overall certification
626
+ certification.certified = certification.compliance.errors.length === 0;
627
+ certification.certificationLevel = certification.certified ?
628
+ (certification.compliance.warnings.length === 0 ? 'full' : 'conditional') : 'failed';
629
+ return certification;
630
+ }
631
+ catch (error) {
632
+ return {
633
+ id: specName,
634
+ type: 'specification',
635
+ certified: false,
636
+ certificationLevel: 'error',
637
+ error: error instanceof Error ? error.message : String(error),
638
+ timestamp: new Date().toISOString()
639
+ };
640
+ }
641
+ }
642
+ async performACAPCertification(agentId) {
643
+ // ACAP (Agent Capability Assurance Protocol) certification
644
+ const result = { compliant: true, errors: [], warnings: [] };
645
+ try {
646
+ // Check for agent capability manifest
647
+ const capabilityManifestPath = join(this.config.agentsDir, agentId, 'capabilities.json');
648
+ if (!existsSync(capabilityManifestPath)) {
649
+ result.errors.push('ACAP: Missing capabilities.json manifest file');
650
+ result.compliant = false;
651
+ }
652
+ else {
653
+ // Validate capability manifest structure
654
+ const capabilitiesContent = readFileSync(capabilityManifestPath, 'utf8');
655
+ try {
656
+ const capabilities = JSON.parse(capabilitiesContent);
657
+ if (!capabilities.version || !capabilities.capabilities || !Array.isArray(capabilities.capabilities)) {
658
+ result.errors.push('ACAP: Invalid capabilities.json structure');
659
+ result.compliant = false;
660
+ }
661
+ }
662
+ catch (parseError) {
663
+ result.errors.push('ACAP: Invalid JSON in capabilities.json');
664
+ result.compliant = false;
665
+ }
666
+ }
667
+ // Check for performance benchmarks
668
+ const benchmarkPath = join(this.config.agentsDir, agentId, 'benchmarks.json');
669
+ if (!existsSync(benchmarkPath)) {
670
+ result.warnings.push('ACAP: Missing performance benchmarks file');
671
+ }
672
+ }
673
+ catch (error) {
674
+ result.errors.push(`ACAP certification error: ${error instanceof Error ? error.message : String(error)}`);
675
+ result.compliant = false;
676
+ }
677
+ return result;
678
+ }
679
+ async performUAPCertification(agentId) {
680
+ // UAP (Universal Agent Protocol) certification
681
+ const result = { compliant: true, errors: [], warnings: [] };
682
+ try {
683
+ // Check for agent configuration
684
+ const configPath = join(this.config.agentsDir, agentId, 'agent.json');
685
+ if (!existsSync(configPath)) {
686
+ result.errors.push('UAP: Missing agent.json configuration file');
687
+ result.compliant = false;
688
+ }
689
+ // Check for API specification
690
+ const apiSpecPath = join(this.config.agentsDir, agentId, 'api.openapi.yml');
691
+ if (!existsSync(apiSpecPath)) {
692
+ result.warnings.push('UAP: Missing OpenAPI specification');
693
+ }
694
+ }
695
+ catch (error) {
696
+ result.errors.push(`UAP certification error: ${error instanceof Error ? error.message : String(error)}`);
697
+ result.compliant = false;
698
+ }
699
+ return result;
700
+ }
701
+ async performSpecificationUAPCertification(spec) {
702
+ // UAP certification for specifications
703
+ const result = { compliant: true, errors: [], warnings: [] };
704
+ try {
705
+ // Check for required UAP extensions
706
+ if (!spec.info || !spec.info['x-uap-version']) {
707
+ result.warnings.push('UAP: Missing x-uap-version extension');
708
+ }
709
+ // Check for security schemes
710
+ if (!spec.components || !spec.components.securitySchemes) {
711
+ result.warnings.push('UAP: No security schemes defined');
712
+ }
713
+ // Check for agent metadata
714
+ if (!spec.info || !spec.info['x-agent-type']) {
715
+ result.warnings.push('UAP: Missing x-agent-type metadata');
716
+ }
717
+ }
718
+ catch (error) {
719
+ result.errors.push(`UAP specification certification error: ${error instanceof Error ? error.message : String(error)}`);
720
+ result.compliant = false;
721
+ }
722
+ return result;
723
+ }
724
+ async performUAPDiscovery(options) {
725
+ try {
726
+ const discoveryResults = [];
727
+ if (options.uadp) {
728
+ // UADP (Universal Agent Discovery Protocol) discovery
729
+ this.log('info', 'Performing UADP network discovery...');
730
+ const networkResults = await this.performUADPDiscovery(options);
731
+ discoveryResults.push(...networkResults);
732
+ }
733
+ // Local agent discovery
734
+ this.log('info', 'Discovering local UAP-compliant agents...');
735
+ const localResults = await this.performLocalAgentDiscovery(options);
736
+ discoveryResults.push(...localResults);
737
+ return discoveryResults;
738
+ }
739
+ catch (error) {
740
+ this.log('error', `Discovery error: ${error instanceof Error ? error.message : String(error)}`);
741
+ return [];
742
+ }
743
+ }
744
+ async performUADPDiscovery(options) {
745
+ // UADP network discovery implementation
746
+ const results = [];
747
+ const timeout = parseInt(options.timeout) || 5000;
748
+ const network = options.network || 'local';
749
+ try {
750
+ this.log('info', `UADP: Scanning network '${network}' (timeout: ${timeout}ms)`);
751
+ // Simulate network discovery (in real implementation, this would use UDP multicast or similar)
752
+ const mockNetworkAgents = [
753
+ {
754
+ id: 'network-agent-001',
755
+ type: 'worker',
756
+ location: 'network',
757
+ endpoint: 'http://192.168.1.100:3000',
758
+ capabilities: ['data-processing', 'analysis'],
759
+ version: '1.0.0',
760
+ uapCompliant: true,
761
+ discovered: new Date().toISOString(),
762
+ discoveryMethod: 'UADP'
763
+ },
764
+ {
765
+ id: 'network-agent-002',
766
+ type: 'orchestrator',
767
+ location: 'network',
768
+ endpoint: 'http://192.168.1.101:3000',
769
+ capabilities: ['coordination', 'workflow-management'],
770
+ version: '1.1.0',
771
+ uapCompliant: true,
772
+ discovered: new Date().toISOString(),
773
+ discoveryMethod: 'UADP'
774
+ }
775
+ ];
776
+ // Apply filters if specified
777
+ let filteredResults = mockNetworkAgents;
778
+ if (options.filter) {
779
+ const filterLower = options.filter.toLowerCase();
780
+ filteredResults = mockNetworkAgents.filter(agent => agent.type.toLowerCase().includes(filterLower) ||
781
+ agent.capabilities.some(cap => cap.toLowerCase().includes(filterLower)) ||
782
+ agent.version.includes(options.filter));
783
+ }
784
+ results.push(...filteredResults);
785
+ }
786
+ catch (error) {
787
+ this.log('error', `UADP discovery error: ${error instanceof Error ? error.message : String(error)}`);
788
+ }
789
+ return results;
790
+ }
791
+ async performLocalAgentDiscovery(options) {
792
+ try {
793
+ const agents = this.getAllAgents();
794
+ const results = [];
795
+ for (const agent of agents) {
796
+ try {
797
+ const agentInfo = {
798
+ id: agent.name,
799
+ type: 'unknown',
800
+ location: 'local',
801
+ path: agent.path,
802
+ capabilities: [],
803
+ version: 'unknown',
804
+ uapCompliant: false,
805
+ discovered: new Date().toISOString(),
806
+ discoveryMethod: 'local'
807
+ };
808
+ // Try to load agent configuration
809
+ const configPath = join(agent.path, 'agent.json');
810
+ if (existsSync(configPath)) {
811
+ const configContent = readFileSync(configPath, 'utf8');
812
+ const config = JSON.parse(configContent);
813
+ agentInfo.type = config.type || 'unknown';
814
+ agentInfo.version = config.version || 'unknown';
815
+ agentInfo.capabilities = config.capabilities || [];
816
+ agentInfo.uapCompliant = config.uapCompliant || false;
817
+ }
818
+ // Apply filters if specified
819
+ if (options.filter) {
820
+ const filterLower = options.filter.toLowerCase();
821
+ const matchesFilter = agentInfo.type.toLowerCase().includes(filterLower) ||
822
+ agentInfo.capabilities.some(cap => cap.toLowerCase().includes(filterLower)) ||
823
+ agentInfo.version.includes(options.filter);
824
+ if (matchesFilter) {
825
+ results.push(agentInfo);
826
+ }
827
+ }
828
+ else {
829
+ results.push(agentInfo);
830
+ }
831
+ }
832
+ catch (error) {
833
+ this.log('warn', `Failed to discover agent ${agent.name}: ${error instanceof Error ? error.message : String(error)}`);
834
+ }
835
+ }
836
+ return results;
837
+ }
838
+ catch (error) {
839
+ this.log('error', `Local discovery error: ${error instanceof Error ? error.message : String(error)}`);
840
+ return [];
841
+ }
842
+ }
843
+ outputCertificationResults(results, format) {
844
+ if (format === 'json') {
845
+ console.log(JSON.stringify(results, null, 2));
846
+ }
847
+ else if (format === 'yaml') {
848
+ console.log(yaml.dump(results));
849
+ }
850
+ else {
851
+ // Table format
852
+ const tableData = results.map(result => ({
853
+ ID: result.id,
854
+ Type: result.type,
855
+ Certified: result.certified ? '✅' : '❌',
856
+ Level: result.certificationLevel,
857
+ 'UAP Compliant': result.compliance?.uapCompliant ? '✅' : '❌',
858
+ 'ACAP Compliant': result.compliance?.acapCompliant ? '✅' : '❌',
859
+ Errors: result.compliance?.errors?.length || 0,
860
+ Warnings: result.compliance?.warnings?.length || 0
861
+ }));
862
+ console.log(chalk.cyan('\n📋 UAP Certification Results:\n'));
863
+ console.table(tableData);
864
+ }
865
+ }
866
+ outputDiscoveryResults(results, format) {
867
+ if (format === 'json') {
868
+ console.log(JSON.stringify(results, null, 2));
869
+ }
870
+ else if (format === 'yaml') {
871
+ console.log(yaml.dump(results));
872
+ }
873
+ else {
874
+ // Table format
875
+ const tableData = results.map(result => ({
876
+ ID: result.id,
877
+ Type: result.type,
878
+ Location: result.location,
879
+ Method: result.discoveryMethod,
880
+ 'UAP Compliant': result.uapCompliant ? '✅' : '❌',
881
+ Capabilities: result.capabilities.slice(0, 3).join(', ') + (result.capabilities.length > 3 ? '...' : ''),
882
+ Version: result.version,
883
+ Endpoint: result.endpoint || result.path || 'N/A'
884
+ }));
885
+ console.log(chalk.cyan('\n🔍 UAP Discovery Results:\n'));
886
+ console.table(tableData);
887
+ }
888
+ }
889
+ // Helper methods
890
+ getSpecTemplate(template) {
891
+ const templates = {
892
+ basic: {
893
+ openapi: '3.1.0',
894
+ info: {
895
+ title: 'API',
896
+ version: '1.0.0'
897
+ },
898
+ paths: {}
899
+ },
900
+ advanced: {
901
+ openapi: '3.1.0',
902
+ info: {
903
+ title: 'API',
904
+ version: '1.0.0'
905
+ },
906
+ servers: [
907
+ { url: 'http://localhost:3000/api/v1', description: 'Development server' }
908
+ ],
909
+ paths: {},
910
+ components: {
911
+ schemas: {}
912
+ }
913
+ },
914
+ industrial: {
915
+ openapi: '3.1.0',
916
+ info: {
917
+ title: 'Industrial API',
918
+ version: '1.0.0'
919
+ },
920
+ servers: [
921
+ { url: 'http://localhost:3000/api/v1', description: 'Development server' }
922
+ ],
923
+ paths: {
924
+ '/opcua/connect': {
925
+ post: {
926
+ summary: 'Connect to OPC UA server',
927
+ operationId: 'connectOpcUa',
928
+ requestBody: {
929
+ required: true,
930
+ content: {
931
+ 'application/json': {
932
+ schema: {
933
+ type: 'object',
934
+ properties: {
935
+ endpoint: { type: 'string' },
936
+ securityMode: { type: 'string' }
937
+ }
938
+ }
939
+ }
940
+ }
941
+ },
942
+ responses: {
943
+ '200': {
944
+ description: 'Connection successful'
945
+ }
946
+ }
947
+ }
948
+ }
949
+ },
950
+ components: {
951
+ schemas: {}
952
+ }
953
+ }
954
+ };
955
+ return templates[template] || templates.basic;
956
+ }
957
+ getAllSpecifications() {
958
+ try {
959
+ if (!existsSync(this.config.specsDir))
960
+ return [];
961
+ return readdirSync(this.config.specsDir)
962
+ .filter(file => file.endsWith('.openapi.yml') || file.endsWith('.openapi.yaml'))
963
+ .map(file => {
964
+ const filePath = join(this.config.specsDir, file);
965
+ const stats = statSync(filePath);
966
+ return {
967
+ name: file.replace(/\.openapi\.ya?ml$/, ''),
968
+ path: filePath,
969
+ lastModified: stats.mtime.toISOString(),
970
+ size: stats.size
971
+ };
972
+ });
973
+ }
974
+ catch (error) {
975
+ this.log('error', `Failed to get specifications: ${error instanceof Error ? error.message : String(error)}`);
976
+ return [];
977
+ }
978
+ }
979
+ getAllAgents() {
980
+ try {
981
+ if (!existsSync(this.config.agentsDir))
982
+ return [];
983
+ return readdirSync(this.config.agentsDir, { withFileTypes: true })
984
+ .filter(dirent => dirent.isDirectory())
985
+ .map(dirent => ({
986
+ name: dirent.name,
987
+ path: join(this.config.agentsDir, dirent.name)
988
+ }));
989
+ }
990
+ catch (error) {
991
+ this.log('error', `Failed to get agents: ${error instanceof Error ? error.message : String(error)}`);
992
+ return [];
993
+ }
994
+ }
995
+ async validateAllSpecifications() {
996
+ const specs = this.getAllSpecifications();
997
+ for (const spec of specs) {
998
+ await this.validateSpecification(spec.name);
999
+ }
1000
+ }
1001
+ async validateAllAgents() {
1002
+ const agents = this.getAllAgents();
1003
+ for (const agent of agents) {
1004
+ await this.validateAgent(agent.name);
1005
+ }
1006
+ }
1007
+ async validateSpecification(name) {
1008
+ try {
1009
+ const specPath = join(this.config.specsDir, `${name}.openapi.yml`);
1010
+ if (!existsSync(specPath)) {
1011
+ this.log('error', `Specification not found: ${name}`);
1012
+ return false;
1013
+ }
1014
+ const content = readFileSync(specPath, 'utf8');
1015
+ const spec = yaml.load(content);
1016
+ const validation = OpenAPISchema.safeParse(spec);
1017
+ if (validation.success) {
1018
+ this.log('info', `✅ Specification ${name} is valid`);
1019
+ return true;
1020
+ }
1021
+ else {
1022
+ this.log('error', `❌ Specification ${name} is invalid`, validation.error.issues);
1023
+ return false;
1024
+ }
1025
+ }
1026
+ catch (error) {
1027
+ this.log('error', `Failed to validate specification ${name}: ${error instanceof Error ? error.message : String(error)}`);
1028
+ return false;
1029
+ }
1030
+ }
1031
+ async validateAgent(agentId) {
1032
+ try {
1033
+ // TODO: Implement agent validation logic
1034
+ this.log('info', `Validating agent: ${agentId}`);
1035
+ return true;
1036
+ }
1037
+ catch (error) {
1038
+ this.log('error', `Failed to validate agent ${agentId}: ${error instanceof Error ? error.message : String(error)}`);
1039
+ return false;
1040
+ }
1041
+ }
1042
+ async generateTypes(specName) {
1043
+ try {
1044
+ this.log('info', `Generating TypeScript types for ${specName}...`);
1045
+ // TODO: Implement TypeScript type generation
1046
+ }
1047
+ catch (error) {
1048
+ this.log('error', `Failed to generate types: ${error instanceof Error ? error.message : String(error)}`);
1049
+ }
1050
+ }
1051
+ run() {
1052
+ this.program.parse();
1053
+ }
1054
+ }
1055
+ // CLI entry point for ES modules
1056
+ if (import.meta.url === `file://${process.argv[1]}`) {
1057
+ const cli = new OSSACli();
1058
+ cli.run();
1059
+ }
1060
+ export default OSSACli;
1061
+ //# sourceMappingURL=ossa-cli.js.map