@genspark/cli 1.2.0 → 1.4.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/README.md +12 -9
- package/dist/client.d.ts +14 -0
- package/dist/client.d.ts.map +1 -1
- package/dist/client.js +47 -32
- package/dist/client.js.map +1 -1
- package/dist/config.d.ts +1 -0
- package/dist/config.d.ts.map +1 -1
- package/dist/config.js +16 -0
- package/dist/config.js.map +1 -1
- package/dist/index.js +162 -30
- package/dist/index.js.map +1 -1
- package/dist/types.d.ts +3 -0
- package/dist/types.d.ts.map +1 -1
- package/docs/skills.md +7 -7
- package/package.json +1 -1
- package/skills/gsk-gmail/SKILL.md +14 -4
- package/skills/gsk-google-calendar/SKILL.md +8 -6
- package/skills/gsk-google-chat/SKILL.md +14 -8
- package/skills/gsk-google-contacts/SKILL.md +5 -17
- package/skills/gsk-google-docs/SKILL.md +8 -4
- package/skills/gsk-google-drive/SKILL.md +9 -4
- package/skills/gsk-onedrive/SKILL.md +13 -6
- package/skills/gsk-outlook-calendar/SKILL.md +9 -6
- package/skills/gsk-phone-call/SKILL.md +9 -10
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: gsk-google-drive
|
|
3
3
|
version: 1.0.0
|
|
4
|
-
description: 'Google Drive file operations. Actions: list, search, read, upload.'
|
|
4
|
+
description: 'Google Drive file operations. Actions: list, search, read, upload, share.'
|
|
5
5
|
metadata:
|
|
6
6
|
category: general
|
|
7
7
|
requires:
|
|
@@ -14,7 +14,7 @@ metadata:
|
|
|
14
14
|
|
|
15
15
|
**PREREQUISITE:** Read `../gsk-shared/SKILL.md` for auth, global flags, and security rules.
|
|
16
16
|
|
|
17
|
-
Google Drive file operations. Actions: list, search, read, upload.
|
|
17
|
+
Google Drive file operations. Actions: list, search, read, upload, share.
|
|
18
18
|
|
|
19
19
|
## Usage
|
|
20
20
|
|
|
@@ -28,14 +28,14 @@ gsk gdrive [options]
|
|
|
28
28
|
|
|
29
29
|
| Flag | Required | Description |
|
|
30
30
|
|------|----------|-------------|
|
|
31
|
-
| `<action>` (positional) | Yes | Action to perform. 'list': List files directly inside a Google Drive folder; 'search': Search files by name, type, or owner; 'read': Read and extract content from a file; 'upload': Upload a file to Google Drive (string, one of: list, search, read, upload) |
|
|
31
|
+
| `<action>` (positional) | Yes | Action to perform. 'list': List files directly inside a Google Drive folder; 'search': Search files by name, type, or owner; 'read': Read and extract content from a file; 'upload': Upload a file to Google Drive; 'share': Grant access to a file (specific emails or anyone-with-link; app-created/opened files only under drive.file) (string, one of: list, search, read, upload, share) |
|
|
32
32
|
| `--folder_id` | No | [list] Google Drive folder ID or folder URL. \| [search] Search within a specific folder for 'search' action. Accepts a folder ID or Google Drive folder URL. \| [upload] Google Drive folder ID to upload to. Optional, uploads to root if not specified. (string) |
|
|
33
33
|
| `--folder_url` | No | [list] Google Drive folder URL. \| [search] Google Drive folder URL to list/search within. (string) |
|
|
34
34
|
| `--mime_type` | No | [list] Optional MIME type filter. \| [search] Filter by MIME type for 'search' (e.g., 'application/pdf'). \| [upload] The MIME type of the file (optional, will be auto-detected from file_name extension). Examples: 'text/plain', 'text/csv', 'application/json', 'image/png'. (string) |
|
|
35
35
|
| `--trashed` | No | [list] Include trashed files. \| [search] Include trashed files in search results for 'search' action (boolean) |
|
|
36
36
|
| `--query` | No | [search] Use keywords simply, terms will be combined into advanced search query in the later process.For example, if user ask for 'tax related documents', just use 'tax' as the query,DO NOT use advanced search query like 'name contains 'tax'' or 'fullText contains 'tax''. Use '*' to list all authorized files, especially when folder_id is supplied. (string) |
|
|
37
37
|
| `--owner` | No | [search] Filter by file owner (email address) for 'search' action (string) |
|
|
38
|
-
| `--file_id` | No | [read] The ID of the file to read from Google Drive. (string) |
|
|
38
|
+
| `--file_id` | No | [read] The ID of the file to read from Google Drive. \| [share] Google Drive file ID to share (from google_drive search/list/upload results). (string) |
|
|
39
39
|
| `--question` | No | [read] The question to answer about the file content. (string) |
|
|
40
40
|
| `--raw_content` | No | [read] Return the complete converted document text (markdown) without question-answering. For programmatic consumers that need full fidelity; ignores 'question'. (boolean) |
|
|
41
41
|
| `--content` | No | [upload] Text content to create as a file. Use this for creating text-based files (e.g., .txt, .md, .csv, .json, .html). Provide exactly one of 'content', 'file_path', or 'file_url'. (string) |
|
|
@@ -44,6 +44,11 @@ gsk gdrive [options]
|
|
|
44
44
|
| `--file_name` | No | [upload] File name in Google Drive (include extension, e.g., 'report.txt'). MIME type will be auto-detected from extension if not specified. (string) |
|
|
45
45
|
| `--convert_to_google_format` | No | [upload] Whether to convert to Google Workspace format (e.g., .docx → Google Docs, .xlsx → Google Sheets, .pptx → Google Slides). Default: false (boolean, default: `False`) |
|
|
46
46
|
| `--share_publicly` | No | [upload] Whether to share the file publicly for viewing. Default: false (boolean, default: `False`) |
|
|
47
|
+
| `--share_type` | No | [share] 'user' (default) grants the people listed in ``emails``; 'anyone' makes the file accessible to anyone with the link. (string, one of: user, anyone) |
|
|
48
|
+
| `--emails` | No | [share] Email addresses to grant access to. Required when share_type is 'user'; ignored for 'anyone'. (array) |
|
|
49
|
+
| `--role` | No | [share] Access level to grant: 'reader' (default), 'commenter', or 'writer'. (string, one of: reader, commenter, writer) |
|
|
50
|
+
| `--send_notification` | No | [share] Send Google's notification email to the grantees (share_type 'user' only). Default: true. (boolean, default: `True`) |
|
|
51
|
+
| `--message` | No | [share] Optional personal message included in the notification email. (string) |
|
|
47
52
|
|
|
48
53
|
## Local File Support
|
|
49
54
|
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: gsk-onedrive
|
|
3
3
|
version: 1.0.0
|
|
4
|
-
description: 'OneDrive file operations. Actions: list, search, read.'
|
|
4
|
+
description: 'OneDrive file operations. Actions: list, search, read, upload, share.'
|
|
5
5
|
metadata:
|
|
6
6
|
category: general
|
|
7
7
|
requires:
|
|
@@ -14,7 +14,7 @@ metadata:
|
|
|
14
14
|
|
|
15
15
|
**PREREQUISITE:** Read `../gsk-shared/SKILL.md` for auth, global flags, and security rules.
|
|
16
16
|
|
|
17
|
-
OneDrive file operations. Actions: list, search, read.
|
|
17
|
+
OneDrive file operations. Actions: list, search, read, upload, share.
|
|
18
18
|
|
|
19
19
|
## Usage
|
|
20
20
|
|
|
@@ -26,15 +26,22 @@ gsk onedrive [options]
|
|
|
26
26
|
|
|
27
27
|
| Flag | Required | Description |
|
|
28
28
|
|------|----------|-------------|
|
|
29
|
-
| `<action>` (positional) | Yes | Action to perform. 'list': List files in a folder; 'search': Search files; 'read': Read and extract content from a file (string, one of: list, search, read) |
|
|
29
|
+
| `<action>` (positional) | Yes | Action to perform. 'list': List files in a folder; 'search': Search files; 'read': Read and extract content from a file; 'upload': Upload a file (local path, file-wrapper URL, AI Drive path, or text content) to OneDrive; 'share': Create a sharing link (view/edit/embed; anonymous or organization scope) for a file or folder (string, one of: list, search, read, upload, share) |
|
|
30
30
|
| `--onedrive_url` | No | [list] A OneDrive URL to list files from. Can be a sharing link, folder link, or any OneDrive URL. (string) |
|
|
31
|
-
| `--folder_id` | No | [list] The folder item ID to list contents of. Get folder IDs from previous onedrive_list_files or onedrive_search results. (string) |
|
|
32
|
-
| `--folder_path` | No | [list] The folder path relative to OneDrive root. Example: 'Documents/Projects' to list files in that subfolder. (string) |
|
|
31
|
+
| `--folder_id` | No | [list] The folder item ID to list contents of. Get folder IDs from previous onedrive_list_files or onedrive_search results. \| [upload] Target folder item ID (from onedrive_list_files or onedrive_search). If omitted, ``folder_path`` is used; if both are omitted, the upload goes to the OneDrive root. (string) |
|
|
32
|
+
| `--folder_path` | No | [list] The folder path relative to OneDrive root. Example: 'Documents/Projects' to list files in that subfolder. \| [upload] Target folder path relative to the OneDrive root, e.g. 'Documents/Reports'. The folder must already exist. Ignored when ``folder_id`` is provided. (string) |
|
|
33
33
|
| `--limit` | No | [list] Maximum number of items to return (1-200). Default: 50 (integer) |
|
|
34
34
|
| `--query` | No | [search] The search query string. **Query Behavior**: • Spaces = AND: 'project report' finds files with BOTH terms • OR operator: 'project OR report' finds files with EITHER term • Empty string: '*' lists all files • Wildcards: 'report*' finds files starting with 'report' • Examples: 'budget.xlsx', 'meeting OR conference', '*.pdf', 'project 2024' (string) |
|
|
35
|
-
| `--file_id` | No | [read] The ID of the file OR the OneDrive/SharePoint URL to read from OneDrive or SharePoint. Can be either a file ID (like '01W56PINYRO3...') or a full OneDrive/SharePoint URL (like 'https://domain-my.sharepoint.com/personal/user/Documents/file.pdf' or SharePoint driveItem IDs). For Teams attachments, use the 'file_id' value from Teams search results onedrive_file_params. (string) |
|
|
35
|
+
| `--file_id` | No | [read] The ID of the file OR the OneDrive/SharePoint URL to read from OneDrive or SharePoint. Can be either a file ID (like '01W56PINYRO3...') or a full OneDrive/SharePoint URL (like 'https://domain-my.sharepoint.com/personal/user/Documents/file.pdf' or SharePoint driveItem IDs). For Teams attachments, use the 'file_id' value from Teams search results onedrive_file_params. \| [share] OneDrive item ID of the file or folder to share (from onedrive_list_files or onedrive_search). Mutually exclusive with ``file_path``. (string) |
|
|
36
36
|
| `--question` | No | [read] The question to answer about the file content. (string) |
|
|
37
37
|
| `--raw_content` | No | [read] Return the complete converted document text (markdown) without question-answering. For programmatic consumers that need full fidelity; ignores 'question'. (boolean) |
|
|
38
|
+
| `--file_path` | No | [upload] Path or URL to the file to upload. Accepts any of: (1) a local server filesystem path (e.g. ``/tmp/report.xlsx`` — Claw VM use); (2) a Genspark file-wrapper URL (e.g. ``https://www.genspark.ai/api/files/s/<code>``) — canonical sandbox-to-server bridge, produced by calling ``UploadFileWrapper`` on a sandbox file first; or (3) an AI Drive path (e.g. ``/mnt/aidrive/path/to/file.xlsx``, ``/aidrive/...`` or ``aidrive://...``). Mutually exclusive with ``content``. \| [share] Path of the item relative to the OneDrive root, e.g. 'Documents/report.pdf'. Ignored when ``file_id`` is provided. (string) |
|
|
39
|
+
| `--content` | No | [upload] Text content to upload as the file body (encoded as UTF-8). Useful for creating .txt/.md/.json/.csv files without a local copy. Mutually exclusive with ``file_path``. (string) |
|
|
40
|
+
| `--file_name` | No | [upload] File name to create on OneDrive, including the extension (e.g. 'report.pdf'). Required when ``content`` is used; if omitted with ``file_path``, the basename of the source file is used. (string) |
|
|
41
|
+
| `--mime_type` | No | [upload] MIME type of the file. Auto-detected from the file extension if omitted. (string) |
|
|
42
|
+
| `--conflict_behavior` | No | [upload] How to handle a name conflict on OneDrive: 'rename' appends a suffix (default), 'replace' overwrites, 'fail' returns an error. (string, one of: rename, replace, fail) |
|
|
43
|
+
| `--link_type` | No | [share] Kind of link to create: 'view' (read-only, default), 'edit', or 'embed'. (string, one of: view, edit, embed) |
|
|
44
|
+
| `--link_scope` | No | [share] Who the link works for: 'anonymous' (anyone with the link) or 'organization' (signed-in members of the user's org). Omitted, the account default applies. (string, one of: anonymous, organization) |
|
|
38
45
|
|
|
39
46
|
## Local File Support
|
|
40
47
|
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: gsk-outlook-calendar
|
|
3
3
|
version: 1.0.0
|
|
4
|
-
description: 'Outlook Calendar operations. Actions: list, create, respond,
|
|
5
|
-
delete.'
|
|
4
|
+
description: 'Outlook Calendar operations. Actions: list, free_busy, create, respond,
|
|
5
|
+
modify, delete.'
|
|
6
6
|
metadata:
|
|
7
7
|
category: general
|
|
8
8
|
requires:
|
|
@@ -15,7 +15,7 @@ metadata:
|
|
|
15
15
|
|
|
16
16
|
**PREREQUISITE:** Read `../gsk-shared/SKILL.md` for auth, global flags, and security rules.
|
|
17
17
|
|
|
18
|
-
Outlook Calendar operations. Actions: list, create, respond, modify, delete.
|
|
18
|
+
Outlook Calendar operations. Actions: list, free_busy, create, respond, modify, delete.
|
|
19
19
|
|
|
20
20
|
## Usage
|
|
21
21
|
|
|
@@ -27,19 +27,22 @@ gsk outlook_calendar [options]
|
|
|
27
27
|
|
|
28
28
|
| Flag | Required | Description |
|
|
29
29
|
|------|----------|-------------|
|
|
30
|
-
| `<action>` (positional) | Yes | Action to perform. 'list': List upcoming calendar events; 'create': Create a new calendar event. By default this returns a LOCAL DRAFT only — nothing lands in the calendar until the user confirms it in the Genspark UI. Callers without a confirmation UI (e.g. gsk) must pass --skip_confirmation to create the event directly; 'respond': RSVP (accept / decline / tentative) to an existing invite. Supports --comment and --proposed_new_time (Outlook-only counter-proposal); 'modify': Modify (Graph PATCH /me/events/{id}) an existing event in place without delete+create; 'delete': Delete a calendar event (string, one of: list, create, respond, modify, delete) |
|
|
30
|
+
| `<action>` (positional) | Yes | Action to perform. 'list': List upcoming calendar events; 'free_busy': Query free/busy availability for people (any org member) in a time window (find open meeting slots); 'create': Create a new calendar event. By default this returns a LOCAL DRAFT only — nothing lands in the calendar until the user confirms it in the Genspark UI. Callers without a confirmation UI (e.g. gsk) must pass --skip_confirmation to create the event directly; 'respond': RSVP (accept / decline / tentative) to an existing invite. Supports --comment and --proposed_new_time (Outlook-only counter-proposal); 'modify': Modify (Graph PATCH /me/events/{id}) an existing event in place without delete+create; 'delete': Delete a calendar event (string, one of: list, free_busy, create, respond, modify, delete) |
|
|
31
31
|
| `--filter_query` | No | [list] Text to filter calendar events by subject. Empty for listing all events in the time range. (string) |
|
|
32
32
|
| `--time_min` | No | [list] Optional. Start time for the calendar view (ISO 8601 timestamp). Defaults to 30 days ago. (string) |
|
|
33
33
|
| `--time_max` | No | [list] Optional. End time for the calendar view (ISO 8601 timestamp). Defaults to 60 days from now. (string) |
|
|
34
34
|
| `--from_account` | No | [list] Optional: Email address of the Outlook account to use. Use this when the user has multiple Outlook accounts connected. If not specified, uses the default Outlook account. \| [create] Optional: Email address of the Outlook account to use. Use this when the user has multiple Outlook accounts connected. If not specified, uses the default Outlook account. \| [respond] Optional: Email address of the Outlook account to use. Defaults to the user's primary Outlook account. \| [modify] Optional: Email address of the Outlook account to use. \| [delete] Optional: Email address of the Outlook account to use. Use this when the user has multiple Outlook accounts connected. If not specified, uses the default Outlook account. (string) |
|
|
35
35
|
| `--limit` | No | [list] Optional. Maximum number of events to return. Defaults to 20. (integer) |
|
|
36
|
+
| `--start_time` | No | [free_busy] Window start, ISO 8601 date-time WITHOUT offset (e.g. '2026-07-20T09:00:00') — interpreted in 'timezone'. \| [create] Start time of the event in ISO 8601 format, must include correct timezone offset (e.g., 'yyyy-mm-ddThh:mm:ss+hh:mm') \| [modify] New start time (ISO 8601 with timezone offset). Pass with --end_time when rescheduling. (string) |
|
|
37
|
+
| `--end_time` | No | [free_busy] Window end, ISO 8601 (same rule). \| [create] End time of the event in ISO 8601 format, must include correct timezone offset (e.g., 'yyyy-mm-ddThh:mm:ss-hh:mm') \| [modify] New end time (ISO 8601 with timezone offset). Required if start_time is given. (string) |
|
|
38
|
+
| `--schedules` | No | [free_busy] Email addresses to check. Default: the signed-in user's own address. (array) |
|
|
39
|
+
| `--timezone` | No | [free_busy] Windows or IANA time zone name for interpreting start/end and the response (e.g. 'China Standard Time', 'UTC'). Default: 'UTC'. (string) |
|
|
40
|
+
| `--interval_minutes` | No | [free_busy] Granularity of the availability view in minutes (5/10/15/30/60). Default: 30. (integer) |
|
|
36
41
|
| `--summary` | No | [create] The title of the event \| [modify] New event title (maps to Outlook's 'subject' field). (string) |
|
|
37
42
|
| `--location` | No | [create] The location of the event \| [modify] New event location. (string) |
|
|
38
43
|
| `--description` | No | [create] Description or details of the event. Supports restricted HTML formatting (safe subset rendered via Vue v-html): <a>, <b>, <strong>, <i>, <em>, <u>, <br>, <p>, <ul>, <ol>, <li>, <span>, <img>. Use for links, bold, italics, lists, line breaks, images. \| [modify] New event body (HTML allowed — Outlook renders the same restricted subset as create). (string) |
|
|
39
44
|
| `--time_zone` | No | [create] Time zone for the event (e.g., 'GMT-07:00') \| [respond] Optional time zone used for the proposed_new_time payload (IANA name, e.g. 'America/Los_Angeles'). Defaults to UTC. \| [modify] Optional IANA time zone for start/end (e.g. 'America/Los_Angeles'). Defaults to UTC. (string) |
|
|
40
45
|
| `--time_zone_name` | No | [create] Time zone name for the event (e.g., 'America/Los_Angeles') (string) |
|
|
41
|
-
| `--start_time` | No | [create] Start time of the event in ISO 8601 format, must include correct timezone offset (e.g., 'yyyy-mm-ddThh:mm:ss+hh:mm') \| [modify] New start time (ISO 8601 with timezone offset). Pass with --end_time when rescheduling. (string) |
|
|
42
|
-
| `--end_time` | No | [create] End time of the event in ISO 8601 format, must include correct timezone offset (e.g., 'yyyy-mm-ddThh:mm:ss-hh:mm') \| [modify] New end time (ISO 8601 with timezone offset). Required if start_time is given. (string) |
|
|
43
46
|
| `--attendees` | No | [create] List of email addresses of attendees \| [modify] REPLACE the attendee list with this set of emails. Mutually exclusive with add_attendees / remove_attendees. (array) |
|
|
44
47
|
| `--calendar_id` | No | [create] The calendar identifier. Use 'primary' for the user's primary calendar or provide a specific calendar email address (string) |
|
|
45
48
|
| `--event_id` | No | [create] The event identifier. If the request is to modify an existing event, provide the event_id of the event to be modified. If the request is to create a new event, leave this field empty. \| [respond] Outlook event id of the invitation to respond to (from a prior outlook_calendar_list call). \| [modify] Outlook event id to modify. \| [delete] The Outlook Calendar event ID to delete (string) |
|
|
@@ -16,8 +16,10 @@ description: 'Make a real AI phone call on the user''s behalf. Validates prerequ
|
|
|
16
16
|
inline when short; offer it otherwise.
|
|
17
17
|
|
|
18
18
|
Phone numbers must have verifiable lineage (user-provided, prior tool results, or
|
|
19
|
-
the built-in Maps lookup) — never fabricate a number.
|
|
20
|
-
|
|
19
|
+
the built-in Maps lookup) — never fabricate a number. contact_info accepts a phone
|
|
20
|
+
number, a calllog: contact_ref, or a Google Maps place_id from maps_search — the
|
|
21
|
+
type is detected automatically from its shape. With --dry-run, only validates and
|
|
22
|
+
resolves the contact; no call is placed.
|
|
21
23
|
|
|
22
24
|
First-time users must finish a one-time web setup before any real call: if the result
|
|
23
25
|
carries code=setup_incomplete, show the user its setup_url (browser page ending
|
|
@@ -25,11 +27,11 @@ description: 'Make a real AI phone call on the user''s behalf. Validates prerequ
|
|
|
25
27
|
Use phone_call_setup_status to pre-check instead of dialing blind when the user
|
|
26
28
|
may not have set up yet.'
|
|
27
29
|
metadata:
|
|
28
|
-
category:
|
|
30
|
+
category: phone-call
|
|
29
31
|
requires:
|
|
30
32
|
bins:
|
|
31
33
|
- gsk
|
|
32
|
-
cliHelp: gsk phone-call --help
|
|
34
|
+
cliHelp: gsk phone-call dial --help
|
|
33
35
|
---
|
|
34
36
|
|
|
35
37
|
# gsk-phone-call
|
|
@@ -38,24 +40,21 @@ metadata:
|
|
|
38
40
|
|
|
39
41
|
Make a real AI phone call on the user's behalf. Validates prerequisites (membership, phone setup, credits), resolves the contact (Google Maps place data for businesses; number validation for personal contacts), then dials, converses by voice, and returns the outcome: call status, true audio duration (audio_duration_seconds), dial attempts (dial_attempts), summary, and transcript. A persistent call record (summary, transcript, recording) is saved with the call's project.
|
|
40
42
|
MANDATORY after every call, without being asked: (1) present the outcome to the user — who was called, final status, real call duration, and the key result; (2) disclose EVERY dial attempt made, including automatic retries and any accidental extra dials; (3) tell the user a persistent call record exists and how to see it (the call_log / call_detail tools, or the call's project page). Show the transcript inline when short; offer it otherwise.
|
|
41
|
-
Phone numbers must have verifiable lineage (user-provided, prior tool results, or the built-in Maps lookup) — never fabricate a number. With --dry-run, only validates and resolves the contact; no call is placed.
|
|
43
|
+
Phone numbers must have verifiable lineage (user-provided, prior tool results, or the built-in Maps lookup) — never fabricate a number. contact_info accepts a phone number, a calllog: contact_ref, or a Google Maps place_id from maps_search — the type is detected automatically from its shape. With --dry-run, only validates and resolves the contact; no call is placed.
|
|
42
44
|
First-time users must finish a one-time web setup before any real call: if the result carries code=setup_incomplete, show the user its setup_url (browser page ending in a short test call to their own phone), wait for them to confirm, then retry. Use phone_call_setup_status to pre-check instead of dialing blind when the user may not have set up yet.
|
|
43
45
|
|
|
44
46
|
## Usage
|
|
45
47
|
|
|
46
48
|
```bash
|
|
47
|
-
gsk phone-call [options]
|
|
49
|
+
gsk phone-call dial [options]
|
|
48
50
|
```
|
|
49
51
|
|
|
50
|
-
**Aliases:** `phone-call`, `call-for-me`
|
|
51
|
-
|
|
52
52
|
## Flags
|
|
53
53
|
|
|
54
54
|
| Flag | Required | Description |
|
|
55
55
|
|------|----------|-------------|
|
|
56
56
|
| `<recipient>` (positional) | Yes | The name of the person or business to call. Examples: - Personal: 'John Smith', 'Dr. Sarah Johnson' - Business: 'Starbucks George Street', 'Hilton Hotel Downtown' (string) |
|
|
57
|
-
| `-c`, `--contact_info` | Yes | Contact information
|
|
58
|
-
| `--is_place_id` | Yes | Indicates the type of contact_info provided: - true: contact_info is a Google Maps place_id (business) - false: contact_info is a phone number (personal contact) (boolean) |
|
|
57
|
+
| `-c`, `--contact_info` | Yes | Contact information — a phone number, a calllog: contact_ref, or a Google Maps place_id; the type is detected automatically from its shape. **Phone numbers**: include the international country code ('+1-555-123-4567'); numbers without one are treated as US. MUST have verified data lineage from (1) user-provided info, (2) previous tool results, or (3) explicit context — NEVER fabricate, estimate, or infer a number. **calllog: contact_ref** (from the call_log tool's contacts view, `--view contacts`): the preferred way to re-dial someone previously called — their real number stays masked. **Google Maps place_id** (e.g. 'ChIJcawkWTyuEmsRG56o5LAc0LQ'): must come from maps_search results — never fabricate or guess one. The call then uses the business's Maps phone number and enriches the call record with the place data. (string) |
|
|
59
58
|
| `-p`, `--purpose` | Yes | The clear reason for making the call (e.g., 'Check reservation availability', 'Inquire about business hours'). (string) |
|
|
60
59
|
|
|
61
60
|
> **CAUTION:** This command performs a write/send operation. Double-check parameters before executing.
|