@execufunction/cli 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 (217) hide show
  1. package/README.md +161 -0
  2. package/bin/dev.js +13 -0
  3. package/bin/run.js +13 -0
  4. package/dist/commands/auth/login.d.ts +14 -0
  5. package/dist/commands/auth/login.d.ts.map +1 -0
  6. package/dist/commands/auth/login.js +33 -0
  7. package/dist/commands/auth/login.js.map +1 -0
  8. package/dist/commands/auth/logout.d.ts +13 -0
  9. package/dist/commands/auth/logout.d.ts.map +1 -0
  10. package/dist/commands/auth/logout.js +20 -0
  11. package/dist/commands/auth/logout.js.map +1 -0
  12. package/dist/commands/auth/status.d.ts +14 -0
  13. package/dist/commands/auth/status.d.ts.map +1 -0
  14. package/dist/commands/auth/status.js +32 -0
  15. package/dist/commands/auth/status.js.map +1 -0
  16. package/dist/commands/calendar/create.d.ts +17 -0
  17. package/dist/commands/calendar/create.d.ts.map +1 -0
  18. package/dist/commands/calendar/create.js +37 -0
  19. package/dist/commands/calendar/create.js.map +1 -0
  20. package/dist/commands/calendar/delete.d.ts +15 -0
  21. package/dist/commands/calendar/delete.d.ts.map +1 -0
  22. package/dist/commands/calendar/delete.js +31 -0
  23. package/dist/commands/calendar/delete.js.map +1 -0
  24. package/dist/commands/calendar/list.d.ts +14 -0
  25. package/dist/commands/calendar/list.d.ts.map +1 -0
  26. package/dist/commands/calendar/list.js +37 -0
  27. package/dist/commands/calendar/list.js.map +1 -0
  28. package/dist/commands/calendar/update.d.ts +19 -0
  29. package/dist/commands/calendar/update.d.ts.map +1 -0
  30. package/dist/commands/calendar/update.js +41 -0
  31. package/dist/commands/calendar/update.js.map +1 -0
  32. package/dist/commands/code/blame.d.ts +15 -0
  33. package/dist/commands/code/blame.d.ts.map +1 -0
  34. package/dist/commands/code/blame.js +32 -0
  35. package/dist/commands/code/blame.js.map +1 -0
  36. package/dist/commands/code/expertise.d.ts +14 -0
  37. package/dist/commands/code/expertise.d.ts.map +1 -0
  38. package/dist/commands/code/expertise.js +25 -0
  39. package/dist/commands/code/expertise.js.map +1 -0
  40. package/dist/commands/code/history.d.ts +16 -0
  41. package/dist/commands/code/history.d.ts.map +1 -0
  42. package/dist/commands/code/history.js +37 -0
  43. package/dist/commands/code/history.js.map +1 -0
  44. package/dist/commands/code/link.d.ts +18 -0
  45. package/dist/commands/code/link.d.ts.map +1 -0
  46. package/dist/commands/code/link.js +34 -0
  47. package/dist/commands/code/link.js.map +1 -0
  48. package/dist/commands/code/memory/delete.d.ts +15 -0
  49. package/dist/commands/code/memory/delete.d.ts.map +1 -0
  50. package/dist/commands/code/memory/delete.js +31 -0
  51. package/dist/commands/code/memory/delete.js.map +1 -0
  52. package/dist/commands/code/memory/list.d.ts +13 -0
  53. package/dist/commands/code/memory/list.d.ts.map +1 -0
  54. package/dist/commands/code/memory/list.js +34 -0
  55. package/dist/commands/code/memory/list.js.map +1 -0
  56. package/dist/commands/code/memory/search.d.ts +17 -0
  57. package/dist/commands/code/memory/search.d.ts.map +1 -0
  58. package/dist/commands/code/memory/search.js +43 -0
  59. package/dist/commands/code/memory/search.js.map +1 -0
  60. package/dist/commands/code/memory/store.d.ts +15 -0
  61. package/dist/commands/code/memory/store.d.ts.map +1 -0
  62. package/dist/commands/code/memory/store.js +36 -0
  63. package/dist/commands/code/memory/store.js.map +1 -0
  64. package/dist/commands/code/who-knows.d.ts +16 -0
  65. package/dist/commands/code/who-knows.d.ts.map +1 -0
  66. package/dist/commands/code/who-knows.js +34 -0
  67. package/dist/commands/code/who-knows.js.map +1 -0
  68. package/dist/commands/codebase/delete.d.ts +15 -0
  69. package/dist/commands/codebase/delete.d.ts.map +1 -0
  70. package/dist/commands/codebase/delete.js +31 -0
  71. package/dist/commands/codebase/delete.js.map +1 -0
  72. package/dist/commands/codebase/index.d.ts +18 -0
  73. package/dist/commands/codebase/index.d.ts.map +1 -0
  74. package/dist/commands/codebase/index.js +52 -0
  75. package/dist/commands/codebase/index.js.map +1 -0
  76. package/dist/commands/codebase/list.d.ts +11 -0
  77. package/dist/commands/codebase/list.d.ts.map +1 -0
  78. package/dist/commands/codebase/list.js +28 -0
  79. package/dist/commands/codebase/list.js.map +1 -0
  80. package/dist/commands/codebase/register.d.ts +15 -0
  81. package/dist/commands/codebase/register.d.ts.map +1 -0
  82. package/dist/commands/codebase/register.js +31 -0
  83. package/dist/commands/codebase/register.js.map +1 -0
  84. package/dist/commands/codebase/search.d.ts +18 -0
  85. package/dist/commands/codebase/search.d.ts.map +1 -0
  86. package/dist/commands/codebase/search.js +50 -0
  87. package/dist/commands/codebase/search.js.map +1 -0
  88. package/dist/commands/codebase/snapshot.d.ts +16 -0
  89. package/dist/commands/codebase/snapshot.d.ts.map +1 -0
  90. package/dist/commands/codebase/snapshot.js +52 -0
  91. package/dist/commands/codebase/snapshot.js.map +1 -0
  92. package/dist/commands/codebase/status.d.ts +14 -0
  93. package/dist/commands/codebase/status.d.ts.map +1 -0
  94. package/dist/commands/codebase/status.js +34 -0
  95. package/dist/commands/codebase/status.js.map +1 -0
  96. package/dist/commands/documents/upload.d.ts +17 -0
  97. package/dist/commands/documents/upload.d.ts.map +1 -0
  98. package/dist/commands/documents/upload.js +37 -0
  99. package/dist/commands/documents/upload.js.map +1 -0
  100. package/dist/commands/notes/create.d.ts +15 -0
  101. package/dist/commands/notes/create.d.ts.map +1 -0
  102. package/dist/commands/notes/create.js +35 -0
  103. package/dist/commands/notes/create.js.map +1 -0
  104. package/dist/commands/notes/delete.d.ts +15 -0
  105. package/dist/commands/notes/delete.d.ts.map +1 -0
  106. package/dist/commands/notes/delete.js +31 -0
  107. package/dist/commands/notes/delete.js.map +1 -0
  108. package/dist/commands/notes/get.d.ts +14 -0
  109. package/dist/commands/notes/get.d.ts.map +1 -0
  110. package/dist/commands/notes/get.js +38 -0
  111. package/dist/commands/notes/get.js.map +1 -0
  112. package/dist/commands/notes/list.d.ts +14 -0
  113. package/dist/commands/notes/list.d.ts.map +1 -0
  114. package/dist/commands/notes/list.js +39 -0
  115. package/dist/commands/notes/list.js.map +1 -0
  116. package/dist/commands/notes/search.d.ts +16 -0
  117. package/dist/commands/notes/search.d.ts.map +1 -0
  118. package/dist/commands/notes/search.js +37 -0
  119. package/dist/commands/notes/search.js.map +1 -0
  120. package/dist/commands/notes/update.d.ts +17 -0
  121. package/dist/commands/notes/update.d.ts.map +1 -0
  122. package/dist/commands/notes/update.js +38 -0
  123. package/dist/commands/notes/update.js.map +1 -0
  124. package/dist/commands/people/list.d.ts +12 -0
  125. package/dist/commands/people/list.d.ts.map +1 -0
  126. package/dist/commands/people/list.js +30 -0
  127. package/dist/commands/people/list.js.map +1 -0
  128. package/dist/commands/people/search.d.ts +15 -0
  129. package/dist/commands/people/search.d.ts.map +1 -0
  130. package/dist/commands/people/search.js +33 -0
  131. package/dist/commands/people/search.js.map +1 -0
  132. package/dist/commands/projects/archive.d.ts +15 -0
  133. package/dist/commands/projects/archive.d.ts.map +1 -0
  134. package/dist/commands/projects/archive.js +31 -0
  135. package/dist/commands/projects/archive.js.map +1 -0
  136. package/dist/commands/projects/context.d.ts +14 -0
  137. package/dist/commands/projects/context.d.ts.map +1 -0
  138. package/dist/commands/projects/context.js +52 -0
  139. package/dist/commands/projects/context.js.map +1 -0
  140. package/dist/commands/projects/create.d.ts +15 -0
  141. package/dist/commands/projects/create.d.ts.map +1 -0
  142. package/dist/commands/projects/create.js +35 -0
  143. package/dist/commands/projects/create.js.map +1 -0
  144. package/dist/commands/projects/list.d.ts +13 -0
  145. package/dist/commands/projects/list.d.ts.map +1 -0
  146. package/dist/commands/projects/list.js +37 -0
  147. package/dist/commands/projects/list.js.map +1 -0
  148. package/dist/commands/projects/update.d.ts +18 -0
  149. package/dist/commands/projects/update.d.ts.map +1 -0
  150. package/dist/commands/projects/update.js +41 -0
  151. package/dist/commands/projects/update.js.map +1 -0
  152. package/dist/commands/tasks/complete.d.ts +14 -0
  153. package/dist/commands/tasks/complete.d.ts.map +1 -0
  154. package/dist/commands/tasks/complete.js +25 -0
  155. package/dist/commands/tasks/complete.js.map +1 -0
  156. package/dist/commands/tasks/create.d.ts +17 -0
  157. package/dist/commands/tasks/create.d.ts.map +1 -0
  158. package/dist/commands/tasks/create.js +41 -0
  159. package/dist/commands/tasks/create.js.map +1 -0
  160. package/dist/commands/tasks/delete.d.ts +15 -0
  161. package/dist/commands/tasks/delete.d.ts.map +1 -0
  162. package/dist/commands/tasks/delete.js +31 -0
  163. package/dist/commands/tasks/delete.js.map +1 -0
  164. package/dist/commands/tasks/get.d.ts +14 -0
  165. package/dist/commands/tasks/get.d.ts.map +1 -0
  166. package/dist/commands/tasks/get.js +37 -0
  167. package/dist/commands/tasks/get.js.map +1 -0
  168. package/dist/commands/tasks/list.d.ts +15 -0
  169. package/dist/commands/tasks/list.d.ts.map +1 -0
  170. package/dist/commands/tasks/list.js +45 -0
  171. package/dist/commands/tasks/list.js.map +1 -0
  172. package/dist/commands/tasks/update.d.ts +20 -0
  173. package/dist/commands/tasks/update.d.ts.map +1 -0
  174. package/dist/commands/tasks/update.js +50 -0
  175. package/dist/commands/tasks/update.js.map +1 -0
  176. package/dist/commands/vault/create.d.ts +20 -0
  177. package/dist/commands/vault/create.d.ts.map +1 -0
  178. package/dist/commands/vault/create.js +53 -0
  179. package/dist/commands/vault/create.js.map +1 -0
  180. package/dist/commands/vault/list.d.ts +14 -0
  181. package/dist/commands/vault/list.d.ts.map +1 -0
  182. package/dist/commands/vault/list.js +39 -0
  183. package/dist/commands/vault/list.js.map +1 -0
  184. package/dist/commands/vault/read.d.ts +14 -0
  185. package/dist/commands/vault/read.d.ts.map +1 -0
  186. package/dist/commands/vault/read.js +33 -0
  187. package/dist/commands/vault/read.js.map +1 -0
  188. package/dist/commands/vault/search.d.ts +15 -0
  189. package/dist/commands/vault/search.d.ts.map +1 -0
  190. package/dist/commands/vault/search.js +33 -0
  191. package/dist/commands/vault/search.js.map +1 -0
  192. package/dist/commands/vault/update.d.ts +19 -0
  193. package/dist/commands/vault/update.d.ts.map +1 -0
  194. package/dist/commands/vault/update.js +41 -0
  195. package/dist/commands/vault/update.js.map +1 -0
  196. package/dist/hooks/init.d.ts +4 -0
  197. package/dist/hooks/init.d.ts.map +1 -0
  198. package/dist/hooks/init.js +8 -0
  199. package/dist/hooks/init.js.map +1 -0
  200. package/dist/lib/auth.d.ts +9 -0
  201. package/dist/lib/auth.d.ts.map +1 -0
  202. package/dist/lib/auth.js +22 -0
  203. package/dist/lib/auth.js.map +1 -0
  204. package/dist/lib/base-command.d.ts +31 -0
  205. package/dist/lib/base-command.d.ts.map +1 -0
  206. package/dist/lib/base-command.js +76 -0
  207. package/dist/lib/base-command.js.map +1 -0
  208. package/dist/lib/config.d.ts +8 -0
  209. package/dist/lib/config.d.ts.map +1 -0
  210. package/dist/lib/config.js +36 -0
  211. package/dist/lib/config.js.map +1 -0
  212. package/dist/lib/output.d.ts +12 -0
  213. package/dist/lib/output.d.ts.map +1 -0
  214. package/dist/lib/output.js +95 -0
  215. package/dist/lib/output.js.map +1 -0
  216. package/oclif.manifest.json +3740 -0
  217. package/package.json +73 -0
@@ -0,0 +1,38 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const core_1 = require("@oclif/core");
4
+ const base_command_js_1 = require("../../lib/base-command.js");
5
+ const output_js_1 = require("../../lib/output.js");
6
+ class NotesGet extends base_command_js_1.BaseCommand {
7
+ static description = 'Get a note with full content';
8
+ static args = {
9
+ id: core_1.Args.string({ description: 'Note ID', required: true }),
10
+ };
11
+ static flags = {
12
+ ...base_command_js_1.BaseCommand.baseFlags,
13
+ };
14
+ async run() {
15
+ const { args, flags } = await this.parse(NotesGet);
16
+ const client = await this.client(flags);
17
+ const response = await client.getNote(args.id);
18
+ this.handleApiError(response);
19
+ const note = this.unwrapOne(response, 'note');
20
+ if (!this.jsonEnabled()) {
21
+ (0, output_js_1.renderDetail)([
22
+ ['ID', note.id],
23
+ ['Title', note.title],
24
+ ['Type', note.noteType],
25
+ ['Project', note.projectId],
26
+ ['Created', (0, output_js_1.formatDate)(note.createdAt)],
27
+ ['Updated', (0, output_js_1.formatDate)(note.updatedAt)],
28
+ ]);
29
+ if (note.content) {
30
+ this.log('\n---\n');
31
+ this.log(note.content);
32
+ }
33
+ }
34
+ return response.data;
35
+ }
36
+ }
37
+ exports.default = NotesGet;
38
+ //# sourceMappingURL=get.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"get.js","sourceRoot":"","sources":["../../../src/commands/notes/get.ts"],"names":[],"mappings":";;AAAA,sCAAiC;AACjC,+DAAsD;AACtD,mDAA6D;AAE7D,MAAqB,QAAS,SAAQ,6BAAW;IAC/C,MAAM,CAAC,WAAW,GAAG,8BAA8B,CAAC;IAEpD,MAAM,CAAC,IAAI,GAAG;QACZ,EAAE,EAAE,WAAI,CAAC,MAAM,CAAC,EAAC,WAAW,EAAE,SAAS,EAAE,QAAQ,EAAE,IAAI,EAAC,CAAC;KAC1D,CAAC;IAEF,MAAM,CAAC,KAAK,GAAG;QACb,GAAG,6BAAW,CAAC,SAAS;KACzB,CAAC;IAEF,KAAK,CAAC,GAAG;QACP,MAAM,EAAC,IAAI,EAAE,KAAK,EAAC,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;QACjD,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QACxC,MAAM,QAAQ,GAAG,MAAM,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QAC/C,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC,CAAC;QAE9B,MAAM,IAAI,GAAG,IAAI,CAAC,SAAS,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;QAE9C,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,EAAE,CAAC;YACxB,IAAA,wBAAY,EAAC;gBACX,CAAC,IAAI,EAAE,IAAI,CAAC,EAAE,CAAC;gBACf,CAAC,OAAO,EAAE,IAAI,CAAC,KAAK,CAAC;gBACrB,CAAC,MAAM,EAAE,IAAI,CAAC,QAAQ,CAAC;gBACvB,CAAC,SAAS,EAAE,IAAI,CAAC,SAAS,CAAC;gBAC3B,CAAC,SAAS,EAAE,IAAA,sBAAU,EAAC,IAAI,CAAC,SAAmB,CAAC,CAAC;gBACjD,CAAC,SAAS,EAAE,IAAA,sBAAU,EAAC,IAAI,CAAC,SAAmB,CAAC,CAAC;aAClD,CAAC,CAAC;YACH,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;gBACjB,IAAI,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;gBACpB,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,OAAiB,CAAC,CAAC;YACnC,CAAC;QACH,CAAC;QAED,OAAO,QAAQ,CAAC,IAAI,CAAC;IACvB,CAAC;;AAnCH,2BAoCC"}
@@ -0,0 +1,14 @@
1
+ import { BaseCommand } from '../../lib/base-command.js';
2
+ export default class NotesList extends BaseCommand {
3
+ static description: string;
4
+ static flags: {
5
+ project: import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
6
+ type: import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
7
+ limit: import("@oclif/core/interfaces").OptionFlag<number | undefined, import("@oclif/core/interfaces").CustomOptions>;
8
+ token: import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
9
+ 'api-url': import("@oclif/core/interfaces").OptionFlag<string, import("@oclif/core/interfaces").CustomOptions>;
10
+ 'no-input': import("@oclif/core/interfaces").BooleanFlag<boolean>;
11
+ };
12
+ run(): Promise<unknown>;
13
+ }
14
+ //# sourceMappingURL=list.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"list.d.ts","sourceRoot":"","sources":["../../../src/commands/notes/list.ts"],"names":[],"mappings":"AACA,OAAO,EAAC,WAAW,EAAC,MAAM,2BAA2B,CAAC;AAGtD,MAAM,CAAC,OAAO,OAAO,SAAU,SAAQ,WAAW;IAChD,MAAM,CAAC,WAAW,SAAgB;IAElC,MAAM,CAAC,KAAK;;;;;;;MAQV;IAEI,GAAG,IAAI,OAAO,CAAC,OAAO,CAAC;CAuB9B"}
@@ -0,0 +1,39 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const core_1 = require("@oclif/core");
4
+ const base_command_js_1 = require("../../lib/base-command.js");
5
+ const output_js_1 = require("../../lib/output.js");
6
+ class NotesList extends base_command_js_1.BaseCommand {
7
+ static description = 'List notes';
8
+ static flags = {
9
+ ...base_command_js_1.BaseCommand.baseFlags,
10
+ project: core_1.Flags.string({ description: 'Filter by project ID' }),
11
+ type: core_1.Flags.string({
12
+ description: 'Filter by note type',
13
+ options: ['note', 'concept', 'meeting', 'reference', 'daily', 'dataset'],
14
+ }),
15
+ limit: core_1.Flags.integer({ description: 'Maximum number of results' }),
16
+ };
17
+ async run() {
18
+ const { flags } = await this.parse(NotesList);
19
+ const client = await this.client(flags);
20
+ const response = await client.listNotes({
21
+ projectId: flags.project,
22
+ noteType: flags.type,
23
+ limit: flags.limit,
24
+ });
25
+ this.handleApiError(response);
26
+ const notes = this.unwrapList(response, 'notes');
27
+ if (!this.jsonEnabled()) {
28
+ (0, output_js_1.renderTable)(notes, [
29
+ { key: 'id', header: 'ID' },
30
+ { key: 'title', header: 'Title' },
31
+ { key: 'noteType', header: 'Type' },
32
+ { key: 'updatedAt', header: 'Updated', get: (r) => r.updatedAt ? new Date(r.updatedAt).toLocaleDateString() : '—' },
33
+ ]);
34
+ }
35
+ return notes;
36
+ }
37
+ }
38
+ exports.default = NotesList;
39
+ //# sourceMappingURL=list.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"list.js","sourceRoot":"","sources":["../../../src/commands/notes/list.ts"],"names":[],"mappings":";;AAAA,sCAAkC;AAClC,+DAAsD;AACtD,mDAAgD;AAEhD,MAAqB,SAAU,SAAQ,6BAAW;IAChD,MAAM,CAAC,WAAW,GAAG,YAAY,CAAC;IAElC,MAAM,CAAC,KAAK,GAAG;QACb,GAAG,6BAAW,CAAC,SAAS;QACxB,OAAO,EAAE,YAAK,CAAC,MAAM,CAAC,EAAC,WAAW,EAAE,sBAAsB,EAAC,CAAC;QAC5D,IAAI,EAAE,YAAK,CAAC,MAAM,CAAC;YACjB,WAAW,EAAE,qBAAqB;YAClC,OAAO,EAAE,CAAC,MAAM,EAAE,SAAS,EAAE,SAAS,EAAE,WAAW,EAAE,OAAO,EAAE,SAAS,CAAC;SACzE,CAAC;QACF,KAAK,EAAE,YAAK,CAAC,OAAO,CAAC,EAAC,WAAW,EAAE,2BAA2B,EAAC,CAAC;KACjE,CAAC;IAEF,KAAK,CAAC,GAAG;QACP,MAAM,EAAC,KAAK,EAAC,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;QAC5C,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QACxC,MAAM,QAAQ,GAAG,MAAM,MAAM,CAAC,SAAS,CAAC;YACtC,SAAS,EAAE,KAAK,CAAC,OAAO;YACxB,QAAQ,EAAE,KAAK,CAAC,IAAI;YACpB,KAAK,EAAE,KAAK,CAAC,KAAK;SACnB,CAAC,CAAC;QACH,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC,CAAC;QAE9B,MAAM,KAAK,GAAG,IAAI,CAAC,UAAU,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;QAEjD,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,EAAE,CAAC;YACxB,IAAA,uBAAW,EAAC,KAAK,EAAE;gBACjB,EAAC,GAAG,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAC;gBACzB,EAAC,GAAG,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO,EAAC;gBAC/B,EAAC,GAAG,EAAE,UAAU,EAAE,MAAM,EAAE,MAAM,EAAC;gBACjC,EAAC,GAAG,EAAE,WAAW,EAAE,MAAM,EAAE,SAAS,EAAE,GAAG,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,SAAmB,CAAC,CAAC,kBAAkB,EAAE,CAAC,CAAC,CAAC,GAAG,EAAC;aAC5H,CAAC,CAAC;QACL,CAAC;QAED,OAAO,KAAK,CAAC;IACf,CAAC;;AAnCH,4BAoCC"}
@@ -0,0 +1,16 @@
1
+ import { BaseCommand } from '../../lib/base-command.js';
2
+ export default class NotesSearch extends BaseCommand {
3
+ static description: string;
4
+ static args: {
5
+ query: import("@oclif/core/interfaces").Arg<string, Record<string, unknown>>;
6
+ };
7
+ static flags: {
8
+ project: import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
9
+ limit: import("@oclif/core/interfaces").OptionFlag<number | undefined, import("@oclif/core/interfaces").CustomOptions>;
10
+ token: import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
11
+ 'api-url': import("@oclif/core/interfaces").OptionFlag<string, import("@oclif/core/interfaces").CustomOptions>;
12
+ 'no-input': import("@oclif/core/interfaces").BooleanFlag<boolean>;
13
+ };
14
+ run(): Promise<unknown>;
15
+ }
16
+ //# sourceMappingURL=search.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"search.d.ts","sourceRoot":"","sources":["../../../src/commands/notes/search.ts"],"names":[],"mappings":"AACA,OAAO,EAAC,WAAW,EAAC,MAAM,2BAA2B,CAAC;AAGtD,MAAM,CAAC,OAAO,OAAO,WAAY,SAAQ,WAAW;IAClD,MAAM,CAAC,WAAW,SAAkB;IAEpC,MAAM,CAAC,IAAI;;MAET;IAEF,MAAM,CAAC,KAAK;;;;;;MAIV;IAEI,GAAG,IAAI,OAAO,CAAC,OAAO,CAAC;CAsB9B"}
@@ -0,0 +1,37 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const core_1 = require("@oclif/core");
4
+ const base_command_js_1 = require("../../lib/base-command.js");
5
+ const output_js_1 = require("../../lib/output.js");
6
+ class NotesSearch extends base_command_js_1.BaseCommand {
7
+ static description = 'Search notes';
8
+ static args = {
9
+ query: core_1.Args.string({ description: 'Search query', required: true }),
10
+ };
11
+ static flags = {
12
+ ...base_command_js_1.BaseCommand.baseFlags,
13
+ project: core_1.Flags.string({ description: 'Filter by project ID' }),
14
+ limit: core_1.Flags.integer({ description: 'Maximum number of results' }),
15
+ };
16
+ async run() {
17
+ const { args, flags } = await this.parse(NotesSearch);
18
+ const client = await this.client(flags);
19
+ const response = await client.searchNotes(args.query, {
20
+ projectId: flags.project,
21
+ limit: flags.limit,
22
+ });
23
+ this.handleApiError(response);
24
+ const results = this.unwrapList(response, 'results');
25
+ if (!this.jsonEnabled()) {
26
+ (0, output_js_1.renderTable)(results, [
27
+ { key: 'id', header: 'ID' },
28
+ { key: 'title', header: 'Title' },
29
+ { key: 'noteType', header: 'Type' },
30
+ { key: 'score', header: 'Score', get: (r) => r.score != null ? String(Number(r.score).toFixed(2)) : '—' },
31
+ ]);
32
+ }
33
+ return results;
34
+ }
35
+ }
36
+ exports.default = NotesSearch;
37
+ //# sourceMappingURL=search.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"search.js","sourceRoot":"","sources":["../../../src/commands/notes/search.ts"],"names":[],"mappings":";;AAAA,sCAAwC;AACxC,+DAAsD;AACtD,mDAAgD;AAEhD,MAAqB,WAAY,SAAQ,6BAAW;IAClD,MAAM,CAAC,WAAW,GAAG,cAAc,CAAC;IAEpC,MAAM,CAAC,IAAI,GAAG;QACZ,KAAK,EAAE,WAAI,CAAC,MAAM,CAAC,EAAC,WAAW,EAAE,cAAc,EAAE,QAAQ,EAAE,IAAI,EAAC,CAAC;KAClE,CAAC;IAEF,MAAM,CAAC,KAAK,GAAG;QACb,GAAG,6BAAW,CAAC,SAAS;QACxB,OAAO,EAAE,YAAK,CAAC,MAAM,CAAC,EAAC,WAAW,EAAE,sBAAsB,EAAC,CAAC;QAC5D,KAAK,EAAE,YAAK,CAAC,OAAO,CAAC,EAAC,WAAW,EAAE,2BAA2B,EAAC,CAAC;KACjE,CAAC;IAEF,KAAK,CAAC,GAAG;QACP,MAAM,EAAC,IAAI,EAAE,KAAK,EAAC,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC;QACpD,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QACxC,MAAM,QAAQ,GAAG,MAAM,MAAM,CAAC,WAAW,CAAC,IAAI,CAAC,KAAK,EAAE;YACpD,SAAS,EAAE,KAAK,CAAC,OAAO;YACxB,KAAK,EAAE,KAAK,CAAC,KAAK;SACnB,CAAC,CAAC;QACH,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC,CAAC;QAE9B,MAAM,OAAO,GAAG,IAAI,CAAC,UAAU,CAAC,QAAQ,EAAE,SAAS,CAAC,CAAC;QAErD,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,EAAE,CAAC;YACxB,IAAA,uBAAW,EAAC,OAAO,EAAE;gBACnB,EAAC,GAAG,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAC;gBACzB,EAAC,GAAG,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO,EAAC;gBAC/B,EAAC,GAAG,EAAE,UAAU,EAAE,MAAM,EAAE,MAAM,EAAC;gBACjC,EAAC,GAAG,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,GAAG,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,IAAI,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,EAAC;aACxG,CAAC,CAAC;QACL,CAAC;QAED,OAAO,OAAO,CAAC;IACjB,CAAC;;AAlCH,8BAmCC"}
@@ -0,0 +1,17 @@
1
+ import { BaseCommand } from '../../lib/base-command.js';
2
+ export default class NotesUpdate extends BaseCommand {
3
+ static description: string;
4
+ static args: {
5
+ id: import("@oclif/core/interfaces").Arg<string, Record<string, unknown>>;
6
+ };
7
+ static flags: {
8
+ title: import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
9
+ content: import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
10
+ type: import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
11
+ token: import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
12
+ 'api-url': import("@oclif/core/interfaces").OptionFlag<string, import("@oclif/core/interfaces").CustomOptions>;
13
+ 'no-input': import("@oclif/core/interfaces").BooleanFlag<boolean>;
14
+ };
15
+ run(): Promise<unknown>;
16
+ }
17
+ //# sourceMappingURL=update.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"update.d.ts","sourceRoot":"","sources":["../../../src/commands/notes/update.ts"],"names":[],"mappings":"AACA,OAAO,EAAC,WAAW,EAAC,MAAM,2BAA2B,CAAC;AAEtD,MAAM,CAAC,OAAO,OAAO,WAAY,SAAQ,WAAW;IAClD,MAAM,CAAC,WAAW,SAAmB;IAErC,MAAM,CAAC,IAAI;;MAET;IAEF,MAAM,CAAC,KAAK;;;;;;;MAQV;IAEI,GAAG,IAAI,OAAO,CAAC,OAAO,CAAC;CAkB9B"}
@@ -0,0 +1,38 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const core_1 = require("@oclif/core");
4
+ const base_command_js_1 = require("../../lib/base-command.js");
5
+ class NotesUpdate extends base_command_js_1.BaseCommand {
6
+ static description = 'Update a note';
7
+ static args = {
8
+ id: core_1.Args.string({ description: 'Note ID', required: true }),
9
+ };
10
+ static flags = {
11
+ ...base_command_js_1.BaseCommand.baseFlags,
12
+ title: core_1.Flags.string({ description: 'Note title' }),
13
+ content: core_1.Flags.string({ description: 'Note content (markdown)' }),
14
+ type: core_1.Flags.string({
15
+ description: 'Note type',
16
+ options: ['note', 'concept', 'meeting', 'reference', 'daily', 'dataset'],
17
+ }),
18
+ };
19
+ async run() {
20
+ const { args, flags } = await this.parse(NotesUpdate);
21
+ const client = await this.client(flags);
22
+ const updates = {};
23
+ if (flags.title !== undefined)
24
+ updates.title = flags.title;
25
+ if (flags.content !== undefined)
26
+ updates.content = flags.content;
27
+ if (flags.type !== undefined)
28
+ updates.noteType = flags.type;
29
+ const response = await client.updateNote(args.id, updates, this.idempotencyKey());
30
+ this.handleApiError(response);
31
+ if (!this.jsonEnabled()) {
32
+ this.log(`Note ${args.id} updated`);
33
+ }
34
+ return response.data;
35
+ }
36
+ }
37
+ exports.default = NotesUpdate;
38
+ //# sourceMappingURL=update.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"update.js","sourceRoot":"","sources":["../../../src/commands/notes/update.ts"],"names":[],"mappings":";;AAAA,sCAAwC;AACxC,+DAAsD;AAEtD,MAAqB,WAAY,SAAQ,6BAAW;IAClD,MAAM,CAAC,WAAW,GAAG,eAAe,CAAC;IAErC,MAAM,CAAC,IAAI,GAAG;QACZ,EAAE,EAAE,WAAI,CAAC,MAAM,CAAC,EAAC,WAAW,EAAE,SAAS,EAAE,QAAQ,EAAE,IAAI,EAAC,CAAC;KAC1D,CAAC;IAEF,MAAM,CAAC,KAAK,GAAG;QACb,GAAG,6BAAW,CAAC,SAAS;QACxB,KAAK,EAAE,YAAK,CAAC,MAAM,CAAC,EAAC,WAAW,EAAE,YAAY,EAAC,CAAC;QAChD,OAAO,EAAE,YAAK,CAAC,MAAM,CAAC,EAAC,WAAW,EAAE,yBAAyB,EAAC,CAAC;QAC/D,IAAI,EAAE,YAAK,CAAC,MAAM,CAAC;YACjB,WAAW,EAAE,WAAW;YACxB,OAAO,EAAE,CAAC,MAAM,EAAE,SAAS,EAAE,SAAS,EAAE,WAAW,EAAE,OAAO,EAAE,SAAS,CAAC;SACzE,CAAC;KACH,CAAC;IAEF,KAAK,CAAC,GAAG;QACP,MAAM,EAAC,IAAI,EAAE,KAAK,EAAC,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC;QACpD,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QAExC,MAAM,OAAO,GAA4B,EAAE,CAAC;QAC5C,IAAI,KAAK,CAAC,KAAK,KAAK,SAAS;YAAE,OAAO,CAAC,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC;QAC3D,IAAI,KAAK,CAAC,OAAO,KAAK,SAAS;YAAE,OAAO,CAAC,OAAO,GAAG,KAAK,CAAC,OAAO,CAAC;QACjE,IAAI,KAAK,CAAC,IAAI,KAAK,SAAS;YAAE,OAAO,CAAC,QAAQ,GAAG,KAAK,CAAC,IAAI,CAAC;QAE5D,MAAM,QAAQ,GAAG,MAAM,MAAM,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,EAAE,OAAO,EAAE,IAAI,CAAC,cAAc,EAAE,CAAC,CAAC;QAClF,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC,CAAC;QAE9B,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,EAAE,CAAC;YACxB,IAAI,CAAC,GAAG,CAAC,QAAQ,IAAI,CAAC,EAAE,UAAU,CAAC,CAAC;QACtC,CAAC;QAED,OAAO,QAAQ,CAAC,IAAI,CAAC;IACvB,CAAC;;AAlCH,8BAmCC"}
@@ -0,0 +1,12 @@
1
+ import { BaseCommand } from '../../lib/base-command.js';
2
+ export default class PeopleList extends BaseCommand {
3
+ static description: string;
4
+ static flags: {
5
+ limit: import("@oclif/core/interfaces").OptionFlag<number | undefined, import("@oclif/core/interfaces").CustomOptions>;
6
+ token: import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
7
+ 'api-url': import("@oclif/core/interfaces").OptionFlag<string, import("@oclif/core/interfaces").CustomOptions>;
8
+ 'no-input': import("@oclif/core/interfaces").BooleanFlag<boolean>;
9
+ };
10
+ run(): Promise<unknown>;
11
+ }
12
+ //# sourceMappingURL=list.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"list.d.ts","sourceRoot":"","sources":["../../../src/commands/people/list.ts"],"names":[],"mappings":"AACA,OAAO,EAAC,WAAW,EAAC,MAAM,2BAA2B,CAAC;AAGtD,MAAM,CAAC,OAAO,OAAO,UAAW,SAAQ,WAAW;IACjD,MAAM,CAAC,WAAW,SAAmB;IAErC,MAAM,CAAC,KAAK;;;;;MAGV;IAEI,GAAG,IAAI,OAAO,CAAC,OAAO,CAAC;CAmB9B"}
@@ -0,0 +1,30 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const core_1 = require("@oclif/core");
4
+ const base_command_js_1 = require("../../lib/base-command.js");
5
+ const output_js_1 = require("../../lib/output.js");
6
+ class PeopleList extends base_command_js_1.BaseCommand {
7
+ static description = 'List contacts';
8
+ static flags = {
9
+ ...base_command_js_1.BaseCommand.baseFlags,
10
+ limit: core_1.Flags.integer({ description: 'Maximum number of results' }),
11
+ };
12
+ async run() {
13
+ const { flags } = await this.parse(PeopleList);
14
+ const client = await this.client(flags);
15
+ const response = await client.listPeople(flags.limit);
16
+ this.handleApiError(response);
17
+ const people = this.unwrapList(response, 'people');
18
+ if (!this.jsonEnabled()) {
19
+ (0, output_js_1.renderTable)(people, [
20
+ { key: 'id', header: 'ID' },
21
+ { key: 'name', header: 'Name' },
22
+ { key: 'email', header: 'Email' },
23
+ { key: 'company', header: 'Company' },
24
+ ]);
25
+ }
26
+ return people;
27
+ }
28
+ }
29
+ exports.default = PeopleList;
30
+ //# sourceMappingURL=list.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"list.js","sourceRoot":"","sources":["../../../src/commands/people/list.ts"],"names":[],"mappings":";;AAAA,sCAAkC;AAClC,+DAAsD;AACtD,mDAAgD;AAEhD,MAAqB,UAAW,SAAQ,6BAAW;IACjD,MAAM,CAAC,WAAW,GAAG,eAAe,CAAC;IAErC,MAAM,CAAC,KAAK,GAAG;QACb,GAAG,6BAAW,CAAC,SAAS;QACxB,KAAK,EAAE,YAAK,CAAC,OAAO,CAAC,EAAC,WAAW,EAAE,2BAA2B,EAAC,CAAC;KACjE,CAAC;IAEF,KAAK,CAAC,GAAG;QACP,MAAM,EAAC,KAAK,EAAC,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC;QAC7C,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QACxC,MAAM,QAAQ,GAAG,MAAM,MAAM,CAAC,UAAU,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;QACtD,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC,CAAC;QAE9B,MAAM,MAAM,GAAG,IAAI,CAAC,UAAU,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC;QAEnD,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,EAAE,CAAC;YACxB,IAAA,uBAAW,EAAC,MAAM,EAAE;gBAClB,EAAC,GAAG,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAC;gBACzB,EAAC,GAAG,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAC;gBAC7B,EAAC,GAAG,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO,EAAC;gBAC/B,EAAC,GAAG,EAAE,SAAS,EAAE,MAAM,EAAE,SAAS,EAAC;aACpC,CAAC,CAAC;QACL,CAAC;QAED,OAAO,MAAM,CAAC;IAChB,CAAC;;AA1BH,6BA2BC"}
@@ -0,0 +1,15 @@
1
+ import { BaseCommand } from '../../lib/base-command.js';
2
+ export default class PeopleSearch extends BaseCommand {
3
+ static description: string;
4
+ static args: {
5
+ query: import("@oclif/core/interfaces").Arg<string, Record<string, unknown>>;
6
+ };
7
+ static flags: {
8
+ limit: import("@oclif/core/interfaces").OptionFlag<number | undefined, import("@oclif/core/interfaces").CustomOptions>;
9
+ token: import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
10
+ 'api-url': import("@oclif/core/interfaces").OptionFlag<string, import("@oclif/core/interfaces").CustomOptions>;
11
+ 'no-input': import("@oclif/core/interfaces").BooleanFlag<boolean>;
12
+ };
13
+ run(): Promise<unknown>;
14
+ }
15
+ //# sourceMappingURL=search.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"search.d.ts","sourceRoot":"","sources":["../../../src/commands/people/search.ts"],"names":[],"mappings":"AACA,OAAO,EAAC,WAAW,EAAC,MAAM,2BAA2B,CAAC;AAGtD,MAAM,CAAC,OAAO,OAAO,YAAa,SAAQ,WAAW;IACnD,MAAM,CAAC,WAAW,SAAqB;IAEvC,MAAM,CAAC,IAAI;;MAET;IAEF,MAAM,CAAC,KAAK;;;;;MAGV;IAEI,GAAG,IAAI,OAAO,CAAC,OAAO,CAAC;CAmB9B"}
@@ -0,0 +1,33 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const core_1 = require("@oclif/core");
4
+ const base_command_js_1 = require("../../lib/base-command.js");
5
+ const output_js_1 = require("../../lib/output.js");
6
+ class PeopleSearch extends base_command_js_1.BaseCommand {
7
+ static description = 'Search contacts';
8
+ static args = {
9
+ query: core_1.Args.string({ description: 'Search query', required: true }),
10
+ };
11
+ static flags = {
12
+ ...base_command_js_1.BaseCommand.baseFlags,
13
+ limit: core_1.Flags.integer({ description: 'Maximum number of results' }),
14
+ };
15
+ async run() {
16
+ const { args, flags } = await this.parse(PeopleSearch);
17
+ const client = await this.client(flags);
18
+ const response = await client.searchPeople(args.query, flags.limit);
19
+ this.handleApiError(response);
20
+ const people = this.unwrapList(response, 'people');
21
+ if (!this.jsonEnabled()) {
22
+ (0, output_js_1.renderTable)(people, [
23
+ { key: 'id', header: 'ID' },
24
+ { key: 'name', header: 'Name' },
25
+ { key: 'email', header: 'Email' },
26
+ { key: 'company', header: 'Company' },
27
+ ]);
28
+ }
29
+ return people;
30
+ }
31
+ }
32
+ exports.default = PeopleSearch;
33
+ //# sourceMappingURL=search.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"search.js","sourceRoot":"","sources":["../../../src/commands/people/search.ts"],"names":[],"mappings":";;AAAA,sCAAwC;AACxC,+DAAsD;AACtD,mDAAgD;AAEhD,MAAqB,YAAa,SAAQ,6BAAW;IACnD,MAAM,CAAC,WAAW,GAAG,iBAAiB,CAAC;IAEvC,MAAM,CAAC,IAAI,GAAG;QACZ,KAAK,EAAE,WAAI,CAAC,MAAM,CAAC,EAAC,WAAW,EAAE,cAAc,EAAE,QAAQ,EAAE,IAAI,EAAC,CAAC;KAClE,CAAC;IAEF,MAAM,CAAC,KAAK,GAAG;QACb,GAAG,6BAAW,CAAC,SAAS;QACxB,KAAK,EAAE,YAAK,CAAC,OAAO,CAAC,EAAC,WAAW,EAAE,2BAA2B,EAAC,CAAC;KACjE,CAAC;IAEF,KAAK,CAAC,GAAG;QACP,MAAM,EAAC,IAAI,EAAE,KAAK,EAAC,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC;QACrD,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QACxC,MAAM,QAAQ,GAAG,MAAM,MAAM,CAAC,YAAY,CAAC,IAAI,CAAC,KAAK,EAAE,KAAK,CAAC,KAAK,CAAC,CAAC;QACpE,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC,CAAC;QAE9B,MAAM,MAAM,GAAG,IAAI,CAAC,UAAU,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC;QAEnD,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,EAAE,CAAC;YACxB,IAAA,uBAAW,EAAC,MAAM,EAAE;gBAClB,EAAC,GAAG,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAC;gBACzB,EAAC,GAAG,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAC;gBAC7B,EAAC,GAAG,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO,EAAC;gBAC/B,EAAC,GAAG,EAAE,SAAS,EAAE,MAAM,EAAE,SAAS,EAAC;aACpC,CAAC,CAAC;QACL,CAAC;QAED,OAAO,MAAM,CAAC;IAChB,CAAC;;AA9BH,+BA+BC"}
@@ -0,0 +1,15 @@
1
+ import { BaseCommand } from '../../lib/base-command.js';
2
+ export default class ProjectsArchive extends BaseCommand {
3
+ static description: string;
4
+ static args: {
5
+ id: import("@oclif/core/interfaces").Arg<string, Record<string, unknown>>;
6
+ };
7
+ static flags: {
8
+ yes: import("@oclif/core/interfaces").BooleanFlag<boolean>;
9
+ token: import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
10
+ 'api-url': import("@oclif/core/interfaces").OptionFlag<string, import("@oclif/core/interfaces").CustomOptions>;
11
+ 'no-input': import("@oclif/core/interfaces").BooleanFlag<boolean>;
12
+ };
13
+ run(): Promise<unknown>;
14
+ }
15
+ //# sourceMappingURL=archive.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"archive.d.ts","sourceRoot":"","sources":["../../../src/commands/projects/archive.ts"],"names":[],"mappings":"AACA,OAAO,EAAC,WAAW,EAAC,MAAM,2BAA2B,CAAC;AAEtD,MAAM,CAAC,OAAO,OAAO,eAAgB,SAAQ,WAAW;IACtD,MAAM,CAAC,WAAW,SAAuB;IAEzC,MAAM,CAAC,IAAI;;MAET;IAEF,MAAM,CAAC,KAAK;;;;;MAGV;IAEI,GAAG,IAAI,OAAO,CAAC,OAAO,CAAC;CAmB9B"}
@@ -0,0 +1,31 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const core_1 = require("@oclif/core");
4
+ const base_command_js_1 = require("../../lib/base-command.js");
5
+ class ProjectsArchive extends base_command_js_1.BaseCommand {
6
+ static description = 'Archive a project';
7
+ static args = {
8
+ id: core_1.Args.string({ description: 'Project ID', required: true }),
9
+ };
10
+ static flags = {
11
+ ...base_command_js_1.BaseCommand.baseFlags,
12
+ yes: core_1.Flags.boolean({ char: 'y', description: 'Skip confirmation' }),
13
+ };
14
+ async run() {
15
+ const { args, flags } = await this.parse(ProjectsArchive);
16
+ const confirmed = await this.confirmAction('Archive this project?', flags);
17
+ if (!confirmed) {
18
+ this.log('Cancelled.');
19
+ return { archived: false };
20
+ }
21
+ const client = await this.client(flags);
22
+ const response = await client.archiveProject(args.id);
23
+ this.handleApiError(response);
24
+ if (!this.jsonEnabled()) {
25
+ this.log(`Project ${args.id} archived`);
26
+ }
27
+ return response.data;
28
+ }
29
+ }
30
+ exports.default = ProjectsArchive;
31
+ //# sourceMappingURL=archive.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"archive.js","sourceRoot":"","sources":["../../../src/commands/projects/archive.ts"],"names":[],"mappings":";;AAAA,sCAAwC;AACxC,+DAAsD;AAEtD,MAAqB,eAAgB,SAAQ,6BAAW;IACtD,MAAM,CAAC,WAAW,GAAG,mBAAmB,CAAC;IAEzC,MAAM,CAAC,IAAI,GAAG;QACZ,EAAE,EAAE,WAAI,CAAC,MAAM,CAAC,EAAC,WAAW,EAAE,YAAY,EAAE,QAAQ,EAAE,IAAI,EAAC,CAAC;KAC7D,CAAC;IAEF,MAAM,CAAC,KAAK,GAAG;QACb,GAAG,6BAAW,CAAC,SAAS;QACxB,GAAG,EAAE,YAAK,CAAC,OAAO,CAAC,EAAC,IAAI,EAAE,GAAG,EAAE,WAAW,EAAE,mBAAmB,EAAC,CAAC;KAClE,CAAC;IAEF,KAAK,CAAC,GAAG;QACP,MAAM,EAAC,IAAI,EAAE,KAAK,EAAC,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,eAAe,CAAC,CAAC;QAExD,MAAM,SAAS,GAAG,MAAM,IAAI,CAAC,aAAa,CAAC,uBAAuB,EAAE,KAAK,CAAC,CAAC;QAC3E,IAAI,CAAC,SAAS,EAAE,CAAC;YACf,IAAI,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC;YACvB,OAAO,EAAC,QAAQ,EAAE,KAAK,EAAC,CAAC;QAC3B,CAAC;QAED,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QACxC,MAAM,QAAQ,GAAG,MAAM,MAAM,CAAC,cAAc,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACtD,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC,CAAC;QAE9B,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,EAAE,CAAC;YACxB,IAAI,CAAC,GAAG,CAAC,WAAW,IAAI,CAAC,EAAE,WAAW,CAAC,CAAC;QAC1C,CAAC;QAED,OAAO,QAAQ,CAAC,IAAI,CAAC;IACvB,CAAC;;AA9BH,kCA+BC"}
@@ -0,0 +1,14 @@
1
+ import { BaseCommand } from '../../lib/base-command.js';
2
+ export default class ProjectsContext extends BaseCommand {
3
+ static description: string;
4
+ static args: {
5
+ id: import("@oclif/core/interfaces").Arg<string, Record<string, unknown>>;
6
+ };
7
+ static flags: {
8
+ token: import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
9
+ 'api-url': import("@oclif/core/interfaces").OptionFlag<string, import("@oclif/core/interfaces").CustomOptions>;
10
+ 'no-input': import("@oclif/core/interfaces").BooleanFlag<boolean>;
11
+ };
12
+ run(): Promise<unknown>;
13
+ }
14
+ //# sourceMappingURL=context.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"context.d.ts","sourceRoot":"","sources":["../../../src/commands/projects/context.ts"],"names":[],"mappings":"AACA,OAAO,EAAC,WAAW,EAAC,MAAM,2BAA2B,CAAC;AAGtD,MAAM,CAAC,OAAO,OAAO,eAAgB,SAAQ,WAAW;IACtD,MAAM,CAAC,WAAW,SAAiD;IAEnE,MAAM,CAAC,IAAI;;MAET;IAEF,MAAM,CAAC,KAAK;;;;MAEV;IAEI,GAAG,IAAI,OAAO,CAAC,OAAO,CAAC;CAwC9B"}
@@ -0,0 +1,52 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const core_1 = require("@oclif/core");
4
+ const base_command_js_1 = require("../../lib/base-command.js");
5
+ const output_js_1 = require("../../lib/output.js");
6
+ class ProjectsContext extends base_command_js_1.BaseCommand {
7
+ static description = 'Get project context (tasks, notes, signals)';
8
+ static args = {
9
+ id: core_1.Args.string({ description: 'Project ID', required: true }),
10
+ };
11
+ static flags = {
12
+ ...base_command_js_1.BaseCommand.baseFlags,
13
+ };
14
+ async run() {
15
+ const { args, flags } = await this.parse(ProjectsContext);
16
+ const client = await this.client(flags);
17
+ const response = await client.getProjectContext(args.id);
18
+ this.handleApiError(response);
19
+ const ctx = response.data;
20
+ if (!this.jsonEnabled()) {
21
+ const project = ctx.project;
22
+ if (project) {
23
+ this.log(`\n${project.emoji || ''} ${project.name} (${project.status})`);
24
+ if (project.summary)
25
+ this.log(` ${project.summary}`);
26
+ this.log('');
27
+ }
28
+ const tasks = ctx.tasks;
29
+ if (tasks?.length) {
30
+ this.log('Tasks:');
31
+ (0, output_js_1.renderTable)(tasks, [
32
+ { key: 'id', header: 'ID' },
33
+ { key: 'title', header: 'Title' },
34
+ { key: 'status', header: 'Status' },
35
+ ]);
36
+ this.log('');
37
+ }
38
+ const notes = ctx.notes;
39
+ if (notes?.length) {
40
+ this.log('Notes:');
41
+ (0, output_js_1.renderTable)(notes, [
42
+ { key: 'id', header: 'ID' },
43
+ { key: 'title', header: 'Title' },
44
+ { key: 'noteType', header: 'Type' },
45
+ ]);
46
+ }
47
+ }
48
+ return response.data;
49
+ }
50
+ }
51
+ exports.default = ProjectsContext;
52
+ //# sourceMappingURL=context.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"context.js","sourceRoot":"","sources":["../../../src/commands/projects/context.ts"],"names":[],"mappings":";;AAAA,sCAAiC;AACjC,+DAAsD;AACtD,mDAA8D;AAE9D,MAAqB,eAAgB,SAAQ,6BAAW;IACtD,MAAM,CAAC,WAAW,GAAG,6CAA6C,CAAC;IAEnE,MAAM,CAAC,IAAI,GAAG;QACZ,EAAE,EAAE,WAAI,CAAC,MAAM,CAAC,EAAC,WAAW,EAAE,YAAY,EAAE,QAAQ,EAAE,IAAI,EAAC,CAAC;KAC7D,CAAC;IAEF,MAAM,CAAC,KAAK,GAAG;QACb,GAAG,6BAAW,CAAC,SAAS;KACzB,CAAC;IAEF,KAAK,CAAC,GAAG;QACP,MAAM,EAAC,IAAI,EAAE,KAAK,EAAC,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,eAAe,CAAC,CAAC;QACxD,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QACxC,MAAM,QAAQ,GAAG,MAAM,MAAM,CAAC,iBAAiB,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACzD,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC,CAAC;QAE9B,MAAM,GAAG,GAAG,QAAQ,CAAC,IAA+B,CAAC;QAErD,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,EAAE,CAAC;YACxB,MAAM,OAAO,GAAG,GAAG,CAAC,OAA8C,CAAC;YACnE,IAAI,OAAO,EAAE,CAAC;gBACZ,IAAI,CAAC,GAAG,CAAC,KAAK,OAAO,CAAC,KAAK,IAAI,EAAE,IAAI,OAAO,CAAC,IAAI,KAAK,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC;gBACzE,IAAI,OAAO,CAAC,OAAO;oBAAE,IAAI,CAAC,GAAG,CAAC,KAAK,OAAO,CAAC,OAAO,EAAE,CAAC,CAAC;gBACtD,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;YACf,CAAC;YAED,MAAM,KAAK,GAAG,GAAG,CAAC,KAA8C,CAAC;YACjE,IAAI,KAAK,EAAE,MAAM,EAAE,CAAC;gBAClB,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;gBACnB,IAAA,uBAAW,EAAC,KAAK,EAAE;oBACjB,EAAC,GAAG,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAC;oBACzB,EAAC,GAAG,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO,EAAC;oBAC/B,EAAC,GAAG,EAAE,QAAQ,EAAE,MAAM,EAAE,QAAQ,EAAC;iBAClC,CAAC,CAAC;gBACH,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;YACf,CAAC;YAED,MAAM,KAAK,GAAG,GAAG,CAAC,KAA8C,CAAC;YACjE,IAAI,KAAK,EAAE,MAAM,EAAE,CAAC;gBAClB,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;gBACnB,IAAA,uBAAW,EAAC,KAAK,EAAE;oBACjB,EAAC,GAAG,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAC;oBACzB,EAAC,GAAG,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO,EAAC;oBAC/B,EAAC,GAAG,EAAE,UAAU,EAAE,MAAM,EAAE,MAAM,EAAC;iBAClC,CAAC,CAAC;YACL,CAAC;QACH,CAAC;QAED,OAAO,QAAQ,CAAC,IAAI,CAAC;IACvB,CAAC;;AAlDH,kCAmDC"}
@@ -0,0 +1,15 @@
1
+ import { BaseCommand } from '../../lib/base-command.js';
2
+ export default class ProjectsCreate extends BaseCommand {
3
+ static description: string;
4
+ static flags: {
5
+ name: import("@oclif/core/interfaces").OptionFlag<string, import("@oclif/core/interfaces").CustomOptions>;
6
+ summary: import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
7
+ status: import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
8
+ emoji: import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
9
+ token: import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
10
+ 'api-url': import("@oclif/core/interfaces").OptionFlag<string, import("@oclif/core/interfaces").CustomOptions>;
11
+ 'no-input': import("@oclif/core/interfaces").BooleanFlag<boolean>;
12
+ };
13
+ run(): Promise<unknown>;
14
+ }
15
+ //# sourceMappingURL=create.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"create.d.ts","sourceRoot":"","sources":["../../../src/commands/projects/create.ts"],"names":[],"mappings":"AACA,OAAO,EAAC,WAAW,EAAC,MAAM,2BAA2B,CAAC;AAEtD,MAAM,CAAC,OAAO,OAAO,cAAe,SAAQ,WAAW;IACrD,MAAM,CAAC,WAAW,SAAsB;IAExC,MAAM,CAAC,KAAK;;;;;;;;MASV;IAEI,GAAG,IAAI,OAAO,CAAC,OAAO,CAAC;CAmB9B"}
@@ -0,0 +1,35 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const core_1 = require("@oclif/core");
4
+ const base_command_js_1 = require("../../lib/base-command.js");
5
+ class ProjectsCreate extends base_command_js_1.BaseCommand {
6
+ static description = 'Create a project';
7
+ static flags = {
8
+ ...base_command_js_1.BaseCommand.baseFlags,
9
+ name: core_1.Flags.string({ description: 'Project name', required: true }),
10
+ summary: core_1.Flags.string({ description: 'Project summary' }),
11
+ status: core_1.Flags.string({
12
+ description: 'Project status',
13
+ options: ['planning', 'active', 'on_hold', 'blocked', 'completed'],
14
+ }),
15
+ emoji: core_1.Flags.string({ description: 'Single emoji' }),
16
+ };
17
+ async run() {
18
+ const { flags } = await this.parse(ProjectsCreate);
19
+ const client = await this.client(flags);
20
+ const response = await client.createProject({
21
+ name: flags.name,
22
+ summary: flags.summary,
23
+ status: flags.status,
24
+ emoji: flags.emoji,
25
+ });
26
+ this.handleApiError(response);
27
+ const project = this.unwrapOne(response, 'project');
28
+ if (!this.jsonEnabled()) {
29
+ this.log(`Project created: ${project.id}`);
30
+ }
31
+ return response.data;
32
+ }
33
+ }
34
+ exports.default = ProjectsCreate;
35
+ //# sourceMappingURL=create.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"create.js","sourceRoot":"","sources":["../../../src/commands/projects/create.ts"],"names":[],"mappings":";;AAAA,sCAAkC;AAClC,+DAAsD;AAEtD,MAAqB,cAAe,SAAQ,6BAAW;IACrD,MAAM,CAAC,WAAW,GAAG,kBAAkB,CAAC;IAExC,MAAM,CAAC,KAAK,GAAG;QACb,GAAG,6BAAW,CAAC,SAAS;QACxB,IAAI,EAAE,YAAK,CAAC,MAAM,CAAC,EAAC,WAAW,EAAE,cAAc,EAAE,QAAQ,EAAE,IAAI,EAAC,CAAC;QACjE,OAAO,EAAE,YAAK,CAAC,MAAM,CAAC,EAAC,WAAW,EAAE,iBAAiB,EAAC,CAAC;QACvD,MAAM,EAAE,YAAK,CAAC,MAAM,CAAC;YACnB,WAAW,EAAE,gBAAgB;YAC7B,OAAO,EAAE,CAAC,UAAU,EAAE,QAAQ,EAAE,SAAS,EAAE,SAAS,EAAE,WAAW,CAAC;SACnE,CAAC;QACF,KAAK,EAAE,YAAK,CAAC,MAAM,CAAC,EAAC,WAAW,EAAE,cAAc,EAAC,CAAC;KACnD,CAAC;IAEF,KAAK,CAAC,GAAG;QACP,MAAM,EAAC,KAAK,EAAC,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC,CAAC;QACjD,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QACxC,MAAM,QAAQ,GAAG,MAAM,MAAM,CAAC,aAAa,CAAC;YAC1C,IAAI,EAAE,KAAK,CAAC,IAAI;YAChB,OAAO,EAAE,KAAK,CAAC,OAAO;YACtB,MAAM,EAAE,KAAK,CAAC,MAAiF;YAC/F,KAAK,EAAE,KAAK,CAAC,KAAK;SACnB,CAAC,CAAC;QACH,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC,CAAC;QAE9B,MAAM,OAAO,GAAG,IAAI,CAAC,SAAS,CAAC,QAAQ,EAAE,SAAS,CAAC,CAAC;QAEpD,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,EAAE,CAAC;YACxB,IAAI,CAAC,GAAG,CAAC,oBAAoB,OAAO,CAAC,EAAE,EAAE,CAAC,CAAC;QAC7C,CAAC;QAED,OAAO,QAAQ,CAAC,IAAI,CAAC;IACvB,CAAC;;AAhCH,iCAiCC"}
@@ -0,0 +1,13 @@
1
+ import { BaseCommand } from '../../lib/base-command.js';
2
+ export default class ProjectsList extends BaseCommand {
3
+ static description: string;
4
+ static flags: {
5
+ status: import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
6
+ 'include-archived': import("@oclif/core/interfaces").BooleanFlag<boolean>;
7
+ token: import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
8
+ 'api-url': import("@oclif/core/interfaces").OptionFlag<string, import("@oclif/core/interfaces").CustomOptions>;
9
+ 'no-input': import("@oclif/core/interfaces").BooleanFlag<boolean>;
10
+ };
11
+ run(): Promise<unknown>;
12
+ }
13
+ //# sourceMappingURL=list.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"list.d.ts","sourceRoot":"","sources":["../../../src/commands/projects/list.ts"],"names":[],"mappings":"AACA,OAAO,EAAC,WAAW,EAAC,MAAM,2BAA2B,CAAC;AAGtD,MAAM,CAAC,OAAO,OAAO,YAAa,SAAQ,WAAW;IACnD,MAAM,CAAC,WAAW,SAAmB;IAErC,MAAM,CAAC,KAAK;;;;;;MAOV;IAEI,GAAG,IAAI,OAAO,CAAC,OAAO,CAAC;CAsB9B"}
@@ -0,0 +1,37 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const core_1 = require("@oclif/core");
4
+ const base_command_js_1 = require("../../lib/base-command.js");
5
+ const output_js_1 = require("../../lib/output.js");
6
+ class ProjectsList extends base_command_js_1.BaseCommand {
7
+ static description = 'List projects';
8
+ static flags = {
9
+ ...base_command_js_1.BaseCommand.baseFlags,
10
+ status: core_1.Flags.string({
11
+ description: 'Filter by status',
12
+ options: ['planning', 'active', 'on_hold', 'blocked', 'completed'],
13
+ }),
14
+ 'include-archived': core_1.Flags.boolean({ description: 'Include archived projects' }),
15
+ };
16
+ async run() {
17
+ const { flags } = await this.parse(ProjectsList);
18
+ const client = await this.client(flags);
19
+ const response = await client.listProjects({
20
+ status: flags.status,
21
+ includeArchived: flags['include-archived'],
22
+ });
23
+ this.handleApiError(response);
24
+ const projects = this.unwrapList(response, 'projects');
25
+ if (!this.jsonEnabled()) {
26
+ (0, output_js_1.renderTable)(projects, [
27
+ { key: 'id', header: 'ID' },
28
+ { key: 'emoji', header: '' },
29
+ { key: 'name', header: 'Name' },
30
+ { key: 'status', header: 'Status' },
31
+ ]);
32
+ }
33
+ return projects;
34
+ }
35
+ }
36
+ exports.default = ProjectsList;
37
+ //# sourceMappingURL=list.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"list.js","sourceRoot":"","sources":["../../../src/commands/projects/list.ts"],"names":[],"mappings":";;AAAA,sCAAkC;AAClC,+DAAsD;AACtD,mDAAgD;AAEhD,MAAqB,YAAa,SAAQ,6BAAW;IACnD,MAAM,CAAC,WAAW,GAAG,eAAe,CAAC;IAErC,MAAM,CAAC,KAAK,GAAG;QACb,GAAG,6BAAW,CAAC,SAAS;QACxB,MAAM,EAAE,YAAK,CAAC,MAAM,CAAC;YACnB,WAAW,EAAE,kBAAkB;YAC/B,OAAO,EAAE,CAAC,UAAU,EAAE,QAAQ,EAAE,SAAS,EAAE,SAAS,EAAE,WAAW,CAAC;SACnE,CAAC;QACF,kBAAkB,EAAE,YAAK,CAAC,OAAO,CAAC,EAAC,WAAW,EAAE,2BAA2B,EAAC,CAAC;KAC9E,CAAC;IAEF,KAAK,CAAC,GAAG;QACP,MAAM,EAAC,KAAK,EAAC,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC;QAC/C,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QACxC,MAAM,QAAQ,GAAG,MAAM,MAAM,CAAC,YAAY,CAAC;YACzC,MAAM,EAAE,KAAK,CAAC,MAAM;YACpB,eAAe,EAAE,KAAK,CAAC,kBAAkB,CAAC;SAC3C,CAAC,CAAC;QACH,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC,CAAC;QAE9B,MAAM,QAAQ,GAAG,IAAI,CAAC,UAAU,CAAC,QAAQ,EAAE,UAAU,CAAC,CAAC;QAEvD,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,EAAE,CAAC;YACxB,IAAA,uBAAW,EAAC,QAAQ,EAAE;gBACpB,EAAC,GAAG,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAC;gBACzB,EAAC,GAAG,EAAE,OAAO,EAAE,MAAM,EAAE,EAAE,EAAC;gBAC1B,EAAC,GAAG,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAC;gBAC7B,EAAC,GAAG,EAAE,QAAQ,EAAE,MAAM,EAAE,QAAQ,EAAC;aAClC,CAAC,CAAC;QACL,CAAC;QAED,OAAO,QAAQ,CAAC;IAClB,CAAC;;AAjCH,+BAkCC"}