crewly 1.20.381 → 1.20.383
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/backend/backend/src/constants.d.ts +49 -0
- package/dist/backend/backend/src/constants.d.ts.map +1 -1
- package/dist/backend/backend/src/constants.js +49 -0
- package/dist/backend/backend/src/constants.js.map +1 -1
- package/dist/backend/backend/src/index.d.ts.map +1 -1
- package/dist/backend/backend/src/index.js +96 -12
- package/dist/backend/backend/src/index.js.map +1 -1
- package/dist/backend/backend/src/services/drive/drive-agent.service.d.ts +16 -2
- package/dist/backend/backend/src/services/drive/drive-agent.service.d.ts.map +1 -1
- package/dist/backend/backend/src/services/drive/drive-agent.service.js +60 -5
- package/dist/backend/backend/src/services/drive/drive-agent.service.js.map +1 -1
- package/dist/backend/backend/src/services/drive/drive-cloud.contract.d.ts +61 -1
- package/dist/backend/backend/src/services/drive/drive-cloud.contract.d.ts.map +1 -1
- package/dist/backend/backend/src/services/drive/drive-cloud.contract.js +72 -3
- package/dist/backend/backend/src/services/drive/drive-cloud.contract.js.map +1 -1
- package/dist/backend/backend/src/services/drive/drive-meeting-pack.d.ts +233 -0
- package/dist/backend/backend/src/services/drive/drive-meeting-pack.d.ts.map +1 -0
- package/dist/backend/backend/src/services/drive/drive-meeting-pack.js +327 -0
- package/dist/backend/backend/src/services/drive/drive-meeting-pack.js.map +1 -0
- package/dist/backend/backend/src/services/drive/drive-meeting.service.d.ts +157 -0
- package/dist/backend/backend/src/services/drive/drive-meeting.service.d.ts.map +1 -0
- package/dist/backend/backend/src/services/drive/drive-meeting.service.js +219 -0
- package/dist/backend/backend/src/services/drive/drive-meeting.service.js.map +1 -0
- package/dist/backend/backend/src/services/drive/drive-meeting.wiring.d.ts +80 -0
- package/dist/backend/backend/src/services/drive/drive-meeting.wiring.d.ts.map +1 -0
- package/dist/backend/backend/src/services/drive/drive-meeting.wiring.js +153 -0
- package/dist/backend/backend/src/services/drive/drive-meeting.wiring.js.map +1 -0
- package/dist/backend/backend/src/services/monitoring/model-pricing.d.ts +32 -5
- package/dist/backend/backend/src/services/monitoring/model-pricing.d.ts.map +1 -1
- package/dist/backend/backend/src/services/monitoring/model-pricing.js +54 -23
- package/dist/backend/backend/src/services/monitoring/model-pricing.js.map +1 -1
- package/dist/backend/backend/src/services/monitoring/token-usage.service.d.ts +2 -2
- package/dist/backend/backend/src/services/monitoring/token-usage.service.d.ts.map +1 -1
- package/dist/backend/backend/src/services/monitoring/token-usage.service.js +8 -3
- package/dist/backend/backend/src/services/monitoring/token-usage.service.js.map +1 -1
- package/dist/backend/build-info.json +2 -2
- package/dist/cli/backend/src/constants.d.ts +49 -0
- package/dist/cli/backend/src/constants.d.ts.map +1 -1
- package/dist/cli/backend/src/constants.js +49 -0
- package/dist/cli/backend/src/constants.js.map +1 -1
- package/dist/cli/backend/src/services/monitoring/model-pricing.d.ts +32 -5
- package/dist/cli/backend/src/services/monitoring/model-pricing.d.ts.map +1 -1
- package/dist/cli/backend/src/services/monitoring/model-pricing.js +54 -23
- package/dist/cli/backend/src/services/monitoring/model-pricing.js.map +1 -1
- package/dist/cli/backend/src/services/monitoring/token-usage.service.d.ts +2 -2
- package/dist/cli/backend/src/services/monitoring/token-usage.service.d.ts.map +1 -1
- package/dist/cli/backend/src/services/monitoring/token-usage.service.js +8 -3
- package/dist/cli/backend/src/services/monitoring/token-usage.service.js.map +1 -1
- package/package.json +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../backend/src/index.ts"],"names":[],"mappings":";AA4CA,OAAO,EAAE,aAAa,EAAa,MAAM,kBAAkB,CAAC;AA6V5D,qBAAa,YAAY;IACxB,OAAO,CAAC,GAAG,CAAsB;IACjC,OAAO,CAAC,UAAU,CAAkC;IACpD,OAAO,CAAC,EAAE,CAAiB;IAC3B,iFAAiF;IACjF,OAAO,CAAC,cAAc,CAAuB;IAC7C,OAAO,CAAC,MAAM,CAAgB;IAC9B,OAAO,CAAC,MAAM,CAAqE;IACnF,gFAAgF;IAChF,OAAO,CAAC,iBAAiB,CAAC,CAAyD;IAEnF,OAAO,CAAC,cAAc,CAAkB;IACxC,OAAO,CAAC,WAAW,CAAe;IAClC,OAAO,CAAC,gBAAgB,CAAoB;IAC5C,OAAO,CAAC,uBAAuB,CAA2B;IAC1D,OAAO,CAAC,sBAAsB,CAA0B;IACxD,OAAO,CAAC,4BAA4B,CAAgC;IACpE,OAAO,CAAC,uBAAuB,CAA2B;IAC1D,OAAO,CAAC,aAAa,CAAiB;IACtC,OAAO,CAAC,eAAe,CAAmB;IAC1C,OAAO,CAAC,mBAAmB,CAAuB;IAClD,OAAO,CAAC,qBAAqB,CAAyB;IACtD,OAAO,CAAC,wBAAwB,CAA4B;IAC5D,OAAO,CAAC,eAAe,CAAmB;IAC1C,qEAAqE;IACrE,OAAO,CAAC,qBAAqB,CAAsC;IACnE,OAAO,CAAC,sBAAsB,CAAuC;IACrE,OAAO,CAAC,sBAAsB,CAAiD;IAC/E,OAAO,CAAC,iBAAiB,CAAkC;IAC3D,OAAO,CAAC,0BAA0B,CAA2C;IAC7E,kGAAkG;IAClG,OAAO,CAAC,sBAAsB,CAAuC;IAGrE,OAAO,CAAC,+BAA+B,CAAgD;IACvF,+FAA+F;IAC/F,OAAO,CAAC,oBAAoB,CAAqC;IACjE,8HAA8H;IAC9H,OAAO,CAAC,0BAA0B,CAA2C;IAC7E,OAAO,CAAC,6BAA6B,CAA8C;IACnF,OAAO,CAAC,wBAAwB,CAAyC;IACzE,OAAO,CAAC,2BAA2B,CAA+B;IAClE,OAAO,CAAC,0BAA0B,CAA8B;IAChE,OAAO,CAAC,iBAAiB,CAAkC;IAC3D,OAAO,CAAC,kBAAkB,CAA0C;IACpE,8DAA8D;IAC9D,OAAO,CAAC,iBAAiB,CAAmG;IAK5H,OAAO,CAAC,aAAa,CAAuE;IAC5F,OAAO,CAAC,gBAAgB,CAET;IAGf,OAAO,CAAC,cAAc,CAAS;IAC/B,oEAAoE;IACpE,OAAO,CAAC,qBAAqB,CAA6C;IAC1E,OAAO,CAAC,qBAAqB,CAA2G;IACxI,0EAA0E;IAC1E,OAAO,CAAC,eAAe,CAAuC;IAC9D,OAAO,CAAC,gBAAgB,CAAiG;IACzH,OAAO,CAAC,UAAU,CAAyE;IAC3F,wFAAwF;IACxF,OAAO,CAAC,UAAU,CAAkG;IACpH,qEAAqE;IACrE,OAAO,CAAC,cAAc,CAAmG;IACzH,oFAAoF;IACpF,OAAO,CAAC,oBAAoB,CAAK;IACjC,2EAA2E;IAC3E,OAAO,CAAC,sBAAsB,CAA8B;IAC5D,yGAAyG;IACzG,OAAO,CAAC,sBAAsB,CAAuB;IACrD;;;OAGG;IACH,OAAO,CAAC,QAAQ,CAAC,kBAAkB,CAMhC;IACH,oGAAoG;IACpG,OAAO,CAAC,qBAAqB,CAAwB;IACrD;;;OAGG;IACH,OAAO,CAAC,eAAe,CAAS;IAChC,yFAAyF;IACzF,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAc;IACrC,yFAAyF;IACzF,OAAO,CAAC,cAAc,CAAqB;IAC3C,OAAO,CAAC,uBAAuB,CAAS;IACxC,OAAO,CAAC,wBAAwB,CAA+B;IAC/D,OAAO,CAAC,kBAAkB,CAAuC;gBAErD,MAAM,CAAC,EAAE,OAAO,CAAC,aAAa,CAAC;IAsE3C,OAAO,CAAC,kBAAkB;IAg4C1B,OAAO,CAAC,mBAAmB;IAuE3B,OAAO,CAAC,eAAe;IA+MvB,OAAO,CAAC,kBAAkB;IA0BpB,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../backend/src/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -84,7 +84,7 @@ import { driveCapabilities } from './services/drive/drive-agent.service.js';
|
|
|
84
84
|
import { canvasCapabilities } from './services/board/canvas/canvas-inbound.service.js';
|
|
85
85
|
import { isBoardPushDisabled } from './services/board/board-push.service.js';
|
|
86
86
|
import { teamMoveCapabilities } from './services/team-move/team-move-driver.service.js';
|
|
87
|
-
import { SUB_AGENT_QUEUE_CONSTANTS, CHAT_CONTEXT_CONSTANTS, SAFE_RESTART, AUTO_UPDATE_CONSTANTS, PROCESS_EXIT_CODES, CLAUDE_STARTUP_CONSTANTS, WEB_CONSTANTS, TICKET_CONSTANTS, UNASSIGNED_ROUTE_CONSTANTS, CLOUD_TALK_CONSTANTS, STANDING_ANSWERS_CONSTANTS, TICKET_AUTOPILOT_CONSTANTS, TICKET_HYGIENE_CONSTANTS, EXPERIMENT_CONSTANTS, WORK_ITEM_DESTINATION_CONSTANTS, CODEX_USAGE_SYNC_CONSTANTS, ANTIGRAVITY_USAGE_SYNC_CONSTANTS, OWNER_AUTH_CONSTANTS, CREWLY_APPS_CONSTANTS, SLACK_AGENT_DM_CONSTANTS, BRIEFING_CONSTANTS, DRIVE_CONSTANTS, POOL_PRUNE_CONSTANTS, STALL_WATCHER_CONSTANTS } from './constants.js';
|
|
87
|
+
import { SUB_AGENT_QUEUE_CONSTANTS, CHAT_CONTEXT_CONSTANTS, SAFE_RESTART, AUTO_UPDATE_CONSTANTS, PROCESS_EXIT_CODES, CLAUDE_STARTUP_CONSTANTS, WEB_CONSTANTS, TICKET_CONSTANTS, UNASSIGNED_ROUTE_CONSTANTS, CLOUD_TALK_CONSTANTS, STANDING_ANSWERS_CONSTANTS, TICKET_AUTOPILOT_CONSTANTS, TICKET_HYGIENE_CONSTANTS, EXPERIMENT_CONSTANTS, WORK_ITEM_DESTINATION_CONSTANTS, CODEX_USAGE_SYNC_CONSTANTS, ANTIGRAVITY_USAGE_SYNC_CONSTANTS, OWNER_AUTH_CONSTANTS, CREWLY_APPS_CONSTANTS, SLACK_AGENT_DM_CONSTANTS, BRIEFING_CONSTANTS, DRIVE_CONSTANTS, MEETING_CONSTANTS, ORC_CONVERSATION_CONSTANTS, POOL_PRUNE_CONSTANTS, STALL_WATCHER_CONSTANTS } from './constants.js';
|
|
88
88
|
import { randomUUID } from 'crypto';
|
|
89
89
|
import { PtyActivityTrackerService } from './services/agent/pty-activity-tracker.service.js';
|
|
90
90
|
import { InFlightTurnTracker } from './services/restart/in-flight-turn-tracker.service.js';
|
|
@@ -3013,6 +3013,8 @@ export class CrewlyServer {
|
|
|
3013
3013
|
// "Let me check with the teams" (Drive kickoff): set below, once the
|
|
3014
3014
|
// status snapshot sync exists, and read by the Drive handler at run time.
|
|
3015
3015
|
let driveStatusCheck = null;
|
|
3016
|
+
// The status snapshot builder (set below with the briefing sync), read by meeting packs.
|
|
3017
|
+
let driveSnapshot = null;
|
|
3016
3018
|
// Drive mode (specs/2026-10-08-drive-mode.md §7): Crewly Cloud hosts
|
|
3017
3019
|
// the voice session; this machine delivers the owner's words to its
|
|
3018
3020
|
// agents (tagged drive-mode, kept off Slack), carries their
|
|
@@ -3032,7 +3034,87 @@ export class CrewlyServer {
|
|
|
3032
3034
|
const cloudClient = CloudClientService.getInstance();
|
|
3033
3035
|
const owner = { userId: SLACK_AGENT_DM_CONSTANTS.OWNER_USER_ID, source: 'oss' };
|
|
3034
3036
|
const botTokenOf = (session) => getSlackAgentIdentityService()?.getInstalled(session)?.botToken;
|
|
3037
|
+
// Meetings P2b (crewly#1415): a 1:1 voice meeting with one agent —
|
|
3038
|
+
// its pack, live wiki search and write-backs into the right thread.
|
|
3039
|
+
const [{ DriveMeetingService }, meetingWiring, { DecisionService }, { WikiSearchService }] = await Promise.all([
|
|
3040
|
+
import('./services/drive/drive-meeting.service.js'),
|
|
3041
|
+
import('./services/drive/drive-meeting.wiring.js'),
|
|
3042
|
+
import('./services/decisions/decision.service.js'),
|
|
3043
|
+
import('./services/wiki/wiki-search.service.js'),
|
|
3044
|
+
]);
|
|
3045
|
+
const meeting = new DriveMeetingService({
|
|
3046
|
+
timeline: async (agentSession, sinceMs) => chatService
|
|
3047
|
+
.getAgentTimeline({ agentSession, principal: owner, limit: MEETING_CONSTANTS.TIMELINE_SCAN })
|
|
3048
|
+
.items.filter((r) => r.createdAt >= sinceMs)
|
|
3049
|
+
.map((r) => ({
|
|
3050
|
+
id: r.id,
|
|
3051
|
+
channelId: r.channelId,
|
|
3052
|
+
channelType: r.channelType,
|
|
3053
|
+
channelName: r.channelName,
|
|
3054
|
+
...(r.threadId ? { threadId: r.threadId } : {}),
|
|
3055
|
+
senderType: r.senderType,
|
|
3056
|
+
senderKind: r.senderKind,
|
|
3057
|
+
senderId: r.senderId,
|
|
3058
|
+
content: r.content,
|
|
3059
|
+
createdAt: r.createdAt,
|
|
3060
|
+
...(r.metadata ? { metadata: r.metadata } : {}),
|
|
3061
|
+
})),
|
|
3062
|
+
decisions: async () => ((await DecisionService.getInstance()?.list('all')) ?? []).map(meetingWiring.decisionSource),
|
|
3063
|
+
snapshot: async () => (driveSnapshot ? driveSnapshot() : null),
|
|
3064
|
+
handover: (agentSession) => meetingWiring.readLatestHandover(path.join(getCrewlyHomePath(), ORC_CONVERSATION_CONSTANTS.HANDOVER_DIR), agentSession),
|
|
3065
|
+
vaults: async (agentSession) => meetingWiring.vaultsOfAgent(await this.storageService.getTeams(), await this.storageService.getProjects(), agentSession, getCrewlyHomePath()),
|
|
3066
|
+
searchWiki: async (vaults, query, agentSession) => {
|
|
3067
|
+
const role = meetingWiring.teamsOfAgent(await this.storageService.getTeams(), agentSession)[0]?.role;
|
|
3068
|
+
const out = await WikiSearchService.getInstance().searchAllVaults({ vaults, query, ...(role ? { viewerRole: role } : {}) });
|
|
3069
|
+
return out.ok ? out.hits.map(meetingWiring.wikiHitToPage) : [];
|
|
3070
|
+
},
|
|
3071
|
+
readPage: meetingWiring.readWikiPage,
|
|
3072
|
+
answerDecision: async (id, text) => {
|
|
3073
|
+
const svc = DecisionService.getInstance();
|
|
3074
|
+
if (!svc)
|
|
3075
|
+
return false;
|
|
3076
|
+
await svc.answerInWords(id, text, 'voice');
|
|
3077
|
+
return true;
|
|
3078
|
+
},
|
|
3079
|
+
slackDmOf: (agentSession) => {
|
|
3080
|
+
const link = getSlackAgentDmService()?.findByAgentSession(agentSession);
|
|
3081
|
+
return link && botTokenOf(agentSession) ? { slackChannelId: link.slackChannelId, chatChannelId: link.chatChannelId } : null;
|
|
3082
|
+
},
|
|
3083
|
+
chatChannelOfSlack: (slackChannelId) => {
|
|
3084
|
+
const dm = getSlackAgentDmService()?.findBySlackChannelId(slackChannelId);
|
|
3085
|
+
if (dm)
|
|
3086
|
+
return { chatChannelId: dm.chatChannelId, dm: true };
|
|
3087
|
+
const room = getSlackTeamChannelService()?.findBySlackChannelId(slackChannelId);
|
|
3088
|
+
return room ? { chatChannelId: room.chatChannelId, dm: false } : null;
|
|
3089
|
+
},
|
|
3090
|
+
slackRootId: (chatChannelId, threadTs) => chatService.findSlackThreadRoot(chatChannelId, threadTs)?.id ?? null,
|
|
3091
|
+
postSlack: async ({ agentSession, slackChannelId, threadTs, text }) => {
|
|
3092
|
+
const slack = getSlackService();
|
|
3093
|
+
if (!slack.isConnected())
|
|
3094
|
+
return null;
|
|
3095
|
+
const token = botTokenOf(agentSession);
|
|
3096
|
+
// An agent's DM belongs to its own bot (the workspace bot cannot post there).
|
|
3097
|
+
if (!token && getSlackAgentDmService()?.findBySlackChannelId(slackChannelId))
|
|
3098
|
+
return null;
|
|
3099
|
+
return slack.sendMessage({ channelId: slackChannelId, text, ...(threadTs ? { threadTs } : {}), skipChatV2Mirror: true, ...(token ? { botToken: token } : {}) });
|
|
3100
|
+
},
|
|
3101
|
+
ownerDmChannel: (agentSession) => chatService.ensureDmChannel({ agentSession, principal: owner }).channel.id,
|
|
3102
|
+
recordOwnerTurn: async ({ channelId, threadId, text, metadata }) => {
|
|
3103
|
+
const { message } = chatService.recordTurn({
|
|
3104
|
+
channelId,
|
|
3105
|
+
senderType: 'user',
|
|
3106
|
+
senderId: owner.userId,
|
|
3107
|
+
content: text,
|
|
3108
|
+
...(threadId ? { threadId } : {}),
|
|
3109
|
+
clientMessageId: `meeting-${randomUUID()}`,
|
|
3110
|
+
metadata,
|
|
3111
|
+
});
|
|
3112
|
+
await chatDispatcher.dispatchMessage(chatService.getChannel(channelId, owner), message);
|
|
3113
|
+
return { messageId: message.id };
|
|
3114
|
+
},
|
|
3115
|
+
});
|
|
3035
3116
|
const drive = new DriveAgentService({
|
|
3117
|
+
meeting,
|
|
3036
3118
|
source: sync,
|
|
3037
3119
|
cloud: {
|
|
3038
3120
|
getToken: () => cloudClient.getToken(),
|
|
@@ -3168,18 +3250,20 @@ export class CrewlyServer {
|
|
|
3168
3250
|
listTickets: async (projectPath) => (await ProjectTicketService.getInstance().list(projectPath)).tickets,
|
|
3169
3251
|
listWorkItems: () => TaskPoolService.getInstance().getAllItems(),
|
|
3170
3252
|
});
|
|
3253
|
+
const buildSnapshot = async () => buildBriefingSnapshot(await collectSnapshotSources({
|
|
3254
|
+
getTeams: () => this.storageService.getTeams(),
|
|
3255
|
+
getProjects: () => this.storageService.getProjects(),
|
|
3256
|
+
...cachedReads,
|
|
3257
|
+
waiting: async () => (await getBriefingService()?.queue())?.items ?? [],
|
|
3258
|
+
ownerFeed: (sinceMs, limit) => chatService.getOwnerFeed({ sinceMs, limit }),
|
|
3259
|
+
orchestratorRunning: () => getSessionBackendSync()?.sessionExists(ORCHESTRATOR_SESSION_NAME) ?? false,
|
|
3260
|
+
orchestratorName: CLOUD_TALK_CONSTANTS.ORCHESTRATOR_DISPLAY_NAME,
|
|
3261
|
+
// Charters and chore-free work lists for the high-level overview.
|
|
3262
|
+
roster: async () => (await import('./services/team-roster/team-roster.service.js')).TeamRosterService.getInstance().getRoster(),
|
|
3263
|
+
}));
|
|
3264
|
+
driveSnapshot = buildSnapshot;
|
|
3171
3265
|
const briefingSync = new DriveBriefingSyncService({
|
|
3172
|
-
build:
|
|
3173
|
-
getTeams: () => this.storageService.getTeams(),
|
|
3174
|
-
getProjects: () => this.storageService.getProjects(),
|
|
3175
|
-
...cachedReads,
|
|
3176
|
-
waiting: async () => (await getBriefingService()?.queue())?.items ?? [],
|
|
3177
|
-
ownerFeed: (sinceMs, limit) => chatService.getOwnerFeed({ sinceMs, limit }),
|
|
3178
|
-
orchestratorRunning: () => getSessionBackendSync()?.sessionExists(ORCHESTRATOR_SESSION_NAME) ?? false,
|
|
3179
|
-
orchestratorName: CLOUD_TALK_CONSTANTS.ORCHESTRATOR_DISPLAY_NAME,
|
|
3180
|
-
// Charters and chore-free work lists for the high-level overview.
|
|
3181
|
-
roster: async () => (await import('./services/team-roster/team-roster.service.js')).TeamRosterService.getInstance().getRoster(),
|
|
3182
|
-
})),
|
|
3266
|
+
build: buildSnapshot,
|
|
3183
3267
|
cloud: {
|
|
3184
3268
|
getToken: () => cloudClient.getToken(),
|
|
3185
3269
|
getCloudUrl: () => cloudClient.getCloudUrl(),
|