instar 1.3.1639 โ†’ 1.3.1641

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 (114) hide show
  1. package/dist/commands/server.d.ts.map +1 -1
  2. package/dist/commands/server.js +18 -0
  3. package/dist/commands/server.js.map +1 -1
  4. package/dist/core/AppConversationStore.d.ts +39 -0
  5. package/dist/core/AppConversationStore.d.ts.map +1 -1
  6. package/dist/core/AppConversationStore.js +9 -0
  7. package/dist/core/AppConversationStore.js.map +1 -1
  8. package/dist/core/AppConversationsReplicatedStore.js +1 -1
  9. package/dist/core/AppConversationsReplicatedStore.js.map +1 -1
  10. package/dist/core/AppReplyRelayInstaller.d.ts.map +1 -1
  11. package/dist/core/AppReplyRelayInstaller.js +2 -0
  12. package/dist/core/AppReplyRelayInstaller.js.map +1 -1
  13. package/dist/core/CodexLifecycleProductionComposition.d.ts +1 -1
  14. package/dist/core/CodexLifecycleProductionComposition.d.ts.map +1 -1
  15. package/dist/core/PostUpdateMigrator.d.ts.map +1 -1
  16. package/dist/core/PostUpdateMigrator.js +9 -1
  17. package/dist/core/PostUpdateMigrator.js.map +1 -1
  18. package/dist/core/SlackReplyRelayInstaller.d.ts.map +1 -1
  19. package/dist/core/SlackReplyRelayInstaller.js +2 -0
  20. package/dist/core/SlackReplyRelayInstaller.js.map +1 -1
  21. package/dist/core/WorktreeManager.d.ts.map +1 -1
  22. package/dist/core/WorktreeManager.js +27 -1
  23. package/dist/core/WorktreeManager.js.map +1 -1
  24. package/dist/core/types.d.ts +16 -0
  25. package/dist/core/types.d.ts.map +1 -1
  26. package/dist/core/types.js.map +1 -1
  27. package/dist/data/standards-guard-index.json +1 -1
  28. package/dist/data/standards-guard-index.meta.json +2 -2
  29. package/dist/data/standards-registry.meta.json +1 -1
  30. package/dist/feedback-factory/execute/ConfinedRunner.d.ts +4 -1
  31. package/dist/feedback-factory/execute/ConfinedRunner.d.ts.map +1 -1
  32. package/dist/feedback-factory/execute/ConfinedRunner.js +40 -8
  33. package/dist/feedback-factory/execute/ConfinedRunner.js.map +1 -1
  34. package/dist/feedback-factory/execute/FeedbackExecutorService.js +4 -4
  35. package/dist/feedback-factory/execute/FeedbackExecutorService.js.map +1 -1
  36. package/dist/feedback-factory/execute/executePolicy.d.ts +3 -0
  37. package/dist/feedback-factory/execute/executePolicy.d.ts.map +1 -1
  38. package/dist/feedback-factory/execute/executePolicy.js +3 -0
  39. package/dist/feedback-factory/execute/executePolicy.js.map +1 -1
  40. package/dist/messaging/messageOrigin.d.ts +94 -0
  41. package/dist/messaging/messageOrigin.d.ts.map +1 -0
  42. package/dist/messaging/messageOrigin.js +246 -0
  43. package/dist/messaging/messageOrigin.js.map +1 -0
  44. package/dist/messaging/slack/FileHandler.d.ts +3 -1
  45. package/dist/messaging/slack/FileHandler.d.ts.map +1 -1
  46. package/dist/messaging/slack/FileHandler.js +9 -1
  47. package/dist/messaging/slack/FileHandler.js.map +1 -1
  48. package/dist/messaging/slack/SlackAdapter.d.ts +9 -0
  49. package/dist/messaging/slack/SlackAdapter.d.ts.map +1 -1
  50. package/dist/messaging/slack/SlackAdapter.js +60 -4
  51. package/dist/messaging/slack/SlackAdapter.js.map +1 -1
  52. package/dist/messaging/slack/SlackOriginLedger.d.ts +97 -0
  53. package/dist/messaging/slack/SlackOriginLedger.d.ts.map +1 -0
  54. package/dist/messaging/slack/SlackOriginLedger.js +298 -0
  55. package/dist/messaging/slack/SlackOriginLedger.js.map +1 -0
  56. package/dist/messaging/telegram-origin/OriginAwareness.d.ts +3 -0
  57. package/dist/messaging/telegram-origin/OriginAwareness.d.ts.map +1 -1
  58. package/dist/messaging/telegram-origin/OriginAwareness.js +14 -0
  59. package/dist/messaging/telegram-origin/OriginAwareness.js.map +1 -1
  60. package/dist/messaging/telegram-origin/OriginStore.d.ts +5 -0
  61. package/dist/messaging/telegram-origin/OriginStore.d.ts.map +1 -1
  62. package/dist/messaging/telegram-origin/OriginStore.js +2 -1
  63. package/dist/messaging/telegram-origin/OriginStore.js.map +1 -1
  64. package/dist/messaging/telegram-origin/OriginStore.worker.js +1 -1
  65. package/dist/messaging/telegram-origin/OriginStore.worker.js.map +1 -1
  66. package/dist/messaging/telegram-origin/OriginStoreBackend.d.ts +14 -0
  67. package/dist/messaging/telegram-origin/OriginStoreBackend.d.ts.map +1 -1
  68. package/dist/messaging/telegram-origin/OriginStoreBackend.js +45 -0
  69. package/dist/messaging/telegram-origin/OriginStoreBackend.js.map +1 -1
  70. package/dist/messaging/telegram-origin/TelegramOriginService.d.ts +4 -0
  71. package/dist/messaging/telegram-origin/TelegramOriginService.d.ts.map +1 -1
  72. package/dist/messaging/telegram-origin/TelegramOriginService.js +10 -2
  73. package/dist/messaging/telegram-origin/TelegramOriginService.js.map +1 -1
  74. package/dist/native/InstarWedgeCanary.app/Contents/MacOS/InstarWedgeCanary +0 -0
  75. package/dist/native/instar-desktop-host +0 -0
  76. package/dist/scaffold/templates.d.ts.map +1 -1
  77. package/dist/scaffold/templates.js +3 -1
  78. package/dist/scaffold/templates.js.map +1 -1
  79. package/dist/server/AgentServer.d.ts.map +1 -1
  80. package/dist/server/AgentServer.js +3 -0
  81. package/dist/server/AgentServer.js.map +1 -1
  82. package/dist/server/mobileConversationRoutes.d.ts +17 -1
  83. package/dist/server/mobileConversationRoutes.d.ts.map +1 -1
  84. package/dist/server/mobileConversationRoutes.js +31 -6
  85. package/dist/server/mobileConversationRoutes.js.map +1 -1
  86. package/dist/server/mobileSlackRoutes.d.ts +13 -0
  87. package/dist/server/mobileSlackRoutes.d.ts.map +1 -1
  88. package/dist/server/mobileSlackRoutes.js +14 -1
  89. package/dist/server/mobileSlackRoutes.js.map +1 -1
  90. package/dist/server/originDisplayPreferences.d.ts.map +1 -1
  91. package/dist/server/originDisplayPreferences.js +19 -8
  92. package/dist/server/originDisplayPreferences.js.map +1 -1
  93. package/dist/server/replyOrigin.d.ts +39 -0
  94. package/dist/server/replyOrigin.d.ts.map +1 -0
  95. package/dist/server/replyOrigin.js +89 -0
  96. package/dist/server/replyOrigin.js.map +1 -0
  97. package/dist/server/routes.d.ts.map +1 -1
  98. package/dist/server/routes.js +162 -4
  99. package/dist/server/routes.js.map +1 -1
  100. package/package.json +1 -1
  101. package/scripts/blocking-decision-surfaces-baseline.json +3 -3
  102. package/src/data/builtin-manifest.json +66 -66
  103. package/src/data/standards-guard-index.json +1 -1
  104. package/src/data/standards-guard-index.meta.json +2 -2
  105. package/src/data/standards-registry.meta.json +1 -1
  106. package/src/scaffold/templates.ts +4 -1
  107. package/src/templates/scripts/app-reply.sh +17 -0
  108. package/src/templates/scripts/slack-reply.sh +23 -0
  109. package/upgrades/1.3.1640.md +25 -0
  110. package/upgrades/1.3.1641.md +20 -0
  111. package/upgrades/feedback-confined-timeout.eli16.md +7 -0
  112. package/upgrades/side-effects/feedback-confined-timeout.md +80 -0
  113. package/upgrades/side-effects/message-origin-all-platforms.md +92 -0
  114. package/upgrades/side-effects/worktree-binding-cap-evict-idle.md +38 -0
@@ -0,0 +1,97 @@
1
+ import { type MessageOriginEvidence } from '../messageOrigin.js';
2
+ /** Slack methods that put words in front of a user (the adapter's outbound chokepoints). */
3
+ export declare const RECORDED_SLACK_METHODS: ReadonlySet<string>;
4
+ export declare const ORIGIN_OUTAGE_NOTICE_TEXT = "A message to this conversation was not sent because I could not record which machine and model wrote it. Ask me again if you were expecting a reply.";
5
+ export declare function refusalWarrantsNotice(method: string): boolean;
6
+ export declare class SlackOriginRecordingError extends Error {
7
+ readonly reason: string;
8
+ readonly notSent = true;
9
+ constructor(reason: string);
10
+ }
11
+ export interface SlackOriginLedgerOptions {
12
+ file: string;
13
+ /** This machine (for automation evidence). */
14
+ machine?: () => {
15
+ id: string | null;
16
+ name: string | null;
17
+ };
18
+ /** Read live; false = the operator-set exception: a failed append is reported and the send proceeds. */
19
+ failClosed?: () => boolean;
20
+ report?: (feature: string, detail: string) => void;
21
+ maxBytes?: number;
22
+ now?: () => number;
23
+ }
24
+ export interface SlackOriginCounters {
25
+ intents: number;
26
+ receipts: number;
27
+ refused: number;
28
+ intentFailures: number;
29
+ receiptFailures: number;
30
+ notices: number;
31
+ noticeUnavailable: number;
32
+ }
33
+ export declare class SlackOriginLedger {
34
+ private readonly options;
35
+ readonly bootId: `${string}-${string}-${string}-${string}-${string}`;
36
+ private readonly maxBytes;
37
+ private posts;
38
+ private revisions;
39
+ private pending;
40
+ /** Reserved outage notices of THIS process incarnation, by conversation; consumed at most once. */
41
+ private reserves;
42
+ private lastNotice;
43
+ private coversSinceMs;
44
+ private outage;
45
+ private lastFailedWriteAt;
46
+ readonly counters: SlackOriginCounters;
47
+ constructor(options: SlackOriginLedgerOptions);
48
+ /** Run `fn` (one adapter send) with a session's evidence, bound to its target conversation. */
49
+ static runInScope<T>(scope: {
50
+ evidence: MessageOriginEvidence;
51
+ channel: string;
52
+ threadTs: string | null;
53
+ }, fn: () => T): T;
54
+ private now;
55
+ private key;
56
+ private conv;
57
+ private automation;
58
+ /** The evidence for this call: the scope's when it is the scope's one call to its own target. */
59
+ private evidenceFor;
60
+ private append;
61
+ private write;
62
+ /** Before the API call. Throws SlackOriginRecordingError when the record cannot be written (fail-closed). */
63
+ beginIntent(method: string, channel: string, threadTs: string | null): {
64
+ id: string;
65
+ method: string;
66
+ channel: string;
67
+ threadTs: string | null;
68
+ evidence: MessageOriginEvidence;
69
+ recorded: boolean;
70
+ };
71
+ /** After Slack accepted. Self-contained (carries channel and evidence), so rotation never splits it from its intent. */
72
+ completeReceipt(intent: {
73
+ id: string;
74
+ method: string;
75
+ channel: string;
76
+ threadTs: string | null;
77
+ evidence: MessageOriginEvidence;
78
+ }, ts: string | null, reserveId?: string): void;
79
+ private index;
80
+ /** A conversation's pre-recorded outage notice, written while recording works (one per conversation per incarnation). */
81
+ private ensureReserve;
82
+ /** Take this conversation's reserved notice: once per incarnation and at most once per 15 minutes. Null when unavailable. */
83
+ takeOutageNotice(channel: string, threadTs: string | null): {
84
+ reserveId: string;
85
+ evidence: MessageOriginEvidence;
86
+ } | null;
87
+ /** The origin of the post that created this Slack message, or why there is none. */
88
+ lookup(channel: string, ts: string): {
89
+ evidence: MessageOriginEvidence;
90
+ } | {
91
+ missing: 'not-retained' | 'other-machine' | 'unlinked';
92
+ };
93
+ get coversSince(): number | null;
94
+ /** The live index and the restart index come from this one rule: receipts in the retained files. */
95
+ private rebuild;
96
+ }
97
+ //# sourceMappingURL=SlackOriginLedger.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SlackOriginLedger.d.ts","sourceRoot":"","sources":["../../../src/messaging/slack/SlackOriginLedger.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,298 @@
1
+ // CONTRACT-EVIDENCE: EXEMPT โ€” message-origin-all-platforms adds no Slack API method, parameter or response field: the origin ledger wraps the existing calls (it reads only `ts`, which sendToChannel already returned) and the footer is one more line of `text`. Echo's Slack bot token was revoked 2026-07-01, so a live contract run is not available here.
2
+ // message-origin-all-platforms ยง3 (Slack): every Slack send writes its origin before it leaves.
3
+ // Governed by "Telegram Message Origin Is Mandatory; Its Display Is Optional" as extended to every
4
+ // platform. One file, append + fsync, synchronous in one process: rotation never interleaves an
5
+ // append, and the index is rebuilt from the retained files by the same rule the live path uses.
6
+ import fs from 'node:fs';
7
+ import path from 'node:path';
8
+ import { AsyncLocalStorage } from 'node:async_hooks';
9
+ import { randomUUID } from 'node:crypto';
10
+ import { originEvidenceWithoutSession, validateMessageOriginEvidence, } from '../messageOrigin.js';
11
+ /** Slack methods that put words in front of a user (the adapter's outbound chokepoints). */
12
+ export const RECORDED_SLACK_METHODS = new Set(['chat.postMessage', 'chat.postEphemeral', 'chat.update', 'files.completeUploadExternal']);
13
+ const POST_METHODS = new Set(['chat.postMessage', 'files.completeUploadExternal']);
14
+ export const ORIGIN_OUTAGE_NOTICE_TEXT = 'A message to this conversation was not sent because I could not record which machine and model wrote it. Ask me again if you were expecting a reply.';
15
+ const NOTICE_INTERVAL_MS = 15 * 60_000;
16
+ const UNLINKED_WINDOW_MS = 60_000;
17
+ const MAX_INDEX = 50_000;
18
+ const MAX_PENDING = 1_000;
19
+ const RETRY_MS = 5_000;
20
+ /** Only a refused post sends a notice: an ephemeral refusal must not be published, an edit was not "a message not sent", and a refused share already reports `mirror: "failed"`. */
21
+ const NOTICE_METHODS = new Set(['chat.postMessage']);
22
+ export function refusalWarrantsNotice(method) { return NOTICE_METHODS.has(method); }
23
+ export class SlackOriginRecordingError extends Error {
24
+ reason;
25
+ notSent = true;
26
+ constructor(reason) {
27
+ super(`origin-recording-unavailable: ${reason}`);
28
+ this.reason = reason;
29
+ this.name = 'SlackOriginRecordingError';
30
+ }
31
+ }
32
+ const scopeStore = new AsyncLocalStorage();
33
+ export class SlackOriginLedger {
34
+ options;
35
+ bootId = randomUUID();
36
+ maxBytes;
37
+ posts = new Map();
38
+ revisions = new Map();
39
+ pending = new Map();
40
+ /** Reserved outage notices of THIS process incarnation, by conversation; consumed at most once. */
41
+ reserves = new Map();
42
+ lastNotice = new Map();
43
+ coversSinceMs = null;
44
+ outage = false;
45
+ lastFailedWriteAt = null;
46
+ counters = { intents: 0, receipts: 0, refused: 0, intentFailures: 0, receiptFailures: 0, notices: 0, noticeUnavailable: 0 };
47
+ constructor(options) {
48
+ this.options = options;
49
+ this.maxBytes = options.maxBytes ?? 8 * 1024 * 1024;
50
+ // Opening never throws to the adapter: an unreadable ledger starts empty and the next write decides.
51
+ try {
52
+ this.rebuild();
53
+ }
54
+ catch { /* @silent-fallback-ok โ€” rebuild skips bad lines; an fs error leaves an empty index */ }
55
+ }
56
+ /** Run `fn` (one adapter send) with a session's evidence, bound to its target conversation. */
57
+ static runInScope(scope, fn) {
58
+ return scopeStore.run({ ...scope, used: false }, fn);
59
+ }
60
+ now() { return this.options.now?.() ?? Date.now(); }
61
+ key(channel, ts) { return `${channel}:${ts}`; }
62
+ conv(channel, threadTs) { return `${channel}:${threadTs ?? ''}`; }
63
+ automation() {
64
+ const m = this.options.machine?.() ?? { id: null, name: null };
65
+ return originEvidenceWithoutSession({ machineId: m.id, machineName: m.name, at: this.now(), kind: 'server-automation' });
66
+ }
67
+ /** The evidence for this call: the scope's when it is the scope's one call to its own target. */
68
+ evidenceFor(channel, threadTs) {
69
+ const scope = scopeStore.getStore();
70
+ if (scope && !scope.used && scope.channel === channel && (scope.threadTs ?? null) === (threadTs ?? null)) {
71
+ scope.used = true;
72
+ return scope.evidence;
73
+ }
74
+ return this.automation();
75
+ }
76
+ append(row) {
77
+ // Unavailable: retry the write at most once per 5 s; until then refuse without touching the disk.
78
+ if (this.lastFailedWriteAt !== null && this.now() - this.lastFailedWriteAt < RETRY_MS)
79
+ throw new Error('ledger-unavailable');
80
+ try {
81
+ this.write(row);
82
+ this.lastFailedWriteAt = null;
83
+ }
84
+ catch (err) {
85
+ this.lastFailedWriteAt = this.now();
86
+ throw err;
87
+ }
88
+ }
89
+ write(row) {
90
+ fs.mkdirSync(path.dirname(this.options.file), { recursive: true, mode: 0o700 });
91
+ let size = 0;
92
+ try {
93
+ size = fs.statSync(this.options.file).size;
94
+ }
95
+ catch {
96
+ size = 0;
97
+ }
98
+ if (size > this.maxBytes) {
99
+ fs.renameSync(this.options.file, `${this.options.file}.1`);
100
+ // Same rule as a restart: the live index is what the retained files say.
101
+ try {
102
+ this.rebuild();
103
+ }
104
+ catch { /* @silent-fallback-ok โ€” an unreadable generation leaves what was read */ }
105
+ }
106
+ const fd = fs.openSync(this.options.file, 'a', 0o600);
107
+ try {
108
+ fs.writeSync(fd, JSON.stringify(row) + '\n');
109
+ fs.fsyncSync(fd);
110
+ }
111
+ finally {
112
+ fs.closeSync(fd);
113
+ }
114
+ }
115
+ /** Before the API call. Throws SlackOriginRecordingError when the record cannot be written (fail-closed). */
116
+ beginIntent(method, channel, threadTs) {
117
+ const evidence = this.evidenceFor(channel, threadTs);
118
+ const id = randomUUID();
119
+ try {
120
+ this.append({ v: 1, kind: 'intent', id, bootId: this.bootId, method, channel, threadTs, origin: evidence, at: this.now() });
121
+ }
122
+ catch (err) {
123
+ this.counters.intentFailures++;
124
+ const detail = err instanceof Error ? err.message : String(err);
125
+ const failClosed = this.options.failClosed?.() ?? true;
126
+ if (!this.outage) {
127
+ this.outage = true;
128
+ this.options.report?.('SlackAdapter.originRecording', `Slack origin record could not be written (${detail}); ${failClosed ? 'sends are refused until it can' : 'sends continue unrecorded (messageOrigin.recording.slackFailClosed is false)'}.`);
129
+ }
130
+ if (failClosed) {
131
+ this.counters.refused++;
132
+ throw new SlackOriginRecordingError(detail);
133
+ }
134
+ return { id, method, channel, threadTs, evidence, recorded: false };
135
+ }
136
+ // The record is written: nothing below can turn this send into a refusal.
137
+ this.counters.intents++;
138
+ if (this.coversSinceMs === null)
139
+ this.coversSinceMs = this.now();
140
+ this.pending.set(id, { channel, at: this.now() });
141
+ if (this.pending.size > MAX_PENDING)
142
+ this.pending.delete(this.pending.keys().next().value);
143
+ if (this.outage) {
144
+ this.outage = false;
145
+ try {
146
+ this.options.report?.('SlackAdapter.originRecording', 'Slack origin recording recovered.');
147
+ }
148
+ catch { /* @silent-fallback-ok โ€” reporting never affects a send */ }
149
+ }
150
+ try {
151
+ this.ensureReserve(channel, threadTs);
152
+ }
153
+ catch { /* @silent-fallback-ok โ€” the next successful send writes the reserve */ }
154
+ return { id, method, channel, threadTs, evidence, recorded: true };
155
+ }
156
+ /** After Slack accepted. Self-contained (carries channel and evidence), so rotation never splits it from its intent. */
157
+ completeReceipt(intent, ts, reserveId) {
158
+ this.pending.delete(intent.id);
159
+ const row = { v: 1, kind: 'receipt', id: intent.id, method: intent.method, channel: intent.channel, threadTs: intent.threadTs,
160
+ ts, origin: intent.evidence, at: this.now(), ...(reserveId ? { reserveId } : {}) };
161
+ try {
162
+ this.append(row);
163
+ this.counters.receipts++;
164
+ this.index(row, intent.evidence);
165
+ }
166
+ catch (err) {
167
+ this.counters.receiptFailures++;
168
+ this.options.report?.('SlackAdapter.originReceipt', `A Slack message was sent but its origin receipt could not be written (${err instanceof Error ? err.message : String(err)}).`);
169
+ }
170
+ }
171
+ index(row, evidence) {
172
+ if (!row.channel || !row.ts)
173
+ return;
174
+ const k = this.key(row.channel, row.ts);
175
+ if (row.method && POST_METHODS.has(row.method)) {
176
+ if (!this.posts.has(k))
177
+ this.posts.set(k, evidence);
178
+ }
179
+ else if (row.method === 'chat.update')
180
+ this.revisions.set(k, evidence);
181
+ for (const map of [this.posts, this.revisions]) {
182
+ while (map.size > MAX_INDEX)
183
+ map.delete(map.keys().next().value);
184
+ }
185
+ }
186
+ /** A conversation's pre-recorded outage notice, written while recording works (one per conversation per incarnation). */
187
+ ensureReserve(channel, threadTs) {
188
+ const c = this.conv(channel, threadTs);
189
+ if (this.reserves.has(c))
190
+ return;
191
+ const id = randomUUID();
192
+ const m = this.options.machine?.() ?? { id: null, name: null };
193
+ const fixed = {
194
+ ...originEvidenceWithoutSession({ machineId: m.id, machineName: m.name, at: this.now(), kind: 'server-automation' }),
195
+ harness: { value: null, status: 'not-applicable', sourceEventRef: null, observedAt: null, reason: 'deterministic-automation' },
196
+ model: { value: null, status: 'not-applicable', sourceEventRef: null, observedAt: null, reason: 'deterministic-automation' },
197
+ };
198
+ try {
199
+ this.append({ v: 1, kind: 'reserve', id, bootId: this.bootId, method: 'chat.postMessage', channel, threadTs, origin: fixed, at: this.now() });
200
+ this.reserves.set(c, { id, consumed: false });
201
+ if (this.reserves.size > MAX_PENDING)
202
+ this.reserves.delete(this.reserves.keys().next().value);
203
+ }
204
+ catch { /* @silent-fallback-ok โ€” the next successful send in this conversation writes it */ }
205
+ }
206
+ /** Take this conversation's reserved notice: once per incarnation and at most once per 15 minutes. Null when unavailable. */
207
+ takeOutageNotice(channel, threadTs) {
208
+ const c = this.conv(channel, threadTs);
209
+ const last = this.lastNotice.get(c);
210
+ if (last !== undefined && this.now() - last < NOTICE_INTERVAL_MS)
211
+ return null;
212
+ const reserve = this.reserves.get(c);
213
+ if (!reserve || reserve.consumed) {
214
+ this.counters.noticeUnavailable++;
215
+ this.options.report?.('SlackAdapter.originNotice', 'A Slack send was refused for lack of an origin record and no pre-recorded notice was available for that conversation.');
216
+ return null;
217
+ }
218
+ reserve.consumed = true;
219
+ this.lastNotice.set(c, this.now());
220
+ this.counters.notices++;
221
+ const m = this.options.machine?.() ?? { id: null, name: null };
222
+ return { reserveId: reserve.id, evidence: {
223
+ ...originEvidenceWithoutSession({ machineId: m.id, machineName: m.name, at: this.now(), kind: 'server-automation' }),
224
+ harness: { value: null, status: 'not-applicable', sourceEventRef: null, observedAt: null, reason: 'deterministic-automation' },
225
+ model: { value: null, status: 'not-applicable', sourceEventRef: null, observedAt: null, reason: 'deterministic-automation' },
226
+ } };
227
+ }
228
+ /** The origin of the post that created this Slack message, or why there is none. */
229
+ lookup(channel, ts) {
230
+ const hit = this.posts.get(this.key(channel, ts));
231
+ if (hit)
232
+ return { evidence: hit };
233
+ const atMs = Number(ts) * 1000;
234
+ if (this.coversSinceMs === null || !Number.isFinite(atMs) || atMs < this.coversSinceMs)
235
+ return { missing: 'not-retained' };
236
+ for (const p of this.pending.values()) {
237
+ if (p.channel === channel && Math.abs(p.at - atMs) <= UNLINKED_WINDOW_MS)
238
+ return { missing: 'unlinked' };
239
+ }
240
+ return { missing: 'other-machine' };
241
+ }
242
+ get coversSince() { return this.coversSinceMs; }
243
+ /** The live index and the restart index come from this one rule: receipts in the retained files. */
244
+ rebuild() {
245
+ const posts = new Map(), revisions = new Map();
246
+ const pending = new Map();
247
+ let oldest = null;
248
+ for (const file of [`${this.options.file}.1`, this.options.file]) {
249
+ let text = '';
250
+ try {
251
+ text = fs.readFileSync(file, 'utf8');
252
+ }
253
+ catch {
254
+ continue;
255
+ }
256
+ for (const line of text.split('\n')) {
257
+ if (!line)
258
+ continue;
259
+ let row;
260
+ try {
261
+ row = JSON.parse(line);
262
+ }
263
+ catch {
264
+ continue;
265
+ } // @silent-fallback-ok โ€” a torn last line is skipped
266
+ if (!row || row.v !== 1 || typeof row.at !== 'number')
267
+ continue;
268
+ if (row.kind === 'intent' || row.kind === 'receipt')
269
+ oldest = oldest === null ? row.at : Math.min(oldest, row.at);
270
+ if (row.kind === 'intent' && typeof row.channel === 'string')
271
+ pending.set(row.id, { channel: row.channel, at: row.at });
272
+ if (row.kind !== 'receipt')
273
+ continue;
274
+ pending.delete(row.id);
275
+ const evidence = validateMessageOriginEvidence(row.origin);
276
+ if (!evidence || !row.channel || !row.ts)
277
+ continue;
278
+ const k = this.key(row.channel, row.ts);
279
+ if (row.method && POST_METHODS.has(row.method)) {
280
+ if (!posts.has(k))
281
+ posts.set(k, evidence);
282
+ }
283
+ else if (row.method === 'chat.update')
284
+ revisions.set(k, evidence);
285
+ }
286
+ }
287
+ // Reserves of an earlier incarnation are never reused (they are not loaded).
288
+ while (posts.size > MAX_INDEX)
289
+ posts.delete(posts.keys().next().value);
290
+ while (pending.size > MAX_PENDING)
291
+ pending.delete(pending.keys().next().value);
292
+ this.posts = posts;
293
+ this.revisions = revisions;
294
+ this.pending = pending;
295
+ this.coversSinceMs = oldest;
296
+ }
297
+ }
298
+ //# sourceMappingURL=SlackOriginLedger.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SlackOriginLedger.js","sourceRoot":"","sources":["../../../src/messaging/slack/SlackOriginLedger.ts"],"names":[],"mappings":"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"}
@@ -33,4 +33,7 @@ export declare function refreshHeldNoticeAwareness(content: string): string;
33
33
  /** One agent-wide system-topic record (src/messaging/SystemTopicAdoption.ts). */
34
34
  export declare function telegramIssuesGroupAwareness(port: number): string;
35
35
  export declare function telegramSystemTopicsAwareness(): string;
36
+ /** message-origin-all-platforms: app and Slack recording, the phone row and the setting. Every agent. */
37
+ export declare const MESSAGE_ORIGIN_ALL_PLATFORMS_HEADING = "### Message origin on app and Slack";
38
+ export declare function messageOriginAllPlatformsAwareness(port: number): string;
36
39
  //# sourceMappingURL=OriginAwareness.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"OriginAwareness.d.ts","sourceRoot":"","sources":["../../../src/messaging/telegram-origin/OriginAwareness.ts"],"names":[],"mappings":"AAAA,wBAAgB,gCAAgC,IAAI,MAAM,CAEzD;AAED,wBAAgB,+BAA+B,IAAI,MAAM,CAExD;AAED,wBAAgB,6BAA6B,IAAI,MAAM,CAEtD;AAED,wBAAgB,oCAAoC,IAAI,MAAM,CAE7D;AAED,wBAAgB,4BAA4B,IAAI,MAAM,CAErD;AAED,wBAAgB,+BAA+B,IAAI,MAAM,CAExD;AAED,wBAAgB,gCAAgC,IAAI,MAAM,CAEzD;AAED,wBAAgB,+BAA+B,IAAI,MAAM,CAExD;AAED,wBAAgB,6BAA6B,IAAI,MAAM,CAEtD;AAED,wBAAgB,kCAAkC,IAAI,MAAM,CAE3D;AAED,wBAAgB,mCAAmC,IAAI,MAAM,CAE5D;AAED,0FAA0F;AAC1F,wBAAgB,sCAAsC,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAE9E;AAED,wBAAgB,8BAA8B,IAAI,MAAM,CAEvD;AAED,wBAAgB,uBAAuB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAuC5D;AAED,2EAA2E;AAC3E,wBAAgB,mCAAmC,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAG3E;AAED,mFAAmF;AACnF,wBAAgB,mCAAmC,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAK3E;AAED,uFAAuF;AACvF,eAAO,MAAM,4BAA4B,kGAAkG,CAAC;AAC5I,eAAO,MAAM,yBAAyB,uMAAuM,CAAC;AAC9O,wBAAgB,2BAA2B,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAGnE;AAED,yEAAyE;AACzE,wBAAgB,8BAA8B,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAEtE;AAED,wEAAwE;AACxE,wBAAgB,8BAA8B,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAEnE;AAED,gGAAgG;AAChG,eAAO,MAAM,2BAA2B,wDAAmD,CAAC;AAC5F,eAAO,MAAM,0BAA0B,sFAAsF,CAAC;AAC9H,iGAAiG;AACjG,wBAAgB,0BAA0B,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAGlE;AAED,iFAAiF;AACjF,wBAAgB,4BAA4B,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAEjE;AAED,wBAAgB,6BAA6B,IAAI,MAAM,CAEtD"}
1
+ {"version":3,"file":"OriginAwareness.d.ts","sourceRoot":"","sources":["../../../src/messaging/telegram-origin/OriginAwareness.ts"],"names":[],"mappings":"AAAA,wBAAgB,gCAAgC,IAAI,MAAM,CAEzD;AAED,wBAAgB,+BAA+B,IAAI,MAAM,CAExD;AAED,wBAAgB,6BAA6B,IAAI,MAAM,CAEtD;AAED,wBAAgB,oCAAoC,IAAI,MAAM,CAE7D;AAED,wBAAgB,4BAA4B,IAAI,MAAM,CAErD;AAED,wBAAgB,+BAA+B,IAAI,MAAM,CAExD;AAED,wBAAgB,gCAAgC,IAAI,MAAM,CAEzD;AAED,wBAAgB,+BAA+B,IAAI,MAAM,CAExD;AAED,wBAAgB,6BAA6B,IAAI,MAAM,CAEtD;AAED,wBAAgB,kCAAkC,IAAI,MAAM,CAE3D;AAED,wBAAgB,mCAAmC,IAAI,MAAM,CAE5D;AAED,0FAA0F;AAC1F,wBAAgB,sCAAsC,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAE9E;AAED,wBAAgB,8BAA8B,IAAI,MAAM,CAEvD;AAED,wBAAgB,uBAAuB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAuC5D;AAED,2EAA2E;AAC3E,wBAAgB,mCAAmC,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAG3E;AAED,mFAAmF;AACnF,wBAAgB,mCAAmC,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAK3E;AAED,uFAAuF;AACvF,eAAO,MAAM,4BAA4B,kGAAkG,CAAC;AAC5I,eAAO,MAAM,yBAAyB,uMAAuM,CAAC;AAC9O,wBAAgB,2BAA2B,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAGnE;AAED,yEAAyE;AACzE,wBAAgB,8BAA8B,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAEtE;AAED,wEAAwE;AACxE,wBAAgB,8BAA8B,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAEnE;AAED,gGAAgG;AAChG,eAAO,MAAM,2BAA2B,wDAAmD,CAAC;AAC5F,eAAO,MAAM,0BAA0B,sFAAsF,CAAC;AAC9H,iGAAiG;AACjG,wBAAgB,0BAA0B,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAGlE;AAED,iFAAiF;AACjF,wBAAgB,4BAA4B,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAEjE;AAED,wBAAgB,6BAA6B,IAAI,MAAM,CAEtD;AAED,yGAAyG;AACzG,eAAO,MAAM,oCAAoC,wCAAwC,CAAC;AAC1F,wBAAgB,kCAAkC,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAWvE"}
@@ -117,4 +117,18 @@ export function telegramIssuesGroupAwareness(port) {
117
117
  export function telegramSystemTopicsAwareness() {
118
118
  return `**System topics (๐Ÿ“ข Updates, ๐Ÿ”” Attention, ๐Ÿฉบ Agent Health) are ONE record for the whole agent.** Only the machine holding the serving lease ever creates one; every other machine copies the holder's topic ids (on boot, then every 30 min) and never makes its own. Read a machine's record (authed): \`GET /telegram/system-topics\` โ†’ \`{ topics: { updates, attention, agentHealth }, holdsLease }\`. **When the user reports duplicate Updates/Attention/Agent Health topics** โ†’ compare this route on each machine (\`GET /pool\` lists them); a standby whose ids differ from the holder's converges on its next pass. Old duplicates already in Telegram stay until deleted โ€” offer to delete the empty ones; never delete a topic with real messages without asking.\n`;
119
119
  }
120
+ /** message-origin-all-platforms: app and Slack recording, the phone row and the setting. Every agent. */
121
+ export const MESSAGE_ORIGIN_ALL_PLATFORMS_HEADING = '### Message origin on app and Slack';
122
+ export function messageOriginAllPlatformsAwareness(port) {
123
+ return `${MESSAGE_ORIGIN_ALL_PLATFORMS_HEADING}
124
+
125
+ Every message I send to the user records which machine, harness and model wrote it, on every platform, whether or not it is shown. Telegram already did this; app conversations and Slack now do too, in the send path itself.
126
+ - **App replies** (\`app-reply.sh\`): the reply is stored together with its origin. **Slack** (every post, edit and file share): an origin row is written to \`.instar/state/slack-origins.jsonl\` before the message leaves. If that row cannot be written, the Slack send is refused: \`slack-reply.sh\` prints \`NOT SENT\` (HTTP 503 \`origin-recording-unavailable\`), nothing reached Slack, and one fixed notice tells the conversation. Do not resend in a loop; check \`curl -H "Authorization: Bearer $AUTH" http://localhost:${port}/health\` โ†’ \`messageOrigin\` first.
127
+ - **How it is known:** my session's origin credential (observed harness and model), else my launch record (status \`configured\`), else \`unknown\`. My own Slack replies carry a one-line footer (\`agent ยท machine ยท harness ยท model\`) like Telegram's.
128
+ - **The phone:** agent rows of the app's history reads (app, Slack, Telegram) carry \`origin: {recorded, machine, harness, model, display}\`. \`recorded: null\` means this machine cannot tell (another machine, not retained, lookup timeout), never "not recorded".
129
+ - **When the user asks to hide or show it** (PROACTIVE): it is on by default. The agent-wide setting is \`messageOrigin.display\` (\`enabled\`, \`machine\`, \`harness\`, \`model\`) on the enabled Telegram messaging entry, or at the top level of \`.instar/config.json\` when there is no Telegram; I set those bits myself and they apply within seconds. App and Slack conversations follow the agent-wide setting, so hiding it there also hides the Telegram footer; a single Telegram topic can still be overridden with the topic profile's \`messageOriginDisplay\`. The app's own hide toggle affects only that phone. Hiding never stops recording.
130
+ - **The Slack refusal's off switch** (\`messageOrigin.recording.slackFailClosed: false\`) is an operator exception: set it only on a verified operator's instruction, never on my own initiative.
131
+ - WhatsApp and iMessage do not record origin yet.
132
+ `;
133
+ }
120
134
  //# sourceMappingURL=OriginAwareness.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"OriginAwareness.js","sourceRoot":"","sources":["../../../src/messaging/telegram-origin/OriginAwareness.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"OriginAwareness.js","sourceRoot":"","sources":["../../../src/messaging/telegram-origin/OriginAwareness.ts"],"names":[],"mappings":"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"}
@@ -130,6 +130,11 @@ export declare class OriginStore {
130
130
  expiresAt: number;
131
131
  }): Promise<boolean>;
132
132
  listOrigins(query?: OriginListQuery): Promise<OriginListPage>;
133
+ lookupOriginEvidence(input: {
134
+ transport: string;
135
+ chatId: string;
136
+ messageIds: string[];
137
+ }): Promise<ReturnType<import('./OriginStoreBackend.js').OriginStoreBackend['lookupOriginEvidence']>>;
133
138
  getMetrics(): Promise<OriginMetrics>;
134
139
  undiagnosedOrigins(): Promise<Array<{
135
140
  originId: string;
@@ -1 +1 @@
1
- {"version":3,"file":"OriginStore.d.ts","sourceRoot":"","sources":["../../../src/messaging/telegram-origin/OriginStore.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"OriginStore.d.ts","sourceRoot":"","sources":["../../../src/messaging/telegram-origin/OriginStore.ts"],"names":[],"mappings":"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"}
@@ -62,7 +62,7 @@ function workerInputBytes(input, maximum) {
62
62
  }
63
63
  return bytes;
64
64
  }
65
- const READS = new Set(['listHeldOperations', 'unresolvedHeldOperationCount', 'heldForwardAdmissions', 'getOrigin', 'getChild', 'getOperation', 'getPayload', 'listOrigins', 'getMetrics', 'diagnostics', 'recoverableAdmissions', 'legacyCandidates', 'undiagnosedOrigins', 'getFederatedMetrics', 'getBrowserRecoveryStates']);
65
+ const READS = new Set(['listHeldOperations', 'unresolvedHeldOperationCount', 'heldForwardAdmissions', 'getOrigin', 'getChild', 'getOperation', 'getPayload', 'listOrigins', 'lookupOriginEvidence', 'getMetrics', 'diagnostics', 'recoverableAdmissions', 'legacyCandidates', 'undiagnosedOrigins', 'getFederatedMetrics', 'getBrowserRecoveryStates']);
66
66
  // Request deadlines protect an already-running worker operation. Starting a
67
67
  // fresh worker is a different boundary: under host pressure Node can defer the
68
68
  // worker bootstrap well beyond an ordinary DB request without the worker being
@@ -406,6 +406,7 @@ export class OriginStore {
406
406
  getPayload(payloadId) { return this.call('getPayload', payloadId); }
407
407
  consumeAuditAssertion(input) { return this.call('consumeAuditAssertion', input); }
408
408
  listOrigins(query = {}) { return this.call('listOrigins', query); }
409
+ lookupOriginEvidence(input) { return this.call('lookupOriginEvidence', input); }
409
410
  getMetrics() { return this.call('getMetrics'); }
410
411
  undiagnosedOrigins() { return this.call('undiagnosedOrigins'); }
411
412
  getBrowserRecoveryStates() { return this.call('getBrowserRecoveryStates'); }