n8n-nodes-nashir 0.6.1 → 0.7.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.
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"NashirContact.node.d.ts","sourceRoot":"","sources":["../../../nodes/NashirContact/NashirContact.node.ts"],"names":[],"mappings":"AAAA,OAAO,EAEN,iBAAiB,EACjB,kBAAkB,EAClB,SAAS,EACT,oBAAoB,EACpB,MAAM,cAAc,CAAC;AAItB,qBAAa,aAAc,YAAW,SAAS;IAC9C,WAAW,EAAE,oBAAoB,
|
|
1
|
+
{"version":3,"file":"NashirContact.node.d.ts","sourceRoot":"","sources":["../../../nodes/NashirContact/NashirContact.node.ts"],"names":[],"mappings":"AAAA,OAAO,EAEN,iBAAiB,EACjB,kBAAkB,EAClB,SAAS,EACT,oBAAoB,EACpB,MAAM,cAAc,CAAC;AAItB,qBAAa,aAAc,YAAW,SAAS;IAC9C,WAAW,EAAE,oBAAoB,CAgI/B;IAEI,OAAO,CAAC,IAAI,EAAE,iBAAiB,GAAG,OAAO,CAAC,kBAAkB,EAAE,EAAE,CAAC;CA8EvE"}
|
|
@@ -90,8 +90,10 @@ class NashirContact {
|
|
|
90
90
|
},
|
|
91
91
|
// ── Search Knowledge Base fields ─────────────────────────────────────────
|
|
92
92
|
// Server-side: nashir.ai embeds the query (text-embedding-3-small) and
|
|
93
|
-
// runs vector similarity against the team's knowledge_chunks
|
|
94
|
-
// is derived from the API key
|
|
93
|
+
// runs vector similarity against the team's knowledge_chunks, scoped
|
|
94
|
+
// to the business. team_id is derived from the API key; business_id
|
|
95
|
+
// is supplied per-call so a team with multiple businesses doesn't
|
|
96
|
+
// leak knowledge across them.
|
|
95
97
|
{
|
|
96
98
|
displayName: 'Query',
|
|
97
99
|
name: 'query',
|
|
@@ -102,6 +104,16 @@ class NashirContact {
|
|
|
102
104
|
description: "The customer's question or topic to search for in the knowledge base. Plain text — no embedding step required on your side.",
|
|
103
105
|
displayOptions: { show: { operation: ['searchKnowledge'] } },
|
|
104
106
|
},
|
|
107
|
+
{
|
|
108
|
+
displayName: 'Business ID',
|
|
109
|
+
name: 'businessId',
|
|
110
|
+
type: 'string',
|
|
111
|
+
default: '',
|
|
112
|
+
required: true,
|
|
113
|
+
placeholder: "={{ $('Webhook').first().json.body.business_id }}",
|
|
114
|
+
description: 'Business to scope the search to. The webhook payload includes business_id — wire it through with an expression. Leaving this empty is supported only against legacy backends; the current /api/v1/knowledge/search rejects requests without it.',
|
|
115
|
+
displayOptions: { show: { operation: ['searchKnowledge'] } },
|
|
116
|
+
},
|
|
105
117
|
{
|
|
106
118
|
displayName: 'Limit',
|
|
107
119
|
name: 'kbLimit',
|
|
@@ -145,7 +157,19 @@ class NashirContact {
|
|
|
145
157
|
throw new Error('Search Knowledge Base: query is required');
|
|
146
158
|
}
|
|
147
159
|
const limit = this.getNodeParameter('kbLimit', i, 4);
|
|
148
|
-
|
|
160
|
+
const businessIdRaw = this.getNodeParameter('businessId', i, '').trim();
|
|
161
|
+
const body = { query, limit };
|
|
162
|
+
if (businessIdRaw) {
|
|
163
|
+
const businessId = parseInt(businessIdRaw, 10);
|
|
164
|
+
if (!Number.isFinite(businessId) || businessId <= 0) {
|
|
165
|
+
throw new Error(`Search Knowledge Base: businessId must be a positive integer, got "${businessIdRaw}"`);
|
|
166
|
+
}
|
|
167
|
+
body.business_id = businessId;
|
|
168
|
+
}
|
|
169
|
+
// If businessId is empty, omit it — old backends still accept the
|
|
170
|
+
// request. Once /api/v1/knowledge/search starts requiring business_id
|
|
171
|
+
// (S49 task 1), the absence here surfaces as a 400 from nashir.ai.
|
|
172
|
+
responseData = await (0, api_1.nashirApiRequest)(this, 'POST', `/knowledge/search`, body);
|
|
149
173
|
}
|
|
150
174
|
else {
|
|
151
175
|
throw new Error(`Unknown operation: ${operation}`);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"NashirContact.node.js","sourceRoot":"","sources":["../../../nodes/NashirContact/NashirContact.node.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"NashirContact.node.js","sourceRoot":"","sources":["../../../nodes/NashirContact/NashirContact.node.ts"],"names":[],"mappings":"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"}
|
|
@@ -101,8 +101,10 @@ export class NashirContact implements INodeType {
|
|
|
101
101
|
|
|
102
102
|
// ── Search Knowledge Base fields ─────────────────────────────────────────
|
|
103
103
|
// Server-side: nashir.ai embeds the query (text-embedding-3-small) and
|
|
104
|
-
// runs vector similarity against the team's knowledge_chunks
|
|
105
|
-
// is derived from the API key
|
|
104
|
+
// runs vector similarity against the team's knowledge_chunks, scoped
|
|
105
|
+
// to the business. team_id is derived from the API key; business_id
|
|
106
|
+
// is supplied per-call so a team with multiple businesses doesn't
|
|
107
|
+
// leak knowledge across them.
|
|
106
108
|
{
|
|
107
109
|
displayName: 'Query',
|
|
108
110
|
name: 'query',
|
|
@@ -114,6 +116,17 @@ export class NashirContact implements INodeType {
|
|
|
114
116
|
"The customer's question or topic to search for in the knowledge base. Plain text — no embedding step required on your side.",
|
|
115
117
|
displayOptions: { show: { operation: ['searchKnowledge'] } },
|
|
116
118
|
},
|
|
119
|
+
{
|
|
120
|
+
displayName: 'Business ID',
|
|
121
|
+
name: 'businessId',
|
|
122
|
+
type: 'string',
|
|
123
|
+
default: '',
|
|
124
|
+
required: true,
|
|
125
|
+
placeholder: "={{ $('Webhook').first().json.body.business_id }}",
|
|
126
|
+
description:
|
|
127
|
+
'Business to scope the search to. The webhook payload includes business_id — wire it through with an expression. Leaving this empty is supported only against legacy backends; the current /api/v1/knowledge/search rejects requests without it.',
|
|
128
|
+
displayOptions: { show: { operation: ['searchKnowledge'] } },
|
|
129
|
+
},
|
|
117
130
|
{
|
|
118
131
|
displayName: 'Limit',
|
|
119
132
|
name: 'kbLimit',
|
|
@@ -165,11 +178,25 @@ export class NashirContact implements INodeType {
|
|
|
165
178
|
throw new Error('Search Knowledge Base: query is required');
|
|
166
179
|
}
|
|
167
180
|
const limit = this.getNodeParameter('kbLimit', i, 4) as number;
|
|
181
|
+
const businessIdRaw = (this.getNodeParameter('businessId', i, '') as string).trim();
|
|
182
|
+
const body: IDataObject = { query, limit };
|
|
183
|
+
if (businessIdRaw) {
|
|
184
|
+
const businessId = parseInt(businessIdRaw, 10);
|
|
185
|
+
if (!Number.isFinite(businessId) || businessId <= 0) {
|
|
186
|
+
throw new Error(
|
|
187
|
+
`Search Knowledge Base: businessId must be a positive integer, got "${businessIdRaw}"`,
|
|
188
|
+
);
|
|
189
|
+
}
|
|
190
|
+
body.business_id = businessId;
|
|
191
|
+
}
|
|
192
|
+
// If businessId is empty, omit it — old backends still accept the
|
|
193
|
+
// request. Once /api/v1/knowledge/search starts requiring business_id
|
|
194
|
+
// (S49 task 1), the absence here surfaces as a 400 from nashir.ai.
|
|
168
195
|
responseData = await nashirApiRequest(
|
|
169
196
|
this,
|
|
170
197
|
'POST',
|
|
171
198
|
`/knowledge/search`,
|
|
172
|
-
|
|
199
|
+
body,
|
|
173
200
|
);
|
|
174
201
|
|
|
175
202
|
} else {
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "n8n-nodes-nashir",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.7.0",
|
|
4
4
|
"description": "n8n community nodes for nashir.ai — publish to Facebook, Instagram, TikTok, LinkedIn, YouTube, WhatsApp and Telegram, plus AI conversation management",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"n8n-community-node-package",
|