@amodalai/core 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 +21 -0
- package/dist/.last_build +0 -0
- package/dist/src/amodal-config.d.ts +194 -0
- package/dist/src/amodal-config.js +326 -0
- package/dist/src/amodal-config.js.map +1 -0
- package/dist/src/audit/audit-logger.d.ts +52 -0
- package/dist/src/audit/audit-logger.js +137 -0
- package/dist/src/audit/audit-logger.js.map +1 -0
- package/dist/src/audit/audit-outputs.d.ts +34 -0
- package/dist/src/audit/audit-outputs.js +73 -0
- package/dist/src/audit/audit-outputs.js.map +1 -0
- package/dist/src/audit/audit-redact.d.ts +14 -0
- package/dist/src/audit/audit-redact.js +55 -0
- package/dist/src/audit/audit-redact.js.map +1 -0
- package/dist/src/audit/audit-types.d.ts +122 -0
- package/dist/src/audit/audit-types.js +64 -0
- package/dist/src/audit/audit-types.js.map +1 -0
- package/dist/src/audit/index.d.ts +10 -0
- package/dist/src/audit/index.js +10 -0
- package/dist/src/audit/index.js.map +1 -0
- package/dist/src/eval/eval-cost.d.ts +33 -0
- package/dist/src/eval/eval-cost.js +73 -0
- package/dist/src/eval/eval-cost.js.map +1 -0
- package/dist/src/eval/eval-diff.d.ts +11 -0
- package/dist/src/eval/eval-diff.js +97 -0
- package/dist/src/eval/eval-diff.js.map +1 -0
- package/dist/src/eval/eval-formatter.d.ts +23 -0
- package/dist/src/eval/eval-formatter.js +221 -0
- package/dist/src/eval/eval-formatter.js.map +1 -0
- package/dist/src/eval/eval-judge.d.ts +26 -0
- package/dist/src/eval/eval-judge.js +76 -0
- package/dist/src/eval/eval-judge.js.map +1 -0
- package/dist/src/eval/eval-run-builder.d.ts +25 -0
- package/dist/src/eval/eval-run-builder.js +78 -0
- package/dist/src/eval/eval-run-builder.js.map +1 -0
- package/dist/src/eval/eval-runner.d.ts +36 -0
- package/dist/src/eval/eval-runner.js +92 -0
- package/dist/src/eval/eval-runner.js.map +1 -0
- package/dist/src/eval/eval-session-provider.d.ts +40 -0
- package/dist/src/eval/eval-session-provider.js +46 -0
- package/dist/src/eval/eval-session-provider.js.map +1 -0
- package/dist/src/eval/eval-types.d.ts +146 -0
- package/dist/src/eval/eval-types.js +7 -0
- package/dist/src/eval/eval-types.js.map +1 -0
- package/dist/src/eval/experiment-runner.d.ts +16 -0
- package/dist/src/eval/experiment-runner.js +73 -0
- package/dist/src/eval/experiment-runner.js.map +1 -0
- package/dist/src/eval/experiment-types.d.ts +56 -0
- package/dist/src/eval/experiment-types.js +7 -0
- package/dist/src/eval/experiment-types.js.map +1 -0
- package/dist/src/eval/index.d.ts +22 -0
- package/dist/src/eval/index.js +18 -0
- package/dist/src/eval/index.js.map +1 -0
- package/dist/src/eval/multi-model-runner.d.ts +42 -0
- package/dist/src/eval/multi-model-runner.js +70 -0
- package/dist/src/eval/multi-model-runner.js.map +1 -0
- package/dist/src/eval/platform-eval-client.d.ts +105 -0
- package/dist/src/eval/platform-eval-client.js +155 -0
- package/dist/src/eval/platform-eval-client.js.map +1 -0
- package/dist/src/index.d.ts +41 -0
- package/dist/src/index.js +68 -0
- package/dist/src/index.js.map +1 -0
- package/dist/src/knowledge/index.d.ts +11 -0
- package/dist/src/knowledge/index.js +12 -0
- package/dist/src/knowledge/index.js.map +1 -0
- package/dist/src/knowledge/kb-formatter.d.ts +15 -0
- package/dist/src/knowledge/kb-formatter.js +78 -0
- package/dist/src/knowledge/kb-formatter.js.map +1 -0
- package/dist/src/knowledge/kb-index.d.ts +27 -0
- package/dist/src/knowledge/kb-index.js +66 -0
- package/dist/src/knowledge/kb-index.js.map +1 -0
- package/dist/src/knowledge/kb-types.d.ts +54 -0
- package/dist/src/knowledge/kb-types.js +7 -0
- package/dist/src/knowledge/kb-types.js.map +1 -0
- package/dist/src/knowledge/knowledge-store.d.ts +56 -0
- package/dist/src/knowledge/knowledge-store.js +141 -0
- package/dist/src/knowledge/knowledge-store.js.map +1 -0
- package/dist/src/knowledge/load-knowledge.d.ts +30 -0
- package/dist/src/knowledge/load-knowledge.js +161 -0
- package/dist/src/knowledge/load-knowledge.js.map +1 -0
- package/dist/src/knowledge/propose-kb-update.d.ts +32 -0
- package/dist/src/knowledge/propose-kb-update.js +148 -0
- package/dist/src/knowledge/propose-kb-update.js.map +1 -0
- package/dist/src/knowledge/propose-knowledge.d.ts +34 -0
- package/dist/src/knowledge/propose-knowledge.js +163 -0
- package/dist/src/knowledge/propose-knowledge.js.map +1 -0
- package/dist/src/mcp/index.d.ts +7 -0
- package/dist/src/mcp/index.js +7 -0
- package/dist/src/mcp/index.js.map +1 -0
- package/dist/src/mcp/mcp-manager.d.ts +96 -0
- package/dist/src/mcp/mcp-manager.js +192 -0
- package/dist/src/mcp/mcp-manager.js.map +1 -0
- package/dist/src/packages/config-deps.d.ts +20 -0
- package/dist/src/packages/config-deps.js +77 -0
- package/dist/src/packages/config-deps.js.map +1 -0
- package/dist/src/packages/env-file.d.ts +28 -0
- package/dist/src/packages/env-file.js +143 -0
- package/dist/src/packages/env-file.js.map +1 -0
- package/dist/src/packages/frontmatter.d.ts +28 -0
- package/dist/src/packages/frontmatter.js +77 -0
- package/dist/src/packages/frontmatter.js.map +1 -0
- package/dist/src/packages/index.d.ts +16 -0
- package/dist/src/packages/index.js +17 -0
- package/dist/src/packages/index.js.map +1 -0
- package/dist/src/packages/lock-file.d.ts +35 -0
- package/dist/src/packages/lock-file.js +117 -0
- package/dist/src/packages/lock-file.js.map +1 -0
- package/dist/src/packages/manifest-reader.d.ts +19 -0
- package/dist/src/packages/manifest-reader.js +91 -0
- package/dist/src/packages/manifest-reader.js.map +1 -0
- package/dist/src/packages/merge-engine.d.ts +63 -0
- package/dist/src/packages/merge-engine.js +357 -0
- package/dist/src/packages/merge-engine.js.map +1 -0
- package/dist/src/packages/npm-context.d.ts +56 -0
- package/dist/src/packages/npm-context.js +235 -0
- package/dist/src/packages/npm-context.js.map +1 -0
- package/dist/src/packages/npm-registry.d.ts +35 -0
- package/dist/src/packages/npm-registry.js +107 -0
- package/dist/src/packages/npm-registry.js.map +1 -0
- package/dist/src/packages/package-error.d.ts +16 -0
- package/dist/src/packages/package-error.js +17 -0
- package/dist/src/packages/package-error.js.map +1 -0
- package/dist/src/packages/package-types.d.ts +477 -0
- package/dist/src/packages/package-types.js +156 -0
- package/dist/src/packages/package-types.js.map +1 -0
- package/dist/src/packages/resolver.d.ts +41 -0
- package/dist/src/packages/resolver.js +353 -0
- package/dist/src/packages/resolver.js.map +1 -0
- package/dist/src/platform/config-builder.d.ts +24 -0
- package/dist/src/platform/config-builder.js +70 -0
- package/dist/src/platform/config-builder.js.map +1 -0
- package/dist/src/platform/index.d.ts +8 -0
- package/dist/src/platform/index.js +9 -0
- package/dist/src/platform/index.js.map +1 -0
- package/dist/src/platform/platform-client.d.ts +160 -0
- package/dist/src/platform/platform-client.js +486 -0
- package/dist/src/platform/platform-client.js.map +1 -0
- package/dist/src/platform/platform-types.d.ts +81 -0
- package/dist/src/platform/platform-types.js +18 -0
- package/dist/src/platform/platform-types.js.map +1 -0
- package/dist/src/providers/content-generator/google-to-llm.d.ts +87 -0
- package/dist/src/providers/content-generator/google-to-llm.js +226 -0
- package/dist/src/providers/content-generator/google-to-llm.js.map +1 -0
- package/dist/src/providers/content-generator/index.d.ts +10 -0
- package/dist/src/providers/content-generator/index.js +9 -0
- package/dist/src/providers/content-generator/index.js.map +1 -0
- package/dist/src/providers/content-generator/llm-to-google.d.ts +59 -0
- package/dist/src/providers/content-generator/llm-to-google.js +178 -0
- package/dist/src/providers/content-generator/llm-to-google.js.map +1 -0
- package/dist/src/providers/content-generator/multi-provider-content-generator.d.ts +61 -0
- package/dist/src/providers/content-generator/multi-provider-content-generator.js +144 -0
- package/dist/src/providers/content-generator/multi-provider-content-generator.js.map +1 -0
- package/dist/src/providers/runtime/anthropic-provider.d.ts +18 -0
- package/dist/src/providers/runtime/anthropic-provider.js +253 -0
- package/dist/src/providers/runtime/anthropic-provider.js.map +1 -0
- package/dist/src/providers/runtime/azure-provider.d.ts +25 -0
- package/dist/src/providers/runtime/azure-provider.js +206 -0
- package/dist/src/providers/runtime/azure-provider.js.map +1 -0
- package/dist/src/providers/runtime/bedrock-provider.d.ts +22 -0
- package/dist/src/providers/runtime/bedrock-provider.js +276 -0
- package/dist/src/providers/runtime/bedrock-provider.js.map +1 -0
- package/dist/src/providers/runtime/failover-provider.d.ts +30 -0
- package/dist/src/providers/runtime/failover-provider.js +124 -0
- package/dist/src/providers/runtime/failover-provider.js.map +1 -0
- package/dist/src/providers/runtime/google-provider.d.ts +17 -0
- package/dist/src/providers/runtime/google-provider.js +239 -0
- package/dist/src/providers/runtime/google-provider.js.map +1 -0
- package/dist/src/providers/runtime/index.d.ts +16 -0
- package/dist/src/providers/runtime/index.js +16 -0
- package/dist/src/providers/runtime/index.js.map +1 -0
- package/dist/src/providers/runtime/openai-provider.d.ts +21 -0
- package/dist/src/providers/runtime/openai-provider.js +266 -0
- package/dist/src/providers/runtime/openai-provider.js.map +1 -0
- package/dist/src/providers/runtime/provider-errors.d.ts +39 -0
- package/dist/src/providers/runtime/provider-errors.js +50 -0
- package/dist/src/providers/runtime/provider-errors.js.map +1 -0
- package/dist/src/providers/runtime/provider-factory.d.ts +19 -0
- package/dist/src/providers/runtime/provider-factory.js +45 -0
- package/dist/src/providers/runtime/provider-factory.js.map +1 -0
- package/dist/src/providers/runtime/runtime-provider-types.d.ts +63 -0
- package/dist/src/providers/runtime/runtime-provider-types.js +7 -0
- package/dist/src/providers/runtime/runtime-provider-types.js.map +1 -0
- package/dist/src/providers/runtime/streaming-types.d.ts +40 -0
- package/dist/src/providers/runtime/streaming-types.js +7 -0
- package/dist/src/providers/runtime/streaming-types.js.map +1 -0
- package/dist/src/repo/config-schema.d.ts +238 -0
- package/dist/src/repo/config-schema.js +155 -0
- package/dist/src/repo/config-schema.js.map +1 -0
- package/dist/src/repo/connection-schemas.d.ts +449 -0
- package/dist/src/repo/connection-schemas.js +109 -0
- package/dist/src/repo/connection-schemas.js.map +1 -0
- package/dist/src/repo/connection-types.d.ts +29 -0
- package/dist/src/repo/connection-types.js +7 -0
- package/dist/src/repo/connection-types.js.map +1 -0
- package/dist/src/repo/drift-detector.d.ts +26 -0
- package/dist/src/repo/drift-detector.js +66 -0
- package/dist/src/repo/drift-detector.js.map +1 -0
- package/dist/src/repo/graphql-drift-detector.d.ts +27 -0
- package/dist/src/repo/graphql-drift-detector.js +66 -0
- package/dist/src/repo/graphql-drift-detector.js.map +1 -0
- package/dist/src/repo/graphql-parser.d.ts +30 -0
- package/dist/src/repo/graphql-parser.js +125 -0
- package/dist/src/repo/graphql-parser.js.map +1 -0
- package/dist/src/repo/graphql-surface-parser.d.ts +20 -0
- package/dist/src/repo/graphql-surface-parser.js +74 -0
- package/dist/src/repo/graphql-surface-parser.js.map +1 -0
- package/dist/src/repo/index.d.ts +30 -0
- package/dist/src/repo/index.js +29 -0
- package/dist/src/repo/index.js.map +1 -0
- package/dist/src/repo/local-reader.d.ts +10 -0
- package/dist/src/repo/local-reader.js +299 -0
- package/dist/src/repo/local-reader.js.map +1 -0
- package/dist/src/repo/openapi-parser.d.ts +35 -0
- package/dist/src/repo/openapi-parser.js +93 -0
- package/dist/src/repo/openapi-parser.js.map +1 -0
- package/dist/src/repo/parsers.d.ts +91 -0
- package/dist/src/repo/parsers.js +454 -0
- package/dist/src/repo/parsers.js.map +1 -0
- package/dist/src/repo/platform-reader.d.ts +10 -0
- package/dist/src/repo/platform-reader.js +206 -0
- package/dist/src/repo/platform-reader.js.map +1 -0
- package/dist/src/repo/repo-loader.d.ts +14 -0
- package/dist/src/repo/repo-loader.js +25 -0
- package/dist/src/repo/repo-loader.js.map +1 -0
- package/dist/src/repo/repo-types.d.ts +159 -0
- package/dist/src/repo/repo-types.js +17 -0
- package/dist/src/repo/repo-types.js.map +1 -0
- package/dist/src/repo/spec-syncer.d.ts +30 -0
- package/dist/src/repo/spec-syncer.js +85 -0
- package/dist/src/repo/spec-syncer.js.map +1 -0
- package/dist/src/repo/store-loader.d.ts +19 -0
- package/dist/src/repo/store-loader.js +94 -0
- package/dist/src/repo/store-loader.js.map +1 -0
- package/dist/src/repo/store-schemas.d.ts +313 -0
- package/dist/src/repo/store-schemas.js +103 -0
- package/dist/src/repo/store-schemas.js.map +1 -0
- package/dist/src/repo/store-tool-schema.d.ts +29 -0
- package/dist/src/repo/store-tool-schema.js +103 -0
- package/dist/src/repo/store-tool-schema.js.map +1 -0
- package/dist/src/repo/store-types.d.ts +91 -0
- package/dist/src/repo/store-types.js +7 -0
- package/dist/src/repo/store-types.js.map +1 -0
- package/dist/src/repo/surface-parser.d.ts +17 -0
- package/dist/src/repo/surface-parser.js +75 -0
- package/dist/src/repo/surface-parser.js.map +1 -0
- package/dist/src/repo/tool-loader.d.ts +33 -0
- package/dist/src/repo/tool-loader.js +240 -0
- package/dist/src/repo/tool-loader.js.map +1 -0
- package/dist/src/repo/tool-types.d.ts +205 -0
- package/dist/src/repo/tool-types.js +61 -0
- package/dist/src/repo/tool-types.js.map +1 -0
- package/dist/src/roles/index.d.ts +7 -0
- package/dist/src/roles/index.js +8 -0
- package/dist/src/roles/index.js.map +1 -0
- package/dist/src/roles/role-filter.d.ts +33 -0
- package/dist/src/roles/role-filter.js +55 -0
- package/dist/src/roles/role-filter.js.map +1 -0
- package/dist/src/roles/role-types.d.ts +76 -0
- package/dist/src/roles/role-types.js +38 -0
- package/dist/src/roles/role-types.js.map +1 -0
- package/dist/src/runtime/connection-bridge.d.ts +19 -0
- package/dist/src/runtime/connection-bridge.js +103 -0
- package/dist/src/runtime/connection-bridge.js.map +1 -0
- package/dist/src/runtime/context-compiler.d.ts +35 -0
- package/dist/src/runtime/context-compiler.js +183 -0
- package/dist/src/runtime/context-compiler.js.map +1 -0
- package/dist/src/runtime/default-prompt.d.ts +28 -0
- package/dist/src/runtime/default-prompt.js +71 -0
- package/dist/src/runtime/default-prompt.js.map +1 -0
- package/dist/src/runtime/explore-tool.d.ts +96 -0
- package/dist/src/runtime/explore-tool.js +111 -0
- package/dist/src/runtime/explore-tool.js.map +1 -0
- package/dist/src/runtime/index.d.ts +26 -0
- package/dist/src/runtime/index.js +19 -0
- package/dist/src/runtime/index.js.map +1 -0
- package/dist/src/runtime/output-pipeline.d.ts +62 -0
- package/dist/src/runtime/output-pipeline.js +69 -0
- package/dist/src/runtime/output-pipeline.js.map +1 -0
- package/dist/src/runtime/plan-mode.d.ts +39 -0
- package/dist/src/runtime/plan-mode.js +81 -0
- package/dist/src/runtime/plan-mode.js.map +1 -0
- package/dist/src/runtime/preference-client.d.ts +39 -0
- package/dist/src/runtime/preference-client.js +70 -0
- package/dist/src/runtime/preference-client.js.map +1 -0
- package/dist/src/runtime/preference-detector.d.ts +22 -0
- package/dist/src/runtime/preference-detector.js +95 -0
- package/dist/src/runtime/preference-detector.js.map +1 -0
- package/dist/src/runtime/request-integration.d.ts +18 -0
- package/dist/src/runtime/request-integration.js +36 -0
- package/dist/src/runtime/request-integration.js.map +1 -0
- package/dist/src/runtime/runtime-types.d.ts +48 -0
- package/dist/src/runtime/runtime-types.js +7 -0
- package/dist/src/runtime/runtime-types.js.map +1 -0
- package/dist/src/runtime/session-setup.d.ts +53 -0
- package/dist/src/runtime/session-setup.js +90 -0
- package/dist/src/runtime/session-setup.js.map +1 -0
- package/dist/src/runtime/telemetry-client.d.ts +39 -0
- package/dist/src/runtime/telemetry-client.js +87 -0
- package/dist/src/runtime/telemetry-client.js.map +1 -0
- package/dist/src/runtime/telemetry-hooks.d.ts +47 -0
- package/dist/src/runtime/telemetry-hooks.js +115 -0
- package/dist/src/runtime/telemetry-hooks.js.map +1 -0
- package/dist/src/runtime/token-allocator.d.ts +34 -0
- package/dist/src/runtime/token-allocator.js +86 -0
- package/dist/src/runtime/token-allocator.js.map +1 -0
- package/dist/src/runtime/user-context.d.ts +49 -0
- package/dist/src/runtime/user-context.js +135 -0
- package/dist/src/runtime/user-context.js.map +1 -0
- package/dist/src/sdk.d.ts +57 -0
- package/dist/src/sdk.js +377 -0
- package/dist/src/sdk.js.map +1 -0
- package/dist/src/security/action-gate.d.ts +23 -0
- package/dist/src/security/action-gate.js +78 -0
- package/dist/src/security/action-gate.js.map +1 -0
- package/dist/src/security/field-scrubber.d.ts +27 -0
- package/dist/src/security/field-scrubber.js +152 -0
- package/dist/src/security/field-scrubber.js.map +1 -0
- package/dist/src/security/index.d.ts +14 -0
- package/dist/src/security/index.js +15 -0
- package/dist/src/security/index.js.map +1 -0
- package/dist/src/security/leak-detector.d.ts +23 -0
- package/dist/src/security/leak-detector.js +51 -0
- package/dist/src/security/leak-detector.js.map +1 -0
- package/dist/src/security/output-guard.d.ts +33 -0
- package/dist/src/security/output-guard.js +118 -0
- package/dist/src/security/output-guard.js.map +1 -0
- package/dist/src/security/pattern-scanner.d.ts +19 -0
- package/dist/src/security/pattern-scanner.js +66 -0
- package/dist/src/security/pattern-scanner.js.map +1 -0
- package/dist/src/security/scope-checker.d.ts +27 -0
- package/dist/src/security/scope-checker.js +52 -0
- package/dist/src/security/scope-checker.js.map +1 -0
- package/dist/src/security/scrub-tracker.d.ts +21 -0
- package/dist/src/security/scrub-tracker.js +39 -0
- package/dist/src/security/scrub-tracker.js.map +1 -0
- package/dist/src/security/security-types.d.ts +69 -0
- package/dist/src/security/security-types.js +17 -0
- package/dist/src/security/security-types.js.map +1 -0
- package/dist/src/security/threshold-evaluator.d.ts +13 -0
- package/dist/src/security/threshold-evaluator.js +44 -0
- package/dist/src/security/threshold-evaluator.js.map +1 -0
- package/dist/src/snapshot/index.d.ts +8 -0
- package/dist/src/snapshot/index.js +9 -0
- package/dist/src/snapshot/index.js.map +1 -0
- package/dist/src/snapshot/snapshot-builder.d.ts +37 -0
- package/dist/src/snapshot/snapshot-builder.js +152 -0
- package/dist/src/snapshot/snapshot-builder.js.map +1 -0
- package/dist/src/snapshot/snapshot-loader.d.ts +29 -0
- package/dist/src/snapshot/snapshot-loader.js +188 -0
- package/dist/src/snapshot/snapshot-loader.js.map +1 -0
- package/dist/src/snapshot/snapshot-types.d.ts +1940 -0
- package/dist/src/snapshot/snapshot-types.js +145 -0
- package/dist/src/snapshot/snapshot-types.js.map +1 -0
- package/dist/src/stores/index.d.ts +6 -0
- package/dist/src/stores/index.js +7 -0
- package/dist/src/stores/index.js.map +1 -0
- package/dist/src/stores/store-backend.d.ts +135 -0
- package/dist/src/stores/store-backend.js +7 -0
- package/dist/src/stores/store-backend.js.map +1 -0
- package/dist/src/templates/connections.d.ts +14 -0
- package/dist/src/templates/connections.js +7 -0
- package/dist/src/templates/connections.js.map +1 -0
- package/dist/src/templates/index.d.ts +7 -0
- package/dist/src/templates/index.js +8 -0
- package/dist/src/templates/index.js.map +1 -0
- package/dist/src/templates/template-resolver.d.ts +45 -0
- package/dist/src/templates/template-resolver.js +121 -0
- package/dist/src/templates/template-resolver.js.map +1 -0
- package/dist/src/tool-context.d.ts +33 -0
- package/dist/src/tool-context.js +7 -0
- package/dist/src/tool-context.js.map +1 -0
- package/dist/src/tool-registration.d.ts +14 -0
- package/dist/src/tool-registration.js +51 -0
- package/dist/src/tool-registration.js.map +1 -0
- package/dist/src/tools/amodal-tool-errors.d.ts +24 -0
- package/dist/src/tools/amodal-tool-errors.js +28 -0
- package/dist/src/tools/amodal-tool-errors.js.map +1 -0
- package/dist/src/tools/amodal-tool-names.d.ts +14 -0
- package/dist/src/tools/amodal-tool-names.js +15 -0
- package/dist/src/tools/amodal-tool-names.js.map +1 -0
- package/dist/src/tools/chain-tool-registry.d.ts +20 -0
- package/dist/src/tools/chain-tool-registry.js +49 -0
- package/dist/src/tools/chain-tool-registry.js.map +1 -0
- package/dist/src/tools/chain-tool-types.d.ts +190 -0
- package/dist/src/tools/chain-tool-types.js +50 -0
- package/dist/src/tools/chain-tool-types.js.map +1 -0
- package/dist/src/tools/chain-tool.d.ts +34 -0
- package/dist/src/tools/chain-tool.js +294 -0
- package/dist/src/tools/chain-tool.js.map +1 -0
- package/dist/src/tools/custom-tool-registrar.d.ts +8 -0
- package/dist/src/tools/custom-tool-registrar.js +10 -0
- package/dist/src/tools/custom-tool-registrar.js.map +1 -0
- package/dist/src/tools/definitions/amodal-tools.d.ts +9 -0
- package/dist/src/tools/definitions/amodal-tools.js +192 -0
- package/dist/src/tools/definitions/amodal-tools.js.map +1 -0
- package/dist/src/tools/function-tool-registry.d.ts +22 -0
- package/dist/src/tools/function-tool-registry.js +45 -0
- package/dist/src/tools/function-tool-registry.js.map +1 -0
- package/dist/src/tools/function-tool-types.d.ts +76 -0
- package/dist/src/tools/function-tool-types.js +27 -0
- package/dist/src/tools/function-tool-types.js.map +1 -0
- package/dist/src/tools/function-tool.d.ts +34 -0
- package/dist/src/tools/function-tool.js +97 -0
- package/dist/src/tools/function-tool.js.map +1 -0
- package/dist/src/tools/http-tool-registry.d.ts +20 -0
- package/dist/src/tools/http-tool-registry.js +34 -0
- package/dist/src/tools/http-tool-registry.js.map +1 -0
- package/dist/src/tools/http-tool-types.d.ts +92 -0
- package/dist/src/tools/http-tool-types.js +44 -0
- package/dist/src/tools/http-tool-types.js.map +1 -0
- package/dist/src/tools/http-tool.d.ts +32 -0
- package/dist/src/tools/http-tool.js +176 -0
- package/dist/src/tools/http-tool.js.map +1 -0
- package/dist/src/tools/merge-template.d.ts +33 -0
- package/dist/src/tools/merge-template.js +65 -0
- package/dist/src/tools/merge-template.js.map +1 -0
- package/dist/src/tools/request-tool-types.d.ts +46 -0
- package/dist/src/tools/request-tool-types.js +20 -0
- package/dist/src/tools/request-tool-types.js.map +1 -0
- package/dist/src/tools/request-tool.d.ts +29 -0
- package/dist/src/tools/request-tool.js +268 -0
- package/dist/src/tools/request-tool.js.map +1 -0
- package/dist/src/tools/store-query-tool.d.ts +29 -0
- package/dist/src/tools/store-query-tool.js +82 -0
- package/dist/src/tools/store-query-tool.js.map +1 -0
- package/dist/src/tools/store-write-tool.d.ts +26 -0
- package/dist/src/tools/store-write-tool.js +84 -0
- package/dist/src/tools/store-write-tool.js.map +1 -0
- package/dist/src/tools/tool-definition-types.d.ts +21 -0
- package/dist/src/tools/tool-definition-types.js +7 -0
- package/dist/src/tools/tool-definition-types.js.map +1 -0
- package/dist/src/tools/tool-utils.d.ts +29 -0
- package/dist/src/tools/tool-utils.js +66 -0
- package/dist/src/tools/tool-utils.js.map +1 -0
- package/dist/src/versions/bundle-loader.d.ts +37 -0
- package/dist/src/versions/bundle-loader.js +99 -0
- package/dist/src/versions/bundle-loader.js.map +1 -0
- package/dist/src/versions/dependency-manager.d.ts +54 -0
- package/dist/src/versions/dependency-manager.js +132 -0
- package/dist/src/versions/dependency-manager.js.map +1 -0
- package/dist/src/versions/handler-loader.d.ts +27 -0
- package/dist/src/versions/handler-loader.js +62 -0
- package/dist/src/versions/handler-loader.js.map +1 -0
- package/dist/src/versions/index.d.ts +10 -0
- package/dist/src/versions/index.js +11 -0
- package/dist/src/versions/index.js.map +1 -0
- package/dist/src/versions/version-bundle-types.d.ts +1278 -0
- package/dist/src/versions/version-bundle-types.js +207 -0
- package/dist/src/versions/version-bundle-types.js.map +1 -0
- package/dist/src/versions/version-manager.d.ts +89 -0
- package/dist/src/versions/version-manager.js +124 -0
- package/dist/src/versions/version-manager.js.map +1 -0
- package/dist/src/widgets/index.d.ts +8 -0
- package/dist/src/widgets/index.js +8 -0
- package/dist/src/widgets/index.js.map +1 -0
- package/dist/src/widgets/present-tool.d.ts +21 -0
- package/dist/src/widgets/present-tool.js +107 -0
- package/dist/src/widgets/present-tool.js.map +1 -0
- package/dist/src/widgets/widget-types.d.ts +78 -0
- package/dist/src/widgets/widget-types.js +28 -0
- package/dist/src/widgets/widget-types.js.map +1 -0
- package/dist/tsconfig.tsbuildinfo +1 -0
- package/package.json +50 -0
package/LICENSE
ADDED
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
MIT License
|
|
2
|
+
|
|
3
|
+
Copyright (c) 2026 Amodal Labs, Inc.
|
|
4
|
+
|
|
5
|
+
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
6
|
+
of this software and associated documentation files (the "Software"), to deal
|
|
7
|
+
in the Software without restriction, including without limitation the rights
|
|
8
|
+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
9
|
+
copies of the Software, and to permit persons to whom the Software is
|
|
10
|
+
furnished to do so, subject to the following conditions:
|
|
11
|
+
|
|
12
|
+
The above copyright notice and this permission notice shall be included in all
|
|
13
|
+
copies or substantial portions of the Software.
|
|
14
|
+
|
|
15
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
16
|
+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
17
|
+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
18
|
+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
19
|
+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
20
|
+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
21
|
+
SOFTWARE.
|
package/dist/.last_build
ADDED
|
File without changes
|
|
@@ -0,0 +1,194 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @license
|
|
3
|
+
* Copyright 2026 Amodal Labs, Inc.
|
|
4
|
+
* SPDX-License-Identifier: MIT
|
|
5
|
+
*/
|
|
6
|
+
import { Config, type ConfigParameters, type SkillManager, type ToolRegistry, type MessageBus, type GeminiClient, type AuthType } from '@google/gemini-cli-core';
|
|
7
|
+
import type { ToolContext } from './tool-context.js';
|
|
8
|
+
import type { AuditLogger, AuditConfig } from './audit/index.js';
|
|
9
|
+
import type { ConnectionsMap } from './templates/index.js';
|
|
10
|
+
import type { ConnectionInfo } from './platform/platform-types.js';
|
|
11
|
+
import type { LoadedStore } from './repo/store-types.js';
|
|
12
|
+
import type { StoreBackend } from './stores/store-backend.js';
|
|
13
|
+
import type { KBDocument } from './knowledge/kb-types.js';
|
|
14
|
+
import { KnowledgeStore } from './knowledge/knowledge-store.js';
|
|
15
|
+
import type { ModelConfig } from './repo/config-schema.js';
|
|
16
|
+
/**
|
|
17
|
+
* Extension fields that AmodalConfig adds beyond upstream ConfigParameters.
|
|
18
|
+
*/
|
|
19
|
+
export interface AmodalConfigExtensions {
|
|
20
|
+
/** Platform API URL for knowledge base proposals */
|
|
21
|
+
platformApiUrl?: string;
|
|
22
|
+
/** Platform API key for authentication */
|
|
23
|
+
platformApiKey?: string;
|
|
24
|
+
/** Application ID for scope resolution */
|
|
25
|
+
applicationId?: string;
|
|
26
|
+
/** Tenant ID for scope resolution */
|
|
27
|
+
tenantId?: string;
|
|
28
|
+
/** Audit logging configuration */
|
|
29
|
+
auditConfig?: AuditConfig;
|
|
30
|
+
/** User identifier for audit entries */
|
|
31
|
+
auditUser?: string;
|
|
32
|
+
/** Source identifier for audit entries */
|
|
33
|
+
auditSource?: string;
|
|
34
|
+
/** Audit version string */
|
|
35
|
+
auditVersion?: string;
|
|
36
|
+
/** Backend API connection secrets */
|
|
37
|
+
connections?: ConnectionsMap;
|
|
38
|
+
/** Application-level knowledge documents */
|
|
39
|
+
appDocuments?: KBDocument[];
|
|
40
|
+
/** Tenant-level knowledge documents */
|
|
41
|
+
tenantDocuments?: KBDocument[];
|
|
42
|
+
/** Connection metadata for agent awareness */
|
|
43
|
+
connectionInfos?: ConnectionInfo[];
|
|
44
|
+
/** Agent context description */
|
|
45
|
+
agentContext?: string;
|
|
46
|
+
/** HTTP tool configs from version bundle or platform */
|
|
47
|
+
httpToolConfigs?: unknown[];
|
|
48
|
+
/** Chain tool configs from version bundle or platform */
|
|
49
|
+
chainToolConfigs?: unknown[];
|
|
50
|
+
/** Function tool configs from version bundle or platform */
|
|
51
|
+
functionToolConfigs?: unknown[];
|
|
52
|
+
/** Function tool handlers loaded from version bundle */
|
|
53
|
+
functionToolHandlers?: Record<string, unknown>;
|
|
54
|
+
/** Role definitions from version bundle */
|
|
55
|
+
roleDefinitions?: unknown[];
|
|
56
|
+
/** Active role for this session */
|
|
57
|
+
activeRole?: string;
|
|
58
|
+
/** Skills from version bundle */
|
|
59
|
+
bundleSkills?: Array<{
|
|
60
|
+
name: string;
|
|
61
|
+
description: string;
|
|
62
|
+
body: string;
|
|
63
|
+
}>;
|
|
64
|
+
/** Subagent configs from version bundle */
|
|
65
|
+
bundleSubagents?: unknown[];
|
|
66
|
+
/** Automation definitions from version bundle */
|
|
67
|
+
automationDefinitions?: unknown[];
|
|
68
|
+
/** Built-in tools to disable */
|
|
69
|
+
disabledBuiltInTools?: string[];
|
|
70
|
+
/** Version bundle version string (from platform config) */
|
|
71
|
+
versionBundleVersion?: string;
|
|
72
|
+
/** Version bundle source URL */
|
|
73
|
+
versionBundleUrl?: string;
|
|
74
|
+
/** Version bundle local file path */
|
|
75
|
+
versionBundlePath?: string;
|
|
76
|
+
/** Enable experimental Zed editor integration (ACP mode) */
|
|
77
|
+
experimentalZedIntegration?: boolean;
|
|
78
|
+
/** Enable prompt completion feature */
|
|
79
|
+
enablePromptCompletion?: boolean;
|
|
80
|
+
/** Model configuration (provider, model, credentials, fallback) for content generator */
|
|
81
|
+
modelConfig?: ModelConfig;
|
|
82
|
+
/** Subagent names to disable (e.g., ['explore', 'plan']) */
|
|
83
|
+
disabledSubagents?: string[];
|
|
84
|
+
/** Store definitions from the deployment snapshot */
|
|
85
|
+
stores?: unknown[];
|
|
86
|
+
/** Store backend for persisting store documents */
|
|
87
|
+
storeBackend?: StoreBackend;
|
|
88
|
+
/** Custom base system prompt (overrides the platform default) */
|
|
89
|
+
basePrompt?: string;
|
|
90
|
+
/** Agent display name */
|
|
91
|
+
agentName?: string;
|
|
92
|
+
/** Agent description */
|
|
93
|
+
agentDescription?: string;
|
|
94
|
+
}
|
|
95
|
+
/**
|
|
96
|
+
* Parameters accepted by AmodalConfig constructor.
|
|
97
|
+
* Upstream ConfigParameters + our extension fields.
|
|
98
|
+
*/
|
|
99
|
+
export type AmodalConfigParameters = Partial<ConfigParameters> & AmodalConfigExtensions;
|
|
100
|
+
/**
|
|
101
|
+
* Composition wrapper around upstream Config.
|
|
102
|
+
*
|
|
103
|
+
* Holds an upstream Config instance for the ReAct loop, tool registry, and
|
|
104
|
+
* model configuration. Adds our extension state (platform, knowledge,
|
|
105
|
+
* connections, audit) and implements ToolContext so our tools can access
|
|
106
|
+
* extension fields without coupling to Config internals.
|
|
107
|
+
*
|
|
108
|
+
* After initialize(), registers amodal-specific tools (propose_knowledge,
|
|
109
|
+
* load_knowledge, present, request, custom HTTP/chain/function tools) on
|
|
110
|
+
* the upstream ToolRegistry.
|
|
111
|
+
*/
|
|
112
|
+
export declare class AmodalConfig implements ToolContext {
|
|
113
|
+
private readonly config;
|
|
114
|
+
private readonly extensions;
|
|
115
|
+
private readonly knowledgeStore;
|
|
116
|
+
private auditLogger;
|
|
117
|
+
constructor(params: AmodalConfigParameters);
|
|
118
|
+
/**
|
|
119
|
+
* Initialize the upstream Config, then register amodal tools on its registry.
|
|
120
|
+
*/
|
|
121
|
+
initialize(): Promise<void>;
|
|
122
|
+
/**
|
|
123
|
+
* Register amodal-specific tools and skills on the upstream registry.
|
|
124
|
+
* Called after the upstream Config is already initialized.
|
|
125
|
+
*/
|
|
126
|
+
registerTools(): Promise<void>;
|
|
127
|
+
getSessionId(): string;
|
|
128
|
+
getPlatformApiUrl(): string | undefined;
|
|
129
|
+
getPlatformApiKey(): string | undefined;
|
|
130
|
+
getApplicationId(): string | undefined;
|
|
131
|
+
getTenantId(): string | undefined;
|
|
132
|
+
getAuditLogger(): AuditLogger | undefined;
|
|
133
|
+
getConnections(): ConnectionsMap;
|
|
134
|
+
getKnowledgeStore(): KnowledgeStore;
|
|
135
|
+
getConnectionInfos(): ConnectionInfo[];
|
|
136
|
+
getAgentContext(): string | undefined;
|
|
137
|
+
getBasePrompt(): string | undefined;
|
|
138
|
+
getAgentName(): string | undefined;
|
|
139
|
+
getBundleSubagents(): unknown[];
|
|
140
|
+
getDisabledSubagents(): string[];
|
|
141
|
+
getStores(): LoadedStore[];
|
|
142
|
+
getStoreBackend(): StoreBackend | undefined;
|
|
143
|
+
getSessionEnv(): Record<string, string>;
|
|
144
|
+
setStoreBackend(backend: StoreBackend): void;
|
|
145
|
+
getAgentDescription(): string | undefined;
|
|
146
|
+
getRoleDefinitions(): unknown[];
|
|
147
|
+
getActiveRoleName(): string | undefined;
|
|
148
|
+
getVersionBundleVersion(): string | undefined;
|
|
149
|
+
getVersionBundleUrl(): string | undefined;
|
|
150
|
+
getVersionBundlePath(): string | undefined;
|
|
151
|
+
getExperimentalZedIntegration(): boolean;
|
|
152
|
+
getEnablePromptCompletion(): boolean;
|
|
153
|
+
/** Access the upstream Config instance directly. */
|
|
154
|
+
getUpstreamConfig(): Config;
|
|
155
|
+
getToolRegistry(): ToolRegistry;
|
|
156
|
+
getMessageBus(): MessageBus;
|
|
157
|
+
getSkillManager(): SkillManager;
|
|
158
|
+
getGeminiClient(): GeminiClient;
|
|
159
|
+
getModel(): string;
|
|
160
|
+
getModelConfig(): ModelConfig | undefined;
|
|
161
|
+
setModelConfig(mc: ModelConfig): void;
|
|
162
|
+
refreshAuth(authType: AuthType, apiKey?: string, baseUrl?: string, customHeaders?: Record<string, string>): Promise<void>;
|
|
163
|
+
/**
|
|
164
|
+
* Initialize the upstream content generator.
|
|
165
|
+
*
|
|
166
|
+
* When a non-Google provider is configured (via modelConfig), creates a
|
|
167
|
+
* MultiProviderContentGenerator that routes calls through our existing
|
|
168
|
+
* RuntimeProvider system (Anthropic, OpenAI, Bedrock, Azure, etc.).
|
|
169
|
+
*
|
|
170
|
+
* For Google providers (or when no modelConfig is set), falls back to
|
|
171
|
+
* the upstream Gemini content generator.
|
|
172
|
+
*/
|
|
173
|
+
initializeAuth(): Promise<void>;
|
|
174
|
+
/**
|
|
175
|
+
* Allowlist environment variable names on the upstream Config so the
|
|
176
|
+
* sanitization pipeline doesn't strip them.
|
|
177
|
+
*/
|
|
178
|
+
addAllowedEnvironmentVariables(names: string[]): void;
|
|
179
|
+
/**
|
|
180
|
+
* Alias for shutdown — used by session manager to flush audit on destroy.
|
|
181
|
+
*/
|
|
182
|
+
shutdownAudit(): Promise<void>;
|
|
183
|
+
/**
|
|
184
|
+
* Shutdown: flush audit logs and dispose upstream Config.
|
|
185
|
+
* Disposing the upstream Config removes coreEvents listeners, stops MCP
|
|
186
|
+
* servers, and frees GeminiClient/AgentRegistry resources — critical for
|
|
187
|
+
* preventing listener leaks in multi-session server runtimes.
|
|
188
|
+
*/
|
|
189
|
+
shutdown(): Promise<void>;
|
|
190
|
+
/**
|
|
191
|
+
* Register bundle skills on the upstream SkillManager.
|
|
192
|
+
*/
|
|
193
|
+
private registerBundleSkills;
|
|
194
|
+
}
|
|
@@ -0,0 +1,326 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @license
|
|
3
|
+
* Copyright 2026 Amodal Labs, Inc.
|
|
4
|
+
* SPDX-License-Identifier: MIT
|
|
5
|
+
*/
|
|
6
|
+
import { Config, getAuthTypeFromEnv, } from '@google/gemini-cli-core';
|
|
7
|
+
import { AuditLogger as AuditLoggerImpl } from './audit/audit-logger.js';
|
|
8
|
+
import { KnowledgeStore } from './knowledge/knowledge-store.js';
|
|
9
|
+
import { registerAmodalTools } from './tool-registration.js';
|
|
10
|
+
import { MultiProviderContentGenerator } from './providers/content-generator/index.js';
|
|
11
|
+
// Keys that are AmodalConfigExtensions-only (not in upstream ConfigParameters)
|
|
12
|
+
const EXTENSION_KEYS = [
|
|
13
|
+
'platformApiUrl',
|
|
14
|
+
'platformApiKey',
|
|
15
|
+
'applicationId',
|
|
16
|
+
'tenantId',
|
|
17
|
+
'auditConfig',
|
|
18
|
+
'auditUser',
|
|
19
|
+
'auditSource',
|
|
20
|
+
'auditVersion',
|
|
21
|
+
'connections',
|
|
22
|
+
'appDocuments',
|
|
23
|
+
'tenantDocuments',
|
|
24
|
+
'connectionInfos',
|
|
25
|
+
'agentContext',
|
|
26
|
+
'httpToolConfigs',
|
|
27
|
+
'chainToolConfigs',
|
|
28
|
+
'functionToolConfigs',
|
|
29
|
+
'functionToolHandlers',
|
|
30
|
+
'roleDefinitions',
|
|
31
|
+
'activeRole',
|
|
32
|
+
'bundleSkills',
|
|
33
|
+
'bundleSubagents',
|
|
34
|
+
'automationDefinitions',
|
|
35
|
+
'disabledBuiltInTools',
|
|
36
|
+
'versionBundleVersion',
|
|
37
|
+
'versionBundleUrl',
|
|
38
|
+
'versionBundlePath',
|
|
39
|
+
'experimentalZedIntegration',
|
|
40
|
+
'enablePromptCompletion',
|
|
41
|
+
'modelConfig',
|
|
42
|
+
'disabledSubagents',
|
|
43
|
+
'stores',
|
|
44
|
+
'storeBackend',
|
|
45
|
+
'basePrompt',
|
|
46
|
+
'agentName',
|
|
47
|
+
'agentDescription',
|
|
48
|
+
];
|
|
49
|
+
/**
|
|
50
|
+
* Composition wrapper around upstream Config.
|
|
51
|
+
*
|
|
52
|
+
* Holds an upstream Config instance for the ReAct loop, tool registry, and
|
|
53
|
+
* model configuration. Adds our extension state (platform, knowledge,
|
|
54
|
+
* connections, audit) and implements ToolContext so our tools can access
|
|
55
|
+
* extension fields without coupling to Config internals.
|
|
56
|
+
*
|
|
57
|
+
* After initialize(), registers amodal-specific tools (propose_knowledge,
|
|
58
|
+
* load_knowledge, present, request, custom HTTP/chain/function tools) on
|
|
59
|
+
* the upstream ToolRegistry.
|
|
60
|
+
*/
|
|
61
|
+
export class AmodalConfig {
|
|
62
|
+
config;
|
|
63
|
+
extensions;
|
|
64
|
+
knowledgeStore;
|
|
65
|
+
auditLogger;
|
|
66
|
+
constructor(params) {
|
|
67
|
+
// Separate extension fields from upstream ConfigParameters
|
|
68
|
+
const extensions = {};
|
|
69
|
+
const upstreamParams = {};
|
|
70
|
+
const extensionKeySet = new Set(EXTENSION_KEYS);
|
|
71
|
+
for (const [key, value] of Object.entries(params)) {
|
|
72
|
+
if (extensionKeySet.has(key)) {
|
|
73
|
+
extensions[key] = value;
|
|
74
|
+
}
|
|
75
|
+
else {
|
|
76
|
+
upstreamParams[key] = value;
|
|
77
|
+
}
|
|
78
|
+
}
|
|
79
|
+
// eslint-disable-next-line @typescript-eslint/no-unsafe-type-assertion -- splitting merged params
|
|
80
|
+
this.extensions = extensions;
|
|
81
|
+
// Disable upstream Gemini CLI builtin skills not relevant to the Amodal runtime
|
|
82
|
+
// eslint-disable-next-line @typescript-eslint/no-unsafe-type-assertion -- upstream params are untyped Record
|
|
83
|
+
const existingDisabled = upstreamParams['disabledSkills'] ?? [];
|
|
84
|
+
upstreamParams['disabledSkills'] = [...existingDisabled, 'skill-creator'];
|
|
85
|
+
// eslint-disable-next-line @typescript-eslint/no-unsafe-type-assertion -- passing upstream params
|
|
86
|
+
this.config = new Config(upstreamParams);
|
|
87
|
+
// Initialize knowledge store from KB docs
|
|
88
|
+
this.knowledgeStore = new KnowledgeStore(this.extensions.appDocuments ?? [], this.extensions.tenantDocuments ?? []);
|
|
89
|
+
// Initialize audit logger if configured
|
|
90
|
+
if (this.extensions.auditConfig) {
|
|
91
|
+
// eslint-disable-next-line @typescript-eslint/no-unsafe-type-assertion -- audit config shape
|
|
92
|
+
const auditConfig = this.extensions.auditConfig;
|
|
93
|
+
const context = {
|
|
94
|
+
sessionId: params.sessionId ?? 'unknown',
|
|
95
|
+
user: this.extensions.auditUser ?? 'unknown',
|
|
96
|
+
source: this.extensions.auditSource ?? 'interactive',
|
|
97
|
+
version: this.extensions.auditVersion ?? 'local',
|
|
98
|
+
role: this.extensions.activeRole ?? 'default',
|
|
99
|
+
};
|
|
100
|
+
this.auditLogger = new AuditLoggerImpl(auditConfig, context);
|
|
101
|
+
}
|
|
102
|
+
}
|
|
103
|
+
/**
|
|
104
|
+
* Initialize the upstream Config, then register amodal tools on its registry.
|
|
105
|
+
*/
|
|
106
|
+
async initialize() {
|
|
107
|
+
await this.config.initialize();
|
|
108
|
+
await this.registerTools();
|
|
109
|
+
}
|
|
110
|
+
/**
|
|
111
|
+
* Register amodal-specific tools and skills on the upstream registry.
|
|
112
|
+
* Called after the upstream Config is already initialized.
|
|
113
|
+
*/
|
|
114
|
+
async registerTools() {
|
|
115
|
+
await registerAmodalTools(this, this.config);
|
|
116
|
+
await this.registerBundleSkills();
|
|
117
|
+
}
|
|
118
|
+
// ---------------------------------------------------------------------------
|
|
119
|
+
// ToolContext implementation
|
|
120
|
+
// ---------------------------------------------------------------------------
|
|
121
|
+
getSessionId() {
|
|
122
|
+
return this.config.getSessionId();
|
|
123
|
+
}
|
|
124
|
+
getPlatformApiUrl() {
|
|
125
|
+
return this.extensions.platformApiUrl;
|
|
126
|
+
}
|
|
127
|
+
getPlatformApiKey() {
|
|
128
|
+
return this.extensions.platformApiKey;
|
|
129
|
+
}
|
|
130
|
+
getApplicationId() {
|
|
131
|
+
return this.extensions.applicationId;
|
|
132
|
+
}
|
|
133
|
+
getTenantId() {
|
|
134
|
+
return this.extensions.tenantId;
|
|
135
|
+
}
|
|
136
|
+
getAuditLogger() {
|
|
137
|
+
return this.auditLogger;
|
|
138
|
+
}
|
|
139
|
+
getConnections() {
|
|
140
|
+
return this.extensions.connections ?? {};
|
|
141
|
+
}
|
|
142
|
+
getKnowledgeStore() {
|
|
143
|
+
return this.knowledgeStore;
|
|
144
|
+
}
|
|
145
|
+
getConnectionInfos() {
|
|
146
|
+
return this.extensions.connectionInfos ?? [];
|
|
147
|
+
}
|
|
148
|
+
getAgentContext() {
|
|
149
|
+
return this.extensions.agentContext;
|
|
150
|
+
}
|
|
151
|
+
getBasePrompt() {
|
|
152
|
+
return this.extensions.basePrompt;
|
|
153
|
+
}
|
|
154
|
+
getAgentName() {
|
|
155
|
+
return this.extensions.agentName;
|
|
156
|
+
}
|
|
157
|
+
getBundleSubagents() {
|
|
158
|
+
return this.extensions.bundleSubagents ?? [];
|
|
159
|
+
}
|
|
160
|
+
getDisabledSubagents() {
|
|
161
|
+
return this.extensions.disabledSubagents ?? [];
|
|
162
|
+
}
|
|
163
|
+
getStores() {
|
|
164
|
+
// eslint-disable-next-line @typescript-eslint/no-unsafe-type-assertion -- stores from snapshot are validated at load time
|
|
165
|
+
return (this.extensions.stores ?? []);
|
|
166
|
+
}
|
|
167
|
+
getStoreBackend() {
|
|
168
|
+
return this.extensions.storeBackend;
|
|
169
|
+
}
|
|
170
|
+
getSessionEnv() {
|
|
171
|
+
const secrets = this.extensions.connections?.['_secrets'];
|
|
172
|
+
if (secrets && typeof secrets === 'object') {
|
|
173
|
+
// eslint-disable-next-line @typescript-eslint/no-unsafe-type-assertion -- _secrets is stored as Record<string, string> by AgentSDK
|
|
174
|
+
return secrets;
|
|
175
|
+
}
|
|
176
|
+
return {};
|
|
177
|
+
}
|
|
178
|
+
setStoreBackend(backend) {
|
|
179
|
+
this.extensions.storeBackend = backend;
|
|
180
|
+
}
|
|
181
|
+
getAgentDescription() {
|
|
182
|
+
return this.extensions.agentDescription;
|
|
183
|
+
}
|
|
184
|
+
getRoleDefinitions() {
|
|
185
|
+
return this.extensions.roleDefinitions ?? [];
|
|
186
|
+
}
|
|
187
|
+
getActiveRoleName() {
|
|
188
|
+
return this.extensions.activeRole;
|
|
189
|
+
}
|
|
190
|
+
getVersionBundleVersion() {
|
|
191
|
+
return this.extensions.versionBundleVersion;
|
|
192
|
+
}
|
|
193
|
+
getVersionBundleUrl() {
|
|
194
|
+
return this.extensions.versionBundleUrl;
|
|
195
|
+
}
|
|
196
|
+
getVersionBundlePath() {
|
|
197
|
+
return this.extensions.versionBundlePath;
|
|
198
|
+
}
|
|
199
|
+
getExperimentalZedIntegration() {
|
|
200
|
+
return this.extensions.experimentalZedIntegration ?? false;
|
|
201
|
+
}
|
|
202
|
+
getEnablePromptCompletion() {
|
|
203
|
+
return this.extensions.enablePromptCompletion ?? false;
|
|
204
|
+
}
|
|
205
|
+
// ---------------------------------------------------------------------------
|
|
206
|
+
// Upstream delegation
|
|
207
|
+
// ---------------------------------------------------------------------------
|
|
208
|
+
/** Access the upstream Config instance directly. */
|
|
209
|
+
getUpstreamConfig() {
|
|
210
|
+
return this.config;
|
|
211
|
+
}
|
|
212
|
+
getToolRegistry() {
|
|
213
|
+
return this.config.getToolRegistry();
|
|
214
|
+
}
|
|
215
|
+
getMessageBus() {
|
|
216
|
+
return this.config.getMessageBus();
|
|
217
|
+
}
|
|
218
|
+
getSkillManager() {
|
|
219
|
+
return this.config.getSkillManager();
|
|
220
|
+
}
|
|
221
|
+
getGeminiClient() {
|
|
222
|
+
return this.config.getGeminiClient();
|
|
223
|
+
}
|
|
224
|
+
getModel() {
|
|
225
|
+
return this.config.getModel();
|
|
226
|
+
}
|
|
227
|
+
getModelConfig() {
|
|
228
|
+
return this.extensions.modelConfig;
|
|
229
|
+
}
|
|
230
|
+
setModelConfig(mc) {
|
|
231
|
+
this.extensions.modelConfig = mc;
|
|
232
|
+
}
|
|
233
|
+
async refreshAuth(authType, apiKey, baseUrl, customHeaders) {
|
|
234
|
+
return this.config.refreshAuth(authType, apiKey, baseUrl, customHeaders);
|
|
235
|
+
}
|
|
236
|
+
/**
|
|
237
|
+
* Initialize the upstream content generator.
|
|
238
|
+
*
|
|
239
|
+
* When a non-Google provider is configured (via modelConfig), creates a
|
|
240
|
+
* MultiProviderContentGenerator that routes calls through our existing
|
|
241
|
+
* RuntimeProvider system (Anthropic, OpenAI, Bedrock, Azure, etc.).
|
|
242
|
+
*
|
|
243
|
+
* For Google providers (or when no modelConfig is set), falls back to
|
|
244
|
+
* the upstream Gemini content generator.
|
|
245
|
+
*/
|
|
246
|
+
async initializeAuth() {
|
|
247
|
+
const modelConfig = this.extensions.modelConfig;
|
|
248
|
+
if (modelConfig && modelConfig.provider !== 'google') {
|
|
249
|
+
// Create our multi-provider content generator
|
|
250
|
+
const generator = new MultiProviderContentGenerator(modelConfig);
|
|
251
|
+
// Try to initialize upstream state (model router, etc.) via refreshAuth.
|
|
252
|
+
// This may fail without valid Gemini credentials — that's OK since
|
|
253
|
+
// we're replacing the content generator anyway.
|
|
254
|
+
const authType = getAuthTypeFromEnv();
|
|
255
|
+
try {
|
|
256
|
+
// eslint-disable-next-line @typescript-eslint/no-unsafe-type-assertion
|
|
257
|
+
await this.config.refreshAuth(authType ?? 'gemini-api-key');
|
|
258
|
+
}
|
|
259
|
+
catch {
|
|
260
|
+
// Expected when no Gemini credentials are available
|
|
261
|
+
}
|
|
262
|
+
// Replace the content generator on the upstream Config (private field).
|
|
263
|
+
// eslint-disable-next-line @typescript-eslint/no-unsafe-type-assertion
|
|
264
|
+
const raw = this.config;
|
|
265
|
+
raw['contentGenerator'] = generator;
|
|
266
|
+
return;
|
|
267
|
+
}
|
|
268
|
+
// Default: use upstream Gemini content generator
|
|
269
|
+
const authType = getAuthTypeFromEnv();
|
|
270
|
+
// eslint-disable-next-line @typescript-eslint/no-unsafe-type-assertion
|
|
271
|
+
await this.config.refreshAuth(authType ?? 'gemini-api-key');
|
|
272
|
+
}
|
|
273
|
+
/**
|
|
274
|
+
* Allowlist environment variable names on the upstream Config so the
|
|
275
|
+
* sanitization pipeline doesn't strip them.
|
|
276
|
+
*/
|
|
277
|
+
addAllowedEnvironmentVariables(names) {
|
|
278
|
+
// eslint-disable-next-line @typescript-eslint/no-unsafe-type-assertion -- accessing private field for runtime env var allowlisting
|
|
279
|
+
const raw = this.config;
|
|
280
|
+
// eslint-disable-next-line @typescript-eslint/no-unsafe-type-assertion -- accessing private field
|
|
281
|
+
const existing = raw['allowedEnvironmentVariables'];
|
|
282
|
+
raw['allowedEnvironmentVariables'] = [...(existing ?? []), ...names];
|
|
283
|
+
}
|
|
284
|
+
/**
|
|
285
|
+
* Alias for shutdown — used by session manager to flush audit on destroy.
|
|
286
|
+
*/
|
|
287
|
+
async shutdownAudit() {
|
|
288
|
+
return this.shutdown();
|
|
289
|
+
}
|
|
290
|
+
/**
|
|
291
|
+
* Shutdown: flush audit logs and dispose upstream Config.
|
|
292
|
+
* Disposing the upstream Config removes coreEvents listeners, stops MCP
|
|
293
|
+
* servers, and frees GeminiClient/AgentRegistry resources — critical for
|
|
294
|
+
* preventing listener leaks in multi-session server runtimes.
|
|
295
|
+
*/
|
|
296
|
+
async shutdown() {
|
|
297
|
+
if (this.auditLogger) {
|
|
298
|
+
await this.auditLogger.flush();
|
|
299
|
+
}
|
|
300
|
+
try {
|
|
301
|
+
await this.config.dispose();
|
|
302
|
+
}
|
|
303
|
+
catch {
|
|
304
|
+
// Best-effort — upstream may already be partially torn down
|
|
305
|
+
}
|
|
306
|
+
}
|
|
307
|
+
// ---------------------------------------------------------------------------
|
|
308
|
+
// Private helpers
|
|
309
|
+
// ---------------------------------------------------------------------------
|
|
310
|
+
/**
|
|
311
|
+
* Register bundle skills on the upstream SkillManager.
|
|
312
|
+
*/
|
|
313
|
+
async registerBundleSkills() {
|
|
314
|
+
const skills = this.extensions.bundleSkills;
|
|
315
|
+
if (!skills || skills.length === 0)
|
|
316
|
+
return;
|
|
317
|
+
const skillManager = this.config.getSkillManager();
|
|
318
|
+
skillManager.addSkills(skills.map((skill) => ({
|
|
319
|
+
name: skill.name,
|
|
320
|
+
description: skill.description,
|
|
321
|
+
body: skill.body,
|
|
322
|
+
location: 'bundle', // virtual location for bundle-sourced skills
|
|
323
|
+
})));
|
|
324
|
+
}
|
|
325
|
+
}
|
|
326
|
+
//# sourceMappingURL=amodal-config.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"amodal-config.js","sourceRoot":"","sources":["../../src/amodal-config.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @license
|
|
3
|
+
* Copyright 2026 Amodal Labs, Inc.
|
|
4
|
+
* SPDX-License-Identifier: MIT
|
|
5
|
+
*/
|
|
6
|
+
import { type Kind } from '@google/gemini-cli-core';
|
|
7
|
+
import type { AuditConfig, AuditContext } from './audit-types.js';
|
|
8
|
+
/**
|
|
9
|
+
* Structured audit logger. Emits entries to configured outputs.
|
|
10
|
+
*
|
|
11
|
+
* Audit must never throw or crash the process — all errors are swallowed.
|
|
12
|
+
*/
|
|
13
|
+
export declare class AuditLogger {
|
|
14
|
+
private readonly outputs;
|
|
15
|
+
private readonly config;
|
|
16
|
+
private readonly context;
|
|
17
|
+
constructor(config: AuditConfig, context: AuditContext);
|
|
18
|
+
/**
|
|
19
|
+
* Log a tool call event.
|
|
20
|
+
*/
|
|
21
|
+
logToolCall(name: string, params?: Record<string, unknown>, durationMs?: number): void;
|
|
22
|
+
/**
|
|
23
|
+
* Log a write operation event (mutations: edit, delete, move, execute).
|
|
24
|
+
*/
|
|
25
|
+
logWriteOp(name: string, params?: Record<string, unknown>, durationMs?: number): void;
|
|
26
|
+
/**
|
|
27
|
+
* Log session start.
|
|
28
|
+
*/
|
|
29
|
+
logSessionStart(): void;
|
|
30
|
+
/**
|
|
31
|
+
* Log session end.
|
|
32
|
+
*/
|
|
33
|
+
logSessionEnd(): void;
|
|
34
|
+
/**
|
|
35
|
+
* Log a version bundle load.
|
|
36
|
+
*/
|
|
37
|
+
logVersionLoad(version: string): void;
|
|
38
|
+
/**
|
|
39
|
+
* Log a knowledge base proposal event.
|
|
40
|
+
*/
|
|
41
|
+
logKbProposal(scope: string, title: string, proposalId?: string): void;
|
|
42
|
+
/**
|
|
43
|
+
* Flush all outputs that support it.
|
|
44
|
+
*/
|
|
45
|
+
flush(): Promise<void>;
|
|
46
|
+
/**
|
|
47
|
+
* Check whether a tool kind represents a write/mutation operation.
|
|
48
|
+
*/
|
|
49
|
+
static isWriteOperation(kind: Kind): boolean;
|
|
50
|
+
private emit;
|
|
51
|
+
private createOutputs;
|
|
52
|
+
}
|