@rainnworks/indy 0.1.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/dist/api.d.ts +25 -0
- package/dist/api.d.ts.map +1 -0
- package/dist/api.js +142 -0
- package/dist/api.js.map +1 -0
- package/dist/auth.d.ts +4 -0
- package/dist/auth.d.ts.map +1 -0
- package/dist/auth.js +40 -0
- package/dist/auth.js.map +1 -0
- package/dist/index.d.ts +4 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +242 -0
- package/dist/index.js.map +1 -0
- package/dist/setup.d.ts +4 -0
- package/dist/setup.d.ts.map +1 -0
- package/dist/setup.js +42 -0
- package/dist/setup.js.map +1 -0
- package/dist/tools.d.ts +5 -0
- package/dist/tools.d.ts.map +1 -0
- package/dist/tools.js +230 -0
- package/dist/tools.js.map +1 -0
- package/dist/types.d.ts +190 -0
- package/dist/types.d.ts.map +1 -0
- package/dist/types.js +3 -0
- package/dist/types.js.map +1 -0
- package/openclaw.plugin.json +43 -0
- package/package.json +27 -0
- package/skills/indy/SKILL.md +38 -0
- package/src/api.ts +235 -0
- package/src/auth.ts +59 -0
- package/src/index.ts +268 -0
- package/src/setup.ts +44 -0
- package/src/tools.ts +265 -0
- package/src/types.ts +236 -0
package/dist/tools.js
ADDED
|
@@ -0,0 +1,230 @@
|
|
|
1
|
+
import { Type } from "@sinclair/typebox";
|
|
2
|
+
import * as api from "./api";
|
|
3
|
+
import { SETUP_INSTRUCTIONS_AGENT } from "./setup";
|
|
4
|
+
function requireConfig(getConfig) {
|
|
5
|
+
const cfg = getConfig();
|
|
6
|
+
if (!cfg)
|
|
7
|
+
throw new Error("__SETUP_NEEDED__");
|
|
8
|
+
return cfg;
|
|
9
|
+
}
|
|
10
|
+
function wrapExecute(getConfig, fn) {
|
|
11
|
+
return async (...args) => {
|
|
12
|
+
try {
|
|
13
|
+
const cfg = requireConfig(getConfig);
|
|
14
|
+
return await fn(cfg, ...args);
|
|
15
|
+
}
|
|
16
|
+
catch (e) {
|
|
17
|
+
if (e.message === "__SETUP_NEEDED__") {
|
|
18
|
+
return { content: [{ type: "text", text: SETUP_INSTRUCTIONS_AGENT }] };
|
|
19
|
+
}
|
|
20
|
+
throw e;
|
|
21
|
+
}
|
|
22
|
+
};
|
|
23
|
+
}
|
|
24
|
+
export function registerTools(pluginApi, getConfig) {
|
|
25
|
+
// ── indy_get_user ──
|
|
26
|
+
pluginApi.registerTool({
|
|
27
|
+
name: "indy_get_user",
|
|
28
|
+
description: "Get the current Indy.fr user profile including name, company, email, SIRET, fiscal regime, and subscription plan.",
|
|
29
|
+
parameters: Type.Object({}),
|
|
30
|
+
execute: wrapExecute(getConfig, async (cfg) => {
|
|
31
|
+
const user = await api.getMe(cfg);
|
|
32
|
+
return { content: [{ type: "text", text: JSON.stringify(user, null, 2) }] };
|
|
33
|
+
}),
|
|
34
|
+
});
|
|
35
|
+
// ── indy_list_transactions ──
|
|
36
|
+
pluginApi.registerTool({
|
|
37
|
+
name: "indy_list_transactions",
|
|
38
|
+
description: "List transactions from the Indy.fr accounting ledger. Supports filtering by search query, date range, bank account, category, receipt presence, and verification status.",
|
|
39
|
+
parameters: Type.Object({
|
|
40
|
+
search: Type.Optional(Type.String({ description: "Free-text search query" })),
|
|
41
|
+
page: Type.Optional(Type.Number({ description: "Page number (default 1)" })),
|
|
42
|
+
accountId: Type.Optional(Type.String({ description: "Bank account ID filter" })),
|
|
43
|
+
categoryId: Type.Optional(Type.String({ description: "Accounting category ID filter" })),
|
|
44
|
+
startDate: Type.Optional(Type.String({ description: "Start date (YYYY-MM-DD)" })),
|
|
45
|
+
endDate: Type.Optional(Type.String({ description: "End date (YYYY-MM-DD)" })),
|
|
46
|
+
hasReceipt: Type.Optional(Type.Boolean({ description: "Only with receipts attached" })),
|
|
47
|
+
isVerified: Type.Optional(Type.Boolean({ description: "Only verified transactions" })),
|
|
48
|
+
}),
|
|
49
|
+
execute: wrapExecute(getConfig, async (cfg, _id, params) => {
|
|
50
|
+
const data = await api.listTransactions(cfg, params);
|
|
51
|
+
return { content: [{ type: "text", text: JSON.stringify(data, null, 2) }] };
|
|
52
|
+
}),
|
|
53
|
+
});
|
|
54
|
+
// ── indy_list_pending_transactions ──
|
|
55
|
+
pluginApi.registerTool({
|
|
56
|
+
name: "indy_list_pending_transactions",
|
|
57
|
+
description: "List pending (uncategorized) transactions from Indy.fr.",
|
|
58
|
+
parameters: Type.Object({}),
|
|
59
|
+
execute: wrapExecute(getConfig, async (cfg) => {
|
|
60
|
+
const data = await api.listPendingTransactions(cfg);
|
|
61
|
+
return { content: [{ type: "text", text: JSON.stringify(data, null, 2) }] };
|
|
62
|
+
}),
|
|
63
|
+
});
|
|
64
|
+
// ── indy_get_transaction_filters ──
|
|
65
|
+
pluginApi.registerTool({
|
|
66
|
+
name: "indy_get_transaction_filters",
|
|
67
|
+
description: "Get available transaction filters: bank accounts, categories, date ranges, and presets. Useful for discovering valid filter IDs before calling indy_list_transactions.",
|
|
68
|
+
parameters: Type.Object({}),
|
|
69
|
+
execute: wrapExecute(getConfig, async (cfg) => {
|
|
70
|
+
const data = await api.getTransactionFilters(cfg);
|
|
71
|
+
return { content: [{ type: "text", text: JSON.stringify(data, null, 2) }] };
|
|
72
|
+
}),
|
|
73
|
+
});
|
|
74
|
+
// ── indy_categorize_count ──
|
|
75
|
+
pluginApi.registerTool({
|
|
76
|
+
name: "indy_categorize_count",
|
|
77
|
+
description: "Get the number of transactions that still need to be categorized.",
|
|
78
|
+
parameters: Type.Object({}),
|
|
79
|
+
execute: wrapExecute(getConfig, async (cfg) => {
|
|
80
|
+
const data = await api.getCategorizeCount(cfg);
|
|
81
|
+
return { content: [{ type: "text", text: JSON.stringify(data, null, 2) }] };
|
|
82
|
+
}),
|
|
83
|
+
});
|
|
84
|
+
// ── indy_get_category_groups ──
|
|
85
|
+
pluginApi.registerTool({
|
|
86
|
+
name: "indy_get_category_groups",
|
|
87
|
+
description: "Get all accounting category groups with decorations. Useful for understanding what categories are available for classifying transactions.",
|
|
88
|
+
parameters: Type.Object({}),
|
|
89
|
+
execute: wrapExecute(getConfig, async (cfg) => {
|
|
90
|
+
const data = await api.getCategoryGroups(cfg);
|
|
91
|
+
return { content: [{ type: "text", text: JSON.stringify(data, null, 2) }] };
|
|
92
|
+
}),
|
|
93
|
+
});
|
|
94
|
+
// ── indy_annotate_transaction ──
|
|
95
|
+
pluginApi.registerTool({
|
|
96
|
+
name: "indy_annotate_transaction",
|
|
97
|
+
description: "Add or update an annotation (note) on a transaction.",
|
|
98
|
+
parameters: Type.Object({
|
|
99
|
+
transactionId: Type.String({ description: "Transaction ID" }),
|
|
100
|
+
annotation: Type.String({ description: "Annotation text to set" }),
|
|
101
|
+
}),
|
|
102
|
+
execute: wrapExecute(getConfig, async (cfg, _id, params) => {
|
|
103
|
+
const result = await api.annotateTransaction(cfg, params.transactionId, params.annotation);
|
|
104
|
+
return { content: [{ type: "text", text: JSON.stringify(result, null, 2) }] };
|
|
105
|
+
}),
|
|
106
|
+
}, { optional: true });
|
|
107
|
+
// ── indy_list_invoices ──
|
|
108
|
+
pluginApi.registerTool({
|
|
109
|
+
name: "indy_list_invoices",
|
|
110
|
+
description: "List invoices from Indy.fr.",
|
|
111
|
+
parameters: Type.Object({
|
|
112
|
+
type: Type.Optional(Type.String({ description: "Invoice type (default: indy)" })),
|
|
113
|
+
limit: Type.Optional(Type.Number({ description: "Max results (default: 10)" })),
|
|
114
|
+
}),
|
|
115
|
+
execute: wrapExecute(getConfig, async (cfg, _id, params) => {
|
|
116
|
+
const data = await api.listInvoices(cfg, params);
|
|
117
|
+
return { content: [{ type: "text", text: JSON.stringify(data, null, 2) }] };
|
|
118
|
+
}),
|
|
119
|
+
});
|
|
120
|
+
// ── indy_list_documents ──
|
|
121
|
+
pluginApi.registerTool({
|
|
122
|
+
name: "indy_list_documents",
|
|
123
|
+
description: "List all documents stored in the Indy.fr account.",
|
|
124
|
+
parameters: Type.Object({}),
|
|
125
|
+
execute: wrapExecute(getConfig, async (cfg) => {
|
|
126
|
+
const data = await api.listDocuments(cfg);
|
|
127
|
+
return { content: [{ type: "text", text: JSON.stringify(data, null, 2) }] };
|
|
128
|
+
}),
|
|
129
|
+
});
|
|
130
|
+
// ── indy_get_receipts ──
|
|
131
|
+
pluginApi.registerTool({
|
|
132
|
+
name: "indy_get_receipts",
|
|
133
|
+
description: "Get receipts attached to a specific transaction.",
|
|
134
|
+
parameters: Type.Object({
|
|
135
|
+
transactionId: Type.String({ description: "Transaction ID" }),
|
|
136
|
+
}),
|
|
137
|
+
execute: wrapExecute(getConfig, async (cfg, _id, params) => {
|
|
138
|
+
const data = await api.getReceiptsForTransaction(cfg, params.transactionId);
|
|
139
|
+
return { content: [{ type: "text", text: JSON.stringify(data, null, 2) }] };
|
|
140
|
+
}),
|
|
141
|
+
});
|
|
142
|
+
// ── indy_list_bank_accounts ──
|
|
143
|
+
pluginApi.registerTool({
|
|
144
|
+
name: "indy_list_bank_accounts",
|
|
145
|
+
description: "List all connected bank accounts with balances and sync status.",
|
|
146
|
+
parameters: Type.Object({}),
|
|
147
|
+
execute: wrapExecute(getConfig, async (cfg) => {
|
|
148
|
+
const data = await api.listBankAccounts(cfg);
|
|
149
|
+
return { content: [{ type: "text", text: JSON.stringify(data, null, 2) }] };
|
|
150
|
+
}),
|
|
151
|
+
});
|
|
152
|
+
// ── indy_get_dashboard ──
|
|
153
|
+
pluginApi.registerTool({
|
|
154
|
+
name: "indy_get_dashboard",
|
|
155
|
+
description: "Get dashboard periods for a fiscal year (revenue, expenses, etc.).",
|
|
156
|
+
parameters: Type.Object({
|
|
157
|
+
year: Type.Optional(Type.String({ description: "Fiscal year (default: current year)" })),
|
|
158
|
+
}),
|
|
159
|
+
execute: wrapExecute(getConfig, async (cfg, _id, params) => {
|
|
160
|
+
const year = params.year || new Date().getFullYear().toString();
|
|
161
|
+
const data = await api.getDashboardPeriods(cfg, year);
|
|
162
|
+
return { content: [{ type: "text", text: JSON.stringify(data, null, 2) }] };
|
|
163
|
+
}),
|
|
164
|
+
});
|
|
165
|
+
// ── indy_get_vat_config ──
|
|
166
|
+
pluginApi.registerTool({
|
|
167
|
+
name: "indy_get_vat_config",
|
|
168
|
+
description: "Get the VAT configuration for the Indy.fr account.",
|
|
169
|
+
parameters: Type.Object({
|
|
170
|
+
date: Type.Optional(Type.String({ description: "Date for VAT config (ISO, default: now)" })),
|
|
171
|
+
}),
|
|
172
|
+
execute: wrapExecute(getConfig, async (cfg, _id, params) => {
|
|
173
|
+
const data = await api.getVatConfiguration(cfg, params.date);
|
|
174
|
+
return { content: [{ type: "text", text: JSON.stringify(data, null, 2) }] };
|
|
175
|
+
}),
|
|
176
|
+
});
|
|
177
|
+
// ── indy_get_payment ──
|
|
178
|
+
pluginApi.registerTool({
|
|
179
|
+
name: "indy_get_payment",
|
|
180
|
+
description: "Get payment info and subscription details for the Indy.fr account.",
|
|
181
|
+
parameters: Type.Object({}),
|
|
182
|
+
execute: wrapExecute(getConfig, async (cfg) => {
|
|
183
|
+
const payment = await api.getPayment(cfg);
|
|
184
|
+
const subscription = await api.getSubscription(cfg);
|
|
185
|
+
return {
|
|
186
|
+
content: [
|
|
187
|
+
{ type: "text", text: JSON.stringify({ payment, subscription }, null, 2) },
|
|
188
|
+
],
|
|
189
|
+
};
|
|
190
|
+
}),
|
|
191
|
+
});
|
|
192
|
+
// ── indy_list_activities ──
|
|
193
|
+
pluginApi.registerTool({
|
|
194
|
+
name: "indy_list_activities",
|
|
195
|
+
description: "List all business activities registered in the Indy.fr account.",
|
|
196
|
+
parameters: Type.Object({}),
|
|
197
|
+
execute: wrapExecute(getConfig, async (cfg) => {
|
|
198
|
+
const data = await api.listActivities(cfg);
|
|
199
|
+
return { content: [{ type: "text", text: JSON.stringify(data, null, 2) }] };
|
|
200
|
+
}),
|
|
201
|
+
});
|
|
202
|
+
// ── indy_refresh_closing ──
|
|
203
|
+
pluginApi.registerTool({
|
|
204
|
+
name: "indy_refresh_closing",
|
|
205
|
+
description: "Refresh the closing status for a fiscal period/declaration.",
|
|
206
|
+
parameters: Type.Object({
|
|
207
|
+
declaration: Type.Optional(Type.String({ description: "Declaration type (e.g. BICISFISCAL)" })),
|
|
208
|
+
fiscalPeriodId: Type.Optional(Type.String({ description: "Fiscal period ID (e.g. current)" })),
|
|
209
|
+
}),
|
|
210
|
+
execute: wrapExecute(getConfig, async (cfg, _id, params) => {
|
|
211
|
+
const data = await api.refreshClosing(cfg, params);
|
|
212
|
+
return { content: [{ type: "text", text: JSON.stringify(data, null, 2) }] };
|
|
213
|
+
}),
|
|
214
|
+
}, { optional: true });
|
|
215
|
+
// ── indy_fetch ──
|
|
216
|
+
pluginApi.registerTool({
|
|
217
|
+
name: "indy_fetch",
|
|
218
|
+
description: "Make an authenticated request to any Indy.fr API path. Escape hatch for endpoints not covered by other tools.",
|
|
219
|
+
parameters: Type.Object({
|
|
220
|
+
path: Type.String({ description: "API path (e.g. /users/me/product)" }),
|
|
221
|
+
method: Type.Optional(Type.String({ description: "HTTP method (default: GET)" })),
|
|
222
|
+
body: Type.Optional(Type.String({ description: "JSON body for POST/PUT" })),
|
|
223
|
+
}),
|
|
224
|
+
execute: wrapExecute(getConfig, async (cfg, _id, params) => {
|
|
225
|
+
const data = await api.genericFetch(cfg, params.path, params.method, params.body);
|
|
226
|
+
return { content: [{ type: "text", text: JSON.stringify(data, null, 2) }] };
|
|
227
|
+
}),
|
|
228
|
+
}, { optional: true });
|
|
229
|
+
}
|
|
230
|
+
//# sourceMappingURL=tools.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tools.js","sourceRoot":"","sources":["../src/tools.ts"],"names":[],"mappings":"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"}
|
package/dist/types.d.ts
ADDED
|
@@ -0,0 +1,190 @@
|
|
|
1
|
+
export interface ExchangeSsoResponse {
|
|
2
|
+
token: string;
|
|
3
|
+
}
|
|
4
|
+
export interface FirebaseSignInResponse {
|
|
5
|
+
idToken: string;
|
|
6
|
+
refreshToken: string;
|
|
7
|
+
expiresIn: string;
|
|
8
|
+
localId: string;
|
|
9
|
+
}
|
|
10
|
+
export interface FirebaseRefreshResponse {
|
|
11
|
+
id_token: string;
|
|
12
|
+
refresh_token: string;
|
|
13
|
+
expires_in: string;
|
|
14
|
+
user_id: string;
|
|
15
|
+
}
|
|
16
|
+
export interface TokenState {
|
|
17
|
+
idToken: string;
|
|
18
|
+
refreshToken: string;
|
|
19
|
+
expiresAt: number;
|
|
20
|
+
}
|
|
21
|
+
export interface IndyPluginConfig {
|
|
22
|
+
refreshToken: string;
|
|
23
|
+
firebaseApiKey?: string;
|
|
24
|
+
baseUrl?: string;
|
|
25
|
+
}
|
|
26
|
+
export interface User {
|
|
27
|
+
_id: string;
|
|
28
|
+
email: string;
|
|
29
|
+
profile?: {
|
|
30
|
+
firstName?: string;
|
|
31
|
+
lastName?: string;
|
|
32
|
+
fullName?: string;
|
|
33
|
+
};
|
|
34
|
+
[key: string]: unknown;
|
|
35
|
+
}
|
|
36
|
+
export interface Subdivision {
|
|
37
|
+
id: string;
|
|
38
|
+
amount_in_cents: number;
|
|
39
|
+
accounting_account: {
|
|
40
|
+
number: string;
|
|
41
|
+
};
|
|
42
|
+
modifiable?: boolean;
|
|
43
|
+
tva_rate: number;
|
|
44
|
+
tva_amount_in_cents: number;
|
|
45
|
+
tva_nationality: string;
|
|
46
|
+
tva_intracom?: {
|
|
47
|
+
type: string;
|
|
48
|
+
rate: number;
|
|
49
|
+
amount_in_cents: number;
|
|
50
|
+
};
|
|
51
|
+
best_accounting_account_guesses?: string[];
|
|
52
|
+
categorized?: {
|
|
53
|
+
by: string;
|
|
54
|
+
at: string;
|
|
55
|
+
};
|
|
56
|
+
resource_links: unknown[];
|
|
57
|
+
}
|
|
58
|
+
export interface Transaction {
|
|
59
|
+
_id: string;
|
|
60
|
+
created_at: string;
|
|
61
|
+
updated_at: string;
|
|
62
|
+
id_user: string;
|
|
63
|
+
date: string;
|
|
64
|
+
description: string;
|
|
65
|
+
searchable_description: string;
|
|
66
|
+
annotation?: string;
|
|
67
|
+
searchable_annotation?: string;
|
|
68
|
+
from: string;
|
|
69
|
+
bank_connector?: {
|
|
70
|
+
type: string;
|
|
71
|
+
id: string;
|
|
72
|
+
account_id: string;
|
|
73
|
+
};
|
|
74
|
+
tva_selected: string;
|
|
75
|
+
metadata?: {
|
|
76
|
+
bankConnector?: {
|
|
77
|
+
rawBankOperationType: string;
|
|
78
|
+
};
|
|
79
|
+
};
|
|
80
|
+
subdivisions: Subdivision[];
|
|
81
|
+
bank_operation_type: string;
|
|
82
|
+
transactionType: string;
|
|
83
|
+
bankTransactionOrigin?: string;
|
|
84
|
+
userPermissions: string[];
|
|
85
|
+
bankAccountId?: string;
|
|
86
|
+
isVerified: boolean;
|
|
87
|
+
isDeleted: boolean;
|
|
88
|
+
receiptIds: string[];
|
|
89
|
+
rawDescription: string;
|
|
90
|
+
amountInCents: number;
|
|
91
|
+
isDDC: boolean;
|
|
92
|
+
vat: {
|
|
93
|
+
isLiable: boolean;
|
|
94
|
+
zoneRegime: string;
|
|
95
|
+
tvaSelected: string;
|
|
96
|
+
};
|
|
97
|
+
totalAmountInCents: number;
|
|
98
|
+
}
|
|
99
|
+
export interface TransactionListResponse {
|
|
100
|
+
transactions: Transaction[];
|
|
101
|
+
totalCount?: number;
|
|
102
|
+
page?: number;
|
|
103
|
+
}
|
|
104
|
+
export interface TransactionListParams {
|
|
105
|
+
search?: string;
|
|
106
|
+
page?: number;
|
|
107
|
+
accountId?: string;
|
|
108
|
+
categoryId?: string;
|
|
109
|
+
startDate?: string;
|
|
110
|
+
endDate?: string;
|
|
111
|
+
hasReceipt?: boolean;
|
|
112
|
+
isVerified?: boolean;
|
|
113
|
+
}
|
|
114
|
+
export interface FilterOption {
|
|
115
|
+
id: string;
|
|
116
|
+
title?: string;
|
|
117
|
+
name?: string;
|
|
118
|
+
icon?: string;
|
|
119
|
+
bankAccountName?: string;
|
|
120
|
+
balance_in_cents?: number;
|
|
121
|
+
updated_at?: string;
|
|
122
|
+
bankName?: string;
|
|
123
|
+
}
|
|
124
|
+
export interface DateRange {
|
|
125
|
+
start: string;
|
|
126
|
+
end: string;
|
|
127
|
+
}
|
|
128
|
+
export interface RangePreset {
|
|
129
|
+
name: string;
|
|
130
|
+
dates: DateRange;
|
|
131
|
+
}
|
|
132
|
+
export interface TransactionFilters {
|
|
133
|
+
filters: {
|
|
134
|
+
allowedDates: DateRange;
|
|
135
|
+
accountOrFroms: FilterOption[];
|
|
136
|
+
transactionTypes: FilterOption[];
|
|
137
|
+
bankAccounts: FilterOption[];
|
|
138
|
+
categories: {
|
|
139
|
+
id: string;
|
|
140
|
+
name: string;
|
|
141
|
+
}[];
|
|
142
|
+
hasVatFilters: boolean;
|
|
143
|
+
rangePresets: RangePreset[];
|
|
144
|
+
};
|
|
145
|
+
}
|
|
146
|
+
export interface Invoice {
|
|
147
|
+
_id: string;
|
|
148
|
+
[key: string]: unknown;
|
|
149
|
+
}
|
|
150
|
+
export interface InvoiceListParams {
|
|
151
|
+
type?: string;
|
|
152
|
+
limit?: number;
|
|
153
|
+
}
|
|
154
|
+
export interface Document {
|
|
155
|
+
_id: string;
|
|
156
|
+
[key: string]: unknown;
|
|
157
|
+
}
|
|
158
|
+
export interface Receipt {
|
|
159
|
+
_id: string;
|
|
160
|
+
[key: string]: unknown;
|
|
161
|
+
}
|
|
162
|
+
export interface DashboardPeriod {
|
|
163
|
+
[key: string]: unknown;
|
|
164
|
+
}
|
|
165
|
+
export interface BankAccount {
|
|
166
|
+
_id?: string;
|
|
167
|
+
id?: string;
|
|
168
|
+
title?: string;
|
|
169
|
+
bankAccountName?: string;
|
|
170
|
+
balance_in_cents?: number;
|
|
171
|
+
updated_at?: string;
|
|
172
|
+
bankName?: string;
|
|
173
|
+
[key: string]: unknown;
|
|
174
|
+
}
|
|
175
|
+
export interface BankAuth {
|
|
176
|
+
[key: string]: unknown;
|
|
177
|
+
}
|
|
178
|
+
export interface VatConfiguration {
|
|
179
|
+
[key: string]: unknown;
|
|
180
|
+
}
|
|
181
|
+
export interface PaymentInfo {
|
|
182
|
+
[key: string]: unknown;
|
|
183
|
+
}
|
|
184
|
+
export interface Subscription {
|
|
185
|
+
[key: string]: unknown;
|
|
186
|
+
}
|
|
187
|
+
export interface Activity {
|
|
188
|
+
[key: string]: unknown;
|
|
189
|
+
}
|
|
190
|
+
//# sourceMappingURL=types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
|
package/dist/types.js
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA,aAAa"}
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
{
|
|
2
|
+
"id": "indy",
|
|
3
|
+
"name": "Indy.fr Accounting",
|
|
4
|
+
"description": "Indy.fr accounting tools — transactions, invoices, receipts, bank accounts, VAT, and more.",
|
|
5
|
+
"version": "0.1.0",
|
|
6
|
+
"skills": ["skills/indy"],
|
|
7
|
+
"configSchema": {
|
|
8
|
+
"type": "object",
|
|
9
|
+
"additionalProperties": false,
|
|
10
|
+
"properties": {
|
|
11
|
+
"refreshToken": {
|
|
12
|
+
"type": "string",
|
|
13
|
+
"description": "Firebase refresh token from Indy.fr (obtained via browser login)"
|
|
14
|
+
},
|
|
15
|
+
"firebaseApiKey": {
|
|
16
|
+
"type": "string",
|
|
17
|
+
"description": "Firebase API key (uses Indy default if not set)"
|
|
18
|
+
},
|
|
19
|
+
"baseUrl": {
|
|
20
|
+
"type": "string",
|
|
21
|
+
"description": "Indy API base URL",
|
|
22
|
+
"default": "https://app.indy.fr/api"
|
|
23
|
+
}
|
|
24
|
+
},
|
|
25
|
+
"required": []
|
|
26
|
+
},
|
|
27
|
+
"uiHints": {
|
|
28
|
+
"refreshToken": {
|
|
29
|
+
"label": "Refresh Token",
|
|
30
|
+
"sensitive": true,
|
|
31
|
+
"placeholder": "Paste your Firebase refresh token from Indy.fr"
|
|
32
|
+
},
|
|
33
|
+
"firebaseApiKey": {
|
|
34
|
+
"label": "Firebase API Key",
|
|
35
|
+
"sensitive": true,
|
|
36
|
+
"placeholder": "Leave empty to use default"
|
|
37
|
+
},
|
|
38
|
+
"baseUrl": {
|
|
39
|
+
"label": "API Base URL",
|
|
40
|
+
"placeholder": "https://app.indy.fr/api"
|
|
41
|
+
}
|
|
42
|
+
}
|
|
43
|
+
}
|
package/package.json
ADDED
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "@rainnworks/indy",
|
|
3
|
+
"version": "0.1.0",
|
|
4
|
+
"type": "module",
|
|
5
|
+
"main": "dist/index.js",
|
|
6
|
+
"types": "dist/index.d.ts",
|
|
7
|
+
"files": [
|
|
8
|
+
"dist",
|
|
9
|
+
"src",
|
|
10
|
+
"skills",
|
|
11
|
+
"openclaw.plugin.json"
|
|
12
|
+
],
|
|
13
|
+
"openclaw": {
|
|
14
|
+
"extensions": ["./src/index.ts"]
|
|
15
|
+
},
|
|
16
|
+
"scripts": {
|
|
17
|
+
"build": "tsc",
|
|
18
|
+
"prepublishOnly": "tsc"
|
|
19
|
+
},
|
|
20
|
+
"dependencies": {
|
|
21
|
+
"@sinclair/typebox": "^0.34.0"
|
|
22
|
+
},
|
|
23
|
+
"devDependencies": {
|
|
24
|
+
"@types/node": "^22.0.0",
|
|
25
|
+
"typescript": "^5.7.0"
|
|
26
|
+
}
|
|
27
|
+
}
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: Indy.fr Accounting
|
|
3
|
+
description: Manage your Indy.fr freelance accounting — transactions, invoices, receipts, bank accounts, VAT, and fiscal dashboard.
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# Indy.fr Accounting
|
|
7
|
+
|
|
8
|
+
You have access to the user's Indy.fr accounting platform. Indy is a French accounting SaaS for freelancers and micro-entrepreneurs (auto-entrepreneurs).
|
|
9
|
+
|
|
10
|
+
## Available tools
|
|
11
|
+
|
|
12
|
+
- **indy_get_user** — Get the current user profile (name, company, SIRET, fiscal regime, plan)
|
|
13
|
+
- **indy_list_transactions** — List/search transactions with filters (date, account, category, search, etc.)
|
|
14
|
+
- **indy_list_pending_transactions** — List transactions pending categorization
|
|
15
|
+
- **indy_get_transaction_filters** — Discover valid filter IDs (accounts, categories, date presets)
|
|
16
|
+
- **indy_categorize_count** — Count of transactions needing categorization
|
|
17
|
+
- **indy_get_category_groups** — All accounting categories available for classification
|
|
18
|
+
- **indy_annotate_transaction** — Add/update a note on a transaction (opt-in)
|
|
19
|
+
- **indy_list_invoices** — List invoices
|
|
20
|
+
- **indy_list_documents** — List stored documents
|
|
21
|
+
- **indy_get_receipts** — Get receipts for a transaction
|
|
22
|
+
- **indy_list_bank_accounts** — List connected bank accounts with balances
|
|
23
|
+
- **indy_get_dashboard** — Fiscal year dashboard (revenue, expenses, periods)
|
|
24
|
+
- **indy_get_vat_config** — VAT configuration
|
|
25
|
+
- **indy_get_payment** — Payment and subscription info
|
|
26
|
+
- **indy_list_activities** — Business activities
|
|
27
|
+
- **indy_refresh_closing** — Refresh closing status (opt-in)
|
|
28
|
+
- **indy_fetch** — Raw API escape hatch (opt-in)
|
|
29
|
+
|
|
30
|
+
## Guidelines
|
|
31
|
+
|
|
32
|
+
- When the user asks about their accounting, finances, revenue, expenses, or transactions, use the Indy tools.
|
|
33
|
+
- Always call **indy_get_transaction_filters** first if you need to filter transactions by account or category — it gives you the valid IDs.
|
|
34
|
+
- Amounts are in **cents** (divide by 100 for euros). Negative amounts are expenses, positive are income.
|
|
35
|
+
- Transaction dates are in `YYYY-MM-DD` format.
|
|
36
|
+
- The `subdivisions` array on transactions contains the accounting breakdown (category, VAT rate, amounts).
|
|
37
|
+
- For questions about how much the user earned or spent, use **indy_list_transactions** with date filters or **indy_get_dashboard** for period summaries.
|
|
38
|
+
- Be careful with write operations (annotate, closing refresh) — confirm with the user before modifying data.
|