@entrydesk/cli 1.30.0 → 1.31.0
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 +19 -0
- package/dist/agents-PRK5LQNG.js +43 -0
- package/dist/{billing-MGDBCV6I.js → billing-L6QQXRZW.js} +1 -1
- package/dist/{budget-YYGSDB4J.js → budget-NSNB4TFT.js} +1 -1
- package/dist/chunk-FKRIIPBA.js +2 -0
- package/dist/chunk-JMYSCKCF.js +2 -0
- package/dist/chunk-UVF7TGFB.js +120 -0
- package/dist/config-2JH7KXGU.js +4 -0
- package/dist/{config-help-RTQDCM2A.js → config-help-ND4I4Y4D.js} +1 -1
- package/dist/{connectors-EEPEIQ76.js → connectors-26E6RK7B.js} +8 -8
- package/dist/help-KDHCFJNF.js +4 -0
- package/dist/index.js +1 -1
- package/dist/login-WXXDXOHI.js +2 -0
- package/dist/logout-6S6KRPMB.js +2 -0
- package/dist/{marketplace-5QZCY7QH.js → marketplace-WV4PKSWS.js} +8 -8
- package/dist/mcp-2Q5DRF4P.js +4 -0
- package/dist/{meeting-5RUQYMWF.js → meeting-ZI2UOSO6.js} +5 -5
- package/dist/models-TXYNHCLD.js +3 -0
- package/dist/{notifications-ZCJVVQIC.js → notifications-5CD6KFTP.js} +3 -3
- package/dist/{profile-RIAXCLXG.js → profile-OMP7YDYA.js} +1 -1
- package/dist/{recordings-FMD3YL7B.js → recordings-MLYXHDWH.js} +3 -3
- package/dist/{schedules-JFVHBBM3.js → schedules-GIAYSDUE.js} +9 -9
- package/dist/{skills-L4AGJVTQ.js → skills-IK7KZZ45.js} +3 -3
- package/dist/status-OKGY6H3C.js +2 -0
- package/dist/task-XXJ5PAJF.js +179 -0
- package/dist/{tasks-7SK2EZZS.js → tasks-2TMKPOTB.js} +9 -9
- package/dist/tool-HMD5ROEP.js +35 -0
- package/dist/{update-3SS5DWV3.js → update-DM47OUD3.js} +2 -2
- package/dist/{usage-6PXKAMOY.js → usage-TLLEU4K7.js} +5 -5
- package/dist/version-USTE3KNX.js +2 -0
- package/dist/workflow-PRS2UCQT.js +62 -0
- package/dist/{workspaces-EQSJKVVV.js → workspaces-HML7DEAL.js} +3 -3
- package/package.json +5 -6
- package/dist/agents-JG6OXKYV.js +0 -43
- package/dist/chunk-LHRI5YM6.js +0 -2
- package/dist/chunk-NC63CPWW.js +0 -118
- package/dist/chunk-RJGB52EF.js +0 -4
- package/dist/chunk-ZIAOI7B2.js +0 -2
- package/dist/config-PBKYHI2B.js +0 -4
- package/dist/help-FBKSAMA7.js +0 -4
- package/dist/login-HL5KEHEN.js +0 -2
- package/dist/logout-QI7X4M4E.js +0 -2
- package/dist/mcp-5764U6QO.js +0 -4
- package/dist/models-PFIG6ACY.js +0 -3
- package/dist/status-DBKKDZAF.js +0 -2
- package/dist/task-PBX6HRS3.js +0 -194
- package/dist/token-5JSZTSX7.js +0 -2
- package/dist/token-util-U6DGFQDY.js +0 -2
- package/dist/tool-YOUXWQ76.js +0 -35
- package/dist/version-RYL2AKE2.js +0 -2
- package/dist/workflow-6MU3A6LB.js +0 -62
package/README.md
CHANGED
|
@@ -141,6 +141,25 @@ entrydesk config set hubUrl http://localhost:3000
|
|
|
141
141
|
entrydesk config unset apiUrl
|
|
142
142
|
```
|
|
143
143
|
|
|
144
|
+
### Tool Call Timeouts
|
|
145
|
+
|
|
146
|
+
Tool calls (`entrydesk tool call`, and every call proxied by `entrydesk mcp`)
|
|
147
|
+
wait up to 5 minutes for a response, and a server that reports progress keeps
|
|
148
|
+
resetting that window up to an absolute cap of 30 minutes. Raise either limit
|
|
149
|
+
in milliseconds:
|
|
150
|
+
|
|
151
|
+
```bash
|
|
152
|
+
ENTRYDESK_MCP_TIMEOUT=900000 entrydesk tool call slow__tool -i '{}'
|
|
153
|
+
ENTRYDESK_MCP_MAX_TIMEOUT=3600000 entrydesk tool call slow__tool -i '{}'
|
|
154
|
+
```
|
|
155
|
+
|
|
156
|
+
For `entrydesk mcp`, set them in the `env` block of the MCP server entry so
|
|
157
|
+
the proxy never times out before the client that launched it does.
|
|
158
|
+
|
|
159
|
+
These are client-side limits. A tool served by a workspace connector is also
|
|
160
|
+
capped at 5 minutes by the API, so raising `ENTRYDESK_MCP_TIMEOUT` beyond that
|
|
161
|
+
only extends how long the CLI waits on EntryDesk's own long-running tools.
|
|
162
|
+
|
|
144
163
|
## Profiles
|
|
145
164
|
|
|
146
165
|
```bash
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
#!/usr/bin/env node
|
|
2
|
+
import{C as f,P as h,T as y,r as u}from"./chunk-UVF7TGFB.js";import"./chunk-JMYSCKCF.js";function m(){console.log(`
|
|
3
|
+
Usage: entrydesk agents [list|show|create|update|delete|publish|share] [options]
|
|
4
|
+
|
|
5
|
+
Commands:
|
|
6
|
+
list List available agents (default; --mine for your own)
|
|
7
|
+
show <agentId> Show one agent's full details
|
|
8
|
+
create Create a new agent
|
|
9
|
+
update <agentId> Update an agent you own
|
|
10
|
+
delete <agentId> Delete an agent you own
|
|
11
|
+
publish <agentId> Publish an agent to the workspace
|
|
12
|
+
share <agentId> Show or manage sharing (user grants)
|
|
13
|
+
|
|
14
|
+
Create/Update Options:
|
|
15
|
+
--name <name>
|
|
16
|
+
--description <text>
|
|
17
|
+
--system-prompt <text>
|
|
18
|
+
--model-id <modelId>
|
|
19
|
+
--connector-ids id1,id2
|
|
20
|
+
--capabilities sandbox,web_search,image_generation,chart
|
|
21
|
+
--conversation-starters s1,s2,s3
|
|
22
|
+
--tools prefix__tool1,prefix__tool2
|
|
23
|
+
--icon-id <iconId>
|
|
24
|
+
|
|
25
|
+
List Options:
|
|
26
|
+
--mine List agents you own/edit (with publish state)
|
|
27
|
+
--limit <number> Max agents per page; also page size for --all (default: 100)
|
|
28
|
+
--next-key <cursor> Fetch next page using cursor
|
|
29
|
+
--all Fetch all agents (auto-paginate)
|
|
30
|
+
|
|
31
|
+
Share Options:
|
|
32
|
+
--add-user <userId> Grant a user access (use with --role)
|
|
33
|
+
--remove-user <userId> Revoke a user's access
|
|
34
|
+
--role owner|editor|viewer Role for --add-user (default: viewer)
|
|
35
|
+
|
|
36
|
+
Flags:
|
|
37
|
+
--json Output JSON
|
|
38
|
+
`)}function I(e){if(!e)return[];let t=new Map([["sandbox","sandbox"],["web","web_search"],["web-search","web_search"],["web_search","web_search"],["image","image_generation"],["image-gen","image_generation"],["image_generation","image_generation"],["chart","chart"]]);return e.map(o=>t.get(o)??o)}function w(e){console.log(`Available agents (${e.length}):
|
|
39
|
+
`);for(let t of e){if(console.log(` ${t.name} (${t.visibility})`),t.description){let o=t.description.length>80?`${t.description.slice(0,80)}\u2026`:t.description;console.log(` ${o}`)}console.log(` ID: ${t.id}`),console.log("")}}function b(e){console.log(`My agents (${e.length}):
|
|
40
|
+
`);for(let t of e){let o=[];t.latestVersionNumber!=null&&o.push(`v${t.latestVersionNumber}`),t.hasUnpublishedChanges&&o.push("unpublished changes");let i=o.length>0?` (${o.join(" \xB7 ")})`:"";if(console.log(` ${t.name}${i}`),t.description){let a=t.description.length>80?`${t.description.slice(0,80)}\u2026`:t.description;console.log(` ${a}`)}console.log(` ${t.myRole??"no-role"} \xB7 ID: ${t.id}`),console.log("")}}function A(e){console.log(`${e.name}
|
|
41
|
+
`),console.log(` ID: ${e.id}`),e.visibility&&console.log(` Visibility: ${e.visibility}`),e.model&&console.log(` Model: ${e.model.name}`),e.author&&console.log(` Author: ${e.author.name}${e.author.isMe?" (you)":""}`),e.description&&console.log(` Description: ${e.description}`),e.capabilities&&e.capabilities.length>0&&console.log(` Capabilities: ${e.capabilities.join(", ")}`),e.connectors&&e.connectors.length>0&&console.log(` Connectors: ${e.connectors.map(t=>t.name).join(", ")}`),e.tools&&e.tools.length>0&&console.log(` Tools: ${e.tools.length}`),e.conversationStarters&&e.conversationStarters.length>0&&console.log(` Starters: ${e.conversationStarters.length}`),e.systemPrompt&&console.log(`
|
|
42
|
+
System prompt:
|
|
43
|
+
${e.systemPrompt}`)}function $(e){let t=u(e);if(console.log(`User grants (${t.length}):`),t.length===0){console.log(" (none)");return}for(let o of t)console.log(` - ${o.user.name} <${o.user.email}> \xB7 ${o.role}`),console.log(` ID: ${o.userId}`)}function x(e){return(!e.name||!e.description||!e.systemPrompt||!e.modelId)&&(console.error("Missing required fields. Required: --name, --description, --system-prompt, --model-id"),m(),process.exit(1)),{name:e.name,description:e.description,systemPrompt:e.systemPrompt,modelId:e.modelId,connectorIds:e.connectorIds??[],capabilities:I(e.capabilities),conversationStarters:e.conversationStarters??[],tools:e.tools,iconId:e.iconId}}async function M(e){try{if(e.help){m();return}let t=await h(),{accessToken:o,workspaceId:i}=t,a=e.action||"list",r=new f;if(a==="show"){if(!e.agentId)throw new Error("Missing agent ID. Usage: entrydesk agents show <agentId>");let s=await r.getAgent(o,i,e.agentId);if(e.json){console.log(JSON.stringify(s));return}A(s);return}if(a==="publish"){if(!e.agentId)throw new Error("Missing agent ID. Usage: entrydesk agents publish <agentId>");if(await r.publishAgent(o,i,e.agentId),e.json){console.log(JSON.stringify({id:e.agentId,published:!0}));return}console.log(`Published agent to the workspace: ${e.agentId}`);return}if(a==="share"){if(!e.agentId)throw new Error("Missing agent ID. Usage: entrydesk agents share <agentId>");let s=e.agentId,n=e.role??"viewer";if(e.addUser){let c=await r.upsertAgentGrant(o,i,s,e.addUser,n);if(e.json){console.log(JSON.stringify(c));return}console.log(`Granted ${n} to user ${e.addUser}`);return}if(e.removeUser){if(await r.removeAgentGrant(o,i,s,e.removeUser),e.json){console.log(JSON.stringify({userId:e.removeUser,removed:!0}));return}console.log(`Revoked access for user ${e.removeUser}`);return}let l=await r.getAgentGrants(o,i,s);if(e.json){console.log(JSON.stringify(l));return}$(l);return}if(a==="create"){let s=x(e),n=await r.createAgent(o,i,s);if(e.json){console.log(JSON.stringify(n));return}console.log(`Created agent: ${n.name}`),console.log(` ID: ${n.id}`);return}if(a==="update"){let s=e.agentId;if(!s)throw new Error("Missing agent ID. Usage: entrydesk agents update <agentId>");let n=await r.getAgent(o,i,s),l={name:e.name??n.name,description:e.description??n.description,systemPrompt:e.systemPrompt??n.systemPrompt??"",modelId:e.modelId??n.model?.id??"",connectorIds:e.connectorIds??n.connectors?.map(c=>c.id)??[],capabilities:e.capabilities?I(e.capabilities):n.capabilities??[],conversationStarters:e.conversationStarters??n.conversationStarters??[],tools:e.tools??n.tools??[],iconId:e.iconId??n.iconId};await r.updateAgent(o,i,s,l),console.log(`Updated agent: ${s}`);return}if(a==="delete"){let s=e.agentId;if(!s)throw new Error("Missing agent ID. Usage: entrydesk agents delete <agentId>");await r.deleteAgent(o,i,s),console.log(`Deleted agent: ${s}`);return}if(a!=="list"&&(console.error(`Unknown agents command: ${a}`),m(),process.exit(1)),e.all&&e.nextKey&&(console.error("Cannot use --all and --next-key together."),process.exit(1)),e.mine){let s=[],n=e.all?void 0:e.nextKey,l=100;for(let c=0;;c++){c>=l&&(console.error(`Reached maximum page limit (${l}). Use --limit and --next-key for manual pagination.`),process.exit(1));let d=await r.getMyAgents(o,i,{limit:e.limit,nextKey:n});if(s.push(...d.agents),n=d.nextKey,!e.all||!n)break}if(e.json){console.log(JSON.stringify({agents:s,nextKey:n}));return}if(s.length===0){console.log("You own no agents in this workspace. Create one with `entrydesk agents create --name <name> \u2026`, or browse `entrydesk marketplace`.");return}b(s),!e.all&&n&&console.log(`Next page: --next-key ${n}`);return}if(e.all){let n=[],l;for(let c=0;;c++){c>=100&&(console.error("Reached maximum page limit (100). Use --limit and --next-key for manual pagination."),process.exit(1));let d=await r.getAgents(o,i,{limit:e.limit??100,nextKey:l});if(n.push(...d.agents),l=d.nextKey,!l)break}if(e.json){console.log(JSON.stringify({agents:n}));return}if(n.length===0){console.log("No agents in this workspace yet. Create one with `entrydesk agents create`, or browse `entrydesk marketplace`.");return}w(n);return}let{agents:g,nextKey:p}=await r.getAgents(o,i,{limit:e.limit,nextKey:e.nextKey});if(e.json){console.log(JSON.stringify({agents:g,nextKey:p}));return}if(g.length===0){console.log("No agents in this workspace yet. Create one with `entrydesk agents create`, or browse `entrydesk marketplace`.");return}w(g),p&&console.log(`Next page: --next-key ${p}`)}catch(t){y(t)}}export{M as runAgents};
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
|
-
import{
|
|
2
|
+
import{C as u,F as p,P as m,T as d}from"./chunk-UVF7TGFB.js";import"./chunk-JMYSCKCF.js";function f(){console.log(`
|
|
3
3
|
Usage: entrydesk billing [status|invoices] [options]
|
|
4
4
|
|
|
5
5
|
Commands:
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
|
-
import{
|
|
2
|
+
import{C as c,P as a,T as d}from"./chunk-UVF7TGFB.js";import"./chunk-JMYSCKCF.js";function p(){console.log(`
|
|
3
3
|
Usage: entrydesk budget [get|set|clear] [options]
|
|
4
4
|
|
|
5
5
|
Commands:
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
#!/usr/bin/env node
|
|
2
|
+
import{A as c,P as a,x as i}from"./chunk-UVF7TGFB.js";import{Client as g,StreamableHTTPClientTransport as u}from"@modelcontextprotocol/client";var m=()=>{};function d(e={}){let{requestTimeout:r,requestMaxTotalTimeout:t}=c();return{timeout:r,maxTotalTimeout:t,resetTimeoutOnProgress:!0,onprogress:e.onProgress??m,signal:e.signal}}async function T(e={}){let r=e.apiUrl,t=e.accessToken,s=e.workspaceId;if(!t||!s){let o=await a();t=t||o.accessToken,s=s||o.workspaceId}r||(r=i().apiUrl);let n=new g({name:"entrydesk-cli",version:"1.0.0"}),p=new URL(`${r}/v1/workspaces/${s}/mcp`),l=new u(p,{requestInit:{headers:{Authorization:`Bearer ${t}`}}});return await n.connect(l),n}async function w(){return T()}export{d as a,w as b};
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
#!/usr/bin/env node
|
|
2
|
+
var g=Object.create;var e=Object.defineProperty;var h=Object.getOwnPropertyDescriptor;var i=Object.getOwnPropertyNames;var j=Object.getPrototypeOf,k=Object.prototype.hasOwnProperty;var m=(b,a)=>()=>{try{return a||b((a={exports:{}}).exports,a),a.exports}catch(c){throw a=0,c}},n=(b,a)=>{for(var c in a)e(b,c,{get:a[c],enumerable:!0})},l=(b,a,c,f)=>{if(a&&typeof a=="object"||typeof a=="function")for(let d of i(a))!k.call(b,d)&&d!==c&&e(b,d,{get:()=>a[d],enumerable:!(f=h(a,d))||f.enumerable});return b};var o=(b,a,c)=>(c=b!=null?g(j(b)):{},l(a||!b||!b.__esModule?e(c,"default",{value:b,enumerable:!0}):c,b));export{m as a,n as b,o as c};
|