@agntk/core 0.3.3 → 1.0.0
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/dist/advanced/index.d.ts +13 -22
- package/dist/advanced/index.d.ts.map +1 -1
- package/dist/advanced/index.js +10 -55
- package/dist/advanced/index.js.map +1 -1
- package/dist/agent.d.ts +2 -35
- package/dist/agent.d.ts.map +1 -1
- package/dist/agent.js +113 -111
- package/dist/agent.js.map +1 -1
- package/dist/config/defaults.d.ts +1 -5
- package/dist/config/defaults.d.ts.map +1 -1
- package/dist/config/defaults.js +1 -11
- package/dist/config/defaults.js.map +1 -1
- package/dist/config/index.d.ts +5 -1
- package/dist/config/index.d.ts.map +1 -1
- package/dist/config/index.js +7 -7
- package/dist/config/index.js.map +1 -1
- package/dist/config/loader.d.ts +0 -40
- package/dist/config/loader.d.ts.map +1 -1
- package/dist/config/loader.js +3 -80
- package/dist/config/loader.js.map +1 -1
- package/dist/config/schema.d.ts +117 -788
- package/dist/config/schema.d.ts.map +1 -1
- package/dist/config/schema.js +52 -63
- package/dist/config/schema.js.map +1 -1
- package/dist/constants.d.ts +0 -11
- package/dist/constants.d.ts.map +1 -1
- package/dist/constants.js +0 -17
- package/dist/constants.js.map +1 -1
- package/dist/evals/assertions.d.ts +0 -35
- package/dist/evals/assertions.d.ts.map +1 -1
- package/dist/evals/assertions.js +0 -51
- package/dist/evals/assertions.js.map +1 -1
- package/dist/evals/index.d.ts +0 -5
- package/dist/evals/index.d.ts.map +1 -1
- package/dist/evals/index.js +0 -5
- package/dist/evals/index.js.map +1 -1
- package/dist/evals/runner.d.ts +0 -27
- package/dist/evals/runner.d.ts.map +1 -1
- package/dist/evals/runner.js +3 -45
- package/dist/evals/runner.js.map +1 -1
- package/dist/evals/types.d.ts +0 -14
- package/dist/evals/types.d.ts.map +1 -1
- package/dist/evals/types.js +0 -3
- package/dist/evals/types.js.map +1 -1
- package/dist/guardrails/built-ins.d.ts +0 -28
- package/dist/guardrails/built-ins.d.ts.map +1 -1
- package/dist/guardrails/built-ins.js +21 -47
- package/dist/guardrails/built-ins.js.map +1 -1
- package/dist/guardrails/index.d.ts +1 -4
- package/dist/guardrails/index.d.ts.map +1 -1
- package/dist/guardrails/index.js +1 -4
- package/dist/guardrails/index.js.map +1 -1
- package/dist/guardrails/runner.d.ts +0 -30
- package/dist/guardrails/runner.d.ts.map +1 -1
- package/dist/guardrails/runner.js +1 -46
- package/dist/guardrails/runner.js.map +1 -1
- package/dist/guardrails/types.d.ts +0 -35
- package/dist/guardrails/types.d.ts.map +1 -1
- package/dist/guardrails/types.js +4 -7
- package/dist/guardrails/types.js.map +1 -1
- package/dist/index.d.ts +4 -12
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +2 -31
- package/dist/index.js.map +1 -1
- package/dist/memory/loader.d.ts +0 -17
- package/dist/memory/loader.d.ts.map +1 -1
- package/dist/memory/loader.js +5 -27
- package/dist/memory/loader.js.map +1 -1
- package/dist/memory/store.d.ts +8 -16
- package/dist/memory/store.d.ts.map +1 -1
- package/dist/memory/store.js +101 -32
- package/dist/memory/store.js.map +1 -1
- package/dist/memory/types.d.ts +10 -30
- package/dist/memory/types.d.ts.map +1 -1
- package/dist/memory/types.js +0 -6
- package/dist/memory/types.js.map +1 -1
- package/dist/models.d.ts +9 -32
- package/dist/models.d.ts.map +1 -1
- package/dist/models.js +25 -68
- package/dist/models.js.map +1 -1
- package/dist/observability/index.d.ts +0 -3
- package/dist/observability/index.d.ts.map +1 -1
- package/dist/observability/index.js +0 -3
- package/dist/observability/index.js.map +1 -1
- package/dist/observability/langfuse.d.ts +0 -38
- package/dist/observability/langfuse.d.ts.map +1 -1
- package/dist/observability/langfuse.js +6 -55
- package/dist/observability/langfuse.js.map +1 -1
- package/dist/observability/types.d.ts +0 -21
- package/dist/observability/types.d.ts.map +1 -1
- package/dist/observability/types.js +0 -3
- package/dist/observability/types.js.map +1 -1
- package/dist/presets/tool-preset-registry.d.ts +0 -21
- package/dist/presets/tool-preset-registry.d.ts.map +1 -1
- package/dist/presets/tool-preset-registry.js +15 -34
- package/dist/presets/tool-preset-registry.js.map +1 -1
- package/dist/presets/tools.d.ts +41 -39
- package/dist/presets/tools.d.ts.map +1 -1
- package/dist/presets/tools.js +46 -40
- package/dist/presets/tools.js.map +1 -1
- package/dist/prompts/context.d.ts +0 -4
- package/dist/prompts/context.d.ts.map +1 -1
- package/dist/prompts/context.js +21 -33
- package/dist/prompts/context.js.map +1 -1
- package/dist/prompts/template.d.ts +0 -11
- package/dist/prompts/template.d.ts.map +1 -1
- package/dist/prompts/template.js +4 -14
- package/dist/prompts/template.js.map +1 -1
- package/dist/provider-resolver.d.ts +0 -29
- package/dist/provider-resolver.d.ts.map +1 -1
- package/dist/provider-resolver.js +17 -61
- package/dist/provider-resolver.js.map +1 -1
- package/dist/reflection.d.ts +0 -34
- package/dist/reflection.d.ts.map +1 -1
- package/dist/reflection.js +0 -40
- package/dist/reflection.js.map +1 -1
- package/dist/skills/index.d.ts +0 -3
- package/dist/skills/index.d.ts.map +1 -1
- package/dist/skills/index.js +0 -3
- package/dist/skills/index.js.map +1 -1
- package/dist/skills/loader.d.ts +0 -69
- package/dist/skills/loader.d.ts.map +1 -1
- package/dist/skills/loader.js +38 -130
- package/dist/skills/loader.js.map +1 -1
- package/dist/skills/types.d.ts +0 -36
- package/dist/skills/types.d.ts.map +1 -1
- package/dist/skills/types.js +0 -4
- package/dist/skills/types.js.map +1 -1
- package/dist/system-detect.d.ts +0 -57
- package/dist/system-detect.d.ts.map +1 -1
- package/dist/system-detect.js +9 -114
- package/dist/system-detect.js.map +1 -1
- package/dist/tools/approval.d.ts +0 -47
- package/dist/tools/approval.d.ts.map +1 -1
- package/dist/tools/approval.js +0 -46
- package/dist/tools/approval.js.map +1 -1
- package/dist/tools/ast-grep/cli.d.ts.map +1 -1
- package/dist/tools/ast-grep/cli.js +10 -4
- package/dist/tools/ast-grep/cli.js.map +1 -1
- package/dist/tools/ast-grep/constants.d.ts.map +1 -1
- package/dist/tools/ast-grep/constants.js +7 -14
- package/dist/tools/ast-grep/constants.js.map +1 -1
- package/dist/tools/ast-grep/downloader.d.ts.map +1 -1
- package/dist/tools/ast-grep/downloader.js +1 -4
- package/dist/tools/ast-grep/downloader.js.map +1 -1
- package/dist/tools/ast-grep/index.d.ts +2 -2
- package/dist/tools/ast-grep/index.d.ts.map +1 -1
- package/dist/tools/ast-grep/index.js +1 -1
- package/dist/tools/ast-grep/index.js.map +1 -1
- package/dist/tools/ast-grep/tools.d.ts +4 -4
- package/dist/tools/ast-grep/tools.d.ts.map +1 -1
- package/dist/tools/ast-grep/tools.js +2 -8
- package/dist/tools/ast-grep/tools.js.map +1 -1
- package/dist/tools/browser/index.d.ts +4 -4
- package/dist/tools/browser/index.d.ts.map +1 -1
- package/dist/tools/browser/index.js +2 -3
- package/dist/tools/browser/index.js.map +1 -1
- package/dist/tools/browser/stream.d.ts +0 -32
- package/dist/tools/browser/stream.d.ts.map +1 -1
- package/dist/tools/browser/stream.js +0 -53
- package/dist/tools/browser/stream.js.map +1 -1
- package/dist/tools/browser/tool.d.ts +10 -15
- package/dist/tools/browser/tool.d.ts.map +1 -1
- package/dist/tools/browser/tool.js +2 -26
- package/dist/tools/browser/tool.js.map +1 -1
- package/dist/tools/browser/types.d.ts +31 -156
- package/dist/tools/browser/types.d.ts.map +1 -1
- package/dist/tools/browser/types.js +22 -17
- package/dist/tools/browser/types.js.map +1 -1
- package/dist/tools/deep-reasoning/constants.d.ts +0 -6
- package/dist/tools/deep-reasoning/constants.d.ts.map +1 -1
- package/dist/tools/deep-reasoning/constants.js +0 -6
- package/dist/tools/deep-reasoning/constants.js.map +1 -1
- package/dist/tools/deep-reasoning/engine.d.ts.map +1 -1
- package/dist/tools/deep-reasoning/engine.js +0 -1
- package/dist/tools/deep-reasoning/engine.js.map +1 -1
- package/dist/tools/deep-reasoning/index.d.ts +4 -0
- package/dist/tools/deep-reasoning/index.d.ts.map +1 -1
- package/dist/tools/deep-reasoning/index.js +4 -3
- package/dist/tools/deep-reasoning/index.js.map +1 -1
- package/dist/tools/deep-reasoning/tools.d.ts.map +1 -1
- package/dist/tools/deep-reasoning/tools.js +8 -1
- package/dist/tools/deep-reasoning/tools.js.map +1 -1
- package/dist/tools/deep-reasoning/types.d.ts +5 -30
- package/dist/tools/deep-reasoning/types.d.ts.map +1 -1
- package/dist/tools/deep-reasoning/types.js +10 -1
- package/dist/tools/deep-reasoning/types.js.map +1 -1
- package/dist/tools/file/index.d.ts +3 -5
- package/dist/tools/file/index.d.ts.map +1 -1
- package/dist/tools/file/index.js +2 -4
- package/dist/tools/file/index.js.map +1 -1
- package/dist/tools/file/tools.d.ts +8 -11
- package/dist/tools/file/tools.d.ts.map +1 -1
- package/dist/tools/file/tools.js +45 -59
- package/dist/tools/file/tools.js.map +1 -1
- package/dist/tools/glob/cli.d.ts.map +1 -1
- package/dist/tools/glob/cli.js +8 -6
- package/dist/tools/glob/cli.js.map +1 -1
- package/dist/tools/glob/tools.d.ts.map +1 -1
- package/dist/tools/glob/tools.js +7 -10
- package/dist/tools/glob/tools.js.map +1 -1
- package/dist/tools/grep/cli.d.ts.map +1 -1
- package/dist/tools/grep/cli.js +0 -2
- package/dist/tools/grep/cli.js.map +1 -1
- package/dist/tools/grep/constants.d.ts.map +1 -1
- package/dist/tools/grep/constants.js +3 -5
- package/dist/tools/grep/constants.js.map +1 -1
- package/dist/tools/grep/downloader.d.ts.map +1 -1
- package/dist/tools/grep/downloader.js +3 -3
- package/dist/tools/grep/downloader.js.map +1 -1
- package/dist/tools/grep/tools.d.ts +2 -2
- package/dist/tools/grep/tools.d.ts.map +1 -1
- package/dist/tools/grep/tools.js +8 -14
- package/dist/tools/grep/tools.js.map +1 -1
- package/dist/tools/index.d.ts +10 -11
- package/dist/tools/index.d.ts.map +1 -1
- package/dist/tools/index.js +9 -22
- package/dist/tools/index.js.map +1 -1
- package/dist/tools/model-retry.d.ts +0 -40
- package/dist/tools/model-retry.d.ts.map +1 -1
- package/dist/tools/model-retry.js +1 -49
- package/dist/tools/model-retry.js.map +1 -1
- package/dist/tools/plan/constants.d.ts +0 -6
- package/dist/tools/plan/constants.d.ts.map +1 -1
- package/dist/tools/plan/constants.js +9 -6
- package/dist/tools/plan/constants.js.map +1 -1
- package/dist/tools/plan/index.d.ts +1 -1
- package/dist/tools/plan/index.d.ts.map +1 -1
- package/dist/tools/plan/index.js +1 -4
- package/dist/tools/plan/index.js.map +1 -1
- package/dist/tools/plan/tools.d.ts +2 -2
- package/dist/tools/plan/tools.d.ts.map +1 -1
- package/dist/tools/plan/tools.js +10 -11
- package/dist/tools/plan/tools.js.map +1 -1
- package/dist/tools/plan/types.d.ts +22 -32
- package/dist/tools/plan/types.d.ts.map +1 -1
- package/dist/tools/plan/types.js +11 -3
- package/dist/tools/plan/types.js.map +1 -1
- package/dist/tools/progress/index.d.ts +3 -22
- package/dist/tools/progress/index.d.ts.map +1 -1
- package/dist/tools/progress/index.js +19 -34
- package/dist/tools/progress/index.js.map +1 -1
- package/dist/tools/search-skills.d.ts +0 -23
- package/dist/tools/search-skills.d.ts.map +1 -1
- package/dist/tools/search-skills.js +3 -32
- package/dist/tools/search-skills.js.map +1 -1
- package/dist/tools/shell/background.d.ts +2 -18
- package/dist/tools/shell/background.d.ts.map +1 -1
- package/dist/tools/shell/background.js +45 -48
- package/dist/tools/shell/background.js.map +1 -1
- package/dist/tools/shell/constants.d.ts +0 -3
- package/dist/tools/shell/constants.d.ts.map +1 -1
- package/dist/tools/shell/constants.js +16 -6
- package/dist/tools/shell/constants.js.map +1 -1
- package/dist/tools/shell/index.d.ts +1 -1
- package/dist/tools/shell/index.d.ts.map +1 -1
- package/dist/tools/shell/index.js +1 -1
- package/dist/tools/shell/index.js.map +1 -1
- package/dist/tools/shell/tools.d.ts +3 -3
- package/dist/tools/shell/tools.d.ts.map +1 -1
- package/dist/tools/shell/tools.js +0 -2
- package/dist/tools/shell/tools.js.map +1 -1
- package/dist/tools/shell/types.d.ts +5 -13
- package/dist/tools/shell/types.d.ts.map +1 -1
- package/dist/tools/shell/types.js +10 -1
- package/dist/tools/shell/types.js.map +1 -1
- package/dist/tools/spawn-agent/check-agent.d.ts +45 -0
- package/dist/tools/spawn-agent/check-agent.d.ts.map +1 -0
- package/dist/tools/spawn-agent/check-agent.js +84 -0
- package/dist/tools/spawn-agent/check-agent.js.map +1 -0
- package/dist/tools/spawn-agent/index.d.ts +44 -51
- package/dist/tools/spawn-agent/index.d.ts.map +1 -1
- package/dist/tools/spawn-agent/index.js +196 -84
- package/dist/tools/spawn-agent/index.js.map +1 -1
- package/dist/tools/spawn-agent/registry.d.ts +36 -0
- package/dist/tools/spawn-agent/registry.d.ts.map +1 -0
- package/dist/tools/spawn-agent/registry.js +88 -0
- package/dist/tools/spawn-agent/registry.js.map +1 -0
- package/dist/tools/utils/errors.d.ts +2 -1
- package/dist/tools/utils/errors.d.ts.map +1 -1
- package/dist/tools/utils/errors.js +2 -1
- package/dist/tools/utils/errors.js.map +1 -1
- package/dist/tools/utils/shell.d.ts +0 -11
- package/dist/tools/utils/shell.d.ts.map +1 -1
- package/dist/tools/utils/shell.js +10 -78
- package/dist/tools/utils/shell.js.map +1 -1
- package/dist/tools/utils/tool-result.d.ts +0 -3
- package/dist/tools/utils/tool-result.d.ts.map +1 -1
- package/dist/tools/utils/tool-result.js +4 -4
- package/dist/tools/utils/tool-result.js.map +1 -1
- package/dist/tools/web-search/index.d.ts +4 -0
- package/dist/tools/web-search/index.d.ts.map +1 -0
- package/dist/tools/web-search/index.js +3 -0
- package/dist/tools/web-search/index.js.map +1 -0
- package/dist/tools/web-search/tools.d.ts +17 -0
- package/dist/tools/web-search/tools.d.ts.map +1 -0
- package/dist/tools/web-search/tools.js +81 -0
- package/dist/tools/web-search/tools.js.map +1 -0
- package/dist/tools/web-search/types.d.ts +16 -0
- package/dist/tools/web-search/types.d.ts.map +1 -0
- package/dist/tools/web-search/types.js +29 -0
- package/dist/tools/web-search/types.js.map +1 -0
- package/dist/tools/workspace-middleware.d.ts +14 -0
- package/dist/tools/workspace-middleware.d.ts.map +1 -0
- package/dist/tools/workspace-middleware.js +97 -0
- package/dist/tools/workspace-middleware.js.map +1 -0
- package/dist/types/agent.d.ts +1 -66
- package/dist/types/agent.d.ts.map +1 -1
- package/dist/types/agent.js +0 -6
- package/dist/types/agent.js.map +1 -1
- package/dist/types/index.d.ts +4 -3
- package/dist/types/index.d.ts.map +1 -1
- package/dist/types/index.js +3 -3
- package/dist/types/index.js.map +1 -1
- package/dist/types/lifecycle.d.ts +0 -141
- package/dist/types/lifecycle.d.ts.map +1 -1
- package/dist/types/lifecycle.js +4 -54
- package/dist/types/lifecycle.js.map +1 -1
- package/dist/types/streaming.d.ts +0 -4
- package/dist/types/streaming.d.ts.map +1 -1
- package/dist/types/streaming.js +0 -4
- package/dist/types/streaming.js.map +1 -1
- package/dist/usage-limits.d.ts +0 -37
- package/dist/usage-limits.d.ts.map +1 -1
- package/dist/usage-limits.js +1 -40
- package/dist/usage-limits.js.map +1 -1
- package/dist/workflow/durable-tool.d.ts +0 -84
- package/dist/workflow/durable-tool.d.ts.map +1 -1
- package/dist/workflow/durable-tool.js +2 -104
- package/dist/workflow/durable-tool.js.map +1 -1
- package/dist/workflow/hooks.d.ts +0 -215
- package/dist/workflow/hooks.d.ts.map +1 -1
- package/dist/workflow/hooks.js +15 -221
- package/dist/workflow/hooks.js.map +1 -1
- package/dist/workflow/index.d.ts +0 -9
- package/dist/workflow/index.d.ts.map +1 -1
- package/dist/workflow/index.js +0 -12
- package/dist/workflow/index.js.map +1 -1
- package/dist/workflow/utils.d.ts +0 -24
- package/dist/workflow/utils.d.ts.map +1 -1
- package/dist/workflow/utils.js +1 -32
- package/dist/workflow/utils.js.map +1 -1
- package/dist/wrappers/best-of-n.d.ts +0 -35
- package/dist/wrappers/best-of-n.d.ts.map +1 -1
- package/dist/wrappers/best-of-n.js +4 -53
- package/dist/wrappers/best-of-n.js.map +1 -1
- package/dist/wrappers/refine-loop.d.ts +36 -0
- package/dist/wrappers/refine-loop.d.ts.map +1 -0
- package/dist/wrappers/refine-loop.js +135 -0
- package/dist/wrappers/refine-loop.js.map +1 -0
- package/package.json +14 -8
package/dist/workflow/hooks.js
CHANGED
|
@@ -1,35 +1,9 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* @agntk/core - Workflow Hooks & Human-in-the-Loop
|
|
3
|
-
*
|
|
4
|
-
* Provides typed suspension points for workflow execution.
|
|
5
|
-
* When a hook fires, the workflow pauses (zero compute) and waits for
|
|
6
|
-
* external input — typically a human approval via the `/hooks/:id/resume` endpoint.
|
|
7
|
-
*
|
|
8
|
-
* Uses Vercel's Workflow DevKit (WDK) primitives when available:
|
|
9
|
-
* - `defineHook` → WDK defineHook with Standard Schema validation
|
|
10
|
-
* - `createWebhook` → WDK createWebhook with auto-generated URLs
|
|
11
|
-
* - `sleep` → WDK sleep with zero-compute durable delay
|
|
12
|
-
* - `FatalError` / `RetryableError` → WDK error classes
|
|
13
|
-
*
|
|
14
|
-
* Falls back to in-memory implementation when WDK is not installed.
|
|
15
|
-
*
|
|
16
|
-
* @see SDK-HOOKS-008
|
|
17
|
-
* @see https://useworkflow.dev
|
|
18
|
-
*/
|
|
19
1
|
import { createLogger } from '@agntk/logger';
|
|
20
2
|
import { parseDuration } from './utils.js';
|
|
21
3
|
const log = createLogger('@agntk/core:workflow:hooks');
|
|
22
|
-
// ============================================================================
|
|
23
|
-
// WDK Runtime Detection
|
|
24
|
-
// ============================================================================
|
|
25
|
-
/** Cached WDK module reference */
|
|
26
4
|
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
27
5
|
let _wdk = null;
|
|
28
6
|
let _wdkChecked = false;
|
|
29
|
-
/**
|
|
30
|
-
* Attempt to load the WDK module. Returns null if not available.
|
|
31
|
-
* Result is cached after first check.
|
|
32
|
-
*/
|
|
33
7
|
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
34
8
|
async function getWdk() {
|
|
35
9
|
if (_wdkChecked)
|
|
@@ -39,60 +13,37 @@ async function getWdk() {
|
|
|
39
13
|
_wdk = await import('workflow');
|
|
40
14
|
log.info('WDK runtime detected for hooks');
|
|
41
15
|
}
|
|
42
|
-
catch
|
|
16
|
+
catch {
|
|
43
17
|
_wdk = null;
|
|
44
18
|
log.debug('WDK runtime not available — using in-memory hook registry');
|
|
45
19
|
}
|
|
46
20
|
return _wdk;
|
|
47
21
|
}
|
|
48
|
-
/** Synchronous check for WDK availability (only valid after first async check). */
|
|
49
22
|
function isWdkAvailable() {
|
|
50
23
|
return _wdk !== null;
|
|
51
24
|
}
|
|
52
|
-
/**
|
|
53
|
-
* Reset WDK cache (for testing).
|
|
54
|
-
* When `forceNoWdk` is true, marks WDK as already checked but unavailable,
|
|
55
|
-
* preventing the dynamic import from running.
|
|
56
|
-
* @internal
|
|
57
|
-
*/
|
|
58
25
|
export function _resetWdkCache(forceNoWdk = false) {
|
|
59
26
|
_wdk = null;
|
|
60
27
|
_wdkChecked = forceNoWdk;
|
|
61
28
|
}
|
|
62
|
-
// ============================================================================
|
|
63
|
-
// Hook Registry (Fallback for non-WDK environments)
|
|
64
|
-
// ============================================================================
|
|
65
|
-
/**
|
|
66
|
-
* In-memory registry that tracks active hook instances.
|
|
67
|
-
* Used when WDK is not available. When WDK is active, hooks are managed
|
|
68
|
-
* by the WDK runtime and this registry is only used for tracking metadata.
|
|
69
|
-
*/
|
|
70
29
|
export class HookRegistry {
|
|
71
30
|
hooks = new Map();
|
|
72
31
|
resolvers = new Map();
|
|
73
32
|
validators = new Map();
|
|
74
33
|
timeouts = new Map();
|
|
75
|
-
/** Get a hook instance by ID. */
|
|
76
34
|
get(id) {
|
|
77
35
|
return this.hooks.get(id);
|
|
78
36
|
}
|
|
79
|
-
/** Check if a hook exists. */
|
|
80
37
|
has(id) {
|
|
81
38
|
return this.hooks.has(id);
|
|
82
39
|
}
|
|
83
|
-
/** Get all hooks, optionally filtered by status. */
|
|
84
40
|
list(status) {
|
|
85
41
|
const all = Array.from(this.hooks.values());
|
|
86
|
-
return status ? all.filter(h => h.status === status) : all;
|
|
42
|
+
return status ? all.filter((h) => h.status === status) : all;
|
|
87
43
|
}
|
|
88
|
-
/** Get all pending hooks. */
|
|
89
44
|
listPending() {
|
|
90
45
|
return this.list('pending');
|
|
91
46
|
}
|
|
92
|
-
/**
|
|
93
|
-
* Register a new hook instance and return a promise that resolves
|
|
94
|
-
* when the hook is resumed.
|
|
95
|
-
*/
|
|
96
47
|
register(id, name, payload, options = {}) {
|
|
97
48
|
if (this.hooks.has(id)) {
|
|
98
49
|
throw new Error(`Hook with ID "${id}" already exists`);
|
|
@@ -120,7 +71,6 @@ export class HookRegistry {
|
|
|
120
71
|
resolve: resolve,
|
|
121
72
|
reject,
|
|
122
73
|
});
|
|
123
|
-
// Set up timeout if configured
|
|
124
74
|
if (options.timeoutMs && options.timeoutMs > 0) {
|
|
125
75
|
const timer = setTimeout(() => {
|
|
126
76
|
if (this.hooks.get(id)?.status === 'pending') {
|
|
@@ -137,32 +87,21 @@ export class HookRegistry {
|
|
|
137
87
|
}
|
|
138
88
|
});
|
|
139
89
|
}
|
|
140
|
-
/**
|
|
141
|
-
* Resume a suspended hook with a payload.
|
|
142
|
-
*
|
|
143
|
-
* Uses a status guard to prevent double resolution (race between
|
|
144
|
-
* resume and timeout). Only the first to transition from 'pending' wins.
|
|
145
|
-
*
|
|
146
|
-
* @throws If hook not found, not pending, or validation fails
|
|
147
|
-
*/
|
|
148
90
|
async resume(id, result) {
|
|
149
91
|
const hook = this.hooks.get(id);
|
|
150
92
|
if (!hook) {
|
|
151
93
|
throw new HookNotFoundError(id);
|
|
152
94
|
}
|
|
153
|
-
// Status guard: atomically check-and-set to prevent race with timeout
|
|
154
95
|
if (hook.status !== 'pending') {
|
|
155
96
|
throw new HookNotPendingError(id, hook.status);
|
|
156
97
|
}
|
|
157
|
-
hook.status = 'resolved';
|
|
158
|
-
// Run validation if defined
|
|
98
|
+
hook.status = 'resolved';
|
|
159
99
|
const validator = this.validators.get(id);
|
|
160
100
|
if (validator) {
|
|
161
101
|
try {
|
|
162
102
|
await validator(result);
|
|
163
103
|
}
|
|
164
104
|
catch (validationError) {
|
|
165
|
-
// Rollback status on validation failure
|
|
166
105
|
hook.status = 'pending';
|
|
167
106
|
throw validationError;
|
|
168
107
|
}
|
|
@@ -174,10 +113,6 @@ export class HookRegistry {
|
|
|
174
113
|
this.cleanup(id);
|
|
175
114
|
return hook;
|
|
176
115
|
}
|
|
177
|
-
/**
|
|
178
|
-
* Reject a suspended hook with a reason.
|
|
179
|
-
* Useful for cancellation flows.
|
|
180
|
-
*/
|
|
181
116
|
reject(id, reason) {
|
|
182
117
|
const hook = this.hooks.get(id);
|
|
183
118
|
if (!hook) {
|
|
@@ -193,7 +128,6 @@ export class HookRegistry {
|
|
|
193
128
|
this.cleanup(id);
|
|
194
129
|
return hook;
|
|
195
130
|
}
|
|
196
|
-
/** Clean up resolver and timeout for a hook. */
|
|
197
131
|
cleanup(id) {
|
|
198
132
|
this.resolvers.delete(id);
|
|
199
133
|
this.validators.delete(id);
|
|
@@ -203,7 +137,6 @@ export class HookRegistry {
|
|
|
203
137
|
this.timeouts.delete(id);
|
|
204
138
|
}
|
|
205
139
|
}
|
|
206
|
-
/** Clear all hooks (for testing). */
|
|
207
140
|
clear() {
|
|
208
141
|
for (const timer of this.timeouts.values()) {
|
|
209
142
|
clearTimeout(timer);
|
|
@@ -213,15 +146,10 @@ export class HookRegistry {
|
|
|
213
146
|
this.validators.clear();
|
|
214
147
|
this.timeouts.clear();
|
|
215
148
|
}
|
|
216
|
-
/** Number of registered hooks. */
|
|
217
149
|
get size() {
|
|
218
150
|
return this.hooks.size;
|
|
219
151
|
}
|
|
220
152
|
}
|
|
221
|
-
// ============================================================================
|
|
222
|
-
// Error Classes
|
|
223
|
-
// ============================================================================
|
|
224
|
-
/** Thrown when a hook ID is not found in the registry. */
|
|
225
153
|
export class HookNotFoundError extends Error {
|
|
226
154
|
hookId;
|
|
227
155
|
constructor(hookId) {
|
|
@@ -230,7 +158,6 @@ export class HookNotFoundError extends Error {
|
|
|
230
158
|
this.hookId = hookId;
|
|
231
159
|
}
|
|
232
160
|
}
|
|
233
|
-
/** Thrown when attempting to resume a hook that is not pending. */
|
|
234
161
|
export class HookNotPendingError extends Error {
|
|
235
162
|
hookId;
|
|
236
163
|
currentStatus;
|
|
@@ -241,7 +168,6 @@ export class HookNotPendingError extends Error {
|
|
|
241
168
|
this.currentStatus = currentStatus;
|
|
242
169
|
}
|
|
243
170
|
}
|
|
244
|
-
/** Thrown when a hook is rejected. */
|
|
245
171
|
export class HookRejectedError extends Error {
|
|
246
172
|
hookId;
|
|
247
173
|
reason;
|
|
@@ -252,14 +178,6 @@ export class HookRejectedError extends Error {
|
|
|
252
178
|
this.reason = reason;
|
|
253
179
|
}
|
|
254
180
|
}
|
|
255
|
-
// ============================================================================
|
|
256
|
-
// WDK Error Re-exports
|
|
257
|
-
// ============================================================================
|
|
258
|
-
/**
|
|
259
|
-
* FatalError — a non-retryable error that permanently fails a workflow step.
|
|
260
|
-
* When WDK is available, this is the real WDK FatalError class.
|
|
261
|
-
* Without WDK, falls back to a simple Error subclass.
|
|
262
|
-
*/
|
|
263
181
|
export class FatalError extends Error {
|
|
264
182
|
fatal = true;
|
|
265
183
|
constructor(message) {
|
|
@@ -267,15 +185,10 @@ export class FatalError extends Error {
|
|
|
267
185
|
this.name = 'FatalError';
|
|
268
186
|
}
|
|
269
187
|
static is(value) {
|
|
270
|
-
return value instanceof FatalError ||
|
|
271
|
-
(value instanceof Error && 'fatal' in value && value.fatal === true);
|
|
188
|
+
return (value instanceof FatalError ||
|
|
189
|
+
(value instanceof Error && 'fatal' in value && value.fatal === true));
|
|
272
190
|
}
|
|
273
191
|
}
|
|
274
|
-
/**
|
|
275
|
-
* RetryableError — an error that allows the WDK runtime to retry a step.
|
|
276
|
-
* When WDK is available, prefer using the WDK version directly.
|
|
277
|
-
* Without WDK, this provides the same interface.
|
|
278
|
-
*/
|
|
279
192
|
export class RetryableError extends Error {
|
|
280
193
|
retryAfter;
|
|
281
194
|
constructor(message, options) {
|
|
@@ -291,17 +204,13 @@ export class RetryableError extends Error {
|
|
|
291
204
|
this.retryAfter = new Date(Date.now() + options.retryAfter);
|
|
292
205
|
}
|
|
293
206
|
else {
|
|
294
|
-
this.retryAfter = new Date(Date.now() + 1000);
|
|
207
|
+
this.retryAfter = new Date(Date.now() + 1000);
|
|
295
208
|
}
|
|
296
209
|
}
|
|
297
210
|
static is(value) {
|
|
298
211
|
return value instanceof RetryableError;
|
|
299
212
|
}
|
|
300
213
|
}
|
|
301
|
-
/**
|
|
302
|
-
* Get WDK error classes if available, otherwise return our fallbacks.
|
|
303
|
-
* Use these in durable-agent.ts for step-level error handling.
|
|
304
|
-
*/
|
|
305
214
|
export function getWdkErrors() {
|
|
306
215
|
if (isWdkAvailable() && _wdk) {
|
|
307
216
|
return {
|
|
@@ -311,83 +220,34 @@ export function getWdkErrors() {
|
|
|
311
220
|
}
|
|
312
221
|
return { FatalError, RetryableError };
|
|
313
222
|
}
|
|
314
|
-
// ============================================================================
|
|
315
|
-
// Singleton Registry
|
|
316
|
-
// ============================================================================
|
|
317
|
-
/** Global hook registry instance. */
|
|
318
223
|
let _registry = null;
|
|
319
|
-
/** Get or create the global hook registry. */
|
|
320
224
|
export function getHookRegistry() {
|
|
321
225
|
if (!_registry) {
|
|
322
226
|
_registry = new HookRegistry();
|
|
323
227
|
}
|
|
324
228
|
return _registry;
|
|
325
229
|
}
|
|
326
|
-
/**
|
|
327
|
-
* Reset the global hook registry (for testing).
|
|
328
|
-
* @internal
|
|
329
|
-
*/
|
|
330
230
|
export function _resetHookRegistry() {
|
|
331
231
|
_registry?.clear();
|
|
332
232
|
_registry = null;
|
|
333
233
|
}
|
|
334
|
-
// ============================================================================
|
|
335
|
-
// Hook Factory
|
|
336
|
-
// ============================================================================
|
|
337
234
|
let _hookCounter = 0;
|
|
338
|
-
/** Generate a unique hook instance ID. */
|
|
339
235
|
function generateHookId(name) {
|
|
340
236
|
_hookCounter++;
|
|
341
237
|
const ts = Date.now().toString(36);
|
|
342
238
|
const rand = Math.random().toString(36).slice(2, 8);
|
|
343
239
|
return `hook-${name}-${ts}-${rand}-${_hookCounter}`;
|
|
344
240
|
}
|
|
345
|
-
/**
|
|
346
|
-
* Reset the hook counter (for testing).
|
|
347
|
-
* @internal
|
|
348
|
-
*/
|
|
349
241
|
export function _resetHookCounter() {
|
|
350
242
|
_hookCounter = 0;
|
|
351
243
|
}
|
|
352
|
-
/**
|
|
353
|
-
* Define a typed hook factory.
|
|
354
|
-
*
|
|
355
|
-
* When WDK is available, creates hooks using `wdk.defineHook()` and
|
|
356
|
-
* `wdk.createHook()` for durable suspension with auto-generated webhook tokens.
|
|
357
|
-
*
|
|
358
|
-
* Without WDK, falls back to in-memory HookRegistry.
|
|
359
|
-
*
|
|
360
|
-
* @param definition - Hook configuration
|
|
361
|
-
* @returns A typed hook factory
|
|
362
|
-
*
|
|
363
|
-
* @example
|
|
364
|
-
* ```typescript
|
|
365
|
-
* const approvalHook = defineHook<
|
|
366
|
-
* { action: string; details: string },
|
|
367
|
-
* { approved: boolean; reason?: string }
|
|
368
|
-
* >({
|
|
369
|
-
* name: 'approval',
|
|
370
|
-
* description: 'Approve dangerous agent actions',
|
|
371
|
-
* timeout: '30m',
|
|
372
|
-
* defaultValue: { approved: false, reason: 'Timed out' },
|
|
373
|
-
* });
|
|
374
|
-
*
|
|
375
|
-
* // In a workflow:
|
|
376
|
-
* const result = await approvalHook.wait({
|
|
377
|
-
* action: 'delete files',
|
|
378
|
-
* details: '50 files will be removed',
|
|
379
|
-
* });
|
|
380
|
-
*
|
|
381
|
-
* if (result.approved) {
|
|
382
|
-
* // proceed with deletion
|
|
383
|
-
* }
|
|
384
|
-
* ```
|
|
385
|
-
*/
|
|
386
244
|
export function defineHook(definition) {
|
|
387
245
|
const { name, description, timeout, defaultValue, validate } = definition;
|
|
388
246
|
const timeoutMs = timeout ? parseDuration(timeout) : undefined;
|
|
389
247
|
if (timeout && defaultValue === undefined) {
|
|
390
|
-
log.warn('Hook has timeout but no defaultValue — will resolve with undefined on timeout', {
|
|
248
|
+
log.warn('Hook has timeout but no defaultValue — will resolve with undefined on timeout', {
|
|
249
|
+
name,
|
|
250
|
+
});
|
|
391
251
|
}
|
|
392
252
|
log.debug('Hook defined', { name, description, timeoutMs });
|
|
393
253
|
const wait = async (payload) => {
|
|
@@ -397,10 +257,8 @@ export function defineHook(definition) {
|
|
|
397
257
|
const waitWithId = async (id, payload) => {
|
|
398
258
|
log.info('Hook suspension created', { hookId: id, name, payload });
|
|
399
259
|
const wdk = await getWdk();
|
|
400
|
-
// WDK path: use defineHook().create() for durable hooks
|
|
401
260
|
if (wdk?.createHook) {
|
|
402
261
|
log.debug('Using WDK createHook', { hookId: id, name });
|
|
403
|
-
// Track in our registry for metadata access
|
|
404
262
|
const registry = getHookRegistry();
|
|
405
263
|
const instance = {
|
|
406
264
|
id,
|
|
@@ -413,9 +271,7 @@ export function defineHook(definition) {
|
|
|
413
271
|
};
|
|
414
272
|
registry['hooks'].set(id, instance);
|
|
415
273
|
try {
|
|
416
|
-
// Create WDK hook with our token
|
|
417
274
|
const wdkHook = wdk.createHook({ token: id, metadata: { name, description, payload } });
|
|
418
|
-
// Race against timeout if configured
|
|
419
275
|
let result;
|
|
420
276
|
if (timeoutMs && timeoutMs > 0) {
|
|
421
277
|
const timeoutPromise = new Promise((resolve) => {
|
|
@@ -431,7 +287,6 @@ export function defineHook(definition) {
|
|
|
431
287
|
else {
|
|
432
288
|
result = await wdkHook;
|
|
433
289
|
}
|
|
434
|
-
// Validate if needed
|
|
435
290
|
if (validate) {
|
|
436
291
|
await validate(result);
|
|
437
292
|
}
|
|
@@ -446,7 +301,6 @@ export function defineHook(definition) {
|
|
|
446
301
|
throw err;
|
|
447
302
|
}
|
|
448
303
|
}
|
|
449
|
-
// Fallback: in-memory registry
|
|
450
304
|
const registry = getHookRegistry();
|
|
451
305
|
return registry.register(id, name, payload, {
|
|
452
306
|
description,
|
|
@@ -462,33 +316,6 @@ export function defineHook(definition) {
|
|
|
462
316
|
waitWithId,
|
|
463
317
|
};
|
|
464
318
|
}
|
|
465
|
-
// ============================================================================
|
|
466
|
-
// Webhook Factory
|
|
467
|
-
// ============================================================================
|
|
468
|
-
/**
|
|
469
|
-
* Create a webhook-backed suspension point.
|
|
470
|
-
*
|
|
471
|
-
* When WDK is available, uses `wdk.createWebhook()` for auto-generated
|
|
472
|
-
* webhook URLs (pattern: /.well-known/workflow/v1/webhook/:token).
|
|
473
|
-
*
|
|
474
|
-
* Without WDK, falls back to in-memory HookRegistry.
|
|
475
|
-
*
|
|
476
|
-
* @param options - Webhook configuration
|
|
477
|
-
* @returns Object with id, promise, and url (if WDK is available)
|
|
478
|
-
*
|
|
479
|
-
* @example
|
|
480
|
-
* ```typescript
|
|
481
|
-
* const result = await createWebhook<{ approved: boolean }>({
|
|
482
|
-
* callbackPath: '/api/approve',
|
|
483
|
-
* timeout: '1h',
|
|
484
|
-
* defaultValue: { approved: false },
|
|
485
|
-
* });
|
|
486
|
-
*
|
|
487
|
-
* if (result.data.approved) {
|
|
488
|
-
* // proceed
|
|
489
|
-
* }
|
|
490
|
-
* ```
|
|
491
|
-
*/
|
|
492
319
|
export function createWebhook(options = {}) {
|
|
493
320
|
const id = options.id ?? generateHookId('webhook');
|
|
494
321
|
const timeoutMs = options.timeout ? parseDuration(options.timeout) : undefined;
|
|
@@ -497,12 +324,10 @@ export function createWebhook(options = {}) {
|
|
|
497
324
|
callbackPath: options.callbackPath,
|
|
498
325
|
timeoutMs,
|
|
499
326
|
});
|
|
500
|
-
// Try WDK path synchronously (only works if WDK was already loaded)
|
|
501
327
|
if (isWdkAvailable() && _wdk?.createWebhook) {
|
|
502
328
|
log.debug('Using WDK createWebhook', { webhookId: id });
|
|
503
329
|
const wdkWebhook = _wdk.createWebhook({ token: id });
|
|
504
330
|
const url = wdkWebhook.url;
|
|
505
|
-
// Track in registry for metadata
|
|
506
331
|
const registry = getHookRegistry();
|
|
507
332
|
const instance = {
|
|
508
333
|
id,
|
|
@@ -540,13 +365,14 @@ export function createWebhook(options = {}) {
|
|
|
540
365
|
})();
|
|
541
366
|
return { id, promise, url };
|
|
542
367
|
}
|
|
543
|
-
// Fallback: in-memory registry
|
|
544
368
|
const registry = getHookRegistry();
|
|
545
|
-
const promise = registry
|
|
369
|
+
const promise = registry
|
|
370
|
+
.register(id, 'webhook', { callbackPath: options.callbackPath }, {
|
|
546
371
|
description: `Webhook callback: ${options.callbackPath ?? 'N/A'}`,
|
|
547
372
|
timeoutMs,
|
|
548
373
|
defaultValue: options.defaultValue,
|
|
549
|
-
})
|
|
374
|
+
})
|
|
375
|
+
.then((data) => {
|
|
550
376
|
const hook = registry.get(id);
|
|
551
377
|
return {
|
|
552
378
|
data,
|
|
@@ -555,21 +381,11 @@ export function createWebhook(options = {}) {
|
|
|
555
381
|
});
|
|
556
382
|
return { id, promise };
|
|
557
383
|
}
|
|
558
|
-
/**
|
|
559
|
-
* Resume a hook by its token/ID.
|
|
560
|
-
*
|
|
561
|
-
* When WDK is available, delegates to `wdk.resumeHook()`.
|
|
562
|
-
* Without WDK, uses the in-memory HookRegistry.
|
|
563
|
-
*
|
|
564
|
-
* @param tokenOrId - The hook token or ID
|
|
565
|
-
* @param payload - The payload to send to the hook
|
|
566
|
-
*/
|
|
567
384
|
export async function resumeHook(tokenOrId, payload) {
|
|
568
385
|
const wdk = await getWdk();
|
|
569
386
|
if (wdk?.resumeHook) {
|
|
570
387
|
log.info('Resuming hook via WDK', { token: tokenOrId });
|
|
571
388
|
await wdk.resumeHook(tokenOrId, payload);
|
|
572
|
-
// Also update our registry metadata
|
|
573
389
|
const registry = getHookRegistry();
|
|
574
390
|
const instance = registry.get(tokenOrId);
|
|
575
391
|
if (instance) {
|
|
@@ -579,29 +395,9 @@ export async function resumeHook(tokenOrId, payload) {
|
|
|
579
395
|
}
|
|
580
396
|
return;
|
|
581
397
|
}
|
|
582
|
-
// Fallback: in-memory registry
|
|
583
398
|
const registry = getHookRegistry();
|
|
584
399
|
await registry.resume(tokenOrId, payload);
|
|
585
400
|
}
|
|
586
|
-
// ============================================================================
|
|
587
|
-
// Sleep (Durable Delay)
|
|
588
|
-
// ============================================================================
|
|
589
|
-
/**
|
|
590
|
-
* Pause workflow execution with zero compute cost.
|
|
591
|
-
*
|
|
592
|
-
* Under WDK, this uses durable sleep — the process is suspended and
|
|
593
|
-
* resumed by the runtime after the delay. Without WDK, falls back to
|
|
594
|
-
* `setTimeout`.
|
|
595
|
-
*
|
|
596
|
-
* @param duration - Duration string (e.g., "30s", "5m", "1h")
|
|
597
|
-
* @param options - Optional configuration
|
|
598
|
-
*
|
|
599
|
-
* @example
|
|
600
|
-
* ```typescript
|
|
601
|
-
* // Pause for 5 minutes (zero compute under WDK runtime)
|
|
602
|
-
* await sleep('5m', { reason: 'Rate limit cooldown' });
|
|
603
|
-
* ```
|
|
604
|
-
*/
|
|
605
401
|
export async function sleep(duration, options = {}) {
|
|
606
402
|
const ms = parseDuration(duration);
|
|
607
403
|
log.info('Sleep started', {
|
|
@@ -612,16 +408,14 @@ export async function sleep(duration, options = {}) {
|
|
|
612
408
|
try {
|
|
613
409
|
const wdk = await getWdk();
|
|
614
410
|
if (wdk?.sleep) {
|
|
615
|
-
// WDK sleep accepts ms, string duration, or Date
|
|
616
411
|
await wdk.sleep(ms);
|
|
617
412
|
log.info('WDK sleep completed', { duration });
|
|
618
413
|
return;
|
|
619
414
|
}
|
|
620
415
|
}
|
|
621
|
-
catch
|
|
622
|
-
|
|
416
|
+
catch {
|
|
417
|
+
void 0;
|
|
623
418
|
}
|
|
624
|
-
// Fallback: regular setTimeout
|
|
625
419
|
log.debug('Using setTimeout fallback for sleep', { ms });
|
|
626
420
|
await new Promise((resolve) => setTimeout(resolve, ms));
|
|
627
421
|
log.info('Sleep completed (setTimeout fallback)', { duration });
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"hooks.js","sourceRoot":"","sources":["../../src/workflow/hooks.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"hooks.js","sourceRoot":"","sources":["../../src/workflow/hooks.ts"],"names":[],"mappings":"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"}
|
package/dist/workflow/index.d.ts
CHANGED
|
@@ -1,12 +1,3 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* @agntk/core - Workflow Module
|
|
3
|
-
*
|
|
4
|
-
* Exports for workflow durability and hooks.
|
|
5
|
-
* Provides durable agent wrapping and tool checkpointing
|
|
6
|
-
* via the Workflow DevKit.
|
|
7
|
-
*
|
|
8
|
-
* @see https://useworkflow.dev
|
|
9
|
-
*/
|
|
10
1
|
export { wrapToolAsDurableStep, wrapToolsAsDurable, wrapSelectedToolsAsDurable, wrapToolAsIndependentStep, getDurabilityConfig, setDurabilityConfig, getStepName, DURABILITY_CONFIG, type DurabilityConfig, } from './durable-tool.js';
|
|
11
2
|
export { checkWorkflowAvailability, parseDuration, formatDuration, _resetWorkflowCache, } from './utils.js';
|
|
12
3
|
export { defineHook, createWebhook, resumeHook, sleep, getHookRegistry, getWdkErrors, _resetHookRegistry, _resetHookCounter, _resetWdkCache, HookRegistry, HookNotFoundError, HookNotPendingError, HookRejectedError, FatalError, RetryableError, type Hook, type HookDefinition, type HookInstance, type HookStatus, type WebhookOptions, type WebhookResult, type SleepOptions, } from './hooks.js';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/workflow/index.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/workflow/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,qBAAqB,EACrB,kBAAkB,EAClB,0BAA0B,EAC1B,yBAAyB,EACzB,mBAAmB,EACnB,mBAAmB,EACnB,WAAW,EACX,iBAAiB,EACjB,KAAK,gBAAgB,GACtB,MAAM,gBAAgB,CAAC;AAExB,OAAO,EACL,yBAAyB,EACzB,aAAa,EACb,cAAc,EACd,mBAAmB,GACpB,MAAM,SAAS,CAAC;AAEjB,OAAO,EACL,UAAU,EACV,aAAa,EACb,UAAU,EACV,KAAK,EACL,eAAe,EACf,YAAY,EACZ,kBAAkB,EAClB,iBAAiB,EACjB,cAAc,EACd,YAAY,EACZ,iBAAiB,EACjB,mBAAmB,EACnB,iBAAiB,EACjB,UAAU,EACV,cAAc,EACd,KAAK,IAAI,EACT,KAAK,cAAc,EACnB,KAAK,YAAY,EACjB,KAAK,UAAU,EACf,KAAK,cAAc,EACnB,KAAK,aAAa,EAClB,KAAK,YAAY,GAClB,MAAM,SAAS,CAAC"}
|
package/dist/workflow/index.js
CHANGED
|
@@ -1,16 +1,4 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* @agntk/core - Workflow Module
|
|
3
|
-
*
|
|
4
|
-
* Exports for workflow durability and hooks.
|
|
5
|
-
* Provides durable agent wrapping and tool checkpointing
|
|
6
|
-
* via the Workflow DevKit.
|
|
7
|
-
*
|
|
8
|
-
* @see https://useworkflow.dev
|
|
9
|
-
*/
|
|
10
|
-
// Durable tool wrappers
|
|
11
1
|
export { wrapToolAsDurableStep, wrapToolsAsDurable, wrapSelectedToolsAsDurable, wrapToolAsIndependentStep, getDurabilityConfig, setDurabilityConfig, getStepName, DURABILITY_CONFIG, } from './durable-tool.js';
|
|
12
|
-
// Workflow utilities (runtime detection, duration helpers)
|
|
13
2
|
export { checkWorkflowAvailability, parseDuration, formatDuration, _resetWorkflowCache, } from './utils.js';
|
|
14
|
-
// Workflow hooks & human-in-the-loop
|
|
15
3
|
export { defineHook, createWebhook, resumeHook, sleep, getHookRegistry, getWdkErrors, _resetHookRegistry, _resetHookCounter, _resetWdkCache, HookRegistry, HookNotFoundError, HookNotPendingError, HookRejectedError, FatalError, RetryableError, } from './hooks.js';
|
|
16
4
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/workflow/index.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/workflow/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,qBAAqB,EACrB,kBAAkB,EAClB,0BAA0B,EAC1B,yBAAyB,EACzB,mBAAmB,EACnB,mBAAmB,EACnB,WAAW,EACX,iBAAiB,GAElB,MAAM,gBAAgB,CAAC;AAExB,OAAO,EACL,yBAAyB,EACzB,aAAa,EACb,cAAc,EACd,mBAAmB,GACpB,MAAM,SAAS,CAAC;AAEjB,OAAO,EACL,UAAU,EACV,aAAa,EACb,UAAU,EACV,KAAK,EACL,eAAe,EACf,YAAY,EACZ,kBAAkB,EAClB,iBAAiB,EACjB,cAAc,EACd,YAAY,EACZ,iBAAiB,EACjB,mBAAmB,EACnB,iBAAiB,EACjB,UAAU,EACV,cAAc,GAQf,MAAM,SAAS,CAAC"}
|
package/dist/workflow/utils.d.ts
CHANGED
|
@@ -1,29 +1,5 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* @agntk/core - Workflow Utilities
|
|
3
|
-
*
|
|
4
|
-
* Shared utilities for workflow durability features:
|
|
5
|
-
* - Runtime detection (checkWorkflowAvailability)
|
|
6
|
-
* - Duration parsing/formatting
|
|
7
|
-
*
|
|
8
|
-
* @see https://useworkflow.dev
|
|
9
|
-
*/
|
|
10
|
-
/**
|
|
11
|
-
* Check if the Workflow DevKit runtime is available.
|
|
12
|
-
* Result is cached after first check.
|
|
13
|
-
*/
|
|
14
1
|
export declare function checkWorkflowAvailability(): Promise<boolean>;
|
|
15
|
-
/**
|
|
16
|
-
* Reset workflow availability cache (for testing).
|
|
17
|
-
* @internal
|
|
18
|
-
*/
|
|
19
2
|
export declare function _resetWorkflowCache(): void;
|
|
20
|
-
/**
|
|
21
|
-
* Parse a duration string into milliseconds.
|
|
22
|
-
* Supports: 30s, 5m, 1h, 1d
|
|
23
|
-
*/
|
|
24
3
|
export declare function parseDuration(duration: string): number;
|
|
25
|
-
/**
|
|
26
|
-
* Format milliseconds as a human-readable duration.
|
|
27
|
-
*/
|
|
28
4
|
export declare function formatDuration(ms: number): string;
|
|
29
5
|
//# sourceMappingURL=utils.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../src/workflow/utils.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../src/workflow/utils.ts"],"names":[],"mappings":"AAMA,wBAAsB,yBAAyB,IAAI,OAAO,CAAC,OAAO,CAAC,CAalE;AAED,wBAAgB,mBAAmB,IAAI,IAAI,CAE1C;AAED,wBAAgB,aAAa,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,CAuBtD;AAED,wBAAgB,cAAc,CAAC,EAAE,EAAE,MAAM,GAAG,MAAM,CAMjD"}
|