@bluefly/openstandardagents 0.1.9 → 0.2.5-RC

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 (1074) hide show
  1. package/.cursorrules +84 -0
  2. package/.devfile.yaml +87 -0
  3. package/.env.example +25 -3
  4. package/.eslintrc.cjs +43 -0
  5. package/.github/PULL_REQUEST_TEMPLATE.md +39 -0
  6. package/.github/dependabot.yml +58 -0
  7. package/.github/workflows/ci.yml +154 -0
  8. package/.github/workflows/codeql.yml +41 -0
  9. package/.github/workflows/dependabot-auto-merge.yml +28 -0
  10. package/.github/workflows/release.yml +103 -0
  11. package/.kiro/specs/agent-buildkit-templates/design.md +495 -0
  12. package/.kiro/specs/agent-buildkit-templates/requirements.md +165 -0
  13. package/.kiro/specs/kiro-ide-supercharger/README.md +202 -0
  14. package/.kiro/specs/kiro-ide-supercharger/design.md +1005 -0
  15. package/.kiro/specs/kiro-ide-supercharger/requirements.md +141 -0
  16. package/.kiro/specs/kiro-ide-supercharger/tasks.md +507 -0
  17. package/.kiro/specs/website-design-audit/design.md +679 -0
  18. package/.kiro/specs/website-design-audit/requirements.md +199 -0
  19. package/.prettierignore +7 -0
  20. package/.prettierrc.json +10 -0
  21. package/.redocly.yaml +8 -62
  22. package/.releaserc.json +85 -0
  23. package/.version.json +6 -0
  24. package/CHANGELOG.md +196 -0
  25. package/CONTRIBUTING.md +267 -0
  26. package/LICENSE +190 -0
  27. package/README.md +253 -454
  28. package/bin/ossa +29 -0
  29. package/bin/ossa-validate-all +55 -0
  30. package/bin/ossa-version +23 -0
  31. package/bin/validate-ossa-0.2.2.ts +244 -0
  32. package/bin/validate-ossa-0.2.4.ts +244 -0
  33. package/bin/validate-ossa-0.2.5-RC.ts +244 -0
  34. package/bin/validate-ossa.ts +273 -0
  35. package/dist/di-container.d.ts +1 -1
  36. package/dist/di-container.d.ts.map +1 -1
  37. package/dist/di-container.js +0 -3
  38. package/dist/di-container.js.map +1 -1
  39. package/dist/index.d.ts +9 -27
  40. package/dist/index.d.ts.map +1 -1
  41. package/dist/index.js +13 -33
  42. package/dist/index.js.map +1 -1
  43. package/dist/repositories/schema.repository.d.ts +16 -1
  44. package/dist/repositories/schema.repository.d.ts.map +1 -1
  45. package/dist/repositories/schema.repository.js +94 -17
  46. package/dist/repositories/schema.repository.js.map +1 -1
  47. package/dist/services/generation.service.d.ts +7 -5
  48. package/dist/services/generation.service.d.ts.map +1 -1
  49. package/dist/services/generation.service.js +93 -45
  50. package/dist/services/generation.service.js.map +1 -1
  51. package/dist/services/gitlab-agent.service.d.ts.map +1 -1
  52. package/dist/services/gitlab-agent.service.js +12 -8
  53. package/dist/services/gitlab-agent.service.js.map +1 -1
  54. package/dist/services/migration.service.d.ts +3 -3
  55. package/dist/services/migration.service.d.ts.map +1 -1
  56. package/dist/services/migration.service.js +108 -61
  57. package/dist/services/migration.service.js.map +1 -1
  58. package/dist/services/release-automation/base-crud.service.d.ts +93 -0
  59. package/dist/services/release-automation/base-crud.service.d.ts.map +1 -0
  60. package/dist/services/release-automation/base-crud.service.js +68 -0
  61. package/dist/services/release-automation/base-crud.service.js.map +1 -0
  62. package/dist/services/release-automation/index.d.ts +12 -0
  63. package/dist/services/release-automation/index.d.ts.map +1 -0
  64. package/dist/services/release-automation/index.js +12 -0
  65. package/dist/services/release-automation/index.js.map +1 -0
  66. package/dist/services/release-automation/merge-request.service.d.ts +119 -0
  67. package/dist/services/release-automation/merge-request.service.d.ts.map +1 -0
  68. package/dist/services/release-automation/merge-request.service.js +212 -0
  69. package/dist/services/release-automation/merge-request.service.js.map +1 -0
  70. package/dist/services/release-automation/milestone.service.d.ts +104 -0
  71. package/dist/services/release-automation/milestone.service.d.ts.map +1 -0
  72. package/dist/services/release-automation/milestone.service.js +207 -0
  73. package/dist/services/release-automation/milestone.service.js.map +1 -0
  74. package/dist/services/release-automation/release.service.d.ts +118 -0
  75. package/dist/services/release-automation/release.service.d.ts.map +1 -0
  76. package/dist/services/release-automation/release.service.js +207 -0
  77. package/dist/services/release-automation/release.service.js.map +1 -0
  78. package/dist/services/release-automation/schemas/release.schema.d.ts +299 -0
  79. package/dist/services/release-automation/schemas/release.schema.d.ts.map +1 -0
  80. package/dist/services/release-automation/schemas/release.schema.js +269 -0
  81. package/dist/services/release-automation/schemas/release.schema.js.map +1 -0
  82. package/dist/services/release-automation/tag.service.d.ts +99 -0
  83. package/dist/services/release-automation/tag.service.d.ts.map +1 -0
  84. package/dist/services/release-automation/tag.service.js +180 -0
  85. package/dist/services/release-automation/tag.service.js.map +1 -0
  86. package/dist/services/release-automation/webhook.service.d.ts +37 -0
  87. package/dist/services/release-automation/webhook.service.d.ts.map +1 -0
  88. package/dist/services/release-automation/webhook.service.js +173 -0
  89. package/dist/services/release-automation/webhook.service.js.map +1 -0
  90. package/dist/services/runtime/openai.adapter.d.ts.map +1 -1
  91. package/dist/services/runtime/openai.adapter.js.map +1 -1
  92. package/dist/services/validation.service.d.ts.map +1 -1
  93. package/dist/services/validation.service.js +24 -11
  94. package/dist/services/validation.service.js.map +1 -1
  95. package/dist/services/validators/anthropic.validator.d.ts +2 -2
  96. package/dist/services/validators/anthropic.validator.d.ts.map +1 -1
  97. package/dist/services/validators/anthropic.validator.js +14 -9
  98. package/dist/services/validators/anthropic.validator.js.map +1 -1
  99. package/dist/services/validators/autogen.validator.d.ts +2 -2
  100. package/dist/services/validators/autogen.validator.d.ts.map +1 -1
  101. package/dist/services/validators/autogen.validator.js +18 -15
  102. package/dist/services/validators/autogen.validator.js.map +1 -1
  103. package/dist/services/validators/crewai.validator.d.ts +2 -2
  104. package/dist/services/validators/crewai.validator.d.ts.map +1 -1
  105. package/dist/services/validators/crewai.validator.js +18 -17
  106. package/dist/services/validators/crewai.validator.js.map +1 -1
  107. package/dist/services/validators/cursor.validator.d.ts +2 -2
  108. package/dist/services/validators/cursor.validator.d.ts.map +1 -1
  109. package/dist/services/validators/cursor.validator.js +15 -11
  110. package/dist/services/validators/cursor.validator.js.map +1 -1
  111. package/dist/services/validators/langchain.validator.d.ts +2 -2
  112. package/dist/services/validators/langchain.validator.d.ts.map +1 -1
  113. package/dist/services/validators/langchain.validator.js +14 -11
  114. package/dist/services/validators/langchain.validator.js.map +1 -1
  115. package/dist/services/validators/langflow.validator.d.ts +2 -2
  116. package/dist/services/validators/langflow.validator.d.ts.map +1 -1
  117. package/dist/services/validators/langflow.validator.js +14 -9
  118. package/dist/services/validators/langflow.validator.js.map +1 -1
  119. package/dist/services/validators/langgraph.validator.d.ts +2 -2
  120. package/dist/services/validators/langgraph.validator.d.ts.map +1 -1
  121. package/dist/services/validators/langgraph.validator.js +23 -18
  122. package/dist/services/validators/langgraph.validator.js.map +1 -1
  123. package/dist/services/validators/llamaindex.validator.d.ts +2 -2
  124. package/dist/services/validators/llamaindex.validator.d.ts.map +1 -1
  125. package/dist/services/validators/llamaindex.validator.js +19 -16
  126. package/dist/services/validators/llamaindex.validator.js.map +1 -1
  127. package/dist/services/validators/openai.validator.d.ts +2 -2
  128. package/dist/services/validators/openai.validator.d.ts.map +1 -1
  129. package/dist/services/validators/openai.validator.js +20 -16
  130. package/dist/services/validators/openai.validator.js.map +1 -1
  131. package/dist/services/validators/vercel-ai.validator.d.ts +2 -2
  132. package/dist/services/validators/vercel-ai.validator.d.ts.map +1 -1
  133. package/dist/services/validators/vercel-ai.validator.js +16 -15
  134. package/dist/services/validators/vercel-ai.validator.js.map +1 -1
  135. package/dist/spec/v0.2.3/CHANGELOG.md +176 -0
  136. package/dist/spec/v0.2.3/README.md +4 -4
  137. package/dist/spec/v0.2.3/migrations/v0.2.2-to-v0.2.3.md +7 -7
  138. package/dist/spec/v0.2.4/CHANGELOG.md +403 -0
  139. package/dist/spec/v0.2.4/migrations/v0.2.3-to-v0.2.4.md +599 -0
  140. package/dist/spec/v0.2.4/ossa-0.2.4-dev.schema.json +1696 -0
  141. package/dist/spec/v0.2.4/ossa-0.2.4.schema.json +1819 -0
  142. package/dist/spec/v0.2.5/CHANGELOG.md +401 -0
  143. package/dist/spec/v0.2.5/README.md +72 -0
  144. package/dist/spec/v0.2.5/migrations/v0.2.3-to-v0.2.4.md +599 -0
  145. package/dist/spec/v0.2.5/ossa-0.2.5.schema.json +1696 -0
  146. package/dist/spec/v0.2.5/ossa-0.2.5.yaml +581 -0
  147. package/dist/spec/v0.2.5-RC/CHANGELOG.md +401 -0
  148. package/dist/spec/v0.2.5-RC/README.md +72 -0
  149. package/dist/spec/v0.2.5-RC/migrations/v0.2.3-to-v0.2.4.md +599 -0
  150. package/dist/spec/v0.2.5-RC/ossa-0.2.5-RC.schema.json +1696 -0
  151. package/dist/spec/v0.2.5-RC/ossa-0.2.5-RC.yaml +581 -0
  152. package/dist/types/index.d.ts +164 -260
  153. package/dist/types/index.d.ts.map +1 -1
  154. package/dist/types/index.js +3 -65
  155. package/dist/types/index.js.map +1 -1
  156. package/docs/issue-19-completion-summary.md +648 -0
  157. package/docs/issue-19-validation.md +351 -0
  158. package/examples/adk-integration/code-review-workflow.yml +136 -0
  159. package/examples/adk-integration/customer-support.yml +263 -0
  160. package/examples/adk-integration/data-pipeline.yml +173 -0
  161. package/examples/advanced/patterns/compliance-context-production.json +53 -0
  162. package/examples/advanced/patterns/model-router.ts +274 -0
  163. package/examples/advanced/patterns/smart-model-routing.ts +248 -0
  164. package/examples/advanced/workflows/hybrid-model-strategy.yaml +232 -0
  165. package/examples/agent-manifests/critics/critic-agent.yaml +149 -0
  166. package/examples/agent-manifests/governors/governor-agent.yaml +128 -0
  167. package/examples/agent-manifests/integrators/integrator-agent.yaml +103 -0
  168. package/examples/agent-manifests/judges/judge-agent.yaml +153 -0
  169. package/examples/agent-manifests/monitors/monitor-agent.yaml +122 -0
  170. package/examples/agent-manifests/orchestrators/orchestrator-agent.yaml +247 -0
  171. package/examples/agent-manifests/sample-compliant-agent.yaml +147 -0
  172. package/examples/agent-manifests/workers/worker-agent.yaml +82 -0
  173. package/examples/anthropic/claude-assistant.ossa.json +45 -0
  174. package/examples/architecture/model-configuration/ollama-integration.ts +110 -0
  175. package/examples/autogen/multi-agent.ossa.json +37 -0
  176. package/examples/bridge-configurations.yaml +346 -0
  177. package/examples/bridges/Dockerfile.production +87 -0
  178. package/examples/bridges/__pycache__/aiflow-bridge-enhanced.cpython-313.pyc +0 -0
  179. package/examples/bridges/__pycache__/aiflow-phoenix-tracing.cpython-313.pyc +0 -0
  180. package/examples/bridges/__pycache__/test_aiflow_integration.cpython-313.pyc +0 -0
  181. package/examples/bridges/aiflow-bridge-enhanced.py +462 -0
  182. package/examples/bridges/aiflow-bridge-example.yml +310 -0
  183. package/examples/bridges/aiflow-phoenix-tracing.py +310 -0
  184. package/examples/bridges/aiflow-registration-api.openapi.yml +439 -0
  185. package/examples/bridges/k8s/configmap.yaml +121 -0
  186. package/examples/bridges/k8s/deployment-simple.yaml +34 -0
  187. package/examples/bridges/k8s/deployment.yaml +275 -0
  188. package/examples/bridges/k8s/hpa.yaml +126 -0
  189. package/examples/bridges/k8s/ingress.yaml +155 -0
  190. package/examples/bridges/kagent-bridge-example.yml +94 -0
  191. package/examples/bridges/load-tests/Dockerfile +28 -0
  192. package/examples/bridges/load-tests/k6-load-test.js +302 -0
  193. package/examples/bridges/load-tests/requirements.txt +20 -0
  194. package/examples/bridges/loadtest/k6-scenarios.js +270 -0
  195. package/examples/bridges/phase4/SLO-SLA.yaml +249 -0
  196. package/examples/bridges/phase4/chaos-tests.yaml +226 -0
  197. package/examples/bridges/requirements.txt +24 -0
  198. package/examples/bridges/test_aiflow_integration.py +341 -0
  199. package/examples/common_npm/agent-router.ossa.yaml +182 -0
  200. package/examples/common_npm/agent-router.v0.2.2.ossa.yaml +60 -0
  201. package/examples/compliance-agent.yml +155 -0
  202. package/examples/crewai/research-team.ossa.json +36 -0
  203. package/examples/cursor/code-review-agent.ossa.json +47 -0
  204. package/examples/drupal/gitlab-ml-recommender.ossa.yaml +609 -0
  205. package/examples/drupal/gitlab-ml-recommender.v0.2.2.ossa.yaml +68 -0
  206. package/examples/enterprise/agent.yml +452 -0
  207. package/examples/extensions/drupal-v1.yml +266 -0
  208. package/examples/extensions/kagent-v1.yml +167 -0
  209. package/examples/getting-started/hello-world-complete.ossa.yaml +266 -0
  210. package/examples/integration-patterns/agent-to-agent-orchestration.ossa.yaml +376 -0
  211. package/examples/kagent/README.md +31 -0
  212. package/examples/kagent/compliance-validator.ossa.yaml +111 -0
  213. package/examples/kagent/cost-optimizer.ossa.yaml +93 -0
  214. package/examples/kagent/documentation-agent.ossa.yaml +91 -0
  215. package/examples/kagent/k8s-troubleshooter-v1.ossa.yaml +269 -0
  216. package/examples/kagent/k8s-troubleshooter-v1.v0.2.2.ossa.yaml +106 -0
  217. package/examples/kagent/k8s-troubleshooter.ossa.yaml +257 -0
  218. package/examples/kagent/security-scanner.ossa.yaml +140 -0
  219. package/examples/langchain/chain-agent.ossa.json +42 -0
  220. package/examples/langflow/workflow-agent.ossa.json +39 -0
  221. package/examples/langgraph/state-machine-agent.ossa.json +59 -0
  222. package/examples/llamaindex/rag-agent.ossa.json +41 -0
  223. package/examples/migration-guides/from-langchain-to-ossa.yaml +309 -0
  224. package/examples/minimal/agent.yml +152 -0
  225. package/examples/minimal/openapi.yaml +95 -0
  226. package/examples/openai/basic-agent.ossa.yaml +61 -0
  227. package/examples/openai/multi-tool-agent.ossa.json +165 -0
  228. package/examples/openai/swarm-agent.ossa.json +59 -0
  229. package/examples/openapi-extensions/README.md +87 -0
  230. package/examples/openapi-extensions/minimal-agent-api.openapi.yml +288 -0
  231. package/examples/openapi-extensions/orchestrator-agent-api.openapi.yml +633 -0
  232. package/examples/openapi-extensions/worker-agent-api.openapi.yml +533 -0
  233. package/examples/production/agent.yml +713 -0
  234. package/examples/production/document-analyzer-openai.yml +134 -0
  235. package/examples/quickstart/support-agent.ossa.yaml +59 -0
  236. package/examples/service-registry-usage.ts +423 -0
  237. package/examples/spec-examples/audit-agent.yml +147 -0
  238. package/examples/spec-examples/chat-agent.yml +189 -0
  239. package/examples/spec-examples/compliance-agent.yml +204 -0
  240. package/examples/spec-examples/data-processing-agent.yml +132 -0
  241. package/examples/spec-examples/development-agent.yml +138 -0
  242. package/examples/spec-examples/edge-agent.yml +101 -0
  243. package/examples/spec-examples/integration-agent.yml +129 -0
  244. package/examples/spec-examples/monitoring-agent.yml +130 -0
  245. package/examples/spec-examples/serverless-agent.yml +82 -0
  246. package/examples/spec-examples/workflow-agent.yml +223 -0
  247. package/examples/templates/ossa-compliance.yaml +56 -0
  248. package/examples/typescript/advanced/demo-registry.ts +168 -0
  249. package/examples/typescript/mcpb-agent-example.ts +358 -0
  250. package/examples/vercel/edge-agent.ossa.json +43 -0
  251. package/infrastructure/docker-compose.yml +33 -0
  252. package/infrastructure/gitlab-agent/rbac.yaml +126 -0
  253. package/infrastructure/gitlab-agent/values.yaml +150 -0
  254. package/infrastructure/k8s/monitoring/00-namespace.yaml +7 -0
  255. package/infrastructure/k8s/monitoring/01-prometheus.yaml +142 -0
  256. package/infrastructure/k8s/monitoring/02-grafana.yaml +63 -0
  257. package/infrastructure/k8s/monitoring/03-lightweight.yaml +121 -0
  258. package/infrastructure/k8s/monitoring/README.md +73 -0
  259. package/infrastructure/k8s/monitoring/deploy.sh +38 -0
  260. package/openapi/CHANGELOG.md +21 -0
  261. package/openapi/README.md +46 -0
  262. package/openapi/core/ossa-core-api.openapi.yaml +1503 -0
  263. package/openapi/core/ossa-registry-api.openapi.yaml +980 -0
  264. package/openapi/core/ossa-registry.openapi.yaml +855 -0
  265. package/openapi/core/unified-agent-gateway.openapi.yaml +833 -0
  266. package/openapi/reference-implementations/aiflow-bridge-api.openapi.yaml +136 -0
  267. package/openapi/reference-implementations/compliance-agent-api.openapi.yaml +192 -0
  268. package/openapi/reference-implementations/crewai-agent-api.openapi.yaml +149 -0
  269. package/openapi/reference-implementations/critic-agent-api.openapi.yaml +151 -0
  270. package/openapi/reference-implementations/document-analyzer-api.openapi.yaml +217 -0
  271. package/openapi/reference-implementations/drupal-agent-api.openapi.yaml +348 -0
  272. package/openapi/reference-implementations/getting-started-hello-world-api.openapi.yaml +149 -0
  273. package/openapi/reference-implementations/gitlab-ml-recommender-api.openapi.yaml +151 -0
  274. package/openapi/reference-implementations/governor-agent-api.openapi.yaml +193 -0
  275. package/openapi/reference-implementations/helm-generator.openapi.yaml +389 -0
  276. package/openapi/reference-implementations/integrator-agent-api.openapi.yaml +165 -0
  277. package/openapi/reference-implementations/judge-agent-api.openapi.yaml +148 -0
  278. package/openapi/reference-implementations/k8s-troubleshooter-api.openapi.yaml +167 -0
  279. package/openapi/reference-implementations/langchain-agent-api.openapi.yaml +171 -0
  280. package/openapi/reference-implementations/monitor-agent-api.openapi.yaml +171 -0
  281. package/openapi/reference-implementations/orchestrator-agent-api.openapi.yaml +242 -0
  282. package/openapi/reference-implementations/quickstart-support-agent-api.openapi.yaml +187 -0
  283. package/openapi/reference-implementations/self-evolving-ecosystem.openapi.yaml +1530 -0
  284. package/openapi/reference-implementations/worker-agent-api.openapi.yaml +208 -0
  285. package/openapi/reference-implementations/workflow-orchestrator-api.openapi.yaml +193 -0
  286. package/package.json +120 -83
  287. package/release.config.js +79 -0
  288. package/scripts/bump-version.ts +57 -0
  289. package/scripts/enhanced-version-manager.ts +257 -0
  290. package/scripts/gen-types.ts +51 -0
  291. package/scripts/gen-zod.ts +51 -0
  292. package/scripts/lib/exec.ts +37 -0
  293. package/scripts/lib/file-ops.ts +58 -0
  294. package/scripts/lib/version.ts +83 -0
  295. package/scripts/process-doc-templates.ts +37 -0
  296. package/scripts/schemas/package.schema.ts +75 -0
  297. package/scripts/setup-branch-protection.sh +33 -0
  298. package/scripts/sync-version.ts +39 -0
  299. package/scripts/sync-versions.ts +488 -0
  300. package/scripts/validate-schema.ts +49 -0
  301. package/spec/v0.1.9/agent-autonomous-extensions.json +234 -0
  302. package/spec/v0.1.9/ecosystem-compliance.json +235 -0
  303. package/spec/v0.1.9/ossa-v0.1.9.schema.json +695 -0
  304. package/spec/v0.1.9/reasoning-compliance.json +654 -0
  305. package/spec/v0.2.2/kagent-enhancements.json +395 -0
  306. package/spec/v0.2.2/ossa-0.2.2.schema.json +906 -0
  307. package/spec/v0.2.2/ossa-0.2.2.yaml +448 -0
  308. package/spec/v0.2.2/ossa-reasoning-compliance-1.0.schema.json +424 -0
  309. package/spec/v0.2.3/CHANGELOG.md +176 -0
  310. package/spec/v0.2.3/README.md +154 -0
  311. package/spec/v0.2.3/migrations/v0.2.2-to-v0.2.3.md +343 -0
  312. package/spec/v0.2.3/ossa-0.2.3.schema.json +1397 -0
  313. package/spec/v0.2.3/ossa-0.2.3.yaml +448 -0
  314. package/spec/v0.2.4/CHANGELOG.md +403 -0
  315. package/spec/v0.2.4/migrations/v0.2.3-to-v0.2.4.md +599 -0
  316. package/spec/v0.2.4/ossa-0.2.4-dev.schema.json +1696 -0
  317. package/spec/v0.2.4/ossa-0.2.4.schema.json +170 -68
  318. package/spec/v0.2.5/CHANGELOG.md +401 -0
  319. package/spec/v0.2.5/README.md +72 -0
  320. package/spec/v0.2.5/migrations/v0.2.3-to-v0.2.4.md +599 -0
  321. package/spec/v0.2.5/ossa-0.2.5.schema.json +1696 -0
  322. package/spec/v0.2.5/ossa-0.2.5.yaml +581 -0
  323. package/spec/v0.2.5-RC/CHANGELOG.md +401 -0
  324. package/spec/v0.2.5-RC/README.md +72 -0
  325. package/spec/v0.2.5-RC/migrations/v0.2.3-to-v0.2.4.md +599 -0
  326. package/spec/v0.2.5-RC/ossa-0.2.5-RC.schema.json +1696 -0
  327. package/spec/v0.2.5-RC/ossa-0.2.5-RC.yaml +581 -0
  328. package/test-results.xml +1 -0
  329. package/website/.lighthouserc.ts +24 -0
  330. package/website/.prettierrc +10 -0
  331. package/website/Dockerfile +30 -0
  332. package/website/app/about/page.tsx +295 -0
  333. package/website/app/blog/[slug]/page.tsx +208 -0
  334. package/website/app/blog/page.tsx +249 -0
  335. package/website/app/design-guide/page.tsx +511 -0
  336. package/website/app/docs/[[...slug]]/page.tsx +847 -0
  337. package/website/app/docs/core-concepts/project-structure/page.tsx +349 -0
  338. package/website/app/ecosystem/page.tsx +375 -0
  339. package/website/app/examples/page.tsx +133 -0
  340. package/website/app/globals.scss +135 -0
  341. package/website/app/layout.tsx +106 -0
  342. package/website/app/license/page.tsx +183 -0
  343. package/website/app/not-found.tsx +18 -0
  344. package/website/app/page.tsx +474 -0
  345. package/website/app/playground/page.tsx +487 -0
  346. package/website/app/robots.ts +19 -0
  347. package/website/app/rss.xml/route.ts +74 -0
  348. package/website/app/schema/page.tsx +1001 -0
  349. package/website/app/sitemap.ts +56 -0
  350. package/website/app/specification/page.tsx +287 -0
  351. package/website/components/InstallCommand.tsx +96 -0
  352. package/website/components/Logo.tsx +97 -0
  353. package/website/components/StructuredData.tsx +65 -0
  354. package/website/components/docs/DocsSearch.tsx +104 -0
  355. package/website/components/docs/DocsSidebar.tsx +155 -0
  356. package/website/components/docs/MarkdownContent.tsx +401 -0
  357. package/website/components/docs/VersionSelector.tsx +105 -0
  358. package/website/components/examples/ExamplesViewer.tsx +293 -0
  359. package/website/components/layout/Footer.tsx +116 -0
  360. package/website/components/layout/Header.tsx +168 -0
  361. package/website/components/schema/SchemaComponentsAccordion.tsx +84 -0
  362. package/website/components/schema/SchemaExplorer.tsx +213 -0
  363. package/website/content/blog/OpenAPI-AI-Agents-Standard.md +285 -0
  364. package/website/content/blog/Why-Formal-Standards-Matter-Now.md +198 -0
  365. package/website/content/blog/gitlab-kubernetes-agent-ecosystem.md +286 -0
  366. package/website/content/blog/introducing-ossa-framework.md +328 -0
  367. package/website/content/blog/ossa-production-results.md +279 -0
  368. package/website/content/blog/welcome-to-ossa.md +43 -0
  369. package/website/content/blog/why-ai-agents-need-open-standard.md +98 -0
  370. package/website/content/docs/00-HOME.md +153 -0
  371. package/website/content/docs/AIFlow-Framework-Integration-with-OSSA.md +107 -0
  372. package/website/content/docs/Examples.md +71 -0
  373. package/website/content/docs/OpenAPI-Extensions.md +934 -0
  374. package/website/content/docs/adapters/openai-adapter.md +693 -0
  375. package/website/content/docs/architecture/execution-flow.md +335 -0
  376. package/website/content/docs/architecture/multi-agent-systems.md +737 -0
  377. package/website/content/docs/architecture/overview.md +121 -0
  378. package/website/content/docs/architecture/stack-integration.md +461 -0
  379. package/website/content/docs/changelog.md +246 -0
  380. package/website/content/docs/contributing.md +599 -0
  381. package/website/content/docs/core-concepts/Project-Structure.md +348 -0
  382. package/website/content/docs/ecosystem/framework-support.md +819 -0
  383. package/website/content/docs/ecosystem/overview.md +366 -0
  384. package/website/content/docs/examples/AIFlow-Framework-Integration-with-OSSA.md +107 -0
  385. package/website/content/docs/examples/Migration-Guides.md +214 -0
  386. package/website/content/docs/for-audiences/Architects.md +224 -0
  387. package/website/content/docs/for-audiences/Developers.md +220 -0
  388. package/website/content/docs/for-audiences/Enterprises.md +256 -0
  389. package/website/content/docs/for-audiences/Students-Researchers.md +122 -0
  390. package/website/content/docs/getting-started/5-Minute-Overview.md +85 -0
  391. package/website/content/docs/getting-started/First-Agent.md +196 -0
  392. package/website/content/docs/getting-started/Hello-World.md +184 -0
  393. package/website/content/docs/getting-started/Installation.md +155 -0
  394. package/website/content/docs/getting-started/index.md +92 -0
  395. package/website/content/docs/getting-started/running-agents.md +309 -0
  396. package/website/content/docs/getting-started.md +91 -0
  397. package/website/content/docs/integrations/aiflow.md +104 -0
  398. package/website/content/docs/integrations/drupal.md +105 -0
  399. package/website/content/docs/migration-guides/00-INDEX.md +76 -0
  400. package/website/content/docs/migration-guides/README.md +133 -0
  401. package/website/content/docs/migration-guides/agent-schema-comparison.md +232 -0
  402. package/website/content/docs/migration-guides/anthropic-mcp-to-ossa.md +1750 -0
  403. package/website/content/docs/migration-guides/crewai-to-ossa.md +274 -0
  404. package/website/content/docs/migration-guides/drupal-eca-to-ossa.md +2017 -0
  405. package/website/content/docs/migration-guides/general-agent-schema.yml +247 -0
  406. package/website/content/docs/migration-guides/index.md +133 -0
  407. package/website/content/docs/migration-guides/langchain-to-ossa.md +1714 -0
  408. package/website/content/docs/migration-guides/langflow-to-ossa.md +2075 -0
  409. package/website/content/docs/migration-guides/migration-manifest.json +64 -0
  410. package/website/content/docs/migration-guides/openai-to-ossa.md +1202 -0
  411. package/website/content/docs/openapi-extensions/examples.md +550 -0
  412. package/website/content/docs/openapi-extensions/index.md +551 -0
  413. package/website/content/docs/openapi-extensions/operation-extensions.md +457 -0
  414. package/website/content/docs/openapi-extensions/root-extensions.md +410 -0
  415. package/website/content/docs/ossa-compliant-badge.md +251 -0
  416. package/website/content/docs/pre-release/index.md +175 -0
  417. package/website/content/docs/quick-reference.md +17 -0
  418. package/website/content/docs/readme.md +35 -0
  419. package/website/content/docs/schema-reference/agent-spec.md +406 -0
  420. package/website/content/docs/schema-reference/autonomy.md +568 -0
  421. package/website/content/docs/schema-reference/constraints.md +543 -0
  422. package/website/content/docs/schema-reference/index.md +176 -0
  423. package/website/content/docs/schema-reference/llm-config.md +445 -0
  424. package/website/content/docs/schema-reference/observability.md +654 -0
  425. package/website/content/docs/schema-reference/ossa-manifest.md +309 -0
  426. package/website/content/docs/schema-reference/taxonomy.md +509 -0
  427. package/website/content/docs/schema-reference/tools.md +628 -0
  428. package/website/content/docs/templates/blog-post.md +43 -0
  429. package/website/content/docs/use-cases/00-index.md +395 -0
  430. package/website/content/docs/use-cases/cicd-code-review.md +1236 -0
  431. package/website/content/docs/use-cases/customer-support.md +1234 -0
  432. package/website/content/docs/use-cases/enterprise-compliance.md +1208 -0
  433. package/website/content/docs/use-cases/research-multi-agent.md +1161 -0
  434. package/website/content/docs/versioning.md +288 -0
  435. package/website/lib/version.ts +35 -0
  436. package/website/lib/versions.json +18 -17
  437. package/website/next.config.ts +18 -0
  438. package/website/nginx.conf +32 -0
  439. package/website/package-lock.json +9679 -0
  440. package/website/package.json +59 -0
  441. package/website/postcss.config.mjs +9 -0
  442. package/website/scripts/fetch-versions.js +166 -0
  443. package/website/scripts/generate-examples-index.js +163 -0
  444. package/website/scripts/merge-docs-to-wiki.ts +207 -0
  445. package/website/scripts/sync-version.js +72 -0
  446. package/website/scripts/sync-wiki.ts +322 -0
  447. package/website/scripts/upload-wiki.ts +199 -0
  448. package/website/styles/_variables.scss +36 -0
  449. package/website/tailwind.config.ts +136 -0
  450. package/.buildkit/agent-first-policy.sh +0 -65
  451. package/.buildkit/branching-workflow.json +0 -41
  452. package/.buildkit/hooks.yaml +0 -23
  453. package/.buildkit/install-buildkit-setup.cjs +0 -483
  454. package/.cursor/plans/ossa-comprehensive-enhancement-issue-audit-plan.plan.md +0 -735
  455. package/.cursor/plans/ossa-enterprise-transformation-plan-0ccaf09b.plan.md +0 -373
  456. package/.cursor/plans/ossa-milestone-organization-and-v0-2-4-release-6dafa4ec.plan.md +0 -214
  457. package/.cursor/rules/problems.json +0 -483
  458. package/.cursor/settings.json +0 -29
  459. package/.cursor/worktrees.json +0 -95
  460. package/.env.local +0 -31
  461. package/.github/ISSUE_TEMPLATE/README.md +0 -33
  462. package/.github/ISSUE_TEMPLATE/bug_report.md +0 -61
  463. package/.github/ISSUE_TEMPLATE/config.yml +0 -12
  464. package/.github/ISSUE_TEMPLATE/feature_request.md +0 -75
  465. package/.github/wiki_templates/home.md +0 -39
  466. package/.gitignore.bak +0 -489
  467. package/.gitlab-ci-trigger +0 -1
  468. package/.husky/pre-commit +0 -31
  469. package/.lintstagedrc.json +0 -16
  470. package/.vscode/extensions.json +0 -6
  471. package/.vscode/settings.json +0 -3
  472. package/AUDIT_FIXES.md +0 -139
  473. package/AUDIT_REPORT.md +0 -308
  474. package/BUILDKIT_INTEGRATION.md +0 -146
  475. package/Dockerfile +0 -35
  476. package/dist/adk/adapters/index.d.ts +0 -64
  477. package/dist/adk/adapters/index.d.ts.map +0 -1
  478. package/dist/adk/adapters/index.js +0 -257
  479. package/dist/adk/adapters/index.js.map +0 -1
  480. package/dist/adk/agents/custom-agent.d.ts +0 -55
  481. package/dist/adk/agents/custom-agent.d.ts.map +0 -1
  482. package/dist/adk/agents/custom-agent.js +0 -167
  483. package/dist/adk/agents/custom-agent.js.map +0 -1
  484. package/dist/adk/agents/index.d.ts +0 -64
  485. package/dist/adk/agents/index.d.ts.map +0 -1
  486. package/dist/adk/agents/index.js +0 -125
  487. package/dist/adk/agents/index.js.map +0 -1
  488. package/dist/adk/agents/llm-agent.d.ts +0 -27
  489. package/dist/adk/agents/llm-agent.d.ts.map +0 -1
  490. package/dist/adk/agents/llm-agent.js +0 -63
  491. package/dist/adk/agents/llm-agent.js.map +0 -1
  492. package/dist/adk/agents/workflow-agent.d.ts +0 -42
  493. package/dist/adk/agents/workflow-agent.d.ts.map +0 -1
  494. package/dist/adk/agents/workflow-agent.js +0 -144
  495. package/dist/adk/agents/workflow-agent.js.map +0 -1
  496. package/dist/adk/index.d.ts +0 -10
  497. package/dist/adk/index.d.ts.map +0 -1
  498. package/dist/adk/index.js +0 -10
  499. package/dist/adk/index.js.map +0 -1
  500. package/dist/adk/orchestration/index.d.ts +0 -63
  501. package/dist/adk/orchestration/index.d.ts.map +0 -1
  502. package/dist/adk/orchestration/index.js +0 -264
  503. package/dist/adk/orchestration/index.js.map +0 -1
  504. package/dist/adk/state/index.d.ts +0 -73
  505. package/dist/adk/state/index.d.ts.map +0 -1
  506. package/dist/adk/state/index.js +0 -177
  507. package/dist/adk/state/index.js.map +0 -1
  508. package/dist/adk/tools/index.d.ts +0 -65
  509. package/dist/adk/tools/index.d.ts.map +0 -1
  510. package/dist/adk/tools/index.js +0 -252
  511. package/dist/adk/tools/index.js.map +0 -1
  512. package/dist/cli/agent-deployment.d.ts +0 -34
  513. package/dist/cli/agent-deployment.d.ts.map +0 -1
  514. package/dist/cli/agent-deployment.js +0 -396
  515. package/dist/cli/agent-deployment.js.map +0 -1
  516. package/dist/cli/commands/discover.command.d.ts +0 -7
  517. package/dist/cli/commands/discover.command.d.ts.map +0 -1
  518. package/dist/cli/commands/discover.command.js +0 -80
  519. package/dist/cli/commands/discover.command.js.map +0 -1
  520. package/dist/cli/commands/export.command.d.ts +0 -7
  521. package/dist/cli/commands/export.command.d.ts.map +0 -1
  522. package/dist/cli/commands/export.command.js +0 -56
  523. package/dist/cli/commands/export.command.js.map +0 -1
  524. package/dist/cli/commands/generate.command.d.ts +0 -7
  525. package/dist/cli/commands/generate.command.d.ts.map +0 -1
  526. package/dist/cli/commands/generate.command.js +0 -66
  527. package/dist/cli/commands/generate.command.js.map +0 -1
  528. package/dist/cli/commands/gitlab-agent.command.d.ts +0 -8
  529. package/dist/cli/commands/gitlab-agent.command.d.ts.map +0 -1
  530. package/dist/cli/commands/gitlab-agent.command.js +0 -201
  531. package/dist/cli/commands/gitlab-agent.command.js.map +0 -1
  532. package/dist/cli/commands/import.command.d.ts +0 -7
  533. package/dist/cli/commands/import.command.d.ts.map +0 -1
  534. package/dist/cli/commands/import.command.js +0 -36
  535. package/dist/cli/commands/import.command.js.map +0 -1
  536. package/dist/cli/commands/init.command.d.ts +0 -7
  537. package/dist/cli/commands/init.command.d.ts.map +0 -1
  538. package/dist/cli/commands/init.command.js +0 -146
  539. package/dist/cli/commands/init.command.js.map +0 -1
  540. package/dist/cli/commands/migrate.command.d.ts +0 -7
  541. package/dist/cli/commands/migrate.command.d.ts.map +0 -1
  542. package/dist/cli/commands/migrate.command.js +0 -110
  543. package/dist/cli/commands/migrate.command.js.map +0 -1
  544. package/dist/cli/commands/ossa.d.ts +0 -9
  545. package/dist/cli/commands/ossa.d.ts.map +0 -1
  546. package/dist/cli/commands/ossa.js +0 -234
  547. package/dist/cli/commands/ossa.js.map +0 -1
  548. package/dist/cli/commands/run.command.d.ts +0 -7
  549. package/dist/cli/commands/run.command.d.ts.map +0 -1
  550. package/dist/cli/commands/run.command.js +0 -114
  551. package/dist/cli/commands/run.command.js.map +0 -1
  552. package/dist/cli/commands/schema.command.d.ts +0 -7
  553. package/dist/cli/commands/schema.command.d.ts.map +0 -1
  554. package/dist/cli/commands/schema.command.js +0 -72
  555. package/dist/cli/commands/schema.command.js.map +0 -1
  556. package/dist/cli/commands/validate.command.d.ts +0 -7
  557. package/dist/cli/commands/validate.command.d.ts.map +0 -1
  558. package/dist/cli/commands/validate.command.js +0 -125
  559. package/dist/cli/commands/validate.command.js.map +0 -1
  560. package/dist/cli/commands/worktree.d.ts +0 -7
  561. package/dist/cli/commands/worktree.d.ts.map +0 -1
  562. package/dist/cli/commands/worktree.js +0 -509
  563. package/dist/cli/commands/worktree.js.map +0 -1
  564. package/dist/cli/index.d.ts +0 -7
  565. package/dist/cli/index.d.ts.map +0 -1
  566. package/dist/cli/index.js +0 -50
  567. package/dist/cli/index.js.map +0 -1
  568. package/dist/cli/ossa-cli.d.ts +0 -52
  569. package/dist/cli/ossa-cli.d.ts.map +0 -1
  570. package/dist/cli/ossa-cli.js +0 -1061
  571. package/dist/cli/ossa-cli.js.map +0 -1
  572. package/dist/core/index.d.ts +0 -31
  573. package/dist/core/index.d.ts.map +0 -1
  574. package/dist/core/index.js +0 -37
  575. package/dist/core/index.js.map +0 -1
  576. package/dist/core/mcp-server-implementation.d.ts +0 -39
  577. package/dist/core/mcp-server-implementation.d.ts.map +0 -1
  578. package/dist/core/mcp-server-implementation.js +0 -1262
  579. package/dist/core/mcp-server-implementation.js.map +0 -1
  580. package/dist/core/orchestrator/index.d.ts +0 -156
  581. package/dist/core/orchestrator/index.d.ts.map +0 -1
  582. package/dist/core/orchestrator/index.js +0 -446
  583. package/dist/core/orchestrator/index.js.map +0 -1
  584. package/dist/core/orchestrator/ossa-orchestrator.d.ts +0 -106
  585. package/dist/core/orchestrator/ossa-orchestrator.d.ts.map +0 -1
  586. package/dist/core/orchestrator/ossa-orchestrator.js +0 -396
  587. package/dist/core/orchestrator/ossa-orchestrator.js.map +0 -1
  588. package/dist/protocols/acap.d.ts +0 -61
  589. package/dist/protocols/acap.d.ts.map +0 -1
  590. package/dist/protocols/acap.js +0 -92
  591. package/dist/protocols/acap.js.map +0 -1
  592. package/dist/protocols/index.d.ts +0 -8
  593. package/dist/protocols/index.d.ts.map +0 -1
  594. package/dist/protocols/index.js +0 -8
  595. package/dist/protocols/index.js.map +0 -1
  596. package/dist/protocols/rasp.d.ts +0 -58
  597. package/dist/protocols/rasp.d.ts.map +0 -1
  598. package/dist/protocols/rasp.js +0 -212
  599. package/dist/protocols/rasp.js.map +0 -1
  600. package/dist/server/simple-app.d.ts +0 -18
  601. package/dist/server/simple-app.d.ts.map +0 -1
  602. package/dist/server/simple-app.js +0 -155
  603. package/dist/server/simple-app.js.map +0 -1
  604. package/dist/server/types/agent.d.ts +0 -498
  605. package/dist/server/types/agent.d.ts.map +0 -1
  606. package/dist/server/types/agent.js +0 -37
  607. package/dist/server/types/agent.js.map +0 -1
  608. package/dist/server/types/server.d.ts +0 -370
  609. package/dist/server/types/server.d.ts.map +0 -1
  610. package/dist/server/types/server.js +0 -68
  611. package/dist/server/types/server.js.map +0 -1
  612. package/dist/services/discovery.service.d.ts +0 -78
  613. package/dist/services/discovery.service.d.ts.map +0 -1
  614. package/dist/services/discovery.service.js +0 -212
  615. package/dist/services/discovery.service.js.map +0 -1
  616. package/dist/services/orchestration/worktree-orchestrator.d.ts +0 -146
  617. package/dist/services/orchestration/worktree-orchestrator.d.ts.map +0 -1
  618. package/dist/services/orchestration/worktree-orchestrator.js +0 -591
  619. package/dist/services/orchestration/worktree-orchestrator.js.map +0 -1
  620. package/dist/services/worktree/branching-strategy.d.ts +0 -17
  621. package/dist/services/worktree/branching-strategy.d.ts.map +0 -1
  622. package/dist/services/worktree/branching-strategy.js +0 -66
  623. package/dist/services/worktree/branching-strategy.js.map +0 -1
  624. package/dist/services/worktree/git-worktree-manager.d.ts +0 -32
  625. package/dist/services/worktree/git-worktree-manager.d.ts.map +0 -1
  626. package/dist/services/worktree/git-worktree-manager.js +0 -61
  627. package/dist/services/worktree/git-worktree-manager.js.map +0 -1
  628. package/dist/spec/v0.2.4-dev/README.md +0 -61
  629. package/dist/spec/v0.2.4-dev/RELEASE-PROCESS.md +0 -130
  630. package/dist/spec/v0.2.4-dev/migrations/v0.2.3-to-v0.2.4.md +0 -599
  631. package/dist/spec/v0.2.4-dev/openapi/CHANGELOG-0.2.4.md +0 -177
  632. package/dist/spec/v0.2.4-dev/openapi/README-0.2.4.md +0 -51
  633. package/dist/spec/v0.2.4-dev/openapi/VERIFICATION-0.2.4.md +0 -147
  634. package/dist/spec/v0.2.4-dev/ossa-0.2.4-dev.schema.json +0 -1717
  635. package/dist/spec/v0.2.5-dev/migrations/v0.2.4-to-v0.2.5.md +0 -317
  636. package/dist/spec/v0.2.5-dev/ossa-0.2.5-dev.schema.json +0 -1732
  637. package/dist/spec/v0.2.5-dev/ossa-0.2.5-dev.yaml +0 -409
  638. package/dist/specification/validator.d.ts +0 -82
  639. package/dist/specification/validator.d.ts.map +0 -1
  640. package/dist/specification/validator.js +0 -562
  641. package/dist/specification/validator.js.map +0 -1
  642. package/dist/types/acdl-api.d.ts +0 -335
  643. package/dist/types/acdl-api.d.ts.map +0 -1
  644. package/dist/types/acdl-api.js +0 -6
  645. package/dist/types/acdl-api.js.map +0 -1
  646. package/dist/types/agents/index.d.ts +0 -53
  647. package/dist/types/agents/index.d.ts.map +0 -1
  648. package/dist/types/agents/index.js +0 -5
  649. package/dist/types/agents/index.js.map +0 -1
  650. package/dist/types/api.d.ts +0 -225
  651. package/dist/types/api.d.ts.map +0 -1
  652. package/dist/types/api.js +0 -6
  653. package/dist/types/api.js.map +0 -1
  654. package/dist/types/architecture/index.d.ts +0 -530
  655. package/dist/types/architecture/index.d.ts.map +0 -1
  656. package/dist/types/architecture/index.js +0 -258
  657. package/dist/types/architecture/index.js.map +0 -1
  658. package/dist/types/policies/index.d.ts +0 -35
  659. package/dist/types/policies/index.d.ts.map +0 -1
  660. package/dist/types/policies/index.js +0 -5
  661. package/dist/types/policies/index.js.map +0 -1
  662. package/dist/types/workflows/index.d.ts +0 -40
  663. package/dist/types/workflows/index.d.ts.map +0 -1
  664. package/dist/types/workflows/index.js +0 -5
  665. package/dist/types/workflows/index.js.map +0 -1
  666. package/dist/utils/version-resolver.d.ts +0 -28
  667. package/dist/utils/version-resolver.d.ts.map +0 -1
  668. package/dist/utils/version-resolver.js +0 -110
  669. package/dist/utils/version-resolver.js.map +0 -1
  670. package/docker-compose.yml +0 -160
  671. package/public/api-docs.html +0 -206
  672. package/public/assets/favicon.svg +0 -8
  673. package/public/assets/script.js +0 -279
  674. package/public/assets/style.css +0 -632
  675. package/public/index.html +0 -307
  676. package/public/redocly-config.yaml +0 -80
  677. package/public/src/api/acdl-specification.yml +0 -531
  678. package/public/src/api/clean-architecture.openapi.yml +0 -1435
  679. package/public/src/api/context7-mcp.openapi.yml +0 -313
  680. package/public/src/api/magic-mcp.openapi.yml +0 -647
  681. package/public/src/api/mcp-infrastructure.openapi.yml +0 -904
  682. package/public/src/api/orchestration.openapi.yml +0 -444
  683. package/public/src/api/ossa-complete.openapi.yml +0 -2250
  684. package/public/src/api/project-discovery.openapi.yml +0 -1293
  685. package/public/src/api/rebuild-audit.openapi.yml +0 -800
  686. package/public/src/api/specification.openapi.yml +0 -498
  687. package/public/src/api/voice-agent-specification.yml +0 -640
  688. package/public/src/api/web-eval-mcp.openapi.yml +0 -426
  689. package/pyrightconfig.json +0 -13
  690. package/redocly.yaml +0 -56
  691. package/specs/README.md +0 -31
  692. package/specs/acdl-specification.yml +0 -531
  693. package/specs/clean-architecture.openapi.yml +0 -1435
  694. package/specs/context7-mcp.openapi.yml +0 -313
  695. package/specs/magic-mcp.openapi.yml +0 -647
  696. package/specs/mcp-infrastructure.openapi.yml +0 -904
  697. package/specs/orchestration.openapi.yml +0 -444
  698. package/specs/ossa-complete.openapi.yml +0 -2250
  699. package/specs/project-discovery.openapi.yml +0 -1293
  700. package/specs/rebuild-audit.openapi.yml +0 -800
  701. package/specs/specification.openapi.yml +0 -498
  702. package/specs/test-api.openapi.yml +0 -20
  703. package/specs/voice-agent-specification.yml +0 -640
  704. package/specs/web-eval-mcp.openapi.yml +0 -426
  705. package/src/adk/adapters/index.ts +0 -310
  706. package/src/adk/agents/custom-agent.ts +0 -206
  707. package/src/adk/agents/index.ts +0 -158
  708. package/src/adk/agents/llm-agent.ts +0 -76
  709. package/src/adk/agents/workflow-agent.ts +0 -191
  710. package/src/adk/index.ts +0 -10
  711. package/src/adk/orchestration/index.ts +0 -352
  712. package/src/adk/state/index.ts +0 -217
  713. package/src/adk/tools/index.ts +0 -291
  714. package/src/api/acdl-specification.yml +0 -531
  715. package/src/api/agent-manifest.schema.json +0 -859
  716. package/src/api/agent-worktree-schema.json +0 -320
  717. package/src/api/clean-architecture.openapi.yml +0 -1435
  718. package/src/api/context7-mcp.openapi.yml +0 -313
  719. package/src/api/magic-mcp.openapi.yml +0 -647
  720. package/src/api/mcp-infrastructure.openapi.yml +0 -904
  721. package/src/api/openapi.redoc.config.json +0 -6
  722. package/src/api/orchestration.openapi.yml +0 -444
  723. package/src/api/ossa-complete.openapi.yml +0 -2250
  724. package/src/api/project-discovery.openapi.yml +0 -1293
  725. package/src/api/rebuild-audit.openapi.yml +0 -800
  726. package/src/api/specification.openapi.yml +0 -498
  727. package/src/api/test-api.openapi.yml +0 -20
  728. package/src/api/voice-agent-specification.yml +0 -640
  729. package/src/api/web-eval-mcp.openapi.yml +0 -426
  730. package/src/api/workflow.schema.json +0 -524
  731. package/src/cli/agent-deployment.ts +0 -452
  732. package/src/cli/commands/ossa.ts +0 -272
  733. package/src/cli/commands/worktree.ts +0 -603
  734. package/src/cli/ossa-cli.ts +0 -1176
  735. package/src/core/index.ts +0 -42
  736. package/src/core/mcp-server-implementation.ts +0 -1409
  737. package/src/core/orchestrator/index.ts +0 -611
  738. package/src/core/orchestrator/ossa-orchestrator.ts +0 -504
  739. package/src/mcp/simple-server.ts +0 -322
  740. package/src/protocols/acap.ts +0 -146
  741. package/src/protocols/index.ts +0 -8
  742. package/src/protocols/rasp.ts +0 -263
  743. package/src/server/app.ts +0 -472
  744. package/src/server/middleware/agentAccess.ts +0 -10
  745. package/src/server/middleware/asyncHandler.ts +0 -10
  746. package/src/server/middleware/auth.ts +0 -10
  747. package/src/server/middleware/errorHandler.ts +0 -9
  748. package/src/server/middleware/logging.ts +0 -10
  749. package/src/server/middleware/metrics.ts +0 -10
  750. package/src/server/middleware/validation.ts +0 -10
  751. package/src/server/routes/agents.ts +0 -632
  752. package/src/server/routes/monitoring.ts +0 -13
  753. package/src/server/routes/orchestration.ts +0 -13
  754. package/src/server/routes/specifications.ts +0 -13
  755. package/src/server/services/AgentService.ts +0 -46
  756. package/src/server/services/ExecutionService.ts +0 -51
  757. package/src/server/services/SpecificationService.ts +0 -22
  758. package/src/server/services/WebhookService.ts +0 -24
  759. package/src/server/simple-app.ts +0 -174
  760. package/src/server/types/agent.ts +0 -612
  761. package/src/server/types/server.ts +0 -465
  762. package/src/services/orchestration/worktree-orchestrator.ts +0 -779
  763. package/src/services/worktree/branching-strategy.ts +0 -76
  764. package/src/services/worktree/git-worktree-manager.ts +0 -86
  765. package/website/.next/BUILD_ID +0 -1
  766. package/website/.next/app-build-manifest.json +0 -151
  767. package/website/.next/app-path-routes-manifest.json +0 -19
  768. package/website/.next/build-manifest.json +0 -33
  769. package/website/.next/cache/.previewinfo +0 -1
  770. package/website/.next/cache/.rscinfo +0 -1
  771. package/website/.next/cache/.tsbuildinfo +0 -1
  772. package/website/.next/cache/fetch-cache/920aec34c288eefa97c5efba3baf95a846a0beb0c48a5064980a2c24b83e941c +0 -1
  773. package/website/.next/cache/fetch-cache/c2ad7a72b43463a0daaa85ca926a8af38defd17ecb64f1fdd2dd4fe2293e8b26 +0 -1
  774. package/website/.next/cache/fetch-cache/d10eb963d5980c8a50ee9ed24472339ee6da054ead33e00676e61e8b8e62cc83 +0 -1
  775. package/website/.next/cache/fetch-cache/f243d84640477f3205b74a85013018acd63b692144675630a74d1af8a3e9eab5 +0 -1
  776. package/website/.next/cache/webpack/client-production/0.pack +0 -0
  777. package/website/.next/cache/webpack/client-production/1.pack +0 -0
  778. package/website/.next/cache/webpack/client-production/10.pack +0 -0
  779. package/website/.next/cache/webpack/client-production/11.pack +0 -0
  780. package/website/.next/cache/webpack/client-production/12.pack +0 -0
  781. package/website/.next/cache/webpack/client-production/13.pack +0 -0
  782. package/website/.next/cache/webpack/client-production/14.pack +0 -0
  783. package/website/.next/cache/webpack/client-production/15.pack +0 -0
  784. package/website/.next/cache/webpack/client-production/16.pack +0 -0
  785. package/website/.next/cache/webpack/client-production/17.pack +0 -0
  786. package/website/.next/cache/webpack/client-production/18.pack +0 -0
  787. package/website/.next/cache/webpack/client-production/2.pack +0 -0
  788. package/website/.next/cache/webpack/client-production/3.pack +0 -0
  789. package/website/.next/cache/webpack/client-production/4.pack +0 -0
  790. package/website/.next/cache/webpack/client-production/5.pack +0 -0
  791. package/website/.next/cache/webpack/client-production/6.pack +0 -0
  792. package/website/.next/cache/webpack/client-production/7.pack +0 -0
  793. package/website/.next/cache/webpack/client-production/8.pack +0 -0
  794. package/website/.next/cache/webpack/client-production/9.pack +0 -0
  795. package/website/.next/cache/webpack/client-production/index.pack +0 -0
  796. package/website/.next/cache/webpack/client-production/index.pack.old +0 -0
  797. package/website/.next/cache/webpack/edge-server-production/0.pack +0 -0
  798. package/website/.next/cache/webpack/edge-server-production/index.pack +0 -0
  799. package/website/.next/cache/webpack/server-production/0.pack +0 -0
  800. package/website/.next/cache/webpack/server-production/1.pack +0 -0
  801. package/website/.next/cache/webpack/server-production/10.pack +0 -0
  802. package/website/.next/cache/webpack/server-production/11.pack +0 -0
  803. package/website/.next/cache/webpack/server-production/12.pack +0 -0
  804. package/website/.next/cache/webpack/server-production/2.pack +0 -0
  805. package/website/.next/cache/webpack/server-production/3.pack +0 -0
  806. package/website/.next/cache/webpack/server-production/4.pack +0 -0
  807. package/website/.next/cache/webpack/server-production/5.pack +0 -0
  808. package/website/.next/cache/webpack/server-production/6.pack +0 -0
  809. package/website/.next/cache/webpack/server-production/7.pack +0 -0
  810. package/website/.next/cache/webpack/server-production/8.pack +0 -0
  811. package/website/.next/cache/webpack/server-production/9.pack +0 -0
  812. package/website/.next/cache/webpack/server-production/index.pack +0 -0
  813. package/website/.next/cache/webpack/server-production/index.pack.old +0 -0
  814. package/website/.next/diagnostics/build-diagnostics.json +0 -6
  815. package/website/.next/diagnostics/framework.json +0 -1
  816. package/website/.next/export-detail.json +0 -5
  817. package/website/.next/export-marker.json +0 -6
  818. package/website/.next/images-manifest.json +0 -57
  819. package/website/.next/next-minimal-server.js.nft.json +0 -1
  820. package/website/.next/next-server.js.nft.json +0 -1
  821. package/website/.next/package.json +0 -1
  822. package/website/.next/prerender-manifest.json +0 -2143
  823. package/website/.next/react-loadable-manifest.json +0 -1898
  824. package/website/.next/required-server-files.json +0 -320
  825. package/website/.next/routes-manifest.json +0 -161
  826. package/website/.next/server/app/_not-found/page.js +0 -2
  827. package/website/.next/server/app/_not-found/page.js.nft.json +0 -1
  828. package/website/.next/server/app/_not-found/page_client-reference-manifest.js +0 -1
  829. package/website/.next/server/app/_not-found.html +0 -1
  830. package/website/.next/server/app/_not-found.meta +0 -8
  831. package/website/.next/server/app/_not-found.rsc +0 -23
  832. package/website/.next/server/app/about/page.js +0 -2
  833. package/website/.next/server/app/about/page.js.nft.json +0 -1
  834. package/website/.next/server/app/about/page_client-reference-manifest.js +0 -1
  835. package/website/.next/server/app/about.html +0 -1
  836. package/website/.next/server/app/about.meta +0 -7
  837. package/website/.next/server/app/about.rsc +0 -40
  838. package/website/.next/server/app/blog/OpenAPI-AI-Agents-Standard.html +0 -217
  839. package/website/.next/server/app/blog/OpenAPI-AI-Agents-Standard.meta +0 -7
  840. package/website/.next/server/app/blog/OpenAPI-AI-Agents-Standard.rsc +0 -308
  841. package/website/.next/server/app/blog/Why-Formal-Standards-Matter-Now.html +0 -180
  842. package/website/.next/server/app/blog/Why-Formal-Standards-Matter-Now.meta +0 -7
  843. package/website/.next/server/app/blog/Why-Formal-Standards-Matter-Now.rsc +0 -232
  844. package/website/.next/server/app/blog/[slug]/page.js +0 -2
  845. package/website/.next/server/app/blog/[slug]/page.js.nft.json +0 -1
  846. package/website/.next/server/app/blog/[slug]/page_client-reference-manifest.js +0 -1
  847. package/website/.next/server/app/blog/introducing-ossa-framework.html +0 -263
  848. package/website/.next/server/app/blog/introducing-ossa-framework.meta +0 -7
  849. package/website/.next/server/app/blog/introducing-ossa-framework.rsc +0 -351
  850. package/website/.next/server/app/blog/ossa-production-results.html +0 -198
  851. package/website/.next/server/app/blog/ossa-production-results.meta +0 -7
  852. package/website/.next/server/app/blog/ossa-production-results.rsc +0 -302
  853. package/website/.next/server/app/blog/page.js +0 -2
  854. package/website/.next/server/app/blog/page.js.nft.json +0 -1
  855. package/website/.next/server/app/blog/page_client-reference-manifest.js +0 -1
  856. package/website/.next/server/app/blog/welcome-to-ossa.html +0 -22
  857. package/website/.next/server/app/blog/welcome-to-ossa.meta +0 -7
  858. package/website/.next/server/app/blog/welcome-to-ossa.rsc +0 -31
  859. package/website/.next/server/app/blog/why-ai-agents-need-open-standard.html +0 -63
  860. package/website/.next/server/app/blog/why-ai-agents-need-open-standard.meta +0 -7
  861. package/website/.next/server/app/blog/why-ai-agents-need-open-standard.rsc +0 -121
  862. package/website/.next/server/app/blog.html +0 -1
  863. package/website/.next/server/app/blog.meta +0 -7
  864. package/website/.next/server/app/blog.rsc +0 -35
  865. package/website/.next/server/app/design-guide/page.js +0 -12
  866. package/website/.next/server/app/design-guide/page.js.nft.json +0 -1
  867. package/website/.next/server/app/design-guide/page_client-reference-manifest.js +0 -1
  868. package/website/.next/server/app/design-guide.html +0 -11
  869. package/website/.next/server/app/design-guide.meta +0 -7
  870. package/website/.next/server/app/design-guide.rsc +0 -41
  871. package/website/.next/server/app/docs.html +0 -1
  872. package/website/.next/server/app/docs.meta +0 -7
  873. package/website/.next/server/app/docs.rsc +0 -42
  874. package/website/.next/server/app/ecosystem/page.js +0 -2
  875. package/website/.next/server/app/ecosystem/page.js.nft.json +0 -1
  876. package/website/.next/server/app/ecosystem/page_client-reference-manifest.js +0 -1
  877. package/website/.next/server/app/ecosystem.html +0 -1
  878. package/website/.next/server/app/ecosystem.meta +0 -7
  879. package/website/.next/server/app/ecosystem.rsc +0 -40
  880. package/website/.next/server/app/examples.html +0 -1
  881. package/website/.next/server/app/examples.meta +0 -7
  882. package/website/.next/server/app/examples.rsc +0 -14559
  883. package/website/.next/server/app/index.html +0 -3
  884. package/website/.next/server/app/index.meta +0 -7
  885. package/website/.next/server/app/index.rsc +0 -40
  886. package/website/.next/server/app/license/page.js +0 -2
  887. package/website/.next/server/app/license/page.js.nft.json +0 -1
  888. package/website/.next/server/app/license/page_client-reference-manifest.js +0 -1
  889. package/website/.next/server/app/license.html +0 -191
  890. package/website/.next/server/app/license.meta +0 -7
  891. package/website/.next/server/app/license.rsc +0 -222
  892. package/website/.next/server/app/page.js +0 -4
  893. package/website/.next/server/app/page.js.nft.json +0 -1
  894. package/website/.next/server/app/page_client-reference-manifest.js +0 -1
  895. package/website/.next/server/app/playground/page.js +0 -111
  896. package/website/.next/server/app/playground/page.js.nft.json +0 -1
  897. package/website/.next/server/app/playground/page_client-reference-manifest.js +0 -1
  898. package/website/.next/server/app/playground.html +0 -1
  899. package/website/.next/server/app/playground.meta +0 -7
  900. package/website/.next/server/app/playground.rsc +0 -30
  901. package/website/.next/server/app/robots.txt/route.js +0 -1
  902. package/website/.next/server/app/robots.txt/route.js.nft.json +0 -1
  903. package/website/.next/server/app/robots.txt/route_client-reference-manifest.js +0 -1
  904. package/website/.next/server/app/robots.txt.body +0 -6
  905. package/website/.next/server/app/robots.txt.meta +0 -1
  906. package/website/.next/server/app/rss.xml/route.js +0 -18
  907. package/website/.next/server/app/rss.xml/route.js.nft.json +0 -1
  908. package/website/.next/server/app/rss.xml/route_client-reference-manifest.js +0 -1
  909. package/website/.next/server/app/rss.xml.body +0 -11
  910. package/website/.next/server/app/rss.xml.meta +0 -1
  911. package/website/.next/server/app/schema/page.js +0 -76
  912. package/website/.next/server/app/schema/page.js.nft.json +0 -1
  913. package/website/.next/server/app/schema/page_client-reference-manifest.js +0 -1
  914. package/website/.next/server/app/schema.html +0 -1
  915. package/website/.next/server/app/schema.meta +0 -7
  916. package/website/.next/server/app/schema.rsc +0 -26
  917. package/website/.next/server/app/sitemap.xml/route.js +0 -1
  918. package/website/.next/server/app/sitemap.xml/route.js.nft.json +0 -1
  919. package/website/.next/server/app/sitemap.xml/route_client-reference-manifest.js +0 -1
  920. package/website/.next/server/app/sitemap.xml.body +0 -39
  921. package/website/.next/server/app/sitemap.xml.meta +0 -1
  922. package/website/.next/server/app/specification/page.js +0 -10
  923. package/website/.next/server/app/specification/page.js.nft.json +0 -1
  924. package/website/.next/server/app/specification/page_client-reference-manifest.js +0 -1
  925. package/website/.next/server/app/specification.html +0 -9
  926. package/website/.next/server/app/specification.meta +0 -7
  927. package/website/.next/server/app/specification.rsc +0 -32
  928. package/website/.next/server/app-paths-manifest.json +0 -19
  929. package/website/.next/server/chunks/18.js +0 -1
  930. package/website/.next/server/chunks/227.js +0 -9
  931. package/website/.next/server/chunks/339.js +0 -25
  932. package/website/.next/server/chunks/49.js +0 -1
  933. package/website/.next/server/chunks/51.js +0 -1
  934. package/website/.next/server/chunks/57.js +0 -1
  935. package/website/.next/server/chunks/579.js +0 -16
  936. package/website/.next/server/chunks/611.js +0 -6
  937. package/website/.next/server/chunks/873.js +0 -22
  938. package/website/.next/server/chunks/900.js +0 -1
  939. package/website/.next/server/chunks/97.js +0 -1
  940. package/website/.next/server/functions-config-manifest.json +0 -4
  941. package/website/.next/server/interception-route-rewrite-manifest.js +0 -1
  942. package/website/.next/server/middleware-build-manifest.js +0 -1
  943. package/website/.next/server/middleware-manifest.json +0 -6
  944. package/website/.next/server/middleware-react-loadable-manifest.js +0 -1
  945. package/website/.next/server/next-font-manifest.js +0 -1
  946. package/website/.next/server/next-font-manifest.json +0 -1
  947. package/website/.next/server/pages/404.html +0 -1
  948. package/website/.next/server/pages/500.html +0 -1
  949. package/website/.next/server/pages/_app.js +0 -1
  950. package/website/.next/server/pages/_app.js.nft.json +0 -1
  951. package/website/.next/server/pages/_document.js +0 -1
  952. package/website/.next/server/pages/_document.js.nft.json +0 -1
  953. package/website/.next/server/pages/_error.js +0 -19
  954. package/website/.next/server/pages/_error.js.nft.json +0 -1
  955. package/website/.next/server/pages-manifest.json +0 -6
  956. package/website/.next/server/server-reference-manifest.js +0 -1
  957. package/website/.next/server/server-reference-manifest.json +0 -1
  958. package/website/.next/server/webpack-runtime.js +0 -1
  959. package/website/.next/static/IDhDQiozPwOaA3PpMqvTE/_buildManifest.js +0 -1
  960. package/website/.next/static/IDhDQiozPwOaA3PpMqvTE/_ssgManifest.js +0 -1
  961. package/website/.next/static/chunks/119.05f66060d7798fc9.js +0 -25
  962. package/website/.next/static/chunks/255-bf407b21685f2318.js +0 -1
  963. package/website/.next/static/chunks/451-235273497e501ae9.js +0 -1
  964. package/website/.next/static/chunks/4bd1b696-409494caf8c83275.js +0 -1
  965. package/website/.next/static/chunks/619-f072ac750404f9da.js +0 -1
  966. package/website/.next/static/chunks/651-5cd3c87d43b7eb46.js +0 -1
  967. package/website/.next/static/chunks/778.278ac2aadb2a1105.js +0 -1
  968. package/website/.next/static/chunks/890-ab915e0570e1961b.js +0 -1
  969. package/website/.next/static/chunks/app/_not-found/page-ccdaf9d90b537c5d.js +0 -1
  970. package/website/.next/static/chunks/app/about/page-bd4cb2219b41f933.js +0 -1
  971. package/website/.next/static/chunks/app/blog/[slug]/page-8fd43000c4969233.js +0 -1
  972. package/website/.next/static/chunks/app/blog/page-bd4cb2219b41f933.js +0 -1
  973. package/website/.next/static/chunks/app/design-guide/page-bd4cb2219b41f933.js +0 -1
  974. package/website/.next/static/chunks/app/ecosystem/page-bd4cb2219b41f933.js +0 -1
  975. package/website/.next/static/chunks/app/layout-ccacbd90656baa78.js +0 -1
  976. package/website/.next/static/chunks/app/license/page-bd4cb2219b41f933.js +0 -1
  977. package/website/.next/static/chunks/app/page-31241dc7465f9590.js +0 -1
  978. package/website/.next/static/chunks/app/playground/page-c2af00885374900f.js +0 -1
  979. package/website/.next/static/chunks/app/robots.txt/route-032c05054032342f.js +0 -1
  980. package/website/.next/static/chunks/app/rss.xml/route-032c05054032342f.js +0 -1
  981. package/website/.next/static/chunks/app/schema/page-f7c224b281771083.js +0 -1
  982. package/website/.next/static/chunks/app/sitemap.xml/route-032c05054032342f.js +0 -1
  983. package/website/.next/static/chunks/app/specification/page-bd4cb2219b41f933.js +0 -1
  984. package/website/.next/static/chunks/framework-1ce91eb6f9ecda85.js +0 -1
  985. package/website/.next/static/chunks/main-3099e141650ec47a.js +0 -1
  986. package/website/.next/static/chunks/main-app-a2fc6ac9305e3090.js +0 -1
  987. package/website/.next/static/chunks/pages/_app-5addca2b3b969fde.js +0 -1
  988. package/website/.next/static/chunks/pages/_error-022e4ac7bbb9914f.js +0 -1
  989. package/website/.next/static/chunks/polyfills-42372ed130431b0a.js +0 -1
  990. package/website/.next/static/chunks/webpack-6ecb09e5c6e34cb4.js +0 -1
  991. package/website/.next/static/css/23135390005d4468.css +0 -3
  992. package/website/.next/static/media/19cfc7226ec3afaa-s.woff2 +0 -0
  993. package/website/.next/static/media/21350d82a1f187e9-s.woff2 +0 -0
  994. package/website/.next/static/media/8e9860b6e62d6359-s.woff2 +0 -0
  995. package/website/.next/static/media/ba9851c3c22cd980-s.woff2 +0 -0
  996. package/website/.next/static/media/c5fe6dc8356a8c31-s.woff2 +0 -0
  997. package/website/.next/static/media/df0a9ae256c0569c-s.woff2 +0 -0
  998. package/website/.next/static/media/e4af272ccee01ff0-s.p.woff2 +0 -0
  999. package/website/.next/trace +0 -3
  1000. package/website/.next/types/app/about/page.ts +0 -84
  1001. package/website/.next/types/app/blog/[slug]/page.ts +0 -84
  1002. package/website/.next/types/app/blog/page.ts +0 -84
  1003. package/website/.next/types/app/design-guide/page.ts +0 -84
  1004. package/website/.next/types/app/ecosystem/page.ts +0 -84
  1005. package/website/.next/types/app/license/page.ts +0 -84
  1006. package/website/.next/types/app/page.ts +0 -84
  1007. package/website/.next/types/app/playground/page.ts +0 -84
  1008. package/website/.next/types/app/rss.xml/route.ts +0 -347
  1009. package/website/.next/types/app/schema/page.ts +0 -84
  1010. package/website/.next/types/app/specification/page.ts +0 -84
  1011. package/website/.next/types/cache-life.d.ts +0 -141
  1012. package/website/.next/types/package.json +0 -1
  1013. package/website/.next/types/routes.d.ts +0 -85
  1014. package/website/.next/types/validator.ts +0 -187
  1015. package/website/.wiki-export/Agent-Folder-Structure.md +0 -215
  1016. package/website/.wiki-export/CI-STATUS.md +0 -66
  1017. package/website/.wiki-export/COMPLETE-IMPLEMENTATION-CHECKLIST.md +0 -74
  1018. package/website/.wiki-export/DRUPAL-MODULE-INTEGRATION.md +0 -103
  1019. package/website/.wiki-export/FINAL-STATUS.md +0 -63
  1020. package/website/.wiki-export/Getting-Started.md +0 -87
  1021. package/website/.wiki-export/INSTRUCTIONS.md +0 -46
  1022. package/website/.wiki-export/INTEGRATION-ANALYSIS.md +0 -216
  1023. package/website/.wiki-export/MANIFEST.json +0 -62
  1024. package/website/.wiki-export/OSSA-COMPLIANT-BADGE.md +0 -247
  1025. package/website/.wiki-export/Openapi-Extensions.md +0 -930
  1026. package/website/.wiki-export/README.md +0 -31
  1027. package/website/.wiki-export/RELEASE-READINESS.md +0 -95
  1028. package/website/.wiki-export/VERSIONING.md +0 -284
  1029. package/website/next-env.d.ts +0 -6
  1030. package/website/out/app-build-manifest.json +0 -3
  1031. package/website/out/build-manifest.json +0 -17
  1032. package/website/out/cache/.rscinfo +0 -1
  1033. package/website/out/cache/next-devtools-config.json +0 -1
  1034. package/website/out/cache/webpack/client-development/0.pack.gz +0 -0
  1035. package/website/out/cache/webpack/client-development/1.pack.gz +0 -0
  1036. package/website/out/cache/webpack/client-development/2.pack.gz +0 -0
  1037. package/website/out/cache/webpack/client-development/3.pack.gz +0 -0
  1038. package/website/out/cache/webpack/client-development/index.pack.gz +0 -0
  1039. package/website/out/cache/webpack/client-development/index.pack.gz.old +0 -0
  1040. package/website/out/cache/webpack/client-development-fallback/0.pack.gz +0 -0
  1041. package/website/out/cache/webpack/client-development-fallback/index.pack.gz +0 -0
  1042. package/website/out/cache/webpack/server-development/0.pack.gz +0 -0
  1043. package/website/out/cache/webpack/server-development/1.pack.gz +0 -0
  1044. package/website/out/cache/webpack/server-development/2.pack.gz +0 -0
  1045. package/website/out/cache/webpack/server-development/3.pack.gz +0 -0
  1046. package/website/out/cache/webpack/server-development/index.pack.gz +0 -0
  1047. package/website/out/cache/webpack/server-development/index.pack.gz.old +0 -0
  1048. package/website/out/package.json +0 -1
  1049. package/website/out/prerender-manifest.json +0 -11
  1050. package/website/out/react-loadable-manifest.json +0 -1
  1051. package/website/out/routes-manifest.json +0 -1
  1052. package/website/out/server/app-paths-manifest.json +0 -1
  1053. package/website/out/server/interception-route-rewrite-manifest.js +0 -1
  1054. package/website/out/server/middleware-build-manifest.js +0 -19
  1055. package/website/out/server/middleware-manifest.json +0 -6
  1056. package/website/out/server/middleware-react-loadable-manifest.js +0 -1
  1057. package/website/out/server/next-font-manifest.js +0 -1
  1058. package/website/out/server/next-font-manifest.json +0 -1
  1059. package/website/out/server/pages-manifest.json +0 -1
  1060. package/website/out/server/server-reference-manifest.js +0 -1
  1061. package/website/out/server/server-reference-manifest.json +0 -5
  1062. package/website/out/static/chunks/polyfills.js +0 -1
  1063. package/website/out/static/development/_buildManifest.js +0 -1
  1064. package/website/out/static/development/_ssgManifest.js +0 -1
  1065. package/website/out/trace +0 -2
  1066. package/website/out/types/cache-life.d.ts +0 -141
  1067. package/website/out/types/package.json +0 -1
  1068. package/website/out/types/routes.d.ts +0 -85
  1069. package/website/out/types/validator.ts +0 -187
  1070. package/website/public/examples.json +0 -476
  1071. package/website/public/schemas/openapi-extensions.schema.json +0 -486
  1072. package/website/tsconfig.tsbuildinfo +0 -1
  1073. /package/dist/spec/{v0.2.4-dev → v0.2.4}/ossa-0.2.4-dev.yaml +0 -0
  1074. /package/spec/v0.2.4/{ossa-0.2.4.yaml → ossa-0.2.4-dev.yaml} +0 -0
@@ -0,0 +1,1234 @@
1
+ # Customer Support Ticket Triage Agent
2
+
3
+ ## Problem Statement
4
+
5
+ Customer support teams face overwhelming ticket volumes:
6
+ - **Response time bottlenecks**: Average first response time 4-8 hours
7
+ - **Misrouted tickets**: 30% of tickets assigned to wrong team/person
8
+ - **Inconsistent prioritization**: Critical issues buried under low-priority requests
9
+ - **Knowledge gaps**: Support agents spend 40% of time searching for answers
10
+ - **Escalation delays**: High-value customers wait in same queue as free-tier users
11
+ - **No 24/7 coverage**: After-hours tickets pile up until next business day
12
+
13
+ **Solution**: An OSSA-powered support agent that automatically triages tickets, assigns priority and routing, surfaces relevant knowledge base articles, suggests responses, and escalates critical issues to human agents—reducing response time from hours to seconds.
14
+
15
+ ## Architecture Overview
16
+
17
+ ```mermaid
18
+ graph TB
19
+ subgraph "Input Channels"
20
+ Email[Email Support]
21
+ Chat[Live Chat]
22
+ Form[Web Form]
23
+ API[API Tickets]
24
+ end
25
+
26
+ subgraph "Triage Agent"
27
+ Classifier[Ticket Classifier]
28
+ Priority[Priority Scorer]
29
+ Router[Routing Engine]
30
+ KB[Knowledge Base Search]
31
+ Sentiment[Sentiment Analysis]
32
+ end
33
+
34
+ subgraph "AI Processing"
35
+ LLM[GPT-4/Claude]
36
+ Embeddings[Vector Embeddings]
37
+ Intent[Intent Detection]
38
+ Entity[Entity Extraction]
39
+ end
40
+
41
+ subgraph "Actions"
42
+ AutoReply[Auto-Reply]
43
+ Escalate[Escalate to Human]
44
+ Assign[Assign to Team]
45
+ Suggest[Suggest Response]
46
+ end
47
+
48
+ subgraph "Integrations"
49
+ Zendesk[Zendesk]
50
+ Intercom[Intercom]
51
+ Slack[Slack Alerts]
52
+ CRM[CRM Sync]
53
+ end
54
+
55
+ Email --> Classifier
56
+ Chat --> Classifier
57
+ Form --> Classifier
58
+ API --> Classifier
59
+
60
+ Classifier --> LLM
61
+ Classifier --> Priority
62
+ Classifier --> Router
63
+ Classifier --> KB
64
+
65
+ LLM --> Intent
66
+ LLM --> Entity
67
+ LLM --> Sentiment
68
+
69
+ Priority --> AutoReply
70
+ Priority --> Escalate
71
+ Router --> Assign
72
+ KB --> Suggest
73
+
74
+ AutoReply --> Zendesk
75
+ Escalate --> Slack
76
+ Assign --> Zendesk
77
+ Suggest --> Zendesk
78
+ Assign --> CRM
79
+
80
+ style Classifier fill:#e1f5ff
81
+ style LLM fill:#ffe1f5
82
+ style Escalate fill:#ffe1e1
83
+ style AutoReply fill:#e1ffe1
84
+ ```
85
+
86
+ ## OSSA Manifest
87
+
88
+ ```yaml
89
+ apiVersion: ossa/v0.2.x
90
+ kind: Agent
91
+ metadata:
92
+ name: support-triage-agent
93
+ namespace: customer-support
94
+ labels:
95
+ app: support
96
+ tier: customer-facing
97
+ criticality: high
98
+ annotations:
99
+ support.ossa.io/sla-critical: "15m"
100
+ support.ossa.io/sla-high: "2h"
101
+ support.ossa.io/sla-normal: "24h"
102
+ support.ossa.io/auto-reply-enabled: "true"
103
+ cost.ossa.io/budget-monthly: "500.00"
104
+
105
+ spec:
106
+ type: worker
107
+ description: |
108
+ Intelligent customer support ticket triage agent.
109
+ Automatically classifies, prioritizes, routes, and responds to
110
+ customer support tickets with knowledge base integration.
111
+
112
+ runtime:
113
+ type: docker
114
+ image: registry.example.com/agents/support-triage:2.5.0
115
+ command: ["/app/triage-agent"]
116
+ args:
117
+ - "--mode=realtime"
118
+ - "--auto-reply=smart"
119
+ - "--escalation-threshold=0.85"
120
+ resources:
121
+ limits:
122
+ cpu: "2000m"
123
+ memory: "4Gi"
124
+ requests:
125
+ cpu: "500m"
126
+ memory: "1Gi"
127
+ env:
128
+ - name: LOG_LEVEL
129
+ value: "info"
130
+ - name: AI_MODEL
131
+ value: "gpt-4-turbo-preview"
132
+ - name: KNOWLEDGE_BASE_PROVIDER
133
+ value: "pinecone"
134
+ - name: ENABLE_AUTO_REPLY
135
+ value: "true"
136
+ - name: ENABLE_SENTIMENT_ANALYSIS
137
+ value: "true"
138
+ - name: MAX_AUTO_REPLY_CONFIDENCE
139
+ value: "0.95"
140
+
141
+ capabilities:
142
+ - name: triage_ticket
143
+ description: |
144
+ Comprehensive ticket triage including classification,
145
+ prioritization, routing, knowledge base search, and
146
+ response suggestion.
147
+ input_schema:
148
+ type: object
149
+ required: [ticket_id, subject, body, customer_id]
150
+ properties:
151
+ ticket_id:
152
+ type: string
153
+ description: "Unique ticket identifier"
154
+ subject:
155
+ type: string
156
+ description: "Ticket subject line"
157
+ body:
158
+ type: string
159
+ description: "Full ticket content"
160
+ customer_id:
161
+ type: string
162
+ description: "Customer identifier"
163
+ customer_tier:
164
+ type: string
165
+ enum: [free, basic, pro, enterprise]
166
+ default: basic
167
+ channel:
168
+ type: string
169
+ enum: [email, chat, form, api, phone]
170
+ default: email
171
+ attachments:
172
+ type: array
173
+ items:
174
+ type: object
175
+ properties:
176
+ filename: {type: string}
177
+ url: {type: string}
178
+ content_type: {type: string}
179
+ metadata:
180
+ type: object
181
+ description: "Additional ticket metadata"
182
+ output_schema:
183
+ type: object
184
+ required: [ticket_id, category, priority, routing, action]
185
+ properties:
186
+ ticket_id:
187
+ type: string
188
+ category:
189
+ type: string
190
+ enum: [
191
+ billing,
192
+ technical,
193
+ feature_request,
194
+ bug_report,
195
+ account_management,
196
+ general_inquiry,
197
+ complaint,
198
+ feedback
199
+ ]
200
+ subcategory:
201
+ type: string
202
+ priority:
203
+ type: string
204
+ enum: [critical, high, normal, low]
205
+ priority_score:
206
+ type: number
207
+ minimum: 0
208
+ maximum: 100
209
+ routing:
210
+ type: object
211
+ required: [team, suggested_agent]
212
+ properties:
213
+ team:
214
+ type: string
215
+ enum: [billing, engineering, sales, success, general]
216
+ suggested_agent:
217
+ type: string
218
+ skills_required:
219
+ type: array
220
+ items: {type: string}
221
+ sentiment:
222
+ type: object
223
+ properties:
224
+ score:
225
+ type: number
226
+ minimum: -1
227
+ maximum: 1
228
+ label:
229
+ type: string
230
+ enum: [very_negative, negative, neutral, positive, very_positive]
231
+ angry:
232
+ type: boolean
233
+ frustrated:
234
+ type: boolean
235
+ intent:
236
+ type: array
237
+ items:
238
+ type: string
239
+ description: "Detected customer intents"
240
+ entities:
241
+ type: object
242
+ description: "Extracted entities (product names, error codes, etc.)"
243
+ knowledge_base_matches:
244
+ type: array
245
+ items:
246
+ type: object
247
+ properties:
248
+ article_id: {type: string}
249
+ title: {type: string}
250
+ url: {type: string}
251
+ relevance_score: {type: number}
252
+ snippet: {type: string}
253
+ suggested_response:
254
+ type: string
255
+ description: "AI-generated response suggestion"
256
+ confidence:
257
+ type: number
258
+ minimum: 0
259
+ maximum: 1
260
+ description: "Confidence in triage decisions"
261
+ action:
262
+ type: string
263
+ enum: [auto_reply, escalate, assign, pending_info]
264
+ escalation_reason:
265
+ type: string
266
+ sla_deadline:
267
+ type: string
268
+ format: date-time
269
+ tags:
270
+ type: array
271
+ items: {type: string}
272
+ timestamp:
273
+ type: string
274
+ format: date-time
275
+
276
+ - name: search_knowledge_base
277
+ description: |
278
+ Search knowledge base for relevant articles using
279
+ semantic search with vector embeddings.
280
+ input_schema:
281
+ type: object
282
+ required: [query]
283
+ properties:
284
+ query:
285
+ type: string
286
+ description: "Search query"
287
+ category:
288
+ type: string
289
+ description: "Filter by category"
290
+ limit:
291
+ type: integer
292
+ default: 5
293
+ minimum: 1
294
+ maximum: 20
295
+ output_schema:
296
+ type: object
297
+ properties:
298
+ results:
299
+ type: array
300
+ items:
301
+ type: object
302
+ required: [id, title, content, score]
303
+ properties:
304
+ id: {type: string}
305
+ title: {type: string}
306
+ content: {type: string}
307
+ url: {type: string}
308
+ category: {type: string}
309
+ score: {type: number}
310
+ last_updated: {type: string, format: date-time}
311
+
312
+ - name: generate_response
313
+ description: |
314
+ Generate contextual response suggestion based on
315
+ ticket content and knowledge base.
316
+ input_schema:
317
+ type: object
318
+ required: [ticket_content, knowledge_articles]
319
+ properties:
320
+ ticket_content:
321
+ type: string
322
+ knowledge_articles:
323
+ type: array
324
+ items:
325
+ type: object
326
+ customer_history:
327
+ type: array
328
+ items:
329
+ type: object
330
+ tone:
331
+ type: string
332
+ enum: [professional, friendly, empathetic, concise]
333
+ default: professional
334
+ output_schema:
335
+ type: object
336
+ properties:
337
+ response:
338
+ type: string
339
+ confidence:
340
+ type: number
341
+ reasoning:
342
+ type: string
343
+ follow_up_actions:
344
+ type: array
345
+ items: {type: string}
346
+
347
+ - name: escalate_ticket
348
+ description: |
349
+ Escalate ticket to human agent with context and reasoning.
350
+ input_schema:
351
+ type: object
352
+ required: [ticket_id, reason]
353
+ properties:
354
+ ticket_id:
355
+ type: string
356
+ reason:
357
+ type: string
358
+ enum: [
359
+ high_value_customer,
360
+ angry_customer,
361
+ complex_issue,
362
+ low_confidence,
363
+ legal_concern,
364
+ security_incident
365
+ ]
366
+ urgency:
367
+ type: string
368
+ enum: [immediate, high, normal]
369
+ suggested_team:
370
+ type: string
371
+ context:
372
+ type: string
373
+ output_schema:
374
+ type: object
375
+ properties:
376
+ escalated:
377
+ type: boolean
378
+ assigned_to:
379
+ type: string
380
+ notification_sent:
381
+ type: boolean
382
+ escalation_id:
383
+ type: string
384
+
385
+ - name: analyze_sentiment
386
+ description: |
387
+ Analyze customer sentiment and emotional tone.
388
+ input_schema:
389
+ type: object
390
+ required: [text]
391
+ properties:
392
+ text:
393
+ type: string
394
+ output_schema:
395
+ type: object
396
+ properties:
397
+ sentiment_score:
398
+ type: number
399
+ minimum: -1
400
+ maximum: 1
401
+ sentiment_label:
402
+ type: string
403
+ emotions:
404
+ type: object
405
+ properties:
406
+ angry: {type: number}
407
+ frustrated: {type: number}
408
+ confused: {type: number}
409
+ satisfied: {type: number}
410
+ urgency_indicators:
411
+ type: array
412
+ items: {type: string}
413
+
414
+ policies:
415
+ sla:
416
+ critical: 15 # minutes
417
+ high: 120 # minutes
418
+ normal: 1440 # minutes (24 hours)
419
+ low: 2880 # minutes (48 hours)
420
+
421
+ auto_reply:
422
+ enabled: true
423
+ conditions:
424
+ min_confidence: 0.95
425
+ max_complexity: low
426
+ exclude_categories: [complaint, legal, security]
427
+ exclude_tiers: [enterprise]
428
+ exclude_angry_customers: true
429
+ approval_required: false
430
+ human_review_sample_rate: 0.10 # Review 10% of auto-replies
431
+
432
+ escalation:
433
+ automatic_triggers:
434
+ - condition: customer_tier == "enterprise"
435
+ action: escalate_immediately
436
+ - condition: sentiment_score < -0.7
437
+ action: escalate_to_senior
438
+ - condition: contains_keywords("refund", "cancel", "lawyer")
439
+ action: escalate_to_manager
440
+ - condition: confidence < 0.6
441
+ action: assign_to_human
442
+ notification_channels:
443
+ critical: [slack, email, sms]
444
+ high: [slack, email]
445
+ normal: [email]
446
+
447
+ routing:
448
+ teams:
449
+ billing:
450
+ keywords: [payment, invoice, refund, subscription, billing]
451
+ skills: [payments, accounting]
452
+ engineering:
453
+ keywords: [bug, error, crash, not working, technical]
454
+ skills: [debugging, api, integration]
455
+ sales:
456
+ keywords: [upgrade, pricing, demo, trial, enterprise]
457
+ skills: [sales, product_knowledge]
458
+ success:
459
+ keywords: [onboarding, training, best practices]
460
+ skills: [customer_success, training]
461
+
462
+ cost_management:
463
+ budget:
464
+ monthly_limit_usd: 500.00
465
+ per_ticket_limit_usd: 0.50
466
+ alert_threshold: 0.85
467
+ optimization:
468
+ cache_kb_searches: true
469
+ batch_processing: true
470
+ use_cheaper_model_when_possible: true
471
+
472
+ integration:
473
+ protocol: webhook
474
+ api_version: v1
475
+
476
+ webhooks:
477
+ zendesk:
478
+ url: https://support-triage.example.com/webhooks/zendesk
479
+ events:
480
+ - ticket.created
481
+ - ticket.updated
482
+ secret_env: ZENDESK_WEBHOOK_SECRET
483
+
484
+ intercom:
485
+ url: https://support-triage.example.com/webhooks/intercom
486
+ events:
487
+ - conversation.created
488
+ - conversation.admin.replied
489
+ secret_env: INTERCOM_WEBHOOK_SECRET
490
+
491
+ apis:
492
+ zendesk:
493
+ base_url: https://example.zendesk.com/api/v2
494
+ auth:
495
+ type: bearer
496
+ token_env: ZENDESK_API_TOKEN
497
+
498
+ intercom:
499
+ base_url: https://api.intercom.io
500
+ auth:
501
+ type: bearer
502
+ token_env: INTERCOM_ACCESS_TOKEN
503
+
504
+ slack:
505
+ base_url: https://slack.com/api
506
+ auth:
507
+ type: bearer
508
+ token_env: SLACK_BOT_TOKEN
509
+
510
+ endpoints:
511
+ triage:
512
+ path: /v1/triage/ticket
513
+ method: POST
514
+ rate_limit: 1000/hour
515
+
516
+ search_kb:
517
+ path: /v1/knowledge-base/search
518
+ method: GET
519
+ rate_limit: 5000/hour
520
+
521
+ escalate:
522
+ path: /v1/escalate
523
+ method: POST
524
+ rate_limit: 500/hour
525
+
526
+ monitoring:
527
+ health_check:
528
+ endpoint: http://localhost:8080/health
529
+ interval_seconds: 30
530
+
531
+ metrics:
532
+ enabled: true
533
+ exporter: prometheus
534
+ custom_metrics:
535
+ - tickets_triaged_total
536
+ - tickets_auto_replied_total
537
+ - tickets_escalated_total
538
+ - average_confidence_score
539
+ - average_response_time_seconds
540
+ - sla_compliance_rate
541
+ - customer_satisfaction_score
542
+
543
+ traces:
544
+ enabled: true
545
+ exporter: jaeger
546
+
547
+ logs:
548
+ level: info
549
+ format: json
550
+
551
+ metadata:
552
+ version: 2.5.0
553
+ author:
554
+ name: Support Team
555
+ email: support@example.com
556
+ license: Proprietary
557
+ tags:
558
+ - customer-support
559
+ - ticket-triage
560
+ - automation
561
+ - ai-assistant
562
+ documentation_url: https://docs.example.com/agents/support-triage
563
+ ```
564
+
565
+ ## Implementation (TypeScript)
566
+
567
+ ```typescript
568
+ /**
569
+ * Customer Support Ticket Triage Agent
570
+ *
571
+ * Production-ready OSSA agent for intelligent support ticket triage,
572
+ * classification, routing, and automated responses.
573
+ */
574
+
575
+ import { Agent, OSSARuntime } from '@ossa/runtime';
576
+ import { OpenAI } from 'openai';
577
+ import { Pinecone } from '@pinecone-database/pinecone';
578
+ import axios from 'axios';
579
+
580
+ interface TriageInput {
581
+ ticketId: string;
582
+ subject: string;
583
+ body: string;
584
+ customerId: string;
585
+ customerTier?: 'free' | 'basic' | 'pro' | 'enterprise';
586
+ channel?: string;
587
+ attachments?: Array<{filename: string; url: string; contentType: string}>;
588
+ metadata?: Record<string, any>;
589
+ }
590
+
591
+ interface TriageResult {
592
+ ticketId: string;
593
+ category: string;
594
+ subcategory?: string;
595
+ priority: 'critical' | 'high' | 'normal' | 'low';
596
+ priorityScore: number;
597
+ routing: {
598
+ team: string;
599
+ suggestedAgent?: string;
600
+ skillsRequired: string[];
601
+ };
602
+ sentiment: {
603
+ score: number;
604
+ label: string;
605
+ angry: boolean;
606
+ frustrated: boolean;
607
+ };
608
+ intent: string[];
609
+ entities: Record<string, any>;
610
+ knowledgeBaseMatches: Array<{
611
+ articleId: string;
612
+ title: string;
613
+ url: string;
614
+ relevanceScore: number;
615
+ snippet: string;
616
+ }>;
617
+ suggestedResponse?: string;
618
+ confidence: number;
619
+ action: 'auto_reply' | 'escalate' | 'assign' | 'pending_info';
620
+ escalationReason?: string;
621
+ slaDeadline: Date;
622
+ tags: string[];
623
+ timestamp: Date;
624
+ }
625
+
626
+ export class SupportTriageAgent extends Agent {
627
+ private openai: OpenAI;
628
+ private pinecone: Pinecone;
629
+ private zendeskBaseUrl: string;
630
+ private zendeskToken: string;
631
+
632
+ constructor(runtime: OSSARuntime) {
633
+ super(runtime);
634
+
635
+ this.openai = new OpenAI({
636
+ apiKey: process.env.OPENAI_API_KEY,
637
+ });
638
+
639
+ this.pinecone = new Pinecone({
640
+ apiKey: process.env.PINECONE_API_KEY || '',
641
+ });
642
+
643
+ this.zendeskBaseUrl = process.env.ZENDESK_BASE_URL || '';
644
+ this.zendeskToken = process.env.ZENDESK_API_TOKEN || '';
645
+ }
646
+
647
+ /**
648
+ * Main triage capability
649
+ */
650
+ async triageTicket(input: TriageInput): Promise<TriageResult> {
651
+ const startTime = Date.now();
652
+
653
+ this.logger.info(`Starting triage for ticket ${input.ticketId}`);
654
+
655
+ try {
656
+ // Run classification, sentiment, and KB search in parallel
657
+ const [classification, sentiment, kbMatches] = await Promise.all([
658
+ this.classifyTicket(input),
659
+ this.analyzeSentiment(input.body),
660
+ this.searchKnowledgeBase(input.subject + ' ' + input.body),
661
+ ]);
662
+
663
+ // Calculate priority
664
+ const priority = this.calculatePriority({
665
+ classification,
666
+ sentiment,
667
+ customerTier: input.customerTier || 'basic',
668
+ });
669
+
670
+ // Determine routing
671
+ const routing = this.determineRouting(classification, input);
672
+
673
+ // Extract intents and entities
674
+ const { intent, entities } = await this.extractIntentAndEntities(input.body);
675
+
676
+ // Generate response suggestion if confidence is high
677
+ let suggestedResponse: string | undefined;
678
+ let confidence = classification.confidence;
679
+
680
+ if (confidence > 0.9 && kbMatches.length > 0) {
681
+ suggestedResponse = await this.generateResponse({
682
+ ticketContent: input.body,
683
+ knowledgeArticles: kbMatches,
684
+ tone: this.selectTone(sentiment),
685
+ });
686
+ }
687
+
688
+ // Determine action
689
+ const action = this.determineAction({
690
+ confidence,
691
+ sentiment,
692
+ customerTier: input.customerTier,
693
+ category: classification.category,
694
+ });
695
+
696
+ // Calculate SLA deadline
697
+ const slaDeadline = this.calculateSlaDeadline(priority.level);
698
+
699
+ // Build result
700
+ const result: TriageResult = {
701
+ ticketId: input.ticketId,
702
+ category: classification.category,
703
+ subcategory: classification.subcategory,
704
+ priority: priority.level,
705
+ priorityScore: priority.score,
706
+ routing,
707
+ sentiment,
708
+ intent,
709
+ entities,
710
+ knowledgeBaseMatches: kbMatches,
711
+ suggestedResponse,
712
+ confidence,
713
+ action,
714
+ escalationReason: action === 'escalate' ? this.getEscalationReason(sentiment, input.customerTier) : undefined,
715
+ slaDeadline,
716
+ tags: this.generateTags(classification, sentiment, input),
717
+ timestamp: new Date(),
718
+ };
719
+
720
+ // Execute action
721
+ await this.executeAction(result);
722
+
723
+ // Record metrics
724
+ const duration = Date.now() - startTime;
725
+ this.metrics.histogram('triage_duration_seconds', duration / 1000);
726
+ this.metrics.counter('tickets_triaged_total', { category: result.category, action: result.action });
727
+ this.metrics.gauge('average_confidence_score', confidence);
728
+
729
+ this.logger.info(`Triage completed for ticket ${input.ticketId}: ${action}`);
730
+
731
+ return result;
732
+
733
+ } catch (error) {
734
+ this.logger.error(`Triage failed for ticket ${input.ticketId}:`, error);
735
+ this.metrics.counter('triage_errors_total');
736
+ throw error;
737
+ }
738
+ }
739
+
740
+ /**
741
+ * Classify ticket using GPT-4
742
+ */
743
+ private async classifyTicket(input: TriageInput): Promise<{
744
+ category: string;
745
+ subcategory?: string;
746
+ confidence: number;
747
+ }> {
748
+ const prompt = `
749
+ Classify the following customer support ticket into one of these categories:
750
+ - billing (payment issues, invoices, refunds, subscriptions)
751
+ - technical (bugs, errors, crashes, not working)
752
+ - feature_request (new features, enhancements)
753
+ - bug_report (software bugs, defects)
754
+ - account_management (login, password, settings)
755
+ - general_inquiry (questions, how-to)
756
+ - complaint (dissatisfaction, problems)
757
+ - feedback (suggestions, comments)
758
+
759
+ Ticket:
760
+ Subject: ${input.subject}
761
+ Body: ${input.body}
762
+
763
+ Return JSON: {"category": "...", "subcategory": "...", "confidence": 0.0-1.0, "reasoning": "..."}
764
+ `.trim();
765
+
766
+ const response = await this.openai.chat.completions.create({
767
+ model: 'gpt-4-turbo-preview',
768
+ messages: [
769
+ { role: 'system', content: 'You are an expert customer support ticket classifier.' },
770
+ { role: 'user', content: prompt },
771
+ ],
772
+ response_format: { type: 'json_object' },
773
+ });
774
+
775
+ const result = JSON.parse(response.choices[0].message.content || '{}');
776
+
777
+ return {
778
+ category: result.category,
779
+ subcategory: result.subcategory,
780
+ confidence: result.confidence,
781
+ };
782
+ }
783
+
784
+ /**
785
+ * Analyze sentiment
786
+ */
787
+ private async analyzeSentiment(text: string): Promise<{
788
+ score: number;
789
+ label: string;
790
+ angry: boolean;
791
+ frustrated: boolean;
792
+ }> {
793
+ const prompt = `
794
+ Analyze the sentiment and emotional tone of this customer message:
795
+
796
+ "${text}"
797
+
798
+ Return JSON: {
799
+ "score": -1.0 to 1.0,
800
+ "label": "very_negative" | "negative" | "neutral" | "positive" | "very_positive",
801
+ "angry": boolean,
802
+ "frustrated": boolean
803
+ }
804
+ `.trim();
805
+
806
+ const response = await this.openai.chat.completions.create({
807
+ model: 'gpt-4-turbo-preview',
808
+ messages: [{ role: 'user', content: prompt }],
809
+ response_format: { type: 'json_object' },
810
+ });
811
+
812
+ return JSON.parse(response.choices[0].message.content || '{}');
813
+ }
814
+
815
+ /**
816
+ * Search knowledge base using vector embeddings
817
+ */
818
+ private async searchKnowledgeBase(query: string, limit: number = 5): Promise<any[]> {
819
+ // Generate embedding for query
820
+ const embeddingResponse = await this.openai.embeddings.create({
821
+ model: 'text-embedding-ada-002',
822
+ input: query,
823
+ });
824
+
825
+ const queryEmbedding = embeddingResponse.data[0].embedding;
826
+
827
+ // Search Pinecone
828
+ const index = this.pinecone.Index('support-kb');
829
+ const searchResults = await index.query({
830
+ vector: queryEmbedding,
831
+ topK: limit,
832
+ includeMetadata: true,
833
+ });
834
+
835
+ return searchResults.matches?.map(match => ({
836
+ articleId: match.id,
837
+ title: match.metadata?.title,
838
+ url: match.metadata?.url,
839
+ relevanceScore: match.score,
840
+ snippet: match.metadata?.snippet,
841
+ })) || [];
842
+ }
843
+
844
+ /**
845
+ * Generate response suggestion
846
+ */
847
+ private async generateResponse(params: {
848
+ ticketContent: string;
849
+ knowledgeArticles: any[];
850
+ tone: string;
851
+ }): Promise<string> {
852
+ const kbContext = params.knowledgeArticles
853
+ .map(a => `Article: ${a.title}\n${a.snippet}`)
854
+ .join('\n\n');
855
+
856
+ const prompt = `
857
+ You are a customer support agent. Generate a helpful response to this customer ticket.
858
+
859
+ Customer message:
860
+ ${params.ticketContent}
861
+
862
+ Relevant knowledge base articles:
863
+ ${kbContext}
864
+
865
+ Tone: ${params.tone}
866
+
867
+ Generate a response that:
868
+ 1. Addresses the customer's question/issue
869
+ 2. References the knowledge base articles
870
+ 3. Is clear, concise, and helpful
871
+ 4. Uses the specified tone
872
+ `.trim();
873
+
874
+ const response = await this.openai.chat.completions.create({
875
+ model: 'gpt-4-turbo-preview',
876
+ messages: [
877
+ { role: 'system', content: 'You are a helpful, empathetic customer support agent.' },
878
+ { role: 'user', content: prompt },
879
+ ],
880
+ });
881
+
882
+ return response.choices[0].message.content || '';
883
+ }
884
+
885
+ /**
886
+ * Extract intent and entities
887
+ */
888
+ private async extractIntentAndEntities(text: string): Promise<{
889
+ intent: string[];
890
+ entities: Record<string, any>;
891
+ }> {
892
+ const prompt = `
893
+ Extract the customer's intents and entities from this message:
894
+
895
+ "${text}"
896
+
897
+ Return JSON: {
898
+ "intent": ["intent1", "intent2"],
899
+ "entities": {
900
+ "product": "...",
901
+ "error_code": "...",
902
+ "date": "...",
903
+ ...
904
+ }
905
+ }
906
+ `.trim();
907
+
908
+ const response = await this.openai.chat.completions.create({
909
+ model: 'gpt-4-turbo-preview',
910
+ messages: [{ role: 'user', content: prompt }],
911
+ response_format: { type: 'json_object' },
912
+ });
913
+
914
+ return JSON.parse(response.choices[0].message.content || '{}');
915
+ }
916
+
917
+ /**
918
+ * Calculate priority
919
+ */
920
+ private calculatePriority(params: {
921
+ classification: any;
922
+ sentiment: any;
923
+ customerTier: string;
924
+ }): { level: 'critical' | 'high' | 'normal' | 'low'; score: number } {
925
+ let score = 50; // Base score
926
+
927
+ // Customer tier bonus
928
+ const tierBonus = { free: 0, basic: 10, pro: 20, enterprise: 40 };
929
+ score += tierBonus[params.customerTier] || 0;
930
+
931
+ // Category urgency
932
+ if (params.classification.category === 'bug_report') score += 20;
933
+ if (params.classification.category === 'billing') score += 15;
934
+ if (params.classification.category === 'technical') score += 10;
935
+
936
+ // Sentiment impact
937
+ if (params.sentiment.angry) score += 30;
938
+ if (params.sentiment.frustrated) score += 15;
939
+ if (params.sentiment.score < -0.5) score += 20;
940
+
941
+ // Determine level
942
+ let level: 'critical' | 'high' | 'normal' | 'low';
943
+ if (score >= 80) level = 'critical';
944
+ else if (score >= 60) level = 'high';
945
+ else if (score >= 40) level = 'normal';
946
+ else level = 'low';
947
+
948
+ return { level, score };
949
+ }
950
+
951
+ /**
952
+ * Determine routing
953
+ */
954
+ private determineRouting(classification: any, input: TriageInput): any {
955
+ const categoryToTeam = {
956
+ billing: 'billing',
957
+ technical: 'engineering',
958
+ feature_request: 'product',
959
+ bug_report: 'engineering',
960
+ account_management: 'success',
961
+ general_inquiry: 'general',
962
+ complaint: 'success',
963
+ feedback: 'product',
964
+ };
965
+
966
+ return {
967
+ team: categoryToTeam[classification.category] || 'general',
968
+ skillsRequired: this.getRequiredSkills(classification.category),
969
+ };
970
+ }
971
+
972
+ /**
973
+ * Determine action
974
+ */
975
+ private determineAction(params: {
976
+ confidence: number;
977
+ sentiment: any;
978
+ customerTier?: string;
979
+ category: string;
980
+ }): 'auto_reply' | 'escalate' | 'assign' | 'pending_info' {
981
+ // Never auto-reply to enterprise customers
982
+ if (params.customerTier === 'enterprise') return 'escalate';
983
+
984
+ // Never auto-reply to angry customers
985
+ if (params.sentiment.angry) return 'escalate';
986
+
987
+ // Never auto-reply to complaints or legal issues
988
+ if (['complaint', 'legal'].includes(params.category)) return 'escalate';
989
+
990
+ // Auto-reply if high confidence
991
+ if (params.confidence >= 0.95) return 'auto_reply';
992
+
993
+ // Escalate if low confidence
994
+ if (params.confidence < 0.6) return 'escalate';
995
+
996
+ // Otherwise assign to human
997
+ return 'assign';
998
+ }
999
+
1000
+ /**
1001
+ * Execute action
1002
+ */
1003
+ private async executeAction(result: TriageResult): Promise<void> {
1004
+ if (result.action === 'auto_reply' && result.suggestedResponse) {
1005
+ await this.sendAutoReply(result.ticketId, result.suggestedResponse);
1006
+ this.metrics.counter('tickets_auto_replied_total');
1007
+ } else if (result.action === 'escalate') {
1008
+ await this.escalateTicket(result.ticketId, result.escalationReason || 'Unknown');
1009
+ this.metrics.counter('tickets_escalated_total');
1010
+ } else if (result.action === 'assign') {
1011
+ await this.assignTicket(result.ticketId, result.routing.team);
1012
+ }
1013
+ }
1014
+
1015
+ /**
1016
+ * Send auto-reply via Zendesk
1017
+ */
1018
+ private async sendAutoReply(ticketId: string, response: string): Promise<void> {
1019
+ await axios.put(
1020
+ `${this.zendeskBaseUrl}/tickets/${ticketId}.json`,
1021
+ {
1022
+ ticket: {
1023
+ comment: {
1024
+ body: response,
1025
+ public: true,
1026
+ author_id: 'support-bot',
1027
+ },
1028
+ status: 'solved',
1029
+ },
1030
+ },
1031
+ {
1032
+ headers: {
1033
+ 'Authorization': `Bearer ${this.zendeskToken}`,
1034
+ 'Content-Type': 'application/json',
1035
+ },
1036
+ }
1037
+ );
1038
+ }
1039
+
1040
+ /**
1041
+ * Escalate ticket
1042
+ */
1043
+ private async escalateTicket(ticketId: string, reason: string): Promise<void> {
1044
+ // Send Slack notification
1045
+ await this.sendSlackAlert({
1046
+ ticketId,
1047
+ message: `🚨 Ticket escalated: ${reason}`,
1048
+ urgency: 'high',
1049
+ });
1050
+
1051
+ // Update ticket priority in Zendesk
1052
+ await axios.put(
1053
+ `${this.zendeskBaseUrl}/tickets/${ticketId}.json`,
1054
+ {
1055
+ ticket: {
1056
+ priority: 'urgent',
1057
+ tags: ['escalated', 'needs-human'],
1058
+ },
1059
+ },
1060
+ {
1061
+ headers: {
1062
+ 'Authorization': `Bearer ${this.zendeskToken}`,
1063
+ 'Content-Type': 'application/json',
1064
+ },
1065
+ }
1066
+ );
1067
+ }
1068
+
1069
+ /**
1070
+ * Assign ticket to team
1071
+ */
1072
+ private async assignTicket(ticketId: string, team: string): Promise<void> {
1073
+ // Update ticket in Zendesk
1074
+ await axios.put(
1075
+ `${this.zendeskBaseUrl}/tickets/${ticketId}.json`,
1076
+ {
1077
+ ticket: {
1078
+ group_id: this.getTeamGroupId(team),
1079
+ tags: ['triaged', `team-${team}`],
1080
+ },
1081
+ },
1082
+ {
1083
+ headers: {
1084
+ 'Authorization': `Bearer ${this.zendeskToken}`,
1085
+ 'Content-Type': 'application/json',
1086
+ },
1087
+ }
1088
+ );
1089
+ }
1090
+
1091
+ // Helper methods
1092
+ private selectTone(sentiment: any): string {
1093
+ if (sentiment.angry || sentiment.frustrated) return 'empathetic';
1094
+ if (sentiment.score > 0.5) return 'friendly';
1095
+ return 'professional';
1096
+ }
1097
+
1098
+ private getEscalationReason(sentiment: any, customerTier?: string): string {
1099
+ if (customerTier === 'enterprise') return 'high_value_customer';
1100
+ if (sentiment.angry) return 'angry_customer';
1101
+ return 'low_confidence';
1102
+ }
1103
+
1104
+ private calculateSlaDeadline(priority: string): Date {
1105
+ const slaMinutes = { critical: 15, high: 120, normal: 1440, low: 2880 };
1106
+ const minutes = slaMinutes[priority] || 1440;
1107
+ return new Date(Date.now() + minutes * 60 * 1000);
1108
+ }
1109
+
1110
+ private generateTags(classification: any, sentiment: any, input: TriageInput): string[] {
1111
+ const tags = [classification.category];
1112
+ if (sentiment.angry) tags.push('angry');
1113
+ if (sentiment.frustrated) tags.push('frustrated');
1114
+ if (input.customerTier) tags.push(`tier-${input.customerTier}`);
1115
+ return tags;
1116
+ }
1117
+
1118
+ private getRequiredSkills(category: string): string[] {
1119
+ const skillsMap = {
1120
+ billing: ['payments', 'accounting'],
1121
+ technical: ['debugging', 'api'],
1122
+ feature_request: ['product_knowledge'],
1123
+ bug_report: ['debugging', 'qa'],
1124
+ };
1125
+ return skillsMap[category] || [];
1126
+ }
1127
+
1128
+ private getTeamGroupId(team: string): string {
1129
+ // Map team names to Zendesk group IDs
1130
+ return '12345';
1131
+ }
1132
+
1133
+ private async sendSlackAlert(params: any): Promise<void> {
1134
+ // Send Slack notification
1135
+ this.logger.info(`Slack alert: ${params.message}`);
1136
+ }
1137
+ }
1138
+
1139
+ // Entry point
1140
+ async function main() {
1141
+ const runtime = new OSSARuntime({
1142
+ manifestPath: '/etc/ossa/manifest.yaml',
1143
+ });
1144
+
1145
+ const agent = new SupportTriageAgent(runtime);
1146
+ await agent.start();
1147
+ }
1148
+
1149
+ main().catch(console.error);
1150
+ ```
1151
+
1152
+ ## Deployment Instructions
1153
+
1154
+ ### Step 1: Deploy to Kubernetes
1155
+
1156
+ ```bash
1157
+ kubectl apply -f - <<EOF
1158
+ apiVersion: apps/v1
1159
+ kind: Deployment
1160
+ metadata:
1161
+ name: support-triage-agent
1162
+ namespace: customer-support
1163
+ spec:
1164
+ replicas: 3
1165
+ selector:
1166
+ matchLabels:
1167
+ app: support-triage
1168
+ template:
1169
+ metadata:
1170
+ labels:
1171
+ app: support-triage
1172
+ spec:
1173
+ containers:
1174
+ - name: agent
1175
+ image: registry.example.com/agents/support-triage:2.5.0
1176
+ env:
1177
+ - name: OPENAI_API_KEY
1178
+ valueFrom:
1179
+ secretKeyRef:
1180
+ name: ai-keys
1181
+ key: openai
1182
+ - name: ZENDESK_API_TOKEN
1183
+ valueFrom:
1184
+ secretKeyRef:
1185
+ name: support-keys
1186
+ key: zendesk
1187
+ - name: PINECONE_API_KEY
1188
+ valueFrom:
1189
+ secretKeyRef:
1190
+ name: ai-keys
1191
+ key: pinecone
1192
+ resources:
1193
+ requests:
1194
+ cpu: 500m
1195
+ memory: 1Gi
1196
+ limits:
1197
+ cpu: 2000m
1198
+ memory: 4Gi
1199
+ ports:
1200
+ - containerPort: 8080
1201
+ EOF
1202
+ ```
1203
+
1204
+ ### Step 2: Configure Zendesk Webhook
1205
+
1206
+ ```bash
1207
+ # In Zendesk Admin → Extensions → Webhooks
1208
+ # Create webhook pointing to: https://support-triage.example.com/webhooks/zendesk
1209
+ # Events: Ticket Created, Ticket Updated
1210
+ ```
1211
+
1212
+ ## Production Checklist
1213
+
1214
+ - [ ] Knowledge base indexed in Pinecone
1215
+ - [ ] Auto-reply confidence threshold tested
1216
+ - [ ] Escalation rules validated with support team
1217
+ - [ ] SLA deadlines configured per tier
1218
+ - [ ] Slack alerts configured
1219
+ - [ ] Human review sample rate set
1220
+ - [ ] Cost monitoring enabled
1221
+ - [ ] Sentiment analysis accuracy tested
1222
+ - [ ] Team routing rules validated
1223
+
1224
+ ## Cost Management
1225
+
1226
+ - **Monthly budget**: $500
1227
+ - **Per-ticket limit**: $0.50
1228
+ - **Optimization**: Cache KB searches, batch processing, use cheaper models when possible
1229
+
1230
+ ## Further Reading
1231
+
1232
+ - [Zendesk API Documentation](https://developer.zendesk.com/)
1233
+ - [OpenAI Embeddings Guide](https://platform.openai.com/docs/guides/embeddings)
1234
+ - [OSSA Runtime Documentation](https://openstandardagents.org/docs/runtime)