@workjournal/cli 0.8.0 → 0.17.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 +11 -1
- package/dist/api-client.d.ts +26 -9
- package/dist/api-client.d.ts.map +1 -1
- package/dist/api-client.js +109 -57
- package/dist/api-client.js.map +1 -1
- package/dist/auth.d.ts +6 -0
- package/dist/auth.d.ts.map +1 -1
- package/dist/auth.js +18 -0
- package/dist/auth.js.map +1 -1
- package/dist/cli-args.d.ts +19 -0
- package/dist/cli-args.d.ts.map +1 -0
- package/dist/cli-args.js +50 -0
- package/dist/cli-args.js.map +1 -0
- package/dist/commands/entries.d.ts +8 -1
- package/dist/commands/entries.d.ts.map +1 -1
- package/dist/commands/entries.js +74 -15
- package/dist/commands/entries.js.map +1 -1
- package/dist/commands/export.d.ts.map +1 -1
- package/dist/commands/export.js +2 -3
- package/dist/commands/export.js.map +1 -1
- package/dist/commands/invites.d.ts.map +1 -1
- package/dist/commands/invites.js +6 -7
- package/dist/commands/invites.js.map +1 -1
- package/dist/commands/journals.d.ts +1 -1
- package/dist/commands/journals.d.ts.map +1 -1
- package/dist/commands/journals.js +20 -19
- package/dist/commands/journals.js.map +1 -1
- package/dist/commands/prompts.d.ts +9 -0
- package/dist/commands/prompts.d.ts.map +1 -0
- package/dist/commands/prompts.js +83 -0
- package/dist/commands/prompts.js.map +1 -0
- package/dist/commands/shares.d.ts.map +1 -1
- package/dist/commands/shares.js +11 -13
- package/dist/commands/shares.js.map +1 -1
- package/dist/commands/tags.d.ts +7 -0
- package/dist/commands/tags.d.ts.map +1 -0
- package/dist/commands/tags.js +87 -0
- package/dist/commands/tags.js.map +1 -0
- package/dist/commands/workspaces.d.ts.map +1 -1
- package/dist/commands/workspaces.js +4 -7
- package/dist/commands/workspaces.js.map +1 -1
- package/dist/config.d.ts.map +1 -1
- package/dist/config.js +3 -1
- package/dist/config.js.map +1 -1
- package/dist/help/_dispatch.d.ts +29 -0
- package/dist/help/_dispatch.d.ts.map +1 -0
- package/dist/help/_dispatch.js +132 -0
- package/dist/help/_dispatch.js.map +1 -0
- package/dist/help/_registry.d.ts +18 -0
- package/dist/help/_registry.d.ts.map +1 -0
- package/dist/help/_registry.js +98 -0
- package/dist/help/_registry.js.map +1 -0
- package/dist/help/_renderer.d.ts +31 -0
- package/dist/help/_renderer.d.ts.map +1 -0
- package/dist/help/_renderer.js +99 -0
- package/dist/help/_renderer.js.map +1 -0
- package/dist/help/_types.d.ts +53 -0
- package/dist/help/_types.d.ts.map +1 -0
- package/dist/help/_types.js +15 -0
- package/dist/help/_types.js.map +1 -0
- package/dist/help/auth-login.json +12 -0
- package/dist/help/auth-logout.json +7 -0
- package/dist/help/auth-status.json +7 -0
- package/dist/help/auth-whoami.json +7 -0
- package/dist/help/config-show.json +7 -0
- package/dist/help/entries-delete.json +12 -0
- package/dist/help/entries-get.json +12 -0
- package/dist/help/entries-last.json +19 -0
- package/dist/help/entries-list.json +14 -0
- package/dist/help/entries-search.json +15 -0
- package/dist/help/entries-update.json +44 -0
- package/dist/help/entries-write.json +39 -0
- package/dist/help/export.json +29 -0
- package/dist/help/invites-delete.json +16 -0
- package/dist/help/invites-list.json +11 -0
- package/dist/help/invites-new.json +12 -0
- package/dist/help/journal.json +13 -0
- package/dist/help/journals-assign-prompt.json +12 -0
- package/dist/help/journals-delete.json +11 -0
- package/dist/help/journals-get.json +20 -0
- package/dist/help/journals-list.json +14 -0
- package/dist/help/journals-new.json +21 -0
- package/dist/help/journals-rename.json +12 -0
- package/dist/help/journals-select.json +11 -0
- package/dist/help/journals-set-slug.json +16 -0
- package/dist/help/journals-unassign-prompt.json +11 -0
- package/dist/help/prompts-delete.json +11 -0
- package/dist/help/prompts-get.json +11 -0
- package/dist/help/prompts-list.json +14 -0
- package/dist/help/prompts-new.json +23 -0
- package/dist/help/prompts-update.json +29 -0
- package/dist/help/shares-delete.json +16 -0
- package/dist/help/shares-list.json +11 -0
- package/dist/help/tags-delete.json +29 -0
- package/dist/help/tags-get.json +29 -0
- package/dist/help/tags-list.json +25 -0
- package/dist/help/tags-new.json +35 -0
- package/dist/help/tags-update.json +41 -0
- package/dist/index.js +312 -79
- package/dist/index.js.map +1 -1
- package/package.json +4 -5
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"entries.js","sourceRoot":"","sources":["../../src/commands/entries.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"entries.js","sourceRoot":"","sources":["../../src/commands/entries.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AAOvC,OAAO,EAAE,kBAAkB,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AAC3E,OAAO,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAM,kBAAkB,CAAC;AACnF,OAAO,EAAE,WAAW,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAEzD,SAAS,UAAU,CAAC,GAAW;IAC9B,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC;QAAE,OAAO,IAAI,CAAC;IACpC,MAAM,CAAC,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC;IACtB,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC;QAAE,OAAO,IAAI,CAAC;IAC/C,OAAO,CAAC,CAAC;AACV,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,WAAW,CAChC,aAAqB,EACrB,WAAmB,EACnB,UAAmB;IAEnB,MAAM,MAAM,GAAG,MAAM,MAAM,CAC1B,SAAS,CAAC,OAAO,CAAC,aAAa,EAAE,WAAW,CAAC,CAC7C,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,qBAAqB,CAAC,CAAC;QAC5C,OAAO;IACR,CAAC;IAED,MAAM,OAAO,GAAG,CAAC,GAAG,EAAE,OAAO,EAAE,SAAS,CAAC,CAAC;IAC1C,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,EAAE,QAAQ,CAAC,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC;IAC5F,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,WAAW,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC,CAAC;AAClD,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,WAAW,CAChC,aAAqB,EACrB,WAAmB,EACnB,KAAa,EACb,OAAe,EACf,IAAY,EACZ,IAA0B,EAC1B,UAAmB;IAEnB,MAAM,YAAY,GAAG,KAAK,CAAC,IAAI,EAAE,CAAC;IAClC,IAAI,YAAY,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC/B,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,sBAAsB,CAAC,CAAC;QAC7C,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IACjB,CAAC;IACD,IAAI,YAAY,CAAC,MAAM,GAAG,gBAAgB,EAAE,CAAC;QAC5C,OAAO,CAAC,MAAM,CAAC,KAAK,CACnB,iBAAiB,gBAAgB,6BAA6B,YAAY,CAAC,MAAM,MAAM,CACvF,CAAC;QACF,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IACjB,CAAC;IAED,MAAM,KAAK,GAAG,MAAM,OAAO,CAAQ,SAAS,CAAC,OAAO,CAAC,aAAa,EAAE,WAAW,CAAC,EAAE;QACjF,KAAK,EAAE,YAAY;QACnB,OAAO;QACP,YAAY,EAAE,IAAI;QAClB,MAAM,EAAE,KAAK;QACb,GAAG,CAAC,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;KACvC,CAAC,CAAC;IAEH,IAAI,UAAU,EAAE,CAAC;QAChB,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC;QAC5D,OAAO;IACR,CAAC;IAED,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,sBAAsB,KAAK,CAAC,KAAK,KAAK,KAAK,CAAC,KAAK,IAAI,CAAC,CAAC;AAC7E,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,aAAa,CAClC,aAAqB,EACrB,WAAmB,EACnB,KAAa,EACb,UAAmB;IAEnB,MAAM,MAAM,GAAG,IAAI,eAAe,CAAC,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC;IACjD,MAAM,MAAM,GAAG,MAAM,MAAM,CAC1B,GAAG,SAAS,CAAC,aAAa,CAAC,aAAa,EAAE,WAAW,CAAC,IAAI,MAAM,CAAC,QAAQ,EAAE,EAAE,CAC7E,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,mCAAmC,CAAC,CAAC;QAC1D,OAAO;IACR,CAAC;IAED,KAAK,MAAM,KAAK,IAAI,MAAM,CAAC,IAAI,EAAE,CAAC;QACjC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,KAAK,CAAC,KAAK,MAAM,KAAK,CAAC,KAAK,IAAI,CAAC,CAAC;QAC3D,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,QAAQ,CAAC,KAAK,CAAC,OAAO,EAAE,GAAG,CAAC,IAAI,CAAC,CAAC;QAC5D,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,KAAK,CAAC,UAAU,MAAM,CAAC,CAAC;IACnD,CAAC;AACF,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,WAAW,CAChC,aAAqB,EACrB,WAAmB,EACnB,KAAa,EACb,UAAmB;IAEnB,MAAM,MAAM,GAAG,MAAM,MAAM,CAC1B,GAAG,SAAS,CAAC,OAAO,CAAC,aAAa,EAAE,WAAW,CAAC,UAAU,KAAK,eAAe,CAC9E,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,qBAAqB,CAAC,CAAC;QAC5C,OAAO;IACR,CAAC;IAED,KAAK,MAAM,KAAK,IAAI,MAAM,CAAC,IAAI,EAAE,CAAC;QACjC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,MAAM,KAAK,CAAC,KAAK,MAAM,KAAK,CAAC,KAAK,IAAI,CAAC,CAAC;QAC7D,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,KAAK,CAAC,UAAU,MAAM,CAAC,CAAC;QAChD,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,KAAK,CAAC,OAAO,MAAM,CAAC,CAAC;QAC7C,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,KAAK,CAAC,YAAY,IAAI,CAAC,CAAC;QAChD,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;IACjC,CAAC;AACF,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,QAAQ,CAC7B,aAAqB,EACrB,WAAmB,EACnB,QAAgB,EAChB,UAAmB;IAEnB,MAAM,KAAK,GAAG,UAAU,CAAC,QAAQ,CAAC,CAAC;IACnC,IAAI,KAAK,KAAK,IAAI,EAAE,CAAC;QACpB,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,2CAA2C,CAAC,CAAC;QAClE,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IACjB,CAAC;IAED,MAAM,KAAK,GAAG,MAAM,MAAM,CAAQ,SAAS,CAAC,KAAK,CAAC,aAAa,EAAE,WAAW,EAAE,KAAK,CAAC,CAAC,CAAC;IAEtF,IAAI,UAAU,EAAE,CAAC;QAChB,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC;QAC5D,OAAO;IACR,CAAC;IAED,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,KAAK,CAAC,KAAK,MAAM,KAAK,CAAC,KAAK,IAAI,CAAC,CAAC;IAC3D,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,KAAK,CAAC,UAAU,MAAM,CAAC,CAAC;IAChD,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,KAAK,CAAC,OAAO,MAAM,CAAC,CAAC;IAC7C,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,KAAK,CAAC,YAAY,IAAI,CAAC,CAAC;AACjD,CAAC;AAED;;;;GAIG;AACH,SAAS,cAAc,CAAC,MAAc;IACrC,IAAI,MAAM,KAAK,GAAG,EAAE,CAAC;QACpB,OAAO,YAAY,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC;IAChC,CAAC;IACD,OAAO,YAAY,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;AACrC,CAAC;AASD,MAAM,CAAC,KAAK,UAAU,WAAW,CAChC,aAAqB,EACrB,WAAmB,EACnB,QAAgB,EAChB,IAAwB,EACxB,UAAmB;IAEnB,MAAM,KAAK,GAAG,UAAU,CAAC,QAAQ,CAAC,CAAC;IACnC,IAAI,KAAK,KAAK,IAAI,EAAE,CAAC;QACpB,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,2CAA2C,CAAC,CAAC;QAClE,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IACjB,CAAC;IAED,MAAM,KAAK,GAAuB,EAAE,CAAC;IAErC,IAAI,IAAI,CAAC,KAAK,KAAK,SAAS,EAAE,CAAC;QAC9B,MAAM,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC;QAClC,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAC1B,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,0BAA0B,CAAC,CAAC;YACjD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QACjB,CAAC;QACD,IAAI,OAAO,CAAC,MAAM,GAAG,gBAAgB,EAAE,CAAC;YACvC,OAAO,CAAC,MAAM,CAAC,KAAK,CACnB,iBAAiB,gBAAgB,6BAA6B,OAAO,CAAC,MAAM,MAAM,CAClF,CAAC;YACF,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QACjB,CAAC;QACD,KAAK,CAAC,KAAK,GAAG,OAAO,CAAC;IACvB,CAAC;IAED,IAAI,IAAI,CAAC,OAAO,KAAK,SAAS,EAAE,CAAC;QAChC,IAAI,IAAI,CAAC,OAAO,CAAC,MAAM,GAAG,kBAAkB,EAAE,CAAC;YAC9C,OAAO,CAAC,MAAM,CAAC,KAAK,CACnB,mBAAmB,kBAAkB,6BAA6B,IAAI,CAAC,OAAO,CAAC,MAAM,MAAM,CAC3F,CAAC;YACF,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QACjB,CAAC;QACD,KAAK,CAAC,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC;IAC9B,CAAC;IAED,IAAI,IAAI,CAAC,UAAU,KAAK,SAAS,EAAE,CAAC;QACnC,IAAI,CAAC;YACJ,KAAK,CAAC,YAAY,GAAG,cAAc,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QACtD,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACd,MAAM,OAAO,GAAG,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;YACjE,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,+BAA+B,OAAO,IAAI,CAAC,CAAC;YACjE,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QACjB,CAAC;IACF,CAAC;IAED,IAAI,IAAI,CAAC,IAAI,KAAK,SAAS,EAAE,CAAC;QAC7B,6EAA6E;QAC7E,KAAK,CAAC,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC;IACxB,CAAC;IAED,IAAI,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACrC,OAAO,CAAC,MAAM,CAAC,KAAK,CACnB,4FAA4F,CAC5F,CAAC;QACF,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IACjB,CAAC;IAED,MAAM,KAAK,GAAG,MAAM,QAAQ,CAAQ,SAAS,CAAC,KAAK,CAAC,aAAa,EAAE,WAAW,EAAE,KAAK,CAAC,EAAE,KAAK,CAAC,CAAC;IAE/F,IAAI,UAAU,EAAE,CAAC;QAChB,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC;QAC5D,OAAO;IACR,CAAC;IAED,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,sBAAsB,KAAK,CAAC,KAAK,KAAK,KAAK,CAAC,KAAK,IAAI,CAAC,CAAC;AAC7E,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,WAAW,CAChC,aAAqB,EACrB,WAAmB,EACnB,QAAgB,EAChB,UAAmB;IAEnB,MAAM,KAAK,GAAG,UAAU,CAAC,QAAQ,CAAC,CAAC;IACnC,IAAI,KAAK,KAAK,IAAI,EAAE,CAAC;QACpB,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,2CAA2C,CAAC,CAAC;QAClE,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IACjB,CAAC;IAED,MAAM,SAAS,CAAC,SAAS,CAAC,KAAK,CAAC,aAAa,EAAE,WAAW,EAAE,KAAK,CAAC,CAAC,CAAC;IAEpE,IAAI,UAAU,EAAE,CAAC;QAChB,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC;QACzE,OAAO;IACR,CAAC;IAED,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,UAAU,KAAK,aAAa,CAAC,CAAC;AACpD,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
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,
|
|
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,CAgBf"}
|
package/dist/commands/export.js
CHANGED
|
@@ -1,9 +1,8 @@
|
|
|
1
1
|
import { writeFileSync } from 'node:fs';
|
|
2
|
-
import { API_PATHS, apiGetRaw
|
|
2
|
+
import { API_PATHS, apiGetRaw } from '../api-client.js';
|
|
3
3
|
export async function exportJournal(workspaceSlug, journalSlug, format, outputPath) {
|
|
4
|
-
const token = await requireAuth();
|
|
5
4
|
const path = `${API_PATHS.exportJournal(workspaceSlug, journalSlug)}?format=${encodeURIComponent(format)}`;
|
|
6
|
-
const text = await apiGetRaw(path
|
|
5
|
+
const text = await apiGetRaw(path);
|
|
7
6
|
if (outputPath) {
|
|
8
7
|
try {
|
|
9
8
|
writeFileSync(outputPath, text, 'utf-8');
|
|
@@ -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,
|
|
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,MAAM,kBAAkB,CAAC;AAExD,MAAM,CAAC,KAAK,UAAU,aAAa,CAClC,aAAqB,EACrB,WAAmB,EACnB,MAAc,EACd,UAAmB;IAEnB,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,CAAC,CAAC;IAEnC,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 +1 @@
|
|
|
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,
|
|
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,CAgBf;AAED,wBAAsB,SAAS,CAC9B,aAAa,EAAE,MAAM,EACrB,WAAW,EAAE,MAAM,EACnB,KAAK,EAAE,MAAM,EACb,UAAU,EAAE,OAAO,GACjB,OAAO,CAAC,IAAI,CAAC,CAWf;AAED,wBAAsB,YAAY,CACjC,aAAa,EAAE,MAAM,EACrB,WAAW,EAAE,MAAM,EACnB,YAAY,EAAE,MAAM,EACpB,UAAU,EAAE,OAAO,GACjB,OAAO,CAAC,IAAI,CAAC,CASf"}
|
package/dist/commands/invites.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { API_PATHS, apiDelete, apiGet, apiPost
|
|
1
|
+
import { API_PATHS, apiDelete, apiGet, apiPost } from '../api-client.js';
|
|
2
2
|
import { formatTable } from '../formatting.js';
|
|
3
3
|
function invitationStatus(inv) {
|
|
4
4
|
if (inv.accepted_at)
|
|
@@ -8,8 +8,7 @@ function invitationStatus(inv) {
|
|
|
8
8
|
return 'pending';
|
|
9
9
|
}
|
|
10
10
|
export async function listInvites(workspaceSlug, journalSlug, jsonOutput) {
|
|
11
|
-
const
|
|
12
|
-
const invitations = await apiGet(API_PATHS.invitations(workspaceSlug, journalSlug), token);
|
|
11
|
+
const invitations = await apiGet(API_PATHS.invitations(workspaceSlug, journalSlug));
|
|
13
12
|
if (jsonOutput) {
|
|
14
13
|
process.stdout.write(`${JSON.stringify(invitations, null, 2)}\n`);
|
|
15
14
|
return;
|
|
@@ -23,8 +22,9 @@ export async function listInvites(workspaceSlug, journalSlug, jsonOutput) {
|
|
|
23
22
|
process.stdout.write(formatTable(headers, rows));
|
|
24
23
|
}
|
|
25
24
|
export async function newInvite(workspaceSlug, journalSlug, email, jsonOutput) {
|
|
26
|
-
const
|
|
27
|
-
|
|
25
|
+
const invitation = await apiPost(API_PATHS.invitations(workspaceSlug, journalSlug), {
|
|
26
|
+
email,
|
|
27
|
+
});
|
|
28
28
|
if (jsonOutput) {
|
|
29
29
|
process.stdout.write(`${JSON.stringify(invitation, null, 2)}\n`);
|
|
30
30
|
return;
|
|
@@ -32,8 +32,7 @@ export async function newInvite(workspaceSlug, journalSlug, email, jsonOutput) {
|
|
|
32
32
|
process.stdout.write(`Invitation sent to ${email}.\n`);
|
|
33
33
|
}
|
|
34
34
|
export async function deleteInvite(workspaceSlug, journalSlug, invitationId, jsonOutput) {
|
|
35
|
-
|
|
36
|
-
await apiDelete(API_PATHS.invitation(workspaceSlug, journalSlug, invitationId), token);
|
|
35
|
+
await apiDelete(API_PATHS.invitation(workspaceSlug, journalSlug, invitationId));
|
|
37
36
|
if (jsonOutput) {
|
|
38
37
|
process.stdout.write(`${JSON.stringify({ deleted: invitationId }, null, 2)}\n`);
|
|
39
38
|
return;
|
|
@@ -1 +1 @@
|
|
|
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,
|
|
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,MAAM,kBAAkB,CAAC;AACzE,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,WAAW,GAAG,MAAM,MAAM,CAAe,SAAS,CAAC,WAAW,CAAC,aAAa,EAAE,WAAW,CAAC,CAAC,CAAC;IAElG,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,UAAU,GAAG,MAAM,OAAO,CAAa,SAAS,CAAC,WAAW,CAAC,aAAa,EAAE,WAAW,CAAC,EAAE;QAC/F,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,aAAqB,EACrB,WAAmB,EACnB,YAAoB,EACpB,UAAmB;IAEnB,MAAM,SAAS,CAAC,SAAS,CAAC,UAAU,CAAC,aAAa,EAAE,WAAW,EAAE,YAAY,CAAC,CAAC,CAAC;IAEhF,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,6 @@
|
|
|
1
1
|
export declare function listJournals(workspaceSlug: string, jsonOutput: boolean): Promise<void>;
|
|
2
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>;
|
|
3
|
+
export declare function getJournal(workspaceSlug: string, journalSlug: string, jsonOutput: boolean, verbose?: boolean): Promise<void>;
|
|
4
4
|
export declare function renameJournal(workspaceSlug: string, journalSlug: string, newName: string, jsonOutput: boolean): Promise<void>;
|
|
5
5
|
export declare function setJournalSlug(workspaceSlug: string, journalSlug: string, newSlug: string, jsonOutput: boolean): Promise<void>;
|
|
6
6
|
export declare function deleteJournal(workspaceSlug: string, journalSlug: string, jsonOutput: boolean): Promise<void>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"journals.d.ts","sourceRoot":"","sources":["../../src/commands/journals.ts"],"names":[],"mappings":"
|
|
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,CA0C5F;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,CAe7F"}
|
|
@@ -1,14 +1,13 @@
|
|
|
1
1
|
import { existsSync } from 'node:fs';
|
|
2
2
|
import { join } from 'node:path';
|
|
3
3
|
import { SHARED_WITH_ME_SLUG } from '@workjournal/shared';
|
|
4
|
-
import { API_PATHS, apiDelete, apiGet, apiPatch, apiPost
|
|
4
|
+
import { API_PATHS, apiDelete, apiGet, apiPatch, apiPost } from '../api-client.js';
|
|
5
5
|
import { readConfig, writeConfig } from '../config.js';
|
|
6
6
|
import { formatTable } from '../formatting.js';
|
|
7
7
|
import { writeProjectConfig } from '../project-config.js';
|
|
8
8
|
export async function listJournals(workspaceSlug, jsonOutput) {
|
|
9
|
-
const token = await requireAuth();
|
|
10
9
|
if (workspaceSlug === SHARED_WITH_ME_SLUG) {
|
|
11
|
-
const result = await apiGet(API_PATHS.sharedWithMeJournals
|
|
10
|
+
const result = await apiGet(API_PATHS.sharedWithMeJournals);
|
|
12
11
|
if (jsonOutput) {
|
|
13
12
|
process.stdout.write(`${JSON.stringify(result, null, 2)}\n`);
|
|
14
13
|
return;
|
|
@@ -27,7 +26,7 @@ export async function listJournals(workspaceSlug, jsonOutput) {
|
|
|
27
26
|
process.stdout.write(formatTable(headers, rows));
|
|
28
27
|
return;
|
|
29
28
|
}
|
|
30
|
-
const result = await apiGet(API_PATHS.journals(workspaceSlug)
|
|
29
|
+
const result = await apiGet(API_PATHS.journals(workspaceSlug));
|
|
31
30
|
if (jsonOutput) {
|
|
32
31
|
process.stdout.write(`${JSON.stringify(result, null, 2)}\n`);
|
|
33
32
|
return;
|
|
@@ -41,20 +40,18 @@ export async function listJournals(workspaceSlug, jsonOutput) {
|
|
|
41
40
|
process.stdout.write(formatTable(headers, rows));
|
|
42
41
|
}
|
|
43
42
|
export async function createJournal(workspaceSlug, name, slug, jsonOutput) {
|
|
44
|
-
const token = await requireAuth();
|
|
45
43
|
const body = { name };
|
|
46
44
|
if (slug)
|
|
47
45
|
body.slug = slug;
|
|
48
|
-
const journal = await apiPost(API_PATHS.journals(workspaceSlug),
|
|
46
|
+
const journal = await apiPost(API_PATHS.journals(workspaceSlug), body);
|
|
49
47
|
if (jsonOutput) {
|
|
50
48
|
process.stdout.write(`${JSON.stringify(journal, null, 2)}\n`);
|
|
51
49
|
return;
|
|
52
50
|
}
|
|
53
51
|
process.stdout.write(`Journal created:\n Slug: ${journal.slug}\n Name: ${journal.name}\n`);
|
|
54
52
|
}
|
|
55
|
-
export async function getJournal(workspaceSlug, journalSlug, jsonOutput) {
|
|
56
|
-
const
|
|
57
|
-
const journal = await apiGet(API_PATHS.journal(workspaceSlug, journalSlug), token);
|
|
53
|
+
export async function getJournal(workspaceSlug, journalSlug, jsonOutput, verbose = false) {
|
|
54
|
+
const journal = await apiGet(API_PATHS.journal(workspaceSlug, journalSlug));
|
|
58
55
|
if (jsonOutput) {
|
|
59
56
|
process.stdout.write(`${JSON.stringify(journal, null, 2)}\n`);
|
|
60
57
|
return;
|
|
@@ -65,13 +62,20 @@ export async function getJournal(workspaceSlug, journalSlug, jsonOutput) {
|
|
|
65
62
|
process.stdout.write(`Description: ${journal.description}\n`);
|
|
66
63
|
}
|
|
67
64
|
process.stdout.write(`Created: ${journal.created_at}\n`);
|
|
68
|
-
if (journal.
|
|
69
|
-
process.stdout.write(`Role: ${journal.
|
|
65
|
+
if (journal.contributor) {
|
|
66
|
+
process.stdout.write(`Role: ${journal.contributor.role}\n`);
|
|
67
|
+
}
|
|
68
|
+
// `prompt` is always populated per the journal-fetch contract (issue #240).
|
|
69
|
+
const promptLabel = journal.prompt.source === 'custom'
|
|
70
|
+
? (journal.prompt.name ?? journal.prompt.slug ?? 'custom')
|
|
71
|
+
: 'system default';
|
|
72
|
+
process.stdout.write(`Prompt: ${promptLabel}\n`);
|
|
73
|
+
if (verbose) {
|
|
74
|
+
process.stdout.write(`\n${journal.prompt.body}\n`);
|
|
70
75
|
}
|
|
71
76
|
}
|
|
72
77
|
export async function renameJournal(workspaceSlug, journalSlug, newName, jsonOutput) {
|
|
73
|
-
const
|
|
74
|
-
const journal = await apiPatch(API_PATHS.journal(workspaceSlug, journalSlug), token, {
|
|
78
|
+
const journal = await apiPatch(API_PATHS.journal(workspaceSlug, journalSlug), {
|
|
75
79
|
name: newName,
|
|
76
80
|
});
|
|
77
81
|
if (jsonOutput) {
|
|
@@ -81,9 +85,8 @@ export async function renameJournal(workspaceSlug, journalSlug, newName, jsonOut
|
|
|
81
85
|
process.stdout.write(`Journal renamed:\n Slug: ${journal.slug}\n Name: ${journal.name}\n`);
|
|
82
86
|
}
|
|
83
87
|
export async function setJournalSlug(workspaceSlug, journalSlug, newSlug, jsonOutput) {
|
|
84
|
-
const token = await requireAuth();
|
|
85
88
|
process.stderr.write('Note: changing the slug breaks any existing links to this journal.\n');
|
|
86
|
-
const journal = await apiPatch(API_PATHS.journal(workspaceSlug, journalSlug),
|
|
89
|
+
const journal = await apiPatch(API_PATHS.journal(workspaceSlug, journalSlug), {
|
|
87
90
|
slug: newSlug,
|
|
88
91
|
});
|
|
89
92
|
if (jsonOutput) {
|
|
@@ -93,8 +96,7 @@ export async function setJournalSlug(workspaceSlug, journalSlug, newSlug, jsonOu
|
|
|
93
96
|
process.stdout.write(`Journal slug updated:\n Slug: ${journal.slug}\n Name: ${journal.name}\n`);
|
|
94
97
|
}
|
|
95
98
|
export async function deleteJournal(workspaceSlug, journalSlug, jsonOutput) {
|
|
96
|
-
|
|
97
|
-
await apiDelete(API_PATHS.journal(workspaceSlug, journalSlug), token);
|
|
99
|
+
await apiDelete(API_PATHS.journal(workspaceSlug, journalSlug));
|
|
98
100
|
if (jsonOutput) {
|
|
99
101
|
process.stdout.write(`${JSON.stringify({ deleted: { workspaceSlug, journalSlug } }, null, 2)}\n`);
|
|
100
102
|
return;
|
|
@@ -102,9 +104,8 @@ export async function deleteJournal(workspaceSlug, journalSlug, jsonOutput) {
|
|
|
102
104
|
process.stdout.write(`Journal ${workspaceSlug}/${journalSlug} deleted.\n`);
|
|
103
105
|
}
|
|
104
106
|
export async function selectJournal(workspaceSlug, journalSlug) {
|
|
105
|
-
const token = await requireAuth();
|
|
106
107
|
// Verify the journal exists / user has access before persisting selection.
|
|
107
|
-
await apiGet(API_PATHS.journal(workspaceSlug, journalSlug)
|
|
108
|
+
await apiGet(API_PATHS.journal(workspaceSlug, journalSlug));
|
|
108
109
|
const config = readConfig();
|
|
109
110
|
config.workspaceSlug = workspaceSlug;
|
|
110
111
|
config.journalSlug = journalSlug;
|
|
@@ -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;
|
|
1
|
+
{"version":3,"file":"journals.js","sourceRoot":"","sources":["../../src/commands/journals.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import type { UpdatePromptRequest } from '@workjournal/shared';
|
|
2
|
+
export declare function listPrompts(workspaceSlug: string, jsonOutput: boolean): Promise<void>;
|
|
3
|
+
export declare function createPrompt(workspaceSlug: string, name: string, body: string, slug: string | undefined, jsonOutput: boolean): Promise<void>;
|
|
4
|
+
export declare function getPrompt(workspaceSlug: string, promptSlug: string, jsonOutput: boolean): Promise<void>;
|
|
5
|
+
export declare function updatePrompt(workspaceSlug: string, promptSlug: string, updates: UpdatePromptRequest, jsonOutput: boolean): Promise<void>;
|
|
6
|
+
export declare function deletePrompt(workspaceSlug: string, promptSlug: string, jsonOutput: boolean): Promise<void>;
|
|
7
|
+
export declare function assignJournalPrompt(workspaceSlug: string, journalSlug: string, promptSlug: string, jsonOutput: boolean): Promise<void>;
|
|
8
|
+
export declare function unassignJournalPrompt(workspaceSlug: string, journalSlug: string, jsonOutput: boolean): Promise<void>;
|
|
9
|
+
//# sourceMappingURL=prompts.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"prompts.d.ts","sourceRoot":"","sources":["../../src/commands/prompts.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAKX,mBAAmB,EACnB,MAAM,qBAAqB,CAAC;AAI7B,wBAAsB,WAAW,CAAC,aAAa,EAAE,MAAM,EAAE,UAAU,EAAE,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC,CAgB3F;AAED,wBAAsB,YAAY,CACjC,aAAa,EAAE,MAAM,EACrB,IAAI,EAAE,MAAM,EACZ,IAAI,EAAE,MAAM,EACZ,IAAI,EAAE,MAAM,GAAG,SAAS,EACxB,UAAU,EAAE,OAAO,GACjB,OAAO,CAAC,IAAI,CAAC,CAWf;AAED,wBAAsB,SAAS,CAC9B,aAAa,EAAE,MAAM,EACrB,UAAU,EAAE,MAAM,EAClB,UAAU,EAAE,OAAO,GACjB,OAAO,CAAC,IAAI,CAAC,CAYf;AAED,wBAAsB,YAAY,CACjC,aAAa,EAAE,MAAM,EACrB,UAAU,EAAE,MAAM,EAClB,OAAO,EAAE,mBAAmB,EAC5B,UAAU,EAAE,OAAO,GACjB,OAAO,CAAC,IAAI,CAAC,CASf;AAED,wBAAsB,YAAY,CACjC,aAAa,EAAE,MAAM,EACrB,UAAU,EAAE,MAAM,EAClB,UAAU,EAAE,OAAO,GACjB,OAAO,CAAC,IAAI,CAAC,CAWf;AAED,wBAAsB,mBAAmB,CACxC,aAAa,EAAE,MAAM,EACrB,WAAW,EAAE,MAAM,EACnB,UAAU,EAAE,MAAM,EAClB,UAAU,EAAE,OAAO,GACjB,OAAO,CAAC,IAAI,CAAC,CAWf;AAED,wBAAsB,qBAAqB,CAC1C,aAAa,EAAE,MAAM,EACrB,WAAW,EAAE,MAAM,EACnB,UAAU,EAAE,OAAO,GACjB,OAAO,CAAC,IAAI,CAAC,CA6Bf"}
|
|
@@ -0,0 +1,83 @@
|
|
|
1
|
+
import { API_PATHS, apiDelete, apiGet, apiPatch, apiPost, apiPut } from '../api-client.js';
|
|
2
|
+
import { formatTable } from '../formatting.js';
|
|
3
|
+
export async function listPrompts(workspaceSlug, jsonOutput) {
|
|
4
|
+
const result = await apiGet(API_PATHS.prompts(workspaceSlug));
|
|
5
|
+
if (jsonOutput) {
|
|
6
|
+
process.stdout.write(`${JSON.stringify(result, null, 2)}\n`);
|
|
7
|
+
return;
|
|
8
|
+
}
|
|
9
|
+
if (result.data.length === 0) {
|
|
10
|
+
process.stdout.write('No prompts in this workspace.\n');
|
|
11
|
+
return;
|
|
12
|
+
}
|
|
13
|
+
const headers = ['Slug', 'Name', 'Updated'];
|
|
14
|
+
const rows = result.data.map((p) => [p.slug, p.name, p.updated_at]);
|
|
15
|
+
process.stdout.write(formatTable(headers, rows));
|
|
16
|
+
}
|
|
17
|
+
export async function createPrompt(workspaceSlug, name, body, slug, jsonOutput) {
|
|
18
|
+
const requestBody = { name, body };
|
|
19
|
+
if (slug)
|
|
20
|
+
requestBody.slug = slug;
|
|
21
|
+
const prompt = await apiPost(API_PATHS.prompts(workspaceSlug), requestBody);
|
|
22
|
+
if (jsonOutput) {
|
|
23
|
+
process.stdout.write(`${JSON.stringify(prompt, null, 2)}\n`);
|
|
24
|
+
return;
|
|
25
|
+
}
|
|
26
|
+
process.stdout.write(`Prompt created:\n Slug: ${prompt.slug}\n Name: ${prompt.name}\n`);
|
|
27
|
+
}
|
|
28
|
+
export async function getPrompt(workspaceSlug, promptSlug, jsonOutput) {
|
|
29
|
+
const prompt = await apiGet(API_PATHS.prompt(workspaceSlug, promptSlug));
|
|
30
|
+
if (jsonOutput) {
|
|
31
|
+
process.stdout.write(`${JSON.stringify(prompt, null, 2)}\n`);
|
|
32
|
+
return;
|
|
33
|
+
}
|
|
34
|
+
process.stdout.write(`Slug: ${prompt.slug}\n`);
|
|
35
|
+
process.stdout.write(`Name: ${prompt.name}\n`);
|
|
36
|
+
process.stdout.write(`Updated: ${prompt.updated_at}\n\n`);
|
|
37
|
+
process.stdout.write(`${prompt.body}\n`);
|
|
38
|
+
}
|
|
39
|
+
export async function updatePrompt(workspaceSlug, promptSlug, updates, jsonOutput) {
|
|
40
|
+
const prompt = await apiPatch(API_PATHS.prompt(workspaceSlug, promptSlug), updates);
|
|
41
|
+
if (jsonOutput) {
|
|
42
|
+
process.stdout.write(`${JSON.stringify(prompt, null, 2)}\n`);
|
|
43
|
+
return;
|
|
44
|
+
}
|
|
45
|
+
process.stdout.write(`Prompt updated:\n Slug: ${prompt.slug}\n Name: ${prompt.name}\n`);
|
|
46
|
+
}
|
|
47
|
+
export async function deletePrompt(workspaceSlug, promptSlug, jsonOutput) {
|
|
48
|
+
await apiDelete(API_PATHS.prompt(workspaceSlug, promptSlug));
|
|
49
|
+
if (jsonOutput) {
|
|
50
|
+
process.stdout.write(`${JSON.stringify({ deleted: { workspaceSlug, promptSlug } }, null, 2)}\n`);
|
|
51
|
+
return;
|
|
52
|
+
}
|
|
53
|
+
process.stdout.write(`Prompt ${workspaceSlug}/${promptSlug} deleted.\n`);
|
|
54
|
+
}
|
|
55
|
+
export async function assignJournalPrompt(workspaceSlug, journalSlug, promptSlug, jsonOutput) {
|
|
56
|
+
await apiPut(API_PATHS.journalPrompt(workspaceSlug, journalSlug, promptSlug));
|
|
57
|
+
if (jsonOutput) {
|
|
58
|
+
process.stdout.write(`${JSON.stringify({ assigned: { workspaceSlug, journalSlug, promptSlug } }, null, 2)}\n`);
|
|
59
|
+
return;
|
|
60
|
+
}
|
|
61
|
+
process.stdout.write(`Prompt ${promptSlug} assigned to ${workspaceSlug}/${journalSlug}.\n`);
|
|
62
|
+
}
|
|
63
|
+
export async function unassignJournalPrompt(workspaceSlug, journalSlug, jsonOutput) {
|
|
64
|
+
// Fetch the journal first to read the currently-assigned prompt slug. The
|
|
65
|
+
// API's DELETE route requires the slug in the path to match the actual
|
|
66
|
+
// assignment — we never fabricate a placeholder.
|
|
67
|
+
const journal = await apiGet(API_PATHS.journal(workspaceSlug, journalSlug));
|
|
68
|
+
if (!journal.prompt || journal.prompt.source !== 'custom' || !journal.prompt.slug) {
|
|
69
|
+
if (jsonOutput) {
|
|
70
|
+
process.stdout.write(`${JSON.stringify({ unassigned: false, reason: 'no custom prompt assigned' }, null, 2)}\n`);
|
|
71
|
+
return;
|
|
72
|
+
}
|
|
73
|
+
process.stdout.write(`${workspaceSlug}/${journalSlug} is already on the system default — nothing to unassign.\n`);
|
|
74
|
+
return;
|
|
75
|
+
}
|
|
76
|
+
await apiDelete(API_PATHS.journalPrompt(workspaceSlug, journalSlug, journal.prompt.slug));
|
|
77
|
+
if (jsonOutput) {
|
|
78
|
+
process.stdout.write(`${JSON.stringify({ unassigned: { workspaceSlug, journalSlug } }, null, 2)}\n`);
|
|
79
|
+
return;
|
|
80
|
+
}
|
|
81
|
+
process.stdout.write(`Prompt unassigned from ${workspaceSlug}/${journalSlug}.\n`);
|
|
82
|
+
}
|
|
83
|
+
//# sourceMappingURL=prompts.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"prompts.js","sourceRoot":"","sources":["../../src/commands/prompts.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"shares.d.ts","sourceRoot":"","sources":["../../src/commands/shares.ts"],"names":[],"mappings":"AAUA,wBAAsB,UAAU,CAC/B,aAAa,EAAE,MAAM,EACrB,WAAW,EAAE,MAAM,EACnB,UAAU,EAAE,OAAO,GACjB,OAAO,CAAC,IAAI,CAAC,
|
|
1
|
+
{"version":3,"file":"shares.d.ts","sourceRoot":"","sources":["../../src/commands/shares.ts"],"names":[],"mappings":"AAUA,wBAAsB,UAAU,CAC/B,aAAa,EAAE,MAAM,EACrB,WAAW,EAAE,MAAM,EACnB,UAAU,EAAE,OAAO,GACjB,OAAO,CAAC,IAAI,CAAC,CAkBf;AAED,wBAAsB,WAAW,CAChC,aAAa,EAAE,MAAM,EACrB,WAAW,EAAE,MAAM,EACnB,KAAK,EAAE,MAAM,EACb,UAAU,EAAE,OAAO,GACjB,OAAO,CAAC,IAAI,CAAC,CAoBf"}
|
package/dist/commands/shares.js
CHANGED
|
@@ -1,30 +1,28 @@
|
|
|
1
|
-
import { API_PATHS, apiDelete, apiGet
|
|
1
|
+
import { API_PATHS, apiDelete, apiGet } from '../api-client.js';
|
|
2
2
|
import { formatTable } from '../formatting.js';
|
|
3
3
|
export async function listShares(workspaceSlug, journalSlug, jsonOutput) {
|
|
4
|
-
const
|
|
5
|
-
const members = await apiGet(API_PATHS.members(workspaceSlug, journalSlug), token);
|
|
4
|
+
const contributors = await apiGet(API_PATHS.contributors(workspaceSlug, journalSlug));
|
|
6
5
|
if (jsonOutput) {
|
|
7
|
-
process.stdout.write(`${JSON.stringify(
|
|
6
|
+
process.stdout.write(`${JSON.stringify(contributors, null, 2)}\n`);
|
|
8
7
|
return;
|
|
9
8
|
}
|
|
10
|
-
if (
|
|
11
|
-
process.stdout.write('No
|
|
9
|
+
if (contributors.length === 0) {
|
|
10
|
+
process.stdout.write('No contributors found.\n');
|
|
12
11
|
return;
|
|
13
12
|
}
|
|
14
13
|
const headers = ['Email', 'Role', 'Joined'];
|
|
15
|
-
const rows =
|
|
14
|
+
const rows = contributors.map((c) => [c.email, c.role, c.created_at]);
|
|
16
15
|
process.stdout.write(formatTable(headers, rows));
|
|
17
16
|
}
|
|
18
17
|
export async function deleteShare(workspaceSlug, journalSlug, email, jsonOutput) {
|
|
19
|
-
const
|
|
20
|
-
const members = await apiGet(API_PATHS.members(workspaceSlug, journalSlug), token);
|
|
18
|
+
const contributors = await apiGet(API_PATHS.contributors(workspaceSlug, journalSlug));
|
|
21
19
|
const normalizedEmail = email.trim().toLowerCase();
|
|
22
|
-
const
|
|
23
|
-
if (!
|
|
24
|
-
process.stderr.write(`No
|
|
20
|
+
const contributor = contributors.find((c) => c.email.trim().toLowerCase() === normalizedEmail);
|
|
21
|
+
if (!contributor) {
|
|
22
|
+
process.stderr.write(`No contributor found with email: ${email}\n`);
|
|
25
23
|
process.exit(1);
|
|
26
24
|
}
|
|
27
|
-
await apiDelete(API_PATHS.
|
|
25
|
+
await apiDelete(API_PATHS.contributor(workspaceSlug, journalSlug, contributor.user_id));
|
|
28
26
|
if (jsonOutput) {
|
|
29
27
|
process.stdout.write(`${JSON.stringify({ deleted: email }, null, 2)}\n`);
|
|
30
28
|
return;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"shares.js","sourceRoot":"","sources":["../../src/commands/shares.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,EAAE,
|
|
1
|
+
{"version":3,"file":"shares.js","sourceRoot":"","sources":["../../src/commands/shares.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAC;AAChE,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAS/C,MAAM,CAAC,KAAK,UAAU,UAAU,CAC/B,aAAqB,EACrB,WAAmB,EACnB,UAAmB;IAEnB,MAAM,YAAY,GAAG,MAAM,MAAM,CAChC,SAAS,CAAC,YAAY,CAAC,aAAa,EAAE,WAAW,CAAC,CAClD,CAAC;IAEF,IAAI,UAAU,EAAE,CAAC;QAChB,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC,YAAY,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC;QACnE,OAAO;IACR,CAAC;IAED,IAAI,YAAY,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC/B,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,0BAA0B,CAAC,CAAC;QACjD,OAAO;IACR,CAAC;IAED,MAAM,OAAO,GAAG,CAAC,OAAO,EAAE,MAAM,EAAE,QAAQ,CAAC,CAAC;IAC5C,MAAM,IAAI,GAAG,YAAY,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC;IACtE,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,WAAW,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC,CAAC;AAClD,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,WAAW,CAChC,aAAqB,EACrB,WAAmB,EACnB,KAAa,EACb,UAAmB;IAEnB,MAAM,YAAY,GAAG,MAAM,MAAM,CAChC,SAAS,CAAC,YAAY,CAAC,aAAa,EAAE,WAAW,CAAC,CAClD,CAAC;IACF,MAAM,eAAe,GAAG,KAAK,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;IACnD,MAAM,WAAW,GAAG,YAAY,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,KAAK,eAAe,CAAC,CAAC;IAE/F,IAAI,CAAC,WAAW,EAAE,CAAC;QAClB,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,oCAAoC,KAAK,IAAI,CAAC,CAAC;QACpE,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IACjB,CAAC;IAED,MAAM,SAAS,CAAC,SAAS,CAAC,WAAW,CAAC,aAAa,EAAE,WAAW,EAAE,WAAW,CAAC,OAAO,CAAC,CAAC,CAAC;IAExF,IAAI,UAAU,EAAE,CAAC;QAChB,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC;QACzE,OAAO;IACR,CAAC;IAED,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,WAAW,KAAK,kBAAkB,CAAC,CAAC;AAC1D,CAAC"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import type { UpdateTagRequest } from '@workjournal/shared';
|
|
2
|
+
export declare function listTags(workspaceSlug: string, journalSlug: string | undefined, jsonOutput: boolean): Promise<void>;
|
|
3
|
+
export declare function createTag(workspaceSlug: string, name: string, description: string | undefined, journalSlug: string | undefined, jsonOutput: boolean): Promise<void>;
|
|
4
|
+
export declare function getTag(workspaceSlug: string, tagName: string, journalSlug: string | undefined, jsonOutput: boolean): Promise<void>;
|
|
5
|
+
export declare function updateTag(workspaceSlug: string, tagName: string, updates: UpdateTagRequest, journalSlug: string | undefined, jsonOutput: boolean): Promise<void>;
|
|
6
|
+
export declare function deleteTag(workspaceSlug: string, tagName: string, journalSlug: string | undefined, jsonOutput: boolean): Promise<void>;
|
|
7
|
+
//# sourceMappingURL=tags.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tags.d.ts","sourceRoot":"","sources":["../../src/commands/tags.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAyB,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AAenF,wBAAsB,QAAQ,CAC7B,aAAa,EAAE,MAAM,EACrB,WAAW,EAAE,MAAM,GAAG,SAAS,EAC/B,UAAU,EAAE,OAAO,GACjB,OAAO,CAAC,IAAI,CAAC,CA0Bf;AAED,wBAAsB,SAAS,CAC9B,aAAa,EAAE,MAAM,EACrB,IAAI,EAAE,MAAM,EACZ,WAAW,EAAE,MAAM,GAAG,SAAS,EAC/B,WAAW,EAAE,MAAM,GAAG,SAAS,EAC/B,UAAU,EAAE,OAAO,GACjB,OAAO,CAAC,IAAI,CAAC,CAcf;AAED,wBAAsB,MAAM,CAC3B,aAAa,EAAE,MAAM,EACrB,OAAO,EAAE,MAAM,EACf,WAAW,EAAE,MAAM,GAAG,SAAS,EAC/B,UAAU,EAAE,OAAO,GACjB,OAAO,CAAC,IAAI,CAAC,CA+Bf;AAED,wBAAsB,SAAS,CAC9B,aAAa,EAAE,MAAM,EACrB,OAAO,EAAE,MAAM,EACf,OAAO,EAAE,gBAAgB,EACzB,WAAW,EAAE,MAAM,GAAG,SAAS,EAC/B,UAAU,EAAE,OAAO,GACjB,OAAO,CAAC,IAAI,CAAC,CAYf;AAED,wBAAsB,SAAS,CAC9B,aAAa,EAAE,MAAM,EACrB,OAAO,EAAE,MAAM,EACf,WAAW,EAAE,MAAM,GAAG,SAAS,EAC/B,UAAU,EAAE,OAAO,GACjB,OAAO,CAAC,IAAI,CAAC,CAYf"}
|
|
@@ -0,0 +1,87 @@
|
|
|
1
|
+
import { API_PATHS, apiDelete, apiGet, apiPatch, apiPost } from '../api-client.js';
|
|
2
|
+
import { formatTable } from '../formatting.js';
|
|
3
|
+
/**
|
|
4
|
+
* Workspace-scoped tag registry with optional per-journal scope dimension
|
|
5
|
+
* (Pattern D — issue #239). All commands are owner-only at the API; tier
|
|
6
|
+
* gating applies to POST only (PATCH / DELETE allowed on any tier so a
|
|
7
|
+
* downgraded workspace can still scrub leftover rows).
|
|
8
|
+
*/
|
|
9
|
+
function buildScopedPath(base, journalSlug) {
|
|
10
|
+
return journalSlug ? `${base}?journal_slug=${encodeURIComponent(journalSlug)}` : base;
|
|
11
|
+
}
|
|
12
|
+
export async function listTags(workspaceSlug, journalSlug, jsonOutput) {
|
|
13
|
+
const result = await apiGet(buildScopedPath(API_PATHS.tags(workspaceSlug), journalSlug));
|
|
14
|
+
if (jsonOutput) {
|
|
15
|
+
process.stdout.write(`${JSON.stringify(result, null, 2)}\n`);
|
|
16
|
+
return;
|
|
17
|
+
}
|
|
18
|
+
if (result.data.length === 0) {
|
|
19
|
+
process.stdout.write(journalSlug
|
|
20
|
+
? `No tags visible from journal ${workspaceSlug}/${journalSlug}.\n`
|
|
21
|
+
: `No tags in workspace ${workspaceSlug}.\n`);
|
|
22
|
+
return;
|
|
23
|
+
}
|
|
24
|
+
const headers = ['Name', 'Scope', 'Description'];
|
|
25
|
+
const rows = result.data.map((t) => [
|
|
26
|
+
t.name,
|
|
27
|
+
t.journal_id === null ? 'workspace' : 'journal',
|
|
28
|
+
t.description ?? '',
|
|
29
|
+
]);
|
|
30
|
+
process.stdout.write(formatTable(headers, rows));
|
|
31
|
+
}
|
|
32
|
+
export async function createTag(workspaceSlug, name, description, journalSlug, jsonOutput) {
|
|
33
|
+
const body = { name };
|
|
34
|
+
if (description !== undefined)
|
|
35
|
+
body.description = description;
|
|
36
|
+
if (journalSlug !== undefined)
|
|
37
|
+
body.journal_slug = journalSlug;
|
|
38
|
+
const tag = await apiPost(API_PATHS.tags(workspaceSlug), body);
|
|
39
|
+
if (jsonOutput) {
|
|
40
|
+
process.stdout.write(`${JSON.stringify(tag, null, 2)}\n`);
|
|
41
|
+
return;
|
|
42
|
+
}
|
|
43
|
+
process.stdout.write(`Tag created:\n Name: ${tag.name}\n Scope: ${tag.journal_id === null ? 'workspace' : 'journal'}\n`);
|
|
44
|
+
}
|
|
45
|
+
export async function getTag(workspaceSlug, tagName, journalSlug, jsonOutput) {
|
|
46
|
+
// `GET /tags/:name` isn't exposed by M2 — list-and-filter is the
|
|
47
|
+
// canonical way to fetch a single tag's metadata at this milestone.
|
|
48
|
+
// When `journalSlug` is set, the API returns (workspace-scope ∪ that
|
|
49
|
+
// journal's tags); prefer the journal-scoped row over the workspace one
|
|
50
|
+
// when both exist (narrower scope wins, matches API filter semantics).
|
|
51
|
+
const result = await apiGet(buildScopedPath(API_PATHS.tags(workspaceSlug), journalSlug));
|
|
52
|
+
const candidates = result.data.filter((t) => t.name === tagName);
|
|
53
|
+
const tag = journalSlug
|
|
54
|
+
? (candidates.find((t) => t.journal_id !== null) ??
|
|
55
|
+
candidates.find((t) => t.journal_id === null))
|
|
56
|
+
: candidates.find((t) => t.journal_id === null);
|
|
57
|
+
if (!tag) {
|
|
58
|
+
process.stderr.write(`Tag '${tagName}' not found${journalSlug ? ` in journal ${workspaceSlug}/${journalSlug}` : ` in workspace ${workspaceSlug}`}.\n`);
|
|
59
|
+
process.exit(1);
|
|
60
|
+
}
|
|
61
|
+
if (jsonOutput) {
|
|
62
|
+
process.stdout.write(`${JSON.stringify(tag, null, 2)}\n`);
|
|
63
|
+
return;
|
|
64
|
+
}
|
|
65
|
+
process.stdout.write(`Name: ${tag.name}\n`);
|
|
66
|
+
process.stdout.write(`Scope: ${tag.journal_id === null ? 'workspace' : 'journal'}\n`);
|
|
67
|
+
process.stdout.write(`Description: ${tag.description ?? '(none)'}\n`);
|
|
68
|
+
process.stdout.write(`Updated: ${tag.updated_at}\n`);
|
|
69
|
+
}
|
|
70
|
+
export async function updateTag(workspaceSlug, tagName, updates, journalSlug, jsonOutput) {
|
|
71
|
+
const tag = await apiPatch(buildScopedPath(API_PATHS.tag(workspaceSlug, tagName), journalSlug), updates);
|
|
72
|
+
if (jsonOutput) {
|
|
73
|
+
process.stdout.write(`${JSON.stringify(tag, null, 2)}\n`);
|
|
74
|
+
return;
|
|
75
|
+
}
|
|
76
|
+
process.stdout.write(`Tag updated:\n Name: ${tag.name}\n`);
|
|
77
|
+
}
|
|
78
|
+
export async function deleteTag(workspaceSlug, tagName, journalSlug, jsonOutput) {
|
|
79
|
+
await apiDelete(buildScopedPath(API_PATHS.tag(workspaceSlug, tagName), journalSlug));
|
|
80
|
+
if (jsonOutput) {
|
|
81
|
+
process.stdout.write(`${JSON.stringify({ deleted: { workspaceSlug, tagName, journalSlug: journalSlug ?? null } }, null, 2)}\n`);
|
|
82
|
+
return;
|
|
83
|
+
}
|
|
84
|
+
const scope = journalSlug ? `${workspaceSlug}/${journalSlug}` : workspaceSlug;
|
|
85
|
+
process.stdout.write(`Tag '${tagName}' deleted from ${scope}.\n`);
|
|
86
|
+
}
|
|
87
|
+
//# sourceMappingURL=tags.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tags.js","sourceRoot":"","sources":["../../src/commands/tags.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"workspaces.d.ts","sourceRoot":"","sources":["../../src/commands/workspaces.ts"],"names":[],"mappings":"AAMA,wBAAsB,cAAc,CAAC,UAAU,EAAE,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC,
|
|
1
|
+
{"version":3,"file":"workspaces.d.ts","sourceRoot":"","sources":["../../src/commands/workspaces.ts"],"names":[],"mappings":"AAMA,wBAAsB,cAAc,CAAC,UAAU,EAAE,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC,CAgBvE;AAED,wBAAsB,YAAY,CAAC,aAAa,EAAE,MAAM,EAAE,UAAU,EAAE,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC,CAY5F;AAED,wBAAsB,eAAe,CAAC,aAAa,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAoB1E"}
|
|
@@ -1,10 +1,9 @@
|
|
|
1
|
-
import { API_PATHS, apiGet
|
|
1
|
+
import { API_PATHS, apiGet } from '../api-client.js';
|
|
2
2
|
import { readConfig, writeConfig } from '../config.js';
|
|
3
3
|
import { formatTable } from '../formatting.js';
|
|
4
4
|
import { getProjectConfigPath } from '../project-config.js';
|
|
5
5
|
export async function listWorkspaces(jsonOutput) {
|
|
6
|
-
const
|
|
7
|
-
const result = await apiGet(API_PATHS.workspaces, token);
|
|
6
|
+
const result = await apiGet(API_PATHS.workspaces);
|
|
8
7
|
if (jsonOutput) {
|
|
9
8
|
process.stdout.write(`${JSON.stringify(result, null, 2)}\n`);
|
|
10
9
|
return;
|
|
@@ -18,8 +17,7 @@ export async function listWorkspaces(jsonOutput) {
|
|
|
18
17
|
process.stdout.write(formatTable(headers, rows));
|
|
19
18
|
}
|
|
20
19
|
export async function getWorkspace(workspaceSlug, jsonOutput) {
|
|
21
|
-
const
|
|
22
|
-
const workspace = await apiGet(API_PATHS.workspace(workspaceSlug), token);
|
|
20
|
+
const workspace = await apiGet(API_PATHS.workspace(workspaceSlug));
|
|
23
21
|
if (jsonOutput) {
|
|
24
22
|
process.stdout.write(`${JSON.stringify(workspace, null, 2)}\n`);
|
|
25
23
|
return;
|
|
@@ -30,9 +28,8 @@ export async function getWorkspace(workspaceSlug, jsonOutput) {
|
|
|
30
28
|
process.stdout.write(`Created: ${workspace.created_at}\n`);
|
|
31
29
|
}
|
|
32
30
|
export async function selectWorkspace(workspaceSlug) {
|
|
33
|
-
const token = await requireAuth();
|
|
34
31
|
// Confirm the workspace exists / user has access before persisting selection.
|
|
35
|
-
await apiGet(API_PATHS.workspace(workspaceSlug)
|
|
32
|
+
await apiGet(API_PATHS.workspace(workspaceSlug));
|
|
36
33
|
const config = readConfig();
|
|
37
34
|
config.workspaceSlug = workspaceSlug;
|
|
38
35
|
// Selecting a different workspace clears any stale journal selection.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"workspaces.js","sourceRoot":"","sources":["../../src/commands/workspaces.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,SAAS,EAAE,MAAM,EAAE,
|
|
1
|
+
{"version":3,"file":"workspaces.js","sourceRoot":"","sources":["../../src/commands/workspaces.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAC;AACrD,OAAO,EAAE,UAAU,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AACvD,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAC/C,OAAO,EAAE,oBAAoB,EAAE,MAAM,sBAAsB,CAAC;AAE5D,MAAM,CAAC,KAAK,UAAU,cAAc,CAAC,UAAmB;IACvD,MAAM,MAAM,GAAG,MAAM,MAAM,CAA+B,SAAS,CAAC,UAAU,CAAC,CAAC;IAEhF,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,wBAAwB,CAAC,CAAC;QAC/C,OAAO;IACR,CAAC;IAED,MAAM,OAAO,GAAG,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,SAAS,CAAC,CAAC;IACpD,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,SAAS,EAAE,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC;IACjF,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,WAAW,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC,CAAC;AAClD,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,YAAY,CAAC,aAAqB,EAAE,UAAmB;IAC5E,MAAM,SAAS,GAAG,MAAM,MAAM,CAAY,SAAS,CAAC,SAAS,CAAC,aAAa,CAAC,CAAC,CAAC;IAE9E,IAAI,UAAU,EAAE,CAAC;QAChB,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC;QAChE,OAAO;IACR,CAAC;IAED,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,YAAY,SAAS,CAAC,IAAI,IAAI,CAAC,CAAC;IACrD,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,YAAY,SAAS,CAAC,IAAI,IAAI,CAAC,CAAC;IACrD,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,YAAY,SAAS,CAAC,SAAS,IAAI,CAAC,CAAC;IAC1D,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,YAAY,SAAS,CAAC,UAAU,IAAI,CAAC,CAAC;AAC5D,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,eAAe,CAAC,aAAqB;IAC1D,8EAA8E;IAC9E,MAAM,MAAM,CAAY,SAAS,CAAC,SAAS,CAAC,aAAa,CAAC,CAAC,CAAC;IAE5D,MAAM,MAAM,GAAG,UAAU,EAAE,CAAC;IAC5B,MAAM,CAAC,aAAa,GAAG,aAAa,CAAC;IACrC,sEAAsE;IACtE,OAAO,MAAM,CAAC,WAAW,CAAC;IAC1B,WAAW,CAAC,MAAM,CAAC,CAAC;IACpB,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,0CAA0C,aAAa,IAAI,CAAC,CAAC;IAElF,IAAI,oBAAoB,EAAE,EAAE,CAAC;QAC5B,wEAAwE;QACxE,wEAAwE;QACxE,sEAAsE;QACtE,yEAAyE;QACzE,OAAO,CAAC,MAAM,CAAC,KAAK,CACnB,0GAA0G,CAC1G,CAAC;IACH,CAAC;AACF,CAAC"}
|