surface-cli 0.1.1 → 0.3.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 (41) hide show
  1. package/README.md +42 -15
  2. package/dist/cli.js +236 -21
  3. package/dist/cli.js.map +1 -1
  4. package/dist/config.js +2 -2
  5. package/dist/config.js.map +1 -1
  6. package/dist/contracts/account.js +8 -0
  7. package/dist/contracts/account.js.map +1 -1
  8. package/dist/e2e/gmail-v1.js +31 -0
  9. package/dist/e2e/gmail-v1.js.map +1 -1
  10. package/dist/e2e/outlook-v1.js +11 -0
  11. package/dist/e2e/outlook-v1.js.map +1 -1
  12. package/dist/lib/remote-auth.js +18 -2
  13. package/dist/lib/remote-auth.js.map +1 -1
  14. package/dist/lib/stored-mail.js +69 -0
  15. package/dist/lib/stored-mail.js.map +1 -0
  16. package/dist/paths.js +2 -0
  17. package/dist/paths.js.map +1 -1
  18. package/dist/providers/gmail/adapter.js +336 -53
  19. package/dist/providers/gmail/adapter.js.map +1 -1
  20. package/dist/providers/gmail/api.js +68 -0
  21. package/dist/providers/gmail/api.js.map +1 -1
  22. package/dist/providers/gmail/normalize.js.map +1 -1
  23. package/dist/providers/gmail/oauth.js +4 -0
  24. package/dist/providers/gmail/oauth.js.map +1 -1
  25. package/dist/providers/outlook/adapter.js +185 -97
  26. package/dist/providers/outlook/adapter.js.map +1 -1
  27. package/dist/providers/outlook/extract.js +7 -0
  28. package/dist/providers/outlook/extract.js.map +1 -1
  29. package/dist/providers/shared/inline-attachments.js +17 -0
  30. package/dist/providers/shared/inline-attachments.js.map +1 -0
  31. package/dist/refs.js +3 -0
  32. package/dist/refs.js.map +1 -1
  33. package/dist/session-daemon.js +218 -0
  34. package/dist/session-daemon.js.map +1 -0
  35. package/dist/session.js +283 -0
  36. package/dist/session.js.map +1 -0
  37. package/dist/state/database.js +542 -8
  38. package/dist/state/database.js.map +1 -1
  39. package/dist/summarizer.js +259 -76
  40. package/dist/summarizer.js.map +1 -1
  41. package/package.json +1 -1
package/README.md CHANGED
@@ -12,6 +12,7 @@ Top-level groups:
12
12
 
13
13
  - `surface account`
14
14
  - `surface auth`
15
+ - `surface session`
15
16
  - `surface mail`
16
17
  - `surface attachment`
17
18
  - `surface cache`
@@ -19,16 +20,26 @@ Top-level groups:
19
20
  Current command surface:
20
21
 
21
22
  ```bash
22
- surface account add work --provider gmail --transport gmail-api --email me@company.com
23
- surface account add school --provider outlook --transport outlook-web-playwright --email me@school.edu
23
+ surface account add work --provider gmail --email me@company.com
24
+ surface account add school --provider outlook --email me@school.edu
25
+ surface account identity set school --name "Your Name" --name-alias "FirstName"
26
+ surface account identity show school
24
27
 
25
28
  surface auth login work
26
29
  surface auth status
27
30
  surface auth logout school
28
31
 
32
+ surface session start --account school
33
+ surface session list
34
+ surface session stop sess_01...
35
+
29
36
  surface mail fetch-unread --account work --limit 25
30
- surface mail search --account work --text invoice --limit 10
31
- surface mail read msg_01...
37
+ surface mail fetch-unread --account school --session sess_01... --limit 25
38
+ surface mail search --account work --text invoice --subject overdue --limit 10
39
+ surface mail search --account school --session sess_01... --from billing@vendor.com --limit 10
40
+ surface mail search --account work --from billing@vendor.com --mailbox inbox --label unread --limit 10
41
+ surface mail thread get thr_01... --refresh --session sess_01...
42
+ surface mail read msg_01... --refresh --session sess_01...
32
43
  surface mail send --account school --to me@example.com --subject "hello" --body "test"
33
44
  surface mail send --account school --to me@example.com --subject "hello" --body "test" --draft
34
45
  surface mail reply msg_01... --body "Thanks"
@@ -50,10 +61,13 @@ surface cache clear --account work
50
61
  - `fetch-unread` is the public command name.
51
62
  - Threads are the top-level result unit.
52
63
  - Messages are elements within a thread.
64
+ - `thread get` takes a stable `thread_ref`.
53
65
  - `read` takes a stable `message_ref`.
54
66
  - Attachment download is separate from `read`.
55
67
  - Machine-facing commands emit JSON on stdout.
56
68
  - SQLite is the local source of truth for refs and cache metadata.
69
+ - Account-owner identity is stored in SQLite and used so summaries can interpret `needs_action`
70
+ from the selected account owner's perspective.
57
71
 
58
72
  See the source-of-truth docs for the exact contracts:
59
73
 
@@ -72,15 +86,16 @@ The repo now contains a working TypeScript scaffold under `src/`:
72
86
  - adapter registry for `gmail-api` and `outlook-web-playwright`
73
87
  - donor normalization utilities ported from the legacy Surface repo for Gmail and Outlook
74
88
  - Gmail OAuth login wired to Google desktop-app OAuth with stored refresh tokens under `~/.surface-cli/auth/<account_id>/gmail-token.json`
75
- - live Gmail `fetch-unread`, `search`, `read`, `attachment list`, `attachment download`, `send`, `reply`, `reply-all`, `forward`, `archive`, `mark-read`, `mark-unread`, and `--draft` on send-like actions
89
+ - live Gmail `fetch-unread`, structured `search`, `thread get`, `read`, `attachment list`, `attachment download`, `send`, `reply`, `reply-all`, `forward`, `archive`, `mark-read`, `mark-unread`, `rsvp`, and `--draft` on send-like actions
76
90
  - Outlook Playwright auth lifecycle wired to persistent profiles under `~/.surface-cli/auth/<account_id>/profile`
77
- - live Outlook `fetch-unread`, `search`, `read`, `attachment list`, `attachment download`, `send`, `reply`, `reply-all`, `forward`, `archive`, `mark-read`, `mark-unread`, `rsvp`, and `--draft` on send-like actions
78
- - summary backends for `openrouter` and `openclaw`
91
+ - live Outlook `fetch-unread`, structured `search`, `thread get`, `read`, `attachment list`, `attachment download`, `send`, `reply`, `reply-all`, `forward`, `archive`, `mark-read`, `mark-unread`, `rsvp`, and `--draft` on send-like actions
92
+ - explicit warm session ids for Outlook read-path chaining (`session start/list/stop`, plus `--session` on `search`, `fetch-unread`, `thread get --refresh`, and `read`)
93
+ - summary backends for `openrouter` and `openclaw`, with `openai/gpt-5.4-mini` as the default
94
+ OpenRouter summarizer model when summarization is enabled
79
95
  - lean opt-in Outlook v1 and Gmail v1 live e2e coverage via `npm run e2e:outlook-v1` and `npm run e2e:gmail-v1`
80
96
 
81
97
  What is still intentionally incomplete:
82
98
 
83
- - Gmail RSVP
84
99
  - draft lifecycle commands
85
100
  - move / delete
86
101
  - broader automated coverage beyond the opt-in provider v1 e2e scripts and cache-prune policy
@@ -107,6 +122,9 @@ The correct split is:
107
122
  - `~/.surface-cli/config.toml` is auto-created on first run and stores local policy only
108
123
  such as summarizer and write-safety settings
109
124
  - account registry and auth state do not live in `config.toml`
125
+ - existing config files are not rewritten on upgrade; if an older config names
126
+ `summarizer_model = "openai/gpt-4o-mini"`, change it to
127
+ `summarizer_model = "openai/gpt-5.4-mini"` for the current recommended default
110
128
 
111
129
  ### Install Surface
112
130
 
@@ -136,23 +154,27 @@ Typical flow:
136
154
 
137
155
  1. install Surface on that machine
138
156
  2. add accounts there
139
- 3. run `surface auth login <account>` there
140
- 4. use that same machine for normal `surface mail ...` commands
157
+ 3. optionally set account-owner name/aliases with `surface account identity set <account> ...`
158
+ 4. run `surface auth login <account>` there
159
+ 5. use that same machine for normal `surface mail ...` commands
141
160
 
142
161
  Gmail:
143
162
 
144
163
  - place a Google desktop OAuth client secret at `./client_secret.json` or set
145
164
  `SURFACE_GMAIL_CLIENT_SECRET_FILE`
146
165
  - add the account first:
147
- - `surface account add personal --provider gmail --transport gmail-api --email you@example.com`
166
+ - `surface account add personal --provider gmail --email you@example.com`
148
167
  - run:
149
168
  - `surface auth login personal`
169
+ - Gmail auth verifies the mailbox email and updates account-owner identity automatically.
150
170
 
151
171
  For Outlook auth:
152
172
 
153
173
  - `surface auth login <account>` opens Chrome against the account profile directory
154
174
  - `surface auth status [account]` probes Outlook headlessly and reports whether the profile lands in the mailbox or a sign-in flow
155
175
  - `surface auth logout <account>` clears the stored Outlook profile for that account
176
+ - if the Outlook account email is opaque or placeholder-like, set identity explicitly:
177
+ - `surface account identity set uni --email you@school.edu --name "Your Name" --name-alias "FirstName"`
156
178
 
157
179
  ### Headless Remote Setup
158
180
 
@@ -162,6 +184,8 @@ In this mode:
162
184
 
163
185
  - install Surface on the remote machine first
164
186
  - add accounts on the remote machine first
187
+ - set account-owner identity on the remote machine when the mailbox address is opaque or
188
+ placeholder-like
165
189
  - the remote machine is the source of truth for all Surface state
166
190
  - install Surface locally too if you want to use `--remote-host` auth helpers
167
191
  - `--remote-host` assumes the named account already exists on the remote machine
@@ -173,7 +197,7 @@ In this mode:
173
197
 
174
198
  The remote host is the real Surface runtime. Your local machine is only a browser helper.
175
199
 
176
- 1. on the remote host, install Surface and add the Gmail account
200
+ 1. on the remote host, install Surface, add the Gmail account, and optionally set identity aliases
177
201
  2. on the local machine, ensure `surface` is installed too
178
202
  3. on the local machine, run:
179
203
 
@@ -184,7 +208,10 @@ surface auth login <gmail-account> --remote-host <ssh-host>
184
208
  What happens:
185
209
 
186
210
  - Surface starts SSH port forwarding first
211
+ - Surface reuses the remote account's stored `client_secret.json` when present
187
212
  - Surface runs the Gmail OAuth listener on the remote host
213
+ - if the remote host does not already have Gmail OAuth client credentials stored for that account,
214
+ Surface falls back to a local `client_secret.json` or `SURFACE_GMAIL_CLIENT_SECRET_FILE`
188
215
  - you open the Google auth URL locally
189
216
  - the OAuth callback is forwarded back to the remote host
190
217
  - the refresh token is stored on the remote host under `~/.surface-cli/auth/<account_id>/`
@@ -194,7 +221,7 @@ What happens:
194
221
  The remote host is again the real Surface runtime. Your local machine is only an auth/bootstrap
195
222
  helper.
196
223
 
197
- 1. on the remote host, install Surface and add the Outlook account
224
+ 1. on the remote host, install Surface, add the Outlook account, and set identity aliases if needed
198
225
  2. on the local machine, ensure `surface` is installed too
199
226
  3. on the local machine, run:
200
227
 
@@ -295,8 +322,8 @@ clawhub login
295
322
  clawhub publish ./skills/surface-cli \
296
323
  --slug surface-cli \
297
324
  --name "Surface CLI" \
298
- --version 0.1.0 \
299
- --changelog "Initial Surface CLI skill release"
325
+ --version <version> \
326
+ --changelog "<release notes>"
300
327
  ```
301
328
 
302
329
  Before publishing, verify the package payload:
package/dist/cli.js CHANGED
@@ -2,14 +2,16 @@
2
2
  import { Command, Option } from "commander";
3
3
  import { statSync, existsSync, readdirSync, rmSync } from "node:fs";
4
4
  import { join } from "node:path";
5
- import { accountInputSchema } from "./contracts/account.js";
5
+ import { accountIdentityInputSchema, accountInputSchema, providerSchema } from "./contracts/account.js";
6
6
  import { SurfaceError, errorToEnvelope } from "./lib/errors.js";
7
7
  import { writeJson } from "./lib/json.js";
8
8
  import { toPublicThread } from "./lib/public-mail.js";
9
9
  import { runRemoteAuthLogin } from "./lib/remote-auth.js";
10
+ import { loadStoredThread, threadHasReadableCache } from "./lib/stored-mail.js";
10
11
  import { nowIsoUtc } from "./lib/time.js";
11
12
  import { resolveProviderAdapter } from "./providers/index.js";
12
13
  import { createAccountRuntimeContext, createRuntimeContext } from "./runtime.js";
14
+ import { DEFAULT_SESSION_IDLE_TIMEOUT_SECONDS, DEFAULT_SESSION_MAX_AGE_SECONDS, listWarmSessions, sessionFetchUnread, sessionReadMessage, sessionRefreshThread, sessionSearch, sessionStartEnvelope, startWarmSession, stopWarmSession, } from "./session.js";
13
15
  function positiveInt(value) {
14
16
  const parsed = Number.parseInt(value, 10);
15
17
  if (!Number.isFinite(parsed) || parsed <= 0) {
@@ -20,6 +22,26 @@ function positiveInt(value) {
20
22
  function collectStringOption(value, previous = []) {
21
23
  return [...previous, value];
22
24
  }
25
+ function normalizeOptionalString(value) {
26
+ if (typeof value !== "string") {
27
+ return undefined;
28
+ }
29
+ const normalized = value.trim();
30
+ return normalized.length > 0 ? normalized : undefined;
31
+ }
32
+ function resolveAccountAddTransport(providerValue, transportValue) {
33
+ const explicitTransport = normalizeOptionalString(transportValue);
34
+ if (explicitTransport) {
35
+ return explicitTransport;
36
+ }
37
+ const provider = providerSchema.parse(providerValue);
38
+ switch (provider) {
39
+ case "gmail":
40
+ return "gmail-api";
41
+ case "outlook":
42
+ return "outlook-web-playwright";
43
+ }
44
+ }
23
45
  function directorySizeBytes(rootPath) {
24
46
  if (!existsSync(rootPath)) {
25
47
  return 0;
@@ -96,6 +118,23 @@ async function runMessageBatchAction(options, messageRefs, action) {
96
118
  await action(createAccountRuntimeContext(context, account), resolved);
97
119
  });
98
120
  }
121
+ async function runThreadAction(options, threadRef, action) {
122
+ await runAction(options, async (context) => {
123
+ const resolved = context.db.findThreadByRef(threadRef);
124
+ if (!resolved) {
125
+ throw new SurfaceError("not_found", `Thread '${threadRef}' was not found.`, {
126
+ threadRef,
127
+ });
128
+ }
129
+ const account = context.db.findAccountById(resolved.account_id);
130
+ if (!account) {
131
+ throw new SurfaceError("not_found", `Account for thread '${threadRef}' was not found.`, {
132
+ threadRef,
133
+ });
134
+ }
135
+ await action(createAccountRuntimeContext(context, account), resolved);
136
+ });
137
+ }
99
138
  const program = new Command();
100
139
  program
101
140
  .name("surface")
@@ -107,14 +146,14 @@ accountCommand
107
146
  .command("add")
108
147
  .argument("<name>", "Logical account name, for example work or personal")
109
148
  .requiredOption("--provider <provider>", "Provider family, for example gmail or outlook")
110
- .requiredOption("--transport <transport>", "Transport name, for example gmail-api")
149
+ .option("--transport <transport>", "Transport name, defaults from provider")
111
150
  .requiredOption("--email <email>", "Primary mailbox email address")
112
151
  .action(async (name, options, command) => {
113
152
  await runAction(command.optsWithGlobals(), (context) => {
114
153
  const parsed = accountInputSchema.parse({
115
154
  name,
116
155
  provider: options.provider,
117
- transport: options.transport,
156
+ transport: resolveAccountAddTransport(options.provider, options.transport),
118
157
  email: options.email,
119
158
  });
120
159
  const account = context.db.upsertAccount(parsed);
@@ -134,6 +173,55 @@ accountCommand.command("list").action(async (_options, command) => {
134
173
  });
135
174
  });
136
175
  });
176
+ const accountIdentityCommand = accountCommand.command("identity").description("Manage account-owner identity used by summaries.");
177
+ accountIdentityCommand
178
+ .command("show")
179
+ .argument("<account>", "Logical account name")
180
+ .action(async (accountName, _options, command) => {
181
+ await runAccountAction(command.optsWithGlobals(), accountName, async (context) => {
182
+ writeJson({
183
+ schema_version: "1",
184
+ command: "account-identity-show",
185
+ account: context.account.name,
186
+ identity: context.db.getAccountIdentity(context.account),
187
+ });
188
+ });
189
+ });
190
+ accountIdentityCommand
191
+ .command("set")
192
+ .argument("<account>", "Logical account name")
193
+ .option("--email <email>", "Primary mailbox email for this account owner")
194
+ .option("--name <name>", "Display name for this account owner")
195
+ .option("--email-alias <email>", "Additional email alias for this account owner", collectStringOption, [])
196
+ .option("--name-alias <name>", "Additional name or handle for this account owner", collectStringOption, [])
197
+ .option("--clear-email-aliases", "Replace existing email aliases instead of appending", false)
198
+ .option("--clear-name-aliases", "Replace existing name aliases instead of appending", false)
199
+ .action(async (accountName, options, command) => {
200
+ await runAccountAction(command.optsWithGlobals(), accountName, async (context) => {
201
+ const input = accountIdentityInputSchema.parse({
202
+ primary_email: normalizeOptionalString(options.email),
203
+ display_name: normalizeOptionalString(options.name),
204
+ email_aliases: options.emailAlias ?? [],
205
+ name_aliases: options.nameAlias ?? [],
206
+ clear_email_aliases: Boolean(options.clearEmailAliases),
207
+ clear_name_aliases: Boolean(options.clearNameAliases),
208
+ });
209
+ if (!input.primary_email
210
+ && !input.display_name
211
+ && (input.email_aliases ?? []).length === 0
212
+ && (input.name_aliases ?? []).length === 0
213
+ && !input.clear_email_aliases
214
+ && !input.clear_name_aliases) {
215
+ throw new SurfaceError("invalid_argument", "Provide at least one of --email, --name, --email-alias, --name-alias, --clear-email-aliases, or --clear-name-aliases.", { account: context.account.name });
216
+ }
217
+ writeJson({
218
+ schema_version: "1",
219
+ command: "account-identity-set",
220
+ account: context.account.name,
221
+ identity: context.db.updateAccountIdentityFromUser(context.account, input),
222
+ });
223
+ });
224
+ });
137
225
  accountCommand
138
226
  .command("remove")
139
227
  .argument("<name>", "Logical account name")
@@ -232,30 +320,112 @@ authCommand
232
320
  });
233
321
  });
234
322
  });
323
+ const sessionCommand = program.command("session").description("Manage warm provider sessions.");
324
+ sessionCommand
325
+ .command("start")
326
+ .requiredOption("--account <account>", "Logical account name")
327
+ .addOption(new Option("--idle-timeout <seconds>", "Idle timeout in seconds")
328
+ .argParser(positiveInt)
329
+ .default(DEFAULT_SESSION_IDLE_TIMEOUT_SECONDS))
330
+ .addOption(new Option("--max-age <seconds>", "Maximum session age in seconds")
331
+ .argParser(positiveInt)
332
+ .default(DEFAULT_SESSION_MAX_AGE_SECONDS))
333
+ .action(async (options, command) => {
334
+ await runAccountAction(command.optsWithGlobals(), options.account, async (context) => {
335
+ const session = await startWarmSession(context, context.account, {
336
+ idleTimeoutSeconds: options.idleTimeout,
337
+ maxAgeSeconds: options.maxAge,
338
+ });
339
+ writeJson(sessionStartEnvelope(session, context.account));
340
+ });
341
+ });
342
+ sessionCommand.command("list").action(async (_options, command) => {
343
+ await runAction(command.optsWithGlobals(), (context) => {
344
+ writeJson({
345
+ schema_version: "1",
346
+ command: "session-list",
347
+ generated_at: nowIsoUtc(),
348
+ sessions: listWarmSessions(context).map((session) => ({
349
+ session_id: session.session_id,
350
+ account: session.account_name,
351
+ provider: session.provider,
352
+ transport: session.transport,
353
+ status: session.status,
354
+ created_at: session.created_at,
355
+ last_used_at: session.last_used_at,
356
+ idle_timeout_seconds: session.idle_timeout_seconds,
357
+ max_age_seconds: session.max_age_seconds,
358
+ expires_at: session.expires_at,
359
+ ...(session.error_detail ? { error_detail: session.error_detail } : {}),
360
+ })),
361
+ });
362
+ });
363
+ });
364
+ sessionCommand
365
+ .command("stop")
366
+ .argument("<session_id>", "Warm session id")
367
+ .action(async (sessionId, _options, command) => {
368
+ await runAction(command.optsWithGlobals(), async (context) => {
369
+ const stopped = await stopWarmSession(context, sessionId);
370
+ const account = context.db.findAccountById(stopped.account_id);
371
+ writeJson({
372
+ schema_version: "1",
373
+ command: "session-stop",
374
+ generated_at: nowIsoUtc(),
375
+ session: {
376
+ session_id: stopped.session_id,
377
+ account: account?.name ?? null,
378
+ provider: stopped.provider,
379
+ transport: stopped.transport,
380
+ status: stopped.status,
381
+ created_at: stopped.created_at,
382
+ last_used_at: stopped.last_used_at,
383
+ idle_timeout_seconds: stopped.idle_timeout_seconds,
384
+ max_age_seconds: stopped.max_age_seconds,
385
+ closed_at: stopped.closed_at,
386
+ },
387
+ });
388
+ });
389
+ });
235
390
  const mailCommand = program.command("mail").description("Search, fetch, and read mail.");
236
391
  mailCommand
237
392
  .command("search")
238
393
  .requiredOption("--account <account>", "Logical account name")
239
- .requiredOption("--text <query>", "Free-text search query")
394
+ .option("--session <session_id>", "Use a warm session id")
395
+ .option("--text <query>", "Free-text search query")
396
+ .option("--from <sender>", "Sender filter")
397
+ .option("--subject <subject>", "Subject filter")
398
+ .option("--mailbox <mailbox>", "Mailbox filter")
399
+ .option("--label <label>", "Label filter", collectStringOption, [])
240
400
  .addOption(new Option("--limit <limit>", "Max results to return").argParser(positiveInt))
241
401
  .action(async (options, command) => {
242
402
  await runAccountAction(command.optsWithGlobals(), options.account, async (context) => {
243
- const adapter = resolveProviderAdapter(context.account);
244
- const threads = await adapter.search(context.account, {
245
- text: options.text,
403
+ const labels = options.label?.map((label) => label.trim()).filter(Boolean) ?? [];
404
+ const text = normalizeOptionalString(options.text);
405
+ const from = normalizeOptionalString(options.from);
406
+ const subject = normalizeOptionalString(options.subject);
407
+ const mailbox = normalizeOptionalString(options.mailbox);
408
+ const query = {
409
+ ...(text ? { text } : {}),
410
+ ...(from ? { from } : {}),
411
+ ...(subject ? { subject } : {}),
412
+ ...(mailbox ? { mailbox } : {}),
413
+ ...(labels.length > 0 ? { labels } : {}),
246
414
  limit: options.limit ?? context.config.defaultResultLimit,
247
415
  unread_only: false,
248
- }, context);
416
+ };
417
+ if (!query.text && !query.from && !query.subject && !query.mailbox && !query.labels) {
418
+ throw new SurfaceError("invalid_argument", "Search requires at least one of --text, --from, --subject, --mailbox, or --label.", { account: context.account.name });
419
+ }
420
+ const threads = options.session
421
+ ? await sessionSearch(context, options.session, query)
422
+ : await resolveProviderAdapter(context.account).search(context.account, query, context);
249
423
  writeJson({
250
424
  schema_version: "1",
251
425
  command: "search",
252
426
  generated_at: nowIsoUtc(),
253
427
  account: context.account.name,
254
- query: {
255
- text: options.text,
256
- limit: options.limit ?? context.config.defaultResultLimit,
257
- unread_only: false,
258
- },
428
+ query,
259
429
  threads: threads.map(toPublicThread),
260
430
  });
261
431
  });
@@ -263,39 +433,84 @@ mailCommand
263
433
  mailCommand
264
434
  .command("fetch-unread")
265
435
  .requiredOption("--account <account>", "Logical account name")
436
+ .option("--session <session_id>", "Use a warm session id")
266
437
  .addOption(new Option("--limit <limit>", "Max threads to return").argParser(positiveInt))
267
438
  .action(async (options, command) => {
268
439
  await runAccountAction(command.optsWithGlobals(), options.account, async (context) => {
269
- const adapter = resolveProviderAdapter(context.account);
270
- const threads = await adapter.fetchUnread(context.account, {
440
+ const query = {
271
441
  limit: options.limit ?? context.config.defaultResultLimit,
272
442
  unread_only: true,
273
- }, context);
443
+ };
444
+ const threads = options.session
445
+ ? await sessionFetchUnread(context, options.session, query)
446
+ : await resolveProviderAdapter(context.account).fetchUnread(context.account, query, context);
274
447
  writeJson({
275
448
  schema_version: "1",
276
449
  command: "fetch-unread",
277
450
  generated_at: nowIsoUtc(),
278
451
  account: context.account.name,
279
- query: {
280
- limit: options.limit ?? context.config.defaultResultLimit,
281
- unread_only: true,
282
- },
452
+ query,
283
453
  threads: threads.map(toPublicThread),
284
454
  });
285
455
  });
286
456
  });
457
+ mailCommand
458
+ .command("thread")
459
+ .description("Inspect thread state.")
460
+ .command("get")
461
+ .argument("<thread_ref>", "Stable thread ref")
462
+ .option("--session <session_id>", "Use a warm session id when a live refresh is needed")
463
+ .option("--refresh", "Bypass local cache and fetch live", false)
464
+ .action(async (threadRef, options, command) => {
465
+ await runThreadAction(command.optsWithGlobals(), threadRef, async (context) => {
466
+ const adapter = resolveProviderAdapter(context.account);
467
+ let cacheStatus = "hit";
468
+ if (Boolean(options.refresh) || !threadHasReadableCache(context.db, threadRef)) {
469
+ if (options.session) {
470
+ await sessionRefreshThread(context, options.session, threadRef);
471
+ }
472
+ else {
473
+ await adapter.refreshThread(context.account, threadRef, context);
474
+ }
475
+ cacheStatus = "refreshed";
476
+ }
477
+ const thread = loadStoredThread(context.db, context.account, threadRef);
478
+ if (!thread) {
479
+ throw new SurfaceError("not_found", `Thread '${threadRef}' was not found.`, {
480
+ account: context.account.name,
481
+ threadRef,
482
+ });
483
+ }
484
+ writeJson({
485
+ schema_version: "1",
486
+ command: "thread-get",
487
+ account: context.account.name,
488
+ thread_ref: threadRef,
489
+ cache: {
490
+ status: cacheStatus,
491
+ },
492
+ thread,
493
+ });
494
+ });
495
+ });
287
496
  mailCommand
288
497
  .command("read")
289
498
  .argument("<message_ref>", "Stable message ref")
499
+ .option("--session <session_id>", "Use a warm session id")
290
500
  .option("--refresh", "Bypass local cache and fetch live", false)
291
501
  .option("--mark-read", "Mark the message as read after resolving the ref", false)
292
502
  .action(async (messageRef, options, command) => {
293
503
  await runMessageAction(command.optsWithGlobals(), messageRef, async (context) => {
294
504
  const adapter = resolveProviderAdapter(context.account);
505
+ if (options.session && Boolean(options.markRead)) {
506
+ throw new SurfaceError("invalid_argument", "--session is not supported together with --mark-read in v1.", { account: context.account.name, messageRef });
507
+ }
295
508
  if (Boolean(options.markRead)) {
296
509
  await adapter.markRead(context.account, [messageRef], context);
297
510
  }
298
- writeJson(await adapter.readMessage(context.account, messageRef, Boolean(options.refresh), context));
511
+ writeJson(options.session
512
+ ? await sessionReadMessage(context, options.session, messageRef, Boolean(options.refresh))
513
+ : await adapter.readMessage(context.account, messageRef, Boolean(options.refresh), context));
299
514
  });
300
515
  });
301
516
  mailCommand
package/dist/cli.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"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"}
package/dist/config.js CHANGED
@@ -41,7 +41,7 @@ function defaultConfigTemplate() {
41
41
  "provider_timeout_ms = 30000",
42
42
  "summary_input_max_bytes = 16384",
43
43
  "summarizer_backend = \"none\"",
44
- "summarizer_model = \"openai/gpt-4o-mini\"",
44
+ "summarizer_model = \"openai/gpt-5.4-mini\"",
45
45
  "summarizer_timeout_ms = 20000",
46
46
  "writes_enabled = false",
47
47
  "send_mode = \"draft_only\"",
@@ -130,7 +130,7 @@ export function loadConfig(options = {}) {
130
130
  summarizerModel: process.env.SURFACE_SUMMARIZER_MODEL ??
131
131
  fileConfig.summarizer?.model ??
132
132
  fileConfig.summarizer_model ??
133
- "openai/gpt-4o-mini",
133
+ "openai/gpt-5.4-mini",
134
134
  summaryInputMaxBytes: envInt("SURFACE_SUMMARY_INPUT_MAX_BYTES") ??
135
135
  fileConfig.summary_input_max_bytes ??
136
136
  16_384,