jaz-clio 5.53.1 → 5.55.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 +2 -2
- package/assets/skills/api/SKILL.md +2 -2
- package/assets/skills/cli/SKILL.md +15 -5
- package/assets/skills/cli/references/command-catalog.md +44 -1
- package/assets/skills/conversion/SKILL.md +1 -1
- package/assets/skills/jaz-kit/SKILL.md +1 -1
- package/assets/skills/jaz-pseudo-sql/SKILL.md +1 -1
- package/assets/skills/jobs/SKILL.md +1 -1
- package/assets/skills/transaction-recipes/SKILL.md +1 -1
- package/cli.mjs +494 -494
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -9,7 +9,7 @@
|
|
|
9
9
|
|
|
10
10
|
<p align="center"><b>Jaz accounting on the command line, and inside any AI agent.</b></p>
|
|
11
11
|
|
|
12
|
-
369 tools ·
|
|
12
|
+
369 tools · 72 command groups · 7 skills · 13 calculators · 12 close playbooks · 159 field-tested API rules.
|
|
13
13
|
|
|
14
14
|
```bash
|
|
15
15
|
npm install -g jaz-clio
|
|
@@ -50,7 +50,7 @@ clio magic create --file receipt.pdf # AI extracts, drafts the
|
|
|
50
50
|
clio invoices search --query 'status:unpaid AND $500+' # structured per-entity search
|
|
51
51
|
```
|
|
52
52
|
|
|
53
|
-
|
|
53
|
+
72 command groups, 16 report types, 13 calculators, 12 job playbooks. Every command takes `--json`. Run `clio --help` for the full list.
|
|
54
54
|
|
|
55
55
|
### Foreign currency
|
|
56
56
|
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: jaz-api
|
|
3
|
-
version: 5.
|
|
3
|
+
version: 5.55.0
|
|
4
4
|
description: >-
|
|
5
5
|
Use this skill whenever you call, debug, or review code that touches the Jaz
|
|
6
6
|
REST API. Covers field names, response shapes, 159 production gotchas, error
|
|
@@ -526,7 +526,7 @@ Supports `--json` for structured output. 186 articles across 20 sections. Automa
|
|
|
526
526
|
|
|
527
527
|
## Dashboard Deep Links (navigation tools)
|
|
528
528
|
|
|
529
|
-
When the user wants to OPEN, SEE, or SHARE something in the Jaz dashboard ("open this invoice", "take me to the P&L"), hand them a real URL via
|
|
529
|
+
When the user wants to OPEN, SEE, or SHARE something in the Jaz dashboard ("open this invoice", "take me to the P&L"), hand them a real URL via `navigate` — one operation, on both surfaces (`clio navigate` on the CLI, offline). Called with no `destination` it discovers destination keys (filter by `query`/`resource`/`kind`; keys are named by product area, not task wording — on zero matches retry broader: "billing", not "card"); called with a `destination` it turns the key into `{ url, kind, label }`. Screens are dotted route paths (`reports.profit-and-loss`); record modals are `<resource>.modal.<type>` (`sales.modal.view-sale`). Record-specific modals (view/edit/duplicate one record) REQUIRE `resourceId` — the same Jaz resourceId from the search/get that found the record; screens and create/"new" modals take none (a resourceId on a screen is rejected). NEVER write a dashboard URL by hand and NEVER guess a destination key — routes are not guessable, and a wrong link is worse than no link; if `navigate` errors, follow its hint (near-matches + discovery pointer) and say the link could not be built rather than improvising one. The org query param is appended automatically when the surface knows the acting org; API-key surfaces open in the user's current org on the app.jaz.ai host. Examples: "open invoice INV-042" → `search_invoices` → `navigate("sales.modal.view-sale", resourceId)`; "take me to the P&L" → `navigate("reports.profit-and-loss")`; "where do I manage users?" → `navigate(query: "user")` → `navigate("settings.modal.user_management")`. (The pre-merge tool names `find_dashboard_destinations` / `get_dashboard_url` still resolve as aliases.)
|
|
530
530
|
|
|
531
531
|
## Recommended Client Patterns
|
|
532
532
|
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: jaz-cli
|
|
3
|
-
version: 5.
|
|
3
|
+
version: 5.55.0
|
|
4
4
|
description: >-
|
|
5
5
|
Use this skill when running Clio CLI commands, building shell scripts with
|
|
6
6
|
Clio, debugging auth issues, understanding --json output, paginating results,
|
|
@@ -8,7 +8,7 @@ description: >-
|
|
|
8
8
|
precedence, output formats, entity resolution, and common workflow patterns.
|
|
9
9
|
Also use when the user asks how to use clio, what commands are available, or
|
|
10
10
|
how to automate accounting tasks from the command line. Covers all
|
|
11
|
-
|
|
11
|
+
72 command groups and 369 tools, including employee-expense claims.
|
|
12
12
|
license: MIT
|
|
13
13
|
compatibility: Requires Node.js >= 18.0.0. Install via npm install -g jaz-clio.
|
|
14
14
|
---
|
|
@@ -17,7 +17,7 @@ compatibility: Requires Node.js >= 18.0.0. Install via npm install -g jaz-clio.
|
|
|
17
17
|
|
|
18
18
|
> **Audience note:** for power users and CI/automation. Load this skill only when you're scripting from a terminal, building shell pipelines, or debugging from `clio --json` output. For day-to-day accounting inside Claude Desktop / Cowork, the MCP tools cover the common flows without dropping to the CLI.
|
|
19
19
|
|
|
20
|
-
You are working with **Clio** (`jaz-clio`) — the CLI for the Jaz accounting platform.
|
|
20
|
+
You are working with **Clio** (`jaz-clio`) — the CLI for the Jaz accounting platform. 72 command groups, 13 calculators, 12 job blueprints, 369 tools. Also fully compatible with Juan Accounting (same API, same endpoints).
|
|
21
21
|
|
|
22
22
|
## When to Use This Skill
|
|
23
23
|
|
|
@@ -291,9 +291,19 @@ Offline commands (no auth needed): `calc`, `jobs` (blueprints only), `capsule-tr
|
|
|
291
291
|
|
|
292
292
|
Everything else requires authentication (API key).
|
|
293
293
|
|
|
294
|
-
## Dashboard Deep Links
|
|
294
|
+
## Dashboard Deep Links
|
|
295
295
|
|
|
296
|
-
|
|
296
|
+
`clio navigate` (alias `nav`) builds dashboard URLs for the user ("open this invoice", "take me to the P&L"). Offline — no API key, no request.
|
|
297
|
+
|
|
298
|
+
```
|
|
299
|
+
clio navigate --query "profit" # discover the key
|
|
300
|
+
clio navigate reports.profit-and-loss # build the link
|
|
301
|
+
clio navigate sales.modal.view-sale --resource-id <id>
|
|
302
|
+
```
|
|
303
|
+
|
|
304
|
+
Only the URL goes to stdout, so `clio nav <key> | pbcopy` copies a link and nothing else. **Never hand-construct a dashboard URL and never guess a key** — routes are not guessable and a wrong link is worse than no link. An unknown key comes back with near-matches; follow them rather than improvising.
|
|
305
|
+
|
|
306
|
+
The same operation is `navigate` on the MCP surface. Full usage rules live in the jaz-api skill under "Dashboard Deep Links"; the flag reference is in `references/command-catalog.md`.
|
|
297
307
|
|
|
298
308
|
## Error Handling
|
|
299
309
|
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
# Clio Command Catalog
|
|
2
2
|
|
|
3
|
-
Complete reference for all
|
|
3
|
+
Complete reference for all 72 command groups. Organized by domain.
|
|
4
4
|
|
|
5
5
|
---
|
|
6
6
|
|
|
@@ -399,6 +399,49 @@ What the organization can be billed for. No create/update/delete upstream; maint
|
|
|
399
399
|
|
|
400
400
|
No free-text `--query`: the endpoint rejects it (`The query field is not supported for this entity`). Filters here are **plain strings, not expression objects** — `PurchaseItemFilter` declares them as bare `string`, so there is no `contains`. `purchaseResourceId` and `resourceId` also exist upstream and are reachable via `--filter`.
|
|
401
401
|
|
|
402
|
+
### `clio navigate` (alias: `nav`) — Dashboard deep links (offline, 1 tool)
|
|
403
|
+
```
|
|
404
|
+
clio navigate # discover: all destinations, capped
|
|
405
|
+
clio navigate --query invoice --kind modal # discover: narrow the search
|
|
406
|
+
clio navigate reports.profit-and-loss # build: a screen link
|
|
407
|
+
clio navigate sales.modal.view-sale --resource-id <id> # build: focus one record
|
|
408
|
+
clio navigate reports.profit-and-loss --org-id <orgResourceId>
|
|
409
|
+
```
|
|
410
|
+
**Offline** — no API key, no request. The route manifest is generated in the dashboard and committed here.
|
|
411
|
+
|
|
412
|
+
Omit the destination to SEARCH; give one to BUILD a link. Discovery caps its output and reports the true total, so narrow with `--query`, `--resource` or `--kind` when it says it truncated.
|
|
413
|
+
|
|
414
|
+
The `--query` search bridges accounting vocabulary to dashboard vocabulary: `invoice` finds the `sale` destinations, `bill` finds `purchase`, `credit note` finds `credit`. Without that, the word an accountant would type returns nothing.
|
|
415
|
+
|
|
416
|
+
`--resource-id` attaches a record and is valid only on a record-modal destination (`<resource>.modal.view-*`); a screen rejects it rather than silently dropping it. An unknown key comes back with near-matches.
|
|
417
|
+
|
|
418
|
+
The URL is the only thing on stdout — the label goes to stderr — so `clio nav <key> | pbcopy` copies a link and nothing else. Links carry no `&org=` unless you pass `--org-id`; without it the link opens in whichever organization the reader is already viewing.
|
|
419
|
+
|
|
420
|
+
### `clio modules` — Which features are enabled for the organization (read-only, 2 tools)
|
|
421
|
+
Provisioned upstream; no create/update/delete exists.
|
|
422
|
+
|
|
423
|
+
| Subcommand | Key flags |
|
|
424
|
+
|------------|-----------|
|
|
425
|
+
| `list` | `--limit`, `--offset`, `--all`, `--max-rows` |
|
|
426
|
+
| `get <resourceId>` | — |
|
|
427
|
+
|
|
428
|
+
`roleCodes` is the column that matters: a module can be enabled and still deny the caller, because access is per role. "The module is on" and "I can use it" are different questions.
|
|
429
|
+
|
|
430
|
+
### `clio report-templates` — Saved report layouts (read-only, 3 tools)
|
|
431
|
+
Authored in the dashboard; no create/update/delete exists.
|
|
432
|
+
|
|
433
|
+
| Subcommand | Key flags |
|
|
434
|
+
|------------|-----------|
|
|
435
|
+
| `list` | `--json`, `--format` — **no paging flags, deliberately** |
|
|
436
|
+
| `get <resourceId>` | — |
|
|
437
|
+
| `search` | `--report-type`, `--report-category`, `--default`, `--filter`, `--sort`, `--order` — **no paging flags** |
|
|
438
|
+
|
|
439
|
+
Neither `list` nor `search` declares `--limit`/`--offset`/`--all`/`--max-rows`: both ignore them upstream, returning the full set in one response regardless. The flags are omitted rather than accepted-and-ignored.
|
|
440
|
+
|
|
441
|
+
Two of the three search filters 500 upstream today (measured 2026-09-07): `--report-category` fails alone but works when `--report-type` is also supplied, and `--default` fails. `--report-type` alone is reliable.
|
|
442
|
+
|
|
443
|
+
`templateConfiguration` is a JSON **string**, not an object — read it with `--json`.
|
|
444
|
+
|
|
402
445
|
### `clio pseudo-sql` (alias: `sql`) — Read-only SQL over the curated reporting tables (6 tools)
|
|
403
446
|
A restricted SQL subset against Jaz's curated reporting schema, **not** the customer's database. SELECT only, single statement, 16384-char cap — the engine rejects DML, so there is no write verb.
|
|
404
447
|
|