From b5460639980f05f35d072f38ea111dd83bd58eaa Mon Sep 17 00:00:00 2001 From: github-ops Date: Wed, 17 Jun 2026 06:15:46 +0000 Subject: [PATCH] chore: publish clean community baseline --- .dockerignore | 18 + .env.example | 36 + .gitea/workflows/ci.yml | 144 + .gitea/workflows/deploy.yml | 230 + .gitea/workflows/release.yml | 100 + .gitignore | 24 + ...c94b6fb3bbcb19c7a621c78c5a6d3698bdf4d.json | 100 + ...54d3a84d9870e10e86bbe0d9c9fd99bf8a1f5.json | 167 + ...811977fbdf181436573fa96415ccfcb5fecb2.json | 53 + ...7dbdad5d055887ef5fabd82552d4fe704f891.json | 65 + ...de4910e8d7c2b1b17055fdd1c54206e55a874.json | 83 + ...cb6ea0a48c1ae74d614d63023e6dc0687f47c.json | 48 + ...52d762d66cffdc449ee6f73c74c1d23a17314.json | 23 + ...c1cf462f49f0e2fe93e9230d15f97710b74ee.json | 23 + ...f569de7c0ffd3b8ca73e6c01f0842ace4ad25.json | 52 + ...006b4aec8f55fa070f9f2ff3859dc7cb96d06.json | 52 + ...8a1c87d1cd184973bf1cecc0c725691432c08.json | 25 + ...a040415a5f6eef589e9a264b9b1fd687353b7.json | 58 + ...e37c488eb2420207e9c4fa682993eda20cd62.json | 164 + ...bd063dc5746ef669f21b0db1b5843e9db22d0.json | 65 + ...8b68c15efa72029740e28bb881f54f73a6b9b.json | 23 + ...8d84377b417efb30c7bdc38d4e3746a0c1a7a.json | 166 + ...dea62bdfae0ba66100589ead3f986244b4cbb.json | 64 + ...82e9da706a34d17adf0bc94ddb4e7a3818c18.json | 82 + ...46db6f0f7d17e6867f929c44027990fb94b57.json | 94 + ...5658f7f094844b892c999e6f58d6f92fbe0c2.json | 168 + ...940b65d2167dada6b6110985ce0bd95480b93.json | 99 + ...11e19377582ec0ca245a162c2d2236077bb9b.json | 58 + ...1e970ff08427f9a3dd396b649996a9131260c.json | 64 + ...17f9c01c9e5cbc1eea5511005d572a0776edc.json | 64 + ...46ad2ffe665efc5f11252136bee340a3a4a89.json | 71 + ...59ce42857433dd11580659481c562f9d9ab3f.json | 56 + ...5a2785c0a612ff739e341e28d0831b7170f6b.json | 70 + ...3d14019ba405a07a8360b68e8c9c5597e17ce.json | 203 + ...dc8a6d4068e33a5509f9e314dd0d97eac178b.json | 98 + ...0a2f07bc89aec46cdbe1e856700fa57674f41.json | 64 + ...8f932919d2882f3dcb5a7f865fb4448506d05.json | 101 + ...a53d8a109b8aa766ab1c2b11f9b52e250adc8.json | 94 + ...9680bf9f0d131785c310936bdf603d74c118d.json | 59 + ...793eb1d1ad17505b1e1609a842750e3233ec2.json | 59 + ...a5022c7ddac2ffe2a1969b2c6a2ed72c3730a.json | 53 + ...ff21a2f73a4416d0cf20be418bba36def9eb4.json | 40 + Cargo.lock | 3330 ++++++++++++ Cargo.toml | 41 + Crank.png | Bin 0 -> 2711276 bytes LICENSE | 21 + README.md | 234 + apps/admin-api/Cargo.toml | 39 + apps/admin-api/Dockerfile | 68 + apps/admin-api/src/app.rs | 3957 +++++++++++++++ apps/admin-api/src/auth.rs | 124 + apps/admin-api/src/error.rs | 571 +++ apps/admin-api/src/lib.rs | 9 + apps/admin-api/src/main.rs | 156 + apps/admin-api/src/rate_limit.rs | 106 + apps/admin-api/src/request_context.rs | 165 + apps/admin-api/src/routes.rs | 21 + apps/admin-api/src/routes/access.rs | 287 ++ apps/admin-api/src/routes/agents.rs | 242 + apps/admin-api/src/routes/auth.rs | 109 + apps/admin-api/src/routes/auth_profiles.rs | 56 + apps/admin-api/src/routes/capabilities.rs | 8 + apps/admin-api/src/routes/machine_auth.rs | 124 + apps/admin-api/src/routes/observability.rs | 100 + apps/admin-api/src/routes/operations.rs | 283 ++ apps/admin-api/src/routes/secrets.rs | 98 + apps/admin-api/src/routes/streaming.rs | 16 + apps/admin-api/src/routes/workspaces.rs | 58 + apps/admin-api/src/service.rs | 4506 +++++++++++++++++ apps/admin-api/src/state.rs | 8 + apps/admin-api/src/storage.rs | 84 + apps/mcp-server/Cargo.toml | 36 + apps/mcp-server/Dockerfile | 68 + apps/mcp-server/src/main.rs | 3507 +++++++++++++ apps/ui/Dockerfile | 18 + apps/ui/css/catalog.css | 579 +++ apps/ui/css/layout.css | 218 + apps/ui/css/login.css | 265 + apps/ui/css/logs.css | 136 + apps/ui/css/pages.css | 1755 +++++++ apps/ui/css/settings.css | 205 + apps/ui/css/usage.css | 145 + apps/ui/css/variables.css | 64 + apps/ui/css/wizard.css | 2000 ++++++++ apps/ui/css/workspace-setup.css | 228 + apps/ui/data/agents.json | 58 + apps/ui/data/keys.json | 15 + apps/ui/data/operations.json | 134 + apps/ui/html/agents.html | 394 ++ apps/ui/html/api-keys.html | 319 ++ apps/ui/html/fragments/lang-switcher.html | 13 + apps/ui/html/login.html | 54 + apps/ui/html/logs.html | 142 + apps/ui/html/secrets.html | 242 + apps/ui/html/settings.html | 330 ++ apps/ui/html/usage.html | 234 + apps/ui/html/wizard/index.html | 267 + apps/ui/html/wizard/step1.html | 69 + apps/ui/html/wizard/step2.html | 224 + apps/ui/html/wizard/step3-rest.html | 93 + apps/ui/html/wizard/step4.html | 158 + apps/ui/html/wizard/step5.html | 265 + apps/ui/html/workspace-setup.html | 322 ++ apps/ui/icons/agents/agent.svg | 9 + apps/ui/icons/agents/eye.svg | 7 + apps/ui/icons/agents/key.svg | 6 + apps/ui/icons/general/arrow-down.svg | 6 + apps/ui/icons/general/arrow-left.svg | 6 + apps/ui/icons/general/arrow-right.svg | 6 + apps/ui/icons/general/arrow-up.svg | 6 + apps/ui/icons/general/bell.svg | 6 + apps/ui/icons/general/check-sm.svg | 6 + apps/ui/icons/general/check.svg | 6 + apps/ui/icons/general/chevron-down.svg | 6 + apps/ui/icons/general/close.svg | 6 + apps/ui/icons/general/copy.svg | 6 + apps/ui/icons/general/crank-logo.svg | 8 + apps/ui/icons/general/download.svg | 6 + apps/ui/icons/general/edit.svg | 6 + apps/ui/icons/general/external.svg | 6 + apps/ui/icons/general/grid.svg | 6 + apps/ui/icons/general/info-circle.svg | 7 + apps/ui/icons/general/info.svg | 6 + apps/ui/icons/general/logout.svg | 7 + apps/ui/icons/general/plus-sm.svg | 6 + apps/ui/icons/general/plus.svg | 6 + apps/ui/icons/general/refresh.svg | 6 + apps/ui/icons/general/search.svg | 6 + apps/ui/icons/general/settings.svg | 7 + apps/ui/icons/general/trash.svg | 6 + apps/ui/icons/general/user.svg | 6 + apps/ui/icons/general/warning.svg | 7 + apps/ui/icons/login/google.svg | 9 + apps/ui/icons/wizard/clock.svg | 7 + apps/ui/icons/wizard/code.svg | 6 + apps/ui/icons/wizard/file.svg | 6 + apps/ui/icons/wizard/graphql-protocol.svg | 12 + apps/ui/icons/wizard/grpc-protocol.svg | 8 + apps/ui/icons/wizard/reflection.svg | 7 + apps/ui/icons/wizard/rest-protocol.svg | 6 + apps/ui/icons/wizard/server.svg | 9 + apps/ui/icons/wizard/upload.svg | 6 + apps/ui/index.html | 418 ++ apps/ui/js/agents.js | 499 ++ apps/ui/js/api-keys.js | 620 +++ apps/ui/js/api.js | 351 ++ apps/ui/js/auth.js | 253 + apps/ui/js/catalog.js | 535 ++ apps/ui/js/config.js | 16 + apps/ui/js/diagnostics.js | 111 + apps/ui/js/dom.js | 32 + apps/ui/js/i18n.js | 2099 ++++++++ apps/ui/js/login.js | 54 + apps/ui/js/logs.js | 419 ++ apps/ui/js/nav.js | 76 + apps/ui/js/overlay-loader.js | 75 + apps/ui/js/secrets.js | 707 +++ apps/ui/js/settings.js | 447 ++ apps/ui/js/slot-registry.js | 55 + apps/ui/js/ui-feedback.js | 105 + apps/ui/js/usage.js | 549 ++ apps/ui/js/vendor/alpine/cdn.min.js | 5 + apps/ui/js/vendor/js-yaml/js-yaml.min.js | 2 + apps/ui/js/wizard-live.js | 409 ++ apps/ui/js/wizard-model.js | 276 + apps/ui/js/wizard-shell.js | 265 + apps/ui/js/wizard-state.js | 124 + apps/ui/js/wizard-upstreams.js | 556 ++ apps/ui/js/wizard.js | 285 ++ apps/ui/js/workspace-setup.js | 746 +++ apps/ui/js/workspace.js | 287 ++ apps/ui/nginx.conf | 105 + apps/ui/package-lock.json | 607 +++ apps/ui/package.json | 18 + apps/ui/playwright.config.js | 39 + apps/ui/scripts/build.js | 229 + apps/ui/scripts/playwright-stack.sh | 165 + apps/ui/scripts/playwright-ui-server.js | 197 + apps/ui/tests/e2e/agents.spec.js | 19 + apps/ui/tests/e2e/api-keys.spec.js | 30 + apps/ui/tests/e2e/helpers.js | 91 + apps/ui/tests/e2e/login.spec.js | 19 + apps/ui/tests/e2e/logs-usage.spec.js | 16 + apps/ui/tests/e2e/observability.spec.js | 34 + apps/ui/tests/e2e/operations.spec.js | 11 + .../tests/e2e/staging-authenticated.spec.js | 40 + apps/ui/tests/e2e/wizard.spec.js | 34 + apps/ui/tests/e2e/workspace-settings.spec.js | 20 + crates/crank-adapter-rest/Cargo.toml | 20 + crates/crank-adapter-rest/src/client.rs | 463 ++ crates/crank-adapter-rest/src/error.rs | 24 + crates/crank-adapter-rest/src/lib.rs | 123 + crates/crank-adapter-rest/src/model.rs | 42 + crates/crank-adapter-rest/src/sse.rs | 160 + crates/crank-community-auth/Cargo.toml | 20 + crates/crank-community-auth/src/hashing.rs | 61 + crates/crank-community-auth/src/lib.rs | 10 + .../src/password_provider.rs | 73 + .../src/session_cookie.rs | 116 + crates/crank-community-mcp/Cargo.toml | 25 + crates/crank-community-mcp/src/app.rs | 2912 +++++++++++ crates/crank-community-mcp/src/auth.rs | 22 + crates/crank-community-mcp/src/catalog.rs | 206 + crates/crank-community-mcp/src/jsonrpc.rs | 63 + crates/crank-community-mcp/src/lib.rs | 7 + crates/crank-community-mcp/src/session.rs | 550 ++ crates/crank-core/Cargo.toml | 17 + crates/crank-core/src/access.rs | 154 + crates/crank-core/src/agent.rs | 102 + crates/crank-core/src/auth.rs | 195 + crates/crank-core/src/cache.rs | 201 + crates/crank-core/src/edition.rs | 49 + crates/crank-core/src/ext/access.rs | 142 + crates/crank-core/src/ext/audit.rs | 94 + crates/crank-core/src/ext/auth.rs | 301 ++ crates/crank-core/src/ext/billing.rs | 75 + crates/crank-core/src/ext/capability.rs | 27 + crates/crank-core/src/ext/metering.rs | 55 + crates/crank-core/src/ext/mod.rs | 8 + crates/crank-core/src/ext/protocol.rs | 322 ++ crates/crank-core/src/ext/tenancy.rs | 81 + crates/crank-core/src/ids.rs | 74 + crates/crank-core/src/lib.rs | 88 + crates/crank-core/src/observability.rs | 132 + crates/crank-core/src/operation.rs | 586 +++ crates/crank-core/src/protocol.rs | 116 + crates/crank-core/src/secret.rs | 96 + crates/crank-core/src/soap.rs | 101 + crates/crank-core/src/stream_session.rs | 318 ++ crates/crank-core/src/streaming.rs | 364 ++ crates/crank-core/src/workspace.rs | 75 + crates/crank-mapping/Cargo.toml | 15 + crates/crank-mapping/src/error.rs | 20 + crates/crank-mapping/src/execute.rs | 372 ++ crates/crank-mapping/src/infer.rs | 116 + crates/crank-mapping/src/jsonpath.rs | 233 + crates/crank-mapping/src/lib.rs | 12 + crates/crank-mapping/src/model.rs | 311 ++ crates/crank-registry/Cargo.toml | 20 + crates/crank-registry/src/error.rs | 89 + crates/crank-registry/src/ext.rs | 77 + crates/crank-registry/src/lib.rs | 26 + crates/crank-registry/src/migrations.rs | 599 +++ crates/crank-registry/src/model.rs | 525 ++ crates/crank-registry/src/postgres/agent.rs | 552 ++ crates/crank-registry/src/postgres/api_key.rs | 321 ++ crates/crank-registry/src/postgres/auth.rs | 490 ++ crates/crank-registry/src/postgres/mod.rs | 2570 ++++++++++ .../src/postgres/observability.rs | 446 ++ .../crank-registry/src/postgres/operation.rs | 1012 ++++ crates/crank-registry/src/postgres/secret.rs | 304 ++ crates/crank-registry/src/postgres/stream.rs | 634 +++ .../crank-registry/src/postgres/workspace.rs | 391 ++ .../src/postgres/yaml_import.rs | 101 + crates/crank-runtime/Cargo.toml | 36 + crates/crank-runtime/src/aggregation.rs | 292 ++ crates/crank-runtime/src/auth.rs | 245 + crates/crank-runtime/src/cache.rs | 903 ++++ crates/crank-runtime/src/cache_factory.rs | 45 + crates/crank-runtime/src/error.rs | 53 + crates/crank-runtime/src/executor.rs | 3079 +++++++++++ crates/crank-runtime/src/executor_builder.rs | 67 + crates/crank-runtime/src/lib.rs | 35 + crates/crank-runtime/src/limits.rs | 119 + crates/crank-runtime/src/model.rs | 106 + crates/crank-runtime/src/rate_limit.rs | 269 + crates/crank-runtime/src/redaction.rs | 124 + crates/crank-runtime/src/request_context.rs | 170 + crates/crank-runtime/src/secret_crypto.rs | 274 + crates/crank-runtime/src/streaming.rs | 26 + crates/crank-schema/Cargo.toml | 15 + crates/crank-schema/src/error.rs | 55 + crates/crank-schema/src/lib.rs | 7 + crates/crank-schema/src/model.rs | 226 + crates/crank-schema/src/normalize.rs | 163 + crates/crank-schema/src/validate.rs | 260 + deploy/community/.env.example | 39 + deploy/community/docker-compose.yml | 102 + docker-compose.yml | 103 + docs/admin-api.md | 116 + docs/architecture.md | 53 + docs/authenticated-staging-pass.md | 202 + docs/data-model.md | 96 + docs/database-schema.md | 65 + docs/demo-runbook.md | 81 + docs/deploy-and-staging-smoke.md | 229 + docs/deployment.md | 183 + docs/diagrams.md | 149 + docs/en/README.md | 53 + docs/manual-regression-checklist.md | 183 + docs/mcp-interface.md | 106 + docs/protocols/rest.md | 112 + docs/public-smoke-targets.md | 101 + docs/runtime-config.md | 313 ++ docs/rust-code-rules.md | 316 ++ docs/staging-regression-notes.md | 183 + docs/testing-strategy.md | 122 + .../mcp-smoke/rest-open-meteo.operation.json | 120 + .../mcp-smoke/rest-open-meteo.operation.yaml | 95 + .../mcp-smoke/rest-open-meteo.test-input.json | 4 + justfile | 43 + rust-toolchain.toml | 3 + scripts/README.md | 61 + scripts/authenticated-staging-smoke.sh | 32 + scripts/load-openbao-env.sh | 86 + scripts/staging-note-block.sh | 55 + scripts/staging-smoke.sh | 99 + 307 files changed, 71048 insertions(+) create mode 100644 .dockerignore create mode 100644 .env.example create mode 100644 .gitea/workflows/ci.yml create mode 100644 .gitea/workflows/deploy.yml create mode 100644 .gitea/workflows/release.yml create mode 100644 .gitignore create mode 100644 .sqlx/query-0b8e9bed137684683d8b6a9ed52c94b6fb3bbcb19c7a621c78c5a6d3698bdf4d.json create mode 100644 .sqlx/query-10ac4260e678ac458750988f95e54d3a84d9870e10e86bbe0d9c9fd99bf8a1f5.json create mode 100644 .sqlx/query-1912ca7a4b00fcc5c1a7fe5434b811977fbdf181436573fa96415ccfcb5fecb2.json create mode 100644 .sqlx/query-1b8c77657275ab0ea28e68ae5147dbdad5d055887ef5fabd82552d4fe704f891.json create mode 100644 .sqlx/query-20a3404581cb52fa7087ba4649fde4910e8d7c2b1b17055fdd1c54206e55a874.json create mode 100644 .sqlx/query-249082378e98a7f137338cb1289cb6ea0a48c1ae74d614d63023e6dc0687f47c.json create mode 100644 .sqlx/query-2b819bad2a2712dab1a182b89ec52d762d66cffdc449ee6f73c74c1d23a17314.json create mode 100644 .sqlx/query-3422060fba1de6d85f89c46b41cc1cf462f49f0e2fe93e9230d15f97710b74ee.json create mode 100644 .sqlx/query-38911a904c6d284f5fb80cf2ae9f569de7c0ffd3b8ca73e6c01f0842ace4ad25.json create mode 100644 .sqlx/query-3d647bffe6eaf3b95be589ae2fe006b4aec8f55fa070f9f2ff3859dc7cb96d06.json create mode 100644 .sqlx/query-3df72b8a0ac4a76b15909fc78268a1c87d1cd184973bf1cecc0c725691432c08.json create mode 100644 .sqlx/query-56cf7fc3b89517095c52a30c091a040415a5f6eef589e9a264b9b1fd687353b7.json create mode 100644 .sqlx/query-67a73cb5211a0c23d2e8d8361a8e37c488eb2420207e9c4fa682993eda20cd62.json create mode 100644 .sqlx/query-6ae136d8196f7b259b7e5d054ecbd063dc5746ef669f21b0db1b5843e9db22d0.json create mode 100644 .sqlx/query-6eed48468f97843bbcd6a2f90448b68c15efa72029740e28bb881f54f73a6b9b.json create mode 100644 .sqlx/query-7ad59ce20834c3de2b0345c1be28d84377b417efb30c7bdc38d4e3746a0c1a7a.json create mode 100644 .sqlx/query-92bd2268efce8ba515b1d502287dea62bdfae0ba66100589ead3f986244b4cbb.json create mode 100644 .sqlx/query-9625d5160a075b55b5bb980ea8e82e9da706a34d17adf0bc94ddb4e7a3818c18.json create mode 100644 .sqlx/query-a1d2c9b16b61d226701449fc22146db6f0f7d17e6867f929c44027990fb94b57.json create mode 100644 .sqlx/query-a24c36f988151016f9ffa834a6a5658f7f094844b892c999e6f58d6f92fbe0c2.json create mode 100644 .sqlx/query-b68377d8ffd5bdc9b8e417170f4940b65d2167dada6b6110985ce0bd95480b93.json create mode 100644 .sqlx/query-b86a7406eeec83390458e35fb8611e19377582ec0ca245a162c2d2236077bb9b.json create mode 100644 .sqlx/query-bdae00d03a55ba3b6d121578b081e970ff08427f9a3dd396b649996a9131260c.json create mode 100644 .sqlx/query-c3002576245c677598f401b5db517f9c01c9e5cbc1eea5511005d572a0776edc.json create mode 100644 .sqlx/query-d5b882fd05f2db2e766207064bd46ad2ffe665efc5f11252136bee340a3a4a89.json create mode 100644 .sqlx/query-d6cd575c05dabaa09177985375c59ce42857433dd11580659481c562f9d9ab3f.json create mode 100644 .sqlx/query-dcde0691b13dbab00364f4142b95a2785c0a612ff739e341e28d0831b7170f6b.json create mode 100644 .sqlx/query-dd4a415a042b863b1034727737f3d14019ba405a07a8360b68e8c9c5597e17ce.json create mode 100644 .sqlx/query-e86682005480df007b488b8543adc8a6d4068e33a5509f9e314dd0d97eac178b.json create mode 100644 .sqlx/query-e9fc9fdf8ef885ab247d903dbde0a2f07bc89aec46cdbe1e856700fa57674f41.json create mode 100644 .sqlx/query-f195cc4951ef129f4a1c95d6d9e8f932919d2882f3dcb5a7f865fb4448506d05.json create mode 100644 .sqlx/query-f551a9cd253b7fd0dc9a387a141a53d8a109b8aa766ab1c2b11f9b52e250adc8.json create mode 100644 .sqlx/query-f7b5e65ecddfe52af4d3be98fc69680bf9f0d131785c310936bdf603d74c118d.json create mode 100644 .sqlx/query-fadf243775a355c46ae97d26049793eb1d1ad17505b1e1609a842750e3233ec2.json create mode 100644 .sqlx/query-fb0bec06d2a3dbbf455947346eea5022c7ddac2ffe2a1969b2c6a2ed72c3730a.json create mode 100644 .sqlx/query-fdd05b145021a19dda9a9f44c31ff21a2f73a4416d0cf20be418bba36def9eb4.json create mode 100644 Cargo.lock create mode 100644 Cargo.toml create mode 100644 Crank.png create mode 100644 LICENSE create mode 100644 README.md create mode 100644 apps/admin-api/Cargo.toml create mode 100644 apps/admin-api/Dockerfile create mode 100644 apps/admin-api/src/app.rs create mode 100644 apps/admin-api/src/auth.rs create mode 100644 apps/admin-api/src/error.rs create mode 100644 apps/admin-api/src/lib.rs create mode 100644 apps/admin-api/src/main.rs create mode 100644 apps/admin-api/src/rate_limit.rs create mode 100644 apps/admin-api/src/request_context.rs create mode 100644 apps/admin-api/src/routes.rs create mode 100644 apps/admin-api/src/routes/access.rs create mode 100644 apps/admin-api/src/routes/agents.rs create mode 100644 apps/admin-api/src/routes/auth.rs create mode 100644 apps/admin-api/src/routes/auth_profiles.rs create mode 100644 apps/admin-api/src/routes/capabilities.rs create mode 100644 apps/admin-api/src/routes/machine_auth.rs create mode 100644 apps/admin-api/src/routes/observability.rs create mode 100644 apps/admin-api/src/routes/operations.rs create mode 100644 apps/admin-api/src/routes/secrets.rs create mode 100644 apps/admin-api/src/routes/streaming.rs create mode 100644 apps/admin-api/src/routes/workspaces.rs create mode 100644 apps/admin-api/src/service.rs create mode 100644 apps/admin-api/src/state.rs create mode 100644 apps/admin-api/src/storage.rs create mode 100644 apps/mcp-server/Cargo.toml create mode 100644 apps/mcp-server/Dockerfile create mode 100644 apps/mcp-server/src/main.rs create mode 100644 apps/ui/Dockerfile create mode 100644 apps/ui/css/catalog.css create mode 100644 apps/ui/css/layout.css create mode 100644 apps/ui/css/login.css create mode 100644 apps/ui/css/logs.css create mode 100644 apps/ui/css/pages.css create mode 100644 apps/ui/css/settings.css create mode 100644 apps/ui/css/usage.css create mode 100644 apps/ui/css/variables.css create mode 100644 apps/ui/css/wizard.css create mode 100644 apps/ui/css/workspace-setup.css create mode 100644 apps/ui/data/agents.json create mode 100644 apps/ui/data/keys.json create mode 100644 apps/ui/data/operations.json create mode 100644 apps/ui/html/agents.html create mode 100644 apps/ui/html/api-keys.html create mode 100644 apps/ui/html/fragments/lang-switcher.html create mode 100644 apps/ui/html/login.html create mode 100644 apps/ui/html/logs.html create mode 100644 apps/ui/html/secrets.html create mode 100644 apps/ui/html/settings.html create mode 100644 apps/ui/html/usage.html create mode 100644 apps/ui/html/wizard/index.html create mode 100644 apps/ui/html/wizard/step1.html create mode 100644 apps/ui/html/wizard/step2.html create mode 100644 apps/ui/html/wizard/step3-rest.html create mode 100644 apps/ui/html/wizard/step4.html create mode 100644 apps/ui/html/wizard/step5.html create mode 100644 apps/ui/html/workspace-setup.html create mode 100644 apps/ui/icons/agents/agent.svg create mode 100644 apps/ui/icons/agents/eye.svg create mode 100644 apps/ui/icons/agents/key.svg create mode 100644 apps/ui/icons/general/arrow-down.svg create mode 100644 apps/ui/icons/general/arrow-left.svg create mode 100644 apps/ui/icons/general/arrow-right.svg create mode 100644 apps/ui/icons/general/arrow-up.svg create mode 100644 apps/ui/icons/general/bell.svg create mode 100644 apps/ui/icons/general/check-sm.svg create mode 100644 apps/ui/icons/general/check.svg create mode 100644 apps/ui/icons/general/chevron-down.svg create mode 100644 apps/ui/icons/general/close.svg create mode 100644 apps/ui/icons/general/copy.svg create mode 100644 apps/ui/icons/general/crank-logo.svg create mode 100644 apps/ui/icons/general/download.svg create mode 100644 apps/ui/icons/general/edit.svg create mode 100644 apps/ui/icons/general/external.svg create mode 100644 apps/ui/icons/general/grid.svg create mode 100644 apps/ui/icons/general/info-circle.svg create mode 100644 apps/ui/icons/general/info.svg create mode 100644 apps/ui/icons/general/logout.svg create mode 100644 apps/ui/icons/general/plus-sm.svg create mode 100644 apps/ui/icons/general/plus.svg create mode 100644 apps/ui/icons/general/refresh.svg create mode 100644 apps/ui/icons/general/search.svg create mode 100644 apps/ui/icons/general/settings.svg create mode 100644 apps/ui/icons/general/trash.svg create mode 100644 apps/ui/icons/general/user.svg create mode 100644 apps/ui/icons/general/warning.svg create mode 100644 apps/ui/icons/login/google.svg create mode 100644 apps/ui/icons/wizard/clock.svg create mode 100644 apps/ui/icons/wizard/code.svg create mode 100644 apps/ui/icons/wizard/file.svg create mode 100644 apps/ui/icons/wizard/graphql-protocol.svg create mode 100644 apps/ui/icons/wizard/grpc-protocol.svg create mode 100644 apps/ui/icons/wizard/reflection.svg create mode 100644 apps/ui/icons/wizard/rest-protocol.svg create mode 100644 apps/ui/icons/wizard/server.svg create mode 100644 apps/ui/icons/wizard/upload.svg create mode 100644 apps/ui/index.html create mode 100644 apps/ui/js/agents.js create mode 100644 apps/ui/js/api-keys.js create mode 100644 apps/ui/js/api.js create mode 100644 apps/ui/js/auth.js create mode 100644 apps/ui/js/catalog.js create mode 100644 apps/ui/js/config.js create mode 100644 apps/ui/js/diagnostics.js create mode 100644 apps/ui/js/dom.js create mode 100644 apps/ui/js/i18n.js create mode 100644 apps/ui/js/login.js create mode 100644 apps/ui/js/logs.js create mode 100644 apps/ui/js/nav.js create mode 100644 apps/ui/js/overlay-loader.js create mode 100644 apps/ui/js/secrets.js create mode 100644 apps/ui/js/settings.js create mode 100644 apps/ui/js/slot-registry.js create mode 100644 apps/ui/js/ui-feedback.js create mode 100644 apps/ui/js/usage.js create mode 100644 apps/ui/js/vendor/alpine/cdn.min.js create mode 100644 apps/ui/js/vendor/js-yaml/js-yaml.min.js create mode 100644 apps/ui/js/wizard-live.js create mode 100644 apps/ui/js/wizard-model.js create mode 100644 apps/ui/js/wizard-shell.js create mode 100644 apps/ui/js/wizard-state.js create mode 100644 apps/ui/js/wizard-upstreams.js create mode 100644 apps/ui/js/wizard.js create mode 100644 apps/ui/js/workspace-setup.js create mode 100644 apps/ui/js/workspace.js create mode 100644 apps/ui/nginx.conf create mode 100644 apps/ui/package-lock.json create mode 100644 apps/ui/package.json create mode 100644 apps/ui/playwright.config.js create mode 100644 apps/ui/scripts/build.js create mode 100644 apps/ui/scripts/playwright-stack.sh create mode 100644 apps/ui/scripts/playwright-ui-server.js create mode 100644 apps/ui/tests/e2e/agents.spec.js create mode 100644 apps/ui/tests/e2e/api-keys.spec.js create mode 100644 apps/ui/tests/e2e/helpers.js create mode 100644 apps/ui/tests/e2e/login.spec.js create mode 100644 apps/ui/tests/e2e/logs-usage.spec.js create mode 100644 apps/ui/tests/e2e/observability.spec.js create mode 100644 apps/ui/tests/e2e/operations.spec.js create mode 100644 apps/ui/tests/e2e/staging-authenticated.spec.js create mode 100644 apps/ui/tests/e2e/wizard.spec.js create mode 100644 apps/ui/tests/e2e/workspace-settings.spec.js create mode 100644 crates/crank-adapter-rest/Cargo.toml create mode 100644 crates/crank-adapter-rest/src/client.rs create mode 100644 crates/crank-adapter-rest/src/error.rs create mode 100644 crates/crank-adapter-rest/src/lib.rs create mode 100644 crates/crank-adapter-rest/src/model.rs create mode 100644 crates/crank-adapter-rest/src/sse.rs create mode 100644 crates/crank-community-auth/Cargo.toml create mode 100644 crates/crank-community-auth/src/hashing.rs create mode 100644 crates/crank-community-auth/src/lib.rs create mode 100644 crates/crank-community-auth/src/password_provider.rs create mode 100644 crates/crank-community-auth/src/session_cookie.rs create mode 100644 crates/crank-community-mcp/Cargo.toml create mode 100644 crates/crank-community-mcp/src/app.rs create mode 100644 crates/crank-community-mcp/src/auth.rs create mode 100644 crates/crank-community-mcp/src/catalog.rs create mode 100644 crates/crank-community-mcp/src/jsonrpc.rs create mode 100644 crates/crank-community-mcp/src/lib.rs create mode 100644 crates/crank-community-mcp/src/session.rs create mode 100644 crates/crank-core/Cargo.toml create mode 100644 crates/crank-core/src/access.rs create mode 100644 crates/crank-core/src/agent.rs create mode 100644 crates/crank-core/src/auth.rs create mode 100644 crates/crank-core/src/cache.rs create mode 100644 crates/crank-core/src/edition.rs create mode 100644 crates/crank-core/src/ext/access.rs create mode 100644 crates/crank-core/src/ext/audit.rs create mode 100644 crates/crank-core/src/ext/auth.rs create mode 100644 crates/crank-core/src/ext/billing.rs create mode 100644 crates/crank-core/src/ext/capability.rs create mode 100644 crates/crank-core/src/ext/metering.rs create mode 100644 crates/crank-core/src/ext/mod.rs create mode 100644 crates/crank-core/src/ext/protocol.rs create mode 100644 crates/crank-core/src/ext/tenancy.rs create mode 100644 crates/crank-core/src/ids.rs create mode 100644 crates/crank-core/src/lib.rs create mode 100644 crates/crank-core/src/observability.rs create mode 100644 crates/crank-core/src/operation.rs create mode 100644 crates/crank-core/src/protocol.rs create mode 100644 crates/crank-core/src/secret.rs create mode 100644 crates/crank-core/src/soap.rs create mode 100644 crates/crank-core/src/stream_session.rs create mode 100644 crates/crank-core/src/streaming.rs create mode 100644 crates/crank-core/src/workspace.rs create mode 100644 crates/crank-mapping/Cargo.toml create mode 100644 crates/crank-mapping/src/error.rs create mode 100644 crates/crank-mapping/src/execute.rs create mode 100644 crates/crank-mapping/src/infer.rs create mode 100644 crates/crank-mapping/src/jsonpath.rs create mode 100644 crates/crank-mapping/src/lib.rs create mode 100644 crates/crank-mapping/src/model.rs create mode 100644 crates/crank-registry/Cargo.toml create mode 100644 crates/crank-registry/src/error.rs create mode 100644 crates/crank-registry/src/ext.rs create mode 100644 crates/crank-registry/src/lib.rs create mode 100644 crates/crank-registry/src/migrations.rs create mode 100644 crates/crank-registry/src/model.rs create mode 100644 crates/crank-registry/src/postgres/agent.rs create mode 100644 crates/crank-registry/src/postgres/api_key.rs create mode 100644 crates/crank-registry/src/postgres/auth.rs create mode 100644 crates/crank-registry/src/postgres/mod.rs create mode 100644 crates/crank-registry/src/postgres/observability.rs create mode 100644 crates/crank-registry/src/postgres/operation.rs create mode 100644 crates/crank-registry/src/postgres/secret.rs create mode 100644 crates/crank-registry/src/postgres/stream.rs create mode 100644 crates/crank-registry/src/postgres/workspace.rs create mode 100644 crates/crank-registry/src/postgres/yaml_import.rs create mode 100644 crates/crank-runtime/Cargo.toml create mode 100644 crates/crank-runtime/src/aggregation.rs create mode 100644 crates/crank-runtime/src/auth.rs create mode 100644 crates/crank-runtime/src/cache.rs create mode 100644 crates/crank-runtime/src/cache_factory.rs create mode 100644 crates/crank-runtime/src/error.rs create mode 100644 crates/crank-runtime/src/executor.rs create mode 100644 crates/crank-runtime/src/executor_builder.rs create mode 100644 crates/crank-runtime/src/lib.rs create mode 100644 crates/crank-runtime/src/limits.rs create mode 100644 crates/crank-runtime/src/model.rs create mode 100644 crates/crank-runtime/src/rate_limit.rs create mode 100644 crates/crank-runtime/src/redaction.rs create mode 100644 crates/crank-runtime/src/request_context.rs create mode 100644 crates/crank-runtime/src/secret_crypto.rs create mode 100644 crates/crank-runtime/src/streaming.rs create mode 100644 crates/crank-schema/Cargo.toml create mode 100644 crates/crank-schema/src/error.rs create mode 100644 crates/crank-schema/src/lib.rs create mode 100644 crates/crank-schema/src/model.rs create mode 100644 crates/crank-schema/src/normalize.rs create mode 100644 crates/crank-schema/src/validate.rs create mode 100644 deploy/community/.env.example create mode 100644 deploy/community/docker-compose.yml create mode 100644 docker-compose.yml create mode 100644 docs/admin-api.md create mode 100644 docs/architecture.md create mode 100644 docs/authenticated-staging-pass.md create mode 100644 docs/data-model.md create mode 100644 docs/database-schema.md create mode 100644 docs/demo-runbook.md create mode 100644 docs/deploy-and-staging-smoke.md create mode 100644 docs/deployment.md create mode 100644 docs/diagrams.md create mode 100644 docs/en/README.md create mode 100644 docs/manual-regression-checklist.md create mode 100644 docs/mcp-interface.md create mode 100644 docs/protocols/rest.md create mode 100644 docs/public-smoke-targets.md create mode 100644 docs/runtime-config.md create mode 100644 docs/rust-code-rules.md create mode 100644 docs/staging-regression-notes.md create mode 100644 docs/testing-strategy.md create mode 100644 examples/mcp-smoke/rest-open-meteo.operation.json create mode 100644 examples/mcp-smoke/rest-open-meteo.operation.yaml create mode 100644 examples/mcp-smoke/rest-open-meteo.test-input.json create mode 100644 justfile create mode 100644 rust-toolchain.toml create mode 100644 scripts/README.md create mode 100644 scripts/authenticated-staging-smoke.sh create mode 100755 scripts/load-openbao-env.sh create mode 100644 scripts/staging-note-block.sh create mode 100644 scripts/staging-smoke.sh diff --git a/.dockerignore b/.dockerignore new file mode 100644 index 0000000..f3919cc --- /dev/null +++ b/.dockerignore @@ -0,0 +1,18 @@ +.git +target +notes +node_modules +dist +coverage +.idea +.vscode +.claude +.codex +.tmp +.DS_Store +*.log +var +apps/ui/node_modules +apps/ui/playwright-report +apps/ui/test-results +apps/ui/.playwright diff --git a/.env.example b/.env.example new file mode 100644 index 0000000..afe4348 --- /dev/null +++ b/.env.example @@ -0,0 +1,36 @@ +POSTGRES_DB=crank +POSTGRES_USER=crank +POSTGRES_PASSWORD=change-me +POSTGRES_HOST=postgres +POSTGRES_PORT=5432 +POSTGRES_MAX_CONNECTIONS=20 +POSTGRES_MIN_CONNECTIONS=2 +POSTGRES_ACQUIRE_TIMEOUT_MS=5000 +POSTGRES_IDLE_TIMEOUT_MS=600000 +POSTGRES_MAX_LIFETIME_MS=1800000 +CRANK_ADMIN_API_IMAGE=crank/admin-api:dev +CRANK_MCP_SERVER_IMAGE=crank/mcp-server:dev +CRANK_UI_IMAGE=crank/ui:dev +CRANK_STORAGE_ROOT=/var/lib/crank/storage +CRANK_PUBLISH_BIND=127.0.0.1 +CRANK_ADMIN_BIND=0.0.0.0:3001 +CRANK_ADMIN_RATE_LIMIT_RPS=30 +CRANK_ADMIN_RATE_LIMIT_BURST=60 +CRANK_MCP_BIND=0.0.0.0:3002 +CRANK_MCP_REFRESH_MS=5000 +CRANK_MCP_RATE_LIMIT_RPS=60 +CRANK_MCP_RATE_LIMIT_BURST=120 +CRANK_RUNTIME_MAX_CONCURRENT_UNARY=64 +CRANK_RUNTIME_MAX_CONCURRENT_WINDOW=16 +CRANK_RUNTIME_MAX_CONCURRENT_SESSIONS=16 +CRANK_RUNTIME_MAX_CONCURRENT_JOBS=16 +CRANK_LOG_LEVEL=info +CRANK_MASTER_KEY=change-me-master-key +CRANK_SESSION_SECRET=change-me-session-secret +CRANK_PASSWORD_PEPPER=change-me-password-pepper +CRANK_SESSION_TTL_HOURS=24 +CRANK_BOOTSTRAP_ADMIN_EMAIL=owner@crank.local +CRANK_BOOTSTRAP_ADMIN_PASSWORD=change-me-admin-password +CRANK_BOOTSTRAP_ADMIN_DISPLAY_NAME=Crank Owner +CRANK_DEMO_SEED=false +CRANK_BASE_URL=https://crank.example.com diff --git a/.gitea/workflows/ci.yml b/.gitea/workflows/ci.yml new file mode 100644 index 0000000..827759e --- /dev/null +++ b/.gitea/workflows/ci.yml @@ -0,0 +1,144 @@ +name: CI + +on: + pull_request: + push: + branches: + - main + - "feat/**" + +env: + CARGO_BUILD_JOBS: "2" + CARGO_INCREMENTAL: "0" + RUST_TEST_THREADS: "2" + +jobs: + rust: + name: Rust Checks + runs-on: ubuntu-latest + services: + crank-rust-postgres: + image: postgres:16-alpine + env: + POSTGRES_DB: crank_test + POSTGRES_USER: postgres + POSTGRES_PASSWORD: postgres + options: >- + --health-cmd "pg_isready -U postgres -d crank_test" + --health-interval 10s + --health-timeout 5s + --health-retries 5 + env: + TEST_DATABASE_URL: postgres://postgres:postgres@crank-rust-postgres:5432/crank_test + + steps: + - name: Checkout + uses: actions/checkout@v5 + + - name: Verify runner toolchain + run: | + rustc --version + cargo --version + rustfmt --version + cargo clippy --version + docker --version + + - name: Check formatting + run: cargo fmt --all --check + + - name: Run clippy + run: cargo clippy --workspace --all-targets --all-features --jobs "$CARGO_BUILD_JOBS" -- -D warnings + + - name: Run tests + run: cargo test --workspace --all-targets --jobs "$CARGO_BUILD_JOBS" + + ui: + name: UI Checks + runs-on: ubuntu-latest + needs: rust + + steps: + - name: Checkout + uses: actions/checkout@v5 + + - name: Verify runner toolchain + run: | + node --version + npm --version + docker --version + + - name: Install UI dependencies + working-directory: apps/ui + run: npm ci + + - name: Build UI bundle + working-directory: apps/ui + run: npm run build + + frontend-e2e: + name: Frontend E2E + runs-on: ubuntu-latest + needs: ui + services: + crank-e2e-postgres: + image: postgres:16-alpine + env: + POSTGRES_DB: crank + POSTGRES_USER: crank + POSTGRES_PASSWORD: crank + options: >- + --health-cmd "pg_isready -U crank -d crank" + --health-interval 10s + --health-timeout 5s + --health-retries 5 + env: + CRANK_E2E_USE_EXTERNAL_POSTGRES: "1" + CRANK_E2E_POSTGRES_HOST: crank-e2e-postgres + CRANK_E2E_POSTGRES_PORT: "5432" + CRANK_E2E_POSTGRES_DB: crank + CRANK_E2E_POSTGRES_USER: crank + CRANK_E2E_POSTGRES_PASSWORD: crank + + steps: + - name: Checkout + uses: actions/checkout@v5 + + - name: Verify runner toolchain + run: | + rustc --version + cargo --version + node --version + npm --version + docker --version + + - name: Install UI dependencies + working-directory: apps/ui + run: npm ci + + - name: Install Playwright browser + working-directory: apps/ui + run: npx playwright install --with-deps chromium + + - name: Prebuild e2e services + run: cargo build -p admin-api -p mcp-server --jobs "$CARGO_BUILD_JOBS" + + - name: Run Playwright e2e + working-directory: apps/ui + run: npx playwright test + + - name: Show Playwright stack logs + if: failure() + run: | + find .tmp/ui-e2e/logs -maxdepth 1 -type f -print -exec sed -n '1,220p' {} \; || true + + deployment: + name: Deployment Manifests + runs-on: ubuntu-latest + needs: ui + + steps: + - name: Checkout + uses: actions/checkout@v5 + + - name: Validate Community deployment manifest + run: docker compose -f deploy/community/docker-compose.yml --env-file deploy/community/.env.example config -q diff --git a/.gitea/workflows/deploy.yml b/.gitea/workflows/deploy.yml new file mode 100644 index 0000000..814f16b --- /dev/null +++ b/.gitea/workflows/deploy.yml @@ -0,0 +1,230 @@ +name: Deploy + +on: + push: + branches: + - main + workflow_dispatch: + +env: + REGISTRY: git.itexp.me + IMAGE_TAG: ${{ gitea.sha }} + ADMIN_API_IMAGE: git.itexp.me/bsodfather/crank-community-admin-api + MCP_SERVER_IMAGE: git.itexp.me/bsodfather/crank-community-mcp-server + UI_IMAGE: git.itexp.me/bsodfather/crank-community-ui + OPENBAO_ENV_FILE: .openbao-env + +jobs: + deploy: + runs-on: ubuntu-latest + + steps: + - name: Checkout + uses: actions/checkout@v5 + + - name: Verify runner toolchain + run: | + docker --version + command -v bao + bao version + + - name: Load deployment secrets from OpenBao + env: + BAO_ADDR: ${{ secrets.BAO_ADDR }} + BAO_ROLE_ID: ${{ secrets.BAO_ROLE_ID }} + BAO_SECRET_ID: ${{ secrets.BAO_SECRET_ID }} + OPENBAO_APP: crank + run: scripts/load-openbao-env.sh + + - name: Login to registry + run: | + . "$OPENBAO_ENV_FILE" + printf '%s' "$DEPLOY_REGISTRY_TOKEN" | \ + docker login '${{ env.REGISTRY }}' -u "$DEPLOY_REGISTRY_USER" --password-stdin + + - name: Build and push images + run: | + docker build -f apps/admin-api/Dockerfile \ + -t '${{ env.ADMIN_API_IMAGE }}:${{ env.IMAGE_TAG }}' \ + -t '${{ env.ADMIN_API_IMAGE }}:main' \ + . + docker build -f apps/mcp-server/Dockerfile \ + -t '${{ env.MCP_SERVER_IMAGE }}:${{ env.IMAGE_TAG }}' \ + -t '${{ env.MCP_SERVER_IMAGE }}:main' \ + . + docker build -f apps/ui/Dockerfile \ + -t '${{ env.UI_IMAGE }}:${{ env.IMAGE_TAG }}' \ + -t '${{ env.UI_IMAGE }}:main' \ + . + docker push '${{ env.ADMIN_API_IMAGE }}:${{ env.IMAGE_TAG }}' + docker push '${{ env.ADMIN_API_IMAGE }}:main' + docker push '${{ env.MCP_SERVER_IMAGE }}:${{ env.IMAGE_TAG }}' + docker push '${{ env.MCP_SERVER_IMAGE }}:main' + docker push '${{ env.UI_IMAGE }}:${{ env.IMAGE_TAG }}' + docker push '${{ env.UI_IMAGE }}:main' + + - name: Configure SSH key + run: | + . "$OPENBAO_ENV_FILE" + mkdir -p ~/.ssh + chmod 700 ~/.ssh + printf '%s\n' "$DEPLOY_SSH_KEY" > ~/.ssh/id_ed25519 + chmod 600 ~/.ssh/id_ed25519 + + - name: Configure known hosts + run: | + . "$OPENBAO_ENV_FILE" + if [ -n "${DEPLOY_KNOWN_HOSTS:-}" ]; then + printf '%s\n' "$DEPLOY_KNOWN_HOSTS" > ~/.ssh/known_hosts + else + ssh-keyscan -p "${DEPLOY_PORT:-22}" "$DEPLOY_HOST" > ~/.ssh/known_hosts + fi + chmod 644 ~/.ssh/known_hosts + + - name: Sync deployment files to server + run: | + . "$OPENBAO_ENV_FILE" + ssh -p "$DEPLOY_PORT" "$DEPLOY_USER@$DEPLOY_HOST" \ + "mkdir -p '$DEPLOY_PATH'" + rsync -az -e "ssh -p $DEPLOY_PORT" deploy/community/docker-compose.yml \ + "$DEPLOY_USER@$DEPLOY_HOST:$DEPLOY_PATH/docker-compose.yml" + + - name: Write environment file + run: | + . "$OPENBAO_ENV_FILE" + tmp_env="$(mktemp)" + append_if_set() { + if [ -n "$2" ]; then + printf '%s=%s\n' "$1" "$2" >> "$tmp_env" + fi + } + : > "$tmp_env" + append_if_set POSTGRES_DB "$POSTGRES_DB" + append_if_set POSTGRES_USER "$POSTGRES_USER" + append_if_set POSTGRES_PASSWORD "$POSTGRES_PASSWORD" + append_if_set POSTGRES_HOST "$POSTGRES_HOST" + if [ -n "${POSTGRES_PORT:-}" ]; then + append_if_set POSTGRES_PORT "$POSTGRES_PORT" + elif [ -n "${PGBOUNCER_PORT:-}" ]; then + append_if_set POSTGRES_PORT "$PGBOUNCER_PORT" + fi + append_if_set CRANK_STORAGE_ROOT "$CRANK_STORAGE_ROOT" + append_if_set CRANK_PUBLISH_BIND "$CRANK_PUBLISH_BIND" + append_if_set CRANK_ADMIN_BIND "$CRANK_ADMIN_BIND" + append_if_set CRANK_MCP_BIND "$CRANK_MCP_BIND" + append_if_set CRANK_MCP_REFRESH_MS "$CRANK_MCP_REFRESH_MS" + append_if_set CRANK_LOG_LEVEL "$CRANK_LOG_LEVEL" + append_if_set CRANK_MASTER_KEY "$CRANK_MASTER_KEY" + append_if_set CRANK_BASE_URL "$CRANK_BASE_URL" + append_if_set CRANK_CACHE_BACKEND "$CRANK_CACHE_BACKEND" + append_if_set CRANK_CACHE_URL "$CRANK_CACHE_URL" + append_if_set CRANK_CACHE_DEFAULT_TTL_MS "$CRANK_CACHE_DEFAULT_TTL_MS" + append_if_set CRANK_SESSION_SECRET "$CRANK_SESSION_SECRET" + append_if_set CRANK_PASSWORD_PEPPER "$CRANK_PASSWORD_PEPPER" + append_if_set CRANK_SESSION_TTL_HOURS "$CRANK_SESSION_TTL_HOURS" + append_if_set CRANK_BOOTSTRAP_ADMIN_EMAIL "$CRANK_BOOTSTRAP_ADMIN_EMAIL" + append_if_set CRANK_BOOTSTRAP_ADMIN_PASSWORD "$CRANK_BOOTSTRAP_ADMIN_PASSWORD" + append_if_set CRANK_BOOTSTRAP_ADMIN_DISPLAY_NAME "$CRANK_BOOTSTRAP_ADMIN_DISPLAY_NAME" + append_if_set CRANK_DEMO_SEED "$CRANK_DEMO_SEED" + { + printf 'COMPOSE_PROJECT_NAME=community\n' + printf 'CRANK_ADMIN_API_IMAGE=%s:%s\n' '${{ env.ADMIN_API_IMAGE }}' '${{ env.IMAGE_TAG }}' + printf 'CRANK_MCP_SERVER_IMAGE=%s:%s\n' '${{ env.MCP_SERVER_IMAGE }}' '${{ env.IMAGE_TAG }}' + printf 'CRANK_UI_IMAGE=%s:%s\n' '${{ env.UI_IMAGE }}' '${{ env.IMAGE_TAG }}' + } >> "$tmp_env" + cat "$tmp_env" | ssh -p "$DEPLOY_PORT" "$DEPLOY_USER@$DEPLOY_HOST" \ + "mkdir -p '$DEPLOY_PATH' && cat > '$DEPLOY_PATH/.env'" + rm -f "$tmp_env" + + - name: Validate required environment variables + run: | + . "$OPENBAO_ENV_FILE" + ssh -p "$DEPLOY_PORT" "$DEPLOY_USER@$DEPLOY_HOST" " + set -e + cd '$DEPLOY_PATH' + required_vars=' + POSTGRES_HOST + POSTGRES_PORT + POSTGRES_DB + POSTGRES_USER + POSTGRES_PASSWORD + CRANK_MASTER_KEY + CRANK_SESSION_SECRET + CRANK_PASSWORD_PEPPER + CRANK_BOOTSTRAP_ADMIN_EMAIL + CRANK_BOOTSTRAP_ADMIN_PASSWORD + CRANK_BASE_URL + ' + for var in \$required_vars; do + value=\$(grep -E \"^\${var}=\" .env | tail -n1 | cut -d= -f2- || true) + if [ -z \"\$value\" ]; then + echo \"missing required env: \$var\" >&2 + exit 1 + fi + done + " + + - name: Deploy with Docker Compose + run: | + . "$OPENBAO_ENV_FILE" + ssh -p "$DEPLOY_PORT" "$DEPLOY_USER@$DEPLOY_HOST" " + set -e + cd '$DEPLOY_PATH' + compose_profiles='' + cache_backend=\$(grep -E '^CRANK_CACHE_BACKEND=' .env | tail -n1 | cut -d= -f2- || true) + if [ \"\$cache_backend\" = 'valkey' ] || [ \"\$cache_backend\" = 'redis' ]; then + compose_profiles='--profile cache' + fi + echo '$DEPLOY_REGISTRY_TOKEN' | docker login '${{ env.REGISTRY }}' -u '$DEPLOY_REGISTRY_USER' --password-stdin + docker compose \$compose_profiles config -q + docker compose \$compose_profiles pull + docker compose \$compose_profiles down --remove-orphans + for container in \ + crank-ui-1 \ + crank-admin-api-1 \ + crank-mcp-server-1 \ + crank-postgres-1 \ + crank-valkey-1 \ + crank-community-ui-1 \ + crank-community-admin-api-1 \ + crank-community-mcp-server-1 \ + crank-community-postgres-1 \ + crank-community-valkey-1; do + if docker ps -a --format '{{.Names}}' | grep -Fx \"\$container\" >/dev/null; then + docker rm -f \"\$container\" + fi + done + echo 'Docker containers before freeing required ports:' + docker ps --format 'table {{.ID}}\t{{.Names}}\t{{.Ports}}' + for port in 3000 3001 3002; do + container_ids=\$(docker ps -aq --filter \"publish=\$port\") + if [ -n \"\$container_ids\" ]; then + echo \"Removing containers publishing port \$port\" + docker inspect --format '{{.Name}} {{json .NetworkSettings.Ports}}' \$container_ids || true + docker rm -f \$container_ids + fi + done + if command -v ss >/dev/null 2>&1; then + ss -ltnp '( sport = :3000 or sport = :3001 or sport = :3002 )' || true + fi + docker compose \$compose_profiles up -d --remove-orphans + " + + - name: Verify health endpoints + run: | + . "$OPENBAO_ENV_FILE" + ssh -p "$DEPLOY_PORT" "$DEPLOY_USER@$DEPLOY_HOST" " + set -e + cd '$DEPLOY_PATH' + for attempt in \$(seq 1 30); do + if curl --fail --silent http://127.0.0.1:3000/ >/dev/null \ + && curl --fail --silent http://127.0.0.1:3001/health >/dev/null \ + && curl --fail --silent http://127.0.0.1:3002/health >/dev/null; then + exit 0 + fi + sleep 2 + done + echo 'deployment health verification failed' >&2 + docker compose ps >&2 + exit 1 + " diff --git a/.gitea/workflows/release.yml b/.gitea/workflows/release.yml new file mode 100644 index 0000000..e82c12d --- /dev/null +++ b/.gitea/workflows/release.yml @@ -0,0 +1,100 @@ +name: Community Release + +on: + push: + tags: + - "v*" + workflow_dispatch: + +env: + REGISTRY: git.itexp.me + IMAGE_TAG: ${{ gitea.ref_name }} + ADMIN_API_IMAGE: git.itexp.me/bsodfather/crank-community-admin-api + MCP_SERVER_IMAGE: git.itexp.me/bsodfather/crank-community-mcp-server + UI_IMAGE: git.itexp.me/bsodfather/crank-community-ui + OPENBAO_ENV_FILE: .openbao-env + +jobs: + release: + runs-on: ubuntu-latest + + steps: + - name: Checkout + uses: actions/checkout@v5 + + - name: Verify runner toolchain + run: | + rustc --version + cargo --version + node --version + npm --version + docker --version + command -v bao + bao version + + - name: Build release binaries + run: cargo build --release -p admin-api -p mcp-server + + - name: Install UI dependencies + working-directory: apps/ui + run: npm ci + + - name: Build UI dist + working-directory: apps/ui + run: npm run build + + - name: Package release artifacts + run: | + mkdir -p dist/release + cp target/release/admin-api dist/release/admin-api + cp target/release/mcp-server dist/release/mcp-server + tar -C dist/release -czf dist/crank-community-admin-api-${IMAGE_TAG}.tar.gz admin-api + tar -C dist/release -czf dist/crank-community-mcp-server-${IMAGE_TAG}.tar.gz mcp-server + tar -C apps/ui/dist -czf dist/crank-community-ui-${IMAGE_TAG}.tar.gz . + sha256sum \ + dist/crank-community-admin-api-${IMAGE_TAG}.tar.gz \ + dist/crank-community-mcp-server-${IMAGE_TAG}.tar.gz \ + dist/crank-community-ui-${IMAGE_TAG}.tar.gz \ + > dist/crank-community-${IMAGE_TAG}-checksums.txt + + - name: Generate SBOM + run: | + docker run --rm -v "$PWD:/workspace" anchore/syft:latest \ + dir:/workspace -o spdx-json \ + > dist/crank-community-${IMAGE_TAG}-sbom.spdx.json + + - name: Load deployment secrets from OpenBao + env: + BAO_ADDR: ${{ secrets.BAO_ADDR }} + BAO_ROLE_ID: ${{ secrets.BAO_ROLE_ID }} + BAO_SECRET_ID: ${{ secrets.BAO_SECRET_ID }} + OPENBAO_APP: crank + run: scripts/load-openbao-env.sh + + - name: Login to registry + run: | + . "$OPENBAO_ENV_FILE" + printf '%s' "$DEPLOY_REGISTRY_TOKEN" | \ + docker login '${{ env.REGISTRY }}' -u "$DEPLOY_REGISTRY_USER" --password-stdin + + - name: Build and push release images + run: | + docker build -f apps/admin-api/Dockerfile \ + -t '${{ env.ADMIN_API_IMAGE }}:${{ env.IMAGE_TAG }}' \ + -t '${{ env.ADMIN_API_IMAGE }}:latest' . + docker build -f apps/mcp-server/Dockerfile \ + -t '${{ env.MCP_SERVER_IMAGE }}:${{ env.IMAGE_TAG }}' \ + -t '${{ env.MCP_SERVER_IMAGE }}:latest' . + docker build -f apps/ui/Dockerfile \ + -t '${{ env.UI_IMAGE }}:${{ env.IMAGE_TAG }}' \ + -t '${{ env.UI_IMAGE }}:latest' . + docker push '${{ env.ADMIN_API_IMAGE }}:${{ env.IMAGE_TAG }}' + docker push '${{ env.ADMIN_API_IMAGE }}:latest' + docker push '${{ env.MCP_SERVER_IMAGE }}:${{ env.IMAGE_TAG }}' + docker push '${{ env.MCP_SERVER_IMAGE }}:latest' + docker push '${{ env.UI_IMAGE }}:${{ env.IMAGE_TAG }}' + docker push '${{ env.UI_IMAGE }}:latest' + + - name: Show release bundle summary + run: | + ls -lh dist diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..159d57a --- /dev/null +++ b/.gitignore @@ -0,0 +1,24 @@ +/target +/.idea +/.vscode +/.DS_Store +/node_modules +/dist +/coverage +/.env +/.openbao-env +/var +/notes +apps/ui/node_modules +apps/ui/dist +apps/ui/playwright-report +apps/ui/test-results +.tmp +*.tsbuildinfo +apps/ui/vite.config.js +apps/ui/vite.config.d.ts +*.log +__*.md +diploma/ +AGENTS.md +TASKS.md diff --git a/.sqlx/query-0b8e9bed137684683d8b6a9ed52c94b6fb3bbcb19c7a621c78c5a6d3698bdf4d.json b/.sqlx/query-0b8e9bed137684683d8b6a9ed52c94b6fb3bbcb19c7a621c78c5a6d3698bdf4d.json new file mode 100644 index 0000000..2199915 --- /dev/null +++ b/.sqlx/query-0b8e9bed137684683d8b6a9ed52c94b6fb3bbcb19c7a621c78c5a6d3698bdf4d.json @@ -0,0 +1,100 @@ +{ + "db_name": "PostgreSQL", + "query": "select\n operations.id,\n operations.workspace_id,\n operations.name,\n operations.display_name,\n operations.category,\n operations.protocol,\n operations.security_level,\n ov.target_json,\n operations.status,\n operations.current_draft_version,\n operations.latest_published_version,\n operations.created_at as \"created_at!: time::OffsetDateTime\",\n operations.updated_at as \"updated_at!: time::OffsetDateTime\",\n operations.published_at as \"published_at: time::OffsetDateTime\"\n from operations\n join operation_versions ov\n on ov.operation_id = operations.id\n and ov.version = operations.current_draft_version\n where operations.workspace_id = $1\n order by operations.name asc", + "describe": { + "columns": [ + { + "ordinal": 0, + "name": "id", + "type_info": "Text" + }, + { + "ordinal": 1, + "name": "workspace_id", + "type_info": "Text" + }, + { + "ordinal": 2, + "name": "name", + "type_info": "Text" + }, + { + "ordinal": 3, + "name": "display_name", + "type_info": "Text" + }, + { + "ordinal": 4, + "name": "category", + "type_info": "Text" + }, + { + "ordinal": 5, + "name": "protocol", + "type_info": "Text" + }, + { + "ordinal": 6, + "name": "security_level", + "type_info": "Text" + }, + { + "ordinal": 7, + "name": "target_json", + "type_info": "Jsonb" + }, + { + "ordinal": 8, + "name": "status", + "type_info": "Text" + }, + { + "ordinal": 9, + "name": "current_draft_version", + "type_info": "Int4" + }, + { + "ordinal": 10, + "name": "latest_published_version", + "type_info": "Int4" + }, + { + "ordinal": 11, + "name": "created_at!: time::OffsetDateTime", + "type_info": "Timestamptz" + }, + { + "ordinal": 12, + "name": "updated_at!: time::OffsetDateTime", + "type_info": "Timestamptz" + }, + { + "ordinal": 13, + "name": "published_at: time::OffsetDateTime", + "type_info": "Timestamptz" + } + ], + "parameters": { + "Left": [ + "Text" + ] + }, + "nullable": [ + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + true, + false, + false, + true + ] + }, + "hash": "0b8e9bed137684683d8b6a9ed52c94b6fb3bbcb19c7a621c78c5a6d3698bdf4d" +} diff --git a/.sqlx/query-10ac4260e678ac458750988f95e54d3a84d9870e10e86bbe0d9c9fd99bf8a1f5.json b/.sqlx/query-10ac4260e678ac458750988f95e54d3a84d9870e10e86bbe0d9c9fd99bf8a1f5.json new file mode 100644 index 0000000..fe99c21 --- /dev/null +++ b/.sqlx/query-10ac4260e678ac458750988f95e54d3a84d9870e10e86bbe0d9c9fd99bf8a1f5.json @@ -0,0 +1,167 @@ +{ + "db_name": "PostgreSQL", + "query": "select\n o.id,\n o.workspace_id,\n o.name,\n o.display_name,\n o.category,\n o.protocol,\n o.security_level,\n o.created_at as \"operation_created_at!: time::OffsetDateTime\",\n o.updated_at as \"operation_updated_at!: time::OffsetDateTime\",\n o.published_at as \"operation_published_at: time::OffsetDateTime\",\n ov.version,\n ov.status,\n ov.target_json,\n ov.input_schema_json,\n ov.output_schema_json,\n ov.input_mapping_json,\n ov.output_mapping_json,\n ov.execution_config_json,\n ov.tool_description_json,\n ov.samples_json,\n ov.generated_draft_json,\n ov.config_export_json,\n ov.change_note,\n ov.created_at as \"created_at!: time::OffsetDateTime\",\n ov.created_by\n from operation_versions ov\n join operations o on o.id = ov.operation_id\n where o.workspace_id = $1 and ov.operation_id = $2\n order by ov.version asc", + "describe": { + "columns": [ + { + "ordinal": 0, + "name": "id", + "type_info": "Text" + }, + { + "ordinal": 1, + "name": "workspace_id", + "type_info": "Text" + }, + { + "ordinal": 2, + "name": "name", + "type_info": "Text" + }, + { + "ordinal": 3, + "name": "display_name", + "type_info": "Text" + }, + { + "ordinal": 4, + "name": "category", + "type_info": "Text" + }, + { + "ordinal": 5, + "name": "protocol", + "type_info": "Text" + }, + { + "ordinal": 6, + "name": "security_level", + "type_info": "Text" + }, + { + "ordinal": 7, + "name": "operation_created_at!: time::OffsetDateTime", + "type_info": "Timestamptz" + }, + { + "ordinal": 8, + "name": "operation_updated_at!: time::OffsetDateTime", + "type_info": "Timestamptz" + }, + { + "ordinal": 9, + "name": "operation_published_at: time::OffsetDateTime", + "type_info": "Timestamptz" + }, + { + "ordinal": 10, + "name": "version", + "type_info": "Int4" + }, + { + "ordinal": 11, + "name": "status", + "type_info": "Text" + }, + { + "ordinal": 12, + "name": "target_json", + "type_info": "Jsonb" + }, + { + "ordinal": 13, + "name": "input_schema_json", + "type_info": "Jsonb" + }, + { + "ordinal": 14, + "name": "output_schema_json", + "type_info": "Jsonb" + }, + { + "ordinal": 15, + "name": "input_mapping_json", + "type_info": "Jsonb" + }, + { + "ordinal": 16, + "name": "output_mapping_json", + "type_info": "Jsonb" + }, + { + "ordinal": 17, + "name": "execution_config_json", + "type_info": "Jsonb" + }, + { + "ordinal": 18, + "name": "tool_description_json", + "type_info": "Jsonb" + }, + { + "ordinal": 19, + "name": "samples_json", + "type_info": "Jsonb" + }, + { + "ordinal": 20, + "name": "generated_draft_json", + "type_info": "Jsonb" + }, + { + "ordinal": 21, + "name": "config_export_json", + "type_info": "Jsonb" + }, + { + "ordinal": 22, + "name": "change_note", + "type_info": "Text" + }, + { + "ordinal": 23, + "name": "created_at!: time::OffsetDateTime", + "type_info": "Timestamptz" + }, + { + "ordinal": 24, + "name": "created_by", + "type_info": "Text" + } + ], + "parameters": { + "Left": [ + "Text", + "Text" + ] + }, + "nullable": [ + false, + false, + false, + false, + false, + false, + false, + false, + false, + true, + false, + false, + false, + false, + false, + false, + false, + false, + false, + true, + true, + true, + true, + false, + true + ] + }, + "hash": "10ac4260e678ac458750988f95e54d3a84d9870e10e86bbe0d9c9fd99bf8a1f5" +} diff --git a/.sqlx/query-1912ca7a4b00fcc5c1a7fe5434b811977fbdf181436573fa96415ccfcb5fecb2.json b/.sqlx/query-1912ca7a4b00fcc5c1a7fe5434b811977fbdf181436573fa96415ccfcb5fecb2.json new file mode 100644 index 0000000..83da6db --- /dev/null +++ b/.sqlx/query-1912ca7a4b00fcc5c1a7fe5434b811977fbdf181436573fa96415ccfcb5fecb2.json @@ -0,0 +1,53 @@ +{ + "db_name": "PostgreSQL", + "query": "select\n agent_id,\n version,\n status,\n instructions_json,\n tool_selection_policy_json,\n created_at as \"created_at!: time::OffsetDateTime\"\n from agent_versions\n where agent_id = $1 and version = $2", + "describe": { + "columns": [ + { + "ordinal": 0, + "name": "agent_id", + "type_info": "Text" + }, + { + "ordinal": 1, + "name": "version", + "type_info": "Int4" + }, + { + "ordinal": 2, + "name": "status", + "type_info": "Text" + }, + { + "ordinal": 3, + "name": "instructions_json", + "type_info": "Jsonb" + }, + { + "ordinal": 4, + "name": "tool_selection_policy_json", + "type_info": "Jsonb" + }, + { + "ordinal": 5, + "name": "created_at!: time::OffsetDateTime", + "type_info": "Timestamptz" + } + ], + "parameters": { + "Left": [ + "Text", + "Int4" + ] + }, + "nullable": [ + false, + false, + false, + false, + false, + false + ] + }, + "hash": "1912ca7a4b00fcc5c1a7fe5434b811977fbdf181436573fa96415ccfcb5fecb2" +} diff --git a/.sqlx/query-1b8c77657275ab0ea28e68ae5147dbdad5d055887ef5fabd82552d4fe704f891.json b/.sqlx/query-1b8c77657275ab0ea28e68ae5147dbdad5d055887ef5fabd82552d4fe704f891.json new file mode 100644 index 0000000..06b97ab --- /dev/null +++ b/.sqlx/query-1b8c77657275ab0ea28e68ae5147dbdad5d055887ef5fabd82552d4fe704f891.json @@ -0,0 +1,65 @@ +{ + "db_name": "PostgreSQL", + "query": "select\n id,\n operation_id,\n version,\n sample_kind,\n storage_ref,\n content_type,\n file_name,\n created_at as \"created_at!: time::OffsetDateTime\"\n from operation_samples\n where operation_id = $1 and version = $2\n order by created_at asc", + "describe": { + "columns": [ + { + "ordinal": 0, + "name": "id", + "type_info": "Text" + }, + { + "ordinal": 1, + "name": "operation_id", + "type_info": "Text" + }, + { + "ordinal": 2, + "name": "version", + "type_info": "Int4" + }, + { + "ordinal": 3, + "name": "sample_kind", + "type_info": "Text" + }, + { + "ordinal": 4, + "name": "storage_ref", + "type_info": "Text" + }, + { + "ordinal": 5, + "name": "content_type", + "type_info": "Text" + }, + { + "ordinal": 6, + "name": "file_name", + "type_info": "Text" + }, + { + "ordinal": 7, + "name": "created_at!: time::OffsetDateTime", + "type_info": "Timestamptz" + } + ], + "parameters": { + "Left": [ + "Text", + "Int4" + ] + }, + "nullable": [ + false, + false, + false, + false, + false, + false, + true, + false + ] + }, + "hash": "1b8c77657275ab0ea28e68ae5147dbdad5d055887ef5fabd82552d4fe704f891" +} diff --git a/.sqlx/query-20a3404581cb52fa7087ba4649fde4910e8d7c2b1b17055fdd1c54206e55a874.json b/.sqlx/query-20a3404581cb52fa7087ba4649fde4910e8d7c2b1b17055fdd1c54206e55a874.json new file mode 100644 index 0000000..6c35de9 --- /dev/null +++ b/.sqlx/query-20a3404581cb52fa7087ba4649fde4910e8d7c2b1b17055fdd1c54206e55a874.json @@ -0,0 +1,83 @@ +{ + "db_name": "PostgreSQL", + "query": "select\n id,\n workspace_id,\n slug,\n display_name,\n description,\n status,\n current_draft_version,\n latest_published_version,\n created_at as \"created_at!: time::OffsetDateTime\",\n updated_at as \"updated_at!: time::OffsetDateTime\",\n published_at as \"published_at: time::OffsetDateTime\"\n from agents\n where workspace_id = $1 and id = $2", + "describe": { + "columns": [ + { + "ordinal": 0, + "name": "id", + "type_info": "Text" + }, + { + "ordinal": 1, + "name": "workspace_id", + "type_info": "Text" + }, + { + "ordinal": 2, + "name": "slug", + "type_info": "Text" + }, + { + "ordinal": 3, + "name": "display_name", + "type_info": "Text" + }, + { + "ordinal": 4, + "name": "description", + "type_info": "Text" + }, + { + "ordinal": 5, + "name": "status", + "type_info": "Text" + }, + { + "ordinal": 6, + "name": "current_draft_version", + "type_info": "Int4" + }, + { + "ordinal": 7, + "name": "latest_published_version", + "type_info": "Int4" + }, + { + "ordinal": 8, + "name": "created_at!: time::OffsetDateTime", + "type_info": "Timestamptz" + }, + { + "ordinal": 9, + "name": "updated_at!: time::OffsetDateTime", + "type_info": "Timestamptz" + }, + { + "ordinal": 10, + "name": "published_at: time::OffsetDateTime", + "type_info": "Timestamptz" + } + ], + "parameters": { + "Left": [ + "Text", + "Text" + ] + }, + "nullable": [ + false, + false, + false, + false, + false, + false, + false, + true, + false, + false, + true + ] + }, + "hash": "20a3404581cb52fa7087ba4649fde4910e8d7c2b1b17055fdd1c54206e55a874" +} diff --git a/.sqlx/query-249082378e98a7f137338cb1289cb6ea0a48c1ae74d614d63023e6dc0687f47c.json b/.sqlx/query-249082378e98a7f137338cb1289cb6ea0a48c1ae74d614d63023e6dc0687f47c.json new file mode 100644 index 0000000..e929b28 --- /dev/null +++ b/.sqlx/query-249082378e98a7f137338cb1289cb6ea0a48c1ae74d614d63023e6dc0687f47c.json @@ -0,0 +1,48 @@ +{ + "db_name": "PostgreSQL", + "query": "update users\n set email = $2,\n display_name = $3\n where id = $1\n returning\n id,\n email,\n display_name,\n status,\n created_at as \"created_at!: OffsetDateTime\"", + "describe": { + "columns": [ + { + "ordinal": 0, + "name": "id", + "type_info": "Text" + }, + { + "ordinal": 1, + "name": "email", + "type_info": "Text" + }, + { + "ordinal": 2, + "name": "display_name", + "type_info": "Text" + }, + { + "ordinal": 3, + "name": "status", + "type_info": "Text" + }, + { + "ordinal": 4, + "name": "created_at!: OffsetDateTime", + "type_info": "Timestamptz" + } + ], + "parameters": { + "Left": [ + "Text", + "Text", + "Text" + ] + }, + "nullable": [ + false, + false, + false, + false, + false + ] + }, + "hash": "249082378e98a7f137338cb1289cb6ea0a48c1ae74d614d63023e6dc0687f47c" +} diff --git a/.sqlx/query-2b819bad2a2712dab1a182b89ec52d762d66cffdc449ee6f73c74c1d23a17314.json b/.sqlx/query-2b819bad2a2712dab1a182b89ec52d762d66cffdc449ee6f73c74c1d23a17314.json new file mode 100644 index 0000000..11227cc --- /dev/null +++ b/.sqlx/query-2b819bad2a2712dab1a182b89ec52d762d66cffdc449ee6f73c74c1d23a17314.json @@ -0,0 +1,23 @@ +{ + "db_name": "PostgreSQL", + "query": "select exists(\n select 1\n from memberships\n where user_id = $1\n and workspace_id = $2\n ) as \"allowed!\"", + "describe": { + "columns": [ + { + "ordinal": 0, + "name": "allowed!", + "type_info": "Bool" + } + ], + "parameters": { + "Left": [ + "Text", + "Text" + ] + }, + "nullable": [ + null + ] + }, + "hash": "2b819bad2a2712dab1a182b89ec52d762d66cffdc449ee6f73c74c1d23a17314" +} diff --git a/.sqlx/query-3422060fba1de6d85f89c46b41cc1cf462f49f0e2fe93e9230d15f97710b74ee.json b/.sqlx/query-3422060fba1de6d85f89c46b41cc1cf462f49f0e2fe93e9230d15f97710b74ee.json new file mode 100644 index 0000000..e9828b6 --- /dev/null +++ b/.sqlx/query-3422060fba1de6d85f89c46b41cc1cf462f49f0e2fe93e9230d15f97710b74ee.json @@ -0,0 +1,23 @@ +{ + "db_name": "PostgreSQL", + "query": "select 1 as \"present!\"\n from workspaces w\n join agents a on a.workspace_id = w.id\n join published_agents pa on pa.agent_id = a.id\n where w.slug = $1 and a.slug = $2", + "describe": { + "columns": [ + { + "ordinal": 0, + "name": "present!", + "type_info": "Int4" + } + ], + "parameters": { + "Left": [ + "Text", + "Text" + ] + }, + "nullable": [ + null + ] + }, + "hash": "3422060fba1de6d85f89c46b41cc1cf462f49f0e2fe93e9230d15f97710b74ee" +} diff --git a/.sqlx/query-38911a904c6d284f5fb80cf2ae9f569de7c0ffd3b8ca73e6c01f0842ace4ad25.json b/.sqlx/query-38911a904c6d284f5fb80cf2ae9f569de7c0ffd3b8ca73e6c01f0842ace4ad25.json new file mode 100644 index 0000000..f459be6 --- /dev/null +++ b/.sqlx/query-38911a904c6d284f5fb80cf2ae9f569de7c0ffd3b8ca73e6c01f0842ace4ad25.json @@ -0,0 +1,52 @@ +{ + "db_name": "PostgreSQL", + "query": "select\n id,\n email,\n display_name,\n password_hash as \"password_hash!\",\n status,\n created_at as \"created_at!: OffsetDateTime\"\n from users\n where email = $1\n limit 1", + "describe": { + "columns": [ + { + "ordinal": 0, + "name": "id", + "type_info": "Text" + }, + { + "ordinal": 1, + "name": "email", + "type_info": "Text" + }, + { + "ordinal": 2, + "name": "display_name", + "type_info": "Text" + }, + { + "ordinal": 3, + "name": "password_hash!", + "type_info": "Text" + }, + { + "ordinal": 4, + "name": "status", + "type_info": "Text" + }, + { + "ordinal": 5, + "name": "created_at!: OffsetDateTime", + "type_info": "Timestamptz" + } + ], + "parameters": { + "Left": [ + "Text" + ] + }, + "nullable": [ + false, + false, + false, + true, + false, + false + ] + }, + "hash": "38911a904c6d284f5fb80cf2ae9f569de7c0ffd3b8ca73e6c01f0842ace4ad25" +} diff --git a/.sqlx/query-3d647bffe6eaf3b95be589ae2fe006b4aec8f55fa070f9f2ff3859dc7cb96d06.json b/.sqlx/query-3d647bffe6eaf3b95be589ae2fe006b4aec8f55fa070f9f2ff3859dc7cb96d06.json new file mode 100644 index 0000000..f5faed0 --- /dev/null +++ b/.sqlx/query-3d647bffe6eaf3b95be589ae2fe006b4aec8f55fa070f9f2ff3859dc7cb96d06.json @@ -0,0 +1,52 @@ +{ + "db_name": "PostgreSQL", + "query": "select\n id,\n email,\n display_name,\n password_hash as \"password_hash!\",\n status,\n created_at as \"created_at!: OffsetDateTime\"\n from users\n where id = $1\n limit 1", + "describe": { + "columns": [ + { + "ordinal": 0, + "name": "id", + "type_info": "Text" + }, + { + "ordinal": 1, + "name": "email", + "type_info": "Text" + }, + { + "ordinal": 2, + "name": "display_name", + "type_info": "Text" + }, + { + "ordinal": 3, + "name": "password_hash!", + "type_info": "Text" + }, + { + "ordinal": 4, + "name": "status", + "type_info": "Text" + }, + { + "ordinal": 5, + "name": "created_at!: OffsetDateTime", + "type_info": "Timestamptz" + } + ], + "parameters": { + "Left": [ + "Text" + ] + }, + "nullable": [ + false, + false, + false, + true, + false, + false + ] + }, + "hash": "3d647bffe6eaf3b95be589ae2fe006b4aec8f55fa070f9f2ff3859dc7cb96d06" +} diff --git a/.sqlx/query-3df72b8a0ac4a76b15909fc78268a1c87d1cd184973bf1cecc0c725691432c08.json b/.sqlx/query-3df72b8a0ac4a76b15909fc78268a1c87d1cd184973bf1cecc0c725691432c08.json new file mode 100644 index 0000000..83e24cc --- /dev/null +++ b/.sqlx/query-3df72b8a0ac4a76b15909fc78268a1c87d1cd184973bf1cecc0c725691432c08.json @@ -0,0 +1,25 @@ +{ + "db_name": "PostgreSQL", + "query": "insert into users (\n id,\n email,\n display_name,\n password_hash,\n status,\n created_at\n ) values (\n $1, $2, $3, $4, 'active', now()\n )\n on conflict (email) do update\n set display_name = excluded.display_name,\n password_hash = excluded.password_hash,\n status = 'active'\n returning id", + "describe": { + "columns": [ + { + "ordinal": 0, + "name": "id", + "type_info": "Text" + } + ], + "parameters": { + "Left": [ + "Text", + "Text", + "Text", + "Text" + ] + }, + "nullable": [ + false + ] + }, + "hash": "3df72b8a0ac4a76b15909fc78268a1c87d1cd184973bf1cecc0c725691432c08" +} diff --git a/.sqlx/query-56cf7fc3b89517095c52a30c091a040415a5f6eef589e9a264b9b1fd687353b7.json b/.sqlx/query-56cf7fc3b89517095c52a30c091a040415a5f6eef589e9a264b9b1fd687353b7.json new file mode 100644 index 0000000..7317c3c --- /dev/null +++ b/.sqlx/query-56cf7fc3b89517095c52a30c091a040415a5f6eef589e9a264b9b1fd687353b7.json @@ -0,0 +1,58 @@ +{ + "db_name": "PostgreSQL", + "query": "select\n id,\n slug,\n display_name,\n status,\n settings_json,\n created_at as \"created_at!: time::OffsetDateTime\",\n updated_at as \"updated_at!: time::OffsetDateTime\"\n from workspaces\n where id = $1", + "describe": { + "columns": [ + { + "ordinal": 0, + "name": "id", + "type_info": "Text" + }, + { + "ordinal": 1, + "name": "slug", + "type_info": "Text" + }, + { + "ordinal": 2, + "name": "display_name", + "type_info": "Text" + }, + { + "ordinal": 3, + "name": "status", + "type_info": "Text" + }, + { + "ordinal": 4, + "name": "settings_json", + "type_info": "Jsonb" + }, + { + "ordinal": 5, + "name": "created_at!: time::OffsetDateTime", + "type_info": "Timestamptz" + }, + { + "ordinal": 6, + "name": "updated_at!: time::OffsetDateTime", + "type_info": "Timestamptz" + } + ], + "parameters": { + "Left": [ + "Text" + ] + }, + "nullable": [ + false, + false, + false, + false, + false, + false, + false + ] + }, + "hash": "56cf7fc3b89517095c52a30c091a040415a5f6eef589e9a264b9b1fd687353b7" +} diff --git a/.sqlx/query-67a73cb5211a0c23d2e8d8361a8e37c488eb2420207e9c4fa682993eda20cd62.json b/.sqlx/query-67a73cb5211a0c23d2e8d8361a8e37c488eb2420207e9c4fa682993eda20cd62.json new file mode 100644 index 0000000..eb676d4 --- /dev/null +++ b/.sqlx/query-67a73cb5211a0c23d2e8d8361a8e37c488eb2420207e9c4fa682993eda20cd62.json @@ -0,0 +1,164 @@ +{ + "db_name": "PostgreSQL", + "query": "select\n o.id,\n o.workspace_id,\n o.name,\n o.display_name,\n o.category,\n o.protocol,\n o.security_level,\n o.created_at as \"operation_created_at!: time::OffsetDateTime\",\n o.updated_at as \"operation_updated_at!: time::OffsetDateTime\",\n o.published_at as \"operation_published_at: time::OffsetDateTime\",\n ov.version,\n ov.status,\n ov.target_json,\n ov.input_schema_json,\n ov.output_schema_json,\n ov.input_mapping_json,\n ov.output_mapping_json,\n ov.execution_config_json,\n ov.tool_description_json,\n ov.samples_json,\n ov.generated_draft_json,\n ov.config_export_json,\n ov.change_note,\n ov.created_at as \"created_at!: time::OffsetDateTime\",\n ov.created_by\n from published_operations po\n join operation_versions ov\n on ov.operation_id = po.operation_id and ov.version = po.version\n join operations o on o.id = po.operation_id\n order by o.name asc", + "describe": { + "columns": [ + { + "ordinal": 0, + "name": "id", + "type_info": "Text" + }, + { + "ordinal": 1, + "name": "workspace_id", + "type_info": "Text" + }, + { + "ordinal": 2, + "name": "name", + "type_info": "Text" + }, + { + "ordinal": 3, + "name": "display_name", + "type_info": "Text" + }, + { + "ordinal": 4, + "name": "category", + "type_info": "Text" + }, + { + "ordinal": 5, + "name": "protocol", + "type_info": "Text" + }, + { + "ordinal": 6, + "name": "security_level", + "type_info": "Text" + }, + { + "ordinal": 7, + "name": "operation_created_at!: time::OffsetDateTime", + "type_info": "Timestamptz" + }, + { + "ordinal": 8, + "name": "operation_updated_at!: time::OffsetDateTime", + "type_info": "Timestamptz" + }, + { + "ordinal": 9, + "name": "operation_published_at: time::OffsetDateTime", + "type_info": "Timestamptz" + }, + { + "ordinal": 10, + "name": "version", + "type_info": "Int4" + }, + { + "ordinal": 11, + "name": "status", + "type_info": "Text" + }, + { + "ordinal": 12, + "name": "target_json", + "type_info": "Jsonb" + }, + { + "ordinal": 13, + "name": "input_schema_json", + "type_info": "Jsonb" + }, + { + "ordinal": 14, + "name": "output_schema_json", + "type_info": "Jsonb" + }, + { + "ordinal": 15, + "name": "input_mapping_json", + "type_info": "Jsonb" + }, + { + "ordinal": 16, + "name": "output_mapping_json", + "type_info": "Jsonb" + }, + { + "ordinal": 17, + "name": "execution_config_json", + "type_info": "Jsonb" + }, + { + "ordinal": 18, + "name": "tool_description_json", + "type_info": "Jsonb" + }, + { + "ordinal": 19, + "name": "samples_json", + "type_info": "Jsonb" + }, + { + "ordinal": 20, + "name": "generated_draft_json", + "type_info": "Jsonb" + }, + { + "ordinal": 21, + "name": "config_export_json", + "type_info": "Jsonb" + }, + { + "ordinal": 22, + "name": "change_note", + "type_info": "Text" + }, + { + "ordinal": 23, + "name": "created_at!: time::OffsetDateTime", + "type_info": "Timestamptz" + }, + { + "ordinal": 24, + "name": "created_by", + "type_info": "Text" + } + ], + "parameters": { + "Left": [] + }, + "nullable": [ + false, + false, + false, + false, + false, + false, + false, + false, + false, + true, + false, + false, + false, + false, + false, + false, + false, + false, + false, + true, + true, + true, + true, + false, + true + ] + }, + "hash": "67a73cb5211a0c23d2e8d8361a8e37c488eb2420207e9c4fa682993eda20cd62" +} diff --git a/.sqlx/query-6ae136d8196f7b259b7e5d054ecbd063dc5746ef669f21b0db1b5843e9db22d0.json b/.sqlx/query-6ae136d8196f7b259b7e5d054ecbd063dc5746ef669f21b0db1b5843e9db22d0.json new file mode 100644 index 0000000..ff6c9a4 --- /dev/null +++ b/.sqlx/query-6ae136d8196f7b259b7e5d054ecbd063dc5746ef669f21b0db1b5843e9db22d0.json @@ -0,0 +1,65 @@ +{ + "db_name": "PostgreSQL", + "query": "select\n id,\n operation_id,\n version,\n descriptor_kind,\n storage_ref,\n source_name,\n package_index_json,\n created_at as \"created_at!: time::OffsetDateTime\"\n from descriptors\n where operation_id = $1 and version = $2\n order by created_at asc", + "describe": { + "columns": [ + { + "ordinal": 0, + "name": "id", + "type_info": "Text" + }, + { + "ordinal": 1, + "name": "operation_id", + "type_info": "Text" + }, + { + "ordinal": 2, + "name": "version", + "type_info": "Int4" + }, + { + "ordinal": 3, + "name": "descriptor_kind", + "type_info": "Text" + }, + { + "ordinal": 4, + "name": "storage_ref", + "type_info": "Text" + }, + { + "ordinal": 5, + "name": "source_name", + "type_info": "Text" + }, + { + "ordinal": 6, + "name": "package_index_json", + "type_info": "Jsonb" + }, + { + "ordinal": 7, + "name": "created_at!: time::OffsetDateTime", + "type_info": "Timestamptz" + } + ], + "parameters": { + "Left": [ + "Text", + "Int4" + ] + }, + "nullable": [ + false, + true, + true, + false, + false, + true, + true, + false + ] + }, + "hash": "6ae136d8196f7b259b7e5d054ecbd063dc5746ef669f21b0db1b5843e9db22d0" +} diff --git a/.sqlx/query-6eed48468f97843bbcd6a2f90448b68c15efa72029740e28bb881f54f73a6b9b.json b/.sqlx/query-6eed48468f97843bbcd6a2f90448b68c15efa72029740e28bb881f54f73a6b9b.json new file mode 100644 index 0000000..c66b1b0 --- /dev/null +++ b/.sqlx/query-6eed48468f97843bbcd6a2f90448b68c15efa72029740e28bb881f54f73a6b9b.json @@ -0,0 +1,23 @@ +{ + "db_name": "PostgreSQL", + "query": "select 1 as \"present!\"\n from agents a\n join published_agents pa on pa.agent_id = a.id\n join agent_operation_bindings b\n on b.agent_id = a.id and b.agent_version = pa.version\n where a.workspace_id = $1\n and b.operation_id = $2\n limit 1", + "describe": { + "columns": [ + { + "ordinal": 0, + "name": "present!", + "type_info": "Int4" + } + ], + "parameters": { + "Left": [ + "Text", + "Text" + ] + }, + "nullable": [ + null + ] + }, + "hash": "6eed48468f97843bbcd6a2f90448b68c15efa72029740e28bb881f54f73a6b9b" +} diff --git a/.sqlx/query-7ad59ce20834c3de2b0345c1be28d84377b417efb30c7bdc38d4e3746a0c1a7a.json b/.sqlx/query-7ad59ce20834c3de2b0345c1be28d84377b417efb30c7bdc38d4e3746a0c1a7a.json new file mode 100644 index 0000000..fc187bd --- /dev/null +++ b/.sqlx/query-7ad59ce20834c3de2b0345c1be28d84377b417efb30c7bdc38d4e3746a0c1a7a.json @@ -0,0 +1,166 @@ +{ + "db_name": "PostgreSQL", + "query": "select\n o.id,\n o.workspace_id,\n o.name,\n o.display_name,\n o.category,\n o.protocol,\n o.security_level,\n o.created_at as \"operation_created_at!: time::OffsetDateTime\",\n o.updated_at as \"operation_updated_at!: time::OffsetDateTime\",\n o.published_at as \"operation_published_at: time::OffsetDateTime\",\n ov.version,\n ov.status,\n ov.target_json,\n ov.input_schema_json,\n ov.output_schema_json,\n ov.input_mapping_json,\n ov.output_mapping_json,\n ov.execution_config_json,\n ov.tool_description_json,\n ov.samples_json,\n ov.generated_draft_json,\n ov.config_export_json,\n ov.change_note,\n ov.created_at as \"created_at!: time::OffsetDateTime\",\n ov.created_by\n from published_operations po\n join operation_versions ov\n on ov.operation_id = po.operation_id and ov.version = po.version\n join operations o on o.id = po.operation_id\n where po.operation_id = $1", + "describe": { + "columns": [ + { + "ordinal": 0, + "name": "id", + "type_info": "Text" + }, + { + "ordinal": 1, + "name": "workspace_id", + "type_info": "Text" + }, + { + "ordinal": 2, + "name": "name", + "type_info": "Text" + }, + { + "ordinal": 3, + "name": "display_name", + "type_info": "Text" + }, + { + "ordinal": 4, + "name": "category", + "type_info": "Text" + }, + { + "ordinal": 5, + "name": "protocol", + "type_info": "Text" + }, + { + "ordinal": 6, + "name": "security_level", + "type_info": "Text" + }, + { + "ordinal": 7, + "name": "operation_created_at!: time::OffsetDateTime", + "type_info": "Timestamptz" + }, + { + "ordinal": 8, + "name": "operation_updated_at!: time::OffsetDateTime", + "type_info": "Timestamptz" + }, + { + "ordinal": 9, + "name": "operation_published_at: time::OffsetDateTime", + "type_info": "Timestamptz" + }, + { + "ordinal": 10, + "name": "version", + "type_info": "Int4" + }, + { + "ordinal": 11, + "name": "status", + "type_info": "Text" + }, + { + "ordinal": 12, + "name": "target_json", + "type_info": "Jsonb" + }, + { + "ordinal": 13, + "name": "input_schema_json", + "type_info": "Jsonb" + }, + { + "ordinal": 14, + "name": "output_schema_json", + "type_info": "Jsonb" + }, + { + "ordinal": 15, + "name": "input_mapping_json", + "type_info": "Jsonb" + }, + { + "ordinal": 16, + "name": "output_mapping_json", + "type_info": "Jsonb" + }, + { + "ordinal": 17, + "name": "execution_config_json", + "type_info": "Jsonb" + }, + { + "ordinal": 18, + "name": "tool_description_json", + "type_info": "Jsonb" + }, + { + "ordinal": 19, + "name": "samples_json", + "type_info": "Jsonb" + }, + { + "ordinal": 20, + "name": "generated_draft_json", + "type_info": "Jsonb" + }, + { + "ordinal": 21, + "name": "config_export_json", + "type_info": "Jsonb" + }, + { + "ordinal": 22, + "name": "change_note", + "type_info": "Text" + }, + { + "ordinal": 23, + "name": "created_at!: time::OffsetDateTime", + "type_info": "Timestamptz" + }, + { + "ordinal": 24, + "name": "created_by", + "type_info": "Text" + } + ], + "parameters": { + "Left": [ + "Text" + ] + }, + "nullable": [ + false, + false, + false, + false, + false, + false, + false, + false, + false, + true, + false, + false, + false, + false, + false, + false, + false, + false, + false, + true, + true, + true, + true, + false, + true + ] + }, + "hash": "7ad59ce20834c3de2b0345c1be28d84377b417efb30c7bdc38d4e3746a0c1a7a" +} diff --git a/.sqlx/query-92bd2268efce8ba515b1d502287dea62bdfae0ba66100589ead3f986244b4cbb.json b/.sqlx/query-92bd2268efce8ba515b1d502287dea62bdfae0ba66100589ead3f986244b4cbb.json new file mode 100644 index 0000000..415db6d --- /dev/null +++ b/.sqlx/query-92bd2268efce8ba515b1d502287dea62bdfae0ba66100589ead3f986244b4cbb.json @@ -0,0 +1,64 @@ +{ + "db_name": "PostgreSQL", + "query": "select\n w.id,\n w.slug,\n w.display_name,\n w.status,\n w.settings_json,\n w.created_at as \"created_at!: time::OffsetDateTime\",\n w.updated_at as \"updated_at!: time::OffsetDateTime\",\n m.role\n from memberships m\n join workspaces w on w.id = m.workspace_id\n where m.user_id = $1\n order by w.slug asc", + "describe": { + "columns": [ + { + "ordinal": 0, + "name": "id", + "type_info": "Text" + }, + { + "ordinal": 1, + "name": "slug", + "type_info": "Text" + }, + { + "ordinal": 2, + "name": "display_name", + "type_info": "Text" + }, + { + "ordinal": 3, + "name": "status", + "type_info": "Text" + }, + { + "ordinal": 4, + "name": "settings_json", + "type_info": "Jsonb" + }, + { + "ordinal": 5, + "name": "created_at!: time::OffsetDateTime", + "type_info": "Timestamptz" + }, + { + "ordinal": 6, + "name": "updated_at!: time::OffsetDateTime", + "type_info": "Timestamptz" + }, + { + "ordinal": 7, + "name": "role", + "type_info": "Text" + } + ], + "parameters": { + "Left": [ + "Text" + ] + }, + "nullable": [ + false, + false, + false, + false, + false, + false, + false, + false + ] + }, + "hash": "92bd2268efce8ba515b1d502287dea62bdfae0ba66100589ead3f986244b4cbb" +} diff --git a/.sqlx/query-9625d5160a075b55b5bb980ea8e82e9da706a34d17adf0bc94ddb4e7a3818c18.json b/.sqlx/query-9625d5160a075b55b5bb980ea8e82e9da706a34d17adf0bc94ddb4e7a3818c18.json new file mode 100644 index 0000000..f09acbf --- /dev/null +++ b/.sqlx/query-9625d5160a075b55b5bb980ea8e82e9da706a34d17adf0bc94ddb4e7a3818c18.json @@ -0,0 +1,82 @@ +{ + "db_name": "PostgreSQL", + "query": "select\n id,\n workspace_id,\n slug,\n display_name,\n description,\n status,\n current_draft_version,\n latest_published_version,\n created_at as \"created_at!: time::OffsetDateTime\",\n updated_at as \"updated_at!: time::OffsetDateTime\",\n published_at as \"published_at: time::OffsetDateTime\"\n from agents\n where workspace_id = $1\n order by slug asc", + "describe": { + "columns": [ + { + "ordinal": 0, + "name": "id", + "type_info": "Text" + }, + { + "ordinal": 1, + "name": "workspace_id", + "type_info": "Text" + }, + { + "ordinal": 2, + "name": "slug", + "type_info": "Text" + }, + { + "ordinal": 3, + "name": "display_name", + "type_info": "Text" + }, + { + "ordinal": 4, + "name": "description", + "type_info": "Text" + }, + { + "ordinal": 5, + "name": "status", + "type_info": "Text" + }, + { + "ordinal": 6, + "name": "current_draft_version", + "type_info": "Int4" + }, + { + "ordinal": 7, + "name": "latest_published_version", + "type_info": "Int4" + }, + { + "ordinal": 8, + "name": "created_at!: time::OffsetDateTime", + "type_info": "Timestamptz" + }, + { + "ordinal": 9, + "name": "updated_at!: time::OffsetDateTime", + "type_info": "Timestamptz" + }, + { + "ordinal": 10, + "name": "published_at: time::OffsetDateTime", + "type_info": "Timestamptz" + } + ], + "parameters": { + "Left": [ + "Text" + ] + }, + "nullable": [ + false, + false, + false, + false, + false, + false, + false, + true, + false, + false, + true + ] + }, + "hash": "9625d5160a075b55b5bb980ea8e82e9da706a34d17adf0bc94ddb4e7a3818c18" +} diff --git a/.sqlx/query-a1d2c9b16b61d226701449fc22146db6f0f7d17e6867f929c44027990fb94b57.json b/.sqlx/query-a1d2c9b16b61d226701449fc22146db6f0f7d17e6867f929c44027990fb94b57.json new file mode 100644 index 0000000..8900459 --- /dev/null +++ b/.sqlx/query-a1d2c9b16b61d226701449fc22146db6f0f7d17e6867f929c44027990fb94b57.json @@ -0,0 +1,94 @@ +{ + "db_name": "PostgreSQL", + "query": "select\n id,\n workspace_id,\n agent_id,\n operation_id,\n protocol,\n mode,\n status,\n cursor_json,\n state_json,\n expires_at as \"expires_at!: OffsetDateTime\",\n last_poll_at as \"last_poll_at: OffsetDateTime\",\n created_at as \"created_at!: OffsetDateTime\",\n closed_at as \"closed_at: OffsetDateTime\"\n from stream_sessions\n where id = $1", + "describe": { + "columns": [ + { + "ordinal": 0, + "name": "id", + "type_info": "Text" + }, + { + "ordinal": 1, + "name": "workspace_id", + "type_info": "Text" + }, + { + "ordinal": 2, + "name": "agent_id", + "type_info": "Text" + }, + { + "ordinal": 3, + "name": "operation_id", + "type_info": "Text" + }, + { + "ordinal": 4, + "name": "protocol", + "type_info": "Text" + }, + { + "ordinal": 5, + "name": "mode", + "type_info": "Text" + }, + { + "ordinal": 6, + "name": "status", + "type_info": "Text" + }, + { + "ordinal": 7, + "name": "cursor_json", + "type_info": "Jsonb" + }, + { + "ordinal": 8, + "name": "state_json", + "type_info": "Jsonb" + }, + { + "ordinal": 9, + "name": "expires_at!: OffsetDateTime", + "type_info": "Timestamptz" + }, + { + "ordinal": 10, + "name": "last_poll_at: OffsetDateTime", + "type_info": "Timestamptz" + }, + { + "ordinal": 11, + "name": "created_at!: OffsetDateTime", + "type_info": "Timestamptz" + }, + { + "ordinal": 12, + "name": "closed_at: OffsetDateTime", + "type_info": "Timestamptz" + } + ], + "parameters": { + "Left": [ + "Text" + ] + }, + "nullable": [ + false, + false, + true, + false, + false, + false, + false, + true, + false, + false, + true, + false, + true + ] + }, + "hash": "a1d2c9b16b61d226701449fc22146db6f0f7d17e6867f929c44027990fb94b57" +} diff --git a/.sqlx/query-a24c36f988151016f9ffa834a6a5658f7f094844b892c999e6f58d6f92fbe0c2.json b/.sqlx/query-a24c36f988151016f9ffa834a6a5658f7f094844b892c999e6f58d6f92fbe0c2.json new file mode 100644 index 0000000..638d532 --- /dev/null +++ b/.sqlx/query-a24c36f988151016f9ffa834a6a5658f7f094844b892c999e6f58d6f92fbe0c2.json @@ -0,0 +1,168 @@ +{ + "db_name": "PostgreSQL", + "query": "select\n o.id,\n o.workspace_id,\n o.name,\n o.display_name,\n o.category,\n o.protocol,\n o.security_level,\n o.created_at as \"operation_created_at!: time::OffsetDateTime\",\n o.updated_at as \"operation_updated_at!: time::OffsetDateTime\",\n o.published_at as \"operation_published_at: time::OffsetDateTime\",\n ov.version,\n ov.status,\n ov.target_json,\n ov.input_schema_json,\n ov.output_schema_json,\n ov.input_mapping_json,\n ov.output_mapping_json,\n ov.execution_config_json,\n ov.tool_description_json,\n ov.samples_json,\n ov.generated_draft_json,\n ov.config_export_json,\n ov.change_note,\n ov.created_at as \"created_at!: time::OffsetDateTime\",\n ov.created_by\n from operation_versions ov\n join operations o on o.id = ov.operation_id\n where o.workspace_id = $1 and ov.operation_id = $2 and ov.version = $3", + "describe": { + "columns": [ + { + "ordinal": 0, + "name": "id", + "type_info": "Text" + }, + { + "ordinal": 1, + "name": "workspace_id", + "type_info": "Text" + }, + { + "ordinal": 2, + "name": "name", + "type_info": "Text" + }, + { + "ordinal": 3, + "name": "display_name", + "type_info": "Text" + }, + { + "ordinal": 4, + "name": "category", + "type_info": "Text" + }, + { + "ordinal": 5, + "name": "protocol", + "type_info": "Text" + }, + { + "ordinal": 6, + "name": "security_level", + "type_info": "Text" + }, + { + "ordinal": 7, + "name": "operation_created_at!: time::OffsetDateTime", + "type_info": "Timestamptz" + }, + { + "ordinal": 8, + "name": "operation_updated_at!: time::OffsetDateTime", + "type_info": "Timestamptz" + }, + { + "ordinal": 9, + "name": "operation_published_at: time::OffsetDateTime", + "type_info": "Timestamptz" + }, + { + "ordinal": 10, + "name": "version", + "type_info": "Int4" + }, + { + "ordinal": 11, + "name": "status", + "type_info": "Text" + }, + { + "ordinal": 12, + "name": "target_json", + "type_info": "Jsonb" + }, + { + "ordinal": 13, + "name": "input_schema_json", + "type_info": "Jsonb" + }, + { + "ordinal": 14, + "name": "output_schema_json", + "type_info": "Jsonb" + }, + { + "ordinal": 15, + "name": "input_mapping_json", + "type_info": "Jsonb" + }, + { + "ordinal": 16, + "name": "output_mapping_json", + "type_info": "Jsonb" + }, + { + "ordinal": 17, + "name": "execution_config_json", + "type_info": "Jsonb" + }, + { + "ordinal": 18, + "name": "tool_description_json", + "type_info": "Jsonb" + }, + { + "ordinal": 19, + "name": "samples_json", + "type_info": "Jsonb" + }, + { + "ordinal": 20, + "name": "generated_draft_json", + "type_info": "Jsonb" + }, + { + "ordinal": 21, + "name": "config_export_json", + "type_info": "Jsonb" + }, + { + "ordinal": 22, + "name": "change_note", + "type_info": "Text" + }, + { + "ordinal": 23, + "name": "created_at!: time::OffsetDateTime", + "type_info": "Timestamptz" + }, + { + "ordinal": 24, + "name": "created_by", + "type_info": "Text" + } + ], + "parameters": { + "Left": [ + "Text", + "Text", + "Int4" + ] + }, + "nullable": [ + false, + false, + false, + false, + false, + false, + false, + false, + false, + true, + false, + false, + false, + false, + false, + false, + false, + false, + false, + true, + true, + true, + true, + false, + true + ] + }, + "hash": "a24c36f988151016f9ffa834a6a5658f7f094844b892c999e6f58d6f92fbe0c2" +} diff --git a/.sqlx/query-b68377d8ffd5bdc9b8e417170f4940b65d2167dada6b6110985ce0bd95480b93.json b/.sqlx/query-b68377d8ffd5bdc9b8e417170f4940b65d2167dada6b6110985ce0bd95480b93.json new file mode 100644 index 0000000..21fc532 --- /dev/null +++ b/.sqlx/query-b68377d8ffd5bdc9b8e417170f4940b65d2167dada6b6110985ce0bd95480b93.json @@ -0,0 +1,99 @@ +{ + "db_name": "PostgreSQL", + "query": "select\n id,\n workspace_id,\n agent_id,\n operation_id,\n protocol,\n mode,\n status,\n cursor_json,\n state_json,\n expires_at as \"expires_at!: OffsetDateTime\",\n last_poll_at as \"last_poll_at: OffsetDateTime\",\n created_at as \"created_at!: OffsetDateTime\",\n closed_at as \"closed_at: OffsetDateTime\"\n from stream_sessions\n where workspace_id = $1\n and ($2::text is null or agent_id = $2)\n and ($3::text is null or operation_id = $3)\n and ($4::text is null or status = $4)\n and ($5::text is null or mode = $5)\n order by created_at desc\n limit $6", + "describe": { + "columns": [ + { + "ordinal": 0, + "name": "id", + "type_info": "Text" + }, + { + "ordinal": 1, + "name": "workspace_id", + "type_info": "Text" + }, + { + "ordinal": 2, + "name": "agent_id", + "type_info": "Text" + }, + { + "ordinal": 3, + "name": "operation_id", + "type_info": "Text" + }, + { + "ordinal": 4, + "name": "protocol", + "type_info": "Text" + }, + { + "ordinal": 5, + "name": "mode", + "type_info": "Text" + }, + { + "ordinal": 6, + "name": "status", + "type_info": "Text" + }, + { + "ordinal": 7, + "name": "cursor_json", + "type_info": "Jsonb" + }, + { + "ordinal": 8, + "name": "state_json", + "type_info": "Jsonb" + }, + { + "ordinal": 9, + "name": "expires_at!: OffsetDateTime", + "type_info": "Timestamptz" + }, + { + "ordinal": 10, + "name": "last_poll_at: OffsetDateTime", + "type_info": "Timestamptz" + }, + { + "ordinal": 11, + "name": "created_at!: OffsetDateTime", + "type_info": "Timestamptz" + }, + { + "ordinal": 12, + "name": "closed_at: OffsetDateTime", + "type_info": "Timestamptz" + } + ], + "parameters": { + "Left": [ + "Text", + "Text", + "Text", + "Text", + "Text", + "Int8" + ] + }, + "nullable": [ + false, + false, + true, + false, + false, + false, + false, + true, + false, + false, + true, + false, + true + ] + }, + "hash": "b68377d8ffd5bdc9b8e417170f4940b65d2167dada6b6110985ce0bd95480b93" +} diff --git a/.sqlx/query-b86a7406eeec83390458e35fb8611e19377582ec0ca245a162c2d2236077bb9b.json b/.sqlx/query-b86a7406eeec83390458e35fb8611e19377582ec0ca245a162c2d2236077bb9b.json new file mode 100644 index 0000000..e74aa00 --- /dev/null +++ b/.sqlx/query-b86a7406eeec83390458e35fb8611e19377582ec0ca245a162c2d2236077bb9b.json @@ -0,0 +1,58 @@ +{ + "db_name": "PostgreSQL", + "query": "select\n id,\n workspace_id,\n name,\n kind,\n config_json,\n created_at as \"created_at!: OffsetDateTime\",\n updated_at as \"updated_at!: OffsetDateTime\"\n from auth_profiles\n where workspace_id = $1\n order by name asc", + "describe": { + "columns": [ + { + "ordinal": 0, + "name": "id", + "type_info": "Text" + }, + { + "ordinal": 1, + "name": "workspace_id", + "type_info": "Text" + }, + { + "ordinal": 2, + "name": "name", + "type_info": "Text" + }, + { + "ordinal": 3, + "name": "kind", + "type_info": "Text" + }, + { + "ordinal": 4, + "name": "config_json", + "type_info": "Jsonb" + }, + { + "ordinal": 5, + "name": "created_at!: OffsetDateTime", + "type_info": "Timestamptz" + }, + { + "ordinal": 6, + "name": "updated_at!: OffsetDateTime", + "type_info": "Timestamptz" + } + ], + "parameters": { + "Left": [ + "Text" + ] + }, + "nullable": [ + false, + false, + false, + false, + false, + false, + false + ] + }, + "hash": "b86a7406eeec83390458e35fb8611e19377582ec0ca245a162c2d2236077bb9b" +} diff --git a/.sqlx/query-bdae00d03a55ba3b6d121578b081e970ff08427f9a3dd396b649996a9131260c.json b/.sqlx/query-bdae00d03a55ba3b6d121578b081e970ff08427f9a3dd396b649996a9131260c.json new file mode 100644 index 0000000..8762d72 --- /dev/null +++ b/.sqlx/query-bdae00d03a55ba3b6d121578b081e970ff08427f9a3dd396b649996a9131260c.json @@ -0,0 +1,64 @@ +{ + "db_name": "PostgreSQL", + "query": "select\n id,\n protocol_version,\n initialized,\n workspace_slug,\n agent_slug,\n created_at as \"created_at!: OffsetDateTime\",\n updated_at as \"updated_at!: OffsetDateTime\",\n expires_at as \"expires_at: OffsetDateTime\"\n from mcp_transport_sessions\n where id = $1", + "describe": { + "columns": [ + { + "ordinal": 0, + "name": "id", + "type_info": "Text" + }, + { + "ordinal": 1, + "name": "protocol_version", + "type_info": "Text" + }, + { + "ordinal": 2, + "name": "initialized", + "type_info": "Bool" + }, + { + "ordinal": 3, + "name": "workspace_slug", + "type_info": "Text" + }, + { + "ordinal": 4, + "name": "agent_slug", + "type_info": "Text" + }, + { + "ordinal": 5, + "name": "created_at!: OffsetDateTime", + "type_info": "Timestamptz" + }, + { + "ordinal": 6, + "name": "updated_at!: OffsetDateTime", + "type_info": "Timestamptz" + }, + { + "ordinal": 7, + "name": "expires_at: OffsetDateTime", + "type_info": "Timestamptz" + } + ], + "parameters": { + "Left": [ + "Text" + ] + }, + "nullable": [ + false, + false, + false, + false, + false, + false, + false, + true + ] + }, + "hash": "bdae00d03a55ba3b6d121578b081e970ff08427f9a3dd396b649996a9131260c" +} diff --git a/.sqlx/query-c3002576245c677598f401b5db517f9c01c9e5cbc1eea5511005d572a0776edc.json b/.sqlx/query-c3002576245c677598f401b5db517f9c01c9e5cbc1eea5511005d572a0776edc.json new file mode 100644 index 0000000..f88bd2c --- /dev/null +++ b/.sqlx/query-c3002576245c677598f401b5db517f9c01c9e5cbc1eea5511005d572a0776edc.json @@ -0,0 +1,64 @@ +{ + "db_name": "PostgreSQL", + "query": "select\n m.workspace_id,\n m.user_id,\n m.role,\n m.created_at as \"created_at!: time::OffsetDateTime\",\n u.email,\n u.display_name,\n u.status,\n u.created_at as \"user_created_at!: time::OffsetDateTime\"\n from memberships m\n join users u on u.id = m.user_id\n where m.workspace_id = $1\n order by u.email asc", + "describe": { + "columns": [ + { + "ordinal": 0, + "name": "workspace_id", + "type_info": "Text" + }, + { + "ordinal": 1, + "name": "user_id", + "type_info": "Text" + }, + { + "ordinal": 2, + "name": "role", + "type_info": "Text" + }, + { + "ordinal": 3, + "name": "created_at!: time::OffsetDateTime", + "type_info": "Timestamptz" + }, + { + "ordinal": 4, + "name": "email", + "type_info": "Text" + }, + { + "ordinal": 5, + "name": "display_name", + "type_info": "Text" + }, + { + "ordinal": 6, + "name": "status", + "type_info": "Text" + }, + { + "ordinal": 7, + "name": "user_created_at!: time::OffsetDateTime", + "type_info": "Timestamptz" + } + ], + "parameters": { + "Left": [ + "Text" + ] + }, + "nullable": [ + false, + false, + false, + false, + false, + false, + false, + false + ] + }, + "hash": "c3002576245c677598f401b5db517f9c01c9e5cbc1eea5511005d572a0776edc" +} diff --git a/.sqlx/query-d5b882fd05f2db2e766207064bd46ad2ffe665efc5f11252136bee340a3a4a89.json b/.sqlx/query-d5b882fd05f2db2e766207064bd46ad2ffe665efc5f11252136bee340a3a4a89.json new file mode 100644 index 0000000..65e4484 --- /dev/null +++ b/.sqlx/query-d5b882fd05f2db2e766207064bd46ad2ffe665efc5f11252136bee340a3a4a89.json @@ -0,0 +1,71 @@ +{ + "db_name": "PostgreSQL", + "query": "select\n id,\n workspace_id,\n name,\n kind,\n status,\n current_version,\n created_at as \"created_at!: time::OffsetDateTime\",\n updated_at as \"updated_at!: time::OffsetDateTime\",\n last_used_at as \"last_used_at: time::OffsetDateTime\"\n from secrets\n where workspace_id = $1 and id = $2", + "describe": { + "columns": [ + { + "ordinal": 0, + "name": "id", + "type_info": "Text" + }, + { + "ordinal": 1, + "name": "workspace_id", + "type_info": "Text" + }, + { + "ordinal": 2, + "name": "name", + "type_info": "Text" + }, + { + "ordinal": 3, + "name": "kind", + "type_info": "Text" + }, + { + "ordinal": 4, + "name": "status", + "type_info": "Text" + }, + { + "ordinal": 5, + "name": "current_version", + "type_info": "Int4" + }, + { + "ordinal": 6, + "name": "created_at!: time::OffsetDateTime", + "type_info": "Timestamptz" + }, + { + "ordinal": 7, + "name": "updated_at!: time::OffsetDateTime", + "type_info": "Timestamptz" + }, + { + "ordinal": 8, + "name": "last_used_at: time::OffsetDateTime", + "type_info": "Timestamptz" + } + ], + "parameters": { + "Left": [ + "Text", + "Text" + ] + }, + "nullable": [ + false, + false, + false, + false, + false, + false, + false, + false, + true + ] + }, + "hash": "d5b882fd05f2db2e766207064bd46ad2ffe665efc5f11252136bee340a3a4a89" +} diff --git a/.sqlx/query-d6cd575c05dabaa09177985375c59ce42857433dd11580659481c562f9d9ab3f.json b/.sqlx/query-d6cd575c05dabaa09177985375c59ce42857433dd11580659481c562f9d9ab3f.json new file mode 100644 index 0000000..3893be5 --- /dev/null +++ b/.sqlx/query-d6cd575c05dabaa09177985375c59ce42857433dd11580659481c562f9d9ab3f.json @@ -0,0 +1,56 @@ +{ + "db_name": "PostgreSQL", + "query": "select\n id,\n slug,\n display_name,\n status,\n settings_json,\n created_at as \"created_at!: time::OffsetDateTime\",\n updated_at as \"updated_at!: time::OffsetDateTime\"\n from workspaces\n order by slug asc", + "describe": { + "columns": [ + { + "ordinal": 0, + "name": "id", + "type_info": "Text" + }, + { + "ordinal": 1, + "name": "slug", + "type_info": "Text" + }, + { + "ordinal": 2, + "name": "display_name", + "type_info": "Text" + }, + { + "ordinal": 3, + "name": "status", + "type_info": "Text" + }, + { + "ordinal": 4, + "name": "settings_json", + "type_info": "Jsonb" + }, + { + "ordinal": 5, + "name": "created_at!: time::OffsetDateTime", + "type_info": "Timestamptz" + }, + { + "ordinal": 6, + "name": "updated_at!: time::OffsetDateTime", + "type_info": "Timestamptz" + } + ], + "parameters": { + "Left": [] + }, + "nullable": [ + false, + false, + false, + false, + false, + false, + false + ] + }, + "hash": "d6cd575c05dabaa09177985375c59ce42857433dd11580659481c562f9d9ab3f" +} diff --git a/.sqlx/query-dcde0691b13dbab00364f4142b95a2785c0a612ff739e341e28d0831b7170f6b.json b/.sqlx/query-dcde0691b13dbab00364f4142b95a2785c0a612ff739e341e28d0831b7170f6b.json new file mode 100644 index 0000000..e27ad9f --- /dev/null +++ b/.sqlx/query-dcde0691b13dbab00364f4142b95a2785c0a612ff739e341e28d0831b7170f6b.json @@ -0,0 +1,70 @@ +{ + "db_name": "PostgreSQL", + "query": "select\n id,\n workspace_id,\n name,\n kind,\n status,\n current_version,\n created_at as \"created_at!: time::OffsetDateTime\",\n updated_at as \"updated_at!: time::OffsetDateTime\",\n last_used_at as \"last_used_at: time::OffsetDateTime\"\n from secrets\n where workspace_id = $1\n order by name asc", + "describe": { + "columns": [ + { + "ordinal": 0, + "name": "id", + "type_info": "Text" + }, + { + "ordinal": 1, + "name": "workspace_id", + "type_info": "Text" + }, + { + "ordinal": 2, + "name": "name", + "type_info": "Text" + }, + { + "ordinal": 3, + "name": "kind", + "type_info": "Text" + }, + { + "ordinal": 4, + "name": "status", + "type_info": "Text" + }, + { + "ordinal": 5, + "name": "current_version", + "type_info": "Int4" + }, + { + "ordinal": 6, + "name": "created_at!: time::OffsetDateTime", + "type_info": "Timestamptz" + }, + { + "ordinal": 7, + "name": "updated_at!: time::OffsetDateTime", + "type_info": "Timestamptz" + }, + { + "ordinal": 8, + "name": "last_used_at: time::OffsetDateTime", + "type_info": "Timestamptz" + } + ], + "parameters": { + "Left": [ + "Text" + ] + }, + "nullable": [ + false, + false, + false, + false, + false, + false, + false, + false, + true + ] + }, + "hash": "dcde0691b13dbab00364f4142b95a2785c0a612ff739e341e28d0831b7170f6b" +} diff --git a/.sqlx/query-dd4a415a042b863b1034727737f3d14019ba405a07a8360b68e8c9c5597e17ce.json b/.sqlx/query-dd4a415a042b863b1034727737f3d14019ba405a07a8360b68e8c9c5597e17ce.json new file mode 100644 index 0000000..0a463cd --- /dev/null +++ b/.sqlx/query-dd4a415a042b863b1034727737f3d14019ba405a07a8360b68e8c9c5597e17ce.json @@ -0,0 +1,203 @@ +{ + "db_name": "PostgreSQL", + "query": "select\n w.id as workspace_id,\n w.slug as workspace_slug,\n a.id as agent_id,\n a.slug as agent_slug,\n b.tool_name,\n b.tool_title,\n coalesce(b.tool_description_override, ov.tool_description_json->>'description') as \"tool_description!\",\n o.id,\n o.name,\n o.display_name,\n o.category,\n o.protocol,\n o.security_level,\n o.created_at as \"operation_created_at!: time::OffsetDateTime\",\n o.updated_at as \"operation_updated_at!: time::OffsetDateTime\",\n o.published_at as \"operation_published_at: time::OffsetDateTime\",\n ov.version,\n ov.status,\n ov.target_json,\n ov.input_schema_json,\n ov.output_schema_json,\n ov.input_mapping_json,\n ov.output_mapping_json,\n ov.execution_config_json,\n ov.tool_description_json,\n ov.samples_json,\n ov.generated_draft_json,\n ov.config_export_json,\n ov.change_note,\n ov.created_at as \"created_at!: time::OffsetDateTime\",\n ov.created_by\n from workspaces w\n join agents a on a.workspace_id = w.id\n join published_agents pa on pa.agent_id = a.id\n join agent_operation_bindings b on b.agent_id = a.id and b.agent_version = pa.version\n join operation_versions ov on ov.operation_id = b.operation_id and ov.version = b.operation_version\n join operations o on o.id = ov.operation_id and o.workspace_id = w.id\n where w.slug = $1 and a.slug = $2 and b.enabled = true\n order by b.tool_name asc", + "describe": { + "columns": [ + { + "ordinal": 0, + "name": "workspace_id", + "type_info": "Text" + }, + { + "ordinal": 1, + "name": "workspace_slug", + "type_info": "Text" + }, + { + "ordinal": 2, + "name": "agent_id", + "type_info": "Text" + }, + { + "ordinal": 3, + "name": "agent_slug", + "type_info": "Text" + }, + { + "ordinal": 4, + "name": "tool_name", + "type_info": "Text" + }, + { + "ordinal": 5, + "name": "tool_title", + "type_info": "Text" + }, + { + "ordinal": 6, + "name": "tool_description!", + "type_info": "Text" + }, + { + "ordinal": 7, + "name": "id", + "type_info": "Text" + }, + { + "ordinal": 8, + "name": "name", + "type_info": "Text" + }, + { + "ordinal": 9, + "name": "display_name", + "type_info": "Text" + }, + { + "ordinal": 10, + "name": "category", + "type_info": "Text" + }, + { + "ordinal": 11, + "name": "protocol", + "type_info": "Text" + }, + { + "ordinal": 12, + "name": "security_level", + "type_info": "Text" + }, + { + "ordinal": 13, + "name": "operation_created_at!: time::OffsetDateTime", + "type_info": "Timestamptz" + }, + { + "ordinal": 14, + "name": "operation_updated_at!: time::OffsetDateTime", + "type_info": "Timestamptz" + }, + { + "ordinal": 15, + "name": "operation_published_at: time::OffsetDateTime", + "type_info": "Timestamptz" + }, + { + "ordinal": 16, + "name": "version", + "type_info": "Int4" + }, + { + "ordinal": 17, + "name": "status", + "type_info": "Text" + }, + { + "ordinal": 18, + "name": "target_json", + "type_info": "Jsonb" + }, + { + "ordinal": 19, + "name": "input_schema_json", + "type_info": "Jsonb" + }, + { + "ordinal": 20, + "name": "output_schema_json", + "type_info": "Jsonb" + }, + { + "ordinal": 21, + "name": "input_mapping_json", + "type_info": "Jsonb" + }, + { + "ordinal": 22, + "name": "output_mapping_json", + "type_info": "Jsonb" + }, + { + "ordinal": 23, + "name": "execution_config_json", + "type_info": "Jsonb" + }, + { + "ordinal": 24, + "name": "tool_description_json", + "type_info": "Jsonb" + }, + { + "ordinal": 25, + "name": "samples_json", + "type_info": "Jsonb" + }, + { + "ordinal": 26, + "name": "generated_draft_json", + "type_info": "Jsonb" + }, + { + "ordinal": 27, + "name": "config_export_json", + "type_info": "Jsonb" + }, + { + "ordinal": 28, + "name": "change_note", + "type_info": "Text" + }, + { + "ordinal": 29, + "name": "created_at!: time::OffsetDateTime", + "type_info": "Timestamptz" + }, + { + "ordinal": 30, + "name": "created_by", + "type_info": "Text" + } + ], + "parameters": { + "Left": [ + "Text", + "Text" + ] + }, + "nullable": [ + false, + false, + false, + false, + false, + false, + null, + false, + false, + false, + false, + false, + false, + false, + false, + true, + false, + false, + false, + false, + false, + false, + false, + false, + false, + true, + true, + true, + true, + false, + true + ] + }, + "hash": "dd4a415a042b863b1034727737f3d14019ba405a07a8360b68e8c9c5597e17ce" +} diff --git a/.sqlx/query-e86682005480df007b488b8543adc8a6d4068e33a5509f9e314dd0d97eac178b.json b/.sqlx/query-e86682005480df007b488b8543adc8a6d4068e33a5509f9e314dd0d97eac178b.json new file mode 100644 index 0000000..19f81b5 --- /dev/null +++ b/.sqlx/query-e86682005480df007b488b8543adc8a6d4068e33a5509f9e314dd0d97eac178b.json @@ -0,0 +1,98 @@ +{ + "db_name": "PostgreSQL", + "query": "select\n id,\n workspace_id,\n agent_id,\n operation_id,\n status,\n progress_json,\n result_json,\n error_json,\n expires_at as \"expires_at: OffsetDateTime\",\n last_poll_at as \"last_poll_at: OffsetDateTime\",\n created_at as \"created_at!: OffsetDateTime\",\n updated_at as \"updated_at!: OffsetDateTime\",\n finished_at as \"finished_at: OffsetDateTime\"\n from async_jobs\n where workspace_id = $1\n and ($2::text is null or agent_id = $2)\n and ($3::text is null or operation_id = $3)\n and ($4::text is null or status = $4)\n order by updated_at desc\n limit $5", + "describe": { + "columns": [ + { + "ordinal": 0, + "name": "id", + "type_info": "Text" + }, + { + "ordinal": 1, + "name": "workspace_id", + "type_info": "Text" + }, + { + "ordinal": 2, + "name": "agent_id", + "type_info": "Text" + }, + { + "ordinal": 3, + "name": "operation_id", + "type_info": "Text" + }, + { + "ordinal": 4, + "name": "status", + "type_info": "Text" + }, + { + "ordinal": 5, + "name": "progress_json", + "type_info": "Jsonb" + }, + { + "ordinal": 6, + "name": "result_json", + "type_info": "Jsonb" + }, + { + "ordinal": 7, + "name": "error_json", + "type_info": "Jsonb" + }, + { + "ordinal": 8, + "name": "expires_at: OffsetDateTime", + "type_info": "Timestamptz" + }, + { + "ordinal": 9, + "name": "last_poll_at: OffsetDateTime", + "type_info": "Timestamptz" + }, + { + "ordinal": 10, + "name": "created_at!: OffsetDateTime", + "type_info": "Timestamptz" + }, + { + "ordinal": 11, + "name": "updated_at!: OffsetDateTime", + "type_info": "Timestamptz" + }, + { + "ordinal": 12, + "name": "finished_at: OffsetDateTime", + "type_info": "Timestamptz" + } + ], + "parameters": { + "Left": [ + "Text", + "Text", + "Text", + "Text", + "Int8" + ] + }, + "nullable": [ + false, + false, + true, + false, + false, + false, + true, + true, + true, + true, + false, + false, + true + ] + }, + "hash": "e86682005480df007b488b8543adc8a6d4068e33a5509f9e314dd0d97eac178b" +} diff --git a/.sqlx/query-e9fc9fdf8ef885ab247d903dbde0a2f07bc89aec46cdbe1e856700fa57674f41.json b/.sqlx/query-e9fc9fdf8ef885ab247d903dbde0a2f07bc89aec46cdbe1e856700fa57674f41.json new file mode 100644 index 0000000..03e3aa1 --- /dev/null +++ b/.sqlx/query-e9fc9fdf8ef885ab247d903dbde0a2f07bc89aec46cdbe1e856700fa57674f41.json @@ -0,0 +1,64 @@ +{ + "db_name": "PostgreSQL", + "query": "select\n id,\n workspace_id,\n email,\n role,\n status,\n token_hash,\n expires_at as \"expires_at!: time::OffsetDateTime\",\n created_at as \"created_at!: time::OffsetDateTime\"\n from invitation_tokens\n where workspace_id = $1\n order by created_at desc", + "describe": { + "columns": [ + { + "ordinal": 0, + "name": "id", + "type_info": "Text" + }, + { + "ordinal": 1, + "name": "workspace_id", + "type_info": "Text" + }, + { + "ordinal": 2, + "name": "email", + "type_info": "Text" + }, + { + "ordinal": 3, + "name": "role", + "type_info": "Text" + }, + { + "ordinal": 4, + "name": "status", + "type_info": "Text" + }, + { + "ordinal": 5, + "name": "token_hash", + "type_info": "Text" + }, + { + "ordinal": 6, + "name": "expires_at!: time::OffsetDateTime", + "type_info": "Timestamptz" + }, + { + "ordinal": 7, + "name": "created_at!: time::OffsetDateTime", + "type_info": "Timestamptz" + } + ], + "parameters": { + "Left": [ + "Text" + ] + }, + "nullable": [ + false, + false, + false, + false, + false, + false, + false, + false + ] + }, + "hash": "e9fc9fdf8ef885ab247d903dbde0a2f07bc89aec46cdbe1e856700fa57674f41" +} diff --git a/.sqlx/query-f195cc4951ef129f4a1c95d6d9e8f932919d2882f3dcb5a7f865fb4448506d05.json b/.sqlx/query-f195cc4951ef129f4a1c95d6d9e8f932919d2882f3dcb5a7f865fb4448506d05.json new file mode 100644 index 0000000..3be6a67 --- /dev/null +++ b/.sqlx/query-f195cc4951ef129f4a1c95d6d9e8f932919d2882f3dcb5a7f865fb4448506d05.json @@ -0,0 +1,101 @@ +{ + "db_name": "PostgreSQL", + "query": "select\n operations.id,\n operations.workspace_id,\n operations.name,\n operations.display_name,\n operations.category,\n operations.protocol,\n operations.security_level,\n ov.target_json,\n operations.status,\n operations.current_draft_version,\n operations.latest_published_version,\n operations.created_at as \"created_at!: time::OffsetDateTime\",\n operations.updated_at as \"updated_at!: time::OffsetDateTime\",\n operations.published_at as \"published_at: time::OffsetDateTime\"\n from operations\n join operation_versions ov\n on ov.operation_id = operations.id\n and ov.version = operations.current_draft_version\n where operations.workspace_id = $1 and operations.id = $2", + "describe": { + "columns": [ + { + "ordinal": 0, + "name": "id", + "type_info": "Text" + }, + { + "ordinal": 1, + "name": "workspace_id", + "type_info": "Text" + }, + { + "ordinal": 2, + "name": "name", + "type_info": "Text" + }, + { + "ordinal": 3, + "name": "display_name", + "type_info": "Text" + }, + { + "ordinal": 4, + "name": "category", + "type_info": "Text" + }, + { + "ordinal": 5, + "name": "protocol", + "type_info": "Text" + }, + { + "ordinal": 6, + "name": "security_level", + "type_info": "Text" + }, + { + "ordinal": 7, + "name": "target_json", + "type_info": "Jsonb" + }, + { + "ordinal": 8, + "name": "status", + "type_info": "Text" + }, + { + "ordinal": 9, + "name": "current_draft_version", + "type_info": "Int4" + }, + { + "ordinal": 10, + "name": "latest_published_version", + "type_info": "Int4" + }, + { + "ordinal": 11, + "name": "created_at!: time::OffsetDateTime", + "type_info": "Timestamptz" + }, + { + "ordinal": 12, + "name": "updated_at!: time::OffsetDateTime", + "type_info": "Timestamptz" + }, + { + "ordinal": 13, + "name": "published_at: time::OffsetDateTime", + "type_info": "Timestamptz" + } + ], + "parameters": { + "Left": [ + "Text", + "Text" + ] + }, + "nullable": [ + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + true, + false, + false, + true + ] + }, + "hash": "f195cc4951ef129f4a1c95d6d9e8f932919d2882f3dcb5a7f865fb4448506d05" +} diff --git a/.sqlx/query-f551a9cd253b7fd0dc9a387a141a53d8a109b8aa766ab1c2b11f9b52e250adc8.json b/.sqlx/query-f551a9cd253b7fd0dc9a387a141a53d8a109b8aa766ab1c2b11f9b52e250adc8.json new file mode 100644 index 0000000..3ff8cb4 --- /dev/null +++ b/.sqlx/query-f551a9cd253b7fd0dc9a387a141a53d8a109b8aa766ab1c2b11f9b52e250adc8.json @@ -0,0 +1,94 @@ +{ + "db_name": "PostgreSQL", + "query": "select\n id,\n workspace_id,\n agent_id,\n operation_id,\n status,\n progress_json,\n result_json,\n error_json,\n expires_at as \"expires_at: OffsetDateTime\",\n last_poll_at as \"last_poll_at: OffsetDateTime\",\n created_at as \"created_at!: OffsetDateTime\",\n updated_at as \"updated_at!: OffsetDateTime\",\n finished_at as \"finished_at: OffsetDateTime\"\n from async_jobs\n where id = $1", + "describe": { + "columns": [ + { + "ordinal": 0, + "name": "id", + "type_info": "Text" + }, + { + "ordinal": 1, + "name": "workspace_id", + "type_info": "Text" + }, + { + "ordinal": 2, + "name": "agent_id", + "type_info": "Text" + }, + { + "ordinal": 3, + "name": "operation_id", + "type_info": "Text" + }, + { + "ordinal": 4, + "name": "status", + "type_info": "Text" + }, + { + "ordinal": 5, + "name": "progress_json", + "type_info": "Jsonb" + }, + { + "ordinal": 6, + "name": "result_json", + "type_info": "Jsonb" + }, + { + "ordinal": 7, + "name": "error_json", + "type_info": "Jsonb" + }, + { + "ordinal": 8, + "name": "expires_at: OffsetDateTime", + "type_info": "Timestamptz" + }, + { + "ordinal": 9, + "name": "last_poll_at: OffsetDateTime", + "type_info": "Timestamptz" + }, + { + "ordinal": 10, + "name": "created_at!: OffsetDateTime", + "type_info": "Timestamptz" + }, + { + "ordinal": 11, + "name": "updated_at!: OffsetDateTime", + "type_info": "Timestamptz" + }, + { + "ordinal": 12, + "name": "finished_at: OffsetDateTime", + "type_info": "Timestamptz" + } + ], + "parameters": { + "Left": [ + "Text" + ] + }, + "nullable": [ + false, + false, + true, + false, + false, + false, + true, + true, + true, + true, + false, + false, + true + ] + }, + "hash": "f551a9cd253b7fd0dc9a387a141a53d8a109b8aa766ab1c2b11f9b52e250adc8" +} diff --git a/.sqlx/query-f7b5e65ecddfe52af4d3be98fc69680bf9f0d131785c310936bdf603d74c118d.json b/.sqlx/query-f7b5e65ecddfe52af4d3be98fc69680bf9f0d131785c310936bdf603d74c118d.json new file mode 100644 index 0000000..2ea224a --- /dev/null +++ b/.sqlx/query-f7b5e65ecddfe52af4d3be98fc69680bf9f0d131785c310936bdf603d74c118d.json @@ -0,0 +1,59 @@ +{ + "db_name": "PostgreSQL", + "query": "select\n s.id,\n s.user_id,\n s.current_workspace_id,\n u.email,\n u.display_name,\n u.status,\n u.created_at as \"created_at!: OffsetDateTime\"\n from user_sessions s\n join users u on u.id = s.user_id\n where s.id = $1\n and s.secret_hash = $2\n and s.status = 'active'\n and s.expires_at > now()\n limit 1", + "describe": { + "columns": [ + { + "ordinal": 0, + "name": "id", + "type_info": "Text" + }, + { + "ordinal": 1, + "name": "user_id", + "type_info": "Text" + }, + { + "ordinal": 2, + "name": "current_workspace_id", + "type_info": "Text" + }, + { + "ordinal": 3, + "name": "email", + "type_info": "Text" + }, + { + "ordinal": 4, + "name": "display_name", + "type_info": "Text" + }, + { + "ordinal": 5, + "name": "status", + "type_info": "Text" + }, + { + "ordinal": 6, + "name": "created_at!: OffsetDateTime", + "type_info": "Timestamptz" + } + ], + "parameters": { + "Left": [ + "Text", + "Text" + ] + }, + "nullable": [ + false, + false, + true, + false, + false, + false, + false + ] + }, + "hash": "f7b5e65ecddfe52af4d3be98fc69680bf9f0d131785c310936bdf603d74c118d" +} diff --git a/.sqlx/query-fadf243775a355c46ae97d26049793eb1d1ad17505b1e1609a842750e3233ec2.json b/.sqlx/query-fadf243775a355c46ae97d26049793eb1d1ad17505b1e1609a842750e3233ec2.json new file mode 100644 index 0000000..33bcc6e --- /dev/null +++ b/.sqlx/query-fadf243775a355c46ae97d26049793eb1d1ad17505b1e1609a842750e3233ec2.json @@ -0,0 +1,59 @@ +{ + "db_name": "PostgreSQL", + "query": "select\n id,\n workspace_id,\n name,\n kind,\n config_json,\n created_at as \"created_at!: OffsetDateTime\",\n updated_at as \"updated_at!: OffsetDateTime\"\n from auth_profiles\n where workspace_id = $1 and id = $2", + "describe": { + "columns": [ + { + "ordinal": 0, + "name": "id", + "type_info": "Text" + }, + { + "ordinal": 1, + "name": "workspace_id", + "type_info": "Text" + }, + { + "ordinal": 2, + "name": "name", + "type_info": "Text" + }, + { + "ordinal": 3, + "name": "kind", + "type_info": "Text" + }, + { + "ordinal": 4, + "name": "config_json", + "type_info": "Jsonb" + }, + { + "ordinal": 5, + "name": "created_at!: OffsetDateTime", + "type_info": "Timestamptz" + }, + { + "ordinal": 6, + "name": "updated_at!: OffsetDateTime", + "type_info": "Timestamptz" + } + ], + "parameters": { + "Left": [ + "Text", + "Text" + ] + }, + "nullable": [ + false, + false, + false, + false, + false, + false, + false + ] + }, + "hash": "fadf243775a355c46ae97d26049793eb1d1ad17505b1e1609a842750e3233ec2" +} diff --git a/.sqlx/query-fb0bec06d2a3dbbf455947346eea5022c7ddac2ffe2a1969b2c6a2ed72c3730a.json b/.sqlx/query-fb0bec06d2a3dbbf455947346eea5022c7ddac2ffe2a1969b2c6a2ed72c3730a.json new file mode 100644 index 0000000..ed3c067 --- /dev/null +++ b/.sqlx/query-fb0bec06d2a3dbbf455947346eea5022c7ddac2ffe2a1969b2c6a2ed72c3730a.json @@ -0,0 +1,53 @@ +{ + "db_name": "PostgreSQL", + "query": "select\n sv.secret_id,\n sv.version,\n sv.ciphertext,\n sv.key_version,\n sv.created_at as \"created_at!: time::OffsetDateTime\",\n sv.created_by\n from secrets s\n join secret_versions sv\n on sv.secret_id = s.id and sv.version = s.current_version\n where s.workspace_id = $1 and s.id = $2", + "describe": { + "columns": [ + { + "ordinal": 0, + "name": "secret_id", + "type_info": "Text" + }, + { + "ordinal": 1, + "name": "version", + "type_info": "Int4" + }, + { + "ordinal": 2, + "name": "ciphertext", + "type_info": "Text" + }, + { + "ordinal": 3, + "name": "key_version", + "type_info": "Text" + }, + { + "ordinal": 4, + "name": "created_at!: time::OffsetDateTime", + "type_info": "Timestamptz" + }, + { + "ordinal": 5, + "name": "created_by", + "type_info": "Text" + } + ], + "parameters": { + "Left": [ + "Text", + "Text" + ] + }, + "nullable": [ + false, + false, + false, + false, + false, + true + ] + }, + "hash": "fb0bec06d2a3dbbf455947346eea5022c7ddac2ffe2a1969b2c6a2ed72c3730a" +} diff --git a/.sqlx/query-fdd05b145021a19dda9a9f44c31ff21a2f73a4416d0cf20be418bba36def9eb4.json b/.sqlx/query-fdd05b145021a19dda9a9f44c31ff21a2f73a4416d0cf20be418bba36def9eb4.json new file mode 100644 index 0000000..8896b79 --- /dev/null +++ b/.sqlx/query-fdd05b145021a19dda9a9f44c31ff21a2f73a4416d0cf20be418bba36def9eb4.json @@ -0,0 +1,40 @@ +{ + "db_name": "PostgreSQL", + "query": "select\n b.operation_id,\n a.id as agent_id,\n a.slug as agent_slug,\n a.display_name\n from agents a\n join published_agents pa on pa.agent_id = a.id\n join agent_operation_bindings b\n on b.agent_id = a.id and b.agent_version = pa.version\n where a.workspace_id = $1\n order by a.display_name asc, b.tool_name asc", + "describe": { + "columns": [ + { + "ordinal": 0, + "name": "operation_id", + "type_info": "Text" + }, + { + "ordinal": 1, + "name": "agent_id", + "type_info": "Text" + }, + { + "ordinal": 2, + "name": "agent_slug", + "type_info": "Text" + }, + { + "ordinal": 3, + "name": "display_name", + "type_info": "Text" + } + ], + "parameters": { + "Left": [ + "Text" + ] + }, + "nullable": [ + false, + false, + false, + false + ] + }, + "hash": "fdd05b145021a19dda9a9f44c31ff21a2f73a4416d0cf20be418bba36def9eb4" +} diff --git a/Cargo.lock b/Cargo.lock new file mode 100644 index 0000000..4dc9fd3 --- /dev/null +++ b/Cargo.lock @@ -0,0 +1,3330 @@ +# This file is automatically @generated by Cargo. +# It is not intended for manual editing. +version = 4 + +[[package]] +name = "admin-api" +version = "0.3.1" +dependencies = [ + "argon2", + "async-trait", + "axum", + "axum-extra", + "base64", + "crank-community-auth", + "crank-core", + "crank-mapping", + "crank-registry", + "crank-runtime", + "crank-schema", + "rand 0.8.5", + "reqwest", + "serde", + "serde_json", + "serde_yaml", + "serial_test", + "sha2", + "sqlx", + "thiserror", + "time", + "tokio", + "tracing", + "tracing-subscriber", + "uuid", +] + +[[package]] +name = "aead" +version = "0.5.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d122413f284cf2d62fb1b7db97e02edb8cda96d769b16e443a4f6195e35662b0" +dependencies = [ + "crypto-common", + "generic-array", +] + +[[package]] +name = "aes" +version = "0.8.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b169f7a6d4742236a0a00c541b845991d0ac43e546831af1249753ab4c3aa3a0" +dependencies = [ + "cfg-if", + "cipher", + "cpufeatures", +] + +[[package]] +name = "aes-gcm" +version = "0.10.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "831010a0f742e1209b3bcea8fab6a8e149051ba6099432c8cb2cc117dec3ead1" +dependencies = [ + "aead", + "aes", + "cipher", + "ctr", + "ghash", + "subtle", +] + +[[package]] +name = "aho-corasick" +version = "1.1.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ddd31a130427c27518df266943a5308ed92d4b226cc639f5a8f1002816174301" +dependencies = [ + "memchr", +] + +[[package]] +name = "allocator-api2" +version = "0.2.21" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "683d7910e743518b0e34f1186f92494becacb047c7b6bf616c96772180fef923" + +[[package]] +name = "anyhow" +version = "1.0.102" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7f202df86484c868dbad7eaa557ef785d5c66295e41b460ef922eca0723b842c" + +[[package]] +name = "arc-swap" +version = "1.9.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6a3a1fd6f75306b68087b831f025c712524bcb19aad54e557b1129cfa0a2b207" +dependencies = [ + "rustversion", +] + +[[package]] +name = "argon2" +version = "0.5.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3c3610892ee6e0cbce8ae2700349fcf8f98adb0dbfbee85aec3c9179d29cc072" +dependencies = [ + "base64ct", + "blake2", + "cpufeatures", + "password-hash", +] + +[[package]] +name = "async-trait" +version = "0.1.89" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9035ad2d096bed7955a320ee7e2230574d28fd3c3a0f186cbea1ff3c7eed5dbb" +dependencies = [ + "proc-macro2", + "quote", + "syn", +] + +[[package]] +name = "atoi" +version = "2.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f28d99ec8bfea296261ca1af174f24225171fea9664ba9003cbebee704810528" +dependencies = [ + "num-traits", +] + +[[package]] +name = "atomic-waker" +version = "1.1.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1505bd5d3d116872e7271a6d4e16d81d0c8570876c8de68093a09ac269d8aac0" + +[[package]] +name = "autocfg" +version = "1.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c08606f8c3cbf4ce6ec8e28fb0014a2c086708fe954eaa885384a6165172e7e8" + +[[package]] +name = "axum" +version = "0.8.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8b52af3cb4058c895d37317bb27508dccc8e5f2d39454016b297bf4a400597b8" +dependencies = [ + "axum-core", + "bytes", + "form_urlencoded", + "futures-util", + "http", + "http-body", + "http-body-util", + "hyper", + "hyper-util", + "itoa", + "matchit", + "memchr", + "mime", + "percent-encoding", + "pin-project-lite", + "serde_core", + "serde_json", + "serde_path_to_error", + "serde_urlencoded", + "sync_wrapper", + "tokio", + "tower", + "tower-layer", + "tower-service", + "tracing", +] + +[[package]] +name = "axum-core" +version = "0.5.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "08c78f31d7b1291f7ee735c1c6780ccde7785daae9a9206026862dab7d8792d1" +dependencies = [ + "bytes", + "futures-core", + "http", + "http-body", + "http-body-util", + "mime", + "pin-project-lite", + "sync_wrapper", + "tower-layer", + "tower-service", + "tracing", +] + +[[package]] +name = "axum-extra" +version = "0.10.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9963ff19f40c6102c76756ef0a46004c0d58957d87259fc9208ff8441c12ab96" +dependencies = [ + "axum", + "axum-core", + "bytes", + "cookie", + "futures-util", + "http", + "http-body", + "http-body-util", + "mime", + "pin-project-lite", + "rustversion", + "serde_core", + "tower-layer", + "tower-service", + "tracing", +] + +[[package]] +name = "backon" +version = "1.6.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "cffb0e931875b666fc4fcb20fee52e9bbd1ef836fd9e9e04ec21555f9f85f7ef" +dependencies = [ + "fastrand", +] + +[[package]] +name = "base64" +version = "0.22.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "72b3254f16251a8381aa12e40e3c4d2f0199f8c6508fbecb9d91f575e0fbb8c6" + +[[package]] +name = "base64ct" +version = "1.8.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2af50177e190e07a26ab74f8b1efbfe2ef87da2116221318cb1c2e82baf7de06" + +[[package]] +name = "bitflags" +version = "2.11.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "843867be96c8daad0d758b57df9392b6d8d271134fce549de6ce169ff98a92af" +dependencies = [ + "serde_core", +] + +[[package]] +name = "blake2" +version = "0.10.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "46502ad458c9a52b69d4d4d32775c788b7a1b85e8bc9d482d92250fc0e3f8efe" +dependencies = [ + "digest", +] + +[[package]] +name = "block-buffer" +version = "0.10.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3078c7629b62d3f0439517fa394996acacc5cbc91c5a20d8c658e77abd503a71" +dependencies = [ + "generic-array", +] + +[[package]] +name = "bumpalo" +version = "3.20.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5d20789868f4b01b2f2caec9f5c4e0213b41e3e5702a50157d699ae31ced2fcb" + +[[package]] +name = "byteorder" +version = "1.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1fd0f2584146f6f2ef48085050886acf353beff7305ebd1ae69500e27c67f64b" + +[[package]] +name = "bytes" +version = "1.11.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1e748733b7cbc798e1434b6ac524f0c1ff2ab456fe201501e6497c8417a4fc33" + +[[package]] +name = "cc" +version = "1.2.57" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7a0dd1ca384932ff3641c8718a02769f1698e7563dc6974ffd03346116310423" +dependencies = [ + "find-msvc-tools", + "shlex", +] + +[[package]] +name = "cfg-if" +version = "1.0.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9330f8b2ff13f34540b44e946ef35111825727b38d33286ef986142615121801" + +[[package]] +name = "cfg_aliases" +version = "0.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "613afe47fcd5fac7ccf1db93babcb082c5994d996f20b8b159f2ad1658eb5724" + +[[package]] +name = "cipher" +version = "0.4.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "773f3b9af64447d2ce9850330c473515014aa235e6a783b02db81ff39e4a3dad" +dependencies = [ + "crypto-common", + "inout", +] + +[[package]] +name = "combine" +version = "4.6.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ba5a308b75df32fe02788e748662718f03fde005016435c444eea572398219fd" +dependencies = [ + "bytes", + "futures-core", + "memchr", + "pin-project-lite", + "tokio", + "tokio-util", +] + +[[package]] +name = "concurrent-queue" +version = "2.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4ca0197aee26d1ae37445ee532fefce43251d24cc7c166799f4d46817f1d3973" +dependencies = [ + "crossbeam-utils", +] + +[[package]] +name = "const-oid" +version = "0.9.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c2459377285ad874054d797f3ccebf984978aa39129f6eafde5cdc8315b612f8" + +[[package]] +name = "cookie" +version = "0.18.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4ddef33a339a91ea89fb53151bd0a4689cfce27055c291dfa69945475d22c747" +dependencies = [ + "percent-encoding", + "time", + "version_check", +] + +[[package]] +name = "cookie_store" +version = "0.22.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3fc4bff745c9b4c7fb1e97b25d13153da2bc7796260141df62378998d070207f" +dependencies = [ + "cookie", + "document-features", + "idna", + "log", + "publicsuffix", + "serde", + "serde_derive", + "serde_json", + "time", + "url", +] + +[[package]] +name = "cpufeatures" +version = "0.2.17" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "59ed5838eebb26a2bb2e58f6d5b5316989ae9d08bab10e0e6d103e656d1b0280" +dependencies = [ + "libc", +] + +[[package]] +name = "crank-adapter-rest" +version = "0.3.1" +dependencies = [ + "async-trait", + "axum", + "crank-core", + "futures-util", + "reqwest", + "serde", + "serde_json", + "thiserror", + "tokio", +] + +[[package]] +name = "crank-community-auth" +version = "0.3.1" +dependencies = [ + "argon2", + "async-trait", + "axum-extra", + "base64", + "crank-core", + "crank-registry", + "rand 0.8.5", + "sha2", + "thiserror", + "time", + "tracing", + "uuid", +] + +[[package]] +name = "crank-community-mcp" +version = "0.3.1" +dependencies = [ + "async-trait", + "axum", + "base64", + "crank-core", + "crank-registry", + "crank-runtime", + "crank-schema", + "futures-util", + "serde", + "serde_json", + "sha2", + "sqlx", + "thiserror", + "time", + "tokio", + "tracing", + "uuid", +] + +[[package]] +name = "crank-core" +version = "0.3.1" +dependencies = [ + "async-trait", + "serde", + "serde_json", + "serde_yaml", + "thiserror", + "time", + "tokio", +] + +[[package]] +name = "crank-mapping" +version = "0.3.1" +dependencies = [ + "crank-core", + "serde", + "serde_json", + "serde_yaml", + "thiserror", +] + +[[package]] +name = "crank-registry" +version = "0.3.1" +dependencies = [ + "crank-core", + "crank-mapping", + "crank-schema", + "serde", + "serde_json", + "sqlx", + "thiserror", + "time", + "tokio", + "uuid", +] + +[[package]] +name = "crank-runtime" +version = "0.3.1" +dependencies = [ + "aes-gcm", + "async-trait", + "axum", + "base64", + "crank-adapter-rest", + "crank-core", + "crank-mapping", + "crank-schema", + "futures-util", + "hkdf", + "redis", + "serde", + "serde_json", + "sha2", + "thiserror", + "time", + "tokio", + "tracing", + "tracing-subscriber", +] + +[[package]] +name = "crank-schema" +version = "0.3.1" +dependencies = [ + "crank-core", + "serde", + "serde_json", + "serde_yaml", + "thiserror", +] + +[[package]] +name = "crc" +version = "3.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5eb8a2a1cd12ab0d987a5d5e825195d372001a4094a0376319d5a0ad71c1ba0d" +dependencies = [ + "crc-catalog", +] + +[[package]] +name = "crc-catalog" +version = "2.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "19d374276b40fb8bbdee95aef7c7fa6b5316ec764510eb64b8dd0e2ed0d7e7f5" + +[[package]] +name = "crossbeam-queue" +version = "0.3.12" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0f58bbc28f91df819d0aa2a2c00cd19754769c2fad90579b3592b1c9ba7a3115" +dependencies = [ + "crossbeam-utils", +] + +[[package]] +name = "crossbeam-utils" +version = "0.8.21" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d0a5c400df2834b80a4c3327b3aad3a4c4cd4de0629063962b03235697506a28" + +[[package]] +name = "crypto-common" +version = "0.1.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "78c8292055d1c1df0cce5d180393dc8cce0abec0a7102adb6c7b1eef6016d60a" +dependencies = [ + "generic-array", + "rand_core 0.6.4", + "typenum", +] + +[[package]] +name = "ctr" +version = "0.9.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0369ee1ad671834580515889b80f2ea915f23b8be8d0daa4bbaf2ac5c7590835" +dependencies = [ + "cipher", +] + +[[package]] +name = "der" +version = "0.7.10" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e7c1832837b905bbfb5101e07cc24c8deddf52f93225eee6ead5f4d63d53ddcb" +dependencies = [ + "const-oid", + "pem-rfc7468", + "zeroize", +] + +[[package]] +name = "deranged" +version = "0.5.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7cd812cc2bc1d69d4764bd80df88b4317eaef9e773c75226407d9bc0876b211c" +dependencies = [ + "powerfmt", + "serde_core", +] + +[[package]] +name = "digest" +version = "0.10.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9ed9a281f7bc9b7576e61468ba615a66a5c8cfdff42420a70aa82701a3b1e292" +dependencies = [ + "block-buffer", + "const-oid", + "crypto-common", + "subtle", +] + +[[package]] +name = "displaydoc" +version = "0.2.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "97369cbbc041bc366949bc74d34658d6cda5621039731c6310521892a3a20ae0" +dependencies = [ + "proc-macro2", + "quote", + "syn", +] + +[[package]] +name = "document-features" +version = "0.2.12" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d4b8a88685455ed29a21542a33abd9cb6510b6b129abadabdcef0f4c55bc8f61" +dependencies = [ + "litrs", +] + +[[package]] +name = "dotenvy" +version = "0.15.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1aaf95b3e5c8f23aa320147307562d361db0ae0d51242340f558153b4eb2439b" + +[[package]] +name = "either" +version = "1.15.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "48c757948c5ede0e46177b7add2e67155f70e33c07fea8284df6576da70b3719" +dependencies = [ + "serde", +] + +[[package]] +name = "equivalent" +version = "1.0.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "877a4ace8713b0bcf2a4e7eec82529c029f1d0619886d18145fea96c3ffe5c0f" + +[[package]] +name = "etcetera" +version = "0.8.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "136d1b5283a1ab77bd9257427ffd09d8667ced0570b6f938942bc7568ed5b943" +dependencies = [ + "cfg-if", + "home", + "windows-sys 0.48.0", +] + +[[package]] +name = "event-listener" +version = "5.4.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e13b66accf52311f30a0db42147dadea9850cb48cd070028831ae5f5d4b856ab" +dependencies = [ + "concurrent-queue", + "parking", + "pin-project-lite", +] + +[[package]] +name = "fastrand" +version = "2.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "37909eebbb50d72f9059c3b6d82c0463f2ff062c9e95845c43a6c9c0355411be" + +[[package]] +name = "find-msvc-tools" +version = "0.1.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5baebc0774151f905a1a2cc41989300b1e6fbb29aff0ceffa1064fdd3088d582" + +[[package]] +name = "flume" +version = "0.11.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "da0e4dd2a88388a1f4ccc7c9ce104604dab68d9f408dc34cd45823d5a9069095" +dependencies = [ + "futures-core", + "futures-sink", + "spin", +] + +[[package]] +name = "foldhash" +version = "0.1.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d9c4f5dac5e15c24eb999c26181a6ca40b39fe946cbe4c263c7209467bc83af2" + +[[package]] +name = "form_urlencoded" +version = "1.2.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "cb4cb245038516f5f85277875cdaa4f7d2c9a0fa0468de06ed190163b1581fcf" +dependencies = [ + "percent-encoding", +] + +[[package]] +name = "futures-channel" +version = "0.3.32" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "07bbe89c50d7a535e539b8c17bc0b49bdb77747034daa8087407d655f3f7cc1d" +dependencies = [ + "futures-core", + "futures-sink", +] + +[[package]] +name = "futures-core" +version = "0.3.32" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7e3450815272ef58cec6d564423f6e755e25379b217b0bc688e295ba24df6b1d" + +[[package]] +name = "futures-executor" +version = "0.3.32" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "baf29c38818342a3b26b5b923639e7b1f4a61fc5e76102d4b1981c6dc7a7579d" +dependencies = [ + "futures-core", + "futures-task", + "futures-util", +] + +[[package]] +name = "futures-intrusive" +version = "0.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1d930c203dd0b6ff06e0201a4a2fe9149b43c684fd4420555b26d21b1a02956f" +dependencies = [ + "futures-core", + "lock_api", + "parking_lot", +] + +[[package]] +name = "futures-io" +version = "0.3.32" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "cecba35d7ad927e23624b22ad55235f2239cfa44fd10428eecbeba6d6a717718" + +[[package]] +name = "futures-macro" +version = "0.3.32" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e835b70203e41293343137df5c0664546da5745f82ec9b84d40be8336958447b" +dependencies = [ + "proc-macro2", + "quote", + "syn", +] + +[[package]] +name = "futures-sink" +version = "0.3.32" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c39754e157331b013978ec91992bde1ac089843443c49cbc7f46150b0fad0893" + +[[package]] +name = "futures-task" +version = "0.3.32" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "037711b3d59c33004d3856fbdc83b99d4ff37a24768fa1be9ce3538a1cde4393" + +[[package]] +name = "futures-util" +version = "0.3.32" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "389ca41296e6190b48053de0321d02a77f32f8a5d2461dd38762c0593805c6d6" +dependencies = [ + "futures-core", + "futures-io", + "futures-macro", + "futures-sink", + "futures-task", + "memchr", + "pin-project-lite", + "slab", +] + +[[package]] +name = "generic-array" +version = "0.14.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "85649ca51fd72272d7821adaf274ad91c288277713d9c18820d8499a7ff69e9a" +dependencies = [ + "typenum", + "version_check", +] + +[[package]] +name = "getrandom" +version = "0.2.17" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ff2abc00be7fca6ebc474524697ae276ad847ad0a6b3faa4bcb027e9a4614ad0" +dependencies = [ + "cfg-if", + "js-sys", + "libc", + "wasi", + "wasm-bindgen", +] + +[[package]] +name = "getrandom" +version = "0.3.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "899def5c37c4fd7b2664648c28120ecec138e4d395b459e5ca34f9cce2dd77fd" +dependencies = [ + "cfg-if", + "js-sys", + "libc", + "r-efi 5.3.0", + "wasip2", + "wasm-bindgen", +] + +[[package]] +name = "getrandom" +version = "0.4.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0de51e6874e94e7bf76d726fc5d13ba782deca734ff60d5bb2fb2607c7406555" +dependencies = [ + "cfg-if", + "libc", + "r-efi 6.0.0", + "wasip2", + "wasip3", +] + +[[package]] +name = "ghash" +version = "0.5.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f0d8a4362ccb29cb0b265253fb0a2728f592895ee6854fd9bc13f2ffda266ff1" +dependencies = [ + "opaque-debug", + "polyval", +] + +[[package]] +name = "hashbrown" +version = "0.15.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9229cfe53dfd69f0609a49f65461bd93001ea1ef889cd5529dd176593f5338a1" +dependencies = [ + "allocator-api2", + "equivalent", + "foldhash", +] + +[[package]] +name = "hashbrown" +version = "0.16.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "841d1cc9bed7f9236f321df977030373f4a4163ae1a7dbfe1a51a2c1a51d9100" + +[[package]] +name = "hashlink" +version = "0.10.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7382cf6263419f2d8df38c55d7da83da5c18aef87fc7a7fc1fb1e344edfe14c1" +dependencies = [ + "hashbrown 0.15.5", +] + +[[package]] +name = "heck" +version = "0.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2304e00983f87ffb38b55b444b5e3b60a884b5d30c0fca7d82fe33449bbe55ea" + +[[package]] +name = "hex" +version = "0.4.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7f24254aa9a54b5c858eaee2f5bccdb46aaf0e486a595ed5fd8f86ba55232a70" + +[[package]] +name = "hkdf" +version = "0.12.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7b5f8eb2ad728638ea2c7d47a21db23b7b58a72ed6a38256b8a1849f15fbbdf7" +dependencies = [ + "hmac", +] + +[[package]] +name = "hmac" +version = "0.12.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6c49c37c09c17a53d937dfbb742eb3a961d65a994e6bcdcf37e7399d0cc8ab5e" +dependencies = [ + "digest", +] + +[[package]] +name = "home" +version = "0.5.11" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "589533453244b0995c858700322199b2becb13b627df2851f64a2775d024abcf" +dependencies = [ + "windows-sys 0.59.0", +] + +[[package]] +name = "http" +version = "1.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e3ba2a386d7f85a81f119ad7498ebe444d2e22c2af0b86b069416ace48b3311a" +dependencies = [ + "bytes", + "itoa", +] + +[[package]] +name = "http-body" +version = "1.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1efedce1fb8e6913f23e0c92de8e62cd5b772a67e7b3946df930a62566c93184" +dependencies = [ + "bytes", + "http", +] + +[[package]] +name = "http-body-util" +version = "0.1.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b021d93e26becf5dc7e1b75b1bed1fd93124b374ceb73f43d4d4eafec896a64a" +dependencies = [ + "bytes", + "futures-core", + "http", + "http-body", + "pin-project-lite", +] + +[[package]] +name = "httparse" +version = "1.10.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6dbf3de79e51f3d586ab4cb9d5c3e2c14aa28ed23d180cf89b4df0454a69cc87" + +[[package]] +name = "httpdate" +version = "1.0.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "df3b46402a9d5adb4c86a0cf463f42e19994e3ee891101b1841f30a545cb49a9" + +[[package]] +name = "hyper" +version = "1.8.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2ab2d4f250c3d7b1c9fcdff1cece94ea4e2dfbec68614f7b87cb205f24ca9d11" +dependencies = [ + "atomic-waker", + "bytes", + "futures-channel", + "futures-core", + "http", + "http-body", + "httparse", + "httpdate", + "itoa", + "pin-project-lite", + "pin-utils", + "smallvec", + "tokio", + "want", +] + +[[package]] +name = "hyper-rustls" +version = "0.27.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e3c93eb611681b207e1fe55d5a71ecf91572ec8a6705cdb6857f7d8d5242cf58" +dependencies = [ + "http", + "hyper", + "hyper-util", + "rustls", + "rustls-pki-types", + "tokio", + "tokio-rustls", + "tower-service", + "webpki-roots 1.0.6", +] + +[[package]] +name = "hyper-util" +version = "0.1.20" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "96547c2556ec9d12fb1578c4eaf448b04993e7fb79cbaad930a656880a6bdfa0" +dependencies = [ + "base64", + "bytes", + "futures-channel", + "futures-util", + "http", + "http-body", + "hyper", + "ipnet", + "libc", + "percent-encoding", + "pin-project-lite", + "socket2 0.6.3", + "tokio", + "tower-service", + "tracing", +] + +[[package]] +name = "icu_collections" +version = "2.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4c6b649701667bbe825c3b7e6388cb521c23d88644678e83c0c4d0a621a34b43" +dependencies = [ + "displaydoc", + "potential_utf", + "yoke", + "zerofrom", + "zerovec", +] + +[[package]] +name = "icu_locale_core" +version = "2.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "edba7861004dd3714265b4db54a3c390e880ab658fec5f7db895fae2046b5bb6" +dependencies = [ + "displaydoc", + "litemap", + "tinystr", + "writeable", + "zerovec", +] + +[[package]] +name = "icu_normalizer" +version = "2.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5f6c8828b67bf8908d82127b2054ea1b4427ff0230ee9141c54251934ab1b599" +dependencies = [ + "icu_collections", + "icu_normalizer_data", + "icu_properties", + "icu_provider", + "smallvec", + "zerovec", +] + +[[package]] +name = "icu_normalizer_data" +version = "2.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7aedcccd01fc5fe81e6b489c15b247b8b0690feb23304303a9e560f37efc560a" + +[[package]] +name = "icu_properties" +version = "2.1.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "020bfc02fe870ec3a66d93e677ccca0562506e5872c650f893269e08615d74ec" +dependencies = [ + "icu_collections", + "icu_locale_core", + "icu_properties_data", + "icu_provider", + "zerotrie", + "zerovec", +] + +[[package]] +name = "icu_properties_data" +version = "2.1.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "616c294cf8d725c6afcd8f55abc17c56464ef6211f9ed59cccffe534129c77af" + +[[package]] +name = "icu_provider" +version = "2.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "85962cf0ce02e1e0a629cc34e7ca3e373ce20dda4c4d7294bbd0bf1fdb59e614" +dependencies = [ + "displaydoc", + "icu_locale_core", + "writeable", + "yoke", + "zerofrom", + "zerotrie", + "zerovec", +] + +[[package]] +name = "id-arena" +version = "2.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3d3067d79b975e8844ca9eb072e16b31c3c1c36928edf9c6789548c524d0d954" + +[[package]] +name = "idna" +version = "1.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3b0875f23caa03898994f6ddc501886a45c7d3d62d04d2d90788d47be1b1e4de" +dependencies = [ + "idna_adapter", + "smallvec", + "utf8_iter", +] + +[[package]] +name = "idna_adapter" +version = "1.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3acae9609540aa318d1bc588455225fb2085b9ed0c4f6bd0d9d5bcd86f1a0344" +dependencies = [ + "icu_normalizer", + "icu_properties", +] + +[[package]] +name = "indexmap" +version = "2.13.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7714e70437a7dc3ac8eb7e6f8df75fd8eb422675fc7678aff7364301092b1017" +dependencies = [ + "equivalent", + "hashbrown 0.16.1", + "serde", + "serde_core", +] + +[[package]] +name = "inout" +version = "0.1.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "879f10e63c20629ecabbb64a8010319738c66a5cd0c29b02d63d272b03751d01" +dependencies = [ + "generic-array", +] + +[[package]] +name = "ipnet" +version = "2.12.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d98f6fed1fde3f8c21bc40a1abb88dd75e67924f9cffc3ef95607bad8017f8e2" + +[[package]] +name = "iri-string" +version = "0.7.11" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d8e7418f59cc01c88316161279a7f665217ae316b388e58a0d10e29f54f1e5eb" +dependencies = [ + "memchr", + "serde", +] + +[[package]] +name = "itoa" +version = "1.0.18" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8f42a60cbdf9a97f5d2305f08a87dc4e09308d1276d28c869c684d7777685682" + +[[package]] +name = "js-sys" +version = "0.3.91" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b49715b7073f385ba4bc528e5747d02e66cb39c6146efb66b781f131f0fb399c" +dependencies = [ + "once_cell", + "wasm-bindgen", +] + +[[package]] +name = "lazy_static" +version = "1.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bbd2bcb4c963f2ddae06a2efc7e9f3591312473c50c6685e1f298068316e66fe" +dependencies = [ + "spin", +] + +[[package]] +name = "leb128fmt" +version = "0.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "09edd9e8b54e49e587e4f6295a7d29c3ea94d469cb40ab8ca70b288248a81db2" + +[[package]] +name = "libc" +version = "0.2.183" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b5b646652bf6661599e1da8901b3b9522896f01e736bad5f723fe7a3a27f899d" + +[[package]] +name = "libm" +version = "0.2.16" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b6d2cec3eae94f9f509c767b45932f1ada8350c4bdb85af2fcab4a3c14807981" + +[[package]] +name = "libredox" +version = "0.1.15" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7ddbf48fd451246b1f8c2610bd3b4ac0cc6e149d89832867093ab69a17194f08" +dependencies = [ + "bitflags", + "libc", + "plain", + "redox_syscall 0.7.3", +] + +[[package]] +name = "libsqlite3-sys" +version = "0.30.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2e99fb7a497b1e3339bc746195567ed8d3e24945ecd636e3619d20b9de9e9149" +dependencies = [ + "pkg-config", + "vcpkg", +] + +[[package]] +name = "litemap" +version = "0.8.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6373607a59f0be73a39b6fe456b8192fcc3585f602af20751600e974dd455e77" + +[[package]] +name = "litrs" +version = "1.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "11d3d7f243d5c5a8b9bb5d6dd2b1602c0cb0b9db1621bafc7ed66e35ff9fe092" + +[[package]] +name = "lock_api" +version = "0.4.14" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "224399e74b87b5f3557511d98dff8b14089b3dadafcab6bb93eab67d3aace965" +dependencies = [ + "scopeguard", +] + +[[package]] +name = "log" +version = "0.4.29" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5e5032e24019045c762d3c0f28f5b6b8bbf38563a65908389bf7978758920897" + +[[package]] +name = "lru-slab" +version = "0.1.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "112b39cec0b298b6c1999fee3e31427f74f676e4cb9879ed1a121b43661a4154" + +[[package]] +name = "matchers" +version = "0.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d1525a2a28c7f4fa0fc98bb91ae755d1e2d1505079e05539e35bc876b5d65ae9" +dependencies = [ + "regex-automata", +] + +[[package]] +name = "matchit" +version = "0.8.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "47e1ffaa40ddd1f3ed91f717a33c8c0ee23fff369e3aa8772b9605cc1d22f4c3" + +[[package]] +name = "mcp-server" +version = "0.3.1" +dependencies = [ + "async-trait", + "axum", + "base64", + "crank-community-mcp", + "crank-core", + "crank-mapping", + "crank-registry", + "crank-runtime", + "crank-schema", + "futures-util", + "reqwest", + "serde", + "serde_json", + "sha2", + "sqlx", + "thiserror", + "time", + "tokio", + "tracing", + "tracing-subscriber", + "uuid", +] + +[[package]] +name = "md-5" +version = "0.10.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d89e7ee0cfbedfc4da3340218492196241d89eefb6dab27de5df917a6d2e78cf" +dependencies = [ + "cfg-if", + "digest", +] + +[[package]] +name = "memchr" +version = "2.8.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f8ca58f447f06ed17d5fc4043ce1b10dd205e060fb3ce5b979b8ed8e59ff3f79" + +[[package]] +name = "mime" +version = "0.3.17" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6877bb514081ee2a7ff5ef9de3281f14a4dd4bceac4c09388074a6b5df8a139a" + +[[package]] +name = "mio" +version = "1.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a69bcab0ad47271a0234d9422b131806bf3968021e5dc9328caf2d4cd58557fc" +dependencies = [ + "libc", + "wasi", + "windows-sys 0.61.2", +] + +[[package]] +name = "nu-ansi-term" +version = "0.50.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7957b9740744892f114936ab4a57b3f487491bbeafaf8083688b16841a4240e5" +dependencies = [ + "windows-sys 0.61.2", +] + +[[package]] +name = "num-bigint" +version = "0.4.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a5e44f723f1133c9deac646763579fdb3ac745e418f2a7af9cd0c431da1f20b9" +dependencies = [ + "num-integer", + "num-traits", +] + +[[package]] +name = "num-bigint-dig" +version = "0.8.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e661dda6640fad38e827a6d4a310ff4763082116fe217f279885c97f511bb0b7" +dependencies = [ + "lazy_static", + "libm", + "num-integer", + "num-iter", + "num-traits", + "rand 0.8.5", + "smallvec", + "zeroize", +] + +[[package]] +name = "num-conv" +version = "0.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "51d515d32fb182ee37cda2ccdcb92950d6a3c2893aa280e540671c2cd0f3b1d9" + +[[package]] +name = "num-integer" +version = "0.1.46" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7969661fd2958a5cb096e56c8e1ad0444ac2bbcd0061bd28660485a44879858f" +dependencies = [ + "num-traits", +] + +[[package]] +name = "num-iter" +version = "0.1.45" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1429034a0490724d0075ebb2bc9e875d6503c3cf69e235a8941aa757d83ef5bf" +dependencies = [ + "autocfg", + "num-integer", + "num-traits", +] + +[[package]] +name = "num-traits" +version = "0.2.19" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "071dfc062690e90b734c0b2273ce72ad0ffa95f0c74596bc250dcfd960262841" +dependencies = [ + "autocfg", + "libm", +] + +[[package]] +name = "once_cell" +version = "1.21.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9f7c3e4beb33f85d45ae3e3a1792185706c8e16d043238c593331cc7cd313b50" + +[[package]] +name = "opaque-debug" +version = "0.3.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c08d65885ee38876c4f86fa503fb49d7b507c2b62552df7c70b2fce627e06381" + +[[package]] +name = "parking" +version = "2.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f38d5652c16fde515bb1ecef450ab0f6a219d619a7274976324d5e377f7dceba" + +[[package]] +name = "parking_lot" +version = "0.12.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "93857453250e3077bd71ff98b6a65ea6621a19bb0f559a85248955ac12c45a1a" +dependencies = [ + "lock_api", + "parking_lot_core", +] + +[[package]] +name = "parking_lot_core" +version = "0.9.12" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2621685985a2ebf1c516881c026032ac7deafcda1a2c9b7850dc81e3dfcb64c1" +dependencies = [ + "cfg-if", + "libc", + "redox_syscall 0.5.18", + "smallvec", + "windows-link", +] + +[[package]] +name = "password-hash" +version = "0.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "346f04948ba92c43e8469c1ee6736c7563d71012b17d40745260fe106aac2166" +dependencies = [ + "base64ct", + "rand_core 0.6.4", + "subtle", +] + +[[package]] +name = "pem-rfc7468" +version = "0.7.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "88b39c9bfcfc231068454382784bb460aae594343fb030d46e9f50a645418412" +dependencies = [ + "base64ct", +] + +[[package]] +name = "percent-encoding" +version = "2.3.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9b4f627cb1b25917193a259e49bdad08f671f8d9708acfd5fe0a8c1455d87220" + +[[package]] +name = "pin-project-lite" +version = "0.2.17" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a89322df9ebe1c1578d689c92318e070967d1042b512afbe49518723f4e6d5cd" + +[[package]] +name = "pin-utils" +version = "0.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8b870d8c151b6f2fb93e84a13146138f05d02ed11c7e7c54f8826aaaf7c9f184" + +[[package]] +name = "pkcs1" +version = "0.7.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c8ffb9f10fa047879315e6625af03c164b16962a5368d724ed16323b68ace47f" +dependencies = [ + "der", + "pkcs8", + "spki", +] + +[[package]] +name = "pkcs8" +version = "0.10.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f950b2377845cebe5cf8b5165cb3cc1a5e0fa5cfa3e1f7f55707d8fd82e0a7b7" +dependencies = [ + "der", + "spki", +] + +[[package]] +name = "pkg-config" +version = "0.3.32" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7edddbd0b52d732b21ad9a5fab5c704c14cd949e5e9a1ec5929a24fded1b904c" + +[[package]] +name = "plain" +version = "0.2.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b4596b6d070b27117e987119b4dac604f3c58cfb0b191112e24771b2faeac1a6" + +[[package]] +name = "polyval" +version = "0.6.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9d1fe60d06143b2430aa532c94cfe9e29783047f06c0d7fd359a9a51b729fa25" +dependencies = [ + "cfg-if", + "cpufeatures", + "opaque-debug", + "universal-hash", +] + +[[package]] +name = "potential_utf" +version = "0.1.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b73949432f5e2a09657003c25bca5e19a0e9c84f8058ca374f49e0ebe605af77" +dependencies = [ + "zerovec", +] + +[[package]] +name = "powerfmt" +version = "0.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "439ee305def115ba05938db6eb1644ff94165c5ab5e9420d1c1bcedbba909391" + +[[package]] +name = "ppv-lite86" +version = "0.2.21" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "85eae3c4ed2f50dcfe72643da4befc30deadb458a9b590d720cde2f2b1e97da9" +dependencies = [ + "zerocopy", +] + +[[package]] +name = "prettyplease" +version = "0.2.37" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "479ca8adacdd7ce8f1fb39ce9ecccbfe93a3f1344b3d0d97f20bc0196208f62b" +dependencies = [ + "proc-macro2", + "syn", +] + +[[package]] +name = "proc-macro2" +version = "1.0.106" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8fd00f0bb2e90d81d1044c2b32617f68fcb9fa3bb7640c23e9c748e53fb30934" +dependencies = [ + "unicode-ident", +] + +[[package]] +name = "psl-types" +version = "2.0.11" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "33cb294fe86a74cbcf50d4445b37da762029549ebeea341421c7c70370f86cac" + +[[package]] +name = "publicsuffix" +version = "2.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6f42ea446cab60335f76979ec15e12619a2165b5ae2c12166bef27d283a9fadf" +dependencies = [ + "idna", + "psl-types", +] + +[[package]] +name = "quinn" +version = "0.11.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b9e20a958963c291dc322d98411f541009df2ced7b5a4f2bd52337638cfccf20" +dependencies = [ + "bytes", + "cfg_aliases", + "pin-project-lite", + "quinn-proto", + "quinn-udp", + "rustc-hash", + "rustls", + "socket2 0.6.3", + "thiserror", + "tokio", + "tracing", + "web-time", +] + +[[package]] +name = "quinn-proto" +version = "0.11.14" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "434b42fec591c96ef50e21e886936e66d3cc3f737104fdb9b737c40ffb94c098" +dependencies = [ + "bytes", + "getrandom 0.3.4", + "lru-slab", + "rand 0.9.2", + "ring", + "rustc-hash", + "rustls", + "rustls-pki-types", + "slab", + "thiserror", + "tinyvec", + "tracing", + "web-time", +] + +[[package]] +name = "quinn-udp" +version = "0.5.14" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "addec6a0dcad8a8d96a771f815f0eaf55f9d1805756410b39f5fa81332574cbd" +dependencies = [ + "cfg_aliases", + "libc", + "once_cell", + "socket2 0.6.3", + "tracing", + "windows-sys 0.59.0", +] + +[[package]] +name = "quote" +version = "1.0.45" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "41f2619966050689382d2b44f664f4bc593e129785a36d6ee376ddf37259b924" +dependencies = [ + "proc-macro2", +] + +[[package]] +name = "r-efi" +version = "5.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "69cdb34c158ceb288df11e18b4bd39de994f6657d83847bdffdbd7f346754b0f" + +[[package]] +name = "r-efi" +version = "6.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f8dcc9c7d52a811697d2151c701e0d08956f92b0e24136cf4cf27b57a6a0d9bf" + +[[package]] +name = "rand" +version = "0.8.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "34af8d1a0e25924bc5b7c43c079c942339d8f0a8b57c39049bef581b46327404" +dependencies = [ + "libc", + "rand_chacha 0.3.1", + "rand_core 0.6.4", +] + +[[package]] +name = "rand" +version = "0.9.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6db2770f06117d490610c7488547d543617b21bfa07796d7a12f6f1bd53850d1" +dependencies = [ + "rand_chacha 0.9.0", + "rand_core 0.9.5", +] + +[[package]] +name = "rand_chacha" +version = "0.3.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e6c10a63a0fa32252be49d21e7709d4d4baf8d231c2dbce1eaa8141b9b127d88" +dependencies = [ + "ppv-lite86", + "rand_core 0.6.4", +] + +[[package]] +name = "rand_chacha" +version = "0.9.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d3022b5f1df60f26e1ffddd6c66e8aa15de382ae63b3a0c1bfc0e4d3e3f325cb" +dependencies = [ + "ppv-lite86", + "rand_core 0.9.5", +] + +[[package]] +name = "rand_core" +version = "0.6.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ec0be4795e2f6a28069bec0b5ff3e2ac9bafc99e6a9a7dc3547996c5c816922c" +dependencies = [ + "getrandom 0.2.17", +] + +[[package]] +name = "rand_core" +version = "0.9.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "76afc826de14238e6e8c374ddcc1fa19e374fd8dd986b0d2af0d02377261d83c" +dependencies = [ + "getrandom 0.3.4", +] + +[[package]] +name = "redis" +version = "0.29.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1bc42f3a12fd4408ce64d8efef67048a924e543bd35c6591c0447fda9054695f" +dependencies = [ + "arc-swap", + "backon", + "bytes", + "combine", + "futures-channel", + "futures-util", + "itoa", + "num-bigint", + "percent-encoding", + "pin-project-lite", + "ryu", + "sha1_smol", + "socket2 0.5.10", + "tokio", + "tokio-util", + "url", +] + +[[package]] +name = "redox_syscall" +version = "0.5.18" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ed2bf2547551a7053d6fdfafda3f938979645c44812fbfcda098faae3f1a362d" +dependencies = [ + "bitflags", +] + +[[package]] +name = "redox_syscall" +version = "0.7.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6ce70a74e890531977d37e532c34d45e9055d2409ed08ddba14529471ed0be16" +dependencies = [ + "bitflags", +] + +[[package]] +name = "regex-automata" +version = "0.4.14" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6e1dd4122fc1595e8162618945476892eefca7b88c52820e74af6262213cae8f" +dependencies = [ + "aho-corasick", + "memchr", + "regex-syntax", +] + +[[package]] +name = "regex-syntax" +version = "0.8.10" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "dc897dd8d9e8bd1ed8cdad82b5966c3e0ecae09fb1907d58efaa013543185d0a" + +[[package]] +name = "reqwest" +version = "0.12.28" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "eddd3ca559203180a307f12d114c268abf583f59b03cb906fd0b3ff8646c1147" +dependencies = [ + "base64", + "bytes", + "cookie", + "cookie_store", + "futures-core", + "futures-util", + "http", + "http-body", + "http-body-util", + "hyper", + "hyper-rustls", + "hyper-util", + "js-sys", + "log", + "percent-encoding", + "pin-project-lite", + "quinn", + "rustls", + "rustls-pki-types", + "serde", + "serde_json", + "serde_urlencoded", + "sync_wrapper", + "tokio", + "tokio-rustls", + "tokio-util", + "tower", + "tower-http", + "tower-service", + "url", + "wasm-bindgen", + "wasm-bindgen-futures", + "wasm-streams", + "web-sys", + "webpki-roots 1.0.6", +] + +[[package]] +name = "ring" +version = "0.17.14" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a4689e6c2294d81e88dc6261c768b63bc4fcdb852be6d1352498b114f61383b7" +dependencies = [ + "cc", + "cfg-if", + "getrandom 0.2.17", + "libc", + "untrusted", + "windows-sys 0.52.0", +] + +[[package]] +name = "rsa" +version = "0.9.10" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b8573f03f5883dcaebdfcf4725caa1ecb9c15b2ef50c43a07b816e06799bb12d" +dependencies = [ + "const-oid", + "digest", + "num-bigint-dig", + "num-integer", + "num-traits", + "pkcs1", + "pkcs8", + "rand_core 0.6.4", + "signature", + "spki", + "subtle", + "zeroize", +] + +[[package]] +name = "rustc-hash" +version = "2.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "357703d41365b4b27c590e3ed91eabb1b663f07c4c084095e60cbed4362dff0d" + +[[package]] +name = "rustls" +version = "0.23.37" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "758025cb5fccfd3bc2fd74708fd4682be41d99e5dff73c377c0646c6012c73a4" +dependencies = [ + "once_cell", + "ring", + "rustls-pki-types", + "rustls-webpki", + "subtle", + "zeroize", +] + +[[package]] +name = "rustls-pki-types" +version = "1.14.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "be040f8b0a225e40375822a563fa9524378b9d63112f53e19ffff34df5d33fdd" +dependencies = [ + "web-time", + "zeroize", +] + +[[package]] +name = "rustls-webpki" +version = "0.103.10" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "df33b2b81ac578cabaf06b89b0631153a3f416b0a886e8a7a1707fb51abbd1ef" +dependencies = [ + "ring", + "rustls-pki-types", + "untrusted", +] + +[[package]] +name = "rustversion" +version = "1.0.22" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b39cdef0fa800fc44525c84ccb54a029961a8215f9619753635a9c0d2538d46d" + +[[package]] +name = "ryu" +version = "1.0.23" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9774ba4a74de5f7b1c1451ed6cd5285a32eddb5cccb8cc655a4e50009e06477f" + +[[package]] +name = "scc" +version = "2.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "46e6f046b7fef48e2660c57ed794263155d713de679057f2d0c169bfc6e756cc" +dependencies = [ + "sdd", +] + +[[package]] +name = "scopeguard" +version = "1.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "94143f37725109f92c262ed2cf5e59bce7498c01bcc1502d7b9afe439a4e9f49" + +[[package]] +name = "sdd" +version = "3.0.10" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "490dcfcbfef26be6800d11870ff2df8774fa6e86d047e3e8c8a76b25655e41ca" + +[[package]] +name = "semver" +version = "1.0.27" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d767eb0aabc880b29956c35734170f26ed551a859dbd361d140cdbeca61ab1e2" + +[[package]] +name = "serde" +version = "1.0.228" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9a8e94ea7f378bd32cbbd37198a4a91436180c5bb472411e48b5ec2e2124ae9e" +dependencies = [ + "serde_core", + "serde_derive", +] + +[[package]] +name = "serde_core" +version = "1.0.228" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "41d385c7d4ca58e59fc732af25c3983b67ac852c1a25000afe1175de458b67ad" +dependencies = [ + "serde_derive", +] + +[[package]] +name = "serde_derive" +version = "1.0.228" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d540f220d3187173da220f885ab66608367b6574e925011a9353e4badda91d79" +dependencies = [ + "proc-macro2", + "quote", + "syn", +] + +[[package]] +name = "serde_json" +version = "1.0.149" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "83fc039473c5595ace860d8c4fafa220ff474b3fc6bfdb4293327f1a37e94d86" +dependencies = [ + "itoa", + "memchr", + "serde", + "serde_core", + "zmij", +] + +[[package]] +name = "serde_path_to_error" +version = "0.1.20" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "10a9ff822e371bb5403e391ecd83e182e0e77ba7f6fe0160b795797109d1b457" +dependencies = [ + "itoa", + "serde", + "serde_core", +] + +[[package]] +name = "serde_urlencoded" +version = "0.7.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d3491c14715ca2294c4d6a88f15e84739788c1d030eed8c110436aafdaa2f3fd" +dependencies = [ + "form_urlencoded", + "itoa", + "ryu", + "serde", +] + +[[package]] +name = "serde_yaml" +version = "0.9.34+deprecated" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6a8b1a1a2ebf674015cc02edccce75287f1a0130d394307b36743c2f5d504b47" +dependencies = [ + "indexmap", + "itoa", + "ryu", + "serde", + "unsafe-libyaml", +] + +[[package]] +name = "serial_test" +version = "3.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "911bd979bf1070a3f3aa7b691a3b3e9968f339ceeec89e08c280a8a22207a32f" +dependencies = [ + "futures-executor", + "futures-util", + "log", + "once_cell", + "parking_lot", + "scc", + "serial_test_derive", +] + +[[package]] +name = "serial_test_derive" +version = "3.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0a7d91949b85b0d2fb687445e448b40d322b6b3e4af6b44a29b21d9a5f33e6d9" +dependencies = [ + "proc-macro2", + "quote", + "syn", +] + +[[package]] +name = "sha1" +version = "0.10.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e3bf829a2d51ab4a5ddf1352d8470c140cadc8301b2ae1789db023f01cedd6ba" +dependencies = [ + "cfg-if", + "cpufeatures", + "digest", +] + +[[package]] +name = "sha1_smol" +version = "1.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bbfa15b3dddfee50a0fff136974b3e1bde555604ba463834a7eb7deb6417705d" + +[[package]] +name = "sha2" +version = "0.10.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a7507d819769d01a365ab707794a4084392c824f54a7a6a7862f8c3d0892b283" +dependencies = [ + "cfg-if", + "cpufeatures", + "digest", +] + +[[package]] +name = "sharded-slab" +version = "0.1.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f40ca3c46823713e0d4209592e8d6e826aa57e928f09752619fc696c499637f6" +dependencies = [ + "lazy_static", +] + +[[package]] +name = "shlex" +version = "1.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0fda2ff0d084019ba4d7c6f371c95d8fd75ce3524c3cb8fb653a3023f6323e64" + +[[package]] +name = "signature" +version = "2.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "77549399552de45a898a580c1b41d445bf730df867cc44e6c0233bbc4b8329de" +dependencies = [ + "digest", + "rand_core 0.6.4", +] + +[[package]] +name = "slab" +version = "0.4.12" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0c790de23124f9ab44544d7ac05d60440adc586479ce501c1d6d7da3cd8c9cf5" + +[[package]] +name = "smallvec" +version = "1.15.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "67b1b7a3b5fe4f1376887184045fcf45c69e92af734b7aaddc05fb777b6fbd03" +dependencies = [ + "serde", +] + +[[package]] +name = "socket2" +version = "0.5.10" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e22376abed350d73dd1cd119b57ffccad95b4e585a7cda43e286245ce23c0678" +dependencies = [ + "libc", + "windows-sys 0.52.0", +] + +[[package]] +name = "socket2" +version = "0.6.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3a766e1110788c36f4fa1c2b71b387a7815aa65f88ce0229841826633d93723e" +dependencies = [ + "libc", + "windows-sys 0.61.2", +] + +[[package]] +name = "spin" +version = "0.9.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6980e8d7511241f8acf4aebddbb1ff938df5eebe98691418c4468d0b72a96a67" +dependencies = [ + "lock_api", +] + +[[package]] +name = "spki" +version = "0.7.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d91ed6c858b01f942cd56b37a94b3e0a1798290327d1236e4d9cf4eaca44d29d" +dependencies = [ + "base64ct", + "der", +] + +[[package]] +name = "sqlx" +version = "0.8.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1fefb893899429669dcdd979aff487bd78f4064e5e7907e4269081e0ef7d97dc" +dependencies = [ + "sqlx-core", + "sqlx-macros", + "sqlx-mysql", + "sqlx-postgres", + "sqlx-sqlite", +] + +[[package]] +name = "sqlx-core" +version = "0.8.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ee6798b1838b6a0f69c007c133b8df5866302197e404e8b6ee8ed3e3a5e68dc6" +dependencies = [ + "base64", + "bytes", + "crc", + "crossbeam-queue", + "either", + "event-listener", + "futures-core", + "futures-intrusive", + "futures-io", + "futures-util", + "hashbrown 0.15.5", + "hashlink", + "indexmap", + "log", + "memchr", + "once_cell", + "percent-encoding", + "rustls", + "serde", + "serde_json", + "sha2", + "smallvec", + "thiserror", + "time", + "tokio", + "tokio-stream", + "tracing", + "url", + "webpki-roots 0.26.11", +] + +[[package]] +name = "sqlx-macros" +version = "0.8.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a2d452988ccaacfbf5e0bdbc348fb91d7c8af5bee192173ac3636b5fb6e6715d" +dependencies = [ + "proc-macro2", + "quote", + "sqlx-core", + "sqlx-macros-core", + "syn", +] + +[[package]] +name = "sqlx-macros-core" +version = "0.8.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "19a9c1841124ac5a61741f96e1d9e2ec77424bf323962dd894bdb93f37d5219b" +dependencies = [ + "dotenvy", + "either", + "heck", + "hex", + "once_cell", + "proc-macro2", + "quote", + "serde", + "serde_json", + "sha2", + "sqlx-core", + "sqlx-mysql", + "sqlx-postgres", + "sqlx-sqlite", + "syn", + "tokio", + "url", +] + +[[package]] +name = "sqlx-mysql" +version = "0.8.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "aa003f0038df784eb8fecbbac13affe3da23b45194bd57dba231c8f48199c526" +dependencies = [ + "atoi", + "base64", + "bitflags", + "byteorder", + "bytes", + "crc", + "digest", + "dotenvy", + "either", + "futures-channel", + "futures-core", + "futures-io", + "futures-util", + "generic-array", + "hex", + "hkdf", + "hmac", + "itoa", + "log", + "md-5", + "memchr", + "once_cell", + "percent-encoding", + "rand 0.8.5", + "rsa", + "serde", + "sha1", + "sha2", + "smallvec", + "sqlx-core", + "stringprep", + "thiserror", + "time", + "tracing", + "whoami", +] + +[[package]] +name = "sqlx-postgres" +version = "0.8.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "db58fcd5a53cf07c184b154801ff91347e4c30d17a3562a635ff028ad5deda46" +dependencies = [ + "atoi", + "base64", + "bitflags", + "byteorder", + "crc", + "dotenvy", + "etcetera", + "futures-channel", + "futures-core", + "futures-util", + "hex", + "hkdf", + "hmac", + "home", + "itoa", + "log", + "md-5", + "memchr", + "once_cell", + "rand 0.8.5", + "serde", + "serde_json", + "sha2", + "smallvec", + "sqlx-core", + "stringprep", + "thiserror", + "time", + "tracing", + "whoami", +] + +[[package]] +name = "sqlx-sqlite" +version = "0.8.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c2d12fe70b2c1b4401038055f90f151b78208de1f9f89a7dbfd41587a10c3eea" +dependencies = [ + "atoi", + "flume", + "futures-channel", + "futures-core", + "futures-executor", + "futures-intrusive", + "futures-util", + "libsqlite3-sys", + "log", + "percent-encoding", + "serde", + "serde_urlencoded", + "sqlx-core", + "thiserror", + "time", + "tracing", + "url", +] + +[[package]] +name = "stable_deref_trait" +version = "1.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6ce2be8dc25455e1f91df71bfa12ad37d7af1092ae736f3a6cd0e37bc7810596" + +[[package]] +name = "stringprep" +version = "0.1.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7b4df3d392d81bd458a8a621b8bffbd2302a12ffe288a9d931670948749463b1" +dependencies = [ + "unicode-bidi", + "unicode-normalization", + "unicode-properties", +] + +[[package]] +name = "subtle" +version = "2.6.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "13c2bddecc57b384dee18652358fb23172facb8a2c51ccc10d74c157bdea3292" + +[[package]] +name = "syn" +version = "2.0.117" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e665b8803e7b1d2a727f4023456bbbbe74da67099c585258af0ad9c5013b9b99" +dependencies = [ + "proc-macro2", + "quote", + "unicode-ident", +] + +[[package]] +name = "sync_wrapper" +version = "1.0.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0bf256ce5efdfa370213c1dabab5935a12e49f2c58d15e9eac2870d3b4f27263" +dependencies = [ + "futures-core", +] + +[[package]] +name = "synstructure" +version = "0.13.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "728a70f3dbaf5bab7f0c4b1ac8d7ae5ea60a4b5549c8a5914361c99147a709d2" +dependencies = [ + "proc-macro2", + "quote", + "syn", +] + +[[package]] +name = "thiserror" +version = "2.0.18" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4288b5bcbc7920c07a1149a35cf9590a2aa808e0bc1eafaade0b80947865fbc4" +dependencies = [ + "thiserror-impl", +] + +[[package]] +name = "thiserror-impl" +version = "2.0.18" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ebc4ee7f67670e9b64d05fa4253e753e016c6c95ff35b89b7941d6b856dec1d5" +dependencies = [ + "proc-macro2", + "quote", + "syn", +] + +[[package]] +name = "thread_local" +version = "1.1.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f60246a4944f24f6e018aa17cdeffb7818b76356965d03b07d6a9886e8962185" +dependencies = [ + "cfg-if", +] + +[[package]] +name = "time" +version = "0.3.45" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f9e442fc33d7fdb45aa9bfeb312c095964abdf596f7567261062b2a7107aaabd" +dependencies = [ + "deranged", + "itoa", + "num-conv", + "powerfmt", + "serde_core", + "time-core", + "time-macros", +] + +[[package]] +name = "time-core" +version = "0.1.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8b36ee98fd31ec7426d599183e8fe26932a8dc1fb76ddb6214d05493377d34ca" + +[[package]] +name = "time-macros" +version = "0.2.25" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "71e552d1249bf61ac2a52db88179fd0673def1e1ad8243a00d9ec9ed71fee3dd" +dependencies = [ + "num-conv", + "time-core", +] + +[[package]] +name = "tinystr" +version = "0.8.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "42d3e9c45c09de15d06dd8acf5f4e0e399e85927b7f00711024eb7ae10fa4869" +dependencies = [ + "displaydoc", + "zerovec", +] + +[[package]] +name = "tinyvec" +version = "1.11.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3e61e67053d25a4e82c844e8424039d9745781b3fc4f32b8d55ed50f5f667ef3" +dependencies = [ + "tinyvec_macros", +] + +[[package]] +name = "tinyvec_macros" +version = "0.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1f3ccbac311fea05f86f61904b462b55fb3df8837a366dfc601a0161d0532f20" + +[[package]] +name = "tokio" +version = "1.50.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "27ad5e34374e03cfffefc301becb44e9dc3c17584f414349ebe29ed26661822d" +dependencies = [ + "bytes", + "libc", + "mio", + "pin-project-lite", + "socket2 0.6.3", + "tokio-macros", + "windows-sys 0.61.2", +] + +[[package]] +name = "tokio-macros" +version = "2.6.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5c55a2eff8b69ce66c84f85e1da1c233edc36ceb85a2058d11b0d6a3c7e7569c" +dependencies = [ + "proc-macro2", + "quote", + "syn", +] + +[[package]] +name = "tokio-rustls" +version = "0.26.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1729aa945f29d91ba541258c8df89027d5792d85a8841fb65e8bf0f4ede4ef61" +dependencies = [ + "rustls", + "tokio", +] + +[[package]] +name = "tokio-stream" +version = "0.1.18" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "32da49809aab5c3bc678af03902d4ccddea2a87d028d86392a4b1560c6906c70" +dependencies = [ + "futures-core", + "pin-project-lite", + "tokio", +] + +[[package]] +name = "tokio-util" +version = "0.7.18" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9ae9cec805b01e8fc3fd2fe289f89149a9b66dd16786abd8b19cfa7b48cb0098" +dependencies = [ + "bytes", + "futures-core", + "futures-sink", + "pin-project-lite", + "tokio", +] + +[[package]] +name = "tower" +version = "0.5.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ebe5ef63511595f1344e2d5cfa636d973292adc0eec1f0ad45fae9f0851ab1d4" +dependencies = [ + "futures-core", + "futures-util", + "pin-project-lite", + "sync_wrapper", + "tokio", + "tower-layer", + "tower-service", + "tracing", +] + +[[package]] +name = "tower-http" +version = "0.6.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d4e6559d53cc268e5031cd8429d05415bc4cb4aefc4aa5d6cc35fbf5b924a1f8" +dependencies = [ + "bitflags", + "bytes", + "futures-util", + "http", + "http-body", + "iri-string", + "pin-project-lite", + "tower", + "tower-layer", + "tower-service", +] + +[[package]] +name = "tower-layer" +version = "0.3.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "121c2a6cda46980bb0fcd1647ffaf6cd3fc79a013de288782836f6df9c48780e" + +[[package]] +name = "tower-service" +version = "0.3.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8df9b6e13f2d32c91b9bd719c00d1958837bc7dec474d94952798cc8e69eeec3" + +[[package]] +name = "tracing" +version = "0.1.44" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "63e71662fa4b2a2c3a26f570f037eb95bb1f85397f3cd8076caed2f026a6d100" +dependencies = [ + "log", + "pin-project-lite", + "tracing-attributes", + "tracing-core", +] + +[[package]] +name = "tracing-attributes" +version = "0.1.31" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7490cfa5ec963746568740651ac6781f701c9c5ea257c58e057f3ba8cf69e8da" +dependencies = [ + "proc-macro2", + "quote", + "syn", +] + +[[package]] +name = "tracing-core" +version = "0.1.36" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "db97caf9d906fbde555dd62fa95ddba9eecfd14cb388e4f491a66d74cd5fb79a" +dependencies = [ + "once_cell", + "valuable", +] + +[[package]] +name = "tracing-log" +version = "0.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ee855f1f400bd0e5c02d150ae5de3840039a3f54b025156404e34c23c03f47c3" +dependencies = [ + "log", + "once_cell", + "tracing-core", +] + +[[package]] +name = "tracing-subscriber" +version = "0.3.23" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "cb7f578e5945fb242538965c2d0b04418d38ec25c79d160cd279bf0731c8d319" +dependencies = [ + "matchers", + "nu-ansi-term", + "once_cell", + "regex-automata", + "sharded-slab", + "smallvec", + "thread_local", + "tracing", + "tracing-core", + "tracing-log", +] + +[[package]] +name = "try-lock" +version = "0.2.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e421abadd41a4225275504ea4d6566923418b7f05506fbc9c0fe86ba7396114b" + +[[package]] +name = "typenum" +version = "1.19.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "562d481066bde0658276a35467c4af00bdc6ee726305698a55b86e61d7ad82bb" + +[[package]] +name = "unicode-bidi" +version = "0.3.18" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5c1cb5db39152898a79168971543b1cb5020dff7fe43c8dc468b0885f5e29df5" + +[[package]] +name = "unicode-ident" +version = "1.0.24" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e6e4313cd5fcd3dad5cafa179702e2b244f760991f45397d14d4ebf38247da75" + +[[package]] +name = "unicode-normalization" +version = "0.1.25" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5fd4f6878c9cb28d874b009da9e8d183b5abc80117c40bbd187a1fde336be6e8" +dependencies = [ + "tinyvec", +] + +[[package]] +name = "unicode-properties" +version = "0.1.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7df058c713841ad818f1dc5d3fd88063241cc61f49f5fbea4b951e8cf5a8d71d" + +[[package]] +name = "unicode-xid" +version = "0.2.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ebc1c04c71510c7f702b52b7c350734c9ff1295c464a03335b00bb84fc54f853" + +[[package]] +name = "universal-hash" +version = "0.5.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fc1de2c688dc15305988b563c3854064043356019f97a4b46276fe734c4f07ea" +dependencies = [ + "crypto-common", + "subtle", +] + +[[package]] +name = "unsafe-libyaml" +version = "0.2.11" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "673aac59facbab8a9007c7f6108d11f63b603f7cabff99fabf650fea5c32b861" + +[[package]] +name = "untrusted" +version = "0.9.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8ecb6da28b8a351d773b68d5825ac39017e680750f980f3a1a85cd8dd28a47c1" + +[[package]] +name = "url" +version = "2.5.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ff67a8a4397373c3ef660812acab3268222035010ab8680ec4215f38ba3d0eed" +dependencies = [ + "form_urlencoded", + "idna", + "percent-encoding", + "serde", +] + +[[package]] +name = "utf8_iter" +version = "1.0.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b6c140620e7ffbb22c2dee59cafe6084a59b5ffc27a8859a5f0d494b5d52b6be" + +[[package]] +name = "uuid" +version = "1.22.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a68d3c8f01c0cfa54a75291d83601161799e4a89a39e0929f4b0354d88757a37" +dependencies = [ + "getrandom 0.4.2", + "js-sys", + "serde_core", + "wasm-bindgen", +] + +[[package]] +name = "valuable" +version = "0.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ba73ea9cf16a25df0c8caa16c51acb937d5712a8429db78a3ee29d5dcacd3a65" + +[[package]] +name = "vcpkg" +version = "0.2.15" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "accd4ea62f7bb7a82fe23066fb0957d48ef677f6eeb8215f372f52e48bb32426" + +[[package]] +name = "version_check" +version = "0.9.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0b928f33d975fc6ad9f86c8f283853ad26bdd5b10b7f1542aa2fa15e2289105a" + +[[package]] +name = "want" +version = "0.3.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bfa7760aed19e106de2c7c0b581b509f2f25d3dacaf737cb82ac61bc6d760b0e" +dependencies = [ + "try-lock", +] + +[[package]] +name = "wasi" +version = "0.11.1+wasi-snapshot-preview1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ccf3ec651a847eb01de73ccad15eb7d99f80485de043efb2f370cd654f4ea44b" + +[[package]] +name = "wasip2" +version = "1.0.1+wasi-0.2.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0562428422c63773dad2c345a1882263bbf4d65cf3f42e90921f787ef5ad58e7" +dependencies = [ + "wit-bindgen 0.46.0", +] + +[[package]] +name = "wasip3" +version = "0.4.0+wasi-0.3.0-rc-2026-01-06" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5428f8bf88ea5ddc08faddef2ac4a67e390b88186c703ce6dbd955e1c145aca5" +dependencies = [ + "wit-bindgen 0.51.0", +] + +[[package]] +name = "wasite" +version = "0.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b8dad83b4f25e74f184f64c43b150b91efe7647395b42289f38e50566d82855b" + +[[package]] +name = "wasm-bindgen" +version = "0.2.114" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6532f9a5c1ece3798cb1c2cfdba640b9b3ba884f5db45973a6f442510a87d38e" +dependencies = [ + "cfg-if", + "once_cell", + "rustversion", + "wasm-bindgen-macro", + "wasm-bindgen-shared", +] + +[[package]] +name = "wasm-bindgen-futures" +version = "0.4.64" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e9c5522b3a28661442748e09d40924dfb9ca614b21c00d3fd135720e48b67db8" +dependencies = [ + "cfg-if", + "futures-util", + "js-sys", + "once_cell", + "wasm-bindgen", + "web-sys", +] + +[[package]] +name = "wasm-bindgen-macro" +version = "0.2.114" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "18a2d50fcf105fb33bb15f00e7a77b772945a2ee45dcf454961fd843e74c18e6" +dependencies = [ + "quote", + "wasm-bindgen-macro-support", +] + +[[package]] +name = "wasm-bindgen-macro-support" +version = "0.2.114" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "03ce4caeaac547cdf713d280eda22a730824dd11e6b8c3ca9e42247b25c631e3" +dependencies = [ + "bumpalo", + "proc-macro2", + "quote", + "syn", + "wasm-bindgen-shared", +] + +[[package]] +name = "wasm-bindgen-shared" +version = "0.2.114" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "75a326b8c223ee17883a4251907455a2431acc2791c98c26279376490c378c16" +dependencies = [ + "unicode-ident", +] + +[[package]] +name = "wasm-encoder" +version = "0.244.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "990065f2fe63003fe337b932cfb5e3b80e0b4d0f5ff650e6985b1048f62c8319" +dependencies = [ + "leb128fmt", + "wasmparser", +] + +[[package]] +name = "wasm-metadata" +version = "0.244.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bb0e353e6a2fbdc176932bbaab493762eb1255a7900fe0fea1a2f96c296cc909" +dependencies = [ + "anyhow", + "indexmap", + "wasm-encoder", + "wasmparser", +] + +[[package]] +name = "wasm-streams" +version = "0.4.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "15053d8d85c7eccdbefef60f06769760a563c7f0a9d6902a13d35c7800b0ad65" +dependencies = [ + "futures-util", + "js-sys", + "wasm-bindgen", + "wasm-bindgen-futures", + "web-sys", +] + +[[package]] +name = "wasmparser" +version = "0.244.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "47b807c72e1bac69382b3a6fb3dbe8ea4c0ed87ff5629b8685ae6b9a611028fe" +dependencies = [ + "bitflags", + "hashbrown 0.15.5", + "indexmap", + "semver", +] + +[[package]] +name = "web-sys" +version = "0.3.91" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "854ba17bb104abfb26ba36da9729addc7ce7f06f5c0f90f3c391f8461cca21f9" +dependencies = [ + "js-sys", + "wasm-bindgen", +] + +[[package]] +name = "web-time" +version = "1.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5a6580f308b1fad9207618087a65c04e7a10bc77e02c8e84e9b00dd4b12fa0bb" +dependencies = [ + "js-sys", + "wasm-bindgen", +] + +[[package]] +name = "webpki-roots" +version = "0.26.11" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "521bc38abb08001b01866da9f51eb7c5d647a19260e00054a8c7fd5f9e57f7a9" +dependencies = [ + "webpki-roots 1.0.6", +] + +[[package]] +name = "webpki-roots" +version = "1.0.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "22cfaf3c063993ff62e73cb4311efde4db1efb31ab78a3e5c457939ad5cc0bed" +dependencies = [ + "rustls-pki-types", +] + +[[package]] +name = "whoami" +version = "1.6.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5d4a4db5077702ca3015d3d02d74974948aba2ad9e12ab7df718ee64ccd7e97d" +dependencies = [ + "libredox", + "wasite", +] + +[[package]] +name = "windows-link" +version = "0.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f0805222e57f7521d6a62e36fa9163bc891acd422f971defe97d64e70d0a4fe5" + +[[package]] +name = "windows-sys" +version = "0.48.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "677d2418bec65e3338edb076e806bc1ec15693c5d0104683f2efe857f61056a9" +dependencies = [ + "windows-targets 0.48.5", +] + +[[package]] +name = "windows-sys" +version = "0.52.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "282be5f36a8ce781fad8c8ae18fa3f9beff57ec1b52cb3de0789201425d9a33d" +dependencies = [ + "windows-targets 0.52.6", +] + +[[package]] +name = "windows-sys" +version = "0.59.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1e38bc4d79ed67fd075bcc251a1c39b32a1776bbe92e5bef1f0bf1f8c531853b" +dependencies = [ + "windows-targets 0.52.6", +] + +[[package]] +name = "windows-sys" +version = "0.61.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ae137229bcbd6cdf0f7b80a31df61766145077ddf49416a728b02cb3921ff3fc" +dependencies = [ + "windows-link", +] + +[[package]] +name = "windows-targets" +version = "0.48.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9a2fa6e2155d7247be68c096456083145c183cbbbc2764150dda45a87197940c" +dependencies = [ + "windows_aarch64_gnullvm 0.48.5", + "windows_aarch64_msvc 0.48.5", + "windows_i686_gnu 0.48.5", + "windows_i686_msvc 0.48.5", + "windows_x86_64_gnu 0.48.5", + "windows_x86_64_gnullvm 0.48.5", + "windows_x86_64_msvc 0.48.5", +] + +[[package]] +name = "windows-targets" +version = "0.52.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9b724f72796e036ab90c1021d4780d4d3d648aca59e491e6b98e725b84e99973" +dependencies = [ + "windows_aarch64_gnullvm 0.52.6", + "windows_aarch64_msvc 0.52.6", + "windows_i686_gnu 0.52.6", + "windows_i686_gnullvm", + "windows_i686_msvc 0.52.6", + "windows_x86_64_gnu 0.52.6", + "windows_x86_64_gnullvm 0.52.6", + "windows_x86_64_msvc 0.52.6", +] + +[[package]] +name = "windows_aarch64_gnullvm" +version = "0.48.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2b38e32f0abccf9987a4e3079dfb67dcd799fb61361e53e2882c3cbaf0d905d8" + +[[package]] +name = "windows_aarch64_gnullvm" +version = "0.52.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "32a4622180e7a0ec044bb555404c800bc9fd9ec262ec147edd5989ccd0c02cd3" + +[[package]] +name = "windows_aarch64_msvc" +version = "0.48.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "dc35310971f3b2dbbf3f0690a219f40e2d9afcf64f9ab7cc1be722937c26b4bc" + +[[package]] +name = "windows_aarch64_msvc" +version = "0.52.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "09ec2a7bb152e2252b53fa7803150007879548bc709c039df7627cabbd05d469" + +[[package]] +name = "windows_i686_gnu" +version = "0.48.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a75915e7def60c94dcef72200b9a8e58e5091744960da64ec734a6c6e9b3743e" + +[[package]] +name = "windows_i686_gnu" +version = "0.52.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8e9b5ad5ab802e97eb8e295ac6720e509ee4c243f69d781394014ebfe8bbfa0b" + +[[package]] +name = "windows_i686_gnullvm" +version = "0.52.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0eee52d38c090b3caa76c563b86c3a4bd71ef1a819287c19d586d7334ae8ed66" + +[[package]] +name = "windows_i686_msvc" +version = "0.48.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8f55c233f70c4b27f66c523580f78f1004e8b5a8b659e05a4eb49d4166cca406" + +[[package]] +name = "windows_i686_msvc" +version = "0.52.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "240948bc05c5e7c6dabba28bf89d89ffce3e303022809e73deaefe4f6ec56c66" + +[[package]] +name = "windows_x86_64_gnu" +version = "0.48.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "53d40abd2583d23e4718fddf1ebec84dbff8381c07cae67ff7768bbf19c6718e" + +[[package]] +name = "windows_x86_64_gnu" +version = "0.52.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "147a5c80aabfbf0c7d901cb5895d1de30ef2907eb21fbbab29ca94c5b08b1a78" + +[[package]] +name = "windows_x86_64_gnullvm" +version = "0.48.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0b7b52767868a23d5bab768e390dc5f5c55825b6d30b86c844ff2dc7414044cc" + +[[package]] +name = "windows_x86_64_gnullvm" +version = "0.52.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "24d5b23dc417412679681396f2b49f3de8c1473deb516bd34410872eff51ed0d" + +[[package]] +name = "windows_x86_64_msvc" +version = "0.48.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ed94fce61571a4006852b7389a063ab983c02eb1bb37b47f8272ce92d06d9538" + +[[package]] +name = "windows_x86_64_msvc" +version = "0.52.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "589f6da84c646204747d1270a2a5661ea66ed1cced2631d546fdfb155959f9ec" + +[[package]] +name = "wit-bindgen" +version = "0.46.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f17a85883d4e6d00e8a97c586de764dabcc06133f7f1d55dce5cdc070ad7fe59" + +[[package]] +name = "wit-bindgen" +version = "0.51.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d7249219f66ced02969388cf2bb044a09756a083d0fab1e566056b04d9fbcaa5" +dependencies = [ + "wit-bindgen-rust-macro", +] + +[[package]] +name = "wit-bindgen-core" +version = "0.51.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ea61de684c3ea68cb082b7a88508a8b27fcc8b797d738bfc99a82facf1d752dc" +dependencies = [ + "anyhow", + "heck", + "wit-parser", +] + +[[package]] +name = "wit-bindgen-rust" +version = "0.51.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b7c566e0f4b284dd6561c786d9cb0142da491f46a9fbed79ea69cdad5db17f21" +dependencies = [ + "anyhow", + "heck", + "indexmap", + "prettyplease", + "syn", + "wasm-metadata", + "wit-bindgen-core", + "wit-component", +] + +[[package]] +name = "wit-bindgen-rust-macro" +version = "0.51.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0c0f9bfd77e6a48eccf51359e3ae77140a7f50b1e2ebfe62422d8afdaffab17a" +dependencies = [ + "anyhow", + "prettyplease", + "proc-macro2", + "quote", + "syn", + "wit-bindgen-core", + "wit-bindgen-rust", +] + +[[package]] +name = "wit-component" +version = "0.244.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9d66ea20e9553b30172b5e831994e35fbde2d165325bec84fc43dbf6f4eb9cb2" +dependencies = [ + "anyhow", + "bitflags", + "indexmap", + "log", + "serde", + "serde_derive", + "serde_json", + "wasm-encoder", + "wasm-metadata", + "wasmparser", + "wit-parser", +] + +[[package]] +name = "wit-parser" +version = "0.244.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ecc8ac4bc1dc3381b7f59c34f00b67e18f910c2c0f50015669dde7def656a736" +dependencies = [ + "anyhow", + "id-arena", + "indexmap", + "log", + "semver", + "serde", + "serde_derive", + "serde_json", + "unicode-xid", + "wasmparser", +] + +[[package]] +name = "writeable" +version = "0.6.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9edde0db4769d2dc68579893f2306b26c6ecfbe0ef499b013d731b7b9247e0b9" + +[[package]] +name = "yoke" +version = "0.8.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "72d6e5c6afb84d73944e5cedb052c4680d5657337201555f9f2a16b7406d4954" +dependencies = [ + "stable_deref_trait", + "yoke-derive", + "zerofrom", +] + +[[package]] +name = "yoke-derive" +version = "0.8.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b659052874eb698efe5b9e8cf382204678a0086ebf46982b79d6ca3182927e5d" +dependencies = [ + "proc-macro2", + "quote", + "syn", + "synstructure", +] + +[[package]] +name = "zerocopy" +version = "0.8.47" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "efbb2a062be311f2ba113ce66f697a4dc589f85e78a4aea276200804cea0ed87" +dependencies = [ + "zerocopy-derive", +] + +[[package]] +name = "zerocopy-derive" +version = "0.8.47" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0e8bc7269b54418e7aeeef514aa68f8690b8c0489a06b0136e5f57c4c5ccab89" +dependencies = [ + "proc-macro2", + "quote", + "syn", +] + +[[package]] +name = "zerofrom" +version = "0.1.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "50cc42e0333e05660c3587f3bf9d0478688e15d870fab3346451ce7f8c9fbea5" +dependencies = [ + "zerofrom-derive", +] + +[[package]] +name = "zerofrom-derive" +version = "0.1.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d71e5d6e06ab090c67b5e44993ec16b72dcbaabc526db883a360057678b48502" +dependencies = [ + "proc-macro2", + "quote", + "syn", + "synstructure", +] + +[[package]] +name = "zeroize" +version = "1.8.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b97154e67e32c85465826e8bcc1c59429aaaf107c1e4a9e53c8d8ccd5eff88d0" + +[[package]] +name = "zerotrie" +version = "0.2.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2a59c17a5562d507e4b54960e8569ebee33bee890c70aa3fe7b97e85a9fd7851" +dependencies = [ + "displaydoc", + "yoke", + "zerofrom", +] + +[[package]] +name = "zerovec" +version = "0.11.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6c28719294829477f525be0186d13efa9a3c602f7ec202ca9e353d310fb9a002" +dependencies = [ + "yoke", + "zerofrom", + "zerovec-derive", +] + +[[package]] +name = "zerovec-derive" +version = "0.11.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "eadce39539ca5cb3985590102671f2567e659fca9666581ad3411d59207951f3" +dependencies = [ + "proc-macro2", + "quote", + "syn", +] + +[[package]] +name = "zmij" +version = "1.0.21" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b8848ee67ecc8aedbaf3e4122217aff892639231befc6a1b58d29fff4c2cabaa" diff --git a/Cargo.toml b/Cargo.toml new file mode 100644 index 0000000..396da51 --- /dev/null +++ b/Cargo.toml @@ -0,0 +1,41 @@ +[workspace] +members = [ + "apps/admin-api", + "apps/mcp-server", + "crates/crank-community-auth", + "crates/crank-community-mcp", + "crates/crank-core", + "crates/crank-schema", + "crates/crank-mapping", + "crates/crank-registry", + "crates/crank-runtime", + "crates/crank-adapter-rest", +] +resolver = "3" + +[workspace.package] +edition = "2024" +license = "MIT" +rust-version = "1.85" +version = "0.3.1" + +[workspace.dependencies] +aes-gcm = "0.10" +argon2 = "0.5" +axum = "0.8" +axum-extra = { version = "0.10", features = ["cookie"] } +base64 = "0.22" +hkdf = "0.12" +rand = "0.8" +reqwest = { version = "0.12", default-features = false, features = ["cookies", "json", "rustls-tls"] } +serde = { version = "1", features = ["derive"] } +serde_json = "1" +serde_yaml = "0.9" +sha2 = "0.10" +sqlx = { version = "0.8", default-features = false, features = ["runtime-tokio-rustls", "postgres", "macros", "json", "time"] } +thiserror = "2" +time = { version = "0.3", features = ["formatting", "parsing", "serde"] } +tokio = { version = "1", features = ["macros", "rt-multi-thread"] } +tracing = "0.1" +tracing-subscriber = { version = "0.3", features = ["env-filter", "fmt"] } +uuid = { version = "1", features = ["serde", "v7"] } diff --git a/Crank.png b/Crank.png new file mode 100644 index 0000000000000000000000000000000000000000..aa1c5d1d2553ca0fee2c66f102e786025a3cc66a GIT binary patch literal 2711276 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 z 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

&+->^` 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

fq|d)pXrTa)>0Kwgw5vN`&ipcG#(pkI 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�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%0DJQB~o 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 ~qExK1Er_ECDgu)vAZFg%>mw@)*&U83 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


N?mXtpz?;;naS8J-~p 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

gEL8dO=8l$caVg`DiPRm_1iZwaR) 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

wU`SJu_( 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

~VP`jP@QtfS7|GAtU-`@5&3C`| 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¨ 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

?Yz8qrZf$po9ErxjBh9gkiY@ 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%0AUf2{pMAETKyY(>T)Q)^(k3+_=H*#kvl| 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%0AX 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�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 * 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%0Dka&Pkh6rqr;DFcQe%Oq>$YyijpL$j6o|{eH(U= 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%0DJ zcU`@>bQV|}Zj+~L)T38;x_$rrcYfxR`J?Z=6Mw_UUe53R{5vRYvE>HZ>clf--BgH3 z;w)@0?)Uwh-+YN*2l7{c_xFH6^QG5fKcA7?BLLC0U!qao`>3|gzyjNCckQ1$fHMF} z{W!OnV$U`^u>mSb@F>cZfR|EiiC7bOtue?BZT?$*U^cs^3lF0<_F49cE-2EYrNPy4 zcsL0fp8*V(smX7JwgTO{8S@1NgoW65rGU;UTvsSBsiyA_OXz?qIQAZ!g)$T0aSSQ4Cdvv zsqyqHKZDo5Yq|qArafB9*vw<31X8>25*kW0{Dl>}>*3 zz+ImarxUKX>yBg=XdBUsLKB

_UH2EV{h=$<5%&C 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

u%K@SD8Fk} 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

rt{EQQ2w5&YLmw! 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≠K9qSNZ1{uK6%|RhB#`Ab6OReIqT&L` zq|T7?Cpy>mWvFVcid3v9Dx?*HOx0yqUs9G(@;%J3@!q>>Zs5GxQE&gJ4)V(X29OAsIA?#%W-( zLKqhWTJ(ULX#<=B3`-N9!jRI(Q7&?WE^m&-5AJygSjcJKM0%zMZ34_{h=`zYw)BWI zSQDVsaQ7DGskD-#upa>GGRy{rldXjb*4hU2r2H4}aIi6&tmV)L?~W&*eM&FxU%=;o z?r-Ps`PSdVSAWJQGrY zBaMPb5Sj!SiN*~_+rPuYY{6+z0If;t07z?Vo)bGPqyy?HJ@B!qBC9fo+N6|rwYFi8 z9ZVjMPRpJ zQpzA0+qOZlP-rUHDl;mxVQeA9FsBbhR+gD!PXfZE-V}8fGhgorbuo;dtKqIy}h&K_ik|4U}WIQIFoylh?lbXo*kkcny z;+_u7M4?*Q5m47PMx3b29Z(Xl^UR-r_xp(7`?0CemWR42FZk z=&+hn@?vNK*M&A~Y5=zfZ6A&DOVz2x4jOVOCWvHS?SrAkroD&yAw01scFgU?APmK-WrU6#91vUo=Oav)fpjl;h1-QBkvjhro;}7Hep!j0mNWXegX{ z4j^JC)H6I-)vGzLFVE_VVUQplUf{S@eVKxF!!VWiUu=>3P;EqI)7edYfn9Lip4NO7;_eo)m;lUtb;n~SzdG| zxYrUBX+u0|!cYzqL~ALYoa(O2?0$fxD!FM&othCSais^)rUFiD4rAKNmc=X1rEbHX zX@H_C)%#HM$FTYscBzHCWrwDpV=@IOQUkxL?h0sC($gYAwc3$pdFLfgro_`wIE7gF zUDZiQZ}t|1*wEzQ+)z053VNN#Qq-B87YajAdjDIl`)V~VfUUY9 zhow+ocQTdwyrk|VEDbl%Rx*nq#{7uLoGlDuIkQXyG#bEF zBG=8bvt%`HuH4BA99l7|I-^-MCt!7#9=+bI{TlpZ%p@W6e0o_r4IFIUuPP)Rt$1aF z&BYt9`zHUcipd#d!oYd*+;7hHb8S`CR^7;zd;}&81gmVE*(~Qh8JL*&Al*RWQX0bQFew zwfI6c;?yEq`9rOCE-|j^aR@N%+twgmKXLtiH7k#&(SCjx2)hRR!5}5rY1GOltJbZY zzp|xo0Mf!3Es?}T5e=y4sbxr_rbSr{)Mlz5$|#t@&gqL)l;N3sMYWz}Ye`)Mi6kJP zIv52uT3PmBfR(ux8T9K*8LMR-MUnulc?-e3aEC>STPoa=8B1@oY)P-f-0EJggeeD@ z2#i)BYVL~^e+|_~?tol=twCyHUZ`;{rO3o)4Ez}_j6mwURGNQ|plR#72w(GslypkP zn&)S;%KOo(HTEB*Ocsh{8Fmu`1FvGNzDKtIwXAFFPEPheL+MZkB9o*Vd}{`bVKQOB zq_kDiNV00;CP26uCNFEOl_AZ9DwDuo9vnCi%tKWX8Q@jFH;9mIGt1L520eFFyDb5q zavfPLDnl5)haAb64AzTaRLyc20Titm_S|d3pN>`Es?Kxb>7*;z7 z41H&oT4xge%~QwxtXJKG?MXl`UD-^Er5i!)-SO0iUeZ_p*N^f~{mXYp`dtU3JNIWh zY^H`brN=rHU|4{4S|b$|R6aqo333Isw7>+h*9B&6-z%XGi|8_&TGL4;dkr~nS}2|n zpoujU2stvu0nK^8nwQuIkmrHo6g4-eg=#@ib2gHzl%eNa^8gwg6un}(05-N5GfM(4 zz@x)3=LJ1arU=O+!q6rfn=xlo0O45dr~m0&@jZX|zrzIJ=#ec$I|VauZ}U93(~w~4 zis0pY1l@V=*?93IADgZ`coCRqZCc~a-Cnlr8B7u;A{5~g1KT#+<;NZee24q)*$O%f zIGO-D16S__wik`>{OJ$kU9WjmU-;F(3$Ob8->TPq&Tr*(^)fbX*0MXpw4K>(Vt@fy zr95CbCn#b};xw3`VA%w+wMqBgv&HpmJw(v~TDIn8DcQig#+(TADg{u8%r0q#6h<`l zC74>!Op-<@5D1TAVFWNn>skioC9>^bUP`+PFPSFgJy@0ljC4NG@Tg~Cbn+!tzo4}- zOFQSD0`8c`_fheSp;Q90u`#U-2u5p0bHe+A@DBMtZ3yPs!hx%ouT%<>SYOurWw&R5 zg0%AL$OIGNN(|DfT4~C{A>5mJRy2XSCwxOykts^yIlweTF+~ds8LXuz?p}ErST{@% z;EjSjgoY-Q0=@u~5}h?zyZ*v+0s?*_LkkDRrbhQbN5s4-`3;;gnWyiwS&B0ki|$&G zWI~M=0W6ENo<$BJ=;oal*`q5cIvnQH-JSaS*o#l$IQIPhU;2@F=#w6WLhx_}C`D(G zW*jsP(U&aL6HAZG-#~PCY)m!YhlB^R%c9xH7h3`{OtqXuIrrnOlK`5mg?2bgnc24I z2;p_eV#Vp+$qmt`&d7z!U!MXZ#Ub@p-Z_!wo~aZ?VX|#qW06;_7-C4IsO-4UD!NB? zF;)U&s$2wwMYdICU*f{@rvc?uOv=uYMj6$rfa0oHF^HZ-MhZqEuo$?&m&Jq)=FK)W z3<|Lu*@BjC9f(r(;Vk7~T~0X3Ns=pLHOBzP995mdi;(x!zw2Ik6xU zgY@%Al&6%HSphFBl|K@BV-^UR^JUVQmUAryJWV1KK^msX`415t!2{sI$MBwi`U5!r zwm+tOHZ!lEb|Oo71dVqV;VVD&<@S}I`b1bLy3t(l#++cM0NoR~HW1NVF6Z1#9*~xu zF^jm6cOXI9JpEyCC#{)l>EM*l?&NfO0z{n{q0;`I$rMqHFFhYa@y(6-o zPh&PTqXL$+YBW-z9_D@5CmJ7`+w`BVo%zpw+n+N%@w&j&sL6nXZQx|bGmD7K4_YYF z%Djd3UP-XcVs?lCV8c>!O_nc2wrfZF{zuD;?=G36iUA7+N zLDC+*y3u^^J$&!eHw-W}Bc&FGuuzC$2$Ix9p#v6W{u4Mny8L0K;7i8H`r8{SVMZ$; zZFI%wm99!a68z4>zVd+;hZyxA*FT%i4jI8)-E*q?t|4cpB&Lxa_X7;J!dq6sZs8Xh zXG(cP03I}hynZ@ZId{1rl=EeQ$6Oo0V|z0_to$>i~v|9FY>h?|?AqV#kE8fw$ zn*ie&xm@N}7%mi6xJ6juD$E=w748LGMj795;7KgSGhtq{B3cS9#UZ*wh4*o0Gk>Bd zm>D%_7f1y=3+o!)4;JUYuCkepn#!A8bPZ+3utHf1AFxtW4~#0YMzazdm(vBtRWe|j zy6*>(l>=sn_%VTcFT4n~7g55yp?Opc^sn9{b9O@Za3=85vNXMml*!N1C@P2LY63lF z>yke!nkT+mYiT9UvjTcoizBI=B??#;);)oGubf5*1;)I?YRkc>^YbWMt*a--5oG~| zfsLkbk7|Y}TVkGG)>FB;Dn?+OiITEaEWp5~V!W#o0*?X-8Meo8YO78qmJ`T8UGsTz ze;Eihu4ET$-Lt5|_?3DG^bAiVQ z)q(T17;ZA<*f`w{j-wVK|FPOMmMuG0(7M+9p_qjz@GdW4jumK8dnBRHVI=T%$mr)r#j0}6dn21tJ)S=H#nUekCM2@VgC0pN4}HMasLDoH{0FlVJ6mH4Ilq%xvx^F%6te0=3$ zHPnC>Z9QA4%Okrh%2JF5tAQ^=6_adoUT&lHG_AhI439`6-T>2-s_;UcgMxY`AeGEi zeUpY&t-;11cNRmhiix9sLXl&t=hawMM-Nm9m)cX z1i~BG!i2faA%iJeSBNB=8pB{Mo!SHPv-rXPl9eF12o z1MZQI6GD_Dc-9-e$&JAG{ZC(K|Kj_8K=*H`*#on|?<~n7E=Bn_8V@X_$Xx1Wmk<2t zB5c1u!}fl(#WRIoI-(iu-~#pfPnq@X#}@vxzxDmveAoB4X@<83yKvF$WN)~5U~%E{ z1#B-K>f-i-4jz0$kA2SP@e98Czv+h$y=*cxBn=Qjabiw@aG2TQ)g#<`@mMLr3jr~> zeGc)VS#=SKiBh_9ih&7WvlZ8m5g$EynG6j$g+C4m)AZ8YV)h~7-LN6Em`HKvqh zjr1PkM(JFsve{QaHU%YyiwzRog~`M=w-97!XSYCq4Dt^7luni{Kr*b+8o-YqKfn83 z55Jkea`sVsS$oi0y8y`W!tQz8Za3OHKJI59D*Z(7FOFHCRwROkqM?*bwg-vdA+g}$Vn7kUi395NE=D(tgN zu3aOhq{d1O->bZD-psKp`Z)LBT(q-N%o~db-IfmHAu_p-k9H z1l>g`jl#&XH_65aRB8rAY81^t+ca?}3s-8^LIMrmE2h{?1G-FYyV>IK=wiF~fd_Qs z)(sGb>&JKOS3mkRcE`86acb9Z-UJYFba;_BkMAJ700dLc_lz`&f;9u0&}g9vK4^|A zKR6MS%~;z(OBI-@dL{6QdR4NA6bH5{28IlHR_PmIbn|qt7J*$zAy}g@ zk&rdJZ@ZB-#M_^L$$rak`Xkyu`(fa-KhvBJ?oLAU0V)|sBV_3vM|X!$tuk9d2u6r~ z>FDw>sbz`V1TM6YJ3)#xDI(EmcSPGx&7ZjUBCa&U#}>n9f6f;)UAP+C#~$I%7n(N@ zG{R5mLCjOsM|fT|F7}@3&!xj{Ca=pr5wdjFb_80kpd*v^JY;~kA_cG#0YD|rQL2+1 z;aZ4lMq&)rO;iD}7P$j0sg^jb2fGq=fY~7l?^#fwd~Q$y$`Vou2s4xbVSN&@Az*6GprzSR=HL>v8vnhkEfeL8$eao zbq%rBwyi+KZ1H2Mr3dg=KfnHF+CS!S-!(NWfZQtQW(_dTFH<$Ro!7sdGEpZIOs%1Y zS>wk@>WOs_aslWPGQL?RTr5!zbN8l8K+Qf%T#IYn->2kAS#>+tbst5MXY-Tg@LYo< zY`RMTT8SbE)sW=;buUYv#BU;SUf-?G2vzfr$5M*^(iI{BV6WPH_=IDCr6u-FqlJ2Z z>pRM|YK0T24H!Bx1C$-o)G92jSX2gGYlc8avz%{-z^dlYMvx+YRM$xW)(Coe9tN#9U)mo~0o9aNR6~JIDfrO#gXRlgcvIL@c0n^31 zXI@*1rU+PL`G@8i2u)z~5(^SjL|V=ayfBzWO_ZRu;wX_IHETHUAofu24_U#M(x9+7 zR9qQrRwuJbh3{k-&-oj7alZzDGpG(@x*=qRR0)-__IAdPbYe^SN*geLk!jfsT0C+B z7PXIyI77YXtnbP`tM*nAh{hCOqOj`(QH5~9n$B@R01*?~m_5S6ZGjp%ow!R1O)9O* z)Vna*^owZ-xN_!3g<8}wNDO3RsQX7Zh9T#%wwB*F54EFNKK~HLPa0r`s!I;32KLIw zR^Oo9HA*g^}u9)rk$OPx|yROsR z%Wg*n%982LHx*;57~Jsy%5v(w5UUrGRvUW5ujt-wul0n=c=>d+-s znld37QY@$>7%ZT5B1JA~Zq{1=8UkFge{DZA7UWTeQhAkDfG%z&#Wdx?U%^@&o4L#+ zN~MwjHj7;)X0~N=_N(S$z*Qtj_g0 zYgiY&iiPh(B$8|8Wu; zTkh}LM|mk_a82EFG1y~G^G?dT5Cy;!#kLpFUN%8v@;b7F$LOMg)umJf3kr3J0Xvfk z{UTPDc_g%|7{QuJl1Y8s1%9V$BMYv&uB_I))>oxZjtoRVsb;F4PjYN9*>x($r4r-) zRQC`oJ{nZ>kFx7PWpIEZN1DZ~S; zi|CWoigZ^E2n>2m11!#6%4`?|%rs>l#vajI@@bu5Q+klZDcY2kl56S>q#CSyh&C4w zR+kE9JoWB(@I5c=@aYfF{ptg3gu^2PZ5Lt#$QP*Mij6LV2mp)J4q*2__y7-}c>EH1 zaM)my<*-Zuik65%L^rfH8=3`9Zk#o45c3vj4eT9JwN#5BG&|&uhaWY)?9pbs)5UMz z$?$!4Cqx9U-3DH|vFC|jx07HHA8L1g=tup3`=-BS-~EIC6mR^J-zoK=O*RE%~*4K!$5P$(NnCx6qlpy))8%PY(?c@d+viKO`TB$t)~nrksmai7NsIOoPx( zkT6?U8E|Mp9333tRj+(?n>b6s7pV1){tzqgt zea2utxG;htis@3SK%a;y&FdX8HFcS7LOqOA507m#bEO_WloNPh7SUm99xmfdVF7jP z#oItj^TK_G#Omj8$W0yQm)e!-GOyyb(*aJGQ*vq(k$XQHMpkqm2ZBf={ z8N&7x8v-?uceJ;JCdi3~G{oIP#FfOL_{V%4JVws}faxHBvyjRAA6V(8=&JT6{2 zBE|GBtQOBQ0uuH{$ZZP36hS0nl;KfQUVcN9fq*z+!V-?vKC_1YR(Gz%KzK04@JP2W zI6NGYUE1go(P{uiX2N^8ie#otOGq;)Ihfw305qC;Q=A$tD==5I^fMCSW{ry2%a|NT zfKv-1V0!8LHNSNAYFn0$jm$Xojbr@d3L z54Jh&q7i5`9&n0jYPO*(N)FdZ8jL}c$(h5MJFS^7-B%c}6N(=6Ia?pjqQ_%L2e^Ia zar?$Kd-$HqI5BG{9er-Fs~f}Bi(CEbty2WTS~D1p3IPiJ>kmG|Kl=Ortd-_)WpFEH;7;f{cMgeJ_@ZfERpWzCyOU29Vi zVWQIBMR=lRTi+wXnGZ+{f(Qqvl9e<^G-Dee zV9f_m1lSDAvPWOsaz2#ENZ9pDKK+%rbn&45{LlOf&UV0k_Z-HvH+S6i&I|3pHd0)? zbY$Q1Z$AV;DfGy84_SD1B}8fWlFUu1LIjPteC5iI?tKSN6SNeKV#6M_fPZr!rsDDl zw&6jI>Y5jF%t?ucs^(&btrYmJ_-3a1ky8HZCeMs&h%5artVlLt%rK;(whFMqgFkIxWc_4C16m2#@;*&P1Ux&N zYwkkUM%Cb(HUkc0D^XZFoEZiiZYy^+1YZe~5-`FeYv2K%uXrA8bwL0e8mGzu^-{LAVD{CQMynXT)&H(6T980b!<9cRul%YB=c(D_h?4k*Qo zSz;8w$^qObjGjwX`ybWLS#rO`c?zQ)a|ebn5iC6e&*9P9x~SZ?#Qo(il})`-b0JtU zCL*ni!-=9bG8L@+{jMpUiH%p6&#-sSIFrvjFs88vDtvQN2_wx?Ogz}G0@+iDnKL^^ z$5Zx)*ZNn7&6s0>!kx+zvSubQpN9j(#)>U_fuhB$0!s2B$AniQRBj`N#6(L4k0hS+ z`xE0`6jsi(K%bahP=Hnpa5AufbRkM59iu~U{8Qjt=4^?UuRysquqXJo2KqH%Az8li zTJy*aBaTppV*6AifMHTDM2Ur9@M1x=Zk&}r;`(*6<*5kXUO@M-Upb%PoIw7nDz0ds zfxEttxRMD8-sRwpW`dWEjRrX1auGOu*#|AbI_bqoCpdS`f@8=*Yn1~yAAk`9Os#>y zweDlyQQF81`<*;z>06qMlYUgdIA?hPhy4h%)XUeL>sEk6#dY3u*e1)Syr1D;B34{i-ea$i;meoH3 zhKT$Sr)mH+unxn3!F?n(`7SGO!SIEQx==7;WCftKNMp4gR=uOV*bH3v{IG_~J3fJA z)tSgMmaief~B z=W&>xm#@ZdB#}yhycAj#VpSuV5M_Hch>kV*)_x%?kw{?N5*Bxf;;QfoFJip#i`;OPcva$90Y9t|Xj)$ERLO*MO){quqKMML zdN*Z+6Efj%vK-_z;;_b=rA^wpkH8W|)n+iymN_drx6Z6U!HBk*PG-Z&nRp@1_z|n0 zn-I(a4UKuJ$(1@HhxCK*eMx`d4VUdOIwnmxmZL{tZp7i?#P@ylCA{S~yfWVW@O}0( z&%KD2)m5mg?QjYhwAoB(X2!^!)4kKonD+}Zj)@#Y>{Oh0gJVffGdPd-7^}Yh^H&uK z{*OW+(Il^MnR#*6GRbSIOmLfM)#)cAos1#Z%D>l>v&?A;Fq%4n8R0To6hXGfJa5|d zC*O-N`-D#tt?@U!<|=NVF71Uo8~**LK7je+CHcM^8=a!%bYZiv|KXp-dmp$5*KRM< z<;ydcaBYtoz-%-iFfG0ywW$+=9!<@<9I&JxZ9Cx#&>nyEqMz<|nBdkf8Rbptovjf| z1Y4A-PYn+}6gqR*@v);-dZUpWLB8y>sm?txPazoEr7MgHklky67k?>pUPow31{%sq@;o~}W_D6^xyx+IT-I_vTCs_hV_}bR1rOW0 zghvN;Ubl0rZm9}-F}iSzQ&c4J8JRMfdyM`g^yJK2i6X>S;~cVP7`L4ANztr2os}Um z9T8#NFte$J;NfY7EeLxc>wN^mtrRJM%%sQ+_QJ)BZMWa+Y}v(A&wSke%X^;0t6uXO zOh)YYDOoXea{ys#bR^>tLZYP{4d1eZAp!uyTq&uWvjqo))2EPO3S@;iwUQWE0~}N& z2W&y9$y+^n#0chCB6vu$L2>Pco6N9dnjBI%TQDNrWRzjDjW=Gna5?VTJb*KtiHpJ7 zWRKr@03Utvoz@OE3_-I^bXIt3-DuW5Vq(sz@EsQO-Z^oCkm^L6%Z1&Dg-dvJ3$Hnl z<31;F?d)TG{S$8nx8(k8aUmLQi`jzd{2Khxzxw_7*&q1{9N`K!_Z;Gb@A*aCUT)dn z|1UoTYyoznBR5wo&qZMYqeJM^1~smm26>dzj{&sm-&%r3o7|uVc0a|0B-FvCHchFA ziWD;hA;)fj6RE_H;-KrzuT7d<$cb{h7BK^crc?K=vS~5L%6_Hcvyl zP(YhG>&d#GSt1t;VQEc3rv*7#i)K4h4`6QCh}djq1e(nkk}0DV%E72KO!Si-&f*Mh zGYONWrms(VE*6KTDpXDR5mmJHo)bbzFA=dyz9X`k61Df#v-DuN(hY!t?t&0hgwxT? zLR|zRqNk4)j6%-;L>`VIDpE|TK~m5(O#+0@HY2omxX8xFreK$g&en(k8@%t)cl&m5 zaG@U@9ZmPluB5n0dv_?hM6hiQZGzA`ZF}f#YK^T%1Ort^D1*{K4)THX&O;cYd3s@#R|o*OC)NTR zC`={uIxi?Qe`AC&J@zR2&%HC=_(gxr{?YgRMf=QGJctJlH{j*~1aJmq1`|jkuL@NK z?D(upgyto%BN-ypJEV>Y4Q*ralM{!BX}1t)Xr)YvTAd!Q{ceeiS2p&o|NNcv-}@i_ zz#?Zuy8xWs0Jj%(1HAHR=DS`xj_sy_kwbfrjvC(Z@B_N<@kjXLuN*f% zazA`RFx(IUIh8ZI%xr2r>w6H{Ca!RF4llUI4S?5NnsK3#;gVS>K-?1A0jNN0VbB?% z;~u6CU0=@P!`IIAlkfd7zUTXXNH>1qdtnC~UU=i@w0#RKRd2chY;5wb9(y)y$p}P5 zq`jrV6BW??myW0~vU&>+prS3nQLgI&GQB+F!d3=YhKGbODN zj+Uo2J^ndrR*P_yDk%$}k>alvb*0`ZzvhbKDG;6`Iyui0!03tk>twHVh*lB_?m)Gg z8jWU@aROV=+Kfhnk)k!RrKfBJ$qC`ho>_tFt{cB%pXYct{KKtAWHrqp- zoGy0rWRGUV)q@F-9$w`28+-i2pZH*YeM3alXb?<-qMSxE|7bIt7Id&#gMHj=x*od| zs7(d@Rpx_rMTQf|XCVQUBu{6m!&Ea8|8mW!+h?kOU@Vcu|7Q){4e1lvS2qU^%pvX>qqy z-5-FafV`du1sdvHc*X+ba$BB7ffDkTI)?=h5J0zdMqp*@RY9XMT_y%Wlumdl z%E>8mqYN$_6vD8>n5=}4^>5U7Nmw6QT%e_J8JQ!okYHyPrDVAjm|?i`%gV~B2p!#Z zzHE?V)#;&V$+Z?2KLp=Wid3W4P{4}Y<}|R%VOoi1>mAH0j(2^3Nxu1TOBvTeVSp_4 z8zXTb7Pg}jROa>Xt2I*MFSTd|GpIQj`QG#QRiaF+og0zh4h%pqENozvp32FzAtOqx ziX>gCg(K&y4h$<&m18QQXy!VB0NoHxm9nJadTzHOt7@%Q&Vv((o<-xZy|43;XLth3 zb~6u3)D>1DrIuYBULw+DpG(1mQ5WWx8zY%U44TSfDtqg)?r31n02rtw6HU(lrdC@V z3kPibobvTQK&?`CG6g^MZBOWn@$-x?370*p}?OKbV}tUM-@P$XIs)}Zrz z;}a{h#7H)Hw38WulJ{r)jbULVsDjE+(n9$?Qz&wN*cCN2VfY9HlLUyG&RhfmNA7}A zm*j_Py)XyUca9uoo>WG%DDcgQ(f?yOzdSUUVFK+ghEWyZ2je+xk;c0$K_SNUK~{jz z0xWN=(6C1t3~mMhN@aO6?22r?RPyadf`@~79$ZB(C2)rFoveW>{d+cp?=)z7dP@3mA91@w+RHGtWuLNteGWWeDF-i*3DG6=?a zL}0aXk_FV6j_Y?_9-|f-!Wfo2=Q+`kuempXVQU~53YT+#`TS6m%F(C;nh-kQmm=3o zVx3U#)p1Zj@gP`+wG|MUiy6#!6Ey(EpkA!uNQ*Rp=VHU-+=_>+Bu&L)j+iwx2J|9= z^4EO~qK@I0S4j(V-$XFGgUYnq#>H5{co0m8RC)x9Owj<|&-Yg*xXI`ndZ`gANwHQq zfLGhvIP)ll2Xeqs)UfZntfa=pp4^3i@?}I1I0qZLB>w9q_vlWlY zOfHGLGmk5Whi^N*bN1!dOz7!NwYHdM-zNkGvN?y<55)IeJH-cX%y{D7i}Bv;XNK)z z^krxBK6H6ILVFg?PMxg`QnqZC1Twt;05x(O`~J4687Njzkm4aNz9fcqR>lN~+!C>-FU zlgImCc**vA=z}NV*T3e${@u@?L2S*y=1Sy)k~Cf9xBbLB^;K{D?6`7cvC9wS zftiTK2-{)FV+{|JYihu)(>wfypZZDOzV#eF_`Z+ePkh5S zV1IlE*H2H?FtKe8(06BOUOABk_OXlPt0Dy2v4Cmebm^4Ze7s}tQ|$b>34xA|y>_t3 zGOSw;fnVY*#H}q6Hd*s+4k%>zhSoYQ41v0@WTcT3q_MsZk^oJw7J3q z%{kF(LkyqMVS%7z4{vfyg8e@wGr^`6u4(~htF#2Aw1HpR-w+*(Wz`!E8Q_Xwb#G*UH0I+W1(WfZnps2L%L?WzPphfoiOwcCV@d{f?yL*aY}2%nV;!^6Yea> znKzX0R)trs9KIJ|EQBemOy+GLc6DWuJI z;`1MRMkhGonK`%H1dOh|ctfu;kT$0?7_)K^0B`0&Ytv+L{iR#5iG&ZkAga5o2T3eC zIJ_L7vvCq5*qp0cPiXWOO)a1Rds>FI#2W))7QoVEq3}+H0^O}6O^Cp0+AIM-b6n>M zZt|Ah_mRctIKWN6gPVQP>B%j`)NnZ6Yh4|uH}AmrJB6Q2w2dEZkL;VjhuS`;;Z7bKK~2!_87oa&?;}3)tIyaE{2$+|*MI68@LhlIkJ9&@RyCZ-0(-D;fz8na*x$K^IJwQ~ z;t>{}>ev*LwHsaNlffwM8El)4-u%gr;P0L-*6z6x7j!%t9u^1OWD^+|k1##+63+ToH1JHO8O8&Eu8!^<1pGIC?kCy5 ziEDBAkr(J!@59NVL=%IQMX#oOfwN`VwMVs}m#}ThoD?)5@BJJ{GlDCbe?IY4TTxfG z^6&6;ylI4DGWc>{SfOg5ktCyJnPr`pz7WpC4jiK)&W`!Q0$hISS?Jlv@sYOS{_I!= z=dEX+1H6ONmc*1I#CfJot>zR9orYMJ6adUk268?)gzr!7Vuyjf-jD^Sz;$v-IId38nRia zK#Bbn2?saOv}60s^-%w{#rW_ z2F^s4_zjsf7NG#uHjBbBR^Xqjz%%Z$MKvSPlOV|YsbLiLsSYStjzUcGx3a!h9k*4u zSKl#OeianqkzINLYi<4hqjSAr_f)c5u1|uJEuS}u*CcQ_{$MKqn}}W|qynh^p*$i3 zPEdz^EeL)o7|0D^7BPlm-Ky<9kI--T-Kh81%?tegg*UtaApU-2u+OF0yU zI|X19hBtlb#gQ3sK9dwM86q2DOYo5IYK476iKCVsatcKXr!A;Yg=-MP!YGTWTu);P ztkcp*h@OrXNup$-Ip#WMS5fWk)iS=iQ|kAeMX41~&U&UCntN_RMMQN7B`(7O>@)4P zpyaMv459aE(az6oP!{)N0Ph;qay|lDzVpOSy~s2bh6oIc=P}Q8SRn=KU3Ng`Fga2S zTezEStvyor8ly_g_)CE~QxVk*2tk+%uZaXr6IW*a849BbkF~D({L1>G;sTMF>XgGy z3fR>MG-JZIA#FxdCEmcY^HY9^l3}g?SUss2xv|rdht=DW+tTv_16Qkw0a~r`6ydeo zXngcrJykK*}1#k3S+dUV8qq}Y+D}2Ru^^-$gors*Iz>jRx0KJ9z#ScawtNu zmf&aVEv*rqyJc6VW z%EM2UJg%#qdmt=H0D$XEjHot0M2#vNXN)6e)Lv9yfozXRptV}z3}shUO8-@v!GxI4 z!)7Hj6&z(z3fcTJ5mDXA=k1u8@D%AItR!4^1FZZIsBFi~1aBCBqg;}6PvxK$0A*d; zfxHA6V6`y2rGAr0{G6jQ6;pElC7aVkfjjDXmCQ8HOd>@aQZ)Y@AsYm$z?|DWP$aNQwIsPY2p!qdk;Wf z0PPt0ho9k`2E11`iS)TW~yo;(JA+h@EAtxXC?dJG|) zQj2H?LMJ`YW;kUGTQeEBN3J`PwAll?AX9PFAc!d+$p&h>MBX;ZT@B%jD*Rg-2N2Zg ztqiFbK@>SzkddOM`Uv3EQ?w071O-pLd~HN3%o&kaPZCN%nlPMIY|pMk%>sKuW>lKN zBQU|H93U`Kwgz%DO|Z?Zo7Zpg=IvX!@$qXh&keh?Q*#7b_xw_MTjb9kWBOmY z#HkRXCU9|h_SmbbZc7QY0G+TI&|d1Xn8u6rmbq-DYbtn!5WGW;q`YgI572$lhoAmM zeA1;)uWDe8NlyW2%c0L_# zFat49lQquRYloZ5jkxd1gT|(uRn*b|Aed#hFAF*rA!MnjGgDNisjMgylQ1Y?J9hvR z)J91sH8c5cZ-$mGdRRbghAWH^qG3i?V6ToX5B0HUpJ%9}nPKr*`+0@zI{Bh6`BMDt zfAX#E?Z0#b_sv&vxg7#WGw5@B#|Phz6L`GoH@$hx+%O`b$)qLSsy_M)Ps!17@#q4U zC28($t1*|PL}tH06PCX4{U3Q!FXEbh^nL%q&Z5i9f23pAbF_(7df0gg}_`!emL-@o`{PgyBzUy!6hu`*Z_;c_2 zIqXhPbouI4Uff=aFtZ+eGMRjiRwywlnQj4w9O{*fAt8m?Qb|ULl|Wj$cqLjFYecPT zI1@9kz#AegCWJXCgLPzk1=5|VUkmD2|AKoTG5gF4A&-t$+TT^+VtI4c;Go*@R1%vuH3%ea~gLm;l*!>m+6u6nU}GX_OH& zO#9eldF}(k_8|7tg@)dVgDs*>LbRYr-;l5);NmRKt;OX_;L(BDwhBKZ7Udnd2KyX( zO-<-hT-zPvwb-P-*o>Qc?S z&P60YFT_7HLfH*vWhI(zNhZ1GRns^UyPz`Yps)SAuWi5b)3Txb=K-S@= z8bDn-$*LIzz?ZHi!o-Gs2fDf7!KiK!Vu7-7W-~&T1-x0}BQt=VJ7xsT8!#cv#N*R5 z__E6yg`NTnLwwi&{M+rB|MC&Le(ZYS$|0LUx6bxC?%XCEq01h)ihuQUKTcrOwW)|C z(g;ZkW95$&VMd|@)7-G#9(-@O09Uig+)(1RHk7Ne-dZ{A16T*YwgdpZ>PjK&T&^G{ zN|**f*&Ur~3KtBeTm`&t0P;<{p7vMRFc$WvQgqdQ_>4gPv7o(wY5Wl zH2+CJZLOoL#$hURtni`6vSis)Ew4efaA{EG1B0xYT2rS1n z1iac{r&9h`I+?&ZQLf&@nXT0Aks?PHpl!;Ub%^)`KrM}5d)d;e4VMS5?h@kpan5;Y zg@xG2xlsSD;{W1Y$QT1h$nUq#Iza6srEr!_W%0xG>K~ce0G$gIPe1%zpFS#7#z1RV zQQQb8EKFt)9$I&LcIbmire!C7{&^3rC`9hiN~l($XPlF78klSTd);@1rRJU}Q6mZs zpy0}Z#$7dMCUSv>%RpEOiZR5w`59?H+@UCYDGR`}%ODfEiVM0+Of1!C7Qo^zLLi+2 zvyZUIii9}sGU6$cFf7$jSSz#I$AOBE1e*^aF(Y0OO@w(m9bjOZ$bH)iGaAIyus=#{ zdN`U?{EVE?bhykaR(6ZK1Qy%shEXi}=iszP>R9Vifv^2Codg{F|LAW>~%B3gZ^aS;q< zdJ=ZojGq^f7r<7E^U5Xi=OpfDbvYO^NF)oBfLmI$RiNeo$_5*i8^tg{<}!8$Ql(!Y zqCpt)^JIPVg$(fhTve|1?^^--Dt2<*19gj*&5X)xf4q<+7OVm|i{UA2^#q;kGRQhM z{mC(Gf$H>Mz*;YR#4|j}Ux{^&Oh8j3$fHFB=Nw)E>>mphch4m$8BF*fZs~1%S zLfK*QuD=gvmqU_8xt2raj{2TSjMN#cu#~@@31*s<)X!k8kBua>Y6n(VaJ>yLLWjr% zV0`a{OR&C?lHO*3wb5lzNybPVYwuNqT8WOLlm-Lv2Z#y9mDjT5g~`fFM_euU86Z>j z)zYdAmCEBTzok)?h~Jeg)mcK39Cb3Qz%IYSmY04DR$LT@5kA#RQD=ac?HYh`!Oi{8 zBrQfaL++m*y5rw5Zig02!Hy8+wIw3ewzR6k9?|r;Om|@mqR_$0^1pm?p)Mj znqVz3!HQugC56N2VaWcX9OknZ7$J&uf=v=QQ)mW51LYLWdUfAYKsI+rFvU^q9hz*l zb6kaNuJfH2j)_gt>lG4ey&8Z>v>tRL)Zm;lF34f&W?$KjfUvgV7Jw#LYw+F4zP-88%^xm=G<#@dtibfACY@gp*sY3->ieck4@F5vBz_ zGEpR?Agf>0CUZd3jc4yHr`X`dTYGpw`wg)Tpn1hWiZhbMcLy;8*9dHy#RC^)XD&SO zaE6!L*MR45K%e}|Enm3V?dfa62GN_K5-(xLw9GlJP*(b7AjvDO}TmyLW?4 zhto#yz5PM7Q{h(M!EEOBcup_jrRZdvBj9qFro0Ce=LsT0EheGIuw)OjLM+tpPKprc zCNdZfvfjiz_Jg<(#dTD znYVGKXOc~X?>ili?dGuky|4Oq{j(o@E8h611Gn_bYMKa0nx0tEzmY*nxunA>062?xA2K?e2pfjc0q_VW8Qpc3bX(W zX9Tw)z{~^~!#pT6r*X;@m0Fg71I^CP3};LD&6A*Lu>`c4!an&^8~^ivz_Yyfo z(7_DTUQa!Jlb`s&RYQbo3YfvwY;%AcJLfAe%<Y601#mZuY66!$t~`me-U{2A>pt{qAa$mSQ>x;xcX!;LU}1= zn{=mf8rnx>g1YD&_d*q+wVe=1)Sf-HdjNz8pJt@>nxqaI`>K3N?XubM$FT?wv7HUY zt^(c-^PCeHc4xadJG(=|Wz!aMwub}wrZ0YTyF4-e1NR=yezxcsi>{ySdAQx+ zN(5f}@J0OC&p(TseUGdna=@&CCSx$FpFPL-02C?fLf;&0j((+W4xUy&g-!Hc;2ofJ zP#~bP;6Nnc2Rj!->0tt_`Q|C0s00DL1- zDc(}_X&3@TAT+_)3;fC&-G(J`VJ-nb7ojR=0eWLu-qb;{TnBSv3?d>^p$%jW>tp>e zwnG8e1y^KNJyjN;K&mM}uM;V{4Xbi+B+7}Q48dhqLrFQKNUIdq_zJWR8|B28@|wx= zJ>51az?;xK5an5IO2J}76n;{PJ98f+8ju`cJ|6)qkz}R9DNrxpY_SBP3V=yIxn-Ej zu$8z(8q|)(srw9;pX;fNXOSI=!6rVrS}p}Km@lUi!z!_3&gZk0obsq*XJ9P`oYQhC zth6W|w6=DFuZ3Hb{f<-wQUt&munzVjK+4-cQ=C%pYoIJ8GUSlr3QcAIqe0#jAuuYH z9CrlQuo)US^EvjI-7$r4l)!PQ>sjj;)$ziz!z!`ViqU1(IZJf6TE$L3kE5s#h}0#N zYhs>-K%BehDTxXe(K5)HyJsvw`3`ey&qgRkM**K27tZJbtd^gV z%SGjQg9WZh1G)YcXw)<^opP+KgI9nqXc&{!HL{|Si^8cWgbkf%L{pxpIT(^}S+^O=BNforkpI&UK1P{6h|FNo<6b&!r7= z%pmUwSif|zecQ?I_$!LGMJ+z0sy<;*;_qu*B1FZ4zy9M-x3znz)25c5 z^`afj#E<;k$MAc9+b7sh|FO@)XZ_uuMo%X{2%CK6OJtIdjc7sD8E$A~1gr_(E3!o$ z3Wn2i1bjClS{S=LLM^?$U9EES+!mQNM2dn@_ingn2kR1g_V5KL^<-R7BjG{u7AzqDy+A>isEadcqzH~!?GvH$ZczYfi2z&iwY#!zL; z?tT3m@aUC8eB`+^e%ig0wv(qXxIxxs(s{y=#6%O>CIR@$zx@yF%f92xE?v1Cy`Py0 zqRp9POaMtHkw5Md!;NR(hkG7!{HMf%JNSYXtbn&c0*EBQqR^hD40{(I1u!OQ|ABZm6TX@YDWlaLeHtI781hY zm~xM&jTXYoXCwk`QPys%Ttb#)pezBM?kFuR&|NITjmS+=6&O_D zW57Wf+B^}hP3Ye3rRQ%UVu!vP%)ENRZ zZQ7>1XJN;$|Ek~4pZ#qg(DNVoIN$ruU%-|7FXLd|g4@RZuJaAQ=`*?APU^k4Hg9`Y zri3aeMJ6SPC3W?yVyOpgp3J?gVI#;a<8MkzB4#M; z`}Kd0f9pH{5-wc44^P~C2@gN~IQF*|F859C;8H^Xn5PLrp-pLoDyVt>2OKbNS~f&d zjA|EkTBC?dSMJ3l(<2ZZhldyARgZjvz4m1 z+~CgfG0d3W$pF+9HlevHo0OpkG^0`STnOg0I9DSUptYpVM2EvL0aN|68xV^og3=G~MibL1cQJwo1W05R|(Rl-ai9zL#A^z_B?n5ZlURiE(7B z3UEJc%?U}u=Kdp|`7xpk^1MMUN1vi2fCx&df($2QPB8U?if+k*g=hp8WG9XZ?3v)2 zL`!)s^6oKYXUIa6Y%-&Jh!%7gLQXWsiH zr|j1C>k#Ohql>1#XBF-=3$Q1s${5ytW{k2&v~*8OH5yW&qH1Anb*YsaE_3E0l28C{ zCgQ^6nM8P0+jL|A922-94_g(hYmfANm@6;^PnEVssr`xL^h+IN_`d zXLn9;?bA40q&vuWz0 zHHEng*n~V9LLmp(Z4yij$ts7=>4^8<=YHj7?YqC}Z|cu|;s43U?!U+nK7A7x4kpni z*s|k)dEpk{^4LB2qkrSiPXF-t|H1GVUji;)8R`KEG)9tH4$`CQP2`N8-Z})x``)lW zG3+~*lO@-z);aZYG$=~TWdzZ3;OkgxpjwP8p)~^?=nEzaLbRXy!29_npY}xle|}uZ zWRP@yCnIUEz3)=|_}~4rxZ`1w281Qn41-{1hJAE}8g@oZB=!>azW8f5Q~M+T{NLjr z{GmS#KKd|Hg0knT%2|<-$Z{iczI=j_NV#|bXbw4twa>W{!_VuN0wjxF_sm9p6{#hB z!78d897;}vAv6IUlnu3IFC}~UP{<}ExNKfu)pxNzd3&4 zC*FhLJl%KUg0Amx;klP~cIULiFyZP|>Hb&T$3ODd{$DTxhI!bBrvry%-a>RFshj9X z8mF4s<$JFFd9forrohxETi~7)@2K?=t>&UNXsX%^0Lp%rn8BWQk5)B_G5xu#h|Ak< z1yD;YXXiDljXEQ$B;csSu!5n~xvY<+a8x5g26KUJN^+15o-YBzHh9==KtgAY9O1c2 z$vkUcfh*P!AX>|(RWHAt;w=r4Ui_s>mwS3`k7=qvwxv#`S&Xcc#Z1O%)ezO{1}O|+ z!sw1n&~C+Fs&W(rSc7_DQY}f31aK248p6c1JZbs=tH>lt5CRy4MHHZzA`xGe{!Ovo zNdvJ@!#l2GOihXVM07OH`3+-`U9tZ89P2WO9IksPkRYgeS?89wJB$3#C^&`<$s{03 zMmsFO#RQlkjw+{ABG>%+pb zP++&}IvbK0jzXPl!M457 zc}jAojB_my*|4@A;^;xxWrb6FQGjR#?+!F)M8Mo%tDSdN9*Oj^mpHffO!2WQtSl@3 z#8BD@4JtqzSn-R*PzcbGLKf8$kHN=LohQR(gJpTlwM$^k4VBf^RcFe3LxXajByvBY z-doPH$Xb_H-`g7KLr%G(W`*?>VSo}|m-7t=u9}exR8O3EMLqI)G9KHCFM&yRv~qS> zu_&)zp}R$%s*q-=LNTW%4vY5ef~b3aeD}40k9ECO_+sLCC2D2HnxL)ES5X5YVp7T0 zh;jc0RwZt5{j&Lu6C|&nSpO=}ZI!v_g^2-fj$l7n7}NuK<|w&=1_)ZW2McH`YmnN< z7{2(SYy*i3Fe>G2GIT3WmYZ;ZvZcxyfA(CNonPI^`n;i~8;?^8RtKV59Wv;8K4)2N zFqDjQDU3&Zoht)}(Q~+sjms~CP^HdD`;0QvK!K(@Z$m-_FRcf-o}-tSUX7kOzhcg< znQF1>d6S{c7T$VD79;E`h58D41Lg6yc1nzYq5_M~-%SyARTm^&V_g;00j`W=9`soE zQLL?K=Uji1I+L&tPZ=#cP<1xgT|q8QJJSH& z7hZPir%Hfa)ev=R(jTLg5##MmB05#;Q0;t(>>^PVI8VevpbqRHABf6XiM0(8LV?Zo zylVgehJPGmM3NQ7M2S^bdmGieUjv0|KMj=zGy7}O;1cp^$7r$Q3hqY((2G^KVs}%v zfV7txyD=$`WZS(w@=$}Eb2AOKMuK2kFW`|dHjLrHbx8-(Bhmmx6c}FTy2!e`G=~a< z>)NVf)q3Hu{Po7rU=TKvf*AXz2#eI_Rr_hw*-ZkYRWf2w&MPruu6Le;bt7jfKox&9 zLQEy2=j2*8EZ3kYub9z_AG0K0eIV>b`T+o&WzDBl4rDyb_~B#ygo;nOr$&6qEt5oK zqp!7C3bX>C!x|WHJ#^*LpZWN$)88MtnFKMUp~;8~C+qL;?ER$)>x4)N@(8vtb`H-- zl-7fgEL;8ogoR9^%Nj};f>a>?v01CYwHx&kuXWWms3n2Q_i`Fma*ZGyz1 za)6F8S1NSwy(uRXI0C|n)*{{bs@P7S$}B|o1aq9KoU(Sdcf9ry*?WG)@&14N&-L0b z`h%?GgfhrIM|%mA{i%QU-SKt5 zF|2=7u5781&DvZR*|3-=F6$F+&hOMoYkCwmDDzCV>QCfnm`wn{?j62#HEwz9^b{Z@ zE%^#9l041ZF%y%lN&&Q>WSxYft1pY>*}s+DX&LL~&J-b7eh(7SNh)BQ^f_~dOhLs& zLj)NNS&(5eQF{OuIO(0QzWjuK;l*D-zqR1t%7)#7Zi`Hfv_Rh@LOZ)~|CM;f1DE-l z&wWkKY0NRkIrJhmoD$8*XbO1F;|YS35Nd9rZl174u|$}%(oiW zc~e8#|4>?f-@ zDQjkH=`jfuIqcqkY-Zi0uqmI2r?DG}k(54Vl#zx#48Vdak^_-LLR)?JE}7^OFI~PTw%3Ah{Zs$D zeceC$22GQ(FP;WRA(&htG0M|*vo#2&ErK{S%0qqGQPVVG#jJ&WI>?LKD!LWg%n|WmI)iNUjt!I?yz!2{6#O1msy&SjgOW2!_m+ zf}&<(6X6Im+2RWn!pmR&82a)MZr!(FlF?Nj~)1pO2sV_OFk7=f*u((dkOM5x_OaGPz@KW^yi^e71l-c4H5Z4wLaf z@`Y|5A+}}Pj5U7zr0EvnRF|WMib_qya!k#H&9QxBl~w;M@QG zf8sZN!KdMwsbLASMPN(D?Nhgpo^*WEm%Q2k(W^g={e!;*`^?YH&Kxix2kD$qwtOBD zPGbwUaA3)Zt$h#poZ3ssLEU>v3=-uQQrP4b?l?I>+`||NvpQ|L>0}L2-oMr8szgE{*uUcvpgNbnz zkRZT&0J6ypo2q|Qv)+bExRN@`Q%&yZqVFkL+Dc8CtVampdC5%H5_efTrHH<}V@Ae* z{_d~g{`N7RdhQ1Ay?O~3FCXyc?K}GLv$t@82zj?RJpLem_1P0VbMt0q<3uTYQaI@0 zL$#q$I*JEiEf#XqPOeZ3XA}ltCFV<{w2~Y`*1GcH@=Fsoq8xB!Et_o^`HxwC2Nm+AvPts1C|JX#^I4LxNX2&*90Lj+ zeNJ^gP|uP8Zc#vml|^F-?9K^-x)hWD){yS1EXxz?N$xpCimj@t>?AL&#_}0cv^T+; z%BCmhe#XFi6xG(8Uu^a6udg7bNXhECIt?=d?#Rz%qBnIb7lD#7&qm>*vRd-$w&Akc z*RYNZB8Az3{C)#(sUTd%+bFWw=XhJE~9Bo17qwEMd)JP{MGGZjh3WST0g_8Kj9S z=&-05SK_;0gSQx0L7rl$D9@U zGDucRv2O8I)hrdbSOfyspIa;%hoGQZ$}9Zb*PaCJcraJi0YQWuS!sn z&z)h8b$F$gIaT#qaGhvV8#p+=S-oh38p@*%B~oa~ZkMM#0MLeSS_Q>Ctw1O*V~rP! zTw?~L^3bZhI_tYq!?)T&l^Z28m865$cVz`*Nb4n+ips$zAukads&%Xv->OHiuZrQ@ zEJvW)f~~r*N|wy4jXa#WUc+h#)y4#l zgRT0`=R{1dZvo@MY)Mt~J-{|bh-p3O0EhA8W) zNK`Eo8e7-NfFh|>0bgSqRWefhpt=YU!y+qV9lZ#_N?;Q%$#=D?E$Xrzg#+rc=alg` zZOQU16RbhYthTh$PE?#saIHZR7+v<|(o!~R`87Mz13%*tOTmCL9|yVxn$l@mBWYyr zQHmIYq)FreFwcwfybC~eQ3zoTbg!S2Qb_l}!RFxUgL!)XME+1En*;>YFu1BrqcSSf zT1F@o{LY{HIKKL`@5AknU(knNyn_oDF3OF#vx_*|G+aNE-uYus>3{x;H}PX9JHGX2 zpK=2yhSZH{LWE=%4xbEMa@g?1CXp5>*A(SE8c043g2J5?+?Q_LH0~8B)OReCsyM27 z0lBrKI8p?_oU>z!#Cts9CYxN4F`Fnts_p^Hu`Qwq?t$J~o3i$-R)DBI3IOn!$_5<< z*31!Ix;*2;wDAA0kNj%r@yEc;#mw2f zSElO>6PS~1(;?esfcF-li$TJAgW!(Y6L(7>t4>jfuIL6kuxZn9wup-`X%QBNPIl1A zodyJ2Xpzf==q-CNU`Q}DJX%9^FlEjvSG!P9Y@~+_mU^mY9kB$AkkR;)-}eu3xDncH z@*d1ED?|!wqqcH`n5>LaLeP~ZJR@7Mg#`hzd*|4=qYGa`8%UoV|NT|KK! z&jJ`cg=3a~K0*Gv$GYh%|`Ir_L5uIwAs#ijxmUbKTd>17UhJdAa+cI|r3koL?|g~e&jqDw-6a|5?o3wH1M=KI8MChI{N1lpLn zMon45bS4$49u^>@QN9x=P(dep3mSRlfdg1HE_7%SWM1V~^Bj`q765HdSH2(pcRz}Y zxQGrHn&4Q}W}_2whqY#G)*(p^h9$fkYzDw=eUd^8_v|i{jn)UzOslx8F(CCM-pP&e z<%geufAo+48ou^>{$xy3q)7t35k%1FX=PWHOwdaU1SoR&W9~{Jg4UY5$Gn+My~iK_ z+CR#BH;)p{aOQh%=M4;sr$79hK1;N`mkCNPMcTiig;7K!tue8T$g$eU6%-{Zg0X4g zNeyW4Y7R$;p-5#CXPIYlDutOKIh>Kn1*9&|Zb}ZwBN`CS;(^sTZ`k%gL%4yRP9PTU&m2nxCu`U* zu8%zbLYtatnl}Vw;en~O_QV5M(bodX0e@V&wczh zUi0#+?W_LspV3?Yz*iw|+yL&mDlIj&D}-rc@w#auOaYx#S3*NO^(=f2TM%X`3=y)z zA2QlCX|F^MNZBKaq3cf5?0i2pwinhAFMB25|4;s^p84)?#vAWHino9CdhnoG%HAal z(HQD9-SJTCVIMfX5dom5^1fv*&c;SZC^i$!ku~0}(=$Bsx<~BctCxT{b$js|;<1NI zhH3*4$nQVK(@ZMaH_i(Y0`RUXwpj>U6)&+~#-->e56&u}3vM6+!KO_E6$V$%wV9Md z9<$}Zi2^%^cXrkX`T8dsIwBBZM#F3q&Q5MH`e|g_jQe-}{@>6Z*lh6jcm6W=%fb+O zc)0B!c;<$E=(!vGgolpozA>;3M@)Z7NV7xd)4vAB0&qR%^b&p)*#PLf{-Alg`EeH zO)^E!anyYSvnk+;LbS3~jqJ3p_VNP8D~zD<9kdcQsxX{N?8wT6Y^_sm2t=y{MF^^S zYgx2Kc8?EWyT}h!ok$eO=_u809xE-(t^fhF5>`Su9|&7OV_|S!VoZah8`pUUCcq6V zHf4jnfHDu&xpj6__r2PL22ZhBVFa$4X{lVRR`nXFDrd81O##uAXjhR2Ls;3O0QD({ zqiS@4R9Bv(r~4LJoq7eRD)ZB50jgD^Yo!49T8GT361>hU!K@+RRX7nAfEC8b!4(rl zwv|2y1o0hVk&f4~TzGWdli6gGI+BgTrDV*b?1!u6_ z391ffiB*B90hs+5rxGRKA6LG8{BGr$1^a$ z!*CZF!qFJTi%`n%p-<260|TtHhTUeI84d?cg+~;OG-?o zq2_F)?RRE`=ik|__HQI&nCBp|VJm!RwfF%G+nws1W#xi8YbwkyFXi)2Y1SI#jKsp; zGSg3CuIkyFplEeHcv5pvnN(!UxrNn0=5)NtR3tZPhD)n>Rs;f=>oHc4t>P8NaNWG7y*6pxwnf{gzZEgXs=dvB8_siZ4eD>I}m{}{{SW25Hxh1+4{p`*pb6` zYPTh5T5Vs$zrGd_0is~JT(<)BlVz{vLV*ZnqcLuhFs)!MYAsm^-{`V12+>B>A1f1W zsP~J?t&_`H6C#2b?Pg;@$9YRnes&DNIXB)48sM%pQ#5sro`9W5KAsb0rz9mIo z^3=E#>nz~>qD&!<6%aqp&$y73?taE&-AbD+XO!Jxb&&($@Hiw(O_7#XMGX{S zjS{zxy;6y#?viMi-H+-bZD0k$RMAHhy!`(%(ZqU2#>|Pa+|+0rEb8WbVJcR&9Qa!# z(NMKTZt(JNJWon!Sh3=&~n5;P2JF$EE3Wl3dq z376fH2=pRMM}l3kH?+fpmoI)Jq{5LifY;kYuDX>br;;_S=g$A!k3NYTw*zl^?LGeD znSAGHN86?)V5fVx%Ln9>&mG(U_s$RKd;Z90>(igOr^dIrrle%ica9|jau0}TO6i0l zlEXn5D>F8;hM7V`csYdSG$>@RKsL*d(2?<~nCqpUu6Go93HJ`$2hb_?v@*1a(I5>i zq3ATy%QY;`enuCj3Fbi|VnKR}3-U;Z{(v0=Se)6I#mWiy;42>_-u2`Q_R>c`2+l;f zLu4Rj&)DyGi*du>_gB8nZtiHOJJ4oxM&s$7y+X)I)--w+{|rcUH#S5wayEh{bHJ<_ z(3+Cbnn|0`+H7W%MVpP*LW0_6Mi;OI;SSsZI8E2mfvK31M1MWOHv@vE$qbw}pfzIJ zQ1cvYQ&UT;PHVxChr-}Xq}BL5b04Sr$KUz)@v?gf_b`w3N_P?A*&u@mXeWt5_5}bU z8ria-AQX#YQI3{b@=*7M>y6^d_n%&pc^rDsdS1Z?%10e&*@D}x| za|P;p38<=-9JGwl%SX%RA7LLkOxOhlIH3fMiKnkFVw`NoX5QlP@Bjw~TXS_?zI+*d zIm1&Q{h00K8HS?ewoIv7#*vDfd0SH{Y`%OXFmYU8%_t41dkTID~DN2;KtRh zOUyzc*NW4`9wH(lJu zao_wfKK#_LKxbVxTalzw8%Re8+@0>tJ*w@QK;NW#6l9517;-TEsTnSHAX3FAsMXEi zDN=CDQHCPSCH6%OIJf{IhlfEO*?+QhiySl_(=_AGty}uxpZve@iVLsD+3^XCvjQ^p zY;ntJ;jX?D+{FlRk3Iu+*R!c&Mo48@%QUuIO^fo`W!cKdu3f}#kH;T*0*5es-KYGa zCQUlnOf4BwjeA+XbagX1=$M*1LW^MTo$3+YJLF>Y1yk8!{>?A{4!eE&JU;bhZ$Mvm z?8_coYr4oo{lpKxBO5cD(3c**EOZY!^tqKmZFa=+fbb6dOJ&SLKroCn)2UjF!FeDsl*wd3Oxy#L7$;HeKkZGbU( zmM*2lmRWEhtOd!OVqtVsDdn`Ox@{mY8rQt%FcXhbgAByPS#oM(A6X3afjm}TrN|zt zF_p5YkOXf#uycV2c;eNs#lx3pe$FfI#}|FdEAX4&^jd!L=X@f6_gg**U-CJhfZy>s zpJadd%idyN`NeO+SAF4U;=lc^Z|0x)lF!wD{{^3}w|wF&?2*eGEiJS|M3)QExFxg? zM>&&a8Bt*0sBFA+67-}7Lp;PQ5d0C|D}?s+ms?UMSgEJ)dEUulpcfJ(BX zUS&aQe$PUR$>h5ZOFk1GVhJ20;F%E*oIwJa*>I1J@DAVacyjv~XU8`n$>1JudDY|g z+dls_{!_pB5xsQ#gqOC5JUTR7fALy-=K2XY+YL@!_`=V61n>LlkKt|q`6&XWI?h2{ z;(($Ol^jy#{3W<-+QdVTKKeDgWe1Q925g86M-6I)Csdd9VE833ao<>;Tt2HK3056% zQ`WvK$R63$gH)T6thtAI#)l1%MOBDIWfxgEorAEY(4I1cSk)+2Ui}$kRUj##R$cp9 zpe9T+5TW84g>;9o%4SsE`O$=Et%!+U&s*e!RlT!P{iABhBZ8^0hXHURmE^MOif=RA z#-L>bY1#2IKv%0Sgj_LL0lq@^?2cM&99^lM*MC)T2FNXtV_ZQSgJ)aPXm>7WDm?%;b zJyw@Qs(A)NnCj^g7AAm@`z9(RG;3&KEATwb`jSvOKO#Y$8{V`iR4BPZDfh!rY-1%L za@es-CzTs_V1vG{U+&+;bkYhuMSf`Yyez|P=6+Be2uG!dqb7>PrCQbJt80dU*78p3 zwM8XI4z5Mwc9HAlN&&ATGCl?{)EHS$6sc!`4?(Rbrh$Qj64i8-XUl3I=3uJGvoah+ z%nNtZN_s^#_9Z-!FFsqGv+c_3D2@F&b`%SD`L+KHK>wVZ2D$#ZsIQfv!WvaDW^;~? zdko8T<~jFDq5#7@j@lq5lB>>Vu~xkZ1)4)xZMrLl5*3$#j9bj1rPeLiJ+K zV`^To7)(}elqUXz^(L%7zvrSRQ!-cix)kt&r$rdVKGE_hS`2}~&~Q=M`J z*7iEjcAXf9f<(}3C`7%3HUir@5i(GTA>=^;ysKKjz|(UZm<;q|#j2v8SL1&X-q5?9onQWrX^cq}`DGD*w}mDSym{@a;6$j)2B!i#Lm$U13& z+L;KXlCQqUI9!#gq?P0d@+0`0si4gQt8o_F7rLf*@MY$WF_GN@Hj#5x}s z=PBa=qW0L>qsoqgio=N2pOPzylj9Om^vc+ub@(j!L%oVREY>wBx~7wKv;)X zRq~hxMP1AYbO)|pJpAE_wzrZjnWVH0%tkhGHPu132&XQ@pcW$j;{Wpj-0HzMKXIX5 zyM2n|eGu#jr3&?>4cKKGHyD4$fL)lPFvfrk!WaVE zHZ5(qW;WtKEOr@Ejts6tlF%H0{N#sEt?wf2zC$!yJA~h7u$Cn+p#gv=p=}3PBF5Tr z^Ui_>#vlESzcL}3dXt(+E(^8W@7frOum7#TE8q59)2CiXjz=SIEQ1%1FHEDA`qGn1 zW_Z+`APva|L%_oN3TozDqru0JY>m;l&y-K|%{zCnYslV#%PyWYpe+Y$W!V6-*|BvW ziXF*DB*UJVh61S(Lw4GUFkO%<6&#H%5zCUhWr+~*=YHMSQ(e0KG&C%bvPjt_teAFV zNr6iha+!Vd=NL-O;*X1$k5&3HF?$u7&<8Z!D|7WZ(3)Tukcn8GW*`|_;i%i@>S)n6)2lP8hDeEC z50Jqzq#X1fspRlPjVymwle}nB)wPcGGVVO{eB8h_{+6%(XLHkjP-~XjRRvH9LOY=lZIU*PR`CP z8)(G&{tR123_+e}$9f#Ref?J4>-X@de%*i0hCu9hSSYlpmZJst`<-FkSkQJr+fn;{ z!wy0$fhBez7e#`x4~&-VP#pV3ThKvfmt5(9z|t1(mjFq%pmvK@soVir8WuuJ5YfnG zzvI&Oz)5I5B!0uoU&T|L8nLth7kUxyZi#@fYmE$Gxe<<4t4E5mg)$}PEGPyN>F4X-CTm%Mm%5JOYLIFy zIZ$wrU1%xoPM5^NZIgvvgMADkv+b6q)BQ=dWyz&2?b`Y2I6pnh2=emrk*QQfLog&J z8iG`6e{zD>7QJ!rO&r$MI8B*VGdv`PRMUP3wC24K`#=!dAr(tx?*>2%{0EdSo^v7t zrAC^7Qx<$92{}duTo=!CPHOX>&EXQMN`)bDNr0&jecwMBKLAlcuD|%1yZk?X_-F8K zKm1eiw}0q^`0gM2fd1C|enS8FCqINA``9P)+rRJq`B%Q{pR{lO&VL+#`fvP$_=A7x zJMsI!^?URKANiC97%`~q8O%gSq7U&bW-|pV=`Tj}Qie665B9zihlBdzm=`+s0k!jH z-DHeJu!^rS1aaWuWw!lE;JLTykNnO*ARI37MNgmOnCr;C4(7ng*(vTmyc};mQGDgU z{Y_Y2`y|Hek5U&$>GH_d7zYhcdSwO=2V_5vap*X%2gMMtKYnD?l<-nW)eFh3)34_b zk950osiv$v8(hfv-Hn8oOVL1kBjXFc7URSJ2=DzB{}1+&`E_r(mM`5oIu1M@E7T95 z64&nB0Jsm`zi)MZB9OyAu%iP#qo#o-t7sBHRr)K0(F0=`0jvc)Rc||sXV;aAQ7$n^ zO2lx(sb#m|kcl`wVeWV2!+Qk+5KG&X-ZT!HoD?3cwq@@t8W_mb;o>nKJ$$2p8RqHf zHU95^=(pnX{-gGDpSsWMr#oK1ecm5E?)bpZzQzT?XK$Y27r%0f^Xu2~b${aft5<05 z{jk{f%sg?Sj;bnpO5!lC-M;-@E%vV~JAzFkiw8=&z?i$n25PNBSuQ^z2(p8M1wc;Y zMR?D`MdhAAVDy++aP&ESUhj zTYLhDGRg4M^t@CrG$#r(GCrBn>OPgdRLINXWRm9U=O$42;Jmrp^nYO#JprO`cf+C} zKhGU7I|hVW$p*N6X78^ndl)ribTT>7RJf+bCVoX3gKPjkP=w|c?&inez+OLVx@2H} zzuDuLm9?mJAdVc%08-%tul_XucFNdyX0S;pZVO;Ks|S&O{clYHu!-%7FEZ zf+f;rt_gV$P;++0k=mASqbcF+uLdOMZhrLJo9V9w?1em+;(zb>{<`)1NE`8~BP z{}&-zm=Q+3qm4hm0);i->-5_zkjHcD9@(=>y;4CHiaXYRws{A)J2ab&D#Gp&^I zXd-046V>8dz+WY+_{o%?nVwiKHP64i=x6%bn<(*}ahqb*fhPnKqej>`usshB)@WVU z?@uSKIk%?)pqY5A$D=G&OxFJ&-t;atL{w2yVSavZNYG-B!z-ahecz41C~|HVt_*|o zvnr{A1eFk6JQqWoz?h4f3fP~C6IFbBZ4@jEp7*=R0NJVlR{4}yCuY34I*&Ffhd)o$ z=c}x2V%91HPvXQ@c!h*$yno~DQ#Hw?jMv5{)rBuq;+{AZ#hM4O;4RC?my1VJQD3hyJ+E4ebOp|&D%04PY)Al)F zI^wVX-+wv2?f?8I`FSt2h)6SQJBsN@)TM}JQ7XaHL{D*dlem8&Nf&H!j+1bV4xC2- zBXNO?%b(`c=TKzR+7b&DuzffO6V$f3gA2`|1chea9;F9>7DSFp7gcPItg^yfn3t0h zZ53*+h3J%qMQU-N7YfI-zz)J#q1XfagciAS=m3^blbZY7O!PdW?N9L3^=oX)g3o== zJMrkvdvSL26nF35!Dav==Tu&k8MVhvQfUG(0{$#`!wp`su00ve)_8>g5P4B(=h5WIP{-D0-#kcXF z|JvV-Z~V>Qh`hYOE1&lw-u310&4?4O=Q}rU>&nBMm&j*N*dINH?g=0MsgLDP{PiD* zZ~3c#X8i2^Pqtrt>#Mb#UE`-8zK%veG)tfnW0Ouh#$i?cc)peC6kB zf4*Z=a8RIHhk6qN%d%t}h*TO|LZ){VbspEw-St!K)~4|W_|YHvIXr_KpNQq-5R>>0?1f{{Ai8Y2Yhx!;uBp>HWKzcKi5A_f_4jhk%(Amf{AT9^7971Ts zjca#w=Ph@5`S6lGrFMD>Ml|eNYJe*Sm`P>N7Q0$?pJ=;%w*8UUaL!#n;BdL}*0o!B z^zbfhptpo6zwQ`z#-TAHmNS0l0=WPBrOEBb1k}Csp$~wounVGfKqs(8TLQZVEGNP; zz1R@7yr7z>#q;fk8to+BM?;OpS0hIpJMi+`@Uids_V|V${vqjj0YQx8Dh+xNGfVHg zKhuJB=(q~YLaa;lPyZ->?6>`H{-!_id&f^C_H%bi@60y`wZqcRpFY>)H;-*u_BtN# zvR!|kY$v$WfM5Nd7qk!XK7eaL>;b*w<>wfIXj(LumRv<~5V16z2Kp}0-u-TlfB0Sa zm4EoJ>AQaKZ;7vapO^7UeR*vhAz%;s1b46 zcKWin-bMp(Uuw5WtS{WcStIcB3*i1b^x4}C4TmMzXR|2s$UZy{=sj@=UzL-xOT=%WTq`VrQzA7eV`ON zwdpM}2FX2@D?zb=16Uex$ft2m@Hahs6aU7uZ^amo8lvRFDCL$|jRkbWfIY8ECUKLuDwxC*%Xd38feEjH$YZ17%JHhgn9rh1S`Dr`^n{ac# z!$-XfjiX<}TZ=j(0)Z6A@Vc`;a2$__4m1vBb_KxylaBSMHMD>pD^<{g|(Q19iRFM-g z{QBK97}2pkdo5mNt5@g>Pq5giRZmf6X!SH@*%3uvv}Su<%pS`9_O|G@z;m(+kF7`H zRYgfVBP{fCT9gRXdI`>7jA_HN;Y+ycbKDxaI<~8_`)dQSn&)!sIVs~LqIbAW2PcE? zQTDlIRa1Z=U<_r{_h~8@g9!WiSCvYWyC!Iw>O%M%sJsMA1CK%yiljhkJ~|o}BWmgI zNLQl7UY?2#wNHbuF%SeZtgUZnzgp8Kpu>t|YI-{Pd2hr?eOJdg|9yM94U->0O+sKx?sG(B2FH5z zK(X4>AFIK8km8A4IX6;g1)*MGHSCO9pWQ6FcL&zbAH1s9P<0yR=c6M)AKDfrI`Jv2 z#C>(S5wZtXfs{k`<;nu%3!k(Czj=ZKBW-~cQ>pFqT2o79^ICjb0{klJM{Abyv6iF<<8_xLApD6bK5I zS7W`us3e}Vr?ZXD6d%|VUFc{CWhH-t_D)BGzn3j%V4?~t8>FnnMO!Y^_u}-;o&`d^ zN6F)L0JkwbFZ`)xuoH}*;ci+XCBXUl>JDR)7LAxQv!ODLW%NL`14FB`L z`*V2t&U^8%e#Hy@TYuz}`03X#`8jvkp1pC3i-#9EP8PoO^j_cb{(JbwcXqw{d%lYA z`mcWgZ>~L0mmLqi699Ve0}<1LqjFesWuR%~3QCQUNUhGffO^Y4biSAx?gJWOi^?^D zeWT3^q84(61;xEc%4Gm!K&^P5QQz3Sn!u)1UHPyuhS&pp0^jl9{5yEd3-87IzUTYU zPWI5@kQpuR-Tf3^`{*ZdcDmx3bAUS_h9ZF@Li;s^#_*Y0zz6-46M3&^A4Bu9h#Oz>o{HoX{Z{E7C z<)kTN&A#SxdO}5O?3Wj~@yrWoO1$>LpUfZpw!g{uzwZNh{c*#4UlgxDofsi5V&))4 zAx2QlT>DVCGr)08+&-rsACCCDf98+#49ttmNAd8@H}I*S{&Ac?^-SAA`N4nq5!}3u zSo_K~B`hu+8-Stc@M4Ubup}wji~z-J%JD5nsSNeRv|}*WR3tnNGSgMA6@G?XY>ZNn z35>O-Dw9|NE@Apob+O#PQO3K;O%dHC$7JK9e?P5`n~!Sf98+oFZ!Zis;~KmU$oqL{x)9voX^p7 zFFwol@`w+8Wuushwy?zFAD1?{b8 zFZ1MdhtE8|$EV_X{MWzXzr?eja|d@n@n+=lh@^1+`W|^a$;*3>TCEL|KKmfOH(Kln56j>x)!_yboh0B_u2C4x= z2y`5Wko&+%?&HL%btLz()3dkUqI>sW;|n)mQ9oYBaja??LIg*mrZ&5sSu|oKkQf|c zId-nzvzL(?WALC3qA8(d?4vcraXdOUO%32%@q_R_7z|j)wm&pAM?Dq?Rju=a} z-9ndek~olvq((4P%WjX0i;L{5-@9R_?g0gqMsY;iAV?$Hj)RKcS7B{z1!fH+o-QsD z1vn2IIxjn0#ciY2a|6^ML@(ePYM!5K@ubSG8p`)(SyPX#S^>IRI#d>j( zqlpN`fAAN+ec)slAOFZ}TpvF|AIWE)eJE4QdYYdRqQDAc4{m`yu74#J1k%F<#_#{{(x@m->NVBmwy|7^KblT z^y|LvEA{Nn>tI{rWEXKvAx1|4$wsZi;8jb-rNF~_%(0vy8gQ0@i{k}uot)#N_a7s8 z9eMrC;*GiV*WF6VtkdXB45Kjil3;B#M9H2@ZoXEdTnag=VYMmnRKLpJTLd$dgW||_ zcfwP2bP+oQjycupJL|+!#=IC&;H1VFWCUXf%Z_+>eCT}u7+Q@F@X!7BZ{*i}`8)BK zzVjz|x_6J*jyZS@?bX-s#p@Rxw@>!?HDCHH9tirs{;7We$V*8^Sf8o_1jkTYyhw4N zEzQehvZWL^pL*(h1-?n8)xjLtrl$)i(nz#e3bPoP3p-OVcpsCyy#k5~fpA$-VC$x~ zEA???6p&f%O#t99z9Tz-wUVW{&u#9ysx@%iRRA2gsa>Ofmtw(^1~?;86XhzgmXG!V zuUg+MTgd`z9iA3c-wfkb2-eb0XOt+XlnIWZ7VC zF%Oi8Yc$?D#i!1fFbY$t=bHugQ5#W$ zT0*PpN#}Hjs^_#-B7q>5kimDNh>fha4xpNa6QhWN!r!uh&x~^Q2wG89E(~Q5SOQi* ztE+Z#$~Uxuw3E=t+BYEh`3%T-U$x_W!ZY0fDz;ED7fnxGO@oDP2*e~exGBjeShf^M z$`aP06g`>#`<#<1^7EM?xFAqO>i`>K)I`M;dM5nOr!5i+utMPz@=#oBrZsBt)Octu zl+D79mcDo*VJ?$q-J&4`EyA3>_ETJq^djgf#D=U@pSFKR85IXaOq-G!lT_r9kCW5< z=9@BA>9Ws%9XDfO^b?OwfIIP{I)j>In609$-E>5{!kr6On_^VV_f0>~!oHBGWy;2> zdXXl{nKtTP)z7JeH6I61E)7J~Iik;R#RiKbbHnxLXPgUnZJiz46oWr^mO$AU+(K;F zuW@7JaT{?}=bOs1OY-x`I?t?UZk)4~Q1t5ix3WY-k*ZFO^$rUIUnX3bt$^WT@Gy}K z8VMv&;H%5ln5gW8tm|R`+?<~^Cc}dbc+FA$^rqo(MXj%HVq-L*~~;SN;2CwJ-KH_tK5Li$Grh_(MqcWlNG$?m_??8NMmhR zpK98&3dyi5Txt}U@1zyA%ptc05%arpQ>3GU0GoezLlo0*=x&>%qg2WF2^z z$!gQT&U;x(4Q$G3pcbCgyLC9C6TEK|usB(8=EDk}hDYWFnzko(zvSOF^`@b#DScZ9%J*^3xNtIrDlLfgFIR#OwaszaaHeW^ZA#77Na{X zBCIGM!f4N&ty6)v^~9KU;gCOXJa5z_0i`WD`ZHJJMqtQ+JTNdvr?e$+f(tM$b3C|H zweoxi^~>fSg^l>qgp9OJiqucUoERam#?%M^SuTe4a%a8GQoU{^_i%9{`WXkV$|Y|~ zoypBmZ~|yyWkzh8+9(gdQtp?fl}8Utm!c{J%_sq>3Cf^8_EmvP7oai1OJ5ksyqaEV zoN=qjr1}9J#oG)cArSk8aJ2~nWV_U8rLR+Vg;OxD9uA|k4dlspr z#6Xntz_D}yIB)I2wUhRp_b$e-R%#`%P#ld~5)!nyU;qW|2&Sa@zfF(--~QSM`F;P! z=Pm!rFM2Wm@OOR`AA57f&9nX3ot(6V!o9~UZ(iH$FaP*m{Bu3=v;WCgWz(ifJOvDEAY(o!N(Vg|KET0&5=m#37)8?cN%mCL|ZW4_A=VZHN<5c5jVhZ`wEsr2XLtmM4isQIuo}&rW~M{7#fAjDBCu<6=73sS-XC2prap#V7`#Fq*Nu;(8S5)bRC=1f{ zx00gQ$0{uE3TQ6(r6g|~?(h|~U63L?P3wLks!v$_K2o4n)T}|W**Pb7L;oJY@A{@~@qX0M?w`(}T3+HcBJKaMgnW7?; zO3LmCEB5<6Z=B!4^~>w=nFpWAzw^Ft<6nQ@gY4K5IBLPE?%-PNc>~vWHXA6}ARj>plo zJbIv~p1uP_ZY^e6sO53JgtF<`=bpho6Tgi8c*HJRTw6|YnLWqhh|6_w%?sSSypJ2# z&+x0i>HmWD@{&LGV?WCudjI$3n-{Mp#rDG=`#xR(dbZu*^@rE_^3yMaK~cix@u*bt zD_;6yJnnDD@i@0Ejl>!d)cOM8u<~_1Z1CbwH3Se$dvSdD2B9UsW++LyFche%O2$F5tBl!q>_tS07p(PhDWVBdH^ymPQYj7O1K|v9_ zAPxf@nNnN4LqnO!VSgmaA8i3J2EB1~5tb&jeY0AH4!#hpkjyect8V=0;64>1RZOXg z%!JyacK0*Pdv~cL8d^*2Pf0yiqrb!P<3EdK*)LpngZndHzp>9ZsrFT0@lG(&Mkbcl zNHUH&az|>cM~=__TyTF)<8Z+sBX8ZopZoXzL*VeKL7Y%(0Y>8F%vm}1f%kl#kZb0s zY|rfQ7Ik7x<>e80=_TN7kMI8dzgOS=pZ&p({fWWo@fg6)$ z;tRb0Qy=WV;`4ryH5>g%?RG2H++jS@e-|W9?f}m|E8IRK4wrC)+kjkaz_NPPUPb;W zM6Dxj^+qE5K%jXbS}TYhG?i7h1!Oc$V^uzzvZ|1dY!T<4Fe?aGFJ2vic@$eW=-#p1rfA;S9 z7@sHcXaR~>n-B?mBXU#6ca3IvcB}R^n5lo`B1uwqz z%CEzEaD7fe@+@UbVYCwFwFV8ZecBf87AmF^m>CaoA7Sed3-Tte?0$0gAnsd66}u(} zY6Ox5XU|_`;Uo!$+)F+QAxb*xFE%*^d@LZRJ(r1}S7r;i-E>mbg$d@8?j;0!XHatFV{wzqj>~-&xG( zUA9IUB@3fXRipY+PTLM2_e@1jp8LyqC)@N zj_JXV!kVVFbc;F3;^e1jh!N8}57p=*#KH)Ss(68I0p4ZrGgGJ+2u~HY@h+yZhgQl` z+i0Ww`ce1C&)M&y&NAn7;l`c$oknf&+ThIX3`9LYv<5c6a)H=F_WK7GbHvA{V!(CVHHKeGja!HJVjEH4Z22cEcW0C0tGCJXd; zbIdiZ;S4`Q^m<11{%s{)_om3jx-u3n6e~UjuuGzLW%`UJ zJk2r(%RGTp1ge}wC_*F3U1H*)+U{9-tw5M(ja&Xn*s?FV$uRx&OPFc0YX;iFw+egJ zv`ea6-&8hk{+h^ir>-KHyk}F0rJh$gH2O?m0slUu1IuJj+64D7|7#`{1DXC-1~-Q$ z2*j;!n}8Qbjb3cY!Y{>ORIynqwlqCl6C35E?LD))@Klk z!Ne6v4;xY>g;tV1O*KE@i&p?Ar%e%M)^P%#PyyT%_=mwKPDU9dLy=Fg@b%rNirGsT zhJ!;o*P%d7a9Syi?VxK*UX@TmvzIME^r9JyanuzcYeveG4J449hrhl9c(r5&@^dbR zG-e=QELru}4&pg{A1R~^jecgX^Y>w_X>74!6k$YQg% z5h_hpbvg(a!?vM(4y7|i`sYX8#MU-eT*cPS*ac;Q%P z*pv!aFT!^t!kCEvl^H-=O;rI>=a7}Sonx+`F{{$6Dv*V!wVk?>&?Hj)nVcuhAP%N& zTxLM2;N?kyG?6h$qbQ=R?$7kHn|nGYmlX>17>E%d2BKAgS850%{fN>*z1&co%;aai zxsFk2Xc+1n0=N)Z>v;x?wRQDSh31Spx+0sLM-c-6Cnd#F+G zmG&^JJ;F82>D)VvL60915>7l46{yr)ROy$DdB`}i^i_Fk=4C=fz_we=!4}0+m z5C-1y?45t>$3FI{Pj$pDfkD~wxVlk+mNEuNnW9FW2s8?-27djw{;dA#@AzW;3-7rZ zf9C!7@yUnT-f}$#+tRM>2Od2-^0`}Q`koJ8>SykMm>>K-UlsrQpZ>A&*MIh58&y2` z93|&mh1(~BNM>k=YNT)^pjA+eL}Q#ZMf0=bR?Hf$XBN3voF}r5hZ5MwHUWw3SDMGD zBJ`NZMa5BzkyIdwn@=ll-7)m6oqUF^!{pk%N#k(zxu}&SQ6ZK{aEwH24KKeNdf{ky zLt1o2QKA}iIFPlaV{~E+>DC?SOP+09JJd3$ec)uVk;2uqi>MyRl(;KJ$pF}rN`+^X z0uo!QYd`JCLexN8SD!bMxb_zC7rnAmiRh5fq6}nb4k^Z=x8+pGP8>1Nz_9o)6m)Dl zJ6qT|;FZz=jox%j9M%TKz{sk}x)2l=p;4p9d*mP31yavydx07lDmS7;Y!i za84jFEXxv*o)jQ1)y0u~;pyk`w*A{8GE!I+IhM&evv^&}H zmGigro$XyDEr%0<7+@{VyX0%vEpaSbQTeL~9FnyL~@itZhWcdy_rQ2_f-UpPz0S6p$z@9tq&pFmqND(|WI~Rk{=^pQHcOPa*N zhnKykH&8;z?EM()ap3Z}LSxp7B9P97WkZ-q4h&C(!M|&8aHJ@Wr7P3l#}(FYBr-Kx zENpETp_HvE!st>Ol(O)G(VgexxDJe5W7nEuDG8D?G@487SUI{djveEKU@#X$K;^bb zFhoSO=+YQn9EPp3cdP@ztb-!SrcnxkqGvyJ}Sr82oOB2o#(20OvUB7FF+1L@H zM#=l^_0Fvz6p3EohlKpV`@#K!{q48laQ72L+Ow*+Js>6z_qj%lJU$X|TrSxVx1SsT z;cxwyc??!NY}PWtxZa3+54y&9oZKx`v!y(qc?x*usc8KRrTs~?P*8nxSjEs)XNIv%?p#3VY}jRDjLv@l9&mC7oShKIs)48dsL`l0kFK81D54AUVAH5(*yC63Ui z=BW{_!x4D#Ij0bHdkuSl&BZHgAB4xAJCMs&15+k>lSZE~!|*aDXiS-FkqeoYt5;R$ zWMFC4$xSAt^$4D>3LML1bTq7MKp6}Ywuvn;Vg=C}+HMc!Jj4-S_xbO_|Mu_yYP|O8 zPvWoq=x1@hJK>${XXDHSw zwx;X_bxusAW^aNTq;ge60C%2x`u8owy#d!~S*VZgw>-3?y6XT}tKo=OimPS}kXt%D+;$0zgY!C}-HKJP~fYHc_3+ z4NZ||l!$A%?~)9nZ~a*Hsa7aA_xJS#+h#Z>WG@ed$O0nFjuJp?fzitZL>IL|6KTkFfSllBRYXp zpp_*P>E6ttZz<3hP)!5)Z`+dCd*nxf#-_dIRJrSQdh=QcHXHsv`m|c;3O%^xm3RLvHFXm%Tcg(bqvZa%TT^5WNrcH|F-sI{>Rnv=v zT63GzV2kiHKDz-JSKy3$Du0N=TL(rFtAi5*o@k-Z!8B_a)o7rd2~n5|lq z%F4*cRE3G97A#X8KZN}MxlyUO{SOz85~b4fw63DlO>zvmf#`{C@^Y-rxduVi>mE``lb4J zW<5i9;@MQ5^jG#Nn*LhF5GY~`3<(FQQHf&Pv<(5xits2#5rRR=jcBR3Qpug>OTgxU zG?}6KUi=rLuxUT{&9h1aP$IBwV5~5iH#!;C?<+#EYTWX`8}nQ|5%4xo^&0KNlMJmB z6{cvQE~4ca^<-)>a>b}Cke1E4s+g;YtUYRV_Ba*qEE}oo##_^K9in8(6H23^~ynLxFGVlWFjY#00XvTIE1xQQIqhVfcm`H z9(_0HK7n5bVwB1Pfx&@A%?W%AE8BCjxYGlya90fsw5x)_wWJeTjrCnk?c_Ew0IG_O z;qj!pb8}J3eEw~Ck<*f;Zm9mkcYfZGbn-D6uqpcqe=pzpsrWzv@9rgb5;~`6YI_*10y3kaqVg}oB zX$W2%6HQ}_lao_)(O5N>fHe`6P2UvAkt4<>m{?uwP8-i^(~zP9k@nyS1vCcOmAM2^ z-fcV_3`LJD_bwyC8PL+QsQ@F6MES=JKtlnrvGLe@siUy%e-1mqw2{QUN0#4?s2Z5y zu4?bL3)!~cRqK|{@uYAmB8o@1t83j;-#OSe)pabCULt%HxXKn%DGw#A zBu6?wbVxhc3KOuMHX9;#fxb>lKG^CQSD`*tGe>s+!O4D~yWPU3Q0CyH`;QTAhovn# z91hHJ)p%Ii7JzlYY$4^4XdkagfMV*n9%Pa@d0Lp4RcBZ-Q?#{!kb|KJqAT_b8A0SQ zZWw{a^dHMbh&9k6BB@BPf^O~(Oua@#rDos=9LJ?h8DQ5kghdq4G8Z6wRSP1Oi541} zh(ODn!AEEdQ6Aol+M z`)~(5nwy2)tQ-R9Av7hB4Gk$)al#@TW@*E!lx%Qv&dlNBzYQMx@SVDSyVM6=nC%LK(C8Ris(3F%sj5*Am8B;% zG-hw+%)y${7}e5cK}%6;Jv3k-@7^EBDRn--Mn3&C+R{c!4VjXZ%jn2(5<~1vr%8y0 zmX8T?t-fnM;FI-66^sipFOTv51qg29k=w2U-VXd@gMm<-o5*V zAwsr@IEAnZ3^GS@v4(X5k!(y|9wNY8mgU|HFTeO-_QyvkJi>2Zd)N9c1~O~4Mkz>? z=2ui=zR*;I7LYY$P!Y0^H)2yayC*A~Sj^+c5}W1LGXScgAouM979^>h1vX`^CMakC zZ1PtA-BAkL*N8b8)xz;JGd3bZu()<}u4w)a!MS8~ z;wd#r0c;{ZiS-Wrd*-fAi!rB-jEaLPd@g`#3_B>y0yEM8_}uHKNQ=H|nsbH-ZgxKv zDw6087O_2nU${S?f>0QP+12^OV#{O*tci0AAB~^n)@#lT;U-Ci*O*!u+xPa~1!Er2 z6uH*a{M-&zSV1JPBCx|1*-X;o%~|25&U<9kSNB;+(o;6m3;rr^)qD2Hx59_ZWKlg7 z$z;};-_P%MBi_QIXbt0Ib6S1W?_^Ci2;rZD0*`B#JIjdyWlm}=tAwIOnoKMx3*WOV zNy0*?dAldlXKXN*iBHshE!?pfeoS|i`2!6$CWbHqwv)Eb0NWHPT6F^PEh?~oedmY#C!WB;D zi(Lx6=_*j9B?^`#(>e$m1NLr4r{K1MSrq`QE;k}q7;yQ@MmfJ2c4b)&1T?XC7z+b- zfI8+LRNHOWnI;Q=p16Es@o)2}&sMOdu6)+3VX&W(KcGi->R~gBjfi<7Hljcim;%8z z|GX+0O<_oGFKS-#S;_#ekx*Vv(@4Q}tNk7(XypeF%%z<6|2NX0%&QSMOa<&!BQycE zR!Jf1AXr(J zWHC&YbebdNti_4NpQRFNgp*cQVyGS3_43QcBx(_iDyu;Sh*o6X;DqvR-83meZ1FtRMU|I<AE)~Okf0$=r6Jt7PPj$d7Kj8`Hc~UoU{0Wv$C1-T5WU-AtYppI{l#(V!LZ|oY8q{DK^(v_$EBH~nm*e95* zg+C1&83M=(bNc>zh^O91G;q{is3L~Vb$6{o#uPKBhDW%H$nk5xvib4y>hg^*BF94( zt^`JS(T;;`6`>F&b6A#bF0xupr`MU?mg5M3R;bwlm|XmMq|Jkk^R$a)Xy_!`N4@lU zqe@t$O719Tz18QNcBVv^pjgT^cCYAw#A}KX6Lg2?AKEl8Dmwzt*=&yJMZ>+E4^@klN=N*kt6EzOF*z|#Azx+4lC}aq(sH`ESr4O(b0N8;taW{|L2V!Y;r9pHVH7y8DtHynTjY; zLUGj^7_bP3wrrEUA{X8)OIt=Ep%tEr?SA)4r(^Z{PMLnMhZ41+OXG?3*@af<^Vqjc zbFjIr4?Is)Ltq3jGOd5xh9ngn7+U)ppZNGEdAxk2{pmhiEK##zyjTxzIH?YCafEAt zyh6~bU_v5=F~(RU$2kt;5P5l-;+dXWo+6GP&5|;=*J;9iR zU}FI}60!7D8nP#XvSp%}_L3WfqMBS2P#RP~og7>hOTdJ>TT%@QO%WqAsZoLuvZd>r z%xrc%Z_Jj-J_sbcL~6mvm11C!icD}Q8EPKIjs!aeYK$PLKFDbPJyp;OVybqsNAd`u z{BbEo_&j$~8mZ2VWeFrkFexyY!^bu;kZanLqd~e1wS9)xL?U%uSE!_kiM6rngskdb zL`G&{M}nf8zyYaIWP%wSKrU$}y+xCz3M)Y(kGWdEN4119Gp9Zz!6cJJBt|d-Ci66C zDMTdH10&M2xpcPn2tp-08KQ|sf`JvO1;Nv0kAp4|X9AYSrJWS&F7!hRxk{P9Nki;* zeB}#Y!Nb4tNXkJ)atw(xW&tNC{-JhccNdrvDa>8X;($V$aidjcs>|ygU#`HgTa8RIH;V zn}-4kC9=0QID&1zK+PPJl)UV#FOY!s(7g)<$`p7QD|hXLEn8BeYWj#sfy-6vyB;_= z{0X}_nvzSze%F#`CyqKsor(#oI*)})%rWI%2qTF$gcgZ4ja>Bb(xQ`}c{ zH6;L$f!G0``dD7v`*6PV>63^)(385cZ*gmB;SXrhT3P3YrDIyIv!H1 zMx*B}i5Wk8z0gOvW&Nvcr?9M>b4X!x?1pT)oQi$7Oy zyB7Rk|K5-2wTGSWeepKly#E+oF3l z)M|y%t!J{_95MQXVBuJ3N<0LXNo&UtkUWUYQS0?0Mo(^Y@9$teqaOIqdZ z?_V`dbz-jSu69wfaHLU0h?np-ER#g2e?B#b)35YNCAc%Wah6btWupLL&2!|w(hy1Y zht(4rb6{Zz78Wlm;Is*>etQ#3&Wb`TIIRF}z~L5!0l~x!3d~pSufVk6Auufj?95%#5x%eW&|CWdZ$&0B-Ryhp)zjmt0k#@8EV5LE<8bakES@V0vM7BN z0*jSh5k<rL7C7bD&IeGWpcb%=`Zl>u8_fhr8dzZA=Rp*)c14V!7GMK3rdDKC zZa`?=9}vNQ1w7ZkUugVC<#JL#9+a>c>78J!MFal321$)GEtU^L8%XP=9~D?AOiP{l zc?yESw8*iV+#PJIB^L7bP6WbB8jAVEJVXhoWwC)y24*Y)VZl_QZlHK28WzZj8OUI7 z?p8npi_zvhN$$Oz*f<$gZQr4ewgU?6&u%TS-KA#mFWi}68HT79I>5+=_iiu6Ivd5A zlbVykcML7XyEDobpt4l{lNqPOo!R1<7U+*)5~RX?Jr^lG4hR1%Pa&zk(bSB!`kX#| zR+FIs$*9jh)c~lM4O`!snYjY)kwwHf>LrM!yugNFFD@8O(PWn^IZoz$TRf}ks>?2N zzLkQ0p-f+~n8|n|IDWUb9d&|saIC*L-8Ty2oC((dTH7SZm}8Qxi#r!_6nbOOJ*JGb zetsz?Dp*y&UiY$?&=SohEx`?MEUJQNsy_<+nRnBe&DImJ$OU_fabxd|$Be2C^9e;m z`R>&@nX+jB+X!Q|h#UBxx*{fmSIqaOEVpTz&r?pV`Ybo6O{c21oN9?mngv;^)t^qE zCnn8))`s&bjV8DiGdWcoP>p0xaNqA?5`~VllL4*U!m#SNnItqZ<)81KVFuXwJsf0P zn=!(~;zoXl{WG@^iemPQz^sze376PnCh2?JFwabG^)<`B$3EM5VtSx{eidR@*r0o- zRMyXOG?~*7S>P$sC8#`W#b-29h5`0D+? zHI&1)d;zcNib@Nr;1rVj5OvqQFSu)5Caj5Moa18g_wb0 zZx~~U`(z97*f57(GyohsmVNa*bAYMA`v)V@(sgF0pvCTTXca!H&5r;goqmF2tG9&; zNm;M3xMgfZFJl%0=8TX96o=c66tvXnQr52MoX4(e1ti2s*1AF@J;bI~lfULvG1u^c z$ez_2syIXcS&Y1Lt6B^b0O5fasQ#UMg^UDLwmYakt@f7BYq9BhKwJqE{i#ts0)o)u z9a<2|L!X$|q6r|zDBhn@w>cq!y$;wSi@_vBEsz?t5y2F*iHp-sJtIpF1VsmrzLF+C zy7m95+W!S)3$O?o0>Clg!7_nEBq?@4eSj-HNg+X*w)xBjP#0pD2s#c2!{-{no3Z5M zgdX{VHv&hC7@9C)Rh4Vd%H3{*0Xw{PCm#p!~5+sAP|;NtQz9^OCEFkGNN8n%eg_dSFO4A+!kvWyq*$`P?ikG^ zkfW>7E~)rOt^FPrqzU6n+{?o*@-CI9F8O- z5}jDBx6xkJ<)LcmNGKymicDq;?$Fe;N0yyTXpOE#932ZzqWdyt_6&$RT3KGA1cGBk z2LbhDkBAnN4RbOwoF607{;@ewR2pTM`5B+t7rAUQxFA3+1dbd?ky4g5H)tRL^fc9Q zUUjR-v9(^C!{fYj00%UHgF2S|85ZouI-;Gn%~vL@y&(C7nmJ6ATjodx?l;zo;z>j1Tu#*f|2OGBLcbKov`8a>Wwin-9VEW~p=(axqr#5meGd~VMy64{yv0d06J zd&(DEQ#D-W;ZV~NSAG^M^W3K(3cVB<{TZoedx#?{>Jh4jn%63Cik6 zUOsqz!djU~Hn;m26`O=-U{LH;a zeB=Hj9aixxUb=;+uAlJN|4;uAAHDau?E)CuLz)ykkZdH5XxV&JlIWgv93Id}oZq_r zQ#Wti{D+5&BhtQVRm6c=4~(YxSo{cqbTUgX$irWFu@>*nZY=qNY8Jk7X<6 zawa!dgP35JfEul=ziYwFR8?D;*y=RK<|;6;72_N%3(a(YfpXr0kGL`st<_sG0B7t> zo1%AO1FX+#G1vSV6U*?M4$`6z%ZM?7ZWTv`NHvE5`#@!W? zFtC1wfB541`>Fb7&O*H=17-&2T*pyjJ`+1m4L)Lp9ZYYO!8sBS_u#DIME8-t?e6tE@BBYOvLKjL*IsnwB%gu*Q*For`z^V=A(zCT9>OYR&on z3fD^3bFXkCVJ(=J?YVodHS=i;5C2^}g zo$`H$T1{M4Se%%X3biX|i-~pht`u97S!rf#?dk#=pBk{( znDa~(S!dkA_nuK@DYy|+bN8r!pYfQv>jJ10K-APq;UJUzDy+|{Gxs_ZD>0#HM*_+M z<)N$Hq3%)YdC4ia`q5J5=O+Gzv|&Hxn1sn~X9PHmU3t%dpPQ|PicA@RT9ioD;?OC6 z-t5$cib*~|Gi6T=4V&*J#1eehebFR49Qc@+fyif5fdweEgY)HA!me5<0dS0BZp*)^ z9_$7{jrxgdfzp%gI|@K(!D?}R zsV3<#i859o3l0A)`SVXQ;A(`YzJD-oCK1+#u8YA*x{M0xZR+7gj1xqykP>WPfe zlIYBO_PSb74WB`8V8mv%1)AK5@)|5TM@^p86iv)$S_uW(KD)^$H!?AMiz&4Y)M%uM zCji@^w5o7pR?=dY2+B4}@j+axEk*T$lH_y(#>-yQl zk32Yxmy|VcxDB$!EK@7ZwYpoPjfiGcQ2z1veWdM|)Hi+Q^Z1?*dP36zlziq| z!*wjW|9J4mNz-ydeCWY}KdSrq(zl-IAAj^Lf9}EBh~7MAN1qId>&X1fh2r)Oc>Myo zK0sfH;Nxt!&WL@;zQ+WX08Wxv7v(WMeYbRn+M|GxXnA5AAgn+VQ9>T?QCc7jv?;pE zWXwhJQgJ?CQ~--@DPyhcZ)>IMaVmB7>bF>_V(x~6IdIig^|@Ib+Us^& zAlm1lG~96Ln?)^Hld5ta^PVHAPFapjG>KxPkOlk(A~$;gIh0P0jez^FuIP#bSx6W?z?wj{qUsXdHkVvbD z0}Dz#G<#lLvZv7FcsME_t;Dgbom>Yl8NiBUM{2*cOl4Ren~Df0TtbmrNAw_eYRKRa zMzft^AjT*cm>@VjOAvrJE|w*g)VczQ&Lx|MOy>`Y{aF6J0{}*OoDz*0NY4wR13e@! z(1UuSwUl~5OHcNw+A9HKpd;AERLn6`YJ`+_obvOskQ5LwGMludm|=x~khMDk5JHR= z=>`HF%J4{VbcLE%4~!8#05J>07$Oqc*Ng#Z3~JY~qo~spBr;D=PY87N5PCPT%$Btb z-bA=#w`eQ2?h1-cqs-w*K*RP@u64m=7UMXz4Wk6T(olu+L}d8K+A*r`1|+2Sgepn3 zl5I$3!3aVrvU$gk){JErsGuQqpS$CVr+FKXKJj|Cmu?vmT6}LJNR5uk>#v6q=iCtp zjJ`_rQj_Vf(8p2WE(SiqRCa{2_Y| zhP2s@E0k-FAgS{IjIKmav+f;2Ldy=z00wU_Cp_l~upiu=>_)qXSkZ{+%yEQ3jiHv~ zQc#R_UD?OlGRIH~`~6KW%P!)LfdS8Mw?-Jj_C$(eEp_wGMnJiJFQcdUy8 zG^WrN&qDHe5r~%Lfv0R(PEUQ5Mh7;5#Zi1qeeUxUaa@u8BHN8;^x*O17|RlIdZIm{`+Y@rq67Vyh=w&JGHZh7|7Ao z*EQR%^E15dnUi)z=xct{?+)Jm7~0#u(vzG(c%q^D&JJOrrx=W=*-ym_Xso1QA(!eZ zbg-J5DFJH^%rVNB6tP*RR=Hfe54(mng$SGIlRr97Q91|!e(zH9ODI%=; zpCbrm_e0FlRv7#*&w~2bHf_I>?v)gAz&?oSpGm;fzGdc{b=hnc)G9X0Hb~uw)_@a! zA3zP7SF=+E(593k`h14|paARv!%`s7e7tID@#XeYvMH16UnUU~{E z5*HUo^!=XC-`I&@{?#A&>E%nFxvpRL#V=#IzUSBfvA?hTk1n_%%w2@gS_2i#^jK)d zVh}tN!?H*;Ph@Hd>fP^t*XKWebXon^6dQR7=q z9}0``V|DL01&85@_L0-Q&3|Sd09Iu&mC`7@2kzHmc6#Dwr|iDt>fbx%&rItn(vjsj zF#EZZ_i&!NZqV0hW z=r8xPfR_fhnyknQPa(gf^k<6jV%IUT3CtR1KCiK1L4wZ`l~@hIwK zEz-hh&@LX3N_c63ha0QrZ&3|R6t0?upR{uMn63w#f5jH%{U5ThEg%Y{_q#NPH!-aG zE8%X8&I z1Orfx1;v1lQXCMNOF12~SjfVBI5k!!mD*JRy$fiIPPGtZDr)VEHW}>-qf>2OfSu^m zQxG6h9_)Am!Q6-nXoYI2%Qg~MFWQV_@mr;8_V*QN!T$DlOspBriTcK@fGh#g%#>#V zyp+Lh%)?ukWm{qj0O-)Ph$&_bg?^A%K~bpj9I)!cB6GH|;Y=yPaz>UXe-S1sP&P8^ zQv2=tSz1LM@Q98$;n8{4Y^~`JR!Tk9^hj!BKrugU)ys1PkF^;)<^?Kn6gknVxJqN!#}Kl)2MU!p+5GVp?ff?zkOR>s6aB>a+!IQkR;O$*%N|N~Udz)S0;22+MsA7+ zY{}Sc>|A)m9=4|S1$K0eCer^_OXkO>^nd!b^#y<2NJO`K6n{=%bxs^1MtS(v3uLA$ior1_LbC2{|oWS z%-jon*n!Kvv>e@+?0xi*7D-{(fPM)bcVL@S(*S~U7+KvnP>d$2RcTFN?s@`6jv|h1 zNLwN+8>a#iySzeKu8jSzd(9vvBPpC%Y`3WZTIJGm_T`}@-zKOW9%9yv01!bgD$Sta zO~n$dLXc=XdBRhtQh{)yQpu|OYR(L#{}qY}6nC0OF(7z7G(hZ_N=4SfiaA-EWmxT< zjZVv}{~j~_85RO)(80in%EThvq078~k=U2LG&+^?;YYvy2B+1@bc2|~MlNUUBgJ~9 z_I$7CMvW9}I>G1LFbN<=+N6XnJ;8tgy$eQK6QKcg+n!>`Jkq`aZydlAXnE@$i1)KgYdCkF?{&0~;ENv;7_y7Z35^_17x;Nf|p1 z%Vv}s7f-enj~?@*$Dh-k^LOUg?B3J9UEhNTIHLFAqng3N zP>776I;f^ytYV&q)moS6SQ5?aeQV7_Euj)~n+(F5K%>hTOqGj|a35(2M6~k#QGpI6 zzR2zzX$4rAm+@$TwI>bGF-3+nblmN>x{(d)gJkV_iSW`lWk-r+6VM~dQ2=#funVH} zYD!f;Ab};tY|1>u=>F$ILoQj(x+0la`!S+KAW&c>aKfF=a4UZN(;py{h-Ja?xPqic z4xaY2c^Yn2xtV`qRhci(-OdlDMs*j8xmOKNmjb0H8miupLZpth&c9R35ioRkjvfK z9@j2zw_pC=eI8qsEz2@$({z@jYT>wW)19xI@idNKp5oD9A4#~Ba+Uia|c#;jAbG)aS0P%{{f7^c zIe@mfPuzXBe89B8+|aga_< z12KTzZm^Szl3iy4>_!y02qZl^u?C_ja>M|7!)`Y*m}+cu+NesW3qb|#B>oe(21Du)bU;X1GwW1~ne85%(Bh>V710dNHH(Z|3SeBC$k;SYUl;;o-YzVHm% zFwlz$h7EX!cdy1G8bCE5CL&VtX-u^63Dtjf_0nwOjA2|{T64Ea`idNAFvxve2WIbF zjD6wov*VnNr!(vdVlfE?DUjU_-xybF88=Xcr;f!1?%g6}Q@;6l@T^9r9y~nYZbW?W<8Q>*zVH-& z)vx?A{;ePSi2mb0{&zfE5PM~2?5~|_^u`@J`dD3G4}we?u3nK68*oS^xNH08o_*nW z9WF0R7oYVw+!s&ZX}6G5zF77X#S0~3vr1v%6j6POg>a}nqXqcIl?5)R^#z33u_k@E zsYA?~y8GfXfvi@hYSn)rJaE$r_ih%>5mwax{LVDBDT~3HV4rq3zO3L2aHlA^|1+1CrL4ffGlovO#}`viwz)Gf-&(eAV=+> ztjQ^Annl9VwFIlvCPDD%tQm9_&pE)sT8hg}XgNV=)rjt_ZyZWWfn$#%pP6X|9Tif2 zDs0?Spf_qvTH2(_?zI(A4j0t{u-KDP&)=iWQM*6Aka;ShV&W!~-czF0_Zm++UTDG@ zc20=&jzVK@#%KI|5}P9kO*T=)C@{FqMotA`4*n>h9saqX7nNG2>xVZca90mcmSc4$? zRu@W9I|XWt2_AWywbA69P#~Zxk(&J}KdP$|@QO9t#15Q}D~8ev5SXBKk<6IlkqM4E zVND_g8>>oOvF}7J9Yg`!ntpp#cLEhuRqv8lhp!Hr1I`MzRt%%bj!b$vjywXB2yFWr zhPKCoT>Kbx#mw4M&P*Un+|f5MQ)n~k2F==4atxN29TIaR`4$4Cjr5p-#6bQif@)f% zXsbg3LBqcf!4d_*;Jr%e`$TaDb7@!1oY6s8Dqe)vEINvh&I%q;h*_C<_(2ro=QR*D z*)j^GO@}p%2{gpj{ZehZR~0JZ1dS;>E)ruVJo_IIJC@ZHfw?Rjb-o4#EDJ)to?pzr zh`9$MF%=vxG$t$QvBg;=RnjUT-(^Pt&6cGhCtoA0K0i@~>GoKs8l&RfWW*U+K7<9^ z6LlU4mPA>c{gcs5AINz|{rtQnxRd}hrkaJrTx{iNo~1mBK9SL1eSf%XG4Ieqbd|p97^f|8i_G!it$zqi!f4LC!c*>KD!?ZL4-1TU#3B z0Y(vxPU>^B14|Xsvt!xqUwiA*w|>V*UcdL}`oKCLl26qP(lcw4mD&iX7x(-G`ojd($_(b>RQ|G3Ik%3}wp| zn$}w*s-K)`Qa}%Izfvp3Xi#(QnIM*C@;?{VT!!r#Z3U8PIbPklNk=2AzX(V}cFA&W z&7d%dbwIZ512=`xF>BFUhL^Xx3%c_Bsl>Ul8}JsOsYbzZSj3ReG0hfigAbOVJsVw6>5 zHM(mCQg&$_tc;tDHe`{ZeF$m@)ml##`y?QurdvPz$e|UW*&F6i55kjXo@kXDOmfcqH>z}c!{jC-)FCulC5ad~N4-t&j?&->LUu?9iw>^F)Q{?j?x31g zPs(=}K2@C>KrX=(p6KC&M?f2lWrux(u%>oxAr|2F`AO`sLyp|Y{Q*w^w2>TwLZhvu zqKJH#c}5(pgj;D=GjKGAY=M%x4`WC@YtA&0>1`Ln7$k(wG-3|pbObr*C8asa9I&S8 z!nB}7qDdSOpoDTDgBU3<&6co?gKpoviO;_NCja?w{04pTb6=QW^3`9<=il}`UwYTu z^o3vXh0G=M@BF3jj-ULIAH$#jo^Q#ocyCEU5e&*-K@~$t4 z#BsDouW?zShXT&~;OQ5?1ATWbu|7gOT_VRtAshqfy_po-0okpFh{XpY+(-(!IM#df z9uZCBSg4_hETSN48A*yduE5P_bG`cs{GLDlm+-|SA&~k;P zf-b<7)u@g^EMo%+!6<27AxBk`6^iBtfda;u1${yc<;p6sr^%ktu1^0>!>$h2V;J+Q z>5{G4idi4KR>ewZ7Eu@@ro6@*b*r4TF9oWqn8=8{eK8Val~rZoOy?Ns0zMls*4f|@ z)6%G5R83_XbE=Mj&~T&G1+sapzvPXCKR*TJ>LzcHh%xKHCsbvHx{Nu(TLtGt5$(N+ z%^W&cOoiyyj1G9(014#L&wLz*8;2uw{ub~{zAC@wImVCw^kbat&vF0fK8gO(pY?Iv z-*Ww3OV<%XYdZ~elEn411t)B{eeD#dOzc}ju<8EAV_dA_7zcdg7e1@6e&=)g1ApU3 zx4lN`nR?y<>^Ylj~>aKl{|vxBh6)zTsC^ zJlJEuFh|SNG~wD(Ud2@2`dtXDGc`qMw5R11^%YVORk>q|B%`p7iMgmmd$euFU;*f9 zoS+pVSBKcwpwYy7^WrHFl(qT}=FUJMnyrdFh3qRbdn}7AYmLmtxlaM1f2S9I!Pr9` znVeqQ!&k7pW;YQUX78^o#R-se5ibL54gs8)RkQNg!{H4m(Li9TdNJGDx?1i<{h=p# zT=%>Bw0YE1HPzrz1%txG<~+tZ-Z2jYw2>A7Y6xgx?uKjtM)|p@K>9^6F~I`;3(vB{ zKzQ+MTJUE(I*WdNraZyT+0&Ld)C~=xB-losnTm3}y50u*M}<)qs9S3HD&ImbAFPO{ zpMTcR0jA~;jlSAxl|j)Ji5LMa<<2m1o*5QV=dx^I=A)dwHw%a#QpHbg!pD*D!tAdQ(5%nEllm88X~VZ1da=G6@RGcEoEjAczv5BDJsgVrgHlF-4}oH>2} zIfeD?McTP#w+Il~Hav@(X&6u7z;;LB@QZK?EF3Yeu+LWa(L-d$;aHW3{61LaWyP~8iuO>^Y&2PGORjzw3&-H{Sd_1i3yr>nOcC=sTKz`E#_ z8tXgOyGH`cv|_H*obuF(&&l*dnUD)>63EY)a1p$O%k?YZukx@H{A4rh2G7`)hH8|f zMB%x~05g10T75B;WzU#D3kB#-wzxd5w@u+Nz-GlaF}=;|6>VgHw3>392Mqjqb=ma4 z_g;-^b%h$!NFWyE7>F@#T^x`NB<420v8BQS?PELse(=+J128sF3k$3uD^)p4Sv^@P z&R@hU7SPO+wW6CMtX`i#-&7JybM6C2x5Y~5 zEW$UXe1*gCbDfIz38uH^ceC)CvXDgw^l`J zguQlaS|l-NOXj3eB@B4E4|7gUOcG_1e%yeN=>d&mZnM-YoM}I+*qjGiwd`m9ZZ?R$ zR532ZS%t9)Q9;o>x;K|B!{=ZO*s-91fru(%DozNq;BrAeedWB9BkG-LJ4cT7tbko) z)Km{>6o1ItTgR=}vY>1x#8R4wV6-QQm#Ow}q3Oh2iiECnx4m?Tdao`d z%Qs|TatL6A#_I6_%6&Kqu6+aQy~7k+Uu8Z!5?rfitD3o`-JG*StSr^OSVx)mcXFlj5{Szc z+6VApV04kc@{Z!#Igmux5zCK$%7nt@NUf?~s_GR2ae8_NGIC@ham5h%pdL%Nj;%Acm=7bf~@2-yAx5Df$AP92$@J-^APB^{&nz)3P9t z5qOkqjnW2oBD#ZNTMG9d>db6FSVS~Zibgg$UXp%@gU;}oi53b{ShLhcnL$DfdcBQj zzX%~oMoVIqHH6C0#3`<-l%zMK4hbO^DU<_ADyRXik&TQFi1fN`j?5PB_?d)~IZM(Q z$!y_0MiPRx&V$Sx*%V4oIVdtaBAIF#L)L(?K$2Jhp@VDCHamjWj{UO7dc5SH{hj{< z*1L~!*&p-pVAb`r^JI(o{(t-fc#$t+DD9e|UO6?!NHoMyPh!6#a}b%Ct(6ow37TXx zjAD~~B}a^eTdt7QfmBDTA=Txn)F$R?a-S>N7D<&{hi3r5k#$8ZmKup(Q$QYm8P!IW z0dNY5=m|DH#LG8c;9Z>KM?Uj2?FYZ@Cz0sm5gw0*)174zC%S=CzIFGGXly!+ z<0#IR%$!PCQ7f$$gANio2raoaOXy?|&om84$Y_Y698%Ya0!@ff#Y0+nF$UBmDzb#i z)JP+*iNTSwKm$jcX-Rz`<1r38LDR3i@l|}=%dbRV57^xwLvKCBcYXLD3W?U*F4;5G zs77(=1KRD<8=;3xnDji`pP}~=myaLo;~)NzJ{>z;yLpS(uAQm1U9N|Nl-c?^@_4v3 z)SJ`BuY5w(aq-3nczgFXAjr#~`2IK<(Bnskyc`YJzWiw{U-BE+f8ftMW06t7Im~=C zfGaT?YNWgQ)eaYxu>+<7un=#4cJ4FG5PBDbO>HmF-!(v&#Ni>3M^G!o4xB$9eCdm%Maql20;568K=y!!z4tLk zKCQ>V3ZVrzsVK_~xXEZr*0BF9zDA&otHZt{4e0AU>QTNUaF#cG=908KVtM;vRdgQH zfv^-C=l{`=pH~*5u~t(;mFi{_m6c)%IA)C)0-&6O4RRcT*#EroaZphA5U!A8deLys<>43%{dF&1WGj%$+BoN zGOJ!_cossE1UfLf-`Bbl=;l76fobS(ZzTab60{1U3u|I1Fp5W2i`JvYz<163(Z2oJ%_;dK_*Dv+8 zfAa6#^(n`ppcX^))eYRBM5r+2-yV%DYuC^R%?v?e}=`mA8MT95yk9 zd{scZ2w6(h(@-L<0*I@}_v;M*{VFg)p|#p%m_)K|e9&ZM0+=;o;SVaX-TfM?mzQdJ zEbB9R+p5dZs3S3jNv#8FRu)awd1>1)@fi`RfhYhAa8KgK#n#G%-32TbsQxDi3|r)E zd(f)7Y(wrLH*CrOd|IMTVa|NUqN-?)>cCt@qD?$WHAGYAv_NVUs7@uAMW}@PO;3%< zAS{m1lUNs7z2NLkff#&(2h^r2pT?=7=Ke6+#5+sL?TT*NCnt(8bE%AMRwEO}E_^Nu zUkVjisfjJ(%5C8a=h0k*l@nVEWcZ46sh^3OB_A};S(7pr!PO5(?fJ}R6_M(>OLac# zygJU7^1pDbF}>ndLbbv-S}TIS)YVVeG^;|n35camm)#k>H=W+=&;~-y@7YzGahM`V zi1c&M0(i6Vfu@OC`7Y6xUK!!kLSqD;;MXR&1h830`?J>hq)NSos%T~M2Jjwssl>BI zuGDiE@bm0(kP`&X;$;h0t1gW>?U@8(0i!#X)Mwd3b7tK|T%Fg#8GVIkJ2lf#kvxE# z>74zC&zNiRx?4r~1^jbOrrEC2E-l#38tXrsz|eO7Rh)4Y*^*IHQYOKTJ-4gp?ZSg5 z8!&Nb=g}Yl&2v!nN|ivYrF5G1L&*)lVHg{+tDivw$|8A8QVcFRvd%y&!o*E!-IcOL z3OZiduW^C}sCVi!<9Fax+-T9KUvv>FDC@Mcju3>!ssD+fJ{cg)LyVg2LxI9TFD3*9 zEY19mN)$!G00r)#(#h=Vu>#uF!!!CiLrc{OEY{6Y%Th>BaK~h{P)g={VS+oe`Zjgk zwl2_t3Kg8>mp+rA)rBl|zpXIl?`V_lq3bDDz?+Cgv_y^ujI1#^x6o*D1;T9%>m)Ry zWQMUln~krj1T?>c34E1mUX?`6amKXajH?Up)d>Dx$^v|cnP(#0m8;p3#Qp{7^L3d) zBNaj$&{*8E!3jQNCfr0UKpU=k=h9h~-BH_ud!408kj&37UxKTJBW~8_MtM#kd)B4Z zQq7$J2_Niu;(KG3?=nzrqwNaAvnDPUJFV5NL^^)~3UDt7tKLHa2!1x0b#jAD=NiZ_ zW*IpxmNq16kLs_MPZ zo@tJl)qldIz_k^Vvyk?5hSz2CD$#`;*Jwh|Bb%d&I2skMxTDyb9-o@YTL>^tLxgPa z!Yp#OSY9Wgs{(;D0my2fX-#AUgeM5RO1`ys64MXV|IOMFm)l4%OHCsQEgCddt6`vx z)Nt}E0T_hGYvNtc-}&V~_VLetz)mOtTt+WhDXi#W({mo#fuEi~o)Ba$1NpN*`YL|> z^~d-uJU-&~e#bY~)Zrp|^L)Xzk+#!-bD8^*1R#ouLGZ|A1oXkz zJ0INzc270sgArf(Zs55k`1+dh+#VRfI3(0NmMDwdy(d-+Xmhg_1%4xiJ#3d(@#SV6{5K`0(Bh`D=w`_86 z0M73p05W5y{v5?KPC~1~RD0rabvP~QC`^7(^)FYu1`Y_#$}7wXTKh1qn)R*QWfMF; zf8C#F9dfwtKI{q2^&~*)6jk?i1(jW#X`_qS(JrKG2QY1&5*R70ReG%EnW2Gps|mmH z7a)0#;EL$?f$#Yga2CL2-`pB8rzsnjJlQXSBCQL;gnaf|_7w|=%ZHD=`B;Ri*>Rf{ z1MC3_M}!>!5ZEVhFV|RgKwA~3L;1$feInlZd0(|W{jE22d3+P+r%&nOSI6Smof;jAjE08cG9g=Hmm+p8 zYB6)Y6D~q_TA5dpz}e7qgfh}wEFf-0l4Oz28UqU;`@6>!fk~S?9T1E`DF#NZO73$T zQ6@!r-vkz;Mx!FpWeb3TNoAVs*L{ek!n>R(X7PwbMowuEXCHNtc$dJ&paWrNgQ%#XH#r@XZ zb9~{M=Q2l<**F5NuSaGBPEXHp@$kMz8@yN#l-wbtl3s+Ih)6pTa8O6c%fbh=2E<-L z$%Bv$icwvpvK*YHOql^z+VM5bE0|W|iWL2ZhFU_Bl6L+pGoVba*+u8S>{$8L`}gAc zJ1^pump@nQ8+W-V8Q0F^&wk`P0W3D(T!avEq~efA#HDj$hS-k-wUs(SWGp*|7WUq8 z@BV9eaGw+#TI`@EBM4dq4SJ0>5G0ctKtzA-Cy{E>wRePm^1JllBd=qB=R7Vx_`0sW zu<(^X@SpM{-}o1YE?#RHH-K>z_BUxGa1h(#p+#uj|9{Ai?>5Nw?F~B6W(9rLf$XTR z-{_-a0I>s}dl7v4dFbLX&<}wOV!d!)Stwq=-4gZvsJ+4Bed5}4#Qqj}njp_CmO37Y zV^&59lL_e6oQ=7ZZ2A=xIxt-L4iiX7ST;>|kej3ZEcr2VI>fn%j$S`AfR2GIm4_80 zrj-&6)BKm9XZ{2XEH2_^P1vwC*UnNUHyA95pR;gRWl0fQfneZR#jI+4+QPJ5$rb3v z4>l~-?0wiQU#ZQb38GiE>QXN<3LNmJAu83%d|dV&Tv4c-Ra-~6U}vGIIj*3FAU!i$ zG;4y0><|}Z29^+3lp@HZQl2;fy>vPN4NmbKdM7R)`&r~Mu{(*=S3Y0Imwo|$?QikA$&?zXRQ}r}Fl-Q*sQxasL9>_L0~3Eq?a1 z_i?Txe*NdYfN%JUcf^12SAPiK{P%xUK;&+JF7-7Up>}eXi@9@TUIG$&4Y&Cr4O@?H zhbcjFdHJQ6epN)??HbS!k_MwDD9Pr7IYk}fVgcd^#N6f%fUu<H2}$ z@c$?4UxRh+va2v`jJekH?tO0GwJ++My49_2H6Vew3E^0lgRm7DLIB$-TEaytNmWuN zAykTTa4K;UW5-Ew%E9GIxyn#rKrN|t>5IPZ{=V+-dM{1|gR?-6M(QlE47yPtPGYt1$17-NpvdKKyfY~8V%N*vr5UgW;s0u<}tR%YbS z4VJ767hGuoOMQPNUoOxKN3k*^qSdT8gMs#3uU1WXo?b6ZW^oz|bFhlL+yx}4c^j8x z*jplvw=k-Q6Ffj|mxfEmYEhxWp%n&4NSKf8#7`JVOQZBS|-I_4_gyF#|y6TRCRqFH#H%0y736+Z)1Ju zFsVRVY?!TCga?P62rX8j1h=a`#({ymhD&{4p-s_`53doEn#@nW^m?`A*EMnGks z6AS-S0qiAM%a!PqrAk>&V__bZ2V1;iE_a2XWh>*t#437h^}I`PC>3A(oU6o|kHZ4g z#8UZR>KEJQENr3Ro7(!el+v+pvYMcT@{?!nU$(-W3U4BzFi36V0AC|1i$7J8x;Q>N z3nX7hT-D;aFx0|av(8Tq7*Cb;Z(GNAJtMrY^Er2gzya&BKz=7${<2He-<;$lTVd65 z5t&6A7@JrwDkiitiP&@i_REkV6t*`ka&W3yC0{t0r!Oz8c&WZFSZjKr0oBmnRfOY0 z3?`53(tBU3PAnZ_Ca)PUc;V_iAx(s>j-o{d!FxCh-1M(fk%Bld%*^Sd4%Inkk&$wm zvbv(y^`XmNt~ZY?!8dAcdue3+kB)X7zx?INw$!;Qtb)tbh=5xb@{;hZ2bP1pLw{XN zQ8B4Ik6EhabzyTo@JbMC1F1d>$?7Z>qSc0~?`lvG^>aRPWWBKPC1>4zN7l*RYo$9EPUV;E@F!mr4K?3^0}z z(IR7T6 z{ao9OGKn0`pOL}xM90E#QFlZAmpVLja5=g?!pyz}D0K?29uWX#5R*h$H`bLfwIkozMz{Qo*Ux}>}m%sbk6aDa?`&s_E-}7nwcfRGt{J($U z&3Nls;-|mzm^%V96Zft*UTxI*oRd(4f>~cUhw$!Q#DwrTp~&Q4`w7PH{LQI%zX-hi z3E)qDf9iMrf7*CEGaeAJr!j#w<1lv*2*z5M$}6@8X@J=+Zfb!XfndOj5=rOU@>K@= zsKb`1Snqk^AtjFT`dBs!79cr+Fvry*KoM;QlsniPSQcH5G=5b%gjE$pA;`{=6HH-7 zunkEu<#}d}!(f_@lr{-e3BB3Q<$byxZQ1UNB)A^;NL99aVf8++_^PWxqQ7nFR6%fVC9EajQ1@J^P;PWnnoBrw~Yz_Yv+4HOfg%Iux)8-FLrzwJ@Y1^B@81+ z`PT)-0Zd7Z%$(Jz$s81g=SBqm0t=1gq}qQ(5iyuruY2jkbi^69)k_V(eI zK9#S%_A_|p!3Xe-FMK|K;`ZmF$Cg0Spv);WrP4L| ze*qu(CqIk)^gq|y7ybgW-8snVNOC ziCv8t(BAF#cK-pvM?~9-aZPJ@cuEKpp>CBES75W&{=5TuC*++hPigjMU^WZ~`Ra?a zq|n-gDtaYb^{5cQcn$?%b9?7ZU=37raqq7aP6o~kCLDo=z#x!&bw)HG=Ng=0wT4z; zuHt7nl=1XN;}>6l8$a|Nui$t7y3gXj{Q6^j z_z(RVo%b685%>FP+cOc{3HPqAph;rubDrlwxg^h6SUo&M~ zGFJJhTDuC(#n;0Q8;XyqplLrS#1g4u=@nL08zoR$ zHNJ2tlqy|Z-SuwtD#cYU9AwQ>Fc#1-6(!Ov*bslB#$pcfio zyk{1`Wk}X`Q47Z{P@wGiwAz{pEa1C^fpiGvR#1R)dM$t*R4)u*b&NY^csREX+cD3* zuoDF8=dDvUaTav$?>^&psNMbU>zyrZNW#pL6g}54XR^x9dnAA;oC&JbqJ)d6`4;u6 zV$wymE4ad%i;$=S){s=Qe=n`Z--JWqkHRFubp`r}E(`T#4KFUlred-Rm}gZ2wSM)( zSmN&mqc4nRR*{=UG*r+>4Qj!{Po0jK)JS@sV`9a5r_8MmP?WvX>T2u<>RAtC@;yqD zrb=cmLC)vfn;01dx>>1;vJLS8tqOb<7@phahYS?3W}hur!9V@@B zB%s!1Z2{oolXZD^f4SqbDwcZ5C!2t(nsDsv`WYQRez%YY_8S-2R8B{k`Tu7Sg zM+&`*WlfVP$!mf90PHE?H?;iS0)%>kv)BnOP`NIYT5A&y^d3(8q_yxnUtQR-&Zq2K z=YdJZYA)L(SfG@+sK;#sQ`e(bE#mLl;P>Q->K+_&hz+7(`!IYEy<^U?I9;sC@wyzg zO0?pD8CWfG0b!zpoK_kDWvf&>IIU308nB~-<*jEgMaon=kUTVh-ys9;t&}2(W%E<} ztTpG&ZN-{u$17XbOQ7cwH$0GNbplKrBvB<%)VjfK zo-oNW1E9Se*Ku8)1~}Sc{XQeDjUm0RSw6))+6$tR*VU<>M*?xtyW|lLR3uq&#VptC z5m5wBwGOU#T8YKo9QfAvzx2O;d>+60y=S+-3!cTd6>WiPE~L$>4Bf0W&KD*?$RpRO z=t?}96Tj{M^3(YJzwx8-&wT6}dSBqj-i*Xu#_KoAcW=+}pm*Hd-qod5gSmXO%s2OJ z_k;M#l-4}%3TOK!^qmIEdmp})-d0!MkE5|{Km`Hkjv`}S6_ma!Q=0j zV}{mndjNLSS}wkI(W!WP>~(*Pdfr->+TtsRT6K%JW{Kfe*Q8WL1FJq5o`VOI73)kZ zkN9|qG>$ui(+zazEY^7*e{JwwP%4XIl_+pZ3_&}9JUf53Wt3vn`$+)%0Mw+pLpu?V z2z})ae3WRv>sx>ieiCy&!#p$e?t9r^dj>qZBHp`OewiUiWDqSPDF$a^klZ+MyAzW$ zLxFquu7VSI_njw@_PQ5cl?c56S66VUR3~#F0FAuj2|v4knLo3?&QF}bO%M7bz4!Vr z@%Me-AIN{@^Z!n~^W=4W;`)Qkn~C>u8_y(MV``wOrNymVT#1?CjwsSE*-DAniHs&2 z?6<-FRXmuliCeF-RZP<}9ImbodKmtRJYj#SwnjjH*R+2$UXvmq>39*`l zaE{5QKu%S()KqVcW7Y=L)QD!a&&&kf>7G$tcCbi9OMxcLoa;vu5#eTwU3-#~iBn6Z zlHv9-LunHnetzA|I|>Qde#_qUML4Jhh6YB89ip9lTJ;)6GKO!-24=c1Ef5%#lH$>V zlM;hV(}$dFt=axIr(#5wh-0aI!Dt?mr+wP3RCT9SPK{7f4S``$e&vpE-eoCpt5x=) zp5P3!NoqN(&sHHR18ul2WkBZ=uJxO$e@7sgjf&w)m`Y*r45g=lSm>j&h#>bWi1w1+ zKs9)pf;GjK{0wE3rK75ij+s*km1TQ`CoXtg3OO_eLN1J_um?%p1^Fx=w}A4yPv5Rj zpFR@b{~P|9sW$jz-tyZYev<$8fA)XCGoF*Wf)V-#GVT38H4zz^AaJIlSq0xJiwiQ8 zs)3IF!gM!^FN z&t|f~g~}>&eM1fUYv)*YIE6^25gkGHVi;Ht@7r?#LdOb_nl8%sAh;Lez%ZIOdB|6n zgpg4AO01NvzI-+(hyoHFjRTWAlp8>M@|PgZ|1Ukz4P@mX6~bjHG>d4!1m^ApeHRM^ za?-yC4m5eL!bHHFR&BJ6=vTti_k^wIY#-+Rf8oE&ANcJb#*e>u2YvntZr^aof1^VPix+d@z+{Fby^1<-^RbVm#;B?3SsvC`0S(q5%?dw|37}ZFkEz6mzu?rCe z!$-U~ILyI!CQt*KrAuPXFi2azq7er0CergZtFEI4pboHvLxB?50b;vg9DwIMkS2#J z=?+wlpQ{>IsqqVMS)e0Sz20{pI1FG66O|vSM7is{xd3S{C76RQ|nkn$fEHWS;S2)&4BQ{o5%`;5|(Em z7B}a^U$@UVOv}wb~cVNIEA|0d`Tuz}i+z0HN~u3NEjKIw(!0q&2&lGWhMB zNzO0U=BFpmv+_7&vsQ~+JWH2` ztI?ar4KtNcFI8`>%il3lp<-%Rds5&q-$P*51#70vzkB)jWjL3eat?`uMXb`ibE&_o z(2j*~9m?hjv+n-v5}H(=?RS~Seq=pk>59txj%91p3Pi?{%bG<*)eOKIHbl_OA?>}D zf`vuA{5|Wk_B{~ZAI4{jGysBu(dLo+1~2Mh@*-b%Wtl+ zI@Zy^x%?9A6DvtR*gUe<8^>O6y0E+pd%t-4E%cKspaN0DgjlME+Fz)|d~r|DUwlU` zOCQ2KHj9quyNc#IL_$VUCQqZjo18Yas3h z^dJAUEz9<&Xgk5*|AWvU`4p5&JiW2Xy%8E=G2g6QWlnIH|Lis~W`ZNZAxur;EZ{8h zb|PRXHp%|wh6zf8Hwb%5BN zaOV^>5}dklZ4g8K@hm041 zCvQ_z}o<4hq zQhe8lu8B;gBDr`X#~(-hb4J`^=KuAZe;wa^_GY~J_A7k$_UpMJ`G5Y6e^g)B8`yKq z_igXP172ZA;ugDh4xDr5%!oTp+~GXW8gbT+vxd$&xoc|Iu7T+>q)N<8%$%B>7zxdk z|D9p(dDg_pkweLm!i0yCTlZd(Q zC*~lvClZ6ega(oJ5Rr05L7l10Og}F`C@D?S7K=lW#GL7Z6yfBS6i8(m(H5NUZXQr& zS6bX@MoxfJnj9EPogqyO>;hAnBPaH`x4Q(N;+F5tw{)u;{FbX<#UFU}yYbI`_6P8p z&;CZ4(l`i`3UE$Mqe59*Jq4*35gIvy zr44OlcwUDGd`PLYkdu@GIh$LuuYsG_ar?!eWPH~Tkzf6rdhbvE2k}#X=jZXUAN&YQQv8A~{)@1K5?&4&0st=QFVn zTX&7&ByHyMRS0khqX6B6FU#|UKi580n6nCm^edWGSxc}7!gRG;W^k5N$|zB5%SXa{ zv$=5q%b>c!ev64hPMr*C4Gn7*Y|vm|RN|1$F7RJeO zJyRh^Vhlk$v7dqSaDtNQe|sK)!U@*XuMq7-yzd8M`;kA$&;D!wwfy=s#20`5M$h_v zJpK7E;qE8@7UJf0;lU%sqgTP3cN0&(344}?qMy`y$JRGIz1#8n(=)EO4Ig>=1^oCo zrvCN6@}v5~>#sEmIGrBkqem~W_pXR&3FdhW&3#}>e0ukcbKD|Ob1|lnnwp-rOMekF z8{hV=ANy`%oH?iK$t?WBgd}F@z%o+CNV2w?@JATrVI{k>#us@KsX69|!W{ zX?&lSouomzrX$Z^t`Vr((DgKMn4E;W0%lE!V#$5jqO5nk{nqD9pa%51jupLyviZ1q zhlXjK0EKe5eXM=sF+Ew89KryKyeitb{`ZkPX>ABpFrD+QOsie))UM z0)v?WHq?5C8&g!c-RrH2A@`Vb9<&|*%@x=YeO7qS<=-b3p0{X?ZPTNpcGam-eX~T zD&oi@)F_m)@Q-?D24}E#xPNY8Op%`ZQ#G?C8LoC!cnx6wG8R6i!au|Ncr|r^MdrZI zYOGG6T3uJZS^~f*0jv}U26y11B<8yE3d5Ft@DfV1nbdF;-wH zuvz#)R?qmlDj9GnS791(>+QO(*7>W)^_uGV&0Z4}7DX(RnZvn46@#?mmyDM!?9`je z`*8_M7m4TAK^9)I#NgF^64i;Jg6NNwgf8N;$fQagW+{wI*=IbZVo<_dIpyC|2-gK? zajpO;i&(389mY<@wJthDm$3+|azm+QLmAt!_##VpQ|&&>mWtp3d`OS4TCkYup;qip<)zgswwAlDLrAt!WCbM! zjH*QCh%$p(Su?7xtGG_AK_R)Mmj~Oe!$wIS7h7Tc_>|*)I9K(-S$k-y+NJgHRNW!= zfM`pMl5Q8JvJR{-2VWkG*zoW5clY}VpsH_TU0%@oGaR|IFMTH`3195bS-T(a%_^bV zOIi$hwZm1QTGlrnqPljxFO#T*Dnn>9FMDRary_mU-O43XEw+47->NzXbs1_&VAmzM zx*_V)Twt{0ncvy6$g1dCd-O7776fe1;F9;q;VZ(}*}9%Rg^VbFKjLEOS{JOhY7ty< ztO*Y$Zk5(P6IoY&px33A_4XFn4A_Eb{b>c$nbmnz$E5zPW83BQtz;{z?bO6&I}`{W zinWNYT1Q?Ip7lKTZgcI+dS7z|5%>bhtmGXy-kC?$)@N3WoW5E`V~t38HyWjz^JI(8*@L&=aOTO&x}?5W7#51hPlq zdp~-Qzxve&`Pv@*Yd`%a&MBOA#uXX{$ccS+MEmeV%P2qoVDht%LVx+|z`yrh8UN%z zfxP!3;`A~wUxWVE-$DM~|B`s)2Js5SEiC_=RhzH@oXoQjjdE*)EX0h+YyeuhV^#A{ z$p?LH)dR0n3ZW4kGoZVh`P5#6Y|B^U2?>#6%t2N2MCWq zWaaEl)r?fXqw@MS_7Aiw{f+qW1K}6mp>EmOW0Cg2{reBIwZ^RnB03@(l`=UrrXD|g%Db^s zY4zI7)f`%hJ5CbkV)@WwQ>Nty_i)Pl*zsn+i+}06*Z#I_*$g)VOW$l(6!OLL_1~E)O=*P=yc*LC<#P;zP6Vd)Eow~Sj1qJaSJ%yLKFdlnDr1^J2Juqd zTfz{o{6U+%F@t(Kp02pCRFrEA)5{ zdnRJ$jusnL6s;t!(SBG%4h=|PZj2VIyfQh1Cub%@_ZWJoz@ zMBU3+#veJ?_f2Ke6B`?#C&2xWV*CEzr}3lzY3hdU>eHXqgFpGF`0?)`PEXGIxrg`p z?*H@i82|m>3Osw}sdlFa0=7VJOJPxoCW);NXMe5QwObW-m7H$Z2B9si@onQtk*u$_ zZV7|)f-Z9hrZc^vaIyvX8Q?-eNP8)4&2(`k*sGuv1&mm2U|2b#qmh%wk(Lu07%$Br zlW9qfk%hP1kueS29Xk-p)VitX^R zyyTRX{3mjvydSEhwq94x@ux#C`OAt<64Zo`byDFlYoGrn9{;(2sQvH%dFD_3Rqz9!0pI^Em`}b6ed))5 zXYT`+ zDIl>XUN7yT|3h#2)filuiz7$j0dm5cl_am)^bo4nM>>eWZJ671r`ct*LJ0H@`(iT= zCBKDT%jdt6;bY%bf{B_jsLNw(VLk-VcsLVXFr@+;>$Eq8kAK~bt&ZZLRn@ldaB|zi zbv;!x7?+hvK|#)moe6mf^~;Y{TlIKFs#PacUejV>RYlMgI%0V2csUgt>WdZNxxyCe z^8&2I-QTAS*6RBg+OjyuBX2?dqXMN5%nyf!5=z*svJ>wp3m*p^?@1A}!iZA{p*rb+ zaE%WEY8HMijBUlv#=s7*y%qkmI-Cp3bdH5Jt00#MPc-3>1w1{E&tTO|wzY`@XAj|N zIT{@C8+A5Bw{%RDWM|Fc0Ak@zm+g0)Z@Y@D41AP7J#k2TmH?53S5>pyIzjG#&BBAH zo62H&X3}c6a-dN8)+D05<(F>Ub1+zb`d&XA4s8{La9qQ5Cje-naP2ySb?$A)5ojk>%P-y<`c_O zd!0R$J@*5A)^Ff}i?$V;D?Q*kQw!@`&s^9K zNbqw%@;U$V$|0DG$;iX@LuCnc+`*(bZL|5D{m^R>(`sBJ5)LuTUq0!X+g8C&DBSkK z^?&LX)DgW`&{)@4`iaWRd>h+F!xs=Q zA694pQOaR?BSEY9DS){S6^HDbRV`Ve^77Zp--yGWBi8B3^*AU` z${uEI`a&AY2BcUSq=25lY!`uyC6$+eg<{Hsgl4lJVA2U&4We1^L#yzX9~->fS9_Tr|K}T;&WZ9Mz8AiYIWQeLo7Vk z9)o(%*idROxcy%9zmaBMYRSD5i6L$J%4-xpVzl z1+pN9l{8q4?lD86kZ&FTJ(2Rz$0RI!ZEnX(!qeo_M^*JaS+&FZ!=fI_w8dx1BwP)V zJ-P$x`Hj#Uw*`v5)vll$G>SHFu#%s@f=KS`k1E)m+1WL-w|GEn9?LUiOf`Z;_~_Fp&o?V%b_*>RGF* zmApCdIkER8Jp-4y1xTOA7;e$6OU9N4D&l4l0}Ft0k&(6jD}EaqnFgz7fdzHRWD%|| z5Cfg8mc(M5C!m;a*ob8zRO_wo!V&Pgk;pMaio8CxSAP6UUwvZ;Z6n4mcE_rop-j=9 z22EC=CO`%TQ=8Q^L|2Hdv4!{ho&#cP%w&tex4rtZZuibNZ{Eci6T32*5m&uq&s!j= zQ}2AhnZM#?#J9hYd7U%fc}ji93*!IezYe|heGPc^O41b`f9bLQ;{R>5zw>3_Z+{(l zYYk!yO;hxxvnZ!LzukQx)m-FZ{ghaHA zOiCwYUrz?zdn9wD$S z@pKDdAbFyb;F-=7uHd-e5g1BrRI-(-A3&EQ^R2`kiM~o2rc%KkQjolvfq_(qOdN=w zGgeEAhB=^?1fqqMNlc*|Oy)h=d$L6pU=+p#W`PgZ_!XK)yYM_nnAudqli*1O41HfaqkknqHqy zKt=13nVgIHbHjWOAlR|bfjRdT6SXRni`IdNx-@;w20Qvp-LxHv`w0BePyc@Wo{#;r znAi94zF+%klmGDl#6SOqzl6Vc`(?a^$JznT$^r(Y#+_%CC)eQPdtwH|5_GY%T*cv9}4#W)nF8p3`gF!pP|n z=h)D(ShTG8OZ2?MU8o9yRL+L(tzJPkz?h)g(fq&cSddag!x=k>?I_k*dBcv0?(<)N z&kKA}8AZ!8?&3nH8%tf8AYI~dLf8@9~Df zge|JZ@hqothnr?YazGf>+#D+{s)qEMU4yAWtNph|{Ov4nnImTvn4Z+*wr#Cjn3GhO z3w%)M_5DH}pg2X5$;bvPHYRtb%q{E6TQn5K6v=aq4O0dZ-e4Gl7jAUc$m>j|=Fjm85 zybMfR;4)JxS`a>;9is(O*&0)c%+3Eo14(8GP0`A9Y)XTS$k{VvGBeQ|fk{S_cBP=| z#hQ}}WHe`v8-TNco0TU6*%`qWs6oAM)oIQ0k&xy*Q#@smAr9r7B!MsS88KaAh>!ae>y2oERl)(!EszxxKx|Bt_c_6t9Sr~k#D20ro$ z#3z3p;>|mZ|LV^I=dS^{24DUJUbqHs-+4##_B}=;9^Si$o4Z}-amSexty$JVHk|r3 zuyr7Z^Y=OPgD<@tx95@XK6@w5x3>Z~!DuZoC)hF1*4PIpG8;iWdhyl2_5Kfk%l9F( z{Nfj=vv7dGvYcXsTMyaL!b332TeDOd1%NeJsKf&A(l|l2w7D)RG?J za05@yB0ngH*)AMXmYfF&?K*G)#7k@xz`&t$X(F&;sURw+#qm8BM~u1?R-NH;!1d~~ zfjaOR(3aWL_*~M|dC>K??S=AahFXM=i1&eEE7L`GjLd=*Y}H3 zPn0souR8z^mBp|{p2y(p5??R;0!g4{bJTG(mu*h;7%18NkWbs>igOBwg5 zc|wLUsUj+>Bs~&VQx*pvxcq1{Fk_-&**e3m@@%%enWgSpS>FQZ7+6^8f#Ioyu7xkU zttVDNeZ;<`(8AfLuW*(ev2f@ju7WCDx`^vm*&JQYjpVj0GU+@cW;oWGYLzk~}T~;1~*AK;Rl=H=(k^aI1s^y!Xc%ii!o? z7qG5FR-A`=D)5|t)?!GAqc4K+=QmqxA;81q-7J=B%DMwsgNynK`(PDoTwg~Ecy<5} znk+HP=${|LWuCz*@ah8&4}JuW4uN_z_3f}!_sfdX>ZEo_037D(|6k97qg%lnqKJ+o zovy=O7g44`!=vkf!kiY|EF>wa6%aFv<*G2X7&hQ|e+T9r$L=kGPWf6zU6fkvo*#1! zURm26C^7;(1T)@?0T0h)0h4w4U@65>3gn_HmaL&J`08DUcf=7oygrPw1Feg)2ml^y ztHO_~3pV75la5*iY!{&;m;_4Ibiab!YN-azR-h-_7mqTdH_M|3^^EhV;KvRb( z>yXH5HAEHp1SergcazNH?WsBq%pz;nlf|V?OK>*{TiqrGXfC=vtaNR)L<(z%tS+5J zR;+SpB~z(d44~N3Vui8ZV$<|Z-Ez@EU>3;xFW%z~uoXgPtH$hrA3 z8!_>W;$$?=KquO{67!c~8UGy-CuBs%EOL`bj59Mj7-x;>0U|dKKX-h6(t&MqdL)Ok zb+mngyoGWH=R-nG;>0W=X`6M?D4`l|E}c_^l8JsEB=?lAne7o;E1ayKz$V2wm+T0@ z)0>WVn%Zs&fU^bq5WpSK2^t=7I-wL#y~P^J>F9=hP|^NQ6D>$(whpl#soTY(#}-6H!AUJ)D{a2>$B0>1PO;;IqXGv|JX&>7?gT@!ri zQ^55Hn@y4IqadQKF^gDq!e*yU3{|NfZ4n7Fr!}o!Y-tTz*Ht-YgPHfx?;{#eW z3{0!3{a$%YZbn1DI^onB?#{c;bC7d?F1a^wVcMmUs_8VI!99b$W#0I{;>efrF#h;= z{vrI9Z}}d~SFiQ*M?TKz9Z%nW1FwJM%ecLJto`W|{@fd1#!c>e@ZbR-T)%*KpFM`= zxdt=~b5H1cL+@8WObk+ui7`?c3fmA$z4`K_PP~^GcW3qJ7Ct11ZEw)Mf!;PyLsH9A zizZC4pU@F_*6uLSbmdzHXlzkcWQ&G*B}g3|iHVS65)$$b;0fT(GZ0s}5;V@CI5AdM zE(EykkTzUNnrA5+Xb1iPy0NU8-b2h2J&24@3vd7(1L#+{R!TFZHiNUH3mPqe4<$Jo zPN0;Hy|YZzoTH4VJ2D$K2|1zO0tz`<6Y=EX4amT0NMIMJNZG5*3e@gGbyqS2!id9x zr6bRGw}ISn#hhcXMK>@660--M@J3U>2|!MJd(50f1{xaL=??o8P5`!cQnutA(p@Gy ziTe+)k=n4ON*zWB1K0xtXUuNe;+jge7M&*Cb5a__v#V#6I!-e&azWjx93Z3PMo)1b zf$LQ6veT=nF>)Il@>)<(+ssK2P0=SJ2NfjnqECRGZ%@|5Wev0SI9GN!5m z*+PzF2~z~jM1REi$akY%-{*Y%m{;HVL+Ib}-N^6zPCfcHA0i(PoL;<-UwI$+i7!9F zH~-Av!}!s^Cw=pE;u~L|=n5*)?ppG}OD#Et^Rpo#c%DJ*%%nOt?e|7#7c??SGINqD zAiZ@#?~-g{YNBnCBBKd28yilE`}YVo2@}yNO$Ik`?uo|ca%bzx$z(%ADjV-&Jez6( z@cc~9?;=`1rIcjuoY}yB5B+pb%>Z&F)Iu}Ko)|k7JTYIoB4W!)B^yH%>>bRZWJd7W z+sJ5>b4aHi*aPGqIU#BTU%fA2v(Z$ekm%79<8F$rAU{ljhw!BvMQ$PXxw5Ym707h?8_Lh}M!hsotgYBsn?HP@f$!-hp~k zj?%XcFit&YLLJw_mC-y3$*b#_BM~jzK2i})ar4bk+f<58rii{Z?4u*%gzd!*XiXZs z)B<_l$PJu#K;%^>z8S~{>{E(sY6?6JaCTt3kESO$KX@6sdI{TyKY)AR_I^D4)t|t< zU-eOZ$G1JeYrMw0Pj{U5P`}&x#sBnYaQ8R=2Kr-ZeB~!O-}*f8$?rxy-hrR~e<7cI z8Nf-newEj+d=UBUG4^NQM9cweZ3K7J12Kg-ZRLh^DzGj9yR7m0>Vc@qci($QbKF^Z zg(TTLWL$#s45CR)hJ<^MUi|zgzU`C0a=*Q^n5M0Ky9$Cr(-d*kH4Slympn4V;F;kf z|Ge=_d$1#U3>9So`|b#EPPJ;iR(|JPz!D9pF3PYF4lEP`RhE>JqNc&&0Jjc;5iCt2 zjrtyj=&D+USXRVKJq#>Gd;KR&b*~|;hXC`a?{L)r5Zy_=gph;iQE+TE@3=ag@T>qB zaBOZ+IYBtrD3gVX3Z}ue+DfA^6fTuG%7*BI>8y2_ZYJ{YFG+MR#e148klebOW#@Yk z6-40$JOI8$3@MCXslJz;4E!@Iy4%*-pexr87qEM6y+ukGzo_q?gj%Wf zp~7}b{2B}UST87xs&1I2(ugp2psbn{nRkn>^;z9S=d-~-LhfLp3Ec|HJ?yn_co}kYpfmM2+YDy7U*vR zr}kW7Lmob*LkPNnMP@kx_)S^hSg4EF*F$OD=^@}bH<;Q62PP3ZRt<+eGRo5G=%}st zktIfq)wSa%DDwv(fn{ao`HA)2SXg5gxrRlG*?FWo=j#ZhJ4Y%sO?vK#F|LbLXW?-U zk;{oA9MWo7tjTKpvhHBg>#Gum8=kB`tA(+{1j}l>h>k^8!en5sCn;=b4Ti5W?ud`Z zE4{YF+E4_4_(y(^10?(hS{;vA4B=9QUD&f;faZd)Dm>Rh6~q60k%>bO;i4&2n}c96 z`KV7?Dy+qNhmI=`bpv1g%Bxi)u?}v%V632?UhpX9e0gW7Hi-N=suqd$dyWa}1>AXV zKwVVDlpn23&s)XR2IYbpRqImoEf=`HU}tje=;wg%peM1fmb(Jy4jHrjy%)S`t&tC# zA-YnJlEZ0ll-C$ru;%U#zRFQuPlM`EjI0hfSU^3~Db-R$?Io{Vmr1D@<>(>(#}hY;~6NvK|F= zn*>Dpz&BqA;9-rl0)0L5!j!E#5h3pA+=|TccXR+xCx&1RQ$!JM7mcb)yZ!?53pHz#WQ6cSssZV zbGVh20COJuYQv!Mq&II6|H+pzKl~87W3d5*z0%hOw8$OAVHjvc;VEv&r(}KEmESGN>W6$F86*ff5LU3 z>m9U{h0dcyo!AFjG|fpXDXuFK6FfB`2QoI@4i`@kudGVzfCfZODO9f{`T*3W$w17uM_1$Ww!& z;59JN6(OdS5gQYU$U)9PTwkFCW7whGf|^8&y=L3S*?W(U^}%f-vq?M3XS&E+cWVXP z5VA2R*n)YQ&cPt}aIxi7witU7!BBFryYp>A(YI920K`tXB?H|#rlg21k!LCqjolq+ zr9RO>w7$*6h}aWsjn%2@tdcWA+XRJ~15Lf<)$WwvF+mMmrZO-l7@ci;erXWMk;&Gj z$cEk9EcT|!0O(=DEj=1W+69s^21W}-NE%R+rx$Y$`#a6Xj8=7cg00Pj<6|h0cZ6C& zU1G9Pc{f|T8^BFqe(9O!p`{o&6dgDv_!$1D-#GilrZ(}F%sJ}3u z%v&-yw6+=skhlWzIyxJO4d6h|hS0R^iyg>&+8g)K6u2j*^IpV6>WUG%Vs_`~5n`s0(Zw7L z3VE}Q7G>{AMXs``^rX4(Bd8ivD9j|ocnY%zan(GoT@j(gOeX0U-L~XJKR1*)!j-?< z%z{1$)Lh|?v)9#8jO96`$anFKNM>VeffNIiNHn!}MUFSXPLSP~TuuZgCIw&v@@2G^ zNrlmyQIbxMM4XcOqz{uNWFT`U0R>u4&6A*;jvnd6E&w5Hm^G8wlDNOAG@ArGQm37f zxPc`y6NnAMaOTZG%)p?~LtuUq9`Ae)zy{%7>1yABusxpm+fNc`z|B`5+3P^Zh$;H4O)s% zC3*|=z5&r|hZCpmI?=$bUtwVC-PgYwnL{`x^Jx&;jFL<@D_IfIA3k{D?| z`~GJu&@{roKiaWw{Q@~vN9z$xtVVv$6Vz~=6GqkhX7aFQPGsdbo>dVAglD@59$n8C z9$0!sg||r*-U4|okoE4Dn6_}H!&P9h<;S}NmWtRGR?A~_$qZTeVJmluR^&!~UUTi9 zYPP1dWWAK!)djEs*8p8WqQ65i=l8xktV&K}`<_ADeo=?h!UAj;33NCapzy|ZNb))I zfhEQsi@-6l7B%pDfypEe%N;EYgSBrBQWi#WIe*LQ{1^bv35-@)(DN9C_eN(TbKzSh zmL&@1T||!S6sm~EaBL!rJe)*YXaKKs z?NV>R1|OXCrj0e7wbbg1PGeqLpqAHvE<^U&0M1g**XKbvhSM%T`E}^PgE0Yt!&|Ao ztqLeou{0izkyvL(Sm3!gltDvh(9vKfb0L#!-!N-Rb+slPi(ev z=27WQx(4ZR0krGFsDqjXYI>2^ME48GiZp=1Qp_LBcEYwssLfS}khM04cb{cM-Z&~Y zYN5AU!&&S5FUyf;@Hfcv@H3!q=b0=SVxkP^;#nf zLM&3|2#6?VvRd<0etlpKa|;JE7Vea^$D7YrH8hnY^qkb zz;nA82D%IXe$Ebu6(yGf-hPI&h!UUG!vikMx2=F^6h>l2T6#igETXH<<4PK}2)tVF zpn+m7Mf~at=m-cS%jd9==qyJ02wIioVXZA;VyA$)i=|i5cyTOxT>!Pg7R^@|l|?o3 z@0$&ZiExAY5gUX`s>{A<&BRzh{bIj;<|=9BWfHwhsv-a@S;&>>R^o$Vms!uYF4HJV zJ1zG)zKiY8ik^t_l}AeQ(~yIbtKh3^bfxB)h{X3A~EGDgdzf2&Uh+@i=}4O5(Z4s zUXQI52h&Ma&}w#X6*dwxLEM`ODf!^VhL-k* zX&x4o(?%oFvGdt^Lu(fyRS_!abs3El*{ix~NbC${B3puyBN_v}8T@VmOqp%4G3?~K zt=r8jfehskXDe!O)6C|wCNvSfkS!%eo}QqiuWYfhSL;^h2sNiE)=H z2I4eAGiJPNv&d-vPIGvGVn`G;*iRd#6R8Gs5(tPbDJlE2zNBD)q7dqIc6EZ1B*HS5 z2AiaS03xN}Y|kcv9Ykm{I?OVSSJ?1cBz=RIZ z3nekd2@Ot)+a^94N}jf0R{6#zKvYW6ptj!z?>Ddqdg~YpF!!8^IBnATtrK~@LA!M7 z!6cPR&MCE?Iq{_BJs?J)k(z!8R z1JRkObFf*m(G;A5as#wafYO!`_A_omkW(=fYS@$8Nw|4>o6!-N_Rmc;rBa#6Z42qN zMfB#W;RKW$#AyKS)Np>btF<8RQlZ97rAW>;*`T>Uy=zh4@10GF7Ks#Qie1vXqs6_B z#%AcRa=&Dvcj57P;>OjHj5HV9rt_1w?P#Z~gp6wS$~Scf38~&W9$%~H2DY1kBas1= zlrlEq{?`%X{s!K)>QD-d+Z}ng&&+IBPtKTk1m3s>ZUS#VejR`D3;%`w=fCvt^38Zh z91UBX7;4&ca&=&@xv`AMOoam3<;IOwM$=*$!v~p22BplXRB^6)5ITB8L*@f~vC7 z5VrlXSs|gl_ultsJGL6ijhqHt5=tdogzkBQ2pgl`j^8bEiVQqGOTlOnM6_k>5XhG3 z>T|mvk=ck$^z{17s;}5W@1CClfW7Ogj8h zqLklKL+Gl_nAKs+#?refhxK{6MtyX3N;1-x$f_Izr;?DbX$4R!f=oz?rusI2Qa-+|G@ka0c z;@k1;i(kggFMT!f-g}Y1_~V#A`~L>6J_vl|+kv0|JHX>F1MEP%5A)q4^#Hz=w|> z{>(={`l-*3^DRm(Peg;UBpHJ*%bmu42$b5Yi|Z3(3SvX_vcAA7^NkxU8pS@+Q6m}R z5SyXu=hiH2TP`%V(=SPVY7ntHW5eBoZFtby_@opEmI}z;F zA@5#qmVrIN02My{m-hW!RmYvE?pg(VA`sPEF5K8Ajv2JXnpyG zKf3?Xn4$lwP}f<4zXDqmDp6f^mH-#wC|IvG4?9w_tcuomMG2!>Bn$)Vt2op4?~g1j zrUg2HUBJeplK1aVL5)`bXYF+fhzVdr&P3}C(yW26I%35FhdEX5AK|ml>U^oXou~{W zfdX#rAW_(HUuyj*j4&2n5Eo%}@W6@+@iuNy_&{vNo0sx`sI0+OH^hP65p}BoXto>% z!H)WV&MN~Z@|G%Xa zSrW%SL47`Bt$l%{$FL3^SRhc{Ohq*5IULer=2pVU!oO=-jlb4&7Yt-$-#X)5*HHcL zh0_Ay5C7iJRm&3&vSeBF_&i$-qkLHx~SIxQmlXt7_?i;>SBwRO%UJ$ zW{`ELE(frTmy3BXwHp(e&ikD?9(2s{Op6eTqkEw`8?r7?EoiwCfvDa09I}77?JPg^ ztbC?Gv&`q#CSY)!2QPm7UDoGYG4EiJL?t{xX>>}xQ0!n{x)qSVnC5d`5%o68578Iy z@w!-tZz%#66Ih4Y_&?Dyj{!<9o!rR~S$0v$3cxF%6_`vXLOy5tToP3v`uhG_m#Pz* zm5B1_@>pkX*|YevjCEn=O0Ilfb54-IoC)`DvS&Ns&IHUX+n{x}{Z6MtZT%Md+;G-9 zFO`b}p~@!4XU2OW%RyMua(9K9aR2XXc(E!5tPA22nCqOWlmKghjz6HfJ=X3cpw*RN zLNZl8hu)McinwZv3xPz;5*<(5$W;PaY=?*8ToQW=gBOb?W4FiiS2A#@Wq?}OR?7Ok z5OWnl%m-w}w7^uNAu;Qcu5o^j!7^JmckS;9&*JHs?_DA@E@HtfsXDvmzh{ z5Ldv}HHt`eVmIKjuYovSPc-KyX6fatF$rh~o+K0#j7F%rKpJs)U9If|4nG%ccabsqy``giyG!WH@_2iolQ z9nN*{4y*<^BM99oMi=S4fqp3gZznSPW|53r5hmLcOCkt z-XHv1Z%q93V<5Ak^$kHvnw*JBdRL4NxTzaRFzhtbxspFAvCrYmfQ)89LrZ~KH#VYf zJ+MJGo2F+n1O;H=DFEP8@gcm3EBs3z{Xu-!`+gNZ`;pJ!)%SfXczpuK(40fJS8vC5 zZs2yp*1KkU=xbWojJxxD{yv>-t%=h~R+2y?`U?X(r$=u>8UnV~HBS+p)Z_+LRT_$^ zoGqIS2#V}4J;)LdMnojW3`AgdAQ0N$d`g`mgdt=nr9g%^4IfogbG7OwfY>T;Qh>J* z&SDrK@xBfsnVLg9z5mLj-(1XPEtfg56Jnw~4*8jN&r>ylh zo5b*m--R}hRTe$iF>C5J_k<}!MeC8u1X@Jq1a@l9wB1)w!43$)MokmRJi%V5TDflz zg~;@TQ{>a9kXd;PL`52ovWvES~CdT+fV#Y!gj^&JB5nXPpMYw0bsWE3EP6GiijU^VOxu6EP`t z09V@;v^&q%9GGJj6HS?uH|JZ89F!6{&dM{$78uyEzcci5yv(PM-_^qYoqyOigaV%qc%lGSEZ! zP8>nBITd{i)q6?=TW-{ow{8%V%qjGM(sVt+gto3WrRJ~^t(2;1p1X~$;dD0=gE8hl z-8iXG>zRS3Ep+|P88{1*!%$yih;52$IyLZKAE4UM)V4K=wCV?-wnn`(g$WGJXyIAi zC9;0;O2{OAm9F)_~oxLzxH*E*S`#X@yCGIe;T;nfYW^s z`@Q?7fD_S9?kFS^?G(rzxP21`S{jX*1lhzEZ2b!N?%%`dv`G^8+cTctK1JTXCm}t! zTPGtZ&vmvxS1AfeUSHq;M<4sdCx3lv+;LV?r}BGd1AEmDt2#K)8S zF|zeg0rW?02UK&A-##6$F52H!*E`Q4gi%7%m4LB8xP=2b6`Zb%mIyNHbL2a%Rn4W8 zXDF1w>u`h^vjiav2l3xg39`H6e2GmfL0-c+XV~#?DLuI`AFArt2GxWkRqi=a&r~&I zQ(AD#IG&@`s-$c~Bf$5|NT63uxa?FAV#0!Xjtm6?+{O^ys6^LqM zEX=El;MMNu`49`^tQR}xfg>|IwA?@rg`*BoA07D4S5X_AHafj`=<)>LZM=3J@5aket6 z%c20_3UjtOs-I_Fv@qN6_nM_Eug_=N4S?%ASM;yf-efhwy4;u2Jt`8G-vt(H7c}Tw z-1TKmS5O8q!)oO<+rg!8fxJQ`Cha(AIO56W{VW@wwJz)5{NvNN*We(7(*X^4viOzg zARE@j3|JL^?0&9<=aRUIl@wJg;tCW@AtNgZDchE{SD@#dgK!!V*y`leIc4j?w2#1s-w@MnZx1UPEuutb`2+7&u>d^CBPozS2Zdi?VDX zfVqyGk6#pJn#Bz*Nqe=<@Hi(Eb3~cJYjIq@%+^tcj(6+->#mSlt-}J4vk*~KW-iAv zx99A!;5MY2 z6bFF;fezxO2U60??^8`MEdf6~ z{gn{GAtVu@8hDd4h)i5}lMg?R7q4E(d%DKn9-|=w(Pn3h*2z3; zNUbM?N82Ms0HZX`5s8%4vnerSYt7#B0;Cx?wg6gJjR#)G%kEXqoZg z!IqefN~#6b(3_NFCW13L?vau*lL3wF*<$7#$?W4Sz4Gv6(T*hKNF^Jm66_Fy*N+kt zVGI&EBYM}!ObByMY6f!(k;8d)HXz4PmD%m*&3iB0cOg5|CULUBSfa+R=rMCZF~*)TGbCcUwq}& zpSViqFwv|x2ip)SN?eJ43 z))vVMOfVRjmX*^!NK|TO20Tu-r6%nbJKZcOieyZcmzrv(_Nt~2X)1)+jnwu>f%cHt z-v#p)YA+_f^?Ra!+jmJXe1h}-eY6)}QG5R*Z0~!8@#qS;f6DFNhW5@4+UXR^k?0C- zA+?Q)O>HC2H#cMtr&?Q(Jup!*h>Z_sCVIp?r+K9o%%mm>1$qDGU1wO6%5ENbf&gPO zf^nW)I>GcD2_S>Qv_zFd*5*TL79aibd2*u7 z-E>YFP^7YC)-MTh3eCIpR2)c|5tuC%$(OEy+!}JML|vH^Oligzp(jw=T1=(XJi#y# zP=g{{8|T~EqG61T2-l(B%NP{mL1YUM>EXoM5wtMGj$)_No^cB1oj5f!)59t>H8W>x z?|+C!aXce*o(b)7o)Vtz#29$-?hL+ri`zHf!2aw8_~sMj-MixXmhJJ|xE=2%-~Of0 zTfYe0ye*8%w)+)u_a<%Th2KdS{LnYqJ8gT8jIt;d{z^FNGX}bXK8tjcDA{d`Y5iHfn^MD@; zNM6nltNIAgctyEJWR`FQQA%t)ueCjp1C&kbQMy&lmP_PFU_sF+A!es-kdH$CKywMyQ3SE7gaYW@ED4&^RM5{PM)^MtF9SeQ#;Dh8Me^)WP`w15l8{07&%EetHLY|FyN zJitNLp*N~hoTT&v+MuM%OfM0~YEtAZkr24<;b9rCjogf{c+ zI(~Je89%ZXvPu(`yGI`Iyg^cV-3&;$7UaU(hy(w?s?%#l@Lcjv!r4e>{hYBvA~4I& z+YQgC?`o{d%Iw0%kZ@mD;SE&fFS>juU$$84T^{zhR(bkN;=+;B@$Is^{T)>J8d=)$ zwdVG=gMr~$B+o^9xK#5^fk}(=3|IKs+By}>b)j$<&m<_Kr-%V}#@9Qk%zc@!WO#oq zu5Sq!tDoa=D6<%rm+v*R?2ziH2UhccAvyj7cjH(6A9U=Y*D{KD3A$q>OH5-z#{^nx zJ^#XN>gQ4Tt?CxfK(<+U36H&0(G9ENV7*yFd2|~cg>H52 zK0{5kyp4MtVsI9(M8{Q?K9-%Tt#4i&(*l)=uyg{9D3 z0PWOjS1W6hsQ6q#Z%&}a1fqkP2V3bqJ22qktUf?XLG3-T+BgV-GC=C{t5V5(SczX` zv5}BbjaUlX`g@=N{so$O<7T092YXx=R^H&3?}Bwv`KI#ouNIkfxWi$avaX%FOo}pc z_UB(>-&SGJ>Lqe{;Q8{kXI@$694NEFO#5&ZDIz|1S-J%_6h});RRaZfqSW=gcxs^r z+c_o|aQ{4e4?=mq;d_fwc2G7J+&VeBg@q(;!zA>0C*RRHVRC zx5&eJ7r_M&s_qgPK37K^$QAQ^$*g^dO5mdxl%4jLDtPfDHq>o(SO}4X^Iu$1Y#(&JGCkx4C@vm z5a5)ek%_If=?|T4Pa!z=7h3cWUW0Fsz+3yAueQW*_)x@mJW6hNz+1yP#S0C%cLm&U z$lE~79ona-!<@Qe^LZT;EvCCV;;tcQiao%Sl`#?<708w%F&WKU@`@dzzss(vHbk7F z<~%h9h>^m1dKO^p$wwNp1ub>zlFf$$BQrFSPmBLVLv-KOGYy0jLf)Ajk3+#D-#9xJ zF>}6fU#-)3;8w#^C~`v5Ouq5#(lpbffts0U91>$@-lH260N~`5Va_be&xD?y(APlY zYoZi0fpaP&rETDlR&NoARA!4vDMt$1NtI)gCo5hPYH^1-F@?K^*a%d&JHnl!Z2-_f zUK`nN5gue3z{o_Og37u-;lFFmsl`m8O#yd_k#rZa0AA5)*a=7tv>ecr4h}IR8FQrG zJwv^LKmI28)9)ak5^=8sV_24dbz(l)z?T~H@c_Q?F4~ivxatj8ag70CKYM0^LYSK6 zdT5%@cWF=3dN)S*7g8x0Xclz!7xibT$!X*w!~{_0<&G@44E!Ql!<7w9?75S z+`^KMmWdfwTiH~t>e2)jg%4~%xanBNkDO`LD*foTMH^&L3K6UnA<)-^f4Vf&!Z2f1A ztOo}w>Gg*-tvbA51r(+MS@(358aRYuQMj4tt9U_U>wR-WJN8EouvgcH`b`%CWfeiHEc_KH3X-ma3-xgPHq`uAg0L15avv}QKdzL1}G|8kd&?ZQmNJrl_cDDR>FP) z(l}ELWb8>c*CElkgcx%wTPkE*MnmiCd-oCV7CGgeEse?AIVaXu5zo~D0ZiPjo3 zol09pk#~t}4M4ku05YEp?rZ6U#nzjR(DHFA~Z-UyD_VikCF*0Q)G(k{3tNOd+mHy^ew|#KHzDGO&bo6e1lT_?+TAWwDJx zKiB8E>}y+ra^AuQcu^|Yiu9vy`W2AexnFj3!PWU$^}tdJm#{1e709JUL{!8?J-e`! z^@T$Sh*q!h=w`TxAgdxfz%fJt$U5SBS?<8?ICZ&Zbs(45=pkf^a2JGiAvlN@msYH4 zq4nJnP^)?gJl<28mRjJ+Fosk3ibYR##ihW`(o1@K%$Y}LU=*n9wFc0v*hX2l9YD3r zRn7DaLKT^y!`~dO~mu{`R@wVuYOSZx5V{THU>#H!0!j=iZYBIGLk zk)SS^79%WrYrssqTeRRstksNC#h3b3NH}q=M)NR&5c4v+M zHY%4wPIvs2C6T|e*NhZ2u;|1iyht9#Jf`u^cFgF==dz>)2A4Ws#%7ixzi1JEkGT9y zs2o?yMIcnMVjVUft9PvFCGtIorIc7Vo+E;4li=v!z{;wuh*K|u5lc*5yZ->soH8!) zWP6EV4YaI(eKv7fc*$(#uRvDrq9S~&@GvOOb#~EB$ zvNgMf@6`KS-4|Nxhq@}7v9LPURoFalvF-Ob<$R4rFqBCRYSrOy#A6sd7j9hZDA6+j z98>BG*P<<;*|r=2sH43G$H5hT*%adh)+Fw%gKIF&?60cJ_R_11;~OrlYq3o0LcwBE z>#!S)_kSS&b;)(1$C z%0svQvaXWL=8>%z8hHeZL)l)+_cd!^bz!L3Dby?h=jUq+vusPU4kIeuTsDGzwuale zj=;xSHwS>kdKc^6)`@6-zK}Z(bi9B6Oc^6!aZX38OqEx@ApLnRT+B_Y@+4zV$BwnV z1=e$w-`4UHD-Q`jw*f^KNWS)`is?cfwy3?4^}Y`l_fR{PkRxOng=o$sY``<{ov^gG+ORU)fzRb#7E%Dr5aDcE#3zq>UD=}JU zX#Mhf&db*}^s+$Vs5VoV^v5GRsHk2FS9Y|{^17An_pO ze8JTB(Naa&635T7;2>7FMp^!Fh2-Oru;dR_!#R1@bK(0Sxx8mb!BC6Lvm*Y&@J^@_ zF8DkaB;{XKWL{mAm42z z{VaHjF-sMu3z?gN;N@A41Sw3LC~cjv*3P@cOtO<@C$LL(0@b#rp_`RZ%wbYNbpg+M zck2l3)gchaI}0EOk|ar;$BswWC;ZYoPyVep-g)+i*)(&iksS0y&IEm{mI{K);m$E< z76mFe1p>)3l?4UOoHcH8`8Kv@14T7Ue;KKci1(j@S1s@)6Hm^m`%U=Fz2u#M_s&j4 zHb7f|n~_VrcP7v2*wc_Rf{_&vB8Zl&Y@;jJyE$RvqVO{Lf>p9Qfa`|U5)!5xRB4S)EJHP>$@6ZH9u*4 z_(e)L7oeI_xn=+nNR`z?uorpyAynhvaifAd&Q+&gUnvr`%G~9^_+Lkgi&;sblNK8?u&A)$Q900vU zpnLS#&~2f81f-;U&DE$BTE9Al8f)a2ltdgHcSdOIdt`NnF%uCXX1JEq6;2PjGK~gs zQa+iCIiY03*4{I;D*Jf2Pn;Ugq2u1^5ugTYB4?&RX|he`On_q>Vb9zEa%2kVYB8bA z*4W#bn%#BJa8bY!++)WMC?a{DzS-u!CxVNYj<6w4X1p(J#AgY&A7=Y^9HvgPAqCbGfEqM1f`j}u#4|l|LE`koQP2tqG+h+s8P>{>>o3oU#1%n=Rm;2or z>WP@lY@#P>7W+75#T&&SbB3Z%sp43Q}fgm_bmJd$mJE(SSMk#TiJI~EEG+4#K%k|_h|yIl8+ zWGMl2L;Cfn`$NTW(JPk6k2Mty(VmBcJRmJH=$;iIuZEDF&POc9qLWx;hT44EvXsjn z&#NfwLWIeNf`p!{ z>Xz+EeI1lyGy*8w8Z{zj!QfmVYAdY8OJ37(3R$w^&Z0vBO^8Wki%I}p3lbNn1XK;` z`BDoqa{bfSu-yZ4_0Q)5IeEb{)+|OMEZS@fPw<=%gOUY+2Q0Sg&($mfaxS8RMGk0z zKUgZ*V`g0?>m{jh^-~~dC$MAXi?(i(0BkDNGfmfX$C_yd@Zx!2Gyh_BDpW2U1xDG4 z!0Tk?w7+L81-UGki>NOPpn7AmtbA&dV0CWz=q?-w2D2;Hk*jtwc`>IQ)ZC@8_7sjH z*l=M1uPf(t*gb4(So?HkoUyPrH|@Fugz5E@YjP(T&c0^)Y*Ynk{2*M2WUDF>OYFHi z3;@V;o;;elu*MqH>}C!wogfyb<@@M)Pmy*05@I`umN39&{HXS7)c01p6NAKo&9EM7 z*=k#Ah?0QRXB5ci>$7VAl6DBK`20Ky#wEi@!QK5bz@;_7bIC#KIig6hS#k=}HcfjN zZMA%779M5gd+EXnA#w^x%DJ-I}&V|2S*01c*^js{}ML?~E0n!=RRFt-yCiQyBtPXrvSo$SZ zyouEgfIM(npvbBy>Lqs43Kxf)VbE16V^c+=F7yTlh)*G(&rvoe(3OMCKvShKZs>$$+x%1@rrTMGhQG3^2 z5?D`LLu)E#1iX)eh|D8MqNZ+NEQ<0tJXw2hEmEQ`-a~PnYl~wgV*%E4*~`!psz7QW zgXoA#((;)9ur7-Q%K9APSf7FeKxJL3JOZs}V^p#cu(I2kq%RVyz%CY4aQ6vHnUA`> z7^M=(=gx+Kom#|7AWD);!oyE%?{IZbAj?B7ibXY8lBFV8`o%25qXZhrBFvVhmgKny z>poa+xkMf+k3|}Y)~Ky+orASeozv3%)zo5NvRHe+TC|kN)(~=`k?R5>Y-LnFCTjq7 zmdeC2)a&RDx2#F-UPKd#zIakVr-#Cc>)otm+0W!E5Va4BVDzEEnxWtj!viE--!TQW zM(^oL@Rrg^RU{DW!0TvD^HAwaC2}M^xLk15M20(@ngV?bJlW5``R8AI`)_!4a}ph7 zHlQ^vBRp0d5|AXL2K$)8SRHDYWMau`>#bKRp>(5dgJ4|G4>$8VT72hAeZF#1%qhKo zJL5yA#B~$i**(AY4C>hwZ+DNT3lUenzG?~M!bKwPyuLJq3O7PED_v6I!GuLTHBf0m zcilM+nbQp~;T`~#8pEJY!~If=GzuGx4G77ZP>;^rIXtVNJRTd}eIWqs9XS)dq+f&- zqLGmXzfCey>(26aAGH@U8v4Aeqd}*pBC|3;1#!QlVir&-KBmEloPZV3#eOsadpg>( z6C(p-uls5Flfp$rG~drxtldwd*@B;$g<~+7qv&4(z0N!;u0(VbrnP@Acdp68WXFAs zBbRY)q?`hW05XU@EAh0S=BW6c0Hzvl()L#m8}W%p#0RfZF9!INH_*?#2Y&oP;KA1P z!E5p1Rm-3H<{qDa3wUD6C9bx>7R2owxZ86{8tQpE)(~vN&k&a!WEC{c#j6g1KvC`$ zuUiP2t?t&Q<~4yqxGA6<#fOavoVA*P1Y zweJ^3U@h&|dSz6B_VBvq7+EYHAV}t5G7`MLsDGq~Fa&k1F@ylP5k7D2+0auTggCPM;4RGT;4&(l}c4$?~HFvr<3qXEM) zs3*{(%QjIiYDYdr3@bpj;~=U>{r%m|W9*}LX5HxP;`;% zwg8FUfv%uOxf=lV$or^|@~$-B!(~a}J9|_Xu{N((hT?;XYw_xY>+PPP5jRiYM7#eo z`iDM)of~+*$;c6NKLh7m1EF(A4T}bdIfIP}V7rpY1k={oGZbvf7H$UVCnsZuHLG5@ z_>ObGtFz<|Tc>#h3M_X5PoSCTh|vtdC8S<~X0`jyB|R!{6a>J%kW*i7k#Whz5X*ib zp&1qBA*Mp)bOL!wA`xN&#*$rBcrXfUzaGvl2zR;H)A)HedkN zf9ITdiQ)#d`_+AFp@>0rI1x`U#$#r-0w$?ofec!J?S@=6 z1)9)LTr;o?`ivA?XulP1Z^+hwc_Tf02hia5zE6VljCp>7Jnz1r<{gl?0GhQYd8t6F zkw^^ZkH|Y2d0qKGlSc)W5!94gM&l{xJ{Zwne&zlD;rl=E>VNONdzyV_sX40FKZIe; z@yws(>?xL-kvf1&meSl$=lndy0{Ca)Lj=_hu_Gm*dD!j(!nEpXm8!k~NM$8wxrX!B zvy#=I)eeZlbrBI&H%2Tx;6nUG^EvVCyjr&fwyDlH5@Okt6hWBo05vczfjz2jUeDt< ztSM0*Yd zCs+Sl<;Tlf<-iDhrh_`xY;{*>;Wi7j1s4`!;4-5K2(6AgRkwvM@c~t56H6{@5YVC5 zu<`$ouRjmEcF(SZu(kH@Iq&<8_x9~cJxZOn- ziAX9Wu8J{n>^LE&NGcF0Dn*>c6ov5=W8`3x!UMs8C4p^Owgy{6s|WSHeQ)3Co8EJt z-`@FSt^Iq>m8pCxb>F`4_nz}SzhMt+uf29Qs0eqG_?OTf?_78x-MQhHyE1nsu#Hge z-u}7zY|H%8-#-g${y?Aqg@dqAdm)34h=s=-^|i(dbf(1>%k}R$T*$Cd$rNM0!Bw>B zZ~0r&_)h`z>ijxp<`jM;g7BtKbq2ZCk|NrmhG!AffuBw+LbH2*99PQ(hB3k3e~hL8 zIKPkdJxVVcmde7&GWORh0U=*%IUV6Gg`@Ms`*vMK^Sy_%IqNGJgf?(1?jzT_5dDtr zGpGW8N%jhBePh`Tq!?B-qCF`FSCsR-(dT4BU3R_?0G0%Lt8tWU!@}D0 zxNvGFKXc&hgRY;@W&D<_96bfUuF);Hrh<$;3{-`Q} zdH($h*hrZ9?$lY;FdfrKx6UD6jJjTsHe@!EW62l6aU~WbTmXJofPFu**ZBbNs`uL!<7N}Z zpboRII+t^xYm8SwsYfDLm4MOp+_9Xx28lw33%LSgrz+^7u`422dNOqtUFiLhdcy)1 z^Bu09>P&=71)>U$rX(Eibs_gFkZCN%?1FE ze)^YQ{e>4<9|ZDD#0{A_aLUq{_KuQuNGn{ZA6ZO__!d5e#FBSzJ9!Ftvx@OCJ;8Xy>wPB;Z90SMrQY*~&_k8z=Rs=-~;@?y@Y6Ovh4vTT!oX#6{i3O$vvw!Af9XcI5O(OWKEEgvCGT~ zHh7+>vAGAX$P3bJu)_Oq3Ln@;7BhbOox*?dD)2X+pzaOwd)^-yf%?+Z^syABAG%%A(cw4u#HMOo8~UH@ zt`j%W^-fTFSpcLlUjU@34Ym|i%L~~~8sd@uF=GADK1P26@ZhuKk5QfDZnvOj|9tvt z;3$H0KyYPCK z=`+-aw>qrC6&ALFqvaVp*lI=ui0gIGSF@vPuZ5q9B)5!e*e!AjaRt;+l{JbrMK>Q& znUxWU;)rTOQBJaimekA{Q4*gpaN`JZatO@eM3k%n!I{*!041)o8f^kJn!ZOqju_hs zk6!*D-+l9SWIoHd{UG^)k8ykWN`a%e-NxO`P+Qn^fL7B(-GBgNo^I%&xLJ&WVnu?r zwcQa_g|&ff*lr+e7t8
X1u(g~oXaww%AIf)TWpWl&~;&?O)$_i+hLL~=z*)>d9 z6`VrFP|dCqlbZGtN$@t27r4sG4#H?urnV513Y@?mW^MFwBPD>B0+VOftmY&{6qtjh zmGX3CfIzUQsU3B>NZ)EI$uV$QvnBu~EFhi_LMk4neyxbw*eYbFaPMn`j#74r~k(QO+d20?u*c-C!yZJWE3j{46%qSYG4q!zv#BTuQrxbb7U7c|#;k#jsRD>|ZOu|J-$9Ei`_y@s z^Y>tgMQie!d8&GUi^8F>Fqe?YTRE8{XLVo{vA4ue7SP03#^KP0hDx<3W&5*173+pS zv-gW|$Afe1c4Q4qiZ#35ue>KKqpo&>6qCPQj@1g=(mhs8kT)#h zhzLhCQfQF5?DJ@=1Cvq9u9!{f>L5UK0Kx=1k@k3~jM$KISBtfzVC;&O)S}fwV3Qt= zi8;EH+^&fWzLN*Qq69CZC32edsiL!uKAbGQvr)Tv0Ut?H6ykuns!QVS*WVC?-bA z9xVIVSGI8uxX?Bs5_9rTSrUS&gdgxqe}a~r#-PL${&4f7)ae)e;pk%4vSp-PUE62T|avSB9$gh#azd`R=>OUT0cID9bMIf6DMMoCRYy8`9jN{H1G^x z;&nhGR@!v{xm?e0dBr0gqT_5|)j>+vaaH!p#$0(*tRXJ7)}`OE2-Iw#Th2Xs6iakQ zdT0s#%dRO*>% zVhg&q(Vo76D!58HZB&popdNJ%%v0gTb0o$<&Gf7RhZCLA)K&LKdH(}I>h}~R=)BB?S4;*nl538^ z5tjFTsKb~Y7U0-(6Whvb9mgTD6SB-#*P__75{3&~-p8wR&1!{YeOtF^b{5@Edd*V6 zabC)H57ULkpjfF3Tj(H1Un(b>m?oO7;zp&5pMKZu%RvoD0?fMBIqD!lk$y{u8K+9m zR~Q6#w+EsepsE{8xUdI^*KrTK>qbolvL{)R+t4{Qq|nh(bs(rlJO-f#iJo_$!2ZFu z;b&fb^)J2i{PG*2##pr+29*hh+F&OwZ39XVZ_ve^3C}pGQub)4fFuVss7TE4Q5%Xg zOQ1s&f8#JXrpKUg%c%F=5+A-zK0XoeyEpI=?6`L-+#69bCO0CtAWu~o8^kCqkm}y4 zJk83K*bYY)&fpxt$!(quzjb`})ku;8anh$i}iNgTcystg*9jq8Sn5v#u~@Wbjgj6C1TK(z(ED#6Ndc97~wfm0;N z`Jzx^w5l4XUc=%R@ZXc$d)ia9S6t~7+z@;i^LB`%y}JV|T>sn_f5d;q?|YZq+q7dX z03$5|S44%03_DPpzth=&6tFv*>3^3UhTHR$_lnhqP28nvt5<`zih&vGtK|BAe`bkZ z(Pa}FG48%KnfMbDo9PoYs0f9?kqxE+7#MYOdukxUx-OWDbQP(6OE$JByt ztFnrc@KN3o-W4@HdZ8yh_S?@d{#h2Cx`Yv_TB%!PcacoXxMi~=7Ag&(yV3UQI?h0qW-^#Mhl71LSj8G;c(F-?9-Mj|W)?lo499sj z)q{~PtdAzjsPAKRW|d%x(^n-#nENpEajGmC8ZjdFQkKrjL?L6ZDLt4} z*3b`Fm;n+SZ|2S%oGAu3qPD@hcY7QAKI<}*bC>41QspYRZ%%ZBQ#^d%`}yMCcd^gs z1s9Td`##3w4;03R{pK;ijoePvms$-62{0;0k=O`Uk)slc5sV~I$;7s4EUENkkjTV{ zpxg2@Jp=}*s;U~Mn)g%=Zft^9s&5!0BBlVb$5S$$P{5VCWDH|I_AUXp>8dO`u2dvQ;a zRZf$2P^aIZF42t&y4blVikS-JYM!IAfH@2MnKn^@+=2ZLxH}gvFNit=`z1M_`R+DK zJwl=^TLN>XOimCibHHK*m}Ev-@Qq|t?fWcLk_)!GDwCpHL=dOjdv{;|$#4D?HoS(* z3t9HK2tB9*m-L+Sae3j!9t}kwi&f3rS+5F&Te;lMJKG7)g;8lw&Htqz;Wc8U*ixqAp7*`Urh zMGQ(Xw0n(_$Q4`q%uJQ3^`vHAfQ8|hHxY<^YTKg#6&|tbz%e9cYKHn100=T7G9Sw%M4Dq*w;yAe&~1{hTJ2U6t6ofm5HSeVQ?_^_0yfRK)=Ef`QGFnezOi zv|s_K2fx7>OO%51lYl{^WG>8vGapAumhxf$A4QnlO1WDrNaQ-7K+pKp0i%j5{%lkl zH*%-fb&lzDYdvmX&v~5xo+Vc?-h(k{WK9oy(pna=yl#=LmIE|y>4HU+b@q*xXqHBx zHh^gm)^~y-nrpKVTDF_j#KUrQ0QBa$(2uejd$J#+q&&7e-|qEW5s7`AF)@v8-T_K> zhlu7n>$5s#ZLD=9YU)YT(N~#$-k%$b@uO&|^G{WijcH7mExLn?T8na2s3^06e-8t0 zJ7c>x6X-hmnt@4AZ}j~iMMrWSPdOSEXy+9_-mhG+)F``F5-|z%3J+d|g;G$bpLZnF zwhY*)`FaTL-%Qa6$q+^wEiZ;eje%kqpo>u^Rg^1dZL>N^58vyf0HOom&jz^ru%Cm8 z%hWw$;p)5ldKXG_XyB%*^_|*BWg!L2aV@S3T%$|yhd%p{D$_QY*T8dn0R%>^r#~DD z4OAA}*{v5t4X}F=y%GCR3Ik_@YX#Fr9y}LmH)2U#HR+k)vAx6~AfFrtYOhUf6q8HaEJ|-RPU4N_JP>Z5CGkb)=FG zTegXuL&mI)s&}jJsE?A?s@JU_8bG7VtjUT|-DR+T--Q5|N@OT&iXPM>0pUli3B(EI zp`x9Lr3Ij*b; zQkCs;Ac1Md1$D*>16y5CzRQ6`?h5R>fW>x>F4FOECHki>sC7U9tYT3bJdO zLsK{_htDHze;f=r@i|psrlkIFPFuY3J^H zoj_5 zz@;9_Ghj;aZw%k(RVM>LTe1O=rV_QlmOXVf2jptq`p0=ZOvGWK^~vFPkf)Bg!gjCL zp0-az@OF!vn}Mg#?{JxWU5W&DC?%Y@$EaWb z>5uT87kBt;Uw%sxHLxCQp(1XP^wsjq6v^;N(qREng=u}V zP7SHfg_Xw1+BW~IQyV#6r+0P5muYa`X-1(1yv)mSd}~Jt&6Jo+o}vZZ2&{6AI#c@8 z!+mdL(6f$fVmAmcLBd~g1xwt#lmx62k-F*&)yPp{RW24Ghcp%RQCWylRtMTZ$C;?Y zHi-Q)rQJOw`e+N8dxRcuC=gDNdH3ti;=@njMP#r#$R1#*Q2{`Sp6*RJKj^Y(|-?I)^%;E z1Fve60mIS-H;gIKj2+;%P*25Jb({@n3!aapN3hO;+e+JrpqXC)10vHI-Sr;z=Uw?d zm~|Nah&G&T0#ej6rPAUA*m{;Iha|3d;8>z%x)jGt!v+jxZ{-43tw@p)m3_NJg?02W zoegjL+~wb|>}vus(t)@C0viqW3)cj={fY(f8Z=ey|KFcs3ZQiekGqTI=GRB}b8hG$ z*gi`{JH*wm?_JR;5%T&VWgnUeiM+(iFTe7qKl0H}{Eof$eLriGC-+$~bO*v(*e$6U z7|JgJ5%}1kuOgCw^3qX-w9fcqQs)lfgcuW51FRivNz*u?he_)9=~}z<&KRiNl|Q-b zr0WXus+M%=jp*AH&f)zpMh(m~>92u7ZkE`=Qd3|=-)daXTa=t%GlWaWH%xfzD-8XP z2zUN>mg%v>bG~DT!vy05>{HtwKvrNg(4I8OuL*1gN5T*>427*WWKAG83{LEmQUM5G z;_Aq?fp`%ky6;e^o8>|bz?H3l@EwEyJ_ojKu=bOx`ASl>9s|M#*tz0W_!4&WQ_o)l zD&W9KpA*8&A|`T#T$%H8T1&UBjn@3YrfVM_YgVNe?e^K`~DT3181ZFRKMYaN|$n9N((3JyA7 zwW+nc;P(y}TKwMWMm6=HYrV=!bCJM4U|c1!bxP1Oz|-BE#y?0EH5%(<0pJA33D^^J zG!-Qfo-4pCF#6t!@s5<2Ep~}R-5Y_#9F}{+5E*#rd)vAvZ*+Yl1`3eG{2GCO{p9zCKu9ru8yhf z9$5zn?rL$Re@xX}2q#@*@_E>?%vGgTHiuM8hy6 z*HICOXuYUT6W~p3XvWetL@j=p_OKih+c~K7(IEjK{$048XZGpFF+|UYBxRf!JkACH zW@3i<`B|%S$=)F33R#r-meb}sU{?z9y1{4hgobqkWLtG(z6p(?a zi5V@Q(q7lGz8R${-w6*0le4iwR*W9#A->J>Cpxg1m?51{l9q;OqoNW z(0NRsYZbuy94G}?e9+yF%H~SlOR>(DI-v$81@2;Mro-lY+JhdIYw1ZfYoJyz35X?; z{>({W%nq))jB0?j3zd1ye2~+EJHV#%Gj)Dd^NmY)+e7Ybm!^ki%ZaL8SN9&72Yd(F zZu-1UK!Jt}PqphpRS?{Fo=&6o_cP{f|wxIhq2KSi}v4slN#NKzRDmR!Z zNg%1_z|3q~0tO?eqB9I&GU&mhRbs)B9kXO6%m`iq_K^a~lEdZXBf0f|c*pefW;IN^ zZ1G?49woq)!PtWZfO!GJQ|i2+^1j2jtEEzGusVsZ=r@2V{}Q~TPiS*usDmfGTG^L9 ztv+x9t1n2cvwA=J=WgQ?g5x!yPdfa(WBnqI(_j{^BUxbGZ!EE>Rk8H?h72a!m~~yH z@dyIuMyOQB;i?$08ZE`i&>jXMRdQAA^h~9+CYdW;>VRT(hBz(jfM)XQ5}L)(jDEB? z>mEr4kVJ4Y!BX$RWXKl7msMdZAKlw9GjX2kb~x{6-W$NTec&O!__XkAzwU&Ozw$D^ z_nSU~x88YCfAYWlMf}y*-a!%Acv7cV6}jD@a%xO1fEul>**#%^fX*REZb6Y%S?P`f zKN(txE#T;eN4l80M`9~m?;=*YU1<`o(y~>=?{Yk#D6$D~fGxP@bxztVHgu6kCj@%E ztFVTHJ6-Dr?>ELF8N$NQz9d0ykt9Cxe484P*^r6Q=-UV%*vU7;jUp=lb|(Z1JScDot)D(q(fb)&y_QcRq>fb zsVT`fy*lkv%y&UzBj+p()h(3e6|5FLfSR8CM5%Qc{-`mMdjeY_CxXQ8GG%ZulI7v( zF>DlzAyld;Y9wlab7odK@`}hRMwGIqT{z6nF@l5QZ*zhZ%-T6s+L(nHQOq40Oa0B? z_^tEVJ8#FA-*}Y|#wlm*@qFI()8U&x{7P{q-+lHjKK{Okd9I2UY}bPfFw8g$UnKs=6! zcBKA(4z%cju_b5S{=40WX(mn|9ZA!yLZzOMGC_jc3awwGXE>1etJJ zyyg{@UthfE<2(BMnSy5>O#aID>00}G{ijVkkF~0+ccjl!pO01Mu#Hduyt}pf&%jln ziNo*r-|aIKSL^5D!Ry`D8DWPXB%tBLAogh?&)vmvPMLZ`p51+ zeE6r&m*-M5a96u#x&#IVH09KBVK!Tns9}l44yhc(MBixYpNV0mzEZXQ3ZRPtRBVX3BTeG!U}3JLK44`xIC8OfJFBBaI(|wS~m0^Q;ewN8V%pIkkAut;C(K==gO&2TmbRojn z0hE)4*uNkS;E#zBbn{z41EF0gfc7XH!iw|VV7BYMS9t^?Q1g78KMu&amh-g@!&x-D zEf`JOD*?4Fg15Y3KZgNmdXTQmc7!@F5V1PTg1HUF%D9=*_C>=;kcQ)50_GZE@gC9I=Nsw|iK>-zk3Bni-#Px+;z zJ$Ih8Mt?K!MA|W?>8MRjTU~&I&cNm~Wb@L5(_qt6aA143Fv)|GP!NIAVIKg={nQjd zFW-EEWLnH@C)bR~;d|K$M7zv2^8;KFkYuA%_(|h{(i1v7gaK&B&`U95THZ)`y$h1F zP{SIj2G3dLnUU`;m6lB?9d8Z0VAUFF@2=w3nn~D?bQP`3mINpUr6j2rzR-2;EV*NJ|CAh%vDvJX51xy}co2UsQ(YB6uo2Fmhn5kyAM2u$h$C;~{PJxzB#q z1pw#g7{1IM`%pe)v@>kLKY^|Y$+|iQ@kMf46%A!n>!q0^<^u~?aAfeiQfIK`b$|r;0x~3A2cZp>);#m-Vz&z_^Q9Ik zqc6VV)drJgul!8Q$O7GBrv32ZLTz`$4o6@o*U3$kv2+{FtDtpu?B0je>n(HHZo-l( zJ?hMVC;OQbSOZYH^4CQwlq-_HWwimE4nez_4SFZXqD6tw-Mrp6F*^q_2+c0CRJS@Q z#!vsJicE7E5k(a?UJ{*Hg{i!H+avD*Jho@GQVDY40%f|bsS83bDXHi}ECb#1Ban5~ zns|io(>7T)HkOetQ<>U6q!Vd$@2)}E>iF8uN3pBVvQ4g@<~?H}%11eE;FYk~@h&dTt${VEB1^ZGE@7YL#dd+*g(dZ*`HC%@1uQ}pbRXF3 z+o?@qeO^&~?m1jwwNXB_;e2Q8l&S%CPf6DAcM-Jb5=57QSL)b$kA;b5=P%eg^?ZPe z7qe}4L9CKih)L;!4%;CJ3RL=)SNAk+r(B6q_GcDGdNN4amfEh(Y$w~T$9@+_H&qVa z=EP~+fDL%#ji>+mtIwYOE(2yY7#Uz(V1d{c@>Q~-n_KJYTJ&)=+*pN4kTC{Z%2}Tv z16mOkGiyh(PZWInI}>J~7u)Uf|cI&{zo)Q-Wraq~T4>=>Z=IvTN7`k&jBcv6rag`gWg1KiX&%~`;< z5jD#*D1|Fl_r%Df9Sw<17l2X~G?N;@K9PeftZfvj1#S8iyUeTISXQCMJr0pEH)j%z zDooT21Sce)()}|8-HBdBi4J5Z4ZiTUpgO$TTZLv-?23wcTM?Q$!6xo0st6);p&lGs zCx_{lt5R0QKuj`6b>CM_GPcTE!g{p@1`C>{VT18IzwaCJTR-)3Jix$5KK!_T^7F6q zV;}wiKKg-2c|nm1h=T#$Zi8BsII`u zs{1#A+ihUuL`2~vV-3veXSwsPfzhK?JdI)C<1vUO94!cnUys*qR#?yLow}Kn_W_{ti?(MI*MgjFWo?TQy+LrN?i8gi~gy&Jw%D|36S>E+?Wm(}_TJYGXv zxFWNaQxlL?!X8@!@Z_tHlHYhb*=CPEHT7g_Tb2MJV zGFk%NQO#%##0Ue{jub1A;ZArxv|?lG+{LgYtMjZ;wT^x_xV(p5jh0`bK}Wzn2L9aR zO0a9YYgNMPAC4w6v4yj6cI?fy?a9Jmt-RDmL#yl~ry{`sLTXhJ2B9mi`ubKME#S_0 zbROJAf<=(iUS)&X&gIlg#+3)Q#4XH-4)3o-1FxiidjA_UFzHj#*nx|*kYG%$Q8~;P zh^x5?sKC;<_kRZhd#{t{viFA-bQP-xxJ__3lRP>uxB5h<$BvRlDfUV32x@3HEjc=q z8ooLdN78fjTpdRjW6Hy}2e1ZSR}k2DR1A-daMVdCGBd5HsYp#q&TKk};;mMTYkJA7 zz!nk*3=EqpSxZHru_!GHUbQymd)LI=o`qN7%GDdkV6>J5T-zloqzbSkyVFz^n)*;0 zkiBR3cbPFBl91YKm-H!|G4wFv8Zu*^*d-S!_ZSW1ZZ=_^?@U+{Xag~YgOC`xV`5lz z2Ubh5X%62>&&+^r42?Yjz#7KgDf2MPK4eZuluE9>k^av#_@5Fyo>$VFj`EEG3?ep_};E!j`2JA%*qZP?p(Q%vd!TP zyXfvMbXO_SL$1^JhQ_b7uU8qdBj8mpuj9WI`?t3_emarCFl|IF z;$J&4r?~1%j6zL8ikb^k(%)WfcH`JgyQ&_3(UKo| zhyK!E_5z01YIUYu2N>{70YC)|foS@76gaAjtHa-*%U-DizXl8YS~)0bkX9GJix6T5 zP(m6&^#pmZadzqN5UoJKfH_^@aPYB!?y`)T4C$m853@8hvRr6evl*y1&U9cA{%>R1 zE7+5R*ZhJ7(3YLzlIhX@T5Eg3gY-cZgxNs70uTf-a!MuE=Yvo%ROr^XE&ymfn+x1? zJx~p60x`maU$LOe)x**nkxIq=yCoKbyM#Ls&~l~&GZjtx{;&KkufxE$JvvGPwZ!L? zK#cd_T<9vTDFSBeA00th&rqw68*R&cetN)N|8Dc9gB{!!b{8U8`sdLYS!WdKO-2_Z zecZ}F?;r?}WLtaFQeM1@pZz=KB3>$YmHwcMCoY8P?;X6?2(=IQd|WS&ij6z31~;d_ zw{1~b+9yTDWTJ(w(ELEo2bat z1c1WKo_D;|DLYN)w09DC$K&N#CKIr#3Y$wRg+Y$KD0H2x48!_kW>&JyHNl#;E})jUc1SRwPjUAO zSpuO@tDt4~h)P66sYF&#z-=mo(+aWuBM~_q!MHq)0_O(AbgJB7f!e64F-AJrIf6qZ zikRf|F^=R2=02@(chTP4vWp{EJ^+gyf$)W&5Y(6~jv=!Kum-ZWE{& z;l#uGIRL7%c;XIJ)g^5w%zHZc3KV z;6J7T@o7L{qGts;ZcE*`Y3Ec|2_b--io~(06(Go9i!?RfgDS>GRJpy@ldNGGBKy%v zA{1KmP3^*zChwLsd=}}b`$Z%NLG^?=LJyKv(-@@=1Uo-Ld-opVC;qK}F23>8xA@!t(O(Cizk_G*zQB+F)T{U_U;J`C2-LIlh@be% zGraNSS>3z2hx?Bo@#nt!q~5%HQGpGJQ)n(XV220~g)3-Kxh@|@7D4Ji4mc_1TAA86@7 zl>*KBf&xi3wW(q{+vvoV?P<-n3X>bfY*GGTWWLHlxXW2p@_~iZcKgMTf5WH0|8z4x zKQ9xPd0y=2Ci}H?hiDvF?9^C2Xs#_4F}9<*L-BaOtvxHPD{f$4z+EhGv^WL&>H#s7 zE$i>FFgy+=9cK$CbPxuU!x&3ShAn>BdDRsN2j^de-TFM1%$fa~6{mS!?kI-<0QPO9 ziv|!7G0m2iY)BWOTV>oap=jIQs& zS8?f7fS$>yqP=1ql++)Ts82)$E(K`V%4RDnLh#HkkO{9*p+Qg5Zs;KCR%6QAS~q#= zP9D<1umn!cK#eBC`dzJLq0FkONOaZ3DF? ziaG>D<_%+fM?M6P&uRDoBIoA9&%z1((Nw1F%RdzUXesqEj2RmIv!_Sby4#%k1r+tS zIj@FBMak>$UPS`*SyBk0d+R!FpQVD%k)OSLg2QIG^tw{(u?wJ^)Fj<4BF2yrwBYo_ z7M3ydjEtl@6Vh1AaIWTDVrAoEr&L!x{j92$SHbs2m>LQu)gB~eor5d1lsi{AeNHKE>qXWDvYbd+$4F&8H%Zc!K7mZ=j!c_@ zV>pQ}EZa}B4xUDK^=bk!7UxgML&Fi(OYX%C$3)(!wLQH)TBJIVStZ?66||ejJB>eB z5%!_kU}m{e>9`5i3#CFtO*v0!-D7J*+|KjZuOsnH(325;_OP_-r(R%?2#LYb-^RdB=5>Q%UuHOJfl`8Km?aK zh8n`x3ALf!bv=sGyGIMoD8BEC^aAxAlq3npAvA!#T6GbA zAG>PZh<+8xV*Gy`M{>sk&Y)+nR216%(OV5DoDq zLHF==K~Ud65B7y^UrSpl;P5+@g`{lz^_T^wSwsagFsD;4#tWl9E{sypWo6B3uZNXrJ z0=1s+?9;cq)1c*AWN%wZBZEnfftjT+wqjvtsA6eorPa|nkqimMrhKnF>#)c5IOo=a z@D0=LZA%#zvD43D96t|UoqPZ-8q&a8r7S+hlB{CHHc>OQrxLD#)%s?lhU8h;QxAg7 zw9Z=R9*BRs(-L+N#KKS4UfBc94f%?wx`8NLYFMVmg`}9Q+#itkI z!M%HU`|g6@_=Eqodh|`-R{xFP{JZ&|{nY0vc`PEJws)yI_}-T&9czk?U3CO9f}|2* zR?5L8LSzOetcTztkhrN__`4#T;0R|Ost_4umto7KNF}VQDl-nK1{Ah+B9n-ria8Rd z`a&jC5$*tRf!T#3kFRAwz$~<e|#4$V(DorsYIoqSDVJ%)Ha?S)d^HuhYh-fklYe*uFg-FJQGKY{7Q!g?xC&_7ndkdhEbK7HAa9K5y8sb zvu0thImYRfHM3^!F>|k%AHK|we(?SHna}@i-rT;7Pd|NPJ3 z!{70Vdi5{=D4x9gjF-3G!q?t-2Y>l*y@3yGFXpRHFXP9*{Iq`T%TLH+z5MtA9zA$m zKlPQ@>*?K@j1w6rX3ercRDuVJ(b33|YnSp$Q4+CZSpiQDGe^~MG*L8FmTMlKZj;di zGYvOI(5$uz0^Dy{XAW9`E0-2E&Q#^=mB^ZtskFI!{uS6?lC_{HAZWStH8_c4bqEwJbF)ga*zN6CU zPX?so*GWFKf1QLYZa*|SIn9dNV(pnDV=RQF(t+0I4fXo2#1XK-2N;(Ree4_lh4;Ph zm49i!d#c&=W0u!+&>6bYo6U0{-XdYlY^!E&vB;(dkt0}XMdZeViYY$1xgBGj(M9d z3r2DXV@P2#k5r6#0yeP(+zV$Lvc6^yJA#hPTp&2yI{`L`}$O`qJ*=Q z9;DnE1>$;5EvbUVl33XTT*xb*iS|j*an!dNkoWD@T}n$Pkt^44WwS1l96c7pwdGi_ z!vekFN2q{$GBsJgyTcgD@f!~u#>5smwhRKp1;?d40f;@7ZowofbiZdou`{7{s4j(S zWZSjWZPq-PZZ>s|;C%63l&KD?Mg2+g!KrL2c8D>L-^RxSId?+^}Lq=fXgR*|{V z4>6t+&S~3TxpKE`uCSI^q-El|b}wwm5E(kbj3iV;@2?V7uJ50@yqc>y0ZlTrCkf50 zLme6b_P)w?yYkSksjkkzwY_pc1g{0$5rphOwXO@Hn0Y#^fZOqLtTwd`wb*`6MJH}D#vSJ zi>o)q@EAiZ1K$oQ4e;=YW?Tj2Dl}9_hYS>U9hy}Hl|>b>r4^__D3u;vw01NFn1XS95T_uIGTVU;Tx*vRvGLLUQ=6CW<6O_v z8g4Q`GSD3WNKcC*Gxhm$MLDcLHmUB4LS9wfJ40)y&`@H-K53=xI*LED|CvfY+6lLT zn>Nlx(1jdyVJorX_SW!|F>ek#jNvP!UCP#WLiD?OXEC6)Z)OHv41q0=nCmXmIT%Sh zw*GGT=LKj6Ndnn~u(m(eqgZ#N?O4I3>6`ZKsV=n&ya;-ts)Tfmz%vARns#Hwy5Gc$#E%Dlu=l|Q+-+unXRr8^{7TojEu>&(ll-*H~V^R{{6U8x; zsR6+$Pr>ZjV;P0m#pkv~OmwR%Qcx;T2yAri5J<7Z#nC`z*!*R7IPGu>=)}g0+hqRB^25gju5?zq)IubG%(it zo2+a3fR&|PTN*%Zu{k-Ss;aqHi5(H4Mn_1*0=29!H7uFOI1?7CB&^A1M3iC|$JFpG zgxE!*2T6ya8!`o~`_^LANH8tU8DK=s{mc$Kum047apGV51HTog2Pgc;KmPOetsi^2 z9^V9i@vHA3Citmu{sg}LGrt|cJNRdR_}|38@@IYwKw=DFP9aYy;%1E6XDb%TUz8Je zMobc;mVIMkOkxV@=?a)VEviZyNUZLY$rzf$+yu}ra?&IT0USVgIIP&hm?BX~Lqk+RolM(O z;B>No5u+#xM%YgmkQ*$%#b~+YnbRqPQ{Zky|MviUWlcfg2Jx zqi_?zxqy2F9-V-Dp?|);CGL&FgAMrtBUp*8nD-)ilc;S&jFaxs`yM6UxdWa}=Ds6d zoU5Kr@-C~+lg#Y~FJ|GKflT7ECoTw_b7D@`-30G4aVcP*DwLe}LPgb{#50G&LSq9H zvrvO%Vy{hQXBU258aU=^8jTGQ9z9?xQH@h8<13Yh6r9W)IB)GjuTEj zsj5$D@S-9P1d+)SGgZ%1*rneS2T+zu7=r8kxucO(Oce2N?8%ZC~wc{AM3kVw*z1N;%m6c#DDoSU&e3xd%qqx?>pfi`aOTKe&Vec^}QeaKz!xhI}8S1 z)T}q3-C@sK73pRf+ei=*AV--A+L?pP-5r!8jpYs}D-{`8tf4uyCv@m1Lo0N%*5p9% zDnv=2(3~~MnWJ z7fl9{dr2!&5S!X|&8+WqB*7Xjp;xSKQmo8lH6nGe$cRN_ z8GYdvkg?DldE_W{hE5Se3f=Ez-Ix|e>_$J;)V1d`0PgeJJNlfMjpd}ysdDJH?bmi%cbT__4fH(hVz~V ze|3>yZF?<57lqZ$4v~|n?x~Y|By)HmWw{Hyi#4bP>X?PFq8@}9qn)P$5GZNTbnDJj zIvV7Wo2J<14dK)vVmby7`RndpUw_zgDjluyN_q&0CO}eD4@s>wh~L6{24{u48PIk{ zKLW!GSXI*B>!PxKgt{wqNfPbH)rlwKCxO6{Q0W{4GzdOTr$GWk_)lda1_k)p$|)W( zDGvglyY|V(i2~s8;9E~D60n($098;Z`HY1Xw5e;Ur)8c%P~|ecSLvuzG8qOia}|hM zu1M_c#=>O&1_jom4kfgfN_O#D`E(S*Bf=U0cKB|b%y>-8`K;X1B*5&Ut%{$(iKrnP zyNrU5kE3*=$w|r_Xr%y{G>8@JY0c<}y6e!eX>5Y%l6IwLVk}vu_TNo#>-*FoHUyAk znS%i51UKWL3}q_vc7E>8Q_J{>GB30BzzMkr3LoMm3X%rLG;xGZAVP(UHG9LazT9GC z9iY)g?WDrhi|Zi@Xy7a1ZucI|Bu2Lia|(E>I@;GS1qyqm+u7Ra zN{@dUn6YdCR$H&{cUr#Fa(WK*J3cw8DXRFmn}BVA{dej1lG32fzDeysbO6*^vfE&) zT4h652JJOrXBnSxwY330Mj+?Z^<=m@Cm^!n9~#taW7bKz)uyn#RTpJ^_~$jlx(@BB z@?L1B&{0b>QBejoj!JuXNVWsd29uF4tTa%hXGoXExcc+jnCYbUGJ^)lSgTu8gP%L5 z)xAC{V@mw9(I7M+>hH-mjOOUMy(%;RZpRTs?Q?Y(v_tL+Y8vfc6+egbJ;$Ld$aJvg zW1|4jjx`5^dQ(`dgv}!fMlQN_(~pWAg~kGLxUO0R|dTrJ3fqyRs7bnCAub> z=vGbTYrx>ZC4H`;970v;P>$iE)QV5a&J0{~K)vTgfpefZSEmBo+0OL=`oFZ@=!gmp z!J^C0Xde5LdaC0ck1BK@CflD_RprdBC|@Xdg!X6ylrW@X#gg+{NVfOi*7 zs}HpXL0wA(t${x+J=FP7LHVs6WY$$6?|WPR_En&v9ne~%T2*d234*f|Bmh-Fs=xpC z`aJKy3z{vQ(nW~$43uFe%j`T}B@&=C0(EDa``(3N{SjGMT?KeeJDx{)N|{KK)&pd{oE_mO5tL6az!qd8FA^ zCLJPBb)MqAXzs82%-AQpP>DIZ-9e&sIiyFp`_^n2t4BDeKyC3Vq%Jg@Yf(iqGc}`0 zmx@_)Eg3*kI>al}m!u3*U?u~(N5zR!P>`I3ZiFKl0tM-8IebOHDi=Bx8s}9Kun8Z^ zW&+Fq05lbwF2FdA>ViiX>?;9DZMQC6&C##r1#x|U3TR*g)T2sNmgbBiuGlu-CnH`XDTBCKQLyA3yOY{+WF8^IzcK_}Q=G-q`BqCgR;^cX3-sPu>mf#pFP zdSGu2LbPlhdZw66v0yxHwPMYZTXMsI1Kqt6TO=}1v$zi_#JOW93pF-zPZAX;!u7{+ zF))(E2vPkx5H*W~E?6Nj=iZ)NMdDCWvZv0k4vb|62=w>EU5}?xP7((gX%cKp%mgBL zk^`fq3LI=!7UnD@cZm;`80!JxG>9!`-6QH0ngD(;q9Tg-Iq~u>@!%%v(Uu%6Jh&kq zbKrEE`Cx!I13V4g$OkWz_iupvfqHz8d}&DLA;v8(iF*CbXMAx1-hIJ(x&tqE;@va& zvAFY8aQX-MO9t0_7HUR?V#|;~UCr7!>QWa}%{s+4e&&z;Pw|ca(D(DpfB4_Qm;d%x z@bQnlA9#Gi-~8z>;x-2U-tT%p`0|7L?f;8E%Rlq^C-~$C9@mEC*PdP`0X{od6(%pK znbwu`c%lpqn$vujtT=Q@!fEmJykbQ(TFXRbREP+mL{N*d^{Uhe4j#2DE?o_S!)r(S}ka43p5d@0E~r~ z4C2S1gQ%KGa#+=d6NSxjye!Fn@w2&Os-xTj7llX>fM!vvnkK~s zMYcYmEFqB^2;eawLdeRJL#$K`OGsG|G%sIg&&p^dN2-w0@%aqEbpEO!w#-Uys5-aM zxPnd^$t$n}-_&UdA~-QARd!8`MR{V<+M?`hV6ZV8Qg@K8p%IR7-&5FbDa8XIXc1)s z2Ct2J@+xo09W^$3oT>E_aI>A>{NUGp>~k-_^!U%u%YMG>=SEu4yo-^A{e;D279JtL zu>jig96?^!*Yx*eKp&f5oiQi}X#cW-(1VZH1wT(B_*FEhd*r7@Sl!kNOPHD`

flY-wb7H3buGE2ew`2Wn)TU4 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

RO%TQtW+_EXLZCgn;k^ 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

`s{UNZ0jXp{oN+dT@4@dQKXK?+6!vF*c$ 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 literal 0 HcmV?d00001 diff --git a/LICENSE b/LICENSE new file mode 100644 index 0000000..5ee729c --- /dev/null +++ b/LICENSE @@ -0,0 +1,21 @@ +MIT License + +Copyright (c) 2026 bsodfather + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. diff --git a/README.md b/README.md new file mode 100644 index 0000000..a2b3be8 --- /dev/null +++ b/README.md @@ -0,0 +1,234 @@ +# Crank + +![Crank](./Crank.png) + +Crank - это свободная платформа для создания MCP-инструментов из REST API эндпоинтов. + +Сервис ставится на собственный сервер, подключается к PostgreSQL и дает веб-интерфейс, в котором можно описать REST API, проверить вызов, опубликовать его как инструмент и подключить к MCP-клиенту. + +## Что умеет Crank + +- Создавать REST-инструменты через веб-интерфейс или YAML. +- Принимать параметры от MCP-клиента и подставлять их в путь, query string, заголовки или тело REST-запроса. +- Преобразовывать ответ REST API в структурированный результат для MCP-клиента. +- Публиковать только выбранные инструменты для конкретного агента. +- Хранить версии, черновики, примеры запросов и ответов, секреты, журналы вызовов и статистику в PostgreSQL. +- Работать с простой авторизацией администратора: email, пароль и браузерная сессия. +- Запускаться через Docker Compose. + +## Быстрый запуск через Docker + +Требования: + +- Docker; +- Docker Compose; +- свободные порты `3000`, `3001`, `3002`; +- 4 ГБ RAM или больше для комфортной сборки образов. + +Склонируйте репозиторий: + +```bash +git clone https://github.com/bsodfather/crank-community.git crank +cd crank +``` + +Подготовьте настройки: + +```bash +cp .env.example .env +``` + +Откройте [`.env.example`](./.env.example) и перенесите нужные значения в `.env`. + +Минимально нужно заменить: + +- `POSTGRES_PASSWORD`; +- `CRANK_MASTER_KEY`; +- `CRANK_SESSION_SECRET`; +- `CRANK_PASSWORD_PEPPER`; +- `CRANK_BOOTSTRAP_ADMIN_EMAIL`; +- `CRANK_BOOTSTRAP_ADMIN_PASSWORD`; +- `CRANK_BASE_URL`. + +Секреты можно сгенерировать так: + +```bash +openssl rand -hex 32 +``` + +Запустите Crank: + +```bash +docker compose up -d --build +``` + +После запуска: + +- веб-интерфейс: `http://localhost:3000`; +- HTTP API панели управления: `http://localhost:3001`; +- MCP-сервер: `http://localhost:3002`. + +По умолчанию порты публикуются только на `127.0.0.1`. Это удобно, если перед Crank стоит nginx, Caddy или другой обратный прокси. Если нужно открыть порты наружу напрямую, укажите в `.env`: + +```env +CRANK_PUBLISH_BIND=0.0.0.0 +``` + +Проверить состояние контейнеров: + +```bash +docker compose ps +``` + +Посмотреть журналы: + +```bash +docker compose logs -f admin-api mcp-server ui +``` + +Остановить сервис: + +```bash +docker compose down +``` + +## Запуск с внешним PostgreSQL + +Корневой [`docker-compose.yml`](./docker-compose.yml) поднимает PostgreSQL рядом с приложением. Для сервера, где база уже есть отдельно, используйте манифест из [`deploy/community/docker-compose.yml`](./deploy/community/docker-compose.yml): + +```bash +cp deploy/community/.env.example deploy/community/.env +docker compose -f deploy/community/docker-compose.yml --env-file deploy/community/.env up -d --build +``` + +В этом варианте в `deploy/community/.env` нужно указать параметры вашей базы: + +- `POSTGRES_HOST`; +- `POSTGRES_PORT`; +- `POSTGRES_DB`; +- `POSTGRES_USER`; +- `POSTGRES_PASSWORD`. + +Если используется PgBouncer, укажите его адрес в `POSTGRES_HOST` и порт в `POSTGRES_PORT`. + +## Как пользоваться + +Обычный сценарий: + +1. Зайти в веб-интерфейс. +2. Создать REST-инструмент. +3. Описать входные параметры и правила вызова REST API. +4. Выполнить пробный запрос. +5. Опубликовать инструмент. +6. Привязать инструмент к агенту. +7. Создать ключ агента. +8. Подключить MCP-клиент к адресу агента. + +Каждый агент имеет свой каталог инструментов. MCP-клиент видит только те REST-инструменты, которые явно привязаны к этому агенту. + +## Что входит в эту версию + +Этот репозиторий содержит открытую версию Crank: + +- REST API как источник инструментов; +- MCP через Streamable HTTP; +- веб-интерфейс администратора; +- простая авторизация администратора; +- ключи агентов для доступа к MCP; +- PostgreSQL как основное хранилище; +- необязательный Valkey или Redis для служебного кэша. + +## Структура проекта + +```text +apps/ + admin-api/ HTTP API для веб-интерфейса + mcp-server/ MCP-сервер + ui/ веб-интерфейс + +crates/ + crank-core/ общая модель данных + crank-registry/ работа с PostgreSQL + crank-runtime/ выполнение REST-инструментов + crank-adapter-rest/ REST-адаптер + crank-community-auth/ пароли и сессии + crank-community-mcp/ слой MCP + crank-mapping/ преобразование данных через JSONPath + crank-schema/ проверка схем + +deploy/community/ + docker-compose.yml запуск с внешним PostgreSQL + .env.example пример настроек для серверного запуска +``` + +## Разработка + +Для разработки нужны: + +- Rust toolchain из [`rust-toolchain.toml`](./rust-toolchain.toml); +- Node.js и npm; +- PostgreSQL; +- Docker, если хотите запускать полный стенд контейнерами. + +Быстрее всего поднять окружение так же, как для обычного запуска: + +```bash +cp .env.example .env +docker compose up -d postgres +``` + +Приложения читают настройки из переменных окружения. Можно использовать `.env` через свое окружение разработки, `direnv`, IDE или любой другой привычный способ загрузки переменных. + +Сервер панели управления: + +```bash +cargo run -p admin-api +``` + +MCP-сервер: + +```bash +cargo run -p mcp-server +``` + +Веб-интерфейс: + +```bash +cd apps/ui +npm ci +npm run dev +``` + +Проверки: + +```bash +just fmt-check +just clippy +just test +``` + +Сборка веб-интерфейса: + +```bash +cd apps/ui +npm ci +npm run build +``` + +E2E-проверки: + +```bash +cd apps/ui +npx playwright test +``` + +## Документация + +- [Настройки запуска](docs/runtime-config.md) +- [Развертывание](docs/deployment.md) +- [MCP-интерфейс](docs/mcp-interface.md) +- [Английский README](docs/en/README.md) + +## Лицензия + +MIT diff --git a/apps/admin-api/Cargo.toml b/apps/admin-api/Cargo.toml new file mode 100644 index 0000000..4b745c6 --- /dev/null +++ b/apps/admin-api/Cargo.toml @@ -0,0 +1,39 @@ +[package] +name = "admin-api" +edition.workspace = true +license.workspace = true +rust-version.workspace = true +version.workspace = true + +[[bin]] +name = "admin-api" +path = "src/main.rs" + +[dependencies] +argon2.workspace = true +axum.workspace = true +axum-extra.workspace = true +base64.workspace = true +crank-community-auth = { path = "../../crates/crank-community-auth" } +crank-core = { path = "../../crates/crank-core" } +crank-mapping = { path = "../../crates/crank-mapping" } +crank-registry = { path = "../../crates/crank-registry" } +crank-runtime = { path = "../../crates/crank-runtime" } +crank-schema = { path = "../../crates/crank-schema" } +rand.workspace = true +serde.workspace = true +serde_json.workspace = true +serde_yaml.workspace = true +sha2.workspace = true +sqlx.workspace = true +thiserror.workspace = true +time.workspace = true +tokio = { workspace = true, features = ["fs"] } +tracing.workspace = true +tracing-subscriber.workspace = true +uuid.workspace = true + +[dev-dependencies] +async-trait = "0.1" +reqwest.workspace = true +serial_test = "3" diff --git a/apps/admin-api/Dockerfile b/apps/admin-api/Dockerfile new file mode 100644 index 0000000..a80dab9 --- /dev/null +++ b/apps/admin-api/Dockerfile @@ -0,0 +1,68 @@ +FROM rust:1.85-bookworm AS deps + +WORKDIR /app + +COPY Cargo.toml Cargo.lock ./ +COPY .sqlx ./.sqlx +COPY apps/admin-api/Cargo.toml apps/admin-api/Cargo.toml +COPY apps/mcp-server/Cargo.toml apps/mcp-server/Cargo.toml +COPY crates/crank-core/Cargo.toml crates/crank-core/Cargo.toml +COPY crates/crank-schema/Cargo.toml crates/crank-schema/Cargo.toml +COPY crates/crank-mapping/Cargo.toml crates/crank-mapping/Cargo.toml +COPY crates/crank-registry/Cargo.toml crates/crank-registry/Cargo.toml +COPY crates/crank-runtime/Cargo.toml crates/crank-runtime/Cargo.toml +COPY crates/crank-adapter-rest/Cargo.toml crates/crank-adapter-rest/Cargo.toml + +RUN mkdir -p \ + apps/admin-api/src \ + apps/mcp-server/src \ + crates/crank-core/src \ + crates/crank-schema/src \ + crates/crank-mapping/src \ + crates/crank-registry/src \ + crates/crank-runtime/src \ + crates/crank-adapter-rest/src \ + && printf 'fn main() {}\n' > apps/admin-api/src/main.rs \ + && printf 'fn main() {}\n' > apps/mcp-server/src/main.rs \ + && printf 'pub fn placeholder() {}\n' > crates/crank-core/src/lib.rs \ + && printf 'pub fn placeholder() {}\n' > crates/crank-schema/src/lib.rs \ + && printf 'pub fn placeholder() {}\n' > crates/crank-mapping/src/lib.rs \ + && printf 'pub fn placeholder() {}\n' > crates/crank-registry/src/lib.rs \ + && printf 'pub fn placeholder() {}\n' > crates/crank-runtime/src/lib.rs \ + && printf 'pub fn placeholder() {}\n' > crates/crank-adapter-rest/src/lib.rs + +RUN --mount=type=cache,target=/usr/local/cargo/registry \ + --mount=type=cache,target=/usr/local/cargo/git/db \ + --mount=type=cache,target=/app/target \ + SQLX_OFFLINE=true cargo build --release -p admin-api + +FROM rust:1.85-bookworm AS builder + +WORKDIR /app + +COPY Cargo.toml Cargo.lock ./ +COPY .sqlx ./.sqlx +COPY apps ./apps +COPY crates ./crates + +RUN --mount=type=cache,target=/usr/local/cargo/registry \ + --mount=type=cache,target=/usr/local/cargo/git/db \ + --mount=type=cache,target=/app/target \ + SQLX_OFFLINE=true cargo build --release -p admin-api \ + && cp /app/target/release/admin-api /tmp/admin-api + +FROM debian:bookworm-slim + +RUN apt-get update \ + && apt-get install -y --no-install-recommends ca-certificates curl \ + && rm -rf /var/lib/apt/lists/* + +WORKDIR /app + +COPY --from=builder /tmp/admin-api /usr/local/bin/admin-api + +ENV CRANK_ADMIN_BIND=0.0.0.0:3001 + +EXPOSE 3001 + +CMD ["admin-api"] diff --git a/apps/admin-api/src/app.rs b/apps/admin-api/src/app.rs new file mode 100644 index 0000000..0022148 --- /dev/null +++ b/apps/admin-api/src/app.rs @@ -0,0 +1,3957 @@ +use axum::{ + Router, middleware, + routing::{delete, get, post}, +}; + +use crate::{ + auth::{require_session, require_workspace_session}, + rate_limit::apply_api_rate_limit, + request_context::apply_request_context, + routes::{ + access::{ + create_invitation, delete_invitation, delete_membership, delete_workspace, + export_workspace, list_invitations, list_memberships, update_membership, + }, + agents::{ + archive_agent, create_agent, create_agent_platform_api_key, delete_agent, + delete_agent_platform_api_key, get_agent, get_agent_version, + list_agent_platform_api_keys, list_agents, publish_agent, + revoke_agent_platform_api_key, save_agent_bindings, unpublish_agent, update_agent, + }, + auth::{ + change_password, get_profile, get_session, login, logout, update_current_workspace, + update_profile, + }, + auth_profiles::{create_auth_profile, get_auth_profile, list_auth_profiles}, + capabilities::get_capabilities, + machine_auth::{issue_agent_token, issue_one_time_agent_token}, + observability::{get_agent_usage, get_log, get_operation_usage, get_usage, list_logs}, + operations::{ + archive_operation, create_operation, create_version, delete_operation, + export_operation, generate_draft, get_operation, get_operation_version, + list_operations, publish_operation, run_test, update_operation, upload_input_json, + upload_output_json, + }, + secrets::{create_secret, delete_secret, get_secret, list_secrets, rotate_secret}, + streaming::list_protocol_capabilities, + workspaces::{create_workspace, get_workspace, list_workspaces, update_workspace}, + }, + state::AppState, +}; + +pub fn build_app(state: AppState) -> Router { + let workspace_router = Router::new() + .route("/operations", get(list_operations).post(create_operation)) + .route("/operations/import", post(import_operation)) + .route( + "/operations/{operation_id}", + get(get_operation) + .patch(update_operation) + .delete(delete_operation), + ) + .route("/operations/{operation_id}/versions", post(create_version)) + .route( + "/operations/{operation_id}/versions/{version}", + get(get_operation_version), + ) + .route( + "/operations/{operation_id}/publish", + post(publish_operation), + ) + .route( + "/operations/{operation_id}/archive", + post(archive_operation), + ) + .route("/operations/{operation_id}/test-runs", post(run_test)) + .route( + "/operations/{operation_id}/samples/input-json", + post(upload_input_json), + ) + .route( + "/operations/{operation_id}/samples/output-json", + post(upload_output_json), + ) + .route( + "/operations/{operation_id}/drafts/generate", + post(generate_draft), + ) + .route("/operations/{operation_id}/export", get(export_operation)) + .route("/agents", get(list_agents).post(create_agent)) + .route( + "/agents/{agent_id}", + get(get_agent).patch(update_agent).delete(delete_agent), + ) + .route( + "/agents/{agent_id}/versions/{version}", + get(get_agent_version), + ) + .route("/agents/{agent_id}/bindings", post(save_agent_bindings)) + .route("/agents/{agent_id}/publish", post(publish_agent)) + .route("/agents/{agent_id}/unpublish", post(unpublish_agent)) + .route("/agents/{agent_id}/archive", post(archive_agent)) + .route( + "/agents/{agent_id}/platform-api-keys", + get(list_agent_platform_api_keys).post(create_agent_platform_api_key), + ) + .route( + "/agents/{agent_id}/platform-api-keys/{key_id}/revoke", + post(revoke_agent_platform_api_key), + ) + .route( + "/agents/{agent_id}/platform-api-keys/{key_id}", + delete(delete_agent_platform_api_key), + ) + .route( + "/auth-profiles", + get(list_auth_profiles).post(create_auth_profile), + ) + .route("/auth-profiles/{auth_profile_id}", get(get_auth_profile)) + .route("/secrets", get(list_secrets).post(create_secret)) + .route( + "/secrets/{secret_id}", + get(get_secret).delete(delete_secret), + ) + .route("/secrets/{secret_id}/rotate", post(rotate_secret)) + .route("/members", get(list_memberships)) + .route( + "/members/{user_id}", + axum::routing::patch(update_membership).delete(delete_membership), + ) + .route( + "/invitations", + get(list_invitations).post(create_invitation), + ) + .route("/invitations/{invitation_id}", delete(delete_invitation)) + .route("/export", get(export_workspace)) + .route("/logs", get(list_logs)) + .route("/logs/{log_id}", get(get_log)) + .route("/usage", get(get_usage)) + .route("/usage/operations/{operation_id}", get(get_operation_usage)) + .route("/usage/agents/{agent_id}", get(get_agent_usage)) + .route("/protocol-capabilities", get(list_protocol_capabilities)); + + let workspace_root_router = Router::new() + .route("/capabilities", get(get_capabilities)) + .route("/workspaces", get(list_workspaces).post(create_workspace)) + .layer(middleware::from_fn_with_state( + state.clone(), + require_session, + )); + + let workspace_scoped_router = Router::new() + .route( + "/workspaces/{workspace_id}", + get(get_workspace) + .patch(update_workspace) + .delete(delete_workspace), + ) + .nest("/workspaces/{workspace_id}", workspace_router) + .layer(middleware::from_fn_with_state( + state.clone(), + require_workspace_session, + )); + + let admin_router = workspace_root_router.merge(workspace_scoped_router); + + let protected_auth_router = Router::new() + .route("/logout", post(logout)) + .route("/session", get(get_session)) + .route("/profile", get(get_profile).patch(update_profile)) + .route("/current-workspace", post(update_current_workspace)) + .route("/password", post(change_password)) + .layer(middleware::from_fn_with_state( + state.clone(), + require_session, + )); + + Router::new() + .route("/health", get(crate::routes::health)) + .nest( + "/api/auth", + Router::new() + .route("/login", post(login)) + .merge(protected_auth_router), + ) + .nest( + "/mcp-auth/v1", + Router::new() + .route("/token", post(issue_agent_token)) + .route("/token/one-time", post(issue_one_time_agent_token)), + ) + .nest("/api/admin", admin_router) + .layer(middleware::from_fn_with_state( + state.clone(), + apply_api_rate_limit, + )) + .layer(middleware::from_fn(apply_request_context)) + .with_state(state) +} + +use crate::routes::operations::import_operation; + +#[cfg(test)] +mod tests { + use std::{ + collections::BTreeMap, + env, fmt, + sync::Arc, + time::{SystemTime, UNIX_EPOCH}, + }; + + use async_trait::async_trait; + use axum::{Json, Router, routing::post}; + #[cfg(any())] + use crank_adapter_grpc::test_support as grpc_test_support; + #[cfg(any())] + use crank_core::{ + AsyncJobHandle, AsyncJobId, DescriptorId, ExecutionMode, GrpcTarget, JobStatus, + OperationId, SoapBindingStyle, SoapOperationMetadata, SoapTarget, SoapVersion, + StreamSession, StreamStatus, TransportBehavior, + }; + use crank_core::{ + ExecutionConfig, GraphqlOperationType, GraphqlTarget, HttpMethod, MembershipRole, + OperationSecurityLevel, Protocol, ResponseCachePolicy, RestTarget, SecretKind, Target, + ToolDescription, WebsocketTarget, WorkspaceId, + }; + use crank_core::{IdentityError, IdentityProvider, IdentityProviderKind, LoginOutcome}; + use crank_mapping::{MappingRule, MappingSet}; + use crank_registry::PostgresRegistry; + #[cfg(any())] + use crank_registry::{CreateAsyncJobRequest, CreateStreamSessionRequest}; + use crank_runtime::SecretCrypto; + use crank_schema::{Schema, SchemaKind}; + use serde_json::{Value, json}; + use serial_test::serial; + use sqlx::{Connection, Executor, PgConnection}; + #[cfg(any())] + use time::OffsetDateTime; + use tokio::net::TcpListener; + + use crate::{ + app::build_app, + auth::{AuthSettings, BootstrapAdminConfig, hash_password}, + service::{AdminService, AdminServiceBuilder, OperationPayload}, + state::AppState, + }; + + const DEFAULT_WORKSPACE_ID: &str = "ws_default"; + const TEST_AUTH_EMAIL: &str = "owner@crank.local"; + const TEST_AUTH_PASSWORD: &str = "test-password"; + const TEST_PASSWORD_PEPPER: &str = "test-password-pepper"; + const TEST_SESSION_SECRET: &str = "test-session-secret"; + const TEST_MASTER_KEY: &str = "test-master-key"; + + struct TestServer { + base_url: String, + shutdown: Option>, + handle: Option>, + } + + impl Drop for TestServer { + fn drop(&mut self) { + let shutdown = self.shutdown.take(); + let handle = self.handle.take(); + + tokio::task::block_in_place(|| { + if let Some(shutdown) = shutdown { + let _ = shutdown.send(()); + } + if let Some(handle) = handle { + let _ = tokio::runtime::Handle::current().block_on(handle); + } + }); + } + } + + impl fmt::Display for TestServer { + fn fmt(&self, formatter: &mut fmt::Formatter<'_>) -> fmt::Result { + formatter.write_str(&self.base_url) + } + } + + impl AsRef for TestServer { + fn as_ref(&self) -> &str { + &self.base_url + } + } + + struct RejectingIdentityProvider; + + #[async_trait] + impl IdentityProvider for RejectingIdentityProvider { + fn id(&self) -> &str { + "rejecting-test-provider" + } + + fn kind(&self) -> IdentityProviderKind { + IdentityProviderKind::Password + } + + async fn login_password( + &self, + _payload: crank_core::LoginPayload, + ) -> Result { + Err(IdentityError::BadCredentials) + } + } + + #[tokio::test(flavor = "multi_thread")] + #[serial] + async fn creates_publishes_and_tests_rest_operation() { + let registry = test_registry().await; + let storage_root = test_storage_root("lifecycle"); + let upstream_base_url = spawn_upstream_server().await; + let base_url = spawn_admin_api(build_test_app(registry, storage_root)).await; + let client = authorized_client(&base_url).await; + + let created = client + .post(format!("{base_url}/operations")) + .json(&test_operation_payload( + &upstream_base_url, + "crm_create_lead", + )) + .send() + .await + .unwrap() + .json::() + .await + .unwrap(); + let operation_id = created["operation_id"].as_str().unwrap().to_owned(); + + let listed = client + .get(format!("{base_url}/operations")) + .send() + .await + .unwrap() + .json::() + .await + .unwrap(); + let published = client + .post(format!("{base_url}/operations/{operation_id}/publish")) + .json(&json!({ "version": 1 })) + .send() + .await + .unwrap() + .json::() + .await + .unwrap(); + let test_run = client + .post(format!("{base_url}/operations/{operation_id}/test-runs")) + .json(&json!({ + "version": 1, + "input": { "email": "user@example.com" } + })) + .send() + .await + .unwrap() + .json::() + .await + .unwrap(); + + assert_eq!(listed["items"][0]["name"], "crm_create_lead"); + assert_eq!( + listed["items"][0]["target_url"], + format!("{upstream_base_url}/crm/leads") + ); + assert_eq!(listed["items"][0]["target_action"], "POST"); + assert_eq!(published["published_version"], 1); + assert_eq!(test_run["ok"], true); + assert_eq!( + test_run["request_preview"]["body"]["email"], + "user@example.com" + ); + assert_eq!(test_run["response_preview"]["id"], "lead_123"); + } + + #[tokio::test(flavor = "multi_thread")] + #[serial] + async fn updates_archives_and_deletes_operation() { + let registry = test_registry().await; + let storage_root = test_storage_root("operation_mutations"); + let upstream_base_url = spawn_upstream_server().await; + let base_url = spawn_admin_api(build_test_app(registry, storage_root)).await; + let client = authorized_client(&base_url).await; + + let created = client + .post(format!("{base_url}/operations")) + .json(&test_operation_payload( + &upstream_base_url, + "crm_mutable_operation", + )) + .send() + .await + .unwrap() + .json::() + .await + .unwrap(); + let operation_id = created["operation_id"].as_str().unwrap().to_owned(); + + let listed = client + .get(format!("{base_url}/operations")) + .send() + .await + .unwrap() + .json::() + .await + .unwrap(); + assert_eq!(listed["total"], 1); + assert_eq!(listed["items"][0]["category"], "sales"); + assert_eq!( + listed["items"][0]["target_url"], + format!("{upstream_base_url}/crm/leads") + ); + assert_eq!(listed["items"][0]["target_action"], "POST"); + + let updated = client + .patch(format!("{base_url}/operations/{operation_id}")) + .json(&json!({ + "display_name": "Create Lead Updated", + "category": "marketing", + "target": { + "kind": "rest", + "base_url": upstream_base_url, + "method": "POST", + "path_template": "/crm/leads", + "static_headers": {} + }, + "input_schema": { + "type": "object", + "required": true, + "nullable": false, + "fields": { + "email": { + "type": "string", + "required": true, + "nullable": false + } + } + }, + "output_schema": { + "type": "object", + "required": true, + "nullable": false, + "fields": { + "id": { + "type": "string", + "required": true, + "nullable": false + } + } + }, + "input_mapping": { + "rules": [ + { + "source": "$.mcp.email", + "target": "$.request.body.email", + "required": true + } + ] + }, + "output_mapping": { + "rules": [ + { + "source": "$.response.body.id", + "target": "$.output.id", + "required": true + } + ] + }, + "execution_config": { + "timeout_ms": 1000, + "headers": {} + }, + "tool_description": { + "title": "Create Lead Updated", + "description": "Creates a CRM lead", + "tags": ["crm"] + } + })) + .send() + .await + .unwrap() + .json::() + .await + .unwrap(); + assert_eq!(updated["status"], "draft"); + + let detail = client + .get(format!("{base_url}/operations/{operation_id}")) + .send() + .await + .unwrap() + .json::() + .await + .unwrap(); + assert_eq!(detail["display_name"], "Create Lead Updated"); + assert_eq!(detail["category"], "marketing"); + + let archived = client + .post(format!("{base_url}/operations/{operation_id}/archive")) + .send() + .await + .unwrap() + .json::() + .await + .unwrap(); + assert_eq!(archived["status"], "archived"); + + let deleted = client + .delete(format!("{base_url}/operations/{operation_id}")) + .send() + .await + .unwrap() + .json::() + .await + .unwrap(); + assert_eq!(deleted["operation_id"], operation_id); + + let missing = client + .get(format!("{base_url}/operations/{operation_id}")) + .send() + .await + .unwrap(); + let missing_status = missing.status(); + let missing = missing.json::().await.unwrap(); + assert_eq!(missing_status, reqwest::StatusCode::NOT_FOUND); + assert_eq!(missing["error"]["code"], "not_found"); + assert_eq!( + missing["error"]["context"], + json!({ + "operation_id": operation_id + }) + ); + } + + #[tokio::test(flavor = "multi_thread")] + #[serial] + async fn creates_binds_and_publishes_agent() { + let registry = test_registry().await; + let storage_root = test_storage_root("agent_lifecycle"); + let upstream_base_url = spawn_upstream_server().await; + let base_url = spawn_admin_api(build_test_app(registry, storage_root)).await; + let client = authorized_client(&base_url).await; + + let operation = client + .post(format!("{base_url}/operations")) + .json(&test_operation_payload( + &upstream_base_url, + "crm_create_lead_agent", + )) + .send() + .await + .unwrap(); + let operation = assert_success_json(operation).await; + let operation_id = operation["operation_id"].as_str().unwrap().to_owned(); + + client + .post(format!("{base_url}/operations/{operation_id}/publish")) + .json(&json!({ "version": 1 })) + .send() + .await + .unwrap(); + + let agent = client + .post(format!("{base_url}/agents")) + .json(&json!({ + "slug": "sales-assistant", + "display_name": "Sales Assistant", + "description": "Curated sales toolset", + "instructions": {}, + "tool_selection_policy": {} + })) + .send() + .await + .unwrap() + .json::() + .await + .unwrap(); + let agent_id = agent["agent_id"].as_str().unwrap().to_owned(); + + let bindings = client + .post(format!("{base_url}/agents/{agent_id}/bindings")) + .json(&json!([ + { + "operation_id": operation_id, + "operation_version": 1, + "tool_name": "crm_create_lead_agent", + "tool_title": "Create Lead", + "enabled": true + } + ])) + .send() + .await + .unwrap() + .json::() + .await + .unwrap(); + let published = client + .post(format!("{base_url}/agents/{agent_id}/publish")) + .json(&json!({ "version": 1 })) + .send() + .await + .unwrap() + .json::() + .await + .unwrap(); + + assert_eq!( + bindings["bindings"][0]["tool_name"], + "crm_create_lead_agent" + ); + assert_eq!(published["published_version"], 1); + } + + #[tokio::test(flavor = "multi_thread")] + #[serial] + async fn updates_lists_and_deletes_agent() { + let registry = test_registry().await; + let storage_root = test_storage_root("agent_mutations"); + let upstream_base_url = spawn_upstream_server().await; + let base_url = spawn_admin_api(build_test_app(registry, storage_root)).await; + let client = authorized_client(&base_url).await; + + let operation = client + .post(format!("{base_url}/operations")) + .json(&test_operation_payload( + &upstream_base_url, + "crm_create_lead_agents_page", + )) + .send() + .await + .unwrap(); + let operation = assert_success_json(operation).await; + let operation_id = operation["operation_id"].as_str().unwrap().to_owned(); + + client + .post(format!("{base_url}/operations/{operation_id}/publish")) + .json(&json!({ "version": 1 })) + .send() + .await + .unwrap(); + + let created = client + .post(format!("{base_url}/agents")) + .json(&json!({ + "slug": "support-team", + "display_name": "Support Team", + "description": "Support workflows", + "instructions": {}, + "tool_selection_policy": {} + })) + .send() + .await + .unwrap() + .json::() + .await + .unwrap(); + let agent_id = created["agent_id"].as_str().unwrap().to_owned(); + + client + .post(format!("{base_url}/agents/{agent_id}/bindings")) + .json(&json!([ + { + "operation_id": operation_id, + "operation_version": 1, + "tool_name": "crm_create_lead_agents_page", + "tool_title": "Create Lead", + "tool_description_override": null, + "enabled": true + } + ])) + .send() + .await + .unwrap(); + + client + .post(format!("{base_url}/agents/{agent_id}/publish")) + .json(&json!({ "version": 1 })) + .send() + .await + .unwrap(); + + let listed = client + .get(format!("{base_url}/agents")) + .send() + .await + .unwrap() + .json::() + .await + .unwrap(); + assert_eq!(listed["items"][0]["operation_count"], 1); + assert_eq!(listed["items"][0]["operation_ids"][0], operation_id); + assert_eq!( + listed["items"][0]["mcp_endpoint"], + "/mcp/v1/default/support-team" + ); + assert_eq!(listed["items"][0]["status"], "published"); + + let updated = client + .patch(format!("{base_url}/agents/{agent_id}")) + .json(&json!({ + "slug": "support-escalation", + "display_name": "Support Escalation", + "description": "Escalation workflows" + })) + .send() + .await + .unwrap() + .json::() + .await + .unwrap(); + assert_eq!(updated["agent_id"], agent_id); + + let detail = client + .get(format!("{base_url}/agents/{agent_id}")) + .send() + .await + .unwrap() + .json::() + .await + .unwrap(); + assert_eq!(detail["slug"], "support-escalation"); + assert_eq!(detail["display_name"], "Support Escalation"); + assert_eq!(detail["operation_count"], 1); + assert_eq!(detail["mcp_endpoint"], "/mcp/v1/default/support-escalation"); + + let deleted = client + .delete(format!("{base_url}/agents/{agent_id}")) + .send() + .await + .unwrap() + .json::() + .await + .unwrap(); + assert_eq!(deleted["agent_id"], agent_id); + + let missing = client + .get(format!("{base_url}/agents/{agent_id}")) + .send() + .await + .unwrap(); + let missing_status = missing.status(); + let missing = missing.json::().await.unwrap(); + assert_eq!(missing_status, reqwest::StatusCode::NOT_FOUND); + assert_eq!(missing["error"]["code"], "not_found"); + assert_eq!( + missing["error"]["context"], + json!({ + "agent_id": agent_id + }) + ); + } + + #[tokio::test(flavor = "multi_thread")] + #[serial] + async fn unpublishes_and_archives_agent() { + let registry = test_registry().await; + let storage_root = test_storage_root("agent_statuses"); + let upstream_base_url = spawn_upstream_server().await; + let base_url = spawn_admin_api(build_test_app(registry, storage_root)).await; + let client = authorized_client(&base_url).await; + + let operation = assert_success_json( + client + .post(format!("{base_url}/operations")) + .json(&test_operation_payload( + &upstream_base_url, + "crm_create_lead_agent_status", + )) + .send() + .await + .unwrap(), + ) + .await; + let operation_id = operation["operation_id"].as_str().unwrap().to_owned(); + + client + .post(format!("{base_url}/operations/{operation_id}/publish")) + .json(&json!({ "version": 1 })) + .send() + .await + .unwrap(); + + let created = assert_success_json( + client + .post(format!("{base_url}/agents")) + .json(&json!({ + "slug": "sales-routing", + "display_name": "Sales Routing", + "description": "Routing agent", + "instructions": {}, + "tool_selection_policy": {} + })) + .send() + .await + .unwrap(), + ) + .await; + let agent_id = created["agent_id"].as_str().unwrap().to_owned(); + + client + .post(format!("{base_url}/agents/{agent_id}/bindings")) + .json(&json!([ + { + "operation_id": operation_id, + "operation_version": 1, + "tool_name": "crm_create_lead_agent_status", + "tool_title": "Create Lead", + "tool_description_override": null, + "enabled": true + } + ])) + .send() + .await + .unwrap(); + + client + .post(format!("{base_url}/agents/{agent_id}/publish")) + .json(&json!({ "version": 1 })) + .send() + .await + .unwrap(); + + let unpublished = assert_success_json( + client + .post(format!("{base_url}/agents/{agent_id}/unpublish")) + .json(&json!({})) + .send() + .await + .unwrap(), + ) + .await; + assert_eq!(unpublished["agent_id"], agent_id); + + let draft_detail = assert_success_json( + client + .get(format!("{base_url}/agents/{agent_id}")) + .send() + .await + .unwrap(), + ) + .await; + assert_eq!(draft_detail["status"], "draft"); + assert_eq!(draft_detail["latest_published_version"], 1); + + let archived = assert_success_json( + client + .post(format!("{base_url}/agents/{agent_id}/archive")) + .json(&json!({})) + .send() + .await + .unwrap(), + ) + .await; + assert_eq!(archived["agent_id"], agent_id); + + let archived_detail = assert_success_json( + client + .get(format!("{base_url}/agents/{agent_id}")) + .send() + .await + .unwrap(), + ) + .await; + assert_eq!(archived_detail["status"], "archived"); + } + + #[tokio::test(flavor = "multi_thread")] + #[serial] + async fn manages_platform_access_resources() { + let registry = test_registry().await; + let storage_root = test_storage_root("platform_access"); + let base_url = spawn_admin_api(build_test_app(registry, storage_root)).await; + let client = authorized_client(&base_url).await; + + let members = client + .get(format!("{base_url}/members")) + .send() + .await + .unwrap() + .json::() + .await + .unwrap(); + let created_invitation = client + .post(format!("{base_url}/invitations")) + .json(&json!({ + "email": "operator@example.com", + "role": "operator" + })) + .send() + .await + .unwrap() + .json::() + .await + .unwrap(); + let invitation_id = created_invitation["invitation"]["invitation"]["id"] + .as_str() + .unwrap() + .to_owned(); + let invitations = client + .get(format!("{base_url}/invitations")) + .send() + .await + .unwrap() + .json::() + .await + .unwrap(); + let delete_invitation_status = client + .delete(format!("{base_url}/invitations/{invitation_id}")) + .send() + .await + .unwrap() + .status(); + + assert_eq!(members["items"][0]["role"], "owner"); + assert_eq!( + created_invitation["invitation"]["invitation"]["status"], + "pending" + ); + assert!( + created_invitation["invite_token"] + .as_str() + .unwrap() + .starts_with("invite_") + ); + assert_eq!( + invitations["items"][0]["invitation"]["email"], + "operator@example.com" + ); + assert_eq!(delete_invitation_status, reqwest::StatusCode::NO_CONTENT); + } + + #[tokio::test(flavor = "multi_thread")] + #[serial] + async fn manages_agent_platform_api_keys() { + let registry = test_registry().await; + let storage_root = test_storage_root("agent_platform_keys"); + let base_url = spawn_admin_api(build_test_app(registry, storage_root)).await; + let client = authorized_client(&base_url).await; + + let created_agent = assert_success_json( + client + .post(format!("{base_url}/agents")) + .json(&json!({ + "slug": "sales-routing", + "display_name": "Sales Routing", + "description": "Routing agent", + "instructions": {}, + "tool_selection_policy": {} + })) + .send() + .await + .unwrap(), + ) + .await; + let agent_id = created_agent["agent_id"].as_str().unwrap().to_owned(); + + let created_key = assert_success_json( + client + .post(format!("{base_url}/agents/{agent_id}/platform-api-keys")) + .json(&json!({ + "name": "sales-routing-primary", + "scopes": ["read", "write"] + })) + .send() + .await + .unwrap(), + ) + .await; + let key_id = created_key["api_key"]["api_key"]["id"] + .as_str() + .unwrap() + .to_owned(); + + let listed_keys = assert_success_json( + client + .get(format!("{base_url}/agents/{agent_id}/platform-api-keys")) + .send() + .await + .unwrap(), + ) + .await; + + let revoke_status = client + .post(format!( + "{base_url}/agents/{agent_id}/platform-api-keys/{key_id}/revoke" + )) + .send() + .await + .unwrap() + .status(); + let delete_status = client + .delete(format!( + "{base_url}/agents/{agent_id}/platform-api-keys/{key_id}" + )) + .send() + .await + .unwrap() + .status(); + + assert_eq!(created_key["api_key"]["api_key"]["agent_id"], agent_id); + assert_eq!( + listed_keys["items"][0]["api_key"]["agent_id"], + json!(agent_id) + ); + assert_eq!( + listed_keys["items"][0]["api_key"]["name"], + "sales-routing-primary" + ); + assert!(created_key["secret"].as_str().unwrap().starts_with("crk_")); + assert_eq!(revoke_status, reqwest::StatusCode::NO_CONTENT); + assert_eq!(delete_status, reqwest::StatusCode::NO_CONTENT); + } + + #[tokio::test(flavor = "multi_thread")] + #[serial] + async fn returns_community_capabilities() { + let registry = test_registry().await; + let storage_root = test_storage_root("community_capabilities"); + let base_url = spawn_admin_api(build_test_app(registry, storage_root)).await; + let client = authorized_client(&base_url).await; + let root_url = base_url + .as_ref() + .split("/api/admin/workspaces/") + .next() + .unwrap(); + + let response = assert_success_json( + client + .get(format!("{root_url}/api/admin/capabilities")) + .send() + .await + .unwrap(), + ) + .await; + + assert_eq!(response["edition"], "community"); + assert_eq!(response["supported_protocols"], json!(["rest"])); + assert_eq!(response["supported_security_levels"], json!(["standard"])); + assert_eq!( + response["machine_access_modes"], + json!(["static_agent_key"]) + ); + assert_eq!(response["limits"]["max_workspaces"], 1); + assert_eq!(response["limits"]["max_users_per_workspace"], 1); + assert_eq!(response["limits"]["max_agents_per_workspace"], 1); + } + + #[tokio::test(flavor = "multi_thread")] + #[serial] + async fn rejects_short_lived_machine_token_issue_in_community() { + let registry = test_registry().await; + let storage_root = test_storage_root("community_short_lived_token_contract"); + let base_url = spawn_admin_api(build_test_app(registry, storage_root)).await; + let root_url = base_url + .as_ref() + .split("/api/admin/workspaces/") + .next() + .unwrap(); + + let response = reqwest::Client::new() + .post(format!("{root_url}/mcp-auth/v1/token")) + .json(&json!({ + "grant_type": "agent_key", + "agent_key": "crk_agent_demo_secret", + "scope": ["tools:call"] + })) + .send() + .await + .unwrap(); + + assert_eq!(response.status(), reqwest::StatusCode::FORBIDDEN); + let payload = response.json::().await.unwrap(); + assert_eq!(payload["error"]["code"], "forbidden"); + assert_eq!( + payload["error"]["message"], + "short-lived machine access is not available in Community" + ); + assert_eq!(payload["error"]["context"]["edition"], "community"); + assert_eq!( + payload["error"]["context"]["machine_access_mode"], + "short_lived_token" + ); + assert_eq!(payload["error"]["context"]["grant_type"], "agent_key"); + assert_eq!(payload["error"]["context"]["upgrade_required"], json!(true)); + } + + #[tokio::test(flavor = "multi_thread")] + #[serial] + async fn rejects_one_time_machine_token_issue_in_community() { + let registry = test_registry().await; + let storage_root = test_storage_root("community_one_time_token_contract"); + let base_url = spawn_admin_api(build_test_app(registry, storage_root)).await; + let root_url = base_url + .as_ref() + .split("/api/admin/workspaces/") + .next() + .unwrap(); + + let response = reqwest::Client::new() + .post(format!("{root_url}/mcp-auth/v1/token/one-time")) + .json(&json!({ + "agent_key": "crk_agent_demo_secret", + "operation_id": "op_sensitive_01", + "scope": ["tools:call"] + })) + .send() + .await + .unwrap(); + + assert_eq!(response.status(), reqwest::StatusCode::FORBIDDEN); + let payload = response.json::().await.unwrap(); + assert_eq!(payload["error"]["code"], "forbidden"); + assert_eq!( + payload["error"]["message"], + "one-time machine access is not available in Community" + ); + assert_eq!(payload["error"]["context"]["edition"], "community"); + assert_eq!( + payload["error"]["context"]["machine_access_mode"], + "one_time_token" + ); + assert_eq!( + payload["error"]["context"]["operation_id"], + "op_sensitive_01" + ); + assert_eq!(payload["error"]["context"]["upgrade_required"], json!(true)); + } + + #[tokio::test(flavor = "multi_thread")] + #[serial] + async fn returns_community_protocol_capabilities_only_for_supported_protocols() { + let registry = test_registry().await; + let storage_root = test_storage_root("community_protocol_capabilities"); + let base_url = spawn_admin_api(build_test_app(registry, storage_root)).await; + let client = authorized_client(&base_url).await; + + let response = assert_success_json( + client + .get(format!("{base_url}/protocol-capabilities")) + .send() + .await + .unwrap(), + ) + .await; + + assert_eq!(response["items"].as_array().unwrap().len(), 1); + assert_eq!( + response["items"] + .as_array() + .unwrap() + .iter() + .map(|item| item["protocol"].as_str().unwrap()) + .collect::>(), + vec!["rest"] + ); + for item in response["items"].as_array().unwrap() { + assert_eq!(item["supports_execution_modes"], json!(["unary"])); + assert_eq!( + item["supports_transport_behaviors"], + json!(["request_response"]) + ); + } + } + + #[tokio::test(flavor = "multi_thread")] + #[serial] + async fn rejects_graphql_protocol_for_community_operation_create() { + let registry = test_registry().await; + let storage_root = test_storage_root("community_graphql_reject_create"); + let upstream_base_url = spawn_graphql_server().await; + let base_url = spawn_admin_api(build_test_app(registry, storage_root)).await; + let client = authorized_client(&base_url).await; + + let response = client + .post(format!("{base_url}/operations")) + .json(&test_graphql_operation_payload( + &upstream_base_url, + "crm_graphql_not_in_community", + )) + .send() + .await + .unwrap(); + let status = response.status(); + let body = response.json::().await.unwrap(); + + assert_eq!(status, reqwest::StatusCode::BAD_REQUEST); + assert_eq!(body["error"]["code"], "validation_error"); + assert_eq!( + body["error"]["message"], + "protocol graphql is not supported in Community" + ); + assert_eq!( + body["error"]["context"], + json!({ + "protocol": "graphql", + "edition": "community", + }) + ); + } + + #[tokio::test(flavor = "multi_thread")] + #[serial] + async fn rejects_unsupported_protocol_for_community_operation_create() { + let registry = test_registry().await; + let storage_root = test_storage_root("community_protocol_reject"); + let base_url = spawn_admin_api(build_test_app(registry, storage_root)).await; + let client = authorized_client(&base_url).await; + + let response = client + .post(format!("{base_url}/operations")) + .json(&test_websocket_operation_payload( + "wss://example.com/stream", + "telemetry_ws", + )) + .send() + .await + .unwrap(); + let status = response.status(); + let body = response.json::().await.unwrap(); + + assert_eq!(status, reqwest::StatusCode::BAD_REQUEST); + assert_eq!(body["error"]["code"], "validation_error"); + assert_eq!( + body["error"]["message"], + "protocol websocket is not supported in Community" + ); + assert_eq!( + body["error"]["context"], + json!({ + "protocol": "websocket", + "edition": "community", + }) + ); + } + + #[tokio::test(flavor = "multi_thread")] + #[serial] + async fn rejects_premium_security_level_for_community_operation_create() { + let registry = test_registry().await; + let storage_root = test_storage_root("community_security_reject_create"); + let upstream_base_url = spawn_upstream_server().await; + let base_url = spawn_admin_api(build_test_app(registry, storage_root)).await; + let client = authorized_client(&base_url).await; + + let mut payload = test_operation_payload(&upstream_base_url, "crm_elevated"); + payload.security_level = OperationSecurityLevel::Elevated; + + let response = client + .post(format!("{base_url}/operations")) + .json(&payload) + .send() + .await + .unwrap(); + let status = response.status(); + let body = response.json::().await.unwrap(); + + assert_eq!(status, reqwest::StatusCode::BAD_REQUEST); + assert_eq!(body["error"]["code"], "validation_error"); + assert_eq!( + body["error"]["message"], + "security level elevated is not supported in Community" + ); + assert_eq!( + body["error"]["context"], + json!({ + "security_level": "elevated", + "edition": "community", + }) + ); + } + + #[tokio::test(flavor = "multi_thread")] + #[serial] + async fn rejects_premium_security_level_for_community_operation_update() { + let registry = test_registry().await; + let storage_root = test_storage_root("community_security_reject_update"); + let upstream_base_url = spawn_upstream_server().await; + let base_url = spawn_admin_api(build_test_app(registry, storage_root)).await; + let client = authorized_client(&base_url).await; + + let created = client + .post(format!("{base_url}/operations")) + .json(&test_operation_payload( + &upstream_base_url, + "crm_update_elevated", + )) + .send() + .await + .unwrap() + .json::() + .await + .unwrap(); + let operation_id = created["operation_id"].as_str().unwrap().to_owned(); + + let response = client + .patch(format!("{base_url}/operations/{operation_id}")) + .json(&json!({ + "display_name": "Create Lead", + "category": "sales", + "security_level": "elevated", + "target": { + "kind": "rest", + "base_url": upstream_base_url, + "method": "POST", + "path_template": "/crm/leads", + "static_headers": {} + }, + "input_schema": object_schema("email"), + "output_schema": object_schema("id"), + "input_mapping": { + "rules": [{ + "source": "$.mcp.email", + "target": "$.request.body.email", + "required": true, + "default_value": null, + "transform": null, + "condition": null, + "notes": null + }] + }, + "output_mapping": { + "rules": [{ + "source": "$.response.body.id", + "target": "$.output.id", + "required": true, + "default_value": null, + "transform": null, + "condition": null, + "notes": null + }] + }, + "execution_config": { + "timeout_ms": 1000, + "retry_policy": null, + "auth_profile_ref": null, + "headers": {}, + "protocol_options": null, + "streaming": null + }, + "tool_description": { + "title": "Create Lead", + "description": "Creates a CRM lead", + "tags": ["crm"], + "examples": [] + } + })) + .send() + .await + .unwrap(); + let status = response.status(); + let body = response.json::().await.unwrap(); + + assert_eq!(status, reqwest::StatusCode::BAD_REQUEST); + assert_eq!(body["error"]["code"], "validation_error"); + assert_eq!( + body["error"]["message"], + "security level elevated is not supported in Community" + ); + assert_eq!( + body["error"]["context"], + json!({ + "security_level": "elevated", + "edition": "community", + }) + ); + } + + #[tokio::test(flavor = "multi_thread")] + #[serial] + async fn rejects_response_cache_for_non_get_rest_operation_create() { + let registry = test_registry().await; + let storage_root = test_storage_root("community_response_cache_post_reject"); + let upstream_base_url = spawn_upstream_server().await; + let base_url = spawn_admin_api(build_test_app(registry, storage_root)).await; + let client = authorized_client(&base_url).await; + + let mut payload = test_operation_payload(&upstream_base_url, "crm_cache_post"); + payload.execution_config.response_cache = Some(ResponseCachePolicy { ttl_ms: 5_000 }); + + let response = client + .post(format!("{base_url}/operations")) + .json(&payload) + .send() + .await + .unwrap(); + let status = response.status(); + let body = response.json::().await.unwrap(); + + assert_eq!(status, reqwest::StatusCode::BAD_REQUEST); + assert_eq!(body["error"]["code"], "validation_error"); + assert_eq!( + body["error"]["context"]["field"], + "execution_config.response_cache" + ); + } + + #[tokio::test(flavor = "multi_thread")] + #[serial] + async fn rejects_response_cache_for_operation_with_auth_profile() { + let registry = test_registry().await; + let storage_root = test_storage_root("community_response_cache_auth_reject"); + let upstream_base_url = spawn_upstream_server().await; + let base_url = spawn_admin_api(build_test_app(registry, storage_root)).await; + let client = authorized_client(&base_url).await; + + let mut payload = test_operation_payload(&upstream_base_url, "crm_cache_auth"); + payload.target = Target::Rest(RestTarget { + base_url: upstream_base_url, + method: HttpMethod::Get, + path_template: "/crm/leads".to_owned(), + static_headers: BTreeMap::new(), + }); + payload.execution_config.response_cache = Some(ResponseCachePolicy { ttl_ms: 5_000 }); + payload.execution_config.auth_profile_ref = Some("auth_profile_01".into()); + + let response = client + .post(format!("{base_url}/operations")) + .json(&payload) + .send() + .await + .unwrap(); + let status = response.status(); + let body = response.json::().await.unwrap(); + + assert_eq!(status, reqwest::StatusCode::BAD_REQUEST); + assert_eq!(body["error"]["code"], "validation_error"); + assert_eq!( + body["error"]["context"]["field"], + "execution_config.auth_profile_ref" + ); + } + + #[tokio::test(flavor = "multi_thread")] + #[serial] + async fn manages_workspace_access_lifecycle() { + let registry = test_registry().await; + let storage_root = test_storage_root("workspace_access"); + let base_url = spawn_admin_api(build_test_app(registry.clone(), storage_root)).await; + let client = authorized_client(&base_url).await; + + let second_user_id = registry + .upsert_bootstrap_user("operator-2@crank.local", "Operator Two", "external-hash") + .await + .unwrap(); + registry + .ensure_membership( + &WorkspaceId::new(DEFAULT_WORKSPACE_ID), + &second_user_id, + MembershipRole::Viewer, + ) + .await + .unwrap(); + + let updated_members = assert_success_json( + client + .patch(format!("{base_url}/members/{}", second_user_id.as_str())) + .json(&json!({ "role": "admin" })) + .send() + .await + .unwrap(), + ) + .await; + let updated_member = updated_members["items"] + .as_array() + .unwrap() + .iter() + .find(|item| item["user"]["id"] == second_user_id.as_str()) + .unwrap(); + assert_eq!(updated_member["role"], "admin"); + + let exported = assert_success_json( + client + .get(format!("{base_url}/export")) + .send() + .await + .unwrap(), + ) + .await; + assert_eq!( + exported["workspace"]["workspace"]["id"], + DEFAULT_WORKSPACE_ID + ); + assert_eq!(exported["memberships"].as_array().unwrap().len(), 2); + + let delete_member_status = client + .delete(format!("{base_url}/members/{}", second_user_id.as_str())) + .send() + .await + .unwrap() + .status(); + assert_eq!(delete_member_status, reqwest::StatusCode::NO_CONTENT); + + let delete_workspace_status = client + .delete(base_url.as_ref()) + .send() + .await + .unwrap() + .status(); + assert_eq!(delete_workspace_status, reqwest::StatusCode::NO_CONTENT); + + let root_url = base_url + .as_ref() + .split("/api/admin/workspaces/") + .next() + .unwrap(); + let missing_workspace = client + .get(format!( + "{root_url}/api/admin/workspaces/{DEFAULT_WORKSPACE_ID}" + )) + .send() + .await + .unwrap(); + assert_eq!(missing_workspace.status(), reqwest::StatusCode::FORBIDDEN); + } + + #[tokio::test] + #[serial] + async fn seeds_demo_assets_for_live_ui() { + let registry = test_registry().await; + let storage_root = test_storage_root("demo_seed"); + let service = AdminService::new( + registry.clone(), + storage_root, + test_auth_settings(), + test_secret_crypto(), + ); + + service.bootstrap_admin_user().await.unwrap(); + service.seed_demo_assets().await.unwrap(); + + let owner = registry + .get_auth_user_by_email(TEST_AUTH_EMAIL) + .await + .unwrap() + .unwrap(); + let workspaces = service + .list_workspaces_for_user(&owner.user.id) + .await + .unwrap(); + assert!( + workspaces + .iter() + .any(|item| item.workspace.slug == "default") + ); + assert!( + workspaces + .iter() + .any(|item| item.workspace.slug == "growth-lab") + ); + + let default_workspace_id = WorkspaceId::new(DEFAULT_WORKSPACE_ID); + let operations = service + .list_operations(&default_workspace_id) + .await + .unwrap(); + assert!(operations.len() >= 2); + + let agents = service.list_agents(&default_workspace_id).await.unwrap(); + assert!(!agents.is_empty()); + + assert!(agents.iter().any(|agent| agent.key_count > 0)); + + let logs = service + .list_logs( + &default_workspace_id, + crate::service::LogsQuery { + level: None, + search: None, + source: None, + operation_id: None, + agent_id: None, + period: None, + limit: Some(20), + }, + ) + .await + .unwrap(); + assert!(!logs.is_empty()); + } + + #[tokio::test(flavor = "multi_thread")] + #[serial] + async fn updates_profile_and_changes_password() { + let registry = test_registry().await; + let storage_root = test_storage_root("settings_profile"); + let base_url = spawn_admin_api(build_test_app(registry, storage_root)).await; + let root_url = base_url + .as_ref() + .split("/api/admin/workspaces/") + .next() + .unwrap() + .to_owned(); + let client = authorized_client(&base_url).await; + + let profile = assert_success_json( + client + .get(format!("{root_url}/api/auth/profile")) + .send() + .await + .unwrap(), + ) + .await; + assert_eq!(profile["user"]["email"], TEST_AUTH_EMAIL); + + let updated_profile = assert_success_json( + client + .patch(format!("{root_url}/api/auth/profile")) + .json(&json!({ + "display_name": "Updated Owner", + "email": "updated-owner@crank.local" + })) + .send() + .await + .unwrap(), + ) + .await; + assert_eq!(updated_profile["user"]["display_name"], "Updated Owner"); + assert_eq!( + updated_profile["user"]["email"], + "updated-owner@crank.local" + ); + + let password_status = client + .post(format!("{root_url}/api/auth/password")) + .json(&json!({ + "current_password": TEST_AUTH_PASSWORD, + "new_password": "updated-password-123" + })) + .send() + .await + .unwrap() + .status(); + assert_eq!(password_status, reqwest::StatusCode::NO_CONTENT); + + let relogin_client = reqwest::Client::builder() + .cookie_store(true) + .build() + .unwrap(); + let relogin_status = relogin_client + .post(format!("{root_url}/api/auth/login")) + .json(&json!({ + "email": "updated-owner@crank.local", + "password": "updated-password-123" + })) + .send() + .await + .unwrap() + .status(); + assert_eq!(relogin_status, reqwest::StatusCode::OK); + } + + #[tokio::test(flavor = "multi_thread")] + #[serial] + async fn switches_current_workspace_in_session() { + let registry = test_registry().await; + let storage_root = test_storage_root("session_workspace"); + let base_url = spawn_admin_api(build_test_app(registry, storage_root)).await; + let root_url = base_url + .as_ref() + .split("/api/admin/workspaces/") + .next() + .unwrap() + .to_owned(); + let client = authorized_client(&base_url).await; + + let created_workspace = assert_success_json( + client + .post(format!("{root_url}/api/admin/workspaces")) + .json(&json!({ + "slug": "growth-lab", + "display_name": "Growth Lab", + "settings": {} + })) + .send() + .await + .unwrap(), + ) + .await; + let workspace_id = created_workspace["workspace"]["id"].as_str().unwrap(); + + let switched = assert_success_json( + client + .post(format!("{root_url}/api/auth/current-workspace")) + .json(&json!({ "workspace_id": workspace_id })) + .send() + .await + .unwrap(), + ) + .await; + assert_eq!(switched["current_workspace_id"], workspace_id); + + let session = assert_success_json( + client + .get(format!("{root_url}/api/auth/session")) + .send() + .await + .unwrap(), + ) + .await; + assert_eq!(session["current_workspace_id"], workspace_id); + } + + #[tokio::test(flavor = "multi_thread")] + #[serial] + async fn exposes_logs_and_usage_from_real_test_runs() { + let registry = test_registry().await; + let storage_root = test_storage_root("observability"); + let upstream_base_url = spawn_upstream_server().await; + let base_url = spawn_admin_api(build_test_app(registry, storage_root)).await; + let client = authorized_client(&base_url).await; + + let created = client + .post(format!("{base_url}/operations")) + .json(&test_operation_payload( + &upstream_base_url, + "crm_observability", + )) + .send() + .await + .unwrap() + .json::() + .await + .unwrap(); + let operation_id = created["operation_id"].as_str().unwrap().to_owned(); + + client + .post(format!("{base_url}/operations/{operation_id}/test-runs")) + .json(&json!({ + "version": 1, + "input": { "email": "user@example.com" } + })) + .send() + .await + .unwrap(); + + let logs = client + .get(format!("{base_url}/logs?period=7d")) + .send() + .await + .unwrap() + .json::() + .await + .unwrap(); + let log_id = logs["items"][0]["log"]["id"].as_str().unwrap().to_owned(); + let log_detail = client + .get(format!("{base_url}/logs/{log_id}")) + .send() + .await + .unwrap() + .json::() + .await + .unwrap(); + let usage = client + .get(format!("{base_url}/usage?period=7d")) + .send() + .await + .unwrap() + .json::() + .await + .unwrap(); + let operation_usage = client + .get(format!( + "{base_url}/usage/operations/{operation_id}?period=7d" + )) + .send() + .await + .unwrap() + .json::() + .await + .unwrap(); + + assert_eq!(logs["items"][0]["log"]["source"], "admin_test_run"); + assert_eq!(logs["items"][0]["operation_name"], "crm_observability"); + assert_eq!(log_detail["log"]["status"], "ok"); + assert_eq!(usage["summary"]["rollup"]["calls_total"], 1); + assert_eq!(usage["summary"]["rollup"]["calls_ok"], 1); + assert_eq!( + usage["operations"][0]["operation_name"], + "crm_observability" + ); + assert_eq!(operation_usage["rollup"]["calls_total"], 1); + } + + #[tokio::test(flavor = "multi_thread")] + #[serial] + async fn preserves_request_id_for_test_run_invocations() { + let registry = test_registry().await; + let storage_root = test_storage_root("observability_request_id"); + let upstream_base_url = spawn_upstream_server().await; + let base_url = spawn_admin_api(build_test_app(registry, storage_root)).await; + let client = authorized_client(&base_url).await; + + let created = client + .post(format!("{base_url}/operations")) + .json(&test_operation_payload( + &upstream_base_url, + "crm_observability_request_id", + )) + .send() + .await + .unwrap() + .json::() + .await + .unwrap(); + let operation_id = created["operation_id"].as_str().unwrap().to_owned(); + + let response = client + .post(format!("{base_url}/operations/{operation_id}/test-runs")) + .header("x-request-id", "req_test_123") + .json(&json!({ + "version": 1, + "input": { "email": "user@example.com" } + })) + .send() + .await + .unwrap(); + + assert_eq!( + response.headers()["x-request-id"].to_str().unwrap(), + "req_test_123" + ); + response.error_for_status().unwrap(); + + let logs = client + .get(format!("{base_url}/logs?period=7d")) + .send() + .await + .unwrap() + .json::() + .await + .unwrap(); + + assert_eq!(logs["items"][0]["log"]["request_id"], "req_test_123"); + } + + #[tokio::test(flavor = "multi_thread")] + #[serial] + async fn generates_request_id_for_test_run_invocations() { + let registry = test_registry().await; + let storage_root = test_storage_root("observability_generated_request_id"); + let upstream_base_url = spawn_upstream_server().await; + let base_url = spawn_admin_api(build_test_app(registry, storage_root)).await; + let client = authorized_client(&base_url).await; + + let created = client + .post(format!("{base_url}/operations")) + .json(&test_operation_payload( + &upstream_base_url, + "crm_observability_generated_request_id", + )) + .send() + .await + .unwrap() + .json::() + .await + .unwrap(); + let operation_id = created["operation_id"].as_str().unwrap().to_owned(); + + let response = client + .post(format!("{base_url}/operations/{operation_id}/test-runs")) + .json(&json!({ + "version": 1, + "input": { "email": "user@example.com" } + })) + .send() + .await + .unwrap(); + let request_id = response + .headers() + .get("x-request-id") + .unwrap() + .to_str() + .unwrap() + .to_owned(); + + assert!(!request_id.is_empty()); + response.error_for_status().unwrap(); + + let logs = client + .get(format!("{base_url}/logs?period=7d")) + .send() + .await + .unwrap() + .json::() + .await + .unwrap(); + + assert_eq!(logs["items"][0]["log"]["request_id"], request_id); + } + + #[cfg(any())] + #[tokio::test(flavor = "multi_thread")] + #[serial] + async fn creates_publishes_and_tests_graphql_operation() { + let registry = test_registry().await; + let storage_root = test_storage_root("graphql"); + let upstream_base_url = spawn_graphql_server().await; + let base_url = spawn_admin_api(build_test_app(registry, storage_root)).await; + let client = authorized_client(&base_url).await; + + let created = client + .post(format!("{base_url}/operations")) + .json(&test_graphql_operation_payload( + &upstream_base_url, + "crm_create_lead_graphql", + )) + .send() + .await + .unwrap() + .json::() + .await + .unwrap(); + let operation_id = created["operation_id"].as_str().unwrap().to_owned(); + + let published = client + .post(format!("{base_url}/operations/{operation_id}/publish")) + .json(&json!({ "version": 1 })) + .send() + .await + .unwrap() + .json::() + .await + .unwrap(); + let test_run = client + .post(format!("{base_url}/operations/{operation_id}/test-runs")) + .json(&json!({ + "version": 1, + "input": { "email": "user@example.com" } + })) + .send() + .await + .unwrap() + .json::() + .await + .unwrap(); + + assert_eq!(published["published_version"], 1); + assert_eq!(test_run["ok"], true); + assert_eq!( + test_run["request_preview"]["variables"]["email"], + "user@example.com" + ); + assert_eq!(test_run["response_preview"]["id"], "lead_123"); + } + + #[cfg(any())] + #[tokio::test(flavor = "multi_thread")] + #[serial] + async fn uploads_descriptor_set_and_lists_grpc_services() { + let registry = test_registry().await; + let storage_root = test_storage_root("grpc_descriptor"); + let server_addr = grpc_test_support::spawn_unary_echo_server().await; + let base_url = spawn_admin_api(build_test_app(registry, storage_root)).await; + let client = authorized_client(&base_url).await; + + let created = client + .post(format!("{base_url}/operations")) + .json(&test_grpc_operation_payload( + &server_addr, + "echo_descriptor", + )) + .send() + .await + .unwrap() + .json::() + .await + .unwrap(); + let operation_id = created["operation_id"].as_str().unwrap().to_owned(); + + let uploaded = client + .post(format!( + "{base_url}/operations/{operation_id}/descriptors/descriptor-set" + )) + .header("x-file-name", "echo_descriptor.bin") + .body(grpc_test_support::echo::FILE_DESCRIPTOR_SET.to_vec()) + .send() + .await + .unwrap() + .json::() + .await + .unwrap(); + let services = client + .get(format!( + "{base_url}/operations/{operation_id}/grpc/services" + )) + .send() + .await + .unwrap() + .json::() + .await + .unwrap(); + + assert!(uploaded["descriptor_id"].as_str().is_some()); + assert_eq!(services["services"][0]["package"], "echo"); + assert_eq!(services["services"][0]["service"], "EchoService"); + assert_eq!(services["services"][0]["methods"][0]["name"], "UnaryEcho"); + assert_eq!(services["services"][0]["methods"][0]["kind"], "unary"); + } + + #[cfg(any())] + #[tokio::test(flavor = "multi_thread")] + #[serial] + async fn creates_publishes_and_tests_grpc_operation() { + let registry = test_registry().await; + let storage_root = test_storage_root("grpc_runtime"); + let server_addr = grpc_test_support::spawn_unary_echo_server().await; + let base_url = spawn_admin_api(build_test_app(registry, storage_root)).await; + let client = authorized_client(&base_url).await; + + let created = client + .post(format!("{base_url}/operations")) + .json(&test_grpc_operation_payload(&server_addr, "echo_runtime")) + .send() + .await + .unwrap() + .json::() + .await + .unwrap(); + let operation_id = created["operation_id"].as_str().unwrap().to_owned(); + + let published = client + .post(format!("{base_url}/operations/{operation_id}/publish")) + .json(&json!({ "version": 1 })) + .send() + .await + .unwrap() + .json::() + .await + .unwrap(); + let test_run = client + .post(format!("{base_url}/operations/{operation_id}/test-runs")) + .json(&json!({ + "version": 1, + "input": { "message": "hello" } + })) + .send() + .await + .unwrap() + .json::() + .await + .unwrap(); + + assert_eq!(published["published_version"], 1); + assert_eq!(test_run["ok"], true); + assert_eq!(test_run["request_preview"]["grpc"]["message"], "hello"); + assert_eq!(test_run["response_preview"]["message"], "hello"); + } + + #[cfg(any())] + #[tokio::test(flavor = "multi_thread")] + #[serial] + async fn returns_window_metadata_for_streaming_test_runs() { + let registry = test_registry().await; + let storage_root = test_storage_root("grpc_window_test_run"); + let server_addr = grpc_test_support::spawn_unary_echo_server().await; + let base_url = spawn_admin_api(build_test_app(registry, storage_root)).await; + let client = authorized_client(&base_url).await; + + let created = client + .post(format!("{base_url}/operations")) + .json(&test_grpc_window_operation_payload( + &server_addr, + "echo_window_runtime", + )) + .send() + .await + .unwrap() + .json::() + .await + .unwrap(); + let operation_id = created["operation_id"].as_str().unwrap().to_owned(); + + let test_run = client + .post(format!("{base_url}/operations/{operation_id}/test-runs")) + .json(&json!({ + "version": 1, + "input": { "message": "hello" } + })) + .send() + .await + .unwrap() + .json::() + .await + .unwrap(); + + assert_eq!(test_run["ok"], true); + assert_eq!(test_run["mode"], "window"); + assert!(test_run["window"].is_object()); + assert!(test_run["window"]["window_complete"].is_boolean()); + assert!(test_run["window"]["truncated"].is_boolean()); + assert!(test_run["window"]["has_more"].is_boolean()); + assert!(test_run["response_preview"]["items"].is_array()); + } + + #[cfg(any())] + #[tokio::test(flavor = "multi_thread")] + #[serial] + async fn starts_stream_session_from_streaming_test_runs() { + let registry = test_registry().await; + let storage_root = test_storage_root("grpc_session_test_run"); + let server_addr = grpc_test_support::spawn_unary_echo_server().await; + let base_url = spawn_admin_api(build_test_app(registry, storage_root)).await; + let client = authorized_client(&base_url).await; + + let created = client + .post(format!("{base_url}/operations")) + .json(&test_grpc_session_operation_payload( + &server_addr, + "echo_session_runtime", + )) + .send() + .await + .unwrap() + .json::() + .await + .unwrap(); + let operation_id = created["operation_id"].as_str().unwrap().to_owned(); + + let test_run = client + .post(format!("{base_url}/operations/{operation_id}/test-runs")) + .json(&json!({ + "version": 1, + "input": { "message": "hello" } + })) + .send() + .await + .unwrap() + .json::() + .await + .unwrap(); + let session_id = test_run["stream_session"]["session_id"] + .as_str() + .unwrap() + .to_owned(); + + let session = client + .get(format!("{base_url}/stream-sessions/{session_id}")) + .send() + .await + .unwrap() + .json::() + .await + .unwrap(); + + assert_eq!(test_run["ok"], true); + assert_eq!(test_run["mode"], "session"); + assert_eq!(test_run["stream_session"]["status"], "running"); + assert!(test_run["response_preview"]["preview"]["items"].is_array()); + assert_eq!(session["id"], session_id); + assert_eq!(session["status"], "running"); + } + + #[cfg(any())] + #[tokio::test(flavor = "multi_thread")] + #[serial] + async fn starts_async_job_from_streaming_test_runs() { + let registry = test_registry().await; + let storage_root = test_storage_root("async_job_test_run"); + let upstream_base_url = spawn_upstream_server().await; + let base_url = spawn_admin_api(build_test_app(registry, storage_root)).await; + let client = authorized_client(&base_url).await; + + let created = client + .post(format!("{base_url}/operations")) + .json(&test_rest_async_job_operation_payload( + &upstream_base_url, + "crm_async_job_runtime", + )) + .send() + .await + .unwrap() + .json::() + .await + .unwrap(); + let operation_id = created["operation_id"].as_str().unwrap().to_owned(); + + let test_run = client + .post(format!("{base_url}/operations/{operation_id}/test-runs")) + .json(&json!({ + "version": 1, + "input": { "email": "user@example.com" } + })) + .send() + .await + .unwrap() + .json::() + .await + .unwrap(); + let job_id = test_run["async_job"]["job_id"].as_str().unwrap().to_owned(); + + let mut job = Value::Null; + for _ in 0..20 { + job = client + .get(format!("{base_url}/async-jobs/{job_id}")) + .send() + .await + .unwrap() + .json::() + .await + .unwrap(); + if job["status"] == "completed" { + break; + } + tokio::time::sleep(std::time::Duration::from_millis(25)).await; + } + + let result = client + .get(format!("{base_url}/async-jobs/{job_id}/result")) + .send() + .await + .unwrap() + .json::() + .await + .unwrap(); + + assert_eq!(test_run["ok"], true); + assert_eq!(test_run["mode"], "async_job"); + assert_eq!(test_run["async_job"]["status"], "running"); + assert_eq!(job["status"], "completed"); + assert_eq!(result["id"], "lead_123"); + } + + #[cfg(any())] + #[tokio::test(flavor = "multi_thread")] + #[serial] + async fn returns_structured_context_for_pending_async_job_result() { + let registry = test_registry().await; + let storage_root = test_storage_root("async_job_pending_result"); + let upstream_base_url = spawn_upstream_server().await; + let job_id = AsyncJobId::new("job_pending_result".to_owned()); + let base_url = spawn_admin_api(build_test_app(registry.clone(), storage_root)).await; + let client = authorized_client(&base_url).await; + let created = client + .post(format!("{base_url}/operations")) + .json(&test_rest_async_job_operation_payload( + &upstream_base_url, + "crm_async_job_pending_result", + )) + .send() + .await + .unwrap() + .json::() + .await + .unwrap(); + let operation_id = OperationId::new(created["operation_id"].as_str().unwrap().to_owned()); + let now = OffsetDateTime::now_utc(); + registry + .create_async_job(CreateAsyncJobRequest { + job: &AsyncJobHandle { + id: job_id.clone(), + workspace_id: WorkspaceId::new(DEFAULT_WORKSPACE_ID), + agent_id: None, + operation_id, + status: JobStatus::Running, + progress: json!({ "pct": 25 }), + result: None, + error: None, + expires_at: Some(now + time::Duration::minutes(5)), + last_poll_at: None, + created_at: now, + updated_at: now, + finished_at: None, + }, + }) + .await + .unwrap(); + + let response = client + .get(format!("{base_url}/async-jobs/{}/result", job_id.as_str())) + .send() + .await + .unwrap(); + let status = response.status(); + let body = response.json::().await.unwrap(); + + assert_eq!(status, reqwest::StatusCode::CONFLICT); + assert_eq!(body["error"]["code"], "conflict"); + assert_eq!(body["error"]["message"], "async job result is not ready"); + assert_eq!( + body["error"]["context"], + json!({ + "job_id": job_id.as_str(), + "status": "running" + }) + ); + } + + #[cfg(any())] + #[tokio::test(flavor = "multi_thread")] + #[serial] + async fn rate_limits_rapid_stream_session_reads() { + let registry = test_registry().await; + let storage_root = test_storage_root("stream_session_rate_limit"); + let server_addr = grpc_test_support::spawn_unary_echo_server().await; + let base_url = spawn_admin_api(build_test_app(registry.clone(), storage_root)).await; + let client = authorized_client(&base_url).await; + + let created = client + .post(format!("{base_url}/operations")) + .json(&test_grpc_session_operation_payload( + &server_addr, + "echo_session_rate_limit", + )) + .send() + .await + .unwrap() + .json::() + .await + .unwrap(); + let operation_id = OperationId::new(created["operation_id"].as_str().unwrap().to_owned()); + let now = OffsetDateTime::now_utc(); + let session_id = crank_core::StreamSessionId::new("sess_rate_limited".to_owned()); + registry + .create_stream_session(CreateStreamSessionRequest { + session: &StreamSession { + id: session_id.clone(), + workspace_id: WorkspaceId::new(DEFAULT_WORKSPACE_ID), + agent_id: None, + operation_id, + protocol: Protocol::Grpc, + mode: ExecutionMode::Session, + status: StreamStatus::Running, + cursor: None, + state: json!({ "items": [] }), + expires_at: now + time::Duration::minutes(5), + last_poll_at: Some(now), + created_at: now, + closed_at: None, + }, + }) + .await + .unwrap(); + + let response = client + .get(format!( + "{base_url}/stream-sessions/{}", + session_id.as_str() + )) + .send() + .await + .unwrap(); + let status = response.status(); + let body = response.json::().await.unwrap(); + + assert_eq!(status, reqwest::StatusCode::TOO_MANY_REQUESTS); + assert_eq!(body["error"]["code"], "rate_limited"); + assert_eq!( + body["error"]["message"], + "stream session poll rate limit exceeded" + ); + assert_eq!(body["error"]["context"]["session_id"], session_id.as_str()); + assert!(body["error"]["context"]["poll_after_ms"].as_u64().unwrap() > 0); + } + + #[cfg(any())] + #[tokio::test(flavor = "multi_thread")] + #[serial] + async fn rate_limits_rapid_async_job_result_polls() { + let registry = test_registry().await; + let storage_root = test_storage_root("async_job_rate_limit"); + let upstream_base_url = spawn_upstream_server().await; + let base_url = spawn_admin_api(build_test_app(registry.clone(), storage_root)).await; + let client = authorized_client(&base_url).await; + + let created = client + .post(format!("{base_url}/operations")) + .json(&test_rest_async_job_operation_payload( + &upstream_base_url, + "crm_async_job_rate_limit", + )) + .send() + .await + .unwrap() + .json::() + .await + .unwrap(); + let operation_id = OperationId::new(created["operation_id"].as_str().unwrap().to_owned()); + let now = OffsetDateTime::now_utc(); + let job_id = AsyncJobId::new("job_rate_limited".to_owned()); + registry + .create_async_job(CreateAsyncJobRequest { + job: &AsyncJobHandle { + id: job_id.clone(), + workspace_id: WorkspaceId::new(DEFAULT_WORKSPACE_ID), + agent_id: None, + operation_id, + status: JobStatus::Running, + progress: json!({ "pct": 25 }), + result: None, + error: None, + expires_at: Some(now + time::Duration::minutes(5)), + last_poll_at: Some(now), + created_at: now, + updated_at: now, + finished_at: None, + }, + }) + .await + .unwrap(); + + let response = client + .get(format!("{base_url}/async-jobs/{}/result", job_id.as_str())) + .send() + .await + .unwrap(); + let status = response.status(); + let body = response.json::().await.unwrap(); + + assert_eq!(status, reqwest::StatusCode::TOO_MANY_REQUESTS); + assert_eq!(body["error"]["code"], "rate_limited"); + assert_eq!( + body["error"]["message"], + "async job poll rate limit exceeded" + ); + assert_eq!(body["error"]["context"]["job_id"], job_id.as_str()); + assert!(body["error"]["context"]["poll_after_ms"].as_u64().unwrap() > 0); + } + + #[cfg(any())] + #[tokio::test(flavor = "multi_thread")] + #[serial] + async fn allows_completed_async_job_result_fetch_without_poll_delay() { + let registry = test_registry().await; + let storage_root = test_storage_root("async_job_completed_result"); + let upstream_base_url = spawn_upstream_server().await; + let base_url = spawn_admin_api(build_test_app(registry.clone(), storage_root)).await; + let client = authorized_client(&base_url).await; + + let created = client + .post(format!("{base_url}/operations")) + .json(&test_rest_async_job_operation_payload( + &upstream_base_url, + "crm_async_job_completed_result", + )) + .send() + .await + .unwrap() + .json::() + .await + .unwrap(); + let operation_id = OperationId::new(created["operation_id"].as_str().unwrap().to_owned()); + let now = OffsetDateTime::now_utc(); + let job_id = AsyncJobId::new("job_completed_result".to_owned()); + registry + .create_async_job(CreateAsyncJobRequest { + job: &AsyncJobHandle { + id: job_id.clone(), + workspace_id: WorkspaceId::new(DEFAULT_WORKSPACE_ID), + agent_id: None, + operation_id, + status: JobStatus::Completed, + progress: json!({ "pct": 100 }), + result: Some(json!({ "id": "lead_123" })), + error: None, + expires_at: Some(now + time::Duration::minutes(5)), + last_poll_at: Some(now), + created_at: now, + updated_at: now, + finished_at: Some(now), + }, + }) + .await + .unwrap(); + + let response = client + .get(format!("{base_url}/async-jobs/{}/result", job_id.as_str())) + .send() + .await + .unwrap(); + let status = response.status(); + let body = response.json::().await.unwrap(); + + assert_eq!(status, reqwest::StatusCode::OK); + assert_eq!(body["id"], "lead_123"); + } + + #[cfg(any())] + #[tokio::test(flavor = "multi_thread")] + #[serial] + async fn returns_structured_context_for_missing_stream_session() { + let registry = test_registry().await; + let storage_root = test_storage_root("missing_stream_session"); + let base_url = spawn_admin_api(build_test_app(registry, storage_root)).await; + let client = authorized_client(&base_url).await; + + let response = client + .get(format!("{base_url}/stream-sessions/sess_missing")) + .send() + .await + .unwrap(); + let status = response.status(); + let body = response.json::().await.unwrap(); + + assert_eq!(status, reqwest::StatusCode::NOT_FOUND); + assert_eq!(body["error"]["code"], "not_found"); + assert_eq!( + body["error"]["message"], + "stream session sess_missing was not found" + ); + assert_eq!( + body["error"]["context"], + json!({ + "session_id": "sess_missing" + }) + ); + } + + #[cfg(any())] + #[tokio::test(flavor = "multi_thread")] + #[serial] + async fn uploads_wsdl_and_tests_soap_operation() { + let registry = test_registry().await; + let storage_root = test_storage_root("soap_runtime"); + let endpoint = spawn_soap_server().await; + let base_url = spawn_admin_api(build_test_app(registry, storage_root)).await; + let client = authorized_client(&base_url).await; + + let created = client + .post(format!("{base_url}/operations")) + .json(&test_soap_operation_payload( + &endpoint, + "crm_create_lead_soap", + )) + .send() + .await + .unwrap() + .json::() + .await + .unwrap(); + let operation_id = created["operation_id"].as_str().unwrap().to_owned(); + + let uploaded = client + .post(format!( + "{base_url}/operations/{operation_id}/descriptors/wsdl" + )) + .header("x-file-name", "lead.wsdl") + .body(SOAP_TEST_WSDL) + .send() + .await + .unwrap() + .json::() + .await + .unwrap(); + + let services = client + .get(format!( + "{base_url}/operations/{operation_id}/soap/services" + )) + .send() + .await + .unwrap() + .json::() + .await + .unwrap(); + + let test_run = client + .post(format!("{base_url}/operations/{operation_id}/test-runs")) + .json(&json!({ + "version": 1, + "input": { "email": "user@example.com" } + })) + .send() + .await + .unwrap() + .json::() + .await + .unwrap(); + + assert_eq!(uploaded["version"], 1); + assert_eq!(services["services"][0]["service_name"], "LeadService"); + assert_eq!(services["services"][0]["ports"][0]["port_name"], "LeadPort"); + assert_eq!( + services["services"][0]["ports"][0]["operations"][0]["operation_name"], + "CreateLead" + ); + assert_eq!(test_run["ok"], true); + assert_eq!(test_run["response_preview"]["id"], "lead_123"); + } + + #[cfg(any())] + #[tokio::test(flavor = "multi_thread")] + #[serial] + async fn returns_structured_context_when_wsdl_is_missing() { + let registry = test_registry().await; + let storage_root = test_storage_root("soap_missing_wsdl"); + let endpoint = spawn_soap_server().await; + let base_url = spawn_admin_api(build_test_app(registry, storage_root)).await; + let client = authorized_client(&base_url).await; + + let created = client + .post(format!("{base_url}/operations")) + .json(&test_soap_operation_payload( + &endpoint, + "crm_create_lead_soap_missing_wsdl", + )) + .send() + .await + .unwrap() + .json::() + .await + .unwrap(); + let operation_id = created["operation_id"].as_str().unwrap().to_owned(); + + let response = client + .get(format!( + "{base_url}/operations/{operation_id}/soap/services" + )) + .send() + .await + .unwrap(); + let status = response.status(); + let body = response.json::().await.unwrap(); + + assert_eq!(status, reqwest::StatusCode::NOT_FOUND); + assert_eq!(body["error"]["code"], "not_found"); + assert_eq!(body["error"]["message"], "wsdl was not uploaded"); + assert_eq!( + body["error"]["context"], + json!({ + "operation_id": operation_id, + "version": 1, + "descriptor_kind": "wsdl_upload" + }) + ); + } + + #[tokio::test(flavor = "multi_thread")] + #[serial] + async fn returns_structured_context_for_missing_operation_usage() { + let registry = test_registry().await; + let storage_root = test_storage_root("missing_operation_usage"); + let upstream_base_url = spawn_upstream_server().await; + let base_url = spawn_admin_api(build_test_app(registry, storage_root)).await; + let client = authorized_client(&base_url).await; + + let created = client + .post(format!("{base_url}/operations")) + .json(&test_operation_payload( + &upstream_base_url, + "crm_missing_usage", + )) + .send() + .await + .unwrap() + .json::() + .await + .unwrap(); + let operation_id = created["operation_id"].as_str().unwrap().to_owned(); + + let response = client + .get(format!( + "{base_url}/usage/operations/{operation_id}?period=7d" + )) + .send() + .await + .unwrap(); + let status = response.status(); + let body = response.json::().await.unwrap(); + + assert_eq!(status, reqwest::StatusCode::NOT_FOUND); + assert_eq!(body["error"]["code"], "not_found"); + assert_eq!( + body["error"]["message"], + format!("usage for operation {operation_id} was not found") + ); + assert_eq!( + body["error"]["context"], + json!({ + "operation_id": operation_id + }) + ); + } + + #[tokio::test(flavor = "multi_thread")] + #[serial] + async fn manages_auth_profiles_and_yaml_upsert() { + let registry = test_registry().await; + let storage_root = test_storage_root("yaml"); + let upstream_base_url = spawn_upstream_server().await; + let base_url = spawn_admin_api(build_test_app(registry, storage_root)).await; + let client = authorized_client(&base_url).await; + let secret = client + .post(format!("{base_url}/secrets")) + .json(&json!({ + "name": "crm-api-token", + "kind": SecretKind::Token, + "value": { "token": "super-secret-token" } + })) + .send() + .await + .unwrap(); + let secret = assert_success_json(secret).await; + let secret_id = secret["id"].as_str().unwrap(); + + let auth_profile = client + .post(format!("{base_url}/auth-profiles")) + .json(&json!({ + "name": "crm-header", + "kind": "api_key_header", + "config": { + "api_key_header": { + "header_name": "X-Api-Key", + "secret_id": secret_id + } + } + })) + .send() + .await + .unwrap() + .json::() + .await + .unwrap(); + let created = client + .post(format!("{base_url}/operations")) + .json(&test_operation_payload( + &upstream_base_url, + "crm_export_target", + )) + .send() + .await + .unwrap() + .json::() + .await + .unwrap(); + let operation_id = created["operation_id"].as_str().unwrap(); + let yaml = client + .get(format!("{base_url}/operations/{operation_id}/export")) + .send() + .await + .unwrap() + .text() + .await + .unwrap(); + let imported = client + .post(format!("{base_url}/operations/import?mode=upsert")) + .body(yaml) + .send() + .await + .unwrap() + .json::() + .await + .unwrap(); + + assert_eq!(auth_profile["kind"], "api_key_header"); + assert_eq!( + auth_profile["config"]["api_key_header"]["secret_id"], + secret_id + ); + assert_eq!(imported["operation_id"], operation_id); + assert_eq!(imported["version"], 2); + assert_eq!(imported["import_mode"], "upsert"); + } + + #[tokio::test(flavor = "multi_thread")] + #[serial] + async fn rejects_premium_security_level_for_community_yaml_upsert() { + let registry = test_registry().await; + let storage_root = test_storage_root("community_yaml_security_reject"); + let upstream_base_url = spawn_upstream_server().await; + let base_url = spawn_admin_api(build_test_app(registry, storage_root)).await; + let client = authorized_client(&base_url).await; + + let created = client + .post(format!("{base_url}/operations")) + .json(&test_operation_payload( + &upstream_base_url, + "crm_yaml_standard", + )) + .send() + .await + .unwrap() + .json::() + .await + .unwrap(); + let operation_id = created["operation_id"].as_str().unwrap().to_owned(); + + let mut yaml = client + .get(format!("{base_url}/operations/{operation_id}/export")) + .send() + .await + .unwrap() + .text() + .await + .unwrap(); + yaml = yaml.replace("security_level: standard", "security_level: elevated"); + + let response = client + .post(format!("{base_url}/operations/import?mode=upsert")) + .body(yaml) + .send() + .await + .unwrap(); + let status = response.status(); + let body = response.json::().await.unwrap(); + + assert_eq!(status, reqwest::StatusCode::BAD_REQUEST); + assert_eq!(body["error"]["code"], "validation_error"); + assert_eq!( + body["error"]["message"], + "security level elevated is not supported in Community" + ); + assert_eq!( + body["error"]["context"], + json!({ + "security_level": "elevated", + "edition": "community", + }) + ); + } + + #[tokio::test(flavor = "multi_thread")] + #[serial] + async fn manages_workspace_secrets_without_exposing_plaintext() { + let registry = test_registry().await; + let storage_root = test_storage_root("secrets"); + let base_url = spawn_admin_api(build_test_app(registry, storage_root)).await; + let client = authorized_client(&base_url).await; + + let created = client + .post(format!("{base_url}/secrets")) + .json(&json!({ + "name": "crm-api-token", + "kind": SecretKind::Token, + "value": { "token": "super-secret-token" } + })) + .send() + .await + .unwrap(); + let created = assert_success_json(created).await; + let secret_id = created["id"].as_str().unwrap().to_owned(); + + let listed = client + .get(format!("{base_url}/secrets")) + .send() + .await + .unwrap(); + let listed = assert_success_json(listed).await; + + let fetched = client + .get(format!("{base_url}/secrets/{secret_id}")) + .send() + .await + .unwrap(); + let fetched = assert_success_json(fetched).await; + + let rotated = client + .post(format!("{base_url}/secrets/{secret_id}/rotate")) + .json(&json!({ + "value": { "token": "rotated-token" } + })) + .send() + .await + .unwrap(); + let rotated = assert_success_json(rotated).await; + + let deleted = client + .delete(format!("{base_url}/secrets/{secret_id}")) + .send() + .await + .unwrap(); + let deleted = assert_success_json(deleted).await; + + let missing = client + .get(format!("{base_url}/secrets/{secret_id}")) + .send() + .await + .unwrap(); + let missing_status = missing.status(); + let missing = missing.json::().await.unwrap(); + + assert_eq!(created["name"], "crm-api-token"); + assert_eq!(created["kind"], "token"); + assert_eq!(created["current_version"], 1); + assert!(created.get("value").is_none()); + assert_eq!(listed["items"].as_array().unwrap().len(), 1); + assert_eq!(fetched["id"], secret_id); + assert!(fetched.get("value").is_none()); + assert_eq!(rotated["current_version"], 2); + assert_eq!(deleted["ok"], true); + assert_eq!(missing_status, reqwest::StatusCode::NOT_FOUND); + assert_eq!(missing["error"]["code"], "not_found"); + assert_eq!( + missing["error"]["context"], + json!({ + "secret_id": secret_id + }) + ); + } + + #[tokio::test(flavor = "multi_thread")] + #[serial] + async fn returns_structured_context_for_missing_operation_version() { + let registry = test_registry().await; + let storage_root = test_storage_root("missing_operation_version"); + let upstream_base_url = spawn_upstream_server().await; + let base_url = spawn_admin_api(build_test_app(registry, storage_root)).await; + let client = authorized_client(&base_url).await; + + let created = client + .post(format!("{base_url}/operations")) + .json(&test_operation_payload( + &upstream_base_url, + "crm_missing_operation_version", + )) + .send() + .await + .unwrap() + .json::() + .await + .unwrap(); + let operation_id = created["operation_id"].as_str().unwrap().to_owned(); + + let response = client + .get(format!("{base_url}/operations/{operation_id}/versions/99")) + .send() + .await + .unwrap(); + let status = response.status(); + let body = response.json::().await.unwrap(); + + assert_eq!(status, reqwest::StatusCode::NOT_FOUND); + assert_eq!(body["error"]["code"], "not_found"); + assert_eq!( + body["error"]["message"], + format!("operation version 99 for {operation_id} was not found") + ); + assert_eq!( + body["error"]["context"], + json!({ + "operation_id": operation_id, + "version": 99 + }) + ); + } + + #[tokio::test(flavor = "multi_thread")] + #[serial] + async fn rejects_auth_profile_with_missing_secret() { + let registry = test_registry().await; + let storage_root = test_storage_root("missing_secret_auth"); + let base_url = spawn_admin_api(build_test_app(registry, storage_root)).await; + let client = authorized_client(&base_url).await; + + let response = client + .post(format!("{base_url}/auth-profiles")) + .json(&json!({ + "name": "crm-header", + "kind": "api_key_header", + "config": { + "api_key_header": { + "header_name": "X-Api-Key", + "secret_id": "secret_missing" + } + } + })) + .send() + .await + .unwrap(); + let status = response.status(); + let body = response.json::().await.unwrap(); + + assert_eq!(status, reqwest::StatusCode::NOT_FOUND); + assert_eq!(body["error"]["code"], "not_found"); + assert_eq!( + body["error"]["message"], + "secret secret_missing was not found" + ); + } + + #[tokio::test(flavor = "multi_thread")] + #[serial] + async fn rejects_deleting_secret_referenced_by_auth_profile() { + let registry = test_registry().await; + let storage_root = test_storage_root("secret_references"); + let base_url = spawn_admin_api(build_test_app(registry, storage_root)).await; + let client = authorized_client(&base_url).await; + + let secret = client + .post(format!("{base_url}/secrets")) + .json(&json!({ + "name": "crm-api-token", + "kind": SecretKind::Token, + "value": { "token": "super-secret-token" } + })) + .send() + .await + .unwrap(); + let secret = assert_success_json(secret).await; + let secret_id = secret["id"].as_str().unwrap(); + + let auth_profile = client + .post(format!("{base_url}/auth-profiles")) + .json(&json!({ + "name": "crm-header", + "kind": "api_key_header", + "config": { + "api_key_header": { + "header_name": "X-Api-Key", + "secret_id": secret_id + } + } + })) + .send() + .await + .unwrap(); + let auth_profile = assert_success_json(auth_profile).await; + let auth_profile_id = auth_profile["id"].as_str().unwrap(); + + let response = client + .delete(format!("{base_url}/secrets/{secret_id}")) + .send() + .await + .unwrap(); + let status = response.status(); + let body = response.json::().await.unwrap(); + + assert_eq!(status, reqwest::StatusCode::CONFLICT); + assert_eq!(body["error"]["code"], "conflict"); + assert_eq!( + body["error"]["message"], + format!("secret {secret_id} is referenced by auth profile {auth_profile_id}") + ); + } + + #[cfg(any())] + #[tokio::test(flavor = "multi_thread")] + #[serial] + async fn roundtrips_graphql_operation_through_yaml_upsert() { + let registry = test_registry().await; + let storage_root = test_storage_root("yaml_graphql"); + let upstream_base_url = spawn_graphql_server().await; + let base_url = spawn_admin_api(build_test_app(registry, storage_root)).await; + let client = authorized_client(&base_url).await; + + let created = client + .post(format!("{base_url}/operations")) + .json(&test_graphql_operation_payload( + &upstream_base_url, + "crm_yaml_graphql", + )) + .send() + .await + .unwrap() + .json::() + .await + .unwrap(); + let operation_id = created["operation_id"].as_str().unwrap().to_owned(); + + let yaml = client + .get(format!("{base_url}/operations/{operation_id}/export")) + .send() + .await + .unwrap() + .text() + .await + .unwrap(); + let imported = client + .post(format!("{base_url}/operations/import?mode=upsert")) + .body(yaml) + .send() + .await + .unwrap() + .json::() + .await + .unwrap(); + let test_run = client + .post(format!("{base_url}/operations/{operation_id}/test-runs")) + .json(&json!({ + "version": 2, + "input": { "email": "user@example.com" } + })) + .send() + .await + .unwrap() + .json::() + .await + .unwrap(); + + assert_eq!(imported["operation_id"], operation_id); + assert_eq!(imported["version"], 2); + assert_eq!(test_run["ok"], true); + assert_eq!(test_run["response_preview"]["id"], "lead_123"); + } + + #[cfg(any())] + #[tokio::test(flavor = "multi_thread")] + #[serial] + async fn roundtrips_grpc_operation_through_yaml_upsert() { + let registry = test_registry().await; + let storage_root = test_storage_root("yaml_grpc"); + let server_addr = grpc_test_support::spawn_unary_echo_server().await; + let base_url = spawn_admin_api(build_test_app(registry, storage_root)).await; + let client = authorized_client(&base_url).await; + + let created = client + .post(format!("{base_url}/operations")) + .json(&test_grpc_operation_payload(&server_addr, "echo_yaml_grpc")) + .send() + .await + .unwrap() + .json::() + .await + .unwrap(); + let operation_id = created["operation_id"].as_str().unwrap().to_owned(); + + let yaml = client + .get(format!("{base_url}/operations/{operation_id}/export")) + .send() + .await + .unwrap() + .text() + .await + .unwrap(); + let imported = client + .post(format!("{base_url}/operations/import?mode=upsert")) + .body(yaml) + .send() + .await + .unwrap() + .json::() + .await + .unwrap(); + let test_run = client + .post(format!("{base_url}/operations/{operation_id}/test-runs")) + .json(&json!({ + "version": 2, + "input": { "message": "hello" } + })) + .send() + .await + .unwrap() + .json::() + .await + .unwrap(); + + assert_eq!(imported["operation_id"], operation_id); + assert_eq!(imported["version"], 2); + assert_eq!(test_run["ok"], true); + assert_eq!(test_run["response_preview"]["message"], "hello"); + } + + #[tokio::test(flavor = "multi_thread")] + #[serial] + async fn uploads_samples_and_generates_draft() { + let registry = test_registry().await; + let storage_root = test_storage_root("draft"); + let upstream_base_url = spawn_upstream_server().await; + let base_url = spawn_admin_api(build_test_app(registry, storage_root)).await; + let client = authorized_client(&base_url).await; + + let created = client + .post(format!("{base_url}/operations")) + .json(&test_operation_payload( + &upstream_base_url, + "crm_draft_target", + )) + .send() + .await + .unwrap() + .json::() + .await + .unwrap(); + let operation_id = created["operation_id"].as_str().unwrap(); + + client + .post(format!( + "{base_url}/operations/{operation_id}/samples/input-json" + )) + .json(&json!({ "email": "user@example.com", "name": "Ada" })) + .send() + .await + .unwrap(); + client + .post(format!( + "{base_url}/operations/{operation_id}/samples/output-json" + )) + .json(&json!({ "id": "lead_123", "status": "created" })) + .send() + .await + .unwrap(); + + let generated = client + .post(format!( + "{base_url}/operations/{operation_id}/drafts/generate" + )) + .json(&json!({ + "sources": ["input_json_sample", "output_json_sample"] + })) + .send() + .await + .unwrap() + .json::() + .await + .unwrap(); + + assert_eq!(generated["generated_draft"]["status"], "available"); + assert_eq!( + generated["input_schema"]["fields"]["email"]["type"], + "string" + ); + assert_eq!( + generated["output_mapping"]["rules"][0]["target"], + "$.output.id" + ); + } + + fn build_test_app(registry: PostgresRegistry, storage_root: std::path::PathBuf) -> Router { + build_app(AppState { + service: AdminService::new( + registry, + storage_root, + test_auth_settings(), + test_secret_crypto(), + ), + api_rate_limiter: crank_runtime::RequestRateLimiter::new( + crank_runtime::RequestRateLimitConfig::new(10_000, 10_000).unwrap(), + ), + }) + } + + async fn spawn_upstream_server() -> String { + let app = Router::new().route("/crm/leads", post(create_lead)); + let listener = TcpListener::bind("127.0.0.1:0").await.unwrap(); + let address = listener.local_addr().unwrap(); + + tokio::spawn(async move { + axum::serve(listener, app).await.unwrap(); + }); + + format!("http://{}", address) + } + + async fn spawn_graphql_server() -> String { + let app = Router::new().route("/", post(graphql_handler)); + let listener = TcpListener::bind("127.0.0.1:0").await.unwrap(); + let address = listener.local_addr().unwrap(); + + tokio::spawn(async move { + axum::serve(listener, app).await.unwrap(); + }); + + format!("http://{}", address) + } + + #[cfg(any())] + async fn spawn_soap_server() -> String { + let app = Router::new().route("/", post(soap_handler)); + let listener = TcpListener::bind("127.0.0.1:0").await.unwrap(); + let address = listener.local_addr().unwrap(); + + tokio::spawn(async move { + axum::serve(listener, app).await.unwrap(); + }); + + format!("http://{}", address) + } + + async fn spawn_admin_api(app: Router) -> TestServer { + let listener = TcpListener::bind("127.0.0.1:0").await.unwrap(); + let address = listener.local_addr().unwrap(); + let (shutdown_tx, shutdown_rx) = tokio::sync::oneshot::channel(); + + let handle = tokio::spawn(async move { + axum::serve(listener, app) + .with_graceful_shutdown(async move { + let _ = shutdown_rx.await; + }) + .await + .unwrap(); + }); + + TestServer { + base_url: format!( + "http://{}/api/admin/workspaces/{}", + address, DEFAULT_WORKSPACE_ID + ), + shutdown: Some(shutdown_tx), + handle: Some(handle), + } + } + + async fn authorized_client(workspace_base_url: impl AsRef) -> reqwest::Client { + let root_url = workspace_base_url + .as_ref() + .split("/api/admin/workspaces/") + .next() + .unwrap(); + let client = reqwest::Client::builder() + .cookie_store(true) + .build() + .unwrap(); + + client + .post(format!("{root_url}/api/auth/login")) + .json(&json!({ + "email": TEST_AUTH_EMAIL, + "password": TEST_AUTH_PASSWORD, + })) + .send() + .await + .unwrap() + .error_for_status() + .unwrap(); + + client + } + + #[tokio::test(flavor = "multi_thread")] + #[serial] + async fn rejects_rapid_login_requests_with_429() { + let registry = test_registry().await; + let storage_root = test_storage_root("login_rate_limit"); + let listener = TcpListener::bind("127.0.0.1:0").await.unwrap(); + let address = listener.local_addr().unwrap(); + let app = build_app(AppState { + service: AdminService::new( + registry, + storage_root, + test_auth_settings(), + test_secret_crypto(), + ), + api_rate_limiter: crank_runtime::RequestRateLimiter::new( + crank_runtime::RequestRateLimitConfig::new(1, 1).unwrap(), + ), + }); + let (shutdown_tx, shutdown_rx) = tokio::sync::oneshot::channel(); + let handle = tokio::spawn(async move { + axum::serve(listener, app) + .with_graceful_shutdown(async move { + let _ = shutdown_rx.await; + }) + .await + .unwrap(); + }); + + let client = reqwest::Client::new(); + let root_url = format!("http://{address}"); + let first_response = client + .post(format!("{root_url}/api/auth/login")) + .header("x-request-id", "req_admin_rate_01") + .json(&json!({ + "email": TEST_AUTH_EMAIL, + "password": TEST_AUTH_PASSWORD, + })) + .send() + .await + .unwrap(); + assert_eq!(first_response.status(), reqwest::StatusCode::OK); + + let second_response = client + .post(format!("{root_url}/api/auth/login")) + .header("x-request-id", "req_admin_rate_02") + .json(&json!({ + "email": TEST_AUTH_EMAIL, + "password": TEST_AUTH_PASSWORD, + })) + .send() + .await + .unwrap(); + + assert_eq!( + second_response.status(), + reqwest::StatusCode::TOO_MANY_REQUESTS + ); + assert_eq!( + second_response.headers()["x-request-id"].to_str().unwrap(), + "req_admin_rate_02" + ); + let payload = second_response.json::().await.unwrap(); + assert_eq!(payload["error"]["code"], "rate_limited"); + let retry_after_ms = payload["error"]["context"]["retry_after_ms"] + .as_u64() + .unwrap(); + assert!((1..=1000).contains(&retry_after_ms)); + + let _ = shutdown_tx.send(()); + let _ = handle.await; + } + + #[tokio::test(flavor = "multi_thread")] + #[serial] + async fn login_uses_identity_provider_when_configured() { + let registry = test_registry().await; + let storage_root = test_storage_root("identity_provider_login"); + let service = AdminServiceBuilder::new( + registry, + storage_root, + test_auth_settings(), + test_secret_crypto(), + crank_runtime::community_default().build(), + ) + .with_identity_provider(Arc::new(RejectingIdentityProvider)) + .build(); + + let error = match service + .login(crate::service::LoginPayload { + email: TEST_AUTH_EMAIL.to_owned(), + password: TEST_AUTH_PASSWORD.to_owned(), + }) + .await + { + Ok(_) => panic!("login should delegate to identity provider"), + Err(error) => error, + }; + assert_eq!(error.to_string(), "invalid email or password"); + } + + async fn assert_success_json(response: reqwest::Response) -> Value { + let status = response.status(); + let body = response.text().await.unwrap(); + + assert!( + status.is_success(), + "request failed with status {status}: {body}" + ); + + serde_json::from_str(&body).unwrap() + } + + async fn create_lead(Json(payload): Json) -> Json { + Json(json!({ + "id": "lead_123", + "status": "created", + "email": payload["email"] + })) + } + + async fn graphql_handler(Json(payload): Json) -> Json { + let email = payload + .get("variables") + .and_then(|variables| variables.get("email")) + .and_then(Value::as_str) + .unwrap_or_default(); + + Json(json!({ + "data": { + "createLead": { + "id": "lead_123", + "status": "created", + "email": email + } + } + })) + } + + #[cfg(any())] + async fn soap_handler(body: String) -> (axum::http::StatusCode, String) { + assert!(body.contains("user@example.com")); + + ( + axum::http::StatusCode::OK, + r#" + + + lead_123 + created + + + "# + .to_owned(), + ) + } + + async fn test_registry() -> PostgresRegistry { + let database_url = env::var("TEST_DATABASE_URL") + .unwrap_or_else(|_| "postgres://crank:crank@127.0.0.1:15432/crank".to_owned()); + let mut admin_connection = PgConnection::connect(&database_url).await.unwrap(); + let schema = format!( + "test_admin_api_{}_{}", + std::process::id(), + SystemTime::now() + .duration_since(UNIX_EPOCH) + .unwrap() + .as_nanos() + ); + + admin_connection + .execute(sqlx::query(&format!("create schema {schema}"))) + .await + .unwrap(); + let registry = + PostgresRegistry::connect(&format!("{database_url}?options=-csearch_path%3D{schema}")) + .await + .unwrap(); + let password_hash = hash_password(TEST_AUTH_PASSWORD, TEST_PASSWORD_PEPPER).unwrap(); + let user_id = registry + .upsert_bootstrap_user(TEST_AUTH_EMAIL, "Test Owner", &password_hash) + .await + .unwrap(); + registry + .ensure_membership( + &WorkspaceId::new(DEFAULT_WORKSPACE_ID), + &user_id, + MembershipRole::Owner, + ) + .await + .unwrap(); + + registry + } + + fn test_storage_root(name: &str) -> std::path::PathBuf { + env::temp_dir().join(format!( + "crank_admin_api_{name}_{}_{}", + std::process::id(), + SystemTime::now() + .duration_since(UNIX_EPOCH) + .unwrap() + .as_nanos() + )) + } + + fn test_auth_settings() -> AuthSettings { + AuthSettings { + session_secret: TEST_SESSION_SECRET.to_owned(), + password_pepper: TEST_PASSWORD_PEPPER.to_owned(), + session_ttl_hours: 24, + cookie_secure: false, + bootstrap_admin: BootstrapAdminConfig { + email: TEST_AUTH_EMAIL.to_owned(), + password: TEST_AUTH_PASSWORD.to_owned(), + display_name: "Test Owner".to_owned(), + }, + } + } + + fn test_secret_crypto() -> SecretCrypto { + SecretCrypto::new(TEST_MASTER_KEY).unwrap() + } + + fn test_operation_payload(base_url: &str, name: &str) -> OperationPayload { + OperationPayload { + name: name.to_owned(), + display_name: "Create Lead".to_owned(), + category: "sales".to_owned(), + protocol: Protocol::Rest, + security_level: OperationSecurityLevel::Standard, + target: Target::Rest(RestTarget { + base_url: base_url.to_owned(), + method: HttpMethod::Post, + path_template: "/crm/leads".to_owned(), + static_headers: BTreeMap::new(), + }), + input_schema: object_schema("email"), + output_schema: object_schema("id"), + input_mapping: MappingSet { + rules: vec![MappingRule { + source: "$.mcp.email".to_owned(), + target: "$.request.body.email".to_owned(), + required: true, + default_value: None, + transform: None, + condition: None, + notes: None, + }], + }, + output_mapping: MappingSet { + rules: vec![MappingRule { + source: "$.response.body.id".to_owned(), + target: "$.output.id".to_owned(), + required: true, + default_value: None, + transform: None, + condition: None, + notes: None, + }], + }, + execution_config: ExecutionConfig { + timeout_ms: 1_000, + retry_policy: None, + response_cache: None, + auth_profile_ref: None, + headers: BTreeMap::new(), + protocol_options: None, + streaming: None, + }, + tool_description: ToolDescription { + title: "Create Lead".to_owned(), + description: "Creates a CRM lead".to_owned(), + tags: vec!["crm".to_owned()], + examples: Vec::new(), + }, + } + } + + fn test_graphql_operation_payload(endpoint: &str, name: &str) -> OperationPayload { + OperationPayload { + name: name.to_owned(), + display_name: "Create Lead GraphQL".to_owned(), + category: "sales".to_owned(), + protocol: Protocol::Graphql, + security_level: OperationSecurityLevel::Standard, + target: Target::Graphql(GraphqlTarget { + endpoint: endpoint.to_owned(), + operation_type: GraphqlOperationType::Mutation, + operation_name: "CreateLead".to_owned(), + query_template: + "mutation CreateLead($email: String!) { createLead(email: $email) { id status email } }" + .to_owned(), + response_path: "$.response.body.data.createLead".to_owned(), + }), + input_schema: object_schema("email"), + output_schema: object_schema("id"), + input_mapping: MappingSet { + rules: vec![MappingRule { + source: "$.mcp.email".to_owned(), + target: "$.request.variables.email".to_owned(), + required: true, + default_value: None, + transform: None, + condition: None, + notes: None, + }], + }, + output_mapping: MappingSet { + rules: vec![MappingRule { + source: "$.response.data.id".to_owned(), + target: "$.output.id".to_owned(), + required: true, + default_value: None, + transform: None, + condition: None, + notes: None, + }], + }, + execution_config: ExecutionConfig { + timeout_ms: 1_000, + retry_policy: None, + response_cache: None, + auth_profile_ref: None, + headers: BTreeMap::new(), + protocol_options: None, + streaming: None, + }, + tool_description: ToolDescription { + title: "Create Lead GraphQL".to_owned(), + description: "Creates a CRM lead through GraphQL".to_owned(), + tags: vec!["crm".to_owned(), "graphql".to_owned()], + examples: Vec::new(), + }, + } + } + + #[cfg(any())] + fn test_grpc_operation_payload(server_addr: &str, name: &str) -> OperationPayload { + OperationPayload { + name: name.to_owned(), + display_name: "Unary Echo gRPC".to_owned(), + category: "support".to_owned(), + protocol: Protocol::Grpc, + security_level: OperationSecurityLevel::Standard, + target: Target::Grpc(GrpcTarget { + server_addr: server_addr.to_owned(), + package: "echo".to_owned(), + service: "EchoService".to_owned(), + method: "UnaryEcho".to_owned(), + read_only: false, + descriptor_ref: DescriptorId::new("desc_echo"), + descriptor_set_b64: grpc_test_support::descriptor_set_b64(), + }), + input_schema: object_schema("message"), + output_schema: object_schema("message"), + input_mapping: MappingSet { + rules: vec![MappingRule { + source: "$.mcp.message".to_owned(), + target: "$.request.grpc.message".to_owned(), + required: true, + default_value: None, + transform: None, + condition: None, + notes: None, + }], + }, + output_mapping: MappingSet { + rules: vec![MappingRule { + source: "$.response.data.message".to_owned(), + target: "$.output.message".to_owned(), + required: true, + default_value: None, + transform: None, + condition: None, + notes: None, + }], + }, + execution_config: ExecutionConfig { + timeout_ms: 1_000, + retry_policy: None, + response_cache: None, + auth_profile_ref: None, + headers: BTreeMap::new(), + protocol_options: None, + streaming: None, + }, + tool_description: ToolDescription { + title: "Unary Echo gRPC".to_owned(), + description: "Echoes a unary gRPC payload".to_owned(), + tags: vec!["grpc".to_owned()], + examples: Vec::new(), + }, + } + } + + #[cfg(any())] + fn test_grpc_window_operation_payload(server_addr: &str, name: &str) -> OperationPayload { + let mut payload = test_grpc_operation_payload(server_addr, name); + payload.display_name = "Server Echo Window".to_owned(); + payload.target = Target::Grpc(GrpcTarget { + server_addr: server_addr.to_owned(), + package: "echo".to_owned(), + service: "EchoService".to_owned(), + method: "ServerEcho".to_owned(), + read_only: false, + descriptor_ref: DescriptorId::new("desc_echo_stream"), + descriptor_set_b64: grpc_test_support::descriptor_set_b64(), + }); + payload.execution_config.streaming = Some(crank_core::StreamingConfig { + mode: ExecutionMode::Window, + transport_behavior: TransportBehavior::ServerStream, + window_duration_ms: Some(100), + poll_interval_ms: None, + upstream_timeout_ms: Some(1_000), + idle_timeout_ms: None, + max_session_lifetime_ms: None, + max_items: Some(2), + max_bytes: None, + aggregation_mode: crank_core::AggregationMode::RawItems, + summary_path: None, + items_path: Some("$.response.body.items".to_owned()), + cursor_path: None, + status_path: None, + done_path: Some("$.response.body.done".to_owned()), + redacted_paths: Vec::new(), + truncate_item_fields: false, + max_field_length: None, + drop_duplicates: false, + sampling_rate: None, + tool_family: crank_core::ToolFamilyConfig::default(), + }); + payload + } + + #[cfg(any())] + fn test_grpc_session_operation_payload(server_addr: &str, name: &str) -> OperationPayload { + let mut payload = test_grpc_window_operation_payload(server_addr, name); + payload.display_name = "Server Echo Session".to_owned(); + if let Some(streaming) = payload.execution_config.streaming.as_mut() { + streaming.mode = ExecutionMode::Session; + streaming.poll_interval_ms = Some(1_000); + streaming.max_session_lifetime_ms = Some(60_000); + streaming.tool_family = crank_core::ToolFamilyConfig { + start_tool_name: Some("echo_session_start".to_owned()), + poll_tool_name: Some("echo_session_poll".to_owned()), + stop_tool_name: Some("echo_session_stop".to_owned()), + status_tool_name: None, + result_tool_name: None, + cancel_tool_name: None, + }; + } + payload + } + + #[cfg(any())] + fn test_rest_async_job_operation_payload(base_url: &str, name: &str) -> OperationPayload { + let mut payload = test_operation_payload(base_url, name); + payload.display_name = "Create Lead Async Job".to_owned(); + payload.execution_config.streaming = Some(crank_core::StreamingConfig { + mode: ExecutionMode::AsyncJob, + transport_behavior: TransportBehavior::DeferredResult, + window_duration_ms: None, + poll_interval_ms: Some(1_000), + upstream_timeout_ms: Some(1_000), + idle_timeout_ms: None, + max_session_lifetime_ms: Some(300_000), + max_items: None, + max_bytes: None, + aggregation_mode: crank_core::AggregationMode::SummaryPlusSamples, + summary_path: None, + items_path: None, + cursor_path: None, + status_path: None, + done_path: None, + redacted_paths: Vec::new(), + truncate_item_fields: false, + max_field_length: None, + drop_duplicates: false, + sampling_rate: None, + tool_family: crank_core::ToolFamilyConfig { + start_tool_name: Some("crm_async_start".to_owned()), + poll_tool_name: None, + stop_tool_name: None, + status_tool_name: Some("crm_async_status".to_owned()), + result_tool_name: Some("crm_async_result".to_owned()), + cancel_tool_name: Some("crm_async_cancel".to_owned()), + }, + }); + payload + } + + #[cfg(any())] + fn test_soap_operation_payload(endpoint: &str, name: &str) -> OperationPayload { + OperationPayload { + name: name.to_owned(), + display_name: "Create Lead SOAP".to_owned(), + category: "sales".to_owned(), + protocol: Protocol::Soap, + security_level: OperationSecurityLevel::Standard, + target: Target::Soap(SoapTarget { + wsdl_ref: "sample_wsdl".into(), + service_name: "LeadService".to_owned(), + port_name: "LeadPort".to_owned(), + operation_name: "CreateLead".to_owned(), + endpoint_override: Some(endpoint.to_owned()), + soap_version: SoapVersion::Soap11, + soap_action: Some("urn:createLead".to_owned()), + binding_style: SoapBindingStyle::DocumentLiteral, + headers: Vec::new(), + fault_contract: None, + metadata: SoapOperationMetadata { + input_part_names: vec!["CreateLeadRequest".to_owned()], + output_part_names: vec!["CreateLeadResponse".to_owned()], + namespaces: vec!["urn:crm".to_owned()], + }, + }), + input_schema: object_schema("email"), + output_schema: object_schema("id"), + input_mapping: MappingSet { + rules: vec![MappingRule { + source: "$.mcp.email".to_owned(), + target: "$.request.body.email".to_owned(), + required: true, + default_value: None, + transform: None, + condition: None, + notes: None, + }], + }, + output_mapping: MappingSet { + rules: vec![MappingRule { + source: "$.response.body.id".to_owned(), + target: "$.output.id".to_owned(), + required: true, + default_value: None, + transform: None, + condition: None, + notes: None, + }], + }, + execution_config: ExecutionConfig { + timeout_ms: 1_000, + retry_policy: None, + response_cache: None, + auth_profile_ref: None, + headers: BTreeMap::new(), + protocol_options: None, + streaming: None, + }, + tool_description: ToolDescription { + title: "Create Lead SOAP".to_owned(), + description: "Creates a CRM lead through SOAP".to_owned(), + tags: vec!["crm".to_owned(), "soap".to_owned()], + examples: Vec::new(), + }, + } + } + + fn test_websocket_operation_payload(url: &str, name: &str) -> OperationPayload { + OperationPayload { + name: name.to_owned(), + display_name: "Telemetry WebSocket".to_owned(), + category: "telemetry".to_owned(), + protocol: Protocol::Websocket, + security_level: OperationSecurityLevel::Standard, + target: Target::Websocket(WebsocketTarget { + url: url.to_owned(), + subprotocols: Vec::new(), + subscribe_message_template: Some(json!({ "subscribe": true })), + unsubscribe_message_template: None, + static_headers: BTreeMap::new(), + }), + input_schema: object_schema("channel"), + output_schema: object_schema("event"), + input_mapping: MappingSet { + rules: vec![MappingRule { + source: "$.mcp.channel".to_owned(), + target: "$.request.body.channel".to_owned(), + required: true, + default_value: None, + transform: None, + condition: None, + notes: None, + }], + }, + output_mapping: MappingSet { + rules: vec![MappingRule { + source: "$.response.body.event".to_owned(), + target: "$.output.event".to_owned(), + required: true, + default_value: None, + transform: None, + condition: None, + notes: None, + }], + }, + execution_config: ExecutionConfig { + timeout_ms: 1_000, + retry_policy: None, + response_cache: None, + auth_profile_ref: None, + headers: BTreeMap::new(), + protocol_options: None, + streaming: None, + }, + tool_description: ToolDescription { + title: "Telemetry WebSocket".to_owned(), + description: "Streams telemetry events".to_owned(), + tags: vec!["telemetry".to_owned(), "websocket".to_owned()], + examples: Vec::new(), + }, + } + } + + #[cfg(any())] + const SOAP_TEST_WSDL: &str = r#" + + + + + + + + + + + + +"#; + + fn object_schema(field_name: &str) -> Schema { + Schema { + kind: SchemaKind::Object, + description: None, + required: true, + nullable: false, + default_value: None, + fields: BTreeMap::from([( + field_name.to_owned(), + Schema { + kind: SchemaKind::String, + description: None, + required: true, + nullable: false, + default_value: None, + fields: BTreeMap::new(), + items: None, + enum_values: Vec::new(), + variants: Vec::new(), + }, + )]), + items: None, + enum_values: Vec::new(), + variants: Vec::new(), + } + } +} diff --git a/apps/admin-api/src/auth.rs b/apps/admin-api/src/auth.rs new file mode 100644 index 0000000..7548ba1 --- /dev/null +++ b/apps/admin-api/src/auth.rs @@ -0,0 +1,124 @@ +use axum::{ + extract::{OriginalUri, Request, State}, + middleware::Next, + response::Response, +}; +use axum_extra::extract::cookie::{Cookie, CookieJar}; +use crank_community_auth::{ + cleared_session_cookie as build_cleared_session_cookie, + create_session_cookie as build_session_cookie, hash_password as community_hash_password, + session_cookie as build_session_cookie_header, +}; +use crank_core::{User, UserSessionId, WorkspaceId}; +use crank_registry::WorkspaceMembershipRecord; +use serde::Serialize; + +use crate::{error::ApiError, state::AppState}; + +pub use crank_community_auth::{ + SESSION_COOKIE_NAME, SessionCookie, extract_session_token, hash_session_secret, verify_password, +}; + +#[derive(Clone)] +pub struct BootstrapAdminConfig { + pub email: String, + pub password: String, + pub display_name: String, +} + +#[derive(Clone)] +pub struct AuthSettings { + pub session_secret: String, + pub password_pepper: String, + pub session_ttl_hours: i64, + pub cookie_secure: bool, + pub bootstrap_admin: BootstrapAdminConfig, +} + +#[derive(Clone, Debug, Serialize)] +pub struct AuthenticatedSession { + pub session_id: UserSessionId, + pub user: User, + pub memberships: Vec, + pub current_workspace_id: Option, +} + +pub fn hash_password(password: &str, pepper: &str) -> Result { + community_hash_password(password, pepper) + .map_err(|error| ApiError::internal(format!("failed to hash password: {error}"))) +} + +pub fn create_session_cookie(settings: &AuthSettings) -> Result { + build_session_cookie(settings.session_ttl_hours) + .map_err(|error| ApiError::internal(format!("failed to create session cookie: {error}"))) +} + +pub fn session_cookie(settings: &AuthSettings, token: &str) -> Cookie<'static> { + build_session_cookie_header(token, settings.cookie_secure, settings.session_ttl_hours) +} + +pub fn cleared_session_cookie(settings: &AuthSettings) -> Cookie<'static> { + build_cleared_session_cookie(settings.cookie_secure) +} + +pub async fn require_session( + State(state): State, + jar: CookieJar, + mut request: Request, + next: Next, +) -> Result { + let session = resolve_authenticated_session(state.clone(), &jar).await?; + request.extensions_mut().insert(session); + Ok(next.run(request).await) +} + +pub async fn require_workspace_session( + State(state): State, + jar: CookieJar, + original_uri: OriginalUri, + mut request: Request, + next: Next, +) -> Result { + let session = resolve_authenticated_session(state.clone(), &jar).await?; + let workspace_id = workspace_id_from_path(original_uri.path()) + .ok_or_else(|| ApiError::internal("workspace middleware was applied to an invalid path"))?; + + let has_access = state + .service + .user_has_workspace_access(&session.user.id, &workspace_id) + .await?; + if !has_access { + return Err(ApiError::forbidden("workspace access denied")); + } + + request.extensions_mut().insert(session); + Ok(next.run(request).await) +} + +async fn resolve_authenticated_session( + state: AppState, + jar: &CookieJar, +) -> Result { + let (session_id, session_value) = extract_session_token(jar) + .ok_or_else(|| ApiError::unauthorized("authentication required"))?; + let session = state + .service + .get_session(&session_id, &session_value) + .await? + .ok_or_else(|| ApiError::unauthorized("session is invalid or expired"))?; + + state.service.touch_session(&session_id).await?; + + Ok(session) +} + +fn workspace_id_from_path(path: &str) -> Option { + let marker = "/api/admin/workspaces/"; + let (_, suffix) = path.split_once(marker)?; + let workspace_id = suffix.split('/').next()?; + if workspace_id.is_empty() { + return None; + } + + Some(WorkspaceId::new(workspace_id)) +} diff --git a/apps/admin-api/src/error.rs b/apps/admin-api/src/error.rs new file mode 100644 index 0000000..ed8e207 --- /dev/null +++ b/apps/admin-api/src/error.rs @@ -0,0 +1,571 @@ +use axum::{ + Json, + http::StatusCode, + response::{IntoResponse, Response}, +}; +use crank_mapping::MappingError; +use crank_registry::RegistryError; +use crank_runtime::RuntimeError; +use crank_schema::SchemaError; +use serde_json::{Value, json}; +use thiserror::Error; +use tracing::{error, warn}; + +use crate::storage::StorageError; + +#[derive(Debug, Error)] +pub enum ApiError { + #[error("{message}")] + Unauthorized { + message: String, + context: Option, + }, + #[error("{message}")] + Forbidden { + message: String, + context: Option, + }, + #[error("{message}")] + Validation { + message: String, + context: Option, + }, + #[error("{message}")] + NotFound { + message: String, + context: Option, + }, + #[error("{message}")] + Conflict { + message: String, + context: Option, + }, + #[error("{message}")] + RateLimited { + message: String, + context: Option, + }, + #[error("{message}")] + Internal { + message: String, + context: Option, + }, +} + +impl ApiError { + pub fn unauthorized(message: impl Into) -> Self { + Self::Unauthorized { + message: message.into(), + context: None, + } + } + + pub fn forbidden(message: impl Into) -> Self { + Self::Forbidden { + message: message.into(), + context: None, + } + } + + pub fn validation(message: impl Into) -> Self { + Self::Validation { + message: message.into(), + context: None, + } + } + + pub fn internal(message: impl Into) -> Self { + Self::Internal { + message: message.into(), + context: None, + } + } + + pub(crate) fn rate_limited_with_context(message: impl Into, context: Value) -> Self { + Self::RateLimited { + message: message.into(), + context: Some(context), + } + } + + pub(crate) fn validation_with_context(message: impl Into, context: Value) -> Self { + Self::Validation { + message: message.into(), + context: Some(context), + } + } + + pub(crate) fn not_found_with_context(message: impl Into, context: Value) -> Self { + Self::NotFound { + message: message.into(), + context: Some(context), + } + } + + pub(crate) fn conflict_with_context(message: impl Into, context: Value) -> Self { + Self::Conflict { + message: message.into(), + context: Some(context), + } + } + + pub(crate) fn forbidden_with_context(message: impl Into, context: Value) -> Self { + Self::Forbidden { + message: message.into(), + context: Some(context), + } + } + + fn status_code(&self) -> StatusCode { + match self { + Self::Unauthorized { .. } => StatusCode::UNAUTHORIZED, + Self::Forbidden { .. } => StatusCode::FORBIDDEN, + Self::Validation { .. } => StatusCode::BAD_REQUEST, + Self::NotFound { .. } => StatusCode::NOT_FOUND, + Self::Conflict { .. } => StatusCode::CONFLICT, + Self::RateLimited { .. } => StatusCode::TOO_MANY_REQUESTS, + Self::Internal { .. } => StatusCode::INTERNAL_SERVER_ERROR, + } + } + + fn code(&self) -> &'static str { + match self { + Self::Unauthorized { .. } => "unauthorized", + Self::Forbidden { .. } => "forbidden", + Self::Validation { .. } => "validation_error", + Self::NotFound { .. } => "not_found", + Self::Conflict { .. } => "conflict", + Self::RateLimited { .. } => "rate_limited", + Self::Internal { .. } => "internal_error", + } + } +} + +impl IntoResponse for ApiError { + fn into_response(self) -> Response { + match &self { + Self::Internal { message, .. } => { + error!(error_code = self.code(), error_message = %message) + } + Self::Unauthorized { message, .. } + | Self::Forbidden { message, .. } + | Self::Validation { message, .. } + | Self::NotFound { message, .. } + | Self::Conflict { message, .. } + | Self::RateLimited { message, .. } => { + warn!(error_code = self.code(), error_message = %message) + } + } + + let mut error = json!({ + "code": self.code(), + "message": self.to_string(), + }); + if let Some(context) = self.context() { + error["context"] = context; + } + + let body = Json(json!({ + "error": error + })); + + (self.status_code(), body).into_response() + } +} + +impl ApiError { + fn context(&self) -> Option { + match self { + Self::Unauthorized { context, .. } + | Self::Forbidden { context, .. } + | Self::Validation { context, .. } + | Self::NotFound { context, .. } + | Self::Conflict { context, .. } + | Self::RateLimited { context, .. } + | Self::Internal { context, .. } => context.clone(), + } + } +} + +impl From for ApiError { + fn from(value: RegistryError) -> Self { + match value { + RegistryError::WorkspaceNotFound { workspace_id } => Self::not_found_with_context( + format!("workspace {workspace_id} was not found"), + json!({ "workspace_id": workspace_id }), + ), + RegistryError::UserNotFound { user_id } => Self::not_found_with_context( + format!("user {user_id} was not found"), + json!({ "user_id": user_id }), + ), + RegistryError::MembershipNotFound { + workspace_id, + user_id, + } => Self::not_found_with_context( + format!("membership for user {user_id} in workspace {workspace_id} was not found"), + json!({ + "workspace_id": workspace_id, + "user_id": user_id, + }), + ), + RegistryError::AgentNotFound { agent_id } => Self::not_found_with_context( + format!("agent {agent_id} was not found"), + json!({ "agent_id": agent_id }), + ), + RegistryError::InvitationNotFound { invitation_id } => Self::not_found_with_context( + format!("invitation {invitation_id} was not found"), + json!({ "invitation_id": invitation_id }), + ), + RegistryError::PlatformApiKeyNotFound { key_id } => Self::not_found_with_context( + format!("platform api key {key_id} was not found"), + json!({ "key_id": key_id }), + ), + RegistryError::SecretNotFound { secret_id } => Self::not_found_with_context( + format!("secret {secret_id} was not found"), + json!({ "secret_id": secret_id }), + ), + RegistryError::StreamSessionNotFound { session_id } => Self::not_found_with_context( + format!("stream session {session_id} was not found"), + json!({ "session_id": session_id }), + ), + RegistryError::AsyncJobNotFound { job_id } => Self::not_found_with_context( + format!("async job {job_id} was not found"), + json!({ "job_id": job_id }), + ), + RegistryError::InvocationLogNotFound { log_id } => Self::not_found_with_context( + format!("invocation log {log_id} was not found"), + json!({ "log_id": log_id }), + ), + RegistryError::PublishedAgentNotFound { + workspace_slug, + agent_slug, + } => Self::not_found_with_context( + format!("published agent {workspace_slug}/{agent_slug} was not found"), + json!({ + "workspace_slug": workspace_slug, + "agent_slug": agent_slug, + }), + ), + RegistryError::OperationNotFound { operation_id } => Self::not_found_with_context( + format!("operation {operation_id} was not found"), + json!({ "operation_id": operation_id }), + ), + RegistryError::OperationVersionNotFound { + operation_id, + version, + } => Self::not_found_with_context( + format!("operation version {version} for {operation_id} was not found"), + json!({ + "operation_id": operation_id, + "version": version, + }), + ), + RegistryError::OperationHasPublishedAgentBindings { operation_id } => { + Self::conflict_with_context( + format!( + "operation {operation_id} cannot be deleted while it is bound to a published agent" + ), + json!({ "operation_id": operation_id }), + ) + } + RegistryError::AuthProfileNotFound { auth_profile_id } => Self::not_found_with_context( + format!("auth profile {auth_profile_id} was not found"), + json!({ "auth_profile_id": auth_profile_id }), + ), + RegistryError::OperationAlreadyExists { operation_id } => Self::conflict_with_context( + format!("operation {operation_id} already exists"), + json!({ "operation_id": operation_id }), + ), + RegistryError::WorkspaceSlugAlreadyExists { slug } => Self::conflict_with_context( + format!("workspace with slug {slug} already exists"), + json!({ "slug": slug }), + ), + RegistryError::SecretNameAlreadyExists { workspace_id, name } => { + Self::conflict_with_context( + format!("secret with name {name} already exists in workspace {workspace_id}"), + json!({ + "workspace_id": workspace_id, + "name": name, + }), + ) + } + RegistryError::SecretReferencedByAuthProfile { + secret_id, + auth_profile_id, + } => Self::conflict_with_context( + format!("secret {secret_id} is referenced by auth profile {auth_profile_id}"), + json!({ + "secret_id": secret_id, + "auth_profile_id": auth_profile_id, + }), + ), + RegistryError::InvalidStreamSessionTransition { + session_id, + from, + to, + } => Self::conflict_with_context( + format!("invalid stream session transition for {session_id}: {from} -> {to}"), + json!({ + "session_id": session_id, + "from": from, + "to": to, + }), + ), + RegistryError::InvalidAsyncJobTransition { job_id, from, to } => { + Self::conflict_with_context( + format!("invalid async job transition for {job_id}: {from} -> {to}"), + json!({ + "job_id": job_id, + "from": from, + "to": to, + }), + ) + } + RegistryError::UserEmailAlreadyExists { email } => Self::conflict_with_context( + format!("user with email {email} already exists"), + json!({ "email": email }), + ), + RegistryError::InvalidInitialVersion { + operation_id, + version, + } => Self::validation_with_context( + format!("operation {operation_id} must start with version 1, got {version}"), + json!({ + "operation_id": operation_id, + "version": version, + }), + ), + RegistryError::InvalidVersionSequence { + operation_id, + expected, + actual, + } => Self::validation_with_context( + format!("operation {operation_id} expected next version {expected}, got {actual}"), + json!({ + "operation_id": operation_id, + "expected": expected, + "actual": actual, + }), + ), + RegistryError::ImmutableOperationFieldChanged { + operation_id, + field, + } => Self::validation_with_context( + format!("operation {operation_id} changed immutable field {field}"), + json!({ + "operation_id": operation_id, + "field": field, + }), + ), + RegistryError::InvalidEnumRepresentation { field } => Self::validation_with_context( + format!("unsupported enum representation for field {field}"), + json!({ "field": field }), + ), + RegistryError::InvalidNumericValue { field, value } => Self::validation_with_context( + format!("invalid numeric value for field {field}: {value}"), + json!({ + "field": field, + "value": value, + }), + ), + RegistryError::YamlImportJobNotFound { job_id } => Self::validation_with_context( + format!("yaml import job {job_id} was not found"), + json!({ "job_id": job_id }), + ), + RegistryError::Storage(_) | RegistryError::Serialization(_) => { + Self::internal(value.to_string()) + } + } + } +} + +impl From for ApiError { + fn from(value: MappingError) -> Self { + Self::validation(value.to_string()) + } +} + +impl From for ApiError { + fn from(value: SchemaError) -> Self { + Self::validation(value.to_string()) + } +} + +impl From for ApiError { + fn from(value: StorageError) -> Self { + match value { + StorageError::InvalidStorageRef { details } => Self::validation_with_context( + format!("invalid storage reference: {details}"), + json!({ "details": details }), + ), + StorageError::Io(_) | StorageError::Serialization(_) => { + Self::internal(value.to_string()) + } + } + } +} + +pub fn runtime_test_failure(error: &RuntimeError) -> Value { + let mut payload = json!({ + "code": runtime_test_failure_code(error), + "message": error.to_string() + }); + if let Some(context) = runtime_error_context(error) { + payload["context"] = context; + } + payload +} + +fn runtime_test_failure_code(error: &RuntimeError) -> &'static str { + match error { + RuntimeError::Schema(_) => "runtime_schema_error", + RuntimeError::Mapping(_) => "runtime_mapping_error", + RuntimeError::GraphqlAdapter(_) => "runtime_graphql_error", + RuntimeError::GrpcAdapter(_) => "runtime_grpc_error", + RuntimeError::RestAdapter(_) => "runtime_rest_error", + RuntimeError::ProtocolAdapter(_) => "runtime_adapter_error", + RuntimeError::SoapAdapter(_) => "runtime_soap_error", + RuntimeError::WebsocketAdapter(_) => "runtime_websocket_error", + RuntimeError::UnsupportedProtocol { .. } => "runtime_protocol_error", + RuntimeError::ConcurrencyLimitExceeded { .. } => "runtime_overloaded", + RuntimeError::InvalidPreparedRequest { .. } => "runtime_request_error", + RuntimeError::MissingStreamingConfig { .. } => "runtime_streaming_config_error", + RuntimeError::UnsupportedExecutionMode { .. } => "runtime_streaming_mode_error", + RuntimeError::InvalidStreamingPayload { .. } => "runtime_streaming_payload_error", + RuntimeError::MissingAuthProfile { .. } => "runtime_auth_profile_error", + RuntimeError::MissingSecret { .. } | RuntimeError::MissingSecretVersion { .. } => { + "runtime_secret_error" + } + RuntimeError::InvalidAuthSecretValue { .. } => "runtime_secret_value_error", + RuntimeError::SecretCrypto { .. } => "runtime_secret_crypto_error", + } +} + +pub fn runtime_error_context(error: &RuntimeError) -> Option { + match error { + RuntimeError::InvalidPreparedRequest { field, reason } => Some(json!({ + "field": field, + "reason": reason, + })), + RuntimeError::InvalidStreamingPayload { field, reason } => Some(json!({ + "field": field, + "reason": reason, + })), + RuntimeError::InvalidAuthSecretValue { secret_id, reason } => Some(json!({ + "secret_id": secret_id, + "reason": reason, + })), + RuntimeError::SecretCrypto { operation, details } => Some(json!({ + "operation": operation, + "details": details, + })), + RuntimeError::MissingAuthProfile { auth_profile_id } => Some(json!({ + "auth_profile_id": auth_profile_id, + })), + RuntimeError::MissingSecret { secret_id } => Some(json!({ + "secret_id": secret_id, + })), + RuntimeError::MissingSecretVersion { secret_id, version } => Some(json!({ + "secret_id": secret_id, + "version": version, + })), + RuntimeError::MissingStreamingConfig { operation_id } => Some(json!({ + "operation_id": operation_id, + })), + RuntimeError::UnsupportedExecutionMode { operation_id, mode } => Some(json!({ + "operation_id": operation_id, + "mode": mode, + })), + RuntimeError::UnsupportedProtocol { protocol } => Some(json!({ + "protocol": protocol, + })), + RuntimeError::ConcurrencyLimitExceeded { kind, limit } => Some(json!({ + "kind": kind, + "limit": limit, + })), + _ => None, + } +} + +#[cfg(test)] +mod tests { + use serde_json::json; + + use super::{ApiError, runtime_error_context, runtime_test_failure}; + use crank_registry::RegistryError; + use crank_runtime::RuntimeError; + + #[test] + fn runtime_test_failure_includes_structured_context() { + let payload = runtime_test_failure(&RuntimeError::InvalidPreparedRequest { + field: "request.headers".to_owned(), + reason: "must be an object".to_owned(), + }); + + assert_eq!(payload["code"], "runtime_request_error"); + assert_eq!( + payload["context"], + json!({ + "field": "request.headers", + "reason": "must be an object" + }) + ); + } + + #[test] + fn runtime_error_context_includes_secret_crypto_operation() { + let context = runtime_error_context(&RuntimeError::SecretCrypto { + operation: "decode secret envelope", + details: "bad base64".to_owned(), + }) + .unwrap(); + + assert_eq!( + context, + json!({ + "operation": "decode secret envelope", + "details": "bad base64" + }) + ); + } + + #[test] + fn runtime_test_failure_includes_runtime_overload_context() { + let payload = runtime_test_failure(&RuntimeError::ConcurrencyLimitExceeded { + kind: "window", + limit: 16, + }); + + assert_eq!(payload["code"], "runtime_overloaded"); + assert_eq!( + payload["context"], + json!({ + "kind": "window", + "limit": 16 + }) + ); + } + + #[test] + fn registry_errors_preserve_structured_context_in_api_error() { + let error = ApiError::from(RegistryError::InvalidAsyncJobTransition { + job_id: "job_123".to_owned(), + from: "running".to_owned(), + to: "completed".to_owned(), + }); + + match error { + ApiError::Conflict { context, .. } => { + assert_eq!( + context, + Some(json!({ + "job_id": "job_123", + "from": "running", + "to": "completed" + })) + ); + } + other => panic!("unexpected error variant: {other:?}"), + } + } +} diff --git a/apps/admin-api/src/lib.rs b/apps/admin-api/src/lib.rs new file mode 100644 index 0000000..51e3520 --- /dev/null +++ b/apps/admin-api/src/lib.rs @@ -0,0 +1,9 @@ +pub mod app; +pub mod auth; +pub mod error; +pub mod rate_limit; +pub mod request_context; +pub mod routes; +pub mod service; +pub mod state; +pub mod storage; diff --git a/apps/admin-api/src/main.rs b/apps/admin-api/src/main.rs new file mode 100644 index 0000000..4339b77 --- /dev/null +++ b/apps/admin-api/src/main.rs @@ -0,0 +1,156 @@ +use std::{env, net::SocketAddr, path::PathBuf}; + +use admin_api::{ + app::build_app, + auth::{AuthSettings, BootstrapAdminConfig}, + service::AdminServiceBuilder, + state::AppState, +}; +use crank_community_auth::PasswordIdentityProvider; +use crank_registry::{PostgresPoolConfig, PostgresRegistry}; +use crank_runtime::{ + RequestRateLimitConfig, RequestRateLimiter, RuntimeCacheConfig, RuntimeCacheStores, + RuntimeLimits, SecretCrypto, community_default, +}; +use sqlx::postgres::PgConnectOptions; +use tokio::net::TcpListener; +use tracing::info; + +#[tokio::main] +async fn main() -> Result<(), Box> { + tracing_subscriber::fmt() + .with_env_filter( + env::var("CRANK_LOG_LEVEL").unwrap_or_else(|_| "admin_api=info,tower_http=info".into()), + ) + .init(); + + let storage_root = PathBuf::from( + env::var("CRANK_STORAGE_ROOT").unwrap_or_else(|_| "/var/lib/crank/storage".into()), + ); + let bind_addr = env::var("CRANK_ADMIN_BIND").unwrap_or_else(|_| "0.0.0.0:3001".into()); + let base_url = env::var("CRANK_BASE_URL").unwrap_or_else(|_| "http://localhost:3000".into()); + let socket_addr: SocketAddr = bind_addr.parse()?; + let pool_config = PostgresPoolConfig::from_env()?; + let registry = PostgresRegistry::connect_with_options_and_pool_config( + database_options_from_env()?, + pool_config, + ) + .await?; + let auth_settings = AuthSettings { + session_secret: env::var("CRANK_SESSION_SECRET")?, + password_pepper: env::var("CRANK_PASSWORD_PEPPER")?, + session_ttl_hours: env::var("CRANK_SESSION_TTL_HOURS") + .ok() + .and_then(|value| value.parse::().ok()) + .unwrap_or(24), + cookie_secure: base_url.starts_with("https://"), + bootstrap_admin: BootstrapAdminConfig { + email: env::var("CRANK_BOOTSTRAP_ADMIN_EMAIL")?, + password: env::var("CRANK_BOOTSTRAP_ADMIN_PASSWORD")?, + display_name: env::var("CRANK_BOOTSTRAP_ADMIN_DISPLAY_NAME") + .unwrap_or_else(|_| "Crank Owner".into()), + }, + }; + let runtime_limits = RuntimeLimits::from_env()?; + let cache_config = RuntimeCacheConfig::from_env()?; + let cache_stores = RuntimeCacheStores::from_config(&cache_config).await?; + let api_rate_limit = admin_api_rate_limit_config_from_env()?; + let secret_crypto = SecretCrypto::new(&env::var("CRANK_MASTER_KEY")?)?; + let runtime = community_default() + .with_limits(runtime_limits) + .with_response_cache(cache_stores.response.clone()) + .build(); + let identity_provider = + PasswordIdentityProvider::new(registry.clone(), auth_settings.password_pepper.clone()); + let service = AdminServiceBuilder::new( + registry, + storage_root, + auth_settings, + secret_crypto, + runtime, + ) + .with_identity_provider(std::sync::Arc::new(identity_provider)) + .build(); + service.bootstrap_admin_user().await?; + if env_flag("CRANK_DEMO_SEED") { + service.seed_demo_assets().await?; + } + let state = AppState { + service, + api_rate_limiter: if cache_config.backend.is_external() { + RequestRateLimiter::new_shared(api_rate_limit, cache_stores.rate_limit.clone()) + } else { + RequestRateLimiter::new(api_rate_limit) + }, + }; + let app = build_app(state); + let listener = TcpListener::bind(socket_addr).await?; + + info!( + runtime_max_concurrent_unary = runtime_limits.max_concurrent_unary, + runtime_max_concurrent_window = runtime_limits.max_concurrent_window, + runtime_max_concurrent_sessions = runtime_limits.max_concurrent_sessions, + runtime_max_concurrent_jobs = runtime_limits.max_concurrent_jobs, + admin_rate_limit_rps = api_rate_limit.requests_per_second, + admin_rate_limit_burst = api_rate_limit.burst, + cache_backend = %cache_config.backend, + max_connections = pool_config.max_connections, + min_connections = pool_config.min_connections, + acquire_timeout_ms = pool_config.acquire_timeout_ms, + idle_timeout_ms = pool_config.idle_timeout_ms, + max_lifetime_ms = pool_config.max_lifetime_ms, + "postgres pool configured" + ); + info!("admin-api listening on {}", socket_addr); + + axum::serve(listener, app).await?; + + Ok(()) +} + +fn env_flag(name: &str) -> bool { + matches!( + env::var(name) + .ok() + .as_deref() + .map(str::to_ascii_lowercase) + .as_deref(), + Some("1" | "true" | "yes" | "on") + ) +} + +fn admin_api_rate_limit_config_from_env() +-> Result> { + let requests_per_second = env::var("CRANK_ADMIN_RATE_LIMIT_RPS") + .ok() + .and_then(|value| value.parse::().ok()) + .unwrap_or(30); + let burst = env::var("CRANK_ADMIN_RATE_LIMIT_BURST") + .ok() + .and_then(|value| value.parse::().ok()) + .unwrap_or(60); + + Ok(RequestRateLimitConfig::new(requests_per_second, burst)?) +} + +fn database_options_from_env() -> Result> { + if let Ok(database_url) = env::var("CRANK_DATABASE_URL") { + return Ok(database_url.parse::()?); + } + + let host = env::var("POSTGRES_HOST").unwrap_or_else(|_| "postgres".into()); + let port = env::var("POSTGRES_PORT") + .ok() + .and_then(|value| value.parse::().ok()) + .unwrap_or(5432); + let database = env::var("POSTGRES_DB").unwrap_or_else(|_| "crank".into()); + let username = env::var("POSTGRES_USER").unwrap_or_else(|_| "crank".into()); + let password = env::var("POSTGRES_PASSWORD").unwrap_or_else(|_| "crank".into()); + + Ok(PgConnectOptions::new() + .host(&host) + .port(port) + .database(&database) + .username(&username) + .password(&password)) +} diff --git a/apps/admin-api/src/rate_limit.rs b/apps/admin-api/src/rate_limit.rs new file mode 100644 index 0000000..0100eb2 --- /dev/null +++ b/apps/admin-api/src/rate_limit.rs @@ -0,0 +1,106 @@ +use axum::{ + extract::{Request, State}, + http::header::{COOKIE, HeaderMap}, + middleware::Next, + response::Response, +}; +use crank_runtime::RateLimitRejection; + +use crate::{auth::SESSION_COOKIE_NAME, error::ApiError, state::AppState}; + +pub async fn apply_api_rate_limit( + State(state): State, + request: Request, + next: Next, +) -> Result { + let key = rate_limit_key(request.headers(), request.uri().path()); + if let Err(rejection) = state.api_rate_limiter.check(&key).await { + return Err(ApiError::rate_limited_with_context( + "request rate limit exceeded", + rejection_context(rejection), + )); + } + + Ok(next.run(request).await) +} + +fn rejection_context(rejection: RateLimitRejection) -> serde_json::Value { + serde_json::json!({ + "retry_after_ms": rejection.retry_after_ms, + }) +} + +fn rate_limit_key(headers: &HeaderMap, path: &str) -> String { + if let Some(session_id) = session_id_from_headers(headers) { + return format!("session:{session_id}"); + } + + if let Some(forwarded_for) = header_value(headers, "x-forwarded-for") { + let ip = forwarded_for + .split(',') + .next() + .map(str::trim) + .filter(|value| !value.is_empty()) + .unwrap_or("unknown"); + return format!("ip:{ip}"); + } + + if let Some(real_ip) = header_value(headers, "x-real-ip") { + return format!("ip:{real_ip}"); + } + + format!("anonymous:{path}") +} + +fn session_id_from_headers(headers: &HeaderMap) -> Option { + let cookies = headers.get(COOKIE)?.to_str().ok()?; + for part in cookies.split(';') { + let (name, value) = part.trim().split_once('=')?; + if name != SESSION_COOKIE_NAME { + continue; + } + let (session_id, _) = value.split_once('.')?; + if !session_id.is_empty() { + return Some(session_id.to_owned()); + } + } + + None +} + +fn header_value<'a>(headers: &'a HeaderMap, name: &'static str) -> Option<&'a str> { + headers.get(name)?.to_str().ok().map(str::trim) +} + +#[cfg(test)] +mod tests { + use axum::http::{HeaderMap, HeaderValue, header::COOKIE}; + + use super::rate_limit_key; + + #[test] + fn keys_by_session_cookie_first() { + let mut headers = HeaderMap::new(); + headers.insert( + COOKIE, + HeaderValue::from_static("theme=dark; crank_session=sess_123.secret_456"), + ); + headers.insert("x-forwarded-for", HeaderValue::from_static("10.0.0.5")); + + assert_eq!( + rate_limit_key(&headers, "/api/auth/login"), + "session:sess_123" + ); + } + + #[test] + fn falls_back_to_forwarded_ip() { + let mut headers = HeaderMap::new(); + headers.insert( + "x-forwarded-for", + HeaderValue::from_static("10.0.0.5, 10.0.0.6"), + ); + + assert_eq!(rate_limit_key(&headers, "/api/auth/login"), "ip:10.0.0.5"); + } +} diff --git a/apps/admin-api/src/request_context.rs b/apps/admin-api/src/request_context.rs new file mode 100644 index 0000000..cda184e --- /dev/null +++ b/apps/admin-api/src/request_context.rs @@ -0,0 +1,165 @@ +use axum::{ + extract::Request, + http::{HeaderMap, HeaderName, HeaderValue}, + middleware::Next, + response::Response, +}; +use tracing::info; +use uuid::Uuid; + +pub const REQUEST_ID_HEADER: HeaderName = HeaderName::from_static("x-request-id"); +const MAX_REQUEST_ID_LEN: usize = 128; + +#[derive(Clone, Debug)] +pub struct RequestContext { + pub request_id: String, +} + +pub async fn apply_request_context(mut request: Request, next: Next) -> Response { + let context = RequestContext { + request_id: resolve_request_id(request.headers()), + }; + let method = request.method().clone(); + let path = request.uri().path().to_owned(); + request.extensions_mut().insert(context.clone()); + + let mut response = next.run(request).await; + info!( + request_id = %context.request_id, + method = %method, + path, + status = response.status().as_u16(), + "admin request completed" + ); + if let Ok(value) = HeaderValue::from_str(&context.request_id) { + response.headers_mut().insert(REQUEST_ID_HEADER, value); + } + response +} + +fn resolve_request_id(headers: &HeaderMap) -> String { + headers + .get(&REQUEST_ID_HEADER) + .and_then(|value| value.to_str().ok()) + .map(str::trim) + .filter(|value| is_valid_request_id(value)) + .map(ToOwned::to_owned) + .unwrap_or_else(|| Uuid::now_v7().to_string()) +} + +fn is_valid_request_id(value: &str) -> bool { + !value.is_empty() + && value.len() <= MAX_REQUEST_ID_LEN + && value + .bytes() + .all(|byte| matches!(byte, 0x21..=0x7e) && byte != b',' && byte != b';') +} + +#[cfg(test)] +mod tests { + use std::io; + use std::sync::{Arc, Mutex}; + + use axum::{Router, routing::get}; + use reqwest::Client; + use tokio::net::TcpListener; + use tracing_subscriber::{filter::LevelFilter, fmt::MakeWriter, prelude::*}; + + use super::{REQUEST_ID_HEADER, apply_request_context, is_valid_request_id}; + + #[test] + fn accepts_visible_ascii_request_ids() { + assert!(is_valid_request_id("req_test_123")); + assert!(is_valid_request_id("trace-123/abc")); + } + + #[test] + fn rejects_empty_or_control_request_ids() { + assert!(!is_valid_request_id("")); + assert!(!is_valid_request_id("bad value")); + assert!(!is_valid_request_id("bad\nvalue")); + } + + #[derive(Clone, Default)] + struct SharedLogWriter { + buffer: Arc>>, + } + + impl SharedLogWriter { + fn output(&self) -> String { + String::from_utf8(self.buffer.lock().unwrap().clone()).unwrap() + } + } + + impl<'a> MakeWriter<'a> for SharedLogWriter { + type Writer = SharedLogGuard; + + fn make_writer(&'a self) -> Self::Writer { + SharedLogGuard { + buffer: Arc::clone(&self.buffer), + } + } + } + + struct SharedLogGuard { + buffer: Arc>>, + } + + impl io::Write for SharedLogGuard { + fn write(&mut self, bytes: &[u8]) -> io::Result { + self.buffer.lock().unwrap().extend_from_slice(bytes); + Ok(bytes.len()) + } + + fn flush(&mut self) -> io::Result<()> { + Ok(()) + } + } + + #[tokio::test] + async fn logs_request_completion_with_request_id() { + let writer = SharedLogWriter::default(); + let subscriber = tracing_subscriber::registry().with( + tracing_subscriber::fmt::layer() + .with_writer(writer.clone()) + .without_time() + .with_ansi(false) + .with_target(false) + .compact() + .with_filter(LevelFilter::INFO), + ); + let dispatch = tracing::Dispatch::new(subscriber); + let app = Router::new() + .route("/probe", get(|| async { "ok" })) + .layer(axum::middleware::from_fn(apply_request_context)); + let listener = TcpListener::bind("127.0.0.1:0").await.unwrap(); + let address = listener.local_addr().unwrap(); + + let _guard = tracing::dispatcher::set_default(&dispatch); + tokio::spawn(async move { + axum::serve(listener, app).await.unwrap(); + }); + + let response = Client::new() + .get(format!("http://{address}/probe")) + .header(REQUEST_ID_HEADER.as_str(), "req_admin_trace_123") + .send() + .await + .unwrap(); + + assert_eq!(response.status(), reqwest::StatusCode::OK); + assert_eq!( + response.headers()[REQUEST_ID_HEADER.as_str()] + .to_str() + .unwrap(), + "req_admin_trace_123" + ); + + let logs = writer.output(); + assert!(logs.contains("admin request completed")); + assert!(logs.contains("req_admin_trace_123")); + assert!(logs.contains("GET")); + assert!(logs.contains("/probe")); + assert!(logs.contains("status=200")); + } +} diff --git a/apps/admin-api/src/routes.rs b/apps/admin-api/src/routes.rs new file mode 100644 index 0000000..a86d765 --- /dev/null +++ b/apps/admin-api/src/routes.rs @@ -0,0 +1,21 @@ +pub mod access; +pub mod agents; +pub mod auth; +pub mod auth_profiles; +pub mod capabilities; +pub mod machine_auth; +pub mod observability; +pub mod operations; +pub mod secrets; +pub mod streaming; +pub mod workspaces; + +use axum::Json; +use serde_json::json; + +pub async fn health() -> Json { + Json(json!({ + "service": "admin-api", + "status": "ok" + })) +} diff --git a/apps/admin-api/src/routes/access.rs b/apps/admin-api/src/routes/access.rs new file mode 100644 index 0000000..51a74f1 --- /dev/null +++ b/apps/admin-api/src/routes/access.rs @@ -0,0 +1,287 @@ +use axum::{ + Extension, Json, + extract::{Path, State}, + http::StatusCode, +}; +use crank_core::{ + AuditActor, AuditEvent, AuditEventId, AuditTarget, AuditTargetKind, PolicyAction, + PolicyDecision, PolicyScope, SessionActor, +}; +use serde::Deserialize; +use serde_json::{Value, json}; +use time::OffsetDateTime; +use uuid::Uuid; + +use crate::{ + auth::AuthenticatedSession, + error::ApiError, + service::{InvitationPayload, UpdateMembershipPayload}, + state::AppState, +}; + +#[derive(Deserialize)] +pub struct WorkspacePath { + pub workspace_id: String, +} + +#[derive(Deserialize)] +pub struct WorkspaceInvitationPath { + pub workspace_id: String, + pub invitation_id: String, +} + +#[derive(Deserialize)] +pub struct WorkspaceMembershipPath { + pub workspace_id: String, + pub user_id: String, +} + +pub async fn list_memberships( + Path(path): Path, + State(state): State, +) -> Result, ApiError> { + let items = state + .service + .list_memberships(&path.workspace_id.as_str().into()) + .await?; + Ok(Json(json!({ "items": items }))) +} + +pub async fn update_membership( + Path(path): Path, + State(state): State, + Extension(session): Extension, + Json(payload): Json, +) -> Result, ApiError> { + let workspace_id: crank_core::WorkspaceId = path.workspace_id.as_str().into(); + enforce_workspace_policy( + &state, + &session, + &workspace_id, + PolicyAction::WriteWorkspaceAccess, + )?; + let items = state + .service + .update_membership_role( + &workspace_id, + &session.user.id, + &path.user_id.as_str().into(), + payload, + ) + .await?; + record_access_audit( + &state, + &session, + &workspace_id, + "membership.role_updated", + AuditTargetKind::Membership, + path.user_id.clone(), + json!({ "user_id": path.user_id }), + ) + .await?; + Ok(Json(json!({ "items": items }))) +} + +pub async fn delete_membership( + Path(path): Path, + State(state): State, + Extension(session): Extension, +) -> Result { + let workspace_id: crank_core::WorkspaceId = path.workspace_id.as_str().into(); + enforce_workspace_policy( + &state, + &session, + &workspace_id, + PolicyAction::WriteWorkspaceAccess, + )?; + state + .service + .remove_membership( + &workspace_id, + &session.user.id, + &path.user_id.as_str().into(), + ) + .await?; + record_access_audit( + &state, + &session, + &workspace_id, + "membership.removed", + AuditTargetKind::Membership, + path.user_id.clone(), + json!({ "user_id": path.user_id }), + ) + .await?; + Ok(StatusCode::NO_CONTENT) +} + +pub async fn list_invitations( + Path(path): Path, + State(state): State, +) -> Result, ApiError> { + let items = state + .service + .list_invitations(&path.workspace_id.as_str().into()) + .await?; + Ok(Json(json!({ "items": items }))) +} + +pub async fn create_invitation( + Path(path): Path, + State(state): State, + Extension(session): Extension, + Json(payload): Json, +) -> Result, ApiError> { + let workspace_id: crank_core::WorkspaceId = path.workspace_id.as_str().into(); + enforce_workspace_policy( + &state, + &session, + &workspace_id, + PolicyAction::WriteWorkspaceAccess, + )?; + let created = state + .service + .create_invitation(&workspace_id, payload) + .await?; + record_access_audit( + &state, + &session, + &workspace_id, + "invitation.created", + AuditTargetKind::Invitation, + created.invitation.invitation.id.as_str().to_owned(), + json!({ "invitation_id": created.invitation.invitation.id.as_str() }), + ) + .await?; + Ok(Json(json!(created))) +} + +pub async fn delete_invitation( + Path(path): Path, + State(state): State, + Extension(session): Extension, +) -> Result { + let workspace_id: crank_core::WorkspaceId = path.workspace_id.as_str().into(); + enforce_workspace_policy( + &state, + &session, + &workspace_id, + PolicyAction::WriteWorkspaceAccess, + )?; + state + .service + .delete_invitation(&workspace_id, &path.invitation_id.as_str().into()) + .await?; + record_access_audit( + &state, + &session, + &workspace_id, + "invitation.deleted", + AuditTargetKind::Invitation, + path.invitation_id.clone(), + json!({ "invitation_id": path.invitation_id }), + ) + .await?; + Ok(StatusCode::NO_CONTENT) +} + +pub async fn export_workspace( + Path(path): Path, + State(state): State, +) -> Result, ApiError> { + let exported = state + .service + .export_workspace(&path.workspace_id.as_str().into()) + .await?; + Ok(Json(json!(exported))) +} + +pub async fn delete_workspace( + Path(path): Path, + State(state): State, + Extension(session): Extension, +) -> Result { + let workspace_id: crank_core::WorkspaceId = path.workspace_id.as_str().into(); + enforce_workspace_policy( + &state, + &session, + &workspace_id, + PolicyAction::WriteWorkspace, + )?; + state + .service + .delete_workspace(&workspace_id, &session.user.id) + .await?; + record_access_audit( + &state, + &session, + &workspace_id, + "workspace.deleted", + AuditTargetKind::Workspace, + workspace_id.as_str().to_owned(), + json!({ "workspace_id": workspace_id.as_str() }), + ) + .await?; + Ok(StatusCode::NO_CONTENT) +} + +fn enforce_workspace_policy( + state: &AppState, + session: &AuthenticatedSession, + workspace_id: &crank_core::WorkspaceId, + action: PolicyAction, +) -> Result<(), ApiError> { + let membership = session + .memberships + .iter() + .find(|membership| membership.workspace.id == *workspace_id) + .ok_or_else(|| ApiError::forbidden("workspace access denied"))?; + let actor = SessionActor { + user_id: session.user.id.clone(), + workspace_id: workspace_id.clone(), + role: membership.role, + }; + + match state.service.policy_engine().check( + &actor, + action, + PolicyScope::Workspace(workspace_id.clone()), + ) { + PolicyDecision::Allow => Ok(()), + PolicyDecision::Deny { reason } => Err(ApiError::forbidden(reason)), + } +} + +async fn record_access_audit( + state: &AppState, + session: &AuthenticatedSession, + workspace_id: &crank_core::WorkspaceId, + action: &str, + target_kind: AuditTargetKind, + target_id: String, + payload: Value, +) -> Result<(), ApiError> { + state + .service + .audit_sink() + .record(AuditEvent { + id: AuditEventId::new(format!("audit_{}", Uuid::now_v7().simple())), + occurred_at: OffsetDateTime::now_utc(), + actor: AuditActor { + user_id: session.user.id.clone(), + email: session.user.email.clone(), + session_id: Some(session.session_id.clone()), + }, + action: action.to_owned(), + target: AuditTarget { + workspace_id: workspace_id.clone(), + kind: target_kind, + id: target_id, + }, + payload, + source_ip: None, + user_agent: None, + }) + .await + .map_err(|error| ApiError::internal(format!("failed to record audit event: {error}"))) +} diff --git a/apps/admin-api/src/routes/agents.rs b/apps/admin-api/src/routes/agents.rs new file mode 100644 index 0000000..faa7f69 --- /dev/null +++ b/apps/admin-api/src/routes/agents.rs @@ -0,0 +1,242 @@ +use axum::{ + Json, + extract::{Path, State}, +}; +use serde::Deserialize; +use serde_json::{Value, json}; + +use crate::{ + error::ApiError, + service::{ + AgentBindingPayload, AgentPayload, PlatformApiKeyPayload, PublishPayload, + UpdateAgentPayload, + }, + state::AppState, +}; + +#[derive(Deserialize)] +pub struct WorkspacePath { + pub workspace_id: String, +} + +#[derive(Deserialize)] +pub struct WorkspaceAgentPath { + pub workspace_id: String, + pub agent_id: String, +} + +#[derive(Deserialize)] +pub struct WorkspaceAgentVersionPath { + pub workspace_id: String, + pub agent_id: String, + pub version: u32, +} + +#[derive(Deserialize)] +pub struct WorkspaceAgentPlatformApiKeyPath { + pub workspace_id: String, + pub agent_id: String, + pub key_id: String, +} + +pub async fn list_agents( + Path(path): Path, + State(state): State, +) -> Result, ApiError> { + let items = state + .service + .list_agents(&path.workspace_id.as_str().into()) + .await?; + Ok(Json(json!({ "items": items }))) +} + +pub async fn create_agent( + Path(path): Path, + State(state): State, + Json(payload): Json, +) -> Result, ApiError> { + let created = state + .service + .create_agent(&path.workspace_id.as_str().into(), payload) + .await?; + Ok(Json(json!(created))) +} + +pub async fn get_agent( + Path(path): Path, + State(state): State, +) -> Result, ApiError> { + let agent = state + .service + .get_agent( + &path.workspace_id.as_str().into(), + &path.agent_id.as_str().into(), + ) + .await?; + Ok(Json(json!(agent))) +} + +pub async fn update_agent( + Path(path): Path, + State(state): State, + Json(payload): Json, +) -> Result, ApiError> { + let updated = state + .service + .update_agent( + &path.workspace_id.as_str().into(), + &path.agent_id.as_str().into(), + payload, + ) + .await?; + Ok(Json(json!(updated))) +} + +pub async fn delete_agent( + Path(path): Path, + State(state): State, +) -> Result, ApiError> { + let deleted = state + .service + .delete_agent( + &path.workspace_id.as_str().into(), + &path.agent_id.as_str().into(), + ) + .await?; + Ok(Json(json!(deleted))) +} + +pub async fn get_agent_version( + Path(path): Path, + State(state): State, +) -> Result, ApiError> { + let version = state + .service + .get_agent_version( + &path.workspace_id.as_str().into(), + &path.agent_id.as_str().into(), + path.version, + ) + .await?; + Ok(Json(json!(version))) +} + +pub async fn save_agent_bindings( + Path(path): Path, + State(state): State, + Json(payload): Json>, +) -> Result, ApiError> { + let record = state + .service + .save_agent_bindings( + &path.workspace_id.as_str().into(), + &path.agent_id.as_str().into(), + payload, + ) + .await?; + Ok(Json(json!(record))) +} + +pub async fn publish_agent( + Path(path): Path, + State(state): State, + Json(payload): Json, +) -> Result, ApiError> { + let published = state + .service + .publish_agent( + &path.workspace_id.as_str().into(), + &path.agent_id.as_str().into(), + payload.version, + ) + .await?; + Ok(Json(json!(published))) +} + +pub async fn unpublish_agent( + Path(path): Path, + State(state): State, +) -> Result, ApiError> { + let updated = state + .service + .unpublish_agent( + &path.workspace_id.as_str().into(), + &path.agent_id.as_str().into(), + ) + .await?; + Ok(Json(json!(updated))) +} + +pub async fn archive_agent( + Path(path): Path, + State(state): State, +) -> Result, ApiError> { + let updated = state + .service + .archive_agent( + &path.workspace_id.as_str().into(), + &path.agent_id.as_str().into(), + ) + .await?; + Ok(Json(json!(updated))) +} + +pub async fn list_agent_platform_api_keys( + Path(path): Path, + State(state): State, +) -> Result, ApiError> { + let items = state + .service + .list_agent_platform_api_keys( + &path.workspace_id.as_str().into(), + &path.agent_id.as_str().into(), + ) + .await?; + Ok(Json(json!({ "items": items }))) +} + +pub async fn create_agent_platform_api_key( + Path(path): Path, + State(state): State, + Json(payload): Json, +) -> Result, ApiError> { + let created = state + .service + .create_agent_platform_api_key( + &path.workspace_id.as_str().into(), + &path.agent_id.as_str().into(), + payload, + ) + .await?; + Ok(Json(json!(created))) +} + +pub async fn revoke_agent_platform_api_key( + Path(path): Path, + State(state): State, +) -> Result { + state + .service + .revoke_agent_platform_api_key( + &path.workspace_id.as_str().into(), + &path.agent_id.as_str().into(), + &path.key_id.as_str().into(), + ) + .await?; + Ok(axum::http::StatusCode::NO_CONTENT) +} + +pub async fn delete_agent_platform_api_key( + Path(path): Path, + State(state): State, +) -> Result { + state + .service + .delete_agent_platform_api_key( + &path.workspace_id.as_str().into(), + &path.agent_id.as_str().into(), + &path.key_id.as_str().into(), + ) + .await?; + Ok(axum::http::StatusCode::NO_CONTENT) +} diff --git a/apps/admin-api/src/routes/auth.rs b/apps/admin-api/src/routes/auth.rs new file mode 100644 index 0000000..7cfb6a7 --- /dev/null +++ b/apps/admin-api/src/routes/auth.rs @@ -0,0 +1,109 @@ +use axum::{Extension, Json, extract::State, http::StatusCode, response::IntoResponse}; +use axum_extra::extract::cookie::CookieJar; +use serde_json::json; + +use crate::{ + auth::{AuthenticatedSession, cleared_session_cookie, extract_session_token, session_cookie}, + error::ApiError, + service::{ + ChangePasswordPayload, LoginPayload, UpdateCurrentWorkspacePayload, UpdateProfilePayload, + }, + state::AppState, +}; + +pub async fn login( + State(state): State, + jar: CookieJar, + Json(payload): Json, +) -> Result { + let (session_data, session) = state.service.login(payload).await?; + let cookie_value = format!( + "{}.{}", + session_data.session_id.as_str(), + session_data.value + ); + let jar = jar.add(session_cookie(state.service.auth_settings(), &cookie_value)); + + Ok((jar, Json(serde_json::json!(session)))) +} + +pub async fn logout( + State(state): State, + jar: CookieJar, +) -> Result { + if let Some((session_id, session_value)) = extract_session_token(&jar) { + state.service.logout(&session_id, &session_value).await?; + } + + let jar = jar.remove(cleared_session_cookie(state.service.auth_settings())); + Ok((jar, StatusCode::NO_CONTENT)) +} + +pub async fn get_session( + State(state): State, + jar: CookieJar, +) -> Result, ApiError> { + let (session_id, session_value) = extract_session_token(&jar) + .ok_or_else(|| ApiError::unauthorized("authentication required"))?; + let session = state + .service + .session_response(&session_id, &session_value) + .await? + .ok_or_else(|| ApiError::unauthorized("session is invalid or expired"))?; + + Ok(Json(serde_json::json!(session))) +} + +pub async fn get_profile( + Extension(session): Extension, +) -> Result, ApiError> { + Ok(Json(json!({ + "user": session.user, + "memberships": session.memberships, + "current_workspace_id": session.current_workspace_id + }))) +} + +pub async fn update_profile( + State(state): State, + Extension(session): Extension, + Json(payload): Json, +) -> Result, ApiError> { + let updated = state + .service + .update_profile( + &session.user.id, + session.current_workspace_id.as_ref(), + payload, + ) + .await?; + Ok(Json(json!(updated))) +} + +pub async fn update_current_workspace( + State(state): State, + Extension(session): Extension, + Json(payload): Json, +) -> Result, ApiError> { + let updated = state + .service + .set_current_workspace( + &session.session_id, + &session.user.id, + &payload.workspace_id.as_str().into(), + ) + .await?; + Ok(Json(json!(updated))) +} + +pub async fn change_password( + State(state): State, + Extension(session): Extension, + Json(payload): Json, +) -> Result { + state + .service + .change_password(&session.user.id, payload) + .await?; + Ok(StatusCode::NO_CONTENT) +} diff --git a/apps/admin-api/src/routes/auth_profiles.rs b/apps/admin-api/src/routes/auth_profiles.rs new file mode 100644 index 0000000..669d228 --- /dev/null +++ b/apps/admin-api/src/routes/auth_profiles.rs @@ -0,0 +1,56 @@ +use axum::{ + Json, + extract::{Path, State}, +}; +use serde::Deserialize; +use serde_json::{Value, json}; + +use crate::{error::ApiError, service::AuthProfilePayload, state::AppState}; + +#[derive(Deserialize)] +pub struct WorkspacePath { + pub workspace_id: String, +} + +#[derive(Deserialize)] +pub struct WorkspaceAuthProfilePath { + pub workspace_id: String, + pub auth_profile_id: String, +} + +pub async fn list_auth_profiles( + Path(path): Path, + State(state): State, +) -> Result, ApiError> { + let items = state + .service + .list_auth_profiles(&path.workspace_id.as_str().into()) + .await?; + Ok(Json(json!({ "items": items }))) +} + +pub async fn create_auth_profile( + Path(path): Path, + State(state): State, + Json(payload): Json, +) -> Result, ApiError> { + let profile = state + .service + .create_auth_profile(&path.workspace_id.as_str().into(), payload) + .await?; + Ok(Json(json!(profile))) +} + +pub async fn get_auth_profile( + Path(path): Path, + State(state): State, +) -> Result, ApiError> { + let profile = state + .service + .get_auth_profile( + &path.workspace_id.as_str().into(), + &path.auth_profile_id.as_str().into(), + ) + .await?; + Ok(Json(json!(profile))) +} diff --git a/apps/admin-api/src/routes/capabilities.rs b/apps/admin-api/src/routes/capabilities.rs new file mode 100644 index 0000000..aa97bbb --- /dev/null +++ b/apps/admin-api/src/routes/capabilities.rs @@ -0,0 +1,8 @@ +use axum::{Json, extract::State}; +use serde_json::json; + +use crate::state::AppState; + +pub async fn get_capabilities(State(state): State) -> Json { + Json(json!(state.service.capability_profile().capabilities())) +} diff --git a/apps/admin-api/src/routes/machine_auth.rs b/apps/admin-api/src/routes/machine_auth.rs new file mode 100644 index 0000000..4c88d52 --- /dev/null +++ b/apps/admin-api/src/routes/machine_auth.rs @@ -0,0 +1,124 @@ +use axum::{Json, extract::State}; +use crank_core::{ + IssueAgentTokenRequest, IssueOneTimeAgentTokenRequest, MachineAccessMode, MembershipRole, + TokenIssuerActor, TokenIssuerError, UserId, WorkspaceId, +}; +use serde_json::json; + +use crate::{error::ApiError, state::AppState}; + +pub async fn issue_agent_token( + State(state): State, + Json(payload): Json, +) -> Result, ApiError> { + let edition = state.service.capability_profile().capabilities().edition; + let grant_type = payload.grant_type.clone(); + let response = state + .service + .token_issuer() + .issue_short_lived(payload, &community_token_issuer_actor()) + .await + .map_err(|error| { + map_token_issuer_error( + error, + edition, + MachineAccessMode::ShortLivedToken, + json!({ + "grant_type": grant_type, + "upgrade_required": true, + }), + ) + })?; + Ok(Json(serde_json::json!(response))) +} + +pub async fn issue_one_time_agent_token( + State(state): State, + Json(payload): Json, +) -> Result, ApiError> { + let edition = state.service.capability_profile().capabilities().edition; + let operation_id = payload.operation_id.as_str().to_owned(); + let response = state + .service + .token_issuer() + .issue_one_time(payload, &community_token_issuer_actor()) + .await + .map_err(|error| { + map_token_issuer_error( + error, + edition, + MachineAccessMode::OneTimeToken, + json!({ + "operation_id": operation_id, + "upgrade_required": true, + }), + ) + })?; + Ok(Json(serde_json::json!(response))) +} + +fn community_token_issuer_actor() -> TokenIssuerActor { + TokenIssuerActor { + user_id: UserId::new("user_community_public"), + workspace_id: WorkspaceId::new("ws_community_public"), + role: MembershipRole::Viewer, + } +} + +fn map_token_issuer_error( + error: TokenIssuerError, + edition: crank_core::ProductEdition, + machine_access_mode: MachineAccessMode, + extra_context: serde_json::Value, +) -> ApiError { + match error { + TokenIssuerError::NotSupportedInEdition => ApiError::forbidden_with_context( + match machine_access_mode { + MachineAccessMode::ShortLivedToken => { + "short-lived machine access is not available in Community" + } + MachineAccessMode::OneTimeToken => { + "one-time machine access is not available in Community" + } + MachineAccessMode::StaticAgentKey => { + "static agent key machine access is not available for token issue" + } + }, + merge_machine_auth_context(edition, machine_access_mode, extra_context), + ), + TokenIssuerError::InvalidGrant(reason) => ApiError::validation_with_context( + "invalid machine token grant", + json!({ "reason": reason }), + ), + TokenIssuerError::AgentKeyUnknown => ApiError::validation("agent key is unknown"), + TokenIssuerError::OperationNotStrict => ApiError::validation("operation is not strict"), + TokenIssuerError::OperationNotPublishedForAgent => { + ApiError::validation("operation is not published for agent") + } + TokenIssuerError::RegistryFailure(details) => { + ApiError::internal(format!("token issuer registry failure: {details}")) + } + TokenIssuerError::ReplayGuardFailure(details) => { + ApiError::internal(format!("token issuer replay guard failure: {details}")) + } + } +} + +fn merge_machine_auth_context( + edition: crank_core::ProductEdition, + machine_access_mode: MachineAccessMode, + extra_context: serde_json::Value, +) -> serde_json::Value { + let mut context = json!({ + "edition": edition, + "machine_access_mode": machine_access_mode, + }); + + if let (Some(base), Some(extra)) = (context.as_object_mut(), extra_context.as_object()) { + for (key, value) in extra { + base.insert(key.clone(), value.clone()); + } + } + + context +} diff --git a/apps/admin-api/src/routes/observability.rs b/apps/admin-api/src/routes/observability.rs new file mode 100644 index 0000000..dfa6329 --- /dev/null +++ b/apps/admin-api/src/routes/observability.rs @@ -0,0 +1,100 @@ +use axum::{ + Json, + extract::{Path, Query, State}, +}; +use serde_json::{Value, json}; + +use crate::{ + error::ApiError, + routes::access::WorkspacePath, + service::{LogsQuery, UsageRequestQuery}, + state::AppState, +}; + +#[derive(serde::Deserialize)] +pub struct WorkspaceLogPath { + pub workspace_id: String, + pub log_id: String, +} + +#[derive(serde::Deserialize)] +pub struct WorkspaceOperationUsagePath { + pub workspace_id: String, + pub operation_id: String, +} + +#[derive(serde::Deserialize)] +pub struct WorkspaceAgentUsagePath { + pub workspace_id: String, + pub agent_id: String, +} + +pub async fn list_logs( + Path(path): Path, + Query(query): Query, + State(state): State, +) -> Result, ApiError> { + let items = state + .service + .list_logs(&path.workspace_id.as_str().into(), query) + .await?; + Ok(Json(json!({ "items": items }))) +} + +pub async fn get_log( + Path(path): Path, + State(state): State, +) -> Result, ApiError> { + let item = state + .service + .get_log( + &path.workspace_id.as_str().into(), + &path.log_id.as_str().into(), + ) + .await?; + Ok(Json(json!(item))) +} + +pub async fn get_usage( + Path(path): Path, + Query(query): Query, + State(state): State, +) -> Result, ApiError> { + let usage = state + .service + .get_usage_overview(&path.workspace_id.as_str().into(), query) + .await?; + Ok(Json(json!(usage))) +} + +pub async fn get_operation_usage( + Path(path): Path, + Query(query): Query, + State(state): State, +) -> Result, ApiError> { + let usage = state + .service + .get_operation_usage( + &path.workspace_id.as_str().into(), + &path.operation_id.as_str().into(), + query, + ) + .await?; + Ok(Json(json!(usage))) +} + +pub async fn get_agent_usage( + Path(path): Path, + Query(query): Query, + State(state): State, +) -> Result, ApiError> { + let usage = state + .service + .get_agent_usage( + &path.workspace_id.as_str().into(), + &path.agent_id.as_str().into(), + query, + ) + .await?; + Ok(Json(json!(usage))) +} diff --git a/apps/admin-api/src/routes/operations.rs b/apps/admin-api/src/routes/operations.rs new file mode 100644 index 0000000..49d6b4c --- /dev/null +++ b/apps/admin-api/src/routes/operations.rs @@ -0,0 +1,283 @@ +use axum::{ + Json, + extract::{Extension, Path, Query, State}, + http::{HeaderMap, StatusCode, header}, + response::IntoResponse, +}; +use serde::Deserialize; +use serde_json::{Value, json}; + +use crate::{ + error::ApiError, + request_context::RequestContext, + service::{ + ExportQuery, GenerateDraftPayload, ImportQuery, NewVersionPayload, OperationPayload, + PublishPayload, TestRunPayload, UpdateOperationPayload, + }, + state::AppState, +}; + +#[derive(Deserialize)] +pub struct WorkspacePath { + pub workspace_id: String, +} + +#[derive(Deserialize)] +pub struct WorkspaceOperationPath { + pub workspace_id: String, + pub operation_id: String, +} + +#[derive(Deserialize)] +pub struct WorkspaceOperationVersionPath { + pub workspace_id: String, + pub operation_id: String, + pub version: u32, +} + +pub async fn list_operations( + Path(path): Path, + State(state): State, +) -> Result, ApiError> { + let items = state + .service + .list_operations(&path.workspace_id.as_str().into()) + .await?; + let total = items.len(); + Ok(Json(json!({ + "items": items, + "page": 1, + "page_size": total, + "total": total + }))) +} + +pub async fn create_operation( + Path(path): Path, + State(state): State, + Json(payload): Json, +) -> Result, ApiError> { + let created = state + .service + .create_operation(&path.workspace_id.as_str().into(), payload) + .await?; + Ok(Json(json!(created))) +} + +pub async fn get_operation( + Path(path): Path, + State(state): State, +) -> Result, ApiError> { + let operation = state + .service + .get_operation( + &path.workspace_id.as_str().into(), + &path.operation_id.as_str().into(), + ) + .await?; + Ok(Json(json!(operation))) +} + +pub async fn update_operation( + Path(path): Path, + State(state): State, + Json(payload): Json, +) -> Result, ApiError> { + let result = state + .service + .update_operation( + &path.workspace_id.as_str().into(), + &path.operation_id.as_str().into(), + payload, + ) + .await?; + Ok(Json(json!(result))) +} + +pub async fn delete_operation( + Path(path): Path, + State(state): State, +) -> Result, ApiError> { + let result = state + .service + .delete_operation( + &path.workspace_id.as_str().into(), + &path.operation_id.as_str().into(), + ) + .await?; + Ok(Json(json!(result))) +} + +pub async fn get_operation_version( + Path(path): Path, + State(state): State, +) -> Result, ApiError> { + let version = state + .service + .get_operation_version( + &path.workspace_id.as_str().into(), + &path.operation_id.as_str().into(), + path.version, + ) + .await?; + Ok(Json(json!(version))) +} + +pub async fn create_version( + Path(path): Path, + State(state): State, + Json(payload): Json, +) -> Result, ApiError> { + let created = state + .service + .create_version( + &path.workspace_id.as_str().into(), + &path.operation_id.as_str().into(), + payload, + ) + .await?; + Ok(Json(json!(created))) +} + +pub async fn publish_operation( + Path(path): Path, + State(state): State, + Json(payload): Json, +) -> Result, ApiError> { + let published = state + .service + .publish_operation( + &path.workspace_id.as_str().into(), + &path.operation_id.as_str().into(), + payload.version, + ) + .await?; + Ok(Json(json!(published))) +} + +pub async fn archive_operation( + Path(path): Path, + State(state): State, +) -> Result, ApiError> { + let archived = state + .service + .archive_operation( + &path.workspace_id.as_str().into(), + &path.operation_id.as_str().into(), + ) + .await?; + Ok(Json(json!(archived))) +} + +pub async fn run_test( + Path(path): Path, + State(state): State, + Extension(request_context): Extension, + Json(payload): Json, +) -> Result, ApiError> { + let result = state + .service + .run_test( + &path.workspace_id.as_str().into(), + &path.operation_id.as_str().into(), + payload, + &request_context.request_id, + ) + .await?; + Ok(Json(json!(result))) +} + +pub async fn upload_input_json( + Path(path): Path, + State(state): State, + Json(payload): Json, +) -> Result, ApiError> { + let sample = state + .service + .save_json_sample( + &path.workspace_id.as_str().into(), + &path.operation_id.as_str().into(), + crank_registry::SampleKind::InputJson, + &payload, + ) + .await?; + + Ok(Json(json!({ + "sample_id": sample.id.as_str(), + "sample_kind": sample.sample_kind, + "version": sample.version + }))) +} + +pub async fn upload_output_json( + Path(path): Path, + State(state): State, + Json(payload): Json, +) -> Result, ApiError> { + let sample = state + .service + .save_json_sample( + &path.workspace_id.as_str().into(), + &path.operation_id.as_str().into(), + crank_registry::SampleKind::OutputJson, + &payload, + ) + .await?; + + Ok(Json(json!({ + "sample_id": sample.id.as_str(), + "sample_kind": sample.sample_kind, + "version": sample.version + }))) +} + +pub async fn generate_draft( + Path(path): Path, + State(state): State, + Json(payload): Json, +) -> Result, ApiError> { + let draft = state + .service + .generate_draft( + &path.workspace_id.as_str().into(), + &path.operation_id.as_str().into(), + payload, + ) + .await?; + Ok(Json(json!(draft))) +} + +pub async fn export_operation( + Path(path): Path, + Query(query): Query, + State(state): State, +) -> Result { + let yaml = state + .service + .export_operation( + &path.workspace_id.as_str().into(), + &path.operation_id.as_str().into(), + query, + ) + .await?; + let mut headers = HeaderMap::new(); + headers.insert( + header::CONTENT_TYPE, + header::HeaderValue::from_static("application/yaml"), + ); + + Ok((StatusCode::OK, headers, yaml)) +} + +pub async fn import_operation( + Path(path): Path, + Query(query): Query, + State(state): State, + body: String, +) -> Result, ApiError> { + let imported = state + .service + .import_operation(&path.workspace_id.as_str().into(), query, &body) + .await?; + Ok(Json(json!(imported))) +} diff --git a/apps/admin-api/src/routes/secrets.rs b/apps/admin-api/src/routes/secrets.rs new file mode 100644 index 0000000..4bb1817 --- /dev/null +++ b/apps/admin-api/src/routes/secrets.rs @@ -0,0 +1,98 @@ +use axum::{ + Extension, Json, + extract::{Path, State}, +}; +use serde::Deserialize; +use serde_json::{Value, json}; + +use crate::{ + auth::AuthenticatedSession, + error::ApiError, + service::{RotateSecretPayload, SecretPayload}, + state::AppState, +}; + +#[derive(Deserialize)] +pub struct WorkspacePath { + pub workspace_id: String, +} + +#[derive(Deserialize)] +pub struct WorkspaceSecretPath { + pub workspace_id: String, + pub secret_id: String, +} + +pub async fn list_secrets( + Path(path): Path, + State(state): State, +) -> Result, ApiError> { + let items = state + .service + .list_secrets(&path.workspace_id.as_str().into()) + .await?; + Ok(Json(json!({ "items": items }))) +} + +pub async fn create_secret( + Path(path): Path, + State(state): State, + Extension(session): Extension, + Json(payload): Json, +) -> Result, ApiError> { + let secret = state + .service + .create_secret( + &path.workspace_id.as_str().into(), + Some(&session.user.id), + payload, + ) + .await?; + Ok(Json(json!(secret))) +} + +pub async fn get_secret( + Path(path): Path, + State(state): State, +) -> Result, ApiError> { + let secret = state + .service + .get_secret( + &path.workspace_id.as_str().into(), + &path.secret_id.as_str().into(), + ) + .await?; + Ok(Json(json!(secret))) +} + +pub async fn rotate_secret( + Path(path): Path, + State(state): State, + Extension(session): Extension, + Json(payload): Json, +) -> Result, ApiError> { + let secret = state + .service + .rotate_secret( + &path.workspace_id.as_str().into(), + &path.secret_id.as_str().into(), + Some(&session.user.id), + payload, + ) + .await?; + Ok(Json(json!(secret))) +} + +pub async fn delete_secret( + Path(path): Path, + State(state): State, +) -> Result, ApiError> { + state + .service + .delete_secret( + &path.workspace_id.as_str().into(), + &path.secret_id.as_str().into(), + ) + .await?; + Ok(Json(json!({ "ok": true }))) +} diff --git a/apps/admin-api/src/routes/streaming.rs b/apps/admin-api/src/routes/streaming.rs new file mode 100644 index 0000000..319a348 --- /dev/null +++ b/apps/admin-api/src/routes/streaming.rs @@ -0,0 +1,16 @@ +use axum::{ + Json, + extract::{Path, State}, +}; +use serde_json::{Value, json}; + +use crate::{error::ApiError, routes::access::WorkspacePath, state::AppState}; + +pub async fn list_protocol_capabilities( + Path(_path): Path, + State(state): State, +) -> Result, ApiError> { + Ok(Json(json!({ + "items": state.service.list_protocol_capabilities().await + }))) +} diff --git a/apps/admin-api/src/routes/workspaces.rs b/apps/admin-api/src/routes/workspaces.rs new file mode 100644 index 0000000..f75cfb4 --- /dev/null +++ b/apps/admin-api/src/routes/workspaces.rs @@ -0,0 +1,58 @@ +use axum::{ + Extension, Json, + extract::{Path, State}, +}; +use serde_json::{Value, json}; + +use crate::{ + auth::AuthenticatedSession, + error::ApiError, + service::{UpdateWorkspacePayload, WorkspacePayload}, + state::AppState, +}; + +pub async fn list_workspaces( + State(state): State, + Extension(session): Extension, +) -> Result, ApiError> { + let items = state + .service + .list_workspaces_for_user(&session.user.id) + .await?; + Ok(Json(json!({ "items": items }))) +} + +pub async fn create_workspace( + State(state): State, + Extension(session): Extension, + Json(payload): Json, +) -> Result, ApiError> { + let workspace = state + .service + .create_workspace(&session.user.id, payload) + .await?; + Ok(Json(json!(workspace))) +} + +pub async fn get_workspace( + Path(workspace_id): Path, + State(state): State, +) -> Result, ApiError> { + let workspace = state + .service + .get_workspace(&workspace_id.as_str().into()) + .await?; + Ok(Json(json!(workspace))) +} + +pub async fn update_workspace( + Path(workspace_id): Path, + State(state): State, + Json(payload): Json, +) -> Result, ApiError> { + let workspace = state + .service + .update_workspace(&workspace_id.as_str().into(), payload) + .await?; + Ok(Json(json!(workspace))) +} diff --git a/apps/admin-api/src/service.rs b/apps/admin-api/src/service.rs new file mode 100644 index 0000000..06ae6e2 --- /dev/null +++ b/apps/admin-api/src/service.rs @@ -0,0 +1,4506 @@ +use std::collections::BTreeMap; +use std::path::PathBuf; +use std::sync::Arc; + +use base64::{Engine as _, engine::general_purpose::URL_SAFE_NO_PAD}; +use crank_core::{ + Agent, AgentId, AgentOperationBinding, AgentStatus, AgentVersion, AggregationMode, + AsyncJobHandle, AuditSink, AuthConfig, AuthKind, AuthProfile, AuthProfileId, CapabilityProfile, + CommunityCapabilityProfile, ConfigExport, EditionCapabilities, ExecutionMode, ExportMode, + GeneratedDraft, GeneratedDraftStatus, IdentityError, IdentityProvider, InvitationId, + InvitationStatus, InvitationToken, InvocationLevel, InvocationLog, InvocationLogId, + InvocationSource, InvocationStatus, JobStatus, LoginOutcome, MachineTokenIssuer, + MembershipRole, NoMachineTokenIssuer, NoopAuditSink, OperationId, OperationSecurityLevel, + OperationStatus, OwnerOnlyPolicyEngine, PlatformApiKey, PlatformApiKeyId, PlatformApiKeyScope, + PlatformApiKeyStatus, PolicyEngine, ProductEdition, Protocol, ResponseCachePolicy, SampleId, + Samples, Secret, SecretId, SecretKind, SecretStatus, StreamSession, StreamStatus, Target, + TransportBehavior, UsagePeriod, UserId, UserSessionId, Workspace, WorkspaceId, WorkspaceStatus, +}; +use crank_mapping::{JsonPathRoot, MappingSet, infer_mapping_from_samples}; +use crank_registry::{ + AgentSummary, AgentVersionRecord, CreateAgentRequest, CreateAsyncJobRequest, + CreateInvitationRequest, CreateInvocationLogRequest, CreatePlatformApiKeyRequest, + CreateSecretRequest, CreateStreamSessionRequest, CreateVersionRequest, CreateWorkspaceRequest, + InvitationRecord, InvocationLogRecord, ListInvocationLogsQuery, MembershipRecord, + OperationAgentRef, OperationSampleMetadata, OperationSummary, OperationUsageSummary, + OperationVersionRecord, PlatformApiKeyRecord, PostgresRegistry, PublishAgentRequest, + PublishRequest, RegistryError, RegistryOperation, RotateSecretRequest, SampleKind, + SaveAgentBindingsRequest, SaveAuthProfileRequest, SaveSampleMetadataRequest, + UpdateAsyncJobStatusRequest, UpdateWorkspaceRequest, UsageAgentBreakdown, UsageBucket, + UsageOperationBreakdown, UsageQuery, UsageSummary, UsageTimelinePoint, + WorkspaceMembershipRecord, WorkspaceRecord, +}; +use crank_runtime::{ + PreparedRequest, ResolvedAuth, RuntimeError, RuntimeExecutor, RuntimeOperation, + RuntimeRequestContext, SecretCrypto, +}; +use crank_schema::Schema; +use serde::{Deserialize, Serialize}; +use serde_json::{Value, json}; +use sha2::{Digest, Sha256}; +use time::{OffsetDateTime, format_description::well_known::Rfc3339}; +use tracing::{info, instrument}; +use uuid::Uuid; + +use crate::{ + auth::{ + AuthSettings, AuthenticatedSession, SessionCookie, create_session_cookie, hash_password, + hash_session_secret, verify_password, + }, + error::ApiError, + storage::LocalArtifactStorage, +}; + +#[derive(Clone)] +pub struct AdminService { + registry: PostgresRegistry, + runtime: RuntimeExecutor, + storage: LocalArtifactStorage, + auth_settings: AuthSettings, + secret_crypto: SecretCrypto, + identity_provider: Option>, + policy_engine: Arc, + audit_sink: Arc, + token_issuer: Arc, + capability_profile: Arc, +} + +pub struct AdminServiceBuilder { + registry: PostgresRegistry, + storage_root: PathBuf, + auth_settings: AuthSettings, + secret_crypto: SecretCrypto, + runtime: RuntimeExecutor, + identity_provider: Option>, + policy_engine: Option>, + audit_sink: Option>, + token_issuer: Option>, + capability_profile: Option>, +} + +#[derive(Clone, Debug, Deserialize)] +pub struct LoginPayload { + pub email: String, + pub password: String, +} + +#[derive(Clone, Debug, Serialize)] +pub struct SessionResponse { + pub user: crank_core::User, + pub memberships: Vec, + pub current_workspace_id: Option, +} + +#[derive(Clone, Debug, Deserialize)] +pub struct UpdateProfilePayload { + pub display_name: String, + pub email: String, +} + +#[derive(Clone, Debug, Deserialize)] +pub struct ChangePasswordPayload { + pub current_password: String, + pub new_password: String, +} + +#[derive(Clone, Debug, Deserialize)] +pub struct UpdateCurrentWorkspacePayload { + pub workspace_id: String, +} + +#[derive(Clone, Debug, Deserialize, Serialize)] +pub struct OperationPayload { + pub name: String, + pub display_name: String, + #[serde(default = "default_operation_category")] + pub category: String, + pub protocol: Protocol, + #[serde(default)] + pub security_level: OperationSecurityLevel, + pub target: Target, + pub input_schema: Schema, + pub output_schema: Schema, + pub input_mapping: MappingSet, + pub output_mapping: MappingSet, + pub execution_config: crank_core::ExecutionConfig, + pub tool_description: crank_core::ToolDescription, +} + +#[derive(Clone, Debug, Deserialize)] +pub struct NewVersionPayload { + #[serde(flatten)] + pub operation: OperationPayload, + #[serde(default)] + pub change_note: Option, +} + +#[derive(Clone, Debug, Deserialize)] +pub struct PublishPayload { + pub version: u32, +} + +#[derive(Clone, Debug, Deserialize)] +pub struct TestRunPayload { + pub version: u32, + pub input: Value, +} + +#[derive(Clone, Debug, Serialize)] +pub struct TestRunResult { + pub ok: bool, + pub mode: ExecutionMode, + pub request_preview: Value, + pub response_preview: Value, + pub errors: Vec, + #[serde(skip_serializing_if = "Option::is_none")] + pub window: Option, + #[serde(skip_serializing_if = "Option::is_none")] + pub stream_session: Option, + #[serde(skip_serializing_if = "Option::is_none")] + pub async_job: Option, +} + +#[derive(Clone, Debug, Serialize)] +pub struct WindowTestRunView { + pub window_complete: bool, + pub truncated: bool, + pub has_more: bool, + pub cursor: Option, +} + +#[derive(Clone, Debug, Serialize)] +pub struct StreamSessionStartView { + pub session_id: String, + pub status: StreamStatus, + #[serde(with = "time::serde::rfc3339")] + pub expires_at: OffsetDateTime, + pub poll_after_ms: u64, + pub preview: Value, +} + +#[derive(Clone, Debug, Serialize)] +pub struct AsyncJobStartView { + pub job_id: String, + pub status: JobStatus, + pub progress: Value, +} + +#[derive(Debug, Serialize, Deserialize)] +struct StoredSessionState { + input: Value, + summary: Value, + items: Vec, + next_index: usize, + batch_size: usize, +} + +enum TestRunOutcome { + Unary { + output: Value, + }, + Window { + output: crank_runtime::WindowExecutionResult, + }, + Session { + output: StreamSessionStartView, + }, + AsyncJob { + output: AsyncJobStartView, + }, +} + +impl TestRunOutcome { + fn into_result_views( + self, + ) -> ( + &'static str, + Value, + Option, + Option, + Option, + ) { + match self { + Self::Unary { output } => ("admin test run completed", output, None, None, None), + Self::Window { output } => ( + "admin window test run completed", + json!({ + "summary": output.summary, + "items": output.items, + "cursor": output.cursor, + "window_complete": output.window_complete, + "truncated": output.truncated, + "has_more": output.has_more, + }), + Some(WindowTestRunView { + window_complete: output.window_complete, + truncated: output.truncated, + has_more: output.has_more, + cursor: output.cursor, + }), + None, + None, + ), + Self::Session { output } => ( + "admin session test run started", + json!({ + "session_id": output.session_id, + "status": output.status, + "expires_at": format_timestamp(output.expires_at), + "poll_after_ms": output.poll_after_ms, + "preview": output.preview, + }), + None, + Some(output), + None, + ), + Self::AsyncJob { output } => ( + "admin async job test run started", + json!({ + "job_id": output.job_id, + "status": output.status, + "progress": output.progress, + }), + None, + None, + Some(output), + ), + } + } +} + +#[derive(Clone, Debug, Deserialize)] +pub struct AuthProfilePayload { + pub name: String, + pub kind: AuthKind, + pub config: AuthConfig, +} + +#[derive(Clone, Debug, Deserialize)] +pub struct SecretPayload { + pub name: String, + pub kind: SecretKind, + pub value: Value, +} + +#[derive(Clone, Debug, Deserialize)] +pub struct RotateSecretPayload { + pub value: Value, +} + +#[derive(Clone, Debug, Deserialize)] +pub struct WorkspacePayload { + pub slug: String, + pub display_name: String, + #[serde(default)] + pub settings: Value, +} + +#[derive(Clone, Debug, Deserialize)] +pub struct UpdateWorkspacePayload { + pub slug: Option, + pub display_name: Option, + pub status: Option, + pub settings: Option, +} + +#[derive(Clone, Debug, Deserialize)] +pub struct AgentPayload { + pub slug: String, + pub display_name: String, + pub description: String, + #[serde(default)] + pub instructions: Value, + #[serde(default)] + pub tool_selection_policy: Value, +} + +#[derive(Clone, Debug, Deserialize)] +pub struct UpdateAgentPayload { + pub slug: String, + pub display_name: String, + pub description: String, +} + +#[derive(Clone, Debug, Deserialize)] +pub struct AgentBindingPayload { + pub operation_id: String, + pub operation_version: u32, + pub tool_name: String, + pub tool_title: String, + pub tool_description_override: Option, + #[serde(default = "default_enabled")] + pub enabled: bool, +} + +#[derive(Clone, Debug, Serialize)] +pub struct CreatedAgentResponse { + pub agent_id: String, + pub workspace_id: String, + pub version: u32, + pub status: AgentStatus, +} + +#[derive(Clone, Debug, Serialize)] +pub struct PublishAgentResponse { + pub agent_id: String, + pub workspace_id: String, + pub published_version: u32, + pub published_at: String, +} + +#[derive(Clone, Debug, Serialize)] +pub struct AgentSummaryView { + pub id: String, + pub workspace_id: String, + pub slug: String, + pub display_name: String, + pub description: String, + pub status: AgentStatus, + pub current_draft_version: u32, + pub latest_published_version: Option, + pub created_at: String, + pub updated_at: String, + pub published_at: Option, + pub operation_count: usize, + pub operation_ids: Vec, + pub key_count: usize, + pub calls_today: u64, + pub mcp_endpoint: String, +} + +#[derive(Clone, Debug, Serialize)] +pub struct AgentMutationResult { + pub agent_id: String, + pub workspace_id: String, + pub updated_at: String, +} + +#[derive(Clone, Debug, Deserialize)] +pub struct InvitationPayload { + pub email: String, + pub role: MembershipRole, + pub expires_at: Option, +} + +#[derive(Clone, Debug, Deserialize)] +pub struct UpdateMembershipPayload { + pub role: MembershipRole, +} + +#[derive(Clone, Debug, Serialize)] +pub struct CreatedInvitationResponse { + pub invitation: InvitationRecord, + pub invite_token: String, +} + +#[derive(Clone, Debug, Deserialize)] +pub struct PlatformApiKeyPayload { + pub name: String, + pub scopes: Vec, +} + +#[derive(Clone, Debug, Serialize)] +pub struct CreatedPlatformApiKeyResponse { + pub api_key: PlatformApiKeyRecord, + pub secret: String, +} + +#[derive(Clone, Debug, Serialize)] +pub struct WorkspaceExportResponse { + pub workspace: WorkspaceRecord, + pub memberships: Vec, + pub invitations: Vec, + pub operations: Vec, + pub agents: Vec, + pub platform_api_keys: Vec, + pub exported_at: String, +} + +#[derive(Clone, Debug, Deserialize)] +pub struct LogsQuery { + pub level: Option, + pub search: Option, + pub source: Option, + pub operation_id: Option, + pub agent_id: Option, + pub period: Option, + pub limit: Option, +} + +#[derive(Clone, Debug, Deserialize)] +pub struct UsageRequestQuery { + pub period: Option, + pub source: Option, +} + +#[derive(Clone, Debug, Serialize)] +pub struct UsageOverviewResponse { + pub summary: UsageSummary, + pub timeline: Vec, + pub operations: Vec, + pub agents: Vec, +} + +#[derive(Clone, Debug, Serialize)] +pub struct ProtocolCapabilityView { + pub protocol: Protocol, + pub supports_execution_modes: Vec, + pub supports_transport_behaviors: Vec, + pub supports_auth_kinds: Vec, + pub supports_upload_artifacts: Vec, + pub supports_cursor_path: bool, + pub supports_done_path: bool, + pub supports_aggregation_mode: Vec, +} + +#[derive(Clone, Debug, Deserialize)] +pub struct GenerateDraftPayload { + #[serde(default)] + pub sources: Vec, +} + +#[derive(Clone, Debug, Serialize)] +pub struct DraftGenerationResult { + pub generated_draft: GeneratedDraft, + pub input_schema: Schema, + pub output_schema: Schema, + pub input_mapping: MappingSet, + pub output_mapping: MappingSet, +} + +#[derive(Clone, Debug, Deserialize)] +pub struct ImportQuery { + #[serde(default)] + pub mode: ImportMode, +} + +#[derive(Clone, Copy, Debug, Default, Deserialize, Serialize)] +#[serde(rename_all = "snake_case")] +pub enum ImportMode { + #[default] + Create, + Upsert, +} + +#[derive(Clone, Debug, Deserialize)] +pub struct ExportQuery { + pub version: Option, + #[serde(default = "default_export_mode")] + pub mode: ExportMode, +} + +#[derive(Clone, Debug, Deserialize, Serialize)] +pub struct YamlOperationDocument { + pub format_version: String, + pub kind: String, + pub operation: RegistryOperation, +} + +#[derive(Clone, Debug, Serialize)] +pub struct CreatedOperationResponse { + pub operation_id: String, + pub workspace_id: String, + pub version: u32, + pub status: OperationStatus, + pub updated_at: String, +} + +#[derive(Clone, Debug, Serialize)] +pub struct PublishResponse { + pub operation_id: String, + pub workspace_id: String, + pub published_version: u32, + pub published_at: String, +} + +#[derive(Clone, Debug, Deserialize)] +pub struct UpdateOperationPayload { + pub display_name: String, + #[serde(default = "default_operation_category")] + pub category: String, + #[serde(default)] + pub security_level: OperationSecurityLevel, + pub target: Target, + pub input_schema: Schema, + pub output_schema: Schema, + pub input_mapping: MappingSet, + pub output_mapping: MappingSet, + pub execution_config: crank_core::ExecutionConfig, + pub tool_description: crank_core::ToolDescription, +} + +#[derive(Clone, Debug, Serialize)] +pub struct OperationUsageSummaryView { + pub calls_today: u64, + pub error_rate_pct: f64, + pub avg_latency_ms: u64, +} + +#[derive(Clone, Debug, Serialize)] +pub struct OperationAgentRefView { + pub agent_id: String, + pub agent_slug: String, + pub display_name: String, +} + +struct InvocationRecordRequest<'a> { + workspace_id: &'a WorkspaceId, + agent_id: Option<&'a AgentId>, + operation: &'a RegistryOperation, + request_id: Option<&'a str>, + source: InvocationSource, + level: InvocationLevel, + status: InvocationStatus, + message: String, + status_code: Option, + error_kind: Option, + duration_ms: u64, + request_preview: Value, + response_preview: Value, +} + +#[derive(Clone, Debug, Serialize)] +pub struct OperationSummaryView { + pub id: String, + pub workspace_id: String, + pub name: String, + pub display_name: String, + pub category: String, + pub protocol: Protocol, + pub security_level: OperationSecurityLevel, + pub target_url: String, + pub target_action: String, + pub status: OperationStatus, + pub current_draft_version: u32, + pub latest_published_version: Option, + pub created_at: String, + pub updated_at: String, + pub published_at: Option, + pub usage_summary: OperationUsageSummaryView, + pub agent_refs: Vec, +} + +#[derive(Clone, Debug, Serialize)] +pub struct OperationDetailView { + pub id: String, + pub workspace_id: String, + pub name: String, + pub display_name: String, + pub category: String, + pub protocol: Protocol, + pub security_level: OperationSecurityLevel, + pub status: OperationStatus, + pub current_draft_version: u32, + pub latest_published_version: Option, + pub created_at: String, + pub updated_at: String, + pub published_at: Option, + pub draft_version_ref: VersionRef, + pub published_version_ref: Option, + pub agent_refs: Vec, +} + +#[derive(Clone, Debug, Serialize)] +pub struct VersionRef { + pub version: u32, + pub status: OperationStatus, +} + +#[derive(Clone, Debug, Serialize)] +pub struct OperationMutationResult { + pub operation_id: String, + pub workspace_id: String, + pub version: u32, + pub status: OperationStatus, + pub updated_at: String, +} + +#[derive(Clone, Debug, Serialize)] +pub struct ImportResponse { + pub operation_id: String, + pub workspace_id: String, + pub version: u32, + pub import_mode: ImportMode, + pub warnings: Vec, +} + +#[derive(Clone, Debug, Serialize)] +pub struct DescriptorUploadResponse { + pub descriptor_id: String, + pub version: u32, +} + +#[derive(Clone, Debug, Serialize)] +pub struct GrpcServiceSummary { + pub package: String, + pub service: String, + pub methods: Vec, +} + +#[derive(Clone, Debug, Serialize)] +pub struct GrpcMethodSummary { + pub name: String, + pub kind: String, + pub input_schema: Schema, + pub output_schema: Schema, +} + +fn default_operation_category() -> String { + "general".to_owned() +} + +impl AdminService { + #[cfg(test)] + pub fn new( + registry: PostgresRegistry, + storage_root: PathBuf, + auth_settings: AuthSettings, + secret_crypto: SecretCrypto, + ) -> Self { + Self::new_with_runtime( + registry, + storage_root, + auth_settings, + secret_crypto, + RuntimeExecutor::new(), + ) + } + + #[cfg(test)] + pub fn new_with_runtime( + registry: PostgresRegistry, + storage_root: PathBuf, + auth_settings: AuthSettings, + secret_crypto: SecretCrypto, + runtime: RuntimeExecutor, + ) -> Self { + AdminServiceBuilder::new( + registry, + storage_root, + auth_settings, + secret_crypto, + runtime, + ) + .build() + } + + pub fn auth_settings(&self) -> &AuthSettings { + &self.auth_settings + } + + pub fn policy_engine(&self) -> &Arc { + &self.policy_engine + } + + pub fn audit_sink(&self) -> &Arc { + &self.audit_sink + } + + pub fn token_issuer(&self) -> &Arc { + &self.token_issuer + } + + pub fn capability_profile(&self) -> &Arc { + &self.capability_profile + } +} + +impl AdminServiceBuilder { + pub fn new( + registry: PostgresRegistry, + storage_root: PathBuf, + auth_settings: AuthSettings, + secret_crypto: SecretCrypto, + runtime: RuntimeExecutor, + ) -> Self { + Self { + registry, + storage_root, + auth_settings, + secret_crypto, + runtime, + identity_provider: None, + policy_engine: None, + audit_sink: None, + token_issuer: None, + capability_profile: None, + } + } + + pub fn with_identity_provider(mut self, provider: Arc) -> Self { + self.identity_provider = Some(provider); + self + } + + #[allow(dead_code)] + pub fn with_policy_engine(mut self, policy_engine: Arc) -> Self { + self.policy_engine = Some(policy_engine); + self + } + + #[allow(dead_code)] + pub fn with_audit_sink(mut self, audit_sink: Arc) -> Self { + self.audit_sink = Some(audit_sink); + self + } + + #[allow(dead_code)] + pub fn with_token_issuer(mut self, token_issuer: Arc) -> Self { + self.token_issuer = Some(token_issuer); + self + } + + #[allow(dead_code)] + pub fn with_capability_profile( + mut self, + capability_profile: Arc, + ) -> Self { + self.capability_profile = Some(capability_profile); + self + } + + pub fn build(self) -> AdminService { + AdminService { + registry: self.registry, + runtime: self.runtime, + storage: LocalArtifactStorage::new(self.storage_root), + auth_settings: self.auth_settings, + secret_crypto: self.secret_crypto, + identity_provider: self.identity_provider, + policy_engine: self + .policy_engine + .unwrap_or_else(|| Arc::new(OwnerOnlyPolicyEngine)), + audit_sink: self.audit_sink.unwrap_or_else(|| Arc::new(NoopAuditSink)), + token_issuer: self + .token_issuer + .unwrap_or_else(|| Arc::new(NoMachineTokenIssuer)), + capability_profile: self + .capability_profile + .unwrap_or_else(|| Arc::new(CommunityCapabilityProfile)), + } + } +} + +impl AdminService { + pub async fn bootstrap_admin_user(&self) -> Result<(), ApiError> { + let password_hash = hash_password( + &self.auth_settings.bootstrap_admin.password, + &self.auth_settings.password_pepper, + )?; + let user_id = self + .registry + .upsert_bootstrap_user( + &self.auth_settings.bootstrap_admin.email, + &self.auth_settings.bootstrap_admin.display_name, + &password_hash, + ) + .await?; + self.registry + .ensure_membership( + &WorkspaceId::new("ws_default"), + &user_id, + MembershipRole::Owner, + ) + .await?; + + Ok(()) + } + + pub async fn seed_demo_assets(&self) -> Result<(), ApiError> { + let admin_user = self + .registry + .get_auth_user_by_email(&self.auth_settings.bootstrap_admin.email) + .await? + .ok_or_else(|| ApiError::internal("bootstrap admin user was not found"))?; + let admin_user_id = admin_user.user.id.clone(); + let default_workspace_id = WorkspaceId::new("ws_default"); + + self.seed_default_workspace_demo(&admin_user_id, &default_workspace_id) + .await?; + self.seed_growth_workspace_demo(&admin_user_id).await?; + + Ok(()) + } + + pub async fn get_session( + &self, + session_id: &UserSessionId, + session_value: &str, + ) -> Result, ApiError> { + let secret_hash = hash_session_secret( + session_id, + session_value, + &self.auth_settings.session_secret, + ); + let session = self + .registry + .get_user_session(session_id, &secret_hash) + .await? + .map(|record| AuthenticatedSession { + session_id: record.session_id, + user: record.user, + memberships: record.memberships, + current_workspace_id: record.current_workspace_id, + }); + + Ok(session) + } + + pub async fn touch_session(&self, session_id: &UserSessionId) -> Result<(), ApiError> { + self.registry.touch_user_session(session_id).await?; + Ok(()) + } + + pub async fn login( + &self, + payload: LoginPayload, + ) -> Result<(SessionCookie, SessionResponse), ApiError> { + let authenticated = self.authenticate_login(&payload).await?; + + let session_cookie = create_session_cookie(&self.auth_settings)?; + let secret_hash = hash_session_secret( + &session_cookie.session_id, + &session_cookie.value, + &self.auth_settings.session_secret, + ); + let memberships = self + .registry + .list_workspaces_for_user(&authenticated.user.id) + .await?; + let current_workspace_id = authenticated + .current_workspace_id + .as_ref() + .map(|workspace_id| workspace_id.as_str().to_owned()) + .or_else(|| { + memberships + .first() + .map(|membership| membership.workspace.id.as_str().to_owned()) + }); + let current_workspace_ref = current_workspace_id + .as_ref() + .map(|workspace_id| WorkspaceId::new(workspace_id.clone())); + self.registry + .create_user_session( + &session_cookie.session_id, + &authenticated.user.id, + current_workspace_ref.as_ref(), + &secret_hash, + &session_cookie.expires_at, + ) + .await?; + + Ok(( + session_cookie, + SessionResponse { + user: authenticated.user, + memberships, + current_workspace_id, + }, + )) + } + + async fn authenticate_login( + &self, + payload: &LoginPayload, + ) -> Result { + if let Some(identity_provider) = &self.identity_provider { + return match identity_provider + .login_password(crank_core::LoginPayload { + email: payload.email.clone(), + password: payload.password.clone(), + }) + .await + { + Ok(LoginOutcome::Authenticated(identity)) => Ok(identity), + Ok(LoginOutcome::TwoFactorRequired(_)) => Err(ApiError::internal( + "two-factor login flow is not configured for this service", + )), + Err(error) => Err(map_identity_error(error)), + }; + } + + let user = self + .registry + .get_auth_user_by_email(&payload.email) + .await? + .ok_or_else(|| ApiError::unauthorized("invalid email or password"))?; + + if !verify_password( + &payload.password, + &self.auth_settings.password_pepper, + &user.password_hash, + ) { + return Err(ApiError::unauthorized("invalid email or password")); + } + + Ok(crank_core::AuthenticatedIdentity { + user: user.user, + memberships: vec![], + current_workspace_id: None, + }) + } + + pub async fn logout( + &self, + session_id: &UserSessionId, + _session_value: &str, + ) -> Result<(), ApiError> { + self.registry.revoke_user_session(session_id).await?; + Ok(()) + } + + pub async fn list_workspaces_for_user( + &self, + user_id: &crank_core::UserId, + ) -> Result, ApiError> { + Ok(self.registry.list_workspaces_for_user(user_id).await?) + } + + pub async fn user_has_workspace_access( + &self, + user_id: &crank_core::UserId, + workspace_id: &WorkspaceId, + ) -> Result { + Ok(self + .registry + .user_has_workspace_access(user_id, workspace_id) + .await?) + } + + #[instrument(skip(self, payload), fields(workspace_slug = %payload.slug, user_id = %user_id.as_str()))] + pub async fn create_workspace( + &self, + user_id: &crank_core::UserId, + payload: WorkspacePayload, + ) -> Result { + let now = OffsetDateTime::now_utc(); + let workspace = Workspace { + id: WorkspaceId::new(new_prefixed_id("ws")), + slug: payload.slug, + display_name: payload.display_name, + status: WorkspaceStatus::Active, + settings: payload.settings, + created_at: now, + updated_at: now, + }; + + self.registry + .create_workspace(CreateWorkspaceRequest { + workspace: &workspace, + }) + .await?; + self.registry + .ensure_membership(&workspace.id, user_id, MembershipRole::Owner) + .await?; + + Ok(WorkspaceRecord { workspace }) + } + + #[instrument(skip(self))] + pub async fn session_response( + &self, + session_id: &UserSessionId, + session_value: &str, + ) -> Result, ApiError> { + Ok(self + .get_session(session_id, session_value) + .await? + .map(|session| SessionResponse { + user: session.user, + memberships: session.memberships, + current_workspace_id: session + .current_workspace_id + .map(|id| id.as_str().to_owned()), + })) + } + + pub async fn update_profile( + &self, + user_id: &crank_core::UserId, + current_workspace_id: Option<&WorkspaceId>, + payload: UpdateProfilePayload, + ) -> Result { + let display_name = payload.display_name.trim(); + let email = payload.email.trim().to_ascii_lowercase(); + + if display_name.is_empty() { + return Err(ApiError::validation("display name is required")); + } + if email.is_empty() || !email.contains('@') { + return Err(ApiError::validation("a valid email address is required")); + } + + let user = self + .registry + .update_user_profile(user_id, &email, display_name) + .await?; + let memberships = self.registry.list_workspaces_for_user(user_id).await?; + + Ok(SessionResponse { + user, + memberships, + current_workspace_id: current_workspace_id.map(|id| id.as_str().to_owned()), + }) + } + + pub async fn set_current_workspace( + &self, + session_id: &UserSessionId, + user_id: &crank_core::UserId, + workspace_id: &WorkspaceId, + ) -> Result { + if !self + .user_has_workspace_access(user_id, workspace_id) + .await? + { + return Err(ApiError::forbidden("workspace access denied")); + } + + self.registry + .set_user_session_current_workspace(session_id, workspace_id) + .await?; + + let user = self + .registry + .get_auth_user_by_id(user_id) + .await? + .ok_or_else(|| { + ApiError::not_found_with_context( + format!("user {} was not found", user_id.as_str()), + json!({ "user_id": user_id.as_str() }), + ) + })? + .user; + let memberships = self.registry.list_workspaces_for_user(user_id).await?; + + Ok(SessionResponse { + user, + memberships, + current_workspace_id: Some(workspace_id.as_str().to_owned()), + }) + } + + pub async fn change_password( + &self, + user_id: &crank_core::UserId, + payload: ChangePasswordPayload, + ) -> Result<(), ApiError> { + if payload.new_password.len() < 12 { + return Err(ApiError::validation( + "new password must be at least 12 characters long", + )); + } + + let user = self + .registry + .get_auth_user_by_id(user_id) + .await? + .ok_or_else(|| { + ApiError::not_found_with_context( + format!("user {} was not found", user_id.as_str()), + json!({ "user_id": user_id.as_str() }), + ) + })?; + + if !verify_password( + &payload.current_password, + &self.auth_settings.password_pepper, + &user.password_hash, + ) { + return Err(ApiError::unauthorized("current password is invalid")); + } + + let password_hash = + hash_password(&payload.new_password, &self.auth_settings.password_pepper)?; + self.registry + .update_user_password(user_id, &password_hash) + .await?; + + Ok(()) + } + + pub async fn get_workspace( + &self, + workspace_id: &WorkspaceId, + ) -> Result { + self.registry + .get_workspace(workspace_id) + .await? + .ok_or_else(|| { + ApiError::not_found_with_context( + format!("workspace {} was not found", workspace_id.as_str()), + json!({ "workspace_id": workspace_id.as_str() }), + ) + }) + } + + #[instrument(skip(self, payload), fields(workspace_id = %workspace_id.as_str()))] + pub async fn update_workspace( + &self, + workspace_id: &WorkspaceId, + payload: UpdateWorkspacePayload, + ) -> Result { + let existing = self.get_workspace(workspace_id).await?.workspace; + let workspace = Workspace { + id: existing.id, + slug: payload.slug.unwrap_or(existing.slug), + display_name: payload.display_name.unwrap_or(existing.display_name), + status: payload.status.unwrap_or(existing.status), + settings: payload.settings.unwrap_or(existing.settings), + created_at: existing.created_at, + updated_at: OffsetDateTime::now_utc(), + }; + + self.registry + .update_workspace(UpdateWorkspaceRequest { + workspace: &workspace, + }) + .await?; + + Ok(WorkspaceRecord { workspace }) + } + + #[instrument(skip(self))] + pub async fn list_memberships( + &self, + workspace_id: &WorkspaceId, + ) -> Result, ApiError> { + self.ensure_workspace_exists(workspace_id).await?; + Ok(self.registry.list_memberships(workspace_id).await?) + } + + pub async fn update_membership_role( + &self, + workspace_id: &WorkspaceId, + actor_user_id: &crank_core::UserId, + target_user_id: &crank_core::UserId, + payload: UpdateMembershipPayload, + ) -> Result, ApiError> { + let memberships = self.list_memberships(workspace_id).await?; + let actor_membership = memberships + .iter() + .find(|membership| &membership.user.id == actor_user_id) + .ok_or_else(|| ApiError::forbidden("workspace access denied"))?; + let target_membership = memberships + .iter() + .find(|membership| &membership.user.id == target_user_id) + .ok_or_else(|| { + ApiError::not_found_with_context( + format!( + "membership for user {} in workspace {} was not found", + target_user_id.as_str(), + workspace_id.as_str() + ), + json!({ + "workspace_id": workspace_id.as_str(), + "user_id": target_user_id.as_str(), + }), + ) + })?; + + if !matches!( + actor_membership.role, + MembershipRole::Owner | MembershipRole::Admin + ) { + return Err(ApiError::forbidden( + "only owners and admins can manage workspace members", + )); + } + + if matches!(target_membership.role, MembershipRole::Owner) + && !matches!(payload.role, MembershipRole::Owner) + { + let owner_count = memberships + .iter() + .filter(|membership| matches!(membership.role, MembershipRole::Owner)) + .count(); + if owner_count <= 1 { + return Err(ApiError::validation( + "workspace must keep at least one owner", + )); + } + } + + self.registry + .update_membership_role(workspace_id, target_user_id, payload.role) + .await?; + self.list_memberships(workspace_id).await + } + + pub async fn remove_membership( + &self, + workspace_id: &WorkspaceId, + actor_user_id: &crank_core::UserId, + target_user_id: &crank_core::UserId, + ) -> Result<(), ApiError> { + let memberships = self.list_memberships(workspace_id).await?; + let actor_membership = memberships + .iter() + .find(|membership| &membership.user.id == actor_user_id) + .ok_or_else(|| ApiError::forbidden("workspace access denied"))?; + let target_membership = memberships + .iter() + .find(|membership| &membership.user.id == target_user_id) + .ok_or_else(|| { + ApiError::not_found_with_context( + format!( + "membership for user {} in workspace {} was not found", + target_user_id.as_str(), + workspace_id.as_str() + ), + json!({ + "workspace_id": workspace_id.as_str(), + "user_id": target_user_id.as_str(), + }), + ) + })?; + + if !matches!( + actor_membership.role, + MembershipRole::Owner | MembershipRole::Admin + ) { + return Err(ApiError::forbidden( + "only owners and admins can manage workspace members", + )); + } + + if matches!(target_membership.role, MembershipRole::Owner) { + let owner_count = memberships + .iter() + .filter(|membership| matches!(membership.role, MembershipRole::Owner)) + .count(); + if owner_count <= 1 { + return Err(ApiError::validation( + "workspace must keep at least one owner", + )); + } + } + + self.registry + .delete_membership(workspace_id, target_user_id) + .await?; + Ok(()) + } + + #[instrument(skip(self))] + pub async fn list_invitations( + &self, + workspace_id: &WorkspaceId, + ) -> Result, ApiError> { + self.ensure_workspace_exists(workspace_id).await?; + Ok(self.registry.list_invitations(workspace_id).await?) + } + + #[instrument(skip(self, payload), fields(workspace_id = %workspace_id.as_str(), email = %payload.email))] + pub async fn create_invitation( + &self, + workspace_id: &WorkspaceId, + payload: InvitationPayload, + ) -> Result { + self.ensure_workspace_exists(workspace_id).await?; + + let invite_token = generate_access_secret("invite"); + let invitation = InvitationRecord { + invitation: InvitationToken { + id: InvitationId::new(new_prefixed_id("inv")), + workspace_id: workspace_id.clone(), + email: payload.email, + role: payload.role, + status: InvitationStatus::Pending, + token_hash: hash_access_secret(&invite_token), + expires_at: match payload.expires_at { + Some(expires_at) => parse_timestamp(&expires_at)?, + None => default_invitation_expiry()?, + }, + created_at: OffsetDateTime::now_utc(), + }, + }; + + self.registry + .create_invitation(CreateInvitationRequest { + invitation: &invitation.invitation, + }) + .await?; + + Ok(CreatedInvitationResponse { + invitation, + invite_token, + }) + } + + #[instrument(skip(self), fields(workspace_id = %workspace_id.as_str(), invitation_id = %invitation_id.as_str()))] + pub async fn delete_invitation( + &self, + workspace_id: &WorkspaceId, + invitation_id: &InvitationId, + ) -> Result<(), ApiError> { + self.registry + .delete_invitation(workspace_id, invitation_id) + .await?; + Ok(()) + } + + pub async fn export_workspace( + &self, + workspace_id: &WorkspaceId, + ) -> Result { + let workspace = self.get_workspace(workspace_id).await?; + let memberships = self.list_memberships(workspace_id).await?; + let invitations = self + .list_invitations(workspace_id) + .await? + .into_iter() + .map(|record| { + json!({ + "id": record.invitation.id, + "email": record.invitation.email, + "role": record.invitation.role, + "status": record.invitation.status, + "expires_at": record.invitation.expires_at, + "created_at": record.invitation.created_at, + }) + }) + .collect(); + let operations = self.list_operations(workspace_id).await?; + let agents = self.list_agents(workspace_id).await?; + let platform_api_keys = self.registry.list_platform_api_keys(workspace_id).await?; + + Ok(WorkspaceExportResponse { + workspace, + memberships, + invitations, + operations, + agents, + platform_api_keys, + exported_at: now_string()?, + }) + } + + pub async fn delete_workspace( + &self, + workspace_id: &WorkspaceId, + actor_user_id: &crank_core::UserId, + ) -> Result<(), ApiError> { + let memberships = self.list_memberships(workspace_id).await?; + let actor_membership = memberships + .iter() + .find(|membership| &membership.user.id == actor_user_id) + .ok_or_else(|| ApiError::forbidden("workspace access denied"))?; + + if !matches!(actor_membership.role, MembershipRole::Owner) { + return Err(ApiError::forbidden( + "only workspace owners can delete a workspace", + )); + } + + self.registry.delete_workspace(workspace_id).await?; + Ok(()) + } + + #[instrument(skip(self))] + pub async fn list_agent_platform_api_keys( + &self, + workspace_id: &WorkspaceId, + agent_id: &AgentId, + ) -> Result, ApiError> { + self.ensure_workspace_exists(workspace_id).await?; + self.registry + .get_agent_summary(workspace_id, agent_id) + .await? + .ok_or_else(|| { + ApiError::not_found_with_context( + format!("agent {} was not found", agent_id.as_str()), + json!({ "agent_id": agent_id.as_str() }), + ) + })?; + Ok(self + .registry + .list_platform_api_keys_for_agent(workspace_id, agent_id) + .await?) + } + + #[instrument(skip(self, payload), fields(workspace_id = %workspace_id.as_str(), agent_id = %agent_id.as_str(), key_name = %payload.name))] + pub async fn create_agent_platform_api_key( + &self, + workspace_id: &WorkspaceId, + agent_id: &AgentId, + payload: PlatformApiKeyPayload, + ) -> Result { + self.ensure_workspace_exists(workspace_id).await?; + self.registry + .get_agent_summary(workspace_id, agent_id) + .await? + .ok_or_else(|| { + ApiError::not_found_with_context( + format!("agent {} was not found", agent_id.as_str()), + json!({ "agent_id": agent_id.as_str() }), + ) + })?; + + let secret = generate_access_secret("crk"); + let api_key = PlatformApiKeyRecord { + api_key: PlatformApiKey { + id: PlatformApiKeyId::new(new_prefixed_id("pk")), + workspace_id: workspace_id.clone(), + agent_id: Some(agent_id.clone()), + name: payload.name, + prefix: secret.chars().take(16).collect(), + scopes: payload.scopes, + status: PlatformApiKeyStatus::Active, + created_at: OffsetDateTime::now_utc(), + last_used_at: None, + }, + }; + + self.registry + .create_platform_api_key(CreatePlatformApiKeyRequest { + api_key: &api_key.api_key, + secret_hash: &hash_access_secret(&secret), + }) + .await?; + + Ok(CreatedPlatformApiKeyResponse { api_key, secret }) + } + + #[instrument(skip(self), fields(workspace_id = %workspace_id.as_str(), agent_id = %agent_id.as_str(), key_id = %key_id.as_str()))] + pub async fn revoke_agent_platform_api_key( + &self, + workspace_id: &WorkspaceId, + agent_id: &AgentId, + key_id: &PlatformApiKeyId, + ) -> Result<(), ApiError> { + self.registry + .revoke_platform_api_key_for_agent( + workspace_id, + agent_id, + key_id, + &OffsetDateTime::now_utc(), + ) + .await?; + Ok(()) + } + + #[instrument(skip(self), fields(workspace_id = %workspace_id.as_str(), agent_id = %agent_id.as_str(), key_id = %key_id.as_str()))] + pub async fn delete_agent_platform_api_key( + &self, + workspace_id: &WorkspaceId, + agent_id: &AgentId, + key_id: &PlatformApiKeyId, + ) -> Result<(), ApiError> { + self.registry + .delete_platform_api_key_for_agent(workspace_id, agent_id, key_id) + .await?; + Ok(()) + } + + #[instrument(skip(self))] + pub async fn list_logs( + &self, + workspace_id: &WorkspaceId, + query: LogsQuery, + ) -> Result, ApiError> { + self.ensure_workspace_exists(workspace_id).await?; + let operation_id = query.operation_id.as_deref().map(OperationId::new); + let agent_id = query.agent_id.as_deref().map(AgentId::new); + let (_, created_after, _) = usage_window(query.period.unwrap_or(UsagePeriod::Last7Days))?; + + self.registry + .list_invocation_logs(ListInvocationLogsQuery { + workspace_id, + level: query.level, + search_text: query.search.as_deref(), + source: query.source, + operation_id: operation_id.as_ref(), + agent_id: agent_id.as_ref(), + created_after: Some(&created_after), + limit: query.limit.unwrap_or(100), + }) + .await + .map_err(ApiError::from) + } + + #[instrument(skip(self))] + pub async fn get_log( + &self, + workspace_id: &WorkspaceId, + log_id: &InvocationLogId, + ) -> Result { + self.registry + .get_invocation_log(workspace_id, log_id) + .await? + .ok_or_else(|| { + ApiError::not_found_with_context( + format!("invocation log {} was not found", log_id.as_str()), + json!({ "log_id": log_id.as_str() }), + ) + }) + } + + #[instrument(skip(self))] + pub async fn get_usage_overview( + &self, + workspace_id: &WorkspaceId, + query: UsageRequestQuery, + ) -> Result { + self.ensure_workspace_exists(workspace_id).await?; + let (period, created_after, bucket) = + usage_window(query.period.unwrap_or(UsagePeriod::Last7Days))?; + let usage_query = UsageQuery { + workspace_id, + period, + source: query.source, + created_after: &created_after, + bucket, + }; + + let summary = self.registry.summarize_usage(usage_query.clone()).await?; + let timeline = self + .registry + .list_usage_timeline(usage_query.clone()) + .await?; + let operations = self + .registry + .list_usage_by_operation(usage_query.clone()) + .await?; + let agents = self.registry.list_usage_by_agent(usage_query).await?; + + Ok(UsageOverviewResponse { + summary, + timeline, + operations, + agents, + }) + } + + #[instrument(skip(self))] + pub async fn get_operation_usage( + &self, + workspace_id: &WorkspaceId, + operation_id: &OperationId, + query: UsageRequestQuery, + ) -> Result { + self.get_operation(workspace_id, operation_id).await?; + let (period, created_after, bucket) = + usage_window(query.period.unwrap_or(UsagePeriod::Last7Days))?; + + self.registry + .get_usage_for_operation( + UsageQuery { + workspace_id, + period, + source: query.source, + created_after: &created_after, + bucket, + }, + operation_id, + ) + .await? + .ok_or_else(|| { + ApiError::not_found_with_context( + format!( + "usage for operation {} was not found", + operation_id.as_str() + ), + json!({ "operation_id": operation_id.as_str() }), + ) + }) + } + + #[instrument(skip(self))] + pub async fn get_agent_usage( + &self, + workspace_id: &WorkspaceId, + agent_id: &AgentId, + query: UsageRequestQuery, + ) -> Result { + self.get_agent(workspace_id, agent_id).await?; + let (period, created_after, bucket) = + usage_window(query.period.unwrap_or(UsagePeriod::Last7Days))?; + + self.registry + .get_usage_for_agent( + UsageQuery { + workspace_id, + period, + source: query.source, + created_after: &created_after, + bucket, + }, + agent_id, + ) + .await? + .ok_or_else(|| { + ApiError::not_found_with_context( + format!("usage for agent {} was not found", agent_id.as_str()), + json!({ "agent_id": agent_id.as_str() }), + ) + }) + } + + pub async fn list_protocol_capabilities(&self) -> Vec { + let capabilities = self.get_capabilities().await; + capabilities + .supported_protocols + .into_iter() + .map(|protocol| protocol_capability_view(protocol, capabilities.edition)) + .collect() + } + + pub async fn get_capabilities(&self) -> EditionCapabilities { + self.capability_profile().capabilities() + } + + pub async fn list_operations( + &self, + workspace_id: &WorkspaceId, + ) -> Result, ApiError> { + self.ensure_workspace_exists(workspace_id).await?; + let summaries = self.registry.list_operations(workspace_id).await?; + let usage = self + .registry + .list_operation_usage_summaries(workspace_id, &today_start_utc()?) + .await?; + let agent_refs = self + .registry + .list_operation_agent_refs(workspace_id) + .await?; + let usage_by_operation = usage_map(usage); + let refs_by_operation = agent_ref_map(agent_refs); + + Ok(summaries + .into_iter() + .map(|summary| { + let operation_id = summary.id.as_str().to_owned(); + enrich_operation_summary( + summary, + usage_by_operation + .get(&operation_id) + .cloned() + .unwrap_or_else(default_usage_summary), + refs_by_operation + .get(&operation_id) + .cloned() + .unwrap_or_default(), + ) + }) + .collect()) + } + + #[instrument(skip(self))] + pub async fn get_operation( + &self, + workspace_id: &WorkspaceId, + operation_id: &OperationId, + ) -> Result { + let summary = self + .registry + .get_operation_summary(workspace_id, operation_id) + .await? + .ok_or_else(|| { + ApiError::not_found_with_context( + format!("operation {} was not found", operation_id.as_str()), + json!({ "operation_id": operation_id.as_str() }), + ) + })?; + let agent_refs = self + .registry + .list_operation_agent_refs(workspace_id) + .await?; + let refs = agent_ref_map(agent_refs) + .remove(operation_id.as_str()) + .unwrap_or_default(); + + Ok(OperationDetailView { + id: summary.id.as_str().to_owned(), + workspace_id: summary.workspace_id.as_str().to_owned(), + name: summary.name, + display_name: summary.display_name, + category: summary.category, + protocol: summary.protocol, + security_level: summary.security_level, + status: summary.status, + current_draft_version: summary.current_draft_version, + latest_published_version: summary.latest_published_version, + created_at: format_timestamp(summary.created_at), + updated_at: format_timestamp(summary.updated_at), + published_at: summary.published_at.map(format_timestamp), + draft_version_ref: VersionRef { + version: summary.current_draft_version, + status: summary.status, + }, + published_version_ref: summary.latest_published_version.map(|version| VersionRef { + version, + status: OperationStatus::Published, + }), + agent_refs: refs, + }) + } + + #[instrument(skip(self))] + pub async fn get_operation_version( + &self, + workspace_id: &WorkspaceId, + operation_id: &OperationId, + version: u32, + ) -> Result { + self.registry + .get_operation_version(workspace_id, operation_id, version) + .await? + .ok_or_else(|| { + ApiError::not_found_with_context( + format!( + "operation version {version} for {} was not found", + operation_id.as_str() + ), + json!({ + "operation_id": operation_id.as_str(), + "version": version, + }), + ) + }) + } + + #[instrument(skip(self, payload), fields(protocol = ?payload.protocol, operation_name = %payload.name))] + pub async fn create_operation( + &self, + workspace_id: &WorkspaceId, + payload: OperationPayload, + ) -> Result { + self.validate_operation_payload(&payload)?; + self.ensure_workspace_exists(workspace_id).await?; + + if self + .find_operation_by_name(workspace_id, &payload.name) + .await? + .is_some() + { + return Err(ApiError::conflict_with_context( + format!("operation with name {} already exists", payload.name), + json!({ "name": payload.name }), + )); + } + + let now = OffsetDateTime::now_utc(); + let operation_id = OperationId::new(new_prefixed_id("op")); + let snapshot = RegistryOperation { + id: operation_id.clone(), + name: payload.name, + display_name: payload.display_name, + category: payload.category, + protocol: payload.protocol, + security_level: payload.security_level, + status: OperationStatus::Draft, + version: 1, + target: payload.target, + input_schema: payload.input_schema, + output_schema: payload.output_schema, + input_mapping: payload.input_mapping, + output_mapping: payload.output_mapping, + execution_config: payload.execution_config, + tool_description: payload.tool_description, + samples: Some(Samples::default()), + generated_draft: None, + config_export: Some(ConfigExport { + format_version: "1".to_owned(), + export_mode: ExportMode::Portable, + }), + created_at: now, + updated_at: now, + published_at: None, + }; + + self.registry + .create_operation(workspace_id, &snapshot, None) + .await?; + info!(operation_id = %operation_id.as_str(), version = 1, "operation created"); + + Ok(CreatedOperationResponse { + operation_id: operation_id.as_str().to_owned(), + workspace_id: workspace_id.as_str().to_owned(), + version: 1, + status: OperationStatus::Draft, + updated_at: format_timestamp(snapshot.updated_at), + }) + } + + #[instrument(skip(self, payload), fields(operation_id = %operation_id.as_str(), protocol = ?payload.operation.protocol))] + pub async fn create_version( + &self, + workspace_id: &WorkspaceId, + operation_id: &OperationId, + payload: NewVersionPayload, + ) -> Result { + self.validate_operation_payload(&payload.operation)?; + + let summary = self + .registry + .get_operation_summary(workspace_id, operation_id) + .await? + .ok_or_else(|| { + ApiError::not_found_with_context( + format!("operation {} was not found", operation_id.as_str()), + json!({ "operation_id": operation_id.as_str() }), + ) + })?; + let now = OffsetDateTime::now_utc(); + let version = summary.current_draft_version + 1; + let snapshot = RegistryOperation { + id: operation_id.clone(), + name: payload.operation.name, + display_name: payload.operation.display_name, + category: payload.operation.category, + protocol: payload.operation.protocol, + security_level: payload.operation.security_level, + status: OperationStatus::Draft, + version, + target: payload.operation.target, + input_schema: payload.operation.input_schema, + output_schema: payload.operation.output_schema, + input_mapping: payload.operation.input_mapping, + output_mapping: payload.operation.output_mapping, + execution_config: payload.operation.execution_config, + tool_description: payload.operation.tool_description, + samples: Some(Samples::default()), + generated_draft: None, + config_export: Some(ConfigExport { + format_version: "1".to_owned(), + export_mode: ExportMode::Portable, + }), + created_at: summary.created_at, + updated_at: now, + published_at: None, + }; + + self.registry + .create_version(CreateVersionRequest { + workspace_id, + snapshot: &snapshot, + change_note: payload.change_note.as_deref(), + created_by: None, + }) + .await?; + info!(operation_id = %operation_id.as_str(), version, "operation version created"); + + Ok(CreatedOperationResponse { + operation_id: operation_id.as_str().to_owned(), + workspace_id: workspace_id.as_str().to_owned(), + version, + status: OperationStatus::Draft, + updated_at: format_timestamp(snapshot.updated_at), + }) + } + + #[instrument(skip(self, payload), fields(operation_id = %operation_id.as_str()))] + pub async fn update_operation( + &self, + workspace_id: &WorkspaceId, + operation_id: &OperationId, + payload: UpdateOperationPayload, + ) -> Result { + let existing = self + .get_operation_version( + workspace_id, + operation_id, + self.get_operation(workspace_id, operation_id) + .await? + .current_draft_version, + ) + .await?; + + let updated_at = OffsetDateTime::now_utc(); + let snapshot = RegistryOperation { + id: operation_id.clone(), + name: existing.snapshot.name, + display_name: payload.display_name, + category: payload.category, + protocol: existing.snapshot.protocol, + security_level: payload.security_level, + status: OperationStatus::Draft, + version: existing.version, + target: payload.target, + input_schema: payload.input_schema, + output_schema: payload.output_schema, + input_mapping: payload.input_mapping, + output_mapping: payload.output_mapping, + execution_config: payload.execution_config, + tool_description: payload.tool_description, + samples: existing.snapshot.samples, + generated_draft: existing.snapshot.generated_draft, + config_export: existing.snapshot.config_export, + created_at: existing.snapshot.created_at, + updated_at, + published_at: existing.snapshot.published_at, + }; + + self.validate_registry_operation(&snapshot)?; + self.registry + .update_operation_draft(workspace_id, &snapshot) + .await?; + + Ok(OperationMutationResult { + operation_id: operation_id.as_str().to_owned(), + workspace_id: workspace_id.as_str().to_owned(), + version: snapshot.version, + status: snapshot.status, + updated_at: format_timestamp(updated_at), + }) + } + + #[instrument(skip(self), fields(operation_id = %operation_id.as_str(), version))] + pub async fn publish_operation( + &self, + workspace_id: &WorkspaceId, + operation_id: &OperationId, + version: u32, + ) -> Result { + let published_at = OffsetDateTime::now_utc(); + self.registry + .publish_operation(PublishRequest { + workspace_id, + operation_id, + version, + published_at: &published_at, + published_by: None, + }) + .await?; + info!(operation_id = %operation_id.as_str(), version, "operation published"); + + Ok(PublishResponse { + operation_id: operation_id.as_str().to_owned(), + workspace_id: workspace_id.as_str().to_owned(), + published_version: version, + published_at: format_timestamp(published_at), + }) + } + + #[instrument(skip(self), fields(operation_id = %operation_id.as_str()))] + pub async fn archive_operation( + &self, + workspace_id: &WorkspaceId, + operation_id: &OperationId, + ) -> Result { + let summary = self.get_operation(workspace_id, operation_id).await?; + let updated_at = OffsetDateTime::now_utc(); + self.registry + .archive_operation(workspace_id, operation_id, &updated_at) + .await?; + + Ok(OperationMutationResult { + operation_id: operation_id.as_str().to_owned(), + workspace_id: workspace_id.as_str().to_owned(), + version: summary.current_draft_version, + status: OperationStatus::Archived, + updated_at: format_timestamp(updated_at), + }) + } + + #[instrument(skip(self), fields(operation_id = %operation_id.as_str()))] + pub async fn delete_operation( + &self, + workspace_id: &WorkspaceId, + operation_id: &OperationId, + ) -> Result { + let summary = self.get_operation(workspace_id, operation_id).await?; + let updated_at = now_string()?; + self.registry + .delete_operation(workspace_id, operation_id) + .await?; + + Ok(OperationMutationResult { + operation_id: operation_id.as_str().to_owned(), + workspace_id: workspace_id.as_str().to_owned(), + version: summary.current_draft_version, + status: summary.status, + updated_at, + }) + } + + #[instrument(skip(self, payload), fields(operation_id = %operation_id.as_str(), version = payload.version))] + pub async fn run_test( + &self, + workspace_id: &WorkspaceId, + operation_id: &OperationId, + payload: TestRunPayload, + request_id: &str, + ) -> Result { + let runtime_request_context = RuntimeRequestContext::from_request_id(request_id) + .with_metering_context(workspace_id.clone(), None, InvocationSource::AdminTestRun); + let record = self + .get_operation_version(workspace_id, operation_id, payload.version) + .await?; + let runtime = RuntimeOperation::from(record.snapshot.clone()); + let mode = runtime + .execution_config + .streaming + .as_ref() + .map(|streaming| streaming.mode) + .unwrap_or(ExecutionMode::Unary); + let request_preview = + match build_request_preview(&record.snapshot.input_mapping, &payload.input) { + Ok(preview) => preview, + Err(error) => { + self.record_invocation(InvocationRecordRequest { + workspace_id, + agent_id: None, + operation: &record.snapshot, + request_id: Some(request_id), + source: InvocationSource::AdminTestRun, + level: InvocationLevel::Error, + status: InvocationStatus::Error, + message: "mapping preview failed".to_owned(), + status_code: None, + error_kind: Some("mapping".to_owned()), + duration_ms: 0, + request_preview: Value::Null, + response_preview: Value::Null, + }) + .await?; + return Ok(TestRunResult { + ok: false, + mode, + request_preview: Value::Null, + response_preview: Value::Null, + errors: vec![crate::error::runtime_test_failure(&RuntimeError::Mapping( + error, + ))], + window: None, + stream_session: None, + async_job: None, + }); + } + }; + + let resolved_auth = self + .resolve_operation_auth(workspace_id, &runtime.execution_config) + .await; + let started_at = std::time::Instant::now(); + match match resolved_auth { + Ok(resolved_auth) => match mode { + ExecutionMode::Unary => self + .runtime + .execute_with_auth_and_context( + &runtime, + &payload.input, + resolved_auth.as_ref(), + Some(&runtime_request_context), + ) + .await + .map(|output| TestRunOutcome::Unary { output }), + ExecutionMode::Window => self + .runtime + .execute_window_with_auth_and_context( + &runtime, + &payload.input, + resolved_auth.as_ref(), + Some(&runtime_request_context), + ) + .await + .map(|output| TestRunOutcome::Window { output }), + ExecutionMode::Session => self + .start_stream_session_test( + workspace_id, + &record.snapshot, + &runtime, + &payload.input, + resolved_auth.as_ref(), + &runtime_request_context, + ) + .await + .map(|output| TestRunOutcome::Session { output }), + ExecutionMode::AsyncJob => self + .start_async_job_test( + workspace_id, + &record.snapshot, + &runtime, + &payload.input, + &runtime_request_context, + ) + .await + .map(|output| TestRunOutcome::AsyncJob { output }), + }, + Err(error) => Err(error), + } { + Ok(outcome) => { + let duration_ms = + u64::try_from(started_at.elapsed().as_millis()).unwrap_or(u64::MAX); + let (message, response_preview, window, stream_session, async_job) = + outcome.into_result_views(); + self.record_invocation(InvocationRecordRequest { + workspace_id, + agent_id: None, + operation: &record.snapshot, + request_id: Some(request_id), + source: InvocationSource::AdminTestRun, + level: InvocationLevel::Info, + status: InvocationStatus::Ok, + message: message.to_owned(), + status_code: None, + error_kind: None, + duration_ms, + request_preview: request_preview.clone(), + response_preview: response_preview.clone(), + }) + .await?; + Ok(TestRunResult { + ok: true, + mode, + request_preview, + response_preview, + errors: Vec::new(), + window, + stream_session, + async_job, + }) + } + Err(error) => { + let duration_ms = + u64::try_from(started_at.elapsed().as_millis()).unwrap_or(u64::MAX); + self.record_invocation(InvocationRecordRequest { + workspace_id, + agent_id: None, + operation: &record.snapshot, + request_id: Some(request_id), + source: InvocationSource::AdminTestRun, + level: InvocationLevel::Error, + status: InvocationStatus::Error, + message: error.to_string(), + status_code: None, + error_kind: Some(runtime_error_code(&error).to_owned()), + duration_ms, + request_preview: request_preview.clone(), + response_preview: Value::Null, + }) + .await?; + Ok(TestRunResult { + ok: false, + mode, + request_preview, + response_preview: Value::Null, + errors: vec![crate::error::runtime_test_failure(&error)], + window: None, + stream_session: None, + async_job: None, + }) + } + } + } + + async fn resolve_operation_auth( + &self, + workspace_id: &WorkspaceId, + execution_config: &crank_core::ExecutionConfig, + ) -> Result, RuntimeError> { + let Some(auth_profile_id) = execution_config.auth_profile_ref.as_ref() else { + return Ok(None); + }; + + let auth_profile = self + .registry + .get_auth_profile(workspace_id, auth_profile_id) + .await + .map_err(|error| RuntimeError::SecretCrypto { + operation: "load auth profile", + details: error.to_string(), + })? + .ok_or_else(|| RuntimeError::MissingAuthProfile { + auth_profile_id: auth_profile_id.as_str().to_owned(), + })?; + + self.resolve_auth_profile(workspace_id, &auth_profile) + .await + .map(Some) + } + + async fn start_stream_session_test( + &self, + workspace_id: &WorkspaceId, + operation: &RegistryOperation, + runtime: &RuntimeOperation, + input: &Value, + resolved_auth: Option<&ResolvedAuth>, + request_context: &RuntimeRequestContext, + ) -> Result { + let streaming = runtime.execution_config.streaming.as_ref().ok_or_else(|| { + RuntimeError::MissingStreamingConfig { + operation_id: runtime.operation_id.as_str().to_owned(), + } + })?; + let seed = self + .runtime + .execute_session_seed_with_auth_and_context( + runtime, + input, + resolved_auth, + Some(request_context), + ) + .await?; + let batch_size = streaming.max_items.unwrap_or(10).max(1) as usize; + let preview_count = seed.items.len().min(batch_size); + let preview_items = seed.items[..preview_count].to_vec(); + let next_index = preview_count; + let created_at = OffsetDateTime::now_utc(); + let expires_at = created_at + .checked_add(time::Duration::milliseconds( + streaming.max_session_lifetime_ms.unwrap_or(60_000) as i64, + )) + .ok_or_else(|| RuntimeError::SecretCrypto { + operation: "compute stream session expiration", + details: "failed to compute stream session expiration".to_owned(), + })?; + let session = StreamSession { + id: crank_core::StreamSessionId::new(new_prefixed_id("sess")), + workspace_id: workspace_id.clone(), + agent_id: None, + operation_id: operation.id.clone(), + protocol: operation.protocol, + mode: ExecutionMode::Session, + status: StreamStatus::Running, + cursor: (next_index < seed.items.len()).then(|| json!(next_index)), + state: json!(StoredSessionState { + input: input.clone(), + summary: seed.summary.clone(), + items: seed.items.clone(), + next_index, + batch_size, + }), + expires_at, + last_poll_at: None, + created_at, + closed_at: None, + }; + self.registry + .create_stream_session(CreateStreamSessionRequest { session: &session }) + .await + .map_err(|error| RuntimeError::SecretCrypto { + operation: "persist stream session", + details: error.to_string(), + })?; + + Ok(StreamSessionStartView { + session_id: session.id.as_str().to_owned(), + status: session.status, + expires_at, + poll_after_ms: streaming.poll_interval_ms.unwrap_or(1_000), + preview: json!({ + "summary": seed.summary, + "items": preview_items, + }), + }) + } + + async fn start_async_job_test( + &self, + workspace_id: &WorkspaceId, + operation: &RegistryOperation, + runtime: &RuntimeOperation, + input: &Value, + request_context: &RuntimeRequestContext, + ) -> Result { + let created_at = OffsetDateTime::now_utc(); + let streaming = runtime.execution_config.streaming.as_ref().ok_or_else(|| { + RuntimeError::MissingStreamingConfig { + operation_id: runtime.operation_id.as_str().to_owned(), + } + })?; + let expires_at = created_at + .checked_add(time::Duration::milliseconds( + streaming.max_session_lifetime_ms.unwrap_or(300_000) as i64, + )) + .ok_or_else(|| RuntimeError::SecretCrypto { + operation: "compute async job expiration", + details: "failed to compute async job expiration".to_owned(), + })?; + let job = AsyncJobHandle { + id: crank_core::AsyncJobId::new(new_prefixed_id("job")), + workspace_id: workspace_id.clone(), + agent_id: None, + operation_id: operation.id.clone(), + status: JobStatus::Running, + progress: json!({ "pct": 0 }), + result: None, + error: None, + expires_at: Some(expires_at), + last_poll_at: None, + created_at, + updated_at: created_at, + finished_at: None, + }; + self.registry + .create_async_job(CreateAsyncJobRequest { job: &job }) + .await + .map_err(|error| RuntimeError::SecretCrypto { + operation: "persist async job", + details: error.to_string(), + })?; + + let registry = self.registry.clone(); + let secret_crypto = self.secret_crypto.clone(); + let runtime_for_task = self.runtime.clone(); + let workspace_for_task = workspace_id.clone(); + let operation_for_task = runtime.clone(); + let input_for_task = input.clone(); + let request_context_for_task = request_context.clone(); + let job_id = job.id.clone(); + tokio::spawn(async move { + let resolved_auth = resolve_runtime_auth_for_task( + ®istry, + &secret_crypto, + &workspace_for_task, + &operation_for_task.execution_config, + ) + .await; + let result = match resolved_auth { + Ok(resolved_auth) => { + runtime_for_task + .execute_with_auth_and_context( + &operation_for_task, + &input_for_task, + resolved_auth.as_ref(), + Some(&request_context_for_task), + ) + .await + } + Err(error) => Err(error), + }; + let finished_at = OffsetDateTime::now_utc(); + let _ = match result { + Ok(output) => { + registry + .update_async_job_status(UpdateAsyncJobStatusRequest { + job_id: &job_id, + current_status: JobStatus::Running, + next_status: JobStatus::Completed, + progress: &json!({ "pct": 100 }), + result: Some(&output), + error: None, + expires_at: None, + updated_at: &finished_at, + finished_at: Some(&finished_at), + }) + .await + } + Err(error) => { + registry + .update_async_job_status(UpdateAsyncJobStatusRequest { + job_id: &job_id, + current_status: JobStatus::Running, + next_status: JobStatus::Failed, + progress: &json!({ "pct": 100 }), + result: None, + error: Some(&json!({ + "code": runtime_error_code(&error), + "message": error.to_string(), + })), + expires_at: None, + updated_at: &finished_at, + finished_at: Some(&finished_at), + }) + .await + } + }; + }); + + Ok(AsyncJobStartView { + job_id: job.id.as_str().to_owned(), + status: job.status, + progress: job.progress, + }) + } + + async fn resolve_auth_profile( + &self, + workspace_id: &WorkspaceId, + auth_profile: &AuthProfile, + ) -> Result { + let mut secrets = BTreeMap::new(); + let used_at = OffsetDateTime::now_utc(); + + for secret_id in auth_profile.config.secret_ids() { + let secret = self + .registry + .get_secret(workspace_id, secret_id) + .await + .map_err(|error| RuntimeError::SecretCrypto { + operation: "load secret", + details: error.to_string(), + })? + .ok_or_else(|| RuntimeError::MissingSecret { + secret_id: secret_id.as_str().to_owned(), + })?; + let version = self + .registry + .get_current_secret_version(workspace_id, secret_id) + .await + .map_err(|error| RuntimeError::SecretCrypto { + operation: "load current secret version", + details: error.to_string(), + })? + .ok_or_else(|| RuntimeError::MissingSecretVersion { + secret_id: secret_id.as_str().to_owned(), + version: secret.secret.current_version, + })?; + let plaintext = self.secret_crypto.decrypt( + &version.secret_version.key_version, + &version.secret_version.ciphertext, + )?; + self.registry + .touch_secret(workspace_id, secret_id, &used_at) + .await + .map_err(|error| RuntimeError::SecretCrypto { + operation: "touch secret", + details: error.to_string(), + })?; + secrets.insert(secret_id.clone(), plaintext); + } + + ResolvedAuth::from_profile(auth_profile, &secrets) + } + + #[instrument(skip(self))] + pub async fn list_auth_profiles( + &self, + workspace_id: &WorkspaceId, + ) -> Result, ApiError> { + self.ensure_workspace_exists(workspace_id).await?; + Ok(self.registry.list_auth_profiles(workspace_id).await?) + } + + #[instrument(skip(self))] + pub async fn list_secrets(&self, workspace_id: &WorkspaceId) -> Result, ApiError> { + self.ensure_workspace_exists(workspace_id).await?; + Ok(self + .registry + .list_secrets(workspace_id) + .await? + .into_iter() + .map(|record| record.secret) + .collect()) + } + + #[instrument(skip(self))] + pub async fn get_secret( + &self, + workspace_id: &WorkspaceId, + secret_id: &SecretId, + ) -> Result { + self.ensure_workspace_exists(workspace_id).await?; + self.registry + .get_secret(workspace_id, secret_id) + .await? + .map(|record| record.secret) + .ok_or_else(|| { + ApiError::not_found_with_context( + format!("secret {} was not found", secret_id.as_str()), + json!({ "secret_id": secret_id.as_str() }), + ) + }) + } + + #[instrument(skip(self, payload), fields(workspace_id = %workspace_id.as_str(), secret_name = %payload.name))] + pub async fn create_secret( + &self, + workspace_id: &WorkspaceId, + created_by: Option<&UserId>, + payload: SecretPayload, + ) -> Result { + self.ensure_workspace_exists(workspace_id).await?; + validate_secret_payload(&payload)?; + + let now = OffsetDateTime::now_utc(); + let secret = Secret { + id: SecretId::new(new_prefixed_id("secret")), + workspace_id: workspace_id.clone(), + name: payload.name.trim().to_owned(), + kind: payload.kind, + status: SecretStatus::Active, + current_version: 1, + created_at: now, + updated_at: now, + last_used_at: None, + }; + let ciphertext = self + .secret_crypto + .encrypt(&payload.value) + .map_err(|error| ApiError::internal(error.to_string()))?; + + self.registry + .create_secret(CreateSecretRequest { + secret: &secret, + ciphertext: &ciphertext, + key_version: self.secret_crypto.key_version(), + created_by, + }) + .await?; + info!(secret_id = %secret.id.as_str(), "secret created"); + + Ok(secret) + } + + #[instrument(skip(self, payload), fields(workspace_id = %workspace_id.as_str(), secret_id = %secret_id.as_str()))] + pub async fn rotate_secret( + &self, + workspace_id: &WorkspaceId, + secret_id: &SecretId, + created_by: Option<&UserId>, + payload: RotateSecretPayload, + ) -> Result { + self.ensure_workspace_exists(workspace_id).await?; + if payload.value.is_null() { + return Err(ApiError::validation("secret value must not be null")); + } + + let now = OffsetDateTime::now_utc(); + let ciphertext = self + .secret_crypto + .encrypt(&payload.value) + .map_err(|error| ApiError::internal(error.to_string()))?; + self.registry + .rotate_secret(RotateSecretRequest { + workspace_id, + secret_id, + ciphertext: &ciphertext, + key_version: self.secret_crypto.key_version(), + created_at: &now, + updated_at: &now, + created_by, + }) + .await?; + info!(secret_id = %secret_id.as_str(), "secret rotated"); + + self.get_secret(workspace_id, secret_id).await + } + + #[instrument(skip(self), fields(workspace_id = %workspace_id.as_str(), secret_id = %secret_id.as_str()))] + pub async fn delete_secret( + &self, + workspace_id: &WorkspaceId, + secret_id: &SecretId, + ) -> Result<(), ApiError> { + self.ensure_workspace_exists(workspace_id).await?; + if let Some(profile) = self + .registry + .list_auth_profiles_referencing_secret(workspace_id, secret_id) + .await? + .into_iter() + .next() + { + return Err(RegistryError::SecretReferencedByAuthProfile { + secret_id: secret_id.as_str().to_owned(), + auth_profile_id: profile.id.as_str().to_owned(), + } + .into()); + } + self.registry.delete_secret(workspace_id, secret_id).await?; + info!(secret_id = %secret_id.as_str(), "secret deleted"); + Ok(()) + } + + #[instrument(skip(self))] + pub async fn list_agents( + &self, + workspace_id: &WorkspaceId, + ) -> Result, ApiError> { + self.ensure_workspace_exists(workspace_id).await?; + let workspace = self.get_workspace(workspace_id).await?; + let summaries = self.registry.list_agents(workspace_id).await?; + let usage = self + .registry + .list_usage_by_agent(UsageQuery { + workspace_id, + period: UsagePeriod::Last24Hours, + source: None, + created_after: &today_start_utc()?, + bucket: crank_registry::UsageBucket::Hour, + }) + .await?; + let calls_today = usage + .into_iter() + .map(|item| (item.agent_id.as_str().to_owned(), item.calls_total)) + .collect::>(); + let key_counts = self + .registry + .list_platform_api_keys(workspace_id) + .await? + .into_iter() + .fold(BTreeMap::new(), |mut counts, record| { + if let Some(agent_id) = record.api_key.agent_id { + *counts.entry(agent_id.as_str().to_owned()).or_insert(0usize) += 1; + } + counts + }); + + let mut items = Vec::with_capacity(summaries.len()); + for summary in summaries { + let version = self + .get_agent_version(workspace_id, &summary.id, summary.current_draft_version) + .await?; + let operation_ids = version + .bindings + .iter() + .map(|binding| binding.operation_id.as_str().to_owned()) + .collect::>(); + items.push(AgentSummaryView { + operation_count: operation_ids.len(), + operation_ids, + key_count: key_counts.get(summary.id.as_str()).copied().unwrap_or(0), + calls_today: calls_today.get(summary.id.as_str()).copied().unwrap_or(0), + mcp_endpoint: agent_mcp_endpoint( + workspace.workspace.slug.as_str(), + summary.slug.as_str(), + ), + ..map_agent_summary_view(summary) + }); + } + + Ok(items) + } + + #[instrument(skip(self))] + pub async fn get_agent( + &self, + workspace_id: &WorkspaceId, + agent_id: &AgentId, + ) -> Result { + self.ensure_workspace_exists(workspace_id).await?; + let workspace = self.get_workspace(workspace_id).await?; + let summary = self + .registry + .get_agent_summary(workspace_id, agent_id) + .await? + .ok_or_else(|| { + ApiError::not_found_with_context( + format!("agent {} was not found", agent_id.as_str()), + json!({ "agent_id": agent_id.as_str() }), + ) + })?; + let version = self + .get_agent_version(workspace_id, agent_id, summary.current_draft_version) + .await?; + let operation_ids = version + .bindings + .iter() + .map(|binding| binding.operation_id.as_str().to_owned()) + .collect::>(); + let usage = self + .registry + .get_usage_for_agent( + UsageQuery { + workspace_id, + period: UsagePeriod::Last24Hours, + source: None, + created_after: &today_start_utc()?, + bucket: crank_registry::UsageBucket::Hour, + }, + agent_id, + ) + .await?; + let key_count = self + .registry + .list_platform_api_keys_for_agent(workspace_id, agent_id) + .await? + .len(); + + Ok(AgentSummaryView { + operation_count: operation_ids.len(), + operation_ids, + key_count, + calls_today: usage.map(|item| item.rollup.calls_total).unwrap_or(0), + mcp_endpoint: agent_mcp_endpoint( + workspace.workspace.slug.as_str(), + summary.slug.as_str(), + ), + ..map_agent_summary_view(summary) + }) + } + + #[instrument(skip(self))] + pub async fn get_agent_version( + &self, + workspace_id: &WorkspaceId, + agent_id: &AgentId, + version: u32, + ) -> Result { + self.registry + .get_agent_version(workspace_id, agent_id, version) + .await? + .ok_or_else(|| { + ApiError::not_found_with_context( + format!( + "agent version {version} for {} was not found", + agent_id.as_str() + ), + json!({ + "agent_id": agent_id.as_str(), + "version": version, + }), + ) + }) + } + + #[instrument(skip(self, payload), fields(workspace_id = %workspace_id.as_str(), agent_slug = %payload.slug))] + pub async fn create_agent( + &self, + workspace_id: &WorkspaceId, + payload: AgentPayload, + ) -> Result { + self.ensure_workspace_exists(workspace_id).await?; + + if self + .find_agent_by_slug(workspace_id, &payload.slug) + .await? + .is_some() + { + return Err(ApiError::conflict_with_context( + format!("agent with slug {} already exists", payload.slug), + json!({ "slug": payload.slug }), + )); + } + + let now = OffsetDateTime::now_utc(); + let agent_id = AgentId::new(new_prefixed_id("agent")); + let agent = Agent { + id: agent_id.clone(), + workspace_id: workspace_id.clone(), + slug: payload.slug, + display_name: payload.display_name, + description: payload.description, + status: AgentStatus::Draft, + current_draft_version: 1, + latest_published_version: None, + created_at: now, + updated_at: now, + published_at: None, + }; + let version = AgentVersion { + agent_id: agent_id.clone(), + version: 1, + status: AgentStatus::Draft, + instructions: payload.instructions, + tool_selection_policy: payload.tool_selection_policy, + created_at: now, + }; + + self.registry + .create_agent(CreateAgentRequest { + agent: &agent, + version: &version, + bindings: &[], + }) + .await?; + info!(agent_id = %agent_id.as_str(), version = 1, "agent created"); + + Ok(CreatedAgentResponse { + agent_id: agent_id.as_str().to_owned(), + workspace_id: workspace_id.as_str().to_owned(), + version: 1, + status: AgentStatus::Draft, + }) + } + + #[instrument(skip(self, payload), fields(workspace_id = %workspace_id.as_str(), agent_id = %agent_id.as_str()))] + pub async fn update_agent( + &self, + workspace_id: &WorkspaceId, + agent_id: &AgentId, + payload: UpdateAgentPayload, + ) -> Result { + let existing = self + .registry + .get_agent_summary(workspace_id, agent_id) + .await? + .ok_or_else(|| { + ApiError::not_found_with_context( + format!("agent {} was not found", agent_id.as_str()), + json!({ "agent_id": agent_id.as_str() }), + ) + })?; + + if payload.slug != existing.slug + && self + .find_agent_by_slug(workspace_id, &payload.slug) + .await? + .is_some() + { + return Err(ApiError::conflict_with_context( + format!("agent with slug {} already exists", payload.slug), + json!({ "slug": payload.slug }), + )); + } + + let updated_at = OffsetDateTime::now_utc(); + self.registry + .update_agent_summary( + workspace_id, + agent_id, + &payload.slug, + &payload.display_name, + &payload.description, + &updated_at, + ) + .await?; + + Ok(AgentMutationResult { + agent_id: agent_id.as_str().to_owned(), + workspace_id: workspace_id.as_str().to_owned(), + updated_at: format_timestamp(updated_at), + }) + } + + #[instrument(skip(self), fields(workspace_id = %workspace_id.as_str(), agent_id = %agent_id.as_str()))] + pub async fn delete_agent( + &self, + workspace_id: &WorkspaceId, + agent_id: &AgentId, + ) -> Result { + let existing = self + .registry + .get_agent_summary(workspace_id, agent_id) + .await? + .ok_or_else(|| { + ApiError::not_found_with_context( + format!("agent {} was not found", agent_id.as_str()), + json!({ "agent_id": agent_id.as_str() }), + ) + })?; + + self.registry.delete_agent(workspace_id, agent_id).await?; + + Ok(AgentMutationResult { + agent_id: agent_id.as_str().to_owned(), + workspace_id: workspace_id.as_str().to_owned(), + updated_at: format_timestamp(existing.updated_at), + }) + } + + #[instrument(skip(self, payload), fields(workspace_id = %workspace_id.as_str(), agent_id = %agent_id.as_str()))] + pub async fn save_agent_bindings( + &self, + workspace_id: &WorkspaceId, + agent_id: &AgentId, + payload: Vec, + ) -> Result { + let agent = self.get_agent(workspace_id, agent_id).await?; + let bindings = payload + .into_iter() + .map(|binding| AgentOperationBinding { + operation_id: OperationId::new(binding.operation_id), + operation_version: binding.operation_version, + tool_name: binding.tool_name, + tool_title: binding.tool_title, + tool_description_override: binding.tool_description_override, + enabled: binding.enabled, + }) + .collect::>(); + + self.registry + .save_agent_bindings(SaveAgentBindingsRequest { + workspace_id, + agent_id, + agent_version: agent.current_draft_version, + bindings: &bindings, + }) + .await?; + info!( + agent_id = %agent_id.as_str(), + version = agent.current_draft_version, + binding_count = bindings.len(), + "agent bindings saved" + ); + + self.get_agent_version(workspace_id, agent_id, agent.current_draft_version) + .await + } + + #[instrument(skip(self), fields(workspace_id = %workspace_id.as_str(), agent_id = %agent_id.as_str(), version))] + pub async fn publish_agent( + &self, + workspace_id: &WorkspaceId, + agent_id: &AgentId, + version: u32, + ) -> Result { + let published_at = OffsetDateTime::now_utc(); + self.registry + .publish_agent(PublishAgentRequest { + workspace_id, + agent_id, + version, + published_at: &published_at, + published_by: None, + }) + .await?; + info!(agent_id = %agent_id.as_str(), version, "agent published"); + + Ok(PublishAgentResponse { + agent_id: agent_id.as_str().to_owned(), + workspace_id: workspace_id.as_str().to_owned(), + published_version: version, + published_at: format_timestamp(published_at), + }) + } + + #[instrument(skip(self), fields(workspace_id = %workspace_id.as_str(), agent_id = %agent_id.as_str()))] + pub async fn unpublish_agent( + &self, + workspace_id: &WorkspaceId, + agent_id: &AgentId, + ) -> Result { + self.ensure_workspace_exists(workspace_id).await?; + let updated_at = OffsetDateTime::now_utc(); + self.registry + .unpublish_agent(workspace_id, agent_id, &updated_at) + .await?; + info!(agent_id = %agent_id.as_str(), "agent moved to draft"); + + Ok(AgentMutationResult { + agent_id: agent_id.as_str().to_owned(), + workspace_id: workspace_id.as_str().to_owned(), + updated_at: format_timestamp(updated_at), + }) + } + + #[instrument(skip(self), fields(workspace_id = %workspace_id.as_str(), agent_id = %agent_id.as_str()))] + pub async fn archive_agent( + &self, + workspace_id: &WorkspaceId, + agent_id: &AgentId, + ) -> Result { + self.ensure_workspace_exists(workspace_id).await?; + let updated_at = OffsetDateTime::now_utc(); + self.registry + .archive_agent(workspace_id, agent_id, &updated_at) + .await?; + info!(agent_id = %agent_id.as_str(), "agent archived"); + + Ok(AgentMutationResult { + agent_id: agent_id.as_str().to_owned(), + workspace_id: workspace_id.as_str().to_owned(), + updated_at: format_timestamp(updated_at), + }) + } + + #[instrument(skip(self))] + pub async fn get_auth_profile( + &self, + workspace_id: &WorkspaceId, + auth_profile_id: &AuthProfileId, + ) -> Result { + self.registry + .get_auth_profile(workspace_id, auth_profile_id) + .await? + .ok_or_else(|| { + ApiError::not_found_with_context( + format!("auth profile {} was not found", auth_profile_id.as_str()), + json!({ "auth_profile_id": auth_profile_id.as_str() }), + ) + }) + } + + #[instrument(skip(self, payload), fields(auth_profile_name = %payload.name, auth_kind = ?payload.kind))] + pub async fn create_auth_profile( + &self, + workspace_id: &WorkspaceId, + payload: AuthProfilePayload, + ) -> Result { + validate_auth_profile_kind(payload.kind, &payload.config)?; + self.ensure_workspace_exists(workspace_id).await?; + self.validate_auth_profile_secret_ids(workspace_id, &payload.config) + .await?; + + let now = OffsetDateTime::now_utc(); + let profile = AuthProfile { + id: AuthProfileId::new(new_prefixed_id("auth")), + workspace_id: workspace_id.clone(), + name: payload.name, + kind: payload.kind, + config: payload.config, + created_at: now, + updated_at: now, + }; + + self.registry + .save_auth_profile(SaveAuthProfileRequest { + workspace_id, + profile: &profile, + }) + .await?; + info!(auth_profile_id = %profile.id.as_str(), "auth profile created"); + + Ok(profile) + } + + async fn validate_auth_profile_secret_ids( + &self, + workspace_id: &WorkspaceId, + config: &AuthConfig, + ) -> Result<(), ApiError> { + for secret_id in config.secret_ids() { + self.get_secret(workspace_id, secret_id).await?; + } + + Ok(()) + } + + #[instrument(skip(self), fields(operation_id = %operation_id.as_str(), version = query.version.unwrap_or_default(), mode = ?query.mode))] + pub async fn export_operation( + &self, + workspace_id: &WorkspaceId, + operation_id: &OperationId, + query: ExportQuery, + ) -> Result { + let version = match query.version { + Some(version) => version, + None => { + self.get_operation(workspace_id, operation_id) + .await? + .current_draft_version + } + }; + let record = self + .get_operation_version(workspace_id, operation_id, version) + .await?; + let document = YamlOperationDocument { + format_version: "1".to_owned(), + kind: "operation".to_owned(), + operation: RegistryOperation { + config_export: Some(ConfigExport { + format_version: "1".to_owned(), + export_mode: query.mode, + }), + ..record.snapshot + }, + }; + + serde_yaml::to_string(&document).map_err(|error| ApiError::internal(error.to_string())) + } + + #[instrument(skip(self, yaml_document), fields(mode = ?query.mode))] + pub async fn import_operation( + &self, + workspace_id: &WorkspaceId, + query: ImportQuery, + yaml_document: &str, + ) -> Result { + let document: YamlOperationDocument = serde_yaml::from_str(yaml_document) + .map_err(|error| ApiError::validation(error.to_string()))?; + if document.kind != "operation" { + return Err(ApiError::validation("yaml kind must be operation")); + } + + let payload = OperationPayload { + name: document.operation.name.clone(), + display_name: document.operation.display_name.clone(), + category: document.operation.category.clone(), + protocol: document.operation.protocol, + security_level: document.operation.security_level, + target: document.operation.target.clone(), + input_schema: document.operation.input_schema.clone(), + output_schema: document.operation.output_schema.clone(), + input_mapping: document.operation.input_mapping.clone(), + output_mapping: document.operation.output_mapping.clone(), + execution_config: document.operation.execution_config.clone(), + tool_description: document.operation.tool_description.clone(), + }; + + match query.mode { + ImportMode::Create => { + let created = self.create_operation(workspace_id, payload).await?; + Ok(ImportResponse { + operation_id: created.operation_id, + workspace_id: created.workspace_id, + version: created.version, + import_mode: ImportMode::Create, + warnings: Vec::new(), + }) + } + ImportMode::Upsert => { + if let Some(existing) = self + .find_operation_by_name(workspace_id, &document.operation.name) + .await? + { + let created = self + .create_version( + workspace_id, + &existing.id, + NewVersionPayload { + operation: payload, + change_note: Some("yaml upsert".to_owned()), + }, + ) + .await?; + + let response = ImportResponse { + operation_id: created.operation_id, + workspace_id: created.workspace_id, + version: created.version, + import_mode: ImportMode::Upsert, + warnings: Vec::new(), + }; + info!( + operation_id = %response.operation_id, + version = response.version, + "operation imported by upsert" + ); + Ok(response) + } else { + let created = self.create_operation(workspace_id, payload).await?; + let response = ImportResponse { + operation_id: created.operation_id, + workspace_id: created.workspace_id, + version: created.version, + import_mode: ImportMode::Upsert, + warnings: Vec::new(), + }; + info!( + operation_id = %response.operation_id, + version = response.version, + "operation imported by upsert" + ); + Ok(response) + } + } + } + } + + #[instrument(skip(self, payload), fields(operation_id = %operation_id.as_str(), sample_kind = ?sample_kind))] + pub async fn save_json_sample( + &self, + workspace_id: &WorkspaceId, + operation_id: &OperationId, + sample_kind: SampleKind, + payload: &Value, + ) -> Result { + let summary = self.get_operation(workspace_id, operation_id).await?; + let version = summary.current_draft_version; + let sample_id = SampleId::new(new_prefixed_id("sample")); + let now = OffsetDateTime::now_utc(); + let file_name = match sample_kind { + SampleKind::InputJson => "input.json", + SampleKind::OutputJson => "output.json", + SampleKind::YamlImportSource => "source.yaml", + }; + let storage_ref = self + .storage + .write_json_sample(operation_id, version, sample_kind, &sample_id, payload) + .await?; + let metadata = OperationSampleMetadata { + id: sample_id, + operation_id: operation_id.clone(), + version, + sample_kind, + storage_ref, + content_type: "application/json".to_owned(), + file_name: Some(file_name.to_owned()), + created_at: now, + }; + + self.registry + .save_sample_metadata(SaveSampleMetadataRequest { sample: &metadata }) + .await?; + info!( + operation_id = %operation_id.as_str(), + sample_id = %metadata.id.as_str(), + version, + "json sample saved" + ); + + Ok(metadata) + } + + #[instrument(skip(self, payload), fields(operation_id = %operation_id.as_str()))] + pub async fn generate_draft( + &self, + workspace_id: &WorkspaceId, + operation_id: &OperationId, + payload: GenerateDraftPayload, + ) -> Result { + let summary = self.get_operation(workspace_id, operation_id).await?; + let samples = self + .registry + .list_sample_metadata(operation_id, summary.current_draft_version) + .await?; + + let input_sample = latest_sample_ref(&samples, SampleKind::InputJson) + .ok_or_else(|| ApiError::validation("input_json sample was not found"))?; + let output_sample = latest_sample_ref(&samples, SampleKind::OutputJson) + .ok_or_else(|| ApiError::validation("output_json sample was not found"))?; + let input_value = self.storage.read_json(&input_sample.storage_ref).await?; + let output_value = self.storage.read_json(&output_sample.storage_ref).await?; + + let input_schema = Schema::from_json_sample(&input_value); + let output_schema = Schema::from_json_sample(&output_value); + let input_mapping = infer_mapping_from_samples( + &input_value, + JsonPathRoot::Mcp, + &input_value, + JsonPathRoot::RequestBody, + ); + let output_mapping = infer_mapping_from_samples( + &output_value, + JsonPathRoot::ResponseBody, + &output_value, + JsonPathRoot::Output, + ); + let source_types = if payload.sources.is_empty() { + vec![ + "input_json_sample".to_owned(), + "output_json_sample".to_owned(), + ] + } else { + payload.sources + }; + let generated_draft = GeneratedDraft { + status: GeneratedDraftStatus::Available, + source_types, + generated_at: Some(now_string()?), + input_schema_generated: true, + output_schema_generated: true, + input_mapping_generated: true, + output_mapping_generated: true, + warnings: Vec::new(), + }; + + let result = DraftGenerationResult { + generated_draft, + input_schema, + output_schema, + input_mapping, + output_mapping, + }; + info!(operation_id = %operation_id.as_str(), "draft generated from samples"); + + Ok(result) + } + + fn validate_operation_payload(&self, payload: &OperationPayload) -> Result<(), ApiError> { + self.validate_operation_capabilities(payload.protocol, payload.security_level)?; + validate_protocol_target(payload.protocol, &payload.target)?; + validate_streaming_policy(&payload.execution_config)?; + validate_response_cache_policy(&payload.target, &payload.execution_config)?; + payload.input_mapping.validate_paths()?; + payload.output_mapping.validate_paths()?; + Ok(()) + } + + fn validate_registry_operation(&self, operation: &RegistryOperation) -> Result<(), ApiError> { + self.validate_operation_capabilities(operation.protocol, operation.security_level)?; + validate_protocol_target(operation.protocol, &operation.target)?; + validate_streaming_policy(&operation.execution_config)?; + validate_response_cache_policy(&operation.target, &operation.execution_config)?; + operation.input_mapping.validate_paths()?; + operation.output_mapping.validate_paths()?; + Ok(()) + } + + fn validate_operation_capabilities( + &self, + protocol: Protocol, + security_level: OperationSecurityLevel, + ) -> Result<(), ApiError> { + let supported_protocols = [Protocol::Rest]; + if !supported_protocols.contains(&protocol) { + return Err(ApiError::validation_with_context( + format!( + "protocol {} is not supported in Community", + serde_json::to_string(&protocol) + .unwrap_or_else(|_| "\"unknown\"".to_owned()) + .trim_matches('"') + ), + json!({ + "protocol": protocol, + "edition": "community", + }), + )); + } + + if security_level != OperationSecurityLevel::Standard { + return Err(ApiError::validation_with_context( + format!( + "security level {} is not supported in Community", + serde_json::to_string(&security_level) + .unwrap_or_else(|_| "\"unknown\"".to_owned()) + .trim_matches('"') + ), + json!({ + "security_level": security_level, + "edition": "community", + }), + )); + } + + Ok(()) + } + + async fn find_operation_by_name( + &self, + workspace_id: &WorkspaceId, + name: &str, + ) -> Result, ApiError> { + Ok(self + .registry + .list_operations(workspace_id) + .await? + .into_iter() + .find(|operation| operation.name == name)) + } + + async fn find_agent_by_slug( + &self, + workspace_id: &WorkspaceId, + slug: &str, + ) -> Result, ApiError> { + Ok(self + .registry + .list_agents(workspace_id) + .await? + .into_iter() + .find(|agent| agent.slug == slug)) + } + + async fn ensure_workspace_exists(&self, workspace_id: &WorkspaceId) -> Result<(), ApiError> { + self.get_workspace(workspace_id).await.map(|_| ()) + } + + async fn seed_default_workspace_demo( + &self, + owner_user_id: &crank_core::UserId, + workspace_id: &WorkspaceId, + ) -> Result<(), ApiError> { + let ops_admin_id = self + .ensure_demo_user("ops-manager@crank.demo", "Ops Manager") + .await?; + let analyst_id = self + .ensure_demo_user("analyst@crank.demo", "Revenue Analyst") + .await?; + let contractor_id = self + .ensure_demo_user("contractor@crank.demo", "Delivery Contractor") + .await?; + + self.registry + .ensure_membership(workspace_id, owner_user_id, MembershipRole::Owner) + .await?; + self.registry + .ensure_membership(workspace_id, &ops_admin_id, MembershipRole::Admin) + .await?; + self.registry + .ensure_membership(workspace_id, &analyst_id, MembershipRole::Operator) + .await?; + self.registry + .ensure_membership(workspace_id, &contractor_id, MembershipRole::Viewer) + .await?; + + self.ensure_demo_invitation( + workspace_id, + InvitationPayload { + email: "partner@crank.demo".to_owned(), + role: MembershipRole::Viewer, + expires_at: None, + }, + ) + .await?; + self.ensure_demo_invitation( + workspace_id, + InvitationPayload { + email: "automation@crank.demo".to_owned(), + role: MembershipRole::Operator, + expires_at: None, + }, + ) + .await?; + + let rest_operation = self + .ensure_demo_operation(workspace_id, demo_rest_operation_payload()) + .await?; + self.ensure_operation_published(workspace_id, &rest_operation) + .await?; + self.ensure_demo_json_samples( + workspace_id, + &rest_operation.id, + &demo_rest_input_sample(), + &demo_rest_output_sample(), + ) + .await?; + + let archived_operation = self + .ensure_demo_operation(workspace_id, demo_archived_operation_payload()) + .await?; + self.ensure_operation_archived(workspace_id, &archived_operation) + .await?; + + let revops_agent = self + .ensure_demo_agent(workspace_id, demo_revops_agent_payload()) + .await?; + self.ensure_demo_agent_bindings( + workspace_id, + &AgentId::new(revops_agent.id.clone()), + vec![AgentBindingPayload { + operation_id: rest_operation.id.as_str().to_owned(), + operation_version: rest_operation.current_draft_version, + tool_name: "create_crm_lead".to_owned(), + tool_title: "Create CRM Lead".to_owned(), + tool_description_override: Some( + "Create a new CRM lead in the revenue workspace.".to_owned(), + ), + enabled: true, + }], + true, + ) + .await?; + + self.ensure_demo_platform_api_key( + workspace_id, + &AgentId::new(revops_agent.id.clone()), + "Web Console Demo Key", + vec![PlatformApiKeyScope::Read, PlatformApiKeyScope::Write], + false, + ) + .await?; + + self.seed_demo_invocation_logs( + workspace_id, + &AgentId::new(revops_agent.id), + &rest_operation.id, + ) + .await?; + + Ok(()) + } + + async fn seed_growth_workspace_demo( + &self, + owner_user_id: &crank_core::UserId, + ) -> Result<(), ApiError> { + let workspace = self + .ensure_demo_workspace( + owner_user_id, + WorkspacePayload { + slug: "growth-lab".to_owned(), + display_name: "Growth Lab".to_owned(), + settings: json!({ + "tier": "demo", + "region": "eu-central", + "notes": "Secondary workspace for workspace switch testing" + }), + }, + ) + .await?; + let workspace_id = workspace.workspace.id; + + let growth_pm_id = self + .ensure_demo_user("growth.pm@crank.demo", "Growth PM") + .await?; + self.registry + .ensure_membership(&workspace_id, owner_user_id, MembershipRole::Owner) + .await?; + self.registry + .ensure_membership(&workspace_id, &growth_pm_id, MembershipRole::Admin) + .await?; + + self.ensure_demo_invitation( + &workspace_id, + InvitationPayload { + email: "agency@crank.demo".to_owned(), + role: MembershipRole::Viewer, + expires_at: None, + }, + ) + .await?; + Ok(()) + } + + async fn ensure_demo_workspace( + &self, + owner_user_id: &crank_core::UserId, + payload: WorkspacePayload, + ) -> Result { + if let Some(existing) = self + .registry + .list_workspaces_for_user(owner_user_id) + .await? + .into_iter() + .find(|record| record.workspace.slug == payload.slug) + { + return Ok(WorkspaceRecord { + workspace: existing.workspace, + }); + } + + self.create_workspace(owner_user_id, payload).await + } + + async fn ensure_demo_user( + &self, + email: &str, + display_name: &str, + ) -> Result { + let password_hash = hash_password(DEMO_USER_PASSWORD, &self.auth_settings.password_pepper)?; + self.registry + .upsert_bootstrap_user(email, display_name, &password_hash) + .await + .map_err(ApiError::from) + } + + async fn ensure_demo_invitation( + &self, + workspace_id: &WorkspaceId, + payload: InvitationPayload, + ) -> Result<(), ApiError> { + if self + .list_invitations(workspace_id) + .await? + .iter() + .any(|record| record.invitation.email == payload.email) + { + return Ok(()); + } + + self.create_invitation(workspace_id, payload).await?; + Ok(()) + } + + async fn ensure_demo_platform_api_key( + &self, + workspace_id: &WorkspaceId, + agent_id: &AgentId, + name: &str, + scopes: Vec, + revoke: bool, + ) -> Result<(), ApiError> { + let existing = self + .list_agent_platform_api_keys(workspace_id, agent_id) + .await? + .into_iter() + .find(|record| record.api_key.name == name); + let key = match existing { + Some(record) => record, + None => { + self.create_agent_platform_api_key( + workspace_id, + agent_id, + PlatformApiKeyPayload { + name: name.to_owned(), + scopes, + }, + ) + .await? + .api_key + } + }; + + if revoke && key.api_key.status != PlatformApiKeyStatus::Revoked { + self.revoke_agent_platform_api_key(workspace_id, agent_id, &key.api_key.id) + .await?; + } + + Ok(()) + } + + async fn ensure_demo_operation( + &self, + workspace_id: &WorkspaceId, + payload: OperationPayload, + ) -> Result { + if let Some(existing) = self + .find_operation_by_name(workspace_id, &payload.name) + .await? + { + return Ok(existing); + } + + let operation_name = payload.name.clone(); + self.create_operation(workspace_id, payload).await?; + self.find_operation_by_name(workspace_id, &operation_name) + .await? + .ok_or_else(|| ApiError::internal("demo operation was created but not found")) + } + + async fn ensure_operation_published( + &self, + workspace_id: &WorkspaceId, + summary: &OperationSummary, + ) -> Result<(), ApiError> { + if summary.latest_published_version.is_some() { + return Ok(()); + } + + self.publish_operation(workspace_id, &summary.id, summary.current_draft_version) + .await?; + Ok(()) + } + + async fn ensure_operation_archived( + &self, + workspace_id: &WorkspaceId, + summary: &OperationSummary, + ) -> Result<(), ApiError> { + if summary.status == OperationStatus::Archived { + return Ok(()); + } + + self.archive_operation(workspace_id, &summary.id).await?; + Ok(()) + } + + async fn ensure_demo_json_samples( + &self, + workspace_id: &WorkspaceId, + operation_id: &OperationId, + input: &Value, + output: &Value, + ) -> Result<(), ApiError> { + let summary = self.get_operation(workspace_id, operation_id).await?; + let samples = self + .registry + .list_sample_metadata(operation_id, summary.current_draft_version) + .await?; + + if !samples + .iter() + .any(|sample| sample.sample_kind == SampleKind::InputJson) + { + self.save_json_sample(workspace_id, operation_id, SampleKind::InputJson, input) + .await?; + } + + if !samples + .iter() + .any(|sample| sample.sample_kind == SampleKind::OutputJson) + { + self.save_json_sample(workspace_id, operation_id, SampleKind::OutputJson, output) + .await?; + } + + Ok(()) + } + + async fn ensure_demo_agent( + &self, + workspace_id: &WorkspaceId, + payload: AgentPayload, + ) -> Result { + let summary = + if let Some(existing) = self.find_agent_by_slug(workspace_id, &payload.slug).await? { + existing + } else { + self.create_agent(workspace_id, payload.clone()).await?; + self.find_agent_by_slug(workspace_id, &payload.slug) + .await? + .ok_or_else(|| ApiError::internal("demo agent was created but not found"))? + }; + + self.get_agent(workspace_id, &summary.id).await + } + + async fn ensure_demo_agent_bindings( + &self, + workspace_id: &WorkspaceId, + agent_id: &AgentId, + bindings: Vec, + publish: bool, + ) -> Result<(), ApiError> { + let summary = self.get_agent(workspace_id, agent_id).await?; + self.save_agent_bindings(workspace_id, agent_id, bindings) + .await?; + if publish && summary.latest_published_version.is_none() { + self.publish_agent(workspace_id, agent_id, summary.current_draft_version) + .await?; + } + + Ok(()) + } + + async fn seed_demo_invocation_logs( + &self, + workspace_id: &WorkspaceId, + revops_agent_id: &AgentId, + rest_operation_id: &OperationId, + ) -> Result<(), ApiError> { + if !self + .registry + .list_invocation_logs(ListInvocationLogsQuery { + workspace_id, + level: None, + search_text: None, + source: None, + operation_id: None, + agent_id: None, + created_after: None, + limit: 1, + }) + .await? + .is_empty() + { + return Ok(()); + } + + let rest_operation = self + .get_operation_version( + workspace_id, + rest_operation_id, + self.get_operation(workspace_id, rest_operation_id) + .await? + .current_draft_version, + ) + .await?; + self.record_invocation(InvocationRecordRequest { + workspace_id, + agent_id: Some(revops_agent_id), + operation: &rest_operation.snapshot, + request_id: None, + source: InvocationSource::AgentToolCall, + level: InvocationLevel::Info, + status: InvocationStatus::Ok, + message: "lead created in CRM".to_owned(), + status_code: Some(201), + error_kind: None, + duration_ms: 182, + request_preview: json!({ + "path": {}, + "query": {}, + "headers": { "x-demo-source": "crank-seed" }, + "variables": null, + "grpc": null, + "body": demo_rest_request_sample() + }), + response_preview: demo_rest_response_sample(), + }) + .await?; + Ok(()) + } + + async fn record_invocation( + &self, + request: InvocationRecordRequest<'_>, + ) -> Result<(), ApiError> { + let log = InvocationLog { + id: InvocationLogId::new(new_prefixed_id("log")), + workspace_id: request.workspace_id.clone(), + agent_id: request.agent_id.cloned(), + operation_id: request.operation.id.clone(), + source: request.source, + level: request.level, + status: request.status, + tool_name: request.operation.name.clone(), + message: request.message, + request_id: request.request_id.map(ToOwned::to_owned), + status_code: request.status_code, + duration_ms: request.duration_ms, + error_kind: request.error_kind, + request_preview: request.request_preview, + response_preview: request.response_preview, + created_at: OffsetDateTime::now_utc(), + }; + + self.registry + .create_invocation_log(CreateInvocationLogRequest { log: &log }) + .await?; + + Ok(()) + } +} + +const DEMO_USER_PASSWORD: &str = "CrankDemoPass123!"; + +fn build_request_preview( + mapping: &MappingSet, + input: &Value, +) -> Result { + let mapped = mapping.apply(&json!({ "mcp": input }))?; + let prepared = PreparedRequest::from_mapping_output(&mapped).map_err(|error| { + crank_mapping::MappingError::InvalidJsonPath { + path: error.to_string(), + } + })?; + + Ok(json!({ + "path": prepared.path_params, + "query": prepared.query_params, + "headers": prepared.headers, + "grpc": prepared.grpc.unwrap_or(Value::Null), + "variables": prepared.variables.unwrap_or(Value::Null), + "body": prepared.body.unwrap_or(Value::Null) + })) +} + +fn validate_protocol_target(protocol: Protocol, target: &Target) -> Result<(), ApiError> { + let is_match = matches!( + (protocol, target), + (Protocol::Rest, Target::Rest(_)) + | (Protocol::Graphql, Target::Graphql(_)) + | (Protocol::Grpc, Target::Grpc(_)) + | (Protocol::Websocket, Target::Websocket(_)) + | (Protocol::Soap, Target::Soap(_)) + ); + + if is_match { + return Ok(()); + } + + Err(ApiError::validation("protocol and target kind must match")) +} + +fn validate_auth_profile_kind(kind: AuthKind, config: &AuthConfig) -> Result<(), ApiError> { + let is_match = matches!( + (kind, config), + (AuthKind::Bearer, AuthConfig::Bearer(_)) + | (AuthKind::Basic, AuthConfig::Basic(_)) + | (AuthKind::ApiKeyHeader, AuthConfig::ApiKeyHeader(_)) + | (AuthKind::ApiKeyQuery, AuthConfig::ApiKeyQuery(_)) + ); + + if is_match { + return Ok(()); + } + + Err(ApiError::validation("auth kind and config must match")) +} + +fn validate_secret_payload(payload: &SecretPayload) -> Result<(), ApiError> { + if payload.name.trim().is_empty() { + return Err(ApiError::validation("secret name must not be empty")); + } + + if payload.value.is_null() { + return Err(ApiError::validation("secret value must not be null")); + } + + Ok(()) +} + +fn latest_sample_ref( + samples: &[OperationSampleMetadata], + sample_kind: SampleKind, +) -> Option { + samples + .iter() + .rev() + .find(|sample| sample.sample_kind == sample_kind) + .cloned() +} + +fn default_export_mode() -> ExportMode { + ExportMode::Portable +} + +fn demo_revops_agent_payload() -> AgentPayload { + AgentPayload { + slug: "revops-copilot".to_owned(), + display_name: "RevOps Copilot".to_owned(), + description: "Revenue operations assistant with CRM and billing tools.".to_owned(), + instructions: json!({ + "system": "Prefer CRM mutations first, then billing lookups for confirmation." + }), + tool_selection_policy: json!({ + "max_tools": 8, + "prefer_tag": ["sales", "finance"] + }), + } +} + +fn demo_rest_operation_payload() -> OperationPayload { + let input = demo_rest_input_sample(); + let request = demo_rest_request_sample(); + let response = demo_rest_response_sample(); + let output = demo_rest_output_sample(); + + OperationPayload { + name: "crm_create_lead".to_owned(), + display_name: "Create CRM Lead".to_owned(), + category: "sales".to_owned(), + protocol: Protocol::Rest, + security_level: OperationSecurityLevel::Standard, + target: Target::Rest(crank_core::RestTarget { + base_url: "https://crm.demo.internal".to_owned(), + method: crank_core::HttpMethod::Post, + path_template: "/v1/leads".to_owned(), + static_headers: BTreeMap::from([("x-demo-source".to_owned(), "crank-seed".to_owned())]), + }), + input_schema: Schema::from_json_sample(&input), + output_schema: Schema::from_json_sample(&output), + input_mapping: infer_mapping_from_samples( + &input, + JsonPathRoot::Mcp, + &request, + JsonPathRoot::RequestBody, + ), + output_mapping: infer_mapping_from_samples( + &response, + JsonPathRoot::ResponseBody, + &output, + JsonPathRoot::Output, + ), + execution_config: crank_core::ExecutionConfig { + timeout_ms: 10_000, + retry_policy: None, + response_cache: None, + auth_profile_ref: None, + headers: BTreeMap::new(), + protocol_options: None, + streaming: None, + }, + tool_description: crank_core::ToolDescription { + title: "Create CRM Lead".to_owned(), + description: "Create a lead record in the CRM system.".to_owned(), + tags: vec!["sales".to_owned(), "crm".to_owned()], + examples: vec![crank_core::ToolExample { + input: json!({ + "email": "sarah.connor@example.com", + "company": "Cyberdyne" + }), + }], + }, + } +} + +fn demo_archived_operation_payload() -> OperationPayload { + let input = json!({ + "contactId": "contact_123", + "reason": "Duplicate profile" + }); + let request = json!({ + "contactId": "contact_123", + "reason": "Duplicate profile" + }); + let response = json!({ + "archived": true, + "contactId": "contact_123" + }); + + OperationPayload { + name: "marketing_archive_contact".to_owned(), + display_name: "Archive Marketing Contact".to_owned(), + category: "marketing".to_owned(), + protocol: Protocol::Rest, + security_level: OperationSecurityLevel::Standard, + target: Target::Rest(crank_core::RestTarget { + base_url: "https://marketing.demo.internal".to_owned(), + method: crank_core::HttpMethod::Patch, + path_template: "/v1/contacts/archive".to_owned(), + static_headers: BTreeMap::new(), + }), + input_schema: Schema::from_json_sample(&input), + output_schema: Schema::from_json_sample(&response), + input_mapping: infer_mapping_from_samples( + &input, + JsonPathRoot::Mcp, + &request, + JsonPathRoot::RequestBody, + ), + output_mapping: infer_mapping_from_samples( + &response, + JsonPathRoot::ResponseBody, + &response, + JsonPathRoot::Output, + ), + execution_config: crank_core::ExecutionConfig { + timeout_ms: 6_000, + retry_policy: None, + response_cache: None, + auth_profile_ref: None, + headers: BTreeMap::new(), + protocol_options: None, + streaming: None, + }, + tool_description: crank_core::ToolDescription { + title: "Archive Marketing Contact".to_owned(), + description: "Legacy archived flow kept for audit only.".to_owned(), + tags: vec!["marketing".to_owned()], + examples: Vec::new(), + }, + } +} + +fn demo_rest_input_sample() -> Value { + json!({ + "firstName": "Sarah", + "lastName": "Connor", + "email": "sarah.connor@example.com", + "company": "Cyberdyne", + "source": "website" + }) +} + +fn demo_rest_request_sample() -> Value { + demo_rest_input_sample() +} + +fn demo_rest_response_sample() -> Value { + json!({ + "id": "lead_1001", + "status": "created", + "owner": "revops" + }) +} + +fn demo_rest_output_sample() -> Value { + demo_rest_response_sample() +} + +fn default_enabled() -> bool { + true +} + +fn new_prefixed_id(prefix: &str) -> String { + format!("{prefix}_{}", Uuid::now_v7().simple()) +} + +fn generate_access_secret(prefix: &str) -> String { + let random = URL_SAFE_NO_PAD.encode(Uuid::now_v7().as_bytes()); + format!("{prefix}_{random}") +} + +fn hash_access_secret(secret: &str) -> String { + let digest = Sha256::digest(secret.as_bytes()); + URL_SAFE_NO_PAD.encode(digest) +} + +fn now_string() -> Result { + OffsetDateTime::now_utc() + .format(&Rfc3339) + .map_err(|error| ApiError::internal(error.to_string())) +} + +fn parse_timestamp(value: &str) -> Result { + OffsetDateTime::parse(value, &Rfc3339) + .map_err(|_| ApiError::validation("timestamp must be RFC 3339")) +} + +fn format_timestamp(timestamp: OffsetDateTime) -> String { + timestamp + .format(&Rfc3339) + .unwrap_or_else(|_| "1970-01-01T00:00:00Z".to_owned()) +} + +fn map_identity_error(error: IdentityError) -> ApiError { + match error { + IdentityError::BadCredentials => ApiError::unauthorized("invalid email or password"), + IdentityError::AccountDisabled => ApiError::forbidden("account is disabled"), + IdentityError::NotSupportedForProvider => ApiError::internal( + "password login is not supported by the configured identity provider", + ), + IdentityError::Internal(message) => ApiError::internal(message), + } +} + +async fn resolve_runtime_auth_for_task( + registry: &PostgresRegistry, + secret_crypto: &SecretCrypto, + workspace_id: &WorkspaceId, + execution_config: &crank_core::ExecutionConfig, +) -> Result, RuntimeError> { + let Some(auth_profile_id) = execution_config.auth_profile_ref.as_ref() else { + return Ok(None); + }; + + let auth_profile = registry + .get_auth_profile(workspace_id, auth_profile_id) + .await + .map_err(|error| RuntimeError::SecretCrypto { + operation: "load auth profile", + details: error.to_string(), + })? + .ok_or_else(|| RuntimeError::MissingAuthProfile { + auth_profile_id: auth_profile_id.as_str().to_owned(), + })?; + + let mut secrets = BTreeMap::new(); + let used_at = OffsetDateTime::now_utc(); + + for secret_id in auth_profile.config.secret_ids() { + let secret = registry + .get_secret(workspace_id, secret_id) + .await + .map_err(|error| RuntimeError::SecretCrypto { + operation: "load secret", + details: error.to_string(), + })? + .ok_or_else(|| RuntimeError::MissingSecret { + secret_id: secret_id.as_str().to_owned(), + })?; + let version = registry + .get_current_secret_version(workspace_id, secret_id) + .await + .map_err(|error| RuntimeError::SecretCrypto { + operation: "load current secret version", + details: error.to_string(), + })? + .ok_or_else(|| RuntimeError::MissingSecretVersion { + secret_id: secret_id.as_str().to_owned(), + version: secret.secret.current_version, + })?; + let plaintext = secret_crypto.decrypt( + &version.secret_version.key_version, + &version.secret_version.ciphertext, + )?; + registry + .touch_secret(workspace_id, secret_id, &used_at) + .await + .map_err(|error| RuntimeError::SecretCrypto { + operation: "touch secret", + details: error.to_string(), + })?; + secrets.insert(secret_id.clone(), plaintext); + } + + ResolvedAuth::from_profile(&auth_profile, &secrets).map(Some) +} + +fn default_invitation_expiry() -> Result { + OffsetDateTime::now_utc() + .checked_add(time::Duration::days(7)) + .ok_or_else(|| ApiError::internal("failed to compute invitation expiry")) +} + +fn runtime_error_code(error: &RuntimeError) -> &'static str { + match error { + RuntimeError::Schema(_) => "schema_error", + RuntimeError::Mapping(_) => "mapping_error", + RuntimeError::InvalidPreparedRequest { .. } => "invalid_request", + RuntimeError::GraphqlAdapter(_) => "graphql_error", + RuntimeError::GrpcAdapter(_) => "grpc_error", + RuntimeError::RestAdapter(_) => "rest_error", + RuntimeError::ProtocolAdapter(_) => "adapter_error", + RuntimeError::SoapAdapter(_) => "soap_error", + RuntimeError::WebsocketAdapter(_) => "websocket_error", + RuntimeError::UnsupportedProtocol { .. } => "unsupported_protocol", + RuntimeError::ConcurrencyLimitExceeded { .. } => "runtime_overloaded", + RuntimeError::MissingStreamingConfig { .. } => "streaming_config_error", + RuntimeError::UnsupportedExecutionMode { .. } => "streaming_mode_error", + RuntimeError::InvalidStreamingPayload { .. } => "streaming_payload_error", + RuntimeError::MissingAuthProfile { .. } => "auth_profile_not_found", + RuntimeError::MissingSecret { .. } | RuntimeError::MissingSecretVersion { .. } => { + "secret_not_found" + } + RuntimeError::InvalidAuthSecretValue { .. } => "secret_value_error", + RuntimeError::SecretCrypto { .. } => "secret_crypto_error", + } +} + +fn protocol_capability_view(protocol: Protocol, edition: ProductEdition) -> ProtocolCapabilityView { + let community_build = matches!(edition, ProductEdition::Community); + let supports_execution_modes = if community_build { + vec![ExecutionMode::Unary] + } else { + [ + ExecutionMode::Unary, + ExecutionMode::Window, + ExecutionMode::Session, + ExecutionMode::AsyncJob, + ] + .into_iter() + .filter(|mode| protocol.supports_execution_mode(*mode)) + .collect() + }; + let supports_transport_behaviors = if community_build { + vec![TransportBehavior::RequestResponse] + } else { + [ + TransportBehavior::RequestResponse, + TransportBehavior::ServerStream, + TransportBehavior::StatefulSession, + TransportBehavior::DeferredResult, + ] + .into_iter() + .filter(|behavior| protocol.supports_transport_behavior(*behavior)) + .collect() + }; + let supports_upload_artifacts = Vec::new(); + + ProtocolCapabilityView { + protocol, + supports_execution_modes, + supports_transport_behaviors, + supports_auth_kinds: vec![ + "none".to_owned(), + "bearer".to_owned(), + "basic".to_owned(), + "api_key_header".to_owned(), + "api_key_query".to_owned(), + ], + supports_upload_artifacts, + supports_cursor_path: !matches!(protocol, Protocol::Graphql), + supports_done_path: !matches!(protocol, Protocol::Graphql), + supports_aggregation_mode: vec![ + AggregationMode::RawItems, + AggregationMode::SummaryOnly, + AggregationMode::SummaryPlusSamples, + AggregationMode::Stats, + AggregationMode::LatestState, + ], + } +} + +fn usage_window(period: UsagePeriod) -> Result<(UsagePeriod, String, UsageBucket), ApiError> { + let now = OffsetDateTime::now_utc(); + let (start, bucket) = match period { + UsagePeriod::Last30Minutes => ( + now.checked_sub(time::Duration::minutes(30)) + .ok_or_else(|| ApiError::internal("failed to compute usage period"))?, + UsageBucket::Hour, + ), + UsagePeriod::LastHour => ( + now.checked_sub(time::Duration::hours(1)) + .ok_or_else(|| ApiError::internal("failed to compute usage period"))?, + UsageBucket::Hour, + ), + UsagePeriod::Last6Hours => ( + now.checked_sub(time::Duration::hours(6)) + .ok_or_else(|| ApiError::internal("failed to compute usage period"))?, + UsageBucket::Hour, + ), + UsagePeriod::Last24Hours => ( + now.checked_sub(time::Duration::hours(24)) + .ok_or_else(|| ApiError::internal("failed to compute usage period"))?, + UsageBucket::Hour, + ), + UsagePeriod::Last7Days => ( + now.checked_sub(time::Duration::days(7)) + .ok_or_else(|| ApiError::internal("failed to compute usage period"))?, + UsageBucket::Day, + ), + UsagePeriod::Last30Days => ( + now.checked_sub(time::Duration::days(30)) + .ok_or_else(|| ApiError::internal("failed to compute usage period"))?, + UsageBucket::Week, + ), + UsagePeriod::Last90Days => ( + now.checked_sub(time::Duration::days(90)) + .ok_or_else(|| ApiError::internal("failed to compute usage period"))?, + UsageBucket::Month, + ), + UsagePeriod::ThisMonth => ( + OffsetDateTime::from_unix_timestamp( + now.unix_timestamp() - i64::from(now.day() - 1) * 24 * 60 * 60, + ) + .map_err(|error| ApiError::internal(error.to_string()))? + .replace_time(time::Time::MIDNIGHT), + UsageBucket::Week, + ), + }; + + Ok(( + period, + start + .format(&Rfc3339) + .map_err(|error| ApiError::internal(error.to_string()))?, + bucket, + )) +} + +fn today_start_utc() -> Result { + OffsetDateTime::now_utc() + .replace_time(time::Time::MIDNIGHT) + .format(&Rfc3339) + .map_err(|error| ApiError::internal(error.to_string())) +} + +fn default_usage_summary() -> OperationUsageSummaryView { + OperationUsageSummaryView { + calls_today: 0, + error_rate_pct: 0.0, + avg_latency_ms: 0, + } +} + +fn usage_map(items: Vec) -> BTreeMap { + items + .into_iter() + .map(|item| { + ( + item.operation_id.as_str().to_owned(), + OperationUsageSummaryView { + calls_today: item.calls_today, + error_rate_pct: item.error_rate_pct, + avg_latency_ms: item.avg_latency_ms, + }, + ) + }) + .collect() +} + +fn agent_ref_map(items: Vec) -> BTreeMap> { + let mut map = BTreeMap::>::new(); + for item in items { + map.entry(item.operation_id.as_str().to_owned()) + .or_default() + .push(OperationAgentRefView { + agent_id: item.agent_id.as_str().to_owned(), + agent_slug: item.agent_slug, + display_name: item.display_name, + }); + } + map +} + +fn map_agent_summary_view(summary: AgentSummary) -> AgentSummaryView { + AgentSummaryView { + id: summary.id.as_str().to_owned(), + workspace_id: summary.workspace_id.as_str().to_owned(), + slug: summary.slug, + display_name: summary.display_name, + description: summary.description, + status: summary.status, + current_draft_version: summary.current_draft_version, + latest_published_version: summary.latest_published_version, + created_at: format_timestamp(summary.created_at), + updated_at: format_timestamp(summary.updated_at), + published_at: summary.published_at.map(format_timestamp), + operation_count: 0, + operation_ids: Vec::new(), + key_count: 0, + calls_today: 0, + mcp_endpoint: String::new(), + } +} + +fn agent_mcp_endpoint(workspace_slug: &str, agent_slug: &str) -> String { + format!("/mcp/v1/{workspace_slug}/{agent_slug}") +} + +fn validate_streaming_policy( + execution_config: &crank_core::ExecutionConfig, +) -> Result<(), ApiError> { + if execution_config.streaming.is_some() { + return Err(ApiError::validation_with_context( + "streaming execution is not supported in Community".to_owned(), + json!({ + "field": "execution_config.streaming", + "edition": "community", + }), + )); + } + + Ok(()) +} + +fn validate_response_cache_policy( + target: &Target, + execution_config: &crank_core::ExecutionConfig, +) -> Result<(), ApiError> { + let Some(ResponseCachePolicy { ttl_ms }) = execution_config.response_cache.as_ref() else { + return Ok(()); + }; + + if *ttl_ms == 0 { + return Err(ApiError::validation_with_context( + "response cache ttl must be greater than zero".to_owned(), + json!({ + "field": "execution_config.response_cache.ttl_ms", + }), + )); + } + + if execution_config.streaming.is_some() { + return Err(ApiError::validation_with_context( + "response cache is supported only for unary operations".to_owned(), + json!({ + "field": "execution_config.response_cache", + }), + )); + } + + match target { + Target::Rest(rest_target) if rest_target.method == crank_core::HttpMethod::Get => {} + _ => { + return Err(ApiError::validation_with_context( + "response cache is supported only for REST GET operations".to_owned(), + json!({ + "field": "execution_config.response_cache", + }), + )); + } + } + + if execution_config.auth_profile_ref.is_some() { + return Err(ApiError::validation_with_context( + "response cache is not supported for operations with auth_profile_ref".to_owned(), + json!({ + "field": "execution_config.auth_profile_ref", + }), + )); + } + + Ok(()) +} + +#[cfg(test)] +#[allow(clippy::items_after_test_module)] +mod tests { + use std::collections::BTreeMap; + + use crank_core::{ExecutionConfig, HttpMethod, ResponseCachePolicy, RestTarget, Target}; + + use super::validate_response_cache_policy; + + fn cacheable_execution_config() -> ExecutionConfig { + ExecutionConfig { + timeout_ms: 1_000, + retry_policy: None, + response_cache: Some(ResponseCachePolicy { ttl_ms: 5_000 }), + auth_profile_ref: None, + headers: BTreeMap::new(), + protocol_options: None, + streaming: None, + } + } + + #[test] + fn accepts_response_cache_for_rest_get() { + let target = Target::Rest(RestTarget { + base_url: "http://example.invalid".to_owned(), + method: HttpMethod::Get, + path_template: "/catalog".to_owned(), + static_headers: BTreeMap::new(), + }); + + let result = validate_response_cache_policy(&target, &cacheable_execution_config()); + + assert!(result.is_ok()); + } + + #[test] + fn rejects_response_cache_for_non_rest_target() { + let target = Target::Graphql(crank_core::GraphqlTarget { + endpoint: "http://example.invalid/graphql".to_owned(), + operation_type: crank_core::GraphqlOperationType::Query, + operation_name: "LookupLead".to_owned(), + query_template: + "query LookupLead($email: String!) { lookupLead(email: $email) { id } }".to_owned(), + response_path: "$.response.body.data.lookupLead".to_owned(), + }); + + let error = + validate_response_cache_policy(&target, &cacheable_execution_config()).unwrap_err(); + + assert!(matches!(error, crate::error::ApiError::Validation { .. })); + assert_eq!( + error.to_string(), + "response cache is supported only for REST GET operations" + ); + } +} + +fn enrich_operation_summary( + summary: OperationSummary, + usage_summary: OperationUsageSummaryView, + agent_refs: Vec, +) -> OperationSummaryView { + OperationSummaryView { + id: summary.id.as_str().to_owned(), + workspace_id: summary.workspace_id.as_str().to_owned(), + name: summary.name, + display_name: summary.display_name, + category: summary.category, + protocol: summary.protocol, + security_level: summary.security_level, + target_url: summary.target_url, + target_action: summary.target_action, + status: summary.status, + current_draft_version: summary.current_draft_version, + latest_published_version: summary.latest_published_version, + created_at: format_timestamp(summary.created_at), + updated_at: format_timestamp(summary.updated_at), + published_at: summary.published_at.map(format_timestamp), + usage_summary, + agent_refs, + } +} diff --git a/apps/admin-api/src/state.rs b/apps/admin-api/src/state.rs new file mode 100644 index 0000000..99b5165 --- /dev/null +++ b/apps/admin-api/src/state.rs @@ -0,0 +1,8 @@ +use crate::service::AdminService; +use crank_runtime::RequestRateLimiter; + +#[derive(Clone)] +pub struct AppState { + pub service: AdminService, + pub api_rate_limiter: RequestRateLimiter, +} diff --git a/apps/admin-api/src/storage.rs b/apps/admin-api/src/storage.rs new file mode 100644 index 0000000..0925947 --- /dev/null +++ b/apps/admin-api/src/storage.rs @@ -0,0 +1,84 @@ +use std::path::{Path, PathBuf}; + +use crank_core::{OperationId, SampleId}; +use crank_registry::SampleKind; +use serde_json::Value; +use thiserror::Error; +use tokio::fs; + +#[derive(Clone)] +pub struct LocalArtifactStorage { + root: PathBuf, +} + +#[derive(Debug, Error)] +pub enum StorageError { + #[error(transparent)] + Io(#[from] std::io::Error), + #[error(transparent)] + Serialization(#[from] serde_json::Error), + #[error("invalid storage reference: {details}")] + InvalidStorageRef { details: String }, +} + +impl LocalArtifactStorage { + pub fn new(root: PathBuf) -> Self { + Self { root } + } + + pub async fn write_json_sample( + &self, + operation_id: &OperationId, + version: u32, + sample_kind: SampleKind, + sample_id: &SampleId, + payload: &Value, + ) -> Result { + let file_name = match sample_kind { + SampleKind::InputJson => "input.json", + SampleKind::OutputJson => "output.json", + SampleKind::YamlImportSource => "source.json", + }; + let path = self + .root + .join("samples") + .join(operation_id.as_str()) + .join(format!("v{version}")) + .join(format!("{}_{}", sample_id.as_str(), file_name)); + + write_json_file(&path, payload).await?; + + Ok(to_storage_ref(&path)) + } + + pub async fn read_json(&self, storage_ref: &str) -> Result { + let path = from_storage_ref(storage_ref)?; + let bytes = fs::read(path).await?; + + Ok(serde_json::from_slice(&bytes)?) + } +} + +async fn write_json_file(path: &Path, payload: &Value) -> Result<(), StorageError> { + if let Some(parent) = path.parent() { + fs::create_dir_all(parent).await?; + } + + let bytes = serde_json::to_vec_pretty(payload)?; + fs::write(path, bytes).await?; + Ok(()) +} + +fn to_storage_ref(path: &Path) -> String { + format!("file://{}", path.display()) +} + +fn from_storage_ref(storage_ref: &str) -> Result { + let Some(path) = storage_ref.strip_prefix("file://") else { + return Err(StorageError::InvalidStorageRef { + details: storage_ref.to_owned(), + }); + }; + + Ok(PathBuf::from(path)) +} diff --git a/apps/mcp-server/Cargo.toml b/apps/mcp-server/Cargo.toml new file mode 100644 index 0000000..4885c23 --- /dev/null +++ b/apps/mcp-server/Cargo.toml @@ -0,0 +1,36 @@ +[package] +name = "mcp-server" +edition.workspace = true +license.workspace = true +rust-version.workspace = true +version.workspace = true + +[[bin]] +name = "mcp-server" +path = "src/main.rs" + +[dependencies] +async-trait = "0.1" +axum.workspace = true +base64.workspace = true +crank-community-mcp = { path = "../../crates/crank-community-mcp" } +crank-core = { path = "../../crates/crank-core" } +crank-registry = { path = "../../crates/crank-registry" } +crank-runtime = { path = "../../crates/crank-runtime" } +crank-schema = { path = "../../crates/crank-schema" } +futures-util = "0.3" +serde.workspace = true +serde_json.workspace = true +sha2.workspace = true +sqlx.workspace = true +thiserror.workspace = true +time.workspace = true +tokio = { workspace = true, features = ["sync"] } +tracing.workspace = true +tracing-subscriber.workspace = true +uuid.workspace = true + +[dev-dependencies] +crank-mapping = { path = "../../crates/crank-mapping" } +crank-schema = { path = "../../crates/crank-schema" } +reqwest.workspace = true diff --git a/apps/mcp-server/Dockerfile b/apps/mcp-server/Dockerfile new file mode 100644 index 0000000..7db7650 --- /dev/null +++ b/apps/mcp-server/Dockerfile @@ -0,0 +1,68 @@ +FROM rust:1.85-bookworm AS deps + +WORKDIR /app + +COPY Cargo.toml Cargo.lock ./ +COPY .sqlx ./.sqlx +COPY apps/admin-api/Cargo.toml apps/admin-api/Cargo.toml +COPY apps/mcp-server/Cargo.toml apps/mcp-server/Cargo.toml +COPY crates/crank-core/Cargo.toml crates/crank-core/Cargo.toml +COPY crates/crank-schema/Cargo.toml crates/crank-schema/Cargo.toml +COPY crates/crank-mapping/Cargo.toml crates/crank-mapping/Cargo.toml +COPY crates/crank-registry/Cargo.toml crates/crank-registry/Cargo.toml +COPY crates/crank-runtime/Cargo.toml crates/crank-runtime/Cargo.toml +COPY crates/crank-adapter-rest/Cargo.toml crates/crank-adapter-rest/Cargo.toml + +RUN mkdir -p \ + apps/admin-api/src \ + apps/mcp-server/src \ + crates/crank-core/src \ + crates/crank-schema/src \ + crates/crank-mapping/src \ + crates/crank-registry/src \ + crates/crank-runtime/src \ + crates/crank-adapter-rest/src \ + && printf 'fn main() {}\n' > apps/admin-api/src/main.rs \ + && printf 'fn main() {}\n' > apps/mcp-server/src/main.rs \ + && printf 'pub fn placeholder() {}\n' > crates/crank-core/src/lib.rs \ + && printf 'pub fn placeholder() {}\n' > crates/crank-schema/src/lib.rs \ + && printf 'pub fn placeholder() {}\n' > crates/crank-mapping/src/lib.rs \ + && printf 'pub fn placeholder() {}\n' > crates/crank-registry/src/lib.rs \ + && printf 'pub fn placeholder() {}\n' > crates/crank-runtime/src/lib.rs \ + && printf 'pub fn placeholder() {}\n' > crates/crank-adapter-rest/src/lib.rs + +RUN --mount=type=cache,target=/usr/local/cargo/registry \ + --mount=type=cache,target=/usr/local/cargo/git/db \ + --mount=type=cache,target=/app/target \ + SQLX_OFFLINE=true cargo build --release -p mcp-server + +FROM rust:1.85-bookworm AS builder + +WORKDIR /app + +COPY Cargo.toml Cargo.lock ./ +COPY .sqlx ./.sqlx +COPY apps ./apps +COPY crates ./crates + +RUN --mount=type=cache,target=/usr/local/cargo/registry \ + --mount=type=cache,target=/usr/local/cargo/git/db \ + --mount=type=cache,target=/app/target \ + SQLX_OFFLINE=true cargo build --release -p mcp-server \ + && cp /app/target/release/mcp-server /tmp/mcp-server + +FROM debian:bookworm-slim + +RUN apt-get update \ + && apt-get install -y --no-install-recommends ca-certificates curl \ + && rm -rf /var/lib/apt/lists/* + +WORKDIR /app + +COPY --from=builder /tmp/mcp-server /usr/local/bin/mcp-server + +ENV CRANK_MCP_BIND=0.0.0.0:3002 + +EXPOSE 3002 + +CMD ["mcp-server"] diff --git a/apps/mcp-server/src/main.rs b/apps/mcp-server/src/main.rs new file mode 100644 index 0000000..3d33054 --- /dev/null +++ b/apps/mcp-server/src/main.rs @@ -0,0 +1,3507 @@ +use std::{env, net::SocketAddr, time::Duration}; + +use crank_community_mcp::{ + auth::CommunityMachineCredentialVerifier, build_app, session::PostgresTransportSessionStore, +}; +use crank_registry::{PostgresPoolConfig, PostgresRegistry}; +use crank_runtime::{ + RequestRateLimitConfig, RequestRateLimiter, RuntimeCacheConfig, RuntimeCacheStores, + RuntimeLimits, SecretCrypto, community_default, +}; +use sqlx::postgres::PgConnectOptions; +use tokio::net::TcpListener; +use tracing::info; + +#[tokio::main] +async fn main() -> Result<(), Box> { + tracing_subscriber::fmt() + .with_env_filter( + env::var("CRANK_LOG_LEVEL") + .unwrap_or_else(|_| "mcp_server=info,tower_http=info".into()), + ) + .init(); + + let bind_addr = env::var("CRANK_MCP_BIND").unwrap_or_else(|_| "0.0.0.0:3002".into()); + let base_url = env::var("CRANK_BASE_URL").ok(); + let refresh_interval = env::var("CRANK_MCP_REFRESH_MS") + .ok() + .and_then(|value| value.parse::().ok()) + .map(Duration::from_millis) + .unwrap_or_else(|| Duration::from_secs(5)); + let socket_addr: SocketAddr = bind_addr.parse()?; + let pool_config = PostgresPoolConfig::from_env()?; + let runtime_limits = RuntimeLimits::from_env()?; + let cache_config = RuntimeCacheConfig::from_env()?; + let cache_stores = RuntimeCacheStores::from_config(&cache_config).await?; + let api_rate_limit = mcp_api_rate_limit_config_from_env()?; + let database_options = database_options_from_env()?; + let registry = PostgresRegistry::connect_with_options_and_pool_config( + database_options.clone(), + pool_config, + ) + .await?; + let session_store = PostgresTransportSessionStore::connect_with_options_and_pool_config( + database_options, + pool_config, + ) + .await?; + let secret_crypto = SecretCrypto::new(&env::var("CRANK_MASTER_KEY")?)?; + let runtime = community_default() + .with_limits(runtime_limits) + .with_response_cache(cache_stores.response.clone()) + .build(); + let app = build_app( + registry, + refresh_interval, + base_url, + secret_crypto, + runtime, + if cache_config.backend.is_external() { + RequestRateLimiter::new_shared(api_rate_limit, cache_stores.rate_limit.clone()) + } else { + RequestRateLimiter::new(api_rate_limit) + }, + cache_stores.coordination.clone(), + std::sync::Arc::new(session_store), + std::sync::Arc::new(CommunityMachineCredentialVerifier), + ); + let listener = TcpListener::bind(socket_addr).await?; + + info!( + runtime_max_concurrent_unary = runtime_limits.max_concurrent_unary, + runtime_max_concurrent_window = runtime_limits.max_concurrent_window, + runtime_max_concurrent_sessions = runtime_limits.max_concurrent_sessions, + runtime_max_concurrent_jobs = runtime_limits.max_concurrent_jobs, + mcp_rate_limit_rps = api_rate_limit.requests_per_second, + mcp_rate_limit_burst = api_rate_limit.burst, + cache_backend = %cache_config.backend, + max_connections = pool_config.max_connections, + min_connections = pool_config.min_connections, + acquire_timeout_ms = pool_config.acquire_timeout_ms, + idle_timeout_ms = pool_config.idle_timeout_ms, + max_lifetime_ms = pool_config.max_lifetime_ms, + "postgres pool configured" + ); + info!("mcp-server listening on {}", socket_addr); + + axum::serve(listener, app).await?; + + Ok(()) +} + +fn database_options_from_env() -> Result> { + if let Ok(database_url) = env::var("CRANK_DATABASE_URL") { + return Ok(database_url.parse::()?); + } + + let host = env::var("POSTGRES_HOST").unwrap_or_else(|_| "postgres".into()); + let port = env::var("POSTGRES_PORT") + .ok() + .and_then(|value| value.parse::().ok()) + .unwrap_or(5432); + let database = env::var("POSTGRES_DB").unwrap_or_else(|_| "crank".into()); + let username = env::var("POSTGRES_USER").unwrap_or_else(|_| "crank".into()); + let password = env::var("POSTGRES_PASSWORD").unwrap_or_else(|_| "crank".into()); + + Ok(PgConnectOptions::new() + .host(&host) + .port(port) + .database(&database) + .username(&username) + .password(&password)) +} + +fn mcp_api_rate_limit_config_from_env() -> Result> +{ + let requests_per_second = env::var("CRANK_MCP_RATE_LIMIT_RPS") + .ok() + .and_then(|value| value.parse::().ok()) + .unwrap_or(60); + let burst = env::var("CRANK_MCP_RATE_LIMIT_BURST") + .ok() + .and_then(|value| value.parse::().ok()) + .unwrap_or(120); + + Ok(RequestRateLimitConfig::new(requests_per_second, burst)?) +} + +#[cfg(test)] +mod tests { + use std::{ + collections::BTreeMap, + env, io, + sync::{Arc, Mutex}, + time::Duration, + }; + + use axum::{ + Json, Router, + http::header, + response::sse::{Event, KeepAlive, Sse}, + routing::{get, post}, + }; + use base64::{Engine as _, engine::general_purpose::URL_SAFE_NO_PAD}; + #[cfg(any())] + use crank_adapter_grpc::test_support as grpc_test_support; + use crank_core::{ + Agent, AgentId, AgentOperationBinding, AgentStatus, AgentVersion, ExecutionConfig, + HttpMethod, Operation, OperationId, OperationStatus, PlatformApiKey, PlatformApiKeyId, + PlatformApiKeyScope, PlatformApiKeyStatus, Protocol, RestTarget, Target, ToolDescription, + WorkspaceId, + }; + #[cfg(any())] + use crank_core::{ + AggregationMode, AsyncJobHandle, AsyncJobId, DescriptorId, ExecutionMode, + GraphqlOperationType, GraphqlTarget, GrpcTarget, JobStatus, StreamingConfig, + ToolFamilyConfig, TransportBehavior, + }; + use crank_mapping::{MappingRule, MappingSet}; + #[cfg(any())] + use crank_registry::CreateAsyncJobRequest; + use crank_registry::{ + CreateAgentRequest, CreatePlatformApiKeyRequest, ListInvocationLogsQuery, PostgresRegistry, + PublishAgentRequest, PublishRequest, SaveAgentBindingsRequest, + }; + use crank_runtime::{ + InMemoryCoordinationStateStore, RequestRateLimitConfig, RequestRateLimiter, + RuntimeExecutor, SecretCrypto, + }; + use crank_schema::{Schema, SchemaKind}; + use futures_util::stream; + use serde_json::{Value, json}; + use sha2::{Digest, Sha256}; + use sqlx::{Executor, postgres::PgPoolOptions}; + use time::{OffsetDateTime, format_description::well_known::Rfc3339}; + use tokio::net::TcpListener; + use tokio::time::sleep; + use tracing_subscriber::{filter::LevelFilter, fmt::MakeWriter, prelude::*}; + + use crank_community_mcp::{ + auth::{ + CommunityMachineCredentialVerifier, MachineCredentialVerifier, + MachineCredentialVerifierError, SharedMachineCredentialVerifier, + VerifiedMachineCredential, + }, + build_app, + catalog::PublishedToolCatalog, + session::{InMemorySessionStore, SharedSessionStore, TransportSessionStore}, + }; + + fn test_workspace_id() -> WorkspaceId { + WorkspaceId::new("ws_default") + } + + #[derive(Clone, Default)] + struct SharedLogWriter { + buffer: Arc>>, + } + + impl SharedLogWriter { + fn output(&self) -> String { + String::from_utf8(self.buffer.lock().unwrap().clone()).unwrap() + } + } + + impl<'a> MakeWriter<'a> for SharedLogWriter { + type Writer = SharedLogGuard; + + fn make_writer(&'a self) -> Self::Writer { + SharedLogGuard { + buffer: Arc::clone(&self.buffer), + } + } + } + + struct SharedLogGuard { + buffer: Arc>>, + } + + impl io::Write for SharedLogGuard { + fn write(&mut self, bytes: &[u8]) -> io::Result { + self.buffer.lock().unwrap().extend_from_slice(bytes); + Ok(bytes.len()) + } + + fn flush(&mut self) -> io::Result<()> { + Ok(()) + } + } + + fn test_workspace_slug() -> &'static str { + "default" + } + + fn test_agent_id(agent_slug: &str) -> AgentId { + AgentId::new(format!("agent_{agent_slug}")) + } + + fn build_test_app( + registry: PostgresRegistry, + refresh_interval: Duration, + public_base_url: Option, + ) -> axum::Router { + build_test_app_with_rate_limit( + registry, + refresh_interval, + public_base_url, + RequestRateLimitConfig::new(10_000, 10_000).unwrap(), + ) + } + + fn build_test_app_with_rate_limit( + registry: PostgresRegistry, + refresh_interval: Duration, + public_base_url: Option, + rate_limit_config: RequestRateLimitConfig, + ) -> axum::Router { + build_test_app_with_store( + registry, + refresh_interval, + public_base_url, + rate_limit_config, + std::sync::Arc::new(InMemorySessionStore::default()), + std::sync::Arc::new(CommunityMachineCredentialVerifier), + ) + } + + fn build_test_app_with_store( + registry: PostgresRegistry, + refresh_interval: Duration, + public_base_url: Option, + rate_limit_config: RequestRateLimitConfig, + sessions: SharedSessionStore, + credential_verifier: SharedMachineCredentialVerifier, + ) -> axum::Router { + build_app( + registry, + refresh_interval, + public_base_url, + SecretCrypto::new("test-master-key").unwrap(), + RuntimeExecutor::new(), + RequestRateLimiter::new(rate_limit_config), + std::sync::Arc::new(InMemoryCoordinationStateStore::default()), + sessions, + credential_verifier, + ) + } + + #[derive(Clone)] + struct StubMachineCredentialVerifier { + token: String, + credential: VerifiedMachineCredential, + } + + #[async_trait::async_trait] + impl MachineCredentialVerifier for StubMachineCredentialVerifier { + async fn verify_bearer_token( + &self, + _workspace_slug: &str, + _agent_slug: &str, + token: &str, + ) -> Result, MachineCredentialVerifierError> { + if token == self.token { + return Ok(Some(self.credential.clone())); + } + + Ok(None) + } + } + + #[tokio::test] + async fn initializes_lists_and_calls_published_tool_via_mcp() { + let registry = test_registry().await; + let upstream_base_url = spawn_upstream_server().await; + let operation = test_operation(&upstream_base_url, "crm_create_lead"); + + registry + .create_operation(&test_workspace_id(), &operation, Some("alice")) + .await + .unwrap(); + registry + .publish_operation(PublishRequest { + workspace_id: &test_workspace_id(), + operation_id: &operation.id, + version: 1, + published_at: &OffsetDateTime::parse("2026-03-26T10:00:00Z", &Rfc3339).unwrap(), + published_by: Some("alice"), + }) + .await + .unwrap(); + publish_agent_for_operation(®istry, &operation, "sales-rest").await; + let api_key = create_platform_api_key( + ®istry, + "sales-rest", + "mcp-rest", + &[PlatformApiKeyScope::Read, PlatformApiKeyScope::Write], + ) + .await; + + let base_url = spawn_mcp_server(build_test_app( + registry.clone(), + Duration::from_millis(0), + Some("https://crank.example.com".to_owned()), + )) + .await; + let client = reqwest::Client::new(); + let mcp_url = agent_mcp_url(&base_url, "sales-rest"); + let initialized_session = initialize_session(&client, &mcp_url, &api_key).await; + + let tools = post_jsonrpc( + &client, + &mcp_url, + &api_key, + Some(&initialized_session), + json!({ + "jsonrpc": "2.0", + "id": 2, + "method": "tools/list", + "params": {} + }), + ) + .await; + let call_result = post_jsonrpc( + &client, + &mcp_url, + &api_key, + Some(&initialized_session), + json!({ + "jsonrpc": "2.0", + "id": 3, + "method": "tools/call", + "params": { + "name": "crm_create_lead", + "arguments": { + "email": "user@example.com" + } + } + }), + ) + .await; + + assert_eq!(tools["result"]["tools"][0]["name"], "crm_create_lead"); + assert_eq!( + call_result["result"]["structuredContent"], + json!({ "id": "lead_123" }) + ); + assert_eq!(call_result["result"]["isError"], false); + + let logs = registry + .list_invocation_logs(ListInvocationLogsQuery { + workspace_id: &test_workspace_id(), + level: None, + search_text: None, + source: Some(crank_core::InvocationSource::AgentToolCall), + operation_id: Some(&operation.id), + agent_id: None, + created_after: None, + limit: 10, + }) + .await + .unwrap(); + + assert_eq!(logs.len(), 1); + assert_eq!( + logs[0].log.source, + crank_core::InvocationSource::AgentToolCall + ); + assert_eq!(logs[0].log.status, crank_core::InvocationStatus::Ok); + assert_eq!(logs[0].log.tool_name, "crm_create_lead"); + + let keys = registry + .list_platform_api_keys(&test_workspace_id()) + .await + .unwrap(); + assert!(keys[0].api_key.last_used_at.is_some()); + } + + #[tokio::test] + async fn preserves_request_id_for_tool_call_invocations() { + let registry = test_registry().await; + let upstream_base_url = spawn_upstream_server().await; + let operation = test_operation(&upstream_base_url, "crm_request_id"); + + registry + .create_operation(&test_workspace_id(), &operation, Some("alice")) + .await + .unwrap(); + registry + .publish_operation(PublishRequest { + workspace_id: &test_workspace_id(), + operation_id: &operation.id, + version: 1, + published_at: &OffsetDateTime::parse("2026-03-26T10:00:00Z", &Rfc3339).unwrap(), + published_by: Some("alice"), + }) + .await + .unwrap(); + publish_agent_for_operation(®istry, &operation, "sales-request-id").await; + let api_key = create_platform_api_key( + ®istry, + "sales-request-id", + "mcp-request-id", + &[PlatformApiKeyScope::Read, PlatformApiKeyScope::Write], + ) + .await; + + let base_url = spawn_mcp_server(build_test_app( + registry.clone(), + Duration::from_millis(0), + Some("https://crank.example.com".to_owned()), + )) + .await; + let client = reqwest::Client::new(); + let mcp_url = agent_mcp_url(&base_url, "sales-request-id"); + let initialized_session = initialize_session(&client, &mcp_url, &api_key).await; + + let response = post_jsonrpc_response( + &client, + &mcp_url, + &api_key, + Some(&initialized_session), + Some("req_test_123"), + json!({ + "jsonrpc": "2.0", + "id": 3, + "method": "tools/call", + "params": { + "name": "crm_request_id", + "arguments": { + "email": "user@example.com" + } + } + }), + ) + .await; + + assert_eq!( + response.headers()["x-request-id"].to_str().unwrap(), + "req_test_123" + ); + let call_result = response.json::().await.unwrap(); + assert_eq!(call_result["result"]["isError"], false); + + let logs = registry + .list_invocation_logs(ListInvocationLogsQuery { + workspace_id: &test_workspace_id(), + level: None, + search_text: None, + source: Some(crank_core::InvocationSource::AgentToolCall), + operation_id: Some(&operation.id), + agent_id: None, + created_after: None, + limit: 10, + }) + .await + .unwrap(); + + assert_eq!(logs.len(), 1); + assert_eq!(logs[0].log.request_id.as_deref(), Some("req_test_123")); + } + + #[tokio::test] + async fn generates_request_id_for_tool_call_responses_and_logs() { + let registry = test_registry().await; + let upstream_base_url = spawn_upstream_server().await; + let operation = test_operation(&upstream_base_url, "crm_generated_request_id"); + + registry + .create_operation(&test_workspace_id(), &operation, Some("alice")) + .await + .unwrap(); + registry + .publish_operation(PublishRequest { + workspace_id: &test_workspace_id(), + operation_id: &operation.id, + version: 1, + published_at: &OffsetDateTime::parse("2026-03-26T10:00:00Z", &Rfc3339).unwrap(), + published_by: Some("alice"), + }) + .await + .unwrap(); + publish_agent_for_operation(®istry, &operation, "sales-generated-request-id").await; + let api_key = create_platform_api_key( + ®istry, + "sales-generated-request-id", + "mcp-generated-request-id", + &[PlatformApiKeyScope::Read, PlatformApiKeyScope::Write], + ) + .await; + + let base_url = spawn_mcp_server(build_test_app( + registry.clone(), + Duration::from_millis(0), + Some("https://crank.example.com".to_owned()), + )) + .await; + let client = reqwest::Client::new(); + let mcp_url = agent_mcp_url(&base_url, "sales-generated-request-id"); + let initialized_session = initialize_session(&client, &mcp_url, &api_key).await; + + let response = post_jsonrpc_response( + &client, + &mcp_url, + &api_key, + Some(&initialized_session), + None, + json!({ + "jsonrpc": "2.0", + "id": 3, + "method": "tools/call", + "params": { + "name": "crm_generated_request_id", + "arguments": { + "email": "user@example.com" + } + } + }), + ) + .await; + let request_id = response + .headers() + .get("x-request-id") + .unwrap() + .to_str() + .unwrap() + .to_owned(); + assert!(!request_id.is_empty()); + + let call_result = response.json::().await.unwrap(); + assert_eq!(call_result["result"]["isError"], false); + + let logs = registry + .list_invocation_logs(ListInvocationLogsQuery { + workspace_id: &test_workspace_id(), + level: None, + search_text: None, + source: Some(crank_core::InvocationSource::AgentToolCall), + operation_id: Some(&operation.id), + agent_id: None, + created_after: None, + limit: 10, + }) + .await + .unwrap(); + + assert_eq!(logs.len(), 1); + assert_eq!(logs[0].log.request_id.as_deref(), Some(request_id.as_str())); + } + + #[tokio::test] + async fn emits_request_id_in_mcp_ingress_logs() { + let registry = test_registry().await; + let upstream_base_url = spawn_upstream_server().await; + let operation = test_operation(&upstream_base_url, "crm_request_trace"); + + registry + .create_operation(&test_workspace_id(), &operation, Some("alice")) + .await + .unwrap(); + registry + .publish_operation(PublishRequest { + workspace_id: &test_workspace_id(), + operation_id: &operation.id, + version: 1, + published_at: &OffsetDateTime::parse("2026-03-26T10:00:00Z", &Rfc3339).unwrap(), + published_by: Some("alice"), + }) + .await + .unwrap(); + publish_agent_for_operation(®istry, &operation, "sales-request-trace").await; + let api_key = create_platform_api_key( + ®istry, + "sales-request-trace", + "mcp-request-trace", + &[PlatformApiKeyScope::Read, PlatformApiKeyScope::Write], + ) + .await; + + let base_url = spawn_mcp_server(build_test_app( + registry, + Duration::from_millis(0), + Some("https://crank.example.com".to_owned()), + )) + .await; + let client = reqwest::Client::new(); + let mcp_url = agent_mcp_url(&base_url, "sales-request-trace"); + let writer = SharedLogWriter::default(); + let subscriber = tracing_subscriber::registry().with( + tracing_subscriber::fmt::layer() + .with_writer(writer.clone()) + .without_time() + .with_ansi(false) + .with_target(false) + .compact() + .with_filter(LevelFilter::INFO), + ); + let dispatch = tracing::Dispatch::new(subscriber); + + let _guard = tracing::dispatcher::set_default(&dispatch); + let response = post_jsonrpc_response( + &client, + &mcp_url, + &api_key, + None, + Some("req_mcp_trace_123"), + json!({ + "jsonrpc": "2.0", + "id": 1, + "method": "initialize", + "params": { + "protocolVersion": "2025-03-26" + } + }), + ) + .await; + + assert_eq!( + response.headers()["x-request-id"].to_str().unwrap(), + "req_mcp_trace_123" + ); + assert_eq!(response.status(), reqwest::StatusCode::OK); + + let logs = writer.output(); + assert!(logs.contains("mcp request received")); + assert!(logs.contains("req_mcp_trace_123")); + assert!(logs.contains("sales-request-trace")); + assert!(logs.contains("default")); + assert!(logs.contains("initialize")); + } + + #[cfg(any())] + #[tokio::test] + async fn initializes_and_calls_published_graphql_tool_via_mcp() { + let registry = test_registry().await; + let endpoint = spawn_graphql_server().await; + let operation = test_graphql_operation(&endpoint, "crm_create_lead_graphql"); + + registry + .create_operation(&test_workspace_id(), &operation, Some("alice")) + .await + .unwrap(); + registry + .publish_operation(PublishRequest { + workspace_id: &test_workspace_id(), + operation_id: &operation.id, + version: 1, + published_at: &OffsetDateTime::parse("2026-03-26T10:00:00Z", &Rfc3339).unwrap(), + published_by: Some("alice"), + }) + .await + .unwrap(); + publish_agent_for_operation(®istry, &operation, "sales-graphql").await; + let api_key = create_platform_api_key( + ®istry, + "sales-graphql", + "mcp-graphql", + &[PlatformApiKeyScope::Read, PlatformApiKeyScope::Write], + ) + .await; + + let base_url = spawn_mcp_server(build_test_app( + registry, + Duration::from_millis(0), + Some("https://crank.example.com".to_owned()), + )) + .await; + let client = reqwest::Client::new(); + let mcp_url = agent_mcp_url(&base_url, "sales-graphql"); + let initialized_session = initialize_session(&client, &mcp_url, &api_key).await; + + let call_result = post_jsonrpc( + &client, + &mcp_url, + &api_key, + Some(&initialized_session), + json!({ + "jsonrpc": "2.0", + "id": 3, + "method": "tools/call", + "params": { + "name": "crm_create_lead_graphql", + "arguments": { + "email": "user@example.com" + } + } + }), + ) + .await; + + assert_eq!( + call_result["result"]["structuredContent"], + json!({ "id": "lead_123" }) + ); + assert_eq!(call_result["result"]["isError"], false); + } + + #[cfg(any())] + #[tokio::test] + async fn initializes_and_calls_published_grpc_tool_via_mcp() { + let registry = test_registry().await; + let server_addr = grpc_test_support::spawn_unary_echo_server().await; + let operation = test_grpc_operation(&server_addr, "echo_unary_grpc"); + + registry + .create_operation(&test_workspace_id(), &operation, Some("alice")) + .await + .unwrap(); + registry + .publish_operation(PublishRequest { + workspace_id: &test_workspace_id(), + operation_id: &operation.id, + version: 1, + published_at: &OffsetDateTime::parse("2026-03-26T10:00:00Z", &Rfc3339).unwrap(), + published_by: Some("alice"), + }) + .await + .unwrap(); + publish_agent_for_operation(®istry, &operation, "sales-grpc").await; + let api_key = create_platform_api_key( + ®istry, + "sales-grpc", + "mcp-grpc", + &[PlatformApiKeyScope::Read, PlatformApiKeyScope::Write], + ) + .await; + + let base_url = spawn_mcp_server(build_test_app( + registry, + Duration::from_millis(0), + Some("https://crank.example.com".to_owned()), + )) + .await; + let client = reqwest::Client::new(); + let mcp_url = agent_mcp_url(&base_url, "sales-grpc"); + let initialized_session = initialize_session(&client, &mcp_url, &api_key).await; + + let call_result = post_jsonrpc( + &client, + &mcp_url, + &api_key, + Some(&initialized_session), + json!({ + "jsonrpc": "2.0", + "id": 3, + "method": "tools/call", + "params": { + "name": "echo_unary_grpc", + "arguments": { + "message": "hello" + } + } + }), + ) + .await; + + assert_eq!( + call_result["result"]["structuredContent"], + json!({ "message": "hello" }) + ); + assert_eq!(call_result["result"]["isError"], false); + } + + #[tokio::test] + async fn requires_initialized_notification_before_tool_methods() { + let registry = test_registry().await; + publish_agent_with_bindings(®istry, "sales-init", vec![]).await; + let api_key = create_platform_api_key( + ®istry, + "sales-init", + "mcp-init", + &[PlatformApiKeyScope::Read], + ) + .await; + let base_url = spawn_mcp_server(build_test_app( + registry, + Duration::from_millis(0), + Some("https://crank.example.com".to_owned()), + )) + .await; + let client = reqwest::Client::new(); + let mcp_url = agent_mcp_url(&base_url, "sales-init"); + let initialize_response = client + .post(&mcp_url) + .header(header::ACCEPT, "application/json, text/event-stream") + .header(header::AUTHORIZATION, format!("Bearer {api_key}")) + .json(&json!({ + "jsonrpc": "2.0", + "id": 1, + "method": "initialize", + "params": { + "protocolVersion": "2025-11-25" + } + })) + .send() + .await + .unwrap(); + let session_id = initialize_response + .headers() + .get("MCP-Session-Id") + .unwrap() + .to_str() + .unwrap() + .to_owned(); + let tools_list = client + .post(&mcp_url) + .header(header::ACCEPT, "application/json, text/event-stream") + .header(header::AUTHORIZATION, format!("Bearer {api_key}")) + .header("MCP-Session-Id", session_id) + .header("MCP-Protocol-Version", "2025-11-25") + .json(&json!({ + "jsonrpc": "2.0", + "id": 2, + "method": "tools/list", + "params": {} + })) + .send() + .await + .unwrap() + .json::() + .await + .unwrap(); + + assert_eq!(tools_list["error"]["code"], -32002); + } + + #[tokio::test] + async fn initialize_can_return_sse_response_when_client_prefers_event_stream() { + let registry = test_registry().await; + publish_agent_with_bindings(®istry, "sales-sse-init", vec![]).await; + let api_key = create_platform_api_key( + ®istry, + "sales-sse-init", + "mcp-sse-init", + &[PlatformApiKeyScope::Read, PlatformApiKeyScope::Write], + ) + .await; + let base_url = spawn_mcp_server(build_test_app( + registry, + Duration::from_millis(0), + Some("https://crank.example.com".to_owned()), + )) + .await; + let client = reqwest::Client::new(); + let response = client + .post(agent_mcp_url(&base_url, "sales-sse-init")) + .header(header::ACCEPT, "text/event-stream, application/json") + .header(header::AUTHORIZATION, format!("Bearer {api_key}")) + .json(&json!({ + "jsonrpc": "2.0", + "id": 1, + "method": "initialize", + "params": { + "protocolVersion": "2025-11-25" + } + })) + .send() + .await + .unwrap(); + + assert_eq!(response.status(), reqwest::StatusCode::OK); + assert_eq!( + response + .headers() + .get(header::CONTENT_TYPE) + .unwrap() + .to_str() + .unwrap(), + "text/event-stream" + ); + assert!(response.headers().get("MCP-Session-Id").is_some()); + + let body = response.text().await.unwrap(); + assert!(body.contains("\"jsonrpc\":\"2.0\"")); + assert!(body.contains("\"protocolVersion\":\"2025-11-25\"")); + } + + #[tokio::test] + async fn get_opens_sse_stream_for_initialized_session() { + let registry = test_registry().await; + publish_agent_with_bindings(®istry, "sales-get-sse", vec![]).await; + let api_key = create_platform_api_key( + ®istry, + "sales-get-sse", + "mcp-get-sse", + &[PlatformApiKeyScope::Read, PlatformApiKeyScope::Write], + ) + .await; + let base_url = spawn_mcp_server(build_test_app( + registry, + Duration::from_millis(0), + Some("https://crank.example.com".to_owned()), + )) + .await; + let client = reqwest::Client::new(); + let mcp_url = agent_mcp_url(&base_url, "sales-get-sse"); + let initialized_session = initialize_session(&client, &mcp_url, &api_key).await; + + let response = client + .get(&mcp_url) + .header(header::ACCEPT, "text/event-stream") + .header(header::AUTHORIZATION, format!("Bearer {api_key}")) + .header("MCP-Session-Id", &initialized_session) + .header("MCP-Protocol-Version", "2025-11-25") + .send() + .await + .unwrap(); + + assert_eq!(response.status(), reqwest::StatusCode::OK); + assert_eq!( + response + .headers() + .get(header::CONTENT_TYPE) + .unwrap() + .to_str() + .unwrap(), + "text/event-stream" + ); + assert_eq!( + response + .headers() + .get("MCP-Session-Id") + .unwrap() + .to_str() + .unwrap(), + initialized_session + ); + } + + #[tokio::test] + async fn get_returns_not_found_for_expired_transport_session() { + let registry = test_registry().await; + publish_agent_with_bindings(®istry, "sales-expired-session", vec![]).await; + let api_key = create_platform_api_key( + ®istry, + "sales-expired-session", + "mcp-expired-session", + &[PlatformApiKeyScope::Read], + ) + .await; + let session_store = Arc::new(InMemorySessionStore::default()); + let session_id = session_store + .create( + "2025-11-25", + test_workspace_slug(), + "sales-expired-session", + OffsetDateTime::parse("2026-05-01T10:00:00Z", &Rfc3339).unwrap(), + Some(OffsetDateTime::parse("2026-05-01T10:00:01Z", &Rfc3339).unwrap()), + ) + .await + .unwrap(); + session_store + .mark_initialized( + &session_id, + OffsetDateTime::parse("2026-05-01T10:00:01Z", &Rfc3339).unwrap(), + ) + .await + .unwrap(); + let base_url = spawn_mcp_server(build_test_app_with_store( + registry, + Duration::from_millis(0), + Some("https://crank.example.com".to_owned()), + RequestRateLimitConfig::new(10_000, 10_000).unwrap(), + session_store, + std::sync::Arc::new(CommunityMachineCredentialVerifier), + )) + .await; + let client = reqwest::Client::new(); + + let response = client + .get(agent_mcp_url(&base_url, "sales-expired-session")) + .header(header::ACCEPT, "text/event-stream") + .header(header::AUTHORIZATION, format!("Bearer {api_key}")) + .header("MCP-Session-Id", &session_id) + .header("MCP-Protocol-Version", "2025-11-25") + .send() + .await + .unwrap(); + + assert_eq!(response.status(), reqwest::StatusCode::NOT_FOUND); + } + + #[tokio::test] + async fn rejects_rapid_transport_get_requests_with_429() { + let registry = test_registry().await; + publish_agent_with_bindings(®istry, "sales-get-rate-limit", vec![]).await; + let api_key = create_platform_api_key( + ®istry, + "sales-get-rate-limit", + "mcp-get-rate-limit", + &[PlatformApiKeyScope::Read, PlatformApiKeyScope::Write], + ) + .await; + let base_url = spawn_mcp_server(build_test_app_with_rate_limit( + registry, + Duration::from_millis(0), + Some("https://crank.example.com".to_owned()), + RequestRateLimitConfig::new(1, 2).unwrap(), + )) + .await; + let client = reqwest::Client::new(); + let mcp_url = agent_mcp_url(&base_url, "sales-get-rate-limit"); + let initialized_session = initialize_session(&client, &mcp_url, &api_key).await; + + let first_response = client + .get(&mcp_url) + .header(header::ACCEPT, "text/event-stream") + .header(header::AUTHORIZATION, format!("Bearer {api_key}")) + .header("MCP-Session-Id", &initialized_session) + .header("MCP-Protocol-Version", "2025-11-25") + .send() + .await + .unwrap(); + assert_eq!(first_response.status(), reqwest::StatusCode::OK); + + let second_response = client + .get(&mcp_url) + .header(header::ACCEPT, "text/event-stream") + .header(header::AUTHORIZATION, format!("Bearer {api_key}")) + .header("MCP-Session-Id", &initialized_session) + .header("MCP-Protocol-Version", "2025-11-25") + .send() + .await + .unwrap(); + + assert_eq!( + second_response.status(), + reqwest::StatusCode::TOO_MANY_REQUESTS + ); + assert!(second_response.headers().get(header::RETRY_AFTER).is_some()); + } + + #[tokio::test] + async fn get_requires_session_header() { + let registry = test_registry().await; + publish_agent_with_bindings(®istry, "sales-get-sse-missing", vec![]).await; + let api_key = create_platform_api_key( + ®istry, + "sales-get-sse-missing", + "mcp-get-sse-missing", + &[PlatformApiKeyScope::Read], + ) + .await; + let base_url = spawn_mcp_server(build_test_app( + registry, + Duration::from_millis(0), + Some("https://crank.example.com".to_owned()), + )) + .await; + let client = reqwest::Client::new(); + + let response = client + .get(agent_mcp_url(&base_url, "sales-get-sse-missing")) + .header(header::ACCEPT, "text/event-stream") + .header(header::AUTHORIZATION, format!("Bearer {api_key}")) + .send() + .await + .unwrap(); + + assert_eq!(response.status(), reqwest::StatusCode::BAD_REQUEST); + } + + #[tokio::test] + async fn delete_terminates_transport_session() { + let registry = test_registry().await; + publish_agent_with_bindings(®istry, "sales-delete-session", vec![]).await; + let api_key = create_platform_api_key( + ®istry, + "sales-delete-session", + "mcp-delete-session", + &[PlatformApiKeyScope::Read], + ) + .await; + let base_url = spawn_mcp_server(build_test_app( + registry, + Duration::from_millis(0), + Some("https://crank.example.com".to_owned()), + )) + .await; + let client = reqwest::Client::new(); + let mcp_url = agent_mcp_url(&base_url, "sales-delete-session"); + let initialized_session = initialize_session(&client, &mcp_url, &api_key).await; + + let delete_response = client + .delete(&mcp_url) + .header(header::AUTHORIZATION, format!("Bearer {api_key}")) + .header("MCP-Session-Id", &initialized_session) + .header("MCP-Protocol-Version", "2025-11-25") + .send() + .await + .unwrap(); + + assert_eq!(delete_response.status(), reqwest::StatusCode::NO_CONTENT); + + let after_delete = client + .get(&mcp_url) + .header(header::ACCEPT, "text/event-stream") + .header(header::AUTHORIZATION, format!("Bearer {api_key}")) + .header("MCP-Session-Id", &initialized_session) + .header("MCP-Protocol-Version", "2025-11-25") + .send() + .await + .unwrap(); + + assert_eq!(after_delete.status(), reqwest::StatusCode::NOT_FOUND); + } + + #[tokio::test] + async fn initialize_accepts_json_only_response_negotiation() { + let registry = test_registry().await; + publish_agent_with_bindings(®istry, "sales-json-accept", vec![]).await; + let api_key = create_platform_api_key( + ®istry, + "sales-json-accept", + "mcp-json-accept", + &[PlatformApiKeyScope::Read], + ) + .await; + let base_url = spawn_mcp_server(build_test_app( + registry, + Duration::from_millis(0), + Some("https://crank.example.com".to_owned()), + )) + .await; + let client = reqwest::Client::new(); + let response = client + .post(agent_mcp_url(&base_url, "sales-json-accept")) + .header(header::ACCEPT, "application/json") + .header(header::AUTHORIZATION, format!("Bearer {api_key}")) + .json(&json!({ + "jsonrpc": "2.0", + "id": 1, + "method": "initialize", + "params": { + "protocolVersion": "2025-11-25" + } + })) + .send() + .await + .unwrap(); + + assert_eq!(response.status(), reqwest::StatusCode::OK); + assert_eq!( + response + .headers() + .get(header::CONTENT_TYPE) + .and_then(|value| value.to_str().ok()) + .unwrap(), + "application/json" + ); + } + + #[tokio::test] + async fn rejects_get_with_protocol_version_mismatch() { + let registry = test_registry().await; + publish_agent_with_bindings(®istry, "sales-get-bad-version", vec![]).await; + let api_key = create_platform_api_key( + ®istry, + "sales-get-bad-version", + "mcp-get-bad-version", + &[PlatformApiKeyScope::Read], + ) + .await; + let base_url = spawn_mcp_server(build_test_app( + registry, + Duration::from_millis(0), + Some("https://crank.example.com".to_owned()), + )) + .await; + let client = reqwest::Client::new(); + let mcp_url = agent_mcp_url(&base_url, "sales-get-bad-version"); + let initialized_session = initialize_session(&client, &mcp_url, &api_key).await; + + let response = client + .get(&mcp_url) + .header(header::ACCEPT, "text/event-stream") + .header(header::AUTHORIZATION, format!("Bearer {api_key}")) + .header("MCP-Session-Id", &initialized_session) + .header("MCP-Protocol-Version", "2025-06-18") + .send() + .await + .unwrap(); + + assert_eq!(response.status(), reqwest::StatusCode::BAD_REQUEST); + } + + #[tokio::test] + async fn refreshes_published_tools_without_restart() { + let registry = test_registry().await; + let upstream_base_url = spawn_upstream_server().await; + let base_url = spawn_mcp_server(build_test_app( + registry.clone(), + Duration::from_millis(0), + Some("https://crank.example.com".to_owned()), + )) + .await; + let client = reqwest::Client::new(); + let mcp_url = agent_mcp_url(&base_url, "sales-refresh"); + publish_agent_with_bindings(®istry, "sales-refresh", vec![]).await; + let api_key = create_platform_api_key( + ®istry, + "sales-refresh", + "mcp-refresh", + &[PlatformApiKeyScope::Read, PlatformApiKeyScope::Write], + ) + .await; + let initialized_session = initialize_session(&client, &mcp_url, &api_key).await; + + let before_publish = post_jsonrpc( + &client, + &mcp_url, + &api_key, + Some(&initialized_session), + json!({ + "jsonrpc": "2.0", + "id": 2, + "method": "tools/list", + "params": {} + }), + ) + .await; + + let operation = test_operation(&upstream_base_url, "crm_publish_later"); + registry + .create_operation(&test_workspace_id(), &operation, Some("alice")) + .await + .unwrap(); + registry + .publish_operation(PublishRequest { + workspace_id: &test_workspace_id(), + operation_id: &operation.id, + version: 1, + published_at: &OffsetDateTime::parse("2026-03-26T10:00:00Z", &Rfc3339).unwrap(), + published_by: Some("alice"), + }) + .await + .unwrap(); + registry + .save_agent_bindings(SaveAgentBindingsRequest { + workspace_id: &test_workspace_id(), + agent_id: &test_agent_id("sales-refresh"), + agent_version: 1, + bindings: &[binding_for_operation(&operation)], + }) + .await + .unwrap(); + + let after_publish = post_jsonrpc( + &client, + &mcp_url, + &api_key, + Some(&initialized_session), + json!({ + "jsonrpc": "2.0", + "id": 3, + "method": "tools/list", + "params": {} + }), + ) + .await; + + assert_eq!(before_publish["result"]["tools"], json!([])); + assert_eq!( + after_publish["result"]["tools"][0]["name"], + "crm_publish_later" + ); + } + + #[tokio::test] + async fn shares_published_catalog_snapshot_across_instances() { + let registry = test_registry().await; + let upstream_base_url = spawn_upstream_server().await; + let operation = test_operation(&upstream_base_url, "crm_catalog_shared"); + let coordination_store = std::sync::Arc::new(InMemoryCoordinationStateStore::default()); + + registry + .create_operation(&test_workspace_id(), &operation, Some("alice")) + .await + .unwrap(); + registry + .publish_operation(PublishRequest { + workspace_id: &test_workspace_id(), + operation_id: &operation.id, + version: 1, + published_at: &OffsetDateTime::parse("2026-03-26T10:00:00Z", &Rfc3339).unwrap(), + published_by: Some("alice"), + }) + .await + .unwrap(); + publish_agent_for_operation(®istry, &operation, "sales-shared-catalog").await; + + let catalog_a = PublishedToolCatalog::new( + registry.clone(), + Duration::from_secs(60), + coordination_store.clone(), + ); + let tools_a = catalog_a + .list_tools(test_workspace_slug(), "sales-shared-catalog") + .await + .unwrap(); + assert_eq!(tools_a.len(), 1); + + registry + .unpublish_agent( + &test_workspace_id(), + &test_agent_id("sales-shared-catalog"), + &OffsetDateTime::parse("2026-03-26T10:05:00Z", &Rfc3339).unwrap(), + ) + .await + .unwrap(); + + let catalog_b = PublishedToolCatalog::new( + registry.clone(), + Duration::from_secs(60), + coordination_store, + ); + let tools_b = catalog_b + .list_tools(test_workspace_slug(), "sales-shared-catalog") + .await + .unwrap(); + + assert_eq!(tools_b.len(), 1); + assert_eq!(tools_b[0].tool_name, operation.name); + } + + #[tokio::test] + async fn lists_only_bound_tools_for_agent_context() { + let registry = test_registry().await; + let upstream_base_url = spawn_upstream_server().await; + let operation_a = test_operation(&upstream_base_url, "crm_create_lead"); + let operation_b = test_operation(&upstream_base_url, "crm_update_lead"); + + for operation in [&operation_a, &operation_b] { + registry + .create_operation(&test_workspace_id(), operation, Some("alice")) + .await + .unwrap(); + registry + .publish_operation(PublishRequest { + workspace_id: &test_workspace_id(), + operation_id: &operation.id, + version: 1, + published_at: &OffsetDateTime::parse("2026-03-26T10:00:00Z", &Rfc3339).unwrap(), + published_by: Some("alice"), + }) + .await + .unwrap(); + } + + publish_agent_with_bindings( + ®istry, + "sales-a", + vec![binding_for_operation(&operation_a)], + ) + .await; + publish_agent_with_bindings( + ®istry, + "sales-b", + vec![binding_for_operation(&operation_b)], + ) + .await; + let api_key_a = create_platform_api_key( + ®istry, + "sales-a", + "mcp-agent-a", + &[PlatformApiKeyScope::Read, PlatformApiKeyScope::Write], + ) + .await; + let api_key_b = create_platform_api_key( + ®istry, + "sales-b", + "mcp-agent-b", + &[PlatformApiKeyScope::Read, PlatformApiKeyScope::Write], + ) + .await; + + let base_url = spawn_mcp_server(build_test_app( + registry, + Duration::from_millis(0), + Some("https://crank.example.com".to_owned()), + )) + .await; + let client = reqwest::Client::new(); + let agent_a_url = agent_mcp_url(&base_url, "sales-a"); + let agent_b_url = agent_mcp_url(&base_url, "sales-b"); + let session_a = initialize_session(&client, &agent_a_url, &api_key_a).await; + let session_b = initialize_session(&client, &agent_b_url, &api_key_b).await; + + let tools_a = post_jsonrpc( + &client, + &agent_a_url, + &api_key_a, + Some(&session_a), + json!({ + "jsonrpc": "2.0", + "id": 2, + "method": "tools/list", + "params": {} + }), + ) + .await; + let tools_b = post_jsonrpc( + &client, + &agent_b_url, + &api_key_b, + Some(&session_b), + json!({ + "jsonrpc": "2.0", + "id": 2, + "method": "tools/list", + "params": {} + }), + ) + .await; + + assert_eq!(tools_a["result"]["tools"][0]["name"], "crm_create_lead"); + assert_eq!(tools_b["result"]["tools"][0]["name"], "crm_update_lead"); + } + + #[tokio::test] + async fn rejects_initialize_with_key_from_different_agent() { + let registry = test_registry().await; + let upstream_base_url = spawn_upstream_server().await; + let operation_a = test_operation(&upstream_base_url, "crm_create_lead"); + let operation_b = test_operation(&upstream_base_url, "crm_update_lead"); + + for operation in [&operation_a, &operation_b] { + registry + .create_operation(&test_workspace_id(), operation, Some("alice")) + .await + .unwrap(); + registry + .publish_operation(PublishRequest { + workspace_id: &test_workspace_id(), + operation_id: &operation.id, + version: 1, + published_at: &OffsetDateTime::parse("2026-03-26T10:00:00Z", &Rfc3339).unwrap(), + published_by: Some("alice"), + }) + .await + .unwrap(); + } + + publish_agent_with_bindings( + ®istry, + "sales-a", + vec![binding_for_operation(&operation_a)], + ) + .await; + publish_agent_with_bindings( + ®istry, + "sales-b", + vec![binding_for_operation(&operation_b)], + ) + .await; + let api_key_a = create_platform_api_key( + ®istry, + "sales-a", + "mcp-agent-a-only", + &[PlatformApiKeyScope::Read, PlatformApiKeyScope::Write], + ) + .await; + + let base_url = spawn_mcp_server(build_test_app( + registry, + Duration::from_millis(0), + Some("https://crank.example.com".to_owned()), + )) + .await; + let client = reqwest::Client::new(); + let response = client + .post(agent_mcp_url(&base_url, "sales-b")) + .header(header::ACCEPT, "application/json, text/event-stream") + .header(header::AUTHORIZATION, format!("Bearer {api_key_a}")) + .json(&json!({ + "jsonrpc": "2.0", + "id": 1, + "method": "initialize", + "params": { + "protocolVersion": "2025-11-25" + } + })) + .send() + .await + .unwrap(); + + assert_eq!(response.status(), reqwest::StatusCode::UNAUTHORIZED); + } + + #[tokio::test] + async fn accepts_initialize_with_verified_bearer_token_seam() { + let registry = test_registry().await; + publish_agent_with_bindings(®istry, "sales-token-seam", vec![]).await; + + let verifier = Arc::new(StubMachineCredentialVerifier { + token: "issued_token_demo".to_owned(), + credential: VerifiedMachineCredential { + machine_access_mode: crank_core::MachineAccessMode::ShortLivedToken, + max_security_level: crank_core::OperationSecurityLevel::Elevated, + scopes: vec![PlatformApiKeyScope::Read, PlatformApiKeyScope::Write], + }, + }); + + let base_url = spawn_mcp_server(build_test_app_with_store( + registry, + Duration::from_millis(0), + Some("https://crank.example.com".to_owned()), + RequestRateLimitConfig::new(10_000, 10_000).unwrap(), + std::sync::Arc::new(InMemorySessionStore::default()), + verifier, + )) + .await; + let client = reqwest::Client::new(); + let response = client + .post(agent_mcp_url(&base_url, "sales-token-seam")) + .header(header::ACCEPT, "application/json, text/event-stream") + .header(header::AUTHORIZATION, "Bearer issued_token_demo") + .json(&json!({ + "jsonrpc": "2.0", + "id": 1, + "method": "initialize", + "params": { + "protocolVersion": "2025-11-25" + } + })) + .send() + .await + .unwrap(); + + assert_eq!(response.status(), reqwest::StatusCode::OK); + assert!(response.headers().get("MCP-Session-Id").is_some()); + } + + #[tokio::test] + async fn rejects_initialize_without_platform_api_key() { + let registry = test_registry().await; + publish_agent_with_bindings(®istry, "sales-auth", vec![]).await; + let base_url = spawn_mcp_server(build_test_app( + registry, + Duration::from_millis(0), + Some("https://crank.example.com".to_owned()), + )) + .await; + let client = reqwest::Client::new(); + let response = client + .post(agent_mcp_url(&base_url, "sales-auth")) + .header(header::ACCEPT, "application/json, text/event-stream") + .json(&json!({ + "jsonrpc": "2.0", + "id": 1, + "method": "initialize", + "params": { + "protocolVersion": "2025-11-25" + } + })) + .send() + .await + .unwrap(); + + assert_eq!(response.status(), reqwest::StatusCode::UNAUTHORIZED); + } + + #[tokio::test] + async fn rejects_tool_call_with_read_only_platform_api_key() { + let registry = test_registry().await; + let upstream_base_url = spawn_upstream_server().await; + let operation = test_operation(&upstream_base_url, "crm_read_only"); + + registry + .create_operation(&test_workspace_id(), &operation, Some("alice")) + .await + .unwrap(); + registry + .publish_operation(PublishRequest { + workspace_id: &test_workspace_id(), + operation_id: &operation.id, + version: 1, + published_at: &OffsetDateTime::parse("2026-03-26T10:00:00Z", &Rfc3339).unwrap(), + published_by: Some("alice"), + }) + .await + .unwrap(); + publish_agent_for_operation(®istry, &operation, "sales-read-only").await; + let api_key = create_platform_api_key( + ®istry, + "sales-read-only", + "mcp-read", + &[PlatformApiKeyScope::Read], + ) + .await; + + let base_url = spawn_mcp_server(build_test_app( + registry, + Duration::from_millis(0), + Some("https://crank.example.com".to_owned()), + )) + .await; + let client = reqwest::Client::new(); + let mcp_url = agent_mcp_url(&base_url, "sales-read-only"); + let initialized_session = initialize_session(&client, &mcp_url, &api_key).await; + let response = client + .post(&mcp_url) + .header(header::ACCEPT, "application/json, text/event-stream") + .header(header::AUTHORIZATION, format!("Bearer {api_key}")) + .header("MCP-Session-Id", initialized_session) + .header("MCP-Protocol-Version", "2025-11-25") + .json(&json!({ + "jsonrpc": "2.0", + "id": 3, + "method": "tools/call", + "params": { + "name": "crm_read_only", + "arguments": { + "email": "user@example.com" + } + } + })) + .send() + .await + .unwrap(); + + assert_eq!(response.status(), reqwest::StatusCode::FORBIDDEN); + } + + #[tokio::test] + async fn rejects_elevated_operation_with_static_agent_key() { + let registry = test_registry().await; + let upstream_base_url = spawn_upstream_server().await; + let mut operation = test_operation(&upstream_base_url, "crm_elevated_static"); + operation.security_level = crank_core::OperationSecurityLevel::Elevated; + + registry + .create_operation(&test_workspace_id(), &operation, Some("alice")) + .await + .unwrap(); + registry + .publish_operation(PublishRequest { + workspace_id: &test_workspace_id(), + operation_id: &operation.id, + version: 1, + published_at: &OffsetDateTime::parse("2026-03-26T10:00:00Z", &Rfc3339).unwrap(), + published_by: Some("alice"), + }) + .await + .unwrap(); + publish_agent_for_operation(®istry, &operation, "sales-elevated-static").await; + let api_key = create_platform_api_key( + ®istry, + "sales-elevated-static", + "mcp-elevated-static", + &[PlatformApiKeyScope::Read, PlatformApiKeyScope::Write], + ) + .await; + + let base_url = spawn_mcp_server(build_test_app( + registry, + Duration::from_millis(0), + Some("https://crank.example.com".to_owned()), + )) + .await; + let client = reqwest::Client::new(); + let mcp_url = agent_mcp_url(&base_url, "sales-elevated-static"); + let initialized_session = initialize_session(&client, &mcp_url, &api_key).await; + let call_result = post_jsonrpc( + &client, + &mcp_url, + &api_key, + Some(&initialized_session), + json!({ + "jsonrpc": "2.0", + "id": 2, + "method": "tools/call", + "params": { + "name": "crm_elevated_static", + "arguments": { + "email": "alice@example.com" + } + } + }), + ) + .await; + + assert_eq!(call_result["result"]["isError"], json!(true)); + assert_eq!( + call_result["result"]["structuredContent"]["error"]["code"], + "machine_access_insufficient" + ); + assert_eq!( + call_result["result"]["structuredContent"]["error"]["context"]["machine_access_mode"], + "static_agent_key" + ); + assert_eq!( + call_result["result"]["structuredContent"]["error"]["context"]["required_security_level"], + "elevated" + ); + } + + #[tokio::test] + async fn allows_elevated_operation_with_verified_short_lived_token() { + let registry = test_registry().await; + let upstream_base_url = spawn_upstream_server().await; + let mut operation = test_operation(&upstream_base_url, "crm_elevated_token"); + operation.security_level = crank_core::OperationSecurityLevel::Elevated; + + registry + .create_operation(&test_workspace_id(), &operation, Some("alice")) + .await + .unwrap(); + registry + .publish_operation(PublishRequest { + workspace_id: &test_workspace_id(), + operation_id: &operation.id, + version: 1, + published_at: &OffsetDateTime::parse("2026-03-26T10:00:00Z", &Rfc3339).unwrap(), + published_by: Some("alice"), + }) + .await + .unwrap(); + publish_agent_for_operation(®istry, &operation, "sales-elevated-token").await; + + let verifier = Arc::new(StubMachineCredentialVerifier { + token: "issued_token_elevated".to_owned(), + credential: VerifiedMachineCredential { + machine_access_mode: crank_core::MachineAccessMode::ShortLivedToken, + max_security_level: crank_core::OperationSecurityLevel::Elevated, + scopes: vec![PlatformApiKeyScope::Read, PlatformApiKeyScope::Write], + }, + }); + + let base_url = spawn_mcp_server(build_test_app_with_store( + registry, + Duration::from_millis(0), + Some("https://crank.example.com".to_owned()), + RequestRateLimitConfig::new(10_000, 10_000).unwrap(), + std::sync::Arc::new(InMemorySessionStore::default()), + verifier, + )) + .await; + let client = reqwest::Client::new(); + let mcp_url = agent_mcp_url(&base_url, "sales-elevated-token"); + let initialized_session = + initialize_session(&client, &mcp_url, "issued_token_elevated").await; + let call_result = post_jsonrpc( + &client, + &mcp_url, + "issued_token_elevated", + Some(&initialized_session), + json!({ + "jsonrpc": "2.0", + "id": 2, + "method": "tools/call", + "params": { + "name": "crm_elevated_token", + "arguments": { + "email": "alice@example.com" + } + } + }), + ) + .await; + + assert_eq!(call_result["result"]["isError"], json!(false)); + assert_eq!(call_result["result"]["structuredContent"]["id"], "lead_123"); + } + + #[cfg(any())] + #[tokio::test] + async fn exposes_and_runs_session_tool_family_via_mcp() { + let registry = test_registry().await; + let server_addr = grpc_test_support::spawn_unary_echo_server().await; + let operation = test_grpc_session_operation(&server_addr, "echo_stream_session"); + + registry + .create_operation(&test_workspace_id(), &operation, Some("alice")) + .await + .unwrap(); + registry + .publish_operation(PublishRequest { + workspace_id: &test_workspace_id(), + operation_id: &operation.id, + version: 1, + published_at: &OffsetDateTime::parse("2026-03-26T10:00:00Z", &Rfc3339).unwrap(), + published_by: Some("alice"), + }) + .await + .unwrap(); + publish_agent_for_operation(®istry, &operation, "sales-session").await; + let api_key = create_platform_api_key( + ®istry, + "sales-session", + "mcp-session", + &[PlatformApiKeyScope::Read, PlatformApiKeyScope::Write], + ) + .await; + + let base_url = spawn_mcp_server(build_test_app( + registry.clone(), + Duration::from_millis(0), + Some("https://crank.example.com".to_owned()), + )) + .await; + let client = reqwest::Client::new(); + let mcp_url = agent_mcp_url(&base_url, "sales-session"); + let initialized_session = initialize_session(&client, &mcp_url, &api_key).await; + + let tools = post_jsonrpc( + &client, + &mcp_url, + &api_key, + Some(&initialized_session), + json!({ + "jsonrpc": "2.0", + "id": 2, + "method": "tools/list", + "params": {} + }), + ) + .await; + let tool_names = tools["result"]["tools"] + .as_array() + .unwrap() + .iter() + .map(|tool| tool["name"].as_str().unwrap().to_owned()) + .collect::>(); + assert!(!tool_names.contains(&operation.name)); + assert!(tool_names.contains(&"echo_stream_session_start".to_owned())); + assert!(tool_names.contains(&"echo_stream_session_poll".to_owned())); + assert!(tool_names.contains(&"echo_stream_session_stop".to_owned())); + + let start_response = post_jsonrpc( + &client, + &mcp_url, + &api_key, + Some(&initialized_session), + json!({ + "jsonrpc": "2.0", + "id": 3, + "method": "tools/call", + "params": { + "name": "echo_stream_session_start", + "arguments": { + "message": "hello" + } + } + }), + ) + .await; + let session_id = start_response["result"]["structuredContent"]["session_id"] + .as_str() + .unwrap() + .to_owned(); + assert_eq!( + start_response["result"]["structuredContent"]["status"], + json!("running") + ); + + let poll_response = post_jsonrpc( + &client, + &mcp_url, + &api_key, + Some(&initialized_session), + json!({ + "jsonrpc": "2.0", + "id": 4, + "method": "tools/call", + "params": { + "name": "echo_stream_session_poll", + "arguments": { + "session_id": session_id + } + } + }), + ) + .await; + assert_eq!( + poll_response["result"]["structuredContent"]["session_id"], + json!(session_id) + ); + assert!( + poll_response["result"]["structuredContent"]["items"] + .as_array() + .is_some_and(|items| !items.is_empty()) + ); + + let stop_response = post_jsonrpc( + &client, + &mcp_url, + &api_key, + Some(&initialized_session), + json!({ + "jsonrpc": "2.0", + "id": 5, + "method": "tools/call", + "params": { + "name": "echo_stream_session_stop", + "arguments": { + "session_id": session_id + } + } + }), + ) + .await; + assert_eq!( + stop_response["result"]["structuredContent"], + json!({ + "session_id": session_id, + "status": "stopped" + }) + ); + } + + #[cfg(any())] + #[tokio::test] + async fn rejects_cross_agent_session_poll() { + let registry = test_registry().await; + let server_addr = grpc_test_support::spawn_unary_echo_server().await; + let operation_a = test_grpc_session_operation(&server_addr, "echo_stream_session_a"); + let operation_b = test_grpc_session_operation(&server_addr, "echo_stream_session_b"); + + for operation in [&operation_a, &operation_b] { + registry + .create_operation(&test_workspace_id(), operation, Some("alice")) + .await + .unwrap(); + registry + .publish_operation(PublishRequest { + workspace_id: &test_workspace_id(), + operation_id: &operation.id, + version: 1, + published_at: &OffsetDateTime::parse("2026-03-26T10:00:00Z", &Rfc3339).unwrap(), + published_by: Some("alice"), + }) + .await + .unwrap(); + } + + publish_agent_for_operation(®istry, &operation_a, "sales-session-a").await; + publish_agent_for_operation(®istry, &operation_b, "sales-session-b").await; + let api_key_a = create_platform_api_key( + ®istry, + "sales-session-a", + "mcp-cross-session-a", + &[PlatformApiKeyScope::Read, PlatformApiKeyScope::Write], + ) + .await; + let api_key_b = create_platform_api_key( + ®istry, + "sales-session-b", + "mcp-cross-session-b", + &[PlatformApiKeyScope::Read, PlatformApiKeyScope::Write], + ) + .await; + + let base_url = spawn_mcp_server(build_test_app( + registry, + Duration::from_millis(0), + Some("https://crank.example.com".to_owned()), + )) + .await; + let client = reqwest::Client::new(); + let agent_a_url = agent_mcp_url(&base_url, "sales-session-a"); + let agent_b_url = agent_mcp_url(&base_url, "sales-session-b"); + let session_a = initialize_session(&client, &agent_a_url, &api_key_a).await; + let session_b = initialize_session(&client, &agent_b_url, &api_key_b).await; + + let start_response = post_jsonrpc( + &client, + &agent_a_url, + &api_key_a, + Some(&session_a), + json!({ + "jsonrpc": "2.0", + "id": 1, + "method": "tools/call", + "params": { + "name": "echo_stream_session_a_start", + "arguments": { "message": "hello" } + } + }), + ) + .await; + let foreign_session_id = start_response["result"]["structuredContent"]["session_id"] + .as_str() + .unwrap() + .to_owned(); + + let poll_response = post_jsonrpc( + &client, + &agent_b_url, + &api_key_b, + Some(&session_b), + json!({ + "jsonrpc": "2.0", + "id": 2, + "method": "tools/call", + "params": { + "name": "echo_stream_session_b_poll", + "arguments": { "session_id": foreign_session_id } + } + }), + ) + .await; + + assert_eq!( + poll_response["result"]["structuredContent"]["error"]["code"], + json!("stream_session_not_found") + ); + assert!( + poll_response["result"]["structuredContent"]["error"]["message"] + .as_str() + .is_some_and(|message| message.starts_with("stream session ")) + ); + } + + #[cfg(any())] + #[tokio::test] + async fn rejects_rapid_repeat_session_poll() { + let registry = test_registry().await; + let server_addr = grpc_test_support::spawn_unary_echo_server().await; + let operation = test_grpc_session_operation(&server_addr, "echo_stream_session_rate"); + + registry + .create_operation(&test_workspace_id(), &operation, Some("alice")) + .await + .unwrap(); + registry + .publish_operation(PublishRequest { + workspace_id: &test_workspace_id(), + operation_id: &operation.id, + version: 1, + published_at: &OffsetDateTime::parse("2026-03-26T10:00:00Z", &Rfc3339).unwrap(), + published_by: Some("alice"), + }) + .await + .unwrap(); + + publish_agent_for_operation(®istry, &operation, "sales-session-rate").await; + let api_key = create_platform_api_key( + ®istry, + "sales-session-rate", + "mcp-session-rate", + &[PlatformApiKeyScope::Read, PlatformApiKeyScope::Write], + ) + .await; + + let base_url = spawn_mcp_server(build_test_app( + registry, + Duration::from_millis(0), + Some("https://crank.example.com".to_owned()), + )) + .await; + let client = reqwest::Client::new(); + let mcp_url = agent_mcp_url(&base_url, "sales-session-rate"); + let initialized_session = initialize_session(&client, &mcp_url, &api_key).await; + + let start_response = post_jsonrpc( + &client, + &mcp_url, + &api_key, + Some(&initialized_session), + json!({ + "jsonrpc": "2.0", + "id": 1, + "method": "tools/call", + "params": { + "name": "echo_stream_session_rate_start", + "arguments": { "message": "hello" } + } + }), + ) + .await; + let session_id = start_response["result"]["structuredContent"]["session_id"] + .as_str() + .unwrap() + .to_owned(); + + let first_poll = post_jsonrpc( + &client, + &mcp_url, + &api_key, + Some(&initialized_session), + json!({ + "jsonrpc": "2.0", + "id": 2, + "method": "tools/call", + "params": { + "name": "echo_stream_session_rate_poll", + "arguments": { "session_id": session_id } + } + }), + ) + .await; + assert_eq!(first_poll["result"]["isError"], false); + + let second_poll = post_jsonrpc( + &client, + &mcp_url, + &api_key, + Some(&initialized_session), + json!({ + "jsonrpc": "2.0", + "id": 3, + "method": "tools/call", + "params": { + "name": "echo_stream_session_rate_poll", + "arguments": { "session_id": session_id } + } + }), + ) + .await; + + assert_eq!( + second_poll["result"]["structuredContent"]["error"]["code"], + json!("stream_session_poll_rate_limited") + ); + let poll_after_ms = + second_poll["result"]["structuredContent"]["error"]["context"]["poll_after_ms"] + .as_u64() + .unwrap(); + assert!((1..=250).contains(&poll_after_ms)); + } + + #[cfg(any())] + #[cfg(any())] + #[tokio::test] + async fn rejects_rapid_repeat_async_job_status_poll() { + let registry = test_registry().await; + let upstream_base_url = spawn_upstream_server().await; + let operation = test_rest_async_job_operation(&upstream_base_url, "crm_async_rate"); + + registry + .create_operation(&test_workspace_id(), &operation, Some("alice")) + .await + .unwrap(); + registry + .publish_operation(PublishRequest { + workspace_id: &test_workspace_id(), + operation_id: &operation.id, + version: 1, + published_at: &OffsetDateTime::parse("2026-03-26T10:00:00Z", &Rfc3339).unwrap(), + published_by: Some("alice"), + }) + .await + .unwrap(); + publish_agent_for_operation(®istry, &operation, "sales-async-rate").await; + let api_key = create_platform_api_key( + ®istry, + "sales-async-rate", + "mcp-async-rate", + &[PlatformApiKeyScope::Read, PlatformApiKeyScope::Write], + ) + .await; + + let now = OffsetDateTime::now_utc(); + let job_id = AsyncJobId::new("job_async_rate".to_owned()); + registry + .create_async_job(CreateAsyncJobRequest { + job: &AsyncJobHandle { + id: job_id.clone(), + workspace_id: test_workspace_id(), + agent_id: Some(AgentId::new("agent_sales-async-rate")), + operation_id: operation.id.clone(), + status: JobStatus::Running, + progress: json!({ "pct": 25 }), + result: None, + error: None, + expires_at: Some(now + time::Duration::minutes(5)), + last_poll_at: None, + created_at: now, + updated_at: now, + finished_at: None, + }, + }) + .await + .unwrap(); + + let base_url = spawn_mcp_server(build_test_app( + registry, + Duration::from_millis(0), + Some("https://crank.example.com".to_owned()), + )) + .await; + let client = reqwest::Client::new(); + let mcp_url = agent_mcp_url(&base_url, "sales-async-rate"); + let initialized_session = initialize_session(&client, &mcp_url, &api_key).await; + + let first_status = post_jsonrpc( + &client, + &mcp_url, + &api_key, + Some(&initialized_session), + json!({ + "jsonrpc": "2.0", + "id": 2, + "method": "tools/call", + "params": { + "name": "crm_async_rate_status", + "arguments": { + "job_id": job_id.as_str() + } + } + }), + ) + .await; + assert_eq!(first_status["result"]["isError"], false); + + let second_status = post_jsonrpc( + &client, + &mcp_url, + &api_key, + Some(&initialized_session), + json!({ + "jsonrpc": "2.0", + "id": 3, + "method": "tools/call", + "params": { + "name": "crm_async_rate_status", + "arguments": { + "job_id": job_id.as_str() + } + } + }), + ) + .await; + + assert_eq!( + second_status["result"]["structuredContent"]["error"]["code"], + json!("async_job_poll_rate_limited") + ); + let poll_after_ms = + second_status["result"]["structuredContent"]["error"]["context"]["poll_after_ms"] + .as_u64() + .unwrap(); + assert!((1..=250).contains(&poll_after_ms)); + } + + #[cfg(any())] + #[cfg(any())] + #[tokio::test(flavor = "multi_thread")] + async fn allows_completed_async_job_result_without_poll_delay() { + let registry = test_registry().await; + let upstream_base_url = spawn_upstream_server().await; + let operation = test_rest_async_job_operation(&upstream_base_url, "crm_async_completed"); + + registry + .create_operation(&test_workspace_id(), &operation, Some("alice")) + .await + .unwrap(); + registry + .publish_operation(PublishRequest { + workspace_id: &test_workspace_id(), + operation_id: &operation.id, + version: 1, + published_at: &OffsetDateTime::parse("2026-03-26T10:00:00Z", &Rfc3339).unwrap(), + published_by: Some("alice"), + }) + .await + .unwrap(); + publish_agent_for_operation(®istry, &operation, "sales-async-completed").await; + let api_key = create_platform_api_key( + ®istry, + "sales-async-completed", + "mcp-async-completed", + &[PlatformApiKeyScope::Read, PlatformApiKeyScope::Write], + ) + .await; + + let now = OffsetDateTime::now_utc(); + let job_id = AsyncJobId::new("job_async_completed".to_owned()); + registry + .create_async_job(CreateAsyncJobRequest { + job: &AsyncJobHandle { + id: job_id.clone(), + workspace_id: test_workspace_id(), + agent_id: Some(AgentId::new("agent_sales-async-completed")), + operation_id: operation.id.clone(), + status: JobStatus::Completed, + progress: json!({ "pct": 100 }), + result: Some(json!({ "id": "lead_123" })), + error: None, + expires_at: Some(now + time::Duration::minutes(5)), + last_poll_at: Some(now), + created_at: now, + updated_at: now, + finished_at: Some(now), + }, + }) + .await + .unwrap(); + + let base_url = spawn_mcp_server(build_test_app( + registry, + Duration::from_millis(0), + Some("https://crank.example.com".to_owned()), + )) + .await; + let client = reqwest::Client::new(); + let mcp_url = agent_mcp_url(&base_url, "sales-async-completed"); + let initialized_session = initialize_session(&client, &mcp_url, &api_key).await; + + let result_response = post_jsonrpc( + &client, + &mcp_url, + &api_key, + Some(&initialized_session), + json!({ + "jsonrpc": "2.0", + "id": 1, + "method": "tools/call", + "params": { + "name": "crm_async_completed_result", + "arguments": { + "job_id": job_id.as_str() + } + } + }), + ) + .await; + assert_eq!( + result_response["result"]["structuredContent"]["id"], + "lead_123" + ); + } + + #[tokio::test] + async fn rejects_rapid_initialize_requests_with_429() { + let registry = test_registry().await; + let upstream_base_url = spawn_upstream_server().await; + let operation = test_operation(&upstream_base_url, "crm_rate_limited"); + + registry + .create_operation(&test_workspace_id(), &operation, Some("alice")) + .await + .unwrap(); + registry + .publish_operation(PublishRequest { + workspace_id: &test_workspace_id(), + operation_id: &operation.id, + version: 1, + published_at: &OffsetDateTime::parse("2026-03-26T10:00:00Z", &Rfc3339).unwrap(), + published_by: Some("alice"), + }) + .await + .unwrap(); + publish_agent_for_operation(®istry, &operation, "sales-rate-limited").await; + let api_key = create_platform_api_key( + ®istry, + "sales-rate-limited", + "mcp-rate-limit", + &[PlatformApiKeyScope::Read, PlatformApiKeyScope::Write], + ) + .await; + + let base_url = spawn_mcp_server(build_test_app_with_rate_limit( + registry, + Duration::from_millis(0), + Some("https://crank.example.com".to_owned()), + RequestRateLimitConfig::new(1, 1).unwrap(), + )) + .await; + let client = reqwest::Client::new(); + let mcp_url = agent_mcp_url(&base_url, "sales-rate-limited"); + + let first_response = client + .post(&mcp_url) + .header(header::ACCEPT, "application/json, text/event-stream") + .header(header::AUTHORIZATION, format!("Bearer {api_key}")) + .header("x-request-id", "req_rate_limit_01") + .json(&json!({ + "jsonrpc": "2.0", + "id": 1, + "method": "initialize", + "params": { + "protocolVersion": "2025-11-25" + } + })) + .send() + .await + .unwrap(); + assert_eq!(first_response.status(), reqwest::StatusCode::OK); + + let second_response = client + .post(&mcp_url) + .header(header::ACCEPT, "application/json, text/event-stream") + .header(header::AUTHORIZATION, format!("Bearer {api_key}")) + .header("x-request-id", "req_rate_limit_02") + .json(&json!({ + "jsonrpc": "2.0", + "id": 2, + "method": "initialize", + "params": { + "protocolVersion": "2025-11-25" + } + })) + .send() + .await + .unwrap(); + + assert_eq!( + second_response.status(), + reqwest::StatusCode::TOO_MANY_REQUESTS + ); + assert_eq!( + second_response.headers()["x-request-id"].to_str().unwrap(), + "req_rate_limit_02" + ); + assert_eq!( + second_response.headers()["retry-after"].to_str().unwrap(), + "1" + ); + + let payload = second_response.json::().await.unwrap(); + assert_eq!(payload["error"]["code"], json!(-32029)); + assert_eq!( + payload["error"]["data"]["code"], + json!("request_rate_limited") + ); + let retry_after_ms = payload["error"]["data"]["retry_after_ms"].as_u64().unwrap(); + assert!((1..=1000).contains(&retry_after_ms)); + } + + #[cfg(any())] + #[cfg(any())] + #[tokio::test] + async fn rejects_cross_agent_async_job_access() { + let registry = test_registry().await; + let upstream_base_url = spawn_upstream_server().await; + let operation_a = test_rest_async_job_operation(&upstream_base_url, "crm_async_a"); + let operation_b = test_rest_async_job_operation(&upstream_base_url, "crm_async_b"); + + for operation in [&operation_a, &operation_b] { + registry + .create_operation(&test_workspace_id(), operation, Some("alice")) + .await + .unwrap(); + registry + .publish_operation(PublishRequest { + workspace_id: &test_workspace_id(), + operation_id: &operation.id, + version: 1, + published_at: &OffsetDateTime::parse("2026-03-26T10:00:00Z", &Rfc3339).unwrap(), + published_by: Some("alice"), + }) + .await + .unwrap(); + } + + publish_agent_for_operation(®istry, &operation_a, "sales-async-a").await; + publish_agent_for_operation(®istry, &operation_b, "sales-async-b").await; + let api_key_a = create_platform_api_key( + ®istry, + "sales-async-a", + "mcp-cross-async-a", + &[PlatformApiKeyScope::Read, PlatformApiKeyScope::Write], + ) + .await; + let api_key_b = create_platform_api_key( + ®istry, + "sales-async-b", + "mcp-cross-async-b", + &[PlatformApiKeyScope::Read, PlatformApiKeyScope::Write], + ) + .await; + + let base_url = spawn_mcp_server(build_test_app( + registry, + Duration::from_millis(0), + Some("https://crank.example.com".to_owned()), + )) + .await; + let client = reqwest::Client::new(); + let agent_a_url = agent_mcp_url(&base_url, "sales-async-a"); + let agent_b_url = agent_mcp_url(&base_url, "sales-async-b"); + let session_a = initialize_session(&client, &agent_a_url, &api_key_a).await; + let session_b = initialize_session(&client, &agent_b_url, &api_key_b).await; + + let start_response = post_jsonrpc( + &client, + &agent_a_url, + &api_key_a, + Some(&session_a), + json!({ + "jsonrpc": "2.0", + "id": 1, + "method": "tools/call", + "params": { + "name": "crm_async_a_start", + "arguments": { "email": "user@example.com" } + } + }), + ) + .await; + let foreign_job_id = start_response["result"]["structuredContent"]["job_id"] + .as_str() + .unwrap() + .to_owned(); + + let status_response = post_jsonrpc( + &client, + &agent_b_url, + &api_key_b, + Some(&session_b), + json!({ + "jsonrpc": "2.0", + "id": 2, + "method": "tools/call", + "params": { + "name": "crm_async_b_status", + "arguments": { "job_id": foreign_job_id } + } + }), + ) + .await; + + assert_eq!( + status_response["result"]["structuredContent"]["error"]["code"], + json!("async_job_not_found") + ); + assert!( + status_response["result"]["structuredContent"]["error"]["message"] + .as_str() + .is_some_and(|message| message.starts_with("async job ")) + ); + } + + #[cfg(any())] + #[cfg(any())] + #[tokio::test] + async fn exposes_and_runs_async_job_tool_family_via_mcp() { + let registry = test_registry().await; + let upstream_base_url = spawn_upstream_server().await; + let operation = test_rest_async_job_operation(&upstream_base_url, "crm_async_create_lead"); + + registry + .create_operation(&test_workspace_id(), &operation, Some("alice")) + .await + .unwrap(); + registry + .publish_operation(PublishRequest { + workspace_id: &test_workspace_id(), + operation_id: &operation.id, + version: 1, + published_at: &OffsetDateTime::parse("2026-03-26T10:00:00Z", &Rfc3339).unwrap(), + published_by: Some("alice"), + }) + .await + .unwrap(); + publish_agent_for_operation(®istry, &operation, "sales-async").await; + let api_key = create_platform_api_key( + ®istry, + "sales-async", + "mcp-async", + &[PlatformApiKeyScope::Read, PlatformApiKeyScope::Write], + ) + .await; + + let base_url = spawn_mcp_server(build_test_app( + registry.clone(), + Duration::from_millis(0), + Some("https://crank.example.com".to_owned()), + )) + .await; + let client = reqwest::Client::new(); + let mcp_url = agent_mcp_url(&base_url, "sales-async"); + let initialized_session = initialize_session(&client, &mcp_url, &api_key).await; + + let tools = post_jsonrpc( + &client, + &mcp_url, + &api_key, + Some(&initialized_session), + json!({ + "jsonrpc": "2.0", + "id": 2, + "method": "tools/list", + "params": {} + }), + ) + .await; + let tool_names = tools["result"]["tools"] + .as_array() + .unwrap() + .iter() + .map(|tool| tool["name"].as_str().unwrap().to_owned()) + .collect::>(); + assert!(!tool_names.contains(&operation.name)); + assert!(tool_names.contains(&"crm_async_create_lead_start".to_owned())); + assert!(tool_names.contains(&"crm_async_create_lead_status".to_owned())); + assert!(tool_names.contains(&"crm_async_create_lead_result".to_owned())); + assert!(tool_names.contains(&"crm_async_create_lead_cancel".to_owned())); + + let start_response = post_jsonrpc( + &client, + &mcp_url, + &api_key, + Some(&initialized_session), + json!({ + "jsonrpc": "2.0", + "id": 3, + "method": "tools/call", + "params": { + "name": "crm_async_create_lead_start", + "arguments": { + "email": "user@example.com" + } + } + }), + ) + .await; + let job_id = start_response["result"]["structuredContent"]["job_id"] + .as_str() + .unwrap() + .to_owned(); + assert_eq!( + start_response["result"]["structuredContent"]["status"], + json!("running") + ); + + let mut status_response = Value::Null; + for _ in 0..20 { + status_response = post_jsonrpc( + &client, + &mcp_url, + &api_key, + Some(&initialized_session), + json!({ + "jsonrpc": "2.0", + "id": 4, + "method": "tools/call", + "params": { + "name": "crm_async_create_lead_status", + "arguments": { + "job_id": job_id + } + } + }), + ) + .await; + + if status_response["result"]["structuredContent"]["status"] == json!("completed") { + break; + } + + sleep(Duration::from_millis(250)).await; + } + + sleep(Duration::from_millis(250)).await; + + assert_eq!( + status_response["result"]["structuredContent"]["status"], + json!("completed") + ); + + let result_response = post_jsonrpc( + &client, + &mcp_url, + &api_key, + Some(&initialized_session), + json!({ + "jsonrpc": "2.0", + "id": 5, + "method": "tools/call", + "params": { + "name": "crm_async_create_lead_result", + "arguments": { + "job_id": job_id + } + } + }), + ) + .await; + assert_eq!( + result_response["result"]["structuredContent"], + json!({ "id": "lead_123" }) + ); + } + + #[cfg(any())] + #[tokio::test] + async fn executes_window_operation_via_mcp() { + let registry = test_registry().await; + let upstream_base_url = spawn_upstream_server().await; + let operation = test_rest_window_operation(&upstream_base_url, "crm_window_logs"); + + registry + .create_operation(&test_workspace_id(), &operation, Some("alice")) + .await + .unwrap(); + registry + .publish_operation(PublishRequest { + workspace_id: &test_workspace_id(), + operation_id: &operation.id, + version: 1, + published_at: &OffsetDateTime::parse("2026-03-26T10:00:00Z", &Rfc3339).unwrap(), + published_by: Some("alice"), + }) + .await + .unwrap(); + publish_agent_for_operation(®istry, &operation, "sales-window").await; + let api_key = create_platform_api_key( + ®istry, + "sales-window", + "mcp-window", + &[PlatformApiKeyScope::Read, PlatformApiKeyScope::Write], + ) + .await; + + let base_url = spawn_mcp_server(build_test_app( + registry, + Duration::from_millis(0), + Some("https://crank.example.com".to_owned()), + )) + .await; + let client = reqwest::Client::new(); + let mcp_url = agent_mcp_url(&base_url, "sales-window"); + let initialized_session = initialize_session(&client, &mcp_url, &api_key).await; + + let call_result = post_jsonrpc( + &client, + &mcp_url, + &api_key, + Some(&initialized_session), + json!({ + "jsonrpc": "2.0", + "id": 3, + "method": "tools/call", + "params": { + "name": "crm_window_logs", + "arguments": {} + } + }), + ) + .await; + + assert_eq!(call_result["result"]["isError"], false); + assert_eq!( + call_result["result"]["structuredContent"]["items"][0]["message"], + json!("billing started") + ); + assert_eq!( + call_result["result"]["structuredContent"]["window_complete"], + json!(true) + ); + } + + async fn initialize_session(client: &reqwest::Client, mcp_url: &str, api_key: &str) -> String { + let initialize_response = client + .post(mcp_url) + .header(header::ACCEPT, "application/json, text/event-stream") + .header(header::AUTHORIZATION, format!("Bearer {api_key}")) + .json(&json!({ + "jsonrpc": "2.0", + "id": 1, + "method": "initialize", + "params": { + "protocolVersion": "2025-11-25" + } + })) + .send() + .await + .unwrap(); + assert_eq!(initialize_response.status(), reqwest::StatusCode::OK); + let session_id = initialize_response + .headers() + .get("MCP-Session-Id") + .unwrap() + .to_str() + .unwrap() + .to_owned(); + + let initialized_response = client + .post(mcp_url) + .header(header::ACCEPT, "application/json, text/event-stream") + .header(header::AUTHORIZATION, format!("Bearer {api_key}")) + .header("MCP-Session-Id", &session_id) + .header("MCP-Protocol-Version", "2025-11-25") + .json(&json!({ + "jsonrpc": "2.0", + "method": "notifications/initialized", + "params": {} + })) + .send() + .await + .unwrap(); + + assert_eq!(initialized_response.status(), reqwest::StatusCode::ACCEPTED); + + session_id + } + + async fn post_jsonrpc( + client: &reqwest::Client, + mcp_url: &str, + api_key: &str, + session_id: Option<&str>, + payload: Value, + ) -> Value { + post_jsonrpc_response(client, mcp_url, api_key, session_id, None, payload) + .await + .json::() + .await + .unwrap() + } + + async fn post_jsonrpc_response( + client: &reqwest::Client, + mcp_url: &str, + api_key: &str, + session_id: Option<&str>, + request_id: Option<&str>, + payload: Value, + ) -> reqwest::Response { + let mut request = client + .post(mcp_url) + .header(header::ACCEPT, "application/json, text/event-stream") + .header(header::AUTHORIZATION, format!("Bearer {api_key}")) + .header("MCP-Protocol-Version", "2025-11-25"); + + if let Some(session_id) = session_id { + request = request.header("MCP-Session-Id", session_id); + } + + if let Some(request_id) = request_id { + request = request.header("x-request-id", request_id); + } + + request.json(&payload).send().await.unwrap() + } + + async fn create_platform_api_key( + registry: &PostgresRegistry, + agent_slug: &str, + name: &str, + scopes: &[PlatformApiKeyScope], + ) -> String { + let secret = format!("crk_{}_{}", name, uuid::Uuid::now_v7().simple()); + let api_key = PlatformApiKey { + id: PlatformApiKeyId::new(format!("pk_{name}")), + workspace_id: test_workspace_id(), + agent_id: Some(test_agent_id(agent_slug)), + name: name.to_owned(), + prefix: secret.chars().take(16).collect(), + scopes: scopes.to_vec(), + status: PlatformApiKeyStatus::Active, + created_at: OffsetDateTime::parse("2026-03-26T10:00:00Z", &Rfc3339).unwrap(), + last_used_at: None, + }; + + registry + .create_platform_api_key(CreatePlatformApiKeyRequest { + api_key: &api_key, + secret_hash: &hash_access_secret(&secret), + }) + .await + .unwrap(); + + secret + } + + fn hash_access_secret(secret: &str) -> String { + let digest = Sha256::digest(secret.as_bytes()); + URL_SAFE_NO_PAD.encode(digest) + } + + async fn spawn_upstream_server() -> String { + let app = Router::new() + .route("/sse/logs", get(stream_logs)) + .route("/crm/leads", post(create_lead)) + .route("/crm/slow-leads", post(create_slow_lead)); + let listener = TcpListener::bind("127.0.0.1:0").await.unwrap(); + let address = listener.local_addr().unwrap(); + + tokio::spawn(async move { + axum::serve(listener, app).await.unwrap(); + }); + + format!("http://{}", address) + } + + #[cfg(any())] + async fn spawn_graphql_server() -> String { + let app = Router::new().route("/", post(graphql_handler)); + let listener = TcpListener::bind("127.0.0.1:0").await.unwrap(); + let address = listener.local_addr().unwrap(); + + tokio::spawn(async move { + axum::serve(listener, app).await.unwrap(); + }); + + format!("http://{}", address) + } + + async fn spawn_mcp_server(app: Router) -> String { + let listener = TcpListener::bind("127.0.0.1:0").await.unwrap(); + let address = listener.local_addr().unwrap(); + + tokio::spawn(async move { + axum::serve(listener, app).await.unwrap(); + }); + + format!("http://{}", address) + } + + fn agent_mcp_url(base_url: &str, agent_slug: &str) -> String { + format!("{base_url}/v1/{}/{}", test_workspace_slug(), agent_slug) + } + + async fn publish_agent_for_operation( + registry: &PostgresRegistry, + operation: &Operation, + agent_slug: &str, + ) { + publish_agent_with_bindings(registry, agent_slug, vec![binding_for_operation(operation)]) + .await; + } + + async fn publish_agent_with_bindings( + registry: &PostgresRegistry, + agent_slug: &str, + bindings: Vec, + ) { + let agent_id = AgentId::new(format!("agent_{agent_slug}")); + let agent = Agent { + id: agent_id.clone(), + workspace_id: test_workspace_id(), + slug: agent_slug.to_owned(), + display_name: format!("Agent {agent_slug}"), + description: "Curated MCP toolset".to_owned(), + status: AgentStatus::Draft, + current_draft_version: 1, + latest_published_version: None, + created_at: OffsetDateTime::parse("2026-03-26T10:00:00Z", &Rfc3339).unwrap(), + updated_at: OffsetDateTime::parse("2026-03-26T10:00:00Z", &Rfc3339).unwrap(), + published_at: None, + }; + let version = AgentVersion { + agent_id: agent_id.clone(), + version: 1, + status: AgentStatus::Draft, + instructions: json!({}), + tool_selection_policy: json!({}), + created_at: OffsetDateTime::parse("2026-03-26T10:00:00Z", &Rfc3339).unwrap(), + }; + + registry + .create_agent(CreateAgentRequest { + agent: &agent, + version: &version, + bindings: &bindings, + }) + .await + .unwrap(); + registry + .publish_agent(PublishAgentRequest { + workspace_id: &test_workspace_id(), + agent_id: &agent_id, + version: 1, + published_at: &OffsetDateTime::parse("2026-03-26T10:00:00Z", &Rfc3339).unwrap(), + published_by: Some("alice"), + }) + .await + .unwrap(); + } + + fn binding_for_operation(operation: &Operation) -> AgentOperationBinding { + AgentOperationBinding { + operation_id: operation.id.clone(), + operation_version: 1, + tool_name: operation.name.clone(), + tool_title: operation.tool_description.title.clone(), + tool_description_override: None, + enabled: true, + } + } + + async fn create_lead(Json(payload): Json) -> Json { + Json(json!({ + "id": "lead_123", + "email": payload["email"] + })) + } + + async fn create_slow_lead(Json(payload): Json) -> Json { + sleep(Duration::from_millis(250)).await; + + Json(json!({ + "id": "lead_123", + "email": payload["email"] + })) + } + + async fn stream_logs() + -> Sse>> { + let events = vec![ + json!({ "level": "info", "message": "billing started" }), + json!({ "level": "warn", "message": "cache warmup slow" }), + json!({ "level": "error", "message": "invoice timeout" }), + ]; + let stream = stream::iter(events.into_iter().map(|payload| { + Ok::<_, std::convert::Infallible>(Event::default().data(payload.to_string())) + })); + Sse::new(stream).keep_alive(KeepAlive::new().interval(Duration::from_secs(15))) + } + + #[cfg(any())] + async fn graphql_handler(Json(payload): Json) -> Json { + let email = payload + .get("variables") + .and_then(|variables| variables.get("email")) + .and_then(Value::as_str) + .unwrap_or_default(); + + Json(json!({ + "data": { + "createLead": { + "id": "lead_123", + "email": email + } + } + })) + } + + async fn test_registry() -> PostgresRegistry { + let database_url = env::var("TEST_DATABASE_URL") + .unwrap_or_else(|_| "postgres://crank:crank@127.0.0.1:15432/crank".to_owned()); + let admin_pool = PgPoolOptions::new() + .max_connections(1) + .connect(&database_url) + .await + .unwrap(); + let schema = format!("test_mcp_server_{}", uuid::Uuid::now_v7().simple()); + + admin_pool + .execute(sqlx::query(&format!("create schema {schema}"))) + .await + .unwrap(); + + PostgresRegistry::connect(&format!("{database_url}?options=-csearch_path%3D{schema}")) + .await + .unwrap() + } + + fn test_operation(base_url: &str, name: &str) -> Operation { + Operation { + id: OperationId::new(format!("op_{name}")), + name: name.to_owned(), + display_name: "Create Lead".to_owned(), + category: "sales".to_owned(), + protocol: Protocol::Rest, + security_level: crank_core::OperationSecurityLevel::Standard, + status: OperationStatus::Published, + version: 1, + target: Target::Rest(RestTarget { + base_url: base_url.to_owned(), + method: HttpMethod::Post, + path_template: "/crm/leads".to_owned(), + static_headers: BTreeMap::new(), + }), + input_schema: object_schema("email"), + output_schema: object_schema("id"), + input_mapping: MappingSet { + rules: vec![MappingRule { + source: "$.mcp.email".to_owned(), + target: "$.request.body.email".to_owned(), + required: true, + default_value: None, + transform: None, + condition: None, + notes: None, + }], + }, + output_mapping: MappingSet { + rules: vec![MappingRule { + source: "$.response.body.id".to_owned(), + target: "$.output.id".to_owned(), + required: true, + default_value: None, + transform: None, + condition: None, + notes: None, + }], + }, + execution_config: ExecutionConfig { + timeout_ms: 1_000, + retry_policy: None, + response_cache: None, + auth_profile_ref: None, + headers: BTreeMap::new(), + protocol_options: None, + streaming: None, + }, + tool_description: ToolDescription { + title: "Create Lead".to_owned(), + description: "Creates a CRM lead".to_owned(), + tags: Vec::new(), + examples: Vec::new(), + }, + samples: None, + generated_draft: None, + config_export: None, + created_at: OffsetDateTime::parse("2026-03-26T10:00:00Z", &Rfc3339).unwrap(), + updated_at: OffsetDateTime::parse("2026-03-26T10:00:00Z", &Rfc3339).unwrap(), + published_at: Some(OffsetDateTime::parse("2026-03-26T10:00:00Z", &Rfc3339).unwrap()), + } + } + + #[cfg(any())] + fn test_graphql_operation(endpoint: &str, name: &str) -> Operation { + Operation { + id: OperationId::new(format!("op_{name}")), + name: name.to_owned(), + display_name: "Create Lead GraphQL".to_owned(), + category: "sales".to_owned(), + protocol: Protocol::Graphql, + security_level: crank_core::OperationSecurityLevel::Standard, + status: OperationStatus::Published, + version: 1, + target: Target::Graphql(GraphqlTarget { + endpoint: endpoint.to_owned(), + operation_type: GraphqlOperationType::Mutation, + operation_name: "CreateLead".to_owned(), + query_template: + "mutation CreateLead($email: String!) { createLead(email: $email) { id email } }" + .to_owned(), + response_path: "$.response.body.data.createLead".to_owned(), + }), + input_schema: object_schema("email"), + output_schema: object_schema("id"), + input_mapping: MappingSet { + rules: vec![MappingRule { + source: "$.mcp.email".to_owned(), + target: "$.request.variables.email".to_owned(), + required: true, + default_value: None, + transform: None, + condition: None, + notes: None, + }], + }, + output_mapping: MappingSet { + rules: vec![MappingRule { + source: "$.response.data.id".to_owned(), + target: "$.output.id".to_owned(), + required: true, + default_value: None, + transform: None, + condition: None, + notes: None, + }], + }, + execution_config: ExecutionConfig { + timeout_ms: 1_000, + retry_policy: None, + response_cache: None, + auth_profile_ref: None, + headers: BTreeMap::new(), + protocol_options: None, + streaming: None, + }, + tool_description: ToolDescription { + title: "Create Lead GraphQL".to_owned(), + description: "Creates a CRM lead through GraphQL".to_owned(), + tags: vec!["graphql".to_owned()], + examples: Vec::new(), + }, + samples: None, + generated_draft: None, + config_export: None, + created_at: OffsetDateTime::parse("2026-03-26T10:00:00Z", &Rfc3339).unwrap(), + updated_at: OffsetDateTime::parse("2026-03-26T10:00:00Z", &Rfc3339).unwrap(), + published_at: Some( + OffsetDateTime::parse("2026-03-26T10:00:00Z", &Rfc3339).unwrap(), + ), + } + } + + #[cfg(any())] + fn test_grpc_operation(server_addr: &str, name: &str) -> Operation { + Operation { + id: OperationId::new(format!("op_{name}")), + name: name.to_owned(), + display_name: "Unary Echo gRPC".to_owned(), + category: "support".to_owned(), + protocol: Protocol::Grpc, + security_level: crank_core::OperationSecurityLevel::Standard, + status: OperationStatus::Published, + version: 1, + target: Target::Grpc(GrpcTarget { + server_addr: server_addr.to_owned(), + package: "echo".to_owned(), + service: "EchoService".to_owned(), + method: "UnaryEcho".to_owned(), + read_only: false, + descriptor_ref: DescriptorId::new("desc_echo"), + descriptor_set_b64: grpc_test_support::descriptor_set_b64(), + }), + input_schema: object_schema("message"), + output_schema: object_schema("message"), + input_mapping: MappingSet { + rules: vec![MappingRule { + source: "$.mcp.message".to_owned(), + target: "$.request.grpc.message".to_owned(), + required: true, + default_value: None, + transform: None, + condition: None, + notes: None, + }], + }, + output_mapping: MappingSet { + rules: vec![MappingRule { + source: "$.response.data.message".to_owned(), + target: "$.output.message".to_owned(), + required: true, + default_value: None, + transform: None, + condition: None, + notes: None, + }], + }, + execution_config: ExecutionConfig { + timeout_ms: 1_000, + retry_policy: None, + response_cache: None, + auth_profile_ref: None, + headers: BTreeMap::new(), + protocol_options: None, + streaming: None, + }, + tool_description: ToolDescription { + title: "Unary Echo gRPC".to_owned(), + description: "Echoes a unary gRPC payload".to_owned(), + tags: vec!["grpc".to_owned()], + examples: Vec::new(), + }, + samples: None, + generated_draft: None, + config_export: None, + created_at: OffsetDateTime::parse("2026-03-26T10:00:00Z", &Rfc3339).unwrap(), + updated_at: OffsetDateTime::parse("2026-03-26T10:00:00Z", &Rfc3339).unwrap(), + published_at: Some(OffsetDateTime::parse("2026-03-26T10:00:00Z", &Rfc3339).unwrap()), + } + } + + #[cfg(any())] + fn test_grpc_session_operation(server_addr: &str, name: &str) -> Operation { + let mut operation = test_grpc_operation(server_addr, name); + operation.target = Target::Grpc(GrpcTarget { + server_addr: server_addr.to_owned(), + package: "echo".to_owned(), + service: "EchoService".to_owned(), + method: "ServerEcho".to_owned(), + read_only: false, + descriptor_ref: DescriptorId::new("desc_echo"), + descriptor_set_b64: grpc_test_support::descriptor_set_b64(), + }); + operation.display_name = "Server Echo Session".to_owned(); + operation.tool_description = ToolDescription { + title: "Server Echo Session".to_owned(), + description: "Streams echo messages through a bounded session".to_owned(), + tags: vec!["grpc".to_owned(), "streaming".to_owned()], + examples: Vec::new(), + }; + operation.execution_config.streaming = Some(StreamingConfig { + mode: ExecutionMode::Session, + transport_behavior: TransportBehavior::ServerStream, + window_duration_ms: Some(1_000), + poll_interval_ms: Some(250), + upstream_timeout_ms: Some(1_000), + idle_timeout_ms: Some(5_000), + max_session_lifetime_ms: Some(60_000), + max_items: Some(1), + max_bytes: Some(16 * 1024), + aggregation_mode: AggregationMode::SummaryPlusSamples, + summary_path: None, + items_path: Some("$.items".to_owned()), + cursor_path: None, + status_path: None, + done_path: Some("$.done".to_owned()), + redacted_paths: Vec::new(), + truncate_item_fields: false, + max_field_length: None, + drop_duplicates: false, + sampling_rate: None, + tool_family: ToolFamilyConfig { + start_tool_name: Some(format!("{name}_start")), + poll_tool_name: Some(format!("{name}_poll")), + stop_tool_name: Some(format!("{name}_stop")), + status_tool_name: None, + result_tool_name: None, + cancel_tool_name: None, + }, + }); + operation + } + + #[cfg(any())] + fn test_rest_async_job_operation(base_url: &str, name: &str) -> Operation { + let mut operation = test_operation(base_url, name); + operation.display_name = "Create Lead Async".to_owned(); + operation.tool_description = ToolDescription { + title: "Create Lead Async".to_owned(), + description: "Creates a CRM lead through an async job tool family".to_owned(), + tags: vec!["rest".to_owned(), "async_job".to_owned()], + examples: Vec::new(), + }; + operation.execution_config.streaming = Some(StreamingConfig { + mode: ExecutionMode::AsyncJob, + transport_behavior: TransportBehavior::DeferredResult, + window_duration_ms: None, + poll_interval_ms: Some(250), + upstream_timeout_ms: Some(2_000), + idle_timeout_ms: None, + max_session_lifetime_ms: Some(300_000), + max_items: None, + max_bytes: Some(16 * 1024), + aggregation_mode: AggregationMode::SummaryOnly, + summary_path: None, + items_path: None, + cursor_path: None, + status_path: None, + done_path: None, + redacted_paths: Vec::new(), + truncate_item_fields: false, + max_field_length: None, + drop_duplicates: false, + sampling_rate: None, + tool_family: ToolFamilyConfig { + start_tool_name: Some(format!("{name}_start")), + poll_tool_name: None, + stop_tool_name: None, + status_tool_name: Some(format!("{name}_status")), + result_tool_name: Some(format!("{name}_result")), + cancel_tool_name: Some(format!("{name}_cancel")), + }, + }); + operation + } + + #[cfg(any())] + fn test_rest_window_operation(base_url: &str, name: &str) -> Operation { + let mut operation = test_operation(base_url, name); + operation.display_name = "Window Logs".to_owned(); + operation.target = Target::Rest(RestTarget { + base_url: base_url.to_owned(), + method: HttpMethod::Get, + path_template: "/sse/logs".to_owned(), + static_headers: BTreeMap::new(), + }); + operation.input_schema = optional_object_schema("window"); + operation.output_schema = empty_object_schema(); + operation.input_mapping = MappingSet { + rules: vec![MappingRule { + source: "$.mcp.window".to_owned(), + target: "$.request.query.window".to_owned(), + required: false, + default_value: Some(json!("recent")), + transform: None, + condition: None, + notes: None, + }], + }; + operation.output_mapping = MappingSet { rules: Vec::new() }; + operation.tool_description = ToolDescription { + title: "Window Logs".to_owned(), + description: "Collects a bounded SSE log window".to_owned(), + tags: vec![ + "rest".to_owned(), + "streaming".to_owned(), + "window".to_owned(), + ], + examples: Vec::new(), + }; + operation.execution_config.streaming = Some(StreamingConfig { + mode: ExecutionMode::Window, + transport_behavior: TransportBehavior::ServerStream, + window_duration_ms: Some(1_000), + poll_interval_ms: None, + upstream_timeout_ms: Some(1_000), + idle_timeout_ms: None, + max_session_lifetime_ms: None, + max_items: Some(3), + max_bytes: Some(16 * 1024), + aggregation_mode: AggregationMode::SummaryPlusSamples, + summary_path: None, + items_path: Some("$.items".to_owned()), + cursor_path: None, + status_path: None, + done_path: Some("$.done".to_owned()), + redacted_paths: Vec::new(), + truncate_item_fields: false, + max_field_length: None, + drop_duplicates: false, + sampling_rate: None, + tool_family: ToolFamilyConfig::default(), + }); + operation + } + + fn object_schema(field_name: &str) -> Schema { + Schema { + kind: SchemaKind::Object, + description: None, + required: true, + nullable: false, + default_value: None, + fields: BTreeMap::from([( + field_name.to_owned(), + Schema { + kind: SchemaKind::String, + description: None, + required: true, + nullable: false, + default_value: None, + fields: BTreeMap::new(), + items: None, + enum_values: Vec::new(), + variants: Vec::new(), + }, + )]), + items: None, + enum_values: Vec::new(), + variants: Vec::new(), + } + } + + #[cfg(any())] + fn empty_object_schema() -> Schema { + Schema { + kind: SchemaKind::Object, + description: None, + required: true, + nullable: false, + default_value: None, + fields: BTreeMap::new(), + items: None, + enum_values: Vec::new(), + variants: Vec::new(), + } + } + + #[cfg(any())] + fn optional_object_schema(field_name: &str) -> Schema { + Schema { + kind: SchemaKind::Object, + description: None, + required: true, + nullable: false, + default_value: None, + fields: BTreeMap::from([( + field_name.to_owned(), + Schema { + kind: SchemaKind::String, + description: None, + required: false, + nullable: false, + default_value: None, + fields: BTreeMap::new(), + items: None, + enum_values: Vec::new(), + variants: Vec::new(), + }, + )]), + items: None, + enum_values: Vec::new(), + variants: Vec::new(), + } + } +} diff --git a/apps/ui/Dockerfile b/apps/ui/Dockerfile new file mode 100644 index 0000000..8130a9e --- /dev/null +++ b/apps/ui/Dockerfile @@ -0,0 +1,18 @@ +FROM node:22-alpine AS build + +WORKDIR /app + +COPY apps/ui/package.json apps/ui/package-lock.json ./ +RUN npm ci + +COPY apps/ui ./ +COPY Crank.png ./Crank.png + +RUN npm run build + +FROM nginx:1.27-alpine + +COPY apps/ui/nginx.conf /etc/nginx/conf.d/default.conf +COPY --from=build /app/dist /usr/share/nginx/html + +EXPOSE 3000 diff --git a/apps/ui/css/catalog.css b/apps/ui/css/catalog.css new file mode 100644 index 0000000..20003fd --- /dev/null +++ b/apps/ui/css/catalog.css @@ -0,0 +1,579 @@ +/* ── Page header ── */ +.page-header { + display: flex; + align-items: flex-start; + justify-content: space-between; + margin-bottom: 32px; +} +.page-heading { + font-size: 24px; + font-weight: 700; + letter-spacing: -0.5px; + color: var(--text-primary); + margin-bottom: 4px; +} +.page-subheading { font-size: 14px; color: var(--text-muted); } + +.btn-new { + display: inline-flex; + align-items: center; + gap: 7px; + padding: 9px 18px; + border-radius: var(--radius); + background: var(--accent); + color: #fff; + font-size: 13.5px; + font-weight: 600; + border: 1px solid var(--accent-dim); + box-shadow: 0 1px 4px rgba(13,148,136,0.4); + transition: all 0.15s; + white-space: nowrap; + text-decoration: none; +} +.btn-new:hover { + background: var(--accent-dim); + box-shadow: 0 2px 10px rgba(13,148,136,0.5); + transform: translateY(-1px); +} + +/* ── Stats ── */ +.stats-row { + display: grid; + grid-template-columns: repeat(4, 1fr); + gap: 1px; + background: var(--border); + border: 1px solid var(--border); + border-radius: var(--radius-lg); + overflow: hidden; + margin-bottom: 28px; +} +.stat-card { background: var(--bg-surface); padding: 18px 22px; } +.stat-label { + font-size: 11px; + color: var(--text-muted); + font-weight: 600; + letter-spacing: 0.06em; + text-transform: uppercase; + margin-bottom: 6px; +} +.stat-value { + font-size: 26px; + font-weight: 700; + letter-spacing: -1px; + color: var(--text-primary); +} +.stat-delta { font-size: 12px; color: var(--text-muted); margin-top: 3px; } +.stat-delta.up { color: var(--green); } +.stat-delta.down { color: var(--red); } + +/* ── Tabs ── */ +.tab-row { + display: flex; + align-items: center; + border-bottom: 1px solid var(--border); + margin-bottom: 20px; +} +.tab-item { + display: flex; + align-items: center; + gap: 7px; + padding: 10px 18px; + font-size: 14px; + font-weight: 450; + color: var(--text-muted); + cursor: pointer; + border: none; + background: none; + border-bottom: 2px solid transparent; + margin-bottom: -1px; + transition: color 0.1s; +} +.tab-item:hover { color: var(--text-secondary); } +.tab-item.active { + color: var(--text-primary); + font-weight: 600; + border-bottom-color: var(--accent-bright); +} +.tab-count { + display: inline-flex; + align-items: center; + justify-content: center; + background: var(--bg-overlay); + border: 1px solid var(--border); + border-radius: 10px; + padding: 0 6px; + height: 18px; + font-size: 11px; + font-weight: 600; + color: var(--text-muted); + min-width: 20px; +} +.tab-item.active .tab-count { + background: var(--accent); + color: #fff; + border-color: var(--accent-dim); +} + +/* ── Filter bar ── */ +.filter-bar { + display: flex; + align-items: center; + gap: 8px; + margin-bottom: 16px; + flex-wrap: wrap; +} + +.search-box { + display: flex; + align-items: center; + gap: 8px; + background: var(--bg-surface); + border: 1px solid var(--border); + border-radius: var(--radius); + padding: 7px 12px; + width: 220px; + transition: border-color 0.15s, box-shadow 0.15s; +} +.search-box:focus-within { + border-color: var(--accent); + box-shadow: 0 0 0 3px var(--accent-ring); +} +.search-box input { + border: none; + background: none; + outline: none; + font-size: 13.5px; + color: var(--text-primary); + width: 100%; + font-family: inherit; +} +.search-box input::placeholder { color: var(--text-muted); } +.search-box svg { color: var(--text-muted); flex-shrink: 0; } + +/* ── Dropdown filter chip ── */ +.filter-dropdown { position: relative; } + +.filter-chip { + display: inline-flex; + align-items: center; + gap: 6px; + padding: 7px 12px; + border-radius: var(--radius); + border: 1px solid var(--border); + background: var(--bg-surface); + font-size: 13px; + color: var(--text-secondary); + transition: all 0.1s; + white-space: nowrap; +} +.filter-chip:hover { border-color: var(--bg-muted); background: var(--bg-overlay); color: var(--text-primary); } +.filter-chip.has-value { + border-color: var(--accent); + color: var(--accent-bright); + background: var(--accent-glow); +} +.filter-chip .chevron { + opacity: 0.6; + transition: transform 0.15s; +} +.filter-chip.open .chevron { transform: rotate(180deg); } + +.dropdown-menu { + position: absolute; + top: calc(100% + 6px); + left: 0; + min-width: 180px; + background: var(--bg-surface); + border: 1px solid var(--border); + border-radius: var(--radius-lg); + box-shadow: var(--shadow); + z-index: 150; + overflow: hidden; + padding: 4px; +} +.dropdown-item { + display: flex; + align-items: center; + justify-content: space-between; + padding: 8px 10px; + border-radius: var(--radius-sm); + font-size: 13.5px; + color: var(--text-secondary); + border: none; + background: none; + width: 100%; + text-align: left; + cursor: pointer; + transition: all 0.1s; +} +.dropdown-item:hover { background: var(--bg-overlay); color: var(--text-primary); } +.dropdown-item.selected { color: var(--accent-bright); } +.dropdown-item .check { + opacity: 0; + color: var(--accent); +} +.dropdown-item.selected .check { opacity: 1; } +.dropdown-divider { + height: 1px; + background: var(--border-subtle); + margin: 4px 0; +} +.dropdown-clear { + display: flex; + align-items: center; + padding: 7px 10px; + font-size: 12px; + color: var(--text-muted); + border: none; + background: none; + width: 100%; + text-align: left; + cursor: pointer; + border-radius: var(--radius-sm); + transition: all 0.1s; +} +.dropdown-clear:hover { color: var(--red); background: var(--red-bg); } + +/* ── Filter right side ── */ +.filter-right { + display: flex; + align-items: center; + gap: 10px; + margin-left: auto; +} +.results-count { font-size: 13px; color: var(--text-muted); white-space: nowrap; } + +.sort-dropdown { position: relative; } +.sort-chip { + display: inline-flex; + align-items: center; + gap: 6px; + padding: 7px 12px; + border-radius: var(--radius); + border: 1px solid var(--border); + background: var(--bg-surface); + font-size: 13px; + color: var(--text-secondary); + transition: all 0.1s; + white-space: nowrap; +} +.sort-chip:hover { border-color: var(--bg-muted); background: var(--bg-overlay); color: var(--text-primary); } +.sort-chip .chevron { opacity: 0.6; transition: transform 0.15s; } +.sort-chip.open .chevron { transform: rotate(180deg); } + +/* ── Table ── */ +.table-wrap { + background: var(--bg-surface); + border: 1px solid var(--border); + border-radius: var(--radius-lg); + overflow: hidden; +} +.table-wrap table { + width: 100%; + border-collapse: collapse; +} +.table-wrap thead tr { + background: var(--bg-canvas); + border-bottom: 1px solid var(--border); +} +.table-wrap th { + padding: 10px 16px; + text-align: left; + font-size: 11.5px; + font-weight: 700; + color: var(--text-muted); + letter-spacing: 0.06em; + text-transform: uppercase; + white-space: nowrap; + user-select: none; +} +.th-sortable { cursor: pointer; } +.th-sortable:hover { color: var(--text-secondary); } +.th-sortable.sort-active { color: var(--text-secondary); } +.sort-arrow { margin-left: 4px; opacity: 0.5; font-size: 11px; } +.sort-arrow.active { opacity: 1; color: var(--accent-bright); } + +.table-wrap tbody tr { + border-bottom: 1px solid var(--border-subtle); + transition: background 0.1s; +} +.table-wrap tbody tr:last-child { border-bottom: none; } +.table-wrap tbody tr:hover { background: var(--bg-overlay); } +.table-wrap td { padding: 14px 16px; vertical-align: middle; } + +.op-name { font-family: 'JetBrains Mono', 'Fira Code', monospace; font-size: 13px; font-weight: 500; color: var(--text-primary); } +.op-display { font-size: 12px; color: var(--text-muted); margin-top: 3px; } + +/* ── Badges ── */ +.badge { + display: inline-flex; + align-items: center; + gap: 4px; + padding: 3px 8px; + border-radius: var(--radius-sm); + font-size: 11.5px; + font-weight: 700; + white-space: nowrap; + border: 1px solid; + letter-spacing: 0.02em; +} +.badge-rest { color: var(--blue); background: var(--blue-bg); border-color: var(--blue-border); } +.badge-graphql { color: var(--purple); background: var(--purple-bg); border-color: var(--purple-border); } +.badge-grpc { color: #14b8a6; background: rgba(13,148,136,0.1); border-color: rgba(13,148,136,0.25); } + +.status-badge { + display: inline-flex; + align-items: center; + gap: 6px; + padding: 3px 9px; + border-radius: var(--radius-sm); + font-size: 12.5px; + font-weight: 500; +} +.status-dot { + width: 6px; + height: 6px; + border-radius: 50%; + flex-shrink: 0; +} +.status-active { color: var(--green); background: var(--green-bg); } +.status-active .status-dot { background: var(--green); box-shadow: 0 0 0 2px rgba(63,185,80,0.2); } +.status-draft { color: var(--amber); background: var(--amber-bg); } +.status-draft .status-dot { background: var(--amber); } +.status-error { color: var(--red); background: var(--red-bg); } +.status-error .status-dot { background: var(--red); box-shadow: 0 0 0 2px rgba(248,81,73,0.2); } +.status-inactive { color: var(--text-muted); background: var(--bg-overlay); } +.status-inactive .status-dot { background: var(--text-muted); } + +.target-url-cell { + display: flex; + align-items: center; + gap: 6px; + font-family: 'JetBrains Mono', 'Fira Code', monospace; + font-size: 12px; + color: var(--text-secondary); + max-width: 280px; + overflow: hidden; + text-overflow: ellipsis; + white-space: nowrap; +} +.target-url-cell a { color: inherit; text-decoration: none; } +.target-url-cell svg { flex-shrink: 0; opacity: 0.5; } + +.date-cell { font-size: 13px; color: var(--text-muted); white-space: nowrap; } + +.row-actions { display: flex; align-items: center; gap: 4px; justify-content: flex-end; } +.row-btn { + padding: 5px 11px; + border-radius: var(--radius-sm); + border: 1px solid var(--border); + background: var(--bg-surface); + font-size: 12.5px; + color: var(--text-secondary); + transition: all 0.1s; +} +.row-btn:hover { border-color: var(--bg-muted); color: var(--text-primary); background: var(--bg-overlay); } +.row-btn.danger:hover { border-color: var(--red-border); color: var(--red); background: var(--red-bg); } + +.row-btn-edit { + width: 34px; + height: 34px; + padding: 0; + display: flex; + align-items: center; + justify-content: center; + border-radius: var(--radius); +} + +/* ── Empty state ── */ +.empty-state { + padding: 60px 20px; + text-align: center; + color: var(--text-muted); +} +.empty-state h3 { font-size: 16px; color: var(--text-secondary); margin-bottom: 8px; } +.empty-state p { font-size: 13.5px; } + +/* ── Table footer / pagination ── */ +.table-footer { + display: flex; + align-items: center; + justify-content: space-between; + padding: 14px 20px; + border-top: 1px solid var(--border); + background: var(--bg-canvas); +} +.table-footer-info { font-size: 13px; color: var(--text-muted); } + +.pagination { display: flex; align-items: center; gap: 4px; } +.page-btn { + width: 32px; + height: 32px; + border-radius: var(--radius); + border: 1px solid var(--border); + background: var(--bg-surface); + font-size: 13px; + color: var(--text-secondary); + display: flex; + align-items: center; + justify-content: center; + transition: all 0.1s; +} +.page-btn:hover:not(:disabled) { border-color: var(--bg-muted); color: var(--text-primary); } +.page-btn.active { background: var(--accent); color: #fff; border-color: var(--accent-dim); font-weight: 600; } +.page-btn:disabled { opacity: 0.3; cursor: not-allowed; } + +/* ── Banner ── */ +.banner { + display: flex; + align-items: center; + gap: 10px; + padding: 11px 16px; + border-radius: var(--radius); + background: rgba(13,148,136,0.07); + border: 1px solid rgba(13,148,136,0.2); + color: var(--accent-bright); + font-size: 13.5px; + margin-bottom: 24px; +} +.banner-close { + margin-left: auto; + background: none; + border: none; + color: var(--accent-bright); + font-size: 16px; + opacity: 0.6; + line-height: 1; +} +.banner-close:hover { opacity: 1; } + +/* ═══════════════ RESPONSIVE ═══════════════ */ + +/* Tablet: ≤ 960px */ +@media (max-width: 960px) { + .stats-row { grid-template-columns: repeat(2, 1fr); } + .col-url { display: none; } + .results-count { display: none; } +} + +/* Narrow / mobile: ≤ 720px */ +@media (max-width: 720px) { + /* --- Скрываем колонку CREATED --- */ + .col-created { display: none; } + + /* --- Filter bar → grid --- */ + .filter-bar { + display: grid; + grid-template-columns: repeat(3, 1fr); + gap: 6px; + } + /* Search во всю ширину */ + .search-box { + grid-column: 1 / -1; + width: 100%; + } + /* Каждый dropdown занимает ячейку */ + .filter-dropdown { + width: 100%; + } + .filter-chip { + width: 100%; + justify-content: space-between; + } + /* Sort справа, во всю строку */ + .filter-right { + grid-column: 1 / -1; + margin-left: 0; + justify-content: flex-end; + } + .sort-chip { white-space: nowrap; } + + /* action column compact */ + .row-actions { justify-content: center; } + + /* --- Таблица --- */ + .table-wrap td { padding: 12px 10px; } + .table-wrap th { padding: 8px 10px; } +} + +/* Mobile: ≤ 480px */ +@media (max-width: 480px) { + .tab-item { padding: 10px 8px; font-size: 13px; gap: 5px; } + + .page-header { flex-direction: column; gap: 12px; align-items: flex-start; } + .btn-new { width: 100%; justify-content: center; } + +} + +/* ── Active filter chips ── */ +.active-filters { + display: flex; + align-items: center; + flex-wrap: wrap; + gap: 6px; + padding: 8px 0 4px; +} +.active-filter-chip { + display: inline-flex; + align-items: center; + gap: 5px; + padding: 3px 8px 3px 10px; + background: rgba(13,148,136,0.12); + border: 1px solid rgba(13,148,136,0.3); + border-radius: 20px; + font-size: 12px; + color: var(--accent); +} +.active-filter-chip-remove { + display: flex; + align-items: center; + background: none; + border: none; + padding: 1px; + cursor: pointer; + color: var(--accent); + opacity: 0.7; + border-radius: 50%; + transition: opacity 0.1s; +} +.active-filter-chip-remove:hover { opacity: 1; } +.active-filter-clear-all { + background: none; + border: none; + font-size: 12px; + color: var(--text-muted); + cursor: pointer; + padding: 3px 6px; + border-radius: 4px; + transition: color 0.1s; +} +.active-filter-clear-all:hover { color: var(--text-secondary); } + +/* ── Operation agent badges ── */ +.op-agent-badges { + display: flex; + flex-wrap: wrap; + gap: 4px; + margin-top: 4px; +} +.op-agent-badge { + display: inline-block; + padding: 1px 6px; + font-size: 10px; + font-weight: 500; + background: rgba(99,102,241,0.12); + border: 1px solid rgba(99,102,241,0.25); + border-radius: 3px; + color: #818cf8; + white-space: nowrap; +} + +/* ── Row delete button ── */ +.row-btn-delete { + color: var(--text-muted); + transition: color 0.1s, background 0.1s; +} +.row-btn-delete:hover { + color: var(--red, #f87171); + background: rgba(248,113,113,0.08); +} diff --git a/apps/ui/css/layout.css b/apps/ui/css/layout.css new file mode 100644 index 0000000..b1b2870 --- /dev/null +++ b/apps/ui/css/layout.css @@ -0,0 +1,218 @@ +/* ── Navbar ── */ +.navbar { + height: 60px; + background: var(--bg-surface); + border-bottom: 1px solid var(--border); + display: flex; + align-items: center; + padding: 0 40px; + position: sticky; + top: 0; + z-index: 100; + box-shadow: 0 1px 0 var(--border-subtle), 0 4px 16px rgba(0,0,0,0.4); +} + +.nav-logo { + display: flex; + align-items: center; + gap: 9px; + margin-right: 36px; + text-decoration: none; +} +.nav-logo-mark { + width: 28px; + height: 28px; + background: linear-gradient(135deg, #0d9488, #0891b2); + border-radius: 7px; + display: flex; + align-items: center; + justify-content: center; + color: #fff; + font-size: 13px; + font-weight: 800; + flex-shrink: 0; +} +.nav-logo-text { + font-size: 15px; + font-weight: 700; + letter-spacing: -0.4px; + color: var(--text-primary); +} + +.nav-links { + display: flex; + align-items: center; + gap: 2px; + flex: 1; +} +.nav-link { + padding: 6px 14px; + border-radius: var(--radius); + font-size: 14px; + font-weight: 450; + color: var(--text-muted); + text-decoration: none; + border: none; + background: none; + transition: all 0.1s; +} +.nav-link:hover { background: var(--bg-overlay); color: var(--text-secondary); } +.nav-link.active { color: var(--text-primary); font-weight: 550; background: var(--bg-overlay); } + +.nav-right { + display: flex; + align-items: center; + gap: 10px; + margin-left: auto; +} +.nav-icon-btn { + width: 32px; + height: 32px; + display: flex; + align-items: center; + justify-content: center; + border-radius: var(--radius); + border: none; + background: none; + color: var(--text-muted); + transition: all 0.1s; + position: relative; +} +.nav-icon-btn:hover { background: var(--bg-overlay); color: var(--text-secondary); } +.nav-divider { width: 1px; height: 20px; background: var(--border); } + +.nav-avatar { + width: 32px; + height: 32px; + border-radius: 50%; + background: linear-gradient(135deg, #0d9488, #6366f1); + color: #fff; + font-size: 11.5px; + font-weight: 700; + display: flex; + align-items: center; + justify-content: center; + cursor: pointer; + border: 2px solid transparent; + transition: border-color 0.15s; +} +.nav-avatar:hover { border-color: var(--accent); } + +/* ── User dropdown ── */ +.user-menu { + position: relative; +} +.user-dropdown { + position: absolute; + top: calc(100% + 8px); + right: 0; + min-width: 180px; + background: var(--bg-surface); + border: 1px solid var(--border); + border-radius: var(--radius-lg); + box-shadow: var(--shadow); + overflow: hidden; + z-index: 200; +} +.user-dropdown-header { + padding: 12px 14px; + border-bottom: 1px solid var(--border-subtle); +} +.user-dropdown-name { + font-size: 13px; + font-weight: 600; + color: var(--text-primary); +} +.user-dropdown-role { + font-size: 11.5px; + color: var(--text-muted); + margin-top: 2px; +} +.user-dropdown-item { + display: flex; + align-items: center; + gap: 9px; + padding: 9px 14px; + font-size: 13.5px; + color: var(--text-secondary); + border: none; + background: none; + width: 100%; + text-align: left; + transition: all 0.1s; +} +.user-dropdown-item:hover { background: var(--bg-overlay); color: var(--text-primary); } +.user-dropdown-item.danger:hover { background: var(--red-bg); color: var(--red); } +.user-dropdown-item svg { flex-shrink: 0; opacity: 0.7; } + +/* ── Page container ── */ +.page { + max-width: 1160px; + margin: 0 auto; + padding: 36px 40px 60px; +} + +/* ── Hamburger button (hidden on desktop) ── */ +.nav-hamburger { + display: none; + flex-direction: column; + justify-content: center; + align-items: center; + gap: 5px; + width: 32px; + height: 32px; + border: none; + background: none; + cursor: pointer; + padding: 4px; + border-radius: var(--radius); + transition: background 0.1s; + order: 10; /* after other right items */ +} +.nav-hamburger:hover { background: var(--bg-overlay); } +.nav-hamburger span { + display: block; + width: 18px; + height: 1.5px; + background: var(--text-muted); + border-radius: 1px; + transition: all 0.2s; + transform-origin: center; +} +.nav-hamburger.open span:nth-child(1) { transform: translateY(6.5px) rotate(45deg); } +.nav-hamburger.open span:nth-child(2) { opacity: 0; } +.nav-hamburger.open span:nth-child(3) { transform: translateY(-6.5px) rotate(-45deg); } + +/* ── Mobile nav dropdown ── */ +.mobile-nav { + display: none; + position: sticky; + top: 60px; + z-index: 99; + background: var(--bg-surface); + border-bottom: 1px solid var(--border); + padding: 8px 16px 12px; + box-shadow: 0 4px 16px rgba(0,0,0,0.4); +} +.mobile-nav-link { + display: block; + padding: 10px 12px; + border-radius: var(--radius); + font-size: 14px; + font-weight: 500; + color: var(--text-muted); + text-decoration: none; + transition: all 0.1s; +} +.mobile-nav-link:hover { background: var(--bg-overlay); color: var(--text-secondary); } +.mobile-nav-link.active { color: var(--text-primary); background: var(--bg-overlay); } + +/* ── Responsive breakpoints ── */ +@media (max-width: 720px) { + .navbar { padding: 0 16px; } + .nav-links { display: none; } + .nav-hamburger { display: flex; } + .mobile-nav { display: block; } + + .page { padding: 20px 16px 40px; } +} diff --git a/apps/ui/css/login.css b/apps/ui/css/login.css new file mode 100644 index 0000000..ad23017 --- /dev/null +++ b/apps/ui/css/login.css @@ -0,0 +1,265 @@ +.login-page { + min-height: 100vh; + display: flex; + align-items: center; + justify-content: center; + padding: 24px; + background: + radial-gradient(ellipse 70% 50% at 50% -20%, rgba(13,148,136,0.12) 0%, transparent 70%), + var(--bg-canvas); +} + +.login-card { + width: 100%; + max-width: 380px; +} + +.login-logo { + display: flex; + align-items: center; + gap: 10px; + justify-content: center; + margin-bottom: 36px; +} + +.login-logo-mark { + width: 36px; + height: 36px; + background: linear-gradient(135deg, #0d9488, #0891b2); + border-radius: 10px; + display: flex; + align-items: center; + justify-content: center; + color: #fff; + font-size: 17px; + font-weight: 800; +} + +.login-logo-text { + font-size: 20px; + font-weight: 700; + letter-spacing: -0.5px; + color: var(--text-primary); +} + +.login-box { + background: var(--bg-surface); + border: 1px solid var(--border); + border-radius: 14px; + padding: 32px; + box-shadow: 0 8px 40px rgba(0,0,0,0.4); +} + +.login-heading { + font-size: 20px; + font-weight: 700; + letter-spacing: -0.4px; + color: var(--text-primary); + margin-bottom: 4px; +} + +.login-sub { + font-size: 13.5px; + color: var(--text-muted); + margin-bottom: 12px; +} + +.login-note { + margin-bottom: 24px; + padding: 10px 12px; + border-radius: 9px; + background: rgba(59, 130, 246, 0.08); + border: 1px solid rgba(59, 130, 246, 0.18); + color: var(--text-secondary); + font-size: 12.5px; + line-height: 1.5; +} + +.field { + margin-bottom: 16px; +} + +.field-label { + display: block; + font-size: 12.5px; + font-weight: 500; + color: var(--text-secondary); + margin-bottom: 6px; +} + +.field-input { + width: 100%; + padding: 9px 12px; + background: var(--bg-canvas); + border: 1px solid var(--border); + border-radius: 7px; + font-family: 'Inter', sans-serif; + font-size: 13.5px; + color: var(--text-primary); + outline: none; + transition: border-color 0.15s, box-shadow 0.15s; +} + +.field-input::placeholder { color: var(--text-muted); } + +.field-input:focus { + border-color: var(--accent); + box-shadow: 0 0 0 3px rgba(13,148,136,0.25); +} + +.field-footer { + display: flex; + justify-content: flex-end; + margin-top: 5px; +} + +.field-link { + display: inline-flex; + align-items: center; + gap: 8px; + font-size: 12px; + color: var(--accent); + text-decoration: none; + background: transparent; + border: none; + padding: 0; +} + +.field-link:hover { text-decoration: underline; } + +.field-link.is-disabled, +.field-link:disabled { + color: var(--text-muted); + cursor: not-allowed; + text-decoration: none; +} + +.field-link.is-disabled:hover, +.field-link:disabled:hover { + text-decoration: none; +} + +.btn-signin { + width: 100%; + padding: 10px; + margin-top: 8px; + background: var(--accent); + color: #fff; + border: 1px solid var(--accent-dim); + border-radius: 7px; + font-family: 'Inter', sans-serif; + font-size: 14px; + font-weight: 600; + cursor: pointer; + transition: all 0.15s; + box-shadow: 0 1px 4px rgba(13,148,136,0.4); +} + +.btn-signin:hover { + background: var(--accent-dim); + box-shadow: 0 2px 10px rgba(13,148,136,0.5), 0 0 0 3px rgba(13,148,136,0.25); +} + +.btn-signin:active { transform: translateY(1px); } + +.login-error { + display: none; + background: var(--red-bg); + border: 1px solid var(--red-border); + border-radius: 7px; + padding: 10px 14px; + font-size: 13px; + color: var(--red); + margin-bottom: 16px; +} + +.login-error.is-visible { + display: block; +} + +.login-footer { + text-align: center; + margin-top: 20px; + font-size: 12.5px; + color: var(--text-muted); +} + +.login-footer a { color: var(--accent); text-decoration: none; } +.login-footer a:hover { text-decoration: underline; } + +.login-divider { + display: flex; + align-items: center; + gap: 12px; + margin: 22px 0; +} + +.login-divider-line { flex: 1; height: 1px; background: var(--border); } +.login-divider-text { font-size: 11.5px; color: var(--text-muted); white-space: nowrap; } + +.btn-sso { + width: 100%; + padding: 9px; + background: var(--bg-overlay); + color: var(--text-secondary); + border: 1px solid var(--border); + border-radius: 7px; + font-family: 'Inter', sans-serif; + font-size: 13.5px; + font-weight: 500; + cursor: pointer; + transition: all 0.15s; + display: flex; + align-items: center; + justify-content: center; + gap: 9px; +} + +.btn-sso:hover { background: var(--bg-muted); color: var(--text-primary); } + +.btn-sso:disabled { + cursor: not-allowed; + opacity: 0.7; + background: var(--bg-overlay); + color: var(--text-muted); +} + +.btn-sso:disabled:hover { + background: var(--bg-overlay); + color: var(--text-muted); +} + +.login-inline-badge { + display: inline-flex; + align-items: center; + justify-content: center; + padding: 2px 7px; + border-radius: 999px; + border: 1px solid rgba(148, 163, 184, 0.24); + background: rgba(148, 163, 184, 0.08); + color: var(--text-muted); + font-size: 10px; + font-weight: 700; + letter-spacing: 0.02em; + text-transform: uppercase; +} + +.version-badge { + text-align: center; + margin-top: 28px; + font-size: 11.5px; + color: var(--text-muted); +} + +.login-footer-action { + display: inline-flex; + align-items: center; + gap: 8px; + margin-left: 6px; + color: var(--text-muted); + background: transparent; + border: none; + padding: 0; + cursor: not-allowed; + font: inherit; +} diff --git a/apps/ui/css/logs.css b/apps/ui/css/logs.css new file mode 100644 index 0000000..a449de3 --- /dev/null +++ b/apps/ui/css/logs.css @@ -0,0 +1,136 @@ +.log-toolbar { + display: flex; + align-items: center; + gap: 8px; + padding: 12px 20px; + border-bottom: 1px solid var(--border-subtle); + flex-wrap: wrap; +} + +.live-dot { + width: 7px; + height: 7px; + border-radius: 50%; + background: var(--green); + animation: pulse 1.8s ease-in-out infinite; + flex-shrink: 0; + cursor: pointer; +} + +.live-dot.is-paused { + animation-play-state: paused; + opacity: 0.35; +} + +@keyframes pulse { + 0%, 100% { opacity: 1; box-shadow: 0 0 0 0 rgba(63,185,80,0.6); } + 50% { opacity: 0.7; box-shadow: 0 0 0 5px rgba(63,185,80,0); } +} + +.live-label { + font-size: 11.5px; + font-weight: 600; + color: var(--green); + letter-spacing: 0.2px; + cursor: pointer; +} + +.live-label.is-paused { + color: var(--text-muted); +} + +.toolbar-sep { width: 1px; height: 16px; background: var(--border); flex-shrink: 0; } + +.time-range-select { + background: var(--bg-canvas); + border: 1px solid var(--border); + border-radius: var(--radius); + padding: 5px 28px 5px 10px; + font-family: 'Inter', sans-serif; + font-size: 12.5px; + color: var(--text-secondary); + appearance: none; + background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='10' viewBox='0 0 12 12'%3E%3Cpath fill='%236e7681' d='M6 8L1 3h10z'/%3E%3C/svg%3E"); + background-repeat: no-repeat; + background-position: right 8px center; + cursor: pointer; + outline: none; +} + +.time-range-select:focus { + border-color: var(--accent); + box-shadow: 0 0 0 3px var(--accent-ring); +} + +.log-op-name { + font-family: 'JetBrains Mono', monospace; + font-size: 11.5px; + color: var(--text-muted); + background: var(--bg-overlay); + border: 1px solid var(--border-subtle); + padding: 1px 7px; + border-radius: 4px; + white-space: nowrap; +} + +.log-status { + font-family: 'JetBrains Mono', monospace; + font-size: 11.5px; + font-weight: 600; +} + +.log-status.ok { color: var(--green); } +.log-status.err { color: var(--red); } +.log-status.warn { color: var(--amber); } + +.log-entry-expanded { + padding: 10px 20px 16px calc(20px + 152px + 12px + 58px + 12px); + background: var(--bg-canvas); + border-bottom: 1px solid var(--border-subtle); + display: none; +} + +.log-entry-expanded.open { display: block; } + +.log-detail-block { + background: #161b22; + border: 1px solid var(--border); + border-radius: 6px; + padding: 12px 14px; + font-family: 'JetBrains Mono', monospace; + font-size: 12px; + color: #c9d1d9; + line-height: 1.65; + white-space: pre-wrap; + word-break: break-all; +} + +.log-detail-label { + font-size: 11px; + font-weight: 600; + letter-spacing: 0.5px; + text-transform: uppercase; + color: var(--text-muted); + margin-bottom: 6px; + margin-top: 12px; +} + +.log-detail-label:first-child { margin-top: 0; } + +.refresh-btn { + margin-left: auto; + display: inline-flex; + align-items: center; + gap: 6px; + padding: 5px 12px; + background: var(--bg-overlay); + border: 1px solid var(--border); + border-radius: var(--radius); + font-size: 12.5px; + color: var(--text-muted); + cursor: pointer; + font-family: 'Inter', sans-serif; + transition: all 0.12s; +} + +.refresh-btn:hover { color: var(--text-secondary); background: var(--bg-muted); } diff --git a/apps/ui/css/pages.css b/apps/ui/css/pages.css new file mode 100644 index 0000000..2246a98 --- /dev/null +++ b/apps/ui/css/pages.css @@ -0,0 +1,1755 @@ +/* ══════════════════════════════════════════════════ + SHARED INNER-PAGE STYLES + Used by: api-keys, logs, usage, settings +══════════════════════════════════════════════════ */ + +/* ── Dropdown divider (used in navbar and elsewhere) ── */ +.dropdown-divider { + height: 1px; + background: var(--border-subtle); + margin: 4px 0; +} + +/* ══════════════════════════════════════════════════ + PAGE HEADER +══════════════════════════════════════════════════ */ +.page-header { + display: flex; + align-items: flex-start; + gap: 16px; + margin-bottom: 28px; +} + +.page-header-text { flex: 1; } + +.page-title { + font-size: 22px; + font-weight: 700; + letter-spacing: -0.4px; + color: var(--text-primary); + line-height: 1.2; +} + +.page-subtitle { + font-size: 13.5px; + color: var(--text-muted); + margin-top: 4px; + line-height: 1.5; +} + +.page-header-actions { + display: flex; + align-items: center; + gap: 8px; + flex-shrink: 0; +} + +/* ══════════════════════════════════════════════════ + BUTTONS +══════════════════════════════════════════════════ */ +.btn-primary { + display: inline-flex; + align-items: center; + gap: 7px; + padding: 8px 16px; + background: var(--accent); + color: #fff; + border: 1px solid var(--accent-dim); + border-radius: var(--radius); + font-size: 13.5px; + font-weight: 500; + font-family: 'Inter', sans-serif; + cursor: pointer; + transition: all 0.15s; + white-space: nowrap; +} + +.btn-primary:hover { + background: var(--accent-dim); + box-shadow: 0 0 0 3px var(--accent-ring); +} + +.btn-primary:disabled, +.btn-primary.is-disabled { + opacity: 0.5; + cursor: not-allowed; + box-shadow: none; +} + +.btn-primary:disabled:hover, +.btn-primary.is-disabled:hover { + background: var(--accent); + box-shadow: none; +} + +.btn-secondary { + display: inline-flex; + align-items: center; + gap: 7px; + padding: 8px 16px; + background: var(--bg-overlay); + color: var(--text-secondary); + border: 1px solid var(--border); + border-radius: var(--radius); + font-size: 13.5px; + font-weight: 500; + font-family: 'Inter', sans-serif; + cursor: pointer; + transition: all 0.15s; + white-space: nowrap; +} + +.btn-secondary:hover { background: var(--bg-muted); color: var(--text-primary); } + +.btn-danger { + display: inline-flex; + align-items: center; + gap: 7px; + padding: 8px 16px; + background: transparent; + color: var(--red); + border: 1px solid rgba(248, 81, 73, 0.3); + border-radius: var(--radius); + font-size: 13.5px; + font-weight: 500; + font-family: 'Inter', sans-serif; + cursor: pointer; + transition: all 0.15s; +} + +.btn-danger:hover { background: var(--red-bg); border-color: var(--red-border); } + +.btn-icon { + width: 30px; + height: 30px; + display: inline-flex; + align-items: center; + justify-content: center; + background: var(--bg-overlay); + border: 1px solid var(--border); + border-radius: var(--radius); + color: var(--text-muted); + cursor: pointer; + transition: all 0.15s; + flex-shrink: 0; +} + +.btn-icon:hover { background: var(--bg-muted); color: var(--text-secondary); } + +.btn-icon.danger:hover { background: var(--red-bg); color: var(--red); border-color: var(--red-border); } + +/* ══════════════════════════════════════════════════ + TOASTS +══════════════════════════════════════════════════ */ +.toast-stack { + position: fixed; + top: 84px; + right: 20px; + z-index: 1200; + width: min(360px, calc(100vw - 32px)); + display: flex; + flex-direction: column; + gap: 10px; + pointer-events: none; +} + +.toast-card { + display: flex; + align-items: flex-start; + gap: 12px; + padding: 14px 16px; + border-radius: 14px; + border: 1px solid var(--border); + background: rgba(15, 23, 34, 0.96); + box-shadow: 0 18px 48px rgba(0, 0, 0, 0.32); + pointer-events: auto; + transition: opacity 0.18s ease, transform 0.18s ease; +} + +.toast-card.closing { + opacity: 0; + transform: translateY(-6px); +} + +.toast-info { border-color: rgba(56, 189, 248, 0.28); } +.toast-success { border-color: rgba(63, 185, 80, 0.32); } +.toast-error { border-color: rgba(248, 81, 73, 0.34); } + +.toast-copy { + min-width: 0; + flex: 1; +} + +.toast-title { + font-size: 12px; + font-weight: 700; + letter-spacing: 0.02em; + color: var(--text-primary); + margin-bottom: 3px; +} + +.toast-message { + font-size: 12.5px; + line-height: 1.5; + color: var(--text-secondary); +} + +.toast-close { + width: 22px; + height: 22px; + display: inline-flex; + align-items: center; + justify-content: center; + border: 0; + background: transparent; + color: var(--text-muted); + cursor: pointer; + flex-shrink: 0; +} + +.toast-close:hover { color: var(--text-primary); } + +/* ══════════════════════════════════════════════════ + SECTION CARD +══════════════════════════════════════════════════ */ +.section-card { + background: var(--bg-surface); + border: 1px solid var(--border); + border-radius: var(--radius-lg); + overflow: hidden; + margin-bottom: 20px; +} + +.section-card-header { + padding: 14px 20px; + border-bottom: 1px solid var(--border-subtle); + display: flex; + align-items: center; + gap: 12px; +} + +.section-card-title { + font-size: 13.5px; + font-weight: 600; + color: var(--text-primary); + flex: 1; +} + +.section-card-subtitle { + font-size: 12px; + color: var(--text-muted); + margin-top: 1px; +} + +.section-card-body { padding: 20px; } + +/* ══════════════════════════════════════════════════ + CALLOUT / INFO BOX +══════════════════════════════════════════════════ */ +.callout { + display: flex; + gap: 12px; + padding: 13px 16px; + border-radius: var(--radius); + margin-bottom: 20px; + border: 1px solid; + font-size: 13px; + line-height: 1.55; +} + +.callout.info { + background: rgba(88, 166, 255, 0.07); + border-color: var(--blue-border); + color: var(--text-secondary); +} + +.callout.warning { + background: var(--amber-bg); + border-color: var(--amber-border); + color: var(--text-secondary); +} + +.callout.danger { + background: var(--red-bg); + border-color: var(--red-border); + color: var(--text-secondary); +} + +.callout-icon { flex-shrink: 0; margin-top: 1px; } +.callout strong { color: var(--text-primary); } + +/* ══════════════════════════════════════════════════ + STAT CARDS +══════════════════════════════════════════════════ */ +.stats-grid { + display: grid; + grid-template-columns: repeat(4, 1fr); + gap: 12px; + margin-bottom: 24px; +} + +.stat-card { + background: var(--bg-surface); + border: 1px solid var(--border); + border-radius: var(--radius-lg); + padding: 16px 18px; +} + +.stat-label { + font-size: 11.5px; + font-weight: 500; + color: var(--text-muted); + text-transform: uppercase; + letter-spacing: 0.5px; + margin-bottom: 8px; +} + +.stat-value { + font-size: 28px; + font-weight: 700; + letter-spacing: -1px; + color: var(--text-primary); + line-height: 1; + margin-bottom: 4px; + font-variant-numeric: tabular-nums; +} + +.stat-delta { + font-size: 12px; + color: var(--text-muted); + display: flex; + align-items: center; + gap: 4px; +} + +.stat-delta.up { color: var(--green); } +.stat-delta.down { color: var(--red); } + +/* ══════════════════════════════════════════════════ + DATA TABLE +══════════════════════════════════════════════════ */ +.data-table { + width: 100%; + border-collapse: collapse; + font-size: 13.5px; +} + +.data-table th { + padding: 10px 16px; + text-align: left; + font-size: 11.5px; + font-weight: 600; + color: var(--text-muted); + text-transform: uppercase; + letter-spacing: 0.4px; + background: var(--bg-canvas); + border-bottom: 1px solid var(--border); + white-space: nowrap; +} + +.data-table td { + padding: 12px 16px; + color: var(--text-secondary); + border-bottom: 1px solid var(--border-subtle); + vertical-align: middle; +} + +.data-table tbody tr:last-child td { border-bottom: none; } + +.data-table tbody tr:hover td { background: var(--bg-overlay); } + +.data-table .col-name { color: var(--text-primary); font-weight: 500; } +.data-table .col-mono { + font-family: 'JetBrains Mono', monospace; + font-size: 12.5px; + color: var(--text-secondary); +} + +.data-table .col-actions { + text-align: right; + white-space: nowrap; +} + +.data-table .col-actions { display: flex; justify-content: flex-end; gap: 6px; } + +/* ══════════════════════════════════════════════════ + BADGES +══════════════════════════════════════════════════ */ +.badge { + display: inline-flex; + align-items: center; + gap: 4px; + padding: 2px 8px; + border-radius: 4px; + font-size: 11.5px; + font-weight: 500; + border: 1px solid; + white-space: nowrap; +} + +.badge-active { background: var(--green-bg); border-color: var(--green-border); color: var(--green); } +.badge-revoked { background: var(--red-bg); border-color: var(--red-border); color: var(--red); } +.badge-draft { background: var(--amber-bg); border-color: var(--amber-border); color: var(--amber); } +.badge-scope { + background: var(--bg-overlay); + border-color: var(--border); + color: var(--text-muted); + font-size: 10.5px; + padding: 1px 6px; +} + +.log-level { + display: inline-flex; + align-items: center; + gap: 5px; + padding: 2px 8px; + border-radius: 4px; + font-size: 11px; + font-weight: 700; + letter-spacing: 0.3px; + text-transform: uppercase; + border: 1px solid; + font-variant-numeric: tabular-nums; + white-space: nowrap; +} + +.log-level.info { background: rgba(88,166,255,0.08); border-color: var(--blue-border); color: var(--blue); } +.log-level.warn { background: var(--amber-bg); border-color: var(--amber-border); color: var(--amber); } +.log-level.error { background: var(--red-bg); border-color: var(--red-border); color: var(--red); } +.log-level.debug { background: var(--bg-overlay); border-color: var(--border); color: var(--text-muted); } + +/* ══════════════════════════════════════════════════ + PAGE TABS +══════════════════════════════════════════════════ */ +.page-tabs { + display: flex; + gap: 2px; + border-bottom: 1px solid var(--border); + margin-bottom: 20px; +} + +.page-tab { + padding: 8px 16px; + font-size: 13.5px; + font-weight: 450; + color: var(--text-muted); + border: none; + background: none; + cursor: pointer; + border-bottom: 2px solid transparent; + margin-bottom: -1px; + transition: all 0.15s; + font-family: 'Inter', sans-serif; + display: flex; + align-items: center; + gap: 7px; +} + +.page-tab:hover { color: var(--text-secondary); } +.page-tab.active { color: var(--text-primary); border-bottom-color: var(--accent); font-weight: 550; } + +.page-tab-count { + font-size: 11px; + background: var(--bg-overlay); + border: 1px solid var(--border); + border-radius: 10px; + padding: 0 6px; + color: var(--text-muted); + font-weight: 500; + min-width: 18px; + text-align: center; +} + +.page-tab.active .page-tab-count { + background: var(--accent-glow); + border-color: rgba(13,148,136,0.2); + color: var(--accent); +} + +/* ══════════════════════════════════════════════════ + FILTER BAR +══════════════════════════════════════════════════ */ +.filter-bar { + display: flex; + align-items: center; + gap: 8px; + margin-bottom: 16px; + flex-wrap: wrap; +} + +.filter-bar-search { + position: relative; + flex: 1; + min-width: 180px; + max-width: 320px; +} + +.filter-bar-search svg { + position: absolute; + left: 10px; + top: 50%; + transform: translateY(-50%); + color: var(--text-muted); + pointer-events: none; +} + +.filter-bar-search input { + width: 100%; + padding: 7px 12px 7px 32px; + background: var(--bg-canvas); + border: 1px solid var(--border); + border-radius: var(--radius); + font-family: 'Inter', sans-serif; + font-size: 13px; + color: var(--text-primary); + outline: none; + transition: border-color 0.15s; +} + +.filter-bar-search input::placeholder { color: var(--text-muted); } +.filter-bar-search input:focus { border-color: var(--accent); box-shadow: 0 0 0 3px var(--accent-ring); } + +.filter-chip { + display: inline-flex; + align-items: center; + gap: 6px; + padding: 5px 12px; + background: var(--bg-overlay); + border: 1px solid var(--border); + border-radius: var(--radius); + font-size: 12.5px; + font-weight: 450; + color: var(--text-muted); + cursor: pointer; + transition: all 0.12s; + font-family: 'Inter', sans-serif; +} + +.filter-chip:hover { background: var(--bg-muted); color: var(--text-secondary); } +.filter-chip.active { background: var(--accent-glow); border-color: rgba(13,148,136,0.3); color: var(--accent); } + +/* ══════════════════════════════════════════════════ + LOG ENTRY +══════════════════════════════════════════════════ */ +.log-list { + display: flex; + flex-direction: column; +} + +.log-entry { + display: flex; + align-items: flex-start; + gap: 12px; + padding: 10px 20px; + border-bottom: 1px solid var(--border-subtle); + transition: background 0.1s; + font-size: 13px; + cursor: pointer; +} + +.log-entry:last-child { border-bottom: none; } +.log-entry:hover { background: var(--bg-overlay); } + +.log-time { + font-family: 'JetBrains Mono', monospace; + font-size: 11.5px; + color: var(--text-muted); + white-space: nowrap; + padding-top: 2px; + min-width: 152px; + flex-shrink: 0; +} + +.log-msg { + flex: 1; + line-height: 1.5; + color: var(--text-secondary); + word-break: break-word; +} + +.log-msg strong { color: var(--text-primary); font-weight: 500; } + +.log-duration { + font-family: 'JetBrains Mono', monospace; + font-size: 11.5px; + color: var(--text-muted); + white-space: nowrap; + flex-shrink: 0; + padding-top: 2px; + min-width: 54px; + text-align: right; +} + +.log-duration.slow { color: var(--amber); } +.log-duration.error { color: var(--red); } + +/* ══════════════════════════════════════════════════ + SETTINGS LAYOUT +══════════════════════════════════════════════════ */ +.settings-layout { + display: grid; + grid-template-columns: 200px 1fr; + gap: 32px; + align-items: flex-start; +} + +.settings-nav { + position: sticky; + top: 80px; + display: flex; + flex-direction: column; + gap: 2px; +} + +.settings-nav-item { + display: flex; + align-items: center; + gap: 9px; + padding: 8px 12px; + border-radius: var(--radius); + font-size: 13.5px; + color: var(--text-muted); + text-decoration: none; + transition: all 0.1s; + cursor: pointer; + border: none; + background: none; + font-family: 'Inter', sans-serif; + width: 100%; + text-align: left; +} + +.settings-nav-item svg { flex-shrink: 0; opacity: 0.7; } +.settings-nav-item:hover { background: var(--bg-overlay); color: var(--text-secondary); } +.settings-nav-item.active { background: var(--bg-overlay); color: var(--text-primary); font-weight: 500; } +.settings-nav-item.danger { color: var(--red); opacity: 0.8; } +.settings-nav-item.danger:hover { background: var(--red-bg); opacity: 1; } + +.settings-nav-divider { height: 1px; background: var(--border-subtle); margin: 6px 4px; } + +/* ── Form elements (for settings forms) ── */ +.field-group { display: flex; flex-direction: column; gap: 6px; margin-bottom: 16px; } +.field-label { + font-size: 12.5px; + font-weight: 500; + color: var(--text-secondary); + display: flex; + align-items: center; + gap: 6px; +} +.field-hint { font-size: 12px; color: var(--text-muted); line-height: 1.55; } +.field-input, +.field-select, +.field-textarea { + background: var(--bg-canvas); + border: 1px solid var(--border); + border-radius: var(--radius); + padding: 8px 12px; + font-family: 'Inter', sans-serif; + font-size: 13.5px; + color: var(--text-primary); + width: 100%; + outline: none; + transition: border-color 0.15s, box-shadow 0.15s; +} +.field-input::placeholder, .field-textarea::placeholder { color: var(--text-muted); } +.field-input:focus, .field-select:focus, .field-textarea:focus { + border-color: var(--accent); + box-shadow: 0 0 0 3px var(--accent-ring); +} +.field-select { + appearance: none; + background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath fill='%236e7681' d='M6 8L1 3h10z'/%3E%3C/svg%3E"); + background-repeat: no-repeat; + background-position: right 11px center; + padding-right: 32px; + cursor: pointer; +} +.field-textarea { resize: vertical; min-height: 80px; line-height: 1.6; } +.field-row { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; } + +/* ── Section divider ── */ +.settings-section-divider { + height: 1px; + background: var(--border); + margin: 24px 0; +} + +/* ── API key display ── */ +.key-reveal { + display: flex; + align-items: center; + gap: 8px; + background: var(--bg-canvas); + border: 1px solid var(--border); + border-radius: var(--radius); + padding: 8px 12px; + font-family: 'JetBrains Mono', monospace; + font-size: 13px; + color: var(--text-secondary); + letter-spacing: 0.2px; +} + +.key-reveal .key-mask { flex: 1; letter-spacing: 2px; color: var(--text-muted); } +.key-reveal .key-copy { flex-shrink: 0; cursor: pointer; color: var(--text-muted); } +.key-reveal .key-copy:hover { color: var(--accent); } + +/* ══════════════════════════════════════════════════ + EMPTY STATE +══════════════════════════════════════════════════ */ +.empty-state { + display: flex; + flex-direction: column; + align-items: center; + justify-content: center; + padding: 60px 24px; + text-align: center; +} + +.empty-state-icon { + width: 44px; + height: 44px; + background: var(--bg-overlay); + border: 1px solid var(--border); + border-radius: 10px; + display: flex; + align-items: center; + justify-content: center; + color: var(--text-muted); + margin-bottom: 14px; +} + +.empty-state-title { + font-size: 15px; + font-weight: 600; + color: var(--text-primary); + margin-bottom: 6px; +} + +.empty-state-text { + font-size: 13.5px; + color: var(--text-muted); + max-width: 320px; + line-height: 1.6; + margin-bottom: 20px; +} + +/* ══════════════════════════════════════════════════ + MODAL OVERLAY +══════════════════════════════════════════════════ */ +.modal-overlay { + position: fixed; + inset: 0; + background: rgba(0, 0, 0, 0.65); + z-index: 500; + display: flex; + align-items: center; + justify-content: center; + padding: 24px; + display: none; +} + +.modal-overlay.open { display: flex; } + +.modal { + background: var(--bg-surface); + border: 1px solid var(--border); + border-radius: 12px; + width: 100%; + max-width: 480px; + box-shadow: 0 8px 40px rgba(0,0,0,0.6); + overflow: hidden; +} + +.modal-header { + padding: 18px 20px 14px; + border-bottom: 1px solid var(--border-subtle); + display: flex; + align-items: center; + gap: 12px; +} + +.modal-title { + font-size: 15px; + font-weight: 600; + color: var(--text-primary); + flex: 1; +} + +.modal-close { + width: 26px; + height: 26px; + display: flex; + align-items: center; + justify-content: center; + border: none; + background: none; + color: var(--text-muted); + cursor: pointer; + border-radius: var(--radius); + transition: all 0.1s; +} +.modal-close:hover { background: var(--bg-overlay); color: var(--text-primary); } + +.modal-body { padding: 20px; } +.modal-footer { padding: 14px 20px; border-top: 1px solid var(--border-subtle); display: flex; justify-content: flex-end; gap: 8px; } + +/* ══════════════════════════════════════════════════ + RESPONSIVE +══════════════════════════════════════════════════ */ +@media (max-width: 960px) { + .stats-grid { grid-template-columns: repeat(2, 1fr); } +} + +@media (max-width: 720px) { + .page-header { flex-direction: column; gap: 12px; } + .page-header-actions { width: 100%; } + .settings-layout { grid-template-columns: 1fr; } + .settings-nav { + position: sticky; + top: 108px; + z-index: 40; + flex-direction: row; + flex-wrap: nowrap; + overflow-x: auto; + gap: 8px; + margin: 0 -4px 8px; + padding: 4px; + background: var(--bg-canvas); + scrollbar-width: none; + } + .settings-nav::-webkit-scrollbar { display: none; } + .settings-nav-item { + flex: 0 0 auto; + width: auto; + white-space: nowrap; + } + .section-anchor { scroll-margin-top: 136px; } + .filter-bar { flex-direction: column; align-items: stretch; } + .filter-bar-search { max-width: none; } + .stats-grid { grid-template-columns: 1fr 1fr; } + .field-row { grid-template-columns: 1fr; } +} + +@media (max-width: 480px) { + .stats-grid { grid-template-columns: 1fr; } +} + +/* ── Language switcher ── */ +.lang-switcher { + display: flex; + gap: 8px; +} + +.lang-btn { + display: flex; + align-items: center; + gap: 8px; + padding: 8px 18px; + background: var(--bg-canvas); + border: 1.5px solid var(--border); + border-radius: 8px; + font-family: 'Inter', sans-serif; + font-size: 13px; + font-weight: 500; + color: var(--text-secondary); + cursor: pointer; + transition: border-color 0.15s, color 0.15s, background 0.15s; +} + +.lang-btn:hover { + border-color: var(--accent); + color: var(--text-primary); +} + +.lang-btn.active { + border-color: var(--accent); + background: var(--accent-glow); + color: #fff; + font-weight: 600; +} + +.lang-flag { + font-size: 16px; + line-height: 1; +} + + +/* ═══════════════════════════════════════════════════ + Workspace switcher +═══════════════════════════════════════════════════ */ +.ws-switcher { + position: relative; + display: flex; + align-items: center; + margin-left: 4px; +} + +.ws-switcher-trigger { + display: flex; + align-items: center; + gap: 7px; + padding: 4px 8px 4px 4px; + background: none; + border: 1px solid var(--border); + border-radius: 8px; + cursor: pointer; + color: var(--text-primary); + font-size: 13px; + font-weight: 500; + transition: border-color 0.15s, background 0.15s; + max-width: 200px; + white-space: nowrap; +} +.ws-switcher-trigger:hover { border-color: var(--border-muted, #444c56); background: rgba(255,255,255,0.03); } + +.ws-dot { + width: 22px; + height: 22px; + border-radius: 5px; + background: #0d9488; + color: #fff; + font-size: 11px; + font-weight: 700; + display: flex; + align-items: center; + justify-content: center; + flex-shrink: 0; +} + +.ws-current-name { + overflow: hidden; + text-overflow: ellipsis; + max-width: 140px; +} + +.ws-dropdown { + position: absolute; + top: calc(100% + 6px); + left: 0; + min-width: 230px; + background: var(--bg-surface); + border: 1px solid var(--border); + border-radius: 10px; + box-shadow: 0 8px 28px rgba(0,0,0,0.45); + z-index: 200; + overflow: hidden; +} + +.ws-dropdown-label { + padding: 10px 14px 4px; + font-size: 11px; + font-weight: 600; + text-transform: uppercase; + letter-spacing: 0.06em; + color: var(--text-muted); +} + +.ws-dropdown-item { + display: flex; + align-items: center; + gap: 10px; + padding: 8px 14px; + cursor: pointer; + transition: background 0.1s; +} +.ws-dropdown-item:hover { background: rgba(255,255,255,0.04); } +.ws-dropdown-item.active { background: rgba(56,139,253,0.08); } + +.ws-item-dot { + width: 30px; + height: 30px; + border-radius: 7px; + display: flex; + align-items: center; + justify-content: center; + font-size: 13px; + font-weight: 700; + color: #fff; + flex-shrink: 0; +} + +.ws-item-info { flex: 1; min-width: 0; } +.ws-item-name { + font-size: 13px; + font-weight: 500; + color: var(--text-primary); + overflow: hidden; + text-overflow: ellipsis; + white-space: nowrap; +} +.ws-item-role { font-size: 11px; color: var(--text-muted); } + +.ws-dropdown-footer { border-top: 1px solid var(--border-subtle); padding: 6px 8px; } +.ws-dropdown-create { + display: flex; + align-items: center; + gap: 8px; + width: 100%; + padding: 6px 8px; + background: none; + border: none; + border-radius: 6px; + cursor: pointer; + font-size: 13px; + color: var(--text-secondary); + transition: background 0.1s, color 0.1s; +} +.ws-dropdown-create:hover { background: rgba(255,255,255,0.04); color: var(--text-primary); } + + +/* ═══════════════════════════════════════════════════ + Agents page — info callout +═══════════════════════════════════════════════════ */ +.agents-info-callout { + display: flex; + align-items: center; + gap: 10px; + padding: 10px 16px; + background: rgba(56,139,253,0.07); + border: 1px solid rgba(56,139,253,0.2); + border-radius: 8px; + font-size: 13px; + color: var(--text-secondary); + line-height: 1.5; + margin-bottom: 24px; +} +.agents-info-callout strong { color: var(--text-primary); } + + +/* ═══════════════════════════════════════════════════ + Agent cards grid +═══════════════════════════════════════════════════ */ +.agents-grid { + display: grid; + grid-template-columns: repeat(auto-fill, minmax(340px, 1fr)); + gap: 16px; + margin-bottom: 40px; +} + +.agent-card { + background: var(--bg-surface); + border: 1px solid var(--border); + border-radius: 12px; + padding: 20px; + display: flex; + flex-direction: column; + gap: 14px; + transition: border-color 0.15s; +} +.agent-card:hover { border-color: var(--border-muted, #444c56); } + +.agent-card-header { + display: flex; + align-items: flex-start; + gap: 12px; +} + +.agent-card-icon { + width: 38px; + height: 38px; + border-radius: 9px; + background: rgba(56,139,253,0.1); + border: 1px solid rgba(56,139,253,0.2); + display: flex; + align-items: center; + justify-content: center; + flex-shrink: 0; + color: var(--accent); +} + +.agent-card-title-wrap { flex: 1; min-width: 0; } +.agent-card-name { + font-size: 14px; + font-weight: 600; + color: var(--text-primary); + line-height: 1.3; + white-space: nowrap; + overflow: hidden; + text-overflow: ellipsis; +} +.agent-card-slug { + font-family: var(--font-mono, monospace); + font-size: 11px; + color: var(--text-muted); + margin-top: 2px; +} + +.agent-status-badge { + font-size: 11px; + font-weight: 600; + padding: 2px 8px; + border-radius: 20px; + white-space: nowrap; + flex-shrink: 0; +} +.agent-status-published { background: rgba(63,185,80,0.15); color: #3fb950; border: 1px solid rgba(63,185,80,0.3); } +.agent-status-draft { background: rgba(139,148,158,0.15); color: #8b949e; border: 1px solid rgba(139,148,158,0.3); } +.agent-status-archived { background: rgba(210,153,34,0.15); color: #d29922; border: 1px solid rgba(210,153,34,0.3); } + +.agent-card-desc { + font-size: 13px; + color: var(--text-secondary); + line-height: 1.55; + display: -webkit-box; + -webkit-line-clamp: 2; + -webkit-box-orient: vertical; + overflow: hidden; +} + +.agent-card-stats { + display: flex; + gap: 16px; + flex-wrap: wrap; +} +.agent-stat { + display: flex; + align-items: center; + gap: 5px; + font-size: 12px; + color: var(--text-muted); +} +.agent-stat-value { font-weight: 600; color: var(--text-secondary); } + +.agent-endpoint-row { + display: flex; + align-items: center; + gap: 8px; + padding: 7px 10px; + background: var(--bg-canvas); + border: 1px solid var(--border-subtle); + border-radius: 6px; +} +.agent-endpoint-url { + flex: 1; + font-family: var(--font-mono, monospace); + font-size: 11px; + color: var(--text-muted); + overflow: hidden; + text-overflow: ellipsis; + white-space: nowrap; +} +.agent-endpoint-copy { + background: none; + border: none; + padding: 2px 4px; + cursor: pointer; + color: var(--text-muted); + border-radius: 4px; + display: flex; + align-items: center; + transition: color 0.1s, background 0.1s; + flex-shrink: 0; +} +.agent-endpoint-copy:hover { color: var(--accent); background: rgba(56,139,253,0.1); } + +.agent-card-footer { + display: flex; + flex-direction: column; + align-items: stretch; + gap: 12px; + padding-top: 12px; + border-top: 1px solid var(--border-subtle); +} +.agent-card-date { + font-size: 11px; + color: var(--text-muted); + line-height: 1.45; +} + +.agent-card-actions { + display: grid; + grid-template-columns: repeat(2, minmax(0, 1fr)); + gap: 6px; + width: 100%; +} +.agent-action-btn { + display: flex; + align-items: center; + justify-content: center; + gap: 5px; + padding: 4px 10px; + background: none; + border: 1px solid var(--border); + border-radius: 6px; + font-size: 12px; + font-weight: 500; + color: var(--text-secondary); + cursor: pointer; + transition: border-color 0.15s, color 0.15s, background 0.15s; + min-width: 0; + white-space: normal; + text-align: center; +} +.agent-action-btn:hover { border-color: var(--border-muted, #444c56); color: var(--text-primary); background: rgba(255,255,255,0.03); } +.agent-action-btn.danger:hover { border-color: var(--error, #f87171); color: var(--error, #f87171); background: rgba(248,113,113,0.06); } + + +/* ═══════════════════════════════════════════════════ + Drawer (side panel) +═══════════════════════════════════════════════════ */ +.drawer-overlay { + position: fixed; + inset: 0; + background: rgba(0,0,0,0.45); + z-index: 150; + backdrop-filter: blur(2px); +} + +.drawer { + position: fixed; + top: 0; + right: 0; + bottom: 0; + width: 520px; + max-width: 100vw; + background: var(--bg-surface); + border-left: 1px solid var(--border); + z-index: 151; + display: flex; + flex-direction: column; + transform: translateX(100%); + transition: transform 0.22s cubic-bezier(0.4, 0, 0.2, 1); +} +.drawer.open { transform: translateX(0); } + +.drawer-header { + display: flex; + align-items: flex-start; + justify-content: space-between; + gap: 16px; + padding: 24px 24px 20px; + border-bottom: 1px solid var(--border-subtle); + flex-shrink: 0; +} +.drawer-title { font-size: 16px; font-weight: 600; color: var(--text-primary); } +.drawer-subtitle{ font-size: 13px; color: var(--text-muted); margin-top: 3px; } +.drawer-close { + background: none; + border: 1px solid var(--border); + border-radius: 6px; + padding: 6px; + cursor: pointer; + color: var(--text-muted); + display: flex; + align-items: center; + transition: border-color 0.15s, color 0.15s; + flex-shrink: 0; +} +.drawer-close:hover { border-color: var(--error, #f87171); color: var(--error, #f87171); } + +.drawer-body { + flex: 1; + overflow-y: auto; + padding: 24px; + display: flex; + flex-direction: column; + gap: 28px; +} + +.drawer-section {} +.drawer-section-header { + display: flex; + align-items: center; + justify-content: space-between; + margin-bottom: 4px; +} +.drawer-section-title { + font-size: 13px; + font-weight: 600; + color: var(--text-primary); + margin-bottom: 14px; +} +.drawer-section-header .drawer-section-title { margin-bottom: 0; } +.drawer-section-count { + font-size: 12px; + font-weight: 500; + color: var(--accent); + background: rgba(56,139,253,0.1); + padding: 2px 8px; + border-radius: 20px; +} +.drawer-section-sub { + font-size: 12px; + color: var(--text-muted); + margin-bottom: 12px; + line-height: 1.5; +} + +.drawer-footer { + display: flex; + align-items: center; + justify-content: flex-end; + gap: 8px; + padding: 16px 24px; + border-top: 1px solid var(--border-subtle); + flex-shrink: 0; + background: var(--bg-surface); +} + + +/* ═══════════════════════════════════════════════════ + Agent status toggle (in drawer) +═══════════════════════════════════════════════════ */ +.agent-status-toggle { + display: flex; + gap: 0; + background: var(--bg-canvas); + border: 1px solid var(--border); + border-radius: 8px; + padding: 3px; +} +.agent-status-opt { + flex: 1; + display: flex; + align-items: center; + justify-content: center; + gap: 6px; + padding: 6px 12px; + background: none; + border: none; + border-radius: 6px; + font-size: 13px; + font-weight: 500; + color: var(--text-muted); + cursor: pointer; + transition: background 0.15s, color 0.15s; +} +.agent-status-opt.active { + background: var(--bg-surface); + color: var(--text-primary); + box-shadow: 0 1px 3px rgba(0,0,0,0.25); +} +.status-dot { + width: 7px; + height: 7px; + border-radius: 50%; + flex-shrink: 0; +} + + +/* ═══════════════════════════════════════════════════ + Operations picker (in drawer) +═══════════════════════════════════════════════════ */ +.ops-picker { + border: 1px solid var(--border); + border-radius: 8px; + overflow: hidden; +} + +.ops-picker-search { + display: flex; + align-items: center; + gap: 8px; + padding: 8px 12px; + border-bottom: 1px solid var(--border-subtle); + background: var(--bg-canvas); +} +.ops-picker-search-input { + flex: 1; + background: none; + border: none; + outline: none; + font-size: 13px; + color: var(--text-primary); + font-family: inherit; +} +.ops-picker-search-input::placeholder { color: var(--text-muted); } +.ops-picker-clear { + background: none; + border: none; + padding: 2px; + cursor: pointer; + color: var(--text-muted); + display: flex; + align-items: center; + border-radius: 3px; +} +.ops-picker-clear:hover { color: var(--text-secondary); } + +.ops-picker-list { + max-height: 260px; + overflow-y: auto; +} + +.ops-picker-item { + display: flex; + align-items: center; + gap: 10px; + padding: 9px 12px; + cursor: pointer; + border-bottom: 1px solid var(--border-subtle); + transition: background 0.1s; +} +.ops-picker-item:last-child { border-bottom: none; } +.ops-picker-item:hover { background: rgba(255,255,255,0.03); } +.ops-picker-item.selected { background: rgba(56,139,253,0.07); } + +.ops-picker-check { + width: 16px; + height: 16px; + border: 1.5px solid var(--border); + border-radius: 4px; + display: flex; + align-items: center; + justify-content: center; + flex-shrink: 0; + transition: border-color 0.1s, background 0.1s; +} +.ops-picker-item.selected .ops-picker-check { + border-color: var(--accent); + background: rgba(56,139,253,0.12); +} + +.ops-picker-info { flex: 1; min-width: 0; } +.ops-picker-name { + font-size: 13px; + font-weight: 500; + color: var(--text-primary); + white-space: nowrap; + overflow: hidden; + text-overflow: ellipsis; +} +.ops-picker-slug { + font-family: var(--font-mono, monospace); + font-size: 10px; + color: var(--text-muted); + margin-top: 1px; +} + +.ops-picker-status-dot { + width: 6px; + height: 6px; + border-radius: 50%; + flex-shrink: 0; +} +.ops-status-active { background: #3fb950; } +.ops-status-draft { background: #8b949e; } +.ops-status-error { background: #f85149; } +.ops-status-inactive { background: #8b949e; } + +.ops-picker-empty { + padding: 20px; + text-align: center; + font-size: 13px; + color: var(--text-muted); +} + +.ops-picker-footer { + padding: 8px 12px; + border-top: 1px solid var(--border-subtle); + background: var(--bg-canvas); + font-size: 12px; + color: var(--text-secondary); + display: flex; + align-items: center; +} + + +/* ═══════════════════════════════════════════════════ + Agents — recommendation callout +═══════════════════════════════════════════════════ */ +.agents-rec-callout { + display: flex; + align-items: flex-start; + gap: 8px; + margin-top: 10px; + padding: 10px 12px; + background: rgba(210,153,34,0.08); + border: 1px solid rgba(210,153,34,0.25); + border-radius: 7px; + font-size: 12px; + color: var(--text-secondary); + line-height: 1.5; +} +.agents-rec-callout svg { flex-shrink: 0; color: #d2991f; margin-top: 1px; } +.agents-rec-callout strong { color: var(--text-primary); } + + +/* ═══════════════════════════════════════════════════ + Settings — Members enhanced +═══════════════════════════════════════════════════ */ +.member-row { + display: flex; + align-items: center; + gap: 12px; + padding: 10px 0; + border-bottom: 1px solid var(--border-subtle); +} +.member-row:last-child { border-bottom: none; } + +.member-last-active { + font-size: 12px; + color: var(--text-muted); + white-space: nowrap; + min-width: 80px; + text-align: right; +} + +.member-role-select { + background: var(--bg-canvas); + border: 1px solid var(--border); + border-radius: 6px; + color: var(--text-secondary); + font-size: 12px; + font-weight: 500; + padding: 4px 8px; + cursor: pointer; + outline: none; + transition: border-color 0.15s; + min-width: 110px; +} +.member-role-select:hover { border-color: var(--accent); } +.member-role-select:focus { border-color: var(--accent); } + +.member-remove-btn { + background: none; + border: 1px solid var(--border); + border-radius: 6px; + padding: 5px 6px; + cursor: pointer; + color: var(--text-muted); + display: flex; + align-items: center; + justify-content: center; + transition: border-color 0.15s, color 0.15s, background 0.15s; + flex-shrink: 0; +} +.member-remove-btn:hover { + border-color: var(--error, #f87171); + color: var(--error, #f87171); + background: rgba(248,113,113,0.07); +} + +.member-role-badge { + font-size: 11px; + font-weight: 600; + padding: 2px 9px; + border-radius: 20px; + white-space: nowrap; + flex-shrink: 0; +} +.role-owner { background: rgba(56,139,253,0.15); color: #58a6ff; border: 1px solid rgba(56,139,253,0.3); } +.role-admin { background: rgba(139,92,246,0.15); color: #a78bfa; border: 1px solid rgba(139,92,246,0.3); } +.role-developer { background: rgba(63,185,80,0.12); color: #3fb950; border: 1px solid rgba(63,185,80,0.25); } +.role-viewer { background: rgba(139,148,158,0.15); color: #8b949e; border: 1px solid rgba(139,148,158,0.3); } + +.role-def-row { + display: flex; + align-items: flex-start; + gap: 16px; + padding: 11px 20px; + border-bottom: 1px solid var(--border-subtle); +} +.role-def-row:last-child { border-bottom: none; } +.role-def-text { + font-size: 13px; + color: var(--text-secondary); + line-height: 1.5; +} + +/* ── Workspace dropdown management links ── */ +.ws-dropdown-divider { + height: 1px; + background: var(--border-subtle); + margin: 4px 0; +} +.ws-dropdown-mgmt-link { + display: flex; + align-items: center; + gap: 8px; + padding: 7px 14px; + font-size: 13px; + color: var(--text-secondary); + text-decoration: none; + transition: background 0.1s, color 0.1s; + cursor: pointer; +} +.ws-dropdown-mgmt-link:hover { + background: rgba(255,255,255,0.04); + color: var(--text-primary); +} +.ws-dropdown-mgmt-link svg { + flex-shrink: 0; + opacity: 0.7; +} + +@media (max-width: 900px) { + .toast-stack { + top: 72px; + right: 16px; + left: 16px; + width: auto; + } +} + +.list-toolbar { + display: flex; + align-items: center; + justify-content: space-between; + gap: 12px; + margin-bottom: 16px; + flex-wrap: wrap; +} + +.list-toolbar-group { + display: flex; + align-items: center; + gap: 10px; + flex-wrap: wrap; +} + +.page-select { + min-height: 36px; + padding: 8px 12px; + border: 1px solid var(--border); + border-radius: 10px; + background: var(--bg-overlay); + color: var(--text-secondary); + font-size: 13px; + font-family: 'Inter', sans-serif; +} + +.resource-list { + display: grid; + gap: 14px; +} + +.resource-card { + background: var(--bg-overlay); + border: 1px solid var(--border); + border-radius: 14px; + padding: 16px; +} + +.resource-card-header { + display: flex; + align-items: flex-start; + justify-content: space-between; + gap: 14px; + margin-bottom: 12px; +} + +.resource-card-title { + font-size: 14px; + font-weight: 600; + color: var(--text-primary); +} + +.resource-card-subtitle { + margin-top: 4px; + font-size: 12px; + color: var(--text-muted); + word-break: break-all; +} + +.resource-card-actions { + display: flex; + align-items: center; + gap: 8px; + flex-shrink: 0; +} + +.resource-meta-grid { + display: grid; + grid-template-columns: repeat(auto-fit, minmax(180px, 1fr)); + gap: 12px; + margin-bottom: 14px; +} + +.resource-meta-item { + min-width: 0; +} + +.resource-meta-label { + font-size: 11px; + font-weight: 600; + letter-spacing: 0.04em; + text-transform: uppercase; + color: var(--text-muted); + margin-bottom: 4px; +} + +.resource-meta-value { + font-size: 13px; + color: var(--text-primary); + line-height: 1.5; + word-break: break-word; +} + +.resource-detail-block { + margin-top: 12px; + border-top: 1px solid var(--border-subtle); + padding-top: 12px; +} + +.resource-detail-title { + font-size: 12px; + font-weight: 600; + color: var(--text-primary); + margin-bottom: 8px; +} + +.resource-detail-pre { + margin: 0; + padding: 12px 14px; + border-radius: 12px; + background: rgba(12, 17, 24, 0.8); + border: 1px solid var(--border-subtle); + color: var(--text-secondary); + font-size: 12px; + line-height: 1.5; + overflow: auto; + white-space: pre-wrap; + word-break: break-word; +} + +.resource-pill-row { + display: flex; + align-items: center; + gap: 8px; + flex-wrap: wrap; + margin-top: 8px; +} + +.resource-status-pill { + display: inline-flex; + align-items: center; + gap: 6px; + padding: 5px 9px; + border-radius: 999px; + font-size: 12px; + font-weight: 600; + border: 1px solid var(--border); + background: rgba(255, 255, 255, 0.04); + color: var(--text-secondary); +} + +.resource-status-pill.active, +.resource-status-pill.running, +.resource-status-pill.succeeded { + border-color: rgba(63, 185, 80, 0.28); + background: rgba(63, 185, 80, 0.12); + color: #71dd8a; +} + +.resource-status-pill.idle, +.resource-status-pill.pending { + border-color: rgba(110, 118, 129, 0.28); + background: rgba(110, 118, 129, 0.12); + color: var(--text-secondary); +} + +.resource-status-pill.failed, +.resource-status-pill.cancelled, +.resource-status-pill.stopped { + border-color: rgba(248, 81, 73, 0.28); + background: rgba(248, 81, 73, 0.12); + color: #ff8a83; +} + +.resource-status-pill.completed { + border-color: rgba(56, 189, 248, 0.28); + background: rgba(56, 189, 248, 0.12); + color: #79d8ff; +} diff --git a/apps/ui/css/settings.css b/apps/ui/css/settings.css new file mode 100644 index 0000000..339a2aa --- /dev/null +++ b/apps/ui/css/settings.css @@ -0,0 +1,205 @@ +.avatar-upload { + display: flex; + align-items: center; + gap: 16px; + padding: 16px; + background: var(--bg-canvas); + border: 1px solid var(--border); + border-radius: var(--radius); + margin-bottom: 4px; +} + +.avatar-large { + width: 52px; + height: 52px; + border-radius: 50%; + background: linear-gradient(135deg, #0d9488, #6366f1); + color: #fff; + font-size: 18px; + font-weight: 700; + display: flex; + align-items: center; + justify-content: center; + flex-shrink: 0; + border: 2px solid var(--border); +} + +.avatar-upload-actions { flex: 1; } +.avatar-name { font-size: 14px; font-weight: 600; color: var(--text-primary); margin-bottom: 3px; } +.avatar-sub { font-size: 12px; color: var(--text-muted); margin-bottom: 8px; } + +.save-bar { + position: sticky; + bottom: 0; + background: rgba(13,17,23,0.9); + backdrop-filter: blur(12px); + border-top: 1px solid var(--border); + padding: 12px 20px; + display: flex; + align-items: center; + justify-content: flex-end; + gap: 8px; + margin-top: auto; + display: none; +} + +.save-bar.visible { display: flex; } + +.section-anchor { scroll-margin-top: 80px; } + +.danger-zone-action { + display: flex; + align-items: flex-start; + gap: 16px; + padding: 16px; + border-bottom: 1px solid var(--border-subtle); +} + +.danger-zone-action:last-child { border-bottom: none; } + +.danger-zone-text { flex: 1; } +.danger-zone-title { font-size: 13.5px; font-weight: 500; color: var(--text-primary); margin-bottom: 3px; } +.danger-zone-desc { font-size: 12.5px; color: var(--text-muted); line-height: 1.5; } + +.toggle-setting-row { + display: flex; + align-items: center; + gap: 14px; + padding: 14px 0; + border-bottom: 1px solid var(--border-subtle); +} + +.toggle-setting-row:last-child { border-bottom: none; } + +.toggle-sm { + width: 36px; + height: 20px; + border-radius: 10px; + background: var(--bg-muted); + border: 1px solid var(--border); + position: relative; + flex-shrink: 0; + cursor: pointer; + transition: background 0.2s; +} + +.toggle-sm.on { background: var(--accent); border-color: var(--accent-dim); } + +.toggle-sm::after { + content: ''; + position: absolute; + left: 2px; top: 1px; + width: 16px; height: 16px; + border-radius: 50%; + background: #fff; + box-shadow: 0 1px 3px rgba(0,0,0,0.3); + transition: transform 0.2s; +} + +.toggle-sm.on::after { transform: translateX(16px); } + +.toggle-setting-text { flex: 1; } +.toggle-setting-label { font-size: 13.5px; font-weight: 500; color: var(--text-primary); } +.toggle-setting-desc { font-size: 12px; color: var(--text-muted); margin-top: 2px; } + +.member-row { + display: flex; + align-items: center; + gap: 12px; + padding: 10px 0; + border-bottom: 1px solid var(--border-subtle); +} + +.member-row:last-child { border-bottom: none; } + +.member-avatar { + width: 30px; + height: 30px; + border-radius: 50%; + background: var(--bg-muted); + border: 1px solid var(--border); + display: flex; + align-items: center; + justify-content: center; + font-size: 11px; + font-weight: 700; + color: var(--text-secondary); + flex-shrink: 0; +} + +.member-info { flex: 1; } +.member-name { font-size: 13.5px; color: var(--text-primary); font-weight: 500; } +.member-email { font-size: 12px; color: var(--text-muted); } + +.member-role-badge { + font-size: 11px; + font-weight: 600; + padding: 2px 8px; + border-radius: 4px; + border: 1px solid; +} + +.role-admin { background: rgba(13,148,136,0.1); border-color: rgba(13,148,136,0.25); color: var(--accent); } +.role-member { background: var(--bg-overlay); border-color: var(--border); color: var(--text-muted); } +.role-viewer { background: rgba(88,166,255,0.07); border-color: var(--blue-border); color: var(--blue); } + +.planned-section-title { + display: flex; + align-items: center; + gap: 10px; + margin-bottom: 12px; + font-size: 13.5px; + font-weight: 600; + color: var(--text-primary); +} + +.planned-badge { + display: inline-flex; + align-items: center; + justify-content: center; + padding: 2px 8px; + border-radius: 999px; + border: 1px solid rgba(245, 158, 11, 0.24); + background: rgba(245, 158, 11, 0.09); + color: var(--amber); + font-size: 10px; + font-weight: 700; + letter-spacing: 0.02em; + text-transform: uppercase; +} + +.planned-badge.small { + padding: 1px 7px; +} + +.planned-list { + display: grid; + gap: 12px; +} + +.planned-item { + padding: 14px 16px; + border-radius: var(--radius); + border: 1px solid var(--border); + background: rgba(255, 255, 255, 0.02); +} + +.planned-item-head { + display: flex; + align-items: flex-start; + justify-content: space-between; + gap: 10px; + margin-bottom: 6px; +} + +.planned-item-title { + font-size: 13px; + font-weight: 600; + color: var(--text-primary); +} + +.planned-item-desc { + font-size: 12.5px; + line-height: 1.5; + color: var(--text-muted); +} diff --git a/apps/ui/css/usage.css b/apps/ui/css/usage.css new file mode 100644 index 0000000..14fc42e --- /dev/null +++ b/apps/ui/css/usage.css @@ -0,0 +1,145 @@ +.period-select { + background: var(--bg-canvas); + border: 1px solid var(--border); + border-radius: var(--radius); + padding: 7px 28px 7px 11px; + font-family: 'Inter', sans-serif; + font-size: 13px; + color: var(--text-secondary); + appearance: none; + background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='10' viewBox='0 0 12 12'%3E%3Cpath fill='%236e7681' d='M6 8L1 3h10z'/%3E%3C/svg%3E"); + background-repeat: no-repeat; + background-position: right 8px center; + cursor: pointer; + outline: none; + transition: border-color 0.15s; +} + +.period-select:focus { + border-color: var(--accent); + box-shadow: 0 0 0 3px var(--accent-ring); +} + +.chart-placeholder { + background: var(--bg-canvas); + border: 1px solid var(--border); + border-radius: var(--radius-lg); + height: 248px; + display: flex; + align-items: stretch; + padding: 12px 16px; + gap: 4px; + overflow: hidden; + position: relative; +} + +.chart-col { + flex: 1; + min-width: 0; + height: 100%; + display: flex; + flex-direction: column; + align-items: center; + justify-content: flex-end; + gap: 10px; +} + +.chart-col-bars { + flex: 1; + width: 100%; + min-height: 0; + display: flex; + flex-direction: column; + justify-content: flex-end; + gap: 2px; +} + +.chart-bar { + flex: 0 0 auto; + border-radius: 3px 3px 0 0; + min-width: 0; + width: 100%; + transition: opacity 0.15s; + position: relative; + cursor: pointer; +} + +.chart-bar:hover { opacity: 0.8; } +.chart-bar:hover::after { + content: attr(data-tip); + position: absolute; + bottom: 100%; + left: 50%; + transform: translateX(-50%); + background: var(--bg-surface); + border: 1px solid var(--border); + border-radius: 5px; + padding: 4px 8px; + font-size: 11px; + color: var(--text-primary); + white-space: nowrap; + pointer-events: none; + margin-bottom: 4px; +} + +.chart-bar.success { background: linear-gradient(180deg, var(--accent) 0%, rgba(13,148,136,0.4) 100%); } +.chart-bar.error { background: linear-gradient(180deg, var(--red) 0%, rgba(248,81,73,0.3) 100%); } + +.chart-col-label { + flex: 0 0 auto; + width: 100%; + text-align: center; + font-size: 10.5px; + line-height: 1; + color: var(--text-muted); + white-space: nowrap; + overflow: hidden; + text-overflow: ellipsis; +} + +.chart-wrap { + position: relative; + padding-bottom: 24px; +} + +.chart-y-grid { + position: absolute; + left: 0; right: 0; top: 0; bottom: 24px; + display: flex; + flex-direction: column; + justify-content: space-between; + pointer-events: none; +} + +.chart-y-line { + width: 100%; + height: 1px; + background: var(--border-subtle); +} + +.quota-bar-wrap { + height: 8px; + background: var(--bg-muted); + border-radius: 4px; + overflow: hidden; + margin: 8px 0 4px; +} + +.quota-bar-fill { + height: 100%; + border-radius: 4px; + background: linear-gradient(90deg, var(--accent), #7c3aed); +} + +.latency-bar { + display: flex; + height: 12px; + border-radius: 3px; + overflow: hidden; + gap: 2px; +} + +.latency-seg { border-radius: 2px; } +.latency-p50 { background: var(--accent); } +.latency-p95 { background: var(--amber); } +.latency-p99 { background: var(--red); } diff --git a/apps/ui/css/variables.css b/apps/ui/css/variables.css new file mode 100644 index 0000000..b48a1a7 --- /dev/null +++ b/apps/ui/css/variables.css @@ -0,0 +1,64 @@ +:root { + --bg-canvas: #0d1117; + --bg-surface: #161b22; + --bg-overlay: #21262d; + --bg-muted: #30363d; + --border: rgba(48, 54, 61, 0.9); + --border-subtle: rgba(33, 38, 45, 0.9); + + --text-primary: #e6edf3; + --text-secondary: #8b949e; + --text-muted: #6e7681; + + --accent: #0d9488; + --accent-dim: #0f766e; + --accent-bright: #14b8a6; + --accent-glow: rgba(13, 148, 136, 0.15); + --accent-ring: rgba(13, 148, 136, 0.25); + + --red: #f85149; + --red-bg: rgba(248, 81, 73, 0.10); + --red-border: rgba(248, 81, 73, 0.25); + --amber: #d29922; + --amber-bg: rgba(210, 153, 34, 0.10); + --amber-border: rgba(210, 153, 34, 0.25); + --green: #3fb950; + --green-bg: rgba(63, 185, 80, 0.10); + --green-border: rgba(63, 185, 80, 0.25); + --blue: #58a6ff; + --blue-bg: rgba(88, 166, 255, 0.08); + --blue-border: rgba(88, 166, 255, 0.20); + --purple: #bc8cff; + --purple-bg: rgba(188, 140, 255, 0.08); + --purple-border: rgba(188, 140, 255, 0.20); + + --radius-sm: 5px; + --radius: 7px; + --radius-lg: 10px; + + --shadow-sm: 0 1px 2px rgba(0, 0, 0, 0.3); + --shadow: 0 1px 3px rgba(0, 0, 0, 0.4), 0 4px 16px rgba(0, 0, 0, 0.3); +} + +*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; } + +html, body { + height: 100%; + min-width: 360px; + font-family: 'Inter', system-ui, sans-serif; + background: var(--bg-canvas); + color: var(--text-primary); + font-size: 14px; + line-height: 1.5; + -webkit-font-smoothing: antialiased; + -moz-osx-font-smoothing: grayscale; +} + +a { color: inherit; text-decoration: none; } +button { cursor: pointer; font-family: inherit; } + +::-webkit-scrollbar { width: 6px; height: 6px; } +::-webkit-scrollbar-track { background: transparent; } +::-webkit-scrollbar-thumb { background: var(--bg-muted); border-radius: 3px; } +::-webkit-scrollbar-thumb:hover { background: #484f58; } +::selection { background: var(--accent-glow); color: var(--text-primary); } diff --git a/apps/ui/css/wizard.css b/apps/ui/css/wizard.css new file mode 100644 index 0000000..7e17c9d --- /dev/null +++ b/apps/ui/css/wizard.css @@ -0,0 +1,2000 @@ +/* ══════════════════════════════════════════════════ + WIZARD — shell +══════════════════════════════════════════════════ */ +.wizard-page { + padding-top: 60px; +} + +.wizard-page .navbar { + position: fixed; + top: 0; + left: 0; + right: 0; +} + +.wizard-page .progress-strip { + position: fixed; + top: 60px; + left: 0; + right: 0; +} + +.wizard-shell { + min-height: calc(100vh - 60px); + display: flex; + flex-direction: column; + padding-top: 56px; +} + +/* ══════════════════════════════════════════════════ + TOP PROGRESS STRIP +══════════════════════════════════════════════════ */ +.progress-strip { + background: var(--bg-surface); + border-bottom: 1px solid var(--border); + padding: 0 40px; + display: flex; + align-items: center; + height: 56px; + gap: 20px; + z-index: 30; + box-shadow: 0 1px 0 var(--border-subtle), 0 4px 16px rgba(0, 0, 0, 0.4); +} + +.back-to-catalog-btn { + display: inline-flex; + align-items: center; + gap: 6px; + padding: 6px 12px; + border-radius: 6px; + background: none; + border: 1px solid var(--border); + color: var(--text-secondary); + font-size: 13px; + font-weight: 500; + cursor: pointer; + font-family: 'Inter', sans-serif; + transition: all 0.15s; + white-space: nowrap; + text-decoration: none; +} + +.back-to-catalog-btn:hover { + background: var(--bg-overlay); + color: var(--text-primary); + border-color: var(--bg-muted); +} + +.progress-divider { + width: 1px; + height: 20px; + background: var(--border); + margin: 0 4px; +} + +.progress-label { + font-size: 13px; + color: var(--text-secondary); + white-space: nowrap; +} + +.progress-bar-wrap { + flex: 1; + height: 4px; + background: var(--bg-muted); + border-radius: 10px; + overflow: hidden; + min-width: 80px; +} + +.progress-bar-fill { + height: 100%; + width: 20%; + background: linear-gradient(90deg, var(--accent), #7c3aed); + border-radius: 10px; + transition: width 0.4s ease; + position: relative; +} + +.progress-bar-fill::after { + content: ''; + position: absolute; + right: -1px; + top: 50%; + transform: translateY(-50%); + width: 8px; + height: 8px; + border-radius: 50%; + background: #7c3aed; + box-shadow: 0 0 0 2px var(--bg-surface), 0 0 8px rgba(124, 58, 237, 0.6); +} + +.progress-pct { + font-size: 12px; + font-weight: 600; + color: var(--accent); + white-space: nowrap; + min-width: 34px; + text-align: right; + font-variant-numeric: tabular-nums; +} + +.progress-close { + margin-left: 4px; + width: 28px; + height: 28px; + border-radius: 6px; + display: flex; + align-items: center; + justify-content: center; + background: none; + border: 1px solid var(--border); + color: var(--text-muted); + cursor: pointer; + transition: all 0.15s; +} + +.progress-close:hover { + background: var(--bg-overlay); + color: var(--text-primary); + border-color: var(--bg-muted); +} + +/* ══════════════════════════════════════════════════ + WIZARD BODY +══════════════════════════════════════════════════ */ +.wizard-body { + flex: 1; + display: flex; + max-width: 1100px; + width: 100%; + margin: 0 auto; + padding: 40px 40px 140px; + gap: 36px; + align-items: flex-start; +} + +.checkbox-pill { + display: inline-flex; + align-items: center; + gap: 10px; + min-height: 38px; + padding: 8px 12px; + border: 1px solid var(--border); + border-radius: 10px; + background: var(--bg-overlay); + color: var(--text-secondary); + font-size: 13px; + cursor: pointer; + transition: border-color 0.15s ease, background 0.15s ease, color 0.15s ease; +} + +.checkbox-pill:hover { + border-color: var(--bg-muted); + color: var(--text-primary); +} + +.checkbox-pill input { + width: 15px; + height: 15px; + accent-color: var(--accent); +} + +.checkbox-pill:has(input:checked) { + border-color: rgba(13, 148, 136, 0.35); + background: rgba(13, 148, 136, 0.12); + color: var(--text-primary); +} + +/* ══════════════════════════════════════════════════ + STEP SIDEBAR +══════════════════════════════════════════════════ */ +.step-sidebar { + width: 248px; + flex-shrink: 0; + position: sticky; + top: 136px; +} + +.step-sidebar-card { + background: var(--bg-surface); + border: 1px solid var(--border); + border-radius: 12px; + overflow: hidden; +} + +.step-sidebar-header { + padding: 16px 18px 14px; + border-bottom: 1px solid var(--border-subtle); + display: flex; + align-items: center; + gap: 10px; +} + +.step-sidebar-logo-mark { + width: 24px; + height: 24px; + border-radius: 6px; + background: linear-gradient(135deg, var(--accent), #7c3aed); + display: flex; + align-items: center; + justify-content: center; + color: #fff; + font-size: 11px; + font-weight: 800; + flex-shrink: 0; +} + +.step-sidebar-brand { + font-size: 13px; + font-weight: 600; + color: var(--text-primary); + letter-spacing: -0.2px; +} + +.step-sidebar-brand span { + color: var(--text-muted); + font-weight: 400; +} + +.step-sidebar-body { + padding: 18px 14px 14px; +} + +.step-sidebar-section-label { + font-size: 10px; + font-weight: 600; + letter-spacing: 0.8px; + text-transform: uppercase; + color: var(--text-muted); + padding: 0 4px; + margin-bottom: 14px; +} + +/* Step list */ +.steps-list { + display: flex; + flex-direction: column; + position: relative; +} + +.steps-list::before { + content: ''; + position: absolute; + left: 27px; + top: 32px; + bottom: 40px; + width: 1px; + background: var(--border); + z-index: 0; +} + +.step-item { + display: flex; + align-items: flex-start; + gap: 12px; + padding: 9px 10px; + border-radius: 8px; + cursor: pointer; + position: relative; + z-index: 1; + transition: background 0.15s; + border: 1px solid transparent; +} + +.step-item:hover { background: var(--bg-overlay); } + +.step-item.active { + background: var(--accent-glow); + border-color: rgba(13, 148, 136, 0.2); +} + +.step-item.pending:hover { background: rgba(33, 38, 45, 0.6); } + +/* Step indicator circle */ +.step-indicator { + width: 32px; + height: 32px; + border-radius: 50%; + display: flex; + align-items: center; + justify-content: center; + flex-shrink: 0; + font-size: 12px; + font-weight: 700; + border: 2px solid var(--step-pending); + background: var(--bg-overlay); + color: var(--text-muted); + transition: all 0.2s; + position: relative; + z-index: 2; +} + +.step-item.done .step-indicator { + background: var(--step-done); + border-color: var(--step-done); + color: var(--bg-canvas); + box-shadow: 0 0 0 3px rgba(63, 185, 80, 0.15); +} + +.step-item.active .step-indicator { + background: var(--bg-surface); + border-color: var(--step-active); + color: var(--accent); + box-shadow: 0 0 0 4px var(--accent-ring); + font-weight: 700; +} + +.step-item.pending .step-indicator { + background: var(--bg-overlay); + border-color: var(--step-pending); + color: var(--text-muted); +} + +/* Step text content */ +.step-content { + flex: 1; + min-width: 0; + padding-top: 3px; +} + +.step-number { + font-size: 10.5px; + color: var(--text-muted); + font-weight: 500; + margin-bottom: 1px; + letter-spacing: 0.2px; +} + +.step-name { + font-size: 13.5px; + font-weight: 500; + color: var(--text-secondary); + white-space: nowrap; + overflow: hidden; + text-overflow: ellipsis; +} + +.step-item.done .step-name { color: var(--text-primary); } +.step-item.active .step-name { color: var(--accent-bright); font-weight: 600; } +.step-item.pending .step-name { color: var(--text-muted); } + +.step-status-text { + font-size: 11px; + margin-top: 2px; +} + +.step-item.done .step-status-text { color: var(--step-done); } +.step-item.active .step-status-text { color: var(--accent); } +.step-item.pending .step-status-text { color: var(--text-muted); } + +/* Sidebar footer help card */ +.sidebar-help { + margin-top: 4px; + background: var(--bg-overlay); + border: 1px solid var(--border-subtle); + border-radius: 8px; + padding: 14px 16px; +} + +.sidebar-help-title { + font-size: 12.5px; + font-weight: 600; + color: var(--text-primary); + margin-bottom: 6px; + display: flex; + align-items: center; + gap: 6px; +} + +.sidebar-help-title svg { opacity: 0.7; flex-shrink: 0; } + +.sidebar-help-text { + font-size: 12px; + color: var(--text-secondary); + line-height: 1.6; +} + +.sidebar-help-link { + color: var(--accent); + text-decoration: none; + font-weight: 500; +} + +.sidebar-help-link:hover { text-decoration: underline; } + +/* ══════════════════════════════════════════════════ + MAIN STEP PANEL +══════════════════════════════════════════════════ */ +.step-panel { + flex: 1; + min-width: 0; +} + +.step-panel-header { + margin-bottom: 28px; +} + +.step-panel-eyebrow { + display: flex; + align-items: center; + gap: 8px; + font-size: 11.5px; + font-weight: 600; + letter-spacing: 0.6px; + text-transform: uppercase; + color: var(--accent); + margin-bottom: 10px; +} + +.step-panel-eyebrow-line { + width: 20px; + height: 2px; + background: var(--accent); + border-radius: 1px; + flex-shrink: 0; +} + +.step-panel-title { + font-size: 26px; + font-weight: 700; + letter-spacing: -0.6px; + color: var(--text-primary); + margin-bottom: 8px; + line-height: 1.2; +} + +.step-panel-subtitle { + font-size: 14px; + color: var(--text-secondary); + line-height: 1.65; + max-width: 580px; +} + +/* ── Protocol cards ── */ +.protocol-grid { + display: grid; + grid-template-columns: repeat(3, 1fr); + gap: 12px; + margin-bottom: 24px; +} + +.protocol-card { + background: var(--bg-surface); + border: 1.5px solid var(--border); + border-radius: 10px; + padding: 20px 18px 18px; + cursor: pointer; + transition: all 0.18s ease; + position: relative; + overflow: hidden; +} + +.protocol-card:hover { + border-color: var(--accent); + background: rgba(13, 148, 136, 0.06); + transform: translateY(-1px); + box-shadow: 0 4px 20px rgba(0, 0, 0, 0.4), 0 0 0 1px rgba(13, 148, 136, 0.15); +} + +.protocol-card.selected { + border-color: var(--accent); + background: var(--accent-glow); + box-shadow: + 0 0 0 1px var(--accent), + 0 4px 24px rgba(0, 0, 0, 0.5), + 0 0 20px rgba(13, 148, 136, 0.12); +} + +.protocol-card-check { + position: absolute; + top: 12px; + right: 12px; + width: 18px; + height: 18px; + border-radius: 50%; + background: var(--accent); + display: flex; + align-items: center; + justify-content: center; + opacity: 0; + transform: scale(0.6); + transition: all 0.18s ease; + flex-shrink: 0; +} + +.protocol-card.selected .protocol-card-check { + opacity: 1; + transform: scale(1); +} + +.protocol-card-check svg { + width: 10px; + height: 10px; + stroke: #fff; + stroke-width: 2.5; + fill: none; +} + +.protocol-icon-wrap { + width: 44px; + height: 44px; + border-radius: 10px; + display: flex; + align-items: center; + justify-content: center; + margin-bottom: 14px; + flex-shrink: 0; + transition: all 0.18s; +} + +.protocol-card.rest .protocol-icon-wrap { + background: rgba(88, 166, 255, 0.12); + border: 1px solid rgba(88, 166, 255, 0.2); +} + +.protocol-card.graphql .protocol-icon-wrap { + background: rgba(188, 140, 255, 0.12); + border: 1px solid rgba(188, 140, 255, 0.2); +} + +.protocol-card.grpc .protocol-icon-wrap { + background: rgba(13, 148, 136, 0.12); + border: 1px solid rgba(13, 148, 136, 0.2); +} + +.protocol-card.selected.rest .protocol-icon-wrap { + background: rgba(88, 166, 255, 0.18); + border-color: rgba(88, 166, 255, 0.35); +} + +.protocol-card.selected.graphql .protocol-icon-wrap { + background: rgba(188, 140, 255, 0.18); + border-color: rgba(188, 140, 255, 0.35); +} + +.protocol-card.selected.grpc .protocol-icon-wrap { + background: rgba(13, 148, 136, 0.2); + border-color: rgba(13, 148, 136, 0.4); +} + +.protocol-card-name { + font-size: 15px; + font-weight: 700; + color: var(--text-primary); + margin-bottom: 4px; + letter-spacing: -0.2px; +} + +.protocol-card.selected .protocol-card-name { color: #fff; } + +.protocol-card-tagline { + font-size: 12px; + color: var(--text-secondary); + margin-bottom: 14px; + line-height: 1.5; +} + +.protocol-card.selected .protocol-card-tagline { color: var(--accent-bright); } + +.protocol-card-tags { + display: flex; + flex-wrap: wrap; + gap: 5px; +} + +.protocol-tag { + font-size: 10.5px; + font-weight: 500; + padding: 2px 8px; + border-radius: 4px; + border: 1px solid var(--border); + background: var(--bg-overlay); + color: var(--text-muted); + letter-spacing: 0.1px; + transition: all 0.15s; +} + +.protocol-card.selected .protocol-tag { + background: rgba(13, 148, 136, 0.12); + border-color: rgba(13, 148, 136, 0.3); + color: var(--accent-bright); +} + +.protocol-card.rest.selected .protocol-tag { + background: rgba(88, 166, 255, 0.1); + border-color: rgba(88, 166, 255, 0.25); + color: #58a6ff; +} + +.protocol-card.graphql.selected .protocol-tag { + background: rgba(188, 140, 255, 0.1); + border-color: rgba(188, 140, 255, 0.25); + color: #bc8cff; +} + +/* ── REST method picker ── */ +.method-section { + background: var(--bg-surface); + border: 1px solid var(--border); + border-radius: 10px; + overflow: hidden; + margin-bottom: 20px; +} + +.method-section-header { + padding: 14px 20px; + border-bottom: 1px solid var(--border-subtle); + display: flex; + align-items: center; + gap: 10px; +} + +.method-section-title { + font-size: 13px; + font-weight: 600; + color: var(--text-primary); +} + +.method-section-subtitle { + font-size: 12px; + color: var(--text-muted); + margin-left: auto; +} + +.method-section-body { + padding: 18px 20px; + display: flex; + flex-direction: column; + gap: 16px; +} + +.method-grid { + display: grid; + grid-template-columns: repeat(5, 1fr); + gap: 8px; +} + +.method-btn { + padding: 10px 8px; + border-radius: 7px; + border: 1.5px solid var(--border); + background: var(--bg-overlay); + cursor: pointer; + transition: all 0.15s; + display: flex; + flex-direction: column; + align-items: center; + gap: 5px; + font-family: 'Inter', sans-serif; +} + +.method-btn:hover { border-color: var(--bg-muted); background: rgba(33, 38, 45, 0.8); } + +.method-btn.selected-get { border-color: #3fb950; background: rgba(63, 185, 80, 0.08); } +.method-btn.selected-post { border-color: #58a6ff; background: rgba(88, 166, 255, 0.08); } +.method-btn.selected-put { border-color: #d29922; background: rgba(210, 153, 34, 0.08); } +.method-btn.selected-patch { border-color: #bc8cff; background: rgba(188, 140, 255, 0.08); } +.method-btn.selected-delete { border-color: #f85149; background: rgba(248, 81, 73, 0.08); } + +.method-verb { + font-size: 11px; + font-weight: 700; + letter-spacing: 0.5px; + font-variant-numeric: tabular-nums; + color: var(--text-muted); +} + +.method-btn.selected-get .method-verb { color: #3fb950; } +.method-btn.selected-post .method-verb { color: #58a6ff; } +.method-btn.selected-put .method-verb { color: #d29922; } +.method-btn.selected-patch .method-verb { color: #bc8cff; } +.method-btn.selected-delete .method-verb { color: #f85149; } + +.method-label { font-size: 10px; color: var(--text-muted); } + +/* ── Info callout ── */ +.info-callout { + display: flex; + gap: 12px; + padding: 14px 16px; + background: rgba(13, 148, 136, 0.07); + border: 1px solid rgba(13, 148, 136, 0.2); + border-radius: 8px; +} + +.info-callout.info-callout-subtle { + background: rgba(148, 163, 184, 0.08); + border-color: rgba(148, 163, 184, 0.18); +} + +.info-callout.is-success { + background: rgba(13, 148, 136, 0.07); + border-color: rgba(13, 148, 136, 0.28); +} + +.info-callout.is-error { + background: rgba(248, 113, 113, 0.08); + border-color: rgba(248, 113, 113, 0.28); +} + +.info-callout-icon { + width: 18px; + height: 18px; + flex-shrink: 0; + margin-top: 1px; + color: var(--accent); +} + +.info-callout.info-callout-subtle .info-callout-icon { + color: var(--text-secondary); +} + +.info-callout.is-error .info-callout-icon, +.info-callout.is-error .info-callout-title { + color: #f87171; +} + +.info-callout.is-success .info-callout-title { + color: var(--accent-bright); +} + +.info-callout-body { flex: 1; } + +.info-callout-title { + font-size: 12.5px; + font-weight: 600; + color: var(--accent-bright); + margin-bottom: 4px; +} + +.info-callout-text { + font-size: 12px; + color: var(--text-secondary); + line-height: 1.65; +} + +.info-callout-text a { + color: var(--accent); + text-decoration: none; + font-weight: 500; +} + +.info-callout-text a:hover { text-decoration: underline; } + +/* ── Config card ── */ +.config-card { + background: var(--bg-surface); + border: 1px solid var(--border); + border-radius: 10px; + overflow: hidden; + margin-bottom: 20px; +} + +.config-card-header { + padding: 14px 20px; + border-bottom: 1px solid var(--border-subtle); + display: flex; + align-items: center; + gap: 12px; +} + +.config-card-header-icon { + width: 28px; + height: 28px; + border-radius: 7px; + background: var(--bg-overlay); + border: 1px solid var(--border); + display: flex; + align-items: center; + justify-content: center; + font-size: 13px; + flex-shrink: 0; +} + +.config-card-title { + font-size: 13px; + font-weight: 600; + color: var(--text-primary); +} + +.config-card-subtitle { + font-size: 12px; + color: var(--text-muted); + margin-top: 1px; +} + +.config-card-optional { + margin-left: auto; + font-size: 10.5px; + font-weight: 500; + color: var(--text-muted); + background: var(--bg-overlay); + border: 1px solid var(--border-subtle); + padding: 2px 8px; + border-radius: 10px; +} + +.config-card-body { + padding: 20px; + display: flex; + flex-direction: column; + gap: 16px; +} + +/* Form fields */ +.form-row { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; } +.form-group { display: flex; flex-direction: column; gap: 6px; } + +.form-label { + font-size: 12.5px; + font-weight: 500; + color: var(--text-secondary); + display: flex; + align-items: center; + gap: 6px; +} + +.form-label-required { + font-size: 10px; + font-weight: 600; + padding: 1px 5px; + border-radius: 4px; + background: rgba(248, 81, 73, 0.12); + color: var(--red); + border: 1px solid rgba(248, 81, 73, 0.2); + letter-spacing: 0.2px; +} + +.form-label-optional { + font-size: 11px; + color: var(--text-muted); + font-weight: 400; +} + +.form-hint { + font-size: 11.5px; + color: var(--text-muted); + line-height: 1.55; +} + +.form-input, +.form-textarea, +.form-select { + background: var(--bg-canvas); + border: 1px solid var(--border); + border-radius: 6px; + padding: 9px 12px; + font-family: 'Inter', sans-serif; + font-size: 13.5px; + color: var(--text-primary); + width: 100%; + outline: none; + transition: border-color 0.15s, box-shadow 0.15s; + appearance: none; + -webkit-appearance: none; +} + +.form-input::placeholder, +.form-textarea::placeholder { color: var(--text-muted); } + +.form-input:focus, +.form-textarea:focus, +.form-select:focus { + border-color: var(--accent); + box-shadow: 0 0 0 3px var(--accent-ring); +} + +.form-select { + background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath fill='%236e7681' d='M6 8L1 3h10z'/%3E%3C/svg%3E"); + background-repeat: no-repeat; + background-position: right 11px center; + padding-right: 32px; + cursor: pointer; +} + +.form-textarea { + resize: vertical; + min-height: 90px; + line-height: 1.6; +} + +/* Toggle switch */ +.toggle-row { + display: flex; + align-items: center; + gap: 12px; + padding: 12px 14px; + border-radius: 8px; + background: var(--bg-overlay); + border: 1px solid var(--border-subtle); + cursor: pointer; + transition: background 0.15s; +} + +.toggle-row:hover { background: rgba(33, 38, 45, 0.8); } + +.toggle { + width: 36px; + height: 20px; + border-radius: 10px; + background: var(--bg-muted); + border: 1px solid var(--border); + position: relative; + flex-shrink: 0; + transition: background 0.2s; + cursor: pointer; +} + +.toggle.on { + background: var(--accent); + border-color: var(--accent-dim); +} + +.toggle::after { + content: ''; + position: absolute; + left: 2px; + top: 1px; + width: 16px; + height: 16px; + border-radius: 50%; + background: #fff; + box-shadow: 0 1px 3px rgba(0,0,0,0.3); + transition: transform 0.2s ease; +} + +.toggle.on::after { transform: translateX(16px); } + +.toggle-text { flex: 1; } +.toggle-label { font-size: 13px; font-weight: 500; color: var(--text-primary); } +.toggle-desc { font-size: 11.5px; color: var(--text-muted); margin-top: 1px; } + +/* ══════════════════════════════════════════════════ + BOTTOM ACTION BAR — frosted dark glass +══════════════════════════════════════════════════ */ +.action-bar { + position: fixed; + bottom: 0; + left: 0; + right: 0; + background: rgba(13, 17, 23, 0.82); + backdrop-filter: blur(16px) saturate(140%); + -webkit-backdrop-filter: blur(16px) saturate(140%); + border-top: 1px solid rgba(48, 54, 61, 0.7); + z-index: 50; + box-shadow: + 0 -1px 0 rgba(255, 255, 255, 0.03), + 0 -8px 32px rgba(0, 0, 0, 0.6); +} + +.action-bar-inner { + max-width: 1100px; + margin: 0 auto; + padding: 0 40px; + height: 70px; + display: flex; + align-items: center; + gap: 12px; +} + +/* Buttons */ +.btn { + display: inline-flex; + align-items: center; + gap: 8px; + padding: 9px 18px; + border-radius: 7px; + font-family: 'Inter', sans-serif; + font-size: 13.5px; + font-weight: 500; + cursor: pointer; + transition: all 0.15s; + border: none; + white-space: nowrap; +} + +.btn-back { + background: var(--bg-overlay); + color: var(--text-secondary); + border: 1px solid var(--border); +} + +.btn-back:hover { + background: var(--bg-muted); + color: var(--text-primary); + border-color: var(--bg-muted); +} + +.btn-back:disabled { + opacity: 0.35; + cursor: not-allowed; +} + +.btn-back:disabled:hover { + background: var(--bg-overlay); + color: var(--text-secondary); + border-color: var(--border); +} + +.btn-save-draft { + background: none; + color: var(--text-muted); + border: none; + font-size: 13px; + font-weight: 400; + cursor: pointer; + font-family: 'Inter', sans-serif; + padding: 9px 12px; + border-radius: 6px; + transition: all 0.15s; +} + +.btn-save-draft:hover { + color: var(--text-secondary); + background: rgba(33, 38, 45, 0.6); +} + +.action-bar-spacer { flex: 1; } + +.step-counter { + font-size: 12.5px; + color: var(--text-muted); + font-variant-numeric: tabular-nums; +} + +.step-counter strong { + color: var(--text-secondary); + font-weight: 600; +} + +.btn-continue { + background: var(--accent); + color: #fff; + padding: 10px 24px; + font-size: 14px; + border: 1px solid var(--accent-dim); + box-shadow: 0 1px 4px rgba(13, 148, 136, 0.4); + transition: all 0.15s; +} + +.btn-continue:hover { + background: var(--accent-dim); + border-color: transparent; + box-shadow: + 0 2px 10px rgba(13, 148, 136, 0.5), + 0 0 0 3px var(--accent-ring); + transform: translateY(-1px); +} + +.btn-continue:active { + transform: translateY(0); + box-shadow: 0 1px 4px rgba(13, 148, 136, 0.3); +} + +.btn-continue.is-final-step { + background: #3fb950; + border-color: #2ea043; + box-shadow: 0 1px 4px rgba(63, 185, 80, 0.4); +} + +.btn-continue.is-final-step:hover { + background: #2ea043; + border-color: transparent; + box-shadow: + 0 2px 10px rgba(63, 185, 80, 0.45), + 0 0 0 3px rgba(63, 185, 80, 0.18); +} + +/* ── Code editor ── */ +.code-block { + border: 1px solid var(--border); + border-radius: 8px; + overflow: hidden; +} + +.code-toolbar { + display: flex; + align-items: center; + justify-content: space-between; + padding: 8px 14px; + background: #1e2330; + border-bottom: 1px solid rgba(255, 255, 255, 0.06); +} + +.code-dots { display: flex; gap: 5px; } +.code-dots span { width: 10px; height: 10px; border-radius: 50%; } +.code-dots span:nth-child(1) { background: #ff5f56; } +.code-dots span:nth-child(2) { background: #ffbd2e; } +.code-dots span:nth-child(3) { background: #27c93f; } + +.code-toolbar-label { + font-size: 10.5px; + font-weight: 600; + letter-spacing: 0.06em; + text-transform: uppercase; + color: #8b949e; +} + +.code-textarea { + background: #161b22 !important; + color: #c9d1d9 !important; + font-family: 'JetBrains Mono', 'Fira Code', 'Cascadia Code', monospace !important; + font-size: 12.5px !important; + line-height: 1.65 !important; + border: none !important; + border-radius: 0 !important; + resize: vertical; + min-height: 160px; +} + +.code-textarea:focus { + border-color: transparent !important; + box-shadow: none !important; +} + +/* ── Section divider ── */ +.section-divider { + display: flex; + align-items: center; + gap: 12px; + margin: 8px 0; +} + +.section-divider-label { + font-size: 11px; + font-weight: 700; + letter-spacing: 0.07em; + text-transform: uppercase; + color: var(--text-muted); + white-space: nowrap; +} + +.section-divider-line { + flex: 1; + height: 1px; + background: var(--border); +} + +/* ── Step pane ── */ +.step-pane { display: flex; flex-direction: column; } +.step-pane[hidden] { display: none !important; } + +/* ── Monospace input variant ── */ +.input-mono { + font-family: 'JetBrains Mono', 'Fira Code', monospace; + font-size: 13px; + letter-spacing: -0.2px; +} + +/* ── Step-state colours (wizard-specific) ── */ +:root { + --step-done: var(--green); + --step-active: var(--accent); + --step-pending: var(--bg-muted); +} + +/* ══════════════════════════════════════════════ + Upstream selector (Step 3) + ══════════════════════════════════════════════ */ + +/* ── Combobox trigger ── */ +.upstream-combobox { + position: relative; +} + +.upstream-combobox-trigger { + display: flex; + align-items: center; + gap: 8px; + padding: 9px 12px; + background: var(--bg-canvas); + border: 1px solid var(--border); + border-radius: 7px; + cursor: pointer; + transition: border-color 0.15s, box-shadow 0.15s; + user-select: none; +} + +.upstream-combobox-trigger:hover { border-color: var(--accent); } + +.upstream-combobox.open .upstream-combobox-trigger { + border-color: var(--accent); + box-shadow: 0 0 0 3px rgba(13, 148, 136, 0.15); + border-bottom-left-radius: 0; + border-bottom-right-radius: 0; +} + +.upstream-combobox-value { + flex: 1; + min-width: 0; + display: flex; + align-items: center; + gap: 10px; +} + +.upstream-combobox-placeholder { + font-size: 13.5px; + color: var(--text-muted); +} + +.upstream-combobox-chevron { + flex-shrink: 0; + transition: transform 0.2s; +} +.upstream-combobox.open .upstream-combobox-chevron { transform: rotate(180deg); } + +/* Value when upstream is selected (shown inside trigger) */ +.upstream-trigger-name { + font-size: 13px; + font-weight: 600; + color: var(--text-primary); + font-family: 'JetBrains Mono', 'Fira Code', monospace; + letter-spacing: -0.2px; +} + +.upstream-trigger-url { + font-size: 11.5px; + color: var(--text-muted); + font-family: 'JetBrains Mono', 'Fira Code', monospace; + letter-spacing: -0.2px; + overflow: hidden; + text-overflow: ellipsis; + white-space: nowrap; +} + +/* ── Dropdown panel ── */ +.upstream-dropdown { + position: absolute; + top: 100%; + left: 0; + right: 0; + z-index: 200; + background: var(--bg-surface); + border: 1px solid var(--accent); + border-top: none; + border-bottom-left-radius: 7px; + border-bottom-right-radius: 7px; + box-shadow: 0 8px 24px rgba(0,0,0,0.35); + overflow: hidden; +} + +/* Search row */ +.upstream-search-wrap { + display: flex; + align-items: center; + gap: 8px; + padding: 9px 12px; + border-bottom: 1px solid var(--border-subtle); +} + +.upstream-search-input { + flex: 1; + background: transparent; + border: none; + outline: none; + font-family: 'Inter', sans-serif; + font-size: 13px; + color: var(--text-primary); +} +.upstream-search-input::placeholder { color: var(--text-muted); } + +/* List of upstream items */ +.upstream-dropdown-list { + max-height: 220px; + overflow-y: auto; + scrollbar-width: thin; + scrollbar-color: var(--border) transparent; +} + +.upstream-dropdown-item { + display: flex; + align-items: center; + gap: 10px; + padding: 9px 14px; + cursor: pointer; + transition: background 0.12s; +} +.upstream-dropdown-item:hover { background: rgba(13, 148, 136, 0.07); } +.upstream-dropdown-item.selected { background: rgba(13, 148, 136, 0.1); } + +.upstream-dropdown-item-info { flex: 1; min-width: 0; } + +.upstream-dropdown-item-name { + font-size: 13px; + font-weight: 600; + color: var(--text-primary); + font-family: 'JetBrains Mono', 'Fira Code', monospace; + letter-spacing: -0.2px; +} + +.upstream-dropdown-item-url { + font-size: 11px; + color: var(--text-muted); + font-family: 'JetBrains Mono', 'Fira Code', monospace; + letter-spacing: -0.2px; + white-space: nowrap; + overflow: hidden; + text-overflow: ellipsis; +} + +.upstream-dropdown-item-check { + opacity: 0; + flex-shrink: 0; +} +.upstream-dropdown-item.selected .upstream-dropdown-item-check { opacity: 1; } + +/* Empty state */ +.upstream-dropdown-empty { + padding: 16px 14px; + font-size: 12.5px; + color: var(--text-muted); + text-align: center; +} + +/* Footer: Register new */ +/* ── Register new upstream trigger row ── */ +.upstream-new-trigger { + display: flex; + align-items: center; + gap: 10px; + padding: 10px 14px; + border: 1.5px dashed var(--border); + border-radius: 8px; + cursor: pointer; + font-size: 13px; + font-weight: 600; + color: var(--accent); + transition: border-color 0.15s, background 0.15s; + user-select: none; +} +.upstream-new-trigger:hover { + border-color: var(--accent); + background: rgba(13, 148, 136, 0.04); +} +.upstream-new-trigger.active { + border-style: solid; + border-color: var(--accent); + background: rgba(13, 148, 136, 0.06); +} + +.upstream-new-trigger-radio { + width: 16px; + height: 16px; + border-radius: 50%; + border: 1.5px solid var(--border); + display: flex; + align-items: center; + justify-content: center; + flex-shrink: 0; + transition: border-color 0.15s; +} +.upstream-new-trigger.active .upstream-new-trigger-radio { + border-color: var(--accent); +} +.upstream-new-trigger-dot { + width: 7px; + height: 7px; + border-radius: 50%; + background: var(--accent); + opacity: 0; + transform: scale(0.5); + transition: opacity 0.15s, transform 0.15s; +} +.upstream-new-trigger.active .upstream-new-trigger-dot { + opacity: 1; + transform: scale(1); +} + +/* ── Auth badges ── */ +.upstream-auth-badge { + font-size: 10.5px; + font-weight: 600; + letter-spacing: 0.2px; + padding: 2px 8px; + border-radius: 4px; + white-space: nowrap; + flex-shrink: 0; +} +.upstream-auth-badge.auth-bearer { + background: rgba(88, 166, 255, 0.1); + color: #58a6ff; + border: 1px solid rgba(88, 166, 255, 0.2); +} +.upstream-auth-badge.auth-basic { + background: rgba(240, 173, 78, 0.12); + color: #f0ad4e; + border: 1px solid rgba(240, 173, 78, 0.2); +} +.upstream-auth-badge.auth-apikey { + background: rgba(188, 140, 255, 0.1); + color: #bc8cff; + border: 1px solid rgba(188, 140, 255, 0.2); +} +.upstream-auth-badge.auth-none { + background: rgba(139, 148, 158, 0.08); + color: var(--text-muted); + border: 1px solid var(--border-subtle); +} + +/* ── Selected upstream preview (under combobox) ── */ +.upstream-preview { + display: flex; + align-items: center; + gap: 10px; + padding: 10px 14px; + background: var(--accent-glow); + border: 1px solid rgba(13, 148, 136, 0.3); + border-radius: 7px; +} + +.upstream-preview-name { + font-size: 13px; + font-weight: 600; + color: #fff; + font-family: 'JetBrains Mono', 'Fira Code', monospace; + letter-spacing: -0.2px; +} + +.upstream-preview-url { + font-size: 11.5px; + color: var(--accent-bright, var(--accent)); + font-family: 'JetBrains Mono', 'Fira Code', monospace; + letter-spacing: -0.2px; + flex: 1; + min-width: 0; + white-space: nowrap; + overflow: hidden; + text-overflow: ellipsis; +} + +.upstream-preview-change { + font-size: 11.5px; + font-weight: 500; + color: var(--text-muted); + background: none; + border: 1px solid var(--border); + border-radius: 5px; + padding: 3px 10px; + cursor: pointer; + transition: border-color 0.15s, color 0.15s; + flex-shrink: 0; +} +.upstream-preview-change:hover { border-color: var(--text-secondary); color: var(--text-primary); } + +/* ── Register new upstream inline form ── */ +.upstream-new-form { + background: var(--bg-canvas); + border: 1px solid var(--border); + border-radius: 8px; + overflow: hidden; +} + +.upstream-new-form-inner { + padding: 16px; + display: flex; + flex-direction: column; + gap: 16px; +} + +/* ── Small action buttons ── */ +.btn-primary-sm { + display: inline-flex; + align-items: center; + gap: 6px; + padding: 7px 16px; + font-family: 'Inter', sans-serif; + font-size: 12.5px; + font-weight: 600; + border-radius: 6px; + border: none; + cursor: pointer; + background: var(--accent); + color: #fff; + transition: opacity 0.15s; +} +.btn-primary-sm:hover { opacity: 0.88; } + +.btn-ghost-sm { + display: inline-flex; + align-items: center; + gap: 6px; + padding: 7px 16px; + font-family: 'Inter', sans-serif; + font-size: 12.5px; + font-weight: 500; + border-radius: 6px; + border: 1px solid var(--border); + cursor: pointer; + background: transparent; + color: var(--text-secondary); + transition: border-color 0.15s, color 0.15s; +} +.btn-ghost-sm:hover { border-color: var(--text-secondary); color: var(--text-primary); } + +.btn-primary-sm:disabled, +.btn-ghost-sm:disabled, +.btn-primary-sm.is-busy, +.btn-ghost-sm.is-busy { + opacity: 0.68; + cursor: wait; +} + +/* ══════════════════════════════════════════════ + HTTP method picker (Step 4 REST) + ══════════════════════════════════════════════ */ + +.method-grid { + display: grid; + grid-template-columns: repeat(5, 1fr); + gap: 8px; +} + +.method-card { + display: flex; + flex-direction: column; + align-items: center; + justify-content: center; + gap: 4px; + padding: 14px 8px; + background: var(--bg-canvas); + border: 1.5px solid var(--border); + border-radius: 8px; + cursor: pointer; + transition: border-color 0.15s, background 0.15s, box-shadow 0.15s; + font-family: 'Inter', sans-serif; +} + +.method-card:hover { + border-color: var(--accent); + background: rgba(13, 148, 136, 0.04); +} + +.method-card.active { + border-color: var(--accent); + background: var(--accent-glow); + box-shadow: 0 0 0 3px rgba(13, 148, 136, 0.15); +} + +.method-name { + font-size: 14px; + font-weight: 700; + font-family: 'JetBrains Mono', 'Fira Code', monospace; + color: var(--text-primary); + letter-spacing: 0.5px; +} + +.method-card.active .method-name { color: #fff; } + +.method-desc { + font-size: 11px; + color: var(--text-muted); + font-weight: 400; +} + +.method-card.active .method-desc { color: var(--accent-bright, var(--accent)); } + +.method-callout { + display: flex; + align-items: flex-start; + gap: 10px; + padding: 11px 14px; + background: rgba(13, 148, 136, 0.07); + border: 1px solid rgba(13, 148, 136, 0.25); + border-radius: 7px; + font-size: 12.5px; + color: var(--text-secondary); + line-height: 1.55; + margin-top: 4px; +} + +/* ══════════════════════════════════════════════ + GraphQL operation type cards (Step 4 GraphQL) + ══════════════════════════════════════════════ */ + +.gql-type-grid { + display: grid; + grid-template-columns: 1fr 1fr; + gap: 10px; +} + +.gql-type-card { + display: flex; + flex-direction: column; + align-items: flex-start; + gap: 6px; + padding: 16px 18px; + background: var(--bg-canvas); + border: 1.5px solid var(--border); + border-radius: 8px; + cursor: pointer; + transition: border-color 0.15s, background 0.15s, box-shadow 0.15s; + text-align: left; + font-family: 'Inter', sans-serif; +} + +.gql-type-card:hover { + border-color: var(--accent); + background: rgba(13, 148, 136, 0.04); +} + +.gql-type-card.active { + border-color: var(--accent); + background: var(--accent-glow); + box-shadow: 0 0 0 3px rgba(13, 148, 136, 0.15); +} + +.gql-type-keyword { + font-size: 15px; + font-weight: 700; + font-family: 'JetBrains Mono', 'Fira Code', monospace; + color: var(--accent); + letter-spacing: -0.3px; +} + +.gql-type-card.active .gql-type-keyword { color: #5eead4; } + +.gql-type-desc { + font-size: 12px; + color: var(--text-muted); + line-height: 1.4; +} + +.gql-type-card.active .gql-type-desc { color: var(--text-secondary); } + + +/* ══════════════════════════════════════════════ + Protocol card — disabled tag (Streaming) +══════════════════════════════════════════════ */ +.protocol-tag-disabled { + text-decoration: line-through; + color: var(--error, #f87171); + opacity: 0.75; +} + + +/* ══════════════════════════════════════════════ + gRPC — Proto upload +══════════════════════════════════════════════ */ +.proto-dropzone { + border: 1.5px dashed var(--border); + border-radius: 10px; + padding: 36px 24px; + display: flex; + flex-direction: column; + align-items: center; + gap: 8px; + cursor: pointer; + transition: border-color 0.15s, background 0.15s; + background: var(--bg-canvas); +} +.proto-dropzone:hover, +.proto-dropzone.drag-over { + border-color: var(--accent); + background: rgba(56,139,253,0.05); +} +.proto-dropzone.drag-over { border-style: solid; } + +.proto-dropzone-title { + font-size: 13px; + font-weight: 500; + color: var(--text-primary); +} +.proto-dropzone-sub { + font-size: 12px; + color: var(--text-muted); +} + +.proto-file-info { + display: flex; + align-items: center; + gap: 10px; + padding: 10px 14px; + background: rgba(56,139,253,0.07); + border: 1px solid rgba(56,139,253,0.25); + border-radius: 8px; +} +.proto-file-name { + font-family: var(--font-mono, monospace); + font-size: 13px; + color: var(--accent); + flex: 1; + min-width: 0; + overflow: hidden; + text-overflow: ellipsis; + white-space: nowrap; +} +.proto-file-size { + font-size: 11px; + color: var(--text-muted); + white-space: nowrap; +} +.proto-file-change { + background: none; + border: 1px solid var(--border); + border-radius: 5px; + color: var(--text-secondary); + font-size: 11px; + padding: 3px 9px; + cursor: pointer; + white-space: nowrap; + transition: border-color 0.15s, color 0.15s; +} +.proto-file-change:hover { border-color: var(--accent); color: var(--accent); } + + +/* ══════════════════════════════════════════════ + gRPC — Service/method list +══════════════════════════════════════════════ */ +.proto-service-group { + padding-top: 16px; +} +.proto-service-group + .proto-service-group { + border-top: 1px solid var(--border-subtle); + margin-top: 4px; +} + +.proto-service-label { + display: flex; + align-items: center; + gap: 6px; + font-size: 11px; + font-weight: 600; + text-transform: uppercase; + letter-spacing: 0.06em; + color: var(--text-muted); + margin-bottom: 10px; +} +.proto-service-label svg { opacity: 0.5; } + +.proto-method-grid { + display: flex; + flex-wrap: wrap; + gap: 8px; +} + +.proto-method-card { + display: flex; + flex-direction: column; + gap: 4px; + padding: 10px 14px; + background: var(--bg-canvas); + border: 1.5px solid var(--border); + border-radius: 8px; + cursor: pointer; + text-align: left; + transition: border-color 0.15s, background 0.15s; + min-width: 160px; +} +.proto-method-card:hover { + border-color: var(--border-muted, var(--accent)); + background: rgba(56,139,253,0.04); +} +.proto-method-card.active { + border-color: var(--accent); + background: rgba(56,139,253,0.08); +} + +.proto-method-name { + font-family: var(--font-mono, monospace); + font-size: 13px; + font-weight: 600; + color: var(--text-primary); +} +.proto-method-card.active .proto-method-name { color: var(--accent); } + +.proto-method-types { + font-size: 11px; + color: var(--text-muted); + display: flex; + align-items: center; + gap: 4px; +} +.proto-method-types svg { opacity: 0.5; flex-shrink: 0; } + +.proto-empty { + padding: 24px; + text-align: center; + color: var(--text-muted); + font-size: 13px; +} + + +/* ══════════════════════════════════════════════ + gRPC — Method signature detail +══════════════════════════════════════════════ */ +.proto-path-row { + display: flex; + align-items: center; + gap: 12px; + padding: 8px 12px; + background: var(--bg-canvas); + border: 1px solid var(--border-subtle); + border-radius: 6px; +} +.proto-path-label { + font-size: 11px; + font-weight: 600; + text-transform: uppercase; + letter-spacing: 0.05em; + color: var(--text-muted); + white-space: nowrap; +} +.proto-path-value { + font-family: var(--font-mono, monospace); + font-size: 12px; + color: var(--accent); + word-break: break-all; +} + +.proto-sig-grid { + display: grid; + grid-template-columns: 1fr 1fr; + gap: 16px; +} +@media (max-width: 680px) { + .proto-sig-grid { grid-template-columns: 1fr; } +} + +.proto-sig-col { + display: flex; + flex-direction: column; + gap: 0; + border: 1px solid var(--border-subtle); + border-radius: 8px; + overflow: hidden; +} + +.proto-sig-col-header { + display: flex; + align-items: center; + gap: 6px; + padding: 8px 12px; + background: var(--bg-surface); + border-bottom: 1px solid var(--border-subtle); + font-size: 11px; + font-weight: 600; + text-transform: uppercase; + letter-spacing: 0.05em; + color: var(--text-secondary); +} +.proto-sig-col-header svg { opacity: 0.6; } + +.proto-type-badge { + font-family: var(--font-mono, monospace); + font-size: 11px; + background: rgba(56,139,253,0.12); + color: var(--accent); + padding: 1px 6px; + border-radius: 4px; + margin-left: auto; +} + +.proto-field-list { + padding: 6px 0; +} + +.proto-field-row { + display: flex; + align-items: baseline; + justify-content: space-between; + padding: 5px 12px; + font-size: 12px; + border-bottom: 1px solid var(--border-subtle); +} +.proto-field-row:last-child { border-bottom: none; } + +.proto-field-name { + font-family: var(--font-mono, monospace); + color: var(--text-primary); + font-size: 12px; +} +.proto-field-type { + font-family: var(--font-mono, monospace); + font-size: 11px; + color: var(--text-muted); +} + +.proto-field-empty { + padding: 16px 12px; + font-size: 12px; + color: var(--text-secondary); + text-align: center; + line-height: 1.5; +} + + +/* ══════════════════════════════════════════════ + gRPC — Source tabs +══════════════════════════════════════════════ */ +.grpc-source-tabs { + display: flex; + gap: 0; + margin-bottom: 20px; + background: var(--bg-canvas); + border: 1px solid var(--border); + border-radius: 9px; + padding: 3px; +} + +.grpc-source-btn { + flex: 1; + display: flex; + align-items: center; + justify-content: center; + gap: 7px; + padding: 8px 14px; + background: none; + border: none; + border-radius: 7px; + font-size: 13px; + font-weight: 500; + color: var(--text-muted); + cursor: pointer; + transition: background 0.15s, color 0.15s; + white-space: nowrap; +} +.grpc-source-btn svg { flex-shrink: 0; opacity: 0.7; } +.grpc-source-btn:hover { color: var(--text-secondary); background: rgba(255,255,255,0.04); } +.grpc-source-btn.active { + background: var(--bg-surface); + color: var(--text-primary); + box-shadow: 0 1px 3px rgba(0,0,0,0.3); +} +.grpc-source-btn.active svg { opacity: 1; } + + +/* ══════════════════════════════════════════════ + gRPC — Reflection panel +══════════════════════════════════════════════ */ +.grpc-reflect-upstream { + display: flex; + align-items: center; + gap: 10px; + padding: 10px 14px; + background: var(--bg-canvas); + border: 1px solid var(--border-subtle); + border-radius: 8px; +} +.grpc-reflect-upstream-info { + display: flex; + flex-direction: column; + gap: 2px; + min-width: 0; +} +.grpc-reflect-upstream-name { + font-size: 13px; + font-weight: 500; + color: var(--text-primary); +} +.grpc-reflect-upstream-url { + font-family: var(--font-mono, monospace); + font-size: 11px; + color: var(--text-muted); +} + +.grpc-reflect-status { + display: flex; + align-items: center; + gap: 10px; + font-size: 13px; + color: var(--text-secondary); +} +.grpc-reflect-spinner { + width: 14px; + height: 14px; + border: 2px solid var(--border); + border-top-color: var(--accent); + border-radius: 50%; + animation: grpc-spin 0.7s linear infinite; + flex-shrink: 0; +} +@keyframes grpc-spin { to { transform: rotate(360deg); } } + +.grpc-reflect-error-row { + display: flex; + align-items: center; + gap: 8px; + font-size: 13px; + color: var(--error, #f87171); +} diff --git a/apps/ui/css/workspace-setup.css b/apps/ui/css/workspace-setup.css new file mode 100644 index 0000000..669ca11 --- /dev/null +++ b/apps/ui/css/workspace-setup.css @@ -0,0 +1,228 @@ +.ws-setup-page { + min-height: 100vh; + background: var(--bg-canvas); + display: flex; + flex-direction: column; +} +.ws-setup-topbar { + display: flex; + align-items: center; + justify-content: space-between; + padding: 16px 32px; + border-bottom: 1px solid var(--border-subtle); +} +.ws-setup-logo { + display: flex; + align-items: center; + gap: 10px; + text-decoration: none; + color: var(--text-primary); + font-size: 15px; + font-weight: 600; +} +.ws-setup-logo-mark { + width: 30px; + height: 30px; + background: #0d9488; + border-radius: 8px; + display: flex; + align-items: center; + justify-content: center; +} +.ws-setup-back { + display: flex; + align-items: center; + gap: 6px; + font-size: 13px; + color: var(--text-muted); + text-decoration: none; + padding: 6px 10px; + border-radius: 6px; + transition: color 0.15s, background 0.15s; +} +.ws-setup-back:hover { color: var(--text-secondary); background: rgba(255,255,255,0.04); } + +.ws-setup-body { + flex: 1; + display: flex; + justify-content: center; + padding: 48px 24px 80px; +} +.ws-setup-container { + width: 100%; + max-width: 600px; +} +.ws-setup-header { margin-bottom: 32px; } +.ws-setup-title { + font-size: 24px; + font-weight: 700; + color: var(--text-primary); + margin-bottom: 6px; +} +.ws-setup-subtitle { + font-size: 14px; + color: var(--text-muted); + line-height: 1.5; +} + +.ws-form-section { + background: var(--bg-surface); + border: 1px solid var(--border); + border-radius: 12px; + padding: 24px; + margin-bottom: 16px; +} +.ws-form-section-title { + font-size: 13px; + font-weight: 600; + color: var(--text-primary); + margin-bottom: 18px; +} + +/* Avatar */ +.ws-avatar-row { + display: flex; + align-items: center; + gap: 16px; + margin-bottom: 20px; +} +.ws-avatar-preview { + width: 52px; + height: 52px; + border-radius: 12px; + background: #0d9488; + color: #fff; + font-size: 22px; + font-weight: 700; + display: flex; + align-items: center; + justify-content: center; + flex-shrink: 0; + transition: background 0.2s; +} +.ws-avatar-hint { font-size: 12px; color: var(--text-muted); line-height: 1.5; } +.ws-color-swatches { display: flex; gap: 6px; margin-top: 6px; } +.ws-color-swatch { + width: 20px; + height: 20px; + border-radius: 5px; + cursor: pointer; + border: 2px solid transparent; + transition: transform 0.1s, border-color 0.1s; +} +.ws-color-swatch:hover { transform: scale(1.15); } +.ws-color-swatch.active { border-color: var(--text-primary); } + +/* Invite rows */ +.invite-rows { display: flex; flex-direction: column; gap: 8px; } +.invite-row { display: flex; align-items: center; gap: 8px; } +.invite-row .form-input { margin-bottom: 0; } +.invite-row-remove { + background: none; + border: none; + padding: 6px; + cursor: pointer; + color: var(--text-muted); + border-radius: 5px; + display: flex; + align-items: center; + transition: color 0.1s, background 0.1s; + flex-shrink: 0; +} +.invite-row-remove:hover { color: var(--error, #f87171); background: rgba(248,113,113,0.08); } + +/* Members */ +.member-row { + display: flex; + align-items: center; + gap: 12px; + padding: 10px 0; + border-bottom: 1px solid var(--border-subtle); +} +.member-row:last-child { border-bottom: none; } +.member-avatar { + width: 30px; + height: 30px; + border-radius: 50%; + background: var(--bg-muted); + border: 1px solid var(--border); + display: flex; + align-items: center; + justify-content: center; + font-size: 11px; + font-weight: 700; + color: var(--text-secondary); + flex-shrink: 0; +} +.member-info { flex: 1; } +.member-name { font-size: 13.5px; color: var(--text-primary); font-weight: 500; } +.member-email { font-size: 12px; color: var(--text-muted); } +.member-last-active { font-size: 12px; color: var(--text-muted); white-space: nowrap; } + +/* Danger zone */ +.danger-zone-action { + display: flex; + align-items: flex-start; + gap: 16px; + padding: 16px 24px; + border-bottom: 1px solid var(--border-subtle); +} +.danger-zone-action:last-child { border-bottom: none; } +.danger-zone-text { flex: 1; } +.danger-zone-title { font-size: 13.5px; font-weight: 500; color: var(--text-primary); margin-bottom: 3px; } +.danger-zone-desc { font-size: 12.5px; color: var(--text-muted); line-height: 1.5; } + +/* Lang switcher */ +.lang-switcher { display: flex; gap: 6px; margin-top: 6px; } +.lang-btn { + display: flex; + align-items: center; + gap: 6px; + padding: 6px 14px; + border-radius: 6px; + border: 1px solid var(--border); + background: var(--bg-canvas); + color: var(--text-secondary); + font-size: 13px; + cursor: pointer; + transition: background 0.15s, border-color 0.15s, color 0.15s; +} +.lang-btn.active { + background: rgba(13,148,136,0.1); + border-color: rgba(13,148,136,0.35); + color: var(--accent); +} +.lang-btn:hover:not(.active) { background: rgba(255,255,255,0.04); color: var(--text-primary); } +.lang-flag { font-size: 14px; } + +/* Actions row */ +.ws-setup-actions { + display: flex; + align-items: center; + justify-content: flex-end; + gap: 10px; + margin-top: 24px; +} + +.ws-submit-btn { + padding: 9px 22px; + font-size: 13px; +} +.ws-setup-footer-note { + font-size: 12px; + color: var(--text-muted); + text-align: center; + margin-top: 20px; + line-height: 1.5; +} + +/* Roles reference */ +.role-def-row { + display: flex; + align-items: flex-start; + gap: 16px; + padding: 11px 0; + border-bottom: 1px solid var(--border-subtle); +} +.role-def-row:last-child { border-bottom: none; } +.role-def-text { font-size: 13px; color: var(--text-secondary); line-height: 1.5; } diff --git a/apps/ui/data/agents.json b/apps/ui/data/agents.json new file mode 100644 index 0000000..e78cea5 --- /dev/null +++ b/apps/ui/data/agents.json @@ -0,0 +1,58 @@ +[ + { + "id": "ag-001", + "slug": "customer-support", + "display_name": "Customer Support", + "description": "Handles ticket creation, status lookups, and customer data retrieval. Powers the support team's Claude integration.", + "status": "active", + "operation_count": 5, + "operation_ids": ["op_01", "op_02", "op_07", "op_09", "op_10"], + "key_count": 2, + "created_at": "2024-11-15T10:22:00Z", + "created_by": "AT", + "last_called_at": "2025-03-28T18:44:00Z", + "calls_today": 312 + }, + { + "id": "ag-002", + "slug": "sales-pipeline", + "display_name": "Sales Pipeline", + "description": "CRM operations for the sales team: lead creation, deal updates, contact lookup, and company enrichment.", + "status": "active", + "operation_count": 5, + "operation_ids": ["op_01", "op_06", "op_08", "op_11", "op_12"], + "key_count": 1, + "created_at": "2024-11-28T14:10:00Z", + "created_by": "AT", + "last_called_at": "2025-03-29T09:01:00Z", + "calls_today": 541 + }, + { + "id": "ag-003", + "slug": "internal-devops", + "display_name": "Internal DevOps", + "description": "Infrastructure tooling: deployment triggers, service health checks, and incident management workflows.", + "status": "draft", + "operation_count": 3, + "operation_ids": ["op_04", "op_05", "op_11"], + "key_count": 0, + "created_at": "2025-01-08T09:45:00Z", + "created_by": "AT", + "last_called_at": null, + "calls_today": 0 + }, + { + "id": "ag-004", + "slug": "product-analytics", + "display_name": "Product Analytics", + "description": "Queries usage metrics, feature adoption data, and user behaviour reports from the analytics stack.", + "status": "active", + "operation_count": 4, + "operation_ids": ["op_02", "op_03", "op_08", "op_12"], + "key_count": 3, + "created_at": "2025-02-01T11:30:00Z", + "created_by": "AT", + "last_called_at": "2025-03-29T11:22:00Z", + "calls_today": 87 + } +] diff --git a/apps/ui/data/keys.json b/apps/ui/data/keys.json new file mode 100644 index 0000000..146eb79 --- /dev/null +++ b/apps/ui/data/keys.json @@ -0,0 +1,15 @@ +{ + "acme-workspace": [ + { "id": "key_01", "name": "Production", "prefix": "mcp_prod_4f8a…", "scopes": ["read","write","deploy"], "created": "2025-11-15", "lastUsed": "Today", "status": "active" }, + { "id": "key_02", "name": "CI / CD pipeline", "prefix": "mcp_ci_b21c…", "scopes": ["read","deploy"], "created": "2025-12-01", "lastUsed": "2 days ago", "status": "active" }, + { "id": "key_03", "name": "Dev local", "prefix": "mcp_dev_7e3f…", "scopes": ["read","write"], "created": "2026-01-08", "lastUsed": "Never", "status": "active" }, + { "id": "key_04", "name": "Legacy integration", "prefix": "mcp_leg_c90d…", "scopes": ["read"], "created": "2025-09-22", "lastUsed": "45 days ago", "status": "revoked" } + ], + "startup-demo": [ + { "id": "key_11", "name": "Backend service", "prefix": "mcp_back_9a1b…", "scopes": ["read","write"], "created": "2026-01-20", "lastUsed": "Today", "status": "active" }, + { "id": "key_12", "name": "Analytics pipeline", "prefix": "mcp_anal_3c7d…", "scopes": ["read"], "created": "2026-02-05", "lastUsed": "3 days ago", "status": "active" } + ], + "personal": [ + { "id": "key_21", "name": "Local experiments", "prefix": "mcp_loc_f2e8…", "scopes": ["read","write","deploy"], "created": "2026-03-01", "lastUsed": "Yesterday", "status": "active" } + ] +} diff --git a/apps/ui/data/operations.json b/apps/ui/data/operations.json new file mode 100644 index 0000000..c0d4cd9 --- /dev/null +++ b/apps/ui/data/operations.json @@ -0,0 +1,134 @@ +[ + { + "id": "op_01", + "name": "create_crm_lead", + "display_name": "Create CRM Lead", + "protocol": "rest", + "method": "POST", + "status": "active", + "category": "CRM", + "target_url": "https://api.acme.com/v2/crm/leads", + "created_at": "2026-03-21" + }, + { + "id": "op_02", + "name": "get_user_profile", + "display_name": "Get User Profile", + "protocol": "rest", + "method": "GET", + "status": "active", + "category": "Users", + "target_url": "https://api.acme.com/v1/users/{id}", + "created_at": "2026-03-18" + }, + { + "id": "op_03", + "name": "search_knowledge_base", + "display_name": "Search Knowledge Base", + "protocol": "graphql", + "method": null, + "status": "active", + "category": "Search", + "target_url": "https://graph.notion-int.acme.com/graphql", + "created_at": "2026-03-14" + }, + { + "id": "op_04", + "name": "send_slack_message", + "display_name": "Send Slack Message", + "protocol": "rest", + "method": "POST", + "status": "error", + "category": "Notifications", + "target_url": "https://slack.com/api/chat.postMessage", + "created_at": "2026-03-10" + }, + { + "id": "op_05", + "name": "stream_telemetry", + "display_name": "Stream Telemetry Events", + "protocol": "grpc", + "method": null, + "status": "draft", + "category": "Observability", + "target_url": "grpc://telemetry.internal.acme.com:9090", + "created_at": "2026-03-05" + }, + { + "id": "op_06", + "name": "update_deal_stage", + "display_name": "Update Deal Stage", + "protocol": "rest", + "method": "PATCH", + "status": "inactive", + "category": "CRM", + "target_url": "https://api.acme.com/v2/crm/deals/{id}", + "created_at": "2026-02-28" + }, + { + "id": "op_07", + "name": "fetch_invoice", + "display_name": "Fetch Invoice", + "protocol": "rest", + "method": "GET", + "status": "active", + "category": "Billing", + "target_url": "https://billing.acme.com/v1/invoices/{id}", + "created_at": "2026-02-20" + }, + { + "id": "op_08", + "name": "list_products", + "display_name": "List Products", + "protocol": "graphql", + "method": null, + "status": "active", + "category": "Catalog", + "target_url": "https://shop.acme.com/graphql", + "created_at": "2026-02-15" + }, + { + "id": "op_09", + "name": "create_support_ticket", + "display_name": "Create Support Ticket", + "protocol": "rest", + "method": "POST", + "status": "active", + "category": "Support", + "target_url": "https://support.acme.com/api/tickets", + "created_at": "2026-02-10" + }, + { + "id": "op_10", + "name": "get_order_status", + "display_name": "Get Order Status", + "protocol": "rest", + "method": "GET", + "status": "draft", + "category": "Orders", + "target_url": "https://orders.acme.com/v2/status/{id}", + "created_at": "2026-02-05" + }, + { + "id": "op_11", + "name": "sync_contacts", + "display_name": "Sync Contacts", + "protocol": "grpc", + "method": null, + "status": "active", + "category": "CRM", + "target_url": "grpc://contacts.internal.acme.com:9091", + "created_at": "2026-01-28" + }, + { + "id": "op_12", + "name": "send_email_campaign", + "display_name": "Send Email Campaign", + "protocol": "rest", + "method": "POST", + "status": "active", + "category": "Marketing", + "target_url": "https://mail.acme.com/api/v3/campaigns/send", + "created_at": "2026-01-20" + } +] diff --git a/apps/ui/html/agents.html b/apps/ui/html/agents.html new file mode 100644 index 0000000..830afb5 --- /dev/null +++ b/apps/ui/html/agents.html @@ -0,0 +1,394 @@ + + + + + + + Crank — Agents + + + + + + + + + + + +

+ + + + +
+ + + + + +
+
+
Total agents
+
+
across this workspace
+
+
+
Published
+
+
+
+
+
Operations exposed
+
+
+
+
+
Calls today
+
+
all agents combined
+
+
+ + +
+ +
+ + + +
+
+ + +
+ + Each agent gets its own MCP endpoint. +
+ + +
+
+ Loading agents… +
+ +
+
Failed to load agents
+
+
+ + +
+
+ +
+
No agents yet
+
Create your first agent to get a dedicated MCP endpoint with a curated set of tools.
+
After creation, issue separate machine-access keys for this endpoint on the API Keys page.
+ +
+ + +
+
No agents match
+
Try a different search term.
+
+ + +
+ +
+ +
+ + + + + + + + + + + + + diff --git a/apps/ui/html/api-keys.html b/apps/ui/html/api-keys.html new file mode 100644 index 0000000..e6b6b3e --- /dev/null +++ b/apps/ui/html/api-keys.html @@ -0,0 +1,319 @@ + + + + + + + Crank — Agent Keys + + + + + + + + + + + + + + + +
+ + + +
+ + + + +
+ Keys are only shown once. + Copy and store them securely immediately after creation — Crank stores only a hash. `Last used` updates after successful MCP authentication. +
+
+ +
+
+
+
Agent access
+
Select the AI agent whose MCP endpoint should accept this key.
+
+
+
+
+ + +
+
+
+
+ +
+
+
+
Machine access modes
+
This build exposes the stable machine-access contract and shows which modes are available now.
+
+
+
+
+ Community currently supports static AI-agent keys. +
+
+ + + + +
Short-lived and one-time token issuance uses the same public HTTP surface, but requires a commercial edition.
+
+
+
+ +
+
+
+
Active keys
+
3 active · 1 revoked
+
+ +
+ +
+ + + + + + + + + + + + + + +
NameKey prefixScopesCreatedLast usedStatus
+
+
+
+ +
+
+
Scope reference
+
+
+
+
+ read +
+
Initialize MCP sessions, ping the server, and list tools for a workspace agent.
+
+
+
+ write +
+
Execute `tools/call` requests against published agent toolsets.
+
+
+
+ deploy +
+
Reserved for deploy-scoped automation. Today it also permits MCP read/write flows.
+
+
+
+ +
+ + + + + + + + + + + + + + diff --git a/apps/ui/html/fragments/lang-switcher.html b/apps/ui/html/fragments/lang-switcher.html new file mode 100644 index 0000000..96a8403 --- /dev/null +++ b/apps/ui/html/fragments/lang-switcher.html @@ -0,0 +1,13 @@ +
+ +
+ + +
+
diff --git a/apps/ui/html/login.html b/apps/ui/html/login.html new file mode 100644 index 0000000..24f3368 --- /dev/null +++ b/apps/ui/html/login.html @@ -0,0 +1,54 @@ + + + + + + + Crank — Sign in + + + + + + + + + + + + diff --git a/apps/ui/html/logs.html b/apps/ui/html/logs.html new file mode 100644 index 0000000..2f7df1a --- /dev/null +++ b/apps/ui/html/logs.html @@ -0,0 +1,142 @@ + + + + + + + Crank — Logs + + + + + + + + + + + + + +
+ + + +
+
+
+ Live +
+ + + +
+ + + + + + + + + +
+ +
+
+
+ +
+ + + + + diff --git a/apps/ui/html/secrets.html b/apps/ui/html/secrets.html new file mode 100644 index 0000000..defbeb3 --- /dev/null +++ b/apps/ui/html/secrets.html @@ -0,0 +1,242 @@ + + + + + + + Crank — Secrets + + + + + + + + + + + + +
+ + +
+ + + + +
+ Secret plaintext is write-only. + Crank encrypts secret values with the workspace master key. After create or rotate, the API returns only metadata, so this page focuses on lifecycle and usage references. +
+
+ +
+
+
+
Workspace secrets
+
+
+ +
+
+
+ + + + + + + + + + + + + +
NameKindVersionLast usedUsed byStatus
+
+
+
+
+ +
+
+
+
Auth profile references
+
Profiles resolve secrets at runtime before upstream execution.
+
+
+
+
+
+
+
+ + + + + + diff --git a/apps/ui/html/settings.html b/apps/ui/html/settings.html new file mode 100644 index 0000000..f0ae884 --- /dev/null +++ b/apps/ui/html/settings.html @@ -0,0 +1,330 @@ + + + + + + + Crank — Settings + + + + + + + + + + + + + +
+ + + +
+ + + + + +
+ +
+
+
+
+
Workspace settings
+
General information about your workspace
+
+
+
+
+ + +
Used in API endpoints and across the console. Only lowercase letters, numbers and hyphens.
+
+
+ + +
+
+ + +
+
+
+ + +
+
+ + +
This build limits the default protocol to the capabilities available in the current edition.
+
+
+ +
+ +
+ + +
+
Interface display language
+
+ +
+ +
+
+
+
+ + +
+
+
+
Profile
+
+
+
+
AT
+
+
Crank
+
operator@acme-workspace
+
Your avatar is generated from your display name and email.
+
+
+
Your name and email are stored on the backend and used across the console and session identity.
+ +
+
+ + +
+
+ + +
+
+ +
+ + +
Changing email updates the login identity for the current account.
+
+ +
+
+ +
+
+
+
+ + +
+
+
+
Security
+
+
+
+ + +
+
+
+ + +
+
+ + +
+
+
+
+ +
+
+ +
+
+
+ More security options +
+
+ + + +
+ Available later. Two-factor authentication, passkeys, and multi-session controls will be added later. The current live flow uses password sign-in with one HttpOnly browser session. +
+
+
+ +
+
+
+
+
+ +
+
+
Current session
+
+
+
+
+
Browser sessioncurrent
+
Loading current session details…
+
+
+
+
+
+ + +
+
+
+
Notifications
+
+
+
+ + + + +
+ Not included in this build. Notification routing and personal preferences are outside the current Community surface. +
+
+
+
+
+ +
+
+ +
+ + + + + diff --git a/apps/ui/html/usage.html b/apps/ui/html/usage.html new file mode 100644 index 0000000..ea86e52 --- /dev/null +++ b/apps/ui/html/usage.html @@ -0,0 +1,234 @@ + + + + + + + Crank — Usage + + + + + + + + + + + + + + +
+ + + + +
+
+
Total invocations
+
28,341
+
+ + +12% vs prior period +
+
+
+
Success rate
+
98.6%
+
+ + +0.3pp vs prior period +
+
+
+
Median latency (p50)
+
124ms
+
+ + -18ms vs prior period +
+
+
+
p99 latency
+
2.1s
+
+ + +340ms vs prior period +
+
+
+ + +
+
+
Invocations over time
+
+ Success + Error +
+
+
+
+
+
+ + +
+
+
+
By operation
+
Breakdown for last 7 days
+
+
+
+ + + + + + + + + + + + + + +
OperationProtocolCallsErrorsError rateLatency (p50 / p95 / p99)Traffic share
+
+
+
+ +
+ + + + + + + + + + + diff --git a/apps/ui/html/wizard/index.html b/apps/ui/html/wizard/index.html new file mode 100644 index 0000000..a69d71c --- /dev/null +++ b/apps/ui/html/wizard/index.html @@ -0,0 +1,267 @@ + + + + + + Crank — New Operation + + + + + + + + + + + + + + + +
+ + +
+ +
+ Create operation +
+
+
+ 20% + +
+ + +
+ + +
+
+ +
+
M
+
+ Create operation +
+
+ +
+ + +
+ +
+
1
+
+
Step 1
+
Protocol
+
In progress
+
+
+ +
+
2
+
+
Step 2
+
Upstream target
+
Not started
+
+
+ + + +
+
4
+
+
Step 4
+
Tool config
+
Not started
+
+
+ +
+
5
+
+
Step 5
+
Mapping
+
Not started
+
+
+ +
+ + +
+
+
+ + +
+
+ + + + +
+ + + + + + diff --git a/apps/ui/html/wizard/step1.html b/apps/ui/html/wizard/step1.html new file mode 100644 index 0000000..21d4483 --- /dev/null +++ b/apps/ui/html/wizard/step1.html @@ -0,0 +1,69 @@ + +
+
+
+
+ Step 1 of 5 +
+

Choose a protocol

+

Select the transport protocol your upstream service uses. This determines how Crank will communicate with your API and which configuration options are available in subsequent steps.

+
+ + +
+ + + +
+
+
+
+ +
+ + +
+ + + + +
+
You can change this later
+
+ Switching protocol after configuring subsequent steps will clear schema and mapping data. Save your operation as a draft before experimenting. See protocol migration guide for details. +
+
+
+ + + +
diff --git a/apps/ui/html/wizard/step2.html b/apps/ui/html/wizard/step2.html new file mode 100644 index 0000000..cb7c1c5 --- /dev/null +++ b/apps/ui/html/wizard/step2.html @@ -0,0 +1,224 @@ + +
+
+
+
+ Step 2 of 5 +
+

Select upstream & endpoint

+

Choose an existing upstream — a shared host with its auth config — or register a new one. Then define the specific endpoint path this operation will call.

+
+ + +
+
+
+ + + + + + +
+
+
Upstream
+
Shared host, base URL, and authentication
+
+ Required +
+
+ + +
+
+
+ Select an upstream… +
+ + + +
+ + + +
+ + + + + +
+
+
+
+ + + + Register new upstream +
+ + + + +
+
+ + +
+
+
+ + + +
+
+
Endpoint
+
Path and HTTP method for this specific operation
+
+ Required +
+
+
+ + +
Appended to the upstream base URL. Use {param} for path variables.
+
+
+
+ +
+ + + + + + diff --git a/apps/ui/html/wizard/step3-rest.html b/apps/ui/html/wizard/step3-rest.html new file mode 100644 index 0000000..0273706 --- /dev/null +++ b/apps/ui/html/wizard/step3-rest.html @@ -0,0 +1,93 @@ + +
+
+
+
+ Step 3 of 5 +
+

HTTP method & format

+

Choose the HTTP verb this operation sends and configure content negotiation headers. Crank will serialize MCP tool arguments into the appropriate request body format.

+
+ + +
+
+
+ + + +
+
+
HTTP method
+
Verb sent to the upstream on every tool invocation
+
+ Required +
+
+
+ + + + + +
+ +
+
+ + +
+
+
+ + + + +
+
+
Request format
+
Content negotiation and serialisation
+
+ Optional +
+
+
+
+ + +
How the request body is encoded when sent to the upstream.
+
+
+ + +
Accepted response content types from the upstream server.
+
+
+
+
+ +
diff --git a/apps/ui/html/wizard/step4.html b/apps/ui/html/wizard/step4.html new file mode 100644 index 0000000..2fb425c --- /dev/null +++ b/apps/ui/html/wizard/step4.html @@ -0,0 +1,158 @@ +
+
+
+
+ Step 4 of 5 +
+

Tool config

+

Name your tool, write the LLM-facing description, and define the input/output schemas. The description is the primary signal the model uses when deciding whether to call this tool.

+
+ +
+
+
+ + + +
+
+
Tool identity
+
Machine-readable name and LLM-facing description
+
+
+
+ +
+ + +
Machine-readable identifier used in MCP tool calls. Only lowercase letters, numbers and underscores. Cannot be changed after publishing.
+
+ +
+
+ + +
Human-readable name shown in the console and audit log.
+
+
+ + +
Short imperative sentence shown in the MCP tool manifest.
+
+
+ +
+ + +
LLM-facing description. Be precise — this is the primary signal the model uses to decide whether to invoke this tool.
+
+ +
+
+ +
+ + + + +
+
Writing effective descriptions
+
Start with a verb ("Creates", "Fetches", "Updates"). Mention key input requirements. Describe what a successful response looks like. Avoid vague phrasing like "handles" or "manages". See description best practices →
+
+
+ +
+
+
+ + + + +
+
+
Input schema
+
Parameters the LLM passes when calling this tool
+
+ JSON Schema draft-07 +
+
+
+
+
+ json / input-schema +
+ +
+
+
+ +
+
+
+ + + + +
+
+
Output schema
+
Shape of the data returned to the LLM after a successful call
+
+ JSON Schema draft-07 +
+
+
+
+
+ json / output-schema +
+ +
+
+
+ +
+ + + + +
+
Schemas are protocol-agnostic
+
These schemas describe the MCP contract, not the upstream wire format. Field mapping in Step 5 translates between the two. You can upload a sample JSON response to auto-generate the output schema.
+
+
+
diff --git a/apps/ui/html/wizard/step5.html b/apps/ui/html/wizard/step5.html new file mode 100644 index 0000000..445858e --- /dev/null +++ b/apps/ui/html/wizard/step5.html @@ -0,0 +1,265 @@ +
+
+
+
+ Step 5 of 5 +
+

Mapping and execution

+

Define how MCP tool arguments map to upstream request fields, and how the upstream response maps back to MCP output. Then set execution parameters — auth is configured per-upstream in step 2.

+
+ +
+ Input → Request +
+
+ +
+
+
+
+
+ yaml / input-mapping +
+ +
+
+
+ +
+ Response → Output +
+
+ +
+
+
+
+
+ yaml / output-mapping +
+ +
+
+
+ +
+ Execution +
+
+ +
+
+
+ + + + +
+
+
Execution config
+
Timeouts, retry policy and auth profile reference
+
+ Optional +
+
+
+
+
+ yaml / exec-config +
+ +
+
+
+ + + +
+ Live validation and publishing +
+
+ + + +
+ + + + +
+
Live actions save the draft first
+
Sample uploads, test runs, YAML actions and publish all persist the current draft before calling the backend.
+
+
+ +
+
+
+ + + + +
+
+
Samples and draft generation
+
Persist input/output samples, then generate schemas and mappings from real payloads.
+
+
+
+
+
+ + +
+
+ + +
+
+
+ + + +
+
+
+ +
+
+
+ + + +
+
+
Test run
+
Run the current draft against the upstream before publishing it.
+
+
+
+
+ + +
+
+ + +
+
+
+ + +
+
+ + +
+
+
+ + +
+
+
+ +
+
+
+ + + +
+
+
YAML import and export
+
Move operation drafts between environments without leaving the wizard.
+
+
+
+
+ + + + +
+
+ + +
+
+
+ +
+
+
+ + + +
+
+
Publish
+
Save the current draft and expose it to published agents.
+
+
+
+
Publishing uses the current draft version from this wizard session.
+
+ +
+
+
+ +
+ + + + +
+
Operation stays editable in this wizard
+
Saving creates or updates the current draft in place. Use the live actions above to upload samples, test the draft, export or import YAML, and publish when the upstream contract is ready.
+
+
+
diff --git a/apps/ui/html/workspace-setup.html b/apps/ui/html/workspace-setup.html new file mode 100644 index 0000000..a5bb8a9 --- /dev/null +++ b/apps/ui/html/workspace-setup.html @@ -0,0 +1,322 @@ + + + + + + + Crank — Workspace + + + + + + + + + +
+ + + + + +
+
+ +
+
Workspace settings
+
Configure your workspace identity, default settings, and team members.
+
+ + +
+
Workspace identity
+ +
+
A
+
+
Avatar is derived from your workspace name.
+
+
+
+
+
+
+
+
+
+
+
+ +
+ + +
+ +
+ +
+ mcp.crank.io/ + +
+
Only lowercase letters, numbers, and hyphens. Used in MCP endpoint URLs.
+
+ +
+ + +
+
+ + +
+
Default settings
+ +
+
+ + +
Pre-selected in the operation wizard.
+
+
+ + +
+
+ +
+ +
+ + +
+
+
+ + + + + + + + +
+ Cancel + +
+ + + + + + +
+
+ +
+ + + + diff --git a/apps/ui/icons/agents/agent.svg b/apps/ui/icons/agents/agent.svg new file mode 100644 index 0000000..7abbba5 --- /dev/null +++ b/apps/ui/icons/agents/agent.svg @@ -0,0 +1,9 @@ + + + + + + + + + diff --git a/apps/ui/icons/agents/eye.svg b/apps/ui/icons/agents/eye.svg new file mode 100644 index 0000000..f843b1b --- /dev/null +++ b/apps/ui/icons/agents/eye.svg @@ -0,0 +1,7 @@ + + + + + + + diff --git a/apps/ui/icons/agents/key.svg b/apps/ui/icons/agents/key.svg new file mode 100644 index 0000000..c208db3 --- /dev/null +++ b/apps/ui/icons/agents/key.svg @@ -0,0 +1,6 @@ + + + + + + diff --git a/apps/ui/icons/general/arrow-down.svg b/apps/ui/icons/general/arrow-down.svg new file mode 100644 index 0000000..7577633 --- /dev/null +++ b/apps/ui/icons/general/arrow-down.svg @@ -0,0 +1,6 @@ + + + + + + diff --git a/apps/ui/icons/general/arrow-left.svg b/apps/ui/icons/general/arrow-left.svg new file mode 100644 index 0000000..a34bc94 --- /dev/null +++ b/apps/ui/icons/general/arrow-left.svg @@ -0,0 +1,6 @@ + + + + + + diff --git a/apps/ui/icons/general/arrow-right.svg b/apps/ui/icons/general/arrow-right.svg new file mode 100644 index 0000000..71e439f --- /dev/null +++ b/apps/ui/icons/general/arrow-right.svg @@ -0,0 +1,6 @@ + + + + + + diff --git a/apps/ui/icons/general/arrow-up.svg b/apps/ui/icons/general/arrow-up.svg new file mode 100644 index 0000000..85d9676 --- /dev/null +++ b/apps/ui/icons/general/arrow-up.svg @@ -0,0 +1,6 @@ + + + + + + diff --git a/apps/ui/icons/general/bell.svg b/apps/ui/icons/general/bell.svg new file mode 100644 index 0000000..7ccd650 --- /dev/null +++ b/apps/ui/icons/general/bell.svg @@ -0,0 +1,6 @@ + + + + + + diff --git a/apps/ui/icons/general/check-sm.svg b/apps/ui/icons/general/check-sm.svg new file mode 100644 index 0000000..3449e27 --- /dev/null +++ b/apps/ui/icons/general/check-sm.svg @@ -0,0 +1,6 @@ + + + + + + diff --git a/apps/ui/icons/general/check.svg b/apps/ui/icons/general/check.svg new file mode 100644 index 0000000..250df56 --- /dev/null +++ b/apps/ui/icons/general/check.svg @@ -0,0 +1,6 @@ + + + + + + diff --git a/apps/ui/icons/general/chevron-down.svg b/apps/ui/icons/general/chevron-down.svg new file mode 100644 index 0000000..07aaf73 --- /dev/null +++ b/apps/ui/icons/general/chevron-down.svg @@ -0,0 +1,6 @@ + + + + + + diff --git a/apps/ui/icons/general/close.svg b/apps/ui/icons/general/close.svg new file mode 100644 index 0000000..648c2e9 --- /dev/null +++ b/apps/ui/icons/general/close.svg @@ -0,0 +1,6 @@ + + + + + + diff --git a/apps/ui/icons/general/copy.svg b/apps/ui/icons/general/copy.svg new file mode 100644 index 0000000..3a586b9 --- /dev/null +++ b/apps/ui/icons/general/copy.svg @@ -0,0 +1,6 @@ + + + + + + diff --git a/apps/ui/icons/general/crank-logo.svg b/apps/ui/icons/general/crank-logo.svg new file mode 100644 index 0000000..b33e89f --- /dev/null +++ b/apps/ui/icons/general/crank-logo.svg @@ -0,0 +1,8 @@ + + + + + + + + diff --git a/apps/ui/icons/general/download.svg b/apps/ui/icons/general/download.svg new file mode 100644 index 0000000..494bbb5 --- /dev/null +++ b/apps/ui/icons/general/download.svg @@ -0,0 +1,6 @@ + + + + + + diff --git a/apps/ui/icons/general/edit.svg b/apps/ui/icons/general/edit.svg new file mode 100644 index 0000000..0a2419e --- /dev/null +++ b/apps/ui/icons/general/edit.svg @@ -0,0 +1,6 @@ + + + + + + diff --git a/apps/ui/icons/general/external.svg b/apps/ui/icons/general/external.svg new file mode 100644 index 0000000..893d2df --- /dev/null +++ b/apps/ui/icons/general/external.svg @@ -0,0 +1,6 @@ + + + + + + diff --git a/apps/ui/icons/general/grid.svg b/apps/ui/icons/general/grid.svg new file mode 100644 index 0000000..98effa2 --- /dev/null +++ b/apps/ui/icons/general/grid.svg @@ -0,0 +1,6 @@ + + + + + + diff --git a/apps/ui/icons/general/info-circle.svg b/apps/ui/icons/general/info-circle.svg new file mode 100644 index 0000000..cdc8fd5 --- /dev/null +++ b/apps/ui/icons/general/info-circle.svg @@ -0,0 +1,7 @@ + + + + + + + diff --git a/apps/ui/icons/general/info.svg b/apps/ui/icons/general/info.svg new file mode 100644 index 0000000..1270118 --- /dev/null +++ b/apps/ui/icons/general/info.svg @@ -0,0 +1,6 @@ + + + + + + diff --git a/apps/ui/icons/general/logout.svg b/apps/ui/icons/general/logout.svg new file mode 100644 index 0000000..a769622 --- /dev/null +++ b/apps/ui/icons/general/logout.svg @@ -0,0 +1,7 @@ + + + + + + + diff --git a/apps/ui/icons/general/plus-sm.svg b/apps/ui/icons/general/plus-sm.svg new file mode 100644 index 0000000..bd555c4 --- /dev/null +++ b/apps/ui/icons/general/plus-sm.svg @@ -0,0 +1,6 @@ + + + + + + diff --git a/apps/ui/icons/general/plus.svg b/apps/ui/icons/general/plus.svg new file mode 100644 index 0000000..f192806 --- /dev/null +++ b/apps/ui/icons/general/plus.svg @@ -0,0 +1,6 @@ + + + + + + diff --git a/apps/ui/icons/general/refresh.svg b/apps/ui/icons/general/refresh.svg new file mode 100644 index 0000000..a64b2de --- /dev/null +++ b/apps/ui/icons/general/refresh.svg @@ -0,0 +1,6 @@ + + + + + + diff --git a/apps/ui/icons/general/search.svg b/apps/ui/icons/general/search.svg new file mode 100644 index 0000000..ac71407 --- /dev/null +++ b/apps/ui/icons/general/search.svg @@ -0,0 +1,6 @@ + + + + + + diff --git a/apps/ui/icons/general/settings.svg b/apps/ui/icons/general/settings.svg new file mode 100644 index 0000000..556e1cd --- /dev/null +++ b/apps/ui/icons/general/settings.svg @@ -0,0 +1,7 @@ + + + + + + + diff --git a/apps/ui/icons/general/trash.svg b/apps/ui/icons/general/trash.svg new file mode 100644 index 0000000..658080d --- /dev/null +++ b/apps/ui/icons/general/trash.svg @@ -0,0 +1,6 @@ + + + + + + diff --git a/apps/ui/icons/general/user.svg b/apps/ui/icons/general/user.svg new file mode 100644 index 0000000..e9ef4cd --- /dev/null +++ b/apps/ui/icons/general/user.svg @@ -0,0 +1,6 @@ + + + + + + diff --git a/apps/ui/icons/general/warning.svg b/apps/ui/icons/general/warning.svg new file mode 100644 index 0000000..3b96ca1 --- /dev/null +++ b/apps/ui/icons/general/warning.svg @@ -0,0 +1,7 @@ + + + + + + + diff --git a/apps/ui/icons/login/google.svg b/apps/ui/icons/login/google.svg new file mode 100644 index 0000000..19c999b --- /dev/null +++ b/apps/ui/icons/login/google.svg @@ -0,0 +1,9 @@ + + + + + + + + + diff --git a/apps/ui/icons/wizard/clock.svg b/apps/ui/icons/wizard/clock.svg new file mode 100644 index 0000000..2b3ba0b --- /dev/null +++ b/apps/ui/icons/wizard/clock.svg @@ -0,0 +1,7 @@ + + + + + + + diff --git a/apps/ui/icons/wizard/code.svg b/apps/ui/icons/wizard/code.svg new file mode 100644 index 0000000..31327ef --- /dev/null +++ b/apps/ui/icons/wizard/code.svg @@ -0,0 +1,6 @@ + + + + + + diff --git a/apps/ui/icons/wizard/file.svg b/apps/ui/icons/wizard/file.svg new file mode 100644 index 0000000..aee4e64 --- /dev/null +++ b/apps/ui/icons/wizard/file.svg @@ -0,0 +1,6 @@ + + + + + + diff --git a/apps/ui/icons/wizard/graphql-protocol.svg b/apps/ui/icons/wizard/graphql-protocol.svg new file mode 100644 index 0000000..08a5fa5 --- /dev/null +++ b/apps/ui/icons/wizard/graphql-protocol.svg @@ -0,0 +1,12 @@ + + + + + + + + + + + + diff --git a/apps/ui/icons/wizard/grpc-protocol.svg b/apps/ui/icons/wizard/grpc-protocol.svg new file mode 100644 index 0000000..bde9d0a --- /dev/null +++ b/apps/ui/icons/wizard/grpc-protocol.svg @@ -0,0 +1,8 @@ + + + + + + + + diff --git a/apps/ui/icons/wizard/reflection.svg b/apps/ui/icons/wizard/reflection.svg new file mode 100644 index 0000000..19f923f --- /dev/null +++ b/apps/ui/icons/wizard/reflection.svg @@ -0,0 +1,7 @@ + + + + + + + diff --git a/apps/ui/icons/wizard/rest-protocol.svg b/apps/ui/icons/wizard/rest-protocol.svg new file mode 100644 index 0000000..97bc44e --- /dev/null +++ b/apps/ui/icons/wizard/rest-protocol.svg @@ -0,0 +1,6 @@ + + + + + + diff --git a/apps/ui/icons/wizard/server.svg b/apps/ui/icons/wizard/server.svg new file mode 100644 index 0000000..e58ca74 --- /dev/null +++ b/apps/ui/icons/wizard/server.svg @@ -0,0 +1,9 @@ + + + + + + + + + diff --git a/apps/ui/icons/wizard/upload.svg b/apps/ui/icons/wizard/upload.svg new file mode 100644 index 0000000..1dc7232 --- /dev/null +++ b/apps/ui/icons/wizard/upload.svg @@ -0,0 +1,6 @@ + + + + + + diff --git a/apps/ui/index.html b/apps/ui/index.html new file mode 100644 index 0000000..40fb800 --- /dev/null +++ b/apps/ui/index.html @@ -0,0 +1,418 @@ + + + + + + Crank — Operations + + + + + + + + + + + + + + + + +
+ + + + + +
+
+
Total operations
+
+
+
+
+
Active
+
+
+
+
+
Requests today
+
+
+
+
+
Avg. latency
+
+
+
+
+ + +
+ +
+ + +
+ + + + + +
+ + +
+ + +
+ + +
+ + +
+ + +
+ + +
+ + + + + +
+ + +
+
+ +
+ + +
+ + +
+ + +
+ + +
+

Loading operations…

+
+ + +
+

No operations found

+

Try adjusting your search or filters.

+
+ +
+

Backend connection failed

+

+
+ + + + + + + + + + + + + + + + +
+ NAME + + + + PROTOCOLSTATUS + CREATED + + + + TARGET URL
+ + + + +
+ +
+ + + + + diff --git a/apps/ui/js/agents.js b/apps/ui/js/agents.js new file mode 100644 index 0000000..b57ac55 --- /dev/null +++ b/apps/ui/js/agents.js @@ -0,0 +1,499 @@ +function agentUiStatus(status) { + if (status === 'published') return 'published'; + if (status === 'archived') return 'archived'; + return status || 'draft'; +} + +function mapAgent(agent) { + var mapped = { + id: agent.id, + slug: agent.slug, + display_name: agent.display_name, + description: agent.description || '', + status: agentUiStatus(agent.status), + raw_status: agent.status, + operation_count: agent.operation_count || 0, + operation_ids: agent.operation_ids || [], + key_count: agent.key_count || 0, + calls_today: agent.calls_today || 0, + created_at: agent.created_at, + current_draft_version: agent.current_draft_version || 1, + latest_published_version: agent.latest_published_version, + mcp_endpoint: agent.mcp_endpoint || '', + }; + + return window.localizeDemoAgent ? window.localizeDemoAgent(mapped) : mapped; +} + +function mapOperation(operation) { + var mapped = { + id: operation.id, + name: operation.name, + display_name: operation.display_name, + protocol: operation.protocol, + status: operation.status, + current_draft_version: operation.current_draft_version || 1, + latest_published_version: operation.latest_published_version, + }; + + return window.localizeDemoOperation ? window.localizeDemoOperation(mapped) : mapped; +} + +function currentLocale() { + return localStorage.getItem('crank_lang') === 'ru' ? 'ru-RU' : 'en-US'; +} + +document.addEventListener('alpine:init', function() { + Alpine.data('agents', function() { + return { + agents: [], + operations: [], + capabilities: null, + loading: true, + loadError: '', + workspaceId: null, + + agentSearch: '', + openDropdown: null, + drawerOpen: false, + drawerMode: 'create', + editingId: null, + saving: false, + + form: { + display_name: '', + slug: '', + description: '', + status: 'published', + selectedOps: [], + }, + + opSearch: '', + slugManuallyEdited: false, + + async init() { + var self = this; + + await (window.whenWorkspacesReady ? window.whenWorkspacesReady() : Promise.resolve()); + var workspace = window.getCurrentWorkspace ? window.getCurrentWorkspace() : null; + this.workspaceId = workspace ? workspace.id : null; + await this.loadCapabilities(); + await this.reload(); + + document.addEventListener('keydown', function(event) { + if (event.key === 'Escape' && self.drawerOpen) { + self.closeDrawer(); + } + }); + + document.addEventListener('click', function() { + self.openDropdown = null; + }); + + window.addEventListener('crank:workspacechange', async function(event) { + self.workspaceId = event.detail ? event.detail.id : null; + await self.loadCapabilities(); + await self.reload(); + }); + }, + + async loadCapabilities() { + if (!window.CrankApi || typeof window.CrankApi.getCapabilities !== 'function') { + this.capabilities = null; + return; + } + try { + this.capabilities = await window.CrankApi.getCapabilities(); + } catch (_error) { + this.capabilities = null; + } + }, + + async reload() { + this.loading = true; + this.loadError = ''; + + if (!this.workspaceId || !window.CrankApi) { + this.agents = []; + this.operations = []; + this.loading = false; + this.loadError = this.tKey('agents.error.api'); + return; + } + + try { + var responses = await Promise.all([ + window.CrankApi.listAgents(this.workspaceId), + window.CrankApi.listOperations(this.workspaceId), + ]); + this.agents = ((responses[0] && responses[0].items) || []).map(mapAgent); + this.operations = ((responses[1] && responses[1].items) || []).map(mapOperation); + } catch (error) { + this.agents = []; + this.operations = []; + this.loadError = error.message || this.tKey('agents.error.load'); + } + + this.loading = false; + }, + + get filteredAgents() { + var query = this.agentSearch.toLowerCase().trim(); + if (!query) return this.agents; + return this.agents.filter(function(agent) { + return agent.display_name.toLowerCase().includes(query) + || agent.slug.toLowerCase().includes(query) + || (agent.description || '').toLowerCase().includes(query); + }); + }, + + get totalCalls() { + return this.agents.reduce(function(sum, agent) { + return sum + (agent.calls_today || 0); + }, 0); + }, + + get activeCount() { + return this.agents.filter(function(agent) { + return agent.status === 'published'; + }).length; + }, + + get totalOpsExposed() { + return this.agents.reduce(function(sum, agent) { + return sum + (agent.operation_count || 0); + }, 0); + }, + + get isCommunityBuild() { + return !!(this.capabilities && this.capabilities.edition === 'community'); + }, + + agentCalloutText() { + if (this.isCommunityBuild) { + return this.tfKey('agents.callout.community', { count: this.operations.length }); + } + return this.tfKey('agents.callout.default', { count: this.operations.length }); + }, + + subtitleText() { + return this.tKey(this.isCommunityBuild ? 'agents.subtitle.community' : 'agents.subtitle'); + }, + + emptyStateText() { + return this.tKey(this.isCommunityBuild ? 'agents.empty.initial.sub_community' : 'agents.empty.initial.sub'); + }, + + drawerSubText() { + if (this.drawerMode === 'edit') { + return this.tKey('agents.drawer.edit_sub'); + } + return this.tKey(this.isCommunityBuild ? 'agents.drawer.new_sub_community' : 'agents.drawer.new_sub'); + }, + + operationsSubText() { + return this.tKey(this.isCommunityBuild ? 'agents.drawer.operations_sub_community' : 'agents.drawer.operations_sub'); + }, + + get filteredOps() { + var query = this.opSearch.toLowerCase().trim(); + if (!query) return this.operations; + return this.operations.filter(function(operation) { + return operation.name.toLowerCase().includes(query) + || operation.display_name.toLowerCase().includes(query); + }); + }, + + openCreate() { + this.drawerMode = 'create'; + this.editingId = null; + this.form = { + display_name: '', + slug: '', + description: '', + status: 'published', + selectedOps: [], + }; + this.opSearch = ''; + this.slugManuallyEdited = false; + this.drawerOpen = true; + }, + + openEdit(agent) { + this.drawerMode = 'edit'; + this.editingId = agent.id; + this.form = { + display_name: agent.display_name, + slug: agent.slug, + description: agent.description, + status: agent.raw_status || agent.status || 'draft', + selectedOps: [].concat(agent.operation_ids || []), + }; + this.opSearch = ''; + this.slugManuallyEdited = true; + this.drawerOpen = true; + }, + + closeDrawer() { + this.drawerOpen = false; + this.saving = false; + }, + + onNameInput(value) { + this.form.display_name = value; + if (!this.slugManuallyEdited) { + this.form.slug = value + .toLowerCase() + .replace(/\s+/g, '-') + .replace(/[^a-z0-9-]/g, ''); + } + }, + + onSlugInput(value) { + this.form.slug = value.toLowerCase().replace(/[^a-z0-9-]/g, ''); + this.slugManuallyEdited = true; + }, + + toggleOp(operationId) { + var index = this.form.selectedOps.indexOf(operationId); + if (index === -1) { + this.form.selectedOps.push(operationId); + } else { + this.form.selectedOps.splice(index, 1); + } + }, + + isOpSelected(operationId) { + return this.form.selectedOps.includes(operationId); + }, + + async saveAgent() { + var self = this; + if ( + this.saving + || !this.workspaceId + || !this.form.display_name.trim() + || !this.form.slug.trim() + ) { + return; + } + + this.saving = true; + + try { + var agentId = this.editingId; + var currentVersion = 1; + var existingAgent = this.drawerMode === 'edit' + ? this.agents.find(function(item) { return item.id === agentId; }) + : null; + var previousStatus = existingAgent ? (existingAgent.raw_status || 'draft') : 'draft'; + + if (this.drawerMode === 'create') { + var created = await window.CrankApi.createAgent(this.workspaceId, { + slug: this.form.slug, + display_name: this.form.display_name, + description: this.form.description, + instructions: {}, + tool_selection_policy: {}, + }); + agentId = created.agent_id; + currentVersion = created.version || 1; + } else { + await window.CrankApi.updateAgent(this.workspaceId, this.editingId, { + slug: this.form.slug, + display_name: this.form.display_name, + description: this.form.description, + }); + var agent = await window.CrankApi.getAgent(this.workspaceId, this.editingId); + currentVersion = agent.current_draft_version || 1; + } + + await window.CrankApi.saveAgentBindings( + this.workspaceId, + agentId, + this.form.selectedOps.map(function(operationId) { + var operation = self.operations.find(function(item) { + return item.id === operationId; + }); + return { + operation_id: operationId, + operation_version: operation && operation.latest_published_version + ? operation.latest_published_version + : operation && operation.current_draft_version + ? operation.current_draft_version + : 1, + tool_name: operation ? operation.name : operationId, + tool_title: operation ? (operation.display_name || operation.name) : operationId, + tool_description_override: null, + enabled: true, + }; + }), + ); + + if (this.form.status === 'published') { + await window.CrankApi.publishAgent(this.workspaceId, agentId, { + version: currentVersion, + }); + } else if (this.form.status === 'archived') { + await window.CrankApi.archiveAgent(this.workspaceId, agentId); + } else if (this.drawerMode === 'edit' && previousStatus !== 'draft') { + await window.CrankApi.unpublishAgent(this.workspaceId, agentId); + } + + await this.reload(); + if (window.CrankUi) { + window.CrankUi.success( + this.tfKey('agents.toast.saved_message', { + name: this.form.display_name, + count: this.form.selectedOps.length + }), + this.drawerMode === 'create' + ? this.tKey('agents.toast.saved_title_create') + : this.tKey('agents.toast.saved_title_update') + ); + } + this.closeDrawer(); + } catch (error) { + if (window.CrankUi) { + window.CrankUi.error( + error.message || this.tKey('agents.toast.save_error_message'), + this.tKey('agents.toast.save_error_title') + ); + } + this.saving = false; + } + }, + + async deleteAgent(id) { + if (!confirm(this.tKey('agents.toast.delete_confirm'))) return; + + try { + var agent = this.agents.find(function(item) { return item.id === id; }); + await window.CrankApi.deleteAgent(this.workspaceId, id); + await this.reload(); + if (window.CrankUi) { + window.CrankUi.success( + this.tfKey('agents.toast.delete_message', { name: agent ? agent.display_name : '' }), + this.tKey('agents.toast.delete_title') + ); + } + } catch (error) { + if (window.CrankUi) { + window.CrankUi.error( + error.message || this.tKey('agents.toast.delete_error_message'), + this.tKey('agents.toast.delete_error_title') + ); + } + } + }, + + async applyLifecycle(agent, action) { + if (!this.workspaceId || !window.CrankApi) { + return; + } + + try { + if (action === 'publish') { + await window.CrankApi.publishAgent(this.workspaceId, agent.id, { + version: agent.current_draft_version || 1, + }); + } else if (action === 'unpublish') { + await window.CrankApi.unpublishAgent(this.workspaceId, agent.id); + } else if (action === 'archive') { + await window.CrankApi.archiveAgent(this.workspaceId, agent.id); + } + await this.reload(); + if (window.CrankUi) { + window.CrankUi.success( + action === 'publish' + ? this.tfKey('agents.toast.lifecycle_publish', { name: agent.display_name }) + : action === 'unpublish' + ? this.tfKey('agents.toast.lifecycle_unpublish', { name: agent.display_name }) + : this.tfKey('agents.toast.lifecycle_archive', { name: agent.display_name }), + this.tKey('agents.toast.lifecycle_title') + ); + } + } catch (error) { + if (window.CrankUi) { + window.CrankUi.error( + error.message || this.tKey('agents.toast.lifecycle_error_message'), + this.tKey('agents.toast.lifecycle_error_title') + ); + } + } + }, + + lifecycleAction(agent) { + if (agent.raw_status === 'published') { + return { key: 'unpublish', label: this.tKey('agents.lifecycle.unpublish') }; + } + if (agent.raw_status === 'archived') { + return { key: 'unpublish', label: this.tKey('agents.lifecycle.restore_draft') }; + } + return { key: 'publish', label: this.tKey('agents.lifecycle.publish') }; + }, + + lifecycleLabel(agent) { + if (agent.raw_status === 'published') return this.tKey('agents.lifecycle.published'); + if (agent.raw_status === 'archived') return this.tKey('agents.lifecycle.archived'); + return this.tKey('agents.lifecycle.draft'); + }, + + mcpEndpoint(agent) { + if (agent.mcp_endpoint) return agent.mcp_endpoint; + var workspace = window.getCurrentWorkspace ? window.getCurrentWorkspace() : null; + var workspaceSlug = workspace ? workspace.slug : 'default'; + return '/mcp/v1/' + workspaceSlug + '/' + agent.slug; + }, + + endpointHelpText(agent) { + return this.tfKey( + this.isCommunityBuild ? 'agents.card.endpoint_help_community' : 'agents.card.endpoint_help', + { count: agent.key_count || 0 } + ); + }, + + copyEndpoint(agent) { + var endpoint = this.mcpEndpoint(agent); + navigator.clipboard.writeText(endpoint).catch(function() {}); + if (window.CrankUi) { + window.CrankUi.info(endpoint, this.tKey('agents.toast.endpoint_title')); + } + }, + + statusClass(status) { + return 'agent-status-badge agent-status-' + status; + }, + + protocolBadge(operation) { + return 'badge badge-rest'; + }, + + protocolLabel(operation) { + return 'REST'; + }, + + formatDate(dateStr) { + if (!dateStr) return '—'; + return new Date(dateStr).toLocaleDateString(currentLocale(), { + month: 'short', + day: 'numeric', + year: 'numeric', + }); + }, + + formatCalls(value) { + if (!value) return '0'; + return value >= 1000 ? (value / 1000).toFixed(1) + 'k' : String(value); + }, + + tKey(key) { + return window.t ? t(key) : key; + }, + + tfKey(key, vars) { + return window.tf ? tf(key, vars) : this.tKey(key); + }, + }; + }); +}); diff --git a/apps/ui/js/api-keys.js b/apps/ui/js/api-keys.js new file mode 100644 index 0000000..b3d1ccd --- /dev/null +++ b/apps/ui/js/api-keys.js @@ -0,0 +1,620 @@ +var KEYS = []; +var AGENTS = []; +var capabilities = null; +var currentWorkspaceId = null; +var currentAgentId = null; +var selectedScopes = new Set(['read']); +var search = ''; + +var SCOPES = ['read', 'write', 'deploy']; +var SCOPE_DESC = { + read: 'apikeys.scope.read', + write: 'apikeys.scope.write', + deploy: 'apikeys.scope.deploy', +}; + +function tKey(key) { + return window.t ? t(key) : key; +} + +function tfKey(key, vars) { + return window.tf ? tf(key, vars) : tKey(key); +} + +function capabilityLabel(key) { + return tKey('settings.capability.' + key); +} + +function buildIconSvg(href, width, height) { + var svg = document.createElementNS('http://www.w3.org/2000/svg', 'svg'); + svg.setAttribute('width', String(width)); + svg.setAttribute('height', String(height)); + var use = document.createElementNS('http://www.w3.org/2000/svg', 'use'); + use.setAttribute('href', href); + svg.appendChild(use); + return svg; +} + +function mapKeyRecord(record) { + var apiKey = record.api_key || {}; + return { + id: apiKey.id, + agentId: apiKey.agent_id || null, + name: apiKey.name, + prefix: apiKey.prefix || '', + scopes: apiKey.scopes || [], + created: apiKey.created_at ? apiKey.created_at.slice(0, 10) : '—', + lastUsed: apiKey.last_used_at ? apiKey.last_used_at.slice(0, 10) : tKey('apikeys.last_used.never'), + status: apiKey.status || 'active', + }; +} + +function mapAgentRecord(record) { + return { + id: record.id, + slug: record.slug, + displayName: record.display_name || record.slug || record.id, + mcpEndpoint: record.mcp_endpoint || '', + }; +} + +function currentWorkspace() { + return window.getCurrentWorkspace ? window.getCurrentWorkspace() : null; +} + +async function loadKeys() { + var workspace = currentWorkspace(); + currentWorkspaceId = workspace ? workspace.id : null; + + setTableLoading(true); + + if (!currentWorkspaceId || !window.CrankApi) { + AGENTS = []; + KEYS = []; + currentAgentId = null; + renderAgentPicker(); + setCreateButtonState(); + setTableLoading(false); + renderTable(tKey('apikeys.error.api')); + return; + } + + try { + var response = await window.CrankApi.listAgents(currentWorkspaceId); + AGENTS = ((response && response.items) || []).map(mapAgentRecord); + if (!AGENTS.length) { + currentAgentId = null; + KEYS = []; + renderAgentPicker(); + setCreateButtonState(); + setTableLoading(false); + renderTable(); + return; + } + if (!currentAgentId || !AGENTS.some(function(agent) { return agent.id === currentAgentId; })) { + currentAgentId = AGENTS[0].id; + } + renderAgentPicker(); + var keysResponse = await window.CrankApi.listAgentPlatformApiKeys( + currentWorkspaceId, + currentAgentId + ); + KEYS = ((keysResponse && keysResponse.items) || []).map(mapKeyRecord); + setCreateButtonState(); + setTableLoading(false); + renderTable(); + } catch (error) { + AGENTS = []; + KEYS = []; + currentAgentId = null; + renderAgentPicker(); + setCreateButtonState(); + setTableLoading(false); + renderTable(error.message || tKey('apikeys.error.load')); + } +} + +async function loadCapabilities() { + if (!window.CrankApi || typeof window.CrankApi.getCapabilities !== 'function') { + return; + } + + try { + capabilities = await window.CrankApi.getCapabilities(); + } catch (_error) { + capabilities = null; + } + + renderMachineAccessSummary(); +} + +function renderMachineAccessSummary() { + var title = document.getElementById('machine-access-title'); + var subtitle = document.getElementById('machine-access-subtitle'); + var summary = document.getElementById('machine-access-summary'); + var note = document.getElementById('machine-access-note'); + if (!title || !subtitle || !summary || !note) { + return; + } + + if (!capabilities) { + summary.textContent = tKey('apikeys.machine_access.summary_default'); + note.textContent = tKey('apikeys.machine_access.note'); + return; + } + + var accessModes = (capabilities.machine_access_modes || []).map(capabilityLabel).join(', '); + var securityLevels = (capabilities.supported_security_levels || []).map(capabilityLabel).join(', '); + + title.textContent = tKey('apikeys.machine_access.title_' + capabilities.edition); + subtitle.textContent = tKey('apikeys.machine_access.subtitle_' + capabilities.edition); + summary.textContent = tfKey('apikeys.machine_access.summary', { + access_modes: accessModes || capabilityLabel('none'), + security_levels: securityLevels || capabilityLabel('none'), + }); + note.textContent = tKey('apikeys.machine_access.note_' + capabilities.edition); +} + +function setTableLoading(on) { + var tbody = document.getElementById('keys-tbody'); + if (!on) return; + tbody.innerHTML = ''; + var tr = document.createElement('tr'); + var td = document.createElement('td'); + td.colSpan = 7; + td.style.cssText = 'text-align:center;padding:36px;color:var(--text-muted);'; + td.textContent = tKey('apikeys.loading'); + tr.appendChild(td); + tbody.appendChild(tr); +} + +async function revokeKey(id) { + if (!confirm(tKey('apikeys.confirm.revoke'))) return; + if (!currentAgentId) return; + + try { + var key = KEYS.find(function(item) { return item.id === id; }); + await window.CrankApi.revokeAgentPlatformApiKey(currentWorkspaceId, currentAgentId, id); + await loadKeys(); + if (window.CrankUi) { + window.CrankUi.success( + tfKey('apikeys.toast.revoke_message', { name: key ? key.name : '' }), + tKey('apikeys.toast.revoke_title') + ); + } + } catch (error) { + if (window.CrankUi) { + window.CrankUi.error( + error.message || tKey('apikeys.toast.revoke_error_message'), + tKey('apikeys.toast.revoke_error_title') + ); + } + } +} + +async function deleteKey(id) { + if (!confirm(tKey('apikeys.confirm.delete'))) return; + if (!currentAgentId) return; + + try { + var key = KEYS.find(function(item) { return item.id === id; }); + await window.CrankApi.deleteAgentPlatformApiKey(currentWorkspaceId, currentAgentId, id); + await loadKeys(); + if (window.CrankUi) { + window.CrankUi.success( + tfKey('apikeys.toast.delete_message', { name: key ? key.name : '' }), + tKey('apikeys.toast.delete_title') + ); + } + } catch (error) { + if (window.CrankUi) { + window.CrankUi.error( + error.message || tKey('apikeys.toast.delete_error_message'), + tKey('apikeys.toast.delete_error_title') + ); + } + } +} + +async function createKey(name, scopes) { + var created = await window.CrankApi.createAgentPlatformApiKey(currentWorkspaceId, currentAgentId, { + name: name, + scopes: scopes, + }); + return { + rawKey: created.secret, + record: mapKeyRecord(created.api_key), + }; +} + +function currentAgent() { + return AGENTS.find(function(agent) { return agent.id === currentAgentId; }) || null; +} + +function renderAgentPicker() { + var select = document.getElementById('agent-select'); + var hint = document.getElementById('agent-endpoint-hint'); + if (!select || !hint) return; + + select.innerHTML = ''; + + if (!AGENTS.length) { + var emptyOption = document.createElement('option'); + emptyOption.value = ''; + emptyOption.textContent = tKey('apikeys.agent.empty'); + select.appendChild(emptyOption); + select.disabled = true; + hint.textContent = tKey('apikeys.agent.empty_hint'); + return; + } + + AGENTS.forEach(function(agent) { + var option = document.createElement('option'); + option.value = agent.id; + option.textContent = agent.displayName; + if (agent.id === currentAgentId) option.selected = true; + select.appendChild(option); + }); + select.disabled = false; + + var agent = currentAgent(); + hint.textContent = agent && agent.mcpEndpoint + ? tfKey('apikeys.agent.endpoint', { endpoint: agent.mcpEndpoint }) + : tKey('apikeys.agent.endpoint_missing'); +} + +function setCreateButtonState() { + var button = document.getElementById('btn-create-key'); + if (!button) return; + button.disabled = !currentAgentId; +} + +function renderScopes() { + var el = document.getElementById('scope-checkboxes'); + var tmpl = document.getElementById('tmpl-scope-checkbox'); + el.innerHTML = ''; + SCOPES.forEach(function(scope) { + var node = tmpl.content.cloneNode(true); + var input = node.querySelector('input'); + input.dataset.scope = scope; + if (selectedScopes.has(scope)) input.checked = true; + node.querySelector('.scope-checkbox-name').textContent = scope; + node.querySelector('.scope-checkbox-desc').textContent = tKey(SCOPE_DESC[scope]); + input.addEventListener('change', function() { + if (this.checked) selectedScopes.add(this.dataset.scope); + else selectedScopes.delete(this.dataset.scope); + }); + el.appendChild(node); + }); +} + +function renderTable(errorMessage) { + var q = search.toLowerCase(); + var tbody = document.getElementById('keys-tbody'); + var cardList = document.getElementById('keys-card-list'); + var rows = KEYS.filter(function(key) { + return !q || key.name.toLowerCase().includes(q) || key.prefix.toLowerCase().includes(q); + }); + var subtitle = document.getElementById('keys-summary-subtitle'); + + tbody.innerHTML = ''; + if (cardList) { + cardList.innerHTML = ''; + } + + if (subtitle) { + var active = KEYS.filter(function(key) { return key.status === 'active'; }).length; + var revoked = KEYS.filter(function(key) { return key.status === 'revoked'; }).length; + subtitle.textContent = currentAgentId + ? tfKey('apikeys.active.subtitle', { active: active, revoked: revoked }) + : tKey('apikeys.agent.empty_hint'); + } + + if (errorMessage) { + var errorRow = document.createElement('tr'); + var errorCell = document.createElement('td'); + errorCell.colSpan = 7; + errorCell.style.cssText = 'text-align:center;padding:36px;color:var(--danger,#f85149);'; + errorCell.textContent = errorMessage; + errorRow.appendChild(errorCell); + tbody.appendChild(errorRow); + renderKeyCards([], errorMessage); + return; + } + + if (!rows.length) { + var empty = document.createElement('tr'); + var td = document.createElement('td'); + td.colSpan = 7; + td.style.cssText = 'text-align:center;padding:36px;color:var(--text-muted);'; + td.textContent = currentAgentId + ? (KEYS.length ? tKey('apikeys.empty.search') : tKey('apikeys.empty.none')) + : tKey('apikeys.agent.empty_hint'); + empty.appendChild(td); + tbody.appendChild(empty); + renderKeyCards(rows); + return; + } + + var tmpl = document.getElementById('tmpl-key-row'); + rows.forEach(function(key) { + var node = tmpl.content.cloneNode(true); + node.querySelector('.col-name').textContent = key.name; + node.querySelector('.col-mono').textContent = key.prefix; + node.querySelector('.col-created').textContent = key.created; + node.querySelector('.col-last-used').textContent = key.lastUsed; + + var scopesEl = node.querySelector('.col-scopes'); + key.scopes.forEach(function(scope) { + var span = document.createElement('span'); + span.className = 'badge badge-scope'; + span.textContent = scope; + scopesEl.appendChild(span); + }); + + var badge = document.createElement('span'); + badge.className = key.status === 'active' ? 'badge badge-active' : 'badge badge-revoked'; + badge.textContent = key.status === 'active' ? tKey('apikeys.status.active') : tKey('apikeys.status.revoked'); + node.querySelector('.col-status').appendChild(badge); + + var actionsActive = node.querySelector('.actions-active'); + var actionsRevoked = node.querySelector('.actions-revoked'); + if (key.status === 'active') { + actionsActive.querySelector('[title=\"Copy key prefix\"]').addEventListener('click', function() { + copyPrefix(key.prefix); + }); + actionsActive.querySelector('[title=\"Revoke key\"]').addEventListener('click', function() { + revokeKey(key.id); + }); + } else { + actionsActive.hidden = true; + actionsRevoked.hidden = false; + actionsRevoked.querySelector('[title=\"Delete\"]').addEventListener('click', function() { + deleteKey(key.id); + }); + } + + tbody.appendChild(node); + }); + + renderKeyCards(rows); +} + +function renderKeyCards(rows, errorMessage) { + var cardList = document.getElementById('keys-card-list'); + if (!cardList) return; + + cardList.innerHTML = ''; + + if (errorMessage) { + cardList.appendChild(buildKeyCardMessage(errorMessage, true)); + return; + } + + if (!rows.length) { + cardList.appendChild( + buildKeyCardMessage( + currentAgentId + ? (KEYS.length ? tKey('apikeys.empty.search') : tKey('apikeys.empty.none')) + : tKey('apikeys.agent.empty_hint'), + false + ) + ); + return; + } + + rows.forEach(function(key) { + var card = document.createElement('div'); + card.className = 'resource-card'; + + var header = document.createElement('div'); + header.className = 'resource-card-header'; + var headerMain = document.createElement('div'); + var title = document.createElement('div'); + title.className = 'resource-card-title'; + title.textContent = key.name; + var subtitle = document.createElement('div'); + subtitle.className = 'resource-card-subtitle'; + subtitle.textContent = key.prefix; + headerMain.appendChild(title); + headerMain.appendChild(subtitle); + + var actions = document.createElement('div'); + actions.className = 'resource-card-actions'; + + var statusBadge = document.createElement('span'); + statusBadge.className = key.status === 'active' ? 'badge badge-active' : 'badge badge-revoked'; + statusBadge.textContent = key.status === 'active' + ? tKey('apikeys.status.active') + : tKey('apikeys.status.revoked'); + actions.appendChild(statusBadge); + header.appendChild(headerMain); + header.appendChild(actions); + card.appendChild(header); + + var metaGrid = document.createElement('div'); + metaGrid.className = 'resource-meta-grid'; + metaGrid.appendChild(buildMetaItem('apikeys.th.scopes', key.scopes.join(', ') || '—')); + metaGrid.appendChild(buildMetaItem('apikeys.th.created', key.created)); + metaGrid.appendChild(buildMetaItem('apikeys.th.last', key.lastUsed)); + card.appendChild(metaGrid); + + var actionRow = document.createElement('div'); + actionRow.className = 'resource-card-actions'; + if (key.status === 'active') { + actionRow.appendChild(buildCardAction('apikeys.action.copy_prefix', function() { + copyPrefix(key.prefix); + })); + actionRow.appendChild(buildCardAction('apikeys.action.revoke', function() { + revokeKey(key.id); + }, true)); + } else { + actionRow.appendChild(buildCardAction('apikeys.action.delete', function() { + deleteKey(key.id); + }, true)); + } + card.appendChild(actionRow); + + cardList.appendChild(card); + }); +} + +function buildKeyCardMessage(text, isError) { + var card = document.createElement('div'); + card.className = 'resource-card'; + var value = document.createElement('div'); + value.className = 'resource-meta-value'; + value.textContent = text; + value.style.color = isError ? 'var(--danger,#f85149)' : 'var(--text-muted)'; + card.appendChild(value); + return card; +} + +function buildMetaItem(labelKey, valueText) { + var item = document.createElement('div'); + item.className = 'resource-meta-item'; + var label = document.createElement('div'); + label.className = 'resource-meta-label'; + label.textContent = tKey(labelKey); + var value = document.createElement('div'); + value.className = 'resource-meta-value'; + value.textContent = valueText; + item.appendChild(label); + item.appendChild(value); + return item; +} + +function buildCardAction(labelKey, onClick, isDanger) { + var button = document.createElement('button'); + button.type = 'button'; + button.className = isDanger ? 'btn-secondary' : 'btn-secondary'; + button.textContent = tKey(labelKey); + button.addEventListener('click', onClick); + return button; +} + +var modal = document.getElementById('modal-create'); + +function openModal() { + if (!currentAgentId) return; + document.getElementById('modal-form-body').hidden = false; + document.getElementById('modal-reveal-body').hidden = true; + document.getElementById('modal-footer-create').hidden = false; + document.getElementById('modal-footer-done').hidden = true; + document.getElementById('new-key-name').value = ''; + selectedScopes = new Set(['read']); + renderScopes(); + modal.classList.add('open'); + setTimeout(function() { + document.getElementById('new-key-name').focus(); + }, 50); +} + +function closeModal() { + modal.classList.remove('open'); +} + +document.getElementById('btn-create-key').addEventListener('click', openModal); +document.getElementById('modal-close-btn').addEventListener('click', closeModal); +document.getElementById('modal-cancel-btn').addEventListener('click', closeModal); +modal.addEventListener('click', function(event) { + if (event.target === modal) closeModal(); +}); + +document.getElementById('modal-confirm-btn').addEventListener('click', async function() { + var button = this; + var name = document.getElementById('new-key-name').value.trim(); + if (!name) { + document.getElementById('new-key-name').focus(); + return; + } + if (!selectedScopes.size) { + if (window.CrankUi) { + window.CrankUi.info( + tKey('apikeys.toast.scope_missing_message'), + tKey('apikeys.toast.scope_missing_title') + ); + } + return; + } + + try { + button.disabled = true; + button.textContent = tKey('apikeys.creating'); + var created = await createKey(name, Array.from(selectedScopes)); + KEYS.unshift(created.record); + document.getElementById('reveal-key-value').textContent = created.rawKey; + document.getElementById('modal-form-body').hidden = true; + document.getElementById('modal-reveal-body').hidden = false; + document.getElementById('modal-footer-create').hidden = true; + document.getElementById('modal-footer-done').hidden = false; + renderTable(); + if (window.CrankUi) { + window.CrankUi.success( + tKey('apikeys.toast.create_message'), + tKey('apikeys.toast.create_title') + ); + } + } catch (error) { + if (window.CrankUi) { + window.CrankUi.error( + error.message || tKey('apikeys.toast.create_error_message'), + tKey('apikeys.toast.create_error_title') + ); + } + } finally { + button.disabled = false; + button.textContent = tKey('apikeys.modal.create'); + } +}); + +document.getElementById('modal-done-btn').addEventListener('click', closeModal); + +document.getElementById('copy-key-btn').addEventListener('click', function() { + var value = document.getElementById('reveal-key-value').textContent; + if (navigator.clipboard) { + navigator.clipboard.writeText(value).catch(function() {}); + } + this.replaceChildren( + buildIconSvg( + (window.APP_BASE || '') + 'icons/general/check.svg#icon', + 13, + 13 + ) + ); + if (window.CrankUi) { + window.CrankUi.info( + tKey('apikeys.toast.copy_message'), + tKey('apikeys.toast.copy_title') + ); + } +}); + +document.getElementById('key-search').addEventListener('input', function() { + search = this.value; + renderTable(); +}); + +document.getElementById('agent-select').addEventListener('change', async function() { + currentAgentId = this.value || null; + await loadKeys(); +}); + +function copyPrefix(prefix) { + if (navigator.clipboard) { + navigator.clipboard.writeText(prefix).catch(function() {}); + } + if (window.CrankUi) { + window.CrankUi.info(prefix, tKey('apikeys.toast.prefix_title')); + } +} + +document.addEventListener('DOMContentLoaded', async function() { + await (window.whenWorkspacesReady ? window.whenWorkspacesReady() : Promise.resolve()); + await loadCapabilities(); + await loadKeys(); + window.addEventListener('crank:workspacechange', function() { + loadCapabilities(); + loadKeys(); + }); +}); diff --git a/apps/ui/js/api.js b/apps/ui/js/api.js new file mode 100644 index 0000000..b76bc0c --- /dev/null +++ b/apps/ui/js/api.js @@ -0,0 +1,351 @@ +(function() { + var API_BASE = '/api/admin'; + var AUTH_BASE = '/api/auth'; + + function headers(extra) { + return Object.assign({ + 'Accept': 'application/json', + }, extra || {}); + } + + async function request(path, options) { + var response = await fetch(path, Object.assign({ + credentials: 'same-origin', + headers: headers(), + }, options || {})); + + if (response.status === 204) { + return null; + } + + var payload = null; + var text = await response.text(); + + if (text) { + try { + payload = JSON.parse(text); + } catch (_error) {} + } + + if (!response.ok) { + if (response.status === 401 && window.CrankAuth && typeof window.CrankAuth.handleUnauthorized === 'function') { + window.CrankAuth.handleUnauthorized(); + } + var message = payload && payload.error + ? payload.error.message + : payload && payload.message + ? payload.message + : text + ? text + : ('HTTP ' + response.status); + var error = new Error(message); + error.status = response.status; + error.payload = payload; + throw error; + } + + return payload; + } + + async function requestText(path, options) { + var response = await fetch(path, Object.assign({ + credentials: 'same-origin', + headers: headers(), + }, options || {})); + + var text = await response.text(); + var payload = null; + + if (text) { + try { + payload = JSON.parse(text); + } catch (_error) {} + } + + if (!response.ok) { + if (response.status === 401 && window.CrankAuth && typeof window.CrankAuth.handleUnauthorized === 'function') { + window.CrankAuth.handleUnauthorized(); + } + var message = payload && payload.error + ? payload.error.message + : payload && payload.message + ? payload.message + : text + ? text + : ('HTTP ' + response.status); + var error = new Error(message); + error.status = response.status; + error.payload = payload; + throw error; + } + + return text; + } + + function get(path) { + return request(API_BASE + path); + } + + function post(path, body) { + return request(API_BASE + path, { + method: 'POST', + headers: headers({ 'Content-Type': 'application/json' }), + body: JSON.stringify(body), + }); + } + + function patch(path, body) { + return request(API_BASE + path, { + method: 'PATCH', + headers: headers({ 'Content-Type': 'application/json' }), + body: JSON.stringify(body), + }); + } + + function del(path) { + return request(API_BASE + path, { method: 'DELETE' }); + } + + function query(params) { + var search = new URLSearchParams(); + Object.keys(params || {}).forEach(function(key) { + var value = params[key]; + if (value === undefined || value === null || value === '') { + return; + } + search.set(key, value); + }); + var encoded = search.toString(); + return encoded ? ('?' + encoded) : ''; + } + + function postBytes(path, bytes, fileName) { + return request(API_BASE + path, { + method: 'POST', + headers: headers(fileName ? { 'X-File-Name': fileName } : {}), + body: bytes, + }); + } + + window.CrankApi = { + login: function(payload) { + return request(AUTH_BASE + '/login', { + method: 'POST', + headers: headers({ 'Content-Type': 'application/json' }), + body: JSON.stringify(payload), + }); + }, + logout: function() { + return request(AUTH_BASE + '/logout', { + method: 'POST', + headers: headers({ 'Content-Type': 'application/json' }), + body: JSON.stringify({}), + }); + }, + getSession: function() { + return request(AUTH_BASE + '/session'); + }, + getProfile: function() { + return request(AUTH_BASE + '/profile'); + }, + updateProfile: function(payload) { + return request(AUTH_BASE + '/profile', { + method: 'PATCH', + headers: headers({ 'Content-Type': 'application/json' }), + body: JSON.stringify(payload), + }); + }, + changePassword: function(payload) { + return request(AUTH_BASE + '/password', { + method: 'POST', + headers: headers({ 'Content-Type': 'application/json' }), + body: JSON.stringify(payload), + }); + }, + setCurrentWorkspace: function(workspaceId) { + return request(AUTH_BASE + '/current-workspace', { + method: 'POST', + headers: headers({ 'Content-Type': 'application/json' }), + body: JSON.stringify({ workspace_id: workspaceId }), + }); + }, + listWorkspaces: function() { + return get('/workspaces'); + }, + getCapabilities: function() { + return get('/capabilities'); + }, + createWorkspace: function(payload) { + return post('/workspaces', payload); + }, + getWorkspace: function(workspaceId) { + return get('/workspaces/' + encodeURIComponent(workspaceId)); + }, + updateWorkspace: function(workspaceId, payload) { + return patch('/workspaces/' + encodeURIComponent(workspaceId), payload); + }, + listMemberships: function(workspaceId) { + return get('/workspaces/' + encodeURIComponent(workspaceId) + '/members'); + }, + updateMembership: function(workspaceId, userId, payload) { + return patch('/workspaces/' + encodeURIComponent(workspaceId) + '/members/' + encodeURIComponent(userId), payload); + }, + deleteMembership: function(workspaceId, userId) { + return del('/workspaces/' + encodeURIComponent(workspaceId) + '/members/' + encodeURIComponent(userId)); + }, + listInvitations: function(workspaceId) { + return get('/workspaces/' + encodeURIComponent(workspaceId) + '/invitations'); + }, + createInvitation: function(workspaceId, payload) { + return post('/workspaces/' + encodeURIComponent(workspaceId) + '/invitations', payload); + }, + deleteInvitation: function(workspaceId, invitationId) { + return del('/workspaces/' + encodeURIComponent(workspaceId) + '/invitations/' + encodeURIComponent(invitationId)); + }, + exportWorkspace: function(workspaceId) { + return get('/workspaces/' + encodeURIComponent(workspaceId) + '/export'); + }, + deleteWorkspace: function(workspaceId) { + return del('/workspaces/' + encodeURIComponent(workspaceId)); + }, + listOperations: function(workspaceId) { + return get('/workspaces/' + encodeURIComponent(workspaceId) + '/operations'); + }, + getOperation: function(workspaceId, operationId) { + return get('/workspaces/' + encodeURIComponent(workspaceId) + '/operations/' + encodeURIComponent(operationId)); + }, + getOperationVersion: function(workspaceId, operationId, version) { + return get('/workspaces/' + encodeURIComponent(workspaceId) + '/operations/' + encodeURIComponent(operationId) + '/versions/' + encodeURIComponent(version)); + }, + createOperation: function(workspaceId, payload) { + return post('/workspaces/' + encodeURIComponent(workspaceId) + '/operations', payload); + }, + updateOperation: function(workspaceId, operationId, payload) { + return patch('/workspaces/' + encodeURIComponent(workspaceId) + '/operations/' + encodeURIComponent(operationId), payload); + }, + deleteOperation: function(workspaceId, operationId) { + return del('/workspaces/' + encodeURIComponent(workspaceId) + '/operations/' + encodeURIComponent(operationId)); + }, + archiveOperation: function(workspaceId, operationId) { + return post('/workspaces/' + encodeURIComponent(workspaceId) + '/operations/' + encodeURIComponent(operationId) + '/archive', {}); + }, + publishOperation: function(workspaceId, operationId, version) { + return post('/workspaces/' + encodeURIComponent(workspaceId) + '/operations/' + encodeURIComponent(operationId) + '/publish', { + version: version, + }); + }, + createOperationVersion: function(workspaceId, operationId, payload) { + return post('/workspaces/' + encodeURIComponent(workspaceId) + '/operations/' + encodeURIComponent(operationId) + '/versions', payload); + }, + runOperationTest: function(workspaceId, operationId, payload) { + return post('/workspaces/' + encodeURIComponent(workspaceId) + '/operations/' + encodeURIComponent(operationId) + '/test-runs', payload); + }, + uploadInputSample: function(workspaceId, operationId, sample) { + return post('/workspaces/' + encodeURIComponent(workspaceId) + '/operations/' + encodeURIComponent(operationId) + '/samples/input-json', sample); + }, + uploadOutputSample: function(workspaceId, operationId, sample) { + return post('/workspaces/' + encodeURIComponent(workspaceId) + '/operations/' + encodeURIComponent(operationId) + '/samples/output-json', sample); + }, + generateDraft: function(workspaceId, operationId, payload) { + return post('/workspaces/' + encodeURIComponent(workspaceId) + '/operations/' + encodeURIComponent(operationId) + '/drafts/generate', payload || {}); + }, + exportOperation: function(workspaceId, operationId, params) { + return requestText( + API_BASE + '/workspaces/' + encodeURIComponent(workspaceId) + '/operations/' + encodeURIComponent(operationId) + '/export' + query(params), + { + headers: headers({ 'Accept': 'application/yaml' }), + } + ); + }, + importOperation: function(workspaceId, yamlDocument, mode) { + return request( + API_BASE + '/workspaces/' + encodeURIComponent(workspaceId) + '/operations/import' + query({ mode: mode }), + { + method: 'POST', + headers: headers({ 'Content-Type': 'application/yaml' }), + body: yamlDocument, + } + ); + }, + listAgents: function(workspaceId) { + return get('/workspaces/' + encodeURIComponent(workspaceId) + '/agents'); + }, + createAgent: function(workspaceId, payload) { + return post('/workspaces/' + encodeURIComponent(workspaceId) + '/agents', payload); + }, + getAgent: function(workspaceId, agentId) { + return get('/workspaces/' + encodeURIComponent(workspaceId) + '/agents/' + encodeURIComponent(agentId)); + }, + updateAgent: function(workspaceId, agentId, payload) { + return patch('/workspaces/' + encodeURIComponent(workspaceId) + '/agents/' + encodeURIComponent(agentId), payload); + }, + deleteAgent: function(workspaceId, agentId) { + return del('/workspaces/' + encodeURIComponent(workspaceId) + '/agents/' + encodeURIComponent(agentId)); + }, + saveAgentBindings: function(workspaceId, agentId, payload) { + return post('/workspaces/' + encodeURIComponent(workspaceId) + '/agents/' + encodeURIComponent(agentId) + '/bindings', payload); + }, + publishAgent: function(workspaceId, agentId, payload) { + return post('/workspaces/' + encodeURIComponent(workspaceId) + '/agents/' + encodeURIComponent(agentId) + '/publish', payload); + }, + unpublishAgent: function(workspaceId, agentId) { + return post('/workspaces/' + encodeURIComponent(workspaceId) + '/agents/' + encodeURIComponent(agentId) + '/unpublish', {}); + }, + archiveAgent: function(workspaceId, agentId) { + return post('/workspaces/' + encodeURIComponent(workspaceId) + '/agents/' + encodeURIComponent(agentId) + '/archive', {}); + }, + listAgentPlatformApiKeys: function(workspaceId, agentId) { + return get('/workspaces/' + encodeURIComponent(workspaceId) + '/agents/' + encodeURIComponent(agentId) + '/platform-api-keys'); + }, + createAgentPlatformApiKey: function(workspaceId, agentId, payload) { + return post('/workspaces/' + encodeURIComponent(workspaceId) + '/agents/' + encodeURIComponent(agentId) + '/platform-api-keys', payload); + }, + revokeAgentPlatformApiKey: function(workspaceId, agentId, keyId) { + return post('/workspaces/' + encodeURIComponent(workspaceId) + '/agents/' + encodeURIComponent(agentId) + '/platform-api-keys/' + encodeURIComponent(keyId) + '/revoke', {}); + }, + deleteAgentPlatformApiKey: function(workspaceId, agentId, keyId) { + return del('/workspaces/' + encodeURIComponent(workspaceId) + '/agents/' + encodeURIComponent(agentId) + '/platform-api-keys/' + encodeURIComponent(keyId)); + }, + listSecrets: function(workspaceId) { + return get('/workspaces/' + encodeURIComponent(workspaceId) + '/secrets'); + }, + createSecret: function(workspaceId, payload) { + return post('/workspaces/' + encodeURIComponent(workspaceId) + '/secrets', payload); + }, + getSecret: function(workspaceId, secretId) { + return get('/workspaces/' + encodeURIComponent(workspaceId) + '/secrets/' + encodeURIComponent(secretId)); + }, + rotateSecret: function(workspaceId, secretId, payload) { + return post('/workspaces/' + encodeURIComponent(workspaceId) + '/secrets/' + encodeURIComponent(secretId) + '/rotate', payload); + }, + deleteSecret: function(workspaceId, secretId) { + return del('/workspaces/' + encodeURIComponent(workspaceId) + '/secrets/' + encodeURIComponent(secretId)); + }, + listAuthProfiles: function(workspaceId) { + return get('/workspaces/' + encodeURIComponent(workspaceId) + '/auth-profiles'); + }, + listLogs: function(workspaceId, params) { + return get('/workspaces/' + encodeURIComponent(workspaceId) + '/logs' + query(params)); + }, + getLog: function(workspaceId, logId) { + return get('/workspaces/' + encodeURIComponent(workspaceId) + '/logs/' + encodeURIComponent(logId)); + }, + getUsageOverview: function(workspaceId, params) { + return get('/workspaces/' + encodeURIComponent(workspaceId) + '/usage' + query(params)); + }, + getProtocolCapabilities: function(workspaceId) { + return get('/workspaces/' + encodeURIComponent(workspaceId) + '/protocol-capabilities'); + }, + getOperationUsage: function(workspaceId, operationId, params) { + return get( + '/workspaces/' + encodeURIComponent(workspaceId) + '/usage/operations/' + encodeURIComponent(operationId) + query(params) + ); + }, + getAgentUsage: function(workspaceId, agentId, params) { + return get( + '/workspaces/' + encodeURIComponent(workspaceId) + '/usage/agents/' + encodeURIComponent(agentId) + query(params) + ); + }, + }; + +}()); diff --git a/apps/ui/js/auth.js b/apps/ui/js/auth.js new file mode 100644 index 0000000..06019a7 --- /dev/null +++ b/apps/ui/js/auth.js @@ -0,0 +1,253 @@ +(function() { + var STORAGE_KEY = 'crank_user'; + var sessionCache = null; + var sessionPromise = null; + function tKey(key) { + return typeof t === 'function' ? t(key) : key; + } + function tfKey(key, vars) { + return typeof tf === 'function' ? tf(key, vars) : key; + } + function roleLabel(role) { + var normalized = String(role || 'viewer').toLowerCase(); + if (normalized === 'operator') return tKey('workspace_setup.role.operator'); + if (normalized === 'owner') return tKey('workspace_setup.role.owner'); + if (normalized === 'admin') return tKey('workspace_setup.role.admin'); + if (normalized === 'viewer') return tKey('workspace_setup.role.viewer'); + return normalized.replace(/^\w/, function(char) { return char.toUpperCase(); }); + } + + function currentWorkspaceLabel() { + if (window.getCurrentWorkspace) { + var workspace = window.getCurrentWorkspace(); + if (workspace && workspace.name) { + return workspace.name; + } + } + try { + return localStorage.getItem('crank_workspace_slug') || tKey('settings.nav.workspace'); + } catch (_error) { + return tKey('settings.nav.workspace'); + } + } + + function isLoginPage() { + return /\/(?:html\/login\.html|login)\/?$/.test(window.location.pathname); + } + + function loginUrl() { + return (window.CrankRoutes && window.CrankRoutes.login) || '/login'; + } + + function homeUrl() { + return (window.CrankRoutes && window.CrankRoutes.home) || '/'; + } + + function clearUserMirror() { + sessionCache = null; + sessionPromise = null; + try { + localStorage.removeItem(STORAGE_KEY); + } catch (_error) {} + renderShellIdentity(null); + } + + function primaryMembership(session) { + if (!(session && session.memberships && session.memberships.length)) { + return null; + } + if (session.current_workspace_id) { + var currentMembership = session.memberships.find(function(item) { + return item.workspace && item.workspace.id === session.current_workspace_id; + }); + if (currentMembership) { + return currentMembership; + } + } + if (window.getCurrentWorkspace) { + var currentWorkspace = window.getCurrentWorkspace(); + if (currentWorkspace) { + var matched = session.memberships.find(function(item) { + return item.workspace && item.workspace.id === currentWorkspace.id; + }); + if (matched) { + return matched; + } + } + } + return session.memberships[0]; + } + + function initials(displayName, email) { + var source = displayName || email || 'Crank'; + return source + .split(/\s+/) + .filter(Boolean) + .slice(0, 2) + .map(function(part) { return part.charAt(0).toUpperCase(); }) + .join('') || 'CR'; + } + + function persistUserMirror(session) { + var membership = primaryMembership(session); + var user = { + id: session.user.id, + name: session.user.display_name, + email: session.user.email, + role: membership ? roleLabel(membership.role) : tKey('workspace_setup.role.viewer'), + workspace: membership ? membership.workspace.slug : '', + workspaceId: membership ? membership.workspace.id : '', + initials: initials(session.user.display_name, session.user.email), + }; + + try { + localStorage.setItem(STORAGE_KEY, JSON.stringify(user)); + } catch (_error) {} + } + + function mirroredUser() { + try { + return JSON.parse(localStorage.getItem(STORAGE_KEY)); + } catch (_error) { + return null; + } + } + + function renderShellIdentity(session) { + var membership = primaryMembership(session); + var fallbackUser = mirroredUser(); + var displayName = session && session.user + ? (session.user.display_name || session.user.email || 'Crank') + : (fallbackUser && fallbackUser.name) || 'Crank'; + var email = session && session.user + ? session.user.email + : fallbackUser && fallbackUser.email; + var role = membership + ? roleLabel(membership.role) + : (fallbackUser && fallbackUser.role) || tKey('workspace_setup.role.viewer'); + var workspace = membership && membership.workspace + ? (membership.workspace.display_name || membership.workspace.slug || membership.workspace.id) + : currentWorkspaceLabel(); + var avatarValue = initials(displayName, email); + + document.querySelectorAll('.nav-avatar').forEach(function(element) { + element.textContent = avatarValue; + }); + document.querySelectorAll('.user-dropdown-name').forEach(function(element) { + element.textContent = displayName; + }); + document.querySelectorAll('.user-dropdown-role').forEach(function(element) { + element.textContent = role + ' · ' + workspace; + }); + if (window.CrankDiagnostics && typeof window.CrankDiagnostics.ensureShellTestIds === 'function') { + window.CrankDiagnostics.ensureShellTestIds(); + } + } + + function replaceSession(session) { + sessionCache = session; + persistUserMirror(session); + renderShellIdentity(session); + window.dispatchEvent(new CustomEvent('crank:sessionchange', { detail: session })); + return session; + } + + async function fetchSession(force) { + if (!force && sessionCache) { + return sessionCache; + } + if (!force && sessionPromise) { + return sessionPromise; + } + + sessionPromise = window.CrankApi.getSession() + .then(function(session) { + return replaceSession(session); + }) + .catch(function(error) { + clearUserMirror(); + throw error; + }) + .finally(function() { + sessionPromise = null; + }); + + return sessionPromise; + } + + async function guardProtectedPage() { + try { + return await fetchSession(false); + } catch (error) { + if (error && error.status === 401) { + window.location.replace(loginUrl()); + return null; + } + throw error; + } + } + + async function guardLoginPage() { + try { + await fetchSession(false); + window.location.replace(homeUrl()); + } catch (error) { + if (!error || error.status !== 401) { + throw error; + } + } + } + + async function login(email, password) { + var session = await window.CrankApi.login({ + email: email, + password: password, + }); + replaceSession(session); + window.location.href = homeUrl(); + } + + async function logout() { + try { + await window.CrankApi.logout(); + } finally { + clearUserMirror(); + window.location.href = loginUrl(); + } + } + + function handleUnauthorized() { + if (isLoginPage()) { + clearUserMirror(); + return; + } + clearUserMirror(); + window.location.replace(loginUrl()); + } + + window.CrankAuth = { + fetchSession: fetchSession, + replaceSession: replaceSession, + getCachedSession: function() { return sessionCache; }, + renderShellIdentity: function() { + renderShellIdentity(sessionCache); + }, + guardProtectedPage: guardProtectedPage, + guardLoginPage: guardLoginPage, + login: login, + logout: logout, + handleUnauthorized: handleUnauthorized, + }; + + window.addEventListener('crank:workspacechange', function() { + renderShellIdentity(sessionCache); + }); + + window.addEventListener('crank:sessionchange', function(event) { + renderShellIdentity(event.detail || sessionCache); + }); + + document.addEventListener('DOMContentLoaded', function() { + renderShellIdentity(sessionCache); + }); +}()); diff --git a/apps/ui/js/catalog.js b/apps/ui/js/catalog.js new file mode 100644 index 0000000..279494d --- /dev/null +++ b/apps/ui/js/catalog.js @@ -0,0 +1,535 @@ +const PAGE_SIZE_DESKTOP = 6; +const PAGE_SIZE_MOBILE = 4; +const MOBILE_BREAKPOINT = 960; + +function getSortOptions() { + return [ + { value: 'created_desc', label: (window.t && t('sort.created_desc')) || 'Sort: Last created' }, + { value: 'created_asc', label: (window.t && t('sort.created_asc')) || 'Sort: Oldest first' }, + { value: 'name_asc', label: (window.t && t('sort.name_asc')) || 'Sort: Name A–Z' }, + { value: 'name_desc', label: (window.t && t('sort.name_desc')) || 'Sort: Name Z–A' }, + ]; +} + +function getTabDefs() { + return [ + { id: 'all', label: (window.t && t('tab.all')) || 'All' }, + { id: 'active', label: (window.t && t('tab.active')) || 'Active' }, + { id: 'draft', label: (window.t && t('tab.draft')) || 'Draft' }, + { id: 'error', label: (window.t && t('tab.error')) || 'Error' }, + { id: 'inactive', label: (window.t && t('tab.inactive')) || 'Inactive' }, + ]; +} + +function uiStatus(rawStatus) { + if (rawStatus === 'published') return 'active'; + if (rawStatus === 'archived') return 'inactive'; + if (rawStatus === 'testing') return 'active'; + return rawStatus || 'draft'; +} + +function currentLocale() { + return localStorage.getItem('crank_lang') === 'ru' ? 'ru-RU' : 'en-US'; +} + +function mapOperation(item) { + var mapped = { + id: item.id, + name: item.name, + display_name: item.display_name, + protocol: item.protocol, + status: uiStatus(item.status), + raw_status: item.status, + category: item.category || 'general', + created_at: item.created_at, + updated_at: item.updated_at, + published_at: item.published_at, + target_url: item.target_url || '', + method: item.target_action || '', + usage_summary: item.usage_summary || { + calls_today: 0, + error_rate_pct: 0, + avg_latency_ms: 0, + }, + agent_refs: item.agent_refs || [], + }; + + return window.localizeDemoOperation ? window.localizeDemoOperation(mapped) : mapped; +} + +function emptyStats() { + return { + total: 0, + active: 0, + requestsToday: 0, + averageLatencyMs: 0, + }; +} + +function computeStats(operations) { + if (!operations.length) return emptyStats(); + + var requestsToday = operations.reduce(function(sum, operation) { + return sum + (operation.usage_summary ? operation.usage_summary.calls_today : 0); + }, 0); + var latencyBase = operations.filter(function(operation) { + return operation.usage_summary && operation.usage_summary.calls_today > 0; + }); + var latencyWeight = latencyBase.reduce(function(sum, operation) { + return sum + operation.usage_summary.calls_today; + }, 0); + var weightedLatency = latencyBase.reduce(function(sum, operation) { + return sum + (operation.usage_summary.avg_latency_ms * operation.usage_summary.calls_today); + }, 0); + + return { + total: operations.length, + active: operations.filter(function(operation) { return operation.status === 'active'; }).length, + requestsToday: requestsToday, + averageLatencyMs: latencyWeight > 0 ? Math.round(weightedLatency / latencyWeight) : 0, + }; +} + +document.addEventListener('alpine:init', function() { + Alpine.data('catalog', function() { + return { + operations: [], + loading: true, + loadError: '', + pageSize: PAGE_SIZE_DESKTOP, + search: '', + tab: 'all', + filterProtocol: null, + filterCategory: null, + filterAgent: null, + sort: 'created_desc', + page: 1, + openDropdown: null, + navOpen: false, + categoryOptions: [], + workspaceId: null, + stats: emptyStats(), + _opsVersion: 0, + _nonStatusViewCache: null, + _nonStatusViewKey: '', + _filteredCache: null, + _filteredKey: '', + _agentsByOpIdCache: null, + _agentsByOpIdCacheVersion: -1, + _activeAgentsCache: null, + _activeAgentsCacheVersion: -1, + + async init() { + var self = this; + + await (window.whenWorkspacesReady ? window.whenWorkspacesReady() : Promise.resolve()); + var workspace = window.getCurrentWorkspace ? window.getCurrentWorkspace() : null; + this.workspaceId = workspace ? workspace.id : null; + + var updatePageSize = function() { + self.pageSize = window.innerWidth <= MOBILE_BREAKPOINT ? PAGE_SIZE_MOBILE : PAGE_SIZE_DESKTOP; + self.page = 1; + }; + + updatePageSize(); + window.addEventListener('resize', updatePageSize); + window.addEventListener('crank:langchange', function() { + self.sort = self.sort; + applyLang(); + }); + window.addEventListener('crank:workspacechange', async function(event) { + self.workspaceId = event.detail ? event.detail.id : null; + await self.reload(); + }); + document.addEventListener('click', function(event) { + if (!event.target.closest('.filter-dropdown, .sort-dropdown, .user-menu')) { + self.openDropdown = null; + } + if (!event.target.closest('.navbar')) { + self.navOpen = false; + } + }); + + await this.reload(); + }, + + async reload() { + this.loading = true; + this.loadError = ''; + + try { + var response = await window.CrankApi.listOperations(this.workspaceId); + this.replaceOperations((response && response.items ? response.items : []).map(mapOperation)); + this.categoryOptions = Array.from(new Set(this.operations.map(function(operation) { + return operation.category; + }).filter(Boolean))).sort(); + this.stats = computeStats(this.operations); + } catch (error) { + this.replaceOperations([]); + this.categoryOptions = []; + this.stats = emptyStats(); + this.loadError = error.message || 'Failed to load operations'; + } + + this.loading = false; + this.page = 1; + }, + + replaceOperations(operations) { + this.operations = operations; + this._opsVersion += 1; + this._nonStatusViewCache = null; + this._nonStatusViewKey = ''; + this._filteredCache = null; + this._filteredKey = ''; + this._agentsByOpIdCache = null; + this._agentsByOpIdCacheVersion = -1; + this._activeAgentsCache = null; + this._activeAgentsCacheVersion = -1; + }, + + _applyNonStatusFilters(operations) { + var filtered = operations; + + if (this.search.trim()) { + var query = this.search.toLowerCase(); + filtered = filtered.filter(function(operation) { + return operation.name.toLowerCase().includes(query) + || operation.display_name.toLowerCase().includes(query) + || operation.category.toLowerCase().includes(query) + || (operation.target_url || '').toLowerCase().includes(query); + }); + } + + if (this.filterProtocol) { + filtered = filtered.filter(function(operation) { return operation.protocol === this.filterProtocol; }, this); + } + + if (this.filterCategory) { + filtered = filtered.filter(function(operation) { return operation.category === this.filterCategory; }, this); + } + + if (this.filterAgent) { + filtered = filtered.filter(function(operation) { + return (operation.agent_refs || []).some(function(agent) { return agent.agent_id === this.filterAgent; }, this); + }, this); + } + + return filtered; + }, + + _nonStatusView() { + var key = [ + this._opsVersion, + this.search.trim(), + this.filterProtocol || '', + this.filterCategory || '', + this.filterAgent || '', + ].join('|'); + + if (this._nonStatusViewCache && this._nonStatusViewKey === key) { + return this._nonStatusViewCache; + } + + var operations = this._applyNonStatusFilters(this.operations); + var tabCounts = { + all: operations.length, + active: 0, + draft: 0, + error: 0, + inactive: 0, + }; + + operations.forEach(function(operation) { + if (Object.prototype.hasOwnProperty.call(tabCounts, operation.status)) { + tabCounts[operation.status] += 1; + } + }); + + this._nonStatusViewKey = key; + this._nonStatusViewCache = { + operations: operations, + tabCounts: tabCounts, + }; + return this._nonStatusViewCache; + }, + + get filtered() { + var nonStatusView = this._nonStatusView(); + var key = [ + this._nonStatusViewKey, + this.tab, + this.sort, + ].join('|'); + + if (this._filteredCache && this._filteredKey === key) { + return this._filteredCache; + } + + var operations = nonStatusView.operations; + + if (this.tab !== 'all') { + operations = operations.filter(function(operation) { + return operation.status === this.tab; + }, this); + } + + operations = operations.slice().sort(function(left, right) { + if (this.sort === 'created_desc') return new Date(right.created_at) - new Date(left.created_at); + if (this.sort === 'created_asc') return new Date(left.created_at) - new Date(right.created_at); + if (this.sort === 'name_asc') return left.name.localeCompare(right.name); + if (this.sort === 'name_desc') return right.name.localeCompare(left.name); + return 0; + }.bind(this)); + + this._filteredKey = key; + this._filteredCache = operations; + return this._filteredCache; + }, + + get totalFiltered() { + return this.filtered.length; + }, + + get totalPages() { + return Math.max(1, Math.ceil(this.totalFiltered / this.pageSize)); + }, + + get paginated() { + var start = (this.page - 1) * this.pageSize; + return this.filtered.slice(start, start + this.pageSize); + }, + + get pageStart() { + return this.totalFiltered === 0 ? 0 : (this.page - 1) * this.pageSize + 1; + }, + + get pageEnd() { + return Math.min(this.page * this.pageSize, this.totalFiltered); + }, + + tabCount(tab) { + var tabCounts = this._nonStatusView().tabCounts; + return Object.prototype.hasOwnProperty.call(tabCounts, tab) ? tabCounts[tab] : 0; + }, + + get activeChips() { + var chips = []; + if (this.filterProtocol) chips.push({ key: 'protocol', label: this.tfKey('ops.filter.protocol', { value: this.filterProtocol.toUpperCase() }) }); + if (this.filterCategory) chips.push({ key: 'category', label: this.tfKey('ops.filter.category', { value: this.filterCategory }) }); + if (this.filterAgent) { + var agent = this.activeAgents.find(function(item) { return item.agent_id === this.filterAgent; }, this); + chips.push({ key: 'agent', label: this.tfKey('ops.filter.agent', { value: agent ? agent.display_name : '' }) }); + } + return chips; + }, + + get hasActiveFilters() { + return !!(this.filterProtocol || this.filterCategory || this.filterAgent || this.search.trim()); + }, + + clearChip(key) { + if (key === 'protocol') this.filterProtocol = null; + if (key === 'category') this.filterCategory = null; + if (key === 'agent') this.filterAgent = null; + this.page = 1; + }, + + clearAllFilters() { + this.filterProtocol = null; + this.filterCategory = null; + this.filterAgent = null; + this.search = ''; + this.tab = 'all'; + this.page = 1; + }, + + get agentsByOpId() { + if (this._agentsByOpIdCache && this._agentsByOpIdCacheVersion === this._opsVersion) { + return this._agentsByOpIdCache; + } + var map = {}; + this.operations.forEach(function(operation) { + map[operation.id] = operation.agent_refs || []; + }); + this._agentsByOpIdCacheVersion = this._opsVersion; + this._agentsByOpIdCache = map; + return this._agentsByOpIdCache; + }, + + get activeAgents() { + if (this._activeAgentsCache && this._activeAgentsCacheVersion === this._opsVersion) { + return this._activeAgentsCache; + } + var seen = {}; + var agents = []; + this.operations.forEach(function(operation) { + (operation.agent_refs || []).forEach(function(agent) { + if (!seen[agent.agent_id]) { + seen[agent.agent_id] = true; + agents.push(agent); + } + }); + }); + this._activeAgentsCacheVersion = this._opsVersion; + this._activeAgentsCache = agents.sort(function(left, right) { + return left.display_name.localeCompare(right.display_name); + }); + return this._activeAgentsCache; + }, + + get sortLabel() { + return getSortOptions().find(function(option) { return option.value === this.sort; }, this)?.label || 'Sort'; + }, + + setTab(tab) { + this.tab = tab; + this.page = 1; + }, + + setSearch(value) { + this.search = value; + this.page = 1; + }, + + setProtocol(value) { + this.filterProtocol = this.filterProtocol === value ? null : value; + this.openDropdown = null; + this.page = 1; + }, + + setCategory(value) { + this.filterCategory = this.filterCategory === value ? null : value; + this.openDropdown = null; + this.page = 1; + }, + + setSort(value) { + this.sort = value; + this.openDropdown = null; + }, + + setAgent(value) { + this.filterAgent = this.filterAgent === value ? null : value; + this.openDropdown = null; + this.page = 1; + }, + + clearProtocol() { + this.filterProtocol = null; + this.openDropdown = null; + this.page = 1; + }, + + clearCategory() { + this.filterCategory = null; + this.openDropdown = null; + this.page = 1; + }, + + clearAgent() { + this.filterAgent = null; + this.openDropdown = null; + this.page = 1; + }, + + toggleDropdown(name) { + this.openDropdown = this.openDropdown === name ? null : name; + }, + + goPage(page) { + if (page >= 1 && page <= this.totalPages) this.page = page; + }, + + editOperation(operation) { + window.location.href = ((window.CrankRoutes && window.CrankRoutes.wizard) || '/wizard/') + + '?mode=edit&operationId=' + encodeURIComponent(operation.id); + }, + + async deleteOperation(id) { + if (!confirm(this.tKey('ops.delete.confirm'))) return; + try { + var operation = this.operations.find(function(item) { return item.id === id; }); + await window.CrankApi.deleteOperation(this.workspaceId, id); + this.replaceOperations(this.operations.filter(function(operation) { return operation.id !== id; })); + this.categoryOptions = Array.from(new Set(this.operations.map(function(operation) { + return operation.category; + }).filter(Boolean))).sort(); + this.stats = computeStats(this.operations); + if (window.CrankUi) { + window.CrankUi.success( + this.tfKey('ops.delete.success.message', { + name: operation ? (operation.display_name || operation.name) : '' + }), + this.tKey('ops.delete.success.title') + ); + } + } catch (error) { + if (window.CrankUi) { + window.CrankUi.error( + error.message || this.tKey('ops.delete.error.message'), + this.tKey('ops.delete.error.title') + ); + } + } + }, + + protocolLabel(operation) { + return operation.method ? ('REST · ' + operation.method) : 'REST'; + }, + + protocolClass(operation) { + return 'badge badge-' + operation.protocol; + }, + + statusClass(operation) { + return 'status-badge status-' + operation.status; + }, + + statusLabel(operation) { + if (operation.status === 'active') return this.tKey('tab.active'); + if (operation.status === 'inactive') return this.tKey('tab.inactive'); + if (operation.status === 'error') return this.tKey('tab.error'); + return this.tKey('tab.draft'); + }, + + formatDate(dateStr) { + if (!dateStr) return '—'; + return new Date(dateStr).toLocaleDateString(currentLocale(), { month: 'short', day: 'numeric', year: 'numeric' }); + }, + + truncateUrl(url) { + if (!url) return '—'; + return url.length > 42 ? url.slice(0, 42) + '…' : url; + }, + + formatMetricNumber(value) { + return new Intl.NumberFormat(currentLocale()).format(value || 0); + }, + + tKey(key) { + return window.t ? t(key) : key; + }, + + tfKey(key, vars) { + return window.tf ? tf(key, vars) : this.tKey(key); + }, + + get sortOptions() { + return getSortOptions(); + }, + + get tabDefs() { + return getTabDefs(); + }, + + handleNewOperation() { + window.location.href = (window.CrankRoutes && window.CrankRoutes.wizard) || '/wizard/'; + }, + + handleLogout() { + window.CrankAuth.logout(); + }, + }; + }); +}); diff --git a/apps/ui/js/config.js b/apps/ui/js/config.js new file mode 100644 index 0000000..4f6bf5a --- /dev/null +++ b/apps/ui/js/config.js @@ -0,0 +1,16 @@ +(function() { + window.APP_BASE = '/'; + window.DATA_URL = '/data/'; + window.CrankRoutes = { + home: '/', + login: '/login', + agents: '/agents', + apiKeys: '/api-keys', + secrets: '/secrets', + logs: '/logs', + usage: '/usage', + settings: '/settings', + workspaceSetup: '/workspace-setup', + wizard: '/wizard/' + }; +}()); diff --git a/apps/ui/js/diagnostics.js b/apps/ui/js/diagnostics.js new file mode 100644 index 0000000..e9833a5 --- /dev/null +++ b/apps/ui/js/diagnostics.js @@ -0,0 +1,111 @@ +(function() { + var currentPage = ''; + + function messageFor(error) { + if (!error) { + return 'unknown error'; + } + if (error.message) { + return error.message; + } + return String(error); + } + + function setPage(pageName) { + currentPage = pageName || ''; + document.documentElement.setAttribute('data-crank-page', currentPage || 'unknown'); + } + + function markBootstrapState(pageName, status, details) { + document.documentElement.setAttribute('data-crank-bootstrap-page', pageName || currentPage || 'unknown'); + document.documentElement.setAttribute('data-crank-bootstrap-state', status); + if (status === 'error' && details) { + document.documentElement.setAttribute('data-crank-bootstrap-error', details); + return; + } + document.documentElement.removeAttribute('data-crank-bootstrap-error'); + } + + function report(stage, error, pageName) { + var resolvedPage = pageName || currentPage || 'unknown'; + console.error('[CrankUI][' + resolvedPage + '][' + stage + ']', error); + window.dispatchEvent(new CustomEvent('crank:ui-error', { + detail: { + page: resolvedPage, + stage: stage, + message: messageFor(error), + }, + })); + } + + function bootstrap(pageName, init) { + function run() { + setPage(pageName); + markBootstrapState(pageName, 'pending'); + try { + var result = init(); + if (result && typeof result.then === 'function') { + result.then(function() { + markBootstrapState(pageName, 'ready'); + }).catch(function(error) { + markBootstrapState(pageName, 'error', messageFor(error)); + report('bootstrap', error, pageName); + }); + return; + } + markBootstrapState(pageName, 'ready'); + } catch (error) { + markBootstrapState(pageName, 'error', messageFor(error)); + report('bootstrap', error, pageName); + } + } + + if (document.readyState === 'loading') { + document.addEventListener('DOMContentLoaded', run, { once: true }); + return; + } + run(); + } + + function ensureTestId(element, value) { + if (!element || !value) { + return; + } + element.setAttribute('data-testid', value); + } + + function ensureShellTestIds() { + document.querySelectorAll('.nav-avatar').forEach(function(element) { + ensureTestId(element, 'shell-avatar'); + }); + document.querySelectorAll('.user-dropdown-name').forEach(function(element) { + ensureTestId(element, 'shell-user-name'); + }); + document.querySelectorAll('.user-dropdown-role').forEach(function(element) { + ensureTestId(element, 'shell-user-role'); + }); + ensureTestId(document.getElementById('ws-current-name'), 'shell-workspace-name'); + } + + window.addEventListener('error', function(event) { + if (!currentPage) { + return; + } + report('runtime', event.error || new Error(event.message || 'window error')); + }); + + window.addEventListener('unhandledrejection', function(event) { + if (!currentPage) { + return; + } + report('unhandledrejection', event.reason || new Error('unhandled rejection')); + }); + + window.CrankDiagnostics = { + bootstrap: bootstrap, + ensureTestId: ensureTestId, + ensureShellTestIds: ensureShellTestIds, + report: report, + setPage: setPage, + }; +}()); diff --git a/apps/ui/js/dom.js b/apps/ui/js/dom.js new file mode 100644 index 0000000..6bb4e95 --- /dev/null +++ b/apps/ui/js/dom.js @@ -0,0 +1,32 @@ +(function() { + function clear(element) { + if (!element) { + return; + } + while (element.firstChild) { + element.removeChild(element.firstChild); + } + } + + function createEmptyState(title, body) { + var root = document.createElement('div'); + root.className = 'empty-state'; + + var titleNode = document.createElement('div'); + titleNode.className = 'empty-state-title'; + titleNode.textContent = title; + root.appendChild(titleNode); + + var bodyNode = document.createElement('div'); + bodyNode.className = 'empty-state-text'; + bodyNode.textContent = body; + root.appendChild(bodyNode); + + return root; + } + + window.CrankDom = { + clear: clear, + createEmptyState: createEmptyState, + }; +}()); diff --git a/apps/ui/js/i18n.js b/apps/ui/js/i18n.js new file mode 100644 index 0000000..b4781ff --- /dev/null +++ b/apps/ui/js/i18n.js @@ -0,0 +1,2099 @@ +/* ═══════════════════════════════════════════════ + Crank — i18n + Reads `crank_lang` from localStorage ('en'|'ru') + ═══════════════════════════════════════════════ */ + +var TRANSLATIONS = { + en: { + // Nav + 'nav.operations': 'Operations', + 'nav.agents': 'Agents', + 'nav.apikeys': 'API Keys', + 'nav.secrets': 'Secrets', + 'nav.logs': 'Logs', + 'nav.usage': 'Usage', + 'nav.settings': 'Settings', + 'nav.logout': 'Log out', + 'nav.workspaces': 'Your workspaces', + 'nav.create_workspace': 'Create workspace', + 'nav.notifications': 'Notifications', + 'nav.menu': 'Menu', + 'nav.account': 'Account', + 'nav.user_fallback': 'Crank', + 'nav.workspace_fallback': 'workspace', + + // Operations page + 'ops.title': 'Operations', + 'ops.subtitle': 'Tool contracts that expose your upstream APIs as MCP tools', + 'ops.new': 'New operation', + 'ops.loading': 'Loading operations…', + 'ops.empty.title': 'No operations found', + 'ops.empty.sub': 'Try adjusting your search or filters.', + 'ops.empty.initial.title': 'No operations yet', + 'ops.empty.initial.sub': 'Create the first operation in this workspace to expose a live MCP tool.', + 'ops.error.title': 'Backend connection failed', + 'ops.delete.confirm': 'Delete this operation? This cannot be undone.', + 'ops.delete.success.title': 'Operation deleted', + 'ops.delete.success.message': '{name} was deleted.', + 'ops.delete.error.title': 'Delete failed', + 'ops.delete.error.message': 'Failed to delete operation', + 'ops.action.edit': 'Edit operation', + 'ops.action.delete':'Delete operation', + 'ops.stats.synced': 'Catalog synced with backend', + 'ops.stats.none': 'No operations yet', + 'ops.stats.share': '{value}% of total', + 'ops.stats.no_published': 'No published tools yet', + 'ops.stats.requests_rollup': 'Summed from operation usage', + 'ops.stats.no_traffic': 'No traffic recorded today', + 'ops.stats.latency_weighted': "Weighted by today's calls", + 'ops.stats.latency_waiting': 'Waiting for runtime samples', + 'ops.results': 'Showing {shown} of {total}', + 'ops.range': 'Showing {from}–{to} of {total} operations', + 'ops.filter.protocol': 'Protocol: {value}', + 'ops.filter.category': 'Category: {value}', + 'ops.filter.agent': 'Agent: {value}', + 'ops.no_active_agents': 'No active agents', + + // Stats + 'stats.total': 'Total operations', + 'stats.active': 'Active', + 'stats.requests': 'Requests today', + 'stats.latency': 'Avg. latency', + + // Tabs + 'tab.all': 'All', + 'tab.active': 'Active', + 'tab.draft': 'Draft', + 'tab.error': 'Error', + 'tab.inactive': 'Inactive', + + // Filters & sort + 'filter.search': 'Search operations...', + 'filter.protocol': 'Protocol', + 'filter.status': 'Status', + 'filter.category': 'Category', + 'filter.agent': 'Agent', + 'filter.showing': 'Showing', + 'filter.of': 'of', + 'filter.clear': 'Clear filter', + 'filter.clear_all': 'Clear all', + 'filter.remove': 'Remove filter', + 'sort.created_desc':'Sort: Last created', + 'sort.created_asc': 'Sort: Oldest first', + 'sort.name_asc': 'Sort: Name A–Z', + 'sort.name_desc': 'Sort: Name Z–A', + + // Table headers + 'th.name': 'NAME', + 'th.protocol': 'PROTOCOL', + 'th.status': 'STATUS', + 'th.created': 'CREATED', + 'th.url': 'TARGET URL', + + // Pagination + 'page.showing': 'Showing', + 'page.of': 'of', + 'page.ops': 'operations', + + // API Keys page + 'apikeys.title': 'Agent Keys', + 'apikeys.subtitle': 'Keys authenticate external MCP clients against a specific AI agent endpoint.', + 'apikeys.new': 'Create key', + 'apikeys.agent.title': 'Agent access', + 'apikeys.agent.subtitle': 'Select the AI agent whose MCP endpoint should accept this key.', + 'apikeys.agent.label': 'AI agent', + 'apikeys.agent.empty': 'No agents available', + 'apikeys.agent.empty_hint': 'Create an AI agent first, then issue machine access keys for its MCP endpoint.', + 'apikeys.agent.endpoint': 'MCP endpoint: {endpoint}', + 'apikeys.agent.endpoint_missing': 'The selected agent does not have a published MCP endpoint yet.', + 'apikeys.machine_access.title': 'Machine access modes', + 'apikeys.machine_access.title_community': 'Community machine access', + 'apikeys.machine_access.subtitle': 'This build exposes the stable machine-access contract and shows which modes are available now.', + 'apikeys.machine_access.subtitle_community': 'Community exposes the stable MCP machine-access contract, but only static AI-agent keys are active in this build.', + 'apikeys.machine_access.summary_default': 'Community currently supports static AI-agent keys.', + 'apikeys.machine_access.summary': 'This build supports {access_modes} for operations marked with {security_levels}. Short-lived and one-time token issuance keeps the same public HTTP surface when a commercial edition is enabled.', + 'apikeys.machine_access.note': 'Short-lived and one-time token issuance uses the same public HTTP surface, but requires a commercial edition.', + 'apikeys.machine_access.note_community': 'Use static AI-agent keys in Community. Short-lived tokens and one-time tokens require a commercial edition.', + 'apikeys.th.name': 'NAME', + 'apikeys.th.scope': 'SCOPE', + 'apikeys.th.created':'CREATED', + 'apikeys.th.last': 'LAST USED', + 'apikeys.callout.title': 'Keys are only shown once.', + 'apikeys.callout.body': 'Copy and store it securely right after creation — Crank stores only a hash. Last used updates after a successful MCP call.', + 'apikeys.active.title': 'Active keys', + 'apikeys.active.subtitle': '{active} active · {revoked} revoked', + 'apikeys.search': 'Filter keys…', + 'apikeys.th.prefix': 'KEY PREFIX', + 'apikeys.th.scopes': 'SCOPES', + 'apikeys.th.status': 'STATUS', + 'apikeys.scope_ref': 'Scope reference', + 'apikeys.scope.read': 'Initialize MCP sessions, ping the server, and list tools for the selected AI agent.', + 'apikeys.scope.write': 'Execute `tools/call` requests against published agent toolsets.', + 'apikeys.scope.deploy': 'Reserved for deploy-scoped automation. Today it also permits MCP read/write flows.', + 'apikeys.modal.title': 'Create agent key', + 'apikeys.modal.name': 'Key name', + 'apikeys.modal.name_hint': 'A descriptive label to identify the key. Only visible to admins.', + 'apikeys.modal.name_placeholder': 'e.g. Production, CI pipeline', + 'apikeys.modal.scopes': 'Scopes', + 'apikeys.modal.reveal_title': 'Copy this key now.', + 'apikeys.modal.reveal_body': "It won't be shown again.", + 'apikeys.modal.copy': 'Copy to clipboard', + 'apikeys.modal.cancel': 'Cancel', + 'apikeys.modal.create': 'Create key', + 'apikeys.modal.done': "Done — I've copied the key", + 'apikeys.status.active': 'Active', + 'apikeys.status.revoked': 'Revoked', + 'apikeys.last_used.never': 'Never', + 'apikeys.empty.none': 'No API keys yet', + 'apikeys.empty.search': 'No keys match your search', + 'apikeys.loading': 'Loading…', + 'apikeys.error.api': 'Workspace or API is unavailable', + 'apikeys.error.load': 'Failed to load API keys', + 'apikeys.confirm.revoke': 'Revoke this key? All requests using it will fail immediately.', + 'apikeys.confirm.delete': 'Delete this key? This cannot be undone.', + 'apikeys.toast.revoke_title': 'Key revoked', + 'apikeys.toast.revoke_message': '{name} was revoked.', + 'apikeys.toast.revoke_error_title': 'Revoke failed', + 'apikeys.toast.revoke_error_message': 'Failed to revoke key', + 'apikeys.toast.delete_title': 'Key deleted', + 'apikeys.toast.delete_message': '{name} was deleted.', + 'apikeys.toast.delete_error_title': 'Delete failed', + 'apikeys.toast.delete_error_message': 'Failed to delete key', + 'apikeys.toast.scope_missing_title': 'Missing scope', + 'apikeys.toast.scope_missing_message': 'Select at least one scope before creating a key.', + 'apikeys.toast.create_title': 'Agent key created', + 'apikeys.toast.create_message': 'Copy the key now. It will not be shown again.', + 'apikeys.toast.create_error_title': 'Key creation failed', + 'apikeys.toast.create_error_message': 'Failed to create key', + 'apikeys.toast.copy_title': 'Agent key copied', + 'apikeys.toast.copy_message': 'Store the raw key securely. It cannot be revealed again.', + 'apikeys.toast.prefix_title': 'Key prefix copied', + 'apikeys.action.copy_prefix': 'Copy key prefix', + 'apikeys.action.revoke': 'Revoke key', + 'apikeys.action.delete': 'Delete', + 'apikeys.creating': 'Creating…', + + // Secrets page + 'secrets.title': 'Secrets', + 'secrets.subtitle': 'Encrypted upstream credentials for bearer tokens, basic auth, and API keys used by auth profiles.', + 'secrets.new': 'Create secret', + 'secrets.callout.title': 'Secret plaintext is write-only.', + 'secrets.callout.body': 'Crank encrypts secret values with the workspace master key. After creation or rotation, the API returns only metadata, so this page focuses on secret management and where each secret is used.', + 'secrets.active.title': 'Workspace secrets', + 'secrets.active.subtitle': '{active} active · {total} total', + 'secrets.search': 'Filter secrets…', + 'secrets.th.name': 'NAME', + 'secrets.th.kind': 'KIND', + 'secrets.th.version': 'VERSION', + 'secrets.th.last_used': 'LAST USED', + 'secrets.th.used_by': 'USED BY', + 'secrets.th.status': 'STATUS', + 'secrets.kind.token': 'Token', + 'secrets.kind.username_password': 'Username/password', + 'secrets.kind.header': 'Header value', + 'secrets.kind.generic': 'Generic JSON', + 'secrets.status.active': 'Active', + 'secrets.status.disabled': 'Disabled', + 'secrets.last_used.never': 'Never', + 'secrets.used_by_count.one': '{count} profile', + 'secrets.used_by_count.other': '{count} profiles', + 'secrets.loading': 'Loading…', + 'secrets.empty.none': 'No secrets yet', + 'secrets.empty.search': 'No secrets match your search', + 'secrets.error.workspace': 'Workspace is not selected', + 'secrets.error.load': 'Failed to load secrets', + 'secrets.action.rotate': 'Rotate', + 'secrets.action.delete': 'Delete', + 'secrets.confirm.delete': 'Delete secret {name}? This cannot be undone while the secret is still referenced by an auth profile.', + 'secrets.toast.create_title': 'Secret created', + 'secrets.toast.create_message': 'The secret was stored encrypted. Plaintext cannot be viewed again through the API.', + 'secrets.toast.create_error_title': 'Secret creation failed', + 'secrets.toast.create_error_message': 'Failed to create secret', + 'secrets.toast.rotate_title': 'Secret rotated', + 'secrets.toast.rotate_message': 'A new secret version is now active.', + 'secrets.toast.rotate_error_title': 'Secret rotation failed', + 'secrets.toast.rotate_error_message': 'Failed to rotate secret', + 'secrets.toast.delete_title': 'Secret deleted', + 'secrets.toast.delete_message': '{name} was deleted.', + 'secrets.toast.delete_error_title': 'Secret deletion failed', + 'secrets.toast.delete_error_message': 'Failed to delete secret', + 'secrets.modal.create_title': 'Create secret', + 'secrets.modal.rotate_title': 'Rotate secret', + 'secrets.modal.name': 'Secret name', + 'secrets.modal.name_hint': 'Use a stable operator-facing label. Plaintext values are never returned after storage.', + 'secrets.modal.kind': 'Secret kind', + 'secrets.modal.value': 'Secret value', + 'secrets.modal.header_value': 'Header value', + 'secrets.modal.username': 'Username', + 'secrets.modal.password': 'Password', + 'secrets.modal.json_payload': 'JSON payload', + 'secrets.modal.json_hint': 'Useful for generic secret payloads. The value must be valid JSON.', + 'secrets.modal.create_note': 'Creation stores encrypted plaintext and returns metadata only.', + 'secrets.modal.rotate_note': 'Rotation creates a new encrypted version and keeps the same secret id.', + 'secrets.modal.cancel': 'Cancel', + 'secrets.modal.create_action': 'Create secret', + 'secrets.modal.rotate_action': 'Rotate secret', + 'secrets.modal.creating': 'Creating…', + 'secrets.modal.rotating': 'Rotating…', + 'secrets.hint.token': 'Best for bearer tokens and simple API key values.', + 'secrets.hint.username_password': 'Stores username and password as one encrypted payload.', + 'secrets.hint.header': 'Stores a raw header value. Header name is configured in the auth profile.', + 'secrets.hint.generic': 'Stores arbitrary JSON for custom integrations that need a structured secret payload.', + 'secrets.validation.name_required': 'Secret name is required.', + 'secrets.validation.value_required': 'Secret value is required.', + 'secrets.validation.username_password_required': 'Username and password are both required.', + 'secrets.validation.json_invalid': 'Generic secret payload must be valid JSON.', + 'secrets.profiles.title': 'Auth profile references', + 'secrets.profiles.subtitle': 'Profiles resolve secrets at runtime before upstream execution.', + 'secrets.profiles.subtitle_count.one': '{count} auth profile', + 'secrets.profiles.subtitle_count.other': '{count} auth profiles', + 'secrets.profiles.error_title': 'Unable to load auth profile references', + 'secrets.profiles.loading_title': 'Loading auth profile references…', + 'secrets.profiles.loading_body': 'Fetching auth profiles for the current workspace.', + 'secrets.profiles.empty_title': 'No auth profiles yet', + 'secrets.profiles.empty_body': 'Create auth profiles in the Wizard when configuring an operation.', + 'secrets.profiles.references': 'Referenced secrets', + 'secrets.profiles.reference_count': '{count} refs', + 'secrets.profiles.meta.created': 'Created', + 'secrets.profiles.meta.updated': 'Updated', + 'secrets.profiles.summary_bearer': 'Bearer auth via {header} using {secret}.', + 'secrets.profiles.summary_basic': 'Basic auth using {username} and {password}.', + 'secrets.profiles.summary_api_key_header': 'API key header {header} using {secret}.', + 'secrets.profiles.summary_api_key_query': 'API key query param {param} using {secret}.', + 'secrets.profiles.summary_unknown': 'Unknown auth profile configuration.', + 'secrets.auth_kind.bearer': 'Bearer auth', + 'secrets.auth_kind.basic': 'Basic auth', + 'secrets.auth_kind.api_key_header': 'API key header', + 'secrets.auth_kind.api_key_query': 'API key query', + + // Logs page + 'logs.title': 'Logs', + 'logs.subtitle': 'Real-time invocation log for all operations in this workspace.', + 'logs.search': 'Search logs...', + 'logs.level.all': 'All', + 'logs.level.info': 'Info', + 'logs.level.warn': 'Warn', + 'logs.level.error': 'Error', + 'logs.level.debug': 'Debug', + 'logs.live': 'Live', + 'logs.paused': 'Paused', + 'logs.refresh': 'Refresh', + 'logs.range.30m': 'Last 30 min', + 'logs.range.1h': 'Last hour', + 'logs.range.6h': 'Last 6 hours', + 'logs.range.24h': 'Last 24 hours', + 'logs.range.7d': 'Last 7 days', + 'logs.search_messages': 'Search messages…', + 'logs.detail.agent': 'Agent', + 'logs.detail.request': 'Request preview', + 'logs.detail.response': 'Response preview', + 'logs.detail.meta': 'Metadata', + 'logs.loading.title': 'Loading logs…', + 'logs.loading.sub': 'Fetching invocation history for the current workspace.', + 'logs.error.title': 'Unable to load logs', + 'logs.error.api': 'Admin API is not available', + 'logs.error.workspace': 'Workspace is not selected', + 'logs.error.load': 'Failed to load logs', + 'logs.empty.title': 'No log entries found', + 'logs.empty.filtered': 'Try widening the period or clearing the current search and level filters.', + 'logs.empty.initial': 'Run tests or published MCP tools to start collecting invocation history.', + 'logs.live.on.title': 'Live mode enabled', + 'logs.live.on.body': 'Polling logs every 4 seconds.', + 'logs.live.off.title': 'Live mode paused', + 'logs.live.off.body': 'Automatic polling is paused.', + 'logs.refresh.title': 'Logs refreshed', + 'logs.refresh.body': 'The latest invocation records were loaded for the current workspace.', + + // Usage page + 'usage.title': 'Usage', + 'usage.subtitle': 'Invocation metrics for all operations in your workspace.', + 'usage.export': 'Export CSV', + 'usage.period.7d': 'Last 7 days', + 'usage.period.30d': 'Last 30 days', + 'usage.period.90d': 'Last 90 days', + 'usage.period.this_month': 'This month', + 'usage.period.label.7d': 'last 7 days', + 'usage.period.label.30d': 'last 30 days', + 'usage.period.label.90d': 'last 90 days', + 'usage.period.label.this_month': 'this month', + 'usage.stats.total': 'Total invocations', + 'usage.stats.success': 'Success rate', + 'usage.stats.p50': 'Median latency (p50)', + 'usage.stats.p99': 'p99 latency', + 'usage.stats.across': 'Across {period}', + 'usage.stats.success_calls': '{count} successful calls', + 'usage.stats.median': 'Median latency for selected period', + 'usage.stats.error_calls': '{count} error calls', + 'usage.chart.title': 'Invocations over time', + 'usage.chart.success': 'Success', + 'usage.chart.error': 'Error', + 'usage.chart.empty.title': 'No usage data yet', + 'usage.chart.empty.sub': 'Invocation metrics will appear here after tests or published tool calls in the selected period.', + 'usage.table.title': 'By operation', + 'usage.table.subtitle': 'Breakdown for {period}', + 'usage.table.th.operation': 'Operation', + 'usage.table.th.protocol': 'Protocol', + 'usage.table.th.calls': 'Calls', + 'usage.table.th.errors': 'Errors', + 'usage.table.th.error_rate': 'Error rate', + 'usage.table.th.latency': 'Latency (p50 / p95 / p99)', + 'usage.table.th.share': 'Traffic share', + 'usage.table.empty.title': 'No operation breakdown yet', + 'usage.table.empty.sub': 'The selected period has no invocation samples to break down by operation.', + 'usage.table.share': '{value}% of workspace traffic', + 'usage.loading.title': 'Loading usage…', + 'usage.loading.sub': 'Aggregating invocation metrics for the selected workspace.', + 'usage.error.title': 'Unable to load usage', + 'usage.error.api': 'Admin API is not available', + 'usage.error.workspace': 'Workspace is not selected', + 'usage.error.load': 'Failed to load usage', + 'usage.export.empty.title': 'No usage data loaded', + 'usage.export.empty.body': 'Load usage data before exporting the CSV snapshot.', + 'usage.export.done.title': 'Usage exported', + 'usage.export.done.body': 'The current usage snapshot was exported as CSV.', + 'usage.chart.ok': '{count} ok', + 'usage.chart.errors': '{count} errors', + 'usage.chart.week': 'Wk {index}', + 'usage.csv.header': 'Operation,Protocol,Calls,Errors,Error Rate (%),p50 (ms),p95 (ms),p99 (ms)', + + // Settings sidebar + 'settings.title': 'Settings', + 'settings.nav.workspace': 'Workspace', + 'settings.nav.profile': 'Profile', + 'settings.nav.members': 'Members', + 'settings.nav.security': 'Security', + 'settings.nav.notif': 'Notifications', + 'settings.nav.danger': 'Danger zone', + + // Settings — workspace section + 'settings.ws.title': 'Workspace settings', + 'settings.ws.subtitle': 'General information about your workspace', + 'settings.ws.name': 'Workspace name', + 'settings.ws.display': 'Display name', + 'settings.ws.desc': 'Description', + 'settings.ws.tz': 'Timezone', + 'settings.ws.protocol': 'Default protocol', + + // Settings — language + 'settings.lang.title': 'Language', + 'settings.lang.subtitle': 'Interface display language', + 'settings.lang.en': 'English', + 'settings.lang.ru': 'Русский', + + // Settings — profile section + 'settings.profile.title': 'Profile', + 'settings.profile.name': 'Full name', + 'settings.profile.email': 'Email', + 'settings.profile.role': 'Role', + 'settings.page.title': 'Account settings', + 'settings.page.subtitle': 'Manage your profile, password, workspace settings, and the capability limits of this build.', + 'settings.ws.slug_hint': 'Used in API endpoints and across the console. Only lowercase letters, numbers and hyphens.', + 'settings.ws.protocol_hint': 'This build limits the default protocol to the capabilities available in the current edition.', + 'settings.ws.protocol_hint_capabilities': 'This build allows {protocols} as workspace defaults. Additional protocols depend on the edition.', + 'settings.ws.description_optional': 'Description (optional)', + 'settings.ws.description_placeholder': 'What does this workspace do?', + 'settings.profile.avatar_hint': 'Your avatar is generated from your display name and email.', + 'settings.profile.backend_hint': 'Your name and email are stored on the backend and used across the console and session identity.', + 'settings.profile.first_name': 'First name', + 'settings.profile.last_name': 'Last name', + 'settings.profile.last_name_placeholder': 'Optional', + 'settings.profile.email_label': 'Email address', + 'settings.profile.email_hint': 'Changing email updates the login identity for the current account.', + 'settings.profile.save': 'Save profile', + 'settings.profile.saving': 'Saving…', + 'settings.profile.saved': 'Saved ✓', + 'settings.profile.saved_status': 'Profile saved.', + 'settings.profile.save_error': 'Failed to save profile', + 'settings.security.title': 'Security', + 'settings.security.current_password': 'Current password', + 'settings.security.new_password': 'New password', + 'settings.security.new_password_placeholder': 'min. 12 characters', + 'settings.security.confirm_password': 'Confirm new password', + 'settings.security.change_password': 'Change password', + 'settings.security.mismatch': 'New password and confirmation do not match.', + 'settings.security.saved': 'Password updated.', + 'settings.security.save_error': 'Failed to change password', + 'settings.security.capabilities_title': 'Build capability summary', + 'settings.security.capabilities_body': 'This section shows what the current build supports. Password sign-in with one HttpOnly browser session is available now; short-lived tokens, one-time tokens, and advanced governance depend on the edition.', + 'settings.security.not_available': 'Build capabilities', + 'settings.security.capability_title_community': 'Community build', + 'settings.security.capability_title_enterprise': 'Enterprise build', + 'settings.security.capability_title_cloud': 'Cloud build', + 'settings.security.capability_summary': 'This build supports {protocols}, {access_modes}, and {security_levels} operation security. Limits: {max_workspaces} workspace, {max_users} user, {max_agents} AI agent. Short-lived tokens, one-time tokens, and advanced governance require a commercial edition.', + 'settings.capability.rest': 'REST / HTTP', + 'settings.capability.graphql': 'GraphQL', + 'settings.capability.grpc': 'gRPC unary', + 'settings.capability.websocket': 'WebSocket', + 'settings.capability.soap': 'SOAP', + 'settings.capability.standard': 'standard', + 'settings.capability.elevated': 'elevated', + 'settings.capability.strict': 'strict', + 'settings.capability.static_agent_key': 'static agent keys', + 'settings.capability.short_lived_token': 'short-lived tokens', + 'settings.capability.one_time_token': 'one-time tokens', + 'settings.capability.unlimited': 'unlimited', + 'settings.capability.none': 'none', + 'settings.session.title': 'Current session', + 'settings.session.browser': 'Browser session', + 'settings.session.current': 'current', + 'settings.session.loading': 'Loading current session details…', + 'settings.session.unavailable': 'Session details are unavailable. Use Log out to revoke the current browser session.', + 'settings.session.current_workspace': 'current workspace', + 'settings.session.summary': '{email} · {role} in {workspace}. Use Log out to revoke the current browser session.', + 'settings.notifications.title': 'Notifications', + 'settings.notifications.not_ready_title': 'Not included in this build.', + 'settings.notifications.not_ready_body': 'Notification routing and per-user preferences are outside the current Community surface.', + 'settings.notifications.capability_title_community': 'Community build boundary', + 'settings.notifications.capability_body_community': 'Per-user notification routing and delivery channels are outside the current Community surface. Use logs and usage views for operational follow-up in this build.', + 'settings.notifications.capability_title_enterprise': 'Enterprise delivery controls', + 'settings.notifications.capability_body_enterprise': 'Notification routing depends on enterprise delivery controls and is wired separately from the Community console surface.', + 'settings.notifications.capability_title_cloud': 'Cloud delivery controls', + 'settings.notifications.capability_body_cloud': 'Notification routing depends on hosted delivery controls and is wired separately from the Community console surface.', + 'settings.planned_badge': 'Planned', + 'settings.notifications.spike_title': 'Operation error spike', + 'settings.notifications.spike_body': 'Alert when error rate exceeds a rolling threshold for a published tool.', + 'settings.notifications.latency_title': 'Upstream latency degradation', + 'settings.notifications.latency_body': 'Notify operators when p99 latency rises sharply above the baseline.', + 'settings.notifications.digest_title': 'Quota and usage digests', + 'settings.notifications.digest_body': 'Deliver periodic summaries for quota consumption, errors and workspace activity.', + 'settings.workspace.saving': 'Saving…', + 'settings.workspace.saved': 'Saved ✓', + 'settings.workspace.save_error': 'Failed to save workspace settings', + 'settings.workspace.save_error_title': 'Workspace save failed', + + // Workspace setup + 'workspace_setup.title': 'Workspace settings', + 'workspace_setup.page_subtitle': 'Configure your workspace identity, default settings, and team members.', + 'workspace_setup.back': 'Back', + 'workspace_setup.identity.title': 'Workspace identity', + 'workspace_setup.identity.avatar_hint': 'Avatar is derived from your workspace name.', + 'workspace_setup.name': 'Workspace name', + 'workspace_setup.slug': 'Slug', + 'workspace_setup.required': 'required', + 'workspace_setup.optional': '(optional)', + 'workspace_setup.slug_hint': 'Only lowercase letters, numbers, and hyphens. Used in MCP endpoint URLs.', + 'workspace_setup.description': 'Description', + 'workspace_setup.description_placeholder': 'What does this workspace do?', + 'workspace_setup.defaults.title': 'Default settings', + 'workspace_setup.protocol': 'Default protocol', + 'workspace_setup.protocol_hint': 'Pre-selected in the operation wizard.', + 'workspace_setup.timezone': 'Timezone', + 'workspace_setup.language': 'Interface language', + 'workspace_setup.members.title': 'Team members', + 'workspace_setup.members.invite': 'Invite member', + 'workspace_setup.members.email': 'Email address', + 'workspace_setup.members.role': 'Role', + 'workspace_setup.members.send_invite': 'Send invite', + 'workspace_setup.members.cancel': 'Cancel', + 'workspace_setup.members.invite_sent': '✓ Invite sent.', + 'workspace_setup.members.you': '(you)', + 'workspace_setup.members.today': 'Today', + 'workspace_setup.members.days_ago.one': '{count} day ago', + 'workspace_setup.members.days_ago.other': '{count} days ago', + 'workspace_setup.members.week_ago': '1 week ago', + 'workspace_setup.members.never': 'Never', + 'workspace_setup.members.pending': 'Pending invites', + 'workspace_setup.members.invited_pending': 'Invited {date} · pending', + 'workspace_setup.members.revoke': 'Revoke invite', + 'workspace_setup.members.remove': 'Remove member', + 'workspace_setup.roles.title': 'Roles & permissions', + 'workspace_setup.roles.owner_body': 'Full workspace control, billing access, can transfer or delete the workspace.', + 'workspace_setup.roles.admin_body': 'Manage members and roles, create and edit all operations and agents, manage API keys.', + 'workspace_setup.roles.developer_body': 'Create and edit operations and agents. Cannot manage members or workspace settings.', + 'workspace_setup.roles.viewer_body': 'Read-only access to operations, agents, and logs.', + 'workspace_setup.invite.title': 'Invite team members', + 'workspace_setup.invite.add_person': '+ Add person', + 'workspace_setup.invite.later': 'You can invite more people later from Workspace settings.', + 'workspace_setup.actions.create': 'Create workspace', + 'workspace_setup.actions.save': 'Save changes', + 'workspace_setup.create.title': 'Create a new workspace', + 'workspace_setup.create.subtitle': "A workspace is a shared environment for your team's MCP operations and agents. Each workspace gets its own MCP endpoint namespace.", + 'workspace_setup.create.footer': "You'll be the Owner of this workspace. You can invite additional members after creation.", + 'workspace_setup.danger.title': 'Danger zone', + 'workspace_setup.danger.export_title': 'Export all data', + 'workspace_setup.danger.export_body': 'Download a JSON snapshot of workspace settings, memberships, invitations, operations, agents and agent access keys.', + 'workspace_setup.danger.delete_title': 'Delete workspace', + 'workspace_setup.danger.delete_body': 'Permanently deletes all operations, keys, logs and settings. This action cannot be undone. You will be logged out immediately.', + 'workspace_setup.export': 'Export', + 'workspace_setup.delete': 'Delete workspace', + 'workspace_setup.role.owner': 'Owner', + 'workspace_setup.role.admin': 'Admin', + 'workspace_setup.role.operator': 'Developer', + 'workspace_setup.role.viewer': 'Viewer', + 'workspace_setup.member_count.one': '{count} member', + 'workspace_setup.member_count.other': '{count} members', + 'workspace_setup.saving_create': 'Creating…', + 'workspace_setup.saving_update': 'Saving…', + 'workspace_setup.saved': 'Saved ✓', + 'workspace_setup.save_error': 'Failed to save workspace', + 'workspace_setup.save_error_title': 'Save failed', + 'workspace_setup.invite_error': 'Failed to send invite', + 'workspace_setup.invite_error_title': 'Invite failed', + 'workspace_setup.role_error': 'Failed to update role', + 'workspace_setup.role_error_title': 'Role update failed', + 'workspace_setup.remove_confirm': 'Remove {name} from this workspace?', + 'workspace_setup.remove_error': 'Failed to remove member', + 'workspace_setup.remove_error_title': 'Member removal failed', + 'workspace_setup.revoke_error': 'Failed to revoke invite', + 'workspace_setup.revoke_error_title': 'Invite revoke failed', + 'workspace_setup.export_error': 'Failed to export workspace', + 'workspace_setup.export_error_title': 'Export failed', + 'workspace_setup.delete_confirm': 'Delete this workspace? This cannot be undone.', + 'workspace_setup.delete_error': 'Failed to delete workspace', + 'workspace_setup.delete_error_title': 'Delete failed', + 'workspace.switch_error': 'Failed to switch workspace', + 'workspace.switch_error_title': 'Workspace switch failed', + 'workspace_setup.custom_protocol.rest': 'REST', + 'workspace_setup.custom_protocol.graphql': 'GraphQL', + 'workspace_setup.custom_protocol.grpc': 'gRPC', + 'workspace_setup.custom_protocol.websocket': 'WebSocket', + 'workspace_setup.custom_protocol.soap': 'SOAP', + + // Wizard + 'wizard.back_catalog': 'Operations', + 'wizard.progress.create': 'Create operation', + 'wizard.progress.edit': 'Edit operation', + 'wizard.exit': 'Exit wizard', + 'wizard.step_of': 'Step {step} of {total}', + 'wizard.step_short': 'Step {step}', + 'wizard.status.completed': 'Completed', + 'wizard.status.in_progress': 'In progress', + 'wizard.status.not_started': 'Not started', + 'wizard.help.title': 'Need help?', + 'wizard.help.body': 'Unsure which protocol to choose? Read the', + 'wizard.help.link': 'protocol comparison guide →', + 'wizard.progress.section': 'Progress', + 'wizard.step_name.protocol': 'Protocol', + 'wizard.step_name.upstream': 'Upstream target', + 'wizard.step_name.tool': 'Tool config', + 'wizard.step_name.mapping': 'Mapping', + 'wizard.button.back': 'Back', + 'wizard.button.continue': 'Continue', + 'wizard.button.save_draft': 'Save draft', + 'wizard.button.create': 'Create operation', + 'wizard.button.save_changes': 'Save changes', + 'wizard.sidebar.brand.create': 'Create operation', + 'wizard.sidebar.brand.edit': 'Edit operation', + 'wizard.step1.title': 'Choose a protocol', + 'wizard.step1.subtitle': 'Select the transport protocol your upstream service uses. This determines how Crank will communicate with your API and which configuration options are available in subsequent steps.', + 'wizard.step1.rest_name': 'REST / HTTP', + 'wizard.step1.rest_tagline': 'Standard HTTP verbs over a RESTful endpoint. The most broadly supported option.', + 'wizard.step1.graphql_name': 'GraphQL', + 'wizard.step1.graphql_tagline': 'Query and mutate a GraphQL schema. Supports queries and mutations over one fixed operation.', + 'wizard.step1.grpc_name': 'gRPC', + 'wizard.step1.grpc_tagline': 'High-performance binary RPC over HTTP/2 for unary calls to low-latency internal services.', + 'wizard.step1.websocket_name': 'WebSocket', + 'wizard.step1.websocket_tagline': 'Stateful event streams and push-oriented integrations normalized into bounded MCP streaming tools.', + 'wizard.step1.soap_name': 'SOAP', + 'wizard.step1.soap_tagline': 'Enterprise WSDL/XSD service contracts normalized into MCP tools with structured XML mapping.', + 'wizard.step1.query': 'Query', + 'wizard.step1.mutation': 'Mutation', + 'wizard.step1.unary': 'Unary', + 'wizard.step1.tip_title': 'You can change this later', + 'wizard.step1.tip_body': 'Switching protocol after configuring subsequent steps will clear schema and mapping data. Save your operation as a draft before experimenting. See protocol migration guide for details.', + 'wizard.step1.community_protocol_title': 'Community protocol scope', + 'wizard.step1.community_protocol_note': 'This Community build hides {protocols}. Commercial editions unlock those protocol surfaces.', + 'wizard.step5.streaming_title': 'Streaming execution in Community', + 'wizard.step5.community_streaming_note': 'This Community build keeps operations in unary mode. Window, session and async job tool families require a commercial edition.', + 'wizard.step2.title': 'Select upstream & endpoint', + 'wizard.step2.subtitle': 'Choose an existing upstream or register a new one. Then define the specific endpoint path this operation will call.', + 'wizard.required': 'Required', + 'wizard.optional': 'Optional', + 'wizard.step2.upstream_title': 'Upstream', + 'wizard.step2.upstream_subtitle': 'Shared host, base URL, and authentication', + 'wizard.step2.upstream_placeholder': 'Select an upstream…', + 'wizard.step2.search_placeholder': 'Search by name or URL…', + 'wizard.step2.change': 'Change', + 'wizard.step2.auth_none': 'No auth', + 'wizard.step2.auth_bearer': 'Bearer token', + 'wizard.step2.auth_basic': 'Basic auth', + 'wizard.step2.auth_apikey': 'API key', + 'wizard.step2.register_new': 'Register new upstream', + 'wizard.step2.name': 'Name', + 'wizard.step2.base_url': 'Base URL', + 'wizard.step2.unique_hint': 'Unique identifier for this upstream.', + 'wizard.step2.base_url_hint': 'Root URL without a trailing slash. Auth is configured separately below.', + 'wizard.step2.auth_selector': 'Upstream auth', + 'wizard.step2.auth_selector_hint': 'Use secrets-backed auth profiles instead of embedding credential headers in the upstream definition.', + 'wizard.step2.auth_mode.none': 'No auth', + 'wizard.step2.auth_mode.existing': 'Use existing auth profile', + 'wizard.step2.auth_mode.create': 'Create auth profile now', + 'wizard.step2.auth_profile': 'Auth profile', + 'wizard.step2.auth_profile_hint': 'The selected auth profile is applied automatically when the tool runs.', + 'wizard.step2.auth_profile_empty': 'No auth profiles yet. Create one below or on the Secrets page.', + 'wizard.step2.create_profile_title': 'Create auth profile', + 'wizard.step2.create_profile_subtitle': 'Create a reusable profile backed by encrypted workspace secrets.', + 'wizard.step2.profile_name': 'Profile name', + 'wizard.step2.profile_kind': 'Auth kind', + 'wizard.step2.auth_kind.bearer': 'Bearer token', + 'wizard.step2.auth_kind.basic': 'Basic auth', + 'wizard.step2.auth_kind.api_key_header': 'API key header', + 'wizard.step2.auth_kind.api_key_query': 'API key query', + 'wizard.step2.header_name': 'Header name', + 'wizard.step2.query_param': 'Query param', + 'wizard.step2.username_secret': 'Username secret', + 'wizard.step2.password_secret': 'Password secret', + 'wizard.step2.secret_value': 'Secret', + 'wizard.step2.quick_secret': 'Quick create secret', + 'wizard.step2.manage_secrets': 'Open secrets page', + 'wizard.step2.static_headers': 'Static headers (optional)', + 'wizard.step2.static_headers_hint': 'Optional non-secret headers sent on every request to this upstream. Use auth profiles for credentials.', + 'wizard.step2.quick_secret_title': 'Quick create secret', + 'wizard.step2.quick_secret_name': 'Secret name', + 'wizard.step2.quick_secret_kind': 'Secret kind', + 'wizard.step2.quick_secret_value': 'Secret value', + 'wizard.step2.quick_secret_hint': 'The plaintext is encrypted immediately and will not be returned again.', + 'wizard.step2.quick_secret_submit': 'Create secret', + 'wizard.step2.save_upstream': 'Save upstream', + 'wizard.step2.endpoint_title': 'Endpoint', + 'wizard.step2.endpoint_subtitle': 'Path and HTTP method for this specific operation', + 'wizard.step2.path_template': 'Path template', + 'wizard.step2.path_hint': 'Appended to the upstream base URL. Use {param} for path variables.', + 'wizard.step3.rest.label': 'Request config', + 'wizard.step3.graphql.label': 'GQL operation', + 'wizard.step3.rest.title': 'HTTP method & format', + 'wizard.step3.rest.subtitle': 'Choose the HTTP verb this operation sends and configure content negotiation headers. Crank will serialize MCP tool arguments into the appropriate request body format.', + 'wizard.step3.rest.method_title': 'HTTP method', + 'wizard.step3.rest.method_subtitle': 'Verb sent to the upstream on every tool invocation', + 'wizard.step3.rest.read': 'Read', + 'wizard.step3.rest.create': 'Create', + 'wizard.step3.rest.replace': 'Replace', + 'wizard.step3.rest.update': 'Update', + 'wizard.step3.rest.remove': 'Remove', + 'wizard.step3.rest.format_title': 'Request format', + 'wizard.step3.rest.format_subtitle': 'Content negotiation and serialisation', + 'wizard.step3.rest.content_type': 'Content-Type', + 'wizard.step3.rest.content_type_hint': 'How the request body is encoded when sent to the upstream.', + 'wizard.step3.rest.accept': 'Accept', + 'wizard.step3.rest.accept_hint': 'Accepted response content types from the upstream server.', + 'wizard.step3.graphql.title': 'GraphQL operation', + 'wizard.step3.graphql.subtitle': 'Define the GraphQL operation this tool will execute. All requests are sent as HTTP POST to the endpoint configured in the previous step. Variables are populated from MCP tool arguments at runtime.', + 'wizard.step3.graphql.type_title': 'Operation type', + 'wizard.step3.graphql.type_subtitle': 'GraphQL operation kind — subscriptions are not supported', + 'wizard.step3.graphql.query_desc': 'Fetch data without side-effects', + 'wizard.step3.graphql.mutation_desc': 'Create, update or delete data', + 'wizard.step3.graphql.doc_title': 'Query document', + 'wizard.step3.graphql.doc_subtitle': 'GraphQL document with typed variable declarations', + 'wizard.step3.graphql.variables_title': 'Variables are mapped in step 5', + 'wizard.step3.graphql.variables_body': 'Declare all variables in the query document using the $variable: Type syntax. In step 5 you will map MCP input fields to these variables. Crank serializes the final {"query","variables"} payload automatically.', + 'wizard.step4.title': 'Tool config', + 'wizard.step4.subtitle': 'Name your tool, write the LLM-facing description, and define the input/output schemas. The description is the primary signal the model uses when deciding whether to call this tool.', + 'wizard.step4.identity_title': 'Tool identity', + 'wizard.step4.identity_subtitle': 'Machine-readable name and LLM-facing description', + 'wizard.step4.tool_name': 'Tool name', + 'wizard.step4.tool_name_hint': 'Machine-readable identifier used in MCP tool calls. Only lowercase letters, numbers and underscores. Cannot be changed after publishing.', + 'wizard.step4.display_name': 'Display name', + 'wizard.step4.display_name_hint': 'Human-readable name shown in the console and audit log.', + 'wizard.step4.tool_title': 'Tool title', + 'wizard.step4.tool_title_hint': 'Short imperative sentence shown in the MCP tool manifest.', + 'wizard.step4.description': 'Description', + 'wizard.step4.description_hint': 'LLM-facing description. Be precise — this is the primary signal the model uses to decide whether to invoke this tool.', + 'wizard.step4.description_title': 'Writing effective descriptions', + 'wizard.step4.description_body': 'Start with a verb ("Creates", "Fetches", "Updates"). Mention key input requirements. Describe what a successful response looks like. Avoid vague phrasing like "handles" or "manages". See description best practices →', + 'wizard.step4.input_schema_title': 'Input schema', + 'wizard.step4.input_schema_subtitle': 'Parameters the LLM passes when calling this tool', + 'wizard.step4.output_schema_title': 'Output schema', + 'wizard.step4.output_schema_subtitle': 'Shape of the data returned to the LLM after a successful call', + 'wizard.step4.schema_draft': 'JSON Schema draft-07', + 'wizard.step4.protocol_agnostic_title': 'Schemas are protocol-agnostic', + 'wizard.step4.protocol_agnostic_body': 'These schemas describe the MCP contract, not the upstream wire format. Field mapping in Step 5 translates between the two. You can upload a sample JSON response to auto-generate the output schema.', + 'wizard.step5.title': 'Mapping and execution', + 'wizard.step5.subtitle': 'Define how MCP tool arguments map to upstream request fields, and how the upstream response maps back to MCP output. Then set execution parameters — auth is configured per-upstream in step 2.', + 'wizard.step5.input_request': 'Input → Request', + 'wizard.step5.output_response': 'Response → Output', + 'wizard.step5.execution': 'Execution', + 'wizard.step5.exec_title': 'Execution config', + 'wizard.step5.exec_subtitle': 'Timeouts, retry policy and auth profile reference', + 'wizard.step5.security_level_title': 'Operation security in Community', + 'wizard.step5.community_security_note': 'Community supports only the standard operation security level with static AI-agent keys. Short-lived and one-time token flows require a commercial edition.', + 'wizard.step5.live_title': 'Live validation and publishing', + 'wizard.step5.draft_actions': 'Draft actions', + 'wizard.step5.live_save_title': 'Live actions save the draft first', + 'wizard.step5.live_save_body': 'Sample uploads, test runs, YAML actions and publish all persist the current draft before calling the backend.', + 'wizard.step5.samples_title': 'Samples and draft generation', + 'wizard.step5.samples_subtitle': 'Persist input/output samples, then generate schemas and mappings from real payloads.', + 'wizard.step5.input_sample': 'Input sample', + 'wizard.step5.output_sample': 'Output sample', + 'wizard.step5.save_input_sample': 'Save input sample', + 'wizard.step5.save_output_sample': 'Save output sample', + 'wizard.step5.generate_draft': 'Generate draft from samples', + 'wizard.step5.test_title': 'Test run', + 'wizard.step5.test_subtitle': 'Run the current draft against the upstream before publishing it.', + 'wizard.step5.test_input_payload': 'Test input payload', + 'wizard.step5.run_test': 'Run test', + 'wizard.step5.use_response_output': 'Use response as output sample', + 'wizard.step5.request_preview': 'Request preview', + 'wizard.step5.response_preview': 'Response preview', + 'wizard.step5.errors': 'Errors', + 'wizard.step5.choose_descriptor': 'Choose descriptor set', + 'wizard.step5.upload_discover': 'Upload and discover services', + 'wizard.step5.no_descriptor': 'No descriptor set selected', + 'wizard.step5.yaml_title': 'YAML import and export', + 'wizard.step5.yaml_subtitle': 'Move operation drafts between environments without leaving the wizard.', + 'wizard.step5.export_yaml': 'Export YAML', + 'wizard.step5.load_yaml_file': 'Load YAML file', + 'wizard.step5.import_yaml': 'Import YAML', + 'wizard.step5.yaml_document': 'YAML document', + 'wizard.step5.yaml_placeholder': 'Paste exported YAML here to create or upsert an operation.', + 'wizard.step5.publish_title': 'Publish', + 'wizard.step5.publish_subtitle': 'Save the current draft and expose it to published agents.', + 'wizard.step5.publish_hint': 'Publishing uses the current draft version from this wizard session.', + 'wizard.step5.publish_action': 'Publish operation', + 'wizard.step5.editable_title': 'Operation stays editable in this wizard', + 'wizard.step5.editable_body': 'Saving creates or updates the current draft in place. Use the live actions above to upload samples, test the draft, export or import YAML, and publish when the upstream contract is ready.', + 'wizard.live.failed_title': 'Live action failed', + 'wizard.live.failed_body': 'The backend request failed. Review the draft and try again.', + 'wizard.error.no_workspace': 'No workspace selected', + 'wizard.error.tool_name': 'Tool name is required', + 'wizard.error.parser_unavailable': 'YAML parser is not available', + 'wizard.error.select_upstream': 'Select or register an upstream first', + 'wizard.error.auth_profile_required': 'Select an auth profile or switch upstream auth to No auth.', + 'wizard.error.auth_profile_name': 'Auth profile name is required.', + 'wizard.error.secret_required': 'Select the secret required by this auth profile.', + 'wizard.error.basic_secrets_required': 'Select both username and password secrets.', + 'wizard.error.header_name_required': 'Header name is required for this auth profile.', + 'wizard.error.query_param_required': 'Query parameter name is required for this auth profile.', + 'wizard.error.secret_name_required': 'Secret name is required.', + 'wizard.error.secret_value_required': 'Secret value is required.', + 'wizard.error.save_upstream_first': 'Save the upstream after creating a new auth profile before continuing.', + 'wizard.toast.auth_profile_created_title': 'Auth profile created', + 'wizard.toast.auth_profile_created_body': 'New upstream auth profile is ready and selected.', + 'wizard.toast.auth_profile_error_title': 'Auth profile creation failed', + 'wizard.toast.quick_secret_created_title': 'Secret created', + 'wizard.toast.quick_secret_created_body': 'The new secret is now available in the auth selector.', + 'wizard.toast.quick_secret_error_title': 'Secret creation failed', + 'wizard.error.save': 'Failed to save operation', + 'wizard.error.save_title': 'Save failed', + 'wizard.save.created': 'Draft created', + 'wizard.save.updated': 'Draft updated', + 'wizard.save.body': 'The current draft is saved on the backend and ready for live actions in this wizard.', + 'wizard.save.saved': 'Saved ✓', + 'wizard.busy.input_sample': 'Saving input sample…', + 'wizard.busy.output_sample': 'Saving output sample…', + 'wizard.busy.generate': 'Generating draft…', + 'wizard.busy.test': 'Running test…', + 'wizard.busy.export_yaml': 'Exporting YAML…', + 'wizard.busy.import_yaml': 'Importing YAML…', + 'wizard.busy.publish': 'Publishing operation…', + 'wizard.busy.descriptor': 'Uploading descriptor set…', + 'wizard.busy.wsdl': 'Inspecting WSDL…', + 'wizard.sample.input_saved': 'Input sample saved', + 'wizard.sample.input_saved_body': 'The input sample is now stored against the current draft version.', + 'wizard.sample.output_saved': 'Output sample saved', + 'wizard.sample.output_saved_body': 'The output sample is now stored against the current draft version.', + 'wizard.sample.generated': 'Draft generated', + 'wizard.sample.generated_body': 'Schemas and mappings were regenerated from the saved samples.', + 'wizard.test.completed': 'Test run completed', + 'wizard.test.failed': 'Test run returned errors', + 'wizard.test.completed_body': 'The current draft executed successfully against the upstream.', + 'wizard.test.failed_body': 'The draft executed, but the backend returned validation or runtime errors.', + 'wizard.test.window_completed': 'Window test completed', + 'wizard.test.window_completed_body': 'Collected a bounded result window.', + 'wizard.test.window_truncated_note': 'Results were truncated.', + 'wizard.test.window_more_note': 'More data is available if you continue from the streaming views.', + 'wizard.test.window_incomplete_note': 'The upstream stream ended before the configured window was fully collected.', + 'wizard.test.websocket_window_completed': 'WebSocket window test completed', + 'wizard.test.websocket_window_completed_body': 'Collected {items} WebSocket event(s) inside the bounded test window.', + 'wizard.test.websocket_window_truncated_note': 'The bounded window stopped after reaching the configured item or byte limit.', + 'wizard.test.websocket_window_more_note': 'The socket produced more events than this test window retained. Increase limits or switch to session mode if you need a longer stream.', + 'wizard.test.websocket_window_incomplete_note': 'The upstream socket closed before the bounded window finished collecting all configured events.', + 'wizard.test.websocket_session_started': 'WebSocket session test started', + 'wizard.test.websocket_session_started_body': 'WebSocket session {session_id} was created. Continue from Stream sessions after a short delay.', + 'wizard.test.websocket_async_job_started': 'WebSocket async job test started', + 'wizard.test.websocket_async_job_started_body': 'WebSocket async job {job_id} was created. Continue from the async jobs view for status and result.', + 'wizard.test.websocket_failed': 'WebSocket test returned errors', + 'wizard.test.websocket_failed_body': 'The socket test failed before Crank could collect a bounded result window.', + 'wizard.test.websocket_failed_reconnect_body': 'The upstream socket closed before enough events were collected, and the configured reconnect policy was exhausted.', + 'wizard.test.websocket_failed_closed_body': 'The upstream socket closed before the bounded test window completed.', + 'wizard.test.session_started': 'Session test started', + 'wizard.test.session_started_body': 'Session {session_id} was created. Check Stream sessions in a few seconds.', + 'wizard.test.async_job_started': 'Async job test started', + 'wizard.test.async_job_started_body': 'Async job {job_id} was created. Track status and result from the async jobs view.', + 'wizard.test.no_response': 'No test response yet', + 'wizard.test.no_response_body': 'Run a test first, then copy the response preview into the output sample editor.', + 'wizard.test.response_copied': 'Response copied', + 'wizard.test.response_copied_body': 'The latest test response was copied into the output sample editor.', + 'wizard.boolean.yes': 'yes', + 'wizard.boolean.no': 'no', + 'wizard.yaml.exported': 'YAML exported', + 'wizard.yaml.exported_body': 'The current draft YAML was downloaded from the backend.', + 'wizard.yaml.none': 'No YAML provided', + 'wizard.yaml.none_body': 'Paste a YAML document or load it from a file before importing.', + 'wizard.yaml.imported': 'YAML imported', + 'wizard.yaml.imported_body': 'The imported operation draft was stored. The wizard will reopen it now.', + 'wizard.yaml.loaded': 'YAML loaded', + 'wizard.yaml.loaded_body': 'The YAML document was loaded into the import editor.', + 'wizard.publish.done': 'Operation published', + 'wizard.publish.done_body': 'Version {version} is now published and can be bound into agents.', + 'wizard.grpc.discovery_title': 'gRPC discovery moved to live descriptor flow', + 'wizard.grpc.discovery_body': 'Server reflection is not wired in this deployment. Save the draft, then use the descriptor-set tools in Step 5 to upload a real descriptor set and discover unary methods from the backend.', + 'wizard.grpc.no_methods': 'No unary RPC methods found.', + 'wizard.grpc.fields_unresolved': 'Fields not resolved.', + 'wizard.grpc.fields_unresolved_body': 'Import or external types are not expanded client-side.', + 'wizard.grpc.services_found': 'Found {services_label} and {methods_label}.', + 'wizard.grpc.services_label.one': '{count} service', + 'wizard.grpc.services_label.other': '{count} services', + 'wizard.grpc.methods_label.one': '{count} unary method', + 'wizard.grpc.methods_label.other': '{count} unary methods', + 'wizard.grpc.services_discovered': '{services} services · {methods} unary methods discovered', + 'wizard.grpc.services_none': 'No unary methods discovered yet', + + // Common buttons + 'btn.save': 'Save changes', + 'btn.cancel': 'Cancel', + 'btn.create': 'Create', + 'btn.delete': 'Delete', + 'btn.revoke': 'Revoke', + 'btn.copy': 'Copy', + + // Agents page + 'agents.title': 'Agents', + 'agents.subtitle': 'Named MCP endpoints that expose a curated subset of operations to an LLM', + 'agents.subtitle.community': 'Dedicated MCP endpoints for AI agents. Community keeps machine access on static agent keys.', + 'agents.new': 'New agent', + 'agents.limit.title': 'Agent limit reached', + 'agents.limit.message': 'This Community build allows up to {limit} AI agent. Upgrade the edition or remove an existing agent to add another one.', + 'agents.stats.total': 'Total agents', + 'agents.stats.total_sub': 'across this workspace', + 'agents.stats.published': 'Published', + 'agents.stats.published_sub': '{value}% of total', + 'agents.stats.tools': 'Operations exposed', + 'agents.stats.tools_sub': 'across {count} agents', + 'agents.stats.calls': 'Calls today', + 'agents.stats.calls_sub': 'all agents combined', + 'agents.search': 'Search agents...', + 'agents.results': '{shown} of {total} agents', + 'agents.callout.default': 'Each agent gets its own MCP endpoint. Connect your LLM client to a specific agent so it only sees the tools it needs — not all {count} operations in this workspace.', + 'agents.callout.community': 'Each agent gets its own MCP endpoint and static agent keys in Community. Connect your LLM client to a specific agent so it only sees the tools it needs — not all {count} operations in this workspace.', + 'agents.loading': 'Loading agents…', + 'agents.error.title': 'Failed to load agents', + 'agents.error.api': 'Workspace or API is unavailable', + 'agents.error.load': 'Failed to load agents', + 'agents.empty.initial.title': 'No agents yet', + 'agents.empty.initial.sub': 'Create your first agent to get a dedicated MCP endpoint with a curated set of tools.', + 'agents.empty.initial.sub_community': 'Create your first agent to get one dedicated MCP endpoint and its static machine-access keys for a focused toolset.', + 'agents.empty.initial.next_step': 'After creation, issue separate machine-access keys for this endpoint on the API Keys page.', + 'agents.empty.search.title': 'No agents match "{query}"', + 'agents.empty.search.sub': 'Try a different search term.', + 'agents.card.tools': 'tools', + 'agents.card.keys': 'keys', + 'agents.card.calls_today': 'calls today', + 'agents.card.created': 'Created {date}', + 'agents.card.copy_endpoint': 'Copy endpoint', + 'agents.card.endpoint_help': 'Use this MCP endpoint in your client and manage its machine-access keys on the API Keys page.', + 'agents.card.endpoint_help_community': 'Use this MCP endpoint in your client. Community keeps machine access on static agent keys managed on the API Keys page.', + 'agents.action.edit': 'Edit', + 'agents.action.archive': 'Archive', + 'agents.action.delete': 'Delete', + 'agents.lifecycle.publish': 'Publish', + 'agents.lifecycle.unpublish': 'Unpublish', + 'agents.lifecycle.restore_draft': 'Restore draft', + 'agents.lifecycle.published': 'Published', + 'agents.lifecycle.archived': 'Archived', + 'agents.lifecycle.draft': 'Draft', + 'agents.drawer.new_title': 'New agent', + 'agents.drawer.edit_title': 'Edit agent', + 'agents.drawer.new_sub': 'Configure a named MCP endpoint for your LLM', + 'agents.drawer.new_sub_community': 'Configure one MCP endpoint and its static agent-key boundary for a focused LLM use case', + 'agents.drawer.edit_sub': 'Update agent settings and tool selection', + 'agents.drawer.identity': 'Identity', + 'agents.drawer.display_name': 'Display name', + 'agents.drawer.slug': 'Slug', + 'agents.drawer.description': 'Description', + 'agents.drawer.optional': '(optional)', + 'agents.drawer.required': 'required', + 'agents.drawer.status': 'Status', + 'agents.drawer.endpoint': 'MCP endpoint', + 'agents.drawer.slug_hint': 'Keep the slug stable after clients start using this endpoint. Changing it changes the MCP path.', + 'agents.drawer.placeholder.name': 'Customer Support', + 'agents.drawer.placeholder.slug': 'customer-support', + 'agents.drawer.placeholder.description': 'What does this agent do? What LLM or use-case is it for?', + 'agents.drawer.operations': 'Operations', + 'agents.drawer.selected': '{count} selected', + 'agents.drawer.operations_sub': 'Select which operations this agent exposes. LLMs connecting to this agent will only see these tools.', + 'agents.drawer.operations_sub_community': 'Select which operations this agent exposes. Any keys issued for this agent only work against this MCP endpoint.', + 'agents.drawer.filter_ops': 'Filter operations…', + 'agents.drawer.ops_no_match': 'No operations match "{query}"', + 'agents.drawer.ops_selected': '{count} operations selected', + 'agents.drawer.clear_all': 'Clear all', + 'agents.drawer.recommendation': "You've selected {count} tools. LLMs usually work best when an agent has fewer than 15 tools. Consider splitting this into separate agents by use case.", + 'agents.drawer.cancel': 'Cancel', + 'agents.drawer.create': 'Create agent', + 'agents.drawer.save': 'Save changes', + 'agents.toast.saved_title_create': 'Agent created', + 'agents.toast.saved_title_update': 'Agent updated', + 'agents.toast.saved_message': '{name} was saved with {count} tool bindings.', + 'agents.toast.save_error_title': 'Agent update failed', + 'agents.toast.save_error_message': 'Failed to save agent', + 'agents.toast.delete_confirm': 'Delete this agent? This cannot be undone.', + 'agents.toast.delete_title': 'Agent deleted', + 'agents.toast.delete_message': '{name} was deleted.', + 'agents.toast.delete_error_title': 'Delete failed', + 'agents.toast.delete_error_message': 'Failed to delete agent', + 'agents.toast.lifecycle_title': 'Agent lifecycle updated', + 'agents.toast.lifecycle_publish': '{name} was published.', + 'agents.toast.lifecycle_unpublish': '{name} was returned to draft.', + 'agents.toast.lifecycle_archive': '{name} was archived.', + 'agents.toast.lifecycle_error_title': 'Lifecycle update failed', + 'agents.toast.lifecycle_error_message': 'Failed to update agent lifecycle', + 'agents.toast.endpoint_title': 'MCP endpoint copied', + + // Demo content + 'demo.agent.revops-copilot.display_name': 'RevOps Copilot', + 'demo.agent.revops-copilot.description': 'Revenue operations assistant with CRM and billing tools.', + 'demo.agent.support-triage.display_name': 'Support Triage', + 'demo.agent.support-triage.description': 'Draft support agent focused on unary gRPC workflows.', + 'demo.operation.crm_create_lead.display_name': 'Create CRM Lead', + 'demo.operation.crm_create_lead.description': 'Create a lead record in the CRM system.', + 'demo.operation.billing_get_invoice.display_name': 'Get Invoice Status', + 'demo.operation.billing_get_invoice.description': 'Fetch invoice state and amount from billing.', + 'demo.operation.support_lookup_ticket.display_name': 'Lookup Support Ticket', + 'demo.operation.support_lookup_ticket.description': 'Draft unary gRPC support lookup using a descriptor set.', + 'demo.operation.marketing_archive_contact.display_name': 'Archive Marketing Contact', + 'demo.operation.marketing_archive_contact.description': 'Legacy archived flow kept for audit only.', + + // Login + 'login.title': 'Sign in', + 'login.subtitle': 'Welcome back to your workspace', + 'login.email': 'Email', + 'login.password': 'Password', + 'login.submit': 'Sign in', + 'login.sso': 'Continue with Google', + 'login.email_label': 'Email address', + 'login.email_placeholder': 'you@acme.com', + 'login.forgot': 'Forgot password?', + 'login.divider': 'or continue with', + 'login.sso_short': 'Google SSO', + 'login.request_prefix': "Don't have an account?", + 'login.request_link': 'Request access', + 'login.planned_badge': 'Planned', + 'login.password_only': 'Sign in with email and password.', + 'login.coming_soon': 'Password reset and SSO will be added later.', + 'login.error.required': 'Please enter your email and password.', + 'login.error.invalid': 'Invalid email or password. Please try again.', + 'login.error.generic': 'Unable to sign in right now. Please try again.', + }, + + ru: { + // Nav + 'nav.operations': 'Операции', + 'nav.agents': 'Агенты', + 'nav.apikeys': 'API Ключи', + 'nav.secrets': 'Секреты', + 'nav.logs': 'Логи', + 'nav.usage': 'Использование', + 'nav.settings': 'Настройки', + 'nav.logout': 'Выйти', + 'nav.workspaces': 'Ваши воркспейсы', + 'nav.create_workspace': 'Создать воркспейс', + 'nav.notifications': 'Уведомления', + 'nav.menu': 'Меню', + 'nav.account': 'Аккаунт', + 'nav.user_fallback': 'Crank', + 'nav.workspace_fallback': 'workspace', + + // Operations page + 'ops.title': 'Операции', + 'ops.subtitle': 'Контракты инструментов, открывающие ваши API как MCP-инструменты', + 'ops.new': 'Новая операция', + 'ops.loading': 'Загрузка операций…', + 'ops.empty.title': 'Операции не найдены', + 'ops.empty.sub': 'Попробуйте изменить поисковый запрос или фильтры.', + 'ops.empty.initial.title': 'Операций пока нет', + 'ops.empty.initial.sub': 'Создайте первую операцию в этом воркспейсе, чтобы открыть живой MCP-инструмент.', + 'ops.error.title': 'Не удалось подключиться к backend', + 'ops.delete.confirm': 'Удалить эту операцию? Действие нельзя отменить.', + 'ops.delete.success.title': 'Операция удалена', + 'ops.delete.success.message': 'Операция {name} удалена.', + 'ops.delete.error.title': 'Не удалось удалить', + 'ops.delete.error.message': 'Не удалось удалить операцию', + 'ops.action.edit': 'Редактировать операцию', + 'ops.action.delete':'Удалить операцию', + 'ops.stats.synced': 'Каталог синхронизирован с backend', + 'ops.stats.none': 'Операций пока нет', + 'ops.stats.share': '{value}% от общего числа', + 'ops.stats.no_published': 'Опубликованных инструментов пока нет', + 'ops.stats.requests_rollup': 'Сумма по статистике операций', + 'ops.stats.no_traffic': 'Трафик сегодня не зафиксирован', + 'ops.stats.latency_weighted': 'Взвешено по сегодняшним вызовам', + 'ops.stats.latency_waiting': 'Ожидание runtime-метрик', + 'ops.results': 'Показано {shown} из {total}', + 'ops.range': 'Показано {from}–{to} из {total} операций', + 'ops.filter.protocol': 'Протокол: {value}', + 'ops.filter.category': 'Категория: {value}', + 'ops.filter.agent': 'Агент: {value}', + 'ops.no_active_agents': 'Нет активных агентов', + + // Stats + 'stats.total': 'Всего операций', + 'stats.active': 'Активные', + 'stats.requests': 'Запросов сегодня', + 'stats.latency': 'Ср. задержка', + + // Tabs + 'tab.all': 'Все', + 'tab.active': 'Активные', + 'tab.draft': 'Черновик', + 'tab.error': 'Ошибка', + 'tab.inactive': 'Неактивные', + + // Filters & sort + 'filter.search': 'Поиск операций...', + 'filter.protocol': 'Протокол', + 'filter.status': 'Статус', + 'filter.category': 'Категория', + 'filter.agent': 'Агент', + 'filter.showing': 'Показано', + 'filter.of': 'из', + 'filter.clear': 'Сбросить', + 'filter.clear_all': 'Сбросить все', + 'filter.remove': 'Убрать фильтр', + 'sort.created_desc':'Сначала новые', + 'sort.created_asc': 'Сначала старые', + 'sort.name_asc': 'Название А–Я', + 'sort.name_desc': 'Название Я–А', + + // Table headers + 'th.name': 'НАЗВАНИЕ', + 'th.protocol': 'ПРОТОКОЛ', + 'th.status': 'СТАТУС', + 'th.created': 'СОЗДАН', + 'th.url': 'ЦЕЛЕВОЙ URL', + + // Pagination + 'page.showing': 'Показано', + 'page.of': 'из', + 'page.ops': 'операций', + + // API Keys page + 'apikeys.title': 'Ключи агентов', + 'apikeys.subtitle': 'Ключи аутентифицируют внешние MCP-клиенты для конкретного endpoint AI-агента.', + 'apikeys.new': 'Создать ключ', + 'apikeys.agent.title': 'Доступ агента', + 'apikeys.agent.subtitle': 'Выберите AI-агента, чей MCP endpoint должен принимать этот ключ.', + 'apikeys.agent.label': 'AI-агент', + 'apikeys.agent.empty': 'Агенты отсутствуют', + 'apikeys.agent.empty_hint': 'Сначала создайте AI-агента, затем выпустите машинный ключ для его MCP endpoint.', + 'apikeys.agent.endpoint': 'MCP endpoint: {endpoint}', + 'apikeys.agent.endpoint_missing': 'У выбранного агента пока нет опубликованного MCP endpoint.', + 'apikeys.machine_access.title': 'Режимы машинного доступа', + 'apikeys.machine_access.title_community': 'Машинный доступ Community', + 'apikeys.machine_access.subtitle': 'Эта сборка показывает стабильный контракт машинного доступа и сразу отражает доступные режимы.', + 'apikeys.machine_access.subtitle_community': 'Community публикует стабильный MCP-контракт машинного доступа, но в этой сборке активны только статические ключи AI-агентов.', + 'apikeys.machine_access.summary_default': 'Community сейчас поддерживает только статические ключи AI-агентов.', + 'apikeys.machine_access.summary': 'Эта сборка поддерживает {access_modes} для операций с уровнями защиты {security_levels}. При включении коммерческой редакции short-lived и one-time token issuance используют тот же public HTTP surface.', + 'apikeys.machine_access.note': 'Выдача short-lived и one-time token использует тот же public HTTP surface, но требует коммерческую редакцию.', + 'apikeys.machine_access.note_community': 'В Community используйте статические ключи AI-агентов. Short-lived и one-time token требуют коммерческую редакцию.', + 'apikeys.th.name': 'НАЗВАНИЕ', + 'apikeys.th.scope': 'ОБЛАСТЬ', + 'apikeys.th.created':'СОЗДАН', + 'apikeys.th.last': 'ПОСЛЕДНЕЕ ИСПОЛЬЗОВАНИЕ', + 'apikeys.callout.title': 'Ключ показывается только один раз.', + 'apikeys.callout.body': 'Скопируйте и сохраните ключ сразу после создания — Crank хранит только хэш. Поле «Последнее использование» обновляется после успешного MCP-вызова.', + 'apikeys.active.title': 'Активные ключи', + 'apikeys.active.subtitle': '{active} активных · {revoked} отозванных', + 'apikeys.search': 'Фильтр ключей…', + 'apikeys.th.prefix': 'ПРЕФИКС КЛЮЧА', + 'apikeys.th.scopes': 'ОБЛАСТИ', + 'apikeys.th.status': 'СТАТУС', + 'apikeys.scope_ref': 'Справка по областям', + 'apikeys.scope.read': 'Инициализация MCP-сессий, ping сервера и получение списка инструментов для выбранного AI-агента.', + 'apikeys.scope.write': 'Выполнение `tools/call` для опубликованных наборов инструментов агента.', + 'apikeys.scope.deploy': 'Зарезервировано для deploy-автоматизации. Сейчас также разрешает MCP read/write сценарии.', + 'apikeys.modal.title': 'Создать ключ агента', + 'apikeys.modal.name': 'Имя ключа', + 'apikeys.modal.name_hint': 'Понятная метка для идентификации ключа. Видна только администраторам.', + 'apikeys.modal.name_placeholder': 'например, Production, CI pipeline', + 'apikeys.modal.scopes': 'Области', + 'apikeys.modal.reveal_title': 'Скопируйте ключ сейчас.', + 'apikeys.modal.reveal_body': 'Повторно он не будет показан.', + 'apikeys.modal.copy': 'Скопировать', + 'apikeys.modal.cancel': 'Отмена', + 'apikeys.modal.create': 'Создать ключ', + 'apikeys.modal.done': 'Готово — ключ скопирован', + 'apikeys.status.active': 'Активен', + 'apikeys.status.revoked': 'Отозван', + 'apikeys.last_used.never': 'Никогда', + 'apikeys.empty.none': 'API-ключей пока нет', + 'apikeys.empty.search': 'Нет ключей по текущему поиску', + 'apikeys.loading': 'Загрузка…', + 'apikeys.error.api': 'Воркспейс или API недоступен', + 'apikeys.error.load': 'Не удалось загрузить API-ключи', + 'apikeys.confirm.revoke': 'Отозвать этот ключ? Все запросы с ним сразу начнут падать.', + 'apikeys.confirm.delete': 'Удалить этот ключ? Действие нельзя отменить.', + 'apikeys.toast.revoke_title': 'Ключ отозван', + 'apikeys.toast.revoke_message': 'Ключ {name} отозван.', + 'apikeys.toast.revoke_error_title': 'Не удалось отозвать', + 'apikeys.toast.revoke_error_message': 'Не удалось отозвать ключ', + 'apikeys.toast.delete_title': 'Ключ удален', + 'apikeys.toast.delete_message': 'Ключ {name} удален.', + 'apikeys.toast.delete_error_title': 'Не удалось удалить', + 'apikeys.toast.delete_error_message': 'Не удалось удалить ключ', + 'apikeys.toast.scope_missing_title': 'Не выбрана область', + 'apikeys.toast.scope_missing_message': 'Выберите хотя бы одну область перед созданием ключа.', + 'apikeys.toast.create_title': 'Ключ агента создан', + 'apikeys.toast.create_message': 'Скопируйте ключ сейчас. Повторно он не будет показан.', + 'apikeys.toast.create_error_title': 'Не удалось создать ключ', + 'apikeys.toast.create_error_message': 'Не удалось создать ключ', + 'apikeys.toast.copy_title': 'Ключ агента скопирован', + 'apikeys.toast.copy_message': 'Сохраните исходный ключ в надежном месте. Повторно показать его нельзя.', + 'apikeys.toast.prefix_title': 'Префикс ключа скопирован', + 'apikeys.action.copy_prefix': 'Скопировать префикс ключа', + 'apikeys.action.revoke': 'Отозвать ключ', + 'apikeys.action.delete': 'Удалить', + 'apikeys.creating': 'Создание…', + + // Secrets page + 'secrets.title': 'Секреты', + 'secrets.subtitle': 'Зашифрованные upstream-учетные данные для bearer token, basic auth и API key, которые используют auth profiles.', + 'secrets.new': 'Создать секрет', + 'secrets.callout.title': 'Plaintext секрета доступен только на запись.', + 'secrets.callout.body': 'Crank шифрует значения секретов мастер-ключом воркспейса. После создания или ротации API возвращает только метаданные, поэтому на этой странице доступны управление секретами и просмотр их использования.', + 'secrets.active.title': 'Секреты воркспейса', + 'secrets.active.subtitle': '{active} активных · {total} всего', + 'secrets.search': 'Фильтр секретов…', + 'secrets.th.name': 'НАЗВАНИЕ', + 'secrets.th.kind': 'ТИП', + 'secrets.th.version': 'ВЕРСИЯ', + 'secrets.th.last_used': 'ПОСЛЕДНЕЕ ИСПОЛЬЗОВАНИЕ', + 'secrets.th.used_by': 'ИСПОЛЬЗУЕТСЯ В', + 'secrets.th.status': 'СТАТУС', + 'secrets.kind.token': 'Токен', + 'secrets.kind.username_password': 'Логин/пароль', + 'secrets.kind.header': 'Значение заголовка', + 'secrets.kind.generic': 'Общий JSON', + 'secrets.status.active': 'Активен', + 'secrets.status.disabled': 'Отключен', + 'secrets.last_used.never': 'Никогда', + 'secrets.used_by_count.one': '{count} профиль', + 'secrets.used_by_count.few': '{count} профиля', + 'secrets.used_by_count.many': '{count} профилей', + 'secrets.used_by_count.other': '{count} профиля', + 'secrets.loading': 'Загрузка…', + 'secrets.empty.none': 'Секретов пока нет', + 'secrets.empty.search': 'Нет секретов по текущему поиску', + 'secrets.error.workspace': 'Воркспейс не выбран', + 'secrets.error.load': 'Не удалось загрузить секреты', + 'secrets.action.rotate': 'Ротировать', + 'secrets.action.delete': 'Удалить', + 'secrets.confirm.delete': 'Удалить секрет {name}? Это нельзя сделать, пока на секрет ссылается auth profile.', + 'secrets.toast.create_title': 'Секрет создан', + 'secrets.toast.create_message': 'Секрет сохранен в зашифрованном виде. Повторно посмотреть plaintext через API нельзя.', + 'secrets.toast.create_error_title': 'Не удалось создать секрет', + 'secrets.toast.create_error_message': 'Не удалось создать секрет', + 'secrets.toast.rotate_title': 'Секрет ротирован', + 'secrets.toast.rotate_message': 'Новая версия секрета теперь активна.', + 'secrets.toast.rotate_error_title': 'Не удалось ротировать секрет', + 'secrets.toast.rotate_error_message': 'Не удалось ротировать секрет', + 'secrets.toast.delete_title': 'Секрет удален', + 'secrets.toast.delete_message': 'Секрет {name} удален.', + 'secrets.toast.delete_error_title': 'Не удалось удалить секрет', + 'secrets.toast.delete_error_message': 'Не удалось удалить секрет', + 'secrets.modal.create_title': 'Создать секрет', + 'secrets.modal.rotate_title': 'Ротировать секрет', + 'secrets.modal.name': 'Имя секрета', + 'secrets.modal.name_hint': 'Используйте стабильную операторскую метку. Plaintext после сохранения не возвращается.', + 'secrets.modal.kind': 'Тип секрета', + 'secrets.modal.value': 'Значение секрета', + 'secrets.modal.header_value': 'Значение заголовка', + 'secrets.modal.username': 'Логин', + 'secrets.modal.password': 'Пароль', + 'secrets.modal.json_payload': 'JSON payload', + 'secrets.modal.json_hint': 'Подходит для общих secret payloads. Значение должно быть валидным JSON.', + 'secrets.modal.create_note': 'Создание сохраняет зашифрованный plaintext и возвращает только metadata.', + 'secrets.modal.rotate_note': 'Ротация создает новую зашифрованную версию и сохраняет тот же secret id.', + 'secrets.modal.cancel': 'Отмена', + 'secrets.modal.create_action': 'Создать секрет', + 'secrets.modal.rotate_action': 'Ротировать секрет', + 'secrets.modal.creating': 'Создание…', + 'secrets.modal.rotating': 'Ротация…', + 'secrets.hint.token': 'Лучший вариант для bearer tokens и простых API key values.', + 'secrets.hint.username_password': 'Хранит логин и пароль как один зашифрованный payload.', + 'secrets.hint.header': 'Хранит сырое значение заголовка. Имя заголовка задается в auth profile.', + 'secrets.hint.generic': 'Хранит произвольный JSON для нестандартных интеграций, которым нужен структурированный секрет.', + 'secrets.validation.name_required': 'Нужно указать имя секрета.', + 'secrets.validation.value_required': 'Нужно указать значение секрета.', + 'secrets.validation.username_password_required': 'Нужно указать и логин, и пароль.', + 'secrets.validation.json_invalid': 'Generic secret payload должен быть валидным JSON.', + 'secrets.profiles.title': 'Ссылки auth profiles', + 'secrets.profiles.subtitle': 'Профили резолвят секреты в runtime перед upstream execution.', + 'secrets.profiles.subtitle_count.one': '{count} профиль авторизации', + 'secrets.profiles.subtitle_count.few': '{count} профиля авторизации', + 'secrets.profiles.subtitle_count.many': '{count} профилей авторизации', + 'secrets.profiles.subtitle_count.other': '{count} профиля авторизации', + 'secrets.profiles.error_title': 'Не удалось загрузить ссылки auth profiles', + 'secrets.profiles.loading_title': 'Загрузка ссылок auth profiles…', + 'secrets.profiles.loading_body': 'Получаем auth profiles для текущего воркспейса.', + 'secrets.profiles.empty_title': 'Auth profiles пока нет', + 'secrets.profiles.empty_body': 'Создайте auth profile в мастере при настройке операции.', + 'secrets.profiles.references': 'Связанные секреты', + 'secrets.profiles.reference_count': '{count} ссылок', + 'secrets.profiles.meta.created': 'Создан', + 'secrets.profiles.meta.updated': 'Обновлен', + 'secrets.profiles.summary_bearer': 'Bearer auth через {header} с использованием {secret}.', + 'secrets.profiles.summary_basic': 'Basic auth с использованием {username} и {password}.', + 'secrets.profiles.summary_api_key_header': 'API key header {header} с использованием {secret}.', + 'secrets.profiles.summary_api_key_query': 'API key query param {param} с использованием {secret}.', + 'secrets.profiles.summary_unknown': 'Неизвестная конфигурация auth profile.', + 'secrets.auth_kind.bearer': 'Bearer auth', + 'secrets.auth_kind.basic': 'Basic auth', + 'secrets.auth_kind.api_key_header': 'API key header', + 'secrets.auth_kind.api_key_query': 'API key query', + + // Logs page + 'logs.title': 'Логи', + 'logs.subtitle': 'Живой журнал вызовов по всем операциям этого воркспейса.', + 'logs.search': 'Поиск в логах...', + 'logs.level.all': 'Все', + 'logs.level.info': 'Info', + 'logs.level.warn': 'Warn', + 'logs.level.error': 'Error', + 'logs.level.debug': 'Debug', + 'logs.live': 'Live', + 'logs.paused': 'Пауза', + 'logs.refresh': 'Обновить', + 'logs.range.30m': 'Последние 30 мин', + 'logs.range.1h': 'Последний час', + 'logs.range.6h': 'Последние 6 часов', + 'logs.range.24h': 'Последние 24 часа', + 'logs.range.7d': 'Последние 7 дней', + 'logs.search_messages': 'Поиск по сообщениям…', + 'logs.detail.agent': 'Агент', + 'logs.detail.request': 'Предпросмотр запроса', + 'logs.detail.response': 'Предпросмотр ответа', + 'logs.detail.meta': 'Метаданные', + 'logs.loading.title': 'Загрузка логов…', + 'logs.loading.sub': 'Получаем историю вызовов для текущего воркспейса.', + 'logs.error.title': 'Не удалось загрузить логи', + 'logs.error.api': 'Admin API недоступен', + 'logs.error.workspace': 'Воркспейс не выбран', + 'logs.error.load': 'Не удалось загрузить логи', + 'logs.empty.title': 'Записей логов не найдено', + 'logs.empty.filtered': 'Попробуйте расширить период или сбросить текущий поиск и фильтры уровня.', + 'logs.empty.initial': 'Запустите тесты или опубликованные MCP-инструменты, чтобы начать собирать историю вызовов.', + 'logs.live.on.title': 'Live режим включен', + 'logs.live.on.body': 'Логи опрашиваются каждые 4 секунды.', + 'logs.live.off.title': 'Live режим на паузе', + 'logs.live.off.body': 'Автоматический опрос остановлен.', + 'logs.refresh.title': 'Логи обновлены', + 'logs.refresh.body': 'Получены последние записи вызовов для текущего воркспейса.', + + // Usage page + 'usage.title': 'Использование', + 'usage.subtitle': 'Метрики вызовов по всем операциям этого воркспейса.', + 'usage.export': 'Экспорт CSV', + 'usage.period.7d': 'Последние 7 дней', + 'usage.period.30d': 'Последние 30 дней', + 'usage.period.90d': 'Последние 90 дней', + 'usage.period.this_month': 'Этот месяц', + 'usage.period.label.7d': 'последние 7 дней', + 'usage.period.label.30d': 'последние 30 дней', + 'usage.period.label.90d': 'последние 90 дней', + 'usage.period.label.this_month': 'этот месяц', + 'usage.stats.total': 'Всего вызовов', + 'usage.stats.success': 'Доля успешных', + 'usage.stats.p50': 'Медианная задержка (p50)', + 'usage.stats.p99': 'Задержка p99', + 'usage.stats.across': 'За период: {period}', + 'usage.stats.success_calls': 'Успешных вызовов: {count}', + 'usage.stats.median': 'Медианная задержка за выбранный период', + 'usage.stats.error_calls': 'Ошибочных вызовов: {count}', + 'usage.chart.title': 'Вызовы во времени', + 'usage.chart.success': 'Успех', + 'usage.chart.error': 'Ошибка', + 'usage.chart.empty.title': 'Данных по использованию пока нет', + 'usage.chart.empty.sub': 'Метрики появятся здесь после тестов или вызовов опубликованных инструментов за выбранный период.', + 'usage.table.title': 'По операциям', + 'usage.table.subtitle': 'Разбивка за период: {period}', + 'usage.table.th.operation': 'Операция', + 'usage.table.th.protocol': 'Протокол', + 'usage.table.th.calls': 'Вызовы', + 'usage.table.th.errors': 'Ошибки', + 'usage.table.th.error_rate': 'Доля ошибок', + 'usage.table.th.latency': 'Задержка (p50 / p95 / p99)', + 'usage.table.th.share': 'Доля трафика', + 'usage.table.empty.title': 'Разбивки по операциям пока нет', + 'usage.table.empty.sub': 'За выбранный период нет вызовов, которые можно разложить по операциям.', + 'usage.table.share': '{value}% трафика воркспейса', + 'usage.loading.title': 'Загрузка использования…', + 'usage.loading.sub': 'Собираем метрики вызовов для выбранного воркспейса.', + 'usage.error.title': 'Не удалось загрузить использование', + 'usage.error.api': 'Admin API недоступен', + 'usage.error.workspace': 'Воркспейс не выбран', + 'usage.error.load': 'Не удалось загрузить метрики использования', + 'usage.export.empty.title': 'Данные по использованию не загружены', + 'usage.export.empty.body': 'Сначала загрузите данные использования, а потом экспортируйте снимок CSV.', + 'usage.export.done.title': 'Использование экспортировано', + 'usage.export.done.body': 'Текущий снимок использования экспортирован в CSV.', + 'usage.chart.ok': 'Успешных: {count}', + 'usage.chart.errors': 'Ошибок: {count}', + 'usage.chart.week': 'Нед. {index}', + 'usage.csv.header': 'Операция,Протокол,Вызовы,Ошибки,Доля ошибок (%),p50 (мс),p95 (мс),p99 (мс)', + + // Settings sidebar + 'settings.title': 'Настройки', + 'settings.nav.workspace': 'Воркспейс', + 'settings.nav.profile': 'Профиль', + 'settings.nav.members': 'Участники', + 'settings.nav.security': 'Безопасность', + 'settings.nav.notif': 'Уведомления', + 'settings.nav.danger': 'Опасная зона', + + // Settings — workspace section + 'settings.ws.title': 'Настройки воркспейса', + 'settings.ws.subtitle': 'Общая информация о вашем воркспейсе', + 'settings.ws.name': 'Имя воркспейса', + 'settings.ws.display': 'Отображаемое имя', + 'settings.ws.desc': 'Описание', + 'settings.ws.tz': 'Часовой пояс', + 'settings.ws.protocol': 'Протокол по умолчанию', + + // Settings — language + 'settings.lang.title': 'Язык', + 'settings.lang.subtitle': 'Язык отображения интерфейса', + 'settings.lang.en': 'English', + 'settings.lang.ru': 'Русский', + + // Settings — profile section + 'settings.profile.title': 'Профиль', + 'settings.profile.name': 'Полное имя', + 'settings.profile.email': 'Email', + 'settings.profile.role': 'Роль', + 'settings.page.title': 'Настройки аккаунта', + 'settings.page.subtitle': 'Управляйте профилем, паролем, настройками воркспейса и границами возможностей текущей сборки.', + 'settings.ws.slug_hint': 'Используется в API endpoint-ах и по всей консоли. Только строчные буквы, цифры и дефисы.', + 'settings.ws.protocol_hint': 'Эта сборка ограничивает протокол по умолчанию возможностями текущей редакции.', + 'settings.ws.protocol_hint_capabilities': 'В этой сборке в качестве протокола воркспейса доступны {protocols}. Дополнительные протоколы зависят от редакции.', + 'settings.ws.description_optional': 'Описание (необязательно)', + 'settings.ws.description_placeholder': 'Чем занимается этот воркспейс?', + 'settings.profile.avatar_hint': 'Аватар строится из отображаемого имени и email.', + 'settings.profile.backend_hint': 'Имя и email хранятся в backend и используются по всей консоли и в сессионной идентичности.', + 'settings.profile.first_name': 'Имя', + 'settings.profile.last_name': 'Фамилия', + 'settings.profile.last_name_placeholder': 'Необязательно', + 'settings.profile.email_label': 'Email адрес', + 'settings.profile.email_hint': 'Изменение email обновляет логин для текущего аккаунта.', + 'settings.profile.save': 'Сохранить профиль', + 'settings.profile.saving': 'Сохранение…', + 'settings.profile.saved': 'Сохранено ✓', + 'settings.profile.saved_status': 'Профиль сохранен.', + 'settings.profile.save_error': 'Не удалось сохранить профиль', + 'settings.security.title': 'Безопасность', + 'settings.security.current_password': 'Текущий пароль', + 'settings.security.new_password': 'Новый пароль', + 'settings.security.new_password_placeholder': 'минимум 12 символов', + 'settings.security.confirm_password': 'Подтвердите новый пароль', + 'settings.security.change_password': 'Сменить пароль', + 'settings.security.mismatch': 'Новый пароль и подтверждение не совпадают.', + 'settings.security.saved': 'Пароль обновлен.', + 'settings.security.save_error': 'Не удалось изменить пароль', + 'settings.security.capabilities_title': 'Сводка по возможностям сборки', + 'settings.security.capabilities_body': 'Этот блок показывает, что поддерживает текущая сборка. Сейчас доступен вход по паролю с одной HttpOnly browser session; короткоживущие токены, одноразовые токены и расширенное управление доступом зависят от редакции.', + 'settings.security.not_available': 'Возможности сборки', + 'settings.security.capability_title_community': 'Редакция Community', + 'settings.security.capability_title_enterprise': 'Редакция Enterprise', + 'settings.security.capability_title_cloud': 'Редакция Cloud', + 'settings.security.capability_summary': 'В этой сборке доступны {protocols}, {access_modes} и уровень защиты операций {security_levels}. Лимиты: {max_workspaces} воркспейс, {max_users} пользователь, {max_agents} AI-агент. Короткоживущие токены, одноразовые токены и расширенное управление доступом требуют коммерческую редакцию.', + 'settings.capability.rest': 'REST / HTTP', + 'settings.capability.graphql': 'GraphQL', + 'settings.capability.grpc': 'gRPC unary', + 'settings.capability.websocket': 'WebSocket', + 'settings.capability.soap': 'SOAP', + 'settings.capability.standard': 'standard', + 'settings.capability.elevated': 'elevated', + 'settings.capability.strict': 'strict', + 'settings.capability.static_agent_key': 'статические ключи агентов', + 'settings.capability.short_lived_token': 'короткоживущие токены', + 'settings.capability.one_time_token': 'одноразовые токены', + 'settings.capability.unlimited': 'без лимита', + 'settings.capability.none': 'нет', + 'settings.session.title': 'Текущая сессия', + 'settings.session.browser': 'Сессия браузера', + 'settings.session.current': 'текущая', + 'settings.session.loading': 'Загрузка деталей текущей сессии…', + 'settings.session.unavailable': 'Детали сессии недоступны. Используйте «Выйти», чтобы отозвать текущую browser session.', + 'settings.session.current_workspace': 'текущий воркспейс', + 'settings.session.summary': '{email} · {role} в {workspace}. Используйте «Выйти», чтобы отозвать текущую browser session.', + 'settings.notifications.title': 'Уведомления', + 'settings.notifications.not_ready_title': 'Не входит в эту сборку.', + 'settings.notifications.not_ready_body': 'Маршрутизация уведомлений и персональные настройки находятся вне текущей поверхности Community.', + 'settings.notifications.capability_title_community': 'Граница редакции Community', + 'settings.notifications.capability_body_community': 'Персональные каналы доставки и маршрутизация уведомлений не входят в текущую поверхность Community. В этой сборке для операционного контроля используйте журналы и представления использования.', + 'settings.notifications.capability_title_enterprise': 'Контур доставки Enterprise', + 'settings.notifications.capability_body_enterprise': 'Маршрутизация уведомлений зависит от корпоративного контура доставки и подключается отдельно от поверхности консоли Community.', + 'settings.notifications.capability_title_cloud': 'Контур доставки Cloud', + 'settings.notifications.capability_body_cloud': 'Маршрутизация уведомлений зависит от облачного контура доставки и подключается отдельно от поверхности консоли Community.', + 'settings.planned_badge': 'Запланировано', + 'settings.notifications.spike_title': 'Всплеск ошибок операции', + 'settings.notifications.spike_body': 'Алерт, когда доля ошибок превышает скользящий порог для опубликованного инструмента.', + 'settings.notifications.latency_title': 'Деградация задержки upstream', + 'settings.notifications.latency_body': 'Уведомлять операторов, когда p99 latency резко растет выше базовой линии.', + 'settings.notifications.digest_title': 'Сводки по квотам и использованию', + 'settings.notifications.digest_body': 'Доставлять периодические сводки по расходу квот, ошибкам и активности воркспейса.', + 'settings.workspace.saving': 'Сохранение…', + 'settings.workspace.saved': 'Сохранено ✓', + 'settings.workspace.save_error': 'Не удалось сохранить настройки воркспейса', + 'settings.workspace.save_error_title': 'Не удалось сохранить воркспейс', + + // Workspace setup + 'workspace_setup.title': 'Настройки воркспейса', + 'workspace_setup.page_subtitle': 'Настройте идентичность воркспейса, значения по умолчанию и состав команды.', + 'workspace_setup.back': 'Назад', + 'workspace_setup.identity.title': 'Идентичность воркспейса', + 'workspace_setup.identity.avatar_hint': 'Аватар формируется из имени воркспейса.', + 'workspace_setup.name': 'Имя воркспейса', + 'workspace_setup.slug': 'Slug', + 'workspace_setup.required': 'обязательно', + 'workspace_setup.optional': '(необязательно)', + 'workspace_setup.slug_hint': 'Только строчные буквы, цифры и дефисы. Используется в URL MCP endpoint-ов.', + 'workspace_setup.description': 'Описание', + 'workspace_setup.description_placeholder': 'Чем занимается этот воркспейс?', + 'workspace_setup.defaults.title': 'Настройки по умолчанию', + 'workspace_setup.protocol': 'Протокол по умолчанию', + 'workspace_setup.protocol_hint': 'Предварительно выбирается в мастере операций.', + 'workspace_setup.timezone': 'Часовой пояс', + 'workspace_setup.language': 'Язык интерфейса', + 'workspace_setup.members.title': 'Участники команды', + 'workspace_setup.members.invite': 'Пригласить участника', + 'workspace_setup.members.email': 'Email адрес', + 'workspace_setup.members.role': 'Роль', + 'workspace_setup.members.send_invite': 'Отправить приглашение', + 'workspace_setup.members.cancel': 'Отмена', + 'workspace_setup.members.invite_sent': '✓ Приглашение отправлено.', + 'workspace_setup.members.you': '(вы)', + 'workspace_setup.members.today': 'Сегодня', + 'workspace_setup.members.days_ago.one': '{count} день назад', + 'workspace_setup.members.days_ago.few': '{count} дня назад', + 'workspace_setup.members.days_ago.many': '{count} дней назад', + 'workspace_setup.members.days_ago.other': '{count} дня назад', + 'workspace_setup.members.week_ago': '1 неделю назад', + 'workspace_setup.members.never': 'Никогда', + 'workspace_setup.members.pending': 'Ожидающие приглашения', + 'workspace_setup.members.invited_pending': 'Приглашен {date} · ожидает принятия', + 'workspace_setup.members.revoke': 'Отозвать приглашение', + 'workspace_setup.members.remove': 'Удалить участника', + 'workspace_setup.roles.title': 'Роли и права', + 'workspace_setup.roles.owner_body': 'Полный контроль над воркспейсом, доступ к биллингу, возможность передать или удалить воркспейс.', + 'workspace_setup.roles.admin_body': 'Управление участниками и ролями, создание и редактирование всех операций и агентов, управление API-ключами.', + 'workspace_setup.roles.developer_body': 'Создание и редактирование операций и агентов. Нельзя управлять участниками или настройками воркспейса.', + 'workspace_setup.roles.viewer_body': 'Доступ только на чтение к операциям, агентам и логам.', + 'workspace_setup.invite.title': 'Пригласить участников команды', + 'workspace_setup.invite.add_person': '+ Добавить человека', + 'workspace_setup.invite.later': 'Позже можно пригласить людей из настроек воркспейса.', + 'workspace_setup.actions.create': 'Создать воркспейс', + 'workspace_setup.actions.save': 'Сохранить изменения', + 'workspace_setup.create.title': 'Создать новый воркспейс', + 'workspace_setup.create.subtitle': 'Воркспейс — это общее окружение для MCP-операций и агентов вашей команды. У каждого воркспейса свой namespace MCP endpoint-ов.', + 'workspace_setup.create.footer': 'Вы станете владельцем этого воркспейса. После создания можно пригласить дополнительных участников.', + 'workspace_setup.danger.title': 'Опасная зона', + 'workspace_setup.danger.export_title': 'Экспортировать все данные', + 'workspace_setup.danger.export_body': 'Скачать JSON-снимок настроек воркспейса, участников, приглашений, операций, агентов и ключей доступа агентов.', + 'workspace_setup.danger.delete_title': 'Удалить воркспейс', + 'workspace_setup.danger.delete_body': 'Безвозвратно удаляет все операции, ключи, логи и настройки. Действие нельзя отменить. Вы будете немедленно разлогинены.', + 'workspace_setup.export': 'Экспорт', + 'workspace_setup.delete': 'Удалить воркспейс', + 'workspace_setup.role.owner': 'Владелец', + 'workspace_setup.role.admin': 'Администратор', + 'workspace_setup.role.operator': 'Разработчик', + 'workspace_setup.role.viewer': 'Наблюдатель', + 'workspace_setup.member_count.one': '{count} участник', + 'workspace_setup.member_count.few': '{count} участника', + 'workspace_setup.member_count.many': '{count} участников', + 'workspace_setup.member_count.other': '{count} участника', + 'workspace_setup.saving_create': 'Создание…', + 'workspace_setup.saving_update': 'Сохранение…', + 'workspace_setup.saved': 'Сохранено ✓', + 'workspace_setup.save_error': 'Не удалось сохранить воркспейс', + 'workspace_setup.save_error_title': 'Не удалось сохранить', + 'workspace_setup.invite_error': 'Не удалось отправить приглашение', + 'workspace_setup.invite_error_title': 'Не удалось пригласить', + 'workspace_setup.role_error': 'Не удалось обновить роль', + 'workspace_setup.role_error_title': 'Не удалось обновить роль', + 'workspace_setup.remove_confirm': 'Удалить {name} из этого воркспейса?', + 'workspace_setup.remove_error': 'Не удалось удалить участника', + 'workspace_setup.remove_error_title': 'Не удалось удалить участника', + 'workspace_setup.revoke_error': 'Не удалось отозвать приглашение', + 'workspace_setup.revoke_error_title': 'Не удалось отозвать приглашение', + 'workspace_setup.export_error': 'Не удалось экспортировать воркспейс', + 'workspace_setup.export_error_title': 'Не удалось экспортировать', + 'workspace_setup.delete_confirm': 'Удалить этот воркспейс? Действие нельзя отменить.', + 'workspace_setup.delete_error': 'Не удалось удалить воркспейс', + 'workspace_setup.delete_error_title': 'Не удалось удалить', + 'workspace.switch_error': 'Не удалось переключить воркспейс', + 'workspace.switch_error_title': 'Не удалось переключить воркспейс', + 'workspace_setup.custom_protocol.rest': 'REST', + 'workspace_setup.custom_protocol.graphql': 'GraphQL', + 'workspace_setup.custom_protocol.grpc': 'gRPC', + 'workspace_setup.custom_protocol.websocket': 'WebSocket', + 'workspace_setup.custom_protocol.soap': 'SOAP', + + // Wizard + 'wizard.back_catalog': 'Операции', + 'wizard.progress.create': 'Создать операцию', + 'wizard.progress.edit': 'Редактировать операцию', + 'wizard.exit': 'Выйти из мастера', + 'wizard.step_of': 'Шаг {step} из {total}', + 'wizard.step_short': 'Шаг {step}', + 'wizard.status.completed': 'Завершено', + 'wizard.status.in_progress': 'В процессе', + 'wizard.status.not_started': 'Не начато', + 'wizard.help.title': 'Нужна помощь?', + 'wizard.help.body': 'Не уверены, какой протокол выбрать? Откройте', + 'wizard.help.link': 'гайд по сравнению протоколов →', + 'wizard.progress.section': 'Прогресс', + 'wizard.step_name.protocol': 'Протокол', + 'wizard.step_name.upstream': 'Upstream', + 'wizard.step_name.tool': 'Конфиг инструмента', + 'wizard.step_name.mapping': 'Маппинг', + 'wizard.button.back': 'Назад', + 'wizard.button.continue': 'Продолжить', + 'wizard.button.save_draft': 'Сохранить черновик', + 'wizard.button.create': 'Создать операцию', + 'wizard.button.save_changes': 'Сохранить изменения', + 'wizard.sidebar.brand.create': 'Создать операцию', + 'wizard.sidebar.brand.edit': 'Редактировать операцию', + 'wizard.step1.title': 'Выберите протокол', + 'wizard.step1.subtitle': 'Выберите транспортный протокол upstream-сервиса. От этого зависит, как Crank будет общаться с вашим API и какие настройки будут доступны на следующих шагах.', + 'wizard.step1.rest_name': 'REST / HTTP', + 'wizard.step1.rest_tagline': 'Стандартные HTTP-методы поверх REST endpoint-а. Самый универсальный вариант.', + 'wizard.step1.graphql_name': 'GraphQL', + 'wizard.step1.graphql_tagline': 'Операции по GraphQL-схеме. Поддерживаются Query и Mutation для одной фиксированной операции.', + 'wizard.step1.grpc_name': 'gRPC', + 'wizard.step1.grpc_tagline': 'Высокопроизводительный бинарный RPC поверх HTTP/2 для unary-вызовов к низколатентным внутренним сервисам.', + 'wizard.step1.websocket_name': 'WebSocket', + 'wizard.step1.websocket_tagline': 'Состояние соединения, event streams и push-oriented интеграции, нормализованные в bounded MCP streaming tools.', + 'wizard.step1.soap_name': 'SOAP', + 'wizard.step1.soap_tagline': 'Enterprise WSDL/XSD-контракты, нормализованные в MCP-инструменты со структурированным XML mapping.', + 'wizard.step1.query': 'Query', + 'wizard.step1.mutation': 'Mutation', + 'wizard.step1.unary': 'Unary', + 'wizard.step1.tip_title': 'Это можно изменить позже', + 'wizard.step1.tip_body': 'Смена протокола после настройки следующих шагов очистит схемы и mapping. Сохраните операцию как черновик перед экспериментами. См. гайд по миграции протоколов.', + 'wizard.step1.community_protocol_title': 'Граница протоколов Community', + 'wizard.step1.community_protocol_note': 'В этой Community-сборке скрыты {protocols}. Эти протокольные поверхности открываются в коммерческих редакциях.', + 'wizard.step5.streaming_title': 'Потоковое выполнение в Community', + 'wizard.step5.community_streaming_note': 'В этой Community-сборке операции остаются в режиме unary. Семейства инструментов window, session и async job требуют коммерческую редакцию.', + 'wizard.step2.title': 'Выберите upstream и endpoint', + 'wizard.step2.subtitle': 'Выберите существующий upstream или зарегистрируйте новый. Затем задайте конкретный путь endpoint-а для этой операции.', + 'wizard.required': 'Обязательно', + 'wizard.optional': 'Необязательно', + 'wizard.step2.upstream_title': 'Upstream', + 'wizard.step2.upstream_subtitle': 'Общий хост, базовый URL и аутентификация', + 'wizard.step2.upstream_placeholder': 'Выберите upstream…', + 'wizard.step2.search_placeholder': 'Поиск по имени или URL…', + 'wizard.step2.change': 'Изменить', + 'wizard.step2.auth_none': 'Без авторизации', + 'wizard.step2.auth_bearer': 'Bearer token', + 'wizard.step2.auth_basic': 'Basic auth', + 'wizard.step2.auth_apikey': 'API key', + 'wizard.step2.register_new': 'Зарегистрировать новый upstream', + 'wizard.step2.name': 'Имя', + 'wizard.step2.base_url': 'Base URL', + 'wizard.step2.unique_hint': 'Уникальный идентификатор этого upstream-а.', + 'wizard.step2.base_url_hint': 'Корневой URL без завершающего слеша. Auth настраивается отдельно ниже.', + 'wizard.step2.auth_selector': 'Upstream auth', + 'wizard.step2.auth_selector_hint': 'Используйте secrets-backed auth profiles вместо встраивания credential headers в определение upstream-а.', + 'wizard.step2.auth_mode.none': 'Без авторизации', + 'wizard.step2.auth_mode.existing': 'Использовать существующий auth profile', + 'wizard.step2.auth_mode.create': 'Создать auth profile сейчас', + 'wizard.step2.auth_profile': 'Auth profile', + 'wizard.step2.auth_profile_hint': 'Выбранный профиль применяется автоматически при каждом вызове инструмента.', + 'wizard.step2.auth_profile_empty': 'Auth profiles пока нет. Создайте его ниже или на странице Secrets.', + 'wizard.step2.create_profile_title': 'Создать auth profile', + 'wizard.step2.create_profile_subtitle': 'Создайте переиспользуемый профиль на базе зашифрованных workspace secrets.', + 'wizard.step2.profile_name': 'Имя профиля', + 'wizard.step2.profile_kind': 'Тип auth', + 'wizard.step2.auth_kind.bearer': 'Bearer token', + 'wizard.step2.auth_kind.basic': 'Basic auth', + 'wizard.step2.auth_kind.api_key_header': 'API key header', + 'wizard.step2.auth_kind.api_key_query': 'API key query', + 'wizard.step2.header_name': 'Имя заголовка', + 'wizard.step2.query_param': 'Query param', + 'wizard.step2.username_secret': 'Секрет логина', + 'wizard.step2.password_secret': 'Секрет пароля', + 'wizard.step2.secret_value': 'Секрет', + 'wizard.step2.quick_secret': 'Быстро создать секрет', + 'wizard.step2.manage_secrets': 'Открыть страницу Secrets', + 'wizard.step2.static_headers': 'Статические заголовки (опционально)', + 'wizard.step2.static_headers_hint': 'Необязательные не-секретные заголовки для каждого запроса к этому upstream-у. Для credential flows используйте auth profiles.', + 'wizard.step2.quick_secret_title': 'Быстро создать секрет', + 'wizard.step2.quick_secret_name': 'Имя секрета', + 'wizard.step2.quick_secret_kind': 'Тип секрета', + 'wizard.step2.quick_secret_value': 'Значение секрета', + 'wizard.step2.quick_secret_hint': 'Plaintext сразу шифруется и больше не возвращается.', + 'wizard.step2.quick_secret_submit': 'Создать секрет', + 'wizard.step2.save_upstream': 'Сохранить upstream', + 'wizard.step2.endpoint_title': 'Endpoint', + 'wizard.step2.endpoint_subtitle': 'Путь и HTTP-метод для конкретной операции', + 'wizard.step2.path_template': 'Шаблон пути', + 'wizard.step2.path_hint': 'Добавляется к base URL upstream-а. Используйте {param} для path-параметров.', + 'wizard.step3.rest.label': 'Конфиг запроса', + 'wizard.step3.graphql.label': 'GQL операция', + 'wizard.step3.rest.title': 'HTTP метод и формат', + 'wizard.step3.rest.subtitle': 'Выберите HTTP-метод, который отправляет эта операция, и настройте content negotiation headers. Crank сериализует аргументы MCP-инструмента в нужный формат request body.', + 'wizard.step3.rest.method_title': 'HTTP метод', + 'wizard.step3.rest.method_subtitle': 'Метод, который отправляется в upstream при каждом вызове инструмента', + 'wizard.step3.rest.read': 'Чтение', + 'wizard.step3.rest.create': 'Создание', + 'wizard.step3.rest.replace': 'Замена', + 'wizard.step3.rest.update': 'Обновление', + 'wizard.step3.rest.remove': 'Удаление', + 'wizard.step3.rest.format_title': 'Формат запроса', + 'wizard.step3.rest.format_subtitle': 'Content negotiation и сериализация', + 'wizard.step3.rest.content_type': 'Content-Type', + 'wizard.step3.rest.content_type_hint': 'Как кодируется request body перед отправкой в upstream.', + 'wizard.step3.rest.accept': 'Accept', + 'wizard.step3.rest.accept_hint': 'Какие типы ответа принимаются от upstream-сервера.', + 'wizard.step3.graphql.title': 'GraphQL операция', + 'wizard.step3.graphql.subtitle': 'Определите GraphQL-операцию, которую будет выполнять этот инструмент. Все запросы отправляются как HTTP POST на endpoint, настроенный на предыдущем шаге. Variables заполняются из аргументов MCP-инструмента во время выполнения.', + 'wizard.step3.graphql.type_title': 'Тип операции', + 'wizard.step3.graphql.type_subtitle': 'Вид GraphQL-операции — subscriptions не поддерживаются', + 'wizard.step3.graphql.query_desc': 'Получение данных без побочных эффектов', + 'wizard.step3.graphql.mutation_desc': 'Создание, изменение или удаление данных', + 'wizard.step3.graphql.doc_title': 'Документ запроса', + 'wizard.step3.graphql.doc_subtitle': 'GraphQL-документ с типизированными объявлениями переменных', + 'wizard.step3.graphql.variables_title': 'Переменные мапятся на шаге 5', + 'wizard.step3.graphql.variables_body': 'Объявите все переменные в документе запроса в формате $variable: Type. На шаге 5 вы свяжете поля MCP input-а с этими переменными. Crank автоматически сериализует итоговый payload {"query","variables"}.', + 'wizard.step4.title': 'Конфиг инструмента', + 'wizard.step4.subtitle': 'Задайте имя инструмента, описание для LLM и определите входную/выходную схему. Описание — главный сигнал, по которому модель решает, вызывать ли этот инструмент.', + 'wizard.step4.identity_title': 'Идентичность инструмента', + 'wizard.step4.identity_subtitle': 'Машиночитаемое имя и описание для LLM', + 'wizard.step4.tool_name': 'Имя инструмента', + 'wizard.step4.tool_name_hint': 'Машиночитаемый идентификатор для MCP tool calls. Только строчные буквы, цифры и подчеркивания. После публикации изменить нельзя.', + 'wizard.step4.display_name': 'Отображаемое имя', + 'wizard.step4.display_name_hint': 'Человеко-читаемое имя для консоли и журнала аудита.', + 'wizard.step4.tool_title': 'Tool title', + 'wizard.step4.tool_title_hint': 'Короткая императивная фраза, которая попадет в MCP tool manifest.', + 'wizard.step4.description': 'Описание', + 'wizard.step4.description_hint': 'Описание для LLM. Пишите точно — это главный сигнал, по которому модель решает, нужно ли вызывать инструмент.', + 'wizard.step4.description_title': 'Как писать хорошие описания', + 'wizard.step4.description_body': 'Начинайте с глагола ("Создает", "Получает", "Обновляет"). Укажите ключевые требования ко входу. Опишите, как выглядит успешный ответ. Избегайте расплывчатых формулировок вроде "обрабатывает" или "управляет". См. рекомендации по описаниям →', + 'wizard.step4.input_schema_title': 'Входная схема', + 'wizard.step4.input_schema_subtitle': 'Параметры, которые LLM передает при вызове инструмента', + 'wizard.step4.output_schema_title': 'Выходная схема', + 'wizard.step4.output_schema_subtitle': 'Форма данных, которые LLM получает после успешного вызова', + 'wizard.step4.schema_draft': 'JSON Schema draft-07', + 'wizard.step4.protocol_agnostic_title': 'Схемы не зависят от протокола', + 'wizard.step4.protocol_agnostic_body': 'Эти схемы описывают MCP-контракт, а не wire-format upstream-а. Маппинг на шаге 5 переводит одно в другое. Можно загрузить sample JSON-ответа, чтобы автоматически сгенерировать output schema.', + 'wizard.step5.title': 'Mapping и исполнение', + 'wizard.step5.subtitle': 'Определите, как аргументы MCP-инструмента мапятся в поля upstream-запроса и как ответ upstream-а мапится обратно в MCP output. Затем задайте execution-параметры — auth настраивается на уровне upstream на шаге 2.', + 'wizard.step5.input_request': 'Input → Request', + 'wizard.step5.output_response': 'Response → Output', + 'wizard.step5.execution': 'Исполнение', + 'wizard.step5.exec_title': 'Execution config', + 'wizard.step5.exec_subtitle': 'Таймауты, retry policy и ссылка на auth profile', + 'wizard.step5.security_level_title': 'Защита операций в Community', + 'wizard.step5.community_security_note': 'Community поддерживает только стандартный уровень защиты операций со статическими ключами AI-агента. Короткоживущие и одноразовые токены требуют коммерческую редакцию.', + 'wizard.step5.live_title': 'Live-проверка и публикация', + 'wizard.step5.draft_actions': 'Действия черновика', + 'wizard.step5.live_save_title': 'Live-действия сначала сохраняют черновик', + 'wizard.step5.live_save_body': 'Загрузка sample-ов, тестовые прогоны, YAML-действия и публикация сначала сохраняют текущий черновик перед вызовом backend-а.', + 'wizard.step5.samples_title': 'Samples и генерация черновика', + 'wizard.step5.samples_subtitle': 'Сохраните входные и выходные sample-ы, затем сгенерируйте схемы и маппинг из реальных payload-ов.', + 'wizard.step5.input_sample': 'Входной sample', + 'wizard.step5.output_sample': 'Выходной sample', + 'wizard.step5.save_input_sample': 'Сохранить входной sample', + 'wizard.step5.save_output_sample': 'Сохранить выходной sample', + 'wizard.step5.generate_draft': 'Сгенерировать черновик из sample-ов', + 'wizard.step5.test_title': 'Тестовый прогон', + 'wizard.step5.test_subtitle': 'Проверьте текущий черновик на upstream-е перед публикацией.', + 'wizard.step5.test_input_payload': 'Входной payload для теста', + 'wizard.step5.run_test': 'Запустить тест', + 'wizard.step5.use_response_output': 'Использовать ответ как выходной sample', + 'wizard.step5.request_preview': 'Предпросмотр запроса', + 'wizard.step5.response_preview': 'Предпросмотр ответа', + 'wizard.step5.errors': 'Ошибки', + 'wizard.step5.choose_descriptor': 'Выбрать descriptor set', + 'wizard.step5.upload_discover': 'Загрузить и открыть сервисы', + 'wizard.step5.no_descriptor': 'Descriptor set не выбран', + 'wizard.step5.yaml_title': 'Импорт и экспорт YAML', + 'wizard.step5.yaml_subtitle': 'Переносите черновики операций между окружениями, не выходя из мастера.', + 'wizard.step5.export_yaml': 'Экспорт YAML', + 'wizard.step5.load_yaml_file': 'Загрузить YAML-файл', + 'wizard.step5.import_yaml': 'Импорт YAML', + 'wizard.step5.yaml_document': 'YAML-документ', + 'wizard.step5.yaml_placeholder': 'Вставьте экспортированный YAML сюда, чтобы создать или обновить операцию.', + 'wizard.step5.publish_title': 'Публикация', + 'wizard.step5.publish_subtitle': 'Сохраните текущий черновик и откройте его опубликованным агентам.', + 'wizard.step5.publish_hint': 'Публикация использует текущую версию черновика из этой сессии мастера.', + 'wizard.step5.publish_action': 'Опубликовать операцию', + 'wizard.step5.editable_title': 'Операция остается редактируемой в этом мастере', + 'wizard.step5.editable_body': 'Сохранение создает или обновляет текущий черновик на месте. Используйте live-действия выше, чтобы загрузить sample-ы, протестировать черновик, экспортировать или импортировать YAML и опубликовать контракт, когда он будет готов.', + 'wizard.live.failed_title': 'Не удалось выполнить live-действие', + 'wizard.live.failed_body': 'Запрос к backend завершился ошибкой. Проверьте черновик и попробуйте еще раз.', + 'wizard.error.no_workspace': 'Воркспейс не выбран', + 'wizard.error.tool_name': 'Имя инструмента обязательно', + 'wizard.error.parser_unavailable': 'YAML parser недоступен', + 'wizard.error.select_upstream': 'Сначала выберите или зарегистрируйте upstream', + 'wizard.error.auth_profile_required': 'Выберите auth profile или переключите upstream auth в режим «Без авторизации».', + 'wizard.error.auth_profile_name': 'Нужно указать имя auth profile.', + 'wizard.error.secret_required': 'Выберите секрет, необходимый для этого auth profile.', + 'wizard.error.basic_secrets_required': 'Выберите секреты и для логина, и для пароля.', + 'wizard.error.header_name_required': 'Для этого auth profile нужно указать имя заголовка.', + 'wizard.error.query_param_required': 'Для этого auth profile нужно указать имя query-параметра.', + 'wizard.error.secret_name_required': 'Нужно указать имя секрета.', + 'wizard.error.secret_value_required': 'Нужно указать значение секрета.', + 'wizard.error.save_upstream_first': 'Сначала сохраните upstream после создания нового auth profile.', + 'wizard.toast.auth_profile_created_title': 'Auth profile создан', + 'wizard.toast.auth_profile_created_body': 'Новый upstream auth profile готов и уже выбран.', + 'wizard.toast.auth_profile_error_title': 'Не удалось создать auth profile', + 'wizard.toast.quick_secret_created_title': 'Секрет создан', + 'wizard.toast.quick_secret_created_body': 'Новый секрет уже доступен в auth selector.', + 'wizard.toast.quick_secret_error_title': 'Не удалось создать секрет', + 'wizard.error.save': 'Не удалось сохранить операцию', + 'wizard.error.save_title': 'Не удалось сохранить', + 'wizard.save.created': 'Черновик создан', + 'wizard.save.updated': 'Черновик обновлен', + 'wizard.save.body': 'Текущий черновик сохранен в backend и готов к live-действиям в этом мастере.', + 'wizard.save.saved': 'Сохранено ✓', + 'wizard.busy.input_sample': 'Сохранение входного sample…', + 'wizard.busy.output_sample': 'Сохранение выходного sample…', + 'wizard.busy.generate': 'Генерация черновика…', + 'wizard.busy.test': 'Запуск теста…', + 'wizard.busy.export_yaml': 'Экспорт YAML…', + 'wizard.busy.import_yaml': 'Импорт YAML…', + 'wizard.busy.publish': 'Публикация операции…', + 'wizard.busy.descriptor': 'Загрузка descriptor set…', + 'wizard.busy.wsdl': 'Inspection WSDL…', + 'wizard.sample.input_saved': 'Входной sample сохранен', + 'wizard.sample.input_saved_body': 'Входной sample теперь сохранен в текущей версии черновика.', + 'wizard.sample.output_saved': 'Выходной sample сохранен', + 'wizard.sample.output_saved_body': 'Выходной sample теперь сохранен в текущей версии черновика.', + 'wizard.sample.generated': 'Черновик сгенерирован', + 'wizard.sample.generated_body': 'Схемы и mapping были пересобраны из сохраненных sample-ов.', + 'wizard.test.completed': 'Тестовый прогон завершен', + 'wizard.test.failed': 'Тестовый прогон вернул ошибки', + 'wizard.test.completed_body': 'Текущий черновик успешно выполнился против upstream.', + 'wizard.test.failed_body': 'Черновик выполнился, но backend вернул ошибки валидации или runtime.', + 'wizard.test.window_completed': 'Оконный тест завершен', + 'wizard.test.window_completed_body': 'Собран ограниченный результат окна.', + 'wizard.test.window_truncated_note': 'Результат был усечен.', + 'wizard.test.window_more_note': 'Доступно продолжение, если перейти к streaming-представлениям.', + 'wizard.test.window_incomplete_note': 'Upstream-поток завершился раньше, чем удалось собрать всё окно.', + 'wizard.test.websocket_window_completed': 'WebSocket оконный тест завершен', + 'wizard.test.websocket_window_completed_body': 'В пределах ограниченного тестового окна собрано {items} WebSocket event(s).', + 'wizard.test.websocket_window_truncated_note': 'Ограниченное окно остановилось после достижения лимита по элементам или байтам.', + 'wizard.test.websocket_window_more_note': 'Сокет выдал больше событий, чем сохранило это тестовое окно. Увеличьте лимиты или переключитесь в session mode, если нужен более длинный поток.', + 'wizard.test.websocket_window_incomplete_note': 'Upstream WebSocket закрылся до того, как bounded окно успело собрать все настроенные события.', + 'wizard.test.websocket_session_started': 'WebSocket session-тест запущен', + 'wizard.test.websocket_session_started_body': 'WebSocket session {session_id} создана. Продолжайте в разделе Stream sessions через короткую паузу.', + 'wizard.test.websocket_async_job_started': 'WebSocket async job тест запущен', + 'wizard.test.websocket_async_job_started_body': 'Создан WebSocket async job {job_id}. Дальше отслеживайте статус и результат в представлении async jobs.', + 'wizard.test.websocket_failed': 'WebSocket тест завершился с ошибками', + 'wizard.test.websocket_failed_body': 'Тест сокета завершился до того, как Crank успел собрать bounded result window.', + 'wizard.test.websocket_failed_reconnect_body': 'Upstream WebSocket закрылся раньше, чем удалось собрать достаточно событий, и настроенная reconnect policy была исчерпана.', + 'wizard.test.websocket_failed_closed_body': 'Upstream WebSocket закрылся до завершения bounded test window.', + 'wizard.test.session_started': 'Session-тест запущен', + 'wizard.test.session_started_body': 'Сессия {session_id} создана. Проверьте статус в разделе Stream sessions через несколько секунд.', + 'wizard.test.async_job_started': 'Async job тест запущен', + 'wizard.test.async_job_started_body': 'Создан async job {job_id}. Отслеживайте статус и результат через представление async jobs.', + 'wizard.test.no_response': 'Тестового ответа пока нет', + 'wizard.test.no_response_body': 'Сначала выполните тест, затем скопируйте response preview в editor output sample.', + 'wizard.test.response_copied': 'Ответ скопирован', + 'wizard.test.response_copied_body': 'Последний тестовый ответ скопирован в editor output sample.', + 'wizard.boolean.yes': 'да', + 'wizard.boolean.no': 'нет', + 'wizard.yaml.exported': 'YAML экспортирован', + 'wizard.yaml.exported_body': 'YAML текущего черновика скачан из backend.', + 'wizard.yaml.none': 'YAML не предоставлен', + 'wizard.yaml.none_body': 'Вставьте YAML-документ или загрузите файл перед импортом.', + 'wizard.yaml.imported': 'YAML импортирован', + 'wizard.yaml.imported_body': 'Импортированный черновик операции сохранен. Мастер сейчас откроет его заново.', + 'wizard.yaml.loaded': 'YAML загружен', + 'wizard.yaml.loaded_body': 'YAML-документ загружен в editor импорта.', + 'wizard.publish.done': 'Операция опубликована', + 'wizard.publish.done_body': 'Версия {version} опубликована и теперь может быть привязана к агентам.', + 'wizard.grpc.discovery_title': 'gRPC discovery переведен в live descriptor flow', + 'wizard.grpc.discovery_body': 'Server reflection в этом развертывании не подключен. Сохраните черновик и используйте инструменты descriptor set на шаге 5, чтобы загрузить реальный descriptor set и открыть unary methods из backend.', + 'wizard.grpc.no_methods': 'Unary RPC methods не найдены.', + 'wizard.grpc.fields_unresolved': 'Поля не разрешены.', + 'wizard.grpc.fields_unresolved_body': 'Import-ы или внешние типы не разворачиваются на стороне клиента.', + 'wizard.grpc.services_found': 'Найдено {services_label} и {methods_label}.', + 'wizard.grpc.services_label.one': '{count} сервис', + 'wizard.grpc.services_label.few': '{count} сервиса', + 'wizard.grpc.services_label.many': '{count} сервисов', + 'wizard.grpc.services_label.other': '{count} сервиса', + 'wizard.grpc.methods_label.one': '{count} unary-метод', + 'wizard.grpc.methods_label.few': '{count} unary-метода', + 'wizard.grpc.methods_label.many': '{count} unary-методов', + 'wizard.grpc.methods_label.other': '{count} unary-метода', + 'wizard.grpc.services_discovered': 'Сервисов открыто: {services} · unary методов: {methods}', + 'wizard.grpc.services_none': 'Unary methods пока не открыты', + + // Common buttons + 'btn.save': 'Сохранить', + 'btn.cancel': 'Отмена', + 'btn.create': 'Создать', + 'btn.delete': 'Удалить', + 'btn.revoke': 'Отозвать', + 'btn.copy': 'Копировать', + + // Agents page + 'agents.title': 'Агенты', + 'agents.subtitle': 'Именованные MCP endpoint-ы, открывающие LLM ограниченный набор операций', + 'agents.subtitle.community': 'Отдельные MCP endpoint-ы для AI-агентов. В Community машинный доступ держится на статических ключах агента.', + 'agents.new': 'Новый агент', + 'agents.limit.title': 'Достигнут лимит агентов', + 'agents.limit.message': 'В этой Community-сборке доступно не более {limit} AI-агента. Чтобы добавить еще одного, удалите существующего агента или перейдите на другую редакцию.', + 'agents.stats.total': 'Всего агентов', + 'agents.stats.total_sub': 'в этом воркспейсе', + 'agents.stats.published': 'Опубликованы', + 'agents.stats.published_sub': '{value}% от общего числа', + 'agents.stats.tools': 'Открытых операций', + 'agents.stats.tools_sub': 'в {count} агентах', + 'agents.stats.calls': 'Вызовов сегодня', + 'agents.stats.calls_sub': 'по всем агентам', + 'agents.search': 'Поиск агентов...', + 'agents.results': '{shown} из {total} агентов', + 'agents.callout.default': 'У каждого агента свой MCP endpoint. Подключайте LLM-клиент к конкретному агенту, чтобы он видел только нужные инструменты, а не все {count} операций этого воркспейса.', + 'agents.callout.community': 'В Community у каждого агента свой MCP endpoint и свои статические ключи агента. Подключайте LLM-клиент к конкретному агенту, чтобы он видел только нужные инструменты, а не все {count} операций этого воркспейса.', + 'agents.loading': 'Загрузка агентов…', + 'agents.error.title': 'Не удалось загрузить агентов', + 'agents.error.api': 'Воркспейс или API недоступен', + 'agents.error.load': 'Не удалось загрузить агентов', + 'agents.empty.initial.title': 'Агентов пока нет', + 'agents.empty.initial.sub': 'Создайте первого агента, чтобы получить отдельный MCP endpoint с нужным набором инструментов.', + 'agents.empty.initial.sub_community': 'Создайте первого агента, чтобы получить один отдельный MCP endpoint и его статические машинные ключи для конкретного набора инструментов.', + 'agents.empty.initial.next_step': 'После создания выпустите отдельные машинные ключи для этого endpoint на странице API Keys.', + 'agents.empty.search.title': 'Нет агентов по запросу "{query}"', + 'agents.empty.search.sub': 'Попробуйте другой поисковый запрос.', + 'agents.card.tools': 'инструментов', + 'agents.card.keys': 'ключей', + 'agents.card.calls_today': 'вызовов сегодня', + 'agents.card.created': 'Создан {date}', + 'agents.card.copy_endpoint': 'Скопировать endpoint', + 'agents.card.endpoint_help': 'Используйте этот MCP endpoint в клиенте и управляйте его машинными ключами на странице API Keys.', + 'agents.card.endpoint_help_community': 'Используйте этот MCP endpoint в клиенте. В Community машинный доступ держится на статических ключах агента со страницы API Keys.', + 'agents.action.edit': 'Редактировать', + 'agents.action.archive': 'Архивировать', + 'agents.action.delete': 'Удалить', + 'agents.lifecycle.publish': 'Опубликовать', + 'agents.lifecycle.unpublish': 'Снять с публикации', + 'agents.lifecycle.restore_draft': 'Вернуть в черновик', + 'agents.lifecycle.published': 'Опубликован', + 'agents.lifecycle.archived': 'Архивирован', + 'agents.lifecycle.draft': 'Черновик', + 'agents.drawer.new_title': 'Новый агент', + 'agents.drawer.edit_title': 'Редактировать агента', + 'agents.drawer.new_sub': 'Настройте именованный MCP endpoint для вашей LLM', + 'agents.drawer.new_sub_community': 'Настройте один MCP endpoint и его границу на статических ключах агента для конкретного LLM-сценария', + 'agents.drawer.edit_sub': 'Обновите настройки агента и выбор инструментов', + 'agents.drawer.identity': 'Идентичность', + 'agents.drawer.display_name': 'Отображаемое имя', + 'agents.drawer.slug': 'Slug', + 'agents.drawer.description': 'Описание', + 'agents.drawer.optional': '(необязательно)', + 'agents.drawer.required': 'обязательно', + 'agents.drawer.status': 'Статус', + 'agents.drawer.endpoint': 'MCP endpoint', + 'agents.drawer.slug_hint': 'Сохраняйте slug стабильным после подключения клиентов. Его изменение меняет MCP path.', + 'agents.drawer.placeholder.name': 'Customer Support', + 'agents.drawer.placeholder.slug': 'customer-support', + 'agents.drawer.placeholder.description': 'Что делает этот агент? Для какой LLM или сценария он нужен?', + 'agents.drawer.operations': 'Операции', + 'agents.drawer.selected': 'Выбрано: {count}', + 'agents.drawer.operations_sub': 'Выберите операции, которые открывает этот агент. LLM, подключенная к агенту, увидит только эти инструменты.', + 'agents.drawer.operations_sub_community': 'Выберите операции, которые открывает этот агент. Любые ключи, выпущенные для этого агента, будут работать только против этого MCP endpoint.', + 'agents.drawer.filter_ops': 'Фильтр операций…', + 'agents.drawer.ops_no_match': 'Нет операций по запросу "{query}"', + 'agents.drawer.ops_selected': 'Выбрано операций: {count}', + 'agents.drawer.clear_all': 'Очистить все', + 'agents.drawer.recommendation': 'Сейчас выбрано {count} инструментов. LLM лучше работает, когда у агента меньше 15 инструментов. Подумайте о разбиении по сценариям.', + 'agents.drawer.cancel': 'Отмена', + 'agents.drawer.create': 'Создать агента', + 'agents.drawer.save': 'Сохранить изменения', + 'agents.toast.saved_title_create': 'Агент создан', + 'agents.toast.saved_title_update': 'Агент обновлен', + 'agents.toast.saved_message': '{name} сохранен, привязано инструментов: {count}.', + 'agents.toast.save_error_title': 'Не удалось обновить агента', + 'agents.toast.save_error_message': 'Не удалось сохранить агента', + 'agents.toast.delete_confirm': 'Удалить этого агента? Действие нельзя отменить.', + 'agents.toast.delete_title': 'Агент удален', + 'agents.toast.delete_message': 'Агент {name} удален.', + 'agents.toast.delete_error_title': 'Не удалось удалить', + 'agents.toast.delete_error_message': 'Не удалось удалить агента', + 'agents.toast.lifecycle_title': 'Жизненный цикл агента обновлен', + 'agents.toast.lifecycle_publish': '{name} опубликован.', + 'agents.toast.lifecycle_unpublish': '{name} возвращен в черновик.', + 'agents.toast.lifecycle_archive': '{name} архивирован.', + 'agents.toast.lifecycle_error_title': 'Не удалось обновить жизненный цикл', + 'agents.toast.lifecycle_error_message': 'Не удалось обновить состояние агента', + 'agents.toast.endpoint_title': 'MCP endpoint скопирован', + + // Demo content + 'demo.agent.revops-copilot.display_name': 'Помощник RevOps', + 'demo.agent.revops-copilot.description': 'Ассистент Revenue Operations с CRM- и billing-инструментами.', + 'demo.agent.support-triage.display_name': 'Триаж поддержки', + 'demo.agent.support-triage.description': 'Черновой агент поддержки, сфокусированный на unary gRPC-сценариях.', + 'demo.operation.crm_create_lead.display_name': 'Создать CRM-лид', + 'demo.operation.crm_create_lead.description': 'Создает запись лида в CRM-системе.', + 'demo.operation.billing_get_invoice.display_name': 'Статус инвойса', + 'demo.operation.billing_get_invoice.description': 'Получает состояние и сумму инвойса из billing-системы.', + 'demo.operation.support_lookup_ticket.display_name': 'Найти тикет поддержки', + 'demo.operation.support_lookup_ticket.description': 'Черновой unary gRPC lookup поддержки через descriptor set.', + 'demo.operation.marketing_archive_contact.display_name': 'Архивировать маркетинговый контакт', + 'demo.operation.marketing_archive_contact.description': 'Устаревший архивный сценарий, оставленный только для аудита.', + + // Login + 'login.title': 'Войти', + 'login.subtitle': 'Добро пожаловать обратно', + 'login.email': 'Email', + 'login.password': 'Пароль', + 'login.submit': 'Войти', + 'login.sso': 'Войти через Google', + 'login.email_label': 'Email адрес', + 'login.email_placeholder': 'you@acme.com', + 'login.forgot': 'Забыли пароль?', + 'login.divider': 'или продолжить через', + 'login.sso_short': 'Google SSO', + 'login.request_prefix': 'Нет аккаунта?', + 'login.request_link': 'Запросить доступ', + 'login.planned_badge': 'Запланировано', + 'login.password_only': 'Войдите с помощью email и пароля.', + 'login.coming_soon': 'Сброс пароля и SSO появятся позже.', + 'login.error.required': 'Введите email и пароль.', + 'login.error.invalid': 'Неверный email или пароль. Попробуйте еще раз.', + 'login.error.generic': 'Сейчас не удается войти. Попробуйте еще раз.', + } +}; + +Object.assign(TRANSLATIONS.en, { + + +}); + +Object.assign(TRANSLATIONS.ru, { + + +}); + +function t(key) { + var lang = localStorage.getItem('crank_lang') || 'en'; + var tr = TRANSLATIONS[lang] || TRANSLATIONS.en; + return tr[key] !== undefined ? tr[key] : (TRANSLATIONS.en[key] !== undefined ? TRANSLATIONS.en[key] : key); +} + +function tf(key, vars) { + return Object.keys(vars || {}).reduce(function(result, name) { + return result.replaceAll('{' + name + '}', vars[name]); + }, t(key)); +} + +function pluralForm(lang, count) { + if (typeof Intl !== 'undefined' && typeof Intl.PluralRules === 'function') { + return new Intl.PluralRules(lang).select(Number(count) || 0); + } + return Number(count) === 1 ? 'one' : 'other'; +} + +function tPlural(key, count, vars) { + var lang = localStorage.getItem('crank_lang') || 'en'; + var tr = TRANSLATIONS[lang] || TRANSLATIONS.en; + var form = pluralForm(lang, count); + var fallbackForm = pluralForm('en', count); + var resolvedKey = tr[key + '.' + form] !== undefined + ? key + '.' + form + : tr[key + '.other'] !== undefined + ? key + '.other' + : TRANSLATIONS.en[key + '.' + fallbackForm] !== undefined + ? key + '.' + fallbackForm + : TRANSLATIONS.en[key + '.other'] !== undefined + ? key + '.other' + : key; + var payload = Object.assign({ count: count }, vars || {}); + return Object.keys(payload).reduce(function(result, name) { + return result.replaceAll('{' + name + '}', payload[name]); + }, t(resolvedKey)); +} + +function hasTranslation(key) { + return t(key) !== key; +} + +function localizeDemoAgent(agent) { + if (!agent || !agent.slug) { + return agent; + } + + var displayNameKey = 'demo.agent.' + agent.slug + '.display_name'; + var descriptionKey = 'demo.agent.' + agent.slug + '.description'; + + if (!hasTranslation(displayNameKey) && !hasTranslation(descriptionKey)) { + return agent; + } + + return Object.assign({}, agent, { + display_name: hasTranslation(displayNameKey) ? t(displayNameKey) : agent.display_name, + description: hasTranslation(descriptionKey) ? t(descriptionKey) : agent.description, + }); +} + +function localizeDemoOperation(operation) { + if (!operation || !operation.name) { + return operation; + } + + var displayNameKey = 'demo.operation.' + operation.name + '.display_name'; + var descriptionKey = 'demo.operation.' + operation.name + '.description'; + + if (!hasTranslation(displayNameKey) && !hasTranslation(descriptionKey)) { + return operation; + } + + var next = Object.assign({}, operation); + + if (hasTranslation(displayNameKey)) { + next.display_name = t(displayNameKey); + if (Object.prototype.hasOwnProperty.call(operation, 'operation_display_name')) { + next.operation_display_name = t(displayNameKey); + } + } + + if (hasTranslation(descriptionKey)) { + if (Object.prototype.hasOwnProperty.call(operation, 'description')) { + next.description = t(descriptionKey); + } + if (Object.prototype.hasOwnProperty.call(operation, 'tool_description')) { + next.tool_description = t(descriptionKey); + } + } + + return next; +} + +window.localizeDemoAgent = localizeDemoAgent; +window.localizeDemoOperation = localizeDemoOperation; +window.tPlural = tPlural; + +function applyLang() { + // text content + document.querySelectorAll('[data-i18n]').forEach(function(el) { + el.textContent = t(el.getAttribute('data-i18n')); + }); + // placeholder + document.querySelectorAll('[data-i18n-ph]').forEach(function(el) { + el.placeholder = t(el.getAttribute('data-i18n-ph')); + }); + // title + document.querySelectorAll('[data-i18n-title]').forEach(function(el) { + el.title = t(el.getAttribute('data-i18n-title')); + }); + // aria-label + document.querySelectorAll('[data-i18n-aria-label]').forEach(function(el) { + el.setAttribute('aria-label', t(el.getAttribute('data-i18n-aria-label'))); + }); + // highlight active language button in settings + var lang = localStorage.getItem('crank_lang') || 'en'; + document.querySelectorAll('.lang-btn').forEach(function(btn) { + btn.classList.toggle('active', btn.dataset.lang === lang); + }); +} + +function setLang(lang) { + localStorage.setItem('crank_lang', lang); + applyLang(); + // Notify Alpine components to re-render reactive getters + window.dispatchEvent(new CustomEvent('crank:langchange', { detail: { lang: lang } })); +} + +document.addEventListener('DOMContentLoaded', applyLang); diff --git a/apps/ui/js/login.js b/apps/ui/js/login.js new file mode 100644 index 0000000..d056d93 --- /dev/null +++ b/apps/ui/js/login.js @@ -0,0 +1,54 @@ +(function() { + function tKey(key) { + return window.t ? t(key) : key; + } + + function showError(message) { + var errorElement = document.getElementById('login-error'); + errorElement.classList.add('is-visible'); + errorElement.textContent = message; + } + + function hideError() { + var errorElement = document.getElementById('login-error'); + errorElement.classList.remove('is-visible'); + } + + function initLoginPage() { + window.CrankAuth.guardLoginPage().catch(function(error) { + if (window.CrankDiagnostics && typeof window.CrankDiagnostics.report === 'function') { + window.CrankDiagnostics.report('guard-login-page', error, 'login'); + } + }); + + document.getElementById('login-form').addEventListener('submit', async function(event) { + event.preventDefault(); + + var email = document.getElementById('email').value.trim(); + var password = document.getElementById('password').value; + + if (!email || !password) { + showError(tKey('login.error.required')); + return; + } + + hideError(); + + try { + await window.CrankAuth.login(email, password); + } catch (error) { + if (error && error.status === 401) { + showError(tKey('login.error.invalid')); + return; + } + showError(tKey('login.error.generic')); + } + }); + } + + if (window.CrankDiagnostics && typeof window.CrankDiagnostics.bootstrap === 'function') { + window.CrankDiagnostics.bootstrap('login', initLoginPage); + return; + } + document.addEventListener('DOMContentLoaded', initLoginPage); +}()); diff --git a/apps/ui/js/logs.js b/apps/ui/js/logs.js new file mode 100644 index 0000000..b51f776 --- /dev/null +++ b/apps/ui/js/logs.js @@ -0,0 +1,419 @@ +document.addEventListener('DOMContentLoaded', function () { + var state = { + logs: [], + details: {}, + level: 'all', + search: '', + period: '7d', + openId: null, + liveMode: true, + timer: null, + workspaceId: null, + loading: false, + loadError: '', + }; + + var logList = document.getElementById('log-list'); + var logSearch = document.getElementById('log-search'); + var refreshBtn = document.getElementById('refresh-btn'); + var timeRangeSel = document.getElementById('time-range'); + var liveDot = document.querySelector('.live-dot'); + var liveLabel = document.querySelector('.live-label'); + + function tKey(key) { + return window.t ? t(key) : key; + } + + function currentWorkspaceId() { + var workspace = window.getCurrentWorkspace ? window.getCurrentWorkspace() : null; + return workspace ? workspace.id : null; + } + + function durationLabel(durationMs) { + if (!durationMs) { + return '0ms'; + } + if (durationMs >= 1000) { + return (durationMs / 1000).toFixed(1) + 's'; + } + return durationMs + 'ms'; + } + + function formatJson(value) { + if (value === null || value === undefined) { + return ''; + } + if (typeof value === 'string') { + return value; + } + return JSON.stringify(value, null, 2); + } + + function formatTime(timestamp) { + var date = new Date(timestamp); + return date.toISOString().slice(11, 23); + } + + function element(tag, className, text) { + var node = document.createElement(tag); + if (className) node.className = className; + if (text !== undefined && text !== null) node.textContent = text; + return node; + } + + function statusClass(statusCode) { + if (!statusCode) { + return ''; + } + if (statusCode < 300) { + return 'ok'; + } + if (statusCode < 500) { + return 'warn'; + } + return 'err'; + } + + function normalizeLog(record) { + var log = record.log; + var agent = window.localizeDemoAgent + ? window.localizeDemoAgent({ + slug: record.agent_slug, + display_name: record.agent_display_name, + description: '', + }) + : null; + var operation = window.localizeDemoOperation + ? window.localizeDemoOperation({ + name: record.operation_name, + operation_display_name: record.operation_display_name, + }) + : null; + + return { + id: log.id, + createdAt: log.created_at, + level: log.level, + source: log.source, + status: log.status, + statusCode: log.status_code, + durationMs: log.duration_ms, + toolName: log.tool_name, + message: log.message, + operationName: record.operation_name, + operationDisplayName: operation ? operation.operation_display_name : record.operation_display_name, + agentSlug: record.agent_slug, + agentDisplayName: agent ? agent.display_name : record.agent_display_name, + requestPreview: log.request_preview, + responsePreview: log.response_preview, + errorKind: log.error_kind, + requestId: log.request_id, + }; + } + + function renderEmpty(title, message) { + logList.innerHTML = ''; + var empty = element('div', 'empty-state'); + empty.appendChild(element('div', 'empty-state-title', title)); + empty.appendChild(element('div', 'empty-state-text', message)); + logList.appendChild(empty); + } + + function renderLogs() { + if (state.loading && state.logs.length === 0) { + renderEmpty(tKey('logs.loading.title'), tKey('logs.loading.sub')); + return; + } + + if (state.loadError) { + renderEmpty(tKey('logs.error.title'), state.loadError); + return; + } + + if (!state.logs.length) { + renderEmpty( + tKey('logs.empty.title'), + state.search || state.level !== 'all' + ? tKey('logs.empty.filtered') + : tKey('logs.empty.initial') + ); + return; + } + + var fragment = document.createDocumentFragment(); + + state.logs.forEach(function (item) { + var row = document.createElement('div'); + row.className = 'log-entry'; + row.setAttribute('data-id', item.id); + + var timeEl = document.createElement('span'); + timeEl.className = 'log-time'; + timeEl.textContent = formatTime(item.createdAt); + row.appendChild(timeEl); + + var levelEl = document.createElement('span'); + levelEl.className = 'log-level ' + item.level; + levelEl.textContent = item.level.toUpperCase(); + row.appendChild(levelEl); + + var msgDiv = document.createElement('div'); + msgDiv.className = 'log-msg'; + + var opSpan = document.createElement('span'); + opSpan.className = 'log-op-name'; + opSpan.textContent = item.operationDisplayName || item.operationName; + msgDiv.appendChild(opSpan); + msgDiv.appendChild(document.createTextNode('\u00a0\u00a0')); + + if (item.statusCode) { + var statusEl = document.createElement('span'); + statusEl.className = 'log-status ' + statusClass(item.statusCode); + statusEl.textContent = item.statusCode; + msgDiv.appendChild(statusEl); + msgDiv.appendChild(document.createTextNode(' \u00b7 ')); + } + + msgDiv.appendChild(document.createTextNode(item.message)); + row.appendChild(msgDiv); + + var durationEl = document.createElement('span'); + var durationClass = item.level === 'error' ? ' error' : (item.durationMs >= 1000 ? ' slow' : ''); + durationEl.className = 'log-duration' + durationClass; + durationEl.textContent = durationLabel(item.durationMs); + row.appendChild(durationEl); + + fragment.appendChild(row); + + var expanded = document.createElement('div'); + expanded.className = 'log-entry-expanded' + (item.id === state.openId ? ' open' : ''); + expanded.setAttribute('data-exp', item.id); + + if (item.id === state.openId) { + var detail = state.details[item.id] || item; + + if (detail.agentDisplayName || detail.agentSlug) { + var agentLabel = document.createElement('div'); + agentLabel.className = 'log-detail-label'; + agentLabel.textContent = tKey('logs.detail.agent'); + expanded.appendChild(agentLabel); + + var agentPre = document.createElement('pre'); + agentPre.className = 'log-detail-block'; + agentPre.textContent = detail.agentDisplayName || detail.agentSlug; + expanded.appendChild(agentPre); + } + + var requestLabel = document.createElement('div'); + requestLabel.className = 'log-detail-label'; + requestLabel.textContent = tKey('logs.detail.request'); + expanded.appendChild(requestLabel); + + var requestPre = document.createElement('pre'); + requestPre.className = 'log-detail-block'; + requestPre.textContent = formatJson(detail.requestPreview); + expanded.appendChild(requestPre); + + var responseLabel = document.createElement('div'); + responseLabel.className = 'log-detail-label'; + responseLabel.textContent = tKey('logs.detail.response'); + expanded.appendChild(responseLabel); + + var responsePre = document.createElement('pre'); + responsePre.className = 'log-detail-block'; + responsePre.textContent = formatJson(detail.responsePreview); + expanded.appendChild(responsePre); + + if (detail.errorKind || detail.requestId) { + var metaLabel = document.createElement('div'); + metaLabel.className = 'log-detail-label'; + metaLabel.textContent = tKey('logs.detail.meta'); + expanded.appendChild(metaLabel); + + var metaPre = document.createElement('pre'); + metaPre.className = 'log-detail-block'; + metaPre.textContent = formatJson({ + request_id: detail.requestId || null, + error_kind: detail.errorKind || null, + source: detail.source, + status: detail.status, + }); + expanded.appendChild(metaPre); + } + } + + fragment.appendChild(expanded); + }); + + logList.innerHTML = ''; + logList.appendChild(fragment); + + logList.querySelectorAll('.log-entry').forEach(function (row) { + row.addEventListener('click', async function () { + var id = this.getAttribute('data-id'); + state.openId = state.openId === id ? null : id; + renderLogs(); + if (state.openId) { + await loadLogDetail(id); + } + }); + }); + } + + function queryParams() { + var params = { + period: state.period, + limit: 100, + }; + if (state.level !== 'all') { + params.level = state.level; + } + if (state.search) { + params.search = state.search; + } + return params; + } + + async function loadLogs() { + if (!window.CrankApi) { + state.loadError = tKey('logs.error.api'); + renderLogs(); + return; + } + + state.workspaceId = currentWorkspaceId(); + if (!state.workspaceId) { + state.loadError = tKey('logs.error.workspace'); + renderLogs(); + return; + } + + state.loading = true; + state.loadError = ''; + renderLogs(); + + try { + var response = await window.CrankApi.listLogs(state.workspaceId, queryParams()); + state.logs = (response && response.items ? response.items : []).map(normalizeLog); + if (state.openId && !state.logs.some(function (item) { return item.id === state.openId; })) { + state.openId = null; + } + } catch (error) { + state.loadError = error.message || tKey('logs.error.load'); + } finally { + state.loading = false; + renderLogs(); + } + } + + async function loadLogDetail(logId) { + if (!window.CrankApi || !state.workspaceId || state.details[logId]) { + return; + } + + try { + var record = await window.CrankApi.getLog(state.workspaceId, logId); + state.details[logId] = normalizeLog(record); + if (state.openId === logId) { + renderLogs(); + } + } catch (_error) { + } + } + + function setLiveState() { + if (liveDot) { + liveDot.classList.toggle('is-paused', !state.liveMode); + } + if (liveLabel) { + liveLabel.textContent = state.liveMode ? tKey('logs.live') : tKey('logs.paused'); + liveLabel.classList.toggle('is-paused', !state.liveMode); + } + } + + function stopPolling() { + if (state.timer) { + clearInterval(state.timer); + state.timer = null; + } + } + + function startPolling() { + stopPolling(); + if (!state.liveMode) { + return; + } + state.timer = setInterval(loadLogs, 4000); + } + + function toggleLive() { + state.liveMode = !state.liveMode; + setLiveState(); + startPolling(); + if (window.CrankUi) { + window.CrankUi.info( + state.liveMode ? tKey('logs.live.on.body') : tKey('logs.live.off.body'), + state.liveMode ? tKey('logs.live.on.title') : tKey('logs.live.off.title') + ); + } + } + + document.querySelectorAll('.filter-chip[data-level]').forEach(function (button) { + button.addEventListener('click', function () { + state.level = this.getAttribute('data-level'); + document.querySelectorAll('.filter-chip[data-level]').forEach(function (item) { + item.classList.remove('active'); + }); + this.classList.add('active'); + loadLogs(); + }); + }); + + if (logSearch) { + logSearch.addEventListener('input', function () { + state.search = this.value.trim(); + loadLogs(); + }); + } + + if (refreshBtn) { + refreshBtn.addEventListener('click', function () { + loadLogs().then(function () { + if (!state.loadError && window.CrankUi) { + window.CrankUi.info(tKey('logs.refresh.body'), tKey('logs.refresh.title')); + } + }); + }); + } + + if (timeRangeSel) { + timeRangeSel.value = state.period; + timeRangeSel.addEventListener('change', function () { + state.period = this.value; + loadLogs(); + }); + } + + if (liveDot) { + liveDot.addEventListener('click', toggleLive); + } + + if (liveLabel) { + liveLabel.addEventListener('click', toggleLive); + } + + window.addEventListener('crank:workspacechange', function () { + state.details = {}; + state.openId = null; + loadLogs(); + }); + + setLiveState(); + startPolling(); + + if (window.whenWorkspacesReady) { + window.whenWorkspacesReady().finally(loadLogs); + } else { + loadLogs(); + } +}); diff --git a/apps/ui/js/nav.js b/apps/ui/js/nav.js new file mode 100644 index 0000000..6786834 --- /dev/null +++ b/apps/ui/js/nav.js @@ -0,0 +1,76 @@ +(function () { + function initNav() { + if (window.CrankAuth && typeof window.CrankAuth.renderShellIdentity === 'function') { + window.CrankAuth.renderShellIdentity(); + } + + var dropdown = document.querySelector('.user-dropdown'); + var avatar = document.querySelector('.nav-avatar'); + var hamburger = document.querySelector('.nav-hamburger'); + var mobileNav = document.querySelector('.mobile-nav'); + + if (dropdown) { + dropdown.hidden = true; + } + if (mobileNav) { + mobileNav.hidden = true; + } + + if (avatar && dropdown) { + avatar.addEventListener('click', function (event) { + event.stopPropagation(); + dropdown.hidden = !dropdown.hidden; + }); + } + + if (hamburger && mobileNav) { + hamburger.addEventListener('click', function (event) { + event.stopPropagation(); + mobileNav.hidden = !mobileNav.hidden; + hamburger.classList.toggle('open', !mobileNav.hidden); + }); + } + + document.addEventListener('click', function (event) { + if (dropdown && !event.target.closest('.user-menu')) { + dropdown.hidden = true; + } + if (mobileNav && !event.target.closest('.navbar') && !event.target.closest('.mobile-nav')) { + mobileNav.hidden = true; + if (hamburger) { + hamburger.classList.remove('open'); + } + } + }); + + document.querySelectorAll('[data-action="logout"]').forEach(function (button) { + button.addEventListener('click', function () { + window.CrankAuth.logout(); + }); + }); + + document.querySelectorAll('[data-action="profile"]').forEach(function (button) { + button.addEventListener('click', function () { + if (dropdown) { + dropdown.hidden = true; + } + window.location.href = ((window.CrankRoutes && window.CrankRoutes.settings) || '/settings') + '#profile'; + }); + }); + + document.querySelectorAll('[data-action="settings-link"]').forEach(function (button) { + button.addEventListener('click', function () { + if (dropdown) { + dropdown.hidden = true; + } + window.location.href = (window.CrankRoutes && window.CrankRoutes.settings) || '/settings'; + }); + }); + } + + if (document.readyState === 'loading') { + document.addEventListener('DOMContentLoaded', initNav); + } else { + initNav(); + } +})(); diff --git a/apps/ui/js/overlay-loader.js b/apps/ui/js/overlay-loader.js new file mode 100644 index 0000000..dd08dea --- /dev/null +++ b/apps/ui/js/overlay-loader.js @@ -0,0 +1,75 @@ +(function() { + var manifestPromise = null; + var loadedScripts = Object.create(null); + + function overlayBasePath() { + return (window.APP_BASE || '/') + 'overlay/'; + } + + function fetchManifest() { + return fetch(overlayBasePath() + 'manifest.json', { cache: 'no-store' }) + .then(function(response) { + if (response.status === 404) { + return null; + } + if (!response.ok) { + throw new Error('overlay manifest request failed'); + } + return response.json(); + }) + .catch(function() { + return null; + }); + } + + function loadScript(path) { + if (loadedScripts[path]) { + return loadedScripts[path]; + } + loadedScripts[path] = new Promise(function(resolve, reject) { + var script = document.createElement('script'); + script.src = overlayBasePath() + path.replace(/^\/+/, ''); + script.async = false; + script.onload = function() { resolve(); }; + script.onerror = function() { reject(new Error('overlay script load failed')); }; + document.head.appendChild(script); + }).catch(function() { + return null; + }); + return loadedScripts[path]; + } + + function load() { + if (manifestPromise) { + return manifestPromise; + } + manifestPromise = fetchManifest().then(function(manifest) { + if (!(manifest && manifest.slots && window.CrankUiSlots)) { + return null; + } + var tasks = Object.entries(manifest.slots) + .filter(function(entry) { + return window.CrankUiSlots.isAllowed(entry[0]) && typeof entry[1] === 'string'; + }) + .map(function(entry) { + return loadScript(entry[1]); + }); + return Promise.all(tasks).then(function() { + return manifest; + }); + }); + return manifestPromise; + } + + async function render(root, context) { + await load(); + if (window.CrankUiSlots) { + window.CrankUiSlots.renderAll(root, context); + } + } + + window.CrankOverlay = { + load: load, + render: render, + }; +}()); diff --git a/apps/ui/js/secrets.js b/apps/ui/js/secrets.js new file mode 100644 index 0000000..2fecacf --- /dev/null +++ b/apps/ui/js/secrets.js @@ -0,0 +1,707 @@ +function initSecretsPage() { + var state = { + workspaceId: null, + secrets: [], + profiles: [], + derived: { + activeSecretCount: 0, + secretsById: {}, + usageBySecret: {}, + }, + search: '', + loading: false, + error: '', + modalMode: 'create', + modalSecretId: null, + }; + + var modal = document.getElementById('secret-modal'); + var tbody = document.getElementById('secrets-tbody'); + var cardList = document.getElementById('secrets-card-list'); + var profilesList = document.getElementById('auth-profiles-list'); + var summary = document.getElementById('secrets-summary'); + var profilesSummary = document.getElementById('secret-profiles-summary'); + var searchInput = document.getElementById('secret-search'); + var modalTitle = document.getElementById('secret-modal-title'); + var modalName = document.getElementById('secret-name'); + var modalKind = document.getElementById('secret-kind'); + var modalNote = document.getElementById('secret-modal-note'); + var modalSubmit = document.getElementById('secret-modal-submit-btn'); + var kindHint = document.getElementById('secret-kind-hint'); + var stringLabel = document.getElementById('secret-string-label'); + var stringField = document.getElementById('secret-string-value'); + var usernameField = document.getElementById('secret-username'); + var passwordField = document.getElementById('secret-password'); + var jsonField = document.getElementById('secret-json-value'); + + function tKey(key) { + return typeof t === 'function' ? t(key) : key; + } + + function tfKey(key, vars) { + return typeof tf === 'function' ? tf(key, vars) : tKey(key); + } + + function currentWorkspaceId() { + var workspace = window.getCurrentWorkspace ? window.getCurrentWorkspace() : null; + return workspace ? workspace.id : null; + } + + function currentWorkspace() { + return window.getCurrentWorkspace ? window.getCurrentWorkspace() : null; + } + + function secretKindLabel(kind) { + return tKey('secrets.kind.' + String(kind || '').toLowerCase()); + } + + function authKindLabel(kind) { + return tKey('secrets.auth_kind.' + String(kind || '').toLowerCase()); + } + + function formatDate(value) { + if (!value) return '—'; + return new Date(value).toLocaleDateString(); + } + + function secretIdsForProfile(profile) { + var config = profile && profile.config ? profile.config : {}; + if (config.bearer) return [config.bearer.secret_id]; + if (config.basic) return [config.basic.username_secret_id, config.basic.password_secret_id]; + if (config.api_key_header) return [config.api_key_header.secret_id]; + if (config.api_key_query) return [config.api_key_query.secret_id]; + return []; + } + + function profileSummary(profile, secretsById) { + var config = profile && profile.config ? profile.config : {}; + if (config.bearer) { + return tfKey('secrets.profiles.summary_bearer', { + header: config.bearer.header_name, + secret: secretName(secretsById, config.bearer.secret_id), + }); + } + if (config.basic) { + return tfKey('secrets.profiles.summary_basic', { + username: secretName(secretsById, config.basic.username_secret_id), + password: secretName(secretsById, config.basic.password_secret_id), + }); + } + if (config.api_key_header) { + return tfKey('secrets.profiles.summary_api_key_header', { + header: config.api_key_header.header_name, + secret: secretName(secretsById, config.api_key_header.secret_id), + }); + } + if (config.api_key_query) { + return tfKey('secrets.profiles.summary_api_key_query', { + param: config.api_key_query.param_name, + secret: secretName(secretsById, config.api_key_query.secret_id), + }); + } + return tKey('secrets.profiles.summary_unknown'); + } + + function secretName(secretsById, secretId) { + var secret = secretsById[secretId]; + return secret ? secret.name : secretId; + } + + function buildUsageBySecret() { + var usage = {}; + state.profiles.forEach(function (profile) { + secretIdsForProfile(profile).forEach(function (secretId) { + if (!secretId) return; + if (!usage[secretId]) usage[secretId] = []; + usage[secretId].push(profile); + }); + }); + return usage; + } + + function recomputeDerivedState() { + var secretsById = {}; + var activeSecretCount = 0; + + state.secrets.forEach(function (secret) { + secretsById[secret.id] = secret; + if (secret.status === 'active') { + activeSecretCount += 1; + } + }); + + state.derived = { + activeSecretCount: activeSecretCount, + secretsById: secretsById, + usageBySecret: buildUsageBySecret(), + }; + } + + function resetModalFields() { + modalName.value = ''; + modalKind.value = 'token'; + stringField.value = ''; + usernameField.value = ''; + passwordField.value = ''; + jsonField.value = '{\n "value": ""\n}'; + } + + function openModal(mode, secret) { + state.modalMode = mode; + state.modalSecretId = secret ? secret.id : null; + resetModalFields(); + + if (mode === 'rotate' && secret) { + modalTitle.textContent = tKey('secrets.modal.rotate_title'); + modalName.value = secret.name; + modalName.disabled = true; + modalKind.value = secret.kind; + modalKind.disabled = true; + modalSubmit.textContent = tKey('secrets.modal.rotate_action'); + modalNote.textContent = tKey('secrets.modal.rotate_note'); + } else { + modalTitle.textContent = tKey('secrets.modal.create_title'); + modalName.disabled = false; + modalKind.disabled = false; + modalSubmit.textContent = tKey('secrets.modal.create_action'); + modalNote.textContent = tKey('secrets.modal.create_note'); + } + + updateKindFields(); + modal.classList.add('open'); + if (window.CrankDiagnostics && typeof window.CrankDiagnostics.ensureTestId === 'function') { + window.CrankDiagnostics.ensureTestId(modal, mode === 'rotate' ? 'secret-rotate-modal' : 'secret-create-modal'); + } + setTimeout(function () { + if (mode === 'rotate') { + stringField.focus(); + } else { + modalName.focus(); + } + }, 30); + } + + function closeModal() { + modal.classList.remove('open'); + state.modalMode = 'create'; + state.modalSecretId = null; + } + + function updateKindFields() { + var kind = modalKind.value; + document.querySelectorAll('[data-kind-field="string"]').forEach(function (element) { + element.hidden = !(kind === 'token' || kind === 'header'); + }); + document.querySelectorAll('[data-kind-field="basic"]').forEach(function (element) { + element.hidden = kind !== 'username_password'; + }); + document.querySelectorAll('[data-kind-field="json"]').forEach(function (element) { + element.hidden = kind !== 'generic'; + }); + + if (kind === 'token') { + stringLabel.textContent = tKey('secrets.modal.value'); + } else if (kind === 'header') { + stringLabel.textContent = tKey('secrets.modal.header_value'); + } else { + stringLabel.textContent = tKey('secrets.modal.value'); + } + kindHint.textContent = tKey('secrets.hint.' + kind); + } + + function buildSecretValue() { + var kind = modalKind.value; + if (kind === 'token' || kind === 'header') { + var value = stringField.value.trim(); + if (!value) { + throw new Error(tKey('secrets.validation.value_required')); + } + return value; + } + if (kind === 'username_password') { + var username = usernameField.value.trim(); + var password = passwordField.value; + if (!username || !password) { + throw new Error(tKey('secrets.validation.username_password_required')); + } + return { + username: username, + password: password, + }; + } + try { + return JSON.parse(jsonField.value); + } catch (_error) { + throw new Error(tKey('secrets.validation.json_invalid')); + } + } + + function renderSecrets() { + var usage = state.derived.usageBySecret; + var query = state.search.toLowerCase(); + var rows = state.secrets.filter(function (secret) { + return !query || secret.name.toLowerCase().includes(query) || String(secret.kind || '').toLowerCase().includes(query); + }); + + summary.textContent = tfKey('secrets.active.subtitle', { + active: state.derived.activeSecretCount, + total: state.secrets.length, + }); + + window.CrankDom.clear(tbody); + if (cardList) { + window.CrankDom.clear(cardList); + } + + if (state.loading && state.secrets.length === 0) { + var loadingRow = document.createElement('tr'); + var loadingCell = document.createElement('td'); + loadingCell.colSpan = 7; + loadingCell.style.cssText = 'text-align:center;padding:36px;color:var(--text-muted);'; + loadingCell.textContent = tKey('secrets.loading'); + loadingRow.appendChild(loadingCell); + tbody.appendChild(loadingRow); + renderSecretCards([], tKey('secrets.loading')); + return; + } + + if (state.error) { + var errorRow = document.createElement('tr'); + var errorCell = document.createElement('td'); + errorCell.colSpan = 7; + errorCell.style.cssText = 'text-align:center;padding:36px;color:var(--danger,#f85149);'; + errorCell.textContent = state.error; + errorRow.appendChild(errorCell); + tbody.appendChild(errorRow); + renderSecretCards([], state.error); + return; + } + + if (!rows.length) { + var emptyRow = document.createElement('tr'); + var emptyCell = document.createElement('td'); + emptyCell.colSpan = 7; + emptyCell.style.cssText = 'text-align:center;padding:36px;color:var(--text-muted);'; + emptyCell.textContent = state.secrets.length ? tKey('secrets.empty.search') : tKey('secrets.empty.none'); + emptyRow.appendChild(emptyCell); + tbody.appendChild(emptyRow); + renderSecretCards(rows); + return; + } + + rows.forEach(function (secret) { + var tr = document.createElement('tr'); + var references = usage[secret.id] || []; + + var nameCell = document.createElement('td'); + nameCell.className = 'col-name'; + nameCell.textContent = secret.name; + tr.appendChild(nameCell); + + var kindCell = document.createElement('td'); + kindCell.textContent = secretKindLabel(secret.kind); + tr.appendChild(kindCell); + + var versionCell = document.createElement('td'); + versionCell.className = 'col-mono'; + versionCell.textContent = 'v' + secret.current_version; + tr.appendChild(versionCell); + + var lastUsedCell = document.createElement('td'); + lastUsedCell.textContent = secret.last_used_at ? formatDate(secret.last_used_at) : tKey('secrets.last_used.never'); + tr.appendChild(lastUsedCell); + + var usedByCell = document.createElement('td'); + usedByCell.textContent = window.tPlural('secrets.used_by_count', references.length, { count: references.length }); + tr.appendChild(usedByCell); + + var statusCell = document.createElement('td'); + var badge = document.createElement('span'); + badge.className = 'badge ' + (secret.status === 'disabled' ? 'badge-revoked' : 'badge-active'); + badge.textContent = tKey('secrets.status.' + secret.status); + statusCell.appendChild(badge); + tr.appendChild(statusCell); + + var actions = document.createElement('td'); + actions.className = 'col-actions'; + var rotateButton = document.createElement('button'); + rotateButton.className = 'icon-btn'; + rotateButton.textContent = tKey('secrets.action.rotate'); + rotateButton.setAttribute('data-testid', 'secret-rotate-action'); + rotateButton.setAttribute('data-secret-id', secret.id); + rotateButton.addEventListener('click', function () { + openModal('rotate', secret); + }); + actions.appendChild(rotateButton); + + var deleteButton = document.createElement('button'); + deleteButton.className = 'icon-btn danger'; + deleteButton.textContent = tKey('secrets.action.delete'); + deleteButton.setAttribute('data-testid', 'secret-delete-action'); + deleteButton.setAttribute('data-secret-id', secret.id); + deleteButton.addEventListener('click', async function () { + await deleteSecret(secret); + }); + actions.appendChild(deleteButton); + tr.appendChild(actions); + + tbody.appendChild(tr); + }); + + renderSecretCards(rows); + } + + function renderSecretCards(rows, statusText) { + if (!cardList) { + return; + } + + window.CrankDom.clear(cardList); + + if (statusText && !rows.length) { + var messageCard = document.createElement('div'); + messageCard.className = 'resource-card'; + var message = document.createElement('div'); + message.className = 'resource-meta-value'; + message.textContent = statusText; + message.style.color = state.error ? 'var(--danger,#f85149)' : 'var(--text-muted)'; + messageCard.appendChild(message); + cardList.appendChild(messageCard); + return; + } + + rows.forEach(function(secret) { + var references = state.derived.usageBySecret[secret.id] || []; + var card = document.createElement('div'); + card.className = 'resource-card'; + + var header = document.createElement('div'); + header.className = 'resource-card-header'; + var headerBody = document.createElement('div'); + var title = document.createElement('div'); + title.className = 'resource-card-title'; + title.textContent = secret.name; + var subtitle = document.createElement('div'); + subtitle.className = 'resource-card-subtitle'; + subtitle.textContent = secretKindLabel(secret.kind); + headerBody.appendChild(title); + headerBody.appendChild(subtitle); + + var actions = document.createElement('div'); + actions.className = 'resource-card-actions'; + var badge = document.createElement('span'); + badge.className = 'badge ' + (secret.status === 'disabled' ? 'badge-revoked' : 'badge-active'); + badge.textContent = tKey('secrets.status.' + secret.status); + actions.appendChild(badge); + header.appendChild(headerBody); + header.appendChild(actions); + card.appendChild(header); + + var metaGrid = document.createElement('div'); + metaGrid.className = 'resource-meta-grid'; + metaGrid.appendChild(buildSecretMetaItem('secrets.th.version', 'v' + secret.current_version)); + metaGrid.appendChild(buildSecretMetaItem( + 'secrets.th.last_used', + secret.last_used_at ? formatDate(secret.last_used_at) : tKey('secrets.last_used.never') + )); + metaGrid.appendChild(buildSecretMetaItem( + 'secrets.th.used_by', + window.tPlural('secrets.used_by_count', references.length, { count: references.length }) + )); + card.appendChild(metaGrid); + + var actionRow = document.createElement('div'); + actionRow.className = 'resource-card-actions'; + var rotateButton = document.createElement('button'); + rotateButton.className = 'btn-secondary'; + rotateButton.type = 'button'; + rotateButton.textContent = tKey('secrets.action.rotate'); + rotateButton.addEventListener('click', function() { + openModal('rotate', secret); + }); + actionRow.appendChild(rotateButton); + + var deleteButton = document.createElement('button'); + deleteButton.className = 'btn-secondary'; + deleteButton.type = 'button'; + deleteButton.textContent = tKey('secrets.action.delete'); + deleteButton.addEventListener('click', async function() { + await deleteSecret(secret); + }); + actionRow.appendChild(deleteButton); + card.appendChild(actionRow); + + cardList.appendChild(card); + }); + } + + function buildSecretMetaItem(labelKey, valueText) { + var item = document.createElement('div'); + item.className = 'resource-meta-item'; + var label = document.createElement('div'); + label.className = 'resource-meta-label'; + label.textContent = tKey(labelKey); + var value = document.createElement('div'); + value.className = 'resource-meta-value'; + value.textContent = valueText; + item.appendChild(label); + item.appendChild(value); + return item; + } + + function renderProfiles() { + var usage = state.derived.usageBySecret; + var secretsById = state.derived.secretsById; + + profilesSummary.textContent = window.tPlural( + 'secrets.profiles.subtitle_count', + state.profiles.length, + { count: state.profiles.length } + ); + + window.CrankDom.clear(profilesList); + + if (state.error) { + profilesList.appendChild(window.CrankDom.createEmptyState( + tKey('secrets.profiles.error_title'), + state.error + )); + return; + } + + if (state.loading && state.profiles.length === 0) { + profilesList.appendChild(window.CrankDom.createEmptyState( + tKey('secrets.profiles.loading_title'), + tKey('secrets.profiles.loading_body') + )); + return; + } + + if (!state.profiles.length) { + profilesList.appendChild(window.CrankDom.createEmptyState( + tKey('secrets.profiles.empty_title'), + tKey('secrets.profiles.empty_body') + )); + return; + } + + state.profiles.forEach(function (profile) { + var secretIds = secretIdsForProfile(profile); + var card = document.createElement('div'); + card.className = 'resource-card'; + + var header = document.createElement('div'); + header.className = 'resource-card-header'; + var headerBody = document.createElement('div'); + + var title = document.createElement('div'); + title.className = 'resource-card-title'; + title.textContent = profile.name; + headerBody.appendChild(title); + + var subtitle = document.createElement('div'); + subtitle.className = 'resource-card-subtitle'; + subtitle.textContent = profileSummary(profile, secretsById); + headerBody.appendChild(subtitle); + + var pillRow = document.createElement('div'); + pillRow.className = 'resource-pill-row'; + var statusPill = document.createElement('span'); + statusPill.className = 'resource-status-pill active'; + statusPill.textContent = authKindLabel(profile.kind); + pillRow.appendChild(statusPill); + headerBody.appendChild(pillRow); + header.appendChild(headerBody); + card.appendChild(header); + + var metaGrid = document.createElement('div'); + metaGrid.className = 'resource-meta-grid'; + [ + [tKey('secrets.profiles.meta.created'), formatDate(profile.created_at)], + [tKey('secrets.profiles.meta.updated'), formatDate(profile.updated_at)] + ].forEach(function(entry) { + var item = document.createElement('div'); + item.className = 'resource-meta-item'; + var label = document.createElement('div'); + label.className = 'resource-meta-label'; + label.textContent = entry[0]; + var value = document.createElement('div'); + value.className = 'resource-meta-value'; + value.textContent = entry[1]; + item.appendChild(label); + item.appendChild(value); + metaGrid.appendChild(item); + }); + card.appendChild(metaGrid); + + var detail = document.createElement('div'); + detail.className = 'resource-detail-block'; + var detailTitle = document.createElement('div'); + detailTitle.className = 'resource-detail-title'; + detailTitle.textContent = tKey('secrets.profiles.references'); + detail.appendChild(detailTitle); + + var refList = document.createElement('div'); + refList.className = 'secret-ref-list'; + secretIds.forEach(function(secretId) { + var users = usage[secretId] || []; + var pill = document.createElement('span'); + pill.className = 'secret-ref-pill'; + var strong = document.createElement('strong'); + strong.textContent = secretName(secretsById, secretId); + var count = document.createElement('span'); + count.textContent = tfKey('secrets.profiles.reference_count', { count: users.length }); + pill.appendChild(strong); + pill.appendChild(count); + refList.appendChild(pill); + }); + detail.appendChild(refList); + card.appendChild(detail); + + profilesList.appendChild(card); + }); + } + + async function load() { + state.workspaceId = currentWorkspaceId(); + state.loading = true; + state.error = ''; + renderSecrets(); + renderProfiles(); + + if (!state.workspaceId) { + state.secrets = []; + state.profiles = []; + recomputeDerivedState(); + state.loading = false; + state.error = tKey('secrets.error.workspace'); + renderSecrets(); + renderProfiles(); + return; + } + + try { + var results = await Promise.all([ + window.CrankApi.listSecrets(state.workspaceId), + window.CrankApi.listAuthProfiles(state.workspaceId), + ]); + state.secrets = (results[0] && results[0].items) || []; + state.profiles = (results[1] && results[1].items) || []; + recomputeDerivedState(); + } catch (error) { + state.error = error.message || tKey('secrets.error.load'); + state.secrets = []; + state.profiles = []; + recomputeDerivedState(); + } finally { + state.loading = false; + renderSecrets(); + renderProfiles(); + } + } + + async function deleteSecret(secret) { + if (!confirm(tfKey('secrets.confirm.delete', { name: secret.name }))) { + return; + } + try { + await window.CrankApi.deleteSecret(state.workspaceId, secret.id); + await load(); + if (window.CrankUi) { + window.CrankUi.success( + tfKey('secrets.toast.delete_message', { name: secret.name }), + tKey('secrets.toast.delete_title') + ); + } + } catch (error) { + if (window.CrankUi) { + window.CrankUi.error( + error.message || tKey('secrets.toast.delete_error_message'), + tKey('secrets.toast.delete_error_title') + ); + } + } + } + + async function submitModal() { + var kind = modalKind.value; + var value = buildSecretValue(); + modalSubmit.disabled = true; + modalSubmit.textContent = state.modalMode === 'rotate' + ? tKey('secrets.modal.rotating') + : tKey('secrets.modal.creating'); + + try { + if (state.modalMode === 'rotate') { + await window.CrankApi.rotateSecret(state.workspaceId, state.modalSecretId, { value: value }); + if (window.CrankUi) { + window.CrankUi.success( + tKey('secrets.toast.rotate_message'), + tKey('secrets.toast.rotate_title') + ); + } + } else { + var name = modalName.value.trim(); + if (!name) { + throw new Error(tKey('secrets.validation.name_required')); + } + await window.CrankApi.createSecret(state.workspaceId, { + name: name, + kind: kind, + value: value, + }); + if (window.CrankUi) { + window.CrankUi.success( + tKey('secrets.toast.create_message'), + tKey('secrets.toast.create_title') + ); + } + } + closeModal(); + await load(); + } catch (error) { + if (window.CrankUi) { + window.CrankUi.error( + error.message || tKey(state.modalMode === 'rotate' ? 'secrets.toast.rotate_error_message' : 'secrets.toast.create_error_message'), + tKey(state.modalMode === 'rotate' ? 'secrets.toast.rotate_error_title' : 'secrets.toast.create_error_title') + ); + } + } finally { + modalSubmit.disabled = false; + modalSubmit.textContent = state.modalMode === 'rotate' + ? tKey('secrets.modal.rotate_action') + : tKey('secrets.modal.create_action'); + } + } + + document.getElementById('btn-create-secret').addEventListener('click', function () { + openModal('create'); + }); + document.getElementById('secret-modal-close-btn').addEventListener('click', closeModal); + document.getElementById('secret-modal-cancel-btn').addEventListener('click', closeModal); + modal.addEventListener('click', function (event) { + if (event.target === modal) { + closeModal(); + } + }); + modalKind.addEventListener('change', updateKindFields); + modalSubmit.addEventListener('click', function () { + void submitModal(); + }); + searchInput.addEventListener('input', function (event) { + state.search = event.target.value || ''; + renderSecrets(); + }); + document.addEventListener('workspace:changed', function () { + void load(); + }); + + updateKindFields(); + void load(); +} + +if (window.CrankDiagnostics && typeof window.CrankDiagnostics.bootstrap === 'function') { + window.CrankDiagnostics.bootstrap('secrets', initSecretsPage); +} else { + document.addEventListener('DOMContentLoaded', initSecretsPage); +} diff --git a/apps/ui/js/settings.js b/apps/ui/js/settings.js new file mode 100644 index 0000000..e987e36 --- /dev/null +++ b/apps/ui/js/settings.js @@ -0,0 +1,447 @@ +var settingsSession = null; +var settingsCapabilities = null; +function tKey(key) { + return typeof t === 'function' ? t(key) : key; +} +function tfKey(key, vars) { + return typeof tf === 'function' ? tf(key, vars) : key; +} + +function settingsWorkspaceId() { + var workspace = window.getCurrentWorkspace ? window.getCurrentWorkspace() : null; + return workspace ? workspace.id : null; +} + +function initials(displayName, email) { + var source = displayName || email || 'Crank'; + return source + .split(/\s+/) + .filter(Boolean) + .slice(0, 2) + .map(function(part) { return part.charAt(0).toUpperCase(); }) + .join('') || 'CR'; +} + +function setStatus(id, text, isError) { + var node = document.getElementById(id); + if (!node) return; + node.textContent = text || ''; + node.style.color = text + ? (isError ? 'var(--red)' : 'var(--green)') + : 'var(--text-muted)'; +} + +function titleCaseRole(role) { + var normalized = String(role || 'viewer').toLowerCase(); + if (normalized === 'operator') return tKey('workspace_setup.role.operator'); + if (normalized === 'owner') return tKey('workspace_setup.role.owner'); + if (normalized === 'admin') return tKey('workspace_setup.role.admin'); + if (normalized === 'viewer') return tKey('workspace_setup.role.viewer'); + return normalized.replace(/^\w/, function(character) { + return character.toUpperCase(); + }); +} + +function populateCurrentSession(session) { + var summary = document.getElementById('settings-session-summary'); + if (!summary) { + return; + } + + if (!(session && session.user)) { + summary.textContent = tKey('settings.session.unavailable'); + return; + } + + var membership = null; + if (Array.isArray(session.memberships)) { + membership = session.memberships.find(function(item) { + return item.workspace && item.workspace.id === session.current_workspace_id; + }) || session.memberships[0] || null; + } + + var workspaceLabel = membership && membership.workspace + ? (membership.workspace.display_name || membership.workspace.slug || membership.workspace.id) + : tKey('settings.session.current_workspace'); + var roleLabel = membership ? titleCaseRole(membership.role) : tKey('workspace_setup.role.viewer'); + summary.textContent = tfKey('settings.session.summary', { + email: session.user.email, + role: roleLabel, + workspace: workspaceLabel, + }); +} + +function capabilityLabel(key) { + return tKey('settings.capability.' + key); +} + +function renderWorkspaceProtocolOptions(capabilities, selectedProtocol) { + var select = document.getElementById('settings-ws-protocol'); + if (!select) { + return; + } + + var supportedProtocols = capabilities && Array.isArray(capabilities.supported_protocols) && capabilities.supported_protocols.length + ? capabilities.supported_protocols + : ['rest']; + var fallbackProtocol = supportedProtocols.indexOf('rest') !== -1 ? 'rest' : supportedProtocols[0]; + var effectiveSelection = supportedProtocols.indexOf(selectedProtocol) !== -1 + ? selectedProtocol + : fallbackProtocol; + + select.innerHTML = ''; + supportedProtocols.forEach(function (protocol) { + var option = document.createElement('option'); + option.value = protocol; + option.textContent = capabilityLabel(protocol); + option.selected = protocol === effectiveSelection; + select.appendChild(option); + }); +} + +function populateWorkspaceCapabilityHint(capabilities) { + var body = document.getElementById('settings-ws-protocol-hint'); + if (!body || !capabilities) { + return; + } + + var protocols = (capabilities.supported_protocols || []).map(capabilityLabel).join(', '); + body.textContent = tfKey('settings.ws.protocol_hint_capabilities', { + protocols: protocols || capabilityLabel('none'), + }); +} + +function populateNotificationsCapabilityHint(capabilities) { + var title = document.getElementById('settings-notifications-capability-title'); + var body = document.getElementById('settings-notifications-capability-body'); + if (!title || !body || !capabilities) { + return; + } + + title.textContent = tKey('settings.notifications.capability_title_' + capabilities.edition); + body.textContent = tfKey('settings.notifications.capability_body_' + capabilities.edition, { + edition: capabilities.edition, + }); +} + +function populateCapabilities(capabilities) { + var title = document.getElementById('settings-security-capability-title'); + var body = document.getElementById('settings-security-capability-body'); + if (!title || !body || !capabilities) { + return; + } + + var protocols = (capabilities.supported_protocols || []).map(capabilityLabel).join(', '); + var accessModes = (capabilities.machine_access_modes || []).map(capabilityLabel).join(', '); + var securityLevels = (capabilities.supported_security_levels || []).map(capabilityLabel).join(', '); + var limits = capabilities.limits || {}; + + title.textContent = tKey('settings.security.capability_title_' + capabilities.edition); + body.textContent = tfKey('settings.security.capability_summary', { + protocols: protocols || capabilityLabel('none'), + access_modes: accessModes || capabilityLabel('none'), + security_levels: securityLevels || capabilityLabel('none'), + max_workspaces: limits.max_workspaces == null ? capabilityLabel('unlimited') : String(limits.max_workspaces), + max_users: limits.max_users_per_workspace == null ? capabilityLabel('unlimited') : String(limits.max_users_per_workspace), + max_agents: limits.max_agents_per_workspace == null ? capabilityLabel('unlimited') : String(limits.max_agents_per_workspace), + }); + populateWorkspaceCapabilityHint(capabilities); + populateNotificationsCapabilityHint(capabilities); + renderWorkspaceProtocolOptions(capabilities, document.getElementById('settings-ws-protocol').value || 'rest'); +} + +function populateProfile(session) { + if (!session || !session.user) { + return; + } + + var user = session.user; + document.getElementById('profile-avatar').textContent = initials(user.display_name, user.email); + document.getElementById('profile-display-name').textContent = user.display_name || 'Crank'; + document.getElementById('profile-email').textContent = user.email || ''; + + var firstName = document.getElementById('field-firstname'); + var email = document.getElementById('field-email'); + if (firstName) { + firstName.value = user.display_name || ''; + } + if (email) { + email.value = user.email || ''; + } + + populateCurrentSession(session); +} + +async function loadProfile() { + if (!window.CrankAuth || !window.CrankApi) { + return; + } + + settingsSession = await window.CrankAuth.fetchSession(true); + populateProfile(settingsSession); +} + +async function loadCapabilities() { + if (!window.CrankApi || typeof window.CrankApi.getCapabilities !== 'function') { + return; + } + + try { + settingsCapabilities = await window.CrankApi.getCapabilities(); + populateCapabilities(settingsCapabilities); + } catch (_error) { + } +} + +async function renderOverlaySlots() { + if (!window.CrankOverlay || typeof window.CrankOverlay.render !== 'function') { + return; + } + + await (window.whenWorkspacesReady ? window.whenWorkspacesReady() : Promise.resolve()); + await window.CrankOverlay.render(document, { + workspace: window.getCurrentWorkspace ? window.getCurrentWorkspace() : null, + capabilities: settingsCapabilities, + locale: localStorage.getItem('crank_lang') || 'en', + }); +} + +function bindProfileSave() { + var button = document.getElementById('settings-profile-save-btn'); + if (!button || button.dataset.bound === 'true') { + return; + } + button.dataset.bound = 'true'; + + button.addEventListener('click', async function() { + var original = button.textContent; + button.disabled = true; + button.textContent = tKey('settings.profile.saving'); + setStatus('settings-profile-status', '', false); + + try { + var session = await window.CrankApi.updateProfile({ + display_name: document.getElementById('field-firstname').value.trim(), + email: document.getElementById('field-email').value.trim(), + }); + settingsSession = session; + if (window.CrankAuth && typeof window.CrankAuth.replaceSession === 'function') { + window.CrankAuth.replaceSession(session); + } + populateProfile(session); + setStatus('settings-profile-status', tKey('settings.profile.saved_status'), false); + button.textContent = tKey('settings.profile.saved'); + } catch (error) { + setStatus('settings-profile-status', error.message || tKey('settings.profile.save_error'), true); + button.textContent = original; + } finally { + setTimeout(function() { + button.disabled = false; + button.textContent = original; + }, 1200); + } + }); +} + +function bindPasswordSave() { + var button = document.getElementById('settings-password-save-btn'); + if (!button || button.dataset.bound === 'true') { + return; + } + button.dataset.bound = 'true'; + + button.addEventListener('click', async function() { + var currentPassword = document.getElementById('security-current-password').value; + var newPassword = document.getElementById('security-new-password').value; + var confirmPassword = document.getElementById('security-confirm-password').value; + + if (newPassword !== confirmPassword) { + setStatus('settings-password-status', tKey('settings.security.mismatch'), true); + return; + } + + var original = button.textContent; + button.disabled = true; + button.textContent = tKey('settings.profile.saving'); + setStatus('settings-password-status', '', false); + + try { + await window.CrankApi.changePassword({ + current_password: currentPassword, + new_password: newPassword, + }); + document.getElementById('security-current-password').value = ''; + document.getElementById('security-new-password').value = ''; + document.getElementById('security-confirm-password').value = ''; + setStatus('settings-password-status', tKey('settings.security.saved'), false); + button.textContent = tKey('settings.profile.saved'); + } catch (error) { + setStatus('settings-password-status', error.message || tKey('settings.security.save_error'), true); + button.textContent = original; + } finally { + setTimeout(function() { + button.disabled = false; + button.textContent = original; + }, 1200); + } + }); +} + +function injectLanguageSwitcher() { + var profileSection = document.getElementById('section-profile'); + if (!profileSection) { + return; + } + + var cardBody = profileSection.querySelector('.section-card-body'); + if (!cardBody) { + return; + } + + fetch('html/fragments/lang-switcher.html') + .then(function(response) { return response.text(); }) + .then(function(html) { + var template = document.createElement('template'); + template.innerHTML = html; + var fragment = template.content.cloneNode(true); + var saveRow = cardBody.querySelector('div[style*="justify-content:flex-end"]'); + if (saveRow) { + saveRow.parentNode.insertBefore(fragment, saveRow); + } else { + cardBody.appendChild(fragment); + } + if (typeof applyLang === 'function') { + applyLang(); + } + }); +} + +function bindSectionNavigation() { + var navItems = document.querySelectorAll('.settings-nav-item[data-section]'); + navItems.forEach(function (button) { + button.addEventListener('click', function () { + navItems.forEach(function (item) { item.classList.remove('active'); }); + this.classList.add('active'); + var target = document.getElementById('section-' + this.dataset.section); + if (target) { + target.scrollIntoView({ behavior: 'smooth', block: 'start' }); + } + }); + }); + + var initialSection = window.location.hash ? window.location.hash.slice(1) : 'profile'; + var initialButton = document.querySelector('.settings-nav-item[data-section="' + initialSection + '"]') + || document.querySelector('.settings-nav-item[data-section="profile"]'); + if (initialButton) { + setTimeout(function () { initialButton.click(); }, 50); + } + + var observer = new IntersectionObserver(function (entries) { + entries.forEach(function (entry) { + if (!entry.isIntersecting) { + return; + } + var section = entry.target.id.replace('section-', ''); + document.querySelectorAll('.settings-nav-item[data-section]').forEach(function (button) { + button.classList.toggle('active', button.dataset.section === section); + }); + }); + }, { threshold: 0.3 }); + + document.querySelectorAll('[id^="section-"]').forEach(function (section) { + if (!section.hidden) { + observer.observe(section); + } + }); +} + +async function loadWorkspaceSettings() { + if (!window.CrankApi || !window.whenWorkspacesReady) { + return; + } + + await window.whenWorkspacesReady(); + var workspace = window.getCurrentWorkspace ? window.getCurrentWorkspace() : null; + if (!workspace) { + return; + } + + try { + var record = await window.CrankApi.getWorkspace(workspace.id); + var item = record.workspace; + var settings = item.settings || {}; + + document.getElementById('settings-ws-slug').value = item.slug || ''; + document.getElementById('settings-ws-display-name').value = item.display_name || ''; + document.getElementById('settings-ws-description').value = settings.description || ''; + document.getElementById('settings-ws-timezone').value = settings.timezone || 'UTC'; + renderWorkspaceProtocolOptions(settingsCapabilities, settings.default_protocol || 'rest'); + + document.querySelectorAll('#section-workspace .lang-btn').forEach(function (button) { + button.classList.toggle('active', button.dataset.lang === (settings.language || (localStorage.getItem('crank_lang') || 'en'))); + }); + + var saveButton = document.getElementById('settings-ws-save-btn'); + if (saveButton.dataset.bound === 'true') { + return; + } + saveButton.dataset.bound = 'true'; + + saveButton.addEventListener('click', async function () { + var saveButton = this; + var original = saveButton.textContent; + saveButton.disabled = true; + saveButton.textContent = tKey('settings.workspace.saving'); + + try { + await window.CrankApi.updateWorkspace(item.id, { + slug: document.getElementById('settings-ws-slug').value.trim(), + display_name: document.getElementById('settings-ws-display-name').value.trim(), + settings: { + description: document.getElementById('settings-ws-description').value.trim(), + timezone: document.getElementById('settings-ws-timezone').value, + default_protocol: document.getElementById('settings-ws-protocol').value, + language: localStorage.getItem('crank_lang') || 'en', + color: (workspace.settings && workspace.settings.color) || '#0d9488', + }, + }); + + if (window.refreshWorkspaces) { + var workspaces = await window.refreshWorkspaces(); + var updated = workspaces.find(function (entry) { return entry.id === item.id; }); + if (updated && window.setCurrentWorkspace) { + await window.setCurrentWorkspace(updated); + } + } + + saveButton.textContent = tKey('settings.workspace.saved'); + } catch (error) { + if (window.CrankUi) { + window.CrankUi.error(error.message || tKey('settings.workspace.save_error'), tKey('settings.workspace.save_error_title')); + } + saveButton.textContent = original; + } finally { + setTimeout(function () { + saveButton.disabled = false; + saveButton.textContent = original; + }, 1200); + } + }); + } catch (_error) { + } +} + +async function initSettingsPage() { + injectLanguageSwitcher(); + bindSectionNavigation(); + await loadProfile(); + await loadCapabilities(); + bindProfileSave(); + bindPasswordSave(); + await loadWorkspaceSettings(); + await renderOverlaySlots(); +} + +document.addEventListener('DOMContentLoaded', function () { + void initSettingsPage(); +}); diff --git a/apps/ui/js/slot-registry.js b/apps/ui/js/slot-registry.js new file mode 100644 index 0000000..065edbb --- /dev/null +++ b/apps/ui/js/slot-registry.js @@ -0,0 +1,55 @@ +(function() { + var allowedSlots = { + 'settings.sso_panel': true, + 'settings.totp_panel': true, + 'settings.audit_panel': true, + 'settings.billing_panel': true, + 'wizard.protocol_cards.graphql': true, + 'wizard.protocol_cards.grpc': true, + 'wizard.protocol_cards.soap': true, + 'wizard.protocol_cards.websocket': true, + }; + + var handlers = Object.create(null); + + function noop() {} + + function isAllowed(slotId) { + return !!allowedSlots[slotId]; + } + + function register(slotId, render) { + if (!isAllowed(slotId) || typeof render !== 'function') { + return false; + } + handlers[slotId] = render; + return true; + } + + function renderInto(target, slotId, context) { + if (!(target && slotId && isAllowed(slotId))) { + return; + } + var handler = handlers[slotId] || noop; + handler(target, context || {}); + } + + function renderAll(root, context) { + var scope = root || document; + scope.querySelectorAll('[data-slot]').forEach(function(target) { + renderInto(target, target.getAttribute('data-slot'), context); + }); + } + + function knownSlots() { + return Object.keys(allowedSlots); + } + + window.CrankUiSlots = { + isAllowed: isAllowed, + knownSlots: knownSlots, + register: register, + renderAll: renderAll, + renderInto: renderInto, + }; +}()); diff --git a/apps/ui/js/ui-feedback.js b/apps/ui/js/ui-feedback.js new file mode 100644 index 0000000..c76a9b5 --- /dev/null +++ b/apps/ui/js/ui-feedback.js @@ -0,0 +1,105 @@ +(function() { + var CONTAINER_ID = 'crank-toast-container'; + var nextToastId = 0; + + function ensureContainer() { + var container = document.getElementById(CONTAINER_ID); + if (container) return container; + + container = document.createElement('div'); + container.id = CONTAINER_ID; + container.className = 'toast-stack'; + document.body.appendChild(container); + return container; + } + + function dismiss(toast) { + if (!toast || !toast.parentNode) return; + toast.classList.add('closing'); + window.setTimeout(function() { + if (toast.parentNode) toast.parentNode.removeChild(toast); + }, 180); + } + + function notify(options) { + var config = options || {}; + var duration = config.duration === 0 ? 0 : (config.duration || 3600); + var toast = document.createElement('div'); + var copy = document.createElement('div'); + var close = document.createElement('button'); + var closeIcon = document.createElementNS('http://www.w3.org/2000/svg', 'svg'); + var lineA = document.createElementNS('http://www.w3.org/2000/svg', 'line'); + var lineB = document.createElementNS('http://www.w3.org/2000/svg', 'line'); + + toast.id = 'toast_' + (++nextToastId); + toast.className = 'toast-card toast-' + (config.type || 'info'); + copy.className = 'toast-copy'; + if (config.title) { + var title = document.createElement('div'); + title.className = 'toast-title'; + title.textContent = config.title; + copy.appendChild(title); + } + if (config.message) { + var message = document.createElement('div'); + message.className = 'toast-message'; + message.textContent = config.message; + copy.appendChild(message); + } + + close.className = 'toast-close'; + close.type = 'button'; + close.setAttribute('aria-label', 'Dismiss'); + + closeIcon.setAttribute('width', '12'); + closeIcon.setAttribute('height', '12'); + closeIcon.setAttribute('viewBox', '0 0 12 12'); + closeIcon.setAttribute('fill', 'none'); + closeIcon.setAttribute('stroke', 'currentColor'); + closeIcon.setAttribute('stroke-width', '1.8'); + closeIcon.setAttribute('stroke-linecap', 'round'); + + lineA.setAttribute('x1', '1'); + lineA.setAttribute('y1', '1'); + lineA.setAttribute('x2', '11'); + lineA.setAttribute('y2', '11'); + lineB.setAttribute('x1', '11'); + lineB.setAttribute('y1', '1'); + lineB.setAttribute('x2', '1'); + lineB.setAttribute('y2', '11'); + + closeIcon.appendChild(lineA); + closeIcon.appendChild(lineB); + close.appendChild(closeIcon); + + toast.appendChild(copy); + toast.appendChild(close); + + close.addEventListener('click', function() { + dismiss(toast); + }); + + ensureContainer().appendChild(toast); + + if (duration > 0) { + window.setTimeout(function() { + dismiss(toast); + }, duration); + } + + return toast.id; + } + + window.CrankUi = { + notify: notify, + success: function(message, title) { + return notify({ type: 'success', title: title || 'Done', message: message }); + }, + error: function(message, title) { + return notify({ type: 'error', title: title || 'Request failed', message: message }); + }, + info: function(message, title) { + return notify({ type: 'info', title: title || 'Info', message: message }); + } + }; +}()); diff --git a/apps/ui/js/usage.js b/apps/ui/js/usage.js new file mode 100644 index 0000000..fc91401 --- /dev/null +++ b/apps/ui/js/usage.js @@ -0,0 +1,549 @@ +document.addEventListener('DOMContentLoaded', function () { + var state = { + period: '7d', + workspaceId: null, + usage: null, + derived: { + localizedOperations: [], + normalizedTimeline: [], + timelineMaxValue: 0, + totalCalls: 0, + }, + loading: false, + loadError: '', + }; + + var periodSelect = document.getElementById('period'); + var exportBtn = document.querySelector('.page-header-actions .btn-secondary'); + var chartWrap = document.getElementById('chart-bars'); + var tableBody = document.getElementById('usage-tbody'); + var cardList = document.getElementById('usage-card-list'); + var chartTemplate = document.getElementById('tmpl-chart-bar'); + var rowTemplate = document.getElementById('tmpl-usage-row'); + var subtitle = document.querySelector('.section-card-subtitle'); + var statCards = document.querySelectorAll('.stats-grid .stat-card'); + + function tKey(key) { + return window.t ? t(key) : key; + } + + function tfKey(key, vars) { + return window.tf ? tf(key, vars) : tKey(key); + } + + function currentLocale() { + return localStorage.getItem('crank_lang') === 'ru' ? 'ru-RU' : 'en-US'; + } + + function currentWorkspaceId() { + var workspace = window.getCurrentWorkspace ? window.getCurrentWorkspace() : null; + return workspace ? workspace.id : null; + } + + function element(tag, className, text) { + var node = document.createElement(tag); + if (className) node.className = className; + if (text !== undefined && text !== null) node.textContent = text; + return node; + } + + function formatCount(value) { + return Number(value || 0).toLocaleString(currentLocale()); + } + + function formatMs(value) { + if (!value) { + return '0ms'; + } + if (value >= 1000) { + return (value / 1000).toFixed(1) + 's'; + } + return value + 'ms'; + } + + function periodLabel(period) { + return tKey('usage.period.label.' + period); + } + + function protocolColor(protocol) { + return 'var(--blue)'; + } + + function protocolLabel(protocol) { + return 'REST'; + } + + function localizedUsageOperation(operation) { + if (!window.localizeDemoOperation) { + return operation; + } + + return window.localizeDemoOperation({ + name: operation.operation_name, + operation_display_name: operation.operation_display_name, + description: operation.operation_description || null, + }); + } + + function chartBucketLabel(timestamp, period, index) { + var date = new Date(timestamp); + if (period === '7d') { + return date.toLocaleDateString(currentLocale(), { weekday: 'short' }); + } + if (period === '90d') { + return date.toLocaleDateString(currentLocale(), { month: 'short' }); + } + return tfKey('usage.chart.week', { index: index + 1 }); + } + + function toUtcBucketStart(date, period) { + var bucket = new Date(date.getTime()); + bucket.setUTCMilliseconds(0); + bucket.setUTCSeconds(0); + bucket.setUTCMinutes(0); + bucket.setUTCHours(0); + + if (period === '30d' || period === 'this_month') { + var day = bucket.getUTCDay(); + var offset = day === 0 ? 6 : (day - 1); + bucket.setUTCDate(bucket.getUTCDate() - offset); + return bucket; + } + + if (period === '90d') { + bucket.setUTCDate(1); + return bucket; + } + + return bucket; + } + + function shiftUtcBucket(date, period, amount) { + var shifted = new Date(date.getTime()); + if (period === '30d' || period === 'this_month') { + shifted.setUTCDate(shifted.getUTCDate() + (amount * 7)); + return shifted; + } + if (period === '90d') { + shifted.setUTCMonth(shifted.getUTCMonth() + amount); + return shifted; + } + shifted.setUTCDate(shifted.getUTCDate() + amount); + return shifted; + } + + function bucketKey(date) { + return date.toISOString().slice(0, 19) + 'Z'; + } + + function expectedBucketCount(period, endBucket) { + if (period === '7d') { + return 7; + } + if (period === '30d') { + return 5; + } + if (period === '90d') { + return 4; + } + if (period === 'this_month') { + var firstDay = new Date(Date.UTC(endBucket.getUTCFullYear(), endBucket.getUTCMonth(), 1)); + var firstWeek = toUtcBucketStart(firstDay, period); + var diffMs = endBucket.getTime() - firstWeek.getTime(); + return Math.max(1, Math.floor(diffMs / (7 * 24 * 60 * 60 * 1000)) + 1); + } + return 7; + } + + function normalizeTimeline(timeline, period) { + if (!timeline.length) { + return []; + } + + var byBucket = {}; + timeline.forEach(function(point) { + byBucket[point.bucket_start] = point; + }); + + var latestBucket = timeline.reduce(function(current, point) { + return point.bucket_start > current.bucket_start ? point : current; + }, timeline[0]); + var endBucket = toUtcBucketStart(new Date(latestBucket.bucket_start), period); + var bucketCount = expectedBucketCount(period, endBucket); + var startBucket = shiftUtcBucket(endBucket, period, -(bucketCount - 1)); + var normalized = []; + + for (var index = 0; index < bucketCount; index += 1) { + var bucketDate = shiftUtcBucket(startBucket, period, index); + var key = bucketKey(bucketDate); + normalized.push(byBucket[key] || { + bucket_start: key, + calls_ok: 0, + calls_error: 0, + }); + } + + return normalized; + } + + function recomputeDerivedState() { + var operations = state.usage ? (state.usage.operations || []) : []; + var timeline = state.usage ? normalizeTimeline(state.usage.timeline || [], state.period) : []; + var totalCalls = operations.reduce(function (sum, operation) { + return sum + operation.calls_total; + }, 0); + var timelineMaxValue = timeline.reduce(function (maxValue, point) { + return Math.max(maxValue, point.calls_ok + point.calls_error); + }, 0); + + state.derived = { + localizedOperations: operations.map(function (operation) { + return { + operation: operation, + localized: localizedUsageOperation(operation), + }; + }), + normalizedTimeline: timeline, + timelineMaxValue: timelineMaxValue, + totalCalls: totalCalls, + }; + } + + function buildEmptyState(title, message, compact) { + var empty = element('div', 'empty-state'); + if (compact) { + empty.style.padding = '0'; + } + empty.appendChild(element('div', 'empty-state-title', title)); + empty.appendChild(element('div', 'empty-state-text', message)); + return empty; + } + + function renderEmpty(title, message) { + chartWrap.innerHTML = ''; + var chartEmpty = buildEmptyState(title, message, false); + chartEmpty.style.width = '100%'; + chartWrap.appendChild(chartEmpty); + + tableBody.innerHTML = ''; + var row = document.createElement('tr'); + var cell = document.createElement('td'); + cell.colSpan = 7; + cell.style.padding = '24px'; + cell.appendChild(buildEmptyState(title, message, true)); + row.appendChild(cell); + tableBody.appendChild(row); + } + + function renderStats() { + var summary = state.usage ? state.usage.summary : null; + var cards = [ + { + value: formatCount(summary ? summary.rollup.calls_total : 0), + text: tfKey('usage.stats.across', { period: periodLabel(state.period) }), + }, + { + value: ((summary ? summary.success_rate : 0) || 0).toFixed(1) + '%', + text: tfKey('usage.stats.success_calls', { count: formatCount(summary ? summary.rollup.calls_ok : 0) }), + }, + { + value: formatMs(summary ? summary.rollup.p50_ms : 0), + text: tKey('usage.stats.median'), + }, + { + value: formatMs(summary ? summary.rollup.p99_ms : 0), + text: tfKey('usage.stats.error_calls', { count: formatCount(summary ? summary.rollup.calls_error : 0) }), + } + ]; + + cards.forEach(function (card, index) { + var node = statCards[index]; + if (!node) { + return; + } + node.querySelector('.stat-value').textContent = card.value; + var delta = node.querySelector('.stat-delta'); + delta.className = 'stat-delta'; + delta.textContent = card.text; + }); + } + + function renderChart() { + var timeline = state.derived.normalizedTimeline; + chartWrap.innerHTML = ''; + + if (!timeline.length) { + var chartEmpty = buildEmptyState( + tKey('usage.chart.empty.title'), + tKey('usage.chart.empty.sub'), + false + ); + chartEmpty.style.width = '100%'; + chartWrap.appendChild(chartEmpty); + return; + } + + var maxValue = state.derived.timelineMaxValue; + + timeline.forEach(function (point, index) { + var node = chartTemplate.content.cloneNode(true); + var okHeight = maxValue ? Math.round((point.calls_ok / maxValue) * 160) : 0; + var errorHeight = maxValue ? Math.round((point.calls_error / maxValue) * 160) : 0; + if (point.calls_ok > 0) { + okHeight = Math.max(okHeight, 6); + } + if (point.calls_error > 0) { + errorHeight = Math.max(errorHeight, 6); + } + node.querySelector('.chart-bar.success').style.height = okHeight + 'px'; + node.querySelector('.chart-bar.success').dataset.tip = tfKey('usage.chart.ok', { count: formatCount(point.calls_ok) }); + node.querySelector('.chart-bar.error').style.height = errorHeight + 'px'; + node.querySelector('.chart-bar.error').dataset.tip = tfKey('usage.chart.errors', { count: formatCount(point.calls_error) }); + node.querySelector('.chart-col-label').textContent = chartBucketLabel(point.bucket_start, state.period, index); + chartWrap.appendChild(node); + }); + } + + function renderTable() { + var operations = state.derived.localizedOperations; + tableBody.innerHTML = ''; + if (cardList) { + cardList.innerHTML = ''; + } + + if (!operations.length) { + var row = document.createElement('tr'); + var cell = document.createElement('td'); + cell.colSpan = 7; + cell.style.padding = '24px'; + cell.appendChild( + buildEmptyState( + tKey('usage.table.empty.title'), + tKey('usage.table.empty.sub'), + true + ) + ); + row.appendChild(cell); + tableBody.appendChild(row); + renderOperationCards([]); + return; + } + + operations.forEach(function (entry) { + var operation = entry.operation; + var localizedOperation = entry.localized; + var node = rowTemplate.content.cloneNode(true); + var errorRate = operation.calls_total === 0 + ? 0 + : ((operation.calls_error / operation.calls_total) * 100); + var share = state.derived.totalCalls === 0 + ? 0 + : ((operation.calls_total / state.derived.totalCalls) * 100); + + node.querySelector('.col-name').textContent = localizedOperation.operation_display_name || operation.operation_display_name; + node.querySelector('.col-op-slug').textContent = operation.operation_name; + + var proto = node.querySelector('.col-proto'); + proto.textContent = protocolLabel(operation.protocol); + proto.style.color = protocolColor(operation.protocol); + + node.querySelector('.col-calls').textContent = formatCount(operation.calls_total); + node.querySelector('.col-errors').textContent = formatCount(operation.calls_error); + + var errorRateEl = node.querySelector('.col-err-rate'); + errorRateEl.textContent = errorRate.toFixed(2) + '%'; + errorRateEl.style.color = errorRate > 5 ? 'var(--red)' : (errorRate > 1 ? 'var(--amber)' : 'var(--green)'); + + var latencyText = node.querySelector('.col-latency-text'); + latencyText.textContent = + formatMs(operation.p50_ms) + ' / ' + formatMs(operation.p95_ms) + ' / ' + formatMs(operation.p99_ms); + + var base = Math.max(operation.p99_ms, 1); + node.querySelector('.latency-p50').style.width = Math.max(4, Math.round((operation.p50_ms / base) * 64)) + 'px'; + node.querySelector('.latency-p95').style.width = Math.max(4, Math.round(((operation.p95_ms - operation.p50_ms) / base) * 64)) + 'px'; + node.querySelector('.latency-p99').style.width = Math.max(4, Math.round(((operation.p99_ms - operation.p95_ms) / base) * 64)) + 'px'; + + node.querySelector('.col-quota-label').textContent = tfKey('usage.table.share', { value: share.toFixed(1) }); + node.querySelector('.col-quota-fill').style.width = share.toFixed(1) + '%'; + + tableBody.appendChild(node); + }); + + renderOperationCards(operations); + } + + function renderOperationCards(operations) { + if (!cardList) { + return; + } + + cardList.innerHTML = ''; + + if (!operations.length) { + cardList.appendChild(buildEmptyState( + tKey('usage.table.empty.title'), + tKey('usage.table.empty.sub'), + false + )); + return; + } + + operations.forEach(function(entry) { + var operation = entry.operation; + var localizedOperation = entry.localized; + var errorRate = operation.calls_total === 0 + ? 0 + : ((operation.calls_error / operation.calls_total) * 100); + var share = state.derived.totalCalls === 0 + ? 0 + : ((operation.calls_total / state.derived.totalCalls) * 100); + + var card = element('div', 'resource-card'); + var header = element('div', 'resource-card-header'); + var headerMain = element('div'); + headerMain.appendChild(element( + 'div', + 'resource-card-title', + localizedOperation.operation_display_name || operation.operation_display_name + )); + headerMain.appendChild(element('div', 'resource-card-subtitle', operation.operation_name)); + + var actions = element('div', 'resource-card-actions'); + var protocolBadge = element('span', 'badge'); + protocolBadge.textContent = protocolLabel(operation.protocol); + protocolBadge.style.color = protocolColor(operation.protocol); + actions.appendChild(protocolBadge); + header.appendChild(headerMain); + header.appendChild(actions); + card.appendChild(header); + + var metaGrid = element('div', 'resource-meta-grid'); + metaGrid.appendChild(buildUsageMetaItem('usage.table.th.calls', formatCount(operation.calls_total))); + metaGrid.appendChild(buildUsageMetaItem('usage.table.th.errors', formatCount(operation.calls_error))); + metaGrid.appendChild(buildUsageMetaItem('usage.table.th.error_rate', errorRate.toFixed(2) + '%')); + metaGrid.appendChild(buildUsageMetaItem( + 'usage.table.th.latency', + formatMs(operation.p50_ms) + ' / ' + formatMs(operation.p95_ms) + ' / ' + formatMs(operation.p99_ms) + )); + metaGrid.appendChild(buildUsageMetaItem('usage.table.th.share', tfKey('usage.table.share', { value: share.toFixed(1) }))); + card.appendChild(metaGrid); + + cardList.appendChild(card); + }); + } + + function buildUsageMetaItem(labelKey, valueText) { + var item = element('div', 'resource-meta-item'); + item.appendChild(element('div', 'resource-meta-label', tKey(labelKey))); + item.appendChild(element('div', 'resource-meta-value', valueText)); + return item; + } + + function renderUsage() { + if (state.loading && !state.usage) { + renderEmpty(tKey('usage.loading.title'), tKey('usage.loading.sub')); + return; + } + + if (state.loadError) { + renderEmpty(tKey('usage.error.title'), state.loadError); + return; + } + + renderStats(); + renderChart(); + renderTable(); + if (subtitle) { + subtitle.textContent = tfKey('usage.table.subtitle', { period: periodLabel(state.period) }); + } + } + + async function loadUsage() { + if (!window.CrankApi) { + state.loadError = tKey('usage.error.api'); + renderUsage(); + return; + } + + state.workspaceId = currentWorkspaceId(); + if (!state.workspaceId) { + state.loadError = tKey('usage.error.workspace'); + renderUsage(); + return; + } + + state.loading = true; + state.loadError = ''; + renderUsage(); + + try { + state.usage = await window.CrankApi.getUsageOverview(state.workspaceId, { period: state.period }); + recomputeDerivedState(); + } catch (error) { + state.loadError = error.message || tKey('usage.error.load'); + state.usage = null; + recomputeDerivedState(); + } finally { + state.loading = false; + renderUsage(); + } + } + + function exportCsv() { + if (!state.usage) { + if (window.CrankUi) { + window.CrankUi.info(tKey('usage.export.empty.body'), tKey('usage.export.empty.title')); + } + return; + } + + var rows = [tKey('usage.csv.header')]; + state.usage.operations.forEach(function (operation) { + var localizedOperation = localizedUsageOperation(operation); + var errorRate = operation.calls_total === 0 + ? 0 + : ((operation.calls_error / operation.calls_total) * 100); + rows.push([ + '"' + (localizedOperation.operation_display_name || operation.operation_display_name) + '"', + '"' + protocolLabel(operation.protocol) + '"', + operation.calls_total, + operation.calls_error, + errorRate.toFixed(2), + operation.p50_ms, + operation.p95_ms, + operation.p99_ms, + ].join(',')); + }); + + var blob = new Blob([rows.join('\r\n')], { type: 'text/csv' }); + var url = URL.createObjectURL(blob); + var link = document.createElement('a'); + link.href = url; + link.download = 'crank-usage-' + state.period + '.csv'; + link.click(); + URL.revokeObjectURL(url); + if (window.CrankUi) { + window.CrankUi.success(tKey('usage.export.done.body'), tKey('usage.export.done.title')); + } + } + + if (periodSelect) { + periodSelect.value = state.period; + periodSelect.addEventListener('change', function () { + state.period = this.value; + loadUsage(); + }); + } + + if (exportBtn) { + exportBtn.addEventListener('click', exportCsv); + } + + window.addEventListener('crank:workspacechange', loadUsage); + + if (window.whenWorkspacesReady) { + window.whenWorkspacesReady().finally(loadUsage); + } else { + loadUsage(); + } +}); diff --git a/apps/ui/js/vendor/alpine/cdn.min.js b/apps/ui/js/vendor/alpine/cdn.min.js new file mode 100644 index 0000000..4313936 --- /dev/null +++ b/apps/ui/js/vendor/alpine/cdn.min.js @@ -0,0 +1,5 @@ +(()=>{var ee=!1,re=!1,W=[],ne=-1,ie=!1;function Ve(t){Dn(t)}function Ue(){ie=!0}function Ke(){ie=!1,We()}function Dn(t){W.includes(t)||W.push(t),We()}function qe(t){let e=W.indexOf(t);e!==-1&&e>ne&&W.splice(e,1)}function We(){if(!re&&!ee){if(ie)return;ee=!0,queueMicrotask(kn)}}function kn(){ee=!1,re=!0;for(let t=0;tt.effect(e,{scheduler:r=>{oe?Ve(r):r()}}),se=t.raw}function ae(t){R=t}function Ye(t){let e=()=>{};return[n=>{let i=R(n);return t._x_effects||(t._x_effects=new Set,t._x_runEffects=()=>{t._x_effects.forEach(o=>o())}),t._x_effects.add(i),e=()=>{i!==void 0&&(t._x_effects.delete(i),j(i))},i},()=>{e()}]}function St(t,e){let r=!0,n,i,o=R(()=>{let s=t(),a=JSON.stringify(s);if(!r&&(typeof s=="object"||s!==n)){let c=typeof n=="object"?JSON.parse(i):n;queueMicrotask(()=>{e(s,c)})}n=s,i=a,r=!1});return()=>j(o)}async function Xe(t){Ue();try{await t(),await Promise.resolve()}finally{Ke()}}var Ze=[],Qe=[],tr=[];function er(t){tr.push(t)}function et(t,e){typeof e=="function"?(t._x_cleanups||(t._x_cleanups=[]),t._x_cleanups.push(e)):(e=t,Qe.push(e))}function At(t){Ze.push(t)}function Ot(t,e,r){t._x_attributeCleanups||(t._x_attributeCleanups={}),t._x_attributeCleanups[e]||(t._x_attributeCleanups[e]=[]),t._x_attributeCleanups[e].push(r)}function ce(t,e){t._x_attributeCleanups&&Object.entries(t._x_attributeCleanups).forEach(([r,n])=>{(e===void 0||e.includes(r))&&(n.forEach(i=>i()),delete t._x_attributeCleanups[r])})}function rr(t){for(t._x_effects?.forEach(qe);t._x_cleanups?.length;)t._x_cleanups.pop()()}var ue=new MutationObserver(pe),le=!1;function lt(){ue.observe(document,{subtree:!0,childList:!0,attributes:!0,attributeOldValue:!0}),le=!0}function fe(){In(),ue.disconnect(),le=!1}var ut=[];function In(){let t=ue.takeRecords();ut.push(()=>t.length>0&&pe(t));let e=ut.length;queueMicrotask(()=>{if(ut.length===e)for(;ut.length>0;)ut.shift()()})}function m(t){if(!le)return t();fe();let e=t();return lt(),e}var de=!1,vt=[];function nr(){de=!0}function ir(){de=!1,pe(vt),vt=[]}function pe(t){if(de){vt=vt.concat(t);return}let e=[],r=new Set,n=new Map,i=new Map;for(let o=0;o{s.nodeType===1&&s._x_marker&&r.add(s)}),t[o].addedNodes.forEach(s=>{if(s.nodeType===1){if(r.has(s)){r.delete(s);return}s._x_marker||e.push(s)}})),t[o].type==="attributes")){let s=t[o].target,a=t[o].attributeName,c=t[o].oldValue,u=()=>{n.has(s)||n.set(s,[]),n.get(s).push({name:a,value:s.getAttribute(a)})},l=()=>{i.has(s)||i.set(s,[]),i.get(s).push(a)};s.hasAttribute(a)&&c===null?u():s.hasAttribute(a)?(l(),u()):l()}i.forEach((o,s)=>{ce(s,o)}),n.forEach((o,s)=>{Ze.forEach(a=>a(s,o))});for(let o of r)e.some(s=>s.contains(o))||Qe.forEach(s=>s(o));for(let o of e)o.isConnected&&tr.forEach(s=>s(o));e=null,r=null,n=null,i=null}function Ct(t){return P(F(t))}function N(t,e,r){return t._x_dataStack=[e,...F(r||t)],()=>{t._x_dataStack=t._x_dataStack.filter(n=>n!==e)}}function F(t){return t._x_dataStack?t._x_dataStack:typeof ShadowRoot=="function"&&t instanceof ShadowRoot?F(t.host):t.parentNode?F(t.parentNode):[]}function P(t){return new Proxy({objects:t},$n)}function or(t,e){return t===null||t===Object.prototype?null:Object.prototype.hasOwnProperty.call(t,e)?t:or(Object.getPrototypeOf(t),e)}var $n={ownKeys({objects:t}){return Array.from(new Set(t.flatMap(e=>Object.keys(e))))},has({objects:t},e){return e==Symbol.unscopables?!1:t.some(r=>Object.prototype.hasOwnProperty.call(r,e)||Reflect.has(r,e))},get({objects:t},e,r){return e=="toJSON"?Ln:Reflect.get(t.find(n=>Reflect.has(n,e))||{},e,r)},set({objects:t},e,r,n){let i;for(let s of t)if(i=or(s,e),i)break;i||(i=t[t.length-1]);let o=Object.getOwnPropertyDescriptor(i,e);return o?.set&&o?.get?o.set.call(n,r)||!0:Reflect.set(i,e,r)}};function Ln(){return Reflect.ownKeys(this).reduce((e,r)=>(e[r]=Reflect.get(this,r),e),{})}function rt(t){let e=n=>typeof n=="object"&&!Array.isArray(n)&&n!==null,r=(n,i="")=>{Object.entries(Object.getOwnPropertyDescriptors(n)).forEach(([o,{value:s,enumerable:a}])=>{if(a===!1||s===void 0||typeof s=="object"&&s!==null&&s.__v_skip)return;let c=i===""?o:`${i}.${o}`;typeof s=="object"&&s!==null&&s._x_interceptor?n[o]=s.initialize(t,c,o):e(s)&&s!==n&&!(s instanceof Element)&&r(s,c)})};return r(t)}function Tt(t,e=()=>{}){let r={initialValue:void 0,_x_interceptor:!0,initialize(n,i,o){return t(this.initialValue,()=>jn(n,i),s=>me(n,i,s),i,o)}};return e(r),n=>{if(typeof n=="object"&&n!==null&&n._x_interceptor){let i=r.initialize.bind(r);r.initialize=(o,s,a)=>{let c=n.initialize(o,s,a);return r.initialValue=c,i(o,s,a)}}else r.initialValue=n;return r}}function jn(t,e){return e.split(".").reduce((r,n)=>r[n],t)}function me(t,e,r){if(typeof e=="string"&&(e=e.split(".")),e.length===1)t[e[0]]=r;else{if(e.length===0)throw error;return t[e[0]]||(t[e[0]]={}),me(t[e[0]],e.slice(1),r)}}var sr={};function x(t,e){sr[t]=e}function H(t,e){let r=Fn(e);return Object.entries(sr).forEach(([n,i])=>{Object.defineProperty(t,`$${n}`,{get(){return i(e,r)},enumerable:!1})}),t}function Fn(t){let[e,r]=he(t),n={interceptor:Tt,...e};return et(t,r),n}function ar(t,e,r,...n){try{return r(...n)}catch(i){nt(i,t,e)}}function nt(...t){return cr(...t)}var cr=Bn;function ur(t){cr=t}function Bn(t,e,r=void 0){t=Object.assign(t??{message:"No error message given."},{el:e,expression:r}),console.warn(`Alpine Expression Error: ${t.message} + +${r?'Expression: "'+r+`" + +`:""}`,e),setTimeout(()=>{throw t},0)}var it=!0;function Mt(t){let e=it;it=!1;let r=t();return it=e,r}function T(t,e,r={}){let n;return _(t,e)(i=>n=i,r),n}function _(...t){return lr(...t)}var lr=()=>{};function fr(t){lr=t}var dr;function pr(t){dr=t}function mr(t,e){let r={};H(r,t);let n=[r,...F(t)],i=typeof e=="function"?zn(n,e):Vn(n,e,t);return ar.bind(null,t,e,i)}function zn(t,e){return(r=()=>{},{scope:n={},params:i=[],context:o}={})=>{if(!it){ft(r,e,P([n,...t]),i);return}let s=e.apply(P([n,...t]),i);ft(r,s)}}var _e={};function Hn(t,e){if(_e[t])return _e[t];let r=Object.getPrototypeOf(async function(){}).constructor,n=/^[\n\s]*if.*\(.*\)/.test(t.trim())||/^(let|const)\s/.test(t.trim())?`(async()=>{ ${t} })()`:t,o=(()=>{try{let s=new r(["__self","scope"],`with (scope) { __self.result = ${n} }; __self.finished = true; return __self.result;`);return Object.defineProperty(s,"name",{value:`[Alpine] ${t}`}),s}catch(s){return nt(s,e,t),Promise.resolve()}})();return _e[t]=o,o}function Vn(t,e,r){let n=Hn(e,r);return(i=()=>{},{scope:o={},params:s=[],context:a}={})=>{n.result=void 0,n.finished=!1;let c=P([o,...t]);if(typeof n=="function"){let u=n.call(a,n,c).catch(l=>nt(l,r,e));n.finished?(ft(i,n.result,c,s,r),n.result=void 0):u.then(l=>{ft(i,l,c,s,r)}).catch(l=>nt(l,r,e)).finally(()=>n.result=void 0)}}}function ft(t,e,r,n,i){if(it&&typeof e=="function"){let o=e.apply(r,n);o instanceof Promise?o.then(s=>ft(t,s,r,n)).catch(s=>nt(s,i,e)):t(o)}else typeof e=="object"&&e instanceof Promise?e.then(o=>t(o)):t(e)}function hr(...t){return dr(...t)}function _r(t,e,r={}){let n={};H(n,t);let i=[n,...F(t)],o=P([r.scope??{},...i]),s=r.params??[];if(e.includes("await")){let a=Object.getPrototypeOf(async function(){}).constructor,c=/^[\n\s]*if.*\(.*\)/.test(e.trim())||/^(let|const)\s/.test(e.trim())?`(async()=>{ ${e} })()`:e;return new a(["scope"],`with (scope) { let __result = ${c}; return __result }`).call(r.context,o)}else{let a=/^[\n\s]*if.*\(.*\)/.test(e.trim())||/^(let|const)\s/.test(e.trim())?`(()=>{ ${e} })()`:e,u=new Function(["scope"],`with (scope) { let __result = ${a}; return __result }`).call(r.context,o);return typeof u=="function"&&it?u.apply(o,s):u}}var ye="x-";function O(t=""){return ye+t}function gr(t){ye=t}var Rt={};function p(t,e){return Rt[t]=e,{before(r){if(!Rt[r]){console.warn(String.raw`Cannot find directive \`${r}\`. \`${t}\` will use the default order of execution`);return}let n=G.indexOf(r);G.splice(n>=0?n:G.indexOf("DEFAULT"),0,t)}}}function xr(t){return Object.keys(Rt).includes(t)}function pt(t,e,r){if(e=Array.from(e),t._x_virtualDirectives){let o=Object.entries(t._x_virtualDirectives).map(([a,c])=>({name:a,value:c})),s=be(o);o=o.map(a=>s.find(c=>c.name===a.name)?{name:`x-bind:${a.name}`,value:`"${a.value}"`}:a),e=e.concat(o)}let n={};return e.map(wr((o,s)=>n[o]=s)).filter(Sr).map(Kn(n,r)).sort(qn).map(o=>Un(t,o))}function be(t){return Array.from(t).map(wr()).filter(e=>!Sr(e))}var ge=!1,dt=new Map,yr=Symbol();function br(t){ge=!0;let e=Symbol();yr=e,dt.set(e,[]);let r=()=>{for(;dt.get(e).length;)dt.get(e).shift()();dt.delete(e)},n=()=>{ge=!1,r()};t(r),n()}function he(t){let e=[],r=a=>e.push(a),[n,i]=Ye(t);return e.push(i),[{Alpine:B,effect:n,cleanup:r,evaluateLater:_.bind(_,t),evaluate:T.bind(T,t)},()=>e.forEach(a=>a())]}function Un(t,e){let r=()=>{},n=Rt[e.type]||r,[i,o]=he(t);Ot(t,e.original,o);let s=()=>{t._x_ignore||t._x_ignoreSelf||(n.inline&&n.inline(t,e,i),n=n.bind(n,t,e,i),ge?dt.get(yr).push(n):n())};return s.runCleanups=o,s}var Nt=(t,e)=>({name:r,value:n})=>(r.startsWith(t)&&(r=r.replace(t,e)),{name:r,value:n}),Pt=t=>t;function wr(t=()=>{}){return({name:e,value:r})=>{let{name:n,value:i}=Er.reduce((o,s)=>s(o),{name:e,value:r});return n!==e&&t(n,e),{name:n,value:i}}}var Er=[];function ot(t){Er.push(t)}function Sr({name:t}){return vr().test(t)}var vr=()=>new RegExp(`^${ye}([^:^.]+)\\b`);function Kn(t,e){return({name:r,value:n})=>{r===n&&(n="");let i=r.match(vr()),o=r.match(/:([a-zA-Z0-9\-_:]+)/),s=r.match(/\.[^.\]]+(?=[^\]]*$)/g)||[],a=e||t[r]||r;return{type:i?i[1]:null,value:o?o[1]:null,modifiers:s.map(c=>c.replace(".","")),expression:n,original:a}}}var xe="DEFAULT",G=["ignore","ref","data","id","anchor","bind","init","for","model","modelable","transition","show","if",xe,"teleport"];function qn(t,e){let r=G.indexOf(t.type)===-1?xe:t.type,n=G.indexOf(e.type)===-1?xe:e.type;return G.indexOf(r)-G.indexOf(n)}function J(t,e,r={},n={}){return t.dispatchEvent(new CustomEvent(e,{detail:r,bubbles:!0,composed:!0,cancelable:!0,...n}))}function D(t,e){if(typeof ShadowRoot=="function"&&t instanceof ShadowRoot){Array.from(t.children).forEach(i=>D(i,e));return}let r=!1;if(e(t,()=>r=!0),r)return;let n=t.firstElementChild;for(;n;)D(n,e,!1),n=n.nextElementSibling}function S(t,...e){console.warn(`Alpine Warning: ${t}`,...e)}var Ar=!1;function Or(){Ar&&S("Alpine has already been initialized on this page. Calling Alpine.start() more than once can cause problems."),Ar=!0,document.body||S("Unable to initialize. Trying to load Alpine before `` is available. Did you forget to add `defer` in Alpine's `

EXdd8jo@g`( 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 )Wu}}{$S`ZEx&kDdr|L|=kqM&;)Q}=rYY8S@ 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