@bluefly/openstandardagents 0.2.8 → 0.3.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (859) hide show
  1. package/CHANGELOG.md +1772 -185
  2. package/README.md +517 -161
  3. package/bin/ossa-generate +9 -16
  4. package/bin/quickstart +514 -0
  5. package/dist/adapters/anthropic/client.d.ts +144 -0
  6. package/dist/adapters/anthropic/client.d.ts.map +1 -0
  7. package/dist/adapters/anthropic/client.js +364 -0
  8. package/dist/adapters/anthropic/client.js.map +1 -0
  9. package/dist/adapters/anthropic/config.d.ts +149 -0
  10. package/dist/adapters/anthropic/config.d.ts.map +1 -0
  11. package/dist/adapters/anthropic/config.js +157 -0
  12. package/dist/adapters/anthropic/config.js.map +1 -0
  13. package/dist/adapters/anthropic/index.d.ts +40 -0
  14. package/dist/adapters/anthropic/index.d.ts.map +1 -0
  15. package/dist/adapters/anthropic/index.js +40 -0
  16. package/dist/adapters/anthropic/index.js.map +1 -0
  17. package/dist/adapters/anthropic/messages.d.ts +93 -0
  18. package/dist/adapters/anthropic/messages.d.ts.map +1 -0
  19. package/dist/adapters/anthropic/messages.js +318 -0
  20. package/dist/adapters/anthropic/messages.js.map +1 -0
  21. package/dist/adapters/anthropic/runtime.d.ts +136 -0
  22. package/dist/adapters/anthropic/runtime.d.ts.map +1 -0
  23. package/dist/adapters/anthropic/runtime.js +287 -0
  24. package/dist/adapters/anthropic/runtime.js.map +1 -0
  25. package/dist/adapters/anthropic/tools.d.ts +126 -0
  26. package/dist/adapters/anthropic/tools.d.ts.map +1 -0
  27. package/dist/adapters/anthropic/tools.js +329 -0
  28. package/dist/adapters/anthropic/tools.js.map +1 -0
  29. package/dist/adapters/crewai-adapter.d.ts +57 -0
  30. package/dist/adapters/crewai-adapter.d.ts.map +1 -0
  31. package/dist/adapters/crewai-adapter.js +164 -0
  32. package/dist/adapters/crewai-adapter.js.map +1 -0
  33. package/dist/adapters/drupal/index.d.ts +109 -0
  34. package/dist/adapters/drupal/index.d.ts.map +1 -0
  35. package/dist/adapters/drupal/index.js +292 -0
  36. package/dist/adapters/drupal/index.js.map +1 -0
  37. package/dist/adapters/langchain-adapter.d.ts +45 -0
  38. package/dist/adapters/langchain-adapter.d.ts.map +1 -0
  39. package/dist/adapters/langchain-adapter.js +133 -0
  40. package/dist/adapters/langchain-adapter.js.map +1 -0
  41. package/dist/adapters/langflow-adapter.d.ts +50 -0
  42. package/dist/adapters/langflow-adapter.d.ts.map +1 -0
  43. package/dist/adapters/langflow-adapter.js +232 -0
  44. package/dist/adapters/langflow-adapter.js.map +1 -0
  45. package/dist/adapters/openapi-adapter.d.ts +93 -0
  46. package/dist/adapters/openapi-adapter.d.ts.map +1 -0
  47. package/dist/adapters/openapi-adapter.js +311 -0
  48. package/dist/adapters/openapi-adapter.js.map +1 -0
  49. package/dist/adapters/symfony/index.d.ts +163 -0
  50. package/dist/adapters/symfony/index.d.ts.map +1 -0
  51. package/dist/adapters/symfony/index.js +271 -0
  52. package/dist/adapters/symfony/index.js.map +1 -0
  53. package/dist/cli/commands/agents-md.command.d.ts +7 -0
  54. package/dist/cli/commands/agents-md.command.d.ts.map +1 -0
  55. package/dist/cli/commands/agents-md.command.js +148 -0
  56. package/dist/cli/commands/agents-md.command.js.map +1 -0
  57. package/dist/cli/commands/contract.command.d.ts +10 -0
  58. package/dist/cli/commands/contract.command.d.ts.map +1 -0
  59. package/dist/cli/commands/contract.command.js +402 -0
  60. package/dist/cli/commands/contract.command.js.map +1 -0
  61. package/dist/cli/commands/dependencies.command.d.ts +10 -0
  62. package/dist/cli/commands/dependencies.command.d.ts.map +1 -0
  63. package/dist/cli/commands/dependencies.command.js +318 -0
  64. package/dist/cli/commands/dependencies.command.js.map +1 -0
  65. package/dist/cli/commands/deploy.command.d.ts +4 -0
  66. package/dist/cli/commands/deploy.command.d.ts.map +1 -0
  67. package/dist/cli/commands/deploy.command.js +172 -0
  68. package/dist/cli/commands/deploy.command.js.map +1 -0
  69. package/dist/cli/commands/deploy.d.ts +22 -0
  70. package/dist/cli/commands/deploy.d.ts.map +1 -0
  71. package/dist/cli/commands/deploy.js +319 -0
  72. package/dist/cli/commands/deploy.js.map +1 -0
  73. package/dist/cli/commands/export.command.d.ts +7 -0
  74. package/dist/cli/commands/export.command.d.ts.map +1 -0
  75. package/dist/cli/commands/export.command.js +56 -0
  76. package/dist/cli/commands/export.command.js.map +1 -0
  77. package/dist/cli/commands/generate.command.d.ts +7 -0
  78. package/dist/cli/commands/generate.command.d.ts.map +1 -0
  79. package/dist/cli/commands/generate.command.js +66 -0
  80. package/dist/cli/commands/generate.command.js.map +1 -0
  81. package/dist/cli/commands/github-sync.command.d.ts +3 -0
  82. package/dist/cli/commands/github-sync.command.d.ts.map +1 -0
  83. package/dist/cli/commands/github-sync.command.js +51 -0
  84. package/dist/cli/commands/github-sync.command.js.map +1 -0
  85. package/dist/cli/commands/gitlab-agent.command.d.ts +8 -0
  86. package/dist/cli/commands/gitlab-agent.command.d.ts.map +1 -0
  87. package/dist/cli/commands/gitlab-agent.command.js +201 -0
  88. package/dist/cli/commands/gitlab-agent.command.js.map +1 -0
  89. package/dist/cli/commands/import.command.d.ts +7 -0
  90. package/dist/cli/commands/import.command.d.ts.map +1 -0
  91. package/dist/cli/commands/import.command.js +36 -0
  92. package/dist/cli/commands/import.command.js.map +1 -0
  93. package/dist/cli/commands/info.command.d.ts +3 -0
  94. package/dist/cli/commands/info.command.d.ts.map +1 -0
  95. package/dist/cli/commands/info.command.js +45 -0
  96. package/dist/cli/commands/info.command.js.map +1 -0
  97. package/dist/cli/commands/init.command.d.ts +7 -0
  98. package/dist/cli/commands/init.command.d.ts.map +1 -0
  99. package/dist/cli/commands/init.command.js +139 -0
  100. package/dist/cli/commands/init.command.js.map +1 -0
  101. package/dist/cli/commands/install.command.d.ts +3 -0
  102. package/dist/cli/commands/install.command.d.ts.map +1 -0
  103. package/dist/cli/commands/install.command.js +44 -0
  104. package/dist/cli/commands/install.command.js.map +1 -0
  105. package/dist/cli/commands/migrate.command.d.ts +22 -0
  106. package/dist/cli/commands/migrate.command.d.ts.map +1 -0
  107. package/dist/cli/commands/migrate.command.js +157 -0
  108. package/dist/cli/commands/migrate.command.js.map +1 -0
  109. package/dist/cli/commands/publish.command.d.ts +3 -0
  110. package/dist/cli/commands/publish.command.d.ts.map +1 -0
  111. package/dist/cli/commands/publish.command.js +76 -0
  112. package/dist/cli/commands/publish.command.js.map +1 -0
  113. package/dist/cli/commands/quickstart.command.d.ts +10 -0
  114. package/dist/cli/commands/quickstart.command.d.ts.map +1 -0
  115. package/dist/cli/commands/quickstart.command.js +257 -0
  116. package/dist/cli/commands/quickstart.command.js.map +1 -0
  117. package/dist/cli/commands/release.command.d.ts +8 -0
  118. package/dist/cli/commands/release.command.d.ts.map +1 -0
  119. package/dist/cli/commands/release.command.js +641 -0
  120. package/dist/cli/commands/release.command.js.map +1 -0
  121. package/dist/cli/commands/run.command.d.ts +7 -0
  122. package/dist/cli/commands/run.command.d.ts.map +1 -0
  123. package/dist/cli/commands/run.command.js +125 -0
  124. package/dist/cli/commands/run.command.js.map +1 -0
  125. package/dist/cli/commands/schema.command.d.ts +7 -0
  126. package/dist/cli/commands/schema.command.d.ts.map +1 -0
  127. package/dist/cli/commands/schema.command.js +76 -0
  128. package/dist/cli/commands/schema.command.js.map +1 -0
  129. package/dist/cli/commands/search.command.d.ts +3 -0
  130. package/dist/cli/commands/search.command.d.ts.map +1 -0
  131. package/dist/cli/commands/search.command.js +45 -0
  132. package/dist/cli/commands/search.command.js.map +1 -0
  133. package/dist/cli/commands/setup.command.d.ts +11 -0
  134. package/dist/cli/commands/setup.command.d.ts.map +1 -0
  135. package/dist/cli/commands/setup.command.js +350 -0
  136. package/dist/cli/commands/setup.command.js.map +1 -0
  137. package/dist/cli/commands/sync.command.d.ts +3 -0
  138. package/dist/cli/commands/sync.command.d.ts.map +1 -0
  139. package/dist/cli/commands/sync.command.js +51 -0
  140. package/dist/cli/commands/sync.command.js.map +1 -0
  141. package/dist/cli/commands/test.command.d.ts +3 -0
  142. package/dist/cli/commands/test.command.d.ts.map +1 -0
  143. package/dist/cli/commands/test.command.js +91 -0
  144. package/dist/cli/commands/test.command.js.map +1 -0
  145. package/dist/cli/commands/validate.command.d.ts +7 -0
  146. package/dist/cli/commands/validate.command.d.ts.map +1 -0
  147. package/dist/cli/commands/validate.command.js +143 -0
  148. package/dist/cli/commands/validate.command.js.map +1 -0
  149. package/dist/cli/index.d.ts +7 -0
  150. package/dist/cli/index.d.ts.map +1 -0
  151. package/dist/cli/index.js +148 -0
  152. package/dist/cli/index.js.map +1 -0
  153. package/dist/cli/utils/error-formatter.d.ts +19 -0
  154. package/dist/cli/utils/error-formatter.d.ts.map +1 -0
  155. package/dist/cli/utils/error-formatter.js +330 -0
  156. package/dist/cli/utils/error-formatter.js.map +1 -0
  157. package/dist/deploy/base-driver.d.ts +39 -0
  158. package/dist/deploy/base-driver.d.ts.map +1 -0
  159. package/dist/deploy/base-driver.js +63 -0
  160. package/dist/deploy/base-driver.js.map +1 -0
  161. package/dist/deploy/docker-driver.d.ts +32 -0
  162. package/dist/deploy/docker-driver.d.ts.map +1 -0
  163. package/dist/deploy/docker-driver.js +246 -0
  164. package/dist/deploy/docker-driver.js.map +1 -0
  165. package/dist/deploy/index.d.ts +15 -0
  166. package/dist/deploy/index.d.ts.map +1 -0
  167. package/dist/deploy/index.js +28 -0
  168. package/dist/deploy/index.js.map +1 -0
  169. package/dist/deploy/k8s-driver.d.ts +40 -0
  170. package/dist/deploy/k8s-driver.d.ts.map +1 -0
  171. package/dist/deploy/k8s-driver.js +372 -0
  172. package/dist/deploy/k8s-driver.js.map +1 -0
  173. package/dist/deploy/local-driver.d.ts +20 -0
  174. package/dist/deploy/local-driver.d.ts.map +1 -0
  175. package/dist/deploy/local-driver.js +150 -0
  176. package/dist/deploy/local-driver.js.map +1 -0
  177. package/dist/deploy/types.d.ts +103 -0
  178. package/dist/deploy/types.d.ts.map +1 -0
  179. package/dist/deploy/types.js +6 -0
  180. package/dist/deploy/types.js.map +1 -0
  181. package/dist/di-container.d.ts.map +1 -1
  182. package/dist/di-container.js +14 -0
  183. package/dist/di-container.js.map +1 -1
  184. package/dist/index.d.ts +2 -1
  185. package/dist/index.d.ts.map +1 -1
  186. package/dist/index.js +3 -1
  187. package/dist/index.js.map +1 -1
  188. package/dist/mesh/client.d.ts +144 -0
  189. package/dist/mesh/client.d.ts.map +1 -0
  190. package/dist/mesh/client.js +424 -0
  191. package/dist/mesh/client.js.map +1 -0
  192. package/dist/mesh/discovery.d.ts +176 -0
  193. package/dist/mesh/discovery.d.ts.map +1 -0
  194. package/dist/mesh/discovery.js +288 -0
  195. package/dist/mesh/discovery.js.map +1 -0
  196. package/dist/mesh/index.d.ts +89 -0
  197. package/dist/mesh/index.d.ts.map +1 -0
  198. package/dist/mesh/index.js +92 -0
  199. package/dist/mesh/index.js.map +1 -0
  200. package/dist/mesh/routing.d.ts +158 -0
  201. package/dist/mesh/routing.d.ts.map +1 -0
  202. package/dist/mesh/routing.js +360 -0
  203. package/dist/mesh/routing.js.map +1 -0
  204. package/dist/mesh/types.d.ts +439 -0
  205. package/dist/mesh/types.d.ts.map +1 -0
  206. package/dist/mesh/types.js +6 -0
  207. package/dist/mesh/types.js.map +1 -0
  208. package/dist/messaging/broker.d.ts +76 -0
  209. package/dist/messaging/broker.d.ts.map +1 -0
  210. package/dist/messaging/broker.js +145 -0
  211. package/dist/messaging/broker.js.map +1 -0
  212. package/dist/messaging/channels.d.ts +70 -0
  213. package/dist/messaging/channels.d.ts.map +1 -0
  214. package/dist/messaging/channels.js +183 -0
  215. package/dist/messaging/channels.js.map +1 -0
  216. package/dist/messaging/index.d.ts +10 -0
  217. package/dist/messaging/index.d.ts.map +1 -0
  218. package/dist/messaging/index.js +10 -0
  219. package/dist/messaging/index.js.map +1 -0
  220. package/dist/messaging/protocols/memory.d.ts +83 -0
  221. package/dist/messaging/protocols/memory.d.ts.map +1 -0
  222. package/dist/messaging/protocols/memory.js +293 -0
  223. package/dist/messaging/protocols/memory.js.map +1 -0
  224. package/dist/messaging/protocols/redis.d.ts +83 -0
  225. package/dist/messaging/protocols/redis.d.ts.map +1 -0
  226. package/dist/messaging/protocols/redis.js +223 -0
  227. package/dist/messaging/protocols/redis.js.map +1 -0
  228. package/dist/messaging/types.d.ts +180 -0
  229. package/dist/messaging/types.d.ts.map +1 -0
  230. package/dist/messaging/types.js +6 -0
  231. package/dist/messaging/types.js.map +1 -0
  232. package/dist/repositories/manifest.repository.d.ts +1 -1
  233. package/dist/repositories/manifest.repository.d.ts.map +1 -1
  234. package/dist/repositories/manifest.repository.js +7 -6
  235. package/dist/repositories/manifest.repository.js.map +1 -1
  236. package/dist/repositories/schema.repository.d.ts +4 -0
  237. package/dist/repositories/schema.repository.d.ts.map +1 -1
  238. package/dist/repositories/schema.repository.js +10 -3
  239. package/dist/repositories/schema.repository.js.map +1 -1
  240. package/dist/sdk/events/cloudevents-emitter.d.ts +56 -0
  241. package/dist/sdk/events/cloudevents-emitter.d.ts.map +1 -0
  242. package/dist/sdk/events/cloudevents-emitter.js +101 -0
  243. package/dist/sdk/events/cloudevents-emitter.js.map +1 -0
  244. package/dist/sdk/events/index.d.ts +2 -0
  245. package/dist/sdk/events/index.d.ts.map +1 -0
  246. package/dist/sdk/events/index.js +2 -0
  247. package/dist/sdk/events/index.js.map +1 -0
  248. package/dist/sdk/tracing/index.d.ts +2 -0
  249. package/dist/sdk/tracing/index.d.ts.map +1 -0
  250. package/dist/sdk/tracing/index.js +2 -0
  251. package/dist/sdk/tracing/index.js.map +1 -0
  252. package/dist/sdk/tracing/w3c-baggage.d.ts +40 -0
  253. package/dist/sdk/tracing/w3c-baggage.d.ts.map +1 -0
  254. package/dist/sdk/tracing/w3c-baggage.js +148 -0
  255. package/dist/sdk/tracing/w3c-baggage.js.map +1 -0
  256. package/dist/services/agent-services/qdrant.service.d.ts +60 -0
  257. package/dist/services/agent-services/qdrant.service.d.ts.map +1 -0
  258. package/dist/services/agent-services/qdrant.service.js +168 -0
  259. package/dist/services/agent-services/qdrant.service.js.map +1 -0
  260. package/dist/services/agents-md/agents-md.service.d.ts +61 -0
  261. package/dist/services/agents-md/agents-md.service.d.ts.map +1 -0
  262. package/dist/services/agents-md/agents-md.service.js +348 -0
  263. package/dist/services/agents-md/agents-md.service.js.map +1 -0
  264. package/dist/services/deployment/deployment.service.d.ts +19 -0
  265. package/dist/services/deployment/deployment.service.d.ts.map +1 -0
  266. package/dist/services/deployment/deployment.service.js +87 -0
  267. package/dist/services/deployment/deployment.service.js.map +1 -0
  268. package/dist/services/generation.service.d.ts +3 -1
  269. package/dist/services/generation.service.d.ts.map +1 -1
  270. package/dist/services/generation.service.js +34 -68
  271. package/dist/services/generation.service.js.map +1 -1
  272. package/dist/services/github-sync/github-client.js +2 -2
  273. package/dist/services/github-sync/github-client.js.map +1 -1
  274. package/dist/services/github-sync/schemas.d.ts +1 -1
  275. package/dist/services/github-sync/schemas.d.ts.map +1 -1
  276. package/dist/services/github-sync/schemas.js.map +1 -1
  277. package/dist/services/github-sync/sync.service.d.ts.map +1 -1
  278. package/dist/services/github-sync/sync.service.js +4 -2
  279. package/dist/services/github-sync/sync.service.js.map +1 -1
  280. package/dist/services/gitlab-agent.service.d.ts.map +1 -1
  281. package/dist/services/gitlab-agent.service.js +3 -1
  282. package/dist/services/gitlab-agent.service.js.map +1 -1
  283. package/dist/services/messaging/example.d.ts +6 -0
  284. package/dist/services/messaging/example.d.ts.map +1 -0
  285. package/dist/services/messaging/example.js +260 -0
  286. package/dist/services/messaging/example.js.map +1 -0
  287. package/dist/services/messaging/index.d.ts +81 -0
  288. package/dist/services/messaging/index.d.ts.map +1 -0
  289. package/dist/services/messaging/index.js +85 -0
  290. package/dist/services/messaging/index.js.map +1 -0
  291. package/dist/services/messaging/memory-broker.d.ts +103 -0
  292. package/dist/services/messaging/memory-broker.d.ts.map +1 -0
  293. package/dist/services/messaging/memory-broker.js +435 -0
  294. package/dist/services/messaging/memory-broker.js.map +1 -0
  295. package/dist/services/messaging/messaging.service.d.ts +150 -0
  296. package/dist/services/messaging/messaging.service.d.ts.map +1 -0
  297. package/dist/services/messaging/messaging.service.js +456 -0
  298. package/dist/services/messaging/messaging.service.js.map +1 -0
  299. package/dist/services/messaging/messaging.types.d.ts +319 -0
  300. package/dist/services/messaging/messaging.types.d.ts.map +1 -0
  301. package/dist/services/messaging/messaging.types.js +68 -0
  302. package/dist/services/messaging/messaging.types.js.map +1 -0
  303. package/dist/services/migration.service.d.ts +45 -4
  304. package/dist/services/migration.service.d.ts.map +1 -1
  305. package/dist/services/migration.service.js +248 -31
  306. package/dist/services/migration.service.js.map +1 -1
  307. package/dist/services/registry/registry.service.d.ts +39 -0
  308. package/dist/services/registry/registry.service.d.ts.map +1 -0
  309. package/dist/services/registry/registry.service.js +169 -0
  310. package/dist/services/registry/registry.service.js.map +1 -0
  311. package/dist/services/release-automation/base-crud.service.d.ts.map +1 -1
  312. package/dist/services/release-automation/base-crud.service.js.map +1 -1
  313. package/dist/services/release-automation/merge-request.service.d.ts.map +1 -1
  314. package/dist/services/release-automation/merge-request.service.js +4 -4
  315. package/dist/services/release-automation/merge-request.service.js.map +1 -1
  316. package/dist/services/release-automation/milestone.service.d.ts.map +1 -1
  317. package/dist/services/release-automation/milestone.service.js.map +1 -1
  318. package/dist/services/release-automation/release.service.d.ts +4 -4
  319. package/dist/services/release-automation/release.service.d.ts.map +1 -1
  320. package/dist/services/release-automation/release.service.js +1 -3
  321. package/dist/services/release-automation/release.service.js.map +1 -1
  322. package/dist/services/release-automation/schemas/release.schema.d.ts +3 -3
  323. package/dist/services/release-automation/schemas/release.schema.d.ts.map +1 -1
  324. package/dist/services/release-automation/schemas/release.schema.js +11 -23
  325. package/dist/services/release-automation/schemas/release.schema.js.map +1 -1
  326. package/dist/services/release-automation/tag.service.d.ts.map +1 -1
  327. package/dist/services/release-automation/tag.service.js +4 -1
  328. package/dist/services/release-automation/tag.service.js.map +1 -1
  329. package/dist/services/release-automation/webhook.service.d.ts +2 -2
  330. package/dist/services/release-automation/webhook.service.d.ts.map +1 -1
  331. package/dist/services/release-automation/webhook.service.js +30 -17
  332. package/dist/services/release-automation/webhook.service.js.map +1 -1
  333. package/dist/services/runtime/anthropic.adapter.d.ts +145 -0
  334. package/dist/services/runtime/anthropic.adapter.d.ts.map +1 -0
  335. package/dist/services/runtime/anthropic.adapter.js +525 -0
  336. package/dist/services/runtime/anthropic.adapter.js.map +1 -0
  337. package/dist/services/runtime/azure.adapter.d.ts +389 -0
  338. package/dist/services/runtime/azure.adapter.d.ts.map +1 -0
  339. package/dist/services/runtime/azure.adapter.js +515 -0
  340. package/dist/services/runtime/azure.adapter.js.map +1 -0
  341. package/dist/services/runtime/bedrock.adapter.d.ts +170 -0
  342. package/dist/services/runtime/bedrock.adapter.d.ts.map +1 -0
  343. package/dist/services/runtime/bedrock.adapter.js +667 -0
  344. package/dist/services/runtime/bedrock.adapter.js.map +1 -0
  345. package/dist/services/runtime/claude/capability-mapper.d.ts.map +1 -1
  346. package/dist/services/runtime/claude/capability-mapper.js.map +1 -1
  347. package/dist/services/runtime/claude/claude-adapter.d.ts +1 -1
  348. package/dist/services/runtime/claude/claude-adapter.d.ts.map +1 -1
  349. package/dist/services/runtime/claude/claude-adapter.js +4 -8
  350. package/dist/services/runtime/claude/claude-adapter.js.map +1 -1
  351. package/dist/services/runtime/claude/manifest-parser.d.ts.map +1 -1
  352. package/dist/services/runtime/claude/manifest-parser.js +2 -2
  353. package/dist/services/runtime/claude/manifest-parser.js.map +1 -1
  354. package/dist/services/runtime/gemini.adapter.d.ts +190 -0
  355. package/dist/services/runtime/gemini.adapter.d.ts.map +1 -0
  356. package/dist/services/runtime/gemini.adapter.js +603 -0
  357. package/dist/services/runtime/gemini.adapter.js.map +1 -0
  358. package/dist/services/runtime/mistral.adapter.d.ts +201 -0
  359. package/dist/services/runtime/mistral.adapter.d.ts.map +1 -0
  360. package/dist/services/runtime/mistral.adapter.js +654 -0
  361. package/dist/services/runtime/mistral.adapter.js.map +1 -0
  362. package/dist/services/runtime/ollama.adapter.d.ts +187 -0
  363. package/dist/services/runtime/ollama.adapter.d.ts.map +1 -0
  364. package/dist/services/runtime/ollama.adapter.js +525 -0
  365. package/dist/services/runtime/ollama.adapter.js.map +1 -0
  366. package/dist/services/runtime/openai.adapter.d.ts.map +1 -1
  367. package/dist/services/runtime/openai.adapter.js.map +1 -1
  368. package/dist/services/test-runner/test-runner.service.d.ts +21 -0
  369. package/dist/services/test-runner/test-runner.service.d.ts.map +1 -0
  370. package/dist/services/test-runner/test-runner.service.js +91 -0
  371. package/dist/services/test-runner/test-runner.service.js.map +1 -0
  372. package/dist/services/validation.service.d.ts.map +1 -1
  373. package/dist/services/validation.service.js +38 -13
  374. package/dist/services/validation.service.js.map +1 -1
  375. package/dist/services/validators/anthropic.validator.d.ts.map +1 -1
  376. package/dist/services/validators/anthropic.validator.js +2 -5
  377. package/dist/services/validators/anthropic.validator.js.map +1 -1
  378. package/dist/services/validators/autogen.validator.d.ts.map +1 -1
  379. package/dist/services/validators/autogen.validator.js +1 -2
  380. package/dist/services/validators/autogen.validator.js.map +1 -1
  381. package/dist/services/validators/contract.validator.d.ts +90 -0
  382. package/dist/services/validators/contract.validator.d.ts.map +1 -0
  383. package/dist/services/validators/contract.validator.js +508 -0
  384. package/dist/services/validators/contract.validator.js.map +1 -0
  385. package/dist/services/validators/crewai.validator.d.ts.map +1 -1
  386. package/dist/services/validators/crewai.validator.js.map +1 -1
  387. package/dist/services/validators/cursor.validator.d.ts.map +1 -1
  388. package/dist/services/validators/cursor.validator.js.map +1 -1
  389. package/dist/services/validators/dependencies.validator.d.ts +104 -0
  390. package/dist/services/validators/dependencies.validator.d.ts.map +1 -0
  391. package/dist/services/validators/dependencies.validator.js +386 -0
  392. package/dist/services/validators/dependencies.validator.js.map +1 -0
  393. package/dist/services/validators/index.d.ts +1 -0
  394. package/dist/services/validators/index.d.ts.map +1 -1
  395. package/dist/services/validators/index.js +1 -0
  396. package/dist/services/validators/index.js.map +1 -1
  397. package/dist/services/validators/langchain.validator.d.ts.map +1 -1
  398. package/dist/services/validators/langchain.validator.js +4 -13
  399. package/dist/services/validators/langchain.validator.js.map +1 -1
  400. package/dist/services/validators/langflow.validator.d.ts.map +1 -1
  401. package/dist/services/validators/langflow.validator.js +1 -2
  402. package/dist/services/validators/langflow.validator.js.map +1 -1
  403. package/dist/services/validators/langgraph.validator.d.ts.map +1 -1
  404. package/dist/services/validators/langgraph.validator.js +1 -2
  405. package/dist/services/validators/langgraph.validator.js.map +1 -1
  406. package/dist/services/validators/llamaindex.validator.d.ts.map +1 -1
  407. package/dist/services/validators/llamaindex.validator.js +4 -13
  408. package/dist/services/validators/llamaindex.validator.js.map +1 -1
  409. package/dist/services/validators/messaging.validator.d.ts +77 -0
  410. package/dist/services/validators/messaging.validator.d.ts.map +1 -0
  411. package/dist/services/validators/messaging.validator.js +296 -0
  412. package/dist/services/validators/messaging.validator.js.map +1 -0
  413. package/dist/services/validators/openai.validator.d.ts.map +1 -1
  414. package/dist/services/validators/openai.validator.js +1 -6
  415. package/dist/services/validators/openai.validator.js.map +1 -1
  416. package/dist/services/validators/vercel-ai.validator.d.ts.map +1 -1
  417. package/dist/services/validators/vercel-ai.validator.js +1 -3
  418. package/dist/services/validators/vercel-ai.validator.js.map +1 -1
  419. package/dist/spec/extensions/a2a-messaging.md +471 -0
  420. package/dist/spec/extensions/manifest-extensions.md +550 -0
  421. package/dist/spec/registry/README.md +472 -0
  422. package/dist/spec/registry/openapi.yaml +1124 -0
  423. package/dist/spec/registry/registry-api.schema.json +731 -0
  424. package/dist/spec/registry/registry-spec.md +2239 -0
  425. package/dist/spec/schema/agent-test.schema.json +117 -0
  426. package/dist/spec/schema/components/activity-stream.schema.json +94 -0
  427. package/dist/spec/schema/components/constraints.schema.json +84 -0
  428. package/dist/spec/schema/components/dependencies.schema.json +147 -0
  429. package/dist/spec/schema/components/encryption.schema.json +115 -0
  430. package/dist/spec/schema/components/identity.schema.json +48 -0
  431. package/dist/spec/schema/components/index.json +37 -0
  432. package/dist/spec/schema/components/llm-config.schema.json +67 -0
  433. package/dist/spec/schema/components/metadata.schema.json +37 -0
  434. package/dist/spec/schema/components/tool.schema.json +64 -0
  435. package/dist/spec/schema/extensions/a2a.extension.schema.json +127 -0
  436. package/dist/spec/v0.2.8/ossa-0.2.8.schema.json +95 -1
  437. package/dist/spec/v0.2.9/a2a-protocol.md +1337 -0
  438. package/dist/spec/v0.2.9/agent.md +1946 -0
  439. package/dist/spec/v0.2.9/capabilities/index.yaml +25 -0
  440. package/dist/spec/v0.2.9/capabilities/memory.yaml +251 -0
  441. package/dist/spec/v0.2.9/capability-schema.md +576 -0
  442. package/dist/spec/v0.2.9/compliance-profiles.md +533 -0
  443. package/dist/spec/v0.2.9/conformance-testing.md +1527 -0
  444. package/dist/spec/v0.2.9/gitlab-duo-integration.md +621 -0
  445. package/dist/spec/v0.2.9/ossa-0.2.9.schema.json +3699 -0
  446. package/dist/spec/v0.2.9/runtime-semantics.md +464 -0
  447. package/dist/spec/v0.2.9/security-model.md +1245 -0
  448. package/dist/spec/v0.2.9/semantic-conventions.md +347 -0
  449. package/dist/spec/v0.2.9/types.ts +522 -0
  450. package/dist/spec/v0.3.0/UNIFIED-SCHEMA.md +120 -0
  451. package/dist/spec/v0.3.0/adapters/drupal.md +541 -0
  452. package/dist/spec/v0.3.0/adapters/symfony.md +659 -0
  453. package/dist/spec/v0.3.0/agent-test.schema.json +75 -0
  454. package/dist/spec/v0.3.0/examples/drupal-content-writer.ossa.yaml +110 -0
  455. package/dist/spec/v0.3.0/examples/drupal-moderation-assistant.ossa.yaml +96 -0
  456. package/dist/spec/v0.3.0/examples/quick-wins/complete-agent-with-quick-wins.ossa.yaml +144 -0
  457. package/dist/spec/v0.3.0/extensions/drupal.md +417 -0
  458. package/dist/spec/v0.3.0/ossa-0.3.0.schema.json +2787 -0
  459. package/dist/spec/v0.3.0/protocols/sse.md +494 -0
  460. package/dist/spec/v0.3.0/protocols/webrtc.md +600 -0
  461. package/dist/spec/v0.3.0/protocols/websocket.md +362 -0
  462. package/dist/spec/v0.3.0/schemas/agent-unified.yaml +165 -0
  463. package/dist/spec/v0.3.0/schemas/capabilities.yaml +102 -0
  464. package/dist/spec/v0.3.0/schemas/functions.yaml +75 -0
  465. package/dist/spec/v0.3.0/schemas/messaging/channel.schema.json +245 -0
  466. package/dist/spec/v0.3.0/schemas/messaging/delivery-receipt.schema.json +192 -0
  467. package/dist/spec/v0.3.0/schemas/messaging/message.schema.json +205 -0
  468. package/dist/spec/v0.3.0/schemas/messaging/subscription.schema.json +214 -0
  469. package/dist/spec/v0.3.0/schemas/runtime.yaml +102 -0
  470. package/dist/spec/v0.3.0/schemas/taxonomy.yaml +533 -0
  471. package/dist/spec/v0.3.0/schemas/unified-llm.yaml +91 -0
  472. package/dist/spec/v0.3.0/taxonomy.yaml +256 -0
  473. package/dist/testing/fixtures.d.ts +61 -0
  474. package/dist/testing/fixtures.d.ts.map +1 -0
  475. package/dist/testing/fixtures.js +291 -0
  476. package/dist/testing/fixtures.js.map +1 -0
  477. package/dist/testing/index.d.ts +10 -0
  478. package/dist/testing/index.d.ts.map +1 -0
  479. package/dist/testing/index.js +10 -0
  480. package/dist/testing/index.js.map +1 -0
  481. package/dist/testing/reporters/base.d.ts +24 -0
  482. package/dist/testing/reporters/base.d.ts.map +1 -0
  483. package/dist/testing/reporters/base.js +5 -0
  484. package/dist/testing/reporters/base.js.map +1 -0
  485. package/dist/testing/reporters/console.d.ts +18 -0
  486. package/dist/testing/reporters/console.d.ts.map +1 -0
  487. package/dist/testing/reporters/console.js +76 -0
  488. package/dist/testing/reporters/console.js.map +1 -0
  489. package/dist/testing/reporters/json.d.ts +29 -0
  490. package/dist/testing/reporters/json.d.ts.map +1 -0
  491. package/dist/testing/reporters/json.js +40 -0
  492. package/dist/testing/reporters/json.js.map +1 -0
  493. package/dist/testing/runner.d.ts +96 -0
  494. package/dist/testing/runner.d.ts.map +1 -0
  495. package/dist/testing/runner.js +401 -0
  496. package/dist/testing/runner.js.map +1 -0
  497. package/dist/transports/index.d.ts +8 -0
  498. package/dist/transports/index.d.ts.map +1 -0
  499. package/dist/transports/index.js +11 -0
  500. package/dist/transports/index.js.map +1 -0
  501. package/dist/transports/sse.d.ts +166 -0
  502. package/dist/transports/sse.d.ts.map +1 -0
  503. package/dist/transports/sse.js +309 -0
  504. package/dist/transports/sse.js.map +1 -0
  505. package/dist/transports/webrtc.d.ts +183 -0
  506. package/dist/transports/webrtc.d.ts.map +1 -0
  507. package/dist/transports/webrtc.js +478 -0
  508. package/dist/transports/webrtc.js.map +1 -0
  509. package/dist/transports/websocket.d.ts +204 -0
  510. package/dist/transports/websocket.d.ts.map +1 -0
  511. package/dist/transports/websocket.js +397 -0
  512. package/dist/transports/websocket.js.map +1 -0
  513. package/dist/types/generated/ossa-0.3.0.types.d.ts +316 -0
  514. package/dist/types/generated/ossa-0.3.0.types.d.ts.map +1 -0
  515. package/dist/types/generated/ossa-0.3.0.types.js +8 -0
  516. package/dist/types/generated/ossa-0.3.0.types.js.map +1 -0
  517. package/dist/types/generated/ossa-0.3.0.zod.d.ts +17 -0
  518. package/dist/types/generated/ossa-0.3.0.zod.d.ts.map +1 -0
  519. package/dist/types/generated/ossa-0.3.0.zod.js +3 -0
  520. package/dist/types/generated/ossa-0.3.0.zod.js.map +1 -0
  521. package/dist/types/index.d.ts +124 -2
  522. package/dist/types/index.d.ts.map +1 -1
  523. package/dist/types/index.js +8 -1
  524. package/dist/types/index.js.map +1 -1
  525. package/dist/types/messaging.d.ts +116 -0
  526. package/dist/types/messaging.d.ts.map +1 -0
  527. package/dist/types/messaging.js +6 -0
  528. package/dist/types/messaging.js.map +1 -0
  529. package/dist/types/policy.d.ts +377 -0
  530. package/dist/types/policy.d.ts.map +1 -0
  531. package/dist/types/policy.js +84 -0
  532. package/dist/types/policy.js.map +1 -0
  533. package/dist/types/task.d.ts +222 -0
  534. package/dist/types/task.d.ts.map +1 -0
  535. package/dist/types/task.js +40 -0
  536. package/dist/types/task.js.map +1 -0
  537. package/dist/types/workflow.d.ts +283 -0
  538. package/dist/types/workflow.d.ts.map +1 -0
  539. package/dist/types/workflow.js +51 -0
  540. package/dist/types/workflow.js.map +1 -0
  541. package/dist/utils/path-validator.d.ts +24 -0
  542. package/dist/utils/path-validator.d.ts.map +1 -0
  543. package/dist/utils/path-validator.js +70 -0
  544. package/dist/utils/path-validator.js.map +1 -0
  545. package/dist/utils/version.d.ts +17 -8
  546. package/dist/utils/version.d.ts.map +1 -1
  547. package/dist/utils/version.js +84 -30
  548. package/dist/utils/version.js.map +1 -1
  549. package/dist/utils/yaml-parser.d.ts +23 -0
  550. package/dist/utils/yaml-parser.d.ts.map +1 -0
  551. package/dist/utils/yaml-parser.js +34 -0
  552. package/dist/utils/yaml-parser.js.map +1 -0
  553. package/examples/adapters/drupal-eca-mapping.yaml +153 -0
  554. package/examples/adapters/drupal-eca-task.yaml +48 -0
  555. package/examples/adapters/drupal-flowdrop-mapping.yaml +463 -0
  556. package/examples/adapters/drupal-maestro-mapping.yaml +369 -0
  557. package/examples/adapters/mistral-README.md +367 -0
  558. package/examples/adapters/mistral-agent.yaml +147 -0
  559. package/examples/adapters/symfony-messenger-task.yaml +135 -0
  560. package/examples/adapters/symfony-messenger-workflow.yaml +352 -0
  561. package/examples/adk-integration/code-review-workflow.yml +1 -1
  562. package/examples/adk-integration/customer-support.yml +1 -1
  563. package/examples/adk-integration/data-pipeline.yml +1 -1
  564. package/examples/advanced/reasoning-agent.yaml +136 -0
  565. package/examples/advanced/workflows/hybrid-model-strategy.yaml +1 -18
  566. package/examples/agent-manifests/critics/critic-agent.yaml +1 -1
  567. package/examples/agent-manifests/governors/governor-agent.yaml +1 -1
  568. package/examples/agent-manifests/integrators/integrator-agent.yaml +1 -1
  569. package/examples/agent-manifests/judges/judge-agent.yaml +1 -1
  570. package/examples/agent-manifests/monitors/monitor-agent.yaml +1 -1
  571. package/examples/agent-manifests/orchestrators/orchestrator-agent.yaml +1 -1
  572. package/examples/agent-manifests/sample-compliant-agent.yaml +1 -1
  573. package/examples/agent-manifests/workers/worker-agent.yaml +1 -1
  574. package/examples/agent-mesh/README.ts +311 -0
  575. package/examples/agent-mesh/basic-usage.ts +461 -0
  576. package/examples/agents/architecture-healer-enterprise.yaml +143 -0
  577. package/examples/agents/dependency-healer-npm.yaml +81 -0
  578. package/examples/agents/spec-healer-openapi.yaml +59 -0
  579. package/examples/agents/wiki-healer-production.yaml +131 -0
  580. package/examples/agents-md/code-agent.ossa.json +100 -0
  581. package/examples/agents-md/monorepo-agent.ossa.yaml +180 -0
  582. package/examples/anthropic/claude-assistant.ossa.json +1 -1
  583. package/examples/anthropic-adapter-example.ts +374 -0
  584. package/examples/anthropic-simple.ts +70 -0
  585. package/examples/autogen/multi-agent.ossa.json +1 -1
  586. package/examples/autonomous-evolution/self-evolving-agent.ossa.yaml +37 -0
  587. package/examples/bridges/.gitlab-ci.yml +293 -0
  588. package/examples/bridges/k8s/deployment.yaml +14 -14
  589. package/examples/ci/multi-project-release-example.yml +401 -0
  590. package/examples/claude-code/code-reviewer.ossa.yaml +1 -1
  591. package/examples/claude-code/ossa-validator.ossa.yaml +2 -2
  592. package/examples/common_npm/agent-router.ossa.yaml +1 -1
  593. package/examples/common_npm/agent-router.v0.2.2.ossa.yaml +1 -1
  594. package/examples/contracts/data-consumer.ossa.yaml +171 -0
  595. package/examples/contracts/data-producer-v2.ossa.yaml +227 -0
  596. package/examples/contracts/data-producer.ossa.yaml +217 -0
  597. package/examples/coordinator-agent/README.md +180 -0
  598. package/examples/coordinator-agent/index.ts +440 -0
  599. package/examples/coordinator-agent/manifest.yaml +41 -0
  600. package/examples/crewai/research-team.ossa.json +1 -1
  601. package/examples/cursor/code-review-agent.ossa.json +1 -1
  602. package/examples/drupal/ai_agents_ossa-module/.agents/example-agent/agent.ossa.yaml +37 -0
  603. package/examples/drupal/gitlab-ml-recommender.ossa.yaml +1 -1
  604. package/examples/drupal/gitlab-ml-recommender.v0.2.2.ossa.yaml +1 -1
  605. package/examples/extensions/agents-md-advanced.yml +177 -0
  606. package/examples/extensions/agents-md-basic.yml +74 -0
  607. package/examples/extensions/agents-md-sync.yml +96 -0
  608. package/examples/extensions/agents-md-v1.yml +175 -0
  609. package/examples/extensions/drupal-v1.yml +1 -1
  610. package/examples/extensions/encryption-multi-provider.yaml +120 -0
  611. package/examples/extensions/kagent-v1.yml +2 -2
  612. package/examples/extensions/knowledge-sources.yaml +59 -0
  613. package/examples/extensions/mcp-full-featured.yaml +150 -0
  614. package/examples/getting-started/01-minimal-agent.ossa.yaml +376 -0
  615. package/examples/getting-started/02-agent-with-tools.ossa.yaml +866 -0
  616. package/examples/getting-started/03-agent-with-safety.ossa.yaml +868 -0
  617. package/examples/getting-started/04-agent-with-messaging.ossa.yaml +829 -0
  618. package/examples/getting-started/05-workflow-composition.ossa.yaml +209 -0
  619. package/examples/getting-started/README.md +69 -0
  620. package/examples/getting-started/hello-world-complete.ossa.yaml +1 -1
  621. package/examples/integration-patterns/agent-to-agent-orchestration.ossa.yaml +4 -4
  622. package/examples/kagent/compliance-validator.ossa.yaml +1 -1
  623. package/examples/kagent/cost-optimizer.ossa.yaml +1 -1
  624. package/examples/kagent/documentation-agent.ossa.yaml +1 -1
  625. package/examples/kagent/k8s-troubleshooter-v1.ossa.yaml +1 -1
  626. package/examples/kagent/k8s-troubleshooter-v1.v0.2.2.ossa.yaml +1 -1
  627. package/examples/kagent/k8s-troubleshooter.ossa.yaml +1 -1
  628. package/examples/kagent/security-scanner.ossa.yaml +1 -1
  629. package/examples/langchain/chain-agent.ossa.json +1 -1
  630. package/examples/langflow/workflow-agent.ossa.json +1 -1
  631. package/examples/langgraph/state-machine-agent.ossa.json +1 -1
  632. package/examples/llamaindex/rag-agent.ossa.json +1 -1
  633. package/examples/messaging/dependency-healer.ossa.yaml +354 -0
  634. package/examples/messaging/incident-responder.ossa.yaml +477 -0
  635. package/examples/messaging/routing-rules.ossa.yaml +307 -0
  636. package/examples/messaging/security-scanner.ossa.yaml +328 -0
  637. package/examples/migration-guides/from-langchain-to-ossa.yaml +4 -4
  638. package/examples/mistral-adapter-example.ts +435 -0
  639. package/examples/mistral-simple.ts +56 -0
  640. package/examples/multi-agent/conditional-router.ossa.yaml +1 -1
  641. package/examples/multi-agent/parallel-execution.ossa.yaml +1 -1
  642. package/examples/multi-agent/sequential-pipeline.ossa.yaml +1 -1
  643. package/examples/observability/activity-stream-full.yaml +133 -0
  644. package/examples/observability/gitlab-ci-template.yml +304 -0
  645. package/examples/openai/basic-agent.ossa.yaml +1 -1
  646. package/examples/openai/multi-tool-agent.ossa.json +1 -1
  647. package/examples/openai/swarm-agent.ossa.json +1 -1
  648. package/examples/production/document-analyzer-openai.yml +1 -1
  649. package/examples/quickstart/support-agent.ossa.yaml +1 -1
  650. package/examples/rag-agent/README.md +136 -0
  651. package/examples/rag-agent/index.ts +272 -0
  652. package/examples/rag-agent/manifest.yaml +45 -0
  653. package/examples/real-world/gitlab-cicd-optimizer.ossa.yaml +163 -0
  654. package/examples/real-world/rag-documentation-assistant.ossa.yaml +235 -0
  655. package/examples/reference-implementations/README.md +321 -0
  656. package/examples/reference-implementations/curl-scripts/01-search-agents.sh +72 -0
  657. package/examples/reference-implementations/curl-scripts/02-get-agent-details.sh +74 -0
  658. package/examples/reference-implementations/curl-scripts/03-publish-agent.sh +136 -0
  659. package/examples/reference-implementations/curl-scripts/04-a2a-messaging.sh +178 -0
  660. package/examples/reference-implementations/curl-scripts/05-discovery.sh +98 -0
  661. package/examples/reference-implementations/curl-scripts/README.md +277 -0
  662. package/examples/reference-implementations/python-client/README.md +282 -0
  663. package/examples/reference-implementations/python-client/examples/basic_usage.py +84 -0
  664. package/examples/reference-implementations/python-client/examples/publish_agent.py +137 -0
  665. package/examples/reference-implementations/python-client/ossa_client/__init__.py +80 -0
  666. package/examples/reference-implementations/python-client/ossa_client/agents.py +240 -0
  667. package/examples/reference-implementations/python-client/ossa_client/client.py +164 -0
  668. package/examples/reference-implementations/python-client/ossa_client/discovery.py +153 -0
  669. package/examples/reference-implementations/python-client/ossa_client/messaging.py +227 -0
  670. package/examples/reference-implementations/python-client/requirements.txt +2 -0
  671. package/examples/reference-implementations/python-client/setup.py +40 -0
  672. package/examples/reference-implementations/typescript-client/README.md +227 -0
  673. package/examples/reference-implementations/typescript-client/examples/basic-usage.ts +86 -0
  674. package/examples/reference-implementations/typescript-client/examples/messaging.ts +185 -0
  675. package/examples/reference-implementations/typescript-client/examples/publish-agent.ts +138 -0
  676. package/examples/reference-implementations/typescript-client/package.json +40 -0
  677. package/examples/reference-implementations/typescript-client/src/agents.ts +285 -0
  678. package/examples/reference-implementations/typescript-client/src/client.ts +161 -0
  679. package/examples/reference-implementations/typescript-client/src/discovery.ts +244 -0
  680. package/examples/reference-implementations/typescript-client/src/index.ts +67 -0
  681. package/examples/reference-implementations/typescript-client/src/messaging.ts +385 -0
  682. package/examples/reference-implementations/typescript-client/tsconfig.json +25 -0
  683. package/examples/runtime-adapters/bedrock-claude-example.ossa.yaml +465 -0
  684. package/examples/schema/reusable-components.yaml +95 -0
  685. package/examples/tasks/batch-email-sender.yaml +105 -0
  686. package/examples/tasks/data-transform.yaml +82 -0
  687. package/examples/tasks/publish-content.yaml +86 -0
  688. package/examples/templates/ossa-compliance.yaml +1 -1
  689. package/examples/unified/security-scanner.ossa.yaml +311 -0
  690. package/examples/vercel/edge-agent.ossa.json +1 -1
  691. package/examples/workflow-agent/README.md +175 -0
  692. package/examples/workflow-agent/index.ts +408 -0
  693. package/examples/workflow-agent/manifest.yaml +41 -0
  694. package/examples/workflows/batch-email-campaign.yaml +140 -0
  695. package/examples/workflows/content-review-publish.yaml +156 -0
  696. package/examples/workflows/simple-etl.yaml +151 -0
  697. package/openapi/agent-communication.yaml +1113 -0
  698. package/openapi/agent-crud.yaml +1124 -0
  699. package/openapi/agent-discovery.yaml +677 -0
  700. package/openapi/agent-identity.yaml +620 -0
  701. package/openapi/protocols/sse-streams.yaml +479 -0
  702. package/openapi/protocols/websocket-events.yaml +427 -0
  703. package/openapi/schemas/discovery.json +488 -0
  704. package/package.json +93 -33
  705. package/schemas/agent.json +523 -0
  706. package/schemas/communication.json +897 -0
  707. package/schemas/identity.json +482 -0
  708. package/spec/extensions/a2a-messaging.md +471 -0
  709. package/spec/extensions/manifest-extensions.md +550 -0
  710. package/spec/registry/README.md +472 -0
  711. package/spec/registry/openapi.yaml +1124 -0
  712. package/spec/registry/registry-api.schema.json +731 -0
  713. package/spec/registry/registry-spec.md +2239 -0
  714. package/spec/schema/agent-test.schema.json +117 -0
  715. package/spec/schema/components/activity-stream.schema.json +94 -0
  716. package/spec/schema/components/constraints.schema.json +84 -0
  717. package/spec/schema/components/dependencies.schema.json +147 -0
  718. package/spec/schema/components/encryption.schema.json +115 -0
  719. package/spec/schema/components/identity.schema.json +48 -0
  720. package/spec/schema/components/index.json +37 -0
  721. package/spec/schema/components/llm-config.schema.json +67 -0
  722. package/spec/schema/components/metadata.schema.json +37 -0
  723. package/spec/schema/components/tool.schema.json +64 -0
  724. package/spec/schema/extensions/a2a.extension.schema.json +127 -0
  725. package/spec/v0.2.8/ossa-0.2.8.schema.json +95 -1
  726. package/spec/v0.2.9/a2a-protocol.md +1337 -0
  727. package/spec/v0.2.9/agent.md +1946 -0
  728. package/spec/v0.2.9/capabilities/index.yaml +25 -0
  729. package/spec/v0.2.9/capabilities/memory.yaml +251 -0
  730. package/spec/v0.2.9/capability-schema.md +576 -0
  731. package/spec/v0.2.9/compliance-profiles.md +533 -0
  732. package/spec/v0.2.9/conformance-testing.md +1527 -0
  733. package/spec/v0.2.9/gitlab-duo-integration.md +621 -0
  734. package/spec/v0.2.9/ossa-0.2.9.schema.json +3699 -0
  735. package/spec/v0.2.9/runtime-semantics.md +464 -0
  736. package/spec/v0.2.9/security-model.md +1245 -0
  737. package/spec/v0.2.9/semantic-conventions.md +347 -0
  738. package/spec/v0.2.9/types.ts +522 -0
  739. package/spec/v0.3.0/UNIFIED-SCHEMA.md +120 -0
  740. package/spec/v0.3.0/adapters/drupal.md +541 -0
  741. package/spec/v0.3.0/adapters/symfony.md +659 -0
  742. package/spec/v0.3.0/agent-test.schema.json +75 -0
  743. package/spec/v0.3.0/examples/drupal-content-writer.ossa.yaml +110 -0
  744. package/spec/v0.3.0/examples/drupal-moderation-assistant.ossa.yaml +96 -0
  745. package/spec/v0.3.0/examples/quick-wins/complete-agent-with-quick-wins.ossa.yaml +144 -0
  746. package/spec/v0.3.0/extensions/drupal.md +417 -0
  747. package/spec/v0.3.0/ossa-0.3.0.schema.json +2787 -0
  748. package/spec/v0.3.0/protocols/sse.md +494 -0
  749. package/spec/v0.3.0/protocols/webrtc.md +600 -0
  750. package/spec/v0.3.0/protocols/websocket.md +362 -0
  751. package/spec/v0.3.0/schemas/agent-unified.yaml +165 -0
  752. package/spec/v0.3.0/schemas/capabilities.yaml +102 -0
  753. package/spec/v0.3.0/schemas/functions.yaml +75 -0
  754. package/spec/v0.3.0/schemas/messaging/channel.schema.json +245 -0
  755. package/spec/v0.3.0/schemas/messaging/delivery-receipt.schema.json +192 -0
  756. package/spec/v0.3.0/schemas/messaging/message.schema.json +205 -0
  757. package/spec/v0.3.0/schemas/messaging/subscription.schema.json +214 -0
  758. package/spec/v0.3.0/schemas/runtime.yaml +102 -0
  759. package/spec/v0.3.0/schemas/taxonomy.yaml +533 -0
  760. package/spec/v0.3.0/schemas/unified-llm.yaml +91 -0
  761. package/spec/v0.3.0/taxonomy.yaml +256 -0
  762. package/.cursorrules +0 -84
  763. package/.devfile.yaml +0 -87
  764. package/.env.example +0 -63
  765. package/.eslintrc.cjs +0 -43
  766. package/.github/ISSUE_TEMPLATE/bug_report.yml +0 -63
  767. package/.github/ISSUE_TEMPLATE/feature_request.yml +0 -40
  768. package/.github/PULL_REQUEST_TEMPLATE.md +0 -39
  769. package/.github/dependabot.yml +0 -58
  770. package/.github/workflows/ci.yml +0 -154
  771. package/.github/workflows/codeql.yml +0 -41
  772. package/.github/workflows/dependabot-auto-merge.yml +0 -28
  773. package/.github/workflows/dependabot-comment.yml +0 -34
  774. package/.github/workflows/pr-comment.yml +0 -33
  775. package/.github/workflows/release.yml +0 -103
  776. package/.husky/pre-commit +0 -5
  777. package/.kiro/config.json +0 -21
  778. package/.kiro/settings/mcp.json +0 -61
  779. package/.kiro/specs/scripts-migration-api-first/design.md +0 -883
  780. package/.kiro/specs/scripts-migration-api-first/requirements.md +0 -165
  781. package/.kiro/specs/scripts-migration-api-first/tasks.md +0 -539
  782. package/.kiro/specs/website-brand-identity/design.md +0 -1060
  783. package/.kiro/specs/website-brand-identity/requirements.md +0 -287
  784. package/.kiro/specs/website-brand-identity/tasks.md +0 -981
  785. package/.prettierignore +0 -7
  786. package/.prettierrc.json +0 -10
  787. package/.redocly.yaml +0 -9
  788. package/.releaserc.json +0 -85
  789. package/.version.json +0 -6
  790. package/.wiki-config.json +0 -24
  791. package/CODEOWNERS +0 -75
  792. package/CONTRIBUTING.md +0 -267
  793. package/bin/validate-ossa-0.2.2.ts +0 -244
  794. package/bin/validate-ossa-0.2.4.ts +0 -244
  795. package/docs/brand-guide/01-brand-overview.md +0 -37
  796. package/docs/brand-guide/02-logo-usage.md +0 -43
  797. package/docs/brand-guide/03-color-palette.md +0 -70
  798. package/docs/brand-guide/04-typography.md +0 -82
  799. package/docs/brand-guide/05-voice-and-tone.md +0 -108
  800. package/docs/brand-guide/06-visual-elements.md +0 -137
  801. package/docs/brand-guide/07-application-examples.md +0 -153
  802. package/docs/brand-guide/OssaLogo/OssA_Logo.svg +0 -21
  803. package/docs/brand-guide/OssaLogo/brand.af +0 -0
  804. package/docs/brand-guide/README.md +0 -107
  805. package/docs/comparison.md +0 -315
  806. package/docs/operations/automation-roadmap.md +0 -245
  807. package/docs/operations/github-sync-strategy.md +0 -357
  808. package/eslint-report.json +0 -1
  809. package/gl-code-quality-report.json +0 -62
  810. package/infrastructure/docker-compose.yml +0 -33
  811. package/infrastructure/gitlab-agent/rbac.yaml +0 -126
  812. package/infrastructure/gitlab-agent/values.yaml +0 -150
  813. package/infrastructure/k8s/monitoring/00-namespace.yaml +0 -7
  814. package/infrastructure/k8s/monitoring/01-prometheus.yaml +0 -142
  815. package/infrastructure/k8s/monitoring/02-grafana.yaml +0 -63
  816. package/infrastructure/k8s/monitoring/03-lightweight.yaml +0 -121
  817. package/infrastructure/k8s/monitoring/README.md +0 -73
  818. package/infrastructure/k8s/monitoring/deploy.sh +0 -38
  819. package/junit.xml +0 -1
  820. package/llms-ctx-full.txt +0 -39
  821. package/llms-ctx.txt +0 -39
  822. package/llms.txt +0 -47
  823. package/release.config.js +0 -79
  824. package/scripts/README.md +0 -103
  825. package/scripts/auto-rebase-mrs.ts +0 -106
  826. package/scripts/batch-dependabot.sh +0 -57
  827. package/scripts/bump-version.ts +0 -57
  828. package/scripts/configure-gitlab-branch-protection.ts +0 -95
  829. package/scripts/create-issue-helper.ts +0 -238
  830. package/scripts/create-milestone-issue.ts +0 -73
  831. package/scripts/enhanced-version-manager.ts +0 -257
  832. package/scripts/eslint-to-codequality.cjs +0 -34
  833. package/scripts/fix-schema-formats.js +0 -82
  834. package/scripts/gen-types.ts +0 -51
  835. package/scripts/gen-zod.ts +0 -51
  836. package/scripts/generate-agents-catalog.ts +0 -77
  837. package/scripts/generate-api-docs.ts +0 -218
  838. package/scripts/generate-cli-docs.ts +0 -410
  839. package/scripts/generate-config-docs.ts +0 -109
  840. package/scripts/generate-errors-docs.ts +0 -76
  841. package/scripts/generate-examples-docs.ts +0 -99
  842. package/scripts/generate-llms-ctx.sh +0 -17
  843. package/scripts/generate-schema-docs.ts +0 -317
  844. package/scripts/generate-types-docs.ts +0 -48
  845. package/scripts/lowercase-docs.ts +0 -43
  846. package/scripts/manage-milestone-mrs.ts +0 -279
  847. package/scripts/process-doc-templates.ts +0 -37
  848. package/scripts/rebase-all-mrs.sh +0 -75
  849. package/scripts/schemas/package.schema.ts +0 -75
  850. package/scripts/setup-branch-protection.sh +0 -33
  851. package/scripts/sync-github-pr.sh +0 -48
  852. package/scripts/sync-version.js +0 -32
  853. package/scripts/sync-version.ts +0 -39
  854. package/scripts/sync-versions.ts +0 -488
  855. package/scripts/sync-wiki.sh +0 -50
  856. package/scripts/validate-all.js +0 -127
  857. package/scripts/validate-schema.ts +0 -50
  858. package/test-results/junit.xml +0 -299
  859. package/test-results.xml +0 -1
@@ -1,357 +0,0 @@
1
- # GitHub Sync Strategy
2
-
3
- ## Overview
4
-
5
- **GitLab** = Private development (source of truth)
6
- **GitHub** = Public mirror + community contributions
7
-
8
- ## Current State
9
-
10
- ### GitHub Repository
11
- - **URL**: https://github.com/blueflyio/openstandardagents
12
- - **Status**: Public
13
- - **Features Enabled**: Issues ✓, Wiki ✓, Discussions ✓, PRs ✓
14
- - **Current PRs**: 10+ open (mostly Dependabot)
15
-
16
- ### GitLab Repository
17
- - **URL**: https://gitlab.com/blueflyio/openstandardagents
18
- - **Status**: Private development
19
- - **Features**: Full CI/CD, MRs, Wiki, Issues
20
-
21
- ## Sync Strategy
22
-
23
- ### 1. Code Sync (GitLab → GitHub)
24
-
25
- **Method**: Automatic push mirror
26
-
27
- ```yaml
28
- # .gitlab-ci.yml
29
- mirror:github:
30
- stage: deploy
31
- only:
32
- - main
33
- - tags
34
- script:
35
- - git push --mirror https://${GITHUB_TOKEN}@github.com/blueflyio/openstandardagents.git
36
- variables:
37
- GIT_STRATEGY: clone
38
- ```
39
-
40
- **What syncs**:
41
- - ✅ main branch
42
- - ✅ tags/releases
43
- - ✅ commit history
44
- - ❌ development branch (keep private)
45
- - ❌ feature branches (keep private)
46
-
47
- ### 2. Pull Requests (GitHub → GitLab)
48
-
49
- **Workflow**:
50
-
51
- ```
52
- GitHub PR → Review → Create GitLab MR → Merge → Sync back to GitHub
53
- ```
54
-
55
- **Process**:
56
-
57
- 1. **External contributor opens PR on GitHub**
58
- 2. **Bot comments**: "Thanks! We'll review and sync to our internal GitLab"
59
- 3. **Maintainer creates GitLab MR** from PR
60
- 4. **Review and merge on GitLab**
61
- 5. **Changes sync back to GitHub** via mirror
62
- 6. **GitHub PR auto-closes** (commit in main)
63
-
64
- **Automation Script**:
65
-
66
- ```bash
67
- #!/bin/bash
68
- # scripts/sync-github-pr.sh
69
-
70
- PR_NUMBER=$1
71
- gh pr checkout $PR_NUMBER
72
- git checkout -b github-pr-$PR_NUMBER
73
- git push origin github-pr-$PR_NUMBER
74
-
75
- # Create GitLab MR
76
- glab mr create \
77
- --title "GitHub PR #$PR_NUMBER: $(gh pr view $PR_NUMBER --json title -q .title)" \
78
- --description "From: https://github.com/blueflyio/openstandardagents/pull/$PR_NUMBER" \
79
- --source-branch github-pr-$PR_NUMBER \
80
- --target-branch main
81
- ```
82
-
83
- ### 3. Issues Sync
84
-
85
- **Strategy**: Keep separate
86
-
87
- - **GitHub Issues**: Community questions, bug reports
88
- - **GitLab Issues**: Internal development, roadmap
89
-
90
- **Workflow**:
91
-
92
- 1. **Community reports issue on GitHub**
93
- 2. **Triage**: Is it a bug/feature request?
94
- 3. **If actionable**: Create GitLab issue, link back
95
- 4. **Close GitHub issue** with: "Tracked internally at gitlab.com/..."
96
-
97
- **Automation**:
98
-
99
- ```yaml
100
- # .github/workflows/issue-triage.yml
101
- name: Issue Triage
102
- on:
103
- issues:
104
- types: [opened]
105
- jobs:
106
- triage:
107
- runs-on: ubuntu-latest
108
- steps:
109
- - name: Comment
110
- uses: actions/github-script@v7
111
- with:
112
- script: |
113
- github.rest.issues.createComment({
114
- issue_number: context.issue.number,
115
- owner: context.repo.owner,
116
- repo: context.repo.repo,
117
- body: '👋 Thanks for opening an issue! We track development on GitLab. A maintainer will review and create an internal issue if needed.'
118
- })
119
- ```
120
-
121
- ### 4. Wiki Sync
122
-
123
- **Strategy**: One-way GitLab → GitHub
124
-
125
- **What to sync**:
126
- - ✅ Public documentation
127
- - ✅ Getting started guides
128
- - ✅ API reference
129
- - ❌ Internal operations docs
130
- - ❌ Private deployment guides
131
-
132
- **Automation**:
133
-
134
- ```bash
135
- #!/bin/bash
136
- # scripts/sync-wiki.sh
137
-
138
- # Clone GitLab wiki
139
- git clone https://gitlab.com/blueflyio/openstandardagents.wiki.git gitlab-wiki
140
-
141
- # Clone GitHub wiki
142
- git clone https://github.com/blueflyio/openstandardagents.wiki.git github-wiki
143
-
144
- # Sync public pages
145
- PUBLIC_PAGES=(
146
- "Home.md"
147
- "Getting-Started.md"
148
- "CLI-Utilities.md"
149
- "V0.2.6-Release-Notes.md"
150
- )
151
-
152
- for page in "${PUBLIC_PAGES[@]}"; do
153
- cp "gitlab-wiki/$page" "github-wiki/$page"
154
- done
155
-
156
- cd github-wiki
157
- git add .
158
- git commit -m "Sync from GitLab wiki"
159
- git push
160
- ```
161
-
162
- ### 5. Releases Sync
163
-
164
- **Strategy**: Automatic via tags
165
-
166
- **Workflow**:
167
-
168
- 1. **Create release on GitLab**
169
- 2. **Tag syncs to GitHub** (via mirror)
170
- 3. **GitHub Actions creates release** from tag
171
-
172
- ```yaml
173
- # .github/workflows/release.yml
174
- name: Create Release
175
- on:
176
- push:
177
- tags:
178
- - 'v*'
179
- jobs:
180
- release:
181
- runs-on: ubuntu-latest
182
- steps:
183
- - uses: actions/checkout@v4
184
- - name: Create Release
185
- uses: softprops/action-gh-release@v1
186
- with:
187
- generate_release_notes: true
188
- ```
189
-
190
- ## Implementation Plan
191
-
192
- ### Phase 1: Setup (Week 1)
193
-
194
- - [ ] Configure GitLab → GitHub mirror
195
- - [ ] Add GitHub token to GitLab CI
196
- - [ ] Test mirror sync
197
- - [ ] Update GitHub README with contribution notice
198
-
199
- ### Phase 2: PR Workflow (Week 2)
200
-
201
- - [ ] Create PR sync script
202
- - [ ] Add GitHub Actions for PR comments
203
- - [ ] Document PR workflow
204
- - [ ] Test with sample PR
205
-
206
- ### Phase 3: Issue Management (Week 3)
207
-
208
- - [ ] Add issue triage automation
209
- - [ ] Create issue templates
210
- - [ ] Document issue workflow
211
- - [ ] Train team on process
212
-
213
- ### Phase 4: Wiki & Releases (Week 4)
214
-
215
- - [ ] Create wiki sync script
216
- - [ ] Setup release automation
217
- - [ ] Test full workflow
218
- - [ ] Document for team
219
-
220
- ## GitHub Repository Configuration
221
-
222
- ### Settings to Update
223
-
224
- **General**:
225
- - Description: "Open Standard for AI Agents - Public mirror of GitLab repo"
226
- - Website: https://openstandardagents.org
227
- - Topics: `ai`, `agents`, `openapi`, `standard`, `ossa`
228
-
229
- **Features**:
230
- - ✅ Issues (for community)
231
- - ✅ Wiki (synced from GitLab)
232
- - ✅ Discussions (for community)
233
- - ✅ Pull Requests (with workflow)
234
-
235
- **Branch Protection** (main):
236
- - ✅ Require pull request reviews
237
- - ✅ Require status checks
238
- - ✅ Restrict pushes (mirror only)
239
-
240
- ### README Notice
241
-
242
- Add to top of GitHub README:
243
-
244
- ```markdown
245
- > **Note**: This is a public mirror of our GitLab repository.
246
- >
247
- > - **Development**: https://gitlab.com/blueflyio/openstandardagents
248
- > - **Issues**: Report here or on GitLab
249
- > - **Pull Requests**: Welcome! We'll sync to GitLab for review
250
- > - **Documentation**: https://openstandardagents.org
251
- ```
252
-
253
- ## Handling Dependabot PRs
254
-
255
- **Current**: 10+ open Dependabot PRs
256
-
257
- **Strategy**:
258
-
259
- 1. **Review on GitHub** (quick security check)
260
- 2. **Batch merge** weekly
261
- 3. **Sync to GitLab** as single MR
262
- 4. **Test on GitLab CI**
263
- 5. **Merge and sync back**
264
-
265
- **Automation**:
266
-
267
- ```bash
268
- # scripts/batch-dependabot.sh
269
- gh pr list --label dependencies --json number -q '.[].number' | \
270
- xargs -I {} gh pr merge {} --auto --squash
271
- ```
272
-
273
- ## Security Considerations
274
-
275
- ### Secrets Management
276
-
277
- - ❌ Never commit secrets to GitHub
278
- - ✅ Use GitLab CI variables for sensitive data
279
- - ✅ GitHub Actions secrets for public workflows
280
- - ✅ Rotate tokens every 90 days
281
-
282
- ### Private Information
283
-
284
- **Keep on GitLab only**:
285
- - Internal deployment configs
286
- - Customer information
287
- - Private API keys
288
- - Team discussions
289
- - Development branches
290
-
291
- **Safe for GitHub**:
292
- - Public documentation
293
- - Open source code
294
- - Release notes
295
- - Community discussions
296
-
297
- ## Monitoring
298
-
299
- ### Metrics to Track
300
-
301
- - Mirror sync status (daily)
302
- - PR response time (< 48 hours)
303
- - Issue triage time (< 24 hours)
304
- - Wiki sync frequency (weekly)
305
- - Community engagement (monthly)
306
-
307
- ### Alerts
308
-
309
- - Mirror sync failure
310
- - PR older than 7 days
311
- - Issue without response > 48 hours
312
-
313
- ## Team Responsibilities
314
-
315
- ### Maintainers
316
-
317
- - Review GitHub PRs
318
- - Triage GitHub issues
319
- - Sync wiki weekly
320
- - Monitor mirror status
321
-
322
- ### Contributors
323
-
324
- - Can submit PRs on GitHub
325
- - Can open issues on GitHub
326
- - Follow contribution guidelines
327
- - Respect code of conduct
328
-
329
- ## Documentation
330
-
331
- ### For Contributors
332
-
333
- - `CONTRIBUTING.md` - How to contribute
334
- - `.github/PULL_REQUEST_TEMPLATE.md` - PR template
335
- - `.github/ISSUE_TEMPLATE/` - Issue templates
336
-
337
- ### For Maintainers
338
-
339
- - `docs/operations/github-sync-strategy.md` - This document
340
- - `docs/operations/pr-workflow.md` - PR handling
341
- - `docs/operations/issue-triage.md` - Issue management
342
-
343
- ## Success Criteria
344
-
345
- - ✅ Code syncs automatically within 5 minutes
346
- - ✅ PRs reviewed within 48 hours
347
- - ✅ Issues triaged within 24 hours
348
- - ✅ Wiki updated weekly
349
- - ✅ Zero security incidents
350
- - ✅ Active community engagement
351
-
352
- ## References
353
-
354
- - [GitLab Mirroring](https://docs.gitlab.com/ee/user/project/repository/mirror/)
355
- - [GitHub Actions](https://docs.github.com/en/actions)
356
- - [gh CLI](https://cli.github.com/)
357
- - [glab CLI](https://gitlab.com/gitlab-org/cli)
@@ -1 +0,0 @@
1
- [{"filePath":"/Users/flux423/Sites/LLM/openstandardagents/src/cli/commands/export.command.ts","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/Users/flux423/Sites/LLM/openstandardagents/src/cli/commands/generate.command.ts","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/Users/flux423/Sites/LLM/openstandardagents/src/cli/commands/github-sync.command.ts","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/Users/flux423/Sites/LLM/openstandardagents/src/cli/commands/gitlab-agent.command.ts","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/Users/flux423/Sites/LLM/openstandardagents/src/cli/commands/import.command.ts","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/Users/flux423/Sites/LLM/openstandardagents/src/cli/commands/init.command.ts","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/Users/flux423/Sites/LLM/openstandardagents/src/cli/commands/migrate.command.ts","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/Users/flux423/Sites/LLM/openstandardagents/src/cli/commands/release.command.ts","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/Users/flux423/Sites/LLM/openstandardagents/src/cli/commands/run.command.ts","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/Users/flux423/Sites/LLM/openstandardagents/src/cli/commands/schema.command.ts","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/Users/flux423/Sites/LLM/openstandardagents/src/cli/commands/setup.command.ts","messages":[{"ruleId":"@typescript-eslint/no-unused-vars","severity":1,"message":"'options' is defined but never used. Allowed unused args must match /^_/u.","line":214,"column":15,"nodeType":null,"messageId":"unusedVar","endLine":214,"endColumn":22}],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":1,"fixableErrorCount":0,"fixableWarningCount":0,"source":"/**\n * OSSA Setup Command\n * Professional setup commands for branch protection and release automation\n * Follows DRY, OpenAPI, Zod, CRUD principles\n */\n\nimport chalk from 'chalk';\nimport { Command } from 'commander';\nimport * as fs from 'fs';\nimport * as path from 'path';\nimport { execSync } from 'child_process';\nimport { z } from 'zod';\n\n/**\n * Zod Schema for Setup Options\n */\nconst SetupOptionsSchema = z.object({\n force: z.boolean().optional().default(false),\n verbose: z.boolean().optional().default(false),\n});\n\ntype SetupOptions = z.infer<typeof SetupOptionsSchema>;\n\n/**\n * Base Setup Service (DRY)\n */\nclass SetupService {\n protected projectRoot: string;\n\n constructor() {\n this.projectRoot = this.findProjectRoot();\n }\n\n protected findProjectRoot(): string {\n let current = process.cwd();\n for (let i = 0; i < 10; i++) {\n const packageJson = path.join(current, 'package.json');\n if (fs.existsSync(packageJson)) {\n return current;\n }\n const parent = path.dirname(current);\n if (parent === current) break;\n current = parent;\n }\n return process.cwd();\n }\n\n protected log(message: string, type: 'info' | 'success' | 'warning' | 'error' = 'info'): void {\n const colors = {\n info: chalk.blue,\n success: chalk.green,\n warning: chalk.yellow,\n error: chalk.red,\n };\n console.log(colors[type](message));\n }\n\n protected exec(command: string, options?: { cwd?: string; silent?: boolean }): string {\n try {\n const result = execSync(command, {\n cwd: options?.cwd || this.projectRoot,\n encoding: 'utf-8',\n stdio: options?.silent ? 'pipe' : 'inherit',\n });\n return result.toString();\n } catch {\n throw new Error(`Command failed: ${command}`);\n }\n }\n\n protected fileExists(filePath: string): boolean {\n return fs.existsSync(path.resolve(this.projectRoot, filePath));\n }\n\n protected ensureDirectory(dirPath: string): void {\n const fullPath = path.resolve(this.projectRoot, dirPath);\n if (!fs.existsSync(fullPath)) {\n fs.mkdirSync(fullPath, { recursive: true });\n }\n }\n}\n\n/**\n * Branch Protection Setup Service\n */\nclass BranchProtectionService extends SetupService {\n private readonly protectedBranches = ['main', 'development'];\n private readonly hooksDir = '.git/hooks';\n private readonly hookFile = 'post-checkout';\n\n async setup(options: SetupOptions): Promise<void> {\n this.log('🔒 Setting up branch protection for main and development...', 'info');\n this.log('');\n\n // Ensure hooks directory exists\n this.ensureDirectory(this.hooksDir);\n\n // Create post-checkout hook\n await this.createPostCheckoutHook(options.force);\n\n // Configure git hooks path\n this.exec('git config core.hooksPath .git/hooks', { silent: true });\n\n this.log('');\n this.log('✅ Branch protection installed!', 'success');\n this.log('');\n this.log(`Protected branches: ${this.protectedBranches.join(', ')}`);\n this.log('');\n this.log(\n 'The hook will automatically switch you back if you try to checkout these branches.'\n );\n this.log('');\n }\n\n private async createPostCheckoutHook(force: boolean): Promise<void> {\n const hookPath = path.resolve(this.projectRoot, this.hooksDir, this.hookFile);\n\n if (fs.existsSync(hookPath) && !force) {\n this.log(`✅ Post-checkout hook already exists`, 'info');\n // Ensure it's executable\n fs.chmodSync(hookPath, 0o755);\n return;\n }\n\n const hookContent = this.generateHookContent();\n fs.writeFileSync(hookPath, hookContent, { mode: 0o755 });\n\n this.log(`✅ Created post-checkout hook`, 'success');\n }\n\n private generateHookContent(): string {\n return `#!/bin/bash\n#\n# Git Post-Checkout Hook\n# Prevents checking out main and development branches locally\n# Enforces feature branch workflow\n#\n\n# Post-checkout hook receives:\n# $1 = previous HEAD\n# $2 = new HEAD\n# $3 = flag (0=file checkout, 1=branch checkout)\n\n# Only block branch checkouts, not file checkouts\nif [ \"$3\" != \"1\" ]; then\n exit 0\nfi\n\n# Get current branch name\nCURRENT_BRANCH=$(git branch --show-current 2>/dev/null)\n\n# Protected branches that cannot be checked out locally\nPROTECTED_BRANCHES=\"main development\"\n\n# Check if we're on a protected branch\nfor PROTECTED in $PROTECTED_BRANCHES; do\n if [ \"$CURRENT_BRANCH\" = \"$PROTECTED\" ]; then\n echo \"\"\n echo \"❌ ERROR: Cannot work on '$PROTECTED' branch locally\"\n echo \"\"\n echo \"This project enforces a feature branch workflow:\"\n echo \" • Work is done on feature branches\"\n echo \" • Feature branches → merge to development (via MR)\"\n echo \" • Development → merge to main (via MR)\"\n echo \"\"\n echo \"Switching you back to your previous branch...\"\n echo \"\"\n \n # Switch back to previous branch or a safe default\n PREVIOUS_BRANCH=$(git reflog | grep \"checkout:\" | head -2 | tail -1 | awk '{print $NF}' | sed 's|.*:||')\n \n if [ -n \"$PREVIOUS_BRANCH\" ] && [ \"$PREVIOUS_BRANCH\" != \"$PROTECTED\" ]; then\n git checkout \"$PREVIOUS_BRANCH\" 2>/dev/null\n echo \"✅ Switched back to: $PREVIOUS_BRANCH\"\n else\n # Try to find a feature branch\n FEATURE_BRANCH=$(git branch -a | grep -E \"feat/|feature/\" | head -1 | sed 's|.*/||' | xargs)\n if [ -n \"$FEATURE_BRANCH\" ]; then\n git checkout \"$FEATURE_BRANCH\" 2>/dev/null\n echo \"✅ Switched to feature branch: $FEATURE_BRANCH\"\n else\n echo \"⚠️ Could not auto-switch. Please manually checkout a feature branch:\"\n echo \" git checkout -b feat/your-feature development\"\n fi\n fi\n \n echo \"\"\n echo \"To work on this project:\"\n echo \" 1. Create a feature branch: git checkout -b feat/your-feature development\"\n echo \" 2. Make your changes\"\n echo \" 3. Push and create a merge request\"\n echo \"\"\n echo \"If you need to view $PROTECTED:\"\n echo \" • Use: git worktree add ../project-$PROTECTED $PROTECTED\"\n echo \" • Or view on GitLab: https://gitlab.com/blueflyio/openstandardagents/-/tree/$PROTECTED\"\n echo \"\"\n exit 1\n fi\ndone\n\n# Allow checkout\nexit 0\n`;\n }\n}\n\n/**\n * Release Automation Setup Service\n */\nclass ReleaseAutomationService extends SetupService {\n private readonly requiredDependencies = ['@gitbeaker/rest', '@octokit/rest'];\n private readonly requiredEnvVars = ['GITLAB_TOKEN', 'NPM_TOKEN', 'GITHUB_TOKEN'];\n\n async setup(options: SetupOptions): Promise<void> {\n this.log('🚀 Release Automation Setup', 'info');\n this.log('==============================', 'info');\n this.log('');\n\n // Check branch\n await this.checkBranch();\n\n // Check dependencies\n await this.checkDependencies();\n\n // Check CI/CD variables\n this.checkCICDVariables();\n\n // Check webhooks\n this.checkWebhooks();\n\n // Run tests\n await this.runTests();\n\n this.log('');\n this.log('==============================', 'info');\n this.log('✅ Setup checks complete!', 'success');\n this.log('');\n this.log('Next steps:');\n this.log(' 1. Configure webhooks in GitLab UI');\n this.log(' 2. Set CI/CD variables in GitLab UI');\n this.log(' 3. Create test milestone: v0.2.8-test');\n this.log(' 4. Verify automation works');\n this.log('');\n }\n\n private async checkBranch(): Promise<void> {\n try {\n const branch = this.exec('git branch --show-current', { silent: true }).trim();\n if (branch !== 'development') {\n this.log(\n `⚠️ Warning: Not on development branch (current: ${branch})`,\n 'warning'\n );\n this.log(' Switch to development first: git checkout development', 'warning');\n throw new Error('Must be on development branch');\n }\n this.log('✅ On development branch', 'success');\n this.log('');\n } catch (error) {\n if (error instanceof Error && error.message === 'Must be on development branch') {\n throw error;\n }\n throw new Error('Failed to check git branch');\n }\n }\n\n private async checkDependencies(): Promise<void> {\n this.log('📦 Checking dependencies...', 'info');\n\n for (const dep of this.requiredDependencies) {\n try {\n this.exec(`npm list ${dep}`, { silent: true });\n this.log(` ✅ ${dep}`, 'success');\n } catch {\n this.log(` ❌ ${dep} not found`, 'error');\n this.log(' Run: npm install', 'error');\n throw new Error(`Missing dependency: ${dep}`);\n }\n }\n\n this.log('✅ Dependencies installed', 'success');\n this.log('');\n }\n\n private checkCICDVariables(): void {\n this.log('🔐 Checking CI/CD variables...', 'info');\n this.log('');\n this.log('Required variables (set in GitLab UI):');\n for (const varName of this.requiredEnvVars) {\n const exists = !!process.env[varName];\n const status = exists ? '✅' : '❌';\n this.log(` ${status} ${varName}${exists ? ' (set)' : ' (missing)'}`);\n }\n this.log('');\n this.log('To set these:');\n this.log(' 1. Go to: Settings → CI/CD → Variables');\n this.log(' 2. Add each variable');\n this.log(' 3. Mark as \\'Protected\\' and \\'Masked\\'');\n this.log('');\n }\n\n private checkWebhooks(): void {\n this.log('🔗 Webhooks to configure:', 'info');\n this.log('');\n this.log('Webhook 1: Milestone Events');\n this.log(' URL: https://your-webhook-endpoint.com/milestone');\n this.log(' Trigger: Milestone events');\n this.log('');\n this.log('Webhook 2: Push Events');\n this.log(' URL: https://your-webhook-endpoint.com/push');\n this.log(' Trigger: Push events (development branch)');\n this.log('');\n this.log('To configure:');\n this.log(' Go to: Settings → Webhooks');\n this.log('');\n }\n\n private async runTests(): Promise<void> {\n this.log('🧪 Running tests...', 'info');\n try {\n this.exec('npm test', { silent: false });\n this.log('✅ All tests passing', 'success');\n } catch {\n this.log('❌ Tests failed', 'error');\n throw new Error('Tests failed');\n }\n }\n}\n\n/**\n * Main Setup Command\n */\nexport const setupCommand = new Command('setup')\n .description('Setup OSSA project tools and automation')\n .option('-f, --force', 'Force overwrite existing configuration')\n .option('-v, --verbose', 'Verbose output');\n\n/**\n * Branch Protection Subcommand\n */\nconst branchProtectionSubcommand = new Command('branch-protection')\n .alias('bp')\n .description('Setup git hooks to prevent checking out main/development locally')\n .option('-f, --force', 'Force overwrite existing hooks')\n .option('-v, --verbose', 'Verbose output')\n .action(async (options: { force?: boolean; verbose?: boolean }) => {\n try {\n const validated = SetupOptionsSchema.parse(options);\n const service = new BranchProtectionService();\n await service.setup(validated);\n } catch (error) {\n if (error instanceof z.ZodError) {\n console.error(chalk.red('Validation error:'), error.issues);\n process.exit(1);\n }\n console.error(chalk.red('Error:'), error instanceof Error ? error.message : error);\n process.exit(1);\n }\n });\n\n/**\n * Release Automation Subcommand\n */\nconst releaseAutomationSubcommand = new Command('release-automation')\n .alias('ra')\n .description('Setup release automation (dependencies, CI/CD variables, webhooks)')\n .option('-f, --force', 'Force setup even if checks fail')\n .option('-v, --verbose', 'Verbose output')\n .action(async (options: { force?: boolean; verbose?: boolean }) => {\n try {\n const validated = SetupOptionsSchema.parse(options);\n const service = new ReleaseAutomationService();\n await service.setup(validated);\n } catch (error) {\n if (error instanceof z.ZodError) {\n console.error(chalk.red('Validation error:'), error.issues);\n process.exit(1);\n }\n console.error(chalk.red('Error:'), error instanceof Error ? error.message : error);\n process.exit(1);\n }\n });\n\n// Register subcommands\nsetupCommand.addCommand(branchProtectionSubcommand);\nsetupCommand.addCommand(releaseAutomationSubcommand);\n\n","usedDeprecatedRules":[{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/Users/flux423/Sites/LLM/openstandardagents/src/cli/commands/sync.command.ts","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/Users/flux423/Sites/LLM/openstandardagents/src/cli/commands/validate.command.ts","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/Users/flux423/Sites/LLM/openstandardagents/src/cli/index.ts","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/Users/flux423/Sites/LLM/openstandardagents/src/di-container.ts","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/Users/flux423/Sites/LLM/openstandardagents/src/index.ts","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/Users/flux423/Sites/LLM/openstandardagents/src/repositories/manifest.repository.ts","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/Users/flux423/Sites/LLM/openstandardagents/src/repositories/schema.repository.ts","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/Users/flux423/Sites/LLM/openstandardagents/src/services/generation.service.ts","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/Users/flux423/Sites/LLM/openstandardagents/src/services/github-sync/github-client.ts","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/Users/flux423/Sites/LLM/openstandardagents/src/services/github-sync/gitlab-client.ts","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/Users/flux423/Sites/LLM/openstandardagents/src/services/github-sync/schemas.ts","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/Users/flux423/Sites/LLM/openstandardagents/src/services/github-sync/sync.service.ts","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/Users/flux423/Sites/LLM/openstandardagents/src/services/gitlab-agent.service.ts","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/Users/flux423/Sites/LLM/openstandardagents/src/services/migration.service.ts","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/Users/flux423/Sites/LLM/openstandardagents/src/services/release-automation/base-crud.service.ts","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/Users/flux423/Sites/LLM/openstandardagents/src/services/release-automation/index.ts","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/Users/flux423/Sites/LLM/openstandardagents/src/services/release-automation/merge-request.service.ts","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/Users/flux423/Sites/LLM/openstandardagents/src/services/release-automation/milestone.service.ts","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/Users/flux423/Sites/LLM/openstandardagents/src/services/release-automation/release.service.ts","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/Users/flux423/Sites/LLM/openstandardagents/src/services/release-automation/schemas/release.schema.ts","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/Users/flux423/Sites/LLM/openstandardagents/src/services/release-automation/tag.service.ts","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/Users/flux423/Sites/LLM/openstandardagents/src/services/release-automation/webhook.service.ts","messages":[{"ruleId":"@typescript-eslint/no-unused-vars","severity":1,"message":"'project' is assigned a value but never used.","line":50,"column":15,"nodeType":null,"messageId":"unusedVar","endLine":50,"endColumn":22},{"ruleId":"@typescript-eslint/no-unused-vars","severity":1,"message":"'project' is assigned a value but never used.","line":117,"column":13,"nodeType":null,"messageId":"unusedVar","endLine":117,"endColumn":20},{"ruleId":"@typescript-eslint/no-unused-vars","severity":1,"message":"'project' is assigned a value but never used.","line":145,"column":13,"nodeType":null,"messageId":"unusedVar","endLine":145,"endColumn":20}],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":3,"fixableErrorCount":0,"fixableWarningCount":0,"source":"/**\n * Webhook Service\n * Handles GitLab webhooks with Zod validation\n */\n\nimport {\n MilestoneWebhookPayloadSchema,\n PushWebhookPayloadSchema,\n WebhookResponseSchema,\n type MilestoneWebhookPayload,\n type PushWebhookPayload,\n type WebhookResponse,\n} from './schemas/release.schema.js';\nimport { ReleaseService } from './release.service.js';\nimport { MilestoneService } from './milestone.service.js';\nimport { TagService } from './tag.service.js';\nimport { MergeRequestService } from './merge-request.service.js';\n\n/**\n * Webhook Service\n * DRY: Centralized webhook handling\n */\nexport class WebhookService {\n private releaseService: ReleaseService;\n private milestoneService: MilestoneService;\n private tagService: TagService;\n private mergeRequestService: MergeRequestService;\n\n constructor(\n gitlabToken: string,\n projectId: string | number = process.env.CI_PROJECT_ID || ''\n ) {\n this.releaseService = new ReleaseService(gitlabToken, projectId);\n this.milestoneService = new MilestoneService(gitlabToken, projectId);\n this.tagService = new TagService(gitlabToken, projectId);\n this.mergeRequestService = new MergeRequestService(gitlabToken, projectId);\n }\n\n /**\n * Handle milestone webhook\n */\n async handleMilestoneWebhook(\n payload: unknown\n ): Promise<WebhookResponse> {\n try {\n // Validate payload with Zod\n const validated = MilestoneWebhookPayloadSchema.parse(payload);\n const actions: WebhookResponse['actions'] = [];\n\n const { project, object_attributes: milestone } = validated;\n\n // Determine if this is a create or close event\n const isNewMilestone =\n milestone.state === 'active' &&\n new Date(milestone.created_at).getTime() ===\n new Date(milestone.updated_at).getTime();\n\n if (isNewMilestone) {\n // Milestone created - create dev tag and branch\n const action = await this.handleMilestoneCreate(validated);\n if (action) actions.push(action);\n } else if (milestone.state === 'closed') {\n // Milestone closed - create RC\n const action = await this.handleMilestoneClose(validated);\n if (action) actions.push(action);\n }\n\n return WebhookResponseSchema.parse({\n success: true,\n message: `Milestone ${milestone.title} processed`,\n actions,\n });\n } catch (error) {\n return WebhookResponseSchema.parse({\n success: false,\n message: `Webhook processing failed: ${error}`,\n actions: [],\n });\n }\n }\n\n /**\n * Handle push webhook\n */\n async handlePushWebhook(payload: unknown): Promise<WebhookResponse> {\n try {\n // Validate payload with Zod\n const validated = PushWebhookPayloadSchema.parse(payload);\n const actions: WebhookResponse['actions'] = [];\n\n // Only process development branch pushes\n if (validated.ref === 'refs/heads/development') {\n const action = await this.handleDevelopmentPush(validated);\n if (action) actions.push(action);\n }\n\n return WebhookResponseSchema.parse({\n success: true,\n message: 'Push webhook processed',\n actions,\n });\n } catch (error) {\n return WebhookResponseSchema.parse({\n success: false,\n message: `Webhook processing failed: ${error}`,\n actions: [],\n });\n }\n }\n\n /**\n * Handle milestone creation\n */\n private async handleMilestoneCreate(\n payload: MilestoneWebhookPayload\n ): Promise<{ type: string; status: string; details?: Record<string, unknown> } | null> {\n const { project, object_attributes: milestone } = payload;\n const version = milestone.title.replace(/^v/, '');\n\n // Create initial dev tag\n const devTag = `v${version}-dev.0`;\n await this.tagService.create({\n name: devTag,\n ref: 'development',\n message: `Initial dev tag for ${milestone.title}`,\n });\n\n return {\n type: 'milestone_created',\n status: 'success',\n details: {\n milestoneId: milestone.id,\n tag: devTag,\n version,\n },\n };\n }\n\n /**\n * Handle milestone closure\n */\n private async handleMilestoneClose(\n payload: MilestoneWebhookPayload\n ): Promise<{ type: string; status: string; details?: Record<string, unknown> } | null> {\n const { project, object_attributes: milestone } = payload;\n const version = milestone.title.replace(/^v/, '');\n\n // Get milestone statistics\n const milestoneData = await this.milestoneService.read(milestone.id);\n if (!milestoneData) {\n throw new Error(`Milestone ${milestone.id} not found`);\n }\n\n // Check all issues are closed\n if (milestoneData.statistics.openIssues > 0) {\n throw new Error(\n `Cannot create RC: ${milestoneData.statistics.openIssues} issues still open`\n );\n }\n\n // Create RC tag\n const rcTag = `v${version}-rc.1`;\n await this.tagService.create({\n name: rcTag,\n ref: 'development',\n message: `Release candidate for ${milestone.title}`,\n });\n\n // Create MR: development → main\n const mr = await this.mergeRequestService.create({\n sourceBranch: 'development',\n targetBranch: 'main',\n title: `Release ${milestone.title}`,\n description: `Release candidate ${rcTag} for milestone ${milestone.title}`,\n labels: ['release', 'automation'],\n milestoneId: milestone.id,\n });\n\n return {\n type: 'milestone_closed',\n status: 'success',\n details: {\n milestoneId: milestone.id,\n rcTag,\n mergeRequestId: mr.id,\n },\n };\n }\n\n /**\n * Handle development branch push\n */\n private async handleDevelopmentPush(\n payload: PushWebhookPayload\n ): Promise<{ type: string; status: string; details?: Record<string, unknown> } | null> {\n // Auto-increment dev tag\n // This would be implemented based on current version detection\n // For now, return success\n\n return {\n type: 'dev_tag_incremented',\n status: 'success',\n details: {\n branch: payload.ref,\n commits: payload.commits.length,\n },\n };\n }\n}\n\n","usedDeprecatedRules":[{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/Users/flux423/Sites/LLM/openstandardagents/src/services/runtime/claude/capability-mapper.ts","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/Users/flux423/Sites/LLM/openstandardagents/src/services/runtime/claude/claude-adapter.ts","messages":[{"ruleId":"@typescript-eslint/no-unused-vars","severity":1,"message":"'options' is defined but never used. Allowed unused args must match /^_/u.","line":268,"column":5,"nodeType":null,"messageId":"unusedVar","endLine":268,"endColumn":12}],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":1,"fixableErrorCount":0,"fixableWarningCount":0,"source":"/**\n * Claude Runtime Adapter\n * Runs OSSA agents using Anthropic's Claude API\n */\n\nimport Anthropic from '@anthropic-ai/sdk';\nimport { ManifestParser } from './manifest-parser.js';\nimport { CapabilityMapper } from './capability-mapper.js';\nimport type {\n OssaManifestWithAnthropic,\n ClaudeMessage,\n ClaudeRunOptions,\n ClaudeAdapterConfig,\n AgentInfo,\n ToolHandler,\n ClaudeTool,\n} from './types.js';\n\n/**\n * Claude adapter for executing OSSA agents\n */\nexport class ClaudeAdapter {\n private client: Anthropic;\n private parser: ManifestParser;\n private mapper: CapabilityMapper;\n private messages: ClaudeMessage[] = [];\n private conversationHistory: Anthropic.MessageParam[] = [];\n\n constructor(config: ClaudeAdapterConfig) {\n // Initialize Anthropic client\n this.client = new Anthropic({\n apiKey: config.apiKey || process.env.ANTHROPIC_API_KEY,\n });\n\n // Initialize parser and mapper\n this.parser = new ManifestParser(config.manifest);\n this.mapper = new CapabilityMapper();\n\n // Validate manifest\n const validation = this.parser.validate();\n if (!validation.valid) {\n throw new Error(\n `Invalid OSSA manifest: ${validation.errors.join(', ')}`\n );\n }\n\n // Check if Anthropic integration is enabled\n if (!this.parser.isAnthropicEnabled()) {\n console.warn(\n 'Warning: Anthropic extension is disabled in manifest'\n );\n }\n\n // Initialize tools\n this.initializeTools();\n }\n\n /**\n * Initialize tools from manifest\n */\n private initializeTools(): void {\n // Map Claude extension tools first (highest priority)\n const anthropicExt = this.parser.getAnthropicExtension();\n if (anthropicExt?.tools) {\n this.mapper.mapClaudeTools(anthropicExt.tools);\n }\n\n // Map OSSA spec tools\n const specTools = this.parser.getSpecTools();\n this.mapper.mapOssaTools(specTools);\n\n // Map MCP capabilities if any\n for (const tool of specTools) {\n if (tool.type === 'mcp' && tool.capabilities) {\n this.mapper.mapMcpCapabilities(tool.capabilities);\n } else if (tool.type === 'http') {\n this.mapper.mapHttpTool(tool);\n }\n }\n }\n\n /**\n * Register a tool handler\n */\n registerToolHandler(name: string, handler: ToolHandler): boolean {\n return this.mapper.registerToolHandler(name, handler);\n }\n\n /**\n * Execute a tool call\n */\n private async executeTool(\n name: string,\n input: Record<string, unknown>\n ): Promise<string> {\n const tool = this.mapper.getTool(name);\n if (!tool) {\n return JSON.stringify({\n error: `Tool '${name}' not found`,\n });\n }\n\n if (tool.handler) {\n try {\n return await tool.handler(input);\n } catch (error) {\n return JSON.stringify({\n error: `Error executing ${name}: ${error instanceof Error ? error.message : String(error)}`,\n });\n }\n }\n\n // Default: return placeholder response\n return JSON.stringify({\n message: `Tool '${name}' executed`,\n input,\n note: 'No handler registered for this tool',\n });\n }\n\n /**\n * Initialize the conversation\n */\n initialize(): void {\n this.messages = [];\n this.conversationHistory = [];\n }\n\n /**\n * Send a message and get a response\n */\n async chat(\n userMessage: string,\n options?: ClaudeRunOptions\n ): Promise<string> {\n // Add user message to history\n this.conversationHistory.push({\n role: 'user',\n content: userMessage,\n });\n\n const tools = this.mapper.getClaudeTools();\n let turnCount = 0;\n const maxTurns = options?.maxTurns || 10;\n\n while (turnCount < maxTurns) {\n turnCount++;\n\n if (options?.verbose) {\n console.log(`\\n[Turn ${turnCount}/${maxTurns}]`);\n }\n\n // Call Claude API\n const response = await this.client.messages.create({\n model: this.parser.getModel(),\n max_tokens: this.parser.getMaxTokens(),\n temperature: this.parser.getTemperature(),\n system: this.parser.getSystemPrompt(),\n messages: this.conversationHistory,\n tools: tools.length > 0 ? tools : undefined,\n stop_sequences: this.parser.getStopSequences(),\n });\n\n if (options?.verbose) {\n console.log(\n ` Model: ${response.model}, Stop: ${response.stop_reason}`\n );\n console.log(\n ` Tokens: ${response.usage.input_tokens} in, ${response.usage.output_tokens} out`\n );\n }\n\n // Add assistant response to history\n this.conversationHistory.push({\n role: 'assistant',\n content: response.content,\n });\n\n // Check if we need to execute tools\n const toolUses = response.content.filter(\n (block) => block.type === 'tool_use'\n );\n\n if (toolUses.length > 0) {\n if (options?.verbose) {\n console.log(` [Executing ${toolUses.length} tool(s)...]`);\n }\n\n // Execute all tool calls\n const toolResults: Array<{\n type: 'tool_result';\n tool_use_id: string;\n content: string;\n }> = [];\n\n for (const toolUse of toolUses) {\n if (toolUse.type !== 'tool_use') continue;\n\n const { id, name, input } = toolUse;\n\n if (options?.verbose) {\n console.log(\n ` → ${name}(${JSON.stringify(input).substring(0, 100)}...)`\n );\n }\n\n const result = await this.executeTool(\n name,\n input as Record<string, unknown>\n );\n\n if (options?.verbose) {\n console.log(\n ` ← ${result.substring(0, 100)}${result.length > 100 ? '...' : ''}`\n );\n }\n\n toolResults.push({\n type: 'tool_result',\n tool_use_id: id,\n content: result,\n });\n }\n\n // Add tool results to conversation\n this.conversationHistory.push({\n role: 'user',\n content: toolResults,\n });\n\n // Continue the loop to get final response\n continue;\n }\n\n // Check if we have a text response\n const textBlocks = response.content.filter(\n (block) => block.type === 'text'\n );\n\n if (textBlocks.length > 0) {\n return textBlocks\n .map((block) => (block.type === 'text' ? block.text : ''))\n .join('\\n');\n }\n\n // No text and no tool calls - unexpected\n if (response.stop_reason === 'end_turn') {\n return '';\n }\n\n // Max tokens or stop sequence reached\n if (\n response.stop_reason === 'max_tokens' ||\n response.stop_reason === 'stop_sequence'\n ) {\n return '[Response truncated due to length limit]';\n }\n }\n\n return '[Max turns reached without completion]';\n }\n\n /**\n * Stream a response (for future implementation)\n */\n async chatStream(\n userMessage: string,\n options?: ClaudeRunOptions\n ): Promise<AsyncIterable<string>> {\n // Add user message to history\n this.conversationHistory.push({\n role: 'user',\n content: userMessage,\n });\n\n const tools = this.mapper.getClaudeTools();\n\n const stream = await this.client.messages.stream({\n model: this.parser.getModel(),\n max_tokens: this.parser.getMaxTokens(),\n temperature: this.parser.getTemperature(),\n system: this.parser.getSystemPrompt(),\n messages: this.conversationHistory,\n tools: tools.length > 0 ? tools : undefined,\n });\n\n // Return async generator\n return (async function* () {\n for await (const chunk of stream) {\n if (\n chunk.type === 'content_block_delta' &&\n chunk.delta.type === 'text_delta'\n ) {\n yield chunk.delta.text;\n }\n }\n })();\n }\n\n /**\n * Get agent information\n */\n getAgentInfo(): AgentInfo {\n const metadata = this.parser.getMetadata();\n const tools = Array.from(this.mapper.getTools().keys());\n\n return {\n name: metadata.name,\n model: this.parser.getModel(),\n tools,\n provider: 'anthropic',\n };\n }\n\n /**\n * Get conversation history\n */\n getConversationHistory(): Anthropic.MessageParam[] {\n return this.conversationHistory;\n }\n\n /**\n * Clear conversation history\n */\n clearHistory(): void {\n this.conversationHistory = [];\n this.messages = [];\n }\n\n /**\n * Get available tools\n */\n getTools(): ClaudeTool[] {\n return this.mapper.getClaudeTools();\n }\n\n /**\n * Get the Anthropic client (for advanced usage)\n */\n getClient(): Anthropic {\n return this.client;\n }\n\n /**\n * Get the manifest parser\n */\n getParser(): ManifestParser {\n return this.parser;\n }\n\n /**\n * Get the capability mapper\n */\n getMapper(): CapabilityMapper {\n return this.mapper;\n }\n\n /**\n * Create a Claude adapter from a manifest file\n */\n static async fromFile(\n manifestPath: string,\n apiKey?: string\n ): Promise<ClaudeAdapter> {\n const fs = await import('fs/promises');\n const manifestContent = await fs.readFile(manifestPath, 'utf-8');\n const manifest = JSON.parse(\n manifestContent\n ) as OssaManifestWithAnthropic;\n\n return new ClaudeAdapter({\n manifest,\n apiKey,\n });\n }\n\n /**\n * Create a Claude adapter from a manifest object\n */\n static fromManifest(\n manifest: OssaManifestWithAnthropic,\n apiKey?: string\n ): ClaudeAdapter {\n return new ClaudeAdapter({\n manifest,\n apiKey,\n });\n }\n}\n","usedDeprecatedRules":[{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/Users/flux423/Sites/LLM/openstandardagents/src/services/runtime/claude/manifest-parser.ts","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/Users/flux423/Sites/LLM/openstandardagents/src/services/runtime/claude/types.ts","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/Users/flux423/Sites/LLM/openstandardagents/src/services/runtime/openai.adapter.ts","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/Users/flux423/Sites/LLM/openstandardagents/src/services/validation.service.ts","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/Users/flux423/Sites/LLM/openstandardagents/src/services/validators/anthropic.validator.ts","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/Users/flux423/Sites/LLM/openstandardagents/src/services/validators/autogen.validator.ts","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/Users/flux423/Sites/LLM/openstandardagents/src/services/validators/crewai.validator.ts","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/Users/flux423/Sites/LLM/openstandardagents/src/services/validators/cursor.validator.ts","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/Users/flux423/Sites/LLM/openstandardagents/src/services/validators/index.ts","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/Users/flux423/Sites/LLM/openstandardagents/src/services/validators/langchain.validator.ts","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/Users/flux423/Sites/LLM/openstandardagents/src/services/validators/langflow.validator.ts","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/Users/flux423/Sites/LLM/openstandardagents/src/services/validators/langgraph.validator.ts","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/Users/flux423/Sites/LLM/openstandardagents/src/services/validators/llamaindex.validator.ts","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/Users/flux423/Sites/LLM/openstandardagents/src/services/validators/openai.validator.ts","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/Users/flux423/Sites/LLM/openstandardagents/src/services/validators/vercel-ai.validator.ts","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/Users/flux423/Sites/LLM/openstandardagents/src/types/index.ts","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/Users/flux423/Sites/LLM/openstandardagents/src/types/openapi-extensions.ts","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/Users/flux423/Sites/LLM/openstandardagents/src/utils/index.ts","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/Users/flux423/Sites/LLM/openstandardagents/src/utils/version.ts","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]}]
@@ -1,62 +0,0 @@
1
- [
2
- {
3
- "description": "'options' is defined but never used. Allowed unused args must match /^_/u.",
4
- "check_name": "@typescript-eslint/no-unused-vars",
5
- "fingerprint": "2f9f79fe8e23387068b611520413b327",
6
- "severity": "minor",
7
- "location": {
8
- "path": "src/cli/commands/setup.command.ts",
9
- "lines": {
10
- "begin": 214
11
- }
12
- }
13
- },
14
- {
15
- "description": "'project' is assigned a value but never used.",
16
- "check_name": "@typescript-eslint/no-unused-vars",
17
- "fingerprint": "7402441c276d946f9420395c18052f97",
18
- "severity": "minor",
19
- "location": {
20
- "path": "src/services/release-automation/webhook.service.ts",
21
- "lines": {
22
- "begin": 50
23
- }
24
- }
25
- },
26
- {
27
- "description": "'project' is assigned a value but never used.",
28
- "check_name": "@typescript-eslint/no-unused-vars",
29
- "fingerprint": "71675c76efa40f112f4d1fa38384c254",
30
- "severity": "minor",
31
- "location": {
32
- "path": "src/services/release-automation/webhook.service.ts",
33
- "lines": {
34
- "begin": 117
35
- }
36
- }
37
- },
38
- {
39
- "description": "'project' is assigned a value but never used.",
40
- "check_name": "@typescript-eslint/no-unused-vars",
41
- "fingerprint": "94df01d04ebcbbc20035fbde29eb21ea",
42
- "severity": "minor",
43
- "location": {
44
- "path": "src/services/release-automation/webhook.service.ts",
45
- "lines": {
46
- "begin": 145
47
- }
48
- }
49
- },
50
- {
51
- "description": "'options' is defined but never used. Allowed unused args must match /^_/u.",
52
- "check_name": "@typescript-eslint/no-unused-vars",
53
- "fingerprint": "400e20d0938c08417406c37c76e4f043",
54
- "severity": "minor",
55
- "location": {
56
- "path": "src/services/runtime/claude/claude-adapter.ts",
57
- "lines": {
58
- "begin": 268
59
- }
60
- }
61
- }
62
- ]
@@ -1,33 +0,0 @@
1
- version: "3.8"
2
-
3
- services:
4
- ossa:
5
- build:
6
- context: ..
7
- dockerfile: Dockerfile
8
- container_name: ossa
9
- ports:
10
- - "7001:7001"
11
- environment:
12
- - NODE_ENV=production
13
- - PORT=7001
14
- - HOST=0.0.0.0
15
- networks:
16
- - llm-network
17
- healthcheck:
18
- test:
19
- [
20
- "CMD",
21
- "node",
22
- "-e",
23
- "require('http').get('http://localhost:7001/health', (r) => process.exit(r.statusCode === 200 ? 0 : 1))",
24
- ]
25
- interval: 30s
26
- timeout: 10s
27
- retries: 3
28
- start_period: 30s
29
- restart: unless-stopped
30
-
31
- networks:
32
- llm-network:
33
- external: true