Skip to content

[5/6] Async IDC: Rust cli UX - #6313

Merged
Shubham8287 merged 22 commits into
masterfrom
shub/idc-ux
Oct 25, 2026
Merged

Shubham8287 merged 22 commits into
masterfrom
shub/idc-ux

Conversation

@Shubham8287

@Shubham8287 Shubham8287 commented Oct 16, 2026 •

Copy link
Copy Markdown
Contributor

Description of Changes

Adds CLI, spacetime.json config and spacetime dev changes required for IDC receiver bindings.
It can be reviewed commit wise.

This is required for Receiver Binding of Async IDC proposal

Examples:

Declare a dependency from local source, without publishing it:

{

  "database": "lobby",    # Database to publish

  "module-path": "./lobby",    # Sender module source

  "dependencies": [
    {
      "name": "game_world",  # Local Rust module name for the generated bindings
  
      "module-path": "./game_world",  # Receiver source

      "out-dir": "./lobby/src/remote_bindings"   # Optional; Rust default: <sender module-path>/src/remote_binding
    }
  ]
}

Or with also publishing dependency database.

{
  "database": "lobby",
  "module-path": "./lobby",
  "dependencies": [
    {
      "name": "game_world",

      "database": "game-world",

    }
  ],

  # Additional publish targets; existing children behavior is unchanged
  "children": [
    {
      "database": "game-world",
      "module-path": "./game_world"
    }
  ]
}

The CLI also accepts explicit generation requests:

spacetime generate --lang rust --bindings module \
  --module-path ./game_world --out-dir ./receiver_bindings

--bindings client remains the default. --bindings module requires Rust.

Proposal Drift:

  • Proposal does not mention about the cli command addition, but I belive that will be useful.
  • It use module instead of crates for reciever bindings.
  • Proposal also specify "server" argument in depedency for already running database.

API and ABI breaking changes

Additing configuration and cli change

Rollback safety impact

n/a

Expected complexity level and risk

2

Testing

unit tests

@Shubham8287
Shubham8287 changed the base branch from master to shub/idc-actor October 16, 2026 11:00
@Shubham8287
Shubham8287 force-pushed the shub/idc-ux branch 2 times, most recently from 75071da to 86ccbe7 Compare October 16, 2026 11:04
@Shubham8287
Shubham8287 changed the base branch from shub/idc-actor to master October 16, 2026 12:11
@Shubham8287
Shubham8287 changed the base branch from master to shub/idc-actor October 16, 2026 12:15
@Shubham8287
Shubham8287 force-pushed the shub/idc-ux branch 2 times, most recently from 5927c43 to c22c8d6 Compare October 16, 2026 13:40
@Shubham8287
Shubham8287 force-pushed the shub/idc-actor branch 2 times, most recently from 0b043bc to a1da068 Compare October 21, 2026 20:11
@Shubham8287
Shubham8287 changed the base branch from shub/idc-actor to master October 23, 2026 07:50
Shubham8287 and others added 2 commits October 23, 2026 15:49
# Description of Changes

Documentation follow-up to
#6313, stacked on
`shub/idc-ux` (source head `9165284be7fc20dd62ec189a893ac0de3e0871a3`).

Co-authored-by: Shubham Mishra <shivam828787@gmail.com>
@Shubham8287
Shubham8287 enabled auto-merge October 24, 2026 06:36
@Shubham8287
Shubham8287 added this pull request to the merge queue Oct 25, 2026
Merged via the queue into master with commit bae3597 Oct 25, 2026
124 of 126 checks passed
@Shubham8287
Shubham8287 deleted the shub/idc-ux branch October 25, 2026 11:32
This was referenced Oct 25, 2026
rekhoff added a commit that referenced this pull request Oct 27, 2026
rekhoff added a commit that referenced this pull request Oct 29, 2026
@cloutiertyler cloutiertyler mentioned this pull request Oct 30, 2026
5 of 8 tasks
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants