@realitycollective/service-framework-client 1.0.0 → 1.0.1-preview.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/CHANGELOG.md ADDED
@@ -0,0 +1,51 @@
1
+ # Changelog
2
+
3
+ Change log for the Reality Collective Service Framework for TypeScript. All packages in this repository are versioned and released together; the version below is the one carried by the `v<version>` release tag.
4
+
5
+ The format follows [Keep a Changelog](https://keepachangelog.com/en/1.1.0/), and the project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). Preview builds are not listed separately. The entry for a version accumulates while its previews are published, and is dated when that version is released.
6
+
7
+ ## [1.0.1]
8
+
9
+ Packaging, tooling and documentation. No runtime behaviour changed, and no public API was added, removed or altered.
10
+
11
+ ### Added
12
+
13
+ - Updated documentation packs for all projects.
14
+ - Improved release scripting and validation to improve delivery coherance.
15
+ - `scripts/release.config.json` - names the core package and the publish order, so the release tooling is identical across every Reality Collective TypeScript repository.
16
+ - A deploy stage in CI for `runtime-examples/*`, which were never built by CI before.
17
+ - `.gitattributes`, pinning the repository to LF and marking lockfiles as generated.
18
+
19
+ ### Changed
20
+
21
+ - CI and deployment merged into one workflow. They previously ran concurrently and repeated the same install, build, typecheck and test on every pull request. The deploy jobs now consume the artifacts the build job already produced.
22
+ - CI runs on every pull request regardless of target branch, and reports through merge queues.
23
+ - Published sourcemaps embed their sources (`inlineSources`), so stepping into the framework works for consumers. Declaration maps are no longer emitted, because they can only resolve against a `src` directory that is not shipped. Each package is roughly 12% smaller as a result.
24
+
25
+ ### Fixed
26
+
27
+ - `@realitycollective/service-framework-iwsdk` could not be installed alongside `@iwsdk/core` 0.5.x. Its peer range was `>=0.4.0 <0.5.0`, which npm reports as `ERESOLVE` on a clean install and therefore on `npm ci`, regardless of the entry being optional. Consumers needed a local `overrides` block to install at all; that workaround can be deleted once this version is published.
28
+ - `runtime-examples/*` white-screened with `Cannot read properties of null (reading 'useMemo')`. The Vite aliases point into `../../packages`, so the framework's React binding resolved React from the repository root while the app used its own copy. Two React instances leave the hook dispatcher null. Both example configs now set `resolve.dedupe`.
29
+
30
+ ### Removed
31
+
32
+ - The `@iwsdk/core` peer dependency on `@realitycollective/service-framework-iwsdk`, rather than widening it to `<0.6.0`. The bridge never imports `@iwsdk/core`: the primitives it needs (`World`, `createSystem`, `VisibilityState.Visible` and the visibility signal) are typed structurally and passed in by the consumer, and those four contracts are identical across 0.4.x and 0.5.x. A range that constrains nothing while still being able to fail a consumer's install is a liability, so there is now no entry of any kind. The package is verified against IWSDK 0.4.x and 0.5.x, and its example remains engine-free because it mocks those primitives.
33
+ - Build output is no longer committed: 72 files under `packages/*/dist/` and 44 compiled `.js`, `.d.ts` and `.map` files that sat beside the sources in `packages/*/src/`. The test suite had been executing that committed JavaScript rather than the TypeScript, so coverage now measures `src/**/*.ts`.
34
+ - The generated `coverage/` report, which every test run rewrote with a new timestamp.
35
+
36
+ ## [1.0.0] - 2026-06-18
37
+
38
+ First release. Six packages, published together.
39
+
40
+ ### Added
41
+
42
+ - `@realitycollective/service-framework` - the core runtime: `ServiceManager` with dependency-ordered start and stop, `BaseService` and `BaseServiceModule`, type-safe resolution through `createServiceToken`, the scheduler channels, an event service for service-to-service messaging, profile-based configuration and environment description.
43
+ - `@realitycollective/service-framework-react` - `ServiceFrameworkProvider` plus the `useServiceManager`, `useService` and `useServices` hooks.
44
+ - `@realitycollective/service-framework-three` - `ThreeRenderLoopBridge`, connecting `renderer.setAnimationLoop()` to the `renderTick` channel. Accepts anything with `setAnimationLoop`, so a renderer or a test double both work.
45
+ - `@realitycollective/service-framework-client` - the React and three.js pieces wired together, so an app starts from a working runtime instead of assembling the scheduler and bridge by hand.
46
+ - `@realitycollective/service-framework-babylon` - Babylon.js bindings, connecting `engine.runRenderLoop()` to the same `renderTick` channel the three.js bridge uses. A service written against `BaseService<TConfig>` runs unchanged on either renderer.
47
+ - `@realitycollective/service-framework-iwsdk` - Meta IWSDK (WebXR) bindings. IWSDK owns its own render loop, so this package is a passive frame source: one system relays each frame to services and maps `visibilityState` onto focus and pause, so services pause when the headset comes off. Services depend only on `RuntimeAdapter`, never on `@iwsdk/core`.
48
+ - A worked example in every package's `Examples/` folder, and two runnable Vite apps in `runtime-examples/`.
49
+
50
+ [1.0.1]: https://github.com/realitycollective/com.realitycollective.service-framework.ts/compare/v1.0.0...HEAD
51
+ [1.0.0]: https://github.com/realitycollective/com.realitycollective.service-framework.ts/releases/tag/v1.0.0
package/README.md ADDED
@@ -0,0 +1,41 @@
1
+ # @realitycollective/service-framework-client
2
+
3
+ **A pre-wired React and three.js client** for the Reality Collective TypeScript Service Framework. The React bindings and the three.js render bridge are already connected. Your app starts from a working runtime instead of assembling the scheduler and bridge by hand.
4
+
5
+ ```sh
6
+ npm install @realitycollective/service-framework-client
7
+ ```
8
+
9
+ It depends on the core, the React bindings and the three.js bridge, and re-exports all three. Installing this one package is enough.
10
+
11
+ ## What it composes
12
+
13
+ | Area | Detail |
14
+ | --- | --- |
15
+ | **Runtime** | Owns the service manager, the scheduler and the render loop, and starts them in the right order |
16
+ | **Profile** | A starting list of services you add your own to |
17
+ | **Services** | The services most client apps need anyway, already registered |
18
+ | **React** | The React provider, already pointed at that runtime |
19
+ | **Tokens** | The lookup keys for those built-in services |
20
+
21
+ ## When to use it
22
+
23
+ - **Use this** when you are building a React + three.js client and want the standard wiring.
24
+ - **Use the core plus a single binding** when you need a different host, or want to own the composition yourself.
25
+
26
+ ## Peer dependency
27
+
28
+ `react ^19.2.0`.
29
+
30
+ ## Live examples
31
+
32
+ - Weather client walkthrough: **[service-framework-weather.pages.dev](https://service-framework-weather.pages.dev)**
33
+ - Client runtime reference: **[service-framework-client-app.pages.dev](https://service-framework-client-app.pages.dev)**
34
+
35
+ ## Documentation
36
+
37
+ The [Weather Client Walkthrough](https://github.com/realitycollective/com.realitycollective.service-framework.ts/blob/main/documentation/Weather-Client-Walkthrough.md) builds a deployable app on this package step by step. Runnable apps live in the repository's `runtime-examples/` folder, and a focused example ships in this package's `Examples/` folder.
38
+
39
+ ## License
40
+
41
+ MIT - see [LICENSE](./LICENSE).
@@ -140,4 +140,3 @@ export interface BaseFrameworkClientRuntimeLike {
140
140
  bindRenderLoop(host: AnimationLoopHostLike): import("@realitycollective/service-framework-three").ThreeRenderLoopBridge;
141
141
  dispose(): void;
142
142
  }
143
- //# sourceMappingURL=contracts.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"contracts.js","sourceRoot":"","sources":["../src/contracts.ts"],"names":[],"mappings":""}
1
+ {"version":3,"file":"contracts.js","sourceRoot":"","sources":["../src/contracts.ts"],"names":[],"mappings":"","sourcesContent":["import type { ReactNode } from \"react\";\nimport type {\n IEnvironmentDescriptor,\n IEventService,\n IScheduler,\n LifecycleContext,\n ServiceProfile\n} from \"@realitycollective/service-framework\";\n\nexport type ClientMode = \"chat-only\" | \"avatar\" | \"xr\";\nexport type WidgetState = \"closed\" | \"open\" | \"minimized\";\nexport type ConnectionState = \"idle\" | \"sending\" | \"ready\" | \"error\";\nexport type BackendAdapterKind = \"mock\" | \"rest\";\nexport type ConversationRole = \"assistant\" | \"system\" | \"user\";\n\nexport interface CapabilitySnapshot {\n readonly environmentName: string;\n readonly capabilities: readonly string[];\n}\n\nexport interface ExperienceStateSnapshot {\n readonly mode: ClientMode;\n readonly widgetState: WidgetState;\n readonly connectionState: ConnectionState;\n readonly lastError?: string;\n}\n\nexport interface SessionSnapshot {\n readonly sessionId: string;\n readonly createdAt: number;\n readonly lastActivityAt: number;\n}\n\nexport interface GeolocationSnapshot {\n readonly latitude: number;\n readonly longitude: number;\n}\n\nexport interface ContentContextSnapshot {\n readonly page?: string;\n readonly campaign?: string;\n readonly geolocation?: GeolocationSnapshot;\n}\n\nexport interface ConversationMessage {\n readonly id: string;\n readonly role: ConversationRole;\n readonly content: string;\n readonly timestamp: number;\n}\n\nexport interface ConversationSnapshot {\n readonly messages: readonly ConversationMessage[];\n readonly status: ConnectionState;\n readonly lastError?: string;\n}\n\nexport interface BackendAdapterStateSnapshot {\n readonly preferredAdapter: BackendAdapterKind;\n readonly activeAdapter?: BackendAdapterKind;\n readonly state: ConnectionState;\n readonly lastError?: string;\n}\n\nexport interface BackendConversationRequest {\n readonly sessionId: string;\n readonly message: string;\n readonly context: ContentContextSnapshot;\n}\n\nexport interface BackendConversationResponse {\n readonly adapter: BackendAdapterKind;\n readonly content: string;\n readonly timestamp: number;\n}\n\nexport interface RenderStateSnapshot extends LifecycleContext {}\n\nexport interface SessionServiceConfig {\n readonly sessionId?: string;\n readonly now?: () => number;\n}\n\nexport interface ExperienceStateConfig {\n readonly initialMode?: ClientMode;\n readonly initialWidgetState?: WidgetState;\n}\n\nexport interface ConversationServiceConfig {\n readonly welcomeMessage?: string;\n readonly now?: () => number;\n}\n\nexport interface MockBackendAdapterConfig {\n readonly replyPrefix?: string;\n readonly now?: () => number;\n}\n\nexport interface ResponseLike {\n readonly ok: boolean;\n readonly status: number;\n json(): Promise<unknown>;\n}\n\nexport type FetchLike = (input: string, init?: {\n readonly method?: string;\n readonly headers?: Record<string, string>;\n readonly body?: string;\n}) => Promise<ResponseLike>;\n\nexport interface RestBackendAdapterConfig {\n readonly endpoint?: string;\n readonly fetchFn?: FetchLike;\n readonly headers?: Record<string, string>;\n readonly now?: () => number;\n}\n\nexport interface BackendAdapterServiceConfig {\n readonly preferredAdapter?: BackendAdapterKind;\n}\n\nexport interface BaseFrameworkClientProfileOptions {\n readonly profileName?: string;\n readonly session?: SessionServiceConfig;\n readonly experience?: ExperienceStateConfig;\n readonly conversation?: ConversationServiceConfig;\n readonly context?: ContentContextSnapshot;\n readonly backend?: {\n readonly preferredAdapter?: BackendAdapterKind;\n readonly includeMockAdapter?: boolean;\n readonly mock?: MockBackendAdapterConfig;\n readonly rest?: RestBackendAdapterConfig;\n };\n}\n\nexport interface BaseFrameworkClientEnvironmentOptions {\n readonly name?: string;\n readonly includeBrowserDefaults?: boolean;\n readonly capabilities?: readonly string[];\n}\n\nexport interface BaseFrameworkClientRuntimeOptions {\n readonly autoStart?: boolean;\n readonly environment?: IEnvironmentDescriptor;\n readonly environmentOptions?: BaseFrameworkClientEnvironmentOptions;\n readonly profile?: ServiceProfile;\n readonly profileOptions?: BaseFrameworkClientProfileOptions;\n readonly scheduler?: IScheduler;\n}\n\nexport interface BaseFrameworkClientProviderProps {\n readonly children?: ReactNode;\n readonly runtime?: BaseFrameworkClientRuntimeLike;\n readonly runtimeOptions?: BaseFrameworkClientRuntimeOptions;\n}\n\nexport interface ChangeAwareService<TSnapshot> extends IEventService<{ changed: TSnapshot }> {\n getSnapshot(): TSnapshot;\n}\n\nexport interface AnimationLoopHostLike {\n setAnimationLoop(callback: ((timestamp: number) => void) | null): void;\n}\n\nexport interface BaseFrameworkClientRuntimeLike {\n readonly environment: IEnvironmentDescriptor;\n readonly profile: ServiceProfile;\n readonly scheduler: IScheduler;\n readonly manager: import(\"@realitycollective/service-framework\").ServiceManager;\n bindRenderLoop(host: AnimationLoopHostLike): import(\"@realitycollective/service-framework-three\").ThreeRenderLoopBridge;\n dispose(): void;\n}\n"]}
package/dist/index.d.ts CHANGED
@@ -4,4 +4,3 @@ export * from "./react.js";
4
4
  export * from "./runtime.js";
5
5
  export * from "./services.js";
6
6
  export * from "./tokens.js";
7
- //# sourceMappingURL=index.d.ts.map
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,gBAAgB,CAAC;AAC/B,cAAc,cAAc,CAAC;AAC7B,cAAc,YAAY,CAAC;AAC3B,cAAc,cAAc,CAAC;AAC7B,cAAc,eAAe,CAAC;AAC9B,cAAc,aAAa,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,gBAAgB,CAAC;AAC/B,cAAc,cAAc,CAAC;AAC7B,cAAc,YAAY,CAAC;AAC3B,cAAc,cAAc,CAAC;AAC7B,cAAc,eAAe,CAAC;AAC9B,cAAc,aAAa,CAAC","sourcesContent":["export * from \"./contracts.js\";\nexport * from \"./profile.js\";\nexport * from \"./react.js\";\nexport * from \"./runtime.js\";\nexport * from \"./services.js\";\nexport * from \"./tokens.js\";\n"]}
package/dist/profile.d.ts CHANGED
@@ -2,4 +2,3 @@ import { type ServiceProfile } from "@realitycollective/service-framework";
2
2
  import type { BaseFrameworkClientEnvironmentOptions, BaseFrameworkClientProfileOptions } from "./contracts.js";
3
3
  export declare function createBaseFrameworkClientEnvironment(options?: BaseFrameworkClientEnvironmentOptions): import("@realitycollective/service-framework").EnvironmentDescriptor;
4
4
  export declare function createBaseFrameworkClientProfile(options?: BaseFrameworkClientProfileOptions): ServiceProfile;
5
- //# sourceMappingURL=profile.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"profile.js","sourceRoot":"","sources":["../src/profile.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"profile.js","sourceRoot":"","sources":["../src/profile.ts"],"names":[],"mappings":"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","sourcesContent":["import {\n createEnvironmentDescriptor,\n createServiceProfile,\n type ServiceProfile,\n type ServiceRegistration\n} from \"@realitycollective/service-framework\";\nimport type {\n BaseFrameworkClientEnvironmentOptions,\n BaseFrameworkClientProfileOptions\n} from \"./contracts.js\";\nimport {\n BACKEND_ADAPTER_SERVICE_TOKEN,\n CAPABILITY_SERVICE_TOKEN,\n CONTENT_CONTEXT_SERVICE_TOKEN,\n CONVERSATION_SERVICE_TOKEN,\n EXPERIENCE_STATE_SERVICE_TOKEN,\n MOCK_BACKEND_ADAPTER_MODULE_TOKEN,\n RENDER_STATE_SERVICE_TOKEN,\n REST_BACKEND_ADAPTER_MODULE_TOKEN,\n SESSION_SERVICE_TOKEN\n} from \"./tokens.js\";\nimport {\n BackendAdapterService,\n CapabilityService,\n ContentContextService,\n ConversationService,\n ExperienceStateService,\n MockBackendAdapterModule,\n RenderStateService,\n RestBackendAdapterModule,\n SessionService\n} from \"./services.js\";\n\nexport function createBaseFrameworkClientEnvironment(options: BaseFrameworkClientEnvironmentOptions = {}) {\n const capabilities = new Set<string>();\n\n if (options.includeBrowserDefaults !== false) {\n capabilities.add(\"chat\");\n capabilities.add(\"dom\");\n capabilities.add(\"focus\");\n capabilities.add(\"network\");\n capabilities.add(\"render-loop\");\n capabilities.add(\"timers\");\n capabilities.add(\"visibility\");\n }\n\n for (const capability of options.capabilities ?? []) {\n capabilities.add(capability);\n }\n\n return createEnvironmentDescriptor(options.name ?? \"base-framework-client\", capabilities);\n}\n\nexport function createBaseFrameworkClientProfile(options: BaseFrameworkClientProfileOptions = {}): ServiceProfile {\n const backendOptions = options.backend ?? {};\n const backendModules: Array<NonNullable<ServiceRegistration<BackendAdapterService>[\"modules\"]>[number]> = [];\n\n if (backendOptions.includeMockAdapter !== false) {\n backendModules.push({\n token: MOCK_BACKEND_ADAPTER_MODULE_TOKEN,\n name: \"mock-adapter\",\n priority: 41,\n ...(backendOptions.mock ? { config: backendOptions.mock } : {}),\n useFactory: (context) => new MockBackendAdapterModule(context as ConstructorParameters<typeof MockBackendAdapterModule>[0])\n } as NonNullable<ServiceRegistration<BackendAdapterService>[\"modules\"]>[number]);\n }\n\n if (backendOptions.rest?.endpoint) {\n backendModules.push({\n token: REST_BACKEND_ADAPTER_MODULE_TOKEN,\n name: \"rest-adapter\",\n priority: 42,\n requiredCapabilities: [\"network\"],\n config: backendOptions.rest,\n useFactory: (context) => new RestBackendAdapterModule(context as ConstructorParameters<typeof RestBackendAdapterModule>[0])\n } as NonNullable<ServiceRegistration<BackendAdapterService>[\"modules\"]>[number]);\n }\n\n return createServiceProfile(options.profileName ?? \"base-framework-client\", [\n {\n token: CAPABILITY_SERVICE_TOKEN,\n name: \"capabilities\",\n priority: 10,\n useFactory: (context) => new CapabilityService(context as ConstructorParameters<typeof CapabilityService>[0])\n },\n {\n token: EXPERIENCE_STATE_SERVICE_TOKEN,\n name: \"experience\",\n priority: 20,\n config: options.experience,\n useFactory: (context) => new ExperienceStateService(context as ConstructorParameters<typeof ExperienceStateService>[0])\n },\n {\n token: SESSION_SERVICE_TOKEN,\n name: \"session\",\n priority: 30,\n config: options.session,\n useFactory: (context) => new SessionService(context as ConstructorParameters<typeof SessionService>[0])\n },\n {\n token: CONTENT_CONTEXT_SERVICE_TOKEN,\n name: \"content-context\",\n priority: 31,\n config: options.context,\n useFactory: (context) => new ContentContextService(context as ConstructorParameters<typeof ContentContextService>[0])\n },\n {\n token: BACKEND_ADAPTER_SERVICE_TOKEN,\n name: \"backend-adapter\",\n priority: 40,\n config: {\n preferredAdapter: backendOptions.preferredAdapter\n },\n modules: backendModules,\n useFactory: (context) => new BackendAdapterService(context as ConstructorParameters<typeof BackendAdapterService>[0])\n },\n {\n token: CONVERSATION_SERVICE_TOKEN,\n name: \"conversation\",\n priority: 50,\n config: options.conversation,\n dependencies: [\n SESSION_SERVICE_TOKEN,\n BACKEND_ADAPTER_SERVICE_TOKEN,\n CONTENT_CONTEXT_SERVICE_TOKEN,\n EXPERIENCE_STATE_SERVICE_TOKEN\n ],\n useFactory: (context, sessionService, backendAdapterService, contentContextService, experienceStateService) =>\n new ConversationService(\n context as ConstructorParameters<typeof ConversationService>[0],\n sessionService as SessionService,\n backendAdapterService as BackendAdapterService,\n contentContextService as ContentContextService,\n experienceStateService as ExperienceStateService\n )\n },\n {\n token: RENDER_STATE_SERVICE_TOKEN,\n name: \"render-state\",\n priority: 60,\n requiredCapabilities: [\"render-loop\"],\n useFactory: (context) => new RenderStateService(context as ConstructorParameters<typeof RenderStateService>[0])\n }\n ]);\n}\n"]}
package/dist/react.d.ts CHANGED
@@ -17,4 +17,3 @@ export declare function useConversationService(): ConversationService;
17
17
  export declare function useConversationState(): ConversationSnapshot;
18
18
  export declare function useRenderStateService(): RenderStateService;
19
19
  export declare function useRenderState(): RenderStateSnapshot;
20
- //# sourceMappingURL=react.d.ts.map
package/dist/react.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"react.js","sourceRoot":"","sources":["../src/react.tsx"],"names":[],"mappings":";AAAA,OAAc,EAAE,OAAO,EAAE,oBAAoB,EAAE,MAAM,OAAO,CAAC;AAE7D,OAAO,EAAE,wBAAwB,EAAE,UAAU,EAAE,MAAM,4CAA4C,CAAC;AAKlG,OAAO,EAAE,0BAA0B,EAAE,MAAM,cAAc,CAAC;AAC1D,OAAO,EACL,6BAA6B,EAC7B,wBAAwB,EACxB,6BAA6B,EAC7B,0BAA0B,EAC1B,8BAA8B,EAC9B,0BAA0B,EAC1B,qBAAqB,EACtB,MAAM,aAAa,CAAC;AAoBrB,SAAS,kBAAkB,CAA4D,KAA6B;IAClH,MAAM,OAAO,GAAG,UAAU,CAAC,KAAK,CAAC,CAAC;IAClC,MAAM,WAAW,GAAG,GAAG,EAAE,CAAC,OAAO,CAAC,WAAW,EAAE,CAAC;IAChD,OAAO,oBAAoB;IACzB,sBAAsB;IACtB,CAAC,aAAa,EAAE,EAAE,CAAC,OAAO,CAAC,EAAE,CAAC,SAAS,EAAE,GAAG,EAAE;QAC5C,aAAa,EAAE,CAAC;IAClB,CAAC,CAAC,EACF,WAAW,EACX,WAAW,CACZ,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,2BAA2B,CAAC,EAC1C,QAAQ,EACR,OAAO,EACP,cAAc,EACmB;IACjC,MAAM,eAAe,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC,OAAO,IAAI,IAAI,0BAA0B,CAAC,cAAc,CAAC,EAAE,CAAC,OAAO,EAAE,cAAc,CAAC,CAAC,CAAC;IAE5H,OAAO,CACL,KAAC,wBAAwB,IAAC,OAAO,EAAE,eAAe,CAAC,OAAO,EAAE,SAAS,EAAE,KAAK,YACzE,QAAQ,GACgB,CAC5B,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,oBAAoB;IAClC,OAAO,UAAU,CAAC,wBAAwB,CAAC,CAAC;AAC9C,CAAC;AAED,MAAM,UAAU,kBAAkB;IAChC,OAAO,kBAAkB,CAAwC,wBAAwB,CAAC,CAAC;AAC7F,CAAC;AAED,MAAM,UAAU,yBAAyB;IACvC,OAAO,UAAU,CAAC,8BAA8B,CAAC,CAAC;AACpD,CAAC;AAED,MAAM,UAAU,kBAAkB;IAChC,OAAO,kBAAkB,CAAkD,8BAA8B,CAAC,CAAC;AAC7G,CAAC;AAED,MAAM,UAAU,iBAAiB;IAC/B,OAAO,UAAU,CAAC,qBAAqB,CAAC,CAAC;AAC3C,CAAC;AAED,MAAM,UAAU,eAAe;IAC7B,OAAO,kBAAkB,CAAkC,qBAAqB,CAAC,CAAC;AACpF,CAAC;AAED,MAAM,UAAU,wBAAwB;IACtC,OAAO,UAAU,CAAC,6BAA6B,CAAC,CAAC;AACnD,CAAC;AAED,MAAM,UAAU,iBAAiB;IAC/B,OAAO,kBAAkB,CAAgD,6BAA6B,CAAC,CAAC;AAC1G,CAAC;AAED,MAAM,UAAU,wBAAwB;IACtC,OAAO,UAAU,CAAC,6BAA6B,CAAC,CAAC;AACnD,CAAC;AAED,MAAM,UAAU,sBAAsB;IACpC,OAAO,kBAAkB,CAAqD,6BAA6B,CAAC,CAAC;AAC/G,CAAC;AAED,MAAM,UAAU,sBAAsB;IACpC,OAAO,UAAU,CAAC,0BAA0B,CAAC,CAAC;AAChD,CAAC;AAED,MAAM,UAAU,oBAAoB;IAClC,OAAO,kBAAkB,CAA4C,0BAA0B,CAAC,CAAC;AACnG,CAAC;AAED,MAAM,UAAU,qBAAqB;IACnC,OAAO,UAAU,CAAC,0BAA0B,CAAC,CAAC;AAChD,CAAC;AAED,MAAM,UAAU,cAAc;IAC5B,OAAO,kBAAkB,CAA0C,0BAA0B,CAAC,CAAC;AACjG,CAAC"}
1
+ {"version":3,"file":"react.js","sourceRoot":"","sources":["../src/react.tsx"],"names":[],"mappings":";AAAA,OAAc,EAAE,OAAO,EAAE,oBAAoB,EAAE,MAAM,OAAO,CAAC;AAE7D,OAAO,EAAE,wBAAwB,EAAE,UAAU,EAAE,MAAM,4CAA4C,CAAC;AAKlG,OAAO,EAAE,0BAA0B,EAAE,MAAM,cAAc,CAAC;AAC1D,OAAO,EACL,6BAA6B,EAC7B,wBAAwB,EACxB,6BAA6B,EAC7B,0BAA0B,EAC1B,8BAA8B,EAC9B,0BAA0B,EAC1B,qBAAqB,EACtB,MAAM,aAAa,CAAC;AAoBrB,SAAS,kBAAkB,CAA4D,KAA6B;IAClH,MAAM,OAAO,GAAG,UAAU,CAAC,KAAK,CAAC,CAAC;IAClC,MAAM,WAAW,GAAG,GAAG,EAAE,CAAC,OAAO,CAAC,WAAW,EAAE,CAAC;IAChD,OAAO,oBAAoB;IACzB,sBAAsB;IACtB,CAAC,aAAa,EAAE,EAAE,CAAC,OAAO,CAAC,EAAE,CAAC,SAAS,EAAE,GAAG,EAAE;QAC5C,aAAa,EAAE,CAAC;IAClB,CAAC,CAAC,EACF,WAAW,EACX,WAAW,CACZ,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,2BAA2B,CAAC,EAC1C,QAAQ,EACR,OAAO,EACP,cAAc,EACmB;IACjC,MAAM,eAAe,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC,OAAO,IAAI,IAAI,0BAA0B,CAAC,cAAc,CAAC,EAAE,CAAC,OAAO,EAAE,cAAc,CAAC,CAAC,CAAC;IAE5H,OAAO,CACL,KAAC,wBAAwB,IAAC,OAAO,EAAE,eAAe,CAAC,OAAO,EAAE,SAAS,EAAE,KAAK,YACzE,QAAQ,GACgB,CAC5B,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,oBAAoB;IAClC,OAAO,UAAU,CAAC,wBAAwB,CAAC,CAAC;AAC9C,CAAC;AAED,MAAM,UAAU,kBAAkB;IAChC,OAAO,kBAAkB,CAAwC,wBAAwB,CAAC,CAAC;AAC7F,CAAC;AAED,MAAM,UAAU,yBAAyB;IACvC,OAAO,UAAU,CAAC,8BAA8B,CAAC,CAAC;AACpD,CAAC;AAED,MAAM,UAAU,kBAAkB;IAChC,OAAO,kBAAkB,CAAkD,8BAA8B,CAAC,CAAC;AAC7G,CAAC;AAED,MAAM,UAAU,iBAAiB;IAC/B,OAAO,UAAU,CAAC,qBAAqB,CAAC,CAAC;AAC3C,CAAC;AAED,MAAM,UAAU,eAAe;IAC7B,OAAO,kBAAkB,CAAkC,qBAAqB,CAAC,CAAC;AACpF,CAAC;AAED,MAAM,UAAU,wBAAwB;IACtC,OAAO,UAAU,CAAC,6BAA6B,CAAC,CAAC;AACnD,CAAC;AAED,MAAM,UAAU,iBAAiB;IAC/B,OAAO,kBAAkB,CAAgD,6BAA6B,CAAC,CAAC;AAC1G,CAAC;AAED,MAAM,UAAU,wBAAwB;IACtC,OAAO,UAAU,CAAC,6BAA6B,CAAC,CAAC;AACnD,CAAC;AAED,MAAM,UAAU,sBAAsB;IACpC,OAAO,kBAAkB,CAAqD,6BAA6B,CAAC,CAAC;AAC/G,CAAC;AAED,MAAM,UAAU,sBAAsB;IACpC,OAAO,UAAU,CAAC,0BAA0B,CAAC,CAAC;AAChD,CAAC;AAED,MAAM,UAAU,oBAAoB;IAClC,OAAO,kBAAkB,CAA4C,0BAA0B,CAAC,CAAC;AACnG,CAAC;AAED,MAAM,UAAU,qBAAqB;IACnC,OAAO,UAAU,CAAC,0BAA0B,CAAC,CAAC;AAChD,CAAC;AAED,MAAM,UAAU,cAAc;IAC5B,OAAO,kBAAkB,CAA0C,0BAA0B,CAAC,CAAC;AACjG,CAAC","sourcesContent":["import React, { useMemo, useSyncExternalStore } from \"react\";\nimport { type ServiceToken } from \"@realitycollective/service-framework\";\nimport { ServiceFrameworkProvider, useService } from \"@realitycollective/service-framework-react\";\nimport type {\n BaseFrameworkClientProviderProps,\n ChangeAwareService\n} from \"./contracts.js\";\nimport { BaseFrameworkClientRuntime } from \"./runtime.js\";\nimport {\n BACKEND_ADAPTER_SERVICE_TOKEN,\n CAPABILITY_SERVICE_TOKEN,\n CONTENT_CONTEXT_SERVICE_TOKEN,\n CONVERSATION_SERVICE_TOKEN,\n EXPERIENCE_STATE_SERVICE_TOKEN,\n RENDER_STATE_SERVICE_TOKEN,\n SESSION_SERVICE_TOKEN\n} from \"./tokens.js\";\nimport type {\n BackendAdapterStateSnapshot,\n CapabilitySnapshot,\n ContentContextSnapshot,\n ConversationSnapshot,\n ExperienceStateSnapshot,\n RenderStateSnapshot,\n SessionSnapshot\n} from \"./contracts.js\";\nimport {\n BackendAdapterService,\n CapabilityService,\n ContentContextService,\n ConversationService,\n ExperienceStateService,\n RenderStateService,\n SessionService\n} from \"./services.js\";\n\nfunction useSnapshotService<TSnapshot, TService extends ChangeAwareService<TSnapshot>>(token: ServiceToken<TService>): TSnapshot {\n const service = useService(token);\n const getSnapshot = () => service.getSnapshot();\n return useSyncExternalStore(\n /* v8 ignore next 3 */\n (onStoreChange) => service.on(\"changed\", () => {\n onStoreChange();\n }),\n getSnapshot,\n getSnapshot\n );\n}\n\nexport function BaseFrameworkClientProvider({\n children,\n runtime,\n runtimeOptions\n}: BaseFrameworkClientProviderProps): React.JSX.Element {\n const resolvedRuntime = useMemo(() => runtime ?? new BaseFrameworkClientRuntime(runtimeOptions), [runtime, runtimeOptions]);\n\n return (\n <ServiceFrameworkProvider manager={resolvedRuntime.manager} autoStart={false}>\n {children}\n </ServiceFrameworkProvider>\n );\n}\n\nexport function useCapabilityService(): CapabilityService {\n return useService(CAPABILITY_SERVICE_TOKEN);\n}\n\nexport function useCapabilityState(): CapabilitySnapshot {\n return useSnapshotService<CapabilitySnapshot, CapabilityService>(CAPABILITY_SERVICE_TOKEN);\n}\n\nexport function useExperienceStateService(): ExperienceStateService {\n return useService(EXPERIENCE_STATE_SERVICE_TOKEN);\n}\n\nexport function useExperienceState(): ExperienceStateSnapshot {\n return useSnapshotService<ExperienceStateSnapshot, ExperienceStateService>(EXPERIENCE_STATE_SERVICE_TOKEN);\n}\n\nexport function useSessionService(): SessionService {\n return useService(SESSION_SERVICE_TOKEN);\n}\n\nexport function useSessionState(): SessionSnapshot {\n return useSnapshotService<SessionSnapshot, SessionService>(SESSION_SERVICE_TOKEN);\n}\n\nexport function useContentContextService(): ContentContextService {\n return useService(CONTENT_CONTEXT_SERVICE_TOKEN);\n}\n\nexport function useContentContext(): ContentContextSnapshot {\n return useSnapshotService<ContentContextSnapshot, ContentContextService>(CONTENT_CONTEXT_SERVICE_TOKEN);\n}\n\nexport function useBackendAdapterService(): BackendAdapterService {\n return useService(BACKEND_ADAPTER_SERVICE_TOKEN);\n}\n\nexport function useBackendAdapterState(): BackendAdapterStateSnapshot {\n return useSnapshotService<BackendAdapterStateSnapshot, BackendAdapterService>(BACKEND_ADAPTER_SERVICE_TOKEN);\n}\n\nexport function useConversationService(): ConversationService {\n return useService(CONVERSATION_SERVICE_TOKEN);\n}\n\nexport function useConversationState(): ConversationSnapshot {\n return useSnapshotService<ConversationSnapshot, ConversationService>(CONVERSATION_SERVICE_TOKEN);\n}\n\nexport function useRenderStateService(): RenderStateService {\n return useService(RENDER_STATE_SERVICE_TOKEN);\n}\n\nexport function useRenderState(): RenderStateSnapshot {\n return useSnapshotService<RenderStateSnapshot, RenderStateService>(RENDER_STATE_SERVICE_TOKEN);\n}\n"]}
package/dist/runtime.d.ts CHANGED
@@ -11,4 +11,3 @@ export declare class BaseFrameworkClientRuntime implements BaseFrameworkClientRu
11
11
  bindRenderLoop(host: ConstructorParameters<typeof ThreeRenderLoopBridge>[0]["host"]): ThreeRenderLoopBridge;
12
12
  dispose(): void;
13
13
  }
14
- //# sourceMappingURL=runtime.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"runtime.js","sourceRoot":"","sources":["../src/runtime.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,eAAe,EACf,cAAc,EACf,MAAM,sCAAsC,CAAC;AAC9C,OAAO,EAAE,qBAAqB,EAAE,MAAM,4CAA4C,CAAC;AAEnF,OAAO,EAAE,oCAAoC,EAAE,gCAAgC,EAAE,MAAM,cAAc,CAAC;AAEtG,MAAM,OAAO,0BAA0B;IACrB,SAAS,CAAC;IACV,WAAW,CAAC;IACZ,OAAO,CAAC;IACR,OAAO,CAAC;IAEhB,gBAAgB,CAAoC;IAE5D,YAAmB,UAA6C,EAAE;QAChE,IAAI,CAAC,SAAS,GAAG,OAAO,CAAC,SAAS,IAAI,IAAI,eAAe,EAAE,CAAC;QAC5D,IAAI,CAAC,WAAW,GAAG,OAAO,CAAC,WAAW,IAAI,oCAAoC,CAAC,OAAO,CAAC,kBAAkB,CAAC,CAAC;QAC3G,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,gCAAgC,CAAC,OAAO,CAAC,cAAc,CAAC,CAAC;QAC3F,IAAI,CAAC,OAAO,GAAG,IAAI,cAAc,CAAC;YAChC,SAAS,EAAE,IAAI,CAAC,SAAS;YACzB,WAAW,EAAE,IAAI,CAAC,WAAW;SAC9B,CAAC,CAAC;QAEH,IAAI,CAAC,OAAO,CAAC,iBAAiB,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QAE7C,IAAI,OAAO,CAAC,SAAS,KAAK,KAAK,EAAE,CAAC;YAChC,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC;QACvB,CAAC;IACH,CAAC;IAEM,cAAc,CAAC,IAAoE;QACxF,IAAI,CAAC,gBAAgB,EAAE,OAAO,EAAE,CAAC;QACjC,IAAI,CAAC,gBAAgB,GAAG,IAAI,qBAAqB,CAAC;YAChD,SAAS,EAAE,IAAI,CAAC,OAAO,CAAC,SAAS;YACjC,IAAI;SACL,CAAC,CAAC;QACH,IAAI,CAAC,gBAAgB,CAAC,KAAK,EAAE,CAAC;QAC9B,OAAO,IAAI,CAAC,gBAAgB,CAAC;IAC/B,CAAC;IAEM,OAAO;QACZ,IAAI,CAAC,gBAAgB,EAAE,OAAO,EAAE,CAAC;QACjC,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,OAAO,EAAE,CAAC;IACnC,CAAC;CACF"}
1
+ {"version":3,"file":"runtime.js","sourceRoot":"","sources":["../src/runtime.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,eAAe,EACf,cAAc,EACf,MAAM,sCAAsC,CAAC;AAC9C,OAAO,EAAE,qBAAqB,EAAE,MAAM,4CAA4C,CAAC;AAEnF,OAAO,EAAE,oCAAoC,EAAE,gCAAgC,EAAE,MAAM,cAAc,CAAC;AAEtG,MAAM,OAAO,0BAA0B;IACrB,SAAS,CAAC;IACV,WAAW,CAAC;IACZ,OAAO,CAAC;IACR,OAAO,CAAC;IAEhB,gBAAgB,CAAoC;IAE5D,YAAmB,UAA6C,EAAE;QAChE,IAAI,CAAC,SAAS,GAAG,OAAO,CAAC,SAAS,IAAI,IAAI,eAAe,EAAE,CAAC;QAC5D,IAAI,CAAC,WAAW,GAAG,OAAO,CAAC,WAAW,IAAI,oCAAoC,CAAC,OAAO,CAAC,kBAAkB,CAAC,CAAC;QAC3G,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,gCAAgC,CAAC,OAAO,CAAC,cAAc,CAAC,CAAC;QAC3F,IAAI,CAAC,OAAO,GAAG,IAAI,cAAc,CAAC;YAChC,SAAS,EAAE,IAAI,CAAC,SAAS;YACzB,WAAW,EAAE,IAAI,CAAC,WAAW;SAC9B,CAAC,CAAC;QAEH,IAAI,CAAC,OAAO,CAAC,iBAAiB,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QAE7C,IAAI,OAAO,CAAC,SAAS,KAAK,KAAK,EAAE,CAAC;YAChC,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC;QACvB,CAAC;IACH,CAAC;IAEM,cAAc,CAAC,IAAoE;QACxF,IAAI,CAAC,gBAAgB,EAAE,OAAO,EAAE,CAAC;QACjC,IAAI,CAAC,gBAAgB,GAAG,IAAI,qBAAqB,CAAC;YAChD,SAAS,EAAE,IAAI,CAAC,OAAO,CAAC,SAAS;YACjC,IAAI;SACL,CAAC,CAAC;QACH,IAAI,CAAC,gBAAgB,CAAC,KAAK,EAAE,CAAC;QAC9B,OAAO,IAAI,CAAC,gBAAgB,CAAC;IAC/B,CAAC;IAEM,OAAO;QACZ,IAAI,CAAC,gBAAgB,EAAE,OAAO,EAAE,CAAC;QACjC,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,OAAO,EAAE,CAAC;IACnC,CAAC;CACF","sourcesContent":["import {\n ManualScheduler,\n ServiceManager\n} from \"@realitycollective/service-framework\";\nimport { ThreeRenderLoopBridge } from \"@realitycollective/service-framework-three\";\nimport type { BaseFrameworkClientRuntimeLike, BaseFrameworkClientRuntimeOptions } from \"./contracts.js\";\nimport { createBaseFrameworkClientEnvironment, createBaseFrameworkClientProfile } from \"./profile.js\";\n\nexport class BaseFrameworkClientRuntime implements BaseFrameworkClientRuntimeLike {\n public readonly scheduler;\n public readonly environment;\n public readonly profile;\n public readonly manager;\n\n private renderLoopBridge: ThreeRenderLoopBridge | undefined;\n\n public constructor(options: BaseFrameworkClientRuntimeOptions = {}) {\n this.scheduler = options.scheduler ?? new ManualScheduler();\n this.environment = options.environment ?? createBaseFrameworkClientEnvironment(options.environmentOptions);\n this.profile = options.profile ?? createBaseFrameworkClientProfile(options.profileOptions);\n this.manager = new ServiceManager({\n scheduler: this.scheduler,\n environment: this.environment\n });\n\n this.manager.initializeProfile(this.profile);\n\n if (options.autoStart !== false) {\n this.manager.start();\n }\n }\n\n public bindRenderLoop(host: ConstructorParameters<typeof ThreeRenderLoopBridge>[0][\"host\"]): ThreeRenderLoopBridge {\n this.renderLoopBridge?.dispose();\n this.renderLoopBridge = new ThreeRenderLoopBridge({\n scheduler: this.manager.scheduler,\n host\n });\n this.renderLoopBridge.start();\n return this.renderLoopBridge;\n }\n\n public dispose(): void {\n this.renderLoopBridge?.dispose();\n this.manager.scheduler.dispose();\n }\n}\n"]}
@@ -83,4 +83,3 @@ export declare class RenderStateService extends BaseEventService<{
83
83
  getSnapshot(): RenderStateSnapshot;
84
84
  render(context: LifecycleContext): void;
85
85
  }
86
- //# sourceMappingURL=services.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"services.js","sourceRoot":"","sources":["../src/services.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"services.js","sourceRoot":"","sources":["../src/services.ts"],"names":[],"mappings":"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","sourcesContent":["import {\n BaseEventService,\n BaseServiceModule,\n type LifecycleContext\n} from \"@realitycollective/service-framework\";\nimport type {\n BackendAdapterKind,\n BackendAdapterServiceConfig,\n BackendAdapterStateSnapshot,\n BackendConversationRequest,\n BackendConversationResponse,\n CapabilitySnapshot,\n ConnectionState,\n ContentContextSnapshot,\n ConversationMessage,\n ConversationServiceConfig,\n ConversationSnapshot,\n ExperienceStateConfig,\n ExperienceStateSnapshot,\n MockBackendAdapterConfig,\n RenderStateSnapshot,\n RestBackendAdapterConfig,\n SessionServiceConfig,\n SessionSnapshot\n} from \"./contracts.js\";\n\nfunction getNow(now?: () => number): number {\n return (now ?? Date.now)();\n}\n\nfunction getErrorMessage(error: unknown): string {\n return error instanceof Error ? error.message : String(error);\n}\n\nexport class CapabilityService extends BaseEventService<{ changed: CapabilitySnapshot }> {\n private snapshot: CapabilitySnapshot = {\n environmentName: \"unknown\",\n capabilities: []\n };\n\n public override initialize(): void {\n this.snapshot = {\n environmentName: this.environment.name,\n capabilities: Array.from(this.environment.capabilities).sort()\n };\n this.emit(\"changed\", this.snapshot);\n }\n\n public getSnapshot(): CapabilitySnapshot {\n return this.snapshot;\n }\n\n public hasCapability(capability: string): boolean {\n return this.environment.hasCapability(capability);\n }\n}\n\nexport class ExperienceStateService extends BaseEventService<{ changed: ExperienceStateSnapshot }, ExperienceStateConfig> {\n private snapshot: ExperienceStateSnapshot = {\n mode: \"chat-only\",\n widgetState: \"closed\",\n connectionState: \"idle\"\n };\n\n public override initialize(): void {\n const config = this.serviceConfig ?? {};\n this.snapshot = {\n mode: config.initialMode ?? \"chat-only\",\n widgetState: config.initialWidgetState ?? \"closed\",\n connectionState: \"idle\"\n };\n this.emit(\"changed\", this.snapshot);\n }\n\n public getSnapshot(): ExperienceStateSnapshot {\n return this.snapshot;\n }\n\n public setMode(mode: ExperienceStateSnapshot[\"mode\"]): void {\n this.snapshot = {\n ...this.snapshot,\n mode\n };\n this.emit(\"changed\", this.snapshot);\n }\n\n public openWidget(): void {\n this.snapshot = {\n ...this.snapshot,\n widgetState: \"open\"\n };\n this.emit(\"changed\", this.snapshot);\n }\n\n public minimizeWidget(): void {\n this.snapshot = {\n ...this.snapshot,\n widgetState: \"minimized\"\n };\n this.emit(\"changed\", this.snapshot);\n }\n\n public closeWidget(): void {\n this.snapshot = {\n ...this.snapshot,\n widgetState: \"closed\"\n };\n this.emit(\"changed\", this.snapshot);\n }\n\n public setConnectionState(connectionState: ConnectionState, lastError?: string): void {\n this.snapshot = {\n ...this.snapshot,\n connectionState,\n ...(lastError ? { lastError } : {})\n };\n\n if (!lastError && \"lastError\" in this.snapshot) {\n this.snapshot = {\n mode: this.snapshot.mode,\n widgetState: this.snapshot.widgetState,\n connectionState: this.snapshot.connectionState\n };\n }\n\n this.emit(\"changed\", this.snapshot);\n }\n}\n\nexport class SessionService extends BaseEventService<{ changed: SessionSnapshot }, SessionServiceConfig> {\n private snapshot: SessionSnapshot = {\n sessionId: \"session-0\",\n createdAt: 0,\n lastActivityAt: 0\n };\n\n public override initialize(): void {\n const config = this.serviceConfig ?? {};\n const timestamp = getNow(config.now);\n this.snapshot = {\n sessionId: config.sessionId ?? `${this.serviceName}-${timestamp}`,\n createdAt: timestamp,\n lastActivityAt: timestamp\n };\n this.emit(\"changed\", this.snapshot);\n }\n\n public getSnapshot(): SessionSnapshot {\n return this.snapshot;\n }\n\n public touch(): void {\n const config = this.serviceConfig ?? {};\n this.snapshot = {\n ...this.snapshot,\n lastActivityAt: getNow(config.now)\n };\n this.emit(\"changed\", this.snapshot);\n }\n}\n\nexport class ContentContextService extends BaseEventService<{ changed: ContentContextSnapshot }, ContentContextSnapshot> {\n private snapshot: ContentContextSnapshot = {};\n\n public override initialize(): void {\n this.snapshot = {\n ...this.serviceConfig\n };\n this.emit(\"changed\", this.snapshot);\n }\n\n public getSnapshot(): ContentContextSnapshot {\n return this.snapshot;\n }\n\n public mergeContext(context: Partial<ContentContextSnapshot>): void {\n this.snapshot = {\n ...this.snapshot,\n ...context\n };\n this.emit(\"changed\", this.snapshot);\n }\n\n public setGeolocation(latitude: number, longitude: number): void {\n this.snapshot = {\n ...this.snapshot,\n geolocation: {\n latitude,\n longitude\n }\n };\n this.emit(\"changed\", this.snapshot);\n }\n}\n\nexport abstract class BaseBackendAdapterModule<TConfig>\n extends BaseServiceModule<BackendAdapterService, TConfig> {\n public abstract readonly adapterKind: BackendAdapterKind;\n public abstract send(request: BackendConversationRequest): Promise<BackendConversationResponse>;\n}\n\nexport class MockBackendAdapterModule extends BaseBackendAdapterModule<MockBackendAdapterConfig> {\n public readonly adapterKind = \"mock\" as const;\n\n public async send(request: BackendConversationRequest): Promise<BackendConversationResponse> {\n const config = this.serviceConfig ?? {};\n return {\n adapter: this.adapterKind,\n content: `${config.replyPrefix ?? \"Mock reply\"}: ${request.message}`,\n timestamp: getNow(config.now)\n };\n }\n}\n\nexport class RestBackendAdapterModule extends BaseBackendAdapterModule<RestBackendAdapterConfig> {\n public readonly adapterKind = \"rest\" as const;\n\n public async send(request: BackendConversationRequest): Promise<BackendConversationResponse> {\n const config = this.serviceConfig ?? {};\n\n if (!config.endpoint) {\n throw new Error(\"REST adapter endpoint is required.\");\n }\n\n const fetchFn = config.fetchFn ?? globalThis.fetch?.bind(globalThis);\n\n if (!fetchFn) {\n throw new Error(\"REST adapter fetch implementation is required.\");\n }\n\n const response = await fetchFn(config.endpoint, {\n method: \"POST\",\n headers: {\n \"Content-Type\": \"application/json\",\n ...config.headers\n },\n body: JSON.stringify(request)\n });\n\n if (!response.ok) {\n throw new Error(`REST adapter request failed with status ${response.status}.`);\n }\n\n const payload = await response.json() as Record<string, unknown>;\n\n if (typeof payload.message !== \"string\") {\n throw new Error(\"REST adapter response must include a string message field.\");\n }\n\n return {\n adapter: this.adapterKind,\n content: payload.message,\n timestamp: getNow(config.now)\n };\n }\n}\n\nexport class BackendAdapterService extends BaseEventService<{ changed: BackendAdapterStateSnapshot }, BackendAdapterServiceConfig> {\n private snapshot: BackendAdapterStateSnapshot = {\n preferredAdapter: \"mock\",\n state: \"idle\"\n };\n\n public override initialize(): void {\n const config = this.serviceConfig ?? {};\n this.snapshot = {\n preferredAdapter: config.preferredAdapter ?? \"mock\",\n state: \"idle\"\n };\n this.emit(\"changed\", this.snapshot);\n }\n\n public getSnapshot(): BackendAdapterStateSnapshot {\n return this.snapshot;\n }\n\n public setPreferredAdapter(preferredAdapter: BackendAdapterKind): void {\n this.snapshot = {\n ...this.snapshot,\n preferredAdapter\n };\n this.emit(\"changed\", this.snapshot);\n }\n\n public async sendMessage(request: BackendConversationRequest): Promise<BackendConversationResponse> {\n const module = this.resolveModule();\n this.snapshot = {\n ...this.snapshot,\n activeAdapter: module.adapterKind,\n state: \"sending\"\n };\n this.emit(\"changed\", this.snapshot);\n\n try {\n const response = await module.send(request);\n this.snapshot = {\n preferredAdapter: this.snapshot.preferredAdapter,\n activeAdapter: response.adapter,\n state: \"ready\"\n };\n this.emit(\"changed\", this.snapshot);\n return response;\n } catch (error) {\n this.snapshot = {\n ...this.snapshot,\n state: \"error\",\n lastError: getErrorMessage(error)\n };\n this.emit(\"changed\", this.snapshot);\n throw error;\n }\n }\n\n private resolveModule(): BaseBackendAdapterModule<unknown> {\n const modules = this.serviceModules.filter((serviceModule): serviceModule is BaseBackendAdapterModule<unknown> =>\n serviceModule instanceof BaseBackendAdapterModule);\n\n if (modules.length === 0) {\n throw new Error(\"No backend adapter modules are registered.\");\n }\n\n return modules.find((module) => module.adapterKind === this.snapshot.preferredAdapter) ?? modules[0]!;\n }\n}\n\nexport class ConversationService extends BaseEventService<{ changed: ConversationSnapshot }, ConversationServiceConfig> {\n private snapshot: ConversationSnapshot = {\n messages: [],\n status: \"idle\"\n };\n\n private sequence = 0;\n\n public constructor(\n context: ConstructorParameters<typeof BaseEventService<{ changed: ConversationSnapshot }, ConversationServiceConfig>>[0],\n private readonly sessionService: SessionService,\n private readonly backendAdapterService: BackendAdapterService,\n private readonly contentContextService: ContentContextService,\n private readonly experienceStateService: ExperienceStateService\n ) {\n super(context);\n }\n\n public override initialize(): void {\n const config = this.serviceConfig ?? {};\n\n if (config.welcomeMessage) {\n this.snapshot = {\n messages: [this.createMessage(\"assistant\", config.welcomeMessage)],\n status: \"idle\"\n };\n }\n\n this.emit(\"changed\", this.snapshot);\n }\n\n public getSnapshot(): ConversationSnapshot {\n return this.snapshot;\n }\n\n public async sendUserMessage(message: string): Promise<ConversationMessage> {\n const userMessage = this.createMessage(\"user\", message);\n this.snapshot = {\n messages: [...this.snapshot.messages, userMessage],\n status: \"sending\"\n };\n this.experienceStateService.openWidget();\n this.experienceStateService.setConnectionState(\"sending\");\n this.emit(\"changed\", this.snapshot);\n\n try {\n const response = await this.backendAdapterService.sendMessage({\n sessionId: this.sessionService.getSnapshot().sessionId,\n message,\n context: this.contentContextService.getSnapshot()\n });\n\n const assistantMessage = this.createMessage(\"assistant\", response.content, response.timestamp);\n this.snapshot = {\n messages: [...this.snapshot.messages, assistantMessage],\n status: \"ready\"\n };\n this.sessionService.touch();\n this.experienceStateService.setConnectionState(\"ready\");\n this.emit(\"changed\", this.snapshot);\n return assistantMessage;\n } catch (error) {\n const lastError = getErrorMessage(error);\n this.snapshot = {\n ...this.snapshot,\n status: \"error\",\n lastError\n };\n this.experienceStateService.setConnectionState(\"error\", lastError);\n this.emit(\"changed\", this.snapshot);\n throw error;\n }\n }\n\n private createMessage(role: ConversationMessage[\"role\"], content: string, timestamp?: number): ConversationMessage {\n const config = this.serviceConfig ?? {};\n this.sequence += 1;\n return {\n id: `${role}-${this.sequence}`,\n role,\n content,\n timestamp: timestamp ?? getNow(config.now)\n };\n }\n}\n\nexport class RenderStateService extends BaseEventService<{ changed: RenderStateSnapshot }> {\n private snapshot: RenderStateSnapshot = {\n timestamp: 0,\n deltaTime: 0,\n frame: 0,\n source: \"idle\"\n };\n\n public getSnapshot(): RenderStateSnapshot {\n return this.snapshot;\n }\n\n public override render(context: LifecycleContext): void {\n this.snapshot = context;\n this.emit(\"changed\", this.snapshot);\n }\n}\n"]}
package/dist/tokens.d.ts CHANGED
@@ -8,4 +8,3 @@ export declare const CONVERSATION_SERVICE_TOKEN: import("@realitycollective/serv
8
8
  export declare const RENDER_STATE_SERVICE_TOKEN: import("@realitycollective/service-framework").ServiceToken<RenderStateService>;
9
9
  export declare const MOCK_BACKEND_ADAPTER_MODULE_TOKEN: import("@realitycollective/service-framework").ServiceToken<MockBackendAdapterModule>;
10
10
  export declare const REST_BACKEND_ADAPTER_MODULE_TOKEN: import("@realitycollective/service-framework").ServiceToken<RestBackendAdapterModule>;
11
- //# sourceMappingURL=tokens.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"tokens.js","sourceRoot":"","sources":["../src/tokens.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,sCAAsC,CAAC;AAa1E,MAAM,CAAC,MAAM,wBAAwB,GAAG,kBAAkB,CAAoB,mBAAmB,CAAC,CAAC;AACnG,MAAM,CAAC,MAAM,8BAA8B,GAAG,kBAAkB,CAAyB,wBAAwB,CAAC,CAAC;AACnH,MAAM,CAAC,MAAM,qBAAqB,GAAG,kBAAkB,CAAiB,gBAAgB,CAAC,CAAC;AAC1F,MAAM,CAAC,MAAM,6BAA6B,GAAG,kBAAkB,CAAwB,uBAAuB,CAAC,CAAC;AAChH,MAAM,CAAC,MAAM,6BAA6B,GAAG,kBAAkB,CAAwB,uBAAuB,CAAC,CAAC;AAChH,MAAM,CAAC,MAAM,0BAA0B,GAAG,kBAAkB,CAAsB,qBAAqB,CAAC,CAAC;AACzG,MAAM,CAAC,MAAM,0BAA0B,GAAG,kBAAkB,CAAqB,oBAAoB,CAAC,CAAC;AACvG,MAAM,CAAC,MAAM,iCAAiC,GAAG,kBAAkB,CAA2B,0BAA0B,CAAC,CAAC;AAC1H,MAAM,CAAC,MAAM,iCAAiC,GAAG,kBAAkB,CAA2B,0BAA0B,CAAC,CAAC"}
1
+ {"version":3,"file":"tokens.js","sourceRoot":"","sources":["../src/tokens.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,sCAAsC,CAAC;AAa1E,MAAM,CAAC,MAAM,wBAAwB,GAAG,kBAAkB,CAAoB,mBAAmB,CAAC,CAAC;AACnG,MAAM,CAAC,MAAM,8BAA8B,GAAG,kBAAkB,CAAyB,wBAAwB,CAAC,CAAC;AACnH,MAAM,CAAC,MAAM,qBAAqB,GAAG,kBAAkB,CAAiB,gBAAgB,CAAC,CAAC;AAC1F,MAAM,CAAC,MAAM,6BAA6B,GAAG,kBAAkB,CAAwB,uBAAuB,CAAC,CAAC;AAChH,MAAM,CAAC,MAAM,6BAA6B,GAAG,kBAAkB,CAAwB,uBAAuB,CAAC,CAAC;AAChH,MAAM,CAAC,MAAM,0BAA0B,GAAG,kBAAkB,CAAsB,qBAAqB,CAAC,CAAC;AACzG,MAAM,CAAC,MAAM,0BAA0B,GAAG,kBAAkB,CAAqB,oBAAoB,CAAC,CAAC;AACvG,MAAM,CAAC,MAAM,iCAAiC,GAAG,kBAAkB,CAA2B,0BAA0B,CAAC,CAAC;AAC1H,MAAM,CAAC,MAAM,iCAAiC,GAAG,kBAAkB,CAA2B,0BAA0B,CAAC,CAAC","sourcesContent":["import { createServiceToken } from \"@realitycollective/service-framework\";\nimport type {\n BackendAdapterService,\n CapabilityService,\n ContentContextService,\n ConversationService,\n ExperienceStateService,\n MockBackendAdapterModule,\n RenderStateService,\n RestBackendAdapterModule,\n SessionService\n} from \"./services.js\";\n\nexport const CAPABILITY_SERVICE_TOKEN = createServiceToken<CapabilityService>(\"CapabilityService\");\nexport const EXPERIENCE_STATE_SERVICE_TOKEN = createServiceToken<ExperienceStateService>(\"ExperienceStateService\");\nexport const SESSION_SERVICE_TOKEN = createServiceToken<SessionService>(\"SessionService\");\nexport const CONTENT_CONTEXT_SERVICE_TOKEN = createServiceToken<ContentContextService>(\"ContentContextService\");\nexport const BACKEND_ADAPTER_SERVICE_TOKEN = createServiceToken<BackendAdapterService>(\"BackendAdapterService\");\nexport const CONVERSATION_SERVICE_TOKEN = createServiceToken<ConversationService>(\"ConversationService\");\nexport const RENDER_STATE_SERVICE_TOKEN = createServiceToken<RenderStateService>(\"RenderStateService\");\nexport const MOCK_BACKEND_ADAPTER_MODULE_TOKEN = createServiceToken<MockBackendAdapterModule>(\"MockBackendAdapterModule\");\nexport const REST_BACKEND_ADAPTER_MODULE_TOKEN = createServiceToken<RestBackendAdapterModule>(\"RestBackendAdapterModule\");\n"]}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@realitycollective/service-framework-client",
3
- "version": "1.0.0",
3
+ "version": "1.0.1-preview.1",
4
4
  "description": "Base React and three.js client composition package for the Reality Collective TypeScript Service Framework.",
5
5
  "author": "Reality Collective",
6
6
  "license": "MIT",
@@ -15,7 +15,8 @@
15
15
  },
16
16
  "files": [
17
17
  "dist",
18
- "Examples"
18
+ "Examples",
19
+ "CHANGELOG.md"
19
20
  ],
20
21
  "keywords": [
21
22
  "service-framework",
@@ -35,9 +36,9 @@
35
36
  "url": "https://github.com/realitycollective/com.realitycollective.service-framework.ts/issues"
36
37
  },
37
38
  "dependencies": {
38
- "@realitycollective/service-framework": "^1.0.0",
39
- "@realitycollective/service-framework-react": "^1.0.0",
40
- "@realitycollective/service-framework-three": "^1.0.0"
39
+ "@realitycollective/service-framework": "^1.0.1-preview.1",
40
+ "@realitycollective/service-framework-react": "^1.0.1-preview.1",
41
+ "@realitycollective/service-framework-three": "^1.0.1-preview.1"
41
42
  },
42
43
  "peerDependencies": {
43
44
  "react": "^19.2.0"
@@ -1 +0,0 @@
1
- {"version":3,"file":"contracts.d.ts","sourceRoot":"","sources":["../src/contracts.ts"],"names":[],"mappings":"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"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,gBAAgB,CAAC;AAC/B,cAAc,cAAc,CAAC;AAC7B,cAAc,YAAY,CAAC;AAC3B,cAAc,cAAc,CAAC;AAC7B,cAAc,eAAe,CAAC;AAC9B,cAAc,aAAa,CAAC"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"profile.d.ts","sourceRoot":"","sources":["../src/profile.ts"],"names":[],"mappings":"AAAA,OAAO,EAGL,KAAK,cAAc,EAEpB,MAAM,sCAAsC,CAAC;AAC9C,OAAO,KAAK,EACV,qCAAqC,EACrC,iCAAiC,EAClC,MAAM,gBAAgB,CAAC;AAwBxB,wBAAgB,oCAAoC,CAAC,OAAO,GAAE,qCAA0C,wEAkBvG;AAED,wBAAgB,gCAAgC,CAAC,OAAO,GAAE,iCAAsC,GAAG,cAAc,CA2FhH"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"react.d.ts","sourceRoot":"","sources":["../src/react.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAwC,MAAM,OAAO,CAAC;AAG7D,OAAO,KAAK,EACV,gCAAgC,EAEjC,MAAM,gBAAgB,CAAC;AAWxB,OAAO,KAAK,EACV,2BAA2B,EAC3B,kBAAkB,EAClB,sBAAsB,EACtB,oBAAoB,EACpB,uBAAuB,EACvB,mBAAmB,EACnB,eAAe,EAChB,MAAM,gBAAgB,CAAC;AACxB,OAAO,EACL,qBAAqB,EACrB,iBAAiB,EACjB,qBAAqB,EACrB,mBAAmB,EACnB,sBAAsB,EACtB,kBAAkB,EAClB,cAAc,EACf,MAAM,eAAe,CAAC;AAevB,wBAAgB,2BAA2B,CAAC,EAC1C,QAAQ,EACR,OAAO,EACP,cAAc,EACf,EAAE,gCAAgC,GAAG,KAAK,CAAC,GAAG,CAAC,OAAO,CAQtD;AAED,wBAAgB,oBAAoB,IAAI,iBAAiB,CAExD;AAED,wBAAgB,kBAAkB,IAAI,kBAAkB,CAEvD;AAED,wBAAgB,yBAAyB,IAAI,sBAAsB,CAElE;AAED,wBAAgB,kBAAkB,IAAI,uBAAuB,CAE5D;AAED,wBAAgB,iBAAiB,IAAI,cAAc,CAElD;AAED,wBAAgB,eAAe,IAAI,eAAe,CAEjD;AAED,wBAAgB,wBAAwB,IAAI,qBAAqB,CAEhE;AAED,wBAAgB,iBAAiB,IAAI,sBAAsB,CAE1D;AAED,wBAAgB,wBAAwB,IAAI,qBAAqB,CAEhE;AAED,wBAAgB,sBAAsB,IAAI,2BAA2B,CAEpE;AAED,wBAAgB,sBAAsB,IAAI,mBAAmB,CAE5D;AAED,wBAAgB,oBAAoB,IAAI,oBAAoB,CAE3D;AAED,wBAAgB,qBAAqB,IAAI,kBAAkB,CAE1D;AAED,wBAAgB,cAAc,IAAI,mBAAmB,CAEpD"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"runtime.d.ts","sourceRoot":"","sources":["../src/runtime.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,cAAc,EACf,MAAM,sCAAsC,CAAC;AAC9C,OAAO,EAAE,qBAAqB,EAAE,MAAM,4CAA4C,CAAC;AACnF,OAAO,KAAK,EAAE,8BAA8B,EAAE,iCAAiC,EAAE,MAAM,gBAAgB,CAAC;AAGxG,qBAAa,0BAA2B,YAAW,8BAA8B;IAC/E,SAAgB,SAAS,4DAAC;IAC1B,SAAgB,WAAW,wEAAC;IAC5B,SAAgB,OAAO,gEAAC;IACxB,SAAgB,OAAO,iBAAC;IAExB,OAAO,CAAC,gBAAgB,CAAoC;gBAEzC,OAAO,GAAE,iCAAsC;IAgB3D,cAAc,CAAC,IAAI,EAAE,qBAAqB,CAAC,OAAO,qBAAqB,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,qBAAqB;IAU3G,OAAO,IAAI,IAAI;CAIvB"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"services.d.ts","sourceRoot":"","sources":["../src/services.ts"],"names":[],"mappings":"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"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"tokens.d.ts","sourceRoot":"","sources":["../src/tokens.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EACV,qBAAqB,EACrB,iBAAiB,EACjB,qBAAqB,EACrB,mBAAmB,EACnB,sBAAsB,EACtB,wBAAwB,EACxB,kBAAkB,EAClB,wBAAwB,EACxB,cAAc,EACf,MAAM,eAAe,CAAC;AAEvB,eAAO,MAAM,wBAAwB,gFAA6D,CAAC;AACnG,eAAO,MAAM,8BAA8B,qFAAuE,CAAC;AACnH,eAAO,MAAM,qBAAqB,6EAAuD,CAAC;AAC1F,eAAO,MAAM,6BAA6B,oFAAqE,CAAC;AAChH,eAAO,MAAM,6BAA6B,oFAAqE,CAAC;AAChH,eAAO,MAAM,0BAA0B,kFAAiE,CAAC;AACzG,eAAO,MAAM,0BAA0B,iFAA+D,CAAC;AACvG,eAAO,MAAM,iCAAiC,uFAA2E,CAAC;AAC1H,eAAO,MAAM,iCAAiC,uFAA2E,CAAC"}