devchain-cli 0.20.3 → 0.21.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cli.js +11 -1
- package/dist/drizzle/0072_fat_vulcan.sql +21 -0
- package/dist/drizzle/meta/0072_snapshot.json +6062 -0
- package/dist/drizzle/meta/_journal.json +7 -0
- package/dist/node_modules/@devchain/shared/e2ee/index.d.ts +1 -1
- package/dist/node_modules/@devchain/shared/e2ee/index.d.ts.map +1 -1
- package/dist/node_modules/@devchain/shared/e2ee/index.js +1 -1
- package/dist/node_modules/@devchain/shared/e2ee/index.js.map +1 -1
- package/dist/node_modules/@devchain/shared/e2ee/negotiation.d.ts +6 -0
- package/dist/node_modules/@devchain/shared/e2ee/negotiation.d.ts.map +1 -1
- package/dist/node_modules/@devchain/shared/e2ee/negotiation.js +13 -0
- package/dist/node_modules/@devchain/shared/e2ee/negotiation.js.map +1 -1
- package/dist/node_modules/@devchain/shared/index.d.ts +2 -2
- package/dist/node_modules/@devchain/shared/index.d.ts.map +1 -1
- package/dist/node_modules/@devchain/shared/index.js +2 -2
- package/dist/node_modules/@devchain/shared/index.js.map +1 -1
- package/dist/node_modules/@devchain/shared/mobile-rpc-contract/index.d.ts +11816 -0
- package/dist/node_modules/@devchain/shared/mobile-rpc-contract/index.d.ts.map +1 -0
- package/dist/node_modules/@devchain/shared/mobile-rpc-contract/index.js +1069 -0
- package/dist/node_modules/@devchain/shared/mobile-rpc-contract/index.js.map +1 -0
- package/dist/node_modules/@devchain/shared/tsconfig.tsbuildinfo +1 -1
- package/dist/node_modules/@devchain/shared/tunnel-protocol.d.ts +23 -2
- package/dist/node_modules/@devchain/shared/tunnel-protocol.d.ts.map +1 -1
- package/dist/node_modules/@devchain/shared/tunnel-protocol.js +24 -2
- package/dist/node_modules/@devchain/shared/tunnel-protocol.js.map +1 -1
- package/dist/server/app.main.module.js +2 -0
- package/dist/server/app.main.module.js.map +1 -1
- package/dist/server/app.normal.module.js +2 -0
- package/dist/server/app.normal.module.js.map +1 -1
- package/dist/server/common/test/app-bootstrap.helper.js +0 -1
- package/dist/server/common/test/app-bootstrap.helper.js.map +1 -1
- package/dist/server/modules/agent-message-delivery/adapters/legacy-delivery-formatter.adapter.js +10 -4
- package/dist/server/modules/agent-message-delivery/adapters/legacy-delivery-formatter.adapter.js.map +1 -1
- package/dist/server/modules/agent-message-delivery/agent-message-delivery.service.js +2 -0
- package/dist/server/modules/agent-message-delivery/agent-message-delivery.service.js.map +1 -1
- package/dist/server/modules/agent-message-delivery/dtos/delivery.types.d.ts +4 -1
- package/dist/server/modules/cloud/cloud.module.js +2 -1
- package/dist/server/modules/cloud/cloud.module.js.map +1 -1
- package/dist/server/modules/cloud/services/cloud-egress-bridge.service.d.ts +3 -1
- package/dist/server/modules/cloud/services/cloud-egress-bridge.service.js +16 -9
- package/dist/server/modules/cloud/services/cloud-egress-bridge.service.js.map +1 -1
- package/dist/server/modules/cloud/services/event-mapper.service.d.ts +1 -0
- package/dist/server/modules/cloud/services/event-mapper.service.js +14 -0
- package/dist/server/modules/cloud/services/event-mapper.service.js.map +1 -1
- package/dist/server/modules/cloud-tunnel/cloud-tunnel.module.js +4 -0
- package/dist/server/modules/cloud-tunnel/cloud-tunnel.module.js.map +1 -1
- package/dist/server/modules/cloud-tunnel/services/ask-user-question-push-gate.service.d.ts +5 -1
- package/dist/server/modules/cloud-tunnel/services/ask-user-question-push-gate.service.js +27 -7
- package/dist/server/modules/cloud-tunnel/services/ask-user-question-push-gate.service.js.map +1 -1
- package/dist/server/modules/cloud-tunnel/services/mobile-chat-rpc.service.d.ts +5 -2
- package/dist/server/modules/cloud-tunnel/services/mobile-chat-rpc.service.js +12 -5
- package/dist/server/modules/cloud-tunnel/services/mobile-chat-rpc.service.js.map +1 -1
- package/dist/server/modules/cloud-tunnel/services/mobile-rpc-contract.generated.d.ts +11815 -0
- package/dist/server/modules/cloud-tunnel/services/mobile-rpc-contract.generated.js +1076 -0
- package/dist/server/modules/cloud-tunnel/services/mobile-rpc-contract.generated.js.map +1 -0
- package/dist/server/modules/cloud-tunnel/services/mobile-rpc-workspace-access.service.d.ts +67 -0
- package/dist/server/modules/cloud-tunnel/services/mobile-rpc-workspace-access.service.js +181 -0
- package/dist/server/modules/cloud-tunnel/services/mobile-rpc-workspace-access.service.js.map +1 -0
- package/dist/server/modules/cloud-tunnel/services/tunnel-client.service.d.ts +15 -2
- package/dist/server/modules/cloud-tunnel/services/tunnel-client.service.js +145 -6
- package/dist/server/modules/cloud-tunnel/services/tunnel-client.service.js.map +1 -1
- package/dist/server/modules/cloud-tunnel/services/tunnel-event-forwarder.service.d.ts +4 -1
- package/dist/server/modules/cloud-tunnel/services/tunnel-event-forwarder.service.js +16 -2
- package/dist/server/modules/cloud-tunnel/services/tunnel-event-forwarder.service.js.map +1 -1
- package/dist/server/modules/cloud-tunnel/services/tunnel-handler.service.d.ts +4 -1
- package/dist/server/modules/cloud-tunnel/services/tunnel-handler.service.js +64 -250
- package/dist/server/modules/cloud-tunnel/services/tunnel-handler.service.js.map +1 -1
- package/dist/server/modules/cloud-tunnel/services/tunnel-rpc-crypto.service.d.ts +0 -2
- package/dist/server/modules/cloud-tunnel/services/tunnel-rpc-crypto.service.js +7 -5
- package/dist/server/modules/cloud-tunnel/services/tunnel-rpc-crypto.service.js.map +1 -1
- package/dist/server/modules/cloud-tunnel/services/tunnel-viewport-crypto.service.d.ts +1 -2
- package/dist/server/modules/cloud-tunnel/services/tunnel-viewport-crypto.service.js +14 -16
- package/dist/server/modules/cloud-tunnel/services/tunnel-viewport-crypto.service.js.map +1 -1
- package/dist/server/modules/cloud-tunnel/services/viewport-streamer.service.d.ts +20 -3
- package/dist/server/modules/cloud-tunnel/services/viewport-streamer.service.js +139 -9
- package/dist/server/modules/cloud-tunnel/services/viewport-streamer.service.js.map +1 -1
- package/dist/server/modules/e2ee/controllers/e2ee-pairing.controller.js +3 -1
- package/dist/server/modules/e2ee/controllers/e2ee-pairing.controller.js.map +1 -1
- package/dist/server/modules/e2ee/controllers/e2ee-trust.controller.d.ts +6 -1
- package/dist/server/modules/e2ee/controllers/e2ee-trust.controller.js +56 -2
- package/dist/server/modules/e2ee/controllers/e2ee-trust.controller.js.map +1 -1
- package/dist/server/modules/e2ee/e2ee.module.js +17 -2
- package/dist/server/modules/e2ee/e2ee.module.js.map +1 -1
- package/dist/server/modules/e2ee/events/paired-device-workspace-access.events.d.ts +6 -0
- package/dist/server/modules/e2ee/events/paired-device-workspace-access.events.js +5 -0
- package/dist/server/modules/e2ee/events/paired-device-workspace-access.events.js.map +1 -0
- package/dist/server/modules/e2ee/services/e2ee-device-label.d.ts +1 -0
- package/dist/server/modules/e2ee/services/e2ee-device-label.js +17 -0
- package/dist/server/modules/e2ee/services/e2ee-device-label.js.map +1 -0
- package/dist/server/modules/e2ee/services/e2ee-device-store.service.d.ts +9 -2
- package/dist/server/modules/e2ee/services/e2ee-device-store.service.js +94 -28
- package/dist/server/modules/e2ee/services/e2ee-device-store.service.js.map +1 -1
- package/dist/server/modules/e2ee/services/e2ee-pairing.service.js +3 -1
- package/dist/server/modules/e2ee/services/e2ee-pairing.service.js.map +1 -1
- package/dist/server/modules/e2ee/services/e2ee-trust.service.d.ts +4 -0
- package/dist/server/modules/e2ee/services/e2ee-trust.service.js +33 -10
- package/dist/server/modules/e2ee/services/e2ee-trust.service.js.map +1 -1
- package/dist/server/modules/e2ee/services/paired-device-workspace-access.service.d.ts +19 -0
- package/dist/server/modules/e2ee/services/paired-device-workspace-access.service.js +103 -0
- package/dist/server/modules/e2ee/services/paired-device-workspace-access.service.js.map +1 -0
- package/dist/server/modules/epics/services/epics.service.d.ts +1 -0
- package/dist/server/modules/epics/services/epics.service.js +7 -1
- package/dist/server/modules/epics/services/epics.service.js.map +1 -1
- package/dist/server/modules/events/catalog/epic.updated.d.ts +26 -26
- package/dist/server/modules/events/catalog/index.d.ts +48 -48
- package/dist/server/modules/events/catalog/review.updated.d.ts +18 -18
- package/dist/server/modules/events/catalog/team.config.updated.d.ts +4 -4
- package/dist/server/modules/mcp/mcp-full.module.js +2 -3
- package/dist/server/modules/mcp/mcp-full.module.js.map +1 -1
- package/dist/server/modules/mcp/services/handlers/epic-tools.js +1 -1
- package/dist/server/modules/mcp/services/handlers/epic-tools.js.map +1 -1
- package/dist/server/modules/mcp/services/mcp-tool-binding.registry.d.ts +23 -0
- package/dist/server/modules/mcp/services/mcp-tool-binding.registry.js +120 -0
- package/dist/server/modules/mcp/services/mcp-tool-binding.registry.js.map +1 -0
- package/dist/server/modules/mcp/services/mcp.service.d.ts +4 -45
- package/dist/server/modules/mcp/services/mcp.service.js +15 -265
- package/dist/server/modules/mcp/services/mcp.service.js.map +1 -1
- package/dist/server/modules/mcp/services/testing/mcp-tool-binding-registry.fixture.d.ts +5 -0
- package/dist/server/modules/mcp/services/testing/mcp-tool-binding-registry.fixture.js +8 -0
- package/dist/server/modules/mcp/services/testing/mcp-tool-binding-registry.fixture.js.map +1 -0
- package/dist/server/modules/mcp/standalone-mcp.module.js +3 -10
- package/dist/server/modules/mcp/standalone-mcp.module.js.map +1 -1
- package/dist/server/modules/mcp/tool-descriptors/agent.bindings.d.ts +1 -2
- package/dist/server/modules/mcp/tool-descriptors/agent.bindings.js +15 -2
- package/dist/server/modules/mcp/tool-descriptors/agent.bindings.js.map +1 -1
- package/dist/server/modules/mcp/tool-descriptors/binding-types.d.ts +38 -0
- package/dist/server/modules/mcp/tool-descriptors/binding-types.js +10 -0
- package/dist/server/modules/mcp/tool-descriptors/binding-types.js.map +1 -0
- package/dist/server/modules/mcp/tool-descriptors/chat.bindings.d.ts +1 -2
- package/dist/server/modules/mcp/tool-descriptors/chat.bindings.js +16 -2
- package/dist/server/modules/mcp/tool-descriptors/chat.bindings.js.map +1 -1
- package/dist/server/modules/mcp/tool-descriptors/document.bindings.d.ts +1 -2
- package/dist/server/modules/mcp/tool-descriptors/document.bindings.js +10 -2
- package/dist/server/modules/mcp/tool-descriptors/document.bindings.js.map +1 -1
- package/dist/server/modules/mcp/tool-descriptors/epic.bindings.d.ts +1 -2
- package/dist/server/modules/mcp/tool-descriptors/epic.bindings.js +12 -6
- package/dist/server/modules/mcp/tool-descriptors/epic.bindings.js.map +1 -1
- package/dist/server/modules/mcp/tool-descriptors/index.d.ts +2 -3
- package/dist/server/modules/mcp/tool-descriptors/index.js +1 -25
- package/dist/server/modules/mcp/tool-descriptors/index.js.map +1 -1
- package/dist/server/modules/mcp/tool-descriptors/project.bindings.d.ts +1 -2
- package/dist/server/modules/mcp/tool-descriptors/project.bindings.js +11 -2
- package/dist/server/modules/mcp/tool-descriptors/project.bindings.js.map +1 -1
- package/dist/server/modules/mcp/tool-descriptors/prompt.bindings.d.ts +1 -2
- package/dist/server/modules/mcp/tool-descriptors/prompt.bindings.js +11 -2
- package/dist/server/modules/mcp/tool-descriptors/prompt.bindings.js.map +1 -1
- package/dist/server/modules/mcp/tool-descriptors/record.bindings.d.ts +1 -2
- package/dist/server/modules/mcp/tool-descriptors/record.bindings.js +6 -2
- package/dist/server/modules/mcp/tool-descriptors/record.bindings.js.map +1 -1
- package/dist/server/modules/mcp/tool-descriptors/review.bindings.d.ts +1 -2
- package/dist/server/modules/mcp/tool-descriptors/review.bindings.js +13 -2
- package/dist/server/modules/mcp/tool-descriptors/review.bindings.js.map +1 -1
- package/dist/server/modules/mcp/tool-descriptors/runtime-bindings.d.ts +2 -0
- package/dist/server/modules/mcp/tool-descriptors/runtime-bindings.js +29 -0
- package/dist/server/modules/mcp/tool-descriptors/runtime-bindings.js.map +1 -0
- package/dist/server/modules/mcp/tool-descriptors/session.bindings.d.ts +1 -2
- package/dist/server/modules/mcp/tool-descriptors/session.bindings.js +11 -2
- package/dist/server/modules/mcp/tool-descriptors/session.bindings.js.map +1 -1
- package/dist/server/modules/mcp/tool-descriptors/skill.bindings.d.ts +1 -2
- package/dist/server/modules/mcp/tool-descriptors/skill.bindings.js +10 -2
- package/dist/server/modules/mcp/tool-descriptors/skill.bindings.js.map +1 -1
- package/dist/server/modules/mcp/tool-descriptors/team.bindings.d.ts +1 -2
- package/dist/server/modules/mcp/tool-descriptors/team.bindings.js +11 -2
- package/dist/server/modules/mcp/tool-descriptors/team.bindings.js.map +1 -1
- package/dist/server/modules/mcp/tool-descriptors/types.d.ts +0 -2
- package/dist/server/modules/project-communication/project-communication.service.d.ts +2 -0
- package/dist/server/modules/project-communication/project-communication.service.js +72 -20
- package/dist/server/modules/project-communication/project-communication.service.js.map +1 -1
- package/dist/server/modules/projects/controllers/projects.controller.d.ts +2 -1
- package/dist/server/modules/projects/controllers/projects.controller.js +16 -3
- package/dist/server/modules/projects/controllers/projects.controller.js.map +1 -1
- package/dist/server/modules/projects/dtos/template-upgrade.dto.d.ts +1 -0
- package/dist/server/modules/projects/dtos/template-upgrade.dto.js +9 -0
- package/dist/server/modules/projects/dtos/template-upgrade.dto.js.map +1 -1
- package/dist/server/modules/projects/events/project-workspace-changed.events.d.ts +6 -0
- package/dist/server/modules/projects/events/project-workspace-changed.events.js +5 -0
- package/dist/server/modules/projects/events/project-workspace-changed.events.js.map +1 -0
- package/dist/server/modules/projects/helpers/template-loader.d.ts +1 -0
- package/dist/server/modules/projects/helpers/template-loader.js +1 -0
- package/dist/server/modules/projects/helpers/template-loader.js.map +1 -1
- package/dist/server/modules/projects/services/project-registry-import.service.d.ts +2 -0
- package/dist/server/modules/projects/services/project-registry-import.service.js +3 -1
- package/dist/server/modules/projects/services/project-registry-import.service.js.map +1 -1
- package/dist/server/modules/projects/services/projects.service.d.ts +4 -1
- package/dist/server/modules/projects/services/projects.service.js +17 -3
- package/dist/server/modules/projects/services/projects.service.js.map +1 -1
- package/dist/server/modules/scheduled-epics/services/scheduled-epics.service.js +14 -16
- package/dist/server/modules/scheduled-epics/services/scheduled-epics.service.js.map +1 -1
- package/dist/server/modules/seeders/seeders/0003_seed_preseed_jeffallan_claude_skills.js +45 -15
- package/dist/server/modules/seeders/seeders/0003_seed_preseed_jeffallan_claude_skills.js.map +1 -1
- package/dist/server/modules/seeders/seeders/0005_seed_renew_instructions_subscriber.js +2 -2
- package/dist/server/modules/seeders/seeders/0005_seed_renew_instructions_subscriber.js.map +1 -1
- package/dist/server/modules/session-reader/data/pricing.json +51 -4
- package/dist/server/modules/session-reader/services/transcript-serialization.d.ts +13 -0
- package/dist/server/modules/session-reader/services/transcript-serialization.js +41 -0
- package/dist/server/modules/session-reader/services/transcript-serialization.js.map +1 -1
- package/dist/server/modules/session-terminal-runtime/session-terminal-runtime.module.d.ts +2 -0
- package/dist/server/modules/session-terminal-runtime/session-terminal-runtime.module.js +25 -0
- package/dist/server/modules/session-terminal-runtime/session-terminal-runtime.module.js.map +1 -0
- package/dist/server/modules/session-terminal-runtime/session-terminal-runtime.service.d.ts +19 -0
- package/dist/server/modules/session-terminal-runtime/session-terminal-runtime.service.js +118 -0
- package/dist/server/modules/session-terminal-runtime/session-terminal-runtime.service.js.map +1 -0
- package/dist/server/modules/session-terminal-runtime/session-terminal-runtime.types.d.ts +10 -0
- package/dist/server/modules/session-terminal-runtime/session-terminal-runtime.types.js +3 -0
- package/dist/server/modules/session-terminal-runtime/session-terminal-runtime.types.js.map +1 -0
- package/dist/server/modules/sessions/services/message-enqueue.service.d.ts +2 -1
- package/dist/server/modules/sessions/services/message-enqueue.service.js +1 -0
- package/dist/server/modules/sessions/services/message-enqueue.service.js.map +1 -1
- package/dist/server/modules/sessions/services/message-pool.types.d.ts +6 -1
- package/dist/server/modules/sessions/services/message-pool.types.js +10 -1
- package/dist/server/modules/sessions/services/message-pool.types.js.map +1 -1
- package/dist/server/modules/sessions/services/provider-runtime-preparation/index.d.ts +2 -0
- package/dist/server/modules/sessions/services/provider-runtime-preparation/index.js +6 -0
- package/dist/server/modules/sessions/services/provider-runtime-preparation/index.js.map +1 -0
- package/dist/server/modules/sessions/services/provider-runtime-preparation/provider-runtime-preparation.service.d.ts +24 -0
- package/dist/server/modules/sessions/services/provider-runtime-preparation/provider-runtime-preparation.service.js +297 -0
- package/dist/server/modules/sessions/services/provider-runtime-preparation/provider-runtime-preparation.service.js.map +1 -0
- package/dist/server/modules/sessions/services/provider-runtime-preparation/provider-runtime-preparation.types.d.ts +41 -0
- package/dist/server/modules/sessions/services/provider-runtime-preparation/provider-runtime-preparation.types.js +8 -0
- package/dist/server/modules/sessions/services/provider-runtime-preparation/provider-runtime-preparation.types.js.map +1 -0
- package/dist/server/modules/sessions/services/session-runtime/__test-utils__/pipeline-harness.d.ts +33 -37
- package/dist/server/modules/sessions/services/session-runtime/__test-utils__/pipeline-harness.js +37 -56
- package/dist/server/modules/sessions/services/session-runtime/__test-utils__/pipeline-harness.js.map +1 -1
- package/dist/server/modules/sessions/services/session-runtime/session-launch-pipeline.service.d.ts +3 -5
- package/dist/server/modules/sessions/services/session-runtime/session-launch-pipeline.service.js +23 -112
- package/dist/server/modules/sessions/services/session-runtime/session-launch-pipeline.service.js.map +1 -1
- package/dist/server/modules/sessions/services/session-runtime/session-restore-pipeline.service.d.ts +3 -9
- package/dist/server/modules/sessions/services/session-runtime/session-restore-pipeline.service.js +23 -125
- package/dist/server/modules/sessions/services/session-runtime/session-restore-pipeline.service.js.map +1 -1
- package/dist/server/modules/sessions/services/sessions-message-pool.service.d.ts +13 -1
- package/dist/server/modules/sessions/services/sessions-message-pool.service.js +253 -20
- package/dist/server/modules/sessions/services/sessions-message-pool.service.js.map +1 -1
- package/dist/server/modules/sessions/services/sessions.service.d.ts +0 -13
- package/dist/server/modules/sessions/services/sessions.service.js +0 -66
- package/dist/server/modules/sessions/services/sessions.service.js.map +1 -1
- package/dist/server/modules/sessions/sessions-lifecycle.module.js.map +1 -1
- package/dist/server/modules/sessions/sessions.module.js +3 -1
- package/dist/server/modules/sessions/sessions.module.js.map +1 -1
- package/dist/server/modules/settings/dtos/settings.dto.d.ts +2 -2
- package/dist/server/modules/skills/controllers/community-sources.controller.d.ts +3 -3
- package/dist/server/modules/skills/controllers/community-sources.controller.js +8 -8
- package/dist/server/modules/skills/controllers/community-sources.controller.js.map +1 -1
- package/dist/server/modules/skills/controllers/local-sources.controller.d.ts +3 -3
- package/dist/server/modules/skills/controllers/local-sources.controller.js +8 -8
- package/dist/server/modules/skills/controllers/local-sources.controller.js.map +1 -1
- package/dist/server/modules/skills/controllers/skills.controller.d.ts +4 -3
- package/dist/server/modules/skills/controllers/skills.controller.js +7 -7
- package/dist/server/modules/skills/controllers/skills.controller.js.map +1 -1
- package/dist/server/modules/skills/services/skill-source-lifecycle.service.d.ts +42 -0
- package/dist/server/modules/skills/services/{local-sources.service.js → skill-source-lifecycle.service.js} +187 -62
- package/dist/server/modules/skills/services/skill-source-lifecycle.service.js.map +1 -0
- package/dist/server/modules/skills/services/skill-sync.service.d.ts +2 -20
- package/dist/server/modules/skills/services/skill-sync.service.js +30 -68
- package/dist/server/modules/skills/services/skill-sync.service.js.map +1 -1
- package/dist/server/modules/skills/services/skill-sync.types.d.ts +14 -0
- package/dist/server/modules/{mcp/services/handlers/types.js → skills/services/skill-sync.types.js} +1 -1
- package/dist/server/modules/skills/services/skill-sync.types.js.map +1 -0
- package/dist/server/modules/skills/services/skills.service.d.ts +0 -1
- package/dist/server/modules/skills/services/skills.service.js +0 -3
- package/dist/server/modules/skills/services/skills.service.js.map +1 -1
- package/dist/server/modules/skills/skills.module.js +2 -5
- package/dist/server/modules/skills/skills.module.js.map +1 -1
- package/dist/server/modules/storage/db/db.provider.d.ts +4 -0
- package/dist/server/modules/storage/db/db.provider.js +13 -1
- package/dist/server/modules/storage/db/db.provider.js.map +1 -1
- package/dist/server/modules/storage/db/schema.d.ts +182 -0
- package/dist/server/modules/storage/db/schema.js +23 -2
- package/dist/server/modules/storage/db/schema.js.map +1 -1
- package/dist/server/modules/storage/db/transaction-runner.d.ts +9 -0
- package/dist/server/modules/storage/db/transaction-runner.js +142 -4
- package/dist/server/modules/storage/db/transaction-runner.js.map +1 -1
- package/dist/server/modules/storage/interfaces/storage.interface.d.ts +31 -9
- package/dist/server/modules/storage/interfaces/storage.interface.js.map +1 -1
- package/dist/server/modules/storage/local/delegates/agent.delegate.d.ts +3 -2
- package/dist/server/modules/storage/local/delegates/agent.delegate.js +45 -6
- package/dist/server/modules/storage/local/delegates/agent.delegate.js.map +1 -1
- package/dist/server/modules/storage/local/delegates/base-storage.delegate.d.ts +2 -0
- package/dist/server/modules/storage/local/delegates/base-storage.delegate.js +3 -0
- package/dist/server/modules/storage/local/delegates/base-storage.delegate.js.map +1 -1
- package/dist/server/modules/storage/local/delegates/document.delegate.d.ts +4 -6
- package/dist/server/modules/storage/local/delegates/document.delegate.js +86 -79
- package/dist/server/modules/storage/local/delegates/document.delegate.js.map +1 -1
- package/dist/server/modules/storage/local/delegates/epic.delegate.d.ts +6 -4
- package/dist/server/modules/storage/local/delegates/epic.delegate.js +94 -60
- package/dist/server/modules/storage/local/delegates/epic.delegate.js.map +1 -1
- package/dist/server/modules/storage/local/delegates/project-workspace.delegate.d.ts +16 -0
- package/dist/server/modules/storage/local/delegates/project-workspace.delegate.js +191 -0
- package/dist/server/modules/storage/local/delegates/project-workspace.delegate.js.map +1 -0
- package/dist/server/modules/storage/local/delegates/project.delegate.d.ts +7 -2
- package/dist/server/modules/storage/local/delegates/project.delegate.js +126 -140
- package/dist/server/modules/storage/local/delegates/project.delegate.js.map +1 -1
- package/dist/server/modules/storage/local/delegates/prompt.delegate.d.ts +3 -2
- package/dist/server/modules/storage/local/delegates/prompt.delegate.js +65 -66
- package/dist/server/modules/storage/local/delegates/prompt.delegate.js.map +1 -1
- package/dist/server/modules/storage/local/delegates/record.delegate.d.ts +3 -2
- package/dist/server/modules/storage/local/delegates/record.delegate.js +76 -62
- package/dist/server/modules/storage/local/delegates/record.delegate.js.map +1 -1
- package/dist/server/modules/storage/local/delegates/review.delegate.d.ts +3 -6
- package/dist/server/modules/storage/local/delegates/review.delegate.js +93 -72
- package/dist/server/modules/storage/local/delegates/review.delegate.js.map +1 -1
- package/dist/server/modules/storage/local/delegates/scheduled-epic.delegate.d.ts +4 -2
- package/dist/server/modules/storage/local/delegates/scheduled-epic.delegate.js +53 -20
- package/dist/server/modules/storage/local/delegates/scheduled-epic.delegate.js.map +1 -1
- package/dist/server/modules/storage/local/delegates/skill-source.delegate.d.ts +7 -11
- package/dist/server/modules/storage/local/delegates/skill-source.delegate.js +135 -160
- package/dist/server/modules/storage/local/delegates/skill-source.delegate.js.map +1 -1
- package/dist/server/modules/storage/local/delegates/tag.delegate.d.ts +1 -0
- package/dist/server/modules/storage/local/delegates/tag.delegate.js +11 -5
- package/dist/server/modules/storage/local/delegates/tag.delegate.js.map +1 -1
- package/dist/server/modules/storage/local/helpers/storage-helpers.d.ts +0 -2
- package/dist/server/modules/storage/local/helpers/storage-helpers.js +1 -24
- package/dist/server/modules/storage/local/helpers/storage-helpers.js.map +1 -1
- package/dist/server/modules/storage/local/local-storage.service.d.ts +15 -12
- package/dist/server/modules/storage/local/local-storage.service.js +40 -95
- package/dist/server/modules/storage/local/local-storage.service.js.map +1 -1
- package/dist/server/modules/storage/local/versioned-mutation.executor.d.ts +31 -0
- package/dist/server/modules/storage/local/versioned-mutation.executor.js +50 -0
- package/dist/server/modules/storage/local/versioned-mutation.executor.js.map +1 -0
- package/dist/server/modules/storage/models/domain.models.d.ts +18 -1
- package/dist/server/modules/subscribers/actions/action.interface.d.ts +4 -0
- package/dist/server/modules/subscribers/actions/actions.registry.js +4 -0
- package/dist/server/modules/subscribers/actions/actions.registry.js.map +1 -1
- package/dist/server/modules/subscribers/actions/delete-agent.action.d.ts +16 -0
- package/dist/server/modules/subscribers/actions/delete-agent.action.js +200 -0
- package/dist/server/modules/subscribers/actions/delete-agent.action.js.map +1 -0
- package/dist/server/modules/subscribers/actions/family-agent-targets.d.ts +4 -0
- package/dist/server/modules/subscribers/actions/family-agent-targets.js +35 -0
- package/dist/server/modules/subscribers/actions/family-agent-targets.js.map +1 -0
- package/dist/server/modules/subscribers/actions/send-message.action.js +22 -9
- package/dist/server/modules/subscribers/actions/send-message.action.js.map +1 -1
- package/dist/server/modules/subscribers/actions/terminate-session.action.d.ts +27 -0
- package/dist/server/modules/subscribers/actions/terminate-session.action.js +204 -0
- package/dist/server/modules/subscribers/actions/terminate-session.action.js.map +1 -0
- package/dist/server/modules/subscribers/dtos/subscriber.dto.js +3 -2
- package/dist/server/modules/subscribers/dtos/subscriber.dto.js.map +1 -1
- package/dist/server/modules/subscribers/events/event-fields-catalog.js +1 -1
- package/dist/server/modules/subscribers/events/event-fields-catalog.js.map +1 -1
- package/dist/server/modules/subscribers/services/subscriber-executor.service.d.ts +3 -3
- package/dist/server/modules/subscribers/services/subscriber-executor.service.js +7 -13
- package/dist/server/modules/subscribers/services/subscriber-executor.service.js.map +1 -1
- package/dist/server/modules/subscribers/subscribers.module.js +2 -0
- package/dist/server/modules/subscribers/subscribers.module.js.map +1 -1
- package/dist/server/modules/teams/services/teams.service.d.ts +9 -0
- package/dist/server/modules/teams/services/teams.service.js +24 -6
- package/dist/server/modules/teams/services/teams.service.js.map +1 -1
- package/dist/server/modules/terminal/gateways/terminal.gateway.d.ts +6 -4
- package/dist/server/modules/terminal/gateways/terminal.gateway.js +13 -12
- package/dist/server/modules/terminal/gateways/terminal.gateway.js.map +1 -1
- package/dist/server/modules/terminal/services/pty.service.d.ts +7 -7
- package/dist/server/modules/terminal/services/pty.service.js +21 -24
- package/dist/server/modules/terminal/services/pty.service.js.map +1 -1
- package/dist/server/modules/terminal/services/terminal-key-input/terminal-key-input.facade.js.map +1 -1
- package/dist/server/modules/terminal/services/terminal-registry-rehydrator.service.d.ts +3 -3
- package/dist/server/modules/terminal/services/terminal-registry-rehydrator.service.js +8 -12
- package/dist/server/modules/terminal/services/terminal-registry-rehydrator.service.js.map +1 -1
- package/dist/server/modules/terminal/services/terminal-seed.service.d.ts +3 -3
- package/dist/server/modules/terminal/services/terminal-seed.service.js +11 -18
- package/dist/server/modules/terminal/services/terminal-seed.service.js.map +1 -1
- package/dist/server/modules/terminal/services/terminal-viewport/terminal-viewport.facade.js.map +1 -1
- package/dist/server/modules/terminal/terminal-key-input.module.js.map +1 -1
- package/dist/server/modules/terminal/terminal-viewport.module.js.map +1 -1
- package/dist/server/modules/terminal/terminal.module.js +2 -2
- package/dist/server/modules/terminal/terminal.module.js.map +1 -1
- package/dist/server/modules/workspaces/controllers/workspaces.controller.d.ts +11 -0
- package/dist/server/modules/workspaces/controllers/workspaces.controller.js +101 -0
- package/dist/server/modules/workspaces/controllers/workspaces.controller.js.map +1 -0
- package/dist/server/modules/workspaces/services/workspace-mode-control.d.ts +6 -0
- package/dist/server/modules/workspaces/services/workspace-mode-control.js +5 -0
- package/dist/server/modules/workspaces/services/workspace-mode-control.js.map +1 -0
- package/dist/server/modules/workspaces/services/workspace-mode-coordinator.service.d.ts +23 -0
- package/dist/server/modules/workspaces/services/workspace-mode-coordinator.service.js +137 -0
- package/dist/server/modules/workspaces/services/workspace-mode-coordinator.service.js.map +1 -0
- package/dist/server/modules/workspaces/services/workspaces.service.d.ts +11 -0
- package/dist/server/modules/workspaces/services/workspaces.service.js +41 -0
- package/dist/server/modules/workspaces/services/workspaces.service.js.map +1 -0
- package/dist/server/modules/workspaces/workspaces.module.d.ts +2 -0
- package/dist/server/modules/workspaces/workspaces.module.js +26 -0
- package/dist/server/modules/workspaces/workspaces.module.js.map +1 -0
- package/dist/server/templates/teams-dev.json +214 -15
- package/dist/server/tsconfig.tsbuildinfo +1 -1
- package/dist/server/ui/assets/{ReviewDetailPage-BXLlZvPO.js → ReviewDetailPage-CNffXKv8.js} +1 -1
- package/dist/server/ui/assets/{ReviewsPage-CmFUc6IP.js → ReviewsPage-DAcufZ3r.js} +1 -1
- package/dist/server/ui/assets/index-7iCs8Dxj.js +1153 -0
- package/dist/server/ui/assets/index-CLXZjL_B.css +32 -0
- package/dist/server/ui/assets/{useReviewSubscription-Ch8K_5xz.js → useReviewSubscription-DD29I7uU.js} +1 -1
- package/dist/server/ui/index.html +2 -2
- package/dist/templates/teams-dev.json +214 -15
- package/package.json +13 -2
- package/dist/server/modules/mcp/services/handlers/types.d.ts +0 -2
- package/dist/server/modules/mcp/services/handlers/types.js.map +0 -1
- package/dist/server/modules/skills/services/community-sources.service.d.ts +0 -18
- package/dist/server/modules/skills/services/community-sources.service.js +0 -161
- package/dist/server/modules/skills/services/community-sources.service.js.map +0 -1
- package/dist/server/modules/skills/services/local-sources.service.d.ts +0 -20
- package/dist/server/modules/skills/services/local-sources.service.js.map +0 -1
- package/dist/server/ui/assets/index-LNBfBNWF.js +0 -1148
- package/dist/server/ui/assets/index-NypjSmlZ.css +0 -32
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.VersionedMutationExecutor = void 0;
|
|
4
|
+
const error_types_1 = require("../../../common/errors/error-types");
|
|
5
|
+
class VersionedMutationExecutor {
|
|
6
|
+
transactionRunner;
|
|
7
|
+
constructor(transactionRunner) {
|
|
8
|
+
this.transactionRunner = transactionRunner;
|
|
9
|
+
}
|
|
10
|
+
execute(spec) {
|
|
11
|
+
return this.transactionRunner.runImmediateQueuedOrJoin(() => {
|
|
12
|
+
const current = spec.loadCurrent();
|
|
13
|
+
const actualVersion = spec.versionOf(current);
|
|
14
|
+
if (spec.expectedVersion !== undefined && spec.expectedVersion !== actualVersion) {
|
|
15
|
+
throw this.optimisticLockError(spec.resource, spec.id, spec.expectedVersion, actualVersion);
|
|
16
|
+
}
|
|
17
|
+
const context = {
|
|
18
|
+
current,
|
|
19
|
+
actualVersion,
|
|
20
|
+
nextVersion: actualVersion + 1,
|
|
21
|
+
};
|
|
22
|
+
const preparation = spec.prepare(context);
|
|
23
|
+
if (preparation.kind === 'no_change') {
|
|
24
|
+
return preparation.result;
|
|
25
|
+
}
|
|
26
|
+
const changes = spec.write(context, preparation.state);
|
|
27
|
+
if (changes === 0) {
|
|
28
|
+
const reloaded = spec.loadCurrent();
|
|
29
|
+
throw this.optimisticLockError(spec.resource, spec.id, actualVersion, spec.versionOf(reloaded));
|
|
30
|
+
}
|
|
31
|
+
if (changes !== 1) {
|
|
32
|
+
throw new error_types_1.StorageError('Versioned mutation changed an unexpected number of rows.', {
|
|
33
|
+
resource: spec.resource,
|
|
34
|
+
id: spec.id,
|
|
35
|
+
changes,
|
|
36
|
+
});
|
|
37
|
+
}
|
|
38
|
+
spec.afterWrite?.(context, preparation.state);
|
|
39
|
+
return spec.loadResult();
|
|
40
|
+
});
|
|
41
|
+
}
|
|
42
|
+
optimisticLockError(resource, id, expectedVersion, actualVersion) {
|
|
43
|
+
return new error_types_1.OptimisticLockError(resource, id, {
|
|
44
|
+
expectedVersion,
|
|
45
|
+
actualVersion,
|
|
46
|
+
});
|
|
47
|
+
}
|
|
48
|
+
}
|
|
49
|
+
exports.VersionedMutationExecutor = VersionedMutationExecutor;
|
|
50
|
+
//# sourceMappingURL=versioned-mutation.executor.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"versioned-mutation.executor.js","sourceRoot":"","sources":["../../../../src/modules/storage/local/versioned-mutation.executor.ts"],"names":[],"mappings":";;;AAAA,oEAAuF;AAyBvF,MAAa,yBAAyB;IACP;IAA7B,YAA6B,iBAAoC;QAApC,sBAAiB,GAAjB,iBAAiB,CAAmB;IAAG,CAAC;IAErE,OAAO,CACL,IAAsD;QAEtD,OAAO,IAAI,CAAC,iBAAiB,CAAC,wBAAwB,CAAC,GAAG,EAAE;YAC1D,MAAM,OAAO,GAAG,IAAI,CAAC,WAAW,EAAE,CAAC;YACnC,MAAM,aAAa,GAAG,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC;YAE9C,IAAI,IAAI,CAAC,eAAe,KAAK,SAAS,IAAI,IAAI,CAAC,eAAe,KAAK,aAAa,EAAE,CAAC;gBACjF,MAAM,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,EAAE,EAAE,IAAI,CAAC,eAAe,EAAE,aAAa,CAAC,CAAC;YAC9F,CAAC;YAED,MAAM,OAAO,GAA8B;gBACzC,OAAO;gBACP,aAAa;gBACb,WAAW,EAAE,aAAa,GAAG,CAAC;aAC/B,CAAC;YACF,MAAM,WAAW,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;YAC1C,IAAI,WAAW,CAAC,IAAI,KAAK,WAAW,EAAE,CAAC;gBACrC,OAAO,WAAW,CAAC,MAAM,CAAC;YAC5B,CAAC;YAED,MAAM,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE,WAAW,CAAC,KAAK,CAAC,CAAC;YACvD,IAAI,OAAO,KAAK,CAAC,EAAE,CAAC;gBAClB,MAAM,QAAQ,GAAG,IAAI,CAAC,WAAW,EAAE,CAAC;gBACpC,MAAM,IAAI,CAAC,mBAAmB,CAC5B,IAAI,CAAC,QAAQ,EACb,IAAI,CAAC,EAAE,EACP,aAAa,EACb,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,CACzB,CAAC;YACJ,CAAC;YACD,IAAI,OAAO,KAAK,CAAC,EAAE,CAAC;gBAClB,MAAM,IAAI,0BAAY,CAAC,0DAA0D,EAAE;oBACjF,QAAQ,EAAE,IAAI,CAAC,QAAQ;oBACvB,EAAE,EAAE,IAAI,CAAC,EAAE;oBACX,OAAO;iBACR,CAAC,CAAC;YACL,CAAC;YAED,IAAI,CAAC,UAAU,EAAE,CAAC,OAAO,EAAE,WAAW,CAAC,KAAK,CAAC,CAAC;YAC9C,OAAO,IAAI,CAAC,UAAU,EAAE,CAAC;QAC3B,CAAC,CAAC,CAAC;IACL,CAAC;IAEO,mBAAmB,CACzB,QAAgB,EAChB,EAAU,EACV,eAAuB,EACvB,aAAqB;QAErB,OAAO,IAAI,iCAAmB,CAAC,QAAQ,EAAE,EAAE,EAAE;YAC3C,eAAe;YACf,aAAa;SACd,CAAC,CAAC;IACL,CAAC;CACF;AA1DD,8DA0DC"}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
export interface Project {
|
|
2
2
|
id: string;
|
|
3
|
+
workspaceId: string;
|
|
3
4
|
name: string;
|
|
4
5
|
description: string | null;
|
|
5
6
|
rootPath: string;
|
|
@@ -7,6 +8,20 @@ export interface Project {
|
|
|
7
8
|
createdAt: string;
|
|
8
9
|
updatedAt: string;
|
|
9
10
|
}
|
|
11
|
+
export interface ProjectWorkspace {
|
|
12
|
+
id: string;
|
|
13
|
+
name: string;
|
|
14
|
+
isDefault: boolean;
|
|
15
|
+
position: number;
|
|
16
|
+
projectCount: number;
|
|
17
|
+
deviceGrantCount: number;
|
|
18
|
+
createdAt: string;
|
|
19
|
+
updatedAt: string;
|
|
20
|
+
}
|
|
21
|
+
export interface DeleteProjectWorkspaceResult {
|
|
22
|
+
movedProjectCount: number;
|
|
23
|
+
remappedDeviceGrantCount: number;
|
|
24
|
+
}
|
|
10
25
|
export interface Status {
|
|
11
26
|
id: string;
|
|
12
27
|
projectId: string;
|
|
@@ -220,7 +235,9 @@ export interface EpicComment {
|
|
|
220
235
|
createdAt: string;
|
|
221
236
|
updatedAt: string;
|
|
222
237
|
}
|
|
223
|
-
export type CreateProject = Omit<Project, 'id' | 'createdAt' | 'updatedAt'
|
|
238
|
+
export type CreateProject = Omit<Project, 'id' | 'workspaceId' | 'createdAt' | 'updatedAt'> & {
|
|
239
|
+
workspaceId?: string;
|
|
240
|
+
};
|
|
224
241
|
export type UpdateProject = Partial<Omit<Project, 'id' | 'createdAt' | 'updatedAt'>>;
|
|
225
242
|
export type CreateStatus = Omit<Status, 'id' | 'mcpHidden' | 'createdAt' | 'updatedAt'> & {
|
|
226
243
|
mcpHidden?: boolean;
|
|
@@ -5,6 +5,7 @@ import type { SessionRuntime } from '../../sessions/services/session-runtime';
|
|
|
5
5
|
import type { SessionCoordinatorService } from '../../sessions/services/session-coordinator.service';
|
|
6
6
|
import type { AgentMessageDeliveryService } from '../../agent-message-delivery/agent-message-delivery.service';
|
|
7
7
|
import type { StorageService } from '../../storage/interfaces/storage.interface';
|
|
8
|
+
import type { TeamsService } from '../../teams/services/teams.service';
|
|
8
9
|
export interface EventEnvelope {
|
|
9
10
|
eventName: string;
|
|
10
11
|
projectId: string;
|
|
@@ -40,6 +41,7 @@ export interface ActionContext {
|
|
|
40
41
|
sessionCoordinator: SessionCoordinatorService;
|
|
41
42
|
amd: AgentMessageDeliveryService;
|
|
42
43
|
storage: StorageService;
|
|
44
|
+
teamsService: TeamsService;
|
|
43
45
|
sessionId: string;
|
|
44
46
|
agentId: string | null;
|
|
45
47
|
projectId: string;
|
|
@@ -52,6 +54,7 @@ export interface ActionResult {
|
|
|
52
54
|
message?: string;
|
|
53
55
|
error?: string;
|
|
54
56
|
data?: unknown;
|
|
57
|
+
retryable?: boolean;
|
|
55
58
|
}
|
|
56
59
|
export type ActionCategory = 'terminal' | 'session' | 'notification' | 'external';
|
|
57
60
|
export interface ActionDefinition {
|
|
@@ -59,6 +62,7 @@ export interface ActionDefinition {
|
|
|
59
62
|
name: string;
|
|
60
63
|
description: string;
|
|
61
64
|
category: ActionCategory;
|
|
65
|
+
supportsRetry?: boolean;
|
|
62
66
|
inputs: ActionInputDefinition[];
|
|
63
67
|
execute: (context: ActionContext, inputs: Record<string, unknown>) => Promise<ActionResult>;
|
|
64
68
|
}
|
|
@@ -8,9 +8,13 @@ exports.hasAction = hasAction;
|
|
|
8
8
|
exports.getActionTypes = getActionTypes;
|
|
9
9
|
const send_message_action_1 = require("./send-message.action");
|
|
10
10
|
const restart_agent_action_1 = require("./restart-agent.action");
|
|
11
|
+
const delete_agent_action_1 = require("./delete-agent.action");
|
|
12
|
+
const terminate_session_action_1 = require("./terminate-session.action");
|
|
11
13
|
exports.ACTIONS_REGISTRY = [
|
|
12
14
|
send_message_action_1.sendMessageAction,
|
|
13
15
|
restart_agent_action_1.restartAgentAction,
|
|
16
|
+
delete_agent_action_1.deleteAgentAction,
|
|
17
|
+
terminate_session_action_1.terminateSessionAction,
|
|
14
18
|
];
|
|
15
19
|
function getAction(type) {
|
|
16
20
|
return exports.ACTIONS_REGISTRY.find((action) => action.type === type);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"actions.registry.js","sourceRoot":"","sources":["../../../../src/modules/subscribers/actions/actions.registry.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"actions.registry.js","sourceRoot":"","sources":["../../../../src/modules/subscribers/actions/actions.registry.ts"],"names":[],"mappings":";;;AAmCA,8BAEC;AAQD,sCAOC;AAQD,8CAOC;AAQD,8BAEC;AAOD,wCAEC;AArFD,+DAA0D;AAC1D,iEAA4D;AAC5D,+DAA0D;AAC1D,yEAAoE;AAgBvD,QAAA,gBAAgB,GAAuB;IAClD,uCAAiB;IACjB,yCAAkB;IAClB,uCAAiB;IACjB,iDAAsB;CAGvB,CAAC;AAQF,SAAgB,SAAS,CAAC,IAAY;IACpC,OAAO,wBAAgB,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,IAAI,KAAK,IAAI,CAAC,CAAC;AACjE,CAAC;AAQD,SAAgB,aAAa;IAC3B,OAAO,wBAAgB,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE;QAGrC,MAAM,EAAE,OAAO,EAAE,GAAG,oBAAoB,EAAE,GAAG,MAAM,CAAC;QACpD,OAAO,oBAAoB,CAAC;IAC9B,CAAC,CAAC,CAAC;AACL,CAAC;AAQD,SAAgB,iBAAiB,CAAC,IAAY;IAC5C,MAAM,MAAM,GAAG,SAAS,CAAC,IAAI,CAAC,CAAC;IAC/B,IAAI,CAAC,MAAM;QAAE,OAAO,SAAS,CAAC;IAG9B,MAAM,EAAE,OAAO,EAAE,GAAG,oBAAoB,EAAE,GAAG,MAAM,CAAC;IACpD,OAAO,oBAAoB,CAAC;AAC9B,CAAC;AAQD,SAAgB,SAAS,CAAC,IAAY;IACpC,OAAO,wBAAgB,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,IAAI,KAAK,IAAI,CAAC,CAAC;AACjE,CAAC;AAOD,SAAgB,cAAc;IAC5B,OAAO,wBAAgB,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;AACvD,CAAC"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import type { ActionDefinition } from './action.interface';
|
|
2
|
+
export interface DeleteAgentTargetResult {
|
|
3
|
+
id: string;
|
|
4
|
+
name: string;
|
|
5
|
+
}
|
|
6
|
+
export interface DeleteAgentFailure extends DeleteAgentTargetResult {
|
|
7
|
+
stage: 'preflight' | 'session_termination' | 'deletion' | 'preset_cleanup';
|
|
8
|
+
error: string;
|
|
9
|
+
}
|
|
10
|
+
export interface DeleteAgentResultData {
|
|
11
|
+
resolvedBy: 'agentName' | 'familySlug' | 'event';
|
|
12
|
+
matched: DeleteAgentTargetResult[];
|
|
13
|
+
deleted: DeleteAgentTargetResult[];
|
|
14
|
+
failed: DeleteAgentFailure[];
|
|
15
|
+
}
|
|
16
|
+
export declare const deleteAgentAction: ActionDefinition;
|
|
@@ -0,0 +1,200 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.deleteAgentAction = void 0;
|
|
4
|
+
const family_agent_targets_1 = require("./family-agent-targets");
|
|
5
|
+
function getErrorMessage(error) {
|
|
6
|
+
return error instanceof Error ? error.message : String(error);
|
|
7
|
+
}
|
|
8
|
+
function compareText(left, right) {
|
|
9
|
+
if (left < right)
|
|
10
|
+
return -1;
|
|
11
|
+
if (left > right)
|
|
12
|
+
return 1;
|
|
13
|
+
return 0;
|
|
14
|
+
}
|
|
15
|
+
function describeTarget(target) {
|
|
16
|
+
return `"${target.name}" [${target.id}]`;
|
|
17
|
+
}
|
|
18
|
+
function describeTargets(targets) {
|
|
19
|
+
return targets.length > 0 ? targets.map(describeTarget).join(', ') : 'none';
|
|
20
|
+
}
|
|
21
|
+
function summarize(data) {
|
|
22
|
+
const failed = data.failed.length > 0
|
|
23
|
+
? data.failed.map((target) => `${describeTarget(target)} — ${target.error}`).join(', ')
|
|
24
|
+
: 'none';
|
|
25
|
+
return `Matched (${data.matched.length}): ${describeTargets(data.matched)}; Deleted (${data.deleted.length}): ${describeTargets(data.deleted)}; Failed (${data.failed.length}): ${failed}`;
|
|
26
|
+
}
|
|
27
|
+
function failedResult(data, reason) {
|
|
28
|
+
const summary = summarize(data);
|
|
29
|
+
return {
|
|
30
|
+
success: false,
|
|
31
|
+
error: reason ? `${summary}. ${reason}` : summary,
|
|
32
|
+
data,
|
|
33
|
+
retryable: false,
|
|
34
|
+
};
|
|
35
|
+
}
|
|
36
|
+
function toTargetResult(agent) {
|
|
37
|
+
return { id: agent.id, name: agent.name };
|
|
38
|
+
}
|
|
39
|
+
exports.deleteAgentAction = {
|
|
40
|
+
type: 'delete_agent',
|
|
41
|
+
name: 'Delete Agent',
|
|
42
|
+
description: 'Permanently delete an agent or profile-family batch. Project Owners and Team Leads are protected.',
|
|
43
|
+
category: 'session',
|
|
44
|
+
supportsRetry: false,
|
|
45
|
+
inputs: [
|
|
46
|
+
{
|
|
47
|
+
name: 'agentName',
|
|
48
|
+
label: 'Agent Name',
|
|
49
|
+
type: 'string',
|
|
50
|
+
required: false,
|
|
51
|
+
description: 'Optional: delete one named agent in the current project. This takes priority over Family Slug. Leave both selectors empty to use the agent that caused the event.',
|
|
52
|
+
placeholder: 'e.g., Coder',
|
|
53
|
+
},
|
|
54
|
+
{
|
|
55
|
+
name: 'familySlug',
|
|
56
|
+
label: 'Profile Family Slug',
|
|
57
|
+
type: 'string',
|
|
58
|
+
required: false,
|
|
59
|
+
description: 'Optional: delete every agent in matching profile families in the current project. Matching is case-insensitive; Agent Name takes priority. Leave both selectors empty to use the agent that caused the event.',
|
|
60
|
+
placeholder: 'e.g., engineering',
|
|
61
|
+
},
|
|
62
|
+
],
|
|
63
|
+
execute: async (context, inputs) => {
|
|
64
|
+
const { storage, teamsService, sessionsService, projectId, agentId, logger } = context;
|
|
65
|
+
const agentName = typeof inputs.agentName === 'string' ? inputs.agentName.trim() : '';
|
|
66
|
+
const familySlug = typeof inputs.familySlug === 'string' ? inputs.familySlug.trim() : '';
|
|
67
|
+
let resolvedBy = 'event';
|
|
68
|
+
let targets = [];
|
|
69
|
+
try {
|
|
70
|
+
if (agentName) {
|
|
71
|
+
resolvedBy = 'agentName';
|
|
72
|
+
const target = await storage.getAgentByName(projectId, agentName);
|
|
73
|
+
if (target.projectId !== projectId) {
|
|
74
|
+
return failedResult({ resolvedBy, matched: [], deleted: [], failed: [] }, `Refusing to delete agent from a different project (agentProjectId=${target.projectId}, contextProjectId=${projectId})`);
|
|
75
|
+
}
|
|
76
|
+
targets = [target];
|
|
77
|
+
}
|
|
78
|
+
else if (familySlug) {
|
|
79
|
+
resolvedBy = 'familySlug';
|
|
80
|
+
targets = await (0, family_agent_targets_1.resolveFamilyAgentTargets)(storage, projectId, familySlug);
|
|
81
|
+
}
|
|
82
|
+
else if (agentId) {
|
|
83
|
+
const target = await storage.getAgent(agentId);
|
|
84
|
+
if (target.projectId !== projectId) {
|
|
85
|
+
return failedResult({ resolvedBy, matched: [], deleted: [], failed: [] }, `Refusing to delete event agent from a different project (agentProjectId=${target.projectId}, contextProjectId=${projectId})`);
|
|
86
|
+
}
|
|
87
|
+
targets = [target];
|
|
88
|
+
}
|
|
89
|
+
else {
|
|
90
|
+
return failedResult({ resolvedBy, matched: [], deleted: [], failed: [] }, 'No agent matched: provide Agent Name or Family Slug, or trigger from an event with agentId');
|
|
91
|
+
}
|
|
92
|
+
const matched = targets.map(toTargetResult);
|
|
93
|
+
const baseData = { resolvedBy, matched, deleted: [], failed: [] };
|
|
94
|
+
if (targets.length === 0) {
|
|
95
|
+
const selector = resolvedBy === 'familySlug' ? `family slug "${familySlug}"` : 'selector';
|
|
96
|
+
return failedResult(baseData, `No agents matched ${selector} in project ${projectId}`);
|
|
97
|
+
}
|
|
98
|
+
const ledTeamsByAgent = await Promise.all(targets.map(async (target) => ({
|
|
99
|
+
target,
|
|
100
|
+
ledTeams: await teamsService.listTeamsLedByAgent(target.id),
|
|
101
|
+
})));
|
|
102
|
+
const protectedFailures = [];
|
|
103
|
+
for (const { target, ledTeams } of ledTeamsByAgent) {
|
|
104
|
+
const reasons = [];
|
|
105
|
+
if (target.isProjectOwner) {
|
|
106
|
+
reasons.push('protected Project Owner');
|
|
107
|
+
}
|
|
108
|
+
const sortedLedTeams = [...ledTeams].sort((left, right) => compareText(left.id, right.id));
|
|
109
|
+
if (sortedLedTeams.length > 0) {
|
|
110
|
+
reasons.push(`protected Team Lead of "${sortedLedTeams[0].name}" [${sortedLedTeams[0].id}]`);
|
|
111
|
+
}
|
|
112
|
+
if (reasons.length > 0) {
|
|
113
|
+
protectedFailures.push({
|
|
114
|
+
...toTargetResult(target),
|
|
115
|
+
stage: 'preflight',
|
|
116
|
+
error: reasons.join('; '),
|
|
117
|
+
});
|
|
118
|
+
}
|
|
119
|
+
}
|
|
120
|
+
if (protectedFailures.length > 0) {
|
|
121
|
+
return failedResult({ ...baseData, failed: protectedFailures });
|
|
122
|
+
}
|
|
123
|
+
const targetIds = new Set(targets.map((target) => target.id));
|
|
124
|
+
const activeSessions = await sessionsService.listActiveSessions(projectId, targetIds);
|
|
125
|
+
const deleted = [];
|
|
126
|
+
const failed = [];
|
|
127
|
+
for (const target of targets) {
|
|
128
|
+
const targetResult = toTargetResult(target);
|
|
129
|
+
const targetSessions = activeSessions
|
|
130
|
+
.filter((session) => session.agentId === target.id)
|
|
131
|
+
.sort((left, right) => compareText(left.id, right.id));
|
|
132
|
+
const terminationErrors = [];
|
|
133
|
+
for (const session of targetSessions) {
|
|
134
|
+
try {
|
|
135
|
+
await sessionsService.terminateSession(session.id, {
|
|
136
|
+
source: 'subscriber',
|
|
137
|
+
reason: 'agent-deletion',
|
|
138
|
+
});
|
|
139
|
+
}
|
|
140
|
+
catch (error) {
|
|
141
|
+
terminationErrors.push(`session ${session.id}: ${getErrorMessage(error)}`);
|
|
142
|
+
}
|
|
143
|
+
}
|
|
144
|
+
if (terminationErrors.length > 0) {
|
|
145
|
+
failed.push({
|
|
146
|
+
...targetResult,
|
|
147
|
+
stage: 'session_termination',
|
|
148
|
+
error: `session termination failed (${terminationErrors.join('; ')})`,
|
|
149
|
+
});
|
|
150
|
+
continue;
|
|
151
|
+
}
|
|
152
|
+
try {
|
|
153
|
+
const deletionResult = await teamsService.deleteAgentForAutomation({
|
|
154
|
+
projectId,
|
|
155
|
+
agentId: target.id,
|
|
156
|
+
});
|
|
157
|
+
deleted.push(targetResult);
|
|
158
|
+
if (deletionResult?.presetCleanupError) {
|
|
159
|
+
failed.push({
|
|
160
|
+
...targetResult,
|
|
161
|
+
stage: 'preset_cleanup',
|
|
162
|
+
error: `agent deleted, but project preset cleanup failed (${deletionResult.presetCleanupError})`,
|
|
163
|
+
});
|
|
164
|
+
}
|
|
165
|
+
}
|
|
166
|
+
catch (error) {
|
|
167
|
+
failed.push({
|
|
168
|
+
...targetResult,
|
|
169
|
+
stage: 'deletion',
|
|
170
|
+
error: `deletion failed (${getErrorMessage(error)})`,
|
|
171
|
+
});
|
|
172
|
+
}
|
|
173
|
+
}
|
|
174
|
+
const data = { resolvedBy, matched, deleted, failed };
|
|
175
|
+
if (failed.length > 0) {
|
|
176
|
+
logger.error({ projectId, data }, 'Delete Agent action completed with failures');
|
|
177
|
+
return failedResult(data);
|
|
178
|
+
}
|
|
179
|
+
logger.info({ projectId, data }, 'Delete Agent action completed');
|
|
180
|
+
return {
|
|
181
|
+
success: true,
|
|
182
|
+
message: summarize(data),
|
|
183
|
+
data,
|
|
184
|
+
retryable: false,
|
|
185
|
+
};
|
|
186
|
+
}
|
|
187
|
+
catch (error) {
|
|
188
|
+
const data = {
|
|
189
|
+
resolvedBy,
|
|
190
|
+
matched: targets.map(toTargetResult),
|
|
191
|
+
deleted: [],
|
|
192
|
+
failed: [],
|
|
193
|
+
};
|
|
194
|
+
const errorMessage = getErrorMessage(error);
|
|
195
|
+
logger.error({ projectId, error: errorMessage }, 'Delete Agent action failed');
|
|
196
|
+
return failedResult(data, `Delete Agent failed: ${errorMessage}`);
|
|
197
|
+
}
|
|
198
|
+
},
|
|
199
|
+
};
|
|
200
|
+
//# sourceMappingURL=delete-agent.action.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"delete-agent.action.js","sourceRoot":"","sources":["../../../../src/modules/subscribers/actions/delete-agent.action.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
import type { Agent } from '../../storage/models/domain.models';
|
|
2
|
+
import type { StorageService } from '../../storage/interfaces/storage.interface';
|
|
3
|
+
export type FamilyAgentTargetsStorage = Pick<StorageService, 'listAgentProfiles' | 'listAgents'>;
|
|
4
|
+
export declare function resolveFamilyAgentTargets(storage: FamilyAgentTargetsStorage, projectId: string, familySlug: string): Promise<Agent[]>;
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.resolveFamilyAgentTargets = resolveFamilyAgentTargets;
|
|
4
|
+
function normalize(value) {
|
|
5
|
+
return value.trim().toLowerCase();
|
|
6
|
+
}
|
|
7
|
+
function compareText(left, right) {
|
|
8
|
+
if (left < right)
|
|
9
|
+
return -1;
|
|
10
|
+
if (left > right)
|
|
11
|
+
return 1;
|
|
12
|
+
return 0;
|
|
13
|
+
}
|
|
14
|
+
async function resolveFamilyAgentTargets(storage, projectId, familySlug) {
|
|
15
|
+
const normalizedSlug = normalize(familySlug);
|
|
16
|
+
const [profilesResult, agentsResult] = await Promise.all([
|
|
17
|
+
storage.listAgentProfiles({ projectId, limit: 10_000, offset: 0 }),
|
|
18
|
+
storage.listAgents(projectId, { limit: 10_000, offset: 0 }),
|
|
19
|
+
]);
|
|
20
|
+
const matchingProfileIds = new Set(profilesResult.items
|
|
21
|
+
.filter((profile) => typeof profile.familySlug === 'string' &&
|
|
22
|
+
normalize(profile.familySlug) === normalizedSlug)
|
|
23
|
+
.map((profile) => profile.id));
|
|
24
|
+
const targetsById = new Map();
|
|
25
|
+
for (const agent of agentsResult.items) {
|
|
26
|
+
if (matchingProfileIds.has(agent.profileId)) {
|
|
27
|
+
targetsById.set(agent.id, agent);
|
|
28
|
+
}
|
|
29
|
+
}
|
|
30
|
+
return [...targetsById.values()].sort((left, right) => {
|
|
31
|
+
const nameOrder = compareText(normalize(left.name), normalize(right.name));
|
|
32
|
+
return nameOrder === 0 ? compareText(left.id, right.id) : nameOrder;
|
|
33
|
+
});
|
|
34
|
+
}
|
|
35
|
+
//# sourceMappingURL=family-agent-targets.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"family-agent-targets.js","sourceRoot":"","sources":["../../../../src/modules/subscribers/actions/family-agent-targets.ts"],"names":[],"mappings":";;AAsBA,8DA6BC;AA9CD,SAAS,SAAS,CAAC,KAAa;IAC9B,OAAO,KAAK,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;AACpC,CAAC;AAED,SAAS,WAAW,CAAC,IAAY,EAAE,KAAa;IAC9C,IAAI,IAAI,GAAG,KAAK;QAAE,OAAO,CAAC,CAAC,CAAC;IAC5B,IAAI,IAAI,GAAG,KAAK;QAAE,OAAO,CAAC,CAAC;IAC3B,OAAO,CAAC,CAAC;AACX,CAAC;AASM,KAAK,UAAU,yBAAyB,CAC7C,OAAkC,EAClC,SAAiB,EACjB,UAAkB;IAElB,MAAM,cAAc,GAAG,SAAS,CAAC,UAAU,CAAC,CAAC;IAC7C,MAAM,CAAC,cAAc,EAAE,YAAY,CAAC,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC;QACvD,OAAO,CAAC,iBAAiB,CAAC,EAAE,SAAS,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC,EAAE,CAAC;QAClE,OAAO,CAAC,UAAU,CAAC,SAAS,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC,EAAE,CAAC;KAC5D,CAAC,CAAC;IACH,MAAM,kBAAkB,GAAG,IAAI,GAAG,CAChC,cAAc,CAAC,KAAK;SACjB,MAAM,CACL,CAAC,OAAO,EAAE,EAAE,CACV,OAAO,OAAO,CAAC,UAAU,KAAK,QAAQ;QACtC,SAAS,CAAC,OAAO,CAAC,UAAU,CAAC,KAAK,cAAc,CACnD;SACA,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,EAAE,CAAC,CAChC,CAAC;IACF,MAAM,WAAW,GAAG,IAAI,GAAG,EAAiB,CAAC;IAC7C,KAAK,MAAM,KAAK,IAAI,YAAY,CAAC,KAAK,EAAE,CAAC;QACvC,IAAI,kBAAkB,CAAC,GAAG,CAAC,KAAK,CAAC,SAAS,CAAC,EAAE,CAAC;YAC5C,WAAW,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,EAAE,KAAK,CAAC,CAAC;QACnC,CAAC;IACH,CAAC;IACD,OAAO,CAAC,GAAG,WAAW,CAAC,MAAM,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE;QACpD,MAAM,SAAS,GAAG,WAAW,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,SAAS,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC;QAC3E,OAAO,SAAS,KAAK,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,IAAI,CAAC,EAAE,EAAE,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;IACtE,CAAC,CAAC,CAAC;AACL,CAAC"}
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.sendMessageAction = void 0;
|
|
4
|
+
const message_pool_types_1 = require("../../sessions/services/message-pool.types");
|
|
4
5
|
exports.sendMessageAction = {
|
|
5
6
|
type: 'send_agent_message',
|
|
6
7
|
name: 'Send Message to Agent',
|
|
@@ -38,12 +39,17 @@ exports.sendMessageAction = {
|
|
|
38
39
|
allowedSources: ['custom'],
|
|
39
40
|
},
|
|
40
41
|
{
|
|
41
|
-
name: '
|
|
42
|
-
label: '
|
|
43
|
-
type: '
|
|
42
|
+
name: 'deliveryMode',
|
|
43
|
+
label: 'Delivery Mode',
|
|
44
|
+
type: 'select',
|
|
44
45
|
required: false,
|
|
45
|
-
defaultValue:
|
|
46
|
-
description: '
|
|
46
|
+
defaultValue: 'default',
|
|
47
|
+
description: 'Choose when this message is delivered to the agent session',
|
|
48
|
+
options: [
|
|
49
|
+
{ value: 'default', label: 'Default (queue)' },
|
|
50
|
+
{ value: 'immediate', label: 'Deliver Immediately' },
|
|
51
|
+
{ value: 'on_idle', label: 'Delivery on Idle' },
|
|
52
|
+
],
|
|
47
53
|
allowedSources: ['custom'],
|
|
48
54
|
},
|
|
49
55
|
],
|
|
@@ -52,7 +58,14 @@ exports.sendMessageAction = {
|
|
|
52
58
|
const text = inputs.text;
|
|
53
59
|
const inputAgentName = typeof inputs.agentName === 'string' ? inputs.agentName.trim() : '';
|
|
54
60
|
const submitKey = inputs.submitKey || 'Enter';
|
|
55
|
-
const
|
|
61
|
+
const requestedDeliveryMode = inputs.deliveryMode;
|
|
62
|
+
if (requestedDeliveryMode !== undefined && !(0, message_pool_types_1.isMessageDeliveryMode)(requestedDeliveryMode)) {
|
|
63
|
+
return {
|
|
64
|
+
success: false,
|
|
65
|
+
error: `Unsupported delivery mode: ${String(requestedDeliveryMode)}`,
|
|
66
|
+
};
|
|
67
|
+
}
|
|
68
|
+
const deliveryMode = requestedDeliveryMode ?? (0, message_pool_types_1.deliveryModeFromLegacyImmediate)(inputs.immediate);
|
|
56
69
|
if (!text || text.trim().length === 0) {
|
|
57
70
|
return {
|
|
58
71
|
success: false,
|
|
@@ -98,7 +111,7 @@ exports.sendMessageAction = {
|
|
|
98
111
|
senderName: agentName ?? 'Subscriber Action',
|
|
99
112
|
}, {
|
|
100
113
|
submitKeys,
|
|
101
|
-
|
|
114
|
+
deliveryMode,
|
|
102
115
|
});
|
|
103
116
|
const failed = result.results.find((recipientResult) => recipientResult.status === 'failed');
|
|
104
117
|
if (failed || result.status === 'failed') {
|
|
@@ -115,7 +128,7 @@ exports.sendMessageAction = {
|
|
|
115
128
|
resolvedBy,
|
|
116
129
|
textLength: text.length,
|
|
117
130
|
submitKey,
|
|
118
|
-
|
|
131
|
+
deliveryMode,
|
|
119
132
|
status: result.status,
|
|
120
133
|
}, result.status === 'queued' ? 'Message enqueued to pool' : 'Message sent to terminal');
|
|
121
134
|
return {
|
|
@@ -129,7 +142,7 @@ exports.sendMessageAction = {
|
|
|
129
142
|
resolvedBy,
|
|
130
143
|
textLength: text.length,
|
|
131
144
|
submitKey,
|
|
132
|
-
|
|
145
|
+
deliveryMode,
|
|
133
146
|
status: result.status,
|
|
134
147
|
},
|
|
135
148
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"send-message.action.js","sourceRoot":"","sources":["../../../../src/modules/subscribers/actions/send-message.action.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"send-message.action.js","sourceRoot":"","sources":["../../../../src/modules/subscribers/actions/send-message.action.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
import type { SessionDto } from '../../sessions/dtos/sessions.dto';
|
|
2
|
+
import type { ActionDefinition } from './action.interface';
|
|
3
|
+
export interface TerminateSessionResultData {
|
|
4
|
+
resolvedBy: 'event' | 'agentName';
|
|
5
|
+
sessionId: string;
|
|
6
|
+
resolvedAgentId: string;
|
|
7
|
+
previousStatus: SessionDto['status'];
|
|
8
|
+
}
|
|
9
|
+
export interface TerminateSessionFamilyTargetResult {
|
|
10
|
+
id: string;
|
|
11
|
+
name: string;
|
|
12
|
+
}
|
|
13
|
+
export interface TerminateSessionFamilyTermination extends TerminateSessionFamilyTargetResult {
|
|
14
|
+
sessionId: string;
|
|
15
|
+
previousStatus: SessionDto['status'];
|
|
16
|
+
}
|
|
17
|
+
export interface TerminateSessionFamilyFailure extends TerminateSessionFamilyTermination {
|
|
18
|
+
error: string;
|
|
19
|
+
}
|
|
20
|
+
export interface TerminateSessionFamilyResultData {
|
|
21
|
+
resolvedBy: 'familySlug';
|
|
22
|
+
matched: TerminateSessionFamilyTargetResult[];
|
|
23
|
+
terminated: TerminateSessionFamilyTermination[];
|
|
24
|
+
inactive: TerminateSessionFamilyTargetResult[];
|
|
25
|
+
failed: TerminateSessionFamilyFailure[];
|
|
26
|
+
}
|
|
27
|
+
export declare const terminateSessionAction: ActionDefinition;
|