pi-mono/packages/chord/src/next/index.ts
Mario Zechner 5bc4145165 feat(chord): Chord v2 web and terminal surfaces (slice 11)
- Web: base bundles built from the app's entry at start (content-hashed, served
  forever), plugin scripts that register themselves and one combined file,
  WebScripts/TuiScripts showing the current set, startPage with the connection
  loop, in-place plugin reloads and a reload on a new base bundle.
- React bindings: HostProvider, useHold, useWatch, useRegistry, useRefState.
- Terminal: startTerminal, a launcher that signs in with a token, a token file or
  device pairing and always runs the app's terminal code in a sandboxed child
  process (pipes, empty environment, --permission granting nothing, no SQLite,
  a builtin allowlist and a frozen process inside); output filter, confirmed
  copy/open/attach actions; startTerminalRuntime and TuiScope inside.
- Themes: the Themes registry, ThemeChoice per principal, CSS variables on the
  page, terminal colours by role; CSS modules in plugin builds.
- App kit: startServer gains web and tui; startApp renamed startServer,
  exportAddress/importAddress renamed exportData/importData and export no longer
  stops the worker; ephemeral sessions end with their client's last link.
- Examples 56-web, 57-tui, 58-themes, 59-chat.
2026-11-02 21:31:59 +00:00

52 lines
1.6 KiB
TypeScript

// Chord v2 (`@earendil-works/chord/next`, experimental): every layer's API for apps, and the store's surface for
// adapters (Durable's `StoreStorage`), marked internal.
export * from "./contracts/index.ts";
export * from "./data/index.ts";
export * from "./documents/index.ts";
export * from "./host/index.ts";
export * from "./jobs/index.ts";
export * from "./link/index.ts";
export * from "./registries/index.ts";
export * from "./state/index.ts";
/** @internal The store's surface for adapters (slice 6b §2.1). */
export { type DecodedRow, OwnerTable, StoreOwnerTables } from "./store/adapter.ts";
/** @internal The sync layer's batch apply (slice 6b §1.6). */
export { applyBatch } from "./store/apply-batch.ts";
/** @internal */
export type { Claimant } from "./store/claims.ts";
/** @internal */
export {
type DocumentAddress,
type DocumentContent,
type DocumentEntry,
type DocumentHistory,
type DocumentPoint,
type DocumentRecord,
type DocumentScope,
findDocument,
findDocumentEntry,
insertDocument,
listDocumentEntries,
listDocuments,
loadContent,
loadDocument,
type OwnedDocumentEntry,
readDocument,
readDocumentEntry,
retireRecord,
type StoredDocument,
writeContent,
} from "./store/engine.ts";
/** @internal */
export type { WhereNode } from "./store/expression.ts";
export * from "./store/index.ts";
/** @internal */
export type { EncodedRow } from "./store/rows.ts";
/** @internal */
export type { Order } from "./store/sql.ts";
/** @internal */
export type { StagedWrite, Step } from "./store/step.ts";
/** @internal */
export type { ChordStore, SeriesCommit, SeriesResult } from "./store/store.ts";
export * from "./surfaces/index.ts";