ultravisor 1.0.3 → 1.0.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.
- package/.claude/launch.json +11 -0
- package/.claude/ultravisor-dev-config.json +3 -0
- package/card-audit.json +1545 -0
- package/docs/_sidebar.md +17 -0
- package/docs/css/docuserve.css +73 -0
- package/docs/features/beacon-authentication.md +209 -0
- package/docs/features/beacon-providers.md +1299 -0
- package/docs/features/beacons.md +530 -0
- package/docs/features/capabilities.md +193 -0
- package/docs/features/llm-model-setup.md +505 -0
- package/docs/features/llm.md +262 -0
- package/docs/features/tasks-content-system.md +110 -0
- package/docs/features/tasks-data-transform.md +233 -0
- package/docs/features/tasks-extension.md +36 -0
- package/docs/features/tasks-file-system.md +203 -0
- package/docs/features/tasks-flow-control.md +125 -0
- package/docs/features/tasks-http-client.md +119 -0
- package/docs/features/tasks-llm.md +118 -0
- package/docs/features/tasks-meadow-api.md +163 -0
- package/docs/features/tasks-user-interaction.md +49 -0
- package/docs/features/tasks.md +14 -0
- package/docs/index.html +1 -1
- package/docs/retold-catalog.json +1 -1
- package/docs/retold-keyword-index.json +17374 -5
- package/operation-library/api-data-pipeline.json +143 -0
- package/operation-library/beacon-remote-command.json +72 -0
- package/operation-library/conditional-file-backup.json +143 -0
- package/operation-library/config-processor.json +136 -0
- package/operation-library/csv-data-analysis.json +228 -0
- package/operation-library/csv-to-json.json +160 -0
- package/operation-library/directory-inventory.json +128 -0
- package/operation-library/expression-calculator.json +114 -0
- package/operation-library/file-search-replace.json +175 -0
- package/operation-library/git-status-report.json +368 -0
- package/operation-library/health-check-ping.json +329 -0
- package/operation-library/json-config-merge.json +313 -0
- package/operation-library/llm-embedding-tool-use.json +314 -0
- package/operation-library/llm-multi-turn-analysis.json +322 -0
- package/operation-library/llm-summarize.json +264 -0
- package/operation-library/log-line-counter.json +185 -0
- package/operation-library/meadow-crud-lifecycle.json +264 -0
- package/operation-library/npm-project-validator.json +193 -0
- package/operation-library/rest-api-orchestrator.json +218 -0
- package/operation-library/shell-system-info.json +137 -0
- package/operation-library/simple-echo.json +95 -0
- package/operation-library/template-processor.json +299 -0
- package/operation-library/text-sanitizer.json +176 -0
- package/package.json +12 -8
- package/source/Ultravisor.cjs +30 -3
- package/source/beacon/Ultravisor-Beacon-CLI.cjs +143 -0
- package/source/beacon/Ultravisor-Beacon-CapabilityProvider.cjs +129 -0
- package/source/beacon/Ultravisor-Beacon-Client.cjs +568 -0
- package/source/beacon/Ultravisor-Beacon-Executor.cjs +500 -0
- package/source/beacon/Ultravisor-Beacon-ProviderRegistry.cjs +330 -0
- package/source/beacon/providers/Ultravisor-Beacon-Provider-FileSystem.cjs +331 -0
- package/source/beacon/providers/Ultravisor-Beacon-Provider-LLM.cjs +966 -0
- package/source/beacon/providers/Ultravisor-Beacon-Provider-Shell.cjs +95 -0
- package/source/cli/Ultravisor-CLIProgram.cjs +44 -22
- package/source/cli/commands/Ultravisor-Command-SingleOperation.cjs +29 -18
- package/source/cli/commands/Ultravisor-Command-SingleTask.cjs +62 -19
- package/source/cli/commands/Ultravisor-Command-UpdateTask.cjs +27 -15
- package/source/config/Ultravisor-Default-Command-Configuration.cjs +12 -3
- package/source/services/Ultravisor-Beacon-Coordinator.cjs +966 -0
- package/source/services/Ultravisor-ExecutionEngine.cjs +1093 -0
- package/source/services/Ultravisor-ExecutionManifest.cjs +629 -0
- package/source/services/Ultravisor-Hypervisor-State.cjs +270 -97
- package/source/services/Ultravisor-Hypervisor.cjs +185 -75
- package/source/services/Ultravisor-Schedule-Persistence-Base.cjs +45 -0
- package/source/services/Ultravisor-StateManager.cjs +253 -0
- package/source/services/Ultravisor-TaskTypeRegistry.cjs +213 -0
- package/source/services/persistence/Ultravisor-Schedule-Persistence-JSONFile.cjs +140 -0
- package/source/services/tasks/Ultravisor-BuiltIn-TaskConfigs.cjs +19 -0
- package/source/services/tasks/Ultravisor-TaskHelper-BeaconDispatch.cjs +107 -0
- package/source/services/tasks/Ultravisor-TaskType-Base.cjs +125 -0
- package/source/services/tasks/content-system/Ultravisor-TaskConfigs-ContentSystem.cjs +90 -0
- package/source/services/tasks/content-system/definitions/content-create-folder.json +24 -0
- package/source/services/tasks/content-system/definitions/content-list-files.json +27 -0
- package/source/services/tasks/content-system/definitions/content-read-file.json +26 -0
- package/source/services/tasks/content-system/definitions/content-save-file.json +26 -0
- package/source/services/tasks/data-transform/Ultravisor-TaskConfigs-DataTransform.cjs +577 -0
- package/source/services/tasks/data-transform/Ultravisor-TaskType-ReplaceString.cjs +80 -0
- package/source/services/tasks/data-transform/Ultravisor-TaskType-SetValues.cjs +74 -0
- package/source/services/tasks/data-transform/Ultravisor-TaskType-StringAppender.cjs +90 -0
- package/source/services/tasks/data-transform/definitions/comprehension-intersect.json +24 -0
- package/source/services/tasks/data-transform/definitions/csv-transform.json +24 -0
- package/source/services/tasks/data-transform/definitions/expression-solver.json +20 -0
- package/source/services/tasks/data-transform/definitions/histogram.json +23 -0
- package/source/services/tasks/data-transform/definitions/parse-csv.json +27 -0
- package/source/services/tasks/data-transform/definitions/replace-string.json +27 -0
- package/source/services/tasks/data-transform/definitions/set-values.json +17 -0
- package/source/services/tasks/data-transform/definitions/string-appender.json +22 -0
- package/source/services/tasks/data-transform/definitions/template-string.json +20 -0
- package/source/services/tasks/extension/Ultravisor-TaskConfigs-Extension.cjs +87 -0
- package/source/services/tasks/extension/definitions/beacon-dispatch.json +32 -0
- package/source/services/tasks/file-system/Ultravisor-TaskConfigs-FileSystem.cjs +509 -0
- package/source/services/tasks/file-system/Ultravisor-TaskType-ReadFile.cjs +96 -0
- package/source/services/tasks/file-system/Ultravisor-TaskType-ReadFileBuffered.cjs +123 -0
- package/source/services/tasks/file-system/Ultravisor-TaskType-WriteFile.cjs +106 -0
- package/source/services/tasks/file-system/definitions/copy-file.json +27 -0
- package/source/services/tasks/file-system/definitions/list-files.json +27 -0
- package/source/services/tasks/file-system/definitions/read-file-buffered.json +31 -0
- package/source/services/tasks/file-system/definitions/read-file.json +26 -0
- package/source/services/tasks/file-system/definitions/read-json.json +23 -0
- package/source/services/tasks/file-system/definitions/write-file.json +29 -0
- package/source/services/tasks/file-system/definitions/write-json.json +30 -0
- package/source/services/tasks/flow-control/Ultravisor-TaskConfigs-FlowControl.cjs +353 -0
- package/source/services/tasks/flow-control/Ultravisor-TaskType-IfConditional.cjs +125 -0
- package/source/services/tasks/flow-control/Ultravisor-TaskType-LaunchOperation.cjs +186 -0
- package/source/services/tasks/flow-control/Ultravisor-TaskType-SplitExecute.cjs +164 -0
- package/source/services/tasks/flow-control/definitions/if-conditional.json +25 -0
- package/source/services/tasks/flow-control/definitions/launch-operation.json +27 -0
- package/source/services/tasks/flow-control/definitions/split-execute.json +32 -0
- package/source/services/tasks/http-client/Ultravisor-TaskConfigs-HttpClient.cjs +281 -0
- package/source/services/tasks/http-client/definitions/get-json.json +26 -0
- package/source/services/tasks/http-client/definitions/get-text.json +26 -0
- package/source/services/tasks/http-client/definitions/rest-request.json +32 -0
- package/source/services/tasks/http-client/definitions/send-json.json +28 -0
- package/source/services/tasks/llm/Ultravisor-TaskConfigs-LLM.cjs +605 -0
- package/source/services/tasks/llm/definitions/llm-chat-completion.json +46 -0
- package/source/services/tasks/llm/definitions/llm-embedding.json +31 -0
- package/source/services/tasks/llm/definitions/llm-tool-use.json +42 -0
- package/source/services/tasks/meadow-api/Ultravisor-TaskConfigs-MeadowApi.cjs +341 -0
- package/source/services/tasks/meadow-api/definitions/meadow-count.json +26 -0
- package/source/services/tasks/meadow-api/definitions/meadow-create.json +26 -0
- package/source/services/tasks/meadow-api/definitions/meadow-delete.json +23 -0
- package/source/services/tasks/meadow-api/definitions/meadow-read.json +26 -0
- package/source/services/tasks/meadow-api/definitions/meadow-reads.json +29 -0
- package/source/services/tasks/meadow-api/definitions/meadow-update.json +26 -0
- package/source/services/tasks/shell/Ultravisor-TaskConfigs-Shell.cjs +63 -0
- package/source/services/tasks/shell/definitions/command.json +29 -0
- package/source/services/tasks/user-interaction/Ultravisor-TaskConfigs-UserInteraction.cjs +64 -0
- package/source/services/tasks/user-interaction/Ultravisor-TaskType-ErrorMessage.cjs +55 -0
- package/source/services/tasks/user-interaction/Ultravisor-TaskType-ValueInput.cjs +47 -0
- package/source/services/tasks/user-interaction/definitions/error-message.json +18 -0
- package/source/services/tasks/user-interaction/definitions/value-input.json +23 -0
- package/source/web_server/Ultravisor-API-Server.cjs +849 -124
- package/test/Ultravisor_browser_tests.js +2226 -0
- package/test/Ultravisor_operation_library_tests.js +894 -0
- package/test/Ultravisor_tests.js +4946 -5044
- package/test/workflows/test-content-concatenate-all.json +339 -0
- package/test/workflows/test-content-full-pipeline.json +159 -0
- package/test/workflows/test-content-list-files.json +76 -0
- package/test/workflows/test-content-save-and-read.json +106 -0
- package/webinterface/css/ultravisor-themes.css +668 -0
- package/webinterface/css/ultravisor.css +37 -14
- package/webinterface/docs/card-help/beacon-dispatch.md +30 -0
- package/webinterface/docs/card-help/command.md +27 -0
- package/webinterface/docs/card-help/comprehension-intersect.md +24 -0
- package/webinterface/docs/card-help/content-create-folder.md +22 -0
- package/webinterface/docs/card-help/content-list-files.md +25 -0
- package/webinterface/docs/card-help/content-read-file.md +24 -0
- package/webinterface/docs/card-help/content-save-file.md +24 -0
- package/webinterface/docs/card-help/copy-file.md +25 -0
- package/webinterface/docs/card-help/csv-transform.md +24 -0
- package/webinterface/docs/card-help/end.md +11 -0
- package/webinterface/docs/card-help/error-message.md +16 -0
- package/webinterface/docs/card-help/expression-solver.md +21 -0
- package/webinterface/docs/card-help/get-json.md +24 -0
- package/webinterface/docs/card-help/get-text.md +24 -0
- package/webinterface/docs/card-help/histogram.md +23 -0
- package/webinterface/docs/card-help/if-conditional.md +23 -0
- package/webinterface/docs/card-help/launch-operation.md +25 -0
- package/webinterface/docs/card-help/list-files.md +25 -0
- package/webinterface/docs/card-help/llm-chat-completion.md +43 -0
- package/webinterface/docs/card-help/llm-embedding.md +24 -0
- package/webinterface/docs/card-help/llm-tool-use.md +39 -0
- package/webinterface/docs/card-help/meadow-count.md +24 -0
- package/webinterface/docs/card-help/meadow-create.md +24 -0
- package/webinterface/docs/card-help/meadow-delete.md +19 -0
- package/webinterface/docs/card-help/meadow-read.md +24 -0
- package/webinterface/docs/card-help/meadow-reads.md +27 -0
- package/webinterface/docs/card-help/meadow-update.md +24 -0
- package/webinterface/docs/card-help/parse-csv.md +27 -0
- package/webinterface/docs/card-help/read-file-buffered.md +29 -0
- package/webinterface/docs/card-help/read-file.md +24 -0
- package/webinterface/docs/card-help/read-json.md +21 -0
- package/webinterface/docs/card-help/replace-string.md +25 -0
- package/webinterface/docs/card-help/rest-request.md +30 -0
- package/webinterface/docs/card-help/send-json.md +26 -0
- package/webinterface/docs/card-help/set-values.md +16 -0
- package/webinterface/docs/card-help/split-execute.md +35 -0
- package/webinterface/docs/card-help/start.md +11 -0
- package/webinterface/docs/card-help/string-appender.md +22 -0
- package/webinterface/docs/card-help/template-string.md +21 -0
- package/webinterface/docs/card-help/value-input.md +24 -0
- package/webinterface/docs/card-help/write-file.md +27 -0
- package/webinterface/docs/card-help/write-json.md +28 -0
- package/webinterface/html/index.html +5 -0
- package/webinterface/package.json +13 -4
- package/webinterface/source/Pict-Application-Ultravisor.js +564 -70
- package/webinterface/source/Ultravisor-TimingUtils.js +99 -0
- package/webinterface/source/card-help-content.js +46 -0
- package/webinterface/source/cards/Ultravisor-BuiltIn-CardConfigs.js +174 -0
- package/webinterface/source/cards/Ultravisor-CardConfigGenerator.js +431 -0
- package/webinterface/source/data/ExampleFlow-CSVPipeline.js +231 -0
- package/webinterface/source/data/ExampleFlow-FileProcessor.js +315 -0
- package/webinterface/source/data/ExampleFlow-MeadowPipeline.js +328 -0
- package/webinterface/source/panels/Ultravisor-CardSettingsPanel.js +902 -0
- package/webinterface/source/providers/PictRouter-Ultravisor-Configuration.json +20 -8
- package/webinterface/source/views/PictView-Ultravisor-BeaconList.js +817 -0
- package/webinterface/source/views/PictView-Ultravisor-BottomBar.js +5 -5
- package/webinterface/source/views/PictView-Ultravisor-Dashboard.js +25 -25
- package/webinterface/source/views/PictView-Ultravisor-Documentation.js +856 -0
- package/webinterface/source/views/PictView-Ultravisor-FlowEditor.js +777 -0
- package/webinterface/source/views/PictView-Ultravisor-ManifestList.js +321 -58
- package/webinterface/source/views/PictView-Ultravisor-OperationEdit.js +36 -91
- package/webinterface/source/views/PictView-Ultravisor-OperationList.js +388 -16
- package/webinterface/source/views/PictView-Ultravisor-PendingInput.js +314 -0
- package/webinterface/source/views/PictView-Ultravisor-Schedule.js +521 -65
- package/webinterface/source/views/PictView-Ultravisor-TimingView.js +333 -71
- package/webinterface/source/views/PictView-Ultravisor-TopBar.js +257 -21
- package/webinterface/theme-sampler.html +645 -0
- package/debug/Harness.js +0 -6
- package/source/services/Ultravisor-Operation-Manifest.cjs +0 -160
- package/source/services/Ultravisor-Operation.cjs +0 -200
- package/source/services/Ultravisor-Task.cjs +0 -349
- package/source/services/events/Ultravisor-Hypervisor-Event-Solver.cjs +0 -11
- package/source/services/tasks/Ultravisor-Task-Base.cjs +0 -264
- package/source/services/tasks/Ultravisor-Task-CollectValues.cjs +0 -188
- package/source/services/tasks/Ultravisor-Task-Command.cjs +0 -65
- package/source/services/tasks/Ultravisor-Task-CommandEach.cjs +0 -190
- package/source/services/tasks/Ultravisor-Task-Conditional.cjs +0 -104
- package/source/services/tasks/Ultravisor-Task-DateWindow.cjs +0 -72
- package/source/services/tasks/Ultravisor-Task-GeneratePagedOperation.cjs +0 -336
- package/source/services/tasks/Ultravisor-Task-LaunchOperation.cjs +0 -143
- package/source/services/tasks/Ultravisor-Task-LaunchTask.cjs +0 -146
- package/source/services/tasks/Ultravisor-Task-LineMatch.cjs +0 -158
- package/source/services/tasks/Ultravisor-Task-Request.cjs +0 -56
- package/source/services/tasks/Ultravisor-Task-Solver.cjs +0 -89
- package/source/services/tasks/Ultravisor-Task-TemplateString.cjs +0 -93
- package/source/services/tasks/rest/Ultravisor-Task-GetBinary.cjs +0 -127
- package/source/services/tasks/rest/Ultravisor-Task-GetJSON.cjs +0 -119
- package/source/services/tasks/rest/Ultravisor-Task-GetText.cjs +0 -109
- package/source/services/tasks/rest/Ultravisor-Task-GetXML.cjs +0 -112
- package/source/services/tasks/rest/Ultravisor-Task-RestRequest.cjs +0 -499
- package/source/services/tasks/rest/Ultravisor-Task-SendJSON.cjs +0 -150
- package/source/services/tasks/stagingfiles/Ultravisor-Task-CopyFile.cjs +0 -110
- package/source/services/tasks/stagingfiles/Ultravisor-Task-ListFiles.cjs +0 -89
- package/source/services/tasks/stagingfiles/Ultravisor-Task-ReadBinary.cjs +0 -87
- package/source/services/tasks/stagingfiles/Ultravisor-Task-ReadJSON.cjs +0 -67
- package/source/services/tasks/stagingfiles/Ultravisor-Task-ReadText.cjs +0 -66
- package/source/services/tasks/stagingfiles/Ultravisor-Task-ReadXML.cjs +0 -69
- package/source/services/tasks/stagingfiles/Ultravisor-Task-WriteBinary.cjs +0 -95
- package/source/services/tasks/stagingfiles/Ultravisor-Task-WriteJSON.cjs +0 -96
- package/source/services/tasks/stagingfiles/Ultravisor-Task-WriteText.cjs +0 -99
- package/source/services/tasks/stagingfiles/Ultravisor-Task-WriteXML.cjs +0 -102
- package/webinterface/source/views/PictView-Ultravisor-TaskEdit.js +0 -220
- package/webinterface/source/views/PictView-Ultravisor-TaskList.js +0 -248
|
@@ -13,8 +13,8 @@ html, body {
|
|
|
13
13
|
font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
|
|
14
14
|
font-size: 16px;
|
|
15
15
|
line-height: 1.5;
|
|
16
|
-
color:
|
|
17
|
-
background-color:
|
|
16
|
+
color: var(--uv-text);
|
|
17
|
+
background-color: var(--uv-bg-base);
|
|
18
18
|
-webkit-font-smoothing: antialiased;
|
|
19
19
|
-moz-osx-font-smoothing: grayscale;
|
|
20
20
|
}
|
|
@@ -23,16 +23,16 @@ html, body {
|
|
|
23
23
|
h1, h2, h3, h4, h5, h6 {
|
|
24
24
|
margin-top: 0;
|
|
25
25
|
line-height: 1.3;
|
|
26
|
-
color:
|
|
26
|
+
color: var(--uv-text-heading);
|
|
27
27
|
}
|
|
28
28
|
|
|
29
29
|
a {
|
|
30
|
-
color:
|
|
30
|
+
color: var(--uv-link);
|
|
31
31
|
text-decoration: none;
|
|
32
32
|
}
|
|
33
33
|
|
|
34
34
|
a:hover {
|
|
35
|
-
color:
|
|
35
|
+
color: var(--uv-link-hover);
|
|
36
36
|
}
|
|
37
37
|
|
|
38
38
|
/* Form elements */
|
|
@@ -40,16 +40,16 @@ input, select, textarea {
|
|
|
40
40
|
font-family: inherit;
|
|
41
41
|
font-size: 0.9em;
|
|
42
42
|
padding: 0.5em 0.75em;
|
|
43
|
-
border: 1px solid
|
|
43
|
+
border: 1px solid var(--uv-border);
|
|
44
44
|
border-radius: 4px;
|
|
45
|
-
background-color:
|
|
46
|
-
color:
|
|
45
|
+
background-color: var(--uv-bg-surface);
|
|
46
|
+
color: var(--uv-text);
|
|
47
47
|
outline: none;
|
|
48
48
|
transition: border-color 0.15s;
|
|
49
49
|
}
|
|
50
50
|
|
|
51
51
|
input:focus, select:focus, textarea:focus {
|
|
52
|
-
border-color:
|
|
52
|
+
border-color: var(--uv-border-focus);
|
|
53
53
|
}
|
|
54
54
|
|
|
55
55
|
textarea {
|
|
@@ -79,11 +79,11 @@ table {
|
|
|
79
79
|
th, td {
|
|
80
80
|
text-align: left;
|
|
81
81
|
padding: 0.6em 0.75em;
|
|
82
|
-
border-bottom: 1px solid
|
|
82
|
+
border-bottom: 1px solid var(--uv-border-subtle);
|
|
83
83
|
}
|
|
84
84
|
|
|
85
85
|
th {
|
|
86
|
-
color:
|
|
86
|
+
color: var(--uv-text-secondary);
|
|
87
87
|
font-weight: 600;
|
|
88
88
|
font-size: 0.8em;
|
|
89
89
|
text-transform: uppercase;
|
|
@@ -101,16 +101,39 @@ th {
|
|
|
101
101
|
}
|
|
102
102
|
|
|
103
103
|
::-webkit-scrollbar-track {
|
|
104
|
-
background:
|
|
104
|
+
background: var(--uv-scrollbar-track);
|
|
105
105
|
}
|
|
106
106
|
|
|
107
107
|
::-webkit-scrollbar-thumb {
|
|
108
|
-
background:
|
|
108
|
+
background: var(--uv-scrollbar-thumb);
|
|
109
109
|
border-radius: 4px;
|
|
110
110
|
}
|
|
111
111
|
|
|
112
112
|
::-webkit-scrollbar-thumb:hover {
|
|
113
|
-
background:
|
|
113
|
+
background: var(--uv-scrollbar-thumb-hover);
|
|
114
|
+
}
|
|
115
|
+
|
|
116
|
+
/* Flow panel overrides — restore light inputs inside the white panel */
|
|
117
|
+
.pict-flow-panel input,
|
|
118
|
+
.pict-flow-panel select,
|
|
119
|
+
.pict-flow-panel textarea {
|
|
120
|
+
background-color: #fff;
|
|
121
|
+
color: #333;
|
|
122
|
+
border: 1px solid #ccc;
|
|
123
|
+
}
|
|
124
|
+
|
|
125
|
+
.pict-flow-panel input:focus,
|
|
126
|
+
.pict-flow-panel select:focus,
|
|
127
|
+
.pict-flow-panel textarea:focus {
|
|
128
|
+
border-color: var(--uv-border-focus);
|
|
129
|
+
}
|
|
130
|
+
|
|
131
|
+
.pict-flow-panel label {
|
|
132
|
+
color: #555;
|
|
133
|
+
}
|
|
134
|
+
|
|
135
|
+
.pict-flow-panel-body {
|
|
136
|
+
color: #333;
|
|
114
137
|
}
|
|
115
138
|
|
|
116
139
|
/* Responsive adjustments */
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
# Beacon Dispatch
|
|
2
|
+
|
|
3
|
+
Dispatches a work item to a remote Beacon worker node. The task pauses until the Beacon completes execution and reports results back.
|
|
4
|
+
|
|
5
|
+
## Settings
|
|
6
|
+
|
|
7
|
+
- **RemoteCapability** — Required capability on the Beacon (e.g. `Shell`, `FileSystem`, `LLM`).
|
|
8
|
+
- **RemoteAction** — Specific action within the capability (e.g. `Execute`, `Read`).
|
|
9
|
+
- **Command** — Shell command to execute on the Beacon (when using Shell capability).
|
|
10
|
+
- **Parameters** — Command-line parameters for the shell command.
|
|
11
|
+
- **AffinityKey** — Worker affinity routing key. Requests with the same key are routed to the same Beacon.
|
|
12
|
+
- **TimeoutMs** — Work item timeout in milliseconds (default `300000`).
|
|
13
|
+
- **InputData** — JSON data to pass to the Beacon worker.
|
|
14
|
+
- **Destination** — State address to write results to on completion.
|
|
15
|
+
|
|
16
|
+
## Outputs
|
|
17
|
+
|
|
18
|
+
- **StdOut** — Standard output from the Beacon execution.
|
|
19
|
+
- **Result** — Result data from the Beacon.
|
|
20
|
+
- **ExitCode** — Exit code of the remote command.
|
|
21
|
+
- **BeaconID** — ID of the Beacon that executed the work.
|
|
22
|
+
|
|
23
|
+
## Events
|
|
24
|
+
|
|
25
|
+
- **Complete** — Fires when the Beacon finishes.
|
|
26
|
+
- **Error** — Fires on failure or timeout.
|
|
27
|
+
|
|
28
|
+
## Tips
|
|
29
|
+
|
|
30
|
+
Beacon Dispatch is the low-level card for sending arbitrary work to remote workers. Use AffinityKey to ensure related work items run on the same Beacon instance. For common patterns, prefer the specialized cards (LLM Chat Completion, Content Read File, etc.) which use Beacon Dispatch internally with appropriate defaults.
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
# Command
|
|
2
|
+
|
|
3
|
+
Executes a shell command on the server and captures its output.
|
|
4
|
+
|
|
5
|
+
## Settings
|
|
6
|
+
|
|
7
|
+
- **Command** — The shell command to execute (e.g. `ls`, `git`, `python3`).
|
|
8
|
+
- **Parameters** — Command-line arguments as a single string.
|
|
9
|
+
- **Description** — Human-readable description of what this command does (for documentation only).
|
|
10
|
+
- **WorkingDirectory** — Working directory for the command.
|
|
11
|
+
- **TimeoutMs** — Command timeout in milliseconds (default `300000` — 5 minutes).
|
|
12
|
+
- **Environment** — JSON object of environment variables to set for the command.
|
|
13
|
+
|
|
14
|
+
## Outputs
|
|
15
|
+
|
|
16
|
+
- **StdOut** — Standard output from the command.
|
|
17
|
+
- **StdErr** — Standard error output from the command.
|
|
18
|
+
- **ExitCode** — Exit code (0 typically indicates success).
|
|
19
|
+
|
|
20
|
+
## Events
|
|
21
|
+
|
|
22
|
+
- **Complete** — Fires when the command finishes.
|
|
23
|
+
- **Error** — Fires if the command fails to start or times out.
|
|
24
|
+
|
|
25
|
+
## Tips
|
|
26
|
+
|
|
27
|
+
Use an **If Conditional** on ExitCode to handle success vs failure. Both Command and Parameters support Pict template expressions, so you can build dynamic commands from state values. Set Environment to inject secrets or configuration without hardcoding them.
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
# Comprehension Intersect
|
|
2
|
+
|
|
3
|
+
Intersects two arrays by matching records on a common field, similar to an SQL inner join.
|
|
4
|
+
|
|
5
|
+
## Settings
|
|
6
|
+
|
|
7
|
+
- **SourceAddressA** — State address of the first array.
|
|
8
|
+
- **SourceAddressB** — State address of the second array.
|
|
9
|
+
- **MatchField** — Field name to match records on. Records from both arrays with the same value in this field are merged.
|
|
10
|
+
- **Destination** — State address to store the intersected results.
|
|
11
|
+
- **JoinType** — Join type (default `inner`). Inner join returns only records that match in both arrays.
|
|
12
|
+
|
|
13
|
+
## Outputs
|
|
14
|
+
|
|
15
|
+
- **Result** — Array of merged record objects.
|
|
16
|
+
- **MatchCount** — Number of matched records.
|
|
17
|
+
|
|
18
|
+
## Events
|
|
19
|
+
|
|
20
|
+
- **Complete** — Fires after intersection.
|
|
21
|
+
|
|
22
|
+
## Tips
|
|
23
|
+
|
|
24
|
+
Use Comprehension Intersect to combine data from two different sources — for example, joining a list of user IDs from one API with user details from another. The matched records are merged into single objects containing fields from both sources.
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
# Content Create Folder
|
|
2
|
+
|
|
3
|
+
Creates a folder in the content directory on a remote Content System beacon.
|
|
4
|
+
|
|
5
|
+
## Settings
|
|
6
|
+
|
|
7
|
+
- **Path** — Relative folder path to create.
|
|
8
|
+
- **AffinityKey** — Worker affinity key to route to a specific beacon.
|
|
9
|
+
- **TimeoutMs** — Timeout in milliseconds (default `300000`).
|
|
10
|
+
|
|
11
|
+
## Outputs
|
|
12
|
+
|
|
13
|
+
- **StdOut** — Status message from the beacon.
|
|
14
|
+
|
|
15
|
+
## Events
|
|
16
|
+
|
|
17
|
+
- **Complete** — Fires after the folder is created.
|
|
18
|
+
- **Error** — Fires on failure.
|
|
19
|
+
|
|
20
|
+
## Tips
|
|
21
|
+
|
|
22
|
+
Use Content Create Folder before **Content Save File** to ensure the target directory structure exists. The operation is idempotent — creating a folder that already exists succeeds without error.
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
# Content List Files
|
|
2
|
+
|
|
3
|
+
Lists files in a directory on a remote Content System beacon.
|
|
4
|
+
|
|
5
|
+
## Settings
|
|
6
|
+
|
|
7
|
+
- **Path** — Relative directory path within the content directory. Leave empty for the root.
|
|
8
|
+
- **Pattern** — Glob pattern filter (e.g. `*.md`, `*.json`).
|
|
9
|
+
- **Recursive** — When `true`, lists files in subdirectories.
|
|
10
|
+
- **AffinityKey** — Worker affinity key to route to a specific beacon.
|
|
11
|
+
- **TimeoutMs** — Timeout in milliseconds (default `300000`).
|
|
12
|
+
|
|
13
|
+
## Outputs
|
|
14
|
+
|
|
15
|
+
- **Files** — JSON array of file entries.
|
|
16
|
+
- **StdOut** — Status message from the beacon.
|
|
17
|
+
|
|
18
|
+
## Events
|
|
19
|
+
|
|
20
|
+
- **Complete** — Fires after listing.
|
|
21
|
+
- **Error** — Fires on failure.
|
|
22
|
+
|
|
23
|
+
## Tips
|
|
24
|
+
|
|
25
|
+
Use Content List Files to discover available content on a beacon before processing. Combine with **Split Execute** to iterate over the file list and read or transform each file.
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
# Content Read File
|
|
2
|
+
|
|
3
|
+
Reads a markdown or content file from a remote Content System beacon.
|
|
4
|
+
|
|
5
|
+
## Settings
|
|
6
|
+
|
|
7
|
+
- **FilePath** — Relative path within the content directory on the beacon.
|
|
8
|
+
- **Destination** — State address to store the file content.
|
|
9
|
+
- **AffinityKey** — Worker affinity key to route to a specific beacon.
|
|
10
|
+
- **TimeoutMs** — Timeout in milliseconds (default `300000`).
|
|
11
|
+
|
|
12
|
+
## Outputs
|
|
13
|
+
|
|
14
|
+
- **Content** — The file content as a string.
|
|
15
|
+
- **StdOut** — Status message from the beacon.
|
|
16
|
+
|
|
17
|
+
## Events
|
|
18
|
+
|
|
19
|
+
- **Complete** — Fires after a successful read.
|
|
20
|
+
- **Error** — Fires if the file is not found or the beacon is unreachable.
|
|
21
|
+
|
|
22
|
+
## Tips
|
|
23
|
+
|
|
24
|
+
Content System cards operate on remote Beacon workers, not the local file system. Use AffinityKey to ensure reads and writes go to the same beacon instance. For local file operations, use **Read File** instead.
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
# Content Save File
|
|
2
|
+
|
|
3
|
+
Saves content to a file on a remote Content System beacon.
|
|
4
|
+
|
|
5
|
+
## Settings
|
|
6
|
+
|
|
7
|
+
- **FilePath** — Relative path within the content directory.
|
|
8
|
+
- **Content** — The file content to write. Supports Pict template expressions.
|
|
9
|
+
- **AffinityKey** — Worker affinity key to route to a specific beacon.
|
|
10
|
+
- **TimeoutMs** — Timeout in milliseconds (default `300000`).
|
|
11
|
+
|
|
12
|
+
## Outputs
|
|
13
|
+
|
|
14
|
+
- **FilePath** — Path of the saved file.
|
|
15
|
+
- **StdOut** — Status message from the beacon.
|
|
16
|
+
|
|
17
|
+
## Events
|
|
18
|
+
|
|
19
|
+
- **Complete** — Fires after a successful save.
|
|
20
|
+
- **Error** — Fires on failure.
|
|
21
|
+
|
|
22
|
+
## Tips
|
|
23
|
+
|
|
24
|
+
Use Content Save File to publish generated content (reports, processed data, rendered templates) to a Content System. Pair with **Content Read File** to read-modify-write content files on a beacon.
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
# Copy File
|
|
2
|
+
|
|
3
|
+
Copies a file from a source path to a target path.
|
|
4
|
+
|
|
5
|
+
## Settings
|
|
6
|
+
|
|
7
|
+
- **Source** — Source file path.
|
|
8
|
+
- **TargetFile** — Destination file path.
|
|
9
|
+
- **Overwrite** — Allow overwriting an existing target file (default `true`).
|
|
10
|
+
|
|
11
|
+
## Outputs
|
|
12
|
+
|
|
13
|
+
- **FileLocation** — The target path as specified.
|
|
14
|
+
- **FileName** — The target file name only.
|
|
15
|
+
- **FilePath** — The fully resolved absolute target path.
|
|
16
|
+
- **BytesCopied** — Size of the copied file in bytes.
|
|
17
|
+
|
|
18
|
+
## Events
|
|
19
|
+
|
|
20
|
+
- **Done** — Fires on successful copy.
|
|
21
|
+
- **Error** — Fires if the source is missing or the target cannot be written.
|
|
22
|
+
|
|
23
|
+
## Tips
|
|
24
|
+
|
|
25
|
+
Set Overwrite to `false` to protect existing files from accidental replacement. Both Source and TargetFile support Pict template expressions for dynamic paths.
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
# CSV Transform
|
|
2
|
+
|
|
3
|
+
Transforms an array of parsed CSV records by applying field mappings, filters, and output field selection.
|
|
4
|
+
|
|
5
|
+
## Settings
|
|
6
|
+
|
|
7
|
+
- **SourceAddress** — State address of the records array to transform.
|
|
8
|
+
- **Destination** — State address to store the transformed records.
|
|
9
|
+
- **Delimiter** — Delimiter for re-serialization (default `,`).
|
|
10
|
+
- **FieldMapping** — JSON array of mapping objects with `From`, `To`, and optional `Template` properties for field renaming and transformation.
|
|
11
|
+
- **FilterExpression** — An expression to filter rows. Only rows where the expression evaluates to true are included.
|
|
12
|
+
- **OutputFields** — JSON array of field names to include in the output. Omit to include all fields.
|
|
13
|
+
|
|
14
|
+
## Outputs
|
|
15
|
+
|
|
16
|
+
- **Records** — The transformed records array.
|
|
17
|
+
|
|
18
|
+
## Events
|
|
19
|
+
|
|
20
|
+
- **Complete** — Fires after transformation.
|
|
21
|
+
|
|
22
|
+
## Tips
|
|
23
|
+
|
|
24
|
+
Use FieldMapping to rename columns, compute derived fields with templates, or restructure data. Combine with FilterExpression to extract subsets of records in a single step.
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
# End
|
|
2
|
+
|
|
3
|
+
Termination point for the workflow. When execution reaches the End card, the operation completes.
|
|
4
|
+
|
|
5
|
+
## Events
|
|
6
|
+
|
|
7
|
+
- **In** — Receives the final event from the flow. Accepts up to 5 incoming connections.
|
|
8
|
+
|
|
9
|
+
## Tips
|
|
10
|
+
|
|
11
|
+
A flow can have multiple End cards to handle different completion paths (e.g. success vs error). The End card signals that execution is complete and the operation's results are ready. Place End cards at the right side of your flow diagram.
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
# Error Message
|
|
2
|
+
|
|
3
|
+
Logs an error, warning, info, or debug message to the execution log. Use this card to emit diagnostic information during flow execution without halting the workflow.
|
|
4
|
+
|
|
5
|
+
## Settings
|
|
6
|
+
|
|
7
|
+
- **MessageTemplate** — The message text to log. Supports Pict template expressions for including state values (default: "An error occurred.").
|
|
8
|
+
- **Level** — Log level: `error`, `warning`, `info`, or `debug` (default `error`).
|
|
9
|
+
|
|
10
|
+
## Events
|
|
11
|
+
|
|
12
|
+
- **Complete** — Fires after the message is logged. Execution continues normally.
|
|
13
|
+
|
|
14
|
+
## Tips
|
|
15
|
+
|
|
16
|
+
Error Message does not stop the flow — it only records a log entry. Place it on error branches to capture diagnostic context when failures occur. Use the `info` level for progress markers and `debug` for development-time tracing.
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
# Expression Solver
|
|
2
|
+
|
|
3
|
+
Evaluates a mathematical or logical expression using the Fable ExpressionParser and stores the result in state.
|
|
4
|
+
|
|
5
|
+
## Settings
|
|
6
|
+
|
|
7
|
+
- **Expression** — The expression to evaluate. Can reference state values by address.
|
|
8
|
+
- **Destination** — State address to store the evaluation result.
|
|
9
|
+
|
|
10
|
+
## Outputs
|
|
11
|
+
|
|
12
|
+
- **Result** — The computed result as a string.
|
|
13
|
+
|
|
14
|
+
## Events
|
|
15
|
+
|
|
16
|
+
- **Complete** — Fires after evaluation.
|
|
17
|
+
- **Error** — Fires on parse or evaluation failure.
|
|
18
|
+
|
|
19
|
+
## Tips
|
|
20
|
+
|
|
21
|
+
Use Expression Solver for arithmetic calculations, string length checks, or combining multiple state values into a computed result. The expression language supports standard math operators, comparisons, and common functions.
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
# Get JSON
|
|
2
|
+
|
|
3
|
+
Performs an HTTP GET request and parses the response body as JSON.
|
|
4
|
+
|
|
5
|
+
## Settings
|
|
6
|
+
|
|
7
|
+
- **URL** — The URL to request. Supports Pict template expressions for dynamic URLs.
|
|
8
|
+
- **Headers** — JSON string of additional request headers (e.g. `{"Authorization": "Bearer ..."}`).
|
|
9
|
+
- **Destination** — State address to store the parsed response data.
|
|
10
|
+
- **TimeoutMs** — Request timeout in milliseconds (default `30000`).
|
|
11
|
+
|
|
12
|
+
## Outputs
|
|
13
|
+
|
|
14
|
+
- **Data** — The parsed JSON response object.
|
|
15
|
+
- **StatusCode** — HTTP response status code.
|
|
16
|
+
|
|
17
|
+
## Events
|
|
18
|
+
|
|
19
|
+
- **Complete** — Fires on a successful response.
|
|
20
|
+
- **Error** — Fires on network failure, timeout, or non-2xx status.
|
|
21
|
+
|
|
22
|
+
## Tips
|
|
23
|
+
|
|
24
|
+
For APIs requiring authentication, use **Set Values** to build the Headers JSON from stored credentials before connecting to the Headers setting input. Use the StatusCode output with an **If Conditional** to handle different HTTP response codes.
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
# Get Text
|
|
2
|
+
|
|
3
|
+
Performs an HTTP GET request and returns the response body as plain text.
|
|
4
|
+
|
|
5
|
+
## Settings
|
|
6
|
+
|
|
7
|
+
- **URL** — The URL to request.
|
|
8
|
+
- **Destination** — State address to store the response text.
|
|
9
|
+
- **Headers** — JSON string of additional request headers.
|
|
10
|
+
- **TimeoutMs** — Request timeout in milliseconds (default `30000`).
|
|
11
|
+
|
|
12
|
+
## Outputs
|
|
13
|
+
|
|
14
|
+
- **Data** — The response body as a string.
|
|
15
|
+
- **StatusCode** — HTTP response status code.
|
|
16
|
+
|
|
17
|
+
## Events
|
|
18
|
+
|
|
19
|
+
- **Complete** — Fires on a successful response.
|
|
20
|
+
- **Error** — Fires on network failure or timeout.
|
|
21
|
+
|
|
22
|
+
## Tips
|
|
23
|
+
|
|
24
|
+
Use Get Text for non-JSON responses: HTML pages, CSV downloads, plain text APIs, or XML feeds. Pipe the output into **Parse CSV** for CSV data or **Replace String** for text processing.
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
# Histogram
|
|
2
|
+
|
|
3
|
+
Computes a frequency distribution over a specific field in a dataset array.
|
|
4
|
+
|
|
5
|
+
## Settings
|
|
6
|
+
|
|
7
|
+
- **SourceAddress** — State address of the data array to analyze.
|
|
8
|
+
- **Field** — Field name to compute frequencies for (default `score`).
|
|
9
|
+
- **Bins** — Number of bins for numeric data (default `5`).
|
|
10
|
+
- **Destination** — State address to store the statistics object.
|
|
11
|
+
- **SortBy** — Sort frequency results by `count` or `key`.
|
|
12
|
+
|
|
13
|
+
## Outputs
|
|
14
|
+
|
|
15
|
+
- **Stats** — An object containing the frequency distribution, bin boundaries, and summary statistics.
|
|
16
|
+
|
|
17
|
+
## Events
|
|
18
|
+
|
|
19
|
+
- **Complete** — Fires after computation.
|
|
20
|
+
|
|
21
|
+
## Tips
|
|
22
|
+
|
|
23
|
+
Use Histogram after parsing or loading a dataset to get a quick statistical overview. Combine with **Template String** to generate a text-based report of the distribution.
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
# If Conditional
|
|
2
|
+
|
|
3
|
+
Evaluates a condition and branches execution to the True or False output. This is the primary decision-making card in a flow.
|
|
4
|
+
|
|
5
|
+
## Settings
|
|
6
|
+
|
|
7
|
+
- **DataAddress** — State address of the value to test.
|
|
8
|
+
- **CompareValue** — Value to compare against.
|
|
9
|
+
- **Operator** — Comparison operator: `==`, `!=`, `>`, `<`, `>=`, `<=`, `contains`, `startsWith`, `endsWith`. Default `==`.
|
|
10
|
+
- **Expression** — A full expression string. When set, DataAddress/CompareValue/Operator are ignored and the expression is evaluated directly.
|
|
11
|
+
|
|
12
|
+
## Outputs
|
|
13
|
+
|
|
14
|
+
- **Result** — Boolean result of the evaluation.
|
|
15
|
+
|
|
16
|
+
## Events
|
|
17
|
+
|
|
18
|
+
- **True** — Fires when the condition is true.
|
|
19
|
+
- **False** — Fires when the condition is false.
|
|
20
|
+
|
|
21
|
+
## Tips
|
|
22
|
+
|
|
23
|
+
Use Expression for complex conditions that combine multiple state values. For simple equality checks, DataAddress + CompareValue + Operator is more readable. The False output is positioned at the bottom of the card for visual clarity in flow diagrams.
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
# Launch Operation
|
|
2
|
+
|
|
3
|
+
Executes a child operation by its hash, with isolated operation state. This enables modular flow composition by calling one operation from within another.
|
|
4
|
+
|
|
5
|
+
## Settings
|
|
6
|
+
|
|
7
|
+
- **OperationHash** — The hash identifier of the operation to launch.
|
|
8
|
+
- **InputData** — JSON data to pass as input to the child operation.
|
|
9
|
+
- **TimeoutMs** — Maximum execution time in milliseconds. Set to `0` for unlimited.
|
|
10
|
+
- **InheritGlobalState** — When `true` (default), copies the parent's GlobalState into the child operation.
|
|
11
|
+
|
|
12
|
+
## Outputs
|
|
13
|
+
|
|
14
|
+
- **Result** — The result data returned by the child operation.
|
|
15
|
+
- **Status** — Final status of the child operation.
|
|
16
|
+
- **ElapsedMs** — Execution time of the child operation in milliseconds.
|
|
17
|
+
|
|
18
|
+
## Events
|
|
19
|
+
|
|
20
|
+
- **Completed** — Fires when the child operation finishes.
|
|
21
|
+
- **Error** — Fires if the child operation fails or times out.
|
|
22
|
+
|
|
23
|
+
## Tips
|
|
24
|
+
|
|
25
|
+
Use Launch Operation to break complex workflows into reusable sub-operations. The child operation runs with its own isolated state, so it cannot accidentally modify the parent's local state. Use InheritGlobalState to share configuration and credentials.
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
# List Files
|
|
2
|
+
|
|
3
|
+
Lists files in a directory with optional glob pattern filtering.
|
|
4
|
+
|
|
5
|
+
## Settings
|
|
6
|
+
|
|
7
|
+
- **Folder** — Directory path to list.
|
|
8
|
+
- **Pattern** — Glob pattern filter (e.g. `*.txt`, `*.json`). Default `*` matches all files.
|
|
9
|
+
- **Destination** — State address to store the resulting file list.
|
|
10
|
+
- **Recursive** — When `true`, includes files in subdirectories.
|
|
11
|
+
- **IncludeDirectories** — When `true`, includes directory entries in the results.
|
|
12
|
+
|
|
13
|
+
## Outputs
|
|
14
|
+
|
|
15
|
+
- **Files** — Array of file name strings matching the pattern.
|
|
16
|
+
- **FileCount** — Number of entries found.
|
|
17
|
+
|
|
18
|
+
## Events
|
|
19
|
+
|
|
20
|
+
- **Complete** — Fires after listing is complete.
|
|
21
|
+
- **Error** — Fires if the directory cannot be read.
|
|
22
|
+
|
|
23
|
+
## Tips
|
|
24
|
+
|
|
25
|
+
Use with **Split Execute** to iterate over the file list and process each file individually. Combine Recursive mode with a specific Pattern to find files deep in a directory tree.
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
# LLM Chat Completion
|
|
2
|
+
|
|
3
|
+
Sends messages to a large language model and returns the completion. Supports multi-turn conversation history with persistence across operation runs.
|
|
4
|
+
|
|
5
|
+
## Settings
|
|
6
|
+
|
|
7
|
+
- **SystemPrompt** — System prompt text that sets the LLM's behavior and context.
|
|
8
|
+
- **UserPrompt** — User prompt text for the current turn.
|
|
9
|
+
- **Messages** — JSON array of message objects `[{role, content}]` for direct control over the conversation. Overrides SystemPrompt/UserPrompt when set.
|
|
10
|
+
- **Model** — Override the default model name.
|
|
11
|
+
- **Temperature** — Sampling temperature (0–2). Lower values are more deterministic.
|
|
12
|
+
- **MaxTokens** — Maximum tokens to generate (default `4096`).
|
|
13
|
+
- **TopP** — Nucleus sampling parameter.
|
|
14
|
+
- **StopSequences** — JSON array of sequences that stop generation.
|
|
15
|
+
- **ResponseFormat** — Set to `json_object` to force JSON output.
|
|
16
|
+
- **InputAddress** — State address to read additional context data from (appended to UserPrompt).
|
|
17
|
+
- **Destination** — State address to write the completion text to.
|
|
18
|
+
|
|
19
|
+
## Conversation History
|
|
20
|
+
|
|
21
|
+
- **ConversationAddress** — State address to store message history for multi-turn conversations.
|
|
22
|
+
- **AppendToConversation** — Append this exchange to history (default `true` when ConversationAddress is set).
|
|
23
|
+
- **ConversationMaxMessages** — Sliding window: maximum non-system messages to keep.
|
|
24
|
+
- **ConversationMaxTokens** — Token budget for history (approximate, trims oldest messages).
|
|
25
|
+
- **PersistConversation** — Copy conversation history to GlobalState for cross-operation persistence.
|
|
26
|
+
- **ConversationPersistAddress** — GlobalState address for persistence.
|
|
27
|
+
|
|
28
|
+
## Dispatch
|
|
29
|
+
|
|
30
|
+
- **AffinityKey** — Route to a specific Beacon worker for consistent model access.
|
|
31
|
+
- **TimeoutMs** — Timeout in milliseconds (default `120000`).
|
|
32
|
+
|
|
33
|
+
## Outputs
|
|
34
|
+
|
|
35
|
+
- **Content** — The LLM's response text.
|
|
36
|
+
- **Model** — Model that generated the response.
|
|
37
|
+
- **PromptTokens** / **CompletionTokens** / **TotalTokens** — Token usage statistics.
|
|
38
|
+
- **FinishReason** — Why the completion ended (`stop`, `length`, etc.).
|
|
39
|
+
- **BeaconID** — ID of the Beacon worker that executed the request.
|
|
40
|
+
|
|
41
|
+
## Tips
|
|
42
|
+
|
|
43
|
+
Use ConversationAddress with PersistConversation to build chatbots that maintain context across multiple operation runs. Set ResponseFormat to `json_object` when you need structured output that downstream cards can parse. Use Temperature `0` for deterministic, reproducible results.
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
# LLM Embedding
|
|
2
|
+
|
|
3
|
+
Generates vector embeddings for text input using an LLM provider. Dispatches the work to a Beacon with LLM capability.
|
|
4
|
+
|
|
5
|
+
## Settings
|
|
6
|
+
|
|
7
|
+
- **Text** — The text to embed. Supports Pict template expressions.
|
|
8
|
+
- **Model** — Override the default embedding model.
|
|
9
|
+
- **Dimensions** — Requested embedding dimensions (model-dependent).
|
|
10
|
+
- **InputAddress** — State address to read text from (alternative to Text setting).
|
|
11
|
+
- **Destination** — State address to write the embedding vector to.
|
|
12
|
+
- **AffinityKey** — Route to a specific Beacon worker.
|
|
13
|
+
- **TimeoutMs** — Timeout in milliseconds (default `60000`).
|
|
14
|
+
|
|
15
|
+
## Outputs
|
|
16
|
+
|
|
17
|
+
- **Embedding** — JSON array of floating-point numbers representing the embedding vector.
|
|
18
|
+
- **Dimensions** — Number of dimensions in the embedding.
|
|
19
|
+
- **Model** — Model used for embedding.
|
|
20
|
+
- **BeaconID** — ID of the Beacon that executed the work.
|
|
21
|
+
|
|
22
|
+
## Tips
|
|
23
|
+
|
|
24
|
+
Use embeddings for semantic search, clustering, or similarity comparisons. Store embeddings in a database via **Meadow Create** for later retrieval. Combine with **Expression Solver** or downstream processing to compute cosine similarity between vectors.
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
# LLM Tool Use
|
|
2
|
+
|
|
3
|
+
Sends messages to a large language model with tool (function) definitions, enabling the LLM to request tool calls that your flow can execute.
|
|
4
|
+
|
|
5
|
+
## Settings
|
|
6
|
+
|
|
7
|
+
- **SystemPrompt** — System prompt text.
|
|
8
|
+
- **UserPrompt** — User prompt text.
|
|
9
|
+
- **Messages** — JSON array of messages for direct conversation control.
|
|
10
|
+
- **Tools** — JSON array of tool definitions describing available functions the LLM can call.
|
|
11
|
+
- **Model** — Override model name.
|
|
12
|
+
- **ToolChoice** — `auto` (LLM decides), `none` (no tools), or a specific tool name (default `auto`).
|
|
13
|
+
- **Temperature** — Sampling temperature.
|
|
14
|
+
- **MaxTokens** — Maximum tokens to generate.
|
|
15
|
+
- **ConversationAddress** — State address for multi-turn history.
|
|
16
|
+
- **AppendToConversation** — Append this exchange to history.
|
|
17
|
+
- **InputAddress** — State address to read context data from.
|
|
18
|
+
- **Destination** — State address to write completion content.
|
|
19
|
+
- **AffinityKey** — Route to a specific Beacon worker.
|
|
20
|
+
- **TimeoutMs** — Timeout in milliseconds (default `120000`).
|
|
21
|
+
|
|
22
|
+
## Outputs
|
|
23
|
+
|
|
24
|
+
- **Content** — The LLM's text response (may be empty if tool calls were made).
|
|
25
|
+
- **ToolCalls** — JSON array of tool call objects with function names and arguments.
|
|
26
|
+
- **Model** — Model that generated the response.
|
|
27
|
+
- **FinishReason** — `stop` for normal completion, `tool_calls` when tools were invoked.
|
|
28
|
+
- **PromptTokens** / **CompletionTokens** — Token usage.
|
|
29
|
+
- **BeaconID** — Beacon worker ID.
|
|
30
|
+
|
|
31
|
+
## Events
|
|
32
|
+
|
|
33
|
+
- **Complete** — Fires when the LLM responds.
|
|
34
|
+
- **ToolCall** — Fires when the LLM requests a tool call.
|
|
35
|
+
- **Error** — Fires on failure.
|
|
36
|
+
|
|
37
|
+
## Tips
|
|
38
|
+
|
|
39
|
+
Use the ToolCall event to route tool invocations to the appropriate processing cards, then feed results back for another LLM turn. This enables agent-style workflows where the LLM can gather information and take actions through your defined tools.
|