@plurnk/plurnk-schemes 0.1.5 → 0.3.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
@@ -11,7 +11,9 @@ Framework + contract for `@plurnk/plurnk-schemes-*` URI handler packages. Consum
11
11
 
12
12
  ### Types
13
13
 
14
- `SchemeManifest`, `SchemeFlagAffinity`, `WriterTier`, `LoopFlags`, `DEFAULT_LOOP_FLAGS`.
14
+ - Manifest/flags: `SchemeManifest`, `SchemeFlagAffinity`, `WriterTier`, `LoopFlags`, `DEFAULT_LOOP_FLAGS`.
15
+ - Result families: `SchemeResult` / `EntryResult` / `ProposalResult` / `PassthroughResult` / `SchemeResultBase` / `TelemetryEvent`.
16
+ - Capability ctx: `SchemeCtx` + `EntryCaps` / `ChannelCaps` / `VisibilityCaps` / `TagCaps` / `NotifyCaps` / `SubscriptionCaps` / `CrossSchemeCaps`, plus `EntryData` / `ChannelState` / `SubscriptionHandle` / `ProposalAware`.
15
17
 
16
18
  ### Helpers
17
19
 
@@ -19,9 +21,10 @@ Framework + contract for `@plurnk/plurnk-schemes-*` URI handler packages. Consum
19
21
  - `isBinaryMimetype` / `isLineNavigableMimetype` / `isJsonMimetype` / `normalizeAutoTextMimetype` / `TEXT_PRIMITIVE_MIMETYPE` — mimetype classification.
20
22
  - `sliceLines` / `sliceLinesRaw` / `sliceJsonItems` / `applyLineMarkerEdit` / `applyJsonItemEdit` — `<L>` slicing + structural EDIT.
21
23
  - `resolveEntryMimetype(pathname, default, mimetypes)` — path-extension mimetype resolver.
22
- - `matchAgainstContent(body, content, mimetype, mimetypes, baseLine?)` — body-matcher dispatch adapter over `Mimetypes.query`.
24
+ - `matchAgainstContent(body, content, mimetype, mimetypes, baseLine?)` — body-matcher dispatch adapter over `Mimetypes.query` (glob/regex/jsonpath/xpath).
25
+ - Result builders/guards: `schemeError` / `logCoordinate` / `isEntryResult` / `isProposalResult` / `isPassthroughResult` / `isErrorStatus`.
23
26
 
24
- DB-coupled helpers (CRUD primitives, entry-op handlers, channel writes, subscription registry) stay in plurnk-service; this repo ships only types and pure helpers. Forward-spec: a namespaced ctx API replaces the v0 split when third-party schemes are an actual concern.
27
+ The **capability ctx** (`SchemeCtx`) is the DB-free authoring surface for siblings interfaces only; plurnk-service injects the db-backed impl (see SPEC §3.bis). The db-backed implementations themselves (CRUD primitives, entry-op handlers, channel writes, subscription registry) stay in plurnk-service.
25
28
 
26
29
  ## Tests
27
30
 
package/SPEC.md CHANGED
@@ -77,7 +77,9 @@ Result-type definitions (`EditResult`, `ReadResult`, etc.) live in plurnk-servic
77
77
 
78
78
  ### Types
79
79
 
80
- - `SchemeManifest`, `SchemeFlagAffinity`, `WriterTier`, `LoopFlags`, `DEFAULT_LOOP_FLAGS`.
80
+ - Manifest/flags: `SchemeManifest`, `SchemeFlagAffinity`, `WriterTier`, `LoopFlags`, `DEFAULT_LOOP_FLAGS`.
81
+ - Result families: `SchemeResult` (`EntryResult` | `ProposalResult` | `PassthroughResult`), `SchemeResultBase`, `TelemetryEvent`. Keyed on scheme-shape, not op. `error` is a grammar `TelemetryEvent`, present iff `status >= 400`. Guards `isEntryResult` / `isProposalResult` / `isPassthroughResult` / `isErrorStatus`; builders `schemeError(scheme, kind, message?, position?)`, `logCoordinate(coordinate, op?)`.
82
+ - Capability ctx (PR-2, see §3.bis): `SchemeCtx` + `EntryCaps` / `ChannelCaps` / `VisibilityCaps` / `TagCaps` / `NotifyCaps` / `SubscriptionCaps` / `CrossSchemeCaps`, plus `EntryData`, `ChannelState`, `SubscriptionHandle`, `ProposalAware`.
81
83
 
82
84
  ### Active-scheme resolution
83
85
 
@@ -112,6 +114,23 @@ Result-type definitions (`EditResult`, `ReadResult`, etc.) live in plurnk-servic
112
114
  - Empty match array → status 204
113
115
  - Match array → status 200
114
116
 
117
+ ### §3.bis Capability ctx — the DB-free authoring surface
118
+
119
+ The contract that lets a third-party `@plurnk/plurnk-schemes-*` sibling be authored without importing `@plurnk/plurnk-service` or touching a raw DB handle (forbidden by §5). **Interfaces only**: this repo exports the shapes; plurnk-service injects a db-backed implementation behind them (the `scheme-types.ts` seam, widened). In-tree schemes keep using `db` directly during transition and cut over scheme-by-scheme. Design converged on [plurnk-service#180](https://github.com/plurnk/plurnk-service/issues/180).
120
+
121
+ `SchemeCtx` carries per-dispatch identity (`sessionId`/`runId`/`loopId`/`turnId`/`writer`/`signal`) plus **six live capability namespaces** replacing raw `db`:
122
+
123
+ - `entries` — CRUD over the scheme's own namespace (`read`/`write`/`delete`).
124
+ - `channels` — content writes + state (`append`/`replace`/`setState`).
125
+ - `visibility` — the per-(run, entry, channel) index bit (`show`/`hide`, channel optional).
126
+ - `tags` — entry tags (`add`/`remove`/`list`).
127
+ - `notify` — between-turn client/engine signals (`streamEvent`, `wakeRun`); not model-facing.
128
+ - `subscriptions` — streaming lifecycle: `open(pathname, handle)` returns a run+teardown-composed `AbortSignal` and takes a force-cancel `SubscriptionHandle`; `notifyChunk(channel, chunk)` is **fused** (append + stream/event in one call); `close(reason, outcome?)` composites channel state + registry close + run wake. Designed against Exec (two-channel, cancel-tested).
129
+
130
+ `crossScheme` is a **deferred** placeholder — no FROM/TO methods committed until the first real cross-scheme COPY/MOVE forces the shape.
131
+
132
+ **Proposals are not a capability.** A side-effecting scheme proposes by *returning* a `ProposalResult` (status 202); the engine owns the resolution lifecycle (await/accept/reject, YOLO/noProposals auto-resolve, timeout) and it is invisible to the sibling. The only sibling-side surface is the optional `ProposalAware.applyResolution(pathname, proposal, ctx)` hook the engine calls on accept.
133
+
115
134
  ## §4 What's NOT in this repo
116
135
 
117
136
  DB-coupled helpers stay in plurnk-service for v0:
package/dist/ctx.d.ts ADDED
@@ -0,0 +1,90 @@
1
+ import type { WriterTier } from "./types.ts";
2
+ import type { ProposalResult, SchemeResult } from "./results.ts";
3
+ export type ChannelState = "static" | "active" | "closed" | "errored";
4
+ export interface EntryData {
5
+ readonly channels: Record<string, {
6
+ content: string;
7
+ mimetype: string;
8
+ state?: ChannelState;
9
+ }>;
10
+ readonly tags: ReadonlyArray<string>;
11
+ }
12
+ export interface EntryCaps {
13
+ read(pathname: string): Promise<{
14
+ status: number;
15
+ entry: EntryData | null;
16
+ }>;
17
+ write(pathname: string, entry: EntryData): Promise<{
18
+ status: number;
19
+ created: boolean;
20
+ entryId: number | null;
21
+ }>;
22
+ delete(pathname: string): Promise<{
23
+ status: number;
24
+ }>;
25
+ }
26
+ export interface ChannelCaps {
27
+ append(pathname: string, channel: string, content: string): Promise<{
28
+ status: number;
29
+ }>;
30
+ replace(pathname: string, channel: string, content: string): Promise<{
31
+ status: number;
32
+ }>;
33
+ setState(pathname: string, channel: string, state: ChannelState): Promise<{
34
+ status: number;
35
+ }>;
36
+ }
37
+ export interface VisibilityCaps {
38
+ show(pathname: string, channel?: string): Promise<{
39
+ status: number;
40
+ }>;
41
+ hide(pathname: string, channel?: string): Promise<{
42
+ status: number;
43
+ }>;
44
+ }
45
+ export interface TagCaps {
46
+ add(pathname: string, tags: ReadonlyArray<string>): Promise<{
47
+ status: number;
48
+ }>;
49
+ remove(pathname: string, tags: ReadonlyArray<string>): Promise<{
50
+ status: number;
51
+ }>;
52
+ list(pathname: string): Promise<{
53
+ status: number;
54
+ tags: ReadonlyArray<string>;
55
+ }>;
56
+ }
57
+ export interface NotifyCaps {
58
+ streamEvent(pathname: string, channel: string, state: ChannelState, contentLength: number): void;
59
+ wakeRun(): void;
60
+ }
61
+ export interface SubscriptionCaps {
62
+ open(pathname: string, handle: SubscriptionHandle): Promise<AbortSignal>;
63
+ notifyChunk(channel: string, chunk: string): Promise<void>;
64
+ close(reason: "done" | "error", outcome?: string): Promise<void>;
65
+ }
66
+ export interface SubscriptionHandle {
67
+ cancel(): void | Promise<void>;
68
+ }
69
+ export interface CrossSchemeCaps {
70
+ readonly _deferred: "see plurnk-service#180 — designed when first cross-scheme COPY/MOVE forces the FROM/TO shape";
71
+ }
72
+ export interface SchemeCtx {
73
+ readonly sessionId: number;
74
+ readonly runId: number;
75
+ readonly loopId: number;
76
+ readonly turnId: number;
77
+ readonly writer: WriterTier;
78
+ readonly signal: AbortSignal | undefined;
79
+ readonly entries: EntryCaps;
80
+ readonly channels: ChannelCaps;
81
+ readonly visibility: VisibilityCaps;
82
+ readonly tags: TagCaps;
83
+ readonly notify: NotifyCaps;
84
+ readonly subscriptions: SubscriptionCaps;
85
+ readonly crossScheme: CrossSchemeCaps;
86
+ }
87
+ export interface ProposalAware {
88
+ applyResolution(pathname: string, proposal: ProposalResult, ctx: SchemeCtx): Promise<SchemeResult>;
89
+ }
90
+ //# sourceMappingURL=ctx.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ctx.d.ts","sourceRoot":"","sources":["../src/ctx.ts"],"names":[],"mappings":"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"}
package/dist/ctx.js ADDED
@@ -0,0 +1,34 @@
1
+ // Capability context — the DB-free authoring surface for
2
+ // `@plurnk/plurnk-schemes-*` siblings (keystone PR-2; design converged on
3
+ // plurnk-service#180).
4
+ //
5
+ // PROBLEM this replaces: today a sibling receives plurnk-service's raw `Db`
6
+ // handle on `ctx.db` and reaches straight through it. SPEC §5 forbids a
7
+ // third-party scheme from importing `@plurnk/plurnk-service/*` or touching
8
+ // the database — so `ctx.db` is the contract, and it's an illegal one. A
9
+ // real sibling is therefore unbuildable.
10
+ //
11
+ // SHAPE: this module exports INTERFACES only. plurnk-service injects a
12
+ // db-backed implementation behind them (the existing `scheme-types.ts` seam,
13
+ // widened — not new machinery). In-tree schemes keep using `db` directly
14
+ // during transition; the cap impl is a thin adapter over the same
15
+ // `_entry-*.ts` / `ChannelWrite` helpers, cut over scheme-by-scheme.
16
+ //
17
+ // SIX live namespaces decompose what `ctx.db` is used for today:
18
+ // entries / channels / visibility / tags / notify — map 1:1 onto the
19
+ // `_entry-*.ts` + `ChannelWrite` helpers; wrap cleanly.
20
+ // subscriptions — the streaming
21
+ // lifecycle (open/notifyChunk/close); design against Exec, the proven
22
+ // two-channel cancel-tested case.
23
+ //
24
+ // NOT a namespace:
25
+ // proposals — collapses to "return a ProposalResult (202) + implement
26
+ // applyResolution"; the lifecycle (await/accept/reject, YOLO/noProposals
27
+ // auto-resolvers, timeout) is engine-owned and invisible to the sibling.
28
+ // Lives in the result family ([[results]]) + the optional handler hook
29
+ // below, not as an injected capability.
30
+ // crossScheme — deferred hard. Zero working cross-scheme COPY/MOVE exist
31
+ // to derive the FROM-vs-TO shape from; the first real `known://x` →
32
+ // `file://x.json` forces it. Stubbed as a named placeholder.
33
+ export {};
34
+ //# sourceMappingURL=ctx.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ctx.js","sourceRoot":"","sources":["../src/ctx.ts"],"names":[],"mappings":"AAAA,yDAAyD;AACzD,0EAA0E;AAC1E,uBAAuB;AACvB,EAAE;AACF,4EAA4E;AAC5E,wEAAwE;AACxE,2EAA2E;AAC3E,yEAAyE;AACzE,yCAAyC;AACzC,EAAE;AACF,uEAAuE;AACvE,6EAA6E;AAC7E,yEAAyE;AACzE,kEAAkE;AAClE,qEAAqE;AACrE,EAAE;AACF,iEAAiE;AACjE,wEAAwE;AACxE,4DAA4D;AAC5D,sEAAsE;AACtE,0EAA0E;AAC1E,sCAAsC;AACtC,EAAE;AACF,mBAAmB;AACnB,0EAA0E;AAC1E,6EAA6E;AAC7E,6EAA6E;AAC7E,2EAA2E;AAC3E,4CAA4C;AAC5C,2EAA2E;AAC3E,wEAAwE;AACxE,iEAAiE"}
package/dist/index.d.ts CHANGED
@@ -9,4 +9,5 @@ export { matchAgainstContent } from "./matcher.ts";
9
9
  export type { MatchResult } from "./matcher.ts";
10
10
  export { isEntryResult, isErrorStatus, isPassthroughResult, isProposalResult, logCoordinate, schemeError, } from "./results.ts";
11
11
  export type { EntryResult, PassthroughResult, ProposalResult, SchemeResult, SchemeResultBase, TelemetryEvent, } from "./results.ts";
12
+ export type { ChannelCaps, ChannelState, CrossSchemeCaps, EntryCaps, EntryData, NotifyCaps, ProposalAware, SchemeCtx, SubscriptionCaps, SubscriptionHandle, TagCaps, VisibilityCaps, } from "./ctx.ts";
12
13
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,YAAY,EACR,SAAS,EACT,kBAAkB,EAClB,cAAc,EACd,UAAU,GACb,MAAM,YAAY,CAAC;AACpB,OAAO,EAAE,kBAAkB,EAAE,MAAM,YAAY,CAAC;AAEhD,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAErD,OAAO,EACH,gBAAgB,EAChB,cAAc,EACd,uBAAuB,EACvB,yBAAyB,EACzB,uBAAuB,GAC1B,MAAM,sBAAsB,CAAC;AAE9B,OAAO,EACH,iBAAiB,EACjB,mBAAmB,EACnB,cAAc,EACd,UAAU,EACV,aAAa,GAChB,MAAM,kBAAkB,CAAC;AAC1B,YAAY,EAAE,UAAU,IAAI,cAAc,EAAE,eAAe,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAEnG,OAAO,EAAE,oBAAoB,EAAE,MAAM,oBAAoB,CAAC;AAE1D,OAAO,EAAE,mBAAmB,EAAE,MAAM,cAAc,CAAC;AACnD,YAAY,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAEhD,OAAO,EACH,aAAa,EACb,aAAa,EACb,mBAAmB,EACnB,gBAAgB,EAChB,aAAa,EACb,WAAW,GACd,MAAM,cAAc,CAAC;AACtB,YAAY,EACR,WAAW,EACX,iBAAiB,EACjB,cAAc,EACd,YAAY,EACZ,gBAAgB,EAChB,cAAc,GACjB,MAAM,cAAc,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,YAAY,EACR,SAAS,EACT,kBAAkB,EAClB,cAAc,EACd,UAAU,GACb,MAAM,YAAY,CAAC;AACpB,OAAO,EAAE,kBAAkB,EAAE,MAAM,YAAY,CAAC;AAEhD,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAErD,OAAO,EACH,gBAAgB,EAChB,cAAc,EACd,uBAAuB,EACvB,yBAAyB,EACzB,uBAAuB,GAC1B,MAAM,sBAAsB,CAAC;AAE9B,OAAO,EACH,iBAAiB,EACjB,mBAAmB,EACnB,cAAc,EACd,UAAU,EACV,aAAa,GAChB,MAAM,kBAAkB,CAAC;AAC1B,YAAY,EAAE,UAAU,IAAI,cAAc,EAAE,eAAe,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAEnG,OAAO,EAAE,oBAAoB,EAAE,MAAM,oBAAoB,CAAC;AAE1D,OAAO,EAAE,mBAAmB,EAAE,MAAM,cAAc,CAAC;AACnD,YAAY,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAEhD,OAAO,EACH,aAAa,EACb,aAAa,EACb,mBAAmB,EACnB,gBAAgB,EAChB,aAAa,EACb,WAAW,GACd,MAAM,cAAc,CAAC;AACtB,YAAY,EACR,WAAW,EACX,iBAAiB,EACjB,cAAc,EACd,YAAY,EACZ,gBAAgB,EAChB,cAAc,GACjB,MAAM,cAAc,CAAC;AAItB,YAAY,EACR,WAAW,EACX,YAAY,EACZ,eAAe,EACf,SAAS,EACT,SAAS,EACT,UAAU,EACV,aAAa,EACb,SAAS,EACT,gBAAgB,EAChB,kBAAkB,EAClB,OAAO,EACP,cAAc,GACjB,MAAM,UAAU,CAAC"}
package/dist/results.d.ts CHANGED
@@ -1,8 +1,4 @@
1
- import type { PlurnkParseError } from "@plurnk/plurnk-grammar";
2
- type TelemetryEvent = ReturnType<PlurnkParseError["toTelemetryEvent"]>;
3
- type LogCoordinate = Extract<NonNullable<TelemetryEvent["position"]>, {
4
- type: "log-coordinate";
5
- }>;
1
+ import type { LogCoordinate, TelemetryEvent } from "@plurnk/plurnk-grammar";
6
2
  export type { TelemetryEvent };
7
3
  export interface SchemeResultBase {
8
4
  readonly status: number;
@@ -1 +1 @@
1
- {"version":3,"file":"results.d.ts","sourceRoot":"","sources":["../src/results.ts"],"names":[],"mappings":"AA2BA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAE/D,KAAK,cAAc,GAAG,UAAU,CAAC,gBAAgB,CAAC,kBAAkB,CAAC,CAAC,CAAC;AAIvE,KAAK,aAAa,GAAG,OAAO,CAAC,WAAW,CAAC,cAAc,CAAC,UAAU,CAAC,CAAC,EAAE;IAAE,IAAI,EAAE,gBAAgB,CAAA;CAAE,CAAC,CAAC;AAElG,YAAY,EAAE,cAAc,EAAE,CAAC;AAE/B,MAAM,WAAW,gBAAgB;IAC7B,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,KAAK,CAAC,EAAE,cAAc,CAAC;CACnC;AAED,MAAM,WAAW,WAAY,SAAQ,gBAAgB;IACjD,QAAQ,CAAC,KAAK,EAAE,OAAO,CAAC;IACxB,QAAQ,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;IAChC,QAAQ,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;IAChC,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACjC,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAClC,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACnC,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACjC,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC;CAC5B;AAED,MAAM,WAAW,cAAe,SAAQ,gBAAgB;IACpD,QAAQ,CAAC,KAAK,EAAE,UAAU,CAAC;IAC3B,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC;CAC1B;AAED,MAAM,WAAW,iBAAkB,SAAQ,gBAAgB;IACvD,QAAQ,CAAC,KAAK,EAAE,aAAa,CAAC;IAC9B,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACjC,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAClC,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACnC,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACjC,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC;CAC5B;AAED,MAAM,MAAM,YAAY,GAAG,WAAW,GAAG,cAAc,GAAG,iBAAiB,CAAC;AAE5E,eAAO,MAAM,aAAa,GAAI,QAAQ,YAAY,KAAG,MAAM,IAAI,WAAuC,CAAC;AACvG,eAAO,MAAM,gBAAgB,GAAI,QAAQ,YAAY,KAAG,MAAM,IAAI,cAA6C,CAAC;AAChH,eAAO,MAAM,mBAAmB,GAAI,QAAQ,YAAY,KAAG,MAAM,IAAI,iBAAmD,CAAC;AAIzH,eAAO,MAAM,aAAa,GAAI,QAAQ,MAAM,KAAG,OAAwB,CAAC;AAMxE,eAAO,MAAM,WAAW,GACpB,QAAQ,MAAM,EACd,MAAM,MAAM,EACZ,UAAU,MAAM,GAAG,IAAI,EACvB,WAAW,cAAc,CAAC,UAAU,CAAC,KACtC,cAKD,CAAC;AAMH,eAAO,MAAM,aAAa,GAAI,YAAY,MAAM,EAAE,KAAK,MAAM,KAAG,aAI9D,CAAC"}
1
+ {"version":3,"file":"results.d.ts","sourceRoot":"","sources":["../src/results.ts"],"names":[],"mappings":"AAwBA,OAAO,KAAK,EAAE,aAAa,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AAE5E,YAAY,EAAE,cAAc,EAAE,CAAC;AAE/B,MAAM,WAAW,gBAAgB;IAC7B,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,KAAK,CAAC,EAAE,cAAc,CAAC;CACnC;AAED,MAAM,WAAW,WAAY,SAAQ,gBAAgB;IACjD,QAAQ,CAAC,KAAK,EAAE,OAAO,CAAC;IACxB,QAAQ,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;IAChC,QAAQ,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;IAChC,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACjC,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAClC,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACnC,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACjC,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC;CAC5B;AAED,MAAM,WAAW,cAAe,SAAQ,gBAAgB;IACpD,QAAQ,CAAC,KAAK,EAAE,UAAU,CAAC;IAC3B,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC;CAC1B;AAED,MAAM,WAAW,iBAAkB,SAAQ,gBAAgB;IACvD,QAAQ,CAAC,KAAK,EAAE,aAAa,CAAC;IAC9B,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACjC,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAClC,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACnC,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACjC,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC;CAC5B;AAED,MAAM,MAAM,YAAY,GAAG,WAAW,GAAG,cAAc,GAAG,iBAAiB,CAAC;AAE5E,eAAO,MAAM,aAAa,GAAI,QAAQ,YAAY,KAAG,MAAM,IAAI,WAAuC,CAAC;AACvG,eAAO,MAAM,gBAAgB,GAAI,QAAQ,YAAY,KAAG,MAAM,IAAI,cAA6C,CAAC;AAChH,eAAO,MAAM,mBAAmB,GAAI,QAAQ,YAAY,KAAG,MAAM,IAAI,iBAAmD,CAAC;AAIzH,eAAO,MAAM,aAAa,GAAI,QAAQ,MAAM,KAAG,OAAwB,CAAC;AAMxE,eAAO,MAAM,WAAW,GACpB,QAAQ,MAAM,EACd,MAAM,MAAM,EACZ,UAAU,MAAM,GAAG,IAAI,EACvB,WAAW,cAAc,CAAC,UAAU,CAAC,KACtC,cAKD,CAAC;AAMH,eAAO,MAAM,aAAa,GAAI,YAAY,MAAM,EAAE,KAAK,MAAM,KAAG,aAI9D,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"results.js","sourceRoot":"","sources":["../src/results.ts"],"names":[],"mappings":"AAAA,2EAA2E;AAC3E,yEAAyE;AACzE,4EAA4E;AAC5E,wCAAwC;AACxC,EAAE;AACF,2EAA2E;AAC3E,uEAAuE;AACvE,0EAA0E;AAC1E,4EAA4E;AAC5E,2EAA2E;AAC3E,gCAAgC;AAChC,EAAE;AACF,sCAAsC;AACtC,+EAA+E;AAC/E,gEAAgE;AAChE,gFAAgF;AAChF,EAAE;AACF,4EAA4E;AAC5E,4DAA4D;AAC5D,8CAA8C;AAoD9C,MAAM,CAAC,MAAM,aAAa,GAAG,CAAC,MAAoB,EAAyB,EAAE,CAAC,MAAM,CAAC,KAAK,KAAK,OAAO,CAAC;AACvG,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAAC,MAAoB,EAA4B,EAAE,CAAC,MAAM,CAAC,KAAK,KAAK,UAAU,CAAC;AAChH,MAAM,CAAC,MAAM,mBAAmB,GAAG,CAAC,MAAoB,EAA+B,EAAE,CAAC,MAAM,CAAC,KAAK,KAAK,aAAa,CAAC;AAEzH,0EAA0E;AAC1E,8DAA8D;AAC9D,MAAM,CAAC,MAAM,aAAa,GAAG,CAAC,MAAc,EAAW,EAAE,CAAC,MAAM,IAAI,GAAG,CAAC;AAExE,yEAAyE;AACzE,yEAAyE;AACzE,4EAA4E;AAC5E,wDAAwD;AACxD,MAAM,CAAC,MAAM,WAAW,GAAG,CACvB,MAAc,EACd,IAAY,EACZ,OAAuB,EACvB,QAAqC,EACvB,EAAE,CAAC,CAAC;IAClB,MAAM,EAAE,UAAU,MAAM,EAAE;IAC1B,IAAI;IACJ,GAAG,CAAC,OAAO,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,CAAC;IAC7C,GAAG,CAAC,QAAQ,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,CAAC;CAClD,CAAC,CAAC;AAEH,6EAA6E;AAC7E,wEAAwE;AACxE,yEAAyE;AACzE,mDAAmD;AACnD,MAAM,CAAC,MAAM,aAAa,GAAG,CAAC,UAAkB,EAAE,EAAW,EAAiB,EAAE,CAAC,CAAC;IAC9E,IAAI,EAAE,gBAAgB;IACtB,UAAU;IACV,GAAG,CAAC,EAAE,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC;CACtC,CAAC,CAAC"}
1
+ {"version":3,"file":"results.js","sourceRoot":"","sources":["../src/results.ts"],"names":[],"mappings":"AAAA,2EAA2E;AAC3E,yEAAyE;AACzE,4EAA4E;AAC5E,wCAAwC;AACxC,EAAE;AACF,2EAA2E;AAC3E,uEAAuE;AACvE,0EAA0E;AAC1E,4EAA4E;AAC5E,2EAA2E;AAC3E,gCAAgC;AAChC,EAAE;AACF,sCAAsC;AACtC,+EAA+E;AAC/E,gEAAgE;AAChE,gFAAgF;AAChF,EAAE;AACF,4EAA4E;AAC5E,4DAA4D;AAC5D,8CAA8C;AA2C9C,MAAM,CAAC,MAAM,aAAa,GAAG,CAAC,MAAoB,EAAyB,EAAE,CAAC,MAAM,CAAC,KAAK,KAAK,OAAO,CAAC;AACvG,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAAC,MAAoB,EAA4B,EAAE,CAAC,MAAM,CAAC,KAAK,KAAK,UAAU,CAAC;AAChH,MAAM,CAAC,MAAM,mBAAmB,GAAG,CAAC,MAAoB,EAA+B,EAAE,CAAC,MAAM,CAAC,KAAK,KAAK,aAAa,CAAC;AAEzH,0EAA0E;AAC1E,8DAA8D;AAC9D,MAAM,CAAC,MAAM,aAAa,GAAG,CAAC,MAAc,EAAW,EAAE,CAAC,MAAM,IAAI,GAAG,CAAC;AAExE,yEAAyE;AACzE,yEAAyE;AACzE,4EAA4E;AAC5E,wDAAwD;AACxD,MAAM,CAAC,MAAM,WAAW,GAAG,CACvB,MAAc,EACd,IAAY,EACZ,OAAuB,EACvB,QAAqC,EACvB,EAAE,CAAC,CAAC;IAClB,MAAM,EAAE,UAAU,MAAM,EAAE;IAC1B,IAAI;IACJ,GAAG,CAAC,OAAO,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,CAAC;IAC7C,GAAG,CAAC,QAAQ,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,CAAC;CAClD,CAAC,CAAC;AAEH,6EAA6E;AAC7E,wEAAwE;AACxE,yEAAyE;AACzE,mDAAmD;AACnD,MAAM,CAAC,MAAM,aAAa,GAAG,CAAC,UAAkB,EAAE,EAAW,EAAiB,EAAE,CAAC,CAAC;IAC9E,IAAI,EAAE,gBAAgB;IACtB,UAAU;IACV,GAAG,CAAC,EAAE,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC;CACtC,CAAC,CAAC"}
package/package.json CHANGED
@@ -1,8 +1,12 @@
1
1
  {
2
2
  "name": "@plurnk/plurnk-schemes",
3
- "version": "0.1.5",
3
+ "version": "0.3.0",
4
4
  "description": "Framework + contract for the @plurnk/plurnk-schemes-* URI handler family.",
5
- "keywords": ["plurnk", "scheme", "uri"],
5
+ "keywords": [
6
+ "plurnk",
7
+ "scheme",
8
+ "uri"
9
+ ],
6
10
  "homepage": "https://github.com/plurnk/plurnk-schemes#readme",
7
11
  "bugs": {
8
12
  "url": "https://github.com/plurnk/plurnk-schemes/issues"
@@ -41,12 +45,12 @@
41
45
  "prepare": "npm run build"
42
46
  },
43
47
  "peerDependencies": {
44
- "@plurnk/plurnk-grammar": "0.17.1",
45
- "@plurnk/plurnk-mimetypes": "0.7.4"
48
+ "@plurnk/plurnk-grammar": "0.21.0",
49
+ "@plurnk/plurnk-mimetypes": "0.14.0"
46
50
  },
47
51
  "devDependencies": {
48
- "@plurnk/plurnk-grammar": "0.17.1",
49
- "@plurnk/plurnk-mimetypes": "0.7.4",
52
+ "@plurnk/plurnk-grammar": "0.21.0",
53
+ "@plurnk/plurnk-mimetypes": "0.14.0",
50
54
  "@types/node": "^25.8.0",
51
55
  "typescript": "^6.0.3"
52
56
  }