@raidiant/notifai 8.0.0 → 9.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (168) hide show
  1. package/CHANGELOG.md +48 -0
  2. package/README.md +20 -13
  3. package/dist/atomic-file.d.ts +14 -0
  4. package/dist/atomic-file.js +27 -2
  5. package/dist/atomic-file.js.map +1 -1
  6. package/dist/cli-bin.d.ts +4 -0
  7. package/dist/cli-bin.js +62 -0
  8. package/dist/cli-bin.js.map +1 -0
  9. package/dist/cli-release.d.ts +10 -0
  10. package/dist/cli-release.js +75 -0
  11. package/dist/cli-release.js.map +1 -0
  12. package/dist/client.d.ts +1 -0
  13. package/dist/client.js +13 -3
  14. package/dist/client.js.map +1 -1
  15. package/dist/command-session.d.ts +14 -0
  16. package/dist/command-session.js +30 -0
  17. package/dist/command-session.js.map +1 -0
  18. package/dist/commands-auth.d.ts +6 -0
  19. package/dist/commands-auth.js +28 -3
  20. package/dist/commands-auth.js.map +1 -1
  21. package/dist/commands-config.js +22 -3
  22. package/dist/commands-config.js.map +1 -1
  23. package/dist/commands-core.d.ts +12 -0
  24. package/dist/commands-core.js +27 -3
  25. package/dist/commands-core.js.map +1 -1
  26. package/dist/commands-doctor.d.ts +1 -0
  27. package/dist/commands-doctor.js +87 -29
  28. package/dist/commands-doctor.js.map +1 -1
  29. package/dist/commands-guidance.d.ts +7 -3
  30. package/dist/commands-guidance.js +40 -31
  31. package/dist/commands-guidance.js.map +1 -1
  32. package/dist/commands-harness-context.js +21 -1
  33. package/dist/commands-harness-context.js.map +1 -1
  34. package/dist/commands-hooks.d.ts +20 -5
  35. package/dist/commands-hooks.js +509 -155
  36. package/dist/commands-hooks.js.map +1 -1
  37. package/dist/commands-init.d.ts +12 -18
  38. package/dist/commands-init.js +149 -47
  39. package/dist/commands-init.js.map +1 -1
  40. package/dist/commands-send-support.d.ts +17 -2
  41. package/dist/commands-send-support.js +61 -5
  42. package/dist/commands-send-support.js.map +1 -1
  43. package/dist/commands-send.d.ts +1 -0
  44. package/dist/commands-send.js +114 -17
  45. package/dist/commands-send.js.map +1 -1
  46. package/dist/commands-setup-proof.d.ts +12 -3
  47. package/dist/commands-setup-proof.js +60 -16
  48. package/dist/commands-setup-proof.js.map +1 -1
  49. package/dist/commands-skill.d.ts +11 -1
  50. package/dist/commands-skill.js +61 -11
  51. package/dist/commands-skill.js.map +1 -1
  52. package/dist/commands.d.ts +2 -2
  53. package/dist/commands.js +1 -1
  54. package/dist/commands.js.map +1 -1
  55. package/dist/config-schema.d.ts +1 -1
  56. package/dist/config-schema.js +25 -0
  57. package/dist/config-schema.js.map +1 -1
  58. package/dist/config.d.ts +24 -3
  59. package/dist/config.js +37 -5
  60. package/dist/config.js.map +1 -1
  61. package/dist/credentials.d.ts +10 -1
  62. package/dist/credentials.js +25 -12
  63. package/dist/credentials.js.map +1 -1
  64. package/dist/guidance-content.d.ts +20 -0
  65. package/dist/guidance-content.js +73 -8
  66. package/dist/guidance-content.js.map +1 -1
  67. package/dist/guidance-render.d.ts +20 -0
  68. package/dist/guidance-render.js +42 -0
  69. package/dist/guidance-render.js.map +1 -0
  70. package/dist/guidance.d.ts +21 -0
  71. package/dist/guidance.js +73 -18
  72. package/dist/guidance.js.map +1 -1
  73. package/dist/hook-adapter.js +37 -3
  74. package/dist/hook-adapter.js.map +1 -1
  75. package/dist/hooks.d.ts +83 -7
  76. package/dist/hooks.js +288 -90
  77. package/dist/hooks.js.map +1 -1
  78. package/dist/install-hooks.d.ts +10 -18
  79. package/dist/install-hooks.js +110 -23
  80. package/dist/install-hooks.js.map +1 -1
  81. package/dist/interactive.d.ts +1 -1
  82. package/dist/interactive.js +1 -1
  83. package/dist/interactive.js.map +1 -1
  84. package/dist/logging.d.ts +8 -1
  85. package/dist/logging.js +43 -2
  86. package/dist/logging.js.map +1 -1
  87. package/dist/main.js +2 -13
  88. package/dist/main.js.map +1 -1
  89. package/dist/native-skills.d.ts +19 -0
  90. package/dist/native-skills.js +30 -8
  91. package/dist/native-skills.js.map +1 -1
  92. package/dist/opencode-plugin.js +25 -1
  93. package/dist/opencode-plugin.js.map +1 -1
  94. package/dist/program.js +34 -20
  95. package/dist/program.js.map +1 -1
  96. package/dist/readiness.d.ts +6 -0
  97. package/dist/readiness.js +37 -0
  98. package/dist/readiness.js.map +1 -1
  99. package/dist/send-attempts.d.ts +26 -0
  100. package/dist/send-attempts.js +139 -0
  101. package/dist/send-attempts.js.map +1 -0
  102. package/dist/send.d.ts +8 -1
  103. package/dist/send.js +17 -1
  104. package/dist/send.js.map +1 -1
  105. package/dist/session-activation.d.ts +11 -0
  106. package/dist/session-activation.js +46 -0
  107. package/dist/session-activation.js.map +1 -0
  108. package/dist/url-policy.d.ts +85 -0
  109. package/dist/url-policy.js +369 -0
  110. package/dist/url-policy.js.map +1 -0
  111. package/package.json +3 -3
  112. package/src/atomic-file.ts +36 -2
  113. package/src/cli-bin.test.ts +38 -0
  114. package/src/cli-bin.ts +67 -0
  115. package/src/cli-release.test.ts +46 -0
  116. package/src/cli-release.ts +78 -0
  117. package/src/client.test.ts +95 -0
  118. package/src/client.ts +16 -3
  119. package/src/command-session.ts +38 -0
  120. package/src/commands-auth.ts +32 -3
  121. package/src/commands-config.ts +25 -2
  122. package/src/commands-core.ts +38 -3
  123. package/src/commands-doctor.ts +117 -41
  124. package/src/commands-guidance.ts +43 -32
  125. package/src/commands-harness-context.ts +24 -1
  126. package/src/commands-hooks.ts +704 -188
  127. package/src/commands-init.ts +180 -57
  128. package/src/commands-send-support.test.ts +156 -0
  129. package/src/commands-send-support.ts +67 -5
  130. package/src/commands-send.ts +135 -16
  131. package/src/commands-setup-proof.test.ts +72 -0
  132. package/src/commands-setup-proof.ts +69 -16
  133. package/src/commands-skill.ts +78 -15
  134. package/src/commands.test.ts +1281 -157
  135. package/src/commands.ts +2 -0
  136. package/src/config-schema.ts +28 -1
  137. package/src/config.test.ts +1 -1
  138. package/src/config.ts +49 -5
  139. package/src/credentials.test.ts +71 -3
  140. package/src/credentials.ts +29 -15
  141. package/src/guidance-content.ts +74 -8
  142. package/src/guidance-render.ts +56 -0
  143. package/src/guidance.test.ts +70 -11
  144. package/src/guidance.ts +100 -18
  145. package/src/hook-adapter.test.ts +113 -1
  146. package/src/hook-adapter.ts +37 -3
  147. package/src/hooks.test.ts +778 -166
  148. package/src/hooks.ts +368 -129
  149. package/src/install-hooks.test.ts +135 -16
  150. package/src/install-hooks.ts +113 -25
  151. package/src/interactive.ts +1 -1
  152. package/src/logging.test.ts +66 -3
  153. package/src/logging.ts +45 -2
  154. package/src/main.ts +2 -14
  155. package/src/native-skills.test.ts +41 -1
  156. package/src/native-skills.ts +40 -6
  157. package/src/opencode-plugin.ts +25 -1
  158. package/src/program.test.ts +37 -2
  159. package/src/program.ts +62 -24
  160. package/src/readiness.ts +44 -0
  161. package/src/send-attempts.test.ts +143 -0
  162. package/src/send-attempts.ts +188 -0
  163. package/src/send.test.ts +28 -0
  164. package/src/send.ts +28 -2
  165. package/src/session-activation.ts +62 -0
  166. package/src/skill.test.ts +125 -11
  167. package/src/trust-policy.test.ts +701 -0
  168. package/src/url-policy.ts +399 -0
@@ -1 +1 @@
1
- {"version":3,"file":"commands-init.js","sourceRoot":"","sources":["../src/commands-init.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"commands-init.js","sourceRoot":"","sources":["../src/commands-init.ts"],"names":[],"mappings":"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"}
@@ -39,6 +39,21 @@ type UploadResult = {
39
39
  error: string | null;
40
40
  exit: number;
41
41
  };
42
- /** `--image` accepts a media id, a local file path, or an http(s) URL. */
43
- export declare function uploadImage(deps: CommandDeps, client: ApiClient, source: string): Promise<UploadResult>;
42
+ /**
43
+ * Read a remote image without buffering more than the server will accept.
44
+ *
45
+ * Content-Length is an early refusal, not trust: a lying header still hits
46
+ * the byte cap while the body is read. Supported schemes stay http and https.
47
+ */
48
+ export declare function readCappedBytes(response: Response, maxBytes: number): Promise<Uint8Array | 'too-large'>;
49
+ /**
50
+ * `--image` accepts a media id, a local file path, or an http(s) URL.
51
+ *
52
+ * A remote URL is fetched under the media URL policy (`url-policy.ts`):
53
+ * public HTTPS by default, every redirect hop re-validated, and non-public
54
+ * destinations only through the User's `media_origins` — never a
55
+ * repository's. `--image` values routinely arrive from an agent that read
56
+ * them in a working tree, so the URL is hostile input until proven otherwise.
57
+ */
58
+ export declare function uploadImage(deps: CommandDeps, client: ApiClient, source: string, allowOrigins?: readonly string[]): Promise<UploadResult>;
44
59
  export {};
@@ -1,8 +1,9 @@
1
- import {} from '@raidiant/notifai-protocol';
1
+ import { NOTIFICATION_IMAGE_MAX_BYTES } from '@raidiant/notifai-protocol';
2
2
  import { sha256Hex } from '@raidiant/notifai-protocol/node';
3
3
  import { existsSync, readFileSync } from 'node:fs';
4
4
  import path from 'node:path';
5
5
  import { isRetryableReplyPollError } from './client.js';
6
+ import { fetchMediaUrl } from './url-policy.js';
6
7
  import { buildSourceContext, inferInvocationContext } from './invocation-context.js';
7
8
  import { readOrcaSessionTitle } from './orca-session-title.js';
8
9
  import {} from './send.js';
@@ -155,18 +156,73 @@ const MEDIA_TYPES = {
155
156
  '.png': 'image/png',
156
157
  '.gif': 'image/gif',
157
158
  };
158
- /** `--image` accepts a media id, a local file path, or an http(s) URL. */
159
- export async function uploadImage(deps, client, source) {
159
+ /**
160
+ * Read a remote image without buffering more than the server will accept.
161
+ *
162
+ * Content-Length is an early refusal, not trust: a lying header still hits
163
+ * the byte cap while the body is read. Supported schemes stay http and https.
164
+ */
165
+ export async function readCappedBytes(response, maxBytes) {
166
+ const contentLength = Number(response.headers.get('content-length'));
167
+ if (Number.isFinite(contentLength) && contentLength > maxBytes)
168
+ return 'too-large';
169
+ const reader = response.body?.getReader();
170
+ if (reader === undefined) {
171
+ const buf = new Uint8Array(await response.arrayBuffer());
172
+ return buf.byteLength > maxBytes ? 'too-large' : buf;
173
+ }
174
+ const chunks = [];
175
+ let received = 0;
176
+ while (true) {
177
+ const { done, value } = await reader.read();
178
+ if (done)
179
+ break;
180
+ received += value.byteLength;
181
+ if (received > maxBytes) {
182
+ await reader.cancel();
183
+ return 'too-large';
184
+ }
185
+ chunks.push(value);
186
+ }
187
+ const out = new Uint8Array(received);
188
+ let offset = 0;
189
+ for (const chunk of chunks) {
190
+ out.set(chunk, offset);
191
+ offset += chunk.byteLength;
192
+ }
193
+ return out;
194
+ }
195
+ /**
196
+ * `--image` accepts a media id, a local file path, or an http(s) URL.
197
+ *
198
+ * A remote URL is fetched under the media URL policy (`url-policy.ts`):
199
+ * public HTTPS by default, every redirect hop re-validated, and non-public
200
+ * destinations only through the User's `media_origins` — never a
201
+ * repository's. `--image` values routinely arrive from an agent that read
202
+ * them in a working tree, so the URL is hostile input until proven otherwise.
203
+ */
204
+ export async function uploadImage(deps, client, source, allowOrigins = []) {
160
205
  let bytes;
161
206
  let mediaType;
162
207
  if (/^https?:\/\//.test(source)) {
163
208
  try {
164
- const response = await fetch(source);
209
+ const fetched = await fetchMediaUrl(source, { allowOrigins }, deps.fetchImpl);
210
+ if (!fetched.ok)
211
+ return { ok: false, error: fetched.reason, exit: EXIT.usage };
212
+ const response = fetched.response;
165
213
  if (!response.ok)
166
214
  return { ok: false, error: `Could not fetch ${source} (${response.status}).`, exit: EXIT.usage };
167
215
  const contentType = response.headers.get('content-type')?.split(';')[0]?.trim() ?? '';
168
216
  mediaType = ['image/jpeg', 'image/png', 'image/gif'].find((t) => t === contentType);
169
- bytes = new Uint8Array(await response.arrayBuffer());
217
+ const downloaded = await readCappedBytes(response, NOTIFICATION_IMAGE_MAX_BYTES);
218
+ if (downloaded === 'too-large') {
219
+ return {
220
+ ok: false,
221
+ error: `Remote image exceeds the ${NOTIFICATION_IMAGE_MAX_BYTES} byte media limit.`,
222
+ exit: EXIT.usage,
223
+ };
224
+ }
225
+ bytes = downloaded;
170
226
  }
171
227
  catch (err) {
172
228
  return { ok: false, error: `Could not fetch ${source}: ${String(err)}`, exit: EXIT.network };
@@ -1 +1 @@
1
- {"version":3,"file":"commands-send-support.js","sourceRoot":"","sources":["../src/commands-send-support.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"commands-send-support.js","sourceRoot":"","sources":["../src/commands-send-support.ts"],"names":[],"mappings":"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"}
@@ -7,6 +7,7 @@ export declare function sendCommand(deps: CommandDeps, flags: SendFlags & {
7
7
  noWait?: boolean;
8
8
  replyTimeout?: number;
9
9
  idempotencyKey?: string;
10
+ retry?: boolean;
10
11
  baseUrl?: string;
11
12
  }): Promise<number>;
12
13
  export declare function repliesCommand(deps: CommandDeps, requestedId: string | undefined, flags: {
@@ -1,15 +1,21 @@
1
1
  import { CAPABILITIES_V1, REPLY_MAX_WINDOW_SECONDS, validateDraft, } from '@raidiant/notifai-protocol';
2
- import { randomBytes } from 'node:crypto';
3
2
  import { ApiCallError, NetworkError } from './client.js';
4
- import { MIN_REPLY_WINDOW_SECONDS, readProjectSession, readSessionState } from './hooks.js';
5
- import { buildDraft, formatReceipt, receiptExitCode, validateMediaInputs, } from './send.js';
3
+ import { MIN_REPLY_WINDOW_SECONDS, readSessionState } from './hooks.js';
4
+ import { buildDraft, formatReceipt, receiptExitCode, rejectAccidentalEscapedNewlines, validateMediaInputs, } from './send.js';
5
+ import { recordObservedDeliveryProof, setupProofProject } from './commands-setup-proof.js';
6
6
  import { EXIT, authedClient, loadLoggedConfig, log, reportError, } from './commands-core.js';
7
7
  import { activeHarnessSession } from './commands-harness-context.js';
8
+ import { resolveCommandSession } from './command-session.js';
9
+ import { beginSendAttempt, semanticMediaIds, sendDraftFingerprint, settleSendAttempt, } from './send-attempts.js';
8
10
  import { acknowledgementCommand, printAcknowledgementStatus, resolveDraftInvocation, uploadImage, waitForReply, } from './commands-send-support.js';
9
11
  // ---------------------------------------------------------------------------
10
12
  // send / status
11
13
  // ---------------------------------------------------------------------------
12
14
  export async function sendCommand(deps, flags) {
15
+ if (flags.retry === true && flags.idempotencyKey !== undefined) {
16
+ deps.io.err('Pass --retry or --idempotency-key, not both.');
17
+ return EXIT.usage;
18
+ }
13
19
  const hasChoice = Array.isArray(flags.choice)
14
20
  ? flags.choice.length > 0
15
21
  : flags.choice !== undefined;
@@ -22,7 +28,7 @@ export async function sendCommand(deps, flags) {
22
28
  // reach the user as ordinary news whatever actually happened.
23
29
  if (!flags.reply && flags.kind === undefined) {
24
30
  deps.io.err('--kind is required: say what this notification is. ' +
25
- 'update (news) · done (finished) · failed (terminal failure) · blocked (cannot proceed). ' +
31
+ 'update (news) · done (finished) · failed (terminal failure) · blocked (cannot proceed; no User reply would resume it). ' +
26
32
  '--reply makes it a question without --kind.');
27
33
  return EXIT.usage;
28
34
  }
@@ -61,6 +67,11 @@ export async function sendCommand(deps, flags) {
61
67
  deps.io.err(`--reply-window must be an integer from ${MIN_REPLY_WINDOW_SECONDS} to ${REPLY_MAX_WINDOW_SECONDS} seconds.`);
62
68
  return EXIT.usage;
63
69
  }
70
+ const escapedBody = rejectAccidentalEscapedNewlines(flags.body, flags.literalBackslashN);
71
+ if (escapedBody !== null) {
72
+ deps.io.err(escapedBody);
73
+ return EXIT.usage;
74
+ }
64
75
  const mediaInputError = validateMediaInputs(flags.image, flags.imageAlt);
65
76
  if (mediaInputError !== null) {
66
77
  deps.io.err(mediaInputError);
@@ -79,14 +90,41 @@ export async function sendCommand(deps, flags) {
79
90
  const authed = authedClient(deps, config);
80
91
  if (!authed)
81
92
  return EXIT.auth;
93
+ const credential = deps.store.load();
94
+ let semanticImages;
95
+ try {
96
+ semanticImages = semanticMediaIds(flags.image ?? [], deps.cwd);
97
+ }
98
+ catch (err) {
99
+ deps.io.err(`Could not fingerprint an image for safe retry: ${String(err)}`);
100
+ return EXIT.usage;
101
+ }
102
+ const semanticBuild = buildDraft(config, { ...flags, ...(semanticImages.length > 0 ? { image: semanticImages } : {}) }, source.invocation);
103
+ if (!semanticBuild.ok) {
104
+ deps.io.err(semanticBuild.error);
105
+ return EXIT.usage;
106
+ }
107
+ const attempt = beginSendAttempt({
108
+ env: deps.env,
109
+ credential,
110
+ fingerprint: sendDraftFingerprint(semanticBuild.draft, credential),
111
+ retry: flags.retry === true,
112
+ ...(flags.idempotencyKey === undefined ? {} : { idempotencyKey: flags.idempotencyKey }),
113
+ now: (deps.now ?? Date.now)(),
114
+ });
115
+ if (!attempt.ok) {
116
+ deps.io.err(`${attempt.code}: ${attempt.message}`);
117
+ return EXIT.usage;
118
+ }
82
119
  const mediaIds = [];
83
120
  for (const image of flags.image ?? []) {
84
121
  if (image.startsWith('med_')) {
85
122
  mediaIds.push(image);
86
123
  continue;
87
124
  }
88
- const uploaded = await uploadImage(deps, authed.client, image);
125
+ const uploaded = await uploadImage(deps, authed.client, image, config.media_origins.value);
89
126
  if (!uploaded.ok) {
127
+ settleSendAttempt(deps.env, attempt.attemptId);
90
128
  if (uploaded.error !== null)
91
129
  deps.io.err(uploaded.error);
92
130
  return uploaded.exit;
@@ -96,16 +134,19 @@ export async function sendCommand(deps, flags) {
96
134
  flags = { ...flags, image: mediaIds };
97
135
  const build = buildDraft(config, flags, source.invocation);
98
136
  if (!build.ok) {
137
+ settleSendAttempt(deps.env, attempt.attemptId);
99
138
  deps.io.err(build.error);
100
139
  return EXIT.usage;
101
140
  }
102
141
  const capabilities = CAPABILITIES_V1.describe(build.platform);
103
142
  if (!capabilities) {
143
+ settleSendAttempt(deps.env, attempt.attemptId);
104
144
  deps.io.err(`No capability contract is available for ${build.platform}.`);
105
145
  return EXIT.usage;
106
146
  }
107
147
  const validation = validateDraft(build.draft, capabilities);
108
148
  if (!validation.ok) {
149
+ settleSendAttempt(deps.env, attempt.attemptId);
109
150
  for (const issue of validation.errors)
110
151
  deps.io.err(`${issue.path}: ${issue.message}`);
111
152
  return EXIT.usage;
@@ -119,14 +160,38 @@ export async function sendCommand(deps, flags) {
119
160
  deps.io.err('Heads up: this notification ends with a question but has no reply action. Add --reply (and optionally --choice) so it can be answered from the notification.');
120
161
  }
121
162
  const waitSeconds = flags.noWait ? 0 : config.wait_seconds.value;
122
- const idempotencyKey = flags.idempotencyKey ?? `cli-${randomBytes(12).toString('base64url')}`;
163
+ const idempotencyKey = attempt.idempotencyKey;
164
+ // Persist the retry identity before entering the ambiguous network boundary.
165
+ // If the process is killed after the server accepts but before a response,
166
+ // this is the only durable way to reconstruct the same Agent Event key.
167
+ log(deps).info('send.attempt', {
168
+ attempt_id: attempt.attemptId,
169
+ idempotency_key: idempotencyKey,
170
+ replay: attempt.replay,
171
+ });
123
172
  let receipt;
124
173
  try {
125
174
  receipt = await authed.client.submit({ idempotency_key: idempotencyKey, draft: build.draft }, waitSeconds);
126
175
  }
127
176
  catch (err) {
128
- return reportError(deps, err);
177
+ const exit = reportError(deps, err);
178
+ if (exit === EXIT.network) {
179
+ deps.io.err('The server may have accepted this Notification Request before the connection failed. ' +
180
+ 'Re-run the exact semantic send with `--retry`; the CLI will reuse its opaque attempt identity.');
181
+ }
182
+ if (err instanceof ApiCallError && err.code === 'no_active_devices') {
183
+ deps.io.err('After setup succeeds, repeat this exact original Notification Request with `--retry`; ' +
184
+ 'the setup verification request does not replace this Agent Event.');
185
+ }
186
+ if (!(exit === EXIT.network || (err instanceof ApiCallError && err.code === 'no_active_devices'))) {
187
+ settleSendAttempt(deps.env, attempt.attemptId);
188
+ }
189
+ else {
190
+ deps.io.err(`Opaque retry attempt: ${attempt.attemptId}. Re-run the exact semantic send with \`--retry\`; do not retry automatically.`);
191
+ }
192
+ return exit;
129
193
  }
194
+ settleSendAttempt(deps.env, attempt.attemptId);
130
195
  const receiptExit = receiptExitCode(receipt);
131
196
  // The single most useful line in the log: it ties the local invocation to
132
197
  // the server-side request id, which is what every later question about this
@@ -134,7 +199,7 @@ export async function sendCommand(deps, flags) {
134
199
  log(deps).info('send.submitted', {
135
200
  request_id: receipt.request_id,
136
201
  kind: flags.reply ? 'question' : (flags.kind ?? 'update'),
137
- title: flags.title,
202
+ title_chars: flags.title.length,
138
203
  overall: receipt.overall,
139
204
  replayed: receipt.replayed,
140
205
  agent_acknowledgement_required: receipt.agent_acknowledgement_required,
@@ -271,36 +336,67 @@ export async function repliesCommand(deps, requestedId, flags) {
271
336
  return EXIT.usage;
272
337
  }
273
338
  let requestIds = requestedId === undefined ? [] : [requestedId];
339
+ let lifecycleSessionId;
274
340
  if (flags.pending === true) {
275
- const sessionId = readProjectSession(deps.cwd, deps.env, (deps.now ?? Date.now)());
276
- if (sessionId === null) {
341
+ const session = resolveCommandSession(deps);
342
+ if (session === null) {
277
343
  deps.io.err('No active session pointer is available in this directory.');
278
344
  return EXIT.noReply;
279
345
  }
346
+ const sessionId = session.sessionId;
347
+ lifecycleSessionId = sessionId;
280
348
  // Every delivered question in the session's queue, in registration order —
281
349
  // an agent may have several outstanding at once.
282
350
  const state = readSessionState(sessionId, deps.env);
283
- requestIds = (Array.isArray(state.pending) ? state.pending : [])
351
+ const pending = Array.isArray(state.pending) ? state.pending : [];
352
+ requestIds = pending
284
353
  .map((entry) => entry.request_id)
285
354
  .filter((id) => id !== undefined);
355
+ const unsent = pending.filter((entry) => entry.request_id === undefined);
286
356
  if (requestIds.length === 0) {
287
357
  // `--json` is a promise about stdout, and an empty result is still a
288
358
  // result: a caller that asked for machine-readable output must not have
289
359
  // to parse an English sentence to learn there was nothing pending.
290
360
  if (flags.json === true) {
291
- deps.io.out(JSON.stringify({ session_id: sessionId, pending: [], replies: [] }, null, 2));
361
+ deps.io.out(JSON.stringify({
362
+ session_id: sessionId,
363
+ pending: unsent.map((entry) => ({
364
+ question: entry.question,
365
+ ...(entry.question_id === undefined ? {} : { question_id: entry.question_id }),
366
+ })),
367
+ replies: [],
368
+ }, null, 2));
369
+ }
370
+ else if (unsent.length > 0) {
371
+ for (const entry of unsent) {
372
+ deps.io.out(entry.question_id === undefined
373
+ ? `unpushed question: ${entry.question}`
374
+ : `unpushed question ${entry.question_id}: ${entry.question}`);
375
+ }
376
+ deps.io.out('Retire one with `notifai close <question_id>` so a later Stop will not send it.');
292
377
  }
293
378
  else {
294
379
  deps.io.err(`Session ${sessionId} has no pushed question pending.`);
295
380
  }
296
- return EXIT.noReply;
381
+ return unsent.length > 0 ? EXIT.ok : EXIT.noReply;
382
+ }
383
+ if (unsent.length > 0 && flags.json !== true) {
384
+ for (const entry of unsent) {
385
+ deps.io.out(entry.question_id === undefined
386
+ ? `unpushed question: ${entry.question}`
387
+ : `unpushed question ${entry.question_id}: ${entry.question}`);
388
+ }
297
389
  }
298
390
  }
299
391
  if (requestIds.length === 0) {
300
392
  deps.io.err('Pass a request id or --pending.');
301
393
  return EXIT.usage;
302
394
  }
303
- const config = loadLoggedConfig(deps, { cwd: deps.cwd, env: deps.env });
395
+ const config = loadLoggedConfig(deps, {
396
+ cwd: deps.cwd,
397
+ env: deps.env,
398
+ ...(lifecycleSessionId === undefined ? {} : { sessionId: lifecycleSessionId }),
399
+ });
304
400
  const authed = authedClient(deps, config);
305
401
  if (!authed)
306
402
  return EXIT.auth;
@@ -433,8 +529,8 @@ function recordReplies(deps, requestId, replies) {
433
529
  request_id: requestId,
434
530
  sequence: reply.seq,
435
531
  device: reply.device_name,
436
- text: reply.text,
437
- answers: reply.answers,
532
+ text_chars: reply.text.length,
533
+ answers_count: reply.answers?.length ?? 0,
438
534
  source: reply.source,
439
535
  });
440
536
  }
@@ -485,11 +581,12 @@ export async function statusCommand(deps, requestId, flags) {
485
581
  return EXIT.auth;
486
582
  try {
487
583
  const snapshot = await authed.client.evidence(requestId);
584
+ recordObservedDeliveryProof(deps, snapshot, setupProofProject(deps, config.project.value));
488
585
  if (flags.json) {
489
586
  deps.io.out(JSON.stringify(snapshot, null, 2));
490
587
  return EXIT.ok;
491
588
  }
492
- deps.io.out(`request ${snapshot.request_id} (${snapshot.event ?? 'no event'}) — ${snapshot.overall}`);
589
+ deps.io.out(`request ${snapshot.request_id} — ${snapshot.overall}`);
493
590
  let anyReplyReceived = false;
494
591
  for (const d of snapshot.deliveries) {
495
592
  deps.io.out(` ${d.device_name}:`);