chore: move SDK demos under demos
This commit is contained in:
parent
dd1872e3de
commit
306c421a4e
@ -190,7 +190,7 @@ pnpm run doctor:standalone
|
||||
pnpm demo:standalone
|
||||
```
|
||||
|
||||
This builds the SDK and `examples/standalone-greeter`, starts the actor with
|
||||
This builds the SDK and `demos/standalone-greeter`, starts the actor with
|
||||
`matrix package run`, calls it with `--check-op` over a real local NATS broker,
|
||||
and shuts it down. It does not use a provider account, machine link, managed
|
||||
host service, or local HTTP control server.
|
||||
@ -229,10 +229,10 @@ CLI.
|
||||
|
||||
That proof builds and runs two fresh package-author demos:
|
||||
|
||||
- `examples/fresh-server-actor` exchanges the API key for an actor-scoped
|
||||
- `demos/fresh-server-actor` exchanges the API key for an actor-scoped
|
||||
credential, connects to HiveCast NATS TCP, mounts `fresh.server.echo`, and
|
||||
calls it over the Matrix runtime/NATS transport path.
|
||||
- `examples/fresh-web-page` is served by Vite, not Matrix Web or HiveCast HTTP.
|
||||
- `demos/fresh-web-page` is served by Vite, not Matrix Web or HiveCast HTTP.
|
||||
Its Vite dev endpoint exchanges the API key for an actor-scoped browser
|
||||
credential, the page connects to HiveCast NATS WebSocket, mounts
|
||||
`fresh.web.echo`, and calls it in a real browser.
|
||||
@ -289,7 +289,7 @@ Done and proven:
|
||||
a `MatrixActor`, and call it through Matrix runtime/transport.
|
||||
- `matrix package run` can mount and check a package against an explicit NATS
|
||||
broker without provider-specific API key exchange.
|
||||
- Fresh server and browser examples can run against HiveCast-issued
|
||||
- Fresh server and browser demos can run against HiveCast-issued
|
||||
actor-scoped NATS credentials.
|
||||
|
||||
Still planned:
|
||||
|
||||
@ -18,8 +18,8 @@ export MATRIX_API_KEY=<your-hivecast-api-key>
|
||||
|
||||
pnpm install --frozen-lockfile
|
||||
pnpm run doctor
|
||||
pnpm --filter matrix-sdk-example-fresh-server-actor build
|
||||
pnpm --filter matrix-sdk-example-fresh-server-actor check
|
||||
pnpm --filter matrix-sdk-demo-fresh-server-actor build
|
||||
pnpm --filter matrix-sdk-demo-fresh-server-actor check
|
||||
```
|
||||
|
||||
Expected result:
|
||||
@ -1,5 +1,5 @@
|
||||
{
|
||||
"name": "matrix-sdk-example-fresh-server-actor",
|
||||
"name": "matrix-sdk-demo-fresh-server-actor",
|
||||
"version": "0.1.0",
|
||||
"private": true,
|
||||
"type": "module",
|
||||
@ -104,7 +104,7 @@ async function main(): Promise<void> {
|
||||
}, {
|
||||
mount,
|
||||
actorId: 'FreshServerEchoActor',
|
||||
packageId: 'matrix-sdk-example-fresh-server-actor',
|
||||
packageId: 'matrix-sdk-demo-fresh-server-actor',
|
||||
runtimeId: `fresh-server-${process.pid}`,
|
||||
accepts: FreshServerEchoActor.accepts,
|
||||
ttlSeconds: 300,
|
||||
@ -24,7 +24,7 @@ export MATRIX_API_KEY=<your-hivecast-api-key>
|
||||
pnpm install --frozen-lockfile
|
||||
pnpm setup:browser
|
||||
pnpm run doctor:hivecast
|
||||
pnpm --filter matrix-sdk-example-fresh-web-page dev
|
||||
pnpm --filter matrix-sdk-demo-fresh-web-page dev
|
||||
```
|
||||
|
||||
Open the printed Vite URL. The page mounts a browser actor and calls it over
|
||||
@ -1,5 +1,5 @@
|
||||
{
|
||||
"name": "matrix-sdk-example-fresh-web-page",
|
||||
"name": "matrix-sdk-demo-fresh-web-page",
|
||||
"version": "0.1.0",
|
||||
"private": true,
|
||||
"type": "module",
|
||||
@ -36,7 +36,7 @@ function hiveCastActorCredentialPlugin(): Plugin {
|
||||
}, {
|
||||
mount: env('MATRIX_WEB_MOUNT') ?? 'fresh.web.echo',
|
||||
actorId: 'FreshBrowserEchoActor',
|
||||
packageId: 'matrix-sdk-example-fresh-web-page',
|
||||
packageId: 'matrix-sdk-demo-fresh-web-page',
|
||||
runtimeId: `fresh-web-${process.pid}`,
|
||||
accepts: { echo: {}, getStatus: {} },
|
||||
ttlSeconds: 300,
|
||||
@ -1,5 +1,5 @@
|
||||
{
|
||||
"name": "matrix-sdk-example-standalone-greeter",
|
||||
"name": "matrix-sdk-demo-standalone-greeter",
|
||||
"version": "0.0.0",
|
||||
"runtime": {
|
||||
"language": "typescript",
|
||||
@ -1,5 +1,5 @@
|
||||
{
|
||||
"name": "matrix-sdk-example-standalone-greeter",
|
||||
"name": "matrix-sdk-demo-standalone-greeter",
|
||||
"version": "0.0.0",
|
||||
"private": true,
|
||||
"type": "module",
|
||||
@ -81,7 +81,7 @@ let natsServer;
|
||||
|
||||
try {
|
||||
run('pnpm', ['run', 'build']);
|
||||
run('pnpm', ['--filter', 'matrix-sdk-example-standalone-greeter', 'run', 'build']);
|
||||
run('pnpm', ['--filter', 'matrix-sdk-demo-standalone-greeter', 'run', 'build']);
|
||||
|
||||
const nats = resolveNatsServer(repoRoot);
|
||||
if (!nats) {
|
||||
@ -15,7 +15,7 @@
|
||||
"doctor:hivecast": "node scripts/doctor.mjs --hivecast",
|
||||
"setup:nats": "node scripts/setup-nats-server.mjs",
|
||||
"setup:browser": "pnpm exec playwright install chromium",
|
||||
"demo:standalone": "node examples/standalone-greeter/run-demo.mjs",
|
||||
"demo:standalone": "node demos/standalone-greeter/run-demo.mjs",
|
||||
"prove:cli": "pnpm --filter @open-matrix/cli... build && pnpm --filter @open-matrix/cli test && pnpm run demo:standalone",
|
||||
"prove:external-consumer": "node scripts/prove-external-consumer.mjs",
|
||||
"prove:fresh-samples": "node scripts/prove-fresh-samples.mjs",
|
||||
|
||||
@ -38,10 +38,10 @@ Server actors use `NatsTransport` with `credential.transport.natsUrl`; browser
|
||||
actors use `createBrowserNatsTransport` with
|
||||
`credential.transport.natsWsUrl`.
|
||||
|
||||
Runnable examples:
|
||||
Runnable demos:
|
||||
|
||||
- `examples/fresh-server-actor`
|
||||
- `examples/fresh-web-page`
|
||||
- `demos/fresh-server-actor`
|
||||
- `demos/fresh-web-page`
|
||||
|
||||
Proof:
|
||||
|
||||
|
||||
6
pnpm-lock.yaml
generated
6
pnpm-lock.yaml
generated
@ -43,7 +43,7 @@ importers:
|
||||
specifier: ^5.7.0
|
||||
version: 5.9.3
|
||||
|
||||
examples/fresh-server-actor:
|
||||
demos/fresh-server-actor:
|
||||
dependencies:
|
||||
'@open-matrix/sdk':
|
||||
specifier: workspace:*
|
||||
@ -59,7 +59,7 @@ importers:
|
||||
specifier: ^5.7.0
|
||||
version: 5.9.3
|
||||
|
||||
examples/fresh-web-page:
|
||||
demos/fresh-web-page:
|
||||
dependencies:
|
||||
'@open-matrix/sdk':
|
||||
specifier: workspace:*
|
||||
@ -75,7 +75,7 @@ importers:
|
||||
specifier: ^5.4.21
|
||||
version: 5.4.21(@types/node@25.9.2)
|
||||
|
||||
examples/standalone-greeter:
|
||||
demos/standalone-greeter:
|
||||
dependencies:
|
||||
'@open-matrix/core':
|
||||
specifier: workspace:*
|
||||
|
||||
@ -1,3 +1,3 @@
|
||||
packages:
|
||||
- "packages/*"
|
||||
- "examples/*"
|
||||
- "demos/*"
|
||||
|
||||
@ -91,7 +91,7 @@ async function proveWebLive() {
|
||||
const origin = `http://127.0.0.1:${port}`;
|
||||
const vite = spawn('pnpm', [
|
||||
'--filter',
|
||||
'matrix-sdk-example-fresh-web-page',
|
||||
'matrix-sdk-demo-fresh-web-page',
|
||||
'exec',
|
||||
'vite',
|
||||
'--host',
|
||||
@ -168,20 +168,20 @@ async function proveWebLive() {
|
||||
|
||||
run('pnpm', ['--filter', '@open-matrix/core', 'build']);
|
||||
run('pnpm', ['--filter', '@open-matrix/sdk', 'build']);
|
||||
run('pnpm', ['--filter', 'matrix-sdk-example-fresh-server-actor', 'build']);
|
||||
run('pnpm', ['--filter', 'matrix-sdk-example-fresh-web-page', 'build']);
|
||||
run('pnpm', ['--filter', 'matrix-sdk-demo-fresh-server-actor', 'build']);
|
||||
run('pnpm', ['--filter', 'matrix-sdk-demo-fresh-web-page', 'build']);
|
||||
|
||||
assertContains('examples/fresh-server-actor/src/server.ts', "from '@open-matrix/sdk'");
|
||||
assertContains('examples/fresh-server-actor/src/server.ts', 'exchangeHiveCastActorCredential');
|
||||
assertContains('examples/fresh-web-page/src/main.ts', "from '@open-matrix/sdk'");
|
||||
assertContains('examples/fresh-web-page/vite.config.ts', 'exchangeHiveCastActorCredential');
|
||||
assertContains('examples/fresh-web-page/README.md', 'served by Vite, not by Matrix Web');
|
||||
assertContains('demos/fresh-server-actor/src/server.ts', "from '@open-matrix/sdk'");
|
||||
assertContains('demos/fresh-server-actor/src/server.ts', 'exchangeHiveCastActorCredential');
|
||||
assertContains('demos/fresh-web-page/src/main.ts', "from '@open-matrix/sdk'");
|
||||
assertContains('demos/fresh-web-page/vite.config.ts', 'exchangeHiveCastActorCredential');
|
||||
assertContains('demos/fresh-web-page/README.md', 'served by Vite, not by Matrix Web');
|
||||
|
||||
const live = hasHiveCastEnv();
|
||||
let serverLive = null;
|
||||
let webLive = null;
|
||||
if (live) {
|
||||
const result = run('pnpm', ['--filter', 'matrix-sdk-example-fresh-server-actor', 'check'], { stdio: 'pipe' });
|
||||
const result = run('pnpm', ['--filter', 'matrix-sdk-demo-fresh-server-actor', 'check'], { stdio: 'pipe' });
|
||||
serverLive = parseLastJsonObject(result.stdout);
|
||||
if (serverLive.ok !== true || serverLive.demo !== 'fresh-server-actor') {
|
||||
throw new Error(`Unexpected fresh server actor proof: ${result.stdout}`);
|
||||
@ -193,8 +193,8 @@ console.log(JSON.stringify({
|
||||
ok: true,
|
||||
proof: 'fresh-samples',
|
||||
built: [
|
||||
'matrix-sdk-example-fresh-server-actor',
|
||||
'matrix-sdk-example-fresh-web-page',
|
||||
'matrix-sdk-demo-fresh-server-actor',
|
||||
'matrix-sdk-demo-fresh-web-page',
|
||||
],
|
||||
hivecastEnvPresent: live,
|
||||
serverLive,
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user