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.
- package/CHANGELOG.md +92 -0
- package/README.md +275 -74
- package/dist/cli.js +96882 -14770
- package/dist/commands.json +5365 -489
- package/dist/composition/build-deps.d.ts +1 -0
- package/dist/composition/cli.d.ts +2 -0
- package/dist/index.js +94720 -13245
- package/dist/infra/auth.d.ts +31 -3
- package/dist/infra/browser-auth.d.ts +98 -1
- package/dist/infra/graph-client.d.ts +61 -2
- package/dist/infra/mammoth-adapter.d.ts +4 -0
- package/dist/infra/sheetjs-adapter.d.ts +9 -0
- package/dist/infra/turndown-adapter.d.ts +4 -0
- package/dist/presenter/output-text.d.ts +2 -0
- package/dist/presenter/output.d.ts +4 -2
- package/dist/use-cases/commands/build-command.d.ts +45 -1
- package/dist/use-cases/commands/command-types.d.ts +97 -3
- package/dist/use-cases/commands/convert-mail-attachment-to-markdown.d.ts +11 -0
- package/dist/use-cases/commands/convert-mail-attachment-to-pdf.d.ts +11 -0
- package/dist/use-cases/commands/convert-mail-to-markdown.d.ts +10 -0
- package/dist/use-cases/commands/docs-render.d.ts +7 -0
- package/dist/use-cases/commands/docx-to-markdown.d.ts +11 -0
- package/dist/use-cases/commands/download-drive-item-as-markdown.d.ts +11 -0
- package/dist/use-cases/commands/download-drive-item-as-pdf.d.ts +11 -0
- package/dist/use-cases/commands/download-drive-item-version-as-markdown.d.ts +12 -0
- package/dist/use-cases/commands/download-drive-item-version-as-pdf.d.ts +12 -0
- package/dist/use-cases/commands/download-onedrive-file-content.d.ts +2 -2
- package/dist/use-cases/commands/embedded-item-to-markdown.d.ts +59 -0
- package/dist/use-cases/commands/excel-error.d.ts +6 -0
- package/dist/use-cases/commands/extract-sharepoint-links-in-mail.d.ts +26 -0
- package/dist/use-cases/commands/fetch-raw-bytes.d.ts +56 -0
- package/dist/use-cases/commands/format-zod-error.d.ts +14 -0
- package/dist/use-cases/commands/get-calendar-event.d.ts +1 -5
- package/dist/use-cases/commands/get-calendar-view.d.ts +1 -6
- package/dist/use-cases/commands/get-channel-files-folder.d.ts +4 -0
- package/dist/use-cases/commands/get-chat.d.ts +8 -0
- package/dist/use-cases/commands/get-current-user.d.ts +1 -3
- package/dist/use-cases/commands/get-drive-delta.d.ts +1 -6
- package/dist/use-cases/commands/get-drive-item-analytics.d.ts +9 -0
- package/dist/use-cases/commands/get-drive-item-created-by-user.d.ts +4 -0
- package/dist/use-cases/commands/get-drive-item-last-modified-by-user.d.ts +4 -0
- package/dist/use-cases/commands/get-drive-item-list-item.d.ts +4 -0
- package/dist/use-cases/commands/get-drive-item.d.ts +1 -6
- package/dist/use-cases/commands/get-drive-root-delta.d.ts +4 -0
- package/dist/use-cases/commands/get-drive-root-item.d.ts +1 -5
- package/dist/use-cases/commands/get-drive-special-folder.d.ts +4 -0
- package/dist/use-cases/commands/get-excel-range.d.ts +1 -1
- package/dist/use-cases/commands/get-excel-table.d.ts +1 -1
- package/dist/use-cases/commands/get-excel-used-range.d.ts +10 -0
- package/dist/use-cases/commands/get-group-calendar-view.d.ts +4 -0
- package/dist/use-cases/commands/get-group.d.ts +4 -0
- package/dist/use-cases/commands/get-mail-attachment.d.ts +4 -2
- package/dist/use-cases/commands/get-mail-message-mime.d.ts +8 -0
- package/dist/use-cases/commands/get-mail-message.d.ts +1 -5
- package/dist/use-cases/commands/get-mail-rule.d.ts +9 -0
- package/dist/use-cases/commands/get-mailbox-settings.d.ts +1 -1
- package/dist/use-cases/commands/get-my-calendar.d.ts +4 -0
- package/dist/use-cases/commands/get-my-manager.d.ts +9 -0
- package/dist/use-cases/commands/get-onenote-page-as-markdown.d.ts +10 -0
- package/dist/use-cases/commands/get-organization.d.ts +4 -0
- package/dist/use-cases/commands/get-shared-calendar-view.d.ts +4 -0
- package/dist/use-cases/commands/get-shared-mailbox-message.d.ts +4 -0
- package/dist/use-cases/commands/get-sharepoint-list-column.d.ts +4 -0
- package/dist/use-cases/commands/get-sharepoint-site-drive-by-id.d.ts +1 -6
- package/dist/use-cases/commands/get-sharepoint-site-list-item.d.ts +1 -7
- package/dist/use-cases/commands/get-sharepoint-site-list.d.ts +1 -6
- package/dist/use-cases/commands/get-sharepoint-site-onenote-page-content.d.ts +9 -0
- package/dist/use-cases/commands/get-sharepoint-site.d.ts +1 -5
- package/dist/use-cases/commands/get-site-analytics.d.ts +8 -0
- package/dist/use-cases/commands/get-specific-calendar-event.d.ts +1 -6
- package/dist/use-cases/commands/get-specific-calendar-view.d.ts +1 -7
- package/dist/use-cases/commands/get-team-channel.d.ts +3 -7
- package/dist/use-cases/commands/get-team-primary-channel.d.ts +4 -0
- package/dist/use-cases/commands/get-team.d.ts +1 -5
- package/dist/use-cases/commands/get-todo-task.d.ts +1 -6
- package/dist/use-cases/commands/get-user-manager.d.ts +10 -0
- package/dist/use-cases/commands/graph-scopes.d.ts +29 -0
- package/dist/use-cases/commands/inline-image-embedder.d.ts +20 -0
- package/dist/use-cases/commands/list-all-onenote-sections.d.ts +1 -3
- package/dist/use-cases/commands/list-calendar-event-instances.d.ts +3 -9
- package/dist/use-cases/commands/list-calendar-events-delta.d.ts +5 -3
- package/dist/use-cases/commands/list-calendar-events.d.ts +1 -3
- package/dist/use-cases/commands/list-calendar-group-calendars.d.ts +4 -0
- package/dist/use-cases/commands/list-calendar-groups.d.ts +4 -0
- package/dist/use-cases/commands/list-calendar-view-delta.d.ts +3 -2
- package/dist/use-cases/commands/list-calendars.d.ts +1 -3
- package/dist/use-cases/commands/list-chat-members.d.ts +3 -6
- package/dist/use-cases/commands/list-chats.d.ts +4 -0
- package/dist/use-cases/commands/list-conversation-messages.d.ts +12 -0
- package/dist/use-cases/commands/list-drive-item-permissions.d.ts +1 -6
- package/dist/use-cases/commands/list-drive-item-thumbnails.d.ts +4 -0
- package/dist/use-cases/commands/list-drive-item-versions.d.ts +1 -6
- package/dist/use-cases/commands/list-drives.d.ts +1 -3
- package/dist/use-cases/commands/list-excel-comments.d.ts +5 -0
- package/dist/use-cases/commands/list-excel-defined-names.d.ts +5 -0
- package/dist/use-cases/commands/list-excel-table-rows.d.ts +2 -7
- package/dist/use-cases/commands/list-excel-tables.d.ts +2 -6
- package/dist/use-cases/commands/list-excel-worksheet-charts.d.ts +5 -0
- package/dist/use-cases/commands/list-excel-worksheet-pivot-tables.d.ts +5 -0
- package/dist/use-cases/commands/list-excel-worksheets.d.ts +2 -6
- package/dist/use-cases/commands/list-focused-inbox-overrides.d.ts +4 -0
- package/dist/use-cases/commands/list-folder-files.d.ts +1 -6
- package/dist/use-cases/commands/list-followed-drive-items.d.ts +4 -0
- package/dist/use-cases/commands/list-group-conversations.d.ts +4 -0
- package/dist/use-cases/commands/list-group-events.d.ts +4 -0
- package/dist/use-cases/commands/list-group-members.d.ts +4 -0
- package/dist/use-cases/commands/list-group-owners.d.ts +4 -0
- package/dist/use-cases/commands/list-group-threads.d.ts +4 -0
- package/dist/use-cases/commands/list-groups.d.ts +4 -0
- package/dist/use-cases/commands/list-incomplete-planner-tasks.d.ts +10 -3
- package/dist/use-cases/commands/list-incomplete-todo-tasks.d.ts +8 -2
- package/dist/use-cases/commands/list-mail-attachments.d.ts +8 -2
- package/dist/use-cases/commands/list-mail-child-folders.d.ts +1 -5
- package/dist/use-cases/commands/list-mail-folder-messages-delta.d.ts +4 -0
- package/dist/use-cases/commands/list-mail-folder-messages.d.ts +1 -5
- package/dist/use-cases/commands/list-mail-folders.d.ts +1 -3
- package/dist/use-cases/commands/list-mail-messages.d.ts +1 -3
- package/dist/use-cases/commands/list-mail-rules.d.ts +1 -1
- package/dist/use-cases/commands/list-my-direct-reports.d.ts +13 -0
- package/dist/use-cases/commands/list-my-memberships.d.ts +4 -0
- package/dist/use-cases/commands/list-my-transitive-memberships.d.ts +4 -0
- package/dist/use-cases/commands/list-onenote-notebook-sections.d.ts +1 -5
- package/dist/use-cases/commands/list-onenote-notebooks.d.ts +1 -3
- package/dist/use-cases/commands/list-onenote-section-pages.d.ts +1 -5
- package/dist/use-cases/commands/list-outlook-categories.d.ts +6 -0
- package/dist/use-cases/commands/list-plan-buckets.d.ts +1 -5
- package/dist/use-cases/commands/list-planner-plans.d.ts +1 -3
- package/dist/use-cases/commands/list-planner-tasks.d.ts +1 -3
- package/dist/use-cases/commands/list-recent-files.d.ts +4 -0
- package/dist/use-cases/commands/list-recently-used-insights.d.ts +4 -0
- package/dist/use-cases/commands/list-relevant-people.d.ts +4 -0
- package/dist/use-cases/commands/list-room-lists.d.ts +4 -0
- package/dist/use-cases/commands/list-rooms.d.ts +4 -0
- package/dist/use-cases/commands/list-sensitivity-labels.d.ts +4 -0
- package/dist/use-cases/commands/list-shared-calendar-events.d.ts +4 -0
- package/dist/use-cases/commands/list-shared-insights.d.ts +4 -0
- package/dist/use-cases/commands/list-shared-mailbox-folder-messages.d.ts +4 -0
- package/dist/use-cases/commands/list-shared-mailbox-messages.d.ts +4 -0
- package/dist/use-cases/commands/list-shared-with-me.d.ts +6 -0
- package/dist/use-cases/commands/list-sharepoint-list-columns.d.ts +4 -0
- package/dist/use-cases/commands/list-sharepoint-list-item-versions.d.ts +4 -0
- package/dist/use-cases/commands/list-sharepoint-site-drives.d.ts +1 -5
- package/dist/use-cases/commands/list-sharepoint-site-list-items.d.ts +1 -6
- package/dist/use-cases/commands/list-sharepoint-site-lists.d.ts +7 -2
- package/dist/use-cases/commands/list-sharepoint-site-onenote-notebook-sections.d.ts +5 -0
- package/dist/use-cases/commands/list-sharepoint-site-onenote-notebooks.d.ts +5 -0
- package/dist/use-cases/commands/list-sharepoint-site-onenote-section-pages.d.ts +5 -0
- package/dist/use-cases/commands/list-sharepoint-site-pages.d.ts +4 -0
- package/dist/use-cases/commands/list-site-columns.d.ts +4 -0
- package/dist/use-cases/commands/list-site-content-types.d.ts +4 -0
- package/dist/use-cases/commands/list-specific-calendar-events.d.ts +1 -5
- package/dist/use-cases/commands/list-team-channels.d.ts +1 -5
- package/dist/use-cases/commands/list-team-installed-apps.d.ts +8 -0
- package/dist/use-cases/commands/list-todo-linked-resources.d.ts +1 -6
- package/dist/use-cases/commands/list-todo-task-lists.d.ts +1 -3
- package/dist/use-cases/commands/list-todo-tasks-delta.d.ts +8 -0
- package/dist/use-cases/commands/list-todo-tasks.d.ts +8 -2
- package/dist/use-cases/commands/list-trending-insights.d.ts +4 -0
- package/dist/use-cases/commands/list-user-direct-reports.d.ts +4 -0
- package/dist/use-cases/commands/markdown-pipeline.d.ts +23 -0
- package/dist/use-cases/commands/microsoft-search-query.d.ts +8 -0
- package/dist/use-cases/commands/my-quick-context.d.ts +6 -0
- package/dist/use-cases/commands/next-page.d.ts +2 -2
- package/dist/use-cases/commands/odata-query.d.ts +90 -0
- package/dist/use-cases/commands/office-to-markdown.d.ts +6 -0
- package/dist/use-cases/commands/onenote-5k-limit.d.ts +3 -0
- package/dist/use-cases/commands/output-path.d.ts +37 -0
- package/dist/use-cases/commands/scopes-check.d.ts +6 -0
- package/dist/use-cases/commands/search-mail-messages.d.ts +3 -6
- package/dist/use-cases/commands/search-my-documents.d.ts +1 -5
- package/dist/use-cases/commands/search-onedrive-files.d.ts +1 -8
- package/dist/use-cases/commands/search-onenote-pages.d.ts +7 -2
- package/dist/use-cases/commands/search-sharepoint-sites-by-name.d.ts +1 -5
- package/dist/use-cases/commands/sharepoint-link-extractor.d.ts +14 -0
- package/dist/use-cases/commands/text-passthrough.d.ts +24 -0
- package/dist/use-cases/commands/version-id.d.ts +18 -0
- package/dist/use-cases/commands/xlsx-to-markdown.d.ts +6 -0
- package/dist/use-cases/ports/filesystem.d.ts +8 -0
- package/docs/commands.json +5365 -489
- package/package.json +9 -2
- /package/dist/use-cases/commands/{search-sharepoint-sites.d.ts → list-mail-folders-delta.d.ts} +0 -0
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Render an itemAttachment's inner resource (a `microsoft.graph.message`,
|
|
3
|
+
* `event`, or `contact`) directly to markdown — no RTF round-trip, no
|
|
4
|
+
* Graph conversion call.
|
|
5
|
+
*
|
|
6
|
+
* Each renderer emits a small header block (`**Subject:** …`, etc.) and
|
|
7
|
+
* appends the body run through htmlToMarkdown when the inner resource
|
|
8
|
+
* has one. Callers (the convert-mail-attachment-to-markdown command)
|
|
9
|
+
* choose the right renderer by branching on `item['@odata.type']`.
|
|
10
|
+
*/
|
|
11
|
+
type EmailAddress = {
|
|
12
|
+
readonly name?: string;
|
|
13
|
+
readonly address?: string;
|
|
14
|
+
};
|
|
15
|
+
type Recipient = {
|
|
16
|
+
readonly emailAddress?: EmailAddress;
|
|
17
|
+
};
|
|
18
|
+
type Body = {
|
|
19
|
+
readonly contentType?: string;
|
|
20
|
+
readonly content?: string;
|
|
21
|
+
};
|
|
22
|
+
type EmbeddedMessage = {
|
|
23
|
+
readonly subject?: string;
|
|
24
|
+
readonly from?: Recipient;
|
|
25
|
+
readonly toRecipients?: ReadonlyArray<Recipient>;
|
|
26
|
+
readonly sentDateTime?: string;
|
|
27
|
+
readonly body?: Body;
|
|
28
|
+
};
|
|
29
|
+
declare const embeddedMessageToMarkdown: (m: EmbeddedMessage) => string;
|
|
30
|
+
type EventDateTime = {
|
|
31
|
+
readonly dateTime?: string;
|
|
32
|
+
readonly timeZone?: string;
|
|
33
|
+
};
|
|
34
|
+
type Location = {
|
|
35
|
+
readonly displayName?: string;
|
|
36
|
+
};
|
|
37
|
+
type EmbeddedEvent = {
|
|
38
|
+
readonly subject?: string;
|
|
39
|
+
readonly start?: EventDateTime;
|
|
40
|
+
readonly end?: EventDateTime;
|
|
41
|
+
readonly location?: Location;
|
|
42
|
+
readonly organizer?: Recipient;
|
|
43
|
+
readonly attendees?: ReadonlyArray<Recipient>;
|
|
44
|
+
readonly body?: Body;
|
|
45
|
+
};
|
|
46
|
+
declare const embeddedEventToMarkdown: (e: EmbeddedEvent) => string;
|
|
47
|
+
type EmbeddedContact = {
|
|
48
|
+
readonly displayName?: string;
|
|
49
|
+
readonly emailAddresses?: ReadonlyArray<{
|
|
50
|
+
address?: string;
|
|
51
|
+
}>;
|
|
52
|
+
readonly businessPhones?: ReadonlyArray<string>;
|
|
53
|
+
readonly mobilePhone?: string;
|
|
54
|
+
readonly companyName?: string;
|
|
55
|
+
readonly jobTitle?: string;
|
|
56
|
+
};
|
|
57
|
+
declare const embeddedContactToMarkdown: (c: EmbeddedContact) => string;
|
|
58
|
+
export { embeddedContactToMarkdown, embeddedEventToMarkdown, embeddedMessageToMarkdown };
|
|
59
|
+
export type { EmbeddedContact, EmbeddedEvent, EmbeddedMessage };
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import type { Result } from '../../domain/result.js';
|
|
2
|
+
import type { GraphClient, GraphError } from '../../infra/graph-client.js';
|
|
3
|
+
declare const mapWacError: (e: GraphError) => GraphError;
|
|
4
|
+
type ExecuteFn = (graph: GraphClient, params: Record<string, string>) => Promise<Result<unknown, GraphError>>;
|
|
5
|
+
declare const wrapExcelExecute: (inner: ExecuteFn) => ExecuteFn;
|
|
6
|
+
export { mapWacError, wrapExcelExecute };
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
import { z } from 'zod';
|
|
2
|
+
import type { Result } from '../../domain/result.js';
|
|
3
|
+
import type { GraphClient, GraphError } from '../../infra/graph-client.js';
|
|
4
|
+
import type { CommandMeta } from './command-types.js';
|
|
5
|
+
type ResolvedLink = {
|
|
6
|
+
readonly url: string;
|
|
7
|
+
readonly driveId?: string;
|
|
8
|
+
readonly itemId?: string;
|
|
9
|
+
readonly name?: string;
|
|
10
|
+
readonly webUrl?: string;
|
|
11
|
+
readonly error?: string;
|
|
12
|
+
};
|
|
13
|
+
type LinkExtractionSummary = {
|
|
14
|
+
readonly messageId: string;
|
|
15
|
+
readonly subject?: string;
|
|
16
|
+
readonly links: ReadonlyArray<ResolvedLink>;
|
|
17
|
+
readonly truncated: boolean;
|
|
18
|
+
readonly skippedCount: number;
|
|
19
|
+
};
|
|
20
|
+
declare const schema: z.ZodObject<{
|
|
21
|
+
messageId: z.ZodString;
|
|
22
|
+
}, z.core.$strip>;
|
|
23
|
+
declare const execute: (graph: GraphClient, params: Record<string, string>) => Promise<Result<LinkExtractionSummary, GraphError>>;
|
|
24
|
+
declare const meta: CommandMeta;
|
|
25
|
+
export { execute, meta, schema };
|
|
26
|
+
export type { LinkExtractionSummary, ResolvedLink };
|
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
import type { Result } from '../../domain/result.js';
|
|
2
|
+
import type { GraphClient, GraphError } from '../../infra/graph-client.js';
|
|
3
|
+
/**
|
|
4
|
+
* Helpers that consolidate the "Graph hands you a 302, follow the CDN
|
|
5
|
+
* redirect, return the bytes" dance used by every command that needs
|
|
6
|
+
* raw file content.
|
|
7
|
+
*
|
|
8
|
+
* Real Graph responses for `/drives/{id}/items/{id}/content` (and the
|
|
9
|
+
* `?format=pdf` / `?format=html` variants) are 302 redirects to a CDN URL.
|
|
10
|
+
* `getBinary` captures the redirect and returns
|
|
11
|
+
* `{ '@microsoft.graph.downloadUrl': '...' }` — NOT inline bytes. To get
|
|
12
|
+
* the bytes we have to follow the URL via `fetchUrl`, which is host-allow-
|
|
13
|
+
* listed for SharePoint / ODSP / Microsoft media-transform domains.
|
|
14
|
+
*
|
|
15
|
+
* Two shapes for the return value depending on what the caller needs:
|
|
16
|
+
* - `fetchRawBytes(graph, path, opts)` → `Uint8Array` for local
|
|
17
|
+
* conversion (mammoth / sheetjs / turndown).
|
|
18
|
+
* - `inlineBinary(graph, path, opts)` → `{ contentType, size, base64 }`
|
|
19
|
+
* for "stream the bytes back through the JSON envelope" workflows
|
|
20
|
+
* (PDF conversion, image attachments, anything the LLM consumer
|
|
21
|
+
* either pipes to disk or saves via --output-path).
|
|
22
|
+
*
|
|
23
|
+
* The historical-version commands pass `elevated: true` so that the
|
|
24
|
+
* initial Graph call is signed with an M365ChatClient token (on the
|
|
25
|
+
* ODSP `logicalPermissions` allow-list); without that, Graph's 302
|
|
26
|
+
* redirects to a streamContent URL whose embedded tempauth is signed
|
|
27
|
+
* by Teams web client identity and rejected by SharePoint with 403.
|
|
28
|
+
*/
|
|
29
|
+
export type FetchOptions = {
|
|
30
|
+
readonly elevated?: boolean;
|
|
31
|
+
};
|
|
32
|
+
export type InlineBinary = {
|
|
33
|
+
readonly contentType: string;
|
|
34
|
+
readonly size: number;
|
|
35
|
+
readonly base64: string;
|
|
36
|
+
};
|
|
37
|
+
export declare const fetchRawBytes: (graph: GraphClient, contentPath: string, opts?: FetchOptions) => Promise<Result<Uint8Array, GraphError>>;
|
|
38
|
+
export declare const inlineBinary: (graph: GraphClient, contentPath: string, opts?: FetchOptions) => Promise<Result<InlineBinary, GraphError>>;
|
|
39
|
+
/**
|
|
40
|
+
* Detect Graph's silent-raw-bytes fallback on `?format=pdf` requests.
|
|
41
|
+
*
|
|
42
|
+
* When `format=pdf` succeeds, the response contentType is `application/pdf`.
|
|
43
|
+
* For some inputs (notably historical-version pptx on certain tenants, or
|
|
44
|
+
* reference-attachment edge cases) Graph silently falls back to returning
|
|
45
|
+
* the raw source bytes — same envelope shape, but contentType is the
|
|
46
|
+
* source MIME (or `application/octet-stream`). The audit (round-5 #2)
|
|
47
|
+
* caught this happening on `download-drive-item-version-as-pdf` for v79
|
|
48
|
+
* of a pptx: the response said `contentType: "application/octet-stream"`
|
|
49
|
+
* with the exact source byte size, and an LLM that saved it as `.pdf`
|
|
50
|
+
* would have had a corrupt file.
|
|
51
|
+
*
|
|
52
|
+
* Tag the result with `passthrough: true` and a sharp note so the LLM
|
|
53
|
+
* knows the conversion didn't run and saves the bytes with the source
|
|
54
|
+
* extension instead of `.pdf`.
|
|
55
|
+
*/
|
|
56
|
+
export declare const tagPdfPassthrough: (result: Result<InlineBinary, GraphError>, sourceLabel: string) => Result<unknown, GraphError>;
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import type { z } from 'zod';
|
|
2
|
+
/**
|
|
3
|
+
* Render a Zod validation error as a single human-readable line keyed off the
|
|
4
|
+
* CLI flag name. The audit's gripe with the previous formatter
|
|
5
|
+
* (`messageRuleId: Too small: expected string to have >=1 characters`) was
|
|
6
|
+
* that an LLM piping the JSON envelope through jq sees Zod jargon plus the
|
|
7
|
+
* camelCase schema key — neither matches what the user typed on the command
|
|
8
|
+
* line. This formatter prepends `--<kebab-case-flag>` and translates the two
|
|
9
|
+
* common Zod codes to plain English: missing values become `is missing`,
|
|
10
|
+
* empty strings become `is empty`. Multi-issue failures join with `; ` to
|
|
11
|
+
* stay on one line.
|
|
12
|
+
*/
|
|
13
|
+
declare const formatZodError: (error: z.ZodError) => string;
|
|
14
|
+
export { formatZodError };
|
|
@@ -1,8 +1,4 @@
|
|
|
1
|
-
import { z } from 'zod';
|
|
2
1
|
import type { CommandMeta } from './command-types.js';
|
|
3
|
-
declare const schema:
|
|
4
|
-
eventId: z.ZodString;
|
|
5
|
-
}, z.core.$strip>;
|
|
6
|
-
declare const execute: import("./command-types.js").CommandExecute;
|
|
2
|
+
declare const execute: import("./command-types.js").CommandExecute, schema: import("./command-types.js").CommandSchema;
|
|
7
3
|
declare const meta: CommandMeta;
|
|
8
4
|
export { execute, meta, schema };
|
|
@@ -1,9 +1,4 @@
|
|
|
1
|
-
import { z } from 'zod';
|
|
2
1
|
import type { CommandMeta } from './command-types.js';
|
|
3
|
-
declare const schema:
|
|
4
|
-
startDateTime: z.ZodString;
|
|
5
|
-
endDateTime: z.ZodString;
|
|
6
|
-
}, z.core.$strip>;
|
|
7
|
-
declare const execute: import("./command-types.js").CommandExecute;
|
|
2
|
+
declare const execute: import("./command-types.js").CommandExecute, schema: import("./command-types.js").CommandSchema;
|
|
8
3
|
declare const meta: CommandMeta;
|
|
9
4
|
export { execute, meta, schema };
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { z } from 'zod';
|
|
2
|
+
import type { CommandMeta } from './command-types.js';
|
|
3
|
+
declare const schema: z.ZodObject<{
|
|
4
|
+
chatId: z.ZodString;
|
|
5
|
+
}, z.core.$strip>;
|
|
6
|
+
declare const execute: import("./command-types.js").CommandExecute;
|
|
7
|
+
declare const meta: CommandMeta;
|
|
8
|
+
export { execute, meta, schema };
|
|
@@ -1,6 +1,4 @@
|
|
|
1
|
-
import { z } from 'zod';
|
|
2
1
|
import type { CommandMeta } from './command-types.js';
|
|
3
|
-
declare const
|
|
4
|
-
declare const execute: import("./command-types.js").CommandExecute;
|
|
2
|
+
declare const execute: import("./command-types.js").CommandExecute, schema: import("./command-types.js").CommandSchema;
|
|
5
3
|
declare const meta: CommandMeta;
|
|
6
4
|
export { execute, meta, schema };
|
|
@@ -1,9 +1,4 @@
|
|
|
1
|
-
import { z } from 'zod';
|
|
2
1
|
import type { CommandMeta } from './command-types.js';
|
|
3
|
-
declare const schema:
|
|
4
|
-
driveId: z.ZodString;
|
|
5
|
-
itemId: z.ZodString;
|
|
6
|
-
}, z.core.$strip>;
|
|
7
|
-
declare const execute: import("./command-types.js").CommandExecute;
|
|
2
|
+
declare const execute: import("./command-types.js").CommandExecute, schema: import("./command-types.js").CommandSchema;
|
|
8
3
|
declare const meta: CommandMeta;
|
|
9
4
|
export { execute, meta, schema };
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { z } from 'zod';
|
|
2
|
+
import type { CommandMeta } from './command-types.js';
|
|
3
|
+
declare const schema: z.ZodObject<{
|
|
4
|
+
driveId: z.ZodString;
|
|
5
|
+
itemId: z.ZodString;
|
|
6
|
+
}, z.core.$strip>;
|
|
7
|
+
declare const execute: import("./command-types.js").CommandExecute;
|
|
8
|
+
declare const meta: CommandMeta;
|
|
9
|
+
export { execute, meta, schema };
|
|
@@ -1,9 +1,4 @@
|
|
|
1
|
-
import { z } from 'zod';
|
|
2
1
|
import type { CommandMeta } from './command-types.js';
|
|
3
|
-
declare const schema:
|
|
4
|
-
driveId: z.ZodString;
|
|
5
|
-
itemId: z.ZodString;
|
|
6
|
-
}, z.core.$strip>;
|
|
7
|
-
declare const execute: import("./command-types.js").CommandExecute;
|
|
2
|
+
declare const execute: import("./command-types.js").CommandExecute, schema: import("./command-types.js").CommandSchema;
|
|
8
3
|
declare const meta: CommandMeta;
|
|
9
4
|
export { execute, meta, schema };
|
|
@@ -1,8 +1,4 @@
|
|
|
1
|
-
import { z } from 'zod';
|
|
2
1
|
import type { CommandMeta } from './command-types.js';
|
|
3
|
-
declare const schema:
|
|
4
|
-
driveId: z.ZodString;
|
|
5
|
-
}, z.core.$strip>;
|
|
6
|
-
declare const execute: import("./command-types.js").CommandExecute;
|
|
2
|
+
declare const execute: import("./command-types.js").CommandExecute, schema: import("./command-types.js").CommandSchema;
|
|
7
3
|
declare const meta: CommandMeta;
|
|
8
4
|
export { execute, meta, schema };
|
|
@@ -6,6 +6,6 @@ declare const schema: z.ZodObject<{
|
|
|
6
6
|
worksheetId: z.ZodString;
|
|
7
7
|
address: z.ZodString;
|
|
8
8
|
}, z.core.$strip>;
|
|
9
|
-
declare const execute: import("
|
|
9
|
+
declare const execute: (graph: import("../../index.js").GraphClient, params: Record<string, string>) => Promise<import("../../index.js").Result<unknown, import("../../index.js").GraphError>>;
|
|
10
10
|
declare const meta: CommandMeta;
|
|
11
11
|
export { execute, meta, schema };
|
|
@@ -5,6 +5,6 @@ declare const schema: z.ZodObject<{
|
|
|
5
5
|
itemId: z.ZodString;
|
|
6
6
|
tableId: z.ZodString;
|
|
7
7
|
}, z.core.$strip>;
|
|
8
|
-
declare const execute: import("
|
|
8
|
+
declare const execute: (graph: import("../../index.js").GraphClient, params: Record<string, string>) => Promise<import("../../index.js").Result<unknown, import("../../index.js").GraphError>>;
|
|
9
9
|
declare const meta: CommandMeta;
|
|
10
10
|
export { execute, meta, schema };
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { z } from 'zod';
|
|
2
|
+
import type { CommandMeta } from './command-types.js';
|
|
3
|
+
declare const schema: z.ZodObject<{
|
|
4
|
+
driveId: z.ZodString;
|
|
5
|
+
itemId: z.ZodString;
|
|
6
|
+
worksheetId: z.ZodString;
|
|
7
|
+
}, z.core.$strip>;
|
|
8
|
+
declare const execute: (graph: import("../../index.js").GraphClient, params: Record<string, string>) => Promise<import("../../index.js").Result<unknown, import("../../index.js").GraphError>>;
|
|
9
|
+
declare const meta: CommandMeta;
|
|
10
|
+
export { execute, meta, schema };
|
|
@@ -1,9 +1,11 @@
|
|
|
1
1
|
import { z } from 'zod';
|
|
2
|
-
import type { CommandMeta } from './command-types.js';
|
|
2
|
+
import type { Command, CommandMeta } from './command-types.js';
|
|
3
3
|
declare const schema: z.ZodObject<{
|
|
4
4
|
messageId: z.ZodString;
|
|
5
5
|
attachmentId: z.ZodString;
|
|
6
|
+
select: z.ZodOptional<z.ZodString>;
|
|
7
|
+
expand: z.ZodOptional<z.ZodString>;
|
|
6
8
|
}, z.core.$strip>;
|
|
7
|
-
declare const execute:
|
|
9
|
+
declare const execute: Command['execute'];
|
|
8
10
|
declare const meta: CommandMeta;
|
|
9
11
|
export { execute, meta, schema };
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { z } from 'zod';
|
|
2
|
+
import type { Command, CommandMeta } from './command-types.js';
|
|
3
|
+
declare const schema: z.ZodObject<{
|
|
4
|
+
messageId: z.ZodString;
|
|
5
|
+
}, z.core.$strip>;
|
|
6
|
+
declare const execute: Command['execute'];
|
|
7
|
+
declare const meta: CommandMeta;
|
|
8
|
+
export { execute, meta, schema };
|
|
@@ -1,8 +1,4 @@
|
|
|
1
|
-
import { z } from 'zod';
|
|
2
1
|
import type { CommandMeta } from './command-types.js';
|
|
3
|
-
declare const schema:
|
|
4
|
-
messageId: z.ZodString;
|
|
5
|
-
}, z.core.$strip>;
|
|
6
|
-
declare const execute: import("./command-types.js").CommandExecute;
|
|
2
|
+
declare const execute: import("./command-types.js").CommandExecute, schema: import("./command-types.js").CommandSchema;
|
|
7
3
|
declare const meta: CommandMeta;
|
|
8
4
|
export { execute, meta, schema };
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { z } from 'zod';
|
|
2
|
+
import type { CommandMeta } from './command-types.js';
|
|
3
|
+
declare const schema: z.ZodObject<{
|
|
4
|
+
mailFolderId: z.ZodDefault<z.ZodString>;
|
|
5
|
+
messageRuleId: z.ZodString;
|
|
6
|
+
}, z.core.$strip>;
|
|
7
|
+
declare const execute: import("./command-types.js").CommandExecute;
|
|
8
|
+
declare const meta: CommandMeta;
|
|
9
|
+
export { execute, meta, schema };
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { z } from 'zod';
|
|
2
2
|
import type { CommandMeta } from './command-types.js';
|
|
3
|
-
declare const schema: z.ZodObject<{}, z.core.$
|
|
3
|
+
declare const schema: z.ZodObject<{}, z.core.$strip>;
|
|
4
4
|
declare const execute: import("./command-types.js").CommandExecute;
|
|
5
5
|
declare const meta: CommandMeta;
|
|
6
6
|
export { execute, meta, schema };
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { z } from 'zod';
|
|
2
|
+
import type { Command, CommandMeta } from './command-types.js';
|
|
3
|
+
declare const schema: z.ZodObject<{
|
|
4
|
+
select: z.ZodOptional<z.ZodString>;
|
|
5
|
+
expand: z.ZodOptional<z.ZodString>;
|
|
6
|
+
}, z.core.$strip>;
|
|
7
|
+
declare const execute: Command['execute'];
|
|
8
|
+
declare const meta: CommandMeta;
|
|
9
|
+
export { execute, meta, schema };
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { z } from 'zod';
|
|
2
|
+
import type { Result } from '../../domain/result.js';
|
|
3
|
+
import type { GraphClient, GraphError } from '../../infra/graph-client.js';
|
|
4
|
+
import type { CommandMeta } from './command-types.js';
|
|
5
|
+
declare const schema: z.ZodObject<{
|
|
6
|
+
onenotePageId: z.ZodString;
|
|
7
|
+
}, z.core.$strip>;
|
|
8
|
+
declare const execute: (graph: GraphClient, params: Record<string, string>) => Promise<Result<unknown, GraphError>>;
|
|
9
|
+
declare const meta: CommandMeta;
|
|
10
|
+
export { execute, meta, schema };
|
|
@@ -1,9 +1,4 @@
|
|
|
1
|
-
import { z } from 'zod';
|
|
2
1
|
import type { CommandMeta } from './command-types.js';
|
|
3
|
-
declare const schema:
|
|
4
|
-
siteId: z.ZodString;
|
|
5
|
-
driveId: z.ZodString;
|
|
6
|
-
}, z.core.$strip>;
|
|
7
|
-
declare const execute: import("./command-types.js").CommandExecute;
|
|
2
|
+
declare const execute: import("./command-types.js").CommandExecute, schema: import("./command-types.js").CommandSchema;
|
|
8
3
|
declare const meta: CommandMeta;
|
|
9
4
|
export { execute, meta, schema };
|
|
@@ -1,10 +1,4 @@
|
|
|
1
|
-
import { z } from 'zod';
|
|
2
1
|
import type { CommandMeta } from './command-types.js';
|
|
3
|
-
declare const schema:
|
|
4
|
-
siteId: z.ZodString;
|
|
5
|
-
listId: z.ZodString;
|
|
6
|
-
listItemId: z.ZodString;
|
|
7
|
-
}, z.core.$strip>;
|
|
8
|
-
declare const execute: import("./command-types.js").CommandExecute;
|
|
2
|
+
declare const execute: import("./command-types.js").CommandExecute, schema: import("./command-types.js").CommandSchema;
|
|
9
3
|
declare const meta: CommandMeta;
|
|
10
4
|
export { execute, meta, schema };
|
|
@@ -1,9 +1,4 @@
|
|
|
1
|
-
import { z } from 'zod';
|
|
2
1
|
import type { CommandMeta } from './command-types.js';
|
|
3
|
-
declare const schema:
|
|
4
|
-
siteId: z.ZodString;
|
|
5
|
-
listId: z.ZodString;
|
|
6
|
-
}, z.core.$strip>;
|
|
7
|
-
declare const execute: import("./command-types.js").CommandExecute;
|
|
2
|
+
declare const execute: import("./command-types.js").CommandExecute, schema: import("./command-types.js").CommandSchema;
|
|
8
3
|
declare const meta: CommandMeta;
|
|
9
4
|
export { execute, meta, schema };
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { z } from 'zod';
|
|
2
|
+
import type { CommandMeta } from './command-types.js';
|
|
3
|
+
declare const schema: z.ZodObject<{
|
|
4
|
+
siteId: z.ZodString;
|
|
5
|
+
onenotePageId: z.ZodString;
|
|
6
|
+
}, z.core.$strip>;
|
|
7
|
+
declare const execute: import("./command-types.js").CommandExecute;
|
|
8
|
+
declare const meta: CommandMeta;
|
|
9
|
+
export { execute, meta, schema };
|
|
@@ -1,8 +1,4 @@
|
|
|
1
|
-
import { z } from 'zod';
|
|
2
1
|
import type { CommandMeta } from './command-types.js';
|
|
3
|
-
declare const schema:
|
|
4
|
-
siteId: z.ZodString;
|
|
5
|
-
}, z.core.$strip>;
|
|
6
|
-
declare const execute: import("./command-types.js").CommandExecute;
|
|
2
|
+
declare const execute: import("./command-types.js").CommandExecute, schema: import("./command-types.js").CommandSchema;
|
|
7
3
|
declare const meta: CommandMeta;
|
|
8
4
|
export { execute, meta, schema };
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { z } from 'zod';
|
|
2
|
+
import type { CommandMeta } from './command-types.js';
|
|
3
|
+
declare const schema: z.ZodObject<{
|
|
4
|
+
siteId: z.ZodString;
|
|
5
|
+
}, z.core.$strip>;
|
|
6
|
+
declare const execute: import("./command-types.js").CommandExecute;
|
|
7
|
+
declare const meta: CommandMeta;
|
|
8
|
+
export { execute, meta, schema };
|
|
@@ -1,9 +1,4 @@
|
|
|
1
|
-
import { z } from 'zod';
|
|
2
1
|
import type { CommandMeta } from './command-types.js';
|
|
3
|
-
declare const schema:
|
|
4
|
-
calendarId: z.ZodString;
|
|
5
|
-
eventId: z.ZodString;
|
|
6
|
-
}, z.core.$strip>;
|
|
7
|
-
declare const execute: import("./command-types.js").CommandExecute;
|
|
2
|
+
declare const execute: import("./command-types.js").CommandExecute, schema: import("./command-types.js").CommandSchema;
|
|
8
3
|
declare const meta: CommandMeta;
|
|
9
4
|
export { execute, meta, schema };
|
|
@@ -1,10 +1,4 @@
|
|
|
1
|
-
import { z } from 'zod';
|
|
2
1
|
import type { CommandMeta } from './command-types.js';
|
|
3
|
-
declare const schema:
|
|
4
|
-
calendarId: z.ZodString;
|
|
5
|
-
startDateTime: z.ZodString;
|
|
6
|
-
endDateTime: z.ZodString;
|
|
7
|
-
}, z.core.$strip>;
|
|
8
|
-
declare const execute: import("./command-types.js").CommandExecute;
|
|
2
|
+
declare const execute: import("./command-types.js").CommandExecute, schema: import("./command-types.js").CommandSchema;
|
|
9
3
|
declare const meta: CommandMeta;
|
|
10
4
|
export { execute, meta, schema };
|
|
@@ -1,9 +1,5 @@
|
|
|
1
|
-
import {
|
|
2
|
-
|
|
3
|
-
declare const schema:
|
|
4
|
-
teamId: z.ZodString;
|
|
5
|
-
channelId: z.ZodString;
|
|
6
|
-
}, z.core.$strip>;
|
|
7
|
-
declare const execute: import("./command-types.js").CommandExecute;
|
|
1
|
+
import type { Command, CommandMeta } from './command-types.js';
|
|
2
|
+
declare const execute: Command['execute'];
|
|
3
|
+
declare const schema: import("./command-types.js").CommandSchema;
|
|
8
4
|
declare const meta: CommandMeta;
|
|
9
5
|
export { execute, meta, schema };
|
|
@@ -1,8 +1,4 @@
|
|
|
1
|
-
import { z } from 'zod';
|
|
2
1
|
import type { CommandMeta } from './command-types.js';
|
|
3
|
-
declare const schema:
|
|
4
|
-
teamId: z.ZodString;
|
|
5
|
-
}, z.core.$strip>;
|
|
6
|
-
declare const execute: import("./command-types.js").CommandExecute;
|
|
2
|
+
declare const execute: import("./command-types.js").CommandExecute, schema: import("./command-types.js").CommandSchema;
|
|
7
3
|
declare const meta: CommandMeta;
|
|
8
4
|
export { execute, meta, schema };
|
|
@@ -1,9 +1,4 @@
|
|
|
1
|
-
import { z } from 'zod';
|
|
2
1
|
import type { CommandMeta } from './command-types.js';
|
|
3
|
-
declare const schema:
|
|
4
|
-
todoTaskListId: z.ZodString;
|
|
5
|
-
todoTaskId: z.ZodString;
|
|
6
|
-
}, z.core.$strip>;
|
|
7
|
-
declare const execute: import("./command-types.js").CommandExecute;
|
|
2
|
+
declare const execute: import("./command-types.js").CommandExecute, schema: import("./command-types.js").CommandSchema;
|
|
8
3
|
declare const meta: CommandMeta;
|
|
9
4
|
export { execute, meta, schema };
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { z } from 'zod';
|
|
2
|
+
import type { Command, CommandMeta } from './command-types.js';
|
|
3
|
+
declare const schema: z.ZodObject<{
|
|
4
|
+
userId: z.ZodString;
|
|
5
|
+
select: z.ZodOptional<z.ZodString>;
|
|
6
|
+
expand: z.ZodOptional<z.ZodString>;
|
|
7
|
+
}, z.core.$strip>;
|
|
8
|
+
declare const execute: Command['execute'];
|
|
9
|
+
declare const meta: CommandMeta;
|
|
10
|
+
export { execute, meta, schema };
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Central Microsoft Graph permission scope map (audit round-8 Wave C).
|
|
3
|
+
*
|
|
4
|
+
* Source of truth: Microsoft Graph permissions reference
|
|
5
|
+
* (https://learn.microsoft.com/en-us/graph/permissions-reference). Each
|
|
6
|
+
* command's `graphDocsUrl` Learn page documents the required scope(s).
|
|
7
|
+
*
|
|
8
|
+
* Convention: list the LEAST-PRIVILEGED scope Microsoft documents for the
|
|
9
|
+
* delegated permissions path. When multiple alternatives exist (e.g.
|
|
10
|
+
* `Mail.Read` OR `Mail.ReadBasic` OR `Mail.ReadWrite`) we pick the most
|
|
11
|
+
* read-only choice. The basic Teams web client token grants ~30 scopes
|
|
12
|
+
* (`User.Read`, `Mail.Read`, `Calendars.Read`, `Files.Read`, `Tasks.Read`,
|
|
13
|
+
* `Notes.Read.All`, `Sites.Read.All`, `Group.Read.All`, `Team.ReadBasic.All`,
|
|
14
|
+
* `Channel.ReadBasic.All`, `People.Read`, `MailboxSettings.Read`, etc.). The
|
|
15
|
+
* M365ChatClient elevated identity adds `Chat.ReadBasic` and ODSP allow-list
|
|
16
|
+
* access (covered by `needsElevatedToken: true` per command).
|
|
17
|
+
*
|
|
18
|
+
* Surface: this map is read by `docs.ts toEntry` at manifest-render time
|
|
19
|
+
* and merged into each command's `scopesRequired`. Per-command inline
|
|
20
|
+
* `meta.scopesRequired` takes precedence (so command files can override).
|
|
21
|
+
* An LLM uses this with `scopes-check` to predict 403s pre-flight.
|
|
22
|
+
*
|
|
23
|
+
* Lifecycle / meta commands intentionally absent (empty array would imply
|
|
24
|
+
* "no scope needed" which is true for them but also true of `update`,
|
|
25
|
+
* `docs`, `help-json` — none of which call Graph).
|
|
26
|
+
*/
|
|
27
|
+
declare const GRAPH_SCOPES_BY_COMMAND: Readonly<Record<string, ReadonlyArray<string>>>;
|
|
28
|
+
declare const lookupScopes: (commandName: string) => ReadonlyArray<string> | undefined;
|
|
29
|
+
export { GRAPH_SCOPES_BY_COMMAND, lookupScopes };
|