@frihet/mcp-server 1.4.0 → 1.5.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 +94 -20
- package/dist/client-interface.d.ts +54 -0
- package/dist/client-interface.d.ts.map +1 -1
- package/dist/client.d.ts +54 -0
- package/dist/client.d.ts.map +1 -1
- package/dist/client.js +100 -0
- package/dist/client.js.map +1 -1
- package/dist/index.js +6 -6
- package/dist/index.js.map +1 -1
- package/dist/prompts/register-all.d.ts.map +1 -1
- package/dist/prompts/register-all.js +206 -0
- package/dist/prompts/register-all.js.map +1 -1
- package/dist/resources/register-all.d.ts +4 -3
- package/dist/resources/register-all.d.ts.map +1 -1
- package/dist/resources/register-all.js +164 -9
- package/dist/resources/register-all.js.map +1 -1
- package/dist/tools/clients.d.ts.map +1 -1
- package/dist/tools/clients.js +18 -2
- package/dist/tools/clients.js.map +1 -1
- package/dist/tools/crm.d.ts +9 -0
- package/dist/tools/crm.d.ts.map +1 -0
- package/dist/tools/crm.js +181 -0
- package/dist/tools/crm.js.map +1 -0
- package/dist/tools/expenses.d.ts.map +1 -1
- package/dist/tools/expenses.js +18 -2
- package/dist/tools/expenses.js.map +1 -1
- package/dist/tools/invoices.d.ts.map +1 -1
- package/dist/tools/invoices.js +85 -6
- package/dist/tools/invoices.js.map +1 -1
- package/dist/tools/products.d.ts.map +1 -1
- package/dist/tools/products.js +18 -2
- package/dist/tools/products.js.map +1 -1
- package/dist/tools/quotes.d.ts.map +1 -1
- package/dist/tools/quotes.js +38 -3
- package/dist/tools/quotes.js.map +1 -1
- package/dist/tools/register-all.d.ts +1 -1
- package/dist/tools/register-all.d.ts.map +1 -1
- package/dist/tools/register-all.js +5 -1
- package/dist/tools/register-all.js.map +1 -1
- package/dist/tools/shared.d.ts +54 -0
- package/dist/tools/shared.d.ts.map +1 -1
- package/dist/tools/shared.js +60 -2
- package/dist/tools/shared.js.map +1 -1
- package/dist/tools/vendors.d.ts +7 -0
- package/dist/tools/vendors.d.ts.map +1 -0
- package/dist/tools/vendors.js +125 -0
- package/dist/tools/vendors.js.map +1 -0
- package/dist/types.d.ts +1 -0
- package/dist/types.d.ts.map +1 -1
- package/package.json +3 -3
- package/scripts/postinstall.js +1 -1
package/README.md
CHANGED
|
@@ -1,5 +1,9 @@
|
|
|
1
1
|
<p align="center">
|
|
2
|
-
<
|
|
2
|
+
<picture>
|
|
3
|
+
<source media="(prefers-color-scheme: dark)" srcset="./assets/banner.svg">
|
|
4
|
+
<source media="(prefers-color-scheme: light)" srcset="./assets/banner-light.svg">
|
|
5
|
+
<img alt="frihet-mcp" src="./assets/banner.svg" width="100%"/>
|
|
6
|
+
</picture>
|
|
3
7
|
</p>
|
|
4
8
|
|
|
5
9
|
<p align="center">
|
|
@@ -11,9 +15,8 @@
|
|
|
11
15
|
<a href="https://www.npmjs.com/package/@frihet/mcp-server"><img src="https://img.shields.io/npm/v/@frihet/mcp-server?style=flat&color=18181b&labelColor=09090b" alt="npm version"></a>
|
|
12
16
|
<a href="https://www.npmjs.com/package/@frihet/mcp-server"><img src="https://img.shields.io/npm/dm/@frihet/mcp-server?style=flat&color=18181b&labelColor=09090b&label=downloads" alt="npm downloads"></a>
|
|
13
17
|
<a href="https://smithery.ai/server/frihet/frihet-mcp"><img src="https://smithery.ai/badge/frihet/frihet-mcp" alt="Smithery installs"></a>
|
|
14
|
-
<a href="https://registry.modelcontextprotocol.io/servers/io.github.berthelius/frihet"><img src="https://img.shields.io/badge/MCP-Registry-18181b?style=flat&labelColor=09090b" alt="MCP Registry"></a>
|
|
15
18
|
<a href="https://github.com/Frihet-io/frihet-mcp/blob/main/LICENSE"><img src="https://img.shields.io/badge/license-MIT-18181b?style=flat&labelColor=09090b" alt="license"></a>
|
|
16
|
-
<img src="https://img.shields.io/badge/tools-
|
|
19
|
+
<img src="https://img.shields.io/badge/tools-52-18181b?style=flat&labelColor=09090b" alt="52 tools">
|
|
17
20
|
<img src="https://img.shields.io/badge/node-%3E%3D18-18181b?style=flat&labelColor=09090b" alt="node >=18">
|
|
18
21
|
<a href="https://www.typescriptlang.org/"><img src="https://img.shields.io/badge/TypeScript-18181b?style=flat&labelColor=09090b" alt="TypeScript"></a>
|
|
19
22
|
</p>
|
|
@@ -29,7 +32,7 @@ You: "Create an invoice for TechStart SL, 40 hours of consulting at 75 EUR/h
|
|
|
29
32
|
Claude: Done. Invoice INV-2026-089 created. Total: 3,000.00 EUR + 21% IVA = 3,630.00 EUR.
|
|
30
33
|
```
|
|
31
34
|
|
|
32
|
-
|
|
35
|
+
52 tools. 11 resources. 10 prompts. Structured output on every tool. Zero boilerplate.
|
|
33
36
|
|
|
34
37
|
---
|
|
35
38
|
|
|
@@ -130,6 +133,15 @@ Talk to your ERP. These are real prompts, not marketing copy.
|
|
|
130
133
|
"Update ClientName's address to Calle Mayor 1, Madrid 28001"
|
|
131
134
|
```
|
|
132
135
|
|
|
136
|
+
### CRM
|
|
137
|
+
|
|
138
|
+
```
|
|
139
|
+
"Add a contact to Acme SL: Ana Garcia, CTO, ana@acme.es"
|
|
140
|
+
"Log a call with TechStart: discussed Q2 proposal, they're interested in upgrade"
|
|
141
|
+
"Add a note to ClientName: prefers invoices in English, payment NET 30"
|
|
142
|
+
"Show me all activities for Acme SL"
|
|
143
|
+
```
|
|
144
|
+
|
|
133
145
|
### Quotes
|
|
134
146
|
|
|
135
147
|
```
|
|
@@ -148,7 +160,7 @@ Talk to your ERP. These are real prompts, not marketing copy.
|
|
|
148
160
|
|
|
149
161
|
## What to expect
|
|
150
162
|
|
|
151
|
-
This MCP is a **structured data interface** -- you describe what you want in natural language, and the AI creates, queries, or modifies business records in Frihet. All
|
|
163
|
+
This MCP is a **structured data interface** -- you describe what you want in natural language, and the AI creates, queries, or modifies business records in Frihet. All 52 tools are CRUD operations over the REST API.
|
|
152
164
|
|
|
153
165
|
**Works great:**
|
|
154
166
|
|
|
@@ -175,7 +187,7 @@ If you need to digitize paper invoices or receipts, extract the data first (e.g.
|
|
|
175
187
|
|
|
176
188
|
---
|
|
177
189
|
|
|
178
|
-
## Tools (
|
|
190
|
+
## Tools (52)
|
|
179
191
|
|
|
180
192
|
### Invoices (6)
|
|
181
193
|
|
|
@@ -208,6 +220,29 @@ If you need to digitize paper invoices or receipts, extract the data first (e.g.
|
|
|
208
220
|
| `update_client` | Update client info |
|
|
209
221
|
| `delete_client` | Remove a client |
|
|
210
222
|
|
|
223
|
+
### CRM: Contacts (3)
|
|
224
|
+
|
|
225
|
+
| Tool | What it does |
|
|
226
|
+
|------|-------------|
|
|
227
|
+
| `list_client_contacts` | List all contacts for a client |
|
|
228
|
+
| `create_client_contact` | Add a contact person to a client |
|
|
229
|
+
| `delete_client_contact` | Remove a contact from a client |
|
|
230
|
+
|
|
231
|
+
### CRM: Activities (2)
|
|
232
|
+
|
|
233
|
+
| Tool | What it does |
|
|
234
|
+
|------|-------------|
|
|
235
|
+
| `list_client_activities` | List CRM activities (calls, emails, meetings, tasks) |
|
|
236
|
+
| `log_client_activity` | Log a call, email, meeting, or task against a client |
|
|
237
|
+
|
|
238
|
+
### CRM: Notes (3)
|
|
239
|
+
|
|
240
|
+
| Tool | What it does |
|
|
241
|
+
|------|-------------|
|
|
242
|
+
| `list_client_notes` | List all notes for a client |
|
|
243
|
+
| `create_client_note` | Add a free-form note to a client |
|
|
244
|
+
| `delete_client_note` | Remove a note from a client |
|
|
245
|
+
|
|
211
246
|
### Products (5)
|
|
212
247
|
|
|
213
248
|
| Tool | What it does |
|
|
@@ -238,13 +273,24 @@ If you need to digitize paper invoices or receipts, extract the data first (e.g.
|
|
|
238
273
|
| `update_webhook` | Modify events or URL |
|
|
239
274
|
| `delete_webhook` | Remove a webhook |
|
|
240
275
|
|
|
241
|
-
|
|
276
|
+
### Intelligence (4)
|
|
277
|
+
|
|
278
|
+
| Tool | What it does |
|
|
279
|
+
|------|-------------|
|
|
280
|
+
| `get_business_context` | Full snapshot: profile, plan, recent activity, top clients, current month |
|
|
281
|
+
| `get_monthly_summary` | Monthly P&L: revenue, expenses, profit, tax liability, top clients by revenue |
|
|
282
|
+
| `get_quarterly_taxes` | Quarterly tax prep: Modelo 303/130 fields, collected vs deductible, liability |
|
|
283
|
+
| `duplicate_invoice` | Clone an invoice for recurring billing (copies items/client/tax, starts as draft) |
|
|
284
|
+
|
|
285
|
+
All 52 tools return **structured output** via `outputSchema` -- typed JSON, not raw text. List tools return paginated results (`{ data, total, limit, offset }`).
|
|
242
286
|
|
|
243
287
|
---
|
|
244
288
|
|
|
245
|
-
## Resources (
|
|
289
|
+
## Resources (8)
|
|
290
|
+
|
|
291
|
+
Context the AI can read to make smarter decisions.
|
|
246
292
|
|
|
247
|
-
Static
|
|
293
|
+
**Static** (reference data, no API calls):
|
|
248
294
|
|
|
249
295
|
| Resource | URI | What it provides |
|
|
250
296
|
|----------|-----|-----------------|
|
|
@@ -254,9 +300,17 @@ Static context the AI can read without making API calls.
|
|
|
254
300
|
| Expense Categories | `frihet://config/expense-categories` | 8 categories with deductibility rules, IVA treatment, amortization |
|
|
255
301
|
| Invoice Statuses | `frihet://config/invoice-statuses` | Status flow (draft > sent > paid/overdue > cancelled), transition rules, webhook events |
|
|
256
302
|
|
|
303
|
+
**Dynamic** (live data from your account):
|
|
304
|
+
|
|
305
|
+
| Resource | URI | What it provides |
|
|
306
|
+
|----------|-----|-----------------|
|
|
307
|
+
| Business Profile | `frihet://business-profile` | Your business info, plan, defaults, recent activity, top clients |
|
|
308
|
+
| Monthly Snapshot | `frihet://monthly-snapshot` | Current month P&L, revenue, expenses, tax liability |
|
|
309
|
+
| Overdue Invoices | `frihet://overdue-invoices` | All invoices past due date (up to 100) |
|
|
310
|
+
|
|
257
311
|
---
|
|
258
312
|
|
|
259
|
-
## Prompts (
|
|
313
|
+
## Prompts (7)
|
|
260
314
|
|
|
261
315
|
Pre-built workflows the AI can execute as guided multi-step operations.
|
|
262
316
|
|
|
@@ -266,19 +320,32 @@ Pre-built workflows the AI can execute as guided multi-step operations.
|
|
|
266
320
|
| `onboard-client` | Set up a new client with correct tax rates by location, optionally create a welcome quote | `clientName`, `country?`, `region?` |
|
|
267
321
|
| `quarterly-tax-prep` | Prepare quarterly tax filing: calculate IVA/IGIC, identify deductibles, preview Modelo 303/130/420 | `quarter?`, `fiscalZone?` |
|
|
268
322
|
| `overdue-followup` | Find overdue invoices, draft follow-up messages, suggest payment reminders | -- |
|
|
323
|
+
| `new-client-invoice` | Create a client + first invoice in one workflow with tax rate lookup | `clientName`, `country?` |
|
|
324
|
+
| `expense-report` | Generate expense report grouped by category with deductible totals | `month?` (YYYY-MM) |
|
|
269
325
|
| `expense-batch` | Process expenses in bulk: categorize, apply tax rates, flag missing receipts | `fiscalZone?` |
|
|
270
326
|
|
|
271
327
|
---
|
|
272
328
|
|
|
273
329
|
## How it works
|
|
274
330
|
|
|
275
|
-
```
|
|
276
|
-
|
|
277
|
-
|
|
278
|
-
|
|
279
|
-
|
|
280
|
-
|
|
281
|
-
|
|
331
|
+
```mermaid
|
|
332
|
+
graph LR
|
|
333
|
+
AI["Your AI assistant"]
|
|
334
|
+
MCP["frihet-mcp"]
|
|
335
|
+
API["api.frihet.io"]
|
|
336
|
+
DB["Frihet ERP"]
|
|
337
|
+
|
|
338
|
+
AI -- "create_invoice()" --> MCP
|
|
339
|
+
MCP -- "POST /v1/invoices" --> API
|
|
340
|
+
API --> DB
|
|
341
|
+
DB -- "201 + invoice data" --> API
|
|
342
|
+
API -- "structured JSON" --> MCP
|
|
343
|
+
MCP -- "typed response + suggestions" --> AI
|
|
344
|
+
|
|
345
|
+
style AI fill:#09090b,stroke:#4ade80,color:#fafafa
|
|
346
|
+
style MCP fill:#09090b,stroke:#fafafa,color:#fafafa
|
|
347
|
+
style API fill:#09090b,stroke:#3f3f46,color:#a1a1aa
|
|
348
|
+
style DB fill:#09090b,stroke:#3f3f46,color:#a1a1aa
|
|
282
349
|
```
|
|
283
350
|
|
|
284
351
|
The server translates tool calls into REST API requests. It handles authentication, rate limiting (automatic retry with backoff on 429), pagination, and error mapping.
|
|
@@ -390,19 +457,26 @@ npm run build # must pass before submitting
|
|
|
390
457
|
|
|
391
458
|
---
|
|
392
459
|
|
|
460
|
+
## Ecosystem
|
|
461
|
+
|
|
462
|
+
| Package | What it is |
|
|
463
|
+
|---------|-----------|
|
|
464
|
+
| [`@frihet/mcp-server`](https://www.npmjs.com/package/@frihet/mcp-server) | This MCP server (52 tools, 11 resources, 10 prompts) |
|
|
465
|
+
| [`@frihet/sdk`](https://github.com/Frihet-io/frihet-sdk) | TypeScript SDK (`frihet.invoices.create()`) |
|
|
466
|
+
| [`frihet`](https://www.npmjs.com/package/frihet) | CLI (`frihet invoices list --status overdue`) |
|
|
467
|
+
| [REST API](https://docs.frihet.io/desarrolladores/api-rest) | OpenAPI 3.1 at `api.frihet.io/v1` |
|
|
468
|
+
| [Webhooks](https://docs.frihet.io/desarrolladores/webhooks) | Real-time events with HMAC-SHA256 |
|
|
469
|
+
|
|
393
470
|
## Links
|
|
394
471
|
|
|
395
472
|
- [Frihet](https://frihet.io) -- The product
|
|
396
473
|
- [Documentation](https://docs.frihet.io) -- Full docs
|
|
397
474
|
- [API reference](https://docs.frihet.io/desarrolladores/api-rest) -- REST API
|
|
398
475
|
- [MCP server docs](https://docs.frihet.io/desarrolladores/mcp-server) -- Setup guides, troubleshooting
|
|
399
|
-
- [Webhook docs](https://docs.frihet.io/desarrolladores/webhooks) -- Events, signatures, retries
|
|
400
476
|
- [npm](https://www.npmjs.com/package/@frihet/mcp-server) -- Package registry
|
|
401
|
-
- [MCP Registry](https://registry.modelcontextprotocol.io/servers/io.github.berthelius/frihet) -- Official MCP Registry
|
|
402
477
|
- [Smithery](https://smithery.ai/server/frihet/frihet-mcp) -- Smithery marketplace
|
|
403
478
|
- [Remote endpoint](https://mcp.frihet.io) -- Hosted MCP server (Cloudflare Workers)
|
|
404
479
|
- [OpenAPI spec](https://api.frihet.io/openapi.yaml) -- Machine-readable API definition
|
|
405
|
-
- [MCP specification](https://modelcontextprotocol.io) -- The protocol
|
|
406
480
|
|
|
407
481
|
---
|
|
408
482
|
|
|
@@ -10,9 +10,13 @@ export interface IFrihetClient {
|
|
|
10
10
|
listInvoices(params?: {
|
|
11
11
|
limit?: number;
|
|
12
12
|
offset?: number;
|
|
13
|
+
after?: string;
|
|
14
|
+
fields?: string;
|
|
13
15
|
status?: string;
|
|
14
16
|
from?: string;
|
|
15
17
|
to?: string;
|
|
18
|
+
clientId?: string;
|
|
19
|
+
seriesId?: string;
|
|
16
20
|
}): Promise<PaginatedResponse<Record<string, unknown>>>;
|
|
17
21
|
getInvoice(id: string): Promise<Record<string, unknown>>;
|
|
18
22
|
createInvoice(data: Record<string, unknown>): Promise<Record<string, unknown>>;
|
|
@@ -21,6 +25,8 @@ export interface IFrihetClient {
|
|
|
21
25
|
searchInvoices(query: string, params?: {
|
|
22
26
|
limit?: number;
|
|
23
27
|
offset?: number;
|
|
28
|
+
after?: string;
|
|
29
|
+
fields?: string;
|
|
24
30
|
status?: string;
|
|
25
31
|
from?: string;
|
|
26
32
|
to?: string;
|
|
@@ -28,8 +34,12 @@ export interface IFrihetClient {
|
|
|
28
34
|
listExpenses(params?: {
|
|
29
35
|
limit?: number;
|
|
30
36
|
offset?: number;
|
|
37
|
+
after?: string;
|
|
38
|
+
fields?: string;
|
|
31
39
|
from?: string;
|
|
32
40
|
to?: string;
|
|
41
|
+
vendorId?: string;
|
|
42
|
+
category?: string;
|
|
33
43
|
}): Promise<PaginatedResponse<Record<string, unknown>>>;
|
|
34
44
|
getExpense(id: string): Promise<Record<string, unknown>>;
|
|
35
45
|
createExpense(data: Record<string, unknown>): Promise<Record<string, unknown>>;
|
|
@@ -38,6 +48,10 @@ export interface IFrihetClient {
|
|
|
38
48
|
listClients(params?: {
|
|
39
49
|
limit?: number;
|
|
40
50
|
offset?: number;
|
|
51
|
+
after?: string;
|
|
52
|
+
fields?: string;
|
|
53
|
+
q?: string;
|
|
54
|
+
stage?: string;
|
|
41
55
|
}): Promise<PaginatedResponse<Record<string, unknown>>>;
|
|
42
56
|
getClient(id: string): Promise<Record<string, unknown>>;
|
|
43
57
|
createClient(data: Record<string, unknown>): Promise<Record<string, unknown>>;
|
|
@@ -46,6 +60,10 @@ export interface IFrihetClient {
|
|
|
46
60
|
listProducts(params?: {
|
|
47
61
|
limit?: number;
|
|
48
62
|
offset?: number;
|
|
63
|
+
after?: string;
|
|
64
|
+
fields?: string;
|
|
65
|
+
q?: string;
|
|
66
|
+
isActive?: boolean;
|
|
49
67
|
}): Promise<PaginatedResponse<Record<string, unknown>>>;
|
|
50
68
|
getProduct(id: string): Promise<Record<string, unknown>>;
|
|
51
69
|
createProduct(data: Record<string, unknown>): Promise<Record<string, unknown>>;
|
|
@@ -54,14 +72,33 @@ export interface IFrihetClient {
|
|
|
54
72
|
listQuotes(params?: {
|
|
55
73
|
limit?: number;
|
|
56
74
|
offset?: number;
|
|
75
|
+
after?: string;
|
|
76
|
+
fields?: string;
|
|
57
77
|
status?: string;
|
|
58
78
|
from?: string;
|
|
59
79
|
to?: string;
|
|
80
|
+
clientId?: string;
|
|
81
|
+
seriesId?: string;
|
|
60
82
|
}): Promise<PaginatedResponse<Record<string, unknown>>>;
|
|
61
83
|
getQuote(id: string): Promise<Record<string, unknown>>;
|
|
62
84
|
createQuote(data: Record<string, unknown>): Promise<Record<string, unknown>>;
|
|
63
85
|
updateQuote(id: string, data: Record<string, unknown>): Promise<Record<string, unknown>>;
|
|
64
86
|
deleteQuote(id: string): Promise<void>;
|
|
87
|
+
listVendors(params?: {
|
|
88
|
+
q?: string;
|
|
89
|
+
limit?: number;
|
|
90
|
+
offset?: number;
|
|
91
|
+
after?: string;
|
|
92
|
+
fields?: string;
|
|
93
|
+
}): Promise<PaginatedResponse<Record<string, unknown>>>;
|
|
94
|
+
getVendor(id: string): Promise<Record<string, unknown>>;
|
|
95
|
+
createVendor(data: Record<string, unknown>): Promise<Record<string, unknown>>;
|
|
96
|
+
updateVendor(id: string, data: Record<string, unknown>): Promise<Record<string, unknown>>;
|
|
97
|
+
deleteVendor(id: string): Promise<void>;
|
|
98
|
+
sendInvoice(id: string, to?: string): Promise<Record<string, unknown>>;
|
|
99
|
+
markInvoicePaid(id: string, paidDate?: string): Promise<Record<string, unknown>>;
|
|
100
|
+
getInvoicePdf(id: string): Promise<Record<string, unknown>>;
|
|
101
|
+
sendQuote(id: string, to?: string): Promise<Record<string, unknown>>;
|
|
65
102
|
listWebhooks(params?: {
|
|
66
103
|
limit?: number;
|
|
67
104
|
offset?: number;
|
|
@@ -70,6 +107,23 @@ export interface IFrihetClient {
|
|
|
70
107
|
createWebhook(data: Record<string, unknown>): Promise<Record<string, unknown>>;
|
|
71
108
|
updateWebhook(id: string, data: Record<string, unknown>): Promise<Record<string, unknown>>;
|
|
72
109
|
deleteWebhook(id: string): Promise<void>;
|
|
110
|
+
listClientContacts(clientId: string, params?: {
|
|
111
|
+
limit?: number;
|
|
112
|
+
offset?: number;
|
|
113
|
+
}): Promise<PaginatedResponse<Record<string, unknown>>>;
|
|
114
|
+
createClientContact(clientId: string, data: Record<string, unknown>): Promise<Record<string, unknown>>;
|
|
115
|
+
deleteClientContact(clientId: string, contactId: string): Promise<void>;
|
|
116
|
+
listClientActivities(clientId: string, params?: {
|
|
117
|
+
limit?: number;
|
|
118
|
+
offset?: number;
|
|
119
|
+
}): Promise<PaginatedResponse<Record<string, unknown>>>;
|
|
120
|
+
logClientActivity(clientId: string, data: Record<string, unknown>): Promise<Record<string, unknown>>;
|
|
121
|
+
listClientNotes(clientId: string, params?: {
|
|
122
|
+
limit?: number;
|
|
123
|
+
offset?: number;
|
|
124
|
+
}): Promise<PaginatedResponse<Record<string, unknown>>>;
|
|
125
|
+
createClientNote(clientId: string, data: Record<string, unknown>): Promise<Record<string, unknown>>;
|
|
126
|
+
deleteClientNote(clientId: string, noteId: string): Promise<void>;
|
|
73
127
|
getBusinessContext(): Promise<Record<string, unknown>>;
|
|
74
128
|
getMonthlySummary(month?: string): Promise<Record<string, unknown>>;
|
|
75
129
|
getQuarterlyTaxes(quarter?: string): Promise<Record<string, unknown>>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"client-interface.d.ts","sourceRoot":"","sources":["../src/client-interface.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAC;AAEpD,MAAM,WAAW,aAAa;IAE5B,YAAY,CAAC,MAAM,CAAC,EAAE;QAAE,KAAK,CAAC,EAAE,MAAM,CAAC;QAAC,MAAM,CAAC,EAAE,MAAM,CAAC;QAAC,MAAM,CAAC,EAAE,MAAM,CAAC;QAAC,IAAI,CAAC,EAAE,MAAM,CAAC;QAAC,EAAE,CAAC,EAAE,MAAM,CAAA;KAAE,GAAG,OAAO,CAAC,iBAAiB,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"client-interface.d.ts","sourceRoot":"","sources":["../src/client-interface.ts"],"names":[],"mappings":"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"}
|
package/dist/client.d.ts
CHANGED
|
@@ -20,9 +20,13 @@ export declare class FrihetClient {
|
|
|
20
20
|
listInvoices(params?: {
|
|
21
21
|
limit?: number;
|
|
22
22
|
offset?: number;
|
|
23
|
+
after?: string;
|
|
24
|
+
fields?: string;
|
|
23
25
|
status?: string;
|
|
24
26
|
from?: string;
|
|
25
27
|
to?: string;
|
|
28
|
+
clientId?: string;
|
|
29
|
+
seriesId?: string;
|
|
26
30
|
}): Promise<PaginatedResponse<Record<string, unknown>>>;
|
|
27
31
|
getInvoice(id: string): Promise<Record<string, unknown>>;
|
|
28
32
|
createInvoice(data: Record<string, unknown>): Promise<Record<string, unknown>>;
|
|
@@ -31,6 +35,8 @@ export declare class FrihetClient {
|
|
|
31
35
|
searchInvoices(query: string, params?: {
|
|
32
36
|
limit?: number;
|
|
33
37
|
offset?: number;
|
|
38
|
+
after?: string;
|
|
39
|
+
fields?: string;
|
|
34
40
|
status?: string;
|
|
35
41
|
from?: string;
|
|
36
42
|
to?: string;
|
|
@@ -38,8 +44,12 @@ export declare class FrihetClient {
|
|
|
38
44
|
listExpenses(params?: {
|
|
39
45
|
limit?: number;
|
|
40
46
|
offset?: number;
|
|
47
|
+
after?: string;
|
|
48
|
+
fields?: string;
|
|
41
49
|
from?: string;
|
|
42
50
|
to?: string;
|
|
51
|
+
vendorId?: string;
|
|
52
|
+
category?: string;
|
|
43
53
|
}): Promise<PaginatedResponse<Record<string, unknown>>>;
|
|
44
54
|
getExpense(id: string): Promise<Record<string, unknown>>;
|
|
45
55
|
createExpense(data: Record<string, unknown>): Promise<Record<string, unknown>>;
|
|
@@ -48,6 +58,10 @@ export declare class FrihetClient {
|
|
|
48
58
|
listClients(params?: {
|
|
49
59
|
limit?: number;
|
|
50
60
|
offset?: number;
|
|
61
|
+
after?: string;
|
|
62
|
+
fields?: string;
|
|
63
|
+
q?: string;
|
|
64
|
+
stage?: string;
|
|
51
65
|
}): Promise<PaginatedResponse<Record<string, unknown>>>;
|
|
52
66
|
getClient(id: string): Promise<Record<string, unknown>>;
|
|
53
67
|
createClient(data: Record<string, unknown>): Promise<Record<string, unknown>>;
|
|
@@ -56,6 +70,10 @@ export declare class FrihetClient {
|
|
|
56
70
|
listProducts(params?: {
|
|
57
71
|
limit?: number;
|
|
58
72
|
offset?: number;
|
|
73
|
+
after?: string;
|
|
74
|
+
fields?: string;
|
|
75
|
+
q?: string;
|
|
76
|
+
isActive?: boolean;
|
|
59
77
|
}): Promise<PaginatedResponse<Record<string, unknown>>>;
|
|
60
78
|
getProduct(id: string): Promise<Record<string, unknown>>;
|
|
61
79
|
createProduct(data: Record<string, unknown>): Promise<Record<string, unknown>>;
|
|
@@ -64,14 +82,33 @@ export declare class FrihetClient {
|
|
|
64
82
|
listQuotes(params?: {
|
|
65
83
|
limit?: number;
|
|
66
84
|
offset?: number;
|
|
85
|
+
after?: string;
|
|
86
|
+
fields?: string;
|
|
67
87
|
status?: string;
|
|
68
88
|
from?: string;
|
|
69
89
|
to?: string;
|
|
90
|
+
clientId?: string;
|
|
91
|
+
seriesId?: string;
|
|
70
92
|
}): Promise<PaginatedResponse<Record<string, unknown>>>;
|
|
71
93
|
getQuote(id: string): Promise<Record<string, unknown>>;
|
|
72
94
|
createQuote(data: Record<string, unknown>): Promise<Record<string, unknown>>;
|
|
73
95
|
updateQuote(id: string, data: Record<string, unknown>): Promise<Record<string, unknown>>;
|
|
74
96
|
deleteQuote(id: string): Promise<void>;
|
|
97
|
+
listVendors(params?: {
|
|
98
|
+
q?: string;
|
|
99
|
+
limit?: number;
|
|
100
|
+
offset?: number;
|
|
101
|
+
after?: string;
|
|
102
|
+
fields?: string;
|
|
103
|
+
}): Promise<PaginatedResponse<Record<string, unknown>>>;
|
|
104
|
+
getVendor(id: string): Promise<Record<string, unknown>>;
|
|
105
|
+
createVendor(data: Record<string, unknown>): Promise<Record<string, unknown>>;
|
|
106
|
+
updateVendor(id: string, data: Record<string, unknown>): Promise<Record<string, unknown>>;
|
|
107
|
+
deleteVendor(id: string): Promise<void>;
|
|
108
|
+
sendInvoice(id: string, to?: string): Promise<Record<string, unknown>>;
|
|
109
|
+
markInvoicePaid(id: string, paidDate?: string): Promise<Record<string, unknown>>;
|
|
110
|
+
getInvoicePdf(id: string): Promise<Record<string, unknown>>;
|
|
111
|
+
sendQuote(id: string, to?: string): Promise<Record<string, unknown>>;
|
|
75
112
|
listWebhooks(params?: {
|
|
76
113
|
limit?: number;
|
|
77
114
|
offset?: number;
|
|
@@ -80,6 +117,23 @@ export declare class FrihetClient {
|
|
|
80
117
|
createWebhook(data: Record<string, unknown>): Promise<Record<string, unknown>>;
|
|
81
118
|
updateWebhook(id: string, data: Record<string, unknown>): Promise<Record<string, unknown>>;
|
|
82
119
|
deleteWebhook(id: string): Promise<void>;
|
|
120
|
+
listClientContacts(clientId: string, params?: {
|
|
121
|
+
limit?: number;
|
|
122
|
+
offset?: number;
|
|
123
|
+
}): Promise<PaginatedResponse<Record<string, unknown>>>;
|
|
124
|
+
createClientContact(clientId: string, data: Record<string, unknown>): Promise<Record<string, unknown>>;
|
|
125
|
+
deleteClientContact(clientId: string, contactId: string): Promise<void>;
|
|
126
|
+
listClientActivities(clientId: string, params?: {
|
|
127
|
+
limit?: number;
|
|
128
|
+
offset?: number;
|
|
129
|
+
}): Promise<PaginatedResponse<Record<string, unknown>>>;
|
|
130
|
+
logClientActivity(clientId: string, data: Record<string, unknown>): Promise<Record<string, unknown>>;
|
|
131
|
+
listClientNotes(clientId: string, params?: {
|
|
132
|
+
limit?: number;
|
|
133
|
+
offset?: number;
|
|
134
|
+
}): Promise<PaginatedResponse<Record<string, unknown>>>;
|
|
135
|
+
createClientNote(clientId: string, data: Record<string, unknown>): Promise<Record<string, unknown>>;
|
|
136
|
+
deleteClientNote(clientId: string, noteId: string): Promise<void>;
|
|
83
137
|
getBusinessContext(): Promise<Record<string, unknown>>;
|
|
84
138
|
getMonthlySummary(month?: string): Promise<Record<string, unknown>>;
|
|
85
139
|
getQuarterlyTaxes(quarter?: string): Promise<Record<string, unknown>>;
|
package/dist/client.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAAE,iBAAiB,EAAY,MAAM,YAAY,CAAC;AAS9D,qBAAa,cAAe,SAAQ,KAAK;aAErB,UAAU,EAAE,MAAM;aAClB,SAAS,EAAE,MAAM;gBADjB,UAAU,EAAE,MAAM,EAClB,SAAS,EAAE,MAAM,EACjC,OAAO,CAAC,EAAE,MAAM;CAKnB;AAED,qBAAa,YAAY;IACvB,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAS;IAChC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAS;gBAErB,MAAM,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM;YAa9B,OAAO;IAmHrB,OAAO,CAAC,KAAK;IAIb,mFAAmF;YACrE,gBAAgB;IAyBxB,YAAY,CAChB,MAAM,CAAC,EAAE;QAAE,KAAK,CAAC,EAAE,MAAM,CAAC;QAAC,MAAM,CAAC,EAAE,MAAM,CAAC;QAAC,MAAM,CAAC,EAAE,MAAM,CAAC;QAAC,IAAI,CAAC,EAAE,MAAM,CAAC;QAAC,EAAE,CAAC,EAAE,MAAM,CAAA;KAAE,
|
|
1
|
+
{"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"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"}
|
package/dist/client.js
CHANGED
|
@@ -129,9 +129,13 @@ export class FrihetClient {
|
|
|
129
129
|
return this.requestPaginated("GET", "/invoices", undefined, {
|
|
130
130
|
limit: params?.limit,
|
|
131
131
|
offset: params?.offset,
|
|
132
|
+
after: params?.after,
|
|
133
|
+
fields: params?.fields,
|
|
132
134
|
status: params?.status,
|
|
133
135
|
from: params?.from,
|
|
134
136
|
to: params?.to,
|
|
137
|
+
clientId: params?.clientId,
|
|
138
|
+
seriesId: params?.seriesId,
|
|
135
139
|
});
|
|
136
140
|
}
|
|
137
141
|
async getInvoice(id) {
|
|
@@ -151,6 +155,8 @@ export class FrihetClient {
|
|
|
151
155
|
q: query,
|
|
152
156
|
limit: params?.limit,
|
|
153
157
|
offset: params?.offset,
|
|
158
|
+
after: params?.after,
|
|
159
|
+
fields: params?.fields,
|
|
154
160
|
status: params?.status,
|
|
155
161
|
from: params?.from,
|
|
156
162
|
to: params?.to,
|
|
@@ -162,8 +168,12 @@ export class FrihetClient {
|
|
|
162
168
|
return this.requestPaginated("GET", "/expenses", undefined, {
|
|
163
169
|
limit: params?.limit,
|
|
164
170
|
offset: params?.offset,
|
|
171
|
+
after: params?.after,
|
|
172
|
+
fields: params?.fields,
|
|
165
173
|
from: params?.from,
|
|
166
174
|
to: params?.to,
|
|
175
|
+
vendorId: params?.vendorId,
|
|
176
|
+
category: params?.category,
|
|
167
177
|
});
|
|
168
178
|
}
|
|
169
179
|
async getExpense(id) {
|
|
@@ -184,6 +194,10 @@ export class FrihetClient {
|
|
|
184
194
|
return this.requestPaginated("GET", "/clients", undefined, {
|
|
185
195
|
limit: params?.limit,
|
|
186
196
|
offset: params?.offset,
|
|
197
|
+
after: params?.after,
|
|
198
|
+
fields: params?.fields,
|
|
199
|
+
q: params?.q,
|
|
200
|
+
stage: params?.stage,
|
|
187
201
|
});
|
|
188
202
|
}
|
|
189
203
|
async getClient(id) {
|
|
@@ -204,6 +218,10 @@ export class FrihetClient {
|
|
|
204
218
|
return this.requestPaginated("GET", "/products", undefined, {
|
|
205
219
|
limit: params?.limit,
|
|
206
220
|
offset: params?.offset,
|
|
221
|
+
after: params?.after,
|
|
222
|
+
fields: params?.fields,
|
|
223
|
+
q: params?.q,
|
|
224
|
+
isActive: params?.isActive !== undefined ? (params.isActive ? 1 : 0) : undefined,
|
|
207
225
|
});
|
|
208
226
|
}
|
|
209
227
|
async getProduct(id) {
|
|
@@ -224,9 +242,13 @@ export class FrihetClient {
|
|
|
224
242
|
return this.requestPaginated("GET", "/quotes", undefined, {
|
|
225
243
|
limit: params?.limit,
|
|
226
244
|
offset: params?.offset,
|
|
245
|
+
after: params?.after,
|
|
246
|
+
fields: params?.fields,
|
|
227
247
|
status: params?.status,
|
|
228
248
|
from: params?.from,
|
|
229
249
|
to: params?.to,
|
|
250
|
+
clientId: params?.clientId,
|
|
251
|
+
seriesId: params?.seriesId,
|
|
230
252
|
});
|
|
231
253
|
}
|
|
232
254
|
async getQuote(id) {
|
|
@@ -241,6 +263,45 @@ export class FrihetClient {
|
|
|
241
263
|
async deleteQuote(id) {
|
|
242
264
|
return this.request("DELETE", `/quotes/${encodeURIComponent(id)}`);
|
|
243
265
|
}
|
|
266
|
+
// ---------------------------------------------------------------- Vendors
|
|
267
|
+
// ----------------------------------------------------------------
|
|
268
|
+
async listVendors(params) {
|
|
269
|
+
return this.requestPaginated("GET", "/vendors", undefined, {
|
|
270
|
+
q: params?.q,
|
|
271
|
+
limit: params?.limit,
|
|
272
|
+
offset: params?.offset,
|
|
273
|
+
after: params?.after,
|
|
274
|
+
fields: params?.fields,
|
|
275
|
+
});
|
|
276
|
+
}
|
|
277
|
+
async getVendor(id) {
|
|
278
|
+
return this.request("GET", `/vendors/${encodeURIComponent(id)}`);
|
|
279
|
+
}
|
|
280
|
+
async createVendor(data) {
|
|
281
|
+
return this.request("POST", "/vendors", data);
|
|
282
|
+
}
|
|
283
|
+
async updateVendor(id, data) {
|
|
284
|
+
return this.request("PATCH", `/vendors/${encodeURIComponent(id)}`, data);
|
|
285
|
+
}
|
|
286
|
+
async deleteVendor(id) {
|
|
287
|
+
return this.request("DELETE", `/vendors/${encodeURIComponent(id)}`);
|
|
288
|
+
}
|
|
289
|
+
// ---------------------------------------------------------------- Invoice Actions
|
|
290
|
+
// ----------------------------------------------------------------
|
|
291
|
+
async sendInvoice(id, to) {
|
|
292
|
+
return this.request("POST", `/invoices/${encodeURIComponent(id)}/send`, to ? { to } : undefined);
|
|
293
|
+
}
|
|
294
|
+
async markInvoicePaid(id, paidDate) {
|
|
295
|
+
return this.request("POST", `/invoices/${encodeURIComponent(id)}/paid`, paidDate ? { paidDate } : undefined);
|
|
296
|
+
}
|
|
297
|
+
async getInvoicePdf(id) {
|
|
298
|
+
return this.request("GET", `/invoices/${encodeURIComponent(id)}/pdf`);
|
|
299
|
+
}
|
|
300
|
+
// ---------------------------------------------------------------- Quote Actions
|
|
301
|
+
// ----------------------------------------------------------------
|
|
302
|
+
async sendQuote(id, to) {
|
|
303
|
+
return this.request("POST", `/quotes/${encodeURIComponent(id)}/send`, to ? { to } : undefined);
|
|
304
|
+
}
|
|
244
305
|
// ---------------------------------------------------------------- Webhooks
|
|
245
306
|
// ----------------------------------------------------------------
|
|
246
307
|
async listWebhooks(params) {
|
|
@@ -261,6 +322,45 @@ export class FrihetClient {
|
|
|
261
322
|
async deleteWebhook(id) {
|
|
262
323
|
return this.request("DELETE", `/webhooks/${encodeURIComponent(id)}`);
|
|
263
324
|
}
|
|
325
|
+
// ---------------------------------------------------------------- CRM: Contacts
|
|
326
|
+
// ----------------------------------------------------------------
|
|
327
|
+
async listClientContacts(clientId, params) {
|
|
328
|
+
return this.requestPaginated("GET", `/clients/${encodeURIComponent(clientId)}/contacts`, undefined, {
|
|
329
|
+
limit: params?.limit,
|
|
330
|
+
offset: params?.offset,
|
|
331
|
+
});
|
|
332
|
+
}
|
|
333
|
+
async createClientContact(clientId, data) {
|
|
334
|
+
return this.request("POST", `/clients/${encodeURIComponent(clientId)}/contacts`, data);
|
|
335
|
+
}
|
|
336
|
+
async deleteClientContact(clientId, contactId) {
|
|
337
|
+
return this.request("DELETE", `/clients/${encodeURIComponent(clientId)}/contacts/${encodeURIComponent(contactId)}`);
|
|
338
|
+
}
|
|
339
|
+
// ---------------------------------------------------------------- CRM: Activities
|
|
340
|
+
// ----------------------------------------------------------------
|
|
341
|
+
async listClientActivities(clientId, params) {
|
|
342
|
+
return this.requestPaginated("GET", `/clients/${encodeURIComponent(clientId)}/activities`, undefined, {
|
|
343
|
+
limit: params?.limit,
|
|
344
|
+
offset: params?.offset,
|
|
345
|
+
});
|
|
346
|
+
}
|
|
347
|
+
async logClientActivity(clientId, data) {
|
|
348
|
+
return this.request("POST", `/clients/${encodeURIComponent(clientId)}/activities`, data);
|
|
349
|
+
}
|
|
350
|
+
// ---------------------------------------------------------------- CRM: Notes
|
|
351
|
+
// ----------------------------------------------------------------
|
|
352
|
+
async listClientNotes(clientId, params) {
|
|
353
|
+
return this.requestPaginated("GET", `/clients/${encodeURIComponent(clientId)}/notes`, undefined, {
|
|
354
|
+
limit: params?.limit,
|
|
355
|
+
offset: params?.offset,
|
|
356
|
+
});
|
|
357
|
+
}
|
|
358
|
+
async createClientNote(clientId, data) {
|
|
359
|
+
return this.request("POST", `/clients/${encodeURIComponent(clientId)}/notes`, data);
|
|
360
|
+
}
|
|
361
|
+
async deleteClientNote(clientId, noteId) {
|
|
362
|
+
return this.request("DELETE", `/clients/${encodeURIComponent(clientId)}/notes/${encodeURIComponent(noteId)}`);
|
|
363
|
+
}
|
|
264
364
|
// ---------------------------------------------------------------- Intelligence
|
|
265
365
|
// ----------------------------------------------------------------
|
|
266
366
|
async getBusinessContext() {
|