clipy-kit 0.1.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.
Files changed (53) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +65 -0
  3. package/dist/auth.d.ts +53 -0
  4. package/dist/auth.js +314 -0
  5. package/dist/cli.d.ts +6 -0
  6. package/dist/cli.js +160 -0
  7. package/dist/color.d.ts +12 -0
  8. package/dist/color.js +19 -0
  9. package/dist/colors.d.ts +6 -0
  10. package/dist/colors.js +26 -0
  11. package/dist/host/doctor.d.ts +17 -0
  12. package/dist/host/doctor.js +54 -0
  13. package/dist/host/help.d.ts +20 -0
  14. package/dist/host/help.js +142 -0
  15. package/dist/host/setup.d.ts +16 -0
  16. package/dist/host/setup.js +93 -0
  17. package/dist/http.d.ts +14 -0
  18. package/dist/http.js +53 -0
  19. package/dist/ids.d.ts +2 -0
  20. package/dist/ids.js +21 -0
  21. package/dist/json-input.d.ts +4 -0
  22. package/dist/json-input.js +34 -0
  23. package/dist/lib/format.d.ts +14 -0
  24. package/dist/lib/format.js +73 -0
  25. package/dist/lib/index.d.ts +6 -0
  26. package/dist/lib/index.js +6 -0
  27. package/dist/lib/ops.d.ts +460 -0
  28. package/dist/lib/ops.js +475 -0
  29. package/dist/lib/table.d.ts +14 -0
  30. package/dist/lib/table.js +67 -0
  31. package/dist/lib/types.d.ts +26 -0
  32. package/dist/lib/types.js +1 -0
  33. package/dist/output.d.ts +37 -0
  34. package/dist/output.js +67 -0
  35. package/dist/plugins/catalog.d.ts +11 -0
  36. package/dist/plugins/catalog.js +31 -0
  37. package/dist/plugins/sheet/plugin.d.ts +2 -0
  38. package/dist/plugins/sheet/plugin.js +8 -0
  39. package/dist/plugins/sheet/register.d.ts +2 -0
  40. package/dist/plugins/sheet/register.js +529 -0
  41. package/dist/plugins/sheet/specs.d.ts +20 -0
  42. package/dist/plugins/sheet/specs.js +291 -0
  43. package/dist/plugins/types.d.ts +7 -0
  44. package/dist/plugins/types.js +1 -0
  45. package/dist/ranges.d.ts +20 -0
  46. package/dist/ranges.js +77 -0
  47. package/dist/run.d.ts +353 -0
  48. package/dist/run.js +36 -0
  49. package/dist/specs.d.ts +1 -0
  50. package/dist/specs.js +1 -0
  51. package/package.json +50 -0
  52. package/skills/clipy/SKILL.md +38 -0
  53. package/skills/clipy-sheet/SKILL.md +71 -0
@@ -0,0 +1,460 @@
1
+ import { GoogleClient } from '../http.js';
2
+ import { type FormatFlags } from './format.js';
3
+ import type { Spreadsheet } from './types.js';
4
+ export declare function createOps(client: GoogleClient): {
5
+ getSpreadsheet: (id: string, fields?: string) => Promise<Spreadsheet>;
6
+ findSpreadsheets: (name: string, limit?: number) => Promise<{
7
+ query: string;
8
+ files: {
9
+ id: string;
10
+ name: string;
11
+ url: string;
12
+ }[];
13
+ }>;
14
+ info: (id: string) => Promise<{
15
+ spreadsheetId: string;
16
+ title: string | undefined;
17
+ url: string | undefined;
18
+ tabs: {
19
+ sheetId: number | undefined;
20
+ title: string | undefined;
21
+ index: number | undefined;
22
+ rows: number | undefined;
23
+ columns: number | undefined;
24
+ }[];
25
+ }>;
26
+ listTabs: (id: string) => Promise<{
27
+ title: string | undefined;
28
+ tabs: {
29
+ sheetId: number | undefined;
30
+ title: string | undefined;
31
+ index: number | undefined;
32
+ rows: number | undefined;
33
+ columns: number | undefined;
34
+ }[];
35
+ }>;
36
+ readTable: (id: string, opts: ReadOpts) => Promise<{
37
+ range: string;
38
+ values: unknown[][];
39
+ } | {
40
+ headers: string[];
41
+ rows: Record<string, unknown>[];
42
+ headerRow: number;
43
+ range: string;
44
+ values?: undefined;
45
+ }>;
46
+ readRange: (id: string, range: string) => Promise<{
47
+ range: string;
48
+ values: unknown[][];
49
+ }>;
50
+ append: (id: string, opts: WriteTableOpts) => Promise<{
51
+ dryRun: boolean;
52
+ tab: string;
53
+ headers: string[];
54
+ rows: number;
55
+ bootstrap: boolean;
56
+ result?: undefined;
57
+ } | {
58
+ tab: string;
59
+ headers: string[];
60
+ rows: number;
61
+ bootstrap: boolean;
62
+ result: unknown;
63
+ dryRun?: undefined;
64
+ } | {
65
+ dryRun: boolean;
66
+ tab: string;
67
+ headers: string[];
68
+ rows: number;
69
+ bootstrap?: undefined;
70
+ result?: undefined;
71
+ } | {
72
+ tab: string;
73
+ headers: string[];
74
+ rows: number;
75
+ result: unknown;
76
+ dryRun?: undefined;
77
+ bootstrap?: undefined;
78
+ }>;
79
+ update: (id: string, opts: UpdateOpts) => Promise<{
80
+ dryRun: boolean;
81
+ matchedRows: unknown[];
82
+ set: Record<string, unknown>;
83
+ updated?: undefined;
84
+ result?: undefined;
85
+ } | {
86
+ matchedRows: unknown[];
87
+ updated: number;
88
+ result: unknown;
89
+ dryRun?: undefined;
90
+ set?: undefined;
91
+ }>;
92
+ upsert: (id: string, opts: UpsertOpts) => Promise<{
93
+ updated: number;
94
+ inserted: number;
95
+ updatedRows: unknown[];
96
+ appendResult: unknown;
97
+ }>;
98
+ setRange: (id: string, opts: SetOpts) => Promise<{
99
+ dryRun: boolean;
100
+ range: string;
101
+ values: unknown[][];
102
+ result?: undefined;
103
+ } | {
104
+ range: string;
105
+ result: unknown;
106
+ dryRun?: undefined;
107
+ values?: undefined;
108
+ }>;
109
+ clear: (id: string, range: string, dryRun?: boolean) => Promise<{
110
+ dryRun: boolean;
111
+ range: string;
112
+ result?: undefined;
113
+ } | {
114
+ range: string;
115
+ result: unknown;
116
+ dryRun?: undefined;
117
+ }>;
118
+ batch: (id: string, ops: BatchOp[], dryRun?: boolean) => Promise<{
119
+ count: number;
120
+ results: ({
121
+ op: "append";
122
+ result: {
123
+ dryRun: boolean;
124
+ tab: string;
125
+ headers: string[];
126
+ rows: number;
127
+ bootstrap: boolean;
128
+ result?: undefined;
129
+ } | {
130
+ tab: string;
131
+ headers: string[];
132
+ rows: number;
133
+ bootstrap: boolean;
134
+ result: unknown;
135
+ dryRun?: undefined;
136
+ } | {
137
+ dryRun: boolean;
138
+ tab: string;
139
+ headers: string[];
140
+ rows: number;
141
+ bootstrap?: undefined;
142
+ result?: undefined;
143
+ } | {
144
+ tab: string;
145
+ headers: string[];
146
+ rows: number;
147
+ result: unknown;
148
+ dryRun?: undefined;
149
+ bootstrap?: undefined;
150
+ };
151
+ } | {
152
+ op: "updateKey";
153
+ result: {
154
+ dryRun: boolean;
155
+ matchedRows: unknown[];
156
+ set: Record<string, unknown>;
157
+ updated?: undefined;
158
+ result?: undefined;
159
+ } | {
160
+ matchedRows: unknown[];
161
+ updated: number;
162
+ result: unknown;
163
+ dryRun?: undefined;
164
+ set?: undefined;
165
+ };
166
+ } | {
167
+ op: "updateRow";
168
+ result: {
169
+ dryRun: boolean;
170
+ row: number;
171
+ set: Record<string, unknown>;
172
+ result?: undefined;
173
+ } | {
174
+ row: number;
175
+ result: unknown;
176
+ dryRun?: undefined;
177
+ set?: undefined;
178
+ };
179
+ } | {
180
+ op: "setRange";
181
+ result: {
182
+ dryRun: boolean;
183
+ range: string;
184
+ values: unknown[][];
185
+ result?: undefined;
186
+ } | {
187
+ range: string;
188
+ result: unknown;
189
+ dryRun?: undefined;
190
+ values?: undefined;
191
+ };
192
+ } | {
193
+ op: "clear";
194
+ result: {
195
+ dryRun: boolean;
196
+ range: string;
197
+ result?: undefined;
198
+ } | {
199
+ range: string;
200
+ result: unknown;
201
+ dryRun?: undefined;
202
+ };
203
+ })[];
204
+ }>;
205
+ create: (opts: CreateOpts) => Promise<{
206
+ properties: {
207
+ title: string;
208
+ };
209
+ sheets: {
210
+ properties: {
211
+ title: string;
212
+ index: number;
213
+ };
214
+ }[];
215
+ dryRun: boolean;
216
+ spreadsheetId?: undefined;
217
+ url?: undefined;
218
+ title?: undefined;
219
+ tabs?: undefined;
220
+ } | {
221
+ spreadsheetId: string;
222
+ url: string;
223
+ title: string | undefined;
224
+ tabs: string[];
225
+ }>;
226
+ tabAdd: (id: string, opts: TabAddOpts) => Promise<{
227
+ title: string;
228
+ result: unknown;
229
+ }>;
230
+ tabRename: (id: string, opts: TabRenameOpts) => Promise<{
231
+ from: string;
232
+ title: string;
233
+ result: unknown;
234
+ }>;
235
+ tabDelete: (id: string, opts: {
236
+ tab: string;
237
+ dryRun?: boolean;
238
+ }) => Promise<{
239
+ tab: string;
240
+ sheetId: number;
241
+ result: unknown;
242
+ }>;
243
+ tabDuplicate: (id: string, opts: TabDupOpts) => Promise<{
244
+ tab: string;
245
+ title: string | undefined;
246
+ result: unknown;
247
+ }>;
248
+ format: (id: string, opts: FormatOpts) => Promise<{
249
+ dryRun: boolean;
250
+ range: string;
251
+ requests: Record<string, unknown>[];
252
+ result?: undefined;
253
+ } | {
254
+ range: string;
255
+ result: unknown;
256
+ dryRun?: undefined;
257
+ requests?: undefined;
258
+ }>;
259
+ formatHeader: (id: string, opts: HeaderFormatOpts) => Promise<{
260
+ tab: string;
261
+ freeze: boolean;
262
+ result: unknown;
263
+ }>;
264
+ freeze: (id: string, opts: FreezeOpts) => Promise<{
265
+ tab: string;
266
+ rows: number;
267
+ columns: number | undefined;
268
+ result: unknown;
269
+ }>;
270
+ numberFormat: (id: string, opts: NumberFormatOpts) => Promise<{
271
+ dryRun: boolean;
272
+ range: string;
273
+ requests: Record<string, unknown>[];
274
+ result?: undefined;
275
+ } | {
276
+ range: string;
277
+ result: unknown;
278
+ dryRun?: undefined;
279
+ requests?: undefined;
280
+ }>;
281
+ formula: (id: string, opts: FormulaOpts) => Promise<{
282
+ dryRun: boolean;
283
+ cell: string;
284
+ expr: string;
285
+ result?: undefined;
286
+ } | {
287
+ cell: string;
288
+ expr: string;
289
+ result: unknown;
290
+ dryRun?: undefined;
291
+ }>;
292
+ fillDown: (id: string, opts: FillDownOpts) => Promise<{
293
+ dryRun: boolean;
294
+ range: string;
295
+ expr: string;
296
+ rows: number;
297
+ result?: undefined;
298
+ } | {
299
+ range: string;
300
+ expr: string;
301
+ rows: number;
302
+ result: unknown;
303
+ dryRun?: undefined;
304
+ }>;
305
+ share: (id: string, opts: ShareOpts) => Promise<{
306
+ dryRun: boolean;
307
+ email: string;
308
+ role: string;
309
+ result?: undefined;
310
+ } | {
311
+ email: string;
312
+ role: string;
313
+ result: unknown;
314
+ dryRun?: undefined;
315
+ }>;
316
+ unshare: (id: string, email: string, dryRun?: boolean) => Promise<{
317
+ dryRun: boolean;
318
+ email: string;
319
+ permissionId: string;
320
+ removed?: undefined;
321
+ } | {
322
+ email: string;
323
+ removed: string;
324
+ dryRun?: undefined;
325
+ permissionId?: undefined;
326
+ }>;
327
+ permissions: (id: string) => Promise<{
328
+ permissions: {
329
+ id: string;
330
+ role: string | undefined;
331
+ type: string | undefined;
332
+ email: string | undefined;
333
+ name: string | undefined;
334
+ }[];
335
+ }>;
336
+ api: (method: string, id: string | undefined, json: unknown) => Promise<{
337
+ method: string;
338
+ result: unknown;
339
+ }>;
340
+ };
341
+ export type ReadOpts = {
342
+ tab?: string;
343
+ range?: string;
344
+ limit?: number;
345
+ headerRow?: number;
346
+ raw?: boolean;
347
+ };
348
+ export type WriteTableOpts = {
349
+ tab: string;
350
+ rows: Record<string, unknown>[];
351
+ dryRun?: boolean;
352
+ valueInput?: string;
353
+ };
354
+ export type UpdateOpts = {
355
+ tab: string;
356
+ keyCol: string;
357
+ key: string;
358
+ set: Record<string, unknown>;
359
+ allowMulti?: boolean;
360
+ dryRun?: boolean;
361
+ valueInput?: string;
362
+ };
363
+ export type UpsertOpts = {
364
+ tab: string;
365
+ keyCol: string;
366
+ rows: Record<string, unknown>[];
367
+ dryRun?: boolean;
368
+ valueInput?: string;
369
+ };
370
+ export type SetOpts = {
371
+ range: string;
372
+ values: unknown[][];
373
+ dryRun?: boolean;
374
+ valueInput?: string;
375
+ };
376
+ export type CreateOpts = {
377
+ title: string;
378
+ tabs?: string[];
379
+ dryRun?: boolean;
380
+ };
381
+ export type TabAddOpts = {
382
+ title: string;
383
+ index?: number;
384
+ dryRun?: boolean;
385
+ };
386
+ export type TabRenameOpts = {
387
+ tab: string;
388
+ title: string;
389
+ dryRun?: boolean;
390
+ };
391
+ export type TabDupOpts = {
392
+ tab: string;
393
+ title?: string;
394
+ dryRun?: boolean;
395
+ };
396
+ export type FormatOpts = FormatFlags & {
397
+ range: string;
398
+ tab?: string;
399
+ dryRun?: boolean;
400
+ };
401
+ export type HeaderFormatOpts = FormatFlags & {
402
+ tab: string;
403
+ freeze?: boolean;
404
+ dryRun?: boolean;
405
+ };
406
+ export type FreezeOpts = {
407
+ tab: string;
408
+ rows?: number;
409
+ columns?: number;
410
+ dryRun?: boolean;
411
+ };
412
+ export type NumberFormatOpts = {
413
+ range: string;
414
+ pattern: string;
415
+ tab?: string;
416
+ dryRun?: boolean;
417
+ };
418
+ export type FormulaOpts = {
419
+ cell: string;
420
+ expr: string;
421
+ dryRun?: boolean;
422
+ };
423
+ export type FillDownOpts = {
424
+ range: string;
425
+ expr: string;
426
+ dryRun?: boolean;
427
+ };
428
+ export type ShareOpts = {
429
+ email: string;
430
+ role: string;
431
+ dryRun?: boolean;
432
+ };
433
+ export type BatchOp = {
434
+ op: 'append';
435
+ sheet: string;
436
+ values: Record<string, unknown> | Record<string, unknown>[];
437
+ } | {
438
+ op: 'updateKey';
439
+ sheet: string;
440
+ keyCol: string;
441
+ key: string;
442
+ set: Record<string, unknown>;
443
+ allowMulti?: boolean;
444
+ } | {
445
+ op: 'updateRow';
446
+ sheet: string;
447
+ row: number;
448
+ set: Record<string, unknown>;
449
+ } | {
450
+ op: 'setRange';
451
+ range: string;
452
+ values: unknown[][];
453
+ } | {
454
+ op: 'clear';
455
+ range: string;
456
+ };
457
+ declare const VALUE_INPUT: {
458
+ valueInputOption: string;
459
+ };
460
+ export { VALUE_INPUT };