@nimbalyst/extension-sdk 0.3.0 → 0.4.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 (49) hide show
  1. package/CHANGELOG.md +9 -0
  2. package/dist/__tests__/buildEmitStability.test.d.ts +2 -0
  3. package/dist/__tests__/buildEmitStability.test.d.ts.map +1 -0
  4. package/dist/__tests__/buildEmitStability.test.js +33 -0
  5. package/dist/__tests__/createTextCollabContentAdapter.test.js +1 -0
  6. package/dist/__tests__/fileDirectoryTree.test.js +1 -0
  7. package/dist/__tests__/fileMask.test.d.ts +2 -0
  8. package/dist/__tests__/fileMask.test.d.ts.map +1 -0
  9. package/dist/__tests__/fileMask.test.js +33 -0
  10. package/dist/__tests__/manifestValidation.agentProviders.test.js +1 -0
  11. package/dist/__tests__/textReplacement.test.d.ts +2 -0
  12. package/dist/__tests__/textReplacement.test.d.ts.map +1 -0
  13. package/dist/__tests__/textReplacement.test.js +31 -0
  14. package/dist/__tests__/useCollaborativeEditor.offline.test.d.ts +2 -0
  15. package/dist/__tests__/useCollaborativeEditor.offline.test.d.ts.map +1 -0
  16. package/dist/__tests__/useCollaborativeEditor.offline.test.js +34 -0
  17. package/dist/__tests__/useEditorLifecycle.test.d.ts +2 -0
  18. package/dist/__tests__/useEditorLifecycle.test.d.ts.map +1 -0
  19. package/dist/__tests__/useEditorLifecycle.test.js +60 -0
  20. package/dist/collab/index.d.ts +14 -0
  21. package/dist/collab/index.d.ts.map +1 -0
  22. package/dist/collab/index.js +13 -0
  23. package/dist/collab/origins.d.ts +15 -0
  24. package/dist/collab/origins.d.ts.map +1 -0
  25. package/dist/collab/origins.js +14 -0
  26. package/dist/collab/textReplacement.d.ts +7 -0
  27. package/dist/collab/textReplacement.d.ts.map +1 -0
  28. package/dist/collab/textReplacement.js +27 -0
  29. package/dist/electronMain.d.ts +12 -0
  30. package/dist/electronMain.d.ts.map +1 -0
  31. package/dist/electronMain.js +11 -0
  32. package/dist/fileMask.d.ts +17 -0
  33. package/dist/fileMask.d.ts.map +1 -0
  34. package/dist/fileMask.js +45 -0
  35. package/dist/index.d.ts +1 -0
  36. package/dist/index.d.ts.map +1 -1
  37. package/dist/index.js +1 -0
  38. package/dist/types/editor.d.ts +12 -1
  39. package/dist/types/editor.d.ts.map +1 -1
  40. package/dist/types/extension.d.ts +17 -5
  41. package/dist/types/extension.d.ts.map +1 -1
  42. package/dist/types/panel.d.ts +43 -0
  43. package/dist/types/panel.d.ts.map +1 -1
  44. package/dist/useCollaborativeEditor.d.ts +9 -21
  45. package/dist/useCollaborativeEditor.d.ts.map +1 -1
  46. package/dist/useCollaborativeEditor.js +14 -22
  47. package/dist/useEditorLifecycle.d.ts.map +1 -1
  48. package/dist/useEditorLifecycle.js +2 -0
  49. package/package.json +12 -3
package/CHANGELOG.md CHANGED
@@ -8,6 +8,7 @@ The SDK is versioned independently of the Nimbalyst app. Each release declares i
8
8
 
9
9
  | SDK version | Minimum Nimbalyst app version |
10
10
  | --- | --- |
11
+ | 0.4.0 | 0.70.0 |
11
12
  | 0.3.0 | 0.70.0 |
12
13
  | 0.2.2 | 0.58.5 |
13
14
  | 0.2.1 | 0.58.5 |
@@ -17,6 +18,14 @@ The SDK is versioned independently of the Nimbalyst app. Each release declares i
17
18
 
18
19
  ## [Unreleased]
19
20
 
21
+ ## [0.4.0]
22
+
23
+ ### Added
24
+
25
+ - `applyTextDiff()` and `replaceYText()` reduce a whole-string replacement to one contiguous `Y.Text` edit, so a binding no longer has to hand-write the prefix/suffix diff.
26
+ - `@nimbalyst/extension-sdk/collab` is a React-free entry point for the collaborative-document helpers, for codecs and codec tests that have no React installed.
27
+ - `host.onFindRequested()` routes the app's Find command (Cmd+F) to a custom editor's own find UI.
28
+
20
29
  ## [0.3.0]
21
30
 
22
31
  Requires Nimbalyst 0.70.0 for the new host-provided selection, filesystem, and visibility APIs.
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=buildEmitStability.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"buildEmitStability.test.d.ts","sourceRoot":"","sources":["../../src/__tests__/buildEmitStability.test.ts"],"names":[],"mappings":""}
@@ -0,0 +1,33 @@
1
+ import { describe, it, expect } from 'vitest';
2
+ import { readFileSync } from 'fs';
3
+ import { resolve } from 'path';
4
+ /**
5
+ * The renderer resolves `@nimbalyst/extension-sdk` to `dist/`, so every file the
6
+ * SDK build emits lives in the dev server's module graph. When the build wiped
7
+ * dist and re-emitted all 114 files, the pre-push gate (`typecheck:prepush`,
8
+ * which builds the SDK on every push) made Vite full-reload every open Electron
9
+ * window -- several times an hour across parallel agent sessions, with no SDK
10
+ * source change involved. These assertions keep the emit stable.
11
+ */
12
+ const sdkRoot = resolve(__dirname, '../..');
13
+ function readJsonc(relativePath) {
14
+ const text = readFileSync(resolve(sdkRoot, relativePath), 'utf8');
15
+ return JSON.parse(text.replace(/^\s*\/\/.*$/gm, ''));
16
+ }
17
+ describe('extension-sdk build emit stability', () => {
18
+ it('does not wipe dist on the default build', () => {
19
+ const { scripts } = readJsonc('package.json');
20
+ expect(scripts.build).toBe('tsc');
21
+ expect(scripts.build).not.toMatch(/rmSync|rm -rf/);
22
+ });
23
+ it('emits incrementally so unchanged sources produce no file writes', () => {
24
+ const { compilerOptions } = readJsonc('tsconfig.json');
25
+ expect(compilerOptions.incremental).toBe(true);
26
+ expect(compilerOptions.tsBuildInfoFile).toBeTruthy();
27
+ });
28
+ it('keeps a clean build available for publishing', () => {
29
+ const { scripts } = readJsonc('package.json');
30
+ expect(scripts['build:clean']).toMatch(/rmSync/);
31
+ expect(scripts.prepublishOnly).toBe('npm run build:clean');
32
+ });
33
+ });
@@ -1,3 +1,4 @@
1
+ // @vitest-environment node
1
2
  import { describe, expect, it } from 'vitest';
2
3
  import * as Y from 'yjs';
3
4
  import { createTextCollabContentAdapter } from '../collab/createTextCollabContentAdapter';
@@ -1,3 +1,4 @@
1
+ // @vitest-environment node
1
2
  import { describe, expect, it } from 'vitest';
2
3
  import { buildFileDirectoryTree, getFileDirectoryPaths, getFilePathBasename, getWorkspaceRelativeFilePath, } from '../fileDirectoryTree';
3
4
  const buildTree = (files, workspacePath) => buildFileDirectoryTree(files.map(filePath => ({ filePath })), file => file.filePath, workspacePath);
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=fileMask.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"fileMask.test.d.ts","sourceRoot":"","sources":["../../src/__tests__/fileMask.test.ts"],"names":[],"mappings":""}
@@ -0,0 +1,33 @@
1
+ // @vitest-environment node
2
+ import { describe, it, expect } from 'vitest';
3
+ import { parseFileMask, matchesFileMask } from '../fileMask';
4
+ describe('fileMask', () => {
5
+ it('matches a name glob against Windows back-slashed paths', () => {
6
+ // #1196: main returns `path.normalize`d paths, so on Windows the mask sees
7
+ // `C:\...\Ch01.md`. Before the separator normalization only `*.md` matched
8
+ // (the whole path has no `/`), which read as "the mask filters by
9
+ // extension only".
10
+ const winPath = 'C:\\Users\\me\\book\\Ch01.md';
11
+ expect(matchesFileMask(winPath, parseFileMask('Ch0*.md'))).toBe(true);
12
+ expect(matchesFileMask(winPath, parseFileMask('*.md'))).toBe(true);
13
+ expect(matchesFileMask(winPath, parseFileMask('Notes*.md'))).toBe(false);
14
+ expect(matchesFileMask('C:\\Users\\me\\book\\notes.txt', parseFileMask('Ch0*.md'))).toBe(false);
15
+ });
16
+ it('matches names, directory globs and comma-separated lists on posix paths', () => {
17
+ const patterns = parseFileMask('Ch0*.md, *.ts');
18
+ expect(matchesFileMask('/Users/me/book/Ch01.md', patterns)).toBe(true);
19
+ expect(matchesFileMask('/Users/me/book/index.ts', patterns)).toBe(true);
20
+ expect(matchesFileMask('/Users/me/book/index.tsx', patterns)).toBe(false);
21
+ // `*` stops at a separator, `**` crosses them, `?` is a single character.
22
+ expect(matchesFileMask('src/a/b.test.ts', parseFileMask('src/*.test.ts'))).toBe(false);
23
+ expect(matchesFileMask('src/a/b.test.ts', parseFileMask('src/**/*.test.ts'))).toBe(true);
24
+ expect(matchesFileMask('src\\a\\b.test.ts', parseFileMask('src/**/*.test.ts'))).toBe(true);
25
+ expect(matchesFileMask('Ch1.md', parseFileMask('Ch?.md'))).toBe(true);
26
+ expect(matchesFileMask('Ch12.md', parseFileMask('Ch?.md'))).toBe(false);
27
+ });
28
+ it('treats an empty or absent mask as no filter', () => {
29
+ expect(parseFileMask(undefined)).toEqual([]);
30
+ expect(parseFileMask(' , ')).toEqual([]);
31
+ expect(matchesFileMask('anything.bin', [])).toBe(true);
32
+ });
33
+ });
@@ -1,3 +1,4 @@
1
+ // @vitest-environment node
1
2
  import { describe, it, expect } from 'vitest';
2
3
  import { validateAgentProviders } from '../manifestValidation';
3
4
  // The validator must agree with the AiAgentProviderContribution /
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=textReplacement.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"textReplacement.test.d.ts","sourceRoot":"","sources":["../../src/__tests__/textReplacement.test.ts"],"names":[],"mappings":""}
@@ -0,0 +1,31 @@
1
+ // @vitest-environment node
2
+ import { describe, expect, it, vi } from 'vitest';
3
+ import * as Y from 'yjs';
4
+ import { applyTextDiff, replaceYText } from '../collab/textReplacement';
5
+ describe('text replacement', () => {
6
+ it('reduces whole-string replacements to one range edit', () => {
7
+ const cases = [
8
+ { name: 'insert-only', previous: 'abcd', next: 'abXcd', edit: [2, 2, 'X'] },
9
+ { name: 'delete-only', previous: 'abcd', next: 'acd', edit: [1, 2, ''] },
10
+ { name: 'replace-in-the-middle', previous: 'abcde', next: 'abXYde', edit: [2, 3, 'XY'] },
11
+ { name: 'identical', previous: 'same', next: 'same', edit: null },
12
+ { name: 'empty-to-nonempty', previous: '', next: 'new', edit: [0, 0, 'new'] },
13
+ ];
14
+ for (const { name, previous, next, edit } of cases) {
15
+ const applyEdit = vi.fn();
16
+ applyTextDiff(previous, next, applyEdit);
17
+ if (edit === null) {
18
+ expect(applyEdit, name).not.toHaveBeenCalled();
19
+ }
20
+ else {
21
+ expect(applyEdit, name).toHaveBeenCalledOnce();
22
+ expect(applyEdit, name).toHaveBeenCalledWith(...edit);
23
+ }
24
+ const yText = new Y.Text(previous);
25
+ const doc = new Y.Doc();
26
+ doc.getMap('root').set('text', yText);
27
+ replaceYText(yText, next);
28
+ expect(yText.toString(), name).toBe(next);
29
+ }
30
+ });
31
+ });
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=useCollaborativeEditor.offline.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useCollaborativeEditor.offline.test.d.ts","sourceRoot":"","sources":["../../src/__tests__/useCollaborativeEditor.offline.test.tsx"],"names":[],"mappings":""}
@@ -0,0 +1,34 @@
1
+ import { renderHook, waitFor } from '@testing-library/react';
2
+ import { Awareness } from 'y-protocols/awareness';
3
+ import { describe, expect, it, vi } from 'vitest';
4
+ import * as Y from 'yjs';
5
+ import { useCollaborativeEditor } from '../useCollaborativeEditor.js';
6
+ describe('useCollaborativeEditor offline replica binding', () => {
7
+ it('binds an already-hydrated Y.Doc without waiting for the transport', async () => {
8
+ const yDoc = new Y.Doc();
9
+ yDoc.getMap('nodes').set('node_root', 'persisted');
10
+ const awareness = new Awareness(yDoc);
11
+ const loadInitialContent = vi.fn(async () => 'must not seed offline');
12
+ const bind = vi.fn(() => ({ destroy: vi.fn() }));
13
+ const host = {
14
+ collaboration: {
15
+ yDoc,
16
+ awareness,
17
+ user: { id: 'offline-user', name: 'Offline User', color: '#123456' },
18
+ getStatus: () => 'disconnected',
19
+ onStatusChange: () => () => { },
20
+ loadInitialContent,
21
+ },
22
+ };
23
+ const { unmount } = renderHook(() => useCollaborativeEditor(host, {
24
+ isEmpty: doc => doc.getMap('nodes').size === 0,
25
+ initializeFromContent: vi.fn(),
26
+ createBinding: bind,
27
+ }));
28
+ await waitFor(() => expect(bind).toHaveBeenCalledTimes(1));
29
+ expect(loadInitialContent).not.toHaveBeenCalled();
30
+ unmount();
31
+ awareness.destroy();
32
+ yDoc.destroy();
33
+ });
34
+ });
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=useEditorLifecycle.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useEditorLifecycle.test.d.ts","sourceRoot":"","sources":["../../src/__tests__/useEditorLifecycle.test.tsx"],"names":[],"mappings":""}
@@ -0,0 +1,60 @@
1
+ import { act, renderHook, waitFor } from '@testing-library/react';
2
+ import { describe, expect, it, vi } from 'vitest';
3
+ import { useEditorLifecycle } from '../useEditorLifecycle.js';
4
+ function createHost(loadContent) {
5
+ let fileChanged;
6
+ const host = {
7
+ filePath: '/workspace/plans/example.mockup.html',
8
+ fileName: 'example.mockup.html',
9
+ isActive: true,
10
+ theme: 'dark',
11
+ loadContent,
12
+ loadBinaryContent: vi.fn(),
13
+ saveContent: vi.fn(),
14
+ setDirty: vi.fn(),
15
+ onSaveRequested: () => () => { },
16
+ onFileChanged: (callback) => {
17
+ fileChanged = callback;
18
+ return () => {
19
+ fileChanged = undefined;
20
+ };
21
+ },
22
+ onThemeChanged: () => () => { },
23
+ registerMenuItems: vi.fn(),
24
+ registerEditorAPI: vi.fn(),
25
+ setEditorContext: vi.fn(),
26
+ setEditorContextItems: vi.fn(),
27
+ storage: {
28
+ get: vi.fn(),
29
+ set: vi.fn(),
30
+ delete: vi.fn(),
31
+ getGlobal: vi.fn(),
32
+ setGlobal: vi.fn(),
33
+ deleteGlobal: vi.fn(),
34
+ getSecret: vi.fn(),
35
+ setSecret: vi.fn(),
36
+ deleteSecret: vi.fn(),
37
+ },
38
+ };
39
+ return {
40
+ host,
41
+ notifyFileChanged(content) {
42
+ fileChanged?.(content);
43
+ },
44
+ };
45
+ }
46
+ describe('useEditorLifecycle', () => {
47
+ it('recovers when a missing file appears after the initial load fails', async () => {
48
+ const applyContent = vi.fn();
49
+ const { host, notifyFileChanged } = createHost(() => Promise.reject(new Error('File not found')));
50
+ const { result } = renderHook(() => useEditorLifecycle(host, { applyContent }));
51
+ await waitFor(() => {
52
+ expect(result.current.error?.message).toBe('File not found');
53
+ });
54
+ act(() => {
55
+ notifyFileChanged('<html>created later</html>');
56
+ });
57
+ expect(applyContent).toHaveBeenCalledWith('<html>created later</html>');
58
+ expect(result.current.error).toBeNull();
59
+ });
60
+ });
@@ -0,0 +1,14 @@
1
+ /**
2
+ * React-free public entry for the collaborative-document helpers.
3
+ *
4
+ * The package root re-exports everything here, but the root barrel also pulls
5
+ * in `useEditorLifecycle` and therefore `react` — a peer dependency the host
6
+ * injects at runtime. A codec or a codec test that only touches `Y.Doc` has no
7
+ * React installed, so importing the root barrel fails to resolve for it.
8
+ * `@nimbalyst/extension-sdk/collab` is the entry those consumers import
9
+ * instead, so nobody has to reach into `dist/` by path.
10
+ */
11
+ export { COLLAB_INIT_ORIGIN } from './origins.js';
12
+ export { createTextCollabContentAdapter, reconstructCollabContentAdapterFromDescriptor, TEXT_COLLAB_DEFAULT_FIELD, type TextCollabContentAdapterOptions, } from './createTextCollabContentAdapter.js';
13
+ export { applyTextDiff, replaceYText, type ApplyTextEdit, } from './textReplacement.js';
14
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/collab/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AACH,OAAO,EAAE,kBAAkB,EAAE,MAAM,cAAc,CAAC;AAElD,OAAO,EACL,8BAA8B,EAC9B,6CAA6C,EAC7C,yBAAyB,EACzB,KAAK,+BAA+B,GACrC,MAAM,qCAAqC,CAAC;AAE7C,OAAO,EACL,aAAa,EACb,YAAY,EACZ,KAAK,aAAa,GACnB,MAAM,sBAAsB,CAAC"}
@@ -0,0 +1,13 @@
1
+ /**
2
+ * React-free public entry for the collaborative-document helpers.
3
+ *
4
+ * The package root re-exports everything here, but the root barrel also pulls
5
+ * in `useEditorLifecycle` and therefore `react` — a peer dependency the host
6
+ * injects at runtime. A codec or a codec test that only touches `Y.Doc` has no
7
+ * React installed, so importing the root barrel fails to resolve for it.
8
+ * `@nimbalyst/extension-sdk/collab` is the entry those consumers import
9
+ * instead, so nobody has to reach into `dist/` by path.
10
+ */
11
+ export { COLLAB_INIT_ORIGIN } from './origins.js';
12
+ export { createTextCollabContentAdapter, reconstructCollabContentAdapterFromDescriptor, TEXT_COLLAB_DEFAULT_FIELD, } from './createTextCollabContentAdapter.js';
13
+ export { applyTextDiff, replaceYText, } from './textReplacement.js';
@@ -0,0 +1,15 @@
1
+ /**
2
+ * Origin tag used when the SDK wraps `initializeFromContent` in a Y.Doc
3
+ * transaction. Extension bindings can compare a transaction's origin
4
+ * against this to suppress their own change handlers during seeding
5
+ * (otherwise the binding would echo the seed back into local-edit state).
6
+ *
7
+ * ```ts
8
+ * yDoc.on('update', (update, origin) => {
9
+ * if (origin === COLLAB_INIT_ORIGIN) return;
10
+ * // ... apply remote change
11
+ * });
12
+ * ```
13
+ */
14
+ export declare const COLLAB_INIT_ORIGIN: unique symbol;
15
+ //# sourceMappingURL=origins.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"origins.d.ts","sourceRoot":"","sources":["../../src/collab/origins.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AACH,eAAO,MAAM,kBAAkB,eAAkC,CAAC"}
@@ -0,0 +1,14 @@
1
+ /**
2
+ * Origin tag used when the SDK wraps `initializeFromContent` in a Y.Doc
3
+ * transaction. Extension bindings can compare a transaction's origin
4
+ * against this to suppress their own change handlers during seeding
5
+ * (otherwise the binding would echo the seed back into local-edit state).
6
+ *
7
+ * ```ts
8
+ * yDoc.on('update', (update, origin) => {
9
+ * if (origin === COLLAB_INIT_ORIGIN) return;
10
+ * // ... apply remote change
11
+ * });
12
+ * ```
13
+ */
14
+ export const COLLAB_INIT_ORIGIN = Symbol('nimbalyst:collab-init');
@@ -0,0 +1,7 @@
1
+ import type * as Y from 'yjs';
2
+ export type ApplyTextEdit = (start: number, end: number, inserted: string) => void;
3
+ /** Reduce a whole-string replacement to one contiguous range edit. */
4
+ export declare function applyTextDiff(previous: string, next: string, applyEdit: ApplyTextEdit): void;
5
+ /** Apply a whole-string replacement to a Y.Text as one contiguous edit. */
6
+ export declare function replaceYText(target: Y.Text, next: string): void;
7
+ //# sourceMappingURL=textReplacement.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"textReplacement.d.ts","sourceRoot":"","sources":["../../src/collab/textReplacement.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,CAAC,MAAM,KAAK,CAAC;AAE9B,MAAM,MAAM,aAAa,GAAG,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,KAAK,IAAI,CAAC;AAEnF,sEAAsE;AACtE,wBAAgB,aAAa,CAC3B,QAAQ,EAAE,MAAM,EAChB,IAAI,EAAE,MAAM,EACZ,SAAS,EAAE,aAAa,GACvB,IAAI,CAmBN;AAED,2EAA2E;AAC3E,wBAAgB,YAAY,CAAC,MAAM,EAAE,CAAC,CAAC,IAAI,EAAE,IAAI,EAAE,MAAM,GAAG,IAAI,CAM/D"}
@@ -0,0 +1,27 @@
1
+ /** Reduce a whole-string replacement to one contiguous range edit. */
2
+ export function applyTextDiff(previous, next, applyEdit) {
3
+ if (previous === next)
4
+ return;
5
+ let prefix = 0;
6
+ const prefixLimit = Math.min(previous.length, next.length);
7
+ while (prefix < prefixLimit && previous.charCodeAt(prefix) === next.charCodeAt(prefix)) {
8
+ prefix += 1;
9
+ }
10
+ let suffix = 0;
11
+ const suffixLimit = Math.min(previous.length - prefix, next.length - prefix);
12
+ while (suffix < suffixLimit
13
+ && previous.charCodeAt(previous.length - 1 - suffix) === next.charCodeAt(next.length - 1 - suffix)) {
14
+ suffix += 1;
15
+ }
16
+ applyEdit(prefix, previous.length - suffix, next.slice(prefix, next.length - suffix));
17
+ }
18
+ /** Apply a whole-string replacement to a Y.Text as one contiguous edit. */
19
+ export function replaceYText(target, next) {
20
+ applyTextDiff(target.toString(), next, (start, end, inserted) => {
21
+ const removeLength = end - start;
22
+ if (removeLength > 0)
23
+ target.delete(start, removeLength);
24
+ if (inserted.length > 0)
25
+ target.insert(start, inserted);
26
+ });
27
+ }
@@ -0,0 +1,12 @@
1
+ /**
2
+ * Narrow Extension SDK entry used by the Electron main-process bundle.
3
+ *
4
+ * The public SDK barrel includes renderer hooks and components. Main-process
5
+ * code only needs manifest validation, tracker-importer constants, and the
6
+ * serializable collaboration adapter factory.
7
+ */
8
+ export { effectiveModulePermissions, validateBackendModules, } from './manifestValidation';
9
+ export { TRACKER_IMPORTER_RPC_METHODS } from './types/trackerImporter';
10
+ export { createTextCollabContentAdapter, reconstructCollabContentAdapterFromDescriptor, } from './collab/createTextCollabContentAdapter';
11
+ export { COLLAB_INIT_ORIGIN } from './collab/origins';
12
+ //# sourceMappingURL=electronMain.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"electronMain.d.ts","sourceRoot":"","sources":["../src/electronMain.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,EACL,0BAA0B,EAC1B,sBAAsB,GACvB,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EAAE,4BAA4B,EAAE,MAAM,yBAAyB,CAAC;AACvE,OAAO,EACL,8BAA8B,EAC9B,6CAA6C,GAC9C,MAAM,yCAAyC,CAAC;AACjD,OAAO,EAAE,kBAAkB,EAAE,MAAM,kBAAkB,CAAC"}
@@ -0,0 +1,11 @@
1
+ /**
2
+ * Narrow Extension SDK entry used by the Electron main-process bundle.
3
+ *
4
+ * The public SDK barrel includes renderer hooks and components. Main-process
5
+ * code only needs manifest validation, tracker-importer constants, and the
6
+ * serializable collaboration adapter factory.
7
+ */
8
+ export { effectiveModulePermissions, validateBackendModules, } from './manifestValidation';
9
+ export { TRACKER_IMPORTER_RPC_METHODS } from './types/trackerImporter';
10
+ export { createTextCollabContentAdapter, reconstructCollabContentAdapterFromDescriptor, } from './collab/createTextCollabContentAdapter';
11
+ export { COLLAB_INIT_ORIGIN } from './collab/origins';
@@ -0,0 +1,17 @@
1
+ /**
2
+ * Comma-separated file mask matching, shared by Quick Open (renderer and main)
3
+ * and the git extension's Changes filter so the syntax means the same thing
4
+ * everywhere:
5
+ *
6
+ * "*.ts,*.tsx" — any .ts or .tsx file
7
+ * "src/** /*.test.ts" — recursive pattern
8
+ * "Ch0*.md" — case-insensitive filename match
9
+ *
10
+ * Glob semantics: `*` matches any run of non-slash characters, `**` matches
11
+ * anything (across slashes), `?` matches a single non-slash character. The
12
+ * pattern is matched against both the basename and the full path so users can
13
+ * write either `*.ts` or `src/*.ts` and get what they expect.
14
+ */
15
+ export declare function parseFileMask(mask: string | null | undefined): RegExp[];
16
+ export declare function matchesFileMask(filePath: string, patterns: RegExp[]): boolean;
17
+ //# sourceMappingURL=fileMask.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"fileMask.d.ts","sourceRoot":"","sources":["../src/fileMask.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAcH,wBAAgB,aAAa,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,GAAG,MAAM,EAAE,CAOvE;AAED,wBAAgB,eAAe,CAAC,QAAQ,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,GAAG,OAAO,CAS7E"}
@@ -0,0 +1,45 @@
1
+ /**
2
+ * Comma-separated file mask matching, shared by Quick Open (renderer and main)
3
+ * and the git extension's Changes filter so the syntax means the same thing
4
+ * everywhere:
5
+ *
6
+ * "*.ts,*.tsx" — any .ts or .tsx file
7
+ * "src/** /*.test.ts" — recursive pattern
8
+ * "Ch0*.md" — case-insensitive filename match
9
+ *
10
+ * Glob semantics: `*` matches any run of non-slash characters, `**` matches
11
+ * anything (across slashes), `?` matches a single non-slash character. The
12
+ * pattern is matched against both the basename and the full path so users can
13
+ * write either `*.ts` or `src/*.ts` and get what they expect.
14
+ */
15
+ function globToRegex(glob) {
16
+ // Escape regex special chars except * and ?
17
+ const escaped = glob.replace(/[.+^${}()|[\]\\]/g, '\\$&');
18
+ // Convert glob wildcards: ** -> match any path, * -> match any non-slash, ? -> single non-slash
19
+ const pattern = escaped
20
+ .replace(/\*\*/g, '__DOUBLESTAR__')
21
+ .replace(/\*/g, '[^/]*')
22
+ .replace(/__DOUBLESTAR__/g, '.*')
23
+ .replace(/\?/g, '[^/]');
24
+ return new RegExp(`^${pattern}$`, 'i');
25
+ }
26
+ export function parseFileMask(mask) {
27
+ if (!mask)
28
+ return [];
29
+ return mask
30
+ .split(',')
31
+ .map((s) => s.trim())
32
+ .filter(Boolean)
33
+ .map(globToRegex);
34
+ }
35
+ export function matchesFileMask(filePath, patterns) {
36
+ if (patterns.length === 0)
37
+ return true;
38
+ // Windows paths arrive back-slashed (main runs `path.normalize`). Without
39
+ // this the basename split finds no separator, so the whole absolute path is
40
+ // treated as the filename: `*.md` still matches it but `Ch0*.md` never can,
41
+ // which is the extension-only filtering reported in #1196.
42
+ const normalizedPath = filePath.replace(/\\/g, '/');
43
+ const basename = normalizedPath.split('/').pop() ?? normalizedPath;
44
+ return patterns.some((re) => re.test(basename) || re.test(normalizedPath));
45
+ }
package/dist/index.d.ts CHANGED
@@ -27,6 +27,7 @@ export * from './types/index.js';
27
27
  export { useEditorLifecycle, type UseEditorLifecycleOptions, type UseEditorLifecycleResult, type DiffState, } from './useEditorLifecycle.js';
28
28
  export { useCollaborativeEditor, COLLAB_INIT_ORIGIN, type UseCollaborativeEditorConfig, type UseCollaborativeEditorResult, } from './useCollaborativeEditor.js';
29
29
  export { createTextCollabContentAdapter, reconstructCollabContentAdapterFromDescriptor, TEXT_COLLAB_DEFAULT_FIELD, type TextCollabContentAdapterOptions, } from './collab/createTextCollabContentAdapter.js';
30
+ export { applyTextDiff, replaceYText, type ApplyTextEdit, } from './collab/textReplacement.js';
30
31
  export { useDocumentPath, type DocumentPathContextValue, } from './documentPath.js';
31
32
  export { MaterialSymbol } from './MaterialSymbol.js';
32
33
  export { TrackerReferenceChip, TrackerReferencePicker, navigateToTrackerReference, useResolvedTrackerReference, type ResolvedTrackerReference, type TrackerReferenceChipProps, type TrackerReferencePickerProps, } from './trackerReferences.js';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AAGH,OAAO,EACL,kBAAkB,EAClB,iBAAiB,EACjB,gBAAgB,EAChB,KAAK,gBAAgB,GACtB,MAAM,gBAAgB,CAAC;AAGxB,cAAc,kBAAkB,CAAC;AAGjC,OAAO,EACL,kBAAkB,EAClB,KAAK,yBAAyB,EAC9B,KAAK,wBAAwB,EAC7B,KAAK,SAAS,GACf,MAAM,yBAAyB,CAAC;AAEjC,OAAO,EACL,sBAAsB,EACtB,kBAAkB,EAClB,KAAK,4BAA4B,EACjC,KAAK,4BAA4B,GAClC,MAAM,6BAA6B,CAAC;AAErC,OAAO,EACL,8BAA8B,EAC9B,6CAA6C,EAC7C,yBAAyB,EACzB,KAAK,+BAA+B,GACrC,MAAM,4CAA4C,CAAC;AAGpD,OAAO,EACL,eAAe,EACf,KAAK,wBAAwB,GAC9B,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAIrD,OAAO,EACL,oBAAoB,EACpB,sBAAsB,EACtB,0BAA0B,EAC1B,2BAA2B,EAC3B,KAAK,wBAAwB,EAC7B,KAAK,yBAAyB,EAC9B,KAAK,2BAA2B,GACjC,MAAM,wBAAwB,CAAC;AAGhC,OAAO,EACL,kBAAkB,EAClB,KAAK,YAAY,EACjB,KAAK,mBAAmB,GACzB,MAAM,yBAAyB,CAAC;AAGjC,OAAO,EAAE,eAAe,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC;AAGhE,OAAO,EACL,sBAAsB,EACtB,qBAAqB,EACrB,mBAAmB,EACnB,4BAA4B,EAC5B,iBAAiB,EACjB,KAAK,iBAAiB,GACvB,MAAM,wBAAwB,CAAC;AAGhC,OAAO,EACL,uBAAuB,EACvB,qBAAqB,EACrB,KAAK,gBAAgB,GACtB,MAAM,eAAe,CAAC;AAEvB,OAAO,EACL,sBAAsB,EACtB,yBAAyB,EACzB,0BAA0B,EAC1B,sBAAsB,EACtB,yBAAyB,EACzB,uBAAuB,EACvB,iCAAiC,EACjC,KAAK,4BAA4B,EACjC,KAAK,4BAA4B,GAClC,MAAM,yBAAyB,CAAC;AAYjC,YAAY,EACV,aAAa,EACb,aAAa,EACb,eAAe,EACf,eAAe,EACf,cAAc,EACd,iBAAiB,EACjB,UAAU,IAAI,kBAAkB,EAChC,eAAe,EACf,kBAAkB,EAClB,iBAAiB,EACjB,cAAc,EACd,iBAAiB,GAClB,MAAM,mBAAmB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AAGH,OAAO,EACL,kBAAkB,EAClB,iBAAiB,EACjB,gBAAgB,EAChB,KAAK,gBAAgB,GACtB,MAAM,gBAAgB,CAAC;AAGxB,cAAc,kBAAkB,CAAC;AAGjC,OAAO,EACL,kBAAkB,EAClB,KAAK,yBAAyB,EAC9B,KAAK,wBAAwB,EAC7B,KAAK,SAAS,GACf,MAAM,yBAAyB,CAAC;AAEjC,OAAO,EACL,sBAAsB,EACtB,kBAAkB,EAClB,KAAK,4BAA4B,EACjC,KAAK,4BAA4B,GAClC,MAAM,6BAA6B,CAAC;AAErC,OAAO,EACL,8BAA8B,EAC9B,6CAA6C,EAC7C,yBAAyB,EACzB,KAAK,+BAA+B,GACrC,MAAM,4CAA4C,CAAC;AAEpD,OAAO,EACL,aAAa,EACb,YAAY,EACZ,KAAK,aAAa,GACnB,MAAM,6BAA6B,CAAC;AAGrC,OAAO,EACL,eAAe,EACf,KAAK,wBAAwB,GAC9B,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAIrD,OAAO,EACL,oBAAoB,EACpB,sBAAsB,EACtB,0BAA0B,EAC1B,2BAA2B,EAC3B,KAAK,wBAAwB,EAC7B,KAAK,yBAAyB,EAC9B,KAAK,2BAA2B,GACjC,MAAM,wBAAwB,CAAC;AAGhC,OAAO,EACL,kBAAkB,EAClB,KAAK,YAAY,EACjB,KAAK,mBAAmB,GACzB,MAAM,yBAAyB,CAAC;AAGjC,OAAO,EAAE,eAAe,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC;AAGhE,OAAO,EACL,sBAAsB,EACtB,qBAAqB,EACrB,mBAAmB,EACnB,4BAA4B,EAC5B,iBAAiB,EACjB,KAAK,iBAAiB,GACvB,MAAM,wBAAwB,CAAC;AAGhC,OAAO,EACL,uBAAuB,EACvB,qBAAqB,EACrB,KAAK,gBAAgB,GACtB,MAAM,eAAe,CAAC;AAEvB,OAAO,EACL,sBAAsB,EACtB,yBAAyB,EACzB,0BAA0B,EAC1B,sBAAsB,EACtB,yBAAyB,EACzB,uBAAuB,EACvB,iCAAiC,EACjC,KAAK,4BAA4B,EACjC,KAAK,4BAA4B,GAClC,MAAM,yBAAyB,CAAC;AAYjC,YAAY,EACV,aAAa,EACb,aAAa,EACb,eAAe,EACf,eAAe,EACf,cAAc,EACd,iBAAiB,EACjB,UAAU,IAAI,kBAAkB,EAChC,eAAe,EACf,kBAAkB,EAClB,iBAAiB,EACjB,cAAc,EACd,iBAAiB,GAClB,MAAM,mBAAmB,CAAC"}
package/dist/index.js CHANGED
@@ -30,6 +30,7 @@ export * from './types/index.js';
30
30
  export { useEditorLifecycle, } from './useEditorLifecycle.js';
31
31
  export { useCollaborativeEditor, COLLAB_INIT_ORIGIN, } from './useCollaborativeEditor.js';
32
32
  export { createTextCollabContentAdapter, reconstructCollabContentAdapterFromDescriptor, TEXT_COLLAB_DEFAULT_FIELD, } from './collab/createTextCollabContentAdapter.js';
33
+ export { applyTextDiff, replaceYText, } from './collab/textReplacement.js';
33
34
  // Re-export host-provided editor context and UI helpers for extensions.
34
35
  export { useDocumentPath, } from './documentPath.js';
35
36
  export { MaterialSymbol } from './MaterialSymbol.js';
@@ -405,7 +405,7 @@ export interface EditorHost {
405
405
  * Editor should call saveContent() in response.
406
406
  * Returns unsubscribe function.
407
407
  */
408
- onSaveRequested(callback: () => void): () => void;
408
+ onSaveRequested(callback: () => void | Promise<void>): () => void;
409
409
  /**
410
410
  * Open history dialog for this file.
411
411
  */
@@ -453,6 +453,17 @@ export interface EditorHost {
453
453
  * @returns Unsubscribe function
454
454
  */
455
455
  onDiffCleared?(callback: () => void): () => void;
456
+ /**
457
+ * Subscribe to the app's Find command (Cmd+F).
458
+ *
459
+ * Cmd+F is a native menu accelerator, so the renderer never sees the
460
+ * keystroke -- an extension cannot bind it itself. The command arrives over
461
+ * IPC and the host routes it to whichever editor owns the active file, so an
462
+ * editor with its own find UI opens it from here.
463
+ *
464
+ * Returns an unsubscribe function.
465
+ */
466
+ onFindRequested?(callback: () => void): () => void;
456
467
  /**
457
468
  * Request to toggle source mode on/off.
458
469
  * When source mode is active, TabEditor renders Monaco to edit raw source
@@ -1 +1 @@
1
- {"version":3,"file":"editor.d.ts","sourceRoot":"","sources":["../../src/types/editor.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"editor.d.ts","sourceRoot":"","sources":["../../src/types/editor.ts"],"names":[],"mappings":"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"}
@@ -3,7 +3,7 @@
3
3
  */
4
4
  import type { ComponentType } from 'react';
5
5
  import type { EditorHostProps } from './editor';
6
- import type { ExtensionStorage, PanelContribution, PanelExport, PanelGutterButtonProps, PanelHostProps, SettingsPanelContribution, SettingsPanelProps } from './panel';
6
+ import type { ExtensionStorage, PanelContribution, PanelExport, PanelGutterButtonProps, PanelHostProps, SettingsPanelContribution, SettingsRouteContribution, SettingsPanelProps } from './panel';
7
7
  import type { BackendModuleContribution, ExtensionPermissionId } from './permissions';
8
8
  import type { MonacoThemeContribution, ThemeColors } from './theme';
9
9
  import type { ExtensionCollabService } from './collab';
@@ -311,6 +311,11 @@ export interface ExtensionContributions {
311
311
  * Settings panel shown in the Settings screen under "Extensions" section.
312
312
  */
313
313
  settingsPanel?: SettingsPanelContribution;
314
+ /**
315
+ * First-class routes shown in the Settings sidebar. Route components are
316
+ * resolved from the module's `settingsPanel` export namespace.
317
+ */
318
+ settingsRoutes?: SettingsRouteContribution[];
314
319
  /**
315
320
  * Document headers that render above editors for matching file types.
316
321
  * Headers augment the editor without replacing it.
@@ -490,6 +495,12 @@ export interface CustomEditorContribution {
490
495
  * Defaults to false - must be explicitly set to true to enable.
491
496
  */
492
497
  supportsDiffMode?: boolean;
498
+ /**
499
+ * Whether this editor refuses edits while a diff is under review. Set it
500
+ * only if the editor actually locks -- the host tells the user so in the
501
+ * diff header, and the claim has to be true. Defaults to false.
502
+ */
503
+ readOnlyDuringDiff?: boolean;
493
504
  /**
494
505
  * Whether to show the host-provided document header above the editor.
495
506
  * Defaults to true when omitted for backward compatibility.
@@ -647,8 +658,9 @@ export interface ExtensionModule {
647
658
  */
648
659
  panels?: Record<string, PanelExport>;
649
660
  /**
650
- * Settings panel component for the Settings screen.
651
- * Keys match the `settingsPanel.component` in manifest.json.
661
+ * Settings components for the Settings screen.
662
+ * Keys match `settingsPanel.component` and `settingsRoutes[].component` in
663
+ * manifest.json.
652
664
  */
653
665
  settingsPanel?: Record<string, ComponentType<SettingsPanelProps>>;
654
666
  }
@@ -944,8 +956,8 @@ export interface ExtensionAIService {
944
956
  prompt: string;
945
957
  sessionName?: string;
946
958
  /** AI provider to use. Defaults to 'claude-code'. */
947
- provider?: 'claude-code' | 'claude' | 'openai';
948
- /** Model ID (e.g. 'claude-code:opus', 'claude-code:sonnet'). Uses provider default if omitted. */
959
+ provider?: 'claude-code' | 'claude' | 'openai' | 'openai-codex';
960
+ /** Model ID (e.g. 'claude-code:opus', 'openai-codex:gpt-5.6-sol'). Uses provider default if omitted. */
949
961
  model?: string;
950
962
  }): Promise<{
951
963
  sessionId: string;
@@ -1 +1 @@
1
- {"version":3,"file":"extension.d.ts","sourceRoot":"","sources":["../../src/types/extension.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"extension.d.ts","sourceRoot":"","sources":["../../src/types/extension.ts"],"names":[],"mappings":"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"}
@@ -127,6 +127,30 @@ export interface SettingsPanelContribution {
127
127
  */
128
128
  order?: number;
129
129
  }
130
+ /** Settings scopes that extensions may contribute first-class routes to. */
131
+ export type ExtensionSettingsRouteScope = 'application' | 'project';
132
+ /**
133
+ * A first-class route contributed to the Settings sidebar.
134
+ *
135
+ * The route id is unique within the extension. The host namespaces it as
136
+ * `ext:<extensionId>:<id>` so it cannot collide with built-in settings routes.
137
+ */
138
+ export interface SettingsRouteContribution {
139
+ /** Unique route id within the extension. */
140
+ id: string;
141
+ /** Settings scope where the route appears. */
142
+ scope: ExtensionSettingsRouteScope;
143
+ /** User-facing sidebar label. */
144
+ label: string;
145
+ /** Sidebar group heading. Defaults to "Extensions". */
146
+ group?: string;
147
+ /** Material Symbol name. Defaults to "extension". */
148
+ icon?: string;
149
+ /** Sort order among extension routes in the same group. Defaults to 100. */
150
+ order?: number;
151
+ /** Name of the component exported from `ExtensionModule.settingsPanel`. */
152
+ component: string;
153
+ }
130
154
  /**
131
155
  * Panel export from extension module.
132
156
  *
@@ -621,5 +645,24 @@ export interface SettingsPanelProps {
621
645
  * not running.
622
646
  */
623
647
  callBackendTool?: (toolName: string, args?: Record<string, unknown>) => Promise<unknown>;
648
+ /**
649
+ * Active local workspace for a project-scoped settings route. Omitted for
650
+ * application routes and legacy nested settings panels.
651
+ */
652
+ workspacePath?: string;
653
+ /**
654
+ * Full project target for a project-scoped settings route. Omitted for
655
+ * application routes and legacy nested settings panels.
656
+ */
657
+ projectTarget?: SettingsRouteProjectTarget;
624
658
  }
659
+ /** Project context passed to project-scoped extension settings routes. */
660
+ export type SettingsRouteProjectTarget = {
661
+ kind: 'workspace';
662
+ workspacePath: string;
663
+ } | {
664
+ kind: 'organizationProject';
665
+ orgId: string;
666
+ projectId: string;
667
+ };
625
668
  //# sourceMappingURL=panel.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"panel.d.ts","sourceRoot":"","sources":["../../src/types/panel.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"panel.d.ts","sourceRoot":"","sources":["../../src/types/panel.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAEH,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,OAAO,CAAC;AAM3C;;;;;;;;;;;;;;;;;GAiBG;AACH,MAAM,WAAW,iBAAiB;IAChC;;;OAGG;IACH,EAAE,EAAE,MAAM,CAAC;IAEX;;OAEG;IACH,KAAK,EAAE,MAAM,CAAC;IAEd;;;OAGG;IACH,IAAI,EAAE,MAAM,CAAC;IAEb;;;;;;;;;;;;;;;OAeG;IACH,SAAS,EAAE,SAAS,GAAG,YAAY,GAAG,UAAU,GAAG,QAAQ,CAAC;IAE5D;;;;OAIG;IACH,WAAW,CAAC,EAAE,OAAO,CAAC;IAEtB;;;;;;;;OAQG;IACH,gBAAgB,CAAC,EAAE,MAAM,EAAE,CAAC;IAE5B;;;;OAIG;IACH,KAAK,CAAC,EAAE,MAAM,CAAC;IAEf;;;;;OAKG;IACH,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED;;;;;;;;;;;;;;;GAeG;AACH,MAAM,WAAW,yBAAyB;IACxC;;OAEG;IACH,SAAS,EAAE,MAAM,CAAC;IAElB;;OAEG;IACH,KAAK,EAAE,MAAM,CAAC;IAEd;;OAEG;IACH,IAAI,CAAC,EAAE,MAAM,CAAC;IAEd;;;OAGG;IACH,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,4EAA4E;AAC5E,MAAM,MAAM,2BAA2B,GAAG,aAAa,GAAG,SAAS,CAAC;AAEpE;;;;;GAKG;AACH,MAAM,WAAW,yBAAyB;IACxC,4CAA4C;IAC5C,EAAE,EAAE,MAAM,CAAC;IAEX,8CAA8C;IAC9C,KAAK,EAAE,2BAA2B,CAAC;IAEnC,iCAAiC;IACjC,KAAK,EAAE,MAAM,CAAC;IAEd,uDAAuD;IACvD,KAAK,CAAC,EAAE,MAAM,CAAC;IAEf,qDAAqD;IACrD,IAAI,CAAC,EAAE,MAAM,CAAC;IAEd,4EAA4E;IAC5E,KAAK,CAAC,EAAE,MAAM,CAAC;IAEf,2EAA2E;IAC3E,SAAS,EAAE,MAAM,CAAC;CACnB;AAMD;;;;;;;;;;;;GAYG;AACH,MAAM,WAAW,WAAW;IAC1B;;;OAGG;IACH,SAAS,EAAE,aAAa,CAAC,cAAc,CAAC,CAAC;IAEzC;;;;OAIG;IACH,YAAY,CAAC,EAAE,aAAa,CAAC,sBAAsB,CAAC,CAAC;IAErD;;;OAGG;IACH,iBAAiB,CAAC,EAAE,aAAa,CAAC,cAAc,CAAC,CAAC;CACnD;AAMD;;GAEG;AACH,MAAM,WAAW,cAAc;IAC7B;;OAEG;IACH,IAAI,EAAE,SAAS,CAAC;CACjB;AAED;;GAEG;AACH,MAAM,WAAW,sBAAsB;IACrC;;OAEG;IACH,QAAQ,EAAE,OAAO,CAAC;IAElB;;OAEG;IACH,UAAU,EAAE,MAAM,IAAI,CAAC;IAEvB;;OAEG;IACH,KAAK,EAAE,MAAM,CAAC;CACf;AAED;;;;;GAKG;AACH,MAAM,WAAW,SAAS;IAGxB;;OAEG;IACH,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IAEzB;;OAEG;IACH,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAI7B;;OAEG;IACH,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IAEvB;;OAEG;IACH,QAAQ,CAAC,aAAa,EAAE,MAAM,CAAC;IAE/B;;;;;OAKG;IACH,cAAc,CAAC,QAAQ,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,GAAG,MAAM,IAAI,CAAC;IAI9D;;;;OAIG;IACH,QAAQ,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;IAE7B;;;;OAIG;IACH,SAAS,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;IAEjC;;OAEG;IACH,KAAK,IAAI,IAAI,CAAC;IAId;;OAEG;IACH,QAAQ,CAAC,cAAc,EAAE,OAAO,CAAC;IAEjC;;OAEG;IACH,YAAY,IAAI,IAAI,CAAC;IAErB;;OAEG;IACH,aAAa,IAAI,IAAI,CAAC;IAItB;;;OAGG;IACH,QAAQ,CAAC,EAAE,CAAC,EAAE,cAAc,CAAC;IAI7B;;;;;;;;;OASG;IACH,gBAAgB,CAAC,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC,IAAI,EAAE,OAAO,KAAK,IAAI,GAAG,MAAM,IAAI,CAAC;IAI/E;;;OAGG;IACH,QAAQ,CAAC,OAAO,EAAE,gBAAgB,CAAC;IAInC;;;;;;OAMG;IACH,QAAQ,CAAC,KAAK,EAAE,oBAAoB,CAAC;IAIrC;;;;;;;;;OASG;IACH,IAAI,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,WAAW,GAAG,OAAO,CAAC,UAAU,CAAC,CAAC;IAIlE;;;;;;;;;;;;OAYG;IACH,QAAQ,CAAC,IAAI,EAAE,mBAAmB,CAAC;CACpC;AAED;;;;;;;;;;GAUG;AACH,MAAM,WAAW,mBAAmB;IAClC;;;;;;;;;;;OAWG;IACH,KAAK,CAAC,CAAC,GAAG,OAAO,EAAE,GAAG,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,OAAO,EAAE,GAAG,OAAO,CAAC,CAAC,EAAE,CAAC,CAAC;CACnE;AAED;;GAEG;AACH,MAAM,WAAW,WAAW;IAC1B,qDAAqD;IACrD,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,sDAAsD;IACtD,GAAG,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC7B,+CAA+C;IAC/C,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,iEAAiE;IACjE,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED;;GAEG;AACH,MAAM,WAAW,UAAU;IACzB,OAAO,EAAE,OAAO,CAAC;IACjB,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,MAAM,CAAC;CAClB;AAMD;;;;;;;;;;;;;;;;;GAiBG;AACH,MAAM,WAAW,oBAAoB;IACnC;;;OAGG;IACH,WAAW,IAAI,OAAO,CAAC,MAAM,CAAC,CAAC;IAE/B;;OAEG;IACH,iBAAiB,IAAI,OAAO,CAAC,MAAM,CAAC,CAAC;IAErC;;;;OAIG;IACH,KAAK,CAAC,YAAY,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAEtE;;;OAGG;IACH,QAAQ,CAAC,YAAY,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;IAEhD;;;OAGG;IACH,IAAI,CAAC,YAAY,EAAE,MAAM,GAAG,OAAO,CAAC,UAAU,CAAC,CAAC;IAEhD;;;OAGG;IACH,MAAM,CAAC,YAAY,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;IAE/C;;;OAGG;IACH,MAAM,CAAC,YAAY,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAE5C;;;;OAIG;IACH,IAAI,CAAC,YAAY,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC;IAE/C;;OAEG;IACH,QAAQ,IAAI,OAAO,CAAC;QAAE,SAAS,EAAE,MAAM,CAAC;QAAC,UAAU,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;CAChE;AAMD;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,MAAM,WAAW,cAAc;IAC7B;;;;;;;OAOG;IACH,UAAU,CAAC,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,CAAC;IAEnD;;OAEG;IACH,UAAU,IAAI,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAEtC;;OAEG;IACH,YAAY,IAAI,IAAI,CAAC;IAErB;;;;;;;;OAQG;IACH,YAAY,CAAC,KAAK,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,OAAO,GAAG,IAAI,CAAC;IAElD;;;;;;;OAOG;IACH,gBAAgB,CAAC,QAAQ,EAAE,CAAC,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAAK,IAAI,GAAG,MAAM,IAAI,CAAC;CACpF;AAMD;;;;;;;;;;;;;;;GAeG;AACH,MAAM,WAAW,gBAAgB;IAG/B;;;;;;OAMG;IACH,GAAG,CAAC,CAAC,EAAE,GAAG,EAAE,MAAM,GAAG,CAAC,GAAG,SAAS,CAAC;IAEnC;;;;;OAKG;IACH,GAAG,CAAC,CAAC,EAAE,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAE7C;;;;OAIG;IACH,MAAM,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAInC;;;;;;OAMG;IACH,SAAS,CAAC,CAAC,EAAE,GAAG,EAAE,MAAM,GAAG,CAAC,GAAG,SAAS,CAAC;IAEzC;;;;;OAKG;IACH,SAAS,CAAC,CAAC,EAAE,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAEnD;;;;OAIG;IACH,YAAY,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAIzC;;;;;;OAMG;IACH,SAAS,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC,CAAC;IAEpD;;;;;OAKG;IACH,SAAS,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAErD;;;;OAIG;IACH,YAAY,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;CAC1C;AAMD;;;GAGG;AACH,MAAM,WAAW,WAAW;IAC1B;;OAEG;IACH,EAAE,EAAE,MAAM,CAAC;IAEX;;OAEG;IACH,WAAW,EAAE,MAAM,CAAC;IAEpB;;OAEG;IACH,YAAY,EAAE,iBAAiB,CAAC;IAEhC;;OAEG;IACH,OAAO,EAAE,WAAW,CAAC;IAErB;;OAEG;IACH,QAAQ,EAAE,OAAO,CAAC;CACnB;AAED;;;GAGG;AACH,MAAM,WAAW,mBAAmB;IAClC;;OAEG;IACH,WAAW,EAAE,MAAM,CAAC;IAEpB;;OAEG;IACH,YAAY,EAAE,yBAAyB,CAAC;IAExC;;OAEG;IACH,SAAS,EAAE,aAAa,CAAC,kBAAkB,CAAC,CAAC;CAC9C;AAED;;GAEG;AACH,MAAM,WAAW,kBAAkB;IACjC;;OAEG;IACH,OAAO,EAAE,gBAAgB,CAAC;IAE1B;;OAEG;IACH,KAAK,EAAE,MAAM,CAAC;IAEd;;;;;;;;OAQG;IACH,eAAe,CAAC,EAAE,CAChB,QAAQ,EAAE,MAAM,EAChB,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAC3B,OAAO,CAAC,OAAO,CAAC,CAAC;IAEtB;;;OAGG;IACH,aAAa,CAAC,EAAE,MAAM,CAAC;IAEvB;;;OAGG;IACH,aAAa,CAAC,EAAE,0BAA0B,CAAC;CAC5C;AAED,0EAA0E;AAC1E,MAAM,MAAM,0BAA0B,GAClC;IAAE,IAAI,EAAE,WAAW,CAAC;IAAC,aAAa,EAAE,MAAM,CAAA;CAAE,GAC5C;IAAE,IAAI,EAAE,qBAAqB,CAAC;IAAC,KAAK,EAAE,MAAM,CAAC;IAAC,SAAS,EAAE,MAAM,CAAA;CAAE,CAAC"}
@@ -29,29 +29,16 @@
29
29
  * }
30
30
  * ```
31
31
  *
32
- * Bootstrap-race safety: if two clients both open an empty document, both
33
- * will call `initializeFromContent` and their CRDT updates merge. To avoid
34
- * duplicate elements your seeded shared types MUST use **content-derived
35
- * stable IDs** (e.g. element `id` from the file), not random IDs. The same
36
- * input yields the same Y.Doc state; merged duplicates collapse.
32
+ * Bootstrap-race safety: two clients seeding the same file must assign the
33
+ * same keys, so seed identity must be deterministic from stable file data or
34
+ * order, not random. In a keyed structured document, assign each key once and
35
+ * never recompute it from mutable content; changing it replaces the shared
36
+ * type and loses its history and concurrent edits.
37
37
  */
38
38
  import * as Y from 'yjs';
39
39
  import type { CollaborationStatus, CollaboratorInfo, EditorHost } from './types/editor.js';
40
40
  import type { CollabCodec } from './types/collab.js';
41
- /**
42
- * Origin tag used when the SDK wraps `initializeFromContent` in a Y.Doc
43
- * transaction. Extension bindings can compare a transaction's origin
44
- * against this to suppress their own change handlers during seeding
45
- * (otherwise the binding would echo the seed back into local-edit state).
46
- *
47
- * ```ts
48
- * yDoc.on('update', (update, origin) => {
49
- * if (origin === COLLAB_INIT_ORIGIN) return;
50
- * // ... apply remote change
51
- * });
52
- * ```
53
- */
54
- export declare const COLLAB_INIT_ORIGIN: unique symbol;
41
+ export { COLLAB_INIT_ORIGIN } from './collab/origins.js';
55
42
  /** Context passed to the binding factory (`bind` / `createBinding`). */
56
43
  export interface CollabBindContext {
57
44
  yDoc: Y.Doc;
@@ -119,8 +106,9 @@ export interface UseCollaborativeEditorLegacyConfig {
119
106
  /**
120
107
  * @deprecated Provide `seedFromFile` on the codec. Populate the Y.Doc from
121
108
  * raw file content when this client is first. Called inside a
122
- * `yDoc.transact(..., COLLAB_INIT_ORIGIN)`. Use content-derived stable IDs
123
- * (see file-level docs) to keep the bootstrap race deterministic.
109
+ * `yDoc.transact(..., COLLAB_INIT_ORIGIN)`. Seed keys deterministically from
110
+ * the file so concurrent seeds converge. In keyed structured documents,
111
+ * never recompute an assigned key from mutable content.
124
112
  */
125
113
  initializeFromContent(yDoc: Y.Doc, content: string | ArrayBuffer): void;
126
114
  onSeedOutcome?(outcome: {
@@ -1 +1 @@
1
- {"version":3,"file":"useCollaborativeEditor.d.ts","sourceRoot":"","sources":["../src/useCollaborativeEditor.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAoCG;AAGH,OAAO,KAAK,CAAC,MAAM,KAAK,CAAC;AACzB,OAAO,KAAK,EAEV,mBAAmB,EACnB,gBAAgB,EAChB,UAAU,EACX,MAAM,mBAAmB,CAAC;AAC3B,OAAO,KAAK,EAAE,WAAW,EAA2B,MAAM,mBAAmB,CAAC;AAE9E;;;;;;;;;;;;GAYG;AACH,eAAO,MAAM,kBAAkB,eAAkC,CAAC;AAElE,wEAAwE;AACxE,MAAM,WAAW,iBAAiB;IAChC,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC;IACZ,SAAS,EAAE,OAAO,uBAAuB,EAAE,SAAS,CAAC;IACrD,IAAI,EAAE;QAAE,EAAE,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,CAAC;CACnD;AAED,MAAM,MAAM,gBAAgB,GACxB;IAAE,OAAO,EAAE,MAAM,IAAI,CAAA;CAAE,GACvB,OAAO,CAAC;IAAE,OAAO,EAAE,MAAM,IAAI,CAAA;CAAE,CAAC,CAAC;AAErC;;;;;;;;;;;;;;GAcG;AACH,MAAM,WAAW,iCAAiC;IAChD,kFAAkF;IAClF,KAAK,EAAE,WAAW,CAAC;IAEnB;;;;;OAKG;IACH,IAAI,CAAC,GAAG,EAAE,iBAAiB,GAAG,gBAAgB,CAAC;IAE/C;;;;OAIG;IACH,aAAa,CAAC,CAAC,OAAO,EAAE;QAAE,EAAE,EAAE,OAAO,CAAC;QAAC,KAAK,CAAC,EAAE,OAAO,CAAA;KAAE,GAAG,IAAI,CAAC;CACjE;AAED;;;;;GAKG;AACH,MAAM,WAAW,kCAAkC;IACjD,kDAAkD;IAClD,aAAa,CAAC,GAAG,EAAE,iBAAiB,GAAG,gBAAgB,CAAC;IAExD;;;OAGG;IACH,OAAO,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,GAAG,GAAG,OAAO,CAAC;IAE/B;;;;;OAKG;IACH,qBAAqB,CAAC,IAAI,EAAE,CAAC,CAAC,GAAG,EAAE,OAAO,EAAE,MAAM,GAAG,WAAW,GAAG,IAAI,CAAC;IAExE,aAAa,CAAC,CAAC,OAAO,EAAE;QAAE,EAAE,EAAE,OAAO,CAAC;QAAC,KAAK,CAAC,EAAE,OAAO,CAAA;KAAE,GAAG,IAAI,CAAC;CACjE;AAED,MAAM,MAAM,4BAA4B,GACpC,iCAAiC,GACjC,kCAAkC,CAAC;AAEvC,MAAM,WAAW,4BAA4B;IAC3C,iDAAiD;IACjD,eAAe,EAAE,OAAO,CAAC;IACzB,0EAA0E;IAC1E,MAAM,EAAE,mBAAmB,CAAC;IAC5B;;;OAGG;IACH,aAAa,EAAE,GAAG,CAAC,MAAM,EAAE,gBAAgB,CAAC,CAAC;IAC7C;;;OAGG;IACH,OAAO,EAAE;QAAE,OAAO,EAAE,MAAM,IAAI,CAAA;KAAE,GAAG,IAAI,CAAC;IACxC;;;;OAIG;IACH,SAAS,EAAE,OAAO,GAAG,IAAI,CAAC;CAC3B;AAyCD;;;;;;GAMG;AACH,wBAAgB,kBAAkB,CAChC,OAAO,EAAE,MAAM,GAAG,WAAW,GAAG,UAAU,GAAG,IAAI,GAAG,SAAS,GAC5D,OAAO,CAIT;AAED,wBAAgB,sBAAsB,CACpC,IAAI,EAAE,UAAU,EAChB,MAAM,EAAE,4BAA4B,GACnC,4BAA4B,CAgL9B"}
1
+ {"version":3,"file":"useCollaborativeEditor.d.ts","sourceRoot":"","sources":["../src/useCollaborativeEditor.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAoCG;AAGH,OAAO,KAAK,CAAC,MAAM,KAAK,CAAC;AACzB,OAAO,KAAK,EAEV,mBAAmB,EACnB,gBAAgB,EAChB,UAAU,EACX,MAAM,mBAAmB,CAAC;AAC3B,OAAO,KAAK,EAAE,WAAW,EAA2B,MAAM,mBAAmB,CAAC;AAG9E,OAAO,EAAE,kBAAkB,EAAE,MAAM,qBAAqB,CAAC;AAEzD,wEAAwE;AACxE,MAAM,WAAW,iBAAiB;IAChC,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC;IACZ,SAAS,EAAE,OAAO,uBAAuB,EAAE,SAAS,CAAC;IACrD,IAAI,EAAE;QAAE,EAAE,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,CAAC;CACnD;AAED,MAAM,MAAM,gBAAgB,GACxB;IAAE,OAAO,EAAE,MAAM,IAAI,CAAA;CAAE,GACvB,OAAO,CAAC;IAAE,OAAO,EAAE,MAAM,IAAI,CAAA;CAAE,CAAC,CAAC;AAErC;;;;;;;;;;;;;;GAcG;AACH,MAAM,WAAW,iCAAiC;IAChD,kFAAkF;IAClF,KAAK,EAAE,WAAW,CAAC;IAEnB;;;;;OAKG;IACH,IAAI,CAAC,GAAG,EAAE,iBAAiB,GAAG,gBAAgB,CAAC;IAE/C;;;;OAIG;IACH,aAAa,CAAC,CAAC,OAAO,EAAE;QAAE,EAAE,EAAE,OAAO,CAAC;QAAC,KAAK,CAAC,EAAE,OAAO,CAAA;KAAE,GAAG,IAAI,CAAC;CACjE;AAED;;;;;GAKG;AACH,MAAM,WAAW,kCAAkC;IACjD,kDAAkD;IAClD,aAAa,CAAC,GAAG,EAAE,iBAAiB,GAAG,gBAAgB,CAAC;IAExD;;;OAGG;IACH,OAAO,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,GAAG,GAAG,OAAO,CAAC;IAE/B;;;;;;OAMG;IACH,qBAAqB,CAAC,IAAI,EAAE,CAAC,CAAC,GAAG,EAAE,OAAO,EAAE,MAAM,GAAG,WAAW,GAAG,IAAI,CAAC;IAExE,aAAa,CAAC,CAAC,OAAO,EAAE;QAAE,EAAE,EAAE,OAAO,CAAC;QAAC,KAAK,CAAC,EAAE,OAAO,CAAA;KAAE,GAAG,IAAI,CAAC;CACjE;AAED,MAAM,MAAM,4BAA4B,GACpC,iCAAiC,GACjC,kCAAkC,CAAC;AAEvC,MAAM,WAAW,4BAA4B;IAC3C,iDAAiD;IACjD,eAAe,EAAE,OAAO,CAAC;IACzB,0EAA0E;IAC1E,MAAM,EAAE,mBAAmB,CAAC;IAC5B;;;OAGG;IACH,aAAa,EAAE,GAAG,CAAC,MAAM,EAAE,gBAAgB,CAAC,CAAC;IAC7C;;;OAGG;IACH,OAAO,EAAE;QAAE,OAAO,EAAE,MAAM,IAAI,CAAA;KAAE,GAAG,IAAI,CAAC;IACxC;;;;OAIG;IACH,SAAS,EAAE,OAAO,GAAG,IAAI,CAAC;CAC3B;AAyCD;;;;;;GAMG;AACH,wBAAgB,kBAAkB,CAChC,OAAO,EAAE,MAAM,GAAG,WAAW,GAAG,UAAU,GAAG,IAAI,GAAG,SAAS,GAC5D,OAAO,CAIT;AAED,wBAAgB,sBAAsB,CACpC,IAAI,EAAE,UAAU,EAChB,MAAM,EAAE,4BAA4B,GACnC,4BAA4B,CAmL9B"}
@@ -29,28 +29,16 @@
29
29
  * }
30
30
  * ```
31
31
  *
32
- * Bootstrap-race safety: if two clients both open an empty document, both
33
- * will call `initializeFromContent` and their CRDT updates merge. To avoid
34
- * duplicate elements your seeded shared types MUST use **content-derived
35
- * stable IDs** (e.g. element `id` from the file), not random IDs. The same
36
- * input yields the same Y.Doc state; merged duplicates collapse.
32
+ * Bootstrap-race safety: two clients seeding the same file must assign the
33
+ * same keys, so seed identity must be deterministic from stable file data or
34
+ * order, not random. In a keyed structured document, assign each key once and
35
+ * never recompute it from mutable content; changing it replaces the shared
36
+ * type and loses its history and concurrent edits.
37
37
  */
38
38
  import { useEffect, useRef, useState } from 'react';
39
39
  import * as Y from 'yjs';
40
- /**
41
- * Origin tag used when the SDK wraps `initializeFromContent` in a Y.Doc
42
- * transaction. Extension bindings can compare a transaction's origin
43
- * against this to suppress their own change handlers during seeding
44
- * (otherwise the binding would echo the seed back into local-edit state).
45
- *
46
- * ```ts
47
- * yDoc.on('update', (update, origin) => {
48
- * if (origin === COLLAB_INIT_ORIGIN) return;
49
- * // ... apply remote change
50
- * });
51
- * ```
52
- */
53
- export const COLLAB_INIT_ORIGIN = Symbol('nimbalyst:collab-init');
40
+ import { COLLAB_INIT_ORIGIN } from './collab/origins.js';
41
+ export { COLLAB_INIT_ORIGIN } from './collab/origins.js';
54
42
  function defaultIsEmpty(yDoc) {
55
43
  // A fully empty Y.Doc encodes to ~2 bytes (header only).
56
44
  return Y.encodeStateAsUpdate(yDoc).byteLength <= 2;
@@ -154,15 +142,19 @@ export function useCollaborativeEditor(host, config) {
154
142
  const tryStart = async () => {
155
143
  if (cancelled || handle)
156
144
  return;
157
- if (collab.getStatus() !== 'connected')
158
- return;
159
145
  const cfg = resolveConfig(configRef.current);
146
+ const connected = collab.getStatus() === 'connected';
147
+ // A complete local replica can hydrate the Y.Doc before any network is
148
+ // available. Bind that non-empty document immediately so custom editors
149
+ // can reopen offline; only first-open seeding requires a live transport.
150
+ if (!connected && cfg.isEmpty(collab.yDoc))
151
+ return;
160
152
  // NEVER seed when the transport skipped payloads it could not decode:
161
153
  // the Y.Doc looking empty then means "content exists but is unreadable
162
154
  // on this client", and seeding would write a default document over the
163
155
  // real content for every client (the "Untitled map" clobber).
164
156
  const undecoded = collab.hasUndecodedContent?.() === true;
165
- if (!undecoded && cfg.isEmpty(collab.yDoc)) {
157
+ if (connected && !undecoded && cfg.isEmpty(collab.yDoc)) {
166
158
  try {
167
159
  const content = await collab.loadInitialContent();
168
160
  if (cancelled)
@@ -1 +1 @@
1
- {"version":3,"file":"useEditorLifecycle.d.ts","sourceRoot":"","sources":["../src/useEditorLifecycle.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAgEG;AAGH,OAAO,KAAK,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAMhE,MAAM,WAAW,yBAAyB,CAAC,CAAC;IAC1C;;;;;OAKG;IACH,YAAY,EAAE,CAAC,OAAO,EAAE,CAAC,KAAK,IAAI,CAAC;IAEnC;;;OAGG;IACH,iBAAiB,CAAC,EAAE,MAAM,CAAC,CAAC;IAE5B;;;OAGG;IACH,KAAK,CAAC,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,CAAC,CAAC;IAE3B;;;OAGG;IACH,SAAS,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,KAAK,MAAM,CAAC;IAEnC;;;;;OAKG;IACH,MAAM,CAAC,EAAE,OAAO,CAAC;IAEjB;;;OAGG;IACH,QAAQ,CAAC,EAAE,MAAM,IAAI,CAAC;IAEtB;;;;OAIG;IACH,gBAAgB,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,KAAK,IAAI,CAAC;IAExC;;;;;OAKG;IACH,MAAM,CAAC,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;IAE7B;;;;OAIG;IACH,eAAe,CAAC,EAAE,CAAC,MAAM,EAAE,UAAU,KAAK,IAAI,CAAC;IAE/C;;;OAGG;IACH,aAAa,CAAC,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;CACrC;AAED,MAAM,WAAW,SAAS,CAAC,CAAC;IAC1B,iCAAiC;IACjC,QAAQ,EAAE,CAAC,CAAC;IAEZ,qDAAqD;IACrD,QAAQ,EAAE,CAAC,CAAC;IAEZ,mCAAmC;IACnC,KAAK,EAAE,MAAM,CAAC;IAEd,uCAAuC;IACvC,SAAS,EAAE,MAAM,CAAC;IAElB,8BAA8B;IAC9B,MAAM,EAAE,MAAM,IAAI,CAAC;IAEnB,mDAAmD;IACnD,MAAM,EAAE,MAAM,IAAI,CAAC;CACpB;AAED,MAAM,WAAW,wBAAwB,CAAC,CAAC;IACzC;;;OAGG;IACH,SAAS,EAAE,MAAM,IAAI,CAAC;IAEtB,gDAAgD;IAChD,SAAS,EAAE,OAAO,CAAC;IAEnB,wCAAwC;IACxC,KAAK,EAAE,KAAK,GAAG,IAAI,CAAC;IAEpB,mEAAmE;IACnE,KAAK,EAAE,MAAM,CAAC;IAEd,8CAA8C;IAC9C,OAAO,EAAE,OAAO,CAAC;IAEjB;;;OAGG;IACH,SAAS,EAAE,SAAS,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC;IAE/B,iFAAiF;IACjF,gBAAgB,EAAE,CAAC,MAAM,IAAI,CAAC,GAAG,SAAS,CAAC;IAE3C,+CAA+C;IAC/C,YAAY,EAAE,OAAO,CAAC;CACvB;AAMD,wBAAgB,kBAAkB,CAAC,CAAC,GAAG,MAAM,EAC3C,IAAI,EAAE,UAAU,EAChB,OAAO,EAAE,yBAAyB,CAAC,CAAC,CAAC,GACpC,wBAAwB,CAAC,CAAC,CAAC,CAiS7B"}
1
+ {"version":3,"file":"useEditorLifecycle.d.ts","sourceRoot":"","sources":["../src/useEditorLifecycle.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAgEG;AAGH,OAAO,KAAK,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAMhE,MAAM,WAAW,yBAAyB,CAAC,CAAC;IAC1C;;;;;OAKG;IACH,YAAY,EAAE,CAAC,OAAO,EAAE,CAAC,KAAK,IAAI,CAAC;IAEnC;;;OAGG;IACH,iBAAiB,CAAC,EAAE,MAAM,CAAC,CAAC;IAE5B;;;OAGG;IACH,KAAK,CAAC,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,CAAC,CAAC;IAE3B;;;OAGG;IACH,SAAS,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,KAAK,MAAM,CAAC;IAEnC;;;;;OAKG;IACH,MAAM,CAAC,EAAE,OAAO,CAAC;IAEjB;;;OAGG;IACH,QAAQ,CAAC,EAAE,MAAM,IAAI,CAAC;IAEtB;;;;OAIG;IACH,gBAAgB,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,KAAK,IAAI,CAAC;IAExC;;;;;OAKG;IACH,MAAM,CAAC,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;IAE7B;;;;OAIG;IACH,eAAe,CAAC,EAAE,CAAC,MAAM,EAAE,UAAU,KAAK,IAAI,CAAC;IAE/C;;;OAGG;IACH,aAAa,CAAC,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;CACrC;AAED,MAAM,WAAW,SAAS,CAAC,CAAC;IAC1B,iCAAiC;IACjC,QAAQ,EAAE,CAAC,CAAC;IAEZ,qDAAqD;IACrD,QAAQ,EAAE,CAAC,CAAC;IAEZ,mCAAmC;IACnC,KAAK,EAAE,MAAM,CAAC;IAEd,uCAAuC;IACvC,SAAS,EAAE,MAAM,CAAC;IAElB,8BAA8B;IAC9B,MAAM,EAAE,MAAM,IAAI,CAAC;IAEnB,mDAAmD;IACnD,MAAM,EAAE,MAAM,IAAI,CAAC;CACpB;AAED,MAAM,WAAW,wBAAwB,CAAC,CAAC;IACzC;;;OAGG;IACH,SAAS,EAAE,MAAM,IAAI,CAAC;IAEtB,gDAAgD;IAChD,SAAS,EAAE,OAAO,CAAC;IAEnB,wCAAwC;IACxC,KAAK,EAAE,KAAK,GAAG,IAAI,CAAC;IAEpB,mEAAmE;IACnE,KAAK,EAAE,MAAM,CAAC;IAEd,8CAA8C;IAC9C,OAAO,EAAE,OAAO,CAAC;IAEjB;;;OAGG;IACH,SAAS,EAAE,SAAS,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC;IAE/B,iFAAiF;IACjF,gBAAgB,EAAE,CAAC,MAAM,IAAI,CAAC,GAAG,SAAS,CAAC;IAE3C,+CAA+C;IAC/C,YAAY,EAAE,OAAO,CAAC;CACvB;AAMD,wBAAgB,kBAAkB,CAAC,CAAC,GAAG,MAAM,EAC3C,IAAI,EAAE,UAAU,EAChB,OAAO,EAAE,yBAAyB,CAAC,CAAC,CAAC,GACpC,wBAAwB,CAAC,CAAC,CAAC,CAmS7B"}
@@ -146,6 +146,7 @@ export function useEditorLifecycle(host, options) {
146
146
  }
147
147
  if (!mounted)
148
148
  return;
149
+ setError(null);
149
150
  setIsLoading(false);
150
151
  optionsRef.current.onLoaded?.();
151
152
  }
@@ -204,6 +205,7 @@ export function useEditorLifecycle(host, options) {
204
205
  const parsed = parseContent(newRawContent);
205
206
  lastSavedContentRef.current = newRawContent;
206
207
  opts.applyContent(parsed);
208
+ setError(null);
207
209
  clearDirty();
208
210
  opts.onExternalChange?.(parsed);
209
211
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@nimbalyst/extension-sdk",
3
- "version": "0.3.0",
3
+ "version": "0.4.0",
4
4
  "description": "SDK for building Nimbalyst extensions",
5
5
  "repository": {
6
6
  "type": "git",
@@ -29,6 +29,10 @@
29
29
  "types": "./dist/index.d.ts",
30
30
  "import": "./dist/index.js"
31
31
  },
32
+ "./collab": {
33
+ "types": "./dist/collab/index.d.ts",
34
+ "import": "./dist/collab/index.js"
35
+ },
32
36
  "./vite": {
33
37
  "types": "./dist/vite.d.ts",
34
38
  "import": "./dist/vite.js"
@@ -44,6 +48,10 @@
44
48
  "./file-tree": {
45
49
  "types": "./dist/fileDirectoryTree.d.ts",
46
50
  "import": "./dist/fileDirectoryTree.js"
51
+ },
52
+ "./file-mask": {
53
+ "types": "./dist/fileMask.d.ts",
54
+ "import": "./dist/fileMask.js"
47
55
  }
48
56
  },
49
57
  "files": [
@@ -52,10 +60,11 @@
52
60
  "CHANGELOG.md"
53
61
  ],
54
62
  "scripts": {
55
- "build": "node -e \"fs.rmSync('dist',{recursive:true,force:true})\" && tsc",
63
+ "build": "tsc",
64
+ "build:clean": "node -e \"fs.rmSync('dist',{recursive:true,force:true});fs.rmSync('.tsbuildinfo',{force:true})\" && tsc",
56
65
  "dev": "tsc --watch",
57
66
  "typecheck": "tsc --noEmit",
58
- "prepublishOnly": "npm run build"
67
+ "prepublishOnly": "npm run build:clean"
59
68
  },
60
69
  "dependencies": {},
61
70
  "peerDependencies": {