@jangts/agent-core 0.1.1 → 0.2.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/CHANGELOG.md +18 -0
- package/development/docs/api/reference.md +1907 -1874
- package/development/docs/api/support.md +27 -0
- package/development/skills/agent-core-app/scripts/create-app.mjs +267 -70
- package/development/skills/agent-core-app/scripts/lib/knowledge.mjs +40 -15
- package/development/skills/agent-core-app/scripts/lib/source.mjs +30 -2
- package/development/skills/agent-core-app/scripts/plan.mjs +37 -12
- package/development/skills/agent-core-app/scripts/prepare-source.mjs +61 -10
- package/development/skills/agent-core-app/scripts/resources.mjs +45 -17
- package/development/skills/agent-core-app/scripts/validate-knowledge.mjs +18 -1
- package/development/skills/agent-core-app/templates/catalog.json +36 -22
- package/dist/cjs/capabilities/index.js +13 -0
- package/dist/cjs/capabilities/invocation.js +80 -10
- package/dist/cjs/capabilities/model.js +126 -13
- package/dist/cjs/capabilities/tool-runtime.js +64 -12
- package/dist/cjs/capabilities/tools.js +266 -31
- package/dist/cjs/context/assembly.js +46 -5
- package/dist/cjs/context/audit.js +31 -6
- package/dist/cjs/context/fragments.js +54 -11
- package/dist/cjs/context/index.js +12 -0
- package/dist/cjs/context/journal.js +84 -7
- package/dist/cjs/context/plan.js +30 -2
- package/dist/cjs/diagnostics/catalog.js +11 -3
- package/dist/cjs/diagnostics/index.js +149 -29
- package/dist/cjs/diagnostics/sub-flow.js +240 -40
- package/dist/cjs/errors.js +99 -17
- package/dist/cjs/execution/branch.js +20 -4
- package/dist/cjs/execution/engine.js +470 -56
- package/dist/cjs/execution/events.js +136 -18
- package/dist/cjs/execution/index.js +7 -0
- package/dist/cjs/execution/reporting.js +75 -6
- package/dist/cjs/execution/state.js +161 -22
- package/dist/cjs/execution/workflow.js +224 -32
- package/dist/cjs/index.js +18 -0
- package/dist/cjs/kits/aggregation.js +45 -3
- package/dist/cjs/kits/answering/batch.js +23 -4
- package/dist/cjs/kits/answering/check-result.js +31 -8
- package/dist/cjs/kits/answering/checks.js +24 -3
- package/dist/cjs/kits/answering/flow.js +192 -36
- package/dist/cjs/kits/answering/index.js +19 -1
- package/dist/cjs/kits/answering/tasks.js +88 -13
- package/dist/cjs/kits/artifacts.js +36 -4
- package/dist/cjs/kits/candidates.js +47 -5
- package/dist/cjs/kits/delivery.js +40 -5
- package/dist/cjs/kits/durable.js +155 -31
- package/dist/cjs/kits/evidence.js +66 -15
- package/dist/cjs/kits/family.js +152 -22
- package/dist/cjs/kits/index.js +12 -1
- package/dist/cjs/kits/inference.js +104 -16
- package/dist/cjs/kits/intents/catalog.js +67 -16
- package/dist/cjs/kits/intents/index.js +11 -0
- package/dist/cjs/kits/intents/registry.js +188 -43
- package/dist/cjs/kits/intents/scopes.js +215 -46
- package/dist/cjs/kits/interaction/command.js +140 -36
- package/dist/cjs/kits/interaction/commands.js +86 -11
- package/dist/cjs/kits/interaction/handlers.js +27 -10
- package/dist/cjs/kits/interaction/index.js +10 -0
- package/dist/cjs/kits/interaction/transfer.js +80 -14
- package/dist/cjs/kits/knowledge/catalog.js +62 -11
- package/dist/cjs/kits/knowledge/index.js +16 -1
- package/dist/cjs/kits/knowledge/publication.js +99 -23
- package/dist/cjs/kits/knowledge/sections.js +33 -4
- package/dist/cjs/kits/normalization.js +51 -7
- package/dist/cjs/kits/policies.js +79 -15
- package/dist/cjs/kits/presentation/events.js +54 -10
- package/dist/cjs/kits/presentation/index.js +24 -1
- package/dist/cjs/kits/presentation/outputs.js +176 -38
- package/dist/cjs/kits/presentation/templates.js +33 -5
- package/dist/cjs/kits/presentation/variants.js +31 -2
- package/dist/cjs/kits/projection.js +63 -8
- package/dist/cjs/kits/rank-fusion.js +27 -4
- package/dist/cjs/kits/reflection-log-source.js +89 -16
- package/dist/cjs/kits/reflection.js +234 -60
- package/dist/cjs/kits/retrieval.js +98 -18
- package/dist/cjs/kits/search.js +180 -27
- package/dist/cjs/kits/text-skills.js +104 -19
- package/dist/cjs/kits/tools.js +415 -74
- package/dist/cjs/kits/vector-search.js +50 -16
- package/dist/cjs/mock/node.js +7 -1
- package/dist/cjs/mock/web.js +7 -1
- package/dist/cjs/mock.js +7 -1
- package/dist/cjs/model/binding.js +68 -17
- package/dist/cjs/model/call-budget.js +45 -4
- package/dist/cjs/model/decision-retry.js +19 -1
- package/dist/cjs/model/defaults.js +27 -4
- package/dist/cjs/model/index.js +7 -0
- package/dist/cjs/model/interactions/arguments.js +36 -1
- package/dist/cjs/model/interactions/json-object.js +48 -12
- package/dist/cjs/model/interactions/native-functions.js +52 -10
- package/dist/cjs/model/message-diagnostics.js +17 -4
- package/dist/cjs/model/options.js +9 -1
- package/dist/cjs/model/preparation.js +86 -12
- package/dist/cjs/model/runner.js +413 -79
- package/dist/cjs/model/selection-transport.js +48 -8
- package/dist/cjs/model/settings.js +67 -13
- package/dist/cjs/model/token-budget.js +69 -11
- package/dist/cjs/model/transports.js +59 -6
- package/dist/cjs/structs/common.js +11 -0
- package/dist/cjs/structs/debug.js +34 -5
- package/dist/cjs/structs/errors.js +26 -1
- package/dist/cjs/structs/index.js +11 -1
- package/dist/cjs/structs/kits/durable.js +7 -0
- package/dist/cjs/structs/kits/family.js +1 -0
- package/dist/cjs/structs/kits/interaction.js +8 -1
- package/dist/cjs/structs/kits/knowledge-publication.js +1 -0
- package/dist/cjs/structs/kits/reflection.js +18 -3
- package/dist/cjs/structs/model/chat-provider.js +6 -0
- package/dist/cjs/structs/support/model/completion.js +2 -0
- package/dist/cjs/structs/support/model/messages.js +2 -0
- package/dist/cjs/support/capabilities.js +43 -6
- package/dist/cjs/support/context/assembly.js +88 -16
- package/dist/cjs/support/context/compression.js +48 -6
- package/dist/cjs/support/context/fragments.js +6 -0
- package/dist/cjs/support/context/history.js +36 -1
- package/dist/cjs/support/context/index.js +11 -0
- package/dist/cjs/support/context/nodes.js +164 -35
- package/dist/cjs/support/context/processing.js +319 -61
- package/dist/cjs/support/context/selection-policy.js +98 -21
- package/dist/cjs/support/context/selection.js +61 -10
- package/dist/cjs/support/context/snapshot.js +29 -7
- package/dist/cjs/support/context/strategies.js +120 -28
- package/dist/cjs/support/index.js +9 -1
- package/dist/cjs/support/model/capabilities.js +20 -1
- package/dist/cjs/support/model/chat-completions.js +92 -20
- package/dist/cjs/support/model/children.js +34 -6
- package/dist/cjs/support/model/compatible-provider.js +189 -59
- package/dist/cjs/support/model/completion/calls.js +61 -0
- package/dist/cjs/support/model/completion/default.js +32 -0
- package/dist/cjs/support/model/completion/index.js +28 -0
- package/dist/cjs/support/model/completion/session.js +102 -0
- package/dist/cjs/support/model/index.js +12 -0
- package/dist/cjs/support/model/interactions/index.js +12 -1
- package/dist/cjs/support/model/interactions/json-object.js +6 -0
- package/dist/cjs/support/model/interactions/native-functions.js +6 -0
- package/dist/cjs/support/model/observer.js +32 -6
- package/dist/cjs/support/model/preview-rules.js +66 -16
- package/dist/cjs/support/model/reply-preview.js +77 -17
- package/dist/cjs/support/model/stage-transport.js +33 -7
- package/dist/cjs/support/model/strategies.js +75 -14
- package/dist/cjs/support/model/transports.js +53 -11
- package/dist/cjs/support/registration.js +49 -7
- package/dist/cjs/support/schema.js +46 -4
- package/dist/cjs/support/stream-events.js +60 -8
- package/dist/cjs/support/tool-runtime.js +6 -0
- package/dist/cjs/support/tools.js +79 -10
- package/dist/cjs/support/transport/index.js +7 -0
- package/dist/cjs/support/transport/json.js +28 -4
- package/dist/cjs/support/transport/sse.js +25 -2
- package/dist/cjs/utils/break-observer.js +20 -2
- package/dist/cjs/utils/cancellation.js +77 -9
- package/dist/cjs/utils/catalog.js +19 -4
- package/dist/cjs/utils/debug.js +14 -2
- package/dist/cjs/utils/index.js +8 -0
- package/dist/cjs/utils/interaction-definition.js +26 -6
- package/dist/cjs/utils/invocation.js +42 -4
- package/dist/cjs/utils/model-protocol.js +20 -1
- package/dist/cjs/utils/object.js +16 -0
- package/dist/cjs/utils/observer.js +22 -2
- package/dist/cjs/utils/protocol-registry.js +47 -4
- package/dist/cjs/utils/query-key.js +21 -2
- package/dist/cjs/utils/registration.js +18 -2
- package/dist/cjs/utils/rules.js +39 -11
- package/dist/cjs/utils/schema-adapter.js +25 -2
- package/dist/cjs/utils/synchronous.js +64 -7
- package/dist/cjs/utils/text.js +15 -1
- package/dist/esm/capabilities/index.d.ts +13 -0
- package/dist/esm/capabilities/index.js +13 -0
- package/dist/esm/capabilities/invocation.d.ts +16 -2
- package/dist/esm/capabilities/invocation.js +80 -10
- package/dist/esm/capabilities/model.d.ts +68 -1
- package/dist/esm/capabilities/model.js +126 -13
- package/dist/esm/capabilities/tool-runtime.d.ts +11 -0
- package/dist/esm/capabilities/tool-runtime.js +64 -12
- package/dist/esm/capabilities/tools.d.ts +96 -3
- package/dist/esm/capabilities/tools.js +267 -32
- package/dist/esm/context/assembly.d.ts +13 -2
- package/dist/esm/context/assembly.js +46 -5
- package/dist/esm/context/audit.d.ts +23 -1
- package/dist/esm/context/audit.js +31 -6
- package/dist/esm/context/fragments.d.ts +37 -3
- package/dist/esm/context/fragments.js +54 -11
- package/dist/esm/context/index.d.ts +12 -0
- package/dist/esm/context/index.js +12 -0
- package/dist/esm/context/journal.d.ts +32 -1
- package/dist/esm/context/journal.js +84 -7
- package/dist/esm/context/plan.d.ts +11 -1
- package/dist/esm/context/plan.js +30 -2
- package/dist/esm/diagnostics/catalog.js +11 -3
- package/dist/esm/diagnostics/index.d.ts +30 -2
- package/dist/esm/diagnostics/index.js +149 -29
- package/dist/esm/diagnostics/sub-flow.d.ts +41 -3
- package/dist/esm/diagnostics/sub-flow.js +240 -40
- package/dist/esm/errors.d.ts +22 -2
- package/dist/esm/errors.js +99 -17
- package/dist/esm/execution/branch.d.ts +19 -1
- package/dist/esm/execution/branch.js +20 -4
- package/dist/esm/execution/engine.d.ts +291 -5
- package/dist/esm/execution/engine.js +471 -57
- package/dist/esm/execution/events.d.ts +16 -2
- package/dist/esm/execution/events.js +136 -18
- package/dist/esm/execution/index.d.ts +7 -0
- package/dist/esm/execution/index.js +7 -0
- package/dist/esm/execution/reporting.d.ts +49 -1
- package/dist/esm/execution/reporting.js +75 -6
- package/dist/esm/execution/state.d.ts +126 -10
- package/dist/esm/execution/state.js +161 -22
- package/dist/esm/execution/workflow.d.ts +121 -3
- package/dist/esm/execution/workflow.js +224 -32
- package/dist/esm/index.d.ts +17 -1
- package/dist/esm/index.js +18 -0
- package/dist/esm/kits/aggregation.d.ts +34 -2
- package/dist/esm/kits/aggregation.js +45 -3
- package/dist/esm/kits/answering/batch.d.ts +17 -0
- package/dist/esm/kits/answering/batch.js +23 -4
- package/dist/esm/kits/answering/check-result.d.ts +18 -1
- package/dist/esm/kits/answering/check-result.js +31 -8
- package/dist/esm/kits/answering/checks.d.ts +11 -0
- package/dist/esm/kits/answering/checks.js +24 -3
- package/dist/esm/kits/answering/flow.d.ts +25 -2
- package/dist/esm/kits/answering/flow.js +192 -36
- package/dist/esm/kits/answering/index.d.ts +12 -0
- package/dist/esm/kits/answering/index.js +19 -1
- package/dist/esm/kits/answering/tasks.d.ts +32 -1
- package/dist/esm/kits/answering/tasks.js +88 -13
- package/dist/esm/kits/artifacts.d.ts +11 -0
- package/dist/esm/kits/artifacts.js +36 -4
- package/dist/esm/kits/candidates.d.ts +23 -1
- package/dist/esm/kits/candidates.js +47 -5
- package/dist/esm/kits/delivery.d.ts +34 -0
- package/dist/esm/kits/delivery.js +40 -5
- package/dist/esm/kits/durable.d.ts +19 -0
- package/dist/esm/kits/durable.js +155 -31
- package/dist/esm/kits/evidence.d.ts +28 -5
- package/dist/esm/kits/evidence.js +66 -15
- package/dist/esm/kits/family.d.ts +17 -1
- package/dist/esm/kits/family.js +152 -22
- package/dist/esm/kits/index.d.ts +12 -1
- package/dist/esm/kits/index.js +12 -1
- package/dist/esm/kits/inference.d.ts +64 -0
- package/dist/esm/kits/inference.js +104 -16
- package/dist/esm/kits/intents/catalog.d.ts +13 -1
- package/dist/esm/kits/intents/catalog.js +67 -16
- package/dist/esm/kits/intents/index.d.ts +11 -0
- package/dist/esm/kits/intents/index.js +11 -0
- package/dist/esm/kits/intents/registry.d.ts +61 -3
- package/dist/esm/kits/intents/registry.js +188 -43
- package/dist/esm/kits/intents/scopes.d.ts +73 -3
- package/dist/esm/kits/intents/scopes.js +215 -46
- package/dist/esm/kits/interaction/command.d.ts +38 -4
- package/dist/esm/kits/interaction/command.js +140 -36
- package/dist/esm/kits/interaction/commands.d.ts +66 -2
- package/dist/esm/kits/interaction/commands.js +86 -11
- package/dist/esm/kits/interaction/handlers.d.ts +19 -2
- package/dist/esm/kits/interaction/handlers.js +27 -10
- package/dist/esm/kits/interaction/index.d.ts +10 -0
- package/dist/esm/kits/interaction/index.js +10 -0
- package/dist/esm/kits/interaction/transfer.d.ts +39 -2
- package/dist/esm/kits/interaction/transfer.js +80 -14
- package/dist/esm/kits/knowledge/catalog.d.ts +13 -0
- package/dist/esm/kits/knowledge/catalog.js +62 -11
- package/dist/esm/kits/knowledge/index.d.ts +11 -0
- package/dist/esm/kits/knowledge/index.js +16 -1
- package/dist/esm/kits/knowledge/publication.d.ts +15 -1
- package/dist/esm/kits/knowledge/publication.js +99 -23
- package/dist/esm/kits/knowledge/sections.d.ts +31 -1
- package/dist/esm/kits/knowledge/sections.js +33 -4
- package/dist/esm/kits/normalization.d.ts +25 -2
- package/dist/esm/kits/normalization.js +51 -7
- package/dist/esm/kits/policies.d.ts +26 -3
- package/dist/esm/kits/policies.js +79 -15
- package/dist/esm/kits/presentation/events.d.ts +51 -4
- package/dist/esm/kits/presentation/events.js +54 -10
- package/dist/esm/kits/presentation/index.d.ts +12 -0
- package/dist/esm/kits/presentation/index.js +25 -2
- package/dist/esm/kits/presentation/outputs.d.ts +30 -1
- package/dist/esm/kits/presentation/outputs.js +176 -38
- package/dist/esm/kits/presentation/templates.d.ts +32 -3
- package/dist/esm/kits/presentation/templates.js +33 -5
- package/dist/esm/kits/presentation/variants.d.ts +29 -0
- package/dist/esm/kits/presentation/variants.js +31 -2
- package/dist/esm/kits/projection.d.ts +42 -5
- package/dist/esm/kits/projection.js +63 -8
- package/dist/esm/kits/rank-fusion.d.ts +21 -1
- package/dist/esm/kits/rank-fusion.js +28 -5
- package/dist/esm/kits/reflection-log-source.d.ts +28 -1
- package/dist/esm/kits/reflection-log-source.js +89 -16
- package/dist/esm/kits/reflection.d.ts +17 -1
- package/dist/esm/kits/reflection.js +235 -61
- package/dist/esm/kits/retrieval.d.ts +18 -2
- package/dist/esm/kits/retrieval.js +98 -18
- package/dist/esm/kits/search.d.ts +56 -3
- package/dist/esm/kits/search.js +180 -27
- package/dist/esm/kits/text-skills.d.ts +16 -2
- package/dist/esm/kits/text-skills.js +104 -19
- package/dist/esm/kits/tools.d.ts +122 -2
- package/dist/esm/kits/tools.js +416 -74
- package/dist/esm/kits/vector-search.d.ts +47 -1
- package/dist/esm/kits/vector-search.js +51 -17
- package/dist/esm/mock/node.d.ts +7 -0
- package/dist/esm/mock/node.js +7 -1
- package/dist/esm/mock/web.d.ts +7 -0
- package/dist/esm/mock/web.js +7 -1
- package/dist/esm/mock.d.ts +7 -0
- package/dist/esm/mock.js +7 -1
- package/dist/esm/model/binding.d.ts +32 -3
- package/dist/esm/model/binding.js +68 -17
- package/dist/esm/model/call-budget.d.ts +30 -2
- package/dist/esm/model/call-budget.js +45 -4
- package/dist/esm/model/decision-retry.d.ts +10 -1
- package/dist/esm/model/decision-retry.js +19 -1
- package/dist/esm/model/defaults.d.ts +13 -2
- package/dist/esm/model/defaults.js +27 -4
- package/dist/esm/model/index.d.ts +7 -0
- package/dist/esm/model/index.js +7 -0
- package/dist/esm/model/interactions/arguments.d.ts +27 -0
- package/dist/esm/model/interactions/arguments.js +36 -1
- package/dist/esm/model/interactions/json-object.d.ts +7 -1
- package/dist/esm/model/interactions/json-object.js +48 -12
- package/dist/esm/model/interactions/native-functions.d.ts +6 -0
- package/dist/esm/model/interactions/native-functions.js +52 -10
- package/dist/esm/model/message-diagnostics.d.ts +17 -1
- package/dist/esm/model/message-diagnostics.js +17 -4
- package/dist/esm/model/options.d.ts +18 -1
- package/dist/esm/model/options.js +9 -1
- package/dist/esm/model/preparation.d.ts +30 -2
- package/dist/esm/model/preparation.js +86 -12
- package/dist/esm/model/runner.d.ts +129 -5
- package/dist/esm/model/runner.js +414 -80
- package/dist/esm/model/selection-transport.d.ts +14 -1
- package/dist/esm/model/selection-transport.js +48 -8
- package/dist/esm/model/settings.d.ts +11 -0
- package/dist/esm/model/settings.js +67 -13
- package/dist/esm/model/token-budget.d.ts +59 -1
- package/dist/esm/model/token-budget.js +69 -11
- package/dist/esm/model/transports.d.ts +20 -2
- package/dist/esm/model/transports.js +59 -6
- package/dist/esm/structs/capabilities/invocation.d.ts +36 -0
- package/dist/esm/structs/capabilities/model.d.ts +27 -0
- package/dist/esm/structs/capabilities/tools.d.ts +38 -0
- package/dist/esm/structs/common.d.ts +62 -2
- package/dist/esm/structs/common.js +11 -0
- package/dist/esm/structs/context/fragments.d.ts +28 -0
- package/dist/esm/structs/context/journal.d.ts +28 -3
- package/dist/esm/structs/context/processing.d.ts +11 -0
- package/dist/esm/structs/debug.d.ts +58 -1
- package/dist/esm/structs/debug.js +34 -5
- package/dist/esm/structs/diagnostics.d.ts +119 -1
- package/dist/esm/structs/errors.d.ts +42 -1
- package/dist/esm/structs/errors.js +26 -1
- package/dist/esm/structs/execution/engine.d.ts +24 -1
- package/dist/esm/structs/execution/events.d.ts +12 -0
- package/dist/esm/structs/execution/workflow.d.ts +71 -0
- package/dist/esm/structs/index.d.ts +11 -1
- package/dist/esm/structs/index.js +11 -1
- package/dist/esm/structs/invocation.d.ts +30 -0
- package/dist/esm/structs/kits/aggregation.d.ts +12 -0
- package/dist/esm/structs/kits/answering/checks.d.ts +11 -0
- package/dist/esm/structs/kits/answering/flow.d.ts +35 -1
- package/dist/esm/structs/kits/answering/state.d.ts +21 -0
- package/dist/esm/structs/kits/answering/tasks.d.ts +21 -0
- package/dist/esm/structs/kits/artifacts.d.ts +14 -0
- package/dist/esm/structs/kits/candidates.d.ts +19 -0
- package/dist/esm/structs/kits/delivery.d.ts +22 -0
- package/dist/esm/structs/kits/durable.d.ts +56 -3
- package/dist/esm/structs/kits/durable.js +7 -0
- package/dist/esm/structs/kits/evidence.d.ts +23 -0
- package/dist/esm/structs/kits/family.d.ts +49 -1
- package/dist/esm/structs/kits/family.js +1 -0
- package/dist/esm/structs/kits/intents/catalog.d.ts +26 -0
- package/dist/esm/structs/kits/intents/registry.d.ts +34 -0
- package/dist/esm/structs/kits/intents/scopes.d.ts +36 -1
- package/dist/esm/structs/kits/interaction.d.ts +64 -0
- package/dist/esm/structs/kits/interaction.js +8 -1
- package/dist/esm/structs/kits/knowledge-publication.d.ts +43 -1
- package/dist/esm/structs/kits/knowledge-publication.js +1 -0
- package/dist/esm/structs/kits/knowledge.d.ts +39 -2
- package/dist/esm/structs/kits/normalization.d.ts +15 -0
- package/dist/esm/structs/kits/policies.d.ts +25 -1
- package/dist/esm/structs/kits/presentation/events.d.ts +28 -4
- package/dist/esm/structs/kits/presentation/outputs.d.ts +38 -1
- package/dist/esm/structs/kits/presentation/templates.d.ts +15 -0
- package/dist/esm/structs/kits/projection.d.ts +21 -0
- package/dist/esm/structs/kits/reflection.d.ts +61 -2
- package/dist/esm/structs/kits/reflection.js +18 -3
- package/dist/esm/structs/kits/retrieval.d.ts +38 -0
- package/dist/esm/structs/kits/search.d.ts +22 -0
- package/dist/esm/structs/kits/text-skills.d.ts +36 -0
- package/dist/esm/structs/kits/tools.d.ts +87 -0
- package/dist/esm/structs/model/chat-provider.d.ts +24 -1
- package/dist/esm/structs/model/chat-provider.js +6 -0
- package/dist/esm/structs/model/interactions.d.ts +38 -0
- package/dist/esm/structs/model/messages.d.ts +30 -0
- package/dist/esm/structs/model/runtime.d.ts +104 -6
- package/dist/esm/structs/support/capabilities.d.ts +19 -2
- package/dist/esm/structs/support/context-processing.d.ts +88 -9
- package/dist/esm/structs/support/context.d.ts +29 -1
- package/dist/esm/structs/support/model/completion.d.ts +50 -0
- package/dist/esm/structs/support/model/completion.js +1 -0
- package/dist/esm/structs/support/model/interactions.d.ts +13 -1
- package/dist/esm/structs/support/model/messages.d.ts +52 -0
- package/dist/esm/structs/support/model/messages.js +1 -0
- package/dist/esm/structs/support/model/provider-observer.d.ts +22 -1
- package/dist/esm/structs/support/model/provider.d.ts +71 -6
- package/dist/esm/structs/support/registration.d.ts +13 -0
- package/dist/esm/structs/support/schema.d.ts +14 -0
- package/dist/esm/structs/support/tools.d.ts +28 -0
- package/dist/esm/structs/support/transport/json.d.ts +16 -0
- package/dist/esm/structs/support/transport/sse.d.ts +15 -0
- package/dist/esm/structs/utils/rules.d.ts +19 -0
- package/dist/esm/support/capabilities.d.ts +25 -2
- package/dist/esm/support/capabilities.js +43 -6
- package/dist/esm/support/context/assembly.d.ts +35 -4
- package/dist/esm/support/context/assembly.js +88 -16
- package/dist/esm/support/context/compression.d.ts +17 -1
- package/dist/esm/support/context/compression.js +48 -6
- package/dist/esm/support/context/fragments.d.ts +6 -0
- package/dist/esm/support/context/fragments.js +6 -0
- package/dist/esm/support/context/history.d.ts +43 -0
- package/dist/esm/support/context/history.js +36 -1
- package/dist/esm/support/context/index.d.ts +13 -2
- package/dist/esm/support/context/index.js +12 -1
- package/dist/esm/support/context/nodes.d.ts +49 -3
- package/dist/esm/support/context/nodes.js +165 -36
- package/dist/esm/support/context/processing.d.ts +145 -1
- package/dist/esm/support/context/processing.js +320 -62
- package/dist/esm/support/context/selection-policy.d.ts +42 -2
- package/dist/esm/support/context/selection-policy.js +98 -21
- package/dist/esm/support/context/selection.d.ts +14 -1
- package/dist/esm/support/context/selection.js +61 -10
- package/dist/esm/support/context/snapshot.d.ts +23 -1
- package/dist/esm/support/context/snapshot.js +29 -7
- package/dist/esm/support/context/strategies.d.ts +35 -2
- package/dist/esm/support/context/strategies.js +120 -28
- package/dist/esm/support/index.d.ts +9 -1
- package/dist/esm/support/index.js +9 -1
- package/dist/esm/support/model/capabilities.d.ts +10 -0
- package/dist/esm/support/model/capabilities.js +20 -1
- package/dist/esm/support/model/chat-completions.d.ts +44 -15
- package/dist/esm/support/model/chat-completions.js +92 -20
- package/dist/esm/support/model/children.d.ts +32 -2
- package/dist/esm/support/model/children.js +34 -6
- package/dist/esm/support/model/compatible-provider.d.ts +29 -3
- package/dist/esm/support/model/compatible-provider.js +190 -60
- package/dist/esm/support/model/completion/calls.d.ts +40 -0
- package/dist/esm/support/model/completion/calls.js +58 -0
- package/dist/esm/support/model/completion/default.d.ts +10 -0
- package/dist/esm/support/model/completion/default.js +29 -0
- package/dist/esm/support/model/completion/index.d.ts +10 -0
- package/dist/esm/support/model/completion/index.js +22 -0
- package/dist/esm/support/model/completion/session.d.ts +11 -0
- package/dist/esm/support/model/completion/session.js +99 -0
- package/dist/esm/support/model/index.d.ts +14 -0
- package/dist/esm/support/model/index.js +12 -0
- package/dist/esm/support/model/interactions/index.d.ts +1 -1
- package/dist/esm/support/model/interactions/index.js +12 -1
- package/dist/esm/support/model/interactions/json-object.d.ts +6 -0
- package/dist/esm/support/model/interactions/json-object.js +6 -0
- package/dist/esm/support/model/interactions/native-functions.d.ts +6 -0
- package/dist/esm/support/model/interactions/native-functions.js +6 -0
- package/dist/esm/support/model/observer.d.ts +25 -2
- package/dist/esm/support/model/observer.js +32 -6
- package/dist/esm/support/model/preview-rules.d.ts +20 -2
- package/dist/esm/support/model/preview-rules.js +66 -16
- package/dist/esm/support/model/reply-preview.d.ts +15 -1
- package/dist/esm/support/model/reply-preview.js +77 -17
- package/dist/esm/support/model/stage-transport.d.ts +9 -1
- package/dist/esm/support/model/stage-transport.js +33 -7
- package/dist/esm/support/model/strategies.d.ts +24 -2
- package/dist/esm/support/model/strategies.js +75 -14
- package/dist/esm/support/model/transports.d.ts +17 -1
- package/dist/esm/support/model/transports.js +53 -11
- package/dist/esm/support/registration.d.ts +20 -1
- package/dist/esm/support/registration.js +49 -7
- package/dist/esm/support/schema.d.ts +31 -1
- package/dist/esm/support/schema.js +46 -4
- package/dist/esm/support/stream-events.d.ts +22 -1
- package/dist/esm/support/stream-events.js +60 -8
- package/dist/esm/support/tool-runtime.d.ts +6 -0
- package/dist/esm/support/tool-runtime.js +6 -0
- package/dist/esm/support/tools.d.ts +22 -0
- package/dist/esm/support/tools.js +79 -10
- package/dist/esm/support/transport/index.d.ts +7 -0
- package/dist/esm/support/transport/index.js +7 -0
- package/dist/esm/support/transport/json.d.ts +29 -2
- package/dist/esm/support/transport/json.js +28 -4
- package/dist/esm/support/transport/sse.d.ts +31 -1
- package/dist/esm/support/transport/sse.js +25 -2
- package/dist/esm/types.d.ts +9 -1
- package/dist/esm/utils/break-observer.d.ts +27 -2
- package/dist/esm/utils/break-observer.js +20 -2
- package/dist/esm/utils/cancellation.d.ts +56 -5
- package/dist/esm/utils/cancellation.js +77 -9
- package/dist/esm/utils/catalog.d.ts +20 -1
- package/dist/esm/utils/catalog.js +19 -4
- package/dist/esm/utils/debug.d.ts +20 -1
- package/dist/esm/utils/debug.js +14 -2
- package/dist/esm/utils/index.d.ts +8 -0
- package/dist/esm/utils/index.js +8 -0
- package/dist/esm/utils/interaction-definition.d.ts +18 -1
- package/dist/esm/utils/interaction-definition.js +26 -6
- package/dist/esm/utils/invocation.d.ts +36 -1
- package/dist/esm/utils/invocation.js +42 -4
- package/dist/esm/utils/model-protocol.d.ts +8 -0
- package/dist/esm/utils/model-protocol.js +20 -1
- package/dist/esm/utils/object.d.ts +16 -0
- package/dist/esm/utils/object.js +16 -0
- package/dist/esm/utils/observer.d.ts +19 -1
- package/dist/esm/utils/observer.js +22 -2
- package/dist/esm/utils/protocol-registry.d.ts +38 -1
- package/dist/esm/utils/protocol-registry.js +47 -4
- package/dist/esm/utils/query-key.d.ts +11 -1
- package/dist/esm/utils/query-key.js +21 -2
- package/dist/esm/utils/registration.d.ts +34 -2
- package/dist/esm/utils/registration.js +18 -2
- package/dist/esm/utils/rules.d.ts +81 -4
- package/dist/esm/utils/rules.js +39 -11
- package/dist/esm/utils/schema-adapter.d.ts +12 -1
- package/dist/esm/utils/schema-adapter.js +25 -2
- package/dist/esm/utils/synchronous.d.ts +60 -4
- package/dist/esm/utils/synchronous.js +64 -7
- package/dist/esm/utils/text.d.ts +15 -1
- package/dist/esm/utils/text.js +15 -1
- package/package.json +3 -2
|
@@ -1,3 +1,21 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Branch identity snapshot.
|
|
3
|
+
*
|
|
4
|
+
* A branch records which agent version a run belongs to and, for forked runs, where it
|
|
5
|
+
* branched from. Snapshots are validated once so every later comparison is a plain
|
|
6
|
+
* value comparison rather than a re-validation.
|
|
7
|
+
*
|
|
8
|
+
* Exports: `snapshotBranch`.
|
|
9
|
+
*/
|
|
1
10
|
import type { AgentBranch } from './engine.js';
|
|
2
|
-
/**
|
|
11
|
+
/**
|
|
12
|
+
* Validate and freeze a branch identity.
|
|
13
|
+
*
|
|
14
|
+
* Required ids identify the branch itself; optional ids describe the fork origin. Ids are
|
|
15
|
+
* bounded in length so they remain usable as keys in App storage.
|
|
16
|
+
*
|
|
17
|
+
* @param source - Branch identity supplied by the host or generated by the engine.
|
|
18
|
+
* @returns A frozen identity with the same field set.
|
|
19
|
+
* @throws Error When a required id is missing or any id is blank or too long.
|
|
20
|
+
*/
|
|
3
21
|
export declare function snapshotBranch(source: AgentBranch): AgentBranch;
|
|
@@ -1,10 +1,26 @@
|
|
|
1
1
|
import { breakWhile } from '../utils/rules.js';
|
|
2
|
-
/**
|
|
2
|
+
/**
|
|
3
|
+
* Validate and freeze a branch identity.
|
|
4
|
+
*
|
|
5
|
+
* Required ids identify the branch itself; optional ids describe the fork origin. Ids are
|
|
6
|
+
* bounded in length so they remain usable as keys in App storage.
|
|
7
|
+
*
|
|
8
|
+
* @param source - Branch identity supplied by the host or generated by the engine.
|
|
9
|
+
* @returns A frozen identity with the same field set.
|
|
10
|
+
* @throws Error When a required id is missing or any id is blank or too long.
|
|
11
|
+
*/
|
|
3
12
|
export function snapshotBranch(source) {
|
|
4
13
|
breakWhile(!source, 'Invalid branch identity');
|
|
5
14
|
const { agentId, branchId, agentVersionId, parentBranchId, parentAgentVersionId, forkPointId } = source;
|
|
6
15
|
const valid = (id) => typeof id === 'string' && !!id.trim() && id.length <= 200;
|
|
7
|
-
breakWhile(![agentId, branchId, agentVersionId].every(valid)
|
|
8
|
-
|
|
9
|
-
return Object.freeze({
|
|
16
|
+
breakWhile(![agentId, branchId, agentVersionId].every(valid) ||
|
|
17
|
+
[parentBranchId, parentAgentVersionId, forkPointId].some((id) => id !== undefined && !valid(id)), 'Invalid branch identity');
|
|
18
|
+
return Object.freeze({
|
|
19
|
+
agentId,
|
|
20
|
+
branchId,
|
|
21
|
+
agentVersionId,
|
|
22
|
+
parentBranchId,
|
|
23
|
+
parentAgentVersionId,
|
|
24
|
+
forkPointId,
|
|
25
|
+
});
|
|
10
26
|
}
|
|
@@ -9,11 +9,25 @@ type InvokeTool = (request: import('../structs/capabilities/tools.js').ToolInvoc
|
|
|
9
9
|
type ToolBinding = {
|
|
10
10
|
invoke: InvokeTool;
|
|
11
11
|
} | Pick<ToolRegistry, 'invokeAsync'>;
|
|
12
|
+
/** The subset of a runner an engine may drive; kept small so the App can supply it. */
|
|
12
13
|
export type AgentModelRuntime = Pick<ModelRunner, 'invoke' | 'prepare' | 'execution' | 'remainingCalls' | 'callCount' | 'totalCallCount'>;
|
|
14
|
+
/**
|
|
15
|
+
* Model binding accepted by the engine.
|
|
16
|
+
*
|
|
17
|
+
* Execution scope belongs to the engine, so a bound model may not carry its own signal or
|
|
18
|
+
* execution options.
|
|
19
|
+
*/
|
|
13
20
|
export type AgentModelBinding = ModelRunnerOptions & {
|
|
14
21
|
execution?: never;
|
|
15
22
|
signal?: never;
|
|
16
23
|
};
|
|
24
|
+
/**
|
|
25
|
+
* Engine construction options.
|
|
26
|
+
*
|
|
27
|
+
* Combines round budget and error factories with exactly one model shape (a single bound
|
|
28
|
+
* model or a named catalog), an optional tool runtime, an optional branch identity, and
|
|
29
|
+
* an optional workflow together with its App dependencies.
|
|
30
|
+
*/
|
|
17
31
|
export type AgentCoreEngineSetup<State, Result, App = undefined> = AgentCoreEngineOptions & {
|
|
18
32
|
readonly branch?: AgentBranch;
|
|
19
33
|
readonly tools?: ToolBinding;
|
|
@@ -34,29 +48,66 @@ export type AgentCoreEngineSetup<State, Result, App = undefined> = AgentCoreEngi
|
|
|
34
48
|
} : {
|
|
35
49
|
readonly app: App;
|
|
36
50
|
})));
|
|
51
|
+
/**
|
|
52
|
+
* Immutable identity of one branch of an agent.
|
|
53
|
+
*
|
|
54
|
+
* The three required ids are generated per engine unless the host restores a branch; the
|
|
55
|
+
* optional ids are only present on a fork and record the exact origin, so a forked run
|
|
56
|
+
* can be attributed without consulting external storage.
|
|
57
|
+
*/
|
|
37
58
|
export interface AgentBranch {
|
|
59
|
+
/** Agent the branch belongs to. */
|
|
38
60
|
readonly agentId: string;
|
|
61
|
+
/** Branch identifier, unique within the agent. */
|
|
39
62
|
readonly branchId: string;
|
|
63
|
+
/** Agent version the branch was created from. */
|
|
40
64
|
readonly agentVersionId: string;
|
|
65
|
+
/** Parent branch id; present only for a fork. */
|
|
41
66
|
readonly parentBranchId?: string;
|
|
67
|
+
/** Agent version of the parent branch; present only for a fork. */
|
|
42
68
|
readonly parentAgentVersionId?: string;
|
|
69
|
+
/** Checkpoint the branch was forked at; present only for a fork. */
|
|
43
70
|
readonly forkPointId?: string;
|
|
44
71
|
}
|
|
72
|
+
/**
|
|
73
|
+
* In-memory checkpoint with a copy-on-read accessor.
|
|
74
|
+
*
|
|
75
|
+
* The stored data is already a clone, and `read` clones again, so a caller cannot mutate
|
|
76
|
+
* the checkpoint by mutating what it read.
|
|
77
|
+
*/
|
|
45
78
|
export interface AgentCheckpoint<Data> {
|
|
79
|
+
/** Checkpoint identifier, unique within the engine. */
|
|
46
80
|
readonly id: string;
|
|
81
|
+
/** Branch the checkpoint was taken on. */
|
|
47
82
|
readonly source: AgentBranch;
|
|
83
|
+
/** @returns A fresh clone of the checkpoint data. */
|
|
48
84
|
read(): Data;
|
|
49
85
|
}
|
|
50
|
-
/**
|
|
86
|
+
/**
|
|
87
|
+
* Host-owned serializable data, never a saved credential, model budget or executable handler.
|
|
88
|
+
*/
|
|
51
89
|
export interface AgentCheckpointRecord<Data> {
|
|
90
|
+
/** Checkpoint identifier, preserved across export and restore. */
|
|
52
91
|
readonly id: string;
|
|
92
|
+
/** Validated branch identity captured at checkpoint time. */
|
|
53
93
|
readonly source: AgentBranch;
|
|
94
|
+
/** Detached data payload; serializable by the host. */
|
|
54
95
|
readonly data: Data;
|
|
55
96
|
}
|
|
56
|
-
/**
|
|
97
|
+
/**
|
|
98
|
+
* Bounded execution shared by applications; business rules are registered by each host.
|
|
99
|
+
*
|
|
100
|
+
* Configuration is bound before a run and may be bound only once per model, tool runtime
|
|
101
|
+
* and workflow. A run resolves its signal from the engine, the request runtime and the
|
|
102
|
+
* caller, then executes either the bound workflow or a supplied step function until the
|
|
103
|
+
* round budget, cancellation or a completion stops it.
|
|
104
|
+
*/
|
|
57
105
|
export declare class AgentCoreEngine<Result, State = unknown, App = undefined> {
|
|
106
|
+
/** Workflow catalog constructor, exposed so hosts do not import two modules. */
|
|
58
107
|
static readonly Workflow: typeof AgentWorkflow;
|
|
108
|
+
/** Attempt budget, exposed for hosts that gate their own sub-steps. */
|
|
59
109
|
static readonly AttemptBudget: typeof AttemptBudget;
|
|
110
|
+
/** Factory for a validated workflow definition. */
|
|
60
111
|
static readonly createWorkflow: typeof defineWorkflow;
|
|
61
112
|
private readonly maxRounds;
|
|
62
113
|
private readonly exhausted;
|
|
@@ -67,27 +118,145 @@ export declare class AgentCoreEngine<Result, State = unknown, App = undefined> {
|
|
|
67
118
|
private models?;
|
|
68
119
|
private selectedModelId?;
|
|
69
120
|
private maxModelCalls?;
|
|
121
|
+
/**
|
|
122
|
+
* Compile model options and reject engine-owned settings.
|
|
123
|
+
*
|
|
124
|
+
* @param options - Model binding supplied to the engine.
|
|
125
|
+
* @returns The compiled binding.
|
|
126
|
+
* @throws TypeError When the binding carries its own execution scope.
|
|
127
|
+
*/
|
|
70
128
|
private snapshotModel;
|
|
129
|
+
/**
|
|
130
|
+
* Bind the single model this engine will use.
|
|
131
|
+
*
|
|
132
|
+
* @param options - App model settings.
|
|
133
|
+
* @returns This engine, for chaining.
|
|
134
|
+
* @throws TypeError When a model is already bound or the settings are invalid.
|
|
135
|
+
*/
|
|
71
136
|
bindModel(options: AgentModelBinding): this;
|
|
72
|
-
/**
|
|
137
|
+
/**
|
|
138
|
+
* Bind an existing request lifetime once, for App services sharing this Runner's budget.
|
|
139
|
+
*
|
|
140
|
+
* Callbacks are bound to the source runtime and the counters stay live getters, so the
|
|
141
|
+
* engine and the App observe exactly the same budget and signal.
|
|
142
|
+
*
|
|
143
|
+
* @param source - Request model runtime owned by the App.
|
|
144
|
+
* @returns This engine, for chaining.
|
|
145
|
+
* @throws Error When another model is already bound or the runtime lacks a usable signal.
|
|
146
|
+
*/
|
|
73
147
|
bindModelRuntime(source: AgentModelRuntime): this;
|
|
148
|
+
/**
|
|
149
|
+
* Select a configured model, or replace the single bound model's configuration.
|
|
150
|
+
*
|
|
151
|
+
* @param options - A configured model id, or new settings for the single bound model.
|
|
152
|
+
* @returns This engine, for chaining.
|
|
153
|
+
* @throws WorkflowContractError When the id is not configured.
|
|
154
|
+
* @throws TypeError When no single model is bound to switch.
|
|
155
|
+
*/
|
|
74
156
|
switchModel(options: AgentModelBinding | string): this;
|
|
157
|
+
/**
|
|
158
|
+
* Look up a configured model by id.
|
|
159
|
+
*
|
|
160
|
+
* @param id - Configured model id.
|
|
161
|
+
* @param models - Configured model map, when the engine uses a catalog.
|
|
162
|
+
* @returns The compiled binding.
|
|
163
|
+
* @throws WorkflowContractError When the id is not configured.
|
|
164
|
+
*/
|
|
75
165
|
private requireModel;
|
|
166
|
+
/**
|
|
167
|
+
* Compile and store the single bound model.
|
|
168
|
+
*
|
|
169
|
+
* @param options - App model settings.
|
|
170
|
+
* @returns This engine, for chaining.
|
|
171
|
+
*/
|
|
76
172
|
private setModel;
|
|
77
173
|
private invokeTool?;
|
|
174
|
+
/**
|
|
175
|
+
* Bind the tool runtime used by workflow context.
|
|
176
|
+
*
|
|
177
|
+
* @param tools - Registry exposing `invokeAsync`, or an object exposing `invoke`.
|
|
178
|
+
* @returns This engine, for chaining.
|
|
179
|
+
* @throws TypeError When tools are already bound or expose no invoke method.
|
|
180
|
+
*/
|
|
78
181
|
bindToolRuntime(tools: ToolBinding): this;
|
|
79
182
|
private boundWorkflow?;
|
|
183
|
+
/**
|
|
184
|
+
* Bind a workflow, narrowing the engine's state and App types.
|
|
185
|
+
*
|
|
186
|
+
* Binding changes the engine's type parameters without changing its identity, so the
|
|
187
|
+
* same instance keeps its model, tools and branch.
|
|
188
|
+
*
|
|
189
|
+
* @param workflow - Workflow to execute.
|
|
190
|
+
* @returns The same engine typed for the workflow's state.
|
|
191
|
+
*/
|
|
80
192
|
bindWorkflow<NextState>(workflow: AgentWorkflow<NextState, Result, undefined>): AgentCoreEngine<Result, NextState, undefined>;
|
|
193
|
+
/**
|
|
194
|
+
* Bind a workflow together with its App dependencies.
|
|
195
|
+
*
|
|
196
|
+
* @param workflow - Workflow to execute.
|
|
197
|
+
* @param app - Dependencies passed to every node and route as `context.app`.
|
|
198
|
+
* @returns The same engine typed for the workflow's state and App.
|
|
199
|
+
*/
|
|
81
200
|
bindWorkflow<NextState, NextApp>(workflow: AgentWorkflow<NextState, Result, NextApp>, app: NextApp): AgentCoreEngine<Result, NextState, NextApp>;
|
|
201
|
+
/**
|
|
202
|
+
* Store the workflow and its dependencies.
|
|
203
|
+
*
|
|
204
|
+
* @param workflow - Workflow to execute.
|
|
205
|
+
* @param app - App dependencies handed to every node and route.
|
|
206
|
+
* @throws TypeError When a workflow is already bound.
|
|
207
|
+
*/
|
|
82
208
|
private bind;
|
|
209
|
+
/** The bound workflow. */
|
|
83
210
|
get workflow(): AgentWorkflow<State, Result, App>;
|
|
84
211
|
private branchIdentity;
|
|
85
212
|
private readonly checkpoints;
|
|
213
|
+
/** Identity of this engine's branch. */
|
|
86
214
|
get branch(): AgentBranch;
|
|
215
|
+
/**
|
|
216
|
+
* Take an in-memory checkpoint of host-owned data.
|
|
217
|
+
*
|
|
218
|
+
* The data is cloned on write and on every read, so neither side can mutate the other.
|
|
219
|
+
*
|
|
220
|
+
* @param data - Serializable data to capture.
|
|
221
|
+
* @returns A checkpoint bound to this branch.
|
|
222
|
+
*/
|
|
87
223
|
checkpoint<Data>(data: Data): AgentCheckpoint<Data>;
|
|
224
|
+
/**
|
|
225
|
+
* Export a checkpoint for host-owned persistence.
|
|
226
|
+
*
|
|
227
|
+
* @param checkpoint - Checkpoint taken by this engine.
|
|
228
|
+
* @returns A serializable record with a validated branch identity.
|
|
229
|
+
* @throws Error When the checkpoint belongs to another engine.
|
|
230
|
+
*/
|
|
88
231
|
exportCheckpoint<Data>(checkpoint: AgentCheckpoint<Data>): AgentCheckpointRecord<Data>;
|
|
232
|
+
/**
|
|
233
|
+
* Recreate a checkpoint from a persisted record.
|
|
234
|
+
*
|
|
235
|
+
* The record's branch must match this engine's branch exactly; otherwise persisted data
|
|
236
|
+
* from another branch would be adopted silently.
|
|
237
|
+
*
|
|
238
|
+
* @param record - Record produced by `exportCheckpoint`.
|
|
239
|
+
* @returns A checkpoint bound to this engine.
|
|
240
|
+
* @throws Error When the id is invalid or the branch identity differs.
|
|
241
|
+
*/
|
|
89
242
|
restoreCheckpoint<Data>(record: AgentCheckpointRecord<Data>): AgentCheckpoint<Data>;
|
|
90
|
-
|
|
243
|
+
/**
|
|
244
|
+
* Create an engine on a new branch forked at a checkpoint.
|
|
245
|
+
*
|
|
246
|
+
* The forked engine keeps the round budget, observation and configuration, receives an
|
|
247
|
+
* optional workflow extension, and gets a new branch identity whose parent ids point at
|
|
248
|
+
* this engine. Live handles are not copied: an App dependency, request runtime or tool
|
|
249
|
+
* runtime must be restored by the `resume` callback, because they cannot be serialized.
|
|
250
|
+
*
|
|
251
|
+
* @param request.at - Checkpoint taken by this engine to fork from.
|
|
252
|
+
* @param request.workflow - Optional extension or replacement workflow.
|
|
253
|
+
* @param request.routes - Route overrides; only valid with a workflow instance.
|
|
254
|
+
* @param request.resume - Receives the checkpoint data and returns restored dependencies.
|
|
255
|
+
* @returns A new engine on the forked branch.
|
|
256
|
+
* @throws TypeError When the checkpoint is foreign or the App dependency is missing.
|
|
257
|
+
* @throws Error When a bound request runtime or tool runtime was not restored.
|
|
258
|
+
*/
|
|
259
|
+
fork<Data>({ at, workflow, routes, resume, }: {
|
|
91
260
|
at: AgentCheckpoint<Data>;
|
|
92
261
|
workflow?: AgentWorkflow<State, Result, App> | WorkflowExtension<State, Result, App>;
|
|
93
262
|
routes?: WorkflowExtension<State, Result, App>['routes'];
|
|
@@ -97,22 +266,139 @@ export declare class AgentCoreEngine<Result, State = unknown, App = undefined> {
|
|
|
97
266
|
model?: AgentModelRuntime;
|
|
98
267
|
};
|
|
99
268
|
}): AgentCoreEngine<Result, State, App>;
|
|
269
|
+
/**
|
|
270
|
+
* Build an engine and validate its wiring.
|
|
271
|
+
*
|
|
272
|
+
* Legacy top-level names (`maxSteps`, `exhausted`, `signal`, `diagnostics`,
|
|
273
|
+
* `onWorkflowEvent`, `observe`) are rejected rather than ignored, because silently
|
|
274
|
+
* dropping them would change budgets or observation.
|
|
275
|
+
*
|
|
276
|
+
* @param settings - Round budget, errors, execution scope, model, tools, workflow and branch.
|
|
277
|
+
* @throws TypeError When settings are invalid, removed names are used, or model wiring is
|
|
278
|
+
* inconsistent.
|
|
279
|
+
*/
|
|
100
280
|
constructor(settings?: AgentCoreEngineSetup<State, Result, App>);
|
|
281
|
+
/**
|
|
282
|
+
* Run the loop with a step function when no workflow is bound.
|
|
283
|
+
*
|
|
284
|
+
* @param step - Receives the round index and context; returns continue or complete.
|
|
285
|
+
* @param options - Optional caller signal; a model id requires a bound workflow.
|
|
286
|
+
* @returns The value of the completing step.
|
|
287
|
+
*/
|
|
101
288
|
run(step: CoreStep<Result>, options?: {
|
|
102
289
|
signal?: AbortSignal;
|
|
103
290
|
modelId?: never;
|
|
104
291
|
}): Promise<Result>;
|
|
292
|
+
/**
|
|
293
|
+
* Run a bound workflow from an initial state.
|
|
294
|
+
*
|
|
295
|
+
* @param state - Initial workflow state; node updates are committed into it.
|
|
296
|
+
* @param options - Optional caller signal and per-run model id.
|
|
297
|
+
* @returns The workflow result.
|
|
298
|
+
*/
|
|
105
299
|
run(state: State, options?: {
|
|
106
300
|
signal?: AbortSignal;
|
|
107
301
|
modelId?: string;
|
|
108
302
|
}): Promise<Result>;
|
|
303
|
+
/**
|
|
304
|
+
* Resolve the lifetime of one run.
|
|
305
|
+
*
|
|
306
|
+
* All three sources are lifetime bounds only, so the strictest wins and no source can
|
|
307
|
+
* extend another.
|
|
308
|
+
*
|
|
309
|
+
* @param requestSignal - Caller-supplied signal for this run.
|
|
310
|
+
* @returns The combined signal.
|
|
311
|
+
*/
|
|
109
312
|
private executionSignal;
|
|
313
|
+
/**
|
|
314
|
+
* Resolve the observation scope for one run.
|
|
315
|
+
*
|
|
316
|
+
* A bound request runtime contributes its scope only when the engine has none, so one
|
|
317
|
+
* fact source serves both the App and the engine.
|
|
318
|
+
*
|
|
319
|
+
* @returns Execution options with the effective diagnostic scope.
|
|
320
|
+
*/
|
|
110
321
|
private executionOptions;
|
|
322
|
+
/**
|
|
323
|
+
* Drive a caller-supplied step function until it completes or the budget ends.
|
|
324
|
+
*
|
|
325
|
+
* Each iteration is a round: the step must return an explicit continue/complete outcome,
|
|
326
|
+
* the continue path owns the round limit, and a report scope always closes before the
|
|
327
|
+
* next round starts. Failures leave the loop and are rethrown after the scope closes.
|
|
328
|
+
*
|
|
329
|
+
* @param step - Step implementation receiving the round index and context.
|
|
330
|
+
* @param requestSignal - Caller signal for this run.
|
|
331
|
+
* @returns The value of the completing step.
|
|
332
|
+
* @throws WorkflowContractError When the step returns something other than continue/complete.
|
|
333
|
+
* @throws The configured exhausted error, the step's failure, or the signal reason.
|
|
334
|
+
*/
|
|
111
335
|
private runLoop;
|
|
336
|
+
/**
|
|
337
|
+
* Traverse a workflow node by node.
|
|
338
|
+
*
|
|
339
|
+
* Per visit the order is fixed: cancellation and round-budget checks, `requires`
|
|
340
|
+
* validation, the node handler, commit of `provides`, route selection, then either
|
|
341
|
+
* completion or transition. Failures are reported before any recovery decision, and only
|
|
342
|
+
* non-aborted, non-contract failures may follow `onErrorNodeId`; anything else propagates.
|
|
343
|
+
*
|
|
344
|
+
* @param workflow - Validated workflow catalog.
|
|
345
|
+
* @param state - Initial state; mutated in place by commits.
|
|
346
|
+
* @param app - Host dependencies exposed as `context.app`.
|
|
347
|
+
* @param requestSignal - Caller signal for this run.
|
|
348
|
+
* @param requestModelId - Per-run configured model override.
|
|
349
|
+
* @returns The workflow result.
|
|
350
|
+
* @throws WorkflowContractError for contract violations, or the node failure otherwise.
|
|
351
|
+
*/
|
|
112
352
|
private executeWorkflow;
|
|
353
|
+
/**
|
|
354
|
+
* Merge a node's state update and assert its declared outputs.
|
|
355
|
+
*
|
|
356
|
+
* The update is read once, checked against `provides` on the merged view, and only then
|
|
357
|
+
* written into the state, so a missing output never leaves a half-applied update.
|
|
358
|
+
* Cancellation is checked between the check and the write.
|
|
359
|
+
*
|
|
360
|
+
* @param state - State mutated in place.
|
|
361
|
+
* @param update - Object returned by the node handler, or undefined for no change.
|
|
362
|
+
* @param provides - Fields the node promises to leave defined.
|
|
363
|
+
* @param signal - Signal checked immediately before writing.
|
|
364
|
+
* @throws WorkflowContractError When the update is not an object or a provided field is
|
|
365
|
+
* undefined.
|
|
366
|
+
*/
|
|
113
367
|
private commit;
|
|
368
|
+
/**
|
|
369
|
+
* Publish one loop event.
|
|
370
|
+
*
|
|
371
|
+
* The report scope is closed before emission for every event type, including `enter`,
|
|
372
|
+
* so a step cannot report progress against a round that has already ended.
|
|
373
|
+
*
|
|
374
|
+
* @param event - Loop event without its id.
|
|
375
|
+
* @param diagnostics - Scope of the current round.
|
|
376
|
+
* @param reports - Report scope for the current round.
|
|
377
|
+
*/
|
|
114
378
|
private emitLoop;
|
|
379
|
+
/**
|
|
380
|
+
* Publish one workflow event and attach the node's report when content is enabled.
|
|
381
|
+
*
|
|
382
|
+
* The event is always emitted, even if the report throws or is malformed; a report is
|
|
383
|
+
* optional evidence, while the event is the authoritative transition record.
|
|
384
|
+
*
|
|
385
|
+
* @param input - Event fields without its id.
|
|
386
|
+
* @param diagnostics - Scope of the current node visit.
|
|
387
|
+
* @param report - Optional report builder evaluated only when content is enabled.
|
|
388
|
+
* @param reports - Report scope closed after emission.
|
|
389
|
+
* @returns The frozen event, so callers can reference its id.
|
|
390
|
+
*/
|
|
115
391
|
private emit;
|
|
392
|
+
/**
|
|
393
|
+
* Classify a failure for reporting.
|
|
394
|
+
*
|
|
395
|
+
* Cancellation takes precedence over the error itself: once the signal is aborted, the
|
|
396
|
+
* reason matters more than whatever the interrupted code threw.
|
|
397
|
+
*
|
|
398
|
+
* @param error - Failure to classify.
|
|
399
|
+
* @param signal - Execution signal at the time of failure.
|
|
400
|
+
* @returns `TIMEOUT`, `CANCELLED`, or the error's own code.
|
|
401
|
+
*/
|
|
116
402
|
private errorCode;
|
|
117
403
|
}
|
|
118
|
-
export type { CoreStep, StepOutcome, LoopEvent, AgentCoreEngineOptions } from '../structs/execution/engine.js';
|
|
404
|
+
export type { CoreStep, StepOutcome, LoopEvent, AgentCoreEngineOptions, } from '../structs/execution/engine.js';
|