@crowdedkingdoms/crowdyjs 9.0.0 → 11.0.0

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 (72) hide show
  1. package/MIGRATION.md +60 -38
  2. package/README.md +86 -50
  3. package/dist/crowdy-client.d.ts +3 -0
  4. package/dist/crowdy-client.d.ts.map +1 -1
  5. package/dist/crowdy-client.js +2 -0
  6. package/dist/crowdy-studio/controller.d.ts +188 -0
  7. package/dist/crowdy-studio/controller.d.ts.map +1 -0
  8. package/dist/crowdy-studio/controller.js +915 -0
  9. package/dist/crowdy-studio/diagnostics.d.ts +22 -0
  10. package/dist/crowdy-studio/diagnostics.d.ts.map +1 -0
  11. package/dist/crowdy-studio/diagnostics.js +141 -0
  12. package/dist/crowdy-studio/dom-shell.d.ts +55 -0
  13. package/dist/crowdy-studio/dom-shell.d.ts.map +1 -0
  14. package/dist/crowdy-studio/dom-shell.js +527 -0
  15. package/dist/crowdy-studio/editor.d.ts +17 -0
  16. package/dist/crowdy-studio/editor.d.ts.map +1 -0
  17. package/dist/crowdy-studio/editor.js +1 -0
  18. package/dist/crowdy-studio/index.d.ts +10 -0
  19. package/dist/crowdy-studio/index.d.ts.map +1 -0
  20. package/dist/crowdy-studio/index.js +9 -0
  21. package/dist/crowdy-studio/models.d.ts +149 -0
  22. package/dist/crowdy-studio/models.d.ts.map +1 -0
  23. package/dist/crowdy-studio/models.js +62 -0
  24. package/dist/crowdy-studio/monaco-editor.d.ts +16 -0
  25. package/dist/crowdy-studio/monaco-editor.d.ts.map +1 -0
  26. package/dist/crowdy-studio/monaco-editor.js +548 -0
  27. package/dist/crowdy-studio/mount.d.ts +17 -0
  28. package/dist/crowdy-studio/mount.d.ts.map +1 -0
  29. package/dist/crowdy-studio/mount.js +86 -0
  30. package/dist/crowdy-studio/starter-projects.d.ts +11 -0
  31. package/dist/crowdy-studio/starter-projects.d.ts.map +1 -0
  32. package/dist/crowdy-studio/starter-projects.js +102 -0
  33. package/dist/crowdy-studio/styles.d.ts +2 -0
  34. package/dist/crowdy-studio/styles.d.ts.map +1 -0
  35. package/dist/crowdy-studio/styles.js +14 -0
  36. package/dist/crowdy-studio/textarea-editor.d.ts +8 -0
  37. package/dist/crowdy-studio/textarea-editor.d.ts.map +1 -0
  38. package/dist/crowdy-studio/textarea-editor.js +71 -0
  39. package/dist/domains/crowdyStudio.d.ts +27 -0
  40. package/dist/domains/crowdyStudio.d.ts.map +1 -0
  41. package/dist/domains/crowdyStudio.js +301 -0
  42. package/dist/domains/playerCompute.d.ts +1 -1
  43. package/dist/domains/playerCompute.js +1 -1
  44. package/dist/generated/graphql.d.ts +792 -7
  45. package/dist/generated/graphql.d.ts.map +1 -1
  46. package/dist/generated/graphql.js +57 -0
  47. package/dist/index.d.ts +3 -5
  48. package/dist/index.d.ts.map +1 -1
  49. package/dist/index.js +3 -5
  50. package/dist/kit/npcs.d.ts.map +1 -1
  51. package/dist/kit/social.d.ts.map +1 -1
  52. package/dist/live-coding/rust-analysis.d.ts.map +1 -1
  53. package/dist/live-coding/rust-analysis.js +64 -1
  54. package/dist/live-coding/worker-transport.d.ts +3 -0
  55. package/dist/live-coding/worker-transport.d.ts.map +1 -1
  56. package/dist/live-coding/worker-transport.js +13 -0
  57. package/package.json +4 -4
  58. package/dist/live-coding/ide.d.ts +0 -23
  59. package/dist/live-coding/ide.d.ts.map +0 -1
  60. package/dist/live-coding/ide.js +0 -514
  61. package/dist/live-coding/index.d.ts +0 -8
  62. package/dist/live-coding/index.d.ts.map +0 -1
  63. package/dist/live-coding/index.js +0 -7
  64. package/dist/live-coding/live-coding-controller.d.ts +0 -75
  65. package/dist/live-coding/live-coding-controller.d.ts.map +0 -1
  66. package/dist/live-coding/live-coding-controller.js +0 -141
  67. package/dist/live-coding/mount.d.ts +0 -26
  68. package/dist/live-coding/mount.d.ts.map +0 -1
  69. package/dist/live-coding/mount.js +0 -108
  70. package/dist/live-coding/templates.d.ts +0 -17
  71. package/dist/live-coding/templates.d.ts.map +0 -1
  72. package/dist/live-coding/templates.js +0 -59
@@ -0,0 +1,149 @@
1
+ /** Compile targets supported by player-authored projects. */
2
+ export type CrowdyStudioTarget = 'SERVER' | 'CLIENT';
3
+ /** The target layout selected when a project is created. */
4
+ export type CrowdyStudioProjectKind = 'SERVER' | 'CLIENT' | 'FULL_STACK';
5
+ /**
6
+ * Whether a full-stack server should advertise its client companion.
7
+ * `OPTIONAL` records author intent without creating a runtime requirement;
8
+ * `REQUIRED` is applied with `playerCompute.setRequires` after both targets
9
+ * compile successfully.
10
+ */
11
+ export type CrowdyStudioPairingPreference = 'NONE' | 'OPTIONAL' | 'REQUIRED';
12
+ /** A source file in one project target. Paths are relative to that target. */
13
+ export interface CrowdyStudioProjectFile {
14
+ target: CrowdyStudioTarget;
15
+ path: string;
16
+ content: string;
17
+ }
18
+ /** A read-only source file made available to the browser language worker. */
19
+ export interface CrowdyStudioReferenceFile {
20
+ id: string;
21
+ source: 'PERSONAL_LIBRARY' | 'COMMON';
22
+ title: string;
23
+ /** Optional target fence. Omitted files are useful from either target. */
24
+ target?: CrowdyStudioTarget;
25
+ path: string;
26
+ content: string;
27
+ tags?: string[];
28
+ updatedAt?: string;
29
+ }
30
+ export interface CrowdyStudioProjectMetadata {
31
+ name: string;
32
+ description?: string;
33
+ serverModuleName?: string;
34
+ clientModuleName?: string;
35
+ pairingPreference: CrowdyStudioPairingPreference;
36
+ }
37
+ /** Immutable revision identity returned by the cloud project service. */
38
+ export interface CrowdyStudioProjectRevision {
39
+ id: string;
40
+ savedAt: string;
41
+ }
42
+ /**
43
+ * One atomic cloud project snapshot. SERVER and CLIENT files intentionally
44
+ * share a project revision so a full-stack save cannot persist half a pair.
45
+ */
46
+ export interface CrowdyStudioProject {
47
+ projectId: string;
48
+ appId: string;
49
+ gridId: string;
50
+ kind: CrowdyStudioProjectKind;
51
+ metadata: CrowdyStudioProjectMetadata;
52
+ files: CrowdyStudioProjectFile[];
53
+ sdkVersion: string;
54
+ abiVersion: number;
55
+ revision: CrowdyStudioProjectRevision;
56
+ createdAt: string;
57
+ updatedAt: string;
58
+ }
59
+ export interface CrowdyStudioProjectSummary {
60
+ projectId: string;
61
+ name: string;
62
+ kind: CrowdyStudioProjectKind;
63
+ revisionId: string;
64
+ serverModuleName?: string;
65
+ clientModuleName?: string;
66
+ updatedAt: string;
67
+ }
68
+ /** Explicit persistence state rendered by Crowdy Studio. */
69
+ export type CrowdyStudioSaveState = 'SAVING' | 'SAVED' | 'CONFLICT' | 'OFFLINE';
70
+ export interface CrowdyStudioFileRef {
71
+ source: 'PROJECT' | 'PERSONAL_LIBRARY' | 'COMMON';
72
+ target?: CrowdyStudioTarget;
73
+ path: string;
74
+ referenceId?: string;
75
+ }
76
+ export interface CreateCrowdyStudioProjectInput {
77
+ appId: string;
78
+ gridId: string;
79
+ kind: CrowdyStudioProjectKind;
80
+ metadata: CrowdyStudioProjectMetadata;
81
+ files: CrowdyStudioProjectFile[];
82
+ }
83
+ export interface SaveCrowdyStudioProjectInput {
84
+ appId: string;
85
+ gridId: string;
86
+ projectId: string;
87
+ /** Optimistic-concurrency precondition for the atomic project write. */
88
+ expectedRevisionId: string;
89
+ metadata: CrowdyStudioProjectMetadata;
90
+ files: CrowdyStudioProjectFile[];
91
+ }
92
+ export interface CrowdyStudioProjectScope {
93
+ appId: string;
94
+ gridId: string;
95
+ }
96
+ export interface ImportCrowdyStudioReferenceFileInput extends CrowdyStudioProjectScope {
97
+ projectId: string;
98
+ expectedRevisionId: string;
99
+ source: 'PERSONAL_LIBRARY' | 'COMMON';
100
+ referenceId: string;
101
+ destinationPath?: string;
102
+ }
103
+ export interface SaveCrowdyStudioLibraryFileInput extends CrowdyStudioProjectScope {
104
+ title: string;
105
+ target: CrowdyStudioTarget;
106
+ path: string;
107
+ content: string;
108
+ tags?: string[];
109
+ }
110
+ /**
111
+ * Storage contract consumed by Crowdy Studio. It deliberately has no generated
112
+ * GraphQL types, JSON source maps, or transport-specific errors.
113
+ */
114
+ export interface CrowdyStudioProjectProvider {
115
+ listProjects(scope: CrowdyStudioProjectScope): Promise<CrowdyStudioProjectSummary[]>;
116
+ getProject(scope: CrowdyStudioProjectScope & {
117
+ projectId: string;
118
+ }): Promise<CrowdyStudioProject>;
119
+ createProject(input: CreateCrowdyStudioProjectInput): Promise<CrowdyStudioProject>;
120
+ saveProject(input: SaveCrowdyStudioProjectInput): Promise<CrowdyStudioProject>;
121
+ listPersonalLibraryFiles(scope: CrowdyStudioProjectScope): Promise<CrowdyStudioReferenceFile[]>;
122
+ listCommonFiles(scope: CrowdyStudioProjectScope): Promise<CrowdyStudioReferenceFile[]>;
123
+ importReferenceFile(input: ImportCrowdyStudioReferenceFileInput): Promise<CrowdyStudioProject>;
124
+ savePersonalLibraryFile(input: SaveCrowdyStudioLibraryFileInput): Promise<CrowdyStudioReferenceFile>;
125
+ }
126
+ /** Provider error indicating that the expected revision lost a save race. */
127
+ export declare class CrowdyStudioRevisionConflictError extends Error {
128
+ readonly remoteProject?: CrowdyStudioProject | undefined;
129
+ readonly code = "PROJECT_REVISION_CONFLICT";
130
+ constructor(message?: string, remoteProject?: CrowdyStudioProject | undefined);
131
+ }
132
+ /** Provider error indicating that the write should be retried when online. */
133
+ export declare class CrowdyStudioOfflineError extends Error {
134
+ readonly code = "PROJECT_OFFLINE";
135
+ readonly cause?: unknown;
136
+ constructor(message?: string, cause?: unknown);
137
+ }
138
+ /** Validate and normalize a target-relative project path. */
139
+ export declare function normalizeCrowdyStudioPath(path: string): string;
140
+ /** Stable key for maps, tabs, diagnostics, and tests. */
141
+ export declare function crowdyStudioFileKey(target: CrowdyStudioTarget, path: string): string;
142
+ /**
143
+ * Target-prefixed URI used by Monaco and the browser VFS. Both targets can
144
+ * therefore load `Cargo.toml` and `src/lib.rs` at the same time.
145
+ */
146
+ export declare function crowdyStudioFileUri(workspaceUri: string, target: CrowdyStudioTarget, path: string): string;
147
+ export declare function projectTargets(kind: CrowdyStudioProjectKind): CrowdyStudioTarget[];
148
+ export declare function cloneCrowdyStudioProject(project: CrowdyStudioProject): CrowdyStudioProject;
149
+ //# sourceMappingURL=models.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"models.d.ts","sourceRoot":"","sources":["../../src/crowdy-studio/models.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,62 @@
1
+ /** Provider error indicating that the expected revision lost a save race. */
2
+ export class CrowdyStudioRevisionConflictError extends Error {
3
+ constructor(message = 'The project changed in another session', remoteProject) {
4
+ super(message);
5
+ this.remoteProject = remoteProject;
6
+ this.code = 'PROJECT_REVISION_CONFLICT';
7
+ this.name = 'CrowdyStudioRevisionConflictError';
8
+ }
9
+ }
10
+ /** Provider error indicating that the write should be retried when online. */
11
+ export class CrowdyStudioOfflineError extends Error {
12
+ constructor(message = 'The project service is offline', cause) {
13
+ super(message);
14
+ this.code = 'PROJECT_OFFLINE';
15
+ this.name = 'CrowdyStudioOfflineError';
16
+ this.cause = cause;
17
+ }
18
+ }
19
+ /** Validate and normalize a target-relative project path. */
20
+ export function normalizeCrowdyStudioPath(path) {
21
+ const normalized = path.trim().replace(/\\/gu, '/').replace(/^\.\/+/u, '');
22
+ if (normalized.length === 0 ||
23
+ normalized.length > 240 ||
24
+ normalized.startsWith('/') ||
25
+ normalized.endsWith('/') ||
26
+ normalized.split('/').some((part) => part === '' || part === '.' || part === '..') ||
27
+ /[\u0000-\u001f\u007f]/u.test(normalized)) {
28
+ throw new Error(`Invalid project file path: ${path}`);
29
+ }
30
+ return normalized;
31
+ }
32
+ /** Stable key for maps, tabs, diagnostics, and tests. */
33
+ export function crowdyStudioFileKey(target, path) {
34
+ return `${target}:${normalizeCrowdyStudioPath(path)}`;
35
+ }
36
+ /**
37
+ * Target-prefixed URI used by Monaco and the browser VFS. Both targets can
38
+ * therefore load `Cargo.toml` and `src/lib.rs` at the same time.
39
+ */
40
+ export function crowdyStudioFileUri(workspaceUri, target, path) {
41
+ const root = workspaceUri.replace(/\/+$/u, '');
42
+ const encodedPath = normalizeCrowdyStudioPath(path)
43
+ .split('/')
44
+ .map(encodeURIComponent)
45
+ .join('/');
46
+ return `${root}/${target.toLowerCase()}/${encodedPath}`;
47
+ }
48
+ export function projectTargets(kind) {
49
+ if (kind === 'SERVER')
50
+ return ['SERVER'];
51
+ if (kind === 'CLIENT')
52
+ return ['CLIENT'];
53
+ return ['SERVER', 'CLIENT'];
54
+ }
55
+ export function cloneCrowdyStudioProject(project) {
56
+ return {
57
+ ...project,
58
+ metadata: { ...project.metadata },
59
+ revision: { ...project.revision },
60
+ files: project.files.map((file) => ({ ...file })),
61
+ };
62
+ }
@@ -0,0 +1,16 @@
1
+ import type { CrowdyStudioEditorAdapter, CrowdyStudioEditorCallbacks } from './editor.js';
2
+ import { type PlatformIndex } from '../live-coding/platform-index.js';
3
+ export interface MonacoCrowdyStudioEditorOptions {
4
+ editorWorkerFactory?: () => Worker;
5
+ languageWorkerFactory?: () => Worker;
6
+ platformIndex?: PlatformIndex | unknown;
7
+ languageRequestTimeoutMs?: number;
8
+ }
9
+ /**
10
+ * Create the Monaco adapter backed by the browser-local Rust LSP worker. Every
11
+ * loaded project/reference file is opened in the worker; project URIs include
12
+ * `/server/` or `/client/`, so duplicate Cargo and lib paths never collide.
13
+ */
14
+ export declare function createMonacoCrowdyStudioEditor(host: HTMLElement, options: MonacoCrowdyStudioEditorOptions, callbacks: CrowdyStudioEditorCallbacks): Promise<CrowdyStudioEditorAdapter>;
15
+ export declare function isCurrentDiagnosticVersion(version: unknown, currentVersion: number): boolean;
16
+ //# sourceMappingURL=monaco-editor.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"monaco-editor.d.ts","sourceRoot":"","sources":["../../src/crowdy-studio/monaco-editor.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EACV,yBAAyB,EACzB,2BAA2B,EAC5B,MAAM,aAAa,CAAC;AAerB,OAAO,EAEL,KAAK,aAAa,EACnB,MAAM,kCAAkC,CAAC;AAW1C,MAAM,WAAW,+BAA+B;IAC9C,mBAAmB,CAAC,EAAE,MAAM,MAAM,CAAC;IACnC,qBAAqB,CAAC,EAAE,MAAM,MAAM,CAAC;IACrC,aAAa,CAAC,EAAE,aAAa,GAAG,OAAO,CAAC;IACxC,wBAAwB,CAAC,EAAE,MAAM,CAAC;CACnC;AAmBD;;;;GAIG;AACH,wBAAsB,8BAA8B,CAClD,IAAI,EAAE,WAAW,EACjB,OAAO,EAAE,+BAA+B,EACxC,SAAS,EAAE,2BAA2B,GACrC,OAAO,CAAC,yBAAyB,CAAC,CAoXpC;AA6GD,wBAAgB,0BAA0B,CACxC,OAAO,EAAE,OAAO,EAChB,cAAc,EAAE,MAAM,GACrB,OAAO,CAKT"}