ask-graph 0.7.6 → 0.7.8
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 +13 -0
- data/lib/ask/graph/runner.rb +6 -3
- data/lib/ask/graph/version.rb +1 -1
- data/lib/ask/graph.rb +3 -2
- metadata +3 -3
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: 96e452555861ec2406dc6bee7b68c664fe17191ea9dead5d11c68c68a5063c46
|
|
4
|
+
data.tar.gz: 224c4ee8ba2d3d374d580d1353aa836252e15b0f834fd395e1d7d319ed622132
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: bec14936176ba58330921b10650dc10ee60dc5b551a4bc7b2fd6b97756528f3dc6e40e33c5b4d6f3b094759633721d5cf6b985a41763b94233ddb434ec9e8215
|
|
7
|
+
data.tar.gz: c4d95a01d8c958e6300fda1229a876135abcfb81f4ade0fb5521b6fed15c863a31bf4e6cb96cf576f520a7c7cfadb6c5fe7b645e9a18c884e66b5bd1ce2644ec
|
data/CHANGELOG.md
CHANGED
|
@@ -1,3 +1,16 @@
|
|
|
1
|
+
## [0.7.8] — 2026-09-18
|
|
2
|
+
|
|
3
|
+
### Fixed
|
|
4
|
+
|
|
5
|
+
- **Checkpoint resume works again.** The `@run_id` per-invocation isolation fix
|
|
6
|
+
(0.7.7) inadvertently broke checkpoint resume because each new Runner
|
|
7
|
+
instance generated a different random key. Now `run_id:` is an optional
|
|
8
|
+
parameter — omit it for automatic isolation between consecutive runs,
|
|
9
|
+
or pass the captured `run_id` from a previous run to resume from its
|
|
10
|
+
checkpoint.
|
|
11
|
+
|
|
12
|
+
- **Raise the `ask-core` constraint** from `>= 0.11.3` to `>= 0.12.0`.
|
|
13
|
+
|
|
1
14
|
## [0.7.2] - 2026-08-04
|
|
2
15
|
|
|
3
16
|
### Fixed
|
data/lib/ask/graph/runner.rb
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
# frozen_string_literal: true
|
|
2
2
|
|
|
3
3
|
require "json"
|
|
4
|
+
require "securerandom"
|
|
4
5
|
require "timeout"
|
|
5
6
|
require "time"
|
|
6
7
|
|
|
@@ -22,7 +23,7 @@ module Ask
|
|
|
22
23
|
# condition evaluation, parallel execution, timeouts, retries,
|
|
23
24
|
# lifecycle hooks, and human-in-the-loop pauses.
|
|
24
25
|
class Runner
|
|
25
|
-
attr_reader :declarations, :store
|
|
26
|
+
attr_reader :declarations, :store, :run_id
|
|
26
27
|
|
|
27
28
|
# @param declarations [Array<Hash>] step declarations
|
|
28
29
|
# @param storage [#set, #get, #delete] key-value store for checkpoint data
|
|
@@ -34,7 +35,8 @@ module Ask
|
|
|
34
35
|
hooks: { before_step: [], after_step: [], on_failure: [] },
|
|
35
36
|
graph_instance: nil,
|
|
36
37
|
step_timeout: nil,
|
|
37
|
-
workflow_timeout: nil
|
|
38
|
+
workflow_timeout: nil,
|
|
39
|
+
run_id: nil)
|
|
38
40
|
@declarations = declarations
|
|
39
41
|
@store = storage
|
|
40
42
|
@hooks = hooks
|
|
@@ -42,6 +44,7 @@ module Ask
|
|
|
42
44
|
@step_timeout = step_timeout
|
|
43
45
|
@workflow_timeout = workflow_timeout
|
|
44
46
|
@completed_steps = []
|
|
47
|
+
@run_id = run_id || SecureRandom.hex(8)
|
|
45
48
|
end
|
|
46
49
|
|
|
47
50
|
def run(context)
|
|
@@ -203,7 +206,7 @@ module Ask
|
|
|
203
206
|
RUN_KEY = "ask:graph:run:%s"
|
|
204
207
|
|
|
205
208
|
def checkpoint_key
|
|
206
|
-
RUN_KEY % @declarations.object_id
|
|
209
|
+
RUN_KEY % "#{@declarations.object_id}:#{@run_id}"
|
|
207
210
|
end
|
|
208
211
|
|
|
209
212
|
def each_checkpoint_key
|
data/lib/ask/graph/version.rb
CHANGED
data/lib/ask/graph.rb
CHANGED
|
@@ -281,7 +281,7 @@ module Ask
|
|
|
281
281
|
end
|
|
282
282
|
end
|
|
283
283
|
|
|
284
|
-
def initialize(input = nil, storage: nil)
|
|
284
|
+
def initialize(input = nil, storage: nil, run_id: nil)
|
|
285
285
|
@input = input
|
|
286
286
|
store = storage || self.class.storage || Ask::State::Memory.new
|
|
287
287
|
hooks = self.class.lifecycle_hooks
|
|
@@ -290,7 +290,8 @@ module Ask
|
|
|
290
290
|
hooks: hooks,
|
|
291
291
|
graph_instance: self,
|
|
292
292
|
step_timeout: self.class.step_timeout,
|
|
293
|
-
workflow_timeout: self.class.workflow_timeout
|
|
293
|
+
workflow_timeout: self.class.workflow_timeout,
|
|
294
|
+
run_id: run_id)
|
|
294
295
|
@context = nil
|
|
295
296
|
end
|
|
296
297
|
|
metadata
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: ask-graph
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 0.7.
|
|
4
|
+
version: 0.7.8
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- Kaka Ruto
|
|
@@ -15,14 +15,14 @@ dependencies:
|
|
|
15
15
|
requirements:
|
|
16
16
|
- - ">="
|
|
17
17
|
- !ruby/object:Gem::Version
|
|
18
|
-
version: 0.
|
|
18
|
+
version: 0.12.0
|
|
19
19
|
type: :runtime
|
|
20
20
|
prerelease: false
|
|
21
21
|
version_requirements: !ruby/object:Gem::Requirement
|
|
22
22
|
requirements:
|
|
23
23
|
- - ">="
|
|
24
24
|
- !ruby/object:Gem::Version
|
|
25
|
-
version: 0.
|
|
25
|
+
version: 0.12.0
|
|
26
26
|
- !ruby/object:Gem::Dependency
|
|
27
27
|
name: ask-state-providers
|
|
28
28
|
requirement: !ruby/object:Gem::Requirement
|