@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.
- package/README.md +161 -0
- package/bin/dev.js +13 -0
- package/bin/run.js +13 -0
- package/dist/commands/auth/login.d.ts +14 -0
- package/dist/commands/auth/login.d.ts.map +1 -0
- package/dist/commands/auth/login.js +33 -0
- package/dist/commands/auth/login.js.map +1 -0
- package/dist/commands/auth/logout.d.ts +13 -0
- package/dist/commands/auth/logout.d.ts.map +1 -0
- package/dist/commands/auth/logout.js +20 -0
- package/dist/commands/auth/logout.js.map +1 -0
- package/dist/commands/auth/status.d.ts +14 -0
- package/dist/commands/auth/status.d.ts.map +1 -0
- package/dist/commands/auth/status.js +32 -0
- package/dist/commands/auth/status.js.map +1 -0
- package/dist/commands/calendar/create.d.ts +17 -0
- package/dist/commands/calendar/create.d.ts.map +1 -0
- package/dist/commands/calendar/create.js +37 -0
- package/dist/commands/calendar/create.js.map +1 -0
- package/dist/commands/calendar/delete.d.ts +15 -0
- package/dist/commands/calendar/delete.d.ts.map +1 -0
- package/dist/commands/calendar/delete.js +31 -0
- package/dist/commands/calendar/delete.js.map +1 -0
- package/dist/commands/calendar/list.d.ts +14 -0
- package/dist/commands/calendar/list.d.ts.map +1 -0
- package/dist/commands/calendar/list.js +37 -0
- package/dist/commands/calendar/list.js.map +1 -0
- package/dist/commands/calendar/update.d.ts +19 -0
- package/dist/commands/calendar/update.d.ts.map +1 -0
- package/dist/commands/calendar/update.js +41 -0
- package/dist/commands/calendar/update.js.map +1 -0
- package/dist/commands/code/blame.d.ts +15 -0
- package/dist/commands/code/blame.d.ts.map +1 -0
- package/dist/commands/code/blame.js +32 -0
- package/dist/commands/code/blame.js.map +1 -0
- package/dist/commands/code/expertise.d.ts +14 -0
- package/dist/commands/code/expertise.d.ts.map +1 -0
- package/dist/commands/code/expertise.js +25 -0
- package/dist/commands/code/expertise.js.map +1 -0
- package/dist/commands/code/history.d.ts +16 -0
- package/dist/commands/code/history.d.ts.map +1 -0
- package/dist/commands/code/history.js +37 -0
- package/dist/commands/code/history.js.map +1 -0
- package/dist/commands/code/link.d.ts +18 -0
- package/dist/commands/code/link.d.ts.map +1 -0
- package/dist/commands/code/link.js +34 -0
- package/dist/commands/code/link.js.map +1 -0
- package/dist/commands/code/memory/delete.d.ts +15 -0
- package/dist/commands/code/memory/delete.d.ts.map +1 -0
- package/dist/commands/code/memory/delete.js +31 -0
- package/dist/commands/code/memory/delete.js.map +1 -0
- package/dist/commands/code/memory/list.d.ts +13 -0
- package/dist/commands/code/memory/list.d.ts.map +1 -0
- package/dist/commands/code/memory/list.js +34 -0
- package/dist/commands/code/memory/list.js.map +1 -0
- package/dist/commands/code/memory/search.d.ts +17 -0
- package/dist/commands/code/memory/search.d.ts.map +1 -0
- package/dist/commands/code/memory/search.js +43 -0
- package/dist/commands/code/memory/search.js.map +1 -0
- package/dist/commands/code/memory/store.d.ts +15 -0
- package/dist/commands/code/memory/store.d.ts.map +1 -0
- package/dist/commands/code/memory/store.js +36 -0
- package/dist/commands/code/memory/store.js.map +1 -0
- package/dist/commands/code/who-knows.d.ts +16 -0
- package/dist/commands/code/who-knows.d.ts.map +1 -0
- package/dist/commands/code/who-knows.js +34 -0
- package/dist/commands/code/who-knows.js.map +1 -0
- package/dist/commands/codebase/delete.d.ts +15 -0
- package/dist/commands/codebase/delete.d.ts.map +1 -0
- package/dist/commands/codebase/delete.js +31 -0
- package/dist/commands/codebase/delete.js.map +1 -0
- package/dist/commands/codebase/index.d.ts +18 -0
- package/dist/commands/codebase/index.d.ts.map +1 -0
- package/dist/commands/codebase/index.js +52 -0
- package/dist/commands/codebase/index.js.map +1 -0
- package/dist/commands/codebase/list.d.ts +11 -0
- package/dist/commands/codebase/list.d.ts.map +1 -0
- package/dist/commands/codebase/list.js +28 -0
- package/dist/commands/codebase/list.js.map +1 -0
- package/dist/commands/codebase/register.d.ts +15 -0
- package/dist/commands/codebase/register.d.ts.map +1 -0
- package/dist/commands/codebase/register.js +31 -0
- package/dist/commands/codebase/register.js.map +1 -0
- package/dist/commands/codebase/search.d.ts +18 -0
- package/dist/commands/codebase/search.d.ts.map +1 -0
- package/dist/commands/codebase/search.js +50 -0
- package/dist/commands/codebase/search.js.map +1 -0
- package/dist/commands/codebase/snapshot.d.ts +16 -0
- package/dist/commands/codebase/snapshot.d.ts.map +1 -0
- package/dist/commands/codebase/snapshot.js +52 -0
- package/dist/commands/codebase/snapshot.js.map +1 -0
- package/dist/commands/codebase/status.d.ts +14 -0
- package/dist/commands/codebase/status.d.ts.map +1 -0
- package/dist/commands/codebase/status.js +34 -0
- package/dist/commands/codebase/status.js.map +1 -0
- package/dist/commands/documents/upload.d.ts +17 -0
- package/dist/commands/documents/upload.d.ts.map +1 -0
- package/dist/commands/documents/upload.js +37 -0
- package/dist/commands/documents/upload.js.map +1 -0
- package/dist/commands/notes/create.d.ts +15 -0
- package/dist/commands/notes/create.d.ts.map +1 -0
- package/dist/commands/notes/create.js +35 -0
- package/dist/commands/notes/create.js.map +1 -0
- package/dist/commands/notes/delete.d.ts +15 -0
- package/dist/commands/notes/delete.d.ts.map +1 -0
- package/dist/commands/notes/delete.js +31 -0
- package/dist/commands/notes/delete.js.map +1 -0
- package/dist/commands/notes/get.d.ts +14 -0
- package/dist/commands/notes/get.d.ts.map +1 -0
- package/dist/commands/notes/get.js +38 -0
- package/dist/commands/notes/get.js.map +1 -0
- package/dist/commands/notes/list.d.ts +14 -0
- package/dist/commands/notes/list.d.ts.map +1 -0
- package/dist/commands/notes/list.js +39 -0
- package/dist/commands/notes/list.js.map +1 -0
- package/dist/commands/notes/search.d.ts +16 -0
- package/dist/commands/notes/search.d.ts.map +1 -0
- package/dist/commands/notes/search.js +37 -0
- package/dist/commands/notes/search.js.map +1 -0
- package/dist/commands/notes/update.d.ts +17 -0
- package/dist/commands/notes/update.d.ts.map +1 -0
- package/dist/commands/notes/update.js +38 -0
- package/dist/commands/notes/update.js.map +1 -0
- package/dist/commands/people/list.d.ts +12 -0
- package/dist/commands/people/list.d.ts.map +1 -0
- package/dist/commands/people/list.js +30 -0
- package/dist/commands/people/list.js.map +1 -0
- package/dist/commands/people/search.d.ts +15 -0
- package/dist/commands/people/search.d.ts.map +1 -0
- package/dist/commands/people/search.js +33 -0
- package/dist/commands/people/search.js.map +1 -0
- package/dist/commands/projects/archive.d.ts +15 -0
- package/dist/commands/projects/archive.d.ts.map +1 -0
- package/dist/commands/projects/archive.js +31 -0
- package/dist/commands/projects/archive.js.map +1 -0
- package/dist/commands/projects/context.d.ts +14 -0
- package/dist/commands/projects/context.d.ts.map +1 -0
- package/dist/commands/projects/context.js +52 -0
- package/dist/commands/projects/context.js.map +1 -0
- package/dist/commands/projects/create.d.ts +15 -0
- package/dist/commands/projects/create.d.ts.map +1 -0
- package/dist/commands/projects/create.js +35 -0
- package/dist/commands/projects/create.js.map +1 -0
- package/dist/commands/projects/list.d.ts +13 -0
- package/dist/commands/projects/list.d.ts.map +1 -0
- package/dist/commands/projects/list.js +37 -0
- package/dist/commands/projects/list.js.map +1 -0
- package/dist/commands/projects/update.d.ts +18 -0
- package/dist/commands/projects/update.d.ts.map +1 -0
- package/dist/commands/projects/update.js +41 -0
- package/dist/commands/projects/update.js.map +1 -0
- package/dist/commands/tasks/complete.d.ts +14 -0
- package/dist/commands/tasks/complete.d.ts.map +1 -0
- package/dist/commands/tasks/complete.js +25 -0
- package/dist/commands/tasks/complete.js.map +1 -0
- package/dist/commands/tasks/create.d.ts +17 -0
- package/dist/commands/tasks/create.d.ts.map +1 -0
- package/dist/commands/tasks/create.js +41 -0
- package/dist/commands/tasks/create.js.map +1 -0
- package/dist/commands/tasks/delete.d.ts +15 -0
- package/dist/commands/tasks/delete.d.ts.map +1 -0
- package/dist/commands/tasks/delete.js +31 -0
- package/dist/commands/tasks/delete.js.map +1 -0
- package/dist/commands/tasks/get.d.ts +14 -0
- package/dist/commands/tasks/get.d.ts.map +1 -0
- package/dist/commands/tasks/get.js +37 -0
- package/dist/commands/tasks/get.js.map +1 -0
- package/dist/commands/tasks/list.d.ts +15 -0
- package/dist/commands/tasks/list.d.ts.map +1 -0
- package/dist/commands/tasks/list.js +45 -0
- package/dist/commands/tasks/list.js.map +1 -0
- package/dist/commands/tasks/update.d.ts +20 -0
- package/dist/commands/tasks/update.d.ts.map +1 -0
- package/dist/commands/tasks/update.js +50 -0
- package/dist/commands/tasks/update.js.map +1 -0
- package/dist/commands/vault/create.d.ts +20 -0
- package/dist/commands/vault/create.d.ts.map +1 -0
- package/dist/commands/vault/create.js +53 -0
- package/dist/commands/vault/create.js.map +1 -0
- package/dist/commands/vault/list.d.ts +14 -0
- package/dist/commands/vault/list.d.ts.map +1 -0
- package/dist/commands/vault/list.js +39 -0
- package/dist/commands/vault/list.js.map +1 -0
- package/dist/commands/vault/read.d.ts +14 -0
- package/dist/commands/vault/read.d.ts.map +1 -0
- package/dist/commands/vault/read.js +33 -0
- package/dist/commands/vault/read.js.map +1 -0
- package/dist/commands/vault/search.d.ts +15 -0
- package/dist/commands/vault/search.d.ts.map +1 -0
- package/dist/commands/vault/search.js +33 -0
- package/dist/commands/vault/search.js.map +1 -0
- package/dist/commands/vault/update.d.ts +19 -0
- package/dist/commands/vault/update.d.ts.map +1 -0
- package/dist/commands/vault/update.js +41 -0
- package/dist/commands/vault/update.js.map +1 -0
- package/dist/hooks/init.d.ts +4 -0
- package/dist/hooks/init.d.ts.map +1 -0
- package/dist/hooks/init.js +8 -0
- package/dist/hooks/init.js.map +1 -0
- package/dist/lib/auth.d.ts +9 -0
- package/dist/lib/auth.d.ts.map +1 -0
- package/dist/lib/auth.js +22 -0
- package/dist/lib/auth.js.map +1 -0
- package/dist/lib/base-command.d.ts +31 -0
- package/dist/lib/base-command.d.ts.map +1 -0
- package/dist/lib/base-command.js +76 -0
- package/dist/lib/base-command.js.map +1 -0
- package/dist/lib/config.d.ts +8 -0
- package/dist/lib/config.d.ts.map +1 -0
- package/dist/lib/config.js +36 -0
- package/dist/lib/config.js.map +1 -0
- package/dist/lib/output.d.ts +12 -0
- package/dist/lib/output.d.ts.map +1 -0
- package/dist/lib/output.js +95 -0
- package/dist/lib/output.js.map +1 -0
- package/oclif.manifest.json +3740 -0
- 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"}
|