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,CAmH/B;IAEI,OAAO,CAAC,IAAI,EAAE,iBAAiB,GAAG,OAAO,CAAC,kBAAkB,EAAE,EAAE,CAAC;CAgEvE"}
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. The team
94
- // is derived from the API key — never trusted from the request body.
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
- responseData = await (0, api_1.nashirApiRequest)(this, 'POST', `/knowledge/search`, { query, limit });
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. The team
105
- // is derived from the API key — never trusted from the request body.
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
- { query, limit },
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.6.1",
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",