@oddington/cli 0.1.28 → 0.1.30

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 (3) hide show
  1. package/README.md +66 -1
  2. package/dist/os.js +182 -171
  3. package/package.json +1 -1
package/README.md CHANGED
@@ -252,6 +252,38 @@ Airtable expects:
252
252
  Creating a connection verifies access before saving it. It does not grant
253
253
  anyone permission to use it.
254
254
 
255
+ Outlook and SharePoint are separate connections for one mailbox or site. Both
256
+ require tenant and application IDs, declared access, and protected credential
257
+ JSON from stdin:
258
+
259
+ ```sh
260
+ credential-source | os connection create outlook \
261
+ --workspace <workspace> \
262
+ --name accounts-payable \
263
+ --tenant-id <tenant-id> \
264
+ --client-id <client-id> \
265
+ --mailbox-email invoices@example.test \
266
+ --access read \
267
+ --credentials-stdin
268
+
269
+ credential-source | os connection create sharepoint \
270
+ --workspace <workspace> \
271
+ --name operations \
272
+ --tenant-id <tenant-id> \
273
+ --client-id <client-id> \
274
+ --site-url https://example.sharepoint.com/sites/Operations \
275
+ --access read-write \
276
+ --credentials-stdin
277
+ ```
278
+
279
+ Each expects an object containing only `clientSecret`. The entire UTF-8 stdin
280
+ input must fit within 4,096 bytes. The secret never belongs in command arguments.
281
+ Outlook accepts only `read`; SharePoint accepts `read` or `read-write`. OS resolves
282
+ the SharePoint site ID during verification; callers cannot supply it.
283
+ The Entra application's Microsoft permissions and site or mailbox grants must
284
+ already be configured upstream. V0 manages and verifies these connections;
285
+ it does not provide Microsoft routine operations or SharePoint File storage.
286
+
255
287
  ### Test a connection
256
288
 
257
289
  ```sh
@@ -271,6 +303,13 @@ Gmail verification checks the configured account and scopes without reading
271
303
  messages. Airtable verification makes a read-only schema request; it does not
272
304
  prove that the credential can write records.
273
305
 
306
+ Outlook testing reads only the configured mailbox's inbox folder identity,
307
+ without reading messages or attachments. SharePoint testing resolves the site
308
+ URL to its saved ID and reads that site. Success establishes readable access
309
+ only, including when declared access is `read-write`; it does not prove write
310
+ access or the absence of broader Microsoft access. Inspect shows the complete
311
+ public configuration, including the verified SharePoint site ID.
312
+
274
313
  ### Grant and use a connection
275
314
 
276
315
  Use `os whoami` to find your user ID, then grant access explicitly:
@@ -308,6 +347,13 @@ To rotate Gmail or Airtable credentials, repeat the matching `create` command
308
347
  with the same name and external account or base. The new credentials are tested
309
348
  before replacing the old ones.
310
349
 
350
+ For Outlook or SharePoint, repeat the matching `create` command with the same
351
+ provider and name and fresh credential stdin. Successful verification replaces
352
+ the credential while preserving the connection ID and history; failure leaves
353
+ the prior connection intact. Disconnect removes that connection's protected
354
+ credential without changing Microsoft permissions or other connections using
355
+ the same secret. Reconnecting requires fresh verified credentials.
356
+
311
357
  To stop new use of a connection:
312
358
 
313
359
  ```sh
@@ -425,7 +471,26 @@ is required unless an authored item declares executable handlers. JSON input
425
471
  is validated before business work; its file/stdin path is transport, not input.
426
472
  Omitted input is `{}`. Each JSON value is bounded to 256 KiB.
427
473
 
428
- Before execution, the command names installed connections and explains that
474
+ To execute the active deployed version on OS, use:
475
+
476
+ ```sh
477
+ os routine run invoice-import --remote --input input.json
478
+ os routine run invoice-import --remote --input - --json
479
+ os routine cancel <run> --json
480
+ ```
481
+
482
+ Remote start reads only worktree identity and business input. It neither uploads
483
+ local source nor creates a local captured change set. It reports the accepted
484
+ Run's `id`, `state` and inspection URL, then returns; disconnecting does not cancel
485
+ the Run. OS-owned changes apply during execution and need no publish command.
486
+ Uncertain acknowledgements retry the same start key and input. If recovery is
487
+ still unavailable, output retains `startKey` and warns that OS may have accepted
488
+ the action; repeating the command deliberately requests another Run. Cancellation
489
+ resolves the Run through current workspace membership, works outside a checkout,
490
+ and reports the recorded state while OS stops execution. Neither command accepts
491
+ workspace, version, command, environment or authority overrides.
492
+
493
+ Before local execution, the command names installed connections and explains that
429
494
  local filesystem changes, model calls and provider effects happen immediately.
430
495
  Only Record, File, Ask and Digest changes stay local for review. The child
431
496
  receives temporary installed authority, which is revoked when execution ends.