teng-lin/notebooklm-py2165 files

Notebooklm

Install, authenticate, troubleshoot, and operate Gemini Notebook through the notebooklm-py CLI or typed async Python API. Use for notebook and source management, grounded chat and research, and artifact generation or download when the user mentions Gemini Notebook, notebooklm-py, the notebooklm CLI, or its Python API. Do not use for the generic Gemini API or unrelated content creation.

Specification
Skill ID
teng-lin/notebooklm-py/notebooklm
Publisher
teng-lin
Repository
notebooklm-py
Installs
0
Files
2165
Synced
Sep 23, 2026
How to use it

Open any RiverX project, open the Skills panel in the chat, and search for this identifier. The files are fetched from the source repository at install time.

teng-lin/notebooklm-py/notebooklmInstalls these files
  • .dockerignore
  • .env.example
  • .gitattributes
  • .github/ISSUE_TEMPLATE/bug_report.md
  • .github/ISSUE_TEMPLATE/config.yml
  • .github/ISSUE_TEMPLATE/feature_request.md
  • .github/PULL_REQUEST_TEMPLATE.md
  • .github/codeql-config.yml
  • .github/dependabot.yml
  • .github/workflows/auth-patch-audit.yml
  • .github/workflows/claude.yml
  • .github/workflows/codeql.yml
  • .github/workflows/dependency-audit.yml
  • .github/workflows/fault-stress.yml
  • .github/workflows/nightly-checks.yml
  • .github/workflows/nightly.yml
  • .github/workflows/offline-qualification.yml
  • .github/workflows/pages.yml
  • .github/workflows/publish-docker.yml
  • .github/workflows/publish-mcpb.yml
  • .github/workflows/publish.yml
  • .github/workflows/rpc-health.yml
  • .github/workflows/test.yml
  • .github/workflows/testpypi-publish.yml
  • .github/workflows/verify-package.yml
  • .gitignore
  • .pre-commit-config.yaml
  • AGENTS.md
  • CHANGELOG.md
  • CLAUDE.md
  • CONTRIBUTING.md
  • LICENSE
  • Makefile
  • README.md
  • SECURITY.md
  • SKILL.md
  • deploy/.env.example
  • deploy/.gitignore
  • deploy/Dockerfile
  • deploy/Makefile
  • deploy/README.md
  • deploy/docker-compose.build.yml
  • deploy/docker-compose.yml
  • deploy/setup.sh
  • deploy/tailscale/funnel.json
  • desktop-extension/.mcpbignore
  • desktop-extension/README.md
  • desktop-extension/manifest.json
  • desktop-extension/run_server.py
  • docs/adr/0000-template.md
  • docs/adr/0001-layered-core-seams-and-property-bridge-policy.md
  • docs/adr/0002-capability-protocol-pattern.md
  • docs/adr/0003-auth-facade-write-through.md
  • docs/adr/0004-loop-affinity-contract.md
  • docs/adr/0005-idempotency-taxonomy.md
  • docs/adr/0006-vcr-scrubber-strategy.md
  • docs/adr/0007-test-monkeypatch-policy.md
  • docs/adr/0008-cli-services-extraction-pattern.md
  • docs/adr/0009-middleware-chain.md
  • docs/adr/0010-session-kernel-split.md
  • docs/adr/0011-schema-validation-policy.md
  • docs/adr/0012-implementation-surface-convention.md
  • docs/adr/0013-composable-session-capabilities.md
  • docs/adr/0014-feature-local-runtime-adapters.md
  • docs/adr/0015-json-envelope-contract-for-post-parse-click-exceptions.md
  • docs/adr/0016-auth-identity-and-core-logger-compatibility.md
  • docs/adr/0017-public-facade-private-implementation.md
  • docs/adr/0018-deprecation-strategy.md
  • docs/adr/0019-error-and-return-contract.md
  • docs/adr/0020-sealed-async-result-types.md
  • docs/adr/0021-transport-neutral-app-layer.md
  • docs/adr/0022-regenerable-baselines.md
  • docs/adr/0023-master-token-headless-auth.md
  • docs/adr/0024-mcp-remote-file-transfer.md
  • docs/adr/0025-mcp-tool-granularity.md
  • docs/adr/0026-mcp-studio-surface.md
  • docs/adr/0027-mcp-app-upload-widget.md
  • docs/adr/0028-gemini-notebook-rename.md
  • docs/adr/0029-canonical-storage-writer.md
  • docs/adr/0030-one-recovery-ladder.md
  • docs/adr/0031-credential-tier-auth-model.md
  • docs/adr/0032-auth-domain-types.md
  • docs/adr/0033-auth-consolidation-policy.md
  • docs/adr/0034-auth-storage-object-model.md
  • docs/adr/0035-mobile-resilience-transport.md
  • docs/adr/0036-browser-acquisition-package.md
  • docs/adr/0037-live-usage-and-quota-api.md
  • docs/adr/0038-local-fault-injection-harness.md
  • docs/adr/0039-backend-specific-credential-surfaces.md
  • docs/adr/README.md
  • docs/android/README.md
  • docs/android/android-traffic-capture.md
  • docs/android/artifact-contracts-and-live-validation.md
  • docs/android/auth-research.md
  • docs/android/blutter-dart3.13.patch
  • docs/android/blutter-grpc-signature-evidence.md
  • docs/android/capture.md
  • docs/android/chat-session-control-evidence.md
  • docs/android/copy-append-suggestion-evidence.md
  • docs/android/deep-research-evidence.md
  • docs/android/endpoints.md
  • docs/android/enums.txt
  • docs/android/file-transfer-evidence.md
  • docs/android/grpc-capability-and-signature-evidence.md
  • docs/android/grpc-runtime-parser-overrides.json
  • docs/android/grpc-service-signature-exceptions.json
  • docs/android/grpc-service-signature-inferences.json
  • docs/android/proto-evidence-ledger.md
  • docs/android/public-api-audit.md
  • docs/android/resource-lifecycle-and-public-qualification.md
  • docs/android/schema.proto
  • docs/android/source-search-evidence.md
  • docs/android/usage-quota-evidence.md
  • docs/android/web-compat-seam-closure.md
  • docs/architecture.md
  • docs/auth-cookie-lifecycle.md
  • docs/cli-exit-codes.md
  • docs/cli-reference.md
  • docs/configuration.md
  • docs/conventions.md
  • docs/deprecations.md
  • docs/development.md
  • docs/diagrams/01-system-overview.architecture.json
  • docs/diagrams/01-system-overview.html
  • docs/diagrams/02-adapters-and-app-layer.architecture.json
  • docs/diagrams/02-adapters-and-app-layer.html
  • docs/diagrams/03-client-runtime-and-transport.architecture.json
  • docs/diagrams/03-client-runtime-and-transport.html
  • docs/diagrams/04-authentication.architecture.json
  • docs/diagrams/04-authentication.html
  • docs/diagrams/05-feature-services.architecture.json
  • docs/diagrams/05-feature-services.html
  • docs/diagrams/06-backends-web-and-android.architecture.json
  • docs/diagrams/06-backends-web-and-android.html
  • docs/diagrams/07-rpc-call-path.html
  • docs/diagrams/07-rpc-call-path.sequence.json
  • docs/diagrams/08-artifacts-class-model.architecture.json
  • docs/diagrams/08-artifacts-class-model.html
  • docs/diagrams/09-exception-hierarchy.architecture.json
  • docs/diagrams/09-exception-hierarchy.html
  • docs/diagrams/10-login-workflow.html
  • docs/diagrams/10-login-workflow.workflow.json
  • docs/diagrams/11-chat-ask-sequence.html
  • docs/diagrams/11-chat-ask-sequence.sequence.json
  • docs/diagrams/12-source-ingest-dataflow.dataflow.json
  • docs/diagrams/12-source-ingest-dataflow.html
  • docs/diagrams/13-artifact-lifecycle.html
  • docs/diagrams/13-artifact-lifecycle.lifecycle.json
  • docs/diagrams/14-android-backend.architecture.json
  • docs/diagrams/14-android-backend.html
  • docs/diagrams/15-android-call-path.html
  • docs/diagrams/15-android-call-path.sequence.json
  • docs/diagrams/16-cli-subsystem.architecture.json
  • docs/diagrams/16-cli-subsystem.html
  • docs/diagrams/17-mcp-subsystem.architecture.json
  • docs/diagrams/17-mcp-subsystem.html
  • docs/diagrams/18-rest-server-subsystem.architecture.json
  • docs/diagrams/18-rest-server-subsystem.html
  • docs/diagrams/19-client-resource-lifecycle.html
  • docs/diagrams/19-client-resource-lifecycle.lifecycle.json
  • docs/diagrams/20-retry-policy-workflow.html
  • docs/diagrams/20-retry-policy-workflow.workflow.json
  • docs/diagrams/21-deep-research-lifecycle.html
  • docs/diagrams/21-deep-research-lifecycle.lifecycle.json
  • docs/diagrams/22-testing-and-guardrails.architecture.json
  • docs/diagrams/22-testing-and-guardrails.html
  • docs/diagrams/23-runtime-class-model.architecture.json
  • docs/diagrams/23-runtime-class-model.html
  • docs/diagrams/24-auth-class-model.architecture.json
  • docs/diagrams/24-auth-class-model.html
  • docs/diagrams/25-sources-class-model.architecture.json
  • docs/diagrams/25-sources-class-model.html
  • docs/diagrams/26-chat-notes-class-model.architecture.json
  • docs/diagrams/26-chat-notes-class-model.html
  • docs/diagrams/27-capability-contracts.architecture.json
  • docs/diagrams/27-capability-contracts.html
  • docs/diagrams/28-profile-auth-backend-selection.workflow.html
  • docs/diagrams/28-profile-auth-backend-selection.workflow.json
  • docs/diagrams/29-organization-and-sharing.architecture.html
  • docs/diagrams/29-organization-and-sharing.architecture.json
  • docs/diagrams/30-transfer-security-boundaries.dataflow.html
  • docs/diagrams/30-transfer-security-boundaries.dataflow.json
  • docs/diagrams/31-cold-auth-recovery.html
  • docs/diagrams/31-cold-auth-recovery.sequence.json
  • docs/diagrams/32-mcp-client-provider.html
  • docs/diagrams/32-mcp-client-provider.sequence.json
  • docs/diagrams/33-mcp-detached-chat-task.html
  • docs/diagrams/33-mcp-detached-chat-task.lifecycle.json
  • docs/diagrams/34-client-ownership-boundaries.architecture.json
  • docs/diagrams/34-client-ownership-boundaries.html
  • docs/diagrams/35-client-construction-and-lifecycle.html
  • docs/diagrams/35-client-construction-and-lifecycle.lifecycle.json
  • docs/diagrams/36-operation-deadline-and-cancellation.html
  • docs/diagrams/36-operation-deadline-and-cancellation.sequence.json
  • docs/diagrams/37-operation-journal-and-recovery.dataflow.json
  • docs/diagrams/37-operation-journal-and-recovery.html
  • docs/diagrams/38-adapter-prepare-confirm-execute.html
  • docs/diagrams/38-adapter-prepare-confirm-execute.workflow.json
  • docs/diagrams/39-fault-coverage.architecture.json
  • docs/diagrams/39-fault-coverage.html
  • docs/diagrams/40-fault-scenario-lifecycle.html
  • docs/diagrams/40-fault-scenario-lifecycle.workflow.json
  • docs/diagrams/README.md
  • docs/e2e-quota-efficiency.md
  • docs/fault-injection.md
  • docs/installation.md
  • docs/mcp-guide.md
  • docs/python-api.md
  • docs/quota-limits.md
  • docs/refactor-history.md
  • docs/releasing.md
  • docs/rpc-development.md
  • docs/rpc-reference.md
  • docs/security.md
  • docs/stability.md
  • docs/troubleshooting.md
  • docs/upgrading-to-0.8.0.md
  • docs/web-android-public-behavior.md
  • examples/bulk-import.py
  • examples/chat.py
  • examples/notes.py
  • examples/quickstart.py
  • examples/refresh_browser_cookies.py
  • examples/research-to-podcast.py
  • examples/video.py
  • hatch_build.py
  • notebooklm-py.png
  • pyproject.toml
  • scripts/__init__.py
  • scripts/_ci_e2e_notebooks.py
  • scripts/_ci_progress.py
  • scripts/_ci_rpc_progress.py
  • scripts/_live_auth_scenarios/__init__.py
  • scripts/_live_auth_scenarios/_contract.py
  • scripts/_live_auth_scenarios/browser_refresh.py
  • scripts/_live_auth_scenarios/crash_safe_writer.py
  • scripts/_live_auth_scenarios/master_token_recovery.py
  • scripts/_live_auth_scenarios/mcp_recovery.py
  • scripts/_live_auth_scenarios/rest_recovery.py
  • scripts/_live_auth_scenarios/sibling_concurrent_reload.py
  • scripts/_live_auth_scenarios/storage_reload.py
  • scripts/_onetime_rescrub_cookies.py
  • scripts/_onetime_retarget_cassette_hosts.py
  • scripts/_strip_audit_refs.py
  • scripts/_tracked_files.py
  • scripts/aggregate_ci_e2e_outcomes.py
  • scripts/android_grpc_canary.py
  • scripts/api-compat-allowlist.json
  • scripts/audit_auth_import_graph.py
  • scripts/audit_auth_patch_sites.py
  • scripts/audit_auth_shared_mutations.py
  • scripts/audit_backend_coupling.py
  • scripts/audit_public_api_compat.py
  • scripts/audit_test_suite.py
  • scripts/capture_mobile_grpc.js
  • scripts/capture_rpc_registry.py
  • scripts/check_action_pinning.py
  • scripts/check_auth_behavior_scenario_policy.py
  • scripts/check_auth_coverage_delta.py
  • scripts/check_auth_lifecycle_cleanup_policy.py
  • scripts/check_base_wheel.py
  • scripts/check_ci_install_parity.py
  • scripts/check_claude_md_freshness.py
  • scripts/check_coverage_thresholds.py
  • scripts/check_deprecation_targets.py
  • scripts/check_docs_module_refs.py
  • scripts/check_rpc_health.py
  • scripts/check_workflow_permissions.py
  • scripts/check_workflow_secret_gates.py
  • scripts/decode_mobile_grpc.py
  • scripts/diagnose_get_notebook.py
  • scripts/extract_blutter_grpc_signatures.py
  • scripts/live_auth_matrix.py
  • scripts/manage_ci_e2e_notebooks.py
  • scripts/materialize_ci_auth.py
  • scripts/mcp_live_smoke.py
  • scripts/parse_pbenums.py
  • scripts/parse_pbschema.py
  • scripts/regen_baselines.py
  • scripts/regenerate_android_protos.py
  • scripts/rescrub-cassettes.py
  • scripts/scrub_rpc_har.py
  • scripts/select_ci_account.py
  • scripts/stress_fault_server.py
  • scripts/test_taxonomy_inventory.py
  • scripts/verify_ci_artifacts.py
  • src/notebooklm/__init__.py
  • src/notebooklm/__main__.py
  • src/notebooklm/_adapter_support.py
  • src/notebooklm/_android/__init__.py
  • src/notebooklm/_android/account.py
  • src/notebooklm/_android/artifact_collaborators.py
  • src/notebooklm/_android/artifact_creation.py
  • src/notebooklm/_android/artifact_mutations.py
  • src/notebooklm/_android/artifact_note_mind_maps.py
  • src/notebooklm/_android/artifact_outputs.py
  • src/notebooklm/_android/artifact_proto.py
  • src/notebooklm/_android/artifact_reads.py
  • src/notebooklm/_android/artifact_transfers.py
  • src/notebooklm/_android/artifacts.py
  • src/notebooklm/_android/assembly.py
  • src/notebooklm/_android/assets.py
  • src/notebooklm/_android/auth.py
  • src/notebooklm/_android/chat.py
  • src/notebooklm/_android/codecs/__init__.py
  • src/notebooklm/_android/codecs/account.py
  • src/notebooklm/_android/codecs/artifacts.py
  • src/notebooklm/_android/codecs/chat.py
  • src/notebooklm/_android/codecs/documents.py
  • src/notebooklm/_android/codecs/notebooks.py
  • src/notebooklm/_android/codecs/notes.py
  • src/notebooklm/_android/codecs/organization.py
  • src/notebooklm/_android/codecs/research.py
  • src/notebooklm/_android/codecs/sharing.py
  • src/notebooklm/_android/codecs/sources.py
  • src/notebooklm/_android/codecs/usage.py
  • src/notebooklm/_android/collections.py
  • src/notebooklm/_android/drive_staging.py
  • src/notebooklm/_android/epoch.py
  • src/notebooklm/_android/errors.py
  • src/notebooklm/_android/evidence.py
  • src/notebooklm/_android/labels.py
  • src/notebooklm/_android/mind_maps.py
  • src/notebooklm/_android/note_backed.py
  • src/notebooklm/_android/notebooks.py
  • src/notebooklm/_android/notes.py
  • src/notebooklm/_android/organization.py
  • src/notebooklm/_android/phenotype.py
  • src/notebooklm/_android/play_books.py
  • src/notebooklm/_android/proto/__init__.py
  • src/notebooklm/_android/proto/google/internal/labs/tailwind/api/v1/quota_pb2.py
  • src/notebooklm/_android/proto/google/internal/labs/tailwind/api/v1/quota_pb2_grpc.py
  • src/notebooklm/_android/proto/google/internal/labs/tailwind/metering/v1/metering_pb2.py
  • src/notebooklm/_android/proto/google/internal/labs/tailwind/metering/v1/metering_pb2_grpc.py
  • src/notebooklm/_android/proto/google/internal/labs/tailwind/orchestration/v1/account_pb2.py
  • src/notebooklm/_android/proto/google/internal/labs/tailwind/orchestration/v1/account_pb2_grpc.py
  • src/notebooklm/_android/proto/google/internal/labs/tailwind/orchestration/v1/agency/supported_pb2.py
  • src/notebooklm/_android/proto/google/internal/labs/tailwind/orchestration/v1/agency/supported_pb2_grpc.py
  • src/notebooklm/_android/proto/google/internal/labs/tailwind/orchestration/v1/artifacts_pb2.py
  • src/notebooklm/_android/proto/google/internal/labs/tailwind/orchestration/v1/artifacts_pb2_grpc.py
  • src/notebooklm/_android/proto/google/internal/labs/tailwind/orchestration/v1/chat_pb2.py
  • src/notebooklm/_android/proto/google/internal/labs/tailwind/orchestration/v1/chat_pb2_grpc.py
  • src/notebooklm/_android/proto/google/internal/labs/tailwind/orchestration/v1/notebooks_pb2.py
  • src/notebooklm/_android/proto/google/internal/labs/tailwind/orchestration/v1/notebooks_pb2_grpc.py
  • src/notebooklm/_android/proto/google/internal/labs/tailwind/orchestration/v1/notes_pb2.py
  • src/notebooklm/_android/proto/google/internal/labs/tailwind/orchestration/v1/notes_pb2_grpc.py
  • src/notebooklm/_android/proto/google/internal/labs/tailwind/orchestration/v1/orchestration_service_pb2.py
  • src/notebooklm/_android/proto/google/internal/labs/tailwind/orchestration/v1/orchestration_service_pb2_grpc.py
  • src/notebooklm/_android/proto/google/internal/labs/tailwind/orchestration/v1/organization_pb2.py
  • src/notebooklm/_android/proto/google/internal/labs/tailwind/orchestration/v1/organization_pb2_grpc.py
  • src/notebooklm/_android/proto/google/internal/labs/tailwind/orchestration/v1/read_pb2.py
  • src/notebooklm/_android/proto/google/internal/labs/tailwind/orchestration/v1/read_pb2_grpc.py
  • src/notebooklm/_android/proto/google/internal/labs/tailwind/orchestration/v1/research_pb2.py
  • src/notebooklm/_android/proto/google/internal/labs/tailwind/orchestration/v1/research_pb2_grpc.py
  • src/notebooklm/_android/proto/google/internal/labs/tailwind/orchestration/v1/sources_pb2.py
  • src/notebooklm/_android/proto/google/internal/labs/tailwind/orchestration/v1/sources_pb2_grpc.py
  • src/notebooklm/_android/proto/google/internal/labs/tailwind/v1/source_settings_pb2.py
  • src/notebooklm/_android/proto/google/internal/labs/tailwind/v1/source_settings_pb2_grpc.py
  • src/notebooklm/_android/proto/labs/language/tailwind/common/protos/common_pb2.py
  • src/notebooklm/_android/proto/labs/language/tailwind/common/protos/common_pb2_grpc.py
  • src/notebooklm/_android/proto/labs/language/tailwind/common/protos/metadata_pb2.py
  • src/notebooklm/_android/proto/labs/language/tailwind/common/protos/metadata_pb2_grpc.py
  • src/notebooklm/_android/proto/labs/language/tailwind/common/protos/provenance_pb2.py
  • src/notebooklm/_android/proto/labs/language/tailwind/common/protos/provenance_pb2_grpc.py
  • src/notebooklm/_android/proto/labs/language/tailwind/sharing/sharing_pb2.py
  • src/notebooklm/_android/proto/labs/language/tailwind/sharing/sharing_pb2_grpc.py
  • src/notebooklm/_android/proto/notebooklm/android/wire/v1/organization_mutations_pb2.py
  • src/notebooklm/_android/proto/notebooklm/android/wire/v1/organization_mutations_pb2_grpc.py
  • src/notebooklm/_android/proto/notebooklm/android/wire/v1/sharing_pb2.py
  • src/notebooklm/_android/proto/notebooklm/android/wire/v1/sharing_pb2_grpc.py
  • src/notebooklm/_android/proto/notebooklm/experiments/v1/exptsandconfigs_pb2.py
  • src/notebooklm/_android/proto/notebooklm/experiments/v1/exptsandconfigs_pb2_grpc.py
  • src/notebooklm/_android/proto/notebooklm/internal/android/wire/v1/artifacts_pb2.py
  • src/notebooklm/_android/proto/notebooklm/internal/android/wire/v1/artifacts_pb2_grpc.py
  • src/notebooklm/_android/proto/notebooklm/internal/android/wire/v1/notebooks_pb2.py
  • src/notebooklm/_android/proto/notebooklm/internal/android/wire/v1/notebooks_pb2_grpc.py
  • src/notebooklm/_android/proto/notebooklm/internal/android/wire/v1/source_content_pb2.py
  • src/notebooklm/_android/proto/notebooklm/internal/android/wire/v1/source_content_pb2_grpc.py
  • src/notebooklm/_android/proto/notebooklm/internal/android/wire/v1/usage_pb2.py
  • src/notebooklm/_android/proto/notebooklm/internal/android/wire/v1/usage_pb2_grpc.py
  • src/notebooklm/_android/proto_src/google/internal/labs/tailwind/api/v1/quota.proto
  • src/notebooklm/_android/proto_src/google/internal/labs/tailwind/metering/v1/metering.proto
  • src/notebooklm/_android/proto_src/google/internal/labs/tailwind/orchestration/v1/account.proto
  • src/notebooklm/_android/proto_src/google/internal/labs/tailwind/orchestration/v1/agency/supported.proto
  • src/notebooklm/_android/proto_src/google/internal/labs/tailwind/orchestration/v1/artifacts.proto
  • src/notebooklm/_android/proto_src/google/internal/labs/tailwind/orchestration/v1/chat.proto
  • src/notebooklm/_android/proto_src/google/internal/labs/tailwind/orchestration/v1/notebooks.proto
  • src/notebooklm/_android/proto_src/google/internal/labs/tailwind/orchestration/v1/notes.proto
  • src/notebooklm/_android/proto_src/google/internal/labs/tailwind/orchestration/v1/orchestration_service.proto
  • src/notebooklm/_android/proto_src/google/internal/labs/tailwind/orchestration/v1/organization.proto
  • src/notebooklm/_android/proto_src/google/internal/labs/tailwind/orchestration/v1/read.proto
  • src/notebooklm/_android/proto_src/google/internal/labs/tailwind/orchestration/v1/research.proto
  • src/notebooklm/_android/proto_src/google/internal/labs/tailwind/orchestration/v1/sources.proto
  • src/notebooklm/_android/proto_src/google/internal/labs/tailwind/v1/source_settings.proto
  • src/notebooklm/_android/proto_src/labs/language/tailwind/common/protos/common.proto
  • src/notebooklm/_android/proto_src/labs/language/tailwind/common/protos/metadata.proto
  • src/notebooklm/_android/proto_src/labs/language/tailwind/common/protos/provenance.proto
  • src/notebooklm/_android/proto_src/labs/language/tailwind/sharing/sharing.proto
  • src/notebooklm/_android/proto_src/notebooklm/android/wire/v1/organization_mutations.proto
  • src/notebooklm/_android/proto_src/notebooklm/android/wire/v1/sharing.proto
  • src/notebooklm/_android/proto_src/notebooklm/experiments/v1/exptsandconfigs.proto
  • src/notebooklm/_android/proto_src/notebooklm/internal/android/wire/v1/artifacts.proto
  • src/notebooklm/_android/proto_src/notebooklm/internal/android/wire/v1/notebooks.proto
  • src/notebooklm/_android/proto_src/notebooklm/internal/android/wire/v1/source_content.proto
  • src/notebooklm/_android/proto_src/notebooklm/internal/android/wire/v1/usage.proto
  • src/notebooklm/_android/raw.py
  • src/notebooklm/_android/research.py
  • src/notebooklm/_android/retry_policy.py
  • src/notebooklm/_android/runtime.py
  • src/notebooklm/_android/session.py
  • src/notebooklm/_android/settings.py
  • src/notebooklm/_android/sharing.py
  • src/notebooklm/_android/source_batch.py
  • src/notebooklm/_android/source_search.py
  • src/notebooklm/_android/source_transfers.py
  • src/notebooklm/_android/sources.py
  • src/notebooklm/_android/upload.py
  • src/notebooklm/_android/upload_deadlines.py
  • src/notebooklm/_app/__init__.py
  • src/notebooklm/_app/artifacts.py
  • src/notebooklm/_app/auth_check.py
  • src/notebooklm/_app/chat.py
  • src/notebooklm/_app/client_config.py
  • src/notebooklm/_app/collections.py
  • src/notebooklm/_app/doctor.py
  • src/notebooklm/_app/download.py
  • src/notebooklm/_app/download_specs.py
  • src/notebooklm/_app/errors.py
  • src/notebooklm/_app/events.py
  • src/notebooklm/_app/generate.py
  • src/notebooklm/_app/generate_retry.py
  • src/notebooklm/_app/generation_requests.py
  • src/notebooklm/_app/labels.py
  • src/notebooklm/_app/language.py
  • src/notebooklm/_app/login_browser.py
  • src/notebooklm/_app/login_cookie.py
  • src/notebooklm/_app/master_token.py
  • src/notebooklm/_app/mcp_install.py
  • src/notebooklm/_app/notebooks.py
  • src/notebooklm/_app/notes.py
  • src/notebooklm/_app/pagination.py
  • src/notebooklm/_app/profile.py
  • src/notebooklm/_app/research.py
  • src/notebooklm/_app/resolve.py
  • src/notebooklm/_app/serialize.py
  • src/notebooklm/_app/session.py
  • src/notebooklm/_app/sharing.py
  • src/notebooklm/_app/skill.py
  • src/notebooklm/_app/source_add.py
  • src/notebooklm/_app/source_batch.py
  • src/notebooklm/_app/source_clean.py
  • src/notebooklm/_app/source_content.py
  • src/notebooklm/_app/source_listing.py
  • src/notebooklm/_app/source_mutations.py
  • src/notebooklm/_app/source_play_books.py
  • src/notebooklm/_app/source_research.py
  • src/notebooklm/_app/source_wait.py
  • src/notebooklm/_app/views.py
  • src/notebooklm/_artifact/__init__.py
  • src/notebooklm/_artifact/_download_client.py
  • src/notebooklm/_artifact/_guarded_transfer.py
  • src/notebooklm/_artifact/_publication.py
  • src/notebooklm/_artifact/_redirect_guard.py
  • src/notebooklm/_artifact/creation.py
  • src/notebooklm/_artifact/creation_normalized.py
  • src/notebooklm/_artifact/creation_policy.py
  • src/notebooklm/_artifact/creation_reports.py
  • src/notebooklm/_artifact/download_selection.py
  • src/notebooklm/_artifact/downloads.py
  • src/notebooklm/_artifact/formatters.py
  • src/notebooklm/_artifact/polling.py
  • src/notebooklm/_artifact/validation.py
  • src/notebooklm/_artifacts.py
  • src/notebooklm/_atomic_io.py
  • src/notebooklm/_auth/__init__.py
  • src/notebooklm/_auth/account.py
  • src/notebooklm/_auth/account_email.py
  • src/notebooklm/_auth/account_repair.py
  • src/notebooklm/_auth/account_types.py
  • src/notebooklm/_auth/bound_refresh.py
  • src/notebooklm/_auth/cookie_filter.py
  • src/notebooklm/_auth/cookie_merge.py
  • src/notebooklm/_auth/cookie_policy.py
  • src/notebooklm/_auth/cookie_semantics.py
  • src/notebooklm/_auth/cookie_types.py
  • src/notebooklm/_auth/cookies.py
  • src/notebooklm/_auth/credential_io.py
  • src/notebooklm/_auth/extraction.py
  • src/notebooklm/_auth/keepalive.py
  • src/notebooklm/_auth/master_token.py
  • src/notebooklm/_auth/master_token_bootstrap.py
  • src/notebooklm/_auth/master_token_file.py
  • src/notebooklm/_auth/master_token_types.py
  • src/notebooklm/_auth/mint_service.py
  • src/notebooklm/_auth/paths.py
  • src/notebooklm/_auth/profile_account.py
  • src/notebooklm/_auth/profile_document.py
  • src/notebooklm/_auth/profile_migration.py
  • src/notebooklm/_auth/profile_store.py
  • src/notebooklm/_auth/psidts_recovery.py
  • src/notebooklm/_auth/recovery.py
  • src/notebooklm/_auth/recovery_rungs.py
  • src/notebooklm/_auth/refresh.py
  • src/notebooklm/_auth/single_flight.py
  • src/notebooklm/_auth/storage.py
  • src/notebooklm/_auth/storage_lock.py
  • src/notebooklm/_auth/tokens.py
  • src/notebooklm/_backoff.py
  • src/notebooklm/_browser/__init__.py
  • src/notebooklm/_browser/browser_capture.py
  • src/notebooklm/_browser/browser_launch_errors.py
  • src/notebooklm/_browser/headless_reauth.py
  • src/notebooklm/_browser/navigation_errors.py
  • src/notebooklm/_browser/oauth_token.py
  • src/notebooklm/_callbacks.py
  • src/notebooklm/_chat.py
  • src/notebooklm/_client_assembly.py
  • src/notebooklm/_client_compat.py
  • src/notebooklm/_client_contracts.py
  • src/notebooklm/_client_metrics.py
  • src/notebooklm/_client_options.py
  • src/notebooklm/_collections.py
  • src/notebooklm/_conversation_cache.py
  • src/notebooklm/_curl_cffi_transport.py
  • src/notebooklm/_deadline.py
  • src/notebooklm/_deprecation.py
  • src/notebooklm/_env.py
  • src/notebooklm/_hop_credentials.py
  • src/notebooklm/_http_client_factory.py
  • src/notebooklm/_idempotency.py
  • src/notebooklm/_labels.py
  • src/notebooklm/_logging.py
  • src/notebooklm/_lookup.py
  • src/notebooklm/_loop_affinity.py
  • src/notebooklm/_loop_bound.py
  • src/notebooklm/_mind_maps_api.py
  • src/notebooklm/_notebook_metadata.py
  • src/notebooklm/_notebooks.py
  • src/notebooklm/_notes.py
  • src/notebooklm/_polling_registry.py
  • src/notebooklm/_redact.py
  • src/notebooklm/_request_context.py
  • src/notebooklm/_request_policy.py
  • src/notebooklm/_research.py
  • src/notebooklm/_research_import.py
  • src/notebooklm/_runtime/__init__.py
  • src/notebooklm/_runtime/auth_refresh_retry.py
  • src/notebooklm/_runtime/call_supervisor.py
  • src/notebooklm/_runtime/config.py
  • src/notebooklm/_runtime/contracts.py
  • src/notebooklm/_runtime/error_injection.py
  • src/notebooklm/_runtime/helpers.py
  • src/notebooklm/_runtime/init.py
  • src/notebooklm/_runtime/lifecycle.py
  • src/notebooklm/_runtime/operation_context.py
  • src/notebooklm/_runtime/retry_budget.py
  • src/notebooklm/_secrets.py
  • src/notebooklm/_serving.py
  • src/notebooklm/_settings.py
  • src/notebooklm/_sharing.py
  • src/notebooklm/_source/__init__.py
  • src/notebooklm/_source/batch.py
  • src/notebooklm/_source/delete_batch.py
  • src/notebooklm/_source/drive.py
  • src/notebooklm/_source/markdown.py
  • src/notebooklm/_source/polling.py
  • src/notebooklm/_sources.py
  • src/notebooklm/_types/__init__.py
  • src/notebooklm/_types/artifact_content.py
  • src/notebooklm/_types/artifact_download.py
  • src/notebooklm/_types/artifacts.py
  • src/notebooklm/_types/chat.py
  • src/notebooklm/_types/collections.py
  • src/notebooklm/_types/common.py
  • src/notebooklm/_types/documents.py
  • src/notebooklm/_types/enums.py
  • src/notebooklm/_types/labels.py
  • src/notebooklm/_types/mind_maps.py
  • src/notebooklm/_types/notebooks.py
  • src/notebooklm/_types/notes.py
  • src/notebooklm/_types/research.py
  • src/notebooklm/_types/sharing.py
  • src/notebooklm/_types/source_delete.py
  • src/notebooklm/_types/sources.py
  • src/notebooklm/_types/usage.py
  • src/notebooklm/_url_utils.py
  • src/notebooklm/_usage.py
  • src/notebooklm/_version_check.py
  • src/notebooklm/_version_info.py
  • src/notebooklm/_web/__init__.py
  • src/notebooklm/_web/artifact/__init__.py
  • src/notebooklm/_web/artifact/downloads.py
  • src/notebooklm/_web/artifact/generation.py
  • src/notebooklm/_web/artifact/listing.py
  • src/notebooklm/_web/artifact/table.py
  • src/notebooklm/_web/artifacts.py
  • src/notebooklm/_web/assembly.py
  • src/notebooklm/_web/assets.py
  • src/notebooklm/_web/chat.py
  • src/notebooklm/_web/collections.py
  • src/notebooklm/_web/contracts.py
  • src/notebooklm/_web/labels.py
  • src/notebooklm/_web/mind_maps.py
  • src/notebooklm/_web/note_tasks.py
  • src/notebooklm/_web/notebooks.py
  • src/notebooklm/_web/notes.py
  • src/notebooklm/_web/params/__init__.py
  • src/notebooklm/_web/params/artifacts.py
  • src/notebooklm/_web/params/chat_note.py
  • src/notebooklm/_web/params/chat_session.py
  • src/notebooklm/_web/params/chat_stream.py
  • src/notebooklm/_web/params/collections.py
  • src/notebooklm/_web/params/creation.py
  • src/notebooklm/_web/params/labels.py
  • src/notebooklm/_web/params/notebooks.py
  • src/notebooklm/_web/params/sources.py
  • src/notebooklm/_web/policy.py
  • src/notebooklm/_web/raw.py
  • src/notebooklm/_web/research.py
  • src/notebooklm/_web/rows/__init__.py
  • src/notebooklm/_web/rows/artifacts.py
  • src/notebooklm/_web/rows/chat.py
  • src/notebooklm/_web/rows/chat_stream.py
  • src/notebooklm/_web/rows/chunks.py
  • src/notebooklm/_web/rows/collections.py
  • src/notebooklm/_web/rows/customization.py
  • src/notebooklm/_web/rows/documents.py
  • src/notebooklm/_web/rows/labels.py
  • src/notebooklm/_web/rows/notebooks.py
  • src/notebooklm/_web/rows/notes.py
  • src/notebooklm/_web/rows/play_books.py
  • src/notebooklm/_web/rows/research.py
  • src/notebooklm/_web/rows/research_task.py
  • src/notebooklm/_web/rows/sharing.py
  • src/notebooklm/_web/rows/source_models.py
  • src/notebooklm/_web/rows/sources.py
  • src/notebooklm/_web/rows/transfers.py
  • src/notebooklm/_web/rows/usage.py
  • src/notebooklm/_web/settings.py
  • src/notebooklm/_web/sharing.py
  • src/notebooklm/_web/sources/__init__.py
  • src/notebooklm/_web/sources/_upload_decode.py
  • src/notebooklm/_web/sources/add.py
  • src/notebooklm/_web/sources/batch.py
  • src/notebooklm/_web/sources/content.py
  • src/notebooklm/_web/sources/drive_import.py
  • src/notebooklm/_web/sources/listing.py
  • src/notebooklm/_web/sources/play_books.py
  • src/notebooklm/_web/sources/search.py
  • src/notebooklm/_web/sources/transfers.py
  • src/notebooklm/_web/sources/upload.py
  • src/notebooklm/_web/transport/__init__.py
  • src/notebooklm/_web/transport/auth.py
  • src/notebooklm/_web/transport/auth_refresh_retry.py
  • src/notebooklm/_web/transport/chat.py
  • src/notebooklm/_web/transport/composed.py
  • src/notebooklm/_web/transport/config.py
  • src/notebooklm/_web/transport/cookie_persistence.py
  • src/notebooklm/_web/transport/error_injection.py
  • src/notebooklm/_web/transport/errors.py
  • src/notebooklm/_web/transport/executor.py
  • src/notebooklm/_web/transport/init.py
  • src/notebooklm/_web/transport/kernel.py
  • src/notebooklm/_web/transport/lifecycle.py
  • src/notebooklm/_web/transport/middleware/__init__.py
  • src/notebooklm/_web/transport/middleware/auth_refresh.py
  • src/notebooklm/_web/transport/middleware/chain.py
  • src/notebooklm/_web/transport/middleware/chain_host.py
  • src/notebooklm/_web/transport/middleware/context.py
  • src/notebooklm/_web/transport/middleware/core.py
  • src/notebooklm/_web/transport/middleware/error_injection.py
  • src/notebooklm/_web/transport/middleware/retry.py
  • src/notebooklm/_web/transport/middleware/tracing.py
  • src/notebooklm/_web/transport/reqid_counter.py
  • src/notebooklm/_web/transport/request_types.py
  • src/notebooklm/_web/transport/runtime.py
  • src/notebooklm/_web/transport/seams.py
  • src/notebooklm/_web/transport/session_auth.py
  • src/notebooklm/_web/transport/sidecar.py
  • src/notebooklm/_web/transport/streaming_post.py
  • src/notebooklm/_web/usage.py
  • src/notebooklm/_web/wire/__init__.py
  • src/notebooklm/_web/wire/decoder.py
  • src/notebooklm/_web/wire/encoder.py
  • src/notebooklm/_web/wire/overrides.py
  • src/notebooklm/_web/wire/safe_index.py
  • src/notebooklm/artifacts.py
  • src/notebooklm/auth.py
  • src/notebooklm/cli/__init__.py
  • src/notebooklm/cli/_chromium_profiles.py
  • src/notebooklm/cli/_cookie_import.py
  • src/notebooklm/cli/_download_specs.py
  • src/notebooklm/cli/_encoding.py
  • src/notebooklm/cli/_firefox_containers.py
  • src/notebooklm/cli/_generate_render.py
  • src/notebooklm/cli/_session_render.py
  • src/notebooklm/cli/_source_render.py
  • src/notebooklm/cli/agent_cmd.py
  • src/notebooklm/cli/agent_templates.py
  • src/notebooklm/cli/artifact_cmd.py
  • src/notebooklm/cli/auth_runtime.py
  • src/notebooklm/cli/chat_cmd.py
  • src/notebooklm/cli/collection_cmd.py
  • src/notebooklm/cli/completion.py
  • src/notebooklm/cli/context.py
  • src/notebooklm/cli/doctor_cmd.py
  • src/notebooklm/cli/download_cmd.py
  • src/notebooklm/cli/download_helpers.py
  • src/notebooklm/cli/error_handler.py
  • src/notebooklm/cli/generate_cmd.py
  • src/notebooklm/cli/grouped.py
  • src/notebooklm/cli/helpers.py
  • src/notebooklm/cli/input.py
  • src/notebooklm/cli/label_cmd.py
  • src/notebooklm/cli/language_cmd.py
  • src/notebooklm/cli/master_token_login.py
  • src/notebooklm/cli/mcp_cmd.py
  • src/notebooklm/cli/note_cmd.py
  • src/notebooklm/cli/notebook_cmd.py
  • src/notebooklm/cli/options.py
  • src/notebooklm/cli/playwright_login_io.py
  • src/notebooklm/cli/polling_ui.py
  • src/notebooklm/cli/profile_cmd.py
  • src/notebooklm/cli/rendering.py
  • src/notebooklm/cli/research_cmd.py
  • src/notebooklm/cli/research_import.py
  • src/notebooklm/cli/resolve.py
  • src/notebooklm/cli/runtime.py
  • src/notebooklm/cli/services/__init__.py
  • src/notebooklm/cli/services/auth_diagnostics.py
  • src/notebooklm/cli/services/auth_refresh.py
  • src/notebooklm/cli/services/auth_source.py
  • src/notebooklm/cli/services/confirming_mutation.py
  • src/notebooklm/cli/services/download.py
  • src/notebooklm/cli/services/label_listing.py
  • src/notebooklm/cli/services/listing.py
  • src/notebooklm/cli/services/login/__init__.py
  • src/notebooklm/cli/services/login/browser_accounts.py
  • src/notebooklm/cli/services/login/chromium_accounts.py
  • src/notebooklm/cli/services/login/cookie_domains.py
  • src/notebooklm/cli/services/login/cookie_jar.py
  • src/notebooklm/cli/services/login/cookie_writes.py
  • src/notebooklm/cli/services/login/exceptions.py
  • src/notebooklm/cli/services/login/firefox_accounts.py
  • src/notebooklm/cli/services/login/io_seam.py
  • src/notebooklm/cli/services/login/master_token.py
  • src/notebooklm/cli/services/login/outcomes.py
  • src/notebooklm/cli/services/login/profile_targets.py
  • src/notebooklm/cli/services/login/refresh.py
  • src/notebooklm/cli/services/login/rookie_cookies_errors.py
  • src/notebooklm/cli/services/playwright_login.py
  • src/notebooklm/cli/services/playwright_redaction.py
  • src/notebooklm/cli/services/polling.py
  • src/notebooklm/cli/services/research.py
  • src/notebooklm/cli/services/session_context.py
  • src/notebooklm/cli/services/source_listing.py
  • src/notebooklm/cli/services/source_mutations.py
  • src/notebooklm/cli/services/source_research.py
  • src/notebooklm/cli/services/source_serializers.py
  • src/notebooklm/cli/session_cmd.py
  • src/notebooklm/cli/share_cmd.py
  • src/notebooklm/cli/skill_cmd.py
  • src/notebooklm/cli/source_cmd.py
  • src/notebooklm/cli/usage_cmd.py
  • src/notebooklm/client.py
  • src/notebooklm/config.py
  • src/notebooklm/downloads.py
  • src/notebooklm/exceptions.py
  • src/notebooklm/io.py
  • src/notebooklm/log.py
  • src/notebooklm/mcp/__init__.py
  • src/notebooklm/mcp/__main__.py
  • src/notebooklm/mcp/_auth.py
  • src/notebooklm/mcp/_batch.py
  • src/notebooklm/mcp/_chattasks.py
  • src/notebooklm/mcp/_clientprovider.py
  • src/notebooklm/mcp/_coerce.py
  • src/notebooklm/mcp/_confirm.py
  • src/notebooklm/mcp/_context.py
  • src/notebooklm/mcp/_errors.py
  • src/notebooklm/mcp/_filelink.py
  • src/notebooklm/mcp/_fileroutes.py
  • src/notebooklm/mcp/_host_guard.py
  • src/notebooklm/mcp/_hostupload.py
  • src/notebooklm/mcp/_oauth.py
  • src/notebooklm/mcp/_paginate.py
  • src/notebooklm/mcp/_resolve.py
  • src/notebooklm/mcp/_uploadwidget.py
  • src/notebooklm/mcp/_urlcheck.py
  • src/notebooklm/mcp/server.py
  • src/notebooklm/mcp/tools/__init__.py
  • src/notebooklm/mcp/tools/_content_sanity.py
  • src/notebooklm/mcp/tools/_fileupload.py
  • src/notebooklm/mcp/tools/_passthrough.py
  • src/notebooklm/mcp/tools/_preview.py
  • src/notebooklm/mcp/tools/_studio_download.py
  • src/notebooklm/mcp/tools/_studio_items.py
  • src/notebooklm/mcp/tools/_studio_payloads.py
  • src/notebooklm/mcp/tools/_waitagg.py
  • src/notebooklm/mcp/tools/chat.py
  • src/notebooklm/mcp/tools/meta.py
  • src/notebooklm/mcp/tools/notebooks.py
  • src/notebooklm/mcp/tools/notes.py
  • src/notebooklm/mcp/tools/research.py
  • src/notebooklm/mcp/tools/sharing.py
  • src/notebooklm/mcp/tools/sources.py
  • src/notebooklm/mcp/tools/sources_drive.py
  • src/notebooklm/mcp/tools/sources_playbooks.py
  • src/notebooklm/mcp/tools/studio.py
  • src/notebooklm/migration.py
  • src/notebooklm/notebooklm_cli.py
  • src/notebooklm/options.py
  • src/notebooklm/outcomes.py
  • src/notebooklm/paths.py
  • src/notebooklm/py.typed
  • src/notebooklm/raw.py
  • src/notebooklm/research.py
  • src/notebooklm/rpc/__init__.py
  • src/notebooklm/rpc/_identifiers.py
  • src/notebooklm/rpc/types.py
  • src/notebooklm/server/__init__.py
  • src/notebooklm/server/__main__.py
  • src/notebooklm/server/_auth.py
  • src/notebooklm/server/_context.py
  • src/notebooklm/server/_errors.py
  • src/notebooklm/server/_limits.py
  • src/notebooklm/server/_pagination.py
  • src/notebooklm/server/_pending.py
  • src/notebooklm/server/app.py
  • src/notebooklm/server/routes/__init__.py
  • src/notebooklm/server/routes/_passthrough.py
  • src/notebooklm/server/routes/artifacts.py
  • src/notebooklm/server/routes/chat.py
  • src/notebooklm/server/routes/meta.py
  • src/notebooklm/server/routes/notebooks.py
  • src/notebooklm/server/routes/notes.py
  • src/notebooklm/server/routes/research.py
  • src/notebooklm/server/routes/share.py
  • src/notebooklm/server/routes/sources.py
  • src/notebooklm/types.py
  • src/notebooklm/urls.py
  • src/notebooklm/utils.py
  • tests/__init__.py
  • tests/_baselines/__init__.py
  • tests/_baselines/backend_boundary.py
  • tests/_baselines/cli_contract.py
  • tests/_baselines/guardrail_literals.py
  • tests/_baselines/module_size.py
  • tests/_baselines/registry.py
  • tests/_baselines/storage_transaction_policy.py
  • tests/_fault_server/__init__.py
  • tests/_fault_server/adapter_cli_worker.py
  • tests/_fault_server/adapter_lifecycle.py
  • tests/_fault_server/adapter_lifecycle_worker.py
  • tests/_fault_server/adapter_listener.py
  • tests/_fault_server/adapter_registry.py
  • tests/_fault_server/adapter_scenarios.py
  • tests/_fault_server/android.py
  • tests/_fault_server/android_cleanup.py
  • tests/_fault_server/android_consistency.py
  • tests/_fault_server/android_downloads.py
  • tests/_fault_server/android_drive.py
  • tests/_fault_server/android_protocol.py
  • tests/_fault_server/android_resilience_scenarios.py
  • tests/_fault_server/android_scenarios.py
  • tests/_fault_server/android_transfers.py
  • tests/_fault_server/auth_persistence_worker.py
  • tests/_fault_server/common.py
  • tests/_fault_server/curl_routing.py
  • tests/_fault_server/curl_scenarios.py
  • tests/_fault_server/environment.py
  • tests/_fault_server/fixtures/loopback-test-cert.pem
  • tests/_fault_server/fixtures/loopback-test-key.pem
  • tests/_fault_server/grpc.py
  • tests/_fault_server/http.py
  • tests/_fault_server/http_framing.py
  • tests/_fault_server/mcp_auth_startup_worker.py
  • tests/_fault_server/mcp_startup_cleanup.py
  • tests/_fault_server/mcp_startup_worker.py
  • tests/_fault_server/mcp_stdio_session.py
  • tests/_fault_server/process_death.py
  • tests/_fault_server/process_death_worker.py
  • tests/_fault_server/web.py
  • tests/_fault_server/web_concurrency.py
  • tests/_fault_server/web_connections.py
  • tests/_fault_server/web_consistency.py
  • tests/_fault_server/web_generation_faults.py
  • tests/_fault_server/web_persistence.py
  • tests/_fault_server/web_protocol.py
  • tests/_fault_server/web_resilience_scenarios.py
  • tests/_fault_server/web_saturation.py
  • tests/_fault_server/web_scenarios.py
  • tests/_fault_server/web_slow_responses.py
  • tests/_fault_server/web_streaming.py
  • tests/_fault_server/web_transfers.py
  • tests/_fault_server/web_workflows.py
  • tests/_fixtures/__init__.py
  • tests/_fixtures/android_artifacts.py
  • tests/_fixtures/chain.py
  • tests/_fixtures/cli_exit_markers.py
  • tests/_fixtures/cli_session.py
  • tests/_fixtures/commands.py
  • tests/_fixtures/conftest.py
  • tests/_fixtures/creation_conformance.py
  • tests/_fixtures/fake_core.py
  • tests/_fixtures/integration_allow_no_vcr_files.txt
  • tests/_fixtures/integration_allow_no_vcr_nodeids.txt
  • tests/_fixtures/integration_vcr_allow_no_vcr_nodeids.txt
  • tests/_fixtures/kernel_test_helpers.py
  • tests/_fixtures/login_io.py
  • tests/_fixtures/rpc_error_frames.py
  • tests/_fixtures/session_reexport_baseline.txt
  • tests/_guardrails/__init__.py
  • tests/_guardrails/_adapter_import_boundary.py
  • tests/_guardrails/_ast_reach_in.py
  • tests/_guardrails/_ast_semantics.py
  • tests/_guardrails/_cassette_shape_lint.py
  • tests/_guardrails/_public_import_manifest.py
  • tests/_guardrails/_v100_breaks.py
  • tests/_guardrails/_wire_contract.py
  • tests/_guardrails/_wire_schema.py
  • tests/_guardrails/test_adapter_import_scanner.py
  • tests/_guardrails/test_adapter_support_boundary.py
  • tests/_guardrails/test_adr_reference_format.py
  • tests/_guardrails/test_android_retry_manifest.py
  • tests/_guardrails/test_app_boundary.py
  • tests/_guardrails/test_app_host_literals_centralized.py
  • tests/_guardrails/test_app_presentation_semantics.py
  • tests/_guardrails/test_asyncio_loop_affinity_guard.py
  • tests/_guardrails/test_auth_cold_recovery_coordinator_boundary.py
  • tests/_guardrails/test_auth_cookie_docs.py
  • tests/_guardrails/test_auth_cookie_filter_boundary.py
  • tests/_guardrails/test_auth_cookie_merge_boundary.py
  • tests/_guardrails/test_auth_credential_io_boundary.py
  • tests/_guardrails/test_auth_master_token_bootstrap_boundary.py
  • tests/_guardrails/test_auth_master_token_file_boundary.py
  • tests/_guardrails/test_auth_master_token_types_boundary.py
  • tests/_guardrails/test_auth_mint_service_boundary.py
  • tests/_guardrails/test_auth_phase12c_boundaries.py
  • tests/_guardrails/test_auth_profile_document_boundary.py
  • tests/_guardrails/test_auth_profile_store_boundary.py
  • tests/_guardrails/test_auth_refresh_profile_store_boundary.py
  • tests/_guardrails/test_auth_source_consolidation.py
  • tests/_guardrails/test_auth_storage_compatibility.py
  • tests/_guardrails/test_auth_storage_lock_boundary.py
  • tests/_guardrails/test_auth_stored_auth_boundary.py
  • tests/_guardrails/test_auth_web_bootstrap_compatibility_island.py
  • tests/_guardrails/test_authtokens_jar_sync.py
  • tests/_guardrails/test_backend_abstract_contracts.py
  • tests/_guardrails/test_backend_boundaries.py
  • tests/_guardrails/test_backend_coupling_observability.py
  • tests/_guardrails/test_browser_boundary.py
  • tests/_guardrails/test_builtin_shadowed_annotations.py
  • tests/_guardrails/test_cassette_shapes.py
  • tests/_guardrails/test_cassettes_clean.py
  • tests/_guardrails/test_classify_error_handler_consistency.py
  • tests/_guardrails/test_cli_boundary.py
  • tests/_guardrails/test_cli_json_output_coverage.py
  • tests/_guardrails/test_cli_rpc_envelope.py
  • tests/_guardrails/test_cli_vcr_coverage.py
  • tests/_guardrails/test_client_composition.py
  • tests/_guardrails/test_client_factory_parity.py
  • tests/_guardrails/test_cookie_conversion_ratchet.py
  • tests/_guardrails/test_cookie_persistence_boundary.py
  • tests/_guardrails/test_docs_examples_idioms.py
  • tests/_guardrails/test_docs_module_refs.py
  • tests/_guardrails/test_download_spec_parity.py
  • tests/_guardrails/test_error_contract_catch_ordering.py
  • tests/_guardrails/test_error_handler_allowlist.py
  • tests/_guardrails/test_generation_kind_exhaustiveness.py
  • tests/_guardrails/test_golden_decode_coverage.py
  • tests/_guardrails/test_import_footprint.py
  • tests/_guardrails/test_install_docs.py
  • tests/_guardrails/test_integration_allow_no_vcr_allowlist.py
  • tests/_guardrails/test_login_init_is_reexport_only.py
  • tests/_guardrails/test_login_package_dag.py
  • tests/_guardrails/test_master_token_minting_denylist.py
  • tests/_guardrails/test_master_token_path_single_site.py
  • tests/_guardrails/test_mcp_boundary.py
  • tests/_guardrails/test_mcp_classify_consistency.py
  • tests/_guardrails/test_mcp_lazy_client_error_boundary.py
  • tests/_guardrails/test_middleware_context_contract.py
  • tests/_guardrails/test_module_size_ratchet.py
  • tests/_guardrails/test_no_bare_tests_root_imports.py
  • tests/_guardrails/test_no_cli_client_patch_surface.py
  • tests/_guardrails/test_no_core_imports.py
  • tests/_guardrails/test_no_cross_test_imports.py
  • tests/_guardrails/test_no_deprecated_public_rpc_call_kwargs.py
  • tests/_guardrails/test_no_facade_reach_in.py
  • tests/_guardrails/test_no_flat_cookies_on_the_wire.py
  • tests/_guardrails/test_no_forbidden_monkeypatches.py
  • tests/_guardrails/test_no_inline_deprecation_warnings.py
  • tests/_guardrails/test_no_large_inline_snapshots.py
  • tests/_guardrails/test_no_legacy_rpc_callable_aliases.py
  • tests/_guardrails/test_no_module_shadowing.py
  • tests/_guardrails/test_no_pinned_cassette_values.py
  • tests/_guardrails/test_no_raw_positional_rpc_indexing.py
  • tests/_guardrails/test_no_session.py
  • tests/_guardrails/test_no_storage_cookie_saver_patches.py
  • tests/_guardrails/test_playwright_gateway.py
  • tests/_guardrails/test_public_surface.py
  • tests/_guardrails/test_public_surface_manifest.py
  • tests/_guardrails/test_pypi_readme_substitutions.py
  • tests/_guardrails/test_rotate_wire_contract.py
  • tests/_guardrails/test_rpc_method_ids_only_in_types.py
  • tests/_guardrails/test_runtime_secret_registry_parity.py
  • tests/_guardrails/test_security_md_hosting_threat_model.py
  • tests/_guardrails/test_server_boundary.py
  • tests/_guardrails/test_server_classify_consistency.py
  • tests/_guardrails/test_session_runtime_boundaries.py
  • tests/_guardrails/test_source_policy_parity.py
  • tests/_guardrails/test_storage_transaction_ratchet.py
  • tests/_guardrails/test_storage_writer_boundary.py
  • tests/_guardrails/test_string_patch_ratchet.py
  • tests/_guardrails/test_studio_enum_manifest.py
  • tests/_guardrails/test_test_dir_no_shadow.py
  • tests/_guardrails/test_type_boundaries.py
  • tests/_guardrails/test_unconfirmed_contract.py
  • tests/_guardrails/test_v100_deprecation_coverage.py
  • tests/_guardrails/test_v100_release_gate.py
  • tests/_guardrails/test_web_android_public_behavior_inventory.py
  • tests/_guardrails/test_web_transport_relocation.py
  • tests/_guardrails/test_wire_contract.py
  • tests/_helpers/__init__.py
  • tests/_helpers/_v080_history.py
  • tests/_helpers/android_grpc_cassette.py
  • tests/_helpers/android_grpc_harness.py
  • tests/_helpers/android_grpc_normalizers.py
  • tests/_helpers/android_notes.py
  • tests/_helpers/android_phenotype_http_cassette.py
  • tests/_helpers/android_supervisor.py
  • tests/_helpers/client_factory.py
  • tests/_helpers/downloads.py
  • tests/_helpers/operation.py
  • tests/_helpers/play_book_http_cassette.py
  • tests/_helpers/source_delete.py
  • tests/cassette_patterns.py
  • tests/cassettes/README.md
  • tests/cassettes/android/act_on_sources_mind_map_recorded.grpc.json
  • tests/cassettes/android/artifact_copy_recorded.grpc.json
  • tests/cassettes/android/chat_session_control_recorded.grpc.json
  • tests/cassettes/android/collection_lifecycle_recorded.grpc.json
  • tests/cassettes/android/delete_chat_turns_recorded.grpc.json
  • tests/cassettes/android/generate_audio_recorded.grpc.json
  • tests/cassettes/android/generate_flashcards_recorded.grpc.json
  • tests/cassettes/android/generate_free_form_streamed_recorded.grpc.json
  • tests/cassettes/android/generate_notebook_guide_recorded.grpc.json
  • tests/cassettes/android/generate_report_recorded.grpc.json
  • tests/cassettes/android/generate_report_suggestions_recorded.grpc.json
  • tests/cassettes/android/get_labels_recorded.grpc.json
  • tests/cassettes/android/get_or_create_account_recorded.grpc.json
  • tests/cassettes/android/get_project_details_recorded.grpc.json
  • tests/cassettes/android/get_project_rich_recorded.grpc.json
  • tests/cassettes/android/label_lifecycle_recorded.grpc.json
  • tests/cassettes/android/list_artifacts_get_notes_recorded.grpc.json
  • tests/cassettes/android/list_chat_sessions_turns_recorded.grpc.json
  • tests/cassettes/android/list_discover_sources_job_recorded.grpc.json
  • tests/cassettes/android/load_source_recorded.grpc.json
  • tests/cassettes/android/mutate_account_recorded.grpc.json
  • tests/cassettes/android/next_step_suggestions_recorded.grpc.json
  • tests/cassettes/android/note_lifecycle_recorded.grpc.json
  • tests/cassettes/android/notebook_lifecycle_recorded.grpc.json
  • tests/cassettes/android/play_books_phenotype.yaml
  • tests/cassettes/android/play_books_recorded.grpc.json
  • tests/cassettes/android/quiz_lifecycle_recorded.grpc.json
  • tests/cassettes/android/research_discover_recorded.grpc.json
  • tests/cassettes/android/research_fast_cancel_recorded.grpc.json
  • tests/cassettes/android/research_fast_import_recorded.grpc.json
  • tests/cassettes/android/retrieve_relevant_chunks_recorded.grpc.json
  • tests/cassettes/android/share_project_recorded.grpc.json
  • tests/cassettes/android/source_lifecycle_recorded.grpc.json
  • tests/cassettes/android/source_transfers_recorded.grpc.json
  • tests/cassettes/android/usage_pro_recorded.grpc.json
  • tests/cassettes/android/usage_standard_recorded.grpc.json
  • tests/cassettes/web/artifacts_customization_choices.yaml
  • tests/cassettes/web/artifacts_delete.yaml
  • tests/cassettes/web/artifacts_download_data_table.yaml
  • tests/cassettes/web/artifacts_download_flashcards.yaml
  • tests/cassettes/web/artifacts_download_flashcards_markdown.yaml
  • tests/cassettes/web/artifacts_download_mind_map.yaml
  • tests/cassettes/web/artifacts_download_quiz.yaml
  • tests/cassettes/web/artifacts_download_quiz_markdown.yaml
  • tests/cassettes/web/artifacts_download_report.yaml
  • tests/cassettes/web/artifacts_export_report.yaml
  • tests/cassettes/web/artifacts_generate_flashcards.yaml
  • tests/cassettes/web/artifacts_generate_quiz.yaml
  • tests/cassettes/web/artifacts_generate_report.yaml
  • tests/cassettes/web/artifacts_generate_study_guide.yaml
  • tests/cassettes/web/artifacts_list.yaml
  • tests/cassettes/web/artifacts_list_audio.yaml
  • tests/cassettes/web/artifacts_list_data_tables.yaml
  • tests/cassettes/web/artifacts_list_empty.yaml
  • tests/cassettes/web/artifacts_list_flashcards.yaml
  • tests/cassettes/web/artifacts_list_infographics.yaml
  • tests/cassettes/web/artifacts_list_quizzes.yaml
  • tests/cassettes/web/artifacts_list_reports.yaml
  • tests/cassettes/web/artifacts_list_slide_decks.yaml
  • tests/cassettes/web/artifacts_list_video.yaml
  • tests/cassettes/web/artifacts_poll_rename_wait.yaml
  • tests/cassettes/web/artifacts_rename.yaml
  • tests/cassettes/web/artifacts_retry_failed.yaml
  • tests/cassettes/web/artifacts_revise_slide.yaml
  • tests/cassettes/web/artifacts_suggest_reports.yaml
  • tests/cassettes/web/auth_rotate_cookies_refresh.yaml
  • tests/cassettes/web/chat_ask.yaml
  • tests/cassettes/web/chat_ask_multi_source.yaml
  • tests/cassettes/web/chat_ask_oversized_rejection.yaml
  • tests/cassettes/web/chat_ask_with_references.yaml
  • tests/cassettes/web/chat_delete_conversation.yaml
  • tests/cassettes/web/chat_get_conversation_turns.yaml
  • tests/cassettes/web/chat_get_history.yaml
  • tests/cassettes/web/chat_next_steps.yaml
  • tests/cassettes/web/chat_session_control.yaml
  • tests/cassettes/web/cli_auth.yaml
  • tests/cassettes/web/cli_doctor.yaml
  • tests/cassettes/web/cli_login_browser_cookies_check.yaml
  • tests/cassettes/web/cli_notebook_create.yaml
  • tests/cassettes/web/cli_notebook_delete.yaml
  • tests/cassettes/web/cli_notebook_list.yaml
  • tests/cassettes/web/cli_notebook_rename.yaml
  • tests/cassettes/web/cli_profile.yaml
  • tests/cassettes/web/cli_settings_set_language.yaml
  • tests/cassettes/web/cli_share_add.yaml
  • tests/cassettes/web/cli_share_remove.yaml
  • tests/cassettes/web/cli_share_status.yaml
  • tests/cassettes/web/collection_add.yaml
  • tests/cassettes/web/collection_add_json.yaml
  • tests/cassettes/web/collection_create.yaml
  • tests/cassettes/web/collection_create_json.yaml
  • tests/cassettes/web/collection_delete.yaml
  • tests/cassettes/web/collection_delete_json.yaml
  • tests/cassettes/web/collection_list.yaml
  • tests/cassettes/web/collection_notebooks.yaml
  • tests/cassettes/web/collection_remove.yaml
  • tests/cassettes/web/collection_remove_json.yaml
  • tests/cassettes/web/collection_rename.yaml
  • tests/cassettes/web/collection_rename_json.yaml
  • tests/cassettes/web/error_synthetic_429_rate_limit.yaml
  • tests/cassettes/web/error_synthetic_500_server.yaml
  • tests/cassettes/web/error_synthetic_stale_csrf.yaml
  • tests/cassettes/web/examples/example_batchexecute_pattern.yaml
  • tests/cassettes/web/examples/example_scrubbed_cookies.yaml
  • tests/cassettes/web/generate_mind_map_chain.yaml
  • tests/cassettes/web/generate_mind_map_interactive.yaml
  • tests/cassettes/web/gzip_coverage/artifacts_revise_slide_gzipped.yaml
  • tests/cassettes/web/label_add.yaml
  • tests/cassettes/web/label_create.yaml
  • tests/cassettes/web/label_delete.yaml
  • tests/cassettes/web/label_emoji.yaml
  • tests/cassettes/web/label_generate.yaml
  • tests/cassettes/web/label_list.yaml
  • tests/cassettes/web/label_remove.yaml
  • tests/cassettes/web/label_rename.yaml
  • tests/cassettes/web/label_sources.yaml
  • tests/cassettes/web/mcp_chat_configure.yaml
  • tests/cassettes/web/mcp_note_update.yaml
  • tests/cassettes/web/mcp_studio_delete_artifact.yaml
  • tests/cassettes/web/mcp_studio_delete_note.yaml
  • tests/cassettes/web/mcp_studio_rename.yaml
  • tests/cassettes/web/mind_maps_interactive.yaml
  • tests/cassettes/web/notebook_zero_sources.yaml
  • tests/cassettes/web/notebooks_copy.yaml
  • tests/cassettes/web/notebooks_create.yaml
  • tests/cassettes/web/notebooks_delete.yaml
  • tests/cassettes/web/notebooks_emoji_update.yaml
  • tests/cassettes/web/notebooks_get.yaml
  • tests/cassettes/web/notebooks_get_description.yaml
  • tests/cassettes/web/notebooks_get_raw.yaml
  • tests/cassettes/web/notebooks_get_summary.yaml
  • tests/cassettes/web/notebooks_list.yaml
  • tests/cassettes/web/notebooks_remove_from_recent.yaml
  • tests/cassettes/web/notebooks_rename.yaml
  • tests/cassettes/web/notebooks_share.yaml
  • tests/cassettes/web/notebooks_suggest_next_steps.yaml
  • tests/cassettes/web/notebooks_suggest_prompts.yaml
  • tests/cassettes/web/notes_create.yaml
  • tests/cassettes/web/notes_create_and_update.yaml
  • tests/cassettes/web/notes_delete.yaml
  • tests/cassettes/web/notes_list.yaml
  • tests/cassettes/web/notes_list_mind_maps.yaml
  • tests/cassettes/web/real_api_get_notebook.yaml
  • tests/cassettes/web/real_api_list_artifacts.yaml
  • tests/cassettes/web/real_api_list_audio.yaml
  • tests/cassettes/web/real_api_list_mind_maps.yaml
  • tests/cassettes/web/real_api_list_notebooks.yaml
  • tests/cassettes/web/real_api_list_quizzes.yaml
  • tests/cassettes/web/real_api_list_reports.yaml
  • tests/cassettes/web/real_api_list_sources.yaml
  • tests/cassettes/web/research_cancel.yaml
  • tests/cassettes/web/research_deep_poll_long.yaml
  • tests/cassettes/web/research_discover.yaml
  • tests/cassettes/web/research_import_sources.yaml
  • tests/cassettes/web/research_import_sources_direct.yaml
  • tests/cassettes/web/research_import_sources_populated.yaml
  • tests/cassettes/web/research_import_verification.yaml
  • tests/cassettes/web/research_poll.yaml
  • tests/cassettes/web/research_poll_empty.yaml
  • tests/cassettes/web/research_start_deep.yaml
  • tests/cassettes/web/research_start_fast.yaml
  • tests/cassettes/web/server_add_file.yaml
  • tests/cassettes/web/server_download_mind_map.yaml
  • tests/cassettes/web/server_generate_quiz.yaml
  • tests/cassettes/web/settings_get_output_language.yaml
  • tests/cassettes/web/settings_set_output_language.yaml
  • tests/cassettes/web/sharing_get_status.yaml
  • tests/cassettes/web/sharing_set_public.yaml
  • tests/cassettes/web/source_list_label.yaml
  • tests/cassettes/web/sources_add_drive.yaml
  • tests/cassettes/web/sources_add_file.yaml
  • tests/cassettes/web/sources_add_text.yaml
  • tests/cassettes/web/sources_add_url.yaml
  • tests/cassettes/web/sources_check_freshness.yaml
  • tests/cassettes/web/sources_check_freshness_drive.yaml
  • tests/cassettes/web/sources_delete.yaml
  • tests/cassettes/web/sources_get_fulltext.yaml
  • tests/cassettes/web/sources_get_guide.yaml
  • tests/cassettes/web/sources_list.yaml
  • tests/cassettes/web/sources_play_book_add.yaml
  • tests/cassettes/web/sources_play_books.yaml
  • tests/cassettes/web/sources_refresh.yaml
  • tests/cassettes/web/sources_refresh_direct.yaml
  • tests/cassettes/web/sources_rename.yaml
  • tests/cassettes/web/sources_search.yaml
  • tests/cassettes/web/sources_transfer_lifecycle.yaml
  • tests/cassettes/web/sources_wait.yaml
  • tests/cassettes/web/usage_pro.yaml
  • tests/cassettes/web/usage_standard.yaml
  • tests/cassettes/web/workflow_tracer_bullet.yaml
  • tests/conftest.py
  • tests/e2e/__init__.py
  • tests/e2e/_android_collections_cleanup.py
  • tests/e2e/_artifact_helpers.py
  • tests/e2e/_collection_candidate.py
  • tests/e2e/_generation_helpers.py
  • tests/e2e/_generation_journal.py
  • tests/e2e/_mcp_live_helpers.py
  • tests/e2e/_progress.py
  • tests/e2e/conftest.py
  • tests/e2e/test_android_collections_conformance.py
  • tests/e2e/test_android_notes_conformance.py
  • tests/e2e/test_android_usage_conformance.py
  • tests/e2e/test_app_host.py
  • tests/e2e/test_artifact_copy.py
  • tests/e2e/test_artifacts.py
  • tests/e2e/test_chat.py
  • tests/e2e/test_cli_live.py
  • tests/e2e/test_collections.py
  • tests/e2e/test_downloads.py
  • tests/e2e/test_file_upload.py
  • tests/e2e/test_generation.py
  • tests/e2e/test_headless_reauth.py
  • tests/e2e/test_interactive_mind_map.py
  • tests/e2e/test_labels.py
  • tests/e2e/test_mcp.py
  • tests/e2e/test_mcp_contracts.py
  • tests/e2e/test_mcp_http.py
  • tests/e2e/test_notebooks.py
  • tests/e2e/test_notes.py
  • tests/e2e/test_research.py
  • tests/e2e/test_research_import_verification.py
  • tests/e2e/test_rpc_additions.py
  • tests/e2e/test_server_live.py
  • tests/e2e/test_server_process_live.py
  • tests/e2e/test_settings.py
  • tests/e2e/test_sharing.py
  • tests/e2e/test_source_selection.py
  • tests/e2e/test_sources.py
  • tests/fixtures/android/android_descriptor_set.pb
  • tests/fixtures/android/chat_wire.json
  • tests/fixtures/android/external_method_manifest.csv
  • tests/fixtures/android/get_notes_response.textproto
  • tests/fixtures/android/get_project_details_response.textproto
  • tests/fixtures/android/get_project_response.textproto
  • tests/fixtures/android/latest_apk_grpc_paths.txt
  • tests/fixtures/android/latest_apk_grpc_signatures.csv
  • tests/fixtures/android/list_artifacts_response.textproto
  • tests/fixtures/android/list_recently_viewed_projects_response.textproto
  • tests/fixtures/android/notes_sharing_request_wires.json
  • tests/fixtures/android/read_descriptor_set.pb
  • tests/fixtures/android/usage_wire.json
  • tests/fixtures/bad_cassettes/bad_byte_count.yaml
  • tests/fixtures/bad_cassettes/bad_chat_ask.yaml
  • tests/fixtures/bad_cassettes/bad_revise_slide.yaml
  • tests/fixtures/bad_cassettes/bad_sharing.yaml
  • tests/fixtures/bad_cassettes/bad_sid_starting_with_s.yaml
  • tests/fixtures/baselines/auth_facade_patch_sites.json
  • tests/fixtures/baselines/auth_family_patch_scorecard.json
  • tests/fixtures/baselines/auth_import_graph.json
  • tests/fixtures/baselines/auth_patch_sites.json
  • tests/fixtures/baselines/auth_shared_mutations.json
  • tests/fixtures/baselines/backend_boundary.json
  • tests/fixtures/baselines/backend_runtime_coupling.json
  • tests/fixtures/baselines/backend_static_coupling.json
  • tests/fixtures/baselines/browser_import_graph.json
  • tests/fixtures/baselines/browser_patch_sites.json
  • tests/fixtures/baselines/guardrail_inline_literals.json
  • tests/fixtures/baselines/module_size.json
  • tests/fixtures/baselines/storage_transaction_policy.json
  • tests/fixtures/baselines/types_all.json
  • tests/fixtures/baselines/ungated_surface.json
  • tests/fixtures/ci-platform-selection.json
  • tests/fixtures/cli_contract_baseline.json
  • tests/fixtures/e2e_prepared_role_contract.json
  • tests/fixtures/e2e_template_contract.json
  • tests/fixtures/notebooklm_html.html
  • tests/fixtures/policies/auth_behavior_scenarios.json
  • tests/fixtures/policies/auth_coverage_allowances.json
  • tests/fixtures/policies/auth_lifecycle_cleanup.json
  • tests/fixtures/policies/auth_patch_survivors.json
  • tests/fixtures/rpc_golden/ADD_SOURCE.json
  • tests/fixtures/rpc_golden/ADD_SOURCES_ASYNC.json
  • tests/fixtures/rpc_golden/ADD_SOURCE_FILE.json
  • tests/fixtures/rpc_golden/APPEND_SOURCE.json
  • tests/fixtures/rpc_golden/CANCEL_GENERATION.json
  • tests/fixtures/rpc_golden/CANCEL_RESEARCH.json
  • tests/fixtures/rpc_golden/CHECK_SOURCE_FRESHNESS.json
  • tests/fixtures/rpc_golden/COPY_ARTIFACTS.json
  • tests/fixtures/rpc_golden/COPY_NOTEBOOK.json
  • tests/fixtures/rpc_golden/COPY_SOURCES.json
  • tests/fixtures/rpc_golden/CREATE_ARTIFACT.json
  • tests/fixtures/rpc_golden/CREATE_LABEL.json
  • tests/fixtures/rpc_golden/CREATE_NOTE.json
  • tests/fixtures/rpc_golden/CREATE_NOTEBOOK.json
  • tests/fixtures/rpc_golden/DELETE_ARTIFACT.json
  • tests/fixtures/rpc_golden/DELETE_CONVERSATION.json
  • tests/fixtures/rpc_golden/DELETE_LABEL.json
  • tests/fixtures/rpc_golden/DELETE_NOTE.json
  • tests/fixtures/rpc_golden/DELETE_NOTEBOOK.json
  • tests/fixtures/rpc_golden/DELETE_SOURCE.json
  • tests/fixtures/rpc_golden/DISCOVER_SOURCES.json
  • tests/fixtures/rpc_golden/EXPORT_ARTIFACT.json
  • tests/fixtures/rpc_golden/GENERATE_MIND_MAP.json
  • tests/fixtures/rpc_golden/GET_ACCOUNT.json
  • tests/fixtures/rpc_golden/GET_CHAT_SESSION_STATUS.json
  • tests/fixtures/rpc_golden/GET_CONVERSATION_TURNS.json
  • tests/fixtures/rpc_golden/GET_CUSTOMIZATION_CHOICES.json
  • tests/fixtures/rpc_golden/GET_INTERACTIVE_HTML.json
  • tests/fixtures/rpc_golden/GET_LAST_CONVERSATION_ID.json
  • tests/fixtures/rpc_golden/GET_NOTEBOOK.json
  • tests/fixtures/rpc_golden/GET_NOTES_AND_MIND_MAPS.json
  • tests/fixtures/rpc_golden/GET_SHARE_STATUS.json
  • tests/fixtures/rpc_golden/GET_SOURCE.json
  • tests/fixtures/rpc_golden/GET_SOURCE_GUIDE.json
  • tests/fixtures/rpc_golden/GET_SUGGESTED_REPORTS.json
  • tests/fixtures/rpc_golden/GET_USER_SETTINGS.json
  • tests/fixtures/rpc_golden/IMPORT_RESEARCH.json
  • tests/fixtures/rpc_golden/LIST_ARTIFACTS.json
  • tests/fixtures/rpc_golden/LIST_EXPERT_INTELLIGENCE_CONTENT.json
  • tests/fixtures/rpc_golden/LIST_LABELS.json
  • tests/fixtures/rpc_golden/LIST_NOTEBOOKS.json
  • tests/fixtures/rpc_golden/LIST_QUOTA_SUMMARY.json
  • tests/fixtures/rpc_golden/POLL_RESEARCH.json
  • tests/fixtures/rpc_golden/README.md
  • tests/fixtures/rpc_golden/REFRESH_SOURCE.json
  • tests/fixtures/rpc_golden/REMOVE_RECENTLY_VIEWED.json
  • tests/fixtures/rpc_golden/RENAME_ARTIFACT.json
  • tests/fixtures/rpc_golden/RENAME_NOTEBOOK.json
  • tests/fixtures/rpc_golden/RETRIEVE_RELEVANT_CHUNKS.json
  • tests/fixtures/rpc_golden/RETRY_ARTIFACT.json
  • tests/fixtures/rpc_golden/REVISE_SLIDE.json
  • tests/fixtures/rpc_golden/SET_USER_SETTINGS.json
  • tests/fixtures/rpc_golden/SHARE_ARTIFACT.json
  • tests/fixtures/rpc_golden/SHARE_NOTEBOOK.json
  • tests/fixtures/rpc_golden/START_DEEP_RESEARCH.json
  • tests/fixtures/rpc_golden/START_FAST_RESEARCH.json
  • tests/fixtures/rpc_golden/SUGGEST_NEXT_STEPS.json
  • tests/fixtures/rpc_golden/SUGGEST_PROMPTS.json
  • tests/fixtures/rpc_golden/SUMMARIZE.json
  • tests/fixtures/rpc_golden/UPDATE_LABEL.json
  • tests/fixtures/rpc_golden/UPDATE_NOTE.json
  • tests/fixtures/rpc_golden/UPDATE_SOURCE.json
  • tests/fixtures/test_relevance_ledger.json
  • tests/integration/README.md
  • tests/integration/__init__.py
  • tests/integration/_golden_assert.py
  • tests/integration/_vcr_helpers.py
  • tests/integration/cli_vcr/README.md
  • tests/integration/cli_vcr/__init__.py
  • tests/integration/cli_vcr/_cassette_expectations.py
  • tests/integration/cli_vcr/_fixtures.py
  • tests/integration/cli_vcr/conftest.py
  • tests/integration/cli_vcr/test_artifacts.py
  • tests/integration/cli_vcr/test_auth.py
  • tests/integration/cli_vcr/test_chat.py
  • tests/integration/cli_vcr/test_collection.py
  • tests/integration/cli_vcr/test_doctor.py
  • tests/integration/cli_vcr/test_downloads.py
  • tests/integration/cli_vcr/test_error_contract.py
  • tests/integration/cli_vcr/test_generate.py
  • tests/integration/cli_vcr/test_label.py
  • tests/integration/cli_vcr/test_login_browser_cookies.py
  • tests/integration/cli_vcr/test_notebook.py
  • tests/integration/cli_vcr/test_notebooks.py
  • tests/integration/cli_vcr/test_notes.py
  • tests/integration/cli_vcr/test_profile.py
  • tests/integration/cli_vcr/test_research.py
  • tests/integration/cli_vcr/test_settings.py
  • tests/integration/cli_vcr/test_share.py
  • tests/integration/cli_vcr/test_sources.py
  • tests/integration/cli_vcr/test_usage.py
  • tests/integration/concurrency/README.md
  • tests/integration/concurrency/__init__.py
  • tests/integration/concurrency/conftest.py
  • tests/integration/concurrency/helpers.py
  • tests/integration/concurrency/test_add_file_toctou.py
  • tests/integration/concurrency/test_aexit_exception_masking.py
  • tests/integration/concurrency/test_artifact_poll_dedupe.py
  • tests/integration/concurrency/test_auth_snapshot_torn_read.py
  • tests/integration/concurrency/test_chat_history_race.py
  • tests/integration/concurrency/test_cross_loop_affinity.py
  • tests/integration/concurrency/test_download_blocks_loop.py
  • tests/integration/concurrency/test_harness_smoke.py
  • tests/integration/concurrency/test_helpers.py
  • tests/integration/concurrency/test_keepalive_path_canonicalize.py
  • tests/integration/concurrency/test_max_concurrent_rpcs.py
  • tests/integration/concurrency/test_note_create_cancel.py
  • tests/integration/concurrency/test_pool_tuning.py
  • tests/integration/concurrency/test_rate_limit_default.py
  • tests/integration/concurrency/test_refresh_cancellation_propagation.py
  • tests/integration/concurrency/test_refresh_cmd_race.py
  • tests/integration/concurrency/test_research_task_crosswire.py
  • tests/integration/concurrency/test_upload_blocks_loop.py
  • tests/integration/concurrency/test_upload_cancel_dangling_session.py
  • tests/integration/concurrency/test_upload_timeout_config.py
  • tests/integration/concurrency/test_wait_for_sources_leak.py
  • tests/integration/conftest.py
  • tests/integration/faults/__init__.py
  • tests/integration/faults/conftest.py
  • tests/integration/faults/test_adapter_faults.py
  • tests/integration/faults/test_android_faults.py
  • tests/integration/faults/test_auth_persistence.py
  • tests/integration/faults/test_consistency_faults.py
  • tests/integration/faults/test_curl_faults.py
  • tests/integration/faults/test_local_persistence.py
  • tests/integration/faults/test_mcp_auth_startup.py
  • tests/integration/faults/test_mcp_startup.py
  • tests/integration/faults/test_mcp_stdio_shutdown.py
  • tests/integration/faults/test_process_death.py
  • tests/integration/faults/test_protocol_limits.py
  • tests/integration/faults/test_saturation.py
  • tests/integration/faults/test_web_faults.py
  • tests/integration/faults/test_web_workflows.py
  • tests/integration/mcp_vcr/__init__.py
  • tests/integration/mcp_vcr/conftest.py
  • tests/integration/mcp_vcr/test_artifacts.py
  • tests/integration/mcp_vcr/test_chat.py
  • tests/integration/mcp_vcr/test_error_contract.py
  • tests/integration/mcp_vcr/test_notebooks.py
  • tests/integration/mcp_vcr/test_notes.py
  • tests/integration/mcp_vcr/test_research.py
  • tests/integration/mcp_vcr/test_sharing.py
  • tests/integration/mcp_vcr/test_sources.py
  • tests/integration/mcp_vcr/test_studio_mutations.py
  • tests/integration/test_android_grpc_cassette.py
  • tests/integration/test_artifact_generation_idempotency.py
  • tests/integration/test_artifacts_integration.py
  • tests/integration/test_auth_refresh_vcr.py
  • tests/integration/test_auto_refresh.py
  • tests/integration/test_chat_delete_conversation_vcr.py
  • tests/integration/test_chat_multi_source_vcr.py
  • tests/integration/test_chat_next_steps_vcr.py
  • tests/integration/test_chat_oversized_rejection_vcr.py
  • tests/integration/test_chat_session_control_vcr.py
  • tests/integration/test_curl_cffi_cassette_conformance.py
  • tests/integration/test_curl_cffi_transport_integration.py
  • tests/integration/test_empty_results_vcr.py
  • tests/integration/test_error_paths_vcr.py
  • tests/integration/test_golden_decoded_vcr.py
  • tests/integration/test_golden_decoded_vcr_expansion.py
  • tests/integration/test_gzip_cassette_replay.py
  • tests/integration/test_mind_map_chain_vcr.py
  • tests/integration/test_mind_maps_vcr.py
  • tests/integration/test_notebook_copy_vcr.py
  • tests/integration/test_notebook_emoji_vcr.py
  • tests/integration/test_notebooks_integration.py
  • tests/integration/test_notebooks_suggest_prompts_vcr.py
  • tests/integration/test_notes_idempotency.py
  • tests/integration/test_notes_integration.py
  • tests/integration/test_play_books_integration.py
  • tests/integration/test_play_books_vcr.py
  • tests/integration/test_polling_vcr.py
  • tests/integration/test_research_cancel_vcr.py
  • tests/integration/test_research_deep_poll_vcr.py
  • tests/integration/test_research_discover_vcr.py
  • tests/integration/test_research_idempotency.py
  • tests/integration/test_research_import_verification_vcr.py
  • tests/integration/test_rpc_gap_backfill_vcr.py
  • tests/integration/test_rpc_seam_matrix.py
  • tests/integration/test_save_chat_as_note_integration.py
  • tests/integration/test_session_integration.py
  • tests/integration/test_settings_integration.py
  • tests/integration/test_sharing_integration.py
  • tests/integration/test_side_effects_idempotency.py
  • tests/integration/test_source_search_vcr.py
  • tests/integration/test_sources_integration.py
  • tests/integration/test_transfer_rpcs_vcr.py
  • tests/integration/test_usage_vcr.py
  • tests/integration/test_vcr_comprehensive.py
  • tests/integration/test_vcr_example.py
  • tests/integration/test_vcr_real_api.py
  • tests/integration/test_workflow_tracer_vcr.py
  • tests/qualification/__init__.py
  • tests/qualification/historical/__init__.py
  • tests/qualification/historical/test_client_operation_contract_inventory.py
  • tests/qualification/historical/test_no_session_cmd_patch_surface.py
  • tests/qualification/historical/test_no_session_compat_bridges.py
  • tests/qualification/historical/test_v080_deprecation_coverage.py
  • tests/qualification/historical/test_v080_release_gate.py
  • tests/scripts/cassette_repair_allowlist.txt
  • tests/scripts/check_cassettes_clean.py
  • tests/scripts/check_method_coverage.py
  • tests/scripts/compress_polling_cassette.py
  • tests/scripts/generate_relevance_ledger.py
  • tests/scripts/inject_gzip_into_cassette.py
  • tests/scripts/record_mcp_studio_cassettes.py
  • tests/scripts/record_server_cassettes.py
  • tests/scripts/setup-generation-notebook.py
  • tests/server/__init__.py
  • tests/server/conftest.py
  • tests/server/fakes.py
  • tests/server/test_android_notes.py
  • tests/server/test_app_lifecycle.py
  • tests/server/test_app_request_policy.py
  • tests/server/test_artifacts.py
  • tests/server/test_auth.py
  • tests/server/test_backpressure.py
  • tests/server/test_chat.py
  • tests/server/test_e2e_loop.py
  • tests/server/test_errors.py
  • tests/server/test_hardening.py
  • tests/server/test_integration_real_client.py
  • tests/server/test_main.py
  • tests/server/test_meta.py
  • tests/server/test_notebooks.py
  • tests/server/test_notes.py
  • tests/server/test_research.py
  • tests/server/test_route_manifest.py
  • tests/server/test_share.py
  • tests/server/test_source_batch_parity.py
  • tests/server/test_sources.py
  • tests/unit/__init__.py
  • tests/unit/_golden_mappers.py
  • tests/unit/android/test_account.py
  • tests/unit/android/test_artifact_outputs.py
  • tests/unit/android/test_artifact_proto_contract.py
  • tests/unit/android/test_artifacts.py
  • tests/unit/android/test_asset_downloads.py
  • tests/unit/android/test_asset_transport_adapters.py
  • tests/unit/android/test_asset_url_policy.py
  • tests/unit/android/test_auth.py
  • tests/unit/android/test_auth_lifecycle.py
  • tests/unit/android/test_chat.py
  • tests/unit/android/test_chat_codec.py
  • tests/unit/android/test_chat_fake_server.py
  • tests/unit/android/test_chat_proto_contract.py
  • tests/unit/android/test_codec_lazy_exports.py
  • tests/unit/android/test_collections_conformance_cleanup.py
  • tests/unit/android/test_document_codec.py
  • tests/unit/android/test_drive_download.py
  • tests/unit/android/test_drive_staging.py
  • tests/unit/android/test_errors.py
  • tests/unit/android/test_evidence_hashes.py
  • tests/unit/android/test_grpc_cassette.py
  • tests/unit/android/test_grpc_cassette_harness.py
  • tests/unit/android/test_grpc_service_manifest.py
  • tests/unit/android/test_grpc_status_projection.py
  • tests/unit/android/test_mind_maps.py
  • tests/unit/android/test_note_codec.py
  • tests/unit/android/test_notebook_codec.py
  • tests/unit/android/test_notebook_mutations.py
  • tests/unit/android/test_notebook_source_reads.py
  • tests/unit/android/test_notes_frontend_parity.py
  • tests/unit/android/test_notes_sharing.py
  • tests/unit/android/test_notes_sharing_proto_contract.py
  • tests/unit/android/test_organization_adapters.py
  • tests/unit/android/test_organization_proto_contract.py
  • tests/unit/android/test_phenotype.py
  • tests/unit/android/test_proto_contract.py
  • tests/unit/android/test_research.py
  • tests/unit/android/test_research_guards.py
  • tests/unit/android/test_session.py
  • tests/unit/android/test_session_fake_server.py
  • tests/unit/android/test_session_policy.py
  • tests/unit/android/test_settings.py
  • tests/unit/android/test_source_codec.py
  • tests/unit/android/test_source_commit_paths.py
  • tests/unit/android/test_source_proto_contract.py
  • tests/unit/android/test_source_public_parity.py
  • tests/unit/android/test_source_search.py
  • tests/unit/android/test_source_upload.py
  • tests/unit/android/test_source_writes.py
  • tests/unit/android/test_transfers.py
  • tests/unit/android/test_upload_helpers.py
  • tests/unit/android/test_upload_pipeline.py
  • tests/unit/android/test_usage.py
  • tests/unit/app/__init__.py
  • tests/unit/app/test_app_artifacts.py
  • tests/unit/app/test_app_auth_check.py
  • tests/unit/app/test_app_chat.py
  • tests/unit/app/test_app_collections.py
  • tests/unit/app/test_app_doctor.py
  • tests/unit/app/test_app_download.py
  • tests/unit/app/test_app_errors.py
  • tests/unit/app/test_app_events.py
  • tests/unit/app/test_app_generate.py
  • tests/unit/app/test_app_generate_retry.py
  • tests/unit/app/test_app_generation_requests.py
  • tests/unit/app/test_app_labels.py
  • tests/unit/app/test_app_language.py
  • tests/unit/app/test_app_login_browser.py
  • tests/unit/app/test_app_login_cookie.py
  • tests/unit/app/test_app_mcp_install.py
  • tests/unit/app/test_app_notebooks.py
  • tests/unit/app/test_app_notes.py
  • tests/unit/app/test_app_profile.py
  • tests/unit/app/test_app_research.py
  • tests/unit/app/test_app_resolve.py
  • tests/unit/app/test_app_serialize.py
  • tests/unit/app/test_app_serialize_mcp_equiv.py
  • tests/unit/app/test_app_session.py
  • tests/unit/app/test_app_sharing.py
  • tests/unit/app/test_app_skill.py
  • tests/unit/app/test_app_source_add.py
  • tests/unit/app/test_app_source_batch.py
  • tests/unit/app/test_app_source_clean.py
  • tests/unit/app/test_app_source_content.py
  • tests/unit/app/test_app_source_listing.py
  • tests/unit/app/test_app_source_mutations.py
  • tests/unit/app/test_app_source_play_books.py
  • tests/unit/app/test_app_source_research.py
  • tests/unit/app/test_app_source_wait.py
  • tests/unit/app/test_download_registry_invariants.py
  • tests/unit/cli/__init__.py
  • tests/unit/cli/_session_helpers.py
  • tests/unit/cli/conftest.py
  • tests/unit/cli/test_agent.py
  • tests/unit/cli/test_android_note.py
  • tests/unit/cli/test_artifact.py
  • tests/unit/cli/test_auth_refresh_cold_start.py
  • tests/unit/cli/test_auth_subcommands.py
  • tests/unit/cli/test_backend_selection.py
  • tests/unit/cli/test_chat.py
  • tests/unit/cli/test_chromium_account_enumeration.py
  • tests/unit/cli/test_cli_contract.py
  • tests/unit/cli/test_cli_mcp_parity.py
  • tests/unit/cli/test_cli_rendering_permissions.py
  • tests/unit/cli/test_cli_session_local.py
  • tests/unit/cli/test_client_factory_seam.py
  • tests/unit/cli/test_collection_cmd.py
  • tests/unit/cli/test_completion.py
  • tests/unit/cli/test_context_coverage.py
  • tests/unit/cli/test_cookie_jar_enumerate.py
  • tests/unit/cli/test_cookie_writes.py
  • tests/unit/cli/test_doctor.py
  • tests/unit/cli/test_download.py
  • tests/unit/cli/test_download_characterization.py
  • tests/unit/cli/test_encoding.py
  • tests/unit/cli/test_error_handler.py
  • tests/unit/cli/test_firefox_accounts.py
  • tests/unit/cli/test_generate.py
  • tests/unit/cli/test_generate_characterization.py
  • tests/unit/cli/test_generate_render.py
  • tests/unit/cli/test_grouped.py
  • tests/unit/cli/test_help_text.py
  • tests/unit/cli/test_helpers.py
  • tests/unit/cli/test_helpers_compat.py
  • tests/unit/cli/test_json_validation_contract.py
  • tests/unit/cli/test_label_cmd.py
  • tests/unit/cli/test_label_listing.py
  • tests/unit/cli/test_language.py
  • tests/unit/cli/test_login.py
  • tests/unit/cli/test_login_chromium_fanout.py
  • tests/unit/cli/test_login_cookie_app_adapters.py
  • tests/unit/cli/test_login_cookie_recovery.py
  • tests/unit/cli/test_login_io_seam.py
  • tests/unit/cli/test_login_master_token.py
  • tests/unit/cli/test_login_multi_account.py
  • tests/unit/cli/test_login_refresh_coverage.py
  • tests/unit/cli/test_mcp_install_cmd.py
  • tests/unit/cli/test_note.py
  • tests/unit/cli/test_notebook.py
  • tests/unit/cli/test_options_validation.py
  • tests/unit/cli/test_playwright_login_coverage.py
  • tests/unit/cli/test_playwright_login_render_contract.py
  • tests/unit/cli/test_playwright_login_stderr.py
  • tests/unit/cli/test_profile.py
  • tests/unit/cli/test_profile_account_app_adapters.py
  • tests/unit/cli/test_prompt_file.py
  • tests/unit/cli/test_quiet_enforcement.py
  • tests/unit/cli/test_quiet_flag.py
  • tests/unit/cli/test_research.py
  • tests/unit/cli/test_research_characterization.py
  • tests/unit/cli/test_resolve.py
  • tests/unit/cli/test_resolver_characterization.py
  • tests/unit/cli/test_rookie_cookies_errors.py
  • tests/unit/cli/test_root_group.py
  • tests/unit/cli/test_services_boundary.py
  • tests/unit/cli/test_session_characterization.py
  • tests/unit/cli/test_session_edge_cases.py
  • tests/unit/cli/test_session_patch_surface.py
  • tests/unit/cli/test_share.py
  • tests/unit/cli/test_skill.py
  • tests/unit/cli/test_source.py
  • tests/unit/cli/test_source_characterization.py
  • tests/unit/cli/test_source_cmd_coverage.py
  • tests/unit/cli/test_source_content_rendering.py
  • tests/unit/cli/test_source_play_books.py
  • tests/unit/cli/test_source_refresh.py
  • tests/unit/cli/test_source_search.py
  • tests/unit/cli/test_status_clear.py
  • tests/unit/cli/test_storage_context_isolation.py
  • tests/unit/cli/test_suggest_prompts.py
  • tests/unit/cli/test_transfer_commands.py
  • tests/unit/cli/test_usage.py
  • tests/unit/cli/test_use.py
  • tests/unit/cli/test_use_fails_closed.py
  • tests/unit/concurrency/__init__.py
  • tests/unit/concurrency/test_auth_load_blocks_loop.py
  • tests/unit/concurrency/test_close_cancellation_leak.py
  • tests/unit/concurrency/test_download_collision.py
  • tests/unit/concurrency/test_loop_affinity_guard.py
  • tests/unit/concurrency/test_reqid_callback_outside_lock.py
  • tests/unit/concurrency/test_session_close_refresh_race.py
  • tests/unit/concurrency/test_source_url_workflow_supervision.py
  • tests/unit/concurrency/test_synthetic_error_transport_guard.py
  • tests/unit/conftest.py
  • tests/unit/fixtures/chat_answer_row_with_citations.json
  • tests/unit/fixtures/chat_stream_final_response.json
  • tests/unit/fixtures/citation_fragment_with_tables.json
  • tests/unit/fixtures/research_poll_deep_task.json
  • tests/unit/fixtures/research_poll_task_metadata.json
  • tests/unit/fixtures/save_chat_as_note_create_note_request.json
  • tests/unit/fixtures/save_chat_as_note_create_note_response.json
  • tests/unit/fixtures/source_fulltext_tailwind_doc.json
  • tests/unit/mcp/__init__.py
  • tests/unit/mcp/conftest.py
  • tests/unit/mcp/test_android_notes.py
  • tests/unit/mcp/test_await_upload.py
  • tests/unit/mcp/test_chat.py
  • tests/unit/mcp/test_chat_start.py
  • tests/unit/mcp/test_clientprovider.py
  • tests/unit/mcp/test_coerce.py
  • tests/unit/mcp/test_confirm.py
  • tests/unit/mcp/test_content_sanity_orchestration.py
  • tests/unit/mcp/test_entrypoint.py
  • tests/unit/mcp/test_errors.py
  • tests/unit/mcp/test_file_tools.py
  • tests/unit/mcp/test_file_transfer_config.py
  • tests/unit/mcp/test_filelink.py
  • tests/unit/mcp/test_fileroutes.py
  • tests/unit/mcp/test_host_guard.py
  • tests/unit/mcp/test_host_upload.py
  • tests/unit/mcp/test_manifest.py
  • tests/unit/mcp/test_meta.py
  • tests/unit/mcp/test_notebooks.py
  • tests/unit/mcp/test_notes.py
  • tests/unit/mcp/test_remote_auth.py
  • tests/unit/mcp/test_research.py
  • tests/unit/mcp/test_resolve.py
  • tests/unit/mcp/test_selfhosted_oauth.py
  • tests/unit/mcp/test_server.py
  • tests/unit/mcp/test_sharing.py
  • tests/unit/mcp/test_source_json_contract.py
  • tests/unit/mcp/test_sources.py
  • tests/unit/mcp/test_sources_drive.py
  • tests/unit/mcp/test_sources_playbooks.py
  • tests/unit/mcp/test_stateless_env_guard.py
  • tests/unit/mcp/test_stdio_source_add_roots.py
  • tests/unit/mcp/test_studio.py
  • tests/unit/mcp/test_studio_ref_matching.py
  • tests/unit/mcp/test_tool_eval.py
  • tests/unit/mcp/test_uploadwidget.py
  • tests/unit/mcp/test_urlcheck.py
  • tests/unit/mcp/test_widget_stateless_warn.py
  • tests/unit/test_aggregate_ci_e2e_outcomes.py
  • tests/unit/test_android_fault_cleanup.py
  • tests/unit/test_android_fault_scenarios.py
  • tests/unit/test_android_grpc_canary.py
  • tests/unit/test_api_coverage.py
  • tests/unit/test_app_master_token.py
  • tests/unit/test_app_operation_scopes.py
  • tests/unit/test_artifact_completeness.py
  • tests/unit/test_artifact_content_metadata.py
  • tests/unit/test_artifact_download_selection.py
  • tests/unit/test_artifact_downloads.py
  • tests/unit/test_artifact_downloads_coverage.py
  • tests/unit/test_artifact_generation_prompt.py
  • tests/unit/test_artifact_generation_service.py
  • tests/unit/test_artifact_listing.py
  • tests/unit/test_artifact_polling_paths.py
  • tests/unit/test_artifact_rate_limit_retry.py
  • tests/unit/test_artifact_row_shape_guards.py
  • tests/unit/test_artifact_type_code_consistency.py
  • tests/unit/test_artifacts_base.py
  • tests/unit/test_artifacts_coverage.py
  • tests/unit/test_artifacts_drift.py
  • tests/unit/test_artifacts_helpers.py
  • tests/unit/test_artifacts_mind_map_injection.py
  • tests/unit/test_artifacts_polling_retries.py
  • tests/unit/test_artifacts_row_adapter.py
  • tests/unit/test_atomic_io.py
  • tests/unit/test_atomic_update_json.py
  • tests/unit/test_audit_auth_import_graph.py
  • tests/unit/test_audit_auth_patch_sites.py
  • tests/unit/test_audit_auth_shared_mutations.py
  • tests/unit/test_auth_account.py
  • tests/unit/test_auth_account_coverage.py
  • tests/unit/test_auth_account_promotion.py
  • tests/unit/test_auth_account_repair_service.py
  • tests/unit/test_auth_behavior_scenario_policy.py
  • tests/unit/test_auth_browser_facade.py
  • tests/unit/test_auth_cold_recovery_coordinator.py
  • tests/unit/test_auth_cold_start_recovery.py
  • tests/unit/test_auth_cookie_header_routing.py
  • tests/unit/test_auth_cookie_merge.py
  • tests/unit/test_auth_cookie_policy.py
  • tests/unit/test_auth_cookie_save_race.py
  • tests/unit/test_auth_cookie_types.py
  • tests/unit/test_auth_coverage_allowance_policy.py
  • tests/unit/test_auth_credential_io.py
  • tests/unit/test_auth_env_precedence_2083.py
  • tests/unit/test_auth_extraction.py
  • tests/unit/test_auth_fault_cleanup.py
  • tests/unit/test_auth_headless_reauth.py
  • tests/unit/test_auth_host_guidance.py
  • tests/unit/test_auth_instance_invariant.py
  • tests/unit/test_auth_issue_2061.py
  • tests/unit/test_auth_keepalive.py
  • tests/unit/test_auth_lifecycle_cleanup_policy.py
  • tests/unit/test_auth_load_composition.py
  • tests/unit/test_auth_lock_path_derivation.py
  • tests/unit/test_auth_master_token.py
  • tests/unit/test_auth_master_token_bootstrap.py
  • tests/unit/test_auth_master_token_file.py
  • tests/unit/test_auth_master_token_types.py
  • tests/unit/test_auth_mint_service.py
  • tests/unit/test_auth_patch_survivor_policy.py
  • tests/unit/test_auth_profile_account.py
  • tests/unit/test_auth_profile_document.py
  • tests/unit/test_auth_profile_migration.py
  • tests/unit/test_auth_profile_store.py
  • tests/unit/test_auth_profile_store_account.py
  • tests/unit/test_auth_profile_store_login.py
  • tests/unit/test_auth_profile_store_minted.py
  • tests/unit/test_auth_profile_store_remint.py
  • tests/unit/test_auth_psidts_recovery.py
  • tests/unit/test_auth_recovery_rungs.py
  • tests/unit/test_auth_refresh.py
  • tests/unit/test_auth_refresh_coverage.py
  • tests/unit/test_auth_refresh_middleware.py
  • tests/unit/test_auth_refresh_profile_store.py
  • tests/unit/test_auth_refresh_retry.py
  • tests/unit/test_auth_refresh_seam.py
  • tests/unit/test_auth_remaining_branches.py
  • tests/unit/test_auth_repr_redaction.py
  • tests/unit/test_auth_session.py
  • tests/unit/test_auth_session_headless_reauth.py
  • tests/unit/test_auth_session_master_token.py
  • tests/unit/test_auth_session_refresh_cmd.py
  • tests/unit/test_auth_state_owners.py
  • tests/unit/test_auth_storage.py
  • tests/unit/test_auth_storage_lock.py
  • tests/unit/test_auth_storage_read_policy_matrix.py
  • tests/unit/test_auth_stored_auth.py
  • tests/unit/test_auth_validate_heal_split.py
  • tests/unit/test_authed_post_pipeline.py
  • tests/unit/test_authtokens_jar_sync.py
  • tests/unit/test_backend_selection.py
  • tests/unit/test_backoff.py
  • tests/unit/test_baseline_registry.py
  • tests/unit/test_bound_bootstrap_policy.py
  • tests/unit/test_bound_recovery_policy.py
  • tests/unit/test_browser_capture_cdp_arm.py
  • tests/unit/test_browser_capture_headless_arm.py
  • tests/unit/test_browser_capture_launch_errors.py
  • tests/unit/test_browser_oauth_token.py
  • tests/unit/test_call_supervisor.py
  • tests/unit/test_capture_rpc_registry.py
  • tests/unit/test_cassette_patterns.py
  • tests/unit/test_cassette_sanitizer.py
  • tests/unit/test_chain_fixtures.py
  • tests/unit/test_chain_wiring.py
  • tests/unit/test_chat.py
  • tests/unit/test_chat_ask_invariants.py
  • tests/unit/test_chat_base.py
  • tests/unit/test_chat_characterization.py
  • tests/unit/test_chat_delete_conversation.py
  • tests/unit/test_chat_error_payload.py
  • tests/unit/test_chat_helpers.py
  • tests/unit/test_chat_history.py
  • tests/unit/test_chat_notes.py
  • tests/unit/test_chat_passage_resolver.py
  • tests/unit/test_chat_references.py
  • tests/unit/test_chat_row_adapter.py
  • tests/unit/test_chat_save_answer_as_note.py
  • tests/unit/test_chat_session_control.py
  • tests/unit/test_chat_transport.py
  • tests/unit/test_check_action_pinning.py
  • tests/unit/test_check_auth_coverage_delta.py
  • tests/unit/test_check_coverage_thresholds.py
  • tests/unit/test_check_deprecation_targets.py
  • tests/unit/test_check_rpc_health.py
  • tests/unit/test_check_workflow_secret_gates.py
  • tests/unit/test_chromium_profiles.py
  • tests/unit/test_chromium_profiles_coverage.py
  • tests/unit/test_ci_account_pool_workflows.py
  • tests/unit/test_ci_audit_scripts.py
  • tests/unit/test_ci_install_parity.py
  • tests/unit/test_ci_pool_static_contracts.py
  • tests/unit/test_ci_progress.py
  • tests/unit/test_ci_rpc_progress.py
  • tests/unit/test_ci_selection_contracts.py
  • tests/unit/test_ci_test_matrix.py
  • tests/unit/test_citation_alignment.py
  • tests/unit/test_claude_md_freshness.py
  • tests/unit/test_claude_workflow_policy.py
  • tests/unit/test_cli_source_delete.py
  • tests/unit/test_cli_source_services.py
  • tests/unit/test_client.py
  • tests/unit/test_client_account_email.py
  • tests/unit/test_client_keepalive.py
  • tests/unit/test_client_lifecycle_waves.py
  • tests/unit/test_client_metrics.py
  • tests/unit/test_client_options.py
  • tests/unit/test_collection_exceptions.py
  • tests/unit/test_collection_model.py
  • tests/unit/test_collection_params.py
  • tests/unit/test_collections_api.py
  • tests/unit/test_commit_evidence_matrix.py
  • tests/unit/test_composition_primitives.py
  • tests/unit/test_concurrency_cache_race.py
  • tests/unit/test_concurrency_refresh_race.py
  • tests/unit/test_confirming_mutation_service.py
  • tests/unit/test_conversation.py
  • tests/unit/test_conversation_cache.py
  • tests/unit/test_cookie_domain_split.py
  • tests/unit/test_cookie_persistence.py
  • tests/unit/test_cookie_persistence_contract_guards.py
  • tests/unit/test_cookie_persistence_profile_store.py
  • tests/unit/test_cookie_redaction.py
  • tests/unit/test_cookie_save_ordering.py
  • tests/unit/test_copied_reference_artifacts.py
  • tests/unit/test_creation_conformance.py
  • tests/unit/test_curl_cffi_redirect_guard.py
  • tests/unit/test_curl_cffi_transport_poc.py
  • tests/unit/test_curl_fault_cleanup.py
  • tests/unit/test_curl_fault_routing.py
  • tests/unit/test_deadline.py
  • tests/unit/test_decoder.py
  • tests/unit/test_deploy_compose_default.py
  • tests/unit/test_deprecation_helper.py
  • tests/unit/test_docstrings.py
  • tests/unit/test_download_helpers.py
  • tests/unit/test_download_redirect_revalidation.py
  • tests/unit/test_download_result.py
  • tests/unit/test_download_service.py
  • tests/unit/test_download_url.py
  • tests/unit/test_drive_import.py
  • tests/unit/test_e2e_collection_candidate.py
  • tests/unit/test_e2e_conftest_options.py
  • tests/unit/test_e2e_generation_journal.py
  • tests/unit/test_e2e_managed_fixtures.py
  • tests/unit/test_e2e_marker_hook.py
  • tests/unit/test_e2e_quota_efficiency.py
  • tests/unit/test_e2e_run_cli_encoding.py
  • tests/unit/test_encoder.py
  • tests/unit/test_env.py
  • tests/unit/test_env_base_url.py
  • tests/unit/test_error_injection_middleware.py
  • tests/unit/test_exceptions.py
  • tests/unit/test_extract_blutter_grpc_signatures.py
  • tests/unit/test_fault_cohort_cleanup.py
  • tests/unit/test_fault_mcp_startup_cleanup.py
  • tests/unit/test_firefox_containers.py
  • tests/unit/test_from_storage_dual_protocol.py
  • tests/unit/test_generate_service.py
  • tests/unit/test_generation_state.py
  • tests/unit/test_get_or_none.py
  • tests/unit/test_get_summary_drift.py
  • tests/unit/test_historical_split.py
  • tests/unit/test_home_isolation.py
  • tests/unit/test_http_construction_seams.py
  • tests/unit/test_http_fault_server.py
  • tests/unit/test_idempotency_registry.py
  • tests/unit/test_init_order.py
  • tests/unit/test_inline_deprecations_gated.py
  • tests/unit/test_interactive_mind_map.py
  • tests/unit/test_interactive_mind_map_payload.py
  • tests/unit/test_json_error_exit.py
  • tests/unit/test_json_stdout_purity.py
  • tests/unit/test_kernel.py
  • tests/unit/test_label_exceptions.py
  • tests/unit/test_label_model.py
  • tests/unit/test_label_params.py
  • tests/unit/test_label_row.py
  • tests/unit/test_labels_api.py
  • tests/unit/test_lazy_package_exports.py
  • tests/unit/test_lazy_web_sidecar.py
  • tests/unit/test_lifecycle_executor_reuse.py
  • tests/unit/test_listing_service.py
  • tests/unit/test_live_auth_matrix.py
  • tests/unit/test_logging.py
  • tests/unit/test_logging_correlation.py
  • tests/unit/test_login_wait_navigation_failure.py
  • tests/unit/test_login_wait_trace.py
  • tests/unit/test_loop_bound.py
  • tests/unit/test_manage_ci_e2e_notebooks.py
  • tests/unit/test_materialize_ci_auth.py
  • tests/unit/test_mcp_desktop_extension.py
  • tests/unit/test_middleware_chain_builder.py
  • tests/unit/test_middleware_chain_host.py
  • tests/unit/test_middleware_types.py
  • tests/unit/test_migration.py
  • tests/unit/test_migration_lock.py
  • tests/unit/test_mind_maps_api.py
  • tests/unit/test_mind_maps_base.py
  • tests/unit/test_module_entry_point.py
  • tests/unit/test_mutation_null_status.py
  • tests/unit/test_note_backed_mind_map_service.py
  • tests/unit/test_note_service.py
  • tests/unit/test_note_task_lifecycle.py
  • tests/unit/test_notebook_api.py
  • tests/unit/test_notebook_metadata.py
  • tests/unit/test_notebooks_base.py
  • tests/unit/test_notebooks_extractors.py
  • tests/unit/test_notebooks_row_adapter.py
  • tests/unit/test_notebooks_suggest_prompts.py
  • tests/unit/test_notes_unit.py
  • tests/unit/test_observability.py
  • tests/unit/test_operation_context.py
  • tests/unit/test_operation_journal.py
  • tests/unit/test_operation_projection.py
  • tests/unit/test_parse_pbenums.py
  • tests/unit/test_parse_pbschema.py
  • tests/unit/test_paths.py
  • tests/unit/test_play_book_http_cassette.py
  • tests/unit/test_play_books.py
  • tests/unit/test_playwright_domain_filter.py
  • tests/unit/test_playwright_marker_hook.py
  • tests/unit/test_polling_registry.py
  • tests/unit/test_polling_service.py
  • tests/unit/test_prepared_artifact_downloads.py
  • tests/unit/test_process_fault_cleanup.py
  • tests/unit/test_profile_atomic_write.py
  • tests/unit/test_public_api_behavior.py
  • tests/unit/test_public_api_compat_audit.py
  • tests/unit/test_public_api_contract.py
  • tests/unit/test_public_decoder_deprecations.py
  • tests/unit/test_public_shims.py
  • tests/unit/test_public_typing_readiness.py
  • tests/unit/test_quota_failure_detection.py
  • tests/unit/test_rate_limit_retry.py
  • tests/unit/test_raw_api.py
  • tests/unit/test_reality_marker_hook.py
  • tests/unit/test_refresh_cmd_redaction.py
  • tests/unit/test_refresh_cmd_shlex.py
  • tests/unit/test_refresh_lock_lazy_init.py
  • tests/unit/test_refresh_lock_registry.py
  • tests/unit/test_refresh_state_machine.py
  • tests/unit/test_relevance_ledger.py
  • tests/unit/test_replay_decision.py
  • tests/unit/test_reqid_counter.py
  • tests/unit/test_rescrub_cassettes_script.py
  • tests/unit/test_research.py
  • tests/unit/test_research_api.py
  • tests/unit/test_research_import_helpers.py
  • tests/unit/test_research_import_with_verification.py
  • tests/unit/test_research_reconciliation.py
  • tests/unit/test_research_row_adapter.py
  • tests/unit/test_research_service.py
  • tests/unit/test_research_task_parser.py
  • tests/unit/test_response_preview.py
  • tests/unit/test_retry_after.py
  • tests/unit/test_retry_middleware.py
  • tests/unit/test_row_adapters.py
  • tests/unit/test_rpc_executor.py
  • tests/unit/test_rpc_golden_payloads.py
  • tests/unit/test_rpc_health_bundle_lane.py
  • tests/unit/test_rpc_health_coverage.py
  • tests/unit/test_rpc_health_rebrand_lane.py
  • tests/unit/test_rpc_host_contract.py
  • tests/unit/test_rpc_overrides.py
  • tests/unit/test_rpc_types.py
  • tests/unit/test_runtime_auth.py
  • tests/unit/test_runtime_contracts.py
  • tests/unit/test_runtime_helpers.py
  • tests/unit/test_runtime_lifecycle.py
  • tests/unit/test_safe_index.py
  • tests/unit/test_saturation_fault_cleanup.py
  • tests/unit/test_save_chat_as_note_encoder.py
  • tests/unit/test_save_lock_contract.py
  • tests/unit/test_scripts_auth_cookie_domains.py
  • tests/unit/test_scrub_rpc_har.py
  • tests/unit/test_select_artifact.py
  • tests/unit/test_select_ci_account.py
  • tests/unit/test_serving.py
  • tests/unit/test_session_close.py
  • tests/unit/test_session_reqid.py
  • tests/unit/test_session_reqid_concurrent.py
  • tests/unit/test_sharing_manager.py
  • tests/unit/test_sharing_types.py
  • tests/unit/test_skill_packaging.py
  • tests/unit/test_source_add_service.py
  • tests/unit/test_source_batch_add_service.py
  • tests/unit/test_source_batch_outcomes.py
  • tests/unit/test_source_batch_url_reconciliation_edges.py
  • tests/unit/test_source_clean_large_batches.py
  • tests/unit/test_source_content_renderer.py
  • tests/unit/test_source_delete_outcomes.py
  • tests/unit/test_source_drive_ref.py
  • tests/unit/test_source_listing_service.py
  • tests/unit/test_source_markdown.py
  • tests/unit/test_source_polling_service.py
  • tests/unit/test_source_search.py
  • tests/unit/test_source_selection.py
  • tests/unit/test_source_status.py
  • tests/unit/test_source_symlink.py
  • tests/unit/test_source_upload_coverage.py
  • tests/unit/test_source_upload_pipeline.py
  • tests/unit/test_sources_base.py
  • tests/unit/test_sources_delete_many.py
  • tests/unit/test_sources_row_adapter.py
  • tests/unit/test_sources_upload.py
  • tests/unit/test_sources_upload_delegation.py
  • tests/unit/test_storage_writer.py
  • tests/unit/test_streaming_chat_wire.py
  • tests/unit/test_stress_fault_server.py
  • tests/unit/test_strict_decode_default.py
  • tests/unit/test_swallow_observability.py
  • tests/unit/test_taxonomy_inventory.py
  • tests/unit/test_tier_13_all_exports.py
  • tests/unit/test_tier_enforcement_hook.py
  • tests/unit/test_timeout_composition.py
  • tests/unit/test_token_regex.py
  • tests/unit/test_tracing_middleware.py
  • tests/unit/test_tracked_files.py
  • tests/unit/test_transfer_rpcs.py
  • tests/unit/test_typed_returns_compat.py
  • tests/unit/test_types.py
  • tests/unit/test_url_utils.py
  • tests/unit/test_usage.py
  • tests/unit/test_usage_web.py
  • tests/unit/test_user_settings_api.py
  • tests/unit/test_vcr_body_matcher.py
  • tests/unit/test_vcr_config.py
  • tests/unit/test_vcr_scrubbing.py
  • tests/unit/test_verify_ci_artifacts.py
  • tests/unit/test_version_check.py
  • tests/unit/test_version_gate.py
  • tests/unit/test_version_info.py
  • tests/unit/test_version_pyproject_sync.py
  • tests/unit/test_warning_dedupe.py
  • tests/unit/test_web_asset_lifecycle.py
  • tests/unit/test_web_play_books_service.py
  • tests/unit/test_web_request_policy.py
  • tests/unit/test_web_resilience_cleanup.py
  • tests/unit/test_web_transport_epoch_fence.py
  • tests/unit/test_web_transport_lifecycle_edges.py
  • tests/unit/test_web_workflow_scope.py
  • tests/unit/test_windows_compatibility.py
  • tests/unit/test_windows_lock.py
  • tests/unit/test_with_client_handle_errors.py
  • tests/unit/test_youtube_extraction.py
  • tests/vcr_config.py
  • uv.lock

What this skill tells the agent

Gemini Notebook Automation

Use the notebooklm CLI for agent workflows. Prefer --json and explicit IDs so every operation is inspectable and safe under concurrency. Use the typed async Python API only when the user requests application code or the CLI cannot express the workflow. The readiness, identity, authorization, and credential-handling rules below apply to both interfaces.

Setup and Authentication

Requires Python 3.10+. Install the package in the user's existing environment; do not create a separate environment unless requested:

pip install "notebooklm-py[browser]"
pip install "notebooklm-py[cookies]"  # optional browser-cookie extraction

If system pip reports externally-managed-environment, do not use --break-system-packages. For CLI-only use, offer uv tool install "notebooklm-py[browser]" or the equivalent pipx command; for application code, use the user's active project environment.

For unattended or headless work, prefer durable profile-backed master-token auth over a copied cookie snapshot. Install pip install "notebooklm-py[headless]"; the one-time automatic OAuth capture also needs [browser]. On a trusted workstation run notebooklm login --master-token --account <email>, then deploy master_token.json, not storage_state.json, to the selected profile. NOTEBOOKLM_HOME selects the private base directory and NOTEBOOKLM_PROFILE selects its profile; defaults resolve to ~/.notebooklm/profiles/default/master_token.json.

In CI, NOTEBOOKLM_MASTER_TOKEN_JSON is a secret-transport convention, not an environment variable the package reads directly. Write its exact value to the selected profile's master_token.json with mode 0600, unset it, then run notebooklm auth refresh to mint storage_state.json. A sibling master token can automatically re-mint expired file-backed cookies. Inline NOTEBOOKLM_AUTH_JSON is only a short-lived fallback; it bypasses this recovery path.

Use PyPI or a release tag, not an unreleased main checkout. When available, consult the installation guide.

Before a workflow, verify real authentication rather than merely parsing the cookie file:

notebooklm auth check --test --json

Require .status == "ok" and .checks.token_fetch == true. If validation fails:

  • With a display, run notebooklm login and validate again.
  • In a headless environment, install [cookies] and use notebooklm login --browser-cookies <browser>. Use notebooklm auth inspect --browser <browser> first when account selection is unclear.
  • If previously valid cookies became stale, try notebooklm auth refresh; use notebooklm auth refresh --browser-cookies <browser> after signing back into the browser.

The normal --test preflight may heal and persist refreshed cookies. Add --passive when the check must be strictly read-only, including the failure-diagnosis workflow below.

notebooklm status reports selected-notebook context, not authentication.

Treat both auth files as bearer credentials: never print, log, or commit them. A master token is a durable full-account credential that survives password changes; use a dedicated account, protect it in a secret store and as 0600 on disk, and explicitly revoke it if exposed.

Operating Invariants

  1. Use --json for discovery and mutations, then retain the returned full UUIDs. Important envelopes are .notebook.id from create, .source.id from source add, and .task_id from asynchronous generators. generate mind-map instead returns mind_map, note_id, and kind; both kinds return a finished result with no task ID or separate artifact wait step.
  2. Pass -n/--notebook <id> on every notebook-scoped command in automation or concurrent work. Do not rely on notebooklm use. For every concurrent run, also set a unique NOTEBOOKLM_PROFILE=agent-<id> so context and profile writes are isolated. A new profile has no credentials: put a master_token.json copy in that profile and mint its storage before use. Never share one writable storage_state.json across agents.
  3. After adding sources, retain every .source.id, then run source wait for each before chat or generation. The add envelope has no status. Require wait exit 0 and status == "ready"; let the waiter handle media-specific transient error rows.
  4. After an asynchronous generator returns a task/artifact ID, pass it positionally to artifact wait with -n <notebook_id>. Download that exact artifact with -a <artifact_id> -n <notebook_id>; never select the latest visible artifact. Mind-map generation returns its completed result directly and does not need artifact wait.
  5. For overlapping research runs, always pass --run-id <research_run_id>.
  6. Use a host's background facility only when it actually exists. Keep wait and dependent download commands in one sequential job, and download only after the wait exits 0. Otherwise run in the foreground or return exact ID-pinned commands to the user.

Authorization Boundaries

Safe inspection and explicitly requested creation, source addition, chat, and prompt suggestion can run directly. Diagnose failures with read-only commands before attempting recovery.

Obtain confirmation immediately before an action when it was not already clearly authorized:

  • destructive commands such as notebook/source/note/artifact/label/profile deletion, sharing removal, logout, clear, research cancellation, and ask --new;
  • language set, because the default mode changes the account-global output language (prefer a generation command's --language override);
  • generation or long foreground waits, which can take minutes and be rate-limited;
  • downloads, which write files;
  • research wait --import-all, which imports sources;
  • ask --save-as-note and history --save, which create notes.

User intent, not the presence of a CLI prompt, is the authorization boundary. After authorization, pass --yes/-y where supported. Most destructive JSON commands refuse to prompt without it, but some, including ask --new --json and share remove --json, execute without prompting. Never treat prompt absence as consent.

research cancel is fire-and-forget. After an authorized cancellation, verify the exact run with notebooklm research status -n <notebook_id> --run-id <research_run_id> --json.

Command Discovery

Use the installed CLI's help as the version-matched source of truth instead of guessing flags:

notebooklm --help
notebooklm source --help
notebooklm research --help
notebooklm generate --help
notebooklm artifact --help
notebooklm download --help

Also inspect notebooklm --version and drill down to the exact command, such as notebooklm generate audio --help, whenever its help differs from this skill.

Common operations:

GoalCommand
Check compute usagenotebooklm usage --json; notebooklm usage --categories for category availability and estimated costs
List or create notebooksnotebooklm list --json; notebooklm create "Title" --json
Add and wait for a sourcenotebooklm source add <input> -n <nb> --json; notebooklm source wait <src> -n <nb>
Chatnotebooklm ask "question" -n <nb> --json
Researchnotebooklm source add-research "query" -n <nb> --mode fast --json (deep is also supported)
List or wait for artifactsnotebooklm artifact list -n <nb> --json; notebooklm artifact wait <id> -n <nb>
Generatenotebooklm generate <type> ... -n <nb> --json
Downloadnotebooklm download <type> <path> -n <nb> -a <artifact>

For the full surface, consult the installed command help or, when available, the CLI reference. For application code, use the baseline below and, when available, the

Use this skill in a project

Open any RiverX project, search the Skills panel for teng-lin/notebooklm-py/notebooklm, and install it in one click.

Use this skill