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
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
# Meadow Count
|
|
2
|
+
|
|
3
|
+
Counts records for an entity via a Meadow REST API endpoint, with optional filtering.
|
|
4
|
+
|
|
5
|
+
## Settings
|
|
6
|
+
|
|
7
|
+
- **Entity** — Entity (table) name.
|
|
8
|
+
- **Endpoint** — Base URL of the Meadow API server.
|
|
9
|
+
- **Destination** — State address to store the count value.
|
|
10
|
+
- **Headers** — JSON string of request headers for authentication.
|
|
11
|
+
- **Filter** — Meadow filter expression to count only matching records.
|
|
12
|
+
|
|
13
|
+
## Outputs
|
|
14
|
+
|
|
15
|
+
- **Count** — Number of records matching the criteria.
|
|
16
|
+
|
|
17
|
+
## Events
|
|
18
|
+
|
|
19
|
+
- **Complete** — Fires after the count is retrieved.
|
|
20
|
+
- **Error** — Fires on failure.
|
|
21
|
+
|
|
22
|
+
## Tips
|
|
23
|
+
|
|
24
|
+
Use Meadow Count before **Meadow Reads** to check the result set size, or to report progress statistics. It is much faster than reading all records when you only need the total.
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
# Meadow Create
|
|
2
|
+
|
|
3
|
+
Creates a new record via a Meadow REST API endpoint.
|
|
4
|
+
|
|
5
|
+
## Settings
|
|
6
|
+
|
|
7
|
+
- **Entity** — Entity (table) name.
|
|
8
|
+
- **Endpoint** — Base URL of the Meadow API server.
|
|
9
|
+
- **DataAddress** — State address of the object containing the record data to create.
|
|
10
|
+
- **Headers** — JSON string of request headers for authentication.
|
|
11
|
+
- **Destination** — State address to store the created record (includes server-generated fields like ID).
|
|
12
|
+
|
|
13
|
+
## Outputs
|
|
14
|
+
|
|
15
|
+
- **Created** — The newly created record object with its assigned ID.
|
|
16
|
+
|
|
17
|
+
## Events
|
|
18
|
+
|
|
19
|
+
- **Complete** — Fires after the record is created.
|
|
20
|
+
- **Error** — Fires on failure.
|
|
21
|
+
|
|
22
|
+
## Tips
|
|
23
|
+
|
|
24
|
+
Build the record data with **Set Values** or **Template String** before passing it to Meadow Create. The created record output includes the server-assigned ID, which you can use in subsequent steps.
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
# Meadow Delete
|
|
2
|
+
|
|
3
|
+
Deletes a record by its ID via a Meadow REST API endpoint.
|
|
4
|
+
|
|
5
|
+
## Settings
|
|
6
|
+
|
|
7
|
+
- **Entity** — Entity (table) name.
|
|
8
|
+
- **Endpoint** — Base URL of the Meadow API server.
|
|
9
|
+
- **RecordID** — The ID of the record to delete.
|
|
10
|
+
- **Headers** — JSON string of request headers for authentication.
|
|
11
|
+
|
|
12
|
+
## Events
|
|
13
|
+
|
|
14
|
+
- **Done** — Fires after the record is deleted.
|
|
15
|
+
- **Error** — Fires on failure.
|
|
16
|
+
|
|
17
|
+
## Tips
|
|
18
|
+
|
|
19
|
+
Meadow Delete is permanent — consider adding a **Value Input** confirmation step before deleting records in user-facing workflows. Build the RecordID dynamically with template expressions when deleting records identified by earlier processing steps.
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
# Meadow Read
|
|
2
|
+
|
|
3
|
+
Reads a single record by its ID from a Meadow REST API endpoint.
|
|
4
|
+
|
|
5
|
+
## Settings
|
|
6
|
+
|
|
7
|
+
- **Entity** — Entity (table) name to query.
|
|
8
|
+
- **Endpoint** — Base URL of the Meadow API server.
|
|
9
|
+
- **RecordID** — The ID of the record to retrieve.
|
|
10
|
+
- **Destination** — State address to store the retrieved record.
|
|
11
|
+
- **Headers** — JSON string of additional request headers for authentication.
|
|
12
|
+
|
|
13
|
+
## Outputs
|
|
14
|
+
|
|
15
|
+
- **Record** — The retrieved record object.
|
|
16
|
+
|
|
17
|
+
## Events
|
|
18
|
+
|
|
19
|
+
- **Complete** — Fires after the record is retrieved.
|
|
20
|
+
- **Error** — Fires if the record is not found or the request fails.
|
|
21
|
+
|
|
22
|
+
## Tips
|
|
23
|
+
|
|
24
|
+
Use **Set Values** or **Template String** to build the RecordID dynamically from other state values. Pair with **Meadow Update** to read-modify-write a record.
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
# Meadow Reads
|
|
2
|
+
|
|
3
|
+
Reads multiple records from a Meadow REST API endpoint, with optional filtering and pagination.
|
|
4
|
+
|
|
5
|
+
## Settings
|
|
6
|
+
|
|
7
|
+
- **Entity** — Entity (table) name to query.
|
|
8
|
+
- **Endpoint** — Base URL of the Meadow API server.
|
|
9
|
+
- **Filter** — Meadow filter expression to narrow the result set (e.g. `FBV~IDUser~EQ~42~0~`).
|
|
10
|
+
- **Destination** — State address to store the records array.
|
|
11
|
+
- **Headers** — JSON string of request headers for authentication.
|
|
12
|
+
- **PageSize** — Number of records per page (default `100`).
|
|
13
|
+
- **PageNumber** — Zero-based page number (default `0`).
|
|
14
|
+
|
|
15
|
+
## Outputs
|
|
16
|
+
|
|
17
|
+
- **Records** — Array of retrieved record objects.
|
|
18
|
+
- **RecordCount** — Number of records returned.
|
|
19
|
+
|
|
20
|
+
## Events
|
|
21
|
+
|
|
22
|
+
- **Complete** — Fires after records are retrieved.
|
|
23
|
+
- **Error** — Fires on request failure.
|
|
24
|
+
|
|
25
|
+
## Tips
|
|
26
|
+
|
|
27
|
+
Use the Meadow filter expression to limit results server-side for better performance. Combine with **Split Execute** to process each record individually, or with **Comprehension Intersect** to join data from two entities.
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
# Meadow Update
|
|
2
|
+
|
|
3
|
+
Updates an existing record via a Meadow REST API endpoint.
|
|
4
|
+
|
|
5
|
+
## Settings
|
|
6
|
+
|
|
7
|
+
- **Entity** — Entity (table) name.
|
|
8
|
+
- **Endpoint** — Base URL of the Meadow API server.
|
|
9
|
+
- **DataAddress** — State address of the record data to update. Must include the record's ID field.
|
|
10
|
+
- **Headers** — JSON string of request headers for authentication.
|
|
11
|
+
- **Destination** — State address to store the updated record.
|
|
12
|
+
|
|
13
|
+
## Outputs
|
|
14
|
+
|
|
15
|
+
- **Updated** — The updated record object.
|
|
16
|
+
|
|
17
|
+
## Events
|
|
18
|
+
|
|
19
|
+
- **Complete** — Fires after the update.
|
|
20
|
+
- **Error** — Fires on failure.
|
|
21
|
+
|
|
22
|
+
## Tips
|
|
23
|
+
|
|
24
|
+
Use **Meadow Read** first to load the current record, modify the fields you need with **Set Values**, then pass the modified object to Meadow Update. The data object must include the record's primary key field.
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
# Parse CSV
|
|
2
|
+
|
|
3
|
+
Parses CSV text into an array of records (objects with field names as keys).
|
|
4
|
+
|
|
5
|
+
## Settings
|
|
6
|
+
|
|
7
|
+
- **SourceAddress** — State address containing the CSV text to parse.
|
|
8
|
+
- **Delimiter** — Column delimiter character (default `,`).
|
|
9
|
+
- **HasHeaders** — When `true`, the first row provides field names. When `false`, fields are indexed numerically.
|
|
10
|
+
- **Destination** — State address to store the parsed records array.
|
|
11
|
+
- **QuoteCharacter** — Character used to quote fields that contain the delimiter (default `"`).
|
|
12
|
+
- **TrimFields** — Trim leading/trailing whitespace from field values.
|
|
13
|
+
- **SkipEmptyLines** — Skip blank lines in the input.
|
|
14
|
+
|
|
15
|
+
## Outputs
|
|
16
|
+
|
|
17
|
+
- **Records** — Array of parsed row objects.
|
|
18
|
+
- **ColumnCount** — Number of columns detected.
|
|
19
|
+
- **Headers** — Array of header names from the first row.
|
|
20
|
+
|
|
21
|
+
## Events
|
|
22
|
+
|
|
23
|
+
- **Complete** — Fires after parsing.
|
|
24
|
+
|
|
25
|
+
## Tips
|
|
26
|
+
|
|
27
|
+
Chain **Read File** → **Parse CSV** → **CSV Transform** for a complete data import pipeline. Use TrimFields and SkipEmptyLines to handle messy real-world CSV exports cleanly.
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
# Read File Buffered
|
|
2
|
+
|
|
3
|
+
Reads a file in chunks up to a maximum buffer size, splitting on a preferred character boundary. Ideal for processing large files that should not be loaded entirely into memory.
|
|
4
|
+
|
|
5
|
+
## Settings
|
|
6
|
+
|
|
7
|
+
- **FilePath** — Path to the file to read.
|
|
8
|
+
- **Encoding** — Character encoding (default `utf8`).
|
|
9
|
+
- **MaxBufferSize** — Maximum bytes per chunk (default `65536`).
|
|
10
|
+
- **SplitCharacter** — Preferred character to split on (default newline). The chunk is trimmed to the last occurrence of this character within the buffer so records are not broken mid-line.
|
|
11
|
+
- **ByteOffset** — Byte offset to start reading from. Use `0` for the first chunk and feed the output ByteOffset back for continuation.
|
|
12
|
+
|
|
13
|
+
## Outputs
|
|
14
|
+
|
|
15
|
+
- **FileContent** — Content of the current chunk.
|
|
16
|
+
- **BytesRead** — Bytes in this chunk.
|
|
17
|
+
- **ByteOffset** — Updated byte offset for the next read.
|
|
18
|
+
- **IsComplete** — `true` when the entire file has been read.
|
|
19
|
+
- **FileName** — Base name of the file.
|
|
20
|
+
- **TotalFileSize** — Total size of the file in bytes.
|
|
21
|
+
|
|
22
|
+
## Events
|
|
23
|
+
|
|
24
|
+
- **ReadComplete** — Fires when a chunk is read successfully.
|
|
25
|
+
- **Error** — Fires on read failure.
|
|
26
|
+
|
|
27
|
+
## Tips
|
|
28
|
+
|
|
29
|
+
Wire the ByteOffset output back to the ByteOffset setting input and use an **If Conditional** on IsComplete to create a read loop. This pattern lets you process files of any size line-by-line or paragraph-by-paragraph.
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
# Read File
|
|
2
|
+
|
|
3
|
+
Reads a file from the local file system into operation state.
|
|
4
|
+
|
|
5
|
+
## Settings
|
|
6
|
+
|
|
7
|
+
- **FilePath** — Path to the file to read. Supports Pict template expressions for dynamic paths.
|
|
8
|
+
- **Encoding** — Character encoding (default `utf8`). Use `binary` for non-text files.
|
|
9
|
+
- **MaxBytes** — Maximum bytes to read. Set to `0` for unlimited.
|
|
10
|
+
|
|
11
|
+
## Outputs
|
|
12
|
+
|
|
13
|
+
- **FileContent** — The full text content of the file.
|
|
14
|
+
- **BytesRead** — Number of bytes that were read.
|
|
15
|
+
- **FileName** — The base name of the file (no directory).
|
|
16
|
+
|
|
17
|
+
## Events
|
|
18
|
+
|
|
19
|
+
- **ReadComplete** — Fires after a successful read.
|
|
20
|
+
- **Error** — Fires if the file cannot be found or read.
|
|
21
|
+
|
|
22
|
+
## Tips
|
|
23
|
+
|
|
24
|
+
For very large files, use **Read File Buffered** instead to process content in chunks. Use MaxBytes as a safety limit to avoid loading unexpectedly large files into memory.
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
# Read JSON
|
|
2
|
+
|
|
3
|
+
Reads a JSON file from disk, parses it, and stores the resulting object in operation state.
|
|
4
|
+
|
|
5
|
+
## Settings
|
|
6
|
+
|
|
7
|
+
- **FilePath** — Path to the JSON file.
|
|
8
|
+
- **Destination** — State address to store the parsed data. If empty, data is stored at the default output address.
|
|
9
|
+
|
|
10
|
+
## Outputs
|
|
11
|
+
|
|
12
|
+
- **Data** — The parsed JSON object or array.
|
|
13
|
+
|
|
14
|
+
## Events
|
|
15
|
+
|
|
16
|
+
- **Complete** — Fires after successful read and parse.
|
|
17
|
+
- **Error** — Fires if the file is missing or contains invalid JSON.
|
|
18
|
+
|
|
19
|
+
## Tips
|
|
20
|
+
|
|
21
|
+
Pair with **Write JSON** to round-trip configuration or intermediate data. Use the Destination setting to place the parsed data at a specific location in your operation state for downstream tasks.
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
# Replace String
|
|
2
|
+
|
|
3
|
+
Replaces all occurrences of a search string within the input text.
|
|
4
|
+
|
|
5
|
+
## Settings
|
|
6
|
+
|
|
7
|
+
- **InputString** — The source text to search within. Supports Pict template expressions.
|
|
8
|
+
- **SearchString** — The text or pattern to find.
|
|
9
|
+
- **ReplaceString** — The replacement text (empty string to delete matches).
|
|
10
|
+
- **UseRegex** — When `true`, treats SearchString as a regular expression.
|
|
11
|
+
- **CaseSensitive** — Case-sensitive matching (default `true`).
|
|
12
|
+
|
|
13
|
+
## Outputs
|
|
14
|
+
|
|
15
|
+
- **ReplacedString** — The result after all replacements.
|
|
16
|
+
- **ReplacementCount** — Number of replacements made.
|
|
17
|
+
|
|
18
|
+
## Events
|
|
19
|
+
|
|
20
|
+
- **ReplaceComplete** — Fires after replacement.
|
|
21
|
+
- **Error** — Fires on failure (e.g. invalid regex).
|
|
22
|
+
|
|
23
|
+
## Tips
|
|
24
|
+
|
|
25
|
+
Enable UseRegex for advanced pattern matching such as removing HTML tags, normalizing whitespace, or extracting structured tokens. Use ReplacementCount to verify that expected substitutions occurred.
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
# REST Request
|
|
2
|
+
|
|
3
|
+
Performs a fully configurable HTTP request with support for any method, custom content types, request bodies, retries, and timeout control.
|
|
4
|
+
|
|
5
|
+
## Settings
|
|
6
|
+
|
|
7
|
+
- **URL** — The URL to request.
|
|
8
|
+
- **Method** — HTTP method: `GET`, `POST`, `PUT`, `DELETE`, `PATCH`, etc. (default `GET`).
|
|
9
|
+
- **ContentType** — Content-Type header value (default `application/json`).
|
|
10
|
+
- **Headers** — JSON string of additional request headers.
|
|
11
|
+
- **Body** — Request body as a JSON string or raw text.
|
|
12
|
+
- **Destination** — State address to store the response.
|
|
13
|
+
- **Retries** — Number of retries on failure (default `0`).
|
|
14
|
+
- **TimeoutMs** — Request timeout in milliseconds (default `30000`).
|
|
15
|
+
- **RetryDelayMs** — Delay between retry attempts in milliseconds (default `1000`).
|
|
16
|
+
|
|
17
|
+
## Outputs
|
|
18
|
+
|
|
19
|
+
- **Response** — The response data.
|
|
20
|
+
- **StatusCode** — HTTP response status code.
|
|
21
|
+
- **ResponseHeaders** — JSON string of response headers.
|
|
22
|
+
|
|
23
|
+
## Events
|
|
24
|
+
|
|
25
|
+
- **Complete** — Fires on success.
|
|
26
|
+
- **Error** — Fires on failure after all retries are exhausted.
|
|
27
|
+
|
|
28
|
+
## Tips
|
|
29
|
+
|
|
30
|
+
REST Request is the most flexible HTTP card. Use it for DELETE operations, form-encoded POST bodies, XML APIs, or any case where Get JSON / Send JSON are too restrictive. The Retries setting with RetryDelayMs provides built-in resilience for flaky endpoints.
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
# Send JSON
|
|
2
|
+
|
|
3
|
+
Sends JSON data to a URL via HTTP POST or PUT.
|
|
4
|
+
|
|
5
|
+
## Settings
|
|
6
|
+
|
|
7
|
+
- **URL** — The URL to send data to.
|
|
8
|
+
- **Method** — HTTP method: `POST` or `PUT` (default `POST`).
|
|
9
|
+
- **DataAddress** — State address of the object to send as the request body.
|
|
10
|
+
- **Headers** — JSON string of additional request headers.
|
|
11
|
+
- **Destination** — State address to store the response data.
|
|
12
|
+
- **TimeoutMs** — Request timeout in milliseconds (default `30000`).
|
|
13
|
+
|
|
14
|
+
## Outputs
|
|
15
|
+
|
|
16
|
+
- **Response** — The parsed response data.
|
|
17
|
+
- **StatusCode** — HTTP response status code.
|
|
18
|
+
|
|
19
|
+
## Events
|
|
20
|
+
|
|
21
|
+
- **Complete** — Fires on success.
|
|
22
|
+
- **Error** — Fires on failure.
|
|
23
|
+
|
|
24
|
+
## Tips
|
|
25
|
+
|
|
26
|
+
Use Send JSON for creating or updating resources via REST APIs. For more control over the request (custom Content-Type, DELETE method, retries), use **REST Request** instead.
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
# Set Values
|
|
2
|
+
|
|
3
|
+
Sets one or more values in operation state at specified addresses. This is the primary card for initializing variables, copying data between state locations, and injecting literal values.
|
|
4
|
+
|
|
5
|
+
## Settings
|
|
6
|
+
|
|
7
|
+
- **Mappings** — An array of mapping objects. Each mapping has a `To` address (where to write) and either a `Value` (literal) or `From` address (copy from state).
|
|
8
|
+
|
|
9
|
+
## Events
|
|
10
|
+
|
|
11
|
+
- **Complete** — Fires after all mappings are applied.
|
|
12
|
+
- **Error** — Fires if a mapping fails.
|
|
13
|
+
|
|
14
|
+
## Tips
|
|
15
|
+
|
|
16
|
+
Use Set Values at the start of a flow to initialize default values before branching logic. Mappings are applied in order, so later entries can reference values set by earlier ones within the same card.
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
# Split Execute
|
|
2
|
+
|
|
3
|
+
Splits a string by a delimiter and processes each token through a sub-graph, acting as a loop iterator within the flow.
|
|
4
|
+
|
|
5
|
+
## Settings
|
|
6
|
+
|
|
7
|
+
- **InputString** — The string to split. Supports Pict template expressions.
|
|
8
|
+
- **SplitDelimiter** — Delimiter to split on (default newline `\n`).
|
|
9
|
+
- **SkipEmpty** — When `true`, skips empty tokens after splitting.
|
|
10
|
+
- **TrimTokens** — When `true`, trims whitespace from each token.
|
|
11
|
+
|
|
12
|
+
## Outputs
|
|
13
|
+
|
|
14
|
+
- **CurrentToken** — The current token being processed.
|
|
15
|
+
- **TokenIndex** — Zero-based index of the current token.
|
|
16
|
+
- **TokenCount** — Total number of tokens.
|
|
17
|
+
- **CompletedCount** — Number of tokens processed so far.
|
|
18
|
+
|
|
19
|
+
## Events
|
|
20
|
+
|
|
21
|
+
- **TokenDataSent** — Fires for each token, sending it through the sub-graph.
|
|
22
|
+
- **CompletedAllSubtasks** — Fires after all tokens have been processed.
|
|
23
|
+
- **Error** — Fires on failure.
|
|
24
|
+
|
|
25
|
+
## How It Works
|
|
26
|
+
|
|
27
|
+
1. The input string is split into tokens by the delimiter.
|
|
28
|
+
2. For each token, **TokenDataSent** fires with the token data in state.
|
|
29
|
+
3. Connect the downstream processing graph to TokenDataSent.
|
|
30
|
+
4. Wire the end of your processing graph back to the **StepComplete** event input to advance to the next token.
|
|
31
|
+
5. After all tokens are processed, **CompletedAllSubtasks** fires.
|
|
32
|
+
|
|
33
|
+
## Tips
|
|
34
|
+
|
|
35
|
+
Split Execute is the primary looping mechanism in Ultravisor flows. Use it with **List Files** output to process each file, or with newline-delimited text to process line-by-line.
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
# Start
|
|
2
|
+
|
|
3
|
+
Entry point for the workflow. Every operation flow begins with a Start card.
|
|
4
|
+
|
|
5
|
+
## Events
|
|
6
|
+
|
|
7
|
+
- **Out** — Fires when the operation begins execution. Connect this to the first processing card in your flow.
|
|
8
|
+
|
|
9
|
+
## Tips
|
|
10
|
+
|
|
11
|
+
Each flow should have exactly one Start card. The Start card has no settings — it simply fires its Out event when the operation is triggered. Place it at the left side of your flow diagram for a clean left-to-right layout.
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
# String Appender
|
|
2
|
+
|
|
3
|
+
Appends a string to an existing value at a specified state address. Useful for building up output incrementally across loop iterations or multiple steps.
|
|
4
|
+
|
|
5
|
+
## Settings
|
|
6
|
+
|
|
7
|
+
- **InputString** — The text to append. Supports Pict template expressions.
|
|
8
|
+
- **OutputAddress** — State address of the string to append to.
|
|
9
|
+
- **AppendNewline** — When `true`, appends a newline character after the input string.
|
|
10
|
+
- **Separator** — String inserted between the existing content and new content. Overrides AppendNewline when set.
|
|
11
|
+
|
|
12
|
+
## Outputs
|
|
13
|
+
|
|
14
|
+
- **AppendedString** — The full accumulated string after appending.
|
|
15
|
+
|
|
16
|
+
## Events
|
|
17
|
+
|
|
18
|
+
- **Completed** — Fires after the append.
|
|
19
|
+
|
|
20
|
+
## Tips
|
|
21
|
+
|
|
22
|
+
Combine with **Split Execute** to build a report line by line. Use AppendNewline for log-style output or Separator for CSV-style concatenation with a custom delimiter.
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
# Template String
|
|
2
|
+
|
|
3
|
+
Processes a Pict template string against the current operation state, resolving expressions like `{~D:Record.Name~}` into their runtime values.
|
|
4
|
+
|
|
5
|
+
## Settings
|
|
6
|
+
|
|
7
|
+
- **Template** — A Pict template string containing `{~D:...~}` expressions that reference state addresses.
|
|
8
|
+
- **Destination** — State address to store the rendered result. If empty, the result is available at the default output.
|
|
9
|
+
|
|
10
|
+
## Outputs
|
|
11
|
+
|
|
12
|
+
- **Result** — The fully rendered template output.
|
|
13
|
+
|
|
14
|
+
## Events
|
|
15
|
+
|
|
16
|
+
- **Complete** — Fires after rendering.
|
|
17
|
+
- **Error** — Fires if template parsing fails.
|
|
18
|
+
|
|
19
|
+
## Tips
|
|
20
|
+
|
|
21
|
+
Template String is the workhorse for building dynamic URLs, file paths, messages, and prompts. Any Pict template expression is supported, including conditionals and joins. Chain multiple Template String cards to build complex content from intermediate values.
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
# Value Input
|
|
2
|
+
|
|
3
|
+
Pauses flow execution and prompts the user for input. The flow resumes when the user provides a value or cancels.
|
|
4
|
+
|
|
5
|
+
## Settings
|
|
6
|
+
|
|
7
|
+
- **PromptMessage** — The message displayed to the user (default: "Please provide a value:").
|
|
8
|
+
- **OutputAddress** — State address where the user's input will be stored.
|
|
9
|
+
- **InputType** — Type of input control: `text`, `number`, `boolean`, or `select` (default `text`).
|
|
10
|
+
- **DefaultValue** — Pre-filled default value.
|
|
11
|
+
- **Options** — JSON array of allowed values when InputType is `select`.
|
|
12
|
+
|
|
13
|
+
## Outputs
|
|
14
|
+
|
|
15
|
+
- **InputValue** — The value provided by the user.
|
|
16
|
+
|
|
17
|
+
## Events
|
|
18
|
+
|
|
19
|
+
- **ValueInputComplete** — Fires when the user submits a value.
|
|
20
|
+
- **Cancelled** — Fires if the user cancels without providing input.
|
|
21
|
+
|
|
22
|
+
## Tips
|
|
23
|
+
|
|
24
|
+
Use Value Input for human-in-the-loop workflows: approval gates, manual data entry, or parameter selection at runtime. Wire the Cancelled output to an appropriate fallback path. Use `select` InputType with Options for constrained choices.
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
# Write File
|
|
2
|
+
|
|
3
|
+
Writes text content to a file on disk.
|
|
4
|
+
|
|
5
|
+
## Settings
|
|
6
|
+
|
|
7
|
+
- **FilePath** — Path to the output file. Intermediate directories are created automatically.
|
|
8
|
+
- **Content** — The text content to write. Supports Pict template expressions.
|
|
9
|
+
- **Encoding** — Character encoding (default `utf8`).
|
|
10
|
+
- **Append** — When `true`, appends to an existing file instead of overwriting it.
|
|
11
|
+
- **LineEnding** — Force a line ending style: `lf`, `crlf`, or leave empty for no conversion.
|
|
12
|
+
|
|
13
|
+
## Outputs
|
|
14
|
+
|
|
15
|
+
- **FileLocation** — The path as specified (may be relative).
|
|
16
|
+
- **FileName** — The base file name only.
|
|
17
|
+
- **FilePath** — The fully resolved absolute path.
|
|
18
|
+
- **BytesWritten** — Number of bytes written.
|
|
19
|
+
|
|
20
|
+
## Events
|
|
21
|
+
|
|
22
|
+
- **WriteComplete** — Fires on success.
|
|
23
|
+
- **Error** — Fires on write failure.
|
|
24
|
+
|
|
25
|
+
## Tips
|
|
26
|
+
|
|
27
|
+
Use Append mode with a **String Appender** to build log files or accumulate output across loop iterations.
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
# Write JSON
|
|
2
|
+
|
|
3
|
+
Serializes a state object to JSON and writes it to a file on disk.
|
|
4
|
+
|
|
5
|
+
## Settings
|
|
6
|
+
|
|
7
|
+
- **FilePath** — Path to the output JSON file.
|
|
8
|
+
- **DataAddress** — State address of the data to serialize. If empty, uses the full operation state.
|
|
9
|
+
- **PrettyFormat** — Pretty-print with indentation (default `true`).
|
|
10
|
+
- **IndentType** — Indent character: `tab` or `space` (default `tab`).
|
|
11
|
+
- **IndentCount** — Number of indent characters per level (default `1`).
|
|
12
|
+
- **SortKeys** — Alphabetically sort object keys for deterministic output.
|
|
13
|
+
|
|
14
|
+
## Outputs
|
|
15
|
+
|
|
16
|
+
- **FileLocation** — The path as specified.
|
|
17
|
+
- **FileName** — The base file name only.
|
|
18
|
+
- **FilePath** — The fully resolved absolute path.
|
|
19
|
+
- **BytesWritten** — Number of bytes written.
|
|
20
|
+
|
|
21
|
+
## Events
|
|
22
|
+
|
|
23
|
+
- **Done** — Fires on success.
|
|
24
|
+
- **Error** — Fires on write failure.
|
|
25
|
+
|
|
26
|
+
## Tips
|
|
27
|
+
|
|
28
|
+
Enable SortKeys for config files that will be compared across versions or stored in version control.
|
|
@@ -10,9 +10,14 @@
|
|
|
10
10
|
|
|
11
11
|
<!-- Application Stylesheet -->
|
|
12
12
|
<link href="css/ultravisor.css" rel="stylesheet">
|
|
13
|
+
<!-- Theme Definitions (CSS Custom Properties) -->
|
|
14
|
+
<link href="css/ultravisor-themes.css" rel="stylesheet">
|
|
13
15
|
<!-- PICT Dynamic View CSS Container -->
|
|
14
16
|
<style id="PICT-CSS"></style>
|
|
15
17
|
|
|
18
|
+
<!-- Apply saved theme before first paint to prevent flash -->
|
|
19
|
+
<script>(function(){var t=localStorage.getItem('ultravisor-theme');if(t&&t!=='desert-dusk')document.body.dataset.theme=t;})();</script>
|
|
20
|
+
|
|
16
21
|
<!-- Load the PICT library -->
|
|
17
22
|
<script src="./js/pict.min.js" type="text/javascript"></script>
|
|
18
23
|
<!-- Bootstrap the Application -->
|
|
@@ -5,6 +5,7 @@
|
|
|
5
5
|
"main": "source/Pict-Application-Ultravisor.js",
|
|
6
6
|
"scripts": {
|
|
7
7
|
"start": "node source/Pict-Application-Ultravisor.js",
|
|
8
|
+
"prebuild": "node ./node_modules/pict-section-flow/scripts/generate-card-help.js ./docs/card-help ./source/card-help-content.js",
|
|
8
9
|
"build": "npx quack build && npx quack copy"
|
|
9
10
|
},
|
|
10
11
|
"author": "steven velozo <steven@velozo.com>",
|
|
@@ -12,12 +13,16 @@
|
|
|
12
13
|
"dependencies": {
|
|
13
14
|
"pict": "^1.0.343",
|
|
14
15
|
"pict-application": "^1.0.28",
|
|
15
|
-
"pict-
|
|
16
|
-
"pict-
|
|
17
|
-
"pict-
|
|
16
|
+
"pict-docuserve": "^0.0.32",
|
|
17
|
+
"pict-provider": "^1.0.3",
|
|
18
|
+
"pict-router": "^1.0.7",
|
|
19
|
+
"pict-section-content": "^0.0.6",
|
|
20
|
+
"pict-section-flow": "file:../../../pict/pict-section-flow",
|
|
21
|
+
"pict-section-form": "^1.0.194",
|
|
22
|
+
"pict-view": "^1.0.64"
|
|
18
23
|
},
|
|
19
24
|
"devDependencies": {
|
|
20
|
-
"quackage": "^1.0.
|
|
25
|
+
"quackage": "^1.0.59"
|
|
21
26
|
},
|
|
22
27
|
"copyFilesSettings": {
|
|
23
28
|
"whenFileExists": "overwrite"
|
|
@@ -34,6 +39,10 @@
|
|
|
34
39
|
{
|
|
35
40
|
"from": "./node_modules/pict/dist/*",
|
|
36
41
|
"to": "./dist/js/"
|
|
42
|
+
},
|
|
43
|
+
{
|
|
44
|
+
"from": "../docs/**",
|
|
45
|
+
"to": "./dist/docs/"
|
|
37
46
|
}
|
|
38
47
|
]
|
|
39
48
|
}
|