@deskwork/studio 0.9.5

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 (93) hide show
  1. package/dist/build-client-assets.d.ts +51 -0
  2. package/dist/build-client-assets.d.ts.map +1 -0
  3. package/dist/build-client-assets.js +341 -0
  4. package/dist/build-client-assets.js.map +1 -0
  5. package/dist/components/scrapbook-item.d.ts +108 -0
  6. package/dist/components/scrapbook-item.d.ts.map +1 -0
  7. package/dist/components/scrapbook-item.js +205 -0
  8. package/dist/components/scrapbook-item.js.map +1 -0
  9. package/dist/lib/editorial-skills-catalogue.d.ts +33 -0
  10. package/dist/lib/editorial-skills-catalogue.d.ts.map +1 -0
  11. package/dist/lib/editorial-skills-catalogue.js +211 -0
  12. package/dist/lib/editorial-skills-catalogue.js.map +1 -0
  13. package/dist/lib/override-render.d.ts +41 -0
  14. package/dist/lib/override-render.d.ts.map +1 -0
  15. package/dist/lib/override-render.js +80 -0
  16. package/dist/lib/override-render.js.map +1 -0
  17. package/dist/listen.d.ts +78 -0
  18. package/dist/listen.d.ts.map +1 -0
  19. package/dist/listen.js +155 -0
  20. package/dist/listen.js.map +1 -0
  21. package/dist/pages/chrome.d.ts +26 -0
  22. package/dist/pages/chrome.d.ts.map +1 -0
  23. package/dist/pages/chrome.js +50 -0
  24. package/dist/pages/chrome.js.map +1 -0
  25. package/dist/pages/content-detail.d.ts +14 -0
  26. package/dist/pages/content-detail.d.ts.map +1 -0
  27. package/dist/pages/content-detail.js +279 -0
  28. package/dist/pages/content-detail.js.map +1 -0
  29. package/dist/pages/content.d.ts +39 -0
  30. package/dist/pages/content.d.ts.map +1 -0
  31. package/dist/pages/content.js +414 -0
  32. package/dist/pages/content.js.map +1 -0
  33. package/dist/pages/dashboard.d.ts +32 -0
  34. package/dist/pages/dashboard.d.ts.map +1 -0
  35. package/dist/pages/dashboard.js +803 -0
  36. package/dist/pages/dashboard.js.map +1 -0
  37. package/dist/pages/help.d.ts +24 -0
  38. package/dist/pages/help.d.ts.map +1 -0
  39. package/dist/pages/help.js +433 -0
  40. package/dist/pages/help.js.map +1 -0
  41. package/dist/pages/html.d.ts +35 -0
  42. package/dist/pages/html.d.ts.map +1 -0
  43. package/dist/pages/html.js +73 -0
  44. package/dist/pages/html.js.map +1 -0
  45. package/dist/pages/index.d.ts +21 -0
  46. package/dist/pages/index.d.ts.map +1 -0
  47. package/dist/pages/index.js +174 -0
  48. package/dist/pages/index.js.map +1 -0
  49. package/dist/pages/layout.d.ts +33 -0
  50. package/dist/pages/layout.d.ts.map +1 -0
  51. package/dist/pages/layout.js +50 -0
  52. package/dist/pages/layout.js.map +1 -0
  53. package/dist/pages/review-scrapbook-drawer.d.ts +20 -0
  54. package/dist/pages/review-scrapbook-drawer.d.ts.map +1 -0
  55. package/dist/pages/review-scrapbook-drawer.js +98 -0
  56. package/dist/pages/review-scrapbook-drawer.js.map +1 -0
  57. package/dist/pages/review.d.ts +68 -0
  58. package/dist/pages/review.d.ts.map +1 -0
  59. package/dist/pages/review.js +434 -0
  60. package/dist/pages/review.js.map +1 -0
  61. package/dist/pages/scrapbook.d.ts +21 -0
  62. package/dist/pages/scrapbook.d.ts.map +1 -0
  63. package/dist/pages/scrapbook.js +250 -0
  64. package/dist/pages/scrapbook.js.map +1 -0
  65. package/dist/pages/shortform.d.ts +17 -0
  66. package/dist/pages/shortform.d.ts.map +1 -0
  67. package/dist/pages/shortform.js +142 -0
  68. package/dist/pages/shortform.js.map +1 -0
  69. package/dist/request-context.d.ts +52 -0
  70. package/dist/request-context.d.ts.map +1 -0
  71. package/dist/request-context.js +84 -0
  72. package/dist/request-context.js.map +1 -0
  73. package/dist/routes/api.d.ts +36 -0
  74. package/dist/routes/api.d.ts.map +1 -0
  75. package/dist/routes/api.js +175 -0
  76. package/dist/routes/api.js.map +1 -0
  77. package/dist/routes/scrapbook-file.d.ts +19 -0
  78. package/dist/routes/scrapbook-file.d.ts.map +1 -0
  79. package/dist/routes/scrapbook-file.js +77 -0
  80. package/dist/routes/scrapbook-file.js.map +1 -0
  81. package/dist/routes/scrapbook-mutations.d.ts +33 -0
  82. package/dist/routes/scrapbook-mutations.d.ts.map +1 -0
  83. package/dist/routes/scrapbook-mutations.js +310 -0
  84. package/dist/routes/scrapbook-mutations.js.map +1 -0
  85. package/dist/server.d.ts +52 -0
  86. package/dist/server.d.ts.map +1 -0
  87. package/dist/server.js +581 -0
  88. package/dist/server.js.map +1 -0
  89. package/dist/tailscale.d.ts +63 -0
  90. package/dist/tailscale.d.ts.map +1 -0
  91. package/dist/tailscale.js +118 -0
  92. package/dist/tailscale.js.map +1 -0
  93. package/package.json +60 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"server.js","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,63 @@
1
+ /**
2
+ * Tailscale auto-detection for the studio.
3
+ *
4
+ * Default behavior on launch: bind to loopback AND, if Tailscale is
5
+ * running on this machine, the local Tailscale interface(s). That
6
+ * makes the studio reachable from any other tailnet member by magic-
7
+ * DNS hostname (`<machine>.<tailnet>.ts.net`) without the operator
8
+ * having to think about ports, interfaces, or `--host` flags.
9
+ *
10
+ * Detection layered, fast-first:
11
+ *
12
+ * 1. **Network-interface scan** (sub-millisecond, no subprocess).
13
+ * Tailscale exclusively uses the IPv4 CGNAT range `100.64.0.0/10`
14
+ * on any platform. We walk `os.networkInterfaces()` and return any
15
+ * IP that lands in that range. False positives only if the operator
16
+ * is intentionally running their own CGNAT gateway — extremely rare.
17
+ *
18
+ * 2. **CLI enrichment** (~50ms, optional). When the `tailscale` CLI is
19
+ * on PATH, `tailscale status --json` provides the magic-DNS name we
20
+ * can show in the startup banner so the operator knows the URL their
21
+ * tailnet peers will use. Strictly nice-to-have; the IP-based bind
22
+ * works without it.
23
+ *
24
+ * Operators can disable auto-detection entirely with `--no-tailscale`
25
+ * (loopback only). They can also pass an explicit `--host` to override
26
+ * everything (Tailscale-aware logic kicks in only when `--host` was
27
+ * NOT explicitly set).
28
+ */
29
+ export interface TailscaleInfo {
30
+ /** IPv4 address(es) of this machine on the tailnet. Always populated when Tailscale is detected. */
31
+ readonly ipv4: readonly string[];
32
+ /**
33
+ * Magic-DNS hostname (e.g. `orion-m4.tail8254f4.ts.net`). Populated
34
+ * when the `tailscale` CLI is available; null otherwise. Strictly
35
+ * informational — used only for display in the startup banner.
36
+ */
37
+ readonly magicDnsName: string | null;
38
+ }
39
+ /**
40
+ * Scan local network interfaces for Tailscale IPv4 addresses. Returns
41
+ * a (possibly empty) list, sorted for deterministic output. No
42
+ * subprocess, no failure modes other than "no Tailscale interface" →
43
+ * empty array.
44
+ */
45
+ export declare function detectTailscaleIPv4Addresses(): readonly string[];
46
+ /**
47
+ * Best-effort lookup of this machine's magic-DNS name via the
48
+ * `tailscale` CLI. Returns null when:
49
+ * - the CLI isn't on PATH
50
+ * - the CLI errors (daemon not running, network blip, etc.)
51
+ * - the JSON shape is unexpected
52
+ *
53
+ * Total cost: bounded by the 1500ms timeout; typically ~50ms when
54
+ * Tailscale is up and idle.
55
+ */
56
+ export declare function detectTailscaleMagicDnsName(): string | null;
57
+ /**
58
+ * Combined detection: IPv4 from networkInterfaces (always tried),
59
+ * magic-DNS hostname from CLI (best-effort). Returns null when
60
+ * Tailscale isn't detected on this machine.
61
+ */
62
+ export declare function detectTailscale(): TailscaleInfo | null;
63
+ //# sourceMappingURL=tailscale.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tailscale.d.ts","sourceRoot":"","sources":["../src/tailscale.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2BG;AAKH,MAAM,WAAW,aAAa;IAC5B,oGAAoG;IACpG,QAAQ,CAAC,IAAI,EAAE,SAAS,MAAM,EAAE,CAAC;IACjC;;;;OAIG;IACH,QAAQ,CAAC,YAAY,EAAE,MAAM,GAAG,IAAI,CAAC;CACtC;AAgBD;;;;;GAKG;AACH,wBAAgB,4BAA4B,IAAI,SAAS,MAAM,EAAE,CAchE;AAED;;;;;;;;;GASG;AACH,wBAAgB,2BAA2B,IAAI,MAAM,GAAG,IAAI,CAoB3D;AAED;;;;GAIG;AACH,wBAAgB,eAAe,IAAI,aAAa,GAAG,IAAI,CAItD"}
@@ -0,0 +1,118 @@
1
+ /**
2
+ * Tailscale auto-detection for the studio.
3
+ *
4
+ * Default behavior on launch: bind to loopback AND, if Tailscale is
5
+ * running on this machine, the local Tailscale interface(s). That
6
+ * makes the studio reachable from any other tailnet member by magic-
7
+ * DNS hostname (`<machine>.<tailnet>.ts.net`) without the operator
8
+ * having to think about ports, interfaces, or `--host` flags.
9
+ *
10
+ * Detection layered, fast-first:
11
+ *
12
+ * 1. **Network-interface scan** (sub-millisecond, no subprocess).
13
+ * Tailscale exclusively uses the IPv4 CGNAT range `100.64.0.0/10`
14
+ * on any platform. We walk `os.networkInterfaces()` and return any
15
+ * IP that lands in that range. False positives only if the operator
16
+ * is intentionally running their own CGNAT gateway — extremely rare.
17
+ *
18
+ * 2. **CLI enrichment** (~50ms, optional). When the `tailscale` CLI is
19
+ * on PATH, `tailscale status --json` provides the magic-DNS name we
20
+ * can show in the startup banner so the operator knows the URL their
21
+ * tailnet peers will use. Strictly nice-to-have; the IP-based bind
22
+ * works without it.
23
+ *
24
+ * Operators can disable auto-detection entirely with `--no-tailscale`
25
+ * (loopback only). They can also pass an explicit `--host` to override
26
+ * everything (Tailscale-aware logic kicks in only when `--host` was
27
+ * NOT explicitly set).
28
+ */
29
+ import { spawnSync } from 'node:child_process';
30
+ import { networkInterfaces } from 'node:os';
31
+ /**
32
+ * True if `addr` falls inside Tailscale's IPv4 CGNAT range
33
+ * (`100.64.0.0/10`, i.e. `100.64.0.0` through `100.127.255.255`).
34
+ */
35
+ function isTailscaleIPv4(addr) {
36
+ const parts = addr.split('.');
37
+ if (parts.length !== 4)
38
+ return false;
39
+ const a = Number(parts[0]);
40
+ const b = Number(parts[1]);
41
+ if (a !== 100)
42
+ return false;
43
+ if (!Number.isFinite(b))
44
+ return false;
45
+ return b >= 64 && b <= 127;
46
+ }
47
+ /**
48
+ * Scan local network interfaces for Tailscale IPv4 addresses. Returns
49
+ * a (possibly empty) list, sorted for deterministic output. No
50
+ * subprocess, no failure modes other than "no Tailscale interface" →
51
+ * empty array.
52
+ */
53
+ export function detectTailscaleIPv4Addresses() {
54
+ const interfaces = networkInterfaces();
55
+ const found = [];
56
+ for (const addrs of Object.values(interfaces)) {
57
+ if (!addrs)
58
+ continue;
59
+ for (const a of addrs) {
60
+ if (a.family !== 'IPv4')
61
+ continue;
62
+ if (a.internal)
63
+ continue;
64
+ if (isTailscaleIPv4(a.address)) {
65
+ found.push(a.address);
66
+ }
67
+ }
68
+ }
69
+ return found.sort();
70
+ }
71
+ /**
72
+ * Best-effort lookup of this machine's magic-DNS name via the
73
+ * `tailscale` CLI. Returns null when:
74
+ * - the CLI isn't on PATH
75
+ * - the CLI errors (daemon not running, network blip, etc.)
76
+ * - the JSON shape is unexpected
77
+ *
78
+ * Total cost: bounded by the 1500ms timeout; typically ~50ms when
79
+ * Tailscale is up and idle.
80
+ */
81
+ export function detectTailscaleMagicDnsName() {
82
+ const result = spawnSync('tailscale', ['status', '--json'], {
83
+ encoding: 'utf-8',
84
+ timeout: 1500,
85
+ });
86
+ if (result.error || result.status !== 0 || !result.stdout)
87
+ return null;
88
+ let parsed;
89
+ try {
90
+ parsed = JSON.parse(result.stdout);
91
+ }
92
+ catch {
93
+ return null;
94
+ }
95
+ if (!parsed || typeof parsed !== 'object')
96
+ return null;
97
+ const self = parsed.Self;
98
+ if (!self || typeof self !== 'object')
99
+ return null;
100
+ const dnsName = self.DNSName;
101
+ if (typeof dnsName !== 'string' || dnsName.length === 0)
102
+ return null;
103
+ // The CLI returns the FQDN with a trailing dot ("orion-m4.tail8254f4.ts.net.").
104
+ // Strip it for cleaner banner output.
105
+ return dnsName.endsWith('.') ? dnsName.slice(0, -1) : dnsName;
106
+ }
107
+ /**
108
+ * Combined detection: IPv4 from networkInterfaces (always tried),
109
+ * magic-DNS hostname from CLI (best-effort). Returns null when
110
+ * Tailscale isn't detected on this machine.
111
+ */
112
+ export function detectTailscale() {
113
+ const ipv4 = detectTailscaleIPv4Addresses();
114
+ if (ipv4.length === 0)
115
+ return null;
116
+ return { ipv4, magicDnsName: detectTailscaleMagicDnsName() };
117
+ }
118
+ //# sourceMappingURL=tailscale.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tailscale.js","sourceRoot":"","sources":["../src/tailscale.ts"],"names":[],"mappings":"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"}
package/package.json ADDED
@@ -0,0 +1,60 @@
1
+ {
2
+ "name": "@deskwork/studio",
3
+ "version": "0.9.5",
4
+ "type": "module",
5
+ "description": "Editorial review studio — local web UI for the deskwork plugin",
6
+ "homepage": "https://github.com/audiocontrol-org/deskwork#readme",
7
+ "license": "GPL-3.0-or-later",
8
+ "author": "audiocontrol-org",
9
+ "repository": {
10
+ "type": "git",
11
+ "url": "https://github.com/audiocontrol-org/deskwork.git",
12
+ "directory": "packages/studio"
13
+ },
14
+ "publishConfig": {
15
+ "access": "public"
16
+ },
17
+ "engines": {
18
+ "node": ">=20"
19
+ },
20
+ "files": [
21
+ "dist",
22
+ "package.json",
23
+ "README.md"
24
+ ],
25
+ "bin": {
26
+ "deskwork-studio": "./dist/server.js"
27
+ },
28
+ "exports": {
29
+ ".": {
30
+ "types": "./dist/server.d.ts",
31
+ "default": "./dist/server.js"
32
+ },
33
+ "./package.json": "./package.json"
34
+ },
35
+ "scripts": {
36
+ "build": "tsc -b tsconfig.build.json",
37
+ "prepack": "tsc -b tsconfig.build.json",
38
+ "test": "vitest run",
39
+ "test:watch": "vitest",
40
+ "typecheck": "tsc --noEmit"
41
+ },
42
+ "dependencies": {
43
+ "@deskwork/core": "*",
44
+ "@hono/node-server": "^1.13.7",
45
+ "hono": "^4.6.0"
46
+ },
47
+ "devDependencies": {
48
+ "@codemirror/commands": "^6.10.3",
49
+ "@codemirror/lang-markdown": "^6.5.0",
50
+ "@codemirror/language": "^6.12.3",
51
+ "@codemirror/state": "^6.6.0",
52
+ "@codemirror/view": "^6.41.1",
53
+ "@lezer/highlight": "^1.2.3",
54
+ "@types/node": "^22.10.0",
55
+ "esbuild": "^0.28.0",
56
+ "tsx": "^4.21.0",
57
+ "typescript": "^5.7.0",
58
+ "vitest": "^4.1.2"
59
+ }
60
+ }