@bluefly/openstandardagents 0.3.0 → 0.3.2

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 (406) hide show
  1. package/.devfile.yaml +87 -0
  2. package/.gitlab-ci-trigger +1 -0
  3. package/.wiki-config.json +24 -0
  4. package/CHANGELOG.md +212 -1
  5. package/README.md +8 -193
  6. package/dist/adapters/anthropic/runtime.js +2 -2
  7. package/dist/adapters/anthropic/runtime.js.map +1 -1
  8. package/dist/bot/architecture-validator-bot.d.ts +8 -0
  9. package/dist/bot/architecture-validator-bot.d.ts.map +1 -0
  10. package/dist/bot/architecture-validator-bot.js +15 -0
  11. package/dist/bot/architecture-validator-bot.js.map +1 -0
  12. package/dist/bot/ci-pipeline-bot.d.ts +7 -0
  13. package/dist/bot/ci-pipeline-bot.d.ts.map +1 -0
  14. package/dist/bot/ci-pipeline-bot.js +7 -0
  15. package/dist/bot/ci-pipeline-bot.js.map +1 -0
  16. package/dist/bot/compliance-bot.d.ts +56 -0
  17. package/dist/bot/compliance-bot.d.ts.map +1 -0
  18. package/dist/bot/compliance-bot.js +203 -0
  19. package/dist/bot/compliance-bot.js.map +1 -0
  20. package/dist/bot/dependency-updater-bot.d.ts +9 -0
  21. package/dist/bot/dependency-updater-bot.d.ts.map +1 -0
  22. package/dist/bot/dependency-updater-bot.js +9 -0
  23. package/dist/bot/dependency-updater-bot.js.map +1 -0
  24. package/dist/bot/security-scanner-bot.d.ts +11 -0
  25. package/dist/bot/security-scanner-bot.d.ts.map +1 -0
  26. package/dist/bot/security-scanner-bot.js +21 -0
  27. package/dist/bot/security-scanner-bot.js.map +1 -0
  28. package/dist/cli/commands/agent-card.command.d.ts +11 -0
  29. package/dist/cli/commands/agent-card.command.d.ts.map +1 -0
  30. package/dist/cli/commands/agent-card.command.js +285 -0
  31. package/dist/cli/commands/agent-card.command.js.map +1 -0
  32. package/dist/cli/commands/agents.command.d.ts +11 -0
  33. package/dist/cli/commands/agents.command.d.ts.map +1 -0
  34. package/dist/cli/commands/agents.command.js +326 -0
  35. package/dist/cli/commands/agents.command.js.map +1 -0
  36. package/dist/cli/commands/diff.command.d.ts +7 -0
  37. package/dist/cli/commands/diff.command.d.ts.map +1 -0
  38. package/dist/cli/commands/diff.command.js +181 -0
  39. package/dist/cli/commands/diff.command.js.map +1 -0
  40. package/dist/cli/commands/docs.command.d.ts +7 -0
  41. package/dist/cli/commands/docs.command.d.ts.map +1 -0
  42. package/dist/cli/commands/docs.command.js +274 -0
  43. package/dist/cli/commands/docs.command.js.map +1 -0
  44. package/dist/cli/commands/generate.command.d.ts +13 -2
  45. package/dist/cli/commands/generate.command.d.ts.map +1 -1
  46. package/dist/cli/commands/generate.command.js +204 -29
  47. package/dist/cli/commands/generate.command.js.map +1 -1
  48. package/dist/cli/commands/lint.command.d.ts +7 -0
  49. package/dist/cli/commands/lint.command.d.ts.map +1 -0
  50. package/dist/cli/commands/lint.command.js +342 -0
  51. package/dist/cli/commands/lint.command.js.map +1 -0
  52. package/dist/cli/commands/registry.command.d.ts +14 -0
  53. package/dist/cli/commands/registry.command.d.ts.map +1 -0
  54. package/dist/cli/commands/registry.command.js +428 -0
  55. package/dist/cli/commands/registry.command.js.map +1 -0
  56. package/dist/cli/commands/serve.command.d.ts +7 -0
  57. package/dist/cli/commands/serve.command.d.ts.map +1 -0
  58. package/dist/cli/commands/serve.command.js +232 -0
  59. package/dist/cli/commands/serve.command.js.map +1 -0
  60. package/dist/cli/commands/workspace.command.d.ts +14 -0
  61. package/dist/cli/commands/workspace.command.d.ts.map +1 -0
  62. package/dist/cli/commands/workspace.command.js +467 -0
  63. package/dist/cli/commands/workspace.command.js.map +1 -0
  64. package/dist/cli/index.js +13 -0
  65. package/dist/cli/index.js.map +1 -1
  66. package/dist/di-container.d.ts.map +1 -1
  67. package/dist/di-container.js +23 -0
  68. package/dist/di-container.js.map +1 -1
  69. package/dist/services/codegen/codegen.service.d.ts +75 -0
  70. package/dist/services/codegen/codegen.service.d.ts.map +1 -0
  71. package/dist/services/codegen/codegen.service.js +136 -0
  72. package/dist/services/codegen/codegen.service.js.map +1 -0
  73. package/dist/services/codegen/generators/manifest.generator.d.ts +41 -0
  74. package/dist/services/codegen/generators/manifest.generator.d.ts.map +1 -0
  75. package/dist/services/codegen/generators/manifest.generator.js +178 -0
  76. package/dist/services/codegen/generators/manifest.generator.js.map +1 -0
  77. package/dist/services/codegen/generators/openapi.generator.d.ts +46 -0
  78. package/dist/services/codegen/generators/openapi.generator.d.ts.map +1 -0
  79. package/dist/services/codegen/generators/openapi.generator.js +157 -0
  80. package/dist/services/codegen/generators/openapi.generator.js.map +1 -0
  81. package/dist/services/codegen/generators/types.generator.d.ts +27 -0
  82. package/dist/services/codegen/generators/types.generator.d.ts.map +1 -0
  83. package/dist/services/codegen/generators/types.generator.js +97 -0
  84. package/dist/services/codegen/generators/types.generator.js.map +1 -0
  85. package/dist/services/codegen/generators/vscode.generator.d.ts +43 -0
  86. package/dist/services/codegen/generators/vscode.generator.d.ts.map +1 -0
  87. package/dist/services/codegen/generators/vscode.generator.js +163 -0
  88. package/dist/services/codegen/generators/vscode.generator.js.map +1 -0
  89. package/dist/services/codegen/generators/zod.generator.d.ts +31 -0
  90. package/dist/services/codegen/generators/zod.generator.d.ts.map +1 -0
  91. package/dist/services/codegen/generators/zod.generator.js +134 -0
  92. package/dist/services/codegen/generators/zod.generator.js.map +1 -0
  93. package/dist/services/codegen/index.d.ts +33 -0
  94. package/dist/services/codegen/index.d.ts.map +1 -0
  95. package/dist/services/codegen/index.js +36 -0
  96. package/dist/services/codegen/index.js.map +1 -0
  97. package/dist/services/git.service.d.ts +40 -0
  98. package/dist/services/git.service.d.ts.map +1 -0
  99. package/dist/services/git.service.js +122 -0
  100. package/dist/services/git.service.js.map +1 -0
  101. package/dist/spec/extensions/openapi/ossa-openapi-extensions.schema.json +804 -0
  102. package/dist/spec/v0.3.0/examples/drupal-content-writer.ossa.yaml +1 -1
  103. package/dist/spec/v0.3.0/examples/drupal-moderation-assistant.ossa.yaml +1 -1
  104. package/dist/spec/v0.3.0/examples/quick-wins/complete-agent-with-quick-wins.ossa.yaml +1 -1
  105. package/dist/spec/v0.3.0/runtime-bindings/anthropic.yaml +209 -0
  106. package/dist/spec/v0.3.1/UNIFIED-SCHEMA.md +120 -0
  107. package/dist/spec/v0.3.1/adapters/drupal.md +541 -0
  108. package/dist/spec/v0.3.1/adapters/symfony.md +659 -0
  109. package/dist/spec/v0.3.1/agent-test.schema.json +75 -0
  110. package/dist/spec/v0.3.1/examples/agent-with-identity.ossa.yaml +68 -0
  111. package/dist/spec/v0.3.1/examples/drupal-content-writer.ossa.yaml +110 -0
  112. package/dist/spec/v0.3.1/examples/drupal-moderation-assistant.ossa.yaml +96 -0
  113. package/dist/spec/v0.3.1/examples/multi-provider-identity.ossa.yaml +236 -0
  114. package/dist/spec/v0.3.1/examples/quick-wins/complete-agent-with-quick-wins.ossa.yaml +144 -0
  115. package/dist/spec/v0.3.1/extensions/agent-identity.yaml +594 -0
  116. package/dist/spec/v0.3.1/extensions/drupal.md +417 -0
  117. package/dist/spec/v0.3.1/ossa-0.3.1.schema.json +3085 -0
  118. package/dist/spec/v0.3.1/protocols/sse.md +494 -0
  119. package/dist/spec/v0.3.1/protocols/webrtc.md +600 -0
  120. package/dist/spec/v0.3.1/protocols/websocket.md +362 -0
  121. package/dist/spec/v0.3.1/schemas/agent-unified.yaml +165 -0
  122. package/dist/spec/v0.3.1/schemas/capabilities.yaml +102 -0
  123. package/dist/spec/v0.3.1/schemas/functions.yaml +75 -0
  124. package/dist/spec/v0.3.1/schemas/messaging/channel.schema.json +245 -0
  125. package/dist/spec/v0.3.1/schemas/messaging/delivery-receipt.schema.json +192 -0
  126. package/dist/spec/v0.3.1/schemas/messaging/message.schema.json +205 -0
  127. package/dist/spec/v0.3.1/schemas/messaging/subscription.schema.json +214 -0
  128. package/dist/spec/v0.3.1/schemas/runtime.yaml +102 -0
  129. package/dist/spec/v0.3.1/schemas/taxonomy.yaml +533 -0
  130. package/dist/spec/v0.3.1/schemas/unified-llm.yaml +91 -0
  131. package/dist/spec/v0.3.1/taxonomy.yaml +256 -0
  132. package/dist/spec/v0.3.2/MIGRATION-v0.3.1-to-v0.3.2.md +293 -0
  133. package/dist/spec/v0.3.2/UNIFIED-SCHEMA.md +120 -0
  134. package/dist/spec/v0.3.2/access_tiers.yaml +375 -0
  135. package/dist/spec/v0.3.2/adapters/drupal.md +541 -0
  136. package/dist/spec/v0.3.2/adapters/symfony.md +659 -0
  137. package/dist/spec/v0.3.2/agent-test.schema.json +75 -0
  138. package/dist/spec/v0.3.2/examples/access-tiers/README.md +106 -0
  139. package/dist/spec/v0.3.2/examples/access-tiers/code-critic.ossa.yaml +119 -0
  140. package/dist/spec/v0.3.2/examples/access-tiers/compliance-governor.ossa.yaml +234 -0
  141. package/dist/spec/v0.3.2/examples/access-tiers/deployment-operator.ossa.yaml +201 -0
  142. package/dist/spec/v0.3.2/examples/access-tiers/doc-generator.ossa.yaml +117 -0
  143. package/dist/spec/v0.3.2/examples/access-tiers/security-scanner.ossa.yaml +133 -0
  144. package/dist/spec/v0.3.2/examples/agent-with-identity.ossa.yaml +68 -0
  145. package/dist/spec/v0.3.2/examples/drupal-content-writer.ossa.yaml +110 -0
  146. package/dist/spec/v0.3.2/examples/drupal-moderation-assistant.ossa.yaml +96 -0
  147. package/dist/spec/v0.3.2/examples/multi-provider-identity.ossa.yaml +236 -0
  148. package/dist/spec/v0.3.2/examples/quick-wins/complete-agent-with-quick-wins.ossa.yaml +144 -0
  149. package/dist/spec/v0.3.2/examples/tasks/data-transform.ossa.yaml +147 -0
  150. package/dist/spec/v0.3.2/examples/tasks/publish-content.ossa.yaml +125 -0
  151. package/dist/spec/v0.3.2/examples/workflows/content-publishing.ossa.yaml +190 -0
  152. package/dist/spec/v0.3.2/examples/workflows/deployment-pipeline.ossa.yaml +247 -0
  153. package/dist/spec/v0.3.2/extensions/agent-identity.yaml +594 -0
  154. package/dist/spec/v0.3.2/extensions/drupal.md +417 -0
  155. package/dist/spec/v0.3.2/infrastructure/service-ports.yaml +324 -0
  156. package/dist/spec/v0.3.2/ossa-0.3.2.schema.json +3316 -0
  157. package/dist/spec/v0.3.2/protocols/delegation.yaml +239 -0
  158. package/dist/spec/v0.3.2/protocols/sse.md +494 -0
  159. package/dist/spec/v0.3.2/protocols/webrtc.md +600 -0
  160. package/dist/spec/v0.3.2/protocols/websocket.md +362 -0
  161. package/dist/spec/v0.3.2/runtime/RUNTIME.md +457 -0
  162. package/dist/spec/v0.3.2/runtime/memory-model.yaml +871 -0
  163. package/dist/spec/v0.3.2/runtime/runtime.yaml +926 -0
  164. package/dist/spec/v0.3.2/schemas/agent-unified.yaml +165 -0
  165. package/dist/spec/v0.3.2/schemas/capabilities.yaml +102 -0
  166. package/dist/spec/v0.3.2/schemas/functions.yaml +75 -0
  167. package/dist/spec/v0.3.2/schemas/messaging/channel.schema.json +245 -0
  168. package/dist/spec/v0.3.2/schemas/messaging/delivery-receipt.schema.json +192 -0
  169. package/dist/spec/v0.3.2/schemas/messaging/message.schema.json +205 -0
  170. package/dist/spec/v0.3.2/schemas/messaging/subscription.schema.json +214 -0
  171. package/dist/spec/v0.3.2/schemas/runtime.yaml +102 -0
  172. package/dist/spec/v0.3.2/schemas/taxonomy.yaml +533 -0
  173. package/dist/spec/v0.3.2/schemas/unified-llm.yaml +91 -0
  174. package/dist/spec/v0.3.2/taxonomy.yaml +363 -0
  175. package/dist/testing/fixtures.d.ts.map +1 -1
  176. package/dist/testing/fixtures.js +3 -2
  177. package/dist/testing/fixtures.js.map +1 -1
  178. package/dist/types/generated/{ossa-0.3.0.types.d.ts → ossa-0.3.2.types.d.ts} +58 -7
  179. package/dist/types/generated/ossa-0.3.2.types.d.ts.map +1 -0
  180. package/dist/types/generated/ossa-0.3.2.types.js +10 -0
  181. package/dist/types/generated/ossa-0.3.2.types.js.map +1 -0
  182. package/dist/types/generated/ossa-0.3.2.zod.d.ts +36 -0
  183. package/dist/types/generated/ossa-0.3.2.zod.d.ts.map +1 -0
  184. package/dist/types/generated/ossa-0.3.2.zod.js +25 -0
  185. package/dist/types/generated/ossa-0.3.2.zod.js.map +1 -0
  186. package/examples/adapters/drupal-eca-mapping.yaml +1 -1
  187. package/examples/adapters/drupal-eca-task.yaml +1 -1
  188. package/examples/adapters/drupal-flowdrop-mapping.yaml +1 -1
  189. package/examples/adapters/drupal-maestro-mapping.yaml +1 -1
  190. package/examples/adapters/mistral-agent.yaml +1 -1
  191. package/examples/adapters/symfony-messenger-task.yaml +1 -1
  192. package/examples/adapters/symfony-messenger-workflow.yaml +1 -1
  193. package/examples/adk-integration/code-review-workflow.yml +1 -1
  194. package/examples/adk-integration/customer-support.yml +1 -1
  195. package/examples/adk-integration/data-pipeline.yml +1 -1
  196. package/examples/advanced/reasoning-agent.yaml +1 -1
  197. package/examples/advanced/workflows/hybrid-model-strategy.yaml +1 -1
  198. package/examples/agent-manifests/critics/critic-agent.yaml +1 -1
  199. package/examples/agent-manifests/governors/governor-agent.yaml +1 -1
  200. package/examples/agent-manifests/integrators/integrator-agent.yaml +1 -1
  201. package/examples/agent-manifests/judges/judge-agent.yaml +1 -1
  202. package/examples/agent-manifests/monitors/monitor-agent.yaml +1 -1
  203. package/examples/agent-manifests/orchestrators/orchestrator-agent.yaml +1 -1
  204. package/examples/agent-manifests/sample-compliant-agent.yaml +1 -1
  205. package/examples/agent-manifests/workers/worker-agent.yaml +1 -1
  206. package/examples/agents/architecture-healer-enterprise.yaml +1 -1
  207. package/examples/agents/dependency-healer-npm.yaml +1 -1
  208. package/examples/agents/spec-healer-openapi.yaml +1 -1
  209. package/examples/agents/wiki-healer-production.yaml +1 -1
  210. package/examples/agents-md/code-agent.ossa.json +36 -11
  211. package/examples/agents-md/monorepo-agent.ossa.yaml +1 -1
  212. package/examples/anthropic/claude-assistant.ossa.json +4 -4
  213. package/examples/autogen/multi-agent.ossa.json +2 -2
  214. package/examples/autonomous-evolution/self-evolving-agent.ossa.yaml +1 -1
  215. package/examples/claude-code/code-reviewer.ossa.yaml +1 -1
  216. package/examples/claude-code/ossa-validator.ossa.yaml +1 -1
  217. package/examples/common_npm/agent-router.ossa.yaml +1 -1
  218. package/examples/contracts/data-consumer.ossa.yaml +1 -1
  219. package/examples/contracts/data-producer-v2.ossa.yaml +1 -1
  220. package/examples/contracts/data-producer.ossa.yaml +1 -1
  221. package/examples/crewai/research-team.ossa.json +2 -2
  222. package/examples/cursor/code-review-agent.ossa.json +2 -2
  223. package/examples/drupal/ai_agents_ossa-module/.agents/example-agent/agent.ossa.yaml +1 -1
  224. package/examples/drupal/gitlab-ml-recommender.ossa.yaml +1 -1
  225. package/examples/extensions/agents-md-advanced.yml +1 -1
  226. package/examples/extensions/agents-md-basic.yml +1 -1
  227. package/examples/extensions/agents-md-sync.yml +1 -1
  228. package/examples/extensions/agents-md-v1.yml +1 -1
  229. package/examples/extensions/drupal-v1.yml +1 -1
  230. package/examples/extensions/encryption-multi-provider.yaml +4 -4
  231. package/examples/extensions/kagent-v1.yml +1 -1
  232. package/examples/extensions/knowledge-sources.yaml +1 -1
  233. package/examples/extensions/mcp-full-featured.yaml +1 -1
  234. package/examples/getting-started/01-minimal-agent.ossa.yaml +3 -3
  235. package/examples/getting-started/02-agent-with-tools.ossa.yaml +1 -1
  236. package/examples/getting-started/03-agent-with-safety.ossa.yaml +1 -1
  237. package/examples/getting-started/04-agent-with-messaging.ossa.yaml +2 -2
  238. package/examples/getting-started/05-workflow-composition.ossa.yaml +1 -1
  239. package/examples/getting-started/hello-world-complete.ossa.yaml +1 -1
  240. package/examples/integration-patterns/agent-to-agent-orchestration.ossa.yaml +4 -4
  241. package/examples/kagent/compliance-validator.ossa.yaml +1 -1
  242. package/examples/kagent/cost-optimizer.ossa.yaml +1 -1
  243. package/examples/kagent/documentation-agent.ossa.yaml +1 -1
  244. package/examples/kagent/k8s-troubleshooter-v1.ossa.yaml +1 -1
  245. package/examples/kagent/k8s-troubleshooter.ossa.yaml +1 -1
  246. package/examples/kagent/security-scanner.ossa.yaml +1 -1
  247. package/examples/langchain/chain-agent.ossa.json +2 -2
  248. package/examples/langflow/workflow-agent.ossa.json +2 -2
  249. package/examples/langgraph/state-machine-agent.ossa.json +2 -2
  250. package/examples/llamaindex/rag-agent.ossa.json +2 -2
  251. package/examples/messaging/dependency-healer.ossa.yaml +1 -1
  252. package/examples/messaging/incident-responder.ossa.yaml +1 -1
  253. package/examples/messaging/routing-rules.ossa.yaml +3 -3
  254. package/examples/messaging/security-scanner.ossa.yaml +1 -1
  255. package/examples/migration-guides/from-langchain-to-ossa.yaml +4 -4
  256. package/examples/multi-agent/conditional-router.ossa.yaml +1 -1
  257. package/examples/multi-agent/parallel-execution.ossa.yaml +1 -1
  258. package/examples/multi-agent/sequential-pipeline.ossa.yaml +1 -1
  259. package/examples/observability/activity-stream-full.yaml +1 -1
  260. package/examples/openai/basic-agent.ossa.yaml +1 -1
  261. package/examples/openai/multi-tool-agent.ossa.json +2 -2
  262. package/examples/openai/swarm-agent.ossa.json +2 -2
  263. package/examples/production/document-analyzer-openai.yml +1 -1
  264. package/examples/quickstart/support-agent.ossa.yaml +1 -1
  265. package/examples/real-world/gitlab-cicd-optimizer.ossa.yaml +1 -1
  266. package/examples/real-world/rag-documentation-assistant.ossa.yaml +1 -1
  267. package/examples/runtime-adapters/bedrock-claude-example.ossa.yaml +1 -1
  268. package/examples/schema/reusable-components.yaml +1 -1
  269. package/examples/showcase/ci-pipeline.ossa.yaml +59 -0
  270. package/examples/showcase/code-assistant.ossa.yaml +118 -0
  271. package/examples/showcase/code-reviewer.ossa.yaml +61 -0
  272. package/examples/showcase/compliance-validator.ossa.yaml +62 -0
  273. package/examples/showcase/content-writer.ossa.yaml +67 -0
  274. package/examples/showcase/data-transformer.ossa.yaml +78 -0
  275. package/examples/showcase/doc-generator.ossa.yaml +68 -0
  276. package/examples/showcase/security-scanner.ossa.yaml +65 -0
  277. package/examples/showcase/test-generator.ossa.yaml +63 -0
  278. package/examples/showcase/workflow-orchestrator.ossa.yaml +129 -0
  279. package/examples/tasks/batch-email-sender.yaml +1 -1
  280. package/examples/tasks/data-transform.yaml +1 -1
  281. package/examples/tasks/publish-content.yaml +1 -1
  282. package/examples/templates/ossa-compliance.yaml +1 -1
  283. package/examples/unified/security-scanner.ossa.yaml +1 -1
  284. package/examples/vercel/edge-agent.ossa.json +2 -2
  285. package/examples/workflows/batch-email-campaign.yaml +1 -1
  286. package/examples/workflows/content-review-publish.yaml +1 -1
  287. package/examples/workflows/simple-etl.yaml +1 -1
  288. package/llms-ctx-full.txt +39 -0
  289. package/llms-ctx.txt +39 -0
  290. package/openapi/agent-communication.yaml +1 -1
  291. package/openapi/agent-crud.yaml +8 -8
  292. package/openapi/agent-discovery.yaml +2 -2
  293. package/openapi/agent-identity.yaml +8 -8
  294. package/openapi/cli-commands.openapi.yaml +231 -0
  295. package/openapi/core/ossa-core-api.openapi.yaml +1 -1
  296. package/openapi/core/ossa-registry-api.openapi.yaml +1 -1
  297. package/openapi/core/ossa-registry.openapi.yaml +1 -1
  298. package/openapi/core/unified-agent-gateway.openapi.yaml +1 -1
  299. package/openapi/github-sync.yaml +1 -1
  300. package/openapi/protocols/sse-streams.yaml +1 -1
  301. package/openapi/protocols/websocket-events.yaml +2 -2
  302. package/openapi/reference-implementations/aiflow-bridge-api.openapi.yaml +2 -2
  303. package/openapi/reference-implementations/compliance-agent-api.openapi.yaml +1 -1
  304. package/openapi/reference-implementations/crewai-agent-api.openapi.yaml +1 -1
  305. package/openapi/reference-implementations/critic-agent-api.openapi.yaml +2 -2
  306. package/openapi/reference-implementations/document-analyzer-api.openapi.yaml +2 -2
  307. package/openapi/reference-implementations/drupal-agent-api.openapi.yaml +1 -1
  308. package/openapi/reference-implementations/getting-started-hello-world-api.openapi.yaml +1 -1
  309. package/openapi/reference-implementations/gitlab-ml-recommender-api.openapi.yaml +2 -2
  310. package/openapi/reference-implementations/governor-agent-api.openapi.yaml +1 -1
  311. package/openapi/reference-implementations/helm-generator.openapi.yaml +1 -1
  312. package/openapi/reference-implementations/integrator-agent-api.openapi.yaml +1 -1
  313. package/openapi/reference-implementations/judge-agent-api.openapi.yaml +1 -1
  314. package/openapi/reference-implementations/k8s-troubleshooter-api.openapi.yaml +2 -2
  315. package/openapi/reference-implementations/langchain-agent-api.openapi.yaml +1 -1
  316. package/openapi/reference-implementations/monitor-agent-api.openapi.yaml +2 -2
  317. package/openapi/reference-implementations/orchestrator-agent-api.openapi.yaml +1 -1
  318. package/openapi/reference-implementations/quickstart-support-agent-api.openapi.yaml +2 -2
  319. package/openapi/reference-implementations/self-evolving-ecosystem.openapi.yaml +1 -1
  320. package/openapi/reference-implementations/worker-agent-api.openapi.yaml +2 -2
  321. package/openapi/reference-implementations/workflow-orchestrator-api.openapi.yaml +1 -1
  322. package/package.json +14 -32
  323. package/spec/extensions/openapi/ossa-openapi-extensions.schema.json +804 -0
  324. package/spec/v0.3.0/examples/drupal-content-writer.ossa.yaml +1 -1
  325. package/spec/v0.3.0/examples/drupal-moderation-assistant.ossa.yaml +1 -1
  326. package/spec/v0.3.0/examples/quick-wins/complete-agent-with-quick-wins.ossa.yaml +1 -1
  327. package/spec/v0.3.0/runtime-bindings/anthropic.yaml +209 -0
  328. package/spec/v0.3.1/UNIFIED-SCHEMA.md +120 -0
  329. package/spec/v0.3.1/adapters/drupal.md +541 -0
  330. package/spec/v0.3.1/adapters/symfony.md +659 -0
  331. package/spec/v0.3.1/agent-test.schema.json +75 -0
  332. package/spec/v0.3.1/examples/agent-with-identity.ossa.yaml +68 -0
  333. package/spec/v0.3.1/examples/drupal-content-writer.ossa.yaml +110 -0
  334. package/spec/v0.3.1/examples/drupal-moderation-assistant.ossa.yaml +96 -0
  335. package/spec/v0.3.1/examples/multi-provider-identity.ossa.yaml +236 -0
  336. package/spec/v0.3.1/examples/quick-wins/complete-agent-with-quick-wins.ossa.yaml +144 -0
  337. package/spec/v0.3.1/extensions/agent-identity.yaml +594 -0
  338. package/spec/v0.3.1/extensions/drupal.md +417 -0
  339. package/spec/v0.3.1/ossa-0.3.1.schema.json +3085 -0
  340. package/spec/v0.3.1/protocols/sse.md +494 -0
  341. package/spec/v0.3.1/protocols/webrtc.md +600 -0
  342. package/spec/v0.3.1/protocols/websocket.md +362 -0
  343. package/spec/v0.3.1/schemas/agent-unified.yaml +165 -0
  344. package/spec/v0.3.1/schemas/capabilities.yaml +102 -0
  345. package/spec/v0.3.1/schemas/functions.yaml +75 -0
  346. package/spec/v0.3.1/schemas/messaging/channel.schema.json +245 -0
  347. package/spec/v0.3.1/schemas/messaging/delivery-receipt.schema.json +192 -0
  348. package/spec/v0.3.1/schemas/messaging/message.schema.json +205 -0
  349. package/spec/v0.3.1/schemas/messaging/subscription.schema.json +214 -0
  350. package/spec/v0.3.1/schemas/runtime.yaml +102 -0
  351. package/spec/v0.3.1/schemas/taxonomy.yaml +533 -0
  352. package/spec/v0.3.1/schemas/unified-llm.yaml +91 -0
  353. package/spec/v0.3.1/taxonomy.yaml +256 -0
  354. package/spec/v0.3.2/MIGRATION-v0.3.1-to-v0.3.2.md +293 -0
  355. package/spec/v0.3.2/UNIFIED-SCHEMA.md +120 -0
  356. package/spec/v0.3.2/access_tiers.yaml +375 -0
  357. package/spec/v0.3.2/adapters/drupal.md +541 -0
  358. package/spec/v0.3.2/adapters/symfony.md +659 -0
  359. package/spec/v0.3.2/agent-test.schema.json +75 -0
  360. package/spec/v0.3.2/examples/access-tiers/README.md +106 -0
  361. package/spec/v0.3.2/examples/access-tiers/code-critic.ossa.yaml +119 -0
  362. package/spec/v0.3.2/examples/access-tiers/compliance-governor.ossa.yaml +234 -0
  363. package/spec/v0.3.2/examples/access-tiers/deployment-operator.ossa.yaml +201 -0
  364. package/spec/v0.3.2/examples/access-tiers/doc-generator.ossa.yaml +117 -0
  365. package/spec/v0.3.2/examples/access-tiers/security-scanner.ossa.yaml +133 -0
  366. package/spec/v0.3.2/examples/agent-with-identity.ossa.yaml +68 -0
  367. package/spec/v0.3.2/examples/drupal-content-writer.ossa.yaml +110 -0
  368. package/spec/v0.3.2/examples/drupal-moderation-assistant.ossa.yaml +96 -0
  369. package/spec/v0.3.2/examples/multi-provider-identity.ossa.yaml +236 -0
  370. package/spec/v0.3.2/examples/quick-wins/complete-agent-with-quick-wins.ossa.yaml +144 -0
  371. package/spec/v0.3.2/examples/tasks/data-transform.ossa.yaml +147 -0
  372. package/spec/v0.3.2/examples/tasks/publish-content.ossa.yaml +125 -0
  373. package/spec/v0.3.2/examples/workflows/content-publishing.ossa.yaml +190 -0
  374. package/spec/v0.3.2/examples/workflows/deployment-pipeline.ossa.yaml +247 -0
  375. package/spec/v0.3.2/extensions/agent-identity.yaml +594 -0
  376. package/spec/v0.3.2/extensions/drupal.md +417 -0
  377. package/spec/v0.3.2/infrastructure/service-ports.yaml +324 -0
  378. package/spec/v0.3.2/ossa-0.3.2.schema.json +3316 -0
  379. package/spec/v0.3.2/protocols/delegation.yaml +239 -0
  380. package/spec/v0.3.2/protocols/sse.md +494 -0
  381. package/spec/v0.3.2/protocols/webrtc.md +600 -0
  382. package/spec/v0.3.2/protocols/websocket.md +362 -0
  383. package/spec/v0.3.2/runtime/RUNTIME.md +457 -0
  384. package/spec/v0.3.2/runtime/memory-model.yaml +871 -0
  385. package/spec/v0.3.2/runtime/runtime.yaml +926 -0
  386. package/spec/v0.3.2/schemas/agent-unified.yaml +165 -0
  387. package/spec/v0.3.2/schemas/capabilities.yaml +102 -0
  388. package/spec/v0.3.2/schemas/functions.yaml +75 -0
  389. package/spec/v0.3.2/schemas/messaging/channel.schema.json +245 -0
  390. package/spec/v0.3.2/schemas/messaging/delivery-receipt.schema.json +192 -0
  391. package/spec/v0.3.2/schemas/messaging/message.schema.json +205 -0
  392. package/spec/v0.3.2/schemas/messaging/subscription.schema.json +214 -0
  393. package/spec/v0.3.2/schemas/runtime.yaml +102 -0
  394. package/spec/v0.3.2/schemas/taxonomy.yaml +533 -0
  395. package/spec/v0.3.2/schemas/unified-llm.yaml +91 -0
  396. package/spec/v0.3.2/taxonomy.yaml +363 -0
  397. package/dist/types/generated/ossa-0.3.0.types.d.ts.map +0 -1
  398. package/dist/types/generated/ossa-0.3.0.types.js +0 -8
  399. package/dist/types/generated/ossa-0.3.0.types.js.map +0 -1
  400. package/dist/types/generated/ossa-0.3.0.zod.d.ts +0 -17
  401. package/dist/types/generated/ossa-0.3.0.zod.d.ts.map +0 -1
  402. package/dist/types/generated/ossa-0.3.0.zod.js +0 -3
  403. package/dist/types/generated/ossa-0.3.0.zod.js.map +0 -1
  404. package/examples/common_npm/agent-router.v0.2.2.ossa.yaml +0 -60
  405. package/examples/drupal/gitlab-ml-recommender.v0.2.2.ossa.yaml +0 -68
  406. package/examples/kagent/k8s-troubleshooter-v1.v0.2.2.ossa.yaml +0 -106
@@ -0,0 +1,96 @@
1
+ apiVersion: ossa/v0.3.2
2
+ kind: Agent
3
+ metadata:
4
+ name: drupal-moderation-assistant
5
+ version: 1.0.0
6
+ description: Content moderation assistant that helps users review and publish content
7
+
8
+ spec:
9
+ capabilities:
10
+ - name: content.review
11
+ description: "Review content for quality, SEO, and compliance"
12
+ - name: moderation.suggest
13
+ description: "Suggest moderation workflow transitions"
14
+ - name: quality.score
15
+ description: "Score content quality based on criteria"
16
+
17
+ role: |
18
+ You are a content moderation assistant helping editors review and publish content.
19
+ You work within the user's permission context and respect Drupal's editorial workflow.
20
+
21
+ Responsibilities:
22
+ 1. Review content for quality, readability, and SEO
23
+ 2. Check content against style guide and compliance rules
24
+ 3. Suggest appropriate moderation state transitions
25
+ 4. Provide actionable feedback for improvement
26
+
27
+ You can only suggest transitions the user is authorized to perform.
28
+
29
+ llm:
30
+ provider: ${OSSA_LLM_PROVIDER:-anthropic}
31
+ model: ${OSSA_LLM_MODEL:-claude-sonnet-4}
32
+ temperature: ${OSSA_LLM_TEMPERATURE:-0.3}
33
+ maxTokens: ${OSSA_LLM_MAX_TOKENS:-4096}
34
+
35
+ tools:
36
+ - name: drupal.node.load
37
+ description: "Load a Drupal node for review"
38
+ handler:
39
+ runtime: drupal
40
+ capability: node.load
41
+
42
+ - name: drupal.moderation.transitions
43
+ description: "Get available moderation transitions for user"
44
+ handler:
45
+ runtime: drupal
46
+ capability: moderation.get_transitions
47
+
48
+ - name: drupal.moderation.apply
49
+ description: "Apply moderation state transition"
50
+ handler:
51
+ runtime: drupal
52
+ capability: moderation.apply_transition
53
+
54
+ extensions:
55
+ drupal:
56
+ # Module providing this agent
57
+ module: ai_agents_ossa
58
+
59
+ # Store as config entity for export
60
+ config_entity: true
61
+
62
+ # Permissions for user-context execution
63
+ permissions:
64
+ # Required entity permissions
65
+ entity_permissions:
66
+ - "view any article content"
67
+ - "edit any article content"
68
+ - "use editorial transition review"
69
+ - "use editorial transition publish"
70
+
71
+ # Custom agent permission
72
+ custom_permissions:
73
+ - "use moderation assistant"
74
+
75
+ # Run in user context (no service account)
76
+ # execution_user not specified - uses current user
77
+
78
+ # User must have ALL required permissions (intersection)
79
+ permission_mode: least_permissive
80
+
81
+ # Synchronous execution (no queue)
82
+ messenger:
83
+ transport: sync
84
+
85
+ # Integrated with ECA workflow builder
86
+ workflow_engine: eca
87
+
88
+ # Discovery from module
89
+ discovery_paths:
90
+ - "modules/custom/ai_agents_ossa/agents/*.ossa.yaml"
91
+
92
+ # Hooks for tracking and logging
93
+ hooks:
94
+ before_execute: ai_agents_ossa_log_execution
95
+ after_execute: ai_agents_ossa_track_moderation
96
+ on_error: ai_agents_ossa_alert_admin
@@ -0,0 +1,236 @@
1
+ # OSSA v0.3.1 Multi-Provider Identity Configuration
2
+ # Enterprise-grade agent with fallback identity chain and compliance
3
+ apiVersion: ossa/v0.3.2
4
+ kind: Agent
5
+ metadata:
6
+ name: enterprise-deployer
7
+ version: 2.0.0
8
+ description: Enterprise deployment agent with multi-provider identity and compliance
9
+ labels:
10
+ team: platform
11
+ tier: production
12
+ compliance: soc2
13
+ annotations:
14
+ security.ossa.io/audit-level: high
15
+ security.ossa.io/mfa-required: "true"
16
+ spec:
17
+ role: |
18
+ You are an enterprise deployment orchestrator responsible for managing
19
+ production deployments across multiple cloud providers and git platforms.
20
+ You must ensure all operations are auditable, compliant, and follow
21
+ the principle of least privilege.
22
+
23
+ llm:
24
+ provider: anthropic
25
+ model: claude-sonnet-4-20250514
26
+ temperature: 0.1
27
+ max_tokens: 16000
28
+
29
+ # Comprehensive Identity Configuration
30
+ identity:
31
+ # Primary: GitLab self-hosted
32
+ provider: gitlab
33
+ service_account:
34
+ id: 31840535
35
+ username: bot-ci-local
36
+ email: bot-ci-local@bluefly.io
37
+ display_name: CI/CD Bot
38
+ roles:
39
+ - maintainer
40
+
41
+ # Authentication with rotation policy
42
+ authentication:
43
+ method: project_access_token
44
+ scopes:
45
+ - api
46
+ - read_repository
47
+ - write_repository
48
+ - read_registry
49
+ - write_registry
50
+ auto_refresh: true
51
+ expiry_warning_days: 14
52
+ rotation_policy:
53
+ enabled: true
54
+ interval_days: 90
55
+ notify_on_rotation: true
56
+
57
+ # Multi-source token configuration
58
+ token_source:
59
+ env_var: GITLAB_BOT_CI_TOKEN
60
+ file_path: ~/.tokens/bot-ci-local
61
+ vault:
62
+ path: secret/data/ci/gitlab-token
63
+ key: token
64
+ role: ci-agent
65
+ kubernetes_secret:
66
+ name: gitlab-ci-token
67
+ namespace: ci-cd
68
+ key: token
69
+
70
+ # Auto-detection patterns
71
+ patterns:
72
+ - "*/gitlab_components"
73
+ - "*/infrastructure/*"
74
+ - "**/deploy/**"
75
+ - "**/ci-cd/**"
76
+
77
+ # Fallback identity chain for high availability
78
+ fallback:
79
+ - provider: github
80
+ service_account:
81
+ username: enterprise-ci-bot
82
+ email: ci-bot@enterprise.com
83
+ token_source:
84
+ env_var: GITHUB_CI_TOKEN
85
+ vault:
86
+ path: secret/data/ci/github-token
87
+ condition:
88
+ platform_unavailable: true
89
+
90
+ - provider: azure-devops
91
+ service_account:
92
+ username: ado-ci-service
93
+ email: ci-service@enterprise.onmicrosoft.com
94
+ token_source:
95
+ azure_key_vault:
96
+ vault_url: https://enterprise-vault.vault.azure.net
97
+ secret_name: ado-ci-token
98
+ condition:
99
+ pattern_match:
100
+ - "**/azure/**"
101
+
102
+ # Full DORA metrics tracking
103
+ dora_tracking:
104
+ enabled: true
105
+ metrics:
106
+ - deployment_frequency
107
+ - lead_time
108
+ - change_failure_rate
109
+ - mttr
110
+ labels:
111
+ environment: production
112
+ team: platform
113
+ cost_center: engineering
114
+ prometheus:
115
+ push_gateway: http://prometheus-pushgateway:9091
116
+ job_name: enterprise-deployer
117
+ classifications:
118
+ deployment_frequency:
119
+ elite: multiple_per_day
120
+ high: daily
121
+ medium: weekly
122
+ low: monthly
123
+ lead_time:
124
+ elite: "1"
125
+ high: "24"
126
+ medium: "168"
127
+ low: "720"
128
+
129
+ # Claude Code session integration
130
+ session:
131
+ init_on_start: true
132
+ propagate_to_subprocesses: true
133
+ git_attribution: true
134
+ heartbeat_interval: 60
135
+ timeout: 7200
136
+ hooks:
137
+ pre_prompt_submit: true
138
+ post_session: true
139
+
140
+ # OpenTelemetry observability
141
+ observability:
142
+ service_name: enterprise-deployer
143
+ service_namespace: production
144
+ service_version: "2.0.0"
145
+ service_instance_id: ${HOSTNAME}
146
+ resource_attributes:
147
+ deployment.environment: production
148
+ cloud.provider: multi
149
+
150
+ # Enterprise compliance
151
+ compliance:
152
+ require_mfa: true
153
+ ip_allowlist:
154
+ - 10.0.0.0/8
155
+ - 172.16.0.0/12
156
+ - 192.168.0.0/16
157
+ audit_logging: required
158
+ data_residency: us-east-1
159
+ frameworks:
160
+ - SOC2
161
+ - ISO27001
162
+
163
+ # Security policies
164
+ security:
165
+ token_encryption: both
166
+ minimum_token_length: 40
167
+ prohibited_actions:
168
+ - delete_production_branch
169
+ - disable_branch_protection
170
+ - modify_security_policies
171
+ required_approvals:
172
+ force_push: true
173
+ delete_protected_branch: true
174
+ modify_ci_config: true
175
+ rate_limits:
176
+ requests_per_minute: 100
177
+ requests_per_hour: 2000
178
+ git_operations_per_hour: 200
179
+
180
+ # Tool configuration
181
+ tools:
182
+ - name: kubernetes
183
+ type: mcp
184
+ config:
185
+ server: kubernetes-mcp-server
186
+ allowed_namespaces:
187
+ - production
188
+ - staging
189
+ - name: terraform
190
+ type: mcp
191
+ config:
192
+ server: terraform-mcp-server
193
+ workspace: production
194
+ - name: git
195
+ type: mcp
196
+ config:
197
+ server: git-mcp-server
198
+
199
+ # Strict autonomy controls
200
+ autonomy:
201
+ level: semi-autonomous
202
+ require_approval:
203
+ - deploy_to_production
204
+ - rollback_deployment
205
+ - scale_down_replicas
206
+ - modify_secrets
207
+ approval_timeout: 3600
208
+ escalation:
209
+ enabled: true
210
+ timeout: 1800
211
+ channels:
212
+ - slack://platform-oncall
213
+ - pagerduty://platform-critical
214
+
215
+ # Comprehensive safety configuration
216
+ safety:
217
+ max_tokens_per_turn: 16000
218
+ rate_limits:
219
+ requests_per_minute: 30
220
+ max_concurrent_requests: 5
221
+ circuit_breaker:
222
+ enabled: true
223
+ failure_threshold: 5
224
+ recovery_timeout: 300
225
+ kill_switch:
226
+ enabled: true
227
+ trigger_conditions:
228
+ - error_rate > 0.5
229
+ - latency_p99 > 30000
230
+ recovery_requires_approval: true
231
+
232
+ # State management
233
+ state:
234
+ storage: redis
235
+ ttl: 86400
236
+ encryption: aes-256-gcm
@@ -0,0 +1,144 @@
1
+ apiVersion: ossa/v0.3.2
2
+ kind: Agent
3
+ metadata:
4
+ name: example-agent-quick-wins
5
+ namespace: production
6
+ labels:
7
+ app: example
8
+ version: v1.0.0
9
+ spec:
10
+ role: "Example agent demonstrating all quick-win capabilities"
11
+
12
+ # 1. Health Monitoring Configuration
13
+ health:
14
+ enabled: true
15
+ endpoints:
16
+ health: /health
17
+ ready: /ready
18
+ live: /live
19
+ interval_seconds: 30
20
+ timeout_seconds: 5
21
+ restart_policy:
22
+ enabled: true
23
+ max_restarts: 3
24
+ restart_delay_seconds: 10
25
+
26
+ # 2. Secrets Management
27
+ secrets:
28
+ provider: gitlab_vault
29
+ injection:
30
+ method: env_vars
31
+ prefix: AGENT_SECRET_
32
+ rotation:
33
+ enabled: true
34
+ interval_days: 90
35
+ auto_rotate: false
36
+ encryption:
37
+ enabled: true
38
+ algorithm: aes-256-gcm
39
+ audit:
40
+ enabled: true
41
+ log_access: true
42
+
43
+ # 3. LLM Configuration with Circuit Breaker (via retry)
44
+ llm:
45
+ provider: anthropic
46
+ model: claude-sonnet-4
47
+ profile: balanced
48
+ retry:
49
+ max_attempts: 3
50
+ backoff:
51
+ strategy: exponential
52
+ initial_delay_ms: 1000
53
+ max_delay_ms: 30000
54
+ circuit_breaker:
55
+ enabled: true
56
+ failure_threshold: 5
57
+ timeout_ms: 60000
58
+ half_open_max_calls: 3
59
+ success_threshold: 2
60
+
61
+ # 4. Error Handling with Aggregation
62
+ error_handling:
63
+ strategy: fail_fast
64
+ aggregation:
65
+ enabled: true
66
+ window_seconds: 300
67
+ threshold: 10
68
+ alert_channels:
69
+ - slack
70
+ - pagerduty
71
+ categorization:
72
+ enabled: true
73
+ categories:
74
+ - timeout
75
+ - rate_limit
76
+ - validation
77
+
78
+ # 5. State Management with Versioning & Conflict Resolution
79
+ state:
80
+ mode: long_running
81
+ storage:
82
+ type: kv
83
+ config:
84
+ provider: redis
85
+ endpoint: redis://localhost:6379
86
+ versioning:
87
+ enabled: true
88
+ strategy: optimistic_locking
89
+ conflict_resolution:
90
+ strategy: merge_on_conflict
91
+ merge_on_conflict: true
92
+ persistence:
93
+ enabled: true
94
+ backup_interval_seconds: 300
95
+ restore_on_startup: true
96
+
97
+ # 6. Security Boundaries
98
+ safety:
99
+ content_filtering:
100
+ enabled: true
101
+ security_boundaries:
102
+ network_policies:
103
+ enabled: true
104
+ allowed_agents:
105
+ - agent-a
106
+ - agent-b
107
+ rbac:
108
+ enabled: true
109
+ roles:
110
+ - reader
111
+ - writer
112
+ mtls:
113
+ enabled: true
114
+ ca_cert: env:CA_CERT
115
+ audit_logging:
116
+ enabled: true
117
+ retention_days: 90
118
+
119
+ # 7. Rollback Configuration
120
+ rollback:
121
+ triggers:
122
+ - health_check_failure
123
+ - error_rate_threshold
124
+ - cost_exceeded
125
+ automation:
126
+ enabled: true
127
+ approval_required: false
128
+ notification_channels:
129
+ - slack
130
+ - email
131
+
132
+ # 8. Testing Configuration (Optional)
133
+ testing:
134
+ framework: jest
135
+ mock_llm:
136
+ enabled: true
137
+ provider: local_mock
138
+ responses_file: tests/fixtures/mock-llm-responses.json
139
+ coverage:
140
+ threshold: 80
141
+ enforce: true
142
+ test_data:
143
+ management: fixtures
144
+ fixtures_path: tests/fixtures/
@@ -0,0 +1,147 @@
1
+ # ============================================================================
2
+ # OSSA Task: Data Transformation
3
+ # ============================================================================
4
+ # Idempotent data transformation task - safe to retry, deterministic output
5
+ # Demonstrates batch processing and multiple runtime bindings
6
+ #
7
+ # @see https://openstandardagents.org/spec/v0.3.2/task
8
+ # ============================================================================
9
+
10
+ apiVersion: ossa/v0.3.2
11
+ kind: Task
12
+ metadata:
13
+ name: transform-csv-to-json
14
+ version: 1.0.0
15
+ labels:
16
+ domain: data-engineering
17
+ tier: tier_1_read
18
+ annotations:
19
+ ossa.io/description: "Transform CSV data to structured JSON"
20
+ ossa.io/category: "data-transformation"
21
+ ossa.io/idempotent: "true"
22
+
23
+ spec:
24
+ execution:
25
+ type: idempotent # safe to retry without side effects
26
+ runtime: any # works on any runtime
27
+ entrypoint: "transform"
28
+ timeout_seconds: 300
29
+
30
+ capabilities:
31
+ - read_file
32
+ - parse_csv
33
+ - write_json
34
+ - validate_schema
35
+
36
+ input:
37
+ type: object
38
+ required:
39
+ - source_path
40
+ - target_path
41
+ - schema
42
+ properties:
43
+ source_path:
44
+ type: string
45
+ description: "Path to source CSV file"
46
+ target_path:
47
+ type: string
48
+ description: "Path to output JSON file"
49
+ schema:
50
+ type: object
51
+ description: "JSON Schema for validation"
52
+ properties:
53
+ columns:
54
+ type: array
55
+ items:
56
+ type: object
57
+ properties:
58
+ name:
59
+ type: string
60
+ type:
61
+ type: string
62
+ enum: [string, integer, number, boolean, date]
63
+ required:
64
+ type: boolean
65
+ options:
66
+ type: object
67
+ properties:
68
+ delimiter:
69
+ type: string
70
+ default: ","
71
+ skip_header:
72
+ type: boolean
73
+ default: true
74
+ null_value:
75
+ type: string
76
+ default: ""
77
+ batch_size:
78
+ type: integer
79
+ default: 1000
80
+
81
+ output:
82
+ type: object
83
+ required:
84
+ - success
85
+ - records_processed
86
+ properties:
87
+ success:
88
+ type: boolean
89
+ records_processed:
90
+ type: integer
91
+ minimum: 0
92
+ records_failed:
93
+ type: integer
94
+ minimum: 0
95
+ output_path:
96
+ type: string
97
+ checksum:
98
+ type: string
99
+ description: "SHA256 of output file"
100
+ processing_time_ms:
101
+ type: integer
102
+
103
+ batch:
104
+ enabled: true
105
+ parallelism: 10
106
+ retry: 3
107
+ backoff_seconds: 5
108
+
109
+ error_handling:
110
+ on_failure: continue # process remaining rows even if some fail
111
+ retryable_errors:
112
+ - IO_ERROR
113
+ - MEMORY_LIMIT
114
+ fatal_errors:
115
+ - SCHEMA_MISMATCH
116
+ - INVALID_FORMAT
117
+
118
+ runtime:
119
+ python:
120
+ read_file:
121
+ module: "pathlib"
122
+ class: "Path"
123
+ method: "read_text"
124
+ parse_csv:
125
+ module: "csv"
126
+ function: "DictReader"
127
+ write_json:
128
+ module: "json"
129
+ function: "dump"
130
+ validate_schema:
131
+ module: "jsonschema"
132
+ function: "validate"
133
+
134
+ node:
135
+ read_file:
136
+ module: "fs/promises"
137
+ function: "readFile"
138
+ parse_csv:
139
+ module: "csv-parse"
140
+ function: "parse"
141
+ write_json:
142
+ module: "fs/promises"
143
+ function: "writeFile"
144
+ validate_schema:
145
+ module: "ajv"
146
+ class: "Ajv"
147
+ method: "validate"