@loopingai/core 0.5.1 → 0.7.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/README.md +6 -4
- package/dist/a2a/caller-token.d.ts +38 -0
- package/dist/a2a/caller-token.js +61 -0
- package/dist/a2a/deliver.d.ts +49 -0
- package/dist/a2a/deliver.js +49 -0
- package/dist/a2a/index.d.ts +2 -0
- package/dist/a2a/index.js +2 -0
- package/dist/a2a/notify.d.ts +4 -3
- package/dist/a2a/notify.js +4 -3
- package/dist/agent/anthropic/index.d.ts +15 -0
- package/dist/agent/anthropic/index.js +19 -0
- package/dist/agent/anthropic/language-model.d.ts +59 -0
- package/dist/agent/anthropic/language-model.js +442 -0
- package/dist/agent/anthropic/prompt.d.ts +84 -0
- package/dist/agent/anthropic/prompt.js +541 -0
- package/dist/agent/anthropic/runtime.d.ts +79 -0
- package/dist/agent/anthropic/runtime.js +130 -0
- package/dist/agent/control.js +10 -9
- package/dist/agent/errors.d.ts +85 -0
- package/dist/agent/errors.js +64 -0
- package/dist/agent/final-reply.d.ts +14 -13
- package/dist/agent/final-reply.js +28 -11
- package/dist/agent/history.d.ts +3 -3
- package/dist/agent/history.js +2 -2
- package/dist/agent/index.d.ts +4 -2
- package/dist/agent/index.js +4 -2
- package/dist/agent/inference.d.ts +58 -1
- package/dist/agent/inference.js +44 -0
- package/dist/agent/model.d.ts +42 -25
- package/dist/agent/model.js +1 -48
- package/dist/agent/session.d.ts +6 -7
- package/dist/agent/session.js +3 -3
- package/dist/agent/workers-ai/index.d.ts +23 -0
- package/dist/agent/workers-ai/index.js +23 -0
- package/dist/agent/workers-ai/runtime.d.ts +42 -0
- package/dist/agent/workers-ai/runtime.js +63 -0
- package/dist/alarm/index.d.ts +77 -0
- package/dist/alarm/index.js +116 -0
- package/dist/config.d.ts +49 -15
- package/dist/config.js +30 -1
- package/dist/contract/plugin.d.ts +63 -3
- package/dist/contract/plugin.js +76 -0
- package/dist/contract/recipe.d.ts +16 -17
- package/dist/db/db.d.ts +0 -1
- package/dist/db/migrations/index.js +8 -1
- package/dist/db/models/subtasks.d.ts +24 -25
- package/dist/db/models/subtasks.js +33 -76
- package/dist/db/schema.d.ts +2 -21
- package/dist/db/schema.js +2 -4
- package/dist/host/agent.d.ts +58 -4
- package/dist/host/agent.js +63 -9
- package/dist/index.d.ts +2 -2
- package/dist/index.js +2 -2
- package/dist/platform.d.ts +103 -11
- package/dist/platform.js +107 -13
- package/dist/round/agent.d.ts +36 -31
- package/dist/round/agent.js +61 -89
- package/dist/round/index.d.ts +3 -2
- package/dist/round/index.js +2 -2
- package/dist/round/policy.d.ts +2 -2
- package/dist/round/subagent.d.ts +19 -1
- package/dist/round/subagent.js +22 -5
- package/dist/round/turn.d.ts +32 -13
- package/dist/round/turn.js +83 -16
- package/dist/round/workflow.d.ts +23 -7
- package/dist/round/workflow.js +122 -110
- package/dist/runtime/index.d.ts +4 -2
- package/dist/runtime/index.js +6 -0
- package/dist/subagent/fingerprint.d.ts +2 -2
- package/dist/subagent/fingerprint.js +8 -17
- package/dist/subagent/index.d.ts +6 -4
- package/dist/subagent/index.js +8 -6
- package/dist/subagent/prompt.d.ts +4 -5
- package/dist/subagent/prompt.js +0 -8
- package/dist/subagent/run.d.ts +8 -1
- package/dist/subagent/run.js +59 -9
- package/dist/subtasks/catalog.d.ts +1 -1
- package/dist/subtasks/catalog.js +1 -1
- package/dist/subtasks/decomposition.d.ts +16 -20
- package/dist/subtasks/decomposition.js +27 -75
- package/dist/subtasks/delegate.d.ts +20 -1
- package/dist/subtasks/delegate.js +21 -16
- package/dist/subtasks/index.d.ts +1 -2
- package/dist/subtasks/index.js +1 -2
- package/dist/subtasks/subtask-types.d.ts +0 -8
- package/dist/subtasks/subtask-types.js +0 -7
- package/dist/subtasks/types.d.ts +45 -70
- package/dist/testing/do.d.ts +4 -4
- package/dist/testing/index.d.ts +1 -1
- package/dist/testing/index.js +5 -1
- package/dist/testing/mock-model.d.ts +35 -0
- package/dist/testing/mock-model.js +75 -0
- package/dist/testing/vcr-global-setup.d.ts +1 -3
- package/dist/testing/vcr-global-setup.js +1 -3
- package/dist/worker/index.d.ts +5 -12
- package/dist/worker/index.js +5 -12
- package/package.json +23 -1
- package/dist/subtasks/scheduler.d.ts +0 -48
- package/dist/subtasks/scheduler.js +0 -47
|
@@ -1,47 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Non-terminal statuses — nodes Phase 2 still owes an outcome for.
|
|
3
|
-
*
|
|
4
|
-
* `running` counts as active on purpose. `executeSubtask` accepts a row that is
|
|
5
|
-
* `pending` **or** `running`: the latter is its ambiguous-retry path, where a
|
|
6
|
-
* previous attempt crashed mid-execution and the managed child's fingerprint
|
|
7
|
-
* cache may still hold the terminal result that makes the retry free. So a row
|
|
8
|
-
* stranded `running` is re-runnable, and treating it as inert would deadlock its
|
|
9
|
-
* dependents instead of recovering them.
|
|
10
|
-
*/
|
|
11
|
-
const ACTIVE = new Set([
|
|
12
|
-
"pending",
|
|
13
|
-
"running"
|
|
14
|
-
]);
|
|
15
|
-
/**
|
|
16
|
-
* Select the next wave of dependency-ready Subtasks.
|
|
17
|
-
*
|
|
18
|
-
* A node is ready when it is still active and **every** dependency completed
|
|
19
|
-
* successfully — `completed` specifically, not merely terminal: a dependent must
|
|
20
|
-
* never run on a failed prerequisite's absent output.
|
|
21
|
-
*
|
|
22
|
-
* Ready ids come back in `ordinal` order. The Workflow builds durable step names
|
|
23
|
-
* from them (`execute:<id>`), and step names are a cache key, so the traversal
|
|
24
|
-
* that produces them has to be deterministic.
|
|
25
|
-
*
|
|
26
|
-
* **On `stuck`:** one "active nodes, none ready" check is the whole safety net. A
|
|
27
|
-
* cycle, a self-dependency, and a dangling dependency id all manifest identically
|
|
28
|
-
* here — every node in a cycle waits on a non-completed peer, a self-dependency
|
|
29
|
-
* waits on its own non-completed self, and an unknown id resolves to `undefined`,
|
|
30
|
-
* which is not `completed`. None of them are reachable: `createDecomposition`
|
|
31
|
-
* validates the DAG before it persists a single row. So this is a loud assertion
|
|
32
|
-
* for a corrupted DAG, not a control path — which is exactly why it is one check
|
|
33
|
-
* and not three detectors that can never fire.
|
|
34
|
-
*/
|
|
35
|
-
export function selectWave(nodes) {
|
|
36
|
-
const statusById = new Map(nodes.map((n) => [n.id, n.status]));
|
|
37
|
-
const active = nodes.filter((n) => ACTIVE.has(n.status));
|
|
38
|
-
if (active.length === 0)
|
|
39
|
-
return { kind: "done" };
|
|
40
|
-
const ready = active
|
|
41
|
-
.filter((n) => n.dependsOn.every((d) => statusById.get(d) === "completed"))
|
|
42
|
-
.sort((a, b) => a.ordinal - b.ordinal)
|
|
43
|
-
.map((n) => n.id);
|
|
44
|
-
if (ready.length === 0)
|
|
45
|
-
return { kind: "stuck", active: active.map((n) => n.id) };
|
|
46
|
-
return { kind: "ready", ids: ready };
|
|
47
|
-
}
|