gooseworks 0.2.2 → 0.2.5
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/.claude-plugin/plugin.json +4 -2
- package/README.md +31 -4
- package/dist/agents/claude.d.ts.map +1 -1
- package/dist/agents/claude.js +4 -3
- package/dist/agents/claude.js.map +1 -1
- package/dist/agents/codex.d.ts.map +1 -1
- package/dist/agents/codex.js +4 -3
- package/dist/agents/codex.js.map +1 -1
- package/dist/auth/oauth-server.d.ts.map +1 -1
- package/dist/auth/oauth-server.js +27 -19
- package/dist/auth/oauth-server.js.map +1 -1
- package/dist/commands/formats.d.ts +3 -0
- package/dist/commands/formats.d.ts.map +1 -0
- package/dist/commands/formats.js +155 -0
- package/dist/commands/formats.js.map +1 -0
- package/dist/commands/graphics/get-flow.d.ts +30 -0
- package/dist/commands/graphics/get-flow.d.ts.map +1 -0
- package/dist/commands/graphics/get-flow.js +212 -0
- package/dist/commands/graphics/get-flow.js.map +1 -0
- package/dist/commands/graphics/publish-flow.d.ts +28 -0
- package/dist/commands/graphics/publish-flow.d.ts.map +1 -0
- package/dist/commands/graphics/publish-flow.js +178 -0
- package/dist/commands/graphics/publish-flow.js.map +1 -0
- package/dist/commands/graphics/shared.d.ts +48 -0
- package/dist/commands/graphics/shared.d.ts.map +1 -0
- package/dist/commands/graphics/shared.js +181 -0
- package/dist/commands/graphics/shared.js.map +1 -0
- package/dist/commands/install.d.ts.map +1 -1
- package/dist/commands/install.js +29 -1
- package/dist/commands/install.js.map +1 -1
- package/dist/commands/styles.d.ts +3 -0
- package/dist/commands/styles.d.ts.map +1 -0
- package/dist/commands/styles.js +157 -0
- package/dist/commands/styles.js.map +1 -0
- package/dist/index.js +4 -0
- package/dist/index.js.map +1 -1
- package/dist/lib/graphics-api.d.ts +106 -0
- package/dist/lib/graphics-api.d.ts.map +1 -0
- package/dist/lib/graphics-api.js +289 -0
- package/dist/lib/graphics-api.js.map +1 -0
- package/dist/lib/graphics-cache.d.ts +31 -0
- package/dist/lib/graphics-cache.d.ts.map +1 -0
- package/dist/lib/graphics-cache.js +126 -0
- package/dist/lib/graphics-cache.js.map +1 -0
- package/dist/lib/graphics-manifest.d.ts +96 -0
- package/dist/lib/graphics-manifest.d.ts.map +1 -0
- package/dist/lib/graphics-manifest.js +289 -0
- package/dist/lib/graphics-manifest.js.map +1 -0
- package/dist/skills/installer.d.ts +7 -0
- package/dist/skills/installer.d.ts.map +1 -1
- package/dist/skills/installer.js +114 -2
- package/dist/skills/installer.js.map +1 -1
- package/dist/skills/names.d.ts +2 -0
- package/dist/skills/names.d.ts.map +1 -0
- package/dist/skills/names.js +7 -0
- package/dist/skills/names.js.map +1 -0
- package/package.json +1 -1
|
@@ -0,0 +1,181 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* Shared helpers for the styles/formats command families.
|
|
4
|
+
*
|
|
5
|
+
* Exit codes follow the spec:
|
|
6
|
+
* 0 = success
|
|
7
|
+
* 1 = transient or auth error (network, 401, 5xx)
|
|
8
|
+
* 2 = user error (bad input, 400, 403, 404, declined 409)
|
|
9
|
+
*/
|
|
10
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
11
|
+
if (k2 === undefined) k2 = k;
|
|
12
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
13
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
14
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
15
|
+
}
|
|
16
|
+
Object.defineProperty(o, k2, desc);
|
|
17
|
+
}) : (function(o, m, k, k2) {
|
|
18
|
+
if (k2 === undefined) k2 = k;
|
|
19
|
+
o[k2] = m[k];
|
|
20
|
+
}));
|
|
21
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
22
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
23
|
+
}) : function(o, v) {
|
|
24
|
+
o["default"] = v;
|
|
25
|
+
});
|
|
26
|
+
var __importStar = (this && this.__importStar) || (function () {
|
|
27
|
+
var ownKeys = function(o) {
|
|
28
|
+
ownKeys = Object.getOwnPropertyNames || function (o) {
|
|
29
|
+
var ar = [];
|
|
30
|
+
for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
|
|
31
|
+
return ar;
|
|
32
|
+
};
|
|
33
|
+
return ownKeys(o);
|
|
34
|
+
};
|
|
35
|
+
return function (mod) {
|
|
36
|
+
if (mod && mod.__esModule) return mod;
|
|
37
|
+
var result = {};
|
|
38
|
+
if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
|
|
39
|
+
__setModuleDefault(result, mod);
|
|
40
|
+
return result;
|
|
41
|
+
};
|
|
42
|
+
})();
|
|
43
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
44
|
+
exports.EXIT_USER_ERROR = exports.EXIT_TRANSIENT = exports.EXIT_OK = void 0;
|
|
45
|
+
exports.requireCredentials = requireCredentials;
|
|
46
|
+
exports.getOptionalCredentials = getOptionalCredentials;
|
|
47
|
+
exports.clientOpts = clientOpts;
|
|
48
|
+
exports.authedClientOpts = authedClientOpts;
|
|
49
|
+
exports.parseIntOpt = parseIntOpt;
|
|
50
|
+
exports.reportApiErrorAndExit = reportApiErrorAndExit;
|
|
51
|
+
exports.promptYesNo = promptYesNo;
|
|
52
|
+
exports.renderTable = renderTable;
|
|
53
|
+
exports.truncate = truncate;
|
|
54
|
+
const readline = __importStar(require("readline"));
|
|
55
|
+
const credentials_1 = require("../../auth/credentials");
|
|
56
|
+
const config_1 = require("../../config");
|
|
57
|
+
const graphics_api_1 = require("../../lib/graphics-api");
|
|
58
|
+
exports.EXIT_OK = 0;
|
|
59
|
+
exports.EXIT_TRANSIENT = 1;
|
|
60
|
+
exports.EXIT_USER_ERROR = 2;
|
|
61
|
+
function requireCredentials() {
|
|
62
|
+
const creds = (0, credentials_1.getCredentials)();
|
|
63
|
+
if (!creds) {
|
|
64
|
+
process.stderr.write('Not authenticated. Run `gooseworks login` first.\n');
|
|
65
|
+
process.exit(exports.EXIT_TRANSIENT);
|
|
66
|
+
}
|
|
67
|
+
return creds;
|
|
68
|
+
}
|
|
69
|
+
function getOptionalCredentials() {
|
|
70
|
+
return (0, credentials_1.getCredentials)();
|
|
71
|
+
}
|
|
72
|
+
/**
|
|
73
|
+
* Build the api-client options for read-only commands. Falls back to the
|
|
74
|
+
* compiled-in API_BASE when the user is not logged in, so anonymous reads
|
|
75
|
+
* still work.
|
|
76
|
+
*/
|
|
77
|
+
function clientOpts() {
|
|
78
|
+
const creds = getOptionalCredentials();
|
|
79
|
+
return {
|
|
80
|
+
apiBase: creds?.api_base ?? config_1.API_BASE,
|
|
81
|
+
apiKey: creds?.api_key ?? null,
|
|
82
|
+
};
|
|
83
|
+
}
|
|
84
|
+
/** Build api-client options for commands that require auth (publish/update/delete). */
|
|
85
|
+
function authedClientOpts() {
|
|
86
|
+
const creds = requireCredentials();
|
|
87
|
+
return { apiBase: creds.api_base, apiKey: creds.api_key };
|
|
88
|
+
}
|
|
89
|
+
/**
|
|
90
|
+
* Parse a non-negative integer command-line option. Exits with the user-error
|
|
91
|
+
* code if the value is malformed.
|
|
92
|
+
*/
|
|
93
|
+
function parseIntOpt(value, name) {
|
|
94
|
+
if (value === undefined)
|
|
95
|
+
return undefined;
|
|
96
|
+
const n = Number.parseInt(value, 10);
|
|
97
|
+
if (!Number.isInteger(n) || n < 0) {
|
|
98
|
+
process.stderr.write(`--${name} must be a non-negative integer\n`);
|
|
99
|
+
process.exit(exports.EXIT_USER_ERROR);
|
|
100
|
+
}
|
|
101
|
+
return n;
|
|
102
|
+
}
|
|
103
|
+
/**
|
|
104
|
+
* Translate a thrown error from the API client into a stderr message + exit
|
|
105
|
+
* code. Never re-throws.
|
|
106
|
+
*/
|
|
107
|
+
function reportApiErrorAndExit(err) {
|
|
108
|
+
if (err instanceof graphics_api_1.NetworkError) {
|
|
109
|
+
process.stderr.write(`Network error: ${err.message}\n`);
|
|
110
|
+
process.exit(exports.EXIT_TRANSIENT);
|
|
111
|
+
}
|
|
112
|
+
if (err instanceof graphics_api_1.ApiError) {
|
|
113
|
+
if (err.status === 401) {
|
|
114
|
+
process.stderr.write('Not authenticated. Run `gooseworks login` first.\n');
|
|
115
|
+
process.exit(exports.EXIT_TRANSIENT);
|
|
116
|
+
}
|
|
117
|
+
if (err.status >= 500) {
|
|
118
|
+
process.stderr.write(`Server error (${err.status}). Please try again later.\n`);
|
|
119
|
+
process.exit(exports.EXIT_TRANSIENT);
|
|
120
|
+
}
|
|
121
|
+
if (err.status === 403) {
|
|
122
|
+
process.stderr.write(`${err.message || 'Forbidden'}\n`);
|
|
123
|
+
process.exit(exports.EXIT_USER_ERROR);
|
|
124
|
+
}
|
|
125
|
+
if (err.status === 404) {
|
|
126
|
+
process.stderr.write(`Not found: ${err.message}\n`);
|
|
127
|
+
process.exit(exports.EXIT_USER_ERROR);
|
|
128
|
+
}
|
|
129
|
+
process.stderr.write(`Error (${err.status}): ${err.message}\n`);
|
|
130
|
+
process.exit(exports.EXIT_USER_ERROR);
|
|
131
|
+
}
|
|
132
|
+
const message = err instanceof Error ? err.message : String(err);
|
|
133
|
+
process.stderr.write(`${message}\n`);
|
|
134
|
+
process.exit(exports.EXIT_TRANSIENT);
|
|
135
|
+
}
|
|
136
|
+
function promptYesNo(question, defaultYes = false) {
|
|
137
|
+
if (!process.stdin.isTTY) {
|
|
138
|
+
// Non-interactive context with no --yes — refuse rather than hang.
|
|
139
|
+
return Promise.resolve(false);
|
|
140
|
+
}
|
|
141
|
+
const rl = readline.createInterface({
|
|
142
|
+
input: process.stdin,
|
|
143
|
+
output: process.stderr,
|
|
144
|
+
});
|
|
145
|
+
const suffix = defaultYes ? '[Y/n]' : '[y/N]';
|
|
146
|
+
return new Promise((resolve) => {
|
|
147
|
+
rl.question(`${question} ${suffix} `, (answer) => {
|
|
148
|
+
rl.close();
|
|
149
|
+
const trimmed = answer.trim().toLowerCase();
|
|
150
|
+
if (trimmed === '')
|
|
151
|
+
resolve(defaultYes);
|
|
152
|
+
else
|
|
153
|
+
resolve(trimmed === 'y' || trimmed === 'yes');
|
|
154
|
+
});
|
|
155
|
+
});
|
|
156
|
+
}
|
|
157
|
+
function renderTable(rows, columns) {
|
|
158
|
+
if (rows.length === 0)
|
|
159
|
+
return '';
|
|
160
|
+
const widths = columns.map((c) => Math.max(c.header.length, ...rows.map((r) => c.get(r).length)));
|
|
161
|
+
const renderRow = (cells) => cells
|
|
162
|
+
.map((cell, i) => {
|
|
163
|
+
const pad = columns[i].pad ?? 'right';
|
|
164
|
+
return pad === 'left'
|
|
165
|
+
? cell.padStart(widths[i])
|
|
166
|
+
: cell.padEnd(widths[i]);
|
|
167
|
+
})
|
|
168
|
+
.join(' ');
|
|
169
|
+
const headerLine = renderRow(columns.map((c) => c.header));
|
|
170
|
+
const separatorLine = widths.map((w) => '─'.repeat(w)).join(' ');
|
|
171
|
+
const bodyLines = rows.map((r) => renderRow(columns.map((c) => c.get(r))));
|
|
172
|
+
return [headerLine, separatorLine, ...bodyLines].join('\n');
|
|
173
|
+
}
|
|
174
|
+
function truncate(s, max) {
|
|
175
|
+
if (!s)
|
|
176
|
+
return '';
|
|
177
|
+
if (s.length <= max)
|
|
178
|
+
return s;
|
|
179
|
+
return s.slice(0, max - 1) + '…';
|
|
180
|
+
}
|
|
181
|
+
//# sourceMappingURL=shared.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"shared.js","sourceRoot":"","sources":["../../../src/commands/graphics/shared.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"install.d.ts","sourceRoot":"","sources":["../../src/commands/install.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;
|
|
1
|
+
{"version":3,"file":"install.d.ts","sourceRoot":"","sources":["../../src/commands/install.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAuBpC,wBAAgB,oBAAoB,IAAI,OAAO,CA2G9C;AAED,eAAO,MAAM,cAAc,SAAyB,CAAC"}
|
package/dist/commands/install.js
CHANGED
|
@@ -49,12 +49,17 @@ const config_1 = require("../config");
|
|
|
49
49
|
const version_1 = require("../version");
|
|
50
50
|
function createInstallCommand() {
|
|
51
51
|
return new commander_1.Command('install')
|
|
52
|
-
.description(
|
|
52
|
+
.description(`Install GooseWorks data tools into your coding agent
|
|
53
|
+
|
|
54
|
+
Examples:
|
|
55
|
+
$ gooseworks install --claude --with goose-graphics
|
|
56
|
+
$ gooseworks install --claude --with goose-graphics --with goose-aeo`)
|
|
53
57
|
.option('--claude', 'Configure for Claude Code')
|
|
54
58
|
.option('--codex', 'Configure for Codex')
|
|
55
59
|
.option('--cursor', 'Configure for Cursor')
|
|
56
60
|
.option('--all', 'Configure for all detected agents (implies --mcp)')
|
|
57
61
|
.option('--mcp', 'Also register the GooseWorks MCP server')
|
|
62
|
+
.option('--with <skill-slug>', 'Also install a standalone GooseWorks skill (repeatable)', collectSkillSlug, [])
|
|
58
63
|
.option('--api-base <url>', 'API base URL', config_1.API_BASE)
|
|
59
64
|
.action(async (opts) => {
|
|
60
65
|
logger.banner((0, version_1.getVersion)());
|
|
@@ -75,6 +80,26 @@ function createInstallCommand() {
|
|
|
75
80
|
const masterContent = (0, master_skill_1.getMasterSkillContent)();
|
|
76
81
|
(0, installer_1.installMasterSkill)(masterContent);
|
|
77
82
|
logger.success('Installed GooseWorks skill to ~/.agents/skills/gooseworks/');
|
|
83
|
+
for (const slug of opts.with || []) {
|
|
84
|
+
try {
|
|
85
|
+
logger.info(`Installing standalone skill ${slug}...`);
|
|
86
|
+
let lastReported = 0;
|
|
87
|
+
await (0, installer_1.installStandaloneSkill)(slug, {
|
|
88
|
+
onProgress: ({ downloaded, total }) => {
|
|
89
|
+
const step = Math.max(1, Math.min(5, Math.ceil(total / 10)));
|
|
90
|
+
if (downloaded === total || downloaded - lastReported >= step) {
|
|
91
|
+
logger.info(` Downloaded ${downloaded}/${total} files for ${slug}`);
|
|
92
|
+
lastReported = downloaded;
|
|
93
|
+
}
|
|
94
|
+
},
|
|
95
|
+
});
|
|
96
|
+
logger.success(`Installed standalone skill ${slug} to ~/.agents/skills/${slug}/`);
|
|
97
|
+
}
|
|
98
|
+
catch (error) {
|
|
99
|
+
const message = error instanceof Error ? error.message : String(error);
|
|
100
|
+
logger.error(`Could not install standalone skill ${slug}: ${message}`);
|
|
101
|
+
}
|
|
102
|
+
}
|
|
78
103
|
// Step 3: Configure agents
|
|
79
104
|
logger.step(3, 3, 'Configuring agents...');
|
|
80
105
|
for (const agent of targetAgents) {
|
|
@@ -145,4 +170,7 @@ function resolveTargetAgents(opts) {
|
|
|
145
170
|
targets.push('cursor');
|
|
146
171
|
return targets;
|
|
147
172
|
}
|
|
173
|
+
function collectSkillSlug(value, previous) {
|
|
174
|
+
return [...previous, value];
|
|
175
|
+
}
|
|
148
176
|
//# sourceMappingURL=install.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"install.js","sourceRoot":"","sources":["../../src/commands/install.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
|
1
|
+
{"version":3,"file":"install.js","sourceRoot":"","sources":["../../src/commands/install.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"styles.d.ts","sourceRoot":"","sources":["../../src/commands/styles.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAkMpC,eAAO,MAAM,aAAa,SAOF,CAAC"}
|
|
@@ -0,0 +1,157 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.stylesCommand = void 0;
|
|
4
|
+
const commander_1 = require("commander");
|
|
5
|
+
const config_1 = require("../config");
|
|
6
|
+
const graphics_manifest_1 = require("../lib/graphics-manifest");
|
|
7
|
+
const graphics_api_1 = require("../lib/graphics-api");
|
|
8
|
+
const shared_1 = require("./graphics/shared");
|
|
9
|
+
const publish_flow_1 = require("./graphics/publish-flow");
|
|
10
|
+
const get_flow_1 = require("./graphics/get-flow");
|
|
11
|
+
function renderListTable(rows) {
|
|
12
|
+
return (0, shared_1.renderTable)(rows, [
|
|
13
|
+
{ header: 'NAME', get: (r) => (0, shared_1.truncate)(r.name, 40) },
|
|
14
|
+
{ header: 'SLUG', get: (r) => r.slug },
|
|
15
|
+
{ header: 'MOOD', get: (r) => r.moodGroup ?? '' },
|
|
16
|
+
{ header: 'FEATURED', get: (r) => (r.featured ? '★' : '') },
|
|
17
|
+
{ header: 'AUTHOR', get: (r) => r.authorHandle ?? '' },
|
|
18
|
+
]);
|
|
19
|
+
}
|
|
20
|
+
const listCmd = new commander_1.Command('list')
|
|
21
|
+
.description('List published graphic styles')
|
|
22
|
+
.option('--mood <mood>', 'Filter by mood group')
|
|
23
|
+
.option('--tag <tag>', 'Filter by tag')
|
|
24
|
+
.option('--featured', 'Only featured styles')
|
|
25
|
+
.option('--q <query>', 'Free-text query')
|
|
26
|
+
.option('--limit <n>', 'Max rows to return')
|
|
27
|
+
.option('--offset <n>', 'Skip the first N rows')
|
|
28
|
+
.option('--json', 'Print full JSON instead of a table')
|
|
29
|
+
.action(async (opts) => {
|
|
30
|
+
try {
|
|
31
|
+
const env = await (0, graphics_api_1.listStyles)((0, shared_1.clientOpts)(), {
|
|
32
|
+
q: opts.q,
|
|
33
|
+
mood: opts.mood,
|
|
34
|
+
tag: opts.tag,
|
|
35
|
+
featured: !!opts.featured,
|
|
36
|
+
limit: (0, shared_1.parseIntOpt)(opts.limit, 'limit'),
|
|
37
|
+
offset: (0, shared_1.parseIntOpt)(opts.offset, 'offset'),
|
|
38
|
+
});
|
|
39
|
+
if (opts.json) {
|
|
40
|
+
process.stdout.write(JSON.stringify(env.data, null, 2) + '\n');
|
|
41
|
+
return;
|
|
42
|
+
}
|
|
43
|
+
if (env.data.length === 0) {
|
|
44
|
+
process.stderr.write('No styles match.\n');
|
|
45
|
+
return;
|
|
46
|
+
}
|
|
47
|
+
process.stdout.write(renderListTable(env.data) + '\n');
|
|
48
|
+
}
|
|
49
|
+
catch (err) {
|
|
50
|
+
(0, shared_1.reportApiErrorAndExit)(err);
|
|
51
|
+
}
|
|
52
|
+
});
|
|
53
|
+
const searchCmd = new commander_1.Command('search')
|
|
54
|
+
.description('Search graphic styles (alias for `list --q <query>`)')
|
|
55
|
+
.argument('<query>', 'Search query')
|
|
56
|
+
.option('--json', 'Print full JSON instead of a table')
|
|
57
|
+
.option('--limit <n>', 'Max rows to return')
|
|
58
|
+
.option('--offset <n>', 'Skip the first N rows')
|
|
59
|
+
.action(async (query, opts) => {
|
|
60
|
+
try {
|
|
61
|
+
const env = await (0, graphics_api_1.listStyles)((0, shared_1.clientOpts)(), {
|
|
62
|
+
q: query,
|
|
63
|
+
limit: (0, shared_1.parseIntOpt)(opts.limit, 'limit'),
|
|
64
|
+
offset: (0, shared_1.parseIntOpt)(opts.offset, 'offset'),
|
|
65
|
+
});
|
|
66
|
+
if (opts.json) {
|
|
67
|
+
process.stdout.write(JSON.stringify(env.data, null, 2) + '\n');
|
|
68
|
+
return;
|
|
69
|
+
}
|
|
70
|
+
if (env.data.length === 0) {
|
|
71
|
+
process.stderr.write(`No styles match "${query}".\n`);
|
|
72
|
+
return;
|
|
73
|
+
}
|
|
74
|
+
process.stdout.write(renderListTable(env.data) + '\n');
|
|
75
|
+
}
|
|
76
|
+
catch (err) {
|
|
77
|
+
(0, shared_1.reportApiErrorAndExit)(err);
|
|
78
|
+
}
|
|
79
|
+
});
|
|
80
|
+
const getCmd = new commander_1.Command('get')
|
|
81
|
+
.description('Print a style\'s design.md (default) or full JSON record')
|
|
82
|
+
.argument('<slug>', 'Style slug')
|
|
83
|
+
.option('--json', 'Print full JSON record instead of design.md')
|
|
84
|
+
.option('--include-examples', 'Also download example PNGs into ./<slug>/')
|
|
85
|
+
.option('--no-cache', 'Bypass local ETag cache')
|
|
86
|
+
.action(async (slug, opts) => {
|
|
87
|
+
const opt = (0, shared_1.clientOpts)();
|
|
88
|
+
await (0, get_flow_1.runGetFlow)({
|
|
89
|
+
resource: 'styles',
|
|
90
|
+
fetchMarkdown: (s, etag) => (0, graphics_api_1.getStyleDesignMd)(opt, s, etag),
|
|
91
|
+
fetchRecord: (s, etag) => (0, graphics_api_1.getStyleRecord)(opt, s, etag),
|
|
92
|
+
}, slug, {
|
|
93
|
+
json: opts.json,
|
|
94
|
+
includeExamples: opts.includeExamples,
|
|
95
|
+
// commander's --no-cache flips `cache` to false
|
|
96
|
+
noCache: opts.cache === false,
|
|
97
|
+
});
|
|
98
|
+
});
|
|
99
|
+
const publishCmd = new commander_1.Command('publish')
|
|
100
|
+
.description('Publish a style from a directory containing gooseworks-style.json')
|
|
101
|
+
.argument('[path]', 'Directory containing the manifest', '.')
|
|
102
|
+
.option('--slug <slug>', 'Override the manifest slug')
|
|
103
|
+
.option('--yes', 'Skip the slug-collision prompt and accept the suggestion')
|
|
104
|
+
.action(async (dir, opts) => {
|
|
105
|
+
const auth = (0, shared_1.authedClientOpts)();
|
|
106
|
+
await (0, publish_flow_1.runPublishFlow)({
|
|
107
|
+
manifestFilename: graphics_manifest_1.STYLE_MANIFEST_FILENAME,
|
|
108
|
+
validate: graphics_manifest_1.validateStyleManifest,
|
|
109
|
+
hubUrl: (slug) => `${config_1.FRONTEND_URL}/styles/${slug}`,
|
|
110
|
+
label: 'style',
|
|
111
|
+
upload: (manifest, files) => (0, graphics_api_1.publishStyle)(auth, manifest, files),
|
|
112
|
+
}, { dir, slug: opts.slug, yes: opts.yes });
|
|
113
|
+
});
|
|
114
|
+
const updateCmd = new commander_1.Command('update')
|
|
115
|
+
.description('Update a style by slug')
|
|
116
|
+
.argument('<slug>', 'Style slug to update')
|
|
117
|
+
.argument('[path]', 'Directory containing the manifest', '.')
|
|
118
|
+
.action(async (slug, dir) => {
|
|
119
|
+
const auth = (0, shared_1.authedClientOpts)();
|
|
120
|
+
await (0, publish_flow_1.runUpdateFlow)({
|
|
121
|
+
manifestFilename: graphics_manifest_1.STYLE_MANIFEST_FILENAME,
|
|
122
|
+
validate: graphics_manifest_1.validateStyleManifest,
|
|
123
|
+
hubUrl: (s) => `${config_1.FRONTEND_URL}/styles/${s}`,
|
|
124
|
+
label: 'style',
|
|
125
|
+
upload: (manifest, files) => (0, graphics_api_1.updateStyle)(auth, slug, manifest, files),
|
|
126
|
+
}, { dir, slug, yes: true });
|
|
127
|
+
});
|
|
128
|
+
const deleteCmd = new commander_1.Command('delete')
|
|
129
|
+
.description('Delete a style by slug (owner only)')
|
|
130
|
+
.argument('<slug>', 'Style slug to delete')
|
|
131
|
+
.option('--yes', 'Skip the confirmation prompt')
|
|
132
|
+
.action(async (slug, opts) => {
|
|
133
|
+
const auth = (0, shared_1.authedClientOpts)();
|
|
134
|
+
if (!opts.yes) {
|
|
135
|
+
const ok = await (0, shared_1.promptYesNo)(`Delete style '${slug}'?`, false);
|
|
136
|
+
if (!ok) {
|
|
137
|
+
process.stderr.write('Aborted.\n');
|
|
138
|
+
process.exit(shared_1.EXIT_USER_ERROR);
|
|
139
|
+
}
|
|
140
|
+
}
|
|
141
|
+
try {
|
|
142
|
+
await (0, graphics_api_1.deleteStyle)(auth, slug);
|
|
143
|
+
process.stdout.write(`Deleted style '${slug}'.\n`);
|
|
144
|
+
}
|
|
145
|
+
catch (err) {
|
|
146
|
+
(0, shared_1.reportApiErrorAndExit)(err);
|
|
147
|
+
}
|
|
148
|
+
});
|
|
149
|
+
exports.stylesCommand = new commander_1.Command('styles')
|
|
150
|
+
.description('Browse and publish graphic styles')
|
|
151
|
+
.addCommand(listCmd)
|
|
152
|
+
.addCommand(searchCmd)
|
|
153
|
+
.addCommand(getCmd)
|
|
154
|
+
.addCommand(publishCmd)
|
|
155
|
+
.addCommand(updateCmd)
|
|
156
|
+
.addCommand(deleteCmd);
|
|
157
|
+
//# sourceMappingURL=styles.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"styles.js","sourceRoot":"","sources":["../../src/commands/styles.ts"],"names":[],"mappings":"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"}
|
package/dist/index.js
CHANGED
|
@@ -8,6 +8,8 @@ const logout_1 = require("./commands/logout");
|
|
|
8
8
|
const update_1 = require("./commands/update");
|
|
9
9
|
const credits_1 = require("./commands/credits");
|
|
10
10
|
const search_1 = require("./commands/search");
|
|
11
|
+
const styles_1 = require("./commands/styles");
|
|
12
|
+
const formats_1 = require("./commands/formats");
|
|
11
13
|
const version_1 = require("./version");
|
|
12
14
|
const program = new commander_1.Command();
|
|
13
15
|
program
|
|
@@ -20,5 +22,7 @@ program.addCommand(logout_1.logoutCommand);
|
|
|
20
22
|
program.addCommand(update_1.updateCommand);
|
|
21
23
|
program.addCommand(credits_1.creditsCommand);
|
|
22
24
|
program.addCommand(search_1.searchCommand);
|
|
25
|
+
program.addCommand(styles_1.stylesCommand);
|
|
26
|
+
program.addCommand(formats_1.formatsCommand);
|
|
23
27
|
program.parse();
|
|
24
28
|
//# sourceMappingURL=index.js.map
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;AACA,yCAAoC;AACpC,gDAAoD;AACpD,4CAAgD;AAChD,8CAAkD;AAClD,8CAAkD;AAClD,gDAAoD;AACpD,8CAAkD;AAClD,uCAAuC;AAEvC,MAAM,OAAO,GAAG,IAAI,mBAAO,EAAE,CAAC;AAC9B,OAAO;KACJ,IAAI,CAAC,YAAY,CAAC;KAClB,WAAW,CAAC,yDAAyD,CAAC;KACtE,OAAO,CAAC,IAAA,oBAAU,GAAE,CAAC,CAAC;AAEzB,OAAO,CAAC,UAAU,CAAC,wBAAc,CAAC,CAAC;AACnC,OAAO,CAAC,UAAU,CAAC,oBAAY,CAAC,CAAC;AACjC,OAAO,CAAC,UAAU,CAAC,sBAAa,CAAC,CAAC;AAClC,OAAO,CAAC,UAAU,CAAC,sBAAa,CAAC,CAAC;AAClC,OAAO,CAAC,UAAU,CAAC,wBAAc,CAAC,CAAC;AACnC,OAAO,CAAC,UAAU,CAAC,sBAAa,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;AACA,yCAAoC;AACpC,gDAAoD;AACpD,4CAAgD;AAChD,8CAAkD;AAClD,8CAAkD;AAClD,gDAAoD;AACpD,8CAAkD;AAClD,8CAAkD;AAClD,gDAAoD;AACpD,uCAAuC;AAEvC,MAAM,OAAO,GAAG,IAAI,mBAAO,EAAE,CAAC;AAC9B,OAAO;KACJ,IAAI,CAAC,YAAY,CAAC;KAClB,WAAW,CAAC,yDAAyD,CAAC;KACtE,OAAO,CAAC,IAAA,oBAAU,GAAE,CAAC,CAAC;AAEzB,OAAO,CAAC,UAAU,CAAC,wBAAc,CAAC,CAAC;AACnC,OAAO,CAAC,UAAU,CAAC,oBAAY,CAAC,CAAC;AACjC,OAAO,CAAC,UAAU,CAAC,sBAAa,CAAC,CAAC;AAClC,OAAO,CAAC,UAAU,CAAC,sBAAa,CAAC,CAAC;AAClC,OAAO,CAAC,UAAU,CAAC,wBAAc,CAAC,CAAC;AACnC,OAAO,CAAC,UAAU,CAAC,sBAAa,CAAC,CAAC;AAClC,OAAO,CAAC,UAAU,CAAC,sBAAa,CAAC,CAAC;AAClC,OAAO,CAAC,UAAU,CAAC,wBAAc,CAAC,CAAC;AAEnC,OAAO,CAAC,KAAK,EAAE,CAAC"}
|
|
@@ -0,0 +1,106 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* HTTP client for the Gooseworks graphics API.
|
|
3
|
+
*
|
|
4
|
+
* Uses the global fetch (Node 18+) and FormData/Blob for multipart uploads.
|
|
5
|
+
* Endpoint shapes are documented in gooseworks-app GOOSE-1468.
|
|
6
|
+
*/
|
|
7
|
+
import type { ResolvedExampleFile } from './graphics-manifest';
|
|
8
|
+
export interface ApiClientOptions {
|
|
9
|
+
apiBase: string;
|
|
10
|
+
/** Bearer token. Optional for public reads, but always sent if available. */
|
|
11
|
+
apiKey?: string | null;
|
|
12
|
+
}
|
|
13
|
+
export interface AuthedApiClientOptions {
|
|
14
|
+
apiBase: string;
|
|
15
|
+
apiKey: string;
|
|
16
|
+
}
|
|
17
|
+
export declare class ApiError extends Error {
|
|
18
|
+
readonly status: number;
|
|
19
|
+
readonly code: string | null;
|
|
20
|
+
readonly body?: unknown | undefined;
|
|
21
|
+
constructor(status: number, code: string | null, message: string, body?: unknown | undefined);
|
|
22
|
+
}
|
|
23
|
+
export declare class NetworkError extends Error {
|
|
24
|
+
readonly cause?: unknown | undefined;
|
|
25
|
+
constructor(message: string, cause?: unknown | undefined);
|
|
26
|
+
}
|
|
27
|
+
export interface ListQuery {
|
|
28
|
+
q?: string;
|
|
29
|
+
mood?: string;
|
|
30
|
+
tag?: string;
|
|
31
|
+
featured?: boolean;
|
|
32
|
+
limit?: number;
|
|
33
|
+
offset?: number;
|
|
34
|
+
}
|
|
35
|
+
export interface GraphicStyleSummary {
|
|
36
|
+
id: string;
|
|
37
|
+
slug: string;
|
|
38
|
+
name: string;
|
|
39
|
+
description?: string | null;
|
|
40
|
+
moodGroup?: string | null;
|
|
41
|
+
tags?: string[];
|
|
42
|
+
featured?: boolean;
|
|
43
|
+
authorHandle?: string | null;
|
|
44
|
+
[key: string]: unknown;
|
|
45
|
+
}
|
|
46
|
+
export interface GraphicFormatSummary {
|
|
47
|
+
id: string;
|
|
48
|
+
slug: string;
|
|
49
|
+
name: string;
|
|
50
|
+
description?: string | null;
|
|
51
|
+
width?: number;
|
|
52
|
+
height?: number;
|
|
53
|
+
featured?: boolean;
|
|
54
|
+
authorHandle?: string | null;
|
|
55
|
+
[key: string]: unknown;
|
|
56
|
+
}
|
|
57
|
+
export interface ListEnvelope<T> {
|
|
58
|
+
status: 'success';
|
|
59
|
+
data: T[];
|
|
60
|
+
meta?: {
|
|
61
|
+
total?: number;
|
|
62
|
+
limit?: number;
|
|
63
|
+
offset?: number;
|
|
64
|
+
};
|
|
65
|
+
}
|
|
66
|
+
export declare function listStyles(opts: ApiClientOptions, query?: ListQuery): Promise<ListEnvelope<GraphicStyleSummary>>;
|
|
67
|
+
export declare function listFormats(opts: ApiClientOptions, query?: ListQuery): Promise<ListEnvelope<GraphicFormatSummary>>;
|
|
68
|
+
export interface ItemEnvelope<T> {
|
|
69
|
+
status: 'success';
|
|
70
|
+
data: T;
|
|
71
|
+
}
|
|
72
|
+
/**
|
|
73
|
+
* ETag-aware response for JSON record fetches. On 304, `envelope` is null
|
|
74
|
+
* and the caller should fall back to its cached body.
|
|
75
|
+
*/
|
|
76
|
+
export interface RecordResponse<T> {
|
|
77
|
+
status: 200 | 304;
|
|
78
|
+
envelope: ItemEnvelope<T> | null;
|
|
79
|
+
etag: string | null;
|
|
80
|
+
}
|
|
81
|
+
export declare function getStyleRecord(opts: ApiClientOptions, slug: string, etag?: string | null): Promise<RecordResponse<GraphicStyleSummary & {
|
|
82
|
+
examples?: unknown[];
|
|
83
|
+
}>>;
|
|
84
|
+
export declare function getFormatRecord(opts: ApiClientOptions, slug: string, etag?: string | null): Promise<RecordResponse<GraphicFormatSummary & {
|
|
85
|
+
examples?: unknown[];
|
|
86
|
+
}>>;
|
|
87
|
+
export interface MarkdownResponse {
|
|
88
|
+
/** 200 with a fresh body, or 304 if If-None-Match matched (body is null). */
|
|
89
|
+
status: 200 | 304;
|
|
90
|
+
body: string | null;
|
|
91
|
+
etag: string | null;
|
|
92
|
+
}
|
|
93
|
+
export declare function getStyleDesignMd(opts: ApiClientOptions, slug: string, etag?: string | null): Promise<MarkdownResponse>;
|
|
94
|
+
export declare function getFormatSpecMd(opts: ApiClientOptions, slug: string, etag?: string | null): Promise<MarkdownResponse>;
|
|
95
|
+
export interface WriteResult {
|
|
96
|
+
slug: string;
|
|
97
|
+
id: string;
|
|
98
|
+
}
|
|
99
|
+
export declare function publishStyle(opts: AuthedApiClientOptions, manifest: unknown, files: ResolvedExampleFile[]): Promise<WriteResult>;
|
|
100
|
+
export declare function updateStyle(opts: AuthedApiClientOptions, slug: string, manifest: unknown, files: ResolvedExampleFile[]): Promise<WriteResult>;
|
|
101
|
+
export declare function deleteStyle(opts: AuthedApiClientOptions, slug: string): Promise<void>;
|
|
102
|
+
export declare function publishFormat(opts: AuthedApiClientOptions, manifest: unknown, files: ResolvedExampleFile[]): Promise<WriteResult>;
|
|
103
|
+
export declare function updateFormat(opts: AuthedApiClientOptions, slug: string, manifest: unknown, files: ResolvedExampleFile[]): Promise<WriteResult>;
|
|
104
|
+
export declare function deleteFormat(opts: AuthedApiClientOptions, slug: string): Promise<void>;
|
|
105
|
+
export declare function downloadBytes(url: string): Promise<Buffer>;
|
|
106
|
+
//# sourceMappingURL=graphics-api.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"graphics-api.d.ts","sourceRoot":"","sources":["../../src/lib/graphics-api.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAIH,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,qBAAqB,CAAC;AAE/D,MAAM,WAAW,gBAAgB;IAC/B,OAAO,EAAE,MAAM,CAAC;IAChB,6EAA6E;IAC7E,MAAM,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CACxB;AAED,MAAM,WAAW,sBAAsB;IACrC,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,qBAAa,QAAS,SAAQ,KAAK;aAEf,MAAM,EAAE,MAAM;aACd,IAAI,EAAE,MAAM,GAAG,IAAI;aAEnB,IAAI,CAAC,EAAE,OAAO;gBAHd,MAAM,EAAE,MAAM,EACd,IAAI,EAAE,MAAM,GAAG,IAAI,EACnC,OAAO,EAAE,MAAM,EACC,IAAI,CAAC,EAAE,OAAO,YAAA;CAKjC;AAED,qBAAa,YAAa,SAAQ,KAAK;aACQ,KAAK,CAAC,EAAE,OAAO;gBAAhD,OAAO,EAAE,MAAM,EAAkB,KAAK,CAAC,EAAE,OAAO,YAAA;CAI7D;AAuDD,MAAM,WAAW,SAAS;IACxB,CAAC,CAAC,EAAE,MAAM,CAAC;IACX,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAcD,MAAM,WAAW,mBAAmB;IAClC,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5B,SAAS,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC;IAChB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,YAAY,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC7B,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;CACxB;AAED,MAAM,WAAW,oBAAoB;IACnC,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5B,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,YAAY,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC7B,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;CACxB;AAED,MAAM,WAAW,YAAY,CAAC,CAAC;IAC7B,MAAM,EAAE,SAAS,CAAC;IAClB,IAAI,EAAE,CAAC,EAAE,CAAC;IACV,IAAI,CAAC,EAAE;QAAE,KAAK,CAAC,EAAE,MAAM,CAAC;QAAC,KAAK,CAAC,EAAE,MAAM,CAAC;QAAC,MAAM,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;CAC5D;AAkBD,wBAAsB,UAAU,CAC9B,IAAI,EAAE,gBAAgB,EACtB,KAAK,GAAE,SAAc,GACpB,OAAO,CAAC,YAAY,CAAC,mBAAmB,CAAC,CAAC,CAG5C;AAED,wBAAsB,WAAW,CAC/B,IAAI,EAAE,gBAAgB,EACtB,KAAK,GAAE,SAAc,GACpB,OAAO,CAAC,YAAY,CAAC,oBAAoB,CAAC,CAAC,CAG7C;AAED,MAAM,WAAW,YAAY,CAAC,CAAC;IAC7B,MAAM,EAAE,SAAS,CAAC;IAClB,IAAI,EAAE,CAAC,CAAC;CACT;AAED;;;GAGG;AACH,MAAM,WAAW,cAAc,CAAC,CAAC;IAC/B,MAAM,EAAE,GAAG,GAAG,GAAG,CAAC;IAClB,QAAQ,EAAE,YAAY,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC;IACjC,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;CACrB;AA6BD,wBAAsB,cAAc,CAClC,IAAI,EAAE,gBAAgB,EACtB,IAAI,EAAE,MAAM,EACZ,IAAI,GAAE,MAAM,GAAG,IAAW,GACzB,OAAO,CAAC,cAAc,CAAC,mBAAmB,GAAG;IAAE,QAAQ,CAAC,EAAE,OAAO,EAAE,CAAA;CAAE,CAAC,CAAC,CAGzE;AAED,wBAAsB,eAAe,CACnC,IAAI,EAAE,gBAAgB,EACtB,IAAI,EAAE,MAAM,EACZ,IAAI,GAAE,MAAM,GAAG,IAAW,GACzB,OAAO,CAAC,cAAc,CAAC,oBAAoB,GAAG;IAAE,QAAQ,CAAC,EAAE,OAAO,EAAE,CAAA;CAAE,CAAC,CAAC,CAG1E;AAED,MAAM,WAAW,gBAAgB;IAC/B,6EAA6E;IAC7E,MAAM,EAAE,GAAG,GAAG,GAAG,CAAC;IAClB,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;IACpB,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;CACrB;AAsBD,wBAAsB,gBAAgB,CACpC,IAAI,EAAE,gBAAgB,EACtB,IAAI,EAAE,MAAM,EACZ,IAAI,GAAE,MAAM,GAAG,IAAW,GACzB,OAAO,CAAC,gBAAgB,CAAC,CAG3B;AAED,wBAAsB,eAAe,CACnC,IAAI,EAAE,gBAAgB,EACtB,IAAI,EAAE,MAAM,EACZ,IAAI,GAAE,MAAM,GAAG,IAAW,GACzB,OAAO,CAAC,gBAAgB,CAAC,CAG3B;AAKD,MAAM,WAAW,WAAW;IAC1B,IAAI,EAAE,MAAM,CAAC;IACb,EAAE,EAAE,MAAM,CAAC;CACZ;AAkDD,wBAAsB,YAAY,CAChC,IAAI,EAAE,sBAAsB,EAC5B,QAAQ,EAAE,OAAO,EACjB,KAAK,EAAE,mBAAmB,EAAE,GAC3B,OAAO,CAAC,WAAW,CAAC,CAGtB;AAED,wBAAsB,WAAW,CAC/B,IAAI,EAAE,sBAAsB,EAC5B,IAAI,EAAE,MAAM,EACZ,QAAQ,EAAE,OAAO,EACjB,KAAK,EAAE,mBAAmB,EAAE,GAC3B,OAAO,CAAC,WAAW,CAAC,CAGtB;AAED,wBAAsB,WAAW,CAC/B,IAAI,EAAE,sBAAsB,EAC5B,IAAI,EAAE,MAAM,GACX,OAAO,CAAC,IAAI,CAAC,CAOf;AAED,wBAAsB,aAAa,CACjC,IAAI,EAAE,sBAAsB,EAC5B,QAAQ,EAAE,OAAO,EACjB,KAAK,EAAE,mBAAmB,EAAE,GAC3B,OAAO,CAAC,WAAW,CAAC,CAGtB;AAED,wBAAsB,YAAY,CAChC,IAAI,EAAE,sBAAsB,EAC5B,IAAI,EAAE,MAAM,EACZ,QAAQ,EAAE,OAAO,EACjB,KAAK,EAAE,mBAAmB,EAAE,GAC3B,OAAO,CAAC,WAAW,CAAC,CAGtB;AAED,wBAAsB,YAAY,CAChC,IAAI,EAAE,sBAAsB,EAC5B,IAAI,EAAE,MAAM,GACX,OAAO,CAAC,IAAI,CAAC,CAOf;AAKD,wBAAsB,aAAa,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAKhE"}
|