devframe 0.1.19 → 0.1.20

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 (67) hide show
  1. package/README.md +2 -2
  2. package/dist/adapters/build.d.mts +1 -1
  3. package/dist/adapters/build.mjs +9 -6
  4. package/dist/adapters/cli.d.mts +1 -1
  5. package/dist/adapters/cli.mjs +1 -1
  6. package/dist/adapters/dev.d.mts +2 -2
  7. package/dist/adapters/dev.mjs +1 -1
  8. package/dist/adapters/embedded.d.mts +1 -1
  9. package/dist/adapters/kit.d.mts +1 -1
  10. package/dist/adapters/mcp.d.mts +1 -1
  11. package/dist/adapters/mcp.mjs +6 -3
  12. package/dist/adapters/vite.d.mts +1 -1
  13. package/dist/adapters/vite.mjs +1 -1
  14. package/dist/client/index.d.mts +42 -6
  15. package/dist/client/index.mjs +1673 -2
  16. package/dist/constants.d.mts +1 -1
  17. package/dist/{context-BsNZMCnr.mjs → context-BfvbAyGk.mjs} +428 -40
  18. package/dist/{dev-Djy5hbgs.mjs → dev-B8i_CBlQ.mjs} +6 -5
  19. package/dist/{devtool-CIqONpYU.d.mts → devtool-Bm6zZAw5.d.mts} +365 -27
  20. package/dist/host-h3-BMvrFzIJ.mjs +24 -0
  21. package/dist/{index-BwrLhNmz.d.mts → index-BCo03GEF.d.mts} +1 -1
  22. package/dist/index.d.mts +4 -4
  23. package/dist/node/index.d.mts +44 -7
  24. package/dist/node/index.mjs +5 -5
  25. package/dist/recipes/open-helpers.d.mts +1 -1
  26. package/dist/recipes/open-helpers.mjs +3 -1
  27. package/dist/rpc/index.d.mts +2 -2
  28. package/dist/rpc/index.mjs +2 -2
  29. package/dist/rpc/transports/ws-client.d.mts +1 -1
  30. package/dist/rpc/transports/ws-client.mjs +1 -1
  31. package/dist/rpc/transports/ws-server.d.mts +1 -1
  32. package/dist/rpc/transports/ws-server.mjs +1 -1
  33. package/dist/{rpc-D7LxIh8t.mjs → rpc-INbWfHoX.mjs} +1 -1
  34. package/dist/{serialization-BN2ZQEE9.mjs → serialization-DwKi05Pn.mjs} +1 -1
  35. package/dist/{server-CaUeMcAh.d.mts → server-DksyT-um.d.mts} +1 -1
  36. package/dist/{server-DrBxa6ZV.mjs → server-qRRM8t3v.mjs} +27 -2
  37. package/dist/{static-dump-cyGfMmRf.mjs → static-dump-C1aVSwxY.mjs} +1 -1
  38. package/dist/types/index.d.mts +4 -4
  39. package/dist/utils/events.d.mts +1 -1
  40. package/dist/utils/shared-state.d.mts +2 -2
  41. package/dist/utils/shared-state.mjs +1 -1
  42. package/dist/utils/state.d.mts +2 -1
  43. package/dist/utils/state.mjs +1 -1
  44. package/dist/utils/streaming-channel.d.mts +2 -0
  45. package/dist/utils/streaming-channel.mjs +255 -0
  46. package/dist/utils/when.d.mts +1 -1
  47. package/dist/{ws-client-DOYwYluO.d.mts → ws-client-DQySVfF_.d.mts} +1 -1
  48. package/dist/{ws-server-DHMeNOY_.d.mts → ws-server-VQqESKAs.d.mts} +13 -1
  49. package/package.json +9 -17
  50. package/skills/devframe/README.md +13 -0
  51. package/skills/devframe/SKILL.md +452 -0
  52. package/skills/devframe/templates/counter-devtool.ts +29 -0
  53. package/skills/devframe/templates/spa-devtool.ts +33 -0
  54. package/skills/devframe/templates/vite-client.ts +11 -0
  55. package/dist/client-C6w_NshP.mjs +0 -1569
  56. package/dist/helpers/nuxt/index.d.mts +0 -46
  57. package/dist/helpers/nuxt/index.mjs +0 -58
  58. package/dist/helpers/nuxt/runtime/plugin.client.d.mts +0 -8
  59. package/dist/helpers/nuxt/runtime/plugin.client.mjs +0 -12
  60. package/dist/host-h3-w3c0t8ZO.mjs +0 -18
  61. package/dist/immer-HjMAm3b6.mjs +0 -894
  62. /package/dist/{_shared-BcPXmcjq.mjs → _shared-S-Ujqz_L.mjs} +0 -0
  63. /package/dist/{main-CuGOfqoX.mjs → main-DpINGndA.mjs} +0 -0
  64. /package/dist/{open-JfacLHs0.mjs → open-BtOOEldu.mjs} +0 -0
  65. /package/dist/{transports-DSV5_5QM.mjs → transports-BPUzHhI2.mjs} +0 -0
  66. /package/dist/{types-gWbe-b2R.d.mts → types-ag029cAe.d.mts} +0 -0
  67. /package/dist/{when-BAE663Hv.d.mts → when-aBBXAEh5.d.mts} +0 -0
package/README.md CHANGED
@@ -10,7 +10,7 @@ pnpm add devframe
10
10
 
11
11
  ## Docs
12
12
 
13
- See the [DevFrame documentation](https://devtools.vite.dev/devframe/) for the full guide and API reference.
13
+ See the [DevFrame documentation](https://devfra.me/) for the full guide and API reference.
14
14
 
15
15
  ## Agent-Native (experimental)
16
16
 
@@ -55,7 +55,7 @@ devframe mcp
55
55
 
56
56
  `@modelcontextprotocol/sdk` is a peer dependency — add it to your package when you want to ship MCP support.
57
57
 
58
- See the [Agent-Native guide](https://devtools.vite.dev/devframe/agent-native) for the full API, safety model, and Claude Desktop integration example.
58
+ See the [Agent-Native guide](https://devfra.me/agent-native) for the full API, safety model, and Claude Desktop integration example.
59
59
 
60
60
  ## License
61
61
 
@@ -1,4 +1,4 @@
1
- import { r as DevtoolDefinition } from "../devtool-CIqONpYU.mjs";
1
+ import { r as DevtoolDefinition } from "../devtool-Bm6zZAw5.mjs";
2
2
 
3
3
  //#region src/adapters/build.d.ts
4
4
  interface CreateBuildOptions {
@@ -1,9 +1,9 @@
1
- import { n as strictJsonStringify, o as structuredCloneStringify } from "../serialization-BN2ZQEE9.mjs";
2
- import { t as createHostContext } from "../context-BsNZMCnr.mjs";
1
+ import { n as strictJsonStringify, o as structuredCloneStringify } from "../serialization-DwKi05Pn.mjs";
2
+ import { t as createHostContext } from "../context-BfvbAyGk.mjs";
3
3
  import { DEVTOOLS_CONNECTION_META_FILENAME, DEVTOOLS_RPC_DUMP_DIRNAME, DEVTOOLS_RPC_DUMP_MANIFEST_FILENAME } from "../constants.mjs";
4
- import { t as createH3DevToolsHost } from "../host-h3-w3c0t8ZO.mjs";
5
- import { t as collectStaticRpcDump } from "../static-dump-cyGfMmRf.mjs";
6
- import { n as resolveBasePath } from "../_shared-BcPXmcjq.mjs";
4
+ import { t as createH3DevToolsHost } from "../host-h3-BMvrFzIJ.mjs";
5
+ import { t as collectStaticRpcDump } from "../static-dump-C1aVSwxY.mjs";
6
+ import { n as resolveBasePath } from "../_shared-S-Ujqz_L.mjs";
7
7
  import { existsSync } from "node:fs";
8
8
  import { dirname, resolve } from "pathe";
9
9
  import process from "node:process";
@@ -34,7 +34,10 @@ async function createBuild(d, options = {}) {
34
34
  const ctx = await createHostContext({
35
35
  cwd: process.cwd(),
36
36
  mode: "build",
37
- host: createH3DevToolsHost({ origin: "http://localhost" })
37
+ host: createH3DevToolsHost({
38
+ origin: "http://localhost",
39
+ appName: d.id
40
+ })
38
41
  });
39
42
  await d.setup(ctx);
40
43
  await fs$1.mkdir(resolve(outDir, DEVTOOLS_RPC_DUMP_DIRNAME), { recursive: true });
@@ -1,4 +1,4 @@
1
- import { en as CliFlagsSchema, nn as defineCliFlags, r as DevtoolDefinition, rn as parseCliFlags, tn as InferCliFlags } from "../devtool-CIqONpYU.mjs";
1
+ import { dn as InferCliFlags, fn as defineCliFlags, pn as parseCliFlags, r as DevtoolDefinition, un as CliFlagsSchema } from "../devtool-Bm6zZAw5.mjs";
2
2
  import { App } from "h3";
3
3
  import { CAC } from "cac";
4
4
 
@@ -1,5 +1,5 @@
1
1
  import { createBuild } from "./build.mjs";
2
- import { n as resolveDevServerPort, t as createDevServer } from "../dev-Djy5hbgs.mjs";
2
+ import { n as resolveDevServerPort, t as createDevServer } from "../dev-B8i_CBlQ.mjs";
3
3
  import process from "node:process";
4
4
  import c from "ansis";
5
5
  import cac from "cac";
@@ -1,5 +1,5 @@
1
- import { r as DevtoolDefinition } from "../devtool-CIqONpYU.mjs";
2
- import { n as StartedServer } from "../server-CaUeMcAh.mjs";
1
+ import { r as DevtoolDefinition } from "../devtool-Bm6zZAw5.mjs";
2
+ import { n as StartedServer } from "../server-DksyT-um.mjs";
3
3
  import { App } from "h3";
4
4
 
5
5
  //#region src/adapters/dev.d.ts
@@ -1,2 +1,2 @@
1
- import { n as resolveDevServerPort, t as createDevServer } from "../dev-Djy5hbgs.mjs";
1
+ import { n as resolveDevServerPort, t as createDevServer } from "../dev-B8i_CBlQ.mjs";
2
2
  export { createDevServer, resolveDevServerPort };
@@ -1,4 +1,4 @@
1
- import { d as DevToolsNodeContext, r as DevtoolDefinition } from "../devtool-CIqONpYU.mjs";
1
+ import { d as DevToolsNodeContext, r as DevtoolDefinition } from "../devtool-Bm6zZAw5.mjs";
2
2
 
3
3
  //#region src/adapters/embedded.d.ts
4
4
  interface CreateEmbeddedOptions {
@@ -1,4 +1,4 @@
1
- import { r as DevtoolDefinition } from "../devtool-CIqONpYU.mjs";
1
+ import { r as DevtoolDefinition } from "../devtool-Bm6zZAw5.mjs";
2
2
 
3
3
  //#region src/adapters/kit.d.ts
4
4
  interface CreateKitPluginOptions {
@@ -1,4 +1,4 @@
1
- import { r as DevtoolDefinition } from "../devtool-CIqONpYU.mjs";
1
+ import { r as DevtoolDefinition } from "../devtool-Bm6zZAw5.mjs";
2
2
  import { Server } from "@modelcontextprotocol/sdk/server/index.js";
3
3
 
4
4
  //#region src/node/mcp/build-server.d.ts
@@ -1,5 +1,7 @@
1
- import { m as logger, t as createHostContext } from "../context-BsNZMCnr.mjs";
1
+ import { h as logger, t as createHostContext } from "../context-BfvbAyGk.mjs";
2
+ import { join } from "pathe";
2
3
  import process from "node:process";
4
+ import { homedir } from "node:os";
3
5
  import { Server } from "@modelcontextprotocol/sdk/server/index.js";
4
6
  import { CallToolRequestSchema, ListResourcesRequestSchema, ListToolsRequestSchema, ReadResourceRequestSchema } from "@modelcontextprotocol/sdk/types.js";
5
7
  import { toJsonSchema } from "@valibot/to-json-schema";
@@ -127,7 +129,8 @@ async function createMcpServer(definition, options = {}) {
127
129
  mode: "dev",
128
130
  host: {
129
131
  mountStatic: () => {},
130
- resolveOrigin: () => "mcp://devframe"
132
+ resolveOrigin: () => "mcp://devframe",
133
+ getStorageDir: (scope) => scope === "workspace" ? join(process.cwd(), `node_modules/.${definition.id}/devtools`) : join(homedir(), `.${definition.id}/devtools`)
131
134
  }
132
135
  });
133
136
  await definition.setup(ctx);
@@ -136,7 +139,7 @@ async function createMcpServer(definition, options = {}) {
136
139
  serverVersion: options.serverVersion ?? definition.version ?? "0.0.0",
137
140
  exposeSharedState: options.exposeSharedState ?? true
138
141
  });
139
- const { startStdioTransport } = await import("../transports-DSV5_5QM.mjs");
142
+ const { startStdioTransport } = await import("../transports-BPUzHhI2.mjs");
140
143
  let stop;
141
144
  try {
142
145
  stop = await startStdioTransport(server);
@@ -1,4 +1,4 @@
1
- import { r as DevtoolDefinition } from "../devtool-CIqONpYU.mjs";
1
+ import { r as DevtoolDefinition } from "../devtool-Bm6zZAw5.mjs";
2
2
 
3
3
  //#region src/adapters/vite.d.ts
4
4
  interface CreateVitePluginOptions {
@@ -1,4 +1,4 @@
1
- import { n as resolveBasePath } from "../_shared-BcPXmcjq.mjs";
1
+ import { n as resolveBasePath } from "../_shared-S-Ujqz_L.mjs";
2
2
  import { resolve } from "pathe";
3
3
  import sirv from "sirv";
4
4
  //#region src/adapters/vite.ts
@@ -1,10 +1,40 @@
1
- import { H as DevToolsRpcClientFunctions, It as DevToolsCommandKeybinding, Mt as DevToolsClientCommand, Pt as DevToolsCommandEntry, U as DevToolsRpcServerFunctions, V as DevToolsDocksUserSettings, Zt as EventEmitter, _t as DevToolsDockUserEntry, dt as DevToolsDockEntriesGrouped, ft as DevToolsDockEntry, l as ConnectionMeta, v as RpcSharedStateHost, w as SharedState } from "../devtool-CIqONpYU.mjs";
2
- import { _ as RpcCacheManager, v as RpcCacheOptions } from "../index-BwrLhNmz.mjs";
3
- import { S as RpcFunctionsCollector } from "../types-gWbe-b2R.mjs";
4
- import { t as WhenContext } from "../when-BAE663Hv.mjs";
5
- import { t as WsRpcChannelOptions } from "../ws-client-DOYwYluO.mjs";
1
+ import { $ as DevToolsRpcServerFunctions, D as StreamSink, Dt as DevToolsDockUserEntry, E as StreamReader, Ht as DevToolsClientCommand, I as SharedState, Kt as DevToolsCommandKeybinding, Q as DevToolsRpcClientFunctions, St as DevToolsDockEntry, Wt as DevToolsCommandEntry, Z as DevToolsDocksUserSettings, l as ConnectionMeta, sn as EventEmitter, v as RpcSharedStateHost, xt as DevToolsDockEntriesGrouped } from "../devtool-Bm6zZAw5.mjs";
2
+ import { _ as RpcCacheManager, v as RpcCacheOptions } from "../index-BCo03GEF.mjs";
3
+ import { S as RpcFunctionsCollector } from "../types-ag029cAe.mjs";
4
+ import { t as WhenContext } from "../when-aBBXAEh5.mjs";
5
+ import { t as WsRpcChannelOptions } from "../ws-client-DQySVfF_.mjs";
6
6
  import { BirpcOptions, BirpcReturn } from "birpc";
7
7
 
8
+ //#region src/client/rpc-streaming.d.ts
9
+ interface StreamingSubscribeOptions {
10
+ /** Maximum buffered chunks before the oldest is dropped. Default 256. */
11
+ highWaterMark?: number;
12
+ }
13
+ interface RpcStreamingClientHost {
14
+ /**
15
+ * Subscribe to a server-side stream by channel + id. Returns a reader
16
+ * that's both an `AsyncIterable<T>` (`for await`) and exposes
17
+ * `readable: ReadableStream<T>` for `pipeTo`-style consumption.
18
+ */
19
+ subscribe: <T = unknown>(channel: string, id: string, options?: StreamingSubscribeOptions) => StreamReader<T>;
20
+ /**
21
+ * Open the client side of a client-to-server upload. The id is
22
+ * typically obtained from a prior action call that ran
23
+ * `channel.openInbound()` on the server. Returns a `StreamSink<T>`
24
+ * that mirrors the server-side producer surface (write / close /
25
+ * error / writable / signal).
26
+ *
27
+ * The sink's `signal` aborts when the server cancels the upload.
28
+ */
29
+ upload: <T = unknown>(channel: string, id: string) => StreamSink<T>;
30
+ }
31
+ /**
32
+ * Client-side streaming host. Mirrors `createRpcSharedStateClientHost`:
33
+ * registers the two `:chunk` / `:end` event handlers once, then per-stream
34
+ * state lives in a `Map<streamKey, StreamReader>`.
35
+ */
36
+ declare function createRpcStreamingClientHost(rpc: DevToolsRpcClient): RpcStreamingClientHost;
37
+ //#endregion
8
38
  //#region src/client/rpc.d.ts
9
39
  interface DevToolsRpcClientOptions {
10
40
  connectionMeta?: ConnectionMeta;
@@ -70,6 +100,12 @@ interface DevToolsRpcClient {
70
100
  * The shared state host
71
101
  */
72
102
  sharedState: RpcSharedStateHost;
103
+ /**
104
+ * The streaming channel host. Subscribe to a server-side stream by
105
+ * channel + id; the returned reader is both `AsyncIterable<T>` and
106
+ * exposes `.readable: ReadableStream<T>` for `pipeTo` consumption.
107
+ */
108
+ streaming: RpcStreamingClientHost;
73
109
  /**
74
110
  * The RPC cache manager
75
111
  */
@@ -225,4 +261,4 @@ declare const CLIENT_CONTEXT_KEY = "__VITE_DEVTOOLS_CLIENT_CONTEXT__";
225
261
  */
226
262
  declare function getDevToolsClientContext(): DevToolsClientContext | undefined;
227
263
  //#endregion
228
- export { CLIENT_CONTEXT_KEY, CommandsContext, DevToolsClientContext, DevToolsClientRpcHost, DevToolsRpcClient, DevToolsRpcClientCall, DevToolsRpcClientCallEvent, DevToolsRpcClientCallOptional, DevToolsRpcClientMode, DevToolsRpcClientOptions, DevToolsRpcContext, DockClientType, DockEntryState, DockEntryStateEvents, DockPanelStorage, DocksContext, DocksEntriesContext, DocksPanelContext, RpcClientEvents, WhenClauseContext, getDevToolsRpcClient as connectDevtool, getDevToolsRpcClient, getDevToolsClientContext };
264
+ export { CLIENT_CONTEXT_KEY, CommandsContext, DevToolsClientContext, DevToolsClientRpcHost, DevToolsRpcClient, DevToolsRpcClientCall, DevToolsRpcClientCallEvent, DevToolsRpcClientCallOptional, DevToolsRpcClientMode, DevToolsRpcClientOptions, DevToolsRpcContext, DockClientType, DockEntryState, DockEntryStateEvents, DockPanelStorage, DocksContext, DocksEntriesContext, DocksPanelContext, RpcClientEvents, RpcStreamingClientHost, StreamingSubscribeOptions, WhenClauseContext, getDevToolsRpcClient as connectDevtool, getDevToolsRpcClient, createRpcStreamingClientHost, getDevToolsClientContext };