@crowdedkingdoms/crowdyjs 16.2.0-test.1 → 17.0.0-dev.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (47) hide show
  1. package/MIGRATION.md +75 -0
  2. package/README.md +1 -1
  3. package/dist/crowdy-dsh/bridge.d.ts +1 -0
  4. package/dist/crowdy-dsh/bridge.d.ts.map +1 -1
  5. package/dist/crowdy-dsh/bridge.js +37 -12
  6. package/dist/crowdy-dsh/protocol.d.ts +25 -5
  7. package/dist/crowdy-dsh/protocol.d.ts.map +1 -1
  8. package/dist/crowdy-dsh/protocol.js +9 -1
  9. package/dist/crowdy-studio/controller.d.ts +22 -16
  10. package/dist/crowdy-studio/controller.d.ts.map +1 -1
  11. package/dist/crowdy-studio/controller.js +55 -72
  12. package/dist/crowdy-studio/dom-shell.d.ts +1 -2
  13. package/dist/crowdy-studio/dom-shell.d.ts.map +1 -1
  14. package/dist/crowdy-studio/dom-shell.js +35 -29
  15. package/dist/crowdy-studio/embed/panel.d.ts +10 -0
  16. package/dist/crowdy-studio/embed/panel.d.ts.map +1 -1
  17. package/dist/crowdy-studio/embed/panel.js +3 -1
  18. package/dist/crowdy-studio/github/index.d.ts +2 -2
  19. package/dist/crowdy-studio/github/index.d.ts.map +1 -1
  20. package/dist/crowdy-studio/github/index.js +1 -1
  21. package/dist/crowdy-studio/github/layout.d.ts +22 -0
  22. package/dist/crowdy-studio/github/layout.d.ts.map +1 -0
  23. package/dist/crowdy-studio/github/layout.js +66 -0
  24. package/dist/crowdy-studio/github/transport.d.ts +67 -9
  25. package/dist/crowdy-studio/github/transport.d.ts.map +1 -1
  26. package/dist/crowdy-studio/github/transport.js +61 -17
  27. package/dist/crowdy-studio/models.d.ts +29 -0
  28. package/dist/crowdy-studio/models.d.ts.map +1 -1
  29. package/dist/crowdy-studio/models.js +1 -0
  30. package/dist/default-origin.d.ts +6 -6
  31. package/dist/default-origin.d.ts.map +1 -1
  32. package/dist/default-origin.js +6 -6
  33. package/dist/domains/crowdyStudio.d.ts +25 -3
  34. package/dist/domains/crowdyStudio.d.ts.map +1 -1
  35. package/dist/domains/crowdyStudio.js +164 -10
  36. package/dist/generated/graphql.d.ts +148 -30
  37. package/dist/generated/graphql.d.ts.map +1 -1
  38. package/dist/generated/graphql.js +25 -9
  39. package/dist/index.d.ts +1 -1
  40. package/dist/index.d.ts.map +1 -1
  41. package/dist/index.js +1 -1
  42. package/dist/kit/npcs.d.ts.map +1 -1
  43. package/dist/kit/social.d.ts.map +1 -1
  44. package/package.json +1 -1
  45. package/dist/crowdy-studio/github/sync.d.ts +0 -49
  46. package/dist/crowdy-studio/github/sync.d.ts.map +0 -1
  47. package/dist/crowdy-studio/github/sync.js +0 -200
package/MIGRATION.md CHANGED
@@ -1,3 +1,78 @@
1
+ # CrowdyJS v17.0 — a bound GitHub repository is the working tree; GitHub stays optional
2
+
3
+ **Breaking.** `17.0.0` (2026-09-13). Tracks ck-api `v2.0.0`. A project is
4
+ `source: 'STUDIO'` until its owner binds a repository and `'GITHUB'` while one
5
+ is bound; `createProject` is unchanged and GitHub is never required. While
6
+ bound, the project's `files` are the **server's mirror** of the rust under the
7
+ repository's layout roots at `github.sha`, read exactly as before — and every
8
+ save commits: `client.crowdyStudio.saveProject` sends each changed file as its
9
+ own `crowdyStudioGitHubPutFile` (or `DeleteFile`) carrying
10
+ `expectedCommitSha`, then metadata as a plain project save with no file
11
+ bodies. A stale commit is the same `CrowdyStudioRevisionConflictError` the
12
+ editor already recovers from. The controller does not know which path ran.
13
+
14
+ Removed:
15
+
16
+ - `CrowdyStudioGitHubTransport.setAutosave`, `CrowdyStudioGitHubStatus.autosave`
17
+ and the "Also push autosaves" toggle: there is nothing to opt into, saves
18
+ commit.
19
+ - `CrowdyStudioController.pushToGitHub`, `pullFromGitHub`,
20
+ `setGitHubAutosave`, and the Push / Pull buttons on the card. Bind pushes
21
+ (or takes) once; after that the repository is the tree.
22
+ - From `@crowdedkingdoms/crowdyjs/crowdy-studio` (the `github/sync` module):
23
+ `parseCrowdyJson`, `layoutFromTree`, `resolveGitHubLayout`,
24
+ `pullStudioFilesFromGitHub`, `pushStudioFilesToGitHub`,
25
+ `mergeStudioFilesFromGitHub`, `studioFilesMissingOnGitHub`,
26
+ `DEFAULT_FULL_STACK_CROWDY_JSON`, `GitHubLayout`, `GitHubFiles`. The SDK no
27
+ longer parses `crowdy.json`; `client.crowdyStudioGitHub.layout()` is the
28
+ only grammar. `studioFileToRepoPath` / `repoPathToStudioFile` remain, now
29
+ taking the API layout.
30
+ - `DeployPlayerComputeInput.sourceFilesJson`, `sdkVersion`, `abiVersion`:
31
+ `client.playerCompute.deploy` takes `projectId` (+ `commitSha` for a GITHUB
32
+ project) and the server resolves the source. No client body is compiled.
33
+ - `crowdyStudioGitHubTree` returns `{ commitSha, entries }` rather than a bare
34
+ list.
35
+
36
+ Added:
37
+
38
+ - `CrowdyStudioProject.source`, `.github` (`{ owner, repo, branch, sha }`);
39
+ `CrowdyStudioProjectSummary.source`, `.github`, `.githubSha`.
40
+ - `CrowdyStudioGitHubTransport.bind({ …, initial })` — `'PUSH_PROJECT'`
41
+ commits the project into the branch (refused with `GITHUB_REPO_HAS_FILES`
42
+ when the branch already has rust under the roots), `'TAKE_REPOSITORY'`
43
+ adopts the branch (refused with `GITHUB_REPO_EMPTY`). `refresh()` brings the
44
+ mirror to the branch head after a push made elsewhere. `layout()`,
45
+ `deleteFile()`. `putFile` / `deleteFile` take `expectedCommitSha`; the blob
46
+ `sha` is optional (the server resolves it from that commit). `getFile` /
47
+ `tree` / `layout` accept `commitSha`.
48
+ - `CrowdyStudioController.bindGitHubRepo(slug, initial)`, `refreshFromGitHub()`.
49
+ - `createCrowdyStudioEmbed` / `mountCrowdyStudio` `github?:` option for a host
50
+ that holds an identity session (hosted first-party Studio). Games keep the
51
+ default, `client.crowdyStudioGitHub` — the app-token client that plays. The
52
+ API scopes every GitHub field to projects that token's user owns, so a game
53
+ needs no identity session to author against GitHub, and a third-party game
54
+ must never read one.
55
+ - `PlayerWasmModuleVersion.projectId`, `.sourceRevision`, `.githubCommitSha`.
56
+ - Bridge protocol **v3** (`CROWDY_DSH_PROTOCOL_VERSION = 3`): `DshProjectSummary`
57
+ carries `source` / `githubSha`; `page.hello`, `page.project` and
58
+ `page.saved` carry `source` / `githubSha`, and `page.project` fires whenever
59
+ a bound project's commit moves (bind, refresh, save) so the worker's next
60
+ write carries the current `expectedCommitSha`. `crowdy-dsh` `0.3.x` speaks
61
+ v3; a v2 worker is refused by the frame guard.
62
+
63
+ Behaviour worth knowing:
64
+
65
+ - Bind, unbind and refresh refuse over unsaved edits and re-read the project
66
+ afterwards (`reloadProject`), because `TAKE_REPOSITORY` and `refresh`
67
+ replace its files and every path gives it a new `github.sha`.
68
+ - A multi-file save on a bound project is one commit per file. A stale race
69
+ part-way through leaves the earlier commits on the branch and the project
70
+ describing them; the conflict recovery re-reads and "keep my version"
71
+ re-applies the remaining diffs against the new commit.
72
+ - `client.crowdyStudioGitHub` is `DATACENTER_ONLY` on the API: it must be the
73
+ client that adopted the app's datacenter endpoint (the one that plays), not
74
+ one pointed at the shared origin.
75
+
1
76
  # CrowdyJS v16.0 — the Crowdy Agent dock is replaced by the in-browser DeepSeek Harness
2
77
 
3
78
  **Breaking.** `16.0.0` (2026-09-11). Tracks the ck-api release that carries
package/README.md CHANGED
@@ -221,7 +221,7 @@ never told about, so a native refresh without it is a re-placement.
221
221
  | `client.playerWallet` | Player spend: balance, spend caps, card setup, policy, charges. |
222
222
  | `client.marketplace` | Player-code store/install/consent flows plus player-authorized grid claims (`claimGridOwnership`, `claimGridChunk`, `releaseClaimedGrid`) and client-mod artifact fetches. |
223
223
  | `client.crowdyStudio` | Cloud project, personal-library, and common-file APIs for Crowdy Studio: target-scoped files, metadata/module names, optimistic revisions, copy-by-value imports, atomic saves. |
224
- | `client.crowdyStudioGitHub` | GitHub repository loop for Crowdy Studio projects: status, bind, tree, `getFile`, SHA-guarded `putFile`. The Studio agent treats a bound repository as the source of truth. |
224
+ | `client.crowdyStudioGitHub` | Optional GitHub repository for a Crowdy Studio project: status, `bind` (push the project in, or take the repository), `unbind`, `refresh`, `layout`, `tree`, `getFile`, commit-guarded `putFile` / `deleteFile`. While bound the repository is the working tree and every Studio save commits; the project's `files` are the server's mirror at `github.sha`. Never required. |
225
225
  | `client.udp` | UDP proxy subscriptions + spatial mutations (`sendActorUpdate`, `sendVoxelUpdate`, `sendAudioPacket`, `sendVideoPacket` / `sendVideoFrame`, `sendTextPacket`, `sendClientEvent`, `sendSingleActorMessage`, `sendChannelMessage`). |
226
226
  | `client.realtime` | Connection status, manual `connect()` / `disconnect()`, `onStatus()` listener. |
227
227
  | `client.refreshGameplayToken()` | Safely rotates an active game client's app token (see [Token refresh](#token-refresh-during-gameplay)). |
@@ -105,6 +105,7 @@ export declare class StudioDshBridge {
105
105
  private lastHelloAt;
106
106
  private lastToken;
107
107
  private lastProjectId;
108
+ private lastGithubSha;
108
109
  private lastSaveState;
109
110
  private unsubscribeState;
110
111
  private tokenTimer;
@@ -1 +1 @@
1
- {"version":3,"file":"bridge.d.ts","sourceRoot":"","sources":["../../src/crowdy-dsh/bridge.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"bridge.d.ts","sourceRoot":"","sources":["../../src/crowdy-dsh/bridge.ts"],"names":[],"mappings":"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"}
@@ -170,7 +170,6 @@ export class StudioDshBridge {
170
170
  projectId,
171
171
  bridgeChannel: this.channelName,
172
172
  bridgeNonce: this.nonce,
173
- githubFirst: true,
174
173
  root: '/dsh/workspace',
175
174
  persistScope: this.options.persistScope,
176
175
  };
@@ -198,9 +197,11 @@ export class StudioDshBridge {
198
197
  return;
199
198
  this.lastHelloAt = now;
200
199
  const token = this.options.getToken();
200
+ const current = this.options.controller.getState().project;
201
201
  this.emit('page.hello', {
202
202
  appId: this.options.appId,
203
- projectId: this.options.controller.getState().project?.projectId ?? null,
203
+ projectId: current?.projectId ?? null,
204
+ ...(current ? { source: current.source, githubSha: current.github?.sha ?? null } : {}),
204
205
  ...(token ? { appToken: token } : {}),
205
206
  });
206
207
  }
@@ -329,15 +330,15 @@ export class StudioDshBridge {
329
330
  const project = controller.getState().project;
330
331
  if (!project)
331
332
  throw new Error(`Project ${projectId} did not open.`);
332
- this.emit('page.project', { projectId: project.projectId });
333
- return { project: summarizeProject(project.projectId, project.metadata.name, project.kind, project.revision.savedAt) };
333
+ this.emit('page.project', projectEvent(project));
334
+ return { project: summarizeProject(project) };
334
335
  }
335
336
  case 'studio.projectCreate': {
336
337
  const { name, template } = params;
337
338
  const kind = template === 'server' ? 'SERVER' : template === 'client' ? 'CLIENT' : 'FULL_STACK';
338
339
  const project = await controller.createProject({ name, kind: kind });
339
- this.emit('page.project', { projectId: project.projectId });
340
- return { project: summarizeProject(project.projectId, project.metadata.name, project.kind, project.revision.savedAt) };
340
+ this.emit('page.project', projectEvent(project));
341
+ return { project: summarizeProject(project) };
341
342
  }
342
343
  case 'game.observe': {
343
344
  const host = this.options.host?.playerHost;
@@ -416,14 +417,19 @@ export class StudioDshBridge {
416
417
  const controller = this.options.controller;
417
418
  this.lastProjectId = controller.getState().project?.projectId ?? null;
418
419
  this.lastSaveState = controller.getState().saveState;
420
+ this.lastGithubSha = controller.getState().project?.github?.sha ?? null;
419
421
  this.unsubscribeState = controller.subscribe((state) => {
420
422
  const projectId = state.project?.projectId ?? null;
421
- if (projectId !== this.lastProjectId) {
423
+ const githubSha = state.project?.github?.sha ?? null;
424
+ // A moved commit is a project change for the worker: its next write must
425
+ // carry the new expectedCommitSha, and its snapshot is behind the mirror.
426
+ if (projectId !== this.lastProjectId || githubSha !== this.lastGithubSha) {
422
427
  this.lastProjectId = projectId;
423
- this.emit('page.project', { projectId });
428
+ this.lastGithubSha = githubSha;
429
+ this.emit('page.project', state.project ? projectEvent(state.project) : { projectId: null });
424
430
  }
425
431
  if (state.saveState === 'SAVED' && this.lastSaveState !== 'SAVED' && this.inflight.size === 0) {
426
- this.emit('page.saved', { revision: state.project?.revision.id });
432
+ this.emit('page.saved', { revision: state.project?.revision.id, githubSha });
427
433
  }
428
434
  this.lastSaveState = state.saveState;
429
435
  });
@@ -467,10 +473,29 @@ function toDshDiagnostic(diagnostic) {
467
473
  };
468
474
  }
469
475
  function summarize(summary) {
470
- return { projectId: summary.projectId, name: summary.name, kind: String(summary.kind), updatedAt: summary.updatedAt };
476
+ return {
477
+ projectId: summary.projectId,
478
+ name: summary.name,
479
+ kind: String(summary.kind),
480
+ updatedAt: summary.updatedAt,
481
+ source: summary.source,
482
+ githubSha: summary.githubSha,
483
+ ...(summary.github ? { github: summary.github } : {}),
484
+ };
485
+ }
486
+ function projectEvent(project) {
487
+ return { projectId: project.projectId, source: project.source, githubSha: project.github?.sha ?? null };
471
488
  }
472
- function summarizeProject(projectId, name, kind, updatedAt) {
473
- return { projectId, name, kind, updatedAt };
489
+ function summarizeProject(project) {
490
+ return {
491
+ projectId: project.projectId,
492
+ name: project.metadata.name,
493
+ kind: project.kind,
494
+ updatedAt: project.revision.savedAt,
495
+ source: project.source,
496
+ githubSha: project.github?.sha ?? null,
497
+ ...(project.github ? { github: `${project.github.owner}/${project.github.repo}@${project.github.branch}` } : {}),
498
+ };
474
499
  }
475
500
  /** Render the harness settings that point its native adapter at the metered endpoint. */
476
501
  export function renderSettingsYaml(modelBaseUrl, models) {
@@ -23,10 +23,18 @@
23
23
  * player before running it, because the harness UI's approval is inside the
24
24
  * iframe and the page cannot see it.
25
25
  */
26
- export declare const CROWDY_DSH_PROTOCOL_VERSION: 2;
26
+ /**
27
+ * v3 (CrowdyJS 17): a project carries `source` and `githubSha`. A GITHUB
28
+ * project's files are the server's mirror of the repository at that commit;
29
+ * the worker writes them through `crowdyStudioGitHubPutFile` with
30
+ * `expectedCommitSha = githubSha` and no longer mirrors anything back to
31
+ * Studio itself. `page.project` / `page.saved` re-announce the commit whenever
32
+ * it moves so the worker's next write carries the current one.
33
+ */
34
+ export declare const CROWDY_DSH_PROTOCOL_VERSION: 3;
27
35
  export type DshBridgeSide = 'page' | 'worker';
28
36
  export type DshBridgeFrame = {
29
- v: 2;
37
+ v: typeof CROWDY_DSH_PROTOCOL_VERSION;
30
38
  n: string;
31
39
  from: DshBridgeSide;
32
40
  t: 'req';
@@ -34,14 +42,14 @@ export type DshBridgeFrame = {
34
42
  method: string;
35
43
  params: unknown;
36
44
  } | {
37
- v: 2;
45
+ v: typeof CROWDY_DSH_PROTOCOL_VERSION;
38
46
  n: string;
39
47
  from: DshBridgeSide;
40
48
  t: 'res';
41
49
  id: string;
42
50
  result: unknown;
43
51
  } | {
44
- v: 2;
52
+ v: typeof CROWDY_DSH_PROTOCOL_VERSION;
45
53
  n: string;
46
54
  from: DshBridgeSide;
47
55
  t: 'err';
@@ -49,7 +57,7 @@ export type DshBridgeFrame = {
49
57
  code: string;
50
58
  message: string;
51
59
  } | {
52
- v: 2;
60
+ v: typeof CROWDY_DSH_PROTOCOL_VERSION;
53
61
  n: string;
54
62
  from: DshBridgeSide;
55
63
  t: 'event';
@@ -89,11 +97,17 @@ export interface DshBuildResult {
89
97
  runtime: DshRuntimeStatus[];
90
98
  screenshot?: DshScreenshotResult;
91
99
  }
100
+ export type DshProjectSource = 'STUDIO' | 'GITHUB';
92
101
  export interface DshProjectSummary {
93
102
  projectId: string;
94
103
  name: string;
95
104
  kind: string;
96
105
  updatedAt: string;
106
+ /** Where the files are authored. GITHUB means the repository is the working tree. */
107
+ source: DshProjectSource;
108
+ /** Commit the GITHUB project mirrors; null for a STUDIO project. */
109
+ githubSha: string | null;
110
+ /** `owner/repo@branch` for a GITHUB project, for the agent's own words. */
97
111
  github?: string;
98
112
  }
99
113
  export interface DshBridgeRequestMap {
@@ -173,15 +187,21 @@ export interface DshPageEventMap {
173
187
  appId: string;
174
188
  projectId: string | null;
175
189
  appToken?: string;
190
+ source?: DshProjectSource;
191
+ githubSha?: string | null;
176
192
  };
177
193
  'page.token': {
178
194
  appToken: string;
179
195
  };
196
+ /** The open project changed, or a GITHUB project's commit moved (bind, refresh, save). */
180
197
  'page.project': {
181
198
  projectId: string | null;
199
+ source?: DshProjectSource;
200
+ githubSha?: string | null;
182
201
  };
183
202
  'page.saved': {
184
203
  revision?: string;
204
+ githubSha?: string | null;
185
205
  };
186
206
  'page.context': {
187
207
  observation?: unknown;
@@ -1 +1 @@
1
- {"version":3,"file":"protocol.d.ts","sourceRoot":"","sources":["../../src/crowdy-dsh/protocol.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"protocol.d.ts","sourceRoot":"","sources":["../../src/crowdy-dsh/protocol.ts"],"names":[],"mappings":"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"}
@@ -23,7 +23,15 @@
23
23
  * player before running it, because the harness UI's approval is inside the
24
24
  * iframe and the page cannot see it.
25
25
  */
26
- export const CROWDY_DSH_PROTOCOL_VERSION = 2;
26
+ /**
27
+ * v3 (CrowdyJS 17): a project carries `source` and `githubSha`. A GITHUB
28
+ * project's files are the server's mirror of the repository at that commit;
29
+ * the worker writes them through `crowdyStudioGitHubPutFile` with
30
+ * `expectedCommitSha = githubSha` and no longer mirrors anything back to
31
+ * Studio itself. `page.project` / `page.saved` re-announce the commit whenever
32
+ * it moves so the worker's next write carries the current one.
33
+ */
34
+ export const CROWDY_DSH_PROTOCOL_VERSION = 3;
27
35
  export function isDshBridgeFrame(value, nonce) {
28
36
  if (!value || typeof value !== 'object')
29
37
  return false;
@@ -2,8 +2,8 @@ import { type PlayerCodeBrokerOptions, type PlayerCodeGridBounds } from '../play
2
2
  import type { PlayerComputeAPI } from '../domains/playerCompute.js';
3
3
  import type { PlayerWalletAPI } from '../domains/playerWallet.js';
4
4
  import { type CrowdyStudioDiagnostic } from './diagnostics.js';
5
- import type { CrowdyStudioGitHubStatus, CrowdyStudioGitHubTransport } from './github/transport.js';
6
- import { type CrowdyStudioAtomicPatchInput, type CrowdyStudioAtomicPatchResult, type CrowdyStudioCheckpointMetadata, type CrowdyStudioFileRef, type CrowdyStudioPairingPreference, type CrowdyStudioProject, type CrowdyStudioProjectFile, type CrowdyStudioProjectMetadata, type CrowdyStudioProjectProvider, type CrowdyStudioProjectSummary, type CrowdyStudioReferenceFile, type CrowdyStudioSaveState, type CrowdyStudioSynchronizationProvider, type CrowdyStudioTarget, type CrowdyStudioProjectSynchronization } from './models.js';
5
+ import type { CrowdyStudioGitHubBindInitial, CrowdyStudioGitHubStatus, CrowdyStudioGitHubTransport } from './github/transport.js';
6
+ import { type CrowdyStudioAtomicPatchInput, type CrowdyStudioAtomicPatchResult, type CrowdyStudioCheckpointMetadata, type CrowdyStudioFileRef, type CrowdyStudioPairingPreference, type CrowdyStudioProject, type CrowdyStudioProjectMetadata, type CrowdyStudioProjectProvider, type CrowdyStudioProjectSummary, type CrowdyStudioReferenceFile, type CrowdyStudioSaveState, type CrowdyStudioSynchronizationProvider, type CrowdyStudioTarget, type CrowdyStudioProjectSynchronization } from './models.js';
7
7
  import { type CrowdyStudioNewProjectOptions } from './starter-projects.js';
8
8
  export type CrowdyStudioPhase = 'IDLE' | 'TESTING_DRAFT' | 'DEPLOYING_LIVE' | 'COMPILING' | 'ENABLING' | 'RUNNING' | 'COMPILE_FAILED' | 'STOPPING' | 'STOPPED' | 'PARTIAL_FAILURE' | 'ERROR';
9
9
  export type CrowdyStudioPolledSurface = 'runs' | 'logs' | 'usage';
@@ -106,9 +106,11 @@ export interface CrowdyStudioControllerOptions {
106
106
  playerCompute: CrowdyStudioPlayerCompute;
107
107
  playerWallet?: CrowdyStudioPlayerWallet;
108
108
  /**
109
- * GitHub repository loop (bring-your-own repo). Optional: without it the
109
+ * GitHub repository card (bring-your-own repo). Optional: without it the
110
110
  * card is hidden. Reads and writes are resolved server-side from the
111
- * project's bind; autosave push happens only when the owner opted in.
111
+ * project's bind. Persistence of a bound project's files does NOT go
112
+ * through this option — the project provider commits them itself — so the
113
+ * card is purely bind / unbind / refresh / status.
112
114
  */
113
115
  github?: CrowdyStudioGitHubTransport;
114
116
  appId: string;
@@ -229,23 +231,27 @@ export declare class CrowdyStudioController {
229
231
  */
230
232
  saveNow(): Promise<boolean>;
231
233
  private githubStatusGeneration;
232
- private suppressGitHubPush;
233
- /** Re-read connection + bind for the open project. Never pulls on its own. */
234
+ /** Re-read connection + bind for the open project. Never changes files on its own. */
234
235
  refreshGitHubStatus(): Promise<void>;
235
236
  private githubScope;
236
237
  /** Opens the install page in a new tab; identity comes back through the signed state, never the browser. */
237
238
  connectGitHub(): Promise<string>;
238
- /** `owner/repo` or `owner/repo@branch`. */
239
- bindGitHubRepo(slug: string): Promise<void>;
239
+ /**
240
+ * Bind the open project to `owner/repo` or `owner/repo@branch`, choosing
241
+ * which side is the truth for the first commit. Refuses over unsaved edits
242
+ * so what is pushed (or replaced) is exactly what the server holds. The
243
+ * project is re-read afterwards: TAKE_REPOSITORY replaced its files, and
244
+ * both paths gave it a `github.sha`.
245
+ */
246
+ bindGitHubRepo(slug: string, initial?: CrowdyStudioGitHubBindInitial): Promise<void>;
247
+ /** Clear the bind. The files stay; the project is a Studio project again. */
240
248
  unbindGitHub(): Promise<void>;
241
- /** Opt the open project into (or out of) pushing autosaves. Default off. */
242
- setGitHubAutosave(autosave: boolean): Promise<void>;
243
- /** Explicit push of the current files (or a subset) to the bound repository. */
244
- pushToGitHub(files?: readonly CrowdyStudioProjectFile[], opts?: {
245
- quiet?: boolean;
246
- }): Promise<number>;
247
- /** Explicit pull: overlay the repository onto the project, then save. Refuses over unsaved edits. */
248
- pullFromGitHub(): Promise<boolean>;
249
+ /**
250
+ * Bring the project to the branch head after a push made outside Studio.
251
+ * Refuses over unsaved edits (they would be committed against the old head
252
+ * and refused anyway, less legibly).
253
+ */
254
+ refreshFromGitHub(): Promise<boolean>;
249
255
  retrySave(): Promise<boolean>;
250
256
  acceptRemoteConflict(): Promise<void>;
251
257
  overwriteConflict(): Promise<boolean>;
@@ -1 +1 @@
1
- {"version":3,"file":"controller.d.ts","sourceRoot":"","sources":["../../src/crowdy-studio/controller.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"controller.d.ts","sourceRoot":"","sources":["../../src/crowdy-studio/controller.ts"],"names":[],"mappings":"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"}