@bluefly/openstandardagents 0.2.8 → 0.2.9
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.env.example +1 -1
- package/.github/AGENTS.md +245 -0
- package/.github/agents/github-issue-triage.ossa.yaml +99 -0
- package/.github/agents/github-pr-triage.ossa.yaml +137 -0
- package/.github/workflows/issue-sync-to-gitlab.yml +138 -0
- package/.github/workflows/pr-triage-to-gitlab.yml +164 -0
- package/.version.json +1 -1
- package/.wiki-config.json +1 -1
- package/CHANGELOG.md +33 -0
- package/CONTRIBUTING.md +102 -3
- package/README.md +17 -10
- package/dist/services/release-automation/schemas/release.schema.js +1 -1
- package/dist/services/release-automation/webhook.service.js +3 -3
- package/dist/services/release-automation/webhook.service.js.map +1 -1
- package/dist/services/runtime/claude/claude-adapter.d.ts +1 -1
- package/dist/services/runtime/claude/claude-adapter.d.ts.map +1 -1
- package/dist/services/runtime/claude/claude-adapter.js +1 -1
- package/dist/services/runtime/claude/claude-adapter.js.map +1 -1
- package/dist/spec/v0.2.9/a2a-protocol.md +1337 -0
- package/dist/spec/v0.2.9/agent.md +1946 -0
- package/dist/spec/v0.2.9/capabilities/index.yaml +25 -0
- package/dist/spec/v0.2.9/capabilities/memory.yaml +251 -0
- package/dist/spec/v0.2.9/capability-schema.md +576 -0
- package/dist/spec/v0.2.9/compliance-profiles.md +533 -0
- package/dist/spec/v0.2.9/conformance-testing.md +1527 -0
- package/dist/spec/v0.2.9/gitlab-duo-integration.md +621 -0
- package/dist/spec/v0.2.9/ossa-0.2.9.schema.json +3699 -0
- package/dist/spec/v0.2.9/runtime-semantics.md +464 -0
- package/dist/spec/v0.2.9/security-model.md +1245 -0
- package/dist/spec/v0.2.9/semantic-conventions.md +347 -0
- package/dist/spec/v0.2.9/types.ts +522 -0
- package/dist/types/policy.d.ts +377 -0
- package/dist/types/policy.d.ts.map +1 -0
- package/dist/types/policy.js +84 -0
- package/dist/types/policy.js.map +1 -0
- package/dist/utils/version.js +1 -1
- package/docs/specs/policy-dsl.md +925 -0
- package/examples/adk-integration/code-review-workflow.yml +1 -1
- package/examples/adk-integration/customer-support.yml +1 -1
- package/examples/adk-integration/data-pipeline.yml +1 -1
- package/examples/advanced/reasoning-agent.yaml +136 -0
- package/examples/advanced/workflows/hybrid-model-strategy.yaml +1 -1
- package/examples/agent-manifests/critics/critic-agent.yaml +1 -1
- package/examples/agent-manifests/governors/governor-agent.yaml +1 -1
- package/examples/agent-manifests/integrators/integrator-agent.yaml +1 -1
- package/examples/agent-manifests/judges/judge-agent.yaml +1 -1
- package/examples/agent-manifests/monitors/monitor-agent.yaml +1 -1
- package/examples/agent-manifests/orchestrators/orchestrator-agent.yaml +1 -1
- package/examples/agent-manifests/sample-compliant-agent.yaml +1 -1
- package/examples/agent-manifests/workers/worker-agent.yaml +1 -1
- package/examples/agents-md/code-agent.ossa.json +100 -0
- package/examples/agents-md/monorepo-agent.ossa.yaml +180 -0
- package/examples/anthropic/claude-assistant.ossa.json +1 -1
- package/examples/autogen/multi-agent.ossa.json +1 -1
- package/examples/claude-code/code-reviewer.ossa.yaml +1 -1
- package/examples/claude-code/ossa-validator.ossa.yaml +2 -2
- package/examples/common_npm/agent-router.ossa.yaml +1 -1
- package/examples/common_npm/agent-router.v0.2.2.ossa.yaml +1 -1
- package/examples/crewai/research-team.ossa.json +1 -1
- package/examples/cursor/code-review-agent.ossa.json +1 -1
- package/examples/drupal/gitlab-ml-recommender.ossa.yaml +1 -1
- package/examples/drupal/gitlab-ml-recommender.v0.2.2.ossa.yaml +1 -1
- package/examples/extensions/agents-md-v1.yml +175 -0
- package/examples/extensions/drupal-v1.yml +1 -1
- package/examples/extensions/kagent-v1.yml +1 -1
- package/examples/getting-started/hello-world-complete.ossa.yaml +1 -1
- package/examples/integration-patterns/agent-to-agent-orchestration.ossa.yaml +4 -4
- package/examples/kagent/compliance-validator.ossa.yaml +1 -1
- package/examples/kagent/cost-optimizer.ossa.yaml +1 -1
- package/examples/kagent/documentation-agent.ossa.yaml +1 -1
- package/examples/kagent/k8s-troubleshooter-v1.ossa.yaml +1 -1
- package/examples/kagent/k8s-troubleshooter-v1.v0.2.2.ossa.yaml +1 -1
- package/examples/kagent/k8s-troubleshooter.ossa.yaml +1 -1
- package/examples/kagent/security-scanner.ossa.yaml +1 -1
- package/examples/langchain/chain-agent.ossa.json +1 -1
- package/examples/langflow/workflow-agent.ossa.json +1 -1
- package/examples/langgraph/state-machine-agent.ossa.json +1 -1
- package/examples/llamaindex/rag-agent.ossa.json +1 -1
- package/examples/migration-guides/from-langchain-to-ossa.yaml +4 -4
- package/examples/multi-agent/conditional-router.ossa.yaml +1 -1
- package/examples/multi-agent/parallel-execution.ossa.yaml +1 -1
- package/examples/multi-agent/sequential-pipeline.ossa.yaml +1 -1
- package/examples/openai/basic-agent.ossa.yaml +1 -1
- package/examples/openai/multi-tool-agent.ossa.json +1 -1
- package/examples/openai/swarm-agent.ossa.json +1 -1
- package/examples/production/document-analyzer-openai.yml +1 -1
- package/examples/quickstart/support-agent.ossa.yaml +1 -1
- package/examples/templates/ossa-compliance.yaml +1 -1
- package/examples/vercel/edge-agent.ossa.json +1 -1
- package/llms.txt +1 -1
- package/package.json +5 -3
- package/scripts/README.md +25 -0
- package/scripts/compliance-audit.ts +796 -0
- package/scripts/generate-agents-catalog.ts +2 -1
- package/scripts/generate-api-docs.ts +2 -1
- package/scripts/generate-examples-docs.ts +2 -1
- package/scripts/generate-llms-ctx.sh +2 -2
- package/spec/v0.2.9/a2a-protocol.md +1337 -0
- package/spec/v0.2.9/agent.md +1946 -0
- package/spec/v0.2.9/capabilities/index.yaml +25 -0
- package/spec/v0.2.9/capabilities/memory.yaml +251 -0
- package/spec/v0.2.9/capability-schema.md +576 -0
- package/spec/v0.2.9/compliance-profiles.md +533 -0
- package/spec/v0.2.9/conformance-testing.md +1527 -0
- package/spec/v0.2.9/gitlab-duo-integration.md +621 -0
- package/spec/v0.2.9/ossa-0.2.9.schema.json +3699 -0
- package/spec/v0.2.9/runtime-semantics.md +464 -0
- package/spec/v0.2.9/security-model.md +1245 -0
- package/spec/v0.2.9/semantic-conventions.md +347 -0
- package/spec/v0.2.9/types.ts +522 -0
- package/test-results/junit.xml +184 -146
- package/.github/workflows/pr-comment.yml +0 -33
package/test-results/junit.xml
CHANGED
|
@@ -1,21 +1,15 @@
|
|
|
1
1
|
<?xml version="1.0" encoding="UTF-8"?>
|
|
2
|
-
<testsuites name="jest tests" tests="
|
|
3
|
-
<testsuite name="
|
|
4
|
-
<testcase classname="
|
|
5
|
-
</testcase>
|
|
6
|
-
<testcase classname="GitHubSyncService" name="should reject invalid config" time="0.007">
|
|
7
|
-
</testcase>
|
|
8
|
-
</testsuite>
|
|
9
|
-
<testsuite name="CrewAIValidator" errors="0" failures="0" skipped="0" timestamp="2025-12-02T19:33:43" time="0.461" tests="8">
|
|
10
|
-
<testcase classname="CrewAIValidator" name="should validate valid CrewAI extension" time="0.005">
|
|
2
|
+
<testsuites name="jest tests" tests="145" failures="0" errors="0" time="8.295">
|
|
3
|
+
<testsuite name="CrewAIValidator" errors="0" failures="0" skipped="0" timestamp="2025-12-06T01:17:15" time="0.487" tests="8">
|
|
4
|
+
<testcase classname="CrewAIValidator" name="should validate valid CrewAI extension" time="0.008">
|
|
11
5
|
</testcase>
|
|
12
6
|
<testcase classname="CrewAIValidator" name="should reject missing role" time="0">
|
|
13
7
|
</testcase>
|
|
14
8
|
<testcase classname="CrewAIValidator" name="should reject missing goal" time="0">
|
|
15
9
|
</testcase>
|
|
16
|
-
<testcase classname="CrewAIValidator" name="should validate all agent types" time="0
|
|
10
|
+
<testcase classname="CrewAIValidator" name="should validate all agent types" time="0">
|
|
17
11
|
</testcase>
|
|
18
|
-
<testcase classname="CrewAIValidator" name="should reject invalid agent_type" time="0">
|
|
12
|
+
<testcase classname="CrewAIValidator" name="should reject invalid agent_type" time="0.001">
|
|
19
13
|
</testcase>
|
|
20
14
|
<testcase classname="CrewAIValidator" name="should validate max_iterations" time="0">
|
|
21
15
|
</testcase>
|
|
@@ -24,32 +18,14 @@
|
|
|
24
18
|
<testcase classname="CrewAIValidator" name="should return warnings for missing backstory" time="0">
|
|
25
19
|
</testcase>
|
|
26
20
|
</testsuite>
|
|
27
|
-
<testsuite name="
|
|
28
|
-
<testcase classname="
|
|
29
|
-
</testcase>
|
|
30
|
-
<testcase classname="LangChainValidator" name="should validate all chain types" time="0.001">
|
|
31
|
-
</testcase>
|
|
32
|
-
<testcase classname="LangChainValidator" name="should reject invalid chain_type" time="0">
|
|
33
|
-
</testcase>
|
|
34
|
-
<testcase classname="LangChainValidator" name="should validate memory types" time="0">
|
|
35
|
-
</testcase>
|
|
36
|
-
<testcase classname="LangChainValidator" name="should reject invalid memory type" time="0">
|
|
37
|
-
</testcase>
|
|
38
|
-
<testcase classname="LangChainValidator" name="should validate callbacks array" time="0.001">
|
|
39
|
-
</testcase>
|
|
40
|
-
<testcase classname="LangChainValidator" name="should reject invalid callbacks type" time="0">
|
|
41
|
-
</testcase>
|
|
42
|
-
<testcase classname="LangChainValidator" name="should return warnings for missing memory" time="0">
|
|
43
|
-
</testcase>
|
|
44
|
-
</testsuite>
|
|
45
|
-
<testsuite name="MigrationService" errors="0" failures="0" skipped="0" timestamp="2025-12-02T19:33:43" time="0.476" tests="9">
|
|
46
|
-
<testcase classname="MigrationService › migrate" name="should handle v0.2.2 format" time="0.003">
|
|
21
|
+
<testsuite name="MigrationService" errors="0" failures="0" skipped="0" timestamp="2025-12-06T01:17:15" time="0.48" tests="9">
|
|
22
|
+
<testcase classname="MigrationService › migrate" name="should handle v0.2.2 format" time="0.004">
|
|
47
23
|
</testcase>
|
|
48
|
-
<testcase classname="MigrationService › migrate" name="should migrate v1.0 to v0.2.2 with full metadata" time="0.
|
|
24
|
+
<testcase classname="MigrationService › migrate" name="should migrate v1.0 to v0.2.2 with full metadata" time="0.003">
|
|
49
25
|
</testcase>
|
|
50
26
|
<testcase classname="MigrationService › migrate" name="should handle v1.0 with auto provider" time="0">
|
|
51
27
|
</testcase>
|
|
52
|
-
<testcase classname="MigrationService › migrate" name="should handle v1.0 with monitoring instead of observability" time="0">
|
|
28
|
+
<testcase classname="MigrationService › migrate" name="should handle v1.0 with monitoring instead of observability" time="0.001">
|
|
53
29
|
</testcase>
|
|
54
30
|
<testcase classname="MigrationService › migrate" name="should handle v1.0 with deployment config" time="0.001">
|
|
55
31
|
</testcase>
|
|
@@ -59,101 +35,109 @@
|
|
|
59
35
|
</testcase>
|
|
60
36
|
<testcase classname="MigrationService › migrate" name="should handle existing v0.2.2 format with all fields" time="0">
|
|
61
37
|
</testcase>
|
|
62
|
-
<testcase classname="MigrationService › migrate" name="should throw for unsupported format" time="0.
|
|
38
|
+
<testcase classname="MigrationService › migrate" name="should throw for unsupported format" time="0.01">
|
|
63
39
|
</testcase>
|
|
64
40
|
</testsuite>
|
|
65
|
-
<testsuite name="
|
|
66
|
-
<testcase classname="
|
|
41
|
+
<testsuite name="ManifestRepository" errors="0" failures="0" skipped="0" timestamp="2025-12-06T01:17:15" time="0.509" tests="5">
|
|
42
|
+
<testcase classname="ManifestRepository › load" name="should load YAML manifest" time="0.01">
|
|
67
43
|
</testcase>
|
|
68
|
-
<testcase classname="
|
|
44
|
+
<testcase classname="ManifestRepository › load" name="should load JSON manifest" time="0.003">
|
|
69
45
|
</testcase>
|
|
70
|
-
<testcase classname="
|
|
46
|
+
<testcase classname="ManifestRepository › load" name="should throw for missing file" time="0.007">
|
|
71
47
|
</testcase>
|
|
72
|
-
<testcase classname="
|
|
48
|
+
<testcase classname="ManifestRepository › save" name="should save as YAML" time="0.003">
|
|
73
49
|
</testcase>
|
|
74
|
-
<testcase classname="
|
|
50
|
+
<testcase classname="ManifestRepository › save" name="should save as JSON" time="0.001">
|
|
75
51
|
</testcase>
|
|
76
|
-
|
|
52
|
+
</testsuite>
|
|
53
|
+
<testsuite name="Platform Export Integration" errors="0" failures="0" skipped="0" timestamp="2025-12-06T01:17:15" time="0.591" tests="6">
|
|
54
|
+
<testcase classname="Platform Export Integration" name="should export to Cursor format" time="0.005">
|
|
77
55
|
</testcase>
|
|
78
|
-
<testcase classname="
|
|
56
|
+
<testcase classname="Platform Export Integration" name="should export to OpenAI format" time="0">
|
|
79
57
|
</testcase>
|
|
80
|
-
<testcase classname="
|
|
58
|
+
<testcase classname="Platform Export Integration" name="should export to CrewAI format" time="0">
|
|
81
59
|
</testcase>
|
|
82
|
-
<testcase classname="
|
|
60
|
+
<testcase classname="Platform Export Integration" name="should export to Anthropic format" time="0.001">
|
|
83
61
|
</testcase>
|
|
84
|
-
<testcase classname="
|
|
62
|
+
<testcase classname="Platform Export Integration" name="should export to LangChain format" time="0">
|
|
85
63
|
</testcase>
|
|
86
|
-
<testcase classname="
|
|
64
|
+
<testcase classname="Platform Export Integration" name="should handle missing extensions gracefully" time="0">
|
|
87
65
|
</testcase>
|
|
88
|
-
|
|
66
|
+
</testsuite>
|
|
67
|
+
<testsuite name="Platform Import Integration" errors="0" failures="0" skipped="0" timestamp="2025-12-06T01:17:15" time="0.617" tests="5">
|
|
68
|
+
<testcase classname="Platform Import Integration" name="should import from Cursor format" time="0.015">
|
|
89
69
|
</testcase>
|
|
90
|
-
<testcase classname="
|
|
70
|
+
<testcase classname="Platform Import Integration" name="should import from OpenAI format" time="0">
|
|
91
71
|
</testcase>
|
|
92
|
-
<testcase classname="
|
|
72
|
+
<testcase classname="Platform Import Integration" name="should import from CrewAI format" time="0">
|
|
93
73
|
</testcase>
|
|
94
|
-
<testcase classname="
|
|
74
|
+
<testcase classname="Platform Import Integration" name="should import from Anthropic format" time="0.001">
|
|
75
|
+
</testcase>
|
|
76
|
+
<testcase classname="Platform Import Integration" name="should handle missing optional fields" time="0">
|
|
95
77
|
</testcase>
|
|
96
78
|
</testsuite>
|
|
97
|
-
<testsuite name="
|
|
98
|
-
<testcase classname="
|
|
79
|
+
<testsuite name="GenerationService" errors="0" failures="0" skipped="0" timestamp="2025-12-06T01:17:15" time="0.116" tests="3">
|
|
80
|
+
<testcase classname="GenerationService › generate" name="should generate manifest from template" time="0.001">
|
|
99
81
|
</testcase>
|
|
100
|
-
<testcase classname="
|
|
82
|
+
<testcase classname="GenerationService › generate" name="should normalize agent ID" time="0">
|
|
101
83
|
</testcase>
|
|
102
|
-
<testcase classname="
|
|
84
|
+
<testcase classname="GenerationService › generate" name="should generate with capabilities" time="0">
|
|
103
85
|
</testcase>
|
|
104
86
|
</testsuite>
|
|
105
|
-
<testsuite name="
|
|
106
|
-
<testcase classname="
|
|
87
|
+
<testsuite name="All Examples Validation" errors="0" failures="0" skipped="0" timestamp="2025-12-06T01:17:15" time="0.718" tests="5">
|
|
88
|
+
<testcase classname="All Examples Validation › kAgent examples" name="should validate all kAgent examples" time="0.094">
|
|
107
89
|
</testcase>
|
|
108
|
-
<testcase classname="
|
|
90
|
+
<testcase classname="All Examples Validation › Generated manifests" name="should validate generated chat agent" time="0.045">
|
|
109
91
|
</testcase>
|
|
110
|
-
<testcase classname="
|
|
92
|
+
<testcase classname="All Examples Validation › Example directory structure" name="should have examples directory" time="0">
|
|
111
93
|
</testcase>
|
|
112
|
-
<testcase classname="
|
|
94
|
+
<testcase classname="All Examples Validation › Example directory structure" name="should have kagent examples" time="0">
|
|
113
95
|
</testcase>
|
|
114
|
-
<testcase classname="
|
|
96
|
+
<testcase classname="All Examples Validation › Example directory structure" name="should have kagent example files" time="0.001">
|
|
115
97
|
</testcase>
|
|
116
98
|
</testsuite>
|
|
117
|
-
<testsuite name="
|
|
118
|
-
<testcase classname="
|
|
99
|
+
<testsuite name="GitHubSyncService" errors="0" failures="0" skipped="0" timestamp="2025-12-06T01:17:15" time="0.204" tests="2">
|
|
100
|
+
<testcase classname="GitHubSyncService" name="should validate config with Zod" time="0.002">
|
|
119
101
|
</testcase>
|
|
120
|
-
<testcase classname="
|
|
102
|
+
<testcase classname="GitHubSyncService" name="should reject invalid config" time="0.025">
|
|
121
103
|
</testcase>
|
|
122
|
-
|
|
104
|
+
</testsuite>
|
|
105
|
+
<testsuite name="Schema Validation Integration" errors="0" failures="0" skipped="0" timestamp="2025-12-06T01:17:15" time="0.715" tests="4">
|
|
106
|
+
<testcase classname="Schema Validation Integration" name="should validate all example agents" time="0.134">
|
|
123
107
|
</testcase>
|
|
124
|
-
<testcase classname="
|
|
108
|
+
<testcase classname="Schema Validation Integration" name="should validate platform extensions" time="0">
|
|
125
109
|
</testcase>
|
|
126
|
-
<testcase classname="
|
|
110
|
+
<testcase classname="Schema Validation Integration" name="should catch platform-specific validation errors" time="0.001">
|
|
127
111
|
</testcase>
|
|
128
|
-
<testcase classname="
|
|
112
|
+
<testcase classname="Schema Validation Integration" name="should validate cross-platform compatibility" time="0">
|
|
129
113
|
</testcase>
|
|
130
114
|
</testsuite>
|
|
131
|
-
<testsuite name="
|
|
132
|
-
<testcase classname="
|
|
115
|
+
<testsuite name="AutoGenValidator" errors="0" failures="0" skipped="0" timestamp="2025-12-06T01:17:15" time="0.067" tests="3">
|
|
116
|
+
<testcase classname="AutoGenValidator › validate" name="should validate manifest without autogen extension" time="0">
|
|
133
117
|
</testcase>
|
|
134
|
-
<testcase classname="
|
|
118
|
+
<testcase classname="AutoGenValidator › validate" name="should validate with disabled autogen" time="0">
|
|
135
119
|
</testcase>
|
|
136
|
-
<testcase classname="
|
|
120
|
+
<testcase classname="AutoGenValidator › validate" name="should validate with valid autogen config" time="0">
|
|
137
121
|
</testcase>
|
|
138
122
|
</testsuite>
|
|
139
|
-
<testsuite name="
|
|
140
|
-
<testcase classname="
|
|
123
|
+
<testsuite name="OpenAIAdapter" errors="0" failures="0" skipped="0" timestamp="2025-12-06T01:17:15" time="0.21" tests="5">
|
|
124
|
+
<testcase classname="OpenAIAdapter › initialize" name="should initialize without error" time="0.001">
|
|
141
125
|
</testcase>
|
|
142
|
-
<testcase classname="
|
|
126
|
+
<testcase classname="OpenAIAdapter › registerToolHandler" name="should register tool handler" time="0">
|
|
143
127
|
</testcase>
|
|
144
|
-
<testcase classname="
|
|
128
|
+
<testcase classname="OpenAIAdapter › registerToolHandler" name="should register multiple handlers" time="0">
|
|
145
129
|
</testcase>
|
|
146
|
-
<testcase classname="
|
|
130
|
+
<testcase classname="OpenAIAdapter › getAgentInfo" name="should return agent info" time="0.001">
|
|
147
131
|
</testcase>
|
|
148
|
-
<testcase classname="
|
|
132
|
+
<testcase classname="OpenAIAdapter › getAgentInfo" name="should return empty tools array when no tools configured" time="0">
|
|
149
133
|
</testcase>
|
|
150
134
|
</testsuite>
|
|
151
|
-
<testsuite name="OpenAIValidator" errors="0" failures="0" skipped="0" timestamp="2025-12-
|
|
135
|
+
<testsuite name="OpenAIValidator" errors="0" failures="0" skipped="0" timestamp="2025-12-06T01:17:15" time="0.073" tests="6">
|
|
152
136
|
<testcase classname="OpenAIValidator" name="should validate valid OpenAI extension" time="0.001">
|
|
153
137
|
</testcase>
|
|
154
138
|
<testcase classname="OpenAIValidator" name="should reject invalid model" time="0">
|
|
155
139
|
</testcase>
|
|
156
|
-
<testcase classname="OpenAIValidator" name="should validate all valid models" time="0
|
|
140
|
+
<testcase classname="OpenAIValidator" name="should validate all valid models" time="0">
|
|
157
141
|
</testcase>
|
|
158
142
|
<testcase classname="OpenAIValidator" name="should reject invalid guardrails values" time="0">
|
|
159
143
|
</testcase>
|
|
@@ -162,138 +146,192 @@
|
|
|
162
146
|
<testcase classname="OpenAIValidator" name="should reject invalid memory type" time="0">
|
|
163
147
|
</testcase>
|
|
164
148
|
</testsuite>
|
|
165
|
-
<testsuite name="
|
|
166
|
-
<testcase classname="
|
|
149
|
+
<testsuite name="SchemaRepository" errors="0" failures="0" skipped="0" timestamp="2025-12-06T01:17:15" time="0.065" tests="8">
|
|
150
|
+
<testcase classname="SchemaRepository › getAvailableVersions" name="should return array of versions" time="0.002">
|
|
151
|
+
</testcase>
|
|
152
|
+
<testcase classname="SchemaRepository › getAvailableVersions" name="should cache versions on subsequent calls" time="0.001">
|
|
153
|
+
</testcase>
|
|
154
|
+
<testcase classname="SchemaRepository › getCurrentVersion" name="should return current version" time="0.001">
|
|
155
|
+
</testcase>
|
|
156
|
+
<testcase classname="SchemaRepository › getSchema" name="should load schema for valid version" time="0.001">
|
|
157
|
+
</testcase>
|
|
158
|
+
<testcase classname="SchemaRepository › getSchema" name="should cache schema after first load" time="0">
|
|
167
159
|
</testcase>
|
|
168
|
-
<testcase classname="
|
|
160
|
+
<testcase classname="SchemaRepository › getSchema" name="should load different versions" time="0.001">
|
|
169
161
|
</testcase>
|
|
170
|
-
<testcase classname="
|
|
162
|
+
<testcase classname="SchemaRepository › getSchema" name="should throw for invalid version" time="0.01">
|
|
171
163
|
</testcase>
|
|
172
|
-
<testcase classname="
|
|
164
|
+
<testcase classname="SchemaRepository › clearCache" name="should clear cached schemas" time="0.002">
|
|
173
165
|
</testcase>
|
|
174
166
|
</testsuite>
|
|
175
|
-
<testsuite name="
|
|
176
|
-
<testcase classname="
|
|
167
|
+
<testsuite name="Run Command" errors="0" failures="0" skipped="0" timestamp="2025-12-06T01:17:16" time="0.024" tests="15">
|
|
168
|
+
<testcase classname="Run Command › Validation" name="should validate manifest by default" time="0">
|
|
177
169
|
</testcase>
|
|
178
|
-
<testcase classname="
|
|
170
|
+
<testcase classname="Run Command › Validation" name="should exit with error code 1 when validation fails" time="0">
|
|
179
171
|
</testcase>
|
|
180
|
-
<testcase classname="
|
|
172
|
+
<testcase classname="Run Command › Validation" name="should skip validation when --no-validate is used" time="0">
|
|
181
173
|
</testcase>
|
|
182
|
-
<testcase classname="
|
|
174
|
+
<testcase classname="Run Command › Runtime Selection" name="should use openai runtime by default" time="0.001">
|
|
183
175
|
</testcase>
|
|
184
|
-
<testcase classname="
|
|
176
|
+
<testcase classname="Run Command › Runtime Selection" name="should exit with error for unsupported runtime" time="0">
|
|
185
177
|
</testcase>
|
|
186
|
-
<testcase classname="
|
|
178
|
+
<testcase classname="Run Command › API Key Validation" name="should exit with error when OPENAI_API_KEY is not set" time="0">
|
|
179
|
+
</testcase>
|
|
180
|
+
<testcase classname="Run Command › API Key Validation" name="should proceed when OPENAI_API_KEY is set" time="0">
|
|
181
|
+
</testcase>
|
|
182
|
+
<testcase classname="Run Command › Single Message Mode" name="should execute single message and exit" time="0">
|
|
183
|
+
</testcase>
|
|
184
|
+
<testcase classname="Run Command › Single Message Mode" name="should pass verbose option to chat" time="0.001">
|
|
185
|
+
</testcase>
|
|
186
|
+
<testcase classname="Run Command › Single Message Mode" name="should pass maxTurns option to chat" time="0">
|
|
187
|
+
</testcase>
|
|
188
|
+
<testcase classname="Run Command › Error Handling" name="should handle manifest loading errors" time="0">
|
|
189
|
+
</testcase>
|
|
190
|
+
<testcase classname="Run Command › Error Handling" name="should handle chat errors gracefully" time="0">
|
|
191
|
+
</testcase>
|
|
192
|
+
<testcase classname="Run Command › Error Handling" name="should show stack trace in verbose mode" time="0">
|
|
193
|
+
</testcase>
|
|
194
|
+
<testcase classname="Run Command › Agent Info Display" name="should display agent name and model" time="0">
|
|
195
|
+
</testcase>
|
|
196
|
+
<testcase classname="Run Command › Agent Info Display" name="should display available tools" time="0.001">
|
|
197
|
+
</testcase>
|
|
198
|
+
</testsuite>
|
|
199
|
+
<testsuite name="AgentsMdExtension Schema" errors="0" failures="0" skipped="0" timestamp="2025-12-06T01:17:16" time="0.025" tests="11">
|
|
200
|
+
<testcase classname="AgentsMdExtension Schema" name="should accept valid agents_md extension" time="0">
|
|
201
|
+
</testcase>
|
|
202
|
+
<testcase classname="AgentsMdExtension Schema" name="should accept full agents_md configuration" time="0">
|
|
203
|
+
</testcase>
|
|
204
|
+
<testcase classname="AgentsMdExtension Schema" name="should support section source mappings" time="0">
|
|
205
|
+
</testcase>
|
|
206
|
+
<testcase classname="AgentsMdExtension Schema" name="should support custom output paths" time="0">
|
|
187
207
|
</testcase>
|
|
188
|
-
<testcase classname="
|
|
208
|
+
<testcase classname="AgentsMdExtension Schema" name="should support nested files for monorepos" time="0">
|
|
189
209
|
</testcase>
|
|
190
|
-
<testcase classname="
|
|
210
|
+
<testcase classname="AgentsMdExtension Schema" name="should support Cursor integration flag" time="0">
|
|
211
|
+
</testcase>
|
|
212
|
+
<testcase classname="AgentsMdSection Schema" name="should accept all section properties" time="0">
|
|
213
|
+
</testcase>
|
|
214
|
+
<testcase classname="AgentsMdSection Schema" name="should allow section with only custom content" time="0.001">
|
|
215
|
+
</testcase>
|
|
216
|
+
<testcase classname="AgentsMdSection Schema" name="should allow section with only source mapping" time="0">
|
|
217
|
+
</testcase>
|
|
218
|
+
<testcase classname="Bidirectional Mapping" name="should define OSSA to agents.md mappings" time="0">
|
|
219
|
+
</testcase>
|
|
220
|
+
<testcase classname="Bidirectional Mapping" name="should support agents.md to OSSA parsing" time="0">
|
|
191
221
|
</testcase>
|
|
192
222
|
</testsuite>
|
|
193
|
-
<testsuite name="
|
|
194
|
-
<testcase classname="
|
|
223
|
+
<testsuite name="LangChainValidator" errors="0" failures="0" skipped="0" timestamp="2025-12-06T01:17:15" time="0.046" tests="8">
|
|
224
|
+
<testcase classname="LangChainValidator" name="should validate valid LangChain extension" time="0">
|
|
195
225
|
</testcase>
|
|
196
|
-
<testcase classname="
|
|
226
|
+
<testcase classname="LangChainValidator" name="should validate all chain types" time="0">
|
|
197
227
|
</testcase>
|
|
198
|
-
<testcase classname="
|
|
228
|
+
<testcase classname="LangChainValidator" name="should reject invalid chain_type" time="0">
|
|
199
229
|
</testcase>
|
|
200
|
-
<testcase classname="
|
|
230
|
+
<testcase classname="LangChainValidator" name="should validate memory types" time="0.001">
|
|
201
231
|
</testcase>
|
|
202
|
-
<testcase classname="
|
|
232
|
+
<testcase classname="LangChainValidator" name="should reject invalid memory type" time="0">
|
|
233
|
+
</testcase>
|
|
234
|
+
<testcase classname="LangChainValidator" name="should validate callbacks array" time="0">
|
|
235
|
+
</testcase>
|
|
236
|
+
<testcase classname="LangChainValidator" name="should reject invalid callbacks type" time="0">
|
|
237
|
+
</testcase>
|
|
238
|
+
<testcase classname="LangChainValidator" name="should return warnings for missing memory" time="0">
|
|
203
239
|
</testcase>
|
|
204
240
|
</testsuite>
|
|
205
|
-
<testsuite name="
|
|
206
|
-
<testcase classname="
|
|
241
|
+
<testsuite name="agents.md Extension Integration" errors="0" failures="0" skipped="0" timestamp="2025-12-06T01:17:15" time="0.757" tests="6">
|
|
242
|
+
<testcase classname="agents.md Extension Integration" name="should validate agents_md extension in manifest" time="0.158">
|
|
207
243
|
</testcase>
|
|
208
|
-
<testcase classname="
|
|
244
|
+
<testcase classname="agents.md Extension Integration" name="should validate agents_md with Cursor extension integration" time="0">
|
|
209
245
|
</testcase>
|
|
210
|
-
<testcase classname="
|
|
246
|
+
<testcase classname="agents.md Extension Integration" name="should validate agents_md with nested files for monorepo" time="0">
|
|
211
247
|
</testcase>
|
|
212
|
-
<testcase classname="
|
|
248
|
+
<testcase classname="agents.md Extension Integration" name="should validate agents_md with bidirectional mapping" time="0.001">
|
|
213
249
|
</testcase>
|
|
214
|
-
<testcase classname="
|
|
250
|
+
<testcase classname="agents.md Extension Integration" name="should validate agents_md example manifests" time="0.009">
|
|
251
|
+
</testcase>
|
|
252
|
+
<testcase classname="agents.md Extension Integration" name="should validate custom sections array" time="0">
|
|
215
253
|
</testcase>
|
|
216
254
|
</testsuite>
|
|
217
|
-
<testsuite name="ValidationService" errors="0" failures="0" skipped="0" timestamp="2025-12-
|
|
218
|
-
<testcase classname="ValidationService › validate" name="should validate valid manifest" time="0.
|
|
255
|
+
<testsuite name="ValidationService" errors="0" failures="0" skipped="0" timestamp="2025-12-06T01:17:15" time="0.929" tests="8">
|
|
256
|
+
<testcase classname="ValidationService › validate" name="should validate valid manifest" time="0.112">
|
|
219
257
|
</testcase>
|
|
220
|
-
<testcase classname="ValidationService › validate" name="should reject invalid manifest" time="0.
|
|
258
|
+
<testcase classname="ValidationService › validate" name="should reject invalid manifest" time="0.106">
|
|
221
259
|
</testcase>
|
|
222
|
-
<testcase classname="ValidationService › validate" name="should validate with specific version" time="0.
|
|
260
|
+
<testcase classname="ValidationService › validate" name="should validate with specific version" time="0.042">
|
|
223
261
|
</testcase>
|
|
224
|
-
<testcase classname="ValidationService › validate" name="should use current version when not specified" time="0.
|
|
262
|
+
<testcase classname="ValidationService › validate" name="should use current version when not specified" time="0.033">
|
|
225
263
|
</testcase>
|
|
226
|
-
<testcase classname="ValidationService › validateMany" name="should validate multiple manifests" time="0.
|
|
264
|
+
<testcase classname="ValidationService › validateMany" name="should validate multiple manifests" time="0.045">
|
|
227
265
|
</testcase>
|
|
228
|
-
<testcase classname="ValidationService › validateMany" name="should handle mixed valid and invalid manifests" time="0.
|
|
266
|
+
<testcase classname="ValidationService › validateMany" name="should handle mixed valid and invalid manifests" time="0.032">
|
|
229
267
|
</testcase>
|
|
230
|
-
<testcase classname="ValidationService › validateMany" name="should handle empty array" time="0">
|
|
268
|
+
<testcase classname="ValidationService › validateMany" name="should handle empty array" time="0.001">
|
|
231
269
|
</testcase>
|
|
232
|
-
<testcase classname="ValidationService › validateMany" name="should use specified version" time="0.
|
|
270
|
+
<testcase classname="ValidationService › validateMany" name="should use specified version" time="0.03">
|
|
233
271
|
</testcase>
|
|
234
272
|
</testsuite>
|
|
235
|
-
<testsuite name="ossa validate command" errors="0" failures="0" skipped="0" timestamp="2025-12-
|
|
236
|
-
<testcase classname="ossa validate command" name="should validate a correct v1.0 manifest" time="0.
|
|
273
|
+
<testsuite name="ossa validate command" errors="0" failures="0" skipped="0" timestamp="2025-12-06T01:17:15" time="1.508" tests="4">
|
|
274
|
+
<testcase classname="ossa validate command" name="should validate a correct v1.0 manifest" time="0.512">
|
|
237
275
|
</testcase>
|
|
238
|
-
<testcase classname="ossa validate command" name="should report validation errors for invalid manifest" time="0.
|
|
276
|
+
<testcase classname="ossa validate command" name="should report validation errors for invalid manifest" time="0.233">
|
|
239
277
|
</testcase>
|
|
240
|
-
<testcase classname="ossa validate command" name="should show verbose output when requested" time="0.
|
|
278
|
+
<testcase classname="ossa validate command" name="should show verbose output when requested" time="0.228">
|
|
241
279
|
</testcase>
|
|
242
|
-
<testcase classname="ossa validate command" name="should show warnings for missing best practices" time="0.
|
|
280
|
+
<testcase classname="ossa validate command" name="should show warnings for missing best practices" time="0.227">
|
|
243
281
|
</testcase>
|
|
244
282
|
</testsuite>
|
|
245
|
-
<testsuite name="ossa generate command" errors="0" failures="0" skipped="0" timestamp="2025-12-
|
|
246
|
-
<testcase classname="ossa generate command" name="should generate a chat agent" time="0.
|
|
283
|
+
<testsuite name="ossa generate command" errors="0" failures="0" skipped="0" timestamp="2025-12-06T01:17:15" time="1.586" tests="6">
|
|
284
|
+
<testcase classname="ossa generate command" name="should generate a chat agent" time="0.389">
|
|
247
285
|
</testcase>
|
|
248
|
-
<testcase classname="ossa generate command" name="should generate workflow agent with correct capabilities" time="0.
|
|
286
|
+
<testcase classname="ossa generate command" name="should generate workflow agent with correct capabilities" time="0.178">
|
|
249
287
|
</testcase>
|
|
250
|
-
<testcase classname="ossa generate command" name="should generate compliance agent with low temperature" time="0.
|
|
288
|
+
<testcase classname="ossa generate command" name="should generate compliance agent with low temperature" time="0.165">
|
|
251
289
|
</testcase>
|
|
252
|
-
<testcase classname="ossa generate command" name="should use custom runtime type" time="0.
|
|
290
|
+
<testcase classname="ossa generate command" name="should use custom runtime type" time="0.163">
|
|
253
291
|
</testcase>
|
|
254
|
-
<testcase classname="ossa generate command" name="should normalize agent ID" time="0.
|
|
292
|
+
<testcase classname="ossa generate command" name="should normalize agent ID" time="0.165">
|
|
255
293
|
</testcase>
|
|
256
|
-
<testcase classname="ossa generate command" name="should create output directory if it does not exist" time="0.
|
|
294
|
+
<testcase classname="ossa generate command" name="should create output directory if it does not exist" time="0.157">
|
|
257
295
|
</testcase>
|
|
258
296
|
</testsuite>
|
|
259
|
-
<testsuite name="Full Workflow E2E" errors="0" failures="0" skipped="0" timestamp="2025-12-
|
|
260
|
-
<testcase classname="Full Workflow E2E" name="should complete workflow: generate → validate" time="0.
|
|
297
|
+
<testsuite name="Full Workflow E2E" errors="0" failures="0" skipped="0" timestamp="2025-12-06T01:17:15" time="2.468" tests="3">
|
|
298
|
+
<testcase classname="Full Workflow E2E" name="should complete workflow: generate → validate" time="0.7">
|
|
261
299
|
</testcase>
|
|
262
|
-
<testcase classname="Full Workflow E2E" name="should complete workflow: generate multiple → validate all" time="1.
|
|
300
|
+
<testcase classname="Full Workflow E2E" name="should complete workflow: generate multiple → validate all" time="1.123">
|
|
263
301
|
</testcase>
|
|
264
|
-
<testcase classname="Full Workflow E2E" name="should handle full development cycle" time="0.
|
|
302
|
+
<testcase classname="Full Workflow E2E" name="should handle full development cycle" time="0.345">
|
|
265
303
|
</testcase>
|
|
266
304
|
</testsuite>
|
|
267
|
-
<testsuite name="ossa run command" errors="0" failures="0" skipped="0" timestamp="2025-12-
|
|
268
|
-
<testcase classname="ossa run command › Validation" name="should validate manifest before running" time="0.
|
|
305
|
+
<testsuite name="ossa run command" errors="0" failures="0" skipped="0" timestamp="2025-12-06T01:17:15" time="7.869" tests="15">
|
|
306
|
+
<testcase classname="ossa run command › Validation" name="should validate manifest before running" time="0.896">
|
|
269
307
|
</testcase>
|
|
270
|
-
<testcase classname="ossa run command › Validation" name="should skip validation with --no-validate flag" time="0.
|
|
308
|
+
<testcase classname="ossa run command › Validation" name="should skip validation with --no-validate flag" time="0.525">
|
|
271
309
|
</testcase>
|
|
272
|
-
<testcase classname="ossa run command › API Key Validation" name="should exit with error when OPENAI_API_KEY is not set" time="0.
|
|
310
|
+
<testcase classname="ossa run command › API Key Validation" name="should exit with error when OPENAI_API_KEY is not set" time="0.206">
|
|
273
311
|
</testcase>
|
|
274
|
-
<testcase classname="ossa run command › Runtime Selection" name="should use openai runtime by default" time="0.
|
|
312
|
+
<testcase classname="ossa run command › Runtime Selection" name="should use openai runtime by default" time="0.531">
|
|
275
313
|
</testcase>
|
|
276
|
-
<testcase classname="ossa run command › Runtime Selection" name="should reject unsupported runtime" time="0.
|
|
314
|
+
<testcase classname="ossa run command › Runtime Selection" name="should reject unsupported runtime" time="0.199">
|
|
277
315
|
</testcase>
|
|
278
|
-
<testcase classname="ossa run command › Single Message Mode" name="should accept -m flag for single message" time="
|
|
316
|
+
<testcase classname="ossa run command › Single Message Mode" name="should accept -m flag for single message" time="1.706">
|
|
279
317
|
</testcase>
|
|
280
|
-
<testcase classname="ossa run command › Single Message Mode" name="should accept --message flag for single message" time="0.
|
|
318
|
+
<testcase classname="ossa run command › Single Message Mode" name="should accept --message flag for single message" time="0.51">
|
|
281
319
|
</testcase>
|
|
282
|
-
<testcase classname="ossa run command › Verbose Mode" name="should accept -v flag for verbose output" time="0.
|
|
320
|
+
<testcase classname="ossa run command › Verbose Mode" name="should accept -v flag for verbose output" time="0.529">
|
|
283
321
|
</testcase>
|
|
284
|
-
<testcase classname="ossa run command › Verbose Mode" name="should accept --verbose flag" time="0.
|
|
322
|
+
<testcase classname="ossa run command › Verbose Mode" name="should accept --verbose flag" time="0.522">
|
|
285
323
|
</testcase>
|
|
286
|
-
<testcase classname="ossa run command › Max Turns Option" name="should accept --max-turns flag" time="0.
|
|
324
|
+
<testcase classname="ossa run command › Max Turns Option" name="should accept --max-turns flag" time="0.534">
|
|
287
325
|
</testcase>
|
|
288
|
-
<testcase classname="ossa run command › Error Handling" name="should handle missing manifest file" time="0.
|
|
326
|
+
<testcase classname="ossa run command › Error Handling" name="should handle missing manifest file" time="0.142">
|
|
289
327
|
</testcase>
|
|
290
|
-
<testcase classname="ossa run command › Error Handling" name="should handle invalid YAML" time="0.
|
|
328
|
+
<testcase classname="ossa run command › Error Handling" name="should handle invalid YAML" time="0.143">
|
|
291
329
|
</testcase>
|
|
292
|
-
<testcase classname="ossa run command › Error Handling" name="should handle invalid JSON" time="0.
|
|
330
|
+
<testcase classname="ossa run command › Error Handling" name="should handle invalid JSON" time="0.142">
|
|
293
331
|
</testcase>
|
|
294
|
-
<testcase classname="ossa run command › Agent Info Display" name="should display agent name when loading" time="0.
|
|
332
|
+
<testcase classname="ossa run command › Agent Info Display" name="should display agent name when loading" time="0.49">
|
|
295
333
|
</testcase>
|
|
296
|
-
<testcase classname="ossa run command › Example Manifests" name="should run with example OpenAI agent" time="0.
|
|
334
|
+
<testcase classname="ossa run command › Example Manifests" name="should run with example OpenAI agent" time="0.487">
|
|
297
335
|
</testcase>
|
|
298
336
|
</testsuite>
|
|
299
337
|
</testsuites>
|
|
@@ -1,33 +0,0 @@
|
|
|
1
|
-
name: PR Comment
|
|
2
|
-
|
|
3
|
-
on:
|
|
4
|
-
pull_request:
|
|
5
|
-
types: [opened]
|
|
6
|
-
|
|
7
|
-
jobs:
|
|
8
|
-
comment:
|
|
9
|
-
runs-on: ubuntu-latest
|
|
10
|
-
steps:
|
|
11
|
-
- name: Comment on PR
|
|
12
|
-
uses: actions/github-script@v7
|
|
13
|
-
with:
|
|
14
|
-
script: |
|
|
15
|
-
github.rest.issues.createComment({
|
|
16
|
-
issue_number: context.issue.number,
|
|
17
|
-
owner: context.repo.owner,
|
|
18
|
-
repo: context.repo.repo,
|
|
19
|
-
body: `👋 Thanks for your contribution!
|
|
20
|
-
|
|
21
|
-
**Review Process:**
|
|
22
|
-
1. We'll review your PR here on GitHub
|
|
23
|
-
2. If approved, we'll sync it to our internal GitLab for final testing
|
|
24
|
-
3. Once merged on GitLab, changes will automatically sync back here
|
|
25
|
-
4. Your PR will auto-close when the changes appear in main
|
|
26
|
-
|
|
27
|
-
**Timeline:** We aim to review within 48 hours.
|
|
28
|
-
|
|
29
|
-
**Questions?** Feel free to ask in the comments or join our [Discord](https://discord.gg/ossa).
|
|
30
|
-
|
|
31
|
-
---
|
|
32
|
-
*This is a public mirror of our GitLab repository. Development happens at [gitlab.com/blueflyio/openstandardagents](https://gitlab.com/blueflyio/openstandardagents).*`
|
|
33
|
-
})
|