happy2 0.0.12 → 0.0.13
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/package.json +2 -2
- package/packages/happy2-server/PLUGINS.md +99 -11
- package/packages/happy2-server/README.md +8 -7
- package/packages/happy2-server/dist/index.d.ts +2 -1
- package/packages/happy2-server/dist/index.d.ts.map +1 -1
- package/packages/happy2-server/dist/index.js +1 -0
- package/packages/happy2-server/dist/index.js.map +1 -1
- package/packages/happy2-server/dist/modules/agent/agentChatBind.d.ts +1 -0
- package/packages/happy2-server/dist/modules/agent/agentChatBind.d.ts.map +1 -1
- package/packages/happy2-server/dist/modules/agent/agentChatBind.js +4 -0
- package/packages/happy2-server/dist/modules/agent/agentChatBind.js.map +1 -1
- package/packages/happy2-server/dist/modules/agent/agentChatGetContext.d.ts.map +1 -1
- package/packages/happy2-server/dist/modules/agent/agentChatGetContext.js +3 -1
- package/packages/happy2-server/dist/modules/agent/agentChatGetContext.js.map +1 -1
- package/packages/happy2-server/dist/modules/agent/agentChatGetIdBySession.d.ts +7 -0
- package/packages/happy2-server/dist/modules/agent/agentChatGetIdBySession.d.ts.map +1 -0
- package/packages/happy2-server/dist/modules/agent/agentChatGetIdBySession.js +15 -0
- package/packages/happy2-server/dist/modules/agent/agentChatGetIdBySession.js.map +1 -0
- package/packages/happy2-server/dist/modules/agent/agentCreate.d.ts.map +1 -1
- package/packages/happy2-server/dist/modules/agent/agentCreate.js +1 -0
- package/packages/happy2-server/dist/modules/agent/agentCreate.js.map +1 -1
- package/packages/happy2-server/dist/modules/agent/agentEffortBindingList.d.ts +4 -2
- package/packages/happy2-server/dist/modules/agent/agentEffortBindingList.d.ts.map +1 -1
- package/packages/happy2-server/dist/modules/agent/agentEffortBindingList.js +8 -8
- package/packages/happy2-server/dist/modules/agent/agentEffortBindingList.js.map +1 -1
- package/packages/happy2-server/dist/modules/agent/agentEffortGetContext.d.ts +3 -3
- package/packages/happy2-server/dist/modules/agent/agentEffortGetContext.d.ts.map +1 -1
- package/packages/happy2-server/dist/modules/agent/agentEffortGetContext.js +4 -4
- package/packages/happy2-server/dist/modules/agent/agentEffortGetContext.js.map +1 -1
- package/packages/happy2-server/dist/modules/agent/agentEffortUpdate.d.ts +4 -4
- package/packages/happy2-server/dist/modules/agent/agentEffortUpdate.d.ts.map +1 -1
- package/packages/happy2-server/dist/modules/agent/agentEffortUpdate.js +57 -41
- package/packages/happy2-server/dist/modules/agent/agentEffortUpdate.js.map +1 -1
- package/packages/happy2-server/dist/modules/agent/agentImageCommitChange.d.ts +1 -1
- package/packages/happy2-server/dist/modules/agent/agentImageCommitChange.js +3 -3
- package/packages/happy2-server/dist/modules/agent/agentImageCommitChange.js.map +1 -1
- package/packages/happy2-server/dist/modules/agent/agentImageCreate.d.ts +1 -1
- package/packages/happy2-server/dist/modules/agent/agentImageCreate.js +3 -3
- package/packages/happy2-server/dist/modules/agent/agentImageCreate.js.map +1 -1
- package/packages/happy2-server/dist/modules/agent/agentImageGet.d.ts +1 -1
- package/packages/happy2-server/dist/modules/agent/agentImageGet.js +3 -3
- package/packages/happy2-server/dist/modules/agent/agentImageGet.js.map +1 -1
- package/packages/happy2-server/dist/modules/agent/agentImageGetChangeContext.d.ts +2 -1
- package/packages/happy2-server/dist/modules/agent/agentImageGetChangeContext.d.ts.map +1 -1
- package/packages/happy2-server/dist/modules/agent/agentImageGetChangeContext.js +11 -4
- package/packages/happy2-server/dist/modules/agent/agentImageGetChangeContext.js.map +1 -1
- package/packages/happy2-server/dist/modules/agent/agentImageList.d.ts +2 -2
- package/packages/happy2-server/dist/modules/agent/agentImageList.d.ts.map +1 -1
- package/packages/happy2-server/dist/modules/agent/agentImageList.js +8 -4
- package/packages/happy2-server/dist/modules/agent/agentImageList.js.map +1 -1
- package/packages/happy2-server/dist/modules/agent/agentImageRequestBuild.d.ts +1 -1
- package/packages/happy2-server/dist/modules/agent/agentImageRequestBuild.js +3 -3
- package/packages/happy2-server/dist/modules/agent/agentImageRequestBuild.js.map +1 -1
- package/packages/happy2-server/dist/modules/agent/agentImageSetDefault.d.ts +1 -1
- package/packages/happy2-server/dist/modules/agent/agentImageSetDefault.js +3 -3
- package/packages/happy2-server/dist/modules/agent/agentImageSetDefault.js.map +1 -1
- package/packages/happy2-server/dist/modules/agent/agentSecretAssignmentDelete.d.ts +1 -1
- package/packages/happy2-server/dist/modules/agent/agentSecretAssignmentDelete.js +3 -3
- package/packages/happy2-server/dist/modules/agent/agentSecretAssignmentDelete.js.map +1 -1
- package/packages/happy2-server/dist/modules/agent/agentSecretAssignmentList.d.ts +1 -1
- package/packages/happy2-server/dist/modules/agent/agentSecretAssignmentList.js +3 -3
- package/packages/happy2-server/dist/modules/agent/agentSecretAssignmentList.js.map +1 -1
- package/packages/happy2-server/dist/modules/agent/agentSecretAttachToAgent.d.ts +1 -1
- package/packages/happy2-server/dist/modules/agent/agentSecretAttachToAgent.js +3 -3
- package/packages/happy2-server/dist/modules/agent/agentSecretAttachToAgent.js.map +1 -1
- package/packages/happy2-server/dist/modules/agent/agentSecretAttachToChannel.d.ts +1 -1
- package/packages/happy2-server/dist/modules/agent/agentSecretAttachToChannel.js +3 -3
- package/packages/happy2-server/dist/modules/agent/agentSecretAttachToChannel.js.map +1 -1
- package/packages/happy2-server/dist/modules/agent/agentSecretAuthorizeManagement.d.ts +4 -3
- package/packages/happy2-server/dist/modules/agent/agentSecretAuthorizeManagement.d.ts.map +1 -1
- package/packages/happy2-server/dist/modules/agent/agentSecretAuthorizeManagement.js +5 -5
- package/packages/happy2-server/dist/modules/agent/agentSecretAuthorizeManagement.js.map +1 -1
- package/packages/happy2-server/dist/modules/agent/agentSecretDetachFromAgent.d.ts +1 -1
- package/packages/happy2-server/dist/modules/agent/agentSecretDetachFromAgent.js +3 -3
- package/packages/happy2-server/dist/modules/agent/agentSecretDetachFromAgent.js.map +1 -1
- package/packages/happy2-server/dist/modules/agent/agentSecretDetachFromChannel.d.ts +2 -2
- package/packages/happy2-server/dist/modules/agent/agentSecretDetachFromChannel.js +4 -4
- package/packages/happy2-server/dist/modules/agent/agentSecretDetachFromChannel.js.map +1 -1
- package/packages/happy2-server/dist/modules/agent/agentSecretRecordRegistration.d.ts +1 -1
- package/packages/happy2-server/dist/modules/agent/agentSecretRecordRegistration.js +3 -3
- package/packages/happy2-server/dist/modules/agent/agentSecretRecordRegistration.js.map +1 -1
- package/packages/happy2-server/dist/modules/agent/agentTurnStreamReply.d.ts +4 -0
- package/packages/happy2-server/dist/modules/agent/agentTurnStreamReply.d.ts.map +1 -1
- package/packages/happy2-server/dist/modules/agent/agentTurnStreamReply.js +207 -9
- package/packages/happy2-server/dist/modules/agent/agentTurnStreamReply.js.map +1 -1
- package/packages/happy2-server/dist/modules/agent/agentTurnTraceGet.d.ts +8 -0
- package/packages/happy2-server/dist/modules/agent/agentTurnTraceGet.d.ts.map +1 -0
- package/packages/happy2-server/dist/modules/agent/agentTurnTraceGet.js +86 -0
- package/packages/happy2-server/dist/modules/agent/agentTurnTraceGet.js.map +1 -0
- package/packages/happy2-server/dist/modules/agent/agentTurnTraceStart.d.ts +19 -0
- package/packages/happy2-server/dist/modules/agent/agentTurnTraceStart.d.ts.map +1 -0
- package/packages/happy2-server/dist/modules/agent/agentTurnTraceStart.js +87 -0
- package/packages/happy2-server/dist/modules/agent/agentTurnTraceStart.js.map +1 -0
- package/packages/happy2-server/dist/modules/agent/impl/agentChatContext.d.ts +2 -1
- package/packages/happy2-server/dist/modules/agent/impl/agentChatContext.d.ts.map +1 -1
- package/packages/happy2-server/dist/modules/agent/impl/agentEffortContext.d.ts +4 -1
- package/packages/happy2-server/dist/modules/agent/impl/agentEffortContext.d.ts.map +1 -1
- package/packages/happy2-server/dist/modules/agent/impl/agentEffortContextDb.d.ts +3 -3
- package/packages/happy2-server/dist/modules/agent/impl/agentEffortContextDb.d.ts.map +1 -1
- package/packages/happy2-server/dist/modules/agent/impl/agentEffortContextDb.js +26 -40
- package/packages/happy2-server/dist/modules/agent/impl/agentEffortContextDb.js.map +1 -1
- package/packages/happy2-server/dist/modules/agent/impl/finishAgentTurn.d.ts.map +1 -1
- package/packages/happy2-server/dist/modules/agent/impl/finishAgentTurn.js +63 -2
- package/packages/happy2-server/dist/modules/agent/impl/finishAgentTurn.js.map +1 -1
- package/packages/happy2-server/dist/modules/agent/types.d.ts +53 -0
- package/packages/happy2-server/dist/modules/agent/types.d.ts.map +1 -1
- package/packages/happy2-server/dist/modules/agents/daemon.d.ts +31 -2
- package/packages/happy2-server/dist/modules/agents/daemon.d.ts.map +1 -1
- package/packages/happy2-server/dist/modules/agents/daemon.js +12 -2
- package/packages/happy2-server/dist/modules/agents/daemon.js.map +1 -1
- package/packages/happy2-server/dist/modules/agents/service.d.ts +13 -6
- package/packages/happy2-server/dist/modules/agents/service.d.ts.map +1 -1
- package/packages/happy2-server/dist/modules/agents/service.js +497 -49
- package/packages/happy2-server/dist/modules/agents/service.js.map +1 -1
- package/packages/happy2-server/dist/modules/auth/developmentTokenCreate.d.ts +12 -0
- package/packages/happy2-server/dist/modules/auth/developmentTokenCreate.d.ts.map +1 -0
- package/packages/happy2-server/dist/modules/auth/developmentTokenCreate.js +27 -0
- package/packages/happy2-server/dist/modules/auth/developmentTokenCreate.js.map +1 -0
- package/packages/happy2-server/dist/modules/auth/developmentTokenFindActive.d.ts +8 -0
- package/packages/happy2-server/dist/modules/auth/developmentTokenFindActive.d.ts.map +1 -0
- package/packages/happy2-server/dist/modules/auth/developmentTokenFindActive.js +22 -0
- package/packages/happy2-server/dist/modules/auth/developmentTokenFindActive.js.map +1 -0
- package/packages/happy2-server/dist/modules/auth/methods.d.ts +1 -0
- package/packages/happy2-server/dist/modules/auth/methods.d.ts.map +1 -1
- package/packages/happy2-server/dist/modules/auth/methods.js +10 -6
- package/packages/happy2-server/dist/modules/auth/methods.js.map +1 -1
- package/packages/happy2-server/dist/modules/auth/service.d.ts +2 -0
- package/packages/happy2-server/dist/modules/auth/service.d.ts.map +1 -1
- package/packages/happy2-server/dist/modules/auth/service.js +26 -0
- package/packages/happy2-server/dist/modules/auth/service.js.map +1 -1
- package/packages/happy2-server/dist/modules/auth/tokens.d.ts +6 -0
- package/packages/happy2-server/dist/modules/auth/tokens.d.ts.map +1 -1
- package/packages/happy2-server/dist/modules/auth/tokens.js +26 -0
- package/packages/happy2-server/dist/modules/auth/tokens.js.map +1 -1
- package/packages/happy2-server/dist/modules/auth/tokens.test.js +20 -0
- package/packages/happy2-server/dist/modules/auth/tokens.test.js.map +1 -1
- package/packages/happy2-server/dist/modules/chat/asAgentTurnTrace.d.ts +17 -0
- package/packages/happy2-server/dist/modules/chat/asAgentTurnTrace.d.ts.map +1 -0
- package/packages/happy2-server/dist/modules/chat/asAgentTurnTrace.js +98 -0
- package/packages/happy2-server/dist/modules/chat/asAgentTurnTrace.js.map +1 -0
- package/packages/happy2-server/dist/modules/chat/asServiceMessage.d.ts.map +1 -1
- package/packages/happy2-server/dist/modules/chat/asServiceMessage.js +13 -5
- package/packages/happy2-server/dist/modules/chat/asServiceMessage.js.map +1 -1
- package/packages/happy2-server/dist/modules/chat/chatUpdateMetadata.d.ts +20 -0
- package/packages/happy2-server/dist/modules/chat/chatUpdateMetadata.d.ts.map +1 -0
- package/packages/happy2-server/dist/modules/chat/chatUpdateMetadata.js +38 -0
- package/packages/happy2-server/dist/modules/chat/chatUpdateMetadata.js.map +1 -0
- package/packages/happy2-server/dist/modules/chat/types.d.ts +6 -0
- package/packages/happy2-server/dist/modules/chat/types.d.ts.map +1 -1
- package/packages/happy2-server/dist/modules/chat/types.js.map +1 -1
- package/packages/happy2-server/dist/modules/chat/userRequireActiveHuman.d.ts +7 -0
- package/packages/happy2-server/dist/modules/chat/userRequireActiveHuman.d.ts.map +1 -0
- package/packages/happy2-server/dist/modules/chat/userRequireActiveHuman.js +19 -0
- package/packages/happy2-server/dist/modules/chat/userRequireActiveHuman.js.map +1 -0
- package/packages/happy2-server/dist/modules/chat/userRequireServerAdmin.d.ts +2 -2
- package/packages/happy2-server/dist/modules/chat/userRequireServerAdmin.d.ts.map +1 -1
- package/packages/happy2-server/dist/modules/chat/userRequireServerAdmin.js +8 -5
- package/packages/happy2-server/dist/modules/chat/userRequireServerAdmin.js.map +1 -1
- package/packages/happy2-server/dist/modules/config/defaults.d.ts.map +1 -1
- package/packages/happy2-server/dist/modules/config/defaults.js +1 -0
- package/packages/happy2-server/dist/modules/config/defaults.js.map +1 -1
- package/packages/happy2-server/dist/modules/config/defaults.test.js +1 -0
- package/packages/happy2-server/dist/modules/config/defaults.test.js.map +1 -1
- package/packages/happy2-server/dist/modules/config/loader.d.ts.map +1 -1
- package/packages/happy2-server/dist/modules/config/loader.js +4 -0
- package/packages/happy2-server/dist/modules/config/loader.js.map +1 -1
- package/packages/happy2-server/dist/modules/config/loader.test.js +12 -0
- package/packages/happy2-server/dist/modules/config/loader.test.js.map +1 -1
- package/packages/happy2-server/dist/modules/config/type.d.ts +3 -0
- package/packages/happy2-server/dist/modules/config/type.d.ts.map +1 -1
- package/packages/happy2-server/dist/modules/message/messageGetProjection.d.ts.map +1 -1
- package/packages/happy2-server/dist/modules/message/messageGetProjection.js +28 -0
- package/packages/happy2-server/dist/modules/message/messageGetProjection.js.map +1 -1
- package/packages/happy2-server/dist/modules/permission/impl/permissionEffectiveDb.d.ts +4 -0
- package/packages/happy2-server/dist/modules/permission/impl/permissionEffectiveDb.d.ts.map +1 -0
- package/packages/happy2-server/dist/modules/permission/impl/permissionEffectiveDb.js +39 -0
- package/packages/happy2-server/dist/modules/permission/impl/permissionEffectiveDb.js.map +1 -0
- package/packages/happy2-server/dist/modules/permission/impl/permissionMutationRecord.d.ts +10 -0
- package/packages/happy2-server/dist/modules/permission/impl/permissionMutationRecord.d.ts.map +1 -0
- package/packages/happy2-server/dist/modules/permission/impl/permissionMutationRecord.js +31 -0
- package/packages/happy2-server/dist/modules/permission/impl/permissionMutationRecord.js.map +1 -0
- package/packages/happy2-server/dist/modules/permission/permissionGetEffective.d.ts +8 -0
- package/packages/happy2-server/dist/modules/permission/permissionGetEffective.d.ts.map +1 -0
- package/packages/happy2-server/dist/modules/permission/permissionGetEffective.js +13 -0
- package/packages/happy2-server/dist/modules/permission/permissionGetEffective.js.map +1 -0
- package/packages/happy2-server/dist/modules/permission/roleCreate.d.ts +16 -0
- package/packages/happy2-server/dist/modules/permission/roleCreate.d.ts.map +1 -0
- package/packages/happy2-server/dist/modules/permission/roleCreate.js +70 -0
- package/packages/happy2-server/dist/modules/permission/roleCreate.js.map +1 -0
- package/packages/happy2-server/dist/modules/permission/roleDelete.d.ts +11 -0
- package/packages/happy2-server/dist/modules/permission/roleDelete.d.ts.map +1 -0
- package/packages/happy2-server/dist/modules/permission/roleDelete.js +41 -0
- package/packages/happy2-server/dist/modules/permission/roleDelete.js.map +1 -0
- package/packages/happy2-server/dist/modules/permission/roleList.d.ts +8 -0
- package/packages/happy2-server/dist/modules/permission/roleList.d.ts.map +1 -0
- package/packages/happy2-server/dist/modules/permission/roleList.js +36 -0
- package/packages/happy2-server/dist/modules/permission/roleList.js.map +1 -0
- package/packages/happy2-server/dist/modules/permission/roleUpdate.d.ts +14 -0
- package/packages/happy2-server/dist/modules/permission/roleUpdate.d.ts.map +1 -0
- package/packages/happy2-server/dist/modules/permission/roleUpdate.js +78 -0
- package/packages/happy2-server/dist/modules/permission/roleUpdate.js.map +1 -0
- package/packages/happy2-server/dist/modules/permission/types.d.ts +24 -0
- package/packages/happy2-server/dist/modules/permission/types.d.ts.map +1 -0
- package/packages/happy2-server/dist/modules/permission/types.js +10 -0
- package/packages/happy2-server/dist/modules/permission/types.js.map +1 -0
- package/packages/happy2-server/dist/modules/permission/userPermissionGet.d.ts +16 -0
- package/packages/happy2-server/dist/modules/permission/userPermissionGet.d.ts.map +1 -0
- package/packages/happy2-server/dist/modules/permission/userPermissionGet.js +33 -0
- package/packages/happy2-server/dist/modules/permission/userPermissionGet.js.map +1 -0
- package/packages/happy2-server/dist/modules/permission/userPermissionUpdate.d.ts +12 -0
- package/packages/happy2-server/dist/modules/permission/userPermissionUpdate.d.ts.map +1 -0
- package/packages/happy2-server/dist/modules/permission/userPermissionUpdate.js +44 -0
- package/packages/happy2-server/dist/modules/permission/userPermissionUpdate.js.map +1 -0
- package/packages/happy2-server/dist/modules/permission/userRequireAnyPermission.d.ts +8 -0
- package/packages/happy2-server/dist/modules/permission/userRequireAnyPermission.d.ts.map +1 -0
- package/packages/happy2-server/dist/modules/permission/userRequireAnyPermission.js +12 -0
- package/packages/happy2-server/dist/modules/permission/userRequireAnyPermission.js.map +1 -0
- package/packages/happy2-server/dist/modules/permission/userRequirePermission.d.ts +8 -0
- package/packages/happy2-server/dist/modules/permission/userRequirePermission.d.ts.map +1 -0
- package/packages/happy2-server/dist/modules/permission/userRequirePermission.js +12 -0
- package/packages/happy2-server/dist/modules/permission/userRequirePermission.js.map +1 -0
- package/packages/happy2-server/dist/modules/permission/userRoleAssign.d.ts +12 -0
- package/packages/happy2-server/dist/modules/permission/userRoleAssign.d.ts.map +1 -0
- package/packages/happy2-server/dist/modules/permission/userRoleAssign.js +46 -0
- package/packages/happy2-server/dist/modules/permission/userRoleAssign.js.map +1 -0
- package/packages/happy2-server/dist/modules/permission/userRoleUnassign.d.ts +12 -0
- package/packages/happy2-server/dist/modules/permission/userRoleUnassign.d.ts.map +1 -0
- package/packages/happy2-server/dist/modules/permission/userRoleUnassign.js +53 -0
- package/packages/happy2-server/dist/modules/permission/userRoleUnassign.js.map +1 -0
- package/packages/happy2-server/dist/modules/plugin/archive.d.ts +7 -0
- package/packages/happy2-server/dist/modules/plugin/archive.d.ts.map +1 -0
- package/packages/happy2-server/dist/modules/plugin/archive.js +222 -0
- package/packages/happy2-server/dist/modules/plugin/archive.js.map +1 -0
- package/packages/happy2-server/dist/modules/plugin/catalog.d.ts +5 -1
- package/packages/happy2-server/dist/modules/plugin/catalog.d.ts.map +1 -1
- package/packages/happy2-server/dist/modules/plugin/catalog.js +33 -14
- package/packages/happy2-server/dist/modules/plugin/catalog.js.map +1 -1
- package/packages/happy2-server/dist/modules/plugin/catalog.test.js +6 -2
- package/packages/happy2-server/dist/modules/plugin/catalog.test.js.map +1 -1
- package/packages/happy2-server/dist/modules/plugin/httpBridge.d.ts +1 -0
- package/packages/happy2-server/dist/modules/plugin/httpBridge.d.ts.map +1 -1
- package/packages/happy2-server/dist/modules/plugin/httpBridge.js +7 -0
- package/packages/happy2-server/dist/modules/plugin/httpBridge.js.map +1 -1
- package/packages/happy2-server/dist/modules/plugin/impl/asInstallation.d.ts.map +1 -1
- package/packages/happy2-server/dist/modules/plugin/impl/asInstallation.js +3 -2
- package/packages/happy2-server/dist/modules/plugin/impl/asInstallation.js.map +1 -1
- package/packages/happy2-server/dist/modules/plugin/impl/asPlugin.d.ts.map +1 -1
- package/packages/happy2-server/dist/modules/plugin/impl/asPlugin.js +3 -2
- package/packages/happy2-server/dist/modules/plugin/impl/asPlugin.js.map +1 -1
- package/packages/happy2-server/dist/modules/plugin/impl/installedManifest.js +1 -1
- package/packages/happy2-server/dist/modules/plugin/impl/installedManifest.js.map +1 -1
- package/packages/happy2-server/dist/modules/plugin/impl/pluginSkillSource.d.ts +11 -0
- package/packages/happy2-server/dist/modules/plugin/impl/pluginSkillSource.d.ts.map +1 -0
- package/packages/happy2-server/dist/modules/plugin/impl/pluginSkillSource.js +2 -0
- package/packages/happy2-server/dist/modules/plugin/impl/pluginSkillSource.js.map +1 -0
- package/packages/happy2-server/dist/modules/plugin/packageStore.d.ts +13 -0
- package/packages/happy2-server/dist/modules/plugin/packageStore.d.ts.map +1 -1
- package/packages/happy2-server/dist/modules/plugin/packageStore.js +122 -14
- package/packages/happy2-server/dist/modules/plugin/packageStore.js.map +1 -1
- package/packages/happy2-server/dist/modules/plugin/pluginAuthorizeManagement.d.ts +1 -1
- package/packages/happy2-server/dist/modules/plugin/pluginAuthorizeManagement.js +3 -3
- package/packages/happy2-server/dist/modules/plugin/pluginAuthorizeManagement.js.map +1 -1
- package/packages/happy2-server/dist/modules/plugin/pluginFindBySource.d.ts +3 -1
- package/packages/happy2-server/dist/modules/plugin/pluginFindBySource.d.ts.map +1 -1
- package/packages/happy2-server/dist/modules/plugin/pluginFindBySource.js +1 -1
- package/packages/happy2-server/dist/modules/plugin/pluginFindBySource.js.map +1 -1
- package/packages/happy2-server/dist/modules/plugin/pluginGetImage.d.ts +1 -1
- package/packages/happy2-server/dist/modules/plugin/pluginGetImage.js +3 -3
- package/packages/happy2-server/dist/modules/plugin/pluginGetImage.js.map +1 -1
- package/packages/happy2-server/dist/modules/plugin/pluginGetSource.d.ts +13 -0
- package/packages/happy2-server/dist/modules/plugin/pluginGetSource.d.ts.map +1 -0
- package/packages/happy2-server/dist/modules/plugin/pluginGetSource.js +37 -0
- package/packages/happy2-server/dist/modules/plugin/pluginGetSource.js.map +1 -0
- package/packages/happy2-server/dist/modules/plugin/pluginInstall.d.ts.map +1 -1
- package/packages/happy2-server/dist/modules/plugin/pluginInstall.js +18 -4
- package/packages/happy2-server/dist/modules/plugin/pluginInstall.js.map +1 -1
- package/packages/happy2-server/dist/modules/plugin/pluginInstallationList.d.ts +1 -1
- package/packages/happy2-server/dist/modules/plugin/pluginInstallationList.js +3 -3
- package/packages/happy2-server/dist/modules/plugin/pluginInstallationList.js.map +1 -1
- package/packages/happy2-server/dist/modules/plugin/pluginList.d.ts +1 -1
- package/packages/happy2-server/dist/modules/plugin/pluginList.js +3 -3
- package/packages/happy2-server/dist/modules/plugin/pluginList.js.map +1 -1
- package/packages/happy2-server/dist/modules/plugin/pluginSkillsListInstalled.d.ts +8 -0
- package/packages/happy2-server/dist/modules/plugin/pluginSkillsListInstalled.d.ts.map +1 -0
- package/packages/happy2-server/dist/modules/plugin/pluginSkillsListInstalled.js +24 -0
- package/packages/happy2-server/dist/modules/plugin/pluginSkillsListInstalled.js.map +1 -0
- package/packages/happy2-server/dist/modules/plugin/pluginSkillsListReady.d.ts +8 -0
- package/packages/happy2-server/dist/modules/plugin/pluginSkillsListReady.d.ts.map +1 -0
- package/packages/happy2-server/dist/modules/plugin/pluginSkillsListReady.js +25 -0
- package/packages/happy2-server/dist/modules/plugin/pluginSkillsListReady.js.map +1 -0
- package/packages/happy2-server/dist/modules/plugin/pluginUninstall.d.ts +13 -0
- package/packages/happy2-server/dist/modules/plugin/pluginUninstall.d.ts.map +1 -0
- package/packages/happy2-server/dist/modules/plugin/pluginUninstall.js +63 -0
- package/packages/happy2-server/dist/modules/plugin/pluginUninstall.js.map +1 -0
- package/packages/happy2-server/dist/modules/plugin/runtime.d.ts +1 -0
- package/packages/happy2-server/dist/modules/plugin/runtime.d.ts.map +1 -1
- package/packages/happy2-server/dist/modules/plugin/runtime.js +1 -0
- package/packages/happy2-server/dist/modules/plugin/runtime.js.map +1 -1
- package/packages/happy2-server/dist/modules/plugin/service.d.ts +54 -3
- package/packages/happy2-server/dist/modules/plugin/service.d.ts.map +1 -1
- package/packages/happy2-server/dist/modules/plugin/service.js +339 -6
- package/packages/happy2-server/dist/modules/plugin/service.js.map +1 -1
- package/packages/happy2-server/dist/modules/plugin/source.d.ts +35 -0
- package/packages/happy2-server/dist/modules/plugin/source.d.ts.map +1 -0
- package/packages/happy2-server/dist/modules/plugin/source.js +189 -0
- package/packages/happy2-server/dist/modules/plugin/source.js.map +1 -0
- package/packages/happy2-server/dist/modules/plugin/types.d.ts +48 -9
- package/packages/happy2-server/dist/modules/plugin/types.d.ts.map +1 -1
- package/packages/happy2-server/dist/modules/plugin/types.js.map +1 -1
- package/packages/happy2-server/dist/modules/realtime/events.d.ts +3 -0
- package/packages/happy2-server/dist/modules/realtime/events.d.ts.map +1 -1
- package/packages/happy2-server/dist/modules/realtime/events.js +37 -5
- package/packages/happy2-server/dist/modules/realtime/events.js.map +1 -1
- package/packages/happy2-server/dist/modules/realtime/local.test.js +2 -0
- package/packages/happy2-server/dist/modules/realtime/local.test.js.map +1 -1
- package/packages/happy2-server/dist/modules/sandbox/localOciSandboxProvider.d.ts.map +1 -1
- package/packages/happy2-server/dist/modules/sandbox/localOciSandboxProvider.js +4 -2
- package/packages/happy2-server/dist/modules/sandbox/localOciSandboxProvider.js.map +1 -1
- package/packages/happy2-server/dist/modules/sandbox/localOciSandboxProvider.test.js +4 -1
- package/packages/happy2-server/dist/modules/sandbox/localOciSandboxProvider.test.js.map +1 -1
- package/packages/happy2-server/dist/modules/sandbox/types.d.ts +1 -0
- package/packages/happy2-server/dist/modules/sandbox/types.d.ts.map +1 -1
- package/packages/happy2-server/dist/modules/schema.d.ts +1949 -331
- package/packages/happy2-server/dist/modules/schema.d.ts.map +1 -1
- package/packages/happy2-server/dist/modules/schema.js +105 -0
- package/packages/happy2-server/dist/modules/schema.js.map +1 -1
- package/packages/happy2-server/dist/modules/sync/syncGetDifference.d.ts.map +1 -1
- package/packages/happy2-server/dist/modules/sync/syncGetDifference.js +2 -0
- package/packages/happy2-server/dist/modules/sync/syncGetDifference.js.map +1 -1
- package/packages/happy2-server/dist/modules/user/userAdministrationList.js +2 -2
- package/packages/happy2-server/dist/modules/user/userAdministrationList.js.map +1 -1
- package/packages/happy2-server/dist/modules/user/userAdministrationUpdate.d.ts.map +1 -1
- package/packages/happy2-server/dist/modules/user/userAdministrationUpdate.js +49 -6
- package/packages/happy2-server/dist/modules/user/userAdministrationUpdate.js.map +1 -1
- package/packages/happy2-server/dist/modules/user/userCreateProfile.d.ts.map +1 -1
- package/packages/happy2-server/dist/modules/user/userCreateProfile.js +17 -2
- package/packages/happy2-server/dist/modules/user/userCreateProfile.js.map +1 -1
- package/packages/happy2-server/dist/routes/agents.d.ts.map +1 -1
- package/packages/happy2-server/dist/routes/agents.js +4 -2
- package/packages/happy2-server/dist/routes/agents.js.map +1 -1
- package/packages/happy2-server/dist/routes/auth.d.ts.map +1 -1
- package/packages/happy2-server/dist/routes/auth.js +12 -0
- package/packages/happy2-server/dist/routes/auth.js.map +1 -1
- package/packages/happy2-server/dist/routes/collaboration.d.ts.map +1 -1
- package/packages/happy2-server/dist/routes/collaboration.js +7 -0
- package/packages/happy2-server/dist/routes/collaboration.js.map +1 -1
- package/packages/happy2-server/dist/routes/files.d.ts.map +1 -1
- package/packages/happy2-server/dist/routes/files.js +2 -0
- package/packages/happy2-server/dist/routes/files.js.map +1 -1
- package/packages/happy2-server/dist/routes/permissions.d.ts +6 -0
- package/packages/happy2-server/dist/routes/permissions.d.ts.map +1 -0
- package/packages/happy2-server/dist/routes/permissions.js +207 -0
- package/packages/happy2-server/dist/routes/permissions.js.map +1 -0
- package/packages/happy2-server/dist/routes/pluginHost.d.ts.map +1 -1
- package/packages/happy2-server/dist/routes/pluginHost.js +70 -1
- package/packages/happy2-server/dist/routes/pluginHost.js.map +1 -1
- package/packages/happy2-server/dist/routes/plugins.d.ts.map +1 -1
- package/packages/happy2-server/dist/routes/plugins.js +147 -5
- package/packages/happy2-server/dist/routes/plugins.js.map +1 -1
- package/packages/happy2-server/dist/server.d.ts +2 -0
- package/packages/happy2-server/dist/server.d.ts.map +1 -1
- package/packages/happy2-server/dist/server.js +4 -1
- package/packages/happy2-server/dist/server.js.map +1 -1
- package/packages/happy2-server/dist/web/assets/index-BaPUPGPe.css +2 -0
- package/packages/happy2-server/dist/web/assets/index-BnhFxR3U.js +39 -0
- package/packages/happy2-server/dist/web/index.html +2 -2
- package/packages/happy2-server/drizzle/0023_roles_and_permissions.sql +82 -0
- package/packages/happy2-server/drizzle/0024_session_bound_dev_tokens.sql +11 -0
- package/packages/happy2-server/drizzle/0025_plugin_skills.sql +8 -0
- package/packages/happy2-server/drizzle/0026_agent_turn_traces.sql +35 -0
- package/packages/happy2-server/drizzle/0027_chat_agent_effort.sql +9 -0
- package/packages/happy2-server/drizzle/meta/_journal.json +35 -0
- package/packages/happy2-server/happy2.example.toml +6 -0
- package/packages/happy2-server/plugins/README.md +3 -1
- package/packages/happy2-server/plugins/chat-management/container/Dockerfile +6 -0
- package/packages/happy2-server/plugins/chat-management/plugin.json +17 -0
- package/packages/happy2-server/plugins/chat-management/plugin.png +0 -0
- package/packages/happy2-server/plugins/chat-management/server.mjs +113 -0
- package/packages/happy2-server/dist/web/assets/index-9SGCQLg7.js +0 -46
- package/packages/happy2-server/dist/web/assets/index-DWXBQDJB.css +0 -2
|
@@ -0,0 +1,86 @@
|
|
|
1
|
+
import { and, asc, eq } from "drizzle-orm";
|
|
2
|
+
import { chatGetAccess } from "../chat/chatGetAccess.js";
|
|
3
|
+
import { CollaborationError } from "../chat/types.js";
|
|
4
|
+
import { agentTurnTraceEntries, agentTurns, messages } from "../schema.js";
|
|
5
|
+
import { asAgentTurnTrace } from "../chat/asAgentTurnTrace.js";
|
|
6
|
+
import { messageIsPast } from "../message/messageIsPast.js";
|
|
7
|
+
/**
|
|
8
|
+
* Reads the complete coalesced execution trace linked to one visible assistant message after rechecking chat access and tombstone/expiry state.
|
|
9
|
+
* Keeping trace visibility aligned with its message prevents deleted reasoning and tool details from bypassing the chat-content lifetime while avoiding inflation of every message projection.
|
|
10
|
+
*/
|
|
11
|
+
export async function agentTurnTraceGet(executor, actorUserId, assistantMessageId) {
|
|
12
|
+
const [turn] = await executor
|
|
13
|
+
.select({
|
|
14
|
+
userMessageId: agentTurns.userMessageId,
|
|
15
|
+
agentUserId: agentTurns.agentUserId,
|
|
16
|
+
chatId: agentTurns.chatId,
|
|
17
|
+
status: agentTurns.status,
|
|
18
|
+
startedAt: agentTurns.startedAt,
|
|
19
|
+
completedAt: agentTurns.completedAt,
|
|
20
|
+
traceLatestKind: agentTurns.traceLatestKind,
|
|
21
|
+
traceLatestTitle: agentTurns.traceLatestTitle,
|
|
22
|
+
traceLatestDetail: agentTurns.traceLatestDetail,
|
|
23
|
+
traceLatestAt: agentTurns.traceLatestAt,
|
|
24
|
+
traceEntryCount: agentTurns.traceEntryCount,
|
|
25
|
+
traceSubagentsJson: agentTurns.traceSubagentsJson,
|
|
26
|
+
traceBackgroundTerminalsJson: agentTurns.traceBackgroundTerminalsJson,
|
|
27
|
+
messageDeletedAt: messages.deletedAt,
|
|
28
|
+
messageExpiresAt: messages.expiresAt,
|
|
29
|
+
})
|
|
30
|
+
.from(agentTurns)
|
|
31
|
+
.innerJoin(messages, eq(messages.id, agentTurns.assistantMessageId))
|
|
32
|
+
.where(eq(agentTurns.assistantMessageId, assistantMessageId))
|
|
33
|
+
.limit(1);
|
|
34
|
+
if (!turn ||
|
|
35
|
+
turn.messageDeletedAt !== null ||
|
|
36
|
+
messageIsPast(turn.messageExpiresAt ?? undefined) ||
|
|
37
|
+
!(await chatGetAccess(executor, actorUserId, turn.chatId, false)))
|
|
38
|
+
throw new CollaborationError("not_found", "Agent turn trace was not found");
|
|
39
|
+
const entries = await executor
|
|
40
|
+
.select({
|
|
41
|
+
id: agentTurnTraceEntries.id,
|
|
42
|
+
kind: agentTurnTraceEntries.kind,
|
|
43
|
+
title: agentTurnTraceEntries.title,
|
|
44
|
+
detail: agentTurnTraceEntries.detail,
|
|
45
|
+
status: agentTurnTraceEntries.status,
|
|
46
|
+
occurredAt: agentTurnTraceEntries.occurredAt,
|
|
47
|
+
completedAt: agentTurnTraceEntries.completedAt,
|
|
48
|
+
})
|
|
49
|
+
.from(agentTurnTraceEntries)
|
|
50
|
+
.where(and(eq(agentTurnTraceEntries.userMessageId, turn.userMessageId), eq(agentTurnTraceEntries.agentUserId, turn.agentUserId)))
|
|
51
|
+
.orderBy(asc(agentTurnTraceEntries.occurredAt), asc(agentTurnTraceEntries.createdAt));
|
|
52
|
+
return {
|
|
53
|
+
...asAgentTurnTrace(turn),
|
|
54
|
+
entries: entries.flatMap((entry) => {
|
|
55
|
+
const kind = traceKind(entry.kind);
|
|
56
|
+
const status = traceEntryStatus(entry.status);
|
|
57
|
+
if (!kind || !status)
|
|
58
|
+
return [];
|
|
59
|
+
return [
|
|
60
|
+
{
|
|
61
|
+
id: entry.id,
|
|
62
|
+
kind,
|
|
63
|
+
title: entry.title,
|
|
64
|
+
...(entry.detail ? { detail: entry.detail } : {}),
|
|
65
|
+
status,
|
|
66
|
+
occurredAt: entry.occurredAt,
|
|
67
|
+
...(entry.completedAt === null ? {} : { completedAt: entry.completedAt }),
|
|
68
|
+
},
|
|
69
|
+
];
|
|
70
|
+
}),
|
|
71
|
+
};
|
|
72
|
+
}
|
|
73
|
+
function traceKind(value) {
|
|
74
|
+
return value === "reasoning" ||
|
|
75
|
+
value === "response" ||
|
|
76
|
+
value === "tool" ||
|
|
77
|
+
value === "subagent" ||
|
|
78
|
+
value === "terminal" ||
|
|
79
|
+
value === "status"
|
|
80
|
+
? value
|
|
81
|
+
: undefined;
|
|
82
|
+
}
|
|
83
|
+
function traceEntryStatus(value) {
|
|
84
|
+
return value === "running" || value === "complete" || value === "failed" ? value : undefined;
|
|
85
|
+
}
|
|
86
|
+
//# sourceMappingURL=agentTurnTraceGet.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"agentTurnTraceGet.js","sourceRoot":"","sources":["../../../sources/modules/agent/agentTurnTraceGet.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import type { MessageSummary, MutationHint } from "../chat/types.js";
|
|
2
|
+
import type { DrizzleExecutor } from "../drizzle.js";
|
|
3
|
+
/**
|
|
4
|
+
* Materializes the empty assistant reply, links agentTurns, and inserts the first agentTurnTraceEntries span for a worker-owned running turn.
|
|
5
|
+
* This gives clients a stable message identity before response text exists; retries reuse the linked message and only publish a new chat mutation when the trace had to be initialized.
|
|
6
|
+
*/
|
|
7
|
+
export declare function agentTurnTraceStart(executor: DrizzleExecutor, input: {
|
|
8
|
+
agentUserId: string;
|
|
9
|
+
actorUserId: string;
|
|
10
|
+
chatId: string;
|
|
11
|
+
sessionId: string;
|
|
12
|
+
startedAt: string;
|
|
13
|
+
userMessageId: string;
|
|
14
|
+
workerId: string;
|
|
15
|
+
}): Promise<{
|
|
16
|
+
message: MessageSummary;
|
|
17
|
+
hint: MutationHint;
|
|
18
|
+
} | undefined>;
|
|
19
|
+
//# sourceMappingURL=agentTurnTraceStart.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"agentTurnTraceStart.d.ts","sourceRoot":"","sources":["../../../sources/modules/agent/agentTurnTraceStart.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,cAAc,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAGrE,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,eAAe,CAAC;AAQrD;;;GAGG;AACH,wBAAsB,mBAAmB,CACrC,QAAQ,EAAE,eAAe,EACzB,KAAK,EAAE;IACH,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,EAAE,MAAM,CAAC;IACpB,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;IAClB,aAAa,EAAE,MAAM,CAAC;IACtB,QAAQ,EAAE,MAAM,CAAC;CACpB,GACF,OAAO,CAAC;IAAE,OAAO,EAAE,cAAc,CAAC;IAAC,IAAI,EAAE,YAAY,CAAA;CAAE,GAAG,SAAS,CAAC,CA4FtE"}
|
|
@@ -0,0 +1,87 @@
|
|
|
1
|
+
import { createId } from "@paralleldrive/cuid2";
|
|
2
|
+
import { and, eq, sql } from "drizzle-orm";
|
|
3
|
+
import { chatAdvanceWithSequence } from "../chat/chatAdvanceWithSequence.js";
|
|
4
|
+
import { chatHint } from "../chat/chatHint.js";
|
|
5
|
+
import { withTransaction } from "../drizzle.js";
|
|
6
|
+
import { messageGetProjection } from "../message/messageGetProjection.js";
|
|
7
|
+
import { messageSendInTransaction } from "../message/messageSendInTransaction.js";
|
|
8
|
+
import { agentTurnTraceEntries, agentTurns, messages } from "../schema.js";
|
|
9
|
+
import { syncSequenceNext } from "../sync/syncSequenceNext.js";
|
|
10
|
+
import { agentReplyMutationId } from "./impl/agentReplyMutationId.js";
|
|
11
|
+
/**
|
|
12
|
+
* Materializes the empty assistant reply, links agentTurns, and inserts the first agentTurnTraceEntries span for a worker-owned running turn.
|
|
13
|
+
* This gives clients a stable message identity before response text exists; retries reuse the linked message and only publish a new chat mutation when the trace had to be initialized.
|
|
14
|
+
*/
|
|
15
|
+
export async function agentTurnTraceStart(executor, input) {
|
|
16
|
+
return withTransaction(executor, async (tx) => {
|
|
17
|
+
const [turn] = await tx
|
|
18
|
+
.select({
|
|
19
|
+
assistantMessageId: agentTurns.assistantMessageId,
|
|
20
|
+
traceEntryCount: agentTurns.traceEntryCount,
|
|
21
|
+
})
|
|
22
|
+
.from(agentTurns)
|
|
23
|
+
.where(and(eq(agentTurns.userMessageId, input.userMessageId), eq(agentTurns.agentUserId, input.agentUserId), eq(agentTurns.sessionId, input.sessionId), eq(agentTurns.workerId, input.workerId), eq(agentTurns.status, "running")))
|
|
24
|
+
.limit(1);
|
|
25
|
+
if (!turn || (turn.assistantMessageId && turn.traceEntryCount > 0))
|
|
26
|
+
return undefined;
|
|
27
|
+
let messageId = turn.assistantMessageId ?? undefined;
|
|
28
|
+
let hint;
|
|
29
|
+
if (!messageId) {
|
|
30
|
+
const created = await messageSendInTransaction(tx, {
|
|
31
|
+
actorUserId: input.actorUserId,
|
|
32
|
+
agentSessionId: input.sessionId,
|
|
33
|
+
chatId: input.chatId,
|
|
34
|
+
clientMutationId: agentReplyMutationId(input.sessionId, input.userMessageId),
|
|
35
|
+
deferPublication: true,
|
|
36
|
+
kind: "automated",
|
|
37
|
+
text: "",
|
|
38
|
+
});
|
|
39
|
+
messageId = created.message.id;
|
|
40
|
+
hint = created.hint;
|
|
41
|
+
}
|
|
42
|
+
else {
|
|
43
|
+
const sequence = await syncSequenceNext(tx);
|
|
44
|
+
const mutation = await chatAdvanceWithSequence(tx, sequence, input.agentUserId, input.chatId, "message.streaming", messageId);
|
|
45
|
+
await tx
|
|
46
|
+
.update(messages)
|
|
47
|
+
.set({ changePts: mutation.pts, updatedAt: sql `CURRENT_TIMESTAMP` })
|
|
48
|
+
.where(eq(messages.id, messageId));
|
|
49
|
+
hint = chatHint(sequence, input.chatId, mutation.pts);
|
|
50
|
+
}
|
|
51
|
+
const occurredAt = Date.parse(input.startedAt);
|
|
52
|
+
const linked = await tx
|
|
53
|
+
.update(agentTurns)
|
|
54
|
+
.set({
|
|
55
|
+
assistantMessageId: messageId,
|
|
56
|
+
traceLatestKind: "status",
|
|
57
|
+
traceLatestTitle: "Starting turn",
|
|
58
|
+
traceLatestDetail: null,
|
|
59
|
+
traceLatestAt: occurredAt,
|
|
60
|
+
traceEntryCount: 1,
|
|
61
|
+
updatedAt: sql `CURRENT_TIMESTAMP`,
|
|
62
|
+
})
|
|
63
|
+
.where(and(eq(agentTurns.userMessageId, input.userMessageId), eq(agentTurns.agentUserId, input.agentUserId), eq(agentTurns.sessionId, input.sessionId), eq(agentTurns.workerId, input.workerId), eq(agentTurns.status, "running")))
|
|
64
|
+
.returning({ id: agentTurns.userMessageId });
|
|
65
|
+
if (linked.length !== 1)
|
|
66
|
+
throw new Error("Agent turn trace could not be linked");
|
|
67
|
+
await tx
|
|
68
|
+
.insert(agentTurnTraceEntries)
|
|
69
|
+
.values({
|
|
70
|
+
id: createId(),
|
|
71
|
+
userMessageId: input.userMessageId,
|
|
72
|
+
agentUserId: input.agentUserId,
|
|
73
|
+
traceKey: "turn",
|
|
74
|
+
sessionEventId: `turn-start:${input.startedAt}`,
|
|
75
|
+
kind: "status",
|
|
76
|
+
title: "Starting turn",
|
|
77
|
+
status: "running",
|
|
78
|
+
occurredAt,
|
|
79
|
+
})
|
|
80
|
+
.onConflictDoNothing();
|
|
81
|
+
const message = await messageGetProjection(tx, input.actorUserId, messageId);
|
|
82
|
+
if (!message)
|
|
83
|
+
throw new Error("Agent turn trace message is not readable");
|
|
84
|
+
return { message, hint };
|
|
85
|
+
});
|
|
86
|
+
}
|
|
87
|
+
//# sourceMappingURL=agentTurnTraceStart.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"agentTurnTraceStart.js","sourceRoot":"","sources":["../../../sources/modules/agent/agentTurnTraceStart.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { type AgentExecutionImage } from "./agentExecutionImage.js";
|
|
2
2
|
export interface AgentChatContext {
|
|
3
3
|
agentUserId: string;
|
|
4
|
-
|
|
4
|
+
agentDefaultEffort?: string;
|
|
5
5
|
chatId: string;
|
|
6
6
|
image: AgentExecutionImage;
|
|
7
7
|
sandboxScope: {
|
|
@@ -12,6 +12,7 @@ export interface AgentChatContext {
|
|
|
12
12
|
binding?: {
|
|
13
13
|
containerName: string;
|
|
14
14
|
cwd: string;
|
|
15
|
+
effort?: string;
|
|
15
16
|
sessionId: string;
|
|
16
17
|
};
|
|
17
18
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"agentChatContext.d.ts","sourceRoot":"","sources":["../../../../sources/modules/agent/impl/agentChatContext.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,mBAAmB,EAAE,MAAM,0BAA0B,CAAC;AACpE,MAAM,WAAW,gBAAgB;IAC7B,WAAW,EAAE,MAAM,CAAC;IACpB,
|
|
1
|
+
{"version":3,"file":"agentChatContext.d.ts","sourceRoot":"","sources":["../../../../sources/modules/agent/impl/agentChatContext.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,mBAAmB,EAAE,MAAM,0BAA0B,CAAC;AACpE,MAAM,WAAW,gBAAgB;IAC7B,WAAW,EAAE,MAAM,CAAC;IACpB,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,mBAAmB,CAAC;IAC3B,YAAY,EAAE;QACV,IAAI,EAAE,OAAO,GAAG,OAAO,CAAC;QACxB,EAAE,EAAE,MAAM,CAAC;QACX,cAAc,CAAC,EAAE,MAAM,CAAC;KAC3B,CAAC;IACF,OAAO,CAAC,EAAE;QACN,aAAa,EAAE,MAAM,CAAC;QACtB,GAAG,EAAE,MAAM,CAAC;QACZ,MAAM,CAAC,EAAE,MAAM,CAAC;QAChB,SAAS,EAAE,MAAM,CAAC;KACrB,CAAC;CACL"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"agentEffortContext.d.ts","sourceRoot":"","sources":["../../../../sources/modules/agent/impl/agentEffortContext.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,kBAAkB;IAC/B,WAAW,EAAE,MAAM,CAAC;IACpB,MAAM,CAAC,EAAE,MAAM,CAAC;
|
|
1
|
+
{"version":3,"file":"agentEffortContext.d.ts","sourceRoot":"","sources":["../../../../sources/modules/agent/impl/agentEffortContext.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,kBAAkB;IAC/B,WAAW,EAAE,MAAM,CAAC;IACpB,aAAa,EAAE,MAAM,CAAC;IACtB,MAAM,EAAE,MAAM,CAAC;IACf,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,MAAM,CAAC;CACrB"}
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import { type AgentEffortContext } from "./agentEffortContext.js";
|
|
2
2
|
import { type DrizzleExecutor } from "../../drizzle.js";
|
|
3
3
|
/**
|
|
4
|
-
* Loads
|
|
5
|
-
*
|
|
4
|
+
* Loads one accessible chat's active agent membership, durable effort override, profile default, and bound Rig session.
|
|
5
|
+
* Requiring both memberships and the exact chat-agent binding keeps a chat-level selection isolated from every other conversation using the agent.
|
|
6
6
|
*/
|
|
7
|
-
export declare function agentEffortContextDb(executor: DrizzleExecutor, actorUserId: string,
|
|
7
|
+
export declare function agentEffortContextDb(executor: DrizzleExecutor, actorUserId: string, chatId: string, agentUserId: string): Promise<AgentEffortContext>;
|
|
8
8
|
//# sourceMappingURL=agentEffortContextDb.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"agentEffortContextDb.d.ts","sourceRoot":"","sources":["../../../../sources/modules/agent/impl/agentEffortContextDb.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAElE,OAAO,EAAE,KAAK,eAAe,EAAE,MAAM,kBAAkB,CAAC;
|
|
1
|
+
{"version":3,"file":"agentEffortContextDb.d.ts","sourceRoot":"","sources":["../../../../sources/modules/agent/impl/agentEffortContextDb.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAElE,OAAO,EAAE,KAAK,eAAe,EAAE,MAAM,kBAAkB,CAAC;AAMxD;;;GAGG;AACH,wBAAsB,oBAAoB,CACtC,QAAQ,EAAE,eAAe,EACzB,WAAW,EAAE,MAAM,EACnB,MAAM,EAAE,MAAM,EACd,WAAW,EAAE,MAAM,GACpB,OAAO,CAAC,kBAAkB,CAAC,CA2C7B"}
|
|
@@ -1,52 +1,38 @@
|
|
|
1
1
|
import {} from "./agentEffortContext.js";
|
|
2
2
|
import { CollaborationError } from "../../chat/types.js";
|
|
3
3
|
import {} from "../../drizzle.js";
|
|
4
|
-
import { agentRigBindings, users } from "../../schema.js";
|
|
4
|
+
import { agentRigBindings, chatMembers, users } from "../../schema.js";
|
|
5
5
|
import { and, eq, isNull } from "drizzle-orm";
|
|
6
|
-
import {
|
|
6
|
+
import { chatGetAccess } from "../../chat/chatGetAccess.js";
|
|
7
7
|
/**
|
|
8
|
-
* Loads
|
|
9
|
-
*
|
|
8
|
+
* Loads one accessible chat's active agent membership, durable effort override, profile default, and bound Rig session.
|
|
9
|
+
* Requiring both memberships and the exact chat-agent binding keeps a chat-level selection isolated from every other conversation using the agent.
|
|
10
10
|
*/
|
|
11
|
-
export async function agentEffortContextDb(executor, actorUserId,
|
|
12
|
-
await
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
.from(users)
|
|
28
|
-
.where(and(eq(users.id, agentUserId), eq(users.kind, "agent"), isNull(users.deletedAt)))
|
|
29
|
-
.limit(1),
|
|
30
|
-
executor
|
|
31
|
-
.select({
|
|
32
|
-
sessionId: agentRigBindings.sessionId,
|
|
33
|
-
})
|
|
34
|
-
.from(agentRigBindings)
|
|
35
|
-
.where(eq(agentRigBindings.userId, agentUserId))
|
|
36
|
-
.orderBy(agentRigBindings.chatId),
|
|
37
|
-
]);
|
|
11
|
+
export async function agentEffortContextDb(executor, actorUserId, chatId, agentUserId) {
|
|
12
|
+
if (!(await chatGetAccess(executor, actorUserId, chatId, true)))
|
|
13
|
+
throw new CollaborationError("not_found", "Agent conversation was not found");
|
|
14
|
+
const [agent] = await executor
|
|
15
|
+
.select({
|
|
16
|
+
defaultEffort: users.agentEffort,
|
|
17
|
+
effort: agentRigBindings.effort,
|
|
18
|
+
id: users.id,
|
|
19
|
+
sessionId: agentRigBindings.sessionId,
|
|
20
|
+
username: users.username,
|
|
21
|
+
})
|
|
22
|
+
.from(chatMembers)
|
|
23
|
+
.innerJoin(users, eq(users.id, chatMembers.userId))
|
|
24
|
+
.innerJoin(agentRigBindings, and(eq(agentRigBindings.userId, users.id), eq(agentRigBindings.chatId, chatMembers.chatId)))
|
|
25
|
+
.where(and(eq(chatMembers.chatId, chatId), eq(chatMembers.userId, agentUserId), isNull(chatMembers.leftAt), eq(users.kind, "agent"), isNull(users.deletedAt)))
|
|
26
|
+
.limit(1);
|
|
38
27
|
if (!agent)
|
|
39
|
-
throw new CollaborationError("
|
|
40
|
-
if (requireManagement && actor?.role !== "admin" && agent.createdByUserId !== actorUserId)
|
|
41
|
-
throw new CollaborationError("forbidden", "Only the agent creator or a server admin can change its effort");
|
|
28
|
+
throw new CollaborationError("conflict", "Agent does not have an active Rig session in this chat");
|
|
42
29
|
return {
|
|
43
30
|
agentUserId: agent.id,
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
sessionIds: bindings.map((binding) => binding.sessionId),
|
|
31
|
+
agentUsername: agent.username,
|
|
32
|
+
chatId,
|
|
33
|
+
...(agent.defaultEffort ? { defaultEffort: agent.defaultEffort } : {}),
|
|
34
|
+
...(agent.effort ? { effort: agent.effort } : {}),
|
|
35
|
+
sessionId: agent.sessionId,
|
|
50
36
|
};
|
|
51
37
|
}
|
|
52
38
|
//# sourceMappingURL=agentEffortContextDb.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"agentEffortContextDb.js","sourceRoot":"","sources":["../../../../sources/modules/agent/impl/agentEffortContextDb.ts"],"names":[],"mappings":"AAAA,OAAO,EAA2B,MAAM,yBAAyB,CAAC;AAClE,OAAO,EAAE,kBAAkB,EAAE,MAAM,qBAAqB,CAAC;AACzD,OAAO,EAAwB,MAAM,kBAAkB,CAAC;AACxD,OAAO,EAAE,gBAAgB,EAAE,KAAK,EAAE,MAAM,iBAAiB,CAAC;
|
|
1
|
+
{"version":3,"file":"agentEffortContextDb.js","sourceRoot":"","sources":["../../../../sources/modules/agent/impl/agentEffortContextDb.ts"],"names":[],"mappings":"AAAA,OAAO,EAA2B,MAAM,yBAAyB,CAAC;AAClE,OAAO,EAAE,kBAAkB,EAAE,MAAM,qBAAqB,CAAC;AACzD,OAAO,EAAwB,MAAM,kBAAkB,CAAC;AACxD,OAAO,EAAE,gBAAgB,EAAE,WAAW,EAAE,KAAK,EAAE,MAAM,iBAAiB,CAAC;AACvE,OAAO,EAAE,GAAG,EAAE,EAAE,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AAE9C,OAAO,EAAE,aAAa,EAAE,MAAM,6BAA6B,CAAC;AAE5D;;;GAGG;AACH,MAAM,CAAC,KAAK,UAAU,oBAAoB,CACtC,QAAyB,EACzB,WAAmB,EACnB,MAAc,EACd,WAAmB;IAEnB,IAAI,CAAC,CAAC,MAAM,aAAa,CAAC,QAAQ,EAAE,WAAW,EAAE,MAAM,EAAE,IAAI,CAAC,CAAC;QAC3D,MAAM,IAAI,kBAAkB,CAAC,WAAW,EAAE,kCAAkC,CAAC,CAAC;IAClF,MAAM,CAAC,KAAK,CAAC,GAAG,MAAM,QAAQ;SACzB,MAAM,CAAC;QACJ,aAAa,EAAE,KAAK,CAAC,WAAW;QAChC,MAAM,EAAE,gBAAgB,CAAC,MAAM;QAC/B,EAAE,EAAE,KAAK,CAAC,EAAE;QACZ,SAAS,EAAE,gBAAgB,CAAC,SAAS;QACrC,QAAQ,EAAE,KAAK,CAAC,QAAQ;KAC3B,CAAC;SACD,IAAI,CAAC,WAAW,CAAC;SACjB,SAAS,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,EAAE,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC;SAClD,SAAS,CACN,gBAAgB,EAChB,GAAG,CACC,EAAE,CAAC,gBAAgB,CAAC,MAAM,EAAE,KAAK,CAAC,EAAE,CAAC,EACrC,EAAE,CAAC,gBAAgB,CAAC,MAAM,EAAE,WAAW,CAAC,MAAM,CAAC,CAClD,CACJ;SACA,KAAK,CACF,GAAG,CACC,EAAE,CAAC,WAAW,CAAC,MAAM,EAAE,MAAM,CAAC,EAC9B,EAAE,CAAC,WAAW,CAAC,MAAM,EAAE,WAAW,CAAC,EACnC,MAAM,CAAC,WAAW,CAAC,MAAM,CAAC,EAC1B,EAAE,CAAC,KAAK,CAAC,IAAI,EAAE,OAAO,CAAC,EACvB,MAAM,CAAC,KAAK,CAAC,SAAS,CAAC,CAC1B,CACJ;SACA,KAAK,CAAC,CAAC,CAAC,CAAC;IACd,IAAI,CAAC,KAAK;QACN,MAAM,IAAI,kBAAkB,CACxB,UAAU,EACV,wDAAwD,CAC3D,CAAC;IACN,OAAO;QACH,WAAW,EAAE,KAAK,CAAC,EAAE;QACrB,aAAa,EAAE,KAAK,CAAC,QAAQ;QAC7B,MAAM;QACN,GAAG,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC,CAAC,EAAE,aAAa,EAAE,KAAK,CAAC,aAAa,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACtE,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,KAAK,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACjD,SAAS,EAAE,KAAK,CAAC,SAAS;KAC7B,CAAC;AACN,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"finishAgentTurn.d.ts","sourceRoot":"","sources":["../../../../sources/modules/agent/impl/finishAgentTurn.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,eAAe,EAAmB,MAAM,kBAAkB,CAAC;AACzE,OAAO,EAAE,KAAK,cAAc,EAAE,KAAK,YAAY,EAAE,MAAM,qBAAqB,CAAC;
|
|
1
|
+
{"version":3,"file":"finishAgentTurn.d.ts","sourceRoot":"","sources":["../../../../sources/modules/agent/impl/finishAgentTurn.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,eAAe,EAAmB,MAAM,kBAAkB,CAAC;AACzE,OAAO,EAAE,KAAK,cAAc,EAAE,KAAK,YAAY,EAAE,MAAM,qBAAqB,CAAC;AAoB7E;;;GAGG;AACH,wBAAsB,eAAe,CACjC,QAAQ,EAAE,eAAe,EACzB,KAAK,EAAE;IACH,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,EAAE,MAAM,CAAC;IACpB,SAAS,EAAE,mBAAmB,GAAG,gBAAgB,CAAC;IAClD,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,EAAE,UAAU,GAAG,QAAQ,CAAC;IAC9B,IAAI,EAAE,MAAM,CAAC;IACb,aAAa,EAAE,MAAM,CAAC;IACtB,QAAQ,EAAE,MAAM,CAAC;CACpB,GACF,OAAO,CACJ;IACI,OAAO,EAAE,cAAc,CAAC;IACxB,IAAI,EAAE,YAAY,CAAC;CACtB,GACD,SAAS,CACd,CAsMA"}
|
|
@@ -1,7 +1,8 @@
|
|
|
1
1
|
import { withTransaction } from "../../drizzle.js";
|
|
2
2
|
import {} from "../../chat/types.js";
|
|
3
|
+
import { createId } from "@paralleldrive/cuid2";
|
|
3
4
|
import { agentReplyMutationId } from "./agentReplyMutationId.js";
|
|
4
|
-
import { agentTurns, messages } from "../../schema.js";
|
|
5
|
+
import { agentTurnTraceEntries, agentTurns, messages } from "../../schema.js";
|
|
5
6
|
import { and, eq, sql } from "drizzle-orm";
|
|
6
7
|
import { chatHint } from "../../chat/chatHint.js";
|
|
7
8
|
import { chatAdvanceWithSequence } from "../../chat/chatAdvanceWithSequence.js";
|
|
@@ -12,20 +13,37 @@ import { syncSequenceNext } from "../../sync/syncSequenceNext.js";
|
|
|
12
13
|
import { messageRecordDelivery } from "../../message/messageRecordDelivery.js";
|
|
13
14
|
import { messageReplaceMentions } from "../../message/messageReplaceMentions.js";
|
|
14
15
|
import { messageSendInTransaction } from "../../message/messageSendInTransaction.js";
|
|
16
|
+
const MAX_TRACE_DETAIL_CHARACTERS = 64 * 1_024;
|
|
17
|
+
const MAX_TRACE_SUMMARY_CHARACTERS = 500;
|
|
15
18
|
/**
|
|
16
19
|
* Finalizes agentTurns and their messages output, including the terminal chat and search projections produced by the run.
|
|
17
20
|
* The worker-facing transaction prevents a completed lease from being visible before its final answer is durable and searchable.
|
|
18
21
|
*/
|
|
19
22
|
export async function finishAgentTurn(executor, input) {
|
|
20
23
|
return withTransaction(executor, async (tx) => {
|
|
24
|
+
const [lastTrace] = await tx
|
|
25
|
+
.select({
|
|
26
|
+
occurredAt: sql `coalesce(max(${agentTurnTraceEntries.occurredAt}), 0)`,
|
|
27
|
+
})
|
|
28
|
+
.from(agentTurnTraceEntries)
|
|
29
|
+
.where(and(eq(agentTurnTraceEntries.userMessageId, input.userMessageId), eq(agentTurnTraceEntries.agentUserId, input.agentUserId)));
|
|
30
|
+
const occurredAt = Math.min(Number.MAX_SAFE_INTEGER, Math.max(Date.now(), Number(lastTrace?.occurredAt ?? 0) + 1));
|
|
31
|
+
const traceTitle = input.status === "complete" ? "Turn completed" : "Turn failed";
|
|
32
|
+
const errorDetail = boundedTraceDetail(input.lastError);
|
|
21
33
|
const [turn] = await tx
|
|
22
34
|
.update(agentTurns)
|
|
23
35
|
.set({
|
|
24
36
|
status: input.status,
|
|
25
|
-
lastError:
|
|
37
|
+
lastError: errorDetail ?? null,
|
|
26
38
|
workerId: null,
|
|
27
39
|
leaseExpiresAt: null,
|
|
28
40
|
completedAt: sql `CURRENT_TIMESTAMP`,
|
|
41
|
+
traceLatestKind: "status",
|
|
42
|
+
traceLatestTitle: traceTitle,
|
|
43
|
+
traceLatestDetail: latestTraceLine(errorDetail) ?? null,
|
|
44
|
+
traceLatestAt: occurredAt,
|
|
45
|
+
traceSubagentsJson: "[]",
|
|
46
|
+
traceBackgroundTerminalsJson: "[]",
|
|
29
47
|
updatedAt: sql `CURRENT_TIMESTAMP`,
|
|
30
48
|
})
|
|
31
49
|
.where(and(eq(agentTurns.userMessageId, input.userMessageId), eq(agentTurns.agentUserId, input.agentUserId), eq(agentTurns.sessionId, input.sessionId), eq(agentTurns.workerId, input.workerId), eq(agentTurns.status, "running")))
|
|
@@ -35,6 +53,35 @@ export async function finishAgentTurn(executor, input) {
|
|
|
35
53
|
});
|
|
36
54
|
if (!turn)
|
|
37
55
|
return undefined;
|
|
56
|
+
await tx
|
|
57
|
+
.update(agentTurnTraceEntries)
|
|
58
|
+
.set({
|
|
59
|
+
status: input.status === "complete" ? "complete" : "failed",
|
|
60
|
+
completedAt: occurredAt,
|
|
61
|
+
updatedAt: sql `CURRENT_TIMESTAMP`,
|
|
62
|
+
})
|
|
63
|
+
.where(and(eq(agentTurnTraceEntries.userMessageId, input.userMessageId), eq(agentTurnTraceEntries.agentUserId, input.agentUserId), eq(agentTurnTraceEntries.status, "running")));
|
|
64
|
+
await tx.insert(agentTurnTraceEntries).values({
|
|
65
|
+
id: createId(),
|
|
66
|
+
userMessageId: input.userMessageId,
|
|
67
|
+
agentUserId: input.agentUserId,
|
|
68
|
+
traceKey: "turn-result",
|
|
69
|
+
sessionEventId: `turn-result:${occurredAt}`,
|
|
70
|
+
kind: "status",
|
|
71
|
+
title: traceTitle,
|
|
72
|
+
detail: errorDetail,
|
|
73
|
+
status: input.status === "complete" ? "complete" : "failed",
|
|
74
|
+
occurredAt,
|
|
75
|
+
completedAt: occurredAt,
|
|
76
|
+
});
|
|
77
|
+
const [traceCount] = await tx
|
|
78
|
+
.select({ value: sql `count(*)` })
|
|
79
|
+
.from(agentTurnTraceEntries)
|
|
80
|
+
.where(and(eq(agentTurnTraceEntries.userMessageId, input.userMessageId), eq(agentTurnTraceEntries.agentUserId, input.agentUserId)));
|
|
81
|
+
await tx
|
|
82
|
+
.update(agentTurns)
|
|
83
|
+
.set({ traceEntryCount: Number(traceCount?.value ?? 0) })
|
|
84
|
+
.where(and(eq(agentTurns.userMessageId, input.userMessageId), eq(agentTurns.agentUserId, input.agentUserId), eq(agentTurns.status, input.status)));
|
|
38
85
|
let created;
|
|
39
86
|
let messageId = turn.assistantMessageId ?? undefined;
|
|
40
87
|
if (!messageId) {
|
|
@@ -120,4 +167,18 @@ export async function finishAgentTurn(executor, input) {
|
|
|
120
167
|
};
|
|
121
168
|
});
|
|
122
169
|
}
|
|
170
|
+
function boundedTraceDetail(value) {
|
|
171
|
+
const detail = value?.trim().slice(-MAX_TRACE_DETAIL_CHARACTERS);
|
|
172
|
+
return detail || undefined;
|
|
173
|
+
}
|
|
174
|
+
function latestTraceLine(value) {
|
|
175
|
+
if (!value)
|
|
176
|
+
return undefined;
|
|
177
|
+
const line = value
|
|
178
|
+
.split(/\r?\n/u)
|
|
179
|
+
.map((part) => part.trim())
|
|
180
|
+
.filter(Boolean)
|
|
181
|
+
.at(-1);
|
|
182
|
+
return line?.slice(-MAX_TRACE_SUMMARY_CHARACTERS);
|
|
183
|
+
}
|
|
123
184
|
//# sourceMappingURL=finishAgentTurn.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"finishAgentTurn.js","sourceRoot":"","sources":["../../../../sources/modules/agent/impl/finishAgentTurn.ts"],"names":[],"mappings":"AAAA,OAAO,EAAwB,eAAe,EAAE,MAAM,kBAAkB,CAAC;AACzE,OAAO,EAA0C,MAAM,qBAAqB,CAAC;
|
|
1
|
+
{"version":3,"file":"finishAgentTurn.js","sourceRoot":"","sources":["../../../../sources/modules/agent/impl/finishAgentTurn.ts"],"names":[],"mappings":"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"}
|
|
@@ -5,4 +5,57 @@ export interface RigEventCheckpoint {
|
|
|
5
5
|
lastTrimmedAt: string;
|
|
6
6
|
trimmedThrough?: number;
|
|
7
7
|
}
|
|
8
|
+
export type AgentTurnTraceKind = "reasoning" | "response" | "tool" | "subagent" | "terminal" | "status";
|
|
9
|
+
export type AgentTurnTraceEntryStatus = "running" | "complete" | "failed";
|
|
10
|
+
/** One durable, coalesced span in an agent turn's execution history. */
|
|
11
|
+
export interface AgentTurnTraceUpdate {
|
|
12
|
+
traceKey: string;
|
|
13
|
+
sessionEventId: string;
|
|
14
|
+
kind: AgentTurnTraceKind;
|
|
15
|
+
title: string;
|
|
16
|
+
detail?: string;
|
|
17
|
+
status: AgentTurnTraceEntryStatus;
|
|
18
|
+
occurredAt: number;
|
|
19
|
+
completedAt?: number;
|
|
20
|
+
}
|
|
21
|
+
/** The live public projection of one Rig subagent belonging to a turn. */
|
|
22
|
+
export interface AgentTurnSubagentSummary {
|
|
23
|
+
id: string;
|
|
24
|
+
depth: number;
|
|
25
|
+
description: string;
|
|
26
|
+
status: "idle" | "queued" | "running" | "completed" | "aborted" | "suspended" | "error";
|
|
27
|
+
latestText?: string;
|
|
28
|
+
startedAt: number;
|
|
29
|
+
totalTokens: number;
|
|
30
|
+
}
|
|
31
|
+
/** The live public projection of one background terminal belonging to a turn. */
|
|
32
|
+
export interface AgentTurnBackgroundTerminalSummary {
|
|
33
|
+
id: string;
|
|
34
|
+
command: string;
|
|
35
|
+
cwd: string;
|
|
36
|
+
startedAt: number;
|
|
37
|
+
}
|
|
38
|
+
export interface AgentTurnTraceEntrySummary {
|
|
39
|
+
id: string;
|
|
40
|
+
kind: AgentTurnTraceKind;
|
|
41
|
+
title: string;
|
|
42
|
+
detail?: string;
|
|
43
|
+
status: AgentTurnTraceEntryStatus;
|
|
44
|
+
occurredAt: number;
|
|
45
|
+
completedAt?: number;
|
|
46
|
+
}
|
|
47
|
+
export interface AgentTurnTraceSummary {
|
|
48
|
+
turnId: string;
|
|
49
|
+
agentUserId: string;
|
|
50
|
+
status: "pending" | "running" | "complete" | "failed";
|
|
51
|
+
startedAt?: string;
|
|
52
|
+
completedAt?: string;
|
|
53
|
+
latest?: Omit<AgentTurnTraceEntrySummary, "id" | "status" | "completedAt">;
|
|
54
|
+
entryCount: number;
|
|
55
|
+
subagents: AgentTurnSubagentSummary[];
|
|
56
|
+
backgroundTerminals: AgentTurnBackgroundTerminalSummary[];
|
|
57
|
+
}
|
|
58
|
+
export interface AgentTurnTraceDetails extends AgentTurnTraceSummary {
|
|
59
|
+
entries: AgentTurnTraceEntrySummary[];
|
|
60
|
+
}
|
|
8
61
|
//# sourceMappingURL=types.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../sources/modules/agent/types.ts"],"names":[],"mappings":"AAAA,yFAAyF;AACzF,MAAM,WAAW,kBAAkB;IAC/B,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,eAAe,EAAE,MAAM,CAAC;IACxB,aAAa,EAAE,MAAM,CAAC;IACtB,cAAc,CAAC,EAAE,MAAM,CAAC;CAC3B"}
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../sources/modules/agent/types.ts"],"names":[],"mappings":"AAAA,yFAAyF;AACzF,MAAM,WAAW,kBAAkB;IAC/B,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,eAAe,EAAE,MAAM,CAAC;IACxB,aAAa,EAAE,MAAM,CAAC;IACtB,cAAc,CAAC,EAAE,MAAM,CAAC;CAC3B;AAED,MAAM,MAAM,kBAAkB,GACxB,WAAW,GACX,UAAU,GACV,MAAM,GACN,UAAU,GACV,UAAU,GACV,QAAQ,CAAC;AAEf,MAAM,MAAM,yBAAyB,GAAG,SAAS,GAAG,UAAU,GAAG,QAAQ,CAAC;AAE1E,wEAAwE;AACxE,MAAM,WAAW,oBAAoB;IACjC,QAAQ,EAAE,MAAM,CAAC;IACjB,cAAc,EAAE,MAAM,CAAC;IACvB,IAAI,EAAE,kBAAkB,CAAC;IACzB,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,yBAAyB,CAAC;IAClC,UAAU,EAAE,MAAM,CAAC;IACnB,WAAW,CAAC,EAAE,MAAM,CAAC;CACxB;AAED,0EAA0E;AAC1E,MAAM,WAAW,wBAAwB;IACrC,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,EAAE,MAAM,CAAC;IACpB,MAAM,EAAE,MAAM,GAAG,QAAQ,GAAG,SAAS,GAAG,WAAW,GAAG,SAAS,GAAG,WAAW,GAAG,OAAO,CAAC;IACxF,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,SAAS,EAAE,MAAM,CAAC;IAClB,WAAW,EAAE,MAAM,CAAC;CACvB;AAED,iFAAiF;AACjF,MAAM,WAAW,kCAAkC;IAC/C,EAAE,EAAE,MAAM,CAAC;IACX,OAAO,EAAE,MAAM,CAAC;IAChB,GAAG,EAAE,MAAM,CAAC;IACZ,SAAS,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,WAAW,0BAA0B;IACvC,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,kBAAkB,CAAC;IACzB,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,yBAAyB,CAAC;IAClC,UAAU,EAAE,MAAM,CAAC;IACnB,WAAW,CAAC,EAAE,MAAM,CAAC;CACxB;AAED,MAAM,WAAW,qBAAqB;IAClC,MAAM,EAAE,MAAM,CAAC;IACf,WAAW,EAAE,MAAM,CAAC;IACpB,MAAM,EAAE,SAAS,GAAG,SAAS,GAAG,UAAU,GAAG,QAAQ,CAAC;IACtD,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,MAAM,CAAC,EAAE,IAAI,CAAC,0BAA0B,EAAE,IAAI,GAAG,QAAQ,GAAG,aAAa,CAAC,CAAC;IAC3E,UAAU,EAAE,MAAM,CAAC;IACnB,SAAS,EAAE,wBAAwB,EAAE,CAAC;IACtC,mBAAmB,EAAE,kCAAkC,EAAE,CAAC;CAC7D;AAED,MAAM,WAAW,qBAAsB,SAAQ,qBAAqB;IAChE,OAAO,EAAE,0BAA0B,EAAE,CAAC;CACzC"}
|