@kindgi/api 0.0.0-bootstrap.0 → 0.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +201 -0
- package/README.md +216 -1
- package/dist/adapter-binding.d.ts +177 -0
- package/dist/adapter-binding.d.ts.map +1 -0
- package/dist/adapter-binding.js +12 -0
- package/dist/adapter-binding.js.map +1 -0
- package/dist/agent-binding.d.ts +207 -0
- package/dist/agent-binding.d.ts.map +1 -0
- package/dist/agent-binding.js +4 -0
- package/dist/agent-binding.js.map +1 -0
- package/dist/app.d.ts +770 -0
- package/dist/app.d.ts.map +1 -0
- package/dist/app.js +396 -0
- package/dist/app.js.map +1 -0
- package/dist/capability-binding.d.ts +76 -0
- package/dist/capability-binding.d.ts.map +1 -0
- package/dist/capability-binding.js +4 -0
- package/dist/capability-binding.js.map +1 -0
- package/dist/cost-binding.d.ts +175 -0
- package/dist/cost-binding.d.ts.map +1 -0
- package/dist/cost-binding.js +13 -0
- package/dist/cost-binding.js.map +1 -0
- package/dist/deployment-binding.d.ts +201 -0
- package/dist/deployment-binding.d.ts.map +1 -0
- package/dist/deployment-binding.js +4 -0
- package/dist/deployment-binding.js.map +1 -0
- package/dist/env-binding.d.ts +132 -0
- package/dist/env-binding.d.ts.map +1 -0
- package/dist/env-binding.js +4 -0
- package/dist/env-binding.js.map +1 -0
- package/dist/errors.d.ts +37 -0
- package/dist/errors.d.ts.map +1 -0
- package/dist/errors.js +264 -0
- package/dist/errors.js.map +1 -0
- package/dist/eval-run-binding.d.ts +196 -0
- package/dist/eval-run-binding.d.ts.map +1 -0
- package/dist/eval-run-binding.js +16 -0
- package/dist/eval-run-binding.js.map +1 -0
- package/dist/eval-run-dispatcher.d.ts +131 -0
- package/dist/eval-run-dispatcher.d.ts.map +1 -0
- package/dist/eval-run-dispatcher.js +368 -0
- package/dist/eval-run-dispatcher.js.map +1 -0
- package/dist/eval-suite-binding.d.ts +227 -0
- package/dist/eval-suite-binding.d.ts.map +1 -0
- package/dist/eval-suite-binding.js +24 -0
- package/dist/eval-suite-binding.js.map +1 -0
- package/dist/event-bus-binding.d.ts +107 -0
- package/dist/event-bus-binding.d.ts.map +1 -0
- package/dist/event-bus-binding.js +5 -0
- package/dist/event-bus-binding.js.map +1 -0
- package/dist/flow-binding.d.ts +194 -0
- package/dist/flow-binding.d.ts.map +1 -0
- package/dist/flow-binding.js +4 -0
- package/dist/flow-binding.js.map +1 -0
- package/dist/guardrail-binding.d.ts +138 -0
- package/dist/guardrail-binding.d.ts.map +1 -0
- package/dist/guardrail-binding.js +4 -0
- package/dist/guardrail-binding.js.map +1 -0
- package/dist/handler-binding.d.ts +126 -0
- package/dist/handler-binding.d.ts.map +1 -0
- package/dist/handler-binding.js +4 -0
- package/dist/handler-binding.js.map +1 -0
- package/dist/hitl-binding.d.ts +115 -0
- package/dist/hitl-binding.d.ts.map +1 -0
- package/dist/hitl-binding.js +4 -0
- package/dist/hitl-binding.js.map +1 -0
- package/dist/identity-directory-binding.d.ts +116 -0
- package/dist/identity-directory-binding.d.ts.map +1 -0
- package/dist/identity-directory-binding.js +4 -0
- package/dist/identity-directory-binding.js.map +1 -0
- package/dist/identity-provider-binding.d.ts +184 -0
- package/dist/identity-provider-binding.d.ts.map +1 -0
- package/dist/identity-provider-binding.js +4 -0
- package/dist/identity-provider-binding.js.map +1 -0
- package/dist/image-registry-binding.d.ts +165 -0
- package/dist/image-registry-binding.d.ts.map +1 -0
- package/dist/image-registry-binding.js +4 -0
- package/dist/image-registry-binding.js.map +1 -0
- package/dist/index.d.ts +72 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +26 -0
- package/dist/index.js.map +1 -0
- package/dist/key-management-binding.d.ts +101 -0
- package/dist/key-management-binding.d.ts.map +1 -0
- package/dist/key-management-binding.js +4 -0
- package/dist/key-management-binding.js.map +1 -0
- package/dist/mcp-endpoint-binding.d.ts +312 -0
- package/dist/mcp-endpoint-binding.d.ts.map +1 -0
- package/dist/mcp-endpoint-binding.js +12 -0
- package/dist/mcp-endpoint-binding.js.map +1 -0
- package/dist/memory-binding.d.ts +209 -0
- package/dist/memory-binding.d.ts.map +1 -0
- package/dist/memory-binding.js +4 -0
- package/dist/memory-binding.js.map +1 -0
- package/dist/middleware/auth.d.ts +168 -0
- package/dist/middleware/auth.d.ts.map +1 -0
- package/dist/middleware/auth.js +247 -0
- package/dist/middleware/auth.js.map +1 -0
- package/dist/middleware/authorize.d.ts +26 -0
- package/dist/middleware/authorize.d.ts.map +1 -0
- package/dist/middleware/authorize.js +65 -0
- package/dist/middleware/authorize.js.map +1 -0
- package/dist/middleware/error-mapper.d.ts +13 -0
- package/dist/middleware/error-mapper.d.ts.map +1 -0
- package/dist/middleware/error-mapper.js +32 -0
- package/dist/middleware/error-mapper.js.map +1 -0
- package/dist/middleware/idempotency.d.ts +43 -0
- package/dist/middleware/idempotency.d.ts.map +1 -0
- package/dist/middleware/idempotency.js +118 -0
- package/dist/middleware/idempotency.js.map +1 -0
- package/dist/middleware/principal.d.ts +4 -0
- package/dist/middleware/principal.d.ts.map +1 -0
- package/dist/middleware/principal.js +42 -0
- package/dist/middleware/principal.js.map +1 -0
- package/dist/middleware/public-run-routes.d.ts +16 -0
- package/dist/middleware/public-run-routes.d.ts.map +1 -0
- package/dist/middleware/public-run-routes.js +43 -0
- package/dist/middleware/public-run-routes.js.map +1 -0
- package/dist/middleware/request-id.d.ts +14 -0
- package/dist/middleware/request-id.d.ts.map +1 -0
- package/dist/middleware/request-id.js +24 -0
- package/dist/middleware/request-id.js.map +1 -0
- package/dist/middleware/sigv4-verify.d.ts +64 -0
- package/dist/middleware/sigv4-verify.d.ts.map +1 -0
- package/dist/middleware/sigv4-verify.js +286 -0
- package/dist/middleware/sigv4-verify.js.map +1 -0
- package/dist/middleware/sigv4.d.ts +25 -0
- package/dist/middleware/sigv4.d.ts.map +1 -0
- package/dist/middleware/sigv4.js +120 -0
- package/dist/middleware/sigv4.js.map +1 -0
- package/dist/openapi/generate.d.ts +15 -0
- package/dist/openapi/generate.d.ts.map +1 -0
- package/dist/openapi/generate.js +241 -0
- package/dist/openapi/generate.js.map +1 -0
- package/dist/openapi/operations.d.ts +70 -0
- package/dist/openapi/operations.d.ts.map +1 -0
- package/dist/openapi/operations.js +5051 -0
- package/dist/openapi/operations.js.map +1 -0
- package/dist/openapi/schemas.d.ts +590 -0
- package/dist/openapi/schemas.d.ts.map +1 -0
- package/dist/openapi/schemas.js +5820 -0
- package/dist/openapi/schemas.js.map +1 -0
- package/dist/provenance-binding.d.ts +116 -0
- package/dist/provenance-binding.d.ts.map +1 -0
- package/dist/provenance-binding.js +31 -0
- package/dist/provenance-binding.js.map +1 -0
- package/dist/provider-binding.d.ts +174 -0
- package/dist/provider-binding.d.ts.map +1 -0
- package/dist/provider-binding.js +4 -0
- package/dist/provider-binding.js.map +1 -0
- package/dist/public-run-token.d.ts +97 -0
- package/dist/public-run-token.d.ts.map +1 -0
- package/dist/public-run-token.js +167 -0
- package/dist/public-run-token.js.map +1 -0
- package/dist/retention-binding.d.ts +69 -0
- package/dist/retention-binding.d.ts.map +1 -0
- package/dist/retention-binding.js +4 -0
- package/dist/retention-binding.js.map +1 -0
- package/dist/reviewer-binding.d.ts +84 -0
- package/dist/reviewer-binding.d.ts.map +1 -0
- package/dist/reviewer-binding.js +4 -0
- package/dist/reviewer-binding.js.map +1 -0
- package/dist/rotation-status-store.d.ts +96 -0
- package/dist/rotation-status-store.d.ts.map +1 -0
- package/dist/rotation-status-store.js +106 -0
- package/dist/rotation-status-store.js.map +1 -0
- package/dist/routes/adapters.d.ts +29 -0
- package/dist/routes/adapters.d.ts.map +1 -0
- package/dist/routes/adapters.js +230 -0
- package/dist/routes/adapters.js.map +1 -0
- package/dist/routes/agents.d.ts +17 -0
- package/dist/routes/agents.d.ts.map +1 -0
- package/dist/routes/agents.js +342 -0
- package/dist/routes/agents.js.map +1 -0
- package/dist/routes/approvals.d.ts +37 -0
- package/dist/routes/approvals.d.ts.map +1 -0
- package/dist/routes/approvals.js +551 -0
- package/dist/routes/approvals.js.map +1 -0
- package/dist/routes/artifacts.d.ts +25 -0
- package/dist/routes/artifacts.d.ts.map +1 -0
- package/dist/routes/artifacts.js +265 -0
- package/dist/routes/artifacts.js.map +1 -0
- package/dist/routes/audit.d.ts +6 -0
- package/dist/routes/audit.d.ts.map +1 -0
- package/dist/routes/audit.js +162 -0
- package/dist/routes/audit.js.map +1 -0
- package/dist/routes/auth.d.ts +47 -0
- package/dist/routes/auth.d.ts.map +1 -0
- package/dist/routes/auth.js +630 -0
- package/dist/routes/auth.js.map +1 -0
- package/dist/routes/capabilities.d.ts +14 -0
- package/dist/routes/capabilities.d.ts.map +1 -0
- package/dist/routes/capabilities.js +62 -0
- package/dist/routes/capabilities.js.map +1 -0
- package/dist/routes/compliance.d.ts +37 -0
- package/dist/routes/compliance.d.ts.map +1 -0
- package/dist/routes/compliance.js +321 -0
- package/dist/routes/compliance.js.map +1 -0
- package/dist/routes/conversations.d.ts +13 -0
- package/dist/routes/conversations.d.ts.map +1 -0
- package/dist/routes/conversations.js +295 -0
- package/dist/routes/conversations.js.map +1 -0
- package/dist/routes/cost.d.ts +24 -0
- package/dist/routes/cost.d.ts.map +1 -0
- package/dist/routes/cost.js +243 -0
- package/dist/routes/cost.js.map +1 -0
- package/dist/routes/deployments.d.ts +122 -0
- package/dist/routes/deployments.d.ts.map +1 -0
- package/dist/routes/deployments.js +1036 -0
- package/dist/routes/deployments.js.map +1 -0
- package/dist/routes/env.d.ts +62 -0
- package/dist/routes/env.d.ts.map +1 -0
- package/dist/routes/env.js +311 -0
- package/dist/routes/env.js.map +1 -0
- package/dist/routes/eval-runs.d.ts +28 -0
- package/dist/routes/eval-runs.d.ts.map +1 -0
- package/dist/routes/eval-runs.js +479 -0
- package/dist/routes/eval-runs.js.map +1 -0
- package/dist/routes/eval-suites.d.ts +24 -0
- package/dist/routes/eval-suites.d.ts.map +1 -0
- package/dist/routes/eval-suites.js +381 -0
- package/dist/routes/eval-suites.js.map +1 -0
- package/dist/routes/event-triggers.d.ts +12 -0
- package/dist/routes/event-triggers.d.ts.map +1 -0
- package/dist/routes/event-triggers.js +218 -0
- package/dist/routes/event-triggers.js.map +1 -0
- package/dist/routes/flows.d.ts +23 -0
- package/dist/routes/flows.d.ts.map +1 -0
- package/dist/routes/flows.js +344 -0
- package/dist/routes/flows.js.map +1 -0
- package/dist/routes/guardrails.d.ts +33 -0
- package/dist/routes/guardrails.d.ts.map +1 -0
- package/dist/routes/guardrails.js +236 -0
- package/dist/routes/guardrails.js.map +1 -0
- package/dist/routes/identity.d.ts +39 -0
- package/dist/routes/identity.d.ts.map +1 -0
- package/dist/routes/identity.js +138 -0
- package/dist/routes/identity.js.map +1 -0
- package/dist/routes/mcp.d.ts +23 -0
- package/dist/routes/mcp.d.ts.map +1 -0
- package/dist/routes/mcp.js +727 -0
- package/dist/routes/mcp.js.map +1 -0
- package/dist/routes/memory.d.ts +16 -0
- package/dist/routes/memory.d.ts.map +1 -0
- package/dist/routes/memory.js +353 -0
- package/dist/routes/memory.js.map +1 -0
- package/dist/routes/observations.d.ts +19 -0
- package/dist/routes/observations.d.ts.map +1 -0
- package/dist/routes/observations.js +135 -0
- package/dist/routes/observations.js.map +1 -0
- package/dist/routes/orgs.d.ts +24 -0
- package/dist/routes/orgs.d.ts.map +1 -0
- package/dist/routes/orgs.js +208 -0
- package/dist/routes/orgs.js.map +1 -0
- package/dist/routes/pagination.d.ts +18 -0
- package/dist/routes/pagination.d.ts.map +1 -0
- package/dist/routes/pagination.js +35 -0
- package/dist/routes/pagination.js.map +1 -0
- package/dist/routes/policies.d.ts +23 -0
- package/dist/routes/policies.d.ts.map +1 -0
- package/dist/routes/policies.js +314 -0
- package/dist/routes/policies.js.map +1 -0
- package/dist/routes/projects.d.ts +45 -0
- package/dist/routes/projects.d.ts.map +1 -0
- package/dist/routes/projects.js +485 -0
- package/dist/routes/projects.js.map +1 -0
- package/dist/routes/proposals.d.ts +24 -0
- package/dist/routes/proposals.d.ts.map +1 -0
- package/dist/routes/proposals.js +581 -0
- package/dist/routes/proposals.js.map +1 -0
- package/dist/routes/provenance.d.ts +34 -0
- package/dist/routes/provenance.d.ts.map +1 -0
- package/dist/routes/provenance.js +274 -0
- package/dist/routes/provenance.js.map +1 -0
- package/dist/routes/providers.d.ts +32 -0
- package/dist/routes/providers.d.ts.map +1 -0
- package/dist/routes/providers.js +490 -0
- package/dist/routes/providers.js.map +1 -0
- package/dist/routes/public-run-tokens.d.ts +17 -0
- package/dist/routes/public-run-tokens.d.ts.map +1 -0
- package/dist/routes/public-run-tokens.js +69 -0
- package/dist/routes/public-run-tokens.js.map +1 -0
- package/dist/routes/retention.d.ts +19 -0
- package/dist/routes/retention.d.ts.map +1 -0
- package/dist/routes/retention.js +152 -0
- package/dist/routes/retention.js.map +1 -0
- package/dist/routes/reviewers.d.ts +5 -0
- package/dist/routes/reviewers.d.ts.map +1 -0
- package/dist/routes/reviewers.js +161 -0
- package/dist/routes/reviewers.js.map +1 -0
- package/dist/routes/runs.d.ts +34 -0
- package/dist/routes/runs.d.ts.map +1 -0
- package/dist/routes/runs.js +773 -0
- package/dist/routes/runs.js.map +1 -0
- package/dist/routes/s3.d.ts +31 -0
- package/dist/routes/s3.d.ts.map +1 -0
- package/dist/routes/s3.js +433 -0
- package/dist/routes/s3.js.map +1 -0
- package/dist/routes/schedules.d.ts +20 -0
- package/dist/routes/schedules.d.ts.map +1 -0
- package/dist/routes/schedules.js +234 -0
- package/dist/routes/schedules.js.map +1 -0
- package/dist/routes/scope-params.d.ts +57 -0
- package/dist/routes/scope-params.d.ts.map +1 -0
- package/dist/routes/scope-params.js +105 -0
- package/dist/routes/scope-params.js.map +1 -0
- package/dist/routes/secret-ref.d.ts +20 -0
- package/dist/routes/secret-ref.d.ts.map +1 -0
- package/dist/routes/secret-ref.js +42 -0
- package/dist/routes/secret-ref.js.map +1 -0
- package/dist/routes/secrets.d.ts +53 -0
- package/dist/routes/secrets.d.ts.map +1 -0
- package/dist/routes/secrets.js +715 -0
- package/dist/routes/secrets.js.map +1 -0
- package/dist/routes/signing-keys.d.ts +23 -0
- package/dist/routes/signing-keys.d.ts.map +1 -0
- package/dist/routes/signing-keys.js +212 -0
- package/dist/routes/signing-keys.js.map +1 -0
- package/dist/routes/sse.d.ts +58 -0
- package/dist/routes/sse.d.ts.map +1 -0
- package/dist/routes/sse.js +92 -0
- package/dist/routes/sse.js.map +1 -0
- package/dist/routes/teams.d.ts +30 -0
- package/dist/routes/teams.d.ts.map +1 -0
- package/dist/routes/teams.js +443 -0
- package/dist/routes/teams.js.map +1 -0
- package/dist/routes/tenant.d.ts +57 -0
- package/dist/routes/tenant.d.ts.map +1 -0
- package/dist/routes/tenant.js +352 -0
- package/dist/routes/tenant.js.map +1 -0
- package/dist/routes/tokens.d.ts +14 -0
- package/dist/routes/tokens.d.ts.map +1 -0
- package/dist/routes/tokens.js +231 -0
- package/dist/routes/tokens.js.map +1 -0
- package/dist/routes/tools.d.ts +33 -0
- package/dist/routes/tools.d.ts.map +1 -0
- package/dist/routes/tools.js +380 -0
- package/dist/routes/tools.js.map +1 -0
- package/dist/routes/webhook-endpoints.d.ts +10 -0
- package/dist/routes/webhook-endpoints.d.ts.map +1 -0
- package/dist/routes/webhook-endpoints.js +407 -0
- package/dist/routes/webhook-endpoints.js.map +1 -0
- package/dist/routes/webhooks.d.ts +21 -0
- package/dist/routes/webhooks.d.ts.map +1 -0
- package/dist/routes/webhooks.js +228 -0
- package/dist/routes/webhooks.js.map +1 -0
- package/dist/s3-credential-binding.d.ts +54 -0
- package/dist/s3-credential-binding.d.ts.map +1 -0
- package/dist/s3-credential-binding.js +4 -0
- package/dist/s3-credential-binding.js.map +1 -0
- package/dist/secrets-binding.d.ts +281 -0
- package/dist/secrets-binding.d.ts.map +1 -0
- package/dist/secrets-binding.js +10 -0
- package/dist/secrets-binding.js.map +1 -0
- package/dist/secrets-provider-binding.d.ts +164 -0
- package/dist/secrets-provider-binding.d.ts.map +1 -0
- package/dist/secrets-provider-binding.js +4 -0
- package/dist/secrets-provider-binding.js.map +1 -0
- package/dist/session-store-binding.d.ts +148 -0
- package/dist/session-store-binding.d.ts.map +1 -0
- package/dist/session-store-binding.js +4 -0
- package/dist/session-store-binding.js.map +1 -0
- package/dist/signing-key-binding.d.ts +210 -0
- package/dist/signing-key-binding.d.ts.map +1 -0
- package/dist/signing-key-binding.js +4 -0
- package/dist/signing-key-binding.js.map +1 -0
- package/dist/state-store-binding.d.ts +53 -0
- package/dist/state-store-binding.d.ts.map +1 -0
- package/dist/state-store-binding.js +38 -0
- package/dist/state-store-binding.js.map +1 -0
- package/dist/supervisor-binding.d.ts +526 -0
- package/dist/supervisor-binding.d.ts.map +1 -0
- package/dist/supervisor-binding.js +4 -0
- package/dist/supervisor-binding.js.map +1 -0
- package/dist/tenant-host-access.d.ts +41 -0
- package/dist/tenant-host-access.d.ts.map +1 -0
- package/dist/tenant-host-access.js +42 -0
- package/dist/tenant-host-access.js.map +1 -0
- package/dist/token-admin.d.ts +99 -0
- package/dist/token-admin.d.ts.map +1 -0
- package/dist/token-admin.js +4 -0
- package/dist/token-admin.js.map +1 -0
- package/dist/tool-binding.d.ts +247 -0
- package/dist/tool-binding.d.ts.map +1 -0
- package/dist/tool-binding.js +4 -0
- package/dist/tool-binding.js.map +1 -0
- package/dist/trigger-binding.d.ts +13 -0
- package/dist/trigger-binding.d.ts.map +1 -0
- package/dist/trigger-binding.js +4 -0
- package/dist/trigger-binding.js.map +1 -0
- package/dist/types.d.ts +71 -0
- package/dist/types.d.ts.map +1 -0
- package/dist/types.js +4 -0
- package/dist/types.js.map +1 -0
- package/dist/webhook-endpoint-binding.d.ts +230 -0
- package/dist/webhook-endpoint-binding.d.ts.map +1 -0
- package/dist/webhook-endpoint-binding.js +12 -0
- package/dist/webhook-endpoint-binding.js.map +1 -0
- package/dist/xml.d.ts +79 -0
- package/dist/xml.d.ts.map +1 -0
- package/dist/xml.js +115 -0
- package/dist/xml.js.map +1 -0
- package/openapi.json +29659 -0
- package/package.json +76 -4
- package/scripts/emit-openapi.mjs +44 -0
- package/src/adapter-binding.ts +204 -0
- package/src/agent-binding.ts +231 -0
- package/src/app.ts +1285 -0
- package/src/capability-binding.ts +83 -0
- package/src/cost-binding.ts +213 -0
- package/src/deployment-binding.ts +225 -0
- package/src/env-binding.ts +140 -0
- package/src/errors.ts +291 -0
- package/src/eval-run-binding.ts +209 -0
- package/src/eval-run-dispatcher.ts +497 -0
- package/src/eval-suite-binding.ts +257 -0
- package/src/event-bus-binding.ts +127 -0
- package/src/flow-binding.ts +213 -0
- package/src/guardrail-binding.ts +151 -0
- package/src/handler-binding.ts +132 -0
- package/src/hitl-binding.ts +172 -0
- package/src/identity-directory-binding.ts +128 -0
- package/src/identity-provider-binding.ts +203 -0
- package/src/image-registry-binding.ts +193 -0
- package/src/index.ts +606 -0
- package/src/key-management-binding.ts +91 -0
- package/src/mcp-endpoint-binding.ts +311 -0
- package/src/memory-binding.ts +239 -0
- package/src/middleware/auth.ts +437 -0
- package/src/middleware/authorize.ts +125 -0
- package/src/middleware/error-mapper.ts +37 -0
- package/src/middleware/idempotency.ts +160 -0
- package/src/middleware/principal.ts +64 -0
- package/src/middleware/public-run-routes.ts +50 -0
- package/src/middleware/request-id.ts +28 -0
- package/src/middleware/sigv4-verify.ts +374 -0
- package/src/middleware/sigv4.ts +165 -0
- package/src/openapi/generate.ts +307 -0
- package/src/openapi/operations.ts +5445 -0
- package/src/openapi/schemas.ts +6363 -0
- package/src/provenance-binding.ts +169 -0
- package/src/provider-binding.ts +196 -0
- package/src/public-run-token.ts +263 -0
- package/src/retention-binding.ts +78 -0
- package/src/reviewer-binding.ts +99 -0
- package/src/rotation-status-store.ts +209 -0
- package/src/routes/adapters.ts +319 -0
- package/src/routes/agents.ts +424 -0
- package/src/routes/approvals.ts +759 -0
- package/src/routes/artifacts.ts +317 -0
- package/src/routes/audit.ts +219 -0
- package/src/routes/auth.ts +806 -0
- package/src/routes/capabilities.ts +79 -0
- package/src/routes/compliance.ts +482 -0
- package/src/routes/conversations.ts +369 -0
- package/src/routes/cost.ts +327 -0
- package/src/routes/deployments.ts +1493 -0
- package/src/routes/env.ts +429 -0
- package/src/routes/eval-runs.ts +631 -0
- package/src/routes/eval-suites.ts +490 -0
- package/src/routes/event-triggers.ts +283 -0
- package/src/routes/flows.ts +423 -0
- package/src/routes/guardrails.ts +320 -0
- package/src/routes/identity.ts +203 -0
- package/src/routes/mcp.ts +940 -0
- package/src/routes/memory.ts +430 -0
- package/src/routes/observations.ts +175 -0
- package/src/routes/orgs.ts +273 -0
- package/src/routes/pagination.ts +51 -0
- package/src/routes/policies.ts +413 -0
- package/src/routes/projects.ts +634 -0
- package/src/routes/proposals.ts +719 -0
- package/src/routes/provenance.ts +406 -0
- package/src/routes/providers.ts +624 -0
- package/src/routes/public-run-tokens.ts +104 -0
- package/src/routes/retention.ts +193 -0
- package/src/routes/reviewers.ts +209 -0
- package/src/routes/runs.ts +981 -0
- package/src/routes/s3.ts +519 -0
- package/src/routes/schedules.ts +300 -0
- package/src/routes/scope-params.ts +133 -0
- package/src/routes/secret-ref.ts +52 -0
- package/src/routes/secrets.ts +975 -0
- package/src/routes/signing-keys.ts +259 -0
- package/src/routes/sse.ts +148 -0
- package/src/routes/teams.ts +584 -0
- package/src/routes/tenant.ts +530 -0
- package/src/routes/tokens.ts +285 -0
- package/src/routes/tools.ts +491 -0
- package/src/routes/webhook-endpoints.ts +534 -0
- package/src/routes/webhooks.ts +296 -0
- package/src/s3-credential-binding.ts +58 -0
- package/src/secrets-binding.ts +308 -0
- package/src/secrets-provider-binding.ts +167 -0
- package/src/session-store-binding.ts +163 -0
- package/src/signing-key-binding.ts +235 -0
- package/src/state-store-binding.ts +84 -0
- package/src/supervisor-binding.ts +554 -0
- package/src/tenant-host-access.ts +62 -0
- package/src/token-admin.ts +104 -0
- package/src/tool-binding.ts +274 -0
- package/src/trigger-binding.ts +38 -0
- package/src/types.ts +74 -0
- package/src/webhook-endpoint-binding.ts +246 -0
- package/src/xml.ts +196 -0
|
@@ -0,0 +1,230 @@
|
|
|
1
|
+
import type { Cursor, EnvName, ProjectId, RunId, TenantId, Timestamp, WebhookDeliveryId, WebhookEndpointId, WebhookEventId } from '@kindgi/types';
|
|
2
|
+
/**
|
|
3
|
+
* Outbound webhook endpoints: URLs the platform sends signed events to,
|
|
4
|
+
* such as `run.finished` when a run completes, fails or is cancelled.
|
|
5
|
+
* The inverse of `/v1/webhooks`, which are inbound triggers.
|
|
6
|
+
*
|
|
7
|
+
* Caller-plugged: the runtime owns storage, secrets, the delivery queue
|
|
8
|
+
* and the HTTP sender. This package defines the contract and the wire
|
|
9
|
+
* shapes, and mounts `/v1/webhook-endpoints` when a binding is supplied.
|
|
10
|
+
*
|
|
11
|
+
* **Secrets.** An endpoint's signing secret is shared with the receiver,
|
|
12
|
+
* so it lives where the deployment's other secrets do: the endpoint holds
|
|
13
|
+
* a reference (`secretRef`, like a provider's `secret_ref`), never the
|
|
14
|
+
* value. The caller stores the secret first (its own `.env` in
|
|
15
|
+
* development, the secrets store in production; `generate-secret` makes
|
|
16
|
+
* a strong one) and registers the endpoint with its name. The binding
|
|
17
|
+
* resolves it at tenant scope to sign each delivery, and checks on
|
|
18
|
+
* create and update that it exists and is strong (`whsec_` + base64 of
|
|
19
|
+
* at least 24 bytes, or the bare base64). Rotating is rotating that
|
|
20
|
+
* secret; while a store keeps the previous version, deliveries carry a
|
|
21
|
+
* signature for each version less than a day old. Deliveries are signed
|
|
22
|
+
* per `@kindgi/crypto` `signWebhook`; receivers verify with
|
|
23
|
+
* `verifyWebhook` or any Standard Webhooks library.
|
|
24
|
+
*
|
|
25
|
+
* **Delivery.** At least once: receivers deduplicate on the event id
|
|
26
|
+
* (the `webhook-id` header). Every method is tenant-scoped.
|
|
27
|
+
*/
|
|
28
|
+
export interface WebhookEndpointBinding {
|
|
29
|
+
/**
|
|
30
|
+
* Register an endpoint. The route has checked the body's shape and
|
|
31
|
+
* that `url` is an absolute http(s) URL; the binding applies the
|
|
32
|
+
* deployment's URL policy (e.g. https only, no private addresses) and
|
|
33
|
+
* answers `url-refused` with a reason, and checks the secret behind
|
|
34
|
+
* `secretRef` (`secret-not-found`, `secret-too-weak`).
|
|
35
|
+
*/
|
|
36
|
+
create(input: WebhookEndpointCreateInput): Promise<WebhookEndpointCreateOutcome>;
|
|
37
|
+
list(input: WebhookEndpointListInput): Promise<WebhookEndpointPage>;
|
|
38
|
+
/** `null` when unknown or unregistered; the route answers 404. */
|
|
39
|
+
get(input: WebhookEndpointRef): Promise<WebhookEndpoint | null>;
|
|
40
|
+
update(input: WebhookEndpointUpdateInput): Promise<WebhookEndpointUpdateOutcome>;
|
|
41
|
+
/**
|
|
42
|
+
* Soft delete: the endpoint stops receiving events and its pending
|
|
43
|
+
* deliveries are abandoned. `{ unregistered: false }` when it was
|
|
44
|
+
* unknown or already unregistered.
|
|
45
|
+
*/
|
|
46
|
+
unregister(input: WebhookEndpointRef): Promise<{
|
|
47
|
+
readonly unregistered: boolean;
|
|
48
|
+
}>;
|
|
49
|
+
/** The endpoint's deliveries, newest first. */
|
|
50
|
+
listDeliveries(input: WebhookDeliveryListInput): Promise<WebhookDeliveryListOutcome>;
|
|
51
|
+
/** Queue a delivery again now, whatever its status; attempts start over. */
|
|
52
|
+
redeliver(input: WebhookDeliveryRef): Promise<WebhookDeliveryOutcome>;
|
|
53
|
+
/** Queue a `webhook.test` event to the endpoint, to check the receiver end to end. */
|
|
54
|
+
sendTest(input: WebhookEndpointRef): Promise<WebhookDeliveryOutcome>;
|
|
55
|
+
}
|
|
56
|
+
/** Event types an endpoint can subscribe to. */
|
|
57
|
+
export declare const WEBHOOK_EVENT_TYPES: readonly ["run.finished"];
|
|
58
|
+
export type WebhookEventType = (typeof WEBHOOK_EVENT_TYPES)[number];
|
|
59
|
+
/**
|
|
60
|
+
* Which events reach the endpoint. Every field narrows; absent fields
|
|
61
|
+
* don't. `run.finished` is sent for top-level runs only (never for a
|
|
62
|
+
* child run, such as an agent step's turn).
|
|
63
|
+
*/
|
|
64
|
+
export interface WebhookEndpointFilter {
|
|
65
|
+
/** Only runs in this project. */
|
|
66
|
+
readonly projectId?: ProjectId;
|
|
67
|
+
/** Only runs of these flows (`flowId`, any version). */
|
|
68
|
+
readonly flowIds?: readonly string[];
|
|
69
|
+
/** Dry runs are left out unless this is `true`. */
|
|
70
|
+
readonly includeDryRuns?: boolean;
|
|
71
|
+
}
|
|
72
|
+
export interface WebhookEndpoint {
|
|
73
|
+
readonly endpointId: WebhookEndpointId;
|
|
74
|
+
readonly url: string;
|
|
75
|
+
readonly events: readonly WebhookEventType[];
|
|
76
|
+
readonly filter: WebhookEndpointFilter;
|
|
77
|
+
readonly description: string | null;
|
|
78
|
+
/** Where the signing secret is kept; the value never leaves the store. */
|
|
79
|
+
readonly secretRef: WebhookSecretRef;
|
|
80
|
+
readonly createdAt: Timestamp;
|
|
81
|
+
readonly updatedAt: Timestamp;
|
|
82
|
+
}
|
|
83
|
+
/**
|
|
84
|
+
* A secret by name in the deployment's secrets store, resolved at tenant
|
|
85
|
+
* scope — the same shape as a provider's `secret_ref`.
|
|
86
|
+
*/
|
|
87
|
+
export interface WebhookSecretRef {
|
|
88
|
+
readonly envName: EnvName;
|
|
89
|
+
readonly name: string;
|
|
90
|
+
}
|
|
91
|
+
export interface WebhookEndpointRef {
|
|
92
|
+
readonly tenantId: TenantId;
|
|
93
|
+
readonly endpointId: WebhookEndpointId;
|
|
94
|
+
}
|
|
95
|
+
export interface WebhookEndpointCreateInput {
|
|
96
|
+
readonly tenantId: TenantId;
|
|
97
|
+
readonly url: string;
|
|
98
|
+
readonly events: readonly WebhookEventType[];
|
|
99
|
+
readonly filter: WebhookEndpointFilter;
|
|
100
|
+
readonly secretRef: WebhookSecretRef;
|
|
101
|
+
readonly description?: string;
|
|
102
|
+
}
|
|
103
|
+
export interface WebhookEndpointListInput {
|
|
104
|
+
readonly tenantId: TenantId;
|
|
105
|
+
readonly limit: number;
|
|
106
|
+
readonly cursor?: Cursor;
|
|
107
|
+
}
|
|
108
|
+
export interface WebhookEndpointPage {
|
|
109
|
+
readonly data: readonly WebhookEndpoint[];
|
|
110
|
+
readonly nextCursor?: Cursor;
|
|
111
|
+
}
|
|
112
|
+
/** Fields to change; absent fields are kept. `description: null` clears it. */
|
|
113
|
+
export interface WebhookEndpointUpdateInput extends WebhookEndpointRef {
|
|
114
|
+
readonly url?: string;
|
|
115
|
+
readonly events?: readonly WebhookEventType[];
|
|
116
|
+
readonly filter?: WebhookEndpointFilter;
|
|
117
|
+
readonly secretRef?: WebhookSecretRef;
|
|
118
|
+
readonly description?: string | null;
|
|
119
|
+
}
|
|
120
|
+
/** Why an endpoint can't be saved as asked. */
|
|
121
|
+
export type WebhookEndpointRefusal = {
|
|
122
|
+
readonly kind: 'url-refused';
|
|
123
|
+
readonly reason: string;
|
|
124
|
+
} | {
|
|
125
|
+
readonly kind: 'project-not-found';
|
|
126
|
+
readonly projectId: ProjectId;
|
|
127
|
+
}
|
|
128
|
+
/** No secret by that name (at tenant scope) in the store. */
|
|
129
|
+
| {
|
|
130
|
+
readonly kind: 'secret-not-found';
|
|
131
|
+
readonly secretRef: WebhookSecretRef;
|
|
132
|
+
}
|
|
133
|
+
/** The secret is not `whsec_` + base64 of at least 24 bytes (or that base64 alone). */
|
|
134
|
+
| {
|
|
135
|
+
readonly kind: 'secret-too-weak';
|
|
136
|
+
readonly secretRef: WebhookSecretRef;
|
|
137
|
+
};
|
|
138
|
+
export type WebhookEndpointCreateOutcome = {
|
|
139
|
+
readonly kind: 'ok';
|
|
140
|
+
readonly endpoint: WebhookEndpoint;
|
|
141
|
+
} | WebhookEndpointRefusal;
|
|
142
|
+
export type WebhookEndpointUpdateOutcome = {
|
|
143
|
+
readonly kind: 'ok';
|
|
144
|
+
readonly endpoint: WebhookEndpoint;
|
|
145
|
+
} | {
|
|
146
|
+
readonly kind: 'not-found';
|
|
147
|
+
} | WebhookEndpointRefusal;
|
|
148
|
+
/**
|
|
149
|
+
* A finished top-level run, as `run.finished` carries it: the run's
|
|
150
|
+
* identity and outcome, never its input or output. Field names match
|
|
151
|
+
* `GET /v1/runs/:runId`.
|
|
152
|
+
*/
|
|
153
|
+
export interface FinishedRun {
|
|
154
|
+
readonly id: RunId;
|
|
155
|
+
readonly projectId: ProjectId;
|
|
156
|
+
readonly flowId: string;
|
|
157
|
+
readonly flowVersion: string;
|
|
158
|
+
readonly status: 'completed' | 'failed' | 'cancelled';
|
|
159
|
+
readonly dryRun: boolean;
|
|
160
|
+
/** Why the run failed or was cancelled; `null` when it completed. */
|
|
161
|
+
readonly failureMessage: string | null;
|
|
162
|
+
readonly createdAt: Timestamp;
|
|
163
|
+
readonly completedAt: Timestamp;
|
|
164
|
+
}
|
|
165
|
+
export interface RunFinishedEvent {
|
|
166
|
+
readonly id: WebhookEventId;
|
|
167
|
+
readonly type: 'run.finished';
|
|
168
|
+
readonly createdAt: Timestamp;
|
|
169
|
+
readonly data: {
|
|
170
|
+
readonly run: FinishedRun;
|
|
171
|
+
};
|
|
172
|
+
}
|
|
173
|
+
/** Sent only by `POST /v1/webhook-endpoints/:endpointId/test`. */
|
|
174
|
+
export interface WebhookTestEvent {
|
|
175
|
+
readonly id: WebhookEventId;
|
|
176
|
+
readonly type: 'webhook.test';
|
|
177
|
+
readonly createdAt: Timestamp;
|
|
178
|
+
readonly data: {
|
|
179
|
+
readonly endpointId: WebhookEndpointId;
|
|
180
|
+
};
|
|
181
|
+
}
|
|
182
|
+
/** The JSON body of every webhook request. */
|
|
183
|
+
export type WebhookEvent = RunFinishedEvent | WebhookTestEvent;
|
|
184
|
+
/**
|
|
185
|
+
* `pending`: waiting for its next attempt. `delivered`: the endpoint
|
|
186
|
+
* answered 2xx. `failed`: every attempt failed, or the endpoint was
|
|
187
|
+
* unregistered first; `redeliver` queues it again.
|
|
188
|
+
*/
|
|
189
|
+
export declare const WEBHOOK_DELIVERY_STATUSES: readonly ["pending", "delivered", "failed"];
|
|
190
|
+
export type WebhookDeliveryStatus = (typeof WEBHOOK_DELIVERY_STATUSES)[number];
|
|
191
|
+
export interface WebhookDelivery {
|
|
192
|
+
readonly deliveryId: WebhookDeliveryId;
|
|
193
|
+
readonly endpointId: WebhookEndpointId;
|
|
194
|
+
readonly event: WebhookEvent;
|
|
195
|
+
readonly status: WebhookDeliveryStatus;
|
|
196
|
+
readonly attempts: number;
|
|
197
|
+
/** When the next attempt is due; `null` unless `pending`. */
|
|
198
|
+
readonly nextAttemptAt: Timestamp | null;
|
|
199
|
+
readonly lastAttemptAt: Timestamp | null;
|
|
200
|
+
/** HTTP status of the last attempt; `null` when it got no response. */
|
|
201
|
+
readonly lastResponseStatus: number | null;
|
|
202
|
+
/** Why the last attempt failed (`timeout`, `connection-refused`, `url-refused`, …). */
|
|
203
|
+
readonly lastError: string | null;
|
|
204
|
+
readonly createdAt: Timestamp;
|
|
205
|
+
readonly deliveredAt: Timestamp | null;
|
|
206
|
+
}
|
|
207
|
+
export interface WebhookDeliveryRef extends WebhookEndpointRef {
|
|
208
|
+
readonly deliveryId: WebhookDeliveryId;
|
|
209
|
+
}
|
|
210
|
+
export interface WebhookDeliveryListInput extends WebhookEndpointRef {
|
|
211
|
+
readonly limit: number;
|
|
212
|
+
readonly cursor?: Cursor;
|
|
213
|
+
readonly status?: WebhookDeliveryStatus;
|
|
214
|
+
}
|
|
215
|
+
export type WebhookDeliveryListOutcome = {
|
|
216
|
+
readonly kind: 'ok';
|
|
217
|
+
readonly data: readonly WebhookDelivery[];
|
|
218
|
+
readonly nextCursor?: Cursor;
|
|
219
|
+
} | {
|
|
220
|
+
readonly kind: 'not-found';
|
|
221
|
+
};
|
|
222
|
+
export type WebhookDeliveryOutcome = {
|
|
223
|
+
readonly kind: 'ok';
|
|
224
|
+
readonly delivery: WebhookDelivery;
|
|
225
|
+
} | {
|
|
226
|
+
readonly kind: 'not-found';
|
|
227
|
+
} | {
|
|
228
|
+
readonly kind: 'delivery-not-found';
|
|
229
|
+
};
|
|
230
|
+
//# sourceMappingURL=webhook-endpoint-binding.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"webhook-endpoint-binding.d.ts","sourceRoot":"","sources":["../src/webhook-endpoint-binding.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
// SPDX-License-Identifier: Apache-2.0
|
|
2
|
+
// Copyright (C) 2026 Kindgi Inc.
|
|
3
|
+
/** Event types an endpoint can subscribe to. */
|
|
4
|
+
export const WEBHOOK_EVENT_TYPES = ['run.finished'];
|
|
5
|
+
// ---------- deliveries ----------
|
|
6
|
+
/**
|
|
7
|
+
* `pending`: waiting for its next attempt. `delivered`: the endpoint
|
|
8
|
+
* answered 2xx. `failed`: every attempt failed, or the endpoint was
|
|
9
|
+
* unregistered first; `redeliver` queues it again.
|
|
10
|
+
*/
|
|
11
|
+
export const WEBHOOK_DELIVERY_STATUSES = ['pending', 'delivered', 'failed'];
|
|
12
|
+
//# sourceMappingURL=webhook-endpoint-binding.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"webhook-endpoint-binding.js","sourceRoot":"","sources":["../src/webhook-endpoint-binding.ts"],"names":[],"mappings":"AAAA,sCAAsC;AACtC,iCAAiC;AAmEjC,gDAAgD;AAChD,MAAM,CAAC,MAAM,mBAAmB,GAAG,CAAC,cAAc,CAAU,CAAC;AAgI7D,mCAAmC;AAEnC;;;;GAIG;AACH,MAAM,CAAC,MAAM,yBAAyB,GAAG,CAAC,SAAS,EAAE,WAAW,EAAE,QAAQ,CAAU,CAAC"}
|
package/dist/xml.d.ts
ADDED
|
@@ -0,0 +1,79 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* S3-standard error body. `<Error><Code>...</Code><Message>...</Message>...</Error>`.
|
|
3
|
+
*/
|
|
4
|
+
export declare function errorXml(code: string, message: string, extra?: Readonly<Record<string, string>>): string;
|
|
5
|
+
/**
|
|
6
|
+
* S3 `ListObjectsV2` result envelope. `contents` are the matched keys
|
|
7
|
+
* with metadata; `CommonPrefixes` is never emitted — delimiters are not
|
|
8
|
+
* supported.
|
|
9
|
+
*/
|
|
10
|
+
export interface ListBucketResultInput {
|
|
11
|
+
readonly bucket: string;
|
|
12
|
+
readonly prefix: string;
|
|
13
|
+
readonly maxKeys: number;
|
|
14
|
+
readonly isTruncated: boolean;
|
|
15
|
+
readonly continuationToken?: string;
|
|
16
|
+
readonly nextContinuationToken?: string;
|
|
17
|
+
readonly contents: ReadonlyArray<{
|
|
18
|
+
readonly key: string;
|
|
19
|
+
readonly lastModified: string;
|
|
20
|
+
readonly etag: string;
|
|
21
|
+
readonly size: number;
|
|
22
|
+
}>;
|
|
23
|
+
}
|
|
24
|
+
export declare function listBucketResultXml(input: ListBucketResultInput): string;
|
|
25
|
+
/**
|
|
26
|
+
* S3 `InitiateMultipartUpload` result envelope.
|
|
27
|
+
*/
|
|
28
|
+
export interface InitiateMultipartUploadResultInput {
|
|
29
|
+
readonly bucket: string;
|
|
30
|
+
readonly key: string;
|
|
31
|
+
readonly uploadId: string;
|
|
32
|
+
}
|
|
33
|
+
export declare function initiateMultipartUploadResultXml(input: InitiateMultipartUploadResultInput): string;
|
|
34
|
+
/**
|
|
35
|
+
* S3 `CompleteMultipartUpload` result envelope.
|
|
36
|
+
*/
|
|
37
|
+
export interface CompleteMultipartUploadResultInput {
|
|
38
|
+
readonly bucket: string;
|
|
39
|
+
readonly key: string;
|
|
40
|
+
readonly etag: string;
|
|
41
|
+
readonly location: string;
|
|
42
|
+
}
|
|
43
|
+
export declare function completeMultipartUploadResultXml(input: CompleteMultipartUploadResultInput): string;
|
|
44
|
+
/**
|
|
45
|
+
* S3 `ListParts` result envelope.
|
|
46
|
+
*/
|
|
47
|
+
export interface ListPartsResultInput {
|
|
48
|
+
readonly bucket: string;
|
|
49
|
+
readonly key: string;
|
|
50
|
+
readonly uploadId: string;
|
|
51
|
+
readonly parts: ReadonlyArray<{
|
|
52
|
+
readonly partNumber: number;
|
|
53
|
+
readonly etag: string;
|
|
54
|
+
readonly size: number;
|
|
55
|
+
readonly lastModified: string;
|
|
56
|
+
}>;
|
|
57
|
+
}
|
|
58
|
+
export declare function listPartsResultXml(input: ListPartsResultInput): string;
|
|
59
|
+
/**
|
|
60
|
+
* Parse the `CompleteMultipartUpload` request body:
|
|
61
|
+
*
|
|
62
|
+
* <CompleteMultipartUpload>
|
|
63
|
+
* <Part>
|
|
64
|
+
* <PartNumber>1</PartNumber>
|
|
65
|
+
* <ETag>"..."</ETag>
|
|
66
|
+
* </Part>
|
|
67
|
+
* ...
|
|
68
|
+
* </CompleteMultipartUpload>
|
|
69
|
+
*
|
|
70
|
+
* Returns the declared parts in body order (S3 REQUIRES ascending
|
|
71
|
+
* PartNumber; the completer verifies before assembling). Hand-rolled
|
|
72
|
+
* regex — the shape is trivial and the input is machine-generated by
|
|
73
|
+
* AWS SDKs.
|
|
74
|
+
*/
|
|
75
|
+
export declare function parseCompleteMultipartUploadXml(body: string): {
|
|
76
|
+
partNumber: number;
|
|
77
|
+
etag: string;
|
|
78
|
+
}[] | null;
|
|
79
|
+
//# sourceMappingURL=xml.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"xml.d.ts","sourceRoot":"","sources":["../src/xml.ts"],"names":[],"mappings":"AAgBA;;GAEG;AACH,wBAAgB,QAAQ,CACtB,IAAI,EAAE,MAAM,EACZ,OAAO,EAAE,MAAM,EACf,KAAK,GAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAM,GAC3C,MAAM,CAKR;AAED;;;;GAIG;AACH,MAAM,WAAW,qBAAqB;IACpC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,WAAW,EAAE,OAAO,CAAC;IAC9B,QAAQ,CAAC,iBAAiB,CAAC,EAAE,MAAM,CAAC;IACpC,QAAQ,CAAC,qBAAqB,CAAC,EAAE,MAAM,CAAC;IACxC,QAAQ,CAAC,QAAQ,EAAE,aAAa,CAAC;QAC/B,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;QACrB,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC;QAC9B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;QACtB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;KACvB,CAAC,CAAC;CACJ;AAED,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,qBAAqB,GAAG,MAAM,CAsBxE;AAED;;GAEG;AACH,MAAM,WAAW,kCAAkC;IACjD,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;CAC3B;AAED,wBAAgB,gCAAgC,CAC9C,KAAK,EAAE,kCAAkC,GACxC,MAAM,CAOR;AAED;;GAEG;AACH,MAAM,WAAW,kCAAkC;IACjD,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;CAC3B;AAED,wBAAgB,gCAAgC,CAC9C,KAAK,EAAE,kCAAkC,GACxC,MAAM,CAQR;AAED;;GAEG;AACH,MAAM,WAAW,oBAAoB;IACnC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,KAAK,EAAE,aAAa,CAAC;QAC5B,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;QAC5B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;QACtB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;QACtB,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC;KAC/B,CAAC,CAAC;CACJ;AAED,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,oBAAoB,GAAG,MAAM,CAQtE;AAID;;;;;;;;;;;;;;;GAeG;AACH,wBAAgB,+BAA+B,CAC7C,IAAI,EAAE,MAAM,GACX;IAAE,UAAU,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,EAAE,GAAG,IAAI,CAe/C"}
|
package/dist/xml.js
ADDED
|
@@ -0,0 +1,115 @@
|
|
|
1
|
+
// SPDX-License-Identifier: Apache-2.0
|
|
2
|
+
// Copyright (C) 2026 Kindgi Inc.
|
|
3
|
+
/**
|
|
4
|
+
* Minimal hand-rolled XML serialization for the S3-compat wire
|
|
5
|
+
* surface. S3 response shapes are shallow (5 or so total across the
|
|
6
|
+
* surface); pulling in a full XML library would be overkill.
|
|
7
|
+
*
|
|
8
|
+
* Every serializer emits a single top-level element with the XML prolog
|
|
9
|
+
* and the S3-standard namespace (`http://s3.amazonaws.com/doc/2006-03-01/`).
|
|
10
|
+
* Escaping is applied to text content and attribute values.
|
|
11
|
+
*/
|
|
12
|
+
const XML_PROLOG = '<?xml version="1.0" encoding="UTF-8"?>';
|
|
13
|
+
const S3_NS = 'http://s3.amazonaws.com/doc/2006-03-01/';
|
|
14
|
+
/**
|
|
15
|
+
* S3-standard error body. `<Error><Code>...</Code><Message>...</Message>...</Error>`.
|
|
16
|
+
*/
|
|
17
|
+
export function errorXml(code, message, extra = {}) {
|
|
18
|
+
const extraTags = Object.entries(extra)
|
|
19
|
+
.map(([k, v]) => tag(k, v))
|
|
20
|
+
.join('');
|
|
21
|
+
return `${XML_PROLOG}<Error>${tag('Code', code)}${tag('Message', message)}${extraTags}</Error>`;
|
|
22
|
+
}
|
|
23
|
+
export function listBucketResultXml(input) {
|
|
24
|
+
const contents = input.contents
|
|
25
|
+
.map((c) => `<Contents>${tag('Key', c.key)}${tag('LastModified', c.lastModified)}${tag('ETag', quote(c.etag))}${tag('Size', String(c.size))}${tag('StorageClass', 'STANDARD')}</Contents>`)
|
|
26
|
+
.join('');
|
|
27
|
+
const parts = [
|
|
28
|
+
tag('Name', input.bucket),
|
|
29
|
+
tag('Prefix', input.prefix),
|
|
30
|
+
tag('KeyCount', String(input.contents.length)),
|
|
31
|
+
tag('MaxKeys', String(input.maxKeys)),
|
|
32
|
+
tag('IsTruncated', input.isTruncated ? 'true' : 'false'),
|
|
33
|
+
...(input.continuationToken !== undefined
|
|
34
|
+
? [tag('ContinuationToken', input.continuationToken)]
|
|
35
|
+
: []),
|
|
36
|
+
...(input.nextContinuationToken !== undefined
|
|
37
|
+
? [tag('NextContinuationToken', input.nextContinuationToken)]
|
|
38
|
+
: []),
|
|
39
|
+
contents,
|
|
40
|
+
];
|
|
41
|
+
return `${XML_PROLOG}<ListBucketResult xmlns="${S3_NS}">${parts.join('')}</ListBucketResult>`;
|
|
42
|
+
}
|
|
43
|
+
export function initiateMultipartUploadResultXml(input) {
|
|
44
|
+
const parts = [
|
|
45
|
+
tag('Bucket', input.bucket),
|
|
46
|
+
tag('Key', input.key),
|
|
47
|
+
tag('UploadId', input.uploadId),
|
|
48
|
+
];
|
|
49
|
+
return `${XML_PROLOG}<InitiateMultipartUploadResult xmlns="${S3_NS}">${parts.join('')}</InitiateMultipartUploadResult>`;
|
|
50
|
+
}
|
|
51
|
+
export function completeMultipartUploadResultXml(input) {
|
|
52
|
+
const parts = [
|
|
53
|
+
tag('Location', input.location),
|
|
54
|
+
tag('Bucket', input.bucket),
|
|
55
|
+
tag('Key', input.key),
|
|
56
|
+
tag('ETag', quote(input.etag)),
|
|
57
|
+
];
|
|
58
|
+
return `${XML_PROLOG}<CompleteMultipartUploadResult xmlns="${S3_NS}">${parts.join('')}</CompleteMultipartUploadResult>`;
|
|
59
|
+
}
|
|
60
|
+
export function listPartsResultXml(input) {
|
|
61
|
+
const parts = input.parts
|
|
62
|
+
.map((p) => `<Part>${tag('PartNumber', String(p.partNumber))}${tag('LastModified', p.lastModified)}${tag('ETag', quote(p.etag))}${tag('Size', String(p.size))}</Part>`)
|
|
63
|
+
.join('');
|
|
64
|
+
return `${XML_PROLOG}<ListPartsResult xmlns="${S3_NS}">${tag('Bucket', input.bucket)}${tag('Key', input.key)}${tag('UploadId', input.uploadId)}${parts}</ListPartsResult>`;
|
|
65
|
+
}
|
|
66
|
+
// -------------------- parsing (CompleteMultipartUpload body) --------------------
|
|
67
|
+
/**
|
|
68
|
+
* Parse the `CompleteMultipartUpload` request body:
|
|
69
|
+
*
|
|
70
|
+
* <CompleteMultipartUpload>
|
|
71
|
+
* <Part>
|
|
72
|
+
* <PartNumber>1</PartNumber>
|
|
73
|
+
* <ETag>"..."</ETag>
|
|
74
|
+
* </Part>
|
|
75
|
+
* ...
|
|
76
|
+
* </CompleteMultipartUpload>
|
|
77
|
+
*
|
|
78
|
+
* Returns the declared parts in body order (S3 REQUIRES ascending
|
|
79
|
+
* PartNumber; the completer verifies before assembling). Hand-rolled
|
|
80
|
+
* regex — the shape is trivial and the input is machine-generated by
|
|
81
|
+
* AWS SDKs.
|
|
82
|
+
*/
|
|
83
|
+
export function parseCompleteMultipartUploadXml(body) {
|
|
84
|
+
const parts = [];
|
|
85
|
+
const partRe = /<Part>\s*(?:<PartNumber>(\d+)<\/PartNumber>\s*<ETag>([^<]+)<\/ETag>|<ETag>([^<]+)<\/ETag>\s*<PartNumber>(\d+)<\/PartNumber>)\s*<\/Part>/g;
|
|
86
|
+
let match = partRe.exec(body);
|
|
87
|
+
while (match !== null) {
|
|
88
|
+
const partNumber = Number.parseInt((match[1] ?? match[4]), 10);
|
|
89
|
+
const etagRaw = (match[2] ?? match[3]);
|
|
90
|
+
const etag = etagRaw.replace(/^"|"$/g, '');
|
|
91
|
+
if (!Number.isFinite(partNumber) || partNumber < 1)
|
|
92
|
+
return null;
|
|
93
|
+
parts.push({ partNumber, etag });
|
|
94
|
+
match = partRe.exec(body);
|
|
95
|
+
}
|
|
96
|
+
if (parts.length === 0)
|
|
97
|
+
return null;
|
|
98
|
+
return parts;
|
|
99
|
+
}
|
|
100
|
+
// -------------------- primitives --------------------
|
|
101
|
+
function tag(name, value) {
|
|
102
|
+
return `<${name}>${escapeXml(value)}</${name}>`;
|
|
103
|
+
}
|
|
104
|
+
function quote(s) {
|
|
105
|
+
return s.startsWith('"') ? s : `"${s}"`;
|
|
106
|
+
}
|
|
107
|
+
// In XML text content, only `&` and `<` MUST be escaped (`>` is only
|
|
108
|
+
// required inside `]]>`). `"` and `'` need escaping only in attribute
|
|
109
|
+
// values. S3 responses don't use attribute values, so we escape the
|
|
110
|
+
// minimum set — matching what real S3 emits (e.g. `<ETag>"abc"</ETag>`
|
|
111
|
+
// with literal quotes).
|
|
112
|
+
function escapeXml(s) {
|
|
113
|
+
return s.replace(/&/g, '&').replace(/</g, '<');
|
|
114
|
+
}
|
|
115
|
+
//# sourceMappingURL=xml.js.map
|
package/dist/xml.js.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"xml.js","sourceRoot":"","sources":["../src/xml.ts"],"names":[],"mappings":"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"}
|