jaz-clio 5.21.0 → 5.23.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 +6 -6
- package/assets/skills/api/SKILL.md +2 -2
- package/assets/skills/api/references/endpoints.md +50 -1
- package/assets/skills/api/references/full-api-surface.md +11 -1
- package/assets/skills/cli/SKILL.md +6 -4
- package/assets/skills/cli/references/command-catalog.md +13 -0
- package/assets/skills/conversion/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/assets/templates/platform-rules/jaz-agent-rules.md +1 -1
- package/cli.mjs +485 -485
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -3,11 +3,11 @@
|
|
|
3
3
|
<p align="center">
|
|
4
4
|
<a href="https://www.npmjs.com/package/jaz-clio"><img src="https://img.shields.io/npm/v/jaz-clio?style=for-the-badge&logo=npm" alt="npm"></a>
|
|
5
5
|
<a href="https://www.npmjs.com/package/jaz-clio"><img src="https://img.shields.io/npm/dm/jaz-clio?style=for-the-badge&label=downloads" alt="npm downloads"></a>
|
|
6
|
-
<img src="https://img.shields.io/badge/tools-
|
|
6
|
+
<img src="https://img.shields.io/badge/tools-357-blue?style=for-the-badge" alt="357 tools">
|
|
7
7
|
<a href="https://github.com/teamtinvio/jaz-ai/blob/main/LICENSE"><img src="https://img.shields.io/github/license/teamtinvio/jaz-ai?style=for-the-badge&color=green" alt="License"></a>
|
|
8
8
|
</p>
|
|
9
9
|
|
|
10
|
-
|
|
10
|
+
357 tools. 66 command groups. 13 calculators. 12 job playbooks. 158 API rules. 16 IFRS recipes.
|
|
11
11
|
|
|
12
12
|
```bash
|
|
13
13
|
npm install -g jaz-clio
|
|
@@ -18,8 +18,8 @@ Requires **Node.js 18+** ([nodejs.org](https://nodejs.org)). Also fully compatib
|
|
|
18
18
|
## Contents
|
|
19
19
|
|
|
20
20
|
- [Three Ways In](#three-ways-in) · CLI, MCP, Skills
|
|
21
|
-
- [CLI](#cli) ·
|
|
22
|
-
- [MCP Server](#mcp-server) ·
|
|
21
|
+
- [CLI](#cli) · 66 command groups
|
|
22
|
+
- [MCP Server](#mcp-server) · 357 tools for AI agents
|
|
23
23
|
- [Skills](#skills) · Teach any AI the Jaz API
|
|
24
24
|
- [Setup](#setup) · Auth, multi-org, automation
|
|
25
25
|
- [Semantic help-center search](#help-center-semantic-search-optional) · Optional OpenAI-backed retrieval
|
|
@@ -48,13 +48,13 @@ clio invoices search --query 'status:unpaid AND $500+' # Structured per-entity
|
|
|
48
48
|
clio invoices search --query 'status:unpaid' --view lean # Compact summary rows (id + key fields), then drill in with get
|
|
49
49
|
```
|
|
50
50
|
|
|
51
|
-
|
|
51
|
+
66 command groups. 16 report types. 13 calculators. 12 job playbooks. Every command supports `--json`. Run `clio --help` for the full list.
|
|
52
52
|
|
|
53
53
|
---
|
|
54
54
|
|
|
55
55
|
## MCP Server
|
|
56
56
|
|
|
57
|
-
|
|
57
|
+
357 tools, available to any AI agent that speaks MCP. Runs locally: no cloud, no ports.
|
|
58
58
|
|
|
59
59
|
> **No install at all?** Claude.ai, ChatGPT, Cowork, and Microsoft Copilot Studio can use Jaz via the **hosted connector**: add `https://mcp.jaz.ai/mcp` as a custom connector (Claude/ChatGPT) or MCP tool (Copilot Studio) and sign in (OAuth, no key). The local setup below is for terminal use, scripting, and editors that run MCP servers as local processes.
|
|
60
60
|
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: jaz-api
|
|
3
|
-
version: 5.
|
|
3
|
+
version: 5.23.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, 158 production gotchas, error
|
|
@@ -519,7 +519,7 @@ Supports `--json` for structured output. 186 articles across 20 sections. Automa
|
|
|
519
519
|
|
|
520
520
|
## Dashboard Deep Links (navigation tools)
|
|
521
521
|
|
|
522
|
-
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
|
|
522
|
+
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 ONE agent (MCP) tool — deliberately no CLI command: `navigate`. 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.)
|
|
523
523
|
|
|
524
524
|
## Recommended Client Patterns
|
|
525
525
|
|
|
@@ -2355,4 +2355,53 @@ Note: `previewRows` keys are column **headers** (not paths). `filter` and `query
|
|
|
2355
2355
|
|
|
2356
2356
|
---
|
|
2357
2357
|
|
|
2358
|
-
|
|
2358
|
+
## 25. Jots (Judgment Journal)
|
|
2359
|
+
|
|
2360
|
+
### POST /api/v1/jots
|
|
2361
|
+
|
|
2362
|
+
Batch-record judgment entries (1-100 per call). Per-entry independent: acks come back in input order, and a bad entry never fails the batch, it acks with `error` + `errorCode` while siblings persist. Rate valve: 600 writes per organization per minute.
|
|
2363
|
+
|
|
2364
|
+
```json
|
|
2365
|
+
// Request
|
|
2366
|
+
{
|
|
2367
|
+
"entries": [
|
|
2368
|
+
{
|
|
2369
|
+
"kind": "CLASSIFICATION",
|
|
2370
|
+
"tier": "MEDIUM",
|
|
2371
|
+
"call": "Posted to 6420 Travel: recurring vendor pattern",
|
|
2372
|
+
"why": "Same vendor posted to 6420 in 11 prior bills",
|
|
2373
|
+
"refs": [{ "raw": "BILL:41f626a3-...:CREATE" }],
|
|
2374
|
+
"idempotencyKey": "close-2026-06-bill-41f626a3"
|
|
2375
|
+
}
|
|
2376
|
+
]
|
|
2377
|
+
}
|
|
2378
|
+
|
|
2379
|
+
// Response
|
|
2380
|
+
{ "data": { "records": [{ "resourceId": "...", "replayed": false, "duplicateCount": 0 }] } }
|
|
2381
|
+
```
|
|
2382
|
+
|
|
2383
|
+
`kind`: CLASSIFICATION, MATCH, SCOPE, ASSUMPTION, RISK, METHOD, RECOVERY, DEVIATION. `tier`: LOW, MEDIUM, HIGH, CRITICAL. `refs` entries are OBJECTS: the string grammar `TYPE:resourceId[#field][:RELATION]` travels in `raw` (an unparseable ref is stored with `parsed: false`, never bounced). Optional fields: `ruledOut`, `frame`, `confidence`, `citedRule`, `workflowLabel`, `agentLabel`. `idempotencyKey` makes retries safe: a replay returns the existing entry with `replayed: true`.
|
|
2384
|
+
|
|
2385
|
+
### POST /api/v1/jots/search
|
|
2386
|
+
|
|
2387
|
+
Plain-value filter (no expression envelopes): `ref` (TYPE:resourceId containment), `kind`, `tier`, `dispositionVerb`, `freetext` (case-insensitive substring over call and why), `createdFrom` / `createdTo` (epoch ms, inclusive). Sort is pinned server-side (CRITICAL and withheld-write entries first, then newest); no client sort. `includeStats: true` adds per-credential disposition counts alongside the page.
|
|
2388
|
+
|
|
2389
|
+
```json
|
|
2390
|
+
// Request
|
|
2391
|
+
{ "limit": 100, "offset": 0, "filter": { "kind": "CLASSIFICATION" }, "includeStats": true }
|
|
2392
|
+
```
|
|
2393
|
+
|
|
2394
|
+
### POST /api/v1/jots/:resourceId/disposition
|
|
2395
|
+
|
|
2396
|
+
Append one review verb to a jot (append-only: annotates, never mutates).
|
|
2397
|
+
|
|
2398
|
+
```json
|
|
2399
|
+
// Request
|
|
2400
|
+
{ "verb": "FLAG", "note": "Re-check the account mapping next close" }
|
|
2401
|
+
```
|
|
2402
|
+
|
|
2403
|
+
`verb`: FLAG, REJECT, ENDORSE. The response may carry a `rollbackHandoff` pointer; execution lives in the rollback module.
|
|
2404
|
+
|
|
2405
|
+
---
|
|
2406
|
+
|
|
2407
|
+
*Last updated: 2026-07-11 (added Jots judgment journal, section 25). Previous: 2026-04-09 — Added: Contacts bulk-upsert (22), Background Jobs search (23), Export Records (24). 2026-03-13 — Payment record CRUD, nano-classifier, scheduler GET/PUT/DELETE.*
|
|
@@ -754,6 +754,16 @@ Universal async tracking layer. Any operation returning a `jobId` can be polled
|
|
|
754
754
|
|
|
755
755
|
`outputFormat: "XLSX"` is required. Pass `query` OR `filter`, never both (server enforces). Entity types: INVOICE, BILL, CUSTOMER_CREDIT_NOTE, SUPPLIER_CREDIT_NOTE, SALE_PAYMENT, PURCHASE_PAYMENT, BATCH_PAYMENT, CONTACT, ITEM, CAPSULE, SCHEDULED_TRANSACTION, JOURNAL, BANK_RECORD, CASHFLOW_TRANSACTION, FIXED_ASSET, CHART_OF_ACCOUNT, TAX_PROFILE.
|
|
756
756
|
|
|
757
|
+
### Jots (Judgment Journal)
|
|
758
|
+
|
|
759
|
+
| Method | Path | Description |
|
|
760
|
+
|--------|------|-------------|
|
|
761
|
+
| POST | `/jots` | Batch-record judgment entries (1-100, per-entry acks; a bad entry never fails the batch) |
|
|
762
|
+
| POST | `/jots/search` | Search judgment entries. Server-pinned sort: critical and withheld-write first, then newest. `includeStats` adds per-credential disposition counts |
|
|
763
|
+
| POST | `/jots/:resourceId/disposition` | Append a review disposition (FLAG / REJECT / ENDORSE), append-only |
|
|
764
|
+
|
|
765
|
+
See endpoints.md section 25 for request/response shapes and the `refs` grammar (`TYPE:resourceId[#field][:RELATION]` in `raw`).
|
|
766
|
+
|
|
757
767
|
---
|
|
758
768
|
|
|
759
|
-
*Last updated: 2026-04-29 — Added 3 drafts lifecycle endpoints (validate, convert-to-active, submit-for-approval) — bulk-friendly, mixed-type batches up to 500.
|
|
769
|
+
*Last updated: 2026-07-11 (added Jots judgment journal: 3 endpoints). Previous: 2026-04-29 — Added 3 drafts lifecycle endpoints (validate, convert-to-active, submit-for-approval) — bulk-friendly, mixed-type batches up to 500. Same day: 8 reconciliation action endpoints; 8 bulk-upsert endpoints. 2026-04-09 — Background Jobs, Export Records, contacts bulk-upsert.*
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: jaz-cli
|
|
3
|
-
version: 5.
|
|
3
|
+
version: 5.23.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
|
command groups, auth precedence, output formats, entity resolution, and common
|
|
9
9
|
workflow patterns. Also use when the user asks how to use clio, what commands
|
|
10
10
|
are available, or how to automate accounting tasks from the command line.
|
|
11
|
-
Covers all
|
|
11
|
+
Covers all 66 command groups and 357 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. 66 command groups, 13 calculators, 12 job blueprints, 357 tools. Also fully compatible with Juan Accounting (same API, same endpoints).
|
|
21
21
|
|
|
22
22
|
## When to Use This Skill
|
|
23
23
|
|
|
@@ -268,6 +268,8 @@ Sending `lineItems[]` to the FLAT endpoint silently ignores them and creates a $
|
|
|
268
268
|
|
|
269
269
|
**AI & Automation**: `magic` (create, status, search, split), `quick-fix`, `capsules`, `capsule-transaction` (alias: `ct`, 13 recipe types)
|
|
270
270
|
|
|
271
|
+
**Judgment journal**: `jots` (create, recall, dispose)
|
|
272
|
+
|
|
271
273
|
**Calculators**: `calc` (loan, lease, depreciation, prepaid-expense, deferred-revenue, fx-reval, ecl, provision, fixed-deposit, asset-disposal, accrued-expense, leave-accrual, dividend)
|
|
272
274
|
|
|
273
275
|
**Jobs**: `jobs` (month-end, quarter-end, year-end, bank-recon, gst-vat, payment-run, credit-control, supplier-recon, audit-prep, fa-review, document-collection, statutory-filing) + tools (match, outstanding, ingest, sg-cs, sg-ca)
|
|
@@ -288,7 +290,7 @@ Everything else requires authentication (API key).
|
|
|
288
290
|
|
|
289
291
|
## Dashboard Deep Links (no CLI command — by design)
|
|
290
292
|
|
|
291
|
-
The navigation
|
|
293
|
+
The navigation tool (`navigate` — no destination to discover keys, a destination to build the deep link) builds dashboard URLs for the user ("open this invoice", "take me to the P&L"). It is an agent/MCP tool only — read-only tools get no CLI twin (one canonical surface per operation). Never hand-construct a dashboard URL in a script; if you need a link, call the MCP tool. Full usage rules live in the jaz-api skill under "Dashboard Deep Links".
|
|
292
294
|
|
|
293
295
|
## Error Handling
|
|
294
296
|
|
|
@@ -512,6 +512,19 @@ Blueprints are offline (no auth). Tools require auth.
|
|
|
512
512
|
|
|
513
513
|
---
|
|
514
514
|
|
|
515
|
+
## Judgment Journal
|
|
516
|
+
|
|
517
|
+
### `clio jots` · Judgment journal
|
|
518
|
+
| Subcommand | Key flags |
|
|
519
|
+
|------------|-----------|
|
|
520
|
+
| `create` | `--kind` (CLASSIFICATION, MATCH, SCOPE, ASSUMPTION, RISK, METHOD, RECOVERY, DEVIATION), `--tier` (LOW, MEDIUM, HIGH, CRITICAL), `--call`, `--why`, `--ruled-out`, `--ref` (repeatable, grammar `TYPE:resourceId[#field][:RELATION]`), `--frame`, `--confidence`, `--cited-rule`, `--workflow-label`, `--agent-label`, `--idempotency-key`, `--input` (batch JSON), `--json` |
|
|
521
|
+
| `recall` | `--ref`, `--kind`, `--tier`, `--disposition-verb` (FLAG, REJECT, ENDORSE), `--freetext`, `--created-from`, `--created-to`, `--stats`, `--limit`, `--offset`, `--all`, `--max-rows`, `--format`, `--json` |
|
|
522
|
+
| `dispose <resourceId>` | `--verb` (FLAG, REJECT, ENDORSE), `--note`, `--json` |
|
|
523
|
+
|
|
524
|
+
Batch create via `--input` file or stdin (`{ "entries": [...] }`, 1-100 per call, per-entry acks). `recall` sort is pinned server-side: critical and withheld-write entries first, then newest. `--stats` adds per-credential disposition counts (in the JSON/YAML envelope for machine formats). An all-error batch exits 1.
|
|
525
|
+
|
|
526
|
+
---
|
|
527
|
+
|
|
515
528
|
## Organization
|
|
516
529
|
|
|
517
530
|
### `clio org` — Organization info
|
|
@@ -6,7 +6,7 @@ Source of truth lives in the installed skills (`.claude/skills/jaz-*/SKILL.md` o
|
|
|
6
6
|
|
|
7
7
|
## Discovery
|
|
8
8
|
|
|
9
|
-
The Jaz MCP server exposes
|
|
9
|
+
The Jaz MCP server exposes 357 tools across 42 namespaces via 3 meta-tools. **Use the meta-tool flow — never enumerate tools blindly.**
|
|
10
10
|
|
|
11
11
|
1. `search_tools(query)` → top-N tool names + namespaces.
|
|
12
12
|
2. `describe_tools(names)` → full parameter schemas.
|