Download packages/context/session-reference/src/uri.ts from SaylorTwift/deepseek-harness: direct link, hf CLI and curl.
- Browser
- Download file 4.19 kB
-
https://huggingface.co/SaylorTwift/deepseek-harness/resolve/main/packages/context/session-reference/src/uri.ts
- Command line
-
hf download hf://SaylorTwift/deepseek-harness/packages/context/session-reference/src/uri.ts
-
curl -L -o uri.ts https://huggingface.co/SaylorTwift/deepseek-harness/resolve/main/packages/context/session-reference/src/uri.ts
4.19 kB
| /** Canonical session URI and inline mention encoding. */ | |
| import { brandString } from '@deepseek-ai/dsh-brand' | |
| import type { SessionId as SessionIdType } from '@deepseek-ai/dsh-session' | |
| import { SessionReferenceError } from './config.ts' | |
| import type { SessionReferenceInput } from './types.ts' | |
| /** URI scheme reserved for DeepSeek Harness session snapshots. */ | |
| export const SESSION_REFERENCE_SCHEME = 'dsh-session:' | |
| /** | |
| * Encode any JavaScript session-id string as a canonical lossless URI. | |
| * @param sessionId - opaque session id to serialize. | |
| * @returns canonical `dsh-session:` URI. | |
| */ | |
| export function encodeSessionReferenceUri(sessionId: SessionIdType): string { | |
| const payload = Buffer.from(JSON.stringify(sessionId), 'utf8').toString('base64url') | |
| return `${SESSION_REFERENCE_SCHEME}${payload}` | |
| } | |
| /** | |
| * Decode and canonicalize one session-reference URI. | |
| * @param uri - complete canonical URI. | |
| * @returns decoded session id. | |
| */ | |
| export function decodeSessionReferenceUri(uri: string): SessionIdType { | |
| if (!uri.startsWith(SESSION_REFERENCE_SCHEME)) { | |
| throw invalidUri(uri) | |
| } | |
| const payload = uri.slice(SESSION_REFERENCE_SCHEME.length) | |
| if (!/^[A-Za-z0-9_-]+$/.test(payload)) throw invalidUri(uri) | |
| try { | |
| const parsed: unknown = JSON.parse(Buffer.from(payload, 'base64url').toString('utf8')) | |
| if (typeof parsed !== 'string') throw new TypeError('decoded session id is not a string') | |
| const sessionId = brandString<SessionIdType>(parsed) | |
| if (encodeSessionReferenceUri(sessionId) !== uri) throw new TypeError('URI is not canonical') | |
| return sessionId | |
| } catch (error: unknown) { | |
| throw invalidUri(uri, error) | |
| } | |
| } | |
| /** | |
| * Render a host-neutral Markdown mention carrying the canonical URI. | |
| * @param reference - structured id and optional display label. | |
| * @returns escaped `@[label](uri)` mention. | |
| */ | |
| export function formatSessionReferenceMention(reference: SessionReferenceInput): string { | |
| const label = escapeLabel(reference.label ?? reference.sessionId) | |
| return `@[${label}](${encodeSessionReferenceUri(reference.sessionId)})` | |
| } | |
| /** Result of extracting canonical mentions from plain text. */ | |
| export interface ParsedSessionReferenceText { | |
| /** Text with opaque tokens replaced by readable `@label` spans. */ | |
| text: string | |
| /** Structured references in first-appearance order, before service deduplication. */ | |
| references: SessionReferenceInput[] | |
| } | |
| /** | |
| * Extract Markdown mentions and bare canonical URIs from one text value. | |
| * Explicit Markdown mentions fail on any malformed URI. Bare text is treated | |
| * as a reference only when it has a non-empty base64url-shaped payload, then | |
| * still fails if that candidate is not canonical. | |
| * @param text - host text to normalize. | |
| * @returns readable text and structured references in appearance order. | |
| */ | |
| export function parseSessionReferenceText(text: string): ParsedSessionReferenceText { | |
| const references: SessionReferenceInput[] = [] | |
| const pattern = /@\[((?:\\.|[^\\\]])*)\]\((dsh-session:[^\s)]*)\)|(dsh-session:[A-Za-z0-9_-]+)/gu | |
| const rendered = text.replace(pattern, ( | |
| _match, | |
| rawLabel: string | undefined, | |
| markdownUri: string | undefined, | |
| bareUri: string | undefined, | |
| ) => { | |
| const uri = markdownUri ?? bareUri | |
| /* v8 ignore next -- the two-alternative regex always captures exactly one URI group. */ | |
| if (uri === undefined) throw new SessionReferenceError('session reference URI is missing', 'SESSION_REFERENCE_INVALID_REFERENCE') | |
| const sessionId = decodeSessionReferenceUri(uri) | |
| const label = rawLabel === undefined ? sessionId : unescapeLabel(rawLabel) | |
| references.push({ sessionId, label }) | |
| return `@${label}` | |
| }) | |
| return { text: rendered, references } | |
| } | |
| function escapeLabel(label: string): string { | |
| return label.replace(/[\\\]]/gu, match => `\\${match}`) | |
| } | |
| function unescapeLabel(label: string): string { | |
| return label.replace(/\\(.)/gu, '$1') | |
| } | |
| function invalidUri(uri: string, cause?: unknown): SessionReferenceError { | |
| return new SessionReferenceError( | |
| `invalid session reference URI ${JSON.stringify(uri)}`, | |
| 'SESSION_REFERENCE_INVALID_REFERENCE', | |
| cause === undefined ? undefined : { cause }, | |
| ) | |
| } | |