chore: rename SDK facade to hivecast-sdk
This commit is contained in:
parent
f3fd4e109f
commit
de5b25ae23
18
README.md
18
README.md
@ -1,6 +1,6 @@
|
|||||||
# Matrix SDK
|
# HiveCast SDK
|
||||||
|
|
||||||
Matrix SDK is the package-author layer for building Matrix actors, browser
|
HiveCast SDK is the package-author layer for building Matrix actors, browser
|
||||||
surfaces, and broker-connected applications without depending on a managed
|
surfaces, and broker-connected applications without depending on a managed
|
||||||
platform repo.
|
platform repo.
|
||||||
|
|
||||||
@ -19,7 +19,7 @@ packed tarballs.
|
|||||||
- Browser host integrations for Matrix web surfaces
|
- Browser host integrations for Matrix web surfaces
|
||||||
- Package-author CLIs and project scaffolds
|
- Package-author CLIs and project scaffolds
|
||||||
|
|
||||||
Matrix SDK is provider-neutral. It does not require a managed platform account,
|
HiveCast SDK is provider-neutral. It does not require a managed platform account,
|
||||||
device-link ceremony, host-link implementation, managed host service, local
|
device-link ceremony, host-link implementation, managed host service, local
|
||||||
platform install, Postgres database, or provider-owned broker authority. A
|
platform install, Postgres database, or provider-owned broker authority. A
|
||||||
provider overlay can issue broker credentials and host runtimes on top of the
|
provider overlay can issue broker credentials and host runtimes on top of the
|
||||||
@ -33,7 +33,7 @@ part of the package-author SDK proof.
|
|||||||
|
|
||||||
| Package | Purpose |
|
| Package | Purpose |
|
||||||
| --- | --- |
|
| --- | --- |
|
||||||
| `@open-matrix/sdk` | Public umbrella facade for actor/package authors |
|
| `@open-matrix/hivecast-sdk` | Public umbrella facade for actor/package authors |
|
||||||
| `@open-matrix/core` | Actor kernel, runtime, transports, serialization, browser actor base classes |
|
| `@open-matrix/core` | Actor kernel, runtime, transports, serialization, browser actor base classes |
|
||||||
| `@open-matrix/cli` | Package-author `matrix` CLI |
|
| `@open-matrix/cli` | Package-author `matrix` CLI |
|
||||||
| `@open-matrix/browser-kit` | Browser app shims, theme tokens, Vite helpers, shell components |
|
| `@open-matrix/browser-kit` | Browser app shims, theme tokens, Vite helpers, shell components |
|
||||||
@ -51,14 +51,14 @@ import { MatrixActor } from '@open-matrix/core';
|
|||||||
Use the umbrella package when you intentionally want the public SDK facade:
|
Use the umbrella package when you intentionally want the public SDK facade:
|
||||||
|
|
||||||
```ts
|
```ts
|
||||||
import { MatrixActor } from '@open-matrix/sdk';
|
import { MatrixActor } from '@open-matrix/hivecast-sdk';
|
||||||
```
|
```
|
||||||
|
|
||||||
## Quick Start
|
## Quick Start
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
git clone git@github.com:matrix-sdk/matrix-sdk.git
|
git clone https://registry.hivecast.ai/open-matrix/hivecast-sdk.git
|
||||||
cd matrix-sdk
|
cd hivecast-sdk
|
||||||
pnpm install --frozen-lockfile
|
pnpm install --frozen-lockfile
|
||||||
pnpm prove
|
pnpm prove
|
||||||
```
|
```
|
||||||
@ -212,7 +212,7 @@ Done and proven:
|
|||||||
|
|
||||||
- The SDK packages build independently from their original source monorepo.
|
- The SDK packages build independently from their original source monorepo.
|
||||||
- Package identities use final `@open-matrix/*` names.
|
- Package identities use final `@open-matrix/*` names.
|
||||||
- `@open-matrix/sdk` re-exports the public actor facade.
|
- `@open-matrix/hivecast-sdk` re-exports the public actor facade.
|
||||||
- A fresh clone passes `pnpm install --frozen-lockfile && pnpm prove`.
|
- A fresh clone passes `pnpm install --frozen-lockfile && pnpm prove`.
|
||||||
- A temporary external consumer can install packed SDK tarballs, compile, start
|
- A temporary external consumer can install packed SDK tarballs, compile, start
|
||||||
a `MatrixActor`, and call it through Matrix runtime/transport.
|
a `MatrixActor`, and call it through Matrix runtime/transport.
|
||||||
@ -232,7 +232,7 @@ must be added as an explicit release policy before any npm publication.
|
|||||||
|
|
||||||
## Relationship To Provider Overlays
|
## Relationship To Provider Overlays
|
||||||
|
|
||||||
Matrix SDK is the provider-neutral actor SDK.
|
HiveCast SDK is the provider-neutral actor SDK.
|
||||||
|
|
||||||
Provider overlays can provide account management, namespaces, API keys, broker
|
Provider overlays can provide account management, namespaces, API keys, broker
|
||||||
credential issuance, runtime hosting, package distribution, and operator UI.
|
credential issuance, runtime hosting, package distribution, and operator UI.
|
||||||
|
|||||||
@ -2,7 +2,7 @@
|
|||||||
|
|
||||||
Date: 2026-06-07
|
Date: 2026-06-07
|
||||||
|
|
||||||
This repository is intended to be a standalone Matrix SDK repository. The SDK
|
This repository is intended to be a standalone HiveCast SDK repository. The SDK
|
||||||
packages must be usable without the HiveCast application monorepo, without
|
packages must be usable without the HiveCast application monorepo, without
|
||||||
Matrix-3 path assumptions, and without platform-only concepts such as Device
|
Matrix-3 path assumptions, and without platform-only concepts such as Device
|
||||||
Link, Host Link, system-auth, or gateway internals.
|
Link, Host Link, system-auth, or gateway internals.
|
||||||
|
|||||||
@ -82,7 +82,7 @@ if (checkOnly) {
|
|||||||
|
|
||||||
const demoHome = process.env.MATRIX_DEMO_HOME
|
const demoHome = process.env.MATRIX_DEMO_HOME
|
||||||
? resolve(process.env.MATRIX_DEMO_HOME)
|
? resolve(process.env.MATRIX_DEMO_HOME)
|
||||||
: mkdtempSync(join(tmpdir(), 'matrix-sdk-hivecast-login.'));
|
: mkdtempSync(join(tmpdir(), 'hivecast-sdk-login.'));
|
||||||
const keep = process.env.MATRIX_DEMO_KEEP === '1' || Boolean(process.env.MATRIX_DEMO_HOME);
|
const keep = process.env.MATRIX_DEMO_KEEP === '1' || Boolean(process.env.MATRIX_DEMO_HOME);
|
||||||
|
|
||||||
try {
|
try {
|
||||||
|
|||||||
@ -1,5 +1,5 @@
|
|||||||
{
|
{
|
||||||
"name": "matrix-sdk-example-standalone-greeter",
|
"name": "hivecast-sdk-example-standalone-greeter",
|
||||||
"version": "0.0.0",
|
"version": "0.0.0",
|
||||||
"runtime": {
|
"runtime": {
|
||||||
"language": "typescript",
|
"language": "typescript",
|
||||||
|
|||||||
@ -1,5 +1,5 @@
|
|||||||
{
|
{
|
||||||
"name": "matrix-sdk-example-standalone-greeter",
|
"name": "hivecast-sdk-example-standalone-greeter",
|
||||||
"version": "0.0.0",
|
"version": "0.0.0",
|
||||||
"private": true,
|
"private": true,
|
||||||
"type": "module",
|
"type": "module",
|
||||||
|
|||||||
@ -74,7 +74,7 @@ let runner;
|
|||||||
|
|
||||||
try {
|
try {
|
||||||
run('pnpm', ['run', 'build']);
|
run('pnpm', ['run', 'build']);
|
||||||
run('pnpm', ['--filter', 'matrix-sdk-example-standalone-greeter', 'run', 'build']);
|
run('pnpm', ['--filter', 'hivecast-sdk-example-standalone-greeter', 'run', 'build']);
|
||||||
|
|
||||||
runner = spawn(process.execPath, [
|
runner = spawn(process.execPath, [
|
||||||
matrixCli, 'run', demoDir,
|
matrixCli, 'run', demoDir,
|
||||||
|
|||||||
@ -1,5 +1,5 @@
|
|||||||
{
|
{
|
||||||
"name": "matrix-sdk-workspace",
|
"name": "hivecast-sdk-workspace",
|
||||||
"version": "0.0.0",
|
"version": "0.0.0",
|
||||||
"private": true,
|
"private": true,
|
||||||
"type": "module",
|
"type": "module",
|
||||||
|
|||||||
@ -1,6 +1,6 @@
|
|||||||
# @open-matrix/cli
|
# @open-matrix/cli
|
||||||
|
|
||||||
Package-author CLI for the Matrix SDK layer.
|
Package-author CLI for the HiveCast SDK layer.
|
||||||
|
|
||||||
This package owns the SDK/package-author `matrix` binary. It does not depend on
|
This package owns the SDK/package-author `matrix` binary. It does not depend on
|
||||||
provider overlay packages, managed host packages, platform system actors,
|
provider overlay packages, managed host packages, platform system actors,
|
||||||
|
|||||||
@ -6,7 +6,7 @@ import test from 'node:test';
|
|||||||
import { main } from '../cli.js';
|
import { main } from '../cli.js';
|
||||||
|
|
||||||
test('init, add actor, and configure write package-local SDK state', async () => {
|
test('init, add actor, and configure write package-local SDK state', async () => {
|
||||||
const root = await mkdtemp(join(tmpdir(), 'matrix-sdk-cli-test.'));
|
const root = await mkdtemp(join(tmpdir(), 'hivecast-sdk-cli-test.'));
|
||||||
|
|
||||||
await main(['init', root, '--name', 'demo-package']);
|
await main(['init', root, '--name', 'demo-package']);
|
||||||
await main(['add', 'actor', 'greeter', '--dir', root, '--mount', 'demo.greeter']);
|
await main(['add', 'actor', 'greeter', '--dir', root, '--mount', 'demo.greeter']);
|
||||||
@ -57,15 +57,15 @@ test('init, add actor, and configure write package-local SDK state', async () =>
|
|||||||
});
|
});
|
||||||
|
|
||||||
test('up delegates a host-runnable package to an explicit managed host command', async () => {
|
test('up delegates a host-runnable package to an explicit managed host command', async () => {
|
||||||
const root = await mkdtemp(join(tmpdir(), 'matrix-sdk-cli-up-test.'));
|
const root = await mkdtemp(join(tmpdir(), 'hivecast-sdk-cli-up-test.'));
|
||||||
const fakeRuntimeHost = join(root, 'fake-runtime-host.mjs');
|
const testRuntimeHost = join(root, 'test-runtime-host.mjs');
|
||||||
const calledPath = join(root, 'runtime-host-called.json');
|
const calledPath = join(root, 'runtime-host-called.json');
|
||||||
|
|
||||||
await main(['init', root, '--name', 'demo-package']);
|
await main(['init', root, '--name', 'demo-package']);
|
||||||
await main(['add', 'actor', 'greeter', '--dir', root, '--mount', 'demo.greeter']);
|
await main(['add', 'actor', 'greeter', '--dir', root, '--mount', 'demo.greeter']);
|
||||||
await mkdir(join(root, 'dist'), { recursive: true });
|
await mkdir(join(root, 'dist'), { recursive: true });
|
||||||
await writeFile(join(root, 'dist', 'index.js'), 'export function createStandaloneGreeterActor() {}\n', 'utf8');
|
await writeFile(join(root, 'dist', 'index.js'), 'export function createStandaloneGreeterActor() {}\n', 'utf8');
|
||||||
await writeFile(fakeRuntimeHost, `
|
await writeFile(testRuntimeHost, `
|
||||||
import { writeFileSync } from 'node:fs';
|
import { writeFileSync } from 'node:fs';
|
||||||
writeFileSync(${JSON.stringify(calledPath)}, JSON.stringify({
|
writeFileSync(${JSON.stringify(calledPath)}, JSON.stringify({
|
||||||
argv: process.argv.slice(2),
|
argv: process.argv.slice(2),
|
||||||
@ -79,7 +79,7 @@ writeFileSync(${JSON.stringify(calledPath)}, JSON.stringify({
|
|||||||
'--key', 'test-key',
|
'--key', 'test-key',
|
||||||
'--cloud', 'https://example.invalid',
|
'--cloud', 'https://example.invalid',
|
||||||
'--space', 'demo-space',
|
'--space', 'demo-space',
|
||||||
'--runtime-host-bin', fakeRuntimeHost,
|
'--runtime-host-bin', testRuntimeHost,
|
||||||
'--runtime-host-routing', 'workspace-source',
|
'--runtime-host-routing', 'workspace-source',
|
||||||
]);
|
]);
|
||||||
await main(['up', '--dir', root, '--json']);
|
await main(['up', '--dir', root, '--json']);
|
||||||
@ -91,7 +91,7 @@ writeFileSync(${JSON.stringify(calledPath)}, JSON.stringify({
|
|||||||
});
|
});
|
||||||
|
|
||||||
test('add actor preserves explicit Actor class suffix', async () => {
|
test('add actor preserves explicit Actor class suffix', async () => {
|
||||||
const root = await mkdtemp(join(tmpdir(), 'matrix-sdk-cli-actor-suffix-test.'));
|
const root = await mkdtemp(join(tmpdir(), 'hivecast-sdk-cli-actor-suffix-test.'));
|
||||||
|
|
||||||
await main(['init', root, '--name', 'demo-package']);
|
await main(['init', root, '--name', 'demo-package']);
|
||||||
await main(['add', 'actor', 'GreeterActor', '--dir', root, '--mount', 'demo.greeter']);
|
await main(['add', 'actor', 'GreeterActor', '--dir', root, '--mount', 'demo.greeter']);
|
||||||
|
|||||||
@ -7,7 +7,7 @@
|
|||||||
"license": "MIT",
|
"license": "MIT",
|
||||||
"repository": {
|
"repository": {
|
||||||
"type": "git",
|
"type": "git",
|
||||||
"url": "https://github.com/matrix-sdk/matrix-sdk.git",
|
"url": "https://registry.hivecast.ai/open-matrix/hivecast-sdk.git",
|
||||||
"directory": "packages/core"
|
"directory": "packages/core"
|
||||||
},
|
},
|
||||||
"keywords": [
|
"keywords": [
|
||||||
|
|||||||
@ -1,6 +1,6 @@
|
|||||||
# @open-matrix/sdk Contract
|
# @open-matrix/hivecast-sdk Contract
|
||||||
|
|
||||||
`@open-matrix/sdk` is a package-author facade over the public SDK package set.
|
`@open-matrix/hivecast-sdk` is a package-author facade over the public SDK package set.
|
||||||
|
|
||||||
It may export from the Node-safe root:
|
It may export from the Node-safe root:
|
||||||
|
|
||||||
|
|||||||
@ -1,6 +1,6 @@
|
|||||||
# @open-matrix/sdk
|
# @open-matrix/hivecast-sdk
|
||||||
|
|
||||||
Public Matrix actor SDK facade for package authors.
|
Public HiveCast actor SDK facade for package authors.
|
||||||
|
|
||||||
Prefer narrow package imports when a package only needs one layer:
|
Prefer narrow package imports when a package only needs one layer:
|
||||||
|
|
||||||
@ -12,5 +12,5 @@ Use this umbrella package when a package intentionally needs the combined actor,
|
|||||||
browser host, contracts, federation, and Omega kernel facade.
|
browser host, contracts, federation, and Omega kernel facade.
|
||||||
|
|
||||||
Import browser app build utilities directly from `@open-matrix/browser-kit` so
|
Import browser app build utilities directly from `@open-matrix/browser-kit` so
|
||||||
headless actor packages can import `@open-matrix/sdk` without loading
|
headless actor packages can import `@open-matrix/hivecast-sdk` without loading
|
||||||
browser-only custom element code.
|
browser-only custom element code.
|
||||||
|
|||||||
@ -1,7 +1,7 @@
|
|||||||
{
|
{
|
||||||
"name": "@open-matrix/sdk",
|
"name": "@open-matrix/hivecast-sdk",
|
||||||
"version": "0.1.0",
|
"version": "0.1.0",
|
||||||
"description": "Public Matrix actor SDK facade for package authors.",
|
"description": "Public HiveCast actor SDK facade for package authors.",
|
||||||
"type": "module",
|
"type": "module",
|
||||||
"private": true,
|
"private": true,
|
||||||
"main": "./dist/index.js",
|
"main": "./dist/index.js",
|
||||||
|
|||||||
@ -31,7 +31,7 @@ for (const pkg of packages) {
|
|||||||
'open-matrix-browser-kit-0.1.0.tgz',
|
'open-matrix-browser-kit-0.1.0.tgz',
|
||||||
'open-matrix-cli-0.1.0.tgz',
|
'open-matrix-cli-0.1.0.tgz',
|
||||||
'open-matrix-core-0.1.0.tgz',
|
'open-matrix-core-0.1.0.tgz',
|
||||||
'open-matrix-sdk-0.1.0.tgz',
|
'open-matrix-hivecast-sdk-0.1.0.tgz',
|
||||||
];
|
];
|
||||||
for (const tarball of tarballs) {
|
for (const tarball of tarballs) {
|
||||||
rmSync(join(pkgRoot, tarball), { force: true });
|
rmSync(join(pkgRoot, tarball), { force: true });
|
||||||
|
|||||||
@ -16,7 +16,7 @@ const packages = [
|
|||||||
'@open-matrix/core',
|
'@open-matrix/core',
|
||||||
'@open-matrix/browser-host',
|
'@open-matrix/browser-host',
|
||||||
'@open-matrix/browser-kit',
|
'@open-matrix/browser-kit',
|
||||||
'@open-matrix/sdk',
|
'@open-matrix/hivecast-sdk',
|
||||||
'@open-matrix/cli',
|
'@open-matrix/cli',
|
||||||
];
|
];
|
||||||
|
|
||||||
@ -70,7 +70,7 @@ async function assertNoSymlinkToHarness(dir) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
async function main() {
|
async function main() {
|
||||||
const proofRoot = await mkdtemp(path.join(tmpdir(), 'matrix-sdk-consumer-proof.'));
|
const proofRoot = await mkdtemp(path.join(tmpdir(), 'hivecast-sdk-consumer-proof.'));
|
||||||
const tarballDir = path.join(proofRoot, 'tarballs');
|
const tarballDir = path.join(proofRoot, 'tarballs');
|
||||||
const consumerDir = path.join(proofRoot, 'consumer');
|
const consumerDir = path.join(proofRoot, 'consumer');
|
||||||
let keep = process.env.MATRIX_SDK_KEEP_CONSUMER_PROOF === '1';
|
let keep = process.env.MATRIX_SDK_KEEP_CONSUMER_PROOF === '1';
|
||||||
@ -94,7 +94,7 @@ async function main() {
|
|||||||
);
|
);
|
||||||
|
|
||||||
await writeFile(path.join(consumerDir, 'package.json'), JSON.stringify({
|
await writeFile(path.join(consumerDir, 'package.json'), JSON.stringify({
|
||||||
name: 'matrix-sdk-external-consumer-proof',
|
name: 'hivecast-sdk-external-consumer-proof',
|
||||||
version: '0.0.0',
|
version: '0.0.0',
|
||||||
private: true,
|
private: true,
|
||||||
type: 'module',
|
type: 'module',
|
||||||
@ -144,7 +144,7 @@ import {
|
|||||||
MatrixRuntime,
|
MatrixRuntime,
|
||||||
TopicRouter,
|
TopicRouter,
|
||||||
} from '@open-matrix/core';
|
} from '@open-matrix/core';
|
||||||
import { MatrixActor as SdkMatrixActor } from '@open-matrix/sdk';
|
import { MatrixActor as SdkMatrixActor } from '@open-matrix/hivecast-sdk';
|
||||||
|
|
||||||
class EchoActor extends MatrixActor {
|
class EchoActor extends MatrixActor {
|
||||||
static accepts = {
|
static accepts = {
|
||||||
|
|||||||
@ -18,7 +18,7 @@ const packages = [
|
|||||||
'@open-matrix/core',
|
'@open-matrix/core',
|
||||||
'@open-matrix/browser-host',
|
'@open-matrix/browser-host',
|
||||||
'@open-matrix/browser-kit',
|
'@open-matrix/browser-kit',
|
||||||
'@open-matrix/sdk',
|
'@open-matrix/hivecast-sdk',
|
||||||
'@open-matrix/cli',
|
'@open-matrix/cli',
|
||||||
];
|
];
|
||||||
|
|
||||||
@ -157,7 +157,7 @@ async function createProofWorkspace(proofRoot) {
|
|||||||
copied: false,
|
copied: false,
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
const copiedWorkspace = path.join(proofRoot, 'matrix-sdk-workspace');
|
const copiedWorkspace = path.join(proofRoot, 'hivecast-sdk-workspace');
|
||||||
await cp(sourceWorkspaceDir, copiedWorkspace, {
|
await cp(sourceWorkspaceDir, copiedWorkspace, {
|
||||||
recursive: true,
|
recursive: true,
|
||||||
dereference: false,
|
dereference: false,
|
||||||
@ -219,7 +219,7 @@ async function stopChild(child) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
async function main() {
|
async function main() {
|
||||||
const proofRoot = await mkdtemp(path.join(tmpdir(), 'matrix-sdk-cli-uat.'));
|
const proofRoot = await mkdtemp(path.join(tmpdir(), 'hivecast-sdk-cli-uat.'));
|
||||||
const proofWorkspace = await createProofWorkspace(proofRoot);
|
const proofWorkspace = await createProofWorkspace(proofRoot);
|
||||||
workspaceDir = proofWorkspace.workspaceDir;
|
workspaceDir = proofWorkspace.workspaceDir;
|
||||||
const tarballDir = path.join(proofRoot, 'tarballs');
|
const tarballDir = path.join(proofRoot, 'tarballs');
|
||||||
@ -271,7 +271,7 @@ async function main() {
|
|||||||
);
|
);
|
||||||
|
|
||||||
await writeFile(path.join(toolingDir, 'package.json'), JSON.stringify({
|
await writeFile(path.join(toolingDir, 'package.json'), JSON.stringify({
|
||||||
name: 'matrix-sdk-cli-uat-tooling',
|
name: 'hivecast-sdk-cli-uat-tooling',
|
||||||
version: '0.0.0',
|
version: '0.0.0',
|
||||||
private: true,
|
private: true,
|
||||||
type: 'module',
|
type: 'module',
|
||||||
@ -424,7 +424,7 @@ async function main() {
|
|||||||
run('pnpm', ['pack', '--pack-destination', packageTarballDir], { cwd: authorDir, stdio: 'pipe' });
|
run('pnpm', ['pack', '--pack-destination', packageTarballDir], { cwd: authorDir, stdio: 'pipe' });
|
||||||
const authorPackageTarball = await findOnlyTarball(packageTarballDir, 'generated author package');
|
const authorPackageTarball = await findOnlyTarball(packageTarballDir, 'generated author package');
|
||||||
await writeFile(path.join(packageConsumerDir, 'package.json'), JSON.stringify({
|
await writeFile(path.join(packageConsumerDir, 'package.json'), JSON.stringify({
|
||||||
name: 'matrix-sdk-package-manager-consumer',
|
name: 'hivecast-sdk-package-manager-consumer',
|
||||||
version: '0.0.0',
|
version: '0.0.0',
|
||||||
private: true,
|
private: true,
|
||||||
type: 'module',
|
type: 'module',
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user