@inflexa-ai/harness 0.45.1 → 0.46.2
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/README.md +6 -3
- package/dist/agents/conversation-agent.d.ts +9 -3
- package/dist/agents/conversation-agent.js +34 -33
- package/dist/agents/report-session-agent.d.ts +15 -15
- package/dist/agents/report-session-agent.js +23 -15
- package/dist/agents/sandbox/index.d.ts +1 -1
- package/dist/agents/sandbox/index.js +1 -1
- package/dist/agents/sandbox/shared.d.ts +12 -14
- package/dist/agents/sandbox/shared.js +18 -12
- package/dist/agents/sandbox/types.d.ts +4 -4
- package/dist/agents/sandbox/validate-skills.d.ts +2 -2
- package/dist/agents/sandbox/validate-skills.js +3 -1
- package/dist/agents/sandbox-catalog.d.ts +2 -2
- package/dist/agents/sandbox-catalog.js +3 -3
- package/dist/agents/system-prompt.d.ts +2 -2
- package/dist/app/chat-turn-workflow.d.ts +114 -0
- package/dist/app/chat-turn-workflow.js +306 -0
- package/dist/app/chat-turn.d.ts +85 -57
- package/dist/app/chat-turn.js +123 -100
- package/dist/app/data-profile-orientation.js +10 -8
- package/dist/app/data-profile-view.d.ts +4 -4
- package/dist/app/data-profile-view.js +9 -8
- package/dist/app/in-process-turn.d.ts +42 -0
- package/dist/app/in-process-turn.js +139 -0
- package/dist/app/message-assembly.d.ts +10 -4
- package/dist/app/message-assembly.js +13 -8
- package/dist/app/report-session-runtime.d.ts +4 -4
- package/dist/app/report-session-runtime.js +36 -21
- package/dist/app/spawn-report-session.d.ts +33 -28
- package/dist/app/spawn-report-session.js +25 -40
- package/dist/app/synthesize-run.d.ts +22 -16
- package/dist/app/synthesize-run.js +41 -35
- package/dist/app/work.d.ts +96 -0
- package/dist/app/work.js +147 -0
- package/dist/auth/local-auth-context.d.ts +1 -3
- package/dist/auth/local-auth-context.js +1 -3
- package/dist/auth/local-run-authorizer.d.ts +1 -1
- package/dist/auth/local-run-authorizer.js +5 -3
- package/dist/auth/types.d.ts +26 -26
- package/dist/billing/cached-resolver.d.ts +4 -4
- package/dist/billing/run-charge.d.ts +5 -8
- package/dist/billing/run-charge.js +2 -2
- package/dist/billing/usage-recorder.d.ts +9 -9
- package/dist/citations/aggregate.js +1 -1
- package/dist/citations/clients/arxiv.d.ts +2 -2
- package/dist/citations/clients/arxiv.js +12 -4
- package/dist/citations/clients/common.js +4 -2
- package/dist/citations/clients/crossref.d.ts +2 -2
- package/dist/citations/clients/crossref.js +37 -37
- package/dist/citations/clients/doi-registry.js +15 -16
- package/dist/citations/clients/pubmed.d.ts +2 -2
- package/dist/citations/clients/pubmed.js +20 -13
- package/dist/citations/clients/semantic-scholar.d.ts +2 -2
- package/dist/citations/clients/semantic-scholar.js +9 -9
- package/dist/citations/compare.js +2 -2
- package/dist/citations/match.d.ts +2 -2
- package/dist/citations/match.js +12 -7
- package/dist/citations/normalize.js +35 -26
- package/dist/citations/plan.js +6 -2
- package/dist/citations/resolve.d.ts +6 -6
- package/dist/citations/resolve.js +34 -25
- package/dist/citations/types.d.ts +77 -77
- package/dist/config/environment-stores.d.ts +6 -6
- package/dist/config/resource-limits.js +1 -3
- package/dist/contracts/analogy-report.d.ts +7 -7
- package/dist/contracts/analogy-report.js +2 -2
- package/dist/contracts/chat-events.d.ts +38 -24
- package/dist/contracts/chat-frame.d.ts +15 -5
- package/dist/contracts/chat-frame.js +64 -41
- package/dist/contracts/chat-parts.d.ts +130 -67
- package/dist/contracts/chat-parts.js +1 -0
- package/dist/contracts/content-url.js +16 -2
- package/dist/contracts/data-profile.d.ts +38 -38
- package/dist/contracts/index.d.ts +2 -2
- package/dist/contracts/index.js +1 -1
- package/dist/contracts/message.d.ts +6 -6
- package/dist/contracts/organ-system.d.ts +11 -11
- package/dist/contracts/part-registry.d.ts +5 -4
- package/dist/contracts/part-registry.js +5 -0
- package/dist/contracts/profile-vocabulary.d.ts +11 -10
- package/dist/contracts/profile-vocabulary.js +10 -3
- package/dist/contracts/report-blocks.d.ts +329 -329
- package/dist/contracts/report-reference.d.ts +105 -81
- package/dist/contracts/report-reference.js +30 -13
- package/dist/contracts/schemas/chat-events.d.ts +30 -16
- package/dist/contracts/schemas/chat-events.js +15 -6
- package/dist/contracts/schemas/chat-parts.d.ts +175 -102
- package/dist/contracts/schemas/chat-parts.js +33 -7
- package/dist/contracts/severity.d.ts +1 -1
- package/dist/contracts/structure-source.d.ts +3 -3
- package/dist/contracts/structure-source.js +6 -2
- package/dist/contracts/subagent-activity.d.ts +2 -2
- package/dist/contracts/subagent-activity.js +5 -3
- package/dist/contracts/usage.d.ts +2 -2
- package/dist/data/safety-panel-schema.d.ts +25 -25
- package/dist/data/safety-panel-schema.js +13 -4
- package/dist/execution/artifact-metadata.d.ts +23 -15
- package/dist/execution/artifact-metadata.js +33 -10
- package/dist/execution/artifact-record.d.ts +2 -2
- package/dist/execution/artifact-registration.d.ts +5 -5
- package/dist/execution/artifact-registry.d.ts +8 -8
- package/dist/execution/dbos-run-launcher.d.ts +24 -4
- package/dist/execution/dbos-run-launcher.js +58 -4
- package/dist/execution/dbos-workflow-purger.d.ts +5 -6
- package/dist/execution/dbos-workflow-purger.js +8 -7
- package/dist/execution/input-signature.d.ts +2 -2
- package/dist/execution/post-step-pipeline.d.ts +9 -9
- package/dist/execution/post-step-pipeline.js +1 -1
- package/dist/execution/post-step.js +2 -2
- package/dist/execution/reconcile-manifest.d.ts +4 -4
- package/dist/execution/reconcile-manifest.js +3 -2
- package/dist/execution/run-authorizer.d.ts +46 -37
- package/dist/execution/run-authorizer.js +8 -8
- package/dist/execution/run-canceler.d.ts +7 -7
- package/dist/execution/run-canceler.js +14 -7
- package/dist/execution/run-end-record.d.ts +2 -3
- package/dist/execution/run-event-parts.d.ts +0 -8
- package/dist/execution/run-event-parts.js +29 -24
- package/dist/execution/run-event-stream.d.ts +8 -8
- package/dist/execution/run-event-stream.js +3 -4
- package/dist/execution/run-launcher.d.ts +4 -4
- package/dist/execution/run-synthesis.d.ts +49 -48
- package/dist/execution/run-synthesis.js +96 -255
- package/dist/execution/staged-input.d.ts +2 -2
- package/dist/execution/step-summary.d.ts +6 -6
- package/dist/execution/step-summary.js +4 -8
- package/dist/execution/topo-sort.js +4 -3
- package/dist/execution/workflow-purger.d.ts +2 -2
- package/dist/index.d.ts +17 -20
- package/dist/index.js +25 -36
- package/dist/input-sanitization.js +9 -2
- package/dist/input-scan/clustering.d.ts +6 -6
- package/dist/input-scan/clustering.js +11 -5
- package/dist/input-scan/companions.js +3 -2
- package/dist/input-scan/detect-sets.d.ts +2 -2
- package/dist/input-scan/detect-sets.js +25 -21
- package/dist/input-scan/enrich.d.ts +6 -6
- package/dist/input-scan/enrich.js +29 -12
- package/dist/input-scan/formats.d.ts +2 -2
- package/dist/input-scan/formats.js +8 -2
- package/dist/input-scan/markers.d.ts +2 -2
- package/dist/input-scan/markers.js +14 -5
- package/dist/input-scan/menu.d.ts +10 -10
- package/dist/input-scan/menu.js +0 -0
- package/dist/input-scan/quarantine.d.ts +2 -2
- package/dist/input-scan/quarantine.js +23 -18
- package/dist/input-scan/readout-budget.d.ts +2 -2
- package/dist/input-scan/readout-budget.js +1 -1
- package/dist/input-scan/readout.d.ts +2 -2
- package/dist/input-scan/readout.js +47 -34
- package/dist/input-scan/scan.d.ts +2 -2
- package/dist/input-scan/scan.js +7 -5
- package/dist/input-scan/set-types.d.ts +28 -28
- package/dist/input-scan/shapes.d.ts +4 -4
- package/dist/input-scan/shapes.js +0 -0
- package/dist/input-scan/templates.d.ts +10 -10
- package/dist/input-scan/templates.js +30 -22
- package/dist/input-scan/tokens.d.ts +6 -4
- package/dist/input-scan/tokens.js +100 -38
- package/dist/input-scan/types.d.ts +22 -22
- package/dist/lib/async-utils.d.ts +3 -7
- package/dist/lib/async-utils.js +5 -9
- package/dist/lib/cache.js +1 -1
- package/dist/lib/chrome.d.ts +46 -6
- package/dist/lib/console-logger.js +2 -2
- package/dist/lib/db-result.d.ts +22 -6
- package/dist/lib/db-result.js +9 -13
- package/dist/lib/eyes.d.ts +4 -4
- package/dist/lib/eyes.js +1 -1
- package/dist/lib/fs-helpers.js +18 -6
- package/dist/lib/fs-result.d.ts +1 -0
- package/dist/lib/fs-result.js +5 -6
- package/dist/lib/hooks.d.ts +32 -7
- package/dist/lib/hooks.js +22 -3
- package/dist/lib/host-concurrency.js +3 -2
- package/dist/lib/logger.d.ts +2 -2
- package/dist/lib/logger.js +2 -1
- package/dist/lib/metrics.d.ts +1 -1
- package/dist/lib/null-proto.d.ts +6 -0
- package/dist/lib/null-proto.js +17 -0
- package/dist/lib/otel-spans.d.ts +1 -1
- package/dist/lib/otel-spans.js +9 -5
- package/dist/lib/otel.d.ts +4 -2
- package/dist/lib/otel.js +10 -2
- package/dist/lib/page-capture.d.ts +8 -8
- package/dist/lib/page-capture.js +9 -4
- package/dist/lib/parse-json.d.ts +5 -0
- package/dist/lib/parse-json.js +12 -0
- package/dist/lib/present.d.ts +12 -0
- package/dist/lib/present.js +39 -0
- package/dist/lib/rate-limit.d.ts +4 -4
- package/dist/lib/rate-limit.js +12 -13
- package/dist/lib/regulatory-corpus/fetch-fda-guidance.d.ts +4 -4
- package/dist/lib/regulatory-corpus/fetch-fda-guidance.js +4 -10
- package/dist/lib/regulatory-corpus/fetch-ich.d.ts +4 -4
- package/dist/lib/regulatory-corpus/fetch-ich.js +18 -14
- package/dist/lib/regulatory-corpus/normalize-whitespace.d.ts +6 -0
- package/dist/lib/regulatory-corpus/normalize-whitespace.js +41 -0
- package/dist/lib/regulatory-corpus.d.ts +10 -10
- package/dist/lib/regulatory-corpus.js +3 -1
- package/dist/lib/result.d.ts +10 -11
- package/dist/lib/result.js +15 -13
- package/dist/lib/storage.d.ts +2 -2
- package/dist/lib/test/async-iterable.d.ts +9 -0
- package/dist/lib/test/async-iterable.js +28 -0
- package/dist/lib/test/request-url.d.ts +5 -0
- package/dist/lib/test/request-url.js +7 -0
- package/dist/lib/test/result-assert.d.ts +12 -0
- package/dist/lib/test/result-assert.js +17 -0
- package/dist/lib/test/text-shapes.d.ts +24 -0
- package/dist/lib/test/text-shapes.js +63 -0
- package/dist/lib/text.d.ts +22 -0
- package/dist/lib/text.js +68 -0
- package/dist/lib/thrown.d.ts +18 -0
- package/dist/lib/thrown.js +30 -0
- package/dist/lib/unknown-array.d.ts +6 -0
- package/dist/lib/unknown-array.js +8 -0
- package/dist/lib/unknown-containers.d.ts +14 -0
- package/dist/lib/unknown-containers.js +17 -0
- package/dist/lib/unknown-text.d.ts +8 -0
- package/dist/lib/unknown-text.js +28 -0
- package/dist/lib/zod-issue-shape.d.ts +1 -1
- package/dist/lib/zod-issue-shape.js +31 -31
- package/dist/lib/zod-issues.d.ts +3 -3
- package/dist/lib/zod-issues.js +30 -17
- package/dist/literature/sources/arxiv.d.ts +6 -6
- package/dist/literature/sources/arxiv.js +92 -35
- package/dist/literature/sources/http.d.ts +2 -2
- package/dist/literature/sources/http.js +16 -15
- package/dist/literature/sources/pubmed.d.ts +16 -16
- package/dist/literature/sources/pubmed.js +96 -61
- package/dist/literature/sources/semantic-scholar.d.ts +8 -8
- package/dist/literature/sources/semantic-scholar.js +22 -13
- package/dist/loop/accounting.d.ts +63 -0
- package/dist/loop/accounting.js +141 -0
- package/dist/loop/call-policy.d.ts +73 -0
- package/dist/loop/call-policy.js +109 -0
- package/dist/loop/chat-stream.d.ts +62 -0
- package/dist/loop/chat-stream.js +237 -0
- package/dist/loop/compaction.d.ts +9 -9
- package/dist/loop/compaction.js +1 -1
- package/dist/loop/metrics.d.ts +12 -15
- package/dist/loop/metrics.js +14 -26
- package/dist/loop/run-loop.d.ts +233 -0
- package/dist/loop/run-loop.js +770 -0
- package/dist/loop/sub-agent.d.ts +61 -0
- package/dist/loop/sub-agent.js +160 -0
- package/dist/loop/tool-adapter.d.ts +98 -0
- package/dist/loop/tool-adapter.js +364 -0
- package/dist/loop/tool-detail.d.ts +1 -1
- package/dist/loop/tool-detail.js +6 -5
- package/dist/loop/tool-outcome.d.ts +1 -1
- package/dist/loop/tool-output.d.ts +4 -4
- package/dist/loop/tool-output.js +2 -2
- package/dist/loop/turn-credentials.d.ts +39 -0
- package/dist/loop/turn-credentials.js +90 -0
- package/dist/loop/types.d.ts +29 -38
- package/dist/loop/types.js +2 -7
- package/dist/memory/ai-sdk-message-storage.d.ts +5 -5
- package/dist/memory/ai-sdk-message-storage.js +13 -11
- package/dist/memory/card-builders.d.ts +14 -14
- package/dist/memory/card-builders.js +19 -15
- package/dist/memory/conversation-display-recorder.d.ts +22 -4
- package/dist/memory/conversation-display-recorder.js +43 -24
- package/dist/memory/conversation-display-replay.js +3 -2
- package/dist/memory/conversation-display-storage.d.ts +15 -7
- package/dist/memory/conversation-display-storage.js +141 -36
- package/dist/memory/conversation-view.d.ts +4 -4
- package/dist/memory/conversation-view.js +5 -4
- package/dist/memory/count-tokens.js +10 -8
- package/dist/memory/derive-thread-title.d.ts +0 -13
- package/dist/memory/derive-thread-title.js +2 -1
- package/dist/memory/message-backfill.d.ts +12 -5
- package/dist/memory/message-backfill.js +5 -3
- package/dist/memory/thread-history.d.ts +36 -21
- package/dist/memory/thread-history.js +78 -54
- package/dist/memory/thread-store.d.ts +26 -17
- package/dist/memory/thread-store.js +15 -9
- package/dist/memory/tool-call-integrity.d.ts +2 -2
- package/dist/memory/tool-call-integrity.js +4 -3
- package/dist/memory/working-memory.d.ts +16 -12
- package/dist/memory/working-memory.js +72 -61
- package/dist/prompts/briefing.d.ts +12 -12
- package/dist/prompts/briefing.js +1 -1
- package/dist/prompts/synthesis-agent.d.ts +1 -1
- package/dist/prompts/synthesis-agent.js +6 -14
- package/dist/provenance/collector.d.ts +6 -6
- package/dist/provenance/collector.js +15 -8
- package/dist/provenance/exec-frame.d.ts +2 -2
- package/dist/provenance/exec-frame.js +6 -1
- package/dist/provenance/seam.d.ts +1 -4
- package/dist/provenance/types.d.ts +6 -6
- package/dist/providers/ai-sdk.d.ts +113 -62
- package/dist/providers/ai-sdk.js +283 -518
- package/dist/providers/embedding.d.ts +2 -2
- package/dist/providers/embedding.js +1 -1
- package/dist/providers/errors.d.ts +22 -2
- package/dist/providers/errors.js +98 -50
- package/dist/providers/prompt-cache.d.ts +8 -8
- package/dist/providers/prompt-cache.js +13 -11
- package/dist/providers/reasoning.d.ts +2 -2
- package/dist/providers/reasoning.js +2 -2
- package/dist/providers/request-headers.js +12 -3
- package/dist/providers/types.d.ts +55 -94
- package/dist/reference-data/catalog.d.ts +2 -15
- package/dist/reference-data/catalog.js +25 -8
- package/dist/reference-data/receipt.d.ts +2 -2
- package/dist/report-model/assert-rules.js +1 -1
- package/dist/report-model/authoring-grammar.d.ts +211 -233
- package/dist/report-model/block-walk.d.ts +10 -10
- package/dist/report-model/block-walk.js +2 -0
- package/dist/report-model/draft-finish.d.ts +8 -8
- package/dist/report-model/draft-finish.js +1 -1
- package/dist/report-model/draft-hash.js +8 -7
- package/dist/report-model/draft-operations.d.ts +22 -10
- package/dist/report-model/draft-operations.js +48 -30
- package/dist/report-model/draft-read.d.ts +19 -7
- package/dist/report-model/draft-read.js +16 -6
- package/dist/report-model/draft.d.ts +844 -2
- package/dist/report-model/draft.js +3 -1
- package/dist/report-model/fixture-resolver.js +39 -16
- package/dist/report-model/pin-snapshot.d.ts +2 -2
- package/dist/report-model/pin-snapshot.js +15 -15
- package/dist/report-model/production-resolver.d.ts +18 -18
- package/dist/report-model/production-resolver.js +50 -42
- package/dist/report-model/reference-resolver.d.ts +26 -10
- package/dist/report-model/reference-resolver.js +68 -5
- package/dist/report-model/reference-stamp.js +30 -38
- package/dist/report-model/structural-validation.js +12 -4
- package/dist/report-model/validate.d.ts +7 -7
- package/dist/report-model/validate.js +6 -6
- package/dist/report-render/assets.d.ts +2 -2
- package/dist/report-render/assets.js +27 -3
- package/dist/report-render/chart-export.d.ts +10 -2
- package/dist/report-render/chart-export.js +37 -11
- package/dist/report-render/chart-presets.d.ts +8 -8
- package/dist/report-render/chart-presets.js +3 -3
- package/dist/report-render/chart-renderers.d.ts +23 -16
- package/dist/report-render/chart-renderers.js +74 -53
- package/dist/report-render/chart-toolbox.d.ts +2 -2
- package/dist/report-render/chart-toolbox.js +7 -6
- package/dist/report-render/chart.d.ts +15 -16
- package/dist/report-render/chart.js +369 -252
- package/dist/report-render/design.d.ts +36 -297
- package/dist/report-render/design.js +0 -12
- package/dist/report-render/figures/common.d.ts +12 -12
- package/dist/report-render/figures/common.js +42 -31
- package/dist/report-render/figures/dendrogram.d.ts +3 -3
- package/dist/report-render/figures/dendrogram.js +10 -10
- package/dist/report-render/figures/dense.js +15 -8
- package/dist/report-render/figures/dotplot.js +46 -33
- package/dist/report-render/figures/embedding.js +52 -43
- package/dist/report-render/figures/equal-units.d.ts +10 -10
- package/dist/report-render/figures/equal-units.js +27 -27
- package/dist/report-render/figures/forest.js +9 -7
- package/dist/report-render/figures/gsea.js +21 -11
- package/dist/report-render/figures/heatmap.js +13 -9
- package/dist/report-render/figures/index.d.ts +10 -10
- package/dist/report-render/figures/index.js +4 -2
- package/dist/report-render/figures/km.js +10 -9
- package/dist/report-render/figures/label-room.d.ts +12 -12
- package/dist/report-render/figures/label-room.js +7 -2
- package/dist/report-render/figures/locuszoom.d.ts +2 -2
- package/dist/report-render/figures/locuszoom.js +59 -31
- package/dist/report-render/figures/lollipop.js +3 -2
- package/dist/report-render/figures/ma.js +8 -4
- package/dist/report-render/figures/manhattan.d.ts +1 -2
- package/dist/report-render/figures/manhattan.js +52 -34
- package/dist/report-render/figures/oncoprint.js +4 -5
- package/dist/report-render/figures/pca.js +25 -11
- package/dist/report-render/figures/qq.js +20 -9
- package/dist/report-render/figures/roc.js +1 -1
- package/dist/report-render/figures/sankey.d.ts +2 -2
- package/dist/report-render/figures/sankey.js +11 -10
- package/dist/report-render/figures/upset.d.ts +6 -6
- package/dist/report-render/figures/upset.js +7 -4
- package/dist/report-render/figures/volcano.js +12 -10
- package/dist/report-render/hybrid-svg.d.ts +4 -4
- package/dist/report-render/hybrid-svg.js +7 -5
- package/dist/report-render/number-format.d.ts +4 -4
- package/dist/report-render/number-format.js +62 -27
- package/dist/report-render/page.js +2 -1
- package/dist/report-render/provenance-data.d.ts +2 -2
- package/dist/report-render/references.d.ts +4 -4
- package/dist/report-render/render.d.ts +2 -2
- package/dist/report-render/render.js +10 -11
- package/dist/report-render/script-json.js +1 -1
- package/dist/report-render/table-data.d.ts +6 -6
- package/dist/report-render/test/options.d.ts +49 -0
- package/dist/report-render/test/options.js +143 -0
- package/dist/report-render/test/page-function.d.ts +19 -0
- package/dist/report-render/test/page-function.js +33 -0
- package/dist/report-render/types.d.ts +10 -10
- package/dist/report-render/value-bridge.d.ts +4 -4
- package/dist/report-render/value-bridge.js +27 -14
- package/dist/report-render/views/chart-view.d.ts +2 -2
- package/dist/report-render/views/chart-view.js +2 -2
- package/dist/report-render/views/lineage.d.ts +6 -6
- package/dist/report-render/views/lineage.js +2 -0
- package/dist/report-render/views/page-view.d.ts +2 -2
- package/dist/report-render/views/page-view.js +1 -0
- package/dist/report-render/views/prose.js +25 -8
- package/dist/report-render/views/references-view.js +12 -1
- package/dist/report-render/views/values.js +1 -1
- package/dist/runtime/assemble.d.ts +53 -26
- package/dist/runtime/assemble.js +103 -56
- package/dist/runtime/boot.d.ts +8 -7
- package/dist/runtime/boot.js +1 -1
- package/dist/runtime/connection-budget.d.ts +6 -6
- package/dist/runtime/connection-budget.js +1 -1
- package/dist/runtime/dbos.d.ts +29 -19
- package/dist/runtime/dbos.js +35 -20
- package/dist/runtime/result-serialization.js +18 -5
- package/dist/runtime/shutdown.d.ts +2 -2
- package/dist/sandbox/client.d.ts +7 -3
- package/dist/sandbox/cpu-files.d.ts +2 -2
- package/dist/sandbox/cpu-files.js +21 -4
- package/dist/sandbox/create-sandbox.d.ts +7 -8
- package/dist/sandbox/create-sandbox.js +6 -12
- package/dist/sandbox/docker-client.d.ts +48 -3
- package/dist/sandbox/docker-client.js +10 -6
- package/dist/sandbox/estimate-data-profile-resources.js +2 -7
- package/dist/sandbox/exec-outcome.d.ts +2 -2
- package/dist/sandbox/exec-outcome.js +1 -1
- package/dist/sandbox/exec.d.ts +10 -6
- package/dist/sandbox/exec.js +27 -12
- package/dist/sandbox/execution-id.js +14 -6
- package/dist/sandbox/farm.d.ts +2 -2
- package/dist/sandbox/farm.js +22 -27
- package/dist/sandbox/identity.d.ts +7 -0
- package/dist/sandbox/identity.js +14 -3
- package/dist/sandbox/image-packages.js +15 -27
- package/dist/sandbox/k8s-client.d.ts +35 -8
- package/dist/sandbox/k8s-client.js +6 -5
- package/dist/sandbox/labels.js +1 -0
- package/dist/sandbox/liveness.js +3 -1
- package/dist/sandbox/mount-plan.d.ts +10 -10
- package/dist/sandbox/mount-plan.js +13 -14
- package/dist/sandbox/notification-sweep.d.ts +4 -4
- package/dist/sandbox/notification-sweep.js +4 -7
- package/dist/sandbox/package-identity.d.ts +6 -13
- package/dist/sandbox/package-identity.js +46 -28
- package/dist/sandbox/reaper.d.ts +10 -10
- package/dist/sandbox/reaper.js +4 -6
- package/dist/sandbox/sandbox-error.d.ts +2 -9
- package/dist/sandbox/sandbox-error.js +21 -8
- package/dist/sandbox/sandbox-step-translate.d.ts +8 -5
- package/dist/sandbox/sandbox-step-translate.js +22 -8
- package/dist/sandbox/step-sandbox.d.ts +47 -0
- package/dist/sandbox/step-sandbox.js +53 -0
- package/dist/sandbox/types.d.ts +18 -19
- package/dist/sandbox/types.js +1 -1
- package/dist/schemas/artifact-manifest.d.ts +4 -4
- package/dist/schemas/data-profile-schemas.d.ts +343 -298
- package/dist/schemas/file-metadata.js +2 -4
- package/dist/schemas/plan-schemas.d.ts +31 -31
- package/dist/schemas/run-synthesis.d.ts +95 -26
- package/dist/schemas/run-synthesis.js +3 -1
- package/dist/schemas/validate-plan.d.ts +4 -4
- package/dist/schemas/validate-plan.js +17 -5
- package/dist/schemas/workflow-state.d.ts +19 -19
- package/dist/schemas/workflow-state.js +2 -2
- package/dist/state/active-turns.d.ts +36 -0
- package/dist/state/active-turns.js +67 -0
- package/dist/state/analyses-metrics.d.ts +8 -8
- package/dist/state/analyses-metrics.js +4 -4
- package/dist/state/analyses.d.ts +0 -14
- package/dist/state/analyses.js +0 -32
- package/dist/state/artifacts.d.ts +32 -19
- package/dist/state/artifacts.js +28 -5
- package/dist/state/data-profile.d.ts +2 -2
- package/dist/state/db.d.ts +12 -2
- package/dist/state/db.js +5 -0
- package/dist/state/edit-intents.d.ts +4 -0
- package/dist/state/edit-intents.js +71 -0
- package/dist/state/index.d.ts +4 -4
- package/dist/state/index.js +2 -2
- package/dist/state/init.d.ts +2 -1
- package/dist/state/init.js +5 -2
- package/dist/state/migrations/20260927120000_baseline.js +3 -1
- package/dist/state/migrations/20261026120000_add_the_edit_intents.d.ts +7 -0
- package/dist/state/migrations/20261026120000_add_the_edit_intents.js +21 -0
- package/dist/state/migrations/20261027120000_record_the_applied_memory_edits.d.ts +7 -0
- package/dist/state/migrations/20261027120000_record_the_applied_memory_edits.js +16 -0
- package/dist/state/migrations/20261027120100_store_the_authoring_results.d.ts +8 -0
- package/dist/state/migrations/20261027120100_store_the_authoring_results.js +20 -0
- package/dist/state/migrations/20261027120200_key_the_groups_of_a_turn.d.ts +7 -0
- package/dist/state/migrations/20261027120200_key_the_groups_of_a_turn.js +12 -0
- package/dist/state/migrations/20261027120300_mark_the_active_turn_of_a_thread.d.ts +7 -0
- package/dist/state/migrations/20261027120300_mark_the_active_turn_of_a_thread.js +11 -0
- package/dist/state/migrations/20261028120000_record_the_paused_work.d.ts +7 -0
- package/dist/state/migrations/20261028120000_record_the_paused_work.js +25 -0
- package/dist/state/migrations/20261028120100_end_the_suspended_runs.d.ts +8 -0
- package/dist/state/migrations/20261028120100_end_the_suspended_runs.js +13 -0
- package/dist/state/migrations/20261029120000_reference_the_run_mandate.d.ts +7 -0
- package/dist/state/migrations/20261029120000_reference_the_run_mandate.js +23 -0
- package/dist/state/migrations/20261029120100_record_the_run_session_of_a_pause.d.ts +7 -0
- package/dist/state/migrations/20261029120100_record_the_run_session_of_a_pause.js +11 -0
- package/dist/state/migrations/index.js +18 -0
- package/dist/state/paused-work.d.ts +52 -0
- package/dist/state/paused-work.js +105 -0
- package/dist/state/plans.d.ts +27 -8
- package/dist/state/plans.js +14 -11
- package/dist/state/purge-analysis.d.ts +6 -6
- package/dist/state/purge-analysis.js +10 -2
- package/dist/state/report-session-state.d.ts +43 -18
- package/dist/state/report-session-state.js +43 -4
- package/dist/state/report-versions.d.ts +16 -11
- package/dist/state/report-versions.js +5 -3
- package/dist/state/runs.d.ts +30 -19
- package/dist/state/runs.js +43 -51
- package/dist/state/schema.d.ts +18 -21
- package/dist/state/schema.js +4 -5
- package/dist/state/snapshot-parse.d.ts +2 -2
- package/dist/state/snapshot-parse.js +14 -8
- package/dist/state/step-executions.d.ts +20 -8
- package/dist/state/step-executions.js +6 -4
- package/dist/state/tool-outputs.d.ts +2 -2
- package/dist/state/tool-outputs.js +2 -1
- package/dist/state/vector-store.d.ts +16 -16
- package/dist/state/vector-store.js +11 -7
- package/dist/tasks/data-profile-absorb.d.ts +3 -3
- package/dist/tasks/data-profile-absorb.js +21 -16
- package/dist/tasks/data-profile-activity.d.ts +5 -5
- package/dist/tasks/data-profile-activity.js +5 -5
- package/dist/tasks/data-profile-index.d.ts +4 -4
- package/dist/tasks/data-profile-index.js +32 -17
- package/dist/tasks/data-profile-resolve.d.ts +8 -8
- package/dist/tasks/data-profile-resolve.js +88 -62
- package/dist/tasks/data-profile.d.ts +40 -31
- package/dist/tasks/data-profile.js +138 -95
- package/dist/tasks/extract-values.d.ts +26 -79
- package/dist/tasks/extract-values.js +48 -108
- package/dist/tasks/refresh-regulatory-corpus.d.ts +4 -20
- package/dist/tasks/refresh-regulatory-corpus.js +12 -8
- package/dist/tasks/regulatory-corpus-boot-refresh.d.ts +2 -2
- package/dist/tasks/regulatory-corpus-boot-refresh.js +12 -10
- package/dist/testing.d.ts +62 -0
- package/dist/testing.js +101 -0
- package/dist/tools/ad-hoc-router.d.ts +9 -9
- package/dist/tools/ad-hoc-router.js +65 -52
- package/dist/tools/analysis-invocation.d.ts +7 -0
- package/dist/tools/analysis-invocation.js +29 -5
- package/dist/tools/approval/contract.d.ts +8 -52
- package/dist/tools/approval/contract.js +7 -36
- package/dist/tools/approval/gateway.d.ts +27 -28
- package/dist/tools/approval/gateway.js +33 -130
- package/dist/tools/approval/queries.d.ts +6 -11
- package/dist/tools/approval/queries.js +43 -29
- package/dist/tools/approval/uuidv7.js +2 -2
- package/dist/tools/bio/chembl.d.ts +3 -3
- package/dist/tools/bio/chembl.js +10 -0
- package/dist/tools/bio/comptox.d.ts +25 -8
- package/dist/tools/bio/comptox.js +4 -2
- package/dist/tools/bio/drug-gene-interactions.d.ts +27 -17
- package/dist/tools/bio/drug-gene-interactions.js +11 -8
- package/dist/tools/bio/gene-disease-evidence.d.ts +61 -15
- package/dist/tools/bio/gene-disease-evidence.js +10 -6
- package/dist/tools/bio/gene-preclinical-profile.d.ts +11 -11
- package/dist/tools/bio/keys.d.ts +2 -2
- package/dist/tools/bio/keys.js +3 -3
- package/dist/tools/bio/lookup-annotation.d.ts +5 -5
- package/dist/tools/bio/lookup-annotation.js +3 -0
- package/dist/tools/bio/opentargets.d.ts +1 -1
- package/dist/tools/bio/opentargets.js +6 -0
- package/dist/tools/bio/pubchem.d.ts +2 -2
- package/dist/tools/bio/pubchem.js +6 -0
- package/dist/tools/bio/pubmed.d.ts +26 -16
- package/dist/tools/bio/pubmed.js +9 -3
- package/dist/tools/bio/search-clinical-trials.d.ts +4 -4
- package/dist/tools/bio/search-clinical-trials.js +5 -1
- package/dist/tools/bio/search-faers.d.ts +2 -2
- package/dist/tools/bio/search-faers.js +1 -1
- package/dist/tools/bio/search-gene.d.ts +2 -2
- package/dist/tools/bio/search-gene.js +1 -0
- package/dist/tools/bio/search-geo-datasets.d.ts +4 -4
- package/dist/tools/bio/search-geo-datasets.js +5 -5
- package/dist/tools/bio/search-interactions.d.ts +1 -1
- package/dist/tools/bio/search-patents.d.ts +28 -22
- package/dist/tools/bio/search-patents.js +20 -17
- package/dist/tools/bio/search-protein.d.ts +2 -2
- package/dist/tools/bio/search-protein.js +1 -1
- package/dist/tools/bio/search-regulatory-approvals.d.ts +64 -18
- package/dist/tools/bio/search-regulatory-approvals.js +21 -16
- package/dist/tools/bio/target-safety.d.ts +8 -8
- package/dist/tools/bio/target-safety.js +11 -6
- package/dist/tools/capability-data.d.ts +9 -5
- package/dist/tools/capability-data.js +2 -1
- package/dist/tools/define-tool.d.ts +55 -46
- package/dist/tools/define-tool.js +39 -27
- package/dist/tools/display/normalize-echart-spec.d.ts +2 -2
- package/dist/tools/display/normalize-echart-spec.js +51 -27
- package/dist/tools/display/show-user.d.ts +2 -2
- package/dist/tools/display/show-user.js +1 -1
- package/dist/tools/execute-analysis.d.ts +19 -10
- package/dist/tools/execute-analysis.js +83 -62
- package/dist/tools/knowledge/check.d.ts +166 -44
- package/dist/tools/knowledge/check.js +5 -3
- package/dist/tools/knowledge/client.d.ts +31 -62
- package/dist/tools/knowledge/client.js +44 -27
- package/dist/tools/knowledge/environment.d.ts +6 -6
- package/dist/tools/knowledge/environment.js +18 -7
- package/dist/tools/knowledge/index.d.ts +2 -2
- package/dist/tools/knowledge/index.js +9 -9
- package/dist/tools/knowledge/local-slots.d.ts +4 -4
- package/dist/tools/knowledge/local-slots.js +11 -4
- package/dist/tools/knowledge/pin.d.ts +2 -2
- package/dist/tools/knowledge/recommend.d.ts +20 -45
- package/dist/tools/knowledge/recommend.js +27 -19
- package/dist/tools/knowledge/situation.d.ts +40 -40
- package/dist/tools/knowledge/situation.js +2 -9
- package/dist/tools/knowledge/skeleton.d.ts +4 -4
- package/dist/tools/knowledge/skeleton.js +10 -11
- package/dist/tools/knowledge/template.d.ts +20 -18
- package/dist/tools/knowledge/template.js +38 -32
- package/dist/tools/lib/alphafold-client.js +2 -1
- package/dist/tools/lib/amass-client.d.ts +28 -28
- package/dist/tools/lib/amass-client.js +20 -10
- package/dist/tools/lib/api-utils.d.ts +13 -3
- package/dist/tools/lib/api-utils.js +17 -3
- package/dist/tools/lib/bgee-client.d.ts +6 -6
- package/dist/tools/lib/bgee-client.js +16 -10
- package/dist/tools/lib/cbioportal-client.d.ts +4 -4
- package/dist/tools/lib/cbioportal-client.js +9 -8
- package/dist/tools/lib/chembl-client.d.ts +14 -14
- package/dist/tools/lib/chembl-client.js +11 -4
- package/dist/tools/lib/clinical-benchmarks-client.d.ts +4 -4
- package/dist/tools/lib/clinical-benchmarks-client.js +4 -7
- package/dist/tools/lib/clinical-trials-client.d.ts +18 -18
- package/dist/tools/lib/clinical-trials-client.js +10 -10
- package/dist/tools/lib/clinvar-client.d.ts +2 -2
- package/dist/tools/lib/clinvar-client.js +6 -6
- package/dist/tools/lib/ctx-ops.d.ts +23 -23
- package/dist/tools/lib/ctx-ops.js +13 -10
- package/dist/tools/lib/dgidb-client.d.ts +6 -6
- package/dist/tools/lib/dgidb-client.js +10 -12
- package/dist/tools/lib/disgenet-client.d.ts +4 -4
- package/dist/tools/lib/ema-client.d.ts +2 -2
- package/dist/tools/lib/ensembl-client.d.ts +4 -4
- package/dist/tools/lib/ensembl-client.js +5 -4
- package/dist/tools/lib/gwas-catalog-client.d.ts +4 -4
- package/dist/tools/lib/gwas-catalog-client.js +17 -17
- package/dist/tools/lib/html-text.d.ts +6 -0
- package/dist/tools/lib/html-text.js +9 -0
- package/dist/tools/lib/identifier-resolver.d.ts +4 -4
- package/dist/tools/lib/identifier-resolver.js +7 -3
- package/dist/tools/lib/impc-client.d.ts +8 -8
- package/dist/tools/lib/impc-client.js +46 -35
- package/dist/tools/lib/iuphar-client.d.ts +2 -2
- package/dist/tools/lib/iuphar-client.js +7 -16
- package/dist/tools/lib/monarch-client.d.ts +4 -4
- package/dist/tools/lib/openfda-client.d.ts +22 -22
- package/dist/tools/lib/openfda-client.js +23 -22
- package/dist/tools/lib/opentargets-client.d.ts +12 -12
- package/dist/tools/lib/pathway-client.d.ts +4 -4
- package/dist/tools/lib/pathway-client.js +15 -19
- package/dist/tools/lib/pharmgkb-client.d.ts +2 -2
- package/dist/tools/lib/pharmgkb-client.js +1 -1
- package/dist/tools/lib/protein-family-modality.d.ts +2 -2
- package/dist/tools/lib/protein-family-modality.js +0 -2
- package/dist/tools/lib/protein-family-normalize.js +7 -0
- package/dist/tools/lib/pubchem-client.d.ts +2 -2
- package/dist/tools/lib/pubchem-client.js +1 -0
- package/dist/tools/lib/pubchem-ops.d.ts +4 -4
- package/dist/tools/lib/pubchem-ops.js +8 -0
- package/dist/tools/lib/pubmed-client.d.ts +9 -9
- package/dist/tools/lib/pubmed-client.js +1 -1
- package/dist/tools/lib/string-client.d.ts +6 -6
- package/dist/tools/lib/uniprot-client.d.ts +8 -8
- package/dist/tools/lib/uniprot-client.js +5 -1
- package/dist/tools/memory/update-working-memory.d.ts +16 -13
- package/dist/tools/memory/update-working-memory.js +21 -3
- package/dist/tools/read-tool-output.js +8 -2
- package/dist/tools/registry.d.ts +2 -2
- package/dist/tools/report-authoring/authoring-tools.d.ts +54 -23
- package/dist/tools/report-authoring/authoring-tools.js +128 -62
- package/dist/tools/report-session/derive-table.d.ts +19 -59
- package/dist/tools/report-session/derive-table.js +120 -122
- package/dist/tools/report-session/examine-page.d.ts +6 -6
- package/dist/tools/report-session/examine-page.js +14 -12
- package/dist/tools/report-session/list-artifacts.d.ts +6 -6
- package/dist/tools/report-session/list-artifacts.js +5 -5
- package/dist/tools/report-session/page-faults.d.ts +6 -6
- package/dist/tools/report-session/page-faults.js +3 -1
- package/dist/tools/report-session/preview-report.d.ts +4 -3
- package/dist/tools/report-session/preview-report.js +26 -7
- package/dist/tools/report-session/record-version.d.ts +9 -4
- package/dist/tools/report-session/record-version.js +16 -9
- package/dist/tools/report-session/session-page-publisher.d.ts +6 -6
- package/dist/tools/research/generate-analogy-report.d.ts +14 -7
- package/dist/tools/research/generate-analogy-report.js +80 -76
- package/dist/tools/research/generate-plan.d.ts +16 -16
- package/dist/tools/research/generate-plan.js +410 -374
- package/dist/tools/research/guarded-address.js +3 -2
- package/dist/tools/research/inspect-data-profile.d.ts +27 -20
- package/dist/tools/research/inspect-data-profile.js +26 -25
- package/dist/tools/research/inspect-run.d.ts +54 -27
- package/dist/tools/research/inspect-run.js +50 -40
- package/dist/tools/research/literature-reviewer.d.ts +8 -7
- package/dist/tools/research/literature-reviewer.js +29 -28
- package/dist/tools/research/search-arxiv.d.ts +1 -1
- package/dist/tools/research/search-arxiv.js +1 -1
- package/dist/tools/research/search-github-repos.d.ts +10 -7
- package/dist/tools/research/search-github-repos.js +25 -22
- package/dist/tools/research/search-semantic-scholar.js +1 -1
- package/dist/tools/research/searxng-engine.d.ts +2 -2
- package/dist/tools/research/searxng-engine.js +6 -4
- package/dist/tools/research/web-fetch.d.ts +24 -21
- package/dist/tools/research/web-fetch.js +65 -74
- package/dist/tools/research/web-search.d.ts +26 -17
- package/dist/tools/research/web-search.js +26 -21
- package/dist/tools/sandbox/link-packages.d.ts +11 -7
- package/dist/tools/sandbox/link-packages.js +11 -8
- package/dist/tools/sandbox/list-available-packages.d.ts +17 -8
- package/dist/tools/sandbox/list-available-packages.js +31 -25
- package/dist/tools/sandbox/list-available-refs.d.ts +17 -14
- package/dist/tools/sandbox/list-available-refs.js +61 -36
- package/dist/tools/sandbox/report-blocker.d.ts +30 -37
- package/dist/tools/sandbox/report-blocker.js +23 -73
- package/dist/tools/sandbox/skills.d.ts +16 -12
- package/dist/tools/sandbox/skills.js +16 -12
- package/dist/tools/sandbox/submit-file-metadata.d.ts +12 -9
- package/dist/tools/sandbox/submit-file-metadata.js +18 -21
- package/dist/tools/start-report-session.d.ts +13 -5
- package/dist/tools/start-report-session.js +35 -8
- package/dist/tools/terminal-text.d.ts +5 -2
- package/dist/tools/terminal-text.js +35 -3
- package/dist/tools/workspace/decision-record.d.ts +4 -4
- package/dist/tools/workspace/decision-record.js +23 -13
- package/dist/tools/workspace/edit-file.d.ts +59 -20
- package/dist/tools/workspace/edit-file.js +81 -16
- package/dist/tools/workspace/execute-command.d.ts +15 -13
- package/dist/tools/workspace/execute-command.js +11 -9
- package/dist/tools/workspace/file-stat.d.ts +6 -3
- package/dist/tools/workspace/grep.d.ts +10 -7
- package/dist/tools/workspace/grep.js +9 -3
- package/dist/tools/workspace/list-files.d.ts +6 -3
- package/dist/tools/workspace/mutator.d.ts +28 -15
- package/dist/tools/workspace/mutator.js +107 -53
- package/dist/tools/workspace/read-file.d.ts +8 -5
- package/dist/tools/workspace/result-bounds.d.ts +5 -5
- package/dist/tools/workspace/result-bounds.js +4 -2
- package/dist/tools/workspace/run-exec.d.ts +2 -2
- package/dist/tools/workspace/run-exec.js +3 -3
- package/dist/tools/workspace/scan-inputs.d.ts +8 -5
- package/dist/tools/workspace/scan-inputs.js +17 -5
- package/dist/tools/workspace/show-file.d.ts +1 -1
- package/dist/tools/workspace/show-file.js +2 -1
- package/dist/tools/workspace/show-plan.d.ts +8 -5
- package/dist/tools/workspace/show-plan.js +9 -8
- package/dist/tools/workspace/workspace-search.d.ts +41 -13
- package/dist/tools/workspace/workspace-search.js +27 -14
- package/dist/tools/workspace/write-file.d.ts +9 -7
- package/dist/workflows/execute-analysis-scheduler.d.ts +9 -9
- package/dist/workflows/execute-analysis-scheduler.js +6 -3
- package/dist/workflows/execute-analysis.d.ts +46 -62
- package/dist/workflows/execute-analysis.js +137 -219
- package/dist/workflows/pause.d.ts +71 -0
- package/dist/workflows/pause.js +173 -0
- package/dist/workflows/sandbox-step.d.ts +38 -61
- package/dist/workflows/sandbox-step.js +99 -106
- package/dist/workflows/test/sql-writes.d.ts +21 -0
- package/dist/workflows/test/sql-writes.js +36 -0
- package/dist/workspace/filesystem.d.ts +6 -6
- package/dist/workspace/filesystem.js +10 -8
- package/dist/workspace/paths.d.ts +1 -1
- package/dist/workspace/paths.js +15 -4
- package/dist/workspace/search-config.d.ts +2 -2
- package/dist/workspace/search-config.js +1 -1
- package/package.json +21 -22
- package/dist/loop/call-guard.d.ts +0 -50
- package/dist/loop/call-guard.js +0 -90
- package/dist/loop/continue-agent.d.ts +0 -40
- package/dist/loop/continue-agent.js +0 -38
- package/dist/loop/genai-spans.d.ts +0 -47
- package/dist/loop/genai-spans.js +0 -134
- package/dist/loop/run-agent.d.ts +0 -245
- package/dist/loop/run-agent.js +0 -1124
- package/dist/loop/run-step.d.ts +0 -29
- package/dist/loop/run-step.js +0 -34
- package/dist/loop/run-to-terminal.d.ts +0 -66
- package/dist/loop/run-to-terminal.js +0 -93
- package/dist/loop/tool-mask.d.ts +0 -23
- package/dist/loop/tool-mask.js +0 -46
- package/dist/providers/streaming-chat.d.ts +0 -32
- package/dist/providers/streaming-chat.js +0 -91
- package/dist/tasks/derive-table-exec.d.ts +0 -54
- package/dist/tasks/derive-table-exec.js +0 -86
- package/dist/workflows/suspension.d.ts +0 -32
- package/dist/workflows/suspension.js +0 -38
|
@@ -19,6 +19,7 @@
|
|
|
19
19
|
* The export option lives here too, in the same two twins: the server draws the SVG through it, and the page
|
|
20
20
|
* draws each PNG through it.
|
|
21
21
|
*/
|
|
22
|
+
import type { CustomSeriesRenderItemReturn as EchartsRenderItemReturn } from "echarts";
|
|
22
23
|
/** The renderer name of an interval: an error bar, a confidence interval, or the inner mark of a violin. */
|
|
23
24
|
export declare const INTERVAL_RENDERER = "interval";
|
|
24
25
|
/** The renderer name of a violin outline. */
|
|
@@ -40,23 +41,29 @@ export declare const INTERVAL_CAP_PX = 4;
|
|
|
40
41
|
/** The length of the arrow at a clipped end of an interval, in pixels. */
|
|
41
42
|
export declare const INTERVAL_ARROW_PX = 6;
|
|
42
43
|
/** The first argument of a renderer: the JSON parameters that the series carries in `itemPayload`. */
|
|
43
|
-
export
|
|
44
|
+
export type RenderParams = {
|
|
44
45
|
readonly itemPayload?: Readonly<Record<string, unknown>>;
|
|
45
|
-
}
|
|
46
|
-
/** The part of the chart runtime that a renderer reads. */
|
|
47
|
-
export
|
|
46
|
+
};
|
|
47
|
+
/** The part of the chart runtime that a renderer reads. `coord` and `size` give one number for each dimension. */
|
|
48
|
+
export type RenderApi = {
|
|
48
49
|
value(dimension: number): number;
|
|
49
|
-
coord(point: number[]): number
|
|
50
|
-
size(delta: number[]): number
|
|
50
|
+
coord(point: number[]): [number, number];
|
|
51
|
+
size(delta: number[]): [number, number];
|
|
51
52
|
visual(name: "color"): string;
|
|
52
|
-
}
|
|
53
|
-
/**
|
|
54
|
-
|
|
53
|
+
};
|
|
54
|
+
/**
|
|
55
|
+
* One graphic element that a renderer gives back to the chart runtime.
|
|
56
|
+
*
|
|
57
|
+
* The export hands the element to the chart runtime, which draws it from its own option type; the
|
|
58
|
+
* intersection keeps the loose fields that the renderers and their shared test vector read, so one
|
|
59
|
+
* value serves both readers with no cast at the handoff.
|
|
60
|
+
*/
|
|
61
|
+
export type RenderedElement = EchartsRenderItemReturn & {
|
|
55
62
|
type: string;
|
|
56
63
|
shape?: Record<string, unknown>;
|
|
57
64
|
style?: Record<string, unknown>;
|
|
58
65
|
children?: RenderedElement[];
|
|
59
|
-
}
|
|
66
|
+
};
|
|
60
67
|
/**
|
|
61
68
|
* Draw one interval.
|
|
62
69
|
*
|
|
@@ -99,20 +106,20 @@ export type ChartRenderer = (params: RenderParams, api: RenderApi) => RenderedEl
|
|
|
99
106
|
* One registered renderer: the name that a derived series states, the TypeScript function that the export
|
|
100
107
|
* registers, and the name of the page twin in `CHART_RENDERERS_SOURCE` that the bootstrap registers.
|
|
101
108
|
*/
|
|
102
|
-
export
|
|
109
|
+
export type ChartRendererEntry = {
|
|
103
110
|
readonly name: string;
|
|
104
111
|
readonly render: ChartRenderer;
|
|
105
112
|
readonly pageFunction: string;
|
|
106
|
-
}
|
|
113
|
+
};
|
|
107
114
|
/**
|
|
108
115
|
* The registered renderers. A renderer joins by one entry here, beside its TypeScript function and its page
|
|
109
116
|
* twin, and each consumer registers it under the same name.
|
|
110
117
|
*/
|
|
111
118
|
export declare const CHART_RENDERERS: readonly ChartRendererEntry[];
|
|
112
119
|
/** The part of the chart runtime that holds the registry of the named renderers. */
|
|
113
|
-
export
|
|
120
|
+
export type RendererRegistry = {
|
|
114
121
|
registerCustomSeries(name: string, render: ChartRenderer): void;
|
|
115
|
-
}
|
|
122
|
+
};
|
|
116
123
|
/**
|
|
117
124
|
* Register each renderer with the chart runtime. A second registration of one name replaces the first with
|
|
118
125
|
* the same function, thus a caller registers before each draw and the runtime holds one function per name.
|
|
@@ -129,10 +136,10 @@ export declare function registerChartRenderers(runtime: RendererRegistry): void;
|
|
|
129
136
|
*/
|
|
130
137
|
export declare const SIZED_SERIES_MEMBER = "sizedSeries";
|
|
131
138
|
/** The series of each export width: the names of the page series that they replace, and the series of each width. */
|
|
132
|
-
export
|
|
139
|
+
export type SizedSeries = {
|
|
133
140
|
readonly names: readonly string[];
|
|
134
141
|
readonly widths: Readonly<Record<string, readonly unknown[]>>;
|
|
135
|
-
}
|
|
142
|
+
};
|
|
136
143
|
/** The height of one line of the chart text, as a share of the text size. An upright category label takes one line along its axis. */
|
|
137
144
|
export declare const LABEL_LINE_SHARE = 1.3;
|
|
138
145
|
/**
|
|
@@ -19,6 +19,9 @@
|
|
|
19
19
|
* The export option lives here too, in the same two twins: the server draws the SVG through it, and the page
|
|
20
20
|
* draws each PNG through it.
|
|
21
21
|
*/
|
|
22
|
+
import { textOf } from "../lib/unknown-text.js";
|
|
23
|
+
import { isUnknownArray } from "../lib/unknown-array.js";
|
|
24
|
+
import { parseUnknownRecord } from "../lib/unknown-containers.js";
|
|
22
25
|
import { CHART_INK, CHART_PAGE_TEXT_PX, COLOR_SCALE_BAND_PCT, GUIDE_LINE_COLOR } from "./design.js";
|
|
23
26
|
/** The renderer name of an interval: an error bar, a confidence interval, or the inner mark of a violin. */
|
|
24
27
|
export const INTERVAL_RENDERER = "interval";
|
|
@@ -77,7 +80,7 @@ export function intervalRenderer(_params, api) {
|
|
|
77
80
|
const alongX = api.value(4) === 0;
|
|
78
81
|
const offset = api.value(5);
|
|
79
82
|
const inner = api.value(6) === 1;
|
|
80
|
-
const clipped =
|
|
83
|
+
const clipped = api.value(7) || 0;
|
|
81
84
|
const band = alongX ? api.size([0, 1])[1] : api.size([1, 0])[0];
|
|
82
85
|
const shift = offset * band;
|
|
83
86
|
const from = api.coord(alongX ? [low, y] : [x, low]);
|
|
@@ -101,10 +104,11 @@ export function intervalRenderer(_params, api) {
|
|
|
101
104
|
};
|
|
102
105
|
}
|
|
103
106
|
const children = [segment(fromX, fromY, toX, toY, INTERVAL_STROKE_PX)];
|
|
104
|
-
|
|
107
|
+
const ends = [
|
|
105
108
|
[1, fromX, fromY, toX, toY],
|
|
106
109
|
[2, toX, toY, fromX, fromY],
|
|
107
|
-
]
|
|
110
|
+
];
|
|
111
|
+
for (const [bit, endX, endY, otherX, otherY] of ends) {
|
|
108
112
|
if ((clipped & bit) !== 0) {
|
|
109
113
|
children.push(...arrowHead(endX, endY, otherX, otherY));
|
|
110
114
|
continue;
|
|
@@ -176,7 +180,11 @@ export function cellGlyphRenderer(params, api) {
|
|
|
176
180
|
];
|
|
177
181
|
if (klass >= 0 && klass < colors.length) {
|
|
178
182
|
const glyph = height * CELL_GLYPH_SHARE;
|
|
179
|
-
children.push({
|
|
183
|
+
children.push({
|
|
184
|
+
type: "rect",
|
|
185
|
+
shape: { x: center[0] - width / 2, y: center[1] - glyph / 2, width, height: glyph },
|
|
186
|
+
style: { fill: String(colors[klass]) },
|
|
187
|
+
});
|
|
180
188
|
}
|
|
181
189
|
return { type: "group", children };
|
|
182
190
|
}
|
|
@@ -236,15 +244,20 @@ export const SIZED_SERIES_MEMBER = "sizedSeries";
|
|
|
236
244
|
* A width that the member does not hold keeps the page series.
|
|
237
245
|
*/
|
|
238
246
|
function sizedSeries(series, sized, widthPx) {
|
|
239
|
-
if (!Array.isArray(series)
|
|
247
|
+
if (!Array.isArray(series))
|
|
248
|
+
return series;
|
|
249
|
+
const fields = parseUnknownRecord(sized);
|
|
250
|
+
if (fields === undefined)
|
|
240
251
|
return series;
|
|
241
|
-
const
|
|
242
|
-
const
|
|
243
|
-
const
|
|
244
|
-
if (
|
|
252
|
+
const widths = parseUnknownRecord(fields.widths);
|
|
253
|
+
const chosen = widths === undefined ? undefined : widths[String(widthPx)];
|
|
254
|
+
const names = isUnknownArray(fields.names) ? fields.names : undefined;
|
|
255
|
+
if (names === undefined || !isUnknownArray(chosen))
|
|
245
256
|
return series;
|
|
246
|
-
const
|
|
247
|
-
|
|
257
|
+
const kept = series.filter((entry) => {
|
|
258
|
+
const member = parseUnknownRecord(entry);
|
|
259
|
+
return member === undefined || names.indexOf(member.name) < 0;
|
|
260
|
+
});
|
|
248
261
|
return kept.concat(chosen);
|
|
249
262
|
}
|
|
250
263
|
/**
|
|
@@ -254,9 +267,10 @@ function sizedSeries(series, sized, widthPx) {
|
|
|
254
267
|
function scaledAxes(axes, scale) {
|
|
255
268
|
if (Array.isArray(axes))
|
|
256
269
|
return axes.map((axis) => scaledAxes(axis, scale));
|
|
257
|
-
|
|
270
|
+
const axisFields = parseUnknownRecord(axes);
|
|
271
|
+
if (axisFields === undefined)
|
|
258
272
|
return axes;
|
|
259
|
-
const axis = { ...
|
|
273
|
+
const axis = { ...axisFields };
|
|
260
274
|
if (typeof axis.nameGap === "number")
|
|
261
275
|
axis.nameGap = axis.nameGap * scale;
|
|
262
276
|
if (typeof axis.offset === "number")
|
|
@@ -268,13 +282,13 @@ function scaledAxes(axes, scale) {
|
|
|
268
282
|
* group. A facet panel label is such an element, and the size legend is such a group.
|
|
269
283
|
*/
|
|
270
284
|
function scaledGraphic(element, scale) {
|
|
271
|
-
|
|
285
|
+
const out = parseUnknownRecord(element);
|
|
286
|
+
if (out === undefined)
|
|
272
287
|
return element;
|
|
273
|
-
const
|
|
274
|
-
const style = out.style;
|
|
288
|
+
const style = parseUnknownRecord(out.style);
|
|
275
289
|
if (style !== undefined && typeof style.fontSize === "number")
|
|
276
290
|
out.style = { ...style, fontSize: style.fontSize * scale };
|
|
277
|
-
if (
|
|
291
|
+
if (isUnknownArray(out.children))
|
|
278
292
|
out.children = out.children.map((child) => scaledGraphic(child, scale));
|
|
279
293
|
return out;
|
|
280
294
|
}
|
|
@@ -303,18 +317,18 @@ export function categoryInterval(count, textPx, widthPx) {
|
|
|
303
317
|
* export states the interval again at its own width and text size.
|
|
304
318
|
*/
|
|
305
319
|
function fittedCategories(axis, textPx, widthPx) {
|
|
306
|
-
|
|
320
|
+
const fields = parseUnknownRecord(axis);
|
|
321
|
+
if (fields === undefined)
|
|
307
322
|
return axis;
|
|
308
|
-
const fields = axis;
|
|
309
323
|
const data = fields.data;
|
|
310
|
-
if (fields.type !== "category" || !
|
|
324
|
+
if (fields.type !== "category" || !isUnknownArray(data) || data.length === 0)
|
|
311
325
|
return axis;
|
|
312
|
-
const label =
|
|
326
|
+
const label = parseUnknownRecord(fields.axisLabel) ?? {};
|
|
313
327
|
let rotate = label.rotate;
|
|
314
328
|
if (typeof rotate !== "number" || rotate === 0) {
|
|
315
329
|
let longest = 0;
|
|
316
330
|
for (const name of data)
|
|
317
|
-
longest = Math.max(longest,
|
|
331
|
+
longest = Math.max(longest, textOf(name).length);
|
|
318
332
|
const need = longest * textPx * CHARACTER_SHARE;
|
|
319
333
|
const room = (widthPx * LABEL_ROOM) / data.length;
|
|
320
334
|
if (need <= room)
|
|
@@ -358,11 +372,10 @@ function wrappedTitle(title, textPx, widthPx) {
|
|
|
358
372
|
* the chart, and a chart of one grid spans the export width.
|
|
359
373
|
*/
|
|
360
374
|
function gridWidth(grid, axis, widthPx) {
|
|
361
|
-
const
|
|
362
|
-
|
|
363
|
-
|
|
364
|
-
const
|
|
365
|
-
const width = typeof entry === "object" && entry !== null ? entry.width : undefined;
|
|
375
|
+
const axisFields = parseUnknownRecord(axis);
|
|
376
|
+
const place = axisFields !== undefined && typeof axisFields.gridIndex === "number" ? axisFields.gridIndex : 0;
|
|
377
|
+
const entry = isUnknownArray(grid) ? grid[place] : grid;
|
|
378
|
+
const width = parseUnknownRecord(entry)?.width;
|
|
366
379
|
if (typeof width === "string" && width.endsWith("%"))
|
|
367
380
|
return (widthPx * Number.parseFloat(width)) / 100;
|
|
368
381
|
if (typeof width === "number")
|
|
@@ -384,9 +397,9 @@ function fittedAxes(axes, grid, textPx, widthPx) {
|
|
|
384
397
|
* prints no end, or that draws pieces and no scale passes through.
|
|
385
398
|
*/
|
|
386
399
|
function stillScale(map, textPx, widthPx) {
|
|
387
|
-
|
|
400
|
+
const fields = parseUnknownRecord(map);
|
|
401
|
+
if (fields === undefined)
|
|
388
402
|
return map;
|
|
389
|
-
const fields = map;
|
|
390
403
|
const text = fields.text;
|
|
391
404
|
if (fields.show === false || fields.type === "piecewise" || !Array.isArray(text) || typeof text[0] !== "string" || typeof text[1] !== "string")
|
|
392
405
|
return map;
|
|
@@ -397,7 +410,7 @@ function stillScale(map, textPx, widthPx) {
|
|
|
397
410
|
...fields,
|
|
398
411
|
top: STILL_SCALE_TOP,
|
|
399
412
|
itemHeight: STILL_SCALE_LINES * textPx,
|
|
400
|
-
text: [title === "" ? upper : `${wrappedTitle(title, textPx, widthPx)}\n${upper}`, text[1]],
|
|
413
|
+
text: [title === "" ? upper : `${wrappedTitle(title, textPx, widthPx)}\n${String(upper)}`, text[1]],
|
|
401
414
|
};
|
|
402
415
|
}
|
|
403
416
|
/** The top of a still color scale, which is the top margin of the grid, and its length in lines of the text. */
|
|
@@ -433,18 +446,21 @@ function legendBand(lines, textPx) {
|
|
|
433
446
|
* are the data of the legend, or else the name of each series in order of first appearance.
|
|
434
447
|
*/
|
|
435
448
|
function legendLines(option, textPx, widthPx) {
|
|
436
|
-
const legend = option.legend;
|
|
449
|
+
const legend = parseUnknownRecord(option.legend);
|
|
450
|
+
if (legend === undefined)
|
|
451
|
+
return 0;
|
|
437
452
|
const names = [];
|
|
438
|
-
if (
|
|
453
|
+
if (isUnknownArray(legend.data)) {
|
|
439
454
|
for (const entry of legend.data) {
|
|
440
|
-
const
|
|
455
|
+
const fields = parseUnknownRecord(entry);
|
|
456
|
+
const name = fields === undefined ? entry : fields.name;
|
|
441
457
|
if (typeof name === "string")
|
|
442
458
|
names.push(name);
|
|
443
459
|
}
|
|
444
460
|
}
|
|
445
461
|
else if (Array.isArray(option.series)) {
|
|
446
462
|
for (const series of option.series) {
|
|
447
|
-
const name =
|
|
463
|
+
const name = parseUnknownRecord(series)?.name;
|
|
448
464
|
if (typeof name === "string" && name !== "" && names.indexOf(name) < 0)
|
|
449
465
|
names.push(name);
|
|
450
466
|
}
|
|
@@ -475,7 +491,7 @@ function legendLines(option, textPx, widthPx) {
|
|
|
475
491
|
* height draws in one line that scrolls.
|
|
476
492
|
*/
|
|
477
493
|
function facetOverLegend(option, textPx, widthPx, heightPx) {
|
|
478
|
-
const grids = option.grid;
|
|
494
|
+
const grids = Array.isArray(option.grid) ? option.grid : [];
|
|
479
495
|
const title = Math.round(textPx * FACET_TITLE_SHARE);
|
|
480
496
|
const tops = [];
|
|
481
497
|
let lowest = 0;
|
|
@@ -484,21 +500,23 @@ function facetOverLegend(option, textPx, widthPx, heightPx) {
|
|
|
484
500
|
const bottom = panelBottom(grid);
|
|
485
501
|
if (bottom <= 0)
|
|
486
502
|
continue;
|
|
487
|
-
const fields = grid;
|
|
488
|
-
|
|
503
|
+
const fields = parseUnknownRecord(grid);
|
|
504
|
+
if (fields === undefined)
|
|
505
|
+
continue;
|
|
506
|
+
const top = Number.parseFloat(textOf(fields.top));
|
|
489
507
|
if (tops.indexOf(top) < 0)
|
|
490
508
|
tops.push(top);
|
|
491
509
|
if (bottom <= lowest)
|
|
492
510
|
continue;
|
|
493
511
|
lowest = bottom;
|
|
494
|
-
height = Number.parseFloat(
|
|
512
|
+
height = Number.parseFloat(textOf(fields.height));
|
|
495
513
|
}
|
|
496
514
|
tops.sort((a, b) => a - b);
|
|
497
515
|
const partOf = (legendPx) => Math.max(0, lowest - ((heightPx - legendPx - title) / heightPx) * 100) / tops.length;
|
|
498
516
|
const lines = legendLines(option, textPx, widthPx);
|
|
499
517
|
let band = legendBand(lines, textPx);
|
|
500
518
|
if (lines > 1 && partOf(band) > height * (1 - PANEL_MIN_SHARE)) {
|
|
501
|
-
option.legend = { ...option.legend, type: "scroll" };
|
|
519
|
+
option.legend = { ...parseUnknownRecord(option.legend), type: "scroll" };
|
|
502
520
|
band = legendBand(1, textPx);
|
|
503
521
|
}
|
|
504
522
|
const part = partOf(band);
|
|
@@ -509,16 +527,18 @@ function facetOverLegend(option, textPx, widthPx, heightPx) {
|
|
|
509
527
|
option.grid = grids.map((grid) => {
|
|
510
528
|
if (panelBottom(grid) <= 0)
|
|
511
529
|
return grid;
|
|
512
|
-
const fields = grid;
|
|
513
|
-
|
|
514
|
-
|
|
530
|
+
const fields = parseUnknownRecord(grid);
|
|
531
|
+
if (fields === undefined)
|
|
532
|
+
return grid;
|
|
533
|
+
const top = Number.parseFloat(textOf(fields.top));
|
|
534
|
+
return { ...fields, top: moved(top, tops.indexOf(top)), height: `${Math.round((Number.parseFloat(textOf(fields.height)) - part) * 1e4) / 1e4}%` };
|
|
515
535
|
});
|
|
516
536
|
}
|
|
517
537
|
if (Array.isArray(option.graphic)) {
|
|
518
538
|
option.graphic = option.graphic.map((element) => {
|
|
519
|
-
|
|
539
|
+
const fields = parseUnknownRecord(element);
|
|
540
|
+
if (fields === undefined)
|
|
520
541
|
return element;
|
|
521
|
-
const fields = element;
|
|
522
542
|
if (fields.bottom !== undefined)
|
|
523
543
|
return { ...fields, bottom: band };
|
|
524
544
|
const top = typeof fields.top === "string" && fields.top.endsWith("%") ? Number.parseFloat(fields.top) : Number.NaN;
|
|
@@ -529,23 +549,23 @@ function facetOverLegend(option, textPx, widthPx, heightPx) {
|
|
|
529
549
|
}
|
|
530
550
|
/** The bottom edge of one facet panel, in percent of the chart, or 0 for a grid that is no facet panel. */
|
|
531
551
|
function panelBottom(grid) {
|
|
532
|
-
|
|
552
|
+
const fields = parseUnknownRecord(grid);
|
|
553
|
+
if (fields === undefined)
|
|
533
554
|
return 0;
|
|
534
|
-
const fields = grid;
|
|
535
555
|
if (fields.outerBoundsMode !== PANEL_BOUNDS_MODE || typeof fields.top !== "string" || typeof fields.height !== "string")
|
|
536
556
|
return 0;
|
|
537
557
|
return Number.parseFloat(fields.top) + Number.parseFloat(fields.height);
|
|
538
558
|
}
|
|
539
559
|
/** True when an option lays out facet panels over a bottom legend. */
|
|
540
560
|
function holdsFacetLegend(option) {
|
|
541
|
-
const legend = option.legend;
|
|
542
|
-
const bottom =
|
|
561
|
+
const legend = parseUnknownRecord(option.legend);
|
|
562
|
+
const bottom = legend !== undefined && legend.show !== false && legend.bottom !== undefined;
|
|
543
563
|
return bottom && Array.isArray(option.grid) && option.grid.some((grid) => panelBottom(grid) > 0);
|
|
544
564
|
}
|
|
545
565
|
/** True when an option draws a legend along the bottom edge of a grid of one panel. */
|
|
546
566
|
function holdsBottomLegend(option) {
|
|
547
|
-
const legend = option.legend;
|
|
548
|
-
const bottom =
|
|
567
|
+
const legend = parseUnknownRecord(option.legend);
|
|
568
|
+
const bottom = legend !== undefined && legend.show !== false && legend.bottom !== undefined;
|
|
549
569
|
return bottom && option.xAxis !== undefined && !Array.isArray(option.grid);
|
|
550
570
|
}
|
|
551
571
|
/**
|
|
@@ -583,12 +603,13 @@ export function exportOption(option, textPx, widthPx, heightPx) {
|
|
|
583
603
|
out.visualMap = out.visualMap.map((map) => stillScale(map, textPx, widthPx));
|
|
584
604
|
else if (out.visualMap !== undefined)
|
|
585
605
|
out.visualMap = stillScale(out.visualMap, textPx, widthPx);
|
|
586
|
-
|
|
606
|
+
const gridFields = parseUnknownRecord(out.grid);
|
|
607
|
+
if (gridFields !== undefined && gridFields.containLabel === true) {
|
|
587
608
|
// The legacy containment holds the labels alone, and a name at the edge of a short export is cut.
|
|
588
|
-
out.grid = { ...
|
|
609
|
+
out.grid = { ...gridFields, containLabel: false, outerBoundsMode: "auto", outerBoundsContain: "all" };
|
|
589
610
|
}
|
|
590
611
|
if (holdsBottomLegend(out)) {
|
|
591
|
-
const grid =
|
|
612
|
+
const grid = parseUnknownRecord(out.grid) ?? {};
|
|
592
613
|
out.grid = { ...grid, outerBoundsMode: "auto", outerBounds: { left: 0, right: 0, top: 0, bottom: Math.round(textPx * LEGEND_BAND_LINES) } };
|
|
593
614
|
}
|
|
594
615
|
if (holdsFacetLegend(out))
|
|
@@ -76,10 +76,10 @@ export declare function pageChartOption(option: EchartOption, chartType: ChartTy
|
|
|
76
76
|
export declare const GENOME_POSITION_FUNCTION = "reportGenomePosition";
|
|
77
77
|
export declare const GENOME_MEMBER = "genome";
|
|
78
78
|
/** The genome member of an axis: the series that names the chromosomes, and the start and the label of each chromosome in position order. */
|
|
79
|
-
export
|
|
79
|
+
export type GenomeAxis = {
|
|
80
80
|
readonly names: string;
|
|
81
81
|
readonly starts: ReadonlyArray<readonly [number, string]>;
|
|
82
|
-
}
|
|
82
|
+
};
|
|
83
83
|
/**
|
|
84
84
|
* The page functions of the toolbox, as browser source text.
|
|
85
85
|
*
|
|
@@ -94,6 +94,12 @@ export function chartMenuControlId(containerId) {
|
|
|
94
94
|
*/
|
|
95
95
|
export function chartToolbox(chartType) {
|
|
96
96
|
const dense = chartType !== undefined && DENSE_CARTESIAN_CHARTS.includes(chartType);
|
|
97
|
+
const zoomFeatures = dense
|
|
98
|
+
? {
|
|
99
|
+
dataZoom: { show: true, title: { zoom: "Zoom", back: "Undo zoom" }, filterMode: "none" },
|
|
100
|
+
restore: { show: true, title: "Restore" },
|
|
101
|
+
}
|
|
102
|
+
: undefined;
|
|
97
103
|
return {
|
|
98
104
|
show: true,
|
|
99
105
|
zlevel: TOOLBOX_ZLEVEL,
|
|
@@ -112,12 +118,7 @@ export function chartToolbox(chartType) {
|
|
|
112
118
|
},
|
|
113
119
|
},
|
|
114
120
|
feature: {
|
|
115
|
-
...
|
|
116
|
-
? {
|
|
117
|
-
dataZoom: { show: true, title: { zoom: "Zoom", back: "Undo zoom" }, filterMode: "none" },
|
|
118
|
-
restore: { show: true, title: "Restore" },
|
|
119
|
-
}
|
|
120
|
-
: {}),
|
|
121
|
+
...zoomFeatures,
|
|
121
122
|
dataView: {
|
|
122
123
|
show: true,
|
|
123
124
|
title: "Data",
|
|
@@ -28,10 +28,9 @@
|
|
|
28
28
|
import { type Result } from "neverthrow";
|
|
29
29
|
import { type ChartBlock, type ChartTransform } from "../contracts/report-blocks.js";
|
|
30
30
|
import { type PresetRule } from "./chart-presets.js";
|
|
31
|
-
import { transformColumn } from "./figures/common.js";
|
|
32
31
|
import { type FigureRegistry } from "./figures/index.js";
|
|
33
32
|
import type { RenderProblem, RenderStatistic, RenderTrack, RenderTrees } from "./types.js";
|
|
34
|
-
export { transformColumn };
|
|
33
|
+
export { transformColumn } from "./figures/common.js";
|
|
35
34
|
/** One cell of a resolved row. A cell is one string or one number. */
|
|
36
35
|
export type Cell = string | number;
|
|
37
36
|
/** One resolved row of the bound table, keyed by column name. */
|
|
@@ -54,15 +53,15 @@ export declare function deriveChartOption(block: ChartBlock, rows: readonly Char
|
|
|
54
53
|
* the rows of the track, and the rows of the tree of each axis. A block that declares none of them takes no
|
|
55
54
|
* input.
|
|
56
55
|
*/
|
|
57
|
-
export
|
|
56
|
+
export type ChartInputs = {
|
|
58
57
|
readonly statistics?: readonly RenderStatistic[];
|
|
59
58
|
readonly track?: RenderTrack;
|
|
60
59
|
readonly trees?: RenderTrees;
|
|
61
|
-
}
|
|
60
|
+
};
|
|
62
61
|
/** The options of the chart derivation: the figure modules that the dispatch asks first. */
|
|
63
|
-
export
|
|
62
|
+
export type ChartOpts = {
|
|
64
63
|
readonly figures: FigureRegistry;
|
|
65
|
-
}
|
|
64
|
+
};
|
|
66
65
|
/** The options of every render: the registered figure modules. */
|
|
67
66
|
export declare const DEFAULT_CHART_OPTS: ChartOpts;
|
|
68
67
|
/**
|
|
@@ -94,11 +93,11 @@ export declare const POINT_LABEL: EchartOption;
|
|
|
94
93
|
* One column that a page-side series build reads: the place of the column in the payload, the per-row
|
|
95
94
|
* transform of the channel, and whether the page reads each cell as its number.
|
|
96
95
|
*/
|
|
97
|
-
export
|
|
96
|
+
export type ChartColumnSource = {
|
|
98
97
|
readonly column: number;
|
|
99
98
|
readonly transform?: ChartTransform;
|
|
100
99
|
readonly numeric?: true;
|
|
101
|
-
}
|
|
100
|
+
};
|
|
102
101
|
/**
|
|
103
102
|
* One runtime series, as the page builds it from the columnar payload.
|
|
104
103
|
*
|
|
@@ -115,7 +114,7 @@ export interface ChartColumnSource {
|
|
|
115
114
|
* `color` and `size` name the columns of a continuous color and of a symbol size. Each one adds one member
|
|
116
115
|
* to the item after the pair, in that order, and a row whose cell is not numeric draws no point.
|
|
117
116
|
*/
|
|
118
|
-
export
|
|
117
|
+
export type ChartSeriesSource = {
|
|
119
118
|
readonly x: ChartColumnSource;
|
|
120
119
|
readonly y: ChartColumnSource;
|
|
121
120
|
readonly color?: ChartColumnSource;
|
|
@@ -128,16 +127,16 @@ export interface ChartSeriesSource {
|
|
|
128
127
|
readonly sort?: boolean;
|
|
129
128
|
readonly rise?: boolean;
|
|
130
129
|
readonly swap?: boolean;
|
|
131
|
-
}
|
|
130
|
+
};
|
|
132
131
|
/**
|
|
133
132
|
* The data source of one chart: the payload that it reads, the classification rule where a preset splits
|
|
134
133
|
* the rows, and one descriptor for each runtime series in series order.
|
|
135
134
|
*/
|
|
136
|
-
export
|
|
135
|
+
export type ChartDataSource = {
|
|
137
136
|
readonly payload: string;
|
|
138
137
|
readonly rule?: PresetRule;
|
|
139
138
|
readonly series: readonly ChartSeriesSource[];
|
|
140
|
-
}
|
|
139
|
+
};
|
|
141
140
|
/**
|
|
142
141
|
* The member of the option that carries the data source.
|
|
143
142
|
*
|
|
@@ -146,10 +145,10 @@ export interface ChartDataSource {
|
|
|
146
145
|
*/
|
|
147
146
|
export declare const CHART_SOURCE_MEMBER = "__reportData";
|
|
148
147
|
/** The payload that a dense chart reads: the key of the registry, and the columns of the payload. */
|
|
149
|
-
export
|
|
148
|
+
export type ChartPayloadTarget = {
|
|
150
149
|
readonly key: string;
|
|
151
150
|
readonly columns: readonly string[];
|
|
152
|
-
}
|
|
151
|
+
};
|
|
153
152
|
/**
|
|
154
153
|
* The option of one chart, whether it reads the registered payload of its artifact, the same chart with
|
|
155
154
|
* every row inline, and the box of its page chart body.
|
|
@@ -159,10 +158,10 @@ export interface ChartPayloadTarget {
|
|
|
159
158
|
* own. `widthPx` is the width of a figure that draws a block of a fixed size, for example the square of a PCA.
|
|
160
159
|
* The card narrows the body to that width and centers it, and a chart with no such width fills the card.
|
|
161
160
|
*/
|
|
162
|
-
export
|
|
161
|
+
export type ChartRender = {
|
|
163
162
|
readonly option: EchartOption;
|
|
164
163
|
readonly readsPayload: boolean;
|
|
165
164
|
readonly inline: EchartOption;
|
|
166
165
|
readonly bodyPx: number;
|
|
167
166
|
readonly widthPx?: number;
|
|
168
|
-
}
|
|
167
|
+
};
|