cli-jaw 2.17.43 → 2.17.44
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/README.md +13 -2
- package/dist/bin/commands/slack.js +73 -7
- package/dist/bin/commands/slack.js.map +1 -1
- package/dist/server.js +46 -1
- package/dist/server.js.map +1 -1
- package/dist/src/agent/calendar-context.js +23 -0
- package/dist/src/agent/calendar-context.js.map +1 -0
- package/dist/src/agent/claude-runtime-run.js +10 -1
- package/dist/src/agent/claude-runtime-run.js.map +1 -1
- package/dist/src/agent/cursor-acp-models.js +139 -0
- package/dist/src/agent/cursor-acp-models.js.map +1 -0
- package/dist/src/agent/events/cursor.js +28 -4
- package/dist/src/agent/events/cursor.js.map +1 -1
- package/dist/src/agent/lifecycle-handler.js +8 -2
- package/dist/src/agent/lifecycle-handler.js.map +1 -1
- package/dist/src/agent/native-runtime-run.js +22 -1
- package/dist/src/agent/native-runtime-run.js.map +1 -1
- package/dist/src/agent/runtime/acp/config.js +76 -11
- package/dist/src/agent/runtime/acp/config.js.map +1 -1
- package/dist/src/agent/runtime/acp/cursor-session.js +6 -1
- package/dist/src/agent/runtime/acp/cursor-session.js.map +1 -1
- package/dist/src/agent/runtime/liveness.js +24 -0
- package/dist/src/agent/runtime/liveness.js.map +1 -0
- package/dist/src/agent/runtime/start-failure.js +61 -0
- package/dist/src/agent/runtime/start-failure.js.map +1 -0
- package/dist/src/agent/spawn/queue.js +11 -6
- package/dist/src/agent/spawn/queue.js.map +1 -1
- package/dist/src/agent/spawn.js +59 -17
- package/dist/src/agent/spawn.js.map +1 -1
- package/dist/src/cli/api-auth.js +6 -0
- package/dist/src/cli/api-auth.js.map +1 -1
- package/dist/src/manager/design/watcher.js +10 -2
- package/dist/src/manager/design/watcher.js.map +1 -1
- package/dist/src/memory/heartbeat.js +6 -0
- package/dist/src/memory/heartbeat.js.map +1 -1
- package/dist/src/messaging/channel-validate.js +5 -3
- package/dist/src/messaging/channel-validate.js.map +1 -1
- package/dist/src/messaging/redact.js +30 -8
- package/dist/src/messaging/redact.js.map +1 -1
- package/dist/src/messaging/send.js +7 -0
- package/dist/src/messaging/send.js.map +1 -1
- package/dist/src/orchestrator/collect.js +5 -3
- package/dist/src/orchestrator/collect.js.map +1 -1
- package/dist/src/orchestrator/gateway.js +10 -3
- package/dist/src/orchestrator/gateway.js.map +1 -1
- package/dist/src/orchestrator/pipeline.js +21 -9
- package/dist/src/orchestrator/pipeline.js.map +1 -1
- package/dist/src/orchestrator/request-registry.js +2 -0
- package/dist/src/orchestrator/request-registry.js.map +1 -1
- package/dist/src/prompt/builder.js +74 -6
- package/dist/src/prompt/builder.js.map +1 -1
- package/dist/src/prompt/templates/a1-system.md +22 -5
- package/dist/src/routes/messaging.js +105 -27
- package/dist/src/routes/messaging.js.map +1 -1
- package/dist/src/routes/settings.js +20 -8
- package/dist/src/routes/settings.js.map +1 -1
- package/dist/src/routes/slack-tools.js +176 -0
- package/dist/src/routes/slack-tools.js.map +1 -0
- package/dist/src/slack/action-rate.js +43 -0
- package/dist/src/slack/action-rate.js.map +1 -0
- package/dist/src/slack/action-runtime.js +243 -0
- package/dist/src/slack/action-runtime.js.map +1 -0
- package/dist/src/slack/action-store.js +84 -0
- package/dist/src/slack/action-store.js.map +1 -0
- package/dist/src/slack/action-types.js +6 -0
- package/dist/src/slack/action-types.js.map +1 -0
- package/dist/src/slack/actions-canvas.js +108 -0
- package/dist/src/slack/actions-canvas.js.map +1 -0
- package/dist/src/slack/actions-channel.js +88 -0
- package/dist/src/slack/actions-channel.js.map +1 -0
- package/dist/src/slack/actions-interactions.js +204 -0
- package/dist/src/slack/actions-interactions.js.map +1 -0
- package/dist/src/slack/actions-lists.js +308 -0
- package/dist/src/slack/actions-lists.js.map +1 -0
- package/dist/src/slack/actions-message.js +117 -0
- package/dist/src/slack/actions-message.js.map +1 -0
- package/dist/src/slack/actions-resources.js +62 -0
- package/dist/src/slack/actions-resources.js.map +1 -0
- package/dist/src/slack/actions-rts.js +88 -0
- package/dist/src/slack/actions-rts.js.map +1 -0
- package/dist/src/slack/actions-schedule.js +214 -0
- package/dist/src/slack/actions-schedule.js.map +1 -0
- package/dist/src/slack/actions.js +17 -0
- package/dist/src/slack/actions.js.map +1 -0
- package/dist/src/slack/api.js +56 -9
- package/dist/src/slack/api.js.map +1 -1
- package/dist/src/slack/blocks.js +162 -0
- package/dist/src/slack/blocks.js.map +1 -0
- package/dist/src/slack/bot.js +562 -378
- package/dist/src/slack/bot.js.map +1 -1
- package/dist/src/slack/commands.js +24 -5
- package/dist/src/slack/commands.js.map +1 -1
- package/dist/src/slack/context.js +15 -4
- package/dist/src/slack/context.js.map +1 -1
- package/dist/src/slack/conversation.js +135 -33
- package/dist/src/slack/conversation.js.map +1 -1
- package/dist/src/slack/events.js +41 -17
- package/dist/src/slack/events.js.map +1 -1
- package/dist/src/slack/format.js +181 -0
- package/dist/src/slack/format.js.map +1 -1
- package/dist/src/slack/history.js +133 -8
- package/dist/src/slack/history.js.map +1 -1
- package/dist/src/slack/ingress.js +26 -9
- package/dist/src/slack/ingress.js.map +1 -1
- package/dist/src/slack/interaction-store.js +56 -0
- package/dist/src/slack/interaction-store.js.map +1 -0
- package/dist/src/slack/manifest.js +3 -0
- package/dist/src/slack/manifest.js.map +1 -1
- package/dist/src/slack/message-content.js +132 -0
- package/dist/src/slack/message-content.js.map +1 -0
- package/dist/src/slack/message.js +58 -0
- package/dist/src/slack/message.js.map +1 -0
- package/dist/src/slack/notice-transport.js +49 -19
- package/dist/src/slack/notice-transport.js.map +1 -1
- package/dist/src/slack/operator-auth.js +62 -0
- package/dist/src/slack/operator-auth.js.map +1 -0
- package/dist/src/slack/progress-activity.js +210 -0
- package/dist/src/slack/progress-activity.js.map +1 -0
- package/dist/src/slack/progress-detail.js +473 -0
- package/dist/src/slack/progress-detail.js.map +1 -0
- package/dist/src/slack/progress-files.js +70 -0
- package/dist/src/slack/progress-files.js.map +1 -0
- package/dist/src/slack/progress-lifecycle.js +223 -0
- package/dist/src/slack/progress-lifecycle.js.map +1 -0
- package/dist/src/slack/progress-restore.js +81 -0
- package/dist/src/slack/progress-restore.js.map +1 -0
- package/dist/src/slack/progress.js +325 -143
- package/dist/src/slack/progress.js.map +1 -1
- package/dist/src/slack/quote.js +227 -0
- package/dist/src/slack/quote.js.map +1 -0
- package/dist/src/slack/render-features.js +105 -0
- package/dist/src/slack/render-features.js.map +1 -0
- package/dist/src/slack/reply-delivery.js +110 -0
- package/dist/src/slack/reply-delivery.js.map +1 -0
- package/dist/src/slack/rts-output-store.js +143 -0
- package/dist/src/slack/rts-output-store.js.map +1 -0
- package/dist/src/slack/scope-status.js +17 -3
- package/dist/src/slack/scope-status.js.map +1 -1
- package/dist/src/slack/search-quote.js +70 -0
- package/dist/src/slack/search-quote.js.map +1 -0
- package/dist/src/slack/search.js +54 -0
- package/dist/src/slack/search.js.map +1 -0
- package/dist/src/slack/send-handler.js +11 -7
- package/dist/src/slack/send-handler.js.map +1 -1
- package/dist/src/slack/send-only-client.js +116 -79
- package/dist/src/slack/send-only-client.js.map +1 -1
- package/dist/src/slack/table-content.js +253 -0
- package/dist/src/slack/table-content.js.map +1 -0
- package/dist/src/slack/table-verification.js +64 -0
- package/dist/src/slack/table-verification.js.map +1 -0
- package/dist/src/slack/task-input.js +55 -0
- package/dist/src/slack/task-input.js.map +1 -0
- package/dist/src/slack/tool-access.js +127 -0
- package/dist/src/slack/tool-access.js.map +1 -0
- package/dist/src/slack/tool-capabilities.js +47 -0
- package/dist/src/slack/tool-capabilities.js.map +1 -0
- package/dist/src/slack/tool-context.js +91 -0
- package/dist/src/slack/tool-context.js.map +1 -0
- package/dist/src/slack/verified-workspace.js +17 -6
- package/dist/src/slack/verified-workspace.js.map +1 -1
- package/dist/src/trace/redact.js +2 -1
- package/dist/src/trace/redact.js.map +1 -1
- package/package.json +1 -1
- package/public/dist/.vite/manifest.json +102 -102
- package/public/dist/assets/{Agent-CQ4EBgY8.js → Agent-CNad_A6t.js} +1 -1
- package/public/dist/assets/{ChannelEnablementControl-JsYvNMlM.js → ChannelEnablementControl-DwUDKjX9.js} +4 -4
- package/public/dist/assets/{ChannelSetupEntry-BpyRWEUE.js → ChannelSetupEntry-DH0AuNNX.js} +1 -1
- package/public/dist/assets/{ChannelsDiscord-DNfvz1jn.js → ChannelsDiscord-7NmoTjR7.js} +1 -1
- package/public/dist/assets/{ChannelsSlack-DzpxIdgW.js → ChannelsSlack-Ba0ax6iT.js} +1 -1
- package/public/dist/assets/{ChannelsTelegram-CUhFc5s6.js → ChannelsTelegram-DKA9atf2.js} +1 -1
- package/public/dist/assets/{app-Q0prKOFx.js → app-9OQNfmqw.js} +4 -4
- package/public/dist/assets/{bgtask-badge-DAcWaUfS.js → bgtask-badge-BvxHqMGi.js} +1 -1
- package/public/dist/assets/bgtask-badge-DeSZJGNN.js +1 -0
- package/public/dist/assets/{employees-CWS3Juca.js → employees-CkUqN4oh.js} +1 -1
- package/public/dist/assets/{iframe-renderer-DCDKBMb7.js → iframe-renderer-C2gchtOj.js} +2 -2
- package/public/dist/assets/iframe-renderer-DfvACXIn.js +1 -0
- package/public/dist/assets/{manager-v6GYfoPB.js → manager-rb5X-4DJ.js} +1 -1
- package/public/dist/assets/{memory-DhNdKZLO.js → memory-BiWzpoBq.js} +1 -1
- package/public/dist/assets/memory-Ckp1Eq5a.js +1 -0
- package/public/dist/assets/message-history-Bv0l_t7O.js +1 -0
- package/public/dist/assets/{message-history-DbRTl1P0.js → message-history-CuFefS02.js} +1 -1
- package/public/dist/assets/{render-DP8SJtdZ.js → render-DUGqq9Mu.js} +1 -1
- package/public/dist/assets/{settings-85n9NjvX.js → settings-BqUHavbH.js} +1 -1
- package/public/dist/assets/settings-C81Kf9uX.js +1 -0
- package/public/dist/assets/{settings-C9_D-pn0.js → settings-DQ1fLygB.js} +31 -30
- package/public/dist/assets/{settings-core-BcVD2FgV.js → settings-core-CzdXfoOK.js} +1 -1
- package/public/dist/assets/settings-core-DO_5M7Lv.js +1 -0
- package/public/dist/assets/{settings-embedding-BSpq785l.js → settings-embedding-BAKFrVLV.js} +1 -1
- package/public/dist/assets/{settings-types-B09BmpYe.js → settings-types-D3cd6SWy.js} +1 -1
- package/public/dist/assets/{sidebar-BVhLb5Ft.js → sidebar-CvGbp9x5.js} +3 -3
- package/public/dist/assets/skills-DFpPmMUR.js +1 -0
- package/public/dist/assets/{skills-X7qxmHka.js → skills-abLMqY5_.js} +1 -1
- package/public/dist/assets/slash-commands-BU58xYih.js +1 -0
- package/public/dist/assets/{slash-commands-BnDH4IU_.js → slash-commands-D8o9pqOS.js} +1 -1
- package/public/dist/assets/{trace-drawer-DasaS1z4.js → trace-drawer-C6RvkUAd.js} +1 -1
- package/public/dist/assets/{ui-BtiBTXng.js → ui-Bxapl_Eu.js} +1 -1
- package/public/dist/assets/ui-CUB4iwz3.js +1 -0
- package/public/dist/index.html +1 -1
- package/public/dist/manager/index.html +1 -1
- package/public/dist/settings/index.html +1 -1
- package/public/js/features/settings-cli-status.ts +11 -1
- package/public/js/features/settings-types.ts +21 -0
- package/public/locales/en.json +34 -1
- package/public/locales/ja.json +34 -1
- package/public/locales/ko.json +34 -1
- package/public/locales/zh.json +34 -1
- package/scripts/check-native-load.cjs +17 -4
- package/scripts/release-gates.mjs +84 -3
- package/scripts/service-artifact.mjs +157 -0
- package/scripts/service-shell/zsh/.zlogin +23 -0
- package/scripts/service-shell/zsh/.zlogout +23 -0
- package/scripts/service-shell/zsh/.zprofile +23 -0
- package/scripts/service-shell/zsh/.zshenv +23 -0
- package/scripts/service-shell/zsh/.zshrc +23 -0
- package/public/dist/assets/bgtask-badge-DHA2OQm8.js +0 -1
- package/public/dist/assets/iframe-renderer-RpvBly2x.js +0 -1
- package/public/dist/assets/memory-4YH8sz0L.js +0 -1
- package/public/dist/assets/message-history-lVcLpAw8.js +0 -1
- package/public/dist/assets/settings--EGy3_B9.js +0 -1
- package/public/dist/assets/settings-core-8wBl1mg-.js +0 -1
- package/public/dist/assets/skills-6GFkHTlQ.js +0 -1
- package/public/dist/assets/slash-commands-qu8fPAZ3.js +0 -1
- package/public/dist/assets/ui-BucJ1zMA.js +0 -1
|
@@ -6,7 +6,7 @@ import { asyncHandler } from '../http/async-handler.js';
|
|
|
6
6
|
import { settings, JAW_HOME, isSettingsPersistenceBlocked, configuredSlackEnvironmentVariables, slackEnvironmentManagedPatchPaths, wikiRouteManagedPatchPaths, } from '../core/config.js';
|
|
7
7
|
import { sanitizeSettingsInput } from '../core/settings-merge.js';
|
|
8
8
|
import { readCodexContextWindow } from '../core/codex-config.js';
|
|
9
|
-
import { regenerateB, A2_PATH, HEARTBEAT_PATH } from '../prompt/builder.js';
|
|
9
|
+
import { regenerateB, getGeneratedPromptProof, A2_PATH, HEARTBEAT_PATH } from '../prompt/builder.js';
|
|
10
10
|
import { clearTemplateCache, getTemplateDir } from '../prompt/template-loader.js';
|
|
11
11
|
import { loadUnifiedMcp, saveUnifiedMcp, syncToAll, initMcpConfig, } from '../../lib/mcp-sync.js';
|
|
12
12
|
import { CLI_REGISTRY, CLI_KEYS } from '../cli/registry.js';
|
|
@@ -18,6 +18,7 @@ import { fetchOpenCodeUsage } from './quota-opencode-go-api.js';
|
|
|
18
18
|
import { buildLiveCliRegistry } from '../cli/registry-live.js';
|
|
19
19
|
import { getCachedCliStatus, getCachedCliStatusForced } from '../cli/cli-status.js';
|
|
20
20
|
import { isSwitchableNativeCli, runtimeSelectionStatus } from '../agent/runtime/selection.js';
|
|
21
|
+
import { nativeStartFailure } from '../agent/runtime/start-failure.js';
|
|
21
22
|
import { fetchCopilotQuota, refreshCopilotFromKeychain } from '../../lib/quota-copilot.js';
|
|
22
23
|
import { extractOpenAiApiKey, hasInvalidOpenAiApiKeyInput } from '../jaw-ceo/openai-key.js';
|
|
23
24
|
import { getSecurityAuditLog } from '../security/security-audit-log.js';
|
|
@@ -424,9 +425,9 @@ export function registerSettingsRoutes(app, requireAuth, applySettings, projectR
|
|
|
424
425
|
app.get('/api/codex-context', (_, res) => {
|
|
425
426
|
res.json(readCodexContextWindow());
|
|
426
427
|
});
|
|
427
|
-
app.get('/api/prompt', requireAuth, (
|
|
428
|
+
app.get('/api/prompt', requireAuth, (req, res) => {
|
|
428
429
|
const a2 = fs.existsSync(A2_PATH) ? fs.readFileSync(A2_PATH, 'utf8') : '';
|
|
429
|
-
res.json({ content: a2 });
|
|
430
|
+
res.json({ content: a2, ...(req.query['withGenerated'] === '1' ? { generated: getGeneratedPromptProof() } : {}) });
|
|
430
431
|
});
|
|
431
432
|
app.put('/api/prompt', requireAuth, (req, res) => {
|
|
432
433
|
const { content } = req.body;
|
|
@@ -573,11 +574,22 @@ export function registerSettingsRoutes(app, requireAuth, applySettings, projectR
|
|
|
573
574
|
app.get('/api/cli-status', (req, res) => {
|
|
574
575
|
const force = req.query['force'] === '1' || req.query['force'] === 'true';
|
|
575
576
|
const cached = force ? getCachedCliStatusForced() : getCachedCliStatus();
|
|
576
|
-
|
|
577
|
-
|
|
578
|
-
|
|
579
|
-
|
|
580
|
-
|
|
577
|
+
// `lastStartFailure` is a sibling of the cached row, never a member of it:
|
|
578
|
+
// a runtime that failed to start is per-turn evidence, while the row is
|
|
579
|
+
// cached binary/auth/probe readiness with its own backoff semantics (#277).
|
|
580
|
+
// It is also kept out of `runtimeSelection`, which reports compiled
|
|
581
|
+
// transport support and nothing about a live attempt. Absent means no
|
|
582
|
+
// recorded start failure, so the key is omitted rather than sent as null.
|
|
583
|
+
res.json(Object.fromEntries(Object.entries(cached).map(([cli, row]) => {
|
|
584
|
+
if (!(isSwitchableNativeCli(cli) || cli === 'codex-app' || cli === 'pi'))
|
|
585
|
+
return [cli, row];
|
|
586
|
+
const runtimeSelection = runtimeSelectionStatus(cli, settings['perCli']?.[cli]?.transport);
|
|
587
|
+
// Only a native run records this, so a row that is no longer native can
|
|
588
|
+
// only be showing a stale native fault — misleading exactly when someone
|
|
589
|
+
// is working out why the print transport is misbehaving.
|
|
590
|
+
const failure = runtimeSelection.transport === 'native' ? nativeStartFailure(cli) : undefined;
|
|
591
|
+
return [cli, { ...row, runtimeSelection, ...(failure ? { lastStartFailure: failure } : {}) }];
|
|
592
|
+
})));
|
|
581
593
|
});
|
|
582
594
|
app.post('/api/pi/profiles/register', requireAuth, asyncHandler(async (req, res) => {
|
|
583
595
|
const profile = normalizePiProfile(req.body);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"settings.js","sourceRoot":"","sources":["../../../src/routes/settings.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"settings.js","sourceRoot":"","sources":["../../../src/routes/settings.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,176 @@
|
|
|
1
|
+
import { getSlackSendClient } from '../slack/send-only-client.js';
|
|
2
|
+
import { resolveSlackToolPrincipal, withSlackToolAccess, slackToolDenied } from '../slack/tool-access.js';
|
|
3
|
+
import { readSlackMessageSnapshot } from '../slack/message.js';
|
|
4
|
+
import { slackHistoryForAgent } from '../slack/history.js';
|
|
5
|
+
import { readSlackSearchInfo } from '../slack/search.js';
|
|
6
|
+
import { searchAndQuoteSlack } from '../slack/search-quote.js';
|
|
7
|
+
import { publishSlackQuote, runSlackQuoteInvocation } from '../slack/quote.js';
|
|
8
|
+
import { slackTargetFromId } from '../messaging/slack-target.js';
|
|
9
|
+
import { httpStatus, httpCode } from './_http-error.js';
|
|
10
|
+
import { slackAction, slackActions } from '../slack/actions.js';
|
|
11
|
+
import { slackToolCapabilities } from '../slack/tool-capabilities.js';
|
|
12
|
+
function record(value) {
|
|
13
|
+
if (!value || typeof value !== 'object' || Array.isArray(value))
|
|
14
|
+
throw slackToolDenied('invalid_slack_task', 400);
|
|
15
|
+
return value;
|
|
16
|
+
}
|
|
17
|
+
function only(value, keys) {
|
|
18
|
+
if (Object.keys(value).some(key => !keys.includes(key)))
|
|
19
|
+
throw slackToolDenied('invalid_slack_task_fields', 400);
|
|
20
|
+
}
|
|
21
|
+
function text(value, max) {
|
|
22
|
+
if (typeof value !== 'string' || !value.trim() || value.length > max)
|
|
23
|
+
throw slackToolDenied('invalid_slack_task_string', 400);
|
|
24
|
+
return value;
|
|
25
|
+
}
|
|
26
|
+
function channel(value) { const result = text(value, 64); if (result !== result.trim() || !/^[CGD][A-Z0-9]+$/.test(result))
|
|
27
|
+
throw slackToolDenied('invalid_slack_channel', 400); return result; }
|
|
28
|
+
function timestamp(value) { const result = text(value, 24); if (result !== result.trim() || !/^\d{1,13}\.\d{1,6}$/.test(result))
|
|
29
|
+
throw slackToolDenied('invalid_slack_timestamp', 400); return result; }
|
|
30
|
+
function parseTask(raw) {
|
|
31
|
+
const data = record(raw);
|
|
32
|
+
const operation = text(data['operation'], 32);
|
|
33
|
+
if (!['message', 'permalink', 'quote', 'search.info', 'search.quote'].includes(operation))
|
|
34
|
+
throw slackToolDenied('unsupported_slack_operation', 400);
|
|
35
|
+
const keys = operation === 'search.info' ? ['operation'] : operation === 'search.quote'
|
|
36
|
+
? ['operation', 'invocationId', 'query', 'channelTypes', 'maxQuotes', 'maxPages', 'before', 'after', 'sort', 'sortDir']
|
|
37
|
+
: operation === 'quote' ? ['operation', 'source', 'invocationId', 'excerpt', 'summary', 'destination'] : ['operation', 'source'];
|
|
38
|
+
only(data, keys);
|
|
39
|
+
const result = { operation };
|
|
40
|
+
if (operation === 'quote' || operation === 'search.quote') {
|
|
41
|
+
result.invocationId = text(data['invocationId'], 64);
|
|
42
|
+
if (result.invocationId !== result.invocationId.trim() || !/^[A-Za-z0-9_-]+$/.test(result.invocationId))
|
|
43
|
+
throw slackToolDenied('invalid_slack_invocation_id', 400);
|
|
44
|
+
}
|
|
45
|
+
if (['message', 'permalink', 'quote'].includes(operation)) {
|
|
46
|
+
const source = record(data['source']);
|
|
47
|
+
only(source, ['channel', 'ts', 'threadTs']);
|
|
48
|
+
result.source = { channel: channel(source['channel']), ts: timestamp(source['ts']), ...(source['threadTs'] !== undefined ? { threadTs: timestamp(source['threadTs']) } : {}) };
|
|
49
|
+
}
|
|
50
|
+
if (data['destination'] !== undefined) {
|
|
51
|
+
const destination = record(data['destination']);
|
|
52
|
+
only(destination, ['channel', 'threadTs']);
|
|
53
|
+
result.destination = { channel: channel(destination['channel']), ...(destination['threadTs'] !== undefined ? { threadTs: timestamp(destination['threadTs']) } : {}) };
|
|
54
|
+
}
|
|
55
|
+
if (data['excerpt'] !== undefined)
|
|
56
|
+
result.excerpt = text(data['excerpt'], 2500);
|
|
57
|
+
if (data['summary'] !== undefined)
|
|
58
|
+
result.summary = text(data['summary'], 2500);
|
|
59
|
+
if (result.summary && result.excerpt)
|
|
60
|
+
throw slackToolDenied('slack_quote_mode_conflict', 400);
|
|
61
|
+
if (operation === 'search.quote') {
|
|
62
|
+
result.query = text(data['query'], 2000);
|
|
63
|
+
if (data['channelTypes'] !== undefined) {
|
|
64
|
+
const kinds = data['channelTypes'];
|
|
65
|
+
if (!Array.isArray(kinds) || !kinds.length || kinds.length > 4 || kinds.some(kind => typeof kind !== 'string' || !['public_channel', 'private_channel', 'im', 'mpim'].includes(kind)))
|
|
66
|
+
throw slackToolDenied('invalid_slack_search_scope', 400);
|
|
67
|
+
result.channelTypes = [...new Set(kinds)];
|
|
68
|
+
}
|
|
69
|
+
for (const key of ['maxQuotes', 'maxPages', 'before', 'after']) {
|
|
70
|
+
if (data[key] === undefined)
|
|
71
|
+
continue;
|
|
72
|
+
const value = data[key];
|
|
73
|
+
const max = key === 'maxQuotes' ? 5 : key === 'maxPages' ? 3 : 8640000000000;
|
|
74
|
+
if (typeof value !== 'number' || !Number.isSafeInteger(value) || value < 1 || value > max)
|
|
75
|
+
throw slackToolDenied('invalid_slack_task_number', 400);
|
|
76
|
+
result[key] = value;
|
|
77
|
+
}
|
|
78
|
+
if (data['sort'] !== undefined) {
|
|
79
|
+
if (typeof data['sort'] !== 'string' || !['score', 'timestamp'].includes(data['sort']))
|
|
80
|
+
throw slackToolDenied('invalid_slack_sort', 400);
|
|
81
|
+
result.sort = data['sort'];
|
|
82
|
+
}
|
|
83
|
+
if (data['sortDir'] !== undefined) {
|
|
84
|
+
if (typeof data['sortDir'] !== 'string' || !['asc', 'desc'].includes(data['sortDir']))
|
|
85
|
+
throw slackToolDenied('invalid_slack_sort', 400);
|
|
86
|
+
result.sortDir = data['sortDir'];
|
|
87
|
+
}
|
|
88
|
+
if (result.before && result.after && result.after >= result.before)
|
|
89
|
+
throw slackToolDenied('invalid_slack_time_range', 400);
|
|
90
|
+
}
|
|
91
|
+
return result;
|
|
92
|
+
}
|
|
93
|
+
export function registerSlackToolRoutes(app, requireAuth, validateOperator, actions) {
|
|
94
|
+
if (actions)
|
|
95
|
+
app.get('/api/slack/tools/capabilities', requireAuth, async (req, res) => {
|
|
96
|
+
try {
|
|
97
|
+
const principal = req.headers['x-jaw-slack-grant'] !== undefined || req.headers['x-jaw-slack-operator'] !== undefined
|
|
98
|
+
? resolveSlackToolPrincipal(req.headers, validateOperator) : null;
|
|
99
|
+
res.json(await slackToolCapabilities(getSlackSendClient().token, slackActions, principal, actions.store, { inboundReady: actions.inboundReady() }));
|
|
100
|
+
}
|
|
101
|
+
catch (error) {
|
|
102
|
+
res.status(httpStatus(error, 502)).json({ ok: false, error: httpCode(error) ?? 'slack_tool_failed', retryable: false });
|
|
103
|
+
}
|
|
104
|
+
});
|
|
105
|
+
app.post('/api/slack/tools', requireAuth, async (req, res) => {
|
|
106
|
+
try {
|
|
107
|
+
const raw = record(req.body);
|
|
108
|
+
const action = slackAction(raw['operation']);
|
|
109
|
+
const task = action ? undefined : parseTask(raw);
|
|
110
|
+
const principal = resolveSlackToolPrincipal(req.headers, validateOperator);
|
|
111
|
+
if (action) {
|
|
112
|
+
if (!actions)
|
|
113
|
+
throw slackToolDenied('slack_action_store_unavailable', 503);
|
|
114
|
+
const controller = new AbortController();
|
|
115
|
+
const aborted = () => controller.abort();
|
|
116
|
+
const closed = () => { if (!res.writableEnded)
|
|
117
|
+
controller.abort(); };
|
|
118
|
+
req.once('aborted', aborted);
|
|
119
|
+
res.once('close', closed);
|
|
120
|
+
try {
|
|
121
|
+
const receipt = await actions.runtime.execute(action, raw, principal, controller.signal);
|
|
122
|
+
res.status(receipt.ok ? 200 : receipt.status ?? 502).json(receipt);
|
|
123
|
+
}
|
|
124
|
+
finally {
|
|
125
|
+
req.off('aborted', aborted);
|
|
126
|
+
res.off('close', closed);
|
|
127
|
+
}
|
|
128
|
+
return;
|
|
129
|
+
}
|
|
130
|
+
if (!task)
|
|
131
|
+
throw slackToolDenied('unsupported_slack_operation', 400);
|
|
132
|
+
const client = getSlackSendClient();
|
|
133
|
+
if (!client.token)
|
|
134
|
+
throw slackToolDenied('slack_unavailable', 503);
|
|
135
|
+
const token = client.token;
|
|
136
|
+
const callOptions = { currentCredential: () => getSlackSendClient().token, ...(principal.kind === 'turn' ? { signal: principal.grant.signal } : {}) };
|
|
137
|
+
let result;
|
|
138
|
+
if (task.operation === 'search.quote') {
|
|
139
|
+
const { operation: _operation, ...search } = task;
|
|
140
|
+
result = await searchAndQuoteSlack(token, principal, { ...search, query: task.query, invocationId: task.invocationId }, callOptions);
|
|
141
|
+
}
|
|
142
|
+
else if (task.operation === 'quote') {
|
|
143
|
+
result = await runSlackQuoteInvocation(token, principal, task.invocationId, task, () => publishSlackQuote(token, principal, {
|
|
144
|
+
source: task.source, ...(task.excerpt !== undefined ? { excerpt: task.excerpt } : {}),
|
|
145
|
+
...(task.summary !== undefined ? { summary: task.summary } : {}),
|
|
146
|
+
...(task.destination ? { destination: slackTargetFromId(task.destination['channel'], task.destination['threadTs'] ? { threadTs: task.destination['threadTs'] } : {}) } : {}),
|
|
147
|
+
}, callOptions));
|
|
148
|
+
}
|
|
149
|
+
else {
|
|
150
|
+
result = await withSlackToolAccess(token, principal, task.source?.channel, async (signal) => {
|
|
151
|
+
const options = { currentCredential: () => getSlackSendClient().token, ...(signal ? { signal } : {}) };
|
|
152
|
+
if (options.currentCredential() !== token)
|
|
153
|
+
throw slackToolDenied('slack_credential_changed', 409);
|
|
154
|
+
if (task.operation === 'search.info') {
|
|
155
|
+
const info = await readSlackSearchInfo(token, options);
|
|
156
|
+
if (options.currentCredential() !== token)
|
|
157
|
+
throw slackToolDenied('slack_credential_changed', 409);
|
|
158
|
+
return info;
|
|
159
|
+
}
|
|
160
|
+
const snapshot = await readSlackMessageSnapshot(token, task.source, options);
|
|
161
|
+
if (options.currentCredential() !== token)
|
|
162
|
+
throw slackToolDenied('slack_credential_changed', 409);
|
|
163
|
+
return task.operation === 'permalink' ? { ok: true, permalink: snapshot.permalink }
|
|
164
|
+
: { ok: true, message: slackHistoryForAgent([snapshot.message])[0], permalink: snapshot.permalink };
|
|
165
|
+
});
|
|
166
|
+
}
|
|
167
|
+
const failed = result && typeof result === 'object' && result.ok === false;
|
|
168
|
+
res.status(failed ? 502 : 200).json(result);
|
|
169
|
+
}
|
|
170
|
+
catch (error) {
|
|
171
|
+
const code = httpCode(error);
|
|
172
|
+
res.status(httpStatus(error, 502)).json({ ok: false, error: typeof code === 'string' ? code : 'slack_tool_failed', retryable: false });
|
|
173
|
+
}
|
|
174
|
+
});
|
|
175
|
+
}
|
|
176
|
+
//# sourceMappingURL=slack-tools.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"slack-tools.js","sourceRoot":"","sources":["../../../src/routes/slack-tools.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
import { slackToolDenied } from './tool-access.js';
|
|
2
|
+
const TIER_TWO = new Set(['reactions.remove', 'reactions.get', 'pins.add', 'pins.remove', 'pins.list', 'bookmarks.add', 'bookmarks.edit', 'bookmarks.remove', 'bookmarks.list', 'slackLists.create', 'slackLists.items.list', 'assistant.search.info']);
|
|
3
|
+
export class SlackActionRateLimiter {
|
|
4
|
+
now;
|
|
5
|
+
pause;
|
|
6
|
+
next = new Map();
|
|
7
|
+
constructor(now = () => Date.now(), pause = abortablePause) {
|
|
8
|
+
this.now = now;
|
|
9
|
+
this.pause = pause;
|
|
10
|
+
}
|
|
11
|
+
async admit(workspace, method, signal) {
|
|
12
|
+
if (signal?.aborted)
|
|
13
|
+
throw slackToolDenied('slack_action_cancelled', 499);
|
|
14
|
+
const key = `${workspace}:${method}`;
|
|
15
|
+
const now = this.now();
|
|
16
|
+
const start = Math.max(now, this.next.get(key) ?? now);
|
|
17
|
+
if (start - now > 10000)
|
|
18
|
+
throw Object.assign(slackToolDenied('slack_action_rate_limited', 429), { retryAfterMs: start - now });
|
|
19
|
+
if (!this.next.has(key) && this.next.size >= 1024) {
|
|
20
|
+
for (const [old, at] of this.next)
|
|
21
|
+
if (at <= now)
|
|
22
|
+
this.next.delete(old);
|
|
23
|
+
if (this.next.size >= 1024)
|
|
24
|
+
throw slackToolDenied('slack_action_rate_capacity', 429);
|
|
25
|
+
}
|
|
26
|
+
this.next.set(key, start + (TIER_TWO.has(method) ? 3000 : 1200));
|
|
27
|
+
if (start > now)
|
|
28
|
+
await this.pause(start - now, signal);
|
|
29
|
+
if (signal?.aborted)
|
|
30
|
+
throw slackToolDenied('slack_action_cancelled', 499);
|
|
31
|
+
}
|
|
32
|
+
}
|
|
33
|
+
function abortablePause(ms, signal) {
|
|
34
|
+
return new Promise((resolve, reject) => {
|
|
35
|
+
const finish = () => { signal?.removeEventListener('abort', abort); resolve(); };
|
|
36
|
+
const timer = setTimeout(finish, ms);
|
|
37
|
+
const abort = () => { clearTimeout(timer); signal?.removeEventListener('abort', abort); reject(slackToolDenied('slack_action_cancelled', 499)); };
|
|
38
|
+
signal?.addEventListener('abort', abort, { once: true });
|
|
39
|
+
if (signal?.aborted)
|
|
40
|
+
abort();
|
|
41
|
+
});
|
|
42
|
+
}
|
|
43
|
+
//# sourceMappingURL=action-rate.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"action-rate.js","sourceRoot":"","sources":["../../../src/slack/action-rate.ts"],"names":[],"mappings":"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"}
|