@crowdedkingdoms/crowdyjs 15.10.0 → 15.11.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 (35) hide show
  1. package/MIGRATION.md +18 -0
  2. package/dist/crowdy-client.d.ts +3 -0
  3. package/dist/crowdy-client.d.ts.map +1 -1
  4. package/dist/crowdy-client.js +2 -0
  5. package/dist/crowdy-studio/controller.d.ts +30 -1
  6. package/dist/crowdy-studio/controller.d.ts.map +1 -1
  7. package/dist/crowdy-studio/controller.js +168 -0
  8. package/dist/crowdy-studio/dom-shell.d.ts +13 -0
  9. package/dist/crowdy-studio/dom-shell.d.ts.map +1 -1
  10. package/dist/crowdy-studio/dom-shell.js +85 -0
  11. package/dist/crowdy-studio/embed/panel.d.ts +3 -0
  12. package/dist/crowdy-studio/embed/panel.d.ts.map +1 -1
  13. package/dist/crowdy-studio/embed/panel.js +1 -0
  14. package/dist/crowdy-studio/github/index.d.ts +3 -0
  15. package/dist/crowdy-studio/github/index.d.ts.map +1 -0
  16. package/dist/crowdy-studio/github/index.js +2 -0
  17. package/dist/crowdy-studio/github/sync.d.ts +49 -0
  18. package/dist/crowdy-studio/github/sync.d.ts.map +1 -0
  19. package/dist/crowdy-studio/github/sync.js +200 -0
  20. package/dist/crowdy-studio/github/transport.d.ts +81 -0
  21. package/dist/crowdy-studio/github/transport.d.ts.map +1 -0
  22. package/dist/crowdy-studio/github/transport.js +104 -0
  23. package/dist/crowdy-studio/index.d.ts +1 -0
  24. package/dist/crowdy-studio/index.d.ts.map +1 -1
  25. package/dist/crowdy-studio/index.js +1 -0
  26. package/dist/crowdy-studio/styles.d.ts +1 -1
  27. package/dist/crowdy-studio/styles.d.ts.map +1 -1
  28. package/dist/crowdy-studio/styles.js +4 -0
  29. package/dist/default-origin.d.ts +6 -6
  30. package/dist/default-origin.d.ts.map +1 -1
  31. package/dist/default-origin.js +6 -6
  32. package/dist/index.d.ts +1 -1
  33. package/dist/index.d.ts.map +1 -1
  34. package/dist/index.js +1 -1
  35. package/package.json +1 -1
package/MIGRATION.md CHANGED
@@ -1,3 +1,21 @@
1
+ # CrowdyJS v15.11 — GitHub repositories for Crowdy Studio projects
2
+
3
+ **Nothing removed.** `15.11.0` (2026-09-09). Tracks ck-api `v1.96.0`.
4
+
5
+ - `client.crowdyStudioGitHub` (`CrowdyStudioGitHubTransport`): `status({appId, projectId})`,
6
+ `connectUrl()`, `repos()`, `bind({appId, projectId, owner, repo, branch?})`,
7
+ `unbind`, `setAutosave({..., autosave})`, `tree`, `getFile({..., path})`,
8
+ `putFile({..., path, content, message, sha?})`. Reads and writes never name a
9
+ repository; the game API resolves it from the project's bind and refuses a
10
+ stale `sha` with `GITHUB_STALE_SHA`.
11
+ - `mountCrowdyStudio` / `CrowdyStudioController` accept `github` (the transport;
12
+ `CrowdyStudioEmbed` passes `client.crowdyStudioGitHub` automatically). State
13
+ gains `github`, `githubMessage`, `githubBusy`; methods `refreshGitHubStatus`,
14
+ `connectGitHub`, `bindGitHubRepo`, `unbindGitHub`, `setGitHubAutosave`,
15
+ `pushToGitHub`, `pullFromGitHub`.
16
+ - Autosave push is **opt-in per project** and off by default. Pull is explicit.
17
+ - `crowdy-studio/github/sync.js` exports the layout mapping helpers.
18
+
1
19
  # CrowdyJS v15.10 — portal GitHub guard, Agent session resume
2
20
 
3
21
  **Nothing removed.** `15.10.0` (2026-09-09). No ck-api version dependency.
@@ -60,6 +60,7 @@ import { ComputeAPI } from './domains/compute.js';
60
60
  import { PlayerComputeAPI } from './domains/playerCompute.js';
61
61
  import { CrowdyStudioAPI } from './domains/crowdyStudio.js';
62
62
  import { CrowdyAgentGraphQLTransport } from './crowdy-agent/graphql-transport.js';
63
+ import { CrowdyStudioGitHubTransport } from './crowdy-studio/github/transport.js';
63
64
  import { PlayerWalletAPI } from './domains/playerWallet.js';
64
65
  import { MarketplaceAPI } from './domains/marketplace.js';
65
66
  import { PlayerModelAPI } from './domains/playerModel.js';
@@ -261,6 +262,8 @@ export declare class CrowdyClient {
261
262
  readonly crowdyStudio: CrowdyStudioAPI;
262
263
  /** Durable typed Agentic Crowdy Studio GraphQL transport. */
263
264
  readonly crowdyStudioAgent: CrowdyAgentGraphQLTransport;
265
+ /** GitHub repository loop for Crowdy Studio projects (same session; the API resolves the repo from the bind). */
266
+ readonly crowdyStudioGitHub: CrowdyStudioGitHubTransport;
264
267
  /** P4a marketplace (free mode): store, installs, consent, claim flows. */
265
268
  readonly marketplace: MarketplaceAPI;
266
269
  /** Player wallet, spend caps, hourly usage charges, and player policy (P2). */
@@ -1 +1 @@
1
- {"version":3,"file":"crowdy-client.d.ts","sourceRoot":"","sources":["../src/crowdy-client.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"crowdy-client.d.ts","sourceRoot":"","sources":["../src/crowdy-client.ts"],"names":[],"mappings":"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"}
@@ -61,6 +61,7 @@ import { ComputeAPI } from './domains/compute.js';
61
61
  import { PlayerComputeAPI } from './domains/playerCompute.js';
62
62
  import { CrowdyStudioAPI } from './domains/crowdyStudio.js';
63
63
  import { CrowdyAgentGraphQLTransport } from './crowdy-agent/graphql-transport.js';
64
+ import { CrowdyStudioGitHubTransport } from './crowdy-studio/github/transport.js';
64
65
  import { PlayerWalletAPI } from './domains/playerWallet.js';
65
66
  import { MarketplaceAPI } from './domains/marketplace.js';
66
67
  import { PlayerModelAPI } from './domains/playerModel.js';
@@ -211,6 +212,7 @@ export class CrowdyClient {
211
212
  this.compute = new ComputeAPI(this.graphql);
212
213
  this.playerCompute = new PlayerComputeAPI(this.graphql);
213
214
  this.crowdyStudio = new CrowdyStudioAPI(this.graphql);
215
+ this.crowdyStudioGitHub = new CrowdyStudioGitHubTransport(this.graphql);
214
216
  this.crowdyStudioAgent = new CrowdyAgentGraphQLTransport(this.graphql, {
215
217
  wsUrl: config.wsEndpoint ?? toGraphqlEndpoint(wsUrl, 'graphql'),
216
218
  getToken: () => this.session.getToken(),
@@ -2,7 +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 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';
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';
6
7
  import { type CrowdyStudioNewProjectOptions } from './starter-projects.js';
7
8
  export type CrowdyStudioPhase = 'IDLE' | 'TESTING_DRAFT' | 'DEPLOYING_LIVE' | 'COMPILING' | 'ENABLING' | 'RUNNING' | 'COMPILE_FAILED' | 'STOPPING' | 'STOPPED' | 'PARTIAL_FAILURE' | 'ERROR';
8
9
  export type CrowdyStudioPolledSurface = 'runs' | 'logs' | 'usage';
@@ -77,6 +78,10 @@ export interface CrowdyStudioState {
77
78
  activeFile: CrowdyStudioFileRef | null;
78
79
  saveState: CrowdyStudioSaveState;
79
80
  saveMessage?: string;
81
+ /** GitHub repository bound to the open project; null until fetched or when the SDK has no GitHub transport. */
82
+ github: CrowdyStudioGitHubStatus | null;
83
+ githubMessage?: string;
84
+ githubBusy: boolean;
80
85
  runtime: CrowdyStudioRuntimeStatus;
81
86
  runtimeSync: CrowdyStudioRuntimeSync;
82
87
  agentActivity: 'IDLE' | 'PREPARING' | 'WORKING' | 'PAUSED';
@@ -100,6 +105,12 @@ export interface CrowdyStudioControllerOptions {
100
105
  projectProvider: CrowdyStudioProjectProvider;
101
106
  playerCompute: CrowdyStudioPlayerCompute;
102
107
  playerWallet?: CrowdyStudioPlayerWallet;
108
+ /**
109
+ * GitHub repository loop (bring-your-own repo). Optional: without it the
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.
112
+ */
113
+ github?: CrowdyStudioGitHubTransport;
103
114
  appId: string;
104
115
  gridId: string;
105
116
  initialProjectId?: string;
@@ -209,6 +220,24 @@ export declare class CrowdyStudioController {
209
220
  * revision instead of overwriting local content with the earlier response.
210
221
  */
211
222
  saveNow(): Promise<boolean>;
223
+ private githubStatusGeneration;
224
+ private suppressGitHubPush;
225
+ /** Re-read connection + bind for the open project. Never pulls on its own. */
226
+ refreshGitHubStatus(): Promise<void>;
227
+ private githubScope;
228
+ /** Opens the install page in a new tab; identity comes back through the signed state, never the browser. */
229
+ connectGitHub(): Promise<string>;
230
+ /** `owner/repo` or `owner/repo@branch`. */
231
+ bindGitHubRepo(slug: string): Promise<void>;
232
+ unbindGitHub(): Promise<void>;
233
+ /** Opt the open project into (or out of) pushing autosaves. Default off. */
234
+ setGitHubAutosave(autosave: boolean): Promise<void>;
235
+ /** Explicit push of the current files (or a subset) to the bound repository. */
236
+ pushToGitHub(files?: readonly CrowdyStudioProjectFile[], opts?: {
237
+ quiet?: boolean;
238
+ }): Promise<number>;
239
+ /** Explicit pull: overlay the repository onto the project, then save. Refuses over unsaved edits. */
240
+ pullFromGitHub(): Promise<boolean>;
212
241
  retrySave(): Promise<boolean>;
213
242
  acceptRemoteConflict(): Promise<void>;
214
243
  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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"}
@@ -1,6 +1,7 @@
1
1
  import { PlayerCodeBroker, } from '../player-runtime/player-code-broker.js';
2
2
  import { digestCanonicalJson, sha256Digest, } from '../crowdy-agent/schema.js';
3
3
  import { parseRustcDiagnostics } from './diagnostics.js';
4
+ import { mergeStudioFilesFromGitHub, pullStudioFilesFromGitHub, pushStudioFilesToGitHub, } from './github/sync.js';
4
5
  import { cloneCrowdyStudioProject, crowdyStudioFileKey, normalizeCrowdyStudioPath, projectTargets, CrowdyStudioOfflineError, CrowdyStudioRevisionConflictError, } from './models.js';
5
6
  import { createCrowdyStudioStarterProject, } from './starter-projects.js';
6
7
  class OperationCancelledError extends Error {
@@ -21,6 +22,8 @@ export class CrowdyStudioController {
21
22
  openFiles: [],
22
23
  activeFile: null,
23
24
  saveState: 'SAVED',
25
+ github: null,
26
+ githubBusy: false,
24
27
  runtime: { phase: 'IDLE' },
25
28
  runtimeSync: { state: 'NEVER_RUN' },
26
29
  agentActivity: 'IDLE',
@@ -49,6 +52,9 @@ export class CrowdyStudioController {
49
52
  this.surfaceTimers = new Map();
50
53
  this.pageVisible = true;
51
54
  this.destroyed = false;
55
+ // ----- GitHub repository loop ------------------------------------------
56
+ this.githubStatusGeneration = 0;
57
+ this.suppressGitHubPush = false;
52
58
  if (options.onStateChange)
53
59
  this.listeners.add(options.onStateChange);
54
60
  }
@@ -240,8 +246,13 @@ export class CrowdyStudioController {
240
246
  runs: [],
241
247
  logs: [],
242
248
  invokeResult: null,
249
+ github: null,
250
+ githubMessage: undefined,
251
+ githubBusy: false,
243
252
  });
244
253
  this.restartVisibleSurfacePolling();
254
+ // Status only; a pull is always the modder's explicit action.
255
+ void this.refreshGitHubStatus();
245
256
  }
246
257
  openFile(ref) {
247
258
  this.requireFile(ref);
@@ -402,6 +413,160 @@ export class CrowdyStudioController {
402
413
  this.savePromise = null;
403
414
  }
404
415
  }
416
+ /** Re-read connection + bind for the open project. Never pulls on its own. */
417
+ async refreshGitHubStatus() {
418
+ if (!this.options.github)
419
+ return;
420
+ const generation = ++this.githubStatusGeneration;
421
+ try {
422
+ const github = await this.options.github.status({
423
+ appId: this.options.appId,
424
+ projectId: this.state.project?.projectId,
425
+ });
426
+ if (generation !== this.githubStatusGeneration)
427
+ return;
428
+ this.update({ github, githubMessage: undefined });
429
+ }
430
+ catch (error) {
431
+ if (generation !== this.githubStatusGeneration)
432
+ return;
433
+ this.update({ githubMessage: errorMessage(error) });
434
+ }
435
+ }
436
+ githubScope() {
437
+ const projectId = this.state.project?.projectId;
438
+ return projectId ? { appId: this.options.appId, projectId } : null;
439
+ }
440
+ /** Opens the install page in a new tab; identity comes back through the signed state, never the browser. */
441
+ async connectGitHub() {
442
+ if (!this.options.github)
443
+ throw new Error('GitHub is not available in this Studio.');
444
+ const { connectUrl } = await this.options.github.connectUrl();
445
+ if (typeof window !== 'undefined')
446
+ window.open(connectUrl, '_blank', 'noopener,noreferrer');
447
+ this.update({ githubMessage: 'Finish installing on GitHub in the new tab, then Refresh.' });
448
+ return connectUrl;
449
+ }
450
+ /** `owner/repo` or `owner/repo@branch`. */
451
+ async bindGitHubRepo(slug) {
452
+ if (!this.options.github)
453
+ throw new Error('GitHub is not available in this Studio.');
454
+ const scope = this.githubScope();
455
+ if (!scope)
456
+ throw new Error('Open a Studio project before binding a repository.');
457
+ const trimmed = slug.trim();
458
+ const at = trimmed.lastIndexOf('@');
459
+ const repoPath = at > 0 ? trimmed.slice(0, at) : trimmed;
460
+ const branch = at > 0 ? trimmed.slice(at + 1).trim() : '';
461
+ const slash = repoPath.indexOf('/');
462
+ if (slash <= 0 || slash === repoPath.length - 1) {
463
+ throw new Error('Use owner/repo or owner/repo@branch');
464
+ }
465
+ this.update({ githubBusy: true });
466
+ try {
467
+ const github = await this.options.github.bind({
468
+ ...scope,
469
+ owner: repoPath.slice(0, slash),
470
+ repo: repoPath.slice(slash + 1),
471
+ ...(branch ? { branch } : {}),
472
+ });
473
+ this.update({ github, githubMessage: `Bound ${github.owner}/${github.repo}@${github.branch}. Autosave push is off until you turn it on.` });
474
+ }
475
+ finally {
476
+ this.update({ githubBusy: false });
477
+ }
478
+ }
479
+ async unbindGitHub() {
480
+ if (!this.options.github)
481
+ return;
482
+ const scope = this.githubScope();
483
+ if (!scope)
484
+ return;
485
+ const github = await this.options.github.unbind(scope);
486
+ this.update({ github, githubMessage: 'Repository unbound. Files in Studio are unchanged.' });
487
+ }
488
+ /** Opt the open project into (or out of) pushing autosaves. Default off. */
489
+ async setGitHubAutosave(autosave) {
490
+ if (!this.options.github)
491
+ return;
492
+ const scope = this.githubScope();
493
+ if (!scope)
494
+ return;
495
+ const github = await this.options.github.setAutosave({ ...scope, autosave });
496
+ this.update({
497
+ github,
498
+ githubMessage: autosave ? 'Autosave now also pushes to GitHub.' : 'Autosave push is off.',
499
+ });
500
+ }
501
+ /** Explicit push of the current files (or a subset) to the bound repository. */
502
+ async pushToGitHub(files, opts = {}) {
503
+ if (!this.options.github)
504
+ return 0;
505
+ const scope = this.githubScope();
506
+ if (!scope || !this.state.github?.owner) {
507
+ if (!opts.quiet)
508
+ this.update({ githubMessage: 'Bind a repository first.' });
509
+ return 0;
510
+ }
511
+ const toPush = files ?? this.state.project?.files ?? [];
512
+ this.update({ githubBusy: true });
513
+ try {
514
+ const pushed = await pushStudioFilesToGitHub(this.options.github, scope, toPush);
515
+ this.update({
516
+ githubMessage: pushed > 0 ? `Pushed ${pushed} file${pushed === 1 ? '' : 's'} to GitHub.` : 'GitHub already has these files.',
517
+ });
518
+ return pushed;
519
+ }
520
+ catch (error) {
521
+ this.update({ githubMessage: `GitHub push failed: ${errorMessage(error)}` });
522
+ return 0;
523
+ }
524
+ finally {
525
+ this.update({ githubBusy: false });
526
+ }
527
+ }
528
+ /** Explicit pull: overlay the repository onto the project, then save. Refuses over unsaved edits. */
529
+ async pullFromGitHub() {
530
+ if (!this.options.github)
531
+ return false;
532
+ const scope = this.githubScope();
533
+ const project = this.state.project;
534
+ if (!scope || !project || !this.state.github?.owner) {
535
+ this.update({ githubMessage: 'Bind a repository first.' });
536
+ return false;
537
+ }
538
+ if (this.editGeneration !== this.persistedGeneration) {
539
+ this.update({ githubMessage: 'Save Studio edits before pulling from GitHub.' });
540
+ return false;
541
+ }
542
+ this.update({ githubBusy: true });
543
+ try {
544
+ const incoming = await pullStudioFilesFromGitHub(this.options.github, scope);
545
+ const { files, changed } = mergeStudioFilesFromGitHub(project.files, incoming.files);
546
+ if (!changed) {
547
+ this.update({ githubMessage: 'GitHub is in sync.' });
548
+ return true;
549
+ }
550
+ project.files = files;
551
+ this.editGeneration += 1;
552
+ this.update({ project, githubMessage: 'Pulled from GitHub.' });
553
+ this.suppressGitHubPush = true;
554
+ try {
555
+ await this.saveNow();
556
+ }
557
+ finally {
558
+ this.suppressGitHubPush = false;
559
+ }
560
+ return true;
561
+ }
562
+ catch (error) {
563
+ this.update({ githubMessage: `GitHub pull failed: ${errorMessage(error)}` });
564
+ return false;
565
+ }
566
+ finally {
567
+ this.update({ githubBusy: false });
568
+ }
569
+ }
405
570
  async retrySave() {
406
571
  this.clearTimer('retry');
407
572
  if (!this.state.project) {
@@ -1002,6 +1167,9 @@ export class CrowdyStudioController {
1002
1167
  this.state.project.revision = { ...saved.revision };
1003
1168
  this.state.project.updatedAt = saved.updatedAt;
1004
1169
  }
1170
+ if (this.state.github?.autosave && !this.suppressGitHubPush) {
1171
+ void this.pushToGitHub(snapshot.files, { quiet: true });
1172
+ }
1005
1173
  this.update({
1006
1174
  projects: upsertSummary(this.state.projects, summaryOf(saved)),
1007
1175
  saveState: this.persistedGeneration === this.editGeneration ? 'SAVED' : 'SAVING',
@@ -39,6 +39,17 @@ export declare class CrowdyStudioDomShell {
39
39
  private readonly bottom;
40
40
  private readonly tabs;
41
41
  private readonly settingsName;
42
+ private readonly github;
43
+ private readonly githubStatus;
44
+ private readonly githubConnect;
45
+ private readonly githubBindInput;
46
+ private readonly githubBind;
47
+ private readonly githubUnbind;
48
+ private readonly githubAutosave;
49
+ private readonly githubPush;
50
+ private readonly githubPull;
51
+ private readonly githubRefresh;
52
+ private readonly githubMessage;
42
53
  private readonly settingsDescription;
43
54
  private readonly serverModuleName;
44
55
  private readonly clientModuleName;
@@ -92,6 +103,8 @@ export declare class CrowdyStudioDomShell {
92
103
  private inlineForm;
93
104
  private rerenderExplorer;
94
105
  private renderTabs;
106
+ private githubNote;
107
+ private renderGitHub;
95
108
  private renderSettings;
96
109
  private renderProblems;
97
110
  private renderBuild;
@@ -1 +1 @@
1
- {"version":3,"file":"dom-shell.d.ts","sourceRoot":"","sources":["../../src/crowdy-studio/dom-shell.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"dom-shell.d.ts","sourceRoot":"","sources":["../../src/crowdy-studio/dom-shell.ts"],"names":[],"mappings":"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"}
@@ -129,6 +129,59 @@ export class CrowdyStudioDomShell {
129
129
  ['REQUIRED', 'Require client companion'],
130
130
  ]);
131
131
  this.settings.append(settingsTitle, labeled('Name', this.settingsName), labeled('Description', this.settingsDescription), labeled('Server module', this.serverModuleName), labeled('Client module', this.clientModuleName), labeled('Pairing', this.pairing));
132
+ // ----- GitHub repository card -------------------------------------------
133
+ // Bring-your-own repo. The repository is resolved server-side from the
134
+ // project's bind; the card never learns a token. Autosave push is off
135
+ // until the owner turns it on here.
136
+ this.github = element('section', 'ck-crowdy-studio-github');
137
+ const githubTitle = element('h3');
138
+ githubTitle.textContent = 'GitHub repository';
139
+ this.githubStatus = element('p', 'ck-crowdy-studio-github-status');
140
+ this.githubConnect = button('Connect GitHub');
141
+ this.githubConnect.addEventListener('click', () => {
142
+ void this.controller.connectGitHub().catch((error) => this.githubNote(error));
143
+ });
144
+ this.githubBindInput = input('owner/repo or owner/repo@branch');
145
+ this.githubBind = button('Bind');
146
+ this.githubBind.addEventListener('click', () => {
147
+ void this.controller
148
+ .bindGitHubRepo(this.githubBindInput.value)
149
+ .then(() => {
150
+ this.githubBindInput.value = '';
151
+ })
152
+ .catch((error) => this.githubNote(error));
153
+ });
154
+ this.githubUnbind = button('Unbind');
155
+ this.githubUnbind.addEventListener('click', () => {
156
+ void this.controller.unbindGitHub().catch((error) => this.githubNote(error));
157
+ });
158
+ this.githubAutosave = document.createElement('input');
159
+ this.githubAutosave.type = 'checkbox';
160
+ this.githubAutosave.addEventListener('change', () => {
161
+ void this.controller
162
+ .setGitHubAutosave(this.githubAutosave.checked)
163
+ .catch((error) => this.githubNote(error));
164
+ });
165
+ this.githubPush = button('Push to GitHub');
166
+ this.githubPush.addEventListener('click', () => {
167
+ void this.controller.pushToGitHub();
168
+ });
169
+ this.githubPull = button('Pull from GitHub');
170
+ this.githubPull.addEventListener('click', () => {
171
+ void this.controller.pullFromGitHub();
172
+ });
173
+ this.githubRefresh = button('Refresh');
174
+ this.githubRefresh.addEventListener('click', () => {
175
+ void this.controller.refreshGitHubStatus();
176
+ });
177
+ this.githubMessage = element('p', 'ck-crowdy-studio-github-message');
178
+ const bindRow = element('div', 'ck-crowdy-studio-github-row');
179
+ bindRow.append(this.githubBindInput, this.githubBind, this.githubUnbind);
180
+ const syncRow = element('div', 'ck-crowdy-studio-github-row');
181
+ syncRow.append(this.githubPush, this.githubPull, this.githubRefresh);
182
+ this.github.append(githubTitle, this.githubStatus, this.githubConnect, bindRow, labeled('Also push autosaves to GitHub', this.githubAutosave), syncRow, this.githubMessage);
183
+ this.github.hidden = true;
184
+ this.settings.append(this.github);
132
185
  this.workspace.append(rail, this.explorer, this.paneSplitter('explorer', 'vertical', 'before', 'Resize the file explorer'), this.editorColumn, this.paneSplitter('settings', 'vertical', 'after', 'Resize project settings'), this.settings);
133
186
  // ----- Status bar ----------------------------------------------------
134
187
  const statusbar = element('footer', 'ck-crowdy-studio-statusbar');
@@ -235,6 +288,7 @@ export class CrowdyStudioDomShell {
235
288
  this.renderExplorer(state);
236
289
  this.renderTabs(state);
237
290
  this.renderSettings(state);
291
+ this.renderGitHub(state);
238
292
  const projectTargetsAvailable = state.project
239
293
  ? projectTargets(state.project.kind).every((target) => this.controller.canTarget(target, 'write'))
240
294
  : false;
@@ -771,6 +825,37 @@ export class CrowdyStudioDomShell {
771
825
  this.tabs.append(tab);
772
826
  }
773
827
  }
828
+ githubNote(error) {
829
+ this.githubMessage.textContent = error instanceof Error ? error.message : String(error);
830
+ }
831
+ renderGitHub(state) {
832
+ const github = state.github;
833
+ // No transport (status never fetched) or the tier has no App: hide the card.
834
+ if (!github || !github.configured) {
835
+ this.github.hidden = true;
836
+ return;
837
+ }
838
+ this.github.hidden = false;
839
+ const bound = Boolean(github.owner && github.repo);
840
+ this.githubStatus.textContent = !github.connected
841
+ ? 'Not connected. Install the Crowdy Studio app on your GitHub account to bind a repository you own.'
842
+ : bound
843
+ ? `${github.accountLogin ?? 'GitHub'} · bound to ${github.owner}/${github.repo}@${github.branch}`
844
+ : `${github.accountLogin ?? 'GitHub'} connected · no repository bound`;
845
+ this.githubConnect.hidden = github.connected;
846
+ this.githubConnect.disabled = state.githubBusy;
847
+ const canBind = github.connected && Boolean(state.project) && !state.githubBusy;
848
+ this.githubBindInput.disabled = !canBind;
849
+ this.githubBind.disabled = !canBind;
850
+ this.githubUnbind.hidden = !bound;
851
+ this.githubUnbind.disabled = state.githubBusy;
852
+ this.githubAutosave.disabled = !bound || state.githubBusy;
853
+ this.githubAutosave.checked = github.autosave;
854
+ this.githubPush.disabled = !bound || state.githubBusy;
855
+ this.githubPull.disabled = !bound || state.githubBusy || state.saveState !== 'SAVED';
856
+ this.githubRefresh.disabled = state.githubBusy;
857
+ this.githubMessage.textContent = state.githubMessage ?? '';
858
+ }
774
859
  renderSettings(state) {
775
860
  const project = state.project;
776
861
  const disabled = !project;
@@ -1,6 +1,7 @@
1
1
  import { type MountCrowdyStudioOptions } from '../mount.js';
2
2
  import type { CrowdyStudioController, CrowdyStudioPlayerCompute, CrowdyStudioPlayerWallet } from '../controller.js';
3
3
  import type { CrowdyStudioProjectProvider } from '../models.js';
4
+ import type { CrowdyStudioGitHubTransport } from '../github/transport.js';
4
5
  import type { CrowdyAgentMode, CrowdyAgentPreemptionReason, CrowdyStudioAgentController, CrowdyStudioAgentTransportV1 } from '../../crowdy-agent/index.js';
5
6
  import type { AgentControlLeaseManager, AgentControlLeaseManagerOptionsV1, PlayerHostAdapterV1 } from '../../player-host/index.js';
6
7
  import type { PlayerCodeGridBounds, PlayerCodeHostCall, PlayerCodePresentation } from '../../player-runtime/player-code-broker.js';
@@ -17,6 +18,8 @@ export interface CrowdyStudioEmbedServices {
17
18
  playerWallet?: CrowdyStudioPlayerWallet;
18
19
  /** Production agent transport; omission keeps the agent fail-closed/hidden. */
19
20
  crowdyStudioAgent?: CrowdyStudioAgentTransportV1;
21
+ /** GitHub repository loop; omission hides the card. `CrowdyClient` provides it. */
22
+ crowdyStudioGitHub?: CrowdyStudioGitHubTransport;
20
23
  }
21
24
  export interface CrowdyStudioEmbedTargetPermission {
22
25
  canWrite: boolean;
@@ -1 +1 @@
1
- {"version":3,"file":"panel.d.ts","sourceRoot":"","sources":["../../../src/crowdy-studio/embed/panel.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"panel.d.ts","sourceRoot":"","sources":["../../../src/crowdy-studio/embed/panel.ts"],"names":[],"mappings":"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"}
@@ -362,6 +362,7 @@ export class CrowdyStudioEmbed {
362
362
  const handle = await mountCrowdyStudio(element, {
363
363
  projectProvider: client.crowdyStudio,
364
364
  playerCompute: client.playerCompute,
365
+ ...(client.crowdyStudioGitHub ? { github: client.crowdyStudioGitHub } : {}),
365
366
  playerWallet: client.playerWallet,
366
367
  appId,
367
368
  gridId: context.gridId,
@@ -0,0 +1,3 @@
1
+ export { CrowdyStudioGitHubTransport, type CrowdyStudioGitHubFile, type CrowdyStudioGitHubProjectScope, type CrowdyStudioGitHubRepo, type CrowdyStudioGitHubStatus, type CrowdyStudioGitHubTreeEntry, } from './transport.js';
2
+ export { DEFAULT_FULL_STACK_CROWDY_JSON, layoutFromTree, mergeStudioFilesFromGitHub, parseCrowdyJson, pullStudioFilesFromGitHub, pushStudioFilesToGitHub, repoPathToStudioFile, resolveGitHubLayout, studioFileToRepoPath, studioFilesMissingOnGitHub, type GitHubFiles, type GitHubLayout, } from './sync.js';
3
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/crowdy-studio/github/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,2BAA2B,EAC3B,KAAK,sBAAsB,EAC3B,KAAK,8BAA8B,EACnC,KAAK,sBAAsB,EAC3B,KAAK,wBAAwB,EAC7B,KAAK,2BAA2B,GACjC,MAAM,gBAAgB,CAAC;AACxB,OAAO,EACL,8BAA8B,EAC9B,cAAc,EACd,0BAA0B,EAC1B,eAAe,EACf,yBAAyB,EACzB,uBAAuB,EACvB,oBAAoB,EACpB,mBAAmB,EACnB,oBAAoB,EACpB,0BAA0B,EAC1B,KAAK,WAAW,EAChB,KAAK,YAAY,GAClB,MAAM,WAAW,CAAC"}
@@ -0,0 +1,2 @@
1
+ export { CrowdyStudioGitHubTransport, } from './transport.js';
2
+ export { DEFAULT_FULL_STACK_CROWDY_JSON, layoutFromTree, mergeStudioFilesFromGitHub, parseCrowdyJson, pullStudioFilesFromGitHub, pushStudioFilesToGitHub, repoPathToStudioFile, resolveGitHubLayout, studioFileToRepoPath, studioFilesMissingOnGitHub, } from './sync.js';