n8n-nodes-standards 0.0.0-stage → 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/README.md CHANGED
@@ -1,3 +1,40 @@
1
- # Temporary Holding Version
1
+ # n8n-nodes-standards
2
2
 
3
- This version is a temporary placeholder for this package. An operational version to replace this has been submitted for review and is awaiting a staged release.
3
+ Nœuds communautaires [n8n](https://n8n.io) pour [Standards](https://docs.standards.new).
4
+
5
+ ## Contenu
6
+
7
+ | Nœud | Rôle |
8
+ | --- | --- |
9
+ | **Standards** | Create / Get / Get Many / Update / Delete un enregistrement, Restore depuis la corbeille. Fonctionne avec n'importe quel objet (`contacts`, `deals`, `tasks`, vos objets personnalisés). |
10
+ | **Standards Trigger** | Déclencheur par interrogation : nouveaux enregistrements ou enregistrements modifiés d'un objet. |
11
+
12
+ Identifiant : **Standards API** (clé `stndrds_…` + URL de base, `https://api.standards.new/v1` par défaut).
13
+
14
+ ## Installation
15
+
16
+ Dans n8n : *Settings → Community Nodes → Install* puis `n8n-nodes-standards`.
17
+
18
+ Développement local :
19
+
20
+ ```bash
21
+ npm install --ignore-scripts # contourne la compilation native de isolated-vm sous Node récent
22
+ npm run build
23
+ npm run lint
24
+ npm run dev # lance n8n avec rechargement à chaud
25
+ ```
26
+
27
+ ## Notes de conception
28
+
29
+ - **Trigger en polling** : la doc Standards ne décrit pas de webhook sortant vers une URL arbitraire
30
+ (les triggers `webhook` / `record.*` démarrent des routines d'agents). Le trigger interroge donc
31
+ `POST /records/:object/list` filtré sur `createdAt` / `updatedAt`.
32
+ - **Simplify** (activé par défaut) : les `values` de l'enregistrement sont remontées au niveau racine de l'item.
33
+ - **Update** envoie directement l'objet de valeurs (`PUT /records/:object/:id`, sans enveloppe `data`), comme l'exige l'API.
34
+ - **Get Many** : pagination par offset, jusqu'à *Return All*. Le champ *Search Text* bascule sur `/search`.
35
+
36
+ ## À vérifier sur une vraie instance
37
+
38
+ - La route du test d'identifiant (`GET /schema/objects`).
39
+ - La comparaison `greater_than` sur `createdAt` / `updatedAt` à la granularité de l'instant (le trigger
40
+ filtre aussi côté client pour éviter les doublons).
@@ -0,0 +1,10 @@
1
+ import type { IAuthenticateGeneric, Icon, ICredentialTestRequest, ICredentialType, INodeProperties } from 'n8n-workflow';
2
+ export declare class StandardsApi implements ICredentialType {
3
+ name: string;
4
+ displayName: string;
5
+ icon: Icon;
6
+ documentationUrl: string;
7
+ properties: INodeProperties[];
8
+ authenticate: IAuthenticateGeneric;
9
+ test: ICredentialTestRequest;
10
+ }
@@ -0,0 +1,46 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.StandardsApi = void 0;
4
+ class StandardsApi {
5
+ constructor() {
6
+ this.name = 'standardsApi';
7
+ this.displayName = 'Standards API';
8
+ this.icon = { light: 'file:standards.svg', dark: 'file:standards.dark.svg' };
9
+ this.documentationUrl = 'https://docs.standards.new/docs/access/api-keys';
10
+ this.properties = [
11
+ {
12
+ displayName: 'API Key',
13
+ name: 'apiKey',
14
+ type: 'string',
15
+ typeOptions: { password: true },
16
+ default: '',
17
+ required: true,
18
+ description: 'Clé API Standards (format stndrds_…). Elle détermine aussi le workspace.',
19
+ },
20
+ {
21
+ displayName: 'Base URL',
22
+ name: 'baseUrl',
23
+ type: 'string',
24
+ default: 'https://api.standards.new/v1',
25
+ description: 'À changer uniquement pour une instance dédiée Standards',
26
+ },
27
+ ];
28
+ this.authenticate = {
29
+ type: 'generic',
30
+ properties: {
31
+ headers: {
32
+ Authorization: '=Bearer {{$credentials.apiKey}}',
33
+ },
34
+ },
35
+ };
36
+ this.test = {
37
+ request: {
38
+ baseURL: '={{$credentials.baseUrl}}',
39
+ url: '/schema/objects',
40
+ method: 'GET',
41
+ },
42
+ };
43
+ }
44
+ }
45
+ exports.StandardsApi = StandardsApi;
46
+ //# sourceMappingURL=StandardsApi.credentials.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"StandardsApi.credentials.js","sourceRoot":"","sources":["../../credentials/StandardsApi.credentials.ts"],"names":[],"mappings":";;;AAQA,MAAa,YAAY;IAAzB;QACC,SAAI,GAAG,cAAc,CAAC;QAEtB,gBAAW,GAAG,eAAe,CAAC;QAE9B,SAAI,GAAS,EAAE,KAAK,EAAE,oBAAoB,EAAE,IAAI,EAAE,yBAAyB,EAAE,CAAC;QAE9E,qBAAgB,GAAG,iDAAiD,CAAC;QAErE,eAAU,GAAsB;YAC/B;gBACC,WAAW,EAAE,SAAS;gBACtB,IAAI,EAAE,QAAQ;gBACd,IAAI,EAAE,QAAQ;gBACd,WAAW,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE;gBAC/B,OAAO,EAAE,EAAE;gBACX,QAAQ,EAAE,IAAI;gBACd,WAAW,EAAE,0EAA0E;aACvF;YACD;gBACC,WAAW,EAAE,UAAU;gBACvB,IAAI,EAAE,SAAS;gBACf,IAAI,EAAE,QAAQ;gBACd,OAAO,EAAE,8BAA8B;gBACvC,WAAW,EAAE,yDAAyD;aACtE;SACD,CAAC;QAEF,iBAAY,GAAyB;YACpC,IAAI,EAAE,SAAS;YACf,UAAU,EAAE;gBACX,OAAO,EAAE;oBACR,aAAa,EAAE,iCAAiC;iBAChD;aACD;SACD,CAAC;QAEF,SAAI,GAA2B;YAC9B,OAAO,EAAE;gBACR,OAAO,EAAE,2BAA2B;gBACpC,GAAG,EAAE,iBAAiB;gBACtB,MAAM,EAAE,KAAK;aACb;SACD,CAAC;IACH,CAAC;CAAA;AA5CD,oCA4CC"}
@@ -0,0 +1,4 @@
1
+ <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 64 64" width="64" height="64">
2
+ <rect width="64" height="64" rx="14" fill="#f9fafb"/>
3
+ <path d="M18 24h28M18 32h28M18 40h18" stroke="#111827" stroke-width="5" stroke-linecap="round"/>
4
+ </svg>
@@ -0,0 +1,4 @@
1
+ <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 64 64" width="64" height="64">
2
+ <rect width="64" height="64" rx="14" fill="#111827"/>
3
+ <path d="M18 24h28M18 32h28M18 40h18" stroke="#ffffff" stroke-width="5" stroke-linecap="round"/>
4
+ </svg>
@@ -0,0 +1,41 @@
1
+ import type { IDataObject, IExecuteFunctions, IHttpRequestMethods, ILoadOptionsFunctions, INodeListSearchResult, INodePropertyOptions, IPollFunctions, ResourceMapperFields } from 'n8n-workflow';
2
+ export interface StandardsRecord extends IDataObject {
3
+ id: string;
4
+ objectName: string;
5
+ label?: string;
6
+ values?: IDataObject;
7
+ }
8
+ export interface StandardsAttribute extends IDataObject {
9
+ name: string;
10
+ label?: string;
11
+ type: string;
12
+ required?: boolean;
13
+ description?: string;
14
+ options?: Array<{
15
+ value: string;
16
+ label?: string;
17
+ archived?: boolean;
18
+ }>;
19
+ cardinality?: 'one' | 'many';
20
+ hidden?: boolean;
21
+ archived?: boolean;
22
+ system?: boolean;
23
+ }
24
+ export interface StandardsObject extends IDataObject {
25
+ id?: string;
26
+ name: string;
27
+ label?: string;
28
+ attributes?: StandardsAttribute[];
29
+ }
30
+ type Ctx = IExecuteFunctions | IPollFunctions | ILoadOptionsFunctions;
31
+ export declare function standardsApiRequest(this: Ctx, method: IHttpRequestMethods, path: string, body?: IDataObject, qs?: IDataObject): Promise<unknown>;
32
+ export declare function standardsListAll(this: Ctx, objectName: string, body: IDataObject, max?: number, path?: 'list' | 'search'): Promise<StandardsRecord[]>;
33
+ export declare function simplifyRecord(record: StandardsRecord): IDataObject;
34
+ export declare function fetchObjects(this: Ctx): Promise<StandardsObject[]>;
35
+ export declare function fetchAttributes(this: Ctx, objectName: string): Promise<StandardsAttribute[]>;
36
+ export declare function currentObject(this: ILoadOptionsFunctions): string;
37
+ export declare function searchObjects(this: ILoadOptionsFunctions, filter?: string): Promise<INodeListSearchResult>;
38
+ export declare function attributeOptions(this: ILoadOptionsFunctions): Promise<INodePropertyOptions[]>;
39
+ export declare function mappingColumns(this: ILoadOptionsFunctions): Promise<ResourceMapperFields>;
40
+ export declare function coerceValue(attr: StandardsAttribute | undefined, value: unknown): unknown;
41
+ export {};
@@ -0,0 +1,215 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.standardsApiRequest = standardsApiRequest;
4
+ exports.standardsListAll = standardsListAll;
5
+ exports.simplifyRecord = simplifyRecord;
6
+ exports.fetchObjects = fetchObjects;
7
+ exports.fetchAttributes = fetchAttributes;
8
+ exports.currentObject = currentObject;
9
+ exports.searchObjects = searchObjects;
10
+ exports.attributeOptions = attributeOptions;
11
+ exports.mappingColumns = mappingColumns;
12
+ exports.coerceValue = coerceValue;
13
+ async function standardsApiRequest(method, path, body, qs) {
14
+ const credentials = await this.getCredentials('standardsApi');
15
+ const baseUrl = String(credentials.baseUrl || 'https://api.standards.new/v1').replace(/\/+$/, '');
16
+ return await this.helpers.httpRequestWithAuthentication.call(this, 'standardsApi', {
17
+ method,
18
+ url: `${baseUrl}${path}`,
19
+ body,
20
+ qs,
21
+ json: true,
22
+ });
23
+ }
24
+ async function standardsListAll(objectName, body, max, path = 'list') {
25
+ const results = [];
26
+ let offset = 0;
27
+ const pageSize = 100;
28
+ for (;;) {
29
+ const remaining = max === undefined ? pageSize : Math.min(pageSize, max - results.length);
30
+ const response = (await standardsApiRequest.call(this, 'POST', `/records/${encodeURIComponent(objectName)}/${path}`, { ...body, limit: remaining, offset }));
31
+ results.push(...response.data);
32
+ const done = max !== undefined && results.length >= max;
33
+ if (done || !response.page.hasMore || response.page.nextOffset == null)
34
+ break;
35
+ offset = response.page.nextOffset;
36
+ }
37
+ return max === undefined ? results : results.slice(0, max);
38
+ }
39
+ function simplifyRecord(record) {
40
+ const { values, ...rest } = record;
41
+ return { ...rest, ...(values !== null && values !== void 0 ? values : {}) };
42
+ }
43
+ function asArray(response) {
44
+ if (Array.isArray(response))
45
+ return response;
46
+ if (response && typeof response === 'object') {
47
+ const r = response;
48
+ for (const key of ['data', 'objects', 'items', 'attributes']) {
49
+ if (Array.isArray(r[key]))
50
+ return r[key];
51
+ }
52
+ }
53
+ return [];
54
+ }
55
+ async function fetchObjects() {
56
+ return asArray(await standardsApiRequest.call(this, 'GET', '/schema/objects'));
57
+ }
58
+ async function fetchAttributes(objectName) {
59
+ var _a, _b;
60
+ const objects = await fetchObjects.call(this);
61
+ const object = objects.find((o) => o.name === objectName);
62
+ if ((_a = object === null || object === void 0 ? void 0 : object.attributes) === null || _a === void 0 ? void 0 : _a.length)
63
+ return object.attributes;
64
+ const target = encodeURIComponent((_b = object === null || object === void 0 ? void 0 : object.id) !== null && _b !== void 0 ? _b : objectName);
65
+ return asArray(await standardsApiRequest.call(this, 'GET', `/schema/objects/${target}/attributes`));
66
+ }
67
+ function currentObject() {
68
+ var _a;
69
+ return (_a = this.getCurrentNodeParameter('object', { extractValue: true })) !== null && _a !== void 0 ? _a : '';
70
+ }
71
+ async function searchObjects(filter) {
72
+ const needle = filter === null || filter === void 0 ? void 0 : filter.toLowerCase();
73
+ const results = (await fetchObjects.call(this))
74
+ .filter((o) => {
75
+ var _a;
76
+ return !needle ||
77
+ o.name.toLowerCase().includes(needle) ||
78
+ String((_a = o.label) !== null && _a !== void 0 ? _a : '').toLowerCase().includes(needle);
79
+ })
80
+ .map((o) => ({
81
+ name: o.label ? `${o.label} (${o.name})` : o.name,
82
+ value: o.name,
83
+ }))
84
+ .sort((a, b) => a.name.localeCompare(b.name));
85
+ return { results };
86
+ }
87
+ const SYSTEM_FIELDS = [
88
+ { name: 'Created At', value: 'createdAt' },
89
+ { name: 'Updated At', value: 'updatedAt' },
90
+ ];
91
+ async function attributeOptions() {
92
+ const object = currentObject.call(this);
93
+ if (!object)
94
+ return [];
95
+ const attributes = (await fetchAttributes.call(this, object)).filter((a) => !a.archived);
96
+ return [
97
+ ...attributes
98
+ .map((a) => ({ name: a.label ? `${a.label} (${a.name})` : a.name, value: a.name }))
99
+ .sort((a, b) => a.name.localeCompare(b.name)),
100
+ ...SYSTEM_FIELDS,
101
+ ];
102
+ }
103
+ function mapperType(attr) {
104
+ switch (attr.type) {
105
+ case 'number':
106
+ return 'number';
107
+ case 'checkbox':
108
+ return 'boolean';
109
+ case 'date':
110
+ return 'dateTime';
111
+ case 'select':
112
+ case 'status':
113
+ return 'options';
114
+ case 'multiselect':
115
+ case 'document':
116
+ return 'array';
117
+ case 'user':
118
+ return 'string';
119
+ case 'relation':
120
+ return attr.cardinality === 'many' ? 'array' : 'string';
121
+ case 'phone':
122
+ case 'currency':
123
+ case 'location':
124
+ return 'object';
125
+ default:
126
+ return 'string';
127
+ }
128
+ }
129
+ async function mappingColumns() {
130
+ const object = currentObject.call(this);
131
+ if (!object)
132
+ return { fields: [] };
133
+ const fields = (await fetchAttributes.call(this, object))
134
+ .filter((a) => !a.archived && a.type !== 'formula' && a.type !== 'rollup')
135
+ .map((a) => {
136
+ var _a, _b;
137
+ const type = mapperType(a);
138
+ const field = {
139
+ id: a.name,
140
+ displayName: a.label ? `${a.label} (${a.name})` : a.name,
141
+ required: a.required === true,
142
+ defaultMatch: false,
143
+ canBeUsedToMatch: false,
144
+ display: !a.hidden,
145
+ type,
146
+ };
147
+ if (type === 'options') {
148
+ field.options = ((_a = a.options) !== null && _a !== void 0 ? _a : [])
149
+ .filter((o) => !o.archived)
150
+ .map((o) => { var _a; return ({ name: (_a = o.label) !== null && _a !== void 0 ? _a : o.value, value: o.value }); });
151
+ }
152
+ else if (a.type === 'multiselect' && ((_b = a.options) === null || _b === void 0 ? void 0 : _b.length)) {
153
+ field.displayName += ` – ${a.options.map((o) => o.value).join(', ')}`;
154
+ }
155
+ return field;
156
+ });
157
+ return { fields };
158
+ }
159
+ function coerceValue(attr, value) {
160
+ if (value === undefined || value === null || value === '')
161
+ return value === '' ? null : value;
162
+ if (!attr)
163
+ return value;
164
+ const asJson = (v) => {
165
+ if (typeof v !== 'string')
166
+ return v;
167
+ try {
168
+ return JSON.parse(v);
169
+ }
170
+ catch {
171
+ return v;
172
+ }
173
+ };
174
+ switch (attr.type) {
175
+ case 'number':
176
+ return typeof value === 'string' ? Number(value) : value;
177
+ case 'checkbox':
178
+ return typeof value === 'string' ? value === 'true' : value;
179
+ case 'phone':
180
+ case 'currency':
181
+ case 'location':
182
+ return asJson(value);
183
+ case 'multiselect':
184
+ case 'document':
185
+ return toList(value);
186
+ case 'user':
187
+ case 'relation':
188
+ return attr.type === 'relation' && attr.cardinality !== 'many' ? value : toList(value, attr);
189
+ default:
190
+ return value;
191
+ }
192
+ }
193
+ function toList(value, attr) {
194
+ if ((attr === null || attr === void 0 ? void 0 : attr.type) === 'user' && typeof value === 'string' && !value.trim().startsWith('[')) {
195
+ return value;
196
+ }
197
+ if (Array.isArray(value))
198
+ return value;
199
+ if (typeof value === 'string') {
200
+ const trimmed = value.trim();
201
+ if (trimmed.startsWith('[')) {
202
+ try {
203
+ return JSON.parse(trimmed);
204
+ }
205
+ catch {
206
+ }
207
+ }
208
+ return trimmed
209
+ .split(',')
210
+ .map((v) => v.trim())
211
+ .filter(Boolean);
212
+ }
213
+ return value;
214
+ }
215
+ //# sourceMappingURL=GenericFunctions.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"GenericFunctions.js","sourceRoot":"","sources":["../../../nodes/Standards/GenericFunctions.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,16 @@
1
+ import { type IExecuteFunctions, type ILoadOptionsFunctions, type INodeExecutionData, type INodeType, type INodeTypeDescription } from 'n8n-workflow';
2
+ export declare class Standards implements INodeType {
3
+ description: INodeTypeDescription;
4
+ methods: {
5
+ listSearch: {
6
+ searchObjects(this: ILoadOptionsFunctions, filter?: string): Promise<import("n8n-workflow").INodeListSearchResult>;
7
+ };
8
+ loadOptions: {
9
+ getAttributes(this: ILoadOptionsFunctions): Promise<import("n8n-workflow").INodePropertyOptions[]>;
10
+ };
11
+ resourceMapping: {
12
+ getMappingColumns(this: ILoadOptionsFunctions): Promise<import("n8n-workflow").ResourceMapperFields>;
13
+ };
14
+ };
15
+ execute(this: IExecuteFunctions): Promise<INodeExecutionData[][]>;
16
+ }