@open-everywhere/provider-slack 0.8.1 → 0.9.0

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.
Files changed (62) hide show
  1. package/agent/channels/slack-agent-session.ts +100 -63
  2. package/agent/channels/slack-events.ts +1 -1
  3. package/agent/channels/slack-front.ts +15 -8
  4. package/agent/channels/slack-identity.ts +8 -0
  5. package/agent/channels/slack-web-api.ts +3 -3
  6. package/agent/channels/slack-working-signs.ts +71 -0
  7. package/agent/channels/slack.ts +36 -50
  8. package/agent/docs-generated.ts +36 -16
  9. package/agent/ops.ts +4 -0
  10. package/agent/register.ts +4 -2
  11. package/agent/setup/claim.ts +9 -8
  12. package/agent/setup/credentials.ts +82 -79
  13. package/agent/setup/eve-credentials.ts +2 -2
  14. package/agent/setup/page.ts +3 -3
  15. package/agent/status.ts +12 -4
  16. package/dist/agent/channels/slack-agent-session.d.ts +19 -3
  17. package/dist/agent/channels/slack-agent-session.d.ts.map +1 -1
  18. package/dist/agent/channels/slack-agent-session.js +102 -65
  19. package/dist/agent/channels/slack-agent-session.js.map +1 -1
  20. package/dist/agent/channels/slack-events.js +1 -1
  21. package/dist/agent/channels/slack-events.js.map +1 -1
  22. package/dist/agent/channels/slack-front.d.ts.map +1 -1
  23. package/dist/agent/channels/slack-front.js +16 -9
  24. package/dist/agent/channels/slack-front.js.map +1 -1
  25. package/dist/agent/channels/slack-identity.d.ts +7 -0
  26. package/dist/agent/channels/slack-identity.d.ts.map +1 -1
  27. package/dist/agent/channels/slack-identity.js +2 -0
  28. package/dist/agent/channels/slack-identity.js.map +1 -1
  29. package/dist/agent/channels/slack-web-api.js +3 -3
  30. package/dist/agent/channels/slack-web-api.js.map +1 -1
  31. package/dist/agent/channels/slack-working-signs.d.ts +34 -0
  32. package/dist/agent/channels/slack-working-signs.d.ts.map +1 -0
  33. package/dist/agent/channels/slack-working-signs.js +63 -0
  34. package/dist/agent/channels/slack-working-signs.js.map +1 -0
  35. package/dist/agent/channels/slack.d.ts.map +1 -1
  36. package/dist/agent/channels/slack.js +28 -46
  37. package/dist/agent/channels/slack.js.map +1 -1
  38. package/dist/agent/docs-generated.d.ts.map +1 -1
  39. package/dist/agent/docs-generated.js +36 -16
  40. package/dist/agent/docs-generated.js.map +1 -1
  41. package/dist/agent/ops.d.ts.map +1 -1
  42. package/dist/agent/ops.js +4 -1
  43. package/dist/agent/ops.js.map +1 -1
  44. package/dist/agent/register.d.ts.map +1 -1
  45. package/dist/agent/register.js +4 -2
  46. package/dist/agent/register.js.map +1 -1
  47. package/dist/agent/setup/claim.d.ts.map +1 -1
  48. package/dist/agent/setup/claim.js +9 -8
  49. package/dist/agent/setup/claim.js.map +1 -1
  50. package/dist/agent/setup/credentials.d.ts +21 -20
  51. package/dist/agent/setup/credentials.d.ts.map +1 -1
  52. package/dist/agent/setup/credentials.js +71 -75
  53. package/dist/agent/setup/credentials.js.map +1 -1
  54. package/dist/agent/setup/eve-credentials.js +2 -2
  55. package/dist/agent/setup/eve-credentials.js.map +1 -1
  56. package/dist/agent/setup/page.js +3 -3
  57. package/dist/agent/setup/page.js.map +1 -1
  58. package/dist/agent/status.d.ts +10 -2
  59. package/dist/agent/status.d.ts.map +1 -1
  60. package/dist/agent/status.js +12 -4
  61. package/dist/agent/status.js.map +1 -1
  62. package/package.json +6 -2
@@ -21,8 +21,9 @@
21
21
  // registers the Slack setter: it names the session from the delivery's auth attributes. The
22
22
  // person's next message sets `processing`, then parks `active` unless it reports again that it
23
23
  // waits on the person. A job's result wake names no session, so its turn sets no state.
24
- // • THE WORKING SIGNS (OPE-2629). The same setter shows the 👀 and the status line on the session's
25
- // root while a turn works, and clears both at the park. See `setSlackDmWorkingSigns`.
24
+ // • THE WORKING SIGNS (OPE-2629, OPE-2632). The same setter, and the stepper, show the mention door's
25
+ // signs on a DM-door turn — a 1:1 DM or a group DM: 👀, the status line with its step labels, and
26
+ // at the end no sign, or 🛑 when the turn failed for good. See "the working signs" below.
26
27
  // • A FORWARDED JOB's WAIT (OPE-2536). A job the DM seat forwards to the work session can end waiting
27
28
  // on the person: it asked a question in the room (`ask_room`), or it needs their own sign-in. The
28
29
  // work session has no `update_status`, so the host sets the session `suspended` at the job's
@@ -36,20 +37,15 @@
36
37
  //
37
38
  // Every call here is best-effort. A workspace without Slack's agent features answers an error, which
38
39
  // is logged and changes nothing else.
39
- import { cancelAnchoredTurn, resolvePartition, STATUS_REACTION, swallowRoomOp, turnAnchorKey, turnChannelKey, } from "@open-everywhere/core/agent/adapter-api.js";
40
+ import { cancelAnchoredTurn, resolvePartition, swallowRoomOp, turnAnchorKey, turnChannelKey, } from "@open-everywhere/core/agent/adapter-api.js";
40
41
  import { bindableForSlackIds, slackForm } from "./slack-events.js";
42
+ import { setSlackStatusReaction, setSlackThreadStatus, SLACK_WORKING_STATUS, slackStepStatus } from "./slack-working-signs.js";
41
43
  /** Slack's event for a press of the session's Stop button. */
42
44
  export const AGENT_SESSION_STOPPED_EVENT = "agent_session_stopped";
43
45
  /** The longest title OE sets. Slack accepts 200 characters; a session list shows far fewer. */
44
46
  export const SLACK_SESSION_TITLE_MAX = 60;
45
47
  /** The auth attribute the DM door stamps with the session's thread root (slack-front.ts `scheduleDmWake`). */
46
48
  const AGENT_SESSION_TS_ATTRIBUTE = "agent_session_ts";
47
- /**
48
- * The mark a PINNED bag carries (OPE-2629). A forwarded job's settlement sets the session's state from
49
- * its pin, not from a turn, so the setter must not touch the turn's working signs for it: a turn of the
50
- * same session can be running at that moment, and its 👀 must stay until its own park.
51
- */
52
- const SESSION_PIN_ATTRIBUTE = "oe_session_pin";
53
49
  // --- the title ------------------------------------------------------------------------------------
54
50
  /** Slack's three escaped characters, decoded. */
55
51
  function decodeSlackEntities(text) {
@@ -134,29 +130,31 @@ export const slackSurfaceSessionPin = (attributes) => {
134
130
  return undefined;
135
131
  return {
136
132
  id: `${session.channelId}:${session.threadTs}`,
137
- attributes: { channel_id: session.channelId, channel_type: "im", [AGENT_SESSION_TS_ATTRIBUTE]: session.threadTs, [SESSION_PIN_ATTRIBUTE]: "1" },
133
+ attributes: { channel_id: session.channelId, channel_type: "im", [AGENT_SESSION_TS_ATTRIBUTE]: session.threadTs },
138
134
  };
139
135
  };
140
136
  // --- the working signs ------------------------------------------------------------------------------
141
137
  //
142
- // 🔴 THE DM SEAT'S 👀 AND STATUS LINE LIVE HERE (OPE-2629). A 1:1 DM runs on the `unified` channel, so
143
- // none of the Slack channel's own handlers reach it: `onInbound` (the 👀) and the `turn.started`
144
- // renderer (the status line) serve only eve's native mention door. Before this, a person who DMed
145
- // the app saw neither during the turn. Core's turn-anchor hook calls this setter at every DM turn's
146
- // start (`processing`) and park (`active` or `suspended`), so the signs ride the same two calls:
147
- // • 👀 on the session's thread root — the message itself when it is top-level, the same root the
148
- // mention door's 👀 uses for a threaded one. Added at `processing`, removed at the park.
149
- // • Slack's assistant status (`assistant.threads.setStatus`) on that root: `Working...` at
150
- // `processing`, cleared at the park. The flat DM reply does not clear it, so the park must.
151
- // A forwarded job's settlement (OPE-2536) also calls this setter, from the job's PIN. A turn of the
152
- // same session can run at that moment, so a pinned bag (`SESSION_PIN_ATTRIBUTE`) moves the session
153
- // state only and leaves the signs to the turn's own park.
154
- // A turn that fails for good emits `session.failed` and never parks, so its signs stay: the 👀 until
155
- // the session's next turn parks, and the status line until Slack expires it.
156
- /** The status line a DM turn shows while it works — the same words the mention door's `turn.started` shows. */
157
- export const SLACK_DM_WORKING_STATUS = "Working...";
158
- /** The 👀 the bot sets while it works (core status/status.ts `STATUS_REACTION.working`). */
159
- const WORKING_REACTION = STATUS_REACTION.working;
138
+ // 🔴 THE DM DOOR's WORKING SIGNS (OPE-2629, OPE-2632). A 1:1 DM and a group DM run on the `unified`
139
+ // channel, so none of the Slack channel's own handlers reach them: `onInbound` (the 👀), the
140
+ // `turn.started` and `actions.requested` renderers (the status line and its step labels) and the
141
+ // `session.failed` arm (the 🛑) serve only eve's native mention door. Core's turn-anchor hook calls
142
+ // the setter below at a DM turn's start (`processing`), at its park (`active` or `suspended`) and at
143
+ // `session.failed` (the park's state with `{ failed: true }`), and the stepper at each step. The signs
144
+ // ride those calls, through the SAME functions the mention door calls (slack-working-signs.ts):
145
+ // • the status reaction on the message the DM door stamped (`working_signs_ts`: the message itself
146
+ // when top-level, its thread root for a threaded reply): 👀 at the start, none at the park, 🛑
147
+ // when the turn failed for good;
148
+ // • the status line on that root: `Working...` at the start, each step's code-owned label (or a
149
+ // status verb) at each step, and cleared at every end. The flat DM reply does not clear it.
150
+ // Only a delivery the DM door stamped shows a sign: a person's 1:1 or group-DM message, and a follow-up
151
+ // press inside a thread (on its thread root). A channel turn carries no stamp (the mention door draws
152
+ // its own), and neither does a shortcut or a top-level press (a minted ts names no message) or a
153
+ // forwarded job's PIN (its settlement must not clear a running turn's 👀).
154
+ /** The status line a DM turn shows at its start — the mention door's own words (slack-working-signs.ts). */
155
+ export const SLACK_DM_WORKING_STATUS = SLACK_WORKING_STATUS;
156
+ /** The auth attribute the DM door stamps with the message the signs ride (slack-front.ts `scheduleDmWake`). */
157
+ const WORKING_SIGNS_TS_ATTRIBUTE = "working_signs_ts";
160
158
  /**
161
159
  * What an operator does when one sign call fails with a setup error (`SIGN_SETUP_ERRORS`). The sign
162
160
  * needs a scope or the agent view, and both come from the app manifest, so the fix is the manifest
@@ -164,8 +162,8 @@ const WORKING_REACTION = STATUS_REACTION.working;
164
162
  * every turn.
165
163
  */
166
164
  const SIGN_SETUP_FIX = {
167
- "reactions.add": "the 👀 needs the reactions:write bot scope",
168
- "reactions.remove": "the 👀 needs the reactions:write bot scope",
165
+ "reactions.add": "the 👀 and the 🛑 need the reactions:write bot scope",
166
+ "reactions.remove": "the 👀 and the 🛑 need the reactions:write bot scope",
169
167
  "assistant.threads.setStatus": "the DM status line needs the assistant:write bot scope and the agent view (features.agent_view)",
170
168
  };
171
169
  /** Slack's answers that mean the app lacks a scope or a feature: a setup gap, not a passing fault. */
@@ -173,54 +171,93 @@ const SIGN_SETUP_ERRORS = new Set(["missing_scope", "feature_disabled", "not_all
173
171
  /** Slack's answers that say the sign is already in the state asked for. */
174
172
  const SIGN_NO_OP_ERRORS = new Set(["already_reacted", "no_reaction"]);
175
173
  const warnedSignErrors = new Set();
176
- /** One sign call. Never throws; a failure is logged once per method and error, with the setup fix. */
177
- async function sendSign(form, method, body) {
178
- let error;
179
- try {
180
- const res = await form(method, body.toString());
181
- if (res?.ok === true)
174
+ /** The DM door's sign seam over a form call. Never throws; a failure is logged once per method and error, with the setup fix. */
175
+ function formSignRequest(form) {
176
+ return async (method, params) => {
177
+ let error;
178
+ try {
179
+ const res = await form(method, new URLSearchParams({ ...params }).toString());
180
+ if (res?.ok === true)
181
+ return;
182
+ error = String(res?.error ?? "no answer");
183
+ }
184
+ catch (err) {
185
+ error = String(err);
186
+ }
187
+ if (SIGN_NO_OP_ERRORS.has(error))
182
188
  return;
183
- error = String(res?.error ?? "no answer");
184
- }
185
- catch (err) {
186
- error = String(err);
187
- }
188
- if (SIGN_NO_OP_ERRORS.has(error))
189
- return;
190
- const key = `${method}:${error}`;
191
- if (warnedSignErrors.has(key))
192
- return;
193
- warnedSignErrors.add(key);
194
- const fix = SIGN_SETUP_ERRORS.has(error)
195
- ? `${SIGN_SETUP_FIX[method] ?? "this sign needs a manifest scope"}. Fix: paste the app manifest again (App Manifest → Save Changes) and reinstall if Slack asks`
196
- : "the sign is best-effort and the turn goes on";
197
- console.warn(`[open-everywhere:slack-session] ${method} failed (${error}) — ${fix}. Logged once per process.`);
189
+ const key = `${method}:${error}`;
190
+ if (warnedSignErrors.has(key))
191
+ return;
192
+ warnedSignErrors.add(key);
193
+ const fix = SIGN_SETUP_ERRORS.has(error)
194
+ ? `${SIGN_SETUP_FIX[method] ?? "this sign needs a manifest scope"}. Fix: paste the app manifest again (App Manifest → Save Changes) and reinstall if Slack asks`
195
+ : "the sign is best-effort and the turn goes on";
196
+ console.warn(`[open-everywhere:slack-session] ${method} failed (${error}) — ${fix}. Logged once per process.`);
197
+ };
198
198
  }
199
199
  /** Test-only: forget which sign failures were already logged. */
200
200
  export function _resetSignWarningsForTest() {
201
201
  warnedSignErrors.clear();
202
202
  }
203
+ /** The message a DM-door delivery's signs ride, or undefined when the door stamped none. Pure. */
204
+ export function slackWorkingSignsOf(attributes) {
205
+ if (attributes.channel_type !== "im" && attributes.channel_type !== "mpim")
206
+ return undefined;
207
+ const channelId = attributes.channel_id;
208
+ const stamped = attributes[WORKING_SIGNS_TS_ATTRIBUTE];
209
+ if (typeof channelId !== "string" || channelId.length === 0 || typeof stamped !== "string" || stamped.length === 0)
210
+ return undefined;
211
+ return { channelId, threadTs: stamped, ...(typeof attributes.team_id === "string" ? { teamId: attributes.team_id } : {}) };
212
+ }
203
213
  /**
204
- * Show or clear the DM turn's working signs on the session's root: the 👀 and the status line. The
205
- * two calls run in parallel, because the turn waits on this setter. A swallowed room op (the egress
206
- * spoof) sends neither. Never throws.
214
+ * Set the DM turn's signs for one state: 👀 and `Working...` at `processing`; at a settle, no
215
+ * reaction (or 🛑 when the turn failed) and a cleared status line. The two calls run in parallel,
216
+ * because the turn waits on this setter. A swallowed room op (the egress spoof) sends neither.
207
217
  */
208
- async function setSlackDmWorkingSigns(session, working, form = slackForm) {
209
- if (swallowRoomOp(`a slack DM working sign ${working ? "add" : "remove"}`))
218
+ async function setSlackDmWorkingSigns(root, status, end, request) {
219
+ const working = status === "processing";
220
+ if (swallowRoomOp(`a slack DM working sign (${working ? "start" : end?.failed === true ? "failed" : "end"})`))
210
221
  return;
211
- const reaction = new URLSearchParams({ channel: session.channelId, name: WORKING_REACTION, timestamp: session.threadTs });
212
- const status = new URLSearchParams({ channel_id: session.channelId, thread_ts: session.threadTs, status: working ? SLACK_DM_WORKING_STATUS : "" });
213
- await Promise.all([sendSign(form, working ? "reactions.add" : "reactions.remove", reaction), sendSign(form, "assistant.threads.setStatus", status)]);
222
+ await Promise.all([
223
+ setSlackStatusReaction(request, { channel: root.channelId, timestamp: root.threadTs }, working ? "working" : end?.failed === true ? "blocked" : "none"),
224
+ setSlackThreadStatus(request, root, working ? SLACK_WORKING_STATUS : ""),
225
+ ]);
214
226
  }
215
- /** The Slack setter core's turn-anchor hook calls (registered in register.ts). */
227
+ /**
228
+ * The Slack setter core's turn-anchor hook calls (registered in register.ts). It sets the agent
229
+ * session's state for a 1:1 DM, and the working signs for every DM-door delivery. It answers the id
230
+ * of the conversation it named: the agent session, else the message the signs ride.
231
+ */
216
232
  export function slackSurfaceSessionSetter(form = slackForm) {
217
- return async (attributes, status) => {
233
+ const request = formSignRequest(form);
234
+ return async (attributes, status, end) => {
218
235
  const session = slackAgentSessionOf(attributes);
219
- if (!session)
236
+ const signs = slackWorkingSignsOf(attributes);
237
+ const named = session ?? signs;
238
+ if (!named)
220
239
  return undefined;
221
- const fromTurn = attributes[SESSION_PIN_ATTRIBUTE] === undefined;
222
- await Promise.all([setSlackSessionStatus({ ...session, status }, form), ...(fromTurn ? [setSlackDmWorkingSigns(session, status === "processing", form)] : [])]);
223
- return `${session.channelId}:${session.threadTs}`;
240
+ await Promise.all([
241
+ ...(session ? [setSlackSessionStatus({ ...session, status }, form)] : []),
242
+ ...(signs ? [setSlackDmWorkingSigns(signs, status, end, request)] : []),
243
+ ]);
244
+ return `${named.channelId}:${named.threadTs}`;
245
+ };
246
+ }
247
+ /**
248
+ * The Slack stepper (OPE-2632): each step of a DM-door turn shows its code-owned label on the status
249
+ * line, or a status verb — the mention door's own `actions.requested` text (slack-working-signs.ts
250
+ * `slackStepStatus`). A delivery with no sign stamp shows nothing here.
251
+ */
252
+ export function slackSurfaceSessionStepper(form = slackForm) {
253
+ const request = formSignRequest(form);
254
+ return async (attributes, actions) => {
255
+ const signs = slackWorkingSignsOf(attributes);
256
+ if (!signs)
257
+ return;
258
+ if (swallowRoomOp("a slack DM step label"))
259
+ return;
260
+ await setSlackThreadStatus(request, signs, slackStepStatus(actions, { channelId: signs.channelId, teamId: signs.teamId ?? null }));
224
261
  };
225
262
  }
226
263
  /** Parse an `agent_session_stopped` envelope, or null for anything else. Pure. */
@@ -1 +1 @@
1
- {"version":3,"file":"slack-agent-session.js","sourceRoot":"","sources":["../../../agent/channels/slack-agent-session.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"slack-agent-session.js","sourceRoot":"","sources":["../../../agent/channels/slack-agent-session.ts"],"names":[],"mappings":"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"}
@@ -2780,7 +2780,7 @@ const TRANSCRIPT_TOTAL_CHARS = 4000; // whole-block cap — the wake prompt stay
2780
2780
  // instead of a hunt through every caller.
2781
2781
  //
2782
2782
  // 🔴 THE DEFAULT IS RESOLVED, NOT AN ENV READ (OPE-2231). It used to default to
2783
- // `process.env.SLACK_BOT_TOKEN` in the parameter list, which a default cannot be any more: the token
2783
+ // the SLACK_BOT_TOKEN env var in the parameter list, which a default cannot be any more: the token
2784
2784
  // may live in the credential store, so resolving it is async. The resolution therefore moved into the
2785
2785
  // body. An explicitly-passed token (the multi-bot seam) still wins untouched; no caller in the tree
2786
2786
  // passes one today, which is why this is a default-shape change and not a behaviour change for any