node-red-contrib-vectorprime 0.1.7 → 0.1.8

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 +29 -39
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "node-red-contrib-vectorprime",
3
- "version": "0.1.7",
3
+ "version": "0.1.8",
4
4
  "description": "VectorPrime Decision Kernel node for Node-RED",
5
5
  "main": "vectorprime.js",
6
6
  "license": "MIT",
package/vectorprime.html CHANGED
@@ -1,3 +1,7 @@
1
+ <!-- ========================= -->
2
+ <!-- VectorPrime Config Node UI -->
3
+ <!-- ========================= -->
4
+
1
5
  <script type="text/html" data-template-name="vectorprime-config">
2
6
  <div class="form-row">
3
7
  <label for="node-config-input-baseUrl">
@@ -22,31 +26,25 @@
22
26
 
23
27
  <div class="form-row">
24
28
  <div style="font-size:12px; color:#666;">
25
- Key is stored securely in Node-RED credentials (not exported with flows).
29
+ API key is stored securely in Node-RED credentials (not exported with flows).
26
30
  </div>
27
31
  </div>
28
32
  </script>
29
33
 
30
- <!-- ✅ Help text for the config node -->
31
34
  <script type="text/html" data-help-name="vectorprime-config">
32
- <p><b>VectorPrime Config</b></p>
33
-
34
35
  <p>
35
- Stores your VectorPrime API connection details securely using Node-RED credentials.
36
- This keeps your API key <b>out of flow exports</b>.
36
+ Stores your VectorPrime connection details securely.
37
+ Use this once, then reuse it across multiple VectorPrime nodes.
37
38
  </p>
38
39
 
39
- <h3>Quick setup</h3>
40
+ <h3>Setup</h3>
40
41
  <ol>
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>
42
+ <li>Leave Base URL default (recommended)</li>
43
+ <li>Click <b>Get Free Key</b> to generate a starter key</li>
44
+ <li>Select this config in your VectorPrime nodes</li>
44
45
  </ol>
45
46
 
46
- <p>
47
- <b>Default Base URL:</b><br/>
48
- <code>https://vectorprime-kernel-backend.onrender.com</code>
49
- </p>
47
+ <p><b>Default Base URL:</b> <code>https://vectorprime-kernel-backend.onrender.com</code></p>
50
48
  </script>
51
49
 
52
50
  <script type="text/javascript">
@@ -90,7 +88,6 @@
90
88
  return;
91
89
  }
92
90
 
93
- // Call backend directly from the editor
94
91
  const resp = await fetch(`${baseUrl}/v1/keys/free`, {
95
92
  method: "POST",
96
93
  headers: { "Content-Type": "application/json" },
@@ -114,7 +111,7 @@
114
111
  }
115
112
 
116
113
  apiKeyInput.value = data.api_key;
117
- statusEl.textContent = "✅ Free key generated + saved";
114
+ statusEl.textContent = "✅ Free key saved";
118
115
  statusEl.style.color = "green";
119
116
  } catch (err) {
120
117
  statusEl.textContent = `❌ Error: ${err.message}`;
@@ -126,6 +123,10 @@
126
123
  })();
127
124
  </script>
128
125
 
126
+ <!-- ========================= -->
127
+ <!-- VectorPrime Rank Node UI -->
128
+ <!-- ========================= -->
129
+
129
130
  <script type="text/html" data-template-name="vectorprime-rank">
130
131
  <div class="form-row">
131
132
  <label for="node-input-name"><i class="fa fa-tag"></i> Name</label>
@@ -149,43 +150,35 @@
149
150
  </div>
150
151
  </script>
151
152
 
152
- <!-- ✅ Help text for the rank node (THIS controls the palette hover tooltip content) -->
153
+ <!-- ✅ THIS is the exact text that should show when you hover in the palette -->
153
154
  <script type="text/html" data-help-name="vectorprime-rank">
154
- <p><b>Rank Decision (VectorPrime)</b></p>
155
-
156
155
  <p>
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>.
156
+ Automatically ranks tasks, alerts, or choices in <code>msg.payload</code> so your flow can pick the <b>best next action</b>.
159
157
  </p>
160
158
 
161
- <h3>Best use cases</h3>
159
+ <h3>Why developers install this</h3>
162
160
  <ul>
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>
161
+ <li><b>Incident response:</b> rank alerts and fix the highest-impact issue first</li>
162
+ <li><b>Automation & ops:</b> choose what job runs next when time/resources are limited</li>
163
+ <li><b>AI agents:</b> pick the safest + highest-outcome tool/action automatically</li>
164
+ <li><b>Queues & tickets:</b> prioritize support tickets, work orders, escalations</li>
165
+ <li><b>Workflow routing:</b> route incoming events by urgency + risk</li>
168
166
  </ul>
169
167
 
170
168
  <h3>Input</h3>
171
- <p>
172
- Expects <code>msg.payload</code> to be your decision set / tasks object (JSON).
173
- </p>
169
+ <p><code>msg.payload</code> = your decisions/tasks object (JSON)</p>
174
170
 
175
171
  <h3>Output</h3>
176
- <p>
177
- Returns the VectorPrime response in <code>msg.payload</code>, including ranked results.
178
- </p>
172
+ <p><code>msg.payload</code> = ranked decision result (JSON)</p>
179
173
 
180
- <h3>Tip</h3>
181
174
  <p>
182
- If you hit a free-tier limit, the response may include an upgrade URL so your flow can continue.
175
+ If you hit a free-tier limit, the response may include an upgrade URL so the flow can continue.
183
176
  </p>
184
177
  </script>
185
178
 
186
179
  <script type="text/javascript">
187
180
  RED.nodes.registerType("vectorprime-rank", {
188
- category: "network", // ✅ moved to Network
181
+ category: "network",
189
182
  color: "#2563EB",
190
183
  defaults: {
191
184
  name: { value: "" },
@@ -195,10 +188,7 @@
195
188
  inputs: 1,
196
189
  outputs: 1,
197
190
  icon: "font-awesome/fa-bolt",
198
-
199
- // ✅ This makes the palette show a human label instantly
200
191
  paletteLabel: "Rank Decision (VectorPrime)",
201
-
202
192
  label: function () {
203
193
  return this.name || "Rank Decision (VectorPrime)";
204
194
  }