@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
package/README.md ADDED
@@ -0,0 +1,161 @@
1
+ # @execufunction/cli
2
+
3
+ Command-line interface for [ExecuFunction](https://execufunction.com) — AI executive function assistant for tasks, calendar, knowledge, code indexing, and CRM.
4
+
5
+ ## Installation
6
+
7
+ ```bash
8
+ # Run directly
9
+ npx @execufunction/cli <command>
10
+
11
+ # Or install globally
12
+ npm install -g @execufunction/cli
13
+ ```
14
+
15
+ ## Quick Start
16
+
17
+ ### 1. Authenticate
18
+
19
+ ```bash
20
+ exf auth login
21
+ ```
22
+
23
+ Or set a Personal Access Token directly:
24
+
25
+ ```bash
26
+ export EXF_TOKEN=exf_pat_your_token_here
27
+ ```
28
+
29
+ ### 2. Run your first command
30
+
31
+ ```bash
32
+ exf tasks list
33
+ exf tasks create --title "Ship CLI v1"
34
+ exf notes search "deployment process"
35
+ ```
36
+
37
+ ## Command Reference
38
+
39
+ ### Auth
40
+ | Command | Description |
41
+ |---------|-------------|
42
+ | `exf auth login` | Authenticate with ExecuFunction |
43
+ | `exf auth logout` | Clear stored credentials |
44
+ | `exf auth status` | Show current auth status |
45
+
46
+ ### Tasks
47
+ | Command | Description |
48
+ |---------|-------------|
49
+ | `exf tasks list` | List tasks (filterable by status, project) |
50
+ | `exf tasks get <id>` | Get task details |
51
+ | `exf tasks create` | Create a task |
52
+ | `exf tasks update <id>` | Update a task |
53
+ | `exf tasks complete <id>` | Mark a task complete |
54
+ | `exf tasks delete <id>` | Delete a task |
55
+
56
+ ### Projects
57
+ | Command | Description |
58
+ |---------|-------------|
59
+ | `exf projects list` | List projects |
60
+ | `exf projects create` | Create a project |
61
+ | `exf projects update <id>` | Update a project |
62
+ | `exf projects archive <id>` | Archive a project |
63
+ | `exf projects context <id>` | Get full project context |
64
+
65
+ ### Notes
66
+ | Command | Description |
67
+ |---------|-------------|
68
+ | `exf notes list` | List notes |
69
+ | `exf notes get <id>` | Get note with full content |
70
+ | `exf notes create` | Create a note |
71
+ | `exf notes search <query>` | Search knowledge base |
72
+ | `exf notes update <id>` | Update a note |
73
+ | `exf notes delete <id>` | Delete a note |
74
+
75
+ ### Calendar
76
+ | Command | Description |
77
+ |---------|-------------|
78
+ | `exf calendar list` | List events (filterable by date range) |
79
+ | `exf calendar create` | Create an event |
80
+ | `exf calendar update <id>` | Update an event |
81
+ | `exf calendar delete <id>` | Delete an event |
82
+
83
+ ### People
84
+ | Command | Description |
85
+ |---------|-------------|
86
+ | `exf people list` | List contacts |
87
+ | `exf people search <query>` | Search contacts |
88
+
89
+ ### Vault
90
+ | Command | Description |
91
+ |---------|-------------|
92
+ | `exf vault list` | List vault entries (metadata only) |
93
+ | `exf vault create` | Store an encrypted secret |
94
+ | `exf vault read <id>` | Decrypt and read a secret |
95
+ | `exf vault search <query>` | Search vault entries |
96
+ | `exf vault update <id>` | Update entry metadata |
97
+
98
+ ### Codebase
99
+ | Command | Description |
100
+ |---------|-------------|
101
+ | `exf codebase list` | List indexed repositories |
102
+ | `exf codebase register` | Register a repo for indexing |
103
+ | `exf codebase status <id>` | Check indexing status |
104
+ | `exf codebase index <id>` | Trigger indexing |
105
+ | `exf codebase search <query>` | Semantic code search |
106
+ | `exf codebase snapshot <id>` | Get latest snapshot |
107
+ | `exf codebase delete <id>` | Delete a repository |
108
+
109
+ ### Code Tools
110
+ | Command | Description |
111
+ |---------|-------------|
112
+ | `exf code history <repo>` | Get commit history |
113
+ | `exf code who-knows <repo> <area>` | Find experts for a code area |
114
+ | `exf code blame <file>` | Git blame for a file |
115
+ | `exf code link <task>` | Link a task to code |
116
+ | `exf code expertise <repo>` | Refresh expertise index |
117
+ | `exf code memory store` | Store a codebase fact |
118
+ | `exf code memory list` | List stored facts |
119
+ | `exf code memory search <query>` | Search stored facts |
120
+ | `exf code memory delete <id>` | Delete a stored fact |
121
+
122
+ ### Documents
123
+ | Command | Description |
124
+ |---------|-------------|
125
+ | `exf documents upload <file>` | Upload a document (PDF, MD, TXT) as a note |
126
+
127
+ ## Global Flags
128
+
129
+ | Flag | Env Var | Description |
130
+ |------|---------|-------------|
131
+ | `--token` | `EXF_TOKEN` | Personal access token |
132
+ | `--api-url` | `EXF_API_URL` | API base URL (default: `https://execufunction.com`) |
133
+ | `--json` | — | Output raw JSON instead of tables |
134
+ | `--no-input` | — | Disable interactive prompts |
135
+
136
+ ## Agent / Script Usage
137
+
138
+ All commands support `--json` for structured output, making the CLI composable with other tools:
139
+
140
+ ```bash
141
+ # List tasks as JSON and filter with jq
142
+ exf tasks list --json | jq '.[] | select(.status == "in_progress")'
143
+
144
+ # Create a task and capture the ID
145
+ TASK_ID=$(exf tasks create --title "Deploy v2" --json | jq -r '.task.id')
146
+
147
+ # Use in CI/CD scripts
148
+ export EXF_TOKEN=exf_pat_...
149
+ exf tasks complete "$TASK_ID"
150
+ ```
151
+
152
+ ## Environment Variables
153
+
154
+ | Variable | Description |
155
+ |----------|-------------|
156
+ | `EXF_TOKEN` | Personal access token for authentication |
157
+ | `EXF_API_URL` | API base URL (default: `https://execufunction.com`) |
158
+
159
+ ## License
160
+
161
+ MIT
package/bin/dev.js ADDED
@@ -0,0 +1,13 @@
1
+ #!/usr/bin/env node
2
+
3
+ const path = require('path')
4
+
5
+ async function main() {
6
+ const {run} = require('@oclif/core')
7
+ await run(process.argv.slice(2), {root: path.join(__dirname, '..'), development: true})
8
+ }
9
+
10
+ main().catch(err => {
11
+ console.error(err)
12
+ process.exit(1)
13
+ })
package/bin/run.js ADDED
@@ -0,0 +1,13 @@
1
+ #!/usr/bin/env node
2
+
3
+ const path = require('path')
4
+
5
+ async function main() {
6
+ const {run} = require('@oclif/core')
7
+ await run(process.argv.slice(2), {root: path.join(__dirname, '..')})
8
+ }
9
+
10
+ main().catch(err => {
11
+ console.error(err)
12
+ process.exit(1)
13
+ })
@@ -0,0 +1,14 @@
1
+ import { BaseCommand } from '../../lib/base-command.js';
2
+ export default class AuthLogin extends BaseCommand {
3
+ static description: string;
4
+ static examples: string[];
5
+ static flags: {
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<{
11
+ stored: boolean;
12
+ }>;
13
+ }
14
+ //# sourceMappingURL=login.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"login.d.ts","sourceRoot":"","sources":["../../../src/commands/auth/login.ts"],"names":[],"mappings":"AACA,OAAO,EAAC,WAAW,EAAC,MAAM,2BAA2B,CAAC;AAGtD,MAAM,CAAC,OAAO,OAAO,SAAU,SAAQ,WAAW;IAChD,MAAM,CAAC,WAAW,SAAqC;IAEvD,MAAM,CAAC,QAAQ,WAGb;IAEF,MAAM,CAAC,KAAK;;;;MAMV;IAEI,GAAG,IAAI,OAAO,CAAC;QAAC,MAAM,EAAE,OAAO,CAAA;KAAC,CAAC;CAexC"}
@@ -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 auth_js_1 = require("../../lib/auth.js");
6
+ class AuthLogin extends base_command_js_1.BaseCommand {
7
+ static description = 'Authenticate with ExecuFunction';
8
+ static examples = [
9
+ '<%= config.bin %> auth login --token exf_pat_xxx',
10
+ 'EXF_TOKEN=exf_pat_xxx <%= config.bin %> auth status',
11
+ ];
12
+ static flags = {
13
+ ...base_command_js_1.BaseCommand.baseFlags,
14
+ token: core_1.Flags.string({
15
+ description: 'Personal access token',
16
+ env: 'EXF_TOKEN',
17
+ }),
18
+ };
19
+ async run() {
20
+ const { flags } = await this.parse(AuthLogin);
21
+ const token = flags.token;
22
+ if (!token) {
23
+ this.error('Provide a token with --token or EXF_TOKEN environment variable.');
24
+ }
25
+ (0, auth_js_1.storeToken)(token);
26
+ if (!this.jsonEnabled()) {
27
+ this.log('Token stored in ~/.config/exf/auth.json');
28
+ }
29
+ return { stored: true };
30
+ }
31
+ }
32
+ exports.default = AuthLogin;
33
+ //# sourceMappingURL=login.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"login.js","sourceRoot":"","sources":["../../../src/commands/auth/login.ts"],"names":[],"mappings":";;AAAA,sCAAkC;AAClC,+DAAsD;AACtD,+CAA6C;AAE7C,MAAqB,SAAU,SAAQ,6BAAW;IAChD,MAAM,CAAC,WAAW,GAAG,iCAAiC,CAAC;IAEvD,MAAM,CAAC,QAAQ,GAAG;QAChB,kDAAkD;QAClD,qDAAqD;KACtD,CAAC;IAEF,MAAM,CAAC,KAAK,GAAG;QACb,GAAG,6BAAW,CAAC,SAAS;QACxB,KAAK,EAAE,YAAK,CAAC,MAAM,CAAC;YAClB,WAAW,EAAE,uBAAuB;YACpC,GAAG,EAAE,WAAW;SACjB,CAAC;KACH,CAAC;IAEF,KAAK,CAAC,GAAG;QACP,MAAM,EAAC,KAAK,EAAC,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;QAC5C,MAAM,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC;QAE1B,IAAI,CAAC,KAAK,EAAE,CAAC;YACX,IAAI,CAAC,KAAK,CAAC,iEAAiE,CAAC,CAAC;QAChF,CAAC;QAED,IAAA,oBAAU,EAAC,KAAK,CAAC,CAAC;QAClB,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,EAAE,CAAC;YACxB,IAAI,CAAC,GAAG,CAAC,yCAAyC,CAAC,CAAC;QACtD,CAAC;QAED,OAAO,EAAC,MAAM,EAAE,IAAI,EAAC,CAAC;IACxB,CAAC;;AA9BH,4BA+BC"}
@@ -0,0 +1,13 @@
1
+ import { BaseCommand } from '../../lib/base-command.js';
2
+ export default class AuthLogout extends BaseCommand {
3
+ static description: string;
4
+ static flags: {
5
+ token: import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
6
+ 'api-url': import("@oclif/core/interfaces").OptionFlag<string, import("@oclif/core/interfaces").CustomOptions>;
7
+ 'no-input': import("@oclif/core/interfaces").BooleanFlag<boolean>;
8
+ };
9
+ run(): Promise<{
10
+ cleared: boolean;
11
+ }>;
12
+ }
13
+ //# sourceMappingURL=logout.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"logout.d.ts","sourceRoot":"","sources":["../../../src/commands/auth/logout.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,WAAW,EAAC,MAAM,2BAA2B,CAAC;AAGtD,MAAM,CAAC,OAAO,OAAO,UAAW,SAAQ,WAAW;IACjD,MAAM,CAAC,WAAW,SAAkC;IAEpD,MAAM,CAAC,KAAK;;;;MAEV;IAEI,GAAG,IAAI,OAAO,CAAC;QAAC,OAAO,EAAE,OAAO,CAAA;KAAC,CAAC;CASzC"}
@@ -0,0 +1,20 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const base_command_js_1 = require("../../lib/base-command.js");
4
+ const auth_js_1 = require("../../lib/auth.js");
5
+ class AuthLogout extends base_command_js_1.BaseCommand {
6
+ static description = 'Remove stored authentication';
7
+ static flags = {
8
+ ...base_command_js_1.BaseCommand.baseFlags,
9
+ };
10
+ async run() {
11
+ await this.parse(AuthLogout);
12
+ (0, auth_js_1.clearToken)();
13
+ if (!this.jsonEnabled()) {
14
+ this.log('Token removed from ~/.config/exf/auth.json');
15
+ }
16
+ return { cleared: true };
17
+ }
18
+ }
19
+ exports.default = AuthLogout;
20
+ //# sourceMappingURL=logout.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"logout.js","sourceRoot":"","sources":["../../../src/commands/auth/logout.ts"],"names":[],"mappings":";;AAAA,+DAAsD;AACtD,+CAA6C;AAE7C,MAAqB,UAAW,SAAQ,6BAAW;IACjD,MAAM,CAAC,WAAW,GAAG,8BAA8B,CAAC;IAEpD,MAAM,CAAC,KAAK,GAAG;QACb,GAAG,6BAAW,CAAC,SAAS;KACzB,CAAC;IAEF,KAAK,CAAC,GAAG;QACP,MAAM,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC;QAC7B,IAAA,oBAAU,GAAE,CAAC;QACb,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,EAAE,CAAC;YACxB,IAAI,CAAC,GAAG,CAAC,4CAA4C,CAAC,CAAC;QACzD,CAAC;QAED,OAAO,EAAC,OAAO,EAAE,IAAI,EAAC,CAAC;IACzB,CAAC;;AAfH,6BAgBC"}
@@ -0,0 +1,14 @@
1
+ import { BaseCommand } from '../../lib/base-command.js';
2
+ export default class AuthStatus extends BaseCommand {
3
+ static description: string;
4
+ static flags: {
5
+ token: import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
6
+ 'api-url': import("@oclif/core/interfaces").OptionFlag<string, import("@oclif/core/interfaces").CustomOptions>;
7
+ 'no-input': import("@oclif/core/interfaces").BooleanFlag<boolean>;
8
+ };
9
+ run(): Promise<{
10
+ authenticated: boolean;
11
+ source?: string;
12
+ }>;
13
+ }
14
+ //# sourceMappingURL=status.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"status.d.ts","sourceRoot":"","sources":["../../../src/commands/auth/status.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,WAAW,EAAC,MAAM,2BAA2B,CAAC;AAGtD,MAAM,CAAC,OAAO,OAAO,UAAW,SAAQ,WAAW;IACjD,MAAM,CAAC,WAAW,SAAgC;IAElD,MAAM,CAAC,KAAK;;;;MAEV;IAEI,GAAG,IAAI,OAAO,CAAC;QAAC,aAAa,EAAE,OAAO,CAAC;QAAC,MAAM,CAAC,EAAE,MAAM,CAAA;KAAC,CAAC;CAsBhE"}
@@ -0,0 +1,32 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const base_command_js_1 = require("../../lib/base-command.js");
4
+ const auth_js_1 = require("../../lib/auth.js");
5
+ class AuthStatus extends base_command_js_1.BaseCommand {
6
+ static description = 'Show authentication status';
7
+ static flags = {
8
+ ...base_command_js_1.BaseCommand.baseFlags,
9
+ };
10
+ async run() {
11
+ const { flags } = await this.parse(AuthStatus);
12
+ let source;
13
+ if (flags.token) {
14
+ source = flags.token.startsWith('exf_pat_') ? 'flag/env' : 'flag/env';
15
+ }
16
+ else if ((0, auth_js_1.resolveToken)()) {
17
+ source = 'config file (~/.config/exf/auth.json)';
18
+ }
19
+ const authenticated = !!source;
20
+ if (!this.jsonEnabled()) {
21
+ if (authenticated) {
22
+ this.log(`Authenticated via ${source}`);
23
+ }
24
+ else {
25
+ this.log('Not authenticated. Run `exf auth login` or set EXF_TOKEN.');
26
+ }
27
+ }
28
+ return { authenticated, source };
29
+ }
30
+ }
31
+ exports.default = AuthStatus;
32
+ //# sourceMappingURL=status.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"status.js","sourceRoot":"","sources":["../../../src/commands/auth/status.ts"],"names":[],"mappings":";;AAAA,+DAAsD;AACtD,+CAA+C;AAE/C,MAAqB,UAAW,SAAQ,6BAAW;IACjD,MAAM,CAAC,WAAW,GAAG,4BAA4B,CAAC;IAElD,MAAM,CAAC,KAAK,GAAG;QACb,GAAG,6BAAW,CAAC,SAAS;KACzB,CAAC;IAEF,KAAK,CAAC,GAAG;QACP,MAAM,EAAC,KAAK,EAAC,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC;QAE7C,IAAI,MAA0B,CAAC;QAC/B,IAAI,KAAK,CAAC,KAAK,EAAE,CAAC;YAChB,MAAM,GAAG,KAAK,CAAC,KAAK,CAAC,UAAU,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,UAAU,CAAC;QACxE,CAAC;aAAM,IAAI,IAAA,sBAAY,GAAE,EAAE,CAAC;YAC1B,MAAM,GAAG,uCAAuC,CAAC;QACnD,CAAC;QAED,MAAM,aAAa,GAAG,CAAC,CAAC,MAAM,CAAC;QAE/B,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,EAAE,CAAC;YACxB,IAAI,aAAa,EAAE,CAAC;gBAClB,IAAI,CAAC,GAAG,CAAC,qBAAqB,MAAM,EAAE,CAAC,CAAC;YAC1C,CAAC;iBAAM,CAAC;gBACN,IAAI,CAAC,GAAG,CAAC,2DAA2D,CAAC,CAAC;YACxE,CAAC;QACH,CAAC;QAED,OAAO,EAAC,aAAa,EAAE,MAAM,EAAC,CAAC;IACjC,CAAC;;AA5BH,6BA6BC"}
@@ -0,0 +1,17 @@
1
+ import { BaseCommand } from '../../lib/base-command.js';
2
+ export default class CalendarCreate extends BaseCommand {
3
+ static description: string;
4
+ static examples: string[];
5
+ static flags: {
6
+ title: import("@oclif/core/interfaces").OptionFlag<string, import("@oclif/core/interfaces").CustomOptions>;
7
+ start: import("@oclif/core/interfaces").OptionFlag<string, import("@oclif/core/interfaces").CustomOptions>;
8
+ end: import("@oclif/core/interfaces").OptionFlag<string, import("@oclif/core/interfaces").CustomOptions>;
9
+ description: import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
10
+ location: 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=create.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"create.d.ts","sourceRoot":"","sources":["../../../src/commands/calendar/create.ts"],"names":[],"mappings":"AACA,OAAO,EAAC,WAAW,EAAC,MAAM,2BAA2B,CAAC;AAEtD,MAAM,CAAC,OAAO,OAAO,cAAe,SAAQ,WAAW;IACrD,MAAM,CAAC,WAAW,SAA6B;IAE/C,MAAM,CAAC,QAAQ,WAEb;IAEF,MAAM,CAAC,KAAK;;;;;;;;;MAOV;IAEI,GAAG,IAAI,OAAO,CAAC,OAAO,CAAC;CAoB9B"}
@@ -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
+ class CalendarCreate extends base_command_js_1.BaseCommand {
6
+ static description = 'Create a calendar event';
7
+ static examples = [
8
+ '<%= config.bin %> calendar create --title "Team standup" --start 2026-03-01T09:00:00Z --end 2026-03-01T09:30:00Z',
9
+ ];
10
+ static flags = {
11
+ ...base_command_js_1.BaseCommand.baseFlags,
12
+ title: core_1.Flags.string({ description: 'Event title', required: true }),
13
+ start: core_1.Flags.string({ description: 'Start time (ISO 8601)', required: true }),
14
+ end: core_1.Flags.string({ description: 'End time (ISO 8601)', required: true }),
15
+ description: core_1.Flags.string({ description: 'Event description' }),
16
+ location: core_1.Flags.string({ description: 'Event location' }),
17
+ };
18
+ async run() {
19
+ const { flags } = await this.parse(CalendarCreate);
20
+ const client = await this.client(flags);
21
+ const response = await client.createCalendarEvent({
22
+ title: flags.title,
23
+ startTime: flags.start,
24
+ endTime: flags.end,
25
+ description: flags.description,
26
+ location: flags.location,
27
+ });
28
+ this.handleApiError(response);
29
+ const event = this.unwrapOne(response, 'event');
30
+ if (!this.jsonEnabled()) {
31
+ this.log(`Event created: ${event.id}`);
32
+ }
33
+ return response.data;
34
+ }
35
+ }
36
+ exports.default = CalendarCreate;
37
+ //# sourceMappingURL=create.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"create.js","sourceRoot":"","sources":["../../../src/commands/calendar/create.ts"],"names":[],"mappings":";;AAAA,sCAAkC;AAClC,+DAAsD;AAEtD,MAAqB,cAAe,SAAQ,6BAAW;IACrD,MAAM,CAAC,WAAW,GAAG,yBAAyB,CAAC;IAE/C,MAAM,CAAC,QAAQ,GAAG;QAChB,kHAAkH;KACnH,CAAC;IAEF,MAAM,CAAC,KAAK,GAAG;QACb,GAAG,6BAAW,CAAC,SAAS;QACxB,KAAK,EAAE,YAAK,CAAC,MAAM,CAAC,EAAC,WAAW,EAAE,aAAa,EAAE,QAAQ,EAAE,IAAI,EAAC,CAAC;QACjE,KAAK,EAAE,YAAK,CAAC,MAAM,CAAC,EAAC,WAAW,EAAE,uBAAuB,EAAE,QAAQ,EAAE,IAAI,EAAC,CAAC;QAC3E,GAAG,EAAE,YAAK,CAAC,MAAM,CAAC,EAAC,WAAW,EAAE,qBAAqB,EAAE,QAAQ,EAAE,IAAI,EAAC,CAAC;QACvE,WAAW,EAAE,YAAK,CAAC,MAAM,CAAC,EAAC,WAAW,EAAE,mBAAmB,EAAC,CAAC;QAC7D,QAAQ,EAAE,YAAK,CAAC,MAAM,CAAC,EAAC,WAAW,EAAE,gBAAgB,EAAC,CAAC;KACxD,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,mBAAmB,CAAC;YAChD,KAAK,EAAE,KAAK,CAAC,KAAK;YAClB,SAAS,EAAE,KAAK,CAAC,KAAK;YACtB,OAAO,EAAE,KAAK,CAAC,GAAG;YAClB,WAAW,EAAE,KAAK,CAAC,WAAW;YAC9B,QAAQ,EAAE,KAAK,CAAC,QAAQ;SACzB,CAAC,CAAC;QACH,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC,CAAC;QAE9B,MAAM,KAAK,GAAG,IAAI,CAAC,SAAS,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;QAEhD,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,EAAE,CAAC;YACxB,IAAI,CAAC,GAAG,CAAC,kBAAkB,KAAK,CAAC,EAAE,EAAE,CAAC,CAAC;QACzC,CAAC;QAED,OAAO,QAAQ,CAAC,IAAI,CAAC;IACvB,CAAC;;AAnCH,iCAoCC"}
@@ -0,0 +1,15 @@
1
+ import { BaseCommand } from '../../lib/base-command.js';
2
+ export default class CalendarDelete 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=delete.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"delete.d.ts","sourceRoot":"","sources":["../../../src/commands/calendar/delete.ts"],"names":[],"mappings":"AACA,OAAO,EAAC,WAAW,EAAC,MAAM,2BAA2B,CAAC;AAEtD,MAAM,CAAC,OAAO,OAAO,cAAe,SAAQ,WAAW;IACrD,MAAM,CAAC,WAAW,SAA6B;IAE/C,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 CalendarDelete extends base_command_js_1.BaseCommand {
6
+ static description = 'Delete a calendar event';
7
+ static args = {
8
+ id: core_1.Args.string({ description: 'Event 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(CalendarDelete);
16
+ const confirmed = await this.confirmAction('Delete this event?', flags);
17
+ if (!confirmed) {
18
+ this.log('Cancelled.');
19
+ return { deleted: false };
20
+ }
21
+ const client = await this.client(flags);
22
+ const response = await client.deleteCalendarEvent(args.id);
23
+ this.handleApiError(response);
24
+ if (!this.jsonEnabled()) {
25
+ this.log(`Event ${args.id} deleted`);
26
+ }
27
+ return { deleted: true, id: args.id };
28
+ }
29
+ }
30
+ exports.default = CalendarDelete;
31
+ //# sourceMappingURL=delete.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"delete.js","sourceRoot":"","sources":["../../../src/commands/calendar/delete.ts"],"names":[],"mappings":";;AAAA,sCAAwC;AACxC,+DAAsD;AAEtD,MAAqB,cAAe,SAAQ,6BAAW;IACrD,MAAM,CAAC,WAAW,GAAG,yBAAyB,CAAC;IAE/C,MAAM,CAAC,IAAI,GAAG;QACZ,EAAE,EAAE,WAAI,CAAC,MAAM,CAAC,EAAC,WAAW,EAAE,UAAU,EAAE,QAAQ,EAAE,IAAI,EAAC,CAAC;KAC3D,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,cAAc,CAAC,CAAC;QAEvD,MAAM,SAAS,GAAG,MAAM,IAAI,CAAC,aAAa,CAAC,oBAAoB,EAAE,KAAK,CAAC,CAAC;QACxE,IAAI,CAAC,SAAS,EAAE,CAAC;YACf,IAAI,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC;YACvB,OAAO,EAAC,OAAO,EAAE,KAAK,EAAC,CAAC;QAC1B,CAAC;QAED,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QACxC,MAAM,QAAQ,GAAG,MAAM,MAAM,CAAC,mBAAmB,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QAC3D,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC,CAAC;QAE9B,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,EAAE,CAAC;YACxB,IAAI,CAAC,GAAG,CAAC,SAAS,IAAI,CAAC,EAAE,UAAU,CAAC,CAAC;QACvC,CAAC;QAED,OAAO,EAAC,OAAO,EAAE,IAAI,EAAE,EAAE,EAAE,IAAI,CAAC,EAAE,EAAC,CAAC;IACtC,CAAC;;AA9BH,iCA+BC"}
@@ -0,0 +1,14 @@
1
+ import { BaseCommand } from '../../lib/base-command.js';
2
+ export default class CalendarList extends BaseCommand {
3
+ static description: string;
4
+ static flags: {
5
+ start: import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
6
+ end: 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/calendar/list.ts"],"names":[],"mappings":"AACA,OAAO,EAAC,WAAW,EAAC,MAAM,2BAA2B,CAAC;AAGtD,MAAM,CAAC,OAAO,OAAO,YAAa,SAAQ,WAAW;IACnD,MAAM,CAAC,WAAW,SAA0B;IAE5C,MAAM,CAAC,KAAK;;;;;;;MAKV;IAEI,GAAG,IAAI,OAAO,CAAC,OAAO,CAAC;CAwB9B"}
@@ -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 CalendarList extends base_command_js_1.BaseCommand {
7
+ static description = 'List calendar events';
8
+ static flags = {
9
+ ...base_command_js_1.BaseCommand.baseFlags,
10
+ start: core_1.Flags.string({ description: 'Start date (ISO 8601)' }),
11
+ end: core_1.Flags.string({ description: 'End date (ISO 8601)' }),
12
+ limit: core_1.Flags.integer({ description: 'Maximum number of results' }),
13
+ };
14
+ async run() {
15
+ const { flags } = await this.parse(CalendarList);
16
+ const client = await this.client(flags);
17
+ const response = await client.listCalendarEvents({
18
+ startDate: flags.start,
19
+ endDate: flags.end,
20
+ limit: flags.limit,
21
+ });
22
+ this.handleApiError(response);
23
+ const events = this.unwrapList(response, 'events');
24
+ if (!this.jsonEnabled()) {
25
+ (0, output_js_1.renderTable)(events, [
26
+ { key: 'id', header: 'ID' },
27
+ { key: 'title', header: 'Title' },
28
+ { key: 'startTime', header: 'Start', get: (r) => (0, output_js_1.formatDateTime)(r.startTime) },
29
+ { key: 'endTime', header: 'End', get: (r) => (0, output_js_1.formatDateTime)(r.endTime) },
30
+ { key: 'location', header: 'Location' },
31
+ ]);
32
+ }
33
+ return events;
34
+ }
35
+ }
36
+ exports.default = CalendarList;
37
+ //# sourceMappingURL=list.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"list.js","sourceRoot":"","sources":["../../../src/commands/calendar/list.ts"],"names":[],"mappings":";;AAAA,sCAAkC;AAClC,+DAAsD;AACtD,mDAAgE;AAEhE,MAAqB,YAAa,SAAQ,6BAAW;IACnD,MAAM,CAAC,WAAW,GAAG,sBAAsB,CAAC;IAE5C,MAAM,CAAC,KAAK,GAAG;QACb,GAAG,6BAAW,CAAC,SAAS;QACxB,KAAK,EAAE,YAAK,CAAC,MAAM,CAAC,EAAC,WAAW,EAAE,uBAAuB,EAAC,CAAC;QAC3D,GAAG,EAAE,YAAK,CAAC,MAAM,CAAC,EAAC,WAAW,EAAE,qBAAqB,EAAC,CAAC;QACvD,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,YAAY,CAAC,CAAC;QAC/C,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QACxC,MAAM,QAAQ,GAAG,MAAM,MAAM,CAAC,kBAAkB,CAAC;YAC/C,SAAS,EAAE,KAAK,CAAC,KAAK;YACtB,OAAO,EAAE,KAAK,CAAC,GAAG;YAClB,KAAK,EAAE,KAAK,CAAC,KAAK;SACnB,CAAC,CAAC;QACH,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,OAAO,EAAE,MAAM,EAAE,OAAO,EAAC;gBAC/B,EAAC,GAAG,EAAE,WAAW,EAAE,MAAM,EAAE,OAAO,EAAE,GAAG,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,IAAA,0BAAc,EAAC,CAAC,CAAC,SAAmB,CAAC,EAAC;gBACtF,EAAC,GAAG,EAAE,SAAS,EAAE,MAAM,EAAE,KAAK,EAAE,GAAG,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,IAAA,0BAAc,EAAC,CAAC,CAAC,OAAiB,CAAC,EAAC;gBAChF,EAAC,GAAG,EAAE,UAAU,EAAE,MAAM,EAAE,UAAU,EAAC;aACtC,CAAC,CAAC;QACL,CAAC;QAED,OAAO,MAAM,CAAC;IAChB,CAAC;;AAjCH,+BAkCC"}
@@ -0,0 +1,19 @@
1
+ import { BaseCommand } from '../../lib/base-command.js';
2
+ export default class CalendarUpdate 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
+ start: import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
10
+ end: import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
11
+ description: import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
12
+ location: import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
13
+ token: import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
14
+ 'api-url': import("@oclif/core/interfaces").OptionFlag<string, import("@oclif/core/interfaces").CustomOptions>;
15
+ 'no-input': import("@oclif/core/interfaces").BooleanFlag<boolean>;
16
+ };
17
+ run(): Promise<unknown>;
18
+ }
19
+ //# sourceMappingURL=update.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"update.d.ts","sourceRoot":"","sources":["../../../src/commands/calendar/update.ts"],"names":[],"mappings":"AACA,OAAO,EAAC,WAAW,EAAC,MAAM,2BAA2B,CAAC;AAEtD,MAAM,CAAC,OAAO,OAAO,cAAe,SAAQ,WAAW;IACrD,MAAM,CAAC,WAAW,SAA6B;IAE/C,MAAM,CAAC,IAAI;;MAET;IAEF,MAAM,CAAC,KAAK;;;;;;;;;MAOV;IAEI,GAAG,IAAI,OAAO,CAAC,OAAO,CAAC;CAoB9B"}
@@ -0,0 +1,41 @@
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 CalendarUpdate extends base_command_js_1.BaseCommand {
6
+ static description = 'Update a calendar event';
7
+ static args = {
8
+ id: core_1.Args.string({ description: 'Event ID', required: true }),
9
+ };
10
+ static flags = {
11
+ ...base_command_js_1.BaseCommand.baseFlags,
12
+ title: core_1.Flags.string({ description: 'Event title' }),
13
+ start: core_1.Flags.string({ description: 'Start time (ISO 8601)' }),
14
+ end: core_1.Flags.string({ description: 'End time (ISO 8601)' }),
15
+ description: core_1.Flags.string({ description: 'Event description' }),
16
+ location: core_1.Flags.string({ description: 'Event location' }),
17
+ };
18
+ async run() {
19
+ const { args, flags } = await this.parse(CalendarUpdate);
20
+ const client = await this.client(flags);
21
+ const updates = {};
22
+ if (flags.title !== undefined)
23
+ updates.title = flags.title;
24
+ if (flags.start !== undefined)
25
+ updates.startTime = flags.start;
26
+ if (flags.end !== undefined)
27
+ updates.endTime = flags.end;
28
+ if (flags.description !== undefined)
29
+ updates.description = flags.description;
30
+ if (flags.location !== undefined)
31
+ updates.location = flags.location;
32
+ const response = await client.updateCalendarEvent(args.id, updates);
33
+ this.handleApiError(response);
34
+ if (!this.jsonEnabled()) {
35
+ this.log(`Event ${args.id} updated`);
36
+ }
37
+ return response.data;
38
+ }
39
+ }
40
+ exports.default = CalendarUpdate;
41
+ //# sourceMappingURL=update.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"update.js","sourceRoot":"","sources":["../../../src/commands/calendar/update.ts"],"names":[],"mappings":";;AAAA,sCAAwC;AACxC,+DAAsD;AAEtD,MAAqB,cAAe,SAAQ,6BAAW;IACrD,MAAM,CAAC,WAAW,GAAG,yBAAyB,CAAC;IAE/C,MAAM,CAAC,IAAI,GAAG;QACZ,EAAE,EAAE,WAAI,CAAC,MAAM,CAAC,EAAC,WAAW,EAAE,UAAU,EAAE,QAAQ,EAAE,IAAI,EAAC,CAAC;KAC3D,CAAC;IAEF,MAAM,CAAC,KAAK,GAAG;QACb,GAAG,6BAAW,CAAC,SAAS;QACxB,KAAK,EAAE,YAAK,CAAC,MAAM,CAAC,EAAC,WAAW,EAAE,aAAa,EAAC,CAAC;QACjD,KAAK,EAAE,YAAK,CAAC,MAAM,CAAC,EAAC,WAAW,EAAE,uBAAuB,EAAC,CAAC;QAC3D,GAAG,EAAE,YAAK,CAAC,MAAM,CAAC,EAAC,WAAW,EAAE,qBAAqB,EAAC,CAAC;QACvD,WAAW,EAAE,YAAK,CAAC,MAAM,CAAC,EAAC,WAAW,EAAE,mBAAmB,EAAC,CAAC;QAC7D,QAAQ,EAAE,YAAK,CAAC,MAAM,CAAC,EAAC,WAAW,EAAE,gBAAgB,EAAC,CAAC;KACxD,CAAC;IAEF,KAAK,CAAC,GAAG;QACP,MAAM,EAAC,IAAI,EAAE,KAAK,EAAC,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC,CAAC;QACvD,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,KAAK,KAAK,SAAS;YAAE,OAAO,CAAC,SAAS,GAAG,KAAK,CAAC,KAAK,CAAC;QAC/D,IAAI,KAAK,CAAC,GAAG,KAAK,SAAS;YAAE,OAAO,CAAC,OAAO,GAAG,KAAK,CAAC,GAAG,CAAC;QACzD,IAAI,KAAK,CAAC,WAAW,KAAK,SAAS;YAAE,OAAO,CAAC,WAAW,GAAG,KAAK,CAAC,WAAW,CAAC;QAC7E,IAAI,KAAK,CAAC,QAAQ,KAAK,SAAS;YAAE,OAAO,CAAC,QAAQ,GAAG,KAAK,CAAC,QAAQ,CAAC;QAEpE,MAAM,QAAQ,GAAG,MAAM,MAAM,CAAC,mBAAmB,CAAC,IAAI,CAAC,EAAE,EAAE,OAAO,CAAC,CAAC;QACpE,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC,CAAC;QAE9B,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,EAAE,CAAC;YACxB,IAAI,CAAC,GAAG,CAAC,SAAS,IAAI,CAAC,EAAE,UAAU,CAAC,CAAC;QACvC,CAAC;QAED,OAAO,QAAQ,CAAC,IAAI,CAAC;IACvB,CAAC;;AAnCH,iCAoCC"}
@@ -0,0 +1,15 @@
1
+ import { BaseCommand } from '../../lib/base-command.js';
2
+ export default class CodeBlame extends BaseCommand {
3
+ static description: string;
4
+ static args: {
5
+ file: import("@oclif/core/interfaces").Arg<string, Record<string, unknown>>;
6
+ };
7
+ static flags: {
8
+ root: import("@oclif/core/interfaces").OptionFlag<string, 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=blame.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"blame.d.ts","sourceRoot":"","sources":["../../../src/commands/code/blame.ts"],"names":[],"mappings":"AACA,OAAO,EAAC,WAAW,EAAC,MAAM,2BAA2B,CAAC;AAItD,MAAM,CAAC,OAAO,OAAO,SAAU,SAAQ,WAAW;IAChD,MAAM,CAAC,WAAW,SAA0B;IAE5C,MAAM,CAAC,IAAI;;MAET;IAEF,MAAM,CAAC,KAAK;;;;;MAGV;IAEI,GAAG,IAAI,OAAO,CAAC,OAAO,CAAC;CAgB9B"}