@malloy-publisher/app 0.8.2 → 0.8.4
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/dist/api-doc.yaml +271 -47
- package/dist/assets/EnvironmentPage-CqhWacr8.js +1 -0
- package/dist/assets/{HomePage-C_iQUW74.js → HomePage-Bvka32On.js} +1 -1
- package/dist/assets/{LightMode-X55OaqWn.js → LightMode-Cbewcf9k.js} +1 -1
- package/dist/assets/{MainPage-HlxDGd7Z.js → MainPage-COYTYOjz.js} +2 -2
- package/dist/assets/ModelPage-Bgd6aix7.js +2 -0
- package/dist/assets/PackagePage-dTZ47Ovr.js +1 -0
- package/dist/assets/{RenderedResult-DKOl0FQ8.es-BATOL6jV.js → RenderedResult-6UKAHaAj.es-DwPcKrEj.js} +3 -3
- package/dist/assets/RouteError-eVUmHlyg.js +1 -0
- package/dist/assets/{ThemeEditorPage-Dc7994Z3.js → ThemeEditorPage-BMUZ6xO_.js} +1 -1
- package/dist/assets/{ToggleButtonGroup-0p89QLtB.js → ToggleButtonGroup-CcURl_SZ.js} +1 -1
- package/dist/assets/{index-Csw7MKd3.js → index--kypg58s.js} +3 -3
- package/dist/assets/{index-C8Lbp1ov.js → index-BJ0aX8Z9.js} +1 -1
- package/dist/assets/{index-YH_yBCQI.js → index-Cn5hjjjT.js} +1 -1
- package/dist/assets/index-D7mqb3VK.js +447 -0
- package/dist/assets/{index-CqxaMaWg.js → index-DW7XZeXK.js} +1 -1
- package/dist/assets/index.es-Cmnwwmfe.js +111 -0
- package/dist/index.html +1 -1
- package/package.json +3 -3
- package/dist/assets/EnvironmentPage-J-7-dQTF.js +0 -1
- package/dist/assets/ModelPage-4DQomN_d.js +0 -2
- package/dist/assets/PackagePage-B_-oiLXm.js +0 -1
- package/dist/assets/RouteError-DWKxdq5d.js +0 -1
- package/dist/assets/index-CSUU2t5Q.js +0 -442
- package/dist/assets/index.es-PC1YK9io.js +0 -111
package/dist/api-doc.yaml
CHANGED
|
@@ -7,7 +7,7 @@ info:
|
|
|
7
7
|
description: |
|
|
8
8
|
The Malloy Publisher - Semantic Model Serving API provides access to Malloy packages and everything they contain.
|
|
9
9
|
A Malloy package is a directory with a `publisher.json` manifest at its root, holding Malloy models (`.malloy` files),
|
|
10
|
-
notebooks (`.malloynb` files), embedded data (`.parquet`, `.csv`, and `.xlsx` files), and optionally an HTML data app
|
|
10
|
+
notebooks (`.malloynb` files and `.malloy` files under `notebooks/`), embedded data (`.parquet`, `.csv`, and `.xlsx` files), and optionally an HTML data app
|
|
11
11
|
under `public/`.
|
|
12
12
|
|
|
13
13
|
## Key Features
|
|
@@ -1567,9 +1567,16 @@ paths:
|
|
|
1567
1567
|
operationId: list-models
|
|
1568
1568
|
summary: List package models
|
|
1569
1569
|
description: |
|
|
1570
|
-
Retrieves
|
|
1571
|
-
|
|
1572
|
-
|
|
1570
|
+
Retrieves the Malloy models within the specified package. Each model entry includes
|
|
1571
|
+
the relative path, package name, whether the file is on the package's surface, and any
|
|
1572
|
+
compilation errors.
|
|
1573
|
+
|
|
1574
|
+
On a package with a surface (a root `index.malloy`, or a legacy `explores`), only the
|
|
1575
|
+
files on that surface are listed, unless `includeHiddenFilesAndSources` is true. With it, every
|
|
1576
|
+
model file is listed and `onSurface` marks the ones on the surface. Dashboard files
|
|
1577
|
+
are listed by the dashboards route either way. Served notebooks (`.malloy` files under
|
|
1578
|
+
`notebooks/` that carry an `## artifact` note) are not models here, with or without a
|
|
1579
|
+
surface; they are listed by list-notebooks.
|
|
1573
1580
|
parameters:
|
|
1574
1581
|
- name: environmentName
|
|
1575
1582
|
in: path
|
|
@@ -1589,6 +1596,7 @@ paths:
|
|
|
1589
1596
|
required: false
|
|
1590
1597
|
schema:
|
|
1591
1598
|
$ref: "#/components/schemas/VersionIdPattern"
|
|
1599
|
+
- $ref: "#/components/parameters/includeHiddenFilesAndSources"
|
|
1592
1600
|
responses:
|
|
1593
1601
|
"200":
|
|
1594
1602
|
description: A list of models in the package
|
|
@@ -1621,14 +1629,16 @@ paths:
|
|
|
1621
1629
|
provides access to the model's structure, sources, and named queries for use in applications.
|
|
1622
1630
|
|
|
1623
1631
|
On a package with a surface (a root `index.malloy`, or a legacy `explores`), a file off
|
|
1624
|
-
that surface answers 404 with the same message a query to it gets
|
|
1625
|
-
|
|
1626
|
-
|
|
1632
|
+
that surface answers 404 with the same message a query to it gets, unless
|
|
1633
|
+
`includeHiddenFilesAndSources` is true. With it, the file is returned with its `sourceText`, whatever
|
|
1634
|
+
sources the text names. Dashboard files and served notebooks (`notebooks/*.malloy` with
|
|
1635
|
+
an `## artifact` note) are always returned. A package with no surface, or with
|
|
1636
|
+
`queryableSources: "all"`, returns every file. For a file it returns, `modelDef.contents` and `modelDef.exports`,
|
|
1627
1637
|
`modelInfo`, `sources` and `sourceInfos` are limited to the names the file publishes, so
|
|
1628
1638
|
the surface file does not carry the hidden sources it imports. A join to a hidden source
|
|
1629
1639
|
keeps only its name and the names and types of its fields. `sourceText` is left out
|
|
1630
|
-
when the text names a source the file does not publish; a dashboard
|
|
1631
|
-
returned.
|
|
1640
|
+
when the text names a source the file does not publish; the text of a dashboard is
|
|
1641
|
+
always returned.
|
|
1632
1642
|
parameters:
|
|
1633
1643
|
- name: environmentName
|
|
1634
1644
|
in: path
|
|
@@ -1654,6 +1664,7 @@ paths:
|
|
|
1654
1664
|
required: false
|
|
1655
1665
|
schema:
|
|
1656
1666
|
$ref: "#/components/schemas/VersionIdPattern"
|
|
1667
|
+
- $ref: "#/components/parameters/includeHiddenFilesAndSources"
|
|
1657
1668
|
responses:
|
|
1658
1669
|
"200":
|
|
1659
1670
|
description: Compiled Malloy model
|
|
@@ -1808,6 +1819,7 @@ paths:
|
|
|
1808
1819
|
required: true
|
|
1809
1820
|
schema:
|
|
1810
1821
|
$ref: "#/components/schemas/PathPattern"
|
|
1822
|
+
- $ref: "#/components/parameters/includeHiddenFilesAndSources"
|
|
1811
1823
|
requestBody:
|
|
1812
1824
|
required: true
|
|
1813
1825
|
content:
|
|
@@ -2042,8 +2054,10 @@ paths:
|
|
|
2042
2054
|
operationId: list-notebooks
|
|
2043
2055
|
summary: List package notebooks
|
|
2044
2056
|
description: |
|
|
2045
|
-
Retrieves a list of all Malloy notebooks within the specified package
|
|
2046
|
-
|
|
2057
|
+
Retrieves a list of all Malloy notebooks within the specified package: every
|
|
2058
|
+
`.malloynb` file, and every `.malloy` file directly under `notebooks/` that has a
|
|
2059
|
+
model-level `## artifact` note. Each notebook entry includes the relative path,
|
|
2060
|
+
package name, title, description, and any compilation or reading error. This endpoint
|
|
2047
2061
|
is useful for discovering available notebooks and checking their status.
|
|
2048
2062
|
parameters:
|
|
2049
2063
|
- name: environmentName
|
|
@@ -2066,7 +2080,7 @@ paths:
|
|
|
2066
2080
|
$ref: "#/components/schemas/VersionIdPattern"
|
|
2067
2081
|
responses:
|
|
2068
2082
|
"200":
|
|
2069
|
-
description: A list of
|
|
2083
|
+
description: A list of notebooks in the package
|
|
2070
2084
|
content:
|
|
2071
2085
|
application/json:
|
|
2072
2086
|
schema:
|
|
@@ -2093,6 +2107,8 @@ paths:
|
|
|
2093
2107
|
description: |
|
|
2094
2108
|
Retrieves a Malloy notebook with its raw cell contents (markdown and code).
|
|
2095
2109
|
Cell execution should be done separately via the execute-notebook-cell endpoint.
|
|
2110
|
+
A served `notebooks/*.malloy` (one with an `## artifact` note) answers here as well as a
|
|
2111
|
+
`.malloynb`.
|
|
2096
2112
|
On a package with a surface, the response shows only the sources the notebook may read.
|
|
2097
2113
|
parameters:
|
|
2098
2114
|
- name: environmentName
|
|
@@ -2144,7 +2160,8 @@ paths:
|
|
|
2144
2160
|
description: |
|
|
2145
2161
|
Executes a specific cell in a Malloy notebook by index. For code cells, this compiles
|
|
2146
2162
|
and runs the Malloy code, returning query results and any new sources defined.
|
|
2147
|
-
For markdown cells, this simply returns the cell content.
|
|
2163
|
+
For markdown cells, this simply returns the cell content. A served `notebooks/*.malloy`
|
|
2164
|
+
answers here as well as a `.malloynb`.
|
|
2148
2165
|
|
|
2149
2166
|
On a package with a surface (a root `index.malloy`, or a legacy `explores`) with
|
|
2150
2167
|
`queryableSources` left at `"declared"`, a code cell may read only sources the surface
|
|
@@ -2839,6 +2856,26 @@ components:
|
|
|
2839
2856
|
governor). Already-loaded packages remain serviceable while throttled;
|
|
2840
2857
|
callers can treat a throttled server as unhealthy for new load.
|
|
2841
2858
|
Only reported when the memory governor is enabled.
|
|
2859
|
+
version:
|
|
2860
|
+
type: string
|
|
2861
|
+
readOnly: true
|
|
2862
|
+
description:
|
|
2863
|
+
This server's release version, for example "0.8.2". Use it to tell
|
|
2864
|
+
which build answered, for instance to rule out an old copy served
|
|
2865
|
+
from the npx cache.
|
|
2866
|
+
emptyReason:
|
|
2867
|
+
type: string
|
|
2868
|
+
readOnly: true
|
|
2869
|
+
description:
|
|
2870
|
+
Present only when the server has no environments because no
|
|
2871
|
+
publisher.config.json was found at startup, or because the --config
|
|
2872
|
+
path it was given does not exist. It names the path that was checked
|
|
2873
|
+
and how to fix it. It describes startup, so a config written while
|
|
2874
|
+
the server runs is not read until a restart. A server in this state
|
|
2875
|
+
still reports serving, so check this before treating an empty
|
|
2876
|
+
environments list as intended. Absent once any environment exists, including one created
|
|
2877
|
+
at runtime through the API, and absent when a config was found but
|
|
2878
|
+
lists no environments.
|
|
2842
2879
|
loadErrors:
|
|
2843
2880
|
type: array
|
|
2844
2881
|
readOnly: true
|
|
@@ -3201,7 +3238,28 @@ components:
|
|
|
3201
3238
|
than about the package: one when a file carrying an artifact tag
|
|
3202
3239
|
could not be read and so is not served at all, and one when the lint
|
|
3203
3240
|
stops early, in which case the list must be read as incomplete
|
|
3204
|
-
rather than as a clean package.
|
|
3241
|
+
rather than as a clean package. Notebook findings: a `notebooks/`
|
|
3242
|
+
file with an `## artifact` note whose cells could not be read, which
|
|
3243
|
+
names the line and the fix and is reported with severity `error`,
|
|
3244
|
+
because the notebook is served with that error instead of opening.
|
|
3245
|
+
The same family carries findings on files under `notebooks/` and
|
|
3246
|
+
`dashboards/`, each naming its line and the fix; they are computed
|
|
3247
|
+
at discovery and are also returned by `/compile` at file and
|
|
3248
|
+
package scope. Eight codes are `error` and fail `/compile`:
|
|
3249
|
+
`notebook-statement-above-artifact` and `notebook-tag-above-artifact`
|
|
3250
|
+
(a statement or a tag above a served notebook's `## artifact`),
|
|
3251
|
+
`notebook-markdown-above-artifact` (a `(markdown)` annotation above
|
|
3252
|
+
it), `notebook-columns-conflict` (a tiled dashboard's
|
|
3253
|
+
`dashboard_columns` disagrees with `dashboard { columns }`),
|
|
3254
|
+
`notebook-markdown-opener-text` (more than a
|
|
3255
|
+
name after `(markdown)` on a block's opener),
|
|
3256
|
+
`notebook-markdown-attached-nowhere` (a `#(markdown)` annotation
|
|
3257
|
+
with no statement to take it), `notebook-artifact-unparsed` (an
|
|
3258
|
+
`## artifact` tag does not parse), and `notebook-cells-unreadable`
|
|
3259
|
+
(the reader could not read a served notebook's cells). The rest are
|
|
3260
|
+
`warn` (a mistyped `(markdown)` opener, a missing `kind=notebook`, a
|
|
3261
|
+
block that never closes, and similar).
|
|
3262
|
+
Server-computed and read-only:
|
|
3205
3263
|
ignored on
|
|
3206
3264
|
create/update requests and only returned in responses. Present only
|
|
3207
3265
|
when there are such findings.
|
|
@@ -3591,13 +3649,18 @@ components:
|
|
|
3591
3649
|
State of a package's semantic discovery index. Poll `status` until
|
|
3592
3650
|
`ready` to know retrieval is warm - before this, that state existed
|
|
3593
3651
|
only as a server log line, so anything waiting on a warm index had to
|
|
3594
|
-
scrape logs.
|
|
3595
|
-
|
|
3596
|
-
|
|
3597
|
-
|
|
3598
|
-
|
|
3599
|
-
|
|
3600
|
-
|
|
3652
|
+
scrape logs. Send the package one `get_context` question first, then
|
|
3653
|
+
poll: only a question starts the sync, and a restart forgets which
|
|
3654
|
+
syncs completed, so after every restart each package reads `indexing`
|
|
3655
|
+
until it is asked something. Polling before asking waits forever.
|
|
3656
|
+
Every count is scoped to the embedding model currently configured, so
|
|
3657
|
+
rows left behind by an earlier model are never counted. Read `status` for readiness and the counts for
|
|
3658
|
+
coverage: they answer different questions, and only `status` tracks
|
|
3659
|
+
what the search path will do. The first read after a package loads or
|
|
3660
|
+
reloads builds the package's entity index and its content
|
|
3661
|
+
fingerprint, which is work a metadata read would not otherwise do.
|
|
3662
|
+
After that a read is two row counts and never waits on a sync, so
|
|
3663
|
+
polling is cheap.
|
|
3601
3664
|
properties:
|
|
3602
3665
|
status:
|
|
3603
3666
|
type: string
|
|
@@ -3607,12 +3670,27 @@ components:
|
|
|
3607
3670
|
- cooldown
|
|
3608
3671
|
- too-many-entities
|
|
3609
3672
|
description: >-
|
|
3610
|
-
`
|
|
3611
|
-
|
|
3612
|
-
|
|
3613
|
-
|
|
3614
|
-
|
|
3615
|
-
|
|
3673
|
+
`ready` = the index is warm, so the next `get_context` question
|
|
3674
|
+
about this package is ranked semantically rather than lexically.
|
|
3675
|
+
(It is a statement about the index, not a promise about the next
|
|
3676
|
+
response: a question whose own query embedding fails still falls
|
|
3677
|
+
back, reporting `retrieval_reason: provider-error`.) It is decided
|
|
3678
|
+
by the same completed sync the search path gates on, not by
|
|
3679
|
+
whether cached rows happen to cover the current entity names.
|
|
3680
|
+
Those two differ exactly where it matters - the rows outlive a
|
|
3681
|
+
restart and a reload, so a coverage test called an index warm
|
|
3682
|
+
while the next question was still answered lexically.
|
|
3683
|
+
`indexing` = no completed sync covers the package's current
|
|
3684
|
+
content under the current model, so retrieval answers lexically
|
|
3685
|
+
meanwhile. A reload whose files did not change stays `ready`,
|
|
3686
|
+
because the vectors still describe that content. Four things move
|
|
3687
|
+
a package to `indexing`: an edit, a new package, a changed
|
|
3688
|
+
`EMBEDDING_MODEL`, and a server restart - the sync is recorded in
|
|
3689
|
+
memory, so a restart reports `indexing` until the first question
|
|
3690
|
+
re-establishes it, even though the vectors are still on disk. It
|
|
3691
|
+
clears when a `get_context` question triggers a sync, which is
|
|
3692
|
+
what builds the index; a package nothing has ever queried does not
|
|
3693
|
+
warm on its own.
|
|
3616
3694
|
`cooldown` = the provider failed recently, so the semantic path is
|
|
3617
3695
|
short-circuited for a window. `too-many-entities` = the package has
|
|
3618
3696
|
more entities than the embedding cap, so it stays lexical
|
|
@@ -3624,18 +3702,26 @@ components:
|
|
|
3624
3702
|
Cached vectors for this package under the current embedding model.
|
|
3625
3703
|
An entity contributes one row for its name plus one per chunk of
|
|
3626
3704
|
its documentation, so this exceeds `totalEntities` on a documented
|
|
3627
|
-
model and is not a count of entities.
|
|
3705
|
+
model and is not a count of entities. Scoped by model only, not by
|
|
3706
|
+
vector length, so it counts what is cached rather than what a
|
|
3707
|
+
search could read today: after a change to `EMBEDDING_DIMENSIONS`
|
|
3708
|
+
that no question has probed yet, rows of the old length are still
|
|
3709
|
+
counted here until the next search discards them. `status` is
|
|
3710
|
+
already `indexing` in that window.
|
|
3628
3711
|
totalEntities:
|
|
3629
3712
|
type: integer
|
|
3630
3713
|
description: Entities the package currently exposes to retrieval.
|
|
3631
3714
|
embeddedEntities:
|
|
3632
3715
|
type: integer
|
|
3633
3716
|
description: >-
|
|
3634
|
-
Of `totalEntities`, how many have at least one usable vector.
|
|
3635
|
-
|
|
3636
|
-
|
|
3637
|
-
|
|
3638
|
-
|
|
3717
|
+
Of `totalEntities`, how many have at least one usable vector.
|
|
3718
|
+
Reported because a row count cannot show a model edit that removes
|
|
3719
|
+
two entities and adds two others: the row total is unchanged while
|
|
3720
|
+
the new entities have no vector at all. Coverage by identity, so
|
|
3721
|
+
equality does NOT imply `ready`: an edit that rewrote every doc
|
|
3722
|
+
without renaming anything leaves each entity holding its stale
|
|
3723
|
+
name vector. Read `status` for readiness and this pair for how
|
|
3724
|
+
much of the package is covered.
|
|
3639
3725
|
lastSyncedAt:
|
|
3640
3726
|
type: string
|
|
3641
3727
|
format: date-time
|
|
@@ -3731,6 +3817,14 @@ components:
|
|
|
3731
3817
|
path:
|
|
3732
3818
|
type: string
|
|
3733
3819
|
description: Relative path to the model file within its package directory
|
|
3820
|
+
onSurface:
|
|
3821
|
+
type: boolean
|
|
3822
|
+
description: |
|
|
3823
|
+
Whether the file is on the package's surface: the files this route lists without
|
|
3824
|
+
`includeHiddenFilesAndSources`. True for every file of a package with no surface. It does not
|
|
3825
|
+
say whether a query can reach the file, which `queryableSources: "all"` also
|
|
3826
|
+
decides. False only on a file listed because the
|
|
3827
|
+
request set `includeHiddenFilesAndSources`.
|
|
3734
3828
|
error:
|
|
3735
3829
|
type: string
|
|
3736
3830
|
description: Error message if the model failed to compile or load
|
|
@@ -3751,12 +3845,18 @@ components:
|
|
|
3751
3845
|
title:
|
|
3752
3846
|
type: string
|
|
3753
3847
|
description:
|
|
3754
|
-
Human title
|
|
3755
|
-
its `#"` doc comment, then its first markdown heading.
|
|
3756
|
-
|
|
3848
|
+
Human title. For a `.malloynb`, resolved from its own `## title="…"`,
|
|
3849
|
+
then its `#"` doc comment, then its first markdown heading. For a
|
|
3850
|
+
`.malloy` notebook, from the `title` in its `## artifact` tag, then
|
|
3851
|
+
the first line of the `"` notes above that tag, then its first
|
|
3852
|
+
markdown heading when no prose precedes it. Absent when none of
|
|
3853
|
+
those resolve, leaving the caller to show the path.
|
|
3757
3854
|
description:
|
|
3758
3855
|
type: string
|
|
3759
|
-
description:
|
|
3856
|
+
description:
|
|
3857
|
+
The notebook's doc comment, when it has one. For a `.malloy`
|
|
3858
|
+
notebook that is the `"` notes above the `## artifact` line; prose
|
|
3859
|
+
below it is a `##(markdown)` or `##|(markdown)` cell.
|
|
3760
3860
|
error:
|
|
3761
3861
|
type: string
|
|
3762
3862
|
description: Error message if the notebook failed to compile or load
|
|
@@ -3792,7 +3892,10 @@ components:
|
|
|
3792
3892
|
doc comment and then to the slug
|
|
3793
3893
|
description:
|
|
3794
3894
|
type: string
|
|
3795
|
-
description:
|
|
3895
|
+
description: >-
|
|
3896
|
+
The file's unnamed `"` notes above the `## artifact` tag; when it
|
|
3897
|
+
has none there, the ones below it (a legacy spot the lint flags). For
|
|
3898
|
+
a dashboard whose tag sits on one query, that query's `#"` notes.
|
|
3796
3899
|
error:
|
|
3797
3900
|
type: string
|
|
3798
3901
|
description: Error message if the dashboard file failed to compile
|
|
@@ -3833,7 +3936,10 @@ components:
|
|
|
3833
3936
|
doc comment and then to the slug
|
|
3834
3937
|
description:
|
|
3835
3938
|
type: string
|
|
3836
|
-
description:
|
|
3939
|
+
description: >-
|
|
3940
|
+
The file's unnamed `"` notes above the `## artifact` tag; when it
|
|
3941
|
+
has none there, the ones below it (a legacy spot the lint flags). For
|
|
3942
|
+
a dashboard whose tag sits on one query, that query's `#"` notes.
|
|
3837
3943
|
error:
|
|
3838
3944
|
type: string
|
|
3839
3945
|
description: Error message if the dashboard file failed to compile
|
|
@@ -4015,6 +4121,14 @@ components:
|
|
|
4015
4121
|
modelPath:
|
|
4016
4122
|
type: string
|
|
4017
4123
|
description: Relative path to the notebook file within its package directory
|
|
4124
|
+
format:
|
|
4125
|
+
type: string
|
|
4126
|
+
enum: ["malloynb", "malloy"]
|
|
4127
|
+
description:
|
|
4128
|
+
The file format the notebook is written in. `malloynb` is the
|
|
4129
|
+
cell-separated format; `malloy` is a `.malloy` file under
|
|
4130
|
+
`notebooks/` with a model-level `## artifact` note, whose cells are
|
|
4131
|
+
its statements and its floating `(markdown)` notes in file order.
|
|
4018
4132
|
malloyVersion:
|
|
4019
4133
|
type: string
|
|
4020
4134
|
description: Version of the Malloy compiler used to generate the notebook data
|
|
@@ -4028,24 +4142,31 @@ components:
|
|
|
4028
4142
|
$ref: "#/components/schemas/NotebookCell"
|
|
4029
4143
|
annotations:
|
|
4030
4144
|
type: array
|
|
4031
|
-
description:
|
|
4145
|
+
description:
|
|
4146
|
+
Array of file-level (##) annotations attached to the notebook. For
|
|
4147
|
+
a `.malloy` notebook, every own note that is not a floating
|
|
4148
|
+
`(markdown)` cell, in file order, each note once. A `"` or `(text)`
|
|
4149
|
+
note below the `## artifact` tag is dropped and not listed.
|
|
4032
4150
|
items:
|
|
4033
4151
|
type: string
|
|
4034
4152
|
startingGivens:
|
|
4035
4153
|
allOf:
|
|
4036
4154
|
- $ref: "#/components/schemas/EncodedGivenValues"
|
|
4037
4155
|
description:
|
|
4038
|
-
Starting values for the notebook's controls
|
|
4039
|
-
|
|
4040
|
-
|
|
4156
|
+
Starting values for the notebook's controls. A `.malloy` notebook
|
|
4157
|
+
declares them in its artifact tag (`## artifact { givens { … } }`),
|
|
4158
|
+
a `.malloynb` in its file-level tags (`## givens { … }`). URL
|
|
4159
|
+
parameters override these, which is why the two share a shape.
|
|
4160
|
+
Omitted when the notebook declares none.
|
|
4041
4161
|
autorun:
|
|
4042
4162
|
type: boolean
|
|
4043
4163
|
description:
|
|
4044
4164
|
False batches control changes behind an Apply button instead of
|
|
4045
|
-
re-running on every change. Defaults to true.
|
|
4046
|
-
|
|
4047
|
-
|
|
4048
|
-
|
|
4165
|
+
re-running on every change. Defaults to true. A `.malloy` notebook
|
|
4166
|
+
reads it from its artifact tag (`## artifact { autorun=false }`), a
|
|
4167
|
+
`.malloynb` from its file-level tags (`## autorun=false`). The same
|
|
4168
|
+
flag, with the same default, that `DashboardManifest.autorun`
|
|
4169
|
+
carries.
|
|
4049
4170
|
sources:
|
|
4050
4171
|
type: array
|
|
4051
4172
|
description: Sources defined in the notebook's model
|
|
@@ -4517,9 +4638,56 @@ components:
|
|
|
4517
4638
|
type: string
|
|
4518
4639
|
enum: ["markdown", "code"]
|
|
4519
4640
|
description: Type of notebook cell
|
|
4641
|
+
kind:
|
|
4642
|
+
type: string
|
|
4643
|
+
enum: ["markdown", "query", "definition"]
|
|
4644
|
+
description:
|
|
4645
|
+
What a cell is, on a `.malloy` notebook. A definition cell
|
|
4646
|
+
(`source:`, `import`, `query:`, `given:`, `type:`, `export`) has type `code`
|
|
4647
|
+
and produces no result. Absent on a `.malloynb`.
|
|
4520
4648
|
text:
|
|
4521
4649
|
type: string
|
|
4522
4650
|
description: Text contents of the notebook cell (either markdown or Malloy code)
|
|
4651
|
+
markdown:
|
|
4652
|
+
type: string
|
|
4653
|
+
description:
|
|
4654
|
+
On a `.malloy` notebook's code cell, the prose written on the
|
|
4655
|
+
`(markdown)` route in its own tag lines (`#(markdown) text` lines,
|
|
4656
|
+
`#|(markdown)` … `|#` blocks), which `text` still contains. Blocks
|
|
4657
|
+
join with a blank line, adjacent lines with a newline. Author
|
|
4658
|
+
prose, so it is served even when `queryInfo` is withheld. Absent
|
|
4659
|
+
when the cell has none.
|
|
4660
|
+
proseLines:
|
|
4661
|
+
type: array
|
|
4662
|
+
description:
|
|
4663
|
+
Present on every code cell of a `.malloy` notebook, and absent on
|
|
4664
|
+
a `.malloynb` or from a server that predates it. The lines of
|
|
4665
|
+
`text` that hold `markdown`, as `[start, end]` pairs in file order;
|
|
4666
|
+
`[]` when the cell has none. Lines are 0-based and inclusive,
|
|
4667
|
+
counted on `text` split at `\n`. Strip exactly these lines to get
|
|
4668
|
+
the cell's code without its prose; do not re-derive them from
|
|
4669
|
+
`text`, whose first line has lost its indentation.
|
|
4670
|
+
items:
|
|
4671
|
+
type: array
|
|
4672
|
+
minItems: 2
|
|
4673
|
+
maxItems: 2
|
|
4674
|
+
items:
|
|
4675
|
+
type: integer
|
|
4676
|
+
codeLine:
|
|
4677
|
+
type: integer
|
|
4678
|
+
description:
|
|
4679
|
+
Present on every code cell of a `.malloy` notebook, as `proseLines`
|
|
4680
|
+
is. The 0-based line of `text` (split at `\n`) where the
|
|
4681
|
+
statement's code starts, its first token that is neither a note nor
|
|
4682
|
+
a comment, so the `source`, `run`, `given` or `import` keyword sits
|
|
4683
|
+
on it.
|
|
4684
|
+
caption:
|
|
4685
|
+
type: string
|
|
4686
|
+
description:
|
|
4687
|
+
On a `.malloy` notebook's code cell, the joined text of its leading
|
|
4688
|
+
`#"` lines (space-joined, trimmed). Author prose, so it is served
|
|
4689
|
+
even when `queryInfo` is withheld. Absent when the cell has none,
|
|
4690
|
+
which is authoritative wherever `proseLines` is present.
|
|
4523
4691
|
newSources:
|
|
4524
4692
|
type: array
|
|
4525
4693
|
description:
|
|
@@ -4542,9 +4710,33 @@ components:
|
|
|
4542
4710
|
type: string
|
|
4543
4711
|
enum: ["markdown", "code"]
|
|
4544
4712
|
description: Type of notebook cell
|
|
4713
|
+
kind:
|
|
4714
|
+
type: string
|
|
4715
|
+
enum: ["markdown", "query", "definition"]
|
|
4716
|
+
description: The cell's kind, on a `.malloy` notebook. Absent on a `.malloynb`.
|
|
4545
4717
|
text:
|
|
4546
4718
|
type: string
|
|
4547
4719
|
description: Text contents of the notebook cell
|
|
4720
|
+
markdown:
|
|
4721
|
+
type: string
|
|
4722
|
+
description:
|
|
4723
|
+
A `.malloy` notebook code cell's own `(markdown)` prose, as on
|
|
4724
|
+
`NotebookCell`. Absent when the cell has none.
|
|
4725
|
+
proseLines:
|
|
4726
|
+
type: array
|
|
4727
|
+
description: The lines of `text` that hold `markdown`, as on `NotebookCell`; `[]` when none.
|
|
4728
|
+
items:
|
|
4729
|
+
type: array
|
|
4730
|
+
minItems: 2
|
|
4731
|
+
maxItems: 2
|
|
4732
|
+
items:
|
|
4733
|
+
type: integer
|
|
4734
|
+
codeLine:
|
|
4735
|
+
type: integer
|
|
4736
|
+
description: The line of `text` where the statement's code starts, as on `NotebookCell`.
|
|
4737
|
+
caption:
|
|
4738
|
+
type: string
|
|
4739
|
+
description: The cell's leading `#"` caption, as on `NotebookCell`. Absent when the cell has none.
|
|
4548
4740
|
result:
|
|
4549
4741
|
type: string
|
|
4550
4742
|
description: JSON string containing the execution result for this cell
|
|
@@ -7132,6 +7324,38 @@ components:
|
|
|
7132
7324
|
gate rejects anyway.
|
|
7133
7325
|
|
|
7134
7326
|
parameters:
|
|
7327
|
+
includeHiddenFilesAndSources:
|
|
7328
|
+
name: includeHiddenFilesAndSources
|
|
7329
|
+
in: query
|
|
7330
|
+
required: false
|
|
7331
|
+
description: |
|
|
7332
|
+
When true, a package with a surface (a root `index.malloy`, or a legacy
|
|
7333
|
+
`explores`) is served to this request as if it had none: the models
|
|
7334
|
+
list includes the files off the surface, the model GET returns them, and
|
|
7335
|
+
the query route runs any model path the request names, including a
|
|
7336
|
+
dashboard or notebook file, against every source, as
|
|
7337
|
+
`queryableSources: "all"` does for every request. `#(authorize)` and
|
|
7338
|
+
`#(access_filter)` still apply: it lifts curation, never the lock.
|
|
7339
|
+
|
|
7340
|
+
The model GET goes one step further than `queryableSources: "all"`: it
|
|
7341
|
+
returns the file's `sourceText` even when that text names a source the
|
|
7342
|
+
file does not publish. That text can include `#(authorize)`
|
|
7343
|
+
expressions, `given:` defaults, connection names and raw SQL.
|
|
7344
|
+
|
|
7345
|
+
Only the models list, the model GET and the query route read it. The
|
|
7346
|
+
notebook-cell route, the dashboards route, the MCP tools, and the legacy
|
|
7347
|
+
`/projects/...` aliases of these routes ignore it.
|
|
7348
|
+
|
|
7349
|
+
Like every route on this server, it is unauthenticated. A deployment
|
|
7350
|
+
that authenticates in front of Publisher decides who may send it, and
|
|
7351
|
+
should pass it only for callers allowed to work with a package's hidden
|
|
7352
|
+
files, such as its authors.
|
|
7353
|
+
|
|
7354
|
+
Only `true` and `false` are accepted. Any other value is refused with
|
|
7355
|
+
400.
|
|
7356
|
+
schema:
|
|
7357
|
+
type: boolean
|
|
7358
|
+
default: false
|
|
7135
7359
|
environmentName:
|
|
7136
7360
|
name: environmentName
|
|
7137
7361
|
in: path
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{f as r,L as t,j as e,a7 as i,ai as o}from"./index-D7mqb3VK.js";function m(){const s=r(),{environmentName:n}=t();if(n){const a=i({environmentName:n});return e.jsx(o,{onSelectPackage:s,resourceUri:a})}else return e.jsx("div",{children:e.jsx("h2",{children:"Missing environment name"})})}export{m as default};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{
|
|
1
|
+
import{f as t,j as o,M as a}from"./index-D7mqb3VK.js";function s(){const n=t();return o.jsx(a,{onClickEnvironment:n})}export{s as default};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{c,j as s}from"./index-
|
|
1
|
+
import{c,j as s}from"./index-D7mqb3VK.js";const t=c(s.jsx("path",{d:"M12 3c-4.97 0-9 4.03-9 9s4.03 9 9 9 9-4.03 9-9c0-.46-.04-.92-.1-1.36-.98 1.37-2.58 2.26-4.4 2.26-2.98 0-5.4-2.42-5.4-5.4 0-1.81.89-3.42 2.26-4.4-.44-.06-.9-.1-1.36-.1"})),a=c(s.jsx("path",{d:"M12 7c-2.76 0-5 2.24-5 5s2.24 5 5 5 5-2.24 5-5-2.24-5-5-5M2 13h2c.55 0 1-.45 1-1s-.45-1-1-1H2c-.55 0-1 .45-1 1s.45 1 1 1m18 0h2c.55 0 1-.45 1-1s-.45-1-1-1h-2c-.55 0-1 .45-1 1s.45 1 1 1M11 2v2c0 .55.45 1 1 1s1-.45 1-1V2c0-.55-.45-1-1-1s-1 .45-1 1m0 18v2c0 .55.45 1 1 1s1-.45 1-1v-2c0-.55-.45-1-1-1s-1 .45-1 1M5.99 4.58c-.39-.39-1.03-.39-1.41 0-.39.39-.39 1.03 0 1.41l1.06 1.06c.39.39 1.03.39 1.41 0s.39-1.03 0-1.41zm12.37 12.37c-.39-.39-1.03-.39-1.41 0-.39.39-.39 1.03 0 1.41l1.06 1.06c.39.39 1.03.39 1.41 0 .39-.39.39-1.03 0-1.41zm1.06-10.96c.39-.39.39-1.03 0-1.41-.39-.39-1.03-.39-1.41 0l-1.06 1.06c-.39.39-.39 1.03 0 1.41s1.03.39 1.41 0zM7.05 18.36c.39-.39.39-1.03 0-1.41-.39-.39-1.03-.39-1.41 0l-1.06 1.06c-.39.39-.39 1.03 0 1.41s1.03.39 1.41 0z"}));export{t as D,a as L};
|