@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
|
@@ -112,7 +112,7 @@ export declare const CHART_SLIDE_TEXT_PX = 24;
|
|
|
112
112
|
export declare const CHART_PRINT_THEME_NAME = "inflexa-print";
|
|
113
113
|
export declare const CHART_SLIDE_THEME_NAME = "inflexa-slide";
|
|
114
114
|
/** The size of one chart export: the name of its theme, the CSS pixel box, and the millimeter box of a column. */
|
|
115
|
-
export
|
|
115
|
+
export type ChartExportSize = {
|
|
116
116
|
readonly theme: string;
|
|
117
117
|
readonly textPx: number;
|
|
118
118
|
readonly widthPx: number;
|
|
@@ -121,7 +121,7 @@ export interface ChartExportSize {
|
|
|
121
121
|
readonly heightMm?: number;
|
|
122
122
|
readonly pixelRatio: number;
|
|
123
123
|
readonly label: string;
|
|
124
|
-
}
|
|
124
|
+
};
|
|
125
125
|
/**
|
|
126
126
|
* The export sizes of a chart: the single journal column, the double journal column, and a 16:9 slide.
|
|
127
127
|
*
|
|
@@ -293,197 +293,36 @@ export declare const CHART_INLINE_OPTION_BOUND = 100000;
|
|
|
293
293
|
* style. The text size scales the text alone: the page, the print export, and the slide export each register
|
|
294
294
|
* one theme.
|
|
295
295
|
*/
|
|
296
|
-
|
|
297
|
-
|
|
298
|
-
backgroundColor: string;
|
|
299
|
-
textStyle: {
|
|
300
|
-
fontFamily: string;
|
|
301
|
-
fontSize: number;
|
|
302
|
-
color: string;
|
|
303
|
-
};
|
|
304
|
-
title: {
|
|
296
|
+
type ChartAxisTheme = {
|
|
297
|
+
axisLine: {
|
|
305
298
|
show: boolean;
|
|
306
|
-
|
|
307
|
-
legend: {
|
|
308
|
-
bottom: number;
|
|
309
|
-
borderWidth: number;
|
|
310
|
-
textStyle: {
|
|
311
|
-
fontFamily: string;
|
|
312
|
-
fontSize: number;
|
|
313
|
-
color: string;
|
|
314
|
-
};
|
|
315
|
-
itemGap: number;
|
|
316
|
-
itemWidth: number;
|
|
317
|
-
itemHeight: number;
|
|
318
|
-
};
|
|
319
|
-
grid: {
|
|
320
|
-
left: number;
|
|
321
|
-
right: number;
|
|
322
|
-
top: number;
|
|
323
|
-
bottom: number;
|
|
324
|
-
containLabel: boolean;
|
|
325
|
-
};
|
|
326
|
-
tooltip: {
|
|
327
|
-
backgroundColor: string;
|
|
328
|
-
borderColor: string;
|
|
329
|
-
textStyle: {
|
|
330
|
-
color: string;
|
|
331
|
-
fontSize: number;
|
|
332
|
-
};
|
|
333
|
-
extraCssText: string;
|
|
334
|
-
};
|
|
335
|
-
categoryAxis: {
|
|
336
|
-
axisLine: {
|
|
337
|
-
show: boolean;
|
|
338
|
-
lineStyle: {
|
|
339
|
-
color: string;
|
|
340
|
-
width: number;
|
|
341
|
-
};
|
|
342
|
-
};
|
|
343
|
-
axisTick: {
|
|
344
|
-
show: boolean;
|
|
345
|
-
inside: boolean;
|
|
346
|
-
lineStyle: {
|
|
347
|
-
color: string;
|
|
348
|
-
width: number;
|
|
349
|
-
};
|
|
350
|
-
};
|
|
351
|
-
axisLabel: {
|
|
352
|
-
color: string;
|
|
353
|
-
fontSize: number;
|
|
354
|
-
};
|
|
355
|
-
splitLine: {
|
|
356
|
-
show: boolean;
|
|
357
|
-
};
|
|
358
|
-
nameTextStyle: {
|
|
359
|
-
color: string;
|
|
360
|
-
fontSize: number;
|
|
361
|
-
};
|
|
362
|
-
};
|
|
363
|
-
valueAxis: {
|
|
364
|
-
axisLine: {
|
|
365
|
-
onZero: boolean;
|
|
366
|
-
show: boolean;
|
|
367
|
-
lineStyle: {
|
|
368
|
-
color: string;
|
|
369
|
-
width: number;
|
|
370
|
-
};
|
|
371
|
-
};
|
|
372
|
-
axisTick: {
|
|
373
|
-
show: boolean;
|
|
374
|
-
inside: boolean;
|
|
375
|
-
lineStyle: {
|
|
376
|
-
color: string;
|
|
377
|
-
width: number;
|
|
378
|
-
};
|
|
379
|
-
};
|
|
380
|
-
axisLabel: {
|
|
299
|
+
lineStyle: {
|
|
381
300
|
color: string;
|
|
382
|
-
|
|
383
|
-
};
|
|
384
|
-
splitLine: {
|
|
385
|
-
show: boolean;
|
|
386
|
-
};
|
|
387
|
-
nameTextStyle: {
|
|
388
|
-
color: string;
|
|
389
|
-
fontSize: number;
|
|
301
|
+
width: number;
|
|
390
302
|
};
|
|
391
303
|
};
|
|
392
|
-
|
|
393
|
-
|
|
394
|
-
|
|
395
|
-
|
|
396
|
-
lineStyle: {
|
|
397
|
-
color: string;
|
|
398
|
-
width: number;
|
|
399
|
-
};
|
|
400
|
-
};
|
|
401
|
-
axisTick: {
|
|
402
|
-
show: boolean;
|
|
403
|
-
inside: boolean;
|
|
404
|
-
lineStyle: {
|
|
405
|
-
color: string;
|
|
406
|
-
width: number;
|
|
407
|
-
};
|
|
408
|
-
};
|
|
409
|
-
axisLabel: {
|
|
410
|
-
color: string;
|
|
411
|
-
fontSize: number;
|
|
412
|
-
};
|
|
413
|
-
splitLine: {
|
|
414
|
-
show: boolean;
|
|
415
|
-
};
|
|
416
|
-
nameTextStyle: {
|
|
304
|
+
axisTick: {
|
|
305
|
+
show: boolean;
|
|
306
|
+
inside: boolean;
|
|
307
|
+
lineStyle: {
|
|
417
308
|
color: string;
|
|
418
|
-
|
|
309
|
+
width: number;
|
|
419
310
|
};
|
|
420
311
|
};
|
|
421
|
-
|
|
422
|
-
|
|
423
|
-
|
|
424
|
-
show: boolean;
|
|
425
|
-
lineStyle: {
|
|
426
|
-
color: string;
|
|
427
|
-
width: number;
|
|
428
|
-
};
|
|
429
|
-
};
|
|
430
|
-
axisTick: {
|
|
431
|
-
show: boolean;
|
|
432
|
-
inside: boolean;
|
|
433
|
-
lineStyle: {
|
|
434
|
-
color: string;
|
|
435
|
-
width: number;
|
|
436
|
-
};
|
|
437
|
-
};
|
|
438
|
-
axisLabel: {
|
|
439
|
-
color: string;
|
|
440
|
-
fontSize: number;
|
|
441
|
-
};
|
|
442
|
-
splitLine: {
|
|
443
|
-
show: boolean;
|
|
444
|
-
};
|
|
445
|
-
nameTextStyle: {
|
|
446
|
-
color: string;
|
|
447
|
-
fontSize: number;
|
|
448
|
-
};
|
|
312
|
+
axisLabel: {
|
|
313
|
+
color: string;
|
|
314
|
+
fontSize: number;
|
|
449
315
|
};
|
|
450
|
-
|
|
451
|
-
|
|
452
|
-
fontFamily: string;
|
|
453
|
-
fontSize: number;
|
|
454
|
-
color: string;
|
|
455
|
-
};
|
|
316
|
+
splitLine: {
|
|
317
|
+
show: boolean;
|
|
456
318
|
};
|
|
457
|
-
|
|
458
|
-
|
|
459
|
-
|
|
460
|
-
fontSize: number;
|
|
461
|
-
};
|
|
462
|
-
axisLine: {
|
|
463
|
-
lineStyle: {
|
|
464
|
-
color: string;
|
|
465
|
-
};
|
|
466
|
-
};
|
|
467
|
-
splitLine: {
|
|
468
|
-
lineStyle: {
|
|
469
|
-
color: string;
|
|
470
|
-
};
|
|
471
|
-
};
|
|
472
|
-
splitArea: {
|
|
473
|
-
show: boolean;
|
|
474
|
-
};
|
|
319
|
+
nameTextStyle: {
|
|
320
|
+
color: string;
|
|
321
|
+
fontSize: number;
|
|
475
322
|
};
|
|
476
323
|
};
|
|
477
|
-
|
|
478
|
-
|
|
479
|
-
* face of the card title for the title of an icon.
|
|
480
|
-
*/
|
|
481
|
-
export declare const CHART_TOOLBOX_ICON_COLOR: "#64748b";
|
|
482
|
-
export declare const CHART_TOOLBOX_ACTIVE_COLOR: "#576dea";
|
|
483
|
-
export declare const CHART_TOOLBOX_FONT: "\"IBM Plex Mono\", ui-monospace, monospace";
|
|
484
|
-
/** The theme that the page registers under `ECHARTS_THEME_NAME`, at the page text size. */
|
|
485
|
-
export declare const ECHARTS_THEME: {
|
|
486
|
-
color: ("#0072b2" | "#d55e00" | "#009e73" | "#e69f00" | "#cc79a7" | "#56b4e9" | "#f0e442" | "#000000")[];
|
|
324
|
+
type ChartTheme = {
|
|
325
|
+
color: string[];
|
|
487
326
|
backgroundColor: string;
|
|
488
327
|
textStyle: {
|
|
489
328
|
fontFamily: string;
|
|
@@ -521,121 +360,10 @@ export declare const ECHARTS_THEME: {
|
|
|
521
360
|
};
|
|
522
361
|
extraCssText: string;
|
|
523
362
|
};
|
|
524
|
-
categoryAxis:
|
|
525
|
-
|
|
526
|
-
|
|
527
|
-
|
|
528
|
-
color: string;
|
|
529
|
-
width: number;
|
|
530
|
-
};
|
|
531
|
-
};
|
|
532
|
-
axisTick: {
|
|
533
|
-
show: boolean;
|
|
534
|
-
inside: boolean;
|
|
535
|
-
lineStyle: {
|
|
536
|
-
color: string;
|
|
537
|
-
width: number;
|
|
538
|
-
};
|
|
539
|
-
};
|
|
540
|
-
axisLabel: {
|
|
541
|
-
color: string;
|
|
542
|
-
fontSize: number;
|
|
543
|
-
};
|
|
544
|
-
splitLine: {
|
|
545
|
-
show: boolean;
|
|
546
|
-
};
|
|
547
|
-
nameTextStyle: {
|
|
548
|
-
color: string;
|
|
549
|
-
fontSize: number;
|
|
550
|
-
};
|
|
551
|
-
};
|
|
552
|
-
valueAxis: {
|
|
553
|
-
axisLine: {
|
|
554
|
-
onZero: boolean;
|
|
555
|
-
show: boolean;
|
|
556
|
-
lineStyle: {
|
|
557
|
-
color: string;
|
|
558
|
-
width: number;
|
|
559
|
-
};
|
|
560
|
-
};
|
|
561
|
-
axisTick: {
|
|
562
|
-
show: boolean;
|
|
563
|
-
inside: boolean;
|
|
564
|
-
lineStyle: {
|
|
565
|
-
color: string;
|
|
566
|
-
width: number;
|
|
567
|
-
};
|
|
568
|
-
};
|
|
569
|
-
axisLabel: {
|
|
570
|
-
color: string;
|
|
571
|
-
fontSize: number;
|
|
572
|
-
};
|
|
573
|
-
splitLine: {
|
|
574
|
-
show: boolean;
|
|
575
|
-
};
|
|
576
|
-
nameTextStyle: {
|
|
577
|
-
color: string;
|
|
578
|
-
fontSize: number;
|
|
579
|
-
};
|
|
580
|
-
};
|
|
581
|
-
logAxis: {
|
|
582
|
-
axisLine: {
|
|
583
|
-
onZero: boolean;
|
|
584
|
-
show: boolean;
|
|
585
|
-
lineStyle: {
|
|
586
|
-
color: string;
|
|
587
|
-
width: number;
|
|
588
|
-
};
|
|
589
|
-
};
|
|
590
|
-
axisTick: {
|
|
591
|
-
show: boolean;
|
|
592
|
-
inside: boolean;
|
|
593
|
-
lineStyle: {
|
|
594
|
-
color: string;
|
|
595
|
-
width: number;
|
|
596
|
-
};
|
|
597
|
-
};
|
|
598
|
-
axisLabel: {
|
|
599
|
-
color: string;
|
|
600
|
-
fontSize: number;
|
|
601
|
-
};
|
|
602
|
-
splitLine: {
|
|
603
|
-
show: boolean;
|
|
604
|
-
};
|
|
605
|
-
nameTextStyle: {
|
|
606
|
-
color: string;
|
|
607
|
-
fontSize: number;
|
|
608
|
-
};
|
|
609
|
-
};
|
|
610
|
-
timeAxis: {
|
|
611
|
-
axisLine: {
|
|
612
|
-
onZero: boolean;
|
|
613
|
-
show: boolean;
|
|
614
|
-
lineStyle: {
|
|
615
|
-
color: string;
|
|
616
|
-
width: number;
|
|
617
|
-
};
|
|
618
|
-
};
|
|
619
|
-
axisTick: {
|
|
620
|
-
show: boolean;
|
|
621
|
-
inside: boolean;
|
|
622
|
-
lineStyle: {
|
|
623
|
-
color: string;
|
|
624
|
-
width: number;
|
|
625
|
-
};
|
|
626
|
-
};
|
|
627
|
-
axisLabel: {
|
|
628
|
-
color: string;
|
|
629
|
-
fontSize: number;
|
|
630
|
-
};
|
|
631
|
-
splitLine: {
|
|
632
|
-
show: boolean;
|
|
633
|
-
};
|
|
634
|
-
nameTextStyle: {
|
|
635
|
-
color: string;
|
|
636
|
-
fontSize: number;
|
|
637
|
-
};
|
|
638
|
-
};
|
|
363
|
+
categoryAxis: ChartAxisTheme;
|
|
364
|
+
valueAxis: ChartAxisTheme;
|
|
365
|
+
logAxis: ChartAxisTheme;
|
|
366
|
+
timeAxis: ChartAxisTheme;
|
|
639
367
|
visualMap: {
|
|
640
368
|
textStyle: {
|
|
641
369
|
fontFamily: string;
|
|
@@ -663,6 +391,16 @@ export declare const ECHARTS_THEME: {
|
|
|
663
391
|
};
|
|
664
392
|
};
|
|
665
393
|
};
|
|
394
|
+
export declare function chartTheme(textPx: number): ChartTheme;
|
|
395
|
+
/**
|
|
396
|
+
* The colors and the font of the toolbox of a page chart: a quiet icon, the primary accent on hover, and the mono
|
|
397
|
+
* face of the card title for the title of an icon.
|
|
398
|
+
*/
|
|
399
|
+
export declare const CHART_TOOLBOX_ICON_COLOR: "#64748b";
|
|
400
|
+
export declare const CHART_TOOLBOX_ACTIVE_COLOR: "#576dea";
|
|
401
|
+
export declare const CHART_TOOLBOX_FONT: "\"IBM Plex Mono\", ui-monospace, monospace";
|
|
402
|
+
/** The theme that the page registers under `ECHARTS_THEME_NAME`, at the page text size. */
|
|
403
|
+
export declare const ECHARTS_THEME: ChartTheme;
|
|
666
404
|
/**
|
|
667
405
|
* The registered themes: the page theme, the print theme of the SVG and the column PNG, and the slide theme.
|
|
668
406
|
* The registration script writes each one, and the export reads one by its name.
|
|
@@ -677,3 +415,4 @@ export declare const CHART_THEMES: readonly [{
|
|
|
677
415
|
readonly name: "inflexa-slide";
|
|
678
416
|
readonly textPx: 24;
|
|
679
417
|
}];
|
|
418
|
+
export {};
|
|
@@ -1500,18 +1500,6 @@ export const SCATTER_CROWD_OPACITY = 0.5;
|
|
|
1500
1500
|
* page. Past this bound the option carries no row, and the chart reads the columnar payload of its artifact.
|
|
1501
1501
|
*/
|
|
1502
1502
|
export const CHART_INLINE_OPTION_BOUND = 100_000;
|
|
1503
|
-
/**
|
|
1504
|
-
* The publication theme of a chart, at one text size.
|
|
1505
|
-
*
|
|
1506
|
-
* The page and the export read one theme, thus a chart on the page is the chart that the paper gets. The
|
|
1507
|
-
* left and the bottom axis lines are strong and dark, with ticks outside the plot. There is no grid line, no
|
|
1508
|
-
* frame around the legend, and no toolbox, because the chart card adds the toolbox of the page and a file carries
|
|
1509
|
-
* none. The text reads in the journal sans stack and in the near-black ink.
|
|
1510
|
-
*
|
|
1511
|
-
* The chart runtime reads the style of an axis by its type, thus each of the four axis types carries the same
|
|
1512
|
-
* style. The text size scales the text alone: the page, the print export, and the slide export each register
|
|
1513
|
-
* one theme.
|
|
1514
|
-
*/
|
|
1515
1503
|
export function chartTheme(textPx) {
|
|
1516
1504
|
const axis = {
|
|
1517
1505
|
axisLine: { show: true, lineStyle: { color: CHART_INK, width: CHART_AXIS_LINE_PX } },
|
|
@@ -29,7 +29,7 @@ export type ColumnMeanings = ArtifactTableReference["columnMeanings"];
|
|
|
29
29
|
/** A typed `invalid-chart-input` problem that names the block and the cause. */
|
|
30
30
|
export declare function chartProblem(blockId: string, detail: string): RenderProblem;
|
|
31
31
|
/** Convert one cell to a finite number, or `null` when it is absent or not numeric. */
|
|
32
|
-
export declare function toNumber(cell:
|
|
32
|
+
export declare function toNumber(cell: unknown): number | null;
|
|
33
33
|
/**
|
|
34
34
|
* The legend text of one category value: the value with each underscore as a space.
|
|
35
35
|
*
|
|
@@ -37,7 +37,7 @@ export declare function toNumber(cell: Cell | null | undefined): number | null;
|
|
|
37
37
|
* person. The replacement reads no locale, thus the same value gives the same text on every host. The raw
|
|
38
38
|
* value stays in the data rows, thus the provenance loses nothing.
|
|
39
39
|
*/
|
|
40
|
-
export declare function categoryName(value:
|
|
40
|
+
export declare function categoryName(value: unknown): string;
|
|
41
41
|
/**
|
|
42
42
|
* The lane of each span in turn, for at most `count` spans: the lowest lane whose last span ends under the start
|
|
43
43
|
* of the next span, else a new lane under the others.
|
|
@@ -60,7 +60,7 @@ export declare function columnPresent(column: string, rows: readonly Record<stri
|
|
|
60
60
|
*
|
|
61
61
|
* The comparison never calls `localeCompare`, thus the order stays the same on every host.
|
|
62
62
|
*/
|
|
63
|
-
export declare function compareCell(a: Cell, b: Cell): number;
|
|
63
|
+
export declare function compareCell(a: Cell | undefined, b: Cell | undefined): number;
|
|
64
64
|
/**
|
|
65
65
|
* Sort the categories of one channel by the value of its order column.
|
|
66
66
|
*
|
|
@@ -75,20 +75,20 @@ export declare function compareCell(a: Cell, b: Cell): number;
|
|
|
75
75
|
* of strings and a column of numbers still meet. A row that lacks the order cell gives its category no place,
|
|
76
76
|
* thus it refuses.
|
|
77
77
|
*/
|
|
78
|
-
export declare function orderCategories<T
|
|
78
|
+
export declare function orderCategories<T>(blockId: string, rowCount: number, categoryAt: (index: number) => Cell | null | undefined, categories: readonly T[], order: ChannelOrder | undefined, keyAt: (index: number) => Cell | undefined): Result<T[], RenderProblem>;
|
|
79
79
|
/**
|
|
80
80
|
* Sort the categories of one quick-path channel that reads a plain column, by the order of that channel.
|
|
81
81
|
* The row of each category reads the category column and the order column of the same row.
|
|
82
82
|
*/
|
|
83
|
-
export declare function orderQuickCategories(blockId: string, rows: readonly ChartRow[], column: string, order: ChannelOrder | undefined): Result<Cell
|
|
83
|
+
export declare function orderQuickCategories(blockId: string, rows: readonly ChartRow[], column: string, order: ChannelOrder | undefined): Result<Array<Cell | undefined>, RenderProblem>;
|
|
84
84
|
/** One channel of the quick-path encoding that names one column. */
|
|
85
85
|
export type ColumnChannel = Exclude<keyof ChartEncoding, "label" | "tracks">;
|
|
86
86
|
/** The table that a figure reads a channel from: the block, the rows, and the declared column order. */
|
|
87
|
-
export
|
|
87
|
+
export type ChannelSource = {
|
|
88
88
|
readonly blockId: string;
|
|
89
89
|
readonly rows: readonly ChartRow[];
|
|
90
90
|
readonly columns?: readonly string[];
|
|
91
|
-
}
|
|
91
|
+
};
|
|
92
92
|
/**
|
|
93
93
|
* The column of one channel that a figure reads as a plain column, or `undefined` where the block names no
|
|
94
94
|
* such channel.
|
|
@@ -179,7 +179,7 @@ export declare function valueAxis(axis: "x" | "y", title: string, fields?: {
|
|
|
179
179
|
* `topDown` inverts a y axis. The chart runtime draws the first category of a y axis at the origin, thus a
|
|
180
180
|
* table that reads top-down needs the inverted axis to put its first row at the top.
|
|
181
181
|
*/
|
|
182
|
-
export declare function categoryAxis(axis: "x" | "y", categories: readonly Cell[], fields?: {
|
|
182
|
+
export declare function categoryAxis(axis: "x" | "y", categories: readonly (Cell | undefined)[], fields?: {
|
|
183
183
|
title?: string;
|
|
184
184
|
topDown?: boolean;
|
|
185
185
|
}): EchartOption;
|
|
@@ -205,11 +205,11 @@ export declare function guideMarkLine(lines: readonly EchartOption[]): EchartOpt
|
|
|
205
205
|
* One statistic that a figure prints: the label of the block, the resolved value, and the shown text of the
|
|
206
206
|
* value.
|
|
207
207
|
*/
|
|
208
|
-
export
|
|
208
|
+
export type FigureStatistic = {
|
|
209
209
|
readonly label: string;
|
|
210
210
|
readonly value: string | number;
|
|
211
211
|
readonly text: string;
|
|
212
|
-
}
|
|
212
|
+
};
|
|
213
213
|
/**
|
|
214
214
|
* The shown text of one statistic, in the number format of its column, with the power of ten of a figure, and
|
|
215
215
|
* the unit of its reference after it.
|
|
@@ -244,11 +244,11 @@ export declare const STATISTICS_POINT_INSET_PX = 8;
|
|
|
244
244
|
*/
|
|
245
245
|
export declare function statisticsSeries(statistics: readonly FigureStatistic[], point: readonly [number, number], corner: PlotCorner): EchartOption[];
|
|
246
246
|
/** The range and the ramp of one continuous color. */
|
|
247
|
-
export
|
|
247
|
+
export type ContinuousScale = {
|
|
248
248
|
readonly min: number;
|
|
249
249
|
readonly max: number;
|
|
250
250
|
readonly ramp: readonly string[];
|
|
251
|
-
}
|
|
251
|
+
};
|
|
252
252
|
/**
|
|
253
253
|
* The scale of one continuous color over its values.
|
|
254
254
|
*
|
|
@@ -17,9 +17,12 @@
|
|
|
17
17
|
*
|
|
18
18
|
* Each helper gives plain data, because the option rides to the page as inline JSON.
|
|
19
19
|
*/
|
|
20
|
+
import { textOf } from "../../lib/unknown-text.js";
|
|
20
21
|
import { err, ok } from "neverthrow";
|
|
21
22
|
import { channelColumn, channelOrder, channelTransform } from "../../contracts/report-blocks.js";
|
|
22
23
|
import { declaredForColumn } from "../../contracts/report-reference.js";
|
|
24
|
+
import { isUnknownArray } from "../../lib/unknown-array.js";
|
|
25
|
+
import { parseUnknownRecord } from "../../lib/unknown-containers.js";
|
|
23
26
|
import { CHART_BODY_MAX_PX, CHART_FONT_STACK, CHART_INK, CHART_PAGE_TEXT_PX, CHART_PALETTE, CHART_WIDE_PALETTE, DIVERGING_RAMP, GUIDE_LINE_COLOR, GUIDE_LINE_WIDTH_PX, MUTED_CHART_COLOR, SEQUENTIAL_RAMP, SIZE_CHANNEL_RANGE_PX, } from "../design.js";
|
|
24
27
|
import { formatNumberCell, selectNumberKind, typographicExponent } from "../number-format.js";
|
|
25
28
|
import { STEM_RENDERER } from "../chart-renderers.js";
|
|
@@ -49,7 +52,7 @@ export function toNumber(cell) {
|
|
|
49
52
|
* value stays in the data rows, thus the provenance loses nothing.
|
|
50
53
|
*/
|
|
51
54
|
export function categoryName(value) {
|
|
52
|
-
return
|
|
55
|
+
return textOf(value).replaceAll("_", " ");
|
|
53
56
|
}
|
|
54
57
|
/**
|
|
55
58
|
* The lane of each span in turn, for at most `count` spans: the lowest lane whose last span ends under the start
|
|
@@ -67,10 +70,10 @@ export function firstFreeLanes(count) {
|
|
|
67
70
|
return (start, end) => {
|
|
68
71
|
let node = 1;
|
|
69
72
|
while (node < leaves)
|
|
70
|
-
node = least[2 * node] < start ? 2 * node : 2 * node + 1;
|
|
73
|
+
node = (least[2 * node] ?? Number.NEGATIVE_INFINITY) < start ? 2 * node : 2 * node + 1;
|
|
71
74
|
least[node] = end;
|
|
72
75
|
for (let parent = node >> 1; parent >= 1; parent >>= 1)
|
|
73
|
-
least[parent] = Math.min(least[2 * parent], least[2 * parent + 1]);
|
|
76
|
+
least[parent] = Math.min(least[2 * parent] ?? Number.NEGATIVE_INFINITY, least[2 * parent + 1] ?? Number.NEGATIVE_INFINITY);
|
|
74
77
|
return node - leaves;
|
|
75
78
|
};
|
|
76
79
|
}
|
|
@@ -146,7 +149,7 @@ export function orderCategories(blockId, rowCount, categoryAt, categories, order
|
|
|
146
149
|
if (key === undefined) {
|
|
147
150
|
return err(chartProblem(blockId, `The category "${categoryName(category)}" holds no value in the "${order.by}" column, thus it has no place in the order.`));
|
|
148
151
|
}
|
|
149
|
-
const held = keys.get(
|
|
152
|
+
const held = keys.get(textOf(category));
|
|
150
153
|
if (held === undefined) {
|
|
151
154
|
keys.set(String(category), key);
|
|
152
155
|
}
|
|
@@ -156,7 +159,7 @@ export function orderCategories(blockId, rowCount, categoryAt, categories, order
|
|
|
156
159
|
}
|
|
157
160
|
const direction = order.order === "desc" ? -1 : 1;
|
|
158
161
|
return ok(categories
|
|
159
|
-
.map((category, place) => ({ category, place, key: keys.get(
|
|
162
|
+
.map((category, place) => ({ category, place, key: keys.get(textOf(category)) ?? "" }))
|
|
160
163
|
.sort((a, b) => direction * compareCell(a.key, b.key) || a.place - b.place)
|
|
161
164
|
.map((entry) => entry.category));
|
|
162
165
|
}
|
|
@@ -165,7 +168,7 @@ export function orderCategories(blockId, rowCount, categoryAt, categories, order
|
|
|
165
168
|
* The row of each category reads the category column and the order column of the same row.
|
|
166
169
|
*/
|
|
167
170
|
export function orderQuickCategories(blockId, rows, column, order) {
|
|
168
|
-
return orderCategories(blockId, rows.length, (index) => rows[index][column], firstAppearance(rows.map((row) => row[column])), order, (index) => (order === undefined ? undefined : rows[index][order.by]));
|
|
171
|
+
return orderCategories(blockId, rows.length, (index) => rows[index]?.[column], firstAppearance(rows.map((row) => row[column])), order, (index) => (order === undefined ? undefined : rows[index]?.[order.by]));
|
|
169
172
|
}
|
|
170
173
|
/**
|
|
171
174
|
* The column of one channel that a figure reads as a plain column, or `undefined` where the block names no
|
|
@@ -333,13 +336,16 @@ export function categoryAxisTitle(labels, column, declared) {
|
|
|
333
336
|
* the logarithmic axis type.
|
|
334
337
|
*/
|
|
335
338
|
export function valueAxis(axis, title, fields = {}) {
|
|
336
|
-
|
|
339
|
+
const option = {
|
|
337
340
|
type: fields.log === true ? "log" : "value",
|
|
338
|
-
...(fields.scale === true ? { scale: true } : {}),
|
|
339
|
-
...(fields.min !== undefined ? { min: fields.min } : {}),
|
|
340
|
-
...(fields.max !== undefined ? { max: fields.max } : {}),
|
|
341
|
-
...axisNameFields(axis, title),
|
|
342
341
|
};
|
|
342
|
+
if (fields.scale === true)
|
|
343
|
+
option.scale = true;
|
|
344
|
+
if (fields.min !== undefined)
|
|
345
|
+
option.min = fields.min;
|
|
346
|
+
if (fields.max !== undefined)
|
|
347
|
+
option.max = fields.max;
|
|
348
|
+
return { ...option, ...axisNameFields(axis, title) };
|
|
343
349
|
}
|
|
344
350
|
/**
|
|
345
351
|
* One category axis: the categories in their order, the direction, and the declared title alone.
|
|
@@ -348,12 +354,14 @@ export function valueAxis(axis, title, fields = {}) {
|
|
|
348
354
|
* table that reads top-down needs the inverted axis to put its first row at the top.
|
|
349
355
|
*/
|
|
350
356
|
export function categoryAxis(axis, categories, fields = {}) {
|
|
351
|
-
|
|
357
|
+
const option = {
|
|
352
358
|
type: "category",
|
|
353
|
-
...(axis === "y" && fields.topDown === true ? { inverse: true } : {}),
|
|
354
359
|
data: [...categories],
|
|
355
360
|
...axisNameFields(axis, fields.title),
|
|
356
361
|
};
|
|
362
|
+
if (axis === "y" && fields.topDown === true)
|
|
363
|
+
option.inverse = true;
|
|
364
|
+
return option;
|
|
357
365
|
}
|
|
358
366
|
// ── The guide lines ─────────────────────────────────────────────────────────
|
|
359
367
|
/** The stroke of each guide line. */
|
|
@@ -482,17 +490,17 @@ export function statisticsSeries(statistics, point, corner) {
|
|
|
482
490
|
* the call stack.
|
|
483
491
|
*/
|
|
484
492
|
export function continuousScale(values) {
|
|
485
|
-
|
|
486
|
-
|
|
487
|
-
}
|
|
488
|
-
let min = values[0];
|
|
489
|
-
let max = values[0];
|
|
493
|
+
let min;
|
|
494
|
+
let max;
|
|
490
495
|
for (const value of values) {
|
|
491
|
-
if (value < min)
|
|
496
|
+
if (min === undefined || value < min)
|
|
492
497
|
min = value;
|
|
493
|
-
if (value > max)
|
|
498
|
+
if (max === undefined || value > max)
|
|
494
499
|
max = value;
|
|
495
500
|
}
|
|
501
|
+
if (min === undefined || max === undefined) {
|
|
502
|
+
return { min: 0, max: 1, ramp: SEQUENTIAL_RAMP };
|
|
503
|
+
}
|
|
496
504
|
if (min < 0 && max > 0) {
|
|
497
505
|
const reach = Math.max(-min, max);
|
|
498
506
|
return { min: -reach, max: reach, ramp: DIVERGING_RAMP };
|
|
@@ -623,7 +631,10 @@ function seriesOf(option) {
|
|
|
623
631
|
const series = option.series;
|
|
624
632
|
if (!Array.isArray(series))
|
|
625
633
|
return [];
|
|
626
|
-
return series.
|
|
634
|
+
return series.flatMap((entry) => {
|
|
635
|
+
const record = parseUnknownRecord(entry);
|
|
636
|
+
return record === undefined ? [] : [record];
|
|
637
|
+
});
|
|
627
638
|
}
|
|
628
639
|
/**
|
|
629
640
|
* The icon of each series name: the form of the first series of that name that draws the data.
|
|
@@ -658,24 +669,24 @@ function iconsByName(option) {
|
|
|
658
669
|
* series names in order, as the runtime does.
|
|
659
670
|
*/
|
|
660
671
|
function iconLegend(option) {
|
|
661
|
-
const
|
|
662
|
-
if (
|
|
672
|
+
const fields = parseUnknownRecord(option.legend);
|
|
673
|
+
if (fields === undefined)
|
|
663
674
|
return undefined;
|
|
664
|
-
const fields = legend;
|
|
665
675
|
if (fields.show === false)
|
|
666
676
|
return undefined;
|
|
667
677
|
const icons = iconsByName(option);
|
|
668
678
|
if (icons.size === 0)
|
|
669
679
|
return undefined;
|
|
670
|
-
const declared =
|
|
680
|
+
const declared = isUnknownArray(fields.data) ? fields.data : [...icons.keys()];
|
|
671
681
|
const data = declared.map((entry) => {
|
|
672
|
-
|
|
682
|
+
const entryFields = parseUnknownRecord(entry);
|
|
683
|
+
if (entryFields !== undefined && typeof entryFields.icon === "string")
|
|
673
684
|
return entry;
|
|
674
|
-
const name = typeof entry === "string" ? entry :
|
|
685
|
+
const name = typeof entry === "string" ? entry : entryFields?.name;
|
|
675
686
|
const icon = typeof name === "string" ? icons.get(name) : undefined;
|
|
676
687
|
if (icon === undefined || typeof name !== "string")
|
|
677
688
|
return entry;
|
|
678
|
-
return
|
|
689
|
+
return entryFields === undefined ? { name, icon } : { ...entryFields, icon };
|
|
679
690
|
});
|
|
680
691
|
return { ...fields, data };
|
|
681
692
|
}
|
|
@@ -707,15 +718,15 @@ function paletteSlots(option) {
|
|
|
707
718
|
* the title clears the labels on the page and in each export.
|
|
708
719
|
*/
|
|
709
720
|
function movedTitle(axis) {
|
|
710
|
-
|
|
721
|
+
const fields = parseUnknownRecord(axis);
|
|
722
|
+
if (fields === undefined)
|
|
711
723
|
return axis;
|
|
712
|
-
const fields = axis;
|
|
713
724
|
return typeof fields.name === "string" && fields.name !== "" ? { ...fields, nameMoveOverlap: true } : axis;
|
|
714
725
|
}
|
|
715
726
|
/** True when a grid, or one grid of a list, contains its labels. */
|
|
716
727
|
function containsLabels(grid) {
|
|
717
728
|
const grids = Array.isArray(grid) ? grid : [grid];
|
|
718
|
-
return grids.some((entry) =>
|
|
729
|
+
return grids.some((entry) => parseUnknownRecord(entry)?.containLabel === true);
|
|
719
730
|
}
|
|
720
731
|
/** Each axis of one axis member with its title moved off its labels. */
|
|
721
732
|
function movedTitles(axes) {
|