jaz-clio 5.11.2 → 5.12.1
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 +1 -1
- package/assets/skills/api/SKILL.md +2 -2
- package/assets/skills/api/references/endpoints.md +0 -4
- package/assets/skills/cli/SKILL.md +1 -1
- 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/practice/SKILL.md +1 -1
- package/assets/skills/transaction-recipes/SKILL.md +22 -1
- package/assets/templates/platform-rules/jaz-agent-rules.md +1 -1
- package/cli.mjs +452 -450
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -54,7 +54,7 @@ clio practice create-engagement acme-pte-ltd --type monthly-close --period 2026-
|
|
|
54
54
|
|
|
55
55
|
## MCP Server
|
|
56
56
|
|
|
57
|
-
|
|
57
|
+
295 CLI tools, available to any AI agent that speaks MCP. Runs locally — no cloud, no ports. Includes the v5.2.0 `practice_*` tools (init, onboard_client, list_clients, load_client, create_engagement, load_engagement) so an agent in Claude Desktop or Claude Code can scaffold and load client workspaces conversationally.
|
|
58
58
|
|
|
59
59
|
**Claude Code:**
|
|
60
60
|
```bash
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: jaz-api
|
|
3
|
-
version: 5.
|
|
3
|
+
version: 5.12.1
|
|
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, 141 production gotchas, error
|
|
@@ -460,7 +460,7 @@ Bills, invoices, and credit notes share identical mandatory field specs. Adding
|
|
|
460
460
|
2. **Poll `search_background_jobs --filter '{"baseTransactionResourceId":{"eq":"<id>"}}'`** — if a `FAILED` job exists, its `errorDetails` has the publish failure reason. **If no job exists for the base-trx, the publish never queued** (validation rejected pre-queue in customer-service).
|
|
461
461
|
3. **`resume_capsule_recipe(capsuleResourceId)`** is only available if a capsule WAS created — i.e. the recipe partially ran. For pre-queue rejections (3 causes above), no capsule exists; the only recovery is to re-issue the trigger mutation with corrected inputs.
|
|
462
462
|
|
|
463
|
-
Pre-flight gate (recommended for agents and integrations): always call `preview_capsule_recipe(recipeName, inputs)` before the trigger mutation. Preview is pure-compute (no side effects) and surfaces every input/account/currency problem with a clear error_type — eliminates the silent-null class entirely.
|
|
463
|
+
Pre-flight gate (recommended for agents and integrations): always call `preview_capsule_recipe(recipeName, inputs)` before the trigger mutation. Preview is pure-compute (no side effects) and surfaces every input/account/currency problem with a clear error_type — eliminates the silent-null class entirely. **Same gate covers `templateOverrides`** (Customize Recipe): pass `capsuleRecipe.templateOverrides: [{slotKey, template}]` to customize generated text (capsule title/description, leg labels, line memos, schedule reference). Valid slotKeys + `{{variables}}` come from `get_capsule_recipe → versions[].templateSlots[]`; `slotKey` ≤128 chars (no dups), `template` ≤2000 (empty string clears a nullable slot). Invalid overrides return 422 `ERR_RECIPE_OVERRIDE_*` (UNKNOWN_RECIPE / MISSING_SLOT_KEY / DUPLICATE_SLOT / UNKNOWN_SLOT / NON_NULLABLE_BLANK / TEMPLATE_TOO_LONG / UNKNOWN_VARIABLE) on preview but silently null on the trigger path — so preview first.
|
|
464
464
|
|
|
465
465
|
144. **`recipeName` IS enum-constrained at the API layer** (verified live 2026-05-27): closed enum `LOAN_AMORTIZATION | ACCRUAL_REVERSAL | PREPAID_AMORTIZATION | DEFERRED_REVENUE | IFRS16_LEASE` on `POST /capsule-recipes/preview` and on `capsuleRecipe.recipeName` payloads on trigger mutations. Send a string not in the set → 422 validation_error. Don't hard-code the 5 values in motherboard descriptions — discover via `list_capsule_recipes` (the source of truth) and pass the discovered name through.
|
|
466
466
|
|
|
@@ -1098,10 +1098,6 @@ DELETE /api/v1/invoices/fe7a92fa-.../attachments/a2f1aa45-...
|
|
|
1098
1098
|
→ 200 { "reference": "INV-001", "resourceId": "fe7a92fa-...", "attachments": [] }
|
|
1099
1099
|
```
|
|
1100
1100
|
|
|
1101
|
-
### GET /api/v1/attachments/:attachmentId/table
|
|
1102
|
-
|
|
1103
|
-
Fetch OCR/AI-extracted table data from an attachment.
|
|
1104
|
-
|
|
1105
1101
|
---
|
|
1106
1102
|
|
|
1107
1103
|
## 14h. Jaz Magic — Extraction & Autofill
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: jaz-recipes
|
|
3
|
-
version: 5.
|
|
3
|
+
version: 5.12.1
|
|
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
|
|
@@ -322,6 +322,27 @@ See `jaz-api` Rule 143 (silent-null failure mode + diagnosis sequence), Rule 144
|
|
|
322
322
|
|
|
323
323
|
**DO NOT** use server-side execution for `fx-reval` — Jaz auto-handles ALL period-end IAS 21.23 FX translation; double-posting risk identical to the offline `execute_recipe(recipe: 'fx-reval')` warning.
|
|
324
324
|
|
|
325
|
+
### Template Customization (optional) — `templateOverrides`
|
|
326
|
+
|
|
327
|
+
A recipe generates text for the capsule title/description, each scheduled posting's label/description, the journal-line memos, and the schedule reference. To customize any of those, pass `templateOverrides` alongside `inputs` on `preview_capsule_recipe` and on the `capsuleRecipe` trigger payload:
|
|
328
|
+
|
|
329
|
+
```
|
|
330
|
+
capsuleRecipe: {
|
|
331
|
+
recipeName: "LOAN_AMORTIZATION",
|
|
332
|
+
inputs: { ... },
|
|
333
|
+
templateOverrides: [
|
|
334
|
+
{ slotKey: "capsule.title", template: "Loan {{loanReference}}" },
|
|
335
|
+
{ slotKey: "leg.description.payment", template: "" } // empty string clears a nullable slot
|
|
336
|
+
]
|
|
337
|
+
}
|
|
338
|
+
```
|
|
339
|
+
|
|
340
|
+
Discovery + rules:
|
|
341
|
+
- **Discover the slots first**: `get_capsule_recipe(name).data.versions[].templateSlots[]` lists each `slotKey`, its `uiLabel`, `defaultTemplate`, `supportedVariables`, and `nullable`. Send only the slots you change.
|
|
342
|
+
- Each `slotKey` MUST be one the recipe publishes; every `{{var}}` in `template` MUST be in that slot's `supportedVariables`; `template` ≤2000 chars; an empty `template` clears a `nullable` slot (omit the entry to keep the default; a non-nullable slot rejects a blank).
|
|
343
|
+
- **Preview is the gate.** `preview_capsule_recipe` surfaces override mistakes as clean 422 `ERR_RECIPE_OVERRIDE_*` codes. On the trigger path, an invalid override falls under the same best-effort silent-null behavior as everything else in the payload (see the three gates above) — so preview before you trigger.
|
|
344
|
+
- CLI: `clio capsule-recipes get <name>` prints the slots; `clio capsule-recipes preview --recipe <name> --inputs '{...}' --template-override capsule.title='Loan {{loanReference}}'` (repeatable).
|
|
345
|
+
|
|
325
346
|
## See Also
|
|
326
347
|
|
|
327
348
|
- **API field names and payloads**: Load the `jaz-api` skill — see `references/endpoints.md` and `references/field-map.md`
|
|
@@ -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 295 tools across 37 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.
|