@nimbalyst/extension-sdk 0.2.0 → 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 +20 -0
- package/README.md +32 -0
- package/dist/__tests__/createTextCollabContentAdapter.test.d.ts +2 -0
- package/dist/__tests__/createTextCollabContentAdapter.test.d.ts.map +1 -0
- package/dist/__tests__/createTextCollabContentAdapter.test.js +60 -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/__tests__/hasSeedableContent.test.d.ts +2 -0
- package/dist/__tests__/hasSeedableContent.test.d.ts.map +1 -0
- package/dist/__tests__/hasSeedableContent.test.js +25 -0
- package/dist/__tests__/manifestValidation.agentProviders.test.d.ts +2 -0
- package/dist/__tests__/manifestValidation.agentProviders.test.d.ts.map +1 -0
- package/dist/__tests__/manifestValidation.agentProviders.test.js +44 -0
- package/dist/agents/AgentProtocol.d.ts +233 -0
- package/dist/agents/AgentProtocol.d.ts.map +1 -0
- package/dist/agents/AgentProtocol.js +23 -0
- package/dist/agents/AgentProtocolHost.d.ts +190 -0
- package/dist/agents/AgentProtocolHost.d.ts.map +1 -0
- package/dist/agents/AgentProtocolHost.js +42 -0
- package/dist/agents/index.d.ts +26 -0
- package/dist/agents/index.d.ts.map +1 -0
- package/dist/agents/index.js +24 -0
- package/dist/collab/createTextCollabContentAdapter.d.ts +26 -0
- package/dist/collab/createTextCollabContentAdapter.d.ts.map +1 -0
- package/dist/collab/createTextCollabContentAdapter.js +79 -0
- 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 +5 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +7 -0
- package/dist/manifestValidation.d.ts +118 -0
- package/dist/manifestValidation.d.ts.map +1 -0
- package/dist/manifestValidation.js +475 -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/collab.d.ts +138 -0
- package/dist/types/collab.d.ts.map +1 -0
- package/dist/types/collab.js +1 -0
- package/dist/types/editor.d.ts +81 -0
- package/dist/types/editor.d.ts.map +1 -1
- package/dist/types/editors.d.ts +4 -0
- package/dist/types/editors.d.ts.map +1 -1
- package/dist/types/extension.d.ts +364 -5
- package/dist/types/extension.d.ts.map +1 -1
- package/dist/types/extension.js +11 -1
- package/dist/types/index.d.ts +3 -0
- package/dist/types/index.d.ts.map +1 -1
- package/dist/types/index.js +3 -0
- package/dist/types/panel.d.ts +50 -0
- package/dist/types/panel.d.ts.map +1 -1
- package/dist/types/permissions.d.ts +119 -0
- package/dist/types/permissions.d.ts.map +1 -0
- package/dist/types/permissions.js +33 -0
- package/dist/types/theme.d.ts +50 -0
- package/dist/types/theme.d.ts.map +1 -1
- package/dist/types/theme.js +7 -1
- package/dist/types/trackerImporter.d.ts +147 -0
- package/dist/types/trackerImporter.d.ts.map +1 -0
- package/dist/types/trackerImporter.js +33 -0
- package/dist/useCollaborativeEditor.d.ts +84 -30
- package/dist/useCollaborativeEditor.d.ts.map +1 -1
- package/dist/useCollaborativeEditor.js +98 -7
- package/dist/validate.browser.d.ts +5 -0
- package/dist/validate.browser.d.ts.map +1 -0
- package/dist/validate.browser.js +27 -0
- package/dist/validate.d.ts +2 -8
- package/dist/validate.d.ts.map +1 -1
- package/dist/validate.js +117 -0
- package/dist/validationTypes.d.ts +9 -0
- package/dist/validationTypes.d.ts.map +1 -0
- package/dist/validationTypes.js +1 -0
- package/package.json +8 -1
|
@@ -0,0 +1,138 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* CollabCodec
|
|
3
|
+
*
|
|
4
|
+
* Per-extension Y.Doc content contract: the single, PURE thing an editor
|
|
5
|
+
* defines for collaboration. Pure functions `file bytes <-> Y.Doc shape` (no
|
|
6
|
+
* React, no host imports) so the same code seeds a live editor AND runs
|
|
7
|
+
* headlessly (Share-to-Team without the editor open, re-upload from local
|
|
8
|
+
* origin, plain-text projection for search/AI). It lets host features
|
|
9
|
+
* (re-upload, history, export, AI editing, search indexing, comments, backup,
|
|
10
|
+
* restore) operate on any extension's collaborative document without knowing
|
|
11
|
+
* its internal layout.
|
|
12
|
+
*
|
|
13
|
+
* Extensions register a codec via
|
|
14
|
+
* `context.services.collab.registerContentAdapter(...)` from their
|
|
15
|
+
* `activate()` function, and pass the SAME codec to
|
|
16
|
+
* `useCollaborativeEditor(host, { codec, bind })`. `isEmpty` / `seedFromFile`
|
|
17
|
+
* / `exportToFile` are therefore defined exactly ONCE, on the codec -- the
|
|
18
|
+
* live seed and the headless seed are provably the same code.
|
|
19
|
+
*
|
|
20
|
+
* Codecs run only client-side (main process, renderer, extensions). The collab
|
|
21
|
+
* Worker stays codec-agnostic and treats Y.Doc state as opaque ciphertext. The
|
|
22
|
+
* renderer registry is authoritative; the main-process registry is an optional
|
|
23
|
+
* cache (in-repo statics + text descriptors) and its absence degrades to
|
|
24
|
+
* client seeding, never a hard error.
|
|
25
|
+
*
|
|
26
|
+
* NOTE: This is the canonical definition. The host-internal
|
|
27
|
+
* `@nimbalyst/collab-adapters` registry re-imports this type --
|
|
28
|
+
* do not fork the interface there.
|
|
29
|
+
*
|
|
30
|
+
* @see CollabContentAdapter -- the former name, kept as a deprecated alias.
|
|
31
|
+
*/
|
|
32
|
+
import type { Doc } from 'yjs';
|
|
33
|
+
export type CollabContentFileSource = string | Uint8Array;
|
|
34
|
+
/**
|
|
35
|
+
* Serializable description of a CollabContentAdapter that lets the HOST
|
|
36
|
+
* replicate the adapter in another process (e.g. the Electron main process)
|
|
37
|
+
* WITHOUT loading the extension's code or doing a dynamic import. Only adapters
|
|
38
|
+
* built from a known host factory carry one. Today the single kind is `text`
|
|
39
|
+
* (a one-`Y.Text` document, produced by `createTextCollabContentAdapter`).
|
|
40
|
+
*/
|
|
41
|
+
export interface TextCollabAdapterDescriptor {
|
|
42
|
+
kind: 'text';
|
|
43
|
+
documentType: string;
|
|
44
|
+
fileExtensions: string[];
|
|
45
|
+
mimeType?: string;
|
|
46
|
+
textField: string;
|
|
47
|
+
layoutVersion: number;
|
|
48
|
+
}
|
|
49
|
+
export type CollabAdapterDescriptor = TextCollabAdapterDescriptor;
|
|
50
|
+
export interface CollabCodecMigration {
|
|
51
|
+
from: number;
|
|
52
|
+
to: number;
|
|
53
|
+
run(yDoc: Doc): void;
|
|
54
|
+
}
|
|
55
|
+
/** @deprecated Renamed to {@link CollabCodecMigration}. */
|
|
56
|
+
export type CollabContentAdapterMigration = CollabCodecMigration;
|
|
57
|
+
export interface CollabCodec<TStructured = unknown> {
|
|
58
|
+
/** Identifies this codec; matches the shared doc's documentType. */
|
|
59
|
+
documentType: string;
|
|
60
|
+
/** File extensions this adapter is the on-disk codec for. Include
|
|
61
|
+
* the leading dot (e.g. '.md', '.mockup.html'). The first entry is
|
|
62
|
+
* used as the default by save-a-copy / export-to-file flows. */
|
|
63
|
+
fileExtensions: string[];
|
|
64
|
+
/** Optional MIME type used by save dialogs and asset uploads. */
|
|
65
|
+
mimeType?: string;
|
|
66
|
+
/** Layout schema version. Bump when the Y.Doc shape changes; pair
|
|
67
|
+
* with `migrations` to migrate older docs forward before any
|
|
68
|
+
* write op. */
|
|
69
|
+
layoutVersion: number;
|
|
70
|
+
/** Optional migrations from older layout versions. Run by the
|
|
71
|
+
* registry before `applyFromFile` / `applyStructuredPatch` when
|
|
72
|
+
* the Y.Doc's recorded layoutVersion is older than this adapter's
|
|
73
|
+
* layoutVersion. */
|
|
74
|
+
migrations?: CollabCodecMigration[];
|
|
75
|
+
/** True iff the Y.Doc has no extension content yet. Used to gate
|
|
76
|
+
* the initial-share seed flow. Shared by the live seed (the hook)
|
|
77
|
+
* and every headless seed path, so they can never disagree. */
|
|
78
|
+
isEmpty(yDoc: Doc): boolean;
|
|
79
|
+
/** Seed an empty Y.Doc from on-disk file bytes/text. Initial share
|
|
80
|
+
* only -- adapters can assume `isEmpty(yDoc) === true`. */
|
|
81
|
+
seedFromFile(yDoc: Doc, source: CollabContentFileSource): void;
|
|
82
|
+
/** Replace Y.Doc content with the supplied on-disk file content.
|
|
83
|
+
* Must be safe to call on a populated Y.Doc. Default behaviour is
|
|
84
|
+
* wipe-and-reseed inside a single Y.Doc transaction. Adapters
|
|
85
|
+
* that want finer-grained history can override with a
|
|
86
|
+
* diff-and-patch implementation. */
|
|
87
|
+
applyFromFile(yDoc: Doc, source: CollabContentFileSource): void;
|
|
88
|
+
/** Serialize the live Y.Doc back to the on-disk file format. */
|
|
89
|
+
exportToFile(yDoc: Doc): string | Uint8Array;
|
|
90
|
+
/** Plain-text projection for search, AI prompts, diffs, history
|
|
91
|
+
* previews. Lossy is fine; this is not a round-trip channel. */
|
|
92
|
+
toPlainText(yDoc: Doc): string;
|
|
93
|
+
/** Optional: structured projection for AI tool-call edits and
|
|
94
|
+
* comment anchoring. Shape is extension-defined. Paired with
|
|
95
|
+
* `applyStructuredPatch`. */
|
|
96
|
+
toStructured?(yDoc: Doc): TStructured;
|
|
97
|
+
/** Optional: write structured edits back. Paired with
|
|
98
|
+
* `toStructured`. AI-write surface is gated on the presence of
|
|
99
|
+
* both this and `toStructured`. */
|
|
100
|
+
applyStructuredPatch?(yDoc: Doc, patch: unknown): void;
|
|
101
|
+
/** Optional: produce a snapshot for revision history. Defaults to
|
|
102
|
+
* `Y.encodeStateAsUpdateV2(yDoc)`. Override if you need a denser
|
|
103
|
+
* snapshot format. */
|
|
104
|
+
exportRevisionSnapshot?(yDoc: Doc): Uint8Array;
|
|
105
|
+
/** Optional: restore a revision snapshot. Defaults to
|
|
106
|
+
* `Y.applyUpdateV2(yDoc, bytes)`. */
|
|
107
|
+
restoreRevisionSnapshot?(yDoc: Doc, bytes: Uint8Array): void;
|
|
108
|
+
/** Optional: a serializable descriptor the host can ship to another process
|
|
109
|
+
* to rebuild this adapter without the extension's code. Set automatically by
|
|
110
|
+
* host factories like `createTextCollabContentAdapter`; hand-written
|
|
111
|
+
* adapters may leave it undefined (they stay process-local). */
|
|
112
|
+
serializableDescriptor?: CollabAdapterDescriptor;
|
|
113
|
+
}
|
|
114
|
+
/**
|
|
115
|
+
* @deprecated Renamed to {@link CollabCodec}. Same shape -- a codec is a pure
|
|
116
|
+
* `file bytes <-> Y.Doc shape` contract. Kept so existing extensions and the
|
|
117
|
+
* host-internal `@nimbalyst/collab-adapters` registry keep compiling.
|
|
118
|
+
*/
|
|
119
|
+
export type CollabContentAdapter<TStructured = unknown> = CollabCodec<TStructured>;
|
|
120
|
+
/**
|
|
121
|
+
* The collab surface on the extension context. Extensions call into
|
|
122
|
+
* this from their `activate()` to register a collab codec for any
|
|
123
|
+
* document type they ship.
|
|
124
|
+
*/
|
|
125
|
+
export interface ExtensionCollabService {
|
|
126
|
+
/**
|
|
127
|
+
* Register a CollabCodec for one of the extension's document types.
|
|
128
|
+
* Returns a Disposable that unregisters on deactivation; the host also
|
|
129
|
+
* tracks the registration in `context.subscriptions` automatically.
|
|
130
|
+
*
|
|
131
|
+
* (Named `registerContentAdapter` for backwards compatibility; it accepts a
|
|
132
|
+
* {@link CollabCodec}.)
|
|
133
|
+
*/
|
|
134
|
+
registerContentAdapter(codec: CollabCodec): {
|
|
135
|
+
dispose(): void;
|
|
136
|
+
};
|
|
137
|
+
}
|
|
138
|
+
//# sourceMappingURL=collab.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"collab.d.ts","sourceRoot":"","sources":["../../src/types/collab.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8BG;AACH,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,KAAK,CAAC;AAE/B,MAAM,MAAM,uBAAuB,GAAG,MAAM,GAAG,UAAU,CAAC;AAE1D;;;;;;GAMG;AACH,MAAM,WAAW,2BAA2B;IAC1C,IAAI,EAAE,MAAM,CAAC;IACb,YAAY,EAAE,MAAM,CAAC;IACrB,cAAc,EAAE,MAAM,EAAE,CAAC;IACzB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;IAClB,aAAa,EAAE,MAAM,CAAC;CACvB;AAED,MAAM,MAAM,uBAAuB,GAAG,2BAA2B,CAAC;AAElE,MAAM,WAAW,oBAAoB;IACnC,IAAI,EAAE,MAAM,CAAC;IACb,EAAE,EAAE,MAAM,CAAC;IACX,GAAG,CAAC,IAAI,EAAE,GAAG,GAAG,IAAI,CAAC;CACtB;AAED,2DAA2D;AAC3D,MAAM,MAAM,6BAA6B,GAAG,oBAAoB,CAAC;AAEjE,MAAM,WAAW,WAAW,CAAC,WAAW,GAAG,OAAO;IAChD,oEAAoE;IACpE,YAAY,EAAE,MAAM,CAAC;IAErB;;qEAEiE;IACjE,cAAc,EAAE,MAAM,EAAE,CAAC;IAEzB,iEAAiE;IACjE,QAAQ,CAAC,EAAE,MAAM,CAAC;IAElB;;oBAEgB;IAChB,aAAa,EAAE,MAAM,CAAC;IAEtB;;;yBAGqB;IACrB,UAAU,CAAC,EAAE,oBAAoB,EAAE,CAAC;IAEpC;;oEAEgE;IAChE,OAAO,CAAC,IAAI,EAAE,GAAG,GAAG,OAAO,CAAC;IAE5B;gEAC4D;IAC5D,YAAY,CAAC,IAAI,EAAE,GAAG,EAAE,MAAM,EAAE,uBAAuB,GAAG,IAAI,CAAC;IAE/D;;;;yCAIqC;IACrC,aAAa,CAAC,IAAI,EAAE,GAAG,EAAE,MAAM,EAAE,uBAAuB,GAAG,IAAI,CAAC;IAEhE,gEAAgE;IAChE,YAAY,CAAC,IAAI,EAAE,GAAG,GAAG,MAAM,GAAG,UAAU,CAAC;IAE7C;qEACiE;IACjE,WAAW,CAAC,IAAI,EAAE,GAAG,GAAG,MAAM,CAAC;IAE/B;;kCAE8B;IAC9B,YAAY,CAAC,CAAC,IAAI,EAAE,GAAG,GAAG,WAAW,CAAC;IAEtC;;wCAEoC;IACpC,oBAAoB,CAAC,CAAC,IAAI,EAAE,GAAG,EAAE,KAAK,EAAE,OAAO,GAAG,IAAI,CAAC;IAEvD;;2BAEuB;IACvB,sBAAsB,CAAC,CAAC,IAAI,EAAE,GAAG,GAAG,UAAU,CAAC;IAE/C;0CACsC;IACtC,uBAAuB,CAAC,CAAC,IAAI,EAAE,GAAG,EAAE,KAAK,EAAE,UAAU,GAAG,IAAI,CAAC;IAE7D;;;qEAGiE;IACjE,sBAAsB,CAAC,EAAE,uBAAuB,CAAC;CAClD;AAED;;;;GAIG;AACH,MAAM,MAAM,oBAAoB,CAAC,WAAW,GAAG,OAAO,IAAI,WAAW,CAAC,WAAW,CAAC,CAAC;AAEnF;;;;GAIG;AACH,MAAM,WAAW,sBAAsB;IACrC;;;;;;;OAOG;IACH,sBAAsB,CAAC,KAAK,EAAE,WAAW,GAAG;QAAE,OAAO,IAAI,IAAI,CAAA;KAAE,CAAC;CACjE"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
package/dist/types/editor.d.ts
CHANGED
|
@@ -96,6 +96,87 @@ export interface CollaborationContext {
|
|
|
96
96
|
* reason about file paths in collab mode.
|
|
97
97
|
*/
|
|
98
98
|
loadInitialContent(): Promise<string | ArrayBuffer>;
|
|
99
|
+
/**
|
|
100
|
+
* Flush the current Y.Doc state upstream and resolve ONLY after the server
|
|
101
|
+
* confirms it persisted the update (not merely after the socket write).
|
|
102
|
+
*
|
|
103
|
+
* The SDK awaits this after seeding a first-open collaborative document so the
|
|
104
|
+
* seed is durably on the server before the provider can tear down. Resolves
|
|
105
|
+
* `true` on a server-acked persist, `false` on timeout / not-yet-connected —
|
|
106
|
+
* the host surfaces a failed flush to the user (pending-seed machinery)
|
|
107
|
+
* rather than silently losing the seed. Required on the collab context: a
|
|
108
|
+
* host that can't guarantee the flush would reintroduce the seed data-loss
|
|
109
|
+
* race that made this method necessary.
|
|
110
|
+
*/
|
|
111
|
+
flushWithAck(timeoutMs?: number): Promise<boolean>;
|
|
112
|
+
/**
|
|
113
|
+
* True when the transport skipped server payloads it could not decode
|
|
114
|
+
* (stale key epoch, corruption). An "empty" Y.Doc then does NOT mean the
|
|
115
|
+
* room is empty — the SDK must not run the first-open seed, or a default
|
|
116
|
+
* document gets written over real-but-unreadable content for every client.
|
|
117
|
+
*/
|
|
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;
|
|
129
|
+
/**
|
|
130
|
+
* @deprecated Use {@link flushWithAck}, which awaits a server-persisted ack.
|
|
131
|
+
* `flushLocalState` fires-and-forgets (resolves after the socket write, not
|
|
132
|
+
* the server ack) and rode in the mindmap seed data-loss race. Retained only
|
|
133
|
+
* so existing callers keep compiling.
|
|
134
|
+
*/
|
|
135
|
+
flushLocalState?(): Promise<void>;
|
|
136
|
+
/**
|
|
137
|
+
* Register a revision-history snapshot adapter for this collaborative
|
|
138
|
+
* document. Extensions opt in by implementing `exportRevisionSnapshot`
|
|
139
|
+
* and `restoreRevisionSnapshot`; the host wires these into the
|
|
140
|
+
* shared-document History dialog so users can preview and restore past
|
|
141
|
+
* versions of the document.
|
|
142
|
+
*
|
|
143
|
+
* Call this once after binding the editor to the Y.Doc (e.g. inside the
|
|
144
|
+
* same effect that wires `useCollaborativeEditor`). The returned function
|
|
145
|
+
* unregisters the adapter -- call it on unmount.
|
|
146
|
+
*
|
|
147
|
+
* When no adapter is registered, the host falls back to a metadata-only
|
|
148
|
+
* history view: users can see when revisions were taken and by whom, but
|
|
149
|
+
* cannot preview or restore them.
|
|
150
|
+
*
|
|
151
|
+
* Implementations should serialize the editor-native state (e.g. an
|
|
152
|
+
* Excalidraw scene JSON) deterministically so dedupe-on-hash is stable.
|
|
153
|
+
*/
|
|
154
|
+
registerRevisionAdapter?(adapter: RevisionSnapshotAdapter): () => void;
|
|
155
|
+
}
|
|
156
|
+
/**
|
|
157
|
+
* Editor-supplied snapshot round-trip for collaborative revision history.
|
|
158
|
+
* See `CollaborationContext.revisionAdapter`.
|
|
159
|
+
*/
|
|
160
|
+
export interface RevisionSnapshotAdapter {
|
|
161
|
+
/**
|
|
162
|
+
* Snapshot payload format identifier, e.g. `excalidraw-json` or
|
|
163
|
+
* `mindmap-yaml`. Treated as opaque by the server; used by the dialog to
|
|
164
|
+
* pick a renderer (or fall back to metadata-only display).
|
|
165
|
+
*/
|
|
166
|
+
readonly contentFormat: string;
|
|
167
|
+
/** Capture the current document state as bytes. */
|
|
168
|
+
exportRevisionSnapshot(): Uint8Array | Promise<Uint8Array>;
|
|
169
|
+
/**
|
|
170
|
+
* Apply a previously captured snapshot back into the live document.
|
|
171
|
+
* Implementations should produce normal collaborative edits so the
|
|
172
|
+
* change broadcasts to peers via the standard Yjs path.
|
|
173
|
+
*/
|
|
174
|
+
restoreRevisionSnapshot(plaintext: Uint8Array): void | Promise<void>;
|
|
175
|
+
/**
|
|
176
|
+
* Optional read-only preview component name for the History dialog. When
|
|
177
|
+
* absent, the dialog shows metadata only.
|
|
178
|
+
*/
|
|
179
|
+
readonly previewKind?: 'text' | 'metadata-only';
|
|
99
180
|
}
|
|
100
181
|
/**
|
|
101
182
|
* Context that an editor pushes to the chat panel.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"editor.d.ts","sourceRoot":"","sources":["../../src/types/editor.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAEH,OAAO,KAAK,EAAE,GAAG,IAAI,IAAI,EAAE,MAAM,KAAK,CAAC;AACvC,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAC;AACvD,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC;AAMnD;;;;;;;GAOG;AACH,MAAM,MAAM,mBAAmB,GAC3B,cAAc,GACd,YAAY,GACZ,SAAS,GACT,WAAW,GACX,kBAAkB,GAClB,WAAW,GACX,OAAO,CAAC;AAEZ;;;;GAIG;AACH,MAAM,WAAW,sBAAsB;IACrC,IAAI,EAAE;QAAE,EAAE,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,CAAC;IAClD,OAAO,CAAC,EAAE;QAAE,CAAC,EAAE,MAAM,CAAC;QAAC,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;IACnC,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,CAAC,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC;CACtB;AAED;;;;;GAKG;AACH,MAAM,WAAW,gBAAgB;IAC/B,IAAI,EAAE;QAAE,EAAE,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,CAAC;CACnD;AAED;;;;;;;;GAQG;AACH,MAAM,WAAW,oBAAoB;IACnC;;;OAGG;IACH,QAAQ,CAAC,IAAI,EAAE,IAAI,CAAC;IAEpB;;;;;;;OAOG;IACH,QAAQ,CAAC,SAAS,EAAE,SAAS,CAAC;IAE9B,+DAA+D;IAC/D,QAAQ,CAAC,IAAI,EAAE;QAAE,EAAE,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,CAAC;IAE3D,iCAAiC;IACjC,SAAS,IAAI,mBAAmB,CAAC;IAEjC,8DAA8D;IAC9D,cAAc,CAAC,EAAE,EAAE,CAAC,MAAM,EAAE,mBAAmB,KAAK,IAAI,GAAG,MAAM,IAAI,CAAC;IAEtE;;;;;OAKG;IACH,kBAAkB,IAAI,OAAO,CAAC,MAAM,GAAG,WAAW,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"editor.d.ts","sourceRoot":"","sources":["../../src/types/editor.ts"],"names":[],"mappings":"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"}
|
package/dist/types/editors.d.ts
CHANGED
|
@@ -24,6 +24,10 @@ export interface MonacoEditorConfig {
|
|
|
24
24
|
extensionThemeId?: string;
|
|
25
25
|
/** Whether this editor's tab is active */
|
|
26
26
|
isActive?: boolean;
|
|
27
|
+
/** Optional transform from stored file content to visible editor content */
|
|
28
|
+
transformLoadContent?: (content: string) => string;
|
|
29
|
+
/** Optional transform from visible editor content back to stored file content */
|
|
30
|
+
transformSaveContent?: (content: string) => string;
|
|
27
31
|
}
|
|
28
32
|
export interface MonacoEditorProps {
|
|
29
33
|
/** Host service for all editor-host communication */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"editors.d.ts","sourceRoot":"","sources":["../../src/types/editors.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AAEH,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAM9C,MAAM,WAAW,kBAAkB;IACjC,2BAA2B;IAC3B,KAAK,CAAC,EAAE,MAAM,CAAC;IAEf,0FAA0F;IAC1F,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAE1B,0CAA0C;IAC1C,QAAQ,CAAC,EAAE,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"editors.d.ts","sourceRoot":"","sources":["../../src/types/editors.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AAEH,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAM9C,MAAM,WAAW,kBAAkB;IACjC,2BAA2B;IAC3B,KAAK,CAAC,EAAE,MAAM,CAAC;IAEf,0FAA0F;IAC1F,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAE1B,0CAA0C;IAC1C,QAAQ,CAAC,EAAE,OAAO,CAAC;IAEnB,4EAA4E;IAC5E,oBAAoB,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,MAAM,CAAC;IAEnD,iFAAiF;IACjF,oBAAoB,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,MAAM,CAAC;CACpD;AAED,MAAM,WAAW,iBAAiB;IAChC,qDAAqD;IACrD,IAAI,EAAE,UAAU,CAAC;IAEjB,uCAAuC;IACvC,QAAQ,EAAE,MAAM,CAAC;IAEjB,6BAA6B;IAC7B,MAAM,CAAC,EAAE,kBAAkB,CAAC;IAE5B,gFAAgF;IAChF,aAAa,CAAC,EAAE,CAAC,MAAM,EAAE,GAAG,KAAK,IAAI,CAAC;IAEtC,qDAAqD;IACrD,YAAY,CAAC,EAAE,CAAC,YAAY,EAAE,MAAM,MAAM,KAAK,IAAI,CAAC;IAEpD,mEAAmE;IACnE,uBAAuB,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;CACnD;AAMD,MAAM,WAAW,oBAAoB;IACnC,sCAAsC;IACtC,QAAQ,CAAC,EAAE,OAAO,CAAC;IAEnB,uBAAuB;IACvB,WAAW,CAAC,EAAE,OAAO,CAAC;IAEtB,+CAA+C;IAC/C,YAAY,CAAC,EAAE,OAAO,CAAC;CACxB;AAED,MAAM,WAAW,mBAAmB;IAClC,qDAAqD;IACrD,IAAI,EAAE,UAAU,CAAC;IAEjB,6BAA6B;IAC7B,MAAM,CAAC,EAAE,oBAAoB,CAAC;CAC/B"}
|