@abloatai/ablo 0.34.1 → 0.36.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/AGENTS.md +2 -1
- package/CHANGELOG.md +758 -5
- package/README.md +56 -502
- package/bin/ablo.cjs +39 -0
- package/dist/BaseSyncedStore.d.ts +176 -48
- package/dist/BaseSyncedStore.js +346 -214
- package/dist/Database.d.ts +17 -44
- package/dist/Database.js +96 -79
- package/dist/InstanceCache.d.ts +31 -6
- package/dist/InstanceCache.js +65 -30
- package/dist/LazyReferenceCollection.d.ts +3 -3
- package/dist/LazyReferenceCollection.js +4 -4
- package/dist/Model.d.ts +23 -13
- package/dist/Model.js +27 -17
- package/dist/ModelRegistry.d.ts +8 -4
- package/dist/ModelRegistry.js +20 -18
- package/dist/NetworkMonitor.d.ts +3 -1
- package/dist/NetworkMonitor.js +7 -5
- package/dist/{SyncEngineContext.d.ts → RuntimeContext.d.ts} +20 -13
- package/dist/{SyncEngineContext.js → RuntimeContext.js} +11 -12
- package/dist/SyncClient.d.ts +47 -47
- package/dist/SyncClient.js +215 -156
- package/dist/ai-sdk/coordinatedTool.d.ts +2 -2
- package/dist/ai-sdk/coordinatedTool.js +1 -1
- package/dist/ai-sdk/coordinationContext.d.ts +2 -2
- package/dist/ai-sdk/coordinationContext.js +1 -1
- package/dist/ai-sdk/wrap.d.ts +3 -3
- package/dist/ai-sdk/wrap.js +2 -2
- package/dist/auth/index.d.ts +1 -156
- package/dist/auth/index.js +8 -301
- package/dist/client/Ablo.d.ts +42 -287
- package/dist/client/Ablo.js +129 -963
- package/dist/client/abloClient.d.ts +309 -0
- package/dist/client/abloClient.js +13 -0
- package/dist/client/clientPrelude.d.ts +52 -0
- package/dist/client/clientPrelude.js +60 -0
- package/dist/client/consoleLogger.d.ts +2 -2
- package/dist/client/coreClient.d.ts +60 -0
- package/dist/client/coreClient.js +118 -0
- package/dist/client/createInternalComponents.d.ts +8 -4
- package/dist/client/createInternalComponents.js +17 -10
- package/dist/client/createModelProxy.d.ts +98 -373
- package/dist/client/createModelProxy.js +233 -139
- package/dist/client/humans.d.ts +69 -0
- package/dist/client/humans.js +78 -0
- package/dist/client/modelRegistration.d.ts +1 -1
- package/dist/client/modelRegistration.js +9 -9
- package/dist/client/options.d.ts +73 -17
- package/dist/client/reactiveEngine.d.ts +53 -0
- package/dist/client/reactiveEngine.js +688 -0
- package/dist/client/resourceTypes.d.ts +9 -250
- package/dist/client/resourceTypes.js +8 -5
- package/dist/client/schemaConfig.d.ts +4 -4
- package/dist/client/schemaConfig.js +6 -2
- package/dist/client/storeCluster.d.ts +47 -0
- package/dist/client/storeCluster.js +118 -0
- package/dist/client/storeLifecycle.d.ts +61 -0
- package/dist/client/storeLifecycle.js +231 -0
- package/dist/client/validateAbloOptions.d.ts +3 -2
- package/dist/client/validateAbloOptions.js +1 -1
- package/dist/client/wsMutationExecutor.d.ts +3 -3
- package/dist/client/wsMutationExecutor.js +3 -3
- package/dist/context.d.ts +22 -9
- package/dist/context.js +33 -9
- package/dist/coordination/ClaimLog.d.ts +26 -0
- package/dist/coordination/ClaimLog.js +32 -0
- package/dist/coordination/index.d.ts +1 -15
- package/dist/coordination/index.js +8 -31
- package/dist/core/index.d.ts +3 -3
- package/dist/core/index.js +2 -2
- package/dist/docs/catalog.d.ts +72 -0
- package/dist/docs/catalog.js +230 -0
- package/dist/docs/index.d.ts +10 -0
- package/dist/docs/index.js +10 -0
- package/dist/environment.d.ts +1 -40
- package/dist/environment.js +8 -37
- package/dist/index.d.ts +44 -36
- package/dist/index.js +30 -22
- package/dist/interfaces/index.d.ts +44 -134
- package/dist/keys/index.d.ts +1 -77
- package/dist/keys/index.js +8 -190
- package/dist/mutators/{RecordingTransaction.d.ts → RecordingMutation.d.ts} +4 -4
- package/dist/mutators/{RecordingTransaction.js → RecordingMutation.js} +2 -2
- package/dist/mutators/Transaction.d.ts +1 -1
- package/dist/mutators/Transaction.js +1 -1
- package/dist/mutators/UndoManager.d.ts +6 -6
- package/dist/mutators/UndoManager.js +5 -5
- package/dist/mutators/defineMutators.d.ts +3 -3
- package/dist/mutators/defineMutators.js +1 -1
- package/dist/mutators/inverseOp.js +2 -2
- package/dist/mutators/mutateActions.d.ts +3 -3
- package/dist/mutators/mutateActions.js +1 -1
- package/dist/mutators/readerActions.d.ts +1 -1
- package/dist/mutators/undoApply.d.ts +1 -1
- package/dist/mutators/undoApply.js +1 -1
- package/dist/policy/index.d.ts +2 -2
- package/dist/policy/index.js +1 -1
- package/dist/query/client.d.ts +5 -2
- package/dist/query/client.js +10 -9
- package/dist/query/types.d.ts +6 -41
- package/dist/query/types.js +2 -2
- package/dist/react/AbloProvider.d.ts +18 -8
- package/dist/react/AbloProvider.js +10 -9
- package/dist/react/context.d.ts +3 -3
- package/dist/react/context.js +1 -1
- package/dist/react/createAbloReact.d.ts +56 -0
- package/dist/react/createAbloReact.js +51 -0
- package/dist/react/index.d.ts +6 -5
- package/dist/react/index.js +6 -3
- package/dist/react/internalContext.d.ts +1 -1
- package/dist/react/useAblo.d.ts +12 -5
- package/dist/react/useAblo.js +26 -8
- package/dist/react/useCurrentUserId.js +1 -1
- package/dist/react/useErrorListener.js +1 -1
- package/dist/react/useMutationFailureListener.d.ts +2 -2
- package/dist/react/useMutationFailureListener.js +1 -1
- package/dist/react/useMutators.d.ts +3 -3
- package/dist/react/useMutators.js +3 -3
- package/dist/react/useUndoScope.d.ts +5 -5
- package/dist/react/useUndoScope.js +1 -1
- package/dist/schema/coordination.d.ts +69 -10
- package/dist/schema/coordination.js +90 -9
- package/dist/schema/ddl.js +2 -2
- package/dist/schema/diff.d.ts +1 -1
- package/dist/schema/generate.js +1 -1
- package/dist/schema/index.d.ts +11 -10
- package/dist/schema/index.js +22 -18
- package/dist/schema/queries.d.ts +27 -27
- package/dist/schema/queries.js +23 -23
- package/dist/schema/select.d.ts +3 -3
- package/dist/schema/select.js +6 -3
- package/dist/schema/serialize.d.ts +15 -6
- package/dist/schema/serialize.js +20 -3
- package/dist/schema/sugar.d.ts +6 -7
- package/dist/schema/sugar.js +9 -12
- package/dist/schema/syncDeltaRow.d.ts +4 -152
- package/dist/schema/syncDeltaRow.js +4 -105
- package/dist/server/adapter.d.ts +18 -1
- package/dist/server/commit.d.ts +10 -16
- package/dist/server/index.d.ts +1 -1
- package/dist/server/index.js +1 -1
- package/dist/server/readConfig.d.ts +1 -1
- package/dist/source/adapter.d.ts +7 -5
- package/dist/source/adapter.js +7 -5
- package/dist/source/adapters/drizzle.d.ts +1 -1
- package/dist/source/adapters/drizzle.js +2 -2
- package/dist/source/adapters/kysely.d.ts +1 -1
- package/dist/source/adapters/kysely.js +1 -1
- package/dist/source/adapters/kyselyMutationCore.d.ts +1 -1
- package/dist/source/adapters/kyselyMutationCore.js +2 -2
- package/dist/source/adapters/memory.js +1 -1
- package/dist/source/adapters/prisma.d.ts +8 -3
- package/dist/source/adapters/prisma.js +1 -1
- package/dist/source/connector.js +1 -1
- package/dist/source/connectorProtocol.d.ts +2 -8
- package/dist/source/connectorProtocol.js +3 -2
- package/dist/source/contract.d.ts +29 -17
- package/dist/source/contract.js +27 -22
- package/dist/source/factory.d.ts +1 -1
- package/dist/source/idempotency.js +2 -2
- package/dist/source/index.d.ts +1 -0
- package/dist/source/index.js +3 -0
- package/dist/source/next.d.ts +1 -1
- package/dist/source/signing.d.ts +9 -2
- package/dist/source/signing.js +4 -1
- package/dist/source/types.d.ts +6 -4
- package/dist/source/types.js +1 -1
- package/dist/{core/storeContract.d.ts → storeContract.d.ts} +6 -6
- package/dist/{core → stores}/DatabaseManager.d.ts +3 -1
- package/dist/{core → stores}/DatabaseManager.js +14 -13
- package/dist/stores/ObjectStore.d.ts +1 -1
- package/dist/{core → stores}/StoreManager.d.ts +9 -26
- package/dist/{core → stores}/StoreManager.js +29 -77
- package/dist/stores/SyncActionStore.d.ts +4 -2
- package/dist/stores/SyncActionStore.js +11 -17
- package/dist/stores/syncAction.d.ts +26 -0
- package/dist/stores/syncAction.js +16 -0
- package/dist/surface.d.ts +3 -3
- package/dist/surface.js +6 -4
- package/dist/sync/BootstrapFetcher.d.ts +127 -6
- package/dist/sync/BootstrapFetcher.js +511 -83
- package/dist/sync/ConnectionManager.d.ts +6 -198
- package/dist/sync/ConnectionManager.js +6 -677
- package/dist/sync/OnDemandLoader.d.ts +5 -2
- package/dist/sync/OnDemandLoader.js +61 -21
- package/dist/sync/SubscriptionManager.d.ts +13 -2
- package/dist/sync/SubscriptionManager.js +23 -5
- package/dist/sync/SyncWebSocket.d.ts +27 -510
- package/dist/sync/SyncWebSocket.js +76 -954
- package/dist/sync/awaitClaimGrant.d.ts +4 -44
- package/dist/sync/awaitClaimGrant.js +4 -109
- package/dist/sync/bootstrapApply.d.ts +3 -0
- package/dist/sync/bootstrapApply.js +2 -2
- package/dist/sync/commitFrames.d.ts +6 -40
- package/dist/sync/commitFrames.js +6 -97
- package/dist/sync/contextPorts.d.ts +18 -0
- package/dist/sync/contextPorts.js +31 -0
- package/dist/sync/createClaimStream.d.ts +5 -49
- package/dist/sync/createClaimStream.js +5 -469
- package/dist/sync/createPresenceStream.d.ts +26 -4
- package/dist/sync/createPresenceStream.js +28 -20
- package/dist/sync/createSnapshot.d.ts +2 -2
- package/dist/sync/createSnapshot.js +1 -1
- package/dist/sync/credentialLifecycle.d.ts +5 -173
- package/dist/sync/credentialLifecycle.js +5 -320
- package/dist/sync/deltaPipeline.d.ts +13 -12
- package/dist/sync/deltaPipeline.js +21 -4
- package/dist/sync/groupChange.d.ts +3 -0
- package/dist/sync/groupChange.js +16 -14
- package/dist/sync/participants.d.ts +24 -6
- package/dist/sync/participants.js +32 -23
- package/dist/sync/schemaDrift.d.ts +55 -0
- package/dist/sync/schemaDrift.js +53 -0
- package/dist/sync/schemas.d.ts +23 -33
- package/dist/sync/schemas.js +29 -20
- package/dist/sync/syncPlan.d.ts +3 -3
- package/dist/sync/wsFrameHandlers.d.ts +6 -114
- package/dist/sync/wsFrameHandlers.js +6 -392
- package/dist/syncLog/contract.d.ts +20 -0
- package/dist/syncLog/contract.js +19 -0
- package/dist/syncLog/index.d.ts +1 -0
- package/dist/syncLog/index.js +1 -0
- package/dist/transaction/ablo.d.ts +88 -0
- package/dist/transaction/ablo.js +33 -0
- package/dist/{client/auth.d.ts → transaction/auth/apiKey.d.ts} +43 -8
- package/dist/{client/auth.js → transaction/auth/apiKey.js} +19 -0
- package/dist/transaction/auth/bootstrapScope.d.ts +15 -0
- package/dist/transaction/auth/bootstrapScope.js +1 -0
- package/dist/transaction/auth/capability.d.ts +212 -0
- package/dist/transaction/auth/capability.js +224 -0
- package/dist/{auth → transaction/auth}/credentialSource.d.ts +8 -1
- package/dist/{client → transaction/auth}/identity.d.ts +8 -7
- package/dist/{client → transaction/auth}/identity.js +1 -1
- package/dist/transaction/auth/index.d.ts +162 -0
- package/dist/transaction/auth/index.js +304 -0
- package/dist/{auth → transaction/auth}/schemas.d.ts +1 -1
- package/dist/{auth → transaction/auth}/schemas.js +13 -13
- package/dist/{client → transaction/auth}/sessionMint.d.ts +8 -8
- package/dist/{client → transaction/auth}/sessionMint.js +4 -7
- package/dist/transaction/coordination/awaitClaimGrant.d.ts +56 -0
- package/dist/transaction/coordination/awaitClaimGrant.js +124 -0
- package/dist/{client → transaction/coordination}/claimHeartbeatLoop.d.ts +34 -0
- package/dist/{client → transaction/coordination}/claimHeartbeatLoop.js +20 -0
- package/dist/transaction/coordination/claimMeta.d.ts +49 -0
- package/dist/transaction/coordination/claimMeta.js +52 -0
- package/dist/transaction/coordination/createClaimStream.d.ts +64 -0
- package/dist/transaction/coordination/createClaimStream.js +475 -0
- package/dist/transaction/coordination/events.d.ts +74 -0
- package/dist/transaction/coordination/events.js +7 -0
- package/dist/transaction/coordination/index.d.ts +19 -0
- package/dist/transaction/coordination/index.js +45 -0
- package/dist/transaction/coordination/locator.d.ts +104 -0
- package/dist/transaction/coordination/locator.js +102 -0
- package/dist/transaction/coordination/schema.d.ts +1536 -0
- package/dist/transaction/coordination/schema.js +1177 -0
- package/dist/transaction/coordination/targetConflict.d.ts +2 -0
- package/dist/transaction/coordination/targetConflict.js +107 -0
- package/dist/{coordination → transaction/coordination}/trace.d.ts +7 -18
- package/dist/{coordination → transaction/coordination}/trace.js +18 -25
- package/dist/transaction/durableWrites.d.ts +62 -0
- package/dist/{client → transaction}/durableWrites.js +28 -3
- package/dist/transaction/environment.d.ts +105 -0
- package/dist/transaction/environment.js +108 -0
- package/dist/{errorCodes.d.ts → transaction/errorCodes.d.ts} +12 -12
- package/dist/{errorCodes.js → transaction/errorCodes.js} +45 -18
- package/dist/{errors.d.ts → transaction/errors.d.ts} +37 -13
- package/dist/{errors.js → transaction/errors.js} +85 -16
- package/dist/transaction/footprint.d.ts +111 -0
- package/dist/transaction/footprint.js +0 -0
- package/dist/transaction/index.d.ts +20 -0
- package/dist/transaction/index.js +20 -0
- package/dist/transaction/keys/index.d.ts +87 -0
- package/dist/transaction/keys/index.js +207 -0
- package/dist/transaction/log/syncDeltaRow.d.ts +158 -0
- package/dist/transaction/log/syncDeltaRow.js +95 -0
- package/dist/{sync/syncPosition.d.ts → transaction/logPosition.d.ts} +22 -8
- package/dist/{sync/syncPosition.js → transaction/logPosition.js} +15 -6
- package/dist/transaction/logger.d.ts +16 -0
- package/dist/transaction/logger.js +7 -0
- package/dist/transaction/observability.d.ts +53 -0
- package/dist/transaction/observability.js +19 -0
- package/dist/transaction/plugin.d.ts +285 -0
- package/dist/transaction/plugin.js +106 -0
- package/dist/{policy → transaction/policy}/types.d.ts +3 -3
- package/dist/{policy → transaction/policy}/types.js +2 -0
- package/dist/transaction/resources/httpResources.d.ts +321 -0
- package/dist/transaction/resources/httpResources.js +7 -0
- package/dist/transaction/resources/modelOperations.d.ts +427 -0
- package/dist/transaction/resources/modelOperations.js +12 -0
- package/dist/transaction/resources/mutationOptions.d.ts +66 -0
- package/dist/transaction/resources/mutationOptions.js +9 -0
- package/dist/transaction/resources/where.d.ts +101 -0
- package/dist/transaction/resources/where.js +115 -0
- package/dist/{client → transaction/resources}/writeOptionsSchema.d.ts +2 -6
- package/dist/{client → transaction/resources}/writeOptionsSchema.js +9 -5
- package/dist/{schema → transaction/schema}/field.d.ts +17 -23
- package/dist/{schema → transaction/schema}/field.js +5 -5
- package/dist/transaction/schema/fieldRef.d.ts +38 -0
- package/dist/transaction/schema/fieldRef.js +11 -0
- package/dist/transaction/schema/loadStrategy.d.ts +45 -0
- package/dist/transaction/schema/loadStrategy.js +46 -0
- package/dist/{schema → transaction/schema}/model.d.ts +50 -35
- package/dist/{schema → transaction/schema}/model.js +30 -20
- package/dist/transaction/schema/openapi.d.ts +58 -0
- package/dist/transaction/schema/openapi.js +501 -0
- package/dist/{schema → transaction/schema}/relation.d.ts +21 -16
- package/dist/{schema → transaction/schema}/relation.js +7 -7
- package/dist/{schema → transaction/schema}/residency.d.ts +0 -9
- package/dist/{schema → transaction/schema}/residency.js +0 -5
- package/dist/{schema → transaction/schema}/roles.d.ts +5 -5
- package/dist/{schema → transaction/schema}/roles.js +5 -5
- package/dist/{schema → transaction/schema}/schema.d.ts +39 -10
- package/dist/{schema → transaction/schema}/schema.js +24 -3
- package/dist/{schema → transaction/schema}/tenancy.d.ts +1 -1
- package/dist/{schema → transaction/schema}/tenancy.js +7 -4
- package/dist/transaction/transactionLayer.d.ts +82 -0
- package/dist/transaction/transactionLayer.js +24 -0
- package/dist/{transactions → transaction/transactions/settlement}/commitEnvelope.d.ts +5 -6
- package/dist/{transactions → transaction/transactions/settlement}/commitEnvelope.js +9 -13
- package/dist/{transactions → transaction/transactions/settlement}/httpCommitEnvelope.d.ts +9 -2
- package/dist/{transactions → transaction/transactions/settlement}/httpCommitEnvelope.js +5 -9
- package/dist/{transactions/durableWriteStore.d.ts → transaction/transactions/settlement/pendingWrite.d.ts} +11 -37
- package/dist/transaction/transactions/settlement/pendingWrite.js +20 -0
- package/dist/transaction/transport/commitFrames.d.ts +90 -0
- package/dist/transaction/transport/commitFrames.js +134 -0
- package/dist/transaction/transport/connectionManager.d.ts +215 -0
- package/dist/transaction/transport/connectionManager.js +673 -0
- package/dist/transaction/transport/credentialLifecycle.d.ts +177 -0
- package/dist/transaction/transport/credentialLifecycle.js +324 -0
- package/dist/{sync → transaction/transport}/heartbeat.d.ts +3 -1
- package/dist/{sync → transaction/transport}/heartbeat.js +6 -4
- package/dist/transaction/transport/httpClient.d.ts +131 -0
- package/dist/{client → transaction/transport}/httpClient.js +6 -5
- package/dist/transaction/transport/httpOptions.d.ts +33 -0
- package/dist/transaction/transport/httpOptions.js +12 -0
- package/dist/{client → transaction/transport}/httpTransport.js +295 -97
- package/dist/{sync/NetworkProbe.d.ts → transaction/transport/networkProbe.d.ts} +7 -4
- package/dist/{sync/NetworkProbe.js → transaction/transport/networkProbe.js} +14 -13
- package/dist/transaction/transport/wsFrameHandlers.d.ts +128 -0
- package/dist/transaction/transport/wsFrameHandlers.js +429 -0
- package/dist/transaction/transport/wsTransport.d.ts +574 -0
- package/dist/transaction/transport/wsTransport.js +1023 -0
- package/dist/transaction/types/assertExact.d.ts +17 -0
- package/dist/transaction/types/assertExact.js +1 -0
- package/dist/{types → transaction/types}/global.d.ts +17 -2
- package/dist/{types → transaction/types}/global.js +2 -1
- package/dist/{types → transaction/types}/index.d.ts +14 -46
- package/dist/{types → transaction/types}/index.js +7 -16
- package/dist/{types → transaction/types}/streams.d.ts +73 -45
- package/dist/transaction/utils/duration.d.ts +50 -0
- package/dist/{utils → transaction/utils}/duration.js +32 -0
- package/dist/{utils → transaction/utils}/json.d.ts +18 -0
- package/dist/transaction/utils/json.js +276 -0
- package/dist/transaction/wire/accountResponses.d.ts +420 -0
- package/dist/transaction/wire/accountResponses.js +290 -0
- package/dist/transaction/wire/auth.d.ts +56 -0
- package/dist/transaction/wire/auth.js +63 -0
- package/dist/transaction/wire/claimEvent.d.ts +76 -0
- package/dist/transaction/wire/claimEvent.js +73 -0
- package/dist/transaction/wire/claims.d.ts +530 -0
- package/dist/transaction/wire/claims.js +327 -0
- package/dist/{wire → transaction/wire}/commit.d.ts +125 -193
- package/dist/{wire → transaction/wire}/commit.js +68 -47
- package/dist/{wire → transaction/wire}/delta.d.ts +66 -17
- package/dist/{wire → transaction/wire}/delta.js +37 -13
- package/dist/transaction/wire/errorEnvelope.d.ts +72 -0
- package/dist/{wire → transaction/wire}/errorEnvelope.js +36 -5
- package/dist/transaction/wire/feedCursor.d.ts +60 -0
- package/dist/transaction/wire/feedCursor.js +82 -0
- package/dist/transaction/wire/feedEvent.d.ts +204 -0
- package/dist/transaction/wire/feedEvent.js +65 -0
- package/dist/transaction/wire/frames.d.ts +194 -0
- package/dist/transaction/wire/frames.js +50 -0
- package/dist/transaction/wire/inboundFrames.d.ts +562 -0
- package/dist/transaction/wire/inboundFrames.js +116 -0
- package/dist/transaction/wire/index.d.ts +54 -0
- package/dist/transaction/wire/index.js +83 -0
- package/dist/{wire → transaction/wire}/listEnvelope.d.ts +13 -14
- package/dist/transaction/wire/listEnvelope.js +42 -0
- package/dist/transaction/wire/modelMutations.d.ts +31 -0
- package/dist/transaction/wire/modelMutations.js +52 -0
- package/dist/transaction/wire/modelResponses.d.ts +85 -0
- package/dist/transaction/wire/modelResponses.js +43 -0
- package/dist/transaction/wire/modelShape.d.ts +78 -0
- package/dist/transaction/wire/modelShape.js +74 -0
- package/dist/transactions/{TransactionQueue.d.ts → mutations/MutationQueue.d.ts} +85 -38
- package/dist/transactions/{TransactionQueue.js → mutations/MutationQueue.js} +141 -80
- package/dist/transactions/{TransactionStore.d.ts → mutations/MutationStore.d.ts} +8 -8
- package/dist/transactions/{TransactionStore.js → mutations/MutationStore.js} +2 -2
- package/dist/transactions/{coalesceRules.d.ts → mutations/coalesceRules.d.ts} +10 -10
- package/dist/transactions/{coalesceRules.js → mutations/coalesceRules.js} +1 -1
- package/dist/transactions/mutations/commitLatency.d.ts +52 -0
- package/dist/transactions/mutations/commitLatency.js +130 -0
- package/dist/transactions/{commitOutboxStore.d.ts → mutations/commitOutboxStore.d.ts} +1 -5
- package/dist/transactions/{commitOutboxStore.js → mutations/commitOutboxStore.js} +1 -1
- package/dist/transactions/{commitPayload.d.ts → mutations/commitPayload.d.ts} +18 -16
- package/dist/transactions/{commitPayload.js → mutations/commitPayload.js} +15 -15
- package/dist/transactions/{deltaConfirmation.d.ts → mutations/deltaConfirmation.d.ts} +15 -11
- package/dist/transactions/{deltaConfirmation.js → mutations/deltaConfirmation.js} +14 -12
- package/dist/transactions/mutations/durableWriteStore.d.ts +14 -0
- package/dist/transactions/mutations/durableWriteStore.js +12 -0
- package/dist/transactions/{optimisticApply.d.ts → mutations/optimisticApply.d.ts} +7 -7
- package/dist/transactions/{replayValidation.d.ts → mutations/replayValidation.d.ts} +4 -3
- package/dist/transactions/{replayValidation.js → mutations/replayValidation.js} +7 -5
- package/dist/utils/mobxSetup.d.ts +1 -1
- package/dist/utils/mobxSetup.js +5 -2
- package/dist/{core → views}/QueryView.d.ts +2 -2
- package/dist/{core → views}/QueryView.js +2 -2
- package/dist/{core → views}/ViewRegistry.d.ts +1 -1
- package/dist/{core/queryUtils.d.ts → views/incrementalView.d.ts} +6 -6
- package/dist/{core/queryUtils.js → views/incrementalView.js} +6 -6
- package/dist/webhooks/events.d.ts +2 -2
- package/dist/wire/index.d.ts +1 -34
- package/dist/wire/index.js +8 -49
- package/docs/agent-messaging.md +3 -3
- package/docs/agents.md +20 -13
- package/docs/api-keys.md +14 -10
- package/docs/api.md +27 -61
- package/docs/audit.md +6 -3
- package/docs/cli.md +41 -13
- package/docs/client-behavior.md +11 -9
- package/docs/concurrency-convention.md +49 -57
- package/docs/coordination.md +283 -121
- package/docs/data-sources.md +7 -5
- package/docs/debugging.md +39 -15
- package/docs/deployment.md +267 -0
- package/docs/examples/agent-human.md +49 -42
- package/docs/examples/ai-sdk-tool.md +69 -44
- package/docs/examples/existing-python-backend.md +8 -6
- package/docs/examples/nextjs.md +129 -47
- package/docs/examples/scoped-agent.md +46 -45
- package/docs/examples/server-agent.md +46 -26
- package/docs/groups.md +87 -30
- package/docs/guarantees.md +41 -12
- package/docs/how-it-works.md +38 -12
- package/docs/idempotency.md +126 -0
- package/docs/identity.md +77 -74
- package/docs/index.md +172 -86
- package/docs/integration-guide.md +31 -19
- package/docs/mcp.md +46 -21
- package/docs/migration.md +95 -18
- package/docs/operating-on-your-database.md +3 -1
- package/docs/projects.md +3 -1
- package/docs/quickstart.md +22 -5
- package/docs/react.md +31 -18
- package/docs/schema-contract.md +5 -3
- package/docs/session-settings.md +108 -0
- package/docs/sessions.md +4 -2
- package/docs/webhooks.md +12 -10
- package/llms.txt +48 -18
- package/package.json +21 -26
- package/dist/agent/Agent.d.ts +0 -366
- package/dist/agent/Agent.js +0 -514
- package/dist/agent/index.d.ts +0 -115
- package/dist/agent/index.js +0 -128
- package/dist/agent/session.d.ts +0 -93
- package/dist/agent/session.js +0 -149
- package/dist/agent/types.d.ts +0 -68
- package/dist/agent/types.js +0 -9
- package/dist/cli.cjs +0 -286329
- package/dist/client/durableWrites.d.ts +0 -21
- package/dist/client/httpClient.d.ts +0 -80
- package/dist/coordination/schema.d.ts +0 -722
- package/dist/coordination/schema.js +0 -578
- package/dist/schema/openapi.d.ts +0 -29
- package/dist/schema/openapi.js +0 -124
- package/dist/testing/fixtures/bootstrap.d.ts +0 -49
- package/dist/testing/fixtures/bootstrap.js +0 -59
- package/dist/testing/fixtures/deltas.d.ts +0 -83
- package/dist/testing/fixtures/deltas.js +0 -136
- package/dist/testing/fixtures/models.d.ts +0 -83
- package/dist/testing/fixtures/models.js +0 -272
- package/dist/testing/helpers/reactWrapper.d.ts +0 -69
- package/dist/testing/helpers/reactWrapper.js +0 -67
- package/dist/testing/helpers/syncEngineHarness.d.ts +0 -54
- package/dist/testing/helpers/syncEngineHarness.js +0 -73
- package/dist/testing/helpers/wait.d.ts +0 -30
- package/dist/testing/helpers/wait.js +0 -49
- package/dist/testing/index.d.ts +0 -23
- package/dist/testing/index.js +0 -33
- package/dist/testing/mocks/FakeDatabase.d.ts +0 -18
- package/dist/testing/mocks/FakeDatabase.js +0 -10
- package/dist/testing/mocks/MockMutationExecutor.d.ts +0 -87
- package/dist/testing/mocks/MockMutationExecutor.js +0 -192
- package/dist/testing/mocks/MockNetworkMonitor.d.ts +0 -20
- package/dist/testing/mocks/MockNetworkMonitor.js +0 -46
- package/dist/testing/mocks/MockSyncContext.d.ts +0 -51
- package/dist/testing/mocks/MockSyncContext.js +0 -71
- package/dist/testing/mocks/MockSyncStore.d.ts +0 -88
- package/dist/testing/mocks/MockSyncStore.js +0 -171
- package/dist/testing/mocks/MockWebSocket.d.ts +0 -71
- package/dist/testing/mocks/MockWebSocket.js +0 -118
- package/dist/transactions/durableWriteStore.js +0 -30
- package/dist/utils/duration.d.ts +0 -25
- package/dist/utils/json.js +0 -88
- package/dist/wire/errorEnvelope.d.ts +0 -55
- package/dist/wire/frames.d.ts +0 -197
- package/dist/wire/frames.js +0 -49
- package/dist/wire/listEnvelope.js +0 -18
- package/docs/interaction-model.md +0 -97
- /package/dist/{core → query}/QueryProcessor.d.ts +0 -0
- /package/dist/{core → query}/QueryProcessor.js +0 -0
- /package/dist/{core/storeContract.js → storeContract.js} +0 -0
- /package/dist/{core → stores}/openIDBWithTimeout.d.ts +0 -0
- /package/dist/{core → stores}/openIDBWithTimeout.js +0 -0
- /package/dist/{client → transaction/auth}/credentialEndpoint.d.ts +0 -0
- /package/dist/{client → transaction/auth}/credentialEndpoint.js +0 -0
- /package/dist/{auth → transaction/auth}/credentialPolicy.d.ts +0 -0
- /package/dist/{auth → transaction/auth}/credentialPolicy.js +0 -0
- /package/dist/{auth → transaction/auth}/credentialSource.js +0 -0
- /package/dist/{client → transaction/auth}/hostedEndpoints.d.ts +0 -0
- /package/dist/{client → transaction/auth}/hostedEndpoints.js +0 -0
- /package/dist/{client → transaction}/persistence.d.ts +0 -0
- /package/dist/{client → transaction}/persistence.js +0 -0
- /package/dist/{client → transaction/resources}/functionalUpdate.d.ts +0 -0
- /package/dist/{client → transaction/resources}/functionalUpdate.js +0 -0
- /package/dist/{transactions → transaction/transactions/settlement}/idempotencyKey.d.ts +0 -0
- /package/dist/{transactions → transaction/transactions/settlement}/idempotencyKey.js +0 -0
- /package/dist/{client → transaction/transport}/httpTransport.d.ts +0 -0
- /package/dist/{types → transaction/types}/modelData.d.ts +0 -0
- /package/dist/{types → transaction/types}/modelData.js +0 -0
- /package/dist/{types → transaction/types}/participant.d.ts +0 -0
- /package/dist/{types → transaction/types}/participant.js +0 -0
- /package/dist/{types → transaction/types}/streams.js +0 -0
- /package/dist/{utils → transaction/utils}/asyncIterator.d.ts +0 -0
- /package/dist/{utils → transaction/utils}/asyncIterator.js +0 -0
- /package/dist/{wire → transaction/wire}/bootstrapReason.d.ts +0 -0
- /package/dist/{wire → transaction/wire}/bootstrapReason.js +0 -0
- /package/dist/{wire → transaction/wire}/protocol.d.ts +0 -0
- /package/dist/{wire → transaction/wire}/protocol.js +0 -0
- /package/dist/{wire → transaction/wire}/protocolVersion.d.ts +0 -0
- /package/dist/{wire → transaction/wire}/protocolVersion.js +0 -0
- /package/dist/transactions/{UnconfirmedWrites.d.ts → mutations/UnconfirmedWrites.d.ts} +0 -0
- /package/dist/transactions/{UnconfirmedWrites.js → mutations/UnconfirmedWrites.js} +0 -0
- /package/dist/transactions/{optimisticApply.js → mutations/optimisticApply.js} +0 -0
- /package/dist/{core → views}/ViewRegistry.js +0 -0
package/dist/agent/Agent.d.ts
DELETED
|
@@ -1,366 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Agent — AI SDK v6 native hooks for agent awareness.
|
|
3
|
-
*
|
|
4
|
-
* Slots directly into generateText / streamText / ToolLoopAgent via three
|
|
5
|
-
* hooks: prepareStep (inject awareness before each step), onStepFinish
|
|
6
|
-
* (announce activity after each step), and wrapTool (wrap mutation tools
|
|
7
|
-
* with freshness checks). Stateless REST under the hood — works with any
|
|
8
|
-
* API model, no WebSocket.
|
|
9
|
-
*
|
|
10
|
-
* ```ts
|
|
11
|
-
* import { generateText, tool, stepCountIs } from 'ai';
|
|
12
|
-
* import { Agent } from '@abloatai/ablo/agent';
|
|
13
|
-
*
|
|
14
|
-
* const perception = new Agent({
|
|
15
|
-
* syncServerUrl: 'http://localhost:8080',
|
|
16
|
-
* agentId: 'researcher-1',
|
|
17
|
-
* organizationId: 'org-1',
|
|
18
|
-
* syncGroups: ['deal:abc'],
|
|
19
|
-
* });
|
|
20
|
-
*
|
|
21
|
-
* const result = await generateText({
|
|
22
|
-
* model: 'anthropic/claude-sonnet-4.5',
|
|
23
|
-
* messages,
|
|
24
|
-
* stopWhen: stepCountIs(10),
|
|
25
|
-
* tools: {
|
|
26
|
-
* updateSlide: perception.wrapTool(
|
|
27
|
-
* tool({
|
|
28
|
-
* inputSchema: z.object({ id: z.string(), title: z.string() }),
|
|
29
|
-
* execute: async ({ id, title }) => { ... },
|
|
30
|
-
* }),
|
|
31
|
-
* { entityType: 'Slide', getEntityId: (args) => args.id },
|
|
32
|
-
* ),
|
|
33
|
-
* },
|
|
34
|
-
* prepareStep: perception.prepareStep(), // injects awareness
|
|
35
|
-
* onStepFinish: perception.onStepFinish(), // announces activity
|
|
36
|
-
* });
|
|
37
|
-
* ```
|
|
38
|
-
*
|
|
39
|
-
* Low-level primitives (gather, checkFreshness, announce) are also exposed
|
|
40
|
-
* for custom integrations outside the AI SDK.
|
|
41
|
-
*/
|
|
42
|
-
import type { PresenceAnnouncer, AgentContext } from './types.js';
|
|
43
|
-
import type { Activity, WireClaim } from '../types/streams.js';
|
|
44
|
-
import { createAgentSession } from './session.js';
|
|
45
|
-
export type { AgentContext } from './types.js';
|
|
46
|
-
export type { WireClaim } from '../types/streams.js';
|
|
47
|
-
/**
|
|
48
|
-
* The record shape the sync server returns from its REST `/api/presence`
|
|
49
|
-
* endpoint. This interface is internal to this module and not exported. Its
|
|
50
|
-
* field names (`userId`, `isAgent`, `updatedAt`) are the wire contract the
|
|
51
|
-
* presence API sends, and {@link Agent.gather} surfaces these records
|
|
52
|
-
* unchanged in the `presence` array of its snapshot.
|
|
53
|
-
*/
|
|
54
|
-
interface WirePeer {
|
|
55
|
-
userId: string;
|
|
56
|
-
isAgent?: boolean;
|
|
57
|
-
status: 'online' | 'away' | 'offline' | (string & {});
|
|
58
|
-
syncGroups?: string[];
|
|
59
|
-
activity?: Activity;
|
|
60
|
-
updatedAt?: number;
|
|
61
|
-
organizationId?: string;
|
|
62
|
-
activeClaims?: WireClaim[];
|
|
63
|
-
}
|
|
64
|
-
import type { SyncLogger } from '../interfaces/index.js';
|
|
65
|
-
export interface AgentOptions {
|
|
66
|
-
/** Base URL of the sync server, e.g. `http://localhost:8080`. */
|
|
67
|
-
syncServerUrl: string;
|
|
68
|
-
/** Unique agent identifier — without the `agent:` prefix. */
|
|
69
|
-
agentId: string;
|
|
70
|
-
/** Organization this agent belongs to. */
|
|
71
|
-
organizationId: string;
|
|
72
|
-
/** Sync groups determine which other participants are visible. */
|
|
73
|
-
syncGroups: string[];
|
|
74
|
-
/** Optional bearer token for authenticated requests. */
|
|
75
|
-
authToken?: string;
|
|
76
|
-
/** Custom fetch — defaults to global fetch. Useful for testing. */
|
|
77
|
-
fetch?: typeof fetch;
|
|
78
|
-
/** Timeout per request in ms. Default 5000. */
|
|
79
|
-
timeoutMs?: number;
|
|
80
|
-
/**
|
|
81
|
-
* Optional presence announcer — route `announce()` through this instead
|
|
82
|
-
* of REST. Pass a connected SyncAgent here to reuse its WebSocket and
|
|
83
|
-
* avoid per-step HTTP round trips.
|
|
84
|
-
*/
|
|
85
|
-
announcer?: PresenceAnnouncer;
|
|
86
|
-
/**
|
|
87
|
-
* Optional logger. The agent SDK runs in standalone Node processes
|
|
88
|
-
* that don't share the SyncEngineContext, so Agent takes
|
|
89
|
-
* its own logger handle. Defaults to a console-backed logger; pass
|
|
90
|
-
* your structured logger (Pino, Winston, etc.) to get consistent
|
|
91
|
-
* agent-worker log routing.
|
|
92
|
-
*/
|
|
93
|
-
logger?: SyncLogger;
|
|
94
|
-
}
|
|
95
|
-
export interface GatherOptions {
|
|
96
|
-
/** Focus context on these entities — format: "ModelName:id". */
|
|
97
|
-
focusEntities?: string[];
|
|
98
|
-
/** Maximum output characters for the formatted prompt. Default 2000. */
|
|
99
|
-
maxChars?: number;
|
|
100
|
-
/** Include presence of other participants. Default true. */
|
|
101
|
-
includePresence?: boolean;
|
|
102
|
-
/** Exclude this agent's own presence from the output. Default true. */
|
|
103
|
-
excludeSelf?: boolean;
|
|
104
|
-
}
|
|
105
|
-
export interface AgentSnapshot {
|
|
106
|
-
timestamp: number;
|
|
107
|
-
presence: WirePeer[];
|
|
108
|
-
}
|
|
109
|
-
export interface GatherResult {
|
|
110
|
-
/** Natural-language summary ready to inject as a system message. */
|
|
111
|
-
prompt: string;
|
|
112
|
-
/** Structured data for programmatic use. */
|
|
113
|
-
snapshot: AgentSnapshot;
|
|
114
|
-
}
|
|
115
|
-
export interface FreshnessCheck {
|
|
116
|
-
stale: boolean;
|
|
117
|
-
reason?: 'ok' | 'not_found' | 'modified';
|
|
118
|
-
/** Current entity state from the server. */
|
|
119
|
-
currentState?: Record<string, unknown>;
|
|
120
|
-
lastModifiedBy?: string;
|
|
121
|
-
lastModifiedAt?: number;
|
|
122
|
-
/** Human-readable summary — feed this back to the LLM when stale. */
|
|
123
|
-
summary?: string;
|
|
124
|
-
/**
|
|
125
|
-
* Pending-mutation claims from other participants targeting this
|
|
126
|
-
* entity, with the agent's own claims filtered out. An empty array
|
|
127
|
-
* means no one else is currently generating against the entity. A
|
|
128
|
-
* non-empty array is advisory: the agent can proceed, wait, or defer.
|
|
129
|
-
*/
|
|
130
|
-
pendingClaims?: WireClaim[];
|
|
131
|
-
}
|
|
132
|
-
/** Subset of AI SDK's ModelMessage — structural. */
|
|
133
|
-
export interface AgentMessage {
|
|
134
|
-
role: 'system' | 'user' | 'assistant' | 'tool';
|
|
135
|
-
content: unknown;
|
|
136
|
-
}
|
|
137
|
-
/** Subset of AI SDK's prepareStep context. */
|
|
138
|
-
export interface PrepareStepContext<M extends AgentMessage = AgentMessage> {
|
|
139
|
-
stepNumber: number;
|
|
140
|
-
steps: readonly {
|
|
141
|
-
toolCalls?: readonly {
|
|
142
|
-
toolName: string;
|
|
143
|
-
input?: unknown;
|
|
144
|
-
args?: unknown;
|
|
145
|
-
}[];
|
|
146
|
-
toolResults?: readonly unknown[];
|
|
147
|
-
}[];
|
|
148
|
-
messages: M[];
|
|
149
|
-
model?: unknown;
|
|
150
|
-
}
|
|
151
|
-
/** Subset of AI SDK's prepareStep return shape. */
|
|
152
|
-
export interface PrepareStepResult<M extends AgentMessage = AgentMessage> {
|
|
153
|
-
messages?: M[];
|
|
154
|
-
model?: unknown;
|
|
155
|
-
toolChoice?: unknown;
|
|
156
|
-
activeTools?: string[];
|
|
157
|
-
}
|
|
158
|
-
/** Subset of AI SDK's onStepFinish context. */
|
|
159
|
-
export interface StepFinishContext {
|
|
160
|
-
stepType?: 'initial' | 'continue' | 'tool-result';
|
|
161
|
-
finishReason?: string;
|
|
162
|
-
text?: string;
|
|
163
|
-
toolCalls?: readonly {
|
|
164
|
-
toolName: string;
|
|
165
|
-
input?: unknown;
|
|
166
|
-
args?: unknown;
|
|
167
|
-
}[];
|
|
168
|
-
toolResults?: readonly unknown[];
|
|
169
|
-
usage?: {
|
|
170
|
-
inputTokens?: number;
|
|
171
|
-
outputTokens?: number;
|
|
172
|
-
totalTokens?: number;
|
|
173
|
-
};
|
|
174
|
-
}
|
|
175
|
-
/** Subset of AI SDK's ToolExecutionOptions. */
|
|
176
|
-
export interface ToolExecutionOptions {
|
|
177
|
-
toolCallId?: string;
|
|
178
|
-
messages?: AgentMessage[];
|
|
179
|
-
abortSignal?: AbortSignal;
|
|
180
|
-
experimental_context?: unknown;
|
|
181
|
-
}
|
|
182
|
-
/** Minimal tool shape — a subset of AI SDK's Tool type. */
|
|
183
|
-
export interface AgentTool<TArgs = unknown, TResult = unknown> {
|
|
184
|
-
description?: string;
|
|
185
|
-
inputSchema?: unknown;
|
|
186
|
-
execute?: (args: TArgs, options: ToolExecutionOptions) => Promise<TResult> | TResult;
|
|
187
|
-
[extra: string]: unknown;
|
|
188
|
-
}
|
|
189
|
-
export interface PrepareStepOptions {
|
|
190
|
-
/** Max characters of awareness context to inject. Default 1500. */
|
|
191
|
-
maxChars?: number;
|
|
192
|
-
/**
|
|
193
|
-
* Derive focus entities from recent tool calls so the LLM sees participants
|
|
194
|
-
* working on the same entities. Requires a mapper from tool call to entity
|
|
195
|
-
* tokens (format: "ModelName:id"). Default: no auto-focus.
|
|
196
|
-
*/
|
|
197
|
-
focusFromToolCalls?: (toolCall: {
|
|
198
|
-
toolName: string;
|
|
199
|
-
input?: unknown;
|
|
200
|
-
args?: unknown;
|
|
201
|
-
}) => string[] | undefined;
|
|
202
|
-
/** Skip awareness injection for step 0 (initial prompt). Default false. */
|
|
203
|
-
skipFirstStep?: boolean;
|
|
204
|
-
}
|
|
205
|
-
export interface OnStepFinishOptions {
|
|
206
|
-
/**
|
|
207
|
-
* Derive an activity announcement from the finished step. Return null to
|
|
208
|
-
* skip announcing for this step. Default: announces the last tool name
|
|
209
|
-
* if any tool was called.
|
|
210
|
-
*/
|
|
211
|
-
activity?: (ctx: StepFinishContext) => Activity | null;
|
|
212
|
-
}
|
|
213
|
-
export interface WrapToolOptions<TArgs> {
|
|
214
|
-
/** Entity type the tool mutates — e.g. "Slide", "Sheet". */
|
|
215
|
-
entityType: string;
|
|
216
|
-
/** Extract the entity id from the tool's args. */
|
|
217
|
-
getEntityId: (args: TArgs) => string | undefined;
|
|
218
|
-
/**
|
|
219
|
-
* Resolve the timestamp the LLM last saw this entity. If omitted or it
|
|
220
|
-
* returns 0, the freshness check is skipped (no baseline to compare).
|
|
221
|
-
*/
|
|
222
|
-
lastSeenAt?: (args: TArgs, options: ToolExecutionOptions) => number | undefined;
|
|
223
|
-
/**
|
|
224
|
-
* Announce that the agent is about to work on this entity before executing.
|
|
225
|
-
* Default true — the agent announces `action: "editing"` automatically.
|
|
226
|
-
*/
|
|
227
|
-
announceOnExecute?: boolean;
|
|
228
|
-
}
|
|
229
|
-
/**
|
|
230
|
-
* The console-backed logger an {@link Agent} uses when the caller does not
|
|
231
|
-
* supply one. It is the same gated factory the `Ablo()` client uses
|
|
232
|
-
* (`createConsoleLogger`), reads its threshold from the `ABLO_LOG_LEVEL`
|
|
233
|
-
* environment variable (default `warn`), and tags each line with `[agent]` so
|
|
234
|
-
* agent-runtime output is easy to spot. The level is resolved when the logger
|
|
235
|
-
* is built rather than at module load, so an `ABLO_LOG_LEVEL` that the host
|
|
236
|
-
* process sets before constructing an Agent is honored.
|
|
237
|
-
*
|
|
238
|
-
* Exported so a unit test can pin the gating behavior; consumers normally pass
|
|
239
|
-
* their own `logger` option instead.
|
|
240
|
-
*/
|
|
241
|
-
export declare function defaultAgentLogger(): SyncLogger;
|
|
242
|
-
export declare class Agent implements PresenceAnnouncer {
|
|
243
|
-
private readonly opts;
|
|
244
|
-
constructor(options: AgentOptions);
|
|
245
|
-
/**
|
|
246
|
-
* Build a long-lived agent session — caches `Ablo({kind:'agent'})`
|
|
247
|
-
* instances per `(org, user, surface, target)` and refreshes capability
|
|
248
|
-
* tokens before TTL elapses. Use on the server when the same agent
|
|
249
|
-
* identity handles many requests.
|
|
250
|
-
*
|
|
251
|
-
* Returns the cache rather than an `Agent` instance: the long-lived path
|
|
252
|
-
* uses `Ablo({kind:'agent'})` over a WebSocket, while the `Agent` class
|
|
253
|
-
* itself is the short-lived REST helper for AI SDK tool loops. The static
|
|
254
|
-
* method lives here so everything agent-related sits under one namespace.
|
|
255
|
-
*
|
|
256
|
-
* ```ts
|
|
257
|
-
* const session = Agent.session({ syncServerUrl, schema, issueToken });
|
|
258
|
-
* const ablo = await session.getAgent({ userId, organizationId, surfaceClass });
|
|
259
|
-
* ```
|
|
260
|
-
*/
|
|
261
|
-
static session: typeof createAgentSession;
|
|
262
|
-
/** The fully-qualified userId used on the wire: `agent:<agentId>`. */
|
|
263
|
-
get userId(): string;
|
|
264
|
-
/**
|
|
265
|
-
* Extract the Agent instance from an AI SDK tool's
|
|
266
|
-
* `experimental_context`. Use it inside a tool's `execute` function to
|
|
267
|
-
* reach the agent without capturing it in a closure.
|
|
268
|
-
*
|
|
269
|
-
* ```ts
|
|
270
|
-
* execute: async (args, { experimental_context }) => {
|
|
271
|
-
* const perception = Agent.fromContext(experimental_context);
|
|
272
|
-
* const check = await perception.checkFreshness('Slide', args.id, lastSeenAt);
|
|
273
|
-
* // ...
|
|
274
|
-
* }
|
|
275
|
-
* ```
|
|
276
|
-
*
|
|
277
|
-
* Throws if the context is missing or doesn't contain an Agent.
|
|
278
|
-
* @param ctx The `experimental_context` passed to the tool.
|
|
279
|
-
* @param toolName Optional tool name for error messages.
|
|
280
|
-
*/
|
|
281
|
-
static fromContext(ctx: unknown, toolName?: string): Agent;
|
|
282
|
-
/**
|
|
283
|
-
* A lenient variant of {@link fromContext} that returns `undefined` instead
|
|
284
|
-
* of throwing when no agent is present in the context. Useful for tools
|
|
285
|
-
* where awareness is optional, such as read-only tools that work without it.
|
|
286
|
-
*/
|
|
287
|
-
static tryFromContext(ctx: unknown): Agent | undefined;
|
|
288
|
-
/**
|
|
289
|
-
* Announce this agent's presence/activity. Fire-and-forget — logs errors
|
|
290
|
-
* but never throws (presence failures must not block the agent loop).
|
|
291
|
-
*
|
|
292
|
-
* If a `announcer` was provided (e.g. a connected SyncAgent), routes
|
|
293
|
-
* through it to reuse the WebSocket. Otherwise falls back to REST POST.
|
|
294
|
-
*/
|
|
295
|
-
announce(status: 'online' | 'away' | 'offline', activity?: Activity): Promise<void>;
|
|
296
|
-
/**
|
|
297
|
-
* Gather a snapshot of current activity by peers and format it as
|
|
298
|
-
* natural-language context for injection into the next LLM prompt.
|
|
299
|
-
*/
|
|
300
|
-
gather(options?: GatherOptions): Promise<GatherResult>;
|
|
301
|
-
/**
|
|
302
|
-
* Check if an entity was modified since `lastSeenAt`. Use before
|
|
303
|
-
* executing a mutation to detect stale state.
|
|
304
|
-
*
|
|
305
|
-
* Returns `{ stale: true, summary }` when the entity changed — feed
|
|
306
|
-
* `summary` back to the LLM as a tool result so it can adjust its plan.
|
|
307
|
-
*/
|
|
308
|
-
checkFreshness(entityType: string, entityId: string, lastSeenAt: number): Promise<FreshnessCheck>;
|
|
309
|
-
/**
|
|
310
|
-
* Pull the org's presence, filter to claims targeting the given
|
|
311
|
-
* entity (self-claims excluded). Advisory — returns empty on any
|
|
312
|
-
* error so `checkFreshness` stays usable when the presence endpoint
|
|
313
|
-
* is down. Case-insensitive match on entityType + entityId to absorb
|
|
314
|
-
* PascalCase / lowercase divergence.
|
|
315
|
-
*/
|
|
316
|
-
private fetchPendingClaimsFor;
|
|
317
|
-
/**
|
|
318
|
-
* Build a `prepareStep` hook for AI SDK's generateText / streamText /
|
|
319
|
-
* ToolLoopAgent. Called before each step — injects a system message
|
|
320
|
-
* summarizing what other agents are doing right now.
|
|
321
|
-
*
|
|
322
|
-
* ```ts
|
|
323
|
-
* const result = await generateText({
|
|
324
|
-
* // ...
|
|
325
|
-
* prepareStep: perception.prepareStep({ maxChars: 1500 }),
|
|
326
|
-
* });
|
|
327
|
-
* ```
|
|
328
|
-
*/
|
|
329
|
-
prepareStep<M extends AgentMessage = AgentMessage>(options?: PrepareStepOptions): (ctx: PrepareStepContext<M>) => Promise<PrepareStepResult<M> | undefined>;
|
|
330
|
-
/**
|
|
331
|
-
* Build an `onStepFinish` hook for AI SDK. Called after each step —
|
|
332
|
-
* announces the agent's activity based on the tool calls that just ran.
|
|
333
|
-
*
|
|
334
|
-
* ```ts
|
|
335
|
-
* const result = await generateText({
|
|
336
|
-
* // ...
|
|
337
|
-
* onStepFinish: perception.onStepFinish(),
|
|
338
|
-
* });
|
|
339
|
-
* ```
|
|
340
|
-
*/
|
|
341
|
-
onStepFinish(options?: OnStepFinishOptions): (ctx: StepFinishContext) => Promise<void>;
|
|
342
|
-
/**
|
|
343
|
-
* Wrap an AI SDK tool to check entity freshness before executing. If the
|
|
344
|
-
* entity was modified by another actor since the LLM last saw it, returns
|
|
345
|
-
* a diff summary as the tool result instead of executing — the LLM adjusts
|
|
346
|
-
* its plan rather than blindly overwriting.
|
|
347
|
-
*
|
|
348
|
-
* ```ts
|
|
349
|
-
* tools: {
|
|
350
|
-
* updateSlide: perception.wrapTool(
|
|
351
|
-
* tool({ inputSchema: ..., execute: ... }),
|
|
352
|
-
* { entityType: 'Slide', getEntityId: (args) => args.id },
|
|
353
|
-
* ),
|
|
354
|
-
* }
|
|
355
|
-
* ```
|
|
356
|
-
*/
|
|
357
|
-
wrapTool<TArgs, TResult, TTool extends AgentTool<TArgs, TResult>>(originalTool: TTool, config: WrapToolOptions<TArgs>): TTool;
|
|
358
|
-
private fetchPresence;
|
|
359
|
-
private formatPrompt;
|
|
360
|
-
private request;
|
|
361
|
-
}
|
|
362
|
-
export declare namespace Agent {
|
|
363
|
-
type Options = AgentOptions;
|
|
364
|
-
type Context = AgentContext;
|
|
365
|
-
type SessionOptions = import('./session.js').AgentSessionOptions;
|
|
366
|
-
}
|