skybridge 0.0.0-dev.8b34636 → 0.0.0-dev.8b906d4

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 (61) hide show
  1. package/dist/cli/header.d.ts +4 -0
  2. package/dist/cli/header.js +6 -0
  3. package/dist/cli/header.js.map +1 -0
  4. package/dist/cli/run-command.d.ts +2 -0
  5. package/dist/cli/run-command.js +43 -0
  6. package/dist/cli/run-command.js.map +1 -0
  7. package/dist/cli/use-execute-steps.d.ts +10 -0
  8. package/dist/cli/use-execute-steps.js +31 -0
  9. package/dist/cli/use-execute-steps.js.map +1 -0
  10. package/dist/commands/build.d.ts +9 -0
  11. package/dist/commands/build.js +44 -0
  12. package/dist/commands/build.js.map +1 -0
  13. package/dist/commands/dev.js +8 -18
  14. package/dist/commands/dev.js.map +1 -1
  15. package/dist/commands/start.d.ts +7 -0
  16. package/dist/commands/start.js +33 -0
  17. package/dist/commands/start.js.map +1 -0
  18. package/dist/server/server.d.ts +0 -4
  19. package/dist/server/server.js +1 -0
  20. package/dist/server/server.js.map +1 -1
  21. package/dist/web/bridges/adaptors/apps-sdk-adaptor.d.ts +2 -1
  22. package/dist/web/bridges/adaptors/apps-sdk-adaptor.js +6 -0
  23. package/dist/web/bridges/adaptors/apps-sdk-adaptor.js.map +1 -1
  24. package/dist/web/bridges/adaptors/mcp-app-adaptor.d.ts +4 -1
  25. package/dist/web/bridges/adaptors/mcp-app-adaptor.js +25 -0
  26. package/dist/web/bridges/adaptors/mcp-app-adaptor.js.map +1 -1
  27. package/dist/web/bridges/hooks/get-adaptor.d.ts +2 -0
  28. package/dist/web/bridges/hooks/{use-adaptor.js → get-adaptor.js} +2 -2
  29. package/dist/web/bridges/hooks/{use-adaptor.js.map → get-adaptor.js.map} +1 -1
  30. package/dist/web/bridges/hooks/use-bridge.js +2 -2
  31. package/dist/web/bridges/hooks/use-mcp-app-bridge.test.js +1 -6
  32. package/dist/web/bridges/hooks/use-mcp-app-bridge.test.js.map +1 -1
  33. package/dist/web/bridges/index.d.ts +1 -1
  34. package/dist/web/bridges/index.js +1 -1
  35. package/dist/web/bridges/mcp-app-bridge.js +1 -1
  36. package/dist/web/bridges/mcp-app-bridge.js.map +1 -1
  37. package/dist/web/bridges/types.d.ts +4 -0
  38. package/dist/web/create-store.js +6 -7
  39. package/dist/web/create-store.js.map +1 -1
  40. package/dist/web/create-store.test.js +105 -52
  41. package/dist/web/create-store.test.js.map +1 -1
  42. package/dist/web/data-llm.js +5 -3
  43. package/dist/web/data-llm.js.map +1 -1
  44. package/dist/web/data-llm.test.js +129 -65
  45. package/dist/web/data-llm.test.js.map +1 -1
  46. package/dist/web/helpers/state.js +13 -8
  47. package/dist/web/helpers/state.js.map +1 -1
  48. package/dist/web/hooks/test/utils.d.ts +8 -2
  49. package/dist/web/hooks/test/utils.js +33 -13
  50. package/dist/web/hooks/test/utils.js.map +1 -1
  51. package/dist/web/hooks/use-call-tool.js +2 -2
  52. package/dist/web/hooks/use-display-mode.js +2 -2
  53. package/dist/web/hooks/use-open-external.js +2 -2
  54. package/dist/web/hooks/use-send-follow-up-message.js +2 -2
  55. package/dist/web/hooks/use-widget-state.js +10 -10
  56. package/dist/web/hooks/use-widget-state.js.map +1 -1
  57. package/package.json +8 -8
  58. package/dist/cli/use-version.d.ts +0 -1
  59. package/dist/cli/use-version.js +0 -33
  60. package/dist/cli/use-version.js.map +0 -1
  61. package/dist/web/bridges/hooks/use-adaptor.d.ts +0 -2
@@ -1,21 +1,41 @@
1
1
  import { fireEvent } from "@testing-library/react";
2
2
  import { act } from "react";
3
3
  import { vi } from "vitest";
4
+ export class MockResizeObserver {
5
+ observe() { }
6
+ unobserve() { }
7
+ disconnect() { }
8
+ }
4
9
  const DEFAULT_CONTEXT = {};
5
10
  export const getMcpAppHostPostMessageMock = (initialContext = DEFAULT_CONTEXT) => vi.fn((message) => {
6
- const result = {
7
- protocolVersion: "2025-06-18",
8
- hostInfo: { name: "test-host", version: "1.0.0" },
9
- hostCapabilities: {},
10
- hostContext: initialContext,
11
- };
12
- act(() => fireEvent(window, new MessageEvent("message", {
13
- data: {
14
- jsonrpc: "2.0",
15
- id: message.id,
16
- result,
17
- },
18
- })));
11
+ switch (message.method) {
12
+ case "ui/initialize": {
13
+ const result = {
14
+ protocolVersion: "2025-06-18",
15
+ hostInfo: { name: "test-host", version: "1.0.0" },
16
+ hostCapabilities: {},
17
+ hostContext: initialContext,
18
+ };
19
+ act(() => fireEvent(window, new MessageEvent("message", {
20
+ data: {
21
+ jsonrpc: "2.0",
22
+ id: message.id,
23
+ result,
24
+ },
25
+ })));
26
+ break;
27
+ }
28
+ case "ui/update-model-context": {
29
+ act(() => fireEvent(window, new MessageEvent("message", {
30
+ data: {
31
+ jsonrpc: "2.0",
32
+ id: message.id,
33
+ result: {},
34
+ },
35
+ })));
36
+ break;
37
+ }
38
+ }
19
39
  });
20
40
  export const fireToolInputNotification = (args) => {
21
41
  fireEvent(window, new MessageEvent("message", {
@@ -1 +1 @@
1
- {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../../src/web/hooks/test/utils.ts"],"names":[],"mappings":"AAOA,OAAO,EAAE,SAAS,EAAE,MAAM,wBAAwB,CAAC;AACnD,OAAO,EAAE,GAAG,EAAE,MAAM,OAAO,CAAC;AAC5B,OAAO,EAAE,EAAE,EAAE,MAAM,QAAQ,CAAC;AAE5B,MAAM,eAAe,GAAqB,EAAE,CAAC;AAE7C,MAAM,CAAC,MAAM,4BAA4B,GAAG,CAC1C,iBAAmC,eAAe,EAClD,EAAE,CACF,EAAE,CAAC,EAAE,CAAC,CAAC,OAAgD,EAAE,EAAE;IACzD,MAAM,MAAM,GAA0B;QACpC,eAAe,EAAE,YAAY;QAC7B,QAAQ,EAAE,EAAE,IAAI,EAAE,WAAW,EAAE,OAAO,EAAE,OAAO,EAAE;QACjD,gBAAgB,EAAE,EAAE;QACpB,WAAW,EAAE,cAAc;KAC5B,CAAC;IACF,GAAG,CAAC,GAAG,EAAE,CACP,SAAS,CACP,MAAM,EACN,IAAI,YAAY,CAIb,SAAS,EAAE;QACZ,IAAI,EAAE;YACJ,OAAO,EAAE,KAAK;YACd,EAAE,EAAE,OAAO,CAAC,EAAE;YACd,MAAM;SACP;KACF,CAAC,CACH,CACF,CAAC;AACJ,CAAC,CAAC,CAAC;AAEL,MAAM,CAAC,MAAM,yBAAyB,GAAG,CAAC,IAA6B,EAAE,EAAE;IACzE,SAAS,CACP,MAAM,EACN,IAAI,YAAY,CACd,SAAS,EACT;QACE,IAAI,EAAE;YACJ,OAAO,EAAE,KAAK;YACd,MAAM,EAAE,6BAA6B;YACrC,MAAM,EAAE;gBACN,SAAS,EAAE,IAAI;aAChB;SACF;KACF,CACF,CACF,CAAC;AACJ,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,0BAA0B,GAAG,CAAC,MAI1C,EAAE,EAAE;IACH,SAAS,CACP,MAAM,EACN,IAAI,YAAY,CACd,SAAS,EACT;QACE,IAAI,EAAE;YACJ,OAAO,EAAE,KAAK;YACd,MAAM,EAAE,8BAA8B;YACtC,MAAM;SACP;KACF,CACF,CACF,CAAC;AACJ,CAAC,CAAC"}
1
+ {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../../src/web/hooks/test/utils.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,SAAS,EAAE,MAAM,wBAAwB,CAAC;AACnD,OAAO,EAAE,GAAG,EAAE,MAAM,OAAO,CAAC;AAC5B,OAAO,EAAE,EAAE,EAAE,MAAM,QAAQ,CAAC;AAE5B,MAAM,OAAO,kBAAkB;IAC7B,OAAO,KAAU,CAAC;IAClB,SAAS,KAAU,CAAC;IACpB,UAAU,KAAU,CAAC;CACtB;AAED,MAAM,eAAe,GAAqB,EAAE,CAAC;AAE7C,MAAM,CAAC,MAAM,4BAA4B,GAAG,CAC1C,iBAAmC,eAAe,EAClD,EAAE,CACF,EAAE,CAAC,EAAE,CAAC,CAAC,OAAuC,EAAE,EAAE;IAChD,QAAQ,OAAO,CAAC,MAAM,EAAE,CAAC;QACvB,KAAK,eAAe,CAAC,CAAC,CAAC;YACrB,MAAM,MAAM,GAA0B;gBACpC,eAAe,EAAE,YAAY;gBAC7B,QAAQ,EAAE,EAAE,IAAI,EAAE,WAAW,EAAE,OAAO,EAAE,OAAO,EAAE;gBACjD,gBAAgB,EAAE,EAAE;gBACpB,WAAW,EAAE,cAAc;aAC5B,CAAC;YACF,GAAG,CAAC,GAAG,EAAE,CACP,SAAS,CACP,MAAM,EACN,IAAI,YAAY,CAIb,SAAS,EAAE;gBACZ,IAAI,EAAE;oBACJ,OAAO,EAAE,KAAK;oBACd,EAAE,EAAE,OAAO,CAAC,EAAE;oBACd,MAAM;iBACP;aACF,CAAC,CACH,CACF,CAAC;YACF,MAAM;QACR,CAAC;QACD,KAAK,yBAAyB,CAAC,CAAC,CAAC;YAC/B,GAAG,CAAC,GAAG,EAAE,CACP,SAAS,CACP,MAAM,EACN,IAAI,YAAY,CACd,SAAS,EACT;gBACE,IAAI,EAAE;oBACJ,OAAO,EAAE,KAAK;oBACd,EAAE,EAAE,OAAO,CAAC,EAAE;oBACd,MAAM,EAAE,EAAE;iBACX;aACF,CACF,CACF,CACF,CAAC;YACF,MAAM;QACR,CAAC;IACH,CAAC;AACH,CAAC,CAAC,CAAC;AAEL,MAAM,CAAC,MAAM,yBAAyB,GAAG,CAAC,IAA6B,EAAE,EAAE;IACzE,SAAS,CACP,MAAM,EACN,IAAI,YAAY,CACd,SAAS,EACT;QACE,IAAI,EAAE;YACJ,OAAO,EAAE,KAAK;YACd,MAAM,EAAE,6BAA6B;YACrC,MAAM,EAAE;gBACN,SAAS,EAAE,IAAI;aAChB;SACF;KACF,CACF,CACF,CAAC;AACJ,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,0BAA0B,GAAG,CAAC,MAI1C,EAAE,EAAE;IACH,SAAS,CACP,MAAM,EACN,IAAI,YAAY,CACd,SAAS,EACT;QACE,IAAI,EAAE;YACJ,OAAO,EAAE,KAAK;YACd,MAAM,EAAE,8BAA8B;YACtC,MAAM;SACP;KACF,CACF,CACF,CAAC;AACJ,CAAC,CAAC"}
@@ -1,9 +1,9 @@
1
1
  import { useRef, useState } from "react";
2
- import { useAdaptor } from "../bridges/hooks/use-adaptor.js";
2
+ import { getAdaptor } from "../bridges/hooks/get-adaptor.js";
3
3
  export const useCallTool = (name) => {
4
4
  const [{ status, data, error }, setCallToolState] = useState({ status: "idle", data: undefined, error: undefined });
5
5
  const callIdRef = useRef(0);
6
- const adaptor = useAdaptor();
6
+ const adaptor = getAdaptor();
7
7
  const execute = async (toolArgs) => {
8
8
  const callId = ++callIdRef.current;
9
9
  setCallToolState({ status: "pending", data: undefined, error: undefined });
@@ -1,9 +1,9 @@
1
1
  import { useCallback } from "react";
2
- import { useAdaptor } from "../bridges/hooks/use-adaptor.js";
2
+ import { getAdaptor } from "../bridges/hooks/get-adaptor.js";
3
3
  import { useBridge } from "../bridges/index.js";
4
4
  export function useDisplayMode() {
5
5
  const displayMode = useBridge("displayMode");
6
- const adaptor = useAdaptor();
6
+ const adaptor = getAdaptor();
7
7
  const setDisplayMode = useCallback((mode) => adaptor.requestDisplayMode(mode), [adaptor]);
8
8
  return [displayMode, setDisplayMode];
9
9
  }
@@ -1,7 +1,7 @@
1
1
  import { useCallback } from "react";
2
- import { useAdaptor } from "../bridges/index.js";
2
+ import { getAdaptor } from "../bridges/index.js";
3
3
  export function useOpenExternal() {
4
- const adaptor = useAdaptor();
4
+ const adaptor = getAdaptor();
5
5
  const openExternal = useCallback((href) => adaptor.openExternal(href), [adaptor]);
6
6
  return openExternal;
7
7
  }
@@ -1,7 +1,7 @@
1
1
  import { useCallback } from "react";
2
- import { useAdaptor } from "../bridges/index.js";
2
+ import { getAdaptor } from "../bridges/index.js";
3
3
  export function useSendFollowUpMessage() {
4
- const adaptor = useAdaptor();
4
+ const adaptor = getAdaptor();
5
5
  const sendFollowUpMessage = useCallback((prompt) => adaptor.sendFollowUpMessage(prompt), [adaptor]);
6
6
  return sendFollowUpMessage;
7
7
  }
@@ -1,32 +1,32 @@
1
1
  import { useCallback, useEffect, useState } from "react";
2
- import { useAppsSdkBridge } from "../bridges/index.js";
2
+ import { getAdaptor, useBridge } from "../bridges/index.js";
3
3
  import { filterWidgetContext, injectWidgetContext } from "../helpers/state.js";
4
4
  export function useWidgetState(defaultState) {
5
- const widgetStateFromWindow = useAppsSdkBridge("widgetState");
5
+ const adaptor = getAdaptor();
6
+ const widgetStateFromBridge = useBridge("widgetState");
6
7
  const [widgetState, _setWidgetState] = useState(() => {
7
- if (widgetStateFromWindow !== null) {
8
- return filterWidgetContext(widgetStateFromWindow);
8
+ if (widgetStateFromBridge !== null) {
9
+ return filterWidgetContext(widgetStateFromBridge);
9
10
  }
10
11
  return typeof defaultState === "function"
11
12
  ? defaultState()
12
13
  : (defaultState ?? null);
13
14
  });
14
15
  useEffect(() => {
15
- // Fixes openai implementation bug
16
- if (widgetStateFromWindow !== null) {
17
- _setWidgetState(filterWidgetContext(widgetStateFromWindow));
16
+ if (widgetStateFromBridge !== null) {
17
+ _setWidgetState(filterWidgetContext(widgetStateFromBridge));
18
18
  }
19
- }, [widgetStateFromWindow]);
19
+ }, [widgetStateFromBridge]);
20
20
  const setWidgetState = useCallback((state) => {
21
21
  _setWidgetState((prevState) => {
22
22
  const newState = typeof state === "function" ? state(prevState) : state;
23
23
  const stateToSet = injectWidgetContext(newState);
24
24
  if (stateToSet !== null) {
25
- window.openai.setWidgetState(stateToSet);
25
+ adaptor.setWidgetState(stateToSet);
26
26
  }
27
27
  return filterWidgetContext(stateToSet);
28
28
  });
29
- }, []);
29
+ }, [adaptor]);
30
30
  return [widgetState, setWidgetState];
31
31
  }
32
32
  //# sourceMappingURL=use-widget-state.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"use-widget-state.js","sourceRoot":"","sources":["../../../src/web/hooks/use-widget-state.ts"],"names":[],"mappings":"AAAA,OAAO,EAAuB,WAAW,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AAC9E,OAAO,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AACvD,OAAO,EAAE,mBAAmB,EAAE,mBAAmB,EAAE,MAAM,qBAAqB,CAAC;AAS/E,MAAM,UAAU,cAAc,CAC5B,YAA0C;IAE1C,MAAM,qBAAqB,GAAG,gBAAgB,CAAC,aAAa,CAAa,CAAC;IAE1E,MAAM,CAAC,WAAW,EAAE,eAAe,CAAC,GAAG,QAAQ,CAAW,GAAG,EAAE;QAC7D,IAAI,qBAAqB,KAAK,IAAI,EAAE,CAAC;YACnC,OAAO,mBAAmB,CAAC,qBAAqB,CAAC,CAAC;QACpD,CAAC;QAED,OAAO,OAAO,YAAY,KAAK,UAAU;YACvC,CAAC,CAAC,YAAY,EAAE;YAChB,CAAC,CAAC,CAAC,YAAY,IAAI,IAAI,CAAC,CAAC;IAC7B,CAAC,CAAC,CAAC;IAEH,SAAS,CAAC,GAAG,EAAE;QACb,kCAAkC;QAClC,IAAI,qBAAqB,KAAK,IAAI,EAAE,CAAC;YACnC,eAAe,CAAC,mBAAmB,CAAC,qBAAqB,CAAC,CAAC,CAAC;QAC9D,CAAC;IACH,CAAC,EAAE,CAAC,qBAAqB,CAAC,CAAC,CAAC;IAE5B,MAAM,cAAc,GAAG,WAAW,CAAC,CAAC,KAA+B,EAAE,EAAE;QACrE,eAAe,CAAC,CAAC,SAAS,EAAE,EAAE;YAC5B,MAAM,QAAQ,GAAG,OAAO,KAAK,KAAK,UAAU,CAAC,CAAC,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC;YACxE,MAAM,UAAU,GAAG,mBAAmB,CAAC,QAAQ,CAAC,CAAC;YAEjD,IAAI,UAAU,KAAK,IAAI,EAAE,CAAC;gBACxB,MAAM,CAAC,MAAM,CAAC,cAAc,CAAC,UAAU,CAAC,CAAC;YAC3C,CAAC;YAED,OAAO,mBAAmB,CAAC,UAAU,CAAC,CAAC;QACzC,CAAC,CAAC,CAAC;IACL,CAAC,EAAE,EAAE,CAAC,CAAC;IAEP,OAAO,CAAC,WAAW,EAAE,cAAc,CAAU,CAAC;AAChD,CAAC"}
1
+ {"version":3,"file":"use-widget-state.js","sourceRoot":"","sources":["../../../src/web/hooks/use-widget-state.ts"],"names":[],"mappings":"AAAA,OAAO,EAAuB,WAAW,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AAC9E,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAC;AAC5D,OAAO,EAAE,mBAAmB,EAAE,mBAAmB,EAAE,MAAM,qBAAqB,CAAC;AAS/E,MAAM,UAAU,cAAc,CAC5B,YAA0C;IAE1C,MAAM,OAAO,GAAG,UAAU,EAAE,CAAC;IAC7B,MAAM,qBAAqB,GAAG,SAAS,CAAC,aAAa,CAAa,CAAC;IAEnE,MAAM,CAAC,WAAW,EAAE,eAAe,CAAC,GAAG,QAAQ,CAAW,GAAG,EAAE;QAC7D,IAAI,qBAAqB,KAAK,IAAI,EAAE,CAAC;YACnC,OAAO,mBAAmB,CAAC,qBAAqB,CAAC,CAAC;QACpD,CAAC;QAED,OAAO,OAAO,YAAY,KAAK,UAAU;YACvC,CAAC,CAAC,YAAY,EAAE;YAChB,CAAC,CAAC,CAAC,YAAY,IAAI,IAAI,CAAC,CAAC;IAC7B,CAAC,CAAC,CAAC;IAEH,SAAS,CAAC,GAAG,EAAE;QACb,IAAI,qBAAqB,KAAK,IAAI,EAAE,CAAC;YACnC,eAAe,CAAC,mBAAmB,CAAC,qBAAqB,CAAC,CAAC,CAAC;QAC9D,CAAC;IACH,CAAC,EAAE,CAAC,qBAAqB,CAAC,CAAC,CAAC;IAE5B,MAAM,cAAc,GAAG,WAAW,CAChC,CAAC,KAA+B,EAAE,EAAE;QAClC,eAAe,CAAC,CAAC,SAAS,EAAE,EAAE;YAC5B,MAAM,QAAQ,GAAG,OAAO,KAAK,KAAK,UAAU,CAAC,CAAC,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC;YACxE,MAAM,UAAU,GAAG,mBAAmB,CAAC,QAAQ,CAAC,CAAC;YAEjD,IAAI,UAAU,KAAK,IAAI,EAAE,CAAC;gBACxB,OAAO,CAAC,cAAc,CAAC,UAAU,CAAC,CAAC;YACrC,CAAC;YAED,OAAO,mBAAmB,CAAC,UAAU,CAAC,CAAC;QACzC,CAAC,CAAC,CAAC;IACL,CAAC,EACD,CAAC,OAAO,CAAC,CACV,CAAC;IAEF,OAAO,CAAC,WAAW,EAAE,cAAc,CAAU,CAAC;AAChD,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "skybridge",
3
- "version": "0.0.0-dev.8b34636",
3
+ "version": "0.0.0-dev.8b906d4",
4
4
  "description": "Skybridge is a framework for building ChatGPT apps",
5
5
  "repository": {
6
6
  "type": "git",
@@ -44,10 +44,10 @@
44
44
  "ink": "^6.6.0",
45
45
  "superjson": "^2.2.6",
46
46
  "vite": "^7.3.1",
47
- "zustand": "^5.0.10"
47
+ "zustand": "^5.0.9"
48
48
  },
49
49
  "devDependencies": {
50
- "@modelcontextprotocol/ext-apps": "^0.3.1",
50
+ "@modelcontextprotocol/ext-apps": "^0.4.0",
51
51
  "@modelcontextprotocol/sdk": "^1.25.2",
52
52
  "@testing-library/dom": "^10.4.1",
53
53
  "@testing-library/react": "^16.3.1",
@@ -56,15 +56,15 @@
56
56
  "@types/cors": "^2.8.19",
57
57
  "@types/express": "^5.0.6",
58
58
  "@types/jsdom": "^27.0.0",
59
- "@types/node": "^24.10.7",
60
- "@types/react": "^19.2.8",
59
+ "@types/node": "^24.10.4",
60
+ "@types/react": "^19.2.7",
61
61
  "@types/react-dom": "^19.2.3",
62
- "@vitest/ui": "^4.0.17",
62
+ "@vitest/ui": "^4.0.16",
63
63
  "jsdom": "^27.4.0",
64
- "shx": "^0.4.0",
64
+ "shx": "^0.3.4",
65
65
  "ts-node": "^10.9.2",
66
66
  "typescript": "^5.9.3",
67
- "vitest": "^4.0.17",
67
+ "vitest": "^4.0.16",
68
68
  "zod": "^4.3.5"
69
69
  },
70
70
  "bin": {
@@ -1 +0,0 @@
1
- export declare const useVersion: () => string | undefined;
@@ -1,33 +0,0 @@
1
- import { existsSync, readFileSync } from "node:fs";
2
- import path from "node:path";
3
- import { fileURLToPath } from "node:url";
4
- import { useEffect, useState } from "react";
5
- function findPackageJson(startDir) {
6
- let currentDir = startDir;
7
- const root = path.parse(currentDir).root;
8
- while (currentDir !== root) {
9
- const packageJsonPath = path.join(currentDir, "package.json");
10
- if (existsSync(packageJsonPath)) {
11
- return packageJsonPath;
12
- }
13
- currentDir = path.dirname(currentDir);
14
- }
15
- return null;
16
- }
17
- function getPackageVersion() {
18
- const currentFileDir = path.dirname(fileURLToPath(import.meta.url));
19
- const packageJsonPath = findPackageJson(currentFileDir);
20
- if (!packageJsonPath) {
21
- return "";
22
- }
23
- const packageJson = JSON.parse(readFileSync(packageJsonPath, "utf-8"));
24
- return packageJson.version || "";
25
- }
26
- export const useVersion = () => {
27
- const [version, setVersion] = useState();
28
- useEffect(() => {
29
- setVersion(getPackageVersion());
30
- }, []);
31
- return version;
32
- };
33
- //# sourceMappingURL=use-version.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"use-version.js","sourceRoot":"","sources":["../../src/cli/use-version.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AACnD,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AACzC,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AAE5C,SAAS,eAAe,CAAC,QAAgB;IACvC,IAAI,UAAU,GAAG,QAAQ,CAAC;IAC1B,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC,IAAI,CAAC;IAEzC,OAAO,UAAU,KAAK,IAAI,EAAE,CAAC;QAC3B,MAAM,eAAe,GAAG,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,cAAc,CAAC,CAAC;QAC9D,IAAI,UAAU,CAAC,eAAe,CAAC,EAAE,CAAC;YAChC,OAAO,eAAe,CAAC;QACzB,CAAC;QACD,UAAU,GAAG,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;IACxC,CAAC;IAED,OAAO,IAAI,CAAC;AACd,CAAC;AAED,SAAS,iBAAiB;IACxB,MAAM,cAAc,GAAG,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;IACpE,MAAM,eAAe,GAAG,eAAe,CAAC,cAAc,CAAC,CAAC;IAExD,IAAI,CAAC,eAAe,EAAE,CAAC;QACrB,OAAO,EAAE,CAAC;IACZ,CAAC;IAED,MAAM,WAAW,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,eAAe,EAAE,OAAO,CAAC,CAAC,CAAC;IACvE,OAAO,WAAW,CAAC,OAAO,IAAI,EAAE,CAAC;AACnC,CAAC;AAED,MAAM,CAAC,MAAM,UAAU,GAAG,GAAG,EAAE;IAC7B,MAAM,CAAC,OAAO,EAAE,UAAU,CAAC,GAAG,QAAQ,EAAU,CAAC;IAEjD,SAAS,CAAC,GAAG,EAAE;QACb,UAAU,CAAC,iBAAiB,EAAE,CAAC,CAAC;IAClC,CAAC,EAAE,EAAE,CAAC,CAAC;IAEP,OAAO,OAAO,CAAC;AACjB,CAAC,CAAC"}
@@ -1,2 +0,0 @@
1
- import type { Adaptor } from "../types.js";
2
- export declare const useAdaptor: () => Adaptor;