node-red-contrib-vectorprime 0.1.6 → 0.1.7

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.
Files changed (2) hide show
  1. package/package.json +1 -1
  2. package/vectorprime.html +36 -40
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "node-red-contrib-vectorprime",
3
- "version": "0.1.6",
3
+ "version": "0.1.7",
4
4
  "description": "VectorPrime Decision Kernel node for Node-RED",
5
5
  "main": "vectorprime.js",
6
6
  "license": "MIT",
package/vectorprime.html CHANGED
@@ -27,24 +27,25 @@
27
27
  </div>
28
28
  </script>
29
29
 
30
- <!-- ✅ HELP TEXT (this fixes "no information available" for config node) -->
30
+ <!-- ✅ Help text for the config node -->
31
31
  <script type="text/html" data-help-name="vectorprime-config">
32
32
  <p><b>VectorPrime Config</b></p>
33
33
 
34
34
  <p>
35
- Stores the VectorPrime backend URL and your API key securely using Node-RED credentials.
36
- This is shared across VectorPrime nodes so you only configure it once.
35
+ Stores your VectorPrime API connection details securely using Node-RED credentials.
36
+ This keeps your API key <b>out of flow exports</b>.
37
37
  </p>
38
38
 
39
- <p><b>Quick Start</b></p>
39
+ <h3>Quick setup</h3>
40
40
  <ol>
41
- <li>Leave <b>Base URL</b> as default unless you self-host VectorPrime.</li>
42
- <li>Click <b>Get Free Key</b> to generate a key instantly.</li>
43
- <li>Hit <b>Done</b> to save.</li>
41
+ <li>Leave Base URL as default (or set your own hosted backend).</li>
42
+ <li>Click <b>Get Free Key</b> to generate a starter key instantly.</li>
43
+ <li>Use this config in one or more VectorPrime nodes.</li>
44
44
  </ol>
45
45
 
46
- <p style="margin-top:8px; font-size:12px; color:#666;">
47
- Tip: Your API key is not exported in flow JSON and stays encrypted inside Node-RED credentials.
46
+ <p>
47
+ <b>Default Base URL:</b><br/>
48
+ <code>https://vectorprime-kernel-backend.onrender.com</code>
48
49
  </p>
49
50
  </script>
50
51
 
@@ -89,6 +90,7 @@
89
90
  return;
90
91
  }
91
92
 
93
+ // Call backend directly from the editor
92
94
  const resp = await fetch(`${baseUrl}/v1/keys/free`, {
93
95
  method: "POST",
94
96
  headers: { "Content-Type": "application/json" },
@@ -124,10 +126,6 @@
124
126
  })();
125
127
  </script>
126
128
 
127
- <!-- ========================= -->
128
- <!-- ✅ VectorPrime Rank Node -->
129
- <!-- ========================= -->
130
-
131
129
  <script type="text/html" data-template-name="vectorprime-rank">
132
130
  <div class="form-row">
133
131
  <label for="node-input-name"><i class="fa fa-tag"></i> Name</label>
@@ -146,54 +144,48 @@
146
144
 
147
145
  <div class="form-row">
148
146
  <div style="font-size:12px; color:#666;">
149
- ✅ Sends <code>msg.payload</code> to VectorPrime and returns results in <code>msg.payload</code>.
147
+ ✅ Sends <code>msg.payload</code> to VectorPrime and returns ranked results in <code>msg.payload</code>.
150
148
  </div>
151
149
  </div>
152
150
  </script>
153
151
 
154
- <!-- ✅ HELP TEXT (this fixes your tooltip + makes it MARKETABLE) -->
152
+ <!-- ✅ Help text for the rank node (THIS controls the palette hover tooltip content) -->
155
153
  <script type="text/html" data-help-name="vectorprime-rank">
156
154
  <p><b>Rank Decision (VectorPrime)</b></p>
157
155
 
158
156
  <p>
159
- Instantly ranks options by <b>best next action</b> using the VectorPrime Decision Kernel.
160
- Use this when your flow needs to choose the best outcome from multiple choices — fast and deterministically.
157
+ Instantly rank tasks, events, or choices by <b>priority + urgency</b> using the VectorPrime Decision Kernel.
158
+ Perfect for building flows that automatically pick the <b>best next action</b>.
161
159
  </p>
162
160
 
163
- <p><b>Most valuable use-cases (why developers install this)</b></p>
161
+ <h3>Best use cases</h3>
164
162
  <ul>
165
- <li><b>Automation routing:</b> pick which workflow runs next based on priority + risk</li>
166
- <li><b>Incident response:</b> rank mitigation steps during outages (fastest safe fix)</li>
167
- <li><b>Agent coordination:</b> choose the best tool/action from multiple agent outputs</li>
168
- <li><b>Ops decisioning:</b> prioritize tickets/tasks using a deterministic decision score</li>
163
+ <li><b>Incident response:</b> Rank alerts and decide what to fix first</li>
164
+ <li><b>Ops & automation:</b> Choose the next job to run when resources are limited</li>
165
+ <li><b>AI agents:</b> Pick the best tool/action based on outcome + risk</li>
166
+ <li><b>Queues & tickets:</b> Prioritize support tickets, backlog items, escalations</li>
167
+ <li><b>Workflow routing:</b> Route messages/events to the right handler by importance</li>
169
168
  </ul>
170
169
 
171
- <p><b>Input</b></p>
172
- <pre>{
173
- "decision_id": "any-string",
174
- "prompt": "What should we do next?",
175
- "options": [
176
- {"id":"a","label":"Option A"},
177
- {"id":"b","label":"Option B"}
178
- ],
179
- "engine": "classical",
180
- "seed": 123
181
- }</pre>
182
-
183
- <p><b>Output</b></p>
170
+ <h3>Input</h3>
171
+ <p>
172
+ Expects <code>msg.payload</code> to be your decision set / tasks object (JSON).
173
+ </p>
174
+
175
+ <h3>Output</h3>
184
176
  <p>
185
- Returns the ranking result in <code>msg.payload</code> (ordered options + scores/probabilities depending on engine).
177
+ Returns the VectorPrime response in <code>msg.payload</code>, including ranked results.
186
178
  </p>
187
179
 
188
- <p style="margin-top:8px; font-size:12px; color:#666;">
189
- Tip: If the free tier limit is reached, the response includes an upgrade URL so flows can upgrade cleanly.
180
+ <h3>Tip</h3>
181
+ <p>
182
+ If you hit a free-tier limit, the response may include an upgrade URL so your flow can continue.
190
183
  </p>
191
184
  </script>
192
185
 
193
186
  <script type="text/javascript">
194
187
  RED.nodes.registerType("vectorprime-rank", {
195
- category: "network",
196
- paletteLabel: "Rank Decision (VectorPrime)",
188
+ category: "network", // ✅ moved to Network
197
189
  color: "#2563EB",
198
190
  defaults: {
199
191
  name: { value: "" },
@@ -203,6 +195,10 @@
203
195
  inputs: 1,
204
196
  outputs: 1,
205
197
  icon: "font-awesome/fa-bolt",
198
+
199
+ // ✅ This makes the palette show a human label instantly
200
+ paletteLabel: "Rank Decision (VectorPrime)",
201
+
206
202
  label: function () {
207
203
  return this.name || "Rank Decision (VectorPrime)";
208
204
  }