@crowdedkingdoms/crowdyjs 15.10.0-test.1 → 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.
- package/MIGRATION.md +18 -0
- package/dist/crowdy-client.d.ts +3 -0
- package/dist/crowdy-client.d.ts.map +1 -1
- package/dist/crowdy-client.js +2 -0
- package/dist/crowdy-studio/controller.d.ts +30 -1
- package/dist/crowdy-studio/controller.d.ts.map +1 -1
- package/dist/crowdy-studio/controller.js +168 -0
- package/dist/crowdy-studio/dom-shell.d.ts +13 -0
- package/dist/crowdy-studio/dom-shell.d.ts.map +1 -1
- package/dist/crowdy-studio/dom-shell.js +85 -0
- package/dist/crowdy-studio/embed/panel.d.ts +3 -0
- package/dist/crowdy-studio/embed/panel.d.ts.map +1 -1
- package/dist/crowdy-studio/embed/panel.js +1 -0
- package/dist/crowdy-studio/github/index.d.ts +3 -0
- package/dist/crowdy-studio/github/index.d.ts.map +1 -0
- package/dist/crowdy-studio/github/index.js +2 -0
- package/dist/crowdy-studio/github/sync.d.ts +49 -0
- package/dist/crowdy-studio/github/sync.d.ts.map +1 -0
- package/dist/crowdy-studio/github/sync.js +200 -0
- package/dist/crowdy-studio/github/transport.d.ts +81 -0
- package/dist/crowdy-studio/github/transport.d.ts.map +1 -0
- package/dist/crowdy-studio/github/transport.js +104 -0
- package/dist/crowdy-studio/index.d.ts +1 -0
- package/dist/crowdy-studio/index.d.ts.map +1 -1
- package/dist/crowdy-studio/index.js +1 -0
- package/dist/crowdy-studio/styles.d.ts +1 -1
- package/dist/crowdy-studio/styles.d.ts.map +1 -1
- package/dist/crowdy-studio/styles.js +4 -0
- package/dist/default-origin.d.ts +6 -6
- package/dist/default-origin.d.ts.map +1 -1
- package/dist/default-origin.js +6 -6
- package/dist/index.d.ts +1 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1 -1
- 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.
|
package/dist/crowdy-client.d.ts
CHANGED
|
@@ -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":"AAAA;;;;;;;;;;;;;;;;;;;;;GAqBG;AAEH,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAC5C,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAK5C,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAErD,OAAO,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AAC/C,OAAO,EAAE,mBAAmB,EAAE,MAAM,oBAAoB,CAAC;AACzD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAChD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAE/C,OAAO,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AACzC,OAAO,EAAE,aAAa,EAAE,KAAK,cAAc,EAAE,MAAM,gBAAgB,CAAC;AAEpE,OAAO,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAC;AAC5C,OAAO,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAC9C,OAAO,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAC;AAC5C,OAAO,EACL,SAAS,EACT,KAAK,gBAAgB,EACrB,KAAK,SAAS,EACf,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AACpD,OAAO,EAAE,gBAAgB,EAAE,MAAM,4BAA4B,CAAC;AAC9D,OAAO,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAC;AACtD,OAAO,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAClD,OAAO,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AACpD,OAAO,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAC;AAChD,OAAO,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAC9C,OAAO,EAAE,oBAAoB,EAAE,MAAM,gCAAgC,CAAC;AACtE,OAAO,EAAE,eAAe,EAAE,MAAM,2BAA2B,CAAC;AAC5D,OAAO,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAC9C,OAAO,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAC;AAChD,OAAO,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAClD,OAAO,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAC;AAC5C,OAAO,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AACpD,OAAO,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAC;AAChD,OAAO,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAC;AAChD,OAAO,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AACpD,OAAO,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAC9C,OAAO,EAAE,eAAe,EAAE,MAAM,2BAA2B,CAAC;AAC5D,OAAO,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AACpD,OAAO,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAC9C,OAAO,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAC;AAC1C,OAAO,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAC;AACtD,OAAO,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAClD,OAAO,EAAE,gBAAgB,EAAE,MAAM,4BAA4B,CAAC;AAC9D,OAAO,EAAE,eAAe,EAAE,MAAM,2BAA2B,CAAC;AAC5D,OAAO,EAAE,2BAA2B,EAAE,MAAM,qCAAqC,CAAC;AAClF,OAAO,EAAE,eAAe,EAAE,MAAM,2BAA2B,CAAC;AAC5D,OAAO,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAC;AAC1D,OAAO,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAC;AAC1D,OAAO,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AAEzD,MAAM,WAAW,kBAAkB;IAEjC;;;;;;;;;OASG;IACH,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,6DAA6D;IAC7D,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,0DAA0D;IAC1D,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,mDAAmD;IACnD,UAAU,CAAC,EAAE,MAAM,CAAC;IAGpB,gDAAgD;IAChD,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB;;;;OAIG;IACH,UAAU,CAAC,EAAE,UAAU,CAAC;IACxB,wEAAwE;IACxE,MAAM,CAAC,EAAE,YAAY,CAAC;IACtB;;;;;OAKG;IACH,SAAS,CAAC,EAAE,SAAS,CAAC;IACtB,mFAAmF;IACnF,QAAQ,CAAC,EAAE;QACT,4EAA4E;QAC5E,aAAa,CAAC,EAAE,MAAM,CAAC;QACvB,iDAAiD;QACjD,mBAAmB,CAAC,EAAE,MAAM,CAAC;QAC7B,8EAA8E;QAC9E,eAAe,CAAC,EAAE,MAAM,CAAC;QACzB,+EAA+E;QAC/E,aAAa,CAAC,EAAE,MAAM,CAAC;QACvB;;;WAGG;QACH,iBAAiB,CAAC,EAAE,OAAO,CAAC;QAC5B;;;;;;;WAOG;QACH,eAAe,CAAC,EAAE,OAAO,CAAC;QAC1B;;;WAGG;QACH,cAAc,CAAC,EAAE,MAAM,CAAC;QACxB;;;;;;;;;;;;;;;;;;;;WAoBG;QACH,UAAU,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,KAAK,OAAO,CAAC;YAC7C,OAAO,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;YACxB,KAAK,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;SACvB,GAAG,IAAI,CAAC,CAAC;QACV;;;;;;;;;WASG;QACH,YAAY,CAAC,EAAE,MAAM,CAAC;QACtB,iEAAiE;QACjE,uBAAuB,CAAC,EAAE,MAAM,CAAC;KAClC,CAAC;IACF;;;;OAIG;IACH,aAAa,CAAC,EAAE,aAAa,CAAC;CAC/B;AAED,qBAAa,YAAY;IACvB,OAAO,CAAC,oBAAoB,CAA0C;IAEtE,8DAA8D;IAC9D,QAAQ,CAAC,OAAO,EAAE,SAAS,CAAC;IAC5B,+BAA+B;IAC/B,QAAQ,CAAC,OAAO,EAAE,aAAa,CAAC;IAChC,+CAA+C;IAC/C,QAAQ,CAAC,QAAQ,EAAE,mBAAmB,CAAC;IACvC;;;;;;;OAOG;IACH,QAAQ,CAAC,OAAO,EAAE,eAAe,CAAC;IAGlC,qEAAqE;IACrE,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAC;IACvB,+DAA+D;IAC/D,QAAQ,CAAC,KAAK,EAAE,QAAQ,CAAC;IACzB,mEAAmE;IACnE,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAC;IACvB;;;;OAIG;IACH,QAAQ,CAAC,MAAM,EAAE,SAAS,CAAC;IAC3B;;;;OAIG;IACH,QAAQ,CAAC,SAAS,EAAE,eAAe,CAAC;IACpC,uEAAuE;IACvE,QAAQ,CAAC,QAAQ,EAAE,WAAW,CAAC;IAC/B,6EAA6E;IAC7E,QAAQ,CAAC,aAAa,EAAE,gBAAgB,CAAC;IACzC,gEAAgE;IAChE,QAAQ,CAAC,SAAS,EAAE,YAAY,CAAC;IACjC,yDAAyD;IACzD,QAAQ,CAAC,OAAO,EAAE,UAAU,CAAC;IAC7B,wEAAwE;IACxE,QAAQ,CAAC,QAAQ,EAAE,WAAW,CAAC;IAC/B,wDAAwD;IACxD,QAAQ,CAAC,MAAM,EAAE,SAAS,CAAC;IAC3B,4DAA4D;IAC5D,QAAQ,CAAC,KAAK,EAAE,QAAQ,CAAC;IACzB,kFAAkF;IAClF,QAAQ,CAAC,iBAAiB,EAAE,oBAAoB,CAAC;IACjD,iEAAiE;IACjE,QAAQ,CAAC,QAAQ,EAAE,eAAe,CAAC;IACnC;;;;OAIG;IACH,QAAQ,CAAC,KAAK,EAAE,QAAQ,CAAC;IAGzB,wEAAwE;IACxE,QAAQ,CAAC,MAAM,EAAE,SAAS,CAAC;IAC3B,uEAAuE;IACvE,QAAQ,CAAC,MAAM,EAAE,SAAS,CAAC;IAC3B,yEAAyE;IACzE,QAAQ,CAAC,MAAM,EAAE,SAAS,CAAC;IAC3B,4DAA4D;IAC5D,QAAQ,CAAC,QAAQ,EAAE,WAAW,CAAC;IAC/B,8CAA8C;IAC9C,QAAQ,CAAC,KAAK,EAAE,QAAQ,CAAC;IACzB,4EAA4E;IAC5E,QAAQ,CAAC,YAAY,EAAE,eAAe,CAAC;IACvC,+DAA+D;IAC/D,QAAQ,CAAC,QAAQ,EAAE,WAAW,CAAC;IAC/B,2EAA2E;IAC3E,QAAQ,CAAC,KAAK,EAAE,QAAQ,CAAC;IACzB,gFAAgF;IAChF,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;IACrB,wEAAwE;IACxE,QAAQ,CAAC,SAAS,EAAE,YAAY,CAAC;IACjC,8EAA8E;IAC9E,QAAQ,CAAC,OAAO,EAAE,UAAU,CAAC;IAC7B,6DAA6D;IAC7D,QAAQ,CAAC,aAAa,EAAE,gBAAgB,CAAC;IACzC,wEAAwE;IACxE,QAAQ,CAAC,YAAY,EAAE,eAAe,CAAC;IACvC,6DAA6D;IAC7D,QAAQ,CAAC,iBAAiB,EAAE,2BAA2B,CAAC;
|
|
1
|
+
{"version":3,"file":"crowdy-client.d.ts","sourceRoot":"","sources":["../src/crowdy-client.ts"],"names":[],"mappings":"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"}
|
package/dist/crowdy-client.js
CHANGED
|
@@ -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
|
|
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":"AAAA,OAAO,EAEL,KAAK,uBAAuB,EAC5B,KAAK,oBAAoB,EAC1B,MAAM,yCAAyC,CAAC;AACjD,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,6BAA6B,CAAC;AACpE,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,4BAA4B,CAAC;AAKlE,OAAO,EAAyB,KAAK,sBAAsB,EAAE,MAAM,kBAAkB,CAAC;AACtF,OAAO,EAOL,KAAK,4BAA4B,EACjC,KAAK,6BAA6B,EAClC,KAAK,8BAA8B,EACnC,KAAK,mBAAmB,EACxB,KAAK,6BAA6B,EAClC,KAAK,mBAAmB,
|
|
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":"AAAA,OAAO,EACL,KAAK,sBAAsB,EAC3B,KAAK,iBAAiB,EACvB,MAAM,iBAAiB,CAAC;AACzB,OAAO,KAAK,EAAE,2BAA2B,EAAE,MAAM,+BAA+B,CAAC;AACjF,OAAO,EAEL,KAAK,gCAAgC,EACtC,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EACL,sBAAsB,EAIvB,MAAM,aAAa,CAAC;AAuCrB;;;;;;;GAOG;AACH,qBAAa,oBAAoB;
|
|
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';
|