@fallen-8/studio 0.0.32
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/LICENSE +21 -0
- package/README.md +93 -0
- package/dist-lib/Canvas3D-C5og4ZIQ.js +62011 -0
- package/dist-lib/F8GraphCanvas-Db7vzDtJ.js +11085 -0
- package/dist-lib/abap-Bs8kvjsq.js +1398 -0
- package/dist-lib/apex-Dspwrl5m.js +326 -0
- package/dist-lib/azcli-k1BiOau1.js +68 -0
- package/dist-lib/bat-BIP72KWc.js +100 -0
- package/dist-lib/bicep-VhQeYhS3.js +102 -0
- package/dist-lib/cameligo-DnuAXtHg.js +174 -0
- package/dist-lib/canvas.js +13 -0
- package/dist-lib/clojure-BAuDPsal.js +761 -0
- package/dist-lib/coffee-BV06qSnj.js +232 -0
- package/dist-lib/cpp-Cz8Jeyrf.js +389 -0
- package/dist-lib/csharp-F6hhlXFb.js +326 -0
- package/dist-lib/csp-KzlEHCyI.js +53 -0
- package/dist-lib/css-e4FKntZ3.js +187 -0
- package/dist-lib/cssMode-Czf2vRA3.js +1571 -0
- package/dist-lib/cypher-CpvDGKRr.js +263 -0
- package/dist-lib/dart-DdHeFWR0.js +281 -0
- package/dist-lib/dockerfile-aoNXDcio.js +130 -0
- package/dist-lib/ecl-C4Q0DYuA.js +456 -0
- package/dist-lib/elixir-C9X42b0T.js +569 -0
- package/dist-lib/f8-studio.css +1 -0
- package/dist-lib/f8-studio.js +16 -0
- package/dist-lib/flow9-Bff42pfB.js +142 -0
- package/dist-lib/freemarker2-BtInkOsd.js +989 -0
- package/dist-lib/fsharp-C6vPAsHG.js +217 -0
- package/dist-lib/go-DEr8zx9f.js +218 -0
- package/dist-lib/graphql-BiNBBRFh.js +151 -0
- package/dist-lib/handlebars-UwZ7mBGA.js +419 -0
- package/dist-lib/hcl-2T9lKuFg.js +183 -0
- package/dist-lib/html-BXX93YIe.js +308 -0
- package/dist-lib/htmlMode-BCqQu1PO.js +1581 -0
- package/dist-lib/index-DFm6T7Un.js +132450 -0
- package/dist-lib/ini-CZGtssYM.js +71 -0
- package/dist-lib/java-B260NeH3.js +232 -0
- package/dist-lib/javascript-CK1z7Ynl.js +70 -0
- package/dist-lib/jsonMode-C4Q3fVvV.js +1996 -0
- package/dist-lib/julia-kuNLM9c5.js +511 -0
- package/dist-lib/kotlin-Bz6kAefA.js +253 -0
- package/dist-lib/less-AZUtS89I.js +162 -0
- package/dist-lib/lexon-BcmgnyRb.js +157 -0
- package/dist-lib/liquid-BnCUERBj.js +240 -0
- package/dist-lib/lua-Dz1RbATg.js +162 -0
- package/dist-lib/m3-CIMooLFn.js +210 -0
- package/dist-lib/markdown-C1BsCK9P.js +229 -0
- package/dist-lib/mdx-D2enmFMs.js +165 -0
- package/dist-lib/mips-BovsnfLQ.js +198 -0
- package/dist-lib/msdax-CiRB2ZB-.js +375 -0
- package/dist-lib/mysql-BwdpPE19.js +878 -0
- package/dist-lib/objective-c-D4nfHfso.js +183 -0
- package/dist-lib/pascal--j5-PYtz.js +251 -0
- package/dist-lib/pascaligo-C7TcJxNL.js +164 -0
- package/dist-lib/perl-BzEWqUb5.js +626 -0
- package/dist-lib/pgsql-B_KZ0mGX.js +851 -0
- package/dist-lib/php-A19QHzQV.js +500 -0
- package/dist-lib/pla-COeKY1hA.js +137 -0
- package/dist-lib/postiats-BfMp7zJL.js +907 -0
- package/dist-lib/powerquery-B0TS_5Gb.js +890 -0
- package/dist-lib/powershell-5jSbKdYB.js +239 -0
- package/dist-lib/protobuf-YgnOutn3.js +420 -0
- package/dist-lib/pug-DLej6kn5.js +402 -0
- package/dist-lib/python-DJvSF53q.js +301 -0
- package/dist-lib/qsharp-AhjqtSHB.js +301 -0
- package/dist-lib/r-D-F4P80w.js +243 -0
- package/dist-lib/razor-RerkagjP.js +550 -0
- package/dist-lib/redis-hwwIlMnV.js +302 -0
- package/dist-lib/redshift-Bcm_kjEG.js +809 -0
- package/dist-lib/restructuredtext-CrdzfPP-.js +174 -0
- package/dist-lib/ruby-QC2UNm1s.js +511 -0
- package/dist-lib/rust-5aqiQ3L5.js +343 -0
- package/dist-lib/sb-B1g1ZfLJ.js +115 -0
- package/dist-lib/scala-C2U4R5Gb.js +370 -0
- package/dist-lib/scheme-DeFRbslr.js +108 -0
- package/dist-lib/scss-RSTCiCmI.js +262 -0
- package/dist-lib/shell-BpF-iNu8.js +221 -0
- package/dist-lib/solidity-C00r2mbQ.js +1367 -0
- package/dist-lib/sophia-DVW5ZKDB.js +199 -0
- package/dist-lib/sparql-B0nmpxeX.js +201 -0
- package/dist-lib/sql-CJwKPERn.js +853 -0
- package/dist-lib/st-DPlKG5DT.js +416 -0
- package/dist-lib/swift-YZBAbVHV.js +309 -0
- package/dist-lib/systemverilog-CDQSaH63.js +576 -0
- package/dist-lib/tcl-Dlu8sp6Q.js +232 -0
- package/dist-lib/tsMode-C-6d-f_-.js +886 -0
- package/dist-lib/twig-C5TO7-kw.js +392 -0
- package/dist-lib/types/api/changefeed.d.ts +113 -0
- package/dist-lib/types/api/client.d.ts +81 -0
- package/dist-lib/types/api/endpoints.d.ts +197 -0
- package/dist-lib/types/api/queries.d.ts +8 -0
- package/dist-lib/types/api/types.d.ts +1032 -0
- package/dist-lib/types/app/AppShell.d.ts +10 -0
- package/dist-lib/types/app/NamespaceScope.d.ts +11 -0
- package/dist-lib/types/app/applyStudioConfig.d.ts +18 -0
- package/dist-lib/types/app/mount.d.ts +19 -0
- package/dist-lib/types/app/nav.d.ts +91 -0
- package/dist-lib/types/app/routes.d.ts +9 -0
- package/dist-lib/types/app/studioConfig.d.ts +106 -0
- package/dist-lib/types/canvas/Canvas2D.d.ts +18 -0
- package/dist-lib/types/canvas/Canvas3D.d.ts +14 -0
- package/dist-lib/types/canvas/ConnectPanel.d.ts +10 -0
- package/dist-lib/types/canvas/FindPanel.d.ts +14 -0
- package/dist-lib/types/canvas/GraphCanvas.d.ts +66 -0
- package/dist-lib/types/canvas/StylePanel.d.ts +7 -0
- package/dist-lib/types/canvas/eclipse.d.ts +136 -0
- package/dist-lib/types/canvas/imageAssets.d.ts +3 -0
- package/dist-lib/types/canvas/styleConfig.d.ts +48 -0
- package/dist-lib/types/canvas/styleEngine.d.ts +125 -0
- package/dist-lib/types/canvas/styling.d.ts +15 -0
- package/dist-lib/types/components/AdjacencyPanel.d.ts +11 -0
- package/dist-lib/types/components/AnalyticsRunner.d.ts +1 -0
- package/dist-lib/types/components/ConfigurationPanel.d.ts +1 -0
- package/dist-lib/types/components/ConfirmDialog.d.ts +18 -0
- package/dist-lib/types/components/DurabilityNotice.d.ts +18 -0
- package/dist-lib/types/components/ElementDetail.d.ts +11 -0
- package/dist-lib/types/components/ElementTable.d.ts +19 -0
- package/dist-lib/types/components/EmbeddingsTab.d.ts +15 -0
- package/dist-lib/types/components/ErrorBox.d.ts +8 -0
- package/dist-lib/types/components/EventFeedBell.d.ts +16 -0
- package/dist-lib/types/components/EventFeedPanel.d.ts +10 -0
- package/dist-lib/types/components/Field.d.ts +14 -0
- package/dist-lib/types/components/GraphShapePanel.d.ts +1 -0
- package/dist-lib/types/components/InspectLink.d.ts +5 -0
- package/dist-lib/types/components/ListCapNote.d.ts +10 -0
- package/dist-lib/types/components/MutationsPanel.d.ts +1 -0
- package/dist-lib/types/components/NamespaceSwitcher.d.ts +22 -0
- package/dist-lib/types/components/NamespacesPanel.d.ts +11 -0
- package/dist-lib/types/components/NeighborhoodPreview.d.ts +10 -0
- package/dist-lib/types/components/PluginsPanel.d.ts +9 -0
- package/dist-lib/types/components/PropertiesTab.d.ts +4 -0
- package/dist-lib/types/components/PropertyListEditor.d.ts +26 -0
- package/dist-lib/types/components/SampleGraphsPanel.d.ts +3 -0
- package/dist-lib/types/components/SectionHelp.d.ts +11 -0
- package/dist-lib/types/components/SemanticBlockEditor.d.ts +29 -0
- package/dist-lib/types/components/SemanticQueryEditor.d.ts +15 -0
- package/dist-lib/types/components/SettingRow.d.ts +15 -0
- package/dist-lib/types/components/Stat.d.ts +10 -0
- package/dist-lib/types/components/StoredQueriesPanel.d.ts +14 -0
- package/dist-lib/types/components/StoredQueryControls.d.ts +29 -0
- package/dist-lib/types/components/Truncated.d.ts +17 -0
- package/dist-lib/types/components/TruncationBadge.d.ts +6 -0
- package/dist-lib/types/components/TypedLiteralEditor.d.ts +13 -0
- package/dist-lib/types/components/VertexFilterSlot.d.ts +25 -0
- package/dist-lib/types/delegate/DelegateEditor.d.ts +10 -0
- package/dist-lib/types/delegate/DelegateSlot.d.ts +18 -0
- package/dist-lib/types/delegate/editorOptions.d.ts +25 -0
- package/dist-lib/types/delegate/kinds.d.ts +19 -0
- package/dist-lib/types/delegate/markers.d.ts +21 -0
- package/dist-lib/types/delegate/monacoSetup.d.ts +3 -0
- package/dist-lib/types/delegate/nl/NlAssistPanel.d.ts +10 -0
- package/dist-lib/types/delegate/nl/NlBackendConfig.d.ts +12 -0
- package/dist-lib/types/delegate/nl/NlDraftList.d.ts +42 -0
- package/dist-lib/types/delegate/nl/config.d.ts +105 -0
- package/dist-lib/types/delegate/nl/feedback.d.ts +30 -0
- package/dist-lib/types/delegate/nl/format.d.ts +6 -0
- package/dist-lib/types/delegate/nl/generate.d.ts +57 -0
- package/dist-lib/types/delegate/nl/prompt.d.ts +21 -0
- package/dist-lib/types/delegate/nl/useNlRun.d.ts +24 -0
- package/dist-lib/types/delegate/providers.d.ts +26 -0
- package/dist-lib/types/delegate/snippets.d.ts +25 -0
- package/dist-lib/types/embed/F8GraphCanvas.d.ts +37 -0
- package/dist-lib/types/embed/canvas.d.ts +23 -0
- package/dist-lib/types/embed/index.d.ts +14 -0
- package/dist-lib/types/firstrun/FirstRunOverlay.d.ts +10 -0
- package/dist-lib/types/firstrun/FirstRunShow.d.ts +22 -0
- package/dist-lib/types/firstrun/beats.d.ts +23 -0
- package/dist-lib/types/firstrun/firstRunStore.d.ts +38 -0
- package/dist-lib/types/firstrun/mockGraph.d.ts +56 -0
- package/dist-lib/types/firstrun/useBeatTimeline.d.ts +35 -0
- package/dist-lib/types/firstrun/useReducedMotion.d.ts +7 -0
- package/dist-lib/types/instances/registry.d.ts +83 -0
- package/dist-lib/types/instances/types.d.ts +49 -0
- package/dist-lib/types/lib/canvasCap.d.ts +7 -0
- package/dist-lib/types/lib/connectPaths.d.ts +55 -0
- package/dist-lib/types/lib/embeddingProperties.d.ts +6 -0
- package/dist-lib/types/lib/fieldHelp.d.ts +139 -0
- package/dist-lib/types/lib/format.d.ts +16 -0
- package/dist-lib/types/lib/hydrate.d.ts +37 -0
- package/dist-lib/types/lib/indexCapabilities.d.ts +17 -0
- package/dist-lib/types/lib/jsonlGraph.d.ts +42 -0
- package/dist-lib/types/lib/listCaps.d.ts +48 -0
- package/dist-lib/types/lib/literals.d.ts +36 -0
- package/dist-lib/types/lib/namespaceName.d.ts +10 -0
- package/dist-lib/types/lib/neighborhood.d.ts +37 -0
- package/dist-lib/types/lib/patternValidation.d.ts +12 -0
- package/dist-lib/types/lib/restartCopy.d.ts +11 -0
- package/dist-lib/types/lib/sampleLoader.d.ts +95 -0
- package/dist-lib/types/lib/samples.d.ts +87 -0
- package/dist-lib/types/lib/sbomGraph.d.ts +58 -0
- package/dist-lib/types/lib/sectionHelp.d.ts +39 -0
- package/dist-lib/types/lib/semantic.d.ts +95 -0
- package/dist-lib/types/lib/storedQueries.d.ts +43 -0
- package/dist-lib/types/lib/truncate.d.ts +34 -0
- package/dist-lib/types/lib/truncation.d.ts +7 -0
- package/dist-lib/types/lib/vector.d.ts +13 -0
- package/dist-lib/types/main.d.ts +1 -0
- package/dist-lib/types/plugin/PluginEditor.d.ts +20 -0
- package/dist-lib/types/plugin/nl/PluginNlAssistPanel.d.ts +13 -0
- package/dist-lib/types/plugin/nl/pluginPrompt.d.ts +48 -0
- package/dist-lib/types/plugin/scaffolds.d.ts +26 -0
- package/dist-lib/types/screens/AnalyticsScreen.d.ts +8 -0
- package/dist-lib/types/screens/BenchmarkScreen.d.ts +1 -0
- package/dist-lib/types/screens/BrowserScreen.d.ts +6 -0
- package/dist-lib/types/screens/CanvasScreen.d.ts +10 -0
- package/dist-lib/types/screens/ConnectScreen.d.ts +1 -0
- package/dist-lib/types/screens/DashboardScreen.d.ts +13 -0
- package/dist-lib/types/screens/IndexesScreen.d.ts +8 -0
- package/dist-lib/types/screens/IntegrationsScreen.d.ts +14 -0
- package/dist-lib/types/screens/KnowledgeScreen.d.ts +1 -0
- package/dist-lib/types/screens/PathScreen.d.ts +9 -0
- package/dist-lib/types/screens/PluginsScreen.d.ts +1 -0
- package/dist-lib/types/screens/QueryScreen.d.ts +1 -0
- package/dist-lib/types/screens/SamplesScreen.d.ts +7 -0
- package/dist-lib/types/screens/SaveGamesScreen.d.ts +7 -0
- package/dist-lib/types/screens/SubgraphScreen.d.ts +1 -0
- package/dist-lib/types/state/eventFeed.d.ts +63 -0
- package/dist-lib/types/state/feedFilter.d.ts +42 -0
- package/dist-lib/types/state/graphShape.d.ts +37 -0
- package/dist-lib/types/state/instanceStore.d.ts +280 -0
- package/dist-lib/types/state/integrations.d.ts +25 -0
- package/dist-lib/types/state/liveFeed.d.ts +37 -0
- package/dist-lib/types/state/scopeKey.d.ts +8 -0
- package/dist-lib/types/state/status.d.ts +21 -0
- package/dist-lib/typescript-aCo3H3H0.js +343 -0
- package/dist-lib/typespec-BsmjDEu7.js +117 -0
- package/dist-lib/vb-ChHvIDrk.js +372 -0
- package/dist-lib/wgsl-XEp1ju8c.js +439 -0
- package/dist-lib/xml-CSt-F-dl.js +95 -0
- package/dist-lib/yaml-kSsc3ru_.js +206 -0
- package/package.json +98 -0
|
@@ -0,0 +1,392 @@
|
|
|
1
|
+
var t = {
|
|
2
|
+
wordPattern: /(-?\d*\.\d\w*)|([^\`\~\!\@\$\^\&\*\(\)\=\+\[\{\]\}\\\|\;\:\'\"\,\.\<\>\/\s]+)/g,
|
|
3
|
+
comments: {
|
|
4
|
+
blockComment: ["{#", "#}"]
|
|
5
|
+
},
|
|
6
|
+
brackets: [
|
|
7
|
+
["{#", "#}"],
|
|
8
|
+
["{%", "%}"],
|
|
9
|
+
["{{", "}}"],
|
|
10
|
+
["(", ")"],
|
|
11
|
+
["[", "]"],
|
|
12
|
+
// HTML
|
|
13
|
+
["<!--", "-->"],
|
|
14
|
+
["<", ">"]
|
|
15
|
+
],
|
|
16
|
+
autoClosingPairs: [
|
|
17
|
+
{ open: "{# ", close: " #}" },
|
|
18
|
+
{ open: "{% ", close: " %}" },
|
|
19
|
+
{ open: "{{ ", close: " }}" },
|
|
20
|
+
{ open: "[", close: "]" },
|
|
21
|
+
{ open: "(", close: ")" },
|
|
22
|
+
{ open: '"', close: '"' },
|
|
23
|
+
{ open: "'", close: "'" }
|
|
24
|
+
],
|
|
25
|
+
surroundingPairs: [
|
|
26
|
+
{ open: '"', close: '"' },
|
|
27
|
+
{ open: "'", close: "'" },
|
|
28
|
+
// HTML
|
|
29
|
+
{ open: "<", close: ">" }
|
|
30
|
+
]
|
|
31
|
+
}, e = {
|
|
32
|
+
defaultToken: "",
|
|
33
|
+
tokenPostfix: "",
|
|
34
|
+
ignoreCase: !0,
|
|
35
|
+
keywords: [
|
|
36
|
+
// (opening) tags
|
|
37
|
+
"apply",
|
|
38
|
+
"autoescape",
|
|
39
|
+
"block",
|
|
40
|
+
"deprecated",
|
|
41
|
+
"do",
|
|
42
|
+
"embed",
|
|
43
|
+
"extends",
|
|
44
|
+
"flush",
|
|
45
|
+
"for",
|
|
46
|
+
"from",
|
|
47
|
+
"if",
|
|
48
|
+
"import",
|
|
49
|
+
"include",
|
|
50
|
+
"macro",
|
|
51
|
+
"sandbox",
|
|
52
|
+
"set",
|
|
53
|
+
"use",
|
|
54
|
+
"verbatim",
|
|
55
|
+
"with",
|
|
56
|
+
// closing tags
|
|
57
|
+
"endapply",
|
|
58
|
+
"endautoescape",
|
|
59
|
+
"endblock",
|
|
60
|
+
"endembed",
|
|
61
|
+
"endfor",
|
|
62
|
+
"endif",
|
|
63
|
+
"endmacro",
|
|
64
|
+
"endsandbox",
|
|
65
|
+
"endset",
|
|
66
|
+
"endwith",
|
|
67
|
+
// literals
|
|
68
|
+
"true",
|
|
69
|
+
"false"
|
|
70
|
+
],
|
|
71
|
+
tokenizer: {
|
|
72
|
+
root: [
|
|
73
|
+
// whitespace
|
|
74
|
+
[/\s+/],
|
|
75
|
+
// Twig Tag Delimiters
|
|
76
|
+
[/{#/, "comment.twig", "@commentState"],
|
|
77
|
+
[/{%[-~]?/, "delimiter.twig", "@blockState"],
|
|
78
|
+
[/{{[-~]?/, "delimiter.twig", "@variableState"],
|
|
79
|
+
// HTML
|
|
80
|
+
[/<!DOCTYPE/, "metatag.html", "@doctype"],
|
|
81
|
+
[/<!--/, "comment.html", "@comment"],
|
|
82
|
+
[/(<)((?:[\w\-]+:)?[\w\-]+)(\s*)(\/>)/, ["delimiter.html", "tag.html", "", "delimiter.html"]],
|
|
83
|
+
[/(<)(script)/, ["delimiter.html", { token: "tag.html", next: "@script" }]],
|
|
84
|
+
[/(<)(style)/, ["delimiter.html", { token: "tag.html", next: "@style" }]],
|
|
85
|
+
[/(<)((?:[\w\-]+:)?[\w\-]+)/, ["delimiter.html", { token: "tag.html", next: "@otherTag" }]],
|
|
86
|
+
[/(<\/)((?:[\w\-]+:)?[\w\-]+)/, ["delimiter.html", { token: "tag.html", next: "@otherTag" }]],
|
|
87
|
+
[/</, "delimiter.html"],
|
|
88
|
+
[/[^<{]+/]
|
|
89
|
+
// text
|
|
90
|
+
],
|
|
91
|
+
/**
|
|
92
|
+
* Comment Tag Handling
|
|
93
|
+
*/
|
|
94
|
+
commentState: [
|
|
95
|
+
[/#}/, "comment.twig", "@pop"],
|
|
96
|
+
[/./, "comment.twig"]
|
|
97
|
+
],
|
|
98
|
+
/**
|
|
99
|
+
* Block Tag Handling
|
|
100
|
+
*/
|
|
101
|
+
blockState: [
|
|
102
|
+
[/[-~]?%}/, "delimiter.twig", "@pop"],
|
|
103
|
+
// whitespace
|
|
104
|
+
[/\s+/],
|
|
105
|
+
// verbatim
|
|
106
|
+
// Unlike other blocks, verbatim ehas its own state
|
|
107
|
+
// transition to ensure we mark its contents as strings.
|
|
108
|
+
[
|
|
109
|
+
/(verbatim)(\s*)([-~]?%})/,
|
|
110
|
+
["keyword.twig", "", { token: "delimiter.twig", next: "@rawDataState" }]
|
|
111
|
+
],
|
|
112
|
+
{ include: "expression" }
|
|
113
|
+
],
|
|
114
|
+
rawDataState: [
|
|
115
|
+
// endverbatim
|
|
116
|
+
[
|
|
117
|
+
/({%[-~]?)(\s*)(endverbatim)(\s*)([-~]?%})/,
|
|
118
|
+
["delimiter.twig", "", "keyword.twig", "", { token: "delimiter.twig", next: "@popall" }]
|
|
119
|
+
],
|
|
120
|
+
[/./, "string.twig"]
|
|
121
|
+
],
|
|
122
|
+
/**
|
|
123
|
+
* Variable Tag Handling
|
|
124
|
+
*/
|
|
125
|
+
variableState: [[/[-~]?}}/, "delimiter.twig", "@pop"], { include: "expression" }],
|
|
126
|
+
stringState: [
|
|
127
|
+
// closing double quoted string
|
|
128
|
+
[/"/, "string.twig", "@pop"],
|
|
129
|
+
// interpolation start
|
|
130
|
+
[/#{\s*/, "string.twig", "@interpolationState"],
|
|
131
|
+
// string part
|
|
132
|
+
[/[^#"\\]*(?:(?:\\.|#(?!\{))[^#"\\]*)*/, "string.twig"]
|
|
133
|
+
],
|
|
134
|
+
interpolationState: [
|
|
135
|
+
// interpolation end
|
|
136
|
+
[/}/, "string.twig", "@pop"],
|
|
137
|
+
{ include: "expression" }
|
|
138
|
+
],
|
|
139
|
+
/**
|
|
140
|
+
* Expression Handling
|
|
141
|
+
*/
|
|
142
|
+
expression: [
|
|
143
|
+
// whitespace
|
|
144
|
+
[/\s+/],
|
|
145
|
+
// operators - math
|
|
146
|
+
[/\+|-|\/{1,2}|%|\*{1,2}/, "operators.twig"],
|
|
147
|
+
// operators - logic
|
|
148
|
+
[/(and|or|not|b-and|b-xor|b-or)(\s+)/, ["operators.twig", ""]],
|
|
149
|
+
// operators - comparison (symbols)
|
|
150
|
+
[/==|!=|<|>|>=|<=/, "operators.twig"],
|
|
151
|
+
// operators - comparison (words)
|
|
152
|
+
[/(starts with|ends with|matches)(\s+)/, ["operators.twig", ""]],
|
|
153
|
+
// operators - containment
|
|
154
|
+
[/(in)(\s+)/, ["operators.twig", ""]],
|
|
155
|
+
// operators - test
|
|
156
|
+
[/(is)(\s+)/, ["operators.twig", ""]],
|
|
157
|
+
// operators - misc
|
|
158
|
+
[/\||~|:|\.{1,2}|\?{1,2}/, "operators.twig"],
|
|
159
|
+
// names
|
|
160
|
+
[
|
|
161
|
+
/[^\W\d][\w]*/,
|
|
162
|
+
{
|
|
163
|
+
cases: {
|
|
164
|
+
"@keywords": "keyword.twig",
|
|
165
|
+
"@default": "variable.twig"
|
|
166
|
+
}
|
|
167
|
+
}
|
|
168
|
+
],
|
|
169
|
+
// numbers
|
|
170
|
+
[/\d+(\.\d+)?/, "number.twig"],
|
|
171
|
+
// punctuation
|
|
172
|
+
[/\(|\)|\[|\]|{|}|,/, "delimiter.twig"],
|
|
173
|
+
// strings
|
|
174
|
+
[/"([^#"\\]*(?:\\.[^#"\\]*)*)"|\'([^\'\\]*(?:\\.[^\'\\]*)*)\'/, "string.twig"],
|
|
175
|
+
// opening double quoted string
|
|
176
|
+
[/"/, "string.twig", "@stringState"],
|
|
177
|
+
// misc syntactic constructs
|
|
178
|
+
// These are not operators per se, but for the purposes of lexical analysis we
|
|
179
|
+
// can treat them as such.
|
|
180
|
+
// arrow functions
|
|
181
|
+
[/=>/, "operators.twig"],
|
|
182
|
+
// assignment
|
|
183
|
+
[/=/, "operators.twig"]
|
|
184
|
+
],
|
|
185
|
+
/**
|
|
186
|
+
* HTML
|
|
187
|
+
*/
|
|
188
|
+
doctype: [
|
|
189
|
+
[/[^>]+/, "metatag.content.html"],
|
|
190
|
+
[/>/, "metatag.html", "@pop"]
|
|
191
|
+
],
|
|
192
|
+
comment: [
|
|
193
|
+
[/-->/, "comment.html", "@pop"],
|
|
194
|
+
[/[^-]+/, "comment.content.html"],
|
|
195
|
+
[/./, "comment.content.html"]
|
|
196
|
+
],
|
|
197
|
+
otherTag: [
|
|
198
|
+
[/\/?>/, "delimiter.html", "@pop"],
|
|
199
|
+
[/"([^"]*)"/, "attribute.value.html"],
|
|
200
|
+
[/'([^']*)'/, "attribute.value.html"],
|
|
201
|
+
[/[\w\-]+/, "attribute.name.html"],
|
|
202
|
+
[/=/, "delimiter.html"],
|
|
203
|
+
[/[ \t\r\n]+/]
|
|
204
|
+
// whitespace
|
|
205
|
+
],
|
|
206
|
+
// -- BEGIN <script> tags handling
|
|
207
|
+
// After <script
|
|
208
|
+
script: [
|
|
209
|
+
[/type/, "attribute.name.html", "@scriptAfterType"],
|
|
210
|
+
[/"([^"]*)"/, "attribute.value.html"],
|
|
211
|
+
[/'([^']*)'/, "attribute.value.html"],
|
|
212
|
+
[/[\w\-]+/, "attribute.name.html"],
|
|
213
|
+
[/=/, "delimiter.html"],
|
|
214
|
+
[
|
|
215
|
+
/>/,
|
|
216
|
+
{
|
|
217
|
+
token: "delimiter.html",
|
|
218
|
+
next: "@scriptEmbedded",
|
|
219
|
+
nextEmbedded: "text/javascript"
|
|
220
|
+
}
|
|
221
|
+
],
|
|
222
|
+
[/[ \t\r\n]+/],
|
|
223
|
+
// whitespace
|
|
224
|
+
[
|
|
225
|
+
/(<\/)(script\s*)(>)/,
|
|
226
|
+
["delimiter.html", "tag.html", { token: "delimiter.html", next: "@pop" }]
|
|
227
|
+
]
|
|
228
|
+
],
|
|
229
|
+
// After <script ... type
|
|
230
|
+
scriptAfterType: [
|
|
231
|
+
[/=/, "delimiter.html", "@scriptAfterTypeEquals"],
|
|
232
|
+
[
|
|
233
|
+
/>/,
|
|
234
|
+
{
|
|
235
|
+
token: "delimiter.html",
|
|
236
|
+
next: "@scriptEmbedded",
|
|
237
|
+
nextEmbedded: "text/javascript"
|
|
238
|
+
}
|
|
239
|
+
],
|
|
240
|
+
// cover invalid e.g. <script type>
|
|
241
|
+
[/[ \t\r\n]+/],
|
|
242
|
+
// whitespace
|
|
243
|
+
[/<\/script\s*>/, { token: "@rematch", next: "@pop" }]
|
|
244
|
+
],
|
|
245
|
+
// After <script ... type =
|
|
246
|
+
scriptAfterTypeEquals: [
|
|
247
|
+
[
|
|
248
|
+
/"([^"]*)"/,
|
|
249
|
+
{
|
|
250
|
+
token: "attribute.value.html",
|
|
251
|
+
switchTo: "@scriptWithCustomType.$1"
|
|
252
|
+
}
|
|
253
|
+
],
|
|
254
|
+
[
|
|
255
|
+
/'([^']*)'/,
|
|
256
|
+
{
|
|
257
|
+
token: "attribute.value.html",
|
|
258
|
+
switchTo: "@scriptWithCustomType.$1"
|
|
259
|
+
}
|
|
260
|
+
],
|
|
261
|
+
[
|
|
262
|
+
/>/,
|
|
263
|
+
{
|
|
264
|
+
token: "delimiter.html",
|
|
265
|
+
next: "@scriptEmbedded",
|
|
266
|
+
nextEmbedded: "text/javascript"
|
|
267
|
+
}
|
|
268
|
+
],
|
|
269
|
+
// cover invalid e.g. <script type=>
|
|
270
|
+
[/[ \t\r\n]+/],
|
|
271
|
+
// whitespace
|
|
272
|
+
[/<\/script\s*>/, { token: "@rematch", next: "@pop" }]
|
|
273
|
+
],
|
|
274
|
+
// After <script ... type = $S2
|
|
275
|
+
scriptWithCustomType: [
|
|
276
|
+
[
|
|
277
|
+
/>/,
|
|
278
|
+
{
|
|
279
|
+
token: "delimiter.html",
|
|
280
|
+
next: "@scriptEmbedded.$S2",
|
|
281
|
+
nextEmbedded: "$S2"
|
|
282
|
+
}
|
|
283
|
+
],
|
|
284
|
+
[/"([^"]*)"/, "attribute.value.html"],
|
|
285
|
+
[/'([^']*)'/, "attribute.value.html"],
|
|
286
|
+
[/[\w\-]+/, "attribute.name.html"],
|
|
287
|
+
[/=/, "delimiter.html"],
|
|
288
|
+
[/[ \t\r\n]+/],
|
|
289
|
+
// whitespace
|
|
290
|
+
[/<\/script\s*>/, { token: "@rematch", next: "@pop" }]
|
|
291
|
+
],
|
|
292
|
+
scriptEmbedded: [
|
|
293
|
+
[/<\/script/, { token: "@rematch", next: "@pop", nextEmbedded: "@pop" }],
|
|
294
|
+
[/[^<]+/, ""]
|
|
295
|
+
],
|
|
296
|
+
// -- END <script> tags handling
|
|
297
|
+
// -- BEGIN <style> tags handling
|
|
298
|
+
// After <style
|
|
299
|
+
style: [
|
|
300
|
+
[/type/, "attribute.name.html", "@styleAfterType"],
|
|
301
|
+
[/"([^"]*)"/, "attribute.value.html"],
|
|
302
|
+
[/'([^']*)'/, "attribute.value.html"],
|
|
303
|
+
[/[\w\-]+/, "attribute.name.html"],
|
|
304
|
+
[/=/, "delimiter.html"],
|
|
305
|
+
[
|
|
306
|
+
/>/,
|
|
307
|
+
{
|
|
308
|
+
token: "delimiter.html",
|
|
309
|
+
next: "@styleEmbedded",
|
|
310
|
+
nextEmbedded: "text/css"
|
|
311
|
+
}
|
|
312
|
+
],
|
|
313
|
+
[/[ \t\r\n]+/],
|
|
314
|
+
// whitespace
|
|
315
|
+
[
|
|
316
|
+
/(<\/)(style\s*)(>)/,
|
|
317
|
+
["delimiter.html", "tag.html", { token: "delimiter.html", next: "@pop" }]
|
|
318
|
+
]
|
|
319
|
+
],
|
|
320
|
+
// After <style ... type
|
|
321
|
+
styleAfterType: [
|
|
322
|
+
[/=/, "delimiter.html", "@styleAfterTypeEquals"],
|
|
323
|
+
[
|
|
324
|
+
/>/,
|
|
325
|
+
{
|
|
326
|
+
token: "delimiter.html",
|
|
327
|
+
next: "@styleEmbedded",
|
|
328
|
+
nextEmbedded: "text/css"
|
|
329
|
+
}
|
|
330
|
+
],
|
|
331
|
+
// cover invalid e.g. <style type>
|
|
332
|
+
[/[ \t\r\n]+/],
|
|
333
|
+
// whitespace
|
|
334
|
+
[/<\/style\s*>/, { token: "@rematch", next: "@pop" }]
|
|
335
|
+
],
|
|
336
|
+
// After <style ... type =
|
|
337
|
+
styleAfterTypeEquals: [
|
|
338
|
+
[
|
|
339
|
+
/"([^"]*)"/,
|
|
340
|
+
{
|
|
341
|
+
token: "attribute.value.html",
|
|
342
|
+
switchTo: "@styleWithCustomType.$1"
|
|
343
|
+
}
|
|
344
|
+
],
|
|
345
|
+
[
|
|
346
|
+
/'([^']*)'/,
|
|
347
|
+
{
|
|
348
|
+
token: "attribute.value.html",
|
|
349
|
+
switchTo: "@styleWithCustomType.$1"
|
|
350
|
+
}
|
|
351
|
+
],
|
|
352
|
+
[
|
|
353
|
+
/>/,
|
|
354
|
+
{
|
|
355
|
+
token: "delimiter.html",
|
|
356
|
+
next: "@styleEmbedded",
|
|
357
|
+
nextEmbedded: "text/css"
|
|
358
|
+
}
|
|
359
|
+
],
|
|
360
|
+
// cover invalid e.g. <style type=>
|
|
361
|
+
[/[ \t\r\n]+/],
|
|
362
|
+
// whitespace
|
|
363
|
+
[/<\/style\s*>/, { token: "@rematch", next: "@pop" }]
|
|
364
|
+
],
|
|
365
|
+
// After <style ... type = $S2
|
|
366
|
+
styleWithCustomType: [
|
|
367
|
+
[
|
|
368
|
+
/>/,
|
|
369
|
+
{
|
|
370
|
+
token: "delimiter.html",
|
|
371
|
+
next: "@styleEmbedded.$S2",
|
|
372
|
+
nextEmbedded: "$S2"
|
|
373
|
+
}
|
|
374
|
+
],
|
|
375
|
+
[/"([^"]*)"/, "attribute.value.html"],
|
|
376
|
+
[/'([^']*)'/, "attribute.value.html"],
|
|
377
|
+
[/[\w\-]+/, "attribute.name.html"],
|
|
378
|
+
[/=/, "delimiter.html"],
|
|
379
|
+
[/[ \t\r\n]+/],
|
|
380
|
+
// whitespace
|
|
381
|
+
[/<\/style\s*>/, { token: "@rematch", next: "@pop" }]
|
|
382
|
+
],
|
|
383
|
+
styleEmbedded: [
|
|
384
|
+
[/<\/style/, { token: "@rematch", next: "@pop", nextEmbedded: "@pop" }],
|
|
385
|
+
[/[^<]+/, ""]
|
|
386
|
+
]
|
|
387
|
+
}
|
|
388
|
+
};
|
|
389
|
+
export {
|
|
390
|
+
t as conf,
|
|
391
|
+
e as language
|
|
392
|
+
};
|
|
@@ -0,0 +1,113 @@
|
|
|
1
|
+
import type { InstanceConfig } from "../instances/types";
|
|
2
|
+
/**
|
|
3
|
+
* Change feed consumption (feature change-feed, spec §3.7): fetch-based SSE reading of
|
|
4
|
+
* GET /changefeed with the instance's auth headers - the browser-native EventSource
|
|
5
|
+
* cannot set headers, and the API key NEVER goes into a query string (URLs leak into
|
|
6
|
+
* logs and proxies).
|
|
7
|
+
*
|
|
8
|
+
* The client recipe encoded here: fetch, then stream; on resync, re-fetch. Delivery is
|
|
9
|
+
* in-order, at-most-once per connection; whenever continuity is lost the server says so
|
|
10
|
+
* in-band with a `resync` event. Reconnects carry the last seen `id:` value as `since`
|
|
11
|
+
* (the catch-up contract), with exponential backoff. A 503 means the feed is disabled
|
|
12
|
+
* (or full) - the stream stops quietly instead of hammering the server.
|
|
13
|
+
*/
|
|
14
|
+
export type ChangeEventKind = "vertexCreated" | "vertexRemoved" | "edgeCreated" | "edgeRemoved" | "propertySet" | "propertyRemoved" | "resync";
|
|
15
|
+
export type ChangeElementType = "vertex" | "edge";
|
|
16
|
+
export type ResyncReason = "trim" | "tabulaRasa" | "load" | "delegateWrite" | "overflow" | "seekOutOfRange";
|
|
17
|
+
export interface ChangeEvent {
|
|
18
|
+
/** Monotonic per process epoch, commit order. */
|
|
19
|
+
seq: number;
|
|
20
|
+
/** Commit timestamp (UTC, ISO-8601), shared by a transaction's events. */
|
|
21
|
+
ts: string;
|
|
22
|
+
kind: ChangeEventKind;
|
|
23
|
+
/** Element events only. */
|
|
24
|
+
element?: ChangeElementType;
|
|
25
|
+
/** Element id - element events only. */
|
|
26
|
+
id?: number;
|
|
27
|
+
/** Omitted when the element has no label. */
|
|
28
|
+
label?: string;
|
|
29
|
+
/** The edge's type (its edgePropertyId) - edgeCreated only. */
|
|
30
|
+
edgePropertyId?: string;
|
|
31
|
+
/** Property key - propertySet/propertyRemoved only (never the value). */
|
|
32
|
+
key?: string;
|
|
33
|
+
/** Source vertex id - edgeCreated only. */
|
|
34
|
+
source?: number;
|
|
35
|
+
/** Target vertex id - edgeCreated only. */
|
|
36
|
+
target?: number;
|
|
37
|
+
/** resync only. */
|
|
38
|
+
reason?: ResyncReason;
|
|
39
|
+
}
|
|
40
|
+
/** Declarative server-side filter (spec §3.4): AND across dimensions, OR within one. */
|
|
41
|
+
export interface ChangeFeedFilter {
|
|
42
|
+
kinds?: ChangeEventKind[];
|
|
43
|
+
elements?: ChangeElementType[];
|
|
44
|
+
labels?: string[];
|
|
45
|
+
keys?: string[];
|
|
46
|
+
}
|
|
47
|
+
/** Maps a filter + catch-up position onto the comma-separated query grammar. */
|
|
48
|
+
export declare function buildChangeFeedQuery(filter?: ChangeFeedFilter, since?: string): Record<string, string | undefined>;
|
|
49
|
+
/** One dispatched SSE frame; `data` joins multiple data lines with \n per the SSE spec. */
|
|
50
|
+
export interface SseFrame {
|
|
51
|
+
id?: string;
|
|
52
|
+
event?: string;
|
|
53
|
+
data: string;
|
|
54
|
+
}
|
|
55
|
+
/**
|
|
56
|
+
* Incremental SSE parser: feed it chunks (split at ANY boundary), it dispatches complete
|
|
57
|
+
* frames. Comment lines (": keepalive") and unknown fields are ignored; a blank line
|
|
58
|
+
* dispatches; \n, \r\n and \r all terminate a line.
|
|
59
|
+
*/
|
|
60
|
+
export declare class SseParser {
|
|
61
|
+
private readonly onFrame;
|
|
62
|
+
private buffer;
|
|
63
|
+
private id;
|
|
64
|
+
private event;
|
|
65
|
+
private dataLines;
|
|
66
|
+
constructor(onFrame: (frame: SseFrame) => void);
|
|
67
|
+
push(chunk: string): void;
|
|
68
|
+
private handleLine;
|
|
69
|
+
private dispatch;
|
|
70
|
+
}
|
|
71
|
+
/** Decodes one `data:` payload; null when it is not a well-formed change event. */
|
|
72
|
+
export declare function parseChangeEvent(data: string): ChangeEvent | null;
|
|
73
|
+
/**
|
|
74
|
+
* Why the stream stopped for good:
|
|
75
|
+
* - "aborted" - the caller's AbortSignal fired (instance switch, unmount).
|
|
76
|
+
* - "unavailable" - the server answered 503 (feed disabled or subscriber limit); the
|
|
77
|
+
* caller stays in its polling behaviour, no reconnect storm.
|
|
78
|
+
* - "fatal" - a non-retryable client error (400 bad filter, 401/403 auth).
|
|
79
|
+
*/
|
|
80
|
+
export type StreamCloseReason = "aborted" | "unavailable" | "fatal";
|
|
81
|
+
export interface StreamChangesOptions {
|
|
82
|
+
filter?: ChangeFeedFilter;
|
|
83
|
+
/** Catch-up position for the FIRST request; reconnects carry the last seen id automatically. */
|
|
84
|
+
since?: string;
|
|
85
|
+
signal: AbortSignal;
|
|
86
|
+
/** Element events only - resync events go EXCLUSIVELY to onResync, never here. */
|
|
87
|
+
onEvent: (event: ChangeEvent) => void;
|
|
88
|
+
/** Continuity was lost - re-fetch what you display (mandatory per the contract). */
|
|
89
|
+
onResync?: (event: ChangeEvent) => void;
|
|
90
|
+
/** The stream is connected (also after a successful reconnect). */
|
|
91
|
+
onOpen?: () => void;
|
|
92
|
+
/** A transient error before a reconnect attempt; the loop handles the retry itself. */
|
|
93
|
+
onError?: (error: unknown) => void;
|
|
94
|
+
/** The stream stopped for good and will NOT reconnect. */
|
|
95
|
+
onClose?: (reason: StreamCloseReason) => void;
|
|
96
|
+
/** A reconnect is scheduled (attempt counter and the backoff delay about to be waited). */
|
|
97
|
+
onRetry?: (attempt: number, delayMs: number) => void;
|
|
98
|
+
/**
|
|
99
|
+
* Every SSE `id:` as it arrives (`epoch:seq`) - the caller's catch-up position for a
|
|
100
|
+
* FUTURE subscription (the loop already carries it across its own reconnects).
|
|
101
|
+
*/
|
|
102
|
+
onFrameId?: (id: string) => void;
|
|
103
|
+
/** First reconnect delay; doubles per attempt (default 1000). */
|
|
104
|
+
initialBackoffMs?: number;
|
|
105
|
+
/** Backoff ceiling (default 30000). */
|
|
106
|
+
maxBackoffMs?: number;
|
|
107
|
+
}
|
|
108
|
+
/**
|
|
109
|
+
* Consumes GET /changefeed until the signal aborts, reconnecting with `since=<last id>`
|
|
110
|
+
* and exponential backoff whenever the connection drops. Resolves when the stream has
|
|
111
|
+
* stopped for good (after onClose).
|
|
112
|
+
*/
|
|
113
|
+
export declare function streamChanges(instance: InstanceConfig, options: StreamChangesOptions): Promise<void>;
|
|
@@ -0,0 +1,81 @@
|
|
|
1
|
+
import type { InstanceConfig } from "../instances/types";
|
|
2
|
+
/**
|
|
3
|
+
* Thin, instance-bound transport for the Fallen-8 REST surface (design §2.3).
|
|
4
|
+
*
|
|
5
|
+
* Hard rules encoded here:
|
|
6
|
+
* - Routes are root-level ("/graph", "/status", ...) - never under /api/v0.1/.
|
|
7
|
+
* - Missing elements come back as 200-with-null or 204: an empty body resolves to null,
|
|
8
|
+
* it is NOT an error.
|
|
9
|
+
* - Every failed request throws an ApiError carrying status + the server's message so the
|
|
10
|
+
* UI can always show both (NFR: no silent failures).
|
|
11
|
+
* - Auth (lightweight, extensible): an instance's API key travels as
|
|
12
|
+
* `Authorization: Bearer <key>` by default (the shape a future OIDC/JWT scheme reuses),
|
|
13
|
+
* or in a named header (X-Api-Key style) when configured. Keys never leave the browser
|
|
14
|
+
* except toward their own instance.
|
|
15
|
+
*/
|
|
16
|
+
/**
|
|
17
|
+
* The human-readable message from a REST error body. Fallen-8 returns every error as RFC 7807
|
|
18
|
+
* `application/problem+json` (feature api-error-envelope), which carries the message in `detail`
|
|
19
|
+
* (falling back to `title`); any other body - a plain string, an empty body, a pre-envelope
|
|
20
|
+
* server, or a JSON object without a usable `detail`/`title` - is returned unchanged. So for
|
|
21
|
+
* Fallen-8's own responses the Studio error surface always shows the server's message rather than
|
|
22
|
+
* the raw problem+json object.
|
|
23
|
+
*/
|
|
24
|
+
export declare function problemDetail(body: string): string;
|
|
25
|
+
export declare class ApiError extends Error {
|
|
26
|
+
readonly status: number;
|
|
27
|
+
readonly url: string;
|
|
28
|
+
/**
|
|
29
|
+
* The server's human-readable message - the problem+json `detail`/`title` when the body is an
|
|
30
|
+
* RFC 7807 envelope, otherwise the raw body. For Fallen-8's own errors (always carrying a
|
|
31
|
+
* `detail`/`title`) this is a clean message, never a raw JSON object.
|
|
32
|
+
*/
|
|
33
|
+
readonly body: string;
|
|
34
|
+
constructor(status: number, url: string, body: string);
|
|
35
|
+
}
|
|
36
|
+
export interface RequestOptions {
|
|
37
|
+
method?: "GET" | "POST" | "PUT" | "DELETE" | "HEAD" | "PATCH";
|
|
38
|
+
body?: unknown;
|
|
39
|
+
query?: Record<string, string | number | boolean | undefined>;
|
|
40
|
+
signal?: AbortSignal;
|
|
41
|
+
/**
|
|
42
|
+
* Namespace scoping (feature graph-namespaces). "namespace" (the default) prefixes the
|
|
43
|
+
* path with /ns/{namespace} when the instance is namespace-bound - the namespace is
|
|
44
|
+
* ALWAYS explicit on the wire, "default" included. "fallen8" pins Fallen-8-level
|
|
45
|
+
* endpoints (save games, delegate validation, the /ns management routes) to their bare
|
|
46
|
+
* form regardless of binding.
|
|
47
|
+
*/
|
|
48
|
+
scope?: "namespace" | "fallen8";
|
|
49
|
+
}
|
|
50
|
+
/**
|
|
51
|
+
* The /ns/{namespace} prefix for a namespace-bound instance; the bare path for an unbound
|
|
52
|
+
* one (pre-namespace servers and Fallen-8-level callers).
|
|
53
|
+
*/
|
|
54
|
+
export declare function scopedPath(instance: InstanceConfig, path: string): string;
|
|
55
|
+
export declare function buildUrl(baseUrl: string, path: string, query?: RequestOptions["query"]): string;
|
|
56
|
+
/**
|
|
57
|
+
* Credential headers for the SYNCHRONOUS auth kinds (none/apiKey). A `bearer` instance
|
|
58
|
+
* (feature studio-embeddable: host-supplied async token provider) cannot be served here -
|
|
59
|
+
* its token only resolves in {@link resolveAuthHeaders}, which every transport call site
|
|
60
|
+
* goes through - so it THROWS rather than returning empty headers: a new sync call site
|
|
61
|
+
* must fail loudly instead of silently sending the request unauthenticated.
|
|
62
|
+
*/
|
|
63
|
+
export declare function authHeaders(instance: InstanceConfig): Record<string, string>;
|
|
64
|
+
/**
|
|
65
|
+
* Credential headers for ALL auth kinds - the one function transport call sites use. For
|
|
66
|
+
* `bearer` it awaits the host's token provider per request (the host caches/refreshes as it
|
|
67
|
+
* sees fit); the standalone kinds pass through {@link authHeaders} synchronously.
|
|
68
|
+
*/
|
|
69
|
+
export declare function resolveAuthHeaders(instance: InstanceConfig): Promise<Record<string, string>>;
|
|
70
|
+
/**
|
|
71
|
+
* The single place a non-ok response becomes an {@link ApiError} (status + the server's body).
|
|
72
|
+
* Shared by {@link apiRequest} and the raw-fetch bulk endpoints so every failure looks the same.
|
|
73
|
+
*/
|
|
74
|
+
export declare function throwIfNotOk(response: Response, url: string): Promise<void>;
|
|
75
|
+
export declare function apiRequest<T>(instance: InstanceConfig, path: string, options?: RequestOptions): Promise<T | null>;
|
|
76
|
+
/**
|
|
77
|
+
* Multipart POST (feature unstructured-ingestion: the document upload). Same URL scoping,
|
|
78
|
+
* auth and error mapping as {@link apiRequest}; the browser sets the multipart boundary
|
|
79
|
+
* itself, so no Content-Type is written here.
|
|
80
|
+
*/
|
|
81
|
+
export declare function apiForm<T>(instance: InstanceConfig, path: string, form: FormData, options?: Pick<RequestOptions, "signal" | "scope">): Promise<T | null>;
|