ask-marcel-office-cli 0.5.5 → 1.0.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 (181) hide show
  1. package/CHANGELOG.md +92 -0
  2. package/README.md +275 -74
  3. package/dist/cli.js +96882 -14770
  4. package/dist/commands.json +5365 -489
  5. package/dist/composition/build-deps.d.ts +1 -0
  6. package/dist/composition/cli.d.ts +2 -0
  7. package/dist/index.js +94720 -13245
  8. package/dist/infra/auth.d.ts +31 -3
  9. package/dist/infra/browser-auth.d.ts +98 -1
  10. package/dist/infra/graph-client.d.ts +61 -2
  11. package/dist/infra/mammoth-adapter.d.ts +4 -0
  12. package/dist/infra/sheetjs-adapter.d.ts +9 -0
  13. package/dist/infra/turndown-adapter.d.ts +4 -0
  14. package/dist/presenter/output-text.d.ts +2 -0
  15. package/dist/presenter/output.d.ts +4 -2
  16. package/dist/use-cases/commands/build-command.d.ts +45 -1
  17. package/dist/use-cases/commands/command-types.d.ts +97 -3
  18. package/dist/use-cases/commands/convert-mail-attachment-to-markdown.d.ts +11 -0
  19. package/dist/use-cases/commands/convert-mail-attachment-to-pdf.d.ts +11 -0
  20. package/dist/use-cases/commands/convert-mail-to-markdown.d.ts +10 -0
  21. package/dist/use-cases/commands/docs-render.d.ts +7 -0
  22. package/dist/use-cases/commands/docx-to-markdown.d.ts +11 -0
  23. package/dist/use-cases/commands/download-drive-item-as-markdown.d.ts +11 -0
  24. package/dist/use-cases/commands/download-drive-item-as-pdf.d.ts +11 -0
  25. package/dist/use-cases/commands/download-drive-item-version-as-markdown.d.ts +12 -0
  26. package/dist/use-cases/commands/download-drive-item-version-as-pdf.d.ts +12 -0
  27. package/dist/use-cases/commands/download-onedrive-file-content.d.ts +2 -2
  28. package/dist/use-cases/commands/embedded-item-to-markdown.d.ts +59 -0
  29. package/dist/use-cases/commands/excel-error.d.ts +6 -0
  30. package/dist/use-cases/commands/extract-sharepoint-links-in-mail.d.ts +26 -0
  31. package/dist/use-cases/commands/fetch-raw-bytes.d.ts +56 -0
  32. package/dist/use-cases/commands/format-zod-error.d.ts +14 -0
  33. package/dist/use-cases/commands/get-calendar-event.d.ts +1 -5
  34. package/dist/use-cases/commands/get-calendar-view.d.ts +1 -6
  35. package/dist/use-cases/commands/get-channel-files-folder.d.ts +4 -0
  36. package/dist/use-cases/commands/get-chat.d.ts +8 -0
  37. package/dist/use-cases/commands/get-current-user.d.ts +1 -3
  38. package/dist/use-cases/commands/get-drive-delta.d.ts +1 -6
  39. package/dist/use-cases/commands/get-drive-item-analytics.d.ts +9 -0
  40. package/dist/use-cases/commands/get-drive-item-created-by-user.d.ts +4 -0
  41. package/dist/use-cases/commands/get-drive-item-last-modified-by-user.d.ts +4 -0
  42. package/dist/use-cases/commands/get-drive-item-list-item.d.ts +4 -0
  43. package/dist/use-cases/commands/get-drive-item.d.ts +1 -6
  44. package/dist/use-cases/commands/get-drive-root-delta.d.ts +4 -0
  45. package/dist/use-cases/commands/get-drive-root-item.d.ts +1 -5
  46. package/dist/use-cases/commands/get-drive-special-folder.d.ts +4 -0
  47. package/dist/use-cases/commands/get-excel-range.d.ts +1 -1
  48. package/dist/use-cases/commands/get-excel-table.d.ts +1 -1
  49. package/dist/use-cases/commands/get-excel-used-range.d.ts +10 -0
  50. package/dist/use-cases/commands/get-group-calendar-view.d.ts +4 -0
  51. package/dist/use-cases/commands/get-group.d.ts +4 -0
  52. package/dist/use-cases/commands/get-mail-attachment.d.ts +4 -2
  53. package/dist/use-cases/commands/get-mail-message-mime.d.ts +8 -0
  54. package/dist/use-cases/commands/get-mail-message.d.ts +1 -5
  55. package/dist/use-cases/commands/get-mail-rule.d.ts +9 -0
  56. package/dist/use-cases/commands/get-mailbox-settings.d.ts +1 -1
  57. package/dist/use-cases/commands/get-my-calendar.d.ts +4 -0
  58. package/dist/use-cases/commands/get-my-manager.d.ts +9 -0
  59. package/dist/use-cases/commands/get-onenote-page-as-markdown.d.ts +10 -0
  60. package/dist/use-cases/commands/get-organization.d.ts +4 -0
  61. package/dist/use-cases/commands/get-shared-calendar-view.d.ts +4 -0
  62. package/dist/use-cases/commands/get-shared-mailbox-message.d.ts +4 -0
  63. package/dist/use-cases/commands/get-sharepoint-list-column.d.ts +4 -0
  64. package/dist/use-cases/commands/get-sharepoint-site-drive-by-id.d.ts +1 -6
  65. package/dist/use-cases/commands/get-sharepoint-site-list-item.d.ts +1 -7
  66. package/dist/use-cases/commands/get-sharepoint-site-list.d.ts +1 -6
  67. package/dist/use-cases/commands/get-sharepoint-site-onenote-page-content.d.ts +9 -0
  68. package/dist/use-cases/commands/get-sharepoint-site.d.ts +1 -5
  69. package/dist/use-cases/commands/get-site-analytics.d.ts +8 -0
  70. package/dist/use-cases/commands/get-specific-calendar-event.d.ts +1 -6
  71. package/dist/use-cases/commands/get-specific-calendar-view.d.ts +1 -7
  72. package/dist/use-cases/commands/get-team-channel.d.ts +3 -7
  73. package/dist/use-cases/commands/get-team-primary-channel.d.ts +4 -0
  74. package/dist/use-cases/commands/get-team.d.ts +1 -5
  75. package/dist/use-cases/commands/get-todo-task.d.ts +1 -6
  76. package/dist/use-cases/commands/get-user-manager.d.ts +10 -0
  77. package/dist/use-cases/commands/graph-scopes.d.ts +29 -0
  78. package/dist/use-cases/commands/inline-image-embedder.d.ts +20 -0
  79. package/dist/use-cases/commands/list-all-onenote-sections.d.ts +1 -3
  80. package/dist/use-cases/commands/list-calendar-event-instances.d.ts +3 -9
  81. package/dist/use-cases/commands/list-calendar-events-delta.d.ts +5 -3
  82. package/dist/use-cases/commands/list-calendar-events.d.ts +1 -3
  83. package/dist/use-cases/commands/list-calendar-group-calendars.d.ts +4 -0
  84. package/dist/use-cases/commands/list-calendar-groups.d.ts +4 -0
  85. package/dist/use-cases/commands/list-calendar-view-delta.d.ts +3 -2
  86. package/dist/use-cases/commands/list-calendars.d.ts +1 -3
  87. package/dist/use-cases/commands/list-chat-members.d.ts +3 -6
  88. package/dist/use-cases/commands/list-chats.d.ts +4 -0
  89. package/dist/use-cases/commands/list-conversation-messages.d.ts +12 -0
  90. package/dist/use-cases/commands/list-drive-item-permissions.d.ts +1 -6
  91. package/dist/use-cases/commands/list-drive-item-thumbnails.d.ts +4 -0
  92. package/dist/use-cases/commands/list-drive-item-versions.d.ts +1 -6
  93. package/dist/use-cases/commands/list-drives.d.ts +1 -3
  94. package/dist/use-cases/commands/list-excel-comments.d.ts +5 -0
  95. package/dist/use-cases/commands/list-excel-defined-names.d.ts +5 -0
  96. package/dist/use-cases/commands/list-excel-table-rows.d.ts +2 -7
  97. package/dist/use-cases/commands/list-excel-tables.d.ts +2 -6
  98. package/dist/use-cases/commands/list-excel-worksheet-charts.d.ts +5 -0
  99. package/dist/use-cases/commands/list-excel-worksheet-pivot-tables.d.ts +5 -0
  100. package/dist/use-cases/commands/list-excel-worksheets.d.ts +2 -6
  101. package/dist/use-cases/commands/list-focused-inbox-overrides.d.ts +4 -0
  102. package/dist/use-cases/commands/list-folder-files.d.ts +1 -6
  103. package/dist/use-cases/commands/list-followed-drive-items.d.ts +4 -0
  104. package/dist/use-cases/commands/list-group-conversations.d.ts +4 -0
  105. package/dist/use-cases/commands/list-group-events.d.ts +4 -0
  106. package/dist/use-cases/commands/list-group-members.d.ts +4 -0
  107. package/dist/use-cases/commands/list-group-owners.d.ts +4 -0
  108. package/dist/use-cases/commands/list-group-threads.d.ts +4 -0
  109. package/dist/use-cases/commands/list-groups.d.ts +4 -0
  110. package/dist/use-cases/commands/list-incomplete-planner-tasks.d.ts +10 -3
  111. package/dist/use-cases/commands/list-incomplete-todo-tasks.d.ts +8 -2
  112. package/dist/use-cases/commands/list-mail-attachments.d.ts +8 -2
  113. package/dist/use-cases/commands/list-mail-child-folders.d.ts +1 -5
  114. package/dist/use-cases/commands/list-mail-folder-messages-delta.d.ts +4 -0
  115. package/dist/use-cases/commands/list-mail-folder-messages.d.ts +1 -5
  116. package/dist/use-cases/commands/list-mail-folders.d.ts +1 -3
  117. package/dist/use-cases/commands/list-mail-messages.d.ts +1 -3
  118. package/dist/use-cases/commands/list-mail-rules.d.ts +1 -1
  119. package/dist/use-cases/commands/list-my-direct-reports.d.ts +13 -0
  120. package/dist/use-cases/commands/list-my-memberships.d.ts +4 -0
  121. package/dist/use-cases/commands/list-my-transitive-memberships.d.ts +4 -0
  122. package/dist/use-cases/commands/list-onenote-notebook-sections.d.ts +1 -5
  123. package/dist/use-cases/commands/list-onenote-notebooks.d.ts +1 -3
  124. package/dist/use-cases/commands/list-onenote-section-pages.d.ts +1 -5
  125. package/dist/use-cases/commands/list-outlook-categories.d.ts +6 -0
  126. package/dist/use-cases/commands/list-plan-buckets.d.ts +1 -5
  127. package/dist/use-cases/commands/list-planner-plans.d.ts +1 -3
  128. package/dist/use-cases/commands/list-planner-tasks.d.ts +1 -3
  129. package/dist/use-cases/commands/list-recent-files.d.ts +4 -0
  130. package/dist/use-cases/commands/list-recently-used-insights.d.ts +4 -0
  131. package/dist/use-cases/commands/list-relevant-people.d.ts +4 -0
  132. package/dist/use-cases/commands/list-room-lists.d.ts +4 -0
  133. package/dist/use-cases/commands/list-rooms.d.ts +4 -0
  134. package/dist/use-cases/commands/list-sensitivity-labels.d.ts +4 -0
  135. package/dist/use-cases/commands/list-shared-calendar-events.d.ts +4 -0
  136. package/dist/use-cases/commands/list-shared-insights.d.ts +4 -0
  137. package/dist/use-cases/commands/list-shared-mailbox-folder-messages.d.ts +4 -0
  138. package/dist/use-cases/commands/list-shared-mailbox-messages.d.ts +4 -0
  139. package/dist/use-cases/commands/list-shared-with-me.d.ts +6 -0
  140. package/dist/use-cases/commands/list-sharepoint-list-columns.d.ts +4 -0
  141. package/dist/use-cases/commands/list-sharepoint-list-item-versions.d.ts +4 -0
  142. package/dist/use-cases/commands/list-sharepoint-site-drives.d.ts +1 -5
  143. package/dist/use-cases/commands/list-sharepoint-site-list-items.d.ts +1 -6
  144. package/dist/use-cases/commands/list-sharepoint-site-lists.d.ts +7 -2
  145. package/dist/use-cases/commands/list-sharepoint-site-onenote-notebook-sections.d.ts +5 -0
  146. package/dist/use-cases/commands/list-sharepoint-site-onenote-notebooks.d.ts +5 -0
  147. package/dist/use-cases/commands/list-sharepoint-site-onenote-section-pages.d.ts +5 -0
  148. package/dist/use-cases/commands/list-sharepoint-site-pages.d.ts +4 -0
  149. package/dist/use-cases/commands/list-site-columns.d.ts +4 -0
  150. package/dist/use-cases/commands/list-site-content-types.d.ts +4 -0
  151. package/dist/use-cases/commands/list-specific-calendar-events.d.ts +1 -5
  152. package/dist/use-cases/commands/list-team-channels.d.ts +1 -5
  153. package/dist/use-cases/commands/list-team-installed-apps.d.ts +8 -0
  154. package/dist/use-cases/commands/list-todo-linked-resources.d.ts +1 -6
  155. package/dist/use-cases/commands/list-todo-task-lists.d.ts +1 -3
  156. package/dist/use-cases/commands/list-todo-tasks-delta.d.ts +8 -0
  157. package/dist/use-cases/commands/list-todo-tasks.d.ts +8 -2
  158. package/dist/use-cases/commands/list-trending-insights.d.ts +4 -0
  159. package/dist/use-cases/commands/list-user-direct-reports.d.ts +4 -0
  160. package/dist/use-cases/commands/markdown-pipeline.d.ts +23 -0
  161. package/dist/use-cases/commands/microsoft-search-query.d.ts +8 -0
  162. package/dist/use-cases/commands/my-quick-context.d.ts +6 -0
  163. package/dist/use-cases/commands/next-page.d.ts +2 -2
  164. package/dist/use-cases/commands/odata-query.d.ts +90 -0
  165. package/dist/use-cases/commands/office-to-markdown.d.ts +6 -0
  166. package/dist/use-cases/commands/onenote-5k-limit.d.ts +3 -0
  167. package/dist/use-cases/commands/output-path.d.ts +37 -0
  168. package/dist/use-cases/commands/scopes-check.d.ts +6 -0
  169. package/dist/use-cases/commands/search-mail-messages.d.ts +3 -6
  170. package/dist/use-cases/commands/search-my-documents.d.ts +1 -5
  171. package/dist/use-cases/commands/search-onedrive-files.d.ts +1 -8
  172. package/dist/use-cases/commands/search-onenote-pages.d.ts +7 -2
  173. package/dist/use-cases/commands/search-sharepoint-sites-by-name.d.ts +1 -5
  174. package/dist/use-cases/commands/sharepoint-link-extractor.d.ts +14 -0
  175. package/dist/use-cases/commands/text-passthrough.d.ts +24 -0
  176. package/dist/use-cases/commands/version-id.d.ts +18 -0
  177. package/dist/use-cases/commands/xlsx-to-markdown.d.ts +6 -0
  178. package/dist/use-cases/ports/filesystem.d.ts +8 -0
  179. package/docs/commands.json +5365 -489
  180. package/package.json +9 -2
  181. /package/dist/use-cases/commands/{search-sharepoint-sites.d.ts → list-mail-folders-delta.d.ts} +0 -0
package/CHANGELOG.md ADDED
@@ -0,0 +1,92 @@
1
+ # Changelog
2
+
3
+ All notable changes to `ask-marcel-office-cli` are documented here.
4
+
5
+ ## 1.0.0
6
+
7
+ The first stable release. Two breaking changes consolidate the public output
8
+ contract; the rest is additive.
9
+
10
+ ### Breaking — output contract
11
+
12
+ - **Errors emit on stdout**, not stderr. `process.exitCode = 1` still
13
+ distinguishes failure, so shell scripts that branch on the exit code keep
14
+ working — but anything that read errors from stderr (`cmd 2>err.json`) needs
15
+ to merge streams or read stdout instead. An LLM piping `ask-marcel <cmd>
16
+ | jq` no longer needs `2>&1`.
17
+ - **Every command output is wrapped in the v1 envelope**:
18
+ - Success: `{ ok: true, data: <payload>, nextLink?: string, count?: number }`
19
+ - Error: `{ ok: false, error: "<message>" }`
20
+
21
+ `@odata.nextLink` and `@odata.count` from the underlying Graph payload are
22
+ lifted to the top of the envelope and removed from `data`. Consumers who
23
+ parsed `value[0]` as the first item now read `data.value[0]`.
24
+
25
+ ### Added — OData query passthrough on every list/search command
26
+
27
+ Every `list-*` / `search-*` / `get-*-delta` command now accepts the six
28
+ standard OData query parameters as optional flags, so an LLM can shrink large
29
+ responses on the fly:
30
+
31
+ ```
32
+ --top <n> maximum items per page
33
+ --skip <n> offset
34
+ --select <csv> comma-separated field list (huge payload-size win)
35
+ --filter <kql> server-side predicate
36
+ --orderby <kql> sort expression
37
+ --expand <nav> inline navigation properties
38
+ ```
39
+
40
+ Four commands keep `buildCommand` because their hard-coded `$filter` would
41
+ collide with a user-supplied `--filter`: `list-conversation-messages`,
42
+ `list-incomplete-todo-tasks`, `list-incomplete-planner-tasks`,
43
+ `search-onenote-pages`.
44
+
45
+ ### Added — `my-quick-context`
46
+
47
+ New meta command that issues five Graph calls in parallel (`/me`, `/me/drive`,
48
+ `/me/mailFolders/inbox`, `/me/todo/lists`, `/me/calendar`) and returns
49
+ `{ user, primaryDriveId, inboxId, todoLists, primaryCalendarId }` in one
50
+ round trip. Replaces the audit's 5-call discovery chain.
51
+
52
+ ### Fixed
53
+
54
+ - `microsoft-search-query` no longer 400s. Splits `entityTypes` into two
55
+ `requests[]` entries so Graph stops rejecting `person` mixed with
56
+ file/mail/event types.
57
+ - `list-conversation-messages` no longer trips Graph's `InefficientFilter`.
58
+ Drops the `$orderby=receivedDateTime` from the OData query.
59
+ - `list-sharepoint-site-items` is removed. Microsoft Graph has no list-less
60
+ site/items collection endpoint; `get-sharepoint-site-item`'s docstring now
61
+ points at the two-step discovery chain
62
+ (`list-sharepoint-site-lists` → `list-sharepoint-site-list-items`) that
63
+ Graph actually supports.
64
+ - `list-groups` summary no longer advertises a `--top` flag it didn't
65
+ register. Project-wide invariant added so every `--flag` mentioned in any
66
+ command summary must be a real option or alias on that command.
67
+ - `next-page` routes nextLinks under `/me/chats` and `/chats/...` via the
68
+ elevated M365ChatClient token. Chat pagination no longer 403s.
69
+ - `search-onenote-pages` accepts `--query` as an alias for
70
+ `--title-substring`, matching the convention used by every other search
71
+ command.
72
+
73
+ ### Added — flag aliases
74
+
75
+ - `--todo-list-id` is now accepted by every command that takes
76
+ `--todo-task-list-id` (`--task-list-id` alias preserved).
77
+ - `get-sharepoint-site-item` accepts `--list-item-id` (alias for `--item-id`).
78
+ `get-sharepoint-site-list-item` accepts `--item-id` (alias for
79
+ `--list-item-id`). LLMs that write either spelling from memory now hit the
80
+ right flag.
81
+
82
+ ### Quality
83
+
84
+ - Bun `JSON.stringify` already escapes every U+0000–U+001F control character
85
+ and U+2028 / U+2029 separator. The audit's "raw control chars" claim in
86
+ the four insight commands does not reproduce against the actual code path;
87
+ regression-guard tests pin the contract.
88
+
89
+ ## Older
90
+
91
+ Earlier history is in the git log. See `git log --oneline` for individual
92
+ commits up to and including v0.11.0.