@mixpeek/n8n-nodes-mixpeek 1.0.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 +165 -0
- package/dist/credentials/MixpeekApi.credentials.d.ts +9 -0
- package/dist/credentials/MixpeekApi.credentials.js +46 -0
- package/dist/credentials/MixpeekApi.credentials.js.map +1 -0
- package/dist/nodes/Mixpeek/Mixpeek.node.d.ts +5 -0
- package/dist/nodes/Mixpeek/Mixpeek.node.js +1449 -0
- package/dist/nodes/Mixpeek/Mixpeek.node.js.map +1 -0
- package/dist/nodes/Mixpeek/mixpeek.svg +20 -0
- package/package.json +67 -0
package/README.md
ADDED
|
@@ -0,0 +1,165 @@
|
|
|
1
|
+
# @mixpeek/n8n-nodes-mixpeek
|
|
2
|
+
|
|
3
|
+
n8n community node for [Mixpeek](https://mixpeek.com) - multimodal data processing and semantic search API.
|
|
4
|
+
|
|
5
|
+
**[View all Mixpeek connectors →](https://mixpeek.com/connectors)**
|
|
6
|
+
|
|
7
|
+
## Installation
|
|
8
|
+
|
|
9
|
+
### In n8n
|
|
10
|
+
|
|
11
|
+
1. Go to **Settings** > **Community Nodes**
|
|
12
|
+
2. Select **Install**
|
|
13
|
+
3. Enter `@mixpeek/n8n-nodes-mixpeek`
|
|
14
|
+
4. Click **Install**
|
|
15
|
+
|
|
16
|
+
### Manual Installation
|
|
17
|
+
|
|
18
|
+
```bash
|
|
19
|
+
npm install @mixpeek/n8n-nodes-mixpeek
|
|
20
|
+
```
|
|
21
|
+
|
|
22
|
+
## Credentials
|
|
23
|
+
|
|
24
|
+
You need a Mixpeek API key to use this node. Get your API key from [app.mixpeek.com](https://app.mixpeek.com).
|
|
25
|
+
|
|
26
|
+
1. In n8n, go to **Credentials** > **Add Credential**
|
|
27
|
+
2. Search for "Mixpeek API"
|
|
28
|
+
3. Enter your API key
|
|
29
|
+
|
|
30
|
+
## Supported Resources & Operations
|
|
31
|
+
|
|
32
|
+
### Namespace
|
|
33
|
+
Manage tenant isolation and environments.
|
|
34
|
+
- Create, Get, List, Update, Delete
|
|
35
|
+
|
|
36
|
+
### Bucket
|
|
37
|
+
Schema-backed containers for objects/blobs.
|
|
38
|
+
- Create, Get, List, Update, Delete
|
|
39
|
+
|
|
40
|
+
### Collection
|
|
41
|
+
Transform objects into searchable documents using ML extractors.
|
|
42
|
+
- Create, Get, List, Update, Delete
|
|
43
|
+
|
|
44
|
+
### Document
|
|
45
|
+
Query-ready outputs with full lifecycle management.
|
|
46
|
+
- Create, Get, List, Update, Delete
|
|
47
|
+
|
|
48
|
+
### Retriever
|
|
49
|
+
Multi-stage search pipelines with auto-optimization.
|
|
50
|
+
- Create, Get, List, Update, Delete
|
|
51
|
+
- **Execute** - Run a semantic search query
|
|
52
|
+
- **Explain** - Get execution plan for a query
|
|
53
|
+
|
|
54
|
+
### Upload
|
|
55
|
+
File upload management with presigned URLs.
|
|
56
|
+
- Create Presigned URL
|
|
57
|
+
- Get, List, Delete
|
|
58
|
+
- **Confirm** - Verify upload completion
|
|
59
|
+
|
|
60
|
+
### Task
|
|
61
|
+
Async job tracking and monitoring.
|
|
62
|
+
- Get, List
|
|
63
|
+
|
|
64
|
+
### Inference
|
|
65
|
+
Direct ML model execution.
|
|
66
|
+
- **Execute** - Run inference with OpenAI, Anthropic, Google, or custom models
|
|
67
|
+
|
|
68
|
+
### Taxonomy
|
|
69
|
+
Similarity-based document classification.
|
|
70
|
+
- Create, Get, List, Update, Delete
|
|
71
|
+
|
|
72
|
+
### Cluster
|
|
73
|
+
Semantic grouping with triggers.
|
|
74
|
+
- Create, Get, List, Delete
|
|
75
|
+
- **Execute** - Run clustering
|
|
76
|
+
|
|
77
|
+
### Webhook
|
|
78
|
+
Event-driven automation.
|
|
79
|
+
- Create, Get, List, Update, Delete
|
|
80
|
+
|
|
81
|
+
## Example Usage
|
|
82
|
+
|
|
83
|
+
### Semantic Search
|
|
84
|
+
|
|
85
|
+
1. Add a **Mixpeek** node
|
|
86
|
+
2. Select **Retriever** as the resource
|
|
87
|
+
3. Select **Execute** as the operation
|
|
88
|
+
4. Enter the Retriever ID
|
|
89
|
+
5. Enter your search query
|
|
90
|
+
6. Optionally add filters and limits
|
|
91
|
+
|
|
92
|
+
### Upload a File
|
|
93
|
+
|
|
94
|
+
1. Add a **Mixpeek** node
|
|
95
|
+
2. Select **Upload** as the resource
|
|
96
|
+
3. Select **Create Presigned URL** as the operation
|
|
97
|
+
4. Enter the Bucket ID and filename
|
|
98
|
+
5. Use the returned presigned URL to upload your file
|
|
99
|
+
6. Add another **Mixpeek** node to confirm the upload
|
|
100
|
+
|
|
101
|
+
### Run Inference
|
|
102
|
+
|
|
103
|
+
1. Add a **Mixpeek** node
|
|
104
|
+
2. Select **Inference** as the resource
|
|
105
|
+
3. Select **Execute** as the operation
|
|
106
|
+
4. Enter the model (e.g., `openai/gpt-4`, `anthropic/claude-3`)
|
|
107
|
+
5. Enter the input as JSON
|
|
108
|
+
|
|
109
|
+
## Development
|
|
110
|
+
|
|
111
|
+
### Prerequisites
|
|
112
|
+
|
|
113
|
+
- Node.js 18+
|
|
114
|
+
- npm
|
|
115
|
+
|
|
116
|
+
### Setup
|
|
117
|
+
|
|
118
|
+
```bash
|
|
119
|
+
cd n8n
|
|
120
|
+
npm install
|
|
121
|
+
```
|
|
122
|
+
|
|
123
|
+
### Build
|
|
124
|
+
|
|
125
|
+
```bash
|
|
126
|
+
npm run build
|
|
127
|
+
```
|
|
128
|
+
|
|
129
|
+
### Test
|
|
130
|
+
|
|
131
|
+
```bash
|
|
132
|
+
# Unit tests
|
|
133
|
+
npm test
|
|
134
|
+
|
|
135
|
+
# Integration tests (requires MIXPEEK_API_KEY)
|
|
136
|
+
MIXPEEK_API_KEY=your_key npm run test:integration
|
|
137
|
+
```
|
|
138
|
+
|
|
139
|
+
### Local Development with n8n
|
|
140
|
+
|
|
141
|
+
```bash
|
|
142
|
+
# Link the package
|
|
143
|
+
npm link
|
|
144
|
+
|
|
145
|
+
# In your n8n custom nodes directory (~/.n8n/custom)
|
|
146
|
+
npm link @mixpeek/n8n-nodes-mixpeek
|
|
147
|
+
|
|
148
|
+
# Start n8n
|
|
149
|
+
n8n start
|
|
150
|
+
```
|
|
151
|
+
|
|
152
|
+
## Resources
|
|
153
|
+
|
|
154
|
+
- [Mixpeek Documentation](https://docs.mixpeek.com)
|
|
155
|
+
- [Mixpeek API Reference](https://docs.mixpeek.com/api-reference)
|
|
156
|
+
- [n8n Community Nodes Documentation](https://docs.n8n.io/integrations/community-nodes/)
|
|
157
|
+
|
|
158
|
+
## License
|
|
159
|
+
|
|
160
|
+
MIT
|
|
161
|
+
|
|
162
|
+
## Support
|
|
163
|
+
|
|
164
|
+
- [GitHub Issues](https://github.com/mixpeek/connectors/issues)
|
|
165
|
+
- [Mixpeek Support](mailto:support@mixpeek.com)
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { IAuthenticateGeneric, ICredentialTestRequest, ICredentialType, INodeProperties } from 'n8n-workflow';
|
|
2
|
+
export declare class MixpeekApi implements ICredentialType {
|
|
3
|
+
name: string;
|
|
4
|
+
displayName: string;
|
|
5
|
+
documentationUrl: string;
|
|
6
|
+
properties: INodeProperties[];
|
|
7
|
+
authenticate: IAuthenticateGeneric;
|
|
8
|
+
test: ICredentialTestRequest;
|
|
9
|
+
}
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.MixpeekApi = void 0;
|
|
4
|
+
class MixpeekApi {
|
|
5
|
+
constructor() {
|
|
6
|
+
this.name = 'mixpeekApi';
|
|
7
|
+
this.displayName = 'Mixpeek API';
|
|
8
|
+
this.documentationUrl = 'https://docs.mixpeek.com';
|
|
9
|
+
this.properties = [
|
|
10
|
+
{
|
|
11
|
+
displayName: 'API Key',
|
|
12
|
+
name: 'apiKey',
|
|
13
|
+
type: 'string',
|
|
14
|
+
typeOptions: { password: true },
|
|
15
|
+
default: '',
|
|
16
|
+
required: true,
|
|
17
|
+
description: 'Your Mixpeek API key. Get it from https://app.mixpeek.com',
|
|
18
|
+
},
|
|
19
|
+
{
|
|
20
|
+
displayName: 'Base URL',
|
|
21
|
+
name: 'baseUrl',
|
|
22
|
+
type: 'string',
|
|
23
|
+
default: 'https://api.mixpeek.com',
|
|
24
|
+
description: 'The base URL for the Mixpeek API',
|
|
25
|
+
},
|
|
26
|
+
];
|
|
27
|
+
this.authenticate = {
|
|
28
|
+
type: 'generic',
|
|
29
|
+
properties: {
|
|
30
|
+
headers: {
|
|
31
|
+
Authorization: '=Bearer {{$credentials.apiKey}}',
|
|
32
|
+
},
|
|
33
|
+
},
|
|
34
|
+
};
|
|
35
|
+
this.test = {
|
|
36
|
+
request: {
|
|
37
|
+
baseURL: '={{$credentials.baseUrl}}',
|
|
38
|
+
url: '/v1/namespaces/list',
|
|
39
|
+
method: 'POST',
|
|
40
|
+
body: {},
|
|
41
|
+
},
|
|
42
|
+
};
|
|
43
|
+
}
|
|
44
|
+
}
|
|
45
|
+
exports.MixpeekApi = MixpeekApi;
|
|
46
|
+
//# sourceMappingURL=MixpeekApi.credentials.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"MixpeekApi.credentials.js","sourceRoot":"","sources":["../../credentials/MixpeekApi.credentials.ts"],"names":[],"mappings":";;;AAOA,MAAa,UAAU;IAAvB;QACC,SAAI,GAAG,YAAY,CAAC;QACpB,gBAAW,GAAG,aAAa,CAAC;QAC5B,qBAAgB,GAAG,0BAA0B,CAAC;QAC9C,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,2DAA2D;aACxE;YACD;gBACC,WAAW,EAAE,UAAU;gBACvB,IAAI,EAAE,SAAS;gBACf,IAAI,EAAE,QAAQ;gBACd,OAAO,EAAE,yBAAyB;gBAClC,WAAW,EAAE,kCAAkC;aAC/C;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,qBAAqB;gBAC1B,MAAM,EAAE,MAAM;gBACd,IAAI,EAAE,EAAE;aACR;SACD,CAAC;IACH,CAAC;CAAA;AAxCD,gCAwCC"}
|