@volter/browser-toolbelt 0.1.5 → 0.1.7

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (58) hide show
  1. package/README.md +15 -0
  2. package/dist/browser-git-http.d.ts +28 -2
  3. package/dist/browser-git-http.d.ts.map +1 -1
  4. package/dist/browser-git-http.js +5 -1
  5. package/dist/browser-git-http.js.map +1 -1
  6. package/dist/browser-git-remote-https.d.ts +34 -0
  7. package/dist/browser-git-remote-https.d.ts.map +1 -0
  8. package/dist/browser-git-remote-https.js +619 -0
  9. package/dist/browser-git-remote-https.js.map +1 -0
  10. package/dist/browser-interactive-shell.d.ts +11 -0
  11. package/dist/browser-interactive-shell.d.ts.map +1 -0
  12. package/dist/browser-interactive-shell.js +211 -0
  13. package/dist/browser-interactive-shell.js.map +1 -0
  14. package/dist/browser-rm.d.ts +3 -0
  15. package/dist/browser-rm.d.ts.map +1 -0
  16. package/dist/browser-rm.js +61 -0
  17. package/dist/browser-rm.js.map +1 -0
  18. package/dist/browser-shell-filesystem.d.ts +1 -1
  19. package/dist/browser-shell-filesystem.d.ts.map +1 -1
  20. package/dist/browser-shell-filesystem.js +25 -7
  21. package/dist/browser-shell-filesystem.js.map +1 -1
  22. package/dist/browser-shell.d.ts +52 -3
  23. package/dist/browser-shell.d.ts.map +1 -1
  24. package/dist/browser-shell.js +387 -58
  25. package/dist/browser-shell.js.map +1 -1
  26. package/dist/github-device-auth.d.ts +23 -2
  27. package/dist/github-device-auth.d.ts.map +1 -1
  28. package/dist/github-device-auth.js +132 -17
  29. package/dist/github-device-auth.js.map +1 -1
  30. package/dist/github-web-sign-in.d.ts +24 -0
  31. package/dist/github-web-sign-in.d.ts.map +1 -0
  32. package/dist/github-web-sign-in.js +93 -0
  33. package/dist/github-web-sign-in.js.map +1 -0
  34. package/dist/index.d.ts +4 -1
  35. package/dist/index.d.ts.map +1 -1
  36. package/dist/index.js +4 -1
  37. package/dist/index.js.map +1 -1
  38. package/dist/install.d.ts +8 -3
  39. package/dist/install.d.ts.map +1 -1
  40. package/dist/install.js +37 -5
  41. package/dist/install.js.map +1 -1
  42. package/dist/shell-buffer-global.d.ts +2 -0
  43. package/dist/shell-buffer-global.d.ts.map +1 -0
  44. package/dist/shell-buffer-global.js +10 -0
  45. package/dist/shell-buffer-global.js.map +1 -0
  46. package/dist/volter-sign-in.d.ts +62 -0
  47. package/dist/volter-sign-in.d.ts.map +1 -0
  48. package/dist/volter-sign-in.js +255 -0
  49. package/dist/volter-sign-in.js.map +1 -0
  50. package/package.json +22 -10
  51. package/dist/browser-git-filesystem.d.ts +0 -18
  52. package/dist/browser-git-filesystem.d.ts.map +0 -1
  53. package/dist/browser-git-filesystem.js +0 -84
  54. package/dist/browser-git-filesystem.js.map +0 -1
  55. package/dist/browser-git.d.ts +0 -38
  56. package/dist/browser-git.d.ts.map +0 -1
  57. package/dist/browser-git.js +0 -514
  58. package/dist/browser-git.js.map +0 -1
package/README.md CHANGED
@@ -7,3 +7,18 @@ registers them with an existing `BrowserRuntime`.
7
7
  The package is deliberately separate from the kernel and execution engines. A
8
8
  consumer can replace or omit these commands without changing workspace,
9
9
  process, port, or preview behavior.
10
+
11
+ For GitHub credentials, save the entire `GithubDeviceToken` with
12
+ `GithubTokenVault.save(token)`. Use `await vault.current(auth)` before Git or
13
+ sharing requests, not a cached `load()` result: it refreshes expiring device
14
+ tokens and persists rotation under a browser Web Lock. `load()` only restores
15
+ UI state. Legacy non-expiring tokens remain usable. An uncertain refresh fails
16
+ explicitly without starting another login; see ADR-0030 in the repository.
17
+
18
+ `BrowserShell.run(command, { filesystemPolicy: { writableRoots: ["/workspace"] } })`
19
+ uses an independent filesystem view for that invocation. Built-in commands and
20
+ nested shells can read the tree but mutate only permitted paths; an empty list
21
+ is read-only. External programs must explicitly support this policy or execution
22
+ is refused. Detached `&` jobs retain the grant and belong to that invocation's
23
+ job table; terminating the owning shell cancels them. This does not implement
24
+ Landlock or confine native operating-system processes.
@@ -1,4 +1,27 @@
1
- import type { HttpClient } from "isomorphic-git";
1
+ /**
2
+ * Git's smart-HTTP transport, as the page holds it. The shape is one method:
3
+ * a request with a URL, a method, headers and an async-iterable body, and a
4
+ * response with a status, headers and an async-iterable body. It is declared
5
+ * here because this package is the only party that speaks it -- the page
6
+ * builds one of these and `git-remote-https` is its one consumer.
7
+ */
8
+ export interface GitHttpRequest {
9
+ url: string;
10
+ method?: string;
11
+ headers?: Record<string, string>;
12
+ body?: AsyncIterableIterator<Uint8Array>;
13
+ }
14
+ export interface GitHttpResponse {
15
+ url: string;
16
+ method?: string;
17
+ statusCode: number;
18
+ statusMessage?: string;
19
+ headers?: Record<string, string>;
20
+ body?: AsyncIterableIterator<Uint8Array>;
21
+ }
22
+ export interface GitHttpClient {
23
+ request(request: GitHttpRequest): Promise<GitHttpResponse>;
24
+ }
2
25
  export type GitAuthorizationProvider = () => Promise<string | undefined> | string | undefined;
3
26
  export interface BrowserGitHttpOptions {
4
27
  /**
@@ -15,14 +38,17 @@ export interface BrowserGitHttpOptions {
15
38
  * upstream unchanged and never holds it.
16
39
  */
17
40
  authorization?: GitAuthorizationProvider;
41
+ /** Host-owned World permission, checked again after asynchronous body/credential reads. */
42
+ authorize?: (target: URL) => void;
18
43
  fetch?: typeof globalThis.fetch;
19
44
  }
20
45
  /** Smart-HTTP client over the relay service's Git proxy; the proxy owns the vendor allowlist. */
21
46
  export declare class BrowserGitHttp {
22
- readonly client: HttpClient;
47
+ readonly client: GitHttpClient;
23
48
  private readonly allowedHosts;
24
49
  private readonly proxyUrl;
25
50
  private readonly authorization;
51
+ private readonly authorize;
26
52
  private readonly fetch;
27
53
  constructor(options?: BrowserGitHttpOptions);
28
54
  private request;
@@ -1 +1 @@
1
- {"version":3,"file":"browser-git-http.d.ts","sourceRoot":"","sources":["../src/browser-git-http.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAmC,UAAU,EAAE,MAAM,gBAAgB,CAAC;AAKlF,MAAM,MAAM,wBAAwB,GAAG,MAAM,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC,GAAG,MAAM,GAAG,SAAS,CAAC;AAE9F,MAAM,WAAW,qBAAqB;IACpC;;;;OAIG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,qEAAqE;IACrE,YAAY,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IACjC;;;;OAIG;IACH,aAAa,CAAC,EAAE,wBAAwB,CAAC;IACzC,KAAK,CAAC,EAAE,OAAO,UAAU,CAAC,KAAK,CAAC;CACjC;AAED,iGAAiG;AACjG,qBAAa,cAAc;IACzB,QAAQ,CAAC,MAAM,EAAE,UAAU,CAAmD;IAC9E,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAsB;IACnD,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAS;IAClC,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAuC;IACrE,OAAO,CAAC,QAAQ,CAAC,KAAK,CAA0B;gBAEpC,OAAO,GAAE,qBAA0B;YAUjC,OAAO;CAuCtB;AAED,yFAAyF;AACzF,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAavD"}
1
+ {"version":3,"file":"browser-git-http.d.ts","sourceRoot":"","sources":["../src/browser-git-http.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AACH,MAAM,WAAW,cAAc;IAC7B,GAAG,EAAE,MAAM,CAAC;IACZ,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACjC,IAAI,CAAC,EAAE,qBAAqB,CAAC,UAAU,CAAC,CAAC;CAC1C;AAED,MAAM,WAAW,eAAe;IAC9B,GAAG,EAAE,MAAM,CAAC;IACZ,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,UAAU,EAAE,MAAM,CAAC;IACnB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACjC,IAAI,CAAC,EAAE,qBAAqB,CAAC,UAAU,CAAC,CAAC;CAC1C;AAED,MAAM,WAAW,aAAa;IAC5B,OAAO,CAAC,OAAO,EAAE,cAAc,GAAG,OAAO,CAAC,eAAe,CAAC,CAAC;CAC5D;AAMD,MAAM,MAAM,wBAAwB,GAAG,MAAM,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC,GAAG,MAAM,GAAG,SAAS,CAAC;AAE9F,MAAM,WAAW,qBAAqB;IACpC;;;;OAIG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,qEAAqE;IACrE,YAAY,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IACjC;;;;OAIG;IACH,aAAa,CAAC,EAAE,wBAAwB,CAAC;IACzC,2FAA2F;IAC3F,SAAS,CAAC,EAAE,CAAC,MAAM,EAAE,GAAG,KAAK,IAAI,CAAC;IAClC,KAAK,CAAC,EAAE,OAAO,UAAU,CAAC,KAAK,CAAC;CACjC;AAED,iGAAiG;AACjG,qBAAa,cAAc;IACzB,QAAQ,CAAC,MAAM,EAAE,aAAa,CAAmD;IACjF,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAsB;IACnD,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAS;IAClC,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAuC;IACrE,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAsC;IAChE,OAAO,CAAC,QAAQ,CAAC,KAAK,CAA0B;gBAEpC,OAAO,GAAE,qBAA0B;YAWjC,OAAO;CAyCtB;AAED,yFAAyF;AACzF,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAavD"}
@@ -6,6 +6,7 @@ export class BrowserGitHttp {
6
6
  allowedHosts;
7
7
  proxyUrl;
8
8
  authorization;
9
+ authorize;
9
10
  fetch;
10
11
  constructor(options = {}) {
11
12
  this.allowedHosts = new Set(options.allowedHosts ?? ["github.com"]);
@@ -14,12 +15,14 @@ export class BrowserGitHttp {
14
15
  }
15
16
  this.proxyUrl = normalizeProxyUrl(options.proxyUrl ?? "/api/git");
16
17
  this.authorization = options.authorization;
18
+ this.authorize = options.authorize;
17
19
  this.fetch = options.fetch ?? globalThis.fetch.bind(globalThis);
18
20
  }
19
21
  async request(request) {
20
22
  const target = new URL(request.url);
23
+ this.authorize?.(target);
21
24
  if (target.protocol !== "https:" || !this.allowedHosts.has(target.hostname) || target.port) {
22
- throw new Error("Browser Git target is not on the embedding's exact HTTPS host allowlist.");
25
+ throw new Error(`git may not reach ${target.protocol}//${target.host}: this page lets git reach only ${[...this.allowedHosts].map((host) => `https://${host}`).join(", ") || "no hosts"}, over HTTPS on the default port.`);
23
26
  }
24
27
  const method = request.method ?? "GET";
25
28
  const body = request.body ? await collect(request.body, MAXIMUM_BODY_BYTES) : undefined;
@@ -33,6 +36,7 @@ export class BrowserGitHttp {
33
36
  const authorization = await this.authorization?.();
34
37
  if (authorization)
35
38
  headers.Authorization = authorization;
39
+ this.authorize?.(target);
36
40
  const response = await this.fetch(proxied, {
37
41
  method,
38
42
  headers,
@@ -1 +1 @@
1
- {"version":3,"file":"browser-git-http.js","sourceRoot":"","sources":["../src/browser-git-http.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"browser-git-http.js","sourceRoot":"","sources":["../src/browser-git-http.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,34 @@
1
+ import type { GitHttpClient } from "./browser-git-http.js";
2
+ import type { BrowserCommandBackend, BrowserProcessResult, BrowserProcessRunOptions } from "@volter/browser-runtime/browser-process.js";
3
+ export interface BrowserGitRemoteHttpsOptions {
4
+ http: GitHttpClient;
5
+ /** The process host used to start Git's own fetch-pack and send-pack. */
6
+ spawn: BrowserCommandBackend;
7
+ }
8
+ /** Git 2.55's remote-curl protocol at Git's documented remote-helper seam. */
9
+ export declare class BrowserGitRemoteHttps {
10
+ private readonly configuration;
11
+ readonly run: (argv: readonly string[], options: BrowserProcessRunOptions) => Promise<BrowserProcessResult>;
12
+ constructor(configuration: BrowserGitRemoteHttpsOptions);
13
+ /** Transcribes remote-curl.c::cmd_main. */
14
+ private execute;
15
+ /** Transcribes remote-curl.c::set_option. */
16
+ private setOption;
17
+ /** Transcribes remote-curl.c::discover_refs and check_smart_http. */
18
+ private discoverRefs;
19
+ /** Transcribes remote-curl.c::parse_git_refs. */
20
+ private parseGitRefs;
21
+ /** Transcribes remote-curl.c::output_refs. */
22
+ private outputRefs;
23
+ /** Transcribes remote-curl.c::stateless_connect. */
24
+ private statelessConnect;
25
+ /** Transcribes remote-curl.c::parse_fetch and fetch_git. */
26
+ private fetchGit;
27
+ /** Transcribes remote-curl.c::parse_push and push_git. */
28
+ private pushGit;
29
+ /** Transcribes remote-curl.c::rpc_service. */
30
+ private rpcService;
31
+ /** Transcribes remote-curl.c::post_rpc. */
32
+ private postRpc;
33
+ }
34
+ //# sourceMappingURL=browser-git-remote-https.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"browser-git-remote-https.d.ts","sourceRoot":"","sources":["../src/browser-git-remote-https.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AAC3D,OAAO,KAAK,EACV,qBAAqB,EACrB,oBAAoB,EACpB,wBAAwB,EACzB,MAAM,4CAA4C,CAAC;AA0CpD,MAAM,WAAW,4BAA4B;IAC3C,IAAI,EAAE,aAAa,CAAC;IACpB,yEAAyE;IACzE,KAAK,EAAE,qBAAqB,CAAC;CAC9B;AAED,8EAA8E;AAC9E,qBAAa,qBAAqB;IAIpB,OAAO,CAAC,QAAQ,CAAC,aAAa;IAH1C,QAAQ,CAAC,GAAG,GAAI,MAAM,SAAS,MAAM,EAAE,EAAE,SAAS,wBAAwB,KAAG,OAAO,CAAC,oBAAoB,CAAC,CAC5E;gBAED,aAAa,EAAE,4BAA4B;IAExE,2CAA2C;YAC7B,OAAO;IA4ErB,6CAA6C;IAC7C,OAAO,CAAC,SAAS;IAyCjB,qEAAqE;YACvD,YAAY;IA4B1B,iDAAiD;IACjD,OAAO,CAAC,YAAY;IA8BpB,8CAA8C;IAC9C,OAAO,CAAC,UAAU;IAKlB,oDAAoD;YACtC,gBAAgB;IAuB9B,4DAA4D;YAC9C,QAAQ;IAiCtB,0DAA0D;YAC5C,OAAO;IAsBrB,8CAA8C;YAChC,UAAU;IAkCxB,2CAA2C;YAC7B,OAAO;CAgBtB"}