devchain-cli 0.20.0 → 0.20.1
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/node_modules/@devchain/shared/__fixtures__/phase2-frames.d.ts +0 -1
- package/dist/node_modules/@devchain/shared/__fixtures__/phase2-frames.d.ts.map +1 -1
- package/dist/node_modules/@devchain/shared/__fixtures__/phase2-frames.js +0 -2
- package/dist/node_modules/@devchain/shared/__fixtures__/phase2-frames.js.map +1 -1
- package/dist/node_modules/@devchain/shared/schemas/export-schema.d.ts +114 -11
- package/dist/node_modules/@devchain/shared/schemas/export-schema.d.ts.map +1 -1
- package/dist/node_modules/@devchain/shared/schemas/export-schema.js +11 -8
- package/dist/node_modules/@devchain/shared/schemas/export-schema.js.map +1 -1
- package/dist/node_modules/@devchain/shared/tsconfig.tsbuildinfo +1 -1
- package/dist/node_modules/@devchain/shared/tunnel-protocol.d.ts.map +1 -1
- package/dist/node_modules/@devchain/shared/tunnel-protocol.js +0 -1
- package/dist/node_modules/@devchain/shared/tunnel-protocol.js.map +1 -1
- package/dist/server/app.main.module.js +0 -2
- package/dist/server/app.main.module.js.map +1 -1
- package/dist/server/app.normal.module.js +0 -2
- package/dist/server/app.normal.module.js.map +1 -1
- package/dist/server/common/test/app-bootstrap.helper.js +1 -0
- 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 +0 -5
- package/dist/server/modules/agent-message-delivery/adapters/legacy-delivery-formatter.adapter.js.map +1 -1
- package/dist/server/modules/agent-message-delivery/adapters/legacy-recipient-resolver.adapter.d.ts +1 -3
- package/dist/server/modules/agent-message-delivery/adapters/legacy-recipient-resolver.adapter.js +1 -1
- package/dist/server/modules/agent-message-delivery/adapters/legacy-recipient-resolver.adapter.js.map +1 -1
- package/dist/server/modules/agent-message-delivery/agent-message-delivery.module.js +0 -2
- package/dist/server/modules/agent-message-delivery/agent-message-delivery.module.js.map +1 -1
- package/dist/server/modules/agent-message-delivery/agent-message-delivery.service.js +1 -3
- 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 +1 -3
- package/dist/server/modules/agent-message-delivery/ports/delivery-recipient-resolver.d.ts +1 -3
- package/dist/server/modules/agent-message-delivery/ports/delivery-recipient-resolver.js.map +1 -1
- package/dist/server/modules/agents/controllers/agents.controller.js +4 -1
- package/dist/server/modules/agents/controllers/agents.controller.js.map +1 -1
- package/dist/server/modules/cloud-tunnel/services/mobile-chat-rpc.service.js.map +1 -1
- package/dist/server/modules/cloud-tunnel/services/tunnel-event-forwarder.service.d.ts +1 -1
- package/dist/server/modules/cloud-tunnel/services/tunnel-event-forwarder.service.js +0 -8
- package/dist/server/modules/cloud-tunnel/services/tunnel-event-forwarder.service.js.map +1 -1
- package/dist/server/modules/epics/subscribers/epic-assignment-notifier.subscriber.d.ts +6 -0
- package/dist/server/modules/epics/subscribers/epic-assignment-notifier.subscriber.js +111 -34
- package/dist/server/modules/epics/subscribers/epic-assignment-notifier.subscriber.js.map +1 -1
- package/dist/server/modules/events/catalog/broadcast-registry.js +0 -21
- package/dist/server/modules/events/catalog/broadcast-registry.js.map +1 -1
- package/dist/server/modules/events/catalog/index.d.ts +6 -16
- package/dist/server/modules/events/catalog/index.js +0 -2
- package/dist/server/modules/events/catalog/index.js.map +1 -1
- package/dist/server/modules/events/catalog/session.stopped.d.ts +14 -0
- package/dist/server/modules/events/catalog/session.stopped.js +10 -1
- package/dist/server/modules/events/catalog/session.stopped.js.map +1 -1
- package/dist/server/modules/mcp/constants.d.ts +0 -4
- package/dist/server/modules/mcp/constants.js +1 -15
- package/dist/server/modules/mcp/constants.js.map +1 -1
- package/dist/server/modules/mcp/dtos/mcp.dto.d.ts +0 -319
- package/dist/server/modules/mcp/dtos/mcp.dto.js +1 -100
- package/dist/server/modules/mcp/dtos/mcp.dto.js.map +1 -1
- package/dist/server/modules/mcp/mcp-full.module.js +0 -2
- package/dist/server/modules/mcp/mcp-full.module.js.map +1 -1
- package/dist/server/modules/mcp/services/handlers/chat-context.d.ts +0 -4
- package/dist/server/modules/mcp/services/handlers/chat-tools.d.ts +0 -3
- package/dist/server/modules/mcp/services/handlers/chat-tools.js +71 -382
- package/dist/server/modules/mcp/services/handlers/chat-tools.js.map +1 -1
- package/dist/server/modules/mcp/services/mcp.service.d.ts +1 -4
- package/dist/server/modules/mcp/services/mcp.service.js +22 -44
- package/dist/server/modules/mcp/services/mcp.service.js.map +1 -1
- package/dist/server/modules/mcp/tool-descriptors/chat.bindings.js +0 -3
- package/dist/server/modules/mcp/tool-descriptors/chat.bindings.js.map +1 -1
- package/dist/server/modules/mcp/tool-descriptors/chat.metadata.js +4 -59
- package/dist/server/modules/mcp/tool-descriptors/chat.metadata.js.map +1 -1
- package/dist/server/modules/mcp/tool-descriptors/index.js +0 -4
- package/dist/server/modules/mcp/tool-descriptors/index.js.map +1 -1
- package/dist/server/modules/projects/controllers/projects.controller.d.ts +2 -10
- package/dist/server/modules/projects/helpers/project-export.d.ts +1 -5
- package/dist/server/modules/projects/helpers/project-runtime.helpers.d.ts +2 -5
- package/dist/server/modules/projects/helpers/project-runtime.helpers.js.map +1 -1
- package/dist/server/modules/projects/services/projects.service.d.ts +1 -5
- package/dist/server/modules/projects/template-codec/codecs/subscribers.codec.d.ts +3 -10
- package/dist/server/modules/projects/template-codec/codecs/subscribers.codec.js.map +1 -1
- package/dist/server/modules/registry/controllers/templates.controller.d.ts +12 -1
- package/dist/server/modules/reviews/subscribers/review-comment-notifier.subscriber.js +0 -1
- package/dist/server/modules/reviews/subscribers/review-comment-notifier.subscriber.js.map +1 -1
- package/dist/server/modules/session-reader/data/pricing.json +1 -1
- package/dist/server/modules/sessions/controllers/sessions.controller.js +4 -1
- package/dist/server/modules/sessions/controllers/sessions.controller.js.map +1 -1
- package/dist/server/modules/sessions/services/session-lifecycle-facade.service.js +8 -2
- package/dist/server/modules/sessions/services/session-lifecycle-facade.service.js.map +1 -1
- package/dist/server/modules/sessions/services/session-runtime/__test-utils__/pipeline-harness.d.ts +2 -0
- package/dist/server/modules/sessions/services/session-runtime/__test-utils__/pipeline-harness.js +2 -0
- 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.js +3 -5
- 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.js +3 -5
- package/dist/server/modules/sessions/services/session-runtime/session-restore-pipeline.service.js.map +1 -1
- package/dist/server/modules/sessions/services/sessions.service.d.ts +2 -2
- package/dist/server/modules/sessions/services/sessions.service.js +70 -97
- package/dist/server/modules/sessions/services/sessions.service.js.map +1 -1
- package/dist/server/modules/storage/interfaces/storage.interface.d.ts +0 -1
- package/dist/server/modules/storage/interfaces/storage.interface.js.map +1 -1
- package/dist/server/modules/storage/local/delegates/review.delegate.d.ts +0 -1
- package/dist/server/modules/storage/local/delegates/review.delegate.js +0 -20
- package/dist/server/modules/storage/local/delegates/review.delegate.js.map +1 -1
- package/dist/server/modules/storage/local/local-storage.service.d.ts +0 -1
- package/dist/server/modules/storage/local/local-storage.service.js +0 -3
- package/dist/server/modules/storage/local/local-storage.service.js.map +1 -1
- package/dist/server/modules/storage/models/domain.models.d.ts +7 -2
- package/dist/server/modules/subscribers/actions/restart-agent.action.js +4 -1
- package/dist/server/modules/subscribers/actions/restart-agent.action.js.map +1 -1
- package/dist/server/modules/subscribers/dtos/subscriber.dto.d.ts +227 -19
- package/dist/server/modules/subscribers/dtos/subscriber.dto.js +10 -5
- package/dist/server/modules/subscribers/dtos/subscriber.dto.js.map +1 -1
- package/dist/server/modules/subscribers/events/event-fields-catalog.js +6 -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 -0
- package/dist/server/modules/subscribers/services/subscriber-executor.service.js +44 -0
- package/dist/server/modules/subscribers/services/subscriber-executor.service.js.map +1 -1
- package/dist/server/modules/teams/services/teams.service.js +4 -1
- package/dist/server/modules/teams/services/teams.service.js.map +1 -1
- package/dist/server/modules/teams/subscribers/team-membership-changed-notifier.subscriber.js +3 -1
- package/dist/server/modules/teams/subscribers/team-membership-changed-notifier.subscriber.js.map +1 -1
- package/dist/server/modules/terminal/gateways/terminal.gateway.d.ts +0 -6
- package/dist/server/modules/terminal/gateways/terminal.gateway.js +1 -33
- package/dist/server/modules/terminal/gateways/terminal.gateway.js.map +1 -1
- package/dist/server/modules/terminal/services/terminal-io/lifecycle.d.ts +2 -1
- package/dist/server/modules/terminal/services/terminal-io/lifecycle.js +38 -0
- package/dist/server/modules/terminal/services/terminal-io/lifecycle.js.map +1 -1
- package/dist/server/modules/terminal/services/terminal-io/terminal-io.service.d.ts +13 -2
- package/dist/server/modules/terminal/services/terminal-io/terminal-io.service.js +141 -25
- package/dist/server/modules/terminal/services/terminal-io/terminal-io.service.js.map +1 -1
- package/dist/server/modules/terminal/services/terminal-io/types.d.ts +15 -0
- package/dist/server/templates/teams-dev.json +157 -104
- package/dist/server/tsconfig.tsbuildinfo +1 -1
- package/dist/server/ui/assets/{ReviewDetailPage-Cf5ED0R0.js → ReviewDetailPage-BZoAe0G2.js} +1 -1
- package/dist/server/ui/assets/{ReviewsPage-BfP9P3QO.js → ReviewsPage-J3XZDw7k.js} +1 -1
- package/dist/server/ui/assets/index-CxmSxl5f.css +32 -0
- package/dist/server/ui/assets/index-DoKUmi74.js +1153 -0
- package/dist/server/ui/assets/{useReviewSubscription-QJSfZ3FX.js → useReviewSubscription-CNUx-AWQ.js} +19 -19
- package/dist/server/ui/index.html +2 -2
- package/dist/templates/teams-dev.json +157 -104
- package/package.json +8 -1
- package/dist/drizzle/PHASE2_MIGRATION_GUIDE.md +0 -109
- package/dist/server/modules/agent-message-delivery/subscribers/chat-message-delivery.subscriber.d.ts +0 -22
- package/dist/server/modules/agent-message-delivery/subscribers/chat-message-delivery.subscriber.js +0 -64
- package/dist/server/modules/agent-message-delivery/subscribers/chat-message-delivery.subscriber.js.map +0 -1
- package/dist/server/modules/chat/chat.module.d.ts +0 -2
- package/dist/server/modules/chat/chat.module.js +0 -38
- package/dist/server/modules/chat/chat.module.js.map +0 -1
- package/dist/server/modules/chat/controllers/chat-settings.controller.d.ts +0 -8
- package/dist/server/modules/chat/controllers/chat-settings.controller.js +0 -67
- package/dist/server/modules/chat/controllers/chat-settings.controller.js.map +0 -1
- package/dist/server/modules/chat/controllers/chat.controller.d.ts +0 -15
- package/dist/server/modules/chat/controllers/chat.controller.js +0 -153
- package/dist/server/modules/chat/controllers/chat.controller.js.map +0 -1
- package/dist/server/modules/chat/dtos/chat-settings.dto.d.ts +0 -31
- package/dist/server/modules/chat/dtos/chat-settings.dto.js +0 -17
- package/dist/server/modules/chat/dtos/chat-settings.dto.js.map +0 -1
- package/dist/server/modules/chat/dtos/chat.dto.d.ts +0 -309
- package/dist/server/modules/chat/dtos/chat.dto.js +0 -80
- package/dist/server/modules/chat/dtos/chat.dto.js.map +0 -1
- package/dist/server/modules/chat/services/chat-session-invite.service.d.ts +0 -16
- package/dist/server/modules/chat/services/chat-session-invite.service.js +0 -200
- package/dist/server/modules/chat/services/chat-session-invite.service.js.map +0 -1
- package/dist/server/modules/chat/services/chat-settings.service.d.ts +0 -12
- package/dist/server/modules/chat/services/chat-settings.service.js +0 -123
- package/dist/server/modules/chat/services/chat-settings.service.js.map +0 -1
- package/dist/server/modules/chat/services/chat.service.d.ts +0 -47
- package/dist/server/modules/chat/services/chat.service.js +0 -693
- package/dist/server/modules/chat/services/chat.service.js.map +0 -1
- package/dist/server/modules/chat/services/invite-template.util.d.ts +0 -17
- package/dist/server/modules/chat/services/invite-template.util.js +0 -70
- package/dist/server/modules/chat/services/invite-template.util.js.map +0 -1
- package/dist/server/modules/events/catalog/chat.message.read.d.ts +0 -21
- package/dist/server/modules/events/catalog/chat.message.read.js +0 -14
- package/dist/server/modules/events/catalog/chat.message.read.js.map +0 -1
- package/dist/server/modules/mcp/services/handlers/activity-context.d.ts +0 -6
- package/dist/server/modules/mcp/services/handlers/activity-context.js +0 -3
- package/dist/server/modules/mcp/services/handlers/activity-context.js.map +0 -1
- package/dist/server/modules/mcp/services/handlers/activity-tools.d.ts +0 -4
- package/dist/server/modules/mcp/services/handlers/activity-tools.js +0 -179
- package/dist/server/modules/mcp/services/handlers/activity-tools.js.map +0 -1
- package/dist/server/modules/mcp/tool-descriptors/activity.bindings.d.ts +0 -2
- package/dist/server/modules/mcp/tool-descriptors/activity.bindings.js +0 -9
- package/dist/server/modules/mcp/tool-descriptors/activity.bindings.js.map +0 -1
- package/dist/server/modules/mcp/tool-descriptors/activity.metadata.d.ts +0 -2
- package/dist/server/modules/mcp/tool-descriptors/activity.metadata.js +0 -49
- package/dist/server/modules/mcp/tool-descriptors/activity.metadata.js.map +0 -1
- package/dist/server/ui/assets/index-B5ZC_DQU.css +0 -32
- package/dist/server/ui/assets/index-DptgqA22.js +0 -1156
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "devchain-cli",
|
|
3
|
-
"version": "0.20.
|
|
3
|
+
"version": "0.20.1",
|
|
4
4
|
"description": "AI driven development platform",
|
|
5
5
|
"homepage": "https://devchain.cc/",
|
|
6
6
|
"repository": {
|
|
@@ -8,6 +8,13 @@
|
|
|
8
8
|
"url": "https://github.com/twitech-lab/devchain.git"
|
|
9
9
|
},
|
|
10
10
|
"changelog": {
|
|
11
|
+
"0.20.1": [
|
|
12
|
+
"[Impr] Subscribers: event filters can combine several conditions with AND/OR in one rule",
|
|
13
|
+
"[Impr] Teams: adding a member no longer wakes an offline team lead just to deliver the membership notice",
|
|
14
|
+
"[Impr] Template updates: Brainstormer ships as Project Owner so cross-project messaging works out of the box, refreshed planning and standards prompts",
|
|
15
|
+
"[Bug Fix] Sessions: agents no longer show up as lost or crashed while a session is still starting",
|
|
16
|
+
"[Bug Fix] Terminal: after an idle tab, terminals reconnect on their own instead of staying black"
|
|
17
|
+
],
|
|
11
18
|
"0.20.0": [
|
|
12
19
|
"Projects: designate an agent as the Project Owner",
|
|
13
20
|
"Cross-project messaging: Project Owners can discover other local projects and message each other",
|
|
@@ -1,109 +0,0 @@
|
|
|
1
|
-
# Phase 2 Migration Guide: Profile Provider Configs
|
|
2
|
-
|
|
3
|
-
## Overview
|
|
4
|
-
|
|
5
|
-
Phase 2 migrations populate the `profile_provider_configs` table and merge duplicate profiles.
|
|
6
|
-
|
|
7
|
-
**Migrations:**
|
|
8
|
-
- `0028_populate_provider_configs.sql` - Create configs from existing profiles
|
|
9
|
-
- `0029_merge_profiles_by_family_slug.sql` - Merge profiles with same familySlug
|
|
10
|
-
- `0030_set_agents_provider_config_id.sql` - Set agent config references
|
|
11
|
-
|
|
12
|
-
## Pre-Migration Checklist
|
|
13
|
-
|
|
14
|
-
### 1. Stop All Sessions
|
|
15
|
-
|
|
16
|
-
Before running migrations, ensure no active sessions exist:
|
|
17
|
-
|
|
18
|
-
```bash
|
|
19
|
-
sqlite3 ~/.devchain/devchain.db < apps/local-app/drizzle/migration-guard.sql
|
|
20
|
-
```
|
|
21
|
-
|
|
22
|
-
If any output is shown, stop the sessions first:
|
|
23
|
-
```bash
|
|
24
|
-
# List running sessions
|
|
25
|
-
sqlite3 ~/.devchain/devchain.db "SELECT id, agent_id FROM sessions WHERE status='running';"
|
|
26
|
-
|
|
27
|
-
# Stop sessions via UI or terminate tmux sessions
|
|
28
|
-
```
|
|
29
|
-
|
|
30
|
-
### 2. Create Backup
|
|
31
|
-
|
|
32
|
-
**CRITICAL:** Always backup before migrating:
|
|
33
|
-
|
|
34
|
-
```bash
|
|
35
|
-
cp ~/.devchain/devchain.db ~/.devchain/devchain.db.backup-$(date +%Y%m%d-%H%M%S)
|
|
36
|
-
```
|
|
37
|
-
|
|
38
|
-
### 3. Verify Backup
|
|
39
|
-
|
|
40
|
-
```bash
|
|
41
|
-
sqlite3 ~/.devchain/devchain.db.backup-* "SELECT COUNT(*) FROM agent_profiles;"
|
|
42
|
-
```
|
|
43
|
-
|
|
44
|
-
## Running Migrations
|
|
45
|
-
|
|
46
|
-
```bash
|
|
47
|
-
pnpm --filter local-app db:migrate
|
|
48
|
-
```
|
|
49
|
-
|
|
50
|
-
Or manually:
|
|
51
|
-
```bash
|
|
52
|
-
sqlite3 ~/.devchain/devchain.db < apps/local-app/drizzle/0028_populate_provider_configs.sql
|
|
53
|
-
sqlite3 ~/.devchain/devchain.db < apps/local-app/drizzle/0029_merge_profiles_by_family_slug.sql
|
|
54
|
-
sqlite3 ~/.devchain/devchain.db < apps/local-app/drizzle/0030_set_agents_provider_config_id.sql
|
|
55
|
-
```
|
|
56
|
-
|
|
57
|
-
## Post-Migration Verification
|
|
58
|
-
|
|
59
|
-
```bash
|
|
60
|
-
# Verify configs created
|
|
61
|
-
sqlite3 ~/.devchain/devchain.db "SELECT COUNT(*) FROM profile_provider_configs;"
|
|
62
|
-
|
|
63
|
-
# Verify no duplicate familySlug groups
|
|
64
|
-
sqlite3 ~/.devchain/devchain.db "SELECT project_id, family_slug, COUNT(*) FROM agent_profiles WHERE family_slug IS NOT NULL GROUP BY project_id, family_slug HAVING COUNT(*) > 1;"
|
|
65
|
-
|
|
66
|
-
# Verify all agents have config
|
|
67
|
-
sqlite3 ~/.devchain/devchain.db "SELECT COUNT(*) FROM agents WHERE provider_config_id IS NULL;"
|
|
68
|
-
```
|
|
69
|
-
|
|
70
|
-
## Rollback Procedure
|
|
71
|
-
|
|
72
|
-
### Recommended: Restore from Backup
|
|
73
|
-
|
|
74
|
-
```bash
|
|
75
|
-
# Stop the application
|
|
76
|
-
# Restore backup
|
|
77
|
-
cp ~/.devchain/devchain.db.backup-YYYYMMDD-HHMMSS ~/.devchain/devchain.db
|
|
78
|
-
|
|
79
|
-
# Restart the application
|
|
80
|
-
```
|
|
81
|
-
|
|
82
|
-
### Alternative: Partial Rollback Script
|
|
83
|
-
|
|
84
|
-
**WARNING:** The partial rollback script cannot restore deleted profiles from the merge step.
|
|
85
|
-
|
|
86
|
-
```bash
|
|
87
|
-
sqlite3 ~/.devchain/devchain.db < apps/local-app/drizzle/phase2-rollback.sql
|
|
88
|
-
```
|
|
89
|
-
|
|
90
|
-
This will:
|
|
91
|
-
1. Clear `agents.provider_config_id` (set to NULL)
|
|
92
|
-
2. Delete all `profile_provider_configs` records
|
|
93
|
-
3. Remove migration tracking entries
|
|
94
|
-
|
|
95
|
-
**NOT restored:** Profiles deleted during merge (0029) cannot be restored without backup.
|
|
96
|
-
|
|
97
|
-
## Troubleshooting
|
|
98
|
-
|
|
99
|
-
### Migration fails with "database is locked"
|
|
100
|
-
- Stop all sessions and the application
|
|
101
|
-
- Ensure no other process is accessing the database
|
|
102
|
-
|
|
103
|
-
### Agents have NULL providerConfigId after migration
|
|
104
|
-
- Verify profile has a config: `SELECT * FROM profile_provider_configs WHERE profile_id = '<profile_id>';`
|
|
105
|
-
- Re-run migration 0030
|
|
106
|
-
|
|
107
|
-
### Profile configs missing
|
|
108
|
-
- Check if profile has providerId: `SELECT provider_id FROM agent_profiles WHERE id = '<profile_id>';`
|
|
109
|
-
- Profiles with NULL providerId don't get configs created
|
package/dist/server/modules/agent-message-delivery/subscribers/chat-message-delivery.subscriber.d.ts
DELETED
|
@@ -1,22 +0,0 @@
|
|
|
1
|
-
import { AgentMessageDeliveryService } from '../agent-message-delivery.service';
|
|
2
|
-
interface ChatMessageCreatedPayload {
|
|
3
|
-
threadId: string;
|
|
4
|
-
projectId?: string;
|
|
5
|
-
recipientIds?: string[];
|
|
6
|
-
message: {
|
|
7
|
-
id: string;
|
|
8
|
-
threadId: string;
|
|
9
|
-
authorType: 'user' | 'agent' | 'system';
|
|
10
|
-
authorAgentId: string | null;
|
|
11
|
-
content: string;
|
|
12
|
-
targets?: string[];
|
|
13
|
-
createdAt: string;
|
|
14
|
-
};
|
|
15
|
-
}
|
|
16
|
-
export declare class ChatMessageDeliverySubscriber {
|
|
17
|
-
private readonly delivery;
|
|
18
|
-
private readonly logger;
|
|
19
|
-
constructor(delivery: AgentMessageDeliveryService);
|
|
20
|
-
handleChatMessageCreated(payload: ChatMessageCreatedPayload): Promise<void>;
|
|
21
|
-
}
|
|
22
|
-
export {};
|
package/dist/server/modules/agent-message-delivery/subscribers/chat-message-delivery.subscriber.js
DELETED
|
@@ -1,64 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
|
|
3
|
-
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
4
|
-
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
5
|
-
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
|
6
|
-
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
7
|
-
};
|
|
8
|
-
var __metadata = (this && this.__metadata) || function (k, v) {
|
|
9
|
-
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
|
|
10
|
-
};
|
|
11
|
-
var ChatMessageDeliverySubscriber_1;
|
|
12
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
13
|
-
exports.ChatMessageDeliverySubscriber = void 0;
|
|
14
|
-
const common_1 = require("@nestjs/common");
|
|
15
|
-
const event_emitter_1 = require("@nestjs/event-emitter");
|
|
16
|
-
const agent_message_delivery_service_1 = require("../agent-message-delivery.service");
|
|
17
|
-
let ChatMessageDeliverySubscriber = ChatMessageDeliverySubscriber_1 = class ChatMessageDeliverySubscriber {
|
|
18
|
-
delivery;
|
|
19
|
-
logger = new common_1.Logger(ChatMessageDeliverySubscriber_1.name);
|
|
20
|
-
constructor(delivery) {
|
|
21
|
-
this.delivery = delivery;
|
|
22
|
-
}
|
|
23
|
-
async handleChatMessageCreated(payload) {
|
|
24
|
-
const { threadId, projectId, recipientIds, message } = payload;
|
|
25
|
-
if (message.authorType === 'agent' || message.authorType === 'system') {
|
|
26
|
-
return;
|
|
27
|
-
}
|
|
28
|
-
if (!projectId) {
|
|
29
|
-
this.logger.warn({ threadId }, 'Missing projectId in payload, skipping delivery');
|
|
30
|
-
return;
|
|
31
|
-
}
|
|
32
|
-
try {
|
|
33
|
-
const recipients = recipientIds && recipientIds.length > 0 ? Array.from(new Set(recipientIds)) : [];
|
|
34
|
-
if (recipients.length === 0)
|
|
35
|
-
return;
|
|
36
|
-
await this.delivery.deliver(recipients, {
|
|
37
|
-
kind: 'chat.user',
|
|
38
|
-
body: message.content,
|
|
39
|
-
source: 'chat.message',
|
|
40
|
-
projectId,
|
|
41
|
-
senderName: 'User',
|
|
42
|
-
senderType: 'user',
|
|
43
|
-
threadId,
|
|
44
|
-
messageId: message.id,
|
|
45
|
-
senderAgentId: message.authorAgentId ?? undefined,
|
|
46
|
-
});
|
|
47
|
-
}
|
|
48
|
-
catch (error) {
|
|
49
|
-
this.logger.error({ error, threadId, messageId: message.id }, 'Failed to deliver chat message');
|
|
50
|
-
}
|
|
51
|
-
}
|
|
52
|
-
};
|
|
53
|
-
exports.ChatMessageDeliverySubscriber = ChatMessageDeliverySubscriber;
|
|
54
|
-
__decorate([
|
|
55
|
-
(0, event_emitter_1.OnEvent)('chat.message.created', { async: true }),
|
|
56
|
-
__metadata("design:type", Function),
|
|
57
|
-
__metadata("design:paramtypes", [Object]),
|
|
58
|
-
__metadata("design:returntype", Promise)
|
|
59
|
-
], ChatMessageDeliverySubscriber.prototype, "handleChatMessageCreated", null);
|
|
60
|
-
exports.ChatMessageDeliverySubscriber = ChatMessageDeliverySubscriber = ChatMessageDeliverySubscriber_1 = __decorate([
|
|
61
|
-
(0, common_1.Injectable)(),
|
|
62
|
-
__metadata("design:paramtypes", [agent_message_delivery_service_1.AgentMessageDeliveryService])
|
|
63
|
-
], ChatMessageDeliverySubscriber);
|
|
64
|
-
//# sourceMappingURL=chat-message-delivery.subscriber.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"chat-message-delivery.subscriber.js","sourceRoot":"","sources":["../../../../src/modules/agent-message-delivery/subscribers/chat-message-delivery.subscriber.ts"],"names":[],"mappings":";;;;;;;;;;;;;AAAA,2CAAoD;AACpD,yDAAgD;AAChD,sFAAgF;AAkBzE,IAAM,6BAA6B,qCAAnC,MAAM,6BAA6B;IAGX;IAFZ,MAAM,GAAG,IAAI,eAAM,CAAC,+BAA6B,CAAC,IAAI,CAAC,CAAC;IAEzE,YAA6B,QAAqC;QAArC,aAAQ,GAAR,QAAQ,CAA6B;IAAG,CAAC;IAGhE,AAAN,KAAK,CAAC,wBAAwB,CAAC,OAAkC;QAC/D,MAAM,EAAE,QAAQ,EAAE,SAAS,EAAE,YAAY,EAAE,OAAO,EAAE,GAAG,OAAO,CAAC;QAE/D,IAAI,OAAO,CAAC,UAAU,KAAK,OAAO,IAAI,OAAO,CAAC,UAAU,KAAK,QAAQ,EAAE,CAAC;YACtE,OAAO;QACT,CAAC;QAED,IAAI,CAAC,SAAS,EAAE,CAAC;YACf,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,QAAQ,EAAE,EAAE,iDAAiD,CAAC,CAAC;YAClF,OAAO;QACT,CAAC;QAED,IAAI,CAAC;YACH,MAAM,UAAU,GACd,YAAY,IAAI,YAAY,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,GAAG,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;YAEnF,IAAI,UAAU,CAAC,MAAM,KAAK,CAAC;gBAAE,OAAO;YAEpC,MAAM,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,UAAU,EAAE;gBACtC,IAAI,EAAE,WAAW;gBACjB,IAAI,EAAE,OAAO,CAAC,OAAO;gBACrB,MAAM,EAAE,cAAc;gBACtB,SAAS;gBACT,UAAU,EAAE,MAAM;gBAClB,UAAU,EAAE,MAAM;gBAClB,QAAQ;gBACR,SAAS,EAAE,OAAO,CAAC,EAAE;gBACrB,aAAa,EAAE,OAAO,CAAC,aAAa,IAAI,SAAS;aAClD,CAAC,CAAC;QACL,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,IAAI,CAAC,MAAM,CAAC,KAAK,CACf,EAAE,KAAK,EAAE,QAAQ,EAAE,SAAS,EAAE,OAAO,CAAC,EAAE,EAAE,EAC1C,gCAAgC,CACjC,CAAC;QACJ,CAAC;IACH,CAAC;CACF,CAAA;AA1CY,sEAA6B;AAMlC;IADL,IAAA,uBAAO,EAAC,sBAAsB,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC;;;;6EAoChD;wCAzCU,6BAA6B;IADzC,IAAA,mBAAU,GAAE;qCAI4B,4DAA2B;GAHvD,6BAA6B,CA0CzC"}
|
|
@@ -1,38 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
|
|
3
|
-
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
4
|
-
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
5
|
-
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
|
6
|
-
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
7
|
-
};
|
|
8
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
9
|
-
exports.ChatModule = void 0;
|
|
10
|
-
const common_1 = require("@nestjs/common");
|
|
11
|
-
const chat_service_1 = require("./services/chat.service");
|
|
12
|
-
const chat_controller_1 = require("./controllers/chat.controller");
|
|
13
|
-
const chat_settings_controller_1 = require("./controllers/chat-settings.controller");
|
|
14
|
-
const chat_settings_service_1 = require("./services/chat-settings.service");
|
|
15
|
-
const chat_session_invite_service_1 = require("./services/chat-session-invite.service");
|
|
16
|
-
const storage_module_1 = require("../storage/storage.module");
|
|
17
|
-
const settings_module_1 = require("../settings/settings.module");
|
|
18
|
-
const sessions_read_module_1 = require("../sessions/sessions-read.module");
|
|
19
|
-
const sessions_delivery_module_1 = require("../sessions/sessions-delivery.module");
|
|
20
|
-
const events_core_module_1 = require("../events/events-core.module");
|
|
21
|
-
let ChatModule = class ChatModule {
|
|
22
|
-
};
|
|
23
|
-
exports.ChatModule = ChatModule;
|
|
24
|
-
exports.ChatModule = ChatModule = __decorate([
|
|
25
|
-
(0, common_1.Module)({
|
|
26
|
-
imports: [
|
|
27
|
-
events_core_module_1.EventsCoreModule,
|
|
28
|
-
storage_module_1.StorageModule,
|
|
29
|
-
settings_module_1.SettingsModule,
|
|
30
|
-
sessions_read_module_1.SessionsReadModule,
|
|
31
|
-
sessions_delivery_module_1.SessionsDeliveryModule,
|
|
32
|
-
],
|
|
33
|
-
controllers: [chat_controller_1.ChatController, chat_settings_controller_1.ChatSettingsController],
|
|
34
|
-
providers: [chat_service_1.ChatService, chat_settings_service_1.ChatSettingsService, chat_session_invite_service_1.ChatSessionInviteService],
|
|
35
|
-
exports: [chat_service_1.ChatService, chat_settings_service_1.ChatSettingsService, chat_session_invite_service_1.ChatSessionInviteService],
|
|
36
|
-
})
|
|
37
|
-
], ChatModule);
|
|
38
|
-
//# sourceMappingURL=chat.module.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"chat.module.js","sourceRoot":"","sources":["../../../src/modules/chat/chat.module.ts"],"names":[],"mappings":";;;;;;;;;AAAA,2CAAwC;AACxC,0DAAsD;AACtD,mEAA+D;AAC/D,qFAAgF;AAChF,4EAAuE;AACvE,wFAAkF;AAClF,8DAA0D;AAC1D,iEAA6D;AAC7D,2EAAsE;AACtE,mFAA8E;AAC9E,qEAAgE;AAczD,IAAM,UAAU,GAAhB,MAAM,UAAU;CAAG,CAAA;AAAb,gCAAU;qBAAV,UAAU;IAZtB,IAAA,eAAM,EAAC;QACN,OAAO,EAAE;YACP,qCAAgB;YAChB,8BAAa;YACb,gCAAc;YACd,yCAAkB;YAClB,iDAAsB;SACvB;QACD,WAAW,EAAE,CAAC,gCAAc,EAAE,iDAAsB,CAAC;QACrD,SAAS,EAAE,CAAC,0BAAW,EAAE,2CAAmB,EAAE,sDAAwB,CAAC;QACvE,OAAO,EAAE,CAAC,0BAAW,EAAE,2CAAmB,EAAE,sDAAwB,CAAC;KACtE,CAAC;GACW,UAAU,CAAG"}
|
|
@@ -1,8 +0,0 @@
|
|
|
1
|
-
import { ChatSettingsService } from '../services/chat-settings.service';
|
|
2
|
-
import { type ChatSettingsResponseDto } from '../dtos/chat-settings.dto';
|
|
3
|
-
export declare class ChatSettingsController {
|
|
4
|
-
private readonly chatSettingsService;
|
|
5
|
-
constructor(chatSettingsService: ChatSettingsService);
|
|
6
|
-
getChatSettings(query: unknown): Promise<ChatSettingsResponseDto>;
|
|
7
|
-
updateChatSettings(body: unknown): Promise<ChatSettingsResponseDto>;
|
|
8
|
-
}
|
|
@@ -1,67 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
|
|
3
|
-
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
4
|
-
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
5
|
-
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
|
6
|
-
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
7
|
-
};
|
|
8
|
-
var __metadata = (this && this.__metadata) || function (k, v) {
|
|
9
|
-
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
|
|
10
|
-
};
|
|
11
|
-
var __param = (this && this.__param) || function (paramIndex, decorator) {
|
|
12
|
-
return function (target, key) { decorator(target, key, paramIndex); }
|
|
13
|
-
};
|
|
14
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
15
|
-
exports.ChatSettingsController = void 0;
|
|
16
|
-
const common_1 = require("@nestjs/common");
|
|
17
|
-
const chat_settings_service_1 = require("../services/chat-settings.service");
|
|
18
|
-
const logger_1 = require("../../../common/logging/logger");
|
|
19
|
-
const chat_settings_dto_1 = require("../dtos/chat-settings.dto");
|
|
20
|
-
const invite_template_util_1 = require("../services/invite-template.util");
|
|
21
|
-
const logger = (0, logger_1.createLogger)('ChatSettingsController');
|
|
22
|
-
let ChatSettingsController = class ChatSettingsController {
|
|
23
|
-
chatSettingsService;
|
|
24
|
-
constructor(chatSettingsService) {
|
|
25
|
-
this.chatSettingsService = chatSettingsService;
|
|
26
|
-
}
|
|
27
|
-
async getChatSettings(query) {
|
|
28
|
-
const { projectId } = chat_settings_dto_1.ChatSettingsQuerySchema.parse(query);
|
|
29
|
-
logger.info({ projectId }, 'GET /api/chat/settings');
|
|
30
|
-
const storedTemplate = await this.chatSettingsService.getStoredInviteTemplate(projectId);
|
|
31
|
-
const isDefault = !storedTemplate || storedTemplate.trim().length === 0;
|
|
32
|
-
return chat_settings_dto_1.ChatSettingsResponseSchema.parse({
|
|
33
|
-
invite_template: isDefault ? invite_template_util_1.DEFAULT_INVITE_TEMPLATE : storedTemplate,
|
|
34
|
-
is_default: isDefault,
|
|
35
|
-
});
|
|
36
|
-
}
|
|
37
|
-
async updateChatSettings(body) {
|
|
38
|
-
const { projectId, invite_template: inviteTemplate = '' } = chat_settings_dto_1.UpdateChatSettingsSchema.parse(body);
|
|
39
|
-
logger.info({ projectId }, 'PUT /api/chat/settings');
|
|
40
|
-
const effectiveTemplate = await this.chatSettingsService.updateInviteTemplate(projectId, inviteTemplate);
|
|
41
|
-
const isDefault = inviteTemplate.trim().length === 0;
|
|
42
|
-
return chat_settings_dto_1.ChatSettingsResponseSchema.parse({
|
|
43
|
-
invite_template: effectiveTemplate,
|
|
44
|
-
is_default: isDefault,
|
|
45
|
-
});
|
|
46
|
-
}
|
|
47
|
-
};
|
|
48
|
-
exports.ChatSettingsController = ChatSettingsController;
|
|
49
|
-
__decorate([
|
|
50
|
-
(0, common_1.Get)('settings'),
|
|
51
|
-
__param(0, (0, common_1.Query)()),
|
|
52
|
-
__metadata("design:type", Function),
|
|
53
|
-
__metadata("design:paramtypes", [Object]),
|
|
54
|
-
__metadata("design:returntype", Promise)
|
|
55
|
-
], ChatSettingsController.prototype, "getChatSettings", null);
|
|
56
|
-
__decorate([
|
|
57
|
-
(0, common_1.Put)('settings'),
|
|
58
|
-
__param(0, (0, common_1.Body)()),
|
|
59
|
-
__metadata("design:type", Function),
|
|
60
|
-
__metadata("design:paramtypes", [Object]),
|
|
61
|
-
__metadata("design:returntype", Promise)
|
|
62
|
-
], ChatSettingsController.prototype, "updateChatSettings", null);
|
|
63
|
-
exports.ChatSettingsController = ChatSettingsController = __decorate([
|
|
64
|
-
(0, common_1.Controller)('api/chat'),
|
|
65
|
-
__metadata("design:paramtypes", [chat_settings_service_1.ChatSettingsService])
|
|
66
|
-
], ChatSettingsController);
|
|
67
|
-
//# sourceMappingURL=chat-settings.controller.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"chat-settings.controller.js","sourceRoot":"","sources":["../../../../src/modules/chat/controllers/chat-settings.controller.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA,2CAAmE;AACnE,6EAAwE;AACxE,2DAA8D;AAC9D,iEAKmC;AACnC,2EAA2E;AAE3E,MAAM,MAAM,GAAG,IAAA,qBAAY,EAAC,wBAAwB,CAAC,CAAC;AAG/C,IAAM,sBAAsB,GAA5B,MAAM,sBAAsB;IACJ;IAA7B,YAA6B,mBAAwC;QAAxC,wBAAmB,GAAnB,mBAAmB,CAAqB;IAAG,CAAC;IAGnE,AAAN,KAAK,CAAC,eAAe,CAAU,KAAc;QAC3C,MAAM,EAAE,SAAS,EAAE,GAAG,2CAAuB,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;QAC3D,MAAM,CAAC,IAAI,CAAC,EAAE,SAAS,EAAE,EAAE,wBAAwB,CAAC,CAAC;QAErD,MAAM,cAAc,GAAG,MAAM,IAAI,CAAC,mBAAmB,CAAC,uBAAuB,CAAC,SAAS,CAAC,CAAC;QACzF,MAAM,SAAS,GAAG,CAAC,cAAc,IAAI,cAAc,CAAC,IAAI,EAAE,CAAC,MAAM,KAAK,CAAC,CAAC;QAExE,OAAO,8CAA0B,CAAC,KAAK,CAAC;YACtC,eAAe,EAAE,SAAS,CAAC,CAAC,CAAC,8CAAuB,CAAC,CAAC,CAAC,cAAc;YACrE,UAAU,EAAE,SAAS;SACtB,CAAC,CAAC;IACL,CAAC;IAGK,AAAN,KAAK,CAAC,kBAAkB,CAAS,IAAa;QAC5C,MAAM,EAAE,SAAS,EAAE,eAAe,EAAE,cAAc,GAAG,EAAE,EAAE,GACvD,4CAAwB,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QACvC,MAAM,CAAC,IAAI,CAAC,EAAE,SAAS,EAAE,EAAE,wBAAwB,CAAC,CAAC;QAErD,MAAM,iBAAiB,GAAG,MAAM,IAAI,CAAC,mBAAmB,CAAC,oBAAoB,CAC3E,SAAS,EACT,cAAc,CACf,CAAC;QAEF,MAAM,SAAS,GAAG,cAAc,CAAC,IAAI,EAAE,CAAC,MAAM,KAAK,CAAC,CAAC;QAErD,OAAO,8CAA0B,CAAC,KAAK,CAAC;YACtC,eAAe,EAAE,iBAAiB;YAClC,UAAU,EAAE,SAAS;SACtB,CAAC,CAAC;IACL,CAAC;CACF,CAAA;AAnCY,wDAAsB;AAI3B;IADL,IAAA,YAAG,EAAC,UAAU,CAAC;IACO,WAAA,IAAA,cAAK,GAAE,CAAA;;;;6DAW7B;AAGK;IADL,IAAA,YAAG,EAAC,UAAU,CAAC;IACU,WAAA,IAAA,aAAI,GAAE,CAAA;;;;gEAgB/B;iCAlCU,sBAAsB;IADlC,IAAA,mBAAU,EAAC,UAAU,CAAC;qCAE6B,2CAAmB;GAD1D,sBAAsB,CAmClC"}
|
|
@@ -1,15 +0,0 @@
|
|
|
1
|
-
import { ChatService } from '../services/chat.service';
|
|
2
|
-
import { type ThreadDto, type MessageDto, type ThreadsListDto, type MessagesListDto } from '../dtos/chat.dto';
|
|
3
|
-
export declare class ChatController {
|
|
4
|
-
private readonly chatService;
|
|
5
|
-
constructor(chatService: ChatService);
|
|
6
|
-
listThreads(query: unknown): Promise<ThreadsListDto>;
|
|
7
|
-
getThread(id: string, projectId: string): Promise<ThreadDto>;
|
|
8
|
-
createDirectThread(body: unknown): Promise<ThreadDto>;
|
|
9
|
-
createGroupThread(body: unknown): Promise<ThreadDto>;
|
|
10
|
-
listMessages(threadId: string, query: unknown): Promise<MessagesListDto>;
|
|
11
|
-
createMessage(threadId: string, body: unknown): Promise<MessageDto>;
|
|
12
|
-
inviteMembers(threadId: string, body: unknown): Promise<ThreadDto>;
|
|
13
|
-
clearHistory(threadId: string, body: unknown): Promise<ThreadDto>;
|
|
14
|
-
purgeHistory(threadId: string, body: unknown): Promise<ThreadDto>;
|
|
15
|
-
}
|
|
@@ -1,153 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
|
|
3
|
-
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
4
|
-
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
5
|
-
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
|
6
|
-
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
7
|
-
};
|
|
8
|
-
var __metadata = (this && this.__metadata) || function (k, v) {
|
|
9
|
-
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
|
|
10
|
-
};
|
|
11
|
-
var __param = (this && this.__param) || function (paramIndex, decorator) {
|
|
12
|
-
return function (target, key) { decorator(target, key, paramIndex); }
|
|
13
|
-
};
|
|
14
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
15
|
-
exports.ChatController = void 0;
|
|
16
|
-
const common_1 = require("@nestjs/common");
|
|
17
|
-
const chat_service_1 = require("../services/chat.service");
|
|
18
|
-
const logger_1 = require("../../../common/logging/logger");
|
|
19
|
-
const chat_dto_1 = require("../dtos/chat.dto");
|
|
20
|
-
const logger = (0, logger_1.createLogger)('ChatController');
|
|
21
|
-
let ChatController = class ChatController {
|
|
22
|
-
chatService;
|
|
23
|
-
constructor(chatService) {
|
|
24
|
-
this.chatService = chatService;
|
|
25
|
-
}
|
|
26
|
-
async listThreads(query) {
|
|
27
|
-
logger.info({ query }, 'GET /api/chat/threads');
|
|
28
|
-
const validatedQuery = chat_dto_1.ListThreadsQuerySchema.parse(query);
|
|
29
|
-
return this.chatService.listThreads(validatedQuery);
|
|
30
|
-
}
|
|
31
|
-
async getThread(id, projectId) {
|
|
32
|
-
logger.info({ threadId: id, projectId }, 'GET /api/chat/threads/:id');
|
|
33
|
-
const thread = await this.chatService.getThread(id);
|
|
34
|
-
if (thread.projectId !== projectId) {
|
|
35
|
-
throw new common_1.NotFoundException(`Thread ${id} not found in project ${projectId}`);
|
|
36
|
-
}
|
|
37
|
-
return thread;
|
|
38
|
-
}
|
|
39
|
-
async createDirectThread(body) {
|
|
40
|
-
logger.info('POST /api/chat/threads/direct');
|
|
41
|
-
const data = chat_dto_1.CreateDirectThreadSchema.parse(body);
|
|
42
|
-
return this.chatService.createDirectThread(data);
|
|
43
|
-
}
|
|
44
|
-
async createGroupThread(body) {
|
|
45
|
-
logger.info('POST /api/chat/threads/group');
|
|
46
|
-
const data = chat_dto_1.CreateGroupThreadSchema.parse(body);
|
|
47
|
-
return this.chatService.createGroupThread(data);
|
|
48
|
-
}
|
|
49
|
-
async listMessages(threadId, query) {
|
|
50
|
-
logger.info({ threadId, query }, 'GET /api/chat/threads/:id/messages');
|
|
51
|
-
const validatedQuery = chat_dto_1.ListMessagesQuerySchema.parse(query);
|
|
52
|
-
const thread = await this.chatService.getThread(threadId);
|
|
53
|
-
if (validatedQuery.projectId && thread.projectId !== validatedQuery.projectId) {
|
|
54
|
-
throw new common_1.NotFoundException(`Thread ${threadId} not found in project ${validatedQuery.projectId}`);
|
|
55
|
-
}
|
|
56
|
-
return this.chatService.listMessages(threadId, validatedQuery);
|
|
57
|
-
}
|
|
58
|
-
async createMessage(threadId, body) {
|
|
59
|
-
logger.info({ threadId }, 'POST /api/chat/threads/:id/messages');
|
|
60
|
-
const data = chat_dto_1.CreateMessageSchema.parse(body);
|
|
61
|
-
return this.chatService.createMessage(threadId, data);
|
|
62
|
-
}
|
|
63
|
-
async inviteMembers(threadId, body) {
|
|
64
|
-
logger.info({ threadId }, 'POST /api/chat/threads/:id/invite');
|
|
65
|
-
const data = chat_dto_1.InviteThreadMembersSchema.parse(body);
|
|
66
|
-
return this.chatService.inviteMembers(threadId, data);
|
|
67
|
-
}
|
|
68
|
-
async clearHistory(threadId, body) {
|
|
69
|
-
logger.info({ threadId }, 'POST /api/chat/threads/:id/clear');
|
|
70
|
-
const data = chat_dto_1.ClearThreadHistorySchema.parse(body);
|
|
71
|
-
return this.chatService.clearHistory(threadId, data);
|
|
72
|
-
}
|
|
73
|
-
async purgeHistory(threadId, body) {
|
|
74
|
-
logger.info({ threadId }, 'POST /api/chat/threads/:id/purge');
|
|
75
|
-
const data = chat_dto_1.PurgeThreadHistorySchema.parse(body);
|
|
76
|
-
return this.chatService.purgeHistory(threadId, data);
|
|
77
|
-
}
|
|
78
|
-
};
|
|
79
|
-
exports.ChatController = ChatController;
|
|
80
|
-
__decorate([
|
|
81
|
-
(0, common_1.Get)('threads'),
|
|
82
|
-
__param(0, (0, common_1.Query)()),
|
|
83
|
-
__metadata("design:type", Function),
|
|
84
|
-
__metadata("design:paramtypes", [Object]),
|
|
85
|
-
__metadata("design:returntype", Promise)
|
|
86
|
-
], ChatController.prototype, "listThreads", null);
|
|
87
|
-
__decorate([
|
|
88
|
-
(0, common_1.Get)('threads/:id'),
|
|
89
|
-
__param(0, (0, common_1.Param)('id')),
|
|
90
|
-
__param(1, (0, common_1.Query)('projectId')),
|
|
91
|
-
__metadata("design:type", Function),
|
|
92
|
-
__metadata("design:paramtypes", [String, String]),
|
|
93
|
-
__metadata("design:returntype", Promise)
|
|
94
|
-
], ChatController.prototype, "getThread", null);
|
|
95
|
-
__decorate([
|
|
96
|
-
(0, common_1.Post)('threads/direct'),
|
|
97
|
-
__param(0, (0, common_1.Body)()),
|
|
98
|
-
__metadata("design:type", Function),
|
|
99
|
-
__metadata("design:paramtypes", [Object]),
|
|
100
|
-
__metadata("design:returntype", Promise)
|
|
101
|
-
], ChatController.prototype, "createDirectThread", null);
|
|
102
|
-
__decorate([
|
|
103
|
-
(0, common_1.Post)('threads/group'),
|
|
104
|
-
__param(0, (0, common_1.Body)()),
|
|
105
|
-
__metadata("design:type", Function),
|
|
106
|
-
__metadata("design:paramtypes", [Object]),
|
|
107
|
-
__metadata("design:returntype", Promise)
|
|
108
|
-
], ChatController.prototype, "createGroupThread", null);
|
|
109
|
-
__decorate([
|
|
110
|
-
(0, common_1.Get)('threads/:id/messages'),
|
|
111
|
-
__param(0, (0, common_1.Param)('id')),
|
|
112
|
-
__param(1, (0, common_1.Query)()),
|
|
113
|
-
__metadata("design:type", Function),
|
|
114
|
-
__metadata("design:paramtypes", [String, Object]),
|
|
115
|
-
__metadata("design:returntype", Promise)
|
|
116
|
-
], ChatController.prototype, "listMessages", null);
|
|
117
|
-
__decorate([
|
|
118
|
-
(0, common_1.Post)('threads/:id/messages'),
|
|
119
|
-
__param(0, (0, common_1.Param)('id')),
|
|
120
|
-
__param(1, (0, common_1.Body)()),
|
|
121
|
-
__metadata("design:type", Function),
|
|
122
|
-
__metadata("design:paramtypes", [String, Object]),
|
|
123
|
-
__metadata("design:returntype", Promise)
|
|
124
|
-
], ChatController.prototype, "createMessage", null);
|
|
125
|
-
__decorate([
|
|
126
|
-
(0, common_1.Post)('threads/:id/invite'),
|
|
127
|
-
__param(0, (0, common_1.Param)('id')),
|
|
128
|
-
__param(1, (0, common_1.Body)()),
|
|
129
|
-
__metadata("design:type", Function),
|
|
130
|
-
__metadata("design:paramtypes", [String, Object]),
|
|
131
|
-
__metadata("design:returntype", Promise)
|
|
132
|
-
], ChatController.prototype, "inviteMembers", null);
|
|
133
|
-
__decorate([
|
|
134
|
-
(0, common_1.Post)('threads/:id/clear'),
|
|
135
|
-
__param(0, (0, common_1.Param)('id')),
|
|
136
|
-
__param(1, (0, common_1.Body)()),
|
|
137
|
-
__metadata("design:type", Function),
|
|
138
|
-
__metadata("design:paramtypes", [String, Object]),
|
|
139
|
-
__metadata("design:returntype", Promise)
|
|
140
|
-
], ChatController.prototype, "clearHistory", null);
|
|
141
|
-
__decorate([
|
|
142
|
-
(0, common_1.Post)('threads/:id/purge'),
|
|
143
|
-
__param(0, (0, common_1.Param)('id')),
|
|
144
|
-
__param(1, (0, common_1.Body)()),
|
|
145
|
-
__metadata("design:type", Function),
|
|
146
|
-
__metadata("design:paramtypes", [String, Object]),
|
|
147
|
-
__metadata("design:returntype", Promise)
|
|
148
|
-
], ChatController.prototype, "purgeHistory", null);
|
|
149
|
-
exports.ChatController = ChatController = __decorate([
|
|
150
|
-
(0, common_1.Controller)('api/chat'),
|
|
151
|
-
__metadata("design:paramtypes", [chat_service_1.ChatService])
|
|
152
|
-
], ChatController);
|
|
153
|
-
//# sourceMappingURL=chat.controller.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"chat.controller.js","sourceRoot":"","sources":["../../../../src/modules/chat/controllers/chat.controller.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,31 +0,0 @@
|
|
|
1
|
-
import { z } from 'zod';
|
|
2
|
-
export declare const ChatSettingsQuerySchema: z.ZodObject<{
|
|
3
|
-
projectId: z.ZodString;
|
|
4
|
-
}, "strip", z.ZodTypeAny, {
|
|
5
|
-
projectId: string;
|
|
6
|
-
}, {
|
|
7
|
-
projectId: string;
|
|
8
|
-
}>;
|
|
9
|
-
export declare const ChatSettingsResponseSchema: z.ZodObject<{
|
|
10
|
-
invite_template: z.ZodString;
|
|
11
|
-
is_default: z.ZodBoolean;
|
|
12
|
-
}, "strip", z.ZodTypeAny, {
|
|
13
|
-
invite_template: string;
|
|
14
|
-
is_default: boolean;
|
|
15
|
-
}, {
|
|
16
|
-
invite_template: string;
|
|
17
|
-
is_default: boolean;
|
|
18
|
-
}>;
|
|
19
|
-
export declare const UpdateChatSettingsSchema: z.ZodObject<{
|
|
20
|
-
projectId: z.ZodString;
|
|
21
|
-
invite_template: z.ZodOptional<z.ZodString>;
|
|
22
|
-
}, "strip", z.ZodTypeAny, {
|
|
23
|
-
projectId: string;
|
|
24
|
-
invite_template?: string | undefined;
|
|
25
|
-
}, {
|
|
26
|
-
projectId: string;
|
|
27
|
-
invite_template?: string | undefined;
|
|
28
|
-
}>;
|
|
29
|
-
export type ChatSettingsQueryDto = z.infer<typeof ChatSettingsQuerySchema>;
|
|
30
|
-
export type ChatSettingsResponseDto = z.infer<typeof ChatSettingsResponseSchema>;
|
|
31
|
-
export type UpdateChatSettingsDto = z.infer<typeof UpdateChatSettingsSchema>;
|
|
@@ -1,17 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.UpdateChatSettingsSchema = exports.ChatSettingsResponseSchema = exports.ChatSettingsQuerySchema = void 0;
|
|
4
|
-
const zod_1 = require("zod");
|
|
5
|
-
const invite_template_util_1 = require("../services/invite-template.util");
|
|
6
|
-
exports.ChatSettingsQuerySchema = zod_1.z.object({
|
|
7
|
-
projectId: zod_1.z.string().uuid(),
|
|
8
|
-
});
|
|
9
|
-
exports.ChatSettingsResponseSchema = zod_1.z.object({
|
|
10
|
-
invite_template: zod_1.z.string(),
|
|
11
|
-
is_default: zod_1.z.boolean(),
|
|
12
|
-
});
|
|
13
|
-
exports.UpdateChatSettingsSchema = zod_1.z.object({
|
|
14
|
-
projectId: zod_1.z.string().uuid(),
|
|
15
|
-
invite_template: zod_1.z.string().max(invite_template_util_1.TEMPLATE_SIZE_LIMIT).optional(),
|
|
16
|
-
});
|
|
17
|
-
//# sourceMappingURL=chat-settings.dto.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"chat-settings.dto.js","sourceRoot":"","sources":["../../../../src/modules/chat/dtos/chat-settings.dto.ts"],"names":[],"mappings":";;;AAAA,6BAAwB;AACxB,2EAAuE;AAE1D,QAAA,uBAAuB,GAAG,OAAC,CAAC,MAAM,CAAC;IAC9C,SAAS,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE;CAC7B,CAAC,CAAC;AAEU,QAAA,0BAA0B,GAAG,OAAC,CAAC,MAAM,CAAC;IACjD,eAAe,EAAE,OAAC,CAAC,MAAM,EAAE;IAC3B,UAAU,EAAE,OAAC,CAAC,OAAO,EAAE;CACxB,CAAC,CAAC;AAEU,QAAA,wBAAwB,GAAG,OAAC,CAAC,MAAM,CAAC;IAC/C,SAAS,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE;IAC5B,eAAe,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,0CAAmB,CAAC,CAAC,QAAQ,EAAE;CAChE,CAAC,CAAC"}
|