@entrydesk/cli 1.29.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-LXGGM4BO.js → billing-L6QQXRZW.js} +1 -1
- package/dist/{budget-3KJ75AIF.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-2YHNIPHU.js → config-help-ND4I4Y4D.js} +1 -1
- package/dist/{connectors-YUVHSMJD.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-4NZ4R2RK.js → marketplace-WV4PKSWS.js} +8 -8
- package/dist/mcp-2Q5DRF4P.js +4 -0
- package/dist/{meeting-NAS2QHFI.js → meeting-ZI2UOSO6.js} +5 -5
- package/dist/models-TXYNHCLD.js +3 -0
- package/dist/{notifications-CSXLCFK2.js → notifications-5CD6KFTP.js} +3 -3
- package/dist/{profile-4GVYKBJP.js → profile-OMP7YDYA.js} +1 -1
- package/dist/{recordings-GJIO55FV.js → recordings-MLYXHDWH.js} +3 -3
- package/dist/{schedules-7CGTNN5S.js → schedules-GIAYSDUE.js} +9 -9
- package/dist/{skills-OOY3DP3O.js → skills-IK7KZZ45.js} +3 -3
- package/dist/status-OKGY6H3C.js +2 -0
- package/dist/task-XXJ5PAJF.js +179 -0
- package/dist/{tasks-SJWOHL6F.js → tasks-2TMKPOTB.js} +9 -9
- package/dist/tool-HMD5ROEP.js +35 -0
- package/dist/{update-B3LT5ALF.js → update-DM47OUD3.js} +2 -2
- package/dist/{usage-IQW77ZHI.js → usage-TLLEU4K7.js} +5 -5
- package/dist/version-USTE3KNX.js +2 -0
- package/dist/workflow-PRS2UCQT.js +62 -0
- package/dist/{workspaces-KDZIJPII.js → workspaces-HML7DEAL.js} +3 -3
- package/package.json +9 -7
- package/dist/agents-HRFKKSCB.js +0 -43
- package/dist/chunk-GN6HSCLY.js +0 -4
- package/dist/chunk-LHRI5YM6.js +0 -2
- package/dist/chunk-NOSHH4TO.js +0 -8
- package/dist/chunk-YAWZE3PA.js +0 -91
- package/dist/chunk-ZIAOI7B2.js +0 -2
- package/dist/config-53QOLH2T.js +0 -4
- package/dist/help-FBKSAMA7.js +0 -4
- package/dist/login-BKSNJT4R.js +0 -2
- package/dist/logout-U64RQTQO.js +0 -2
- package/dist/mcp-EON5KZPT.js +0 -4
- package/dist/models-E3O6GOH5.js +0 -3
- package/dist/status-KK6P75DT.js +0 -2
- package/dist/task-ET6X7N52.js +0 -211
- package/dist/token-5JSZTSX7.js +0 -2
- package/dist/token-util-U6DGFQDY.js +0 -2
- package/dist/tool-TW7BI2LH.js +0 -35
- package/dist/version-TG5WFL3B.js +0 -2
- package/dist/workflow-J6RX65V7.js +0 -62
package/dist/chunk-ZIAOI7B2.js
DELETED
|
@@ -1,2 +0,0 @@
|
|
|
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=(a=>typeof require<"u"?require:typeof Proxy<"u"?new Proxy(a,{get:(b,c)=>(typeof require<"u"?require:b)[c]}):a)(function(a){if(typeof require<"u")return require.apply(this,arguments);throw Error('Dynamic require of "'+a+'" is not supported')});var n=(a,b)=>()=>{try{return b||a((b={exports:{}}).exports,b),b.exports}catch(c){throw b=0,c}},o=(a,b)=>{for(var c in b)e(a,c,{get:b[c],enumerable:!0})},l=(a,b,c,f)=>{if(b&&typeof b=="object"||typeof b=="function")for(let d of i(b))!k.call(a,d)&&d!==c&&e(a,d,{get:()=>b[d],enumerable:!(f=h(b,d))||f.enumerable});return a};var p=(a,b,c)=>(c=a!=null?g(j(a)):{},l(b||!a||!a.__esModule?e(c,"default",{value:a,enumerable:!0}):c,a));export{m as a,n as b,o as c,p as d};
|
package/dist/config-53QOLH2T.js
DELETED
|
@@ -1,4 +0,0 @@
|
|
|
1
|
-
#!/usr/bin/env node
|
|
2
|
-
import{a,b as t}from"./chunk-GN6HSCLY.js";import"./chunk-ZIAOI7B2.js";var n=["apiUrl","hubUrl"];function c(e){return n.includes(e)}function p(e){try{let{pathname:r}=new URL(e);return r.replace(/\/+$/u,"").endsWith("/api")}catch{return!1}}async function d(e){let r=e.action||"list",o=e.configKey,s=e.value,l=a.getEffectiveProfileName();if(r==="list"){let i=t.getAll(),f=Object.entries(i);if(e.json){console.log(JSON.stringify(i));return}if(console.log(`Profile: ${l}`),f.length===0){console.log("No configuration set."),console.log(`Available keys: ${n.join(", ")}`);return}console.log(`Configuration:
|
|
3
|
-
`);for(let[u,g]of f)console.log(` ${u}=${g}`);console.log(`
|
|
4
|
-
Available keys: ${n.join(", ")}`);return}if(r==="get"){o||(console.error("Error: key is required for get action"),process.exit(1)),c(o)||(console.error(`Error: Invalid key '${o}'. Valid keys: ${n.join(", ")}`),process.exit(1));let i=t.get(o);e.json?console.log(JSON.stringify({[o]:i??null})):console.log(i||"Not set");return}if(r==="set"){o||(console.error("Error: key is required for set action"),process.exit(1)),c(o)||(console.error(`Error: Invalid key '${o}'. Valid keys: ${n.join(", ")}`),process.exit(1)),s||(console.error("Error: value is required for set action"),process.exit(1)),t.set(o,s),console.log(`Set ${o}=${s}`),console.error(`(profile: ${l})`),o==="apiUrl"&&p(s)&&console.error(`Warning: ${s} looks like a web app's "/api" browser proxy path. Such proxies usually strip the Authorization header, so CLI requests will fail with 401 missing_token \u2014 prefer the API server's own URL unless you know this proxy forwards Authorization.`);return}if(r==="unset"){o||(console.error("Error: key is required for unset action"),process.exit(1)),c(o)||(console.error(`Error: Invalid key '${o}'. Valid keys: ${n.join(", ")}`),process.exit(1)),t.unset(o),console.log(`Unset ${o}`),console.error(`(profile: ${l})`);return}console.error(`Unknown action: ${r}`),process.exit(1)}export{d as runConfig};
|
package/dist/help-FBKSAMA7.js
DELETED
|
@@ -1,4 +0,0 @@
|
|
|
1
|
-
#!/usr/bin/env node
|
|
2
|
-
import"./chunk-ZIAOI7B2.js";var r=[{name:"task",category:"Chat & Tasks",summary:"Send a message or run an interactive task",example:'entrydesk task -m "..." --model <model>'},{name:"tasks",category:"Chat & Tasks",summary:"List, search, or view tasks"},{name:"tool",category:"Chat & Tasks",summary:"List, get, or call MCP tools"},{name:"agents",category:"Build",summary:"List, show, create, publish, and share agents"},{name:"skills",category:"Build",summary:"List, upload, version, toggle, and share skills"},{name:"workflow",category:"Build",summary:"Create, run, and manage workflows"},{name:"meeting",category:"Build",summary:"Meetings, recordings, summaries, transcripts, sharing"},{name:"recordings",category:"Build",summary:"List, import, retry, and manage recordings"},{name:"schedules",category:"Build",summary:"Create and manage scheduled tasks"},{name:"notifications",category:"Build",summary:"List, count, or mark notifications read"},{name:"marketplace",category:"Build",summary:"Browse and install marketplace agents and skills"},{name:"workspaces",category:"Workspace",summary:"List or switch workspaces"},{name:"models",category:"Workspace",summary:"List available models"},{name:"connectors",category:"Workspace",summary:"List connectors and connect/disconnect them"},{name:"usage",category:"Workspace",summary:"Usage: balance, per-user breakdown, CSV export"},{name:"billing",category:"Workspace",summary:"Billing status and invoices"},{name:"budget",category:"Workspace",summary:"View or manage the workspace budget"},{name:"login",category:"Setup",summary:"Authenticate with EntryDesk"},{name:"logout",category:"Setup",summary:"Sign out and clear credentials"},{name:"status",category:"Setup",summary:"Show authentication status"},{name:"profile",category:"Setup",summary:"Manage profiles"},{name:"config",category:"Setup",summary:"Manage CLI configuration"},{name:"mcp-server",category:"Setup",summary:"Start the MCP server (stdio or HTTP)"},{name:"version",category:"Setup",summary:"Show the version number"},{name:"update",category:"Setup",summary:"Update the CLI to the latest version (--check to only check)"},{name:"help",category:"Setup",summary:"Show this help"}],m=new Set(["agents","billing","budget","config","connectors","marketplace","meeting","notifications","profile","recordings","schedules","skills","task","tasks","tool","usage","workflow","workspaces"]);function n(){let a=["","EntryDesk CLI \u2014 interact with EntryDesk from your terminal","","Usage: entrydesk <command> [options]","Run `entrydesk <command> --help` for a command's options.",""],t=[];for(let e of r)t.includes(e.category)||t.push(e.category);for(let e of t){a.push(`${e}:`);for(let s of r.filter(o=>o.category===e)){let o=` ${s.name.padEnd(14)} ${s.summary}`;a.push(s.example?`${o} \xB7 e.g. ${s.example}`:o)}a.push("")}return a.push("Global Options:"," --json Output JSON for scripting (most commands support it)"," --profile <p> Use a specific profile for this command"," -h, --help Show help (top-level, or for a specific command)","","Examples:",' entrydesk task -m "Summarize my open tasks" --model <model>',' entrydesk meeting transcript <recordingId> | entrydesk task -m "List action items"'," entrydesk agents --mine --json","","Docs: https://entrydesk.com/docs/cli"),a.join(`
|
|
3
|
-
`)}function i(){console.log(n())}function c(a){let t=r.find(s=>s.name===a),e=[""];t?e.push(`entrydesk ${t.name} \u2014 ${t.summary}`):e.push(`entrydesk ${a}`),e.push("",`Usage: entrydesk ${a} [options]`,"","Global Options:"," --json Output JSON for scripting (where supported)"," --profile <p> Use a specific profile for this command"," -h, --help Show this help","","Run `entrydesk --help` for the full command list."),console.log(e.join(`
|
|
4
|
-
`))}export{r as COMMANDS,m as COMMANDS_WITH_OWN_HELP,n as buildHelpText,c as printCommandHelp,i as printHelp};
|
package/dist/login-BKSNJT4R.js
DELETED
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
#!/usr/bin/env node
|
|
2
|
-
import{d as i,e as t,f as l,g as c,h as a,i as g,k as f,o as d}from"./chunk-GN6HSCLY.js";import"./chunk-ZIAOI7B2.js";async function E(o){let r=a();if(r){o.json?console.log(JSON.stringify({alreadyAuthenticated:!0,authSource:"sandbox-env",workspaceId:r.workspaceId})):(console.log(`Already authenticated via ${f}.`),console.log("No login required \u2014 environment credentials are active."));return}g()&&console.error("Warning: ENTRYDESK_TOKEN is set \u2014 workspace commands will keep using it instead of the credentials saved by this login. Unset ENTRYDESK_TOKEN if you want this login to take effect."),process.env.DEBUG&&(console.log(`[DEBUG] Hub URL: ${t()}`),console.log(`[DEBUG] API URL: ${i()}`));let e=await d({onDeviceCodeReceived:(s,u)=>{o.json||(console.log(""),console.log("To authenticate, please:"),console.log(""),console.log(` 1. Visit: ${u}`),console.log(` 2. Enter code: ${s}`),console.log(""))},onBrowserOpening:()=>{o.json||console.log("Opening browser...")},onWaitingForAuthorization:()=>{o.json||console.log("Waiting for authorization...")},onAuthorized:()=>{o.json||console.log("Authorization successful!")},onWarning:s=>{console.error(`Warning: ${s}`)}}),p=new c,{workspaces:m}=await p.getWorkspaces(e.accessToken),n=m[0];await l.saveAll({accessToken:e.accessToken,refreshToken:e.refreshToken,email:e.email,workspaceId:n?.id}),o.json?console.log(JSON.stringify({email:e.email,workspaceId:n?.id,workspaceName:n?.name,server:i()})):(console.log(`Logged in as ${e.email}`),n&&console.log(`Workspace: ${n.name}`),console.log(`Server: ${i()}`))}export{E as runLogin};
|
package/dist/logout-U64RQTQO.js
DELETED
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
#!/usr/bin/env node
|
|
2
|
-
import{f as r,g as e,n as t,v as n}from"./chunk-GN6HSCLY.js";import"./chunk-ZIAOI7B2.js";async function f(i){try{let o=await r.getAll();if(!o){console.log("Not logged in");return}try{o.refreshToken&&await new e().revokeOAuthToken({token:o.refreshToken,clientId:t})}catch{}await r.clear(),console.log("Logged out successfully")}catch(o){n(o)}}export{f as runLogout};
|
package/dist/mcp-EON5KZPT.js
DELETED
|
@@ -1,4 +0,0 @@
|
|
|
1
|
-
#!/usr/bin/env node
|
|
2
|
-
import{c as m,f as u,q as y,r as f,t as w}from"./chunk-GN6HSCLY.js";import"./chunk-ZIAOI7B2.js";import h from"http";import{stderr as T}from"process";import{Client as k}from"@modelcontextprotocol/sdk/client/index.js";import{StreamableHTTPClientTransport as v}from"@modelcontextprotocol/sdk/client/streamableHttp.js";import{Server as C}from"@modelcontextprotocol/sdk/server/index.js";import{StdioServerTransport as P}from"@modelcontextprotocol/sdk/server/stdio.js";import{StreamableHTTPServerTransport as A}from"@modelcontextprotocol/sdk/server/streamableHttp.js";import{CallToolRequestSchema as O,ListToolsRequestSchema as E}from"@modelcontextprotocol/sdk/types.js";function a(c){T.write(`${c}
|
|
3
|
-
`)}async function g(c,e,o){let r=new k({name:"entrydesk-cli-proxy",version:"1.0.0"}),i=new URL(`${c}/v1/workspaces/${o}/mcp`),t=new v(i,{requestInit:{headers:{Authorization:`Bearer ${e}`}}});return await r.connect(t),r}function S(c){let e=new C({name:"entrydesk-cli",version:"1.0.0"},{capabilities:{tools:{}}});return e.setRequestHandler(E,async()=>({tools:(await(await c()).listTools()).tools})),e.setRequestHandler(O,async o=>{let{name:r,arguments:i}=o.params,n=await(await c()).callTool({name:r,arguments:i}),l=Array.isArray(n.content)?[...n.content]:[];return n.structuredContent&&l.push({type:"text",text:JSON.stringify(n.structuredContent,null,2)}),{content:l,structuredContent:n.structuredContent,isError:n.isError}}),e}async function H(c,e,o){let r=h.createServer(async(i,t)=>{if(i.method==="OPTIONS"){t.setHeader("Access-Control-Allow-Origin","*"),t.setHeader("Access-Control-Allow-Methods","GET, POST, DELETE, OPTIONS"),t.setHeader("Access-Control-Allow-Headers","Content-Type, Accept"),t.writeHead(204),t.end();return}if(i.url!=="/mcp"){t.writeHead(404,{"Content-Type":"application/json"}),t.end(JSON.stringify({error:"Not found"}));return}let n=S(c),l=new A({sessionIdGenerator:void 0});if(t.setHeader("Access-Control-Allow-Origin","*"),t.on("close",()=>{l.close(),n.close()}),await n.connect(l),i.method==="POST"){let p="";i.on("data",s=>{p+=s.toString()}),i.on("end",async()=>{try{let s=JSON.parse(p);await l.handleRequest(i,t,s)}catch{t.writeHead(400,{"Content-Type":"application/json"}),t.end(JSON.stringify({error:"Invalid JSON"}))}})}else await l.handleRequest(i,t)});r.listen(o,()=>{a(`EntryDesk MCP server running at http://localhost:${o}/mcp`),a("Press Ctrl+C to stop")}),process.on("SIGINT",async()=>{a(`
|
|
4
|
-
Shutting down...`),r.close(),await e(),process.exit(0)}),process.on("SIGTERM",async()=>{r.close(),await e(),process.exit(0)})}async function x(c,e){let o=S(c),r=new P;r.onclose=async()=>{await e()},await o.connect(r)}var I={mode:"stdio"};async function B(c=I){process.on("unhandledRejection",e=>{console.error("[entrydesk-mcp] Unhandled rejection:",e)}),process.on("uncaughtException",e=>{console.error("[entrydesk-mcp] Uncaught exception:",e)});try{a("[entrydesk-mcp] Starting MCP server...");let e,o;try{let s=await w();e=s.accessToken,o=s.workspaceId}catch(s){let d=s instanceof Error?s.message:"Authentication failed";console.error(d),process.exit(1)}let{apiUrl:r,mcp:i}=m();a(`[entrydesk-mcp] Connecting to ${r}...`),a(`[entrydesk-mcp] Workspace: ${o}`);let t=await g(r,e,o);a("[entrydesk-mcp] Connected to EntryDesk API");let n=null,l=async()=>y(e)?n||(n=(async()=>{a("[entrydesk-mcp] Token expiring soon, refreshing...");let s=await u.getAll();if(!s?.accessToken)throw new Error("Not logged in. Please run `entrydesk login` again.");let d=await f(s);if(d!==e){e=d;try{await t.close()}catch{}t=await g(r,e,o),a("[entrydesk-mcp] Token refreshed, reconnected")}return t})().finally(()=>{n=null}),n):t,p=async()=>{try{await t.close()}catch{}};if(c.mode==="http"){let s=c.port??i.httpPort;await H(l,p,s)}else a("[entrydesk-mcp] Starting stdio server..."),await x(l,p),a("[entrydesk-mcp] Stdio server started")}catch(e){console.error("[entrydesk-mcp] Fatal error:",e),process.exit(1)}}export{B as startMcpServer};
|
package/dist/models-E3O6GOH5.js
DELETED
|
@@ -1,3 +0,0 @@
|
|
|
1
|
-
#!/usr/bin/env node
|
|
2
|
-
import{g as n,t,v as l}from"./chunk-GN6HSCLY.js";import"./chunk-ZIAOI7B2.js";async function p(c){try{let e,r;try{let o=await t();e=o.accessToken,r=o.workspaceId}catch(o){let a=o instanceof Error?o.message:"Authentication failed";console.error(a),process.exit(1)}let i=new n,{models:s}=await i.listSelectableModels(e,r);if(c.json){console.log(JSON.stringify(s));return}if(s.length===0){console.log("No models available in this workspace.");return}console.log(`Available Models (${s.length}):
|
|
3
|
-
`);for(let o of s)console.log(` ${o.name}`),o.description&&console.log(` ${o.description.slice(0,80)}`),console.log(` ID: ${o.id}`),console.log("")}catch(e){l(e)}}export{p as runModels};
|
package/dist/status-KK6P75DT.js
DELETED
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
#!/usr/bin/env node
|
|
2
|
-
import{a,b as i,d as g,f,g as p,l as d,p as u,s as m,v as k}from"./chunk-GN6HSCLY.js";import"./chunk-ZIAOI7B2.js";async function C(t){try{let o=a.getEffectiveProfileName(),e=g(),n={model:i.getDefaultModel(),connectors:i.getDefaultConnectorIds()},l=d();if(l){t.json?console.log(JSON.stringify({loggedIn:!0,authSource:l.authSource,profile:o,server:e,workspaceId:l.workspaceId,defaults:n})):(console.log(`Profile: ${o}`),console.log(`Server: ${e}`),console.log(`Authenticated via ${l.label} (no login required)`),console.log(`Workspace ID: ${l.workspaceId}`));return}let r=await f.getAll();if(!r){t.json?console.log(JSON.stringify({loggedIn:!1,profile:o,server:e,defaults:n})):(console.log(`Profile: ${o}`),console.log(`Server: ${e}`),console.log("Not logged in"),console.log("Run `entrydesk login` to authenticate"));return}let s;if(r.workspaceId)try{let c=new p,I=await m(),{workspaces:w}=await c.getWorkspaces(I);s=w.find(S=>S.id===r.workspaceId)?.name}catch(c){if(c instanceof u){t.json?console.log(JSON.stringify({loggedIn:!1,profile:o,server:e,defaults:n})):(console.log(`Profile: ${o}`),console.log(`Server: ${e}`),console.log("Not logged in"),console.log("Run `entrydesk login` to authenticate"));return}}t.json?console.log(JSON.stringify({loggedIn:!0,authSource:"file",profile:o,server:e,email:r.email,workspaceId:r.workspaceId,workspaceName:s,defaults:n})):(console.log(`Profile: ${o}`),console.log(`Server: ${e}`),console.log(`Logged in as ${r.email}`),s&&console.log(`Workspace: ${s}`),r.workspaceId&&console.log(`Workspace ID: ${r.workspaceId}`))}catch(o){k(o)}}export{C as runStatus};
|