@intentic/extension-ui 1.311.0 → 1.313.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/README.md CHANGED
@@ -20,7 +20,9 @@ flowchart LR
20
20
  re-exports, and a `dist/index.js` bridge that throws when loaded outside an intentic host.
21
21
  - `names.mjs` lists the runtime export names by hand, because the `.vue` graph cannot load in Node. The editor's shim
22
22
  generator reads it, and a dev-time assertion in `hostModules.ts` catches drift.
23
- - `./diff`, `./format` and `./i18n` skip the component barrel, for extension tests that run without a Vue compiler.
23
+ - `./diff`, `./format`, `./i18n` and `./worker` skip the component barrel, for extension tests that run without a Vue
24
+ compiler. `./worker` is also what a worker module imports `serveWorkerCall` from. A worker has no host bridge, so an
25
+ extension built outside this repository bundles that module into its worker instead of marking it external.
24
26
 
25
27
  ## Key files
26
28
 
package/dist/index.js CHANGED
@@ -66,10 +66,12 @@ export const StatusBadge = m["StatusBadge"];
66
66
  export const StatusTally = m["StatusTally"];
67
67
  export const StepSection = m["StepSection"];
68
68
  export const ToggleSwitch = m["ToggleSwitch"];
69
+ export const WorkerCallError = m["WorkerCallError"];
69
70
  export const activeLocale = m["activeLocale"];
70
71
  export const appLink = m["appLink"];
71
72
  export const browserOwnsClick = m["browserOwnsClick"];
72
73
  export const clipboardOf = m["clipboardOf"];
74
+ export const createWorkerCall = m["createWorkerCall"];
73
75
  export const diffSequence = m["diffSequence"];
74
76
  export const errorMessage = m["errorMessage"];
75
77
  export const extensionT = m["extensionT"];
@@ -92,6 +94,7 @@ export const noticeOf = m["noticeOf"];
92
94
  export const openForwardedPort = m["openForwardedPort"];
93
95
  export const pairEdits = m["pairEdits"];
94
96
  export const seriesColor = m["seriesColor"];
97
+ export const serveWorkerCall = m["serveWorkerCall"];
95
98
  export const similarity = m["similarity"];
96
99
  export const sinceOf = m["sinceOf"];
97
100
  export const timeAgo = m["timeAgo"];
@@ -1,6 +1,7 @@
1
1
  export { AgentRunButton, type AgentRunAttempt, type AgentRunChoice, type AgentRunPicker, type ModelPicking, useAgentRunPick, type FixStanceLook, fixStanceLook, AnchoredOverlay, Avatar, Button, vAction, BarChart, BottomSheet, BrandMark, Card, clipboardOf, browserOwnsClick, appLink, openForwardedPort, ChangeStatusMark, type ChangeStatus, ui, Code, CodeField, ConfirmDialog, ContextMenu, CopyButton, StatusTally, type TallyItem, DagEditor, DagGraph, type DagEdge, type DagNode, DiffStat, DisclosureRow, FilterBar, Icon, type IconName, ImageView, InfoDialog, InfoHint, InfoTable, type FileFormat, formatOf, Markdown, MarkdownDocument, MarkdownFigure, Modal, type NavGroup, NavRail, NoteEditor, type NoteDraft, type NoteDraftOptions, useNoteDraft, useKeyedDraft, type NoticeModel, type NoticeTone, type NoticeAction, Notice, NoticeStack, Page, PageAction, PageHeader, ScrollFrame, PersonaFace, type PersonaLike, Picker, ProjectChip, type PickerGroup, type PickerOption, type PickerOptions, ProgressRing, RepoRail, type RepoRailAll, type RepoRailGroup, type RepoRailRow, ProseField, ResizeSeam, ResponsiveOverlay, Row, RowGroup, SearchBar, SegmentedControl, seriesColor, sinceOf, useLoadingReveal, SkeletonRows, SplitView, StatStrip, StatusBadge, type StatusVariant, StepSection, timeWindows, type TimeWindow, timeWindowWords, useCompact, useDevice, useListNavigation, useNow, useLatest, errorMessage, noticeFrom, noticeOf, useAsyncAction, useNarrow, useRailMemory, useScrollReset, type StickyTop, useStickyTop, useTheme, } from "../../ui/src/index.js";
2
2
  export { formatBytes, formatDate, formatDateTime, formatDayMonth, formatDayMonthTime, formatDuration, formatTime, formatTimestamp, formatTokens, formatWeekdayTime, formatWhen, freshness, timeAgo, } from "./format.js";
3
3
  export { diffSequence, pairEdits, similarity, wordDiff } from "./diff.js";
4
+ export { createWorkerCall, serveWorkerCall, WorkerCallError } from "./worker.js";
4
5
  export { activeLocale, extensionT } from "./i18n.js";
5
6
  export type { BarsFigure, BarsFigureItem, DagFigure, DagFigureEdge, DagFigureNode, Figure, FigureAccent, MermaidFigure, StatsFigure, StatsFigureItem, } from "../../ui/src/markdown/index.js";
6
7
  export { default as Checkbox } from "primevue/checkbox";
@@ -0,0 +1 @@
1
+ export { createWorkerCall, serveWorkerCall, type ServeOptions, type WorkerCall, type WorkerCallOptions, WorkerCallError, type WorkerCallRequest, type WorkerCallResponse, type WorkerFactory, type WorkerPort, } from "../../ui/src/lib/workerCall.js";
@@ -2,6 +2,7 @@ type __VLS_Props = {
2
2
  value: number;
3
3
  size?: number;
4
4
  stroke?: number;
5
+ tintTrack?: boolean;
5
6
  };
6
7
  declare const __VLS_export: import("vue").DefineComponent<__VLS_Props, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<__VLS_Props> & Readonly<{}>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
7
8
  declare const _default: typeof __VLS_export;
@@ -9,5 +9,6 @@ export declare const ui: {
9
9
  addTile: (...twClasses: string[]) => string;
10
10
  overlayChip: (...twClasses: string[]) => string;
11
11
  sectionLabel: (...twClasses: string[]) => string;
12
+ sectionLabelSm: (...twClasses: string[]) => string;
12
13
  tab: (active: boolean, ...twClasses: string[]) => string;
13
14
  };
@@ -0,0 +1,33 @@
1
+ export interface WorkerCallRequest<Args> {
2
+ readonly id: number;
3
+ readonly args: Args;
4
+ }
5
+ export type WorkerCallResponse<Result> = {
6
+ readonly id: number;
7
+ readonly result: Result;
8
+ } | {
9
+ readonly id: number;
10
+ readonly error: string;
11
+ };
12
+ export interface WorkerPort<Args, Result> {
13
+ postMessage(message: WorkerCallRequest<Args>, transfer?: Transferable[]): void;
14
+ addEventListener(type: `message`, listener: (event: MessageEvent<WorkerCallResponse<Result>>) => void): void;
15
+ addEventListener(type: `error`, listener: (event: ErrorEvent) => void): void;
16
+ terminate(): void;
17
+ }
18
+ export type WorkerFactory<Args, Result> = () => Promise<WorkerPort<Args, Result> | undefined>;
19
+ export declare class WorkerCallError extends Error {
20
+ readonly name = "WorkerCallError";
21
+ }
22
+ export interface WorkerCallOptions<Args> {
23
+ readonly transfer?: (args: Args) => Transferable[];
24
+ readonly final?: (error: WorkerCallError) => boolean;
25
+ }
26
+ export type WorkerCall<Args, Result> = ((args: Args) => Promise<Result>) & {
27
+ readonly close: () => void;
28
+ };
29
+ export declare const createWorkerCall: <Args, Result>(workerFactory: WorkerFactory<Args, Result>, local: (args: Args) => Result | Promise<Result>, options?: WorkerCallOptions<Args>) => WorkerCall<Args, Result>;
30
+ export interface ServeOptions<Result> {
31
+ readonly transfer?: (result: Result) => Transferable[];
32
+ }
33
+ export declare const serveWorkerCall: <Args, Result>(run: (args: Args) => Result | Promise<Result>, options?: ServeOptions<Result>) => void;
package/dist/worker.js ADDED
@@ -0,0 +1,10 @@
1
+ // Generated by scripts/build.mjs: do not edit.
2
+ // The kit's worker entry point, off the same host bridge as ./index.js.
3
+ const host = globalThis.__intenticHost;
4
+ if (host === undefined) {
5
+ throw new Error("@intentic/extension-ui was loaded outside an intentic host: its helpers come from the app, not from this package.");
6
+ }
7
+ const m = host.modules["@intentic/extension-ui"];
8
+ export const WorkerCallError = m["WorkerCallError"];
9
+ export const createWorkerCall = m["createWorkerCall"];
10
+ export const serveWorkerCall = m["serveWorkerCall"];
package/names.mjs CHANGED
@@ -24,6 +24,7 @@ export const extensionUiNames = [
24
24
  "DagEditor",
25
25
  "DagGraph",
26
26
  "DiffStat",
27
+ "createWorkerCall",
27
28
  "diffSequence",
28
29
  "DisclosureRow",
29
30
  "errorMessage",
@@ -42,6 +43,8 @@ export const extensionUiNames = [
42
43
  "formatWeekdayTime",
43
44
  "formatWhen",
44
45
  "freshness",
46
+ "serveWorkerCall",
47
+ "WorkerCallError",
45
48
  "activeLocale",
46
49
  "extensionT",
47
50
  "Icon",
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@intentic/extension-ui",
3
- "version": "1.311.0",
3
+ "version": "1.313.0",
4
4
  "description": "The UI kit intentic extensions render with, host-provided at runtime (the app's own components via the import map), so extension UI is always native to the shell",
5
5
  "license": "MIT",
6
6
  "type": "module",
@@ -36,6 +36,11 @@
36
36
  "types": "./dist/types/extension-ui/src/format.d.ts",
37
37
  "default": "./dist/format.js"
38
38
  },
39
+ "./worker": {
40
+ "@intentic/src": "./src/worker.ts",
41
+ "types": "./dist/types/extension-ui/src/worker.d.ts",
42
+ "default": "./dist/worker.js"
43
+ },
39
44
  "./i18n": {
40
45
  "@intentic/src": "./src/i18n.ts",
41
46
  "types": "./dist/types/extension-ui/src/i18n.d.ts",
@@ -49,9 +54,9 @@
49
54
  "devDependencies": {
50
55
  "@intentic/tsconfig": "0.0.0",
51
56
  "@intentic/ui": "0.0.0",
52
- "typescript": "5.9.3",
53
- "vue": "3.5.40",
54
- "vue-tsc": "3.3.9"
57
+ "typescript": "6.0.3",
58
+ "vue": "3.5.43",
59
+ "vue-tsc": "3.3.11"
55
60
  },
56
61
  "peerDependencies": {
57
62
  "vue": "3"
package/src/index.ts CHANGED
@@ -177,6 +177,8 @@ export {
177
177
  } from "./format.js";
178
178
  // Also reachable as `@intentic/extension-ui/diff`: the edit scripts a viewer marks two versions of a file with.
179
179
  export { diffSequence, pairEdits, similarity, wordDiff } from "./diff.js";
180
+ // Also reachable as `@intentic/extension-ui/worker`: work moved off the page, with the page as its fallback.
181
+ export { createWorkerCall, serveWorkerCall, WorkerCallError } from "./worker.js";
180
182
  // The extension's own words. `extensionT(id)` is the translator for the catalog the host mounted from the module's
181
183
  // `messages` export; `activeLocale` is the language on screen, for a contribution that formats something itself.
182
184
  // The `Locale` type comes off `@intentic/extension-ui/i18n`, not from here: this file's re-exports become runtime
package/src/worker.ts ADDED
@@ -0,0 +1,16 @@
1
+ // A call a dedicated worker answers, or the page when it cannot, reachable without the component barrel: the worker
2
+ // half runs inside a worker, where the kit's Vue components and `document` do not exist. In-repo extensions bundle it
3
+ // from source; a git-installed bundle's worker has no host bridge to read, so it must bundle this module rather than
4
+ // mark it external.
5
+ export {
6
+ createWorkerCall,
7
+ serveWorkerCall,
8
+ type ServeOptions,
9
+ type WorkerCall,
10
+ type WorkerCallOptions,
11
+ WorkerCallError,
12
+ type WorkerCallRequest,
13
+ type WorkerCallResponse,
14
+ type WorkerFactory,
15
+ type WorkerPort,
16
+ } from "@intentic/ui/worker-call";