node-red-contrib-vectorprime 0.1.5 → 0.1.6

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 +66 -56
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "node-red-contrib-vectorprime",
3
- "version": "0.1.5",
3
+ "version": "0.1.6",
4
4
  "description": "VectorPrime Decision Kernel node for Node-RED",
5
5
  "main": "vectorprime.js",
6
6
  "license": "MIT",
package/vectorprime.html CHANGED
@@ -27,6 +27,27 @@
27
27
  </div>
28
28
  </script>
29
29
 
30
+ <!-- ✅ HELP TEXT (this fixes "no information available" for config node) -->
31
+ <script type="text/html" data-help-name="vectorprime-config">
32
+ <p><b>VectorPrime Config</b></p>
33
+
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.
37
+ </p>
38
+
39
+ <p><b>Quick Start</b></p>
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>
44
+ </ol>
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.
48
+ </p>
49
+ </script>
50
+
30
51
  <script type="text/javascript">
31
52
  (function () {
32
53
  function normalizeBaseUrl(url) {
@@ -103,6 +124,9 @@
103
124
  })();
104
125
  </script>
105
126
 
127
+ <!-- ========================= -->
128
+ <!-- ✅ VectorPrime Rank Node -->
129
+ <!-- ========================= -->
106
130
 
107
131
  <script type="text/html" data-template-name="vectorprime-rank">
108
132
  <div class="form-row">
@@ -122,79 +146,65 @@
122
146
 
123
147
  <div class="form-row">
124
148
  <div style="font-size:12px; color:#666;">
125
- ✅ Sends <code>msg.payload</code> to VectorPrime and returns the response in <code>msg.payload</code>.
149
+ ✅ Sends <code>msg.payload</code> to VectorPrime and returns results in <code>msg.payload</code>.
126
150
  </div>
127
151
  </div>
128
152
  </script>
129
153
 
130
- <script type="text/javascript">
131
- RED.nodes.registerType("vectorprime-rank", {
132
- category: "network", // ✅ CHANGED: Network category
133
- color: "#2563EB",
134
- defaults: {
135
- name: { value: "" },
136
- config: { type: "vectorprime-config", required: true },
137
- endpoint: { value: "/v1/kernel/rank", required: true }
138
- },
139
- inputs: 1,
140
- outputs: 1,
141
- icon: "font-awesome/fa-bolt",
142
-
143
- paletteLabel: "Rank Decision (VectorPrime)", // ✅ 1-second clarity
144
-
145
- label: function () {
146
- return this.name || "Rank Decision (VectorPrime)";
147
- },
148
-
149
- labelStyle: function () {
150
- return this.name ? "node_label_italic" : "";
151
- }
152
- });
153
- </script>
154
-
154
+ <!-- ✅ HELP TEXT (this fixes your tooltip + makes it MARKETABLE) -->
155
+ <script type="text/html" data-help-name="vectorprime-rank">
156
+ <p><b>Rank Decision (VectorPrime)</b></p>
155
157
 
156
- <!-- ✅ Help docs (fixes “no information available”) -->
157
- <script type="text/html" data-help-name="vectorprime-config">
158
- <p><b>VectorPrime Config</b></p>
159
158
  <p>
160
- Stores your VectorPrime backend URL + API Key securely using Node-RED credentials.
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.
161
161
  </p>
162
162
 
163
- <h3>Fields</h3>
163
+ <p><b>Most valuable use-cases (why developers install this)</b></p>
164
164
  <ul>
165
- <li><b>Base URL</b> your VectorPrime backend (Render URL by default).</li>
166
- <li><b>API Key</b> stored securely (not exported with flows).</li>
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>
167
169
  </ul>
168
170
 
169
- <p>
170
- Click <b>Get Free Key</b> to generate a free-tier key automatically (requires backend support).
171
- </p>
172
- </script>
173
-
174
- <script type="text/html" data-help-name="vectorprime-rank">
175
- <p><b>Rank Decision (VectorPrime)</b></p>
176
-
177
- <p>
178
- Sends <code>msg.payload</code> to VectorPrime for ranking and returns the result in <code>msg.payload</code>.
179
- </p>
180
-
181
- <h3>Input Example</h3>
171
+ <p><b>Input</b></p>
182
172
  <pre>{
183
- "decision_id": "node-red-demo-001",
184
- "prompt": "Pick one.",
185
- "options": [{"id":"a","label":"A"},{"id":"b","label":"B"}],
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
+ ],
186
179
  "engine": "classical",
187
180
  "seed": 123
188
181
  }</pre>
189
182
 
190
- <h3>Output</h3>
183
+ <p><b>Output</b></p>
191
184
  <p>
192
- Returns ranked options, probabilities, and metadata in <code>msg.payload</code>.
185
+ Returns the ranking result in <code>msg.payload</code> (ordered options + scores/probabilities depending on engine).
193
186
  </p>
194
187
 
195
- <h3>Authentication</h3>
196
- <ul>
197
- <li>If <code>msg.headers.Authorization</code> is provided, it uses that.</li>
198
- <li>Otherwise it uses the key stored in <b>VectorPrime Config</b>.</li>
199
- </ul>
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.
190
+ </p>
191
+ </script>
192
+
193
+ <script type="text/javascript">
194
+ RED.nodes.registerType("vectorprime-rank", {
195
+ category: "network",
196
+ paletteLabel: "Rank Decision (VectorPrime)",
197
+ color: "#2563EB",
198
+ defaults: {
199
+ name: { value: "" },
200
+ config: { type: "vectorprime-config", required: true },
201
+ endpoint: { value: "/v1/kernel/rank", required: true }
202
+ },
203
+ inputs: 1,
204
+ outputs: 1,
205
+ icon: "font-awesome/fa-bolt",
206
+ label: function () {
207
+ return this.name || "Rank Decision (VectorPrime)";
208
+ }
209
+ });
200
210
  </script>