@bendyline/docblocks 2.0.0 → 2.1.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.
- package/dist/{chunk-J32GU3F3.js → chunk-6IYMTYMQ.js} +249 -221
- package/dist/chunk-6IYMTYMQ.js.map +1 -0
- package/dist/{chunk-75UUF6C4.js → chunk-B56KWCSE.js} +2 -2
- package/dist/{chunk-RVQHY3XU.js → chunk-BNKV7MTO.js} +1 -1
- package/dist/{chunk-RVQHY3XU.js.map → chunk-BNKV7MTO.js.map} +1 -1
- package/dist/chunk-BXMF5YQJ.js +149 -0
- package/dist/chunk-BXMF5YQJ.js.map +1 -0
- package/dist/{chunk-PGR7LK6D.js → chunk-COYQXQK3.js} +14 -5
- package/dist/chunk-COYQXQK3.js.map +1 -0
- package/dist/{chunk-RQJRQF46.js → chunk-DN7A33LL.js} +42 -49
- package/dist/chunk-DN7A33LL.js.map +1 -0
- package/dist/chunk-FA7UNOXK.js +20 -0
- package/dist/chunk-FA7UNOXK.js.map +1 -0
- package/dist/chunk-GM5YXU4L.js +29 -0
- package/dist/chunk-GM5YXU4L.js.map +1 -0
- package/dist/{chunk-SI2LU2RP.js → chunk-JS6XFWQK.js} +2 -1
- package/dist/chunk-JS6XFWQK.js.map +1 -0
- package/dist/{chunk-EGNDADXB.js → chunk-MNSZ7EZN.js} +2 -2
- package/dist/chunk-P3DVZQ6S.js +228 -0
- package/dist/chunk-P3DVZQ6S.js.map +1 -0
- package/dist/chunk-P4WATND4.js +52 -0
- package/dist/chunk-P4WATND4.js.map +1 -0
- package/dist/chunk-RVPGQBWR.js +169 -0
- package/dist/chunk-RVPGQBWR.js.map +1 -0
- package/dist/chunk-U722UUFN.js +9 -0
- package/dist/chunk-U722UUFN.js.map +1 -0
- package/dist/{chunk-GCPBEMMH.js → chunk-VTCSF7VS.js} +11 -21
- package/dist/chunk-VTCSF7VS.js.map +1 -0
- package/dist/{chunk-2D7Y4IR3.js → chunk-WJKYY5QR.js} +123 -66
- package/dist/chunk-WJKYY5QR.js.map +1 -0
- package/dist/{chunk-5MYAICRE.js → chunk-XUML3MKV.js} +44 -56
- package/dist/chunk-XUML3MKV.js.map +1 -0
- package/dist/document/index.d.ts +358 -6
- package/dist/document/index.js +24 -3
- package/dist/document/index.js.map +1 -1
- package/dist/filesystem/electron.d.ts +73 -4
- package/dist/filesystem/electron.js +16 -3
- package/dist/filesystem/electron.js.map +1 -1
- package/dist/filesystem/index.d.ts +228 -22
- package/dist/filesystem/index.js +133 -19
- package/dist/filesystem/index.js.map +1 -1
- package/dist/filesystem/indexeddb.d.ts +284 -5
- package/dist/filesystem/indexeddb.js +22 -4
- package/dist/filesystem/indexeddb.js.map +1 -1
- package/dist/filesystem/memory.d.ts +152 -4
- package/dist/filesystem/memory.js +12 -3
- package/dist/filesystem/memory.js.map +1 -1
- package/dist/filesystem/native.d.ts +136 -4
- package/dist/filesystem/native.js +27 -3
- package/dist/filesystem/native.js.map +1 -1
- package/dist/host/index.d.ts +32 -9
- package/dist/host/index.js +26 -29
- package/dist/host/index.js.map +1 -1
- package/dist/index.d.ts +14 -10
- package/dist/index.js +204 -9
- package/dist/index.js.map +1 -1
- package/dist/mcp/index.d.ts +33 -4
- package/dist/mcp/index.js +31 -3
- package/dist/mcp/index.js.map +1 -1
- package/dist/mcp/zod.d.ts +637 -635
- package/dist/mcp/zod.js +700 -884
- package/dist/mcp/zod.js.map +1 -1
- package/dist/share/index.d.ts +43 -0
- package/dist/share/index.js +13 -0
- package/dist/share/index.js.map +1 -0
- package/dist/{types-CsX6EN2t.d.ts → types-BEg5SQ1_.d.ts} +1 -1
- package/dist/{types-eOlt9J7n.d.ts → types-CueK0tvU.d.ts} +34 -11
- package/dist/vscode/index.d.ts +220 -3
- package/dist/vscode/index.js +382 -2
- package/dist/vscode/index.js.map +1 -1
- package/dist/workspace/index.d.ts +141 -4
- package/dist/workspace/index.js +28 -2
- package/dist/workspace/index.js.map +1 -1
- package/package.json +9 -5
- package/dist/chunk-2D7Y4IR3.js.map +0 -1
- package/dist/chunk-5MYAICRE.js.map +0 -1
- package/dist/chunk-AYZ4HN5M.js +0 -20
- package/dist/chunk-AYZ4HN5M.js.map +0 -1
- package/dist/chunk-GCPBEMMH.js.map +0 -1
- package/dist/chunk-J32GU3F3.js.map +0 -1
- package/dist/chunk-PGR7LK6D.js.map +0 -1
- package/dist/chunk-RQJRQF46.js.map +0 -1
- package/dist/chunk-SI2LU2RP.js.map +0 -1
- package/dist/chunk-W5UUUII5.js +0 -142
- package/dist/chunk-W5UUUII5.js.map +0 -1
- package/dist/document/document-session.d.ts +0 -127
- package/dist/document/document-session.d.ts.map +0 -1
- package/dist/document/document-session.js +0 -749
- package/dist/document/document-session.js.map +0 -1
- package/dist/document/filesystem-target.d.ts +0 -17
- package/dist/document/filesystem-target.d.ts.map +0 -1
- package/dist/document/filesystem-target.js +0 -70
- package/dist/document/filesystem-target.js.map +0 -1
- package/dist/document/index.d.ts.map +0 -1
- package/dist/document/recovery-journal.d.ts +0 -125
- package/dist/document/recovery-journal.d.ts.map +0 -1
- package/dist/document/recovery-journal.js +0 -385
- package/dist/document/recovery-journal.js.map +0 -1
- package/dist/document/types.d.ts +0 -89
- package/dist/document/types.d.ts.map +0 -1
- package/dist/document/types.js +0 -9
- package/dist/document/types.js.map +0 -1
- package/dist/filesystem/commit-lock.d.ts +0 -3
- package/dist/filesystem/commit-lock.d.ts.map +0 -1
- package/dist/filesystem/commit-lock.js +0 -20
- package/dist/filesystem/commit-lock.js.map +0 -1
- package/dist/filesystem/dbk-workspace.d.ts +0 -34
- package/dist/filesystem/dbk-workspace.d.ts.map +0 -1
- package/dist/filesystem/dbk-workspace.js +0 -85
- package/dist/filesystem/dbk-workspace.js.map +0 -1
- package/dist/filesystem/electron-provider-v2.d.ts +0 -36
- package/dist/filesystem/electron-provider-v2.d.ts.map +0 -1
- package/dist/filesystem/electron-provider-v2.js +0 -503
- package/dist/filesystem/electron-provider-v2.js.map +0 -1
- package/dist/filesystem/electron-provider.d.ts +0 -35
- package/dist/filesystem/electron-provider.d.ts.map +0 -1
- package/dist/filesystem/electron-provider.js +0 -69
- package/dist/filesystem/electron-provider.js.map +0 -1
- package/dist/filesystem/electron.d.ts.map +0 -1
- package/dist/filesystem/file-media-provider.d.ts +0 -23
- package/dist/filesystem/file-media-provider.d.ts.map +0 -1
- package/dist/filesystem/file-media-provider.js +0 -85
- package/dist/filesystem/file-media-provider.js.map +0 -1
- package/dist/filesystem/filesystem-content-container.d.ts +0 -24
- package/dist/filesystem/filesystem-content-container.d.ts.map +0 -1
- package/dist/filesystem/filesystem-content-container.js +0 -153
- package/dist/filesystem/filesystem-content-container.js.map +0 -1
- package/dist/filesystem/fs-error.d.ts +0 -46
- package/dist/filesystem/fs-error.d.ts.map +0 -1
- package/dist/filesystem/fs-error.js +0 -170
- package/dist/filesystem/fs-error.js.map +0 -1
- package/dist/filesystem/index.d.ts.map +0 -1
- package/dist/filesystem/indexeddb-content-container.d.ts +0 -22
- package/dist/filesystem/indexeddb-content-container.d.ts.map +0 -1
- package/dist/filesystem/indexeddb-content-container.js +0 -100
- package/dist/filesystem/indexeddb-content-container.js.map +0 -1
- package/dist/filesystem/indexeddb-provider-v2.d.ts +0 -96
- package/dist/filesystem/indexeddb-provider-v2.d.ts.map +0 -1
- package/dist/filesystem/indexeddb-provider-v2.js +0 -1241
- package/dist/filesystem/indexeddb-provider-v2.js.map +0 -1
- package/dist/filesystem/indexeddb-provider.d.ts +0 -39
- package/dist/filesystem/indexeddb-provider.d.ts.map +0 -1
- package/dist/filesystem/indexeddb-provider.js +0 -145
- package/dist/filesystem/indexeddb-provider.js.map +0 -1
- package/dist/filesystem/indexeddb-store.d.ts +0 -34
- package/dist/filesystem/indexeddb-store.d.ts.map +0 -1
- package/dist/filesystem/indexeddb-store.js +0 -165
- package/dist/filesystem/indexeddb-store.js.map +0 -1
- package/dist/filesystem/indexeddb.d.ts.map +0 -1
- package/dist/filesystem/legacy-v2-adapter.d.ts +0 -62
- package/dist/filesystem/legacy-v2-adapter.d.ts.map +0 -1
- package/dist/filesystem/legacy-v2-adapter.js +0 -499
- package/dist/filesystem/legacy-v2-adapter.js.map +0 -1
- package/dist/filesystem/memory-provider-v2.d.ts +0 -92
- package/dist/filesystem/memory-provider-v2.d.ts.map +0 -1
- package/dist/filesystem/memory-provider-v2.js +0 -615
- package/dist/filesystem/memory-provider-v2.js.map +0 -1
- package/dist/filesystem/memory-provider.d.ts +0 -54
- package/dist/filesystem/memory-provider.d.ts.map +0 -1
- package/dist/filesystem/memory-provider.js +0 -132
- package/dist/filesystem/memory-provider.js.map +0 -1
- package/dist/filesystem/memory.d.ts.map +0 -1
- package/dist/filesystem/move-entry.d.ts +0 -9
- package/dist/filesystem/move-entry.d.ts.map +0 -1
- package/dist/filesystem/move-entry.js +0 -103
- package/dist/filesystem/move-entry.js.map +0 -1
- package/dist/filesystem/move-error.d.ts +0 -53
- package/dist/filesystem/move-error.d.ts.map +0 -1
- package/dist/filesystem/move-error.js +0 -99
- package/dist/filesystem/move-error.js.map +0 -1
- package/dist/filesystem/native-provider-v2.d.ts +0 -75
- package/dist/filesystem/native-provider-v2.d.ts.map +0 -1
- package/dist/filesystem/native-provider-v2.js +0 -849
- package/dist/filesystem/native-provider-v2.js.map +0 -1
- package/dist/filesystem/native-provider.d.ts +0 -53
- package/dist/filesystem/native-provider.d.ts.map +0 -1
- package/dist/filesystem/native-provider.js +0 -471
- package/dist/filesystem/native-provider.js.map +0 -1
- package/dist/filesystem/native.d.ts.map +0 -1
- package/dist/filesystem/types.d.ts +0 -83
- package/dist/filesystem/types.d.ts.map +0 -1
- package/dist/filesystem/types.js +0 -16
- package/dist/filesystem/types.js.map +0 -1
- package/dist/filesystem/v2.d.ts +0 -172
- package/dist/filesystem/v2.d.ts.map +0 -1
- package/dist/filesystem/v2.js +0 -16
- package/dist/filesystem/v2.js.map +0 -1
- package/dist/filesystem/workspace-path.d.ts +0 -21
- package/dist/filesystem/workspace-path.d.ts.map +0 -1
- package/dist/filesystem/workspace-path.js +0 -80
- package/dist/filesystem/workspace-path.js.map +0 -1
- package/dist/host/filesystem-v2.d.ts +0 -45
- package/dist/host/filesystem-v2.d.ts.map +0 -1
- package/dist/host/filesystem-v2.js +0 -13
- package/dist/host/filesystem-v2.js.map +0 -1
- package/dist/host/git.d.ts +0 -200
- package/dist/host/git.d.ts.map +0 -1
- package/dist/host/git.js +0 -15
- package/dist/host/git.js.map +0 -1
- package/dist/host/index.d.ts.map +0 -1
- package/dist/host/types.d.ts +0 -232
- package/dist/host/types.d.ts.map +0 -1
- package/dist/host/types.js +0 -10
- package/dist/host/types.js.map +0 -1
- package/dist/host/wire-policy.d.ts +0 -22
- package/dist/host/wire-policy.d.ts.map +0 -1
- package/dist/host/wire-policy.js +0 -92
- package/dist/host/wire-policy.js.map +0 -1
- package/dist/index.d.ts.map +0 -1
- package/dist/mcp/index.d.ts.map +0 -1
- package/dist/mcp/types.d.ts +0 -466
- package/dist/mcp/types.d.ts.map +0 -1
- package/dist/mcp/types.js +0 -25
- package/dist/mcp/types.js.map +0 -1
- package/dist/mcp/wire.d.ts +0 -29
- package/dist/mcp/wire.d.ts.map +0 -1
- package/dist/mcp/wire.js +0 -1046
- package/dist/mcp/wire.js.map +0 -1
- package/dist/mcp/zod.d.ts.map +0 -1
- package/dist/vscode/index.d.ts.map +0 -1
- package/dist/vscode/messages.d.ts +0 -204
- package/dist/vscode/messages.d.ts.map +0 -1
- package/dist/vscode/messages.js +0 -494
- package/dist/vscode/messages.js.map +0 -1
- package/dist/workspace/index.d.ts.map +0 -1
- package/dist/workspace/reconcile-electron.d.ts +0 -19
- package/dist/workspace/reconcile-electron.d.ts.map +0 -1
- package/dist/workspace/reconcile-electron.js +0 -42
- package/dist/workspace/reconcile-electron.js.map +0 -1
- package/dist/workspace/types.d.ts +0 -69
- package/dist/workspace/types.d.ts.map +0 -1
- package/dist/workspace/types.js +0 -2
- package/dist/workspace/types.js.map +0 -1
- package/dist/workspace/workspace-manager.d.ts +0 -47
- package/dist/workspace/workspace-manager.d.ts.map +0 -1
- package/dist/workspace/workspace-manager.js +0 -126
- package/dist/workspace/workspace-manager.js.map +0 -1
- package/src/document/document-session.ts +0 -834
- package/src/document/filesystem-target.ts +0 -109
- package/src/document/index.ts +0 -41
- package/src/document/recovery-journal.ts +0 -536
- package/src/document/types.ts +0 -116
- package/src/filesystem/commit-lock.ts +0 -29
- package/src/filesystem/dbk-workspace.ts +0 -135
- package/src/filesystem/electron-provider-v2.ts +0 -630
- package/src/filesystem/electron-provider.ts +0 -99
- package/src/filesystem/electron.ts +0 -3
- package/src/filesystem/file-media-provider.ts +0 -103
- package/src/filesystem/filesystem-content-container.ts +0 -164
- package/src/filesystem/fs-error.ts +0 -234
- package/src/filesystem/index.ts +0 -143
- package/src/filesystem/indexeddb-content-container.ts +0 -112
- package/src/filesystem/indexeddb-provider-v2.ts +0 -1740
- package/src/filesystem/indexeddb-provider.ts +0 -171
- package/src/filesystem/indexeddb-store.ts +0 -207
- package/src/filesystem/indexeddb.ts +0 -12
- package/src/filesystem/legacy-v2-adapter.ts +0 -779
- package/src/filesystem/memory-provider-v2.ts +0 -896
- package/src/filesystem/memory-provider.ts +0 -180
- package/src/filesystem/memory.ts +0 -15
- package/src/filesystem/move-entry.ts +0 -142
- package/src/filesystem/move-error.ts +0 -159
- package/src/filesystem/native-provider-v2.ts +0 -1165
- package/src/filesystem/native-provider.ts +0 -537
- package/src/filesystem/native.ts +0 -16
- package/src/filesystem/types.ts +0 -114
- package/src/filesystem/v2.ts +0 -231
- package/src/filesystem/workspace-path.ts +0 -92
- package/src/host/filesystem-v2.ts +0 -104
- package/src/host/git.ts +0 -246
- package/src/host/index.ts +0 -93
- package/src/host/types.ts +0 -274
- package/src/host/wire-policy.ts +0 -103
- package/src/index.ts +0 -10
- package/src/mcp/index.ts +0 -3
- package/src/mcp/types.ts +0 -594
- package/src/mcp/wire.ts +0 -1280
- package/src/mcp/zod.ts +0 -1000
- package/src/vscode/index.ts +0 -2
- package/src/vscode/messages.ts +0 -704
- package/src/workspace/index.ts +0 -17
- package/src/workspace/reconcile-electron.ts +0 -65
- package/src/workspace/types.ts +0 -67
- package/src/workspace/workspace-manager.ts +0 -151
- /package/dist/{chunk-75UUF6C4.js.map → chunk-B56KWCSE.js.map} +0 -0
- /package/dist/{chunk-EGNDADXB.js.map → chunk-MNSZ7EZN.js.map} +0 -0
package/dist/host/git.d.ts
DELETED
|
@@ -1,200 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Git host API — wire types for the desktop shell's git integration.
|
|
3
|
-
*
|
|
4
|
-
* The desktop app spawns the user's system git from the main process, so
|
|
5
|
-
* credentials (helpers, SSH agent, signing config and raw remote URLs) remain
|
|
6
|
-
* in the main process. Everything here is generic git; the only host-specific
|
|
7
|
-
* conveniences are remote-URL parsing (`GitRemoteInfo.web`) and PR creation
|
|
8
|
-
* via the GitHub CLI when installed.
|
|
9
|
-
*
|
|
10
|
-
* Expected git failures cross IPC as data (`GitResult`), never as thrown
|
|
11
|
-
* errors — `ipcMain.handle` rejections lose structure. Throwing is reserved
|
|
12
|
-
* for contract violations (unregistered root, path escape).
|
|
13
|
-
*/
|
|
14
|
-
import type { ElectronWorkspaceInfo } from './types.js';
|
|
15
|
-
/** Every git operation resolves this — expected failures are data, not throws. */
|
|
16
|
-
export type GitResult<T> = {
|
|
17
|
-
ok: true;
|
|
18
|
-
value: T;
|
|
19
|
-
} | {
|
|
20
|
-
ok: false;
|
|
21
|
-
error: GitError;
|
|
22
|
-
};
|
|
23
|
-
export interface GitError {
|
|
24
|
-
code: GitErrorCode;
|
|
25
|
-
/** One-line human summary (classified stderr or synthesized). */
|
|
26
|
-
message: string;
|
|
27
|
-
/** Truncated raw stderr for a details disclosure in the UI. */
|
|
28
|
-
stderr?: string;
|
|
29
|
-
exitCode?: number;
|
|
30
|
-
}
|
|
31
|
-
export type GitErrorCode = 'git-not-available' | 'not-a-repository' | 'auth-failed' | 'remote-not-found' | 'no-upstream' | 'network' | 'non-fast-forward' | 'merge-conflict' | 'uncommitted-changes' | 'detached-head' | 'unborn-branch' | 'identity-not-configured' | 'branch-exists' | 'invalid-ref-name' | 'nothing-to-commit' | 'invalid-url' | 'destination-exists' | 'pr-exists' | 'gh-not-available' | 'timeout' | 'cancelled' | 'permission-denied' | 'unknown';
|
|
32
|
-
export interface GitCapabilities {
|
|
33
|
-
/** False in store-sandboxed builds, when git is absent, or git < 2.23. */
|
|
34
|
-
gitAvailable: boolean;
|
|
35
|
-
gitVersion: string | null;
|
|
36
|
-
ghAvailable: boolean;
|
|
37
|
-
ghVersion: string | null;
|
|
38
|
-
}
|
|
39
|
-
export interface GitRepoDetection {
|
|
40
|
-
isRepo: boolean;
|
|
41
|
-
/** False when the workspace root is a subdirectory of a larger repo. */
|
|
42
|
-
rootIsToplevel?: boolean;
|
|
43
|
-
/** Main-owned repository authority; absent when expanded access was declined. */
|
|
44
|
-
repositoryId?: string;
|
|
45
|
-
/** True when Git metadata or the work tree extends beyond the workspace grant. */
|
|
46
|
-
requiresExpandedGrant?: boolean;
|
|
47
|
-
}
|
|
48
|
-
export type GitFileStatusCode = 'added' | 'modified' | 'deleted' | 'renamed' | 'copied' | 'type-changed' | 'untracked' | 'ignored' | 'unmerged';
|
|
49
|
-
export interface GitFileChange {
|
|
50
|
-
/** Slash-prefixed path relative to the WORKSPACE root (fs API convention). */
|
|
51
|
-
path: string;
|
|
52
|
-
/** Previous path for renames/copies (workspace-relative, slash-prefixed). */
|
|
53
|
-
origPath?: string;
|
|
54
|
-
/** Index-vs-HEAD state (staged), if any. */
|
|
55
|
-
index?: GitFileStatusCode;
|
|
56
|
-
/** Worktree-vs-index state (unstaged), if any. */
|
|
57
|
-
worktree?: GitFileStatusCode;
|
|
58
|
-
conflicted: boolean;
|
|
59
|
-
}
|
|
60
|
-
export interface GitStatus {
|
|
61
|
-
/** Branch name; null when detached or unborn with no branch. */
|
|
62
|
-
branch: string | null;
|
|
63
|
-
detached: boolean;
|
|
64
|
-
/** HEAD points at a branch with no commits yet. */
|
|
65
|
-
unborn: boolean;
|
|
66
|
-
/** Full HEAD SHA; null when unborn. */
|
|
67
|
-
head: string | null;
|
|
68
|
-
/** Upstream ref short name, e.g. "origin/main". */
|
|
69
|
-
upstream: string | null;
|
|
70
|
-
ahead: number;
|
|
71
|
-
behind: number;
|
|
72
|
-
changes: GitFileChange[];
|
|
73
|
-
/** True when `changes` was capped. */
|
|
74
|
-
truncated: boolean;
|
|
75
|
-
operation: 'merge' | 'rebase' | 'cherry-pick' | 'revert' | 'bisect' | null;
|
|
76
|
-
}
|
|
77
|
-
export interface GitBranchInfo {
|
|
78
|
-
/** "main" for local branches, "origin/main" for remote entries. */
|
|
79
|
-
name: string;
|
|
80
|
-
kind: 'local' | 'remote';
|
|
81
|
-
current: boolean;
|
|
82
|
-
upstream: string | null;
|
|
83
|
-
ahead: number;
|
|
84
|
-
behind: number;
|
|
85
|
-
upstreamGone: boolean;
|
|
86
|
-
headSha: string;
|
|
87
|
-
headSubject: string;
|
|
88
|
-
/** ISO 8601. */
|
|
89
|
-
headDate: string;
|
|
90
|
-
}
|
|
91
|
-
export interface GitLogOptions {
|
|
92
|
-
/** Workspace-relative file path — per-file history (follows renames). */
|
|
93
|
-
path?: string;
|
|
94
|
-
/** Default 100; the host caps at 1000. */
|
|
95
|
-
maxCount?: number;
|
|
96
|
-
skip?: number;
|
|
97
|
-
}
|
|
98
|
-
export interface GitLogEntry {
|
|
99
|
-
sha: string;
|
|
100
|
-
parents: string[];
|
|
101
|
-
authorName: string;
|
|
102
|
-
authorEmail: string;
|
|
103
|
-
/** ISO 8601. */
|
|
104
|
-
authorDate: string;
|
|
105
|
-
subject: string;
|
|
106
|
-
/** Ref decorations ("HEAD -> main", "origin/main", "tag: v1"). */
|
|
107
|
-
refs: string[];
|
|
108
|
-
}
|
|
109
|
-
/** Typed revision selector — the renderer never passes raw rev strings. */
|
|
110
|
-
export type GitRevision = {
|
|
111
|
-
kind: 'head';
|
|
112
|
-
} | {
|
|
113
|
-
kind: 'index';
|
|
114
|
-
} | {
|
|
115
|
-
kind: 'commit';
|
|
116
|
-
sha: string;
|
|
117
|
-
} | {
|
|
118
|
-
kind: 'parent-of';
|
|
119
|
-
sha: string;
|
|
120
|
-
};
|
|
121
|
-
export interface GitFileAtRevision {
|
|
122
|
-
/** Null when the file is absent at that revision, or binary/too large. */
|
|
123
|
-
content: string | null;
|
|
124
|
-
binary: boolean;
|
|
125
|
-
}
|
|
126
|
-
export interface GitRemoteInfo {
|
|
127
|
-
name: string;
|
|
128
|
-
/** Sanitized web location. Raw fetch/push URLs never cross IPC. */
|
|
129
|
-
web: {
|
|
130
|
-
host: string;
|
|
131
|
-
owner: string;
|
|
132
|
-
repo: string;
|
|
133
|
-
webUrl: string;
|
|
134
|
-
} | null;
|
|
135
|
-
}
|
|
136
|
-
export interface GitCloneProgress {
|
|
137
|
-
/** e.g. "Receiving objects", "Resolving deltas", "Checking out files". */
|
|
138
|
-
phase: string;
|
|
139
|
-
percent: number | null;
|
|
140
|
-
/** Raw progress line for display. */
|
|
141
|
-
detail?: string;
|
|
142
|
-
}
|
|
143
|
-
export interface GitCloneHandle {
|
|
144
|
-
/**
|
|
145
|
-
* Resolves `ok(null)` if the user cancels the destination picker; on
|
|
146
|
-
* success resolves the registered workspace ready to open.
|
|
147
|
-
*/
|
|
148
|
-
result: Promise<GitResult<ElectronWorkspaceInfo | null>>;
|
|
149
|
-
/** Kill git and remove the partial clone directory. */
|
|
150
|
-
cancel: () => void;
|
|
151
|
-
}
|
|
152
|
-
export interface DocBlocksHostGitAPI {
|
|
153
|
-
capabilities(): Promise<GitCapabilities>;
|
|
154
|
-
/** Detect a persisted workspace by opaque workspace id and mint repository authority. */
|
|
155
|
-
detectRepo(workspaceId: string): Promise<GitResult<GitRepoDetection>>;
|
|
156
|
-
init(workspaceId: string): Promise<GitResult<void>>;
|
|
157
|
-
status(repositoryId: string): Promise<GitResult<GitStatus>>;
|
|
158
|
-
stage(repositoryId: string, paths: string[]): Promise<GitResult<void>>;
|
|
159
|
-
unstage(repositoryId: string, paths: string[]): Promise<GitResult<void>>;
|
|
160
|
-
/** Revert tracked files to HEAD; delete untracked ones. Destructive — the renderer confirms. */
|
|
161
|
-
discard(repositoryId: string, paths: string[]): Promise<GitResult<void>>;
|
|
162
|
-
/**
|
|
163
|
-
* With `paths`: stages exactly those files (`add -A -- <paths>`) and commits
|
|
164
|
-
* them, leaving other staged entries staged. Without: commits the index as-is.
|
|
165
|
-
*/
|
|
166
|
-
commit(repositoryId: string, message: string, paths?: string[]): Promise<GitResult<{
|
|
167
|
-
sha: string;
|
|
168
|
-
}>>;
|
|
169
|
-
push(repositoryId: string, opts?: {
|
|
170
|
-
setUpstream?: boolean;
|
|
171
|
-
}): Promise<GitResult<void>>;
|
|
172
|
-
pull(repositoryId: string): Promise<GitResult<void>>;
|
|
173
|
-
fetch(repositoryId: string): Promise<GitResult<void>>;
|
|
174
|
-
listBranches(repositoryId: string): Promise<GitResult<GitBranchInfo[]>>;
|
|
175
|
-
createBranch(repositoryId: string, name: string, opts?: {
|
|
176
|
-
checkout?: boolean;
|
|
177
|
-
}): Promise<GitResult<void>>;
|
|
178
|
-
checkoutBranch(repositoryId: string, name: string): Promise<GitResult<void>>;
|
|
179
|
-
log(repositoryId: string, opts?: GitLogOptions): Promise<GitResult<GitLogEntry[]>>;
|
|
180
|
-
/** Files changed in one commit plus the full message body. */
|
|
181
|
-
commitFiles(repositoryId: string, sha: string): Promise<GitResult<{
|
|
182
|
-
body: string;
|
|
183
|
-
files: GitFileChange[];
|
|
184
|
-
}>>;
|
|
185
|
-
readFileAtRevision(repositoryId: string, path: string, revision: GitRevision): Promise<GitResult<GitFileAtRevision>>;
|
|
186
|
-
listRemotes(repositoryId: string): Promise<GitResult<GitRemoteInfo[]>>;
|
|
187
|
-
/**
|
|
188
|
-
* Clone a remote repository. The main process shows a native picker for the
|
|
189
|
-
* destination parent directory, then registers the clone as a workspace.
|
|
190
|
-
*/
|
|
191
|
-
clone(url: string, onProgress?: (p: GitCloneProgress) => void): GitCloneHandle;
|
|
192
|
-
/** `gh pr create --web` (falls back to `gh pr view --web` if one exists). */
|
|
193
|
-
createPullRequest(repositoryId: string): Promise<GitResult<void>>;
|
|
194
|
-
/**
|
|
195
|
-
* Throttled status stream for a workspace root. Emits once immediately on
|
|
196
|
-
* subscribe. Returns an unsubscribe function.
|
|
197
|
-
*/
|
|
198
|
-
onStatusChanged(repositoryId: string, listener: (status: GitStatus) => void): () => void;
|
|
199
|
-
}
|
|
200
|
-
//# sourceMappingURL=git.d.ts.map
|
package/dist/host/git.d.ts.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"git.d.ts","sourceRoot":"","sources":["../../src/host/git.ts"],"names":[],"mappings":"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"}
|
package/dist/host/git.js
DELETED
|
@@ -1,15 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Git host API — wire types for the desktop shell's git integration.
|
|
3
|
-
*
|
|
4
|
-
* The desktop app spawns the user's system git from the main process, so
|
|
5
|
-
* credentials (helpers, SSH agent, signing config and raw remote URLs) remain
|
|
6
|
-
* in the main process. Everything here is generic git; the only host-specific
|
|
7
|
-
* conveniences are remote-URL parsing (`GitRemoteInfo.web`) and PR creation
|
|
8
|
-
* via the GitHub CLI when installed.
|
|
9
|
-
*
|
|
10
|
-
* Expected git failures cross IPC as data (`GitResult`), never as thrown
|
|
11
|
-
* errors — `ipcMain.handle` rejections lose structure. Throwing is reserved
|
|
12
|
-
* for contract violations (unregistered root, path escape).
|
|
13
|
-
*/
|
|
14
|
-
export {};
|
|
15
|
-
//# sourceMappingURL=git.js.map
|
package/dist/host/git.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"git.js","sourceRoot":"","sources":["../../src/host/git.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG"}
|
package/dist/host/index.d.ts.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/host/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,YAAY,EACV,gBAAgB,EAChB,kBAAkB,EAClB,wBAAwB,EACxB,0BAA0B,EAC1B,qBAAqB,EACrB,sBAAsB,EACtB,sBAAsB,EACtB,uBAAuB,EACvB,yBAAyB,EACzB,qBAAqB,EACrB,0BAA0B,EAC1B,eAAe,EACf,eAAe,EACf,qBAAqB,EACrB,uBAAuB,EACvB,sBAAsB,EACtB,WAAW,EACX,WAAW,EACX,mBAAmB,EACnB,aAAa,GACd,MAAM,YAAY,CAAC;AAEpB,YAAY,EACV,mBAAmB,EACnB,aAAa,EACb,eAAe,EACf,cAAc,EACd,gBAAgB,EAChB,QAAQ,EACR,YAAY,EACZ,iBAAiB,EACjB,aAAa,EACb,iBAAiB,EACjB,WAAW,EACX,aAAa,EACb,aAAa,EACb,gBAAgB,EAChB,SAAS,EACT,WAAW,EACX,SAAS,GACV,MAAM,UAAU,CAAC;AAElB,OAAO,EACL,oCAAoC,EACpC,KAAK,oBAAoB,EACzB,KAAK,2BAA2B,EAChC,KAAK,sBAAsB,EAC3B,KAAK,4BAA4B,GAClC,MAAM,oBAAoB,CAAC;AAE5B,OAAO,EACL,gBAAgB,EAChB,oBAAoB,EACpB,eAAe,EACf,oBAAoB,EACpB,oBAAoB,EACpB,gBAAgB,GACjB,MAAM,kBAAkB,CAAC;AAE1B,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC;AAEnD,2DAA2D;AAC3D,wBAAgB,cAAc,IAAI,OAAO,CASxC;AAED,mEAAmE;AACnE,wBAAgB,gBAAgB,IAAI,gBAAgB,CAMnD;AAED,kEAAkE;AAClE,wBAAgB,qBAAqB,IAAI,gBAAgB,GAAG,IAAI,CAE/D"}
|
package/dist/host/types.d.ts
DELETED
|
@@ -1,232 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* DocBlocksHostAPI — the contract exposed by the Electron desktop shell
|
|
3
|
-
* to its renderer process via contextBridge.
|
|
4
|
-
*
|
|
5
|
-
* This file is the single source of truth for the host ↔ renderer
|
|
6
|
-
* bridge. The Electron preload script exposes an implementation matching
|
|
7
|
-
* this shape; the React renderer calls it through `window.docBlocksHost`.
|
|
8
|
-
*/
|
|
9
|
-
import type { FileCommitResult, FileSystemEntry, FileMeta } from '../filesystem/types.js';
|
|
10
|
-
import type { DocBlocksHostFsV2API } from './filesystem-v2.js';
|
|
11
|
-
import type { DocBlocksHostGitAPI } from './git.js';
|
|
12
|
-
/** Filesystem operations scoped to a main-owned registered workspace id. */
|
|
13
|
-
export interface DocBlocksHostFsAPI {
|
|
14
|
-
readFile(workspaceId: string, path: string): Promise<string | null>;
|
|
15
|
-
writeFile(workspaceId: string, path: string, content: string): Promise<void>;
|
|
16
|
-
commitFile(workspaceId: string, path: string, content: string, expectedContent: string | null): Promise<FileCommitResult>;
|
|
17
|
-
delete(workspaceId: string, path: string): Promise<void>;
|
|
18
|
-
rename(workspaceId: string, oldPath: string, newPath: string): Promise<void>;
|
|
19
|
-
readDirectory(workspaceId: string, path: string): Promise<FileSystemEntry[]>;
|
|
20
|
-
exists(workspaceId: string, path: string): Promise<boolean>;
|
|
21
|
-
createDirectory(workspaceId: string, path: string): Promise<void>;
|
|
22
|
-
stat(workspaceId: string, path: string): Promise<FileMeta | null>;
|
|
23
|
-
readBinary(workspaceId: string, path: string): Promise<ArrayBuffer | null>;
|
|
24
|
-
writeBinary(workspaceId: string, path: string, data: ArrayBuffer | Uint8Array): Promise<void>;
|
|
25
|
-
/**
|
|
26
|
-
* Subscribe to change notifications for a watched root. Returns an
|
|
27
|
-
* unsubscribe function. The main process uses chokidar under the hood.
|
|
28
|
-
*/
|
|
29
|
-
watch(workspaceId: string, onChange: (path: string) => void): () => void;
|
|
30
|
-
}
|
|
31
|
-
/** Descriptor returned for an Electron-managed workspace (backed by a folder). */
|
|
32
|
-
export interface ElectronWorkspaceInfo {
|
|
33
|
-
id: string;
|
|
34
|
-
name: string;
|
|
35
|
-
/** Display/persistence metadata only. Privileged host calls accept `id`, never this path. */
|
|
36
|
-
rootPath: string;
|
|
37
|
-
}
|
|
38
|
-
/** Workspace-management operations exposed to the renderer. */
|
|
39
|
-
export interface DocBlocksHostWorkspacesAPI {
|
|
40
|
-
/** List only folders already persisted as trusted main-process roots. */
|
|
41
|
-
list(): Promise<ElectronWorkspaceInfo[]>;
|
|
42
|
-
/**
|
|
43
|
-
* Return the default workspace (creating DocBlocks inside the operating
|
|
44
|
-
* system's Documents folder on first call, or the user's configured default).
|
|
45
|
-
*/
|
|
46
|
-
getDefault(): Promise<ElectronWorkspaceInfo>;
|
|
47
|
-
/**
|
|
48
|
-
* Open the native folder picker. Returns null if the user cancels.
|
|
49
|
-
* The selected folder is registered in the main process whitelist.
|
|
50
|
-
*/
|
|
51
|
-
pickFolder(): Promise<ElectronWorkspaceInfo | null>;
|
|
52
|
-
/**
|
|
53
|
-
* Re-register a previously picker-approved workspace by main-owned id.
|
|
54
|
-
* Called on app startup before any filesystem operation.
|
|
55
|
-
*/
|
|
56
|
-
register(workspaceId: string): Promise<void>;
|
|
57
|
-
/** Remove a workspace from the trusted whitelist. */
|
|
58
|
-
unregister(id: string): Promise<void>;
|
|
59
|
-
}
|
|
60
|
-
/** Shell operations — reveal in Finder/Explorer, open external URLs. */
|
|
61
|
-
export interface DocBlocksHostShellAPI {
|
|
62
|
-
/** Reveal a registered workspace root or one root-relative entry. */
|
|
63
|
-
revealInFolder(workspaceId: string, workspacePath?: string): Promise<void>;
|
|
64
|
-
/** Open a URL in the default browser. */
|
|
65
|
-
openExternal(url: string): Promise<void>;
|
|
66
|
-
}
|
|
67
|
-
/** Exact, main-owned export authority. The display path is never authority. */
|
|
68
|
-
export interface HostExportTargetGrant {
|
|
69
|
-
/** Null means this is a display-only suggestion and save must show a picker. */
|
|
70
|
-
grantId: string | null;
|
|
71
|
-
displayPath: string;
|
|
72
|
-
}
|
|
73
|
-
/** Native export target selection and binary file writing. */
|
|
74
|
-
export interface DocBlocksHostExportAPI {
|
|
75
|
-
/** Resolve an exact remembered grant or a display-only host suggestion. */
|
|
76
|
-
resolveTarget(documentId: string, filename: string): Promise<HostExportTargetGrant>;
|
|
77
|
-
/** Open the native Save dialog and remember the selected target. */
|
|
78
|
-
pickTarget(documentId: string, filename: string, currentGrantId?: string | null): Promise<HostExportTargetGrant | null>;
|
|
79
|
-
/** Write only to an exact target granted by the main process. */
|
|
80
|
-
save(documentId: string, filename: string, grantId: string | null, data: ArrayBuffer | Uint8Array): Promise<HostExportTargetGrant | null>;
|
|
81
|
-
}
|
|
82
|
-
/** System ffmpeg detection and invocation. */
|
|
83
|
-
export interface DocBlocksHostFfmpegAPI {
|
|
84
|
-
/** True if `ffmpeg` is available on PATH (or bundled). */
|
|
85
|
-
available(): Promise<boolean>;
|
|
86
|
-
/** Version string from `ffmpeg -version`, or null if unavailable. */
|
|
87
|
-
version(): Promise<string | null>;
|
|
88
|
-
/** Render a physically contained workspace-relative Markdown file to MP4. */
|
|
89
|
-
renderVideo(workspaceId: string, markdownPath: string, options: {
|
|
90
|
-
fps?: number;
|
|
91
|
-
quality?: 'draft' | 'normal' | 'high';
|
|
92
|
-
}): Promise<string>;
|
|
93
|
-
}
|
|
94
|
-
/** Auto-updater control. */
|
|
95
|
-
export interface DocBlocksHostUpdaterAPI {
|
|
96
|
-
/** Kick off a check; resolves to true if an update is available. */
|
|
97
|
-
checkForUpdates(): Promise<boolean>;
|
|
98
|
-
/** Current app version string. */
|
|
99
|
-
getVersion(): Promise<string>;
|
|
100
|
-
/**
|
|
101
|
-
* Quit the app and apply a downloaded update. Should only be called
|
|
102
|
-
* after an `UpdaterStatus` of kind `'downloaded'` has been observed.
|
|
103
|
-
*/
|
|
104
|
-
quitAndInstall(): Promise<UpdateInstallResult>;
|
|
105
|
-
/**
|
|
106
|
-
* Subscribe to updater status events. Returns an unsubscribe function.
|
|
107
|
-
*/
|
|
108
|
-
onStatus(listener: (status: UpdaterStatus) => void): () => void;
|
|
109
|
-
}
|
|
110
|
-
export type UpdateInstallResult = 'installing' | 'cancelled' | 'not-ready';
|
|
111
|
-
export type UpdaterStatus = {
|
|
112
|
-
kind: 'checking';
|
|
113
|
-
} | {
|
|
114
|
-
kind: 'available';
|
|
115
|
-
version: string;
|
|
116
|
-
releaseNotes?: string;
|
|
117
|
-
releaseUrl?: string;
|
|
118
|
-
} | {
|
|
119
|
-
kind: 'not-available';
|
|
120
|
-
} | {
|
|
121
|
-
kind: 'downloading';
|
|
122
|
-
percent: number;
|
|
123
|
-
} | {
|
|
124
|
-
kind: 'downloaded';
|
|
125
|
-
version: string;
|
|
126
|
-
releaseNotes?: string;
|
|
127
|
-
releaseUrl?: string;
|
|
128
|
-
} | {
|
|
129
|
-
kind: 'error';
|
|
130
|
-
message: string;
|
|
131
|
-
};
|
|
132
|
-
/** Menu-command events pushed from the main process to the renderer. */
|
|
133
|
-
export type MenuCommand = 'file:new' | 'file:openFolder' | 'file:revealWorkspace' | 'file:settings' | 'git:commit' | 'git:push' | 'git:pull' | 'git:fetch' | 'git:newBranch' | 'git:switchBranch' | 'git:history' | 'git:clone' | 'git:openOnRemote' | 'git:createPullRequest' | 'help:about' | 'help:checkForUpdates' | 'help:viewOnGitHub';
|
|
134
|
-
/**
|
|
135
|
-
* OS open-file / deep-link event resolved by the host.
|
|
136
|
-
* - 'workspace-file': a file inside an already-registered workspace.
|
|
137
|
-
* - 'external-file': a loose markdown file outside any workspace — opened in a
|
|
138
|
-
* transient workspace and saved through an opaque resource grant.
|
|
139
|
-
* - 'external-bundle': a `.dbk`/zip bundle — unpacked into a transient
|
|
140
|
-
* workspace and re-zipped through an opaque resource grant on save.
|
|
141
|
-
*/
|
|
142
|
-
export type OpenRequest = {
|
|
143
|
-
kind: 'workspace-file';
|
|
144
|
-
workspaceId: string;
|
|
145
|
-
/** Slash-prefixed path relative to the workspace root. */
|
|
146
|
-
path: string;
|
|
147
|
-
} | {
|
|
148
|
-
kind: 'external-file';
|
|
149
|
-
resourceId: string;
|
|
150
|
-
name: string;
|
|
151
|
-
} | {
|
|
152
|
-
kind: 'external-bundle';
|
|
153
|
-
resourceId: string;
|
|
154
|
-
name: string;
|
|
155
|
-
};
|
|
156
|
-
/**
|
|
157
|
-
* Read/write access to individual OS files the user has explicitly opened
|
|
158
|
-
* (via "Open With" / deep link), outside the workspace-root whitelist. The
|
|
159
|
-
* main process gates these with owner-scoped, exact-file capabilities.
|
|
160
|
-
*/
|
|
161
|
-
export interface DocBlocksHostExternalAPI {
|
|
162
|
-
readText(resourceId: string): Promise<string | null>;
|
|
163
|
-
readBinary(resourceId: string): Promise<ArrayBuffer | null>;
|
|
164
|
-
writeText(resourceId: string, content: string): Promise<void>;
|
|
165
|
-
writeBinary(resourceId: string, data: ArrayBuffer | Uint8Array): Promise<void>;
|
|
166
|
-
commitText(resourceId: string, content: string, expectedContent: string | null): Promise<FileCommitResult>;
|
|
167
|
-
commitBinary(resourceId: string, data: ArrayBuffer | Uint8Array, expectedVersion: string | null): Promise<ExternalBinaryCommitResult>;
|
|
168
|
-
/** Revoke one external resource when its transient document is closed. */
|
|
169
|
-
revoke(resourceId: string): Promise<void>;
|
|
170
|
-
}
|
|
171
|
-
export type ExternalBinaryCommitResult = {
|
|
172
|
-
status: 'committed';
|
|
173
|
-
version: string;
|
|
174
|
-
} | {
|
|
175
|
-
status: 'conflict';
|
|
176
|
-
version: string | null;
|
|
177
|
-
data: ArrayBuffer | null;
|
|
178
|
-
};
|
|
179
|
-
/** Environment metadata provided by the host. */
|
|
180
|
-
export interface HostEnvironment {
|
|
181
|
-
platform: 'darwin' | 'win32' | 'linux';
|
|
182
|
-
appVersion: string;
|
|
183
|
-
isDev: boolean;
|
|
184
|
-
}
|
|
185
|
-
export type HostCloseReason = 'window-close' | 'app-quit' | 'update-install' | 'reload' | 'force-reload';
|
|
186
|
-
export interface HostPrepareCloseRequest {
|
|
187
|
-
requestId: string;
|
|
188
|
-
reason: HostCloseReason;
|
|
189
|
-
/** Absolute epoch-millisecond deadline chosen by the main process. */
|
|
190
|
-
deadline: number;
|
|
191
|
-
}
|
|
192
|
-
export type HostPrepareCloseResult = {
|
|
193
|
-
status: 'ready';
|
|
194
|
-
persistedRevision: number;
|
|
195
|
-
} | {
|
|
196
|
-
status: 'blocked';
|
|
197
|
-
code: 'save-failed' | 'external-conflict' | 'not-ready';
|
|
198
|
-
message: string;
|
|
199
|
-
};
|
|
200
|
-
/**
|
|
201
|
-
* Main-owned close handshake. Preload privately correlates replies; the
|
|
202
|
-
* renderer never chooses request or window identifiers.
|
|
203
|
-
*/
|
|
204
|
-
export interface DocBlocksHostLifecycleAPI {
|
|
205
|
-
onPrepareClose(listener: (request: HostPrepareCloseRequest) => Promise<HostPrepareCloseResult>): () => void;
|
|
206
|
-
onCancelClose(listener: (requestId: string) => void): () => void;
|
|
207
|
-
}
|
|
208
|
-
/** The full DocBlocks desktop host API. */
|
|
209
|
-
export interface DocBlocksHostAPI {
|
|
210
|
-
env: HostEnvironment;
|
|
211
|
-
fs: DocBlocksHostFsAPI;
|
|
212
|
-
fsV2: DocBlocksHostFsV2API;
|
|
213
|
-
external: DocBlocksHostExternalAPI;
|
|
214
|
-
workspaces: DocBlocksHostWorkspacesAPI;
|
|
215
|
-
shell: DocBlocksHostShellAPI;
|
|
216
|
-
exports: DocBlocksHostExportAPI;
|
|
217
|
-
ffmpeg: DocBlocksHostFfmpegAPI;
|
|
218
|
-
git: DocBlocksHostGitAPI;
|
|
219
|
-
updater: DocBlocksHostUpdaterAPI;
|
|
220
|
-
lifecycle: DocBlocksHostLifecycleAPI;
|
|
221
|
-
/**
|
|
222
|
-
* Subscribe to menu commands dispatched by the native menu.
|
|
223
|
-
* Returns an unsubscribe function.
|
|
224
|
-
*/
|
|
225
|
-
onMenuCommand(listener: (cmd: MenuCommand) => void): () => void;
|
|
226
|
-
/**
|
|
227
|
-
* Subscribe to open-file / open-url requests from the OS.
|
|
228
|
-
* Returns an unsubscribe function.
|
|
229
|
-
*/
|
|
230
|
-
onOpenRequest(listener: (request: OpenRequest) => void): () => void;
|
|
231
|
-
}
|
|
232
|
-
//# sourceMappingURL=types.d.ts.map
|
package/dist/host/types.d.ts.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/host/types.ts"],"names":[],"mappings":"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"}
|
package/dist/host/types.js
DELETED
|
@@ -1,10 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* DocBlocksHostAPI — the contract exposed by the Electron desktop shell
|
|
3
|
-
* to its renderer process via contextBridge.
|
|
4
|
-
*
|
|
5
|
-
* This file is the single source of truth for the host ↔ renderer
|
|
6
|
-
* bridge. The Electron preload script exposes an implementation matching
|
|
7
|
-
* this shape; the React renderer calls it through `window.docBlocksHost`.
|
|
8
|
-
*/
|
|
9
|
-
export {};
|
|
10
|
-
//# sourceMappingURL=types.js.map
|
package/dist/host/types.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/host/types.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG"}
|
|
@@ -1,22 +0,0 @@
|
|
|
1
|
-
import type { OpenRequest } from './types.js';
|
|
2
|
-
/** Quantitative limits shared by privileged host boundaries. */
|
|
3
|
-
export declare const HOST_WIRE_LIMITS: Readonly<{
|
|
4
|
-
identifierCharacters: 256;
|
|
5
|
-
labelCharacters: 1024;
|
|
6
|
-
pathCharacters: 4096;
|
|
7
|
-
urlCharacters: 8192;
|
|
8
|
-
messageCharacters: 2000;
|
|
9
|
-
documentCharacters: number;
|
|
10
|
-
binaryBytes: number;
|
|
11
|
-
base64Characters: number;
|
|
12
|
-
arrayEntries: 10000;
|
|
13
|
-
}>;
|
|
14
|
-
export declare function isBoundedString(value: unknown, maximumCharacters: number, minimumCharacters?: number): value is string;
|
|
15
|
-
export declare function isBoundedBytePayload(value: unknown, maximumBytes?: number): value is ArrayBuffer | Uint8Array;
|
|
16
|
-
/** Parse one exact, bounded main-to-renderer open request. */
|
|
17
|
-
export declare function parseOpenRequest(value: unknown): OpenRequest | null;
|
|
18
|
-
/** Return one canonical HTTP(S) URL, or null when external navigation is unsafe. */
|
|
19
|
-
export declare function parseExternalHttpUrl(value: unknown): string | null;
|
|
20
|
-
/** True only for the packaged renderer origin or the exact configured dev origin. */
|
|
21
|
-
export declare function isTrustedRendererUrl(value: unknown, developmentOrigin?: string): boolean;
|
|
22
|
-
//# sourceMappingURL=wire-policy.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"wire-policy.d.ts","sourceRoot":"","sources":["../../src/host/wire-policy.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAE9C,gEAAgE;AAChE,eAAO,MAAM,gBAAgB;;;;;;;;;;EAU3B,CAAC;AAUH,wBAAgB,eAAe,CAC7B,KAAK,EAAE,OAAO,EACd,iBAAiB,EAAE,MAAM,EACzB,iBAAiB,SAAI,GACpB,KAAK,IAAI,MAAM,CAOjB;AAED,wBAAgB,oBAAoB,CAClC,KAAK,EAAE,OAAO,EACd,YAAY,SAA+B,GAC1C,KAAK,IAAI,WAAW,GAAG,UAAU,CAKnC;AAED,8DAA8D;AAC9D,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,OAAO,GAAG,WAAW,GAAG,IAAI,CAmBnE;AAED,oFAAoF;AACpF,wBAAgB,oBAAoB,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM,GAAG,IAAI,CAWlE;AAED,qFAAqF;AACrF,wBAAgB,oBAAoB,CAAC,KAAK,EAAE,OAAO,EAAE,iBAAiB,CAAC,EAAE,MAAM,GAAG,OAAO,CAmBxF"}
|
package/dist/host/wire-policy.js
DELETED
|
@@ -1,92 +0,0 @@
|
|
|
1
|
-
/** Quantitative limits shared by privileged host boundaries. */
|
|
2
|
-
export const HOST_WIRE_LIMITS = Object.freeze({
|
|
3
|
-
identifierCharacters: 256,
|
|
4
|
-
labelCharacters: 1024,
|
|
5
|
-
pathCharacters: 4096,
|
|
6
|
-
urlCharacters: 8192,
|
|
7
|
-
messageCharacters: 2000,
|
|
8
|
-
documentCharacters: 20 * 1024 * 1024,
|
|
9
|
-
binaryBytes: 100 * 1024 * 1024,
|
|
10
|
-
base64Characters: 140 * 1024 * 1024,
|
|
11
|
-
arrayEntries: 10000,
|
|
12
|
-
});
|
|
13
|
-
function hasExactKeys(value, keys) {
|
|
14
|
-
const actual = Object.keys(value);
|
|
15
|
-
return (actual.length === keys.length &&
|
|
16
|
-
keys.every((key) => Object.prototype.hasOwnProperty.call(value, key)));
|
|
17
|
-
}
|
|
18
|
-
export function isBoundedString(value, maximumCharacters, minimumCharacters = 0) {
|
|
19
|
-
return (typeof value === 'string' &&
|
|
20
|
-
value.length >= minimumCharacters &&
|
|
21
|
-
value.length <= maximumCharacters &&
|
|
22
|
-
!value.includes('\0'));
|
|
23
|
-
}
|
|
24
|
-
export function isBoundedBytePayload(value, maximumBytes = HOST_WIRE_LIMITS.binaryBytes) {
|
|
25
|
-
return ((value instanceof ArrayBuffer || value instanceof Uint8Array) &&
|
|
26
|
-
value.byteLength <= maximumBytes);
|
|
27
|
-
}
|
|
28
|
-
/** Parse one exact, bounded main-to-renderer open request. */
|
|
29
|
-
export function parseOpenRequest(value) {
|
|
30
|
-
if (typeof value !== 'object' || value === null || Array.isArray(value))
|
|
31
|
-
return null;
|
|
32
|
-
const record = value;
|
|
33
|
-
if (record.kind === 'workspace-file') {
|
|
34
|
-
if (!hasExactKeys(record, ['kind', 'workspaceId', 'path']))
|
|
35
|
-
return null;
|
|
36
|
-
if (!isBoundedString(record.workspaceId, HOST_WIRE_LIMITS.identifierCharacters, 1))
|
|
37
|
-
return null;
|
|
38
|
-
if (!isBoundedString(record.path, HOST_WIRE_LIMITS.pathCharacters, 1))
|
|
39
|
-
return null;
|
|
40
|
-
return { kind: 'workspace-file', workspaceId: record.workspaceId, path: record.path };
|
|
41
|
-
}
|
|
42
|
-
if (record.kind === 'external-file' || record.kind === 'external-bundle') {
|
|
43
|
-
if (!hasExactKeys(record, ['kind', 'resourceId', 'name']))
|
|
44
|
-
return null;
|
|
45
|
-
if (!isBoundedString(record.resourceId, HOST_WIRE_LIMITS.identifierCharacters, 1))
|
|
46
|
-
return null;
|
|
47
|
-
if (!isBoundedString(record.name, HOST_WIRE_LIMITS.labelCharacters, 1))
|
|
48
|
-
return null;
|
|
49
|
-
return { kind: record.kind, resourceId: record.resourceId, name: record.name };
|
|
50
|
-
}
|
|
51
|
-
return null;
|
|
52
|
-
}
|
|
53
|
-
/** Return one canonical HTTP(S) URL, or null when external navigation is unsafe. */
|
|
54
|
-
export function parseExternalHttpUrl(value) {
|
|
55
|
-
if (!isBoundedString(value, HOST_WIRE_LIMITS.urlCharacters, 1))
|
|
56
|
-
return null;
|
|
57
|
-
try {
|
|
58
|
-
const url = new URL(value);
|
|
59
|
-
if (url.protocol !== 'http:' && url.protocol !== 'https:')
|
|
60
|
-
return null;
|
|
61
|
-
if (url.username || url.password)
|
|
62
|
-
return null;
|
|
63
|
-
const canonical = url.href;
|
|
64
|
-
return canonical.length <= HOST_WIRE_LIMITS.urlCharacters ? canonical : null;
|
|
65
|
-
}
|
|
66
|
-
catch {
|
|
67
|
-
return null;
|
|
68
|
-
}
|
|
69
|
-
}
|
|
70
|
-
/** True only for the packaged renderer origin or the exact configured dev origin. */
|
|
71
|
-
export function isTrustedRendererUrl(value, developmentOrigin) {
|
|
72
|
-
if (!isBoundedString(value, HOST_WIRE_LIMITS.urlCharacters, 1))
|
|
73
|
-
return false;
|
|
74
|
-
try {
|
|
75
|
-
const url = new URL(value);
|
|
76
|
-
if (url.protocol === 'app:' &&
|
|
77
|
-
url.hostname === 'docblocks' &&
|
|
78
|
-
url.port === '' &&
|
|
79
|
-
url.username === '' &&
|
|
80
|
-
url.password === '') {
|
|
81
|
-
return true;
|
|
82
|
-
}
|
|
83
|
-
if (!developmentOrigin)
|
|
84
|
-
return false;
|
|
85
|
-
const trustedDevelopmentOrigin = new URL(developmentOrigin);
|
|
86
|
-
return url.origin === trustedDevelopmentOrigin.origin;
|
|
87
|
-
}
|
|
88
|
-
catch {
|
|
89
|
-
return false;
|
|
90
|
-
}
|
|
91
|
-
}
|
|
92
|
-
//# sourceMappingURL=wire-policy.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"wire-policy.js","sourceRoot":"","sources":["../../src/host/wire-policy.ts"],"names":[],"mappings":"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"}
|
package/dist/index.d.ts.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,cAAc,uBAAuB,CAAC;AACtC,cAAc,qBAAqB,CAAC;AACpC,cAAc,sBAAsB,CAAC;AACrC,cAAc,iBAAiB,CAAC"}
|
package/dist/mcp/index.d.ts.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/mcp/index.ts"],"names":[],"mappings":"AAAA,6EAA6E;AAC7E,cAAc,YAAY,CAAC;AAC3B,cAAc,WAAW,CAAC"}
|