Hello from Dynamic Apps
- This HTML is served by an HTTP app running inside a V8 isolate.
+ This HTML is served by an HTTP app running inside agentOS.
Call the JSON API
diff --git a/vendor/dynamic-apps/examples/apps-hello-world/package.json b/vendor/dynamic-apps/examples/apps-hello-world/package.json
index 9c5ea687..993787fd 100644
--- a/vendor/dynamic-apps/examples/apps-hello-world/package.json
+++ b/vendor/dynamic-apps/examples/apps-hello-world/package.json
@@ -4,8 +4,8 @@
"private": true,
"type": "module",
"scripts": {
- "start": "node --no-node-snapshot --import tsx src/server.ts",
- "deploy": "node --import tsx src/deploy.ts",
+ "start": "npx tsx src/server.ts",
+ "deploy": "npx tsx src/deploy.ts",
"check-types": "tsc --noEmit"
},
"dependencies": {
diff --git a/vendor/dynamic-apps/examples/apps-hello-world/src/server.ts b/vendor/dynamic-apps/examples/apps-hello-world/src/server.ts
index 811fdead..b13cf593 100644
--- a/vendor/dynamic-apps/examples/apps-hello-world/src/server.ts
+++ b/vendor/dynamic-apps/examples/apps-hello-world/src/server.ts
@@ -4,13 +4,7 @@ import { Hono } from "hono";
const server = new Hono();
-const dispatchRegistry = (request: Request) => {
- const headers = new Headers(request.headers);
- headers.set("x-agentos-app-registry-dispatch", "1");
- return appsRouter.fetch(new Request(request, { headers }));
-};
-server.all("/api/rivet", (c) => dispatchRegistry(c.req.raw));
-server.all("/api/rivet/*", (c) => dispatchRegistry(c.req.raw));
+server.all("/api/rivet/*", (c) => appsRouter.fetch(c.req.raw));
// Mount every deployed application at /apps/:appId.
server.route("/apps", appsRouter);
diff --git a/vendor/dynamic-apps/examples/apps-multiplayer/fixtures/app/package.json b/vendor/dynamic-apps/examples/apps-multiplayer/fixtures/app/package.json
new file mode 100644
index 00000000..7da6914f
--- /dev/null
+++ b/vendor/dynamic-apps/examples/apps-multiplayer/fixtures/app/package.json
@@ -0,0 +1,12 @@
+{
+ "name": "multiplayer-room-app",
+ "version": "0.0.0",
+ "private": true,
+ "type": "module",
+ "main": "src/index.ts",
+ "dependencies": {
+ "@hono/node-server": "2.1.1",
+ "hono": "4.13.3",
+ "rivetkit": "2.3.11"
+ }
+}
diff --git a/vendor/dynamic-apps/examples/apps-multiplayer/fixtures/app/src/index.ts b/vendor/dynamic-apps/examples/apps-multiplayer/fixtures/app/src/index.ts
new file mode 100644
index 00000000..9be651b4
--- /dev/null
+++ b/vendor/dynamic-apps/examples/apps-multiplayer/fixtures/app/src/index.ts
@@ -0,0 +1,44 @@
+import { serve } from "@hono/node-server";
+import { Hono } from "hono";
+import { actor, event, setup } from "rivetkit";
+
+type Position = { x: number; y: number };
+
+// One actor per room. State is shared by every connected client.
+const room = actor({
+ state: { players: {} as Record