@0xmaxma/claude-gateway 2.0.0 → 2.0.1

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 (47) hide show
  1. package/README.md +1 -1
  2. package/dist/agent/runner.d.ts +42 -0
  3. package/dist/agent/runner.d.ts.map +1 -1
  4. package/dist/agent/runner.js +58 -2
  5. package/dist/agent/runner.js.map +1 -1
  6. package/dist/api/line-webhook-router.js +1 -1
  7. package/dist/api/line-webhook-router.js.map +1 -1
  8. package/dist/api/router.d.ts.map +1 -1
  9. package/dist/api/router.js +27 -0
  10. package/dist/api/router.js.map +1 -1
  11. package/dist/api/slack-webhook-router.js +1 -1
  12. package/dist/api/slack-webhook-router.js.map +1 -1
  13. package/dist/orchestration/config.d.ts +4 -0
  14. package/dist/orchestration/config.d.ts.map +1 -1
  15. package/dist/orchestration/config.js +1 -1
  16. package/dist/orchestration/config.js.map +1 -1
  17. package/dist/orchestration/decisions.d.ts +1 -1
  18. package/dist/orchestration/decisions.d.ts.map +1 -1
  19. package/dist/orchestration/decisions.js +6 -3
  20. package/dist/orchestration/decisions.js.map +1 -1
  21. package/dist/orchestration/delivery.d.ts +6 -2
  22. package/dist/orchestration/delivery.d.ts.map +1 -1
  23. package/dist/orchestration/delivery.js +27 -11
  24. package/dist/orchestration/delivery.js.map +1 -1
  25. package/dist/orchestration/runtime.d.ts +5 -0
  26. package/dist/orchestration/runtime.d.ts.map +1 -1
  27. package/dist/orchestration/runtime.js +70 -1
  28. package/dist/orchestration/runtime.js.map +1 -1
  29. package/dist/orchestration/store.d.ts +6 -0
  30. package/dist/orchestration/store.d.ts.map +1 -1
  31. package/dist/orchestration/store.js +53 -2
  32. package/dist/orchestration/store.js.map +1 -1
  33. package/dist/orchestration/task-controls.d.ts +42 -0
  34. package/dist/orchestration/task-controls.d.ts.map +1 -1
  35. package/dist/orchestration/task-controls.js +5 -1
  36. package/dist/orchestration/task-controls.js.map +1 -1
  37. package/dist/orchestration/task-questions.d.ts +26 -0
  38. package/dist/orchestration/task-questions.d.ts.map +1 -0
  39. package/dist/orchestration/task-questions.js +160 -0
  40. package/dist/orchestration/task-questions.js.map +1 -0
  41. package/dist/orchestration/tasks/service.d.ts +5 -0
  42. package/dist/orchestration/tasks/service.d.ts.map +1 -1
  43. package/dist/orchestration/tasks/service.js +79 -16
  44. package/dist/orchestration/tasks/service.js.map +1 -1
  45. package/mcp/tools/discord/module.ts +1 -1
  46. package/mcp/tools/telegram/receiver-server.ts +14 -0
  47. package/package.json +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"store.js","sourceRoot":"","sources":["../../src/orchestration/store.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"store.js","sourceRoot":"","sources":["../../src/orchestration/store.ts"],"names":[],"mappings":"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"}
@@ -45,6 +45,7 @@ export declare class TaskControls {
45
45
  execution: import("./execution-observation").ExecutionObservation | undefined;
46
46
  progress: string | undefined;
47
47
  question: string | undefined;
48
+ questionId: string | undefined;
48
49
  updatedAt: number;
49
50
  canStop: boolean;
50
51
  }[];
@@ -85,6 +86,46 @@ export declare class TaskControls {
85
86
  execution: import("./execution-observation").ExecutionObservation | undefined;
86
87
  progress: string | undefined;
87
88
  question: string | undefined;
89
+ questionId: string | undefined;
90
+ updatedAt: number;
91
+ canStop: boolean;
92
+ };
93
+ answer(sessionId: string, principalId: string, taskId: string, questionId: string, answer: string, acceptedInputId?: string): {
94
+ timing: Partial<Record<import("./tasks/timing").TimingPhase, number>> | undefined;
95
+ timingMeasuredFrom: number | undefined;
96
+ supervision: {
97
+ id: string;
98
+ reason: "stale_progress" | "repeated_tools";
99
+ observedAt: number;
100
+ message: string;
101
+ deliveredAt?: number;
102
+ } | undefined;
103
+ progressText: string;
104
+ activityDetails: {
105
+ observationStatus: string;
106
+ process: import("./process-activity").ProcessSample;
107
+ lastTool: import("./execution-observation").ToolOutcome | undefined;
108
+ quiet: boolean;
109
+ status: string;
110
+ counters: string;
111
+ age: number;
112
+ activeTools: string[];
113
+ } | undefined;
114
+ startedAt: number | undefined;
115
+ finishedAt: number | undefined;
116
+ taskId: string;
117
+ title: string;
118
+ state: import("./types").TaskState;
119
+ replacedByTaskId: string | undefined;
120
+ cancellation: {
121
+ requestedBy: "user" | "agent";
122
+ requestedAt: number;
123
+ } | undefined;
124
+ failure: import("./types").TaskFailure | undefined;
125
+ execution: import("./execution-observation").ExecutionObservation | undefined;
126
+ progress: string | undefined;
127
+ question: string | undefined;
128
+ questionId: string | undefined;
88
129
  updatedAt: number;
89
130
  canStop: boolean;
90
131
  };
@@ -123,6 +164,7 @@ export declare class TaskControls {
123
164
  execution: import("./execution-observation").ExecutionObservation | undefined;
124
165
  progress: string | undefined;
125
166
  question: string | undefined;
167
+ questionId: string | undefined;
126
168
  updatedAt: number;
127
169
  canStop: boolean;
128
170
  };
@@ -1 +1 @@
1
- {"version":3,"file":"task-controls.d.ts","sourceRoot":"","sources":["../../src/orchestration/task-controls.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,kBAAkB,EAAE,MAAM,SAAS,CAAC;AAC7C,OAAO,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAG9C,kFAAkF;AAClF,qBAAa,YAAY;IACX,OAAO,CAAC,KAAK;IAAsB,OAAO,CAAC,KAAK;gBAAxC,KAAK,EAAE,kBAAkB,EAAU,KAAK,EAAE,WAAW;IACzE,OAAO,CAAC,IAAI;IAgBZ,IAAI,CAAC,SAAS,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,EAAE,IAAI,SAAI,EAAE,QAAQ,SAAK,EAAE,eAAe,UAAQ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IAU7F,OAAO,CAAC,KAAK;IAMb,MAAM,CAAC,SAAS,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IAC7D,MAAM,CAAC,SAAS,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAI9D"}
1
+ {"version":3,"file":"task-controls.d.ts","sourceRoot":"","sources":["../../src/orchestration/task-controls.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,kBAAkB,EAAE,MAAM,SAAS,CAAC;AAC7C,OAAO,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAG9C,kFAAkF;AAClF,qBAAa,YAAY;IACX,OAAO,CAAC,KAAK;IAAsB,OAAO,CAAC,KAAK;gBAAxC,KAAK,EAAE,kBAAkB,EAAU,KAAK,EAAE,WAAW;IACzE,OAAO,CAAC,IAAI;IAgBZ,IAAI,CAAC,SAAS,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,EAAE,IAAI,SAAI,EAAE,QAAQ,SAAK,EAAE,eAAe,UAAQ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IAU7F,OAAO,CAAC,KAAK;IAMb,MAAM,CAAC,SAAS,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IAC7D,MAAM,CAAC,SAAS,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,eAAe,CAAC,EAAE,MAAM;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IAI3H,MAAM,CAAC,SAAS,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAI9D"}
@@ -22,7 +22,7 @@ class TaskControls {
22
22
  const progressText = [task.failure ? `${task.failure.code}: ${task.failure.message}` : latestProgress?.text.slice(0, 1500), task.replacedByTaskId ? `Replaced by task ${task.replacedByTaskId}` : undefined].filter(Boolean).join('\n');
23
23
  const activityDetails = task.execution && ['running', 'starting'].includes(task.state) ? (0, execution_observation_1.executionDetails)(task.execution) : undefined;
24
24
  return { timing: (0, timing_1.timingTotals)(task), timingMeasuredFrom: task.timing?.measuredFrom, supervision: task.supervision, progressText, activityDetails, startedAt, finishedAt, taskId: task.taskId, title: task.title.slice(0, 200), state: task.state, replacedByTaskId: task.replacedByTaskId,
25
- cancellation: task.cancellation, failure: task.failure, execution: task.execution, progress: [task.failure ? `${task.failure.code}: ${task.failure.message}` : latestProgress?.text.slice(0, 1500), task.execution && ['running', 'starting'].includes(task.state) ? (0, execution_observation_1.executionDescription)(task.execution) : undefined, task.replacedByTaskId ? `Replaced by task ${task.replacedByTaskId}` : undefined].filter(Boolean).join('\n') || undefined, question: task.pendingQuestion?.text.slice(0, 1000),
25
+ cancellation: task.cancellation, failure: task.failure, execution: task.execution, progress: [task.failure ? `${task.failure.code}: ${task.failure.message}` : latestProgress?.text.slice(0, 1500), task.execution && ['running', 'starting'].includes(task.state) ? (0, execution_observation_1.executionDescription)(task.execution) : undefined, task.replacedByTaskId ? `Replaced by task ${task.replacedByTaskId}` : undefined].filter(Boolean).join('\n') || undefined, question: task.pendingQuestion?.text.slice(0, 1000), questionId: task.pendingQuestion?.questionId,
26
26
  updatedAt: Math.max(task.updatedAt, Number(activity?.occurred_at ?? 0), task.execution?.lastActivityAt ?? 0), canStop: ['queued', 'starting', 'running', 'waiting_input', 'interrupting', 'recovering', 'needs_reconciliation'].includes(task.state) };
27
27
  }
28
28
  list(sessionId, principalId, page = 0, pageSize = 10, includeFinished = false) {
@@ -46,6 +46,10 @@ class TaskControls {
46
46
  return task;
47
47
  }
48
48
  detail(sessionId, principalId, taskId) { return this.view(this.owned(sessionId, principalId, taskId)); }
49
+ answer(sessionId, principalId, taskId, questionId, answer, acceptedInputId) {
50
+ const task = this.owned(sessionId, principalId, taskId);
51
+ return this.view(this.tasks.answerByUser(task.conversationId, principalId, taskId, questionId, answer, acceptedInputId));
52
+ }
49
53
  cancel(sessionId, principalId, taskId) {
50
54
  const task = this.owned(sessionId, principalId, taskId);
51
55
  return this.view(this.tasks.cancelByUser(task.conversationId, principalId, taskId));
@@ -1 +1 @@
1
- {"version":3,"file":"task-controls.js","sourceRoot":"","sources":["../../src/orchestration/task-controls.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"task-controls.js","sourceRoot":"","sources":["../../src/orchestration/task-controls.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,26 @@
1
+ import { ControlMenu, ControlScope } from './channel-controls';
2
+ import { DecisionService } from './decisions';
3
+ import { DeliveryControl } from './delivery';
4
+ import { AcceptInput, OrchestrationStore } from './store';
5
+ import { TaskService } from './tasks/service';
6
+ /** Questions are durable user controls, not ordinary model-generated progress reports. */
7
+ export declare class TaskQuestions {
8
+ private store;
9
+ private tasks;
10
+ private decisions;
11
+ private deliver;
12
+ private publish;
13
+ private reminderMs;
14
+ constructor(store: OrchestrationStore, tasks: TaskService, decisions: DecisionService, deliver: (responseId: string, bindingId: string, text: string, controls: DeliveryControl[]) => void, publish: (sessionId: string, responseId: string, text: string) => void, reminderMs: () => number);
15
+ tick(now?: number): void;
16
+ private suppressQuestionReports;
17
+ private owned;
18
+ handle(scope: ControlScope, text: string, inputId?: string): ControlMenu | undefined;
19
+ private apply;
20
+ /** Only a platform reply to a persisted question message is an unambiguous answer. */
21
+ answerReply(input: AcceptInput, inputId: string): ControlMenu | undefined;
22
+ normalizeReply(input: AcceptInput): AcceptInput;
23
+ matches(input: AcceptInput): boolean;
24
+ private replyQuestion;
25
+ }
26
+ //# sourceMappingURL=task-questions.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"task-questions.d.ts","sourceRoot":"","sources":["../../src/orchestration/task-questions.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAC/D,OAAO,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAC9C,OAAO,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAC7C,OAAO,EAAE,WAAW,EAAE,kBAAkB,EAAoB,MAAM,SAAS,CAAC;AAC5E,OAAO,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAI9C,0FAA0F;AAC1F,qBAAa,aAAa;IACZ,OAAO,CAAC,KAAK;IAAsB,OAAO,CAAC,KAAK;IAAe,OAAO,CAAC,SAAS;IAC1F,OAAO,CAAC,OAAO;IACf,OAAO,CAAC,OAAO;IACf,OAAO,CAAC,UAAU;gBAHA,KAAK,EAAE,kBAAkB,EAAU,KAAK,EAAE,WAAW,EAAU,SAAS,EAAE,eAAe,EACnG,OAAO,EAAE,CAAC,UAAU,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,eAAe,EAAE,KAAK,IAAI,EACnG,OAAO,EAAE,CAAC,SAAS,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,KAAK,IAAI,EACtE,UAAU,EAAE,MAAM,MAAM;IAElC,IAAI,CAAC,GAAG,SAAa,GAAG,IAAI;IAmD5B,OAAO,CAAC,uBAAuB;IAS/B,OAAO,CAAC,KAAK;IAYb,MAAM,CAAC,KAAK,EAAE,YAAY,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,GAAG,WAAW,GAAG,SAAS;IAGpF,OAAO,CAAC,KAAK;IAmBb,sFAAsF;IACtF,WAAW,CAAC,KAAK,EAAE,WAAW,EAAE,OAAO,EAAE,MAAM,GAAG,WAAW,GAAG,SAAS;IAQzE,cAAc,CAAC,KAAK,EAAE,WAAW,GAAG,WAAW;IAW/C,OAAO,CAAC,KAAK,EAAE,WAAW,GAAG,OAAO;IAcpC,OAAO,CAAC,aAAa;CAOtB"}
@@ -0,0 +1,160 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.TaskQuestions = void 0;
4
+ const store_1 = require("./store");
5
+ const types_1 = require("./types");
6
+ const UUID = '[a-f0-9-]{36}';
7
+ /** Questions are durable user controls, not ordinary model-generated progress reports. */
8
+ class TaskQuestions {
9
+ constructor(store, tasks, decisions, deliver, publish, reminderMs) {
10
+ this.store = store;
11
+ this.tasks = tasks;
12
+ this.decisions = decisions;
13
+ this.deliver = deliver;
14
+ this.publish = publish;
15
+ this.reminderMs = reminderMs;
16
+ }
17
+ tick(now = Date.now()) {
18
+ const published = [];
19
+ this.store.compose(() => {
20
+ // A pending message must not ask for an already answered or replaced question.
21
+ for (const row of this.store.all(`SELECT q.* FROM task_questions q JOIN tasks t ON t.id=q.task_id
22
+ WHERE (q.closed=0 OR EXISTS(SELECT 1 FROM deliveries d JOIN task_question_messages m ON m.response_id=d.response_id WHERE m.question_id=q.question_id AND d.state='pending')) AND (t.state!='waiting_input' OR COALESCE(json_extract(t.snapshot_json,'$.pendingQuestion.questionId'),'')!=q.question_id)`)) {
23
+ this.store.run('UPDATE task_questions SET closed=1 WHERE question_id=?', row.question_id);
24
+ this.suppressQuestionReports(String(row.question_id));
25
+ this.store.cancelQuestionDeliveries(String(row.question_id));
26
+ }
27
+ for (const row of this.store.all(`SELECT t.*,c.agent_session_id FROM tasks t JOIN conversations c ON c.id=t.conversation_id
28
+ WHERE t.state='waiting_input' AND c.status='active'`)) {
29
+ const task = this.store.task(String(row.id)), question = task.pendingQuestion;
30
+ if (!question || question.revision !== task.revision)
31
+ continue;
32
+ let saved = this.store.get('SELECT * FROM task_questions WHERE question_id=?', question.questionId);
33
+ if (!saved) {
34
+ // Preserve the originating channel/thread, never pick an arbitrary linked channel.
35
+ const binding = this.store.get('SELECT binding_id FROM conversation_inputs WHERE id=?', task.initiatingInputId);
36
+ if (!binding)
37
+ continue;
38
+ this.store.run('INSERT INTO task_questions(question_id,task_id,revision,state_version,binding_id,next_reminder_at) VALUES(?,?,?,?,?,?)', question.questionId, task.taskId, question.revision, task.stateVersion, binding.binding_id, now);
39
+ saved = this.store.get('SELECT * FROM task_questions WHERE question_id=?', question.questionId);
40
+ }
41
+ if (!saved.closed && !saved.muted && Number(saved.next_reminder_at) <= now) {
42
+ const pending = this.store.get(`SELECT d.id FROM deliveries d JOIN task_question_messages m ON m.response_id=d.response_id
43
+ WHERE m.question_id=? AND d.state IN ('pending','sending') LIMIT 1`, question.questionId);
44
+ if (!pending) {
45
+ const prefix = Number(saved.reminder_count) ? 'Reminder · Waiting for your answer' : 'Waiting for your answer';
46
+ const command = `/task_question ${question.questionId}`;
47
+ const channel = this.store.get('SELECT channel FROM conversation_bindings WHERE id=?', saved.binding_id).channel;
48
+ const fallback = ['telegram', 'discord', 'slack', 'line'].includes(String(channel)) ? '' : `\n\n${command} snooze\n${command} mute`;
49
+ const text = `${prefix}\n${task.title}\n\n${question.text}\n\nReply to this message with your answer, or use:\n${command} answer <your answer>${fallback}`;
50
+ const responseId = this.decisions.notice(task.conversationId, text, false);
51
+ this.store.run('INSERT INTO task_question_messages VALUES(?,?)', responseId, question.questionId);
52
+ this.deliver(responseId, String(saved.binding_id), text, [
53
+ { label: 'Remind in 1 hour', data: `orch:q:${question.questionId}:snooze` },
54
+ { label: 'Mute reminders', data: `orch:q:${question.questionId}:mute` },
55
+ ]);
56
+ const count = Number(saved.reminder_count) + 1;
57
+ this.store.run('UPDATE task_questions SET reminder_count=?,next_reminder_at=? WHERE question_id=?', count, now + this.reminderMs() * (count === 1 ? 1 : count === 2 ? 3 : 6), question.questionId);
58
+ published.push([String(row.agent_session_id), responseId, text]);
59
+ }
60
+ }
61
+ if (Number(saved.state_version) !== task.stateVersion)
62
+ this.store.run('UPDATE task_questions SET state_version=? WHERE question_id=?', task.stateVersion, question.questionId);
63
+ this.suppressQuestionReports(question.questionId);
64
+ }
65
+ });
66
+ for (const item of published)
67
+ this.publish(...item);
68
+ }
69
+ suppressQuestionReports(questionId) {
70
+ // Earlier pending progress for this task is superseded by its current question.
71
+ // The durable version fence excludes later terminal results or replacement questions.
72
+ const question = this.store.get('SELECT task_id,state_version FROM task_questions WHERE question_id=?', questionId);
73
+ this.store.run("UPDATE notifications SET status='handled' WHERE task_id=? AND task_state_version<=? AND status='pending'", question.task_id, question.state_version);
74
+ this.store.run(`UPDATE outbox SET state='completed' WHERE kind='notification' AND state='pending' AND json_extract(payload_json,'$.notificationId') IN
75
+ (SELECT id FROM notifications WHERE task_id=? AND task_state_version<=? AND status='handled')`, question.task_id, question.state_version);
76
+ }
77
+ owned(scope, questionId) {
78
+ const row = this.store.get(`SELECT q.*,t.conversation_id,c.agent_session_id FROM task_questions q JOIN tasks t ON t.id=q.task_id
79
+ JOIN conversations c ON c.id=t.conversation_id JOIN conversation_bindings b ON b.id=q.binding_id
80
+ WHERE q.question_id=? AND c.agent_session_id=? AND b.channel=? AND b.chat_id=? AND (b.thread_key=? OR (b.channel='slack' AND b.thread_key='' AND EXISTS(
81
+ SELECT 1 FROM task_question_messages m JOIN deliveries d ON d.response_id=m.response_id
82
+ WHERE m.question_id=q.question_id AND d.binding_id=b.id AND d.state='delivered' AND d.provider_message_id=?)))`, questionId, scope.sessionId, scope.channel, scope.chatId, scope.thread, scope.thread);
83
+ if (!row)
84
+ throw new types_1.OrchestrationError('QUESTION_NOT_FOUND');
85
+ this.store.assertMember(String(row.conversation_id), scope.principalId);
86
+ return row;
87
+ }
88
+ handle(scope, text, inputId) {
89
+ return this.store.compose(() => this.apply(scope, text, inputId));
90
+ }
91
+ apply(scope, text, inputId) {
92
+ const command = new RegExp(`^/task_question (${UUID}) (answer|snooze|mute)(?:\\s+([\\s\\S]+))?$`).exec(text.trim());
93
+ const callback = new RegExp(`^/orch q:(${UUID}):(snooze|mute)$`).exec(text.trim());
94
+ if (!command && !callback)
95
+ return undefined;
96
+ const [, questionId, action] = (command ?? callback);
97
+ const row = this.owned(scope, questionId);
98
+ if (action === 'answer') {
99
+ const task = this.tasks.answerByUser(String(row.conversation_id), scope.principalId, String(row.task_id), questionId, command?.[3] ?? '', inputId);
100
+ this.store.run('UPDATE task_questions SET closed=1 WHERE question_id=?', questionId);
101
+ this.suppressQuestionReports(questionId);
102
+ return { text: `Answer received · ${task.title}\nThe answer is saved. Current task status: ${task.state}.`, buttons: [] };
103
+ }
104
+ const task = this.store.task(String(row.task_id));
105
+ if (row.closed || task?.state !== 'waiting_input' || task.pendingQuestion?.questionId !== questionId)
106
+ throw new types_1.OrchestrationError('STALE_QUESTION');
107
+ this.store.cancelQuestionDeliveries(questionId);
108
+ this.store.run('UPDATE task_questions SET muted=?,next_reminder_at=? WHERE question_id=?', action === 'mute' ? 1 : 0, Date.now() + 3600000, questionId);
109
+ return { text: `${action === 'mute' ? 'Reminders muted' : 'Reminder snoozed for 1 hour'} · ${task.title}\nThe task is still waiting for your answer.`, buttons: [] };
110
+ }
111
+ /** Only a platform reply to a persisted question message is an unambiguous answer. */
112
+ answerReply(input, inputId) {
113
+ if (!input.text.trim() || input.attachmentIds?.length || !input.metadata?.repliedMessageId || input.text.trim().startsWith('/'))
114
+ return undefined;
115
+ const row = this.replyQuestion(input);
116
+ if (!row)
117
+ return undefined;
118
+ const scope = { channel: input.scope.source, chatId: input.scope.chatId, thread: input.scope.threadKey, sessionId: input.scope.agentSessionId, principalId: input.scope.principalId };
119
+ return this.handle(scope, `/task_question ${row.question_id} answer ${input.text}`, inputId);
120
+ }
121
+ normalizeReply(input) {
122
+ if (input.scope.source !== 'slack' || !input.scope.threadKey || input.metadata?.repliedMessageId !== input.scope.threadKey)
123
+ return input;
124
+ const row = this.store.get(`SELECT b.conversation_id FROM task_question_messages m JOIN deliveries d ON d.response_id=m.response_id
125
+ JOIN conversation_bindings b ON b.id=d.binding_id JOIN conversations c ON c.id=b.conversation_id
126
+ WHERE d.provider_message_id=? AND d.state='delivered' AND b.channel='slack' AND b.chat_id=? AND b.account_id=?
127
+ AND b.thread_key='' AND c.agent_session_id=?`, input.scope.threadKey, input.scope.chatId, input.scope.accountId, input.scope.agentSessionId);
128
+ if (!row)
129
+ return input;
130
+ this.store.assertMember(String(row.conversation_id), input.scope.principalId);
131
+ return { ...input, scope: { ...input.scope, threadKey: '' } };
132
+ }
133
+ matches(input) {
134
+ if (/^\/task_question(?:\s|$)/.test(input.text.trim()))
135
+ return true;
136
+ if (!input.text.trim() || input.text.trim().startsWith('/') || input.attachmentIds?.length || !input.metadata?.repliedMessageId)
137
+ return false;
138
+ const question = this.replyQuestion(input);
139
+ if (!question)
140
+ return false;
141
+ if (input.scope.source !== 'slack' || !question.closed)
142
+ return true;
143
+ // Slack repeats the root message as reply metadata for every later thread message.
144
+ // Once answered, only an actual retry of the saved receipt is a question control.
145
+ if (!input.ingressKey)
146
+ return false;
147
+ const s = input.scope;
148
+ const key = (0, store_1.payloadHash)([this.store.agentId, s.source, s.accountId, s.chatId, s.threadKey, s.principalId, input.ingressKey]);
149
+ return Boolean(this.store.get(`SELECT i.input_id FROM ingress_receipts i JOIN conversation_decisions d
150
+ ON d.kind='notice' AND EXISTS(SELECT 1 FROM json_each(d.input_ids_json) WHERE value=i.input_id) WHERE i.ingress_key=?`, key));
151
+ }
152
+ replyQuestion(input) {
153
+ const scope = { channel: input.scope.source, chatId: input.scope.chatId, thread: input.scope.threadKey, sessionId: input.scope.agentSessionId };
154
+ return this.store.get(`SELECT DISTINCT m.question_id,q.closed FROM task_question_messages m JOIN task_questions q ON q.question_id=m.question_id JOIN deliveries d ON d.response_id=m.response_id
155
+ JOIN conversation_bindings b ON b.id=d.binding_id JOIN conversations c ON c.id=b.conversation_id
156
+ WHERE d.provider_message_id=? AND d.state='delivered' AND b.channel=? AND b.chat_id=? AND b.thread_key=? AND c.agent_session_id=?`, input.metadata.repliedMessageId, scope.channel, scope.chatId, scope.thread, scope.sessionId);
157
+ }
158
+ }
159
+ exports.TaskQuestions = TaskQuestions;
160
+ //# sourceMappingURL=task-questions.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"task-questions.js","sourceRoot":"","sources":["../../src/orchestration/task-questions.ts"],"names":[],"mappings":"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"}
@@ -71,6 +71,11 @@ export declare class TaskService {
71
71
  /** Scheduler-only cleanup acknowledgment; never authorizes new worker writes. */
72
72
  finishCleanup(attemptId: string, generation: number, stopped: boolean): void;
73
73
  answer(context: CommandContext, taskId: string, questionId: string, answer: string): TaskSnapshot;
74
+ /** A scoped authenticated reply is user authorization, without a fabricated model decision. */
75
+ answerByUser(conversationId: string, principalId: string, taskId: string, questionId: string, answer: string, acceptedInputId?: string): TaskSnapshot;
76
+ private handleAnswerInput;
77
+ private assertQuestion;
78
+ private answerOwned;
74
79
  revision(taskId: string, revision: number): TaskRevision;
75
80
  pruneWorkers(): void;
76
81
  claim(taskId: string): TaskAttempt | undefined;
@@ -1 +1 @@
1
- {"version":3,"file":"service.d.ts","sourceRoot":"","sources":["../../../src/orchestration/tasks/service.ts"],"names":[],"mappings":"AAOA,OAAO,EAAE,UAAU,EAAE,MAAM,QAAQ,CAAC;AAEpC,OAAO,EAAE,kBAAkB,EAA4B,MAAM,UAAU,CAAC;AACxE,OAAO,EAA8B,mBAAmB,EAAE,MAAM,WAAW,CAAC;AAC5E,OAAO,EAAE,cAAc,EAAsB,YAAY,EAAE,YAAY,EAAE,WAAW,EAAc,aAAa,EAAwB,UAAU,EAAE,MAAM,UAAU,CAAC;AAEpK,MAAM,WAAW,SAAS;IAAG,KAAK,EAAE,MAAM,CAAC;IAAC,YAAY,EAAE,MAAM,CAAC;IAAC,aAAa,EAAE,MAAM,CAAC;IAAC,KAAK,CAAC,EAAE,OAAO,WAAW,EAAE,SAAS,CAAC;IAAC,WAAW,CAAC,EAAE,MAAM,EAAE,CAAC;IAAC,cAAc,CAAC,EAAE,MAAM,CAAC;IAAC,kBAAkB,CAAC,EAAE,eAAe,GAAG,gBAAgB,CAAC;CAAE;AAE3O,qFAAqF;AACrF,qBAAa,WAAW;IAGV,QAAQ,CAAC,KAAK,EAAE,kBAAkB;IAAgC,OAAO,CAAC,QAAQ,CAAC,kBAAkB;IAFjH,OAAO,CAAC,MAAM,CAAC;IACf,QAAQ,CAAC,IAAI,EAAE,UAAU,CAAC;gBACL,KAAK,EAAE,kBAAkB,EAAE,MAAM,CAAC,EAAE,mBAAmB,EAAmB,kBAAkB,SAAK;IACtH,SAAS,CAAC,MAAM,CAAC,EAAE,mBAAmB,GAAG,IAAI;IAE7C,8EAA8E;IACxE,oBAAoB,CAAC,OAAO,EAAE,cAAc,EAAE,aAAa,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAazF,OAAO,CAAC,OAAO;IAwCf,OAAO,CAAC,KAAK;IAKb,MAAM,CAAC,cAAc,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,GAAG,YAAY,EAAE;IAWpF,qFAAqF;IACrF,OAAO,CAAC,cAAc,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IAsBvE,OAAO,CAAC,eAAe;IAcvB,KAAK,CAAC,OAAO,EAAE,cAAc,EAAE,OAAO,EAAE,SAAS,GAAG,YAAY;IA8ChE,MAAM,CAAC,OAAO,EAAE,cAAc,EAAE,MAAM,EAAE,MAAM,EAAE,gBAAgB,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,EAAE,IAAI,EAAE,UAAU,GAAG,YAAY;IAoC9H,MAAM,CAAC,OAAO,EAAE,cAAc,EAAE,MAAM,EAAE,MAAM,EAAE,gBAAgB,CAAC,EAAE,MAAM,GAAG,YAAY;IAGxF,0GAA0G;IAC1G,YAAY,CAAC,cAAc,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,YAAY;IAQvF,OAAO,CAAC,WAAW;IAuBnB,iFAAiF;IACjF,aAAa,CAAC,SAAS,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,GAAG,IAAI;IAkB5E,MAAM,CAAC,OAAO,EAAE,cAAc,EAAE,MAAM,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,YAAY;IAkBjG,QAAQ,CAAC,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,YAAY;IAMxD,YAAY,IAAI,IAAI;IACpB,KAAK,CAAC,MAAM,EAAE,MAAM,GAAG,WAAW,GAAG,SAAS;IAkC9C,OAAO,CAAC,cAAc;IAQtB,OAAO,CAAC,MAAM;IAKd,OAAO,CAAC,SAAS,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,WAAW,CAAC,iBAAiB,CAAC,GAAG,YAAY;IAWvG,OAAO,CAAC,aAAa;IAUrB,OAAO,CAAC,iBAAiB;IAKzB;mFAC+E;IAC/E,gBAAgB,CAAC,SAAS,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,WAAW,EAAE,OAAO,0BAA0B,EAAE,oBAAoB,GAAG,IAAI;IAenI,OAAO,CAAC,SAAS;IASjB,oGAAoG;IACpG,UAAU,CAAC,SAAS,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG;QAAE,QAAQ,CAAC,EAAE,MAAM,CAAC;QAAC,SAAS,CAAC,EAAE,MAAM,CAAC;QAAC,aAAa,CAAC,EAAE,QAAQ,GAAG,YAAY,CAAC;QAAC,QAAQ,CAAC,EAAE,YAAY,CAAC,aAAa,CAAC,CAAA;KAAE;IA0B5M,mBAAmB,CAAC,SAAS,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,EAAE,GAAG,IAAI;IAmBvF,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAsF;IACpH,iBAAiB,CAAC,SAAS,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,IAAI;IAmBlG,QAAQ,CAAC,SAAS,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,MAAM,EAAE,UAAU,CAAC,EAAE,OAAO,GAAG;QAAC,QAAQ,EAAC,IAAI,CAAC;QAAC,eAAe,CAAC,EAAC,MAAM,CAAA;KAAC;IAiBhJ,YAAY,CAAC,SAAS,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,MAAM,GAAG,YAAY;IActG,8EAA8E;IAC9E,MAAM,CAAC,SAAS,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,OAAO,EAAE,aAAa,GAAG,YAAY;IAqCnF,OAAO,CAAC,MAAM;IAOd;+EAC2E;IAC3E,SAAS,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,QAAQ,GAAG,QAAQ,GAAG,WAAW,EAAE,QAAQ,EAAE,MAAM,GAAG,YAAY;IAkBnG,cAAc,CAAC,SAAS,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,GAAG,IAAI;CAU5D"}
1
+ {"version":3,"file":"service.d.ts","sourceRoot":"","sources":["../../../src/orchestration/tasks/service.ts"],"names":[],"mappings":"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"}
@@ -316,22 +316,85 @@ class TaskService {
316
316
  }
317
317
  answer(context, taskId, questionId, answer) {
318
318
  (0, store_1.boundedText)(answer);
319
- return this.command(context, 'answer', { taskId, questionId, answer }, true, () => {
320
- const task = this.owned(taskId, context.conversationId), version = task.stateVersion;
321
- if (task.state !== 'waiting_input' || task.pendingQuestion?.questionId !== questionId || task.pendingQuestion.revision !== task.revision)
322
- throw new types_1.OrchestrationError('STALE_QUESTION');
323
- // An early user answer can be persisted, but the scheduler must still wait
324
- // for the old attempt's true end before claiming the next revision.
325
- const previous = this.revision(taskId, task.revision);
326
- task.revision++;
327
- this.store.run('INSERT INTO task_revisions VALUES(?,?,?)', taskId, task.revision, JSON.stringify({ ...previous, revision: task.revision,
328
- answers: [...(previous.answers ?? []), { questionId, text: answer, inputId: context.inputId }], originatingInputId: context.inputId }));
329
- task.pendingQuestion = undefined;
330
- task.state = task.activeAttemptId ? 'interrupting' : 'queued';
331
- this.store.saveTask(task, version);
332
- this.store.enqueue(task.activeAttemptId ? 'interrupt' : 'schedule', `answer:${questionId}`, { taskId });
333
- return task;
334
- }, taskId);
319
+ return this.command(context, 'answer', { taskId, questionId, answer }, true, () => this.answerOwned(context.conversationId, taskId, questionId, answer, context.inputId), taskId);
320
+ }
321
+ /** A scoped authenticated reply is user authorization, without a fabricated model decision. */
322
+ answerByUser(conversationId, principalId, taskId, questionId, answer, acceptedInputId) {
323
+ (0, store_1.boundedText)(questionId, 128);
324
+ (0, store_1.boundedText)(answer);
325
+ return this.store.transaction(() => {
326
+ const conversation = this.store.assertMember(conversationId, principalId);
327
+ const task = this.owned(taskId, conversationId);
328
+ if (!task.capabilities.execute)
329
+ throw new types_1.OrchestrationError('EXECUTION_DENIED');
330
+ const input = acceptedInputId ? this.store.get('SELECT * FROM conversation_inputs WHERE id=? AND conversation_id=? AND principal_id=?', acceptedInputId, conversationId, principalId) : undefined;
331
+ if (acceptedInputId && (!input || JSON.parse(String(input.ingress_json)).capabilities?.execute !== true))
332
+ throw new types_1.OrchestrationError('EXECUTION_DENIED');
333
+ // Revisions and their real input provenance outlive the prunable event stream.
334
+ const prior = this.store.get(`SELECT json_extract(a.value,'$.text') AS answer,i.principal_id
335
+ FROM task_revisions r,json_each(r.payload_json,'$.answers') a
336
+ JOIN conversation_inputs i ON i.id=json_extract(a.value,'$.inputId') AND i.conversation_id=?
337
+ WHERE r.task_id=? AND json_extract(a.value,'$.questionId')=? ORDER BY r.revision LIMIT 1`, conversationId, taskId, questionId);
338
+ if (prior) {
339
+ if (prior.principal_id !== principalId)
340
+ throw new types_1.OrchestrationError('STALE_QUESTION');
341
+ if (prior.answer !== answer)
342
+ throw new types_1.OrchestrationError('IDEMPOTENCY_CONFLICT');
343
+ if (input)
344
+ this.handleAnswerInput(conversationId, String(input.id));
345
+ return task;
346
+ }
347
+ if (input && input.status !== 'accepted')
348
+ throw new types_1.OrchestrationError('INPUT_CONFLICT');
349
+ this.assertQuestion(task, questionId);
350
+ if (conversation.status !== 'active')
351
+ throw new types_1.OrchestrationError('DRAINING');
352
+ const inputId = acceptedInputId ?? (0, crypto_1.randomUUID)(), now = Date.now(), seq = Number(conversation.last_input_seq) + 1;
353
+ if (!input) {
354
+ const binding = this.store.get('SELECT binding_id FROM conversation_inputs WHERE id=? AND conversation_id=?', task.initiatingInputId, conversationId);
355
+ this.store.run('UPDATE conversations SET last_input_seq=?,updated_at=? WHERE id=?', seq, now, conversationId);
356
+ this.store.run(`INSERT INTO conversation_inputs(id,conversation_id,input_seq,principal_id,binding_id,modality,text,attachment_refs_json,request_id,store_user_message,status,created_at,ingress_json)
357
+ VALUES(?,?,?,?,?,'text',?,'[]',NULL,1,'handled',?,?)`, inputId, conversationId, seq, principalId, binding.binding_id, answer, now, JSON.stringify({ metadata: { taskId, questionId }, capabilities: task.capabilities }));
358
+ this.store.appendEvent(conversationId, 'input.accepted', { inputId });
359
+ }
360
+ this.handleAnswerInput(conversationId, inputId);
361
+ const answered = this.answerOwned(conversationId, taskId, questionId, answer, inputId);
362
+ this.store.appendEvent(conversationId, 'task.user_answer', { taskId, questionId, principalId, inputId, answerHash: (0, store_1.payloadHash)(answer) }, taskId);
363
+ return answered;
364
+ });
365
+ }
366
+ handleAnswerInput(conversationId, inputId) {
367
+ const input = this.store.get('SELECT status FROM conversation_inputs WHERE id=?', inputId);
368
+ if (!['accepted', 'handled'].includes(String(input.status)))
369
+ throw new types_1.OrchestrationError('INPUT_CONFLICT');
370
+ this.store.run("UPDATE conversation_inputs SET status='handled' WHERE id=?", inputId);
371
+ this.store.run("UPDATE outbox SET state='completed' WHERE kind='input' AND dedup_key=?", `input:${inputId}`);
372
+ const operationId = `input:${inputId}`;
373
+ this.store.run('INSERT INTO history_operations VALUES(?,?,?,?,?,?,?,?) ON CONFLICT(operation_id) DO NOTHING', operationId, conversationId, inputId, null, 'append', null, 'pending', Date.now());
374
+ this.store.enqueue('history', operationId, { operationId });
375
+ }
376
+ assertQuestion(task, questionId) {
377
+ if (task.state !== 'waiting_input' || task.pendingQuestion?.questionId !== questionId || task.pendingQuestion.revision !== task.revision)
378
+ throw new types_1.OrchestrationError('STALE_QUESTION');
379
+ }
380
+ answerOwned(conversationId, taskId, questionId, answer, inputId) {
381
+ const task = this.owned(taskId, conversationId), version = task.stateVersion;
382
+ this.assertQuestion(task, questionId);
383
+ // Persist early answers, while fencing scheduling until the old attempt really ends.
384
+ const previous = this.revision(taskId, task.revision);
385
+ task.revision++;
386
+ this.store.run('INSERT INTO task_revisions VALUES(?,?,?)', taskId, task.revision, JSON.stringify({ ...previous, revision: task.revision,
387
+ answers: [...(previous.answers ?? []), { questionId, text: answer, inputId }], originatingInputId: inputId }));
388
+ task.pendingQuestion = undefined;
389
+ task.state = task.activeAttemptId ? 'interrupting' : 'queued';
390
+ this.store.saveTask(task, version);
391
+ this.store.enqueue(task.activeAttemptId ? 'interrupt' : 'schedule', `answer:${questionId}`, { taskId });
392
+ if (this.store.get("SELECT name FROM sqlite_master WHERE type='table' AND name='conversation_intake'")) {
393
+ const input = this.store.get('SELECT principal_id,binding_id,input_seq FROM conversation_inputs WHERE id=? AND conversation_id=?', inputId, conversationId);
394
+ this.store.run(`DELETE FROM conversation_intake WHERE conversation_id=? AND principal_id=? AND binding_id=?
395
+ AND json_extract(data_json,'$.task_id')=? AND latest_input_seq<=?`, conversationId, input.principal_id, input.binding_id, taskId, input.input_seq);
396
+ }
397
+ return task;
335
398
  }
336
399
  revision(taskId, revision) {
337
400
  const row = this.store.get('SELECT payload_json FROM task_revisions WHERE task_id=? AND revision=?', taskId, revision);