@bluefly/openstandardagents 0.3.0 → 0.3.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.
- package/CHANGELOG.md +1 -1
- package/README.md +58 -218
- package/dist/cli/commands/diff.command.d.ts +7 -0
- package/dist/cli/commands/diff.command.d.ts.map +1 -0
- package/dist/cli/commands/diff.command.js +181 -0
- package/dist/cli/commands/diff.command.js.map +1 -0
- package/dist/cli/commands/docs.command.d.ts +7 -0
- package/dist/cli/commands/docs.command.d.ts.map +1 -0
- package/dist/cli/commands/docs.command.js +274 -0
- package/dist/cli/commands/docs.command.js.map +1 -0
- package/dist/cli/commands/lint.command.d.ts +7 -0
- package/dist/cli/commands/lint.command.d.ts.map +1 -0
- package/dist/cli/commands/lint.command.js +342 -0
- package/dist/cli/commands/lint.command.js.map +1 -0
- package/dist/cli/commands/serve.command.d.ts +7 -0
- package/dist/cli/commands/serve.command.d.ts.map +1 -0
- package/dist/cli/commands/serve.command.js +232 -0
- package/dist/cli/commands/serve.command.js.map +1 -0
- package/dist/cli/index.js +4 -0
- package/dist/cli/index.js.map +1 -1
- package/dist/di-container.d.ts.map +1 -1
- package/dist/di-container.js +3 -0
- package/dist/di-container.js.map +1 -1
- package/dist/services/git.service.d.ts +40 -0
- package/dist/services/git.service.d.ts.map +1 -0
- package/dist/services/git.service.js +122 -0
- package/dist/services/git.service.js.map +1 -0
- package/dist/spec/v0.3.1/UNIFIED-SCHEMA.md +120 -0
- package/dist/spec/v0.3.1/adapters/drupal.md +541 -0
- package/dist/spec/v0.3.1/adapters/symfony.md +659 -0
- package/dist/spec/v0.3.1/agent-test.schema.json +75 -0
- package/dist/spec/v0.3.1/examples/drupal-content-writer.ossa.yaml +110 -0
- package/dist/spec/v0.3.1/examples/drupal-moderation-assistant.ossa.yaml +96 -0
- package/dist/spec/v0.3.1/examples/quick-wins/complete-agent-with-quick-wins.ossa.yaml +144 -0
- package/dist/spec/v0.3.1/extensions/drupal.md +417 -0
- package/dist/spec/v0.3.1/ossa-0.3.0.schema.json +2787 -0
- package/dist/spec/v0.3.1/ossa-0.3.1.schema.json +2806 -0
- package/dist/spec/v0.3.1/protocols/sse.md +494 -0
- package/dist/spec/v0.3.1/protocols/webrtc.md +600 -0
- package/dist/spec/v0.3.1/protocols/websocket.md +362 -0
- package/dist/spec/v0.3.1/schemas/agent-unified.yaml +165 -0
- package/dist/spec/v0.3.1/schemas/capabilities.yaml +102 -0
- package/dist/spec/v0.3.1/schemas/functions.yaml +75 -0
- package/dist/spec/v0.3.1/schemas/messaging/channel.schema.json +245 -0
- package/dist/spec/v0.3.1/schemas/messaging/delivery-receipt.schema.json +192 -0
- package/dist/spec/v0.3.1/schemas/messaging/message.schema.json +205 -0
- package/dist/spec/v0.3.1/schemas/messaging/subscription.schema.json +214 -0
- package/dist/spec/v0.3.1/schemas/runtime.yaml +102 -0
- package/dist/spec/v0.3.1/schemas/taxonomy.yaml +533 -0
- package/dist/spec/v0.3.1/schemas/unified-llm.yaml +91 -0
- package/dist/spec/v0.3.1/taxonomy.yaml +256 -0
- package/dist/testing/fixtures.d.ts.map +1 -1
- package/dist/testing/fixtures.js +3 -2
- package/dist/testing/fixtures.js.map +1 -1
- package/package.json +3 -31
- package/spec/v0.3.1/UNIFIED-SCHEMA.md +120 -0
- package/spec/v0.3.1/adapters/drupal.md +541 -0
- package/spec/v0.3.1/adapters/symfony.md +659 -0
- package/spec/v0.3.1/agent-test.schema.json +75 -0
- package/spec/v0.3.1/examples/drupal-content-writer.ossa.yaml +110 -0
- package/spec/v0.3.1/examples/drupal-moderation-assistant.ossa.yaml +96 -0
- package/spec/v0.3.1/examples/quick-wins/complete-agent-with-quick-wins.ossa.yaml +144 -0
- package/spec/v0.3.1/extensions/drupal.md +417 -0
- package/spec/v0.3.1/ossa-0.3.0.schema.json +2787 -0
- package/spec/v0.3.1/ossa-0.3.1.schema.json +2806 -0
- package/spec/v0.3.1/protocols/sse.md +494 -0
- package/spec/v0.3.1/protocols/webrtc.md +600 -0
- package/spec/v0.3.1/protocols/websocket.md +362 -0
- package/spec/v0.3.1/schemas/agent-unified.yaml +165 -0
- package/spec/v0.3.1/schemas/capabilities.yaml +102 -0
- package/spec/v0.3.1/schemas/functions.yaml +75 -0
- package/spec/v0.3.1/schemas/messaging/channel.schema.json +245 -0
- package/spec/v0.3.1/schemas/messaging/delivery-receipt.schema.json +192 -0
- package/spec/v0.3.1/schemas/messaging/message.schema.json +205 -0
- package/spec/v0.3.1/schemas/messaging/subscription.schema.json +214 -0
- package/spec/v0.3.1/schemas/runtime.yaml +102 -0
- package/spec/v0.3.1/schemas/taxonomy.yaml +533 -0
- package/spec/v0.3.1/schemas/unified-llm.yaml +91 -0
- package/spec/v0.3.1/taxonomy.yaml +256 -0
- package/dist/types/generated/ossa-0.3.0.types.d.ts +0 -316
- package/dist/types/generated/ossa-0.3.0.types.d.ts.map +0 -1
- package/dist/types/generated/ossa-0.3.0.types.js +0 -8
- package/dist/types/generated/ossa-0.3.0.types.js.map +0 -1
- package/dist/types/generated/ossa-0.3.0.zod.d.ts +0 -17
- package/dist/types/generated/ossa-0.3.0.zod.d.ts.map +0 -1
- package/dist/types/generated/ossa-0.3.0.zod.js +0 -3
- package/dist/types/generated/ossa-0.3.0.zod.js.map +0 -1
package/CHANGELOG.md
CHANGED
|
@@ -5,7 +5,7 @@ All notable changes to OSSA (Open Standard for Scalable AI Agents) will be docum
|
|
|
5
5
|
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.1.0/),
|
|
6
6
|
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
|
|
7
7
|
|
|
8
|
-
## [
|
|
8
|
+
## [v0.3.0] - 2025-12-22
|
|
9
9
|
|
|
10
10
|
### Fixed
|
|
11
11
|
|
package/README.md
CHANGED
|
@@ -12,14 +12,20 @@
|
|
|
12
12
|
|
|
13
13
|
### **The OpenAPI of AI Agents**
|
|
14
14
|
|
|
15
|
-
*Define once, deploy anywhere. A vendor-neutral specification for portable, composable, and
|
|
15
|
+
*Define once, deploy anywhere. A vendor-neutral specification for portable, composable, and
|
|
16
|
+
compliant AI agents.*
|
|
16
17
|
|
|
17
18
|
[](https://opensource.org/licenses/Apache-2.0)
|
|
18
|
-
[](https://www.npmjs.com/package/@bluefly/openstandardagents)
|
|
21
|
+
[](https://gitlab.com/blueflyio/openstandardagents/-/pipelines)
|
|
23
|
+
[](https://www.npmjs.com/package/@bluefly/openstandardagents)
|
|
21
25
|
|
|
22
|
-
[**Quick Start**](#quick-start-under-60-seconds) •
|
|
26
|
+
[**Quick Start**](#quick-start-under-60-seconds) •
|
|
27
|
+
[**Documentation**](https://openstandardagents.org/docs/) •
|
|
28
|
+
[**Examples**](https://openstandardagents.org/examples/) • [**Community**](#community)
|
|
23
29
|
|
|
24
30
|
</div>
|
|
25
31
|
|
|
@@ -27,42 +33,30 @@
|
|
|
27
33
|
|
|
28
34
|
## Why OSSA?
|
|
29
35
|
|
|
30
|
-
<table>
|
|
31
|
-
<tr>
|
|
32
|
-
<td width="25%">
|
|
33
|
-
|
|
34
36
|
### 🔄 Portability
|
|
35
37
|
**One manifest, any provider**
|
|
36
38
|
|
|
37
|
-
Switch between OpenAI, Anthropic, Azure, or Ollama without changing a single line of code. Runtime
|
|
38
|
-
|
|
39
|
-
</td>
|
|
40
|
-
<td width="25%">
|
|
39
|
+
Switch between OpenAI, Anthropic, Azure, or Ollama without changing a single line of code. Runtime
|
|
40
|
+
bindings abstract implementation from definition.
|
|
41
41
|
|
|
42
42
|
### 🧩 Composability
|
|
43
43
|
**Build workflows from agents**
|
|
44
44
|
|
|
45
|
-
Compose agents into workflows with parallel execution, conditional branching, and loop control.
|
|
46
|
-
|
|
47
|
-
</td>
|
|
48
|
-
<td width="25%">
|
|
45
|
+
Compose agents into workflows with parallel execution, conditional branching, and loop control.
|
|
46
|
+
Orchestrate complex multi-agent systems declaratively.
|
|
49
47
|
|
|
50
48
|
### 🛡️ Safety
|
|
51
49
|
**Built-in guardrails**
|
|
52
50
|
|
|
53
|
-
Enterprise-grade compliance out of the box. SOC2, FedRAMP, HIPAA, and GDPR controls are first-class
|
|
54
|
-
|
|
55
|
-
</td>
|
|
56
|
-
<td width="25%">
|
|
51
|
+
Enterprise-grade compliance out of the box. SOC2, FedRAMP, HIPAA, and GDPR controls are first-class
|
|
52
|
+
schema properties, not afterthoughts.
|
|
57
53
|
|
|
58
54
|
### 📊 Observability
|
|
59
55
|
**Full visibility**
|
|
60
56
|
|
|
61
|
-
Native OpenTelemetry tracing, structured logging, cost tracking, and performance metrics. Know
|
|
57
|
+
Native OpenTelemetry tracing, structured logging, cost tracking, and performance metrics. Know
|
|
58
|
+
exactly what your agents are doing and what they cost.
|
|
62
59
|
|
|
63
|
-
</td>
|
|
64
|
-
</tr>
|
|
65
|
-
</table>
|
|
66
60
|
|
|
67
61
|
---
|
|
68
62
|
|
|
@@ -107,7 +101,9 @@ That's it. You now have a working AI agent defined in a portable, standard forma
|
|
|
107
101
|
|
|
108
102
|
## What is OSSA?
|
|
109
103
|
|
|
110
|
-
**OSSA** (Open Standard for Scalable AI Agents) is a **specification standard** for defining AI
|
|
104
|
+
**OSSA** (Open Standard for Scalable AI Agents) is a **specification standard** for defining AI
|
|
105
|
+
agents in a vendor-neutral, portable format—like OpenAPI for REST APIs or Kubernetes manifests for
|
|
106
|
+
containers.
|
|
111
107
|
|
|
112
108
|
OSSA is **NOT** a framework. It's a standard that frameworks implement.
|
|
113
109
|
|
|
@@ -115,18 +111,11 @@ OSSA is **NOT** a framework. It's a standard that frameworks implement.
|
|
|
115
111
|
|
|
116
112
|
OSSA defines three resource types:
|
|
117
113
|
|
|
118
|
-
|
|
119
|
-
<tr>
|
|
120
|
-
<th width="33%">Agent</th>
|
|
121
|
-
<th width="33%">Task</th>
|
|
122
|
-
<th width="33%">Workflow</th>
|
|
123
|
-
</tr>
|
|
124
|
-
<tr>
|
|
125
|
-
<td>
|
|
126
|
-
|
|
114
|
+
#### Agent
|
|
127
115
|
**LLM-powered agentic loops**
|
|
128
116
|
|
|
129
|
-
Agents use LLMs to reason, plan, and execute tools. They handle inference, state management, and
|
|
117
|
+
Agents use LLMs to reason, plan, and execute tools. They handle inference, state management, and
|
|
118
|
+
autonomous decision-making.
|
|
130
119
|
|
|
131
120
|
```yaml
|
|
132
121
|
kind: Agent
|
|
@@ -138,12 +127,11 @@ spec:
|
|
|
138
127
|
You are a helpful assistant
|
|
139
128
|
```
|
|
140
129
|
|
|
141
|
-
|
|
142
|
-
<td>
|
|
143
|
-
|
|
130
|
+
#### Task
|
|
144
131
|
**Deterministic operations**
|
|
145
132
|
|
|
146
|
-
Tasks are pure functions—no LLM required. Use them for data transformation, API calls, batch
|
|
133
|
+
Tasks are pure functions—no LLM required. Use them for data transformation, API calls, batch
|
|
134
|
+
processing, or system integration.
|
|
147
135
|
|
|
148
136
|
```yaml
|
|
149
137
|
kind: Task
|
|
@@ -154,12 +142,11 @@ spec:
|
|
|
154
142
|
entry: transform.ts
|
|
155
143
|
```
|
|
156
144
|
|
|
157
|
-
|
|
158
|
-
<td>
|
|
159
|
-
|
|
145
|
+
#### Workflow
|
|
160
146
|
**Orchestrated compositions**
|
|
161
147
|
|
|
162
|
-
Workflows compose Agents and Tasks into multi-step pipelines with parallel execution, conditionals,
|
|
148
|
+
Workflows compose Agents and Tasks into multi-step pipelines with parallel execution, conditionals,
|
|
149
|
+
and loops.
|
|
163
150
|
|
|
164
151
|
```yaml
|
|
165
152
|
kind: Workflow
|
|
@@ -171,18 +158,15 @@ spec:
|
|
|
171
158
|
- task: validate
|
|
172
159
|
```
|
|
173
160
|
|
|
174
|
-
</td>
|
|
175
|
-
</tr>
|
|
176
|
-
</table>
|
|
177
|
-
|
|
178
161
|
---
|
|
179
162
|
|
|
180
|
-
## Example: A Complete Enterprise Agent (
|
|
163
|
+
## Example: A Complete Enterprise Agent (0.3.1)
|
|
181
164
|
|
|
182
|
-
This agent demonstrates OSSA's full power—**portable across providers, compliant out of the box, and
|
|
165
|
+
This agent demonstrates OSSA's full power—**portable across providers, compliant out of the box, and
|
|
166
|
+
production-ready**:
|
|
183
167
|
|
|
184
168
|
```yaml
|
|
185
|
-
apiVersion: ossa/
|
|
169
|
+
apiVersion: ossa/0.3.1
|
|
186
170
|
kind: Agent
|
|
187
171
|
|
|
188
172
|
metadata:
|
|
@@ -196,7 +180,7 @@ metadata:
|
|
|
196
180
|
ossa.io/maintainer: security-team@company.com
|
|
197
181
|
ossa.io/cost-center: CC-1234
|
|
198
182
|
|
|
199
|
-
# NEW
|
|
183
|
+
# NEW 0.3.1: Identity for OpenTelemetry + service mesh
|
|
200
184
|
identity:
|
|
201
185
|
service_name: compliance-auditor
|
|
202
186
|
service_namespace: agents.compliance
|
|
@@ -232,7 +216,7 @@ spec:
|
|
|
232
216
|
severity: { type: string, enum: [low, medium, high, critical] }
|
|
233
217
|
required: [findings, severity]
|
|
234
218
|
|
|
235
|
-
# NEW
|
|
219
|
+
# NEW 0.3.1: Agent-to-Agent messaging
|
|
236
220
|
messaging:
|
|
237
221
|
publishes:
|
|
238
222
|
- channel: audit.findings
|
|
@@ -244,7 +228,7 @@ spec:
|
|
|
244
228
|
deliveryGuarantee: at-least-once
|
|
245
229
|
ordering: strict
|
|
246
230
|
|
|
247
|
-
# NEW
|
|
231
|
+
# NEW 0.3.1: Persistent state with encryption
|
|
248
232
|
state:
|
|
249
233
|
storage:
|
|
250
234
|
type: redis
|
|
@@ -269,7 +253,7 @@ spec:
|
|
|
269
253
|
max_length: 100000
|
|
270
254
|
require_structured: true
|
|
271
255
|
|
|
272
|
-
# NEW
|
|
256
|
+
# NEW 0.3.1: Compliance profiles
|
|
273
257
|
compliance:
|
|
274
258
|
frameworks: [SOC2, HIPAA, GDPR]
|
|
275
259
|
data_residency: us-east-1
|
|
@@ -296,7 +280,7 @@ spec:
|
|
|
296
280
|
enabled: true
|
|
297
281
|
destination: kafka://events.internal
|
|
298
282
|
|
|
299
|
-
# NEW
|
|
283
|
+
# NEW 0.3.1: Lifecycle management
|
|
300
284
|
lifecycle:
|
|
301
285
|
environments:
|
|
302
286
|
development:
|
|
@@ -344,7 +328,8 @@ Switch providers without changing your agent definition:
|
|
|
344
328
|
|
|
345
329
|
### 🛠️ MCP Tool Support
|
|
346
330
|
|
|
347
|
-
Native integration with [Model Context Protocol](https://modelcontextprotocol.io/) for standardized
|
|
331
|
+
Native integration with [Model Context Protocol](https://modelcontextprotocol.io/) for standardized
|
|
332
|
+
tool definitions:
|
|
348
333
|
|
|
349
334
|
```yaml
|
|
350
335
|
tools:
|
|
@@ -435,10 +420,6 @@ docker run -v $(pwd):/workspace bluefly/ossa validate agent.ossa.yaml
|
|
|
435
420
|
|
|
436
421
|
## Documentation
|
|
437
422
|
|
|
438
|
-
<table>
|
|
439
|
-
<tr>
|
|
440
|
-
<td width="50%">
|
|
441
|
-
|
|
442
423
|
### Getting Started
|
|
443
424
|
- [Installation Guide](https://openstandardagents.org/docs/installation/)
|
|
444
425
|
- [Your First Agent](https://openstandardagents.org/docs/getting-started/first-agent/)
|
|
@@ -451,153 +432,18 @@ docker run -v $(pwd):/workspace bluefly/ossa validate agent.ossa.yaml
|
|
|
451
432
|
- [Production Deployment](https://openstandardagents.org/docs/deployment/)
|
|
452
433
|
- [Best Practices](https://openstandardagents.org/docs/best-practices/)
|
|
453
434
|
|
|
454
|
-
|
|
455
|
-
|
|
456
|
-
|
|
457
|
-
- **Getting Started**: [openstandardagents.org/docs/getting-started/](https://openstandardagents.org/docs/getting-started/)
|
|
435
|
+
### Reference
|
|
436
|
+
- **Getting Started**:
|
|
437
|
+
[openstandardagents.org/docs/getting-started/](https://openstandardagents.org/docs/getting-started/)
|
|
458
438
|
- **Full Documentation**: [openstandardagents.org/docs/](https://openstandardagents.org/docs/)
|
|
459
439
|
- **Schema Reference**: [openstandardagents.org/schema/](https://openstandardagents.org/schema/)
|
|
460
|
-
- **Specification**:
|
|
461
|
-
|
|
440
|
+
- **Specification**:
|
|
441
|
+
[spec/0.3.1/ossa-0.3.1.schema.json](https://github.com/blueflyio/openstandardagents/blob/main/spec/0.3.1/ossa-0.3.1.schema.json)
|
|
442
|
+
- **Messaging Extension**: [spec/0.3.1/messaging.md](spec/0.3.1/messaging.md) -
|
|
443
|
+
Agent-to-agent messaging (0.3.1+)
|
|
462
444
|
- **Examples**: [openstandardagents.org/examples/](https://openstandardagents.org/examples/)
|
|
463
445
|
- **Blog**: [openstandardagents.org/blog/](https://openstandardagents.org/blog/)
|
|
464
446
|
|
|
465
|
-
---
|
|
466
|
-
|
|
467
|
-
## Ecosystem
|
|
468
|
-
|
|
469
|
-
### Framework Support
|
|
470
|
-
|
|
471
|
-
OSSA integrates with all major AI frameworks:
|
|
472
|
-
|
|
473
|
-
- **[LangChain](https://python.langchain.com/)** — Export OSSA agents to LangChain
|
|
474
|
-
- **[CrewAI](https://www.crewai.com/)** — Multi-agent orchestration
|
|
475
|
-
- **[AutoGen](https://microsoft.github.io/autogen/)** — Microsoft's agent framework
|
|
476
|
-
- **[LlamaIndex](https://www.llamaindex.ai/)** — RAG and data agents
|
|
477
|
-
- **[LangGraph](https://langchain-ai.github.io/langgraph/)** — Stateful agent graphs
|
|
478
|
-
- **[Semantic Kernel](https://learn.microsoft.com/en-us/semantic-kernel/)** — Microsoft's AI orchestration
|
|
479
|
-
|
|
480
|
-
### Platform Support
|
|
481
|
-
|
|
482
|
-
Deploy OSSA agents anywhere:
|
|
483
|
-
|
|
484
|
-
- **Kubernetes** — Native KAgent integration
|
|
485
|
-
- **Docker** — Containerized agents
|
|
486
|
-
- **AWS** — Lambda, ECS, Bedrock
|
|
487
|
-
- **Azure** — Functions, Container Apps, OpenAI
|
|
488
|
-
- **GCP** — Cloud Run, Vertex AI
|
|
489
|
-
|
|
490
|
-
### Tool Integrations
|
|
491
|
-
|
|
492
|
-
- **[MCP](https://modelcontextprotocol.io/)** — Model Context Protocol
|
|
493
|
-
- **[Drupal](https://www.drupal.org/)** — CMS integration
|
|
494
|
-
- **[LibreChat](https://www.librechat.ai/)** — Chat interface
|
|
495
|
-
- **[Cursor](https://cursor.sh/)** — AI-powered IDE
|
|
496
|
-
- **[VS Code](https://code.visualstudio.com/)** — Editor extensions
|
|
497
|
-
|
|
498
|
-
---
|
|
499
|
-
|
|
500
|
-
## Community
|
|
501
|
-
|
|
502
|
-
We're building OSSA in the open. Join us!
|
|
503
|
-
|
|
504
|
-
### Contributing
|
|
505
|
-
|
|
506
|
-
We welcome contributions of all kinds:
|
|
507
|
-
|
|
508
|
-
1. **Code** — Fork the repo, create a branch, submit a PR
|
|
509
|
-
2. **Documentation** — Improve guides, fix typos, add examples
|
|
510
|
-
3. **Feedback** — Open issues, suggest features, share use cases
|
|
511
|
-
4. **Community** — Answer questions, help others, share your agents
|
|
512
|
-
|
|
513
|
-
See our [**Contributing Guide**](CONTRIBUTING.md) for details.
|
|
514
|
-
|
|
515
|
-
### Get Help & Connect
|
|
516
|
-
|
|
517
|
-
- **[GitHub Discussions](https://github.com/blueflyio/openstandardagents/discussions)** — Ask questions, share ideas
|
|
518
|
-
- **[Discord Community](https://discord.gg/ossa)** — Real-time chat and support
|
|
519
|
-
- **[Stack Overflow](https://stackoverflow.com/questions/tagged/ossa)** — Technical Q&A (tag: `ossa`)
|
|
520
|
-
- **[Twitter/X](https://twitter.com/openstandardagi)** — Updates and announcements
|
|
521
|
-
|
|
522
|
-
### Stay Updated
|
|
523
|
-
|
|
524
|
-
- **[Blog](https://openstandardagents.org/blog/)** — Tutorials, case studies, announcements
|
|
525
|
-
- **[Newsletter](https://openstandardagents.org/newsletter/)** — Monthly updates
|
|
526
|
-
- **[Changelog](CHANGELOG.md)** — Release notes and migration guides
|
|
527
|
-
|
|
528
|
-
---
|
|
529
|
-
|
|
530
|
-
## Comparison
|
|
531
|
-
|
|
532
|
-
How does OSSA compare to other AI agent standards and frameworks?
|
|
533
|
-
|
|
534
|
-
<table>
|
|
535
|
-
<tr>
|
|
536
|
-
<th>Feature</th>
|
|
537
|
-
<th>OSSA</th>
|
|
538
|
-
<th>LangChain</th>
|
|
539
|
-
<th>AutoGen</th>
|
|
540
|
-
<th>MCP</th>
|
|
541
|
-
<th>Semantic Kernel</th>
|
|
542
|
-
</tr>
|
|
543
|
-
<tr>
|
|
544
|
-
<td><strong>Vendor Neutral</strong></td>
|
|
545
|
-
<td>✅ Yes</td>
|
|
546
|
-
<td>❌ No</td>
|
|
547
|
-
<td>❌ No</td>
|
|
548
|
-
<td>✅ Yes</td>
|
|
549
|
-
<td>❌ No</td>
|
|
550
|
-
</tr>
|
|
551
|
-
<tr>
|
|
552
|
-
<td><strong>Formal Standard</strong></td>
|
|
553
|
-
<td>✅ Yes</td>
|
|
554
|
-
<td>❌ No</td>
|
|
555
|
-
<td>❌ No</td>
|
|
556
|
-
<td>✅ Yes</td>
|
|
557
|
-
<td>❌ No</td>
|
|
558
|
-
</tr>
|
|
559
|
-
<tr>
|
|
560
|
-
<td><strong>Multi-Runtime</strong></td>
|
|
561
|
-
<td>✅ Full</td>
|
|
562
|
-
<td>🟡 Partial</td>
|
|
563
|
-
<td>🟡 Partial</td>
|
|
564
|
-
<td>✅ Full</td>
|
|
565
|
-
<td>🟡 Partial</td>
|
|
566
|
-
</tr>
|
|
567
|
-
<tr>
|
|
568
|
-
<td><strong>Enterprise Governance</strong></td>
|
|
569
|
-
<td>✅ Yes</td>
|
|
570
|
-
<td>❌ No</td>
|
|
571
|
-
<td>❌ No</td>
|
|
572
|
-
<td>❌ No</td>
|
|
573
|
-
<td>🟡 Partial</td>
|
|
574
|
-
</tr>
|
|
575
|
-
<tr>
|
|
576
|
-
<td><strong>Compliance Ready</strong></td>
|
|
577
|
-
<td>✅ Yes</td>
|
|
578
|
-
<td>❌ No</td>
|
|
579
|
-
<td>❌ No</td>
|
|
580
|
-
<td>❌ No</td>
|
|
581
|
-
<td>❌ No</td>
|
|
582
|
-
</tr>
|
|
583
|
-
<tr>
|
|
584
|
-
<td><strong>Full Agent Lifecycle</strong></td>
|
|
585
|
-
<td>✅ Yes</td>
|
|
586
|
-
<td>✅ Yes</td>
|
|
587
|
-
<td>✅ Yes</td>
|
|
588
|
-
<td>❌ No</td>
|
|
589
|
-
<td>✅ Yes</td>
|
|
590
|
-
</tr>
|
|
591
|
-
<tr>
|
|
592
|
-
<td><strong>Open Source</strong></td>
|
|
593
|
-
<td>✅ Apache 2.0</td>
|
|
594
|
-
<td>✅ MIT</td>
|
|
595
|
-
<td>✅ MIT</td>
|
|
596
|
-
<td>✅ MIT</td>
|
|
597
|
-
<td>✅ MIT</td>
|
|
598
|
-
</tr>
|
|
599
|
-
</table>
|
|
600
|
-
|
|
601
447
|
**OSSA** is a vendor-neutral **specification standard** (like OpenAPI)
|
|
602
448
|
**LangChain/AutoGen/Semantic Kernel** are framework-specific **implementations**
|
|
603
449
|
**MCP** is a formal standard for **context protocol**, not full agent lifecycle
|
|
@@ -616,17 +462,13 @@ See [**LICENSE**](LICENSE) for full terms.
|
|
|
616
462
|
|
|
617
463
|
## Links
|
|
618
464
|
|
|
619
|
-
<table>
|
|
620
|
-
<tr>
|
|
621
|
-
<td width="50%">
|
|
622
|
-
|
|
623
465
|
### Development
|
|
624
|
-
- **GitLab** (Primary):
|
|
625
|
-
|
|
626
|
-
- **
|
|
627
|
-
|
|
628
|
-
|
|
629
|
-
|
|
466
|
+
- **GitLab** (Primary):
|
|
467
|
+
[gitlab.com/blueflyio/openstandardagents](https://gitlab.com/blueflyio/openstandardagents)
|
|
468
|
+
- **GitHub** (Mirror):
|
|
469
|
+
[github.com/blueflyio/openstandardagents](https://github.com/blueflyio/openstandardagents)
|
|
470
|
+
- **npm Package**:
|
|
471
|
+
[@bluefly/openstandardagents](https://www.npmjs.com/package/@bluefly/openstandardagents)
|
|
630
472
|
|
|
631
473
|
### Community
|
|
632
474
|
- **Website**: [openstandardagents.org](https://openstandardagents.org)
|
|
@@ -634,17 +476,15 @@ See [**LICENSE**](LICENSE) for full terms.
|
|
|
634
476
|
- **Discord**: [discord.gg/ossa](https://discord.gg/ossa)
|
|
635
477
|
- **Twitter/X**: [@openstandardagi](https://twitter.com/openstandardagi)
|
|
636
478
|
|
|
637
|
-
</td>
|
|
638
|
-
</tr>
|
|
639
|
-
</table>
|
|
640
|
-
|
|
641
479
|
---
|
|
642
480
|
|
|
643
481
|
<div align="center">
|
|
644
482
|
|
|
645
483
|
**Built with ❤️ by the open source community**
|
|
646
484
|
|
|
647
|
-
[Report Bug](https://github.com/blueflyio/openstandardagents/issues) • [Request
|
|
485
|
+
[Report Bug](https://github.com/blueflyio/openstandardagents/issues) • [Request
|
|
486
|
+
Feature](https://github.com/blueflyio/openstandardagents/issues) • [Ask
|
|
487
|
+
Question](https://github.com/blueflyio/openstandardagents/discussions)
|
|
648
488
|
|
|
649
489
|
*Note: All development happens on GitLab. GitHub is a read-only mirror.*
|
|
650
490
|
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"diff.command.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/diff.command.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAGH,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAoEpC,eAAO,MAAM,WAAW,SAsIrB,CAAC"}
|
|
@@ -0,0 +1,181 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* OSSA Diff Command
|
|
3
|
+
* Compare OSSA agent manifests between files or git references
|
|
4
|
+
*/
|
|
5
|
+
import chalk from 'chalk';
|
|
6
|
+
import { Command } from 'commander';
|
|
7
|
+
import * as fs from 'fs';
|
|
8
|
+
import { container } from '../../di-container.js';
|
|
9
|
+
import { ManifestRepository } from '../../repositories/manifest.repository.js';
|
|
10
|
+
import { GitService } from '../../services/git.service.js';
|
|
11
|
+
function deepDiff(obj1, obj2, prefix = '') {
|
|
12
|
+
const changes = [];
|
|
13
|
+
const allKeys = new Set([...Object.keys(obj1 || {}), ...Object.keys(obj2 || {})]);
|
|
14
|
+
for (const key of allKeys) {
|
|
15
|
+
const path = prefix ? `${prefix}.${key}` : key;
|
|
16
|
+
const val1 = obj1?.[key];
|
|
17
|
+
const val2 = obj2?.[key];
|
|
18
|
+
if (!(key in obj1)) {
|
|
19
|
+
changes.push({
|
|
20
|
+
type: 'added',
|
|
21
|
+
path,
|
|
22
|
+
newValue: val2,
|
|
23
|
+
message: `Added: ${path}`,
|
|
24
|
+
});
|
|
25
|
+
}
|
|
26
|
+
else if (!(key in obj2)) {
|
|
27
|
+
changes.push({
|
|
28
|
+
type: 'removed',
|
|
29
|
+
path,
|
|
30
|
+
oldValue: val1,
|
|
31
|
+
message: `Removed: ${path}`,
|
|
32
|
+
});
|
|
33
|
+
}
|
|
34
|
+
else if (typeof val1 === 'object' && typeof val2 === 'object' && val1 !== null && val2 !== null && !Array.isArray(val1) && !Array.isArray(val2)) {
|
|
35
|
+
changes.push(...deepDiff(val1, val2, path));
|
|
36
|
+
}
|
|
37
|
+
else if (JSON.stringify(val1) !== JSON.stringify(val2)) {
|
|
38
|
+
changes.push({
|
|
39
|
+
type: 'modified',
|
|
40
|
+
path,
|
|
41
|
+
oldValue: val1,
|
|
42
|
+
newValue: val2,
|
|
43
|
+
message: `Modified: ${path}`,
|
|
44
|
+
});
|
|
45
|
+
}
|
|
46
|
+
}
|
|
47
|
+
return changes;
|
|
48
|
+
}
|
|
49
|
+
function isBreakingChange(change) {
|
|
50
|
+
// Breaking changes: removed fields, modified required fields, type changes
|
|
51
|
+
if (change.type === 'removed')
|
|
52
|
+
return true;
|
|
53
|
+
if (change.path.includes('metadata.name') || change.path.includes('metadata.version'))
|
|
54
|
+
return true;
|
|
55
|
+
if (change.path.includes('spec.role'))
|
|
56
|
+
return true;
|
|
57
|
+
if (change.path.includes('apiVersion'))
|
|
58
|
+
return true;
|
|
59
|
+
return false;
|
|
60
|
+
}
|
|
61
|
+
export const diffCommand = new Command('diff')
|
|
62
|
+
.argument('<path1>', 'First manifest path or git ref (e.g., main:path/to/file.yaml)')
|
|
63
|
+
.argument('[path2]', 'Second manifest path or git ref (default: current file)')
|
|
64
|
+
.option('--breaking-only', 'Show only breaking changes')
|
|
65
|
+
.option('--format <format>', 'Output format (default, json)', 'default')
|
|
66
|
+
.option('-o, --output <file>', 'Output file (for json format)')
|
|
67
|
+
.description('Compare OSSA agent manifests between versions')
|
|
68
|
+
.action(async (path1, path2, options) => {
|
|
69
|
+
try {
|
|
70
|
+
const manifestRepo = container.get(ManifestRepository);
|
|
71
|
+
const gitService = container.get(GitService);
|
|
72
|
+
// Parse git refs (format: ref:path)
|
|
73
|
+
let manifest1;
|
|
74
|
+
let manifest2;
|
|
75
|
+
let filePath1;
|
|
76
|
+
let filePath2;
|
|
77
|
+
// Load first manifest
|
|
78
|
+
const gitRef1 = gitService.parseRefString(path1);
|
|
79
|
+
if (gitRef1) {
|
|
80
|
+
try {
|
|
81
|
+
manifest1 = gitService.loadManifestFromRef(gitRef1.ref, gitRef1.filePath);
|
|
82
|
+
filePath1 = `${gitRef1.ref}:${gitRef1.filePath}`;
|
|
83
|
+
}
|
|
84
|
+
catch (error) {
|
|
85
|
+
console.error(chalk.red(`Failed to load ${path1} from git: ${error instanceof Error ? error.message : String(error)}`));
|
|
86
|
+
process.exit(1);
|
|
87
|
+
}
|
|
88
|
+
}
|
|
89
|
+
else {
|
|
90
|
+
manifest1 = await manifestRepo.load(path1);
|
|
91
|
+
filePath1 = path1;
|
|
92
|
+
}
|
|
93
|
+
// Load second manifest
|
|
94
|
+
if (path2) {
|
|
95
|
+
const gitRef2 = gitService.parseRefString(path2);
|
|
96
|
+
if (gitRef2) {
|
|
97
|
+
try {
|
|
98
|
+
manifest2 = gitService.loadManifestFromRef(gitRef2.ref, gitRef2.filePath);
|
|
99
|
+
filePath2 = `${gitRef2.ref}:${gitRef2.filePath}`;
|
|
100
|
+
}
|
|
101
|
+
catch (error) {
|
|
102
|
+
console.error(chalk.red(`Failed to load ${path2} from git: ${error instanceof Error ? error.message : String(error)}`));
|
|
103
|
+
process.exit(1);
|
|
104
|
+
}
|
|
105
|
+
}
|
|
106
|
+
else {
|
|
107
|
+
manifest2 = await manifestRepo.load(path2);
|
|
108
|
+
filePath2 = path2;
|
|
109
|
+
}
|
|
110
|
+
}
|
|
111
|
+
else {
|
|
112
|
+
// Compare with current file
|
|
113
|
+
manifest2 = await manifestRepo.load(filePath1);
|
|
114
|
+
filePath2 = filePath1;
|
|
115
|
+
}
|
|
116
|
+
// Compute diff
|
|
117
|
+
const changes = deepDiff(manifest1, manifest2);
|
|
118
|
+
const breakingChanges = changes.filter(isBreakingChange);
|
|
119
|
+
const result = {
|
|
120
|
+
breaking: breakingChanges.length > 0,
|
|
121
|
+
changes: options.breakingOnly ? breakingChanges : changes,
|
|
122
|
+
};
|
|
123
|
+
// Output results
|
|
124
|
+
if (options.format === 'json') {
|
|
125
|
+
const output = JSON.stringify(result, null, 2);
|
|
126
|
+
if (options.output) {
|
|
127
|
+
fs.writeFileSync(options.output, output);
|
|
128
|
+
console.log(chalk.green(`Results written to ${options.output}`));
|
|
129
|
+
}
|
|
130
|
+
else {
|
|
131
|
+
console.log(output);
|
|
132
|
+
}
|
|
133
|
+
}
|
|
134
|
+
else {
|
|
135
|
+
console.log(chalk.blue(`\nComparing manifests:`));
|
|
136
|
+
console.log(` ${chalk.cyan(filePath1)}`);
|
|
137
|
+
console.log(` ${chalk.cyan(filePath2 || filePath1)}\n`);
|
|
138
|
+
if (result.changes.length === 0) {
|
|
139
|
+
console.log(chalk.green('No differences found'));
|
|
140
|
+
}
|
|
141
|
+
else {
|
|
142
|
+
if (result.breaking) {
|
|
143
|
+
console.log(chalk.red(`⚠️ ${breakingChanges.length} breaking change(s) detected\n`));
|
|
144
|
+
}
|
|
145
|
+
console.log(chalk.blue(`Found ${result.changes.length} change(s):\n`));
|
|
146
|
+
for (const change of result.changes) {
|
|
147
|
+
const color = change.type === 'added'
|
|
148
|
+
? chalk.green
|
|
149
|
+
: change.type === 'removed'
|
|
150
|
+
? chalk.red
|
|
151
|
+
: chalk.yellow;
|
|
152
|
+
const icon = change.type === 'added' ? '+' : change.type === 'removed' ? '-' : '~';
|
|
153
|
+
const breaking = isBreakingChange(change) ? chalk.red(' [BREAKING]') : '';
|
|
154
|
+
console.log(color(`${icon} ${change.message}${breaking}`));
|
|
155
|
+
if (change.oldValue !== undefined && change.newValue !== undefined) {
|
|
156
|
+
console.log(chalk.gray(` Old: ${JSON.stringify(change.oldValue)}`));
|
|
157
|
+
console.log(chalk.gray(` New: ${JSON.stringify(change.newValue)}`));
|
|
158
|
+
}
|
|
159
|
+
else if (change.oldValue !== undefined) {
|
|
160
|
+
console.log(chalk.gray(` Value: ${JSON.stringify(change.oldValue)}`));
|
|
161
|
+
}
|
|
162
|
+
else if (change.newValue !== undefined) {
|
|
163
|
+
console.log(chalk.gray(` Value: ${JSON.stringify(change.newValue)}`));
|
|
164
|
+
}
|
|
165
|
+
}
|
|
166
|
+
if (result.breaking) {
|
|
167
|
+
console.log(chalk.red(`\n⚠️ Breaking changes detected - migration may be required`));
|
|
168
|
+
}
|
|
169
|
+
}
|
|
170
|
+
}
|
|
171
|
+
process.exit(result.breaking ? 1 : 0);
|
|
172
|
+
}
|
|
173
|
+
catch (error) {
|
|
174
|
+
console.error(chalk.red('[ERROR]'), error.message);
|
|
175
|
+
if (error.stack) {
|
|
176
|
+
console.error(chalk.gray(error.stack));
|
|
177
|
+
}
|
|
178
|
+
process.exit(1);
|
|
179
|
+
}
|
|
180
|
+
});
|
|
181
|
+
//# sourceMappingURL=diff.command.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"diff.command.js","sourceRoot":"","sources":["../../../src/cli/commands/diff.command.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,KAAK,EAAE,MAAM,IAAI,CAAC;AAEzB,OAAO,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAC;AAClD,OAAO,EAAE,kBAAkB,EAAE,MAAM,2CAA2C,CAAC;AAC/E,OAAO,EAAE,UAAU,EAAE,MAAM,+BAA+B,CAAC;AAc3D,SAAS,QAAQ,CAAC,IAAS,EAAE,IAAS,EAAE,MAAM,GAAG,EAAE;IACjD,MAAM,OAAO,GAA0B,EAAE,CAAC;IAC1C,MAAM,OAAO,GAAG,IAAI,GAAG,CAAC,CAAC,GAAG,MAAM,CAAC,IAAI,CAAC,IAAI,IAAI,EAAE,CAAC,EAAE,GAAG,MAAM,CAAC,IAAI,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;IAElF,KAAK,MAAM,GAAG,IAAI,OAAO,EAAE,CAAC;QAC1B,MAAM,IAAI,GAAG,MAAM,CAAC,CAAC,CAAC,GAAG,MAAM,IAAI,GAAG,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC;QAC/C,MAAM,IAAI,GAAG,IAAI,EAAE,CAAC,GAAG,CAAC,CAAC;QACzB,MAAM,IAAI,GAAG,IAAI,EAAE,CAAC,GAAG,CAAC,CAAC;QAEzB,IAAI,CAAC,CAAC,GAAG,IAAI,IAAI,CAAC,EAAE,CAAC;YACnB,OAAO,CAAC,IAAI,CAAC;gBACX,IAAI,EAAE,OAAO;gBACb,IAAI;gBACJ,QAAQ,EAAE,IAAI;gBACd,OAAO,EAAE,UAAU,IAAI,EAAE;aAC1B,CAAC,CAAC;QACL,CAAC;aAAM,IAAI,CAAC,CAAC,GAAG,IAAI,IAAI,CAAC,EAAE,CAAC;YAC1B,OAAO,CAAC,IAAI,CAAC;gBACX,IAAI,EAAE,SAAS;gBACf,IAAI;gBACJ,QAAQ,EAAE,IAAI;gBACd,OAAO,EAAE,YAAY,IAAI,EAAE;aAC5B,CAAC,CAAC;QACL,CAAC;aAAM,IAAI,OAAO,IAAI,KAAK,QAAQ,IAAI,OAAO,IAAI,KAAK,QAAQ,IAAI,IAAI,KAAK,IAAI,IAAI,IAAI,KAAK,IAAI,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC;YAClJ,OAAO,CAAC,IAAI,CAAC,GAAG,QAAQ,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC;QAC9C,CAAC;aAAM,IAAI,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,KAAK,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC;YACzD,OAAO,CAAC,IAAI,CAAC;gBACX,IAAI,EAAE,UAAU;gBAChB,IAAI;gBACJ,QAAQ,EAAE,IAAI;gBACd,QAAQ,EAAE,IAAI;gBACd,OAAO,EAAE,aAAa,IAAI,EAAE;aAC7B,CAAC,CAAC;QACL,CAAC;IACH,CAAC;IAED,OAAO,OAAO,CAAC;AACjB,CAAC;AAED,SAAS,gBAAgB,CAAC,MAAgC;IACxD,2EAA2E;IAC3E,IAAI,MAAM,CAAC,IAAI,KAAK,SAAS;QAAE,OAAO,IAAI,CAAC;IAC3C,IAAI,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,eAAe,CAAC,IAAI,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,kBAAkB,CAAC;QAAE,OAAO,IAAI,CAAC;IACnG,IAAI,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC;QAAE,OAAO,IAAI,CAAC;IACnD,IAAI,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,YAAY,CAAC;QAAE,OAAO,IAAI,CAAC;IACpD,OAAO,KAAK,CAAC;AACf,CAAC;AAGD,MAAM,CAAC,MAAM,WAAW,GAAG,IAAI,OAAO,CAAC,MAAM,CAAC;KAC3C,QAAQ,CAAC,SAAS,EAAE,+DAA+D,CAAC;KACpF,QAAQ,CAAC,SAAS,EAAE,yDAAyD,CAAC;KAC9E,MAAM,CAAC,iBAAiB,EAAE,4BAA4B,CAAC;KACvD,MAAM,CAAC,mBAAmB,EAAE,+BAA+B,EAAE,SAAS,CAAC;KACvE,MAAM,CAAC,qBAAqB,EAAE,+BAA+B,CAAC;KAC9D,WAAW,CAAC,+CAA+C,CAAC;KAC5D,MAAM,CACL,KAAK,EACH,KAAa,EACb,KAAyB,EACzB,OAIC,EACD,EAAE;IACF,IAAI,CAAC;QACH,MAAM,YAAY,GAAG,SAAS,CAAC,GAAG,CAAC,kBAAkB,CAAC,CAAC;QACvD,MAAM,UAAU,GAAG,SAAS,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;QAE7C,oCAAoC;QACpC,IAAI,SAAoB,CAAC;QACzB,IAAI,SAAgC,CAAC;QACrC,IAAI,SAAiB,CAAC;QACtB,IAAI,SAA6B,CAAC;QAElC,sBAAsB;QACtB,MAAM,OAAO,GAAG,UAAU,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC;QACjD,IAAI,OAAO,EAAE,CAAC;YACZ,IAAI,CAAC;gBACH,SAAS,GAAG,UAAU,CAAC,mBAAmB,CAAC,OAAO,CAAC,GAAG,EAAE,OAAO,CAAC,QAAQ,CAAC,CAAC;gBAC1E,SAAS,GAAG,GAAG,OAAO,CAAC,GAAG,IAAI,OAAO,CAAC,QAAQ,EAAE,CAAC;YACnD,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,OAAO,CAAC,KAAK,CACX,KAAK,CAAC,GAAG,CAAC,kBAAkB,KAAK,cAAc,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,CACzG,CAAC;gBACF,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;YAClB,CAAC;QACH,CAAC;aAAM,CAAC;YACN,SAAS,GAAG,MAAM,YAAY,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YAC3C,SAAS,GAAG,KAAK,CAAC;QACpB,CAAC;QAED,uBAAuB;QACvB,IAAI,KAAK,EAAE,CAAC;YACV,MAAM,OAAO,GAAG,UAAU,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC;YACjD,IAAI,OAAO,EAAE,CAAC;gBACZ,IAAI,CAAC;oBACH,SAAS,GAAG,UAAU,CAAC,mBAAmB,CAAC,OAAO,CAAC,GAAG,EAAE,OAAO,CAAC,QAAQ,CAAC,CAAC;oBAC1E,SAAS,GAAG,GAAG,OAAO,CAAC,GAAG,IAAI,OAAO,CAAC,QAAQ,EAAE,CAAC;gBACnD,CAAC;gBAAC,OAAO,KAAK,EAAE,CAAC;oBACf,OAAO,CAAC,KAAK,CACX,KAAK,CAAC,GAAG,CAAC,kBAAkB,KAAK,cAAc,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,CACzG,CAAC;oBACF,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;gBAClB,CAAC;YACH,CAAC;iBAAM,CAAC;gBACN,SAAS,GAAG,MAAM,YAAY,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;gBAC3C,SAAS,GAAG,KAAK,CAAC;YACpB,CAAC;QACH,CAAC;aAAM,CAAC;YACN,4BAA4B;YAC5B,SAAS,GAAG,MAAM,YAAY,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;YAC/C,SAAS,GAAG,SAAS,CAAC;QACxB,CAAC;QAED,eAAe;QACf,MAAM,OAAO,GAAG,QAAQ,CAAC,SAAS,EAAE,SAAS,CAAC,CAAC;QAC/C,MAAM,eAAe,GAAG,OAAO,CAAC,MAAM,CAAC,gBAAgB,CAAC,CAAC;QACzD,MAAM,MAAM,GAAe;YACzB,QAAQ,EAAE,eAAe,CAAC,MAAM,GAAG,CAAC;YACpC,OAAO,EAAE,OAAO,CAAC,YAAY,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,OAAO;SAC1D,CAAC;QAEF,iBAAiB;QACjB,IAAI,OAAO,CAAC,MAAM,KAAK,MAAM,EAAE,CAAC;YAC9B,MAAM,MAAM,GAAG,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;YAC/C,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;gBACnB,EAAE,CAAC,aAAa,CAAC,OAAO,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;gBACzC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,sBAAsB,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;YACnE,CAAC;iBAAM,CAAC;gBACN,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;YACtB,CAAC;QACH,CAAC;aAAM,CAAC;YACN,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,wBAAwB,CAAC,CAAC,CAAC;YAClD,OAAO,CAAC,GAAG,CAAC,KAAK,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC;YAC1C,OAAO,CAAC,GAAG,CAAC,KAAK,KAAK,CAAC,IAAI,CAAC,SAAS,IAAI,SAAS,CAAC,IAAI,CAAC,CAAC;YAEzD,IAAI,MAAM,CAAC,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBAChC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,sBAAsB,CAAC,CAAC,CAAC;YACnD,CAAC;iBAAM,CAAC;gBACN,IAAI,MAAM,CAAC,QAAQ,EAAE,CAAC;oBACpB,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,OAAO,eAAe,CAAC,MAAM,gCAAgC,CAAC,CAAC,CAAC;gBACxF,CAAC;gBAED,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,MAAM,CAAC,OAAO,CAAC,MAAM,eAAe,CAAC,CAAC,CAAC;gBAEvE,KAAK,MAAM,MAAM,IAAI,MAAM,CAAC,OAAO,EAAE,CAAC;oBACpC,MAAM,KAAK,GACT,MAAM,CAAC,IAAI,KAAK,OAAO;wBACrB,CAAC,CAAC,KAAK,CAAC,KAAK;wBACb,CAAC,CAAC,MAAM,CAAC,IAAI,KAAK,SAAS;4BACzB,CAAC,CAAC,KAAK,CAAC,GAAG;4BACX,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC;oBACrB,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI,KAAK,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC;oBACnF,MAAM,QAAQ,GAAG,gBAAgB,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;oBAE1E,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,IAAI,IAAI,MAAM,CAAC,OAAO,GAAG,QAAQ,EAAE,CAAC,CAAC,CAAC;oBAC3D,IAAI,MAAM,CAAC,QAAQ,KAAK,SAAS,IAAI,MAAM,CAAC,QAAQ,KAAK,SAAS,EAAE,CAAC;wBACnE,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,YAAY,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,CAAC;wBACvE,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,YAAY,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,CAAC;oBACzE,CAAC;yBAAM,IAAI,MAAM,CAAC,QAAQ,KAAK,SAAS,EAAE,CAAC;wBACzC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,cAAc,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,CAAC;oBAC3E,CAAC;yBAAM,IAAI,MAAM,CAAC,QAAQ,KAAK,SAAS,EAAE,CAAC;wBACzC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,cAAc,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,CAAC;oBAC3E,CAAC;gBACH,CAAC;gBAED,IAAI,MAAM,CAAC,QAAQ,EAAE,CAAC;oBACpB,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,6DAA6D,CAAC,CAAC,CAAC;gBACxF,CAAC;YACH,CAAC;QACH,CAAC;QAED,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IACxC,CAAC;IAAC,OAAO,KAAU,EAAE,CAAC;QACpB,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,SAAS,CAAC,EAAE,KAAK,CAAC,OAAO,CAAC,CAAC;QACnD,IAAI,KAAK,CAAC,KAAK,EAAE,CAAC;YAChB,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC;QACzC,CAAC;QACD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;AACH,CAAC,CACF,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"docs.command.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/docs.command.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAGH,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAmNpC,eAAO,MAAM,WAAW,SA4FrB,CAAC"}
|