@kehto/services 0.17.0 → 0.18.1

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
@@ -17,9 +17,9 @@ pnpm add @kehto/services
17
17
  ## Published Napplet Compatibility
18
18
 
19
19
  `@kehto/services` publishes against `@napplet/core` and `@napplet/nap`
20
- `>=0.29.0 <0.30.0`. The exact installed contracts are core/nap 0.29.0 from
21
- source `dd7b3a728eb9c838b7218fcec7bb7bb00e7cc88b` and release
22
- `60889f1c2476e063500c7ab6624af6abe0dbcbe5`.
20
+ `>=0.31.0 <0.32.0`. The exact installed contracts are core/nap 0.31.0 from
21
+ source `7b675622e13870628ce174833d7b2a33cf32a0ab` and release
22
+ `03ad65b66413e5798536ef48695ffc4c2508f2c3`.
23
23
 
24
24
  ## Overview
25
25
 
@@ -49,36 +49,35 @@ Current draft posture:
49
49
 
50
50
  ## NAP-INTENT manifest resolver
51
51
 
52
- Phase 104 follows the draft [NAP-INTENT PR #91 at
53
- `a718915ddefa2f03a0126579601f59d8bd86f7c4`](https://github.com/napplet/naps/pull/91).
52
+ Kehto follows merged [NAP-INTENT at
53
+ `5ac0490461ca6fec2f0d2e45b4835cf9bc08de24`](https://github.com/napplet/naps/blob/5ac0490461ca6fec2f0d2e45b4835cf9bc08de24/naps/NAP-INTENT.md).
54
54
  Callers invoke a stable, queryless `napplet:<archetype>/<action>` convention.
55
- Installed verified manifest tags produce exact `{ convention, eventKinds? }`
56
- contracts; numbered protocol names and payload inspection do not select a
57
- handler.
55
+ Installed verified manifest tags produce exact `{ slug, convention }`
56
+ declarations; numbered protocol names, trailing metadata, and payload inspection
57
+ do not select a handler.
58
58
 
59
59
  - `manifestToIntentCatalogEntry()` converts resolved manifest
60
- `{ dTag, title?, archetypes: [{ slug, convention, eventKinds? }] }` data into
61
- exact candidates with `actions`, `conventions`, and `contracts`.
60
+ `{ dTag, title?, archetypes: [{ slug, convention }] }` data into exact
61
+ candidates with `actions` and `conventions`.
62
62
  - `createCatalogIntentResolver()` filters by exact convention, applies the
63
63
  user-owned default/chooser/explicit-authorization policy, and asks an
64
- `IntentTargetController` to retain immutable delivery responsibility.
64
+ `IntentTargetController` to create/focus a target and dispatch the selected
65
+ convention.
65
66
  - `createIntentService()` validates source envelopes, uses the runtime-attested
66
- sender, returns one immediate acceptance or rejection, starts an accepted
67
- retained task only after the source result, and broadcasts catalog changes
68
- through recipient-policy-aware runtime sends.
67
+ sender, returns one final canonical `IntentResult`, and broadcasts catalog
68
+ changes through recipient-policy-aware runtime sends.
69
69
 
70
- `ok: true` means responsibility was retained, not that the target handled the
71
- intent. Once the target is ready it receives one no-ID `intent.deliver` with
72
- `sender`, `archetype`, `action`, `convention`, and optional opaque `payload`.
73
- Reuse, target windows, retries, replacement, persistence, and terminal reasons
74
- remain private controller state and never appear in the result or delivery.
70
+ `ok: true` means the selected target was ready and the convention was dispatched.
71
+ The result includes `handled`, `handler`, `windowId`, and `convention`. The
72
+ target receives the convention and opaque payload through one runtime-attested
73
+ `inc.event`; there is no separate `intent.deliver` lifecycle.
75
74
 
76
75
  Paja currently exposes only an exact-contract development simulator, and the
77
76
  playground currently exposes only a verified-manifest catalog builder. Phase
78
77
  105 completed released `@napplet/*` package adoption plus the persistent live
79
78
  catalog/controller and feed-to-profile flow. Its public `Intent*` types are
80
79
  canonical releases from `@napplet/core` / `@napplet/nap`, not a local mirror;
81
- successful acceptance retains host delivery responsibility before target start.
80
+ successful results report completed target dispatch.
82
81
 
83
82
  ## Quick Start
84
83
 
@@ -573,7 +572,7 @@ complete normal result without `error`: this explicit policy reconciles the
573
572
  draft error-only example without a mixed theme/error extension.
574
573
 
575
574
  ### Types
576
- `AudioSource`, `AudioServiceOptions`, `Notification`, `NotificationServiceOptions`, `IdentityServiceOptions`, `RelayPoolServiceOptions`, `CacheServiceOptions`, `CoordinatedRelayOptions`, `KeysServiceOptions`, `MediaServiceOptions`, `NotifyServiceOptions`, `ThemeServiceOptions`, `ThemeService`, `IntentRequest`, `IntentResult`, `IntentDelivery`, `IntentContract`, `IntentCandidate`, `IntentAvailability`, `IntentResolver`, `IntentTargetController`, `BleServiceOptions`, `BleServiceContext`, `WebrtcServiceOptions`, `WebrtcServiceContext`, `DmServiceOptions`, `DmAdapter`, `DmRelayPool`, `Nip17DmAdapterOptions`, `NdrDmAdapterOptions`, `CordnDmAdapterOptions`.
575
+ `AudioSource`, `AudioServiceOptions`, `Notification`, `NotificationServiceOptions`, `IdentityServiceOptions`, `RelayPoolServiceOptions`, `CacheServiceOptions`, `CoordinatedRelayOptions`, `KeysServiceOptions`, `MediaServiceOptions`, `NotifyServiceOptions`, `ThemeServiceOptions`, `ThemeService`, `IntentOpenOptions`, `IntentRequest`, `IntentResult`, `IntentCandidate`, `IntentAvailability`, `IntentResolver`, `IntentTargetController`, `IntentDispatchParams`, `IntentTargetDispatch`, `BleServiceOptions`, `BleServiceContext`, `WebrtcServiceOptions`, `WebrtcServiceContext`, `DmServiceOptions`, `DmAdapter`, `DmRelayPool`, `Nip17DmAdapterOptions`, `NdrDmAdapterOptions`, `CordnDmAdapterOptions`.
577
576
 
578
577
  ## API Reference
579
578
 
package/dist/index.d.ts CHANGED
@@ -1,7 +1,7 @@
1
1
  import { ServiceHandler, Signer, RelayEventResult } from '@kehto/runtime';
2
2
  import { IdentityGetProfileMessage, IdentityGetProfileResultMessage, IdentityGetFollowsMessage, IdentityGetFollowsResultMessage, IdentityGetListMessage, IdentityGetListResultMessage, IdentityGetZapsMessage, IdentityGetZapsResultMessage, IdentityGetMutesMessage, IdentityGetMutesResultMessage, IdentityGetBlockedMessage, IdentityGetBlockedResultMessage, IdentityGetBadgesMessage, IdentityGetBadgesResultMessage } from '@napplet/nap/identity/types';
3
- import { NostrFilter, NostrEvent, EventTemplate, IntentRequest, IntentRejectedResult, IntentAcceptedResult, IntentAvailability, IntentContract, IntentDelivery, IntentBehavior, IntentCandidate, LinkOpenOptions, LinkOpenResult, ListSupport, ListRef, ListItem, ListOptions, ListMutationResult, SerialOpenRequest, SerialOpenResult, BleEvent, BleOpenRequest, BleOpenResult, BleService, BleAttribute, BleWriteOptions, WebrtcEvent, WebrtcOpenRequest, WebrtcOpenResult, CommonProfileTarget, CommonProfileResult, CommonFollowsResult, CommonActionResult, CommonReaction, CommonReportTarget, CommonReportReason } from '@napplet/core';
4
- export { IntentAcceptedResult, IntentAvailability, IntentBehavior, IntentCandidate, IntentContract, IntentDelivery, IntentHandlerPreference, IntentInvokeOptions, IntentRejectedResult, IntentRequest, IntentResult } from '@napplet/core';
3
+ import { NostrFilter, NostrEvent, EventTemplate, IntentRequest, IntentResult, IntentAvailability, IntentBehavior, IntentCandidate, LinkOpenOptions, LinkOpenResult, ListSupport, ListRef, ListItem, ListOptions, ListMutationResult, SerialOpenRequest, SerialOpenResult, BleEvent, BleOpenRequest, BleOpenResult, BleService, BleAttribute, BleWriteOptions, WebrtcEvent, WebrtcOpenRequest, WebrtcOpenResult, CommonProfileTarget, CommonProfileResult, CommonFollowsResult, CommonActionResult, CommonReaction, CommonReportTarget, CommonReportReason } from '@napplet/core';
4
+ export { IntentAvailability, IntentBehavior, IntentCandidate, IntentHandlerPreference, IntentOpenOptions, IntentRequest, IntentResult } from '@napplet/core';
5
5
  import { MediaMetadata, MediaAction } from '@napplet/nap/media/types';
6
6
  export { MediaAction } from '@napplet/nap/media/types';
7
7
  import { NotifySendMessage } from '@napplet/nap/notify/types';
@@ -2073,7 +2073,7 @@ declare function createHttpUploader(options: HttpUploaderOptions): Uploader;
2073
2073
  *
2074
2074
  * Shell-side handler for the NAP-INTENT wire protocol. It is a pure envelope
2075
2075
  * router: it validates `intent.*` envelopes, delegates archetype resolution,
2076
- * default handling and retained target delivery to an injected
2076
+ * default handling and target dispatch to an injected
2077
2077
  * {@link IntentResolver}, then posts correlated result and push messages back
2078
2078
  * to the napplet.
2079
2079
  *
@@ -2087,7 +2087,7 @@ declare function createHttpUploader(options: HttpUploaderOptions): Uploader;
2087
2087
  * intent.handlers.result, intent.changed
2088
2088
  *
2089
2089
  * The shell owns archetype→handler resolution, the user's default-handler
2090
- * preference, chooser, and retained target policy behind the
2090
+ * preference, chooser, and target lifecycle policy behind the
2091
2091
  * {@link IntentResolver}. This service only marshals the wire protocol and
2092
2092
  * fans `intent.changed` pushes out to eligible napplets.
2093
2093
  *
@@ -2107,50 +2107,21 @@ interface IntentResolverContext {
2107
2107
  /** Runtime-attested dTag of the napplet that issued the request. */
2108
2108
  sender: string;
2109
2109
  }
2110
- /**
2111
- * Opaque runtime-owned delivery responsibility retained before acceptance.
2112
- *
2113
- * Starting the task may wait for target readiness and apply host retry,
2114
- * replacement, or terminal-failure policy. It never produces a second source
2115
- * result.
2116
- */
2117
- interface IntentRetainedDelivery {
2118
- /**
2119
- * Begin target lifecycle and eventual delivery policy.
2120
- *
2121
- * @returns Nothing, or a promise settled when controller policy completes.
2122
- */
2123
- start(): void | Promise<void>;
2124
- }
2125
- /** A resolver rejection before delivery responsibility was retained. */
2126
- interface IntentRejectedResolverOutcome {
2127
- /** Exact canonical pre-acceptance rejection. */
2128
- result: IntentRejectedResult;
2129
- }
2130
- /** A resolver acceptance backed by already-retained delivery responsibility. */
2131
- interface IntentAcceptedResolverOutcome {
2132
- /** Exact canonical acceptance result. */
2133
- result: IntentAcceptedResult;
2134
- /** Opaque task that the service starts only after sending the source result. */
2135
- retained: IntentRetainedDelivery;
2136
- }
2137
- /** Pre-acceptance rejection or accepted retained-delivery responsibility. */
2138
- type IntentResolverOutcome = IntentRejectedResolverOutcome | IntentAcceptedResolverOutcome;
2139
2110
  /**
2140
2111
  * Abstract intent resolver. Implementors own the installed-napplet catalog,
2141
2112
  * archetype→handler resolution, the user's default-handler preference, the
2142
- * chooser and retained target delivery policy. The
2113
+ * chooser and target lifecycle/delivery policy. The
2143
2114
  * service translates wire envelopes into these calls and back.
2144
2115
  */
2145
2116
  interface IntentResolver {
2146
2117
  /**
2147
- * Resolve the request and retain target delivery responsibility.
2118
+ * Resolve and dispatch the request.
2148
2119
  *
2149
2120
  * @param request - Validated normalized intent request.
2150
2121
  * @param context - Runtime-attested source identity.
2151
- * @returns A structured rejection, or an acceptance plus an unstarted task.
2122
+ * @returns The canonical structured dispatch result.
2152
2123
  */
2153
- invoke(request: IntentRequest, context: IntentResolverContext): IntentResolverOutcome | Promise<IntentResolverOutcome>;
2124
+ invoke(request: IntentRequest, context: IntentResolverContext): IntentResult | Promise<IntentResult>;
2154
2125
  /** Report whether the runtime can currently satisfy `archetype`, and how. */
2155
2126
  available(archetype: string): IntentAvailability | Promise<IntentAvailability>;
2156
2127
  /** Report availability for every archetype the runtime can currently satisfy. */
@@ -2180,13 +2151,12 @@ declare function createIntentService(options: IntentServiceOptions): ServiceHand
2180
2151
  /**
2181
2152
  * catalog-intent-resolver.ts — NAP-INTENT concrete {@link IntentResolver}.
2182
2153
  *
2183
- * A reference resolver backed by installed, verified NIP-5A manifest contracts
2184
- * plus host-supplied user policy. Contract compatibility is exact complete
2185
- * convention equality. Catalog order, payload contents, quick action indexes,
2186
- * and event-kind metadata never select a handler.
2154
+ * A reference resolver backed by installed, verified NIP-5A manifest
2155
+ * archetype/convention tags plus host-supplied user policy. Catalog order and
2156
+ * payload contents never select a handler.
2187
2157
  *
2188
2158
  * Selection policy:
2189
- * 1. Filter installed candidates by exact manifest contract.
2159
+ * 1. Filter installed candidates by declared action and convention support.
2190
2160
  * 2. Require positive host authorization for an explicit handler dTag.
2191
2161
  * 3. Otherwise use an explicit chooser, a compatible user default, the sole
2192
2162
  * compatible candidate, or an injected chooser.
@@ -2202,10 +2172,8 @@ declare function createIntentService(options: IntentServiceOptions): ServiceHand
2202
2172
  interface IntentArchetypeSupport {
2203
2173
  /** Verbs derived from this napplet's accepted conventions. */
2204
2174
  actions: string[];
2205
- /** Stable queryless convention identities derived from {@link contracts}. */
2175
+ /** Stable queryless convention identities declared by the manifest. */
2206
2176
  conventions: string[];
2207
- /** Authoritative ordered contracts parsed from the installed manifest. */
2208
- contracts: IntentContract[];
2209
2177
  }
2210
2178
  /**
2211
2179
  * One installed napplet's intent surface, derived from its signed NIP-5A
@@ -2220,30 +2188,44 @@ interface IntentCatalogEntry {
2220
2188
  /** Archetype slug to exact manifest-derived support. */
2221
2189
  archetypes: Record<string, IntentArchetypeSupport>;
2222
2190
  }
2223
- /** Exact carrier-neutral values retained for one selected intent target. */
2224
- interface IntentRetentionParams {
2191
+ /** Exact values dispatched to one selected intent target. */
2192
+ interface IntentDispatchParams {
2225
2193
  /** Selected target napplet dTag. */
2226
2194
  readonly handler: string;
2227
- /** Immutable canonical delivery retained independently of the source. */
2228
- readonly delivery: Readonly<IntentDelivery>;
2229
- /** Copied non-authoritative target lifecycle hints. */
2195
+ /** Runtime-attested source napplet dTag. */
2196
+ readonly sender: string;
2197
+ /** Requested target archetype. */
2198
+ readonly archetype: string;
2199
+ /** Requested action. */
2200
+ readonly action: string;
2201
+ /** Selected stable convention used to deliver the payload. */
2202
+ readonly convention: string;
2203
+ /** Opaque convention payload. */
2204
+ readonly payload?: unknown;
2205
+ /** Copied target lifecycle hints. */
2230
2206
  readonly behavior?: Readonly<IntentBehavior>;
2231
2207
  }
2232
- /** Host controller that retains source-independent target delivery policy. */
2208
+ /** Result returned by a host after creating/focusing and dispatching to a target. */
2209
+ interface IntentTargetDispatch {
2210
+ /** Shell-assigned target window identifier. */
2211
+ readonly windowId: string;
2212
+ }
2213
+ /** Host controller that owns target lifecycle and convention delivery policy. */
2233
2214
  interface IntentTargetController {
2234
2215
  /**
2235
- * Retain delivery responsibility without starting target policy.
2216
+ * Create or focus the selected target, wait until it can receive the
2217
+ * convention, then enqueue delivery through the host's ordinary carrier.
2236
2218
  *
2237
- * @param params - Immutable selected target and canonical delivery values.
2238
- * @returns An opaque unstarted delivery task.
2219
+ * @param params - Immutable selected target and dispatch values.
2220
+ * @returns The created/focused target identity.
2239
2221
  */
2240
- retain(params: IntentRetentionParams): IntentRetainedDelivery | Promise<IntentRetainedDelivery>;
2222
+ dispatch(params: IntentDispatchParams): IntentTargetDispatch | Promise<IntentTargetDispatch>;
2241
2223
  }
2242
2224
  /** Options for {@link createCatalogIntentResolver}. */
2243
2225
  interface CatalogIntentResolverOptions {
2244
2226
  /** Return the installed-napplet catalog sourced from signed manifests. */
2245
2227
  loadCatalog(): IntentCatalogEntry[] | Promise<IntentCatalogEntry[]>;
2246
- /** Target controller that retains responsibility before resolver acceptance. */
2228
+ /** Target controller that creates/readies the selected target and dispatches its convention. */
2247
2229
  targets: IntentTargetController;
2248
2230
  /**
2249
2231
  * Return the user's default handler dTag for an archetype.
@@ -2297,7 +2279,7 @@ interface CatalogIntentResolver extends IntentResolver {
2297
2279
  * ```ts
2298
2280
  * const resolver = createCatalogIntentResolver({
2299
2281
  * loadCatalog: () => installedNapplets,
2300
- * targets: { retain: (params) => retainTargetDelivery(params) },
2282
+ * targets: { dispatch: (params) => openAndDispatch(params) },
2301
2283
  * getDefaultHandler: (archetype) => userDefaults[archetype],
2302
2284
  * });
2303
2285
  * ```
@@ -2337,17 +2319,14 @@ interface ManifestArchetypeInput {
2337
2319
  archetypes: Array<{
2338
2320
  slug: string;
2339
2321
  convention: string;
2340
- eventKinds?: number[];
2341
2322
  }>;
2342
2323
  }
2343
2324
  /**
2344
2325
  * Map a resolved napplet manifest's archetype data into an
2345
2326
  * {@link IntentCatalogEntry}.
2346
2327
  *
2347
- * Each manifest tag remains one ordered contract. Repeated slugs group into one
2348
- * support record while repeated conventions remain distinct contracts; action
2349
- * and convention arrays are stable, deduplicated indexes derived from those
2350
- * contracts.
2328
+ * Repeated slugs group into one support record; action and convention arrays
2329
+ * remain stable and deduplicated.
2351
2330
  *
2352
2331
  * @param manifest - A resolved manifest's structural archetype data.
2353
2332
  * @returns The `IntentCatalogEntry` for `createCatalogIntentResolver`.
@@ -2363,7 +2342,6 @@ interface ManifestArchetypeInput {
2363
2342
  * // archetypes: { profile: {
2364
2343
  * // actions: ['open'],
2365
2344
  * // conventions: ['napplet:profile/open'],
2366
- * // contracts: [{ convention: 'napplet:profile/open' }],
2367
2345
  * // } } }
2368
2346
  * ```
2369
2347
  */
@@ -2874,4 +2852,4 @@ declare function createCordnRelayCoordinatorClient(options: CordnRelayCoordinato
2874
2852
  /** Create a Cordn/ContextVM-backed NAP-DM adapter. */
2875
2853
  declare function createCordnDmAdapter(options: CordnDmAdapterOptions): DmAdapter;
2876
2854
 
2877
- export { type BleServiceContext, type BleServiceOptions, type CacheServiceOptions, type CatalogIntentResolver, type CatalogIntentResolverOptions, type CommonServiceContext, type CommonServiceOptions, type ConfigSchemaValidation, type ConfigService, type ConfigServiceOptions, type CoordinatedRelayOptions, type CordnCodecResult, type CordnCoordinatorClient, type CordnCoordinatorSubscription, type CordnDmAdapterOptions, type CordnDmClient, type CordnGroupMessage, type CordnRelayCoordinatorOptions, type CountRequest, type CountResult, type CountServiceOptions, type DmAdapter, type DmConversation, type DmConversationPage, type DmConversationQuery, type DmHexPubkey, DmMemoryStore, type DmMessage, type DmMessagePage, type DmMessageQuery, type DmMessageStatus, type DmOk, type DmPeer, type DmRelayPool, type DmSendRequest, type DmSendResult, type DmService, type DmServiceOptions, type DmStatus, type DmSubscribeRequest, type DmSubscription, type DmTimestamp, type HostCacheBridge, type HostKeyEvent, type HostKeysBridge, type HostMediaBridge, type HttpUploaderOptions, type HttpUploaderRails, type IdentityServiceOptions, type IntentAcceptedResolverOutcome, type IntentArchetypeSupport, type IntentCatalogEntry, type IntentRejectedResolverOutcome, type IntentResolver, type IntentResolverContext, type IntentResolverOutcome, type IntentRetainedDelivery, type IntentRetentionParams, type IntentServiceOptions, type IntentTargetController, type KeysServiceOptions, type LinkOpenContext, type LinkServiceOptions, type ListsServiceContext, type ListsServiceOptions, type ManifestArchetypeInput, type MaybePromise, type MediaMetadataLike, type MediaPlaybackOwner, type MediaServiceOptions, type MediaSessionCreateOptions, type MediaSessionTarget, type MediaSourceRef, type NdrDmAdapterOptions, type NdrRelayTransport, type NdrRelayTransportOptions, type NdrRumorLike, type NdrRuntimeLike, type Nip17DmAdapterOptions, type NostrTag, type Notification, type NotificationServiceOptions, type NotifyServiceOptions, type OutboxEventOptions, type OutboxEventResult, type OutboxPublishOptions, type OutboxPublishResult, type OutboxQueryOptions, type OutboxQueryStream, type OutboxQueryStreamSink, type OutboxRelayPlan, type OutboxRelayPool, type OutboxResult, type OutboxRouter, type OutboxRouterSubscription, type OutboxServiceOptions, type OutboxSubscribeOptions, type OutboxSubscriptionSink, type OutboxTarget, type RailServerConfig, type RelayListEntry, type RelayPoolOutboxRouterOptions, type RelayPoolServiceOptions, type ResourceInfo, type ResourceInfoContext, type ResourceInfoProvider, type ResourceSchemeInfo, type ResourceService, type ResourceServiceOptions, type SerialServiceContext, type SerialServiceOptions, type SignEvent, type StreamingOutboxRouter, type ThemeService, type ThemeServiceOptions, type UploadDimensions, type UploadInfo, type UploadInfoContext, type UploadInfoProvider, type UploadRail, type UploadRailInfo, type UploadRequest, type UploadResult, type UploadServiceOptions, type UploadState, type UploadStatus, type Uploader, type UploaderContext, type WebrtcServiceContext, type WebrtcServiceOptions, createBleService, createBrowserMediaBridge, createCacheService, createCatalogIntentResolver, createCommonService, createConfigService, createCoordinatedRelay, createCordnDmAdapter, createCordnRelayCoordinatorClient, createCountService, createDmService, createHttpUploader, createIdentityService, createIntentService, createKeysService, createLinkService, createListsService, createMediaService, createNdrDmAdapter, createNdrRelayTransport, createNip17DmAdapter, createNotificationService, createNotifyService, createOutboxService, createRelayPoolOutboxRouter, createRelayPoolService, createResourceService, createSerialService, createThemeService, createUploadService, createWebrtcService, manifestToIntentCatalogEntry };
2855
+ export { type BleServiceContext, type BleServiceOptions, type CacheServiceOptions, type CatalogIntentResolver, type CatalogIntentResolverOptions, type CommonServiceContext, type CommonServiceOptions, type ConfigSchemaValidation, type ConfigService, type ConfigServiceOptions, type CoordinatedRelayOptions, type CordnCodecResult, type CordnCoordinatorClient, type CordnCoordinatorSubscription, type CordnDmAdapterOptions, type CordnDmClient, type CordnGroupMessage, type CordnRelayCoordinatorOptions, type CountRequest, type CountResult, type CountServiceOptions, type DmAdapter, type DmConversation, type DmConversationPage, type DmConversationQuery, type DmHexPubkey, DmMemoryStore, type DmMessage, type DmMessagePage, type DmMessageQuery, type DmMessageStatus, type DmOk, type DmPeer, type DmRelayPool, type DmSendRequest, type DmSendResult, type DmService, type DmServiceOptions, type DmStatus, type DmSubscribeRequest, type DmSubscription, type DmTimestamp, type HostCacheBridge, type HostKeyEvent, type HostKeysBridge, type HostMediaBridge, type HttpUploaderOptions, type HttpUploaderRails, type IdentityServiceOptions, type IntentArchetypeSupport, type IntentCatalogEntry, type IntentDispatchParams, type IntentResolver, type IntentResolverContext, type IntentServiceOptions, type IntentTargetController, type IntentTargetDispatch, type KeysServiceOptions, type LinkOpenContext, type LinkServiceOptions, type ListsServiceContext, type ListsServiceOptions, type ManifestArchetypeInput, type MaybePromise, type MediaMetadataLike, type MediaPlaybackOwner, type MediaServiceOptions, type MediaSessionCreateOptions, type MediaSessionTarget, type MediaSourceRef, type NdrDmAdapterOptions, type NdrRelayTransport, type NdrRelayTransportOptions, type NdrRumorLike, type NdrRuntimeLike, type Nip17DmAdapterOptions, type NostrTag, type Notification, type NotificationServiceOptions, type NotifyServiceOptions, type OutboxEventOptions, type OutboxEventResult, type OutboxPublishOptions, type OutboxPublishResult, type OutboxQueryOptions, type OutboxQueryStream, type OutboxQueryStreamSink, type OutboxRelayPlan, type OutboxRelayPool, type OutboxResult, type OutboxRouter, type OutboxRouterSubscription, type OutboxServiceOptions, type OutboxSubscribeOptions, type OutboxSubscriptionSink, type OutboxTarget, type RailServerConfig, type RelayListEntry, type RelayPoolOutboxRouterOptions, type RelayPoolServiceOptions, type ResourceInfo, type ResourceInfoContext, type ResourceInfoProvider, type ResourceSchemeInfo, type ResourceService, type ResourceServiceOptions, type SerialServiceContext, type SerialServiceOptions, type SignEvent, type StreamingOutboxRouter, type ThemeService, type ThemeServiceOptions, type UploadDimensions, type UploadInfo, type UploadInfoContext, type UploadInfoProvider, type UploadRail, type UploadRailInfo, type UploadRequest, type UploadResult, type UploadServiceOptions, type UploadState, type UploadStatus, type Uploader, type UploaderContext, type WebrtcServiceContext, type WebrtcServiceOptions, createBleService, createBrowserMediaBridge, createCacheService, createCatalogIntentResolver, createCommonService, createConfigService, createCoordinatedRelay, createCordnDmAdapter, createCordnRelayCoordinatorClient, createCountService, createDmService, createHttpUploader, createIdentityService, createIntentService, createKeysService, createLinkService, createListsService, createMediaService, createNdrDmAdapter, createNdrRelayTransport, createNip17DmAdapter, createNotificationService, createNotifyService, createOutboxService, createRelayPoolOutboxRouter, createRelayPoolService, createResourceService, createSerialService, createThemeService, createUploadService, createWebrtcService, manifestToIntentCatalogEntry };