jaz-clio 5.30.1 → 5.30.3

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
@@ -1,4 +1,4 @@
1
- # Clio: Command Line Interface Operator for Jaz AI.
1
+ # Clio
2
2
 
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>
@@ -7,63 +7,65 @@
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
- 357 tools. 66 command groups. 13 calculators. 12 job playbooks. 158 API rules. 13 IFRS recipes.
10
+ <p align="center"><b>Jaz accounting on the command line, and inside any AI agent.</b></p>
11
+
12
+ 357 tools · 66 command groups · 7 skills · 13 calculators · 12 close playbooks · 158 field-tested API rules.
11
13
 
12
14
  ```bash
13
15
  npm install -g jaz-clio
14
16
  ```
15
17
 
16
- Requires **Node.js 18+** ([nodejs.org](https://nodejs.org)). Also fully compatible with [Juan Accounting](https://juan.ac).
18
+ Node.js 18+. Works with [Jaz](https://jaz.ai) and [Juan Accounting](https://juan.ac) on the same API.
17
19
 
18
20
  ## Contents
19
21
 
20
- - [Three Ways In](#three-ways-in) · CLI, MCP, Skills
21
- - [CLI](#cli) · 66 command groups
22
- - [MCP Server](#mcp-server) · 357 tools for AI agents
23
- - [Skills](#skills) · Teach any AI the Jaz API
24
- - [Setup](#setup) · Auth, multi-org, automation
25
- - [Semantic help-center search](#help-center-semantic-search-optional) · Optional OpenAI-backed retrieval
22
+ - [Three ways in](#three-ways-in)
23
+ - [CLI](#cli)
24
+ - [MCP server](#mcp-server)
25
+ - [Skills](#skills)
26
+ - [Jaz Kit · run your practice](#jaz-kit--run-your-practice)
27
+ - [Auth](#auth)
28
+ - [Semantic help-center search](#semantic-help-center-search-optional)
29
+ - [Privacy](#privacy) · [Support](#support) · [License](#license)
26
30
 
27
- ## Three Ways In
31
+ ## Three ways in
28
32
 
29
- | | What happens | Try it |
33
+ | | What it is | Try it |
30
34
  |---|---|---|
31
35
  | **CLI** | Every accounting operation as a command | `clio invoices list` |
32
- | **MCP** | Plug into Claude Code, Cursor, Codex, Copilot | `clio mcp` |
33
- | **Skills** | Teach any agent the Jaz API | `clio init` |
36
+ | **MCP** | A local server for Claude Code, Cursor, Codex, Copilot | `clio mcp` |
37
+ | **Skills** | Teach any agent the Jaz API, no server needed | `clio init` |
34
38
 
35
- ---
39
+ On top of these, one layer for accountants closing real books across many companies: **[Jaz Kit](#jaz-kit--run-your-practice)**.
36
40
 
37
41
  ## CLI
38
42
 
39
43
  ```bash
40
- clio invoices create --contact "ACME" --json # Create draft, get JSON back
41
- clio bank import statement.csv # Import and auto-reconcile
42
- clio reports pdf profit-loss # Download P&L as PDF
43
- clio calc lease --payment 5000 --term 36 --rate 5 # IFRS 16 (offline, instant)
44
- clio jobs month-end --period 2026-03 # Step-by-step close playbook
45
- clio magic create --file receipt.pdf # AI extracts draft transaction
46
- clio claims from-attachment --file receipt.png # Employee expense receipt draft claim
47
- clio invoices search --query 'status:unpaid AND $500+' # Structured per-entity search
48
- clio invoices search --query 'status:unpaid' --view lean # Compact summary rows (id + key fields), then drill in with get
44
+ clio invoices create --contact "ACME" --json # draft an invoice, JSON back
45
+ clio bank import statement.csv # import and auto-reconcile
46
+ clio reports pdf profit-loss # download the P&L as a PDF
47
+ clio calc lease --payment 5000 --term 36 --rate 5 # IFRS 16, offline, instant
48
+ clio jobs month-end --period 2026-03 # step-by-step close playbook
49
+ clio magic create --file receipt.pdf # AI extracts, drafts the transaction
50
+ clio invoices search --query 'status:unpaid AND $500+' # structured per-entity search
49
51
  ```
50
52
 
51
- 66 command groups. 16 report types. 13 calculators. 12 job playbooks. Every command supports `--json`. Run `clio --help` for the full list.
53
+ 66 command groups, 16 report types, 13 calculators, 12 job playbooks. Every command takes `--json`. Run `clio --help` for the full list.
52
54
 
53
- ---
55
+ ## MCP server
54
56
 
55
- ## MCP Server
57
+ 357 tools for any AI agent that speaks MCP. Runs locally: no cloud, no ports.
56
58
 
57
- 357 tools, available to any AI agent that speaks MCP. Runs locally: no cloud, no ports.
59
+ > **No install at all?** Claude.ai, ChatGPT, Cowork, and Microsoft Copilot Studio can use Jaz through the hosted connector. Add `https://mcp.jaz.ai/mcp` as a custom connector and sign in with OAuth, no key. The local setup below is for terminal use, scripting, and editors that run MCP servers as local processes.
58
60
 
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.
61
+ **Claude Code**
60
62
 
61
- **Claude Code:**
62
63
  ```bash
63
64
  claude mcp add jaz -- npx jaz-clio mcp
64
65
  ```
65
66
 
66
- **Cursor / VS Code / Windsurf:**
67
+ **Cursor · VS Code · Windsurf**
68
+
67
69
  ```json
68
70
  {
69
71
  "mcpServers": {
@@ -76,45 +78,61 @@ claude mcp add jaz -- npx jaz-clio mcp
76
78
  }
77
79
  ```
78
80
 
79
- **Multi-org**: comma-separated keys or a personal access token:
81
+ Several companies at once: comma-separate the keys, or use a personal access token.
82
+
80
83
  ```json
81
84
  { "env": { "JAZ_API_KEY": "jk-org1-key,jk-org2-key" } }
82
85
  ```
83
86
 
84
- ---
85
-
86
87
  ## Skills
87
88
 
88
- 158 API rules from production testing: field-name maps, error-recovery patterns, response-shape quirks. Plus 12 job playbooks. Installable into any agent project.
89
+ 158 API rules from production testing: field-name maps, error-recovery patterns, response-shape quirks, plus 12 job playbooks. Installable into any agent project, no server involved.
89
90
 
90
91
  ```bash
91
- clio init # auto-detect agent + install skills + agent-rules
92
- clio init --platform cursor # explicit platform
93
- clio init --no-rules # skills only, skip the agent-rules file
92
+ clio init # auto-detect the agent, install skills + agent-rules
93
+ clio init --platform cursor # explicit platform
94
+ clio init --no-rules # skills only, skip the agent-rules file
94
95
  ```
95
96
 
96
- Auto-detects the agent (Claude Code, Codex, Copilot, Cursor, Antigravity, Gemini, Windsurf, Goose) and installs the right skill files. `init` also writes a one-page `jaz-agent-rules.md` to the path your platform reads on workspace open (`CLAUDE.md` / `AGENTS.md` / `.github/copilot-instructions.md` / `.cursor/rules/jaz.mdc` / `.windsurf/rules/jaz.md` / `GEMINI.md`) so any agent starts every session with the meta-tool flow, the 6 API gotchas, and the recipe-engine carve-outs.
97
+ `init` detects the agent (Claude Code, Codex, Copilot, Cursor, Antigravity, Gemini, Windsurf, Goose) and installs the right skill files. It also writes a one-page `jaz-agent-rules.md` to the file your platform reads on open (`CLAUDE.md`, `AGENTS.md`, `.github/copilot-instructions.md`, `.cursor/rules/jaz.mdc`, `.windsurf/rules/jaz.md`, or `GEMINI.md`), so every session starts with the tool-discovery flow and the API gotchas already loaded.
97
98
 
98
- ---
99
+ ## Jaz Kit · run your practice
99
100
 
100
- ## Setup
101
+ The workspace layer for closing real books, whether that is one company or fifty.
101
102
 
102
- ```bash
103
- clio auth add <api-key> # Get key from Settings > API in Jaz
104
- clio auth whoami # Verify
103
+ A close is not one conversation. Month-end runs many steps over several days, and an accountant serving eight clients runs it eight times, with eight different sets of bank accounts, materiality thresholds, and recurring entries. Jaz Kit gives each company a folder that remembers all of it, so no session re-asks what it should already know.
104
+
105
+ ```
106
+ /jk-setup create a company workspace, connect its key
107
+ /jk-open acme load its context, verify the connection
108
+ /jk-close 2026-06 run the close, resumable across sessions
109
+ /jk-review approve the drafts waiting on you
110
+ /jk-status every company: what is due, what is pending
111
+ /jk-exit wrap up and journal the session
105
112
  ```
106
113
 
107
- **Multiple orgs:** `clio auth add` each key, then `clio auth switch <label>` or `--org <label>` per command.
114
+ Also `/jk-keys`, `/jk-policy`, `/jk-teach`, `/jk-save`, `/jk-help`. **`/jaz-*` runs a single workflow; `/jk-*` runs your practice.**
115
+
116
+ Each company lives under `~/Documents/Jaz Kit/orgs/<company>/`, holding its close config, its policies, and its own API key in a gitignored `.env`. A Jaz key is scoped to one company, so the folder you open is the company you work on: nothing to switch, and no way to post to the wrong books once a folder's key checks out.
117
+
118
+ Everything is drafted first, every record carries a link into Jaz for you to review, and an interrupted close resumes exactly where it stopped. Multi-company work needs this CLI, which you already have. Full guide in the [repository README](https://github.com/teamtinvio/jaz-ai#jaz-kit--run-your-practice).
119
+
120
+ ## Auth
121
+
122
+ ```bash
123
+ clio auth add <api-key> # from Settings → API keys in Jaz
124
+ clio auth whoami # verify
125
+ ```
108
126
 
109
- **Automation:** Every CLI command supports `--json` for structured output. Set `JAZ_API_KEY` as an env var for scripts and CI pipelines.
127
+ Or set `JAZ_API_KEY` in your environment for scripts and CI. For several companies from the CLI, register each with `clio auth add` and pass `--org <label>` per command, or let Jaz Kit keep one key per company folder for you. Every command takes `--json` for structured output.
110
128
 
111
- ## Help-center semantic search (optional)
129
+ ## Semantic help-center search (optional)
112
130
 
113
- `search_help_center` uses keyword search over the bundled help-center corpus by default. Set `CLIO_HELP_CENTER_OPENAI_API_KEY` to add semantic search (matches on intent, not just exact keywords): the CLI embeds only your query via the OpenAI embeddings API (`text-embedding-3-small`, the model the bundled index was built with) and merges both rankings. On auth failure it warns once and falls back to keyword search. Use a project-scoped key restricted to embedding models with a low monthly cap. CLI-only: MCPB installs ship without the embedding index and always use keyword search.
131
+ `search_help_center` runs keyword search over the bundled help-center corpus by default. Set `CLIO_HELP_CENTER_OPENAI_API_KEY` to add semantic search, which matches on intent rather than exact keywords: the CLI embeds only your query through the OpenAI embeddings API (`text-embedding-3-small`, the model the bundled index was built with) and merges both rankings. On an auth failure it warns once and falls back to keyword search. Use a project-scoped key restricted to embedding models with a low monthly cap. CLI only: MCPB installs ship without the embedding index and always use keyword search.
114
132
 
115
133
  ## Privacy
116
134
 
117
- Runs on your machine. Calls go to the Jaz API over HTTPS. No telemetry. No data collection.
135
+ Runs on your machine. Calls go to the Jaz API over HTTPS. No telemetry, no data collection.
118
136
 
119
137
  ## Support
120
138
 
@@ -1,6 +1,6 @@
1
1
  ---
2
2
  name: jaz-api
3
- version: 5.30.1
3
+ version: 5.30.3
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
@@ -2380,7 +2380,17 @@ Batch-record judgment entries (1-100 per call). Per-entry independent: acks come
2380
2380
  { "data": { "records": [{ "resourceId": "...", "replayed": false, "duplicateCount": 0 }] } }
2381
2381
  ```
2382
2382
 
2383
- `kind`: CLASSIFICATION, MATCH, SCOPE, ASSUMPTION, RISK, METHOD, RECOVERY, DEVIATION, NOTE (the neutral fallback for a judgment logged without a declared type; a missing or blank `kind` defaults to NOTE and is flagged, not rejected). `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`.
2383
+ `kind`: CLASSIFICATION, MATCH, SCOPE, ASSUMPTION, RISK, METHOD, RECOVERY, DEVIATION, NOTE (the neutral fallback for a judgment logged without a declared type; a missing or blank `kind` defaults to NOTE and is flagged, not rejected — never declare NOTE deliberately). `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
+ **Jot doctrine (fill fields consistently — the server re-scores tier from kind + refs, and declared-vs-computed agreement is a review signal):**
2386
+
2387
+ - **When**: log a judgment when you chose among real alternatives and a write followed, or when you deliberately decided NOT to write. Skip mechanical actions. Jot AFTER the write succeeds; carry the written record's resourceId in `refs`.
2388
+ - **Tier anchors** (mirror the server's rules): CRITICAL = money leaves (`PAY` ref), data destroyed (`DELETE` ref), external send or period lock (`FINALIZE` ref), or a RECOVERY that still drove a write. HIGH = the withheld write (RECOVERY with no mutation ref — it pins via withheld-write, not tier), or RISK/MATCH backed by a write. LOW = a DEVIATION detached from any write. MEDIUM = everything else.
2389
+ - **Kind boundaries**: where a value LANDS (account, tax code) = CLASSIFICATION; how it is COMPUTED = METHOD. Filling one missing fact = ASSUMPTION; drawing a set boundary = SCOPE (carry `frame`). A decided omission after failure = RECOVERY, never DEVIATION.
2390
+ - **Refs relation** is load-bearing: state what the write did (CREATE/UPDATE/DELETE/FINALIZE/PAY/RECONCILE/TRIGGER); SUBJECT only for no-write entries. PAY/DELETE/FINALIZE pin the jot regardless of declared tier.
2391
+ - **confidence**: HIGH = clear rule or precedent; MEDIUM = pattern inference; LOW = a guess a reviewer should check.
2392
+ - **workflowLabel**: use a canonical job name when one fits (`month-end-close`, `quarter-end-close`, `year-end-close`, `bank-recon`, `gst-vat-filing`, `payment-run`, `credit-control`, `supplier-recon`, `audit-prep`, `fa-review`, `document-collection`, `statutory-filing`), else short kebab-case.
2393
+ - **Style**: tight, factual, plain punctuation; one line per field; never repeat content across fields; a call without a `why` is half a record. `duplicateCount > 0` on the ack = already recorded — do not re-jot; search first on repeated workflows.
2384
2394
 
2385
2395
  ### POST /api/v1/jots/search
2386
2396
 
@@ -1,6 +1,6 @@
1
1
  ---
2
2
  name: jaz-cli
3
- version: 5.30.1
3
+ version: 5.30.3
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,
@@ -158,7 +158,7 @@ Rules:
158
158
  | `--all` | List/search commands | Auto-paginate all pages |
159
159
  | `--max-rows <n>` | With `--all` | Cap total rows (default 10,000) |
160
160
  | `--finalize` | Create commands | Approve immediately (skip draft) |
161
- | `--jot <text>` | Write commands (create/update/delete/pay/finalize/…) | Log the judgment behind this write in one line, inline (piggybacks a judgment-journal entry after the write succeeds; optional leading kind, e.g. `"MATCH: …"`). Without it, a successful write prints a one-line reminder to stderr — silence with `JAZ_JOTS_NUDGES=0`. |
161
+ | `--jot <text>` | Write commands (create/update/delete/pay/finalize/…) | Log the judgment behind this write in one line, inline (piggybacks a judgment-journal entry after the write succeeds; optional leading kind, e.g. `"MATCH: …"`). Quick LOW/MEDIUM one-liners only — for HIGH or CRITICAL calls, or when the why matters, use `clio jots create` (doctrine in its `--help`: tier anchors, kind boundaries, style). Without it, a successful write prints a one-line reminder to stderr — silence with `JAZ_JOTS_NUDGES=0`. |
162
162
  | `--date <YYYY-MM-DD>` | Create/update commands | Transaction date |
163
163
  | `--due <YYYY-MM-DD>` | Create/update commands | Due date |
164
164
  | `--query <expression>` | Search commands (14 entities) | Jaz search expression (see below) |
@@ -1,6 +1,6 @@
1
1
  ---
2
2
  name: jaz-conversion
3
- version: 5.30.1
3
+ version: 5.30.3
4
4
  description: >-
5
5
  Use this skill when migrating accounting data into Jaz — importing from Xero,
6
6
  QuickBooks, Sage, MYOB, or Excel exports. Covers the full conversion pipeline:
@@ -1,6 +1,6 @@
1
1
  ---
2
2
  name: jaz-kit
3
- version: 5.30.1
3
+ version: 5.30.3
4
4
  description: >-
5
5
  Use this skill when an accountant, bookkeeper, or owner is running real books
6
6
  in Jaz across one or more organizations from the terminal — setting up a
@@ -1,6 +1,6 @@
1
1
  ---
2
2
  name: jaz-pseudo-sql
3
- version: 5.30.1
3
+ version: 5.30.3
4
4
  description: >-
5
5
  Use this skill when answering ad-hoc data questions that aren't covered by
6
6
  download_export (canonical reports — anomaly, audit, aging, P&L, BS, GL,
@@ -1,6 +1,6 @@
1
1
  ---
2
2
  name: jaz-jobs
3
- version: 5.30.1
3
+ version: 5.30.3
4
4
  description: >-
5
5
  Use this skill for recurring accounting workflows — month/quarter/year-end
6
6
  close, bank reconciliation, GST/VAT filing, payment runs, credit control,
@@ -1,6 +1,6 @@
1
1
  ---
2
2
  name: jaz-recipes
3
- version: 5.30.1
3
+ version: 5.30.3
4
4
  description: >-
5
5
  Use this skill when modeling complex multi-step accounting transactions —
6
6
  anything that spans multiple periods, involves changing amounts, or requires