Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add user defined YAML tools #19434

Draft
wants to merge 68 commits into
base: dev
Choose a base branch
from
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
68 commits
Select commit Hold shift + click to select a range
d0245d4
Add an experimental non-cheetah way of building command lines
mvdbeek Dec 3, 2024
b704c24
Create UserToolSource pydantic model
mvdbeek Dec 4, 2024
ea7f02d
Minor fix to restore admin-style dynamic tools
mvdbeek Dec 5, 2024
1ca7d7c
Add user_tool role types
mvdbeek Dec 6, 2024
f7c0014
Add unprivileged_tools endpoint and models
mvdbeek Dec 6, 2024
8efe69f
Add separate unprivileged tools endpoint
mvdbeek Dec 9, 2024
f197bb0
Test tool run
mvdbeek Dec 11, 2024
c2b72e0
Bypass global toolbox for unprivileged tools
mvdbeek Dec 11, 2024
9f8ed6d
Refactor InvocationScrollList to generic ScrollList + Invocation spec…
mvdbeek Dec 12, 2024
956e73f
Return unprivileged tool api return types
mvdbeek Dec 12, 2024
b3a98d7
Enable access to dynamic tools via toolbox.get_tool
mvdbeek Dec 13, 2024
d1e7bb8
YamlToolSource parser fixes
mvdbeek Dec 13, 2024
d80a964
Into add unprivileged tools endpoints
mvdbeek Dec 13, 2024
d58e536
Into test tool run
mvdbeek Dec 13, 2024
a7666dc
Into add separate unprivileged tools endpoint
mvdbeek Dec 13, 2024
c5b99bc
Into bypass global toolbox
mvdbeek Dec 13, 2024
f115072
Add UserToolPanel
mvdbeek Dec 13, 2024
47eae61
Pass tool uuid along tool form and workflow editor
mvdbeek Dec 13, 2024
52a8725
24.1: Fix invocation fetching in job information component
mvdbeek Dec 13, 2024
f8d5724
Add monaco-based tool editor with json schema support
mvdbeek Dec 13, 2024
3ed0b5f
Rebuild schemas
mvdbeek Dec 13, 2024
1d0977c
Create working dir output outside of tool evaluator
mvdbeek Dec 21, 2024
2d9983e
Fetch dynamic tool for job
mvdbeek Dec 21, 2024
51d4e8e
Provide intellisense for inline javascript
mvdbeek Dec 30, 2024
0f40900
Parse rest of document as yaml
mvdbeek Dec 30, 2024
9cf289c
Enable unprivileged tool preview endpoint
mvdbeek Dec 31, 2024
782caae
Enable single container key
mvdbeek Dec 31, 2024
05c222b
Mix yaml and js intellisense functions
mvdbeek Dec 31, 2024
c57225b
Convert yaml-with-js to typescript
mvdbeek Jan 1, 2025
a3c376d
Lock environment down to es5
mvdbeek Jan 1, 2025
101676e
Add runtime model to API
mvdbeek Jan 4, 2025
de27de2
Fix DataCollectionParameterModel factory
mvdbeek Jan 4, 2025
2c55379
Into separate runtime model
mvdbeek Jan 5, 2025
1c4964b
Use runtime model to guide expression authoring
mvdbeek Jan 5, 2025
55d3f20
Fix synchronization between tool inputs and js diagnostics provider
mvdbeek Jan 5, 2025
f756bcb
Use native type discriminator for UserToolSource model
mvdbeek Jan 7, 2025
95b2eb4
Fix conditional param parsing for yaml tools
mvdbeek Jan 7, 2025
5e945db
Exclude defaults from unprivileged tool api response
mvdbeek Jan 7, 2025
900ef7c
Rebuild tool source schema
mvdbeek Jan 7, 2025
af1fc70
Dropme: tool schema model builder
mvdbeek Jan 7, 2025
a0659b2
Fix model sync for completion suggestion
mvdbeek Jan 7, 2025
07b445c
Rebuild client schema
mvdbeek Jan 7, 2025
491fe57
Install schema-to-ts from my package
mvdbeek Jan 7, 2025
2b13f88
Correctly dispose of resource when unmounting editor
mvdbeek Jan 12, 2025
8734138
Add Syntax highlighting for JS embedded in $()
mvdbeek Jan 12, 2025
5909e9d
Move monarch language config to separate file
mvdbeek Jan 13, 2025
7240e75
Rename expressionLib code extraction function
mvdbeek Jan 13, 2025
c3d9ac7
Add function that extracts embedded JS fragments
mvdbeek Jan 13, 2025
c8cf0e6
Skip ahead to relevant key
mvdbeek Jan 14, 2025
a13ea04
Refactor fragment model creation
mvdbeek Jan 15, 2025
7e5acde
Implement provideHover for embedded js fragments
mvdbeek Jan 15, 2025
c495860
Drop now unused translateYamlPositionToEmbedded
mvdbeek Jan 15, 2025
12266d9
Implement diagnostics for js fragments
mvdbeek Jan 15, 2025
6265aab
Drop log
mvdbeek Jan 15, 2025
890a1fd
Consume @eos token
mvdbeek Jan 15, 2025
7fc1553
Include $() in bracket definition
mvdbeek Jan 15, 2025
a45ebb0
Tweak editor performance by not adding es5 type defs on each change
mvdbeek Jan 15, 2025
d4a0a21
Fix dispose call
mvdbeek Jan 15, 2025
f893c87
Fix model management
mvdbeek Jan 16, 2025
a2407d2
log
mvdbeek Jan 18, 2025
e54e266
Add an explicit end sequence for embedded fragments
mvdbeek Jan 20, 2025
1fe8c28
Pop out of jsEmbedded on end of line
mvdbeek Jan 20, 2025
4782f4e
Document limitations of syntax highlighting on embedded fragments
mvdbeek Jan 20, 2025
6a98fe8
Enable (Javascript) requirements on frontend/backend
mvdbeek Jan 20, 2025
b3833e3
Rebuild schemas
mvdbeek Jan 20, 2025
ca05783
Fix token colorization for shell_command / expression_lib
mvdbeek Jan 21, 2025
d42783b
Separate tool name and description vertically
mvdbeek Jan 21, 2025
ec05106
Fix job parameter summary for inputs without label
mvdbeek Jan 21, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
8 changes: 7 additions & 1 deletion client/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -36,6 +36,7 @@
"@fortawesome/free-regular-svg-icons": "^5.15.4",
"@fortawesome/free-solid-svg-icons": "^5.15.4",
"@fortawesome/vue-fontawesome": "^2.0.9",
"@guolao/vue-monaco-editor": "^1.5.4",
"@handsontable/vue": "^2.0.0",
"@hirez_io/observer-spy": "^2.1.2",
"@johmun/vue-tags-input": "^2.1.0",
Expand Down Expand Up @@ -82,6 +83,9 @@
"lucide-vue": "^0.344.0",
"markdown-it": "^13.0.2",
"markdown-it-regexp": "^0.4.0",
"monaco-editor": "^0.52.2",
"monaco-editor-webpack-plugin": "^7.1.0",
"monaco-yaml": "^5.2.3",
"object-hash": "^3.0.0",
"openapi-fetch": "^0.10.6",
"pinia": "^2.1.7",
Expand All @@ -94,6 +98,7 @@
"rxjs": "^7.8.1",
"rxjs-spy": "^8.0.2",
"rxjs-spy-devtools-plugin": "^0.0.4",
"schema-to-ts": "^0.0.2",
"simplify-js": "^1.2.4",
"slugify": "^1.6.6",
"stream-browserify": "^3.0.0",
Expand All @@ -117,7 +122,8 @@
"vue2-teleport": "^1.0.1",
"vuedraggable": "^2.24.3",
"winbox": "^0.2.82",
"xml-beautifier": "^0.5.0"
"xml-beautifier": "^0.5.0",
"yaml": "^2.6.1"
},
"scripts": {
"develop": "NODE_ENV=development gulp && webpack-dev-server",
Expand Down
3 changes: 3 additions & 0 deletions client/src/api/index.ts
Original file line number Diff line number Diff line change
Expand Up @@ -313,3 +313,6 @@ export type ExportObjectRequestMetadata = components["schemas"]["ExportObjectReq
export type ExportObjectResultMetadata = components["schemas"]["ExportObjectResultMetadata"];

export type AsyncTaskResultSummary = components["schemas"]["AsyncTaskResultSummary"];
export type UnprivilegedToolResponse = components["schemas"]["UnprivilegedToolResponse"];
export type UserToolSource = components["schemas"]["UserToolSource-Input"];
export type DynamicUnprivilegedToolCreatePayload = components["schemas"]["DynamicUnprivilegedToolCreatePayload"];
Loading
Loading