openrod 0.0.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/NOTICE +8 -0
- package/README.md +58 -2
- package/SETUPS.md +75 -0
- package/THIRD_PARTY_NOTICES.md +15823 -0
- package/dist/assets/geist-cyrillic-ext-wght-normal-DjL33-gN.woff2 +0 -0
- package/dist/assets/geist-cyrillic-wght-normal-BEAKL7Jp.woff2 +0 -0
- package/dist/assets/geist-latin-ext-wght-normal-DC-KSUi6.woff2 +0 -0
- package/dist/assets/geist-latin-wght-normal-BgDaEnEv.woff2 +0 -0
- package/dist/assets/geist-vietnamese-wght-normal-6IgcOCM7.woff2 +0 -0
- package/dist/assets/index-CEZ0R3YS.js +522 -0
- package/dist/assets/index-DYjVZRjW.css +1 -0
- package/dist/assets/index.esm-BVqeoYDn.js +376 -0
- package/dist/assets/index.esm-CXAOoF3i.js +16 -0
- package/dist/assets/index.esm-D0s8MSqt.js +1666 -0
- package/dist/assets/pixelify-sans-cyrillic-wght-normal-BfQLqnEI.woff2 +0 -0
- package/dist/assets/pixelify-sans-latin-ext-wght-normal-CsF3XSp0.woff2 +0 -0
- package/dist/assets/pixelify-sans-latin-wght-normal-Cbhn5ptY.woff2 +0 -0
- package/dist/assets/terminal-view-6GBZ9nXN.css +32 -0
- package/dist/assets/terminal-view-CkPFNoXi.js +40 -0
- package/dist/favicon.png +0 -0
- package/dist/index.html +16 -0
- package/dist/logos/SOURCES.md +133 -0
- package/dist/logos/agents/aider.svg +1 -0
- package/dist/logos/agents/antigravity.svg +1 -0
- package/dist/logos/agents/claudecode.svg +1 -0
- package/dist/logos/agents/codex.svg +1 -0
- package/dist/logos/agents/copilot.svg +1 -0
- package/dist/logos/agents/cursor.svg +1 -0
- package/dist/logos/agents/factory.svg +1 -0
- package/dist/logos/agents/gemini.svg +1 -0
- package/dist/logos/agents/kiro.svg +1 -0
- package/dist/logos/agents/openclaw-color.svg +1 -0
- package/dist/logos/agents/opencode.svg +1 -0
- package/dist/logos/agents/pi.svg +1 -0
- package/dist/logos/anthropic.svg +1 -0
- package/dist/logos/aws-bedrock.svg +1 -0
- package/dist/logos/aws-s3.svg +1 -0
- package/dist/logos/aws.svg +1 -0
- package/dist/logos/claude-code.svg +1 -0
- package/dist/logos/codex.svg +1 -0
- package/dist/logos/copilot.svg +1 -0
- package/dist/logos/cursor.svg +1 -0
- package/dist/logos/deepinfra.svg +1 -0
- package/dist/logos/github.svg +1 -0
- package/dist/logos/google-cloud.svg +1 -0
- package/dist/logos/google-vertex-ai.svg +1 -0
- package/dist/logos/nvidia.svg +1 -0
- package/dist/logos/openai.svg +1 -0
- package/dist/logos/openrouter.svg +1 -0
- package/dist/logos/pypi.svg +1 -0
- package/dist/logos/templates/debian.svg +1 -0
- package/dist/logos/templates/nodejs.svg +1 -0
- package/dist/logos/templates/python.svg +1 -0
- package/dist/logos/templates/ubuntu.svg +1 -0
- package/dist/logos/vscode.svg +1 -0
- package/dist/openrod.png +0 -0
- package/node_modules/@bufbuild/protobuf/README.md +41 -0
- package/node_modules/@bufbuild/protobuf/dist/commonjs/clone.d.ts +6 -0
- package/node_modules/@bufbuild/protobuf/dist/commonjs/clone.js +66 -0
- package/node_modules/@bufbuild/protobuf/dist/commonjs/codegenv1/boot.d.ts +1 -0
- package/node_modules/@bufbuild/protobuf/dist/commonjs/codegenv1/boot.js +18 -0
- package/node_modules/@bufbuild/protobuf/dist/commonjs/codegenv1/enum.d.ts +10 -0
- package/node_modules/@bufbuild/protobuf/dist/commonjs/codegenv1/enum.js +31 -0
- package/node_modules/@bufbuild/protobuf/dist/commonjs/codegenv1/extension.d.ts +9 -0
- package/node_modules/@bufbuild/protobuf/dist/commonjs/codegenv1/extension.js +28 -0
- package/node_modules/@bufbuild/protobuf/dist/commonjs/codegenv1/file.d.ts +1 -0
- package/node_modules/@bufbuild/protobuf/dist/commonjs/codegenv1/file.js +18 -0
- package/node_modules/@bufbuild/protobuf/dist/commonjs/codegenv1/index.d.ts +10 -0
- package/node_modules/@bufbuild/protobuf/dist/commonjs/codegenv1/index.js +39 -0
- package/node_modules/@bufbuild/protobuf/dist/commonjs/codegenv1/message.d.ts +10 -0
- package/node_modules/@bufbuild/protobuf/dist/commonjs/codegenv1/message.js +24 -0
- package/node_modules/@bufbuild/protobuf/dist/commonjs/codegenv1/service.d.ts +8 -0
- package/node_modules/@bufbuild/protobuf/dist/commonjs/codegenv1/service.js +27 -0
- package/node_modules/@bufbuild/protobuf/dist/commonjs/codegenv1/symbols.d.ts +140 -0
- package/node_modules/@bufbuild/protobuf/dist/commonjs/codegenv1/symbols.js +43 -0
- package/node_modules/@bufbuild/protobuf/dist/commonjs/codegenv1/types.d.ts +79 -0
- package/node_modules/@bufbuild/protobuf/dist/commonjs/codegenv1/types.js +15 -0
- package/node_modules/@bufbuild/protobuf/dist/commonjs/codegenv2/boot.d.ts +63 -0
- package/node_modules/@bufbuild/protobuf/dist/commonjs/codegenv2/boot.js +105 -0
- package/node_modules/@bufbuild/protobuf/dist/commonjs/codegenv2/embed.d.ts +43 -0
- package/node_modules/@bufbuild/protobuf/dist/commonjs/codegenv2/embed.js +244 -0
- package/node_modules/@bufbuild/protobuf/dist/commonjs/codegenv2/enum.d.ts +29 -0
- package/node_modules/@bufbuild/protobuf/dist/commonjs/codegenv2/enum.js +58 -0
- package/node_modules/@bufbuild/protobuf/dist/commonjs/codegenv2/extension.d.ts +9 -0
- package/node_modules/@bufbuild/protobuf/dist/commonjs/codegenv2/extension.js +28 -0
- package/node_modules/@bufbuild/protobuf/dist/commonjs/codegenv2/file.d.ts +7 -0
- package/node_modules/@bufbuild/protobuf/dist/commonjs/codegenv2/file.js +35 -0
- package/node_modules/@bufbuild/protobuf/dist/commonjs/codegenv2/index.d.ts +10 -0
- package/node_modules/@bufbuild/protobuf/dist/commonjs/codegenv2/index.js +39 -0
- package/node_modules/@bufbuild/protobuf/dist/commonjs/codegenv2/message.d.ts +15 -0
- package/node_modules/@bufbuild/protobuf/dist/commonjs/codegenv2/message.js +24 -0
- package/node_modules/@bufbuild/protobuf/dist/commonjs/codegenv2/restore-json-names.d.ts +5 -0
- package/node_modules/@bufbuild/protobuf/dist/commonjs/codegenv2/restore-json-names.js +29 -0
- package/node_modules/@bufbuild/protobuf/dist/commonjs/codegenv2/scalar.d.ts +9 -0
- package/node_modules/@bufbuild/protobuf/dist/commonjs/codegenv2/scalar.js +67 -0
- package/node_modules/@bufbuild/protobuf/dist/commonjs/codegenv2/service.d.ts +8 -0
- package/node_modules/@bufbuild/protobuf/dist/commonjs/codegenv2/service.js +27 -0
- package/node_modules/@bufbuild/protobuf/dist/commonjs/codegenv2/symbols.d.ts +145 -0
- package/node_modules/@bufbuild/protobuf/dist/commonjs/codegenv2/symbols.js +74 -0
- package/node_modules/@bufbuild/protobuf/dist/commonjs/codegenv2/types.d.ts +85 -0
- package/node_modules/@bufbuild/protobuf/dist/commonjs/codegenv2/types.js +15 -0
- package/node_modules/@bufbuild/protobuf/dist/commonjs/create.d.ts +9 -0
- package/node_modules/@bufbuild/protobuf/dist/commonjs/create.js +296 -0
- package/node_modules/@bufbuild/protobuf/dist/commonjs/descriptors.d.ts +634 -0
- package/node_modules/@bufbuild/protobuf/dist/commonjs/descriptors.js +53 -0
- package/node_modules/@bufbuild/protobuf/dist/commonjs/equals.d.ts +46 -0
- package/node_modules/@bufbuild/protobuf/dist/commonjs/equals.js +209 -0
- package/node_modules/@bufbuild/protobuf/dist/commonjs/extensions.d.ts +60 -0
- package/node_modules/@bufbuild/protobuf/dist/commonjs/extensions.js +168 -0
- package/node_modules/@bufbuild/protobuf/dist/commonjs/fields.d.ts +23 -0
- package/node_modules/@bufbuild/protobuf/dist/commonjs/fields.js +45 -0
- package/node_modules/@bufbuild/protobuf/dist/commonjs/from-binary.d.ts +48 -0
- package/node_modules/@bufbuild/protobuf/dist/commonjs/from-binary.js +415 -0
- package/node_modules/@bufbuild/protobuf/dist/commonjs/from-json.d.ts +73 -0
- package/node_modules/@bufbuild/protobuf/dist/commonjs/from-json.js +1037 -0
- package/node_modules/@bufbuild/protobuf/dist/commonjs/index.d.ts +19 -0
- package/node_modules/@bufbuild/protobuf/dist/commonjs/index.js +55 -0
- package/node_modules/@bufbuild/protobuf/dist/commonjs/is-message.d.ts +7 -0
- package/node_modules/@bufbuild/protobuf/dist/commonjs/is-message.js +33 -0
- package/node_modules/@bufbuild/protobuf/dist/commonjs/json-value.d.ts +16 -0
- package/node_modules/@bufbuild/protobuf/dist/commonjs/json-value.js +15 -0
- package/node_modules/@bufbuild/protobuf/dist/commonjs/merge.d.ts +13 -0
- package/node_modules/@bufbuild/protobuf/dist/commonjs/merge.js +70 -0
- package/node_modules/@bufbuild/protobuf/dist/commonjs/package.json +4 -0
- package/node_modules/@bufbuild/protobuf/dist/commonjs/proto-int64.d.ts +98 -0
- package/node_modules/@bufbuild/protobuf/dist/commonjs/proto-int64.js +131 -0
- package/node_modules/@bufbuild/protobuf/dist/commonjs/reflect/error.d.ts +9 -0
- package/node_modules/@bufbuild/protobuf/dist/commonjs/reflect/error.js +36 -0
- package/node_modules/@bufbuild/protobuf/dist/commonjs/reflect/guard.d.ts +20 -0
- package/node_modules/@bufbuild/protobuf/dist/commonjs/reflect/guard.js +78 -0
- package/node_modules/@bufbuild/protobuf/dist/commonjs/reflect/index.d.ts +8 -0
- package/node_modules/@bufbuild/protobuf/dist/commonjs/reflect/index.js +41 -0
- package/node_modules/@bufbuild/protobuf/dist/commonjs/reflect/message.d.ts +49 -0
- package/node_modules/@bufbuild/protobuf/dist/commonjs/reflect/message.js +157 -0
- package/node_modules/@bufbuild/protobuf/dist/commonjs/reflect/names.d.ts +30 -0
- package/node_modules/@bufbuild/protobuf/dist/commonjs/reflect/names.js +115 -0
- package/node_modules/@bufbuild/protobuf/dist/commonjs/reflect/nested-types.d.ts +35 -0
- package/node_modules/@bufbuild/protobuf/dist/commonjs/reflect/nested-types.js +110 -0
- package/node_modules/@bufbuild/protobuf/dist/commonjs/reflect/path.d.ts +107 -0
- package/node_modules/@bufbuild/protobuf/dist/commonjs/reflect/path.js +376 -0
- package/node_modules/@bufbuild/protobuf/dist/commonjs/reflect/reflect-check.d.ts +45 -0
- package/node_modules/@bufbuild/protobuf/dist/commonjs/reflect/reflect-check.js +292 -0
- package/node_modules/@bufbuild/protobuf/dist/commonjs/reflect/reflect-types.d.ts +217 -0
- package/node_modules/@bufbuild/protobuf/dist/commonjs/reflect/reflect-types.js +16 -0
- package/node_modules/@bufbuild/protobuf/dist/commonjs/reflect/reflect.d.ts +43 -0
- package/node_modules/@bufbuild/protobuf/dist/commonjs/reflect/reflect.js +469 -0
- package/node_modules/@bufbuild/protobuf/dist/commonjs/reflect/scalar.d.ts +43 -0
- package/node_modules/@bufbuild/protobuf/dist/commonjs/reflect/scalar.js +129 -0
- package/node_modules/@bufbuild/protobuf/dist/commonjs/reflect/unsafe.d.ts +39 -0
- package/node_modules/@bufbuild/protobuf/dist/commonjs/reflect/unsafe.js +149 -0
- package/node_modules/@bufbuild/protobuf/dist/commonjs/registry.d.ts +98 -0
- package/node_modules/@bufbuild/protobuf/dist/commonjs/registry.js +954 -0
- package/node_modules/@bufbuild/protobuf/dist/commonjs/to-binary.d.ts +28 -0
- package/node_modules/@bufbuild/protobuf/dist/commonjs/to-binary.js +437 -0
- package/node_modules/@bufbuild/protobuf/dist/commonjs/to-json.d.ts +67 -0
- package/node_modules/@bufbuild/protobuf/dist/commonjs/to-json.js +625 -0
- package/node_modules/@bufbuild/protobuf/dist/commonjs/txtpb/from-text.d.ts +35 -0
- package/node_modules/@bufbuild/protobuf/dist/commonjs/txtpb/from-text.js +684 -0
- package/node_modules/@bufbuild/protobuf/dist/commonjs/txtpb/index.d.ts +4 -0
- package/node_modules/@bufbuild/protobuf/dist/commonjs/txtpb/index.js +21 -0
- package/node_modules/@bufbuild/protobuf/dist/commonjs/txtpb/is-group-like.d.ts +19 -0
- package/node_modules/@bufbuild/protobuf/dist/commonjs/txtpb/is-group-like.js +47 -0
- package/node_modules/@bufbuild/protobuf/dist/commonjs/txtpb/reader.d.ts +91 -0
- package/node_modules/@bufbuild/protobuf/dist/commonjs/txtpb/reader.js +481 -0
- package/node_modules/@bufbuild/protobuf/dist/commonjs/txtpb/to-text.d.ts +34 -0
- package/node_modules/@bufbuild/protobuf/dist/commonjs/txtpb/to-text.js +358 -0
- package/node_modules/@bufbuild/protobuf/dist/commonjs/txtpb/writer.d.ts +76 -0
- package/node_modules/@bufbuild/protobuf/dist/commonjs/txtpb/writer.js +220 -0
- package/node_modules/@bufbuild/protobuf/dist/commonjs/types.d.ts +135 -0
- package/node_modules/@bufbuild/protobuf/dist/commonjs/types.js +15 -0
- package/node_modules/@bufbuild/protobuf/dist/commonjs/unknown-enum.d.ts +10 -0
- package/node_modules/@bufbuild/protobuf/dist/commonjs/unknown-enum.js +26 -0
- package/node_modules/@bufbuild/protobuf/dist/commonjs/wire/base64-encoding.d.ts +25 -0
- package/node_modules/@bufbuild/protobuf/dist/commonjs/wire/base64-encoding.js +188 -0
- package/node_modules/@bufbuild/protobuf/dist/commonjs/wire/binary-encoding.d.ts +286 -0
- package/node_modules/@bufbuild/protobuf/dist/commonjs/wire/binary-encoding.js +726 -0
- package/node_modules/@bufbuild/protobuf/dist/commonjs/wire/index.d.ts +5 -0
- package/node_modules/@bufbuild/protobuf/dist/commonjs/wire/index.js +37 -0
- package/node_modules/@bufbuild/protobuf/dist/commonjs/wire/size-delimited.d.ts +69 -0
- package/node_modules/@bufbuild/protobuf/dist/commonjs/wire/size-delimited.js +191 -0
- package/node_modules/@bufbuild/protobuf/dist/commonjs/wire/text-encoding.d.ts +53 -0
- package/node_modules/@bufbuild/protobuf/dist/commonjs/wire/text-encoding.js +106 -0
- package/node_modules/@bufbuild/protobuf/dist/commonjs/wire/text-format.d.ts +13 -0
- package/node_modules/@bufbuild/protobuf/dist/commonjs/wire/text-format.js +199 -0
- package/node_modules/@bufbuild/protobuf/dist/commonjs/wire/varint.d.ts +70 -0
- package/node_modules/@bufbuild/protobuf/dist/commonjs/wire/varint.js +334 -0
- package/node_modules/@bufbuild/protobuf/dist/commonjs/wkt/any.d.ts +38 -0
- package/node_modules/@bufbuild/protobuf/dist/commonjs/wkt/any.js +75 -0
- package/node_modules/@bufbuild/protobuf/dist/commonjs/wkt/duration.d.ts +9 -0
- package/node_modules/@bufbuild/protobuf/dist/commonjs/wkt/duration.js +39 -0
- package/node_modules/@bufbuild/protobuf/dist/commonjs/wkt/gen/google/protobuf/any_pb.d.ts +238 -0
- package/node_modules/@bufbuild/protobuf/dist/commonjs/wkt/gen/google/protobuf/any_pb.js +27 -0
- package/node_modules/@bufbuild/protobuf/dist/commonjs/wkt/gen/google/protobuf/api_pb.d.ts +537 -0
- package/node_modules/@bufbuild/protobuf/dist/commonjs/wkt/gen/google/protobuf/api_pb.js +39 -0
- package/node_modules/@bufbuild/protobuf/dist/commonjs/wkt/gen/google/protobuf/compiler/plugin_pb.d.ts +490 -0
- package/node_modules/@bufbuild/protobuf/dist/commonjs/wkt/gen/google/protobuf/compiler/plugin_pb.js +68 -0
- package/node_modules/@bufbuild/protobuf/dist/commonjs/wkt/gen/google/protobuf/cpp_features_pb.d.ts +91 -0
- package/node_modules/@bufbuild/protobuf/dist/commonjs/wkt/gen/google/protobuf/cpp_features_pb.js +60 -0
- package/node_modules/@bufbuild/protobuf/dist/commonjs/wkt/gen/google/protobuf/descriptor_pb.d.ts +4143 -0
- package/node_modules/@bufbuild/protobuf/dist/commonjs/wkt/gen/google/protobuf/descriptor_pb.js +892 -0
- package/node_modules/@bufbuild/protobuf/dist/commonjs/wkt/gen/google/protobuf/duration_pb.d.ts +161 -0
- package/node_modules/@bufbuild/protobuf/dist/commonjs/wkt/gen/google/protobuf/duration_pb.js +27 -0
- package/node_modules/@bufbuild/protobuf/dist/commonjs/wkt/gen/google/protobuf/empty_pb.d.ts +39 -0
- package/node_modules/@bufbuild/protobuf/dist/commonjs/wkt/gen/google/protobuf/empty_pb.js +27 -0
- package/node_modules/@bufbuild/protobuf/dist/commonjs/wkt/gen/google/protobuf/field_mask_pb.d.ts +424 -0
- package/node_modules/@bufbuild/protobuf/dist/commonjs/wkt/gen/google/protobuf/field_mask_pb.js +27 -0
- package/node_modules/@bufbuild/protobuf/dist/commonjs/wkt/gen/google/protobuf/go_features_pb.d.ts +189 -0
- package/node_modules/@bufbuild/protobuf/dist/commonjs/wkt/gen/google/protobuf/go_features_pb.js +126 -0
- package/node_modules/@bufbuild/protobuf/dist/commonjs/wkt/gen/google/protobuf/java_features_pb.d.ts +194 -0
- package/node_modules/@bufbuild/protobuf/dist/commonjs/wkt/gen/google/protobuf/java_features_pb.js +106 -0
- package/node_modules/@bufbuild/protobuf/dist/commonjs/wkt/gen/google/protobuf/source_context_pb.d.ts +43 -0
- package/node_modules/@bufbuild/protobuf/dist/commonjs/wkt/gen/google/protobuf/source_context_pb.js +27 -0
- package/node_modules/@bufbuild/protobuf/dist/commonjs/wkt/gen/google/protobuf/struct_pb.d.ts +195 -0
- package/node_modules/@bufbuild/protobuf/dist/commonjs/wkt/gen/google/protobuf/struct_pb.js +59 -0
- package/node_modules/@bufbuild/protobuf/dist/commonjs/wkt/gen/google/protobuf/timestamp_pb.d.ts +222 -0
- package/node_modules/@bufbuild/protobuf/dist/commonjs/wkt/gen/google/protobuf/timestamp_pb.js +27 -0
- package/node_modules/@bufbuild/protobuf/dist/commonjs/wkt/gen/google/protobuf/type_pb.d.ts +722 -0
- package/node_modules/@bufbuild/protobuf/dist/commonjs/wkt/gen/google/protobuf/type_pb.js +242 -0
- package/node_modules/@bufbuild/protobuf/dist/commonjs/wkt/gen/google/protobuf/wrappers_pb.d.ts +330 -0
- package/node_modules/@bufbuild/protobuf/dist/commonjs/wkt/gen/google/protobuf/wrappers_pb.js +67 -0
- package/node_modules/@bufbuild/protobuf/dist/commonjs/wkt/index.d.ts +19 -0
- package/node_modules/@bufbuild/protobuf/dist/commonjs/wkt/index.js +48 -0
- package/node_modules/@bufbuild/protobuf/dist/commonjs/wkt/json.d.ts +28 -0
- package/node_modules/@bufbuild/protobuf/dist/commonjs/wkt/json.js +44 -0
- package/node_modules/@bufbuild/protobuf/dist/commonjs/wkt/timestamp.d.ts +21 -0
- package/node_modules/@bufbuild/protobuf/dist/commonjs/wkt/timestamp.js +57 -0
- package/node_modules/@bufbuild/protobuf/dist/commonjs/wkt/wrappers.d.ts +25 -0
- package/node_modules/@bufbuild/protobuf/dist/commonjs/wkt/wrappers.js +66 -0
- package/node_modules/@bufbuild/protobuf/dist/esm/clone.d.ts +6 -0
- package/node_modules/@bufbuild/protobuf/dist/esm/clone.js +63 -0
- package/node_modules/@bufbuild/protobuf/dist/esm/codegenv1/boot.d.ts +1 -0
- package/node_modules/@bufbuild/protobuf/dist/esm/codegenv1/boot.js +14 -0
- package/node_modules/@bufbuild/protobuf/dist/esm/codegenv1/enum.d.ts +10 -0
- package/node_modules/@bufbuild/protobuf/dist/esm/codegenv1/enum.js +26 -0
- package/node_modules/@bufbuild/protobuf/dist/esm/codegenv1/extension.d.ts +9 -0
- package/node_modules/@bufbuild/protobuf/dist/esm/codegenv1/extension.js +25 -0
- package/node_modules/@bufbuild/protobuf/dist/esm/codegenv1/file.d.ts +1 -0
- package/node_modules/@bufbuild/protobuf/dist/esm/codegenv1/file.js +14 -0
- package/node_modules/@bufbuild/protobuf/dist/esm/codegenv1/index.d.ts +10 -0
- package/node_modules/@bufbuild/protobuf/dist/esm/codegenv1/index.js +23 -0
- package/node_modules/@bufbuild/protobuf/dist/esm/codegenv1/message.d.ts +10 -0
- package/node_modules/@bufbuild/protobuf/dist/esm/codegenv1/message.js +21 -0
- package/node_modules/@bufbuild/protobuf/dist/esm/codegenv1/service.d.ts +8 -0
- package/node_modules/@bufbuild/protobuf/dist/esm/codegenv1/service.js +24 -0
- package/node_modules/@bufbuild/protobuf/dist/esm/codegenv1/symbols.d.ts +140 -0
- package/node_modules/@bufbuild/protobuf/dist/esm/codegenv1/symbols.js +40 -0
- package/node_modules/@bufbuild/protobuf/dist/esm/codegenv1/types.d.ts +79 -0
- package/node_modules/@bufbuild/protobuf/dist/esm/codegenv1/types.js +14 -0
- package/node_modules/@bufbuild/protobuf/dist/esm/codegenv2/boot.d.ts +63 -0
- package/node_modules/@bufbuild/protobuf/dist/esm/codegenv2/boot.js +101 -0
- package/node_modules/@bufbuild/protobuf/dist/esm/codegenv2/embed.d.ts +43 -0
- package/node_modules/@bufbuild/protobuf/dist/esm/codegenv2/embed.js +239 -0
- package/node_modules/@bufbuild/protobuf/dist/esm/codegenv2/enum.d.ts +29 -0
- package/node_modules/@bufbuild/protobuf/dist/esm/codegenv2/enum.js +53 -0
- package/node_modules/@bufbuild/protobuf/dist/esm/codegenv2/extension.d.ts +9 -0
- package/node_modules/@bufbuild/protobuf/dist/esm/codegenv2/extension.js +25 -0
- package/node_modules/@bufbuild/protobuf/dist/esm/codegenv2/file.d.ts +7 -0
- package/node_modules/@bufbuild/protobuf/dist/esm/codegenv2/file.js +32 -0
- package/node_modules/@bufbuild/protobuf/dist/esm/codegenv2/index.d.ts +10 -0
- package/node_modules/@bufbuild/protobuf/dist/esm/codegenv2/index.js +23 -0
- package/node_modules/@bufbuild/protobuf/dist/esm/codegenv2/message.d.ts +15 -0
- package/node_modules/@bufbuild/protobuf/dist/esm/codegenv2/message.js +21 -0
- package/node_modules/@bufbuild/protobuf/dist/esm/codegenv2/restore-json-names.d.ts +5 -0
- package/node_modules/@bufbuild/protobuf/dist/esm/codegenv2/restore-json-names.js +26 -0
- package/node_modules/@bufbuild/protobuf/dist/esm/codegenv2/scalar.d.ts +9 -0
- package/node_modules/@bufbuild/protobuf/dist/esm/codegenv2/scalar.js +63 -0
- package/node_modules/@bufbuild/protobuf/dist/esm/codegenv2/service.d.ts +8 -0
- package/node_modules/@bufbuild/protobuf/dist/esm/codegenv2/service.js +24 -0
- package/node_modules/@bufbuild/protobuf/dist/esm/codegenv2/symbols.d.ts +145 -0
- package/node_modules/@bufbuild/protobuf/dist/esm/codegenv2/symbols.js +71 -0
- package/node_modules/@bufbuild/protobuf/dist/esm/codegenv2/types.d.ts +85 -0
- package/node_modules/@bufbuild/protobuf/dist/esm/codegenv2/types.js +14 -0
- package/node_modules/@bufbuild/protobuf/dist/esm/create.d.ts +9 -0
- package/node_modules/@bufbuild/protobuf/dist/esm/create.js +293 -0
- package/node_modules/@bufbuild/protobuf/dist/esm/descriptors.d.ts +634 -0
- package/node_modules/@bufbuild/protobuf/dist/esm/descriptors.js +50 -0
- package/node_modules/@bufbuild/protobuf/dist/esm/equals.d.ts +46 -0
- package/node_modules/@bufbuild/protobuf/dist/esm/equals.js +206 -0
- package/node_modules/@bufbuild/protobuf/dist/esm/extensions.d.ts +60 -0
- package/node_modules/@bufbuild/protobuf/dist/esm/extensions.js +159 -0
- package/node_modules/@bufbuild/protobuf/dist/esm/fields.d.ts +23 -0
- package/node_modules/@bufbuild/protobuf/dist/esm/fields.js +41 -0
- package/node_modules/@bufbuild/protobuf/dist/esm/from-binary.d.ts +48 -0
- package/node_modules/@bufbuild/protobuf/dist/esm/from-binary.js +409 -0
- package/node_modules/@bufbuild/protobuf/dist/esm/from-json.d.ts +73 -0
- package/node_modules/@bufbuild/protobuf/dist/esm/from-json.js +1029 -0
- package/node_modules/@bufbuild/protobuf/dist/esm/index.d.ts +19 -0
- package/node_modules/@bufbuild/protobuf/dist/esm/index.js +29 -0
- package/node_modules/@bufbuild/protobuf/dist/esm/is-message.d.ts +7 -0
- package/node_modules/@bufbuild/protobuf/dist/esm/is-message.js +30 -0
- package/node_modules/@bufbuild/protobuf/dist/esm/json-value.d.ts +16 -0
- package/node_modules/@bufbuild/protobuf/dist/esm/json-value.js +14 -0
- package/node_modules/@bufbuild/protobuf/dist/esm/merge.d.ts +13 -0
- package/node_modules/@bufbuild/protobuf/dist/esm/merge.js +67 -0
- package/node_modules/@bufbuild/protobuf/dist/esm/package.json +4 -0
- package/node_modules/@bufbuild/protobuf/dist/esm/proto-int64.d.ts +98 -0
- package/node_modules/@bufbuild/protobuf/dist/esm/proto-int64.js +128 -0
- package/node_modules/@bufbuild/protobuf/dist/esm/reflect/error.d.ts +9 -0
- package/node_modules/@bufbuild/protobuf/dist/esm/reflect/error.js +31 -0
- package/node_modules/@bufbuild/protobuf/dist/esm/reflect/guard.d.ts +20 -0
- package/node_modules/@bufbuild/protobuf/dist/esm/reflect/guard.js +71 -0
- package/node_modules/@bufbuild/protobuf/dist/esm/reflect/index.d.ts +8 -0
- package/node_modules/@bufbuild/protobuf/dist/esm/reflect/index.js +21 -0
- package/node_modules/@bufbuild/protobuf/dist/esm/reflect/message.d.ts +49 -0
- package/node_modules/@bufbuild/protobuf/dist/esm/reflect/message.js +152 -0
- package/node_modules/@bufbuild/protobuf/dist/esm/reflect/names.d.ts +30 -0
- package/node_modules/@bufbuild/protobuf/dist/esm/reflect/names.js +109 -0
- package/node_modules/@bufbuild/protobuf/dist/esm/reflect/nested-types.d.ts +35 -0
- package/node_modules/@bufbuild/protobuf/dist/esm/reflect/nested-types.js +105 -0
- package/node_modules/@bufbuild/protobuf/dist/esm/reflect/path.d.ts +107 -0
- package/node_modules/@bufbuild/protobuf/dist/esm/reflect/path.js +369 -0
- package/node_modules/@bufbuild/protobuf/dist/esm/reflect/reflect-check.d.ts +45 -0
- package/node_modules/@bufbuild/protobuf/dist/esm/reflect/reflect-check.js +284 -0
- package/node_modules/@bufbuild/protobuf/dist/esm/reflect/reflect-types.d.ts +217 -0
- package/node_modules/@bufbuild/protobuf/dist/esm/reflect/reflect-types.js +14 -0
- package/node_modules/@bufbuild/protobuf/dist/esm/reflect/reflect.d.ts +43 -0
- package/node_modules/@bufbuild/protobuf/dist/esm/reflect/reflect.js +464 -0
- package/node_modules/@bufbuild/protobuf/dist/esm/reflect/scalar.d.ts +43 -0
- package/node_modules/@bufbuild/protobuf/dist/esm/reflect/scalar.js +124 -0
- package/node_modules/@bufbuild/protobuf/dist/esm/reflect/unsafe.d.ts +39 -0
- package/node_modules/@bufbuild/protobuf/dist/esm/reflect/unsafe.js +140 -0
- package/node_modules/@bufbuild/protobuf/dist/esm/registry.d.ts +98 -0
- package/node_modules/@bufbuild/protobuf/dist/esm/registry.js +948 -0
- package/node_modules/@bufbuild/protobuf/dist/esm/to-binary.d.ts +28 -0
- package/node_modules/@bufbuild/protobuf/dist/esm/to-binary.js +433 -0
- package/node_modules/@bufbuild/protobuf/dist/esm/to-json.d.ts +67 -0
- package/node_modules/@bufbuild/protobuf/dist/esm/to-json.js +620 -0
- package/node_modules/@bufbuild/protobuf/dist/esm/txtpb/from-text.d.ts +35 -0
- package/node_modules/@bufbuild/protobuf/dist/esm/txtpb/from-text.js +680 -0
- package/node_modules/@bufbuild/protobuf/dist/esm/txtpb/index.d.ts +4 -0
- package/node_modules/@bufbuild/protobuf/dist/esm/txtpb/index.js +15 -0
- package/node_modules/@bufbuild/protobuf/dist/esm/txtpb/is-group-like.d.ts +19 -0
- package/node_modules/@bufbuild/protobuf/dist/esm/txtpb/is-group-like.js +44 -0
- package/node_modules/@bufbuild/protobuf/dist/esm/txtpb/reader.d.ts +91 -0
- package/node_modules/@bufbuild/protobuf/dist/esm/txtpb/reader.js +477 -0
- package/node_modules/@bufbuild/protobuf/dist/esm/txtpb/to-text.d.ts +34 -0
- package/node_modules/@bufbuild/protobuf/dist/esm/txtpb/to-text.js +355 -0
- package/node_modules/@bufbuild/protobuf/dist/esm/txtpb/writer.d.ts +76 -0
- package/node_modules/@bufbuild/protobuf/dist/esm/txtpb/writer.js +214 -0
- package/node_modules/@bufbuild/protobuf/dist/esm/types.d.ts +135 -0
- package/node_modules/@bufbuild/protobuf/dist/esm/types.js +14 -0
- package/node_modules/@bufbuild/protobuf/dist/esm/unknown-enum.d.ts +10 -0
- package/node_modules/@bufbuild/protobuf/dist/esm/unknown-enum.js +23 -0
- package/node_modules/@bufbuild/protobuf/dist/esm/wire/base64-encoding.d.ts +25 -0
- package/node_modules/@bufbuild/protobuf/dist/esm/wire/base64-encoding.js +184 -0
- package/node_modules/@bufbuild/protobuf/dist/esm/wire/binary-encoding.d.ts +286 -0
- package/node_modules/@bufbuild/protobuf/dist/esm/wire/binary-encoding.js +721 -0
- package/node_modules/@bufbuild/protobuf/dist/esm/wire/index.d.ts +5 -0
- package/node_modules/@bufbuild/protobuf/dist/esm/wire/index.js +18 -0
- package/node_modules/@bufbuild/protobuf/dist/esm/wire/size-delimited.d.ts +69 -0
- package/node_modules/@bufbuild/protobuf/dist/esm/wire/size-delimited.js +186 -0
- package/node_modules/@bufbuild/protobuf/dist/esm/wire/text-encoding.d.ts +53 -0
- package/node_modules/@bufbuild/protobuf/dist/esm/wire/text-encoding.js +101 -0
- package/node_modules/@bufbuild/protobuf/dist/esm/wire/text-format.d.ts +13 -0
- package/node_modules/@bufbuild/protobuf/dist/esm/wire/text-format.js +195 -0
- package/node_modules/@bufbuild/protobuf/dist/esm/wire/varint.d.ts +70 -0
- package/node_modules/@bufbuild/protobuf/dist/esm/wire/varint.js +325 -0
- package/node_modules/@bufbuild/protobuf/dist/esm/wkt/any.d.ts +38 -0
- package/node_modules/@bufbuild/protobuf/dist/esm/wkt/any.js +69 -0
- package/node_modules/@bufbuild/protobuf/dist/esm/wkt/duration.d.ts +9 -0
- package/node_modules/@bufbuild/protobuf/dist/esm/wkt/duration.js +35 -0
- package/node_modules/@bufbuild/protobuf/dist/esm/wkt/gen/google/protobuf/any_pb.d.ts +238 -0
- package/node_modules/@bufbuild/protobuf/dist/esm/wkt/gen/google/protobuf/any_pb.js +24 -0
- package/node_modules/@bufbuild/protobuf/dist/esm/wkt/gen/google/protobuf/api_pb.d.ts +537 -0
- package/node_modules/@bufbuild/protobuf/dist/esm/wkt/gen/google/protobuf/api_pb.js +36 -0
- package/node_modules/@bufbuild/protobuf/dist/esm/wkt/gen/google/protobuf/compiler/plugin_pb.d.ts +490 -0
- package/node_modules/@bufbuild/protobuf/dist/esm/wkt/gen/google/protobuf/compiler/plugin_pb.js +65 -0
- package/node_modules/@bufbuild/protobuf/dist/esm/wkt/gen/google/protobuf/cpp_features_pb.d.ts +91 -0
- package/node_modules/@bufbuild/protobuf/dist/esm/wkt/gen/google/protobuf/cpp_features_pb.js +57 -0
- package/node_modules/@bufbuild/protobuf/dist/esm/wkt/gen/google/protobuf/descriptor_pb.d.ts +4143 -0
- package/node_modules/@bufbuild/protobuf/dist/esm/wkt/gen/google/protobuf/descriptor_pb.js +888 -0
- package/node_modules/@bufbuild/protobuf/dist/esm/wkt/gen/google/protobuf/duration_pb.d.ts +161 -0
- package/node_modules/@bufbuild/protobuf/dist/esm/wkt/gen/google/protobuf/duration_pb.js +24 -0
- package/node_modules/@bufbuild/protobuf/dist/esm/wkt/gen/google/protobuf/empty_pb.d.ts +39 -0
- package/node_modules/@bufbuild/protobuf/dist/esm/wkt/gen/google/protobuf/empty_pb.js +24 -0
- package/node_modules/@bufbuild/protobuf/dist/esm/wkt/gen/google/protobuf/field_mask_pb.d.ts +424 -0
- package/node_modules/@bufbuild/protobuf/dist/esm/wkt/gen/google/protobuf/field_mask_pb.js +24 -0
- package/node_modules/@bufbuild/protobuf/dist/esm/wkt/gen/google/protobuf/go_features_pb.d.ts +189 -0
- package/node_modules/@bufbuild/protobuf/dist/esm/wkt/gen/google/protobuf/go_features_pb.js +123 -0
- package/node_modules/@bufbuild/protobuf/dist/esm/wkt/gen/google/protobuf/java_features_pb.d.ts +194 -0
- package/node_modules/@bufbuild/protobuf/dist/esm/wkt/gen/google/protobuf/java_features_pb.js +103 -0
- package/node_modules/@bufbuild/protobuf/dist/esm/wkt/gen/google/protobuf/source_context_pb.d.ts +43 -0
- package/node_modules/@bufbuild/protobuf/dist/esm/wkt/gen/google/protobuf/source_context_pb.js +24 -0
- package/node_modules/@bufbuild/protobuf/dist/esm/wkt/gen/google/protobuf/struct_pb.d.ts +195 -0
- package/node_modules/@bufbuild/protobuf/dist/esm/wkt/gen/google/protobuf/struct_pb.js +56 -0
- package/node_modules/@bufbuild/protobuf/dist/esm/wkt/gen/google/protobuf/timestamp_pb.d.ts +222 -0
- package/node_modules/@bufbuild/protobuf/dist/esm/wkt/gen/google/protobuf/timestamp_pb.js +24 -0
- package/node_modules/@bufbuild/protobuf/dist/esm/wkt/gen/google/protobuf/type_pb.d.ts +722 -0
- package/node_modules/@bufbuild/protobuf/dist/esm/wkt/gen/google/protobuf/type_pb.js +239 -0
- package/node_modules/@bufbuild/protobuf/dist/esm/wkt/gen/google/protobuf/wrappers_pb.d.ts +330 -0
- package/node_modules/@bufbuild/protobuf/dist/esm/wkt/gen/google/protobuf/wrappers_pb.js +64 -0
- package/node_modules/@bufbuild/protobuf/dist/esm/wkt/index.d.ts +19 -0
- package/node_modules/@bufbuild/protobuf/dist/esm/wkt/index.js +32 -0
- package/node_modules/@bufbuild/protobuf/dist/esm/wkt/json.d.ts +28 -0
- package/node_modules/@bufbuild/protobuf/dist/esm/wkt/json.js +41 -0
- package/node_modules/@bufbuild/protobuf/dist/esm/wkt/timestamp.d.ts +21 -0
- package/node_modules/@bufbuild/protobuf/dist/esm/wkt/timestamp.js +50 -0
- package/node_modules/@bufbuild/protobuf/dist/esm/wkt/wrappers.d.ts +25 -0
- package/node_modules/@bufbuild/protobuf/dist/esm/wkt/wrappers.js +61 -0
- package/node_modules/@bufbuild/protobuf/package.json +147 -0
- package/node_modules/@connectrpc/connect/README.md +62 -0
- package/node_modules/@connectrpc/connect/dist/cjs/any-client.d.ts +19 -0
- package/node_modules/@connectrpc/connect/dist/cjs/any-client.js +33 -0
- package/node_modules/@connectrpc/connect/dist/cjs/call-options.d.ts +34 -0
- package/node_modules/@connectrpc/connect/dist/cjs/call-options.js +15 -0
- package/node_modules/@connectrpc/connect/dist/cjs/callback-client.d.ts +31 -0
- package/node_modules/@connectrpc/connect/dist/cjs/callback-client.js +116 -0
- package/node_modules/@connectrpc/connect/dist/cjs/code.d.ts +75 -0
- package/node_modules/@connectrpc/connect/dist/cjs/code.js +92 -0
- package/node_modules/@connectrpc/connect/dist/cjs/connect-error.d.ts +104 -0
- package/node_modules/@connectrpc/connect/dist/cjs/connect-error.js +141 -0
- package/node_modules/@connectrpc/connect/dist/cjs/context-values.d.ts +34 -0
- package/node_modules/@connectrpc/connect/dist/cjs/context-values.js +41 -0
- package/node_modules/@connectrpc/connect/dist/cjs/cors.d.ts +45 -0
- package/node_modules/@connectrpc/connect/dist/cjs/cors.js +82 -0
- package/node_modules/@connectrpc/connect/dist/cjs/http-headers.d.ts +37 -0
- package/node_modules/@connectrpc/connect/dist/cjs/http-headers.js +63 -0
- package/node_modules/@connectrpc/connect/dist/cjs/implementation.d.ts +159 -0
- package/node_modules/@connectrpc/connect/dist/cjs/implementation.js +78 -0
- package/node_modules/@connectrpc/connect/dist/cjs/index.d.ts +22 -0
- package/node_modules/@connectrpc/connect/dist/cjs/index.js +46 -0
- package/node_modules/@connectrpc/connect/dist/cjs/interceptor.d.ts +170 -0
- package/node_modules/@connectrpc/connect/dist/cjs/interceptor.js +30 -0
- package/node_modules/@connectrpc/connect/dist/cjs/package.json +1 -0
- package/node_modules/@connectrpc/connect/dist/cjs/promise-client.d.ts +40 -0
- package/node_modules/@connectrpc/connect/dist/cjs/promise-client.js +135 -0
- package/node_modules/@connectrpc/connect/dist/cjs/protocol/async-iterable.d.ts +527 -0
- package/node_modules/@connectrpc/connect/dist/cjs/protocol/async-iterable.js +913 -0
- package/node_modules/@connectrpc/connect/dist/cjs/protocol/compression.d.ts +48 -0
- package/node_modules/@connectrpc/connect/dist/cjs/protocol/compression.js +75 -0
- package/node_modules/@connectrpc/connect/dist/cjs/protocol/content-type-matcher.d.ts +16 -0
- package/node_modules/@connectrpc/connect/dist/cjs/protocol/content-type-matcher.js +43 -0
- package/node_modules/@connectrpc/connect/dist/cjs/protocol/create-method-url.d.ts +17 -0
- package/node_modules/@connectrpc/connect/dist/cjs/protocol/create-method-url.js +36 -0
- package/node_modules/@connectrpc/connect/dist/cjs/protocol/envelope.d.ts +90 -0
- package/node_modules/@connectrpc/connect/dist/cjs/protocol/envelope.js +214 -0
- package/node_modules/@connectrpc/connect/dist/cjs/protocol/index.d.ts +25 -0
- package/node_modules/@connectrpc/connect/dist/cjs/protocol/index.js +95 -0
- package/node_modules/@connectrpc/connect/dist/cjs/protocol/invoke-implementation.d.ts +33 -0
- package/node_modules/@connectrpc/connect/dist/cjs/protocol/invoke-implementation.js +178 -0
- package/node_modules/@connectrpc/connect/dist/cjs/protocol/limit-io.d.ts +24 -0
- package/node_modules/@connectrpc/connect/dist/cjs/protocol/limit-io.js +80 -0
- package/node_modules/@connectrpc/connect/dist/cjs/protocol/normalize.d.ts +11 -0
- package/node_modules/@connectrpc/connect/dist/cjs/protocol/normalize.js +55 -0
- package/node_modules/@connectrpc/connect/dist/cjs/protocol/protocol-handler-factory.d.ts +18 -0
- package/node_modules/@connectrpc/connect/dist/cjs/protocol/protocol-handler-factory.js +15 -0
- package/node_modules/@connectrpc/connect/dist/cjs/protocol/protocol-headers.d.ts +9 -0
- package/node_modules/@connectrpc/connect/dist/cjs/protocol/protocol-headers.js +67 -0
- package/node_modules/@connectrpc/connect/dist/cjs/protocol/run-call.d.ts +45 -0
- package/node_modules/@connectrpc/connect/dist/cjs/protocol/run-call.js +125 -0
- package/node_modules/@connectrpc/connect/dist/cjs/protocol/serialization.d.ts +104 -0
- package/node_modules/@connectrpc/connect/dist/cjs/protocol/serialization.js +149 -0
- package/node_modules/@connectrpc/connect/dist/cjs/protocol/signals.d.ts +36 -0
- package/node_modules/@connectrpc/connect/dist/cjs/protocol/signals.js +100 -0
- package/node_modules/@connectrpc/connect/dist/cjs/protocol/transport-options.d.ts +98 -0
- package/node_modules/@connectrpc/connect/dist/cjs/protocol/transport-options.js +15 -0
- package/node_modules/@connectrpc/connect/dist/cjs/protocol/universal-fetch.d.ts +35 -0
- package/node_modules/@connectrpc/connect/dist/cjs/protocol/universal-fetch.js +150 -0
- package/node_modules/@connectrpc/connect/dist/cjs/protocol/universal-handler-client.d.ts +7 -0
- package/node_modules/@connectrpc/connect/dist/cjs/protocol/universal-handler-client.js +88 -0
- package/node_modules/@connectrpc/connect/dist/cjs/protocol/universal-handler.d.ts +167 -0
- package/node_modules/@connectrpc/connect/dist/cjs/protocol/universal-handler.js +130 -0
- package/node_modules/@connectrpc/connect/dist/cjs/protocol/universal.d.ts +102 -0
- package/node_modules/@connectrpc/connect/dist/cjs/protocol/universal.js +78 -0
- package/node_modules/@connectrpc/connect/dist/cjs/protocol-connect/code-string.d.ts +16 -0
- package/node_modules/@connectrpc/connect/dist/cjs/protocol-connect/code-string.js +52 -0
- package/node_modules/@connectrpc/connect/dist/cjs/protocol-connect/content-type.d.ts +40 -0
- package/node_modules/@connectrpc/connect/dist/cjs/protocol-connect/content-type.js +71 -0
- package/node_modules/@connectrpc/connect/dist/cjs/protocol-connect/end-stream.d.ts +44 -0
- package/node_modules/@connectrpc/connect/dist/cjs/protocol-connect/end-stream.js +137 -0
- package/node_modules/@connectrpc/connect/dist/cjs/protocol-connect/error-json.d.ts +36 -0
- package/node_modules/@connectrpc/connect/dist/cjs/protocol-connect/error-json.js +166 -0
- package/node_modules/@connectrpc/connect/dist/cjs/protocol-connect/get-request.d.ts +6 -0
- package/node_modules/@connectrpc/connect/dist/cjs/protocol-connect/get-request.js +66 -0
- package/node_modules/@connectrpc/connect/dist/cjs/protocol-connect/handler-factory.d.ts +6 -0
- package/node_modules/@connectrpc/connect/dist/cjs/protocol-connect/handler-factory.js +296 -0
- package/node_modules/@connectrpc/connect/dist/cjs/protocol-connect/headers.d.ts +16 -0
- package/node_modules/@connectrpc/connect/dist/cjs/protocol-connect/headers.js +32 -0
- package/node_modules/@connectrpc/connect/dist/cjs/protocol-connect/http-status.d.ts +15 -0
- package/node_modules/@connectrpc/connect/dist/cjs/protocol-connect/http-status.js +90 -0
- package/node_modules/@connectrpc/connect/dist/cjs/protocol-connect/index.d.ts +16 -0
- package/node_modules/@connectrpc/connect/dist/cjs/protocol-connect/index.js +81 -0
- package/node_modules/@connectrpc/connect/dist/cjs/protocol-connect/parse-timeout.d.ts +13 -0
- package/node_modules/@connectrpc/connect/dist/cjs/protocol-connect/parse-timeout.js +44 -0
- package/node_modules/@connectrpc/connect/dist/cjs/protocol-connect/query-params.d.ts +8 -0
- package/node_modules/@connectrpc/connect/dist/cjs/protocol-connect/query-params.js +24 -0
- package/node_modules/@connectrpc/connect/dist/cjs/protocol-connect/request-header.d.ts +19 -0
- package/node_modules/@connectrpc/connect/dist/cjs/protocol-connect/request-header.js +70 -0
- package/node_modules/@connectrpc/connect/dist/cjs/protocol-connect/trailer-mux.d.ts +19 -0
- package/node_modules/@connectrpc/connect/dist/cjs/protocol-connect/trailer-mux.js +53 -0
- package/node_modules/@connectrpc/connect/dist/cjs/protocol-connect/transport.d.ts +6 -0
- package/node_modules/@connectrpc/connect/dist/cjs/protocol-connect/transport.js +210 -0
- package/node_modules/@connectrpc/connect/dist/cjs/protocol-connect/validate-response.d.ts +30 -0
- package/node_modules/@connectrpc/connect/dist/cjs/protocol-connect/validate-response.js +71 -0
- package/node_modules/@connectrpc/connect/dist/cjs/protocol-connect/version.d.ts +20 -0
- package/node_modules/@connectrpc/connect/dist/cjs/protocol-connect/version.js +58 -0
- package/node_modules/@connectrpc/connect/dist/cjs/protocol-grpc/content-type.d.ts +16 -0
- package/node_modules/@connectrpc/connect/dist/cjs/protocol-grpc/content-type.js +38 -0
- package/node_modules/@connectrpc/connect/dist/cjs/protocol-grpc/gen/status_pb.d.ts +91 -0
- package/node_modules/@connectrpc/connect/dist/cjs/protocol-grpc/gen/status_pb.js +27 -0
- package/node_modules/@connectrpc/connect/dist/cjs/protocol-grpc/handler-factory.d.ts +6 -0
- package/node_modules/@connectrpc/connect/dist/cjs/protocol-grpc/handler-factory.js +124 -0
- package/node_modules/@connectrpc/connect/dist/cjs/protocol-grpc/headers.d.ts +13 -0
- package/node_modules/@connectrpc/connect/dist/cjs/protocol-grpc/headers.js +29 -0
- package/node_modules/@connectrpc/connect/dist/cjs/protocol-grpc/http-status.d.ts +8 -0
- package/node_modules/@connectrpc/connect/dist/cjs/protocol-grpc/http-status.js +46 -0
- package/node_modules/@connectrpc/connect/dist/cjs/protocol-grpc/index.d.ts +10 -0
- package/node_modules/@connectrpc/connect/dist/cjs/protocol-grpc/index.js +61 -0
- package/node_modules/@connectrpc/connect/dist/cjs/protocol-grpc/parse-timeout.d.ts +13 -0
- package/node_modules/@connectrpc/connect/dist/cjs/protocol-grpc/parse-timeout.js +53 -0
- package/node_modules/@connectrpc/connect/dist/cjs/protocol-grpc/request-header.d.ts +13 -0
- package/node_modules/@connectrpc/connect/dist/cjs/protocol-grpc/request-header.js +56 -0
- package/node_modules/@connectrpc/connect/dist/cjs/protocol-grpc/trailer-status.d.ts +28 -0
- package/node_modules/@connectrpc/connect/dist/cjs/protocol-grpc/trailer-status.js +118 -0
- package/node_modules/@connectrpc/connect/dist/cjs/protocol-grpc/transport.d.ts +6 -0
- package/node_modules/@connectrpc/connect/dist/cjs/protocol-grpc/transport.js +185 -0
- package/node_modules/@connectrpc/connect/dist/cjs/protocol-grpc/validate-response.d.ts +33 -0
- package/node_modules/@connectrpc/connect/dist/cjs/protocol-grpc/validate-response.js +75 -0
- package/node_modules/@connectrpc/connect/dist/cjs/protocol-grpc/validate-trailer.d.ts +13 -0
- package/node_modules/@connectrpc/connect/dist/cjs/protocol-grpc/validate-trailer.js +44 -0
- package/node_modules/@connectrpc/connect/dist/cjs/protocol-grpc-web/content-type.d.ts +19 -0
- package/node_modules/@connectrpc/connect/dist/cjs/protocol-grpc-web/content-type.js +41 -0
- package/node_modules/@connectrpc/connect/dist/cjs/protocol-grpc-web/handler-factory.d.ts +6 -0
- package/node_modules/@connectrpc/connect/dist/cjs/protocol-grpc-web/handler-factory.js +130 -0
- package/node_modules/@connectrpc/connect/dist/cjs/protocol-grpc-web/headers.d.ts +20 -0
- package/node_modules/@connectrpc/connect/dist/cjs/protocol-grpc-web/headers.js +44 -0
- package/node_modules/@connectrpc/connect/dist/cjs/protocol-grpc-web/index.d.ts +8 -0
- package/node_modules/@connectrpc/connect/dist/cjs/protocol-grpc-web/index.js +61 -0
- package/node_modules/@connectrpc/connect/dist/cjs/protocol-grpc-web/request-header.d.ts +13 -0
- package/node_modules/@connectrpc/connect/dist/cjs/protocol-grpc-web/request-header.js +59 -0
- package/node_modules/@connectrpc/connect/dist/cjs/protocol-grpc-web/trailer.d.ts +27 -0
- package/node_modules/@connectrpc/connect/dist/cjs/protocol-grpc-web/trailer.js +71 -0
- package/node_modules/@connectrpc/connect/dist/cjs/protocol-grpc-web/transport.d.ts +6 -0
- package/node_modules/@connectrpc/connect/dist/cjs/protocol-grpc-web/transport.js +234 -0
- package/node_modules/@connectrpc/connect/dist/cjs/protocol-grpc-web/validate-response.d.ts +34 -0
- package/node_modules/@connectrpc/connect/dist/cjs/protocol-grpc-web/validate-response.js +73 -0
- package/node_modules/@connectrpc/connect/dist/cjs/router-transport.d.ts +13 -0
- package/node_modules/@connectrpc/connect/dist/cjs/router-transport.js +32 -0
- package/node_modules/@connectrpc/connect/dist/cjs/router.d.ts +81 -0
- package/node_modules/@connectrpc/connect/dist/cjs/router.js +68 -0
- package/node_modules/@connectrpc/connect/dist/cjs/transport.d.ts +20 -0
- package/node_modules/@connectrpc/connect/dist/cjs/transport.js +15 -0
- package/node_modules/@connectrpc/connect/dist/esm/any-client.d.ts +19 -0
- package/node_modules/@connectrpc/connect/dist/esm/any-client.js +30 -0
- package/node_modules/@connectrpc/connect/dist/esm/call-options.d.ts +34 -0
- package/node_modules/@connectrpc/connect/dist/esm/call-options.js +14 -0
- package/node_modules/@connectrpc/connect/dist/esm/callback-client.d.ts +31 -0
- package/node_modules/@connectrpc/connect/dist/esm/callback-client.js +113 -0
- package/node_modules/@connectrpc/connect/dist/esm/code.d.ts +75 -0
- package/node_modules/@connectrpc/connect/dist/esm/code.js +89 -0
- package/node_modules/@connectrpc/connect/dist/esm/connect-error.d.ts +104 -0
- package/node_modules/@connectrpc/connect/dist/esm/connect-error.js +137 -0
- package/node_modules/@connectrpc/connect/dist/esm/context-values.d.ts +34 -0
- package/node_modules/@connectrpc/connect/dist/esm/context-values.js +37 -0
- package/node_modules/@connectrpc/connect/dist/esm/cors.d.ts +45 -0
- package/node_modules/@connectrpc/connect/dist/esm/cors.js +79 -0
- package/node_modules/@connectrpc/connect/dist/esm/http-headers.d.ts +37 -0
- package/node_modules/@connectrpc/connect/dist/esm/http-headers.js +58 -0
- package/node_modules/@connectrpc/connect/dist/esm/implementation.d.ts +159 -0
- package/node_modules/@connectrpc/connect/dist/esm/implementation.js +73 -0
- package/node_modules/@connectrpc/connect/dist/esm/index.d.ts +22 -0
- package/node_modules/@connectrpc/connect/dist/esm/index.js +27 -0
- package/node_modules/@connectrpc/connect/dist/esm/interceptor.d.ts +170 -0
- package/node_modules/@connectrpc/connect/dist/esm/interceptor.js +27 -0
- package/node_modules/@connectrpc/connect/dist/esm/promise-client.d.ts +40 -0
- package/node_modules/@connectrpc/connect/dist/esm/promise-client.js +128 -0
- package/node_modules/@connectrpc/connect/dist/esm/protocol/async-iterable.d.ts +527 -0
- package/node_modules/@connectrpc/connect/dist/esm/protocol/async-iterable.js +891 -0
- package/node_modules/@connectrpc/connect/dist/esm/protocol/compression.d.ts +48 -0
- package/node_modules/@connectrpc/connect/dist/esm/protocol/compression.js +71 -0
- package/node_modules/@connectrpc/connect/dist/esm/protocol/content-type-matcher.d.ts +16 -0
- package/node_modules/@connectrpc/connect/dist/esm/protocol/content-type-matcher.js +40 -0
- package/node_modules/@connectrpc/connect/dist/esm/protocol/create-method-url.d.ts +17 -0
- package/node_modules/@connectrpc/connect/dist/esm/protocol/create-method-url.js +33 -0
- package/node_modules/@connectrpc/connect/dist/esm/protocol/envelope.d.ts +90 -0
- package/node_modules/@connectrpc/connect/dist/esm/protocol/envelope.js +206 -0
- package/node_modules/@connectrpc/connect/dist/esm/protocol/index.d.ts +25 -0
- package/node_modules/@connectrpc/connect/dist/esm/protocol/index.js +33 -0
- package/node_modules/@connectrpc/connect/dist/esm/protocol/invoke-implementation.d.ts +33 -0
- package/node_modules/@connectrpc/connect/dist/esm/protocol/invoke-implementation.js +173 -0
- package/node_modules/@connectrpc/connect/dist/esm/protocol/limit-io.d.ts +24 -0
- package/node_modules/@connectrpc/connect/dist/esm/protocol/limit-io.js +75 -0
- package/node_modules/@connectrpc/connect/dist/esm/protocol/normalize.d.ts +11 -0
- package/node_modules/@connectrpc/connect/dist/esm/protocol/normalize.js +51 -0
- package/node_modules/@connectrpc/connect/dist/esm/protocol/protocol-handler-factory.d.ts +18 -0
- package/node_modules/@connectrpc/connect/dist/esm/protocol/protocol-handler-factory.js +14 -0
- package/node_modules/@connectrpc/connect/dist/esm/protocol/protocol-headers.d.ts +9 -0
- package/node_modules/@connectrpc/connect/dist/esm/protocol/protocol-headers.js +64 -0
- package/node_modules/@connectrpc/connect/dist/esm/protocol/run-call.d.ts +45 -0
- package/node_modules/@connectrpc/connect/dist/esm/protocol/run-call.js +121 -0
- package/node_modules/@connectrpc/connect/dist/esm/protocol/serialization.d.ts +104 -0
- package/node_modules/@connectrpc/connect/dist/esm/protocol/serialization.js +141 -0
- package/node_modules/@connectrpc/connect/dist/esm/protocol/signals.d.ts +36 -0
- package/node_modules/@connectrpc/connect/dist/esm/protocol/signals.js +95 -0
- package/node_modules/@connectrpc/connect/dist/esm/protocol/transport-options.d.ts +98 -0
- package/node_modules/@connectrpc/connect/dist/esm/protocol/transport-options.js +14 -0
- package/node_modules/@connectrpc/connect/dist/esm/protocol/universal-fetch.d.ts +35 -0
- package/node_modules/@connectrpc/connect/dist/esm/protocol/universal-fetch.js +142 -0
- package/node_modules/@connectrpc/connect/dist/esm/protocol/universal-handler-client.d.ts +7 -0
- package/node_modules/@connectrpc/connect/dist/esm/protocol/universal-handler-client.js +85 -0
- package/node_modules/@connectrpc/connect/dist/esm/protocol/universal-handler.d.ts +167 -0
- package/node_modules/@connectrpc/connect/dist/esm/protocol/universal-handler.js +124 -0
- package/node_modules/@connectrpc/connect/dist/esm/protocol/universal.d.ts +102 -0
- package/node_modules/@connectrpc/connect/dist/esm/protocol/universal.js +74 -0
- package/node_modules/@connectrpc/connect/dist/esm/protocol-connect/code-string.d.ts +16 -0
- package/node_modules/@connectrpc/connect/dist/esm/protocol-connect/code-string.js +48 -0
- package/node_modules/@connectrpc/connect/dist/esm/protocol-connect/content-type.d.ts +40 -0
- package/node_modules/@connectrpc/connect/dist/esm/protocol-connect/content-type.js +66 -0
- package/node_modules/@connectrpc/connect/dist/esm/protocol-connect/end-stream.d.ts +44 -0
- package/node_modules/@connectrpc/connect/dist/esm/protocol-connect/end-stream.js +131 -0
- package/node_modules/@connectrpc/connect/dist/esm/protocol-connect/error-json.d.ts +36 -0
- package/node_modules/@connectrpc/connect/dist/esm/protocol-connect/error-json.js +160 -0
- package/node_modules/@connectrpc/connect/dist/esm/protocol-connect/get-request.d.ts +6 -0
- package/node_modules/@connectrpc/connect/dist/esm/protocol-connect/get-request.js +63 -0
- package/node_modules/@connectrpc/connect/dist/esm/protocol-connect/handler-factory.d.ts +6 -0
- package/node_modules/@connectrpc/connect/dist/esm/protocol-connect/handler-factory.js +293 -0
- package/node_modules/@connectrpc/connect/dist/esm/protocol-connect/headers.d.ts +16 -0
- package/node_modules/@connectrpc/connect/dist/esm/protocol-connect/headers.js +29 -0
- package/node_modules/@connectrpc/connect/dist/esm/protocol-connect/http-status.d.ts +15 -0
- package/node_modules/@connectrpc/connect/dist/esm/protocol-connect/http-status.js +86 -0
- package/node_modules/@connectrpc/connect/dist/esm/protocol-connect/index.d.ts +16 -0
- package/node_modules/@connectrpc/connect/dist/esm/protocol-connect/index.js +33 -0
- package/node_modules/@connectrpc/connect/dist/esm/protocol-connect/parse-timeout.d.ts +13 -0
- package/node_modules/@connectrpc/connect/dist/esm/protocol-connect/parse-timeout.js +41 -0
- package/node_modules/@connectrpc/connect/dist/esm/protocol-connect/query-params.d.ts +8 -0
- package/node_modules/@connectrpc/connect/dist/esm/protocol-connect/query-params.js +21 -0
- package/node_modules/@connectrpc/connect/dist/esm/protocol-connect/request-header.d.ts +19 -0
- package/node_modules/@connectrpc/connect/dist/esm/protocol-connect/request-header.js +66 -0
- package/node_modules/@connectrpc/connect/dist/esm/protocol-connect/trailer-mux.d.ts +19 -0
- package/node_modules/@connectrpc/connect/dist/esm/protocol-connect/trailer-mux.js +49 -0
- package/node_modules/@connectrpc/connect/dist/esm/protocol-connect/transport.d.ts +6 -0
- package/node_modules/@connectrpc/connect/dist/esm/protocol-connect/transport.js +207 -0
- package/node_modules/@connectrpc/connect/dist/esm/protocol-connect/validate-response.d.ts +30 -0
- package/node_modules/@connectrpc/connect/dist/esm/protocol-connect/validate-response.js +67 -0
- package/node_modules/@connectrpc/connect/dist/esm/protocol-connect/version.d.ts +20 -0
- package/node_modules/@connectrpc/connect/dist/esm/protocol-connect/version.js +53 -0
- package/node_modules/@connectrpc/connect/dist/esm/protocol-grpc/content-type.d.ts +16 -0
- package/node_modules/@connectrpc/connect/dist/esm/protocol-grpc/content-type.js +34 -0
- package/node_modules/@connectrpc/connect/dist/esm/protocol-grpc/gen/status_pb.d.ts +91 -0
- package/node_modules/@connectrpc/connect/dist/esm/protocol-grpc/gen/status_pb.js +24 -0
- package/node_modules/@connectrpc/connect/dist/esm/protocol-grpc/handler-factory.d.ts +6 -0
- package/node_modules/@connectrpc/connect/dist/esm/protocol-grpc/handler-factory.js +121 -0
- package/node_modules/@connectrpc/connect/dist/esm/protocol-grpc/headers.d.ts +13 -0
- package/node_modules/@connectrpc/connect/dist/esm/protocol-grpc/headers.js +26 -0
- package/node_modules/@connectrpc/connect/dist/esm/protocol-grpc/http-status.d.ts +8 -0
- package/node_modules/@connectrpc/connect/dist/esm/protocol-grpc/http-status.js +43 -0
- package/node_modules/@connectrpc/connect/dist/esm/protocol-grpc/index.d.ts +10 -0
- package/node_modules/@connectrpc/connect/dist/esm/protocol-grpc/index.js +28 -0
- package/node_modules/@connectrpc/connect/dist/esm/protocol-grpc/parse-timeout.d.ts +13 -0
- package/node_modules/@connectrpc/connect/dist/esm/protocol-grpc/parse-timeout.js +50 -0
- package/node_modules/@connectrpc/connect/dist/esm/protocol-grpc/request-header.d.ts +13 -0
- package/node_modules/@connectrpc/connect/dist/esm/protocol-grpc/request-header.js +52 -0
- package/node_modules/@connectrpc/connect/dist/esm/protocol-grpc/trailer-status.d.ts +28 -0
- package/node_modules/@connectrpc/connect/dist/esm/protocol-grpc/trailer-status.js +113 -0
- package/node_modules/@connectrpc/connect/dist/esm/protocol-grpc/transport.d.ts +6 -0
- package/node_modules/@connectrpc/connect/dist/esm/protocol-grpc/transport.js +182 -0
- package/node_modules/@connectrpc/connect/dist/esm/protocol-grpc/validate-response.d.ts +33 -0
- package/node_modules/@connectrpc/connect/dist/esm/protocol-grpc/validate-response.js +71 -0
- package/node_modules/@connectrpc/connect/dist/esm/protocol-grpc/validate-trailer.d.ts +13 -0
- package/node_modules/@connectrpc/connect/dist/esm/protocol-grpc/validate-trailer.js +41 -0
- package/node_modules/@connectrpc/connect/dist/esm/protocol-grpc-web/content-type.d.ts +19 -0
- package/node_modules/@connectrpc/connect/dist/esm/protocol-grpc-web/content-type.js +37 -0
- package/node_modules/@connectrpc/connect/dist/esm/protocol-grpc-web/handler-factory.d.ts +6 -0
- package/node_modules/@connectrpc/connect/dist/esm/protocol-grpc-web/handler-factory.js +127 -0
- package/node_modules/@connectrpc/connect/dist/esm/protocol-grpc-web/headers.d.ts +20 -0
- package/node_modules/@connectrpc/connect/dist/esm/protocol-grpc-web/headers.js +33 -0
- package/node_modules/@connectrpc/connect/dist/esm/protocol-grpc-web/index.d.ts +8 -0
- package/node_modules/@connectrpc/connect/dist/esm/protocol-grpc-web/index.js +26 -0
- package/node_modules/@connectrpc/connect/dist/esm/protocol-grpc-web/request-header.d.ts +13 -0
- package/node_modules/@connectrpc/connect/dist/esm/protocol-grpc-web/request-header.js +55 -0
- package/node_modules/@connectrpc/connect/dist/esm/protocol-grpc-web/trailer.d.ts +27 -0
- package/node_modules/@connectrpc/connect/dist/esm/protocol-grpc-web/trailer.js +65 -0
- package/node_modules/@connectrpc/connect/dist/esm/protocol-grpc-web/transport.d.ts +6 -0
- package/node_modules/@connectrpc/connect/dist/esm/protocol-grpc-web/transport.js +231 -0
- package/node_modules/@connectrpc/connect/dist/esm/protocol-grpc-web/validate-response.d.ts +34 -0
- package/node_modules/@connectrpc/connect/dist/esm/protocol-grpc-web/validate-response.js +69 -0
- package/node_modules/@connectrpc/connect/dist/esm/router-transport.d.ts +13 -0
- package/node_modules/@connectrpc/connect/dist/esm/router-transport.js +29 -0
- package/node_modules/@connectrpc/connect/dist/esm/router.d.ts +81 -0
- package/node_modules/@connectrpc/connect/dist/esm/router.js +65 -0
- package/node_modules/@connectrpc/connect/dist/esm/transport.d.ts +20 -0
- package/node_modules/@connectrpc/connect/dist/esm/transport.js +14 -0
- package/node_modules/@connectrpc/connect/package.json +67 -0
- package/node_modules/@connectrpc/connect-node/README.md +144 -0
- package/node_modules/@connectrpc/connect-node/buf.gen.yaml +10 -0
- package/node_modules/@connectrpc/connect-node/dist/cjs/compression.d.ts +15 -0
- package/node_modules/@connectrpc/connect-node/dist/cjs/compression.js +96 -0
- package/node_modules/@connectrpc/connect-node/dist/cjs/connect-node-adapter.d.ts +42 -0
- package/node_modules/@connectrpc/connect-node/dist/cjs/connect-node-adapter.js +60 -0
- package/node_modules/@connectrpc/connect-node/dist/cjs/connect-transport.d.ts +100 -0
- package/node_modules/@connectrpc/connect-node/dist/cjs/connect-transport.js +25 -0
- package/node_modules/@connectrpc/connect-node/dist/cjs/grpc-transport.d.ts +95 -0
- package/node_modules/@connectrpc/connect-node/dist/cjs/grpc-transport.js +24 -0
- package/node_modules/@connectrpc/connect-node/dist/cjs/grpc-web-transport.d.ts +96 -0
- package/node_modules/@connectrpc/connect-node/dist/cjs/grpc-web-transport.js +25 -0
- package/node_modules/@connectrpc/connect-node/dist/cjs/http2-session-manager.d.ts +146 -0
- package/node_modules/@connectrpc/connect-node/dist/cjs/http2-session-manager.js +543 -0
- package/node_modules/@connectrpc/connect-node/dist/cjs/index.d.ts +14 -0
- package/node_modules/@connectrpc/connect-node/dist/cjs/index.js +34 -0
- package/node_modules/@connectrpc/connect-node/dist/cjs/node-error.d.ts +45 -0
- package/node_modules/@connectrpc/connect-node/dist/cjs/node-error.js +153 -0
- package/node_modules/@connectrpc/connect-node/dist/cjs/node-transport-options.d.ts +100 -0
- package/node_modules/@connectrpc/connect-node/dist/cjs/node-transport-options.js +58 -0
- package/node_modules/@connectrpc/connect-node/dist/cjs/node-universal-client.d.ts +54 -0
- package/node_modules/@connectrpc/connect-node/dist/cjs/node-universal-client.js +347 -0
- package/node_modules/@connectrpc/connect-node/dist/cjs/node-universal-handler.d.ts +42 -0
- package/node_modules/@connectrpc/connect-node/dist/cjs/node-universal-handler.js +225 -0
- package/node_modules/@connectrpc/connect-node/dist/cjs/node-universal-header.d.ts +20 -0
- package/node_modules/@connectrpc/connect-node/dist/cjs/node-universal-header.js +117 -0
- package/node_modules/@connectrpc/connect-node/dist/cjs/package.json +1 -0
- package/node_modules/@connectrpc/connect-node/dist/esm/compression.d.ts +15 -0
- package/node_modules/@connectrpc/connect-node/dist/esm/compression.js +93 -0
- package/node_modules/@connectrpc/connect-node/dist/esm/connect-node-adapter.d.ts +42 -0
- package/node_modules/@connectrpc/connect-node/dist/esm/connect-node-adapter.js +57 -0
- package/node_modules/@connectrpc/connect-node/dist/esm/connect-transport.d.ts +100 -0
- package/node_modules/@connectrpc/connect-node/dist/esm/connect-transport.js +22 -0
- package/node_modules/@connectrpc/connect-node/dist/esm/grpc-transport.d.ts +95 -0
- package/node_modules/@connectrpc/connect-node/dist/esm/grpc-transport.js +21 -0
- package/node_modules/@connectrpc/connect-node/dist/esm/grpc-web-transport.d.ts +96 -0
- package/node_modules/@connectrpc/connect-node/dist/esm/grpc-web-transport.js +22 -0
- package/node_modules/@connectrpc/connect-node/dist/esm/http2-session-manager.d.ts +146 -0
- package/node_modules/@connectrpc/connect-node/dist/esm/http2-session-manager.js +539 -0
- package/node_modules/@connectrpc/connect-node/dist/esm/index.d.ts +14 -0
- package/node_modules/@connectrpc/connect-node/dist/esm/index.js +21 -0
- package/node_modules/@connectrpc/connect-node/dist/esm/node-error.d.ts +45 -0
- package/node_modules/@connectrpc/connect-node/dist/esm/node-error.js +146 -0
- package/node_modules/@connectrpc/connect-node/dist/esm/node-transport-options.d.ts +100 -0
- package/node_modules/@connectrpc/connect-node/dist/esm/node-transport-options.js +55 -0
- package/node_modules/@connectrpc/connect-node/dist/esm/node-universal-client.d.ts +54 -0
- package/node_modules/@connectrpc/connect-node/dist/esm/node-universal-client.js +344 -0
- package/node_modules/@connectrpc/connect-node/dist/esm/node-universal-handler.d.ts +42 -0
- package/node_modules/@connectrpc/connect-node/dist/esm/node-universal-handler.js +221 -0
- package/node_modules/@connectrpc/connect-node/dist/esm/node-universal-header.d.ts +20 -0
- package/node_modules/@connectrpc/connect-node/dist/esm/node-universal-header.js +113 -0
- package/node_modules/@connectrpc/connect-node/package.json +44 -0
- package/node_modules/@nvidia/openshell-sdk/README.md +303 -0
- package/node_modules/@nvidia/openshell-sdk/dist/client.d.ts +1243 -0
- package/node_modules/@nvidia/openshell-sdk/dist/client.d.ts.map +1 -0
- package/node_modules/@nvidia/openshell-sdk/dist/client.js +1321 -0
- package/node_modules/@nvidia/openshell-sdk/dist/client.js.map +1 -0
- package/node_modules/@nvidia/openshell-sdk/dist/errors.d.ts +35 -0
- package/node_modules/@nvidia/openshell-sdk/dist/errors.d.ts.map +1 -0
- package/node_modules/@nvidia/openshell-sdk/dist/errors.js +79 -0
- package/node_modules/@nvidia/openshell-sdk/dist/errors.js.map +1 -0
- package/node_modules/@nvidia/openshell-sdk/dist/gen/datamodel_pb.d.ts +301 -0
- package/node_modules/@nvidia/openshell-sdk/dist/gen/datamodel_pb.d.ts.map +1 -0
- package/node_modules/@nvidia/openshell-sdk/dist/gen/datamodel_pb.js +69 -0
- package/node_modules/@nvidia/openshell-sdk/dist/gen/datamodel_pb.js.map +1 -0
- package/node_modules/@nvidia/openshell-sdk/dist/gen/google/rpc/error_details_pb.d.ts +581 -0
- package/node_modules/@nvidia/openshell-sdk/dist/gen/google/rpc/error_details_pb.d.ts.map +1 -0
- package/node_modules/@nvidia/openshell-sdk/dist/gen/google/rpc/error_details_pb.js +90 -0
- package/node_modules/@nvidia/openshell-sdk/dist/gen/google/rpc/error_details_pb.js.map +1 -0
- package/node_modules/@nvidia/openshell-sdk/dist/gen/openshell_pb.d.ts +9131 -0
- package/node_modules/@nvidia/openshell-sdk/dist/gen/openshell_pb.d.ts.map +1 -0
- package/node_modules/@nvidia/openshell-sdk/dist/gen/openshell_pb.js +1898 -0
- package/node_modules/@nvidia/openshell-sdk/dist/gen/openshell_pb.js.map +1 -0
- package/node_modules/@nvidia/openshell-sdk/dist/gen/options_pb.d.ts +58 -0
- package/node_modules/@nvidia/openshell-sdk/dist/gen/options_pb.d.ts.map +1 -0
- package/node_modules/@nvidia/openshell-sdk/dist/gen/options_pb.js +24 -0
- package/node_modules/@nvidia/openshell-sdk/dist/gen/options_pb.js.map +1 -0
- package/node_modules/@nvidia/openshell-sdk/dist/gen/sandbox_pb.d.ts +1203 -0
- package/node_modules/@nvidia/openshell-sdk/dist/gen/sandbox_pb.d.ts.map +1 -0
- package/node_modules/@nvidia/openshell-sdk/dist/gen/sandbox_pb.js +277 -0
- package/node_modules/@nvidia/openshell-sdk/dist/gen/sandbox_pb.js.map +1 -0
- package/node_modules/@nvidia/openshell-sdk/dist/index.d.ts +7 -0
- package/node_modules/@nvidia/openshell-sdk/dist/index.d.ts.map +1 -0
- package/node_modules/@nvidia/openshell-sdk/dist/index.js +6 -0
- package/node_modules/@nvidia/openshell-sdk/dist/index.js.map +1 -0
- package/node_modules/@nvidia/openshell-sdk/dist/oidc.d.ts +14 -0
- package/node_modules/@nvidia/openshell-sdk/dist/oidc.d.ts.map +1 -0
- package/node_modules/@nvidia/openshell-sdk/dist/oidc.js +177 -0
- package/node_modules/@nvidia/openshell-sdk/dist/oidc.js.map +1 -0
- package/node_modules/@nvidia/openshell-sdk/dist/raw.d.ts +6 -0
- package/node_modules/@nvidia/openshell-sdk/dist/raw.d.ts.map +1 -0
- package/node_modules/@nvidia/openshell-sdk/dist/raw.js +15 -0
- package/node_modules/@nvidia/openshell-sdk/dist/raw.js.map +1 -0
- package/node_modules/@nvidia/openshell-sdk/dist/ssh-validate.d.ts +11 -0
- package/node_modules/@nvidia/openshell-sdk/dist/ssh-validate.d.ts.map +1 -0
- package/node_modules/@nvidia/openshell-sdk/dist/ssh-validate.js +58 -0
- package/node_modules/@nvidia/openshell-sdk/dist/ssh-validate.js.map +1 -0
- package/node_modules/@nvidia/openshell-sdk/dist/transport.d.ts +35 -0
- package/node_modules/@nvidia/openshell-sdk/dist/transport.d.ts.map +1 -0
- package/node_modules/@nvidia/openshell-sdk/dist/transport.js +97 -0
- package/node_modules/@nvidia/openshell-sdk/dist/transport.js.map +1 -0
- package/node_modules/@nvidia/openshell-sdk/package.json +58 -0
- package/package.json +93 -4
- package/server/activity-delivery.js +143 -0
- package/server/activity-store.js +168 -0
- package/server/agent-inventory.js +76 -0
- package/server/agent-resources.py +60 -0
- package/server/api.js +648 -0
- package/server/cli.js +168 -0
- package/server/cloud-connections.js +56 -0
- package/server/cloud-origin.js +11 -0
- package/server/cloud-proxy.js +122 -0
- package/server/cloud-ssh-proxy.cjs +73 -0
- package/server/cloud-ssh.js +135 -0
- package/server/cloud-transfer.js +221 -0
- package/server/compute.js +50 -0
- package/server/editor.js +114 -0
- package/server/egress.js +204 -0
- package/server/files.js +489 -0
- package/server/gateway-install.js +64 -0
- package/server/gateway.js +415 -0
- package/server/image-templates.js +393 -0
- package/server/ingress.js +185 -0
- package/server/launch-token.js +55 -0
- package/server/local-catalog.js +111 -0
- package/server/local-cloud-native.js +152 -0
- package/server/local-cloud.js +123 -0
- package/server/location-inventory.js +94 -0
- package/server/machines.js +84 -0
- package/server/openshell-cli.js +144 -0
- package/server/org.js +536 -0
- package/server/orphan-processes.js +42 -0
- package/server/paths.js +28 -0
- package/server/policy-template-store.js +92 -0
- package/server/policy.js +583 -0
- package/server/remote-gateway-state.js +123 -0
- package/server/remote-gateway.js +420 -0
- package/server/remote-hosts.js +354 -0
- package/server/remote-http.js +14 -0
- package/server/remote-image-engine.js +47 -0
- package/server/remote-runtime.js +65 -0
- package/server/remote-runtime.py +162 -0
- package/server/sandbox-identity.js +14 -0
- package/server/security.js +139 -0
- package/server/session-revocations.js +20 -0
- package/server/setup-artifact-installer.py +54 -0
- package/server/setup-artifacts.js +23 -0
- package/server/setup-auth-discovery.js +24 -0
- package/server/setup-credentials.js +54 -0
- package/server/setup-deployment.js +299 -0
- package/server/setup-discovery.js +289 -0
- package/server/setup-egress.js +133 -0
- package/server/setup-http.js +47 -0
- package/server/setup-installer.py +289 -0
- package/server/setup-json.py +8 -0
- package/server/setup-members.js +77 -0
- package/server/setup-packages.js +214 -0
- package/server/setup-preparation.js +144 -0
- package/server/setup-python.js +8 -0
- package/server/setup-remote-check.js +35 -0
- package/server/setup-transfer.js +17 -0
- package/server/setup-verifier.cjs +43 -0
- package/server/setups.js +172 -0
- package/server/ssh-hosts.js +184 -0
- package/server/ssh.js +153 -0
- package/server/start.js +71 -0
- package/server/terminal.js +173 -0
- package/server/worker-auth.js +18 -0
- package/shared/agent-access.js +103 -0
- package/shared/antigravity-network-guidance.js +9 -0
- package/shared/group-membership.js +33 -0
- package/shared/group-network.js +29 -0
- package/shared/policy-templates.js +79 -0
- package/shared/secret-fields.js +35 -0
- package/shared/setup-launch.js +25 -0
- package/shared/setup-targets.js +11 -0
- package/shared/setup-targets.json +12 -0
- package/src/lib/activity-export.js +52 -0
- package/src/lib/activity-inventory.js +45 -0
- package/src/lib/agents.js +41 -0
- package/src/lib/api.js +173 -0
- package/src/lib/cloud-machine.js +9 -0
- package/src/lib/cloud-origin.js +6 -0
- package/src/lib/cloud-transfer.js +22 -0
- package/src/lib/compute-target.js +46 -0
- package/src/lib/delete-network-policies.js +15 -0
- package/src/lib/egress-groups.js +24 -0
- package/src/lib/egress.js +28 -0
- package/src/lib/files.js +24 -0
- package/src/lib/fleet.js +100 -0
- package/src/lib/format.js +24 -0
- package/src/lib/groups.js +16 -0
- package/src/lib/image-templates.js +139 -0
- package/src/lib/import-setup.js +36 -0
- package/src/lib/local-cloud.js +118 -0
- package/src/lib/location-inventory.js +20 -0
- package/src/lib/locations.js +5 -0
- package/src/lib/placement.js +9 -0
- package/src/lib/policy-editor.js +58 -0
- package/src/lib/policy-sources.js +33 -0
- package/src/lib/quick-setup.js +110 -0
- package/src/lib/sandbox-creations.js +59 -0
- package/src/lib/sandbox-images.js +38 -0
- package/src/lib/sandbox-session.js +140 -0
- package/src/lib/sandboxes.js +78 -0
- package/src/lib/secret-inventory.js +26 -0
- package/src/lib/services.js +41 -0
- package/src/lib/setup-import-jobs.js +62 -0
- package/src/lib/setup-imports.js +4 -0
- package/src/lib/setup-network.js +39 -0
- package/src/lib/setup-template-build.js +17 -0
- package/src/lib/utils.js +6 -0
- package/vendor/OPENSHELL-LICENSE +203 -0
- package/vendor/nvidia-openshell-sdk-0.0.0.tgz +0 -0
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
import { AGENTS } from './agents.js'
|
|
2
|
+
|
|
3
|
+
export const activityKey = (e) => e.id || `${e.sandbox}|${e.at}|${e.source}|${e.target}|${e.message}`
|
|
4
|
+
export const SEVERITY_RANK = { CRITICAL: 6, FATAL: 6, HIGH: 5, MED: 4, MEDIUM: 4, LOW: 3, INFO: 2, INFORMATIONAL: 2 }
|
|
5
|
+
const REASONS = { policy_dns_ineligible: 'no rule allows this host', transparent_tcp_policy_denied: 'no rule allows this connection' }
|
|
6
|
+
export const CATEGORY_NAMES = { NET: 'Network', HTTP: 'HTTP', SSH: 'Session', CONFIG: 'Configuration', PROC: 'Process', FILE: 'File', AUTH: 'Authentication', FINDING: 'Finding', EVENT: 'Event' }
|
|
7
|
+
export function activityRow(event) {
|
|
8
|
+
const program = event.binary?.split('/').pop() || ''
|
|
9
|
+
const known = AGENTS.find((a) => a.commands.includes(program.toLowerCase()) && program.toLowerCase() !== 'agent')
|
|
10
|
+
const agent = known ? { name: known.name, logo: `/logos/agents/${known.logo}.svg` } : null
|
|
11
|
+
const direction = event.direction || (event.kind === 'inbound' && ['NET', 'HTTP', 'SSH'].includes(event.category) ? 'in' : event.kind === 'audit' && ['NET', 'HTTP'].includes(event.category) ? 'out' : 'unknown')
|
|
12
|
+
const values = {
|
|
13
|
+
time: event.at ?? '', sandbox: event.sandbox ?? '', scope: event.scope ?? '', sandboxId: event.sandboxId ?? event.original?.sandboxId ?? '', agent: agent?.name ?? 'Unknown',
|
|
14
|
+
category: CATEGORY_NAMES[event.category] ?? (event.kind === 'log' ? 'Log' : 'Unclassified'),
|
|
15
|
+
severity: event.severity || 'Not reported',
|
|
16
|
+
logLevel: event.level && event.level !== 'OCSF' ? event.level : 'Not reported', direction,
|
|
17
|
+
verdict: event.verdict || (['NET', 'HTTP', 'SSH', 'AUTH'].includes(event.category) ? 'not reported' : 'not applicable'),
|
|
18
|
+
outcome: event.outcome ?? 'unknown', process: event.binary ?? '',
|
|
19
|
+
action: [known ? '' : program, event.method || event.action].filter(Boolean).join(' · ') || 'Not reported',
|
|
20
|
+
destination: event.destination ?? '', policy: event.policy ?? '',
|
|
21
|
+
session: event.sessionId ?? '', correlation: event.correlationId ?? '',
|
|
22
|
+
why: REASONS[event.reason] ?? event.reason ?? '',
|
|
23
|
+
}
|
|
24
|
+
return { event, agent, key: activityKey(event), values, timestamp: Date.parse(event.at), search: [...Object.values(values), event.message, event.detail, event.source, event.target, JSON.stringify(event.original?.fields ?? event.original?.metadata ?? {})].join(' ').toLowerCase() }
|
|
25
|
+
}
|
|
26
|
+
export function filterActivity(rows, { query = '', direction = 'all', sandboxes = [], verdicts = [], agents = [], filters = {}, range = 'all', from = '', to = '', now = Date.now(), sort = { key: 'time', direction: 'desc' } } = {}) {
|
|
27
|
+
const names = new Set(sandboxes)
|
|
28
|
+
const q = query.trim().toLowerCase()
|
|
29
|
+
const start = range === 'custom' ? (from ? Date.parse(from) : -Infinity) : range === 'all' ? -Infinity : now - Number(range) * 60000
|
|
30
|
+
const end = range === 'custom' && to ? Date.parse(to) : Infinity
|
|
31
|
+
return rows.filter((r) => {
|
|
32
|
+
if (direction !== 'all' && r.values.direction !== direction) return false
|
|
33
|
+
if (names.size && !names.has(r.values.sandbox)) return false
|
|
34
|
+
if (agents.length && !agents.includes(r.values.agent)) return false
|
|
35
|
+
if (verdicts.length && !verdicts.includes(r.values.verdict)) return false
|
|
36
|
+
if (q && !r.search.includes(q)) return false
|
|
37
|
+
if (range !== 'all' && (!Number.isFinite(r.timestamp) || r.timestamp < start || r.timestamp > end)) return false
|
|
38
|
+
return Object.entries(filters).every(([key, f]) => !f?.value?.trim() || ((f.mode === 'equals' ? (r.values[key] ?? '').toLowerCase() === f.value.trim().toLowerCase() : (r.values[key] ?? '').toLowerCase().includes(f.value.trim().toLowerCase())) !== (f.mode === 'excludes')))
|
|
39
|
+
}).sort((a, b) => {
|
|
40
|
+
const av = sort.key === 'severity' ? (SEVERITY_RANK[a.values.severity.toUpperCase()] ?? -1) : sort.key === 'time' ? (Number.isFinite(a.timestamp) ? a.timestamp : 0) : a.values[sort.key] ?? ''
|
|
41
|
+
const bv = sort.key === 'severity' ? (SEVERITY_RANK[b.values.severity.toUpperCase()] ?? -1) : sort.key === 'time' ? (Number.isFinite(b.timestamp) ? b.timestamp : 0) : b.values[sort.key] ?? ''
|
|
42
|
+
const order = typeof av === 'number' ? av - bv : av.localeCompare(bv, undefined, { numeric: true })
|
|
43
|
+
return (sort.direction === 'asc' ? order : -order) || a.key.localeCompare(b.key)
|
|
44
|
+
})
|
|
45
|
+
}
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
export const AGENTS = [
|
|
2
|
+
{ name: "Claude Code", logo: "claudecode", commands: ["claude", "claude-code"] },
|
|
3
|
+
{ name: "Codex", logo: "codex", commands: ["codex"] },
|
|
4
|
+
{ name: "GitHub Copilot", logo: "copilot", commands: ["copilot"] },
|
|
5
|
+
{ name: "Cursor", logo: "cursor", commands: ["cursor-agent", "agent"], aliases: ["Cursor CLI"] },
|
|
6
|
+
{ name: "Gemini CLI", logo: "gemini", commands: ["gemini"] },
|
|
7
|
+
{ name: "OpenCode", logo: "opencode", commands: ["opencode"] },
|
|
8
|
+
{ name: "OpenClaw", logo: "openclaw-color", commands: ["openclaw"] },
|
|
9
|
+
{ name: "Pi", logo: "pi", commands: ["pi"] },
|
|
10
|
+
{ name: "Antigravity CLI", logo: "antigravity", commands: ["agy"], aliases: ["Antigravity"] },
|
|
11
|
+
{ name: "Kiro CLI", logo: "kiro", commands: ["kiro-cli"], aliases: ["Kiro"] },
|
|
12
|
+
{ name: "Factory Droid", logo: "factory", commands: ["droid"], aliases: ["Droid", "Factory"] },
|
|
13
|
+
{ name: "Aider", logo: "aider", commands: ["aider"] },
|
|
14
|
+
]
|
|
15
|
+
|
|
16
|
+
// A completed runtime inventory is authoritative, including an empty result.
|
|
17
|
+
// Labels and launch commands remain a fallback until a scan is available.
|
|
18
|
+
export function agentsOf(sandbox) {
|
|
19
|
+
const labels = sandbox?.labels ?? {}
|
|
20
|
+
const metadata = labels["openshell.console/agents"] || labels["openshell.console/agent"]
|
|
21
|
+
const names = typeof metadata === "string" ? metadata.split(/[,\n]/).map((name) => name.trim()).filter(Boolean) : []
|
|
22
|
+
const executable = Array.isArray(sandbox?.command) ? sandbox.command[0]?.split("/").pop() : null
|
|
23
|
+
const installed = sandbox?.agentInventory?.agents
|
|
24
|
+
const explicit = names.length > 0
|
|
25
|
+
// The generic launch name "agent" needs runtime identity evidence.
|
|
26
|
+
const values = Array.isArray(installed) ? installed : explicit ? names : executable && executable !== "agent" ? [executable] : []
|
|
27
|
+
const agents = values.flatMap((value) => {
|
|
28
|
+
const known = AGENTS.find((agent) => agent.name.toLowerCase() === value.toLowerCase() || agent.commands.includes(value.toLowerCase()) || agent.aliases?.some((alias) => alias.toLowerCase() === value.toLowerCase()))
|
|
29
|
+
if (known) return [{ resources: sandbox?.agentInventory?.resources?.[known.name], name: known.name, logo: `/logos/agents/${known.logo}.svg` }]
|
|
30
|
+
return explicit ? [{ name: value, logo: null }] : []
|
|
31
|
+
})
|
|
32
|
+
return agents.filter((agent, index) => agents.findIndex((item) => item.name.toLowerCase() === agent.name.toLowerCase()) === index)
|
|
33
|
+
}
|
|
34
|
+
|
|
35
|
+
export function agentInventoryLabel(sandbox) {
|
|
36
|
+
const inventory = sandbox?.agentInventory
|
|
37
|
+
if (inventory?.status === "checked") return inventory.agents.length ? "Installed agents" : "No supported agents found"
|
|
38
|
+
if (inventory?.checkedAt) return "Last detected agents · scan unavailable"
|
|
39
|
+
if (inventory?.status === "unavailable") return "Agent scan unavailable"
|
|
40
|
+
return "Agent inventory not checked"
|
|
41
|
+
}
|
package/src/lib/api.js
ADDED
|
@@ -0,0 +1,173 @@
|
|
|
1
|
+
// Browser side of the console API. Every call is same-origin; the server
|
|
2
|
+
// holds the gateway certificate, so nothing here carries a credential.
|
|
3
|
+
|
|
4
|
+
import { computeApiPath, currentComputeTarget, currentCloudOwner } from './compute-target.js'
|
|
5
|
+
|
|
6
|
+
// The local server answers 401 with this code until the browser opens the
|
|
7
|
+
// tokened link that `openrod` prints; the app then shows how to get back in.
|
|
8
|
+
export const LINK_REQUIRED = 'CONSOLE_TOKEN_REQUIRED'
|
|
9
|
+
|
|
10
|
+
export function createApi(target, signal, locationContext = null, boundOwner = currentCloudOwner()) {
|
|
11
|
+
const selected = () => target ?? currentComputeTarget()
|
|
12
|
+
const owner = boundOwner
|
|
13
|
+
let binding, loadingBinding
|
|
14
|
+
const path = suffix => computeApiPath(selected(), suffix)
|
|
15
|
+
const requestSignal = extra => signal && extra ? AbortSignal.any([signal, extra]) : signal ?? extra
|
|
16
|
+
async function loadContext() {
|
|
17
|
+
signal?.throwIfAborted()
|
|
18
|
+
const response = await fetch(path('/context'), { signal, headers: selected() === 'cloud' && owner ? { 'x-openrod-local-owner': owner } : undefined })
|
|
19
|
+
const context = await response.json()
|
|
20
|
+
signal?.throwIfAborted()
|
|
21
|
+
if (context.code === LINK_REQUIRED) window.dispatchEvent(new Event(LINK_REQUIRED))
|
|
22
|
+
else if (response.status === 401 || context.code === 'CLOUD_OWNER_CHANGED') window.dispatchEvent(new Event('openrod-session-expired'))
|
|
23
|
+
if (!response.ok) throw new Error(context.error ?? 'Could not read gateway registrations.')
|
|
24
|
+
binding ??= JSON.stringify([context.gateway, context.workspace])
|
|
25
|
+
return context
|
|
26
|
+
}
|
|
27
|
+
async function contextKey() {
|
|
28
|
+
signal?.throwIfAborted()
|
|
29
|
+
if (locationContext != null) return locationContext
|
|
30
|
+
if (!binding) {
|
|
31
|
+
loadingBinding ??= loadContext().finally(() => { loadingBinding = null })
|
|
32
|
+
await loadingBinding
|
|
33
|
+
}
|
|
34
|
+
return binding
|
|
35
|
+
}
|
|
36
|
+
async function request(suffix, { method = 'GET', body, signal: extraSignal, scoped = true, raw = false } = {}) {
|
|
37
|
+
const currentSignal = requestSignal(extraSignal)
|
|
38
|
+
currentSignal?.throwIfAborted()
|
|
39
|
+
const context = scoped ? await contextKey() : null
|
|
40
|
+
currentSignal?.throwIfAborted()
|
|
41
|
+
const response = await fetch(path(suffix), {
|
|
42
|
+
method, signal: currentSignal,
|
|
43
|
+
headers: {
|
|
44
|
+
...(selected() === 'cloud' && owner ? { 'x-openrod-local-owner': owner } : {}),
|
|
45
|
+
...(context ? { 'x-openshell-context': context } : {}),
|
|
46
|
+
...(context && locationContext ? { 'x-openshell-location': '1' } : {}),
|
|
47
|
+
...(method === 'GET' ? {} : { 'content-type': raw ? 'application/octet-stream' : 'application/json', 'x-openshell-console': '1' }),
|
|
48
|
+
},
|
|
49
|
+
body: body === undefined ? undefined : raw ? body : JSON.stringify(body),
|
|
50
|
+
})
|
|
51
|
+
const payload = await response.json().catch(() => ({}))
|
|
52
|
+
currentSignal?.throwIfAborted()
|
|
53
|
+
if (payload.code === LINK_REQUIRED) window.dispatchEvent(new Event(LINK_REQUIRED))
|
|
54
|
+
else if (response.status === 401 || payload.code === 'CLOUD_OWNER_CHANGED') window.dispatchEvent(new Event('openrod-session-expired'))
|
|
55
|
+
if (!response.ok) throw Object.assign(new Error(payload.error ?? `Request failed (${response.status})`), { code: payload.code, sandboxes: payload.sandboxes })
|
|
56
|
+
return payload
|
|
57
|
+
}
|
|
58
|
+
return {
|
|
59
|
+
target, signal, path, owner,
|
|
60
|
+
url: (suffix, params = {}) => {
|
|
61
|
+
const query = new URLSearchParams({ ...params, ...(selected() === 'cloud' && owner ? { owner } : {}) })
|
|
62
|
+
return path(suffix) + (query.size ? '?' + query : '')
|
|
63
|
+
},
|
|
64
|
+
forContext: context => createApi(target, signal, context, owner),
|
|
65
|
+
inventory: extraSignal => request('/inventory', { signal: extraSignal, scoped: false }),
|
|
66
|
+
context: loadContext,
|
|
67
|
+
contextKey,
|
|
68
|
+
connections: extraSignal => request('/connections', { signal: extraSignal, scoped: false }),
|
|
69
|
+
connectionJob: (id, extraSignal) => request(`/connections/jobs/${encodeURIComponent(id)}`, { signal: extraSignal, scoped: false }),
|
|
70
|
+
connect: body => request('/connections/connect', { method: 'POST', body }),
|
|
71
|
+
installConnectionDocker: id => request(`/connections/jobs/${encodeURIComponent(id)}/docker`, { method: 'POST', body: { approve: true } }),
|
|
72
|
+
installConnectionRuntime: id => request(`/connections/jobs/${encodeURIComponent(id)}/install`, { method: 'POST', body: { method: 'download' } }),
|
|
73
|
+
uploadConnectionPackage: (id, file) => request(`/connections/jobs/${encodeURIComponent(id)}/package`, { method: 'POST', body: file, raw: true }),
|
|
74
|
+
scanSshHost: body => request('/connections/hosts/scan', { method: 'POST', body }),
|
|
75
|
+
addSshHost: token => request('/connections/hosts', { method: 'POST', body: { token } }),
|
|
76
|
+
removeSshHost: alias => request('/connections/hosts/remove', { method: 'POST', body: { alias } }),
|
|
77
|
+
forgetRemote: () => request('/connections/forget', { method: 'POST', body: {} }),
|
|
78
|
+
disconnectRemote: () => request('/connections/disconnect', { method: 'POST', body: {} }),
|
|
79
|
+
syncLocalCatalog: () => request('/local-catalog', { method: 'POST', body: {} }),
|
|
80
|
+
setups: () => request('/setups'),
|
|
81
|
+
discoverSetups: (sources) => request('/setups/scan', { method: 'POST', body: { sources } }),
|
|
82
|
+
reviewSetup: (token, ids) => request('/setups/review', { method: 'POST', body: { token, ids } }),
|
|
83
|
+
removeSetupReviewItem: (token, item) => request('/setups/remove-review-item', { method: 'POST', body: { token, item } }),
|
|
84
|
+
prepareSetup: (token, items) => request('/setups/prepare', { method: 'POST', body: { token, items, approved: true } }),
|
|
85
|
+
prepareLaunchSetup: (id, revision) => request(`/setups/${id}/prepare-launch`, { method: 'POST', body: { revision } }),
|
|
86
|
+
prepareSavedSetup: (id) => request(`/setups/${id}/prepare`, { method: 'POST', body: {} }),
|
|
87
|
+
setupPreparation: (id) => request(`/setups/preparations/${id}`),
|
|
88
|
+
cancelSetupPreparation: (id) => request(`/setups/preparations/${id}/cancel`, { method: 'POST', body: {} }),
|
|
89
|
+
setupFile: (token, item, path) => request('/setups/file', { method: 'POST', body: { token, item, path } }),
|
|
90
|
+
saveSetup: (token, name, acknowledged) => request('/setups/save', { method: 'POST', body: { token, name, acknowledged } }),
|
|
91
|
+
deleteSetup: (id, revision) => request(`/setups/${id}/delete`, { method: 'POST', body: { revision } }),
|
|
92
|
+
deleteSetupItem: (id, item, revision) => request(`/setups/${id}/delete-item`, { method: 'POST', body: { item, revision } }),
|
|
93
|
+
previewSetup: (id, sandbox, targets) => request(`/setups/${id}/preview`, { method: 'POST', body: { sandbox, targets } }),
|
|
94
|
+
enableSetup: (id, sandbox, token, approveAccess = false) => request(`/setups/${id}/enable`, { method: 'POST', body: { sandbox, token, approveAccess } }),
|
|
95
|
+
removeSetup: (id, sandbox, token) => request(`/setups/${id}/remove`, { method: 'POST', body: { sandbox, token } }),
|
|
96
|
+
setupJobs: (id) => request(`/setups/${id}/jobs`),
|
|
97
|
+
cloudExport: (name) => request(`/cloud-export?name=${encodeURIComponent(name)}`),
|
|
98
|
+
importCloud: (bundle) => request("/cloud-import", { method: "POST", body: bundle }),
|
|
99
|
+
cloudTransfer: (name, ticket) => request("/cloud-transfer", { method: "POST", body: { name, ticket } }),
|
|
100
|
+
selectContext: (body) => request("/context", { method: "POST", body }),
|
|
101
|
+
previewActivityDeletion: (body) => request('/activity/delete-preview', { method: 'POST', body }),
|
|
102
|
+
deleteActivity: (token) => request('/activity/delete', { method: 'POST', body: { token } }),
|
|
103
|
+
activityDestinations: () => request('/activity-destinations'),
|
|
104
|
+
createActivityDestination: (body) => request('/activity-destinations', { method: 'POST', body }),
|
|
105
|
+
activityDestinationAction: (id, action) => request(`/activity-destinations/${encodeURIComponent(id)}/${action}`, { method: 'POST', body: {} }),
|
|
106
|
+
overview: () => request("/overview"),
|
|
107
|
+
sandbox: (name) => request(`/sandboxes/${encodeURIComponent(name)}`),
|
|
108
|
+
activity: (options = {}) => request(`/activity?query=${encodeURIComponent(JSON.stringify(options))}`),
|
|
109
|
+
create: (spec) => request("/sandboxes", { method: "POST", body: spec }),
|
|
110
|
+
sshConnection: (name) => request(`/sandboxes/${encodeURIComponent(name)}/ssh`),
|
|
111
|
+
openSshTerminal: (name, mode) => request(`/sandboxes/${encodeURIComponent(name)}/ssh-open`, { method: "POST", body: { mode } }),
|
|
112
|
+
sshConfig: (name) => request(`/sandboxes/${encodeURIComponent(name)}/ssh-config`, { method: "POST", body: {} }),
|
|
113
|
+
terminalSession: (name, body) => request(`/sandboxes/${encodeURIComponent(name)}/terminal-session`, { method: "POST", body }),
|
|
114
|
+
lifecycle: (name, action) => request(`/sandboxes/${encodeURIComponent(name)}/${action}`, { method: "POST", body: {} }),
|
|
115
|
+
editors: () => request("/editors"),
|
|
116
|
+
openEditor: (name, editor) => request(`/sandboxes/${encodeURIComponent(name)}/editor`, { method: "POST", body: { editor } }),
|
|
117
|
+
|
|
118
|
+
// Policy center
|
|
119
|
+
fleetPolicy: () => request("/policy/fleet"),
|
|
120
|
+
policy: (sandbox) => request(`/policy/${encodeURIComponent(sandbox)}`),
|
|
121
|
+
revision: (sandbox, version) => request(`/policy/${encodeURIComponent(sandbox)}/revisions/${version}`),
|
|
122
|
+
applyOps: (sandbox, ops) => request(`/policy/${encodeURIComponent(sandbox)}/ops`, { method: "POST", body: { ops } }),
|
|
123
|
+
restore: (sandbox, version) => request(`/policy/${encodeURIComponent(sandbox)}/restore`, { method: "POST", body: { version } }),
|
|
124
|
+
globalPolicy: () => request("/policy/global"),
|
|
125
|
+
removeGlobal: () => request("/policy/global/remove", { method: "POST", body: {} }),
|
|
126
|
+
settings: (sandbox) => request(`/settings${sandbox ? `/${encodeURIComponent(sandbox)}` : ""}`),
|
|
127
|
+
setSetting: (body) => request("/settings", { method: "POST", body }),
|
|
128
|
+
secrets: () => request("/secrets"),
|
|
129
|
+
createSecret: (body) => request("/secrets", { method: "POST", body }),
|
|
130
|
+
rotateSecret: (name, credentials) => request(`/secrets/${encodeURIComponent(name)}/rotate`, { method: "POST", body: { credentials } }),
|
|
131
|
+
secretExpiry: (name, key, expiresAt) => request(`/secrets/${encodeURIComponent(name)}/expiry`, { method: "POST", body: { key, expiresAt } }),
|
|
132
|
+
deleteSecret: (name) => request(`/secrets/${encodeURIComponent(name)}/delete`, { method: "POST", body: {} }),
|
|
133
|
+
attachSecret: (name, sandbox, attach) => request(`/secrets/${encodeURIComponent(name)}/${attach ? "attach" : "detach"}`, { method: "POST", body: { sandbox } }),
|
|
134
|
+
importProfile: (id) => request("/profiles/import", { method: "POST", body: { id } }),
|
|
135
|
+
deleteTemplates: (ids) => request("/templates/delete", { method: "POST", body: { ids } }),
|
|
136
|
+
templates: () => request("/templates"),
|
|
137
|
+
imageTemplates: () => request("/image-templates"),
|
|
138
|
+
localImages: () => request("/image-templates/local-images"),
|
|
139
|
+
buildImageTemplate: (recipe, replace = false) => request("/image-templates", { method: "POST", body: { recipe, replace } }),
|
|
140
|
+
cancelImageBuild: (name) => request(`/image-templates/${encodeURIComponent(name)}/cancel`, { method: "POST", body: {} }),
|
|
141
|
+
dismissImageBuild: (name) => request(`/image-templates/${encodeURIComponent(name)}/dismiss`, { method: "POST", body: {} }),
|
|
142
|
+
imageTemplateUsage: (name) => request(`/image-templates/${encodeURIComponent(name)}/usage`),
|
|
143
|
+
deleteImageTemplate: (name) => request(`/image-templates/${encodeURIComponent(name)}/delete`, { method: "POST", body: {} }),
|
|
144
|
+
org: () => request("/org"),
|
|
145
|
+
saveOrg: (org) => request("/org", { method: "POST", body: org }),
|
|
146
|
+
saveGroup: (group) => request("/org/groups", { method: "POST", body: group }),
|
|
147
|
+
deleteGroup: (id) => request(`/org/groups/${encodeURIComponent(id)}/delete`, { method: "POST", body: {} }),
|
|
148
|
+
setGroupMembers: (sandboxes, groups, mode = "replace") => request("/org/members", { method: "POST", body: { sandboxes, groups, mode } }),
|
|
149
|
+
savePolicy: (policy) => request("/egress/policies", { method: "POST", body: policy }),
|
|
150
|
+
deletePolicy: (id) => request(`/egress/policies/${encodeURIComponent(id)}/delete`, { method: "POST", body: {} }),
|
|
151
|
+
saveTemplate: (template) => request("/templates", { method: "POST", body: template }),
|
|
152
|
+
deleteTemplate: (id) => request(`/templates/${encodeURIComponent(id)}/delete`, { method: "POST", body: {} }),
|
|
153
|
+
|
|
154
|
+
// Files
|
|
155
|
+
localFolder: (path) => request("/local-folder", { method: "POST", body: { path } }),
|
|
156
|
+
files: (sandbox, path) => request(`/files/${encodeURIComponent(sandbox)}?path=${encodeURIComponent(path)}`),
|
|
157
|
+
seed: (sandbox) => request(`/files/${encodeURIComponent(sandbox)}/seed`),
|
|
158
|
+
retrySeed: (sandbox) => request(`/files/${encodeURIComponent(sandbox)}/seed/retry`, { method: "POST", body: {} }),
|
|
159
|
+
prepareDownload: (sandbox, path) => request(`/files/${encodeURIComponent(sandbox)}/download`, { method: "POST", body: { path } }),
|
|
160
|
+
startUpload: (sandbox) => request(`/files/${encodeURIComponent(sandbox)}/uploads`, { method: "POST", body: {} }),
|
|
161
|
+
uploadFile: (sandbox, id, filePath, file, uploadSignal) => request(`/files/${encodeURIComponent(sandbox)}/uploads/${id}?path=${encodeURIComponent(filePath)}`, { method: 'POST', body: file, raw: true, signal: uploadSignal }),
|
|
162
|
+
commitUpload: (sandbox, id, dir) => request(`/files/${encodeURIComponent(sandbox)}/uploads/${id}/commit`, { method: "POST", body: { dir } }),
|
|
163
|
+
cancelUpload: (sandbox, id) => request(`/files/${encodeURIComponent(sandbox)}/uploads/${id}/cancel`, { method: "POST", body: {} }),
|
|
164
|
+
|
|
165
|
+
// Ingress
|
|
166
|
+
ingress: () => request("/ingress"),
|
|
167
|
+
exposeService: (body) => request("/ingress/expose", { method: "POST", body }),
|
|
168
|
+
closeService: (service) => request("/ingress/close", { method: "POST", body: { sandbox: service.sandbox, name: service.name } }),
|
|
169
|
+
extendService: (service, closeAfterMinutes) => request("/ingress/extend", { method: "POST", body: { sandbox: service.sandbox, name: service.name, closeAfterMinutes } }),
|
|
170
|
+
}
|
|
171
|
+
}
|
|
172
|
+
|
|
173
|
+
export const api = createApi()
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
export function cloudHandoff(hash) {
|
|
2
|
+
try {
|
|
3
|
+
if(!hash.startsWith('#handoff='))return null
|
|
4
|
+
const value=JSON.parse(atob(hash.slice(9).replaceAll('-','+').replaceAll('_','/')))
|
|
5
|
+
const origin=new URL(value.origin)
|
|
6
|
+
if(origin.origin!==value.origin||origin.protocol!=='http:'||!['localhost','127.0.0.1','[::1]'].includes(origin.hostname)||!/^\d{1,5}$/.test(origin.port)||!/^[a-f0-9-]{36}$/.test(value.nonce))return null
|
|
7
|
+
return {origin:origin.origin,nonce:value.nonce}
|
|
8
|
+
}catch{return null}
|
|
9
|
+
}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
/* global __OPENROD_CLOUD_ORIGIN__ */
|
|
2
|
+
// Set at build time from OPENROD_CLOUD_ORIGIN; unset keeps every cloud action disabled.
|
|
3
|
+
const configured = typeof __OPENROD_CLOUD_ORIGIN__ === 'string' ? __OPENROD_CLOUD_ORIGIN__ : ''
|
|
4
|
+
export const CLOUD_ORIGIN = /^https:\/\/[a-z0-9.-]+(:\d+)?$/i.test(configured) ? configured : ''
|
|
5
|
+
export const CLOUD_AVAILABLE = Boolean(CLOUD_ORIGIN)
|
|
6
|
+
export const CLOUD_SOON = "Cloud is coming soon. We're still working on it."
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import { CLOUD_ORIGIN } from './cloud-origin.js'
|
|
2
|
+
export { CLOUD_ORIGIN }
|
|
3
|
+
|
|
4
|
+
export function cloudHandoffUrl(origin, nonce, cloud = CLOUD_ORIGIN) {
|
|
5
|
+
if (!cloud) throw new Error('Cloud is coming soon.')
|
|
6
|
+
const encoded = btoa(JSON.stringify({ origin, nonce })).replaceAll('+', '-').replaceAll('/', '_').replace(/=+$/, '')
|
|
7
|
+
return `${cloud}/?handoff=1#handoff=${encoded}`
|
|
8
|
+
}
|
|
9
|
+
|
|
10
|
+
export function isCloudReadyMessage(event, popup, nonce, cloud = CLOUD_ORIGIN) {
|
|
11
|
+
return Boolean(cloud && popup && event.source === popup && event.origin === cloud
|
|
12
|
+
&& event.data?.type === 'openrod-cloud-ready' && event.data.nonce === nonce
|
|
13
|
+
&& typeof event.data.ticket === 'string' && /^openrod-user-[a-f0-9]{24}\.[a-f0-9]{64}$/.test(event.data.ticket))
|
|
14
|
+
}
|
|
15
|
+
|
|
16
|
+
export const LOCAL_ORIGIN = 'http://127.0.0.1:4600'
|
|
17
|
+
export const localHandoffUrl = (nonce) => `${LOCAL_ORIGIN}/?handoff=cloud&target=local#cloud-return=${encodeURIComponent(nonce)}`
|
|
18
|
+
|
|
19
|
+
export function isLocalHandoffMessage(event, popup, nonce, type) {
|
|
20
|
+
return Boolean(popup && event.source === popup && event.origin === LOCAL_ORIGIN
|
|
21
|
+
&& event.data?.type === type && event.data.nonce === nonce)
|
|
22
|
+
}
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
export const COMPUTE_KEY = 'openrod.compute-target'
|
|
2
|
+
export function initialComputeTarget(url, storage) {
|
|
3
|
+
const location = new URL(url)
|
|
4
|
+
if (location.hash.startsWith('#cloud-return=')) return 'local'
|
|
5
|
+
const pin = location.searchParams.get('target')
|
|
6
|
+
if (pin === 'local' || pin === 'cloud') return pin
|
|
7
|
+
try { return storage?.getItem(COMPUTE_KEY) === 'cloud' ? 'cloud' : 'local' } catch { return 'local' }
|
|
8
|
+
}
|
|
9
|
+
export function computeApiPath(target, path) {
|
|
10
|
+
if (!['local', 'cloud'].includes(target)) throw new Error('Unknown compute target')
|
|
11
|
+
return `${target === 'cloud' ? '/api/remote/os' : '/api/os'}${path}`
|
|
12
|
+
}
|
|
13
|
+
let target = 'local'
|
|
14
|
+
export const currentComputeTarget = () => target
|
|
15
|
+
export function setComputeTarget(value) {
|
|
16
|
+
if (!['local', 'cloud'].includes(value)) throw new Error('Unknown compute target')
|
|
17
|
+
target = value
|
|
18
|
+
}
|
|
19
|
+
export const computeStorageKey = (key, selected = currentComputeTarget()) => `${key}:${selected}`
|
|
20
|
+
export function pendingComputeRecipe(key, storage, selected = currentComputeTarget()) {
|
|
21
|
+
try {
|
|
22
|
+
const saved = JSON.parse(storage.getItem(computeStorageKey(key, selected)) ?? (selected === 'local' ? storage.getItem(key) : null))
|
|
23
|
+
return saved?.recipe && typeof saved.recipe.name === 'string' ? saved : null
|
|
24
|
+
} catch { return null }
|
|
25
|
+
}
|
|
26
|
+
export function saveComputeRecipe(key, value, storage, selected = currentComputeTarget()) {
|
|
27
|
+
storage.setItem(computeStorageKey(key, selected), JSON.stringify(value))
|
|
28
|
+
if (selected === 'local') storage.removeItem(key)
|
|
29
|
+
}
|
|
30
|
+
export function clearComputeRecipe(key, storage, selected = currentComputeTarget()) {
|
|
31
|
+
storage.removeItem(computeStorageKey(key, selected))
|
|
32
|
+
if (selected === 'local') storage.removeItem(key)
|
|
33
|
+
}
|
|
34
|
+
|
|
35
|
+
// First sign-in can complete an already-open cloud copy dialog. Retire its
|
|
36
|
+
// session only when an existing authenticated owner leaves or is replaced.
|
|
37
|
+
export function advanceComputeOwner(previous, uid) {
|
|
38
|
+
const next = uid ?? null
|
|
39
|
+
return { uid: next, revision: previous.revision + (previous.uid && previous.uid !== next ? 1 : 0) }
|
|
40
|
+
}
|
|
41
|
+
|
|
42
|
+
let cloudOwner = null
|
|
43
|
+
export const currentCloudOwner = () => cloudOwner
|
|
44
|
+
export function setCloudOwner(value) {
|
|
45
|
+
cloudOwner = typeof value === 'string' && /^[a-f0-9]{16}$/.test(value) ? value : null
|
|
46
|
+
}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
// Sequential requests let each deletion see the preceding policy change,
|
|
2
|
+
// including the server's protection for a sandbox's last inherited network rule.
|
|
3
|
+
export async function deleteNetworkPolicies(policies, remove) {
|
|
4
|
+
const deleted = [], failed = [], syncFailures = []
|
|
5
|
+
for (const policy of policies) {
|
|
6
|
+
try {
|
|
7
|
+
const result = await remove(policy.id)
|
|
8
|
+
deleted.push(policy.id)
|
|
9
|
+
for (const failure of result.failed ?? []) syncFailures.push({ ...failure, rule: policy.name })
|
|
10
|
+
} catch (error) {
|
|
11
|
+
failed.push({ id: policy.id, name: policy.name, message: error.message })
|
|
12
|
+
}
|
|
13
|
+
}
|
|
14
|
+
return { deleted, failed, syncFailures }
|
|
15
|
+
}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
// Scope every displayed value to the sandboxes in this group. A destination
|
|
2
|
+
// shared by two groups can have different access, sources, ports and traffic.
|
|
3
|
+
export function groupDestinations(destinations, query = "", sourceFilter = "all") {
|
|
4
|
+
const needle = query.trim().toLowerCase()
|
|
5
|
+
const groups = new Map()
|
|
6
|
+
for (const destination of destinations) {
|
|
7
|
+
for (const group of destination.groups) {
|
|
8
|
+
const grants = destination.grants.filter((grant) => grant.groupId === group.id)
|
|
9
|
+
const sources = new Set(grants.map((grant) => grant.source))
|
|
10
|
+
if (sourceFilter !== "all" && !sources.has(sourceFilter)) continue
|
|
11
|
+
if (needle && ![destination.host, group.name, ...grants.flatMap((grant) => [grant.sandbox, grant.key])].join(" ").toLowerCase().includes(needle)) continue
|
|
12
|
+
const sandboxes = new Set(grants.map((grant) => grant.sandbox))
|
|
13
|
+
const scoped = {
|
|
14
|
+
...destination, groups: [group], grants, sandboxes, sources,
|
|
15
|
+
access: new Set(grants.flatMap((grant) => grant.access)),
|
|
16
|
+
ports: new Set(grants.flatMap((grant) => grant.ports)),
|
|
17
|
+
hits: [...sandboxes].reduce((sum, name) => sum + (destination.hitsBySandbox.get(name) ?? 0), 0),
|
|
18
|
+
}
|
|
19
|
+
if (!groups.has(group.id)) groups.set(group.id, { ...group, destinations: [] })
|
|
20
|
+
groups.get(group.id).destinations.push(scoped)
|
|
21
|
+
}
|
|
22
|
+
}
|
|
23
|
+
return [...groups.values()].sort((a, b) => a.id === null ? 1 : b.id === null ? -1 : a.name.localeCompare(b.name))
|
|
24
|
+
}
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
import { groupIds } from "../../shared/group-membership.js"
|
|
2
|
+
|
|
3
|
+
// Network rule helpers shared by the server (server/egress.js, server/org.js)
|
|
4
|
+
// and the Network page, so coverage shown in the browser matches what the
|
|
5
|
+
// server writes into each sandbox.
|
|
6
|
+
|
|
7
|
+
// A policy reaches every sandbox, the sandboxes in its groups, named ones, or
|
|
8
|
+
// the sandboxes that use one of its MCPs & Skills setups.
|
|
9
|
+
export const appliesTo = (policy, sandbox) => policy.appliesTo.everyone
|
|
10
|
+
|| groupIds(sandbox.groups ?? sandbox.group).some((id) => policy.appliesTo.groups.includes(id))
|
|
11
|
+
|| policy.appliesTo.sandboxes.includes(sandbox.name)
|
|
12
|
+
|| (policy.appliesTo.setups ?? []).some((id) => (sandbox.setups ?? []).includes(id))
|
|
13
|
+
|
|
14
|
+
// Blocking example.com also blocks its subdomains. OpenShell rejects `**.com`,
|
|
15
|
+
// so a bare top-level name stays exact.
|
|
16
|
+
export const blockHosts = (host) => (host.startsWith("*") || !host.includes(".") ? [host] : [host, `**.${host}`])
|
|
17
|
+
export const blockPatterns = (hosts) => hosts.flatMap(blockHosts)
|
|
18
|
+
|
|
19
|
+
// `*.a.com` is one label deep, `**.a.com` any depth; otherwise exact.
|
|
20
|
+
export function hostMatches(pattern, host) {
|
|
21
|
+
host = String(host ?? "").toLowerCase()
|
|
22
|
+
if (pattern.startsWith("**.")) return host.endsWith(pattern.slice(2))
|
|
23
|
+
if (pattern.startsWith("*.")) {
|
|
24
|
+
const rest = pattern.slice(1)
|
|
25
|
+
return host.endsWith(rest) && !host.slice(0, -rest.length).includes(".") && host.length > rest.length
|
|
26
|
+
}
|
|
27
|
+
return host === pattern
|
|
28
|
+
}
|
package/src/lib/files.js
ADDED
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
// Shared by the Files tab, New sandbox and the server's file routes.
|
|
2
|
+
|
|
3
|
+
export const SANDBOX_ROOT = "/sandbox"
|
|
4
|
+
// One transfer, either way. The microVM disk is about 4 GB in total.
|
|
5
|
+
export const TRANSFER_LIMIT = 1024 ** 3
|
|
6
|
+
|
|
7
|
+
export function formatBytes(bytes) {
|
|
8
|
+
if (bytes == null || !Number.isFinite(bytes)) return "-"
|
|
9
|
+
if (bytes < 1024) return `${bytes} B`
|
|
10
|
+
const units = ["KB", "MB", "GB", "TB"]
|
|
11
|
+
let value = bytes / 1024
|
|
12
|
+
let unit = 0
|
|
13
|
+
while (value >= 1024 && unit < units.length - 1) { value /= 1024; unit++ }
|
|
14
|
+
return `${value >= 10 ? Math.round(value) : value.toFixed(1)} ${units[unit]}`
|
|
15
|
+
}
|
|
16
|
+
|
|
17
|
+
export function shellQuote(value) {
|
|
18
|
+
return /^[\w@%+=:,./~-]+$/.test(value) ? value : `'${value.replaceAll("'", "'\\''")}'`
|
|
19
|
+
}
|
|
20
|
+
|
|
21
|
+
// The same transfers from a terminal. A leading ~/ stays unquoted so the shell expands it.
|
|
22
|
+
const localArg = (local) => (local.startsWith("~/") ? `~/${shellQuote(local.slice(2))}` : shellQuote(local))
|
|
23
|
+
export const uploadCommand = (sandbox, local, dest = SANDBOX_ROOT) => `openshell sandbox upload ${shellQuote(sandbox)} ${localArg(local)} ${shellQuote(dest)}`
|
|
24
|
+
export const downloadCommand = (sandbox, remote, local = ".") => `openshell sandbox download ${shellQuote(sandbox)} ${shellQuote(remote)} ${localArg(local)}`
|
package/src/lib/fleet.js
ADDED
|
@@ -0,0 +1,100 @@
|
|
|
1
|
+
// What the gateway's proxy has decided, folded per sandbox and per host. Built
|
|
2
|
+
// from the live audit buffer (the most recent decisions, not all of history),
|
|
3
|
+
// so counts are "lately", and a sandbox with no entry has simply been quiet.
|
|
4
|
+
import { hostOf } from "./policy-sources.js"
|
|
5
|
+
export { hostOf }
|
|
6
|
+
const isIp = (host) => /^\d+\.\d+\.\d+\.\d+$/.test(host)
|
|
7
|
+
|
|
8
|
+
export function foldTraffic(events) {
|
|
9
|
+
const bySandbox = new Map()
|
|
10
|
+
const byHost = new Map()
|
|
11
|
+
let allowed = 0, denied = 0
|
|
12
|
+
for (const e of events) {
|
|
13
|
+
if (e.kind !== "audit" || !e.verdict) continue
|
|
14
|
+
const verdict = e.verdict === "allowed" ? "allowed" : "denied"
|
|
15
|
+
verdict === "allowed" ? allowed++ : denied++
|
|
16
|
+
let box = bySandbox.get(e.sandbox)
|
|
17
|
+
if (!box) bySandbox.set(e.sandbox, (box = { allowed: 0, denied: 0, hosts: new Map(), last: e.at }))
|
|
18
|
+
box[verdict] += 1
|
|
19
|
+
const host = hostOf(e.destination)
|
|
20
|
+
if (!host || isIp(host)) continue
|
|
21
|
+
const perBox = box.hosts.get(host) ?? { allowed: 0, denied: 0 }
|
|
22
|
+
perBox[verdict] += 1
|
|
23
|
+
box.hosts.set(host, perBox)
|
|
24
|
+
let entry = byHost.get(host)
|
|
25
|
+
if (!entry) byHost.set(host, (entry = { host, allowed: 0, denied: 0, sandboxes: new Set() }))
|
|
26
|
+
entry[verdict] += 1
|
|
27
|
+
entry.sandboxes.add(e.sandbox)
|
|
28
|
+
}
|
|
29
|
+
const hosts = [...byHost.values()].sort((a, b) => (b.allowed + b.denied) - (a.allowed + a.denied) || a.host.localeCompare(b.host))
|
|
30
|
+
return { bySandbox, hosts, allowed, denied }
|
|
31
|
+
}
|
|
32
|
+
|
|
33
|
+
export const rankHosts = (hosts) => [...hosts].map(([host, n]) => ({ host, ...n })).sort((a, b) => (b.allowed + b.denied) - (a.allowed + a.denied))
|
|
34
|
+
|
|
35
|
+
// ---- development only: a synthetic fleet, to see the page at scale ----------
|
|
36
|
+
// Opened with `?fleet=10000`. Never reached in a production build.
|
|
37
|
+
|
|
38
|
+
const IMAGES = ["claude-sandbox:latest", "codex-sandbox:1.4", "python:3.12-slim", "node:22-alpine", "gateway default", "rust-agent:0.9", "browser-use:2"]
|
|
39
|
+
const GROUPS = ["coding-agents", "research", "evals", "support-bots", "data-pipelines", null]
|
|
40
|
+
const PROVIDERS = [["my-claude"], ["openai-prod"], ["my-claude", "github"], [], ["github"]]
|
|
41
|
+
const HOSTS = ["api.anthropic.com", "api.openai.com", "github.com", "pypi.org", "registry.npmjs.org", "files.pythonhosted.org", "objects.githubusercontent.com", "huggingface.co", "sentry.io", "api.stripe.com", "pastebin.com", "ngrok.io", "s3.amazonaws.com"]
|
|
42
|
+
const SUSPECT = new Set(["pastebin.com", "ngrok.io", "api.stripe.com"])
|
|
43
|
+
const PHASES = [["ready", 0.78], ["stopped", 0.12], ["provisioning", 0.04], ["completed", 0.035], ["error", 0.025]]
|
|
44
|
+
|
|
45
|
+
function seeded(seed) {
|
|
46
|
+
let s = seed >>> 0
|
|
47
|
+
return () => ((s = (s * 1664525 + 1013904223) >>> 0) / 2 ** 32)
|
|
48
|
+
}
|
|
49
|
+
const pick = (rand, list) => list[Math.floor(rand() * list.length)]
|
|
50
|
+
function pickPhase(rand) {
|
|
51
|
+
let r = rand()
|
|
52
|
+
for (const [phase, p] of PHASES) { if ((r -= p) <= 0) return phase }
|
|
53
|
+
return "ready"
|
|
54
|
+
}
|
|
55
|
+
|
|
56
|
+
export function demoFleet(size) {
|
|
57
|
+
const rand = seeded(7)
|
|
58
|
+
const now = Date.now()
|
|
59
|
+
return Array.from({ length: size }, (_, i) => {
|
|
60
|
+
const group = pick(rand, GROUPS)
|
|
61
|
+
const providers = pick(rand, PROVIDERS)
|
|
62
|
+
const phase = pickPhase(rand)
|
|
63
|
+
return {
|
|
64
|
+
id: `demo-${i}`,
|
|
65
|
+
name: `${(group ?? "box").split("-")[0]}-${(i + 1).toString(36).padStart(4, "0")}`,
|
|
66
|
+
workspace: "default",
|
|
67
|
+
createdAt: new Date(now - rand() * 30 * 86400000).toISOString(),
|
|
68
|
+
phase,
|
|
69
|
+
image: pick(rand, IMAGES),
|
|
70
|
+
providers,
|
|
71
|
+
command: rand() > 0.3 ? ["claude"] : [],
|
|
72
|
+
tty: true,
|
|
73
|
+
labels: group ? { "openshell.console/group": group } : {},
|
|
74
|
+
policyVersion: 1 + Math.floor(rand() * 6),
|
|
75
|
+
conditions: [],
|
|
76
|
+
problem: phase === "error" ? "Supervisor session lost" : null,
|
|
77
|
+
}
|
|
78
|
+
})
|
|
79
|
+
}
|
|
80
|
+
|
|
81
|
+
export function demoEvent(sandboxes, rand = Math.random, at = new Date().toISOString()) {
|
|
82
|
+
const box = sandboxes[Math.floor(rand() ** 2.2 * sandboxes.length)]
|
|
83
|
+
const host = rand() < 0.08 ? pick(rand, [...SUSPECT]) : HOSTS[Math.floor(rand() ** 1.8 * (HOSTS.length - 3))]
|
|
84
|
+
const denied = SUSPECT.has(host) ? rand() < 0.9 : rand() < 0.03
|
|
85
|
+
return {
|
|
86
|
+
sandbox: box.name, at, kind: "audit", level: "OCSF", category: "NET", action: "OPEN", severity: denied ? "MED" : "INFO",
|
|
87
|
+
verdict: denied ? "denied" : "allowed", destination: `${host}:443`, binary: "/usr/local/bin/claude",
|
|
88
|
+
reason: denied ? "policy_dns_ineligible" : null, policy: denied ? null : "_provider_my_claude",
|
|
89
|
+
message: `NET:OPEN [${denied ? "MED" : "INFO"}] ${denied ? "DENIED" : "ALLOWED"} /usr/local/bin/claude(0) -> ${host}:443 #${Math.floor(rand() * 1e9)}`,
|
|
90
|
+
detail: `/usr/local/bin/claude(0) -> ${host}:443`,
|
|
91
|
+
}
|
|
92
|
+
}
|
|
93
|
+
|
|
94
|
+
export function demoHistory(sandboxes, count = 2000) {
|
|
95
|
+
const rand = seeded(11)
|
|
96
|
+
const now = Date.now()
|
|
97
|
+
const phase = new Map(sandboxes.map((s) => [s.name, s.phase]))
|
|
98
|
+
return Array.from({ length: count }, (_, i) => demoEvent(sandboxes, rand, new Date(now - i * 1500).toISOString()))
|
|
99
|
+
.filter((e) => ["ready", "error"].includes(phase.get(e.sandbox)))
|
|
100
|
+
}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
// Relative activity ("7m ago") and session uptime ("2h") - spec §7.
|
|
2
|
+
|
|
3
|
+
export function relativeTime(iso) {
|
|
4
|
+
const minutes = Math.round((Date.now() - new Date(iso).getTime()) / 60_000)
|
|
5
|
+
if (minutes < 1) return "just now"
|
|
6
|
+
if (minutes < 60) return `${minutes}m ago`
|
|
7
|
+
const hours = Math.round(minutes / 60)
|
|
8
|
+
if (hours < 24) return `${hours}h ago`
|
|
9
|
+
return `${Math.round(hours / 24)}d ago`
|
|
10
|
+
}
|
|
11
|
+
|
|
12
|
+
export function duration(iso) {
|
|
13
|
+
if (!iso || !Number.isFinite(Date.parse(iso))) return "Not reported"
|
|
14
|
+
const minutes = Math.max(1, Math.round((Date.now() - new Date(iso).getTime()) / 60_000))
|
|
15
|
+
if (minutes < 60) return `${minutes}m`
|
|
16
|
+
const hours = Math.floor(minutes / 60)
|
|
17
|
+
if (hours < 24) return `${hours}h`
|
|
18
|
+
return `${Math.floor(hours / 24)}d`
|
|
19
|
+
}
|
|
20
|
+
|
|
21
|
+
export function absoluteTime(iso) {
|
|
22
|
+
if (!iso || !Number.isFinite(Date.parse(iso))) return "Not reported"
|
|
23
|
+
return new Intl.DateTimeFormat(undefined, { dateStyle: "medium", timeStyle: "short" }).format(new Date(iso))
|
|
24
|
+
}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import { groupIds } from "../../shared/group-membership.js"
|
|
2
|
+
import { appliesTo } from "@/lib/egress"
|
|
3
|
+
|
|
4
|
+
// Groups collect sandboxes so egress policies can follow them. Membership is
|
|
5
|
+
// stored by the console (server/org.js), so a sandbox can change groups.
|
|
6
|
+
|
|
7
|
+
export const groupId = (name) => name.toLowerCase().replace(/[^a-z0-9]+/g, "-").replace(/^-|-$/g, "").slice(0, 48).replace(/-$/, "")
|
|
8
|
+
|
|
9
|
+
// The group a sandbox is in, from the console's overview.
|
|
10
|
+
export const groupFor = (org, name) => groupIds(org?.assignments?.[name])
|
|
11
|
+
|
|
12
|
+
// The policies that reach one sandbox, whether or not it exists yet.
|
|
13
|
+
export const policiesFor = (policies, sandbox) => (policies ?? []).filter((p) => appliesTo(p, sandbox))
|
|
14
|
+
|
|
15
|
+
// The policies aimed at a group itself, not at every sandbox.
|
|
16
|
+
export const groupPolicies = (policies, id) => (policies ?? []).filter((p) => !p.appliesTo.everyone && p.appliesTo.groups.includes(id))
|