@ai-matrx/content-ir 0.22.7 → 0.24.0
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/CHANGELOG.md +25 -0
- package/dist/convert.cjs +3 -290
- package/dist/convert.cjs.map +1 -1
- package/dist/convert.js +2 -289
- package/dist/convert.js.map +1 -1
- package/dist/core.cjs +3 -290
- package/dist/core.cjs.map +1 -1
- package/dist/core.js +2 -289
- package/dist/core.js.map +1 -1
- package/dist/directives.cjs +3 -37
- package/dist/directives.cjs.map +1 -1
- package/dist/directives.js +2 -36
- package/dist/directives.js.map +1 -1
- package/dist/index.cjs +215 -309
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +1 -1
- package/dist/index.d.ts +1 -1
- package/dist/index.js +207 -308
- package/dist/index.js.map +1 -1
- package/dist/json-extract.cjs +942 -0
- package/dist/json-extract.cjs.map +1 -0
- package/dist/json-extract.d.cts +176 -0
- package/dist/json-extract.d.ts +176 -0
- package/dist/json-extract.js +928 -0
- package/dist/json-extract.js.map +1 -0
- package/dist/source.cjs +212 -0
- package/dist/source.cjs.map +1 -1
- package/dist/source.d.cts +138 -1
- package/dist/source.d.ts +138 -1
- package/dist/source.js +206 -1
- package/dist/source.js.map +1 -1
- package/dist/surfaces.cjs +4 -40
- package/dist/surfaces.cjs.map +1 -1
- package/dist/surfaces.js +2 -38
- package/dist/surfaces.js.map +1 -1
- package/package.json +28 -7
- package/dist/text-case.cjs +0 -333
- package/dist/text-case.cjs.map +0 -1
- package/dist/text-case.d.cts +0 -87
- package/dist/text-case.d.ts +0 -87
- package/dist/text-case.js +0 -320
- package/dist/text-case.js.map +0 -1
package/dist/index.d.cts
CHANGED
|
@@ -7,5 +7,5 @@ export { DualGateDefinition, DualGateInput, DualGateResolvedComponent, DualGateR
|
|
|
7
7
|
export { ArrayItemKindBinding, BlockSchemaDraft, CONTROL_KEYS, CONTROL_KEY_FIELDS, ControlKey, ControlKeysMode, ConversionProblem, DroppedMetadata, FieldComparison, ItemKindRefCheck, JsonSchemaNode, KindJsonSchemaExport, KindJsonSchemaOptions, KindSchemaFromJsonOptions, KindSchemaFromJsonResult, RECORD_DISPOSITION, SavePlanEntry, SavePlanValidation, SchemaConversionResult, WithControlKeysOptions, buildAgentSchemaWithRenderBlockSupport, collectReferencedKinds, collectSchemaReferencedKinds, compareWithExistingKindSchema, controlKeysApplyTo, convertAiSchemaToBlockFields, fieldsToDbPayload, injectKindIntoObjectSchema, isDuplicateBlockSlug, kindSchemaFromJsonSchema, kindSchemaToJsonSchema, normalizeAiSchemaInput, runSchemaConversion, stripControlKeys, validateBlockSchemaSavePlan, withControlKeyFields, withControlKeys } from './convert.cjs';
|
|
8
8
|
export { AnyPartialKindEvent, IR_PARTIAL_KEY, KindVerdict, NODE_OUTCOME_KIND, NodeOutcomeWrapper, PartialKindEvent, PartialKindNode, PartialKindState, RUN_RESULT_KIND, RetractedKindEvent, RunResultWrapper, SupersededKindEvent, advancePartialKind, emitPayloadFence, emitPayloadJson, isProvisionalKind, isTerminalKindEvent, kindVerdictOf, makePartialKindStalenessGate, readNodeOutcomeValue, readOutputRef, readPartialKindEvent, readRunResultValue, rehydrateNodeOutcome, rehydrateRunResult, sanitizeInboundPartialKindMetadata, withRootKind } from './wire.cjs';
|
|
9
9
|
export { ACTION_BY_CLASS, CAPABILITY_BY_CLASS, CLASSES, DIRECTIVE_VERSION, DecodedDirective, DirectiveCapability, DirectiveClass, DirectiveDecodeError, DirectiveDisplay, DirectiveItemKindLookup, DirectiveItemsEdge, DirectiveNounCatalog, DirectiveNounEntry, DirectiveSlug, IN_CONTENT_CLASSES, ItemFact, KindDirectiveShell, RESERVED_PREFIX, SIDE_EFFECT_CLASSES, SLUG_PREFIX, asKindInstance, buildDirectiveSlug, buildKindDirective, capabilityOf, decodeDirective, directiveDisplay, directiveItemKindFromEdges, directiveSlugOf, executesAtOutputRoot, isDirectiveClass, isKindDirective, isLegacyShell, isReservedDirectiveSlug, itemFacts, itemSubtitle, itemTitle, legacyShellUses, looksLikeDirectiveHead, nounFamily, nounLabel, nounTitleColumn, parseDirectiveSlug, resetLegacyShellUses, resolvesInContent, titleCaseToken, tryDecodeDirective, tryDecodeDirectiveContent } from './directives.cjs';
|
|
10
|
-
export { AFTER_WINDOW, BacktickRuns, BlockIslandType, CALLOUT_NAMES, CodePointIndex, CodeRange, DIRECTIVE_CONTAINER_OPEN, DirectiveContainerTracker, DisturbedIsland, FENCE_META_KEY, FENCE_OPENER_WHITESPACE, FENCE_WHITESPACE, FenceEnd, FenceInfo, FenceLineKind, FenceLines, FenceMeta, FenceOpener, FenceReader, InlineIslandType, InnerFenceLine, IslandMeta, IslandType, LinkDefinition, MapOptions, MappedPosition, MappedRange, NESTING_FENCE_LANGUAGES, ReadXmlTag, SourceBlock, SourceBlockKind, SourceChange, SourceEdit, SourceIsland, SourceSpan, SourceSpliceError, SourceSpliceErrorCode, SpliceIntegrity, SpliceOptions, SpliceResult, TITLED_IMAGE_LINE, TokenizeOptions, XmlBalanceOptions, XmlBalanceState, XmlContainerTracker, blockAt, blockEdit, blockRangeEdit, buildCodePointIndex, classifyInnerFenceLine, cleanMarkdown, closeFence, codeSpanText, collectLinkDefinitions, continuesTable, fenceLineKinds, fenceNestsInnerFences, fenceOpenerOf, fenceParts, findBalancedXmlClose, findCodeRanges, findInlineCodeSpans, findLinkDefinitionLines, findTableEnd, findTableStart, findWholeTableStart, hasUnclosedBacktickRun, indexOutsideInlineCode, initialXmlBalance, isEscapedBracketMath, isGfmDelimiterRow, isGrowingDelimiterRow, isHtmlBlockTagName, isInsideInlineCode, isMathPlaceholder, isPipeLedRow, isSingleDollarMath, islandEdit, joinSource, lineIndent, listIslands, looksLikeDisplayMath, looksLikeOpenInlineMath, mapCodeRanges, mapInlineCodeSpans, mapPosition, mapRange, markdownToPlainText, mathToReadable, normalizeLinkLabel, opensStrippedHtmlBlock, opensTable, pairDisplayMath, parseFenceMeta, parseFenceOpener, parseLineRanges, pendingCodeSpanStart, pendingDisplayMathOpener, readXmlTag, removeCodeSpans, replaceFences, resolveReferenceLinks, rowCells, singleDollarAfter, singleDollarMathEnd, soleFence, spliceSave, splitFenceInfo, splitRowSegments, splitsSurrogatePair, startsHtmlBlock, startsLikeTableRow, startsPipelessTable, tableContainerIndent, tableStartsAt, toCodePointOffset, toUtf16Offset, tokenizeSource, trailingTableStart, trimFenceLine, unescapeCellPipes, unwrapCodeSpans, unwrapKindEnvelopes } from './source.cjs';
|
|
10
|
+
export { AFTER_WINDOW, BacktickRuns, BlockIslandType, CALLOUT_NAMES, CodePointIndex, CodeRange, DIRECTIVE_CONTAINER_OPEN, DelimiterCaptureInput, DelimiterGuardResult, DelimiterReportContext, DelimiterViolation, DelimiterViolationReason, DirectiveContainerTracker, DisturbedIsland, FENCE_META_KEY, FENCE_OPENER_WHITESPACE, FENCE_WHITESPACE, FenceEnd, FenceInfo, FenceLineKind, FenceLines, FenceMeta, FenceOpener, FenceReader, InlineIslandType, InnerFenceLine, IslandMeta, IslandType, LinkDefinition, MapOptions, MappedPosition, MappedRange, NESTING_FENCE_LANGUAGES, ReadXmlTag, SourceBlock, SourceBlockKind, SourceChange, SourceEdit, SourceIsland, SourceSpan, SourceSpliceError, SourceSpliceErrorCode, SpliceIntegrity, SpliceOptions, SpliceResult, TITLED_IMAGE_LINE, TokenizeOptions, XmlBalanceOptions, XmlBalanceState, XmlContainerTracker, blockAt, blockEdit, blockRangeEdit, buildCodePointIndex, classifyInnerFenceLine, cleanMarkdown, closeFence, codeSpanText, collectLinkDefinitions, continuesTable, fenceLineKinds, fenceNestsInnerFences, fenceOpenerOf, fenceParts, findBalancedXmlClose, findCodeRanges, findInlineCodeSpans, findLinkDefinitionLines, findTableEnd, findTableStart, findWholeTableStart, guardMarkdownDelimiters, guardMathDelimiters, guardRunawayLinks, hasThinkingTags, hasUnclosedBacktickRun, indexOutsideInlineCode, initialXmlBalance, isEscapedBracketMath, isGfmDelimiterRow, isGrowingDelimiterRow, isHtmlBlockTagName, isInsideInlineCode, isMathPlaceholder, isPipeLedRow, isSingleDollarMath, islandEdit, joinSource, lineIndent, listIslands, looksLikeDisplayMath, looksLikeOpenInlineMath, mapCodeRanges, mapInlineCodeSpans, mapPosition, mapRange, markdownToPlainText, mathToReadable, normalizeLinkLabel, opensStrippedHtmlBlock, opensTable, pairDisplayMath, parseFenceMeta, parseFenceOpener, parseLineRanges, pendingCodeSpanStart, pendingDisplayMathOpener, readXmlTag, removeCodeSpans, replaceFences, reportDelimiterViolations, resolveReferenceLinks, rowCells, singleDollarAfter, singleDollarMathEnd, soleFence, spliceSave, splitFenceInfo, splitRowSegments, splitsSurrogatePair, startsHtmlBlock, startsLikeTableRow, startsPipelessTable, stripThinking, stripThinkingStreaming, tableContainerIndent, tableStartsAt, toCodePointOffset, toUtf16Offset, tokenizeSource, trailingTableStart, trimFenceLine, unescapeCellPipes, unwrapCodeSpans, unwrapKindEnvelopes } from './source.cjs';
|
|
11
11
|
import 'react';
|
package/dist/index.d.ts
CHANGED
|
@@ -7,5 +7,5 @@ export { DualGateDefinition, DualGateInput, DualGateResolvedComponent, DualGateR
|
|
|
7
7
|
export { ArrayItemKindBinding, BlockSchemaDraft, CONTROL_KEYS, CONTROL_KEY_FIELDS, ControlKey, ControlKeysMode, ConversionProblem, DroppedMetadata, FieldComparison, ItemKindRefCheck, JsonSchemaNode, KindJsonSchemaExport, KindJsonSchemaOptions, KindSchemaFromJsonOptions, KindSchemaFromJsonResult, RECORD_DISPOSITION, SavePlanEntry, SavePlanValidation, SchemaConversionResult, WithControlKeysOptions, buildAgentSchemaWithRenderBlockSupport, collectReferencedKinds, collectSchemaReferencedKinds, compareWithExistingKindSchema, controlKeysApplyTo, convertAiSchemaToBlockFields, fieldsToDbPayload, injectKindIntoObjectSchema, isDuplicateBlockSlug, kindSchemaFromJsonSchema, kindSchemaToJsonSchema, normalizeAiSchemaInput, runSchemaConversion, stripControlKeys, validateBlockSchemaSavePlan, withControlKeyFields, withControlKeys } from './convert.js';
|
|
8
8
|
export { AnyPartialKindEvent, IR_PARTIAL_KEY, KindVerdict, NODE_OUTCOME_KIND, NodeOutcomeWrapper, PartialKindEvent, PartialKindNode, PartialKindState, RUN_RESULT_KIND, RetractedKindEvent, RunResultWrapper, SupersededKindEvent, advancePartialKind, emitPayloadFence, emitPayloadJson, isProvisionalKind, isTerminalKindEvent, kindVerdictOf, makePartialKindStalenessGate, readNodeOutcomeValue, readOutputRef, readPartialKindEvent, readRunResultValue, rehydrateNodeOutcome, rehydrateRunResult, sanitizeInboundPartialKindMetadata, withRootKind } from './wire.js';
|
|
9
9
|
export { ACTION_BY_CLASS, CAPABILITY_BY_CLASS, CLASSES, DIRECTIVE_VERSION, DecodedDirective, DirectiveCapability, DirectiveClass, DirectiveDecodeError, DirectiveDisplay, DirectiveItemKindLookup, DirectiveItemsEdge, DirectiveNounCatalog, DirectiveNounEntry, DirectiveSlug, IN_CONTENT_CLASSES, ItemFact, KindDirectiveShell, RESERVED_PREFIX, SIDE_EFFECT_CLASSES, SLUG_PREFIX, asKindInstance, buildDirectiveSlug, buildKindDirective, capabilityOf, decodeDirective, directiveDisplay, directiveItemKindFromEdges, directiveSlugOf, executesAtOutputRoot, isDirectiveClass, isKindDirective, isLegacyShell, isReservedDirectiveSlug, itemFacts, itemSubtitle, itemTitle, legacyShellUses, looksLikeDirectiveHead, nounFamily, nounLabel, nounTitleColumn, parseDirectiveSlug, resetLegacyShellUses, resolvesInContent, titleCaseToken, tryDecodeDirective, tryDecodeDirectiveContent } from './directives.js';
|
|
10
|
-
export { AFTER_WINDOW, BacktickRuns, BlockIslandType, CALLOUT_NAMES, CodePointIndex, CodeRange, DIRECTIVE_CONTAINER_OPEN, DirectiveContainerTracker, DisturbedIsland, FENCE_META_KEY, FENCE_OPENER_WHITESPACE, FENCE_WHITESPACE, FenceEnd, FenceInfo, FenceLineKind, FenceLines, FenceMeta, FenceOpener, FenceReader, InlineIslandType, InnerFenceLine, IslandMeta, IslandType, LinkDefinition, MapOptions, MappedPosition, MappedRange, NESTING_FENCE_LANGUAGES, ReadXmlTag, SourceBlock, SourceBlockKind, SourceChange, SourceEdit, SourceIsland, SourceSpan, SourceSpliceError, SourceSpliceErrorCode, SpliceIntegrity, SpliceOptions, SpliceResult, TITLED_IMAGE_LINE, TokenizeOptions, XmlBalanceOptions, XmlBalanceState, XmlContainerTracker, blockAt, blockEdit, blockRangeEdit, buildCodePointIndex, classifyInnerFenceLine, cleanMarkdown, closeFence, codeSpanText, collectLinkDefinitions, continuesTable, fenceLineKinds, fenceNestsInnerFences, fenceOpenerOf, fenceParts, findBalancedXmlClose, findCodeRanges, findInlineCodeSpans, findLinkDefinitionLines, findTableEnd, findTableStart, findWholeTableStart, hasUnclosedBacktickRun, indexOutsideInlineCode, initialXmlBalance, isEscapedBracketMath, isGfmDelimiterRow, isGrowingDelimiterRow, isHtmlBlockTagName, isInsideInlineCode, isMathPlaceholder, isPipeLedRow, isSingleDollarMath, islandEdit, joinSource, lineIndent, listIslands, looksLikeDisplayMath, looksLikeOpenInlineMath, mapCodeRanges, mapInlineCodeSpans, mapPosition, mapRange, markdownToPlainText, mathToReadable, normalizeLinkLabel, opensStrippedHtmlBlock, opensTable, pairDisplayMath, parseFenceMeta, parseFenceOpener, parseLineRanges, pendingCodeSpanStart, pendingDisplayMathOpener, readXmlTag, removeCodeSpans, replaceFences, resolveReferenceLinks, rowCells, singleDollarAfter, singleDollarMathEnd, soleFence, spliceSave, splitFenceInfo, splitRowSegments, splitsSurrogatePair, startsHtmlBlock, startsLikeTableRow, startsPipelessTable, tableContainerIndent, tableStartsAt, toCodePointOffset, toUtf16Offset, tokenizeSource, trailingTableStart, trimFenceLine, unescapeCellPipes, unwrapCodeSpans, unwrapKindEnvelopes } from './source.js';
|
|
10
|
+
export { AFTER_WINDOW, BacktickRuns, BlockIslandType, CALLOUT_NAMES, CodePointIndex, CodeRange, DIRECTIVE_CONTAINER_OPEN, DelimiterCaptureInput, DelimiterGuardResult, DelimiterReportContext, DelimiterViolation, DelimiterViolationReason, DirectiveContainerTracker, DisturbedIsland, FENCE_META_KEY, FENCE_OPENER_WHITESPACE, FENCE_WHITESPACE, FenceEnd, FenceInfo, FenceLineKind, FenceLines, FenceMeta, FenceOpener, FenceReader, InlineIslandType, InnerFenceLine, IslandMeta, IslandType, LinkDefinition, MapOptions, MappedPosition, MappedRange, NESTING_FENCE_LANGUAGES, ReadXmlTag, SourceBlock, SourceBlockKind, SourceChange, SourceEdit, SourceIsland, SourceSpan, SourceSpliceError, SourceSpliceErrorCode, SpliceIntegrity, SpliceOptions, SpliceResult, TITLED_IMAGE_LINE, TokenizeOptions, XmlBalanceOptions, XmlBalanceState, XmlContainerTracker, blockAt, blockEdit, blockRangeEdit, buildCodePointIndex, classifyInnerFenceLine, cleanMarkdown, closeFence, codeSpanText, collectLinkDefinitions, continuesTable, fenceLineKinds, fenceNestsInnerFences, fenceOpenerOf, fenceParts, findBalancedXmlClose, findCodeRanges, findInlineCodeSpans, findLinkDefinitionLines, findTableEnd, findTableStart, findWholeTableStart, guardMarkdownDelimiters, guardMathDelimiters, guardRunawayLinks, hasThinkingTags, hasUnclosedBacktickRun, indexOutsideInlineCode, initialXmlBalance, isEscapedBracketMath, isGfmDelimiterRow, isGrowingDelimiterRow, isHtmlBlockTagName, isInsideInlineCode, isMathPlaceholder, isPipeLedRow, isSingleDollarMath, islandEdit, joinSource, lineIndent, listIslands, looksLikeDisplayMath, looksLikeOpenInlineMath, mapCodeRanges, mapInlineCodeSpans, mapPosition, mapRange, markdownToPlainText, mathToReadable, normalizeLinkLabel, opensStrippedHtmlBlock, opensTable, pairDisplayMath, parseFenceMeta, parseFenceOpener, parseLineRanges, pendingCodeSpanStart, pendingDisplayMathOpener, readXmlTag, removeCodeSpans, replaceFences, reportDelimiterViolations, resolveReferenceLinks, rowCells, singleDollarAfter, singleDollarMathEnd, soleFence, spliceSave, splitFenceInfo, splitRowSegments, splitsSurrogatePair, startsHtmlBlock, startsLikeTableRow, startsPipelessTable, stripThinking, stripThinkingStreaming, tableContainerIndent, tableStartsAt, toCodePointOffset, toUtf16Offset, tokenizeSource, trailingTableStart, trimFenceLine, unescapeCellPipes, unwrapCodeSpans, unwrapKindEnvelopes } from './source.js';
|
|
11
11
|
import 'react';
|
package/dist/index.js
CHANGED
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { formatText, humanizeIdentifier } from '@ai-matrx/kit/text-case';
|
|
1
2
|
import Ajv from 'ajv';
|
|
2
3
|
|
|
3
4
|
// core/ir-types.ts
|
|
@@ -2121,311 +2122,6 @@ function stripKindDeep(value) {
|
|
|
2121
2122
|
}
|
|
2122
2123
|
return value;
|
|
2123
2124
|
}
|
|
2124
|
-
|
|
2125
|
-
// text-case.ts
|
|
2126
|
-
var DEFAULT_WORD_REPLACEMENTS = {
|
|
2127
|
-
// Acronyms & initialisms
|
|
2128
|
-
"api": "API",
|
|
2129
|
-
"apis": "APIs",
|
|
2130
|
-
"ui": "UI",
|
|
2131
|
-
"ux": "UX",
|
|
2132
|
-
"id": "ID",
|
|
2133
|
-
"ids": "IDs",
|
|
2134
|
-
"qr": "QR",
|
|
2135
|
-
"ssr": "SSR",
|
|
2136
|
-
"csr": "CSR",
|
|
2137
|
-
"ssg": "SSG",
|
|
2138
|
-
"isr": "ISR",
|
|
2139
|
-
"spa": "SPA",
|
|
2140
|
-
"pwa": "PWA",
|
|
2141
|
-
"sdk": "SDK",
|
|
2142
|
-
"sdks": "SDKs",
|
|
2143
|
-
"cli": "CLI",
|
|
2144
|
-
"tty": "TTY",
|
|
2145
|
-
"repl": "REPL",
|
|
2146
|
-
"ci": "CI",
|
|
2147
|
-
"cd": "CD",
|
|
2148
|
-
"cpu": "CPU",
|
|
2149
|
-
"cpus": "CPUs",
|
|
2150
|
-
"gpu": "GPU",
|
|
2151
|
-
"gpus": "GPUs",
|
|
2152
|
-
"ram": "RAM",
|
|
2153
|
-
"rom": "ROM",
|
|
2154
|
-
"ssd": "SSD",
|
|
2155
|
-
"ssds": "SSDs",
|
|
2156
|
-
"hdd": "HDD",
|
|
2157
|
-
"hdds": "HDDs",
|
|
2158
|
-
"kpi": "KPI",
|
|
2159
|
-
"kpis": "KPIs",
|
|
2160
|
-
"sla": "SLA",
|
|
2161
|
-
"slas": "SLAs",
|
|
2162
|
-
"slo": "SLO",
|
|
2163
|
-
"slos": "SLOs",
|
|
2164
|
-
"sli": "SLI",
|
|
2165
|
-
"slis": "SLIs",
|
|
2166
|
-
"dom": "DOM",
|
|
2167
|
-
// Web, formats, protocols
|
|
2168
|
-
"url": "URL",
|
|
2169
|
-
"urls": "URLs",
|
|
2170
|
-
"uri": "URI",
|
|
2171
|
-
"uris": "URIs",
|
|
2172
|
-
"http": "HTTP",
|
|
2173
|
-
"https": "HTTPS",
|
|
2174
|
-
"html": "HTML",
|
|
2175
|
-
"css": "CSS",
|
|
2176
|
-
"json": "JSON",
|
|
2177
|
-
"yaml": "YAML",
|
|
2178
|
-
"yml": "YML",
|
|
2179
|
-
"toml": "TOML",
|
|
2180
|
-
"csv": "CSV",
|
|
2181
|
-
"pdf": "PDF",
|
|
2182
|
-
"tsv": "TSV",
|
|
2183
|
-
"jpg": "JPG",
|
|
2184
|
-
"jpeg": "JPEG",
|
|
2185
|
-
"png": "PNG",
|
|
2186
|
-
"gif": "GIF",
|
|
2187
|
-
"webp": "WebP",
|
|
2188
|
-
"heic": "HEIC",
|
|
2189
|
-
"heif": "HEIF",
|
|
2190
|
-
"bmp": "BMP",
|
|
2191
|
-
"tiff": "TIFF",
|
|
2192
|
-
"ico": "ICO",
|
|
2193
|
-
"xml": "XML",
|
|
2194
|
-
"sql": "SQL",
|
|
2195
|
-
"db": "DB",
|
|
2196
|
-
"dbs": "DBs",
|
|
2197
|
-
"nosql": "NoSQL",
|
|
2198
|
-
"graphql": "GraphQL",
|
|
2199
|
-
"grpc": "gRPC",
|
|
2200
|
-
"rest": "REST",
|
|
2201
|
-
"restful": "RESTful",
|
|
2202
|
-
"websocket": "WebSocket",
|
|
2203
|
-
"websockets": "WebSockets",
|
|
2204
|
-
"webrtc": "WebRTC",
|
|
2205
|
-
// Networking
|
|
2206
|
-
"ip": "IP",
|
|
2207
|
-
"ipv4": "IPv4",
|
|
2208
|
-
"ipv6": "IPv6",
|
|
2209
|
-
"dns": "DNS",
|
|
2210
|
-
"dhcp": "DHCP",
|
|
2211
|
-
"nat": "NAT",
|
|
2212
|
-
"tcp": "TCP",
|
|
2213
|
-
"udp": "UDP",
|
|
2214
|
-
"icmp": "ICMP",
|
|
2215
|
-
"ttl": "TTL",
|
|
2216
|
-
"lan": "LAN",
|
|
2217
|
-
"wan": "WAN",
|
|
2218
|
-
"vlan": "VLAN",
|
|
2219
|
-
"cdn": "CDN",
|
|
2220
|
-
"ftp": "FTP",
|
|
2221
|
-
"ssh": "SSH",
|
|
2222
|
-
"tls": "TLS",
|
|
2223
|
-
"ssl": "SSL",
|
|
2224
|
-
// Security & crypto
|
|
2225
|
-
"jwt": "JWT",
|
|
2226
|
-
"jws": "JWS",
|
|
2227
|
-
"jwe": "JWE",
|
|
2228
|
-
"hmac": "HMAC",
|
|
2229
|
-
"rsa": "RSA",
|
|
2230
|
-
"ecdsa": "ECDSA",
|
|
2231
|
-
"aes": "AES",
|
|
2232
|
-
"pbkdf2": "PBKDF2",
|
|
2233
|
-
"argon2": "Argon2",
|
|
2234
|
-
"scrypt": "scrypt",
|
|
2235
|
-
"totp": "TOTP",
|
|
2236
|
-
"hotp": "HOTP",
|
|
2237
|
-
"mfa": "MFA",
|
|
2238
|
-
"2fa": "2FA",
|
|
2239
|
-
"csrf": "CSRF",
|
|
2240
|
-
"xss": "XSS",
|
|
2241
|
-
"ssrf": "SSRF",
|
|
2242
|
-
"rce": "RCE",
|
|
2243
|
-
"dos": "DoS",
|
|
2244
|
-
"ddos": "DDoS",
|
|
2245
|
-
"mitm": "MITM",
|
|
2246
|
-
"csp": "CSP",
|
|
2247
|
-
"cors": "CORS",
|
|
2248
|
-
"pii": "PII",
|
|
2249
|
-
"phi": "PHI",
|
|
2250
|
-
"gdpr": "GDPR",
|
|
2251
|
-
"ccpa": "CCPA",
|
|
2252
|
-
"hipaa": "HIPAA",
|
|
2253
|
-
"rfc": "RFC",
|
|
2254
|
-
// Platforms, langs, tools (single-token)
|
|
2255
|
-
"javascript": "JavaScript",
|
|
2256
|
-
"typescript": "TypeScript",
|
|
2257
|
-
"jsx": "JSX",
|
|
2258
|
-
"tsx": "TSX",
|
|
2259
|
-
"node": "Node",
|
|
2260
|
-
// (used when tokenized alone)
|
|
2261
|
-
"deno": "Deno",
|
|
2262
|
-
"bun": "Bun",
|
|
2263
|
-
"react": "React",
|
|
2264
|
-
"nextjs": "Next.js",
|
|
2265
|
-
// if your tokenizer drops dots, keep this
|
|
2266
|
-
"nodejs": "Node.js",
|
|
2267
|
-
"postgresql": "PostgreSQL",
|
|
2268
|
-
"postgres": "Postgres",
|
|
2269
|
-
"mysql": "MySQL",
|
|
2270
|
-
"sqlite": "SQLite",
|
|
2271
|
-
"redis": "Redis",
|
|
2272
|
-
"supabase": "Supabase",
|
|
2273
|
-
"docker": "Docker",
|
|
2274
|
-
"kubernetes": "Kubernetes",
|
|
2275
|
-
"k8s": "Kubernetes",
|
|
2276
|
-
"helm": "Helm",
|
|
2277
|
-
"npm": "npm",
|
|
2278
|
-
"pnpm": "pnpm",
|
|
2279
|
-
"yarn": "Yarn",
|
|
2280
|
-
"eslint": "ESLint",
|
|
2281
|
-
"prettier": "Prettier",
|
|
2282
|
-
"vite": "Vite",
|
|
2283
|
-
"webpack": "Webpack",
|
|
2284
|
-
"babel": "Babel",
|
|
2285
|
-
// OS & vendors
|
|
2286
|
-
"macos": "macOS",
|
|
2287
|
-
"ios": "iOS",
|
|
2288
|
-
"ipados": "iPadOS",
|
|
2289
|
-
"watchos": "watchOS",
|
|
2290
|
-
"tvos": "tvOS",
|
|
2291
|
-
"windows": "Windows",
|
|
2292
|
-
"linux": "Linux",
|
|
2293
|
-
"ubuntu": "Ubuntu",
|
|
2294
|
-
"github": "GitHub",
|
|
2295
|
-
"gitlab": "GitLab",
|
|
2296
|
-
"bitbucket": "Bitbucket",
|
|
2297
|
-
// Data & analytics
|
|
2298
|
-
"etl": "ETL",
|
|
2299
|
-
"elt": "ELT",
|
|
2300
|
-
"olap": "OLAP",
|
|
2301
|
-
"oltp": "OLTP",
|
|
2302
|
-
"bi": "BI",
|
|
2303
|
-
// Time & locales
|
|
2304
|
-
"utc": "UTC",
|
|
2305
|
-
"gmt": "GMT",
|
|
2306
|
-
"pst": "PST",
|
|
2307
|
-
"pdt": "PDT",
|
|
2308
|
-
"pt": "PT",
|
|
2309
|
-
// Common “small words” to keep lowercase (unless first/last word)
|
|
2310
|
-
"or": "or",
|
|
2311
|
-
"and": "and",
|
|
2312
|
-
"the": "the",
|
|
2313
|
-
"of": "of",
|
|
2314
|
-
"in": "in",
|
|
2315
|
-
"to": "to",
|
|
2316
|
-
"with": "with",
|
|
2317
|
-
"as": "as",
|
|
2318
|
-
"by": "by",
|
|
2319
|
-
"for": "for",
|
|
2320
|
-
"on": "on",
|
|
2321
|
-
"at": "at",
|
|
2322
|
-
"up": "up",
|
|
2323
|
-
"a": "a",
|
|
2324
|
-
"an": "an",
|
|
2325
|
-
"is": "is",
|
|
2326
|
-
"are": "are",
|
|
2327
|
-
"was": "was",
|
|
2328
|
-
"were": "were",
|
|
2329
|
-
"be": "be",
|
|
2330
|
-
"but": "but",
|
|
2331
|
-
"nor": "nor",
|
|
2332
|
-
"so": "so",
|
|
2333
|
-
"yet": "yet",
|
|
2334
|
-
"per": "per",
|
|
2335
|
-
"via": "via",
|
|
2336
|
-
// Latin abbreviations (tokenized as words in some pipelines)
|
|
2337
|
-
"eg": "e.g.",
|
|
2338
|
-
"ie": "i.e.",
|
|
2339
|
-
"etc": "etc.",
|
|
2340
|
-
"aka": "aka",
|
|
2341
|
-
"vs": "vs.",
|
|
2342
|
-
"v": "v.",
|
|
2343
|
-
// Client abbreviations
|
|
2344
|
-
"CIC": "CIC",
|
|
2345
|
-
"AGR": "AGR",
|
|
2346
|
-
"AGER": "AGER",
|
|
2347
|
-
"DD": "DD",
|
|
2348
|
-
"TS": "TS",
|
|
2349
|
-
"TM": "TM",
|
|
2350
|
-
"arman": "Arman"
|
|
2351
|
-
};
|
|
2352
|
-
var DEFAULT_OPTIONS = {
|
|
2353
|
-
textCase: "title",
|
|
2354
|
-
wordReplacements: DEFAULT_WORD_REPLACEMENTS,
|
|
2355
|
-
trim: true
|
|
2356
|
-
};
|
|
2357
|
-
function formatText(text, options = {}) {
|
|
2358
|
-
const opts = { ...DEFAULT_OPTIONS, ...options };
|
|
2359
|
-
if (!text) return "";
|
|
2360
|
-
let normalized = text.replace(/_/g, " ").replace(/-/g, " ").replace(/([a-z])([A-Z])/g, "$1 $2").replace(/\s+/g, " ");
|
|
2361
|
-
if (opts.trim) {
|
|
2362
|
-
normalized = normalized.trim();
|
|
2363
|
-
}
|
|
2364
|
-
let caseTransformed = normalized;
|
|
2365
|
-
switch (opts.textCase) {
|
|
2366
|
-
case "title":
|
|
2367
|
-
caseTransformed = normalized.replace(
|
|
2368
|
-
/\w\S*/g,
|
|
2369
|
-
(word) => word.charAt(0).toUpperCase() + word.slice(1).toLowerCase()
|
|
2370
|
-
);
|
|
2371
|
-
break;
|
|
2372
|
-
case "sentence":
|
|
2373
|
-
if (normalized.length > 0) {
|
|
2374
|
-
caseTransformed = normalized.charAt(0).toUpperCase() + normalized.slice(1).toLowerCase();
|
|
2375
|
-
}
|
|
2376
|
-
break;
|
|
2377
|
-
case "lower":
|
|
2378
|
-
caseTransformed = normalized.toLowerCase();
|
|
2379
|
-
break;
|
|
2380
|
-
case "upper":
|
|
2381
|
-
caseTransformed = normalized.toUpperCase();
|
|
2382
|
-
break;
|
|
2383
|
-
}
|
|
2384
|
-
let result = caseTransformed;
|
|
2385
|
-
if (opts.wordReplacements) {
|
|
2386
|
-
Object.entries(opts.wordReplacements).forEach(([key, value]) => {
|
|
2387
|
-
const regex = new RegExp(`\\b${key}\\b`, "gi");
|
|
2388
|
-
result = result.replace(regex, value);
|
|
2389
|
-
});
|
|
2390
|
-
}
|
|
2391
|
-
return result;
|
|
2392
|
-
}
|
|
2393
|
-
var IDENTIFIER_ACRONYMS = [
|
|
2394
|
-
"ID",
|
|
2395
|
-
"URL",
|
|
2396
|
-
"PDF",
|
|
2397
|
-
"HTML",
|
|
2398
|
-
"JSON",
|
|
2399
|
-
"API",
|
|
2400
|
-
"AI",
|
|
2401
|
-
"UI",
|
|
2402
|
-
"CSV",
|
|
2403
|
-
"SMS",
|
|
2404
|
-
"SEO",
|
|
2405
|
-
"LLM",
|
|
2406
|
-
"MCP",
|
|
2407
|
-
"UUID",
|
|
2408
|
-
"ISO"
|
|
2409
|
-
];
|
|
2410
|
-
var IDENTIFIER_ACRONYM_SET = new Set(IDENTIFIER_ACRONYMS.map((a) => a.toLowerCase()));
|
|
2411
|
-
function humanizeIdentifier(identifier) {
|
|
2412
|
-
const text = (identifier ?? "").trim();
|
|
2413
|
-
if (text === "") return "";
|
|
2414
|
-
if (!text.includes("_") && /\s/.test(text)) {
|
|
2415
|
-
return /^\p{Ll}/u.test(text) ? text.charAt(0).toUpperCase() + text.slice(1) : text;
|
|
2416
|
-
}
|
|
2417
|
-
return text.replace(/([a-z\d])([A-Z])/g, "$1 $2").replace(/([A-Z]+)(?![A-Z]s(?![a-z]))([A-Z][a-z])/g, "$1 $2").split(/[_\-.\s]+/).filter((part) => part.length > 0).map(identifierWord).join(" ");
|
|
2418
|
-
}
|
|
2419
|
-
function identifierWord(part) {
|
|
2420
|
-
const lower = part.toLowerCase();
|
|
2421
|
-
if (IDENTIFIER_ACRONYM_SET.has(lower)) return part.toUpperCase();
|
|
2422
|
-
if (lower.length > 1 && lower.endsWith("s") && IDENTIFIER_ACRONYM_SET.has(lower.slice(0, -1))) {
|
|
2423
|
-
return `${lower.slice(0, -1).toUpperCase()}s`;
|
|
2424
|
-
}
|
|
2425
|
-
return part.charAt(0).toUpperCase() + part.slice(1).toLowerCase();
|
|
2426
|
-
}
|
|
2427
|
-
|
|
2428
|
-
// core/schema-structure.ts
|
|
2429
2125
|
function formatBlockLabel(key) {
|
|
2430
2126
|
return formatText(key, { textCase: "title" });
|
|
2431
2127
|
}
|
|
@@ -5117,8 +4813,6 @@ function tryDecodeDirectiveContent(content, onError) {
|
|
|
5117
4813
|
}
|
|
5118
4814
|
return tryDecodeDirective(parsed, onError);
|
|
5119
4815
|
}
|
|
5120
|
-
|
|
5121
|
-
// directives/display.ts
|
|
5122
4816
|
function titleCaseToken(token) {
|
|
5123
4817
|
return humanizeIdentifier(token) || token;
|
|
5124
4818
|
}
|
|
@@ -8119,6 +7813,211 @@ function resolveReferenceLinks(fragment, defs) {
|
|
|
8119
7813
|
return resolved.replace(new RegExp(`${PLACEHOLDER}(\\d+)${PLACEHOLDER}`, "g"), (_m, i) => spans[Number(i)] ?? "");
|
|
8120
7814
|
}
|
|
8121
7815
|
|
|
7816
|
+
// source/delimiter-guard.ts
|
|
7817
|
+
var ZWSP = "\u200B";
|
|
7818
|
+
var ESCAPED_DOLLARS = `${ZWSP}$${ZWSP}$`;
|
|
7819
|
+
var ESCAPED_BRACKET = `${ZWSP}[`;
|
|
7820
|
+
function protectedRanges(text) {
|
|
7821
|
+
return findCodeRanges(text).map((r) => [r.start, r.end]);
|
|
7822
|
+
}
|
|
7823
|
+
function isProtected(index, ranges) {
|
|
7824
|
+
return ranges.some(([start, end]) => index >= start && index < end);
|
|
7825
|
+
}
|
|
7826
|
+
function preview(text, max = 160) {
|
|
7827
|
+
const flat = text.replace(/\s+/g, " ").trim();
|
|
7828
|
+
return flat.length > max ? `${flat.slice(0, max)}\u2026` : flat;
|
|
7829
|
+
}
|
|
7830
|
+
function guardMathDelimiters(text) {
|
|
7831
|
+
if (!text.includes("$$")) return { text, violations: [] };
|
|
7832
|
+
const ranges = protectedRanges(text);
|
|
7833
|
+
const tokens = [];
|
|
7834
|
+
for (let i = 0; i < text.length - 1; i++) {
|
|
7835
|
+
if (text[i] !== "$" || text[i + 1] !== "$") continue;
|
|
7836
|
+
if (!isProtected(i, ranges)) tokens.push(i);
|
|
7837
|
+
i++;
|
|
7838
|
+
}
|
|
7839
|
+
if (tokens.length === 0) return { text, violations: [] };
|
|
7840
|
+
const violations = [];
|
|
7841
|
+
const escapeAt = [];
|
|
7842
|
+
let j = 0;
|
|
7843
|
+
while (j < tokens.length) {
|
|
7844
|
+
const open = tokens[j];
|
|
7845
|
+
const close = tokens[j + 1];
|
|
7846
|
+
if (close === void 0) {
|
|
7847
|
+
violations.push({
|
|
7848
|
+
reason: "unpaired",
|
|
7849
|
+
index: open,
|
|
7850
|
+
spanLength: 0,
|
|
7851
|
+
// An unpaired `$$` is inert to remark-math (nothing closes it), so it
|
|
7852
|
+
// is reported but NOT escaped — it already renders as literal text.
|
|
7853
|
+
preview: preview(text.slice(open, open + 120))
|
|
7854
|
+
});
|
|
7855
|
+
break;
|
|
7856
|
+
}
|
|
7857
|
+
const inner = text.slice(open + 2, close);
|
|
7858
|
+
if (isMathPlaceholder(inner)) {
|
|
7859
|
+
escapeAt.push(open, close);
|
|
7860
|
+
violations.push({ reason: "prose-span", index: open, spanLength: inner.length, preview: preview(inner) });
|
|
7861
|
+
j += 2;
|
|
7862
|
+
continue;
|
|
7863
|
+
}
|
|
7864
|
+
if (looksLikeDisplayMath(inner, opensFlowBlock(text, open))) {
|
|
7865
|
+
j += 2;
|
|
7866
|
+
continue;
|
|
7867
|
+
}
|
|
7868
|
+
escapeAt.push(open);
|
|
7869
|
+
violations.push({
|
|
7870
|
+
reason: "prose-span",
|
|
7871
|
+
index: open,
|
|
7872
|
+
spanLength: inner.length,
|
|
7873
|
+
preview: preview(inner)
|
|
7874
|
+
});
|
|
7875
|
+
j += 1;
|
|
7876
|
+
}
|
|
7877
|
+
let guarded = text;
|
|
7878
|
+
for (const index of [...escapeAt].sort((a, b) => b - a)) {
|
|
7879
|
+
guarded = `${guarded.slice(0, index)}${ESCAPED_DOLLARS}${guarded.slice(index + 2)}`;
|
|
7880
|
+
}
|
|
7881
|
+
return { text: guarded, violations };
|
|
7882
|
+
}
|
|
7883
|
+
var MAX_LINK_LABEL = 200;
|
|
7884
|
+
var LABEL_BLOCK_STRUCTURE = /\n[ \t]*\n|(?:^|\n)[ \t]*[-*+][ \t]+|#{2,6}[ \t]/;
|
|
7885
|
+
function guardRunawayLinks(text) {
|
|
7886
|
+
if (!text.includes("[")) return { text, violations: [] };
|
|
7887
|
+
const ranges = protectedRanges(text);
|
|
7888
|
+
const violations = [];
|
|
7889
|
+
const escapeAt = [];
|
|
7890
|
+
const linkRe = /\[((?:[^[\]\\]|\\.)*)\]\(([^\s)]*)/g;
|
|
7891
|
+
let m;
|
|
7892
|
+
while ((m = linkRe.exec(text)) !== null) {
|
|
7893
|
+
const open = m.index;
|
|
7894
|
+
if (isProtected(open, ranges)) continue;
|
|
7895
|
+
const label = m[1] ?? "";
|
|
7896
|
+
const runaway = label.length > MAX_LINK_LABEL || LABEL_BLOCK_STRUCTURE.test(label);
|
|
7897
|
+
if (!runaway) continue;
|
|
7898
|
+
escapeAt.push(open);
|
|
7899
|
+
violations.push({
|
|
7900
|
+
reason: "runaway-link",
|
|
7901
|
+
index: open,
|
|
7902
|
+
spanLength: label.length,
|
|
7903
|
+
preview: preview(label)
|
|
7904
|
+
});
|
|
7905
|
+
}
|
|
7906
|
+
let guarded = text;
|
|
7907
|
+
for (const index of [...escapeAt].sort((a, b) => b - a)) {
|
|
7908
|
+
guarded = `${guarded.slice(0, index)}${ESCAPED_BRACKET}${guarded.slice(index + 1)}`;
|
|
7909
|
+
}
|
|
7910
|
+
return { text: guarded, violations };
|
|
7911
|
+
}
|
|
7912
|
+
function guardMarkdownDelimiters(text) {
|
|
7913
|
+
const math = guardMathDelimiters(text);
|
|
7914
|
+
const links = guardRunawayLinks(math.text);
|
|
7915
|
+
return {
|
|
7916
|
+
text: links.text,
|
|
7917
|
+
violations: [...math.violations, ...links.violations]
|
|
7918
|
+
};
|
|
7919
|
+
}
|
|
7920
|
+
function reportDelimiterViolations(violations, context) {
|
|
7921
|
+
if (violations.length === 0) return;
|
|
7922
|
+
try {
|
|
7923
|
+
const worst = violations.find((v) => v.reason !== "unpaired") ?? violations[0];
|
|
7924
|
+
if (!worst) return;
|
|
7925
|
+
const message = worst.reason === "prose-span" ? `Malformed math delimiters: a stray "$$" would have turned ${worst.spanLength} chars of prose into a math span (KaTeX would render it as red error text). Escaped it.` : worst.reason === "runaway-link" ? `Runaway markdown link: an unclosed "[" would have turned ${worst.spanLength} chars into one link label. Escaped it.` : `Malformed math delimiters: an unpaired "$$" reached the renderer.`;
|
|
7926
|
+
console.warn(`[markdown-delimiter-guard] ${message}`, {
|
|
7927
|
+
renderPath: context.renderPath,
|
|
7928
|
+
violations
|
|
7929
|
+
});
|
|
7930
|
+
context.capture?.({
|
|
7931
|
+
source: "markdown-delimiters",
|
|
7932
|
+
message,
|
|
7933
|
+
relation: `markdown:${context.renderPath}`,
|
|
7934
|
+
details: worst.preview,
|
|
7935
|
+
conversationId: context.conversationId,
|
|
7936
|
+
callSite: "guardMarkdownDelimiters",
|
|
7937
|
+
raw: { messageId: context.messageId, violations }
|
|
7938
|
+
});
|
|
7939
|
+
} catch {
|
|
7940
|
+
}
|
|
7941
|
+
}
|
|
7942
|
+
|
|
7943
|
+
// source/thinking.ts
|
|
7944
|
+
function codeRanges2(text, live) {
|
|
7945
|
+
const ranges = findCodeRanges(text).map((r) => [r.start, r.end]);
|
|
7946
|
+
if (live) {
|
|
7947
|
+
const pending = pendingCodeSpanStart(text);
|
|
7948
|
+
if (pending >= 0 && !inCode(ranges, pending)) ranges.push([pending, text.length]);
|
|
7949
|
+
}
|
|
7950
|
+
return ranges.sort((x, y) => x[0] - y[0]);
|
|
7951
|
+
}
|
|
7952
|
+
function inCode(ranges, index) {
|
|
7953
|
+
return ranges.some(([a, b]) => index >= a && index < b);
|
|
7954
|
+
}
|
|
7955
|
+
function collapseGaps(text) {
|
|
7956
|
+
const ranges = codeRanges2(text, false);
|
|
7957
|
+
let out = "";
|
|
7958
|
+
let at = 0;
|
|
7959
|
+
for (const [a, b] of ranges) {
|
|
7960
|
+
out += text.slice(at, a).replace(/\n{3,}/g, "\n\n") + text.slice(a, b);
|
|
7961
|
+
at = b;
|
|
7962
|
+
}
|
|
7963
|
+
return out + text.slice(at).replace(/\n{3,}/g, "\n\n");
|
|
7964
|
+
}
|
|
7965
|
+
var OPEN_TAG = /<(thinking|think|reasoning)\b[^>]*>/gi;
|
|
7966
|
+
function removeClosedBlocks(input, live) {
|
|
7967
|
+
let text = input;
|
|
7968
|
+
for (; ; ) {
|
|
7969
|
+
const ranges = codeRanges2(text, live);
|
|
7970
|
+
OPEN_TAG.lastIndex = 0;
|
|
7971
|
+
let opener = null;
|
|
7972
|
+
for (let m = OPEN_TAG.exec(text); m; m = OPEN_TAG.exec(text)) {
|
|
7973
|
+
if (!inCode(ranges, m.index)) {
|
|
7974
|
+
opener = m;
|
|
7975
|
+
break;
|
|
7976
|
+
}
|
|
7977
|
+
}
|
|
7978
|
+
if (!opener) return { text, openAt: -1 };
|
|
7979
|
+
const closeTag = new RegExp(`</${opener[1]}\\s*>`, "gi");
|
|
7980
|
+
closeTag.lastIndex = opener.index + opener[0].length;
|
|
7981
|
+
let closer = null;
|
|
7982
|
+
for (let m = closeTag.exec(text); m; m = closeTag.exec(text)) {
|
|
7983
|
+
if (!inCode(ranges, m.index)) {
|
|
7984
|
+
closer = m;
|
|
7985
|
+
break;
|
|
7986
|
+
}
|
|
7987
|
+
}
|
|
7988
|
+
if (!closer) return { text, openAt: opener.index };
|
|
7989
|
+
let start = opener.index;
|
|
7990
|
+
let end = closer.index + closer[0].length;
|
|
7991
|
+
let before = 0;
|
|
7992
|
+
let after = 0;
|
|
7993
|
+
while (start > 0 && text[start - 1] === "\n") {
|
|
7994
|
+
start--;
|
|
7995
|
+
before++;
|
|
7996
|
+
}
|
|
7997
|
+
while (end < text.length && text[end] === "\n") {
|
|
7998
|
+
end++;
|
|
7999
|
+
after++;
|
|
8000
|
+
}
|
|
8001
|
+
const gap = before >= 2 || after >= 2 ? "\n\n" : before + after > 0 ? "\n" : "";
|
|
8002
|
+
text = text.slice(0, start) + gap + text.slice(end);
|
|
8003
|
+
}
|
|
8004
|
+
}
|
|
8005
|
+
function stripThinking(input) {
|
|
8006
|
+
if (!input) return "";
|
|
8007
|
+
return collapseGaps(removeClosedBlocks(input, false).text).trim();
|
|
8008
|
+
}
|
|
8009
|
+
function hasThinkingTags(input) {
|
|
8010
|
+
if (!input) return false;
|
|
8011
|
+
return removeClosedBlocks(input, false).text !== input;
|
|
8012
|
+
}
|
|
8013
|
+
function stripThinkingStreaming(input) {
|
|
8014
|
+
if (!input) return { visible: "", isThinking: false };
|
|
8015
|
+
const { text, openAt } = removeClosedBlocks(input, true);
|
|
8016
|
+
const isThinking = openAt !== -1;
|
|
8017
|
+
const kept = isThinking ? text.slice(0, openAt) : text;
|
|
8018
|
+
return { visible: collapseGaps(kept).replace(/^\s+/, ""), isThinking };
|
|
8019
|
+
}
|
|
8020
|
+
|
|
8122
8021
|
// source/code-range-edits.ts
|
|
8123
8022
|
function unwrapCodeSpans(text) {
|
|
8124
8023
|
if (!text.includes("`")) return text;
|
|
@@ -8531,6 +8430,6 @@ function trailingTableStart(lines, end = lines.length) {
|
|
|
8531
8430
|
return end;
|
|
8532
8431
|
}
|
|
8533
8432
|
|
|
8534
|
-
export { ACTION_BY_CLASS, AFTER_WINDOW, BacktickRuns, CALLOUT_NAMES, CAPABILITY_BY_CLASS, CLASSES, CONTROL_KEYS, CONTROL_KEY_FIELDS, DIRECTIVE_CONTAINER_OPEN, DIRECTIVE_VERSION, DirectiveContainerTracker, DirectiveDecodeError, FENCE_META_KEY, FENCE_OPENER_WHITESPACE, FENCE_WHITESPACE, FenceReader, IN_CONTENT_CLASSES, IR_ENVELOPE_CACHE_VERSION, IR_ENVELOPE_KEY, IR_PARTIAL_KEY, IR_VERSION, IrTree, JSON_DISCRIMINATOR, JsonStreamTokenizer, KIND_KEY, KindStorageError, KindStreamParser, NESTING_FENCE_LANGUAGES, NODE_OUTCOME_KIND, ParseSession, RECORD_DISPOSITION, RESERVED_PREFIX, ROOT_STORAGE_NAME, RUN_RESULT_KIND, SIDE_EFFECT_CLASSES, SLUG_PREFIX, SourceSpliceError, TITLED_IMAGE_LINE, XmlContainerTracker, advancePartialKind, asKindInstance, blockAt, blockEdit, blockRangeEdit, buildAgentSchemaWithRenderBlockSupport, buildCodePointIndex, buildCompliantKindSnapshot, buildDirectiveSlug, buildKindDirective, capabilityOf, classifyInboundEnvelopeMetadata, classifyInnerFenceLine, cleanMarkdown, closeFence, codeSpanText, collectLinkDefinitions, collectReferencedKinds, collectSchemaReferencedKinds, compareWithExistingKindSchema, continuesTable, controlKeysApplyTo, convertAiSchemaToBlockFields, createFingerprinter, createKindStreamParser, createKindValidator, decodeDirective, describeDualGateFailure, directiveDisplay, directiveItemKindFromEdges, directiveSlugOf, disposeParseSession, emitPayloadFence, emitPayloadJson, emptyValueForFieldSchema, envelopeCacheFromEnvelopes, envelopeFromCompleteValue, executesAtOutputRoot, fenceDiscriminator, fenceLineKinds, fenceNestsInnerFences, fenceOpenerOf, fenceParts, fieldsToDbPayload, findBalancedXmlClose, findCodeRanges, findInlineCodeSpans, findLinkDefinitionLines, findTableEnd, findTableStart, findWholeTableStart, fingerprintText, formatBlockLabel, getParseSession, hasUnclosedBacktickRun, indexOutsideInlineCode, initialXmlBalance, injectKindIntoObjectSchema, irPathIsUnderOrEqual, irPathKey, irPathLabel, irPathsEqual, isCanonicalBlockIR, isDirectiveClass, isDuplicateBlockSlug, isEmptyResidue, isEscapedBracketMath, isGfmDelimiterRow, isGrowingDelimiterRow, isHtmlBlockTagName, isInsideInlineCode, isIrEnvelopeCache, isJsonAnyField, isKindDirective, isLegacyShell, isMathPlaceholder, isPipeLedRow, isProvisionalKind, isReservedDirectiveSlug, isScalarArrayType, isSingleDollarMath, isTerminalKindEvent, islandEdit, itemFacts, itemSubtitle, itemTitle, joinSource, kindSchemaFromJsonSchema, kindSchemaToJsonSchema, kindSchemaToStorage, kindVerdictOf, legacyShellUses, lineIndent, listIslands, looksLikeDirectiveHead, looksLikeDisplayMath, looksLikeOpenInlineMath, makePartialKindStalenessGate, mapCodeRanges, mapInlineCodeSpans, mapPosition, mapRange, markdownToPlainText, mathToReadable, mergeResidueIntoValue, normalizeAiSchemaInput, normalizeJsonRegion, normalizeLinkLabel, nounFamily, nounLabel, nounTitleColumn, openParseSession, opensStrippedHtmlBlock, opensTable, pairDisplayMath, parseDirectiveSlug, parseFenceMeta, parseFenceOpener, parseLineRanges, pendingCodeSpanStart, pendingDisplayMathOpener, readEnvelope, readNodeOutcomeValue, readObjectKind, readOutputRef, readPartialKindEvent, readRunResultValue, readXmlTag, reconstructRegionValue, rehydrateNodeOutcome, rehydrateRunResult, removeCodeSpans, replaceFences, resetLegacyShellUses, resolveReferenceLinks, resolvesInContent, reuseEnvelopeIfCurrent, rowCells, runKindDualGate, runSchemaConversion, sanitizeInboundEnvelopeMetadata, sanitizeInboundPartialKindMetadata, scalarArrayItemType, schemaLayoutMode, schemaStructureDepth, setJsonRootKeyLookup, singleDollarAfter, singleDollarMathEnd, soleFence, spliceSave, splitFenceInfo, splitRowSegments, splitsSurrogatePair, startsHtmlBlock, startsLikeTableRow, startsPipelessTable, storageToKindSchema, stripControlKeys, stripKindDeep, tableContainerIndent, tableStartsAt, titleCaseToken, toCodePointOffset, toUtf16Offset, tokenizeSource, trailingTableStart, trimFenceLine, tryDecodeDirective, tryDecodeDirectiveContent, unescapeCellPipes, unwrapCodeSpans, unwrapKindEnvelopes, validateBlockSchemaSavePlan, validateStructuralLeg, withControlKeyFields, withControlKeys, withRootKind, xmlDiscriminator };
|
|
8433
|
+
export { ACTION_BY_CLASS, AFTER_WINDOW, BacktickRuns, CALLOUT_NAMES, CAPABILITY_BY_CLASS, CLASSES, CONTROL_KEYS, CONTROL_KEY_FIELDS, DIRECTIVE_CONTAINER_OPEN, DIRECTIVE_VERSION, DirectiveContainerTracker, DirectiveDecodeError, FENCE_META_KEY, FENCE_OPENER_WHITESPACE, FENCE_WHITESPACE, FenceReader, IN_CONTENT_CLASSES, IR_ENVELOPE_CACHE_VERSION, IR_ENVELOPE_KEY, IR_PARTIAL_KEY, IR_VERSION, IrTree, JSON_DISCRIMINATOR, JsonStreamTokenizer, KIND_KEY, KindStorageError, KindStreamParser, NESTING_FENCE_LANGUAGES, NODE_OUTCOME_KIND, ParseSession, RECORD_DISPOSITION, RESERVED_PREFIX, ROOT_STORAGE_NAME, RUN_RESULT_KIND, SIDE_EFFECT_CLASSES, SLUG_PREFIX, SourceSpliceError, TITLED_IMAGE_LINE, XmlContainerTracker, advancePartialKind, asKindInstance, blockAt, blockEdit, blockRangeEdit, buildAgentSchemaWithRenderBlockSupport, buildCodePointIndex, buildCompliantKindSnapshot, buildDirectiveSlug, buildKindDirective, capabilityOf, classifyInboundEnvelopeMetadata, classifyInnerFenceLine, cleanMarkdown, closeFence, codeSpanText, collectLinkDefinitions, collectReferencedKinds, collectSchemaReferencedKinds, compareWithExistingKindSchema, continuesTable, controlKeysApplyTo, convertAiSchemaToBlockFields, createFingerprinter, createKindStreamParser, createKindValidator, decodeDirective, describeDualGateFailure, directiveDisplay, directiveItemKindFromEdges, directiveSlugOf, disposeParseSession, emitPayloadFence, emitPayloadJson, emptyValueForFieldSchema, envelopeCacheFromEnvelopes, envelopeFromCompleteValue, executesAtOutputRoot, fenceDiscriminator, fenceLineKinds, fenceNestsInnerFences, fenceOpenerOf, fenceParts, fieldsToDbPayload, findBalancedXmlClose, findCodeRanges, findInlineCodeSpans, findLinkDefinitionLines, findTableEnd, findTableStart, findWholeTableStart, fingerprintText, formatBlockLabel, getParseSession, guardMarkdownDelimiters, guardMathDelimiters, guardRunawayLinks, hasThinkingTags, hasUnclosedBacktickRun, indexOutsideInlineCode, initialXmlBalance, injectKindIntoObjectSchema, irPathIsUnderOrEqual, irPathKey, irPathLabel, irPathsEqual, isCanonicalBlockIR, isDirectiveClass, isDuplicateBlockSlug, isEmptyResidue, isEscapedBracketMath, isGfmDelimiterRow, isGrowingDelimiterRow, isHtmlBlockTagName, isInsideInlineCode, isIrEnvelopeCache, isJsonAnyField, isKindDirective, isLegacyShell, isMathPlaceholder, isPipeLedRow, isProvisionalKind, isReservedDirectiveSlug, isScalarArrayType, isSingleDollarMath, isTerminalKindEvent, islandEdit, itemFacts, itemSubtitle, itemTitle, joinSource, kindSchemaFromJsonSchema, kindSchemaToJsonSchema, kindSchemaToStorage, kindVerdictOf, legacyShellUses, lineIndent, listIslands, looksLikeDirectiveHead, looksLikeDisplayMath, looksLikeOpenInlineMath, makePartialKindStalenessGate, mapCodeRanges, mapInlineCodeSpans, mapPosition, mapRange, markdownToPlainText, mathToReadable, mergeResidueIntoValue, normalizeAiSchemaInput, normalizeJsonRegion, normalizeLinkLabel, nounFamily, nounLabel, nounTitleColumn, openParseSession, opensStrippedHtmlBlock, opensTable, pairDisplayMath, parseDirectiveSlug, parseFenceMeta, parseFenceOpener, parseLineRanges, pendingCodeSpanStart, pendingDisplayMathOpener, readEnvelope, readNodeOutcomeValue, readObjectKind, readOutputRef, readPartialKindEvent, readRunResultValue, readXmlTag, reconstructRegionValue, rehydrateNodeOutcome, rehydrateRunResult, removeCodeSpans, replaceFences, reportDelimiterViolations, resetLegacyShellUses, resolveReferenceLinks, resolvesInContent, reuseEnvelopeIfCurrent, rowCells, runKindDualGate, runSchemaConversion, sanitizeInboundEnvelopeMetadata, sanitizeInboundPartialKindMetadata, scalarArrayItemType, schemaLayoutMode, schemaStructureDepth, setJsonRootKeyLookup, singleDollarAfter, singleDollarMathEnd, soleFence, spliceSave, splitFenceInfo, splitRowSegments, splitsSurrogatePair, startsHtmlBlock, startsLikeTableRow, startsPipelessTable, storageToKindSchema, stripControlKeys, stripKindDeep, stripThinking, stripThinkingStreaming, tableContainerIndent, tableStartsAt, titleCaseToken, toCodePointOffset, toUtf16Offset, tokenizeSource, trailingTableStart, trimFenceLine, tryDecodeDirective, tryDecodeDirectiveContent, unescapeCellPipes, unwrapCodeSpans, unwrapKindEnvelopes, validateBlockSchemaSavePlan, validateStructuralLeg, withControlKeyFields, withControlKeys, withRootKind, xmlDiscriminator };
|
|
8535
8434
|
//# sourceMappingURL=index.js.map
|
|
8536
8435
|
//# sourceMappingURL=index.js.map
|