@kortix/ui 0.14.5 → 0.14.7
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/_vendor/kortix-shared.js +489 -381
- package/dist/access/access/access-dialog.js +8 -5
- package/dist/access/access/copy-row.js +2 -2
- package/dist/access/sharing-picker.js +2 -1
- package/dist/browser/app-in-browser.js +5 -3
- package/dist/browser/browser-panel.js +6 -6
- package/dist/browser/sandbox-browser-chrome.d.ts +4 -1
- package/dist/browser/sandbox-browser-chrome.js +4 -3
- package/dist/customize/agents/agent-access.d.ts +20 -0
- package/dist/customize/agents/agent-access.js +17 -0
- package/dist/customize/agents/agent-authority-card.js +1 -2
- package/dist/customize/agents/agent-detail-aside.js +15 -14
- package/dist/customize/agents/agent-drives-section.js +5 -6
- package/dist/customize/agents/agent-grant-pages.js +73 -76
- package/dist/customize/agents/agent-nav.prototype.d.ts +35 -0
- package/dist/customize/agents/agent-nav.prototype.js +95 -0
- package/dist/customize/agents/agent-page.js +59 -23
- package/dist/customize/agents/agent-people-section.js +18 -17
- package/dist/customize/agents/agent-triggers-section.js +6 -5
- package/dist/customize/agents/agents-page.js +18 -1
- package/dist/customize/connectors/add-mcp/add-mcp-server.js +4 -2
- package/dist/customize/connectors/catalog/catalog-entry.d.ts +14 -0
- package/dist/customize/connectors/catalog/catalog-entry.js +18 -1
- package/dist/customize/connectors/catalog/connector-browse.d.ts +28 -0
- package/dist/customize/connectors/catalog/connector-browse.js +18 -5
- package/dist/customize/connectors/connector-routes.d.ts +3 -1
- package/dist/customize/connectors/connector-routes.js +18 -0
- package/dist/customize/connectors/connectors-page.js +23 -4
- package/dist/customize/connectors/detail/app-page.js +19 -5
- package/dist/customize/connectors/detail/connector-advanced-tools.js +4 -6
- package/dist/customize/connectors/detail/connector-modal.d.ts +10 -13
- package/dist/customize/connectors/detail/connector-modal.js +18 -101
- package/dist/customize/connectors/detail/connector-notice.js +6 -2
- package/dist/customize/connectors/detail/connector-page.d.ts +30 -0
- package/dist/customize/connectors/detail/connector-page.js +26 -13
- package/dist/customize/providers/provider-accordion.js +2 -1
- package/dist/customize/providers/provider-connect.js +2 -1
- package/dist/customize/sections/component/telegram-channel-row.js +1 -1
- package/dist/customize/sections/connector-connection-modal.js +11 -9
- package/dist/customize/sections/connectors-view.js +11 -13
- package/dist/customize/sections/llm-provider/custom-provider-form.js +24 -7
- package/dist/customize/sections/llm-provider/custom-provider-panel.js +44 -8
- package/dist/customize/sections/llm-provider/types.d.ts +3 -0
- package/dist/customize/sections/llm-provider/utils.js +2 -2
- package/dist/customize/sections/view/agent-editor-access-fields.d.ts +9 -16
- package/dist/customize/sections/view/agent-editor-access-fields.js +30 -30
- package/dist/customize/sections/view/agent-editor-basics-fields.js +3 -10
- package/dist/customize/sections/view/agent-editor-primitives.d.ts +28 -10
- package/dist/customize/sections/view/agent-editor-primitives.js +32 -19
- package/dist/customize/sections/view/agent-editor.js +3 -3
- package/dist/customize/sections/view/gateway/gateway-routing.js +18 -21
- package/dist/customize/sections/view/grant-mode-field.d.ts +2 -5
- package/dist/customize/sections/view/grant-mode-field.js +10 -18
- package/dist/customize/sections/view/permission-editor.js +11 -8
- package/dist/customize/sections/view/secrets-view.js +2 -1
- package/dist/customize/settings/rail-copy-context.js +5 -3
- package/dist/customize/settings/tabs/general-tab.d.ts +9 -2
- package/dist/customize/settings/tabs/general-tab.js +33 -11
- package/dist/customize/settings/tabs/sandbox-template-form.js +9 -12
- package/dist/customize/settings/tabs/transfer-workspace-dialog.d.ts +4 -0
- package/dist/customize/settings/tabs/transfer-workspace-dialog.js +82 -0
- package/dist/customize/shared/capability-tabs.js +2 -1
- package/dist/customize/skills/skills-page.js +3 -5
- package/dist/customize/triggers/schedule/event-trigger-copy.js +3 -2
- package/dist/customize/triggers/schedule/schedule-builder.js +7 -4
- package/dist/customize/triggers/schedule/trigger-composer.js +5 -2
- package/dist/customize/triggers/schedule/when-event.js +1 -1
- package/dist/diff/diff-view.js +9 -10
- package/dist/files/editor/code-editor.js +2 -3
- package/dist/files/project/api/runtime-files.js +3 -2
- package/dist/files/project/components/change-request-detail-dialog.d.ts +3 -1
- package/dist/files/project/components/change-request-detail-dialog.js +3 -5
- package/dist/files/project/components/change-request-status-badge.d.ts +12 -0
- package/dist/files/project/components/change-request-status-badge.js +27 -0
- package/dist/files/project/components/change-requests-panel.js +1 -1
- package/dist/files/project/components/drive-explorer.js +2 -1
- package/dist/files/project/components/drive-grid-view.js +11 -7
- package/dist/files/project/components/drive-list-view.js +4 -4
- package/dist/files/project/components/file-breadcrumbs.js +1 -1
- package/dist/files/project/components/file-explorer-page.js +1 -1
- package/dist/files/project/components/file-history-popover.js +1 -6
- package/dist/files/project/components/file-search.js +6 -1
- package/dist/files/project/components/open-change-request-dialog.js +2 -1
- package/dist/files/project/components/version-selector-logic.d.ts +11 -0
- package/dist/files/project/components/version-selector-logic.js +26 -0
- package/dist/files/project/components/version-selector.js +11 -20
- package/dist/files/project/file-source.js +18 -1
- package/dist/files/project/hooks/use-file-content.js +2 -0
- package/dist/files/project/hooks/use-server-health.js +17 -15
- package/dist/files/renderers/docx/docx-viewer.js +0 -5
- package/dist/files/renderers/image-renderer.js +6 -24
- package/dist/files/renderers/pdf/pdf-viewer.js +1 -1
- package/dist/files/renderers/presentation/FullScreenPresentationViewer.js +2 -11
- package/dist/files/renderers/show-content-renderer.js +1 -1
- package/dist/files/renderers/sqlite-renderer.js +8 -3
- package/dist/files/renderers/xlsx/xlsx-viewer.js +15 -16
- package/dist/files/tree/components/file-tree-item.js +1 -1
- package/dist/files/viewer/file-header.js +1 -1
- package/dist/files/viewer/file-preview-modal.d.ts +1 -1
- package/dist/files/viewer/file-preview-modal.js +13 -3
- package/dist/files/viewer/file-source.d.ts +3 -1
- package/dist/files/viewer/use-file-content-state.js +27 -8
- package/dist/files/viewer/viewer-actions.js +2 -2
- package/dist/i18n/en.d.ts +355 -12
- package/dist/i18n/en.js +360 -17
- package/dist/internal/desktop/desktop-back-button.js +5 -3
- package/dist/internal/files/types.d.ts +2 -0
- package/dist/internal/goals/goal-meta.d.ts +30 -0
- package/dist/internal/goals/goal-meta.js +55 -0
- package/dist/internal/hooks/use-auto-scroll.js +5 -3
- package/dist/internal/lib/query-client-singleton.d.ts +9 -3
- package/dist/internal/lib/query-client-singleton.js +18 -12
- package/dist/internal/notifications/notification-rows.js +2 -1
- package/dist/internal/outcomes/outcome-types.d.ts +5 -0
- package/dist/internal/share/session-shares-modal.js +3 -7
- package/dist/internal/stores/kortix-computer-store.js +14 -2
- package/dist/internal/stores/session-hover-store.d.ts +32 -0
- package/dist/internal/stores/session-hover-store.js +38 -0
- package/dist/internal/stores/sidebar-nav-store.d.ts +1 -1
- package/dist/internal/stores/sidebar-nav-store.js +3 -1
- package/dist/lib/routes.d.ts +2 -0
- package/dist/lib/routes.js +1 -0
- package/dist/markdown/code/inline-code.js +8 -0
- package/dist/markdown/code/output-paths-context.d.ts +18 -0
- package/dist/markdown/code/output-paths-context.js +35 -0
- package/dist/markdown/genui/components/charts.js +6 -5
- package/dist/primitives/map.js +2 -1
- package/dist/primitives/preview-image.js +4 -2
- package/dist/primitives/settings-section-header.d.ts +1 -1
- package/dist/primitives/textarea.js +1 -1
- package/dist/primitives/typed-title.js +12 -14
- package/dist/primitives/typing-animation.js +4 -2
- package/dist/session/composer/agent-selector.js +6 -1
- package/dist/session/composer/attachment-tile.d.ts +0 -2
- package/dist/session/composer/attachment-tile.js +0 -8
- package/dist/session/composer/clipboard-files.d.ts +2 -1
- package/dist/session/composer/composer-chat-input.js +5 -3
- package/dist/session/composer/composer-draft-recovery.d.ts +1 -2
- package/dist/session/composer/composer-draft-recovery.js +0 -13
- package/dist/session/composer/composer-logic.js +8 -7
- package/dist/session/composer/context-ring.d.ts +1 -1
- package/dist/session/composer/context-ring.js +2 -2
- package/dist/session/composer/context-usage.d.ts +3 -6
- package/dist/session/composer/context-usage.js +3 -6
- package/dist/session/composer/draft/composer-draft.js +4 -4
- package/dist/session/composer/inbox-row-claims.d.ts +2 -2
- package/dist/session/composer/inbox-row-claims.js +1 -1
- package/dist/session/composer/pasted-text.js +3 -2
- package/dist/session/composer/queue-projection.d.ts +3 -2
- package/dist/session/composer/queued-prompt-edit.d.ts +1 -1
- package/dist/session/composer/reasoning-effort-selector.d.ts +2 -1
- package/dist/session/composer/session-composer-readiness.d.ts +7 -22
- package/dist/session/composer/session-composer-readiness.js +12 -40
- package/dist/session/composer/stores/queued-draft-store.js +3 -2
- package/dist/session/composer/token-progress.d.ts +1 -1
- package/dist/session/composer/token-progress.js +2 -2
- package/dist/session/header/reminder-parts.d.ts +11 -2
- package/dist/session/header/reminder-parts.js +9 -4
- package/dist/session/header/session-goal-indicator.d.ts +1 -0
- package/dist/session/header/session-goal-indicator.js +41 -0
- package/dist/session/header/session-site-header.js +2 -1
- package/dist/session/media/sandbox-url-detector.js +0 -7
- package/dist/session/outcomes/change-request-outcomes.js +24 -3
- package/dist/session/overrides/provider-secret-pool-editor.js +2 -1
- package/dist/session/panel/advanced/advanced-panel.js +3 -7
- package/dist/session/panel/easy/app-preview.js +12 -2
- package/dist/session/panel/easy/easy-panel-logic.d.ts +1 -1
- package/dist/session/panel/easy/easy-panel-logic.js +1 -1
- package/dist/session/panel/easy/outputs-card.js +2 -1
- package/dist/session/panel/easy/panel-card.js +5 -3
- package/dist/session/panel/easy/preview-load.d.ts +14 -0
- package/dist/session/panel/easy/preview-load.js +15 -0
- package/dist/session/panel/easy/step-detail-body.js +2 -7
- package/dist/session/panel/session-action-panel-column.js +11 -1
- package/dist/session/panel/session-audit-shared.d.ts +0 -4
- package/dist/session/panel/session-audit-shared.js +1 -1
- package/dist/session/panel/session-changes-shared.d.ts +2 -1
- package/dist/session/panel/session-panel-provider.js +6 -2
- package/dist/session/panel/shared/use-panel-derivations.js +6 -4
- package/dist/session/panel/use-session-panel-layout.js +7 -5
- package/dist/session/print/session-print-header.js +9 -8
- package/dist/session/prompts/session-permission-prompt.js +6 -3
- package/dist/session/status/provisioning-failure.d.ts +2 -1
- package/dist/session/status/session-error-banner.js +8 -6
- package/dist/session/status/session-starting-loader.d.ts +24 -31
- package/dist/session/status/session-starting-loader.js +32 -81
- package/dist/session/thread/chat-minimap-items.d.ts +4 -4
- package/dist/session/thread/first-prompt-handover.d.ts +3 -2
- package/dist/session/thread/message-parsing.d.ts +3 -3
- package/dist/session/thread/session-chat.js +15 -19
- package/dist/session/thread/session-history-scroll.d.ts +2 -1
- package/dist/session/thread/session-history.js +3 -1
- package/dist/session/thread/session-thread.js +1 -1
- package/dist/session/thread/transcript.js +13 -7
- package/dist/session/tool/shared/file-list.js +19 -2
- package/dist/session/tool/shared/infrastructure-contexts.d.ts +7 -0
- package/dist/session/tool/shared/infrastructure-contexts.js +7 -0
- package/dist/session/tool/shared/infrastructure-output.js +9 -5
- package/dist/session/tool/shared/infrastructure-row-header.js +9 -1
- package/dist/session/tool/shared/infrastructure-rows.js +7 -5
- package/dist/session/tool/tools/bash-tool.js +10 -6
- package/dist/session/tool/tools/web-search-tool.js +25 -3
- package/dist/session/turn/recovered-failures.d.ts +8 -0
- package/dist/session/turn/recovered-failures.js +32 -0
- package/dist/session/turn/streaming-cadence.js +5 -8
- package/dist/styles.css +1 -1
- package/dist/terminal/pty-connection.d.ts +5 -4
- package/dist/terminal/session-terminal-panel.js +3 -5
- package/dist/theme/theme.js +2 -1
- package/dist/workspace/index.d.ts +1 -0
- package/dist/workspace/index.js +1 -0
- package/dist/workspace/projects/modal/github-import-pickers.js +7 -6
- package/dist/workspace/review/review-center.js +13 -10
- package/dist/workspace/saved-session-skeleton-shape.d.ts +4 -3
- package/dist/workspace/saved-session-skeleton.d.ts +5 -1
- package/dist/workspace/saved-session-skeleton.js +5 -4
- package/dist/workspace/session-workspace.js +9 -14
- package/dist/workspace/sessions/deleted-session-row.js +5 -2
- package/dist/workspace/sidebar/footer/project-computer-nav.js +6 -4
- package/dist/workspace/sidebar/footer/project-goals-nav.d.ts +6 -0
- package/dist/workspace/sidebar/footer/project-goals-nav.js +26 -0
- package/dist/workspace/sidebar/footer/project-mcp-nav.js +6 -2
- package/dist/workspace/sidebar/modal/rename-session-modal.js +8 -3
- package/dist/workspace/sidebar/modal/session-embed-section.d.ts +25 -0
- package/dist/workspace/sidebar/modal/session-embed-section.js +71 -0
- package/dist/workspace/sidebar/modal/share-session-modal.js +2 -2
- package/dist/workspace/sidebar/nav-row-meta.js +14 -2
- package/dist/workspace/sidebar/project-nav-items.js +3 -0
- package/dist/workspace/sidebar/project-session-list.js +12 -3
- package/dist/workspace/sidebar/session-brief-hover-card.js +5 -8
- package/package.json +4 -4
- package/skills/kortix-ui/references/modules.md +2 -0
- package/dist/session/status/use-readiness-settling.d.ts +0 -18
- package/dist/session/status/use-readiness-settling.js +0 -43
- package/dist/workspace/sidebar/modal/session-public-link-section.d.ts +0 -13
- package/dist/workspace/sidebar/modal/session-public-link-section.js +0 -66
|
@@ -31,105 +31,13 @@ function k(n, t) {
|
|
|
31
31
|
}
|
|
32
32
|
h.minitz = h;
|
|
33
33
|
|
|
34
|
-
// ../../node_modules/.pnpm/smol-toml@1.
|
|
35
|
-
var DATE_TIME_RE = /^(\d{4}-\d{2}-\d{2})?[T ]?(?:(\d{2}):\d{2}(?::\d{2}(?:\.\d+)?)?)?(Z|[-+]\d{2}:\d{2})?$/i;
|
|
36
|
-
var TomlDate = class _TomlDate extends Date {
|
|
37
|
-
#hasDate = false;
|
|
38
|
-
#hasTime = false;
|
|
39
|
-
#offset = null;
|
|
40
|
-
constructor(date) {
|
|
41
|
-
let hasDate = true;
|
|
42
|
-
let hasTime = true;
|
|
43
|
-
let offset = "Z";
|
|
44
|
-
if (typeof date === "string") {
|
|
45
|
-
let match = date.match(DATE_TIME_RE);
|
|
46
|
-
if (match) {
|
|
47
|
-
if (!match[1]) {
|
|
48
|
-
hasDate = false;
|
|
49
|
-
date = `0000-01-01T${date}`;
|
|
50
|
-
}
|
|
51
|
-
hasTime = !!match[2];
|
|
52
|
-
hasTime && date[10] === " " && (date = date.replace(" ", "T"));
|
|
53
|
-
if (match[2] && +match[2] > 23) {
|
|
54
|
-
date = "";
|
|
55
|
-
} else {
|
|
56
|
-
offset = match[3] || null;
|
|
57
|
-
date = date.toUpperCase();
|
|
58
|
-
if (!offset && hasTime)
|
|
59
|
-
date += "Z";
|
|
60
|
-
}
|
|
61
|
-
} else {
|
|
62
|
-
date = "";
|
|
63
|
-
}
|
|
64
|
-
}
|
|
65
|
-
super(date);
|
|
66
|
-
if (!isNaN(this.getTime())) {
|
|
67
|
-
this.#hasDate = hasDate;
|
|
68
|
-
this.#hasTime = hasTime;
|
|
69
|
-
this.#offset = offset;
|
|
70
|
-
}
|
|
71
|
-
}
|
|
72
|
-
isDateTime() {
|
|
73
|
-
return this.#hasDate && this.#hasTime;
|
|
74
|
-
}
|
|
75
|
-
isLocal() {
|
|
76
|
-
return !this.#hasDate || !this.#hasTime || !this.#offset;
|
|
77
|
-
}
|
|
78
|
-
isDate() {
|
|
79
|
-
return this.#hasDate && !this.#hasTime;
|
|
80
|
-
}
|
|
81
|
-
isTime() {
|
|
82
|
-
return this.#hasTime && !this.#hasDate;
|
|
83
|
-
}
|
|
84
|
-
isValid() {
|
|
85
|
-
return this.#hasDate || this.#hasTime;
|
|
86
|
-
}
|
|
87
|
-
toISOString() {
|
|
88
|
-
let iso = super.toISOString();
|
|
89
|
-
if (this.isDate())
|
|
90
|
-
return iso.slice(0, 10);
|
|
91
|
-
if (this.isTime())
|
|
92
|
-
return iso.slice(11, 23);
|
|
93
|
-
if (this.#offset === null)
|
|
94
|
-
return iso.slice(0, -1);
|
|
95
|
-
if (this.#offset === "Z")
|
|
96
|
-
return iso;
|
|
97
|
-
let offset = +this.#offset.slice(1, 3) * 60 + +this.#offset.slice(4, 6);
|
|
98
|
-
offset = this.#offset[0] === "-" ? offset : -offset;
|
|
99
|
-
let offsetDate = new Date(this.getTime() - offset * 6e4);
|
|
100
|
-
return offsetDate.toISOString().slice(0, -1) + this.#offset;
|
|
101
|
-
}
|
|
102
|
-
static wrapAsOffsetDateTime(jsDate, offset = "Z") {
|
|
103
|
-
let date = new _TomlDate(jsDate);
|
|
104
|
-
date.#offset = offset;
|
|
105
|
-
return date;
|
|
106
|
-
}
|
|
107
|
-
static wrapAsLocalDateTime(jsDate) {
|
|
108
|
-
let date = new _TomlDate(jsDate);
|
|
109
|
-
date.#offset = null;
|
|
110
|
-
return date;
|
|
111
|
-
}
|
|
112
|
-
static wrapAsLocalDate(jsDate) {
|
|
113
|
-
let date = new _TomlDate(jsDate);
|
|
114
|
-
date.#hasTime = false;
|
|
115
|
-
date.#offset = null;
|
|
116
|
-
return date;
|
|
117
|
-
}
|
|
118
|
-
static wrapAsLocalTime(jsDate) {
|
|
119
|
-
let date = new _TomlDate(jsDate);
|
|
120
|
-
date.#hasDate = false;
|
|
121
|
-
date.#offset = null;
|
|
122
|
-
return date;
|
|
123
|
-
}
|
|
124
|
-
};
|
|
125
|
-
|
|
126
|
-
// ../../node_modules/.pnpm/smol-toml@1.8.0/node_modules/smol-toml/dist/error.js
|
|
34
|
+
// ../../node_modules/.pnpm/smol-toml@1.9.0/node_modules/smol-toml/dist/error.js
|
|
127
35
|
function getLineColFromPtr(string2, ptr) {
|
|
128
|
-
let lines = string2.slice(0, ptr).split(/\r
|
|
36
|
+
let lines = string2.slice(0, ptr).split(/\r?\n/);
|
|
129
37
|
return [lines.length, lines.pop().length + 1];
|
|
130
38
|
}
|
|
131
39
|
function makeCodeBlock(string2, line, column) {
|
|
132
|
-
let lines = string2.split(/\r
|
|
40
|
+
let lines = string2.split(/\r?\n/);
|
|
133
41
|
let codeblock = "";
|
|
134
42
|
let numberLen = (Math.log10(line + 1) | 0) + 1;
|
|
135
43
|
for (let i = line - 1; i <= line + 1; i++) {
|
|
@@ -147,7 +55,7 @@ function makeCodeBlock(string2, line, column) {
|
|
|
147
55
|
}
|
|
148
56
|
return codeblock;
|
|
149
57
|
}
|
|
150
|
-
var TomlError = class extends Error {
|
|
58
|
+
var TomlError = class _TomlError extends Error {
|
|
151
59
|
line;
|
|
152
60
|
column;
|
|
153
61
|
codeblock;
|
|
@@ -161,69 +69,15 @@ ${codeblock}`, options);
|
|
|
161
69
|
this.column = column;
|
|
162
70
|
this.codeblock = codeblock;
|
|
163
71
|
}
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
function indexOfNewline(str, start = 0) {
|
|
168
|
-
let idx = str.indexOf("\n", start);
|
|
169
|
-
if (str.charCodeAt(idx - 1) === 13)
|
|
170
|
-
idx--;
|
|
171
|
-
return idx;
|
|
172
|
-
}
|
|
173
|
-
function skipComment(ctx) {
|
|
174
|
-
for (; ctx.p < ctx.s.length; ctx.p++) {
|
|
175
|
-
let c = ctx.s.charCodeAt(ctx.p);
|
|
176
|
-
if (c === 10)
|
|
177
|
-
break;
|
|
178
|
-
if (c === 13 && ctx.s.charCodeAt(ctx.p + 1) === 10) {
|
|
179
|
-
ctx.p++;
|
|
180
|
-
break;
|
|
181
|
-
}
|
|
182
|
-
if (c < 32 && c !== 9 || c === 127) {
|
|
183
|
-
throw new TomlError("control characters are not allowed in comments", {
|
|
184
|
-
toml: ctx.s,
|
|
185
|
-
ptr: ctx.p
|
|
186
|
-
});
|
|
187
|
-
}
|
|
188
|
-
}
|
|
189
|
-
}
|
|
190
|
-
function skipVoid(ctx, banNewLines, banComments) {
|
|
191
|
-
let c;
|
|
192
|
-
while (1) {
|
|
193
|
-
while ((c = ctx.s.charCodeAt(ctx.p)) === 32 || c === 9 || !banNewLines && (c === 10 || c === 13 && ctx.s.charCodeAt(ctx.p + 1) === 10))
|
|
194
|
-
ctx.p++;
|
|
195
|
-
if (banComments || c !== 35)
|
|
196
|
-
break;
|
|
197
|
-
skipComment(ctx);
|
|
198
|
-
}
|
|
199
|
-
}
|
|
200
|
-
function skipUntil(ctx, sep, end) {
|
|
201
|
-
let ptr = ctx.p;
|
|
202
|
-
if (!end) {
|
|
203
|
-
ptr = indexOfNewline(ctx.s, ptr);
|
|
204
|
-
ctx.p = ptr < 0 ? ctx.s.length : ptr;
|
|
205
|
-
return;
|
|
206
|
-
}
|
|
207
|
-
for (; ctx.p < ctx.s.length; ctx.p++) {
|
|
208
|
-
let c = ctx.s.charCodeAt(ctx.p);
|
|
209
|
-
if (c === 35) {
|
|
210
|
-
skipComment(ctx);
|
|
211
|
-
} else if (c === end || c === sep) {
|
|
212
|
-
return;
|
|
213
|
-
}
|
|
72
|
+
/** @internal */
|
|
73
|
+
static x(message, ctx, ptr) {
|
|
74
|
+
throw new _TomlError(message, { toml: ctx.s, ptr: ptr ?? ctx.p });
|
|
214
75
|
}
|
|
215
|
-
|
|
216
|
-
toml: ctx.s,
|
|
217
|
-
ptr
|
|
218
|
-
});
|
|
219
|
-
}
|
|
76
|
+
};
|
|
220
77
|
|
|
221
|
-
// ../../node_modules/.pnpm/smol-toml@1.
|
|
222
|
-
var INT_REGEX = /^((0x[0-9a-fA-F](_?[0-9a-fA-F])*)|(([+-]|0[ob])?\d(_?\d)*))$/;
|
|
223
|
-
var FLOAT_REGEX = /^[+-]?\d(_?\d)*(\.\d(_?\d)*)?([eE][+-]?\d(_?\d)*)?$/;
|
|
224
|
-
var LEADING_ZERO = /^[+-]?0[0-9_]/;
|
|
78
|
+
// ../../node_modules/.pnpm/smol-toml@1.9.0/node_modules/smol-toml/dist/primitive.js
|
|
225
79
|
function parseString(ctx) {
|
|
226
|
-
let
|
|
80
|
+
let startPtr = ctx.p;
|
|
227
81
|
let c = ctx.s.charCodeAt(ctx.p++);
|
|
228
82
|
let first = c;
|
|
229
83
|
let isLiteral = c === 39;
|
|
@@ -242,10 +96,7 @@ function parseString(ctx) {
|
|
|
242
96
|
if (isMultiline && (c === 10 || c === 13 && ctx.s.charCodeAt(ctx.p + 1) === 10)) {
|
|
243
97
|
state = state && 3;
|
|
244
98
|
} else if (c < 32 && c !== 9 || c === 127) {
|
|
245
|
-
|
|
246
|
-
toml: ctx.s,
|
|
247
|
-
ptr: ctx.p
|
|
248
|
-
});
|
|
99
|
+
TomlError.x("control characters are not allowed in strings", ctx);
|
|
249
100
|
} else if ((!state || state === 3) && c === first && (!isMultiline || ctx.s.charCodeAt(ctx.p + 1) === first && ctx.s.charCodeAt(ctx.p + 2) === first)) {
|
|
250
101
|
if (isMultiline) {
|
|
251
102
|
if (ctx.s.charCodeAt(ctx.p + 3) === first)
|
|
@@ -253,8 +104,10 @@ function parseString(ctx) {
|
|
|
253
104
|
if (ctx.s.charCodeAt(ctx.p + 3) === first)
|
|
254
105
|
ctx.p++;
|
|
255
106
|
}
|
|
256
|
-
if (!state)
|
|
257
|
-
|
|
107
|
+
if (!state) {
|
|
108
|
+
let s = ctx.s.slice(sliceStart, ctx.p);
|
|
109
|
+
parsed = parsed ? parsed + s : s;
|
|
110
|
+
}
|
|
258
111
|
ctx.p += isMultiline ? 3 : 1;
|
|
259
112
|
return parsed;
|
|
260
113
|
} else if (!state) {
|
|
@@ -264,10 +117,11 @@ function parseString(ctx) {
|
|
|
264
117
|
}
|
|
265
118
|
} else if (state === 1) {
|
|
266
119
|
if (c === 120 || c === 117 || c === 85) {
|
|
120
|
+
let errPtr = ctx.p++ - 1;
|
|
267
121
|
let value = 0;
|
|
268
122
|
let len = c === 120 ? 2 : c === 117 ? 4 : 8;
|
|
269
123
|
for (let j = 0; j < len; j++, ctx.p++) {
|
|
270
|
-
let hex = ctx.s.charCodeAt(ctx.p
|
|
124
|
+
let hex = ctx.s.charCodeAt(ctx.p);
|
|
271
125
|
let digit = (
|
|
272
126
|
/* 0-9 */
|
|
273
127
|
hex >= 48 && hex <= 57 ? hex - 48 : (
|
|
@@ -279,16 +133,16 @@ function parseString(ctx) {
|
|
|
279
133
|
)
|
|
280
134
|
);
|
|
281
135
|
if (digit < 0)
|
|
282
|
-
|
|
136
|
+
TomlError.x("invalid non-hex character in unicode escape", ctx);
|
|
283
137
|
value = value << 4 | digit;
|
|
284
138
|
}
|
|
285
139
|
if (value < 0 || value > 1114111 || value >= 55296 && value <= 57343) {
|
|
286
|
-
|
|
140
|
+
TomlError.x("invalid unicode escape", ctx, errPtr);
|
|
287
141
|
}
|
|
288
142
|
parsed += String.fromCodePoint(value);
|
|
289
|
-
sliceStart = ctx.p
|
|
143
|
+
sliceStart = ctx.p--;
|
|
290
144
|
state = 0;
|
|
291
|
-
} else if (c === 32 || c === 9) {
|
|
145
|
+
} else if (isMultiline && (c === 32 || c === 9)) {
|
|
292
146
|
state = 2;
|
|
293
147
|
} else {
|
|
294
148
|
if (c === 98)
|
|
@@ -308,84 +162,150 @@ function parseString(ctx) {
|
|
|
308
162
|
else if (c === 92)
|
|
309
163
|
parsed += "\\";
|
|
310
164
|
else
|
|
311
|
-
|
|
165
|
+
TomlError.x("unrecognised escape sequence", ctx);
|
|
312
166
|
sliceStart = ctx.p + 1;
|
|
313
167
|
state = 0;
|
|
314
168
|
}
|
|
315
169
|
} else if (c !== 32 && c !== 9) {
|
|
316
|
-
if (state === 2)
|
|
317
|
-
|
|
318
|
-
toml: ctx.s,
|
|
319
|
-
ptr: sliceStart
|
|
320
|
-
});
|
|
321
|
-
}
|
|
170
|
+
if (state === 2)
|
|
171
|
+
TomlError.x("invalid escape: only line-ending whitespace may be escaped", ctx, sliceStart);
|
|
322
172
|
state = !isLiteral && c === 92 ? 1 : 0;
|
|
323
173
|
sliceStart = ctx.p;
|
|
324
174
|
}
|
|
325
175
|
}
|
|
326
|
-
|
|
176
|
+
TomlError.x("unfinished string", ctx, startPtr);
|
|
327
177
|
}
|
|
328
|
-
|
|
329
|
-
|
|
330
|
-
|
|
331
|
-
|
|
332
|
-
|
|
333
|
-
|
|
178
|
+
|
|
179
|
+
// ../../node_modules/.pnpm/smol-toml@1.9.0/node_modules/smol-toml/dist/date.js
|
|
180
|
+
var DATE_TIME_RE = /^(\d{4}-\d{2}-\d{2})?[Tt ]?(?:(\d{2}):\d{2}(?::\d{2}(?:\.\d+)?)?)?(Z|z|[-+]\d{2}:\d{2})?$/i;
|
|
181
|
+
var TomlDate = class _TomlDate extends Date {
|
|
182
|
+
#hasDate = false;
|
|
183
|
+
#hasTime = false;
|
|
184
|
+
#offset = null;
|
|
185
|
+
constructor(date, fasttype, unsafeDelim) {
|
|
186
|
+
let hasDate = true;
|
|
187
|
+
let hasTime = true;
|
|
188
|
+
let offset = "Z";
|
|
189
|
+
let c;
|
|
190
|
+
if (typeof date === "string") {
|
|
191
|
+
if (fasttype)
|
|
192
|
+
prep: {
|
|
193
|
+
if (fasttype < 3) {
|
|
194
|
+
if (+date.slice(11, 13) > 23) {
|
|
195
|
+
date = "";
|
|
196
|
+
break prep;
|
|
197
|
+
}
|
|
198
|
+
if (fasttype === 2) {
|
|
199
|
+
offset = null;
|
|
200
|
+
date += "Z";
|
|
201
|
+
} else if ((c = date.charCodeAt(date.length - 1)) !== 90 && c !== 122) {
|
|
202
|
+
offset = date.slice(date.length - 6);
|
|
203
|
+
}
|
|
204
|
+
if (unsafeDelim)
|
|
205
|
+
date = date.slice(0, 10) + "T" + date.slice(11);
|
|
206
|
+
} else if (fasttype === 4) {
|
|
207
|
+
date = +date.slice(0, 2) > 23 ? "" : `0000-01-01T${date}Z`;
|
|
208
|
+
}
|
|
209
|
+
hasDate = fasttype !== 4;
|
|
210
|
+
hasTime = fasttype !== 3;
|
|
211
|
+
}
|
|
212
|
+
else {
|
|
213
|
+
let match = date.match(DATE_TIME_RE);
|
|
214
|
+
if (match) {
|
|
215
|
+
if (!match[1]) {
|
|
216
|
+
hasDate = false;
|
|
217
|
+
date = `0000-01-01T${date}`;
|
|
218
|
+
}
|
|
219
|
+
hasTime = !!match[2];
|
|
220
|
+
hasTime && date[10] === " " && (date = date.replace(" ", "T"));
|
|
221
|
+
if (match[2] && +match[2] > 23) {
|
|
222
|
+
date = "";
|
|
223
|
+
} else {
|
|
224
|
+
offset = match[3] || null;
|
|
225
|
+
if (!offset && hasTime)
|
|
226
|
+
date += "Z";
|
|
227
|
+
}
|
|
228
|
+
} else {
|
|
229
|
+
date = "";
|
|
230
|
+
}
|
|
231
|
+
}
|
|
232
|
+
}
|
|
233
|
+
super(date);
|
|
234
|
+
if (!isNaN(this.getTime())) {
|
|
235
|
+
this.#hasDate = hasDate;
|
|
236
|
+
this.#hasTime = hasTime;
|
|
237
|
+
this.#offset = offset;
|
|
238
|
+
}
|
|
334
239
|
}
|
|
335
|
-
|
|
336
|
-
|
|
337
|
-
|
|
338
|
-
|
|
339
|
-
|
|
340
|
-
|
|
341
|
-
|
|
342
|
-
|
|
343
|
-
|
|
344
|
-
|
|
345
|
-
return
|
|
346
|
-
|
|
347
|
-
|
|
348
|
-
|
|
349
|
-
|
|
350
|
-
|
|
351
|
-
|
|
352
|
-
|
|
353
|
-
|
|
354
|
-
if (
|
|
355
|
-
|
|
356
|
-
|
|
357
|
-
|
|
358
|
-
|
|
359
|
-
|
|
360
|
-
|
|
361
|
-
|
|
362
|
-
|
|
363
|
-
|
|
364
|
-
|
|
365
|
-
|
|
366
|
-
|
|
367
|
-
|
|
368
|
-
|
|
369
|
-
|
|
370
|
-
|
|
371
|
-
|
|
372
|
-
|
|
373
|
-
|
|
374
|
-
|
|
375
|
-
|
|
240
|
+
isDateTime() {
|
|
241
|
+
return this.#hasDate && this.#hasTime;
|
|
242
|
+
}
|
|
243
|
+
isLocal() {
|
|
244
|
+
return !this.#hasDate || !this.#hasTime || !this.#offset;
|
|
245
|
+
}
|
|
246
|
+
isDate() {
|
|
247
|
+
return this.#hasDate && !this.#hasTime;
|
|
248
|
+
}
|
|
249
|
+
isTime() {
|
|
250
|
+
return this.#hasTime && !this.#hasDate;
|
|
251
|
+
}
|
|
252
|
+
isValid() {
|
|
253
|
+
return this.#hasDate || this.#hasTime;
|
|
254
|
+
}
|
|
255
|
+
toISOString() {
|
|
256
|
+
let iso = super.toISOString();
|
|
257
|
+
if (this.isDate())
|
|
258
|
+
return iso.slice(0, 10);
|
|
259
|
+
if (this.isTime())
|
|
260
|
+
return iso.slice(11, 23);
|
|
261
|
+
if (this.#offset === null)
|
|
262
|
+
return iso.slice(0, -1);
|
|
263
|
+
if (this.#offset === "Z" || this.#offset === "z")
|
|
264
|
+
return iso;
|
|
265
|
+
let offset = +this.#offset.slice(1, 3) * 60 + +this.#offset.slice(4, 6);
|
|
266
|
+
offset = this.#offset[0] === "-" ? offset : -offset;
|
|
267
|
+
let offsetDate = new Date(this.getTime() - offset * 6e4);
|
|
268
|
+
return offsetDate.toISOString().slice(0, -1) + this.#offset;
|
|
269
|
+
}
|
|
270
|
+
static wrapAsOffsetDateTime(jsDate, offset = "Z") {
|
|
271
|
+
let date = new _TomlDate(jsDate);
|
|
272
|
+
date.#offset = offset;
|
|
273
|
+
return date;
|
|
274
|
+
}
|
|
275
|
+
static wrapAsLocalDateTime(jsDate) {
|
|
276
|
+
let date = new _TomlDate(jsDate);
|
|
277
|
+
date.#offset = null;
|
|
278
|
+
return date;
|
|
279
|
+
}
|
|
280
|
+
static wrapAsLocalDate(jsDate) {
|
|
281
|
+
let date = new _TomlDate(jsDate);
|
|
282
|
+
date.#hasTime = false;
|
|
283
|
+
date.#offset = null;
|
|
284
|
+
return date;
|
|
285
|
+
}
|
|
286
|
+
static wrapAsLocalTime(jsDate) {
|
|
287
|
+
let date = new _TomlDate(jsDate);
|
|
288
|
+
date.#hasDate = false;
|
|
289
|
+
date.#offset = null;
|
|
290
|
+
return date;
|
|
291
|
+
}
|
|
292
|
+
};
|
|
376
293
|
|
|
377
|
-
// ../../node_modules/.pnpm/smol-toml@1.
|
|
378
|
-
function
|
|
379
|
-
|
|
380
|
-
|
|
294
|
+
// ../../node_modules/.pnpm/smol-toml@1.9.0/node_modules/smol-toml/dist/extract.js
|
|
295
|
+
function isDigit(char, base = 10) {
|
|
296
|
+
return base === 16 ? char > 47 && char < 58 || char > 64 && char < 71 || char > 96 && char < 103 : char > 47 && char < 48 + base;
|
|
297
|
+
}
|
|
298
|
+
function isEndOfValue(char, delim) {
|
|
299
|
+
return char === 32 || char === 9 || char === 10 || char === 13 || // Structure end or next value delimiter
|
|
300
|
+
delim && (char === delim || char === 44) || // Comment
|
|
301
|
+
char === 35;
|
|
302
|
+
}
|
|
303
|
+
function extractValue(ctx, end) {
|
|
304
|
+
let errPtr = ctx.p;
|
|
305
|
+
let c = ctx.s.charCodeAt(ctx.p);
|
|
381
306
|
if (c === 91 || c === 123) {
|
|
382
|
-
|
|
383
|
-
|
|
384
|
-
toml: ctx.s,
|
|
385
|
-
ptr
|
|
386
|
-
});
|
|
387
|
-
}
|
|
388
|
-
let value = c === 91 ? parseArray(ctx, integersAsBigInt) : parseInlineTable(ctx, integersAsBigInt);
|
|
307
|
+
ctx.d-- || TomlError.x("document contains excessively nested structures. aborting.", ctx);
|
|
308
|
+
let value = c === 91 ? parseArray(ctx) : parseInlineTable(ctx);
|
|
389
309
|
ctx.d++;
|
|
390
310
|
return value;
|
|
391
311
|
}
|
|
@@ -394,90 +314,261 @@ function extractValue(ctx, end, integersAsBigInt) {
|
|
|
394
314
|
}
|
|
395
315
|
if (c === 116) {
|
|
396
316
|
if (ctx.s.charCodeAt(++ctx.p) !== 114 || ctx.s.charCodeAt(++ctx.p) !== 117 || ctx.s.charCodeAt(++ctx.p) !== 101)
|
|
397
|
-
|
|
398
|
-
ctx.p
|
|
399
|
-
return true;
|
|
317
|
+
TomlError.x("invalid value", ctx, errPtr);
|
|
318
|
+
return ctx.p++, true;
|
|
400
319
|
}
|
|
401
320
|
if (c === 102) {
|
|
402
321
|
if (ctx.s.charCodeAt(++ctx.p) !== 97 || ctx.s.charCodeAt(++ctx.p) !== 108 || ctx.s.charCodeAt(++ctx.p) !== 115 || ctx.s.charCodeAt(++ctx.p) !== 101)
|
|
403
|
-
|
|
404
|
-
ctx.p
|
|
405
|
-
|
|
322
|
+
TomlError.x("invalid value", ctx, errPtr);
|
|
323
|
+
return ctx.p++, false;
|
|
324
|
+
}
|
|
325
|
+
if (c === 43 || c === 45) {
|
|
326
|
+
return parseNumber(ctx, ctx.p, ctx.s.charCodeAt(++ctx.p), 44 - c, end);
|
|
327
|
+
}
|
|
328
|
+
if (ctx.s.charCodeAt(ctx.p + 4) === 45 && ctx.s.charCodeAt(ctx.p + 7) === 45) {
|
|
329
|
+
return parseDate(ctx, c, end);
|
|
406
330
|
}
|
|
407
|
-
|
|
331
|
+
if (ctx.s.charCodeAt(ctx.p + 2) === 58) {
|
|
332
|
+
return parseTime(ctx, c, end);
|
|
333
|
+
}
|
|
334
|
+
return parseNumber(ctx, ctx.p, c, 0, end);
|
|
408
335
|
}
|
|
409
|
-
|
|
410
|
-
|
|
411
|
-
|
|
412
|
-
|
|
336
|
+
function parseNumber(ctx, startPtr, startChr, sign, endChr) {
|
|
337
|
+
let c = startChr;
|
|
338
|
+
let state = 0;
|
|
339
|
+
let hasUnderscores = false;
|
|
340
|
+
if (c === 105) {
|
|
341
|
+
if (ctx.s.charCodeAt(++ctx.p) !== 110 || ctx.s.charCodeAt(++ctx.p) !== 102)
|
|
342
|
+
TomlError.x("invalid value", ctx, startPtr);
|
|
343
|
+
return ctx.p++, (sign || 1) / 0;
|
|
344
|
+
}
|
|
345
|
+
if (c === 110) {
|
|
346
|
+
if (ctx.s.charCodeAt(++ctx.p) !== 97 || ctx.s.charCodeAt(++ctx.p) !== 110)
|
|
347
|
+
TomlError.x("invalid value", ctx, startPtr);
|
|
348
|
+
return ctx.p++, NaN;
|
|
349
|
+
}
|
|
350
|
+
if (c === 48) {
|
|
351
|
+
if (++ctx.p >= ctx.s.length || isEndOfValue(c = ctx.s.charCodeAt(ctx.p), endChr))
|
|
352
|
+
return ctx.bi === true ? 0n : 0;
|
|
353
|
+
if (!sign) {
|
|
354
|
+
if (c === 120)
|
|
355
|
+
return parseIntegerBaseN(ctx, startPtr, 16, endChr);
|
|
356
|
+
else if (c === 98)
|
|
357
|
+
return parseIntegerBaseN(ctx, startPtr, 2, endChr);
|
|
358
|
+
else if (c === 111)
|
|
359
|
+
return parseIntegerBaseN(ctx, startPtr, 8, endChr);
|
|
360
|
+
}
|
|
361
|
+
if (c === 46)
|
|
362
|
+
state = 2;
|
|
363
|
+
else if (c === 101 || c === 69)
|
|
364
|
+
state = 4;
|
|
365
|
+
else
|
|
366
|
+
TomlError.x("illegal leading zero", ctx, startPtr);
|
|
367
|
+
} else if (!isDigit(c))
|
|
368
|
+
TomlError.x("invalid value", ctx, startPtr);
|
|
369
|
+
while (++ctx.p < ctx.s.length && (c = ctx.s.charCodeAt(ctx.p), !isEndOfValue(c, endChr))) {
|
|
370
|
+
if (!state)
|
|
371
|
+
state = 1;
|
|
372
|
+
if (c === 95) {
|
|
373
|
+
if (!(state & 1))
|
|
374
|
+
TomlError.x("illegal underscore", ctx);
|
|
375
|
+
state += 11;
|
|
376
|
+
hasUnderscores = true;
|
|
377
|
+
} else if (state === 1 && c === 46)
|
|
378
|
+
state = 2;
|
|
379
|
+
else if ((state === 1 || state === 3) && (c === 101 || c === 69))
|
|
380
|
+
state = 4;
|
|
381
|
+
else if (state === 4 && (c === 43 || c === 45)) ; else if (!isDigit(c))
|
|
382
|
+
TomlError.x(`illegal character in numeric literal`, ctx);
|
|
383
|
+
else if (state > 9)
|
|
384
|
+
state -= 11;
|
|
385
|
+
else if (!(state & 1))
|
|
386
|
+
state++;
|
|
387
|
+
}
|
|
388
|
+
if (!state) {
|
|
389
|
+
let val = (startChr - 48) * (sign || 1);
|
|
390
|
+
return ctx.bi === true ? BigInt(val) : val;
|
|
391
|
+
}
|
|
392
|
+
if (!(state & 1))
|
|
393
|
+
TomlError.x("unfinished numeric value", ctx, startPtr);
|
|
394
|
+
let str = ctx.s.slice(startPtr, ctx.p);
|
|
395
|
+
if (hasUnderscores)
|
|
396
|
+
str = str.replaceAll("_", "");
|
|
397
|
+
return state > 1 ? parseFloat(str) : parseInteger(ctx, str, 10, startPtr);
|
|
398
|
+
}
|
|
399
|
+
function parseIntegerBaseN(ctx, startPtr, base, endChr) {
|
|
400
|
+
let c, underscore = 1;
|
|
401
|
+
while (++ctx.p < ctx.s.length && (c = ctx.s.charCodeAt(ctx.p), !isEndOfValue(c, endChr))) {
|
|
402
|
+
if (c === 95) {
|
|
403
|
+
if (underscore & 1)
|
|
404
|
+
TomlError.x("illegal underscore", ctx);
|
|
405
|
+
underscore = 3;
|
|
406
|
+
} else if (!isDigit(c, base))
|
|
407
|
+
TomlError.x(`illegal character in numeric literal`, ctx);
|
|
408
|
+
else if (underscore & 1)
|
|
409
|
+
underscore--;
|
|
410
|
+
}
|
|
411
|
+
if (underscore & 1)
|
|
412
|
+
TomlError.x("unfinished numeric value", ctx);
|
|
413
|
+
let str = ctx.s.slice(startPtr + 2, ctx.p);
|
|
414
|
+
if (underscore)
|
|
415
|
+
str = str.replaceAll("_", "");
|
|
416
|
+
return parseInteger(ctx, str, base, startPtr);
|
|
417
|
+
}
|
|
418
|
+
function parseInteger(ctx, str, base, startPtr) {
|
|
419
|
+
if (ctx.bi !== true)
|
|
420
|
+
int: {
|
|
421
|
+
let val = parseInt(str, base);
|
|
422
|
+
if (!Number.isSafeInteger(val)) {
|
|
423
|
+
if (ctx.bi)
|
|
424
|
+
break int;
|
|
425
|
+
TomlError.x("integer value cannot be represented losslessly", ctx, startPtr);
|
|
426
|
+
}
|
|
427
|
+
return val;
|
|
428
|
+
}
|
|
429
|
+
return base === 10 ? BigInt(str) : BigInt((base === 2 ? "0b" : base === 8 ? "0o" : "0x") + str);
|
|
430
|
+
}
|
|
431
|
+
function parseDate(ctx, c, endChr) {
|
|
432
|
+
let startPtr = ctx.p++, unsafeSeparator;
|
|
433
|
+
if (!isDigit(c) || !isDigit(ctx.s.charCodeAt(ctx.p++)) || !isDigit(ctx.s.charCodeAt(ctx.p++)) || !isDigit(ctx.s.charCodeAt(ctx.p++))) {
|
|
434
|
+
return parseNumber(ctx, ctx.p = startPtr, c, 0, endChr);
|
|
435
|
+
}
|
|
436
|
+
ctx.p += 5;
|
|
437
|
+
if (!isDigit(ctx.s.charCodeAt(ctx.p++)))
|
|
438
|
+
TomlError.x("invalid date-time: date part is malformed", ctx, startPtr);
|
|
439
|
+
if (ctx.p >= ctx.s.length || ((c = ctx.s.charCodeAt(ctx.p)) !== 32 || (unsafeSeparator = true, !isDigit(ctx.s.charCodeAt(ctx.p + 1)))) && c !== 84 && c !== 116) {
|
|
440
|
+
let t2 = ctx.s.slice(startPtr, ctx.p);
|
|
441
|
+
return readDate(ctx, t2, 3, false, startPtr);
|
|
442
|
+
}
|
|
443
|
+
if (ctx.s.charCodeAt(ctx.p += 3) !== 58)
|
|
444
|
+
TomlError.x("invalid date-time: time part is malformed", ctx, startPtr);
|
|
445
|
+
if (ctx.s.charCodeAt(ctx.p += 3) === 58)
|
|
446
|
+
ctx.p += 3;
|
|
447
|
+
if (ctx.s.charCodeAt(ctx.p) === 46)
|
|
448
|
+
while (isDigit(ctx.s.charCodeAt(++ctx.p)))
|
|
449
|
+
;
|
|
450
|
+
if (c = ctx.s.charCodeAt(ctx.p)) {
|
|
451
|
+
if (c === 90 || c === 122) {
|
|
452
|
+
let t2 = ctx.s.slice(startPtr, ++ctx.p);
|
|
453
|
+
return readDate(ctx, t2, 1, unsafeSeparator, startPtr, "[+00:00]");
|
|
454
|
+
}
|
|
455
|
+
if (c === 43 || c === 45) {
|
|
456
|
+
let t2 = ctx.s.slice(startPtr, ctx.p += 6);
|
|
457
|
+
return readDate(ctx, t2, 1, unsafeSeparator, startPtr, !ctx.ld && "[" + ctx.s.slice(ctx.p - 6, ctx.p) + "]");
|
|
458
|
+
}
|
|
459
|
+
}
|
|
460
|
+
let t = ctx.s.slice(startPtr, ctx.p);
|
|
461
|
+
return readDate(ctx, t, 2, unsafeSeparator, startPtr);
|
|
462
|
+
}
|
|
463
|
+
function parseTime(ctx, c, endChr) {
|
|
413
464
|
let start = ctx.p;
|
|
414
|
-
|
|
415
|
-
|
|
416
|
-
|
|
417
|
-
if (
|
|
418
|
-
|
|
419
|
-
|
|
420
|
-
|
|
421
|
-
|
|
465
|
+
if (!isDigit(c) || !isDigit(ctx.s.charCodeAt(++ctx.p))) {
|
|
466
|
+
return parseNumber(ctx, --ctx.p, c, 0, endChr);
|
|
467
|
+
}
|
|
468
|
+
if (ctx.s.charCodeAt(ctx.p += 4) === 58)
|
|
469
|
+
ctx.p += 3;
|
|
470
|
+
if (ctx.s.charCodeAt(ctx.p) === 46)
|
|
471
|
+
while (isDigit(ctx.s.charCodeAt(++ctx.p)))
|
|
472
|
+
;
|
|
473
|
+
let t = ctx.s.slice(start, ctx.p);
|
|
474
|
+
return readDate(ctx, t, 4, false, start);
|
|
475
|
+
}
|
|
476
|
+
function readDate(ctx, str, type, unsafeDelim, errPtr, temporalSuffix) {
|
|
477
|
+
if (ctx.ld) {
|
|
478
|
+
let date = new TomlDate(str, type, unsafeDelim);
|
|
479
|
+
if (!date.isValid())
|
|
480
|
+
TomlError.x("invalid date", ctx, errPtr);
|
|
481
|
+
return date;
|
|
422
482
|
}
|
|
483
|
+
try {
|
|
484
|
+
if (temporalSuffix)
|
|
485
|
+
str += temporalSuffix;
|
|
486
|
+
switch (type) {
|
|
487
|
+
case 1:
|
|
488
|
+
return Temporal.ZonedDateTime.from(str);
|
|
489
|
+
case 2:
|
|
490
|
+
return Temporal.PlainDateTime.from(str);
|
|
491
|
+
case 3:
|
|
492
|
+
return Temporal.PlainDate.from(str);
|
|
493
|
+
case 4:
|
|
494
|
+
return Temporal.PlainTime.from(str);
|
|
495
|
+
}
|
|
496
|
+
} catch (e) {
|
|
497
|
+
TomlError.x(e instanceof Error ? e.message : "" + e, ctx, errPtr);
|
|
498
|
+
}
|
|
499
|
+
}
|
|
500
|
+
|
|
501
|
+
// ../../node_modules/.pnpm/smol-toml@1.9.0/node_modules/smol-toml/dist/util.js
|
|
502
|
+
function skipComment(ctx) {
|
|
503
|
+
for (; ctx.p < ctx.s.length; ctx.p++) {
|
|
504
|
+
let c = ctx.s.charCodeAt(ctx.p);
|
|
505
|
+
if (c === 10)
|
|
506
|
+
break;
|
|
507
|
+
if (c === 13 && ctx.s.charCodeAt(ctx.p + 1) === 10) {
|
|
508
|
+
ctx.p++;
|
|
509
|
+
break;
|
|
510
|
+
}
|
|
511
|
+
if (c < 32 && c !== 9 || c === 127) {
|
|
512
|
+
TomlError.x("control characters are not allowed in comments", ctx);
|
|
513
|
+
}
|
|
514
|
+
}
|
|
515
|
+
}
|
|
516
|
+
function skipVoid(ctx, banNewLines, banComments) {
|
|
517
|
+
let c;
|
|
518
|
+
while (ctx.p < ctx.s.length) {
|
|
519
|
+
while (ctx.p < ctx.s.length && ((c = ctx.s.charCodeAt(ctx.p)) === 32 || c === 9 || !banNewLines && (c === 10 || c === 13 && ctx.s.charCodeAt(ctx.p + 1) === 10)))
|
|
520
|
+
ctx.p++;
|
|
521
|
+
if (banComments || c !== 35)
|
|
522
|
+
break;
|
|
523
|
+
skipComment(ctx);
|
|
524
|
+
}
|
|
525
|
+
}
|
|
526
|
+
|
|
527
|
+
// ../../node_modules/.pnpm/smol-toml@1.9.0/node_modules/smol-toml/dist/struct.js
|
|
528
|
+
function parseKey(ctx, end = 61) {
|
|
529
|
+
let startPtr;
|
|
530
|
+
let state = 0;
|
|
531
|
+
let parsed = [];
|
|
532
|
+
let sliceStart;
|
|
533
|
+
let c = ctx.s.charCodeAt(startPtr = ctx.p);
|
|
423
534
|
do {
|
|
424
|
-
|
|
425
|
-
|
|
426
|
-
|
|
427
|
-
|
|
428
|
-
|
|
429
|
-
|
|
430
|
-
|
|
431
|
-
|
|
432
|
-
|
|
433
|
-
|
|
434
|
-
|
|
435
|
-
|
|
436
|
-
|
|
437
|
-
|
|
438
|
-
|
|
439
|
-
|
|
440
|
-
|
|
441
|
-
|
|
442
|
-
|
|
443
|
-
|
|
444
|
-
|
|
445
|
-
|
|
446
|
-
ptr: ctx.p
|
|
447
|
-
});
|
|
448
|
-
}
|
|
449
|
-
if (endPtr < ctx.p) {
|
|
450
|
-
endPtr = ctx.s.indexOf(end, ctx.p);
|
|
451
|
-
if (endPtr < 0) {
|
|
452
|
-
throw new TomlError("incomplete key-value: cannot find end of key", {
|
|
453
|
-
toml: ctx.s,
|
|
454
|
-
ptr: start
|
|
455
|
-
});
|
|
456
|
-
}
|
|
457
|
-
}
|
|
458
|
-
parsed.push(part);
|
|
459
|
-
} else {
|
|
460
|
-
dot = ctx.s.indexOf(".", ctx.p);
|
|
461
|
-
let part = ctx.s.slice(ctx.p, dot < 0 || dot > endPtr ? endPtr : dot);
|
|
462
|
-
if (!KEY_PART_RE.test(part)) {
|
|
463
|
-
throw new TomlError("only letter, numbers, dashes and underscores are allowed in keys", {
|
|
464
|
-
toml: ctx.s,
|
|
465
|
-
ptr: ctx.p
|
|
466
|
-
});
|
|
467
|
-
}
|
|
468
|
-
parsed.push(part.trimEnd());
|
|
535
|
+
if (c === end) {
|
|
536
|
+
if (!state)
|
|
537
|
+
TomlError.x("unexpected end of key", ctx);
|
|
538
|
+
if (state === 1)
|
|
539
|
+
parsed.push(ctx.s.slice(sliceStart, ctx.p));
|
|
540
|
+
return ctx.p++, parsed;
|
|
541
|
+
} else if (c === 46) {
|
|
542
|
+
if (!state)
|
|
543
|
+
TomlError.x("illegal empty bare key", ctx);
|
|
544
|
+
if (state === 1)
|
|
545
|
+
parsed.push(ctx.s.slice(sliceStart, ctx.p));
|
|
546
|
+
state = 0;
|
|
547
|
+
} else if (!state && (c === 34 || c === 39)) {
|
|
548
|
+
if (c === ctx.s.charCodeAt(ctx.p + 1) && c === ctx.s.charCodeAt(ctx.p + 2))
|
|
549
|
+
TomlError.x("illegal quoted key: multiline strings are not allowed", ctx);
|
|
550
|
+
parsed.push(parseString(ctx));
|
|
551
|
+
state = 2;
|
|
552
|
+
ctx.p--;
|
|
553
|
+
} else if (c === 32 || c === 9) {
|
|
554
|
+
if (state === 1) {
|
|
555
|
+
parsed.push(ctx.s.slice(sliceStart, ctx.p));
|
|
556
|
+
state = 2;
|
|
469
557
|
}
|
|
558
|
+
} else if (state === 2 || c < 48 && c !== 45 || c > 57 && c < 65 || c > 90 && c < 97 && c !== 95 || c > 122) {
|
|
559
|
+
TomlError.x("illegal character in key", ctx);
|
|
560
|
+
} else if (!state) {
|
|
561
|
+
state = 1;
|
|
562
|
+
sliceStart = ctx.p;
|
|
470
563
|
}
|
|
471
|
-
} while (
|
|
472
|
-
|
|
473
|
-
skipVoid(ctx, true, true);
|
|
474
|
-
return parsed;
|
|
564
|
+
} while (c = ctx.s.charCodeAt(++ctx.p));
|
|
565
|
+
TomlError.x("incomplete key-value: cannot find end of key", ctx, startPtr);
|
|
475
566
|
}
|
|
476
|
-
function parseInlineTable(ctx
|
|
477
|
-
let
|
|
567
|
+
function parseInlineTable(ctx) {
|
|
568
|
+
let startPtr = ctx.p++;
|
|
569
|
+
let res = /* @__PURE__ */ Object.create(null);
|
|
478
570
|
let seen = /* @__PURE__ */ new Set();
|
|
479
571
|
let c;
|
|
480
|
-
ctx.p++;
|
|
481
572
|
while (ctx.p < ctx.s.length) {
|
|
482
573
|
skipVoid(ctx);
|
|
483
574
|
if ((c = ctx.s.charCodeAt(ctx.p)) === 125) {
|
|
@@ -487,70 +578,71 @@ function parseInlineTable(ctx, integersAsBigInt) {
|
|
|
487
578
|
let k2;
|
|
488
579
|
let t = res;
|
|
489
580
|
let hasOwn = false;
|
|
490
|
-
let
|
|
581
|
+
let errPtr = ctx.p;
|
|
491
582
|
let key = parseKey(ctx);
|
|
492
583
|
for (let i = 0; i < key.length; i++) {
|
|
493
584
|
if (i)
|
|
494
|
-
t = hasOwn ? t[k2] : t[k2] =
|
|
585
|
+
t = hasOwn ? t[k2] : t[k2] = /* @__PURE__ */ Object.create(null);
|
|
495
586
|
k2 = key[i];
|
|
496
587
|
if ((hasOwn = Object.hasOwn(t, k2)) && (typeof t[k2] !== "object" || seen.has(t[k2]))) {
|
|
497
|
-
|
|
498
|
-
toml: ctx.s,
|
|
499
|
-
ptr: p2
|
|
500
|
-
});
|
|
588
|
+
TomlError.x("trying to redefine an already defined value", ctx, errPtr);
|
|
501
589
|
}
|
|
502
|
-
|
|
590
|
+
let unsafe = k2 === "__proto__";
|
|
591
|
+
if (ctx.uk && (unsafe || k2 === "constructor")) {
|
|
592
|
+
t = ctx.uk !== 1 && TomlError.x("document contains an unsafe property", ctx, errPtr);
|
|
593
|
+
break;
|
|
594
|
+
}
|
|
595
|
+
if (!hasOwn && unsafe) {
|
|
503
596
|
Object.defineProperty(t, k2, { enumerable: true, configurable: true, writable: true });
|
|
504
597
|
}
|
|
505
598
|
}
|
|
506
599
|
if (hasOwn) {
|
|
507
|
-
|
|
508
|
-
toml: ctx.s,
|
|
509
|
-
ptr: ctx.p
|
|
510
|
-
});
|
|
600
|
+
TomlError.x("trying to redefine an already defined value", ctx, errPtr);
|
|
511
601
|
}
|
|
512
|
-
|
|
513
|
-
|
|
602
|
+
skipVoid(ctx, true, true);
|
|
603
|
+
let value = extractValue(
|
|
604
|
+
ctx,
|
|
605
|
+
125
|
|
606
|
+
/* } */
|
|
607
|
+
);
|
|
608
|
+
if (t && typeof (t[k2] = value) === "object")
|
|
609
|
+
seen.add(value);
|
|
514
610
|
skipVoid(ctx);
|
|
515
611
|
if ((c = ctx.s.charCodeAt(ctx.p++)) === 125) {
|
|
516
612
|
return res;
|
|
517
613
|
}
|
|
518
|
-
if (c !== 44)
|
|
519
|
-
|
|
520
|
-
}
|
|
614
|
+
if (c !== 44)
|
|
615
|
+
TomlError.x("expected comma or end of structure", ctx, ctx.p - 1);
|
|
521
616
|
}
|
|
522
|
-
|
|
523
|
-
toml: ctx.s,
|
|
524
|
-
ptr: ctx.p
|
|
525
|
-
});
|
|
617
|
+
TomlError.x("unfinished table", ctx, startPtr);
|
|
526
618
|
}
|
|
527
|
-
function parseArray(ctx
|
|
619
|
+
function parseArray(ctx) {
|
|
620
|
+
let startPtr = ctx.p++;
|
|
528
621
|
let res = [];
|
|
529
622
|
let c;
|
|
530
|
-
ctx.p++;
|
|
531
623
|
while (ctx.p < ctx.s.length) {
|
|
532
624
|
skipVoid(ctx);
|
|
533
625
|
if ((c = ctx.s.charCodeAt(ctx.p)) === 93) {
|
|
534
626
|
ctx.p++;
|
|
535
627
|
return res;
|
|
536
628
|
}
|
|
537
|
-
res.push(extractValue(
|
|
629
|
+
res.push(extractValue(
|
|
630
|
+
ctx,
|
|
631
|
+
93
|
|
632
|
+
/* ] */
|
|
633
|
+
));
|
|
538
634
|
skipVoid(ctx);
|
|
539
635
|
if ((c = ctx.s.charCodeAt(ctx.p++)) === 93) {
|
|
540
636
|
return res;
|
|
541
637
|
}
|
|
542
|
-
if (c !== 44)
|
|
543
|
-
|
|
544
|
-
}
|
|
638
|
+
if (c !== 44)
|
|
639
|
+
TomlError.x("expected comma or end of structure", ctx, ctx.p - 1);
|
|
545
640
|
}
|
|
546
|
-
|
|
547
|
-
toml: ctx.s,
|
|
548
|
-
ptr: ctx.p
|
|
549
|
-
});
|
|
641
|
+
TomlError.x("unfinished array", ctx, startPtr);
|
|
550
642
|
}
|
|
551
643
|
|
|
552
|
-
// ../../node_modules/.pnpm/smol-toml@1.
|
|
553
|
-
function peekTable(key, table, meta, type) {
|
|
644
|
+
// ../../node_modules/.pnpm/smol-toml@1.9.0/node_modules/smol-toml/dist/parse.js
|
|
645
|
+
function peekTable(ctx, key, table, meta, type) {
|
|
554
646
|
let t = table;
|
|
555
647
|
let m = meta;
|
|
556
648
|
let k2;
|
|
@@ -558,7 +650,7 @@ function peekTable(key, table, meta, type) {
|
|
|
558
650
|
let state;
|
|
559
651
|
for (let i = 0; i < key.length; i++) {
|
|
560
652
|
if (i) {
|
|
561
|
-
t = hasOwn ? t[k2] : t[k2] =
|
|
653
|
+
t = hasOwn ? t[k2] : t[k2] = /* @__PURE__ */ Object.create(null);
|
|
562
654
|
m = (state = m[k2]).c;
|
|
563
655
|
if (type === 0 && (state.t === 1 || state.t === 2)) {
|
|
564
656
|
return null;
|
|
@@ -574,7 +666,10 @@ function peekTable(key, table, meta, type) {
|
|
|
574
666
|
return null;
|
|
575
667
|
}
|
|
576
668
|
if (!hasOwn) {
|
|
577
|
-
|
|
669
|
+
let unsafe = k2 === "__proto__";
|
|
670
|
+
if (ctx.uk && (unsafe || k2 === "constructor"))
|
|
671
|
+
return false;
|
|
672
|
+
if (unsafe) {
|
|
578
673
|
Object.defineProperty(t, k2, { enumerable: true, configurable: true, writable: true });
|
|
579
674
|
Object.defineProperty(m, k2, { enumerable: true, configurable: true, writable: true });
|
|
580
675
|
}
|
|
@@ -582,7 +677,7 @@ function peekTable(key, table, meta, type) {
|
|
|
582
677
|
t: i < key.length - 1 && type === 2 ? 3 : type,
|
|
583
678
|
d: false,
|
|
584
679
|
i: 0,
|
|
585
|
-
c:
|
|
680
|
+
c: /* @__PURE__ */ Object.create(null)
|
|
586
681
|
};
|
|
587
682
|
}
|
|
588
683
|
}
|
|
@@ -595,43 +690,60 @@ function peekTable(key, table, meta, type) {
|
|
|
595
690
|
state.d = true;
|
|
596
691
|
t[k2] = [];
|
|
597
692
|
}
|
|
598
|
-
t[k2].push(t =
|
|
599
|
-
state.c[state.i++] = state = { t: 1, d: false, i: 0, c:
|
|
693
|
+
t[k2].push(t = /* @__PURE__ */ Object.create(null));
|
|
694
|
+
state.c[state.i++] = state = { t: 1, d: false, i: 0, c: /* @__PURE__ */ Object.create(null) };
|
|
600
695
|
}
|
|
601
696
|
if (state.d) {
|
|
602
697
|
return null;
|
|
603
698
|
}
|
|
604
699
|
state.d = true;
|
|
605
700
|
if (type === 1) {
|
|
606
|
-
t = hasOwn ? t[k2] : t[k2] =
|
|
701
|
+
t = hasOwn ? t[k2] : t[k2] = /* @__PURE__ */ Object.create(null);
|
|
607
702
|
} else if (type === 0 && hasOwn) {
|
|
608
703
|
return null;
|
|
609
704
|
}
|
|
610
705
|
return [k2, t, state.c];
|
|
611
706
|
}
|
|
612
|
-
function
|
|
613
|
-
|
|
614
|
-
|
|
615
|
-
|
|
707
|
+
function validateTablePeek(ctx, peek, ptr) {
|
|
708
|
+
if (peek === null || ctx.uk === 2)
|
|
709
|
+
TomlError.x(peek === null ? "trying to redefine an already defined table or value" : "document contains an unsafe property", ctx, ptr);
|
|
710
|
+
}
|
|
711
|
+
function parse(toml, options = {}) {
|
|
712
|
+
let ctx = {
|
|
713
|
+
s: toml,
|
|
714
|
+
p: 0,
|
|
715
|
+
d: options.maxDepth ?? 1e3,
|
|
716
|
+
bi: options.integersAsBigInt ?? false,
|
|
717
|
+
ld: options.useLegacyDate ?? true,
|
|
718
|
+
uk: options.unsafeKeyBehaviour === "throw" ? 2 : options.unsafeKeyBehaviour === "drop" ? 1 : 0
|
|
719
|
+
};
|
|
720
|
+
let res = /* @__PURE__ */ Object.create(null);
|
|
721
|
+
let meta = /* @__PURE__ */ Object.create(null);
|
|
616
722
|
let tmp;
|
|
723
|
+
let skipping = false;
|
|
617
724
|
let tbl = res;
|
|
618
725
|
let m = meta;
|
|
726
|
+
if (toml.charCodeAt(0) === 65279)
|
|
727
|
+
ctx.p++;
|
|
619
728
|
skipVoid(ctx);
|
|
620
729
|
while (ctx.p < toml.length) {
|
|
621
730
|
if (toml.charCodeAt(ctx.p) === 91) {
|
|
622
731
|
let isTableArray = toml.charCodeAt(++ctx.p) === 91;
|
|
623
732
|
tmp = ctx.p += +isTableArray;
|
|
624
|
-
|
|
733
|
+
skipping = false;
|
|
734
|
+
let k2 = parseKey(
|
|
735
|
+
ctx,
|
|
736
|
+
93
|
|
737
|
+
/* ] */
|
|
738
|
+
);
|
|
625
739
|
if (isTableArray) {
|
|
626
|
-
if (toml.charCodeAt(ctx.p
|
|
627
|
-
|
|
628
|
-
toml,
|
|
629
|
-
ptr: ctx.p - 1
|
|
630
|
-
});
|
|
740
|
+
if (toml.charCodeAt(ctx.p) !== 93) {
|
|
741
|
+
TomlError.x("expected end of table array declaration", ctx);
|
|
631
742
|
}
|
|
632
743
|
ctx.p++;
|
|
633
744
|
}
|
|
634
745
|
let p2 = peekTable(
|
|
746
|
+
ctx,
|
|
635
747
|
k2,
|
|
636
748
|
res,
|
|
637
749
|
meta,
|
|
@@ -639,37 +751,33 @@ function parse(toml, { maxDepth = 1e3, integersAsBigInt } = {}) {
|
|
|
639
751
|
/* Type.EXPLICIT */
|
|
640
752
|
);
|
|
641
753
|
if (!p2) {
|
|
642
|
-
|
|
643
|
-
|
|
644
|
-
|
|
645
|
-
|
|
754
|
+
validateTablePeek(ctx, p2, tmp);
|
|
755
|
+
skipping = true;
|
|
756
|
+
} else {
|
|
757
|
+
m = p2[2];
|
|
758
|
+
tbl = p2[1];
|
|
646
759
|
}
|
|
647
|
-
m = p2[2];
|
|
648
|
-
tbl = p2[1];
|
|
649
760
|
} else {
|
|
650
761
|
tmp = ctx.p;
|
|
651
762
|
let k2 = parseKey(ctx);
|
|
652
763
|
let p2 = peekTable(
|
|
764
|
+
ctx,
|
|
653
765
|
k2,
|
|
654
766
|
tbl,
|
|
655
767
|
m,
|
|
656
768
|
0
|
|
657
769
|
/* Type.DOTTED */
|
|
658
770
|
);
|
|
659
|
-
if (!p2)
|
|
660
|
-
|
|
661
|
-
|
|
662
|
-
|
|
663
|
-
|
|
664
|
-
|
|
665
|
-
p2[1][p2[0]] = extractValue(ctx, void 0, integersAsBigInt);
|
|
771
|
+
if (!p2 && !skipping)
|
|
772
|
+
validateTablePeek(ctx, p2, tmp);
|
|
773
|
+
skipVoid(ctx, true, true);
|
|
774
|
+
let v = extractValue(ctx, void 0);
|
|
775
|
+
if (p2 && !skipping)
|
|
776
|
+
p2[1][p2[0]] = v;
|
|
666
777
|
}
|
|
667
778
|
skipVoid(ctx, true);
|
|
668
|
-
if (ctx.p < toml.length && (tmp = toml.charCodeAt(ctx.p)) !== 10 && tmp !== 13) {
|
|
669
|
-
|
|
670
|
-
toml,
|
|
671
|
-
ptr: ctx.p
|
|
672
|
-
});
|
|
779
|
+
if (ctx.p < toml.length && (tmp = toml.charCodeAt(ctx.p)) !== 10 && (tmp !== 13 || toml.charCodeAt(ctx.p + 1) !== 10)) {
|
|
780
|
+
TomlError.x("each key-value declaration must be followed by an end-of-line", ctx);
|
|
673
781
|
}
|
|
674
782
|
skipVoid(ctx);
|
|
675
783
|
}
|
|
@@ -9266,7 +9374,7 @@ function whitespaceEnd(text, from) {
|
|
|
9266
9374
|
while (i < text.length && isWhitespace2(text.charCodeAt(i))) i++;
|
|
9267
9375
|
return i;
|
|
9268
9376
|
}
|
|
9269
|
-
function
|
|
9377
|
+
function isDigit2(code) {
|
|
9270
9378
|
return code >= 48 && code <= 57;
|
|
9271
9379
|
}
|
|
9272
9380
|
function isWordCharacter(code) {
|
|
@@ -9445,7 +9553,7 @@ function hasOrderedListItem(text) {
|
|
|
9445
9553
|
for (let at = 0; at <= text.length; ) {
|
|
9446
9554
|
const digits = whitespaceEnd(text, at);
|
|
9447
9555
|
let dot = digits;
|
|
9448
|
-
while (
|
|
9556
|
+
while (isDigit2(text.charCodeAt(dot))) dot++;
|
|
9449
9557
|
if (dot > digits && text.charCodeAt(dot) === 46) {
|
|
9450
9558
|
const next = whitespaceEnd(text, dot + 1);
|
|
9451
9559
|
if (next > dot + 1 && next < text.length) return true;
|
|
@@ -9585,7 +9693,7 @@ function observationHeader(text) {
|
|
|
9585
9693
|
const hash = whitespaceEnd(text, word + 11);
|
|
9586
9694
|
if (text.charCodeAt(hash) !== HASH) continue;
|
|
9587
9695
|
let digits = hash + 1;
|
|
9588
|
-
while (
|
|
9696
|
+
while (isDigit2(text.charCodeAt(digits))) digits++;
|
|
9589
9697
|
if (digits === hash + 1) continue;
|
|
9590
9698
|
const open = whitespaceEnd(text, digits);
|
|
9591
9699
|
if (text.charCodeAt(open) !== BRACKET_OPEN) continue;
|
|
@@ -9820,7 +9928,7 @@ function resultCountAt(text, from) {
|
|
|
9820
9928
|
const open = whitespaceEnd(text, from);
|
|
9821
9929
|
if (text.charCodeAt(open) !== PAREN_OPEN) return null;
|
|
9822
9930
|
let digits = open + 1;
|
|
9823
|
-
while (
|
|
9931
|
+
while (isDigit2(text.charCodeAt(digits))) digits++;
|
|
9824
9932
|
if (digits === open + 1) return null;
|
|
9825
9933
|
const word = whitespaceEnd(text, digits);
|
|
9826
9934
|
if (!startsWithIgnoreCase(text, "result", word)) return null;
|
|
@@ -9950,7 +10058,7 @@ function detailedBlocks(body) {
|
|
|
9950
10058
|
if (!body.startsWith("(confidence:", open)) return null;
|
|
9951
10059
|
const digits = whitespaceEnd(body, open + 12);
|
|
9952
10060
|
let digitsEnd = digits;
|
|
9953
|
-
while (
|
|
10061
|
+
while (isDigit2(body.charCodeAt(digitsEnd)) || body.charCodeAt(digitsEnd) === 46) digitsEnd++;
|
|
9954
10062
|
if (digitsEnd === digits || body.charCodeAt(digitsEnd) !== PAREN_CLOSE) return null;
|
|
9955
10063
|
const rest = contentFrom(digitsEnd + 1);
|
|
9956
10064
|
return rest ? { confidence: [digits, digitsEnd], ...rest } : null;
|
|
@@ -10222,7 +10330,7 @@ function lineHeader(text, at) {
|
|
|
10222
10330
|
const digitsStart = whitespaceEnd(text, at + 4);
|
|
10223
10331
|
if (digitsStart === at + 4) return null;
|
|
10224
10332
|
let i = digitsStart;
|
|
10225
|
-
while (i < text.length &&
|
|
10333
|
+
while (i < text.length && isDigit2(text.charCodeAt(i))) i++;
|
|
10226
10334
|
if (i === digitsStart || text.charCodeAt(i) !== COLON3) return null;
|
|
10227
10335
|
return { digits: text.slice(digitsStart, i), end: i + 1 };
|
|
10228
10336
|
}
|
|
@@ -10524,7 +10632,7 @@ function conversationHeader(text) {
|
|
|
10524
10632
|
function digitsBefore(text, suffix) {
|
|
10525
10633
|
for (let at = text.indexOf(suffix); at !== -1; at = text.indexOf(suffix, at + 1)) {
|
|
10526
10634
|
let start = at;
|
|
10527
|
-
while (start > 0 &&
|
|
10635
|
+
while (start > 0 && isDigit2(text.charCodeAt(start - 1))) start--;
|
|
10528
10636
|
if (start < at) return text.slice(start, at);
|
|
10529
10637
|
}
|
|
10530
10638
|
return null;
|
|
@@ -10582,7 +10690,7 @@ function searchHitRow(line) {
|
|
|
10582
10690
|
const pipe = t.spaceEnd[e];
|
|
10583
10691
|
if (line.charCodeAt(pipe) !== PIPE2) return false;
|
|
10584
10692
|
const label = t.spaceEnd[pipe + 1];
|
|
10585
|
-
return line.startsWith("score=", label) &&
|
|
10693
|
+
return line.startsWith("score=", label) && isDigit2(line.charCodeAt(label + 6));
|
|
10586
10694
|
});
|
|
10587
10695
|
const idRunEnd = t.solidEnd[4];
|
|
10588
10696
|
if (idRunEnd === 4) return null;
|
|
@@ -10603,7 +10711,7 @@ function searchHitRow(line) {
|
|
|
10603
10711
|
}
|
|
10604
10712
|
const label = t.spaceEnd[t.spaceEnd[end] + 1];
|
|
10605
10713
|
let digits = label + 6;
|
|
10606
|
-
while (
|
|
10714
|
+
while (isDigit2(line.charCodeAt(digits))) digits++;
|
|
10607
10715
|
return [
|
|
10608
10716
|
line.slice(0, idEnd),
|
|
10609
10717
|
line.slice(open + 1, close),
|
|
@@ -10797,11 +10905,11 @@ function parseTriggerLines(output) {
|
|
|
10797
10905
|
}
|
|
10798
10906
|
/*! Bundled license information:
|
|
10799
10907
|
|
|
10800
|
-
smol-toml/dist/date.js:
|
|
10801
10908
|
smol-toml/dist/error.js:
|
|
10802
|
-
smol-toml/dist/util.js:
|
|
10803
10909
|
smol-toml/dist/primitive.js:
|
|
10910
|
+
smol-toml/dist/date.js:
|
|
10804
10911
|
smol-toml/dist/extract.js:
|
|
10912
|
+
smol-toml/dist/util.js:
|
|
10805
10913
|
smol-toml/dist/struct.js:
|
|
10806
10914
|
smol-toml/dist/parse.js:
|
|
10807
10915
|
smol-toml/dist/stringify.js:
|