@vellumai/assistant 0.3.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.dockerignore +27 -0
- package/.env.example +22 -0
- package/Dockerfile +99 -0
- package/Dockerfile.sandbox +5 -0
- package/README.md +248 -0
- package/bun.lock +1723 -0
- package/bunfig.toml +2 -0
- package/docs/skills.md +158 -0
- package/drizzle/0000_dizzy_maggott.sql +301 -0
- package/drizzle/meta/0000_snapshot.json +1999 -0
- package/drizzle/meta/_journal.json +13 -0
- package/drizzle.config.ts +7 -0
- package/eslint.config.mjs +17 -0
- package/hook-templates/debug-prompt-logger/hook.json +7 -0
- package/hook-templates/debug-prompt-logger/run.sh +68 -0
- package/knip.json +9 -0
- package/package.json +70 -0
- package/scripts/capture-x-graphql.ts +545 -0
- package/scripts/ipc/check-contract-inventory.ts +104 -0
- package/scripts/ipc/check-swift-decoder-drift.ts +166 -0
- package/scripts/ipc/generate-swift.ts +492 -0
- package/scripts/test-filesystem-tools.sh +48 -0
- package/scripts/test.sh +127 -0
- package/src/__tests__/__snapshots__/ipc-snapshot.test.ts.snap +2485 -0
- package/src/__tests__/account-registry.test.ts +245 -0
- package/src/__tests__/active-skill-tools.test.ts +378 -0
- package/src/__tests__/agent-heartbeat-service.test.ts +250 -0
- package/src/__tests__/agent-loop-thinking.test.ts +81 -0
- package/src/__tests__/agent-loop.test.ts +1135 -0
- package/src/__tests__/anthropic-provider.test.ts +778 -0
- package/src/__tests__/app-builder-tool-scripts.test.ts +290 -0
- package/src/__tests__/app-bundler.test.ts +292 -0
- package/src/__tests__/app-executors.test.ts +613 -0
- package/src/__tests__/app-git-history.test.ts +176 -0
- package/src/__tests__/app-git-service.test.ts +169 -0
- package/src/__tests__/app-open-proxy.test.ts +62 -0
- package/src/__tests__/asset-materialize-tool.test.ts +452 -0
- package/src/__tests__/asset-search-tool.test.ts +477 -0
- package/src/__tests__/assistant-attachment-directive.test.ts +401 -0
- package/src/__tests__/assistant-attachments.test.ts +437 -0
- package/src/__tests__/assistant-event-hub.test.ts +226 -0
- package/src/__tests__/assistant-event.test.ts +123 -0
- package/src/__tests__/assistant-events-sse-hardening.test.ts +315 -0
- package/src/__tests__/attachments-store.test.ts +476 -0
- package/src/__tests__/attachments.test.ts +134 -0
- package/src/__tests__/audit-log-rotation.test.ts +154 -0
- package/src/__tests__/browser-fill-credential.test.ts +309 -0
- package/src/__tests__/browser-manager.test.ts +203 -0
- package/src/__tests__/browser-runtime-check.test.ts +55 -0
- package/src/__tests__/browser-skill-baseline-tool-payload.test.ts +68 -0
- package/src/__tests__/browser-skill-endstate.test.ts +195 -0
- package/src/__tests__/bundle-scanner.test.ts +313 -0
- package/src/__tests__/call-bridge.test.ts +517 -0
- package/src/__tests__/call-constants.test.ts +40 -0
- package/src/__tests__/call-domain.test.ts +163 -0
- package/src/__tests__/call-orchestrator.test.ts +625 -0
- package/src/__tests__/call-recovery.test.ts +518 -0
- package/src/__tests__/call-routes-http.test.ts +699 -0
- package/src/__tests__/call-state-machine.test.ts +143 -0
- package/src/__tests__/call-state.test.ts +174 -0
- package/src/__tests__/call-store.test.ts +691 -0
- package/src/__tests__/channel-approval-routes.test.ts +2356 -0
- package/src/__tests__/channel-approval.test.ts +299 -0
- package/src/__tests__/channel-approvals.test.ts +521 -0
- package/src/__tests__/channel-delivery-store.test.ts +447 -0
- package/src/__tests__/channel-guardian.test.ts +1005 -0
- package/src/__tests__/checker.test.ts +3519 -0
- package/src/__tests__/clarification-resolver.test.ts +159 -0
- package/src/__tests__/classifier.test.ts +67 -0
- package/src/__tests__/claude-code-skill-regression.test.ts +127 -0
- package/src/__tests__/claude-code-tool-profiles.test.ts +88 -0
- package/src/__tests__/cli-discover.test.ts +85 -0
- package/src/__tests__/cli.test.ts +26 -0
- package/src/__tests__/clipboard.test.ts +80 -0
- package/src/__tests__/commit-guarantee.test.ts +335 -0
- package/src/__tests__/commit-message-enrichment-service.test.ts +550 -0
- package/src/__tests__/compaction.benchmark.test.ts +176 -0
- package/src/__tests__/computer-use-session-compaction.test.ts +132 -0
- package/src/__tests__/computer-use-session-lifecycle.test.ts +293 -0
- package/src/__tests__/computer-use-session-working-dir.test.ts +117 -0
- package/src/__tests__/computer-use-skill-baseline.test.ts +74 -0
- package/src/__tests__/computer-use-skill-endstate.test.ts +89 -0
- package/src/__tests__/computer-use-skill-lifecycle-cleanup.test.ts +217 -0
- package/src/__tests__/computer-use-skill-manifest-regression.test.ts +107 -0
- package/src/__tests__/computer-use-skill-proxy-bridge.test.ts +54 -0
- package/src/__tests__/computer-use-tools.test.ts +250 -0
- package/src/__tests__/config-schema.test.ts +1462 -0
- package/src/__tests__/conflict-intent-tokenization.test.ts +141 -0
- package/src/__tests__/conflict-policy.test.ts +121 -0
- package/src/__tests__/conflict-store.test.ts +332 -0
- package/src/__tests__/connection-policy.test.ts +102 -0
- package/src/__tests__/contacts-tools.test.ts +331 -0
- package/src/__tests__/context-memory-e2e.test.ts +434 -0
- package/src/__tests__/context-token-estimator.test.ts +135 -0
- package/src/__tests__/context-window-manager.test.ts +376 -0
- package/src/__tests__/contradiction-checker.test.ts +314 -0
- package/src/__tests__/conversation-store.test.ts +612 -0
- package/src/__tests__/credential-broker-browser-fill.test.ts +517 -0
- package/src/__tests__/credential-broker-server-use.test.ts +554 -0
- package/src/__tests__/credential-broker.test.ts +167 -0
- package/src/__tests__/credential-host-pattern-match.test.ts +104 -0
- package/src/__tests__/credential-metadata-store.test.ts +779 -0
- package/src/__tests__/credential-policy-validate.test.ts +121 -0
- package/src/__tests__/credential-resolve.test.ts +328 -0
- package/src/__tests__/credential-security-e2e.test.ts +352 -0
- package/src/__tests__/credential-security-invariants.test.ts +583 -0
- package/src/__tests__/credential-selection.test.ts +354 -0
- package/src/__tests__/credential-vault-unit.test.ts +780 -0
- package/src/__tests__/credential-vault.test.ts +852 -0
- package/src/__tests__/daemon-assistant-events.test.ts +164 -0
- package/src/__tests__/daemon-server-session-init.test.ts +522 -0
- package/src/__tests__/date-context.test.ts +373 -0
- package/src/__tests__/db-schedule-syntax-migration.test.ts +129 -0
- package/src/__tests__/delete-managed-skill-tool.test.ts +97 -0
- package/src/__tests__/diff.test.ts +121 -0
- package/src/__tests__/domain-normalize.test.ts +112 -0
- package/src/__tests__/domain-policy.test.ts +124 -0
- package/src/__tests__/doordash-client.test.ts +186 -0
- package/src/__tests__/doordash-session.test.ts +152 -0
- package/src/__tests__/dynamic-page-surface.test.ts +91 -0
- package/src/__tests__/dynamic-skill-workflow-prompt.test.ts +132 -0
- package/src/__tests__/edit-engine.test.ts +180 -0
- package/src/__tests__/elevenlabs-client.test.ts +271 -0
- package/src/__tests__/email-cli.test.ts +283 -0
- package/src/__tests__/encrypted-store.test.ts +332 -0
- package/src/__tests__/entity-extractor.test.ts +190 -0
- package/src/__tests__/ephemeral-permissions.test.ts +362 -0
- package/src/__tests__/evaluate-typescript-tool.test.ts +286 -0
- package/src/__tests__/event-bus.test.ts +222 -0
- package/src/__tests__/file-edit-tool.test.ts +122 -0
- package/src/__tests__/file-ops-service.test.ts +330 -0
- package/src/__tests__/file-read-tool.test.ts +75 -0
- package/src/__tests__/file-write-tool.test.ts +113 -0
- package/src/__tests__/filesystem-tools.test.ts +579 -0
- package/src/__tests__/fixtures/credential-security-fixtures.ts +181 -0
- package/src/__tests__/fixtures/media-reuse-fixtures.ts +126 -0
- package/src/__tests__/fixtures/mock-signup-server.ts +387 -0
- package/src/__tests__/fixtures/proxy-fixtures.ts +147 -0
- package/src/__tests__/followup-tools.test.ts +303 -0
- package/src/__tests__/forbidden-legacy-symbols.test.ts +71 -0
- package/src/__tests__/fuzzy-match-property.test.ts +216 -0
- package/src/__tests__/fuzzy-match.test.ts +138 -0
- package/src/__tests__/gateway-only-enforcement.test.ts +631 -0
- package/src/__tests__/gemini-image-service.test.ts +261 -0
- package/src/__tests__/gemini-provider.test.ts +651 -0
- package/src/__tests__/get-weather.test.ts +318 -0
- package/src/__tests__/gmail-integration.test.ts +73 -0
- package/src/__tests__/handlers-add-trust-rule-metadata.test.ts +202 -0
- package/src/__tests__/handlers-cu-observation-blob.test.ts +352 -0
- package/src/__tests__/handlers-ipc-blob-probe.test.ts +191 -0
- package/src/__tests__/handlers-slack-config.test.ts +200 -0
- package/src/__tests__/handlers-task-submit-slash.test.ts +38 -0
- package/src/__tests__/handlers-telegram-config.test.ts +968 -0
- package/src/__tests__/handlers-twilio-config.test.ts +659 -0
- package/src/__tests__/handlers-twitter-config.test.ts +858 -0
- package/src/__tests__/headless-browser-interactions.test.ts +536 -0
- package/src/__tests__/headless-browser-navigate.test.ts +211 -0
- package/src/__tests__/headless-browser-read-tools.test.ts +261 -0
- package/src/__tests__/headless-browser-snapshot.test.ts +185 -0
- package/src/__tests__/history-repair-observability.test.ts +56 -0
- package/src/__tests__/history-repair.test.ts +510 -0
- package/src/__tests__/home-base-bootstrap.test.ts +82 -0
- package/src/__tests__/hooks-blocking.test.ts +128 -0
- package/src/__tests__/hooks-cli.test.ts +144 -0
- package/src/__tests__/hooks-config.test.ts +93 -0
- package/src/__tests__/hooks-discovery.test.ts +199 -0
- package/src/__tests__/hooks-integration.test.ts +189 -0
- package/src/__tests__/hooks-manager.test.ts +187 -0
- package/src/__tests__/hooks-runner.test.ts +182 -0
- package/src/__tests__/hooks-settings.test.ts +154 -0
- package/src/__tests__/hooks-templates.test.ts +137 -0
- package/src/__tests__/hooks-ts-runner.test.ts +125 -0
- package/src/__tests__/hooks-watch.test.ts +100 -0
- package/src/__tests__/host-file-edit-tool.test.ts +228 -0
- package/src/__tests__/host-file-read-tool.test.ts +123 -0
- package/src/__tests__/host-file-write-tool.test.ts +136 -0
- package/src/__tests__/host-shell-tool.test.ts +562 -0
- package/src/__tests__/ingress-reconcile.test.ts +581 -0
- package/src/__tests__/ingress-url-consistency.test.ts +214 -0
- package/src/__tests__/intent-routing.test.ts +259 -0
- package/src/__tests__/ipc-blob-store.test.ts +315 -0
- package/src/__tests__/ipc-contract-inventory.test.ts +54 -0
- package/src/__tests__/ipc-contract.test.ts +74 -0
- package/src/__tests__/ipc-protocol.test.ts +113 -0
- package/src/__tests__/ipc-roundtrip.benchmark.test.ts +237 -0
- package/src/__tests__/ipc-snapshot.test.ts +1769 -0
- package/src/__tests__/ipc-validate.test.ts +407 -0
- package/src/__tests__/key-migration.test.ts +206 -0
- package/src/__tests__/keychain.test.ts +258 -0
- package/src/__tests__/llm-usage-store.test.ts +221 -0
- package/src/__tests__/managed-skill-lifecycle.test.ts +257 -0
- package/src/__tests__/managed-store.test.ts +608 -0
- package/src/__tests__/media-generate-image.test.ts +238 -0
- package/src/__tests__/media-reuse-story.e2e.test.ts +676 -0
- package/src/__tests__/media-visibility-policy.test.ts +141 -0
- package/src/__tests__/memory-context-benchmark.benchmark.test.ts +235 -0
- package/src/__tests__/memory-lifecycle-e2e.test.ts +481 -0
- package/src/__tests__/memory-query-builder.test.ts +59 -0
- package/src/__tests__/memory-recall-quality.test.ts +846 -0
- package/src/__tests__/memory-regressions.experimental.test.ts +538 -0
- package/src/__tests__/memory-regressions.test.ts +4435 -0
- package/src/__tests__/memory-retrieval-budget.test.ts +49 -0
- package/src/__tests__/memory-retrieval.benchmark.test.ts +430 -0
- package/src/__tests__/migration-cli-flows.test.ts +169 -0
- package/src/__tests__/migration-ordering.test.ts +249 -0
- package/src/__tests__/mock-signup-server.test.ts +528 -0
- package/src/__tests__/oauth-callback-registry.test.ts +92 -0
- package/src/__tests__/oauth2-gateway-transport.test.ts +285 -0
- package/src/__tests__/onboarding-starter-tasks.test.ts +176 -0
- package/src/__tests__/onboarding-template-contract.test.ts +58 -0
- package/src/__tests__/openai-provider.test.ts +753 -0
- package/src/__tests__/parallel-tool.benchmark.test.ts +294 -0
- package/src/__tests__/parser.test.ts +472 -0
- package/src/__tests__/path-classifier.test.ts +73 -0
- package/src/__tests__/path-policy.test.ts +435 -0
- package/src/__tests__/platform-move-helper.test.ts +99 -0
- package/src/__tests__/platform-socket-path.test.ts +52 -0
- package/src/__tests__/platform-workspace-migration.test.ts +1000 -0
- package/src/__tests__/platform.test.ts +131 -0
- package/src/__tests__/playbook-execution.test.ts +502 -0
- package/src/__tests__/playbook-tools.test.ts +340 -0
- package/src/__tests__/prebuilt-home-base-seed.test.ts +75 -0
- package/src/__tests__/pricing.test.ts +256 -0
- package/src/__tests__/profile-compiler.test.ts +374 -0
- package/src/__tests__/provider-commit-message-generator.test.ts +342 -0
- package/src/__tests__/provider-registry-ollama.test.ts +16 -0
- package/src/__tests__/provider-streaming.benchmark.test.ts +773 -0
- package/src/__tests__/proxy-approval-callback.test.ts +601 -0
- package/src/__tests__/public-ingress-urls.test.ts +256 -0
- package/src/__tests__/qdrant-manager.test.ts +267 -0
- package/src/__tests__/ratelimit.test.ts +297 -0
- package/src/__tests__/recurrence-engine-rruleset.test.ts +175 -0
- package/src/__tests__/recurrence-engine.test.ts +78 -0
- package/src/__tests__/recurrence-types.test.ts +79 -0
- package/src/__tests__/registry.test.ts +494 -0
- package/src/__tests__/relay-server.test.ts +688 -0
- package/src/__tests__/reminder-store.test.ts +223 -0
- package/src/__tests__/reminder.test.ts +229 -0
- package/src/__tests__/request-file-tool.test.ts +158 -0
- package/src/__tests__/run-orchestrator-assistant-events.test.ts +227 -0
- package/src/__tests__/run-orchestrator.test.ts +425 -0
- package/src/__tests__/runtime-attachment-metadata.test.ts +189 -0
- package/src/__tests__/runtime-events-sse-parity.test.ts +343 -0
- package/src/__tests__/runtime-events-sse.test.ts +162 -0
- package/src/__tests__/runtime-runs-http.test.ts +438 -0
- package/src/__tests__/runtime-runs.test.ts +260 -0
- package/src/__tests__/sandbox-diagnostics.test.ts +408 -0
- package/src/__tests__/sandbox-host-parity.test.ts +950 -0
- package/src/__tests__/scaffold-managed-skill-tool.test.ts +253 -0
- package/src/__tests__/schedule-store.test.ts +484 -0
- package/src/__tests__/schedule-tools.test.ts +783 -0
- package/src/__tests__/scheduler-recurrence.test.ts +430 -0
- package/src/__tests__/script-proxy-certs.test.ts +90 -0
- package/src/__tests__/script-proxy-connect-tunnel.test.ts +177 -0
- package/src/__tests__/script-proxy-decision-trace.test.ts +156 -0
- package/src/__tests__/script-proxy-http-forwarder.test.ts +281 -0
- package/src/__tests__/script-proxy-injection-runtime.test.ts +401 -0
- package/src/__tests__/script-proxy-mitm-handler.test.ts +407 -0
- package/src/__tests__/script-proxy-policy-runtime.test.ts +287 -0
- package/src/__tests__/script-proxy-policy.test.ts +310 -0
- package/src/__tests__/script-proxy-rewrite-specificity.test.ts +135 -0
- package/src/__tests__/script-proxy-router.test.ts +180 -0
- package/src/__tests__/script-proxy-session-manager.test.ts +382 -0
- package/src/__tests__/script-proxy-session-runtime.test.ts +113 -0
- package/src/__tests__/secret-allowlist.test.ts +230 -0
- package/src/__tests__/secret-ingress-handler.test.ts +110 -0
- package/src/__tests__/secret-onetime-send.test.ts +130 -0
- package/src/__tests__/secret-prompt-log-hygiene.test.ts +106 -0
- package/src/__tests__/secret-response-routing.test.ts +93 -0
- package/src/__tests__/secret-scanner-executor.test.ts +348 -0
- package/src/__tests__/secret-scanner.test.ts +900 -0
- package/src/__tests__/secure-keys.test.ts +323 -0
- package/src/__tests__/server-history-render.test.ts +431 -0
- package/src/__tests__/session-abort-tool-results.test.ts +240 -0
- package/src/__tests__/session-conflict-gate.test.ts +1136 -0
- package/src/__tests__/session-error.test.ts +369 -0
- package/src/__tests__/session-evictor.test.ts +188 -0
- package/src/__tests__/session-init.benchmark.test.ts +465 -0
- package/src/__tests__/session-load-history-repair.test.ts +222 -0
- package/src/__tests__/session-pre-run-repair.test.ts +213 -0
- package/src/__tests__/session-process-bridge.test.ts +242 -0
- package/src/__tests__/session-profile-injection.test.ts +444 -0
- package/src/__tests__/session-provider-retry-repair.test.ts +306 -0
- package/src/__tests__/session-queue.test.ts +1535 -0
- package/src/__tests__/session-runtime-assembly.test.ts +476 -0
- package/src/__tests__/session-runtime-workspace.test.ts +183 -0
- package/src/__tests__/session-skill-tools.test.ts +2431 -0
- package/src/__tests__/session-slash-known.test.ts +368 -0
- package/src/__tests__/session-slash-queue.test.ts +288 -0
- package/src/__tests__/session-slash-unknown.test.ts +271 -0
- package/src/__tests__/session-surfaces-task-progress.test.ts +104 -0
- package/src/__tests__/session-tool-setup-app-refresh.test.ts +473 -0
- package/src/__tests__/session-tool-setup-memory-scope.test.ts +140 -0
- package/src/__tests__/session-tool-setup-side-effect-flag.test.ts +140 -0
- package/src/__tests__/session-undo.test.ts +75 -0
- package/src/__tests__/session-workspace-cache-state.test.ts +246 -0
- package/src/__tests__/session-workspace-injection.test.ts +327 -0
- package/src/__tests__/session-workspace-tool-tracking.test.ts +240 -0
- package/src/__tests__/shared-filesystem-errors.test.ts +78 -0
- package/src/__tests__/shell-credential-ref.test.ts +187 -0
- package/src/__tests__/shell-identity.test.ts +256 -0
- package/src/__tests__/shell-parser-fuzz.test.ts +544 -0
- package/src/__tests__/shell-parser-property.test.ts +433 -0
- package/src/__tests__/shell-tool-proxy-mode.test.ts +272 -0
- package/src/__tests__/signup-e2e.test.ts +353 -0
- package/src/__tests__/size-guard.test.ts +117 -0
- package/src/__tests__/skill-include-graph.test.ts +303 -0
- package/src/__tests__/skill-load-tool.test.ts +409 -0
- package/src/__tests__/skill-projection.benchmark.test.ts +338 -0
- package/src/__tests__/skill-script-runner-host.test.ts +489 -0
- package/src/__tests__/skill-script-runner-sandbox.test.ts +349 -0
- package/src/__tests__/skill-script-runner.test.ts +159 -0
- package/src/__tests__/skill-tool-factory.test.ts +252 -0
- package/src/__tests__/skill-tool-manifest.test.ts +658 -0
- package/src/__tests__/skill-version-hash.test.ts +182 -0
- package/src/__tests__/skills.test.ts +680 -0
- package/src/__tests__/slash-commands-catalog.test.ts +86 -0
- package/src/__tests__/slash-commands-parser.test.ts +119 -0
- package/src/__tests__/slash-commands-resolver.test.ts +193 -0
- package/src/__tests__/slash-commands-rewrite.test.ts +39 -0
- package/src/__tests__/speaker-identification.test.ts +52 -0
- package/src/__tests__/starter-bundle.test.ts +136 -0
- package/src/__tests__/starter-task-flow.test.ts +143 -0
- package/src/__tests__/subagent-manager-notify.test.ts +404 -0
- package/src/__tests__/subagent-tools.test.ts +801 -0
- package/src/__tests__/subagent-types.test.ts +78 -0
- package/src/__tests__/swarm-orchestrator.test.ts +428 -0
- package/src/__tests__/swarm-plan-validator.test.ts +330 -0
- package/src/__tests__/swarm-recursion.test.ts +165 -0
- package/src/__tests__/swarm-router-planner.test.ts +208 -0
- package/src/__tests__/swarm-session-integration.test.ts +274 -0
- package/src/__tests__/swarm-tool.test.ts +145 -0
- package/src/__tests__/swarm-worker-backend.test.ts +129 -0
- package/src/__tests__/swarm-worker-runner.test.ts +272 -0
- package/src/__tests__/system-prompt.test.ts +439 -0
- package/src/__tests__/task-compiler.test.ts +284 -0
- package/src/__tests__/task-management-tools.test.ts +936 -0
- package/src/__tests__/task-runner.test.ts +216 -0
- package/src/__tests__/task-scheduler.test.ts +217 -0
- package/src/__tests__/task-tools.test.ts +595 -0
- package/src/__tests__/terminal-sandbox-docker.test.ts +1064 -0
- package/src/__tests__/terminal-sandbox.integration.test.ts +178 -0
- package/src/__tests__/terminal-sandbox.test.ts +202 -0
- package/src/__tests__/terminal-tools.test.ts +840 -0
- package/src/__tests__/test-support/browser-skill-harness.ts +90 -0
- package/src/__tests__/test-support/computer-use-skill-harness.ts +45 -0
- package/src/__tests__/tool-audit-listener.test.ts +113 -0
- package/src/__tests__/tool-domain-event-publisher.test.ts +253 -0
- package/src/__tests__/tool-execution-pipeline.benchmark.test.ts +500 -0
- package/src/__tests__/tool-executor-lifecycle-events.test.ts +516 -0
- package/src/__tests__/tool-executor-redaction.test.ts +289 -0
- package/src/__tests__/tool-executor-shell-integration.test.ts +301 -0
- package/src/__tests__/tool-executor.test.ts +1989 -0
- package/src/__tests__/tool-metrics-listener.test.ts +225 -0
- package/src/__tests__/tool-notification-listener.test.ts +49 -0
- package/src/__tests__/tool-permission-simulate-handler.test.ts +336 -0
- package/src/__tests__/tool-policy.test.ts +54 -0
- package/src/__tests__/tool-profiling-listener.test.ts +268 -0
- package/src/__tests__/tool-result-truncation.test.ts +217 -0
- package/src/__tests__/tool-trace-listener.test.ts +226 -0
- package/src/__tests__/top-level-renderer.test.ts +121 -0
- package/src/__tests__/top-level-scanner.test.ts +141 -0
- package/src/__tests__/trace-emitter.test.ts +173 -0
- package/src/__tests__/trust-store.test.ts +1605 -0
- package/src/__tests__/turn-commit.test.ts +554 -0
- package/src/__tests__/twilio-provider.test.ts +329 -0
- package/src/__tests__/twilio-routes-elevenlabs.test.ts +375 -0
- package/src/__tests__/twilio-routes-twiml.test.ts +127 -0
- package/src/__tests__/twilio-routes.test.ts +577 -0
- package/src/__tests__/twitter-auth-handler.test.ts +667 -0
- package/src/__tests__/twitter-cli-error-shaping.test.ts +208 -0
- package/src/__tests__/twitter-cli-routing.test.ts +252 -0
- package/src/__tests__/twitter-oauth-client.test.ts +209 -0
- package/src/__tests__/url-safety.test.ts +418 -0
- package/src/__tests__/view-image-tool.test.ts +217 -0
- package/src/__tests__/weather-skill-regression.test.ts +225 -0
- package/src/__tests__/web-fetch.test.ts +869 -0
- package/src/__tests__/web-search.test.ts +584 -0
- package/src/__tests__/workspace-git-service.test.ts +1153 -0
- package/src/__tests__/workspace-heartbeat-service.test.ts +486 -0
- package/src/__tests__/workspace-lifecycle.test.ts +292 -0
- package/src/__tests__/workspace-policy.test.ts +213 -0
- package/src/agent/attachments.ts +35 -0
- package/src/agent/loop.ts +500 -0
- package/src/agent/message-types.ts +17 -0
- package/src/agent-heartbeat/agent-heartbeat-service.ts +155 -0
- package/src/autonomy/autonomy-resolver.ts +60 -0
- package/src/autonomy/autonomy-store.ts +122 -0
- package/src/autonomy/disposition-mapper.ts +31 -0
- package/src/autonomy/index.ts +11 -0
- package/src/autonomy/types.ts +39 -0
- package/src/bundler/app-bundler.ts +295 -0
- package/src/bundler/bundle-scanner.ts +535 -0
- package/src/bundler/bundle-signer.ts +124 -0
- package/src/bundler/manifest.ts +21 -0
- package/src/bundler/signature-verifier.ts +184 -0
- package/src/calls/call-bridge.ts +168 -0
- package/src/calls/call-constants.ts +48 -0
- package/src/calls/call-domain.ts +430 -0
- package/src/calls/call-orchestrator.ts +498 -0
- package/src/calls/call-recovery.ts +207 -0
- package/src/calls/call-state-machine.ts +68 -0
- package/src/calls/call-state.ts +87 -0
- package/src/calls/call-store.ts +422 -0
- package/src/calls/elevenlabs-client.ts +97 -0
- package/src/calls/elevenlabs-config.ts +31 -0
- package/src/calls/relay-server.ts +390 -0
- package/src/calls/speaker-identification.ts +213 -0
- package/src/calls/twilio-config.ts +45 -0
- package/src/calls/twilio-provider.ts +263 -0
- package/src/calls/twilio-rest.ts +156 -0
- package/src/calls/twilio-routes.ts +311 -0
- package/src/calls/types.ts +39 -0
- package/src/calls/voice-provider.ts +14 -0
- package/src/calls/voice-quality.ts +114 -0
- package/src/cli/autonomy.ts +188 -0
- package/src/cli/config-commands.ts +334 -0
- package/src/cli/contacts.ts +149 -0
- package/src/cli/core-commands.ts +784 -0
- package/src/cli/doordash.ts +1055 -0
- package/src/cli/email-guardrails.ts +200 -0
- package/src/cli/email.ts +405 -0
- package/src/cli/ipc-client.ts +82 -0
- package/src/cli/main-screen.tsx +53 -0
- package/src/cli/map.ts +270 -0
- package/src/cli/twitter.ts +754 -0
- package/src/cli.ts +918 -0
- package/src/commands/__tests__/cc-command-registry.test.ts +319 -0
- package/src/commands/cc-command-registry.ts +209 -0
- package/src/config/bundled-skills/.gitkeep +0 -0
- package/src/config/bundled-skills/agentmail/SKILL.md +128 -0
- package/src/config/bundled-skills/agentmail/icon.svg +21 -0
- package/src/config/bundled-skills/app-builder/SKILL.md +1404 -0
- package/src/config/bundled-skills/app-builder/TOOLS.json +279 -0
- package/src/config/bundled-skills/app-builder/icon.svg +9 -0
- package/src/config/bundled-skills/app-builder/tools/app-create.ts +15 -0
- package/src/config/bundled-skills/app-builder/tools/app-delete.ts +10 -0
- package/src/config/bundled-skills/app-builder/tools/app-file-edit.ts +11 -0
- package/src/config/bundled-skills/app-builder/tools/app-file-list.ts +10 -0
- package/src/config/bundled-skills/app-builder/tools/app-file-read.ts +18 -0
- package/src/config/bundled-skills/app-builder/tools/app-file-write.ts +11 -0
- package/src/config/bundled-skills/app-builder/tools/app-list.ts +10 -0
- package/src/config/bundled-skills/app-builder/tools/app-query.ts +10 -0
- package/src/config/bundled-skills/app-builder/tools/app-update.ts +20 -0
- package/src/config/bundled-skills/browser/SKILL.md +28 -0
- package/src/config/bundled-skills/browser/TOOLS.json +234 -0
- package/src/config/bundled-skills/browser/tools/browser-click.ts +9 -0
- package/src/config/bundled-skills/browser/tools/browser-close.ts +9 -0
- package/src/config/bundled-skills/browser/tools/browser-extract.ts +9 -0
- package/src/config/bundled-skills/browser/tools/browser-fill-credential.ts +9 -0
- package/src/config/bundled-skills/browser/tools/browser-navigate.ts +9 -0
- package/src/config/bundled-skills/browser/tools/browser-press-key.ts +9 -0
- package/src/config/bundled-skills/browser/tools/browser-screenshot.ts +9 -0
- package/src/config/bundled-skills/browser/tools/browser-snapshot.ts +9 -0
- package/src/config/bundled-skills/browser/tools/browser-type.ts +9 -0
- package/src/config/bundled-skills/browser/tools/browser-wait-for.ts +9 -0
- package/src/config/bundled-skills/claude-code/SKILL.md +50 -0
- package/src/config/bundled-skills/claude-code/TOOLS.json +40 -0
- package/src/config/bundled-skills/claude-code/tools/claude-code.ts +9 -0
- package/src/config/bundled-skills/computer-use/SKILL.md +17 -0
- package/src/config/bundled-skills/computer-use/TOOLS.json +326 -0
- package/src/config/bundled-skills/computer-use/tools/computer-use-click.ts +9 -0
- package/src/config/bundled-skills/computer-use/tools/computer-use-done.ts +9 -0
- package/src/config/bundled-skills/computer-use/tools/computer-use-double-click.ts +9 -0
- package/src/config/bundled-skills/computer-use/tools/computer-use-drag.ts +9 -0
- package/src/config/bundled-skills/computer-use/tools/computer-use-key.ts +9 -0
- package/src/config/bundled-skills/computer-use/tools/computer-use-open-app.ts +9 -0
- package/src/config/bundled-skills/computer-use/tools/computer-use-request-control.ts +9 -0
- package/src/config/bundled-skills/computer-use/tools/computer-use-respond.ts +9 -0
- package/src/config/bundled-skills/computer-use/tools/computer-use-right-click.ts +9 -0
- package/src/config/bundled-skills/computer-use/tools/computer-use-run-applescript.ts +9 -0
- package/src/config/bundled-skills/computer-use/tools/computer-use-scroll.ts +9 -0
- package/src/config/bundled-skills/computer-use/tools/computer-use-type-text.ts +9 -0
- package/src/config/bundled-skills/computer-use/tools/computer-use-wait.ts +9 -0
- package/src/config/bundled-skills/contacts/SKILL.md +39 -0
- package/src/config/bundled-skills/contacts/TOOLS.json +122 -0
- package/src/config/bundled-skills/contacts/tools/contact-merge.ts +57 -0
- package/src/config/bundled-skills/contacts/tools/contact-search.ts +60 -0
- package/src/config/bundled-skills/contacts/tools/contact-upsert.ts +66 -0
- package/src/config/bundled-skills/document/SKILL.md +26 -0
- package/src/config/bundled-skills/document/TOOLS.json +53 -0
- package/src/config/bundled-skills/document/tools/document-create.ts +9 -0
- package/src/config/bundled-skills/document/tools/document-update.ts +9 -0
- package/src/config/bundled-skills/doordash/SKILL.md +163 -0
- package/src/config/bundled-skills/followups/SKILL.md +32 -0
- package/src/config/bundled-skills/followups/TOOLS.json +100 -0
- package/src/config/bundled-skills/followups/icon.svg +24 -0
- package/src/config/bundled-skills/followups/tools/followup-create.ts +9 -0
- package/src/config/bundled-skills/followups/tools/followup-list.ts +9 -0
- package/src/config/bundled-skills/followups/tools/followup-resolve.ts +9 -0
- package/src/config/bundled-skills/google-calendar/SKILL.md +51 -0
- package/src/config/bundled-skills/google-calendar/TOOLS.json +108 -0
- package/src/config/bundled-skills/google-calendar/calendar-client.ts +165 -0
- package/src/config/bundled-skills/google-calendar/tools/calendar-check-availability.ts +21 -0
- package/src/config/bundled-skills/google-calendar/tools/calendar-create-event.ts +42 -0
- package/src/config/bundled-skills/google-calendar/tools/calendar-get-event.ts +13 -0
- package/src/config/bundled-skills/google-calendar/tools/calendar-list-events.ts +30 -0
- package/src/config/bundled-skills/google-calendar/tools/calendar-rsvp.ts +41 -0
- package/src/config/bundled-skills/google-calendar/tools/shared.ts +18 -0
- package/src/config/bundled-skills/google-calendar/types.ts +97 -0
- package/src/config/bundled-skills/image-studio/SKILL.md +32 -0
- package/src/config/bundled-skills/image-studio/TOOLS.json +42 -0
- package/src/config/bundled-skills/image-studio/tools/media-generate-image.ts +115 -0
- package/src/config/bundled-skills/macos-automation/SKILL.md +66 -0
- package/src/config/bundled-skills/messaging/SKILL.md +153 -0
- package/src/config/bundled-skills/messaging/TOOLS.json +357 -0
- package/src/config/bundled-skills/messaging/tools/gmail-archive.ts +23 -0
- package/src/config/bundled-skills/messaging/tools/gmail-batch-archive.ts +23 -0
- package/src/config/bundled-skills/messaging/tools/gmail-batch-label.ts +25 -0
- package/src/config/bundled-skills/messaging/tools/gmail-draft.ts +26 -0
- package/src/config/bundled-skills/messaging/tools/gmail-label.ts +25 -0
- package/src/config/bundled-skills/messaging/tools/gmail-trash.ts +23 -0
- package/src/config/bundled-skills/messaging/tools/gmail-unsubscribe.ts +84 -0
- package/src/config/bundled-skills/messaging/tools/messaging-analyze-activity.ts +18 -0
- package/src/config/bundled-skills/messaging/tools/messaging-analyze-style.ts +125 -0
- package/src/config/bundled-skills/messaging/tools/messaging-auth-test.ts +16 -0
- package/src/config/bundled-skills/messaging/tools/messaging-draft.ts +49 -0
- package/src/config/bundled-skills/messaging/tools/messaging-list-conversations.ts +21 -0
- package/src/config/bundled-skills/messaging/tools/messaging-mark-read.ts +25 -0
- package/src/config/bundled-skills/messaging/tools/messaging-read.ts +28 -0
- package/src/config/bundled-skills/messaging/tools/messaging-reply.ts +32 -0
- package/src/config/bundled-skills/messaging/tools/messaging-search.ts +22 -0
- package/src/config/bundled-skills/messaging/tools/messaging-send.ts +31 -0
- package/src/config/bundled-skills/messaging/tools/shared.ts +76 -0
- package/src/config/bundled-skills/messaging/tools/slack-add-reaction.ts +25 -0
- package/src/config/bundled-skills/messaging/tools/slack-leave-channel.ts +23 -0
- package/src/config/bundled-skills/phone-calls/SKILL.md +533 -0
- package/src/config/bundled-skills/playbooks/SKILL.md +31 -0
- package/src/config/bundled-skills/playbooks/TOOLS.json +126 -0
- package/src/config/bundled-skills/playbooks/tools/playbook-create.ts +98 -0
- package/src/config/bundled-skills/playbooks/tools/playbook-delete.ts +54 -0
- package/src/config/bundled-skills/playbooks/tools/playbook-list.ts +76 -0
- package/src/config/bundled-skills/playbooks/tools/playbook-update.ts +113 -0
- package/src/config/bundled-skills/public-ingress/SKILL.md +200 -0
- package/src/config/bundled-skills/reminder/SKILL.md +20 -0
- package/src/config/bundled-skills/reminder/TOOLS.json +67 -0
- package/src/config/bundled-skills/reminder/tools/reminder-cancel.ts +9 -0
- package/src/config/bundled-skills/reminder/tools/reminder-create.ts +9 -0
- package/src/config/bundled-skills/reminder/tools/reminder-list.ts +9 -0
- package/src/config/bundled-skills/schedule/SKILL.md +74 -0
- package/src/config/bundled-skills/schedule/TOOLS.json +135 -0
- package/src/config/bundled-skills/schedule/tools/schedule-create.ts +9 -0
- package/src/config/bundled-skills/schedule/tools/schedule-delete.ts +9 -0
- package/src/config/bundled-skills/schedule/tools/schedule-list.ts +9 -0
- package/src/config/bundled-skills/schedule/tools/schedule-update.ts +9 -0
- package/src/config/bundled-skills/self-upgrade/SKILL.md +68 -0
- package/src/config/bundled-skills/start-the-day/SKILL.md +70 -0
- package/src/config/bundled-skills/start-the-day/icon.svg +13 -0
- package/src/config/bundled-skills/subagent/SKILL.md +25 -0
- package/src/config/bundled-skills/subagent/TOOLS.json +107 -0
- package/src/config/bundled-skills/subagent/tools/subagent-abort.ts +9 -0
- package/src/config/bundled-skills/subagent/tools/subagent-message.ts +9 -0
- package/src/config/bundled-skills/subagent/tools/subagent-read.ts +9 -0
- package/src/config/bundled-skills/subagent/tools/subagent-spawn.ts +9 -0
- package/src/config/bundled-skills/subagent/tools/subagent-status.ts +9 -0
- package/src/config/bundled-skills/tasks/SKILL.md +28 -0
- package/src/config/bundled-skills/tasks/TOOLS.json +281 -0
- package/src/config/bundled-skills/tasks/tools/task-delete.ts +9 -0
- package/src/config/bundled-skills/tasks/tools/task-list-add.ts +9 -0
- package/src/config/bundled-skills/tasks/tools/task-list-remove.ts +9 -0
- package/src/config/bundled-skills/tasks/tools/task-list-show.ts +9 -0
- package/src/config/bundled-skills/tasks/tools/task-list-update.ts +9 -0
- package/src/config/bundled-skills/tasks/tools/task-list.ts +9 -0
- package/src/config/bundled-skills/tasks/tools/task-queue-run.ts +9 -0
- package/src/config/bundled-skills/tasks/tools/task-run.ts +9 -0
- package/src/config/bundled-skills/tasks/tools/task-save.ts +9 -0
- package/src/config/bundled-skills/transcribe/SKILL.md +25 -0
- package/src/config/bundled-skills/transcribe/TOOLS.json +32 -0
- package/src/config/bundled-skills/transcribe/tools/transcribe-media.ts +370 -0
- package/src/config/bundled-skills/twitter/SKILL.md +220 -0
- package/src/config/bundled-skills/watcher/SKILL.md +27 -0
- package/src/config/bundled-skills/watcher/TOOLS.json +147 -0
- package/src/config/bundled-skills/watcher/tools/watcher-create.ts +9 -0
- package/src/config/bundled-skills/watcher/tools/watcher-delete.ts +9 -0
- package/src/config/bundled-skills/watcher/tools/watcher-digest.ts +9 -0
- package/src/config/bundled-skills/watcher/tools/watcher-list.ts +9 -0
- package/src/config/bundled-skills/watcher/tools/watcher-update.ts +9 -0
- package/src/config/bundled-skills/weather/SKILL.md +37 -0
- package/src/config/bundled-skills/weather/TOOLS.json +32 -0
- package/src/config/bundled-skills/weather/icon.svg +24 -0
- package/src/config/bundled-skills/weather/tools/get-weather.ts +9 -0
- package/src/config/computer-use-prompt.ts +97 -0
- package/src/config/defaults.ts +263 -0
- package/src/config/loader.ts +339 -0
- package/src/config/schema.ts +1436 -0
- package/src/config/skill-state.ts +95 -0
- package/src/config/skills.ts +972 -0
- package/src/config/system-prompt.ts +675 -0
- package/src/config/templates/BOOTSTRAP.md +70 -0
- package/src/config/templates/IDENTITY.md +25 -0
- package/src/config/templates/LOOKS.md +25 -0
- package/src/config/templates/SOUL.md +37 -0
- package/src/config/templates/USER.md +19 -0
- package/src/config/types.ts +42 -0
- package/src/config/vellum-skills/chatgpt-import/SKILL.md +24 -0
- package/src/config/vellum-skills/chatgpt-import/TOOLS.json +23 -0
- package/src/config/vellum-skills/chatgpt-import/tools/chatgpt-import.ts +284 -0
- package/src/config/vellum-skills/deploy-fullstack-vercel/SKILL.md +179 -0
- package/src/config/vellum-skills/document-writer/SKILL.md +195 -0
- package/src/config/vellum-skills/google-oauth-setup/SKILL.md +199 -0
- package/src/config/vellum-skills/slack-oauth-setup/SKILL.md +153 -0
- package/src/config/vellum-skills/telegram-setup/SKILL.md +143 -0
- package/src/config/vellum-skills/twilio-setup/SKILL.md +213 -0
- package/src/contacts/contact-store.ts +410 -0
- package/src/contacts/index.ts +11 -0
- package/src/contacts/types.ts +28 -0
- package/src/context/token-estimator.ts +108 -0
- package/src/context/tool-result-truncation.ts +128 -0
- package/src/context/window-manager.ts +531 -0
- package/src/daemon/assistant-attachments.ts +691 -0
- package/src/daemon/classifier.ts +110 -0
- package/src/daemon/computer-use-session.ts +903 -0
- package/src/daemon/connection-policy.ts +41 -0
- package/src/daemon/date-context.ts +136 -0
- package/src/daemon/handlers/apps.ts +530 -0
- package/src/daemon/handlers/browser.ts +54 -0
- package/src/daemon/handlers/computer-use.ts +187 -0
- package/src/daemon/handlers/config.ts +1517 -0
- package/src/daemon/handlers/diagnostics.ts +338 -0
- package/src/daemon/handlers/documents.ts +173 -0
- package/src/daemon/handlers/home-base.ts +78 -0
- package/src/daemon/handlers/identity.ts +127 -0
- package/src/daemon/handlers/index.ts +129 -0
- package/src/daemon/handlers/misc.ts +331 -0
- package/src/daemon/handlers/open-bundle-handler.ts +80 -0
- package/src/daemon/handlers/publish.ts +187 -0
- package/src/daemon/handlers/sessions.ts +555 -0
- package/src/daemon/handlers/shared.ts +570 -0
- package/src/daemon/handlers/signing.ts +37 -0
- package/src/daemon/handlers/skills.ts +486 -0
- package/src/daemon/handlers/subagents.ts +210 -0
- package/src/daemon/handlers/twitter-auth.ts +198 -0
- package/src/daemon/handlers/work-items.ts +632 -0
- package/src/daemon/handlers/workspace-files.ts +75 -0
- package/src/daemon/handlers.ts +17 -0
- package/src/daemon/history-repair.ts +214 -0
- package/src/daemon/ipc-blob-store.ts +231 -0
- package/src/daemon/ipc-contract-inventory.json +495 -0
- package/src/daemon/ipc-contract-inventory.ts +126 -0
- package/src/daemon/ipc-contract.ts +2551 -0
- package/src/daemon/ipc-protocol.ts +75 -0
- package/src/daemon/ipc-validate.ts +188 -0
- package/src/daemon/lifecycle.ts +582 -0
- package/src/daemon/main.ts +21 -0
- package/src/daemon/media-visibility-policy.ts +57 -0
- package/src/daemon/ride-shotgun-handler.ts +309 -0
- package/src/daemon/server.ts +1215 -0
- package/src/daemon/session-agent-loop.ts +922 -0
- package/src/daemon/session-attachments.ts +196 -0
- package/src/daemon/session-conflict-gate.ts +184 -0
- package/src/daemon/session-dynamic-profile.ts +63 -0
- package/src/daemon/session-error.ts +290 -0
- package/src/daemon/session-evictor.ts +196 -0
- package/src/daemon/session-history.ts +437 -0
- package/src/daemon/session-lifecycle.ts +147 -0
- package/src/daemon/session-media-retry.ts +147 -0
- package/src/daemon/session-memory.ts +212 -0
- package/src/daemon/session-messaging.ts +145 -0
- package/src/daemon/session-notifiers.ts +193 -0
- package/src/daemon/session-process.ts +323 -0
- package/src/daemon/session-queue-manager.ts +82 -0
- package/src/daemon/session-runtime-assembly.ts +447 -0
- package/src/daemon/session-skill-tools.ts +356 -0
- package/src/daemon/session-slash.ts +305 -0
- package/src/daemon/session-surfaces.ts +702 -0
- package/src/daemon/session-tool-setup.ts +523 -0
- package/src/daemon/session-usage.ts +72 -0
- package/src/daemon/session-workspace.ts +19 -0
- package/src/daemon/session.ts +400 -0
- package/src/daemon/tls-certs.ts +189 -0
- package/src/daemon/trace-emitter.ts +82 -0
- package/src/daemon/video-thumbnail.ts +62 -0
- package/src/daemon/watch-handler.ts +274 -0
- package/src/doordash/client.ts +999 -0
- package/src/doordash/queries.ts +1311 -0
- package/src/doordash/query-extractor.ts +93 -0
- package/src/doordash/session.ts +82 -0
- package/src/email/provider.ts +117 -0
- package/src/email/providers/agentmail.ts +317 -0
- package/src/email/providers/index.ts +58 -0
- package/src/email/service.ts +303 -0
- package/src/email/types.ts +126 -0
- package/src/events/bus.ts +157 -0
- package/src/events/domain-events.ts +83 -0
- package/src/events/index.ts +18 -0
- package/src/events/tool-audit-listener.ts +80 -0
- package/src/events/tool-domain-event-publisher.ts +111 -0
- package/src/events/tool-metrics-listener.ts +159 -0
- package/src/events/tool-notification-listener.ts +17 -0
- package/src/events/tool-profiling-listener.ts +158 -0
- package/src/events/tool-trace-listener.ts +75 -0
- package/src/export/formatter.ts +98 -0
- package/src/followups/followup-store.ts +168 -0
- package/src/followups/index.ts +10 -0
- package/src/followups/types.ts +29 -0
- package/src/gallery/default-gallery.ts +795 -0
- package/src/gallery/gallery-manifest.ts +24 -0
- package/src/home-base/app-link-store.ts +82 -0
- package/src/home-base/bootstrap.ts +68 -0
- package/src/home-base/prebuilt/index.html +662 -0
- package/src/home-base/prebuilt/seed-metadata.json +21 -0
- package/src/home-base/prebuilt/seed.ts +112 -0
- package/src/home-base/prebuilt-home-base-updater.ts +30 -0
- package/src/hooks/cli.ts +163 -0
- package/src/hooks/config.ts +88 -0
- package/src/hooks/discovery.ts +110 -0
- package/src/hooks/manager.ts +124 -0
- package/src/hooks/runner.ts +123 -0
- package/src/hooks/templates.ts +52 -0
- package/src/hooks/types.ts +72 -0
- package/src/inbound/public-ingress-urls.ts +123 -0
- package/src/index.ts +81 -0
- package/src/instrument.ts +60 -0
- package/src/logfire.ts +99 -0
- package/src/media/gemini-image-service.ts +136 -0
- package/src/memory/account-store.ts +108 -0
- package/src/memory/admin.ts +211 -0
- package/src/memory/app-git-service.ts +295 -0
- package/src/memory/app-store.ts +577 -0
- package/src/memory/attachments-store.ts +397 -0
- package/src/memory/channel-delivery-store.ts +353 -0
- package/src/memory/channel-guardian-store.ts +669 -0
- package/src/memory/checkpoints.ts +52 -0
- package/src/memory/clarification-resolver.ts +298 -0
- package/src/memory/conflict-intent.ts +157 -0
- package/src/memory/conflict-policy.ts +73 -0
- package/src/memory/conflict-store.ts +350 -0
- package/src/memory/contradiction-checker.ts +358 -0
- package/src/memory/conversation-key-store.ts +122 -0
- package/src/memory/conversation-store.ts +470 -0
- package/src/memory/db.ts +1991 -0
- package/src/memory/embedding-backend.ts +229 -0
- package/src/memory/embedding-gemini.ts +52 -0
- package/src/memory/embedding-local.ts +65 -0
- package/src/memory/embedding-ollama.ts +55 -0
- package/src/memory/embedding-openai.ts +25 -0
- package/src/memory/entity-extractor.ts +474 -0
- package/src/memory/external-conversation-store.ts +234 -0
- package/src/memory/fingerprint.ts +20 -0
- package/src/memory/indexer.ts +156 -0
- package/src/memory/items-extractor.ts +461 -0
- package/src/memory/job-handlers/backfill.ts +139 -0
- package/src/memory/job-handlers/cleanup.ts +58 -0
- package/src/memory/job-handlers/conflict.ts +141 -0
- package/src/memory/job-handlers/embedding.ts +61 -0
- package/src/memory/job-handlers/extraction.ts +123 -0
- package/src/memory/job-handlers/index-maintenance.ts +54 -0
- package/src/memory/job-handlers/summarization.ts +286 -0
- package/src/memory/job-utils.ts +170 -0
- package/src/memory/jobs-store.ts +401 -0
- package/src/memory/jobs-worker.ts +313 -0
- package/src/memory/llm-request-log-store.ts +45 -0
- package/src/memory/llm-usage-store.ts +60 -0
- package/src/memory/message-content.ts +54 -0
- package/src/memory/profile-compiler.ts +160 -0
- package/src/memory/published-pages-store.ts +137 -0
- package/src/memory/qdrant-client.ts +366 -0
- package/src/memory/qdrant-manager.ts +242 -0
- package/src/memory/query-builder.ts +45 -0
- package/src/memory/retrieval-budget.ts +30 -0
- package/src/memory/retriever.ts +653 -0
- package/src/memory/runs-store.ts +305 -0
- package/src/memory/schema.ts +677 -0
- package/src/memory/search/entity.ts +298 -0
- package/src/memory/search/formatting.ts +207 -0
- package/src/memory/search/lexical.ts +227 -0
- package/src/memory/search/ranking.ts +401 -0
- package/src/memory/search/semantic.ts +121 -0
- package/src/memory/search/types.ts +137 -0
- package/src/memory/segmenter.ts +68 -0
- package/src/memory/shared-app-links-store.ts +138 -0
- package/src/memory/tool-usage-store.ts +62 -0
- package/src/messaging/activity-analyzer.ts +76 -0
- package/src/messaging/draft-store.ts +88 -0
- package/src/messaging/index.ts +3 -0
- package/src/messaging/provider-types.ts +80 -0
- package/src/messaging/provider.ts +52 -0
- package/src/messaging/providers/gmail/adapter.ts +193 -0
- package/src/messaging/providers/gmail/client.ts +204 -0
- package/src/messaging/providers/gmail/types.ts +90 -0
- package/src/messaging/providers/slack/adapter.ts +202 -0
- package/src/messaging/providers/slack/client.ts +198 -0
- package/src/messaging/providers/slack/types.ts +119 -0
- package/src/messaging/providers/telegram-bot/adapter.ts +162 -0
- package/src/messaging/providers/telegram-bot/client.ts +104 -0
- package/src/messaging/providers/telegram-bot/types.ts +15 -0
- package/src/messaging/registry.ts +35 -0
- package/src/messaging/style-analyzer.ts +159 -0
- package/src/messaging/thread-summarizer.ts +306 -0
- package/src/messaging/triage-engine.ts +323 -0
- package/src/messaging/types.ts +55 -0
- package/src/permissions/checker.ts +640 -0
- package/src/permissions/defaults.ts +254 -0
- package/src/permissions/prompter.ts +98 -0
- package/src/permissions/secret-prompter.ts +114 -0
- package/src/permissions/shell-identity.ts +227 -0
- package/src/permissions/trust-store.ts +607 -0
- package/src/permissions/types.ts +43 -0
- package/src/permissions/workspace-policy.ts +114 -0
- package/src/playbooks/index.ts +2 -0
- package/src/playbooks/playbook-compiler.ts +90 -0
- package/src/playbooks/types.ts +55 -0
- package/src/providers/anthropic/client.ts +751 -0
- package/src/providers/failover.ts +129 -0
- package/src/providers/fireworks/client.ts +20 -0
- package/src/providers/gemini/client.ts +285 -0
- package/src/providers/ollama/client.ts +30 -0
- package/src/providers/openai/client.ts +337 -0
- package/src/providers/openrouter/client.ts +20 -0
- package/src/providers/ratelimit.ts +93 -0
- package/src/providers/registry.ts +146 -0
- package/src/providers/retry.ts +81 -0
- package/src/providers/stream-timeout.ts +38 -0
- package/src/providers/types.ts +109 -0
- package/src/runtime/assistant-event-hub.ts +157 -0
- package/src/runtime/assistant-event.ts +82 -0
- package/src/runtime/channel-approval-parser.ts +60 -0
- package/src/runtime/channel-approval-types.ts +73 -0
- package/src/runtime/channel-approvals.ts +206 -0
- package/src/runtime/channel-guardian-service.ts +212 -0
- package/src/runtime/gateway-client.ts +58 -0
- package/src/runtime/http-server.ts +1076 -0
- package/src/runtime/http-types.ts +66 -0
- package/src/runtime/routes/app-routes.ts +174 -0
- package/src/runtime/routes/attachment-routes.ts +133 -0
- package/src/runtime/routes/call-routes.ts +190 -0
- package/src/runtime/routes/channel-routes.ts +1404 -0
- package/src/runtime/routes/conversation-routes.ts +352 -0
- package/src/runtime/routes/events-routes.ts +148 -0
- package/src/runtime/routes/run-routes.ts +257 -0
- package/src/runtime/routes/secret-routes.ts +76 -0
- package/src/runtime/run-orchestrator.ts +330 -0
- package/src/schedule/recurrence-engine.ts +162 -0
- package/src/schedule/recurrence-types.ts +67 -0
- package/src/schedule/schedule-store.ts +506 -0
- package/src/schedule/scheduler.ts +171 -0
- package/src/security/encrypted-store.ts +238 -0
- package/src/security/keychain.ts +252 -0
- package/src/security/oauth-callback-registry.ts +66 -0
- package/src/security/oauth2.ts +274 -0
- package/src/security/redaction.ts +89 -0
- package/src/security/secret-allowlist.ts +164 -0
- package/src/security/secret-ingress.ts +57 -0
- package/src/security/secret-scanner.ts +550 -0
- package/src/security/secure-keys.ts +180 -0
- package/src/security/token-manager.ts +141 -0
- package/src/services/published-app-updater.ts +69 -0
- package/src/services/vercel-deploy.ts +73 -0
- package/src/skills/active-skill-tools.ts +81 -0
- package/src/skills/clawhub.ts +414 -0
- package/src/skills/include-graph.ts +146 -0
- package/src/skills/managed-store.ts +233 -0
- package/src/skills/path-classifier.ts +128 -0
- package/src/skills/slash-commands.ts +174 -0
- package/src/skills/tool-manifest.ts +165 -0
- package/src/skills/version-hash.ts +110 -0
- package/src/slack/slack-webhook.ts +61 -0
- package/src/subagent/index.ts +19 -0
- package/src/subagent/manager.ts +511 -0
- package/src/subagent/types.ts +69 -0
- package/src/swarm/backend-claude-code.ts +145 -0
- package/src/swarm/index.ts +44 -0
- package/src/swarm/limits.ts +37 -0
- package/src/swarm/orchestrator.ts +279 -0
- package/src/swarm/plan-validator.ts +151 -0
- package/src/swarm/router-planner.ts +100 -0
- package/src/swarm/router-prompts.ts +36 -0
- package/src/swarm/synthesizer.ts +62 -0
- package/src/swarm/types.ts +62 -0
- package/src/swarm/worker-backend.ts +121 -0
- package/src/swarm/worker-prompts.ts +79 -0
- package/src/swarm/worker-runner.ts +164 -0
- package/src/tasks/SPEC.md +139 -0
- package/src/tasks/candidate-store.ts +86 -0
- package/src/tasks/ephemeral-permissions.ts +48 -0
- package/src/tasks/task-compiler.ts +199 -0
- package/src/tasks/task-runner.ts +90 -0
- package/src/tasks/task-scheduler.ts +21 -0
- package/src/tasks/task-store.ts +127 -0
- package/src/tasks/tool-sanitizer.ts +36 -0
- package/src/tools/apps/definitions.ts +59 -0
- package/src/tools/apps/executors.ts +313 -0
- package/src/tools/apps/open-proxy.ts +43 -0
- package/src/tools/apps/registry.ts +16 -0
- package/src/tools/assets/materialize.ts +218 -0
- package/src/tools/assets/search.ts +361 -0
- package/src/tools/browser/__tests__/auth-cache.test.ts +219 -0
- package/src/tools/browser/__tests__/auth-detector.test.ts +362 -0
- package/src/tools/browser/__tests__/jit-auth.test.ts +189 -0
- package/src/tools/browser/api-map.ts +293 -0
- package/src/tools/browser/auth-cache.ts +149 -0
- package/src/tools/browser/auth-detector.ts +347 -0
- package/src/tools/browser/auto-navigate.ts +270 -0
- package/src/tools/browser/browser-execution.ts +980 -0
- package/src/tools/browser/browser-handoff.ts +79 -0
- package/src/tools/browser/browser-manager.ts +715 -0
- package/src/tools/browser/browser-screencast.ts +217 -0
- package/src/tools/browser/headless-browser.ts +450 -0
- package/src/tools/browser/jit-auth.ts +51 -0
- package/src/tools/browser/network-recorder.ts +349 -0
- package/src/tools/browser/network-recording-types.ts +49 -0
- package/src/tools/browser/recording-store.ts +49 -0
- package/src/tools/browser/runtime-check.ts +43 -0
- package/src/tools/browser/x-auto-navigate.ts +207 -0
- package/src/tools/calls/call-end.ts +67 -0
- package/src/tools/calls/call-start.ts +81 -0
- package/src/tools/calls/call-status.ts +81 -0
- package/src/tools/claude-code/claude-code.ts +428 -0
- package/src/tools/computer-use/definitions.ts +443 -0
- package/src/tools/computer-use/registry.ts +22 -0
- package/src/tools/computer-use/request-computer-control.ts +53 -0
- package/src/tools/computer-use/skill-proxy-bridge.ts +28 -0
- package/src/tools/credentials/account-registry.ts +127 -0
- package/src/tools/credentials/broker-types.ts +107 -0
- package/src/tools/credentials/broker.ts +372 -0
- package/src/tools/credentials/domain-policy.ts +51 -0
- package/src/tools/credentials/host-pattern-match.ts +60 -0
- package/src/tools/credentials/metadata-store.ts +335 -0
- package/src/tools/credentials/policy-types.ts +52 -0
- package/src/tools/credentials/policy-validate.ts +80 -0
- package/src/tools/credentials/resolve.ts +122 -0
- package/src/tools/credentials/selection.ts +159 -0
- package/src/tools/credentials/tool-policy.ts +25 -0
- package/src/tools/credentials/vault.ts +657 -0
- package/src/tools/document/document-tool.ts +92 -0
- package/src/tools/document/editor-template.ts +237 -0
- package/src/tools/execution-target.ts +21 -0
- package/src/tools/execution-timeout.ts +49 -0
- package/src/tools/executor.ts +815 -0
- package/src/tools/filesystem/edit.ts +127 -0
- package/src/tools/filesystem/fuzzy-match.ts +202 -0
- package/src/tools/filesystem/read.ts +71 -0
- package/src/tools/filesystem/view-image.ts +199 -0
- package/src/tools/filesystem/write.ts +79 -0
- package/src/tools/followups/followup_create.ts +76 -0
- package/src/tools/followups/followup_list.ts +60 -0
- package/src/tools/followups/followup_resolve.ts +56 -0
- package/src/tools/host-filesystem/edit.ts +125 -0
- package/src/tools/host-filesystem/read.ts +80 -0
- package/src/tools/host-filesystem/write.ts +76 -0
- package/src/tools/host-terminal/cli-discover.ts +180 -0
- package/src/tools/host-terminal/host-shell.ts +191 -0
- package/src/tools/memory/definitions.ts +69 -0
- package/src/tools/memory/handlers.ts +246 -0
- package/src/tools/memory/register.ts +66 -0
- package/src/tools/network/__tests__/web-search.test.ts +427 -0
- package/src/tools/network/domain-normalize.ts +85 -0
- package/src/tools/network/script-proxy/__tests__/logging.test.ts +248 -0
- package/src/tools/network/script-proxy/__tests__/policy.test.ts +234 -0
- package/src/tools/network/script-proxy/__tests__/router.test.ts +76 -0
- package/src/tools/network/script-proxy/certs.ts +237 -0
- package/src/tools/network/script-proxy/connect-tunnel.ts +82 -0
- package/src/tools/network/script-proxy/http-forwarder.ts +151 -0
- package/src/tools/network/script-proxy/index.ts +28 -0
- package/src/tools/network/script-proxy/logging.ts +196 -0
- package/src/tools/network/script-proxy/mitm-handler.ts +269 -0
- package/src/tools/network/script-proxy/policy.ts +152 -0
- package/src/tools/network/script-proxy/router.ts +60 -0
- package/src/tools/network/script-proxy/server.ts +136 -0
- package/src/tools/network/script-proxy/session-manager.ts +534 -0
- package/src/tools/network/script-proxy/types.ts +125 -0
- package/src/tools/network/url-safety.ts +227 -0
- package/src/tools/network/web-fetch.ts +713 -0
- package/src/tools/network/web-search.ts +296 -0
- package/src/tools/policy-context.ts +29 -0
- package/src/tools/registry.ts +295 -0
- package/src/tools/reminder/reminder-store.ts +148 -0
- package/src/tools/reminder/reminder.ts +80 -0
- package/src/tools/schedule/create.ts +81 -0
- package/src/tools/schedule/delete.ts +28 -0
- package/src/tools/schedule/list.ts +69 -0
- package/src/tools/schedule/update.ts +97 -0
- package/src/tools/shared/filesystem/edit-engine.ts +56 -0
- package/src/tools/shared/filesystem/errors.ts +85 -0
- package/src/tools/shared/filesystem/file-ops-service.ts +215 -0
- package/src/tools/shared/filesystem/format-diff.ts +35 -0
- package/src/tools/shared/filesystem/path-policy.ts +125 -0
- package/src/tools/shared/filesystem/size-guard.ts +41 -0
- package/src/tools/shared/filesystem/types.ts +80 -0
- package/src/tools/shared/shell-output.ts +52 -0
- package/src/tools/skills/delete-managed.ts +60 -0
- package/src/tools/skills/load.ts +139 -0
- package/src/tools/skills/sandbox-runner.ts +279 -0
- package/src/tools/skills/scaffold-managed.ts +150 -0
- package/src/tools/skills/script-contract.ts +6 -0
- package/src/tools/skills/skill-script-runner.ts +86 -0
- package/src/tools/skills/skill-tool-factory.ts +64 -0
- package/src/tools/skills/vellum-catalog.ts +217 -0
- package/src/tools/subagent/abort.ts +33 -0
- package/src/tools/subagent/message.ts +39 -0
- package/src/tools/subagent/read.ts +67 -0
- package/src/tools/subagent/spawn.ts +46 -0
- package/src/tools/subagent/status.ts +45 -0
- package/src/tools/swarm/delegate.ts +183 -0
- package/src/tools/system/request-permission.ts +98 -0
- package/src/tools/system/version.ts +43 -0
- package/src/tools/tasks/index.ts +27 -0
- package/src/tools/tasks/task-delete.ts +82 -0
- package/src/tools/tasks/task-list.ts +44 -0
- package/src/tools/tasks/task-run.ts +97 -0
- package/src/tools/tasks/task-save.ts +47 -0
- package/src/tools/tasks/work-item-enqueue.ts +234 -0
- package/src/tools/tasks/work-item-list.ts +55 -0
- package/src/tools/tasks/work-item-remove.ts +60 -0
- package/src/tools/tasks/work-item-run.ts +78 -0
- package/src/tools/tasks/work-item-update.ts +114 -0
- package/src/tools/terminal/backends/docker.ts +372 -0
- package/src/tools/terminal/backends/native.ts +190 -0
- package/src/tools/terminal/backends/types.ts +26 -0
- package/src/tools/terminal/evaluate-typescript.ts +275 -0
- package/src/tools/terminal/parser.ts +413 -0
- package/src/tools/terminal/safe-env.ts +37 -0
- package/src/tools/terminal/sandbox-diagnostics.ts +149 -0
- package/src/tools/terminal/sandbox.ts +44 -0
- package/src/tools/terminal/shell.ts +257 -0
- package/src/tools/tool-manifest.ts +198 -0
- package/src/tools/types.ts +176 -0
- package/src/tools/ui-surface/definitions.ts +244 -0
- package/src/tools/ui-surface/registry.ts +14 -0
- package/src/tools/watch/screen-watch.ts +130 -0
- package/src/tools/watch/watch-state.ts +119 -0
- package/src/tools/watcher/create.ts +64 -0
- package/src/tools/watcher/delete.ts +27 -0
- package/src/tools/watcher/digest.ts +50 -0
- package/src/tools/watcher/list.ts +60 -0
- package/src/tools/watcher/update.ts +56 -0
- package/src/tools/weather/service.ts +551 -0
- package/src/twitter/client.ts +690 -0
- package/src/twitter/oauth-client.ts +102 -0
- package/src/twitter/router.ts +101 -0
- package/src/twitter/session.ts +91 -0
- package/src/usage/actors.ts +24 -0
- package/src/usage/types.ts +37 -0
- package/src/util/clipboard.ts +33 -0
- package/src/util/content-id.ts +16 -0
- package/src/util/debounce.ts +88 -0
- package/src/util/diff.ts +181 -0
- package/src/util/errors.ts +129 -0
- package/src/util/logger.ts +243 -0
- package/src/util/network-info.ts +47 -0
- package/src/util/platform.ts +632 -0
- package/src/util/pricing.ts +150 -0
- package/src/util/promise-guard.ts +37 -0
- package/src/util/retry.ts +98 -0
- package/src/util/spinner.ts +51 -0
- package/src/util/time.ts +16 -0
- package/src/util/truncate.ts +6 -0
- package/src/util/xml.ts +4 -0
- package/src/version.ts +3 -0
- package/src/watcher/constants.ts +11 -0
- package/src/watcher/engine.ts +199 -0
- package/src/watcher/provider-registry.ts +15 -0
- package/src/watcher/provider-types.ts +48 -0
- package/src/watcher/providers/gmail.ts +198 -0
- package/src/watcher/providers/google-calendar.ts +228 -0
- package/src/watcher/providers/slack.ts +129 -0
- package/src/watcher/watcher-store.ts +419 -0
- package/src/work-items/work-item-runner.ts +171 -0
- package/src/work-items/work-item-store.ts +325 -0
- package/src/workspace/commit-message-enrichment-service.ts +284 -0
- package/src/workspace/commit-message-provider.ts +95 -0
- package/src/workspace/git-service.ts +857 -0
- package/src/workspace/heartbeat-service.ts +345 -0
- package/src/workspace/provider-commit-message-generator.ts +285 -0
- package/src/workspace/top-level-renderer.ts +19 -0
- package/src/workspace/top-level-scanner.ts +41 -0
- package/src/workspace/turn-commit.ts +175 -0
- package/tsconfig.json +21 -0
|
@@ -0,0 +1,1311 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* GraphQL query strings extracted from a recorded DoorDash session.
|
|
3
|
+
* Each query is fully self-contained with all required fragment definitions.
|
|
4
|
+
* No shared fragment variables are used — fragments are inlined per query.
|
|
5
|
+
*/
|
|
6
|
+
|
|
7
|
+
// ---------------------------------------------------------------------------
|
|
8
|
+
// SEARCH_QUERY
|
|
9
|
+
// ---------------------------------------------------------------------------
|
|
10
|
+
|
|
11
|
+
export const SEARCH_QUERY = `
|
|
12
|
+
query autocompleteFacetFeed($query: String!, $serializedBundleGlobalSearchContext: String) {
|
|
13
|
+
autocompleteFacetFeed(
|
|
14
|
+
query: $query
|
|
15
|
+
serializedBundleGlobalSearchContext: $serializedBundleGlobalSearchContext
|
|
16
|
+
) {
|
|
17
|
+
...FacetFeedV2ResultFragment
|
|
18
|
+
__typename
|
|
19
|
+
}
|
|
20
|
+
}
|
|
21
|
+
|
|
22
|
+
fragment FacetFeedV2ResultFragment on FacetFeedV2Result {
|
|
23
|
+
body {
|
|
24
|
+
id
|
|
25
|
+
header { ...FacetV2Fragment __typename }
|
|
26
|
+
body { ...FacetV2Fragment __typename }
|
|
27
|
+
layout { omitFooter __typename }
|
|
28
|
+
__typename
|
|
29
|
+
}
|
|
30
|
+
page { ...FacetV2PageFragment __typename }
|
|
31
|
+
header { ...FacetV2Fragment __typename }
|
|
32
|
+
footer { ...FacetV2Fragment __typename }
|
|
33
|
+
custom logging __typename
|
|
34
|
+
}
|
|
35
|
+
|
|
36
|
+
fragment FacetV2Fragment on FacetV2 {
|
|
37
|
+
...FacetV2BaseFragment
|
|
38
|
+
childrenMap { ...FacetV2BaseFragment __typename }
|
|
39
|
+
__typename
|
|
40
|
+
}
|
|
41
|
+
|
|
42
|
+
fragment FacetV2BaseFragment on FacetV2 {
|
|
43
|
+
id childrenCount
|
|
44
|
+
component { id category __typename }
|
|
45
|
+
name
|
|
46
|
+
text {
|
|
47
|
+
title
|
|
48
|
+
titleTextAttributes { textStyle textColor __typename }
|
|
49
|
+
subtitle
|
|
50
|
+
subtitleTextAttributes { textStyle textColor __typename }
|
|
51
|
+
accessory
|
|
52
|
+
accessoryTextAttributes { textStyle textColor __typename }
|
|
53
|
+
description
|
|
54
|
+
descriptionTextAttributes { textStyle textColor __typename }
|
|
55
|
+
custom { key value __typename }
|
|
56
|
+
__typename
|
|
57
|
+
}
|
|
58
|
+
images {
|
|
59
|
+
main { ...FacetV2ImageFragment __typename }
|
|
60
|
+
icon { ...FacetV2ImageFragment __typename }
|
|
61
|
+
background { ...FacetV2ImageFragment __typename }
|
|
62
|
+
accessory { ...FacetV2ImageFragment __typename }
|
|
63
|
+
custom { key value { ...FacetV2ImageFragment __typename } __typename }
|
|
64
|
+
__typename
|
|
65
|
+
}
|
|
66
|
+
events { click { name data __typename } __typename }
|
|
67
|
+
style {
|
|
68
|
+
spacing background_color
|
|
69
|
+
border { color width style __typename }
|
|
70
|
+
sizeClass dlsType __typename
|
|
71
|
+
}
|
|
72
|
+
layout {
|
|
73
|
+
omitFooter
|
|
74
|
+
gridSpecs {
|
|
75
|
+
Mobile { ...FacetV2LayoutGridFragment __typename }
|
|
76
|
+
Phablet { ...FacetV2LayoutGridFragment __typename }
|
|
77
|
+
Tablet { ...FacetV2LayoutGridFragment __typename }
|
|
78
|
+
Desktop { ...FacetV2LayoutGridFragment __typename }
|
|
79
|
+
WideScreen { ...FacetV2LayoutGridFragment __typename }
|
|
80
|
+
UltraWideScreen { ...FacetV2LayoutGridFragment __typename }
|
|
81
|
+
__typename
|
|
82
|
+
}
|
|
83
|
+
dlsPadding { top right bottom left __typename }
|
|
84
|
+
__typename
|
|
85
|
+
}
|
|
86
|
+
custom logging __typename
|
|
87
|
+
}
|
|
88
|
+
|
|
89
|
+
fragment FacetV2ImageFragment on FacetV2Image {
|
|
90
|
+
uri videoUri placeholder local style logging
|
|
91
|
+
events { click { name data __typename } __typename }
|
|
92
|
+
__typename
|
|
93
|
+
}
|
|
94
|
+
|
|
95
|
+
fragment FacetV2LayoutGridFragment on FacetV2LayoutGrid {
|
|
96
|
+
interRowSpacing interColumnSpacing minDimensionCount __typename
|
|
97
|
+
}
|
|
98
|
+
|
|
99
|
+
fragment FacetV2PageFragment on FacetV2Page {
|
|
100
|
+
next { name data __typename }
|
|
101
|
+
onLoad { name data __typename }
|
|
102
|
+
__typename
|
|
103
|
+
}`;
|
|
104
|
+
|
|
105
|
+
// ---------------------------------------------------------------------------
|
|
106
|
+
// HOME_PAGE_QUERY
|
|
107
|
+
// ---------------------------------------------------------------------------
|
|
108
|
+
|
|
109
|
+
export const HOME_PAGE_QUERY = `
|
|
110
|
+
query homePageFacetFeed($cursor: String, $filterQuery: String, $displayHeader: Boolean, $isDebug: Boolean, $cuisineFilterVerticalIds: String) {
|
|
111
|
+
homePageFacetFeed(
|
|
112
|
+
cursor: $cursor
|
|
113
|
+
filterQuery: $filterQuery
|
|
114
|
+
displayHeader: $displayHeader
|
|
115
|
+
isDebug: $isDebug
|
|
116
|
+
cuisineFilterVerticalIds: $cuisineFilterVerticalIds
|
|
117
|
+
) {
|
|
118
|
+
...FacetFeedV2ResultFragment
|
|
119
|
+
__typename
|
|
120
|
+
}
|
|
121
|
+
}
|
|
122
|
+
|
|
123
|
+
fragment FacetFeedV2ResultFragment on FacetFeedV2Result {
|
|
124
|
+
body {
|
|
125
|
+
id
|
|
126
|
+
header { ...FacetV2Fragment __typename }
|
|
127
|
+
body { ...FacetV2Fragment __typename }
|
|
128
|
+
layout { omitFooter __typename }
|
|
129
|
+
__typename
|
|
130
|
+
}
|
|
131
|
+
page { ...FacetV2PageFragment __typename }
|
|
132
|
+
header { ...FacetV2Fragment __typename }
|
|
133
|
+
footer { ...FacetV2Fragment __typename }
|
|
134
|
+
custom logging __typename
|
|
135
|
+
}
|
|
136
|
+
|
|
137
|
+
fragment FacetV2Fragment on FacetV2 {
|
|
138
|
+
...FacetV2BaseFragment
|
|
139
|
+
childrenMap { ...FacetV2BaseFragment __typename }
|
|
140
|
+
__typename
|
|
141
|
+
}
|
|
142
|
+
|
|
143
|
+
fragment FacetV2BaseFragment on FacetV2 {
|
|
144
|
+
id childrenCount
|
|
145
|
+
component { id category __typename }
|
|
146
|
+
name
|
|
147
|
+
text {
|
|
148
|
+
title
|
|
149
|
+
titleTextAttributes { textStyle textColor __typename }
|
|
150
|
+
subtitle
|
|
151
|
+
subtitleTextAttributes { textStyle textColor __typename }
|
|
152
|
+
accessory
|
|
153
|
+
accessoryTextAttributes { textStyle textColor __typename }
|
|
154
|
+
description
|
|
155
|
+
descriptionTextAttributes { textStyle textColor __typename }
|
|
156
|
+
custom { key value __typename }
|
|
157
|
+
__typename
|
|
158
|
+
}
|
|
159
|
+
images {
|
|
160
|
+
main { ...FacetV2ImageFragment __typename }
|
|
161
|
+
icon { ...FacetV2ImageFragment __typename }
|
|
162
|
+
background { ...FacetV2ImageFragment __typename }
|
|
163
|
+
accessory { ...FacetV2ImageFragment __typename }
|
|
164
|
+
custom { key value { ...FacetV2ImageFragment __typename } __typename }
|
|
165
|
+
__typename
|
|
166
|
+
}
|
|
167
|
+
events { click { name data __typename } __typename }
|
|
168
|
+
style {
|
|
169
|
+
spacing background_color
|
|
170
|
+
border { color width style __typename }
|
|
171
|
+
sizeClass dlsType __typename
|
|
172
|
+
}
|
|
173
|
+
layout {
|
|
174
|
+
omitFooter
|
|
175
|
+
gridSpecs {
|
|
176
|
+
Mobile { ...FacetV2LayoutGridFragment __typename }
|
|
177
|
+
Phablet { ...FacetV2LayoutGridFragment __typename }
|
|
178
|
+
Tablet { ...FacetV2LayoutGridFragment __typename }
|
|
179
|
+
Desktop { ...FacetV2LayoutGridFragment __typename }
|
|
180
|
+
WideScreen { ...FacetV2LayoutGridFragment __typename }
|
|
181
|
+
UltraWideScreen { ...FacetV2LayoutGridFragment __typename }
|
|
182
|
+
__typename
|
|
183
|
+
}
|
|
184
|
+
dlsPadding { top right bottom left __typename }
|
|
185
|
+
__typename
|
|
186
|
+
}
|
|
187
|
+
custom logging __typename
|
|
188
|
+
}
|
|
189
|
+
|
|
190
|
+
fragment FacetV2ImageFragment on FacetV2Image {
|
|
191
|
+
uri videoUri placeholder local style logging
|
|
192
|
+
events { click { name data __typename } __typename }
|
|
193
|
+
__typename
|
|
194
|
+
}
|
|
195
|
+
|
|
196
|
+
fragment FacetV2LayoutGridFragment on FacetV2LayoutGrid {
|
|
197
|
+
interRowSpacing interColumnSpacing minDimensionCount __typename
|
|
198
|
+
}
|
|
199
|
+
|
|
200
|
+
fragment FacetV2PageFragment on FacetV2Page {
|
|
201
|
+
next { name data __typename }
|
|
202
|
+
onLoad { name data __typename }
|
|
203
|
+
__typename
|
|
204
|
+
}`;
|
|
205
|
+
|
|
206
|
+
// ---------------------------------------------------------------------------
|
|
207
|
+
// STORE_PAGE_QUERY
|
|
208
|
+
// ---------------------------------------------------------------------------
|
|
209
|
+
|
|
210
|
+
export const STORE_PAGE_QUERY = `
|
|
211
|
+
query storepageFeed($storeId: ID!, $menuId: ID, $isMerchantPreview: Boolean, $fulfillmentType: FulfillmentType, $cursor: String, $menuSurfaceArea: MenuSurfaceArea, $scheduledTime: String, $scheduledMinTimeUtc: String, $scheduledMaxTimeUtc: String, $entryPoint: StoreEntryPoint, $DMGroups: [DMGroup]) {
|
|
212
|
+
storepageFeed(storeId: $storeId, menuId: $menuId, isMerchantPreview: $isMerchantPreview, fulfillmentType: $fulfillmentType, cursor: $cursor, menuSurfaceArea: $menuSurfaceArea, scheduledTime: $scheduledTime, scheduledMinTimeUtc: $scheduledMinTimeUtc, scheduledMaxTimeUtc: $scheduledMaxTimeUtc, entryPoint: $entryPoint, DMGroups: $DMGroups) {
|
|
213
|
+
storeHeader {
|
|
214
|
+
id name description offersDelivery offersPickup isDashpassPartner
|
|
215
|
+
coverImgUrl currency
|
|
216
|
+
address { lat lng city state street displayAddress __typename }
|
|
217
|
+
business { id name __typename }
|
|
218
|
+
ratings { numRatings numRatingsDisplayString averageRating isNewlyAdded __typename }
|
|
219
|
+
deliveryFeeLayout { title subtitle isSurging displayDeliveryFee __typename }
|
|
220
|
+
deliveryTimeLayout { title subtitle __typename }
|
|
221
|
+
status {
|
|
222
|
+
delivery { isAvailable minutes displayUnavailableStatus unavailableReason __typename }
|
|
223
|
+
pickup { isAvailable minutes displayUnavailableStatus unavailableReason __typename }
|
|
224
|
+
__typename
|
|
225
|
+
}
|
|
226
|
+
asapMinutes asapPickupMinutes priceRange priceRangeDisplayString
|
|
227
|
+
__typename
|
|
228
|
+
}
|
|
229
|
+
menuBook {
|
|
230
|
+
id name displayOpenHours
|
|
231
|
+
menuCategories { id name numItems next { anchor cursor __typename } __typename }
|
|
232
|
+
menuList { id name displayOpenHours __typename }
|
|
233
|
+
__typename
|
|
234
|
+
}
|
|
235
|
+
itemLists {
|
|
236
|
+
id name description
|
|
237
|
+
items {
|
|
238
|
+
id name description displayPrice displayStrikethroughPrice imageUrl
|
|
239
|
+
dynamicLabelDisplayString calloutDisplayString ratingDisplayString
|
|
240
|
+
storeId
|
|
241
|
+
quickAddContext {
|
|
242
|
+
isEligible
|
|
243
|
+
price { currency decimalPlaces displayString sign symbol unitAmount __typename }
|
|
244
|
+
nestedOptions specialInstructions defaultQuantity __typename
|
|
245
|
+
}
|
|
246
|
+
dietaryTagsList { type abbreviatedTagDisplayString fullTagDisplayString __typename }
|
|
247
|
+
badges { title titleColor backgroundColor badge { ...BadgeFragment __typename } __typename }
|
|
248
|
+
__typename
|
|
249
|
+
}
|
|
250
|
+
__typename
|
|
251
|
+
}
|
|
252
|
+
carousels {
|
|
253
|
+
id type name description
|
|
254
|
+
items {
|
|
255
|
+
id name description displayPrice displayStrikethroughPrice imgUrl
|
|
256
|
+
dynamicLabelDisplayString calloutDisplayString ratingDisplayString
|
|
257
|
+
nextCursor orderItemId
|
|
258
|
+
__typename
|
|
259
|
+
}
|
|
260
|
+
__typename
|
|
261
|
+
}
|
|
262
|
+
__typename
|
|
263
|
+
}
|
|
264
|
+
}
|
|
265
|
+
|
|
266
|
+
fragment BadgeFragment on Badge {
|
|
267
|
+
isDashpass type text backgroundColor styleType dlsTagSize dlsTextStyle
|
|
268
|
+
dlsTagStyle dlsTagType placement leadingIcon leadingIconSize trailingIcon
|
|
269
|
+
trailingIconSize endTime dlsTextColor
|
|
270
|
+
brandedDecorator { prefixText postfixText postfixTextLeadingIcon __typename }
|
|
271
|
+
trailingText { copy dlsTextStyle dlsTextColor __typename }
|
|
272
|
+
onClick __typename
|
|
273
|
+
}`;
|
|
274
|
+
|
|
275
|
+
// ---------------------------------------------------------------------------
|
|
276
|
+
// ITEM_PAGE_QUERY
|
|
277
|
+
// ---------------------------------------------------------------------------
|
|
278
|
+
|
|
279
|
+
export const ITEM_PAGE_QUERY = `
|
|
280
|
+
query itemPage($storeId: ID!, $itemId: ID!, $consumerId: ID, $isMerchantPreview: Boolean, $isNested: Boolean!, $fulfillmentType: FulfillmentType, $cursorContext: ItemPageCursorContextInput, $scheduledMinTimeUtc: String, $scheduledMaxTimeUtc: String) {
|
|
281
|
+
itemPage(storeId: $storeId, itemId: $itemId, consumerId: $consumerId, isMerchantPreview: $isMerchantPreview, fulfillmentType: $fulfillmentType, cursorContext: $cursorContext, scheduledMinTimeUtc: $scheduledMinTimeUtc, scheduledMaxTimeUtc: $scheduledMaxTimeUtc) {
|
|
282
|
+
itemHeader @skip(if: $isNested) {
|
|
283
|
+
id name imgUrl description displayString unitAmount currency decimalPlaces
|
|
284
|
+
specialInstructionsMaxLength calloutDisplayString quantityLimit
|
|
285
|
+
caloricInfoDisplayString menuId
|
|
286
|
+
dietaryTagsList { type abbreviatedTagDisplayString fullTagDisplayString __typename }
|
|
287
|
+
__typename
|
|
288
|
+
}
|
|
289
|
+
optionLists {
|
|
290
|
+
type id name subtitle selectionNode minNumOptions maxNumOptions
|
|
291
|
+
minAggregateOptionsQuantity maxAggregateOptionsQuantity
|
|
292
|
+
minOptionChoiceQuantity maxOptionChoiceQuantity numFreeOptions isOptional
|
|
293
|
+
options {
|
|
294
|
+
id name unitAmount currency displayString decimalPlaces nextCursor
|
|
295
|
+
caloricInfoDisplayString chargeAbove defaultQuantity imgUrl sortOrder
|
|
296
|
+
minOptionChoiceQuantity maxOptionChoiceQuantity
|
|
297
|
+
dietaryTagsList { type abbreviatedTagDisplayString fullTagDisplayString __typename }
|
|
298
|
+
nestedExtrasList {
|
|
299
|
+
type id name subtitle selectionNode minNumOptions maxNumOptions
|
|
300
|
+
minOptionChoiceQuantity maxOptionChoiceQuantity numFreeOptions isOptional
|
|
301
|
+
options {
|
|
302
|
+
id name unitAmount currency displayString decimalPlaces nextCursor
|
|
303
|
+
caloricInfoDisplayString imgUrl __typename
|
|
304
|
+
}
|
|
305
|
+
__typename
|
|
306
|
+
}
|
|
307
|
+
__typename
|
|
308
|
+
}
|
|
309
|
+
__typename
|
|
310
|
+
}
|
|
311
|
+
itemPreferences {
|
|
312
|
+
id title
|
|
313
|
+
specialInstructions { title characterMaxLength isEnabled placeholderText __typename }
|
|
314
|
+
substitutionPreferences {
|
|
315
|
+
title
|
|
316
|
+
substitutionPreferencesList { id displayString isDefault value __typename }
|
|
317
|
+
__typename
|
|
318
|
+
}
|
|
319
|
+
__typename
|
|
320
|
+
}
|
|
321
|
+
itemFooter { id data { title placementsFooter __typename } __typename }
|
|
322
|
+
__typename
|
|
323
|
+
}
|
|
324
|
+
}`;
|
|
325
|
+
|
|
326
|
+
// ---------------------------------------------------------------------------
|
|
327
|
+
// ADD_CART_ITEM_QUERY
|
|
328
|
+
// ---------------------------------------------------------------------------
|
|
329
|
+
|
|
330
|
+
export const ADD_CART_ITEM_QUERY = `
|
|
331
|
+
mutation addCartItem($addCartItemInput: AddCartItemInput!, $fulfillmentContext: FulfillmentContextInput!, $cartContext: CartContextInput, $returnCartFromOrderService: Boolean, $monitoringContext: MonitoringContextInput, $lowPriorityBatchAddCartItemInput: [AddCartItemInput!], $shouldKeepOnlyOneActiveCart: Boolean, $selectedDeliveryOption: SelectedDeliveryOptionInput) {
|
|
332
|
+
addCartItemV2(
|
|
333
|
+
addCartItemInput: $addCartItemInput
|
|
334
|
+
fulfillmentContext: $fulfillmentContext
|
|
335
|
+
cartContext: $cartContext
|
|
336
|
+
returnCartFromOrderService: $returnCartFromOrderService
|
|
337
|
+
monitoringContext: $monitoringContext
|
|
338
|
+
lowPriorityBatchAddCartItemInput: $lowPriorityBatchAddCartItemInput
|
|
339
|
+
shouldKeepOnlyOneActiveCart: $shouldKeepOnlyOneActiveCart
|
|
340
|
+
selectedDeliveryOption: $selectedDeliveryOption
|
|
341
|
+
) {
|
|
342
|
+
...ConsumerOrderCartFragment
|
|
343
|
+
__typename
|
|
344
|
+
}
|
|
345
|
+
}
|
|
346
|
+
|
|
347
|
+
fragment ConsumerOrderCartFragment on OrderCart {
|
|
348
|
+
id hasError cartType isConsumerPickup isConvenienceCart isPrescriptionDelivery
|
|
349
|
+
prescriptionStoreInfo { retailStoreId __typename }
|
|
350
|
+
isMerchantShipping offersDelivery offersPickup subtotal urlCode
|
|
351
|
+
groupCart groupCartType groupCartSource groupCartPollInterval
|
|
352
|
+
scheduledDeliveryAvailable isCatering isSameStoreCatering isBundle bundleType
|
|
353
|
+
fulfillmentType originalBundleOrderCartId cartStatusType
|
|
354
|
+
cateringInfo { cateringVersion minOrderSize maxOrderSize orderInAdvanceInSeconds cancelOrderInAdvanceInSeconds __typename }
|
|
355
|
+
shortenedUrl maxIndividualCost serviceRateMessage isOutsideDeliveryRegion
|
|
356
|
+
currencyCode asapMinutesRange
|
|
357
|
+
orderTimeAvailability { ...CheckoutOrderTimeAvailabilityFragment __typename }
|
|
358
|
+
menu { id hoursToOrderInAdvance name minOrderSize isCatering __typename }
|
|
359
|
+
creator {
|
|
360
|
+
id firstName lastName
|
|
361
|
+
localizedNames { informalName formalName formalNameAbbreviated __typename }
|
|
362
|
+
__typename
|
|
363
|
+
}
|
|
364
|
+
deliveries { id quotedDeliveryTime __typename }
|
|
365
|
+
submittedAt
|
|
366
|
+
restaurant {
|
|
367
|
+
id name maxOrderSize coverImgUrl slug
|
|
368
|
+
address { printableAddress street lat lng __typename }
|
|
369
|
+
business { id name __typename }
|
|
370
|
+
orderProtocol idealGroupSize highQualitySubtotalThreshold __typename
|
|
371
|
+
}
|
|
372
|
+
storeDisclaimers { id disclaimerDetailsLink disclaimerLinkSubstring disclaimerText displayTreatment __typename }
|
|
373
|
+
orders { ...ConsumerOrdersFragment __typename }
|
|
374
|
+
selectedDeliveryOption {
|
|
375
|
+
deliveryOptionType
|
|
376
|
+
scheduledWindow { rangeMinUtc rangeMaxUtc __typename }
|
|
377
|
+
__typename
|
|
378
|
+
}
|
|
379
|
+
teamAccount { id name __typename }
|
|
380
|
+
total totalBeforeDiscountsAndCredits
|
|
381
|
+
footerDetails { title subtitle __typename }
|
|
382
|
+
outOfStockMenuItemIds
|
|
383
|
+
orderQualityInfo { isLoqNudgeAllowed isLoqForceSchedule __typename }
|
|
384
|
+
...InvalidItemsFragment
|
|
385
|
+
...ConsumerOrderCartDomainFragment
|
|
386
|
+
__typename
|
|
387
|
+
}
|
|
388
|
+
|
|
389
|
+
fragment ConsumerOrdersFragment on Order {
|
|
390
|
+
id
|
|
391
|
+
consumer {
|
|
392
|
+
firstName lastName id
|
|
393
|
+
localizedNames { informalName formalName formalNameAbbreviated __typename }
|
|
394
|
+
__typename
|
|
395
|
+
}
|
|
396
|
+
isSubCartFinalized splitBillSubcartStatus
|
|
397
|
+
lineItems { ...LineItemFragment __typename }
|
|
398
|
+
orderItems {
|
|
399
|
+
__typename id
|
|
400
|
+
options { id name quantity nestedOptions __typename }
|
|
401
|
+
itemLevelDiscount { promoId promoCode externalCampaignId __typename }
|
|
402
|
+
cartItemStatusType nestedOptions specialInstructions substitutionPreference
|
|
403
|
+
quantity singlePrice priceOfTotalQuantity priceDisplayString
|
|
404
|
+
nonDiscountPriceDisplayString continuousQuantity unit purchaseType
|
|
405
|
+
estimatedPricingDescription isPrescriptionItem
|
|
406
|
+
increment { decimalPlaces unitAmount __typename }
|
|
407
|
+
discounts { ...OrderItemDiscountFragment __typename }
|
|
408
|
+
item {
|
|
409
|
+
id imageUrl name price minAgeRequirement
|
|
410
|
+
category { title __typename }
|
|
411
|
+
extras { id title description __typename }
|
|
412
|
+
itemTagsList { tagType localizedName shortName id description displayType __typename }
|
|
413
|
+
storeId __typename
|
|
414
|
+
}
|
|
415
|
+
bundleStore { ...OrderItemBundleFragment __typename }
|
|
416
|
+
giftInfo { ...CartItemGiftInfoFragment __typename }
|
|
417
|
+
badges { ...BadgeFragment __typename }
|
|
418
|
+
nudgeList { ...NudgeFragment __typename }
|
|
419
|
+
promoNudgeList { ...PromoNudgeFragment __typename }
|
|
420
|
+
itemLimitData { ...ItemLimitDataFragment __typename }
|
|
421
|
+
}
|
|
422
|
+
paymentCard { id stripeId __typename }
|
|
423
|
+
paymentLineItems { subtotal taxAmount subtotalTaxAmount feesTaxAmount serviceFee __typename }
|
|
424
|
+
__typename
|
|
425
|
+
}
|
|
426
|
+
|
|
427
|
+
fragment LineItemFragment on LineItem {
|
|
428
|
+
label labelIcon discountIcon chargeId
|
|
429
|
+
finalMoney { unitAmount displayString __typename }
|
|
430
|
+
originalMoney { unitAmount displayString __typename }
|
|
431
|
+
tooltip { title paragraphs { description __typename } __typename }
|
|
432
|
+
note __typename
|
|
433
|
+
}
|
|
434
|
+
|
|
435
|
+
fragment OrderItemDiscountFragment on OrderItemDiscount {
|
|
436
|
+
id
|
|
437
|
+
finalMoney { ...DiscountMonetaryFieldsFragment __typename }
|
|
438
|
+
badges { ...BadgeFragment __typename }
|
|
439
|
+
adsMetadata { ...DiscountAdsMetadataFragment __typename }
|
|
440
|
+
__typename
|
|
441
|
+
}
|
|
442
|
+
|
|
443
|
+
fragment DiscountMonetaryFieldsFragment on AmountMonetaryFields {
|
|
444
|
+
currency displayString decimalPlaces unitAmount sign __typename
|
|
445
|
+
}
|
|
446
|
+
|
|
447
|
+
fragment DiscountAdsMetadataFragment on AdsMetadata {
|
|
448
|
+
campaignId adGroupId auctionId __typename
|
|
449
|
+
}
|
|
450
|
+
|
|
451
|
+
fragment OrderItemBundleFragment on OrderItemBundleStore {
|
|
452
|
+
id name businessId isPrimary isRetail __typename
|
|
453
|
+
}
|
|
454
|
+
|
|
455
|
+
fragment CartItemGiftInfoFragment on CartItemGiftInfo {
|
|
456
|
+
recipientName recipientPhone recipientEmail cardMessage senderName
|
|
457
|
+
imageId imageUrl deliveryChannel __typename
|
|
458
|
+
}
|
|
459
|
+
|
|
460
|
+
fragment BadgeFragment on Badge {
|
|
461
|
+
isDashpass type text backgroundColor styleType dlsTagSize dlsTextStyle
|
|
462
|
+
dlsTagStyle dlsTagType placement leadingIcon leadingIconSize trailingIcon
|
|
463
|
+
trailingIconSize endTime dlsTextColor
|
|
464
|
+
brandedDecorator { prefixText postfixText postfixTextLeadingIcon __typename }
|
|
465
|
+
trailingText { copy dlsTextStyle dlsTextColor __typename }
|
|
466
|
+
onClick __typename
|
|
467
|
+
}
|
|
468
|
+
|
|
469
|
+
fragment NudgeFragment on Nudge {
|
|
470
|
+
nudgeMessage { text icon color textStyle __typename }
|
|
471
|
+
progress collectionModalDeeplink __typename
|
|
472
|
+
}
|
|
473
|
+
|
|
474
|
+
fragment PromoNudgeFragment on PromoNudge {
|
|
475
|
+
... on AddItemNudge {
|
|
476
|
+
nudgeMessage { text icon color __typename }
|
|
477
|
+
collectionModalDeeplink progress __typename
|
|
478
|
+
}
|
|
479
|
+
... on ClipCouponNudge {
|
|
480
|
+
nudgeMessage { text icon color __typename }
|
|
481
|
+
buttonText incentiveId __typename
|
|
482
|
+
}
|
|
483
|
+
__typename
|
|
484
|
+
}
|
|
485
|
+
|
|
486
|
+
fragment ItemLimitDataFragment on ItemLimitData { limit __typename }
|
|
487
|
+
|
|
488
|
+
fragment InvalidItemsFragment on OrderCart {
|
|
489
|
+
invalidItems {
|
|
490
|
+
itemId storeId
|
|
491
|
+
itemQuantityInfo {
|
|
492
|
+
discreteQuantity { quantity unit __typename }
|
|
493
|
+
continuousQuantity { quantity unit __typename }
|
|
494
|
+
__typename
|
|
495
|
+
}
|
|
496
|
+
name itemExtrasList menuId __typename
|
|
497
|
+
}
|
|
498
|
+
__typename
|
|
499
|
+
}
|
|
500
|
+
|
|
501
|
+
fragment CheckoutOrderTimeAvailabilityFragment on OrderTimeAvailability {
|
|
502
|
+
scheduleLongerInAdvanceTime timezone
|
|
503
|
+
days {
|
|
504
|
+
year month date
|
|
505
|
+
times { display timestamp min max displayString displayStringDeliveryWindow displayStringSubtitle __typename }
|
|
506
|
+
title subtitle isSelected isDisabled __typename
|
|
507
|
+
}
|
|
508
|
+
__typename
|
|
509
|
+
}
|
|
510
|
+
|
|
511
|
+
fragment ConsumerOrderCartDomainFragment on OrderCart {
|
|
512
|
+
domain {
|
|
513
|
+
giftInfo {
|
|
514
|
+
recipientName recipientGivenName recipientFamilyName recipientPhone
|
|
515
|
+
recipientEmail cardMessage cardId
|
|
516
|
+
shouldNotifyTrackingToRecipientOnDasherAssign
|
|
517
|
+
shouldNotifyRecipientForDasherQuestions senderName
|
|
518
|
+
shouldRecipientScheduleGift hasGiftIntent __typename
|
|
519
|
+
}
|
|
520
|
+
__typename
|
|
521
|
+
}
|
|
522
|
+
__typename
|
|
523
|
+
}`;
|
|
524
|
+
|
|
525
|
+
// ---------------------------------------------------------------------------
|
|
526
|
+
// REMOVE_CART_ITEM_QUERY
|
|
527
|
+
// ---------------------------------------------------------------------------
|
|
528
|
+
|
|
529
|
+
export const REMOVE_CART_ITEM_QUERY = `
|
|
530
|
+
mutation removeCartItem($cartId: ID!, $itemId: ID!, $returnCartFromOrderService: Boolean, $monitoringContext: MonitoringContextInput, $cartContext: CartContextInput, $cartFilter: CartFilter) {
|
|
531
|
+
removeCartItemV2(
|
|
532
|
+
cartId: $cartId
|
|
533
|
+
itemId: $itemId
|
|
534
|
+
returnCartFromOrderService: $returnCartFromOrderService
|
|
535
|
+
monitoringContext: $monitoringContext
|
|
536
|
+
cartContext: $cartContext
|
|
537
|
+
cartFilter: $cartFilter
|
|
538
|
+
) {
|
|
539
|
+
...ConsumerOrderCartFragment
|
|
540
|
+
__typename
|
|
541
|
+
}
|
|
542
|
+
}
|
|
543
|
+
|
|
544
|
+
fragment ConsumerOrderCartFragment on OrderCart {
|
|
545
|
+
id hasError cartType isConsumerPickup isConvenienceCart isPrescriptionDelivery
|
|
546
|
+
prescriptionStoreInfo { retailStoreId __typename }
|
|
547
|
+
isMerchantShipping offersDelivery offersPickup subtotal urlCode
|
|
548
|
+
groupCart groupCartType groupCartSource groupCartPollInterval
|
|
549
|
+
scheduledDeliveryAvailable isCatering isSameStoreCatering isBundle bundleType
|
|
550
|
+
fulfillmentType originalBundleOrderCartId cartStatusType
|
|
551
|
+
cateringInfo { cateringVersion minOrderSize maxOrderSize orderInAdvanceInSeconds cancelOrderInAdvanceInSeconds __typename }
|
|
552
|
+
shortenedUrl maxIndividualCost serviceRateMessage isOutsideDeliveryRegion
|
|
553
|
+
currencyCode asapMinutesRange
|
|
554
|
+
orderTimeAvailability { ...CheckoutOrderTimeAvailabilityFragment __typename }
|
|
555
|
+
menu { id hoursToOrderInAdvance name minOrderSize isCatering __typename }
|
|
556
|
+
creator {
|
|
557
|
+
id firstName lastName
|
|
558
|
+
localizedNames { informalName formalName formalNameAbbreviated __typename }
|
|
559
|
+
__typename
|
|
560
|
+
}
|
|
561
|
+
deliveries { id quotedDeliveryTime __typename }
|
|
562
|
+
submittedAt
|
|
563
|
+
restaurant {
|
|
564
|
+
id name maxOrderSize coverImgUrl slug
|
|
565
|
+
address { printableAddress street lat lng __typename }
|
|
566
|
+
business { id name __typename }
|
|
567
|
+
orderProtocol idealGroupSize highQualitySubtotalThreshold __typename
|
|
568
|
+
}
|
|
569
|
+
storeDisclaimers { id disclaimerDetailsLink disclaimerLinkSubstring disclaimerText displayTreatment __typename }
|
|
570
|
+
orders { ...ConsumerOrdersFragment __typename }
|
|
571
|
+
selectedDeliveryOption {
|
|
572
|
+
deliveryOptionType
|
|
573
|
+
scheduledWindow { rangeMinUtc rangeMaxUtc __typename }
|
|
574
|
+
__typename
|
|
575
|
+
}
|
|
576
|
+
teamAccount { id name __typename }
|
|
577
|
+
total totalBeforeDiscountsAndCredits
|
|
578
|
+
footerDetails { title subtitle __typename }
|
|
579
|
+
outOfStockMenuItemIds
|
|
580
|
+
orderQualityInfo { isLoqNudgeAllowed isLoqForceSchedule __typename }
|
|
581
|
+
...InvalidItemsFragment
|
|
582
|
+
...ConsumerOrderCartDomainFragment
|
|
583
|
+
__typename
|
|
584
|
+
}
|
|
585
|
+
|
|
586
|
+
fragment ConsumerOrdersFragment on Order {
|
|
587
|
+
id
|
|
588
|
+
consumer {
|
|
589
|
+
firstName lastName id
|
|
590
|
+
localizedNames { informalName formalName formalNameAbbreviated __typename }
|
|
591
|
+
__typename
|
|
592
|
+
}
|
|
593
|
+
isSubCartFinalized splitBillSubcartStatus
|
|
594
|
+
lineItems { ...LineItemFragment __typename }
|
|
595
|
+
orderItems {
|
|
596
|
+
__typename id
|
|
597
|
+
options { id name quantity nestedOptions __typename }
|
|
598
|
+
itemLevelDiscount { promoId promoCode externalCampaignId __typename }
|
|
599
|
+
cartItemStatusType nestedOptions specialInstructions substitutionPreference
|
|
600
|
+
quantity singlePrice priceOfTotalQuantity priceDisplayString
|
|
601
|
+
nonDiscountPriceDisplayString continuousQuantity unit purchaseType
|
|
602
|
+
estimatedPricingDescription isPrescriptionItem
|
|
603
|
+
increment { decimalPlaces unitAmount __typename }
|
|
604
|
+
discounts { ...OrderItemDiscountFragment __typename }
|
|
605
|
+
item {
|
|
606
|
+
id imageUrl name price minAgeRequirement
|
|
607
|
+
category { title __typename }
|
|
608
|
+
extras { id title description __typename }
|
|
609
|
+
itemTagsList { tagType localizedName shortName id description displayType __typename }
|
|
610
|
+
storeId __typename
|
|
611
|
+
}
|
|
612
|
+
bundleStore { ...OrderItemBundleFragment __typename }
|
|
613
|
+
giftInfo { ...CartItemGiftInfoFragment __typename }
|
|
614
|
+
badges { ...BadgeFragment __typename }
|
|
615
|
+
nudgeList { ...NudgeFragment __typename }
|
|
616
|
+
promoNudgeList { ...PromoNudgeFragment __typename }
|
|
617
|
+
itemLimitData { ...ItemLimitDataFragment __typename }
|
|
618
|
+
}
|
|
619
|
+
paymentCard { id stripeId __typename }
|
|
620
|
+
paymentLineItems { subtotal taxAmount subtotalTaxAmount feesTaxAmount serviceFee __typename }
|
|
621
|
+
__typename
|
|
622
|
+
}
|
|
623
|
+
|
|
624
|
+
fragment LineItemFragment on LineItem {
|
|
625
|
+
label labelIcon discountIcon chargeId
|
|
626
|
+
finalMoney { unitAmount displayString __typename }
|
|
627
|
+
originalMoney { unitAmount displayString __typename }
|
|
628
|
+
tooltip { title paragraphs { description __typename } __typename }
|
|
629
|
+
note __typename
|
|
630
|
+
}
|
|
631
|
+
|
|
632
|
+
fragment OrderItemDiscountFragment on OrderItemDiscount {
|
|
633
|
+
id
|
|
634
|
+
finalMoney { ...DiscountMonetaryFieldsFragment __typename }
|
|
635
|
+
badges { ...BadgeFragment __typename }
|
|
636
|
+
adsMetadata { ...DiscountAdsMetadataFragment __typename }
|
|
637
|
+
__typename
|
|
638
|
+
}
|
|
639
|
+
|
|
640
|
+
fragment DiscountMonetaryFieldsFragment on AmountMonetaryFields {
|
|
641
|
+
currency displayString decimalPlaces unitAmount sign __typename
|
|
642
|
+
}
|
|
643
|
+
|
|
644
|
+
fragment DiscountAdsMetadataFragment on AdsMetadata {
|
|
645
|
+
campaignId adGroupId auctionId __typename
|
|
646
|
+
}
|
|
647
|
+
|
|
648
|
+
fragment OrderItemBundleFragment on OrderItemBundleStore {
|
|
649
|
+
id name businessId isPrimary isRetail __typename
|
|
650
|
+
}
|
|
651
|
+
|
|
652
|
+
fragment CartItemGiftInfoFragment on CartItemGiftInfo {
|
|
653
|
+
recipientName recipientPhone recipientEmail cardMessage senderName
|
|
654
|
+
imageId imageUrl deliveryChannel __typename
|
|
655
|
+
}
|
|
656
|
+
|
|
657
|
+
fragment BadgeFragment on Badge {
|
|
658
|
+
isDashpass type text backgroundColor styleType dlsTagSize dlsTextStyle
|
|
659
|
+
dlsTagStyle dlsTagType placement leadingIcon leadingIconSize trailingIcon
|
|
660
|
+
trailingIconSize endTime dlsTextColor
|
|
661
|
+
brandedDecorator { prefixText postfixText postfixTextLeadingIcon __typename }
|
|
662
|
+
trailingText { copy dlsTextStyle dlsTextColor __typename }
|
|
663
|
+
onClick __typename
|
|
664
|
+
}
|
|
665
|
+
|
|
666
|
+
fragment NudgeFragment on Nudge {
|
|
667
|
+
nudgeMessage { text icon color textStyle __typename }
|
|
668
|
+
progress collectionModalDeeplink __typename
|
|
669
|
+
}
|
|
670
|
+
|
|
671
|
+
fragment PromoNudgeFragment on PromoNudge {
|
|
672
|
+
... on AddItemNudge {
|
|
673
|
+
nudgeMessage { text icon color __typename }
|
|
674
|
+
collectionModalDeeplink progress __typename
|
|
675
|
+
}
|
|
676
|
+
... on ClipCouponNudge {
|
|
677
|
+
nudgeMessage { text icon color __typename }
|
|
678
|
+
buttonText incentiveId __typename
|
|
679
|
+
}
|
|
680
|
+
__typename
|
|
681
|
+
}
|
|
682
|
+
|
|
683
|
+
fragment ItemLimitDataFragment on ItemLimitData { limit __typename }
|
|
684
|
+
|
|
685
|
+
fragment InvalidItemsFragment on OrderCart {
|
|
686
|
+
invalidItems {
|
|
687
|
+
itemId storeId
|
|
688
|
+
itemQuantityInfo {
|
|
689
|
+
discreteQuantity { quantity unit __typename }
|
|
690
|
+
continuousQuantity { quantity unit __typename }
|
|
691
|
+
__typename
|
|
692
|
+
}
|
|
693
|
+
name itemExtrasList menuId __typename
|
|
694
|
+
}
|
|
695
|
+
__typename
|
|
696
|
+
}
|
|
697
|
+
|
|
698
|
+
fragment CheckoutOrderTimeAvailabilityFragment on OrderTimeAvailability {
|
|
699
|
+
scheduleLongerInAdvanceTime timezone
|
|
700
|
+
days {
|
|
701
|
+
year month date
|
|
702
|
+
times { display timestamp min max displayString displayStringDeliveryWindow displayStringSubtitle __typename }
|
|
703
|
+
title subtitle isSelected isDisabled __typename
|
|
704
|
+
}
|
|
705
|
+
__typename
|
|
706
|
+
}
|
|
707
|
+
|
|
708
|
+
fragment ConsumerOrderCartDomainFragment on OrderCart {
|
|
709
|
+
domain {
|
|
710
|
+
giftInfo {
|
|
711
|
+
recipientName recipientGivenName recipientFamilyName recipientPhone
|
|
712
|
+
recipientEmail cardMessage cardId
|
|
713
|
+
shouldNotifyTrackingToRecipientOnDasherAssign
|
|
714
|
+
shouldNotifyRecipientForDasherQuestions senderName
|
|
715
|
+
shouldRecipientScheduleGift hasGiftIntent __typename
|
|
716
|
+
}
|
|
717
|
+
__typename
|
|
718
|
+
}
|
|
719
|
+
__typename
|
|
720
|
+
}`;
|
|
721
|
+
|
|
722
|
+
// ---------------------------------------------------------------------------
|
|
723
|
+
// DETAILED_CART_QUERY
|
|
724
|
+
// ---------------------------------------------------------------------------
|
|
725
|
+
|
|
726
|
+
export const DETAILED_CART_QUERY = `
|
|
727
|
+
query detailedCartItems($orderCartId: ID!, $corporateIndividualOrdersEnabled: Boolean, $deliveryOptionType: DeliveryOptionType, $isCardPayment: Boolean) {
|
|
728
|
+
orderCart(id: $orderCartId, corporateIndividualOrdersEnabled: $corporateIndividualOrdersEnabled, deliveryOptionType: $deliveryOptionType, isCardPayment: $isCardPayment) {
|
|
729
|
+
id subtotal total totalBeforeDiscountsAndCredits isSameStoreCatering isConvenienceCart
|
|
730
|
+
outOfStockMenuItemIds
|
|
731
|
+
...InvalidItemsFragment
|
|
732
|
+
orders {
|
|
733
|
+
id
|
|
734
|
+
consumer {
|
|
735
|
+
id firstName lastName
|
|
736
|
+
localizedNames { informalName formalName formalNameAbbreviated __typename }
|
|
737
|
+
__typename
|
|
738
|
+
}
|
|
739
|
+
isSubCartFinalized splitBillSubcartStatus
|
|
740
|
+
lineItems { ...LineItemFragment __typename }
|
|
741
|
+
paymentCard { id stripeId __typename }
|
|
742
|
+
paymentLineItems { subtotal taxAmount subtotalTaxAmount feesTaxAmount serviceFee __typename }
|
|
743
|
+
orderItems {
|
|
744
|
+
__typename id cartItemStatusType
|
|
745
|
+
options { id name quantity price nestedOptions __typename }
|
|
746
|
+
nestedOptions specialInstructions substitutionPreference
|
|
747
|
+
quantity singlePrice priceOfTotalQuantity priceDisplayString
|
|
748
|
+
nonDiscountPriceDisplayString continuousQuantity unit purchaseType
|
|
749
|
+
estimatedPricingDescription isPrescriptionItem
|
|
750
|
+
increment { decimalPlaces unitAmount __typename }
|
|
751
|
+
itemLevelDiscount { promoId promoCode externalCampaignId __typename }
|
|
752
|
+
discounts { ...OrderItemDiscountFragment __typename }
|
|
753
|
+
item {
|
|
754
|
+
id imageUrl name price minAgeRequirement
|
|
755
|
+
category { title __typename }
|
|
756
|
+
extras { id title description __typename }
|
|
757
|
+
itemTagsList { tagType localizedName shortName id description displayType __typename }
|
|
758
|
+
storeId __typename
|
|
759
|
+
}
|
|
760
|
+
bundleStore { ...OrderItemBundleFragment __typename }
|
|
761
|
+
giftInfo { ...CartItemGiftInfoFragment __typename }
|
|
762
|
+
badges { ...BadgeFragment __typename }
|
|
763
|
+
nudgeList { ...NudgeFragment __typename }
|
|
764
|
+
promoNudgeList { ...PromoNudgeFragment __typename }
|
|
765
|
+
itemLimitData { ...ItemLimitDataFragment __typename }
|
|
766
|
+
}
|
|
767
|
+
__typename
|
|
768
|
+
}
|
|
769
|
+
footerDetails { title subtitle __typename }
|
|
770
|
+
__typename
|
|
771
|
+
}
|
|
772
|
+
}
|
|
773
|
+
|
|
774
|
+
fragment InvalidItemsFragment on OrderCart {
|
|
775
|
+
invalidItems {
|
|
776
|
+
itemId storeId
|
|
777
|
+
itemQuantityInfo {
|
|
778
|
+
discreteQuantity { quantity unit __typename }
|
|
779
|
+
continuousQuantity { quantity unit __typename }
|
|
780
|
+
__typename
|
|
781
|
+
}
|
|
782
|
+
name itemExtrasList menuId __typename
|
|
783
|
+
}
|
|
784
|
+
__typename
|
|
785
|
+
}
|
|
786
|
+
|
|
787
|
+
fragment LineItemFragment on LineItem {
|
|
788
|
+
label labelIcon discountIcon chargeId
|
|
789
|
+
finalMoney { unitAmount displayString __typename }
|
|
790
|
+
originalMoney { unitAmount displayString __typename }
|
|
791
|
+
tooltip { title paragraphs { description __typename } __typename }
|
|
792
|
+
note __typename
|
|
793
|
+
}
|
|
794
|
+
|
|
795
|
+
fragment OrderItemDiscountFragment on OrderItemDiscount {
|
|
796
|
+
id
|
|
797
|
+
finalMoney { ...DiscountMonetaryFieldsFragment __typename }
|
|
798
|
+
badges { ...BadgeFragment __typename }
|
|
799
|
+
adsMetadata { ...DiscountAdsMetadataFragment __typename }
|
|
800
|
+
__typename
|
|
801
|
+
}
|
|
802
|
+
|
|
803
|
+
fragment DiscountMonetaryFieldsFragment on AmountMonetaryFields {
|
|
804
|
+
currency displayString decimalPlaces unitAmount sign __typename
|
|
805
|
+
}
|
|
806
|
+
|
|
807
|
+
fragment DiscountAdsMetadataFragment on AdsMetadata {
|
|
808
|
+
campaignId adGroupId auctionId __typename
|
|
809
|
+
}
|
|
810
|
+
|
|
811
|
+
fragment OrderItemBundleFragment on OrderItemBundleStore {
|
|
812
|
+
id name businessId isPrimary isRetail __typename
|
|
813
|
+
}
|
|
814
|
+
|
|
815
|
+
fragment CartItemGiftInfoFragment on CartItemGiftInfo {
|
|
816
|
+
recipientName recipientPhone recipientEmail cardMessage senderName
|
|
817
|
+
imageId imageUrl deliveryChannel __typename
|
|
818
|
+
}
|
|
819
|
+
|
|
820
|
+
fragment BadgeFragment on Badge {
|
|
821
|
+
isDashpass type text backgroundColor styleType dlsTagSize dlsTextStyle
|
|
822
|
+
dlsTagStyle dlsTagType placement leadingIcon leadingIconSize trailingIcon
|
|
823
|
+
trailingIconSize endTime dlsTextColor
|
|
824
|
+
brandedDecorator { prefixText postfixText postfixTextLeadingIcon __typename }
|
|
825
|
+
trailingText { copy dlsTextStyle dlsTextColor __typename }
|
|
826
|
+
onClick __typename
|
|
827
|
+
}
|
|
828
|
+
|
|
829
|
+
fragment NudgeFragment on Nudge {
|
|
830
|
+
nudgeMessage { text icon color textStyle __typename }
|
|
831
|
+
progress collectionModalDeeplink __typename
|
|
832
|
+
}
|
|
833
|
+
|
|
834
|
+
fragment PromoNudgeFragment on PromoNudge {
|
|
835
|
+
... on AddItemNudge {
|
|
836
|
+
nudgeMessage { text icon color __typename }
|
|
837
|
+
collectionModalDeeplink progress __typename
|
|
838
|
+
}
|
|
839
|
+
... on ClipCouponNudge {
|
|
840
|
+
nudgeMessage { text icon color __typename }
|
|
841
|
+
buttonText incentiveId __typename
|
|
842
|
+
}
|
|
843
|
+
__typename
|
|
844
|
+
}
|
|
845
|
+
|
|
846
|
+
fragment ItemLimitDataFragment on ItemLimitData { limit __typename }`;
|
|
847
|
+
|
|
848
|
+
// ---------------------------------------------------------------------------
|
|
849
|
+
// LIST_CARTS_QUERY
|
|
850
|
+
// ---------------------------------------------------------------------------
|
|
851
|
+
|
|
852
|
+
export const LIST_CARTS_QUERY = `
|
|
853
|
+
query listCarts($input: ListCartsInput!) {
|
|
854
|
+
listCarts(input: $input) {
|
|
855
|
+
...ConsumerOrderCartFragment
|
|
856
|
+
__typename
|
|
857
|
+
}
|
|
858
|
+
}
|
|
859
|
+
|
|
860
|
+
fragment ConsumerOrderCartFragment on OrderCart {
|
|
861
|
+
id hasError cartType isConsumerPickup isConvenienceCart isPrescriptionDelivery
|
|
862
|
+
prescriptionStoreInfo { retailStoreId __typename }
|
|
863
|
+
isMerchantShipping offersDelivery offersPickup subtotal urlCode
|
|
864
|
+
groupCart groupCartType groupCartSource groupCartPollInterval
|
|
865
|
+
scheduledDeliveryAvailable isCatering isSameStoreCatering isBundle bundleType
|
|
866
|
+
fulfillmentType originalBundleOrderCartId cartStatusType
|
|
867
|
+
cateringInfo { cateringVersion minOrderSize maxOrderSize orderInAdvanceInSeconds cancelOrderInAdvanceInSeconds __typename }
|
|
868
|
+
shortenedUrl maxIndividualCost serviceRateMessage isOutsideDeliveryRegion
|
|
869
|
+
currencyCode asapMinutesRange
|
|
870
|
+
orderTimeAvailability { ...CheckoutOrderTimeAvailabilityFragment __typename }
|
|
871
|
+
menu { id hoursToOrderInAdvance name minOrderSize isCatering __typename }
|
|
872
|
+
creator {
|
|
873
|
+
id firstName lastName
|
|
874
|
+
localizedNames { informalName formalName formalNameAbbreviated __typename }
|
|
875
|
+
__typename
|
|
876
|
+
}
|
|
877
|
+
deliveries { id quotedDeliveryTime __typename }
|
|
878
|
+
submittedAt
|
|
879
|
+
restaurant {
|
|
880
|
+
id name maxOrderSize coverImgUrl slug
|
|
881
|
+
address { printableAddress street lat lng __typename }
|
|
882
|
+
business { id name __typename }
|
|
883
|
+
orderProtocol idealGroupSize highQualitySubtotalThreshold __typename
|
|
884
|
+
}
|
|
885
|
+
storeDisclaimers { id disclaimerDetailsLink disclaimerLinkSubstring disclaimerText displayTreatment __typename }
|
|
886
|
+
orders { ...ConsumerOrdersFragment __typename }
|
|
887
|
+
selectedDeliveryOption {
|
|
888
|
+
deliveryOptionType
|
|
889
|
+
scheduledWindow { rangeMinUtc rangeMaxUtc __typename }
|
|
890
|
+
__typename
|
|
891
|
+
}
|
|
892
|
+
teamAccount { id name __typename }
|
|
893
|
+
total totalBeforeDiscountsAndCredits
|
|
894
|
+
footerDetails { title subtitle __typename }
|
|
895
|
+
outOfStockMenuItemIds
|
|
896
|
+
orderQualityInfo { isLoqNudgeAllowed isLoqForceSchedule __typename }
|
|
897
|
+
...InvalidItemsFragment
|
|
898
|
+
...ConsumerOrderCartDomainFragment
|
|
899
|
+
__typename
|
|
900
|
+
}
|
|
901
|
+
|
|
902
|
+
fragment ConsumerOrdersFragment on Order {
|
|
903
|
+
id
|
|
904
|
+
consumer {
|
|
905
|
+
firstName lastName id
|
|
906
|
+
localizedNames { informalName formalName formalNameAbbreviated __typename }
|
|
907
|
+
__typename
|
|
908
|
+
}
|
|
909
|
+
isSubCartFinalized splitBillSubcartStatus
|
|
910
|
+
lineItems { ...LineItemFragment __typename }
|
|
911
|
+
orderItems {
|
|
912
|
+
__typename id
|
|
913
|
+
options { id name quantity nestedOptions __typename }
|
|
914
|
+
itemLevelDiscount { promoId promoCode externalCampaignId __typename }
|
|
915
|
+
cartItemStatusType nestedOptions specialInstructions substitutionPreference
|
|
916
|
+
quantity singlePrice priceOfTotalQuantity priceDisplayString
|
|
917
|
+
nonDiscountPriceDisplayString continuousQuantity unit purchaseType
|
|
918
|
+
estimatedPricingDescription isPrescriptionItem
|
|
919
|
+
increment { decimalPlaces unitAmount __typename }
|
|
920
|
+
discounts { ...OrderItemDiscountFragment __typename }
|
|
921
|
+
item {
|
|
922
|
+
id imageUrl name price minAgeRequirement
|
|
923
|
+
category { title __typename }
|
|
924
|
+
extras { id title description __typename }
|
|
925
|
+
itemTagsList { tagType localizedName shortName id description displayType __typename }
|
|
926
|
+
storeId __typename
|
|
927
|
+
}
|
|
928
|
+
bundleStore { ...OrderItemBundleFragment __typename }
|
|
929
|
+
giftInfo { ...CartItemGiftInfoFragment __typename }
|
|
930
|
+
badges { ...BadgeFragment __typename }
|
|
931
|
+
nudgeList { ...NudgeFragment __typename }
|
|
932
|
+
promoNudgeList { ...PromoNudgeFragment __typename }
|
|
933
|
+
itemLimitData { ...ItemLimitDataFragment __typename }
|
|
934
|
+
}
|
|
935
|
+
paymentCard { id stripeId __typename }
|
|
936
|
+
paymentLineItems { subtotal taxAmount subtotalTaxAmount feesTaxAmount serviceFee __typename }
|
|
937
|
+
__typename
|
|
938
|
+
}
|
|
939
|
+
|
|
940
|
+
fragment LineItemFragment on LineItem {
|
|
941
|
+
label labelIcon discountIcon chargeId
|
|
942
|
+
finalMoney { unitAmount displayString __typename }
|
|
943
|
+
originalMoney { unitAmount displayString __typename }
|
|
944
|
+
tooltip { title paragraphs { description __typename } __typename }
|
|
945
|
+
note __typename
|
|
946
|
+
}
|
|
947
|
+
|
|
948
|
+
fragment OrderItemDiscountFragment on OrderItemDiscount {
|
|
949
|
+
id
|
|
950
|
+
finalMoney { ...DiscountMonetaryFieldsFragment __typename }
|
|
951
|
+
badges { ...BadgeFragment __typename }
|
|
952
|
+
adsMetadata { ...DiscountAdsMetadataFragment __typename }
|
|
953
|
+
__typename
|
|
954
|
+
}
|
|
955
|
+
|
|
956
|
+
fragment DiscountMonetaryFieldsFragment on AmountMonetaryFields {
|
|
957
|
+
currency displayString decimalPlaces unitAmount sign __typename
|
|
958
|
+
}
|
|
959
|
+
|
|
960
|
+
fragment DiscountAdsMetadataFragment on AdsMetadata {
|
|
961
|
+
campaignId adGroupId auctionId __typename
|
|
962
|
+
}
|
|
963
|
+
|
|
964
|
+
fragment OrderItemBundleFragment on OrderItemBundleStore {
|
|
965
|
+
id name businessId isPrimary isRetail __typename
|
|
966
|
+
}
|
|
967
|
+
|
|
968
|
+
fragment CartItemGiftInfoFragment on CartItemGiftInfo {
|
|
969
|
+
recipientName recipientPhone recipientEmail cardMessage senderName
|
|
970
|
+
imageId imageUrl deliveryChannel __typename
|
|
971
|
+
}
|
|
972
|
+
|
|
973
|
+
fragment BadgeFragment on Badge {
|
|
974
|
+
isDashpass type text backgroundColor styleType dlsTagSize dlsTextStyle
|
|
975
|
+
dlsTagStyle dlsTagType placement leadingIcon leadingIconSize trailingIcon
|
|
976
|
+
trailingIconSize endTime dlsTextColor
|
|
977
|
+
brandedDecorator { prefixText postfixText postfixTextLeadingIcon __typename }
|
|
978
|
+
trailingText { copy dlsTextStyle dlsTextColor __typename }
|
|
979
|
+
onClick __typename
|
|
980
|
+
}
|
|
981
|
+
|
|
982
|
+
fragment NudgeFragment on Nudge {
|
|
983
|
+
nudgeMessage { text icon color textStyle __typename }
|
|
984
|
+
progress collectionModalDeeplink __typename
|
|
985
|
+
}
|
|
986
|
+
|
|
987
|
+
fragment PromoNudgeFragment on PromoNudge {
|
|
988
|
+
... on AddItemNudge {
|
|
989
|
+
nudgeMessage { text icon color __typename }
|
|
990
|
+
collectionModalDeeplink progress __typename
|
|
991
|
+
}
|
|
992
|
+
... on ClipCouponNudge {
|
|
993
|
+
nudgeMessage { text icon color __typename }
|
|
994
|
+
buttonText incentiveId __typename
|
|
995
|
+
}
|
|
996
|
+
__typename
|
|
997
|
+
}
|
|
998
|
+
|
|
999
|
+
fragment ItemLimitDataFragment on ItemLimitData { limit __typename }
|
|
1000
|
+
|
|
1001
|
+
fragment InvalidItemsFragment on OrderCart {
|
|
1002
|
+
invalidItems {
|
|
1003
|
+
itemId storeId
|
|
1004
|
+
itemQuantityInfo {
|
|
1005
|
+
discreteQuantity { quantity unit __typename }
|
|
1006
|
+
continuousQuantity { quantity unit __typename }
|
|
1007
|
+
__typename
|
|
1008
|
+
}
|
|
1009
|
+
name itemExtrasList menuId __typename
|
|
1010
|
+
}
|
|
1011
|
+
__typename
|
|
1012
|
+
}
|
|
1013
|
+
|
|
1014
|
+
fragment CheckoutOrderTimeAvailabilityFragment on OrderTimeAvailability {
|
|
1015
|
+
scheduleLongerInAdvanceTime timezone
|
|
1016
|
+
days {
|
|
1017
|
+
year month date
|
|
1018
|
+
times { display timestamp min max displayString displayStringDeliveryWindow displayStringSubtitle __typename }
|
|
1019
|
+
title subtitle isSelected isDisabled __typename
|
|
1020
|
+
}
|
|
1021
|
+
__typename
|
|
1022
|
+
}
|
|
1023
|
+
|
|
1024
|
+
fragment ConsumerOrderCartDomainFragment on OrderCart {
|
|
1025
|
+
domain {
|
|
1026
|
+
giftInfo {
|
|
1027
|
+
recipientName recipientGivenName recipientFamilyName recipientPhone
|
|
1028
|
+
recipientEmail cardMessage cardId
|
|
1029
|
+
shouldNotifyTrackingToRecipientOnDasherAssign
|
|
1030
|
+
shouldNotifyRecipientForDasherQuestions senderName
|
|
1031
|
+
shouldRecipientScheduleGift hasGiftIntent __typename
|
|
1032
|
+
}
|
|
1033
|
+
__typename
|
|
1034
|
+
}
|
|
1035
|
+
__typename
|
|
1036
|
+
}`;
|
|
1037
|
+
|
|
1038
|
+
// ---------------------------------------------------------------------------
|
|
1039
|
+
// DROPOFF_OPTIONS_QUERY
|
|
1040
|
+
// ---------------------------------------------------------------------------
|
|
1041
|
+
|
|
1042
|
+
// ---------------------------------------------------------------------------
|
|
1043
|
+
// RETAIL_STORE_FEED_QUERY (for convenience/pharmacy stores like CVS, Duane Reade)
|
|
1044
|
+
// ---------------------------------------------------------------------------
|
|
1045
|
+
|
|
1046
|
+
export const RETAIL_STORE_FEED_QUERY = `
|
|
1047
|
+
query storeFeed($storeId: ID!, $attrSrc: String, $cursor: String, $enableDebug: Boolean) {
|
|
1048
|
+
retailStorePageFeed(
|
|
1049
|
+
storeId: $storeId
|
|
1050
|
+
attrSrc: $attrSrc
|
|
1051
|
+
cursor: $cursor
|
|
1052
|
+
enableDebug: $enableDebug
|
|
1053
|
+
) {
|
|
1054
|
+
id
|
|
1055
|
+
storeDetails {
|
|
1056
|
+
id urlSlug name isActive coverSquareImgUrl
|
|
1057
|
+
storeHeader {
|
|
1058
|
+
...StoreHeaderFragment
|
|
1059
|
+
__typename
|
|
1060
|
+
}
|
|
1061
|
+
__typename
|
|
1062
|
+
}
|
|
1063
|
+
l1Categories {
|
|
1064
|
+
...RetailL1CategoryFragment
|
|
1065
|
+
__typename
|
|
1066
|
+
}
|
|
1067
|
+
l1NavCategories {
|
|
1068
|
+
...RetailL1NavCategoryFragment
|
|
1069
|
+
__typename
|
|
1070
|
+
}
|
|
1071
|
+
collections {
|
|
1072
|
+
...RetailCollectionFragment
|
|
1073
|
+
__typename
|
|
1074
|
+
}
|
|
1075
|
+
page {
|
|
1076
|
+
next { name data __typename }
|
|
1077
|
+
onLoad { name data __typename }
|
|
1078
|
+
__typename
|
|
1079
|
+
}
|
|
1080
|
+
__typename
|
|
1081
|
+
}
|
|
1082
|
+
}
|
|
1083
|
+
|
|
1084
|
+
fragment StoreHeaderFragment on StoreHeader {
|
|
1085
|
+
id name description offersDelivery isConvenience isDashpassPartner
|
|
1086
|
+
coverImgUrl
|
|
1087
|
+
ratings { numRatings numRatingsDisplayString averageRating isNewlyAdded __typename }
|
|
1088
|
+
deliveryFeeLayout { title subtitle isSurging displayDeliveryFee __typename }
|
|
1089
|
+
distanceFromConsumer { value label __typename }
|
|
1090
|
+
priceRangeDisplayString priceRange
|
|
1091
|
+
address { displayAddress street city __typename }
|
|
1092
|
+
status {
|
|
1093
|
+
delivery { isAvailable minutes displayUnavailableStatus unavailableReason etaDisplayString __typename }
|
|
1094
|
+
__typename
|
|
1095
|
+
}
|
|
1096
|
+
__typename
|
|
1097
|
+
}
|
|
1098
|
+
|
|
1099
|
+
fragment RetailL1CategoryFragment on RetailL1Category {
|
|
1100
|
+
id categoryId urlSlug name storeId imageUrl __typename
|
|
1101
|
+
}
|
|
1102
|
+
|
|
1103
|
+
fragment RetailCollectionFragment on RetailCollection {
|
|
1104
|
+
id collectionId urlSlug name storeId
|
|
1105
|
+
products {
|
|
1106
|
+
...BaseRetailItemDetailsFragment
|
|
1107
|
+
__typename
|
|
1108
|
+
}
|
|
1109
|
+
pageInfo { cursor hasNextPage __typename }
|
|
1110
|
+
__typename
|
|
1111
|
+
}
|
|
1112
|
+
|
|
1113
|
+
fragment BaseRetailItemDetailsFragment on RetailItem {
|
|
1114
|
+
id urlSlug name description storeId menuId imageUrl
|
|
1115
|
+
price { ...MonetaryFieldsFragment __typename }
|
|
1116
|
+
quickAddContext {
|
|
1117
|
+
isEligible
|
|
1118
|
+
price { currency decimalPlaces displayString unitAmount __typename }
|
|
1119
|
+
nestedOptions specialInstructions defaultQuantity __typename
|
|
1120
|
+
}
|
|
1121
|
+
badges {
|
|
1122
|
+
text type placement __typename
|
|
1123
|
+
}
|
|
1124
|
+
__typename
|
|
1125
|
+
}
|
|
1126
|
+
|
|
1127
|
+
fragment MonetaryFieldsFragment on AmountMonetaryFields {
|
|
1128
|
+
currency displayString decimalPlaces unitAmount sign symbol __typename
|
|
1129
|
+
}
|
|
1130
|
+
|
|
1131
|
+
fragment RetailL1NavCategoryFragment on RetailL1NavCategory {
|
|
1132
|
+
id name urlSlug imageUrl storeId categoryId navigationType
|
|
1133
|
+
navigationData {
|
|
1134
|
+
collectionPageRequest {
|
|
1135
|
+
storeId collectionId collectionType showExploreItems attrSrc showCategories page supportsPagination __typename
|
|
1136
|
+
}
|
|
1137
|
+
collectionsRequest {
|
|
1138
|
+
surface orderCartId itemId attrSrc page storeId __typename
|
|
1139
|
+
}
|
|
1140
|
+
__typename
|
|
1141
|
+
}
|
|
1142
|
+
__typename
|
|
1143
|
+
}`;
|
|
1144
|
+
|
|
1145
|
+
// ---------------------------------------------------------------------------
|
|
1146
|
+
// RETAIL_SEARCH_QUERY (search within a convenience/pharmacy store)
|
|
1147
|
+
// ---------------------------------------------------------------------------
|
|
1148
|
+
|
|
1149
|
+
export const RETAIL_SEARCH_QUERY = `
|
|
1150
|
+
query convenienceSearchQuery($input: RetailSearchInput!) {
|
|
1151
|
+
retailSearch(input: $input) {
|
|
1152
|
+
query
|
|
1153
|
+
searchSummary {
|
|
1154
|
+
searchedForKeyword suggestedSearchKeyword totalCount __typename
|
|
1155
|
+
}
|
|
1156
|
+
legoRetailItems {
|
|
1157
|
+
id custom __typename
|
|
1158
|
+
}
|
|
1159
|
+
pageInfo { hasNextPage cursor __typename }
|
|
1160
|
+
__typename
|
|
1161
|
+
}
|
|
1162
|
+
}`;
|
|
1163
|
+
|
|
1164
|
+
export const DROPOFF_OPTIONS_QUERY = `
|
|
1165
|
+
query dropoffOptions($cartId: ID, $addressId: ID) {
|
|
1166
|
+
dropoffOptions(cartId: $cartId, addressId: $addressId) {
|
|
1167
|
+
id displayString isDefault isEnabled placeholderText disabledMessage
|
|
1168
|
+
proofOfDeliveryType __typename
|
|
1169
|
+
}
|
|
1170
|
+
}`;
|
|
1171
|
+
|
|
1172
|
+
// ---------------------------------------------------------------------------
|
|
1173
|
+
// CREATE_ORDER_FROM_CART_QUERY
|
|
1174
|
+
// ---------------------------------------------------------------------------
|
|
1175
|
+
|
|
1176
|
+
export const CREATE_ORDER_FROM_CART_QUERY = `
|
|
1177
|
+
mutation createOrderFromCart($cartId: ID!, $total: Int!, $sosDeliveryFee: Int!, $isPickupOrder: Boolean!, $verifiedAgeRequirement: Boolean!, $deliveryTime: String!, $menuOptions: [String], $stripeToken: String, $attributionData: String, $fulfillsOwnDeliveries: Boolean, $budgetId: String, $teamId: String, $giftOptions: GiftOptionsInput, $recipientShippingDetails: RecipientShippingDetails, $storeId: String, $tipAmounts: [TipAmount!], $paymentMethod: Int, $deliveryOptionType: DeliveryOptionType, $workOrderOptions: WorkOrderOptionsInput, $isCardPayment: Boolean, $clientFraudContext: PaymentClientFraudContextInput, $programId: String, $membershipId: String, $dropoffPreferences: String, $routineReorderDetails: RoutineReorderDetails, $supplementalPaymentDetailsList: [SupplementalPaymentDetails!], $monitoringContext: CreateOrderFromCartMonitoringContextInput, $rewardBalanceApplied: RewardBalanceDetailsInput, $deliveryOptionInfo: DeliveryOptionInfo, $hasAccessibilityRequirements: Boolean, $shouldApplyCredits: Boolean, $dasherPickupInstructions: String, $paymentMethodUuid: String, $paymentMethodType: PaymentMethodType, $deviceTimezone: String, $paymentMethodBrand: String, $submitPlatform: String) {
|
|
1178
|
+
createOrderFromCart(
|
|
1179
|
+
cartId: $cartId
|
|
1180
|
+
total: $total
|
|
1181
|
+
sosDeliveryFee: $sosDeliveryFee
|
|
1182
|
+
isPickupOrder: $isPickupOrder
|
|
1183
|
+
verifiedAgeRequirement: $verifiedAgeRequirement
|
|
1184
|
+
deliveryTime: $deliveryTime
|
|
1185
|
+
menuOptions: $menuOptions
|
|
1186
|
+
stripeToken: $stripeToken
|
|
1187
|
+
attributionData: $attributionData
|
|
1188
|
+
fulfillsOwnDeliveries: $fulfillsOwnDeliveries
|
|
1189
|
+
budgetId: $budgetId
|
|
1190
|
+
teamId: $teamId
|
|
1191
|
+
giftOptions: $giftOptions
|
|
1192
|
+
recipientShippingDetails: $recipientShippingDetails
|
|
1193
|
+
storeId: $storeId
|
|
1194
|
+
tipAmounts: $tipAmounts
|
|
1195
|
+
paymentMethod: $paymentMethod
|
|
1196
|
+
deliveryOptionType: $deliveryOptionType
|
|
1197
|
+
workOrderOptions: $workOrderOptions
|
|
1198
|
+
isCardPayment: $isCardPayment
|
|
1199
|
+
clientFraudContext: $clientFraudContext
|
|
1200
|
+
programId: $programId
|
|
1201
|
+
membershipId: $membershipId
|
|
1202
|
+
dropoffPreferences: $dropoffPreferences
|
|
1203
|
+
routineReorderDetails: $routineReorderDetails
|
|
1204
|
+
supplementalPaymentDetailsList: $supplementalPaymentDetailsList
|
|
1205
|
+
monitoringContext: $monitoringContext
|
|
1206
|
+
rewardBalanceApplied: $rewardBalanceApplied
|
|
1207
|
+
deliveryOptionInfo: $deliveryOptionInfo
|
|
1208
|
+
hasAccessibilityRequirements: $hasAccessibilityRequirements
|
|
1209
|
+
shouldApplyCredits: $shouldApplyCredits
|
|
1210
|
+
dasherPickupInstructions: $dasherPickupInstructions
|
|
1211
|
+
paymentMethodUuid: $paymentMethodUuid
|
|
1212
|
+
paymentMethodType: $paymentMethodType
|
|
1213
|
+
deviceTimezone: $deviceTimezone
|
|
1214
|
+
paymentMethodBrand: $paymentMethodBrand
|
|
1215
|
+
submitPlatform: $submitPlatform
|
|
1216
|
+
) {
|
|
1217
|
+
cartId
|
|
1218
|
+
orderUuid
|
|
1219
|
+
isFirstOrderCart
|
|
1220
|
+
isFirstNewVerticalsOrderCart
|
|
1221
|
+
__typename
|
|
1222
|
+
}
|
|
1223
|
+
}`;
|
|
1224
|
+
|
|
1225
|
+
// ---------------------------------------------------------------------------
|
|
1226
|
+
// PAYMENT_METHODS_QUERY
|
|
1227
|
+
// ---------------------------------------------------------------------------
|
|
1228
|
+
|
|
1229
|
+
// ---------------------------------------------------------------------------
|
|
1230
|
+
// UPDATE_CART_ITEM_QUERY (used for retail/convenience stores instead of addCartItem)
|
|
1231
|
+
// ---------------------------------------------------------------------------
|
|
1232
|
+
|
|
1233
|
+
export const UPDATE_CART_ITEM_QUERY = `
|
|
1234
|
+
mutation updateCartItem($updateCartItemApiParams: UpdateCartItemInput!, $fulfillmentContext: FulfillmentContextInput!, $returnCartFromOrderService: Boolean, $shouldKeepOnlyOneActiveCart: Boolean, $cartContextFilter: CartContextV2) {
|
|
1235
|
+
updateCartItemV2(
|
|
1236
|
+
updateCartItemInput: $updateCartItemApiParams
|
|
1237
|
+
fulfillmentContext: $fulfillmentContext
|
|
1238
|
+
returnCartFromOrderService: $returnCartFromOrderService
|
|
1239
|
+
shouldKeepOnlyOneActiveCart: $shouldKeepOnlyOneActiveCart
|
|
1240
|
+
cartContextFilter: $cartContextFilter
|
|
1241
|
+
) {
|
|
1242
|
+
...ConsumerOrderCartFragment
|
|
1243
|
+
__typename
|
|
1244
|
+
}
|
|
1245
|
+
}
|
|
1246
|
+
|
|
1247
|
+
${/* Re-use the same ConsumerOrderCartFragment from ADD_CART_ITEM_QUERY */''}
|
|
1248
|
+
fragment ConsumerOrderCartFragment on OrderCart {
|
|
1249
|
+
id hasError cartType isConsumerPickup isConvenienceCart isPrescriptionDelivery
|
|
1250
|
+
prescriptionStoreInfo { retailStoreId __typename }
|
|
1251
|
+
isMerchantShipping offersDelivery offersPickup subtotal urlCode
|
|
1252
|
+
groupCart groupCartType groupCartSource groupCartPollInterval
|
|
1253
|
+
scheduledDeliveryAvailable isCatering isSameStoreCatering isBundle bundleType
|
|
1254
|
+
fulfillmentType originalBundleOrderCartId cartStatusType
|
|
1255
|
+
shortenedUrl maxIndividualCost serviceRateMessage isOutsideDeliveryRegion
|
|
1256
|
+
currencyCode asapMinutesRange
|
|
1257
|
+
menu { id hoursToOrderInAdvance name minOrderSize isCatering __typename }
|
|
1258
|
+
creator {
|
|
1259
|
+
id firstName lastName
|
|
1260
|
+
localizedNames { informalName formalName formalNameAbbreviated __typename }
|
|
1261
|
+
__typename
|
|
1262
|
+
}
|
|
1263
|
+
deliveries { id quotedDeliveryTime __typename }
|
|
1264
|
+
submittedAt
|
|
1265
|
+
restaurant {
|
|
1266
|
+
id name maxOrderSize coverImgUrl slug
|
|
1267
|
+
address { printableAddress street lat lng __typename }
|
|
1268
|
+
business { id name __typename }
|
|
1269
|
+
orderProtocol idealGroupSize highQualitySubtotalThreshold __typename
|
|
1270
|
+
}
|
|
1271
|
+
orders { ...ConsumerOrdersFragment __typename }
|
|
1272
|
+
total totalBeforeDiscountsAndCredits
|
|
1273
|
+
footerDetails { title subtitle __typename }
|
|
1274
|
+
outOfStockMenuItemIds
|
|
1275
|
+
__typename
|
|
1276
|
+
}
|
|
1277
|
+
|
|
1278
|
+
fragment ConsumerOrdersFragment on Order {
|
|
1279
|
+
id
|
|
1280
|
+
consumer {
|
|
1281
|
+
firstName lastName id
|
|
1282
|
+
localizedNames { informalName formalName formalNameAbbreviated __typename }
|
|
1283
|
+
__typename
|
|
1284
|
+
}
|
|
1285
|
+
orderItems {
|
|
1286
|
+
__typename id
|
|
1287
|
+
options { id name quantity nestedOptions __typename }
|
|
1288
|
+
cartItemStatusType nestedOptions specialInstructions substitutionPreference
|
|
1289
|
+
quantity singlePrice priceOfTotalQuantity priceDisplayString
|
|
1290
|
+
item {
|
|
1291
|
+
id imageUrl name price
|
|
1292
|
+
category { title __typename }
|
|
1293
|
+
storeId __typename
|
|
1294
|
+
}
|
|
1295
|
+
__typename
|
|
1296
|
+
}
|
|
1297
|
+
paymentCard { id stripeId __typename }
|
|
1298
|
+
__typename
|
|
1299
|
+
}`;
|
|
1300
|
+
|
|
1301
|
+
export const PAYMENT_METHODS_QUERY = `
|
|
1302
|
+
query paymentMethodQuery {
|
|
1303
|
+
getPaymentMethodList {
|
|
1304
|
+
id
|
|
1305
|
+
type
|
|
1306
|
+
last4
|
|
1307
|
+
isDefault
|
|
1308
|
+
paymentMethodUuid
|
|
1309
|
+
__typename
|
|
1310
|
+
}
|
|
1311
|
+
}`;
|