@shuttle-ai/render-react 0.0.6 → 0.0.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.
@@ -1 +1 @@
1
- "use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const n=require("react/jsx-runtime"),a=require("react"),s=require("antd"),v=require("@ant-design/icons");function x({toolId:u,result:t,agent:d,getConfirmResult:i,getNewArgs:h,onAfterConfirm:f}){const[r,p]=a.useState(t?.type==="reject"?"reject":"accept"),[c,j]=a.useState(t?.reason||""),[m,y]=a.useState(!1);a.useEffect(()=>{t?.type&&p(t.type==="reject"?"reject":"accept")},[t?.type]),a.useEffect(()=>{t?.reason&&j(t.reason)},[t?.reason]);const o=a.useCallback(async()=>{if(r==="reject"&&!c){s.message.warning("请输入拒绝原因");return}y(!0);try{const e=r==="accept"?{type:"confirm",newArgs:await h?.()}:{type:"reject",reason:c};if(e.type==="confirm"&&i){const l=await i();l&&(e.result=l.result,e.newArgs=l.newArgs,e.type="confirmWithResult")}await d.confirmTool(u,e),f?.()}catch(e){throw e}finally{y(!1)}},[r,c,u,d,i,f]),g=a.useCallback(e=>{e.shiftKey||(e.preventDefault(),o())},[o]);return n.jsxs("div",{className:"fn-tool-confirm",children:[n.jsx("span",{className:"fn-tool-confirm-tip",children:"是否允许执行?"}),n.jsxs("div",{className:"fn-tool-confirm-button-group",children:[n.jsxs(s.Radio.Group,{size:"small",optionType:"button",value:r,disabled:!!t,onChange:e=>p(e.target.value),children:[n.jsx(s.Radio,{value:"accept",children:"接受"}),n.jsx(s.Radio,{value:"reject",children:"拒绝"})]}),n.jsx(s.Button,{disabled:!!t,size:"small",type:"primary",danger:r==="reject",loading:m,onClick:o,icon:n.jsx(v.SendOutlined,{}),children:"提交"})]}),r==="reject"&&n.jsx(s.Input.TextArea,{disabled:!!t,placeholder:"请输入拒绝原因",value:c,onChange:e=>j(e.target.value),rows:3,onPressEnter:g})]})}exports.default=x;
1
+ "use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const n=require("react/jsx-runtime"),a=require("react"),s=require("antd"),x=require("@ant-design/icons");function b({toolId:u,result:t,agent:d,getConfirmResult:i,getNewArgs:f,onAfterConfirm:p}){const[r,j]=a.useState(t?.type==="reject"?"reject":"accept"),[c,y]=a.useState(t?.reason||""),[m,h]=a.useState(!1);a.useEffect(()=>{t?.type&&j(t.type==="reject"?"reject":"accept")},[t?.type]),a.useEffect(()=>{t?.reason&&y(t.reason)},[t?.reason]);const o=a.useCallback(async()=>{if(r==="reject"&&!c){s.message.warning("请输入拒绝原因");return}h(!0);try{const e=r==="accept"?{type:"confirm",newArgs:await f?.()}:{type:"reject",reason:c};if(e.type==="confirm"&&i){const l=await i();l&&(e.result=l.result,e.newArgs=l.newArgs,e.type="confirmWithResult")}await d.confirmTool(u,e),p?.()}catch(e){throw e}finally{h(!1)}},[r,c,u,d,i,f,p]),v=a.useCallback(e=>{e.shiftKey||(e.preventDefault(),o())},[o]);return n.jsxs("div",{className:"fn-tool-confirm",children:[n.jsx("span",{className:"fn-tool-confirm-tip",children:"是否允许执行?"}),n.jsxs("div",{className:"fn-tool-confirm-button-group",children:[n.jsxs(s.Radio.Group,{size:"small",optionType:"button",value:r,disabled:!!t,onChange:e=>j(e.target.value),children:[n.jsx(s.Radio,{value:"accept",children:"接受"}),n.jsx(s.Radio,{value:"reject",children:"拒绝"})]}),n.jsx(s.Button,{disabled:!!t,size:"small",type:"primary",danger:r==="reject",loading:m,onClick:o,icon:n.jsx(x.SendOutlined,{}),children:"提交"})]}),r==="reject"&&n.jsx(s.Input.TextArea,{disabled:!!t,placeholder:"请输入拒绝原因",value:c,onChange:e=>y(e.target.value),rows:3,onPressEnter:v})]})}exports.default=b;
@@ -1 +1 @@
1
- "use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const r=require("react/jsx-runtime"),u=require("react"),c=require("../../../hooks/useToolMessage.cjs");require("../../../context/agentWork/base.cjs");require("@shuttle-ai/client");const a=require("../../../context/agent/useAgent.cjs");require("../../../context/agent/base.cjs");require("../../../context/tool/base.cjs");const l=require("../../../context/tool/provider.cjs"),d=require("./confirm.cjs");;/* empty css */function f({toolCall:e}){const n=a.useAgent(),s=c.default(n,e.id),t=u.useMemo(()=>n.options.tools?.find(o=>o.name===e.name),[n,e.name]);return s?r.jsx("div",{className:"agent-work-agent-tool",children:t?.run.type!=="render"?r.jsxs("div",{className:"agent-work-agent-fn-tool",children:[r.jsx("p",{className:"fn-tool-name",children:t?.label||e.name}),r.jsx("pre",{className:"fn-tool-args",children:i(e.args)}),r.jsx("pre",{className:"fn-tool-result",children:i(s.content||s.confirm?.result)}),r.jsx(d.default,{result:s.confirm,toolId:e.id,agent:n})]}):r.jsxs("div",{className:"agent-work-agent-render-tool",children:[r.jsx("p",{className:"render-tool-name",children:t?.label||e.name}),r.jsx(l.default,{toolId:e.id,agent:n,args:e.args,content:s.content,confirmResult:s.confirm,run:t.run})]})}):null}function i(e){if(typeof e=="object")return JSON.stringify(e,null,2);try{return JSON.stringify(JSON.parse(e),null,2)}catch{return e}}exports.default=f;
1
+ "use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const r=require("react/jsx-runtime"),o=require("react"),c=require("../../../hooks/useToolMessage.cjs");require("../../../context/agentWork/base.cjs");require("@shuttle-ai/client");const a=require("../../../context/agent/useAgent.cjs");require("../../../context/agent/base.cjs");require("../../../context/tool/base.cjs");const l=require("../../../context/tool/provider.cjs"),d=require("./confirm.cjs");;/* empty css */function f({toolCall:e}){const n=a.useAgent(),s=c.default(n,e.id),t=o.useMemo(()=>n.options.tools?.find(i=>i.name===e.name),[n,e.name]);return s?r.jsx("div",{className:"agent-work-agent-tool",children:t?.run.type!=="render"?r.jsxs("div",{className:"agent-work-agent-fn-tool",children:[r.jsx("p",{className:"fn-tool-name",children:t?.label||e.name}),r.jsx("pre",{className:"fn-tool-args",children:u(e.args)}),r.jsx("pre",{className:"fn-tool-result",children:u(s.result||s.confirm?.result)}),r.jsx(d.default,{result:s.confirm,toolId:e.id,agent:n})]}):r.jsxs("div",{className:"agent-work-agent-render-tool",children:[r.jsx("p",{className:"render-tool-name",children:t?.label||e.name}),r.jsx(l.default,{toolId:e.id,agent:n,args:e.args,result:s.result,confirmResult:s.confirm,run:t.run})]})}):null}function u(e){if(typeof e=="object")return JSON.stringify(e,null,2);try{return JSON.stringify(JSON.parse(e),null,2)}catch{return e}}exports.default=f;
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const t=require("react"),e=t.createContext({args:{},agent:{},toolId:""});exports.toolContext=e;
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const t=require("react"),e=t.createContext({args:{},effectArgs:{},agent:{},toolId:"",updateArg:()=>{}});exports.toolContext=e;
@@ -1 +1 @@
1
- "use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const f=require("react/jsx-runtime"),t=require("react"),n=require("./base.cjs");function p({args:r,content:o,toolId:u,confirmResult:i,agent:s,run:e}){const l=t.useCallback(c=>s.confirmTool(u,c),[s,u]),d=t.useMemo(()=>({args:r,agent:s,toolId:u,content:o,confirmResult:i,confirm:l}),[r,s,u,o,i,l]),a=t.useMemo(()=>e.defaultProps?typeof e.defaultProps=="function"?e.defaultProps({args:r,content:o}):e.defaultProps:{},[e.defaultProps,r,o]);return f.jsx(n.toolContext.Provider,{value:d,children:f.jsx(e.Render,{...a})})}exports.default=p;
1
+ "use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const A=require("react/jsx-runtime"),r=require("react"),C=require("./base.cjs");function M({args:e,result:s,toolId:f,confirmResult:o,agent:u,run:t}){const i=r.useCallback(n=>u.confirmTool(f,n),[u,f]),[d,a]=r.useState(o?.newArgs||e);r.useEffect(()=>{a(o?.newArgs||e)},[o?.newArgs,e]);const v=r.useCallback((n,w)=>{a(x=>{const p={...x};let l=p;for(let c=0;c<n.length;c++){const P=n[c];c===n.length-1?l[P]=w:l={...l[P]}}return p})},[]),b=r.useMemo(()=>({args:e,effectArgs:d,agent:u,toolId:f,result:s,confirmResult:o,confirm:i,updateArg:v}),[e,u,f,s,o,d,i]),j=r.useMemo(()=>t.defaultProps?typeof t.defaultProps=="function"?t.defaultProps({args:e,result:s}):t.defaultProps:{},[t.defaultProps,e,s]);return A.jsx(C.toolContext.Provider,{value:b,children:A.jsx(t.Render,{...j})})}exports.default=M;
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});require("@shuttle-ai/type");;/* empty css */const e=require("./agentWork/render.cjs"),r=require("./agentWork/agent/index.cjs"),t=require("./agentWork/action/index.cjs"),o=require("./agentWork/agent/aiMessage/index.cjs"),u=require("./agentWork/agent/userMessage/index.cjs"),s=require("./agentWork/agent/toolRender/index.cjs"),n=require("./agentWork/agent/toolRender/confirm.cjs"),i=require("./context/agentWork/useWork.cjs"),d=require("./context/agentWork/useWorkContext.cjs"),a=require("./context/agentWork/provider.cjs"),l=require("./context/agent/useAgent.cjs"),c=require("./context/agent/provider.cjs"),g=require("./context/tool/useTool.cjs"),q=require("./context/tool/provider.cjs"),f=require("./hooks/useWorkStatus.cjs"),A=require("./hooks/useWorkAutoRunScope.cjs"),k=require("./hooks/useRootAgent.cjs"),W=require("./hooks/useAgentMessages.cjs"),T=require("./hooks/useAgentStatus.cjs"),x=require("./hooks/useToolMessage.cjs"),M=require("./hooks/useAiMessage.cjs"),R=require("./tools/writeTodos/index.cjs"),S=require("./markdownRender/index.cjs");exports.AgentWorkRender=e.default;exports.AgentWorkAgent=r.default;exports.AgentWorkAction=t.default;exports.AiMessageRender=o.default;exports.UserMessageRender=u.default;exports.ToolRender=s.default;exports.ToolConfirmRender=n.default;exports.useWork=i.useWork;exports.useWorkContext=d.useWorkContext;exports.AgentWorkProvider=a.default;exports.useAgent=l.useAgent;exports.AgentProvider=c.default;exports.useTool=g.useTool;exports.ToolProvider=q.default;exports.useWorkStatus=f.default;exports.useWorkAutoRunScope=A.default;exports.useRootAgent=k.default;exports.useAgentMessages=W.default;exports.useAgentStatus=T.default;exports.useToolMessage=x.default;exports.useAiMessage=M.default;exports.writeTodosTool=R.default;exports.MarkdownRender=S.default;
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const r=require("@shuttle-ai/type");;/* empty css */const t=require("./agentWork/render.cjs"),o=require("./agentWork/agent/index.cjs"),u=require("./agentWork/action/index.cjs"),s=require("./agentWork/agent/aiMessage/index.cjs"),n=require("./agentWork/agent/userMessage/index.cjs"),i=require("./agentWork/agent/toolRender/index.cjs"),d=require("./agentWork/agent/toolRender/confirm.cjs"),a=require("./context/agentWork/useWork.cjs"),c=require("./context/agentWork/useWorkContext.cjs"),l=require("./context/agentWork/provider.cjs"),f=require("./context/agent/useAgent.cjs"),g=require("./context/agent/provider.cjs"),q=require("./context/tool/useTool.cjs"),A=require("./context/tool/provider.cjs"),W=require("./hooks/useWorkStatus.cjs"),k=require("./hooks/useWorkAutoRunScope.cjs"),p=require("./hooks/useRootAgent.cjs"),T=require("./hooks/useAgentMessages.cjs"),x=require("./hooks/useAgentStatus.cjs"),M=require("./hooks/useToolMessage.cjs"),R=require("./hooks/useAiMessage.cjs"),S=require("./tools/writeTodos/index.cjs"),$=require("./markdownRender/index.cjs");exports.AgentWorkRender=t.default;exports.AgentWorkAgent=o.default;exports.AgentWorkAction=u.default;exports.AiMessageRender=s.default;exports.UserMessageRender=n.default;exports.ToolRender=i.default;exports.ToolConfirmRender=d.default;exports.useWork=a.useWork;exports.useWorkContext=c.useWorkContext;exports.AgentWorkProvider=l.default;exports.useAgent=f.useAgent;exports.AgentProvider=g.default;exports.useTool=q.useTool;exports.ToolProvider=A.default;exports.useWorkStatus=W.default;exports.useWorkAutoRunScope=k.default;exports.useRootAgent=p.default;exports.useAgentMessages=T.default;exports.useAgentStatus=x.default;exports.useToolMessage=M.default;exports.useAiMessage=R.default;exports.writeTodosTool=S.default;exports.MarkdownRender=$.default;Object.keys(r).forEach(e=>{e!=="default"&&!Object.prototype.hasOwnProperty.call(exports,e)&&Object.defineProperty(exports,e,{enumerable:!0,get:()=>r[e]})});
@@ -1,33 +1,33 @@
1
1
  import { jsxs as s, jsx as r } from "react/jsx-runtime";
2
- import { useState as l, useEffect as j, useCallback as g } from "react";
3
- import { message as x, Radio as p, Button as T, Input as A } from "antd";
4
- import { SendOutlined as E } from "@ant-design/icons";
5
- function z({
2
+ import { useState as l, useEffect as v, useCallback as g } from "react";
3
+ import { message as x, Radio as p, Button as T, Input as E } from "antd";
4
+ import { SendOutlined as R } from "@ant-design/icons";
5
+ function C({
6
6
  toolId: f,
7
7
  result: t,
8
8
  agent: d,
9
9
  getConfirmResult: o,
10
- getNewArgs: v,
11
- onAfterConfirm: m
10
+ getNewArgs: m,
11
+ onAfterConfirm: u
12
12
  }) {
13
- const [n, u] = l(
13
+ const [n, y] = l(
14
14
  t?.type === "reject" ? "reject" : "accept"
15
- ), [a, y] = l(t?.reason || ""), [w, h] = l(!1);
16
- j(() => {
17
- t?.type && u(t.type === "reject" ? "reject" : "accept");
18
- }, [t?.type]), j(() => {
19
- t?.reason && y(t.reason);
15
+ ), [a, h] = l(t?.reason || ""), [w, j] = l(!1);
16
+ v(() => {
17
+ t?.type && y(t.type === "reject" ? "reject" : "accept");
18
+ }, [t?.type]), v(() => {
19
+ t?.reason && h(t.reason);
20
20
  }, [t?.reason]);
21
21
  const c = g(async () => {
22
22
  if (n === "reject" && !a) {
23
23
  x.warning("请输入拒绝原因");
24
24
  return;
25
25
  }
26
- h(!0);
26
+ j(!0);
27
27
  try {
28
28
  const e = n === "accept" ? {
29
29
  type: "confirm",
30
- newArgs: await v?.()
30
+ newArgs: await m?.()
31
31
  } : {
32
32
  type: "reject",
33
33
  reason: a
@@ -36,13 +36,21 @@ function z({
36
36
  const i = await o();
37
37
  i && (e.result = i.result, e.newArgs = i.newArgs, e.type = "confirmWithResult");
38
38
  }
39
- await d.confirmTool(f, e), m?.();
39
+ await d.confirmTool(f, e), u?.();
40
40
  } catch (e) {
41
41
  throw e;
42
42
  } finally {
43
- h(!1);
43
+ j(!1);
44
44
  }
45
- }, [n, a, f, d, o, m]), b = g(
45
+ }, [
46
+ n,
47
+ a,
48
+ f,
49
+ d,
50
+ o,
51
+ m,
52
+ u
53
+ ]), b = g(
46
54
  (e) => {
47
55
  e.shiftKey || (e.preventDefault(), c());
48
56
  },
@@ -58,7 +66,7 @@ function z({
58
66
  optionType: "button",
59
67
  value: n,
60
68
  disabled: !!t,
61
- onChange: (e) => u(e.target.value),
69
+ onChange: (e) => y(e.target.value),
62
70
  children: [
63
71
  /* @__PURE__ */ r(p, { value: "accept", children: "接受" }),
64
72
  /* @__PURE__ */ r(p, { value: "reject", children: "拒绝" })
@@ -74,18 +82,18 @@ function z({
74
82
  danger: n === "reject",
75
83
  loading: w,
76
84
  onClick: c,
77
- icon: /* @__PURE__ */ r(E, {}),
85
+ icon: /* @__PURE__ */ r(R, {}),
78
86
  children: "提交"
79
87
  }
80
88
  )
81
89
  ] }),
82
90
  n === "reject" && /* @__PURE__ */ r(
83
- A.TextArea,
91
+ E.TextArea,
84
92
  {
85
93
  disabled: !!t,
86
94
  placeholder: "请输入拒绝原因",
87
95
  value: a,
88
- onChange: (e) => y(e.target.value),
96
+ onChange: (e) => h(e.target.value),
89
97
  rows: 3,
90
98
  onPressEnter: b
91
99
  }
@@ -93,5 +101,5 @@ function z({
93
101
  ] });
94
102
  }
95
103
  export {
96
- z as default
104
+ C as default
97
105
  };
@@ -1,22 +1,22 @@
1
1
  import { jsx as e, jsxs as s } from "react/jsx-runtime";
2
- import { useMemo as c } from "react";
3
- import a from "../../../hooks/useToolMessage.mjs";
2
+ import { useMemo as a } from "react";
3
+ import c from "../../../hooks/useToolMessage.mjs";
4
4
  import "../../../context/agentWork/base.mjs";
5
5
  import "@shuttle-ai/client";
6
6
  import { useAgent as f } from "../../../context/agent/useAgent.mjs";
7
7
  import "../../../context/agent/base.mjs";
8
8
  import "../../../context/tool/base.mjs";
9
9
  import u from "../../../context/tool/provider.mjs";
10
- import d from "./confirm.mjs";
10
+ import l from "./confirm.mjs";
11
11
  /* empty css */
12
12
  function w({ toolCall: r }) {
13
- const n = f(), o = a(n, r.id), t = c(() => n.options.tools?.find((m) => m.name === r.name), [n, r.name]);
13
+ const n = f(), o = c(n, r.id), t = a(() => n.options.tools?.find((m) => m.name === r.name), [n, r.name]);
14
14
  return o ? /* @__PURE__ */ e("div", { className: "agent-work-agent-tool", children: t?.run.type !== "render" ? /* @__PURE__ */ s("div", { className: "agent-work-agent-fn-tool", children: [
15
15
  /* @__PURE__ */ e("p", { className: "fn-tool-name", children: t?.label || r.name }),
16
16
  /* @__PURE__ */ e("pre", { className: "fn-tool-args", children: i(r.args) }),
17
- /* @__PURE__ */ e("pre", { className: "fn-tool-result", children: i(o.content || o.confirm?.result) }),
17
+ /* @__PURE__ */ e("pre", { className: "fn-tool-result", children: i(o.result || o.confirm?.result) }),
18
18
  /* @__PURE__ */ e(
19
- d,
19
+ l,
20
20
  {
21
21
  result: o.confirm,
22
22
  toolId: r.id,
@@ -31,7 +31,7 @@ function w({ toolCall: r }) {
31
31
  toolId: r.id,
32
32
  agent: n,
33
33
  args: r.args,
34
- content: o.content,
34
+ result: o.result,
35
35
  confirmResult: o.confirm,
36
36
  run: t.run
37
37
  }
@@ -1,8 +1,11 @@
1
1
  import { createContext as t } from "react";
2
2
  const e = t({
3
3
  args: {},
4
+ effectArgs: {},
4
5
  agent: {},
5
- toolId: ""
6
+ toolId: "",
7
+ updateArg: () => {
8
+ }
6
9
  });
7
10
  export {
8
11
  e as toolContext
@@ -1,33 +1,49 @@
1
- import { jsx as t } from "react/jsx-runtime";
2
- import { useCallback as P, useMemo as u } from "react";
3
- import { toolContext as a } from "./base.mjs";
4
- function x({
5
- args: r,
6
- content: e,
7
- toolId: f,
8
- confirmResult: l,
9
- agent: i,
1
+ import { jsx as A } from "react/jsx-runtime";
2
+ import { useCallback as m, useState as E, useEffect as T, useMemo as a } from "react";
3
+ import { toolContext as b } from "./base.mjs";
4
+ function M({
5
+ args: e,
6
+ result: f,
7
+ toolId: n,
8
+ confirmResult: t,
9
+ agent: c,
10
10
  run: o
11
11
  }) {
12
- const p = P(
13
- (s) => i.confirmTool(f, s),
14
- [i, f]
15
- ), d = u(
12
+ const s = m(
13
+ (r) => c.confirmTool(n, r),
14
+ [c, n]
15
+ ), [d, l] = E(t?.newArgs || e);
16
+ T(() => {
17
+ l(t?.newArgs || e);
18
+ }, [t?.newArgs, e]);
19
+ const v = m((r, x) => {
20
+ l((C) => {
21
+ const u = { ...C };
22
+ let p = u;
23
+ for (let i = 0; i < r.length; i++) {
24
+ const P = r[i];
25
+ i === r.length - 1 ? p[P] = x : p = { ...p[P] };
26
+ }
27
+ return u;
28
+ });
29
+ }, []), w = a(
16
30
  () => ({
17
- args: r,
18
- agent: i,
19
- toolId: f,
20
- content: e,
21
- confirmResult: l,
22
- confirm: p
31
+ args: e,
32
+ effectArgs: d,
33
+ agent: c,
34
+ toolId: n,
35
+ result: f,
36
+ confirmResult: t,
37
+ confirm: s,
38
+ updateArg: v
23
39
  }),
24
- [r, i, f, e, l, p]
25
- ), m = u(() => o.defaultProps ? typeof o.defaultProps == "function" ? o.defaultProps({
26
- args: r,
27
- content: e
28
- }) : o.defaultProps : {}, [o.defaultProps, r, e]);
29
- return /* @__PURE__ */ t(a.Provider, { value: d, children: /* @__PURE__ */ t(o.Render, { ...m }) });
40
+ [e, c, n, f, t, d, s]
41
+ ), h = a(() => o.defaultProps ? typeof o.defaultProps == "function" ? o.defaultProps({
42
+ args: e,
43
+ result: f
44
+ }) : o.defaultProps : {}, [o.defaultProps, e, f]);
45
+ return /* @__PURE__ */ A(b.Provider, { value: w, children: /* @__PURE__ */ A(o.Render, { ...h }) });
30
46
  }
31
47
  export {
32
- x as default
48
+ M as default
33
49
  };
package/dist/es/index.mjs CHANGED
@@ -1,4 +1,4 @@
1
- import "@shuttle-ai/type";
1
+ export * from "@shuttle-ai/type";
2
2
  /* empty css */
3
3
  import { default as a } from "./agentWork/render.mjs";
4
4
  import { default as f } from "./agentWork/agent/index.mjs";
@@ -2,10 +2,17 @@ import { ShuttleAi } from '@shuttle-ai/type';
2
2
  import { Agent } from '@shuttle-ai/client';
3
3
  export interface ToolContext<T extends Record<string, any> = Record<string, any>> {
4
4
  args: T;
5
+ effectArgs: T;
5
6
  agent: Agent;
6
7
  toolId: string;
7
- content?: string;
8
+ result?: ShuttleAi.Tool.Result;
8
9
  confirmResult?: ShuttleAi.Tool.ConfirmResult<T>;
9
10
  confirm?: (result: ShuttleAi.Tool.ConfirmResult<T>) => Promise<void>;
11
+ updateArg: <P extends ObjectArrayPaths<T>>(paths: P, v: PathValue<T, P>) => void;
10
12
  }
11
13
  export declare const toolContext: import('react').Context<ToolContext<Record<string, any>>>;
14
+ type ObjectArrayPaths<T, Prefix extends string[] = [], Depth extends number = 6, Counter extends unknown[] = []> = Counter['length'] extends Depth ? never : T extends Record<string, any> ? {
15
+ [K in keyof T]: K extends string ? [...Prefix, K] | ObjectArrayPaths<T[K], [...Prefix, K], Depth, [...Counter, 1]> : never;
16
+ }[keyof T] : never;
17
+ type PathValue<T, P extends string[]> = P extends [] ? T : P extends [infer First, ...infer Rest] ? First extends keyof T ? Rest extends [] ? T[First] : Rest extends string[] ? PathValue<T[First], Rest> : never : never : never;
18
+ export {};
@@ -2,11 +2,11 @@ import { Agent } from '@shuttle-ai/client';
2
2
  import { ShuttleAi } from '@shuttle-ai/type';
3
3
  interface Props {
4
4
  args: Record<string, any>;
5
- content?: string;
5
+ result?: ShuttleAi.Tool.Result;
6
6
  toolId: string;
7
7
  confirmResult?: ShuttleAi.Tool.ConfirmResult;
8
8
  agent: Agent;
9
9
  run: ShuttleAi.Client.Agent.RenderTool;
10
10
  }
11
- export default function ToolProvider({ args, content, toolId, confirmResult, agent, run, }: Props): import("react/jsx-runtime").JSX.Element;
11
+ export default function ToolProvider({ args, result, toolId, confirmResult, agent, run, }: Props): import("react/jsx-runtime").JSX.Element;
12
12
  export {};
@@ -1,3 +1,4 @@
1
+ export * from './type';
1
2
  export * from './agentWork';
2
3
  export * from './context';
3
4
  export * from './hooks';
@@ -1,3 +1,4 @@
1
+ export * from '@shuttle-ai/type';
1
2
  declare module '@shuttle-ai/type' {
2
3
  namespace ShuttleAi {
3
4
  namespace Client {
@@ -6,7 +7,7 @@ declare module '@shuttle-ai/type' {
6
7
  Render: React.FC<any>;
7
8
  defaultProps?: Record<string, any> | ((params: {
8
9
  args: Record<string, any>;
9
- content?: string;
10
+ result?: Tool.Result;
10
11
  }) => Record<string, any>);
11
12
  }
12
13
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@shuttle-ai/render-react",
3
- "version": "0.0.6",
3
+ "version": "0.0.7",
4
4
  "author": "Mingbing-get <1508850533@qq.com>",
5
5
  "license": "MIT",
6
6
  "description": "Shuttle AI web端智能体react渲染库",
@@ -35,8 +35,8 @@
35
35
  "remark-breaks": "^4.0.0",
36
36
  "remark-frontmatter": "^5.0.0",
37
37
  "remark-gfm": "^4.0.1",
38
- "@shuttle-ai/client": "0.0.6",
39
- "@shuttle-ai/type": "0.0.6"
38
+ "@shuttle-ai/client": "0.0.7",
39
+ "@shuttle-ai/type": "0.0.7"
40
40
  },
41
41
  "devDependencies": {
42
42
  "typescript": "^5.3.3",