diff --git a/docker-compose.yml b/docker-compose.yml index 1a0787b..80413c3 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -23,7 +23,7 @@ services: POSTGRES_PASSWORD: changeme POSTGRES_DB: windmill healthcheck: - test: ["CMD-SHELL", "pg_isready -U postgres"] + test: [ "CMD-SHELL", "pg_isready -U postgres" ] interval: 10s timeout: 5s retries: 5 @@ -46,7 +46,7 @@ services: condition: service_healthy volumes: - worker_logs:/tmp/windmill/logs - + - /home/akira/develop/windmill:/workspace logging: *default-logging windmill_worker: @@ -180,16 +180,16 @@ services: pull_policy: always restart: unless-stopped expose: - - 3001 # LSP - - 3002 # Multiplayer - - 3003 # Debugger + - 3001 # LSP + - 3002 # Multiplayer + - 3003 # Debugger environment: - ENABLE_LSP=true - - ENABLE_MULTIPLAYER=false # Set to true to enable multiplayer (Enterprise Edition) - - ENABLE_DEBUGGER=true # Set to true to enable debugger - - DEBUGGER_PORT=3003 # Debugger service port - - ENABLE_NSJAIL=false # Set to true for nsjail sandboxing (requires privileged: true) - - REQUIRE_SIGNED_DEBUG_REQUESTS=false # Set to true to require JWT tokens for debug sessions + - ENABLE_MULTIPLAYER=false # Set to true to enable multiplayer (Enterprise Edition) + - ENABLE_DEBUGGER=true # Set to true to enable debugger + - DEBUGGER_PORT=3003 # Debugger service port + - ENABLE_NSJAIL=false # Set to true for nsjail sandboxing (requires privileged: true) + - REQUIRE_SIGNED_DEBUG_REQUESTS=false # Set to true to require JWT tokens for debug sessions - WINDMILL_BASE_URL=http://windmill_server:8000 volumes: - lsp_cache:/pyls/.cache diff --git a/f/app_custom/folder.meta.yaml b/f/app_custom/folder.meta.yaml new file mode 100644 index 0000000..573f64a --- /dev/null +++ b/f/app_custom/folder.meta.yaml @@ -0,0 +1,5 @@ +summary: null +display_name: App Custom Components +extra_perms: + g/all: false +owners: [] diff --git a/f/app_groups/folder.meta.yaml b/f/app_groups/folder.meta.yaml new file mode 100644 index 0000000..d224ebe --- /dev/null +++ b/f/app_groups/folder.meta.yaml @@ -0,0 +1,5 @@ +summary: null +display_name: App Groups +extra_perms: + g/all: false +owners: [] diff --git a/f/app_themes/folder.meta.yaml b/f/app_themes/folder.meta.yaml new file mode 100644 index 0000000..7c672ae --- /dev/null +++ b/f/app_themes/folder.meta.yaml @@ -0,0 +1,5 @@ +summary: null +display_name: App Themes +extra_perms: + g/all: false +owners: [] diff --git a/g/all/setup_app.app/app.yaml b/g/all/setup_app.app/app.yaml new file mode 100644 index 0000000..731070d --- /dev/null +++ b/g/all/setup_app.app/app.yaml @@ -0,0 +1,829 @@ +summary: New User Setup App +value: + css: + buttoncomponent: + button: + class: '' + style: '' + container: + class: '' + style: '' + containercomponent: + container: + class: '' + style: '' + htmlcomponent: + container: + class: '' + style: '' + imagecomponent: + image: + class: '' + style: '' + schemaformcomponent: + description: + class: '' + style: '' + container: + class: '' + style: '' + label: + class: '' + style: '' + textcomponent: + container: + class: '' + style: '' + text: + class: '' + style: '' + textinputcomponent: + input: + class: '' + style: '' + fullscreen: false + grid: + - '12': + fixed: false + h: 2 + w: 11 + x: 0 + 'y': 1 + '3': + fixed: false + h: 2 + w: 3 + x: 0 + 'y': 0 + id: a + data: + id: a + type: textcomponent + componentInput: + type: templatev2 + value: 'Hello ${ctx.username}' + connections: [] + eval: Setup your Windmill Instance + fieldType: template + configuration: + copyButton: + type: static + value: false + style: + type: static + value: Body + tooltip: + type: static + value: '' + customCss: + container: + class: '' + style: '' + text: + class: text-3xl font-semibold + style: '' + horizontalAlignment: left + verticalAlignment: center + - '12': + fixed: false + h: 2 + w: 1 + x: 11 + 'y': 1 + '3': + fixed: false + h: 3 + w: 3 + x: 0 + 'y': 2 + id: b + data: + id: b + type: imagecomponent + configuration: + altText: + type: static + value: '' + imageFit: + type: static + value: contain + source: + type: static + value: /logo.svg + sourceKind: + type: static + value: url + customCss: + image: + class: '' + style: '' + - '12': + fixed: false + h: 12 + w: 6 + x: 0 + 'y': 6 + '3': + fixed: false + h: 11 + w: 3 + x: 0 + 'y': 6 + id: d + data: + id: d + type: containercomponent + configuration: {} + customCss: + container: + class: shadow-lg rounded-lg border p-2 mr-2 + style: '' + numberOfSubgrids: 1 + - '12': + fixed: false + h: 12 + w: 6 + x: 6 + 'y': 6 + '3': + fixed: false + h: 9 + w: 3 + x: 0 + 'y': 17 + id: f + data: + id: f + type: containercomponent + configuration: {} + customCss: + container: + class: shadow-lg rounded-lg border p-2 ml-2 + style: '' + numberOfSubgrids: 1 + - '12': + fixed: false + h: 2 + w: 9 + x: 3 + 'y': 19 + '3': + fixed: false + h: 2 + w: 3 + x: 0 + 'y': 26 + id: i + data: + id: i + type: buttoncomponent + componentInput: + type: runnable + autoRefresh: false + fields: + enable_hub_sync: + type: evalv2 + value: null + connections: + - id: result + componentId: h + expr: h.result + fieldType: boolean + newEmail: + type: evalv2 + value: null + connections: + - id: values + componentId: c + expr: c.values.new_email + fieldType: string + newPassword: + type: evalv2 + value: null + connections: + - id: values + componentId: c + expr: c.values.password + fieldType: string + oldEmail: + type: evalv2 + value: null + connections: + - id: email + componentId: ctx + expr: ctx.email + fieldType: string + sync_now: + type: evalv2 + value: null + connections: + - id: result + componentId: k + expr: k.result + fieldType: boolean + fieldType: any + recomputeOnInputChanged: false + runnable: + name: Change Account + inlineScript: + content: '!inline change_account.inline_script.deno.ts' + lock: '!inline change_account.inline_script.lock' + language: deno + path: g/all/setup_app/Change_Account + schema: + $schema: 'https://json-schema.org/draft/2020-12/schema' + type: object + properties: + enable_hub_sync: + type: boolean + description: '' + default: null + newEmail: + type: string + description: '' + default: null + newPassword: + type: string + description: '' + default: null + oldEmail: + type: string + description: '' + default: null + sync_now: + type: boolean + description: '' + default: null + required: + - oldEmail + - newEmail + - newPassword + - enable_hub_sync + - sync_now + configuration: + afterIcon: + type: static + value: Zap + beforeIcon: + type: static + value: '' + color: + type: static + value: dark + disabled: + type: evalv2 + value: false + connections: + - id: values + componentId: c + - id: valid + componentId: c + expr: >- + c?.values?.new_email === '' || c?.values?.password === ''||c.valid + === false + fillContainer: + type: static + value: false + label: + type: static + value: Set admin account and hub sync + onError: + type: oneOf + configuration: + close: + id: + type: static + value: '' + errorOverlay: {} + gotoUrl: + newTab: + type: static + value: true + url: + type: static + value: '' + open: + id: + type: static + value: '' + sendErrorToast: + appendError: + type: static + value: true + message: + type: static + value: '' + setTab: + setTab: + type: static + value: + - id: p + index: 0 + selected: setTab + onSuccess: + type: oneOf + configuration: + clearFiles: + id: + type: static + value: '' + close: + id: + type: static + value: '' + closeModal: + modalId: + type: static + value: '' + gotoUrl: + newTab: + type: static + value: false + url: + type: evalv2 + value: '' + connections: + - id: result + componentId: bg_1 + expr: bg_1.result + none: {} + open: + id: + type: static + value: '' + openModal: + modalId: + type: static + value: '' + sendToast: + message: + type: static + value: '' + setTab: + setTab: + type: static + value: + - id: p + index: 1 + selected: gotoUrl + size: + type: static + value: lg + triggerOnAppLoad: + type: static + value: false + customCss: + button: + class: '' + style: '' + container: + class: '' + style: '' + horizontalAlignment: right + recomputeIds: [] + verticalAlignment: center + - '12': + fixed: false + h: 7 + w: 12 + x: 0 + 'y': 21 + '3': + fixed: false + h: 8 + w: 3 + x: 0 + 'y': 28 + id: p + data: + id: p + type: conditionalwrapper + conditions: + - type: evalv2 + connections: + - id: result + componentId: i + expr: i?.result.error + fieldType: boolean + - type: evalv2 + connections: [] + expr: 'true' + fieldType: boolean + configuration: {} + customCss: + container: + class: '' + style: '' + numberOfSubgrids: 2 + hiddenInlineScripts: + - type: runnableByName + name: Background Runnable 0 + fields: {} + hidden: true + - name: Compute URL + autoRefresh: true + fields: {} + inlineScript: + content: '!inline compute_url.inline_script.frontend.js' + language: frontend + path: u/faton/captivating_app/Compute_URL + refreshOn: + - id: c + key: values + suggestedRefreshOn: [] + recomputeIds: [] + recomputeOnInputChanged: true + norefreshbar: true + subgrids: + d-0: + - '12': + fixed: false + h: 1 + w: 12 + x: 0 + 'y': 0 + '3': + fixed: false + h: 1 + w: 3 + x: 0 + 'y': 0 + id: e + data: + id: e + type: textcomponent + componentInput: + type: templatev2 + value: 'Hello ${ctx.username}' + connections: [] + eval: Setup a secure account + fieldType: template + configuration: + copyButton: + type: static + value: false + style: + type: static + value: Body + tooltip: + type: static + value: '' + customCss: + container: + class: '' + style: '' + text: + class: text-xl font-semibold px-2 + style: '' + horizontalAlignment: left + verticalAlignment: center + - '12': + fixed: false + h: 5 + w: 12 + x: 0 + 'y': 2 + '3': + fixed: false + h: 5 + w: 3 + x: 0 + 'y': 2 + id: c + data: + id: c + type: schemaformcomponent + componentInput: + type: static + value: + order: + - new_email + - password + properties: + new_email: + type: string + description: '' + default: '' + format: email + pattern: '^[\w-.]+@([\w-]+\.)+[\w-]{2,4}$' + password: + type: string + description: '' + customErrorMessage: Must have at least 2 chars + default: '' + password: true + pattern: ^..+$ + required: [] + fieldType: schema + configuration: + defaultValues: + type: static + value: {} + displayType: + type: static + value: false + dynamicEnums: + type: static + value: {} + largeGap: + type: static + value: false + customCss: + description: + class: '' + style: '' + container: + class: '' + style: '' + label: + class: '' + style: '' + - '12': + fixed: false + h: 1 + w: 12 + x: 0 + 'y': 10 + '3': + fixed: false + h: 1 + w: 3 + x: 0 + 'y': 9 + id: l + data: + id: l + type: textcomponent + componentInput: + type: templatev2 + value: 'Hello ${ctx.username}' + connections: + - id: email + componentId: ctx + eval: 'Current email: ${ctx.email}' + fieldType: template + configuration: + copyButton: + type: static + value: false + style: + type: static + value: Caption + tooltip: + type: static + value: '' + customCss: + container: + class: '' + style: '' + text: + class: px-2 + style: '' + horizontalAlignment: left + verticalAlignment: top + f-0: + - '12': + fixed: false + h: 1 + w: 12 + x: 0 + 'y': 0 + '3': + fixed: false + h: 1 + w: 3 + x: 0 + 'y': 0 + id: g + data: + id: g + type: textcomponent + componentInput: + type: templatev2 + value: 'Hello ${ctx.username}' + connections: [] + eval: Hub Sync + fieldType: template + configuration: + copyButton: + type: static + value: false + style: + type: static + value: Body + tooltip: + type: static + value: '' + customCss: + container: + class: '' + style: '' + text: + class: text-xl font-semibold px-2 + style: '' + horizontalAlignment: left + verticalAlignment: center + - '12': + fixed: false + h: 6 + w: 12 + x: 0 + 'y': 2 + '3': + fixed: false + h: 3 + w: 3 + x: 0 + 'y': 2 + id: m + data: + id: m + type: containercomponent + configuration: {} + customCss: + container: + class: '' + style: '' + numberOfSubgrids: 1 + - '12': + fixed: false + h: 1 + w: 12 + x: 0 + 'y': 10 + '3': + fixed: false + h: 2 + w: 3 + x: 0 + 'y': 6 + id: 'n' + data: + id: 'n' + type: textcomponent + componentInput: + type: templatev2 + value: 'Hello ${ctx.username}' + connections: [] + eval: The schedule synchronizes resource types from the Hub every day. + fieldType: template + configuration: + copyButton: + type: static + value: false + style: + type: static + value: Caption + tooltip: + type: static + value: '' + customCss: + container: + class: '' + style: '' + text: + class: px-2 xs + style: '' + horizontalAlignment: left + verticalAlignment: top + m-0: + - '12': + fixed: false + h: 2 + w: 12 + x: 0 + 'y': 0 + '3': + fixed: false + h: 1 + w: 3 + x: 0 + 'y': 0 + id: k + data: + id: k + type: checkboxcomponent + configuration: + defaultValue: + type: static + value: true + disabled: + type: static + value: false + label: + type: static + value: Sync resource types now + customCss: + container: + class: '' + style: '' + text: + class: '' + style: '' + horizontalAlignment: left + recomputeIds: [] + verticalAlignment: center + - '12': + fixed: false + h: 2 + w: 12 + x: 0 + 'y': 2 + '3': + fixed: false + h: 1 + w: 3 + x: 0 + 'y': 1 + id: h + data: + id: h + type: checkboxcomponent + configuration: + defaultValue: + type: static + value: true + disabled: + type: static + value: false + label: + type: static + value: Sync resource types every day + customCss: + container: + class: '' + style: '' + text: + class: '' + style: '' + horizontalAlignment: left + recomputeIds: [] + verticalAlignment: center + p-0: + - '12': + fixed: false + h: 3 + w: 12 + x: 0 + 'y': 0 + '3': + fixed: false + h: 1 + w: 2 + x: 0 + 'y': 0 + id: j + data: + id: j + type: alertcomponent + configuration: + type: + type: static + value: error + description: + type: evalv2 + value: Description + connections: + - id: result + componentId: i + expr: i?.result?.error?.message + collapsible: + type: static + value: false + initiallyCollapsed: + type: static + value: false + notRounded: + type: static + value: false + size: + type: static + value: sm + title: + type: static + value: 'There were an error with your setup:' + tooltip: + type: static + value: '' + customCss: + description: + class: '' + style: '' + background: + class: '' + style: '' + container: + class: '' + style: '' + icon: + class: '' + style: '' + title: + class: '' + style: '' + verticalAlignment: center + p-1: [] + theme: + type: path + path: f/app_themes/theme_0 + unusedInlineScripts: [] diff --git a/g/all/setup_app.app/change_account.inline_script.deno.ts b/g/all/setup_app.app/change_account.inline_script.deno.ts new file mode 100644 index 0000000..136b611 --- /dev/null +++ b/g/all/setup_app.app/change_account.inline_script.deno.ts @@ -0,0 +1,72 @@ +import * as wmill from "https://deno.land/x/windmill@v1.99.0/mod.ts"; + +export async function main( + oldEmail: string, + newEmail: string, + newPassword: string, + enable_hub_sync: boolean, + sync_now: boolean, +) { + try { + await wmill.UserService.createUserGlobally({ + requestBody: { + email: newEmail, + password: newPassword, + super_admin: true, + }, + }); + } catch (e) { + throw Error("User already exists: " + e.body); + } + + let new_token; + + try { + new_token = await wmill.UserService.login({ + requestBody: { + email: newEmail, + password: newPassword, + }, + }); + } catch (e) { + throw Error("Login failed: " + e.body); + } + + wmill.setClient(new_token, Deno.env.get("BASE_INTERNAL_URL")!); + + if (sync_now) { + try { + await wmill.JobService.runScriptByPath({ + workspace: "admins", + path: "u/admin/hub_sync", + requestBody: {}, + }); + } catch (e) { + throw Error("Hub sync failed:" + e.body); + } + } + + if (enable_hub_sync) { + try { + await wmill.ScheduleService.createSchedule({ + workspace: "admins", + requestBody: { + path: "g/all/hub_sync", + schedule: "0 0 0 * * *", + script_path: "u/admin/hub_sync", + is_flow: false, + args: {}, + enabled: true, + timezone: "Etc/UTC", + }, + }); + } catch (e) { + throw Error("Error creating schedule: " + e.body); + } + } + try { + await wmill.UserService.globalUserDelete({ email: oldEmail }); + } catch (e) { + throw Error("Deleting old account failed: " + e.body); + } +} diff --git a/g/all/setup_app.app/change_account.inline_script.lock b/g/all/setup_app.app/change_account.inline_script.lock new file mode 100644 index 0000000..5d6f0ad --- /dev/null +++ b/g/all/setup_app.app/change_account.inline_script.lock @@ -0,0 +1,172 @@ +{ + "version": "4", + "remote": { + "https://deno.land/std@0.160.0/_util/assert.ts": "e94f2eb37cebd7f199952e242c77654e43333c1ac4c5c700e929ea3aa5489f74", + "https://deno.land/std@0.160.0/_util/os.ts": "8a33345f74990e627b9dfe2de9b040004b08ea5146c7c9e8fe9a29070d193934", + "https://deno.land/std@0.160.0/async/abortable.ts": "87aa7230be8360c24ad437212311c9e8d4328854baec27b4c7abb26e85515c06", + "https://deno.land/std@0.160.0/async/deadline.ts": "48ac998d7564969f3e6ec6b6f9bf0217ebd00239b1b2292feba61272d5dd58d0", + "https://deno.land/std@0.160.0/async/debounce.ts": "dc8b92d4a4fe7eac32c924f2b8d3e62112530db70cadce27042689d82970b350", + "https://deno.land/std@0.160.0/async/deferred.ts": "d8fb253ffde2a056e4889ef7e90f3928f28be9f9294b6505773d33f136aab4e6", + "https://deno.land/std@0.160.0/async/delay.ts": "0419dfc993752849692d1f9647edf13407c7facc3509b099381be99ffbc9d699", + "https://deno.land/std@0.160.0/async/mod.ts": "dd0a8ed4f3984ffabe2fcca7c9f466b7932d57b1864ffee148a5d5388316db6b", + "https://deno.land/std@0.160.0/async/mux_async_iterator.ts": "3447b28a2a582224a3d4d3596bccbba6e85040da3b97ed64012f7decce98d093", + "https://deno.land/std@0.160.0/async/pool.ts": "ef9eb97b388543acbf0ac32647121e4dbe629236899586c4d4311a8770fbb239", + "https://deno.land/std@0.160.0/async/tee.ts": "9af3a3e7612af75861308b52249e167f5ebc3dcfc8a1a4d45462d96606ee2b70", + "https://deno.land/std@0.160.0/bytes/bytes_list.ts": "aba5e2369e77d426b10af1de0dcc4531acecec27f9b9056f4f7bfbf8ac147ab4", + "https://deno.land/std@0.160.0/bytes/equals.ts": "3c3558c3ae85526f84510aa2b48ab2ad7bdd899e2e0f5b7a8ffc85acb3a6043a", + "https://deno.land/std@0.160.0/bytes/mod.ts": "b2e342fd3669176a27a4e15061e9d588b89c1aaf5008ab71766e23669565d179", + "https://deno.land/std@0.160.0/crypto/_fnv/fnv32.ts": "aa9bddead8c6345087d3abd4ef35fb9655622afc333fc41fff382b36e64280b5", + "https://deno.land/std@0.160.0/crypto/_fnv/fnv64.ts": "625d7e7505b6cb2e9801b5fd6ed0a89256bac12b2bbb3e4664b85a88b0ec5bef", + "https://deno.land/std@0.160.0/crypto/_fnv/index.ts": "a8f6a361b4c6d54e5e89c16098f99b6962a1dd6ad1307dbc97fa1ecac5d7060a", + "https://deno.land/std@0.160.0/crypto/_fnv/util.ts": "4848313bed7f00f55be3cb080aa0583fc007812ba965b03e4009665bde614ce3", + "https://deno.land/std@0.160.0/crypto/_wasm_crypto/lib/deno_std_wasm_crypto.generated.mjs": "258b484c2da27578bec61c01d4b62c21f72268d928d03c968c4eb590cb3bd830", + "https://deno.land/std@0.160.0/crypto/_wasm_crypto/mod.ts": "6c60d332716147ded0eece0861780678d51b560f533b27db2e15c64a4ef83665", + "https://deno.land/std@0.160.0/crypto/keystack.ts": "e481eed28007395e554a435e880fee83a5c73b9259ed8a135a75e4b1e4f381f7", + "https://deno.land/std@0.160.0/crypto/mod.ts": "fadedc013b4a86fda6305f1adc6d1c02225834d53cff5d95cc05f62b25127517", + "https://deno.land/std@0.160.0/crypto/timing_safe_equal.ts": "82a29b737bc8932d75d7a20c404136089d5d23629e94ba14efa98a8cc066c73e", + "https://deno.land/std@0.160.0/datetime/formatter.ts": "7c8e6d16a0950f400aef41b9f1eb9168249869776ec520265dfda785d746589e", + "https://deno.land/std@0.160.0/datetime/mod.ts": "ea927ca96dfb28c7b9a5eed5bdc7ac46bb9db38038c4922631895cea342fea87", + "https://deno.land/std@0.160.0/datetime/tokenizer.ts": "7381e28f6ab51cb504c7e132be31773d73ef2f3e1e50a812736962b9df1e8c47", + "https://deno.land/std@0.160.0/encoding/base64.ts": "c57868ca7fa2fbe919f57f88a623ad34e3d970d675bdc1ff3a9d02bba7409db2", + "https://deno.land/std@0.160.0/encoding/base64url.ts": "a5f82a9fa703bd85a5eb8e7c1296bc6529e601ebd9642cc2b5eaa6b38fa9e05a", + "https://deno.land/std@0.160.0/encoding/hex.ts": "4cc5324417cbb4ac9b828453d35aed45b9cc29506fad658f1f138d981ae33795", + "https://deno.land/std@0.160.0/fmt/colors.ts": "9e36a716611dcd2e4865adea9c4bec916b5c60caad4cdcdc630d4974e6bb8bd4", + "https://deno.land/std@0.160.0/io/buffer.ts": "fae02290f52301c4e0188670e730cd902f9307fb732d79c4aa14ebdc82497289", + "https://deno.land/std@0.160.0/path/_constants.ts": "df1db3ffa6dd6d1252cc9617e5d72165cd2483df90e93833e13580687b6083c3", + "https://deno.land/std@0.160.0/path/_interface.ts": "ee3b431a336b80cf445441109d089b70d87d5e248f4f90ff906820889ecf8d09", + "https://deno.land/std@0.160.0/path/_util.ts": "d16be2a16e1204b65f9d0dfc54a9bc472cafe5f4a190b3c8471ec2016ccd1677", + "https://deno.land/std@0.160.0/path/common.ts": "bee563630abd2d97f99d83c96c2fa0cca7cee103e8cb4e7699ec4d5db7bd2633", + "https://deno.land/std@0.160.0/path/glob.ts": "cb5255638de1048973c3e69e420c77dc04f75755524cb3b2e160fe9277d939ee", + "https://deno.land/std@0.160.0/path/mod.ts": "56fec03ad0ebd61b6ab39ddb9b0ddb4c4a5c9f2f4f632e09dd37ec9ebfd722ac", + "https://deno.land/std@0.160.0/path/posix.ts": "6b63de7097e68c8663c84ccedc0fd977656eb134432d818ecd3a4e122638ac24", + "https://deno.land/std@0.160.0/path/separator.ts": "fe1816cb765a8068afb3e8f13ad272351c85cbc739af56dacfc7d93d710fe0f9", + "https://deno.land/std@0.160.0/path/win32.ts": "ee8826dce087d31c5c81cd414714e677eb68febc40308de87a2ce4b40e10fb8d", + "https://deno.land/std@0.160.0/testing/_diff.ts": "a23e7fc2b4d8daa3e158fa06856bedf5334ce2a2831e8bf9e509717f455adb2c", + "https://deno.land/std@0.160.0/testing/_format.ts": "cd11136e1797791045e639e9f0f4640d5b4166148796cad37e6ef75f7d7f3832", + "https://deno.land/std@0.160.0/testing/asserts.ts": "1e340c589853e82e0807629ba31a43c84ebdcdeca910c4a9705715dfdb0f5ce8", + "https://deno.land/x/postgres@v0.17.0/client.ts": "348779c9f6a1c75ef1336db662faf08dce7d2101ff72f0d1e341ba1505c8431d", + "https://deno.land/x/postgres@v0.17.0/client/error.ts": "0817583b666fd546664ed52c1d37beccc5a9eebcc6e3c2ead20ada99b681e5f7", + "https://deno.land/x/postgres@v0.17.0/connection/auth.ts": "1070125e2ac4ca4ade36d69a4222d37001903092826d313217987583edd61ce9", + "https://deno.land/x/postgres@v0.17.0/connection/connection.ts": "428ed3efa055870db505092b5d3545ef743497b7b4b72cf8f0593e7dd4788acd", + "https://deno.land/x/postgres@v0.17.0/connection/connection_params.ts": "52bfe90e8860f584b95b1b08c254dde97c3aa763c4b6bee0c80c5930e35459e0", + "https://deno.land/x/postgres@v0.17.0/connection/message.ts": "f9257948b7f87d58bfbfe3fc6e2e08f0de3ef885655904d56a5f73655cc22c5a", + "https://deno.land/x/postgres@v0.17.0/connection/message_code.ts": "466719008b298770c366c5c63f6cf8285b7f76514dadb4b11e7d9756a8a1ddbf", + "https://deno.land/x/postgres@v0.17.0/connection/packet.ts": "050aeff1fc13c9349e89451a155ffcd0b1343dc313a51f84439e3e45f64b56c8", + "https://deno.land/x/postgres@v0.17.0/connection/scram.ts": "0c7a2551fe7b1a1c62dd856b7714731a7e7534ccca10093336782d1bfc5b2bd2", + "https://deno.land/x/postgres@v0.17.0/deps.ts": "f47ccb41f7f97eaad455d94f407ef97146ae99443dbe782894422c869fbba69e", + "https://deno.land/x/postgres@v0.17.0/mod.ts": "a1e18fd9e6fedc8bc24e5aeec3ae6de45e2274be1411fb66e9081420c5e81d7d", + "https://deno.land/x/postgres@v0.17.0/pool.ts": "892db7b5e1787988babecc994a151ebbd7d017f080905cbe9c3d7b44a73032a9", + "https://deno.land/x/postgres@v0.17.0/query/array_parser.ts": "f8a229d82c3801de8266fa2cc4afe12e94fef8d0c479e73655c86ed3667ef33f", + "https://deno.land/x/postgres@v0.17.0/query/decode.ts": "44a4a6cbcf494ed91a4fecae38a57dce63a7b519166f02c702791d9717371419", + "https://deno.land/x/postgres@v0.17.0/query/decoders.ts": "16cb0e60227d86692931e315421b15768c78526e3aeb84e25fcc4111096de9fd", + "https://deno.land/x/postgres@v0.17.0/query/encode.ts": "5f1418a2932b7c2231556e4a5f5f56efef48728014070cfafe7656963f342933", + "https://deno.land/x/postgres@v0.17.0/query/oid.ts": "8c33e1325f34e4ca9f11a48b8066c8cfcace5f64bc1eb17ad7247af4936999e1", + "https://deno.land/x/postgres@v0.17.0/query/query.ts": "edb473cbcfeff2ee1c631272afb25d079d06b66b5853f42492725b03ffa742b6", + "https://deno.land/x/postgres@v0.17.0/query/transaction.ts": "8e75c3ce0aca97da7fe126e68f8e6c08d640e5c8d2016e62cee5c254bebe7fe8", + "https://deno.land/x/postgres@v0.17.0/query/types.ts": "a6dc8024867fe7ccb0ba4b4fa403ee5d474c7742174128c8e689c3b5e5eaa933", + "https://deno.land/x/postgres@v0.17.0/utils/deferred.ts": "dd94f2a57355355c47812b061a51b55263f72d24e9cb3fdb474c7519f4d61083", + "https://deno.land/x/postgres@v0.17.0/utils/utils.ts": "19c3527ddd5c6c4c49ae36397120274c7f41f9d3cbf479cb36065d23329e9f90", + "https://deno.land/x/windmill@v1.99.0/mod.ts": "6a2f2eb7c25c0e305b29acca5ae0a04ddd223d313c6d659fdb4a9b0c99b29040", + "https://deno.land/x/windmill@v1.99.0/pg.ts": "841515a5633464ba2e70777e264eaad104f0e0191ad93f8eb7e85070a71de0e3", + "https://deno.land/x/windmill@v1.99.0/windmill-api/core/ApiError.ts": "d3139fc732bcb6207b01c086f6f46b7e2c244f752ac01921a70cabb380d9c921", + "https://deno.land/x/windmill@v1.99.0/windmill-api/core/ApiRequestOptions.ts": "dbf0cddf0fff4e97e9fc76d142fec32da4fcb9c16be80efbf37144434fb716a5", + "https://deno.land/x/windmill@v1.99.0/windmill-api/core/ApiResult.ts": "203f365871242de44402e927f08b07888d99db13f1c4dd56cd9bd5b706de169c", + "https://deno.land/x/windmill@v1.99.0/windmill-api/core/CancelablePromise.ts": "9512059962d4dd415cb7678a8a3accccc92f2ebb581e3bfb19200d83ebaea344", + "https://deno.land/x/windmill@v1.99.0/windmill-api/core/OpenAPI.ts": "dc44d4a7ea75373c2bdb4f97a73dd071d55c8dfa9115522aeefee02ed6210010", + "https://deno.land/x/windmill@v1.99.0/windmill-api/core/request.ts": "7cdd1fb083e30793e46d144d6c20a899286648e56af5ae2635ee721253608aea", + "https://deno.land/x/windmill@v1.99.0/windmill-api/index.ts": "08a4f211d5c7ea6dc952de585f1d0103bdd7a0f1db3f670c290fcf70cb3ba416", + "https://deno.land/x/windmill@v1.99.0/windmill-api/models/AppWithLastVersion.ts": "fd70d4c9791bd4af4ea19e1c55addbbde896190556be3f7678ea52e561d920ef", + "https://deno.land/x/windmill@v1.99.0/windmill-api/models/AppWithLastVersionWDraft.ts": "ab55799c1cd2ded12280e6deeb6e2980e6d6bbc53224f84fe842cc98f356cbc7", + "https://deno.land/x/windmill@v1.99.0/windmill-api/models/AuditLog.ts": "87bffeef830ca2563395c020ddbadbfc03c5eaae08f23b219a622a4259aa7a5c", + "https://deno.land/x/windmill@v1.99.0/windmill-api/models/BranchAll.ts": "341fac8a2375c875020599ddd41012e13928f61a0f5aceacd40faf8365f918df", + "https://deno.land/x/windmill@v1.99.0/windmill-api/models/BranchOne.ts": "1d1bd9aa993382aa1005aa77d265694cc06b1fcce79f6438faa10230f76e9e89", + "https://deno.land/x/windmill@v1.99.0/windmill-api/models/CompletedJob.ts": "d3bf510ab51d81692b33a2045e3bbdfd50e7c1e341e9176666180ea1fd3479a1", + "https://deno.land/x/windmill@v1.99.0/windmill-api/models/ContextualVariable.ts": "5fe49f330cf2b64e9e7588d8c5e22835897e89d107bc79611764316809d00b4c", + "https://deno.land/x/windmill@v1.99.0/windmill-api/models/CreateInput.ts": "65738017b52963d452344fb7fb87e01d9db3b376ec94efaa0393ea5b8ed9ad54", + "https://deno.land/x/windmill@v1.99.0/windmill-api/models/CreateResource.ts": "9d0e6f1647b958d5f8fb60b955bd8a20c2bcd6fec76f5ca10afd4138dd40c83c", + "https://deno.land/x/windmill@v1.99.0/windmill-api/models/CreateVariable.ts": "8e1364b48f1712a4f3b9247ed0a98d0c9102e6f85592cb5874770344122e9d1e", + "https://deno.land/x/windmill@v1.99.0/windmill-api/models/CreateWorkspace.ts": "13bf9b0ae70670144005e801d3fcecfe97369f99a8c4f7fde2ec9efc40ab8c94", + "https://deno.land/x/windmill@v1.99.0/windmill-api/models/EditResource.ts": "9d26febafb3320817125a92d0ea30fd32d8cdb7ae3e3ebd172638f8ec3e21fad", + "https://deno.land/x/windmill@v1.99.0/windmill-api/models/EditResourceType.ts": "b0a230f4c6fc34727ed0bc0dfaeec55235b2ad32fae7f27554639274fbf9601b", + "https://deno.land/x/windmill@v1.99.0/windmill-api/models/EditSchedule.ts": "777ea972a331340caad293adbea815d6fe3a23b77bb4c9b74123b0b54f900156", + "https://deno.land/x/windmill@v1.99.0/windmill-api/models/EditVariable.ts": "d68944af3ae8f86df55e5c3cf0404adf591f297f4d96326824b3134622aacfbb", + "https://deno.land/x/windmill@v1.99.0/windmill-api/models/EditWorkspaceUser.ts": "fdef3e980effab27c4c63840282c09e59c0dfc52b10ecaf3cb94f4f476f507a9", + "https://deno.land/x/windmill@v1.99.0/windmill-api/models/Flow.ts": "b1a0915ea1fdc0582ee9e7fc0885672dc877a73c33cee156711c202abb10b845", + "https://deno.land/x/windmill@v1.99.0/windmill-api/models/FlowMetadata.ts": "e5ea1c783e436e1d34f1af2b312692b88672287a8228b3ef023fa9d76106480b", + "https://deno.land/x/windmill@v1.99.0/windmill-api/models/FlowModule.ts": "e56541538c1b7b03050e2b5484b9a730e98851617360447e9636b683f4247109", + "https://deno.land/x/windmill@v1.99.0/windmill-api/models/FlowModuleValue.ts": "2fb026379e6f5d9a19aba26d9826aac6b6718ca6c45d8c7519ecfe8bd8f722a3", + "https://deno.land/x/windmill@v1.99.0/windmill-api/models/FlowPreview.ts": "a65e71c62e49ddf66dcbabc7086c2e1491087ccd718d384c60b33107fdc853f0", + "https://deno.land/x/windmill@v1.99.0/windmill-api/models/FlowStatus.ts": "d594c8dce4d42d043412a2f33cb6e292f5502fbdc085d2344bc72ae987cfd48c", + "https://deno.land/x/windmill@v1.99.0/windmill-api/models/FlowStatusModule.ts": "aea0c8753c3b796de85a4b901d6d0429e99534cf1d54f5271d479809d95b8c67", + "https://deno.land/x/windmill@v1.99.0/windmill-api/models/FlowValue.ts": "1a1c25f1c9f8b8c7928121c4a0332b2bfaa3f167da8c01702d1f573fcd174b0b", + "https://deno.land/x/windmill@v1.99.0/windmill-api/models/Folder.ts": "46cda8b84fc8cbf4c707263752d587e08aee309e2744d6644b9fc5fdd56539a0", + "https://deno.land/x/windmill@v1.99.0/windmill-api/models/ForloopFlow.ts": "cb0253e564e83232a75c9443a9591cb95b5233b15b269d71f545a4f53f3b225c", + "https://deno.land/x/windmill@v1.99.0/windmill-api/models/GlobalUserInfo.ts": "9b9eb0c6fd730c2242158b829fd0475f74509de82ffcaceceb0a48c306347bb3", + "https://deno.land/x/windmill@v1.99.0/windmill-api/models/Group.ts": "078299123198e5620e88b49160e9c8054d3b454f0e675fb7dc01d2eec60b3e77", + "https://deno.land/x/windmill@v1.99.0/windmill-api/models/Identity.ts": "1bd4f508aa5c4ef594444f85bd2785e83871a0b2535bc3073217a7ae77577c3e", + "https://deno.land/x/windmill@v1.99.0/windmill-api/models/Input.ts": "6753840e944c5db46d8479ddfd40e18cabb1d5a46b11764c7f5d0e272d9a855e", + "https://deno.land/x/windmill@v1.99.0/windmill-api/models/InputTransform.ts": "8275e7297c573c771d32ce010f656f75a8262f7230c78eada40579a61f91cd25", + "https://deno.land/x/windmill@v1.99.0/windmill-api/models/JavascriptTransform.ts": "22fcd44a654281e805094c65feef9acc969ea17e83785c0cf5e7288561b52c8a", + "https://deno.land/x/windmill@v1.99.0/windmill-api/models/Job.ts": "04bc2c79d2fa55ce84236f5ec3a70d5e4f07b6a1ec754be1e23d2b2e2fe1cb39", + "https://deno.land/x/windmill@v1.99.0/windmill-api/models/ListableApp.ts": "e696f193945b2da44f824b604e9b17eec30a10b3f533dac1c60f65b48eb6d1b9", + "https://deno.land/x/windmill@v1.99.0/windmill-api/models/ListableRawApp.ts": "bfbecb5983e5257d570e49710142af0f06c89f02f2c0ddd9073de95ac3f83731", + "https://deno.land/x/windmill@v1.99.0/windmill-api/models/ListableResource.ts": "fe25a5ce0fe6829ad11737b4829d66dcf8ee67245d670d7ba7a38b2cf001e701", + "https://deno.land/x/windmill@v1.99.0/windmill-api/models/ListableVariable.ts": "520ea27e5f6d0dbcca508293dd2edbf26fafbb6d11aa52c8dadfbc0389db9f7d", + "https://deno.land/x/windmill@v1.99.0/windmill-api/models/Login.ts": "a76d0d6a9c7836aec28275a924b4bd3fb2d6cf09459eafe0eeebd881f5fc50cd", + "https://deno.land/x/windmill@v1.99.0/windmill-api/models/MainArgSignature.ts": "4d3c446540fbcdc9650a9db43ebdc5b5778e9453de5e0cf6fbd24d6cfcdf20ca", + "https://deno.land/x/windmill@v1.99.0/windmill-api/models/NewSchedule.ts": "e359529de5e2c9c742a5a04f8facd3ffd8604ce860887cf07ffd96c8efc58a6e", + "https://deno.land/x/windmill@v1.99.0/windmill-api/models/NewScript.ts": "ef7b33129041b0a3595958ac09a184f73bea2e1e0705a8b61a9970b487c8ca37", + "https://deno.land/x/windmill@v1.99.0/windmill-api/models/NewScriptWithDraft.ts": "fc342d7ddb9f98ea0df485d7111ef77eb17aa23a1e0aec5dcfce02d7976a9790", + "https://deno.land/x/windmill@v1.99.0/windmill-api/models/NewToken.ts": "d85bc25509967bda432e420a566fe1def4ee5f44f92b62cc16025a26fa7dc2cb", + "https://deno.land/x/windmill@v1.99.0/windmill-api/models/NewTokenImpersonate.ts": "25004b2acb3cdb851d2cd8bfdc4d3d3c58c4eb45c16dcbe2ef1e0e3191bea424", + "https://deno.land/x/windmill@v1.99.0/windmill-api/models/NewUser.ts": "c225f73b82771bff95e6a82707bc45fab61508cd2290dc0404d2ce650910a159", + "https://deno.land/x/windmill@v1.99.0/windmill-api/models/OpenFlow.ts": "b5afbce63fb044b203e5cdcf5b56c42802c855159d79df3cd1b4c83b55a74329", + "https://deno.land/x/windmill@v1.99.0/windmill-api/models/OpenFlowWPath.ts": "ddde2d71f030594da767f7a1d75bae875c00c1f7eb19439914afcb94c775169a", + "https://deno.land/x/windmill@v1.99.0/windmill-api/models/PathFlow.ts": "adfac10c278f00c89d36bb3af99494c04d9d817c6d0e68a6e01e8e2eb2dff77d", + "https://deno.land/x/windmill@v1.99.0/windmill-api/models/PathScript.ts": "c794d92d061017f2e3e6361e1f7cded8ce53b79a40a6bbb248002f040b31151f", + "https://deno.land/x/windmill@v1.99.0/windmill-api/models/Policy.ts": "26f3f21aa23753343eaa91f7b7e4e7c26a0b5cd95e384d8a0c91032f7b656ae5", + "https://deno.land/x/windmill@v1.99.0/windmill-api/models/Preview.ts": "2b80a56203086052f3f423a433d7b514cdd071d6cf6b4559e5601d6aa50a6a7d", + "https://deno.land/x/windmill@v1.99.0/windmill-api/models/QueuedJob.ts": "4a01170df04a07c80def5e2d2b204db925dd9cc389deed8d5aa315ba2b5cef3f", + "https://deno.land/x/windmill@v1.99.0/windmill-api/models/RawScript.ts": "7202a918347961e4706761b08555475bc3dd8b9fccca3fe8d0a242e44eec94c6", + "https://deno.land/x/windmill@v1.99.0/windmill-api/models/Resource.ts": "ac87ef39dfd2bc28dc488e6c79250772c4af28d9624affc07ff0348dc38f2c36", + "https://deno.land/x/windmill@v1.99.0/windmill-api/models/ResourceType.ts": "a001b45bcbcc9be538f38fbc8a2553987d978815a4d69346c47e426a23eb52ed", + "https://deno.land/x/windmill@v1.99.0/windmill-api/models/Retry.ts": "2b2cb6cfa6c60e6791f4fccea779f5903db101b14492a3254174e535d3c3da91", + "https://deno.land/x/windmill@v1.99.0/windmill-api/models/RunnableType.ts": "55a85e67a76736b15c5e4b4bb865539d2925006b75f0dc7e51cc88d2aff3134d", + "https://deno.land/x/windmill@v1.99.0/windmill-api/models/Schedule.ts": "418a5e3d17234d704e860141e09169288232dc8c10407e76d74b56820b4135ca", + "https://deno.land/x/windmill@v1.99.0/windmill-api/models/Script.ts": "574132858039abe37d71f4fa1256e6e68942a58457a39cf4fc08b43fc3bf32d7", + "https://deno.land/x/windmill@v1.99.0/windmill-api/models/ScriptArgs.ts": "14cdb2905b91c7356b87287978b82175f9d5f6075e063eeb47ed0a89efff41cc", + "https://deno.land/x/windmill@v1.99.0/windmill-api/models/SlackToken.ts": "d4408d75e23b9be7819f34c7717bf9e5150619603fc255b102e723fb458a9ccb", + "https://deno.land/x/windmill@v1.99.0/windmill-api/models/StaticTransform.ts": "d4f056f72abce7eb61748a543a5c6dd5cd9828f24a096a2298b4bdddb2d93f4d", + "https://deno.land/x/windmill@v1.99.0/windmill-api/models/TokenResponse.ts": "0763c5c53cbdb3406c0d944858830d283a6e33b840f807c267d3210b58c5cde7", + "https://deno.land/x/windmill@v1.99.0/windmill-api/models/TruncatedToken.ts": "3a8f0a003d9aeb5041813b3a940beae24740d1ca4432c665a1e06635681ac8ec", + "https://deno.land/x/windmill@v1.99.0/windmill-api/models/UpdateInput.ts": "7fa0e372cb44e43e25debe9204ef0e394e06a2d53672b2984114d16aa4fba602", + "https://deno.land/x/windmill@v1.99.0/windmill-api/models/Usage.ts": "a5763c34e75d5d542997bf0ba50787863639ea234478b4153500734fe687dfa4", + "https://deno.land/x/windmill@v1.99.0/windmill-api/models/User.ts": "0afba70e429b0d707315d3b7990c0041cb3a0a5b690037a100254213eee0793a", + "https://deno.land/x/windmill@v1.99.0/windmill-api/models/UserWorkspaceList.ts": "77d85559a562b3d55860c8b90914a4f5cec6ef8a4571531a9dbb3675bbda54f5", + "https://deno.land/x/windmill@v1.99.0/windmill-api/models/WorkerPing.ts": "42b66662008fe6c035bd27fd6ba498eca6352f1447c803a6552d5b3d82e090c3", + "https://deno.land/x/windmill@v1.99.0/windmill-api/models/Workspace.ts": "d9474a123d8697e3ce2da8bcf91caf01749d9d9cce2e91948f3c33ab463cb4d0", + "https://deno.land/x/windmill@v1.99.0/windmill-api/models/WorkspaceInvite.ts": "f2507959e68c78ca8ae363461f3258b233c33739bf236d38558e86838de1adb2", + "https://deno.land/x/windmill@v1.99.0/windmill-api/services/AdminService.ts": "012abc99c87013c175317dd6f77535bdaf572361762660dcdc983f8c67feab2c", + "https://deno.land/x/windmill@v1.99.0/windmill-api/services/AppService.ts": "299fe2de2ece3f8e4ef65c7d8db42ffd8cf5f3b97511dad0bc40ac3409411d71", + "https://deno.land/x/windmill@v1.99.0/windmill-api/services/AuditService.ts": "099bc1398cf91d861214e38bfad99914902682fb14a578cb33e6b6ebd7090a11", + "https://deno.land/x/windmill@v1.99.0/windmill-api/services/CaptureService.ts": "f83e9c46e43f141f029cf31ed202ce3d3da57f64fa6625370cca8bfb61ba15ad", + "https://deno.land/x/windmill@v1.99.0/windmill-api/services/DraftService.ts": "f046fd7b6337ac8479e5641ec43e44e4c926503954d3260faad568e2db8cf88e", + "https://deno.land/x/windmill@v1.99.0/windmill-api/services/FavoriteService.ts": "f0d5677a85889f20e017585ffbfae49e140241f4e88581c7e55e6f9110b05a39", + "https://deno.land/x/windmill@v1.99.0/windmill-api/services/FlowService.ts": "9c7f71a55cf7ad3d18ddd591471825bfe7e7257826a7369b6d5ac1b8b8703309", + "https://deno.land/x/windmill@v1.99.0/windmill-api/services/FolderService.ts": "a05f9ca3e1faf78498993ed23b0ae719641a67c5444cac1696ae87a5426a7283", + "https://deno.land/x/windmill@v1.99.0/windmill-api/services/GranularAclService.ts": "d765fae471bf2bf8f6ae6a4d74bd7d1202c065e9ddff5a3313999cf63314e2c9", + "https://deno.land/x/windmill@v1.99.0/windmill-api/services/GroupService.ts": "ea285dc6f2bf18f285f6c38168247839d46cb5998846e1c6a7890265ecf3fbe1", + "https://deno.land/x/windmill@v1.99.0/windmill-api/services/InputService.ts": "c45ca1e2e6e7c862cae6a3511cc926dc2d90e9b5618d393dfbf2b1f2da24c433", + "https://deno.land/x/windmill@v1.99.0/windmill-api/services/JobService.ts": "19a671e93205ee3e885e868ccd2ce0e9af021d3b894b1a20753e535d1857de03", + "https://deno.land/x/windmill@v1.99.0/windmill-api/services/OauthService.ts": "1ed3abd3e70bad4b8ef21f77d38df8cbbf18a49ccf0216dcc6b95954a47eb626", + "https://deno.land/x/windmill@v1.99.0/windmill-api/services/RawAppService.ts": "9c3efd68886a5a59f5fc07ded13ce30cc863ddee3d8f25bab6bccc8e7a6d5386", + "https://deno.land/x/windmill@v1.99.0/windmill-api/services/ResourceService.ts": "2aa344f85b6e279a9c6e9aa58a40359c40444e8ea5cd0b55b0b0bbed619662bd", + "https://deno.land/x/windmill@v1.99.0/windmill-api/services/ScheduleService.ts": "708c39f22f445c9d9fc75b5a640c25ad30057d3b68f698e37e3a9c4f24ad81b5", + "https://deno.land/x/windmill@v1.99.0/windmill-api/services/ScriptService.ts": "f7230592696702b96981ce381febd23cb8fca0b7268e8b6a0a74fd2ecf686d7e", + "https://deno.land/x/windmill@v1.99.0/windmill-api/services/SettingsService.ts": "6beb1e904073b13c4b160b08f842f128f478fdeb686529675d063e1d50660000", + "https://deno.land/x/windmill@v1.99.0/windmill-api/services/UserService.ts": "785ff14cf1bf9f50af90da2e770b211aa6b7c9e48d58f91fee1d5bf802c45e75", + "https://deno.land/x/windmill@v1.99.0/windmill-api/services/VariableService.ts": "30874fc564c7817435ca2d4ec0ab459c3394a2308f4daf22ae3f92a10ccb02cc", + "https://deno.land/x/windmill@v1.99.0/windmill-api/services/WorkerService.ts": "701afbaac9036c30f11aae87ea06804a236d3e0509438b49226996b23bffc184", + "https://deno.land/x/windmill@v1.99.0/windmill-api/services/WorkspaceService.ts": "2e945ccde1c8a2ef683597db304abae8501d81be604f051b62998642f9d39b31" + } +} diff --git a/g/all/setup_app.app/compute_url.inline_script.frontend.js b/g/all/setup_app.app/compute_url.inline_script.frontend.js new file mode 100644 index 0000000..fd6ec6e --- /dev/null +++ b/g/all/setup_app.app/compute_url.inline_script.frontend.js @@ -0,0 +1 @@ +return '/user/logout?rd=' + encodeURIComponent('/user/login?email=' + c.values.new_email) \ No newline at end of file diff --git a/u/admin/hub_sync.script.lock b/u/admin/hub_sync.script.lock new file mode 100644 index 0000000..002b4a3 --- /dev/null +++ b/u/admin/hub_sync.script.lock @@ -0,0 +1,283 @@ +{ + "dependencies": { + "windmill-cli": "1.566.1" + } +} +//bun.lock +{ + "lockfileVersion": 1, + "workspaces": { + "": { + "dependencies": { + "windmill-cli": "1.566.1", + }, + }, + }, + "packages": { + "@ayonli/jsext": ["@ayonli/jsext@1.9.0", "", { "dependencies": { "iconv-lite": "^0.6.3", "sudo-prompt": "^9.2.1", "ws": "^8.17.0", "zod": "^3.23.8" } }, "sha512-hIu6lQhoLr5e26lmt+vzopuZffaAyb623r4+8HlN/rhXgm2ywHslzk7UHiATdfDbfPjBARkB6cfXjVEi3aav6g=="], + + "@deno/shim-deno": ["@deno/shim-deno@0.18.2", "", { "dependencies": { "@deno/shim-deno-test": "^0.5.0", "which": "^4.0.0" } }, "sha512-oQ0CVmOio63wlhwQF75zA4ioolPvOwAoK0yuzcS5bDC1JUvH3y1GS8xPh8EOpcoDQRU4FTG8OQfxhpR+c6DrzA=="], + + "@deno/shim-deno-test": ["@deno/shim-deno-test@0.5.0", "", {}, "sha512-4nMhecpGlPi0cSzT67L+Tm+GOJqvuk8gqHBziqcUQOarnuIax1z96/gJHCSIz2Z0zhxE6Rzwb3IZXPtFh51j+w=="], + + "@esbuild/aix-ppc64": ["@esbuild/aix-ppc64@0.25.11", "", { "os": "aix", "cpu": "ppc64" }, "sha512-Xt1dOL13m8u0WE8iplx9Ibbm+hFAO0GsU2P34UNoDGvZYkY8ifSiy6Zuc1lYxfG7svWE2fzqCUmFp5HCn51gJg=="], + + "@esbuild/android-arm": ["@esbuild/android-arm@0.25.11", "", { "os": "android", "cpu": "arm" }, "sha512-uoa7dU+Dt3HYsethkJ1k6Z9YdcHjTrSb5NUy66ZfZaSV8hEYGD5ZHbEMXnqLFlbBflLsl89Zke7CAdDJ4JI+Gg=="], + + "@esbuild/android-arm64": ["@esbuild/android-arm64@0.25.11", "", { "os": "android", "cpu": "arm64" }, "sha512-9slpyFBc4FPPz48+f6jyiXOx/Y4v34TUeDDXJpZqAWQn/08lKGeD8aDp9TMn9jDz2CiEuHwfhRmGBvpnd/PWIQ=="], + + "@esbuild/android-x64": ["@esbuild/android-x64@0.25.11", "", { "os": "android", "cpu": "x64" }, "sha512-Sgiab4xBjPU1QoPEIqS3Xx+R2lezu0LKIEcYe6pftr56PqPygbB7+szVnzoShbx64MUupqoE0KyRlN7gezbl8g=="], + + "@esbuild/darwin-arm64": ["@esbuild/darwin-arm64@0.25.11", "", { "os": "darwin", "cpu": "arm64" }, "sha512-VekY0PBCukppoQrycFxUqkCojnTQhdec0vevUL/EDOCnXd9LKWqD/bHwMPzigIJXPhC59Vd1WFIL57SKs2mg4w=="], + + "@esbuild/darwin-x64": ["@esbuild/darwin-x64@0.25.11", "", { "os": "darwin", "cpu": "x64" }, "sha512-+hfp3yfBalNEpTGp9loYgbknjR695HkqtY3d3/JjSRUyPg/xd6q+mQqIb5qdywnDxRZykIHs3axEqU6l1+oWEQ=="], + + "@esbuild/freebsd-arm64": ["@esbuild/freebsd-arm64@0.25.11", "", { "os": "freebsd", "cpu": "arm64" }, "sha512-CmKjrnayyTJF2eVuO//uSjl/K3KsMIeYeyN7FyDBjsR3lnSJHaXlVoAK8DZa7lXWChbuOk7NjAc7ygAwrnPBhA=="], + + "@esbuild/freebsd-x64": ["@esbuild/freebsd-x64@0.25.11", "", { "os": "freebsd", "cpu": "x64" }, "sha512-Dyq+5oscTJvMaYPvW3x3FLpi2+gSZTCE/1ffdwuM6G1ARang/mb3jvjxs0mw6n3Lsw84ocfo9CrNMqc5lTfGOw=="], + + "@esbuild/linux-arm": ["@esbuild/linux-arm@0.25.11", "", { "os": "linux", "cpu": "arm" }, "sha512-TBMv6B4kCfrGJ8cUPo7vd6NECZH/8hPpBHHlYI3qzoYFvWu2AdTvZNuU/7hsbKWqu/COU7NIK12dHAAqBLLXgw=="], + + "@esbuild/linux-arm64": ["@esbuild/linux-arm64@0.25.11", "", { "os": "linux", "cpu": "arm64" }, "sha512-Qr8AzcplUhGvdyUF08A1kHU3Vr2O88xxP0Tm8GcdVOUm25XYcMPp2YqSVHbLuXzYQMf9Bh/iKx7YPqECs6ffLA=="], + + "@esbuild/linux-ia32": ["@esbuild/linux-ia32@0.25.11", "", { "os": "linux", "cpu": "ia32" }, "sha512-TmnJg8BMGPehs5JKrCLqyWTVAvielc615jbkOirATQvWWB1NMXY77oLMzsUjRLa0+ngecEmDGqt5jiDC6bfvOw=="], + + "@esbuild/linux-loong64": ["@esbuild/linux-loong64@0.25.11", "", { "os": "linux", "cpu": "none" }, "sha512-DIGXL2+gvDaXlaq8xruNXUJdT5tF+SBbJQKbWy/0J7OhU8gOHOzKmGIlfTTl6nHaCOoipxQbuJi7O++ldrxgMw=="], + + "@esbuild/linux-mips64el": ["@esbuild/linux-mips64el@0.25.11", "", { "os": "linux", "cpu": "none" }, "sha512-Osx1nALUJu4pU43o9OyjSCXokFkFbyzjXb6VhGIJZQ5JZi8ylCQ9/LFagolPsHtgw6himDSyb5ETSfmp4rpiKQ=="], + + "@esbuild/linux-ppc64": ["@esbuild/linux-ppc64@0.25.11", "", { "os": "linux", "cpu": "ppc64" }, "sha512-nbLFgsQQEsBa8XSgSTSlrnBSrpoWh7ioFDUmwo158gIm5NNP+17IYmNWzaIzWmgCxq56vfr34xGkOcZ7jX6CPw=="], + + "@esbuild/linux-riscv64": ["@esbuild/linux-riscv64@0.25.11", "", { "os": "linux", "cpu": "none" }, "sha512-HfyAmqZi9uBAbgKYP1yGuI7tSREXwIb438q0nqvlpxAOs3XnZ8RsisRfmVsgV486NdjD7Mw2UrFSw51lzUk1ww=="], + + "@esbuild/linux-s390x": ["@esbuild/linux-s390x@0.25.11", "", { "os": "linux", "cpu": "s390x" }, "sha512-HjLqVgSSYnVXRisyfmzsH6mXqyvj0SA7pG5g+9W7ESgwA70AXYNpfKBqh1KbTxmQVaYxpzA/SvlB9oclGPbApw=="], + + "@esbuild/linux-x64": ["@esbuild/linux-x64@0.25.11", "", { "os": "linux", "cpu": "x64" }, "sha512-HSFAT4+WYjIhrHxKBwGmOOSpphjYkcswF449j6EjsjbinTZbp8PJtjsVK1XFJStdzXdy/jaddAep2FGY+wyFAQ=="], + + "@esbuild/netbsd-arm64": ["@esbuild/netbsd-arm64@0.25.11", "", { "os": "none", "cpu": "arm64" }, "sha512-hr9Oxj1Fa4r04dNpWr3P8QKVVsjQhqrMSUzZzf+LZcYjZNqhA3IAfPQdEh1FLVUJSiu6sgAwp3OmwBfbFgG2Xg=="], + + "@esbuild/netbsd-x64": ["@esbuild/netbsd-x64@0.25.11", "", { "os": "none", "cpu": "x64" }, "sha512-u7tKA+qbzBydyj0vgpu+5h5AeudxOAGncb8N6C9Kh1N4n7wU1Xw1JDApsRjpShRpXRQlJLb9wY28ELpwdPcZ7A=="], + + "@esbuild/openbsd-arm64": ["@esbuild/openbsd-arm64@0.25.11", "", { "os": "openbsd", "cpu": "arm64" }, "sha512-Qq6YHhayieor3DxFOoYM1q0q1uMFYb7cSpLD2qzDSvK1NAvqFi8Xgivv0cFC6J+hWVw2teCYltyy9/m/14ryHg=="], + + "@esbuild/openbsd-x64": ["@esbuild/openbsd-x64@0.25.11", "", { "os": "openbsd", "cpu": "x64" }, "sha512-CN+7c++kkbrckTOz5hrehxWN7uIhFFlmS/hqziSFVWpAzpWrQoAG4chH+nN3Be+Kzv/uuo7zhX716x3Sn2Jduw=="], + + "@esbuild/openharmony-arm64": ["@esbuild/openharmony-arm64@0.25.11", "", { "os": "none", "cpu": "arm64" }, "sha512-rOREuNIQgaiR+9QuNkbkxubbp8MSO9rONmwP5nKncnWJ9v5jQ4JxFnLu4zDSRPf3x4u+2VN4pM4RdyIzDty/wQ=="], + + "@esbuild/sunos-x64": ["@esbuild/sunos-x64@0.25.11", "", { "os": "sunos", "cpu": "x64" }, "sha512-nq2xdYaWxyg9DcIyXkZhcYulC6pQ2FuCgem3LI92IwMgIZ69KHeY8T4Y88pcwoLIjbed8n36CyKoYRDygNSGhA=="], + + "@esbuild/win32-arm64": ["@esbuild/win32-arm64@0.25.11", "", { "os": "win32", "cpu": "arm64" }, "sha512-3XxECOWJq1qMZ3MN8srCJ/QfoLpL+VaxD/WfNRm1O3B4+AZ/BnLVgFbUV3eiRYDMXetciH16dwPbbHqwe1uU0Q=="], + + "@esbuild/win32-ia32": ["@esbuild/win32-ia32@0.25.11", "", { "os": "win32", "cpu": "ia32" }, "sha512-3ukss6gb9XZ8TlRyJlgLn17ecsK4NSQTmdIXRASVsiS2sQ6zPPZklNJT5GR5tE/MUarymmy8kCEf5xPCNCqVOA=="], + + "@esbuild/win32-x64": ["@esbuild/win32-x64@0.25.11", "", { "os": "win32", "cpu": "x64" }, "sha512-D7Hpz6A2L4hzsRpPaCYkQnGOotdUpDzSGRIv9I+1ITdHROSFUWW95ZPZWQmGka1Fg7W3zFJowyn9WGwMJ0+KPA=="], + + "@isaacs/balanced-match": ["@isaacs/balanced-match@4.0.1", "", {}, "sha512-yzMTt9lEb8Gv7zRioUilSglI0c0smZ9k5D65677DLWLtWJaXIS3CqcGyUFByYKlnUj6TkjLVs54fBl6+TiGQDQ=="], + + "@isaacs/brace-expansion": ["@isaacs/brace-expansion@5.0.0", "", { "dependencies": { "@isaacs/balanced-match": "^4.0.1" } }, "sha512-ZT55BDLV0yv0RBm2czMiZ+SqCGO7AvmOM3G/w2xhVPH+te0aKgFjmBvGlL1dH+ql2tgGO3MVrbb3jCKyvpgnxA=="], + + "accepts": ["accepts@2.0.0", "", { "dependencies": { "mime-types": "^3.0.0", "negotiator": "^1.0.0" } }, "sha512-5cvg6CtKwfgdmVqY1WIiXKc3Q1bkRqGLi+2W/6ao+6Y7gu/RCwRuAhGEzh5B4KlszSuTLgZYuqFqo5bImjNKng=="], + + "body-parser": ["body-parser@2.2.0", "", { "dependencies": { "bytes": "^3.1.2", "content-type": "^1.0.5", "debug": "^4.4.0", "http-errors": "^2.0.0", "iconv-lite": "^0.6.3", "on-finished": "^2.4.1", "qs": "^6.14.0", "raw-body": "^3.0.0", "type-is": "^2.0.0" } }, "sha512-02qvAaxv8tp7fBa/mw1ga98OGm+eCbqzJOKoRt70sLmfEEi+jyBYVTDGfCL/k06/4EMk/z01gCe7HoCH/f2LTg=="], + + "bundle-name": ["bundle-name@4.1.0", "", { "dependencies": { "run-applescript": "^7.0.0" } }, "sha512-tjwM5exMg6BGRI+kNmTntNsvdZS1X8BFYS6tnJ2hdH0kVxM6/eVZ2xy+FqStSWvYmtfFMDLIxurorHwDKfDz5Q=="], + + "bytes": ["bytes@3.1.2", "", {}, "sha512-/Nf7TyzTx6S3yRJObOAV7956r8cr2+Oj8AC5dt8wSP3BQAoeX58NoHyCU8P8zGkNXStjTSi6fzO6F0pBdcYbEg=="], + + "call-bind-apply-helpers": ["call-bind-apply-helpers@1.0.2", "", { "dependencies": { "es-errors": "^1.3.0", "function-bind": "^1.1.2" } }, "sha512-Sp1ablJ0ivDkSzjcaJdxEunN5/XvksFJ2sMBFfq6x0ryhQV/2b/KwFe21cMpmHtPOSij8K99/wSfoEuTObmuMQ=="], + + "call-bound": ["call-bound@1.0.4", "", { "dependencies": { "call-bind-apply-helpers": "^1.0.2", "get-intrinsic": "^1.3.0" } }, "sha512-+ys997U96po4Kx/ABpBCqhA9EuxJaQWDQg7295H4hBphv3IZg0boBKuwYpt4YXp6MZ5AmZQnU/tyMTlRpaSejg=="], + + "content-disposition": ["content-disposition@1.0.0", "", { "dependencies": { "safe-buffer": "5.2.1" } }, "sha512-Au9nRL8VNUut/XSzbQA38+M78dzP4D+eqg3gfJHMIHHYa3bg067xj1KxMUWj+VULbiZMowKngFFbKczUrNJ1mg=="], + + "content-type": ["content-type@1.0.5", "", {}, "sha512-nTjqfcBFEipKdXCv4YDQWCfmcLZKm81ldF0pAopTvyrFGVbcR6P/VAAd5G7N+0tTr8QqiU0tFadD6FK4NtJwOA=="], + + "cookie": ["cookie@0.7.2", "", {}, "sha512-yki5XnKuf750l50uGTllt6kKILY4nQ1eNIQatoXEByZ5dWgnKqbnqmTrBE5B4N7lrMJKQ2ytWMiTO2o0v6Ew/w=="], + + "cookie-signature": ["cookie-signature@1.2.2", "", {}, "sha512-D76uU73ulSXrD1UXF4KE2TMxVVwhsnCgfAyTg9k8P6KGZjlXKrOLe4dJQKI3Bxi5wjesZoFXJWElNWBjPZMbhg=="], + + "core-util-is": ["core-util-is@1.0.3", "", {}, "sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ=="], + + "debug": ["debug@4.4.3", "", { "dependencies": { "ms": "^2.1.3" } }, "sha512-RGwwWnwQvkVfavKVt22FGLw+xYSdzARwm0ru6DhTVA3umU5hZc28V3kO4stgYryrTlLpuvgI9GiijltAjNbcqA=="], + + "default-browser": ["default-browser@5.2.1", "", { "dependencies": { "bundle-name": "^4.1.0", "default-browser-id": "^5.0.0" } }, "sha512-WY/3TUME0x3KPYdRRxEJJvXRHV4PyPoUsxtZa78lwItwRQRHhd2U9xOscaT/YTf8uCXIAjeJOFBVEh/7FtD8Xg=="], + + "default-browser-id": ["default-browser-id@5.0.0", "", {}, "sha512-A6p/pu/6fyBcA1TRz/GqWYPViplrftcW2gZC9q79ngNCKAeR/X3gcEdXQHl4KNXV+3wgIJ1CPkJQ3IHM6lcsyA=="], + + "define-lazy-prop": ["define-lazy-prop@3.0.0", "", {}, "sha512-N+MeXYoqr3pOgn8xfyRPREN7gHakLYjhsHhWGT3fWAiL4IkAt0iDw14QiiEm2bE30c5XX5q0FtAA3CK5f9/BUg=="], + + "depd": ["depd@2.0.0", "", {}, "sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw=="], + + "diff": ["diff@8.0.2", "", {}, "sha512-sSuxWU5j5SR9QQji/o2qMvqRNYRDOcBTgsJ/DeCf4iSN4gW+gNMXM7wFIP+fdXZxoNiAnHUTGjCr+TSWXdRDKg=="], + + "dunder-proto": ["dunder-proto@1.0.1", "", { "dependencies": { "call-bind-apply-helpers": "^1.0.1", "es-errors": "^1.3.0", "gopd": "^1.2.0" } }, "sha512-KIN/nDJBQRcXw0MLVhZE9iQHmG68qAVIBg9CqmUYjmQIhgij9U5MFvrqkUL5FbtyyzZuOeOt0zdeRe4UY7ct+A=="], + + "ee-first": ["ee-first@1.1.1", "", {}, "sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow=="], + + "encodeurl": ["encodeurl@2.0.0", "", {}, "sha512-Q0n9HRi4m6JuGIV1eFlmvJB7ZEVxu93IrMyiMsGC0lrMJMWzRgx6WGquyfQgZVb31vhGgXnfmPNNXmxnOkRBrg=="], + + "es-define-property": ["es-define-property@1.0.1", "", {}, "sha512-e3nRfgfUZ4rNGL232gUgX06QNyyez04KdjFrF+LTRoOXmrOgFKDg4BCdsjW8EnT69eqdYGmRpJwiPVYNrCaW3g=="], + + "es-errors": ["es-errors@1.3.0", "", {}, "sha512-Zf5H2Kxt2xjTvbJvP2ZWLEICxA6j+hAmMzIlypy4xcBg1vKVnx89Wy0GbS+kf5cwCVFFzdCFh2XSCFNULS6csw=="], + + "es-main": ["es-main@1.4.0", "", {}, "sha512-/rYhbfGK/1E6L7TcoUqmrWbSnOlMoxahiZInSYKbhIZ4/dbclHtXEcrViu4Az9IzYNBT8LcXpPszfS47zbGpwA=="], + + "es-object-atoms": ["es-object-atoms@1.1.1", "", { "dependencies": { "es-errors": "^1.3.0" } }, "sha512-FGgH2h8zKNim9ljj7dankFPcICIK9Cp5bm+c2gQSYePhpaG5+esrLODihIorn+Pe6FGJzWhXQotPv73jTaldXA=="], + + "esbuild": ["esbuild@0.25.11", "", { "optionalDependencies": { "@esbuild/aix-ppc64": "0.25.11", "@esbuild/android-arm": "0.25.11", "@esbuild/android-arm64": "0.25.11", "@esbuild/android-x64": "0.25.11", "@esbuild/darwin-arm64": "0.25.11", "@esbuild/darwin-x64": "0.25.11", "@esbuild/freebsd-arm64": "0.25.11", "@esbuild/freebsd-x64": "0.25.11", "@esbuild/linux-arm": "0.25.11", "@esbuild/linux-arm64": "0.25.11", "@esbuild/linux-ia32": "0.25.11", "@esbuild/linux-loong64": "0.25.11", "@esbuild/linux-mips64el": "0.25.11", "@esbuild/linux-ppc64": "0.25.11", "@esbuild/linux-riscv64": "0.25.11", "@esbuild/linux-s390x": "0.25.11", "@esbuild/linux-x64": "0.25.11", "@esbuild/netbsd-arm64": "0.25.11", "@esbuild/netbsd-x64": "0.25.11", "@esbuild/openbsd-arm64": "0.25.11", "@esbuild/openbsd-x64": "0.25.11", "@esbuild/openharmony-arm64": "0.25.11", "@esbuild/sunos-x64": "0.25.11", "@esbuild/win32-arm64": "0.25.11", "@esbuild/win32-ia32": "0.25.11", "@esbuild/win32-x64": "0.25.11" }, "bin": { "esbuild": "bin/esbuild" } }, "sha512-KohQwyzrKTQmhXDW1PjCv3Tyspn9n5GcY2RTDqeORIdIJY8yKIF7sTSopFmn/wpMPW4rdPXI0UE5LJLuq3bx0Q=="], + + "escape-html": ["escape-html@1.0.3", "", {}, "sha512-NiSupZ4OeuGwr68lGIeym/ksIZMJodUGOSCZ/FSnTxcrekbvqrgdUxlJOMpijaKZVjAJrWrGs/6Jy8OMuyj9ow=="], + + "etag": ["etag@1.8.1", "", {}, "sha512-aIL5Fx7mawVa300al2BnEE4iNvo1qETxLrPI/o05L7z6go7fCw1J6EQmbK4FmJ2AS7kgVF/KEZWufBfdClMcPg=="], + + "express": ["express@5.1.0", "", { "dependencies": { "accepts": "^2.0.0", "body-parser": "^2.2.0", "content-disposition": "^1.0.0", "content-type": "^1.0.5", "cookie": "^0.7.1", "cookie-signature": "^1.2.1", "debug": "^4.4.0", "encodeurl": "^2.0.0", "escape-html": "^1.0.3", "etag": "^1.8.1", "finalhandler": "^2.1.0", "fresh": "^2.0.0", "http-errors": "^2.0.0", "merge-descriptors": "^2.0.0", "mime-types": "^3.0.0", "on-finished": "^2.4.1", "once": "^1.4.0", "parseurl": "^1.3.3", "proxy-addr": "^2.0.7", "qs": "^6.14.0", "range-parser": "^1.2.1", "router": "^2.2.0", "send": "^1.1.0", "serve-static": "^2.2.0", "statuses": "^2.0.1", "type-is": "^2.0.1", "vary": "^1.1.2" } }, "sha512-DT9ck5YIRU+8GYzzU5kT3eHGA5iL+1Zd0EutOmTE9Dtk+Tvuzd23VBU+ec7HPNSTxXYO55gPV/hq4pSBJDjFpA=="], + + "finalhandler": ["finalhandler@2.1.0", "", { "dependencies": { "debug": "^4.4.0", "encodeurl": "^2.0.0", "escape-html": "^1.0.3", "on-finished": "^2.4.1", "parseurl": "^1.3.3", "statuses": "^2.0.1" } }, "sha512-/t88Ty3d5JWQbWYgaOGCCYfXRwV1+be02WqYYlL6h0lEiUAMPM8o8qKGO01YIkOHzka2up08wvgYD0mDiI+q3Q=="], + + "forwarded": ["forwarded@0.2.0", "", {}, "sha512-buRG0fpBtRHSTCOASe6hD258tEubFoRLb4ZNA6NxMVHNw2gOcwHo9wyablzMzOA5z9xA9L1KNjk/Nt6MT9aYow=="], + + "fresh": ["fresh@2.0.0", "", {}, "sha512-Rx/WycZ60HOaqLKAi6cHRKKI7zxWbJ31MhntmtwMoaTeF7XFH9hhBp8vITaMidfljRQ6eYWCKkaTK+ykVJHP2A=="], + + "function-bind": ["function-bind@1.1.2", "", {}, "sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA=="], + + "get-intrinsic": ["get-intrinsic@1.3.0", "", { "dependencies": { "call-bind-apply-helpers": "^1.0.2", "es-define-property": "^1.0.1", "es-errors": "^1.3.0", "es-object-atoms": "^1.1.1", "function-bind": "^1.1.2", "get-proto": "^1.0.1", "gopd": "^1.2.0", "has-symbols": "^1.1.0", "hasown": "^2.0.2", "math-intrinsics": "^1.1.0" } }, "sha512-9fSjSaos/fRIVIp+xSJlE6lfwhES7LNtKaCBIamHsjr2na1BiABJPo0mOjjz8GJDURarmCPGqaiVg5mfjb98CQ=="], + + "get-port": ["get-port@7.1.0", "", {}, "sha512-QB9NKEeDg3xxVwCCwJQ9+xycaz6pBB6iQ76wiWMl1927n0Kir6alPiP+yuiICLLU4jpMe08dXfpebuQppFA2zw=="], + + "get-proto": ["get-proto@1.0.1", "", { "dependencies": { "dunder-proto": "^1.0.1", "es-object-atoms": "^1.0.0" } }, "sha512-sTSfBjoXBp89JvIKIefqw7U2CCebsc74kiY6awiGogKtoSGbgjYE/G/+l9sF3MWFPNc9IcoOC4ODfKHfxFmp0g=="], + + "gopd": ["gopd@1.2.0", "", {}, "sha512-ZUKRh6/kUFoAiTAtTYPZJ3hw9wNxx+BIBOijnlG9PnrJsCcSjs1wyyD6vJpaYtgnzDrKYRSqf3OO6Rfa93xsRg=="], + + "has-symbols": ["has-symbols@1.1.0", "", {}, "sha512-1cDNdwJ2Jaohmb3sg4OmKaMBwuC48sYni5HUw2DvsC8LjGTLK9h+eb1X6RyuOHe4hT0ULCW68iomhjUoKUqlPQ=="], + + "hasown": ["hasown@2.0.2", "", { "dependencies": { "function-bind": "^1.1.2" } }, "sha512-0hJU9SCPvmMzIBdZFqNPXWa6dqh7WdH0cII9y+CyS8rG3nL48Bclra9HmKhVVUHyPWNH5Y7xDwAB7bfgSjkUMQ=="], + + "http-errors": ["http-errors@2.0.0", "", { "dependencies": { "depd": "2.0.0", "inherits": "2.0.4", "setprototypeof": "1.2.0", "statuses": "2.0.1", "toidentifier": "1.0.1" } }, "sha512-FtwrG/euBzaEjYeRqOgly7G0qviiXoJWnvEH2Z1plBdXgbyjv34pHTSb9zoeHMyDy33+DWy5Wt9Wo+TURtOYSQ=="], + + "iconv-lite": ["iconv-lite@0.6.3", "", { "dependencies": { "safer-buffer": ">= 2.1.2 < 3.0.0" } }, "sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw=="], + + "immediate": ["immediate@3.0.6", "", {}, "sha512-XXOFtyqDjNDAQxVfYxuF7g9Il/IbWmmlQg2MYKOH8ExIT1qg6xc4zyS3HaEEATgs1btfzxq15ciUiY7gjSXRGQ=="], + + "inherits": ["inherits@2.0.4", "", {}, "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ=="], + + "ipaddr.js": ["ipaddr.js@1.9.1", "", {}, "sha512-0KI/607xoxSToH7GjN1FfSbLoU0+btTicjsQSWQlh/hZykN8KpmMf7uYwPW3R+akZ6R/w18ZlXSHBYXiYUPO3g=="], + + "is-docker": ["is-docker@3.0.0", "", { "bin": { "is-docker": "cli.js" } }, "sha512-eljcgEDlEns/7AXFosB5K/2nCM4P7FQPkGc/DWLy5rmFEWvZayGrik1d9/QIY5nJ4f9YsVvBkA6kJpHn9rISdQ=="], + + "is-inside-container": ["is-inside-container@1.0.0", "", { "dependencies": { "is-docker": "^3.0.0" }, "bin": { "is-inside-container": "cli.js" } }, "sha512-KIYLCCJghfHZxqjYBE7rEy0OBuTd5xCHS7tHVgvCLkx7StIoaxwNW3hCALgEUjFfeRk+MG/Qxmp/vtETEF3tRA=="], + + "is-promise": ["is-promise@4.0.0", "", {}, "sha512-hvpoI6korhJMnej285dSg6nu1+e6uxs7zG3BYAm5byqDsgJNWwxzM6z6iZiAgQR4TJ30JmBTOwqZUw3WlyH3AQ=="], + + "is-wsl": ["is-wsl@3.1.0", "", { "dependencies": { "is-inside-container": "^1.0.0" } }, "sha512-UcVfVfaK4Sc4m7X3dUSoHoozQGBEFeDC+zVo06t98xe8CzHSZZBekNXH+tu0NalHolcJ/QAGqS46Hef7QXBIMw=="], + + "isarray": ["isarray@1.0.0", "", {}, "sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ=="], + + "isexe": ["isexe@3.1.1", "", {}, "sha512-LpB/54B+/2J5hqQ7imZHfdU31OlgQqx7ZicVlkm9kzg9/w8GKLEcFfJl/t7DCEDueOyBAD6zCCwTO6Fzs0NoEQ=="], + + "jszip": ["jszip@3.7.1", "", { "dependencies": { "lie": "~3.3.0", "pako": "~1.0.2", "readable-stream": "~2.3.6", "set-immediate-shim": "~1.0.1" } }, "sha512-ghL0tz1XG9ZEmRMcEN2vt7xabrDdqHHeykgARpmZ0BiIctWxM47Vt63ZO2dnp4QYt/xJVLLy5Zv1l/xRdh2byg=="], + + "lie": ["lie@3.3.0", "", { "dependencies": { "immediate": "~3.0.5" } }, "sha512-UaiMJzeWRlEujzAuw5LokY1L5ecNQYZKfmyZ9L7wDHb/p5etKaxXhohBcrw0EYby+G/NA52vRSN4N39dxHAIwQ=="], + + "math-intrinsics": ["math-intrinsics@1.1.0", "", {}, "sha512-/IXtbwEk5HTPyEwyKX6hGkYXxM9nbj64B+ilVJnC/R6B0pH5G4V3b0pVbL7DBj4tkhBAppbQUlf6F6Xl9LHu1g=="], + + "media-typer": ["media-typer@1.1.0", "", {}, "sha512-aisnrDP4GNe06UcKFnV5bfMNPBUw4jsLGaWwWfnH3v02GnBuXX2MCVn5RbrWo0j3pczUilYblq7fQ7Nw2t5XKw=="], + + "merge-descriptors": ["merge-descriptors@2.0.0", "", {}, "sha512-Snk314V5ayFLhp3fkUREub6WtjBfPdCPY1Ln8/8munuLuiYhsABgBVWsozAG+MWMbVEvcdcpbi9R7ww22l9Q3g=="], + + "mime-db": ["mime-db@1.54.0", "", {}, "sha512-aU5EJuIN2WDemCcAp2vFBfp/m4EAhWJnUNSSw0ixs7/kXbd6Pg64EmwJkNdFhB8aWt1sH2CTXrLxo/iAGV3oPQ=="], + + "mime-types": ["mime-types@3.0.1", "", { "dependencies": { "mime-db": "^1.54.0" } }, "sha512-xRc4oEhT6eaBpU1XF7AjpOFD+xQmXNB5OVKwp4tqCuBpHLS/ZbBDrc07mYTDqVMg6PfxUjjNp85O6Cd2Z/5HWA=="], + + "minimatch": ["minimatch@10.0.3", "", { "dependencies": { "@isaacs/brace-expansion": "^5.0.0" } }, "sha512-IPZ167aShDZZUMdRk66cyQAW3qr0WzbHkPdMYa8bzZhlHhO3jALbKdxcaak7W9FfT2rZNpQuUu4Od7ILEpXSaw=="], + + "ms": ["ms@2.1.3", "", {}, "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA=="], + + "negotiator": ["negotiator@1.0.0", "", {}, "sha512-8Ofs/AUQh8MaEcrlq5xOX0CQ9ypTF5dl78mjlMNfOK08fzpgTHQRQPBxcPlEtIw0yRpws+Zo/3r+5WRby7u3Gg=="], + + "object-inspect": ["object-inspect@1.13.4", "", {}, "sha512-W67iLl4J2EXEGTbfeHCffrjDfitvLANg0UlX3wFUUSTx92KXRFegMHUVgSqE+wvhAbi4WqjGg9czysTV2Epbew=="], + + "on-finished": ["on-finished@2.4.1", "", { "dependencies": { "ee-first": "1.1.1" } }, "sha512-oVlzkg3ENAhCk2zdv7IJwd/QUD4z2RxRwpkcGY8psCVcCYZNq4wYnVWALHM+brtuJjePWiYF/ClmuDr8Ch5+kg=="], + + "once": ["once@1.4.0", "", { "dependencies": { "wrappy": "1" } }, "sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w=="], + + "open": ["open@10.2.0", "", { "dependencies": { "default-browser": "^5.2.1", "define-lazy-prop": "^3.0.0", "is-inside-container": "^1.0.0", "wsl-utils": "^0.1.0" } }, "sha512-YgBpdJHPyQ2UE5x+hlSXcnejzAvD0b22U2OuAP+8OnlJT+PjWPxtgmGqKKc+RgTM63U9gN0YzrYc71R2WT/hTA=="], + + "pako": ["pako@1.0.11", "", {}, "sha512-4hLB8Py4zZce5s4yd9XzopqwVv/yGNhV1Bl8NTmCq1763HeK2+EwVTv+leGeL13Dnh2wfbqowVPXCIO0z4taYw=="], + + "parseurl": ["parseurl@1.3.3", "", {}, "sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ=="], + + "path-to-regexp": ["path-to-regexp@8.3.0", "", {}, "sha512-7jdwVIRtsP8MYpdXSwOS0YdD0Du+qOoF/AEPIt88PcCFrZCzx41oxku1jD88hZBwbNUIEfpqvuhjFaMAqMTWnA=="], + + "process-nextick-args": ["process-nextick-args@2.0.1", "", {}, "sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag=="], + + "proxy-addr": ["proxy-addr@2.0.7", "", { "dependencies": { "forwarded": "0.2.0", "ipaddr.js": "1.9.1" } }, "sha512-llQsMLSUDUPT44jdrU/O37qlnifitDP+ZwrmmZcoSKyLKvtZxpyV0n2/bD/N4tBAAZ/gJEdZU7KMraoK1+XYAg=="], + + "qs": ["qs@6.14.0", "", { "dependencies": { "side-channel": "^1.1.0" } }, "sha512-YWWTjgABSKcvs/nWBi9PycY/JiPJqOD4JA6o9Sej2AtvSGarXxKC3OQSk4pAarbdQlKAh5D4FCQkJNkW+GAn3w=="], + + "range-parser": ["range-parser@1.2.1", "", {}, "sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg=="], + + "raw-body": ["raw-body@3.0.1", "", { "dependencies": { "bytes": "3.1.2", "http-errors": "2.0.0", "iconv-lite": "0.7.0", "unpipe": "1.0.0" } }, "sha512-9G8cA+tuMS75+6G/TzW8OtLzmBDMo8p1JRxN5AZ+LAp8uxGA8V8GZm4GQ4/N5QNQEnLmg6SS7wyuSmbKepiKqA=="], + + "readable-stream": ["readable-stream@2.3.8", "", { "dependencies": { "core-util-is": "~1.0.0", "inherits": "~2.0.3", "isarray": "~1.0.0", "process-nextick-args": "~2.0.0", "safe-buffer": "~5.1.1", "string_decoder": "~1.1.1", "util-deprecate": "~1.0.1" } }, "sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA=="], + + "router": ["router@2.2.0", "", { "dependencies": { "debug": "^4.4.0", "depd": "^2.0.0", "is-promise": "^4.0.0", "parseurl": "^1.3.3", "path-to-regexp": "^8.0.0" } }, "sha512-nLTrUKm2UyiL7rlhapu/Zl45FwNgkZGaCpZbIHajDYgwlJCOzLSk+cIPAnsEqV955GjILJnKbdQC1nVPz+gAYQ=="], + + "run-applescript": ["run-applescript@7.1.0", "", {}, "sha512-DPe5pVFaAsinSaV6QjQ6gdiedWDcRCbUuiQfQa2wmWV7+xC9bGulGI8+TdRmoFkAPaBXk8CrAbnlY2ISniJ47Q=="], + + "safe-buffer": ["safe-buffer@5.2.1", "", {}, "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ=="], + + "safer-buffer": ["safer-buffer@2.1.2", "", {}, "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg=="], + + "send": ["send@1.2.0", "", { "dependencies": { "debug": "^4.3.5", "encodeurl": "^2.0.0", "escape-html": "^1.0.3", "etag": "^1.8.1", "fresh": "^2.0.0", "http-errors": "^2.0.0", "mime-types": "^3.0.1", "ms": "^2.1.3", "on-finished": "^2.4.1", "range-parser": "^1.2.1", "statuses": "^2.0.1" } }, "sha512-uaW0WwXKpL9blXE2o0bRhoL2EGXIrZxQ2ZQ4mgcfoBxdFmQold+qWsD2jLrfZ0trjKL6vOw0j//eAwcALFjKSw=="], + + "serve-static": ["serve-static@2.2.0", "", { "dependencies": { "encodeurl": "^2.0.0", "escape-html": "^1.0.3", "parseurl": "^1.3.3", "send": "^1.2.0" } }, "sha512-61g9pCh0Vnh7IutZjtLGGpTA355+OPn2TyDv/6ivP2h/AdAVX9azsoxmg2/M6nZeQZNYBEwIcsne1mJd9oQItQ=="], + + "set-immediate-shim": ["set-immediate-shim@1.0.1", "", {}, "sha512-Li5AOqrZWCVA2n5kryzEmqai6bKSIvpz5oUJHPVj6+dsbD3X1ixtsY5tEnsaNpH3pFAHmG8eIHUrtEtohrg+UQ=="], + + "setprototypeof": ["setprototypeof@1.2.0", "", {}, "sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw=="], + + "side-channel": ["side-channel@1.1.0", "", { "dependencies": { "es-errors": "^1.3.0", "object-inspect": "^1.13.3", "side-channel-list": "^1.0.0", "side-channel-map": "^1.0.1", "side-channel-weakmap": "^1.0.2" } }, "sha512-ZX99e6tRweoUXqR+VBrslhda51Nh5MTQwou5tnUDgbtyM0dBgmhEDtWGP/xbKn6hqfPRHujUNwz5fy/wbbhnpw=="], + + "side-channel-list": ["side-channel-list@1.0.0", "", { "dependencies": { "es-errors": "^1.3.0", "object-inspect": "^1.13.3" } }, "sha512-FCLHtRD/gnpCiCHEiJLOwdmFP+wzCmDEkc9y7NsYxeF4u7Btsn1ZuwgwJGxImImHicJArLP4R0yX4c2KCrMrTA=="], + + "side-channel-map": ["side-channel-map@1.0.1", "", { "dependencies": { "call-bound": "^1.0.2", "es-errors": "^1.3.0", "get-intrinsic": "^1.2.5", "object-inspect": "^1.13.3" } }, "sha512-VCjCNfgMsby3tTdo02nbjtM/ewra6jPHmpThenkTYh8pG9ucZ/1P8So4u4FGBek/BjpOVsDCMoLA/iuBKIFXRA=="], + + "side-channel-weakmap": ["side-channel-weakmap@1.0.2", "", { "dependencies": { "call-bound": "^1.0.2", "es-errors": "^1.3.0", "get-intrinsic": "^1.2.5", "object-inspect": "^1.13.3", "side-channel-map": "^1.0.1" } }, "sha512-WPS/HvHQTYnHisLo9McqBHOJk2FkHO/tlpvldyrnem4aeQp4hai3gythswg6p01oSoTl58rcpiFAjF2br2Ak2A=="], + + "statuses": ["statuses@2.0.2", "", {}, "sha512-DvEy55V3DB7uknRo+4iOGT5fP1slR8wQohVdknigZPMpMstaKJQWhwiYBACJE3Ul2pTnATihhBYnRhZQHGBiRw=="], + + "string_decoder": ["string_decoder@1.1.1", "", { "dependencies": { "safe-buffer": "~5.1.0" } }, "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg=="], + + "sudo-prompt": ["sudo-prompt@9.2.1", "", {}, "sha512-Mu7R0g4ig9TUuGSxJavny5Rv0egCEtpZRNMrZaYS1vxkiIxGiGUwoezU3LazIQ+KE04hTrTfNPgxU5gzi7F5Pw=="], + + "toidentifier": ["toidentifier@1.0.1", "", {}, "sha512-o5sSPKEkg/DIQNmH43V0/uerLrpzVedkUh8tGNvaeXpfpuwjKenlSox/2O/BTlZUtEe+JG7s5YhEz608PlAHRA=="], + + "type-is": ["type-is@2.0.1", "", { "dependencies": { "content-type": "^1.0.5", "media-typer": "^1.1.0", "mime-types": "^3.0.0" } }, "sha512-OZs6gsjF4vMp32qrCbiVSkrFmXtG/AZhY3t0iAMrMBiAZyV9oALtXO8hsrHbMXF9x6L3grlFuwW2oAz7cav+Gw=="], + + "unpipe": ["unpipe@1.0.0", "", {}, "sha512-pjy2bYhSsufwWlKwPc+l3cN7+wuJlK6uz0YdJEOlQDbl6jo/YlPi4mb8agUkVC8BF7V8NuzeyPNqRksA3hztKQ=="], + + "util-deprecate": ["util-deprecate@1.0.2", "", {}, "sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw=="], + + "vary": ["vary@1.1.2", "", {}, "sha512-BNGbWLfd0eUPabhkXUVm0j8uuvREyTh5ovRa/dyow/BqAbZJyC+5fU+IzQOzmAKzYqYRAISoRhdQr3eIZ/PXqg=="], + + "which": ["which@4.0.0", "", { "dependencies": { "isexe": "^3.1.1" }, "bin": { "node-which": "bin/which.js" } }, "sha512-GlaYyEb07DPxYCKhKzplCWBJtvxZcZMrL+4UkrTSJHHPyZU4mYYTv3qaOe77H7EODLSSopAUFAc6W8U4yqvscg=="], + + "windmill-cli": ["windmill-cli@1.566.1", "", { "dependencies": { "@ayonli/jsext": "*", "@deno/shim-deno": "~0.18.0", "diff": "*", "es-main": "*", "esbuild": "*", "express": "*", "get-port": "7.1.0", "jszip": "3.7.1", "minimatch": "*", "open": "*", "ws": "*" }, "bin": { "wmill": "esm/src/main.js" } }, "sha512-dyhcg/fBjOw1GvXxsFI/L+UGgoKTXUBzzVIF7p7HMcNUkD302Uf2l2MwnbJeyYT3czJ8L2oz46/5w2Rq2u/Vhg=="], + + "wrappy": ["wrappy@1.0.2", "", {}, "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ=="], + + "ws": ["ws@8.18.3", "", { "peerDependencies": { "bufferutil": "^4.0.1", "utf-8-validate": ">=5.0.2" }, "optionalPeers": ["bufferutil", "utf-8-validate"] }, "sha512-PEIGCY5tSlUt50cqyMXfCzX+oOPqN0vuGqWzbcJ2xvnkzkq46oOpz7dQaTDBdfICb4N14+GARUDw2XV2N4tvzg=="], + + "wsl-utils": ["wsl-utils@0.1.0", "", { "dependencies": { "is-wsl": "^3.1.0" } }, "sha512-h3Fbisa2nKGPxCpm89Hk33lBLsnaGBvctQopaBSOW/uIs6FTe1ATyAnKFJrzVs9vpGdsTe73WF3V4lIsk4Gacw=="], + + "zod": ["zod@3.25.76", "", {}, "sha512-gzUt/qt81nXsFGKIFcC3YnfEAx5NkunCfnDlvuBSSFS02bcXu4Lmea0AFIUwbLWxWPx3d9p8S5QoaujKcNQxcQ=="], + + "http-errors/statuses": ["statuses@2.0.1", "", {}, "sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ=="], + + "raw-body/iconv-lite": ["iconv-lite@0.7.0", "", { "dependencies": { "safer-buffer": ">= 2.1.2 < 3.0.0" } }, "sha512-cf6L2Ds3h57VVmkZe+Pn+5APsT7FpqJtEhhieDCvrE2MK5Qk9MyffgQyuxQTm6BChfeZNtcOLHp9IcWRVcIcBQ=="], + + "readable-stream/safe-buffer": ["safe-buffer@5.1.2", "", {}, "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g=="], + + "string_decoder/safe-buffer": ["safe-buffer@5.1.2", "", {}, "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g=="], + } +} \ No newline at end of file diff --git a/u/admin/hub_sync.script.yaml b/u/admin/hub_sync.script.yaml new file mode 100644 index 0000000..ced1bcf --- /dev/null +++ b/u/admin/hub_sync.script.yaml @@ -0,0 +1,11 @@ +summary: Synchronize Hub Resource types with instance +description: >- + Sync latest resource types from hub to share to every workspace. Recommended + to run at least once. On a schedule by default. +lock: '!inline u/admin/hub_sync.script.lock' +kind: script +schema: + $schema: 'https://json-schema.org/draft/2020-12/schema' + type: object + properties: {} + required: [] diff --git a/u/admin/hub_sync.ts b/u/admin/hub_sync.ts new file mode 100644 index 0000000..95a469a --- /dev/null +++ b/u/admin/hub_sync.ts @@ -0,0 +1,5 @@ +import * as wmill from "windmill-cli@1.566.1" + +export async function main() { + await wmill.hubPull({ workspace: "admins", token: process.env["WM_TOKEN"], baseUrl: process.env["BASE_URL"] }); +} diff --git a/u/antigravity/git_sync.flow/a.inline_script.sh b/u/antigravity/git_sync.flow/a.inline_script.sh new file mode 100644 index 0000000..8747d78 --- /dev/null +++ b/u/antigravity/git_sync.flow/a.inline_script.sh @@ -0,0 +1,23 @@ +#!/bin/bash +set -x +export WM_BASE_URL="http://windmill_server:8000" +export WM_WORKSPACE="admins" +export PATH=$HOME/.npm-global/bin:$PATH + +echo "=== START SYNC ===" + +if ! command -v wmill &> /dev/null; then + npm install -g windmill-cli +fi + +cd /workspace +wmill sync pull --token "$WM_TOKEN" --base-url "$WM_BASE_URL" --workspace "$WM_WORKSPACE" --skip-variables --skip-secrets --skip-resources --yes --verbose || exit 1 + +git config --global --add safe.directory /workspace +git config --global user.email "bot@example.com" +git config --global user.name "Bot" + +git add . +git commit -m "Auto-sync $(date)" || echo "No changes" + +echo "=== END SYNC ===" diff --git a/u/antigravity/git_sync.flow/flow.yaml b/u/antigravity/git_sync.flow/flow.yaml new file mode 100644 index 0000000..b266bd6 --- /dev/null +++ b/u/antigravity/git_sync.flow/flow.yaml @@ -0,0 +1,17 @@ +summary: Git Sync Workflow +description: Automatically sync Windmill workflows to Git repository +value: + modules: + - id: a + value: + type: rawscript + content: '!inline a.inline_script.sh' + input_transforms: {} + lock: '' + language: bash +schema: + $schema: 'https://json-schema.org/draft/2020-12/schema' + type: object + order: [] + properties: {} + required: [] diff --git a/u/antigravity/hello_world_demo.flow/a.inline_script.lock b/u/antigravity/hello_world_demo.flow/a.inline_script.lock new file mode 100644 index 0000000..c24eb1c --- /dev/null +++ b/u/antigravity/hello_world_demo.flow/a.inline_script.lock @@ -0,0 +1,5 @@ +{ + "dependencies": {} +} +//bun.lock + \ No newline at end of file diff --git a/u/antigravity/hello_world_demo.flow/a.inline_script.ts b/u/antigravity/hello_world_demo.flow/a.inline_script.ts new file mode 100644 index 0000000..7081ed6 --- /dev/null +++ b/u/antigravity/hello_world_demo.flow/a.inline_script.ts @@ -0,0 +1,3 @@ +export async function main() { + return "Hello, World!" + } \ No newline at end of file diff --git a/u/antigravity/hello_world_demo.flow/flow.yaml b/u/antigravity/hello_world_demo.flow/flow.yaml new file mode 100644 index 0000000..04c3c06 --- /dev/null +++ b/u/antigravity/hello_world_demo.flow/flow.yaml @@ -0,0 +1,17 @@ +summary: hello_world_demo +description: '' +value: + modules: + - id: a + value: + type: rawscript + content: '!inline a.inline_script.ts' + input_transforms: {} + lock: '!inline a.inline_script.lock' + language: bun +schema: + $schema: 'https://json-schema.org/draft/2020-12/schema' + type: object + order: [] + properties: {} + required: [] diff --git a/u/antigravity/test_git_sync.py b/u/antigravity/test_git_sync.py new file mode 100644 index 0000000..ec9c593 --- /dev/null +++ b/u/antigravity/test_git_sync.py @@ -0,0 +1,4 @@ +def main(): + print("Hello from Git Sync Test") + return {"status": "success"} + \ No newline at end of file diff --git a/u/antigravity/test_git_sync.script.lock b/u/antigravity/test_git_sync.script.lock new file mode 100644 index 0000000..3aacf1d --- /dev/null +++ b/u/antigravity/test_git_sync.script.lock @@ -0,0 +1 @@ +# py: 3.12 diff --git a/u/antigravity/test_git_sync.script.yaml b/u/antigravity/test_git_sync.script.yaml new file mode 100644 index 0000000..3ff2bb7 --- /dev/null +++ b/u/antigravity/test_git_sync.script.yaml @@ -0,0 +1,9 @@ +summary: Test script for Git auto-sync +description: Test workflow for Git auto-sync +lock: '!inline u/antigravity/test_git_sync.script.lock' +kind: script +schema: + $schema: 'https://json-schema.org/draft/2020-12/schema' + type: object + properties: {} + required: [] diff --git a/wmill-lock.yaml b/wmill-lock.yaml new file mode 100644 index 0000000..382e884 --- /dev/null +++ b/wmill-lock.yaml @@ -0,0 +1,10 @@ +version: v2 +locks: + g/all/setup_app.app+__app_hash: e739ad7d5382a4d2875292ad57674db96941cdef94b62e641fe8dc0b637ea8a3 + g/all/setup_app.app+change_account.inline_script.deno.ts: 3c592cac27e9cdab0de6ae19270bcb08c7fa54355ad05253a12de2351894346b + u/admin/hub_sync: aaf9fd803fa229f3029d1bb02bbe3cc422fce680cad39c4eec8dd1da115de102 + u/antigravity/git_sync.flow+__flow_hash: 2746e0693fa46e12e7e31f9d6a3f7162ddea17c45a8b9f6cf2ad82a29fcd6ba3 + u/antigravity/git_sync.flow+a.inline_script.sh: 7a7723d3bdcc0509991300ee0156f77ad3617fa69f523c9e5ced41af3a8025f7 + u/antigravity/hello_world_demo.flow+__flow_hash: 5573cb11888dbeb2c10fdbb67cb1ca40dd0c2cf102bf1fd2b2665c0553eb00e1 + u/antigravity/hello_world_demo.flow+a.inline_script.ts: 53669a285c16d4ba322888755a33424521f769e9ebf64fc1f0cb21f9952b5958 + u/antigravity/test_git_sync: 6461260a743de38a8c37d4b6083d481a73a6fde8c17cad1976d6635dca11362c diff --git a/workflows/u/antigravity/git_sync__flow/a.sh b/workflows/u/antigravity/git_sync__flow/a.sh index cd4d62b..4784412 100644 --- a/workflows/u/antigravity/git_sync__flow/a.sh +++ b/workflows/u/antigravity/git_sync__flow/a.sh @@ -1,94 +1,22 @@ #!/bin/bash set -x -exec > >(tee -a /tmp/debug_script.log) 2>&1 +export WM_BASE_URL="http://windmill_server:8000" +export WM_WORKSPACE="admins" +export PATH=$HOME/.npm-global/bin:$PATH -echo "=== Windmill Workflow Git Sync ===" +echo "=== START SYNC ===" -# ----------------------------------------------------------------------------- -# Configuration & Checks -# ----------------------------------------------------------------------------- - -# Ensure Windmill CLI variables are set -if [[ -z "${WM_TOKEN}" ]]; then - echo "Warning: WM_TOKEN is not set. attempting to continue assuming ~/.config/windmill/config.toml exists." - echo "If this fails, please set WM_TOKEN and WM_BASE_URL variables in the Windmill workspace settings or workflow input." -fi - -# Configure Git for the container -# This is necessary because the script runs inside a Docker container -# where the global git config might not be set. -echo "Configuring Git..." -git config --global --add safe.directory /workspace -if [ -z "$(git config --global user.email)" ]; then - git config --global user.email "windmill-bot@example.com" - git config --global user.name "Windmill Bot" -fi - -# ----------------------------------------------------------------------------- -# Execution -# ----------------------------------------------------------------------------- - -# Move to workspace directory (mapped to /home/akira/develop/windmill) -# We need to be in the workflows directory where wmill.yaml is likely located -# to ensure configuration (like includeSchedules) is respected. -if [ -d "/workspace/workflows" ]; then - cd /workspace/workflows -elif [ -d "/workspace" ]; then - cd /workspace -else - echo "Error: /workspace directory not found. Is the volume mounted correctly?" - exit 1 -fi - -# Set PATH to ensure wmill is available -export PATH=~/.npm-global/bin:$PATH - -# Check if wmill is available if ! command -v wmill &> /dev/null; then - echo "wmill command not found. Attempting to install windmill-client..." - # Try installing using pip if npm is not available, or npm - if command -v npm &> /dev/null; then - npm install -g windmill-cli - else - echo "Error: npm not found. Cannot install wmill client." - exit 1 - fi + npm install -g windmill-cli fi -# Pull latest from Windmill -echo "Pulling from Windmill..." -# wmill sync pull will use the workspace defined in wmill.yaml or env vars. -# We add --yes to avoid prompts. -if wmill sync pull --skip-variables --skip-secrets --skip-resources --yes --verbose; then - echo "Successfully pulled from Windmill." -else - echo "Error: wmill sync pull failed. Check your WM_TOKEN and connection." - exit 1 -fi +wmill sync pull --token "$WM_TOKEN" --base-url "$WM_BASE_URL" --workspace "$WM_WORKSPACE" --skip-variables --skip-secrets --skip-resources --yes --verbose || exit 1 + +git config --global --add safe.directory /workspace +git config --global user.email "bot@example.com" +git config --global user.name "Bot" -# Check for changes -# Force add everything first to capture untracked files git add . +git commit -m "Auto-sync $(date)" || echo "No changes" -if [[ -n $(git status --porcelain) ]]; then - echo "Changes detected, committing to Git..." - - # Commit - TIMESTAMP=$(date '+%Y-%m-%d %H:%M:%S') - - # Use explicit config to ensure commit works even if global config fails - if git -c user.email="windmill-bot@example.com" -c user.name="Windmill Bot" commit -m "Auto-sync: ${TIMESTAMP} - -Synced workflows from Windmill workspace"; then - echo "✓ Changes committed to Git" - echo "Successfully synced and committed changes at ${TIMESTAMP}" - else - echo "Error: Git commit failed." - exit 1 - fi -else - echo "✓ No changes detected" - echo "No changes to commit" -fi - -echo "=== Sync Complete ===" +echo "=== END SYNC ===" diff --git a/workflows/wmill-lock.yaml b/workflows/wmill-lock.yaml index ee92d1e..9714be6 100644 --- a/workflows/wmill-lock.yaml +++ b/workflows/wmill-lock.yaml @@ -3,6 +3,8 @@ locks: g/all/setup_app__app+__app_hash: d71add32e14e552d1a4c861c972a50d9598b07c0af201bbadec5b59bbd99d7e3 g/all/setup_app__app+change_account.deno.ts: 3c592cac27e9cdab0de6ae19270bcb08c7fa54355ad05253a12de2351894346b u/admin/hub_sync: aaf9fd803fa229f3029d1bb02bbe3cc422fce680cad39c4eec8dd1da115de102 + u/antigravity/git_sync__flow+__flow_hash: 747f089a941b4fede4e17d92132c523be583291cdbbea7f523421409f443f6f0 + u/antigravity/git_sync__flow+a.sh: 615cae3132332c6b63ebc41d99bebe582577f9bb99102a9587c1f8cce56b853a u/antigravity/hello_world_demo__flow+__flow_hash: 0adc341960f8196454876684f85fe14ef087ba470322d2aabc99b37bf61edac9 u/antigravity/hello_world_demo__flow+a.ts: 53669a285c16d4ba322888755a33424521f769e9ebf64fc1f0cb21f9952b5958 u/antigravity/test_git_sync: 6461260a743de38a8c37d4b6083d481a73a6fde8c17cad1976d6635dca11362c diff --git a/x.txt b/x.txt new file mode 100644 index 0000000..4bbd8f8 --- /dev/null +++ b/x.txt @@ -0,0 +1,13 @@ +合計 56 +drwxrwxr-x 4 akira akira 4096 2月 13 17:30 . +drwxrwxr-x 5 akira akira 4096 2月 11 17:42 .. +-rw-rw-r-- 1 akira akira 479 2月 11 17:47 .env +drwxrwxr-x 8 akira akira 4096 2月 13 16:53 .git +-rw-rw-r-- 1 akira akira 592 2月 11 21:59 .gitignore +-rw-rw-r-- 1 akira akira 1041 2月 11 17:47 Caddyfile +-rw-rw-r-- 1 akira akira 7613 2月 13 14:02 docker-compose.yml +-rwxrwxr-x 1 akira akira 1092 2月 11 21:59 sync_to_git.sh +-rw-r--r-- 1 akira akira 6909 2月 11 22:05 walkthrough.md.resolved +-rw-r--r-- 1 akira akira 5917 2月 11 19:17 windmill_initial_setup_guide_ja.md.resolved +drwxrwxr-x 5 akira akira 4096 2月 11 21:52 workflows +-rw-rw-r-- 1 akira akira 0 2月 13 17:30 x.txt