crewly 1.20.207 → 1.20.209
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 +10 -0
- package/dist/backend/backend/src/constants.d.ts.map +1 -1
- package/dist/backend/backend/src/constants.js +10 -0
- package/dist/backend/backend/src/constants.js.map +1 -1
- package/dist/backend/backend/src/controllers/monitoring/terminal.controller.d.ts.map +1 -1
- package/dist/backend/backend/src/controllers/monitoring/terminal.controller.js +4 -0
- package/dist/backend/backend/src/controllers/monitoring/terminal.controller.js.map +1 -1
- package/dist/backend/backend/src/controllers/session/session.controller.d.ts.map +1 -1
- package/dist/backend/backend/src/controllers/session/session.controller.js +2 -0
- package/dist/backend/backend/src/controllers/session/session.controller.js.map +1 -1
- package/dist/backend/backend/src/controllers/slack/slack.controller.d.ts.map +1 -1
- package/dist/backend/backend/src/controllers/slack/slack.controller.js +29 -0
- package/dist/backend/backend/src/controllers/slack/slack.controller.js.map +1 -1
- package/dist/backend/backend/src/index.d.ts.map +1 -1
- package/dist/backend/backend/src/index.js +15 -1
- package/dist/backend/backend/src/index.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 +12 -2
- package/dist/backend/backend/src/services/agent/agent-registration.service.js.map +1 -1
- package/dist/backend/backend/src/services/chat-v2/chat-v2.service.d.ts +9 -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 +11 -0
- package/dist/backend/backend/src/services/chat-v2/chat-v2.service.js.map +1 -1
- package/dist/backend/backend/src/services/chat-v2/sqlite/message.store.d.ts +10 -0
- package/dist/backend/backend/src/services/chat-v2/sqlite/message.store.d.ts.map +1 -1
- package/dist/backend/backend/src/services/chat-v2/sqlite/message.store.js +19 -0
- package/dist/backend/backend/src/services/chat-v2/sqlite/message.store.js.map +1 -1
- package/dist/backend/backend/src/services/messaging/input-blocked-retry.service.d.ts +10 -0
- package/dist/backend/backend/src/services/messaging/input-blocked-retry.service.d.ts.map +1 -1
- package/dist/backend/backend/src/services/messaging/input-blocked-retry.service.js +16 -0
- package/dist/backend/backend/src/services/messaging/input-blocked-retry.service.js.map +1 -1
- package/dist/backend/backend/src/services/messaging/sub-agent-message-queue.service.d.ts +10 -0
- package/dist/backend/backend/src/services/messaging/sub-agent-message-queue.service.d.ts.map +1 -1
- package/dist/backend/backend/src/services/messaging/sub-agent-message-queue.service.js +21 -0
- package/dist/backend/backend/src/services/messaging/sub-agent-message-queue.service.js.map +1 -1
- package/dist/backend/backend/src/services/session/input-ledger.d.ts +115 -0
- package/dist/backend/backend/src/services/session/input-ledger.d.ts.map +1 -0
- package/dist/backend/backend/src/services/session/input-ledger.js +144 -0
- package/dist/backend/backend/src/services/session/input-ledger.js.map +1 -0
- package/dist/backend/backend/src/services/session/session-command-helper.d.ts +26 -0
- package/dist/backend/backend/src/services/session/session-command-helper.d.ts.map +1 -1
- package/dist/backend/backend/src/services/session/session-command-helper.js +167 -36
- package/dist/backend/backend/src/services/session/session-command-helper.js.map +1 -1
- package/dist/backend/backend/src/services/session/tui-input-guard.d.ts +65 -0
- package/dist/backend/backend/src/services/session/tui-input-guard.d.ts.map +1 -1
- package/dist/backend/backend/src/services/session/tui-input-guard.js +118 -0
- package/dist/backend/backend/src/services/session/tui-input-guard.js.map +1 -1
- package/dist/backend/backend/src/services/slack/slack-delivery-audit.service.d.ts +156 -0
- package/dist/backend/backend/src/services/slack/slack-delivery-audit.service.d.ts.map +1 -0
- package/dist/backend/backend/src/services/slack/slack-delivery-audit.service.js +259 -0
- package/dist/backend/backend/src/services/slack/slack-delivery-audit.service.js.map +1 -0
- package/dist/backend/backend/src/services/slack/slack-initializer.d.ts.map +1 -1
- package/dist/backend/backend/src/services/slack/slack-initializer.js +19 -0
- package/dist/backend/backend/src/services/slack/slack-initializer.js.map +1 -1
- package/dist/backend/backend/src/services/slack/slack-instance-registry.service.d.ts +14 -1
- package/dist/backend/backend/src/services/slack/slack-instance-registry.service.d.ts.map +1 -1
- package/dist/backend/backend/src/services/slack/slack-instance-registry.service.js +13 -0
- package/dist/backend/backend/src/services/slack/slack-instance-registry.service.js.map +1 -1
- package/dist/backend/backend/src/services/slack/slack-orchestrator-bridge.d.ts.map +1 -1
- package/dist/backend/backend/src/services/slack/slack-orchestrator-bridge.js +7 -1
- package/dist/backend/backend/src/services/slack/slack-orchestrator-bridge.js.map +1 -1
- package/dist/backend/backend/src/services/slack/slack-team-channel.service.d.ts +22 -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 +41 -4
- package/dist/backend/backend/src/services/slack/slack-team-channel.service.js.map +1 -1
- package/dist/backend/backend/src/types/slack.types.d.ts +48 -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/backend/src/websocket/terminal.gateway.d.ts.map +1 -1
- package/dist/backend/backend/src/websocket/terminal.gateway.js +4 -1
- package/dist/backend/backend/src/websocket/terminal.gateway.js.map +1 -1
- package/dist/backend/build-info.json +2 -2
- package/dist/cli/backend/src/constants.d.ts +10 -0
- package/dist/cli/backend/src/constants.d.ts.map +1 -1
- package/dist/cli/backend/src/constants.js +10 -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 +12 -2
- package/dist/cli/backend/src/services/agent/agent-registration.service.js.map +1 -1
- package/dist/cli/backend/src/services/chat-v2/chat-v2.service.d.ts +9 -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 +11 -0
- package/dist/cli/backend/src/services/chat-v2/chat-v2.service.js.map +1 -1
- package/dist/cli/backend/src/services/chat-v2/sqlite/message.store.d.ts +10 -0
- package/dist/cli/backend/src/services/chat-v2/sqlite/message.store.d.ts.map +1 -1
- package/dist/cli/backend/src/services/chat-v2/sqlite/message.store.js +19 -0
- package/dist/cli/backend/src/services/chat-v2/sqlite/message.store.js.map +1 -1
- package/dist/cli/backend/src/services/messaging/input-blocked-retry.service.d.ts +10 -0
- package/dist/cli/backend/src/services/messaging/input-blocked-retry.service.d.ts.map +1 -1
- package/dist/cli/backend/src/services/messaging/input-blocked-retry.service.js +16 -0
- package/dist/cli/backend/src/services/messaging/input-blocked-retry.service.js.map +1 -1
- package/dist/cli/backend/src/services/messaging/sub-agent-message-queue.service.d.ts +10 -0
- package/dist/cli/backend/src/services/messaging/sub-agent-message-queue.service.d.ts.map +1 -1
- package/dist/cli/backend/src/services/messaging/sub-agent-message-queue.service.js +21 -0
- package/dist/cli/backend/src/services/messaging/sub-agent-message-queue.service.js.map +1 -1
- package/dist/cli/backend/src/services/session/input-ledger.d.ts +115 -0
- package/dist/cli/backend/src/services/session/input-ledger.d.ts.map +1 -0
- package/dist/cli/backend/src/services/session/input-ledger.js +144 -0
- package/dist/cli/backend/src/services/session/input-ledger.js.map +1 -0
- package/dist/cli/backend/src/services/session/session-command-helper.d.ts +26 -0
- package/dist/cli/backend/src/services/session/session-command-helper.d.ts.map +1 -1
- package/dist/cli/backend/src/services/session/session-command-helper.js +167 -36
- package/dist/cli/backend/src/services/session/session-command-helper.js.map +1 -1
- package/dist/cli/backend/src/services/session/tui-input-guard.d.ts +65 -0
- package/dist/cli/backend/src/services/session/tui-input-guard.d.ts.map +1 -1
- package/dist/cli/backend/src/services/session/tui-input-guard.js +118 -0
- package/dist/cli/backend/src/services/session/tui-input-guard.js.map +1 -1
- package/dist/cli/backend/src/services/slack/slack-orchestrator-bridge.d.ts.map +1 -1
- package/dist/cli/backend/src/services/slack/slack-orchestrator-bridge.js +7 -1
- package/dist/cli/backend/src/services/slack/slack-orchestrator-bridge.js.map +1 -1
- package/dist/cli/backend/src/services/slack/slack-team-channel.service.d.ts +22 -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 +41 -4
- package/dist/cli/backend/src/services/slack/slack-team-channel.service.js.map +1 -1
- package/dist/cli/backend/src/types/slack.types.d.ts +48 -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/dist/cli/backend/src/websocket/terminal.gateway.d.ts.map +1 -1
- package/dist/cli/backend/src/websocket/terminal.gateway.js +4 -1
- package/dist/cli/backend/src/websocket/terminal.gateway.js.map +1 -1
- package/package.json +1 -1
|
@@ -14,7 +14,7 @@ import morgan from 'morgan';
|
|
|
14
14
|
import os from 'os';
|
|
15
15
|
import { fileURLToPath } from 'url';
|
|
16
16
|
import { StorageService, TmuxService, SchedulerService, MessageSchedulerService, ActivityMonitorService, TeamActivityWebSocketService, TeamsJsonWatcherService, } from './services/index.js';
|
|
17
|
-
import { getSessionBackend, getSessionBackendSync, getSessionStatePersistence, destroySessionBackend, PtySessionBackend, } from './services/session/index.js';
|
|
17
|
+
import { getSessionBackend, getSessionBackendSync, getSessionStatePersistence, destroySessionBackend, PtySessionBackend, SessionCommandHelper, } from './services/session/index.js';
|
|
18
18
|
import { RuntimePidRegistry } from './services/session/runtime-pid-registry.service.js';
|
|
19
19
|
import { removeCrewlyAgentFile, resolvePersistedSessions, selectAutoRestoreSessions } from './services/session/session-binding.js';
|
|
20
20
|
import { ApiController } from './controllers/api.controller.js';
|
|
@@ -5587,6 +5587,16 @@ export class CrewlyServer {
|
|
|
5587
5587
|
try {
|
|
5588
5588
|
const queue = SubAgentMessageQueue.getInstance();
|
|
5589
5589
|
const tell = (sessionName, text, sample) => this.tellAboutAgent(sessionName, text, { sample, kind: 'input-blocked', title: 'Orchestrator input blocked' });
|
|
5590
|
+
// Our Enter submitted pastes that were sitting in an agent's box: drop
|
|
5591
|
+
// their queued copies so a held retry does not deliver them twice.
|
|
5592
|
+
SessionCommandHelper.onOwnPasteSubmitted = (sessionName, messages) => {
|
|
5593
|
+
for (const m of messages)
|
|
5594
|
+
queue.remove(sessionName, m);
|
|
5595
|
+
};
|
|
5596
|
+
// An idle agent's box held text we cannot attribute for a long time.
|
|
5597
|
+
SessionCommandHelper.onStuckInput = (sessionName, info) => {
|
|
5598
|
+
InputBlockedRetryService.getInstance().noteStuckInput(sessionName, info.inputLength, info.forMs);
|
|
5599
|
+
};
|
|
5590
5600
|
InputBlockedRetryService.getInstance().setDeps({
|
|
5591
5601
|
hasQueued: (session) => queue.hasPending(session),
|
|
5592
5602
|
isIdle: (session) => this.activityMonitorService.getObservedWorkingStatus(session) !== 'in_progress',
|
|
@@ -5594,6 +5604,10 @@ export class CrewlyServer {
|
|
|
5594
5604
|
notify: async (notice) => {
|
|
5595
5605
|
const minutes = Math.max(1, Math.round(notice.blockedForMs / 60000));
|
|
5596
5606
|
// The kind of content, never the text: a box can hold a password.
|
|
5607
|
+
if (notice.state === 'stuck') {
|
|
5608
|
+
tell(notice.sessionName, `${notice.sessionName} is idle, but its input box has held ${notice.inputLength} characters for ${minutes} min that Crewly cannot match to its own messages, and nobody typed into its terminal since Crewly's last message. Crewly did not submit it. Check the agent's terminal: submit or clear what is in the box.`, undefined);
|
|
5609
|
+
return;
|
|
5610
|
+
}
|
|
5597
5611
|
if (notice.state === 'busy') {
|
|
5598
5612
|
tell(notice.sessionName, `Messages to ${notice.sessionName} have been held for ${minutes} min because it has looked mid-turn the whole time (spinner or "esc to interrupt" on screen). It may be stuck in a long or hung turn. Check its terminal; the messages go out as soon as it is idle.`, notice.message);
|
|
5599
5613
|
return;
|