@circleback/cli 0.7.0 → 0.8.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 +3 -1
- package/dist/commands/calendar.js +8 -1
- package/dist/commands/meetings.js +17 -1
- package/dist/commands/registry.js +4 -3
- package/dist/helpers/formatter.js +2 -0
- package/dist/helpers/table.js +10 -1
- package/dist/types.js +2 -0
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -48,10 +48,12 @@ cb meetings --json
|
|
|
48
48
|
| `cb update` | Update CLI to the latest version |
|
|
49
49
|
| `cb meetings [search]` | Search meetings |
|
|
50
50
|
| `cb meetings read <ids...>` | Read detailed meeting info, notes, and action items (max 50) |
|
|
51
|
+
| `cb meetings update <id>` | Update a meeting's name, notes, or private notes |
|
|
51
52
|
| `cb meetings share <id>` | Share a meeting or remove access |
|
|
52
53
|
| `cb transcripts <search>` | Search transcript content |
|
|
53
54
|
| `cb transcripts read <ids...>` | Read full transcripts (max 50) |
|
|
54
55
|
| `cb calendar` | Search calendar events |
|
|
56
|
+
| `cb calendar update <id>` | Update private notes for a meeting before it starts |
|
|
55
57
|
| `cb people <names...>` | Search people by name |
|
|
56
58
|
| `cb companies <terms...>` | Search companies by name or domain |
|
|
57
59
|
| `cb emails [search]` | Search connected email accounts |
|
|
@@ -116,7 +118,7 @@ For stateless automation, set `CIRCLEBACK_API_KEY` instead of logging in:
|
|
|
116
118
|
CIRCLEBACK_API_KEY=cb_your_api_key cb meetings --json
|
|
117
119
|
```
|
|
118
120
|
|
|
119
|
-
Changing action items, tags, or
|
|
121
|
+
Changing meetings, action items, tags, or sharing permissions needs write access. Browser logins from before v0.5.0 don't include it, so run `cb auth login` again; read-only API keys can't make changes.
|
|
120
122
|
|
|
121
123
|
`CIRCLEBACK_API_KEY` takes precedence over stored credentials. Unset it before running `cb auth login`; `cb auth logout` cannot clear an environment variable from your shell.
|
|
122
124
|
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.searchCalendarCommand = void 0;
|
|
3
|
+
exports.updateCalendarEventCommand = exports.searchCalendarCommand = void 0;
|
|
4
4
|
const commander_1 = require("commander");
|
|
5
5
|
const constants_1 = require("../constants");
|
|
6
6
|
const command_1 = require("../helpers/command");
|
|
@@ -16,3 +16,10 @@ exports.searchCalendarCommand = (0, command_1.defineToolCommand)(new commander_1
|
|
|
16
16
|
startDate: (0, date_1.getStartDate)(options),
|
|
17
17
|
endDate: options.to || undefined,
|
|
18
18
|
}));
|
|
19
|
+
exports.updateCalendarEventCommand = (0, command_1.defineToolCommand)(new commander_1.Command('update')
|
|
20
|
+
.description('Update private notes for a meeting before it starts. Replaces the current notes.')
|
|
21
|
+
.argument('<id>', 'Event ID from `cb calendar`')
|
|
22
|
+
.requiredOption('--private-notes <notes>', 'Your private notes (Markdown)'), types_1.ToolName.UpdateCalendarEvent, (calendarMeetingId, { privateNotes }) => ({
|
|
23
|
+
calendarMeetingId,
|
|
24
|
+
privateNotes,
|
|
25
|
+
}));
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.shareMeetingCommand = exports.readMeetingsCommand = exports.searchMeetingsCommand = void 0;
|
|
3
|
+
exports.updateMeetingCommand = exports.shareMeetingCommand = exports.readMeetingsCommand = exports.searchMeetingsCommand = void 0;
|
|
4
4
|
const commander_1 = require("commander");
|
|
5
5
|
const constants_1 = require("../constants");
|
|
6
6
|
const command_1 = require("../helpers/command");
|
|
@@ -98,3 +98,19 @@ exports.shareMeetingCommand = (0, command_1.defineToolCommand)(new commander_1.C
|
|
|
98
98
|
],
|
|
99
99
|
};
|
|
100
100
|
});
|
|
101
|
+
const addMeetingFieldOptions = (command) => command
|
|
102
|
+
.option('--name <name>', 'Set the name')
|
|
103
|
+
.option('--notes <notes>', 'Set the notes (Markdown)')
|
|
104
|
+
.option('--private-notes <notes>', 'Set your private notes (Markdown)');
|
|
105
|
+
const getMeetingFields = (fields) => {
|
|
106
|
+
if (!Object.values(fields).some((value) => value !== undefined)) {
|
|
107
|
+
throw new Error('Provide at least one field to update.');
|
|
108
|
+
}
|
|
109
|
+
return fields;
|
|
110
|
+
};
|
|
111
|
+
exports.updateMeetingCommand = (0, command_1.defineToolCommand)(addMeetingFieldOptions(new commander_1.Command('update')
|
|
112
|
+
.description('Update a meeting. Each option replaces the current value.')
|
|
113
|
+
.argument('<id>', 'Meeting ID')), types_1.ToolName.UpdateMeeting, (meetingId, fields) => ({
|
|
114
|
+
meetingId,
|
|
115
|
+
...getMeetingFields(fields),
|
|
116
|
+
}));
|
|
@@ -17,10 +17,11 @@ const standaloneCommands = [auth_1.authCommand, update_1.updateCommand];
|
|
|
17
17
|
const commandGroups = [
|
|
18
18
|
{
|
|
19
19
|
name: 'meetings',
|
|
20
|
-
description: 'Find, read, and share meetings.',
|
|
20
|
+
description: 'Find, read, update, and share meetings.',
|
|
21
21
|
subcommands: [
|
|
22
22
|
meetings_1.searchMeetingsCommand,
|
|
23
23
|
meetings_1.readMeetingsCommand,
|
|
24
|
+
meetings_1.updateMeetingCommand,
|
|
24
25
|
meetings_1.shareMeetingCommand,
|
|
25
26
|
],
|
|
26
27
|
},
|
|
@@ -31,8 +32,8 @@ const commandGroups = [
|
|
|
31
32
|
},
|
|
32
33
|
{
|
|
33
34
|
name: 'calendar',
|
|
34
|
-
description: 'Search calendar events.',
|
|
35
|
-
subcommands: [calendar_1.searchCalendarCommand],
|
|
35
|
+
description: 'Search and update calendar events.',
|
|
36
|
+
subcommands: [calendar_1.searchCalendarCommand, calendar_1.updateCalendarEventCommand],
|
|
36
37
|
},
|
|
37
38
|
{
|
|
38
39
|
name: 'people',
|
|
@@ -88,6 +88,8 @@ const formatForTool = (toolName, data) => {
|
|
|
88
88
|
return (0, table_1.formatTags)(data);
|
|
89
89
|
case types_1.ToolName.AddTagToMeetings:
|
|
90
90
|
case types_1.ToolName.RemoveTagFromMeetings:
|
|
91
|
+
case types_1.ToolName.UpdateMeeting:
|
|
92
|
+
case types_1.ToolName.UpdateCalendarEvent:
|
|
91
93
|
return;
|
|
92
94
|
default: {
|
|
93
95
|
const _absurd = toolName;
|
package/dist/helpers/table.js
CHANGED
|
@@ -140,17 +140,26 @@ const formatCalendarEvents = (events) => {
|
|
|
140
140
|
const table = new cli_table3_1.default({
|
|
141
141
|
head: [
|
|
142
142
|
style_1.brand.bold('Title'),
|
|
143
|
+
style_1.brand.bold('ID'),
|
|
143
144
|
style_1.brand.bold('Start'),
|
|
144
145
|
style_1.brand.bold('End'),
|
|
145
146
|
style_1.brand.bold('Platform'),
|
|
146
147
|
style_1.brand.bold('Attendees'),
|
|
147
148
|
],
|
|
148
|
-
colWidths: [
|
|
149
|
+
colWidths: [
|
|
150
|
+
30,
|
|
151
|
+
idColumnWidth(events.map((event) => event.id)),
|
|
152
|
+
20,
|
|
153
|
+
20,
|
|
154
|
+
12,
|
|
155
|
+
35,
|
|
156
|
+
],
|
|
149
157
|
wordWrap: true,
|
|
150
158
|
style: style_1.tableStyle,
|
|
151
159
|
});
|
|
152
160
|
table.push(...events.map((event) => [
|
|
153
161
|
(0, string_1.truncate)(event.title, 28),
|
|
162
|
+
event.id,
|
|
154
163
|
(0, date_1.formatDateTime)(event.startTime),
|
|
155
164
|
(0, date_1.formatDateTime)(event.endTime),
|
|
156
165
|
event.platform ?? '-',
|
package/dist/types.js
CHANGED
|
@@ -34,6 +34,8 @@ var ToolName;
|
|
|
34
34
|
ToolName["AddTagToMeetings"] = "AddTagToMeetings";
|
|
35
35
|
ToolName["RemoveTagFromMeetings"] = "RemoveTagFromMeetings";
|
|
36
36
|
ToolName["ShareMeeting"] = "ShareMeeting";
|
|
37
|
+
ToolName["UpdateMeeting"] = "UpdateMeeting";
|
|
38
|
+
ToolName["UpdateCalendarEvent"] = "UpdateCalendarEvent";
|
|
37
39
|
})(ToolName || (exports.ToolName = ToolName = {}));
|
|
38
40
|
var ActionItemStatus;
|
|
39
41
|
(function (ActionItemStatus) {
|
package/package.json
CHANGED