happy2 0.0.12 → 0.0.14
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 +281 -39
- package/packages/happy2-server/README.md +8 -7
- package/packages/happy2-server/dist/index.d.ts +3 -1
- package/packages/happy2-server/dist/index.d.ts.map +1 -1
- package/packages/happy2-server/dist/index.js +2 -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/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/agentSkillHomeGet.d.ts +4 -0
- package/packages/happy2-server/dist/modules/agent/agentSkillHomeGet.d.ts.map +1 -0
- package/packages/happy2-server/dist/modules/agent/agentSkillHomeGet.js +15 -0
- package/packages/happy2-server/dist/modules/agent/agentSkillHomeGet.js.map +1 -0
- package/packages/happy2-server/dist/modules/agent/agentSkillHomeGet.test.d.ts +2 -0
- package/packages/happy2-server/dist/modules/agent/agentSkillHomeGet.test.d.ts.map +1 -0
- package/packages/happy2-server/dist/modules/agent/agentSkillHomeGet.test.js +17 -0
- package/packages/happy2-server/dist/modules/agent/agentSkillHomeGet.test.js.map +1 -0
- package/packages/happy2-server/dist/modules/agent/agentTurnGetPluginContext.d.ts +23 -0
- package/packages/happy2-server/dist/modules/agent/agentTurnGetPluginContext.d.ts.map +1 -0
- package/packages/happy2-server/dist/modules/agent/agentTurnGetPluginContext.js +70 -0
- package/packages/happy2-server/dist/modules/agent/agentTurnGetPluginContext.js.map +1 -0
- 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 +11 -6
- package/packages/happy2-server/dist/modules/agents/service.d.ts.map +1 -1
- package/packages/happy2-server/dist/modules/agents/service.js +498 -50
- 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 +21 -0
- package/packages/happy2-server/dist/modules/auth/tokens.d.ts.map +1 -1
- package/packages/happy2-server/dist/modules/auth/tokens.js +97 -3
- package/packages/happy2-server/dist/modules/auth/tokens.js.map +1 -1
- package/packages/happy2-server/dist/modules/auth/tokens.test.js +77 -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/channelCreateWithMembers.d.ts +19 -0
- package/packages/happy2-server/dist/modules/chat/channelCreateWithMembers.d.ts.map +1 -0
- package/packages/happy2-server/dist/modules/chat/channelCreateWithMembers.js +87 -0
- package/packages/happy2-server/dist/modules/chat/channelCreateWithMembers.js.map +1 -0
- package/packages/happy2-server/dist/modules/chat/channelMembersUpdate.d.ts +15 -0
- package/packages/happy2-server/dist/modules/chat/channelMembersUpdate.d.ts.map +1 -0
- package/packages/happy2-server/dist/modules/chat/channelMembersUpdate.js +38 -0
- package/packages/happy2-server/dist/modules/chat/channelMembersUpdate.js.map +1 -0
- package/packages/happy2-server/dist/modules/chat/chatAppendAudit.d.ts +1 -1
- package/packages/happy2-server/dist/modules/chat/chatAppendAudit.d.ts.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 +35 -16
- 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/apiPermissions.d.ts +5 -0
- package/packages/happy2-server/dist/modules/plugin/impl/apiPermissions.d.ts.map +1 -0
- package/packages/happy2-server/dist/modules/plugin/impl/apiPermissions.js +106 -0
- package/packages/happy2-server/dist/modules/plugin/impl/apiPermissions.js.map +1 -0
- package/packages/happy2-server/dist/modules/plugin/impl/asInstallation.d.ts.map +1 -1
- package/packages/happy2-server/dist/modules/plugin/impl/asInstallation.js +12 -2
- package/packages/happy2-server/dist/modules/plugin/impl/asInstallation.js.map +1 -1
- package/packages/happy2-server/dist/modules/plugin/impl/asManagementRequest.d.ts +3 -0
- package/packages/happy2-server/dist/modules/plugin/impl/asManagementRequest.d.ts.map +1 -0
- package/packages/happy2-server/dist/modules/plugin/impl/asManagementRequest.js +68 -0
- package/packages/happy2-server/dist/modules/plugin/impl/asManagementRequest.js.map +1 -0
- package/packages/happy2-server/dist/modules/plugin/impl/asPlugin.d.ts.map +1 -1
- package/packages/happy2-server/dist/modules/plugin/impl/asPlugin.js +12 -3
- package/packages/happy2-server/dist/modules/plugin/impl/asPlugin.js.map +1 -1
- package/packages/happy2-server/dist/modules/plugin/impl/installationSelection.d.ts +19 -0
- package/packages/happy2-server/dist/modules/plugin/impl/installationSelection.d.ts.map +1 -1
- package/packages/happy2-server/dist/modules/plugin/impl/installationSelection.js +1 -0
- package/packages/happy2-server/dist/modules/plugin/impl/installationSelection.js.map +1 -1
- package/packages/happy2-server/dist/modules/plugin/impl/installedManifest.d.ts.map +1 -1
- package/packages/happy2-server/dist/modules/plugin/impl/installedManifest.js +4 -2
- package/packages/happy2-server/dist/modules/plugin/impl/installedManifest.js.map +1 -1
- package/packages/happy2-server/dist/modules/plugin/impl/installedManifest.test.js +14 -0
- package/packages/happy2-server/dist/modules/plugin/impl/installedManifest.test.js.map +1 -1
- package/packages/happy2-server/dist/modules/plugin/impl/managementRequestSelection.d.ts +345 -0
- package/packages/happy2-server/dist/modules/plugin/impl/managementRequestSelection.d.ts.map +1 -0
- package/packages/happy2-server/dist/modules/plugin/impl/managementRequestSelection.js +22 -0
- package/packages/happy2-server/dist/modules/plugin/impl/managementRequestSelection.js.map +1 -0
- 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/packageLinkDownloader.d.ts +16 -0
- package/packages/happy2-server/dist/modules/plugin/packageLinkDownloader.d.ts.map +1 -0
- package/packages/happy2-server/dist/modules/plugin/packageLinkDownloader.js +67 -0
- package/packages/happy2-server/dist/modules/plugin/packageLinkDownloader.js.map +1 -0
- package/packages/happy2-server/dist/modules/plugin/packageStore.d.ts +27 -1
- package/packages/happy2-server/dist/modules/plugin/packageStore.d.ts.map +1 -1
- package/packages/happy2-server/dist/modules/plugin/packageStore.js +234 -15
- package/packages/happy2-server/dist/modules/plugin/packageStore.js.map +1 -1
- package/packages/happy2-server/dist/modules/plugin/packageStore.test.d.ts +2 -0
- package/packages/happy2-server/dist/modules/plugin/packageStore.test.d.ts.map +1 -0
- package/packages/happy2-server/dist/modules/plugin/packageStore.test.js +50 -0
- package/packages/happy2-server/dist/modules/plugin/packageStore.test.js.map +1 -0
- package/packages/happy2-server/dist/modules/plugin/pluginAgentCallContextGet.d.ts +5 -0
- package/packages/happy2-server/dist/modules/plugin/pluginAgentCallContextGet.d.ts.map +1 -0
- package/packages/happy2-server/dist/modules/plugin/pluginAgentCallContextGet.js +26 -0
- package/packages/happy2-server/dist/modules/plugin/pluginAgentCallContextGet.js.map +1 -0
- 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/pluginCatalogList.d.ts.map +1 -1
- package/packages/happy2-server/dist/modules/plugin/pluginCatalogList.js +7 -3
- package/packages/happy2-server/dist/modules/plugin/pluginCatalogList.js.map +1 -1
- package/packages/happy2-server/dist/modules/plugin/pluginDeveloperServer.test.d.ts +2 -0
- package/packages/happy2-server/dist/modules/plugin/pluginDeveloperServer.test.d.ts.map +1 -0
- package/packages/happy2-server/dist/modules/plugin/pluginDeveloperServer.test.js +44 -0
- package/packages/happy2-server/dist/modules/plugin/pluginDeveloperServer.test.js.map +1 -0
- 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 +4 -2
- package/packages/happy2-server/dist/modules/plugin/pluginInstall.d.ts.map +1 -1
- package/packages/happy2-server/dist/modules/plugin/pluginInstall.js +36 -5
- package/packages/happy2-server/dist/modules/plugin/pluginInstall.js.map +1 -1
- package/packages/happy2-server/dist/modules/plugin/pluginInstallationGetContainerName.d.ts +7 -0
- package/packages/happy2-server/dist/modules/plugin/pluginInstallationGetContainerName.d.ts.map +1 -0
- package/packages/happy2-server/dist/modules/plugin/pluginInstallationGetContainerName.js +18 -0
- package/packages/happy2-server/dist/modules/plugin/pluginInstallationGetContainerName.js.map +1 -0
- package/packages/happy2-server/dist/modules/plugin/pluginInstallationGetRequestUninstallContext.d.ts +13 -0
- package/packages/happy2-server/dist/modules/plugin/pluginInstallationGetRequestUninstallContext.d.ts.map +1 -0
- package/packages/happy2-server/dist/modules/plugin/pluginInstallationGetRequestUninstallContext.js +35 -0
- package/packages/happy2-server/dist/modules/plugin/pluginInstallationGetRequestUninstallContext.js.map +1 -0
- package/packages/happy2-server/dist/modules/plugin/pluginInstallationGetRuntimeConfiguration.d.ts.map +1 -1
- package/packages/happy2-server/dist/modules/plugin/pluginInstallationGetRuntimeConfiguration.js +3 -1
- package/packages/happy2-server/dist/modules/plugin/pluginInstallationGetRuntimeConfiguration.js.map +1 -1
- package/packages/happy2-server/dist/modules/plugin/pluginInstallationGetUninstallContext.d.ts +6 -0
- package/packages/happy2-server/dist/modules/plugin/pluginInstallationGetUninstallContext.d.ts.map +1 -0
- package/packages/happy2-server/dist/modules/plugin/pluginInstallationGetUninstallContext.js +17 -0
- package/packages/happy2-server/dist/modules/plugin/pluginInstallationGetUninstallContext.js.map +1 -0
- 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/pluginInstallationPermissionsUpdate.d.ts +18 -0
- package/packages/happy2-server/dist/modules/plugin/pluginInstallationPermissionsUpdate.d.ts.map +1 -0
- package/packages/happy2-server/dist/modules/plugin/pluginInstallationPermissionsUpdate.js +92 -0
- package/packages/happy2-server/dist/modules/plugin/pluginInstallationPermissionsUpdate.js.map +1 -0
- package/packages/happy2-server/dist/modules/plugin/pluginInstallationUninstall.d.ts +16 -0
- package/packages/happy2-server/dist/modules/plugin/pluginInstallationUninstall.d.ts.map +1 -0
- package/packages/happy2-server/dist/modules/plugin/pluginInstallationUninstall.js +71 -0
- package/packages/happy2-server/dist/modules/plugin/pluginInstallationUninstall.js.map +1 -0
- 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/pluginManagementRequestBeginInstall.d.ts +21 -0
- package/packages/happy2-server/dist/modules/plugin/pluginManagementRequestBeginInstall.d.ts.map +1 -0
- package/packages/happy2-server/dist/modules/plugin/pluginManagementRequestBeginInstall.js +71 -0
- package/packages/happy2-server/dist/modules/plugin/pluginManagementRequestBeginInstall.js.map +1 -0
- package/packages/happy2-server/dist/modules/plugin/pluginManagementRequestBeginUninstall.d.ts +12 -0
- package/packages/happy2-server/dist/modules/plugin/pluginManagementRequestBeginUninstall.d.ts.map +1 -0
- package/packages/happy2-server/dist/modules/plugin/pluginManagementRequestBeginUninstall.js +56 -0
- package/packages/happy2-server/dist/modules/plugin/pluginManagementRequestBeginUninstall.js.map +1 -0
- package/packages/happy2-server/dist/modules/plugin/pluginManagementRequestCompleteInstall.d.ts +11 -0
- package/packages/happy2-server/dist/modules/plugin/pluginManagementRequestCompleteInstall.d.ts.map +1 -0
- package/packages/happy2-server/dist/modules/plugin/pluginManagementRequestCompleteInstall.js +44 -0
- package/packages/happy2-server/dist/modules/plugin/pluginManagementRequestCompleteInstall.js.map +1 -0
- package/packages/happy2-server/dist/modules/plugin/pluginManagementRequestCompleteUninstall.d.ts +10 -0
- package/packages/happy2-server/dist/modules/plugin/pluginManagementRequestCompleteUninstall.d.ts.map +1 -0
- package/packages/happy2-server/dist/modules/plugin/pluginManagementRequestCompleteUninstall.js +41 -0
- package/packages/happy2-server/dist/modules/plugin/pluginManagementRequestCompleteUninstall.js.map +1 -0
- package/packages/happy2-server/dist/modules/plugin/pluginManagementRequestCreateInstall.d.ts +26 -0
- package/packages/happy2-server/dist/modules/plugin/pluginManagementRequestCreateInstall.d.ts.map +1 -0
- package/packages/happy2-server/dist/modules/plugin/pluginManagementRequestCreateInstall.js +78 -0
- package/packages/happy2-server/dist/modules/plugin/pluginManagementRequestCreateInstall.js.map +1 -0
- package/packages/happy2-server/dist/modules/plugin/pluginManagementRequestCreateUninstall.d.ts +25 -0
- package/packages/happy2-server/dist/modules/plugin/pluginManagementRequestCreateUninstall.d.ts.map +1 -0
- package/packages/happy2-server/dist/modules/plugin/pluginManagementRequestCreateUninstall.js +76 -0
- package/packages/happy2-server/dist/modules/plugin/pluginManagementRequestCreateUninstall.js.map +1 -0
- package/packages/happy2-server/dist/modules/plugin/pluginManagementRequestDeny.d.ts +11 -0
- package/packages/happy2-server/dist/modules/plugin/pluginManagementRequestDeny.d.ts.map +1 -0
- package/packages/happy2-server/dist/modules/plugin/pluginManagementRequestDeny.js +48 -0
- package/packages/happy2-server/dist/modules/plugin/pluginManagementRequestDeny.js.map +1 -0
- package/packages/happy2-server/dist/modules/plugin/pluginManagementRequestGetPackage.d.ts +12 -0
- package/packages/happy2-server/dist/modules/plugin/pluginManagementRequestGetPackage.d.ts.map +1 -0
- package/packages/happy2-server/dist/modules/plugin/pluginManagementRequestGetPackage.js +42 -0
- package/packages/happy2-server/dist/modules/plugin/pluginManagementRequestGetPackage.js.map +1 -0
- package/packages/happy2-server/dist/modules/plugin/pluginManagementRequestList.d.ts +5 -0
- package/packages/happy2-server/dist/modules/plugin/pluginManagementRequestList.d.ts.map +1 -0
- package/packages/happy2-server/dist/modules/plugin/pluginManagementRequestList.js +18 -0
- package/packages/happy2-server/dist/modules/plugin/pluginManagementRequestList.js.map +1 -0
- package/packages/happy2-server/dist/modules/plugin/pluginManagementRequestListTerminalIds.d.ts +4 -0
- package/packages/happy2-server/dist/modules/plugin/pluginManagementRequestListTerminalIds.d.ts.map +1 -0
- package/packages/happy2-server/dist/modules/plugin/pluginManagementRequestListTerminalIds.js +11 -0
- package/packages/happy2-server/dist/modules/plugin/pluginManagementRequestListTerminalIds.js.map +1 -0
- package/packages/happy2-server/dist/modules/plugin/pluginManagementRequestRecoverProcessing.d.ts +5 -0
- package/packages/happy2-server/dist/modules/plugin/pluginManagementRequestRecoverProcessing.d.ts.map +1 -0
- package/packages/happy2-server/dist/modules/plugin/pluginManagementRequestRecoverProcessing.js +75 -0
- package/packages/happy2-server/dist/modules/plugin/pluginManagementRequestRecoverProcessing.js.map +1 -0
- package/packages/happy2-server/dist/modules/plugin/pluginSkillPackageListReady.d.ts +12 -0
- package/packages/happy2-server/dist/modules/plugin/pluginSkillPackageListReady.d.ts.map +1 -0
- package/packages/happy2-server/dist/modules/plugin/pluginSkillPackageListReady.js +33 -0
- package/packages/happy2-server/dist/modules/plugin/pluginSkillPackageListReady.js.map +1 -0
- 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 +157 -5
- package/packages/happy2-server/dist/modules/plugin/service.d.ts.map +1 -1
- package/packages/happy2-server/dist/modules/plugin/service.js +789 -19
- 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 +116 -11
- package/packages/happy2-server/dist/modules/plugin/types.d.ts.map +1 -1
- package/packages/happy2-server/dist/modules/plugin/types.js +9 -0
- 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 +8024 -5446
- package/packages/happy2-server/dist/modules/schema.d.ts.map +1 -1
- package/packages/happy2-server/dist/modules/schema.js +140 -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 +2 -1
- package/packages/happy2-server/dist/routes/pluginHost.d.ts.map +1 -1
- package/packages/happy2-server/dist/routes/pluginHost.js +356 -5
- 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 +375 -7
- package/packages/happy2-server/dist/routes/plugins.js.map +1 -1
- package/packages/happy2-server/dist/server.d.ts +4 -0
- package/packages/happy2-server/dist/server.d.ts.map +1 -1
- package/packages/happy2-server/dist/server.js +12 -7
- package/packages/happy2-server/dist/server.js.map +1 -1
- package/packages/happy2-server/dist/web/assets/index-Dn5SZu3y.js +39 -0
- package/packages/happy2-server/dist/web/assets/index-Dys3sWv8.css +2 -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/0028_plugin_api_permissions.sql +1 -0
- package/packages/happy2-server/drizzle/0029_plugin_management_requests.sql +35 -0
- package/packages/happy2-server/drizzle/meta/_journal.json +49 -0
- package/packages/happy2-server/happy2.example.toml +6 -0
- package/packages/happy2-server/plugins/README.md +7 -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 +280 -0
- package/packages/happy2-server/plugins/plugin-developer/container/Dockerfile +6 -0
- package/packages/happy2-server/plugins/plugin-developer/plugin.json +17 -0
- package/packages/happy2-server/plugins/plugin-developer/plugin.png +0 -0
- package/packages/happy2-server/plugins/plugin-developer/server.mjs +155 -0
- package/packages/happy2-server/plugins/plugin-developer/skills/happy2-plugin-development/SKILL.md +59 -0
- package/packages/happy2-server/plugins/plugin-developer/skills/happy2-plugin-development/references/host-api.md +63 -0
- package/packages/happy2-server/plugins/plugin-developer/skills/happy2-plugin-development/references/installing.md +86 -0
- package/packages/happy2-server/plugins/plugin-developer/skills/happy2-plugin-development/references/package-format.md +137 -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
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"service.js","sourceRoot":"","sources":["../../../sources/modules/agents/service.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"service.js","sourceRoot":"","sources":["../../../sources/modules/agents/service.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { type DrizzleExecutor } from "../drizzle.js";
|
|
2
|
+
import type { ActiveSession, RequestMetadata } from "./types.js";
|
|
3
|
+
export interface CreatedDevToken {
|
|
4
|
+
token: string;
|
|
5
|
+
session: ActiveSession;
|
|
6
|
+
}
|
|
7
|
+
/**
|
|
8
|
+
* Inserts one opaque development credential into authDevTokens for an active session and records issuance telemetry in the same transaction.
|
|
9
|
+
* Storing only the token hash and resolving its session on every use makes the credential inherit durable session expiry, revocation, and account eligibility.
|
|
10
|
+
*/
|
|
11
|
+
export declare function developmentTokenCreate(executor: DrizzleExecutor, sessionId: string, metadata: RequestMetadata): Promise<CreatedDevToken | undefined>;
|
|
12
|
+
//# sourceMappingURL=developmentTokenCreate.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"developmentTokenCreate.d.ts","sourceRoot":"","sources":["../../../sources/modules/auth/developmentTokenCreate.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,KAAK,eAAe,EAAmB,MAAM,eAAe,CAAC;AAMtE,OAAO,KAAK,EAAE,aAAa,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAEjE,MAAM,WAAW,eAAe;IAC5B,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,aAAa,CAAC;CAC1B;AAED;;;GAGG;AACH,wBAAsB,sBAAsB,CACxC,QAAQ,EAAE,eAAe,EACzB,SAAS,EAAE,MAAM,EACjB,QAAQ,EAAE,eAAe,GAC1B,OAAO,CAAC,eAAe,GAAG,SAAS,CAAC,CAatC"}
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
import { createId } from "@paralleldrive/cuid2";
|
|
2
|
+
import { withTransaction } from "../drizzle.js";
|
|
3
|
+
import { authDevTokens } from "../schema.js";
|
|
4
|
+
import { randomToken } from "./crypto.js";
|
|
5
|
+
import { recordSessionEvent } from "./impl/recordSessionEvent.js";
|
|
6
|
+
import { tokenHash } from "./impl/tokenHash.js";
|
|
7
|
+
import { sessionFindActive } from "./sessionFindActive.js";
|
|
8
|
+
/**
|
|
9
|
+
* Inserts one opaque development credential into authDevTokens for an active session and records issuance telemetry in the same transaction.
|
|
10
|
+
* Storing only the token hash and resolving its session on every use makes the credential inherit durable session expiry, revocation, and account eligibility.
|
|
11
|
+
*/
|
|
12
|
+
export async function developmentTokenCreate(executor, sessionId, metadata) {
|
|
13
|
+
return withTransaction(executor, async (tx) => {
|
|
14
|
+
const session = await sessionFindActive(tx, sessionId);
|
|
15
|
+
if (!session)
|
|
16
|
+
return undefined;
|
|
17
|
+
const token = `happy2_dev_${randomToken()}`;
|
|
18
|
+
await tx.insert(authDevTokens).values({
|
|
19
|
+
id: createId(),
|
|
20
|
+
sessionId,
|
|
21
|
+
tokenHash: tokenHash(token),
|
|
22
|
+
});
|
|
23
|
+
await recordSessionEvent(tx, sessionId, "dev_token_issued", metadata);
|
|
24
|
+
return { token, session };
|
|
25
|
+
});
|
|
26
|
+
}
|
|
27
|
+
//# sourceMappingURL=developmentTokenCreate.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"developmentTokenCreate.js","sourceRoot":"","sources":["../../../sources/modules/auth/developmentTokenCreate.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAC;AAChD,OAAO,EAAwB,eAAe,EAAE,MAAM,eAAe,CAAC;AACtE,OAAO,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAC7C,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAC1C,OAAO,EAAE,kBAAkB,EAAE,MAAM,8BAA8B,CAAC;AAClE,OAAO,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAC;AAChD,OAAO,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAQ3D;;;GAGG;AACH,MAAM,CAAC,KAAK,UAAU,sBAAsB,CACxC,QAAyB,EACzB,SAAiB,EACjB,QAAyB;IAEzB,OAAO,eAAe,CAAC,QAAQ,EAAE,KAAK,EAAE,EAAE,EAAE,EAAE;QAC1C,MAAM,OAAO,GAAG,MAAM,iBAAiB,CAAC,EAAE,EAAE,SAAS,CAAC,CAAC;QACvD,IAAI,CAAC,OAAO;YAAE,OAAO,SAAS,CAAC;QAC/B,MAAM,KAAK,GAAG,cAAc,WAAW,EAAE,EAAE,CAAC;QAC5C,MAAM,EAAE,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC,MAAM,CAAC;YAClC,EAAE,EAAE,QAAQ,EAAE;YACd,SAAS;YACT,SAAS,EAAE,SAAS,CAAC,KAAK,CAAC;SAC9B,CAAC,CAAC;QACH,MAAM,kBAAkB,CAAC,EAAE,EAAE,SAAS,EAAE,kBAAkB,EAAE,QAAQ,CAAC,CAAC;QACtE,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,CAAC;IAC9B,CAAC,CAAC,CAAC;AACP,CAAC"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import type { DrizzleExecutor } from "../drizzle.js";
|
|
2
|
+
import type { ActiveSession } from "./types.js";
|
|
3
|
+
/**
|
|
4
|
+
* Resolves an opaque development credential only while its linked session and account remain active.
|
|
5
|
+
* The joined durable lookup is the authority boundary that makes logout, expiry, bans, and account deletion invalidate exported authentication immediately.
|
|
6
|
+
*/
|
|
7
|
+
export declare function developmentTokenFindActive(executor: DrizzleExecutor, token: string): Promise<ActiveSession | undefined>;
|
|
8
|
+
//# sourceMappingURL=developmentTokenFindActive.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"developmentTokenFindActive.d.ts","sourceRoot":"","sources":["../../../sources/modules/auth/developmentTokenFindActive.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,eAAe,CAAC;AAGrD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAEhD;;;GAGG;AACH,wBAAsB,0BAA0B,CAC5C,QAAQ,EAAE,eAAe,EACzB,KAAK,EAAE,MAAM,GACd,OAAO,CAAC,aAAa,GAAG,SAAS,CAAC,CAoBpC"}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import { and, eq, gt, isNull } from "drizzle-orm";
|
|
2
|
+
import { accounts, authDevTokens, authSessions } from "../schema.js";
|
|
3
|
+
import { tokenHash } from "./impl/tokenHash.js";
|
|
4
|
+
import { asSession } from "./impl/asSession.js";
|
|
5
|
+
/**
|
|
6
|
+
* Resolves an opaque development credential only while its linked session and account remain active.
|
|
7
|
+
* The joined durable lookup is the authority boundary that makes logout, expiry, bans, and account deletion invalidate exported authentication immediately.
|
|
8
|
+
*/
|
|
9
|
+
export async function developmentTokenFindActive(executor, token) {
|
|
10
|
+
const [row] = await executor
|
|
11
|
+
.select({
|
|
12
|
+
id: authSessions.id,
|
|
13
|
+
accountId: authSessions.accountId,
|
|
14
|
+
expiresAt: authSessions.expiresAt,
|
|
15
|
+
})
|
|
16
|
+
.from(authDevTokens)
|
|
17
|
+
.innerJoin(authSessions, eq(authSessions.id, authDevTokens.sessionId))
|
|
18
|
+
.innerJoin(accounts, eq(accounts.id, authSessions.accountId))
|
|
19
|
+
.where(and(eq(authDevTokens.tokenHash, tokenHash(token)), isNull(authSessions.revokedAt), gt(authSessions.expiresAt, new Date().toISOString()), isNull(accounts.bannedAt), isNull(accounts.deletedAt)));
|
|
20
|
+
return row ? asSession(row) : undefined;
|
|
21
|
+
}
|
|
22
|
+
//# sourceMappingURL=developmentTokenFindActive.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"developmentTokenFindActive.js","sourceRoot":"","sources":["../../../sources/modules/auth/developmentTokenFindActive.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,EAAE,EAAE,EAAE,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AAClD,OAAO,EAAE,QAAQ,EAAE,aAAa,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAErE,OAAO,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAC;AAChD,OAAO,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAC;AAGhD;;;GAGG;AACH,MAAM,CAAC,KAAK,UAAU,0BAA0B,CAC5C,QAAyB,EACzB,KAAa;IAEb,MAAM,CAAC,GAAG,CAAC,GAAG,MAAM,QAAQ;SACvB,MAAM,CAAC;QACJ,EAAE,EAAE,YAAY,CAAC,EAAE;QACnB,SAAS,EAAE,YAAY,CAAC,SAAS;QACjC,SAAS,EAAE,YAAY,CAAC,SAAS;KACpC,CAAC;SACD,IAAI,CAAC,aAAa,CAAC;SACnB,SAAS,CAAC,YAAY,EAAE,EAAE,CAAC,YAAY,CAAC,EAAE,EAAE,aAAa,CAAC,SAAS,CAAC,CAAC;SACrE,SAAS,CAAC,QAAQ,EAAE,EAAE,CAAC,QAAQ,CAAC,EAAE,EAAE,YAAY,CAAC,SAAS,CAAC,CAAC;SAC5D,KAAK,CACF,GAAG,CACC,EAAE,CAAC,aAAa,CAAC,SAAS,EAAE,SAAS,CAAC,KAAK,CAAC,CAAC,EAC7C,MAAM,CAAC,YAAY,CAAC,SAAS,CAAC,EAC9B,EAAE,CAAC,YAAY,CAAC,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC,EACpD,MAAM,CAAC,QAAQ,CAAC,QAAQ,CAAC,EACzB,MAAM,CAAC,QAAQ,CAAC,SAAS,CAAC,CAC7B,CACJ,CAAC;IACN,OAAO,GAAG,CAAC,CAAC,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;AAC5C,CAAC"}
|
|
@@ -2,6 +2,7 @@ import type { ServerConfig } from "../config/type.js";
|
|
|
2
2
|
export interface SupportedAuthMethods {
|
|
3
3
|
role: ServerConfig["server"]["role"];
|
|
4
4
|
method: "password" | "magic_link" | "oidc" | "cloudflare_access" | null;
|
|
5
|
+
devTokensEnabled: boolean;
|
|
5
6
|
oidcProvider?: string;
|
|
6
7
|
}
|
|
7
8
|
/** Returns the one mechanism this deployment can issue, not merely configured mechanisms. */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"methods.d.ts","sourceRoot":"","sources":["../../../sources/modules/auth/methods.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAEtD,MAAM,WAAW,oBAAoB;IACjC,IAAI,EAAE,YAAY,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,CAAC;IACrC,MAAM,EAAE,UAAU,GAAG,YAAY,GAAG,MAAM,GAAG,mBAAmB,GAAG,IAAI,CAAC;IACxE,YAAY,CAAC,EAAE,MAAM,CAAC;CACzB;AAED,6FAA6F;AAC7F,wBAAgB,oBAAoB,CAAC,MAAM,EAAE,YAAY,GAAG,oBAAoB,
|
|
1
|
+
{"version":3,"file":"methods.d.ts","sourceRoot":"","sources":["../../../sources/modules/auth/methods.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAEtD,MAAM,WAAW,oBAAoB;IACjC,IAAI,EAAE,YAAY,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,CAAC;IACrC,MAAM,EAAE,UAAU,GAAG,YAAY,GAAG,MAAM,GAAG,mBAAmB,GAAG,IAAI,CAAC;IACxE,gBAAgB,EAAE,OAAO,CAAC;IAC1B,YAAY,CAAC,EAAE,MAAM,CAAC;CACzB;AAED,6FAA6F;AAC7F,wBAAgB,oBAAoB,CAAC,MAAM,EAAE,YAAY,GAAG,oBAAoB,CAe/E"}
|
|
@@ -1,17 +1,21 @@
|
|
|
1
1
|
/** Returns the one mechanism this deployment can issue, not merely configured mechanisms. */
|
|
2
2
|
export function supportedAuthMethods(config) {
|
|
3
|
+
const base = {
|
|
4
|
+
role: config.server.role,
|
|
5
|
+
devTokensEnabled: config.server.role !== "api" && config.auth.devTokens.enabled,
|
|
6
|
+
};
|
|
3
7
|
if (config.server.role === "api")
|
|
4
|
-
return {
|
|
8
|
+
return { ...base, method: null };
|
|
5
9
|
if (config.auth.password.enabled) {
|
|
6
|
-
return {
|
|
10
|
+
return { ...base, method: "password" };
|
|
7
11
|
}
|
|
8
12
|
if (config.auth.magicLink.enabled)
|
|
9
|
-
return {
|
|
13
|
+
return { ...base, method: "magic_link" };
|
|
10
14
|
if (config.auth.cloudflareAccess.enabled)
|
|
11
|
-
return {
|
|
15
|
+
return { ...base, method: "cloudflare_access" };
|
|
12
16
|
const [provider] = config.auth.oidc.keys();
|
|
13
17
|
return provider
|
|
14
|
-
? {
|
|
15
|
-
: {
|
|
18
|
+
? { ...base, method: "oidc", oidcProvider: provider }
|
|
19
|
+
: { ...base, method: null };
|
|
16
20
|
}
|
|
17
21
|
//# sourceMappingURL=methods.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"methods.js","sourceRoot":"","sources":["../../../sources/modules/auth/methods.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"methods.js","sourceRoot":"","sources":["../../../sources/modules/auth/methods.ts"],"names":[],"mappings":"AASA,6FAA6F;AAC7F,MAAM,UAAU,oBAAoB,CAAC,MAAoB;IACrD,MAAM,IAAI,GAAG;QACT,IAAI,EAAE,MAAM,CAAC,MAAM,CAAC,IAAI;QACxB,gBAAgB,EAAE,MAAM,CAAC,MAAM,CAAC,IAAI,KAAK,KAAK,IAAI,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,OAAO;KAClF,CAAC;IACF,IAAI,MAAM,CAAC,MAAM,CAAC,IAAI,KAAK,KAAK;QAAE,OAAO,EAAE,GAAG,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC;IACnE,IAAI,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,OAAO,EAAE,CAAC;QAC/B,OAAO,EAAE,GAAG,IAAI,EAAE,MAAM,EAAE,UAAU,EAAE,CAAC;IAC3C,CAAC;IACD,IAAI,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,OAAO;QAAE,OAAO,EAAE,GAAG,IAAI,EAAE,MAAM,EAAE,YAAY,EAAE,CAAC;IAC5E,IAAI,MAAM,CAAC,IAAI,CAAC,gBAAgB,CAAC,OAAO;QAAE,OAAO,EAAE,GAAG,IAAI,EAAE,MAAM,EAAE,mBAAmB,EAAE,CAAC;IAC1F,MAAM,CAAC,QAAQ,CAAC,GAAG,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;IAC3C,OAAO,QAAQ;QACX,CAAC,CAAC,EAAE,GAAG,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,YAAY,EAAE,QAAQ,EAAE;QACrD,CAAC,CAAC,EAAE,GAAG,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC;AACpC,CAAC"}
|
|
@@ -5,6 +5,7 @@ import type { ActiveSession } from "./types.js";
|
|
|
5
5
|
import type { User } from "../user/types.js";
|
|
6
6
|
import { type CloudflareAccessIdentity } from "./cloudflare-access.js";
|
|
7
7
|
import { TokenService } from "./tokens.js";
|
|
8
|
+
import { type CreatedDevToken } from "./developmentTokenCreate.js";
|
|
8
9
|
export interface AuthenticatedAccount {
|
|
9
10
|
accountId: string;
|
|
10
11
|
session?: ActiveSession;
|
|
@@ -42,6 +43,7 @@ export declare class AuthService {
|
|
|
42
43
|
error?: string;
|
|
43
44
|
}, request: FastifyRequest): Promise<AuthToken | "authorization_failed" | "invalid_state" | "registration_closed">;
|
|
44
45
|
refresh(request: FastifyRequest): Promise<AuthToken | undefined>;
|
|
46
|
+
createDevToken(request: FastifyRequest): Promise<CreatedDevToken | undefined>;
|
|
45
47
|
logout(request: FastifyRequest): Promise<boolean | "managed_by_cloudflare_access">;
|
|
46
48
|
private issue;
|
|
47
49
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"service.d.ts","sourceRoot":"","sources":["../../../sources/modules/auth/service.ts"],"names":[],"mappings":"AAgBA,OAAO,EAAE,KAAK,eAAe,EAAE,MAAM,eAAe,CAAC;AAErD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,SAAS,CAAC;AAC9C,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAEtD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAChD,OAAO,KAAK,EAAiB,IAAI,EAAE,MAAM,kBAAkB,CAAC;AAI5D,OAAO,EAA4B,KAAK,wBAAwB,EAAE,MAAM,wBAAwB,CAAC;AAEjG,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;
|
|
1
|
+
{"version":3,"file":"service.d.ts","sourceRoot":"","sources":["../../../sources/modules/auth/service.ts"],"names":[],"mappings":"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"}
|
|
@@ -24,6 +24,8 @@ import { cloudflareAccessIdentity } from "./cloudflare-access.js";
|
|
|
24
24
|
import { authorizationUrl, exchangeCode } from "./oidc.js";
|
|
25
25
|
import { TokenService } from "./tokens.js";
|
|
26
26
|
import { accessTouchThrottle } from "./impl/accessTouchThrottle.js";
|
|
27
|
+
import { developmentTokenCreate } from "./developmentTokenCreate.js";
|
|
28
|
+
import { developmentTokenFindActive } from "./developmentTokenFindActive.js";
|
|
27
29
|
export class AuthService {
|
|
28
30
|
config;
|
|
29
31
|
executor;
|
|
@@ -44,6 +46,15 @@ export class AuthService {
|
|
|
44
46
|
async authenticateAccount(request) {
|
|
45
47
|
const token = bearerToken(request);
|
|
46
48
|
if (token) {
|
|
49
|
+
if (this.config.auth.devTokens.enabled && token.startsWith("happy2_dev_")) {
|
|
50
|
+
const session = await developmentTokenFindActive(this.executor, token);
|
|
51
|
+
return session
|
|
52
|
+
? {
|
|
53
|
+
session,
|
|
54
|
+
accountId: session.accountId,
|
|
55
|
+
}
|
|
56
|
+
: undefined;
|
|
57
|
+
}
|
|
47
58
|
try {
|
|
48
59
|
const claims = await this.tokens.verify(token);
|
|
49
60
|
const session = await sessionFindActive(this.executor, claims.sessionId);
|
|
@@ -221,6 +232,21 @@ export class AuthService {
|
|
|
221
232
|
}
|
|
222
233
|
: undefined;
|
|
223
234
|
}
|
|
235
|
+
async createDevToken(request) {
|
|
236
|
+
if (!this.config.auth.devTokens.enabled)
|
|
237
|
+
return undefined;
|
|
238
|
+
const current = await this.authenticate(request);
|
|
239
|
+
if (!current)
|
|
240
|
+
return undefined;
|
|
241
|
+
let session = current.session;
|
|
242
|
+
if (!session) {
|
|
243
|
+
const expiresAt = current.cloudflareAccess?.expiresAt;
|
|
244
|
+
if (!expiresAt)
|
|
245
|
+
return undefined;
|
|
246
|
+
session = await sessionCreate(this.executor, current.accountId, expiresAt, requestMetadata(request));
|
|
247
|
+
}
|
|
248
|
+
return developmentTokenCreate(this.executor, session.id, requestMetadata(request));
|
|
249
|
+
}
|
|
224
250
|
async logout(request) {
|
|
225
251
|
const account = await this.authenticateAccount(request);
|
|
226
252
|
if (!account)
|