diff --git a/apps/web/src/sourceControlPresentation.ts b/apps/web/src/sourceControlPresentation.ts index 116f27b95f978954d86b4c402447bf812034f7b2..4e757e6954a58caf3dc4f8a223bcfd2f6796b4b8 100644 --- a/apps/web/src/sourceControlPresentation.ts +++ b/apps/web/src/sourceControlPresentation.ts @@ -3,8 +3,6 @@ import type { ElementType } from "react"; import type { SourceControlProviderInfo, SourceControlProviderKind } from "@t3tools/contracts"; export { DEFAULT_CHANGE_REQUEST_TERMINOLOGY, - formatChangeRequestAction, - formatCreateChangeRequestPhrase, getChangeRequestTerminology, resolveChangeRequestPresentation, type ChangeRequestPresentation, diff --git a/packages/shared/src/Net.ts b/packages/shared/src/Net.ts index 4644576296bca83f70184833348fd7922021c5b2..e3b6536928804d9b29ab5170c44f5ba9188bdcea 100644 --- a/packages/shared/src/Net.ts +++ b/packages/shared/src/Net.ts @@ -63,6 +63,7 @@ export class NetService extends Context.Service()( "@t3tools/shared/Net/NetService", ) {} +/** @public Service construction is part of the canonical Effect module API. */ export const make = () => { /** * Returns true when a TCP server can bind to {host, port}. diff --git a/packages/shared/src/agentAwareness.ts b/packages/shared/src/agentAwareness.ts index c0f5842eb7c53807e0389e3fea6a458efb9adf7e..77c7c845db31d4214611fc60c06d7e7379cd82c6 100644 --- a/packages/shared/src/agentAwareness.ts +++ b/packages/shared/src/agentAwareness.ts @@ -43,7 +43,7 @@ export interface ProjectThreadAwarenessInput { >; } -export function buildAgentAwarenessDeepLink(input: { +function buildAgentAwarenessDeepLink(input: { readonly environmentId: EnvironmentId; readonly threadId: ThreadId; }): string { diff --git a/packages/shared/src/composerTrigger.ts b/packages/shared/src/composerTrigger.ts index c68a9963ffa8fdcb15ed8a4730e583c08846a8dc..6176d10d79087e1c9158a16d67550f449ff6cb45 100644 --- a/packages/shared/src/composerTrigger.ts +++ b/packages/shared/src/composerTrigger.ts @@ -115,18 +115,6 @@ export function detectComposerTrigger( }; } -export function parseStandaloneComposerSlashCommand( - text: string, -): Exclude | null { - const match = /^\/(plan|default)\s*$/i.exec(text.trim()); - if (!match) { - return null; - } - const command = match[1]?.toLowerCase(); - if (command === "plan") return "plan"; - return "default"; -} - export function replaceTextRange( text: string, rangeStart: number, diff --git a/packages/shared/src/httpReadiness.ts b/packages/shared/src/httpReadiness.ts index be1b3475ff3ea8b485f72ce4b33c9d2ef8693019..5aad9d488aaebec19fc6c4bbfd28e7acc30df62f 100644 --- a/packages/shared/src/httpReadiness.ts +++ b/packages/shared/src/httpReadiness.ts @@ -5,7 +5,7 @@ import * as Ref from "effect/Ref"; import * as Schedule from "effect/Schedule"; import { HttpClient, HttpClientRequest } from "effect/unstable/http"; -export const DEFAULT_HTTP_READY_PROBE_TIMEOUT_MS = 1_000; +const DEFAULT_HTTP_READY_PROBE_TIMEOUT_MS = 1_000; /** * Normalizes an arbitrary readiness probe failure into a plain, structured value diff --git a/packages/shared/src/model.ts b/packages/shared/src/model.ts index 940778fba1eaf0fa52f184fa8f6b3bc507226261..d6cb26f25be3f0292b27d4c4d94857ae5f7839ec 100644 --- a/packages/shared/src/model.ts +++ b/packages/shared/src/model.ts @@ -35,7 +35,7 @@ function getRawSelectionValueById( return selection?.value; } -export function getProviderOptionSelectionValue( +function getProviderOptionSelectionValue( selections: ReadonlyArray | null | undefined, id: string, ): string | boolean | undefined { @@ -298,11 +298,6 @@ export function readCustomModelEntries(value: unknown): CustomModelDefinition[] return entries; } -/** Slugs of a `customModels` setting, in stored order. */ -export function readCustomModelSlugs(value: unknown): string[] { - return readCustomModelEntries(value).map((entry) => entry.slug); -} - /** * Write a definition back to the compact stored shape: a bare slug when it * carries nothing custom, otherwise an entry with only the set fields. @@ -361,7 +356,7 @@ export function resolveSelectableModel( } /** Trim a string, returning null for empty/missing values. */ -export function trimOrNull(value: T | null | undefined): T | null { +function trimOrNull(value: T | null | undefined): T | null { if (typeof value !== "string") return null; const trimmed = value.trim() as T; return trimmed || null; diff --git a/packages/shared/src/observability.ts b/packages/shared/src/observability.ts index 67057c54880653ae61ec30ab9bb499af4492e93d..9692a05f7592f6fd05c36716fbbba7bb6a4b38ce 100644 --- a/packages/shared/src/observability.ts +++ b/packages/shared/src/observability.ts @@ -303,7 +303,7 @@ export function truncateTraceAttributes(attributes: TraceAttributes): TraceAttri return truncated ?? attributes; } -export function spanToTraceRecord(span: SerializableSpan): EffectTraceRecord { +function spanToTraceRecord(span: SerializableSpan): EffectTraceRecord { const status = span.status as Extract; const parentSpanId = Option.getOrUndefined(span.parent)?.spanId; diff --git a/packages/shared/src/orchestrationTiming.ts b/packages/shared/src/orchestrationTiming.ts index 98829ae052ad0999af407c88040e8a5717e35d98..2ae82c22a6914eba2fe24a9909fdc9533e5700bd 100644 --- a/packages/shared/src/orchestrationTiming.ts +++ b/packages/shared/src/orchestrationTiming.ts @@ -28,7 +28,7 @@ export function formatDuration(durationMs: number): string { return parts.join(" "); } -export function isLatestTurnSettled( +function isLatestTurnSettled( latestTurn: LatestTurnTiming | null, session: SessionActivityState | null, ): boolean { diff --git a/packages/shared/src/relayClient.ts b/packages/shared/src/relayClient.ts index 3e65b2438d8223e361c0d8763db25aa30b038e89..4743f12b19d53823671bdcf765a71a4cf9dc1664 100644 --- a/packages/shared/src/relayClient.ts +++ b/packages/shared/src/relayClient.ts @@ -20,7 +20,7 @@ import { ChildProcess, ChildProcessSpawner } from "effect/unstable/process"; import { HostProcessArchitecture, HostProcessPlatform } from "./hostProcess.ts"; export const CLOUDFLARED_VERSION = "2026.5.2"; -export const CLOUDFLARED_PATH_ENV_NAME = "T3CODE_CLOUDFLARED_PATH"; +const CLOUDFLARED_PATH_ENV_NAME = "T3CODE_CLOUDFLARED_PATH"; export type RelayClientExecutableSource = "override" | "managed" | "path"; diff --git a/packages/shared/src/schemaJson.ts b/packages/shared/src/schemaJson.ts index e132b7084b74d6222b1cddcbe15bad3ec80d93ac..076ff67b62dfe24ed64c2bed0adcbc113417f644 100644 --- a/packages/shared/src/schemaJson.ts +++ b/packages/shared/src/schemaJson.ts @@ -199,12 +199,12 @@ const parseLenientJsonGetter = SchemaGetter.onSome((input: string) => { * strips trailing commas and JS-style comments before parsing. * Encoding produces strict JSON via `JSON.stringify`. */ -export const fromLenientJsonString = new SchemaTransformation.Transformation( +const fromLenientJsonString = new SchemaTransformation.Transformation( parseLenientJsonGetter, SchemaGetter.stringifyJson(), ); -export const prettyJsonString = SchemaGetter.parseJson().compose( +const prettyJsonString = SchemaGetter.parseJson().compose( SchemaGetter.stringifyJson({ space: 2 }), ); diff --git a/packages/shared/src/schemaYaml.ts b/packages/shared/src/schemaYaml.ts index 70e3c987ae0039c1f6391cec32433b36cd00d0c8..55b5b97122ae0af0f17e28bc6e1dea0728bc6c12 100644 --- a/packages/shared/src/schemaYaml.ts +++ b/packages/shared/src/schemaYaml.ts @@ -32,32 +32,8 @@ function formatYamlParseError(error: unknown): string { return `Invalid YAML (code=${error.code}${location}).`; } -/** - * Parses a YAML string into a value. - * - * **When to use** - * - * Use when you need a schema getter to parse a present encoded YAML string - * during decoding. - * - * **Details** - * - * Parse failures become `SchemaIssue.InvalidValue` values. - * - * **Example** (Parse YAML) - * - * ```ts - * import { parseYaml } from "@t3tools/shared/schemaYaml" - * - * const parse = parseYaml() - * // Getter - * ``` - * - * @see {@link stringifyYaml} for the inverse operation - */ -export function parseYaml( - options?: YamlParseOptions, -): SchemaGetter.Getter { +/** Parses YAML during decoding, reporting parse failures as InvalidValue issues. */ +function parseYaml(options?: YamlParseOptions): SchemaGetter.Getter { return SchemaGetter.transformOrFail((input: E) => Effect.try({ try: () => parseYamlString(input, options) as unknown, @@ -66,32 +42,8 @@ export function parseYaml( ); } -/** - * Stringifies a present value as YAML. - * - * **When to use** - * - * Use when you need a schema getter to serialize a present decoded value to - * YAML text during encoding. - * - * **Details** - * - * Stringify failures become `SchemaIssue.InvalidValue` values. - * - * **Example** (Stringify YAML) - * - * ```ts - * import { stringifyYaml } from "@t3tools/shared/schemaYaml" - * - * const stringify = stringifyYaml() - * // Getter - * ``` - * - * @see {@link parseYaml} for the inverse operation - */ -export function stringifyYaml( - options?: YamlStringifyOptions, -): SchemaGetter.Getter { +/** Serializes YAML during encoding, reporting stringify failures as InvalidValue issues. */ +function stringifyYaml(options?: YamlStringifyOptions): SchemaGetter.Getter { return SchemaGetter.transformOrFail((input: unknown) => Effect.try({ try: () => stringifyYamlValue(input, options), diff --git a/packages/shared/src/sourceControl.ts b/packages/shared/src/sourceControl.ts index df88de595a3fcc25cc89f1eb52dc9f76d3ea25fb..93b7c41ad44f771137b9d07ddf27f36ba24cf755 100644 --- a/packages/shared/src/sourceControl.ts +++ b/packages/shared/src/sourceControl.ts @@ -92,23 +92,12 @@ export function resolveChangeRequestPresentation( } } -export function resolveChangeRequestPresentationForKind( +function resolveChangeRequestPresentationForKind( kind: SourceControlProviderKind, ): ChangeRequestPresentation { return resolveChangeRequestPresentation({ kind, name: "", baseUrl: "" }); } -export function formatChangeRequestAction( - verb: "View" | "Create", - presentation: ChangeRequestPresentation, -): string { - return `${verb} ${presentation.shortName}`; -} - -export function formatCreateChangeRequestPhrase(presentation: ChangeRequestPresentation): string { - return `create ${presentation.shortName}`; -} - export function getChangeRequestTerminology( provider: SourceControlProviderInfo | null | undefined, ): ChangeRequestTerminology { diff --git a/packages/shared/src/usageLimits.ts b/packages/shared/src/usageLimits.ts index 8341796e39c39546031029b611f0944565f01894..e7582b1ecc64028e0ce483c1c7cf2f052cb51f3f 100644 --- a/packages/shared/src/usageLimits.ts +++ b/packages/shared/src/usageLimits.ts @@ -161,7 +161,7 @@ export function limitsNotice(limits: ServerProviderUsageLimits): string | null { return limits.windows.length === 0 ? "No limits reported." : null; } -export function resetMillis(window: ServerProviderUsageWindow): number | null { +function resetMillis(window: ServerProviderUsageWindow): number | null { if (window.resetsAt === undefined) return null; const at = Date.parse(window.resetsAt); return Number.isFinite(at) ? at : null;