@workjournal/cli 0.19.0 → 0.20.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
CHANGED
|
@@ -59,10 +59,11 @@ Once a journal is selected, `workjournal` (no args) lists entries and `workjourn
|
|
|
59
59
|
| `workjournal workspaces list` | List your workspaces |
|
|
60
60
|
| `workjournal workspaces select <ws>` | Set active workspace |
|
|
61
61
|
| `workjournal journals list [<ws>]` | List journals (defaults to selected workspace) |
|
|
62
|
+
| `workjournal journals list shared-with-me` | List journals shared with you from workspaces you don't own |
|
|
62
63
|
| `workjournal journals new <ws> <name> [--slug <slug>]` | Create a journal |
|
|
63
64
|
| `workjournal journals rename <ws> <j> <newName>` | Rename a journal |
|
|
64
65
|
| `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 journals select <ws> <j>` | Set active journal. Works for owned and shared journals — for shared, use the workspace slug from `journals list shared-with-me`. |
|
|
66
67
|
| `workjournal entries list <ws> <j>` | List entries |
|
|
67
68
|
| `workjournal entries write <ws> <j> -t <title> -s <summary> -b <body>` | Create an entry (title required, ≤80 chars) |
|
|
68
69
|
| `workjournal entries last <ws> <j> [count]` | Show the most recent entries |
|
|
@@ -106,6 +107,24 @@ workjournal journals select acme engineering
|
|
|
106
107
|
workjournal # lists entries in acme/engineering
|
|
107
108
|
```
|
|
108
109
|
|
|
110
|
+
## Shared journals (`shared-with-me`)
|
|
111
|
+
|
|
112
|
+
A **shared journal** is one where you're a contributor in someone else's workspace. Accept the invitation in the web app first, then from the terminal:
|
|
113
|
+
|
|
114
|
+
```bash
|
|
115
|
+
# 1. List — two-column table: workspace slug, journal slug
|
|
116
|
+
workjournal journals list shared-with-me
|
|
117
|
+
|
|
118
|
+
# 2. Select — pass both slugs from the listing
|
|
119
|
+
workjournal journals select acme engineering
|
|
120
|
+
|
|
121
|
+
# 3. Access — every other command works as normal against the pinned journal
|
|
122
|
+
workjournal entries last
|
|
123
|
+
workjournal entries write -t … -s … -b …
|
|
124
|
+
```
|
|
125
|
+
|
|
126
|
+
`shared-with-me` is only recognised by `journals list`. `journals select` and everything else take the **real** workspace slug from the listing (`acme`, not `shared-with-me`).
|
|
127
|
+
|
|
109
128
|
## Credentials
|
|
110
129
|
|
|
111
130
|
The CLI stores credentials in the user config directory with user-only file permissions:
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"journals.d.ts","sourceRoot":"","sources":["../../src/commands/journals.ts"],"names":[],"mappings":"AAkCA,wBAAsB,YAAY,CAAC,aAAa,EAAE,MAAM,EAAE,UAAU,EAAE,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC,
|
|
1
|
+
{"version":3,"file":"journals.d.ts","sourceRoot":"","sources":["../../src/commands/journals.ts"],"names":[],"mappings":"AAkCA,wBAAsB,YAAY,CAAC,aAAa,EAAE,MAAM,EAAE,UAAU,EAAE,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC,CAwC5F;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,CAWf;AAED,wBAAsB,UAAU,CAC/B,aAAa,EAAE,MAAM,EACrB,WAAW,EAAE,MAAM,EACnB,UAAU,EAAE,OAAO,EACnB,OAAO,UAAQ,GACb,OAAO,CAAC,IAAI,CAAC,CA0Bf;AAED,wBAAsB,aAAa,CAClC,aAAa,EAAE,MAAM,EACrB,WAAW,EAAE,MAAM,EACnB,OAAO,EAAE,MAAM,EACf,UAAU,EAAE,OAAO,GACjB,OAAO,CAAC,IAAI,CAAC,CAWf;AAED,wBAAsB,cAAc,CACnC,aAAa,EAAE,MAAM,EACrB,WAAW,EAAE,MAAM,EACnB,OAAO,EAAE,MAAM,EACf,UAAU,EAAE,OAAO,GACjB,OAAO,CAAC,IAAI,CAAC,CAYf;AAED,wBAAsB,aAAa,CAClC,aAAa,EAAE,MAAM,EACrB,WAAW,EAAE,MAAM,EACnB,UAAU,EAAE,OAAO,GACjB,OAAO,CAAC,IAAI,CAAC,CAWf;AAED,wBAAsB,aAAa,CAAC,aAAa,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAmB7F"}
|
|
@@ -16,13 +16,11 @@ export async function listJournals(workspaceSlug, jsonOutput) {
|
|
|
16
16
|
process.stdout.write('No journals shared with you.\n');
|
|
17
17
|
return;
|
|
18
18
|
}
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
s.role,
|
|
25
|
-
]);
|
|
19
|
+
// Two-slug table: workspace + journal is enough to identify and select.
|
|
20
|
+
// Owner email and role are still in the JSON payload for callers that
|
|
21
|
+
// want them (--json), just not in the human table.
|
|
22
|
+
const headers = ['Workspace', 'Journal'];
|
|
23
|
+
const rows = result.data.map((s) => [s.workspace.slug, s.journal.slug]);
|
|
26
24
|
process.stdout.write(formatTable(headers, rows));
|
|
27
25
|
return;
|
|
28
26
|
}
|
|
@@ -105,6 +103,10 @@ export async function deleteJournal(workspaceSlug, journalSlug, jsonOutput) {
|
|
|
105
103
|
}
|
|
106
104
|
export async function selectJournal(workspaceSlug, journalSlug) {
|
|
107
105
|
// Verify the journal exists / user has access before persisting selection.
|
|
106
|
+
// Works uniformly for journals you own AND journals shared with you — the
|
|
107
|
+
// underlying `journals_visible` view permits both owners and contributors.
|
|
108
|
+
// For shared journals, callers get the workspace slug from
|
|
109
|
+
// `workjournal journals list shared-with-me` and pass it verbatim here.
|
|
108
110
|
await apiGet(API_PATHS.journal(workspaceSlug, journalSlug));
|
|
109
111
|
const config = readConfig();
|
|
110
112
|
config.workspaceSlug = workspaceSlug;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"journals.js","sourceRoot":"","sources":["../../src/commands/journals.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AACrC,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAQjC,OAAO,EAAE,mBAAmB,EAAE,MAAM,qBAAqB,CAAC;AAC1D,OAAO,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAM,kBAAkB,CAAC;AACnF,OAAO,EAAE,UAAU,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AACvD,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAC/C,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAqB1D,MAAM,CAAC,KAAK,UAAU,YAAY,CAAC,aAAqB,EAAE,UAAmB;IAC5E,IAAI,aAAa,KAAK,mBAAmB,EAAE,CAAC;QAC3C,MAAM,MAAM,GAAG,MAAM,MAAM,CAA4B,SAAS,CAAC,oBAAoB,CAAC,CAAC;QAEvF,IAAI,UAAU,EAAE,CAAC;YAChB,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC;YAC7D,OAAO;QACR,CAAC;QAED,IAAI,MAAM,CAAC,IAAI,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAC9B,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,gCAAgC,CAAC,CAAC;YACvD,OAAO;QACR,CAAC;QAED,MAAM,OAAO,GAAG,CAAC,WAAW,EAAE,SAAS,
|
|
1
|
+
{"version":3,"file":"journals.js","sourceRoot":"","sources":["../../src/commands/journals.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AACrC,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAQjC,OAAO,EAAE,mBAAmB,EAAE,MAAM,qBAAqB,CAAC;AAC1D,OAAO,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAM,kBAAkB,CAAC;AACnF,OAAO,EAAE,UAAU,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AACvD,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAC/C,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAqB1D,MAAM,CAAC,KAAK,UAAU,YAAY,CAAC,aAAqB,EAAE,UAAmB;IAC5E,IAAI,aAAa,KAAK,mBAAmB,EAAE,CAAC;QAC3C,MAAM,MAAM,GAAG,MAAM,MAAM,CAA4B,SAAS,CAAC,oBAAoB,CAAC,CAAC;QAEvF,IAAI,UAAU,EAAE,CAAC;YAChB,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC;YAC7D,OAAO;QACR,CAAC;QAED,IAAI,MAAM,CAAC,IAAI,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAC9B,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,gCAAgC,CAAC,CAAC;YACvD,OAAO;QACR,CAAC;QAED,wEAAwE;QACxE,sEAAsE;QACtE,mDAAmD;QACnD,MAAM,OAAO,GAAG,CAAC,WAAW,EAAE,SAAS,CAAC,CAAC;QACzC,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC;QACxE,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,WAAW,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC,CAAC;QACjD,OAAO;IACR,CAAC;IAED,MAAM,MAAM,GAAG,MAAM,MAAM,CAC1B,SAAS,CAAC,QAAQ,CAAC,aAAa,CAAC,CACjC,CAAC;IAEF,IAAI,UAAU,EAAE,CAAC;QAChB,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC;QAC7D,OAAO;IACR,CAAC;IAED,IAAI,MAAM,CAAC,IAAI,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC9B,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,sBAAsB,CAAC,CAAC;QAC7C,OAAO;IACR,CAAC;IAED,MAAM,OAAO,GAAG,CAAC,MAAM,EAAE,MAAM,EAAE,SAAS,CAAC,CAAC;IAC5C,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC;IACpE,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,WAAW,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC,CAAC;AAClD,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,aAAa,CAClC,aAAqB,EACrB,IAAY,EACZ,IAAwB,EACxB,UAAmB;IAEnB,MAAM,IAAI,GAAoC,EAAE,IAAI,EAAE,CAAC;IACvD,IAAI,IAAI;QAAE,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;IAC3B,MAAM,OAAO,GAAG,MAAM,OAAO,CAAU,SAAS,CAAC,QAAQ,CAAC,aAAa,CAAC,EAAE,IAAI,CAAC,CAAC;IAEhF,IAAI,UAAU,EAAE,CAAC;QAChB,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC;QAC9D,OAAO;IACR,CAAC;IAED,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,6BAA6B,OAAO,CAAC,IAAI,aAAa,OAAO,CAAC,IAAI,IAAI,CAAC,CAAC;AAC9F,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,UAAU,CAC/B,aAAqB,EACrB,WAAmB,EACnB,UAAmB,EACnB,OAAO,GAAG,KAAK;IAEf,MAAM,OAAO,GAAG,MAAM,MAAM,CAAgB,SAAS,CAAC,OAAO,CAAC,aAAa,EAAE,WAAW,CAAC,CAAC,CAAC;IAE3F,IAAI,UAAU,EAAE,CAAC;QAChB,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC;QAC9D,OAAO;IACR,CAAC;IAED,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,gBAAgB,OAAO,CAAC,IAAI,IAAI,CAAC,CAAC;IACvD,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,gBAAgB,OAAO,CAAC,IAAI,IAAI,CAAC,CAAC;IACvD,IAAI,OAAO,CAAC,WAAW,EAAE,CAAC;QACzB,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,gBAAgB,OAAO,CAAC,WAAW,IAAI,CAAC,CAAC;IAC/D,CAAC;IACD,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,gBAAgB,OAAO,CAAC,UAAU,IAAI,CAAC,CAAC;IAC7D,IAAI,OAAO,CAAC,WAAW,EAAE,CAAC;QACzB,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,gBAAgB,OAAO,CAAC,WAAW,CAAC,IAAI,IAAI,CAAC,CAAC;IACpE,CAAC;IACD,4EAA4E;IAC5E,MAAM,WAAW,GAChB,OAAO,CAAC,MAAM,CAAC,MAAM,KAAK,QAAQ;QACjC,CAAC,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,IAAI,OAAO,CAAC,MAAM,CAAC,IAAI,IAAI,QAAQ,CAAC;QAC1D,CAAC,CAAC,gBAAgB,CAAC;IACrB,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,gBAAgB,WAAW,IAAI,CAAC,CAAC;IACtD,IAAI,OAAO,EAAE,CAAC;QACb,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,OAAO,CAAC,MAAM,CAAC,IAAI,IAAI,CAAC,CAAC;IACpD,CAAC;AACF,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,aAAa,CAClC,aAAqB,EACrB,WAAmB,EACnB,OAAe,EACf,UAAmB;IAEnB,MAAM,OAAO,GAAG,MAAM,QAAQ,CAAU,SAAS,CAAC,OAAO,CAAC,aAAa,EAAE,WAAW,CAAC,EAAE;QACtF,IAAI,EAAE,OAAO;KACb,CAAC,CAAC;IAEH,IAAI,UAAU,EAAE,CAAC;QAChB,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC;QAC9D,OAAO;IACR,CAAC;IAED,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,6BAA6B,OAAO,CAAC,IAAI,aAAa,OAAO,CAAC,IAAI,IAAI,CAAC,CAAC;AAC9F,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,cAAc,CACnC,aAAqB,EACrB,WAAmB,EACnB,OAAe,EACf,UAAmB;IAEnB,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,sEAAsE,CAAC,CAAC;IAC7F,MAAM,OAAO,GAAG,MAAM,QAAQ,CAAU,SAAS,CAAC,OAAO,CAAC,aAAa,EAAE,WAAW,CAAC,EAAE;QACtF,IAAI,EAAE,OAAO;KACb,CAAC,CAAC;IAEH,IAAI,UAAU,EAAE,CAAC;QAChB,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC;QAC9D,OAAO;IACR,CAAC;IAED,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,kCAAkC,OAAO,CAAC,IAAI,aAAa,OAAO,CAAC,IAAI,IAAI,CAAC,CAAC;AACnG,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,aAAa,CAClC,aAAqB,EACrB,WAAmB,EACnB,UAAmB;IAEnB,MAAM,SAAS,CAAC,SAAS,CAAC,OAAO,CAAC,aAAa,EAAE,WAAW,CAAC,CAAC,CAAC;IAE/D,IAAI,UAAU,EAAE,CAAC;QAChB,OAAO,CAAC,MAAM,CAAC,KAAK,CACnB,GAAG,IAAI,CAAC,SAAS,CAAC,EAAE,OAAO,EAAE,EAAE,aAAa,EAAE,WAAW,EAAE,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,CAC3E,CAAC;QACF,OAAO;IACR,CAAC;IAED,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,WAAW,aAAa,IAAI,WAAW,aAAa,CAAC,CAAC;AAC5E,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,aAAa,CAAC,aAAqB,EAAE,WAAmB;IAC7E,2EAA2E;IAC3E,0EAA0E;IAC1E,2EAA2E;IAC3E,2DAA2D;IAC3D,wEAAwE;IACxE,MAAM,MAAM,CAAU,SAAS,CAAC,OAAO,CAAC,aAAa,EAAE,WAAW,CAAC,CAAC,CAAC;IAErE,MAAM,MAAM,GAAG,UAAU,EAAE,CAAC;IAC5B,MAAM,CAAC,aAAa,GAAG,aAAa,CAAC;IACrC,MAAM,CAAC,WAAW,GAAG,WAAW,CAAC;IACjC,WAAW,CAAC,MAAM,CAAC,CAAC;IACpB,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,0CAA0C,aAAa,IAAI,WAAW,IAAI,CAAC,CAAC;IAEjG,MAAM,GAAG,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC;IAC1B,IAAI,UAAU,CAAC,IAAI,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC,EAAE,CAAC;QACnC,kBAAkB,CAAC,GAAG,EAAE,aAAa,EAAE,WAAW,CAAC,CAAC;QACpD,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,yCAAyC,GAAG,IAAI,CAAC,CAAC;IACxE,CAAC;AACF,CAAC"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"command": "journals list",
|
|
3
|
-
"description": "List journals in a workspace. The workspace slug is optional if one has been pinned via `workspaces select`. Pass the special slug `shared-with-me` to list journals shared
|
|
3
|
+
"description": "List journals in a workspace. The workspace slug is optional if one has been pinned via `workspaces select`. Pass the special slug `shared-with-me` to list journals shared with you from workspaces you don't own.",
|
|
4
4
|
"args": [
|
|
5
5
|
{
|
|
6
6
|
"name": "workspaceSlug",
|
|
@@ -7,5 +7,5 @@
|
|
|
7
7
|
],
|
|
8
8
|
"annotations": { "destructive": false, "idempotent": true },
|
|
9
9
|
"examples": ["workjournal journals select acme engineering"],
|
|
10
|
-
"when_to_use": "Pinning the journal once for the current project so subsequent commands don't need to repeat the slugs. Resource verbs like `entries`, `shares`, `invites` still take explicit slugs — `select` only enables shortcut forms."
|
|
10
|
+
"when_to_use": "Pinning the journal once for the current project so subsequent commands don't need to repeat the slugs. Resource verbs like `entries`, `shares`, `invites` still take explicit slugs — `select` only enables shortcut forms. Works for owned and shared journals — for journals shared with you, use the workspace slug returned by `journals list shared-with-me`."
|
|
11
11
|
}
|
package/package.json
CHANGED