@kottera/tera-web 0.0.0-stage → 0.1.0-rc.2

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.
@@ -0,0 +1,74 @@
1
+ // Code generated by cmd/internal/genwebtypes from sdk/workorder/schema/v1/; DO NOT EDIT.
2
+ // Regenerate with `make web-types` (ADR-162 D4 item 1).
3
+ /**
4
+ * Every type this module declares, mapped to the repository path of the schema
5
+ * it was generated from.
6
+ */
7
+ export const WORK_ORDER_SCHEMAS = {
8
+ WorkOrderAcknowledgeParams: "sdk/workorder/schema/v1/acknowledge.params.json",
9
+ WorkOrderAcknowledgeResult: "sdk/workorder/schema/v1/acknowledge.result.json",
10
+ WorkOrderAnswerParams: "sdk/workorder/schema/v1/answer.params.json",
11
+ WorkOrderAnswerResult: "sdk/workorder/schema/v1/answer.result.json",
12
+ WorkOrderCancelParams: "sdk/workorder/schema/v1/cancel.params.json",
13
+ WorkOrderCancelResult: "sdk/workorder/schema/v1/cancel.result.json",
14
+ WorkOrderCohortSetParams: "sdk/workorder/schema/v1/cohort_set.params.json",
15
+ WorkOrderCohortSetResult: "sdk/workorder/schema/v1/cohort_set.result.json",
16
+ WorkOrderCompleteParams: "sdk/workorder/schema/v1/complete.params.json",
17
+ WorkOrderCompleteResult: "sdk/workorder/schema/v1/complete.result.json",
18
+ WorkOrderCreateParams: "sdk/workorder/schema/v1/create.params.json",
19
+ WorkOrderCreateResult: "sdk/workorder/schema/v1/create.result.json",
20
+ WorkOrderCreateChildParams: "sdk/workorder/schema/v1/create_child.params.json",
21
+ WorkOrderCreateChildResult: "sdk/workorder/schema/v1/create_child.result.json",
22
+ WorkOrderEditParams: "sdk/workorder/schema/v1/edit.params.json",
23
+ WorkOrderEditResult: "sdk/workorder/schema/v1/edit.result.json",
24
+ WorkOrderEventsParams: "sdk/workorder/schema/v1/events.params.json",
25
+ WorkOrderEventsResult: "sdk/workorder/schema/v1/events.result.json",
26
+ WorkOrderFailParams: "sdk/workorder/schema/v1/fail.params.json",
27
+ WorkOrderFailResult: "sdk/workorder/schema/v1/fail.result.json",
28
+ WorkOrderForceFailParams: "sdk/workorder/schema/v1/force_fail.params.json",
29
+ WorkOrderForceFailResult: "sdk/workorder/schema/v1/force_fail.result.json",
30
+ WorkOrderGetParams: "sdk/workorder/schema/v1/get.params.json",
31
+ WorkOrderGetResult: "sdk/workorder/schema/v1/get.result.json",
32
+ WorkOrderGuideParams: "sdk/workorder/schema/v1/guide.params.json",
33
+ WorkOrderGuideResult: "sdk/workorder/schema/v1/guide.result.json",
34
+ WorkOrderHistoryParams: "sdk/workorder/schema/v1/history.params.json",
35
+ WorkOrderHistoryResult: "sdk/workorder/schema/v1/history.result.json",
36
+ WorkOrderHistoryUnblockParams: "sdk/workorder/schema/v1/history_unblock.params.json",
37
+ WorkOrderHistoryUnblockResult: "sdk/workorder/schema/v1/history_unblock.result.json",
38
+ WorkOrderHumanAskParams: "sdk/workorder/schema/v1/human.ask.params.json",
39
+ WorkOrderHumanAskResult: "sdk/workorder/schema/v1/human.ask.result.json",
40
+ WorkOrderInterruptParams: "sdk/workorder/schema/v1/interrupt.params.json",
41
+ WorkOrderInterruptResult: "sdk/workorder/schema/v1/interrupt.result.json",
42
+ WorkOrderListParams: "sdk/workorder/schema/v1/list.params.json",
43
+ WorkOrderListResult: "sdk/workorder/schema/v1/list.result.json",
44
+ WorkOrderListOffTeraParams: "sdk/workorder/schema/v1/list_off_tera.params.json",
45
+ WorkOrderListOffTeraResult: "sdk/workorder/schema/v1/list_off_tera.result.json",
46
+ WorkOrderPauseParams: "sdk/workorder/schema/v1/pause.params.json",
47
+ WorkOrderPauseResult: "sdk/workorder/schema/v1/pause.result.json",
48
+ WorkOrderPrioritizeParams: "sdk/workorder/schema/v1/prioritize.params.json",
49
+ WorkOrderPrioritizeResult: "sdk/workorder/schema/v1/prioritize.result.json",
50
+ WorkOrderProgressParams: "sdk/workorder/schema/v1/progress.params.json",
51
+ WorkOrderProgressResult: "sdk/workorder/schema/v1/progress.result.json",
52
+ WorkOrderRecallParams: "sdk/workorder/schema/v1/recall.params.json",
53
+ WorkOrderRecallResult: "sdk/workorder/schema/v1/recall.result.json",
54
+ WorkOrderRefileParams: "sdk/workorder/schema/v1/refile.params.json",
55
+ WorkOrderRefileResult: "sdk/workorder/schema/v1/refile.result.json",
56
+ WorkOrderRelateParams: "sdk/workorder/schema/v1/relate.params.json",
57
+ WorkOrderRelateResult: "sdk/workorder/schema/v1/relate.result.json",
58
+ WorkOrderReleaseParams: "sdk/workorder/schema/v1/release.params.json",
59
+ WorkOrderReleaseResult: "sdk/workorder/schema/v1/release.result.json",
60
+ WorkOrderRepinParams: "sdk/workorder/schema/v1/repin.params.json",
61
+ WorkOrderRepinResult: "sdk/workorder/schema/v1/repin.result.json",
62
+ WorkOrderRepostParams: "sdk/workorder/schema/v1/repost.params.json",
63
+ WorkOrderRepostResult: "sdk/workorder/schema/v1/repost.result.json",
64
+ WorkOrderRetryParams: "sdk/workorder/schema/v1/retry.params.json",
65
+ WorkOrderRetryResult: "sdk/workorder/schema/v1/retry.result.json",
66
+ WorkOrderSubmitResultParams: "sdk/workorder/schema/v1/submit_result.params.json",
67
+ WorkOrderSubmitResultResult: "sdk/workorder/schema/v1/submit_result.result.json",
68
+ WorkOrderTakeParams: "sdk/workorder/schema/v1/take.params.json",
69
+ WorkOrderTakeResult: "sdk/workorder/schema/v1/take.result.json",
70
+ WorkOrderTransitionParams: "sdk/workorder/schema/v1/transition.params.json",
71
+ WorkOrderTransitionResult: "sdk/workorder/schema/v1/transition.result.json",
72
+ WorkOrderTreeParams: "sdk/workorder/schema/v1/tree.params.json",
73
+ WorkOrderTreeResult: "sdk/workorder/schema/v1/tree.result.json",
74
+ };
@@ -0,0 +1,12 @@
1
+ export { ROUTE_PREFIX, routePath } from "./routes.ts";
2
+ export { TeraClient, KitRequestError, UNRECOGNIZED_RESPONSE, type FeedOptions, type InvokeVerdict, type KitErrorBody, type TeraClientOptions, type UploadOptions, type UploadProgress, type UploadRequest, type VerbRefusal, } from "./client.ts";
3
+ export { BASE_DELAY_MS, MAX_DELAY_MS, REPLAY_LIMIT, REPLAY_WINDOW_MS, HEARTBEAT_GRACE_MS, REAUTHENTICATE_EVENT, FeedConnection, browserSignals, defaultOrderKey, type Clock, type FeedConnectionOptions, type FeedConnectionPhase, type FeedConnectionState, type FeedFrame, type FeedLoss, type FeedSignal, type FeedSignals, } from "./feed/connection.ts";
4
+ export { FeedOpenError, SSEParser, fetchOpener, isRefusal, type FeedOpener, type SSEEvent } from "./feed/sse.ts";
5
+ export type * from "./generated/feed.ts";
6
+ export type * from "./generated/kit.ts";
7
+ export type * from "./generated/workorder.ts";
8
+ export type * from "./generated/workorder-events.ts";
9
+ export { FEED_SCHEMAS } from "./generated/feed.ts";
10
+ export { KIT_ROUTE_PREFIX, KIT_ROUTE_TABLE, KIT_SCHEMAS, KIT_SIGNOUT_PATH } from "./generated/kit.ts";
11
+ export { WORK_ORDER_SCHEMAS } from "./generated/workorder.ts";
12
+ export { WORK_ORDER_EVENT_SCHEMAS } from "./generated/workorder-events.ts";
package/dist/index.js ADDED
@@ -0,0 +1,12 @@
1
+ // @kottera/tera-web — the browser half of a UI over tera (ADR-162 D4).
2
+ //
3
+ // Framework-free, with no runtime dependencies: it carries no UI component,
4
+ // because the framework is the author's.
5
+ export { ROUTE_PREFIX, routePath } from "./routes.js";
6
+ export { TeraClient, KitRequestError, UNRECOGNIZED_RESPONSE, } from "./client.js";
7
+ export { BASE_DELAY_MS, MAX_DELAY_MS, REPLAY_LIMIT, REPLAY_WINDOW_MS, HEARTBEAT_GRACE_MS, REAUTHENTICATE_EVENT, FeedConnection, browserSignals, defaultOrderKey, } from "./feed/connection.js";
8
+ export { FeedOpenError, SSEParser, fetchOpener, isRefusal } from "./feed/sse.js";
9
+ export { FEED_SCHEMAS } from "./generated/feed.js";
10
+ export { KIT_ROUTE_PREFIX, KIT_ROUTE_TABLE, KIT_SCHEMAS, KIT_SIGNOUT_PATH } from "./generated/kit.js";
11
+ export { WORK_ORDER_SCHEMAS } from "./generated/workorder.js";
12
+ export { WORK_ORDER_EVENT_SCHEMAS } from "./generated/workorder-events.js";
@@ -0,0 +1,10 @@
1
+ /** The prefix every kit route is served under. */
2
+ export declare const ROUTE_PREFIX = "/tera/v1/";
3
+ /**
4
+ * routePath builds a kit route's path from its segments, each encoded as one
5
+ * path segment: a capability or feed name holding `/` stays one segment rather
6
+ * than becoming two. An empty segment, `.` or `..` is refused: each would
7
+ * address a different route than the caller named, since a URL resolver
8
+ * collapses the dot segments and encoding does not change them.
9
+ */
10
+ export declare function routePath(...segments: string[]): string;
package/dist/routes.js ADDED
@@ -0,0 +1,32 @@
1
+ // The browser routes a plugin's webui kit serves, all under one reserved
2
+ // prefix on the plugin's origin (ADR-162 D3). The prefix is not `/_tera/`,
3
+ // which tera's reverse proxy keeps for its own paths and never forwards.
4
+ //
5
+ // The route table itself is declared once, in Go, under sdk/plugin/webui, and
6
+ // generated into ./generated/kit.ts. What is here is how a path is built from
7
+ // it.
8
+ import { KIT_ROUTE_PREFIX } from "./generated/kit.js";
9
+ /** The prefix every kit route is served under. */
10
+ export const ROUTE_PREFIX = KIT_ROUTE_PREFIX;
11
+ /**
12
+ * routePath builds a kit route's path from its segments, each encoded as one
13
+ * path segment: a capability or feed name holding `/` stays one segment rather
14
+ * than becoming two. An empty segment, `.` or `..` is refused: each would
15
+ * address a different route than the caller named, since a URL resolver
16
+ * collapses the dot segments and encoding does not change them.
17
+ */
18
+ export function routePath(...segments) {
19
+ if (segments.length === 0) {
20
+ throw new TypeError("routePath: at least one segment is required");
21
+ }
22
+ const parts = segments.map((segment, i) => {
23
+ if (segment === "") {
24
+ throw new TypeError(`routePath: segment ${i} is empty`);
25
+ }
26
+ if (segment === "." || segment === "..") {
27
+ throw new TypeError(`routePath: segment ${i} is a dot segment (${segment})`);
28
+ }
29
+ return encodeURIComponent(segment);
30
+ });
31
+ return ROUTE_PREFIX + parts.join("/");
32
+ }
package/package.json CHANGED
@@ -1,6 +1,34 @@
1
1
  {
2
2
  "name": "@kottera/tera-web",
3
- "version": "0.0.0-stage",
4
- "stub": true,
5
- "description": "Temporary package placeholder for staged publishing"
6
- }
3
+ "version": "0.1.0-rc.2",
4
+ "description": "The browser half of a UI over tera: a framework-free client for the /tera/v1/ routes a plugin's webui kit serves (ADR-162 D4).",
5
+ "license": "Apache-2.0",
6
+ "repository": {
7
+ "type": "git",
8
+ "url": "git+https://github.com/kottera/sdk.git",
9
+ "directory": "web"
10
+ },
11
+ "type": "module",
12
+ "exports": {
13
+ ".": {
14
+ "types": "./dist/index.d.ts",
15
+ "default": "./dist/index.js"
16
+ }
17
+ },
18
+ "types": "./dist/index.d.ts",
19
+ "files": [
20
+ "dist",
21
+ "NOTICE"
22
+ ],
23
+ "sideEffects": false,
24
+ "engines": {
25
+ "node": ">=22.18"
26
+ },
27
+ "publishConfig": {
28
+ "access": "public"
29
+ },
30
+ "scripts": {
31
+ "build": "tsc -p tsconfig.build.json",
32
+ "test": "node --test --test-reporter=tap \"src/**/*.test.ts\""
33
+ }
34
+ }