@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
|
@@ -4,22 +4,45 @@ exports.Projection = void 0;
|
|
|
4
4
|
exports.defineContentProjection = defineContentProjection;
|
|
5
5
|
exports.projectContinuousExcerpt = projectContinuousExcerpt;
|
|
6
6
|
exports.defineTreeProjection = defineTreeProjection;
|
|
7
|
+
/**
|
|
8
|
+
* Projection Kit: fit structured values into a character budget without losing valid JSON.
|
|
9
|
+
*
|
|
10
|
+
* Place in the package: an optional App-side helper for context and preview budgets. Callers
|
|
11
|
+
* choose the budget, the rendering strategy and the fallback text; this module only shrinks
|
|
12
|
+
* values and verifies the result still fits.
|
|
13
|
+
*
|
|
14
|
+
* Exports: `defineContentProjection`, `projectContinuousExcerpt`, `defineTreeProjection`,
|
|
15
|
+
* `Projection`, and the projection option/result types.
|
|
16
|
+
*/
|
|
7
17
|
const synchronous_js_1 = require("../utils/synchronous.js");
|
|
8
18
|
const fragments_js_1 = require("../context/fragments.js");
|
|
9
|
-
/**
|
|
19
|
+
/**
|
|
20
|
+
* Compile a JSON-preserving projector.
|
|
21
|
+
*
|
|
22
|
+
* Keep valid JSON while reducing prose before dropping records; budgets are caller policy.
|
|
23
|
+
* The candidate list is tried in order (outer `counts`, inner `lengths`), so callers control
|
|
24
|
+
* whether trimming text or dropping items is preferred, and the configured fallback is used
|
|
25
|
+
* only when no candidate fits.
|
|
26
|
+
*
|
|
27
|
+
* @param options - Candidate bounds, a synchronous renderer and a synchronous fallback factory.
|
|
28
|
+
* @returns A frozen object whose `project({ value, maxChars })` returns `{ text, truncated }`.
|
|
29
|
+
* @throws TypeError For a negative or non-integer `maxChars`, or a non-synchronous renderer;
|
|
30
|
+
* a `CONTEXT_BUDGET` `ValidationError` from the budget check when even the fallback is long.
|
|
31
|
+
*/
|
|
10
32
|
function defineContentProjection(options) {
|
|
11
33
|
const counts = [...options.counts], lengths = [...options.lengths];
|
|
12
34
|
const render = options.render.bind(options), fallback = options.fallback.bind(options);
|
|
13
35
|
function shorten(value, length, count) {
|
|
36
|
+
// The ellipsis is explicit so a reader can tell truncated text from original text.
|
|
14
37
|
if (typeof value === 'string')
|
|
15
38
|
return value.length <= length ? value : value.slice(0, length) + '…';
|
|
16
39
|
if (Array.isArray(value))
|
|
17
|
-
return value.slice(0, count).map(child => shorten(child, length, count));
|
|
40
|
+
return value.slice(0, count).map((child) => shorten(child, length, count));
|
|
18
41
|
if (value && typeof value === 'object')
|
|
19
42
|
return Object.fromEntries(Object.entries(value).map(([key, child]) => [key, shorten(child, length, count)]));
|
|
20
43
|
return value;
|
|
21
44
|
}
|
|
22
|
-
function project({ value, maxChars: limit }) {
|
|
45
|
+
function project({ value, maxChars: limit, }) {
|
|
23
46
|
if (!Number.isSafeInteger(limit) || limit < 0)
|
|
24
47
|
throw new TypeError('Invalid projection maxChars');
|
|
25
48
|
const original = JSON.stringify(value);
|
|
@@ -37,7 +60,19 @@ function defineContentProjection(options) {
|
|
|
37
60
|
}
|
|
38
61
|
return Object.freeze({ project });
|
|
39
62
|
}
|
|
40
|
-
/**
|
|
63
|
+
/**
|
|
64
|
+
* Project a continuous excerpt of a body by binary-searching the longest prefix that fits.
|
|
65
|
+
*
|
|
66
|
+
* Binary-search a continuous prefix and keep an existing surrogate pair intact. `render`
|
|
67
|
+
* receives the prefix length, not the text, so the caller decides how the excerpt is framed.
|
|
68
|
+
*
|
|
69
|
+
* @param body - Source text whose length bounds the search.
|
|
70
|
+
* @param limit - Maximum rendered length in characters.
|
|
71
|
+
* @param render - Synchronous renderer for a given prefix length.
|
|
72
|
+
* @returns The fitting projection, or `undefined` when even the empty excerpt does not fit.
|
|
73
|
+
* @throws TypeError For an invalid limit or a non-synchronous renderer; a `CONTEXT_BUDGET`
|
|
74
|
+
* `ValidationError` when the chosen excerpt still exceeds the budget.
|
|
75
|
+
*/
|
|
41
76
|
function projectContinuousExcerpt(body, limit, render) {
|
|
42
77
|
(0, fragments_js_1.validateContextBudget)(0, limit);
|
|
43
78
|
const excerpt = (length) => (0, synchronous_js_1.synchronous)(render(length), 'Excerpt renderers must be synchronous');
|
|
@@ -57,7 +92,19 @@ function projectContinuousExcerpt(body, limit, render) {
|
|
|
57
92
|
(0, fragments_js_1.validateContextBudget)(text.length, limit);
|
|
58
93
|
return { text, truncated: true };
|
|
59
94
|
}
|
|
60
|
-
/**
|
|
95
|
+
/**
|
|
96
|
+
* Compile a depth-limited tree transform.
|
|
97
|
+
*
|
|
98
|
+
* Traverse synchronously in property/array order; only undefined omits a result. Because a
|
|
99
|
+
* visitor returns a new value instead of mutating, an omitted branch disappears from arrays
|
|
100
|
+
* and objects the same way, and `maxDepth` bounds both cycles and cost.
|
|
101
|
+
*
|
|
102
|
+
* @param options - Maximum depth (0 keeps only the root), optional omit predicate and optional
|
|
103
|
+
* record visitor.
|
|
104
|
+
* @returns A frozen object whose `visit(value, context)` returns the projected value.
|
|
105
|
+
* @throws TypeError For a negative or non-integer `maxDepth`; a predicate that is not
|
|
106
|
+
* synchronous boolean; a visitor that returns a thenable.
|
|
107
|
+
*/
|
|
61
108
|
function defineTreeProjection(options) {
|
|
62
109
|
const { maxDepth } = options, omit = options.omit?.bind(options), visitRecord = options.visitRecord?.bind(options);
|
|
63
110
|
if (!Number.isSafeInteger(maxDepth) || maxDepth < 0)
|
|
@@ -65,10 +112,13 @@ function defineTreeProjection(options) {
|
|
|
65
112
|
function visit(value, depth, context) {
|
|
66
113
|
if (depth > maxDepth)
|
|
67
114
|
return undefined;
|
|
68
|
-
if (omit &&
|
|
115
|
+
if (omit &&
|
|
116
|
+
(0, synchronous_js_1.booleanResult)(omit(value, depth, context), 'Tree omit predicates must return boolean synchronously'))
|
|
69
117
|
return undefined;
|
|
70
118
|
if (Array.isArray(value))
|
|
71
|
-
return value
|
|
119
|
+
return value
|
|
120
|
+
.map((item) => visit(item, depth + 1, context))
|
|
121
|
+
.filter((item) => item !== undefined);
|
|
72
122
|
if (value === null || typeof value !== 'object')
|
|
73
123
|
return value;
|
|
74
124
|
const record = value;
|
|
@@ -81,4 +131,9 @@ function defineTreeProjection(options) {
|
|
|
81
131
|
const project = (value, context) => visit(value, 0, context);
|
|
82
132
|
return Object.freeze({ visit: project });
|
|
83
133
|
}
|
|
84
|
-
|
|
134
|
+
/** Namespace object for callers that prefer one import over named helpers. */
|
|
135
|
+
exports.Projection = Object.freeze({
|
|
136
|
+
defineContentProjection,
|
|
137
|
+
projectContinuousExcerpt,
|
|
138
|
+
defineTreeProjection,
|
|
139
|
+
});
|
|
@@ -1,23 +1,46 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.reciprocalRankFusion = reciprocalRankFusion;
|
|
4
|
+
/**
|
|
5
|
+
* Reciprocal rank fusion for several ranked id lists.
|
|
6
|
+
*
|
|
7
|
+
* Place in the package: an optional App-side helper for merging retrieval or search results.
|
|
8
|
+
* Only ranks are combined, never raw scores, so lists produced by incomparable scorers stay
|
|
9
|
+
* comparable. Storage and source selection belong to the App.
|
|
10
|
+
*
|
|
11
|
+
* Exports: `reciprocalRankFusion`, `RankedList`, `FusedRank`.
|
|
12
|
+
*/
|
|
4
13
|
const rules_js_1 = require("../utils/rules.js");
|
|
5
|
-
/**
|
|
14
|
+
/**
|
|
15
|
+
* Fuse ranked lists with one-based reciprocal rank fusion.
|
|
16
|
+
*
|
|
17
|
+
* Raw retriever scores are intentionally not mixed. Ties break on id, so the output is
|
|
18
|
+
* deterministic for a given input.
|
|
19
|
+
*
|
|
20
|
+
* @param lists - Ranked lists with unique source ids and positive weights.
|
|
21
|
+
* @param options - `limit` is the maximum number of fused results (1..1000); `k` smooths the
|
|
22
|
+
* contribution of the top ranks and defaults to the conventional value 60.
|
|
23
|
+
* @returns At most `limit` fused ranks, best first.
|
|
24
|
+
* @throws A configured error for invalid options, a duplicate/blank source id, non-string ids,
|
|
25
|
+
* or a non-positive weight.
|
|
26
|
+
*/
|
|
6
27
|
function reciprocalRankFusion(lists, options) {
|
|
28
|
+
// 60 is the smoothing constant popularised by the original RRF paper and keeps rank
|
|
29
|
+
// differences meaningful without letting the top hit dominate.
|
|
7
30
|
const k = options.k ?? 60, sources = new Set(), candidates = new Map();
|
|
8
31
|
(0, rules_js_1.breakWhile)(!Number.isFinite(k) ||
|
|
9
32
|
k < 0 ||
|
|
10
33
|
!Number.isSafeInteger(options.limit) ||
|
|
11
34
|
options.limit < 1 ||
|
|
12
|
-
options.limit > 1000,
|
|
35
|
+
options.limit > 1000, 'Invalid RRF options');
|
|
13
36
|
for (const list of lists) {
|
|
14
37
|
const weight = list.weight ?? 1, sourceId = list.sourceId;
|
|
15
38
|
(0, rules_js_1.breakWhile)(!sourceId?.trim() ||
|
|
16
39
|
sources.has(sourceId) ||
|
|
17
40
|
!Array.isArray(list.ids) ||
|
|
18
|
-
list.ids.some((id) => typeof id !==
|
|
41
|
+
list.ids.some((id) => typeof id !== 'string' || !id.trim()) ||
|
|
19
42
|
!Number.isFinite(weight) ||
|
|
20
|
-
weight <= 0,
|
|
43
|
+
weight <= 0, 'Invalid ranked source');
|
|
21
44
|
sources.add(sourceId);
|
|
22
45
|
const seen = new Set();
|
|
23
46
|
for (const id of list.ids) {
|
|
@@ -1,37 +1,87 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.defineReflectionLogSource = defineReflectionLogSource;
|
|
4
|
+
/**
|
|
5
|
+
* Reflection Kit: adapt an App-owned execution log reader into an authorized reflection source.
|
|
6
|
+
*
|
|
7
|
+
* Place in the package: part of the `reflection` Kit. It projects metadata only — no payloads,
|
|
8
|
+
* text, file paths or replay — and remembers which runs a caller discovered, so a guessed run
|
|
9
|
+
* cannot be read in a later call.
|
|
10
|
+
*
|
|
11
|
+
* Exports: `defineReflectionLogSource`, `ReflectionLogReader`.
|
|
12
|
+
*/
|
|
4
13
|
const rules_js_1 = require("../utils/rules.js");
|
|
5
14
|
const reflection_js_1 = require("../structs/kits/reflection.js");
|
|
6
15
|
const cancellation_js_1 = require("../utils/cancellation.js");
|
|
7
|
-
const object = (value) => value && typeof value === 'object' && !Array.isArray(value)
|
|
16
|
+
const object = (value) => value && typeof value === 'object' && !Array.isArray(value)
|
|
17
|
+
? value
|
|
18
|
+
: {};
|
|
8
19
|
const eventMetrics = {
|
|
9
20
|
'model.end': (payload) => object(payload.state),
|
|
10
21
|
'workflow.event': (payload) => object(payload.event),
|
|
11
22
|
};
|
|
12
23
|
const workflowStatuses = {
|
|
13
|
-
enter: 'running',
|
|
24
|
+
enter: 'running',
|
|
25
|
+
transition: 'running',
|
|
26
|
+
continue: 'running',
|
|
27
|
+
complete: 'success',
|
|
28
|
+
error: 'error',
|
|
14
29
|
};
|
|
15
30
|
const cancellationCodes = new Set(['CANCELLED', 'TIMEOUT', 'CALL_TIMEOUT', 'ROUND_TIMEOUT']);
|
|
31
|
+
/**
|
|
32
|
+
* Build a reflection source over a log reader.
|
|
33
|
+
*
|
|
34
|
+
* Coverage is reported as `best-effort`: a page is only `complete` when the reader exhausted the
|
|
35
|
+
* run without capture gaps or omitted issues, and every gap or issue code is surfaced instead of
|
|
36
|
+
* being silently dropped.
|
|
37
|
+
*
|
|
38
|
+
* @param options - Reader, source id, optional fixed trace id and the authorization hook.
|
|
39
|
+
* @returns A frozen source whose `query` returns reflection evidence.
|
|
40
|
+
* @throws A configured or authorization error for a malformed page, an expired run or event, or
|
|
41
|
+
* a run that this source has not discovered yet; `TypeError` when authorization returns a value.
|
|
42
|
+
*/
|
|
16
43
|
function defineReflectionLogSource(options) {
|
|
17
44
|
const reader = options.reader, traceId = options.traceId, authorize = options.authorize.bind(options), allowed = new Map();
|
|
18
45
|
const checkAuthorization = (context) => (0, cancellation_js_1.awaitAssertion)(() => authorize(context), context.signal, 'Reflection log authorization must return void');
|
|
19
|
-
const coverage = (page) => ({
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
46
|
+
const coverage = (page) => ({
|
|
47
|
+
consistency: 'best-effort',
|
|
48
|
+
complete: page.coverage.exhausted &&
|
|
49
|
+
!page.coverage.captureIncomplete &&
|
|
50
|
+
!page.issues.length &&
|
|
51
|
+
!page.issuesOmitted,
|
|
52
|
+
gaps: [
|
|
53
|
+
...new Set([
|
|
54
|
+
...(page.status === 'end' ? [] : [page.status]),
|
|
55
|
+
...page.issues.map((item) => item.code),
|
|
56
|
+
...(page.issuesOmitted ? ['issues omitted'] : []),
|
|
57
|
+
...(page.coverage.captureIncomplete ? ['capture incomplete'] : []),
|
|
58
|
+
]),
|
|
59
|
+
].slice(0, 32),
|
|
60
|
+
});
|
|
61
|
+
return Object.freeze({
|
|
62
|
+
id: options.id,
|
|
63
|
+
description: 'Explicitly authorized execution metadata; no payloads, text, file paths or replay.',
|
|
24
64
|
authorize: (_query, context) => checkAuthorization(context),
|
|
25
65
|
async query(query, context) {
|
|
26
66
|
await checkAuthorization(context);
|
|
27
67
|
if (!query.run) {
|
|
28
|
-
const page = await (0, cancellation_js_1.awaitWithSignal)(reader.listRuns({
|
|
68
|
+
const page = await (0, cancellation_js_1.awaitWithSignal)(reader.listRuns({
|
|
69
|
+
traceId,
|
|
70
|
+
cursor: query.cursor,
|
|
71
|
+
limit: query.limit,
|
|
72
|
+
signal: context.signal,
|
|
73
|
+
}), context.signal);
|
|
29
74
|
context.signal.throwIfAborted();
|
|
30
75
|
const items = page.items.map(({ path, manifest }) => {
|
|
31
76
|
const expiresAtMs = Number(manifest.expiresAt);
|
|
32
77
|
(0, rules_js_1.breakWhile)(!Number.isFinite(expiresAtMs) || expiresAtMs <= Date.now(), 'Log evidence expired');
|
|
33
|
-
return {
|
|
34
|
-
|
|
78
|
+
return {
|
|
79
|
+
id: `run:${String(manifest.runId)}`,
|
|
80
|
+
runId: path,
|
|
81
|
+
type: 'run',
|
|
82
|
+
expiresAtMs,
|
|
83
|
+
...(typeof manifest.outcome === 'string' ? { status: manifest.outcome } : {}),
|
|
84
|
+
};
|
|
35
85
|
});
|
|
36
86
|
const result = { items, cursor: page.cursor, coverage: coverage(page) };
|
|
37
87
|
context.signal.throwIfAborted();
|
|
@@ -42,14 +92,29 @@ function defineReflectionLogSource(options) {
|
|
|
42
92
|
}
|
|
43
93
|
const expiresAtMs = allowed.get(query.run);
|
|
44
94
|
(0, rules_js_1.breakWhile)(!expiresAtMs || expiresAtMs <= Date.now(), 'Run was not discovered in this authorized review');
|
|
45
|
-
const page = await (0, cancellation_js_1.awaitWithSignal)(reader.readEvents({
|
|
95
|
+
const page = await (0, cancellation_js_1.awaitWithSignal)(reader.readEvents({
|
|
96
|
+
run: query.run,
|
|
97
|
+
sources: ['core'],
|
|
98
|
+
types: query.types,
|
|
99
|
+
cursor: query.cursor,
|
|
100
|
+
limit: query.limit,
|
|
101
|
+
signal: context.signal,
|
|
102
|
+
}), context.signal);
|
|
46
103
|
context.signal.throwIfAborted();
|
|
47
104
|
(0, rules_js_1.breakWhile)(expiresAtMs <= Date.now(), 'Log evidence expired');
|
|
48
105
|
const items = page.items.map((event) => {
|
|
49
106
|
const state = object(event.payload), type = String(event.type ?? event.event);
|
|
50
|
-
const select = Object.hasOwn(eventMetrics, type)
|
|
107
|
+
const select = Object.hasOwn(eventMetrics, type)
|
|
108
|
+
? eventMetrics[type]
|
|
109
|
+
: undefined;
|
|
51
110
|
const metrics = select ? select(state) : state;
|
|
52
|
-
const item = {
|
|
111
|
+
const item = {
|
|
112
|
+
id: `${String(event.runId)}:${String(event.sequence)}`,
|
|
113
|
+
runId: query.run,
|
|
114
|
+
type: event.type ?? event.event,
|
|
115
|
+
sequence: event.sequence,
|
|
116
|
+
expiresAtMs,
|
|
117
|
+
};
|
|
53
118
|
for (const key of reflection_js_1.reflectionIdentityFields)
|
|
54
119
|
if (typeof event[key] === 'string')
|
|
55
120
|
item[key] = event[key];
|
|
@@ -60,11 +125,19 @@ function defineReflectionLogSource(options) {
|
|
|
60
125
|
if (typeof value === 'string')
|
|
61
126
|
item[key] = value;
|
|
62
127
|
}
|
|
63
|
-
const code = metrics.errorCode ??
|
|
128
|
+
const code = metrics.errorCode ??
|
|
129
|
+
state.errorCode ??
|
|
130
|
+
(Array.isArray(metrics.codes) ? metrics.codes[0] : undefined) ??
|
|
131
|
+
object(metrics.error).code;
|
|
64
132
|
if (typeof code === 'string')
|
|
65
133
|
item.code = code;
|
|
66
|
-
if ((type === 'workflow.event' || type === 'loop.event') &&
|
|
67
|
-
|
|
134
|
+
if ((type === 'workflow.event' || type === 'loop.event') &&
|
|
135
|
+
typeof metrics.type === 'string' &&
|
|
136
|
+
Object.hasOwn(workflowStatuses, metrics.type)) {
|
|
137
|
+
item.status =
|
|
138
|
+
metrics.type === 'error' && typeof code === 'string' && cancellationCodes.has(code)
|
|
139
|
+
? 'cancelled'
|
|
140
|
+
: workflowStatuses[metrics.type];
|
|
68
141
|
}
|
|
69
142
|
for (const key of ['durationMs', 'inputChars', 'outputChars', 'calls'])
|
|
70
143
|
if (typeof metrics[key] === 'number')
|