@bluefly/openstandardagents 0.4.9 → 0.5.1

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 (259) hide show
  1. package/.version.json +3 -3
  2. package/CHANGELOG.md +35 -4
  3. package/README.md +77 -62
  4. package/dist/.version.json +3 -3
  5. package/dist/adapters/a2a/a2a-protocol.js +4 -2
  6. package/dist/adapters/a2a/a2a-tool.js +4 -2
  7. package/dist/adapters/a2a/mcp-integration.d.ts +2 -1
  8. package/dist/adapters/a2a/mcp-integration.js +6 -3
  9. package/dist/adapters/browser/browser-exporter.d.ts +26 -0
  10. package/dist/adapters/browser/browser-exporter.js +73 -0
  11. package/dist/adapters/browser/browser-runner.d.ts +23 -0
  12. package/dist/adapters/browser/browser-runner.js +46 -0
  13. package/dist/adapters/browser/index.d.ts +9 -0
  14. package/dist/adapters/browser/index.js +9 -0
  15. package/dist/adapters/claude-code/adapter.js +2 -2
  16. package/dist/adapters/docker/generators.js +19 -19
  17. package/dist/adapters/docker/index.d.ts +2 -0
  18. package/dist/adapters/docker/index.js +2 -0
  19. package/dist/adapters/docker/openclaw-bridge.d.ts +57 -0
  20. package/dist/adapters/docker/openclaw-bridge.js +173 -0
  21. package/dist/adapters/drupal/generator.js +76 -76
  22. package/dist/adapters/drupal/index.d.ts +1 -0
  23. package/dist/adapters/drupal/index.js +2 -0
  24. package/dist/adapters/drupal/twig-renderer.d.ts +23 -0
  25. package/dist/adapters/drupal/twig-renderer.js +99 -0
  26. package/dist/adapters/gitlab/agent-generator.js +2 -1
  27. package/dist/adapters/openai-agents/adapter.js +2 -2
  28. package/dist/api/index.js +2 -1
  29. package/dist/api/routes/mcp.router.js +3 -1
  30. package/dist/api/routes/wizard.router.js +3 -1
  31. package/dist/cli/commands/agent/discover-type.command.js +1 -1
  32. package/dist/cli/commands/agent-card.command.js +37 -10
  33. package/dist/cli/commands/agents-sync.command.d.ts +2 -2
  34. package/dist/cli/commands/agents-sync.command.js +27 -17
  35. package/dist/cli/commands/catalog/config.js +1 -1
  36. package/dist/cli/commands/catalog/validate.command.js +2 -2
  37. package/dist/cli/commands/config.command.js +2 -2
  38. package/dist/cli/commands/daemon.command.js +32 -8
  39. package/dist/cli/commands/discover.d.ts +1 -1
  40. package/dist/cli/commands/discover.js +16 -8
  41. package/dist/cli/commands/economics.command.d.ts +9 -0
  42. package/dist/cli/commands/economics.command.js +113 -0
  43. package/dist/cli/commands/export.command.js +6 -3
  44. package/dist/cli/commands/mcp.command.js +3 -1
  45. package/dist/cli/commands/memory.command.d.ts +18 -0
  46. package/dist/cli/commands/memory.command.js +168 -0
  47. package/dist/cli/commands/publish.command.js +7 -4
  48. package/dist/cli/commands/serve-builder-routes.js +1 -1
  49. package/dist/cli/commands/usie-skills.command.d.ts +24 -0
  50. package/dist/cli/commands/usie-skills.command.js +297 -0
  51. package/dist/cli/commands/validate.command.js +8 -1
  52. package/dist/cli/commands/verify.d.ts +3 -3
  53. package/dist/cli/commands/verify.js +12 -6
  54. package/dist/cli/commands/workspace.command.d.ts +1 -0
  55. package/dist/cli/commands/workspace.command.js +28 -4
  56. package/dist/cli/index.js +12 -0
  57. package/dist/cli/schema-driven/schema-loader.js +5 -5
  58. package/dist/cli/workspace-validate.d.ts +23 -0
  59. package/dist/cli/workspace-validate.js +117 -0
  60. package/dist/data/platform-matrix.js +1 -4
  61. package/dist/generated/types.d.ts +97 -97
  62. package/dist/index.d.ts +2 -0
  63. package/dist/index.js +2 -0
  64. package/dist/mcp-server/index.js +658 -982
  65. package/dist/mesh/discovery-gkg.d.ts +26 -0
  66. package/dist/mesh/discovery-gkg.js +92 -0
  67. package/dist/messenger/Handler/AgentBatchHandler.js +3 -2
  68. package/dist/messenger/Handler/AgentExecutionHandler.js +6 -1
  69. package/dist/package.json +43 -14
  70. package/dist/sdks/shared/types.d.ts +1 -1
  71. package/dist/services/agent-card-generator.js +6 -2
  72. package/dist/services/daemon/audit-log.service.js +3 -1
  73. package/dist/services/daemon/execution.service.js +8 -4
  74. package/dist/services/daemon/fs-watcher.service.js +6 -7
  75. package/dist/services/daemon/pairing.service.js +2 -1
  76. package/dist/services/daemon/skill-aggregator.service.js +105 -21
  77. package/dist/services/daemon/sse-endpoints.js +1 -1
  78. package/dist/services/daemon/ws-server.js +10 -3
  79. package/dist/services/export/langchain/langchain-exporter.js +2 -2
  80. package/dist/services/export/langchain/memory-generator.js +2 -2
  81. package/dist/services/export/testing/test-generator.js +1 -1
  82. package/dist/services/governance/cedar-provider.js +12 -8
  83. package/dist/services/governance/cedar-validator.service.js +1 -1
  84. package/dist/services/mcp/bridge.service.js +40 -9
  85. package/dist/services/openapi-extensions-validation.d.ts +20 -0
  86. package/dist/services/openapi-extensions-validation.js +193 -0
  87. package/dist/services/release-automation/merge-request.service.d.ts +4 -4
  88. package/dist/services/release-automation/release-buttons.js +3 -3
  89. package/dist/services/release-automation/schemas/release.schema.d.ts +3 -3
  90. package/dist/services/runtime/openai.adapter.d.ts +46 -13
  91. package/dist/services/runtime/openai.adapter.js +169 -131
  92. package/dist/services/skill-registry.service.d.ts +1 -1
  93. package/dist/services/skills-pipeline/skills-research.service.js +47 -7
  94. package/dist/services/taxonomy-service.d.ts +3 -3
  95. package/dist/services/trust/trust.service.js +6 -4
  96. package/dist/services/validation-zod.service.js +3 -22
  97. package/dist/services/validators/index.d.ts +1 -0
  98. package/dist/services/validators/index.js +1 -0
  99. package/dist/services/validators/registry.d.ts +21 -0
  100. package/dist/services/validators/registry.js +42 -0
  101. package/dist/skills/test-skill/package.json +1 -1
  102. package/dist/spec/extensions/cognition.schema.json +87 -0
  103. package/dist/spec/extensions/role-manifest.md +188 -0
  104. package/dist/spec/layer4-economics/duadp-examples.json +44 -0
  105. package/dist/spec/v0.4/agent.schema.json +14 -0
  106. package/dist/spec/v0.4/extensions/mcp/README.md +1 -1
  107. package/dist/spec/v0.5/agent-builder-openapi.yaml +230 -0
  108. package/dist/spec/v0.5/agent.schema.json +34 -2
  109. package/dist/spec/v0.5/extensions/cognition/cognition.schema.json +78 -1
  110. package/dist/spec/v0.5/extensions/economics/context-pack.schema.json +91 -0
  111. package/dist/spec/v0.5/extensions/economics/execution-profile.schema.json +148 -0
  112. package/dist/spec/v0.5/extensions/economics/failure-semantics.schema.json +32 -0
  113. package/dist/spec/v0.5/extensions/economics/replay-packet.schema.json +120 -0
  114. package/dist/spec/v0.5/memory-hierarchy.yaml +120 -0
  115. package/dist/spec/v0.5/role.schema.json +268 -0
  116. package/dist/spec/v1/agent-card.schema.json +254 -0
  117. package/dist/types/cognition.zod.d.ts +312 -0
  118. package/dist/types/cognition.zod.js +223 -0
  119. package/dist/types/identity.zod.d.ts +5 -5
  120. package/dist/types/index.d.ts +54 -6
  121. package/dist/types/index.js +6 -2
  122. package/dist/types/personality.zod.d.ts +3 -3
  123. package/dist/types/role.d.ts +126 -0
  124. package/dist/types/role.js +38 -0
  125. package/dist/utils/http-client.d.ts +22 -0
  126. package/dist/utils/http-client.js +51 -0
  127. package/dist/utils/index.d.ts +3 -0
  128. package/dist/utils/index.js +3 -0
  129. package/dist/utils/proxy-resolver.d.ts +36 -0
  130. package/dist/utils/proxy-resolver.js +59 -0
  131. package/dist/utils/user-agent.d.ts +11 -0
  132. package/dist/utils/user-agent.js +17 -0
  133. package/dist/validation/validator.js +1 -1
  134. package/dist/validation/version-compliance.js +1 -1
  135. package/examples/agents/01-customer-support-bot/agent.ossa.yaml +24 -31
  136. package/examples/agents/05-sales-assistant/agent.ossa.yaml +35 -23
  137. package/examples/agents/07-research-assistant/agent.ossa.yaml +27 -21
  138. package/examples/agents/10-meeting-assistant/agent.ossa.yaml +27 -35
  139. package/examples/agents/security-audit-agent.ossa.yaml +234 -0
  140. package/examples/agentscope/react-assistant/README.md +1 -1
  141. package/examples/agentscope/react-assistant/agent.ossa.yaml +37 -33
  142. package/examples/drupal/content-moderator.ossa.yaml +2 -2
  143. package/examples/drupal/drupal-contributor-agent/.eslintrc.json +58 -0
  144. package/examples/drupal/drupal-contributor-agent/.prettierrc.json +10 -0
  145. package/examples/drupal/drupal-contributor-agent/package.json +55 -0
  146. package/examples/drupal/drupal-contributor-agent/src/core/index.ts +10 -0
  147. package/examples/drupal/drupal-contributor-agent/src/index.ts +17 -0
  148. package/examples/drupal/drupal-contributor-agent/src/types/index.ts +180 -0
  149. package/examples/drupal/drupal-contributor-agent/tsconfig.json +36 -0
  150. package/examples/drupal/drupal-contributor.ossa.yaml +247 -0
  151. package/examples/export/langchain/production-agent-with-memory/README.md +1 -1
  152. package/examples/export/langchain/production-agent-with-memory/agent.ossa.yaml +13 -23
  153. package/examples/export/langchain/production-agent-with-streaming/agent.ossa.yaml +1 -15
  154. package/examples/export/langchain/production-agent-with-tools/agent.ossa.yaml +28 -29
  155. package/examples/getting-started/01-minimal-agent.ossa.yaml +1 -1
  156. package/examples/getting-started/02-agent-with-tools.ossa.yaml +1 -1
  157. package/examples/getting-started/03-agent-with-safety.ossa.yaml +1 -1
  158. package/examples/getting-started/04-agent-with-messaging.ossa.yaml +1 -1
  159. package/examples/getting-started/05-workflow-composition.ossa.yaml +1 -1
  160. package/examples/getting-started/README.md +3 -3
  161. package/examples/getting-started/hello-world-complete.ossa.yaml +1 -1
  162. package/examples/gitlab-agents/gitlab-ci-agent.ossa.yaml +221 -0
  163. package/examples/hierarchical-agent.ossa.yaml +10 -53
  164. package/examples/kagent/ossa-kagent-anthropic.ossa.yaml +2 -25
  165. package/examples/kagent/ossa-kagent-mcp-tools.ossa.yaml +2 -30
  166. package/examples/kagent/ossa-kagent-multi-tool.ossa.yaml +2 -18
  167. package/examples/kagent/ossa-kagent-poc.ossa.yaml +2 -16
  168. package/examples/pipeline-agent.ossa.yaml +3 -3
  169. package/examples/platform-specific/claude-code-subagent.yaml +1 -1
  170. package/examples/platform-specific/cursor-coding-agent.yaml +1 -1
  171. package/examples/platform-specific/warp-terminal-agent.yaml +1 -1
  172. package/examples/production-ready/01-customer-support-bot/agent.ossa.yaml +24 -31
  173. package/examples/production-ready/05-sales-assistant/agent.ossa.yaml +35 -23
  174. package/examples/production-ready/07-research-assistant/agent.ossa.yaml +27 -19
  175. package/examples/production-ready/10-meeting-assistant/agent.ossa.yaml +27 -35
  176. package/examples/roles/drupal-developer.role.yaml +37 -0
  177. package/examples/roles/platform-operator.role.yaml +28 -0
  178. package/examples/roles/security-auditor.role.yaml +27 -0
  179. package/examples/swarm-agent.ossa.yaml +13 -51
  180. package/examples/team-agent.ossa.yaml +12 -61
  181. package/examples/team-lead-teammate.ossa.yaml +12 -17
  182. package/openapi/agent-cognition-sessions.yaml +580 -0
  183. package/openapi/agent-communication.yaml +260 -212
  184. package/openapi/agent-crud.yaml +237 -207
  185. package/openapi/agent-discovery.yaml +119 -81
  186. package/openapi/agent-identity.yaml +219 -187
  187. package/openapi/agent-taxonomy.yaml +95 -38
  188. package/openapi/agents-md-service.yaml +103 -30
  189. package/openapi/cli/openapi.yaml +147 -40
  190. package/openapi/core/ossa-core-api.openapi.yaml +327 -271
  191. package/openapi/core/ossa-registry-api.openapi.yaml +299 -236
  192. package/openapi/core/ossa-registry.openapi.yaml +299 -159
  193. package/openapi/core/unified-agent-gateway.openapi.yaml +234 -170
  194. package/openapi/daemon-api.openapi.yaml +323 -181
  195. package/openapi/dev-cli/openapi.yaml +137 -113
  196. package/openapi/github-sync.yaml +62 -19
  197. package/openapi/marketplace-plugin.openapi.yaml +539 -466
  198. package/openapi/ossa-api.openapi.yaml +354 -213
  199. package/openapi/ossa-cli-enhancements.openapi.yaml +109 -90
  200. package/openapi/ossa-cli.yaml +260 -184
  201. package/openapi/protocols/sse-streams.yaml +66 -74
  202. package/openapi/protocols/websocket-events.yaml +61 -54
  203. package/openapi/reference-implementations/aiflow-bridge-api.openapi.yaml +37 -20
  204. package/openapi/reference-implementations/compliance-agent-api.openapi.yaml +35 -23
  205. package/openapi/reference-implementations/crewai-agent-api.openapi.yaml +29 -18
  206. package/openapi/reference-implementations/critic-agent-api.openapi.yaml +45 -19
  207. package/openapi/reference-implementations/document-analyzer-api.openapi.yaml +30 -24
  208. package/openapi/reference-implementations/drupal-agent-api.openapi.yaml +101 -50
  209. package/openapi/reference-implementations/getting-started-hello-world-api.openapi.yaml +33 -22
  210. package/openapi/reference-implementations/gitlab-ml-recommender-api.openapi.yaml +20 -16
  211. package/openapi/reference-implementations/governor-agent-api.openapi.yaml +41 -23
  212. package/openapi/reference-implementations/helm-generator.openapi.yaml +88 -46
  213. package/openapi/reference-implementations/integrator-agent-api.openapi.yaml +30 -20
  214. package/openapi/reference-implementations/judge-agent-api.openapi.yaml +22 -16
  215. package/openapi/reference-implementations/k8s-troubleshooter-api.openapi.yaml +32 -18
  216. package/openapi/reference-implementations/langchain-agent-api.openapi.yaml +32 -21
  217. package/openapi/reference-implementations/monitor-agent-api.openapi.yaml +34 -21
  218. package/openapi/reference-implementations/orchestrator-agent-api.openapi.yaml +49 -27
  219. package/openapi/reference-implementations/quickstart-support-agent-api.openapi.yaml +27 -19
  220. package/openapi/reference-implementations/self-evolving-ecosystem.openapi.yaml +427 -293
  221. package/openapi/reference-implementations/worker-agent-api.openapi.yaml +34 -23
  222. package/openapi/reference-implementations/workflow-orchestrator-api.openapi.yaml +35 -21
  223. package/openapi/release-automation.openapi.yaml +48 -14
  224. package/openapi/schemas/common/agent.yaml +30 -29
  225. package/openapi/schemas/common/economics.yaml +98 -0
  226. package/openapi/schemas/common/errors.yaml +13 -3
  227. package/openapi/schemas/common/metadata.yaml +22 -7
  228. package/openapi/schemas/common/pagination.yaml +18 -6
  229. package/openapi/schemas/common/security.yaml +13 -5
  230. package/openapi/schemas/index.yaml +49 -42
  231. package/openapi/uadp-asyncapi.yaml +5 -3
  232. package/openapi/uadp-openapi.yaml +243 -165
  233. package/openapi/version-management.openapi.yaml +142 -135
  234. package/package.json +43 -14
  235. package/spec/extensions/cognition.schema.json +87 -0
  236. package/spec/extensions/role-manifest.md +188 -0
  237. package/spec/layer4-economics/duadp-examples.json +44 -0
  238. package/spec/v0.4/agent.schema.json +14 -0
  239. package/spec/v0.4/extensions/mcp/README.md +1 -1
  240. package/spec/v0.5/agent-builder-openapi.yaml +230 -0
  241. package/spec/v0.5/agent.schema.json +34 -2
  242. package/spec/v0.5/extensions/cognition/cognition.schema.json +78 -1
  243. package/spec/v0.5/extensions/economics/context-pack.schema.json +91 -0
  244. package/spec/v0.5/extensions/economics/execution-profile.schema.json +148 -0
  245. package/spec/v0.5/extensions/economics/failure-semantics.schema.json +32 -0
  246. package/spec/v0.5/extensions/economics/replay-packet.schema.json +120 -0
  247. package/spec/v0.5/memory-hierarchy.yaml +120 -0
  248. package/spec/v0.5/role.schema.json +268 -0
  249. package/spec/v1/agent-card.schema.json +254 -0
  250. package/dist/adapters/a2a/__tests__/mcp-integration.spec.d.ts +0 -5
  251. package/dist/adapters/a2a/__tests__/mcp-integration.spec.js +0 -268
  252. package/dist/adapters/a2a/__tests__/mcp-transport.spec.d.ts +0 -5
  253. package/dist/adapters/a2a/__tests__/mcp-transport.spec.js +0 -203
  254. package/dist/mcp-server/__tests__/mcp-server.spec.d.ts +0 -8
  255. package/dist/mcp-server/__tests__/mcp-server.spec.js +0 -557
  256. package/dist/validation/__tests__/error-codes.test.d.ts +0 -5
  257. package/dist/validation/__tests__/error-codes.test.js +0 -252
  258. package/dist/version-management/core/version-manager.test.d.ts +0 -2
  259. package/dist/version-management/core/version-manager.test.js +0 -210
@@ -1,10 +1,10 @@
1
- apiVersion: ossa/v0.4.6
1
+ apiVersion: ossa/v0.5
2
2
  kind: Agent
3
3
  metadata:
4
4
  name: agentscope-react-assistant
5
- namespace: bluefly/examples
6
- version: "1.0.0"
7
- description: "Example ReAct agent powered by AgentScope runtime with MCP tool integration, A2A protocol support, and Mem0 long-term memory."
5
+ namespace: bluefly-examples
6
+ version: 1.0.0
7
+ description: Example ReAct agent powered by AgentScope runtime with MCP tool integration, A2A protocol support, and Mem0 long-term memory.
8
8
  agentType: agentscope
9
9
  agentKind: assistant
10
10
  status: active
@@ -14,17 +14,14 @@ metadata:
14
14
  framework: agentscope
15
15
  identity:
16
16
  agent_id: agentscope-react-assistant
17
- namespace: bluefly/examples
18
- version: "1.0.0"
17
+ namespace: bluefly-examples
18
+ version: 1.0.0
19
19
  publisher:
20
20
  name: BlueFly Collective
21
21
  website: https://bluefly.io
22
-
23
22
  spec:
24
- role: >
25
- You are a helpful assistant that uses tools to answer questions accurately.
26
- Always verify information before responding. Use available MCP tools for
27
- real-time data retrieval and knowledge base queries.
23
+ role: |
24
+ You are a helpful assistant that uses tools to answer questions accurately. Always verify information before responding. Use available MCP tools for real-time data retrieval and knowledge base queries.
28
25
  llm:
29
26
  provider: anthropic
30
27
  model: claude-sonnet-4-20250514
@@ -38,19 +35,20 @@ spec:
38
35
  tools:
39
36
  - type: mcp
40
37
  name: knowledge-base
41
- endpoint: https://gkg.blueflyagents.com/mcp/sse
42
- description: "Graph knowledge base for codebase analysis"
38
+ endpoint: https://gkg.bluefly.internal/mcp/sse
39
+ description: Graph knowledge base for codebase analysis
43
40
  - type: mcp
44
41
  name: web-search
45
42
  endpoint: https://mcp.blueflyagents.com/api/mcp/sse
46
- description: "Web search and content retrieval"
43
+ description: Web search and content retrieval
47
44
  inputs:
48
45
  type: object
49
46
  properties:
50
47
  query:
51
48
  type: string
52
- description: "User query or task"
53
- required: [query]
49
+ description: User query or task
50
+ required:
51
+ - query
54
52
  outputs:
55
53
  type: object
56
54
  properties:
@@ -60,23 +58,26 @@ spec:
60
58
  type: integer
61
59
  confidence:
62
60
  type: number
63
-
64
61
  security:
65
62
  tier: tier_1_read
66
63
  capabilities:
67
- required: [network-outbound, tool-execution]
68
- optional: [memory-extended]
64
+ required:
65
+ - network-outbound
66
+ - tool-execution
67
+ optional:
68
+ - memory-extended
69
69
  network_access:
70
70
  allowed_domains:
71
- - "*.blueflyagents.com"
72
- - "api.anthropic.com"
73
- protocols: [https, wss]
71
+ - '*.blueflyagents.com'
72
+ - api.anthropic.com
73
+ protocols:
74
+ - https
75
+ - wss
74
76
  egress_policy: allow-list
75
77
  data_classification: internal
76
-
77
78
  protocols:
78
79
  mcp:
79
- version: "1.0.0"
80
+ version: 1.0.0
80
81
  role: client
81
82
  capabilities:
82
83
  tools: true
@@ -84,23 +85,22 @@ protocols:
84
85
  prompts: false
85
86
  sampling: false
86
87
  a2a:
87
- version: "0.2.1"
88
+ version: 0.2.1
88
89
  endpoint: https://agents.blueflyagents.com/a2a/react-assistant
89
90
  agent_card:
90
91
  name: AgentScope React Assistant
91
- description: "ReAct agent with tool use and memory"
92
+ description: ReAct agent with tool use and memory
92
93
  skills:
93
94
  - id: question-answering
94
95
  name: Question Answering
95
- description: "Answer questions using tools and knowledge"
96
+ description: Answer questions using tools and knowledge
96
97
  - id: code-analysis
97
98
  name: Code Analysis
98
- description: "Analyze code using knowledge graph"
99
+ description: Analyze code using knowledge graph
99
100
  capabilities:
100
101
  streaming: true
101
102
  pushNotifications: false
102
103
  stateTransitionHistory: false
103
-
104
104
  token_efficiency:
105
105
  serialization_profile: compact
106
106
  observation_format: projected
@@ -109,13 +109,17 @@ token_efficiency:
109
109
  max_output_tokens: 4096
110
110
  allocation_strategy: adaptive
111
111
  routing:
112
- cascade: [claude-haiku-4-5-20251001, claude-sonnet-4-20250514, claude-opus-4-20250514]
113
- complexity_threshold: [0.3, 0.7]
112
+ cascade:
113
+ - claude-haiku-4-5-20251001
114
+ - claude-sonnet-4-20250514
115
+ - claude-opus-4-20250514
116
+ complexity_threshold:
117
+ - 0.3
118
+ - 0.7
114
119
  strategy: cost_optimized
115
-
116
120
  extensions:
117
121
  agentscope:
118
- version: "1.0.16"
122
+ version: 1.0.16
119
123
  agent_class: ReActAgent
120
124
  capabilities:
121
125
  - rag
@@ -1,7 +1,7 @@
1
- apiVersion: ossa/v0.4.7
1
+ apiVersion: ossa/v0.5.0
2
2
  kind: Agent
3
3
  metadata:
4
- name: content_moderator
4
+ name: content-moderator
5
5
  version: 1.0.0
6
6
  description: AI-powered content moderation agent for Drupal
7
7
  labels:
@@ -0,0 +1,58 @@
1
+ {
2
+ "root": true,
3
+ "parser": "@typescript-eslint/parser",
4
+ "parserOptions": {
5
+ "ecmaVersion": 2022,
6
+ "sourceType": "module",
7
+ "project": "./tsconfig.json"
8
+ },
9
+ "plugins": ["@typescript-eslint", "import"],
10
+ "extends": [
11
+ "eslint:recommended",
12
+ "plugin:@typescript-eslint/recommended",
13
+ "plugin:@typescript-eslint/recommended-requiring-type-checking",
14
+ "plugin:import/recommended",
15
+ "plugin:import/typescript",
16
+ "prettier"
17
+ ],
18
+ "rules": {
19
+ "@typescript-eslint/no-explicit-any": "error",
20
+ "@typescript-eslint/explicit-function-return-type": "warn",
21
+ "@typescript-eslint/no-unused-vars": [
22
+ "error",
23
+ {
24
+ "argsIgnorePattern": "^_",
25
+ "varsIgnorePattern": "^_"
26
+ }
27
+ ],
28
+ "@typescript-eslint/no-floating-promises": "error",
29
+ "@typescript-eslint/no-misused-promises": "error",
30
+ "import/order": [
31
+ "error",
32
+ {
33
+ "groups": [
34
+ "builtin",
35
+ "external",
36
+ "internal",
37
+ "parent",
38
+ "sibling",
39
+ "index"
40
+ ],
41
+ "newlines-between": "always",
42
+ "alphabetize": {
43
+ "order": "asc",
44
+ "caseInsensitive": true
45
+ }
46
+ }
47
+ ],
48
+ "no-console": "warn"
49
+ },
50
+ "settings": {
51
+ "import/resolver": {
52
+ "typescript": {
53
+ "alwaysTryTypes": true,
54
+ "project": "./tsconfig.json"
55
+ }
56
+ }
57
+ }
58
+ }
@@ -0,0 +1,10 @@
1
+ {
2
+ "semi": true,
3
+ "trailingComma": "es5",
4
+ "singleQuote": true,
5
+ "printWidth": 100,
6
+ "tabWidth": 2,
7
+ "useTabs": false,
8
+ "arrowParens": "always",
9
+ "endOfLine": "lf"
10
+ }
@@ -0,0 +1,55 @@
1
+ {
2
+ "name": "@bluefly/drupal-contributor-agent",
3
+ "version": "1.0.0",
4
+ "description": "Enterprise-ready autonomous OSSA/DUADP agent for Drupal.org contributions",
5
+ "main": "dist/index.js",
6
+ "types": "dist/index.d.ts",
7
+ "scripts": {
8
+ "build": "tsc",
9
+ "build:watch": "tsc --watch",
10
+ "clean": "rm -rf dist",
11
+ "lint": "eslint src tests --ext .ts",
12
+ "lint:fix": "eslint src tests --ext .ts --fix",
13
+ "format": "prettier --write \"src/**/*.ts\" \"tests/**/*.ts\"",
14
+ "format:check": "prettier --check \"src/**/*.ts\" \"tests/**/*.ts\"",
15
+ "test": "vitest --run",
16
+ "test:watch": "vitest",
17
+ "test:coverage": "vitest --run --coverage",
18
+ "test:unit": "vitest --run --testPathPattern=tests/unit",
19
+ "test:integration": "vitest --run --testPathPattern=tests/integration",
20
+ "test:properties": "vitest --run --testPathPattern=tests/properties",
21
+ "typecheck": "tsc --noEmit",
22
+ "validate": "npm run typecheck && npm run lint && npm run format:check && npm run test"
23
+ },
24
+ "keywords": [
25
+ "ossa",
26
+ "duadp",
27
+ "drupal",
28
+ "agent",
29
+ "autonomous",
30
+ "mcp"
31
+ ],
32
+ "author": "Bluefly",
33
+ "license": "MIT",
34
+ "engines": {
35
+ "node": ">=18.0.0"
36
+ },
37
+ "dependencies": {
38
+ "@aws-sdk/client-cedar": "^3.0.0",
39
+ "fast-check": "^3.15.0",
40
+ "yaml": "^2.3.4",
41
+ "zod": "^3.22.4"
42
+ },
43
+ "devDependencies": {
44
+ "@types/node": "^20.11.0",
45
+ "@typescript-eslint/eslint-plugin": "^6.19.0",
46
+ "@typescript-eslint/parser": "^6.19.0",
47
+ "@vitest/coverage-v8": "^1.2.0",
48
+ "eslint": "^8.56.0",
49
+ "eslint-config-prettier": "^9.1.0",
50
+ "eslint-plugin-import": "^2.29.1",
51
+ "prettier": "^3.2.4",
52
+ "typescript": "^5.3.3",
53
+ "vitest": "^1.2.0"
54
+ }
55
+ }
@@ -0,0 +1,10 @@
1
+ /**
2
+ * Agent Core Engine
3
+ *
4
+ * Manages the agent's lifecycle and orchestrates all operations.
5
+ */
6
+
7
+ export * from './agent-core';
8
+ export * from './event-system';
9
+ export * from './state-manager';
10
+
@@ -0,0 +1,17 @@
1
+ /**
2
+ * Drupal Contributor Agent - Main Entry Point
3
+ *
4
+ * Enterprise-ready autonomous OSSA/DUADP agent for Drupal.org contributions.
5
+ * This agent demonstrates the full OSSA/DUADP stack working together to
6
+ * contribute to Drupal.org issues with enterprise governance and security.
7
+ */
8
+
9
+ export * from './core';
10
+ export * from './discovery';
11
+ export * from './governance';
12
+ export * from './identity';
13
+ export * from './observability';
14
+ export * from './tools';
15
+ export * from './types';
16
+ export * from './workspace';
17
+
@@ -0,0 +1,180 @@
1
+ /**
2
+ * Core type definitions for the Drupal Contributor Agent
3
+ */
4
+
5
+ /**
6
+ * Agent configuration
7
+ */
8
+ export interface AgentConfig {
9
+ identity: IdentityConfig;
10
+ discovery: DiscoveryConfig;
11
+ governance: GovernanceConfig;
12
+ workspace: WorkspaceConfig;
13
+ observability: ObservabilityConfig;
14
+ }
15
+
16
+ /**
17
+ * Identity configuration
18
+ */
19
+ export interface IdentityConfig {
20
+ gaid: string; // W3C Decentralized Identifier
21
+ manifestPath: string;
22
+ privateKeyPath?: string;
23
+ }
24
+
25
+ /**
26
+ * Discovery configuration
27
+ */
28
+ export interface DiscoveryConfig {
29
+ endpoint: string;
30
+ port: number;
31
+ }
32
+
33
+ /**
34
+ * Governance configuration
35
+ */
36
+ export interface GovernanceConfig {
37
+ cedarPoliciesPath: string;
38
+ approvalWebhookUrl?: string;
39
+ auditLogPath: string;
40
+ }
41
+
42
+ /**
43
+ * Workspace configuration
44
+ */
45
+ export interface WorkspaceConfig {
46
+ rootPath: string;
47
+ isolation: 'container' | 'process' | 'none';
48
+ maxDiskUsage: string;
49
+ maxMemory: string;
50
+ }
51
+
52
+ /**
53
+ * Observability configuration
54
+ */
55
+ export interface ObservabilityConfig {
56
+ metricsPort: number;
57
+ logLevel: 'debug' | 'info' | 'warn' | 'error';
58
+ tracingEnabled: boolean;
59
+ tracingSampleRate: number;
60
+ }
61
+
62
+ /**
63
+ * Agent state
64
+ */
65
+ export interface AgentState {
66
+ status: 'initializing' | 'ready' | 'processing' | 'error' | 'shutdown';
67
+ currentIssue?: string;
68
+ currentWorkspace?: string;
69
+ lastError?: Error;
70
+ }
71
+
72
+ /**
73
+ * Issue processing result
74
+ */
75
+ export interface IssueResult {
76
+ issueId: string;
77
+ status: 'completed' | 'failed' | 'pending_approval';
78
+ mergeRequestUrl?: string;
79
+ evidence: Evidence[];
80
+ auditTrail: AuditEntry[];
81
+ }
82
+
83
+ /**
84
+ * Evidence for validation and review
85
+ */
86
+ export interface Evidence {
87
+ type: 'diff' | 'test_result' | 'analysis' | 'screenshot' | 'log';
88
+ title: string;
89
+ description: string;
90
+ content: {
91
+ format: 'text' | 'json' | 'binary';
92
+ data: string | Buffer;
93
+ encoding?: string;
94
+ };
95
+ metadata: {
96
+ tool: string;
97
+ version: string;
98
+ timestamp: Date;
99
+ checksum: string;
100
+ };
101
+ validation: {
102
+ verified: boolean;
103
+ signature?: string;
104
+ };
105
+ }
106
+
107
+ /**
108
+ * Audit trail entry
109
+ */
110
+ export interface AuditEntry {
111
+ id: string;
112
+ timestamp: Date;
113
+ tenantId: string;
114
+ workspaceId: string;
115
+ actor: {
116
+ type: 'agent' | 'human';
117
+ id: string;
118
+ gaid?: string;
119
+ };
120
+ action: {
121
+ type: string;
122
+ description: string;
123
+ parameters: Record<string, unknown>;
124
+ };
125
+ resource: {
126
+ type: string;
127
+ id: string;
128
+ path?: string;
129
+ };
130
+ result: {
131
+ status: 'success' | 'failure' | 'pending';
132
+ message?: string;
133
+ evidence?: Evidence[];
134
+ };
135
+ governance: {
136
+ policyEvaluation: AuthorizationResult;
137
+ approvals?: ApprovalRecord[];
138
+ };
139
+ context: {
140
+ correlationId: string;
141
+ traceId: string;
142
+ sessionId: string;
143
+ };
144
+ }
145
+
146
+ /**
147
+ * Authorization result from Cedar policy engine
148
+ */
149
+ export interface AuthorizationResult {
150
+ decision: 'Allow' | 'Deny';
151
+ reasons: string[];
152
+ requiredApprovals?: ApprovalGate[];
153
+ }
154
+
155
+ /**
156
+ * Approval gate definition
157
+ */
158
+ export interface ApprovalGate {
159
+ id: string;
160
+ type: string;
161
+ description: string;
162
+ approvers: string[];
163
+ timeout?: number;
164
+ }
165
+
166
+ /**
167
+ * Approval record
168
+ */
169
+ export interface ApprovalRecord {
170
+ gateId: string;
171
+ approver: string;
172
+ decision: 'approved' | 'denied';
173
+ timestamp: Date;
174
+ reason?: string;
175
+ }
176
+
177
+ /**
178
+ * Event handler function
179
+ */
180
+ export type EventHandler = (data: unknown) => void | Promise<void>;
@@ -0,0 +1,36 @@
1
+ {
2
+ "compilerOptions": {
3
+ "target": "ES2022",
4
+ "lib": ["ES2022"],
5
+ "module": "commonjs",
6
+ "moduleResolution": "node",
7
+ "strict": true,
8
+ "noImplicitAny": true,
9
+ "strictNullChecks": true,
10
+ "strictFunctionTypes": true,
11
+ "strictBindCallApply": true,
12
+ "strictPropertyInitialization": true,
13
+ "noImplicitThis": true,
14
+ "alwaysStrict": true,
15
+ "noUnusedLocals": true,
16
+ "noUnusedParameters": true,
17
+ "noImplicitReturns": true,
18
+ "noFallthroughCasesInSwitch": true,
19
+ "noUncheckedIndexedAccess": true,
20
+ "noImplicitOverride": true,
21
+ "noPropertyAccessFromIndexSignature": true,
22
+ "esModuleInterop": true,
23
+ "allowSyntheticDefaultImports": true,
24
+ "resolveJsonModule": true,
25
+ "forceConsistentCasingInFileNames": true,
26
+ "declaration": true,
27
+ "declarationMap": true,
28
+ "sourceMap": true,
29
+ "outDir": "./dist",
30
+ "removeComments": false,
31
+ "isolatedModules": true,
32
+ "skipLibCheck": true
33
+ },
34
+ "include": ["src/**/*"],
35
+ "exclude": ["node_modules", "dist", "tests"]
36
+ }