openryoko 2026.5.8 → 2026.5.13

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 (136) hide show
  1. package/dist/package.json +1 -1
  2. package/dist/src/connectors/slack/__tests__/agents-canvas.test.d.ts +2 -0
  3. package/dist/src/connectors/slack/__tests__/agents-canvas.test.d.ts.map +1 -0
  4. package/dist/src/connectors/slack/__tests__/agents-canvas.test.js +191 -0
  5. package/dist/src/connectors/slack/__tests__/agents-canvas.test.js.map +1 -0
  6. package/dist/src/connectors/slack/__tests__/goal-extractor.test.d.ts +2 -0
  7. package/dist/src/connectors/slack/__tests__/goal-extractor.test.d.ts.map +1 -0
  8. package/dist/src/connectors/slack/__tests__/goal-extractor.test.js +129 -0
  9. package/dist/src/connectors/slack/__tests__/goal-extractor.test.js.map +1 -0
  10. package/dist/src/connectors/slack/agents-canvas.d.ts +59 -0
  11. package/dist/src/connectors/slack/agents-canvas.d.ts.map +1 -0
  12. package/dist/src/connectors/slack/agents-canvas.js +372 -0
  13. package/dist/src/connectors/slack/agents-canvas.js.map +1 -0
  14. package/dist/src/connectors/slack/goal-extractor.d.ts +67 -0
  15. package/dist/src/connectors/slack/goal-extractor.d.ts.map +1 -0
  16. package/dist/src/connectors/slack/goal-extractor.js +302 -0
  17. package/dist/src/connectors/slack/goal-extractor.js.map +1 -0
  18. package/dist/src/connectors/slack/index.d.ts +15 -0
  19. package/dist/src/connectors/slack/index.d.ts.map +1 -1
  20. package/dist/src/connectors/slack/index.js +78 -0
  21. package/dist/src/connectors/slack/index.js.map +1 -1
  22. package/dist/src/engines/claude.d.ts +11 -0
  23. package/dist/src/engines/claude.d.ts.map +1 -1
  24. package/dist/src/engines/claude.js +75 -13
  25. package/dist/src/engines/claude.js.map +1 -1
  26. package/dist/src/gateway/api.d.ts.map +1 -1
  27. package/dist/src/gateway/api.js +20 -0
  28. package/dist/src/gateway/api.js.map +1 -1
  29. package/dist/src/gateway/server.d.ts.map +1 -1
  30. package/dist/src/gateway/server.js +61 -2
  31. package/dist/src/gateway/server.js.map +1 -1
  32. package/dist/src/sessions/context.js +20 -2
  33. package/dist/src/sessions/context.js.map +1 -1
  34. package/dist/src/sessions/manager.d.ts.map +1 -1
  35. package/dist/src/sessions/manager.js +15 -1
  36. package/dist/src/sessions/manager.js.map +1 -1
  37. package/dist/src/shared/types.d.ts +21 -0
  38. package/dist/src/shared/types.d.ts.map +1 -1
  39. package/dist/web/404.html +1 -1
  40. package/dist/web/__next.__PAGE__.txt +2 -2
  41. package/dist/web/__next._full.txt +3 -3
  42. package/dist/web/__next._head.txt +1 -1
  43. package/dist/web/__next._index.txt +2 -2
  44. package/dist/web/__next._tree.txt +2 -2
  45. package/dist/web/_next/static/chunks/{0y3uv64m1qh.k.js → 012aakl34ff5a.js} +2 -2
  46. package/dist/web/_next/static/chunks/{0j4uz-g9x1_~s.js → 0a2uy1kw.~j~c.js} +1 -1
  47. package/dist/web/_next/static/chunks/{0v51a3blij~j6.js → 0agxgztb0b~.7.js} +2 -2
  48. package/dist/web/_next/static/chunks/{1645~4k0qcst0.js → 0g6xt.91k~0bc.js} +2 -2
  49. package/dist/web/_next/static/chunks/{16zc7-yv7supr.js → 0jzw1gpuag8bc.js} +2 -2
  50. package/dist/web/_next/static/chunks/0kceasmxfr3s1.js +1 -0
  51. package/dist/web/_next/static/chunks/{0wv0qjh9tuqx~.js → 0lkp92-ovteta.js} +2 -2
  52. package/dist/web/_next/static/chunks/{1621s_jgljr1_.js → 0msmlzd_~uk0y.js} +2 -2
  53. package/dist/web/_next/static/chunks/{00yn.jp4tr9l6.js → 0z5lzlvft9.4o.js} +2 -2
  54. package/dist/web/_next/static/chunks/103zsy0q9psfj.css +1 -0
  55. package/dist/web/_next/static/chunks/{0ma0h4_2c8y9y.js → 12m97bwrg1tuu.js} +2 -2
  56. package/dist/web/_not-found/__next._full.txt +2 -2
  57. package/dist/web/_not-found/__next._head.txt +1 -1
  58. package/dist/web/_not-found/__next._index.txt +2 -2
  59. package/dist/web/_not-found/__next._not-found.__PAGE__.txt +1 -1
  60. package/dist/web/_not-found/__next._not-found.txt +1 -1
  61. package/dist/web/_not-found/__next._tree.txt +2 -2
  62. package/dist/web/_not-found.html +1 -1
  63. package/dist/web/_not-found.txt +2 -2
  64. package/dist/web/chat/__next._full.txt +3 -3
  65. package/dist/web/chat/__next._head.txt +1 -1
  66. package/dist/web/chat/__next._index.txt +2 -2
  67. package/dist/web/chat/__next._tree.txt +2 -2
  68. package/dist/web/chat/__next.chat.__PAGE__.txt +2 -2
  69. package/dist/web/chat/__next.chat.txt +1 -1
  70. package/dist/web/chat.html +1 -1
  71. package/dist/web/chat.txt +3 -3
  72. package/dist/web/cron/__next._full.txt +3 -3
  73. package/dist/web/cron/__next._head.txt +1 -1
  74. package/dist/web/cron/__next._index.txt +2 -2
  75. package/dist/web/cron/__next._tree.txt +2 -2
  76. package/dist/web/cron/__next.cron.__PAGE__.txt +2 -2
  77. package/dist/web/cron/__next.cron.txt +1 -1
  78. package/dist/web/cron.html +1 -1
  79. package/dist/web/cron.txt +3 -3
  80. package/dist/web/index.html +1 -1
  81. package/dist/web/index.txt +3 -3
  82. package/dist/web/kanban/__next._full.txt +3 -3
  83. package/dist/web/kanban/__next._head.txt +1 -1
  84. package/dist/web/kanban/__next._index.txt +2 -2
  85. package/dist/web/kanban/__next._tree.txt +2 -2
  86. package/dist/web/kanban/__next.kanban.__PAGE__.txt +2 -2
  87. package/dist/web/kanban/__next.kanban.txt +1 -1
  88. package/dist/web/kanban.html +1 -1
  89. package/dist/web/kanban.txt +3 -3
  90. package/dist/web/logs/__next._full.txt +3 -3
  91. package/dist/web/logs/__next._head.txt +1 -1
  92. package/dist/web/logs/__next._index.txt +2 -2
  93. package/dist/web/logs/__next._tree.txt +2 -2
  94. package/dist/web/logs/__next.logs.__PAGE__.txt +2 -2
  95. package/dist/web/logs/__next.logs.txt +1 -1
  96. package/dist/web/logs.html +2 -2
  97. package/dist/web/logs.txt +3 -3
  98. package/dist/web/org/__next._full.txt +3 -3
  99. package/dist/web/org/__next._head.txt +1 -1
  100. package/dist/web/org/__next._index.txt +2 -2
  101. package/dist/web/org/__next._tree.txt +2 -2
  102. package/dist/web/org/__next.org.__PAGE__.txt +2 -2
  103. package/dist/web/org/__next.org.txt +1 -1
  104. package/dist/web/org.html +1 -1
  105. package/dist/web/org.txt +3 -3
  106. package/dist/web/sessions/__next._full.txt +2 -2
  107. package/dist/web/sessions/__next._head.txt +1 -1
  108. package/dist/web/sessions/__next._index.txt +2 -2
  109. package/dist/web/sessions/__next._tree.txt +2 -2
  110. package/dist/web/sessions/__next.sessions.__PAGE__.txt +1 -1
  111. package/dist/web/sessions/__next.sessions.txt +1 -1
  112. package/dist/web/sessions.html +1 -1
  113. package/dist/web/sessions.txt +2 -2
  114. package/dist/web/settings/__next._full.txt +3 -3
  115. package/dist/web/settings/__next._head.txt +1 -1
  116. package/dist/web/settings/__next._index.txt +2 -2
  117. package/dist/web/settings/__next._tree.txt +2 -2
  118. package/dist/web/settings/__next.settings.__PAGE__.txt +2 -2
  119. package/dist/web/settings/__next.settings.txt +1 -1
  120. package/dist/web/settings.html +1 -1
  121. package/dist/web/settings.txt +3 -3
  122. package/dist/web/skills/__next._full.txt +3 -3
  123. package/dist/web/skills/__next._head.txt +1 -1
  124. package/dist/web/skills/__next._index.txt +2 -2
  125. package/dist/web/skills/__next._tree.txt +2 -2
  126. package/dist/web/skills/__next.skills.__PAGE__.txt +2 -2
  127. package/dist/web/skills/__next.skills.txt +1 -1
  128. package/dist/web/skills.html +1 -1
  129. package/dist/web/skills.txt +3 -3
  130. package/package.json +1 -1
  131. package/dist/web/_next/static/chunks/05uy~i7wsbsn3.js +0 -1
  132. package/dist/web/_next/static/chunks/0bj62gv2pext..css +0 -1
  133. package/dist/web/dev/logs/next-development.log +0 -5
  134. /package/dist/web/_next/static/{VBjMXtz9-pIo9izqNT-iu → 2gkySyM5UoStZGUIrVpRy}/_buildManifest.js +0 -0
  135. /package/dist/web/_next/static/{VBjMXtz9-pIo9izqNT-iu → 2gkySyM5UoStZGUIrVpRy}/_clientMiddlewareManifest.js +0 -0
  136. /package/dist/web/_next/static/{VBjMXtz9-pIo9izqNT-iu → 2gkySyM5UoStZGUIrVpRy}/_ssgManifest.js +0 -0
@@ -0,0 +1,302 @@
1
+ /**
2
+ * Natural-language `/goal` extraction for Slack messages.
3
+ *
4
+ * Lives outside the triage path on purpose: triage = "should we respond at
5
+ * all" (only meaningful when ambient noise might NOT be for us). When the
6
+ * message clearly IS for us (DM / @-mention / DM-equivalent / triage→reply),
7
+ * triage is bypassed but we still want to recognise autonomous-completion
8
+ * intent and prefix `/goal <cond>` to the engine prompt so Claude Code's
9
+ * v2.1.139 Stop hook keeps the session working until the goal holds.
10
+ *
11
+ * Two stages keep latency and cost down:
12
+ *
13
+ * 1. `hasGoalIntent` — deterministic keyword gate. Burns no LLM credits.
14
+ * Catches the common JP / EN "keep going until done" phrasings.
15
+ * 2. `extractGoalCondition` — only fires when (1) matches. Spawns Haiku
16
+ * via the Claude Code CLI with a tight prompt and a hard timeout.
17
+ * On any failure (timeout, unparseable output, slash-prefix rejection)
18
+ * it returns `null` and the caller pretends nothing happened.
19
+ *
20
+ * All sanitisation lives in `parseGoalExtractionResult` so it is unit-
21
+ * testable without spawning a subprocess.
22
+ */
23
+ import { spawn } from "node:child_process";
24
+ import { logger } from "../../shared/logger.js";
25
+ import { resolveBin, formatSpawnError } from "../../shared/resolveBin.js";
26
+ import { buildChildEnv } from "../../shared/childEnv.js";
27
+ // ---------------------------------------------------------------------------
28
+ // Cheap pre-gate
29
+ // ---------------------------------------------------------------------------
30
+ /**
31
+ * The smallest message length we bother extracting from. Anything shorter
32
+ * than this is almost certainly an ack ("ok", "thanks", emoji) or single-
33
+ * sentence quick question and very unlikely to contain a multi-turn goal.
34
+ * Cuts Haiku traffic on trivial messages without losing real cases.
35
+ */
36
+ const MIN_MESSAGE_CHARS_FOR_EXTRACTION = 12;
37
+ /**
38
+ * Cheap, deterministic gate. Returns false for messages that obviously do
39
+ * not warrant a goal-extraction LLM call (too short, already prefixed with
40
+ * `/goal`, etc.). Returns true otherwise — the Haiku call is the source of
41
+ * truth on whether a condition can actually be distilled, and its parser
42
+ * (`parseGoalExtractionResult`) rejects sentinels / vague output.
43
+ *
44
+ * Replaced an earlier keyword regex approach that missed natural phrasings
45
+ * like "数字1から3までを別々のターンで出して完了と書いたら止まる" — keyword
46
+ * matching is fundamentally fragile for free-form Japanese.
47
+ */
48
+ export function shouldExtractGoal(text) {
49
+ if (!text)
50
+ return false;
51
+ if (text.startsWith("/goal "))
52
+ return false;
53
+ if (text.trim().length < MIN_MESSAGE_CHARS_FOR_EXTRACTION)
54
+ return false;
55
+ return true;
56
+ }
57
+ /**
58
+ * @deprecated Retained for back-compat in case external callers imported
59
+ * the keyword-gate API. Now an alias for {@link shouldExtractGoal}.
60
+ */
61
+ export function hasGoalIntent(text) {
62
+ return shouldExtractGoal(text);
63
+ }
64
+ // ---------------------------------------------------------------------------
65
+ // Prompt builder (pure)
66
+ // ---------------------------------------------------------------------------
67
+ const MAX_MESSAGE_CHARS = 2000;
68
+ export function buildGoalExtractionPrompt(messageText) {
69
+ const truncated = messageText.length > MAX_MESSAGE_CHARS
70
+ ? messageText.slice(0, MAX_MESSAGE_CHARS) + "\n…(truncated)"
71
+ : messageText;
72
+ return `You decide, for a user's message to an AI assistant, whether the
73
+ work it asks for should run AUTONOMOUSLY ACROSS MANY TURNS until a specific
74
+ outcome holds — and if so, you distill that completion condition into one
75
+ self-checkable sentence.
76
+
77
+ You are the sole gate. Most messages are NOT autonomous-completion tasks;
78
+ return {"condition": null} for them. Only flag the cases where the user has
79
+ clearly described a state to reach OR is explicitly asking for keep-going
80
+ behaviour.
81
+
82
+ # Input
83
+ The user's message:
84
+ """
85
+ ${truncated}
86
+ """
87
+
88
+ # Output (STRICT)
89
+ Output EXACTLY ONE JSON object, nothing else. No markdown, no prose, no code
90
+ fences. One of:
91
+
92
+ {"condition": "<one short sentence stating the final state>"}
93
+ {"condition": null}
94
+
95
+ # When to set "condition" (be conservative — when in doubt, null)
96
+ Set a condition when ANY of these hold:
97
+ (a) Explicit keep-going language: "完成するまで止まらないで", "最後まで
98
+ やって", "終わるまで動いて", "keep going until done", etc.
99
+ (b) Explicit completion notice: "終わったらSlackで教えて", "完成したら
100
+ 報告して", "report when done", etc.
101
+ (c) An embedded stop / iteration condition that implies many turns:
102
+ "完了と書いたら止まる", "Xになるまで何度でも", "一個ずつ", "別々の
103
+ ターンで", "one at a time", "stop once …", etc.
104
+ (d) Multi-step pipeline language with explicit ordering and a clear end
105
+ state: "AしてからBしてCに投稿するまで". (Be strict — a casual "Aして
106
+ Bして" without a clear end state is NOT enough.)
107
+
108
+ Otherwise return {"condition": null}. Examples that should be null:
109
+ - Single-shot questions or requests ("〜について教えて", "〜のコード書いて")
110
+ - Casual chat / acknowledgements
111
+ - Vague requests where no checkable end state exists
112
+ - Messages addressed to other people
113
+
114
+ # Rules for "condition" (when not null)
115
+ - ONE sentence describing the final STATE that, once true, means the task
116
+ is done. NOT the steps to get there.
117
+ - Self-checkable from the assistant's own work or its tool outputs. AVOID
118
+ conditions that require human judgement (e.g. "the user is satisfied").
119
+ - Concrete and specific. Echo concrete nouns/numbers from the user's
120
+ message (counts, target docs, channels, file names) when present.
121
+ - One sentence, English or Japanese, <= 200 characters. No newlines, no
122
+ bullet lists.
123
+ - MUST NOT start with a slash.
124
+
125
+ # Examples
126
+
127
+ User: "5社の人事SaaSの料金/機能を比較した表をこのスレッドに投げて、完成するまで止まらないで"
128
+ → {"condition": "Posted a Markdown table comparing the pricing and features of five HR SaaS products to this Slack thread."}
129
+
130
+ User: "数字1から3までを別々のターンで出して完了と書いたら止まる 最初に"
131
+ → {"condition": "Output the numbers 1, 2 and 3 each in a separate assistant turn, then write 完了."}
132
+
133
+ User: "プロジェクトAの全タスクをLinearで close するまで動いて、終わったら教えて"
134
+ → {"condition": "Closed every open task under project A in Linear."}
135
+
136
+ User: "ちょっと聞きたいんだけど、Tailscale って何?"
137
+ → {"condition": null}
138
+
139
+ User: "ありがとう、助かった"
140
+ → {"condition": null}
141
+
142
+ User: "ブログ記事のドラフト書いて"
143
+ → {"condition": null}
144
+
145
+ # Output
146
+ Produce the JSON object now. JSON only.`;
147
+ }
148
+ // ---------------------------------------------------------------------------
149
+ // Result parser (pure)
150
+ // ---------------------------------------------------------------------------
151
+ const MAX_CONDITION_CHARS = 400;
152
+ // Built via new RegExp so the source text is plain ASCII — embedding raw
153
+ // control bytes in a regex literal trips some editor / tool pipelines.
154
+ const CONTROL_CHARS_RE = new RegExp("[\\u0000-\\u001f\\u007f]", "g");
155
+ /**
156
+ * Parse Haiku's response into a sanitised condition, or null if no usable
157
+ * condition was returned. Sanitisation:
158
+ * - strip control characters, collapse whitespace
159
+ * - reject leading `/` (would smuggle a second slash command)
160
+ * - reject obviously vague placeholders
161
+ * - hard cap on length
162
+ */
163
+ export function parseGoalExtractionResult(raw) {
164
+ if (!raw)
165
+ return null;
166
+ const fenced = raw.match(/```(?:json)?\s*([\s\S]*?)```/i);
167
+ const candidate = fenced ? fenced[1] : raw;
168
+ const jsonMatch = candidate.match(/\{[\s\S]*\}/);
169
+ if (!jsonMatch)
170
+ return null;
171
+ let parsed;
172
+ try {
173
+ parsed = JSON.parse(jsonMatch[0]);
174
+ }
175
+ catch {
176
+ return null;
177
+ }
178
+ if (!parsed || typeof parsed !== "object")
179
+ return null;
180
+ const value = parsed.condition;
181
+ if (typeof value !== "string")
182
+ return null;
183
+ const flat = value.replace(CONTROL_CHARS_RE, " ").replace(/\s+/g, " ").trim();
184
+ if (!flat)
185
+ return null;
186
+ if (flat.startsWith("/"))
187
+ return null;
188
+ // Reject obvious sentinels that the LLM might still produce despite
189
+ // being asked for null.
190
+ const lower = flat.toLowerCase();
191
+ if (lower === "none" ||
192
+ lower === "n/a" ||
193
+ lower === "null" ||
194
+ lower === "unknown" ||
195
+ lower === "tbd" ||
196
+ lower.startsWith("the user is")) {
197
+ return null;
198
+ }
199
+ return flat.slice(0, MAX_CONDITION_CHARS);
200
+ }
201
+ // The Haiku CLI startup overhead on the production VPS is 5-10s even
202
+ // before the model call begins. 15s left no slack and routinely tripped.
203
+ // 30s matches triage's headroom while keeping the user-perceived added
204
+ // latency bounded.
205
+ const DEFAULT_TIMEOUT_MS = 30_000;
206
+ const DEFAULT_MODEL = "claude-haiku-4-5";
207
+ const DEFAULT_BIN = "claude";
208
+ /**
209
+ * Extract a `/goal` condition from a user's message. Returns null on any
210
+ * failure — the caller should treat this as "don't inject /goal" and move
211
+ * on. Never throws.
212
+ */
213
+ export async function extractGoalCondition(messageText, options = {}) {
214
+ if (!shouldExtractGoal(messageText))
215
+ return null;
216
+ const bin = options.bin || DEFAULT_BIN;
217
+ const model = options.model || DEFAULT_MODEL;
218
+ const timeoutMs = options.timeoutMs ?? DEFAULT_TIMEOUT_MS;
219
+ const spawnFn = options.spawnImpl || spawn;
220
+ const prompt = buildGoalExtractionPrompt(messageText);
221
+ try {
222
+ const output = await invokeClaude(prompt, { bin, model, timeoutMs, spawnFn });
223
+ return parseGoalExtractionResult(output);
224
+ }
225
+ catch (err) {
226
+ logger.warn(`[goal-extractor] extraction failed, skipping /goal: ${err}`);
227
+ return null;
228
+ }
229
+ }
230
+ function invokeClaude(prompt, opts) {
231
+ return new Promise((resolve, reject) => {
232
+ const args = [
233
+ "-p",
234
+ "--output-format",
235
+ "json",
236
+ "--model",
237
+ opts.model,
238
+ "--dangerously-skip-permissions",
239
+ prompt,
240
+ ];
241
+ const resolvedBin = resolveBin(opts.bin);
242
+ const proc = opts.spawnFn(resolvedBin, args, {
243
+ stdio: ["ignore", "pipe", "pipe"],
244
+ env: buildChildEnv(),
245
+ });
246
+ let stdout = "";
247
+ let stderr = "";
248
+ let settled = false;
249
+ const timer = setTimeout(() => {
250
+ if (settled)
251
+ return;
252
+ settled = true;
253
+ try {
254
+ proc.kill("SIGTERM");
255
+ }
256
+ catch {
257
+ /* ignore */
258
+ }
259
+ reject(new Error(`goal-extractor timed out after ${opts.timeoutMs}ms`));
260
+ }, opts.timeoutMs);
261
+ proc.stdout?.on("data", (chunk) => {
262
+ stdout += chunk.toString("utf8");
263
+ });
264
+ proc.stderr?.on("data", (chunk) => {
265
+ stderr += chunk.toString("utf8");
266
+ });
267
+ proc.on("error", (err) => {
268
+ if (settled)
269
+ return;
270
+ settled = true;
271
+ clearTimeout(timer);
272
+ reject(new Error(formatSpawnError("goal-extractor CLI", opts.bin, err)));
273
+ });
274
+ proc.on("close", (code) => {
275
+ if (settled)
276
+ return;
277
+ settled = true;
278
+ clearTimeout(timer);
279
+ if (code !== 0) {
280
+ reject(new Error(`claude exited ${code}: ${stderr.slice(0, 500)}`));
281
+ return;
282
+ }
283
+ resolve(extractClaudeResult(stdout));
284
+ });
285
+ });
286
+ }
287
+ function extractClaudeResult(stdout) {
288
+ const trimmed = stdout.trim();
289
+ if (!trimmed)
290
+ return "";
291
+ try {
292
+ const parsed = JSON.parse(trimmed);
293
+ if (parsed && typeof parsed === "object" && typeof parsed.result === "string") {
294
+ return parsed.result;
295
+ }
296
+ }
297
+ catch {
298
+ /* fall through */
299
+ }
300
+ return trimmed;
301
+ }
302
+ //# sourceMappingURL=goal-extractor.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"goal-extractor.js","sourceRoot":"","sources":["../../../../src/connectors/slack/goal-extractor.ts"],"names":[],"mappings":"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"}
@@ -22,6 +22,7 @@ export declare class SlackConnector implements Connector {
22
22
  private readonly portalName;
23
23
  private readonly operatorName;
24
24
  private readonly conversations;
25
+ private readonly agentsCanvas;
25
26
  private static CHANNEL_CACHE_TTL_MS;
26
27
  private static USER_CACHE_TTL_MS;
27
28
  private readonly capabilities;
@@ -42,6 +43,20 @@ export declare class SlackConnector implements Connector {
42
43
  stop(): Promise<void>;
43
44
  getCapabilities(): ConnectorCapabilities;
44
45
  getHealth(): ConnectorHealth;
46
+ /**
47
+ * Enumerate channels the bot is a member of. Used by the settings UI to
48
+ * populate the Agents View canvas channel picker.
49
+ *
50
+ * Public channels and private groups the bot has been invited to are both
51
+ * included; DMs/MPIMs are filtered out (canvases live in channels, not
52
+ * direct messages).
53
+ */
54
+ listChannels(): Promise<Array<{
55
+ id: string;
56
+ name: string;
57
+ isPrivate: boolean;
58
+ isMember: boolean;
59
+ }>>;
45
60
  reconstructTarget(replyContext: ReplyContext): Target;
46
61
  sendMessage(target: Target, text: string): Promise<string | undefined>;
47
62
  replyMessage(target: Target, text: string): Promise<string | undefined>;
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/connectors/slack/index.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EACV,SAAS,EACT,qBAAqB,EACrB,eAAe,EACf,eAAe,EACf,YAAY,EACZ,oBAAoB,EACpB,MAAM,EACP,MAAM,uBAAuB,CAAC;AAU/B,MAAM,WAAW,qBAAqB;IACpC,oEAAoE;IACpE,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,0EAA0E;IAC1E,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;AAED,qBAAa,cAAe,YAAW,SAAS;IAC9C,IAAI,SAAW;IACf,OAAO,CAAC,GAAG,CAAM;IACjB,OAAO,CAAC,OAAO,CAAiD;IAChE,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAqB;IAClD,OAAO,CAAC,QAAQ,CAAC,uBAAuB,CAAU;IAClD,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAc;IACzC,OAAO,CAAC,OAAO,CAAS;IACxB,OAAO,CAAC,SAAS,CAAuB;IACxC,OAAO,CAAC,gBAAgB,CAAyD;IACjF,OAAO,CAAC,aAAa,CAA8D;IACnF,OAAO,CAAC,SAAS,CAAuB;IACxC,OAAO,CAAC,eAAe,CAAqD;IAC5E,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAgC;IAC7D,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAqB;IAChD,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAqB;IAClD,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAsB;IACpD,OAAO,CAAC,MAAM,CAAC,oBAAoB,CAAY;IAC/C,OAAO,CAAC,MAAM,CAAC,iBAAiB,CAAY;IAE5C,OAAO,CAAC,QAAQ,CAAC,YAAY,CAK3B;IAEF,OAAO,CAAC,gBAAgB;YAUV,gBAAgB;IAkB9B;;;OAGG;IACG,eAAe,CAAC,SAAS,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,SAAS,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;gBAoBzF,MAAM,EAAE,oBAAoB,EAAE,OAAO,GAAE,qBAA0B;YAmB/D,kBAAkB;IAiBhC,OAAO,CAAC,sBAAsB;YAYhB,cAAc;YAuDd,0BAA0B;YA0C1B,kBAAkB;IAkB1B,KAAK;IAsTL,IAAI;IAUV,eAAe,IAAI,qBAAqB;IAIxC,SAAS,IAAI,eAAe;IAQ5B,iBAAiB,CAAC,YAAY,EAAE,YAAY,GAAG,MAAM;IAS/C,WAAW,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC;IAoBtE,YAAY,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC;IAuBvE,WAAW,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM;IAoBzC,cAAc,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM;IAa5C,WAAW,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM;IAU9C,SAAS,CAAC,OAAO,EAAE,CAAC,GAAG,EAAE,eAAe,KAAK,IAAI;CAGlD"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/connectors/slack/index.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EACV,SAAS,EACT,qBAAqB,EACrB,eAAe,EACf,eAAe,EACf,YAAY,EACZ,oBAAoB,EACpB,MAAM,EACP,MAAM,uBAAuB,CAAC;AAY/B,MAAM,WAAW,qBAAqB;IACpC,oEAAoE;IACpE,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,0EAA0E;IAC1E,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;AAED,qBAAa,cAAe,YAAW,SAAS;IAC9C,IAAI,SAAW;IACf,OAAO,CAAC,GAAG,CAAM;IACjB,OAAO,CAAC,OAAO,CAAiD;IAChE,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAqB;IAClD,OAAO,CAAC,QAAQ,CAAC,uBAAuB,CAAU;IAClD,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAc;IACzC,OAAO,CAAC,OAAO,CAAS;IACxB,OAAO,CAAC,SAAS,CAAuB;IACxC,OAAO,CAAC,gBAAgB,CAAyD;IACjF,OAAO,CAAC,aAAa,CAA8D;IACnF,OAAO,CAAC,SAAS,CAAuB;IACxC,OAAO,CAAC,eAAe,CAAqD;IAC5E,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAgC;IAC7D,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAqB;IAChD,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAqB;IAClD,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAsB;IACpD,OAAO,CAAC,QAAQ,CAAC,YAAY,CAA6B;IAC1D,OAAO,CAAC,MAAM,CAAC,oBAAoB,CAAY;IAC/C,OAAO,CAAC,MAAM,CAAC,iBAAiB,CAAY;IAE5C,OAAO,CAAC,QAAQ,CAAC,YAAY,CAK3B;IAEF,OAAO,CAAC,gBAAgB;YAUV,gBAAgB;IAkB9B;;;OAGG;IACG,eAAe,CAAC,SAAS,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,SAAS,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;gBAoBzF,MAAM,EAAE,oBAAoB,EAAE,OAAO,GAAE,qBAA0B;YAsB/D,kBAAkB;IAiBhC,OAAO,CAAC,sBAAsB;YAYhB,cAAc;YAuDd,0BAA0B;YA0C1B,kBAAkB;IAkB1B,KAAK;IAoVL,IAAI;IAWV,eAAe,IAAI,qBAAqB;IAIxC,SAAS,IAAI,eAAe;IAQ5B;;;;;;;OAOG;IACG,YAAY,IAAI,OAAO,CAAC,KAAK,CAAC;QAAE,EAAE,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAC;QAAC,SAAS,EAAE,OAAO,CAAC;QAAC,QAAQ,EAAE,OAAO,CAAA;KAAE,CAAC,CAAC;IAgCzG,iBAAiB,CAAC,YAAY,EAAE,YAAY,GAAG,MAAM;IAS/C,WAAW,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC;IAoBtE,YAAY,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC;IAuBvE,WAAW,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM;IAoBzC,cAAc,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM;IAa5C,WAAW,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM;IAU9C,SAAS,CAAC,OAAO,EAAE,CAAC,GAAG,EAAE,eAAe,KAAK,IAAI;CAGlD"}
@@ -4,6 +4,8 @@ import { formatResponse, downloadAttachment } from "./format.js";
4
4
  import { normalizeSpeakerInfo } from "./speaker.js";
5
5
  import { runTriage } from "./triage.js";
6
6
  import { ConversationTracker } from "./conversation-tracker.js";
7
+ import { AgentsCanvasUpdater } from "./agents-canvas.js";
8
+ import { extractGoalCondition, shouldExtractGoal } from "./goal-extractor.js";
7
9
  import { TMP_DIR } from "../../shared/paths.js";
8
10
  import { logger } from "../../shared/logger.js";
9
11
  export class SlackConnector {
@@ -23,6 +25,7 @@ export class SlackConnector {
23
25
  portalName;
24
26
  operatorName;
25
27
  conversations;
28
+ agentsCanvas;
26
29
  static CHANNEL_CACHE_TTL_MS = 3600_000; // 1 hour
27
30
  static USER_CACHE_TTL_MS = 3600_000; // 1 hour
28
31
  capabilities = {
@@ -99,6 +102,9 @@ export class SlackConnector {
99
102
  this.portalName = context.portalName;
100
103
  this.operatorName = context.operatorName;
101
104
  this.conversations = new ConversationTracker();
105
+ this.agentsCanvas = config.agentsCanvas?.enabled
106
+ ? new AgentsCanvasUpdater(this.app, config.agentsCanvas)
107
+ : null;
102
108
  }
103
109
  async resolveSpeakerInfo(userId) {
104
110
  if (!userId)
@@ -390,6 +396,34 @@ export class SlackConnector {
390
396
  if (triageEnabled) {
391
397
  this.conversations.recordBotEngaged(conversationKey);
392
398
  }
399
+ // Natural-language `/goal` injection.
400
+ //
401
+ // This is intentionally OUTSIDE the triage path. Triage decides
402
+ // "should we even respond"; goal extraction decides "if we respond,
403
+ // should the session run autonomously until a condition holds".
404
+ // The two questions are independent — DM / @-mention / DM-equivalent
405
+ // messages skip triage but still benefit from /goal — so we apply
406
+ // the extractor here, at the single point every reply-bound message
407
+ // passes through.
408
+ //
409
+ // The earlier keyword-regex approach missed natural Japanese phrasings
410
+ // ("完了と書いたら止まる" without "最後までやって" etc.) so we now
411
+ // always defer to a Haiku call gated only by a cheap length check.
412
+ // Haiku returns null fast for non-goal messages; sanitisation in the
413
+ // parser blocks slash-prefix injection and sentinel placeholders.
414
+ if (shouldExtractGoal(msg.text)) {
415
+ try {
416
+ const condition = await extractGoalCondition(msg.text);
417
+ if (condition) {
418
+ logger.info(`[slack] /goal injected: ${condition.slice(0, 100)}`);
419
+ msg.text = `/goal ${condition}\n\n${msg.text}`;
420
+ }
421
+ }
422
+ catch (err) {
423
+ // extractGoalCondition already catches its own errors; defensive.
424
+ logger.debug(`[slack] goal-extractor unexpected error: ${err}`);
425
+ }
426
+ }
393
427
  this.handler(msg);
394
428
  });
395
429
  // Fetch bot's own user ID for filtering self-reactions
@@ -495,8 +529,10 @@ export class SlackConnector {
495
529
  this.started = true;
496
530
  this.lastError = null;
497
531
  logger.info("Slack connector started (socket mode)");
532
+ this.agentsCanvas?.start();
498
533
  }
499
534
  async stop() {
535
+ this.agentsCanvas?.stop();
500
536
  for (const interval of this.typingIntervals.values()) {
501
537
  clearInterval(interval);
502
538
  }
@@ -515,6 +551,48 @@ export class SlackConnector {
515
551
  capabilities: this.capabilities,
516
552
  };
517
553
  }
554
+ /**
555
+ * Enumerate channels the bot is a member of. Used by the settings UI to
556
+ * populate the Agents View canvas channel picker.
557
+ *
558
+ * Public channels and private groups the bot has been invited to are both
559
+ * included; DMs/MPIMs are filtered out (canvases live in channels, not
560
+ * direct messages).
561
+ */
562
+ async listChannels() {
563
+ const out = [];
564
+ let cursor;
565
+ // Bound the loop so a misbehaving workspace can't make us iterate forever.
566
+ for (let page = 0; page < 20; page++) {
567
+ const res = await this.app.client.conversations.list({
568
+ types: "public_channel,private_channel",
569
+ exclude_archived: true,
570
+ limit: 200,
571
+ cursor,
572
+ });
573
+ const channels = (res.channels ?? []);
574
+ for (const c of channels) {
575
+ const id = typeof c.id === "string" ? c.id : undefined;
576
+ const name = typeof c.name === "string" ? c.name : undefined;
577
+ if (!id || !name)
578
+ continue;
579
+ // bot must be a member to post a canvas in the channel
580
+ if (c.is_member !== true)
581
+ continue;
582
+ out.push({
583
+ id,
584
+ name,
585
+ isPrivate: c.is_private === true,
586
+ isMember: true,
587
+ });
588
+ }
589
+ cursor = res.response_metadata?.next_cursor || undefined;
590
+ if (!cursor)
591
+ break;
592
+ }
593
+ out.sort((a, b) => a.name.localeCompare(b.name));
594
+ return out;
595
+ }
518
596
  reconstructTarget(replyContext) {
519
597
  return {
520
598
  channel: typeof replyContext.channel === "string" ? replyContext.channel : "",
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/connectors/slack/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/connectors/slack/index.ts"],"names":[],"mappings":"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"}
@@ -7,6 +7,17 @@ export declare class ClaudeEngine implements InterruptibleEngine {
7
7
  isAlive(sessionId: string): boolean;
8
8
  run(opts: EngineRunOpts): Promise<EngineResult>;
9
9
  private runOnce;
10
+ /**
11
+ * Inspect a raw stream-json line and, if it is an `assistant` event,
12
+ * record the latest text snapshot for that turn (keyed by message.id).
13
+ *
14
+ * Stream-json with `--include-partial-messages` emits multiple snapshots
15
+ * per turn as text accumulates; the LAST snapshot per id is the turn's
16
+ * final text. For multi-turn `/goal` sessions each turn produces its own
17
+ * message.id, so iterating `turnTextById` in insertion order yields the
18
+ * chronological turn outputs.
19
+ */
20
+ private captureTurnText;
10
21
  private processStreamLine;
11
22
  private formatClaudeError;
12
23
  private buildEngineResultFromResultEvent;
@@ -1 +1 @@
1
- {"version":3,"file":"claude.d.ts","sourceRoot":"","sources":["../../../src/engines/claude.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAuB,mBAAmB,EAAE,aAAa,EAAE,YAAY,EAAe,MAAM,oBAAoB,CAAC;AAgC7H,qBAAa,YAAa,YAAW,mBAAmB;IACtD,IAAI,EAAG,QAAQ,CAAU;IACzB,OAAO,CAAC,aAAa,CAAkC;IAEvD,IAAI,CAAC,SAAS,EAAE,MAAM,EAAE,MAAM,SAAgB,GAAG,IAAI;IAcrD,OAAO,IAAI,IAAI;IAMf,OAAO,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO;IAK7B,GAAG,CAAC,IAAI,EAAE,aAAa,GAAG,OAAO,CAAC,YAAY,CAAC;YA6CvC,OAAO;IAoPrB,OAAO,CAAC,iBAAiB;IAwFzB,OAAO,CAAC,iBAAiB;IAQzB,OAAO,CAAC,gCAAgC;IAkBxC,OAAO,CAAC,kBAAkB;IAoB1B,OAAO,CAAC,qBAAqB;IAqD7B,OAAO,CAAC,aAAa;IAiBrB,OAAO,CAAC,sBAAsB;IAc9B,OAAO,CAAC,aAAa;CAYtB"}
1
+ {"version":3,"file":"claude.d.ts","sourceRoot":"","sources":["../../../src/engines/claude.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAuB,mBAAmB,EAAE,aAAa,EAAE,YAAY,EAAe,MAAM,oBAAoB,CAAC;AAgC7H,qBAAa,YAAa,YAAW,mBAAmB;IACtD,IAAI,EAAG,QAAQ,CAAU;IACzB,OAAO,CAAC,aAAa,CAAkC;IAEvD,IAAI,CAAC,SAAS,EAAE,MAAM,EAAE,MAAM,SAAgB,GAAG,IAAI;IAcrD,OAAO,IAAI,IAAI;IAMf,OAAO,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO;IAK7B,GAAG,CAAC,IAAI,EAAE,aAAa,GAAG,OAAO,CAAC,YAAY,CAAC;YA6CvC,OAAO;IA0QrB;;;;;;;;;OASG;IACH,OAAO,CAAC,eAAe;IA6BvB,OAAO,CAAC,iBAAiB;IAwFzB,OAAO,CAAC,iBAAiB;IAQzB,OAAO,CAAC,gCAAgC;IAoBxC,OAAO,CAAC,kBAAkB;IAoB1B,OAAO,CAAC,qBAAqB;IAqD7B,OAAO,CAAC,aAAa;IAuBrB,OAAO,CAAC,sBAAsB;IAc9B,OAAO,CAAC,aAAa;CAYtB"}