@nimbalyst/extension-sdk 0.2.1 → 0.2.2
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/CHANGELOG.md +7 -0
- package/README.md +32 -0
- package/dist/__tests__/externalsPlugin.test.d.ts +2 -0
- package/dist/__tests__/externalsPlugin.test.d.ts.map +1 -0
- package/dist/__tests__/externalsPlugin.test.js +16 -0
- package/dist/__tests__/fileDirectoryTree.test.d.ts +2 -0
- package/dist/__tests__/fileDirectoryTree.test.d.ts.map +1 -0
- package/dist/__tests__/fileDirectoryTree.test.js +54 -0
- package/dist/agents/AgentProtocol.d.ts +6 -0
- package/dist/agents/AgentProtocol.d.ts.map +1 -1
- package/dist/externalsPlugin.js +10 -0
- package/dist/fileDirectoryTree.d.ts +19 -0
- package/dist/fileDirectoryTree.d.ts.map +1 -0
- package/dist/fileDirectoryTree.js +98 -0
- package/dist/index.d.ts +2 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +5 -0
- package/dist/trackerReferences.d.ts +32 -0
- package/dist/trackerReferences.d.ts.map +1 -0
- package/dist/trackerReferences.js +7 -0
- package/dist/types/editor.d.ts +10 -0
- package/dist/types/editor.d.ts.map +1 -1
- package/dist/types/permissions.d.ts +5 -3
- package/dist/types/permissions.d.ts.map +1 -1
- package/dist/useCollaborativeEditor.d.ts.map +1 -1
- package/dist/useCollaborativeEditor.js +3 -0
- package/package.json +5 -1
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.2.2 | 0.58.5 |
|
|
11
12
|
| 0.2.1 | 0.58.5 |
|
|
12
13
|
| 0.2.0 | 0.58.5 |
|
|
13
14
|
| 0.1.5 | 0.58.5 |
|
|
@@ -15,6 +16,12 @@ The SDK is versioned independently of the Nimbalyst app. Each release declares i
|
|
|
15
16
|
|
|
16
17
|
## [Unreleased]
|
|
17
18
|
|
|
19
|
+
## [0.2.2]
|
|
20
|
+
|
|
21
|
+
### Added
|
|
22
|
+
|
|
23
|
+
- Host-provided tracker reference chips and pickers let extensions persist stable item keys while using Nimbalyst's live metadata and navigation.
|
|
24
|
+
|
|
18
25
|
## [0.2.1]
|
|
19
26
|
|
|
20
27
|
### Added
|
package/README.md
CHANGED
|
@@ -93,6 +93,38 @@ const previewHost = createReadOnlyHost(code, {
|
|
|
93
93
|
|
|
94
94
|
Type imports for props: `MonacoEditorProps`, `MonacoEditorConfig`, `MarkdownEditorProps`, `MarkdownEditorConfig` from `@nimbalyst/extension-sdk`.
|
|
95
95
|
|
|
96
|
+
## Tracker References
|
|
97
|
+
|
|
98
|
+
Custom editors and panels can link their own data to tracker items without
|
|
99
|
+
querying Nimbalyst's internal tracker store. Persist only the reference keys
|
|
100
|
+
returned by the picker; chips resolve live metadata and open the item through
|
|
101
|
+
the host's contextual navigation.
|
|
102
|
+
|
|
103
|
+
```tsx
|
|
104
|
+
import {
|
|
105
|
+
TrackerReferenceChip,
|
|
106
|
+
TrackerReferencePicker,
|
|
107
|
+
} from '@nimbalyst/extension-sdk';
|
|
108
|
+
|
|
109
|
+
<TrackerReferencePicker
|
|
110
|
+
value={trackerRefs}
|
|
111
|
+
onChange={setTrackerRefs}
|
|
112
|
+
disabled={host.readOnly}
|
|
113
|
+
/>
|
|
114
|
+
|
|
115
|
+
{trackerRefs.map(referenceKey => (
|
|
116
|
+
<TrackerReferenceChip
|
|
117
|
+
key={referenceKey}
|
|
118
|
+
referenceKey={referenceKey}
|
|
119
|
+
variant="compact"
|
|
120
|
+
/>
|
|
121
|
+
))}
|
|
122
|
+
```
|
|
123
|
+
|
|
124
|
+
The picker supports single or multiple selection, search, unresolved keys, and
|
|
125
|
+
read-only mutation state. `TrackerReferenceChip` supports `default` and
|
|
126
|
+
`compact` variants; both retain live preview and navigation behavior.
|
|
127
|
+
|
|
96
128
|
## AI Tool Example
|
|
97
129
|
|
|
98
130
|
```ts
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"externalsPlugin.test.d.ts","sourceRoot":"","sources":["../../src/__tests__/externalsPlugin.test.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import { describe, expect, it } from 'vitest';
|
|
2
|
+
import { nimbalystExternalsPlugin } from '../externalsPlugin';
|
|
3
|
+
describe('nimbalystExternalsPlugin runtime bridge', () => {
|
|
4
|
+
it('emits named exports for host-provided tracker reference APIs', async () => {
|
|
5
|
+
const plugin = nimbalystExternalsPlugin();
|
|
6
|
+
const resolveId = plugin.resolveId;
|
|
7
|
+
const load = plugin.load;
|
|
8
|
+
const id = await resolveId('@nimbalyst/runtime', undefined, {});
|
|
9
|
+
expect(id).toBe('\0nimbalyst-external:@nimbalyst/runtime');
|
|
10
|
+
const source = await load(id);
|
|
11
|
+
expect(source).toContain('export const TrackerReferenceChip');
|
|
12
|
+
expect(source).toContain('export const TrackerReferencePicker');
|
|
13
|
+
expect(source).toContain('export const useResolvedTrackerReference');
|
|
14
|
+
expect(source).toContain('export const navigateToTrackerReference');
|
|
15
|
+
});
|
|
16
|
+
});
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"fileDirectoryTree.test.d.ts","sourceRoot":"","sources":["../../src/__tests__/fileDirectoryTree.test.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
import { describe, expect, it } from 'vitest';
|
|
2
|
+
import { buildFileDirectoryTree, getFileDirectoryPaths, getFilePathBasename, getWorkspaceRelativeFilePath, } from '../fileDirectoryTree';
|
|
3
|
+
const buildTree = (files, workspacePath) => buildFileDirectoryTree(files.map(filePath => ({ filePath })), file => file.filePath, workspacePath);
|
|
4
|
+
describe('file path helpers', () => {
|
|
5
|
+
it('normalizes Unix, Windows, and mixed separators', () => {
|
|
6
|
+
expect(getWorkspaceRelativeFilePath('/repo/src/App.tsx', '/repo')).toBe('src/App.tsx');
|
|
7
|
+
expect(getWorkspaceRelativeFilePath('C:\\repo\\src\\App.tsx', 'C:\\repo'))
|
|
8
|
+
.toBe('src/App.tsx');
|
|
9
|
+
expect(getWorkspaceRelativeFilePath('C:\\repo/src\\App.tsx', 'C:\\repo\\'))
|
|
10
|
+
.toBe('src/App.tsx');
|
|
11
|
+
});
|
|
12
|
+
it('compares Windows drive paths case-insensitively', () => {
|
|
13
|
+
expect(getWorkspaceRelativeFilePath('c:\\Repo\\src\\App.tsx', 'C:\\repo'))
|
|
14
|
+
.toBe('src/App.tsx');
|
|
15
|
+
});
|
|
16
|
+
it('does not strip a partial workspace prefix', () => {
|
|
17
|
+
expect(getWorkspaceRelativeFilePath('/repo-copy/src/App.tsx', '/repo'))
|
|
18
|
+
.toBe('/repo-copy/src/App.tsx');
|
|
19
|
+
});
|
|
20
|
+
it('gets basenames from Unix and Windows paths', () => {
|
|
21
|
+
expect(getFilePathBasename('packages/runtime/index.ts')).toBe('index.ts');
|
|
22
|
+
expect(getFilePathBasename('packages\\runtime\\index.ts')).toBe('index.ts');
|
|
23
|
+
});
|
|
24
|
+
});
|
|
25
|
+
describe('buildFileDirectoryTree', () => {
|
|
26
|
+
it('groups Windows files with duplicate basenames under their directories', () => {
|
|
27
|
+
const tree = buildTree([
|
|
28
|
+
'C:\\repo\\skills\\one\\SKILL.md',
|
|
29
|
+
'C:\\repo\\skills\\two\\SKILL.md',
|
|
30
|
+
'C:\\repo\\README.md',
|
|
31
|
+
], 'C:\\repo');
|
|
32
|
+
expect(tree.displayPath).toBe('');
|
|
33
|
+
expect(tree.files.map(file => file.filePath)).toEqual(['C:\\repo\\README.md']);
|
|
34
|
+
expect([...tree.subdirectories.keys()]).toEqual(['skills']);
|
|
35
|
+
expect(getFileDirectoryPaths(tree)).toEqual(['skills', 'skills/one', 'skills/two']);
|
|
36
|
+
expect(tree.fileCount).toBe(3);
|
|
37
|
+
expect(tree.subdirectories.get('skills')?.fileCount).toBe(2);
|
|
38
|
+
});
|
|
39
|
+
it('groups workspace-relative Windows paths for commit proposals', () => {
|
|
40
|
+
const tree = buildTree([
|
|
41
|
+
'packages\\runtime\\SKILL.md',
|
|
42
|
+
'packages\\electron\\SKILL.md',
|
|
43
|
+
]);
|
|
44
|
+
expect(tree.displayPath).toBe('packages');
|
|
45
|
+
expect(getFileDirectoryPaths(tree)).toEqual(['packages', 'packages/runtime', 'packages/electron']);
|
|
46
|
+
});
|
|
47
|
+
it('collapses a single-child Unix directory chain', () => {
|
|
48
|
+
const tree = buildTree(['/repo/packages/runtime/src/index.ts'], '/repo');
|
|
49
|
+
expect(tree.displayPath).toBe('packages/runtime/src');
|
|
50
|
+
expect(tree.path).toBe('packages/runtime/src');
|
|
51
|
+
expect(tree.fileCount).toBe(1);
|
|
52
|
+
expect(tree.files).toHaveLength(1);
|
|
53
|
+
});
|
|
54
|
+
});
|
|
@@ -112,6 +112,12 @@ export interface ProtocolMessage {
|
|
|
112
112
|
sessionId?: string;
|
|
113
113
|
/** AI mode when message was sent ('planning' or 'agent' or 'auto') */
|
|
114
114
|
mode?: 'planning' | 'agent' | 'auto';
|
|
115
|
+
/**
|
|
116
|
+
* Abort signal for THIS turn. Protocol sessions are cached across turns, so
|
|
117
|
+
* a signal passed at session creation goes stale after the first turn --
|
|
118
|
+
* per-message is the only correct place to carry it.
|
|
119
|
+
*/
|
|
120
|
+
abortSignal?: AbortSignal;
|
|
115
121
|
}
|
|
116
122
|
/**
|
|
117
123
|
* Session created or resumed by the protocol
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AgentProtocol.d.ts","sourceRoot":"","sources":["../../src/agents/AgentProtocol.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;GAqBG;AAEH;;GAEG;AACH,MAAM,WAAW,eAAe;IAC9B,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC;IAChB,GAAG,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC7B,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;CACxB;AAED;;GAEG;AACH,MAAM,WAAW,kBAAkB;IACjC,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;CACxB;AAED;;GAEG;AACH,MAAM,WAAW,UAAU;IACzB,OAAO,EAAE,OAAO,CAAC;IACjB,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,KAAK,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC;IACzB,MAAM,CAAC,EAAE,MAAM,CAAC;IAEhB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,SAAS,CAAC,EAAE,MAAM,CAAC;IAEnB,OAAO,CAAC,EAAE,OAAO,CAAC;IAElB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,aAAa,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE;QAAE,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;QAAC,KAAK,CAAC,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,EAAE,OAAO,CAAC;QAAC,SAAS,CAAC,EAAE,OAAO,CAAA;KAAE,CAAC,CAAC;CACrH;AAED;;GAEG;AACH,MAAM,WAAW,cAAc;IAC7B,6CAA6C;IAC7C,aAAa,EAAE,MAAM,CAAC;IAEtB,iDAAiD;IACjD,KAAK,CAAC,EAAE,MAAM,CAAC;IAEf,4CAA4C;IAC5C,YAAY,CAAC,EAAE,MAAM,CAAC;IAEtB,8CAA8C;IAC9C,WAAW,CAAC,EAAE,WAAW,CAAC;IAE1B,iEAAiE;IACjE,cAAc,CAAC,EAAE,MAAM,CAAC;IAExB,gCAAgC;IAChC,UAAU,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,eAAe,CAAC,CAAC;IAE7C,4CAA4C;IAC5C,GAAG,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAE7B,iCAAiC;IACjC,YAAY,CAAC,EAAE,MAAM,EAAE,CAAC;IAExB,oCAAoC;IACpC,eAAe,CAAC,EAAE,MAAM,EAAE,CAAC;IAE3B,iEAAiE;IACjE,GAAG,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CAC/B;AAED;;;;;;;;GAQG;AACH,MAAM,WAAW,kBAAkB;IACjC,EAAE,EAAE,MAAM,CAAC;IACX,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;IACjB,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,OAAO,GAAG,KAAK,GAAG,UAAU,CAAC;IACnC,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,OAAO,EAAE,MAAM,CAAC;CACjB;AAED;;GAEG;AACH,MAAM,WAAW,eAAe;IAC9B,kCAAkC;IAClC,OAAO,EAAE,MAAM,CAAC;IAEhB,qDAAqD;IACrD,WAAW,CAAC,EAAE,kBAAkB,EAAE,CAAC;IAEnC,0CAA0C;IAC1C,SAAS,CAAC,EAAE,MAAM,CAAC;IAEnB,sEAAsE;IACtE,IAAI,CAAC,EAAE,UAAU,GAAG,OAAO,GAAG,MAAM,CAAC;
|
|
1
|
+
{"version":3,"file":"AgentProtocol.d.ts","sourceRoot":"","sources":["../../src/agents/AgentProtocol.ts"],"names":[],"mappings":"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"}
|
package/dist/externalsPlugin.js
CHANGED
|
@@ -224,6 +224,16 @@ function generateCommonExports(externalKey) {
|
|
|
224
224
|
else if (externalKey === '@nimbalyst/runtime/ui/icons/MaterialSymbol') {
|
|
225
225
|
exports = ['MaterialSymbol'];
|
|
226
226
|
}
|
|
227
|
+
else if (externalKey === '@nimbalyst/runtime') {
|
|
228
|
+
exports = [
|
|
229
|
+
'MaterialSymbol', 'useDocumentPath', 'useEditorLifecycle',
|
|
230
|
+
'useCollaborativeEditor', 'COLLAB_INIT_ORIGIN',
|
|
231
|
+
'setTranscriptMarkdownContributions', 'clearTranscriptMarkdownContributions',
|
|
232
|
+
'MarkdownEditor', 'MonacoEditor', 'MonacoCodeEditor',
|
|
233
|
+
'TrackerReferenceChip', 'TrackerReferencePicker',
|
|
234
|
+
'useResolvedTrackerReference', 'navigateToTrackerReference',
|
|
235
|
+
];
|
|
236
|
+
}
|
|
227
237
|
else if (externalKey === '@nimbalyst/screenshot-service') {
|
|
228
238
|
exports = ['screenshotService'];
|
|
229
239
|
}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
export interface FileDirectoryNode<T> {
|
|
2
|
+
path: string;
|
|
3
|
+
displayPath: string;
|
|
4
|
+
files: T[];
|
|
5
|
+
subdirectories: Map<string, FileDirectoryNode<T>>;
|
|
6
|
+
fileCount: number;
|
|
7
|
+
}
|
|
8
|
+
/** Normalize filesystem separators for renderer-side path comparison and display. */
|
|
9
|
+
export declare function normalizeFilePath(filePath: string): string;
|
|
10
|
+
export declare function getFilePathBasename(filePath: string): string;
|
|
11
|
+
/**
|
|
12
|
+
* Return a forward-slash path relative to the workspace when the file is inside it.
|
|
13
|
+
* Windows drive paths are compared case-insensitively to match filesystem behavior.
|
|
14
|
+
*/
|
|
15
|
+
export declare function getWorkspaceRelativeFilePath(filePath: string, workspacePath?: string): string;
|
|
16
|
+
/** Build a collapsed directory tree for arbitrary file records. */
|
|
17
|
+
export declare function buildFileDirectoryTree<T>(files: T[], getFilePath: (file: T) => string, workspacePath?: string): FileDirectoryNode<T>;
|
|
18
|
+
export declare function getFileDirectoryPaths<T>(node: FileDirectoryNode<T>): string[];
|
|
19
|
+
//# sourceMappingURL=fileDirectoryTree.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"fileDirectoryTree.d.ts","sourceRoot":"","sources":["../src/fileDirectoryTree.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,iBAAiB,CAAC,CAAC;IAClC,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,KAAK,EAAE,CAAC,EAAE,CAAC;IACX,cAAc,EAAE,GAAG,CAAC,MAAM,EAAE,iBAAiB,CAAC,CAAC,CAAC,CAAC,CAAC;IAClD,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,qFAAqF;AACrF,wBAAgB,iBAAiB,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,CAE1D;AAED,wBAAgB,mBAAmB,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,CAG5D;AAED;;;GAGG;AACH,wBAAgB,4BAA4B,CAAC,QAAQ,EAAE,MAAM,EAAE,aAAa,CAAC,EAAE,MAAM,GAAG,MAAM,CAkB7F;AA6BD,mEAAmE;AACnE,wBAAgB,sBAAsB,CAAC,CAAC,EACtC,KAAK,EAAE,CAAC,EAAE,EACV,WAAW,EAAE,CAAC,IAAI,EAAE,CAAC,KAAK,MAAM,EAChC,aAAa,CAAC,EAAE,MAAM,GACrB,iBAAiB,CAAC,CAAC,CAAC,CAwCtB;AAED,wBAAgB,qBAAqB,CAAC,CAAC,EAAE,IAAI,EAAE,iBAAiB,CAAC,CAAC,CAAC,GAAG,MAAM,EAAE,CAM7E"}
|
|
@@ -0,0 +1,98 @@
|
|
|
1
|
+
/** Normalize filesystem separators for renderer-side path comparison and display. */
|
|
2
|
+
export function normalizeFilePath(filePath) {
|
|
3
|
+
return filePath.replace(/[\\/]+/g, '/');
|
|
4
|
+
}
|
|
5
|
+
export function getFilePathBasename(filePath) {
|
|
6
|
+
const normalizedPath = normalizeFilePath(filePath);
|
|
7
|
+
return normalizedPath.slice(normalizedPath.lastIndexOf('/') + 1);
|
|
8
|
+
}
|
|
9
|
+
/**
|
|
10
|
+
* Return a forward-slash path relative to the workspace when the file is inside it.
|
|
11
|
+
* Windows drive paths are compared case-insensitively to match filesystem behavior.
|
|
12
|
+
*/
|
|
13
|
+
export function getWorkspaceRelativeFilePath(filePath, workspacePath) {
|
|
14
|
+
const normalizedFile = normalizeFilePath(filePath);
|
|
15
|
+
if (!workspacePath)
|
|
16
|
+
return normalizedFile;
|
|
17
|
+
const normalizedWorkspace = normalizeFilePath(workspacePath).replace(/\/$/, '');
|
|
18
|
+
const windowsDrivePath = /^[A-Za-z]:\//.test(normalizedFile)
|
|
19
|
+
&& /^[A-Za-z]:\//.test(normalizedWorkspace);
|
|
20
|
+
const comparableFile = windowsDrivePath ? normalizedFile.toLowerCase() : normalizedFile;
|
|
21
|
+
const comparableWorkspace = windowsDrivePath
|
|
22
|
+
? normalizedWorkspace.toLowerCase()
|
|
23
|
+
: normalizedWorkspace;
|
|
24
|
+
if (comparableFile === comparableWorkspace)
|
|
25
|
+
return '';
|
|
26
|
+
if (comparableFile.startsWith(`${comparableWorkspace}/`)) {
|
|
27
|
+
return normalizedFile.slice(normalizedWorkspace.length + 1);
|
|
28
|
+
}
|
|
29
|
+
return normalizedFile;
|
|
30
|
+
}
|
|
31
|
+
function collapseDirectoryTree(node) {
|
|
32
|
+
node.subdirectories.forEach((subdirectory, key) => {
|
|
33
|
+
node.subdirectories.set(key, collapseDirectoryTree(subdirectory));
|
|
34
|
+
});
|
|
35
|
+
if (node.subdirectories.size === 1 && node.files.length === 0) {
|
|
36
|
+
const childNode = node.subdirectories.values().next().value;
|
|
37
|
+
return {
|
|
38
|
+
...childNode,
|
|
39
|
+
displayPath: node.displayPath
|
|
40
|
+
? `${node.displayPath}/${childNode.displayPath}`
|
|
41
|
+
: childNode.displayPath,
|
|
42
|
+
};
|
|
43
|
+
}
|
|
44
|
+
return node;
|
|
45
|
+
}
|
|
46
|
+
function updateFileCounts(node) {
|
|
47
|
+
let count = node.files.length;
|
|
48
|
+
node.subdirectories.forEach(subdirectory => {
|
|
49
|
+
count += updateFileCounts(subdirectory);
|
|
50
|
+
});
|
|
51
|
+
node.fileCount = count;
|
|
52
|
+
return count;
|
|
53
|
+
}
|
|
54
|
+
/** Build a collapsed directory tree for arbitrary file records. */
|
|
55
|
+
export function buildFileDirectoryTree(files, getFilePath, workspacePath) {
|
|
56
|
+
const root = {
|
|
57
|
+
path: '',
|
|
58
|
+
displayPath: '',
|
|
59
|
+
files: [],
|
|
60
|
+
subdirectories: new Map(),
|
|
61
|
+
fileCount: 0,
|
|
62
|
+
};
|
|
63
|
+
files.forEach(file => {
|
|
64
|
+
const relativePath = getWorkspaceRelativeFilePath(getFilePath(file), workspacePath);
|
|
65
|
+
const parts = relativePath.split('/').filter(Boolean);
|
|
66
|
+
if (parts.length <= 1) {
|
|
67
|
+
root.files.push(file);
|
|
68
|
+
return;
|
|
69
|
+
}
|
|
70
|
+
let currentNode = root;
|
|
71
|
+
const directoryParts = parts.slice(0, -1);
|
|
72
|
+
directoryParts.forEach((part, index) => {
|
|
73
|
+
const path = directoryParts.slice(0, index + 1).join('/');
|
|
74
|
+
let childNode = currentNode.subdirectories.get(part);
|
|
75
|
+
if (!childNode) {
|
|
76
|
+
childNode = {
|
|
77
|
+
path,
|
|
78
|
+
displayPath: part,
|
|
79
|
+
files: [],
|
|
80
|
+
subdirectories: new Map(),
|
|
81
|
+
fileCount: 0,
|
|
82
|
+
};
|
|
83
|
+
currentNode.subdirectories.set(part, childNode);
|
|
84
|
+
}
|
|
85
|
+
currentNode = childNode;
|
|
86
|
+
});
|
|
87
|
+
currentNode.files.push(file);
|
|
88
|
+
});
|
|
89
|
+
updateFileCounts(root);
|
|
90
|
+
return collapseDirectoryTree(root);
|
|
91
|
+
}
|
|
92
|
+
export function getFileDirectoryPaths(node) {
|
|
93
|
+
const paths = node.path ? [node.path] : [];
|
|
94
|
+
node.subdirectories.forEach(subdirectory => {
|
|
95
|
+
paths.push(...getFileDirectoryPaths(subdirectory));
|
|
96
|
+
});
|
|
97
|
+
return paths;
|
|
98
|
+
}
|
package/dist/index.d.ts
CHANGED
|
@@ -29,8 +29,10 @@ export { useCollaborativeEditor, COLLAB_INIT_ORIGIN, type UseCollaborativeEditor
|
|
|
29
29
|
export { createTextCollabContentAdapter, reconstructCollabContentAdapterFromDescriptor, TEXT_COLLAB_DEFAULT_FIELD, type TextCollabContentAdapterOptions, } from './collab/createTextCollabContentAdapter.js';
|
|
30
30
|
export { useDocumentPath, type DocumentPathContextValue, } from './documentPath.js';
|
|
31
31
|
export { MaterialSymbol } from './MaterialSymbol.js';
|
|
32
|
+
export { TrackerReferenceChip, TrackerReferencePicker, navigateToTrackerReference, useResolvedTrackerReference, type ResolvedTrackerReference, type TrackerReferenceChipProps, type TrackerReferencePickerProps, } from './trackerReferences.js';
|
|
32
33
|
export { createReadOnlyHost, type ReadOnlyHost, type ReadOnlyHostOptions, } from './createReadOnlyHost.js';
|
|
33
34
|
export { copyToClipboard, readClipboard } from './clipboard.js';
|
|
35
|
+
export { buildFileDirectoryTree, getFileDirectoryPaths, getFilePathBasename, getWorkspaceRelativeFilePath, normalizeFilePath, type FileDirectoryNode, } from './fileDirectoryTree.js';
|
|
34
36
|
export { validateExtensionBundle, printValidationResult, type ValidationResult, } from './validate.js';
|
|
35
37
|
export { validateBackendModules, assertBackendModulesValid, effectiveModulePermissions, validateAgentProviders, assertAgentProvidersValid, extractBackendModuleIds, MAX_AGENT_PROVIDERS_PER_EXTENSION, type BackendModuleValidationIssue, type AgentProviderValidationIssue, } from './manifestValidation.js';
|
|
36
38
|
export type { AgentProtocol, ProtocolEvent, ProtocolMessage, ProtocolSession, SessionOptions, ProtocolEventType, ToolResult as ProtocolToolResult, MCPServerConfig, RawProtocolSession, AgentProtocolHost, PermissionMode, McpToolDefinition, } from './agents/index.js';
|
package/dist/index.d.ts.map
CHANGED
|
@@ -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;
|
|
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"}
|
package/dist/index.js
CHANGED
|
@@ -33,10 +33,15 @@ export { createTextCollabContentAdapter, reconstructCollabContentAdapterFromDesc
|
|
|
33
33
|
// Re-export host-provided editor context and UI helpers for extensions.
|
|
34
34
|
export { useDocumentPath, } from './documentPath.js';
|
|
35
35
|
export { MaterialSymbol } from './MaterialSymbol.js';
|
|
36
|
+
// Re-export host-owned tracker reference UI. Extensions persist only reference
|
|
37
|
+
// keys while Nimbalyst owns live resolution, previews, selection, and opening.
|
|
38
|
+
export { TrackerReferenceChip, TrackerReferencePicker, navigateToTrackerReference, useResolvedTrackerReference, } from './trackerReferences.js';
|
|
36
39
|
// Re-export read-only host factory (for web viewers and testing)
|
|
37
40
|
export { createReadOnlyHost, } from './createReadOnlyHost.js';
|
|
38
41
|
// Re-export clipboard utilities
|
|
39
42
|
export { copyToClipboard, readClipboard } from './clipboard.js';
|
|
43
|
+
// Re-export cross-platform file tree utilities for host and extension UIs.
|
|
44
|
+
export { buildFileDirectoryTree, getFileDirectoryPaths, getFilePathBasename, getWorkspaceRelativeFilePath, normalizeFilePath, } from './fileDirectoryTree.js';
|
|
40
45
|
// Re-export validation
|
|
41
46
|
export { validateExtensionBundle, printValidationResult, } from './validate.js';
|
|
42
47
|
export { validateBackendModules, assertBackendModulesValid, effectiveModulePermissions, validateAgentProviders, assertAgentProvidersValid, extractBackendModuleIds, MAX_AGENT_PROVIDERS_PER_EXTENSION, } from './manifestValidation.js';
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
import type { ComponentType } from 'react';
|
|
2
|
+
export interface ResolvedTrackerReference {
|
|
3
|
+
id: string;
|
|
4
|
+
issueKey?: string;
|
|
5
|
+
title: string;
|
|
6
|
+
status?: string;
|
|
7
|
+
type?: string;
|
|
8
|
+
priority?: string;
|
|
9
|
+
owner?: string;
|
|
10
|
+
updatedAt?: string;
|
|
11
|
+
}
|
|
12
|
+
export interface TrackerReferenceChipProps {
|
|
13
|
+
referenceKey: string;
|
|
14
|
+
nodeKey?: string;
|
|
15
|
+
variant?: 'default' | 'compact';
|
|
16
|
+
}
|
|
17
|
+
export interface TrackerReferencePickerProps {
|
|
18
|
+
value: readonly string[];
|
|
19
|
+
onChange(value: string[]): void;
|
|
20
|
+
multiple?: boolean;
|
|
21
|
+
disabled?: boolean;
|
|
22
|
+
placeholder?: string;
|
|
23
|
+
className?: string;
|
|
24
|
+
maxResults?: number;
|
|
25
|
+
}
|
|
26
|
+
/** Host-provided live tracker reference chip. */
|
|
27
|
+
export declare const TrackerReferenceChip: ComponentType<TrackerReferenceChipProps>;
|
|
28
|
+
/** Host-provided canonical tracker search and selection UI. */
|
|
29
|
+
export declare const TrackerReferencePicker: ComponentType<TrackerReferencePickerProps>;
|
|
30
|
+
export declare const useResolvedTrackerReference: (referenceKey: string) => ResolvedTrackerReference | null;
|
|
31
|
+
export declare const navigateToTrackerReference: (reference: ResolvedTrackerReference) => void;
|
|
32
|
+
//# sourceMappingURL=trackerReferences.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"trackerReferences.d.ts","sourceRoot":"","sources":["../src/trackerReferences.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,OAAO,CAAC;AAQ3C,MAAM,WAAW,wBAAwB;IACvC,EAAE,EAAE,MAAM,CAAC;IACX,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,yBAAyB;IACxC,YAAY,EAAE,MAAM,CAAC;IACrB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,OAAO,CAAC,EAAE,SAAS,GAAG,SAAS,CAAC;CACjC;AAED,MAAM,WAAW,2BAA2B;IAC1C,KAAK,EAAE,SAAS,MAAM,EAAE,CAAC;IACzB,QAAQ,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,IAAI,CAAC;IAChC,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED,iDAAiD;AACjD,eAAO,MAAM,oBAAoB,EAA+B,aAAa,CAAC,yBAAyB,CAAC,CAAC;AAEzG,+DAA+D;AAC/D,eAAO,MAAM,sBAAsB,EAAiC,aAAa,CAAC,2BAA2B,CAAC,CAAC;AAE/G,eAAO,MAAM,2BAA2B,EAAsC,CAC5E,YAAY,EAAE,MAAM,KACjB,wBAAwB,GAAG,IAAI,CAAC;AAErC,eAAO,MAAM,0BAA0B,EAAqC,CAC1E,SAAS,EAAE,wBAAwB,KAChC,IAAI,CAAC"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import { TrackerReferenceChip as HostTrackerReferenceChip, TrackerReferencePicker as HostTrackerReferencePicker, navigateToTrackerReference as hostNavigateToTrackerReference, useResolvedTrackerReference as hostUseResolvedTrackerReference, } from '@nimbalyst/runtime';
|
|
2
|
+
/** Host-provided live tracker reference chip. */
|
|
3
|
+
export const TrackerReferenceChip = HostTrackerReferenceChip;
|
|
4
|
+
/** Host-provided canonical tracker search and selection UI. */
|
|
5
|
+
export const TrackerReferencePicker = HostTrackerReferencePicker;
|
|
6
|
+
export const useResolvedTrackerReference = hostUseResolvedTrackerReference;
|
|
7
|
+
export const navigateToTrackerReference = hostNavigateToTrackerReference;
|
package/dist/types/editor.d.ts
CHANGED
|
@@ -116,6 +116,16 @@ export interface CollaborationContext {
|
|
|
116
116
|
* document gets written over real-but-unreadable content for every client.
|
|
117
117
|
*/
|
|
118
118
|
hasUndecodedContent?(): boolean;
|
|
119
|
+
/**
|
|
120
|
+
* Host-level reporting hook for first-open seed durability. The SDK calls
|
|
121
|
+
* this when seeding succeeds, throws, or its server-persisted flush is not
|
|
122
|
+
* confirmed, so extension authors do not have to wire their own toast to
|
|
123
|
+
* avoid silent blank-room failures.
|
|
124
|
+
*/
|
|
125
|
+
reportSeedOutcome?(outcome: {
|
|
126
|
+
ok: boolean;
|
|
127
|
+
error?: unknown;
|
|
128
|
+
}): void;
|
|
119
129
|
/**
|
|
120
130
|
* @deprecated Use {@link flushWithAck}, which awaits a server-persisted ack.
|
|
121
131
|
* `flushLocalState` fires-and-forgets (resolves after the socket write, not
|
|
@@ -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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"}
|
|
@@ -86,9 +86,11 @@ export interface BackendModuleEnablement {
|
|
|
86
86
|
* do NOT enumerate raw Node capabilities the module already has via standard
|
|
87
87
|
* `require()`. See the catalog docs at the top of this file.
|
|
88
88
|
*
|
|
89
|
-
*
|
|
90
|
-
*
|
|
91
|
-
*
|
|
89
|
+
* Any extension may declare a backend module. There is no provenance gate --
|
|
90
|
+
* installing an extension and approving its first-use consent prompt IS the
|
|
91
|
+
* decision to let it run native code. Built-in extensions ship inside the app
|
|
92
|
+
* bundle (same trust domain as the app), so the host auto-grants them and
|
|
93
|
+
* skips the prompt.
|
|
92
94
|
*
|
|
93
95
|
* `entry` is a path relative to the extension root pointing at a compiled JS
|
|
94
96
|
* file. The file is loaded inside the chosen runtime, never in Electron main.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"permissions.d.ts","sourceRoot":"","sources":["../../src/types/permissions.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA+BG;AAEH,MAAM,MAAM,kBAAkB,GAAG,KAAK,GAAG,UAAU,GAAG,MAAM,CAAC;AAE7D;;;;;;;;;;GAUG;AACH,MAAM,MAAM,qBAAqB,GAC7B,iBAAiB,GACjB,yBAAyB,GACzB,0BAA0B,GAC1B,cAAc,GACd,qBAAqB,CAAC;AAE1B;;;;;;;;;;GAUG;AACH,MAAM,MAAM,oBAAoB,GAAG,iBAAiB,GAAG,eAAe,CAAC;AAEvE;;;;;;;;;;;;;GAaG;AACH,MAAM,WAAW,uBAAuB;IACtC,OAAO,EAAE,UAAU,CAAC;IACpB,QAAQ,EAAE,UAAU,CAAC;IACrB,OAAO,EAAE,MAAM,CAAC;CACjB;AAED
|
|
1
|
+
{"version":3,"file":"permissions.d.ts","sourceRoot":"","sources":["../../src/types/permissions.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA+BG;AAEH,MAAM,MAAM,kBAAkB,GAAG,KAAK,GAAG,UAAU,GAAG,MAAM,CAAC;AAE7D;;;;;;;;;;GAUG;AACH,MAAM,MAAM,qBAAqB,GAC7B,iBAAiB,GACjB,yBAAyB,GACzB,0BAA0B,GAC1B,cAAc,GACd,qBAAqB,CAAC;AAE1B;;;;;;;;;;GAUG;AACH,MAAM,MAAM,oBAAoB,GAAG,iBAAiB,GAAG,eAAe,CAAC;AAEvE;;;;;;;;;;;;;GAaG;AACH,MAAM,WAAW,uBAAuB;IACtC,OAAO,EAAE,UAAU,CAAC;IACpB,QAAQ,EAAE,UAAU,CAAC;IACrB,OAAO,EAAE,MAAM,CAAC;CACjB;AAED;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,MAAM,WAAW,yBAAyB;IACxC,4DAA4D;IAC5D,EAAE,EAAE,MAAM,CAAC;IAEX,4DAA4D;IAC5D,KAAK,EAAE,MAAM,CAAC;IAEd,8CAA8C;IAC9C,OAAO,EAAE,oBAAoB,CAAC;IAE9B;;;;;;;;;OASG;IACH,WAAW,EAAE,qBAAqB,EAAE,CAAC;IAErC,uDAAuD;IACvD,UAAU,EAAE,uBAAuB,CAAC;CACrC"}
|
|
@@ -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,
|
|
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"}
|
|
@@ -196,10 +196,12 @@ export function useCollaborativeEditor(host, config) {
|
|
|
196
196
|
const err = new Error('Seed flush was not confirmed by the server before timeout; content may not have persisted.');
|
|
197
197
|
console.warn('[useCollaborativeEditor]', err.message);
|
|
198
198
|
setSeedError(err);
|
|
199
|
+
collab.reportSeedOutcome?.({ ok: false, error: err });
|
|
199
200
|
cfg.onSeedOutcome?.({ ok: false, error: err });
|
|
200
201
|
}
|
|
201
202
|
else {
|
|
202
203
|
setSeedError(null);
|
|
204
|
+
collab.reportSeedOutcome?.({ ok: true });
|
|
203
205
|
cfg.onSeedOutcome?.({ ok: true });
|
|
204
206
|
}
|
|
205
207
|
}
|
|
@@ -207,6 +209,7 @@ export function useCollaborativeEditor(host, config) {
|
|
|
207
209
|
catch (err) {
|
|
208
210
|
console.error('[useCollaborativeEditor] Failed to load/seed initial content:', err);
|
|
209
211
|
setSeedError(err);
|
|
212
|
+
collab.reportSeedOutcome?.({ ok: false, error: err });
|
|
210
213
|
cfg.onSeedOutcome?.({ ok: false, error: err });
|
|
211
214
|
// Continue with bind -- the doc may still be usable once another
|
|
212
215
|
// client seeds it.
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@nimbalyst/extension-sdk",
|
|
3
|
-
"version": "0.2.
|
|
3
|
+
"version": "0.2.2",
|
|
4
4
|
"description": "SDK for building Nimbalyst extensions",
|
|
5
5
|
"repository": {
|
|
6
6
|
"type": "git",
|
|
@@ -40,6 +40,10 @@
|
|
|
40
40
|
"./testing": {
|
|
41
41
|
"types": "./dist/testing.d.ts",
|
|
42
42
|
"import": "./dist/testing.js"
|
|
43
|
+
},
|
|
44
|
+
"./file-tree": {
|
|
45
|
+
"types": "./dist/fileDirectoryTree.d.ts",
|
|
46
|
+
"import": "./dist/fileDirectoryTree.js"
|
|
43
47
|
}
|
|
44
48
|
},
|
|
45
49
|
"files": [
|