devframe 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/README.md +20 -76
- package/dist/adapters/build.d.mts +1 -1
- package/dist/adapters/build.mjs +5 -6
- package/dist/adapters/cli.d.mts +1 -1
- package/dist/adapters/cli.mjs +2 -2
- package/dist/adapters/dev.d.mts +2 -2
- package/dist/adapters/dev.mjs +1 -1
- package/dist/adapters/embedded.d.mts +1 -1
- package/dist/adapters/mcp.d.mts +2 -2
- package/dist/adapters/mcp.mjs +73 -18
- package/dist/client/index.d.mts +4 -4
- package/dist/client/index.mjs +5 -9
- package/dist/{context-DRa0wGsC.d.mts → context-BDpuScNZ.d.mts} +1 -1
- package/dist/{dev-CewNNE2R.mjs → dev-CZ9ZQkuO.mjs} +4 -5
- package/dist/{devframe-R5Ex5K5L.d.mts → devframe-DAfZWnpI.d.mts} +2 -2
- package/dist/{diagnostics-Cg9ycFIM.mjs → diagnostics-DNxVjo6X.mjs} +1 -1
- package/dist/helpers/vite.d.mts +1 -1
- package/dist/helpers/vite.mjs +3 -3
- package/dist/{context-BBi2IQDm.mjs → host-h3-DEfOpa0j.mjs} +28 -5
- package/dist/{index-DB2Ie0Or.d.mts → index-BNAsgVNz.d.mts} +51 -3
- package/dist/index.d.mts +3 -3
- package/dist/{launch-editor-CX_n_0SS.mjs → launch-editor-BbNhtg7b.mjs} +25 -1
- package/dist/node/auth.d.mts +2 -2
- package/dist/node/auth.mjs +2 -2
- package/dist/node/index.d.mts +6 -37
- package/dist/node/index.mjs +4 -6
- package/dist/node/internal.d.mts +2 -2
- package/dist/node/internal.mjs +4 -4
- package/dist/recipes/open-helpers.d.mts +1 -1
- package/dist/recipes/open-helpers.mjs +2 -2
- package/dist/rpc/index.d.mts +3 -3
- package/dist/rpc/index.mjs +2 -2
- package/dist/rpc/transports/ws-client.d.mts +1 -1
- package/dist/rpc/transports/ws-client.mjs +1 -1
- package/dist/rpc/transports/ws-server.d.mts +1 -1
- package/dist/rpc/transports/ws-server.mjs +1 -1
- package/dist/{rpc-DAzoVCR0.mjs → rpc-BlVCyk9W.mjs} +135 -11
- package/dist/{server-DzKz023G.d.mts → server-BGSrxsQb.d.mts} +1 -1
- package/dist/{storage-CNvfBGQ5.mjs → storage-D-jLaxDA.mjs} +2 -2
- package/dist/{transports-BnCs4rj9.mjs → transports-DTFoMUbE.mjs} +1 -1
- package/dist/types/index.d.mts +3 -3
- package/dist/{types-4rdUEi2R.d.mts → types-DmcujDa5.d.mts} +21 -5
- package/dist/utils/colors.mjs +30 -1
- package/dist/utils/events.d.mts +1 -1
- package/dist/utils/human-id.d.mts +1 -1
- package/dist/utils/human-id.mjs +768 -1
- package/dist/utils/launch-editor.mjs +1 -1
- package/dist/utils/open.mjs +1 -1
- package/dist/utils/shared-state.d.mts +1 -1
- package/dist/utils/shared-state.mjs +1 -1
- package/dist/utils/streaming-channel.d.mts +1 -1
- package/dist/{ws-client-Bavoya6-.d.mts → ws-client-CrLsflnY.d.mts} +1 -1
- package/dist/{ws-server-DjvlwLuM.d.mts → ws-server-DKlqI8XP.d.mts} +1 -1
- package/package.json +1 -5
- package/skills/devframe/SKILL.md +1 -1
- package/dist/chunk-e9Ob2GDo.mjs +0 -26
- package/dist/colors-DS7k8ljB.mjs +0 -123
- package/dist/host-h3-Dz8YnFgu.mjs +0 -24
- package/dist/human-id-adtUWQLr.mjs +0 -852
- package/dist/static-dump-C67bCuse.mjs +0 -80
- /package/dist/{_shared-BrKv3CYt.mjs → _shared-CUFqO4kJ.mjs} +0 -0
- /package/dist/{open-B2ah1IKK.mjs → open-DiQn6zCH.mjs} +0 -0
- /package/dist/{revoke-DIMz1r7-.mjs → revoke-DDa7VSJa.mjs} +0 -0
- /package/dist/{server-DOk4grlJ.mjs → server-BO8IDVsJ.mjs} +0 -0
- /package/dist/{shared-state-q9-1EOSX.mjs → shared-state-BJXkPxtf.mjs} +0 -0
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import { t as launchEditor } from "../launch-editor-
|
|
1
|
+
import { t as launchEditor } from "../launch-editor-BbNhtg7b.mjs";
|
|
2
2
|
export { launchEditor };
|
package/dist/utils/open.mjs
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import { t as open } from "../open-
|
|
1
|
+
import { t as open } from "../open-DiQn6zCH.mjs";
|
|
2
2
|
export { open };
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import { A as ImmutableArray, F as SharedStateEvents, I as SharedStateOptions, L as SharedStatePatch, M as ImmutableObject, N as ImmutableSet, P as SharedState, R as createSharedState, j as ImmutableMap, k as Immutable } from "../devframe-
|
|
1
|
+
import { A as ImmutableArray, F as SharedStateEvents, I as SharedStateOptions, L as SharedStatePatch, M as ImmutableObject, N as ImmutableSet, P as SharedState, R as createSharedState, j as ImmutableMap, k as Immutable } from "../devframe-DAfZWnpI.mjs";
|
|
2
2
|
export { Immutable, ImmutableArray, ImmutableMap, ImmutableObject, ImmutableSet, SharedState, SharedStateEvents, SharedStateOptions, SharedStatePatch, createSharedState };
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import { t as createSharedState } from "../shared-state-
|
|
1
|
+
import { t as createSharedState } from "../shared-state-BJXkPxtf.mjs";
|
|
2
2
|
export { createSharedState };
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import { C as StreamErrorPayload, D as createStreamReader, E as StreamSinkEvents, O as createStreamSink, S as CreateStreamSinkOptions, T as StreamSink, b as BufferedChunk, w as StreamReader, x as CreateStreamReaderOptions } from "../devframe-
|
|
1
|
+
import { C as StreamErrorPayload, D as createStreamReader, E as StreamSinkEvents, O as createStreamSink, S as CreateStreamSinkOptions, T as StreamSink, b as BufferedChunk, w as StreamReader, x as CreateStreamReaderOptions } from "../devframe-DAfZWnpI.mjs";
|
|
2
2
|
export { BufferedChunk, CreateStreamReaderOptions, CreateStreamSinkOptions, StreamErrorPayload, StreamReader, StreamSink, StreamSinkEvents, createStreamReader, createStreamSink };
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { _ as RpcFunctionDefinitionAny } from "./types-DmcujDa5.mjs";
|
|
2
2
|
import { BirpcGroup, ChannelOptions } from "birpc";
|
|
3
3
|
import { ServerOptions } from "node:https";
|
|
4
4
|
import { WebSocket, WebSocketServer } from "ws";
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "devframe",
|
|
3
3
|
"type": "module",
|
|
4
|
-
"version": "0.2.
|
|
4
|
+
"version": "0.2.2",
|
|
5
5
|
"description": "Framework for building generic DevTools",
|
|
6
6
|
"author": "Anthony Fu <anthonyfu117@hotmail.com>",
|
|
7
7
|
"license": "MIT",
|
|
@@ -79,9 +79,7 @@
|
|
|
79
79
|
},
|
|
80
80
|
"devDependencies": {
|
|
81
81
|
"@modelcontextprotocol/sdk": "^1.29.0",
|
|
82
|
-
"ansis": "^4.3.0",
|
|
83
82
|
"get-port-please": "^3.2.0",
|
|
84
|
-
"human-id": "^4.1.3",
|
|
85
83
|
"immer": "^11.1.8",
|
|
86
84
|
"launch-editor": "^2.13.2",
|
|
87
85
|
"mlly": "^1.8.2",
|
|
@@ -96,13 +94,11 @@
|
|
|
96
94
|
"whenexpr": "^0.1.2"
|
|
97
95
|
},
|
|
98
96
|
"inlinedDependencies": {
|
|
99
|
-
"ansis": "4.3.0",
|
|
100
97
|
"bundle-name": "4.1.0",
|
|
101
98
|
"default-browser": "5.5.0",
|
|
102
99
|
"default-browser-id": "5.0.1",
|
|
103
100
|
"define-lazy-prop": "3.0.0",
|
|
104
101
|
"get-port-please": "3.2.0",
|
|
105
|
-
"human-id": "4.1.3",
|
|
106
102
|
"immer": "11.1.8",
|
|
107
103
|
"is-docker": "3.0.0",
|
|
108
104
|
"is-in-ssh": "1.0.0",
|
package/skills/devframe/SKILL.md
CHANGED
|
@@ -239,7 +239,7 @@ Readable.fromWeb(reader.readable).pipe(targetNodeWritable)
|
|
|
239
239
|
| Per-call lifecycles with cancellation | Cross-cutting fire-and-forget signals | Diff-based sync between clients |
|
|
240
240
|
| Replay on reconnect | | |
|
|
241
241
|
|
|
242
|
-
For chat-style UIs that combine both: keep the **conversation log** in shared state (survives reconnects), and use a streaming channel for **active responses**. The action that starts a response appends a placeholder to shared state; on producer close, commit the joined content back to shared state. Working example: [`
|
|
242
|
+
For chat-style UIs that combine both: keep the **conversation log** in shared state (survives reconnects), and use a streaming channel for **active responses**. The action that starts a response appends a placeholder to shared state; on producer close, commit the joined content back to shared state. Working example: [`examples/streaming-chat`](https://github.com/devframes/devframe/tree/main/examples/streaming-chat).
|
|
243
243
|
|
|
244
244
|
## Mounting into a host (Vite DevTools example)
|
|
245
245
|
|
package/dist/chunk-e9Ob2GDo.mjs
DELETED
|
@@ -1,26 +0,0 @@
|
|
|
1
|
-
import { createRequire } from "node:module";
|
|
2
|
-
//#region \0rolldown/runtime.js
|
|
3
|
-
var __create = Object.create;
|
|
4
|
-
var __defProp = Object.defineProperty;
|
|
5
|
-
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
6
|
-
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
7
|
-
var __getProtoOf = Object.getPrototypeOf;
|
|
8
|
-
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
9
|
-
var __commonJSMin = (cb, mod) => () => (mod || (cb((mod = { exports: {} }).exports, mod), cb = null), mod.exports);
|
|
10
|
-
var __copyProps = (to, from, except, desc) => {
|
|
11
|
-
if (from && typeof from === "object" || typeof from === "function") for (var keys = __getOwnPropNames(from), i = 0, n = keys.length, key; i < n; i++) {
|
|
12
|
-
key = keys[i];
|
|
13
|
-
if (!__hasOwnProp.call(to, key) && key !== except) __defProp(to, key, {
|
|
14
|
-
get: ((k) => from[k]).bind(null, key),
|
|
15
|
-
enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable
|
|
16
|
-
});
|
|
17
|
-
}
|
|
18
|
-
return to;
|
|
19
|
-
};
|
|
20
|
-
var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", {
|
|
21
|
-
value: mod,
|
|
22
|
-
enumerable: true
|
|
23
|
-
}) : target, mod));
|
|
24
|
-
var __require = /* @__PURE__ */ createRequire(import.meta.url);
|
|
25
|
-
//#endregion
|
|
26
|
-
export { __require as n, __toESM as r, __commonJSMin as t };
|
package/dist/colors-DS7k8ljB.mjs
DELETED
|
@@ -1,123 +0,0 @@
|
|
|
1
|
-
import { r as __toESM, t as __commonJSMin } from "./chunk-e9Ob2GDo.mjs";
|
|
2
|
-
//#endregion
|
|
3
|
-
//#region ../../node_modules/.pnpm/ansis@4.3.0/node_modules/ansis/index.mjs
|
|
4
|
-
var import_ansis = /* @__PURE__ */ __toESM((/* @__PURE__ */ __commonJSMin(((exports, module) => {
|
|
5
|
-
let e, r, { defineProperty: t, setPrototypeOf: n, create: l, keys: o } = Object, i = "", { round: s, max: f } = Math, u = (e) => {
|
|
6
|
-
let r = /([a-f\d]{3,6})/i.exec(e)?.[1], t = r?.length, n = parseInt(6 ^ t ? 3 ^ t ? "0" : r[0] + r[0] + r[1] + r[1] + r[2] + r[2] : r, 16);
|
|
7
|
-
return [
|
|
8
|
-
n >> 16 & 255,
|
|
9
|
-
n >> 8 & 255,
|
|
10
|
-
255 & n
|
|
11
|
-
];
|
|
12
|
-
}, a = (e, r, t) => e ^ r || r ^ t ? 16 + 36 * s(e / 51) + 6 * s(r / 51) + s(t / 51) : 8 > e ? 16 : e > 248 ? 231 : s(24 * (e - 8) / 247) + 232, c = (e) => {
|
|
13
|
-
let r, t, n, l, o;
|
|
14
|
-
return 8 > e ? 30 + e : 16 > e ? 82 + e : (232 > e ? (o = (e -= 16) % 36, r = (e / 36 | 0) / 5, t = (o / 6 | 0) / 5, n = o % 6 / 5) : r = t = n = (10 * (e - 232) + 8) / 255, l = 2 * f(r, t, n), l ? 30 + (s(n) << 2 | s(t) << 1 | s(r)) + (2 ^ l ? 0 : 60) : 30);
|
|
15
|
-
}, g = {
|
|
16
|
-
open: i,
|
|
17
|
-
close: i
|
|
18
|
-
}, b = 39, d = 49, p = {}, $ = ({ p: e }, { open: t = "", close: l = "", f: o }) => {
|
|
19
|
-
let s = (e, ...r) => {
|
|
20
|
-
if (!e) {
|
|
21
|
-
if (t && t === l) return t;
|
|
22
|
-
if ((e ?? i) === i) return i;
|
|
23
|
-
}
|
|
24
|
-
let n, f = s.p, u = f.o, a = f.c, c = o ? o(e, ...r) : e.raw ? String.raw({ raw: e }, ...r) : i + e;
|
|
25
|
-
if (c.includes("\x1B")) for (; f; f = f.p) {
|
|
26
|
-
let { t: e, l: r } = f, t = r.length, l = i, o = 0;
|
|
27
|
-
if (t) for (; ~(n = c.indexOf(r, o)); o = n + t) l += c.slice(o, n) + e;
|
|
28
|
-
c = l + c.slice(o);
|
|
29
|
-
}
|
|
30
|
-
return u + (c.includes("\n") ? c.replace(/(\r?\n)/g, a + "$1" + u) : c) + a;
|
|
31
|
-
}, f = t, u = l;
|
|
32
|
-
return e && (f = e.o + t, u = l + e.c), n(s, r), s.p = {
|
|
33
|
-
t,
|
|
34
|
-
l,
|
|
35
|
-
o: s.open = f,
|
|
36
|
-
c: s.close = u,
|
|
37
|
-
p: e
|
|
38
|
-
}, s;
|
|
39
|
-
};
|
|
40
|
-
const h = new function s(f = globalThis) {
|
|
41
|
-
let h, y, m = "number" == typeof f ? f : ((r) => {
|
|
42
|
-
let t = r.process ?? {}, n = t.argv ?? [], l = t.env ?? {}, i = 0;
|
|
43
|
-
try {
|
|
44
|
-
i = ((r, t, n) => (e = t.TERM, {
|
|
45
|
-
"24bit": 3,
|
|
46
|
-
truecolor: 3,
|
|
47
|
-
ansi256: 2,
|
|
48
|
-
ansi: 1
|
|
49
|
-
}[t.COLORTERM] || (t.CI ? /,GITHUB/.test(n) ? 3 : 1 : (t.PM2_HOME || /edge/.test(t.NEXT_RUNTIME) || r.stdout?.isTTY) && "dumb" !== e ? "win32" === r.platform ? 3 : /-256/.test(e) ? 2 : 1 : 0)))(t, l, "," + o(l).join(","));
|
|
50
|
-
} catch (e) {
|
|
51
|
-
l = {};
|
|
52
|
-
}
|
|
53
|
-
let s, f = i || 1, u = "FORCE_COLOR", a = {
|
|
54
|
-
false: 0,
|
|
55
|
-
0: 0,
|
|
56
|
-
1: 1,
|
|
57
|
-
2: 2,
|
|
58
|
-
3: 3
|
|
59
|
-
}[l[u]] ?? f, c = -1;
|
|
60
|
-
for (s of n) /^--color=?(true|always)?$/.test(s) && (c = f), /^--(no-color|color=(false|never))$/.test(s) && (c = 0);
|
|
61
|
-
return r.window?.chrome ? 3 : u in l ? a : ~c ? c : l.NO_COLOR ? 0 : i;
|
|
62
|
-
})(f), w = {
|
|
63
|
-
Ansis: s,
|
|
64
|
-
level: m,
|
|
65
|
-
isSupported: () => v,
|
|
66
|
-
strip: (e) => e.replace(/[][[()#;?]*(?:[0-9]{1,4}(?:;[0-9]{0,4})*)?[0-9A-ORZcf-nqry=><]/g, i),
|
|
67
|
-
extend(e) {
|
|
68
|
-
for (let r in e) {
|
|
69
|
-
let t = e[r], n = (typeof t)[0];
|
|
70
|
-
"s" === n && (O(B(r), I(...u(t))), t = H(...u(t))), O(r, t, "f" === n);
|
|
71
|
-
}
|
|
72
|
-
return n(w, r = l({}, p)), w;
|
|
73
|
-
}
|
|
74
|
-
}, O = (e, r, n) => {
|
|
75
|
-
p[e] = { get() {
|
|
76
|
-
let l = n ? (...e) => $(this, r(...e)) : $(this, r);
|
|
77
|
-
return t(this, e, { value: l }), l;
|
|
78
|
-
} };
|
|
79
|
-
}, v = m > 0, _ = (e, r) => v ? {
|
|
80
|
-
open: `[${e}m`,
|
|
81
|
-
close: `[${r}m`
|
|
82
|
-
} : g, k = (e) => (r) => e(...u(r)), x = (e, r) => (t, n, l) => _(`${e}8;2;${t};${n};${l}`, r), R = (e) => (r, t, n) => e(a(r, t, n)), A = (e, r) => (t, n, l) => _(c(a(t, n, l)) + e, r), B = (e) => "bg" + e[0].toUpperCase() + e.slice(1), C = "Bright", H = x(3, b), I = x(4, d), P = (e) => _("38;5;" + e, b), S = (e) => _("48;5;" + e, d);
|
|
83
|
-
return 2 === m ? (H = R(P), I = R(S)) : 1 === m && (H = A(0, b), I = A(10, d), P = (e) => _(c(e), b), S = (e) => _(c(e) + 10, d)), y = {
|
|
84
|
-
fg: P,
|
|
85
|
-
bg: S,
|
|
86
|
-
rgb: H,
|
|
87
|
-
bgRgb: I,
|
|
88
|
-
hex: k(H),
|
|
89
|
-
bgHex: k(I),
|
|
90
|
-
visible: g,
|
|
91
|
-
reset: _(0, 0),
|
|
92
|
-
bold: _(1, 22),
|
|
93
|
-
dim: _(2, 22),
|
|
94
|
-
italic: _(3, 23),
|
|
95
|
-
underline: _(4, 24),
|
|
96
|
-
inverse: _(7, 27),
|
|
97
|
-
hidden: _(8, 28),
|
|
98
|
-
strikethrough: _(9, 29),
|
|
99
|
-
link: { f: (e, r = e) => v ? `]8;;${e}${r}]8;;` : r != e ? `${r} (${e})` : e }
|
|
100
|
-
}, "gray,black,red,green,yellow,blue,magenta,cyan,white".split(",").map(((e, r) => {
|
|
101
|
-
h = B(e), r ? (y[e + C] = _(89 + r, b), y[h + C] = _(99 + r, d)) : r = 61, y[e] = _(29 + r, b), y[h] = _(39 + r, d);
|
|
102
|
-
})), w.extend(y);
|
|
103
|
-
}();
|
|
104
|
-
module.exports = h.default = h;
|
|
105
|
-
})))(), 1);
|
|
106
|
-
var ansis_default = import_ansis.default;
|
|
107
|
-
const { Ansis, fg, bg, rgb, bgRgb, hex, bgHex, reset, inverse, hidden, visible, link, bold, dim, italic, underline, strikethrough, black, red, green, yellow, blue, magenta, cyan, white, gray, redBright, greenBright, yellowBright, blueBright, magentaBright, cyanBright, whiteBright, bgBlack, bgRed, bgGreen, bgYellow, bgBlue, bgMagenta, bgCyan, bgWhite, bgGray, bgRedBright, bgGreenBright, bgYellowBright, bgBlueBright, bgMagentaBright, bgCyanBright, bgWhiteBright } = import_ansis.default;
|
|
108
|
-
//#endregion
|
|
109
|
-
//#region src/utils/colors.ts
|
|
110
|
-
const colors = {
|
|
111
|
-
blue: ansis_default.blue,
|
|
112
|
-
cyan: ansis_default.cyan,
|
|
113
|
-
gray: ansis_default.gray,
|
|
114
|
-
green: ansis_default.green,
|
|
115
|
-
red: ansis_default.red,
|
|
116
|
-
yellow: ansis_default.yellow,
|
|
117
|
-
bold: ansis_default.bold,
|
|
118
|
-
dim: ansis_default.dim,
|
|
119
|
-
reset: ansis_default.reset,
|
|
120
|
-
underline: ansis_default.underline
|
|
121
|
-
};
|
|
122
|
-
//#endregion
|
|
123
|
-
export { colors as t };
|
|
@@ -1,24 +0,0 @@
|
|
|
1
|
-
import { homedir } from "node:os";
|
|
2
|
-
import process from "node:process";
|
|
3
|
-
import { join } from "pathe";
|
|
4
|
-
//#region src/node/host-h3.ts
|
|
5
|
-
/**
|
|
6
|
-
* h3-backed {@link DevToolsHost} — used by the standalone CLI adapter.
|
|
7
|
-
*/
|
|
8
|
-
function createH3DevToolsHost(options) {
|
|
9
|
-
const workspaceRoot = options.workspaceRoot ?? process.cwd();
|
|
10
|
-
return {
|
|
11
|
-
mountStatic(base, distDir) {
|
|
12
|
-
return options.mount?.(base, distDir);
|
|
13
|
-
},
|
|
14
|
-
resolveOrigin() {
|
|
15
|
-
return options.origin;
|
|
16
|
-
},
|
|
17
|
-
getStorageDir(scope) {
|
|
18
|
-
const namespace = `.${options.appName}/devtools`;
|
|
19
|
-
return scope === "workspace" ? join(workspaceRoot, "node_modules", namespace) : join(homedir(), namespace);
|
|
20
|
-
}
|
|
21
|
-
};
|
|
22
|
-
}
|
|
23
|
-
//#endregion
|
|
24
|
-
export { createH3DevToolsHost as t };
|