Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion dart/eigen_client/pubspec.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,7 @@ environment:
dependencies:
dio: ^5.10.0
drift: ^2.35.3
eigen_api: ^0.12.0
eigen_api: ^0.12.1
json_annotation: ^4.12.0
web_socket_channel: ^3.0.3

Expand Down
2 changes: 1 addition & 1 deletion flutter/pubspec.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -49,7 +49,7 @@ dependencies:
# Pre-1.0 that resolves to `>=0.1.0 <0.2.0`: the engine announces breakage in
# the MINOR position, so 0.2.0 is the release that needs a deliberate bump
# here. See https://eigeninteractive.com/docs/reference/compatibility.
eigen_api: ^0.12.0
eigen_api: ^0.12.1
dio: ^5.10.0
dio_smart_retry: ^7.0.1
web: ^1.1.2
Expand Down
8 changes: 0 additions & 8 deletions server/.changeset/complete-recipient-sessions.md

This file was deleted.

10 changes: 0 additions & 10 deletions server/.changeset/scaffold-pins.md

This file was deleted.

5 changes: 0 additions & 5 deletions server/.changeset/typed-database-queries.md

This file was deleted.

2 changes: 1 addition & 1 deletion server/clients/dart/CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@

This package is generated from the Eigen engine's OpenAPI specification and its
version tracks [`@eigeninteractive/server`](https://www.npmjs.com/package/@eigeninteractive/server)
exactly: 0.12.0 here is 0.12.0 there. It has no changes of its own.
exactly: 0.12.1 here is 0.12.1 there. It has no changes of its own.

See the engine's changelog:
<https://github.com/eigeninteractive/eigen-platform/blob/main/server/packages/server/CHANGELOG.md>
Expand Down
2 changes: 1 addition & 1 deletion server/clients/dart/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@ The server-authoritative game engine API. Client routes (`/api/engine/_*`) requi

This Dart package is automatically generated by the [OpenAPI Generator](https://openapi-generator.tech) project:

- API version: 0.12.0
- API version: 0.12.1
- Generator version: 7.17.0
- Build package: org.openapitools.codegen.languages.DartDioClientCodegen

Expand Down
2 changes: 1 addition & 1 deletion server/clients/dart/pubspec.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@ description: >-
# `version:` is stamped by the generation script from @eigeninteractive/server's
# package.json. The wire contract is the server's, so the client carries the
# server's version. Do not edit it by hand.
version: 0.12.0
version: 0.12.1
homepage: https://eigeninteractive.com
repository: https://github.com/eigeninteractive/eigen-platform/tree/main/server/clients/dart
issue_tracker: https://github.com/eigeninteractive/eigen-platform/issues
Expand Down
15 changes: 15 additions & 0 deletions server/packages/create-eigen-game/CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,20 @@
# create-eigen-game

## 0.17.8

### Patch Changes

- [#147](https://github.com/eigeninteractive/eigen-platform/pull/147) [`9ccdb0e`](https://github.com/eigeninteractive/eigen-platform/commit/9ccdb0ee5d64b85f6a32a1d02b488f70bc8a5bbe) Thanks [@seenu-k](https://github.com/seenu-k)! - Return complete sessions projected for the authenticated recipient on every accepted command, including starts and offline bot transitions. Preserve outcomes on rating transitions so HTTP, socket and cold reads agree at the same sequence. Remove the redundant solo-start read.

Update scaffold dependencies, use Workbox's supported Node build API without the vulnerable CLI watcher dependency, and let Pub resolve the Firebase Core version compatible with the selected adapter.

- [#150](https://github.com/eigeninteractive/eigen-platform/pull/150) [`fd29ed0`](https://github.com/eigeninteractive/eigen-platform/commit/fd29ed098911fd9af849afe788122fb6e6c36a82) Thanks [@eigen-release](https://github.com/apps/eigen-release)! - Install the newly released Dart packages in a scaffolded app.

- `eigen_codegen` ^0.2.0
- `eigen_flutter` ^0.17.0
- `eigen_shell` ^0.8.0
- `eigen_firebase` ^0.7.0

## 0.17.7

### Patch Changes
Expand Down
2 changes: 1 addition & 1 deletion server/packages/create-eigen-game/package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "create-eigen-game",
"version": "0.17.7",
"version": "0.17.8",
"license": "MIT",
"description": "Scaffold an EigenInteractive game Worker and Flutter app without cloning the engine repositories.",
"type": "module",
Expand Down
7 changes: 7 additions & 0 deletions server/packages/kernel/CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,12 @@
# @eigeninteractive/kernel

## 0.12.1

### Patch Changes

- Updated dependencies []:
- @eigeninteractive/rules@0.12.1

## 0.12.0

### Patch Changes
Expand Down
2 changes: 1 addition & 1 deletion server/packages/kernel/package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "@eigeninteractive/kernel",
"version": "0.12.0",
"version": "0.12.1",
"license": "MIT",
"description": "The pure decision core of the EigenInteractive engine: given a game, state, roster and intent it returns a commit plan or a rejection. No I/O, no platform APIs.",
"main": "./dist/index.js",
Expand Down
4 changes: 4 additions & 0 deletions server/packages/rules/CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,9 @@
# @eigeninteractive/rules

## 0.12.1

No changes in this release.

## 0.12.0

No changes in this release.
Expand Down
2 changes: 1 addition & 1 deletion server/packages/rules/package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "@eigeninteractive/rules",
"version": "0.12.0",
"version": "0.12.1",
"license": "MIT",
"description": "The game-rules contract for the EigenInteractive engine: GameRules, GameModule, the hooks, and the Envelope/Observation types. Pure types, zero engine dependencies.",
"main": "./dist/index.js",
Expand Down
13 changes: 13 additions & 0 deletions server/packages/server/CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,18 @@
# @eigeninteractive/server

## 0.12.1

### Patch Changes

- [#147](https://github.com/eigeninteractive/eigen-platform/pull/147) [`9ccdb0e`](https://github.com/eigeninteractive/eigen-platform/commit/9ccdb0ee5d64b85f6a32a1d02b488f70bc8a5bbe) Thanks [@seenu-k](https://github.com/seenu-k)! - Return complete sessions projected for the authenticated recipient on every accepted command, including starts and offline bot transitions. Preserve outcomes on rating transitions so HTTP, socket and cold reads agree at the same sequence. Remove the redundant solo-start read.

Update scaffold dependencies, use Workbox's supported Node build API without the vulnerable CLI watcher dependency, and let Pub resolve the Firebase Core version compatible with the selected adapter.

- [#147](https://github.com/eigeninteractive/eigen-platform/pull/147) [`9ccdb0e`](https://github.com/eigeninteractive/eigen-platform/commit/9ccdb0ee5d64b85f6a32a1d02b488f70bc8a5bbe) Thanks [@seenu-k](https://github.com/seenu-k)! - Use typed Drizzle predicates, aggregates, and subqueries for user search, relationship sync, revision guards, and commercial quota allocation. Keep quota checks and slot allocation inside the same database statement and batch transaction.
- Updated dependencies []:
- @eigeninteractive/kernel@0.12.1
- @eigeninteractive/rules@0.12.1

## 0.12.0

### Patch Changes
Expand Down
2 changes: 1 addition & 1 deletion server/packages/server/openapi.json
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
"openapi": "3.1.0",
"info": {
"title": "EigenInteractive Engine API",
"version": "0.12.0",
"version": "0.12.1",
"description": "The server-authoritative game engine API. Client routes (`/api/engine/*`) require a Firebase ID token; the external-bot webhook (`/api/bot/action`) is HMAC-authenticated."
},
"tags": [
Expand Down
2 changes: 1 addition & 1 deletion server/packages/server/package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "@eigeninteractive/server",
"version": "0.12.0",
"version": "0.12.1",
"license": "MIT",
"description": "The deployable half of the EigenInteractive engine: the createEngine Worker factory, the BaseGameDO Durable Object base class, the D1 schema and appliers, auth, bots and push.",
"main": "./dist/index.js",
Expand Down
8 changes: 8 additions & 0 deletions server/packages/testkit/CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,13 @@
# @eigeninteractive/testkit

## 0.12.1

### Patch Changes

- Updated dependencies []:
- @eigeninteractive/kernel@0.12.1
- @eigeninteractive/rules@0.12.1

## 0.12.0

### Minor Changes
Expand Down
2 changes: 1 addition & 1 deletion server/packages/testkit/package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "@eigeninteractive/testkit",
"version": "0.12.0",
"version": "0.12.1",
"license": "MIT",
"description": "Test helpers for games built on the EigenInteractive engine: drive rules through the real kernel and run shared twin fixtures, with no Worker, database or network.",
"main": "./dist/index.js",
Expand Down
2 changes: 1 addition & 1 deletion web/api/openapi.json
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
"openapi": "3.1.0",
"info": {
"title": "EigenInteractive Engine API",
"version": "0.12.0",
"version": "0.12.1",
"description": "The server-authoritative game engine API. Client routes (`/api/engine/*`) require a Firebase ID token; the external-bot webhook (`/api/bot/action`) is HMAC-authenticated."
},
"tags": [
Expand Down
2 changes: 1 addition & 1 deletion web/docs/reference/http-api/accept-friend-request.api.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@ description: "acceptFriendRequest"
sidebar_label: "acceptFriendRequest"
hide_title: true
hide_table_of_contents: true
api: {"operationId":"acceptFriendRequest","tags":["Social"],"parameters":[{"schema":{"type":"string","minLength":1},"required":true,"name":"userId","in":"path"}],"responses":{"204":{"description":"The request was accepted"},"400":{"description":"Invalid request","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string"},"code":{"type":"string","enum":["notActive","notReady","expired","notPending","stateUpdated","invalidPayload","illegalMove","unknownGame","notJoinable","gameFull","alreadyJoined","notParticipant","notCreator","creatorCannotLeave","clientUpdateRequired","serverUpdateRequired","usernameInvalid","usernameTaken","friendsOnly","registrationRequired","capabilityRequired","contentRequired","commercialLimitReached","creationConflict","purchasePending","purchaseConflict","imageTooLarge","unsupportedImageType","rateLimited","invalidCursor","localOnly","notLocalBot"],"description":"A stable machine code identifying why a request failed.","title":"ErrorCode"}},"required":["error"],"title":"ErrorResponse"}}}},"401":{"description":"Missing or invalid token","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string"},"code":{"type":"string","enum":["notActive","notReady","expired","notPending","stateUpdated","invalidPayload","illegalMove","unknownGame","notJoinable","gameFull","alreadyJoined","notParticipant","notCreator","creatorCannotLeave","clientUpdateRequired","serverUpdateRequired","usernameInvalid","usernameTaken","friendsOnly","registrationRequired","capabilityRequired","contentRequired","commercialLimitReached","creationConflict","purchasePending","purchaseConflict","imageTooLarge","unsupportedImageType","rateLimited","invalidCursor","localOnly","notLocalBot"],"description":"A stable machine code identifying why a request failed.","title":"ErrorCode"}},"required":["error"],"title":"ErrorResponse"}}}},"403":{"description":"Not allowed","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string"},"code":{"type":"string","enum":["notActive","notReady","expired","notPending","stateUpdated","invalidPayload","illegalMove","unknownGame","notJoinable","gameFull","alreadyJoined","notParticipant","notCreator","creatorCannotLeave","clientUpdateRequired","serverUpdateRequired","usernameInvalid","usernameTaken","friendsOnly","registrationRequired","capabilityRequired","contentRequired","commercialLimitReached","creationConflict","purchasePending","purchaseConflict","imageTooLarge","unsupportedImageType","rateLimited","invalidCursor","localOnly","notLocalBot"],"description":"A stable machine code identifying why a request failed.","title":"ErrorCode"}},"required":["error"],"title":"ErrorResponse"}}}},"404":{"description":"Not found","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string"},"code":{"type":"string","enum":["notActive","notReady","expired","notPending","stateUpdated","invalidPayload","illegalMove","unknownGame","notJoinable","gameFull","alreadyJoined","notParticipant","notCreator","creatorCannotLeave","clientUpdateRequired","serverUpdateRequired","usernameInvalid","usernameTaken","friendsOnly","registrationRequired","capabilityRequired","contentRequired","commercialLimitReached","creationConflict","purchasePending","purchaseConflict","imageTooLarge","unsupportedImageType","rateLimited","invalidCursor","localOnly","notLocalBot"],"description":"A stable machine code identifying why a request failed.","title":"ErrorCode"}},"required":["error"],"title":"ErrorResponse"}}}}},"description":"acceptFriendRequest","method":"post","path":"/api/engine/friends/requests/{userId}/accept","security":[{"firebase":[]}],"securitySchemes":{"firebase":{"type":"http","scheme":"bearer","bearerFormat":"JWT","description":"A Firebase ID token, sent as `Authorization: Bearer <token>`."},"botHmac":{"type":"apiKey","in":"header","name":"Eigen-Signature","description":"An external bot's HMAC signature over the exact request body, bound to the `action` domain. Scheme `v1,<base64>`; the per-bot key is `HMAC(BOT_SIGNING_SECRET, botId)`. The engine signs wakes with the same header in the other direction."}},"info":{"title":"EigenInteractive Engine API","version":"0.12.0","description":"The server-authoritative game engine API. Client routes (`/api/engine/*`) require a Firebase ID token; the external-bot webhook (`/api/bot/action`) is HMAC-authenticated."},"postman":{"name":"accept Friend Request","description":{"type":"text/plain"},"url":{"path":["api","engine","friends","requests",":userId","accept"],"host":["{{baseUrl}}"],"query":[],"variable":[{"disabled":false,"description":{"content":"(Required) ","type":"text/plain"},"type":"any","value":"","key":"userId"}]},"header":[{"key":"Accept","value":"application/json"}],"method":"POST"}}
api: {"operationId":"acceptFriendRequest","tags":["Social"],"parameters":[{"schema":{"type":"string","minLength":1},"required":true,"name":"userId","in":"path"}],"responses":{"204":{"description":"The request was accepted"},"400":{"description":"Invalid request","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string"},"code":{"type":"string","enum":["notActive","notReady","expired","notPending","stateUpdated","invalidPayload","illegalMove","unknownGame","notJoinable","gameFull","alreadyJoined","notParticipant","notCreator","creatorCannotLeave","clientUpdateRequired","serverUpdateRequired","usernameInvalid","usernameTaken","friendsOnly","registrationRequired","capabilityRequired","contentRequired","commercialLimitReached","creationConflict","purchasePending","purchaseConflict","imageTooLarge","unsupportedImageType","rateLimited","invalidCursor","localOnly","notLocalBot"],"description":"A stable machine code identifying why a request failed.","title":"ErrorCode"}},"required":["error"],"title":"ErrorResponse"}}}},"401":{"description":"Missing or invalid token","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string"},"code":{"type":"string","enum":["notActive","notReady","expired","notPending","stateUpdated","invalidPayload","illegalMove","unknownGame","notJoinable","gameFull","alreadyJoined","notParticipant","notCreator","creatorCannotLeave","clientUpdateRequired","serverUpdateRequired","usernameInvalid","usernameTaken","friendsOnly","registrationRequired","capabilityRequired","contentRequired","commercialLimitReached","creationConflict","purchasePending","purchaseConflict","imageTooLarge","unsupportedImageType","rateLimited","invalidCursor","localOnly","notLocalBot"],"description":"A stable machine code identifying why a request failed.","title":"ErrorCode"}},"required":["error"],"title":"ErrorResponse"}}}},"403":{"description":"Not allowed","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string"},"code":{"type":"string","enum":["notActive","notReady","expired","notPending","stateUpdated","invalidPayload","illegalMove","unknownGame","notJoinable","gameFull","alreadyJoined","notParticipant","notCreator","creatorCannotLeave","clientUpdateRequired","serverUpdateRequired","usernameInvalid","usernameTaken","friendsOnly","registrationRequired","capabilityRequired","contentRequired","commercialLimitReached","creationConflict","purchasePending","purchaseConflict","imageTooLarge","unsupportedImageType","rateLimited","invalidCursor","localOnly","notLocalBot"],"description":"A stable machine code identifying why a request failed.","title":"ErrorCode"}},"required":["error"],"title":"ErrorResponse"}}}},"404":{"description":"Not found","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string"},"code":{"type":"string","enum":["notActive","notReady","expired","notPending","stateUpdated","invalidPayload","illegalMove","unknownGame","notJoinable","gameFull","alreadyJoined","notParticipant","notCreator","creatorCannotLeave","clientUpdateRequired","serverUpdateRequired","usernameInvalid","usernameTaken","friendsOnly","registrationRequired","capabilityRequired","contentRequired","commercialLimitReached","creationConflict","purchasePending","purchaseConflict","imageTooLarge","unsupportedImageType","rateLimited","invalidCursor","localOnly","notLocalBot"],"description":"A stable machine code identifying why a request failed.","title":"ErrorCode"}},"required":["error"],"title":"ErrorResponse"}}}}},"description":"acceptFriendRequest","method":"post","path":"/api/engine/friends/requests/{userId}/accept","security":[{"firebase":[]}],"securitySchemes":{"firebase":{"type":"http","scheme":"bearer","bearerFormat":"JWT","description":"A Firebase ID token, sent as `Authorization: Bearer <token>`."},"botHmac":{"type":"apiKey","in":"header","name":"Eigen-Signature","description":"An external bot's HMAC signature over the exact request body, bound to the `action` domain. Scheme `v1,<base64>`; the per-bot key is `HMAC(BOT_SIGNING_SECRET, botId)`. The engine signs wakes with the same header in the other direction."}},"info":{"title":"EigenInteractive Engine API","version":"0.12.1","description":"The server-authoritative game engine API. Client routes (`/api/engine/*`) require a Firebase ID token; the external-bot webhook (`/api/bot/action`) is HMAC-authenticated."},"postman":{"name":"accept Friend Request","description":{"type":"text/plain"},"url":{"path":["api","engine","friends","requests",":userId","accept"],"host":["{{baseUrl}}"],"query":[],"variable":[{"disabled":false,"description":{"content":"(Required) ","type":"text/plain"},"type":"any","value":"","key":"userId"}]},"header":[{"key":"Accept","value":"application/json"}],"method":"POST"}}
sidebar_class_name: "post api-method"
info_path: docs/reference/http-api/eigeninteractive-engine-api
custom_edit_url: null
Expand Down
Loading
Loading