@workjournal/cli 0.3.4 → 0.5.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 (40) hide show
  1. package/README.md +56 -19
  2. package/dist/api-client.d.ts +23 -10
  3. package/dist/api-client.d.ts.map +1 -1
  4. package/dist/api-client.js +7 -13
  5. package/dist/api-client.js.map +1 -1
  6. package/dist/commands/entries.d.ts +6 -6
  7. package/dist/commands/entries.d.ts.map +1 -1
  8. package/dist/commands/entries.js +12 -12
  9. package/dist/commands/entries.js.map +1 -1
  10. package/dist/commands/export.d.ts +1 -1
  11. package/dist/commands/export.d.ts.map +1 -1
  12. package/dist/commands/export.js +2 -2
  13. package/dist/commands/export.js.map +1 -1
  14. package/dist/commands/invites.d.ts +3 -3
  15. package/dist/commands/invites.d.ts.map +1 -1
  16. package/dist/commands/invites.js +6 -8
  17. package/dist/commands/invites.js.map +1 -1
  18. package/dist/commands/journals.d.ts +7 -5
  19. package/dist/commands/journals.d.ts.map +1 -1
  20. package/dist/commands/journals.js +48 -20
  21. package/dist/commands/journals.js.map +1 -1
  22. package/dist/commands/shares.d.ts +2 -2
  23. package/dist/commands/shares.d.ts.map +1 -1
  24. package/dist/commands/shares.js +5 -5
  25. package/dist/commands/shares.js.map +1 -1
  26. package/dist/commands/workspaces.d.ts +4 -0
  27. package/dist/commands/workspaces.d.ts.map +1 -0
  28. package/dist/commands/workspaces.js +50 -0
  29. package/dist/commands/workspaces.js.map +1 -0
  30. package/dist/config.d.ts +10 -1
  31. package/dist/config.d.ts.map +1 -1
  32. package/dist/config.js +9 -1
  33. package/dist/config.js.map +1 -1
  34. package/dist/index.js +368 -163
  35. package/dist/index.js.map +1 -1
  36. package/dist/project-config.d.ts +34 -4
  37. package/dist/project-config.d.ts.map +1 -1
  38. package/dist/project-config.js +39 -8
  39. package/dist/project-config.js.map +1 -1
  40. package/package.json +3 -3
package/README.md CHANGED
@@ -1,6 +1,29 @@
1
1
  # @workjournal/cli
2
2
 
3
- Command-line tool for [Workjournal](https://workjournal.pro) — manage journals, entries, and collaborators from your terminal.
3
+ Command-line tool for [Workjournal](https://workjournal.pro) — manage workspaces, journals, entries, and collaborators from your terminal.
4
+
5
+ ## Breaking changes in 0.5.0
6
+
7
+ - **Removed** `workjournal workspaces new` (and its `--slug` flag). Workspace creation is no longer exposed on the CLI — the API still supports it for the future paid-tier signup path, but day-to-day users have one workspace and don't need to create more.
8
+ - **Added** `workjournal journals rename <ws> <j> <newName>` — renames a journal via `PATCH /v1/workspaces/:ws/journals/:j` with `{ name }`.
9
+ - **Added** `workjournal journals set-slug <ws> <j> <newSlug>` — changes a journal's slug via the same PATCH with `{ slug }`. Prints a one-line stderr warning before the call: changing a slug breaks any existing links.
10
+
11
+ If you scripted around `workspaces new`, switch to creating workspaces through the web app or the API directly.
12
+
13
+ ## Breaking changes in 0.4.0
14
+
15
+ This release switches the CLI to **slug-based addressing** end to end. Every command that used to take a journal UUID now takes a `<workspaceSlug>` and `<journalSlug>` pair instead.
16
+
17
+ - `workjournal journals get <id>` → `workjournal journals get <ws> <j>`
18
+ - `workjournal journals delete <id>` → `workjournal journals delete <ws> <j>`
19
+ - `workjournal journals select <id>` → `workjournal journals select <ws> <j>`
20
+ - `workjournal journal entries write …` → `workjournal entries write <ws> <j> -s … -b …`
21
+ - `workjournal journal export …` → `workjournal export <ws> <j> [-f …] [-p …]`
22
+ - New top-level `workjournal workspaces` group (`list`, `get`, `new`, `select`).
23
+ - Project config (`.workjournal`) now stores `{ workspaceSlug, journalSlug }`. Existing files with the old `{ journal_id }` shape are migrated automatically on the next command that needs the selection — re-select manually if you're offline.
24
+ - The default table for `journals list` drops the UUID column. Use `--json` if you need the full object including `id`.
25
+
26
+ If you're scripting against the CLI, search-and-replace the old verb forms before upgrading. The old UUID-based API endpoints have already been removed — older CLI versions will start returning 404s.
4
27
 
5
28
  ## Install
6
29
 
@@ -20,27 +43,34 @@ workjournal <command>
20
43
  ## First-time setup
21
44
 
22
45
  ```bash
23
- workjournal auth login # authenticate
24
- workjournal journals list # find your journal ID
25
- workjournal journals select <id> # set it as the active journal
46
+ workjournal auth login # authenticate
47
+ workjournal workspaces list # find your workspace slug
48
+ workjournal journals list <workspaceSlug> # find your journal slug
49
+ workjournal journals select <workspaceSlug> <journalSlug>
50
+ # set the active selection
26
51
  ```
27
52
 
28
- Once a journal is selected, `workjournal journal ...` acts on it without repeating the ID.
53
+ Once a journal is selected, `workjournal` (no args) lists entries and `workjournal journal` shows journal details neither needs the slugs repeated. Other resource verbs (`entries`, `shares`, `invites`, `export`) still take explicit positional slugs to keep scripts self-documenting.
29
54
 
30
55
  ## Commands
31
56
 
32
57
  | Command | Description |
33
58
  |---------|-------------|
34
- | `workjournal journal entries` | List entries |
35
- | `workjournal journal entries write -s <summary> -b <body>` | Create an entry |
36
- | `workjournal journal entries last [count]` | Show the most recent entries |
37
- | `workjournal journal entries search <query>` | Search entries |
38
- | `workjournal journal invites new <email>` | Invite a collaborator |
39
- | `workjournal journal shares` | List members |
40
- | `workjournal journal export [-f json\|md\|csv] [-p <path>]` | Export journal data |
41
- | `workjournal journals list` | List journals you have access to |
42
- | `workjournal journals new <name>` | Create a new journal |
43
- | `workjournal journals select <id>` | Set the active journal |
59
+ | `workjournal workspaces list` | List your workspaces |
60
+ | `workjournal workspaces select <ws>` | Set active workspace |
61
+ | `workjournal journals list [<ws>]` | List journals (defaults to selected workspace) |
62
+ | `workjournal journals new <ws> <name> [--slug <slug>]` | Create a journal |
63
+ | `workjournal journals rename <ws> <j> <newName>` | Rename a journal |
64
+ | `workjournal journals set-slug <ws> <j> <newSlug>` | Change a journal's slug (breaks existing links) |
65
+ | `workjournal journals select <ws> <j>` | Set active journal |
66
+ | `workjournal entries list <ws> <j>` | List entries |
67
+ | `workjournal entries write <ws> <j> -s <summary> -b <body>` | Create an entry |
68
+ | `workjournal entries last <ws> <j> [count]` | Show the most recent entries |
69
+ | `workjournal entries get <ws> <j> <index>` | Show one entry |
70
+ | `workjournal entries search <ws> <j> <query>` | Search entries |
71
+ | `workjournal invites new <ws> <j> <email>` | Invite a collaborator |
72
+ | `workjournal shares list <ws> <j>` | List members |
73
+ | `workjournal export <ws> <j> [-f json\|md\|csv] [-p <path>]` | Export journal data |
44
74
  | `workjournal auth login` | Interactive login (works over SSH too) |
45
75
  | `workjournal auth logout` | Remove stored credentials |
46
76
  | `workjournal auth whoami` | Show current auth status |
@@ -51,22 +81,29 @@ For the complete command reference, see **[workjournal.pro/docs/commands](https:
51
81
 
52
82
  ## Typical workflows
53
83
 
54
- Add a new entry to the selected journal:
84
+ Add a new entry:
55
85
 
56
86
  ```bash
57
- workjournal journal entries write -s "Shipped v2 API" -b "Migrated /v1 callers and flipped the flag."
87
+ workjournal entries write acme engineering -s "Shipped v2 API" -b "Migrated /v1 callers and flipped the flag."
58
88
  ```
59
89
 
60
90
  Invite a collaborator:
61
91
 
62
92
  ```bash
63
- workjournal journal invites new alice@example.com
93
+ workjournal invites new acme engineering alice@example.com
64
94
  ```
65
95
 
66
96
  Export a journal to Markdown:
67
97
 
68
98
  ```bash
69
- workjournal journal export -f md -p ./journal.md
99
+ workjournal export acme engineering -f md -p ./journal.md
100
+ ```
101
+
102
+ Once selected, list entries with no args:
103
+
104
+ ```bash
105
+ workjournal journals select acme engineering
106
+ workjournal # lists entries in acme/engineering
70
107
  ```
71
108
 
72
109
  ## Credentials
@@ -1,14 +1,27 @@
1
+ /**
2
+ * Slug-based API path helpers. Re-exported from `@workjournal/shared` so call
3
+ * sites can keep importing from `../api-client.js` while the canonical
4
+ * definitions live in `WS_API_PATHS`.
5
+ */
1
6
  export declare const API_PATHS: {
2
- readonly journals: "/v1/journals";
3
- readonly journal: (id: string) => string;
4
- readonly entries: (journalId: string) => string;
5
- readonly entry: (journalId: string, index: number | string) => string;
6
- readonly searchEntries: (journalId: string) => string;
7
- readonly exportJournal: (journalId: string) => string;
8
- readonly members: (journalId: string) => string;
9
- readonly member: (journalId: string, userId: string) => string;
10
- readonly invitations: (journalId: string) => string;
11
- readonly invitation: (journalId: string, invitationId: string) => string;
7
+ readonly health: "/v1/health";
8
+ readonly workspaces: "/v1/workspaces";
9
+ readonly workspace: (workspaceSlug: string) => string;
10
+ readonly checkWorkspaceSlug: "/v1/workspaces/check-slug";
11
+ readonly journals: (workspaceSlug: string) => string;
12
+ readonly journal: (workspaceSlug: string, journalSlug: string) => string;
13
+ readonly checkJournalSlug: (workspaceSlug: string) => string;
14
+ readonly entries: (workspaceSlug: string, journalSlug: string) => string;
15
+ readonly entry: (workspaceSlug: string, journalSlug: string, index: number | string) => string;
16
+ readonly searchEntries: (workspaceSlug: string, journalSlug: string) => string;
17
+ readonly members: (workspaceSlug: string, journalSlug: string) => string;
18
+ readonly member: (workspaceSlug: string, journalSlug: string, userId: string) => string;
19
+ readonly invitations: (workspaceSlug: string, journalSlug: string) => string;
20
+ readonly invitation: (workspaceSlug: string, journalSlug: string, invitationId: string) => string;
21
+ readonly acceptInvitation: "/v1/invitations/accept";
22
+ readonly exportJournal: (workspaceSlug: string, journalSlug: string) => string;
23
+ readonly publicJournal: (slug: string) => string;
24
+ readonly publicEntries: (slug: string) => string;
12
25
  };
13
26
  export interface ApiError {
14
27
  error: {
@@ -1 +1 @@
1
- {"version":3,"file":"api-client.d.ts","sourceRoot":"","sources":["../src/api-client.ts"],"names":[],"mappings":"AAMA,eAAO,MAAM,SAAS;;2BAEP,MAAM;kCACC,MAAM;gCACR,MAAM,SAAS,MAAM,GAAG,MAAM;wCAEtB,MAAM;wCACN,MAAM;kCACZ,MAAM;iCACP,MAAM,UAAU,MAAM;sCAEjB,MAAM;qCACP,MAAM,gBAAgB,MAAM;CAE3C,CAAC;AAEX,MAAM,WAAW,QAAQ;IACxB,KAAK,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAE,CAAC;CACzC;AAED;;GAEG;AACH,wBAAsB,WAAW,IAAI,OAAO,CAAC,MAAM,CAAC,CAOnD;AA8CD,wBAAsB,MAAM,CAAC,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,CAAC,CAAC,CAMvE;AAED,wBAAsB,SAAS,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAO5E;AAED,wBAAsB,OAAO,CAAC,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,GAAG,OAAO,CAAC,CAAC,CAAC,CAUvF;AAED,wBAAsB,QAAQ,CAAC,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,GAAG,OAAO,CAAC,CAAC,CAAC,CAUxF;AAED,wBAAsB,SAAS,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAM1E"}
1
+ {"version":3,"file":"api-client.d.ts","sourceRoot":"","sources":["../src/api-client.ts"],"names":[],"mappings":"AAMA;;;;GAIG;AACH,eAAO,MAAM,SAAS;;;;;;;;;;;;;;;;;;;CAAe,CAAC;AAEtC,MAAM,WAAW,QAAQ;IACxB,KAAK,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAE,CAAC;CACzC;AAED;;GAEG;AACH,wBAAsB,WAAW,IAAI,OAAO,CAAC,MAAM,CAAC,CAOnD;AA8CD,wBAAsB,MAAM,CAAC,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,CAAC,CAAC,CAMvE;AAED,wBAAsB,SAAS,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAO5E;AAED,wBAAsB,OAAO,CAAC,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,GAAG,OAAO,CAAC,CAAC,CAAC,CAUvF;AAED,wBAAsB,QAAQ,CAAC,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,GAAG,OAAO,CAAC,CAAC,CAAC,CAUxF;AAED,wBAAsB,SAAS,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAM1E"}
@@ -1,19 +1,13 @@
1
+ import { WS_API_PATHS } from '@workjournal/shared';
1
2
  import { getAccessToken } from './credentials.js';
2
3
  const API_BASE_URL = process.env['WORKJOURNAL_API_URL'] ?? 'https://api.workjournal.pro';
3
- const API_VERSION = 'v1';
4
4
  const API_TIMEOUT_MS = 10_000;
5
- export const API_PATHS = {
6
- journals: `/${API_VERSION}/journals`,
7
- journal: (id) => `/${API_VERSION}/journals/${id}`,
8
- entries: (journalId) => `/${API_VERSION}/journals/${journalId}/entries`,
9
- entry: (journalId, index) => `/${API_VERSION}/journals/${encodeURIComponent(journalId)}/entries/${encodeURIComponent(String(index))}`,
10
- searchEntries: (journalId) => `/${API_VERSION}/journals/${journalId}/entries/search`,
11
- exportJournal: (journalId) => `/${API_VERSION}/journals/${journalId}/export`,
12
- members: (journalId) => `/${API_VERSION}/journals/${journalId}/members`,
13
- member: (journalId, userId) => `/${API_VERSION}/journals/${journalId}/members/${userId}`,
14
- invitations: (journalId) => `/${API_VERSION}/journals/${journalId}/invitations`,
15
- invitation: (journalId, invitationId) => `/${API_VERSION}/journals/${journalId}/invitations/${invitationId}`,
16
- };
5
+ /**
6
+ * Slug-based API path helpers. Re-exported from `@workjournal/shared` so call
7
+ * sites can keep importing from `../api-client.js` while the canonical
8
+ * definitions live in `WS_API_PATHS`.
9
+ */
10
+ export const API_PATHS = WS_API_PATHS;
17
11
  /**
18
12
  * Ensure the user is authenticated. Exits with code 1 if not.
19
13
  */
@@ -1 +1 @@
1
- {"version":3,"file":"api-client.js","sourceRoot":"","sources":["../src/api-client.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"api-client.js","sourceRoot":"","sources":["../src/api-client.ts"],"names":[],"mappings":"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"}
@@ -1,7 +1,7 @@
1
- export declare function listEntries(journalId: string, jsonOutput: boolean): Promise<void>;
2
- export declare function createEntry(journalId: string, summary: string, body: string, jsonOutput: boolean): Promise<void>;
3
- export declare function searchEntries(journalId: string, query: string, jsonOutput: boolean): Promise<void>;
4
- export declare function lastEntries(journalId: string, count: number, jsonOutput: boolean): Promise<void>;
5
- export declare function getEntry(journalId: string, indexRaw: string, jsonOutput: boolean): Promise<void>;
6
- export declare function deleteEntry(journalId: string, indexRaw: string, jsonOutput: boolean): Promise<void>;
1
+ export declare function listEntries(workspaceSlug: string, journalSlug: string, jsonOutput: boolean): Promise<void>;
2
+ export declare function createEntry(workspaceSlug: string, journalSlug: string, summary: string, body: string, jsonOutput: boolean): Promise<void>;
3
+ export declare function searchEntries(workspaceSlug: string, journalSlug: string, query: string, jsonOutput: boolean): Promise<void>;
4
+ export declare function lastEntries(workspaceSlug: string, journalSlug: string, count: number, jsonOutput: boolean): Promise<void>;
5
+ export declare function getEntry(workspaceSlug: string, journalSlug: string, indexRaw: string, jsonOutput: boolean): Promise<void>;
6
+ export declare function deleteEntry(workspaceSlug: string, journalSlug: string, indexRaw: string, jsonOutput: boolean): Promise<void>;
7
7
  //# sourceMappingURL=entries.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"entries.d.ts","sourceRoot":"","sources":["../../src/commands/entries.ts"],"names":[],"mappings":"AAoCA,wBAAsB,WAAW,CAAC,SAAS,EAAE,MAAM,EAAE,UAAU,EAAE,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC,CAiBvF;AAED,wBAAsB,WAAW,CAChC,SAAS,EAAE,MAAM,EACjB,OAAO,EAAE,MAAM,EACf,IAAI,EAAE,MAAM,EACZ,UAAU,EAAE,OAAO,GACjB,OAAO,CAAC,IAAI,CAAC,CAaf;AAED,wBAAsB,aAAa,CAClC,SAAS,EAAE,MAAM,EACjB,KAAK,EAAE,MAAM,EACb,UAAU,EAAE,OAAO,GACjB,OAAO,CAAC,IAAI,CAAC,CAqBf;AAED,wBAAsB,WAAW,CAChC,SAAS,EAAE,MAAM,EACjB,KAAK,EAAE,MAAM,EACb,UAAU,EAAE,OAAO,GACjB,OAAO,CAAC,IAAI,CAAC,CAuBf;AAED,wBAAsB,QAAQ,CAC7B,SAAS,EAAE,MAAM,EACjB,QAAQ,EAAE,MAAM,EAChB,UAAU,EAAE,OAAO,GACjB,OAAO,CAAC,IAAI,CAAC,CAkBf;AAED,wBAAsB,WAAW,CAChC,SAAS,EAAE,MAAM,EACjB,QAAQ,EAAE,MAAM,EAChB,UAAU,EAAE,OAAO,GACjB,OAAO,CAAC,IAAI,CAAC,CAgBf"}
1
+ {"version":3,"file":"entries.d.ts","sourceRoot":"","sources":["../../src/commands/entries.ts"],"names":[],"mappings":"AAWA,wBAAsB,WAAW,CAChC,aAAa,EAAE,MAAM,EACrB,WAAW,EAAE,MAAM,EACnB,UAAU,EAAE,OAAO,GACjB,OAAO,CAAC,IAAI,CAAC,CAoBf;AAED,wBAAsB,WAAW,CAChC,aAAa,EAAE,MAAM,EACrB,WAAW,EAAE,MAAM,EACnB,OAAO,EAAE,MAAM,EACf,IAAI,EAAE,MAAM,EACZ,UAAU,EAAE,OAAO,GACjB,OAAO,CAAC,IAAI,CAAC,CAaf;AAED,wBAAsB,aAAa,CAClC,aAAa,EAAE,MAAM,EACrB,WAAW,EAAE,MAAM,EACnB,KAAK,EAAE,MAAM,EACb,UAAU,EAAE,OAAO,GACjB,OAAO,CAAC,IAAI,CAAC,CAqBf;AAED,wBAAsB,WAAW,CAChC,aAAa,EAAE,MAAM,EACrB,WAAW,EAAE,MAAM,EACnB,KAAK,EAAE,MAAM,EACb,UAAU,EAAE,OAAO,GACjB,OAAO,CAAC,IAAI,CAAC,CAuBf;AAED,wBAAsB,QAAQ,CAC7B,aAAa,EAAE,MAAM,EACrB,WAAW,EAAE,MAAM,EACnB,QAAQ,EAAE,MAAM,EAChB,UAAU,EAAE,OAAO,GACjB,OAAO,CAAC,IAAI,CAAC,CAkBf;AAED,wBAAsB,WAAW,CAChC,aAAa,EAAE,MAAM,EACrB,WAAW,EAAE,MAAM,EACnB,QAAQ,EAAE,MAAM,EAChB,UAAU,EAAE,OAAO,GACjB,OAAO,CAAC,IAAI,CAAC,CAgBf"}
@@ -8,9 +8,9 @@ function parseIndex(raw) {
8
8
  return null;
9
9
  return n;
10
10
  }
11
- export async function listEntries(journalId, jsonOutput) {
11
+ export async function listEntries(workspaceSlug, journalSlug, jsonOutput) {
12
12
  const token = await requireAuth();
13
- const result = await apiGet(API_PATHS.entries(journalId), token);
13
+ const result = await apiGet(API_PATHS.entries(workspaceSlug, journalSlug), token);
14
14
  if (jsonOutput) {
15
15
  process.stdout.write(`${JSON.stringify(result, null, 2)}\n`);
16
16
  return;
@@ -23,9 +23,9 @@ export async function listEntries(journalId, jsonOutput) {
23
23
  const rows = result.data.map((e) => [String(e.index), truncate(e.summary, 70), e.created_at]);
24
24
  process.stdout.write(formatTable(headers, rows));
25
25
  }
26
- export async function createEntry(journalId, summary, body, jsonOutput) {
26
+ export async function createEntry(workspaceSlug, journalSlug, summary, body, jsonOutput) {
27
27
  const token = await requireAuth();
28
- const entry = await apiPost(API_PATHS.entries(journalId), token, {
28
+ const entry = await apiPost(API_PATHS.entries(workspaceSlug, journalSlug), token, {
29
29
  summary,
30
30
  what_changed: body,
31
31
  });
@@ -35,10 +35,10 @@ export async function createEntry(journalId, summary, body, jsonOutput) {
35
35
  }
36
36
  process.stdout.write(`Entry created:\n #${entry.index}: ${entry.summary}\n`);
37
37
  }
38
- export async function searchEntries(journalId, query, jsonOutput) {
38
+ export async function searchEntries(workspaceSlug, journalSlug, query, jsonOutput) {
39
39
  const token = await requireAuth();
40
40
  const params = new URLSearchParams({ q: query });
41
- const result = await apiGet(`${API_PATHS.searchEntries(journalId)}?${params.toString()}`, token);
41
+ const result = await apiGet(`${API_PATHS.searchEntries(workspaceSlug, journalSlug)}?${params.toString()}`, token);
42
42
  if (jsonOutput) {
43
43
  process.stdout.write(`${JSON.stringify(result, null, 2)}\n`);
44
44
  return;
@@ -51,9 +51,9 @@ export async function searchEntries(journalId, query, jsonOutput) {
51
51
  const rows = result.data.map((e) => [String(e.index), truncate(e.summary, 70), e.created_at]);
52
52
  process.stdout.write(formatTable(headers, rows));
53
53
  }
54
- export async function lastEntries(journalId, count, jsonOutput) {
54
+ export async function lastEntries(workspaceSlug, journalSlug, count, jsonOutput) {
55
55
  const token = await requireAuth();
56
- const result = await apiGet(`${API_PATHS.entries(journalId)}?limit=${count}&include=body`, token);
56
+ const result = await apiGet(`${API_PATHS.entries(workspaceSlug, journalSlug)}?limit=${count}&include=body`, token);
57
57
  if (jsonOutput) {
58
58
  process.stdout.write(`${JSON.stringify(result, null, 2)}\n`);
59
59
  return;
@@ -69,14 +69,14 @@ export async function lastEntries(journalId, count, jsonOutput) {
69
69
  process.stdout.write('\n---\n');
70
70
  }
71
71
  }
72
- export async function getEntry(journalId, indexRaw, jsonOutput) {
72
+ export async function getEntry(workspaceSlug, journalSlug, indexRaw, jsonOutput) {
73
73
  const index = parseIndex(indexRaw);
74
74
  if (index === null) {
75
75
  process.stderr.write('Entry index must be a positive integer.\n');
76
76
  process.exit(1);
77
77
  }
78
78
  const token = await requireAuth();
79
- const entry = await apiGet(API_PATHS.entry(journalId, index), token);
79
+ const entry = await apiGet(API_PATHS.entry(workspaceSlug, journalSlug, index), token);
80
80
  if (jsonOutput) {
81
81
  process.stdout.write(`${JSON.stringify(entry, null, 2)}\n`);
82
82
  return;
@@ -85,14 +85,14 @@ export async function getEntry(journalId, indexRaw, jsonOutput) {
85
85
  process.stdout.write(`${entry.created_at}\n\n`);
86
86
  process.stdout.write(`${entry.what_changed}\n`);
87
87
  }
88
- export async function deleteEntry(journalId, indexRaw, jsonOutput) {
88
+ export async function deleteEntry(workspaceSlug, journalSlug, indexRaw, jsonOutput) {
89
89
  const index = parseIndex(indexRaw);
90
90
  if (index === null) {
91
91
  process.stderr.write('Entry index must be a positive integer.\n');
92
92
  process.exit(1);
93
93
  }
94
94
  const token = await requireAuth();
95
- await apiDelete(API_PATHS.entry(journalId, index), token);
95
+ await apiDelete(API_PATHS.entry(workspaceSlug, journalSlug, index), token);
96
96
  if (jsonOutput) {
97
97
  process.stdout.write(`${JSON.stringify({ deleted: index }, null, 2)}\n`);
98
98
  return;
@@ -1 +1 @@
1
- {"version":3,"file":"entries.js","sourceRoot":"","sources":["../../src/commands/entries.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"entries.js","sourceRoot":"","sources":["../../src/commands/entries.ts"],"names":[],"mappings":"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"}
@@ -1,2 +1,2 @@
1
- export declare function exportJournal(journalId: string, format: string, outputPath?: string): Promise<void>;
1
+ export declare function exportJournal(workspaceSlug: string, journalSlug: string, format: string, outputPath?: string): Promise<void>;
2
2
  //# sourceMappingURL=export.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"export.d.ts","sourceRoot":"","sources":["../../src/commands/export.ts"],"names":[],"mappings":"AAGA,wBAAsB,aAAa,CAClC,SAAS,EAAE,MAAM,EACjB,MAAM,EAAE,MAAM,EACd,UAAU,CAAC,EAAE,MAAM,GACjB,OAAO,CAAC,IAAI,CAAC,CAiBf"}
1
+ {"version":3,"file":"export.d.ts","sourceRoot":"","sources":["../../src/commands/export.ts"],"names":[],"mappings":"AAGA,wBAAsB,aAAa,CAClC,aAAa,EAAE,MAAM,EACrB,WAAW,EAAE,MAAM,EACnB,MAAM,EAAE,MAAM,EACd,UAAU,CAAC,EAAE,MAAM,GACjB,OAAO,CAAC,IAAI,CAAC,CAiBf"}
@@ -1,8 +1,8 @@
1
1
  import { writeFileSync } from 'node:fs';
2
2
  import { API_PATHS, apiGetRaw, requireAuth } from '../api-client.js';
3
- export async function exportJournal(journalId, format, outputPath) {
3
+ export async function exportJournal(workspaceSlug, journalSlug, format, outputPath) {
4
4
  const token = await requireAuth();
5
- const path = `${API_PATHS.exportJournal(journalId)}?format=${format}`;
5
+ const path = `${API_PATHS.exportJournal(workspaceSlug, journalSlug)}?format=${encodeURIComponent(format)}`;
6
6
  const text = await apiGetRaw(path, token);
7
7
  if (outputPath) {
8
8
  try {
@@ -1 +1 @@
1
- {"version":3,"file":"export.js","sourceRoot":"","sources":["../../src/commands/export.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AACxC,OAAO,EAAE,SAAS,EAAE,SAAS,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAErE,MAAM,CAAC,KAAK,UAAU,aAAa,CAClC,SAAiB,EACjB,MAAc,EACd,UAAmB;IAEnB,MAAM,KAAK,GAAG,MAAM,WAAW,EAAE,CAAC;IAClC,MAAM,IAAI,GAAG,GAAG,SAAS,CAAC,aAAa,CAAC,SAAS,CAAC,WAAW,MAAM,EAAE,CAAC;IACtE,MAAM,IAAI,GAAG,MAAM,SAAS,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;IAE1C,IAAI,UAAU,EAAE,CAAC;QAChB,IAAI,CAAC;YACJ,aAAa,CAAC,UAAU,EAAE,IAAI,EAAE,OAAO,CAAC,CAAC;QAC1C,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YAChB,MAAM,OAAO,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;YACvE,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,uBAAuB,UAAU,MAAM,OAAO,IAAI,CAAC,CAAC;YACzE,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QACjB,CAAC;QACD,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,eAAe,UAAU,IAAI,CAAC,CAAC;IACrD,CAAC;SAAM,CAAC;QACP,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IAC5B,CAAC;AACF,CAAC"}
1
+ {"version":3,"file":"export.js","sourceRoot":"","sources":["../../src/commands/export.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AACxC,OAAO,EAAE,SAAS,EAAE,SAAS,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAErE,MAAM,CAAC,KAAK,UAAU,aAAa,CAClC,aAAqB,EACrB,WAAmB,EACnB,MAAc,EACd,UAAmB;IAEnB,MAAM,KAAK,GAAG,MAAM,WAAW,EAAE,CAAC;IAClC,MAAM,IAAI,GAAG,GAAG,SAAS,CAAC,aAAa,CAAC,aAAa,EAAE,WAAW,CAAC,WAAW,kBAAkB,CAAC,MAAM,CAAC,EAAE,CAAC;IAC3G,MAAM,IAAI,GAAG,MAAM,SAAS,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;IAE1C,IAAI,UAAU,EAAE,CAAC;QAChB,IAAI,CAAC;YACJ,aAAa,CAAC,UAAU,EAAE,IAAI,EAAE,OAAO,CAAC,CAAC;QAC1C,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YAChB,MAAM,OAAO,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;YACvE,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,uBAAuB,UAAU,MAAM,OAAO,IAAI,CAAC,CAAC;YACzE,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QACjB,CAAC;QACD,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,eAAe,UAAU,IAAI,CAAC,CAAC;IACrD,CAAC;SAAM,CAAC;QACP,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IAC5B,CAAC;AACF,CAAC"}
@@ -1,4 +1,4 @@
1
- export declare function listInvites(journalId: string, jsonOutput: boolean): Promise<void>;
2
- export declare function newInvite(journalId: string, email: string, jsonOutput: boolean): Promise<void>;
3
- export declare function deleteInvite(journalId: string, invitationId: string, jsonOutput: boolean): Promise<void>;
1
+ export declare function listInvites(workspaceSlug: string, journalSlug: string, jsonOutput: boolean): Promise<void>;
2
+ export declare function newInvite(workspaceSlug: string, journalSlug: string, email: string, jsonOutput: boolean): Promise<void>;
3
+ export declare function deleteInvite(workspaceSlug: string, journalSlug: string, invitationId: string, jsonOutput: boolean): Promise<void>;
4
4
  //# sourceMappingURL=invites.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"invites.d.ts","sourceRoot":"","sources":["../../src/commands/invites.ts"],"names":[],"mappings":"AAmBA,wBAAsB,WAAW,CAAC,SAAS,EAAE,MAAM,EAAE,UAAU,EAAE,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC,CAiBvF;AAED,wBAAsB,SAAS,CAC9B,SAAS,EAAE,MAAM,EACjB,KAAK,EAAE,MAAM,EACb,UAAU,EAAE,OAAO,GACjB,OAAO,CAAC,IAAI,CAAC,CAYf;AAED,wBAAsB,YAAY,CACjC,SAAS,EAAE,MAAM,EACjB,YAAY,EAAE,MAAM,EACpB,UAAU,EAAE,OAAO,GACjB,OAAO,CAAC,IAAI,CAAC,CAUf"}
1
+ {"version":3,"file":"invites.d.ts","sourceRoot":"","sources":["../../src/commands/invites.ts"],"names":[],"mappings":"AAUA,wBAAsB,WAAW,CAChC,aAAa,EAAE,MAAM,EACrB,WAAW,EAAE,MAAM,EACnB,UAAU,EAAE,OAAO,GACjB,OAAO,CAAC,IAAI,CAAC,CAoBf;AAED,wBAAsB,SAAS,CAC9B,aAAa,EAAE,MAAM,EACrB,WAAW,EAAE,MAAM,EACnB,KAAK,EAAE,MAAM,EACb,UAAU,EAAE,OAAO,GACjB,OAAO,CAAC,IAAI,CAAC,CAcf;AAED,wBAAsB,YAAY,CACjC,aAAa,EAAE,MAAM,EACrB,WAAW,EAAE,MAAM,EACnB,YAAY,EAAE,MAAM,EACpB,UAAU,EAAE,OAAO,GACjB,OAAO,CAAC,IAAI,CAAC,CAUf"}
@@ -7,9 +7,9 @@ function invitationStatus(inv) {
7
7
  return 'revoked';
8
8
  return 'pending';
9
9
  }
10
- export async function listInvites(journalId, jsonOutput) {
10
+ export async function listInvites(workspaceSlug, journalSlug, jsonOutput) {
11
11
  const token = await requireAuth();
12
- const invitations = await apiGet(API_PATHS.invitations(journalId), token);
12
+ const invitations = await apiGet(API_PATHS.invitations(workspaceSlug, journalSlug), token);
13
13
  if (jsonOutput) {
14
14
  process.stdout.write(`${JSON.stringify(invitations, null, 2)}\n`);
15
15
  return;
@@ -22,20 +22,18 @@ export async function listInvites(journalId, jsonOutput) {
22
22
  const rows = invitations.map((inv) => [inv.id, inv.email, invitationStatus(inv), inv.created_at]);
23
23
  process.stdout.write(formatTable(headers, rows));
24
24
  }
25
- export async function newInvite(journalId, email, jsonOutput) {
25
+ export async function newInvite(workspaceSlug, journalSlug, email, jsonOutput) {
26
26
  const token = await requireAuth();
27
- const invitation = await apiPost(API_PATHS.invitations(journalId), token, {
28
- email,
29
- });
27
+ const invitation = await apiPost(API_PATHS.invitations(workspaceSlug, journalSlug), token, { email });
30
28
  if (jsonOutput) {
31
29
  process.stdout.write(`${JSON.stringify(invitation, null, 2)}\n`);
32
30
  return;
33
31
  }
34
32
  process.stdout.write(`Invitation sent to ${email}.\n`);
35
33
  }
36
- export async function deleteInvite(journalId, invitationId, jsonOutput) {
34
+ export async function deleteInvite(workspaceSlug, journalSlug, invitationId, jsonOutput) {
37
35
  const token = await requireAuth();
38
- await apiDelete(API_PATHS.invitation(journalId, invitationId), token);
36
+ await apiDelete(API_PATHS.invitation(workspaceSlug, journalSlug, invitationId), token);
39
37
  if (jsonOutput) {
40
38
  process.stdout.write(`${JSON.stringify({ deleted: invitationId }, null, 2)}\n`);
41
39
  return;
@@ -1 +1 @@
1
- {"version":3,"file":"invites.js","sourceRoot":"","sources":["../../src/commands/invites.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,EAAE,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AACtF,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAY/C,SAAS,gBAAgB,CAAC,GAAe;IACxC,IAAI,GAAG,CAAC,WAAW;QAAE,OAAO,UAAU,CAAC;IACvC,IAAI,GAAG,CAAC,UAAU;QAAE,OAAO,SAAS,CAAC;IACrC,OAAO,SAAS,CAAC;AAClB,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,WAAW,CAAC,SAAiB,EAAE,UAAmB;IACvE,MAAM,KAAK,GAAG,MAAM,WAAW,EAAE,CAAC;IAClC,MAAM,WAAW,GAAG,MAAM,MAAM,CAAe,SAAS,CAAC,WAAW,CAAC,SAAS,CAAC,EAAE,KAAK,CAAC,CAAC;IAExF,IAAI,UAAU,EAAE,CAAC;QAChB,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC,WAAW,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC;QAClE,OAAO;IACR,CAAC;IAED,IAAI,WAAW,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC9B,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,yBAAyB,CAAC,CAAC;QAChD,OAAO;IACR,CAAC;IAED,MAAM,OAAO,GAAG,CAAC,IAAI,EAAE,OAAO,EAAE,QAAQ,EAAE,SAAS,CAAC,CAAC;IACrD,MAAM,IAAI,GAAG,WAAW,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,EAAE,EAAE,GAAG,CAAC,KAAK,EAAE,gBAAgB,CAAC,GAAG,CAAC,EAAE,GAAG,CAAC,UAAU,CAAC,CAAC,CAAC;IAClG,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,WAAW,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC,CAAC;AAClD,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,SAAS,CAC9B,SAAiB,EACjB,KAAa,EACb,UAAmB;IAEnB,MAAM,KAAK,GAAG,MAAM,WAAW,EAAE,CAAC;IAClC,MAAM,UAAU,GAAG,MAAM,OAAO,CAAa,SAAS,CAAC,WAAW,CAAC,SAAS,CAAC,EAAE,KAAK,EAAE;QACrF,KAAK;KACL,CAAC,CAAC;IAEH,IAAI,UAAU,EAAE,CAAC;QAChB,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC,UAAU,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC;QACjE,OAAO;IACR,CAAC;IAED,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,sBAAsB,KAAK,KAAK,CAAC,CAAC;AACxD,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,YAAY,CACjC,SAAiB,EACjB,YAAoB,EACpB,UAAmB;IAEnB,MAAM,KAAK,GAAG,MAAM,WAAW,EAAE,CAAC;IAClC,MAAM,SAAS,CAAC,SAAS,CAAC,UAAU,CAAC,SAAS,EAAE,YAAY,CAAC,EAAE,KAAK,CAAC,CAAC;IAEtE,IAAI,UAAU,EAAE,CAAC;QAChB,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC,EAAE,OAAO,EAAE,YAAY,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC;QAChF,OAAO;IACR,CAAC;IAED,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,cAAc,YAAY,aAAa,CAAC,CAAC;AAC/D,CAAC"}
1
+ {"version":3,"file":"invites.js","sourceRoot":"","sources":["../../src/commands/invites.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,EAAE,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AACtF,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAE/C,SAAS,gBAAgB,CAAC,GAAe;IACxC,IAAI,GAAG,CAAC,WAAW;QAAE,OAAO,UAAU,CAAC;IACvC,IAAI,GAAG,CAAC,UAAU;QAAE,OAAO,SAAS,CAAC;IACrC,OAAO,SAAS,CAAC;AAClB,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,WAAW,CAChC,aAAqB,EACrB,WAAmB,EACnB,UAAmB;IAEnB,MAAM,KAAK,GAAG,MAAM,WAAW,EAAE,CAAC;IAClC,MAAM,WAAW,GAAG,MAAM,MAAM,CAC/B,SAAS,CAAC,WAAW,CAAC,aAAa,EAAE,WAAW,CAAC,EACjD,KAAK,CACL,CAAC;IAEF,IAAI,UAAU,EAAE,CAAC;QAChB,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC,WAAW,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC;QAClE,OAAO;IACR,CAAC;IAED,IAAI,WAAW,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC9B,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,yBAAyB,CAAC,CAAC;QAChD,OAAO;IACR,CAAC;IAED,MAAM,OAAO,GAAG,CAAC,IAAI,EAAE,OAAO,EAAE,QAAQ,EAAE,SAAS,CAAC,CAAC;IACrD,MAAM,IAAI,GAAG,WAAW,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,EAAE,EAAE,GAAG,CAAC,KAAK,EAAE,gBAAgB,CAAC,GAAG,CAAC,EAAE,GAAG,CAAC,UAAU,CAAC,CAAC,CAAC;IAClG,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,WAAW,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC,CAAC;AAClD,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,SAAS,CAC9B,aAAqB,EACrB,WAAmB,EACnB,KAAa,EACb,UAAmB;IAEnB,MAAM,KAAK,GAAG,MAAM,WAAW,EAAE,CAAC;IAClC,MAAM,UAAU,GAAG,MAAM,OAAO,CAC/B,SAAS,CAAC,WAAW,CAAC,aAAa,EAAE,WAAW,CAAC,EACjD,KAAK,EACL,EAAE,KAAK,EAAE,CACT,CAAC;IAEF,IAAI,UAAU,EAAE,CAAC;QAChB,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC,UAAU,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC;QACjE,OAAO;IACR,CAAC;IAED,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,sBAAsB,KAAK,KAAK,CAAC,CAAC;AACxD,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,YAAY,CACjC,aAAqB,EACrB,WAAmB,EACnB,YAAoB,EACpB,UAAmB;IAEnB,MAAM,KAAK,GAAG,MAAM,WAAW,EAAE,CAAC;IAClC,MAAM,SAAS,CAAC,SAAS,CAAC,UAAU,CAAC,aAAa,EAAE,WAAW,EAAE,YAAY,CAAC,EAAE,KAAK,CAAC,CAAC;IAEvF,IAAI,UAAU,EAAE,CAAC;QAChB,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC,EAAE,OAAO,EAAE,YAAY,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC;QAChF,OAAO;IACR,CAAC;IAED,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,cAAc,YAAY,aAAa,CAAC,CAAC;AAC/D,CAAC"}
@@ -1,6 +1,8 @@
1
- export declare function listJournals(jsonOutput: boolean): Promise<void>;
2
- export declare function createJournal(name: string, jsonOutput: boolean): Promise<void>;
3
- export declare function getJournal(journalId: string, jsonOutput: boolean): Promise<void>;
4
- export declare function deleteJournal(journalId: string, jsonOutput: boolean): Promise<void>;
5
- export declare function selectJournal(journalId: string): Promise<void>;
1
+ export declare function listJournals(workspaceSlug: string, jsonOutput: boolean): Promise<void>;
2
+ export declare function createJournal(workspaceSlug: string, name: string, slug: string | undefined, jsonOutput: boolean): Promise<void>;
3
+ export declare function getJournal(workspaceSlug: string, journalSlug: string, jsonOutput: boolean): Promise<void>;
4
+ export declare function renameJournal(workspaceSlug: string, journalSlug: string, newName: string, jsonOutput: boolean): Promise<void>;
5
+ export declare function setJournalSlug(workspaceSlug: string, journalSlug: string, newSlug: string, jsonOutput: boolean): Promise<void>;
6
+ export declare function deleteJournal(workspaceSlug: string, journalSlug: string, jsonOutput: boolean): Promise<void>;
7
+ export declare function selectJournal(workspaceSlug: string, journalSlug: string): Promise<void>;
6
8
  //# sourceMappingURL=journals.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"journals.d.ts","sourceRoot":"","sources":["../../src/commands/journals.ts"],"names":[],"mappings":"AAuBA,wBAAsB,YAAY,CAAC,UAAU,EAAE,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC,CAiBrE;AAED,wBAAsB,aAAa,CAAC,IAAI,EAAE,MAAM,EAAE,UAAU,EAAE,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC,CAUpF;AAED,wBAAsB,UAAU,CAAC,SAAS,EAAE,MAAM,EAAE,UAAU,EAAE,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC,CAkBtF;AAED,wBAAsB,aAAa,CAAC,SAAS,EAAE,MAAM,EAAE,UAAU,EAAE,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC,CAUzF;AAED,wBAAsB,aAAa,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAcpE"}
1
+ {"version":3,"file":"journals.d.ts","sourceRoot":"","sources":["../../src/commands/journals.ts"],"names":[],"mappings":"AAYA,wBAAsB,YAAY,CAAC,aAAa,EAAE,MAAM,EAAE,UAAU,EAAE,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC,CAoB5F;AAED,wBAAsB,aAAa,CAClC,aAAa,EAAE,MAAM,EACrB,IAAI,EAAE,MAAM,EACZ,IAAI,EAAE,MAAM,GAAG,SAAS,EACxB,UAAU,EAAE,OAAO,GACjB,OAAO,CAAC,IAAI,CAAC,CAYf;AAED,wBAAsB,UAAU,CAC/B,aAAa,EAAE,MAAM,EACrB,WAAW,EAAE,MAAM,EACnB,UAAU,EAAE,OAAO,GACjB,OAAO,CAAC,IAAI,CAAC,CAqBf;AAED,wBAAsB,aAAa,CAClC,aAAa,EAAE,MAAM,EACrB,WAAW,EAAE,MAAM,EACnB,OAAO,EAAE,MAAM,EACf,UAAU,EAAE,OAAO,GACjB,OAAO,CAAC,IAAI,CAAC,CAYf;AAED,wBAAsB,cAAc,CACnC,aAAa,EAAE,MAAM,EACrB,WAAW,EAAE,MAAM,EACnB,OAAO,EAAE,MAAM,EACf,UAAU,EAAE,OAAO,GACjB,OAAO,CAAC,IAAI,CAAC,CAaf;AAED,wBAAsB,aAAa,CAClC,aAAa,EAAE,MAAM,EACrB,WAAW,EAAE,MAAM,EACnB,UAAU,EAAE,OAAO,GACjB,OAAO,CAAC,IAAI,CAAC,CAYf;AAED,wBAAsB,aAAa,CAAC,aAAa,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAgB7F"}
@@ -1,12 +1,12 @@
1
1
  import { existsSync } from 'node:fs';
2
2
  import { join } from 'node:path';
3
- import { API_PATHS, apiDelete, apiGet, apiPost, requireAuth } from '../api-client.js';
3
+ import { API_PATHS, apiDelete, apiGet, apiPatch, apiPost, requireAuth } from '../api-client.js';
4
4
  import { readConfig, writeConfig } from '../config.js';
5
5
  import { formatTable } from '../formatting.js';
6
6
  import { writeProjectConfig } from '../project-config.js';
7
- export async function listJournals(jsonOutput) {
7
+ export async function listJournals(workspaceSlug, jsonOutput) {
8
8
  const token = await requireAuth();
9
- const result = await apiGet(API_PATHS.journals, token);
9
+ const result = await apiGet(API_PATHS.journals(workspaceSlug), token);
10
10
  if (jsonOutput) {
11
11
  process.stdout.write(`${JSON.stringify(result, null, 2)}\n`);
12
12
  return;
@@ -15,27 +15,30 @@ export async function listJournals(jsonOutput) {
15
15
  process.stdout.write('No journals found.\n');
16
16
  return;
17
17
  }
18
- const headers = ['ID', 'Name', 'Created'];
19
- const rows = result.data.map((j) => [j.id, j.name, j.created_at]);
18
+ const headers = ['Slug', 'Name', 'Created'];
19
+ const rows = result.data.map((j) => [j.slug, j.name, j.created_at]);
20
20
  process.stdout.write(formatTable(headers, rows));
21
21
  }
22
- export async function createJournal(name, jsonOutput) {
22
+ export async function createJournal(workspaceSlug, name, slug, jsonOutput) {
23
23
  const token = await requireAuth();
24
- const journal = await apiPost(API_PATHS.journals, token, { name });
24
+ const body = { name };
25
+ if (slug)
26
+ body.slug = slug;
27
+ const journal = await apiPost(API_PATHS.journals(workspaceSlug), token, body);
25
28
  if (jsonOutput) {
26
29
  process.stdout.write(`${JSON.stringify(journal, null, 2)}\n`);
27
30
  return;
28
31
  }
29
- process.stdout.write(`Journal created:\n ID: ${journal.id}\n Name: ${journal.name}\n`);
32
+ process.stdout.write(`Journal created:\n Slug: ${journal.slug}\n Name: ${journal.name}\n`);
30
33
  }
31
- export async function getJournal(journalId, jsonOutput) {
34
+ export async function getJournal(workspaceSlug, journalSlug, jsonOutput) {
32
35
  const token = await requireAuth();
33
- const journal = await apiGet(API_PATHS.journal(journalId), token);
36
+ const journal = await apiGet(API_PATHS.journal(workspaceSlug, journalSlug), token);
34
37
  if (jsonOutput) {
35
38
  process.stdout.write(`${JSON.stringify(journal, null, 2)}\n`);
36
39
  return;
37
40
  }
38
- process.stdout.write(`ID: ${journal.id}\n`);
41
+ process.stdout.write(`Slug: ${journal.slug}\n`);
39
42
  process.stdout.write(`Name: ${journal.name}\n`);
40
43
  if (journal.description) {
41
44
  process.stdout.write(`Description: ${journal.description}\n`);
@@ -45,25 +48,50 @@ export async function getJournal(journalId, jsonOutput) {
45
48
  process.stdout.write(`Role: ${journal.membership.role}\n`);
46
49
  }
47
50
  }
48
- export async function deleteJournal(journalId, jsonOutput) {
51
+ export async function renameJournal(workspaceSlug, journalSlug, newName, jsonOutput) {
49
52
  const token = await requireAuth();
50
- await apiDelete(API_PATHS.journal(journalId), token);
53
+ const journal = await apiPatch(API_PATHS.journal(workspaceSlug, journalSlug), token, {
54
+ name: newName,
55
+ });
51
56
  if (jsonOutput) {
52
- process.stdout.write(`${JSON.stringify({ deleted: journalId }, null, 2)}\n`);
57
+ process.stdout.write(`${JSON.stringify(journal, null, 2)}\n`);
58
+ return;
59
+ }
60
+ process.stdout.write(`Journal renamed:\n Slug: ${journal.slug}\n Name: ${journal.name}\n`);
61
+ }
62
+ export async function setJournalSlug(workspaceSlug, journalSlug, newSlug, jsonOutput) {
63
+ const token = await requireAuth();
64
+ process.stderr.write('Note: changing the slug breaks any existing links to this journal.\n');
65
+ const journal = await apiPatch(API_PATHS.journal(workspaceSlug, journalSlug), token, {
66
+ slug: newSlug,
67
+ });
68
+ if (jsonOutput) {
69
+ process.stdout.write(`${JSON.stringify(journal, null, 2)}\n`);
70
+ return;
71
+ }
72
+ process.stdout.write(`Journal slug updated:\n Slug: ${journal.slug}\n Name: ${journal.name}\n`);
73
+ }
74
+ export async function deleteJournal(workspaceSlug, journalSlug, jsonOutput) {
75
+ const token = await requireAuth();
76
+ await apiDelete(API_PATHS.journal(workspaceSlug, journalSlug), token);
77
+ if (jsonOutput) {
78
+ process.stdout.write(`${JSON.stringify({ deleted: { workspaceSlug, journalSlug } }, null, 2)}\n`);
53
79
  return;
54
80
  }
55
- process.stdout.write(`Journal ${journalId} deleted.\n`);
81
+ process.stdout.write(`Journal ${workspaceSlug}/${journalSlug} deleted.\n`);
56
82
  }
57
- export async function selectJournal(journalId) {
83
+ export async function selectJournal(workspaceSlug, journalSlug) {
58
84
  const token = await requireAuth();
59
- await apiGet(API_PATHS.journal(journalId), token);
85
+ // Verify the journal exists / user has access before persisting selection.
86
+ await apiGet(API_PATHS.journal(workspaceSlug, journalSlug), token);
60
87
  const config = readConfig();
61
- config.journal = journalId;
88
+ config.workspaceSlug = workspaceSlug;
89
+ config.journalSlug = journalSlug;
62
90
  writeConfig(config);
63
- process.stdout.write(`Global config: default journal set to ${journalId}\n`);
91
+ process.stdout.write(`Global config: active selection set to ${workspaceSlug}/${journalSlug}\n`);
64
92
  const cwd = process.cwd();
65
93
  if (existsSync(join(cwd, '.git'))) {
66
- writeProjectConfig(cwd, journalId);
94
+ writeProjectConfig(cwd, workspaceSlug, journalSlug);
67
95
  process.stdout.write(`Project config: wrote .workjournal in ${cwd}\n`);
68
96
  }
69
97
  }
@@ -1 +1 @@
1
- {"version":3,"file":"journals.js","sourceRoot":"","sources":["../../src/commands/journals.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"journals.js","sourceRoot":"","sources":["../../src/commands/journals.ts"],"names":[],"mappings":"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"}