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 67 commits into
base: dev
Choose a base branch
from
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
67 commits
Select commit Hold shift + click to select a range
cf4eff9
Add an experimental non-cheetah way of building command lines
mvdbeek Dec 3, 2024
b075616
Create UserToolSource pydantic model
mvdbeek Dec 4, 2024
702fc94
Minor fix to restore admin-style dynamic tools
mvdbeek Dec 5, 2024
293e329
Add user_tool role types
mvdbeek Dec 6, 2024
aa5da13
Add unprivileged_tools endpoint and models
mvdbeek Dec 6, 2024
1bf1821
Add separate unprivileged tools endpoint
mvdbeek Dec 9, 2024
fde110b
Test tool run
mvdbeek Dec 11, 2024
7de50eb
Bypass global toolbox for unprivileged tools
mvdbeek Dec 11, 2024
3c7dd0d
Refactor InvocationScrollList to generic ScrollList + Invocation spec…
mvdbeek Dec 12, 2024
9a8ae3c
Return unprivileged tool api return types
mvdbeek Dec 12, 2024
d5f1348
Enable access to dynamic tools via toolbox.get_tool
mvdbeek Dec 13, 2024
75598a0
YamlToolSource parser fixes
mvdbeek Dec 13, 2024
30434ef
Into add unprivileged tools endpoints
mvdbeek Dec 13, 2024
70c6947
Into test tool run
mvdbeek Dec 13, 2024
88b4244
Into add separate unprivileged tools endpoint
mvdbeek Dec 13, 2024
1cf0b31
Add UserToolPanel
mvdbeek Dec 13, 2024
b77c430
Pass tool uuid along tool form and workflow editor
mvdbeek Dec 13, 2024
5f7daa5
Add monaco-based tool editor with json schema support
mvdbeek Dec 13, 2024
847cad4
Rebuild schemas
mvdbeek Dec 13, 2024
77ab306
Create working dir output outside of tool evaluator
mvdbeek Dec 21, 2024
30ff937
Fetch dynamic tool for job
mvdbeek Dec 21, 2024
4926b30
Provide intellisense for inline javascript
mvdbeek Dec 30, 2024
65849b7
Parse rest of document as yaml
mvdbeek Dec 30, 2024
9ad696b
Enable unprivileged tool preview endpoint
mvdbeek Dec 31, 2024
11a6781
Enable single container key
mvdbeek Dec 31, 2024
700310b
Mix yaml and js intellisense functions
mvdbeek Dec 31, 2024
4eab891
Convert yaml-with-js to typescript
mvdbeek Jan 1, 2025
3dde0e3
Lock environment down to es5
mvdbeek Jan 1, 2025
487ab59
Add runtime model to API
mvdbeek Jan 4, 2025
dca2fee
Fix DataCollectionParameterModel factory
mvdbeek Jan 4, 2025
de68597
Into separate runtime model
mvdbeek Jan 5, 2025
c99063d
Use runtime model to guide expression authoring
mvdbeek Jan 5, 2025
16da9bc
Fix synchronization between tool inputs and js diagnostics provider
mvdbeek Jan 5, 2025
6e0ce28
Use native type discriminator for UserToolSource model
mvdbeek Jan 7, 2025
17a29d1
Fix conditional param parsing for yaml tools
mvdbeek Jan 7, 2025
dcd3681
Exclude defaults from unprivileged tool api response
mvdbeek Jan 7, 2025
5315e15
Rebuild tool source schema
mvdbeek Jan 7, 2025
8104670
Dropme: tool schema model builder
mvdbeek Jan 7, 2025
01c098b
Fix model sync for completion suggestion
mvdbeek Jan 7, 2025
a0bf4f6
Rebuild client schema
mvdbeek Jan 7, 2025
5c52eb0
Install schema-to-ts from my package
mvdbeek Jan 7, 2025
ab1afad
Correctly dispose of resource when unmounting editor
mvdbeek Jan 12, 2025
ca2fa01
Add Syntax highlighting for JS embedded in $()
mvdbeek Jan 12, 2025
04f9d8c
Move monarch language config to separate file
mvdbeek Jan 13, 2025
8149428
Rename expressionLib code extraction function
mvdbeek Jan 13, 2025
71e226c
Add function that extracts embedded JS fragments
mvdbeek Jan 13, 2025
d48b98c
Skip ahead to relevant key
mvdbeek Jan 14, 2025
591316d
Refactor fragment model creation
mvdbeek Jan 15, 2025
16f73ad
Implement provideHover for embedded js fragments
mvdbeek Jan 15, 2025
88a07e0
Drop now unused translateYamlPositionToEmbedded
mvdbeek Jan 15, 2025
e87bc3d
Implement diagnostics for js fragments
mvdbeek Jan 15, 2025
3094c6a
Drop log
mvdbeek Jan 15, 2025
0f2cd6b
Consume @eos token
mvdbeek Jan 15, 2025
47e2135
Include $() in bracket definition
mvdbeek Jan 15, 2025
d2583a3
Tweak editor performance by not adding es5 type defs on each change
mvdbeek Jan 15, 2025
04a8b1b
Fix dispose call
mvdbeek Jan 15, 2025
78cbe26
Fix model management
mvdbeek Jan 16, 2025
ac60e5a
log
mvdbeek Jan 18, 2025
1af6321
Add an explicit end sequence for embedded fragments
mvdbeek Jan 20, 2025
08af479
Pop out of jsEmbedded on end of line
mvdbeek Jan 20, 2025
9c8b8fe
Document limitations of syntax highlighting on embedded fragments
mvdbeek Jan 20, 2025
cf34595
Enable (Javascript) requirements on frontend/backend
mvdbeek Jan 20, 2025
39285c2
Rebuild schemas
mvdbeek Jan 20, 2025
d0ca903
Fix token colorization for shell_command / expression_lib
mvdbeek Jan 21, 2025
7d53fba
Separate tool name and description vertically
mvdbeek Jan 21, 2025
a0c1e15
Add a few annotations to test out schema info rendering
mvdbeek Jan 21, 2025
2004ab7
fix rebase
mvdbeek Jan 31, 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