language-operator 0.1.30 → 0.1.31
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.
- checksums.yaml +4 -4
- data/CHANGELOG.md +35 -0
- data/Gemfile.lock +1 -1
- data/Makefile +7 -2
- data/Rakefile +29 -0
- data/docs/dsl/SCHEMA_VERSION.md +250 -0
- data/docs/dsl/agent-reference.md +13 -0
- data/lib/language_operator/agent/safety/safe_executor.rb +12 -0
- data/lib/language_operator/cli/commands/agent.rb +54 -101
- data/lib/language_operator/cli/commands/cluster.rb +37 -1
- data/lib/language_operator/cli/commands/persona.rb +2 -5
- data/lib/language_operator/cli/commands/status.rb +5 -18
- data/lib/language_operator/cli/commands/system.rb +772 -0
- data/lib/language_operator/cli/formatters/code_formatter.rb +3 -7
- data/lib/language_operator/cli/formatters/log_formatter.rb +3 -5
- data/lib/language_operator/cli/formatters/progress_formatter.rb +3 -7
- data/lib/language_operator/cli/formatters/status_formatter.rb +37 -0
- data/lib/language_operator/cli/formatters/table_formatter.rb +10 -26
- data/lib/language_operator/cli/helpers/pastel_helper.rb +24 -0
- data/lib/language_operator/cli/main.rb +4 -0
- data/lib/language_operator/dsl/schema.rb +1102 -0
- data/lib/language_operator/dsl.rb +1 -0
- data/lib/language_operator/logger.rb +4 -4
- data/lib/language_operator/templates/README.md +23 -0
- data/lib/language_operator/templates/examples/agent_synthesis.tmpl +115 -0
- data/lib/language_operator/templates/examples/persona_distillation.tmpl +19 -0
- data/lib/language_operator/templates/schema/.gitkeep +0 -0
- data/lib/language_operator/templates/schema/CHANGELOG.md +93 -0
- data/lib/language_operator/templates/schema/agent_dsl_openapi.yaml +306 -0
- data/lib/language_operator/templates/schema/agent_dsl_schema.json +452 -0
- data/lib/language_operator/version.rb +1 -1
- data/requirements/tasks/iterate.md +2 -2
- metadata +13 -9
- data/examples/README.md +0 -569
- data/examples/agent_example.rb +0 -86
- data/examples/chat_endpoint_agent.rb +0 -118
- data/examples/github_webhook_agent.rb +0 -171
- data/examples/mcp_agent.rb +0 -158
- data/examples/oauth_callback_agent.rb +0 -296
- data/examples/stripe_webhook_agent.rb +0 -219
- data/examples/webhook_agent.rb +0 -80
|
@@ -0,0 +1,452 @@
|
|
|
1
|
+
{
|
|
2
|
+
"$schema": "http://json-schema.org/draft-07/schema#",
|
|
3
|
+
"$id": "https://github.com/language-operator/language-operator-gem/schema/agent-dsl.json",
|
|
4
|
+
"title": "Language Operator Agent DSL",
|
|
5
|
+
"description": "Schema for defining autonomous AI agents using the Language Operator DSL",
|
|
6
|
+
"version": "0.1.31",
|
|
7
|
+
"type": "object",
|
|
8
|
+
"properties": {
|
|
9
|
+
"name": {
|
|
10
|
+
"type": "string",
|
|
11
|
+
"description": "Unique agent identifier (lowercase, alphanumeric, hyphens)",
|
|
12
|
+
"pattern": "^[a-z0-9-]+$",
|
|
13
|
+
"minLength": 1,
|
|
14
|
+
"maxLength": 63
|
|
15
|
+
},
|
|
16
|
+
"description": {
|
|
17
|
+
"type": "string",
|
|
18
|
+
"description": "Human-readable description of agent purpose"
|
|
19
|
+
},
|
|
20
|
+
"persona": {
|
|
21
|
+
"type": "string",
|
|
22
|
+
"description": "System prompt or persona defining agent behavior and expertise"
|
|
23
|
+
},
|
|
24
|
+
"schedule": {
|
|
25
|
+
"type": "string",
|
|
26
|
+
"description": "Cron expression for scheduled execution (sets mode to :scheduled)",
|
|
27
|
+
"pattern": "^\\s*(\\S+\\s+){4}\\S+\\s*$"
|
|
28
|
+
},
|
|
29
|
+
"mode": {
|
|
30
|
+
"type": "string",
|
|
31
|
+
"description": "Execution mode for the agent",
|
|
32
|
+
"enum": [
|
|
33
|
+
"autonomous",
|
|
34
|
+
"scheduled",
|
|
35
|
+
"reactive"
|
|
36
|
+
]
|
|
37
|
+
},
|
|
38
|
+
"objectives": {
|
|
39
|
+
"type": "array",
|
|
40
|
+
"description": "List of goals the agent should achieve",
|
|
41
|
+
"items": {
|
|
42
|
+
"type": "string"
|
|
43
|
+
},
|
|
44
|
+
"minItems": 0
|
|
45
|
+
},
|
|
46
|
+
"workflow": {
|
|
47
|
+
"$ref": "#/definitions/WorkflowDefinition"
|
|
48
|
+
},
|
|
49
|
+
"constraints": {
|
|
50
|
+
"$ref": "#/definitions/ConstraintsDefinition"
|
|
51
|
+
},
|
|
52
|
+
"output": {
|
|
53
|
+
"$ref": "#/definitions/OutputDefinition"
|
|
54
|
+
},
|
|
55
|
+
"webhooks": {
|
|
56
|
+
"type": "array",
|
|
57
|
+
"description": "Webhook endpoints for reactive agents",
|
|
58
|
+
"items": {
|
|
59
|
+
"$ref": "#/definitions/WebhookDefinition"
|
|
60
|
+
}
|
|
61
|
+
},
|
|
62
|
+
"mcp_server": {
|
|
63
|
+
"$ref": "#/definitions/McpServerDefinition"
|
|
64
|
+
},
|
|
65
|
+
"chat_endpoint": {
|
|
66
|
+
"$ref": "#/definitions/ChatEndpointDefinition"
|
|
67
|
+
}
|
|
68
|
+
},
|
|
69
|
+
"required": [
|
|
70
|
+
"name"
|
|
71
|
+
],
|
|
72
|
+
"definitions": {
|
|
73
|
+
"WorkflowDefinition": {
|
|
74
|
+
"type": "object",
|
|
75
|
+
"description": "Multi-step workflow with dependencies",
|
|
76
|
+
"properties": {
|
|
77
|
+
"steps": {
|
|
78
|
+
"type": "array",
|
|
79
|
+
"description": "Ordered list of workflow steps",
|
|
80
|
+
"items": {
|
|
81
|
+
"$ref": "#/definitions/StepDefinition"
|
|
82
|
+
}
|
|
83
|
+
}
|
|
84
|
+
}
|
|
85
|
+
},
|
|
86
|
+
"StepDefinition": {
|
|
87
|
+
"type": "object",
|
|
88
|
+
"description": "Individual workflow step",
|
|
89
|
+
"properties": {
|
|
90
|
+
"name": {
|
|
91
|
+
"type": "string",
|
|
92
|
+
"description": "Step identifier (symbol or string)"
|
|
93
|
+
},
|
|
94
|
+
"tool": {
|
|
95
|
+
"type": "string",
|
|
96
|
+
"description": "Tool name to execute in this step"
|
|
97
|
+
},
|
|
98
|
+
"params": {
|
|
99
|
+
"type": "object",
|
|
100
|
+
"description": "Parameters to pass to the tool",
|
|
101
|
+
"additionalProperties": true
|
|
102
|
+
},
|
|
103
|
+
"depends_on": {
|
|
104
|
+
"oneOf": [
|
|
105
|
+
{
|
|
106
|
+
"type": "string"
|
|
107
|
+
},
|
|
108
|
+
{
|
|
109
|
+
"type": "array",
|
|
110
|
+
"items": {
|
|
111
|
+
"type": "string"
|
|
112
|
+
}
|
|
113
|
+
}
|
|
114
|
+
],
|
|
115
|
+
"description": "Step dependencies (must complete before this step)"
|
|
116
|
+
},
|
|
117
|
+
"prompt": {
|
|
118
|
+
"type": "string",
|
|
119
|
+
"description": "LLM prompt template for this step"
|
|
120
|
+
}
|
|
121
|
+
},
|
|
122
|
+
"required": [
|
|
123
|
+
"name"
|
|
124
|
+
]
|
|
125
|
+
},
|
|
126
|
+
"ConstraintsDefinition": {
|
|
127
|
+
"type": "object",
|
|
128
|
+
"description": "Execution constraints and limits",
|
|
129
|
+
"properties": {
|
|
130
|
+
"max_iterations": {
|
|
131
|
+
"type": "integer",
|
|
132
|
+
"description": "Maximum number of execution iterations",
|
|
133
|
+
"minimum": 1
|
|
134
|
+
},
|
|
135
|
+
"timeout": {
|
|
136
|
+
"type": "string",
|
|
137
|
+
"description": "Execution timeout (e.g., \"30s\", \"5m\", \"1h\")",
|
|
138
|
+
"pattern": "^\\d+[smh]$"
|
|
139
|
+
},
|
|
140
|
+
"memory": {
|
|
141
|
+
"type": "string",
|
|
142
|
+
"description": "Memory limit (e.g., \"512Mi\", \"1Gi\")"
|
|
143
|
+
},
|
|
144
|
+
"rate_limit": {
|
|
145
|
+
"type": "integer",
|
|
146
|
+
"description": "Maximum requests per time period",
|
|
147
|
+
"minimum": 1
|
|
148
|
+
},
|
|
149
|
+
"daily_budget": {
|
|
150
|
+
"type": "number",
|
|
151
|
+
"description": "Maximum daily cost in USD",
|
|
152
|
+
"minimum": 0
|
|
153
|
+
},
|
|
154
|
+
"hourly_budget": {
|
|
155
|
+
"type": "number",
|
|
156
|
+
"description": "Maximum hourly cost in USD",
|
|
157
|
+
"minimum": 0
|
|
158
|
+
},
|
|
159
|
+
"token_budget": {
|
|
160
|
+
"type": "integer",
|
|
161
|
+
"description": "Maximum total tokens allowed",
|
|
162
|
+
"minimum": 1
|
|
163
|
+
},
|
|
164
|
+
"requests_per_minute": {
|
|
165
|
+
"type": "integer",
|
|
166
|
+
"description": "Maximum requests per minute",
|
|
167
|
+
"minimum": 1
|
|
168
|
+
},
|
|
169
|
+
"requests_per_hour": {
|
|
170
|
+
"type": "integer",
|
|
171
|
+
"description": "Maximum requests per hour",
|
|
172
|
+
"minimum": 1
|
|
173
|
+
},
|
|
174
|
+
"requests_per_day": {
|
|
175
|
+
"type": "integer",
|
|
176
|
+
"description": "Maximum requests per day",
|
|
177
|
+
"minimum": 1
|
|
178
|
+
},
|
|
179
|
+
"blocked_patterns": {
|
|
180
|
+
"type": "array",
|
|
181
|
+
"description": "Content patterns to block",
|
|
182
|
+
"items": {
|
|
183
|
+
"type": "string"
|
|
184
|
+
}
|
|
185
|
+
},
|
|
186
|
+
"blocked_topics": {
|
|
187
|
+
"type": "array",
|
|
188
|
+
"description": "Topics to avoid",
|
|
189
|
+
"items": {
|
|
190
|
+
"type": "string"
|
|
191
|
+
}
|
|
192
|
+
}
|
|
193
|
+
}
|
|
194
|
+
},
|
|
195
|
+
"OutputDefinition": {
|
|
196
|
+
"type": "object",
|
|
197
|
+
"description": "Output destination configuration",
|
|
198
|
+
"properties": {
|
|
199
|
+
"workspace": {
|
|
200
|
+
"type": "string",
|
|
201
|
+
"description": "Workspace directory path for file outputs"
|
|
202
|
+
},
|
|
203
|
+
"slack": {
|
|
204
|
+
"type": "object",
|
|
205
|
+
"description": "Slack integration configuration",
|
|
206
|
+
"properties": {
|
|
207
|
+
"channel": {
|
|
208
|
+
"type": "string",
|
|
209
|
+
"description": "Slack channel name or ID"
|
|
210
|
+
}
|
|
211
|
+
},
|
|
212
|
+
"required": [
|
|
213
|
+
"channel"
|
|
214
|
+
]
|
|
215
|
+
},
|
|
216
|
+
"email": {
|
|
217
|
+
"type": "object",
|
|
218
|
+
"description": "Email notification configuration",
|
|
219
|
+
"properties": {
|
|
220
|
+
"to": {
|
|
221
|
+
"type": "string",
|
|
222
|
+
"description": "Email recipient address",
|
|
223
|
+
"format": "email"
|
|
224
|
+
}
|
|
225
|
+
},
|
|
226
|
+
"required": [
|
|
227
|
+
"to"
|
|
228
|
+
]
|
|
229
|
+
}
|
|
230
|
+
}
|
|
231
|
+
},
|
|
232
|
+
"WebhookDefinition": {
|
|
233
|
+
"type": "object",
|
|
234
|
+
"description": "Webhook endpoint configuration",
|
|
235
|
+
"properties": {
|
|
236
|
+
"path": {
|
|
237
|
+
"type": "string",
|
|
238
|
+
"description": "URL path for webhook endpoint",
|
|
239
|
+
"pattern": "^/"
|
|
240
|
+
},
|
|
241
|
+
"method": {
|
|
242
|
+
"type": "string",
|
|
243
|
+
"description": "HTTP method",
|
|
244
|
+
"enum": [
|
|
245
|
+
"get",
|
|
246
|
+
"post",
|
|
247
|
+
"put",
|
|
248
|
+
"delete",
|
|
249
|
+
"patch"
|
|
250
|
+
],
|
|
251
|
+
"default": "post"
|
|
252
|
+
},
|
|
253
|
+
"authentication": {
|
|
254
|
+
"$ref": "#/definitions/WebhookAuthentication"
|
|
255
|
+
},
|
|
256
|
+
"validations": {
|
|
257
|
+
"type": "array",
|
|
258
|
+
"description": "Request validation rules",
|
|
259
|
+
"items": {
|
|
260
|
+
"type": "object",
|
|
261
|
+
"properties": {
|
|
262
|
+
"type": {
|
|
263
|
+
"type": "string",
|
|
264
|
+
"enum": [
|
|
265
|
+
"headers",
|
|
266
|
+
"content_type",
|
|
267
|
+
"custom"
|
|
268
|
+
]
|
|
269
|
+
}
|
|
270
|
+
}
|
|
271
|
+
}
|
|
272
|
+
}
|
|
273
|
+
},
|
|
274
|
+
"required": [
|
|
275
|
+
"path"
|
|
276
|
+
]
|
|
277
|
+
},
|
|
278
|
+
"WebhookAuthentication": {
|
|
279
|
+
"type": "object",
|
|
280
|
+
"description": "Webhook authentication configuration",
|
|
281
|
+
"properties": {
|
|
282
|
+
"type": {
|
|
283
|
+
"type": "string",
|
|
284
|
+
"description": "Authentication type",
|
|
285
|
+
"enum": [
|
|
286
|
+
"hmac",
|
|
287
|
+
"api_key",
|
|
288
|
+
"bearer",
|
|
289
|
+
"custom"
|
|
290
|
+
]
|
|
291
|
+
},
|
|
292
|
+
"secret": {
|
|
293
|
+
"type": "string",
|
|
294
|
+
"description": "Secret key for authentication"
|
|
295
|
+
},
|
|
296
|
+
"header": {
|
|
297
|
+
"type": "string",
|
|
298
|
+
"description": "Header name containing signature/token"
|
|
299
|
+
},
|
|
300
|
+
"algorithm": {
|
|
301
|
+
"type": "string",
|
|
302
|
+
"description": "HMAC algorithm",
|
|
303
|
+
"enum": [
|
|
304
|
+
"sha1",
|
|
305
|
+
"sha256",
|
|
306
|
+
"sha512"
|
|
307
|
+
]
|
|
308
|
+
},
|
|
309
|
+
"prefix": {
|
|
310
|
+
"type": "string",
|
|
311
|
+
"description": "Signature prefix (e.g., \"sha256=\")"
|
|
312
|
+
}
|
|
313
|
+
}
|
|
314
|
+
},
|
|
315
|
+
"McpServerDefinition": {
|
|
316
|
+
"type": "object",
|
|
317
|
+
"description": "MCP (Model Context Protocol) server configuration",
|
|
318
|
+
"properties": {
|
|
319
|
+
"name": {
|
|
320
|
+
"type": "string",
|
|
321
|
+
"description": "MCP server name"
|
|
322
|
+
},
|
|
323
|
+
"tools": {
|
|
324
|
+
"type": "object",
|
|
325
|
+
"description": "Tools exposed via MCP",
|
|
326
|
+
"additionalProperties": {
|
|
327
|
+
"$ref": "#/definitions/ToolDefinition"
|
|
328
|
+
}
|
|
329
|
+
}
|
|
330
|
+
}
|
|
331
|
+
},
|
|
332
|
+
"ChatEndpointDefinition": {
|
|
333
|
+
"type": "object",
|
|
334
|
+
"description": "OpenAI-compatible chat endpoint configuration",
|
|
335
|
+
"properties": {
|
|
336
|
+
"system_prompt": {
|
|
337
|
+
"type": "string",
|
|
338
|
+
"description": "System prompt for chat mode"
|
|
339
|
+
},
|
|
340
|
+
"temperature": {
|
|
341
|
+
"type": "number",
|
|
342
|
+
"description": "Sampling temperature (0.0-2.0)",
|
|
343
|
+
"minimum": 0.0,
|
|
344
|
+
"maximum": 2.0,
|
|
345
|
+
"default": 0.7
|
|
346
|
+
},
|
|
347
|
+
"max_tokens": {
|
|
348
|
+
"type": "integer",
|
|
349
|
+
"description": "Maximum tokens in response",
|
|
350
|
+
"minimum": 1,
|
|
351
|
+
"default": 2000
|
|
352
|
+
},
|
|
353
|
+
"model_name": {
|
|
354
|
+
"type": "string",
|
|
355
|
+
"description": "Model name exposed in API"
|
|
356
|
+
},
|
|
357
|
+
"top_p": {
|
|
358
|
+
"type": "number",
|
|
359
|
+
"description": "Nucleus sampling parameter (0.0-1.0)",
|
|
360
|
+
"minimum": 0.0,
|
|
361
|
+
"maximum": 1.0,
|
|
362
|
+
"default": 1.0
|
|
363
|
+
},
|
|
364
|
+
"frequency_penalty": {
|
|
365
|
+
"type": "number",
|
|
366
|
+
"description": "Frequency penalty (-2.0 to 2.0)",
|
|
367
|
+
"minimum": -2.0,
|
|
368
|
+
"maximum": 2.0,
|
|
369
|
+
"default": 0.0
|
|
370
|
+
},
|
|
371
|
+
"presence_penalty": {
|
|
372
|
+
"type": "number",
|
|
373
|
+
"description": "Presence penalty (-2.0 to 2.0)",
|
|
374
|
+
"minimum": -2.0,
|
|
375
|
+
"maximum": 2.0,
|
|
376
|
+
"default": 0.0
|
|
377
|
+
},
|
|
378
|
+
"stop_sequences": {
|
|
379
|
+
"type": "array",
|
|
380
|
+
"description": "Sequences that stop generation",
|
|
381
|
+
"items": {
|
|
382
|
+
"type": "string"
|
|
383
|
+
}
|
|
384
|
+
}
|
|
385
|
+
}
|
|
386
|
+
},
|
|
387
|
+
"ToolDefinition": {
|
|
388
|
+
"type": "object",
|
|
389
|
+
"description": "MCP tool definition",
|
|
390
|
+
"properties": {
|
|
391
|
+
"name": {
|
|
392
|
+
"type": "string",
|
|
393
|
+
"description": "Tool name (lowercase, alphanumeric, underscores)",
|
|
394
|
+
"pattern": "^[a-z0-9_]+$"
|
|
395
|
+
},
|
|
396
|
+
"description": {
|
|
397
|
+
"type": "string",
|
|
398
|
+
"description": "Human-readable tool description"
|
|
399
|
+
},
|
|
400
|
+
"parameters": {
|
|
401
|
+
"type": "object",
|
|
402
|
+
"description": "Tool parameters",
|
|
403
|
+
"additionalProperties": {
|
|
404
|
+
"$ref": "#/definitions/ParameterDefinition"
|
|
405
|
+
}
|
|
406
|
+
}
|
|
407
|
+
},
|
|
408
|
+
"required": [
|
|
409
|
+
"name",
|
|
410
|
+
"description"
|
|
411
|
+
]
|
|
412
|
+
},
|
|
413
|
+
"ParameterDefinition": {
|
|
414
|
+
"type": "object",
|
|
415
|
+
"description": "Tool parameter definition",
|
|
416
|
+
"properties": {
|
|
417
|
+
"type": {
|
|
418
|
+
"type": "string",
|
|
419
|
+
"description": "Parameter type",
|
|
420
|
+
"enum": [
|
|
421
|
+
"string",
|
|
422
|
+
"number",
|
|
423
|
+
"integer",
|
|
424
|
+
"boolean",
|
|
425
|
+
"array",
|
|
426
|
+
"object"
|
|
427
|
+
]
|
|
428
|
+
},
|
|
429
|
+
"description": {
|
|
430
|
+
"type": "string",
|
|
431
|
+
"description": "Parameter description"
|
|
432
|
+
},
|
|
433
|
+
"required": {
|
|
434
|
+
"type": "boolean",
|
|
435
|
+
"description": "Whether parameter is required",
|
|
436
|
+
"default": false
|
|
437
|
+
},
|
|
438
|
+
"default": {
|
|
439
|
+
"description": "Default value if not provided"
|
|
440
|
+
},
|
|
441
|
+
"enum": {
|
|
442
|
+
"type": "array",
|
|
443
|
+
"description": "Allowed values",
|
|
444
|
+
"items": {}
|
|
445
|
+
}
|
|
446
|
+
},
|
|
447
|
+
"required": [
|
|
448
|
+
"type"
|
|
449
|
+
]
|
|
450
|
+
}
|
|
451
|
+
}
|
|
452
|
+
}
|
|
@@ -6,12 +6,12 @@ Adopt the [ruby-engineer](../../../requirements/personas/ruby-engineer.md) perso
|
|
|
6
6
|
|
|
7
7
|
## Inputs
|
|
8
8
|
|
|
9
|
-
- id int -- A
|
|
9
|
+
- id int -- A GitHub issue index ID.
|
|
10
10
|
|
|
11
11
|
## Background
|
|
12
12
|
|
|
13
13
|
This is a early-phase project that works exclusively in main.
|
|
14
|
-
Issues are found using the
|
|
14
|
+
Issues are found using the `gh` command for this project:
|
|
15
15
|
- Owner: language-operator
|
|
16
16
|
- Repository: language-operator-gem
|
|
17
17
|
|
metadata
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: language-operator
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 0.1.
|
|
4
|
+
version: 0.1.31
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- James Ryan
|
|
@@ -408,6 +408,7 @@ files:
|
|
|
408
408
|
- completions/aictl.bash
|
|
409
409
|
- completions/aictl.fish
|
|
410
410
|
- docs/architecture/agent-runtime.md
|
|
411
|
+
- docs/dsl/SCHEMA_VERSION.md
|
|
411
412
|
- docs/dsl/agent-reference.md
|
|
412
413
|
- docs/dsl/best-practices.md
|
|
413
414
|
- docs/dsl/chat-endpoints.md
|
|
@@ -415,14 +416,6 @@ files:
|
|
|
415
416
|
- docs/dsl/mcp-integration.md
|
|
416
417
|
- docs/dsl/webhooks.md
|
|
417
418
|
- docs/dsl/workflows.md
|
|
418
|
-
- examples/README.md
|
|
419
|
-
- examples/agent_example.rb
|
|
420
|
-
- examples/chat_endpoint_agent.rb
|
|
421
|
-
- examples/github_webhook_agent.rb
|
|
422
|
-
- examples/mcp_agent.rb
|
|
423
|
-
- examples/oauth_callback_agent.rb
|
|
424
|
-
- examples/stripe_webhook_agent.rb
|
|
425
|
-
- examples/webhook_agent.rb
|
|
426
419
|
- lib/language_operator.rb
|
|
427
420
|
- lib/language_operator/agent.rb
|
|
428
421
|
- lib/language_operator/agent/base.rb
|
|
@@ -447,6 +440,7 @@ files:
|
|
|
447
440
|
- lib/language_operator/cli/commands/persona.rb
|
|
448
441
|
- lib/language_operator/cli/commands/quickstart.rb
|
|
449
442
|
- lib/language_operator/cli/commands/status.rb
|
|
443
|
+
- lib/language_operator/cli/commands/system.rb
|
|
450
444
|
- lib/language_operator/cli/commands/tool.rb
|
|
451
445
|
- lib/language_operator/cli/commands/use.rb
|
|
452
446
|
- lib/language_operator/cli/errors/handler.rb
|
|
@@ -454,12 +448,14 @@ files:
|
|
|
454
448
|
- lib/language_operator/cli/formatters/code_formatter.rb
|
|
455
449
|
- lib/language_operator/cli/formatters/log_formatter.rb
|
|
456
450
|
- lib/language_operator/cli/formatters/progress_formatter.rb
|
|
451
|
+
- lib/language_operator/cli/formatters/status_formatter.rb
|
|
457
452
|
- lib/language_operator/cli/formatters/table_formatter.rb
|
|
458
453
|
- lib/language_operator/cli/formatters/value_formatter.rb
|
|
459
454
|
- lib/language_operator/cli/helpers/cluster_context.rb
|
|
460
455
|
- lib/language_operator/cli/helpers/cluster_validator.rb
|
|
461
456
|
- lib/language_operator/cli/helpers/editor_helper.rb
|
|
462
457
|
- lib/language_operator/cli/helpers/kubeconfig_validator.rb
|
|
458
|
+
- lib/language_operator/cli/helpers/pastel_helper.rb
|
|
463
459
|
- lib/language_operator/cli/helpers/resource_dependency_checker.rb
|
|
464
460
|
- lib/language_operator/cli/helpers/schedule_builder.rb
|
|
465
461
|
- lib/language_operator/cli/helpers/user_prompts.rb
|
|
@@ -489,6 +485,7 @@ files:
|
|
|
489
485
|
- lib/language_operator/dsl/mcp_server_definition.rb
|
|
490
486
|
- lib/language_operator/dsl/parameter_definition.rb
|
|
491
487
|
- lib/language_operator/dsl/registry.rb
|
|
488
|
+
- lib/language_operator/dsl/schema.rb
|
|
492
489
|
- lib/language_operator/dsl/shell.rb
|
|
493
490
|
- lib/language_operator/dsl/tool_definition.rb
|
|
494
491
|
- lib/language_operator/dsl/webhook_authentication.rb
|
|
@@ -501,6 +498,13 @@ files:
|
|
|
501
498
|
- lib/language_operator/logger.rb
|
|
502
499
|
- lib/language_operator/retry.rb
|
|
503
500
|
- lib/language_operator/retryable.rb
|
|
501
|
+
- lib/language_operator/templates/README.md
|
|
502
|
+
- lib/language_operator/templates/examples/agent_synthesis.tmpl
|
|
503
|
+
- lib/language_operator/templates/examples/persona_distillation.tmpl
|
|
504
|
+
- lib/language_operator/templates/schema/.gitkeep
|
|
505
|
+
- lib/language_operator/templates/schema/CHANGELOG.md
|
|
506
|
+
- lib/language_operator/templates/schema/agent_dsl_openapi.yaml
|
|
507
|
+
- lib/language_operator/templates/schema/agent_dsl_schema.json
|
|
504
508
|
- lib/language_operator/tool_loader.rb
|
|
505
509
|
- lib/language_operator/validators.rb
|
|
506
510
|
- lib/language_operator/version.rb
|