@doist/outline-cli 1.0.0 → 1.0.2
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 +21 -9
- package/README.md +2 -0
- package/dist/commands/auth.d.ts +1 -1
- package/dist/commands/auth.js +45 -48
- package/dist/commands/auth.js.map +1 -1
- package/dist/commands/collection.d.ts +1 -1
- package/dist/commands/collection.js +41 -55
- package/dist/commands/collection.js.map +1 -1
- package/dist/commands/document.d.ts +1 -1
- package/dist/commands/document.js +68 -86
- package/dist/commands/document.js.map +1 -1
- package/dist/commands/search.d.ts +1 -1
- package/dist/commands/search.js +15 -15
- package/dist/commands/search.js.map +1 -1
- package/dist/commands/skill.d.ts +1 -1
- package/dist/commands/skill.js +26 -28
- package/dist/commands/skill.js.map +1 -1
- package/dist/index.js +11 -11
- package/dist/index.js.map +1 -1
- package/dist/lib/api.js +29 -25
- package/dist/lib/api.js.map +1 -1
- package/dist/lib/auth.d.ts +1 -1
- package/dist/lib/auth.js +13 -13
- package/dist/lib/auth.js.map +1 -1
- package/dist/lib/markdown.js +2 -2
- package/dist/lib/markdown.js.map +1 -1
- package/dist/lib/oauth-server.js +37 -37
- package/dist/lib/oauth-server.js.map +1 -1
- package/dist/lib/oauth.js +17 -13
- package/dist/lib/oauth.js.map +1 -1
- package/dist/lib/output.d.ts +1 -1
- package/dist/lib/output.js +3 -3
- package/dist/lib/output.js.map +1 -1
- package/dist/lib/pkce.js +3 -7
- package/dist/lib/pkce.js.map +1 -1
- package/dist/lib/refs.js +10 -12
- package/dist/lib/refs.js.map +1 -1
- package/dist/lib/skills/content.d.ts +1 -1
- package/dist/lib/skills/content.js +2 -2
- package/dist/lib/skills/content.js.map +1 -1
- package/dist/lib/skills/create-installer.d.ts +2 -1
- package/dist/lib/skills/create-installer.js +10 -10
- package/dist/lib/skills/create-installer.js.map +1 -1
- package/dist/lib/skills/index.d.ts +2 -2
- package/dist/lib/skills/index.js +20 -20
- package/dist/lib/skills/index.js.map +1 -1
- package/dist/lib/skills/update-installed.js +1 -1
- package/dist/lib/skills/update-installed.js.map +1 -1
- package/dist/lib/spinner.d.ts +1 -1
- package/dist/lib/spinner.js +5 -7
- package/dist/lib/spinner.js.map +1 -1
- package/dist/postinstall.js +14 -1
- package/dist/postinstall.js.map +1 -1
- package/dist/transport/fetch-with-retry.d.ts +15 -0
- package/dist/transport/fetch-with-retry.js +92 -0
- package/dist/transport/fetch-with-retry.js.map +1 -0
- package/dist/transport/http-dispatcher.d.ts +3 -0
- package/dist/transport/http-dispatcher.js +34 -0
- package/dist/transport/http-dispatcher.js.map +1 -0
- package/package.json +14 -4
- package/scripts/check-skill-sync.js +40 -0
- package/scripts/postinstall.js +5 -5
- package/scripts/sync-skill.js +30 -0
package/CHANGELOG.md
CHANGED
|
@@ -1,17 +1,29 @@
|
|
|
1
|
-
|
|
1
|
+
## [1.0.2](https://github.com/Doist/outline-cli/compare/v1.0.1...v1.0.2) (2026-03-26)
|
|
2
|
+
|
|
3
|
+
|
|
4
|
+
### Bug Fixes
|
|
5
|
+
|
|
6
|
+
* honor proxy env vars by default ([#33](https://github.com/Doist/outline-cli/issues/33)) ([5bb8e77](https://github.com/Doist/outline-cli/commit/5bb8e77fa8cabe17d2cba478a01c1c64957d7f6b))
|
|
7
|
+
|
|
8
|
+
## [1.0.1](https://github.com/Doist/outline-cli/compare/v1.0.0...v1.0.1) (2026-03-25)
|
|
2
9
|
|
|
3
10
|
|
|
4
11
|
### Bug Fixes
|
|
5
12
|
|
|
6
|
-
*
|
|
7
|
-
|
|
13
|
+
* correct skill name and quote YAML description ([#38](https://github.com/Doist/outline-cli/issues/38)) ([e0e4fa4](https://github.com/Doist/outline-cli/commit/e0e4fa435dcfc89b1e29e4b8d02d6ba911dfdb7f))
|
|
14
|
+
|
|
15
|
+
# 1.0.0 (2026-03-25)
|
|
16
|
+
|
|
17
|
+
### Bug Fixes
|
|
8
18
|
|
|
19
|
+
- broaden CI detection to handle all truthy values ([7dc2806](https://github.com/Doist/outline-cli/commit/7dc2806a344d8be841fb9fae80dce59dc6667fac))
|
|
20
|
+
- exclude dist from biome checks ([0dc49a3](https://github.com/Doist/outline-cli/commit/0dc49a38515ae75005f253413b171c6c6b48e99a))
|
|
9
21
|
|
|
10
22
|
### Features
|
|
11
23
|
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
24
|
+
- add API Spinner Proxy ([#17](https://github.com/Doist/outline-cli/issues/17)) ([a3bc75a](https://github.com/Doist/outline-cli/commit/a3bc75afaf81b684703b0e821d5fec0cf05a29cb))
|
|
25
|
+
- add fuzzy reference resolution ([#19](https://github.com/Doist/outline-cli/issues/19)) ([6c1c6f9](https://github.com/Doist/outline-cli/commit/6c1c6f97762809ddf3e4d912892c3582cf9f8b36))
|
|
26
|
+
- add npm publishing, new agent skills, and skill auto-update ([#36](https://github.com/Doist/outline-cli/issues/36)) ([bcb2e75](https://github.com/Doist/outline-cli/commit/bcb2e7593447ca35069316636cbfda02bb86fb91)), closes [Doist/todoist-cli#176](https://github.com/Doist/todoist-cli/issues/176) [Doist/bob-cli#17](https://github.com/Doist/bob-cli/issues/17) [Doist/twist-cli#101](https://github.com/Doist/twist-cli/issues/101)
|
|
27
|
+
- add structured error formatting with codes and hints ([#18](https://github.com/Doist/outline-cli/issues/18)) ([17658d2](https://github.com/Doist/outline-cli/commit/17658d2a66d30939146b1fb5625782df122ff315))
|
|
28
|
+
- implement OAuth PKCE browser login ([#20](https://github.com/Doist/outline-cli/issues/20)) ([b7f6eec](https://github.com/Doist/outline-cli/commit/b7f6eec84250b6d8ceea5e5f1b282bdb550b8092)), closes [#7](https://github.com/Doist/outline-cli/issues/7) [outline/outline#11254](https://github.com/outline/outline/issues/11254)
|
|
29
|
+
- improve oauth login inputs and callback UX ([#31](https://github.com/Doist/outline-cli/issues/31)) ([3011b28](https://github.com/Doist/outline-cli/commit/3011b28a2f3a0b04460ad8def9ed39426b7a1df3))
|
package/README.md
CHANGED
package/dist/commands/auth.d.ts
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import type { Command } from
|
|
1
|
+
import type { Command } from 'commander';
|
|
2
2
|
export declare function registerAuthCommand(program: Command): void;
|
package/dist/commands/auth.js
CHANGED
|
@@ -1,12 +1,12 @@
|
|
|
1
|
-
import { createInterface } from
|
|
2
|
-
import chalk from
|
|
3
|
-
import open from
|
|
4
|
-
import { apiRequest } from
|
|
5
|
-
import { clearConfig, getBaseUrl, getOAuthClientId, getTokenSource, saveConfig, } from
|
|
6
|
-
import {
|
|
7
|
-
import {
|
|
8
|
-
import { formatError } from
|
|
9
|
-
import { generateCodeChallenge, generateCodeVerifier, generateState
|
|
1
|
+
import { createInterface } from 'node:readline/promises';
|
|
2
|
+
import chalk from 'chalk';
|
|
3
|
+
import open from 'open';
|
|
4
|
+
import { apiRequest } from '../lib/api.js';
|
|
5
|
+
import { clearConfig, getBaseUrl, getOAuthClientId, getTokenSource, saveConfig, } from '../lib/auth.js';
|
|
6
|
+
import { DEFAULT_OAUTH_CALLBACK_PORT, startOAuthCallbackServer } from '../lib/oauth-server.js';
|
|
7
|
+
import { buildAuthorizationUrl, exchangeCodeForToken } from '../lib/oauth.js';
|
|
8
|
+
import { formatError } from '../lib/output.js';
|
|
9
|
+
import { generateCodeChallenge, generateCodeVerifier, generateState } from '../lib/pkce.js';
|
|
10
10
|
async function prompt(question) {
|
|
11
11
|
const rl = createInterface({ input: process.stdin, output: process.stdout });
|
|
12
12
|
try {
|
|
@@ -24,14 +24,13 @@ function parseCallbackPort(rawPort) {
|
|
|
24
24
|
return parsed;
|
|
25
25
|
}
|
|
26
26
|
export function registerAuthCommand(program) {
|
|
27
|
-
const auth = program.command(
|
|
28
|
-
auth
|
|
29
|
-
.
|
|
30
|
-
.
|
|
31
|
-
.option(
|
|
32
|
-
.option(
|
|
33
|
-
.option(
|
|
34
|
-
.option("--callback-port <port>", `Local OAuth callback port (default: ${DEFAULT_OAUTH_CALLBACK_PORT})`)
|
|
27
|
+
const auth = program.command('auth').description('Manage authentication');
|
|
28
|
+
auth.command('login')
|
|
29
|
+
.description('Authenticate with an Outline instance')
|
|
30
|
+
.option('--token <token>', 'Authenticate using a personal API token')
|
|
31
|
+
.option('--base-url <url>', 'Outline base URL to use for this login (saved for future logins)')
|
|
32
|
+
.option('--client-id <clientId>', 'OAuth client ID to use for this login (saved for future logins)')
|
|
33
|
+
.option('--callback-port <port>', `Local OAuth callback port (default: ${DEFAULT_OAUTH_CALLBACK_PORT})`)
|
|
35
34
|
.action(async (options) => {
|
|
36
35
|
const configuredBaseUrl = getBaseUrl();
|
|
37
36
|
const optionBaseUrl = options.baseUrl?.trim();
|
|
@@ -41,7 +40,7 @@ export function registerAuthCommand(program) {
|
|
|
41
40
|
const baseUrlInput = await prompt(`Base URL (default: ${configuredBaseUrl}): `);
|
|
42
41
|
url = baseUrlInput.trim() || configuredBaseUrl;
|
|
43
42
|
}
|
|
44
|
-
url = url.replace(/\/$/,
|
|
43
|
+
url = url.replace(/\/$/, '');
|
|
45
44
|
const optionClientId = options.clientId?.trim();
|
|
46
45
|
const optionCallbackPort = options.callbackPort?.trim();
|
|
47
46
|
const envCallbackPort = process.env.OUTLINE_OAUTH_CALLBACK_PORT?.trim();
|
|
@@ -50,9 +49,9 @@ export function registerAuthCommand(program) {
|
|
|
50
49
|
if (rawCallbackPort) {
|
|
51
50
|
const parsedPort = parseCallbackPort(rawCallbackPort);
|
|
52
51
|
if (!parsedPort) {
|
|
53
|
-
console.error(formatError(
|
|
54
|
-
|
|
55
|
-
|
|
52
|
+
console.error(formatError('OAUTH_CALLBACK_PORT_INVALID', `Invalid callback port: ${rawCallbackPort}`, [
|
|
53
|
+
'Use an integer between 1 and 65535',
|
|
54
|
+
'Set via --callback-port or OUTLINE_OAUTH_CALLBACK_PORT',
|
|
56
55
|
]));
|
|
57
56
|
process.exit(1);
|
|
58
57
|
}
|
|
@@ -61,25 +60,25 @@ export function registerAuthCommand(program) {
|
|
|
61
60
|
if (options.token) {
|
|
62
61
|
saveConfig(options.token.trim(), url, optionClientId);
|
|
63
62
|
try {
|
|
64
|
-
const { data } = await apiRequest(
|
|
63
|
+
const { data } = await apiRequest('auth.info');
|
|
65
64
|
console.log(chalk.green(`Authenticated to ${data.team.name} as ${data.user.name}`));
|
|
66
65
|
}
|
|
67
66
|
catch (err) {
|
|
68
|
-
console.log(chalk.yellow(
|
|
67
|
+
console.log(chalk.yellow('Token saved, but could not verify:'), err.message);
|
|
69
68
|
}
|
|
70
69
|
return;
|
|
71
70
|
}
|
|
72
71
|
const existingClientId = getOAuthClientId();
|
|
73
72
|
let clientId = optionClientId || existingClientId;
|
|
74
73
|
if (!clientId) {
|
|
75
|
-
const clientIdInput = await prompt(
|
|
74
|
+
const clientIdInput = await prompt('OAuth Client ID: ');
|
|
76
75
|
clientId = clientIdInput.trim();
|
|
77
76
|
}
|
|
78
77
|
if (!clientId) {
|
|
79
|
-
console.error(formatError(
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
78
|
+
console.error(formatError('OAUTH_CLIENT_ID_REQUIRED', 'OAuth client ID is required.', [
|
|
79
|
+
'Create a public OAuth app in Outline settings',
|
|
80
|
+
'Use --client-id <id> for this login',
|
|
81
|
+
'Set OUTLINE_OAUTH_CLIENT_ID or enter it here',
|
|
83
82
|
]));
|
|
84
83
|
process.exit(1);
|
|
85
84
|
}
|
|
@@ -99,10 +98,10 @@ export function registerAuthCommand(program) {
|
|
|
99
98
|
`Ensure http://localhost:${callbackPort}/callback is reachable from your browser`,
|
|
100
99
|
"Re-run with 'ol auth login --token <token>' for manual auth",
|
|
101
100
|
];
|
|
102
|
-
if (error.code ===
|
|
101
|
+
if (error.code === 'EADDRINUSE') {
|
|
103
102
|
hints.unshift(`Port ${callbackPort} is already in use. Close the other process using it.`);
|
|
104
103
|
}
|
|
105
|
-
console.error(formatError(
|
|
104
|
+
console.error(formatError('OAUTH_CALLBACK_SERVER_FAILED', `Could not start local OAuth callback server: ${error.message}`, hints));
|
|
106
105
|
process.exit(1);
|
|
107
106
|
}
|
|
108
107
|
const authorizationUrl = buildAuthorizationUrl({
|
|
@@ -116,10 +115,10 @@ export function registerAuthCommand(program) {
|
|
|
116
115
|
await open(authorizationUrl);
|
|
117
116
|
}
|
|
118
117
|
catch (err) {
|
|
119
|
-
console.log(chalk.yellow(
|
|
118
|
+
console.log(chalk.yellow('Could not open browser automatically.'), chalk.dim(authorizationUrl));
|
|
120
119
|
console.log(chalk.dim(err.message));
|
|
121
120
|
}
|
|
122
|
-
console.log(chalk.dim(
|
|
121
|
+
console.log(chalk.dim('Waiting for OAuth authorization...'));
|
|
123
122
|
try {
|
|
124
123
|
const code = await callbackServer.waitForCode;
|
|
125
124
|
const token = await exchangeCodeForToken({
|
|
@@ -130,50 +129,48 @@ export function registerAuthCommand(program) {
|
|
|
130
129
|
code,
|
|
131
130
|
});
|
|
132
131
|
saveConfig(token, url, clientId);
|
|
133
|
-
const { data } = await apiRequest(
|
|
132
|
+
const { data } = await apiRequest('auth.info');
|
|
134
133
|
console.log(chalk.green(`Authenticated to ${data.team.name} as ${data.user.name}`));
|
|
135
134
|
}
|
|
136
135
|
catch (err) {
|
|
137
136
|
callbackServer.close();
|
|
138
|
-
console.error(formatError(
|
|
139
|
-
|
|
140
|
-
|
|
137
|
+
console.error(formatError('OAUTH_LOGIN_FAILED', `OAuth login failed: ${err.message}`, [
|
|
138
|
+
'Confirm the OAuth app redirect URI matches the CLI callback',
|
|
139
|
+
'Verify --base-url or OUTLINE_URL points to your Outline instance',
|
|
141
140
|
"Re-run with 'ol auth login --token' for manual auth",
|
|
142
141
|
]));
|
|
143
142
|
process.exit(1);
|
|
144
143
|
}
|
|
145
144
|
});
|
|
146
|
-
auth
|
|
147
|
-
.
|
|
148
|
-
.description("Show current authentication state")
|
|
145
|
+
auth.command('status')
|
|
146
|
+
.description('Show current authentication state')
|
|
149
147
|
.action(async () => {
|
|
150
148
|
const source = getTokenSource();
|
|
151
149
|
if (!source) {
|
|
152
|
-
console.log(chalk.yellow(
|
|
150
|
+
console.log(chalk.yellow('Not authenticated. Run: ol auth login'));
|
|
153
151
|
return;
|
|
154
152
|
}
|
|
155
153
|
console.log(chalk.dim(`Token source: ${source}`));
|
|
156
154
|
console.log(chalk.dim(`Base URL: ${getBaseUrl()}`));
|
|
157
155
|
try {
|
|
158
|
-
const { data } = await apiRequest(
|
|
156
|
+
const { data } = await apiRequest('auth.info');
|
|
159
157
|
console.log(`Team: ${chalk.bold(data.team.name)}`);
|
|
160
158
|
console.log(`User: ${data.user.name} (${data.user.email})`);
|
|
161
159
|
}
|
|
162
160
|
catch (err) {
|
|
163
|
-
console.error(formatError(
|
|
164
|
-
|
|
165
|
-
|
|
161
|
+
console.error(formatError('AUTH_VERIFICATION_FAILED', `Could not fetch auth info: ${err.message}`, [
|
|
162
|
+
'Check that your API token is valid',
|
|
163
|
+
'Verify the base URL is correct',
|
|
166
164
|
"Run 'ol auth login' to re-authenticate",
|
|
167
165
|
]));
|
|
168
166
|
process.exit(1);
|
|
169
167
|
}
|
|
170
168
|
});
|
|
171
|
-
auth
|
|
172
|
-
.
|
|
173
|
-
.description("Clear saved authentication")
|
|
169
|
+
auth.command('logout')
|
|
170
|
+
.description('Clear saved authentication')
|
|
174
171
|
.action(() => {
|
|
175
172
|
clearConfig();
|
|
176
|
-
console.log(
|
|
173
|
+
console.log('Logged out.');
|
|
177
174
|
});
|
|
178
175
|
}
|
|
179
176
|
//# sourceMappingURL=auth.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"auth.js","sourceRoot":"","sources":["../../src/commands/auth.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,wBAAwB,
|
|
1
|
+
{"version":3,"file":"auth.js","sourceRoot":"","sources":["../../src/commands/auth.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import type { Command } from
|
|
1
|
+
import type { Command } from 'commander';
|
|
2
2
|
export declare function registerCollectionCommand(program: Command): void;
|
|
@@ -1,14 +1,8 @@
|
|
|
1
|
-
import chalk from
|
|
2
|
-
import { apiRequest } from
|
|
3
|
-
import { formatError, getOutputOptions, outputItem, outputList
|
|
4
|
-
import { resolveCollectionId, resolveCollectionRef } from
|
|
5
|
-
const essentialKeys = [
|
|
6
|
-
"id",
|
|
7
|
-
"name",
|
|
8
|
-
"description",
|
|
9
|
-
"color",
|
|
10
|
-
"documentCount",
|
|
11
|
-
];
|
|
1
|
+
import chalk from 'chalk';
|
|
2
|
+
import { apiRequest } from '../lib/api.js';
|
|
3
|
+
import { formatError, getOutputOptions, outputItem, outputList } from '../lib/output.js';
|
|
4
|
+
import { resolveCollectionId, resolveCollectionRef } from '../lib/refs.js';
|
|
5
|
+
const essentialKeys = ['id', 'name', 'description', 'color', 'documentCount'];
|
|
12
6
|
function formatCollection(col) {
|
|
13
7
|
const name = chalk.bold(col.name);
|
|
14
8
|
const id = chalk.dim(col.id);
|
|
@@ -16,30 +10,25 @@ function formatCollection(col) {
|
|
|
16
10
|
return `${name} ${id} ${count}`;
|
|
17
11
|
}
|
|
18
12
|
export function registerCollectionCommand(program) {
|
|
19
|
-
const col = program
|
|
20
|
-
|
|
21
|
-
.
|
|
22
|
-
.
|
|
23
|
-
|
|
24
|
-
.
|
|
25
|
-
.
|
|
26
|
-
.option(
|
|
27
|
-
.option("--offset <n>", "Pagination offset", "0")
|
|
28
|
-
.option("--json", "Output JSON")
|
|
29
|
-
.option("--ndjson", "Output NDJSON")
|
|
30
|
-
.option("--full", "Include all fields in JSON output")
|
|
13
|
+
const col = program.command('collection').alias('col').description('Manage collections');
|
|
14
|
+
col.command('list')
|
|
15
|
+
.description('List collections')
|
|
16
|
+
.option('--limit <n>', 'Max results', '25')
|
|
17
|
+
.option('--offset <n>', 'Pagination offset', '0')
|
|
18
|
+
.option('--json', 'Output JSON')
|
|
19
|
+
.option('--ndjson', 'Output NDJSON')
|
|
20
|
+
.option('--full', 'Include all fields in JSON output')
|
|
31
21
|
.action(async (opts) => {
|
|
32
|
-
const { data, pagination } = await apiRequest(
|
|
22
|
+
const { data, pagination } = await apiRequest('collections.list', {
|
|
33
23
|
limit: Number(opts.limit),
|
|
34
24
|
offset: Number(opts.offset),
|
|
35
25
|
});
|
|
36
26
|
outputList(data, formatCollection, essentialKeys, getOutputOptions(opts), pagination);
|
|
37
27
|
});
|
|
38
|
-
col
|
|
39
|
-
.
|
|
40
|
-
.
|
|
41
|
-
.option(
|
|
42
|
-
.option("--full", "Include all fields in JSON output")
|
|
28
|
+
col.command('get <id>')
|
|
29
|
+
.description('Get collection details by ID or name')
|
|
30
|
+
.option('--json', 'Output JSON')
|
|
31
|
+
.option('--full', 'Include all fields in JSON output')
|
|
43
32
|
.action(async (id, opts) => {
|
|
44
33
|
const resolved = await resolveCollectionRef(id);
|
|
45
34
|
// If resolved from name search (collections.list), some fields may be missing
|
|
@@ -48,21 +37,20 @@ export function registerCollectionCommand(program) {
|
|
|
48
37
|
data = resolved;
|
|
49
38
|
}
|
|
50
39
|
else {
|
|
51
|
-
const response = await apiRequest(
|
|
40
|
+
const response = await apiRequest('collections.info', {
|
|
52
41
|
id: resolved.id,
|
|
53
42
|
});
|
|
54
43
|
data = response.data;
|
|
55
44
|
}
|
|
56
45
|
outputItem(data, formatCollection, essentialKeys, getOutputOptions(opts));
|
|
57
46
|
});
|
|
58
|
-
col
|
|
59
|
-
.
|
|
60
|
-
.
|
|
61
|
-
.
|
|
62
|
-
.option(
|
|
63
|
-
.option(
|
|
64
|
-
.option(
|
|
65
|
-
.option("--json", "Output JSON")
|
|
47
|
+
col.command('create')
|
|
48
|
+
.description('Create a collection')
|
|
49
|
+
.requiredOption('--name <name>', 'Collection name')
|
|
50
|
+
.option('--description <text>', 'Description')
|
|
51
|
+
.option('--color <hex>', 'Color hex code')
|
|
52
|
+
.option('--private', 'Make private')
|
|
53
|
+
.option('--json', 'Output JSON')
|
|
66
54
|
.action(async (opts) => {
|
|
67
55
|
const body = { name: opts.name };
|
|
68
56
|
if (opts.description)
|
|
@@ -70,8 +58,8 @@ export function registerCollectionCommand(program) {
|
|
|
70
58
|
if (opts.color)
|
|
71
59
|
body.color = opts.color;
|
|
72
60
|
if (opts.private)
|
|
73
|
-
body.permission =
|
|
74
|
-
const { data } = await apiRequest(
|
|
61
|
+
body.permission = '';
|
|
62
|
+
const { data } = await apiRequest('collections.create', body);
|
|
75
63
|
if (opts.json) {
|
|
76
64
|
outputItem(data, formatCollection, essentialKeys, { json: true });
|
|
77
65
|
}
|
|
@@ -79,13 +67,12 @@ export function registerCollectionCommand(program) {
|
|
|
79
67
|
console.log(chalk.green(`Created: ${data.name}`), chalk.dim(data.id));
|
|
80
68
|
}
|
|
81
69
|
});
|
|
82
|
-
col
|
|
83
|
-
.
|
|
84
|
-
.
|
|
85
|
-
.option(
|
|
86
|
-
.option(
|
|
87
|
-
.option(
|
|
88
|
-
.option("--json", "Output JSON")
|
|
70
|
+
col.command('update <id>')
|
|
71
|
+
.description('Update a collection')
|
|
72
|
+
.option('--name <name>', 'New name')
|
|
73
|
+
.option('--description <text>', 'New description')
|
|
74
|
+
.option('--color <hex>', 'New color')
|
|
75
|
+
.option('--json', 'Output JSON')
|
|
89
76
|
.action(async (id, opts) => {
|
|
90
77
|
const resolvedId = await resolveCollectionId(id);
|
|
91
78
|
const body = { id: resolvedId };
|
|
@@ -95,7 +82,7 @@ export function registerCollectionCommand(program) {
|
|
|
95
82
|
body.description = opts.description;
|
|
96
83
|
if (opts.color)
|
|
97
84
|
body.color = opts.color;
|
|
98
|
-
const { data } = await apiRequest(
|
|
85
|
+
const { data } = await apiRequest('collections.update', body);
|
|
99
86
|
if (opts.json) {
|
|
100
87
|
outputItem(data, formatCollection, essentialKeys, { json: true });
|
|
101
88
|
}
|
|
@@ -103,18 +90,17 @@ export function registerCollectionCommand(program) {
|
|
|
103
90
|
console.log(chalk.green(`Updated: ${data.name}`), chalk.dim(data.id));
|
|
104
91
|
}
|
|
105
92
|
});
|
|
106
|
-
col
|
|
107
|
-
.
|
|
108
|
-
.
|
|
109
|
-
.option("--confirm", "Skip confirmation")
|
|
93
|
+
col.command('delete <id>')
|
|
94
|
+
.description('Delete a collection')
|
|
95
|
+
.option('--confirm', 'Skip confirmation')
|
|
110
96
|
.action(async (id, opts) => {
|
|
111
97
|
if (!opts.confirm) {
|
|
112
|
-
console.error(formatError(
|
|
98
|
+
console.error(formatError('CONFIRMATION_REQUIRED', 'Delete operation requires confirmation.', ['Use --confirm flag to proceed with deletion']));
|
|
113
99
|
process.exit(1);
|
|
114
100
|
}
|
|
115
101
|
const resolvedId = await resolveCollectionId(id);
|
|
116
|
-
await apiRequest(
|
|
117
|
-
console.log(
|
|
102
|
+
await apiRequest('collections.delete', { id: resolvedId });
|
|
103
|
+
console.log('Deleted.');
|
|
118
104
|
});
|
|
119
105
|
}
|
|
120
106
|
//# sourceMappingURL=collection.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"collection.js","sourceRoot":"","sources":["../../src/commands/collection.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,
|
|
1
|
+
{"version":3,"file":"collection.js","sourceRoot":"","sources":["../../src/commands/collection.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import type { Command } from
|
|
1
|
+
import type { Command } from 'commander';
|
|
2
2
|
export declare function registerDocumentCommand(program: Command): void;
|