language-operator 0.1.50 → 0.1.51
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/Gemfile.lock +1 -1
- data/lib/language_operator/agent/scheduler.rb +14 -4
- data/lib/language_operator/dsl/agent_definition.rb +7 -0
- data/lib/language_operator/templates/schema/agent_dsl_openapi.yaml +1 -1
- data/lib/language_operator/templates/schema/agent_dsl_schema.json +1 -1
- data/lib/language_operator/version.rb +1 -1
- metadata +1 -1
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: bdbbc50e60a7e0341e554e5dfcf6a10d767f94a1fd0c0b3d38746de5931588be
|
|
4
|
+
data.tar.gz: d78094e29d83460178895a73a2eb68bf15669ac6ca5428972d8f12a26cd4ff05
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: a3cd2f73fc44ce393039949de80d094d27137ef0c2c0d3ee1a3fea062da9aeeeb2a366b4471c21892109a7210ff289166907c58a56c56b4b2db2eae4cd1f289f
|
|
7
|
+
data.tar.gz: 61bcbfcd13a10cad764dfe1d09caef92e584f1a7b9adf3846e64c7f44cc0e0843069404fc2b0d510be901a181045021b78de884f1428bc4543c3158ca942c2f7
|
data/Gemfile.lock
CHANGED
|
@@ -58,8 +58,13 @@ module LanguageOperator
|
|
|
58
58
|
logger.info("Workspace: #{@agent.workspace_path}")
|
|
59
59
|
logger.info("Connected to #{@agent.servers_info.length} MCP server(s)")
|
|
60
60
|
|
|
61
|
-
# Extract schedule from agent definition
|
|
62
|
-
cron_schedule = agent_def.schedule
|
|
61
|
+
# Extract schedule from agent definition and validate
|
|
62
|
+
cron_schedule = agent_def.schedule
|
|
63
|
+
if cron_schedule.nil? || cron_schedule.empty?
|
|
64
|
+
raise ArgumentError,
|
|
65
|
+
"Schedule required for scheduled mode agent '#{agent_def.name}'. " \
|
|
66
|
+
'Use schedule() method to provide a cron expression.'
|
|
67
|
+
end
|
|
63
68
|
|
|
64
69
|
logger.info('Scheduling workflow', cron: cron_schedule, agent: agent_def.name)
|
|
65
70
|
|
|
@@ -95,8 +100,13 @@ module LanguageOperator
|
|
|
95
100
|
logger.info("Workspace: #{@agent.workspace_path}")
|
|
96
101
|
logger.info("Connected to #{@agent.servers_info.length} MCP server(s)")
|
|
97
102
|
|
|
98
|
-
# Extract schedule from agent definition
|
|
99
|
-
cron_schedule = agent_def.schedule
|
|
103
|
+
# Extract schedule from agent definition and validate
|
|
104
|
+
cron_schedule = agent_def.schedule
|
|
105
|
+
if cron_schedule.nil? || cron_schedule.empty?
|
|
106
|
+
raise ArgumentError,
|
|
107
|
+
"Schedule required for scheduled mode agent '#{agent_def.name}'. " \
|
|
108
|
+
'Use schedule() method to provide a cron expression.'
|
|
109
|
+
end
|
|
100
110
|
|
|
101
111
|
logger.info('Scheduling main block execution', cron: cron_schedule, agent: agent_def.name)
|
|
102
112
|
|
|
@@ -284,6 +284,13 @@ module LanguageOperator
|
|
|
284
284
|
def mode(mode = nil)
|
|
285
285
|
return @execution_mode if mode.nil?
|
|
286
286
|
|
|
287
|
+
# Validate that scheduled mode has a schedule
|
|
288
|
+
if mode == :scheduled && @schedule.nil?
|
|
289
|
+
raise ArgumentError,
|
|
290
|
+
'Cannot set mode to :scheduled without a schedule. ' \
|
|
291
|
+
'Use schedule() method to provide a cron expression first.'
|
|
292
|
+
end
|
|
293
|
+
|
|
287
294
|
@execution_mode = mode
|
|
288
295
|
end
|
|
289
296
|
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
"$id": "https://github.com/language-operator/language-operator-gem/schema/agent-dsl.json",
|
|
4
4
|
"title": "Language Operator Agent DSL",
|
|
5
5
|
"description": "Schema for defining autonomous AI agents using the Language Operator DSL",
|
|
6
|
-
"version": "0.1.
|
|
6
|
+
"version": "0.1.51",
|
|
7
7
|
"type": "object",
|
|
8
8
|
"properties": {
|
|
9
9
|
"name": {
|