crewly 1.20.247 → 1.20.249
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/config/skills/agent/core/list-channels/SKILL.md +61 -0
- package/config/skills/agent/core/list-channels/execute.sh +36 -0
- package/config/skills/agent/core/list-channels/execute.test.sh +17 -0
- package/config/skills/agent/core/reply-channel/SKILL.md +10 -0
- package/config/skills/agent/core/reply-channel/execute.sh +23 -1
- package/config/skills/agent/core/reply-channel/execute.test.sh +25 -0
- package/dist/backend/backend/src/constants.d.ts +56 -0
- package/dist/backend/backend/src/constants.d.ts.map +1 -1
- package/dist/backend/backend/src/constants.js +56 -0
- package/dist/backend/backend/src/constants.js.map +1 -1
- package/dist/backend/backend/src/controllers/channels/channels.routes.d.ts +27 -0
- package/dist/backend/backend/src/controllers/channels/channels.routes.d.ts.map +1 -0
- package/dist/backend/backend/src/controllers/channels/channels.routes.js +99 -0
- package/dist/backend/backend/src/controllers/channels/channels.routes.js.map +1 -0
- package/dist/backend/backend/src/controllers/connector/connector.controller.d.ts +1 -0
- package/dist/backend/backend/src/controllers/connector/connector.controller.d.ts.map +1 -1
- package/dist/backend/backend/src/controllers/connector/connector.controller.js +7 -0
- package/dist/backend/backend/src/controllers/connector/connector.controller.js.map +1 -1
- package/dist/backend/backend/src/controllers/connector/connector.routes.d.ts +1 -0
- package/dist/backend/backend/src/controllers/connector/connector.routes.d.ts.map +1 -1
- package/dist/backend/backend/src/controllers/connector/connector.routes.js +7 -0
- package/dist/backend/backend/src/controllers/connector/connector.routes.js.map +1 -1
- package/dist/backend/backend/src/controllers/connector/remote-mcp.controller.d.ts +55 -0
- package/dist/backend/backend/src/controllers/connector/remote-mcp.controller.d.ts.map +1 -0
- package/dist/backend/backend/src/controllers/connector/remote-mcp.controller.js +148 -0
- package/dist/backend/backend/src/controllers/connector/remote-mcp.controller.js.map +1 -0
- package/dist/backend/backend/src/routes/api.routes.d.ts.map +1 -1
- package/dist/backend/backend/src/routes/api.routes.js +18 -0
- package/dist/backend/backend/src/routes/api.routes.js.map +1 -1
- package/dist/backend/backend/src/services/agent/agent-registration.service.d.ts.map +1 -1
- package/dist/backend/backend/src/services/agent/agent-registration.service.js +5 -0
- package/dist/backend/backend/src/services/agent/agent-registration.service.js.map +1 -1
- package/dist/backend/backend/src/services/ai/prompt-modules/skills-reference.module.d.ts.map +1 -1
- package/dist/backend/backend/src/services/ai/prompt-modules/skills-reference.module.js +1 -0
- package/dist/backend/backend/src/services/ai/prompt-modules/skills-reference.module.js.map +1 -1
- package/dist/backend/backend/src/services/channels/crewly-channel.service.d.ts +247 -0
- package/dist/backend/backend/src/services/channels/crewly-channel.service.d.ts.map +1 -0
- package/dist/backend/backend/src/services/channels/crewly-channel.service.js +631 -0
- package/dist/backend/backend/src/services/channels/crewly-channel.service.js.map +1 -0
- package/dist/backend/backend/src/services/chat-v2/chat-v2.service.d.ts +26 -0
- package/dist/backend/backend/src/services/chat-v2/chat-v2.service.d.ts.map +1 -1
- package/dist/backend/backend/src/services/chat-v2/chat-v2.service.js +40 -2
- package/dist/backend/backend/src/services/chat-v2/chat-v2.service.js.map +1 -1
- package/dist/backend/backend/src/services/connector/connector-access.service.d.ts +8 -0
- package/dist/backend/backend/src/services/connector/connector-access.service.d.ts.map +1 -1
- package/dist/backend/backend/src/services/connector/connector-access.service.js +17 -0
- package/dist/backend/backend/src/services/connector/connector-access.service.js.map +1 -1
- package/dist/backend/backend/src/services/connector/remote-mcp-launch.service.d.ts +77 -0
- package/dist/backend/backend/src/services/connector/remote-mcp-launch.service.d.ts.map +1 -0
- package/dist/backend/backend/src/services/connector/remote-mcp-launch.service.js +132 -0
- package/dist/backend/backend/src/services/connector/remote-mcp-launch.service.js.map +1 -0
- package/dist/backend/backend/src/services/connector/remote-mcp-probe.service.d.ts +75 -0
- package/dist/backend/backend/src/services/connector/remote-mcp-probe.service.d.ts.map +1 -0
- package/dist/backend/backend/src/services/connector/remote-mcp-probe.service.js +155 -0
- package/dist/backend/backend/src/services/connector/remote-mcp-probe.service.js.map +1 -0
- package/dist/backend/backend/src/services/connector/remote-mcp.service.d.ts +192 -0
- package/dist/backend/backend/src/services/connector/remote-mcp.service.d.ts.map +1 -0
- package/dist/backend/backend/src/services/connector/remote-mcp.service.js +334 -0
- package/dist/backend/backend/src/services/connector/remote-mcp.service.js.map +1 -0
- package/dist/backend/backend/src/services/core/credential-files.d.ts.map +1 -1
- package/dist/backend/backend/src/services/core/credential-files.js +4 -1
- package/dist/backend/backend/src/services/core/credential-files.js.map +1 -1
- package/dist/backend/backend/src/services/slack/slack-channel-members.d.ts +60 -0
- package/dist/backend/backend/src/services/slack/slack-channel-members.d.ts.map +1 -1
- package/dist/backend/backend/src/services/slack/slack-channel-members.js +70 -0
- package/dist/backend/backend/src/services/slack/slack-channel-members.js.map +1 -1
- package/dist/backend/backend/src/services/slack/slack-initializer.d.ts.map +1 -1
- package/dist/backend/backend/src/services/slack/slack-initializer.js +2 -1
- package/dist/backend/backend/src/services/slack/slack-initializer.js.map +1 -1
- package/dist/backend/backend/src/services/slack/slack-team-channel.service.d.ts +147 -1
- package/dist/backend/backend/src/services/slack/slack-team-channel.service.d.ts.map +1 -1
- package/dist/backend/backend/src/services/slack/slack-team-channel.service.js +423 -12
- package/dist/backend/backend/src/services/slack/slack-team-channel.service.js.map +1 -1
- package/dist/backend/backend/src/services/slack/slack.service.d.ts +10 -0
- package/dist/backend/backend/src/services/slack/slack.service.d.ts.map +1 -1
- package/dist/backend/backend/src/services/slack/slack.service.js +15 -0
- package/dist/backend/backend/src/services/slack/slack.service.js.map +1 -1
- package/dist/backend/backend/src/types/crewly-channel.types.d.ts +77 -0
- package/dist/backend/backend/src/types/crewly-channel.types.d.ts.map +1 -0
- package/dist/backend/backend/src/types/crewly-channel.types.js +35 -0
- package/dist/backend/backend/src/types/crewly-channel.types.js.map +1 -0
- package/dist/backend/backend/src/types/slack.types.d.ts +7 -0
- package/dist/backend/backend/src/types/slack.types.d.ts.map +1 -1
- package/dist/backend/backend/src/types/slack.types.js.map +1 -1
- package/dist/backend/build-info.json +2 -2
- package/dist/cli/backend/src/constants.d.ts +56 -0
- package/dist/cli/backend/src/constants.d.ts.map +1 -1
- package/dist/cli/backend/src/constants.js +56 -0
- package/dist/cli/backend/src/constants.js.map +1 -1
- package/dist/cli/backend/src/services/agent/agent-registration.service.d.ts.map +1 -1
- package/dist/cli/backend/src/services/agent/agent-registration.service.js +5 -0
- package/dist/cli/backend/src/services/agent/agent-registration.service.js.map +1 -1
- package/dist/cli/backend/src/services/ai/prompt-modules/skills-reference.module.d.ts.map +1 -1
- package/dist/cli/backend/src/services/ai/prompt-modules/skills-reference.module.js +1 -0
- package/dist/cli/backend/src/services/ai/prompt-modules/skills-reference.module.js.map +1 -1
- package/dist/cli/backend/src/services/chat-v2/chat-v2.service.d.ts +26 -0
- package/dist/cli/backend/src/services/chat-v2/chat-v2.service.d.ts.map +1 -1
- package/dist/cli/backend/src/services/chat-v2/chat-v2.service.js +40 -2
- package/dist/cli/backend/src/services/chat-v2/chat-v2.service.js.map +1 -1
- package/dist/cli/backend/src/services/connector/connector-access.service.d.ts +85 -0
- package/dist/cli/backend/src/services/connector/connector-access.service.d.ts.map +1 -0
- package/dist/cli/backend/src/services/connector/connector-access.service.js +130 -0
- package/dist/cli/backend/src/services/connector/connector-access.service.js.map +1 -0
- package/dist/cli/backend/src/services/connector/remote-mcp-launch.service.d.ts +77 -0
- package/dist/cli/backend/src/services/connector/remote-mcp-launch.service.d.ts.map +1 -0
- package/dist/cli/backend/src/services/connector/remote-mcp-launch.service.js +132 -0
- package/dist/cli/backend/src/services/connector/remote-mcp-launch.service.js.map +1 -0
- package/dist/cli/backend/src/services/connector/remote-mcp.service.d.ts +192 -0
- package/dist/cli/backend/src/services/connector/remote-mcp.service.d.ts.map +1 -0
- package/dist/cli/backend/src/services/connector/remote-mcp.service.js +334 -0
- package/dist/cli/backend/src/services/connector/remote-mcp.service.js.map +1 -0
- package/dist/cli/backend/src/services/core/credential-files.d.ts.map +1 -1
- package/dist/cli/backend/src/services/core/credential-files.js +4 -1
- package/dist/cli/backend/src/services/core/credential-files.js.map +1 -1
- package/dist/cli/backend/src/services/slack/slack-channel-members.d.ts +87 -0
- package/dist/cli/backend/src/services/slack/slack-channel-members.d.ts.map +1 -0
- package/dist/cli/backend/src/services/slack/slack-channel-members.js +124 -0
- package/dist/cli/backend/src/services/slack/slack-channel-members.js.map +1 -0
- package/dist/cli/backend/src/services/slack/slack-team-channel.service.d.ts +147 -1
- package/dist/cli/backend/src/services/slack/slack-team-channel.service.d.ts.map +1 -1
- package/dist/cli/backend/src/services/slack/slack-team-channel.service.js +423 -12
- package/dist/cli/backend/src/services/slack/slack-team-channel.service.js.map +1 -1
- package/dist/cli/backend/src/services/slack/slack.service.d.ts +10 -0
- package/dist/cli/backend/src/services/slack/slack.service.d.ts.map +1 -1
- package/dist/cli/backend/src/services/slack/slack.service.js +15 -0
- package/dist/cli/backend/src/services/slack/slack.service.js.map +1 -1
- package/dist/cli/backend/src/types/slack.types.d.ts +7 -0
- package/dist/cli/backend/src/types/slack.types.d.ts.map +1 -1
- package/dist/cli/backend/src/types/slack.types.js.map +1 -1
- package/frontend/dist/assets/{index-c9630c55.js → index-2db17f1e.js} +292 -292
- package/frontend/dist/index.html +1 -1
- package/package.json +1 -1
package/dist/backend/backend/src/services/ai/prompt-modules/skills-reference.module.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"skills-reference.module.d.ts","sourceRoot":"","sources":["../../../../../../../backend/src/services/ai/prompt-modules/skills-reference.module.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,YAAY,EAAE,MAAM,8BAA8B,CAAC;AAE1E;;;;;;;;GAQG;AACH,qBAAa,qBAAsB,YAAW,YAAY;IACzD,IAAI,SAAuB;IAC3B,QAAQ,SAAK;IACb,SAAS,SAAO;IAChB,WAAW,UAAS;IAEpB;;OAEG;IACH,aAAa,CAAC,OAAO,EAAE,YAAY,GAAG,OAAO;IAI7C;;;;;;OAMG;IACG,KAAK,CAAC,MAAM,EAAE,YAAY,GAAG,OAAO,CAAC,MAAM,CAAC;IAelD;;;;;;;;;;;;;;;;OAgBG;IACH,OAAO,CAAC,eAAe;IA6CvB;;;;;;;;;;;;OAYG;IACH,OAAO,CAAC,sBAAsB;IAmB9B;;OAEG;IACH,OAAO,CAAC,eAAe;
|
|
1
|
+
{"version":3,"file":"skills-reference.module.d.ts","sourceRoot":"","sources":["../../../../../../../backend/src/services/ai/prompt-modules/skills-reference.module.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,YAAY,EAAE,MAAM,8BAA8B,CAAC;AAE1E;;;;;;;;GAQG;AACH,qBAAa,qBAAsB,YAAW,YAAY;IACzD,IAAI,SAAuB;IAC3B,QAAQ,SAAK;IACb,SAAS,SAAO;IAChB,WAAW,UAAS;IAEpB;;OAEG;IACH,aAAa,CAAC,OAAO,EAAE,YAAY,GAAG,OAAO;IAI7C;;;;;;OAMG;IACG,KAAK,CAAC,MAAM,EAAE,YAAY,GAAG,OAAO,CAAC,MAAM,CAAC;IAelD;;;;;;;;;;;;;;;;OAgBG;IACH,OAAO,CAAC,eAAe;IA6CvB;;;;;;;;;;;;OAYG;IACH,OAAO,CAAC,sBAAsB;IAmB9B;;OAEG;IACH,OAAO,CAAC,eAAe;IA+EvB;;;OAGG;IACH,OAAO,CAAC,iBAAiB;IA0DzB;;;;;;;;;;;;;;;;;;OAkBG;IACH,OAAO,CAAC,kBAAkB;IA+D1B;;OAEG;IACH,OAAO,CAAC,kBAAkB;CAmC1B"}
|
|
@@ -142,6 +142,7 @@ export class SkillsReferenceModule {
|
|
|
142
142
|
'- `core/remember` — store knowledge for future reference',
|
|
143
143
|
'- `core/record-learning` — record learnings while working',
|
|
144
144
|
'- `core/report-status` — report status to team leader or orchestrator',
|
|
145
|
+
'- `core/list-channels` — the channels you are in (rooms shared with agents of other teams, matched to Slack channels); post in one with `core/reply-channel --channel \'#name\'` (or its id)',
|
|
145
146
|
'',
|
|
146
147
|
'### Self-improvement skills (attention + calibration)',
|
|
147
148
|
'- `core/set-focus` — replace your focus list (up to 5 items are shown in your prompt)',
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"skills-reference.module.js","sourceRoot":"","sources":["../../../../../../../backend/src/services/ai/prompt-modules/skills-reference.module.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"skills-reference.module.js","sourceRoot":"","sources":["../../../../../../../backend/src/services/ai/prompt-modules/skills-reference.module.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,247 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Crewly Channel Service
|
|
3
|
+
*
|
|
4
|
+
* A Crewly channel is a named room whose members are agents from any team —
|
|
5
|
+
* the Slack channel concept, next to teams. Every channel is a chat-v2 huddle
|
|
6
|
+
* (so routing, threads and replies are the huddle's), and its id is the
|
|
7
|
+
* huddle id. When Slack is connected the channel is one Slack channel:
|
|
8
|
+
*
|
|
9
|
+
* Crewly → Slack: creating a channel creates the Slack channel and invites
|
|
10
|
+
* the owner and each member's bot; adding/removing a member invites/removes
|
|
11
|
+
* its bot; renaming renames the Slack channel (Slack's normalised name is
|
|
12
|
+
* what Crewly shows); archiving archives it (or, for a channel found in
|
|
13
|
+
* Slack, takes the bots out).
|
|
14
|
+
* Slack → Crewly: a Slack channel agent bots were invited to (an ad-hoc room
|
|
15
|
+
* of the team-channel service) shows up as a channel automatically; its
|
|
16
|
+
* name and members follow Slack on the periodic/lazy refresh.
|
|
17
|
+
*
|
|
18
|
+
* The Slack side lives in {@link SlackTeamChannelService} (ad-hoc rooms);
|
|
19
|
+
* this service owns the registry (`~/.crewly/crewly-channels.json`) and the
|
|
20
|
+
* owner-facing operations. Without Slack, channels are Crewly-only huddles.
|
|
21
|
+
*
|
|
22
|
+
* @module services/channels/crewly-channel.service
|
|
23
|
+
*/
|
|
24
|
+
import type { ChatV2Service } from '../chat-v2/chat-v2.service.js';
|
|
25
|
+
import type { ChatChannelDTO, ChatMessageDTO } from '../chat-v2/types.js';
|
|
26
|
+
import type { Team } from '../../types/index.js';
|
|
27
|
+
import { type RoomMembershipChange, type SlackTeamChannelService } from '../slack/slack-team-channel.service.js';
|
|
28
|
+
import { type CrewlyChannelDTO } from '../../types/crewly-channel.types.js';
|
|
29
|
+
/** The chat-v2 slice this service uses. */
|
|
30
|
+
export type CrewlyChannelChatApi = Pick<ChatV2Service, 'createHuddle' | 'setHuddleMembers' | 'getChannelForBridge' | 'archiveChannelForBridge' | 'queryHuddleMembersForDispatch' | 'renameChannelForBridge' | 'setSharedChannelResolver'> & Partial<Pick<ChatV2Service, 'on' | 'off'>>;
|
|
31
|
+
/** The dispatcher slice used to wake members an agent @'d (channels without Slack). */
|
|
32
|
+
export interface CrewlyChannelDispatcherApi {
|
|
33
|
+
dispatchMessage(channel: ChatChannelDTO, message: ChatMessageDTO, options?: {
|
|
34
|
+
excludeSessions?: readonly string[];
|
|
35
|
+
threadId?: string;
|
|
36
|
+
}): Promise<unknown>;
|
|
37
|
+
}
|
|
38
|
+
/** The Slack ad-hoc room slice this service uses. */
|
|
39
|
+
export type CrewlyChannelRoomsApi = Pick<SlackTeamChannelService, 'isConnected' | 'listMappings' | 'findByChatChannelId' | 'ensureAgentChannel' | 'setRoomMembers' | 'renameRoom' | 'archiveRoom' | 'syncRoomsFromSlack'>;
|
|
40
|
+
/** An agent that can be put in a channel. */
|
|
41
|
+
export interface CrewlyChannelAgent {
|
|
42
|
+
sessionName: string;
|
|
43
|
+
name: string;
|
|
44
|
+
teamId: string;
|
|
45
|
+
teamName: string;
|
|
46
|
+
}
|
|
47
|
+
/** Constructor dependencies. */
|
|
48
|
+
export interface CrewlyChannelServiceDeps {
|
|
49
|
+
chat: CrewlyChannelChatApi;
|
|
50
|
+
/** The Slack room service, or null while Slack is not set up (resolved on every call). */
|
|
51
|
+
getRooms: () => CrewlyChannelRoomsApi | null;
|
|
52
|
+
/** Every agent of every team on this machine. */
|
|
53
|
+
listAgents: () => Promise<CrewlyChannelAgent[]>;
|
|
54
|
+
/** The chat-v2 dispatcher, once wired (agent @-mentions in channels without Slack). */
|
|
55
|
+
getDispatcher?: () => CrewlyChannelDispatcherApi | null;
|
|
56
|
+
/** Registry path; defaults to `<CREWLY_HOME>/crewly-channels.json`. */
|
|
57
|
+
storePath?: string;
|
|
58
|
+
/** Clock override for tests. */
|
|
59
|
+
now?: () => Date;
|
|
60
|
+
}
|
|
61
|
+
/** Error with an HTTP status for the REST layer. */
|
|
62
|
+
export declare class CrewlyChannelError extends Error {
|
|
63
|
+
readonly httpStatus: number;
|
|
64
|
+
readonly code: 'validation_error' | 'not_found' | 'conflict' | 'slack_error';
|
|
65
|
+
constructor(message: string, httpStatus: number, code: 'validation_error' | 'not_found' | 'conflict' | 'slack_error');
|
|
66
|
+
}
|
|
67
|
+
/** Member-change result returned to the REST layer. */
|
|
68
|
+
export interface CrewlyChannelMembershipResult {
|
|
69
|
+
channel: CrewlyChannelDTO;
|
|
70
|
+
change: RoomMembershipChange;
|
|
71
|
+
}
|
|
72
|
+
/**
|
|
73
|
+
* Owner-facing Crewly channels: list, create, rename, members, archive.
|
|
74
|
+
*/
|
|
75
|
+
export declare class CrewlyChannelService {
|
|
76
|
+
private readonly deps;
|
|
77
|
+
private readonly storePath;
|
|
78
|
+
private readonly logger;
|
|
79
|
+
private store;
|
|
80
|
+
private loading;
|
|
81
|
+
private lastSlackRefresh;
|
|
82
|
+
private refreshing;
|
|
83
|
+
private syncTimer;
|
|
84
|
+
/** Agent-to-agent hand-offs per channel since the owner last spoke there. */
|
|
85
|
+
private readonly agentChain;
|
|
86
|
+
private readonly onChatMessage;
|
|
87
|
+
constructor(deps: CrewlyChannelServiceDeps);
|
|
88
|
+
/**
|
|
89
|
+
* Load the registry and open Crewly channels to the owner in chat-v2
|
|
90
|
+
* (they are created under the `'system'` owner). Idempotent.
|
|
91
|
+
*/
|
|
92
|
+
start(): Promise<void>;
|
|
93
|
+
/** Undo {@link start}. */
|
|
94
|
+
stop(): void;
|
|
95
|
+
/**
|
|
96
|
+
* Link every channel the owner made in Crewly while Slack was off: create
|
|
97
|
+
* its Slack channel (owner and member bots invited) and keep the huddle,
|
|
98
|
+
* so the id and history stay. Channels found in Slack always have a link.
|
|
99
|
+
*
|
|
100
|
+
* @returns Ids of the channels linked
|
|
101
|
+
*/
|
|
102
|
+
linkUnlinked(): Promise<string[]>;
|
|
103
|
+
/**
|
|
104
|
+
* Wake the members an agent @'d in a channel without Slack, the way an
|
|
105
|
+
* agent's @ wakes a colleague in a Slack room. Only @'d members hear it
|
|
106
|
+
* (never the whole room, never the author), and at most
|
|
107
|
+
* AGENT_CHAIN_MAX hand-offs happen in a row before the owner speaks again.
|
|
108
|
+
* Channels linked to Slack are left to the Slack path.
|
|
109
|
+
*
|
|
110
|
+
* @param dto - A chat-v2 message
|
|
111
|
+
* @returns Who was woken (empty when nothing was dispatched)
|
|
112
|
+
*/
|
|
113
|
+
handleChatMessage(dto: ChatMessageDTO): Promise<string[]>;
|
|
114
|
+
/**
|
|
115
|
+
* Whether a chat-v2 channel id is a live Crewly channel (sync — the chat
|
|
116
|
+
* read path asks on every request).
|
|
117
|
+
*
|
|
118
|
+
* @param chatChannelId - chat-v2 channel id
|
|
119
|
+
* @returns True for a registered, non-archived channel or a Slack room
|
|
120
|
+
*/
|
|
121
|
+
isChannel(chatChannelId: string): boolean;
|
|
122
|
+
/**
|
|
123
|
+
* Every channel, with members and Slack link. Picks up Slack rooms found
|
|
124
|
+
* since the last call; at most once a minute it also asks Slack for
|
|
125
|
+
* renames and new members (in the background — this call does not wait).
|
|
126
|
+
*
|
|
127
|
+
* @param options - `member` (session) to list only that agent's channels; `includeArchived`
|
|
128
|
+
* @returns Channels, newest first
|
|
129
|
+
*/
|
|
130
|
+
list(options?: {
|
|
131
|
+
member?: string;
|
|
132
|
+
includeArchived?: boolean;
|
|
133
|
+
}): Promise<CrewlyChannelDTO[]>;
|
|
134
|
+
/**
|
|
135
|
+
* One channel by id, `#name`, name or Slack channel id.
|
|
136
|
+
*
|
|
137
|
+
* @param ref - What to look for
|
|
138
|
+
* @returns The channel
|
|
139
|
+
* @throws CrewlyChannelError 404 when no live channel matches
|
|
140
|
+
*/
|
|
141
|
+
get(ref: string): Promise<CrewlyChannelDTO>;
|
|
142
|
+
/**
|
|
143
|
+
* Ask Slack now for renames and new members, then return the list.
|
|
144
|
+
*
|
|
145
|
+
* @returns Channels after the refresh
|
|
146
|
+
*/
|
|
147
|
+
refresh(): Promise<CrewlyChannelDTO[]>;
|
|
148
|
+
/**
|
|
149
|
+
* Create a channel. With Slack connected the Slack channel is created (or
|
|
150
|
+
* an existing one of that name reused), the owner and the members' bots
|
|
151
|
+
* are invited; without Slack it is a Crewly-only channel.
|
|
152
|
+
*
|
|
153
|
+
* @param input - Name (normalised the Slack way), optional purpose, agent sessions from any team
|
|
154
|
+
* @returns The channel
|
|
155
|
+
* @throws CrewlyChannelError 400 on a bad name/roster, 409 on a name in use, 502 when Slack refuses
|
|
156
|
+
*/
|
|
157
|
+
create(input: {
|
|
158
|
+
name: string;
|
|
159
|
+
purpose?: string;
|
|
160
|
+
memberSessions: string[];
|
|
161
|
+
}): Promise<CrewlyChannelDTO>;
|
|
162
|
+
/**
|
|
163
|
+
* Rename a channel. A linked Slack channel is renamed first; Crewly then
|
|
164
|
+
* shows the name Slack applied.
|
|
165
|
+
*
|
|
166
|
+
* @param ref - Channel id / name
|
|
167
|
+
* @param rawName - The new name
|
|
168
|
+
* @returns The channel
|
|
169
|
+
* @throws CrewlyChannelError 400/404/409, 502 when Slack refuses
|
|
170
|
+
*/
|
|
171
|
+
rename(ref: string, rawName: string): Promise<CrewlyChannelDTO>;
|
|
172
|
+
/**
|
|
173
|
+
* Add one agent (any team).
|
|
174
|
+
*
|
|
175
|
+
* @param ref - Channel id / name
|
|
176
|
+
* @param sessionName - The agent's session
|
|
177
|
+
* @returns The channel and what Slack did
|
|
178
|
+
*/
|
|
179
|
+
addMember(ref: string, sessionName: string): Promise<CrewlyChannelMembershipResult>;
|
|
180
|
+
/**
|
|
181
|
+
* Remove one agent.
|
|
182
|
+
*
|
|
183
|
+
* @param ref - Channel id / name
|
|
184
|
+
* @param sessionName - The agent's session
|
|
185
|
+
* @returns The channel and what Slack did
|
|
186
|
+
*/
|
|
187
|
+
removeMember(ref: string, sessionName: string): Promise<CrewlyChannelMembershipResult>;
|
|
188
|
+
/**
|
|
189
|
+
* Archive a channel. A Slack channel Crewly created is archived too; one
|
|
190
|
+
* found in Slack is left to its people (the agents' bots leave it).
|
|
191
|
+
*
|
|
192
|
+
* @param ref - Channel id / name
|
|
193
|
+
* @returns The archived channel
|
|
194
|
+
*/
|
|
195
|
+
archive(ref: string): Promise<CrewlyChannelDTO>;
|
|
196
|
+
private setMembers;
|
|
197
|
+
/**
|
|
198
|
+
* Bring the registry in step with the Slack rooms: a room not yet listed
|
|
199
|
+
* becomes a channel (origin `slack`); a listed one takes its current Slack
|
|
200
|
+
* name; a channel whose room is gone loses the link (or is archived when
|
|
201
|
+
* its huddle was archived).
|
|
202
|
+
*/
|
|
203
|
+
private reconcile;
|
|
204
|
+
/** Throttled background Slack refresh (names + members). */
|
|
205
|
+
private refreshInBackground;
|
|
206
|
+
private refreshFromSlack;
|
|
207
|
+
private requireRecord;
|
|
208
|
+
private memberSessions;
|
|
209
|
+
private normaliseName;
|
|
210
|
+
private validatePurpose;
|
|
211
|
+
private validateMembers;
|
|
212
|
+
private assertNameFree;
|
|
213
|
+
private agentIndex;
|
|
214
|
+
private toDTO;
|
|
215
|
+
private nowIso;
|
|
216
|
+
private load;
|
|
217
|
+
private save;
|
|
218
|
+
}
|
|
219
|
+
/**
|
|
220
|
+
* Every agent that can join a channel: the members of every live team, with
|
|
221
|
+
* their team (an agent on two teams is listed once, under its first team).
|
|
222
|
+
*
|
|
223
|
+
* @param teams - Teams from storage
|
|
224
|
+
* @returns Agents
|
|
225
|
+
*/
|
|
226
|
+
export declare function agentsFromTeams(teams: Team[]): CrewlyChannelAgent[];
|
|
227
|
+
/**
|
|
228
|
+
* Whether text @-mentions a name (`@Atlas`, case-insensitive, whole name).
|
|
229
|
+
*
|
|
230
|
+
* @param text - Message text
|
|
231
|
+
* @param name - Display name
|
|
232
|
+
* @returns True when mentioned
|
|
233
|
+
*/
|
|
234
|
+
export declare function mentionsName(text: string, name: string): boolean;
|
|
235
|
+
/**
|
|
236
|
+
* Install the process-wide instance (composition root).
|
|
237
|
+
*
|
|
238
|
+
* @param service - The configured service, or null to clear
|
|
239
|
+
*/
|
|
240
|
+
export declare function setCrewlyChannelService(service: CrewlyChannelService | null): void;
|
|
241
|
+
/**
|
|
242
|
+
* The process-wide instance, or null before the composition root wires it.
|
|
243
|
+
*
|
|
244
|
+
* @returns The service or null
|
|
245
|
+
*/
|
|
246
|
+
export declare function getCrewlyChannelService(): CrewlyChannelService | null;
|
|
247
|
+
//# sourceMappingURL=crewly-channel.service.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"crewly-channel.service.d.ts","sourceRoot":"","sources":["../../../../../../backend/src/services/channels/crewly-channel.service.ts"],"names":[],"mappings":"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"}
|