@elizaos/core 2.0.0-alpha.41 → 2.0.0-alpha.44
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +186 -0
- package/dist/testing/index.js +1 -73689
- package/dist/testing/index.js.map +3 -639
- package/package.json +14 -13
- package/dist/action-docs.d.ts +0 -20
- package/dist/action-docs.d.ts.map +0 -1
- package/dist/actions.d.ts +0 -18
- package/dist/actions.d.ts.map +0 -1
- package/dist/advanced-capabilities/actions/createTask.d.ts +0 -3
- package/dist/advanced-capabilities/actions/createTask.d.ts.map +0 -1
- package/dist/advanced-capabilities/actions/followRoom.d.ts +0 -3
- package/dist/advanced-capabilities/actions/followRoom.d.ts.map +0 -1
- package/dist/advanced-capabilities/actions/imageGeneration.d.ts +0 -3
- package/dist/advanced-capabilities/actions/imageGeneration.d.ts.map +0 -1
- package/dist/advanced-capabilities/actions/index.d.ts +0 -14
- package/dist/advanced-capabilities/actions/index.d.ts.map +0 -1
- package/dist/advanced-capabilities/actions/muteRoom.d.ts +0 -3
- package/dist/advanced-capabilities/actions/muteRoom.d.ts.map +0 -1
- package/dist/advanced-capabilities/actions/roles.d.ts +0 -13
- package/dist/advanced-capabilities/actions/roles.d.ts.map +0 -1
- package/dist/advanced-capabilities/actions/settings.d.ts +0 -7
- package/dist/advanced-capabilities/actions/settings.d.ts.map +0 -1
- package/dist/advanced-capabilities/actions/unfollowRoom.d.ts +0 -3
- package/dist/advanced-capabilities/actions/unfollowRoom.d.ts.map +0 -1
- package/dist/advanced-capabilities/actions/unmuteRoom.d.ts +0 -3
- package/dist/advanced-capabilities/actions/unmuteRoom.d.ts.map +0 -1
- package/dist/advanced-capabilities/evaluators/index.d.ts +0 -7
- package/dist/advanced-capabilities/evaluators/index.d.ts.map +0 -1
- package/dist/advanced-capabilities/index.d.ts +0 -42
- package/dist/advanced-capabilities/index.d.ts.map +0 -1
- package/dist/advanced-capabilities/providers/index.d.ts +0 -9
- package/dist/advanced-capabilities/providers/index.d.ts.map +0 -1
- package/dist/advanced-capabilities/providers/knowledge.d.ts +0 -9
- package/dist/advanced-capabilities/providers/knowledge.d.ts.map +0 -1
- package/dist/advanced-capabilities/providers/roles.d.ts +0 -18
- package/dist/advanced-capabilities/providers/roles.d.ts.map +0 -1
- package/dist/advanced-capabilities/providers/settings.d.ts +0 -7
- package/dist/advanced-capabilities/providers/settings.d.ts.map +0 -1
- package/dist/advanced-memory/actions/resetSession.d.ts +0 -11
- package/dist/advanced-memory/actions/resetSession.d.ts.map +0 -1
- package/dist/advanced-memory/evaluators/index.d.ts +0 -3
- package/dist/advanced-memory/evaluators/index.d.ts.map +0 -1
- package/dist/advanced-memory/evaluators/long-term-extraction.d.ts +0 -3
- package/dist/advanced-memory/evaluators/long-term-extraction.d.ts.map +0 -1
- package/dist/advanced-memory/evaluators/summarization.d.ts +0 -3
- package/dist/advanced-memory/evaluators/summarization.d.ts.map +0 -1
- package/dist/advanced-memory/index.d.ts +0 -8
- package/dist/advanced-memory/index.d.ts.map +0 -1
- package/dist/advanced-memory/prompts.d.ts +0 -4
- package/dist/advanced-memory/prompts.d.ts.map +0 -1
- package/dist/advanced-memory/providers/context-summary.d.ts +0 -3
- package/dist/advanced-memory/providers/context-summary.d.ts.map +0 -1
- package/dist/advanced-memory/providers/index.d.ts +0 -3
- package/dist/advanced-memory/providers/index.d.ts.map +0 -1
- package/dist/advanced-memory/providers/long-term-memory.d.ts +0 -3
- package/dist/advanced-memory/providers/long-term-memory.d.ts.map +0 -1
- package/dist/advanced-memory/schemas/index.d.ts +0 -4
- package/dist/advanced-memory/schemas/index.d.ts.map +0 -1
- package/dist/advanced-memory/schemas/long-term-memories.d.ts +0 -261
- package/dist/advanced-memory/schemas/long-term-memories.d.ts.map +0 -1
- package/dist/advanced-memory/schemas/memory-access-logs.d.ts +0 -116
- package/dist/advanced-memory/schemas/memory-access-logs.d.ts.map +0 -1
- package/dist/advanced-memory/schemas/session-summaries.d.ts +0 -280
- package/dist/advanced-memory/schemas/session-summaries.d.ts.map +0 -1
- package/dist/advanced-memory/services/autoCompaction.d.ts +0 -24
- package/dist/advanced-memory/services/autoCompaction.d.ts.map +0 -1
- package/dist/advanced-memory/services/memory-service.d.ts +0 -36
- package/dist/advanced-memory/services/memory-service.d.ts.map +0 -1
- package/dist/advanced-memory/types.d.ts +0 -68
- package/dist/advanced-memory/types.d.ts.map +0 -1
- package/dist/advanced-planning/actions/chain-example.d.ts +0 -6
- package/dist/advanced-planning/actions/chain-example.d.ts.map +0 -1
- package/dist/advanced-planning/index.d.ts +0 -5
- package/dist/advanced-planning/index.d.ts.map +0 -1
- package/dist/advanced-planning/prompts.d.ts +0 -8
- package/dist/advanced-planning/prompts.d.ts.map +0 -1
- package/dist/advanced-planning/providers/message-classifier.d.ts +0 -3
- package/dist/advanced-planning/providers/message-classifier.d.ts.map +0 -1
- package/dist/advanced-planning/services/planning-service.d.ts +0 -79
- package/dist/advanced-planning/services/planning-service.d.ts.map +0 -1
- package/dist/advanced-planning/types.d.ts +0 -78
- package/dist/advanced-planning/types.d.ts.map +0 -1
- package/dist/autonomy/action.d.ts +0 -14
- package/dist/autonomy/action.d.ts.map +0 -1
- package/dist/autonomy/autonomousState.d.ts +0 -5
- package/dist/autonomy/autonomousState.d.ts.map +0 -1
- package/dist/autonomy/index.d.ts +0 -11
- package/dist/autonomy/index.d.ts.map +0 -1
- package/dist/autonomy/providers.d.ts +0 -21
- package/dist/autonomy/providers.d.ts.map +0 -1
- package/dist/autonomy/routes.d.ts +0 -11
- package/dist/autonomy/routes.d.ts.map +0 -1
- package/dist/autonomy/service.d.ts +0 -158
- package/dist/autonomy/service.d.ts.map +0 -1
- package/dist/autonomy/types.d.ts +0 -31
- package/dist/autonomy/types.d.ts.map +0 -1
- package/dist/basic-capabilities/actions/choice.d.ts +0 -3
- package/dist/basic-capabilities/actions/choice.d.ts.map +0 -1
- package/dist/basic-capabilities/actions/compactSession.d.ts +0 -11
- package/dist/basic-capabilities/actions/compactSession.d.ts.map +0 -1
- package/dist/basic-capabilities/actions/ignore.d.ts +0 -3
- package/dist/basic-capabilities/actions/ignore.d.ts.map +0 -1
- package/dist/basic-capabilities/actions/index.d.ts +0 -11
- package/dist/basic-capabilities/actions/index.d.ts.map +0 -1
- package/dist/basic-capabilities/actions/none.d.ts +0 -3
- package/dist/basic-capabilities/actions/none.d.ts.map +0 -1
- package/dist/basic-capabilities/actions/reply.d.ts +0 -3
- package/dist/basic-capabilities/actions/reply.d.ts.map +0 -1
- package/dist/basic-capabilities/index.d.ts +0 -102
- package/dist/basic-capabilities/index.d.ts.map +0 -1
- package/dist/basic-capabilities/providers/actionState.d.ts +0 -7
- package/dist/basic-capabilities/providers/actionState.d.ts.map +0 -1
- package/dist/basic-capabilities/providers/actions.d.ts +0 -35
- package/dist/basic-capabilities/providers/actions.d.ts.map +0 -1
- package/dist/basic-capabilities/providers/attachments.d.ts +0 -20
- package/dist/basic-capabilities/providers/attachments.d.ts.map +0 -1
- package/dist/basic-capabilities/providers/character.d.ts +0 -17
- package/dist/basic-capabilities/providers/character.d.ts.map +0 -1
- package/dist/basic-capabilities/providers/choice.d.ts +0 -10
- package/dist/basic-capabilities/providers/choice.d.ts.map +0 -1
- package/dist/basic-capabilities/providers/contextBench.d.ts +0 -12
- package/dist/basic-capabilities/providers/contextBench.d.ts.map +0 -1
- package/dist/basic-capabilities/providers/currentTime.d.ts +0 -11
- package/dist/basic-capabilities/providers/currentTime.d.ts.map +0 -1
- package/dist/basic-capabilities/providers/entities.d.ts +0 -7
- package/dist/basic-capabilities/providers/entities.d.ts.map +0 -1
- package/dist/basic-capabilities/providers/evaluators.d.ts +0 -3
- package/dist/basic-capabilities/providers/evaluators.d.ts.map +0 -1
- package/dist/basic-capabilities/providers/index.d.ts +0 -19
- package/dist/basic-capabilities/providers/index.d.ts.map +0 -1
- package/dist/basic-capabilities/providers/providers.d.ts +0 -18
- package/dist/basic-capabilities/providers/providers.d.ts.map +0 -1
- package/dist/basic-capabilities/providers/recentMessages.d.ts +0 -14
- package/dist/basic-capabilities/providers/recentMessages.d.ts.map +0 -1
- package/dist/basic-capabilities/providers/time.d.ts +0 -12
- package/dist/basic-capabilities/providers/time.d.ts.map +0 -1
- package/dist/basic-capabilities/providers/world.d.ts +0 -7
- package/dist/basic-capabilities/providers/world.d.ts.map +0 -1
- package/dist/bootstrap/actions/choice.d.ts +0 -3
- package/dist/bootstrap/actions/choice.d.ts.map +0 -1
- package/dist/bootstrap/actions/followRoom.d.ts +0 -3
- package/dist/bootstrap/actions/followRoom.d.ts.map +0 -1
- package/dist/bootstrap/actions/ignore.d.ts +0 -3
- package/dist/bootstrap/actions/ignore.d.ts.map +0 -1
- package/dist/bootstrap/actions/imageGeneration.d.ts +0 -2
- package/dist/bootstrap/actions/imageGeneration.d.ts.map +0 -1
- package/dist/bootstrap/actions/index.d.ts +0 -14
- package/dist/bootstrap/actions/index.d.ts.map +0 -1
- package/dist/bootstrap/actions/muteRoom.d.ts +0 -3
- package/dist/bootstrap/actions/muteRoom.d.ts.map +0 -1
- package/dist/bootstrap/actions/none.d.ts +0 -3
- package/dist/bootstrap/actions/none.d.ts.map +0 -1
- package/dist/bootstrap/actions/reply.d.ts +0 -3
- package/dist/bootstrap/actions/reply.d.ts.map +0 -1
- package/dist/bootstrap/actions/resetSession.d.ts +0 -2
- package/dist/bootstrap/actions/resetSession.d.ts.map +0 -1
- package/dist/bootstrap/actions/roles.d.ts +0 -13
- package/dist/bootstrap/actions/roles.d.ts.map +0 -1
- package/dist/bootstrap/actions/settings.d.ts +0 -7
- package/dist/bootstrap/actions/settings.d.ts.map +0 -1
- package/dist/bootstrap/actions/status.d.ts +0 -10
- package/dist/bootstrap/actions/status.d.ts.map +0 -1
- package/dist/bootstrap/actions/unfollowRoom.d.ts +0 -13
- package/dist/bootstrap/actions/unfollowRoom.d.ts.map +0 -1
- package/dist/bootstrap/actions/unmuteRoom.d.ts +0 -14
- package/dist/bootstrap/actions/unmuteRoom.d.ts.map +0 -1
- package/dist/bootstrap/evaluators/index.d.ts +0 -2
- package/dist/bootstrap/evaluators/index.d.ts.map +0 -1
- package/dist/bootstrap/index.d.ts +0 -64
- package/dist/bootstrap/index.d.ts.map +0 -1
- package/dist/bootstrap/providers/actionState.d.ts +0 -7
- package/dist/bootstrap/providers/actionState.d.ts.map +0 -1
- package/dist/bootstrap/providers/actions.d.ts +0 -4
- package/dist/bootstrap/providers/actions.d.ts.map +0 -1
- package/dist/bootstrap/providers/attachments.d.ts +0 -20
- package/dist/bootstrap/providers/attachments.d.ts.map +0 -1
- package/dist/bootstrap/providers/character.d.ts +0 -17
- package/dist/bootstrap/providers/character.d.ts.map +0 -1
- package/dist/bootstrap/providers/choice.d.ts +0 -10
- package/dist/bootstrap/providers/choice.d.ts.map +0 -1
- package/dist/bootstrap/providers/contextBench.d.ts +0 -12
- package/dist/bootstrap/providers/contextBench.d.ts.map +0 -1
- package/dist/bootstrap/providers/entities.d.ts +0 -7
- package/dist/bootstrap/providers/entities.d.ts.map +0 -1
- package/dist/bootstrap/providers/evaluators.d.ts +0 -3
- package/dist/bootstrap/providers/evaluators.d.ts.map +0 -1
- package/dist/bootstrap/providers/index.d.ts +0 -16
- package/dist/bootstrap/providers/index.d.ts.map +0 -1
- package/dist/bootstrap/providers/knowledge.d.ts +0 -9
- package/dist/bootstrap/providers/knowledge.d.ts.map +0 -1
- package/dist/bootstrap/providers/providers.d.ts +0 -18
- package/dist/bootstrap/providers/providers.d.ts.map +0 -1
- package/dist/bootstrap/providers/recentMessages.d.ts +0 -14
- package/dist/bootstrap/providers/recentMessages.d.ts.map +0 -1
- package/dist/bootstrap/providers/roles.d.ts +0 -18
- package/dist/bootstrap/providers/roles.d.ts.map +0 -1
- package/dist/bootstrap/providers/settings.d.ts +0 -7
- package/dist/bootstrap/providers/settings.d.ts.map +0 -1
- package/dist/bootstrap/providers/time.d.ts +0 -16
- package/dist/bootstrap/providers/time.d.ts.map +0 -1
- package/dist/bootstrap/providers/world.d.ts +0 -7
- package/dist/bootstrap/providers/world.d.ts.map +0 -1
- package/dist/bootstrap/services/autoCompaction.d.ts +0 -2
- package/dist/bootstrap/services/autoCompaction.d.ts.map +0 -1
- package/dist/browser/index.browser.js +0 -2474
- package/dist/browser/index.browser.js.map +0 -663
- package/dist/browser/index.d.ts +0 -2
- package/dist/character-loader.d.ts +0 -85
- package/dist/character-loader.d.ts.map +0 -1
- package/dist/character-utils.d.ts +0 -138
- package/dist/character-utils.d.ts.map +0 -1
- package/dist/character.d.ts +0 -68
- package/dist/character.d.ts.map +0 -1
- package/dist/constants/index.d.ts +0 -7
- package/dist/constants/index.d.ts.map +0 -1
- package/dist/constants/secrets.d.ts +0 -99
- package/dist/constants/secrets.d.ts.map +0 -1
- package/dist/database/inMemoryAdapter.d.ts +0 -144
- package/dist/database/inMemoryAdapter.d.ts.map +0 -1
- package/dist/database.d.ts +0 -529
- package/dist/database.d.ts.map +0 -1
- package/dist/deterministic.d.ts +0 -31
- package/dist/deterministic.d.ts.map +0 -1
- package/dist/entities.d.ts +0 -11
- package/dist/entities.d.ts.map +0 -1
- package/dist/generated/action-docs.d.ts +0 -1994
- package/dist/generated/action-docs.d.ts.map +0 -1
- package/dist/generated/spec-helpers.d.ts +0 -49
- package/dist/generated/spec-helpers.d.ts.map +0 -1
- package/dist/index.browser.d.ts +0 -50
- package/dist/index.browser.d.ts.map +0 -1
- package/dist/index.browser.js +0 -2
- package/dist/index.d.ts +0 -3
- package/dist/index.d.ts.map +0 -1
- package/dist/index.js +0 -2
- package/dist/index.node.d.ts +0 -73
- package/dist/index.node.d.ts.map +0 -1
- package/dist/index.node.js +0 -2
- package/dist/logger.d.ts +0 -82
- package/dist/logger.d.ts.map +0 -1
- package/dist/markdown/chunk.d.ts +0 -50
- package/dist/markdown/chunk.d.ts.map +0 -1
- package/dist/markdown/code-spans.d.ts +0 -42
- package/dist/markdown/code-spans.d.ts.map +0 -1
- package/dist/markdown/fences.d.ts +0 -50
- package/dist/markdown/fences.d.ts.map +0 -1
- package/dist/markdown/frontmatter.d.ts +0 -24
- package/dist/markdown/frontmatter.d.ts.map +0 -1
- package/dist/markdown/index.d.ts +0 -18
- package/dist/markdown/index.d.ts.map +0 -1
- package/dist/markdown/ir.d.ts +0 -101
- package/dist/markdown/ir.d.ts.map +0 -1
- package/dist/memory.d.ts +0 -40
- package/dist/memory.d.ts.map +0 -1
- package/dist/network/fetch-guard.d.ts +0 -34
- package/dist/network/fetch-guard.d.ts.map +0 -1
- package/dist/network/index.d.ts +0 -12
- package/dist/network/index.d.ts.map +0 -1
- package/dist/network/sandbox-fetch-proxy.d.ts +0 -25
- package/dist/network/sandbox-fetch-proxy.d.ts.map +0 -1
- package/dist/network/ssrf.d.ts +0 -53
- package/dist/network/ssrf.d.ts.map +0 -1
- package/dist/node/index.d.ts +0 -2
- package/dist/node/index.node.js +0 -105996
- package/dist/node/index.node.js.map +0 -923
- package/dist/plugin.d.ts +0 -13
- package/dist/plugin.d.ts.map +0 -1
- package/dist/plugins/discovery.d.ts +0 -62
- package/dist/plugins/discovery.d.ts.map +0 -1
- package/dist/plugins/index.d.ts +0 -10
- package/dist/plugins/index.d.ts.map +0 -1
- package/dist/plugins/manifest-registry.d.ts +0 -118
- package/dist/plugins/manifest-registry.d.ts.map +0 -1
- package/dist/prompts.d.ts +0 -41
- package/dist/prompts.d.ts.map +0 -1
- package/dist/providers/onboarding-progress.d.ts +0 -19
- package/dist/providers/onboarding-progress.d.ts.map +0 -1
- package/dist/providers/sessionKeys.d.ts +0 -24
- package/dist/providers/sessionKeys.d.ts.map +0 -1
- package/dist/providers/skill-eligibility.d.ts +0 -28
- package/dist/providers/skill-eligibility.d.ts.map +0 -1
- package/dist/request-context.d.ts +0 -143
- package/dist/request-context.d.ts.map +0 -1
- package/dist/roles.d.ts +0 -9
- package/dist/roles.d.ts.map +0 -1
- package/dist/runtime.d.ts +0 -631
- package/dist/runtime.d.ts.map +0 -1
- package/dist/schemas/character.d.ts +0 -445
- package/dist/schemas/character.d.ts.map +0 -1
- package/dist/search.d.ts +0 -381
- package/dist/search.d.ts.map +0 -1
- package/dist/secrets.d.ts +0 -6
- package/dist/secrets.d.ts.map +0 -1
- package/dist/security/external-content.d.ts +0 -96
- package/dist/security/external-content.d.ts.map +0 -1
- package/dist/security/index.d.ts +0 -13
- package/dist/security/index.d.ts.map +0 -1
- package/dist/security/redact.d.ts +0 -111
- package/dist/security/redact.d.ts.map +0 -1
- package/dist/security/sandbox-token-manager.d.ts +0 -33
- package/dist/security/sandbox-token-manager.d.ts.map +0 -1
- package/dist/services/action-filter.d.ts +0 -195
- package/dist/services/action-filter.d.ts.map +0 -1
- package/dist/services/agentEvent.d.ts +0 -303
- package/dist/services/agentEvent.d.ts.map +0 -1
- package/dist/services/approval.d.ts +0 -170
- package/dist/services/approval.d.ts.map +0 -1
- package/dist/services/bm25.d.ts +0 -51
- package/dist/services/bm25.d.ts.map +0 -1
- package/dist/services/cosine-similarity.d.ts +0 -5
- package/dist/services/cosine-similarity.d.ts.map +0 -1
- package/dist/services/embedding.d.ts +0 -54
- package/dist/services/embedding.d.ts.map +0 -1
- package/dist/services/hook.d.ts +0 -85
- package/dist/services/hook.d.ts.map +0 -1
- package/dist/services/message.d.ts +0 -72
- package/dist/services/message.d.ts.map +0 -1
- package/dist/services/onboarding-cli.d.ts +0 -240
- package/dist/services/onboarding-cli.d.ts.map +0 -1
- package/dist/services/onboarding-rpc.d.ts +0 -225
- package/dist/services/onboarding-rpc.d.ts.map +0 -1
- package/dist/services/onboarding-state.d.ts +0 -155
- package/dist/services/onboarding-state.d.ts.map +0 -1
- package/dist/services/pairing-integration.d.ts +0 -96
- package/dist/services/pairing-integration.d.ts.map +0 -1
- package/dist/services/pairing-migration.d.ts +0 -105
- package/dist/services/pairing-migration.d.ts.map +0 -1
- package/dist/services/pairing.d.ts +0 -80
- package/dist/services/pairing.d.ts.map +0 -1
- package/dist/services/plugin-hooks.d.ts +0 -112
- package/dist/services/plugin-hooks.d.ts.map +0 -1
- package/dist/services/task.d.ts +0 -81
- package/dist/services/task.d.ts.map +0 -1
- package/dist/services/tool-policy.d.ts +0 -186
- package/dist/services/tool-policy.d.ts.map +0 -1
- package/dist/services/trajectoryLogger.d.ts +0 -56
- package/dist/services/trajectoryLogger.d.ts.map +0 -1
- package/dist/services/triggerScheduling.d.ts +0 -29
- package/dist/services/triggerScheduling.d.ts.map +0 -1
- package/dist/services/triggerWorker.d.ts +0 -17
- package/dist/services/triggerWorker.d.ts.map +0 -1
- package/dist/services/voice-cache.d.ts +0 -14
- package/dist/services/voice-cache.d.ts.map +0 -1
- package/dist/services.d.ts +0 -61
- package/dist/services.d.ts.map +0 -1
- package/dist/sessions/index.d.ts +0 -19
- package/dist/sessions/index.d.ts.map +0 -1
- package/dist/sessions/paths.d.ts +0 -106
- package/dist/sessions/paths.d.ts.map +0 -1
- package/dist/sessions/provider.d.ts +0 -102
- package/dist/sessions/provider.d.ts.map +0 -1
- package/dist/sessions/session-key.d.ts +0 -201
- package/dist/sessions/session-key.d.ts.map +0 -1
- package/dist/sessions/store.d.ts +0 -117
- package/dist/sessions/store.d.ts.map +0 -1
- package/dist/sessions/types.d.ts +0 -197
- package/dist/sessions/types.d.ts.map +0 -1
- package/dist/settings.d.ts +0 -99
- package/dist/settings.d.ts.map +0 -1
- package/dist/streaming-context.d.ts +0 -78
- package/dist/streaming-context.d.ts.map +0 -1
- package/dist/trajectory-context.d.ts +0 -19
- package/dist/trajectory-context.d.ts.map +0 -1
- package/dist/types/agent.d.ts +0 -49
- package/dist/types/agent.d.ts.map +0 -1
- package/dist/types/agentEvent.d.ts +0 -258
- package/dist/types/agentEvent.d.ts.map +0 -1
- package/dist/types/channel-config.d.ts +0 -167
- package/dist/types/channel-config.d.ts.map +0 -1
- package/dist/types/components.d.ts +0 -337
- package/dist/types/components.d.ts.map +0 -1
- package/dist/types/database.d.ts +0 -453
- package/dist/types/database.d.ts.map +0 -1
- package/dist/types/environment.d.ts +0 -60
- package/dist/types/environment.d.ts.map +0 -1
- package/dist/types/events.d.ts +0 -389
- package/dist/types/events.d.ts.map +0 -1
- package/dist/types/generated/eliza/v1/agent_pb.d.ts +0 -376
- package/dist/types/generated/eliza/v1/agent_pb.d.ts.map +0 -1
- package/dist/types/generated/eliza/v1/components_pb.d.ts +0 -364
- package/dist/types/generated/eliza/v1/components_pb.d.ts.map +0 -1
- package/dist/types/generated/eliza/v1/database_pb.d.ts +0 -694
- package/dist/types/generated/eliza/v1/database_pb.d.ts.map +0 -1
- package/dist/types/generated/eliza/v1/environment_pb.d.ts +0 -299
- package/dist/types/generated/eliza/v1/environment_pb.d.ts.map +0 -1
- package/dist/types/generated/eliza/v1/events_pb.d.ts +0 -746
- package/dist/types/generated/eliza/v1/events_pb.d.ts.map +0 -1
- package/dist/types/generated/eliza/v1/ipc_pb.d.ts +0 -799
- package/dist/types/generated/eliza/v1/ipc_pb.d.ts.map +0 -1
- package/dist/types/generated/eliza/v1/knowledge_pb.d.ts +0 -63
- package/dist/types/generated/eliza/v1/knowledge_pb.d.ts.map +0 -1
- package/dist/types/generated/eliza/v1/memory_pb.d.ts +0 -290
- package/dist/types/generated/eliza/v1/memory_pb.d.ts.map +0 -1
- package/dist/types/generated/eliza/v1/message_service_pb.d.ts +0 -148
- package/dist/types/generated/eliza/v1/message_service_pb.d.ts.map +0 -1
- package/dist/types/generated/eliza/v1/messaging_pb.d.ts +0 -214
- package/dist/types/generated/eliza/v1/messaging_pb.d.ts.map +0 -1
- package/dist/types/generated/eliza/v1/model_pb.d.ts +0 -637
- package/dist/types/generated/eliza/v1/model_pb.d.ts.map +0 -1
- package/dist/types/generated/eliza/v1/payment_pb.d.ts +0 -147
- package/dist/types/generated/eliza/v1/payment_pb.d.ts.map +0 -1
- package/dist/types/generated/eliza/v1/plugin_pb.d.ts +0 -286
- package/dist/types/generated/eliza/v1/plugin_pb.d.ts.map +0 -1
- package/dist/types/generated/eliza/v1/primitives_pb.d.ts +0 -263
- package/dist/types/generated/eliza/v1/primitives_pb.d.ts.map +0 -1
- package/dist/types/generated/eliza/v1/prompts_pb.d.ts +0 -137
- package/dist/types/generated/eliza/v1/prompts_pb.d.ts.map +0 -1
- package/dist/types/generated/eliza/v1/service_interfaces_pb.d.ts +0 -2687
- package/dist/types/generated/eliza/v1/service_interfaces_pb.d.ts.map +0 -1
- package/dist/types/generated/eliza/v1/service_pb.d.ts +0 -144
- package/dist/types/generated/eliza/v1/service_pb.d.ts.map +0 -1
- package/dist/types/generated/eliza/v1/settings_pb.d.ts +0 -146
- package/dist/types/generated/eliza/v1/settings_pb.d.ts.map +0 -1
- package/dist/types/generated/eliza/v1/state_pb.d.ts +0 -259
- package/dist/types/generated/eliza/v1/state_pb.d.ts.map +0 -1
- package/dist/types/generated/eliza/v1/task_pb.d.ts +0 -120
- package/dist/types/generated/eliza/v1/task_pb.d.ts.map +0 -1
- package/dist/types/generated/eliza/v1/tee_pb.d.ts +0 -205
- package/dist/types/generated/eliza/v1/tee_pb.d.ts.map +0 -1
- package/dist/types/generated/eliza/v1/testing_pb.d.ts +0 -47
- package/dist/types/generated/eliza/v1/testing_pb.d.ts.map +0 -1
- package/dist/types/hook.d.ts +0 -338
- package/dist/types/hook.d.ts.map +0 -1
- package/dist/types/index.d.ts +0 -32
- package/dist/types/index.d.ts.map +0 -1
- package/dist/types/knowledge.d.ts +0 -49
- package/dist/types/knowledge.d.ts.map +0 -1
- package/dist/types/memory.d.ts +0 -428
- package/dist/types/memory.d.ts.map +0 -1
- package/dist/types/message-service.d.ts +0 -131
- package/dist/types/message-service.d.ts.map +0 -1
- package/dist/types/messaging.d.ts +0 -117
- package/dist/types/messaging.d.ts.map +0 -1
- package/dist/types/model.d.ts +0 -629
- package/dist/types/model.d.ts.map +0 -1
- package/dist/types/onboarding.d.ts +0 -319
- package/dist/types/onboarding.d.ts.map +0 -1
- package/dist/types/pairing.d.ts +0 -124
- package/dist/types/pairing.d.ts.map +0 -1
- package/dist/types/payment.d.ts +0 -45
- package/dist/types/payment.d.ts.map +0 -1
- package/dist/types/plugin-manifest.d.ts +0 -353
- package/dist/types/plugin-manifest.d.ts.map +0 -1
- package/dist/types/plugin.d.ts +0 -146
- package/dist/types/plugin.d.ts.map +0 -1
- package/dist/types/primitives.d.ts +0 -170
- package/dist/types/primitives.d.ts.map +0 -1
- package/dist/types/prompts.d.ts +0 -39
- package/dist/types/prompts.d.ts.map +0 -1
- package/dist/types/proto.d.ts +0 -60
- package/dist/types/proto.d.ts.map +0 -1
- package/dist/types/runtime.d.ts +0 -300
- package/dist/types/runtime.d.ts.map +0 -1
- package/dist/types/service-interfaces.d.ts +0 -1200
- package/dist/types/service-interfaces.d.ts.map +0 -1
- package/dist/types/service.d.ts +0 -165
- package/dist/types/service.d.ts.map +0 -1
- package/dist/types/settings.d.ts +0 -36
- package/dist/types/settings.d.ts.map +0 -1
- package/dist/types/state.d.ts +0 -186
- package/dist/types/state.d.ts.map +0 -1
- package/dist/types/streaming.d.ts +0 -93
- package/dist/types/streaming.d.ts.map +0 -1
- package/dist/types/task.d.ts +0 -83
- package/dist/types/task.d.ts.map +0 -1
- package/dist/types/tee.d.ts +0 -3
- package/dist/types/tee.d.ts.map +0 -1
- package/dist/types/testing.d.ts +0 -15
- package/dist/types/testing.d.ts.map +0 -1
- package/dist/types/tools.d.ts +0 -166
- package/dist/types/tools.d.ts.map +0 -1
- package/dist/types/trigger.d.ts +0 -38
- package/dist/types/trigger.d.ts.map +0 -1
- package/dist/utils/buffer.d.ts +0 -107
- package/dist/utils/buffer.d.ts.map +0 -1
- package/dist/utils/channel-utils.d.ts +0 -274
- package/dist/utils/channel-utils.d.ts.map +0 -1
- package/dist/utils/crypto-compat.d.ts +0 -101
- package/dist/utils/crypto-compat.d.ts.map +0 -1
- package/dist/utils/environment.d.ts +0 -125
- package/dist/utils/environment.d.ts.map +0 -1
- package/dist/utils/node.d.ts +0 -8
- package/dist/utils/node.d.ts.map +0 -1
- package/dist/utils/paths.d.ts +0 -97
- package/dist/utils/paths.d.ts.map +0 -1
- package/dist/utils/server-health.d.ts +0 -35
- package/dist/utils/server-health.d.ts.map +0 -1
- package/dist/utils/streaming.d.ts +0 -267
- package/dist/utils/streaming.d.ts.map +0 -1
- package/dist/utils/text-splitting.d.ts +0 -14
- package/dist/utils/text-splitting.d.ts.map +0 -1
- package/dist/utils/type-guards.d.ts +0 -25
- package/dist/utils/type-guards.d.ts.map +0 -1
- package/dist/utils.d.ts +0 -223
- package/dist/utils.d.ts.map +0 -1
- package/dist/validation/index.d.ts +0 -3
- package/dist/validation/index.d.ts.map +0 -1
- package/dist/validation/keywords.d.ts +0 -26
- package/dist/validation/keywords.d.ts.map +0 -1
- package/dist/validation/secrets.d.ts +0 -94
- package/dist/validation/secrets.d.ts.map +0 -1
package/README.md
CHANGED
|
@@ -12,6 +12,7 @@ The `@elizaos/core` package provides a robust foundation for building AI agents
|
|
|
12
12
|
- **Evaluators:** Process conversation data to extract insights, build long-term memory, and maintain contextual awareness.
|
|
13
13
|
- **Plugin System:** Extensible architecture allowing for modular addition of functionalities.
|
|
14
14
|
- **Entity and Memory Management:** Core support for tracking entities and their associated information.
|
|
15
|
+
- **Shared Config Helpers:** Common utilities for runtime-first setting resolution, typed coercion, and schema-based config validation.
|
|
15
16
|
|
|
16
17
|
## Installation
|
|
17
18
|
|
|
@@ -66,6 +67,10 @@ The following environment variables are used by `@elizaos/core`. Configure them
|
|
|
66
67
|
- `SENTRY_ENVIRONMENT`: Sentry deployment environment (e.g., 'production', 'staging').
|
|
67
68
|
- `SENTRY_TRACES_SAMPLE_RATE`: Sentry performance tracing sample rate (0.0 - 1.0).
|
|
68
69
|
- `SENTRY_SEND_DEFAULT_PII`: Send Personally Identifiable Information to Sentry (`true`/`false`).
|
|
70
|
+
- `LOG_FILE`: When set to `true`/`1` or a path, enables file logging: `output.log`, `prompts.log`, and `chat.log` (in cwd or at the given path). **Why:** Lets you inspect full prompts and chat flow without scraping console; ANSI is stripped so files stay grep-friendly.
|
|
71
|
+
- `BOOTSTRAP_KEEP_RESP`: When `true`, the message service does not discard a response when a newer message is being processed (avoids "stale reply" race). **Why:** Some deployments want to keep or display every response; this is the config equivalent of passing `keepExistingResponses: true` in options.
|
|
72
|
+
- `SHOULD_RESPOND_MODEL`: Which model size to use for the "should I respond?" decision (`small` or `large`). Defaults from runtime settings if not set in options.
|
|
73
|
+
- `DISABLE_MEMORY_CREATION` / `ALLOW_MEMORY_SOURCE_IDS`: Bootstrap-related; see plugin docs. Shown in the bootstrap banner when set.
|
|
69
74
|
|
|
70
75
|
**Example `.env`:**
|
|
71
76
|
|
|
@@ -86,6 +91,85 @@ SENTRY_SEND_DEFAULT_PII=true
|
|
|
86
91
|
|
|
87
92
|
**Note:** Add your `.env` file to `.gitignore` to protect sensitive information.
|
|
88
93
|
|
|
94
|
+
### Design and rationale (WHY)
|
|
95
|
+
|
|
96
|
+
Key behaviors and APIs are documented with their **reasons** so future changes stay consistent with intent:
|
|
97
|
+
|
|
98
|
+
- **[docs/DESIGN.md](docs/DESIGN.md)** — Design decisions: message races, provider timeout, keepExistingResponses, JSON5, formatPosts fallbacks, HandlerCallback actionName, anxiety provider, file logging, and what we don’t do.
|
|
99
|
+
- **[CHANGELOG.md](CHANGELOG.md)** — Per-change notes with WHY for each addition or fix.
|
|
100
|
+
- **[ROADMAP.md](ROADMAP.md)** — Planned work and rationale (observability, robustness, API consistency, performance).
|
|
101
|
+
|
|
102
|
+
When adding or changing behavior, update these docs so the WHY stays accurate.
|
|
103
|
+
|
|
104
|
+
### Shared config helpers (WHY)
|
|
105
|
+
|
|
106
|
+
`@elizaos/core` now exports a small config-loading helper layer for the repeated setup work that many plugins need:
|
|
107
|
+
|
|
108
|
+
- `resolveSettingRaw()`
|
|
109
|
+
- `collectSettings()`
|
|
110
|
+
- `getStringSetting()`
|
|
111
|
+
- `getBooleanSetting()`
|
|
112
|
+
- `getNumberSetting()`
|
|
113
|
+
- `getEnumSetting()`
|
|
114
|
+
- `getCsvSetting()`
|
|
115
|
+
- `formatConfigErrors()`
|
|
116
|
+
- `loadPluginConfig()`
|
|
117
|
+
|
|
118
|
+
These helpers live in `src/utils/plugin-config.ts` and are re-exported from `@elizaos/core`.
|
|
119
|
+
|
|
120
|
+
**Why this exists:** many plugins need the same boring plumbing:
|
|
121
|
+
|
|
122
|
+
- read a setting from `runtime.getSetting(key)`
|
|
123
|
+
- optionally fall back to `process.env`
|
|
124
|
+
- coerce the raw value into a useful type
|
|
125
|
+
- pass the collected object into a Zod schema
|
|
126
|
+
- report validation failures in one consistent format
|
|
127
|
+
|
|
128
|
+
Putting that plumbing in core reduces copy-paste drift without forcing all plugins into one config framework.
|
|
129
|
+
|
|
130
|
+
**What it intentionally does not do yet:**
|
|
131
|
+
|
|
132
|
+
- alias keys for one field
|
|
133
|
+
- character-settings merges
|
|
134
|
+
- plugin-specific derived values
|
|
135
|
+
- writing normalized values back into env/runtime
|
|
136
|
+
|
|
137
|
+
**Why those are excluded:** those behaviors vary too much by plugin, so lifting them into core too early would create a helper that is harder to reason about than the duplication it replaces.
|
|
138
|
+
|
|
139
|
+
**Example:**
|
|
140
|
+
|
|
141
|
+
```typescript
|
|
142
|
+
import {
|
|
143
|
+
collectSettings,
|
|
144
|
+
loadPluginConfig,
|
|
145
|
+
type SettingSourceOptions,
|
|
146
|
+
} from "@elizaos/core";
|
|
147
|
+
import { z } from "zod";
|
|
148
|
+
|
|
149
|
+
const schema = z.object({
|
|
150
|
+
EXAMPLE_ENABLED: z.boolean().default(false),
|
|
151
|
+
EXAMPLE_TIMEOUT_MS: z.coerce.number().min(0).default(1000),
|
|
152
|
+
});
|
|
153
|
+
|
|
154
|
+
const sourceOptions: SettingSourceOptions = {
|
|
155
|
+
runtime,
|
|
156
|
+
envFallback: true,
|
|
157
|
+
};
|
|
158
|
+
|
|
159
|
+
const raw = collectSettings(
|
|
160
|
+
["EXAMPLE_ENABLED", "EXAMPLE_TIMEOUT_MS"],
|
|
161
|
+
sourceOptions,
|
|
162
|
+
);
|
|
163
|
+
|
|
164
|
+
const config = loadPluginConfig({
|
|
165
|
+
schema,
|
|
166
|
+
raw,
|
|
167
|
+
scope: "Example",
|
|
168
|
+
});
|
|
169
|
+
```
|
|
170
|
+
|
|
171
|
+
**Why the API is split into `collectSettings()` and `loadPluginConfig()`:** callers can still override or derive a few fields locally before validation, while the shared precedence and error formatting stay centralized.
|
|
172
|
+
|
|
89
173
|
### Benchmark & Trajectory Tracing
|
|
90
174
|
|
|
91
175
|
Benchmarks and harnesses can attach metadata to inbound messages:
|
|
@@ -99,10 +183,106 @@ The canonical message loop expects model outputs in the `<response>...</response
|
|
|
99
183
|
|
|
100
184
|
Some deterministic/offline backends may return **plain text** instead. In that case, the runtime will treat the raw output as a simple **`REPLY`** so the system remains usable even when strict XML formatting is unavailable.
|
|
101
185
|
|
|
186
|
+
### Prompt cache hints
|
|
187
|
+
|
|
188
|
+
The core can pass **prompt segments** to model providers so they can use prompt-caching APIs when supported. Each segment has `content` (string) and `stable` (boolean). **Stable** means the content is the same across calls for the same schema/character (e.g. instructions, format, examples); **unstable** means it changes every call (e.g. state, validation codes).
|
|
189
|
+
|
|
190
|
+
**Why this exists:** Repeated calls (e.g. message handling, batched evaluators) often send the same instructions and format while only the context/state changes. Provider caching (Anthropic ephemeral cache, OpenAI/Gemini prefix cache) can reuse tokens for the stable prefix, reducing cost and latency. The core describes which parts are stable so providers can opt in without parsing the prompt.
|
|
191
|
+
|
|
192
|
+
- **Invariant:** When `promptSegments` is set on generation params, `prompt` MUST equal `promptSegments.map(s => s.content).join("")`. **Why:** Providers that ignore segments still get correct behavior by using `prompt`; those that use segments must send the same total text so model behavior is unchanged.
|
|
193
|
+
- **Providers:** Anthropic uses the Messages API with `cache_control: { type: "ephemeral" }` on stable blocks so the API can cache those blocks. OpenAI and Gemini use **prefix ordering**: when segments are present, the prompt sent to the API is built with stable segments first, then unstable. **Why:** OpenAI and Gemini cache by prefix (e.g. OpenAI ≥1024 tokens); putting stable content first maximizes cache hits.
|
|
194
|
+
|
|
195
|
+
**Pitfalls for operators:**
|
|
196
|
+
|
|
197
|
+
- OpenAI caching only applies when the prompt is ≥1024 tokens; very short prompts will not show cache savings.
|
|
198
|
+
- Small or low-parameter models may not support or benefit from caching; behavior is unchanged.
|
|
199
|
+
- Caching is a performance/cost optimization; correctness does not depend on it.
|
|
200
|
+
|
|
201
|
+
**Pitfalls for implementers:**
|
|
202
|
+
|
|
203
|
+
- Do not mutate segment objects; always create new `{ content, stable }` objects. **Why:** Params may be passed to multiple handlers or stored; mutation can cause cross-request bugs.
|
|
204
|
+
- Segment order must match the order in which the prompt string is built; add an assertion that `prompt === promptSegments.map(s => s.content).join("")`. **Why:** Wrong order breaks the invariant and can send the wrong prompt to the model.
|
|
205
|
+
- When using segments in the API (e.g. messages or reordered prompt), ensure the final text seen by the model equals the intended full prompt (e.g. `params.prompt` or the stable-first concatenation).
|
|
206
|
+
- Only mark content as `stable: true` if it is identical across calls for the same schema/character. **Why:** Content that includes per-call UUIDs or changing state will never cache; mislabeling it as stable wastes cache capacity and can confuse operators.
|
|
207
|
+
|
|
208
|
+
For more detail, implementer pitfalls, and rollback, see [docs/PROMPT_CACHE_HINTS.md](docs/PROMPT_CACHE_HINTS.md).
|
|
209
|
+
|
|
102
210
|
## Core Architecture
|
|
103
211
|
|
|
104
212
|
`@elizaos/core` is built around a few key concepts that work together within the `AgentRuntime`.
|
|
105
213
|
|
|
214
|
+
### Unified Prompt Batcher
|
|
215
|
+
|
|
216
|
+
`@elizaos/core` now includes a unified prompt batching subsystem on `runtime.promptBatcher`.
|
|
217
|
+
|
|
218
|
+
Why this exists:
|
|
219
|
+
|
|
220
|
+
- Evaluators, startup warmups, and autonomous reasoning were all paying separate LLM round trips for structurally similar work.
|
|
221
|
+
- Batching reduces cost, queue depth, and local GPU contention by turning many small prompt calls into fewer structured calls.
|
|
222
|
+
- The dispatcher keeps deployment flexibility: local inference can pack aggressively while frontier APIs can trade some density for latency.
|
|
223
|
+
|
|
224
|
+
What it does:
|
|
225
|
+
|
|
226
|
+
- `askOnce()` batches startup questions into a single post-init drain when possible. Returns a promise of the extracted **fields** (unwrapped). **Why:** callers get a thenable so they can `await` or `.then()` without a callback.
|
|
227
|
+
- `onDrain(id, opts)` registers a section that runs on the next drain for that affinity and returns a **promise that resolves with `{ fields, meta }`** (or `null` if the section ID was already registered). **Why:** evaluators can use linear `await` + `if (result) { ... }` instead of a large `onResult` callback; same batching benefits. You can still pass optional `onResult` for fire-and-forget or recurring use (e.g. logging).
|
|
228
|
+
- `think()` is used by **autonomy**: when `enableAutonomy` is true, the autonomy service registers one recurring section; a BATCHER_DRAIN task in the task system drives when that affinity drains (task system owns WHEN, batcher owns HOW). **Why:** one register for "what to ask" and the same orchestration path as evaluators and startup, with the same cache and packing benefits. Autonomy keeps using `onResult` because it is fire-and-forget per drain.
|
|
229
|
+
- `askNow()` supports blocking audits without creating a second subsystem. Returns a promise of the **fields** (unwrapped). **Why:** same thenable style as askOnce; fallback is required so the caller always gets an object.
|
|
230
|
+
|
|
231
|
+
Result shape and errors:
|
|
232
|
+
|
|
233
|
+
- Section promises (from `addSection` / `onDrain`) resolve with **`BatcherResult<T> | null`**: `{ fields: T, meta: DrainMeta }`. **Why:** callers get both the extracted data and drain metadata (e.g. `meta.fallbackUsed`, `meta.durationMs`) in one object; `null` means duplicate section ID so the caller can branch.
|
|
234
|
+
- When **onResult** throws or the batcher is **disposed**, the section promise **rejects** instead of resolving. **Why:** callers can `.catch()` or try/catch for real failures; fallback-used still resolves (with `meta.fallbackUsed: true`) so "soft" failure is not an exception.
|
|
235
|
+
- **Generic `onDrain<T>(...)`**: pass a type param so `result.fields` is typed (e.g. `onDrain<ReflectionFields>(...)`). **Why:** avoids casting at call sites; the runtime still returns `Record<string, unknown>` from the model—the generic is for developer convenience.
|
|
236
|
+
|
|
237
|
+
Important behavior:
|
|
238
|
+
|
|
239
|
+
- Sections are idempotent by ID, so developers can register them from handlers without tracking lifecycle manually.
|
|
240
|
+
- The promise returned by `onDrain` (or `addSection`) **resolves once**—on the first delivery for that registration. **Why:** per-drain sections run on every drain, but the thenable is for "give me the result of this registration"; subsequent drains do not resolve the same promise again. For recurring delivery (e.g. every drain), use the optional `onResult` callback.
|
|
241
|
+
- Context is declarative and composable: `providers`, `contextBuilder`, and `contextResolvers` can be mixed.
|
|
242
|
+
- Dispatching is affinity-aware, so unrelated prompt sections are not merged into the same call just because they arrived at the same time.
|
|
243
|
+
|
|
244
|
+
Relevant runtime knobs:
|
|
245
|
+
|
|
246
|
+
- `PROMPT_BATCH_SIZE`
|
|
247
|
+
- `PROMPT_MAX_DRAIN_INTERVAL_MS`
|
|
248
|
+
- `PROMPT_MAX_SECTIONS_PER_CALL`
|
|
249
|
+
- `PROMPT_PACKING_DENSITY`
|
|
250
|
+
- `PROMPT_MAX_TOKENS_PER_CALL`
|
|
251
|
+
- `PROMPT_MAX_PARALLEL_CALLS`
|
|
252
|
+
- `PROMPT_MODEL_SEPARATION`
|
|
253
|
+
|
|
254
|
+
For the deeper design rationale and rollout details, see `DESIGN.md`, `ROADMAP.md`, and `CHANGELOG.md` in this package.
|
|
255
|
+
|
|
256
|
+
### Task system
|
|
257
|
+
|
|
258
|
+
The **task system** is the single place for *when* scheduled work runs. Only tasks with tag `queue` are polled by the scheduler (TaskService); other tasks (e.g. approval, follow-up) are stored and executed only when explicitly triggered (e.g. choice action, or `executeTaskById`).
|
|
259
|
+
|
|
260
|
+
**Why one scheduler:**
|
|
261
|
+
|
|
262
|
+
- Recurring work (e.g. batcher drains, future cron-like use) uses the same DB, same pause/resume, same visibility (`getTaskStatus`, `nextRunAt`, `lastError`). Retry and backoff (exponential backoff, auto-pause after `maxFailures`) live in one place so we avoid infinite retry storms.
|
|
263
|
+
|
|
264
|
+
**Why queue + repeat:**
|
|
265
|
+
|
|
266
|
+
- Tasks with `tags: ["queue"]` are fetched every tick. Non-repeat tasks run when `now >= dueAt` (or `metadata.scheduledAt`) then are deleted; repeat tasks use `updateInterval`/`baseInterval` and `metadata.updatedAt` as last-run time. **Why:** One-shot "run at time X" (e.g. follow-up) uses `dueAt`; interval-based scheduling covers batcher drains and recurring use.
|
|
267
|
+
|
|
268
|
+
**Cross-runtime scheduling (three modes):**
|
|
269
|
+
|
|
270
|
+
1. **Local timer (default):** One `setInterval` per TaskService; each runtime fetches its own queue tasks every tick. **Why:** Zero config for single-process apps.
|
|
271
|
+
2. **Per-daemon:** Host calls `startTaskScheduler(adapter)`; one shared timer runs, one batched `getTasks(agentIds)` per tick for all registered runtimes, then tasks are dispatched to each runtime’s `runTick(tasks)`. **Why:** Multi-agent daemons avoid N DB queries per second.
|
|
272
|
+
3. **Serverless:** Construct runtime with `{ serverless: true }`; no timer. Host calls `taskService.runDueTasks()` from cron or on each request to run due queue tasks once. **Why:** No long-lived process; host controls when tasks run.
|
|
273
|
+
|
|
274
|
+
**Public API (TaskService):** `executeTaskById`, `pauseTask`, `resumeTask`, `getTaskStatus`, `markDirty`, `runDueTasks()` (serverless). **Why:** Operators and UIs can run, pause, resume, and inspect tasks without touching the DB directly.
|
|
275
|
+
|
|
276
|
+
See `docs/TASK_SCHEDULER.md` for full architecture, WHYs, and daemon/serverless usage. See `DESIGN.md` (§ Task system upgrades and batcher-on-tasks) for full rationale and consumer fit.
|
|
277
|
+
|
|
278
|
+
### Autonomy
|
|
279
|
+
|
|
280
|
+
The autonomy service lets the agent "think" and act on a schedule without user messages. It uses the **prompt batcher** with the **task system** for scheduling: when `enableAutonomy` is true, a recurring section is registered with `think("autonomy", ...)`. A BATCHER_DRAIN task for the autonomy affinity determines when the section drains; results are delivered to `onResult`, which runs the same post-LLM steps as the message pipeline (actions, memory, evaluators) via an execution facade.
|
|
281
|
+
|
|
282
|
+
Why batcher-only:
|
|
283
|
+
|
|
284
|
+
- The batcher owns "what to ask"; the task system owns "when" (per-affinity BATCHER_DRAIN tasks). One scheduling surface and one packing path. Evaluators used after autonomy runs are the same as for user messages; as more evaluators move to the batcher, autonomy benefits automatically.
|
|
285
|
+
|
|
106
286
|
### AgentRuntime
|
|
107
287
|
|
|
108
288
|
The `AgentRuntime` is the heart of the system. It manages the agent's lifecycle, loads plugins, orchestrates interactions, and provides a central point for actions, providers, and evaluators to operate. It's typically initialized with a set of plugins, including the `corePlugin` which provides foundational capabilities.
|
|
@@ -137,6 +317,12 @@ Evaluators analyze conversation data and other inputs to extract meaningful info
|
|
|
137
317
|
- Reflect on past interactions to improve future responses.
|
|
138
318
|
- Update the agent's knowledge base.
|
|
139
319
|
|
|
320
|
+
### Database adapter
|
|
321
|
+
|
|
322
|
+
The runtime talks to persistence through the `IDatabaseAdapter` interface. Adapters (e.g. plugin-sql, plugin-localdb, InMemory) implement this contract so the same runtime code works with different backends.
|
|
323
|
+
|
|
324
|
+
**Why mutation methods return `Promise<boolean>`:** Methods such as `updateAgents`, `deleteAgents`, and `deleteParticipants` return a boolean so callers can tell success from failure. That supports error handling, retries, and UX (e.g. "Agent removed" vs "Failed to remove"). All adapters use this convention for consistency. See `packages/typescript/src/types/database.ts` for full JSDoc and design notes.
|
|
325
|
+
|
|
140
326
|
## Getting Started
|
|
141
327
|
|
|
142
328
|
### Initializing with `corePlugin`
|