@entrydesk/cli 2.1.0-beta.2 → 2.1.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 +84 -12
- package/dist/{add-DXYghmJz.js → add-D4yZrlJH.js} +9 -1
- package/dist/{agents-Drg2ZD85.js → agents-3dOJzTmM.js} +9 -1
- package/dist/{billing-Bkk1BhAw.js → billing-Cyk-IzGv.js} +9 -1
- package/dist/{budget-dazpYOON.js → budget-znTQ0rkG.js} +9 -1
- package/dist/build-task-request-config-C62XneUL.js +10 -0
- package/dist/commands--5Ein-MI.js +10 -0
- package/dist/commands-D5BrzwFc.js +10 -0
- package/dist/{config-CSJx1Xlt.js → config-D-9dIy19.js} +9 -1
- package/dist/confirm-Ct432t3K.js +10 -0
- package/dist/connectors-B7smri5B.js +11 -0
- package/dist/{file-upload-BmP4AJY0.js → file-upload-D2s_clGk.js} +8 -0
- package/dist/{format-C3tQC6LL.js → format-DCvznP70.js} +8 -0
- package/dist/{hash-Ddmw8YE4.js → hash-CnSb1n2t.js} +8 -0
- package/dist/index.js +51 -16
- package/dist/{installer-iaoPJQn3.js → installer-CKB3jBE-.js} +8 -0
- package/dist/instruction-BzftVNfK.js +10 -0
- package/dist/isRecord-BNZWvqVS.js +10 -0
- package/dist/{login-ACaFCfsh.js → login-Ch3S9nh6.js} +9 -1
- package/dist/logout-BFFnjWjY.js +10 -0
- package/dist/{marketplace-S_4fkbWt.js → marketplace-DNm78dKX.js} +9 -1
- package/dist/mcp-D2zejorr.js +11 -0
- package/dist/mcp-client-ltOwvE7T.js +10 -0
- package/dist/{meeting-BG76tnT9.js → meeting-BdLr54zK.js} +9 -1
- package/dist/message-utils-DiNLK_84.js +15 -0
- package/dist/{models-CkepW_-c.js → models-6WioEQKB.js} +9 -1
- package/dist/{notifications-BAMcYXhl.js → notifications-DIokyl4e.js} +9 -1
- package/dist/options-Dpxg1wT1.js +10 -0
- package/dist/paginate-C9ixtica.js +10 -0
- package/dist/paths-CZAS8cbS.js +10 -0
- package/dist/{profile-BzXbLYDw.js → profile-CWsA2P_O.js} +9 -1
- package/dist/profile-storage-CuiJZpFD.js +68 -0
- package/dist/{project-B9uLW5nn.js → project-c8F30d-Q.js} +9 -1
- package/dist/project-context-C0ozCzKH.js +10 -0
- package/dist/{project-governance-CwVlxGE2.js → project-governance-DRDjqvX8.js} +9 -1
- package/dist/{project-sources-BzMkopCj.js → project-sources-DFn7Tn7u.js} +9 -1
- package/dist/project-sources-write-Bz0lGCid.js +10 -0
- package/dist/{project-tasks-CnXLm061.js → project-tasks-DnOrMxr3.js} +9 -1
- package/dist/{push-DWIgzvqe.js → push-mojEdys2.js} +9 -1
- package/dist/{recordings-_HnTtukO.js → recordings-BbeRVH0H.js} +9 -1
- package/dist/remote-D3JMUBbh.js +10 -0
- package/dist/remove-BLF3muSH.js +10 -0
- package/dist/resolve-BoqGhxVK.js +14 -0
- package/dist/resource-grants-CtIINiDN.js +10 -0
- package/dist/{rolldown-runtime-CIdiawuB.js → rolldown-runtime-CiM6yMNq.js} +8 -0
- package/dist/{schedules-DACWrdY_.js → schedules-ec4cS2A0.js} +10 -2
- package/dist/skills-C0xCUb-M.js +10 -0
- package/dist/status-Bfh5hjTq.js +10 -0
- package/dist/status-DpYhlJPA.js +10 -0
- package/dist/stdin-B18x8pUF.js +10 -0
- package/dist/task-DfLoMsmZ.js +108 -0
- package/dist/tasks-Bl8A2HW6.js +22 -0
- package/dist/tasks-CA2QZ8rX.js +10 -0
- package/dist/tool-B8CuZYYb.js +17 -0
- package/dist/{update-D09UponU.js → update-BVBj3leV.js} +9 -1
- package/dist/{usage-Dibnsgtg.js → usage-CIhTZm98.js} +9 -1
- package/dist/{usage-audit-Be431Kj1.js → usage-audit-BUcbqdAc.js} +11 -3
- package/dist/version-C1OwBsCd.js +10 -0
- package/dist/workflow-DJSq8hY5.js +14 -0
- package/dist/{workspaces-rVOwf5zp.js → workspaces-BM_3Miqs.js} +9 -1
- package/package.json +15 -10
- package/dist/build-task-request-config-BDlX-M_P.js +0 -2
- package/dist/commands-DUKXJUfr.js +0 -2
- package/dist/commands-FVFeS1MV.js +0 -2
- package/dist/confirm-BrJZbaxf.js +0 -2
- package/dist/connectors-CHcopt49.js +0 -3
- package/dist/instruction-BXKEUplM.js +0 -2
- package/dist/logout-BX4YsOqw.js +0 -2
- package/dist/mcp-DOUHU2_Z.js +0 -3
- package/dist/mcp-client-LcmqajIh.js +0 -2
- package/dist/options-CgmngSTC.js +0 -2
- package/dist/paginate-DUu8qbek.js +0 -2
- package/dist/paths-DQh1PdjS.js +0 -2
- package/dist/profile-storage-DlaupNlV.js +0 -60
- package/dist/project-context-VlX5GZxr.js +0 -2
- package/dist/project-sources-write-D3WzWqet.js +0 -2
- package/dist/remote-nEFOyIM2.js +0 -2
- package/dist/remove-Cpen9pWn.js +0 -2
- package/dist/resolve-7OXPmNrX.js +0 -6
- package/dist/resource-grants-D-ImlByb.js +0 -2
- package/dist/skills-BenhDHKq.js +0 -2
- package/dist/status-BKd81bGK.js +0 -2
- package/dist/status-ErhWpQxW.js +0 -2
- package/dist/stdin-DzzLUF6W.js +0 -2
- package/dist/task-CvQD8Y4d.js +0 -104
- package/dist/tasks-C4dAgHmR.js +0 -2
- package/dist/tasks-CnncSIan.js +0 -14
- package/dist/terminal-text-D04u1hg1.js +0 -2
- package/dist/tool-CpSoLUlR.js +0 -5
- package/dist/version-BTqAbDeB.js +0 -2
- package/dist/workflow-Dx41WM43.js +0 -6
|
@@ -1,3 +1,11 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
|
-
|
|
2
|
+
var __entrydeskNodeFloor = 24;
|
|
3
|
+
if (parseInt(process.versions.node, 10) < __entrydeskNodeFloor) {
|
|
4
|
+
process.stderr.write(
|
|
5
|
+
'entrydesk: Node.js ' + __entrydeskNodeFloor + ' or newer is required, but this is Node ' + process.versions.node + '.\n' +
|
|
6
|
+
'Upgrade Node (https://nodejs.org/en/download), then reinstall @entrydesk/cli.\n'
|
|
7
|
+
);
|
|
8
|
+
process.exit(1);
|
|
9
|
+
}
|
|
10
|
+
import{b as e,u as t}from"./profile-storage-CuiJZpFD.js";function n(e){return e===`saas`?{resolvesFrom:`model tiers`,note:`A task picks a tier (lite / pro / max) and the platform-default tier row decides the concrete model — but not always: a workspace with additional models enabled, or one on a subscription-pool model, can pin a concrete model id that resolves from its own rows and bypasses the tier mapping entirely.`}:{resolvesFrom:`this workspace's own rows`,note:`A task picks either a tier slug or a concrete model id. Tier rows are read per workspace and never fall back to the platform defaults, so changing a platform tier does not reach this workspace.`}}async function r(e){try{return await e()}catch(e){return{error:e instanceof Error?e.message:String(e)}}}function i(e){return` ${e.tier.padEnd(14)} → ${e.model?.id??`(no row)`}`}function a(e){if(`notExposed`in e){console.log(` Tier mappings: not exposed on SaaS — the public tier API strips the backing model id.`);return}if(`error`in e){console.log(` Tier mappings: unavailable (${e.error})`);return}if(e.tiers.length===0){console.log(` Tier mappings: none`);return}console.log(` Tier mappings (${e.tiers.length}):`);for(let t of e.tiers)console.log(i(t))}async function o(i){let{accessToken:o,workspaceId:s}=await t(),c=new e,{deploymentMode:l}=await c.getRuntimeConfig(),{resolvesFrom:u,note:d}=n(l),f=l===`saas`?Promise.resolve({notExposed:!0}):r(()=>c.getModelTierMappings(o,s)),[p,m]=await Promise.all([f,r(()=>c.getModels(o,s))]);if(i.json){console.log(JSON.stringify({deploymentMode:l,resolvesFrom:u,mappings:p,concrete:m}));return}console.log(`Model configuration
|
|
3
11
|
`),console.log(` Deployment mode: ${l}`),console.log(` Selection resolves from: ${u}`),console.log(` ${d}\n`),a(p),console.log(`error`in m?` Concrete models: unavailable (${m.error})`:` Concrete models available: ${m.models.length}`)}async function s(n){if(n.config){await o(n);return}let{accessToken:r,workspaceId:i}=await t(),{models:a}=await new e().listSelectableModels(r,i);if(n.json){console.log(JSON.stringify(a));return}if(a.length===0){console.log(`No models available in this workspace.`);return}console.log(`Available models (${a.length}):\n`);for(let e of a)console.log(` ${e.name}`),e.description&&console.log(` ${e.description.slice(0,80)}`),console.log(` ID: ${e.id}`),console.log(``)}export{s as runModels};
|
|
@@ -1,2 +1,10 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
|
-
|
|
2
|
+
var __entrydeskNodeFloor = 24;
|
|
3
|
+
if (parseInt(process.versions.node, 10) < __entrydeskNodeFloor) {
|
|
4
|
+
process.stderr.write(
|
|
5
|
+
'entrydesk: Node.js ' + __entrydeskNodeFloor + ' or newer is required, but this is Node ' + process.versions.node + '.\n' +
|
|
6
|
+
'Upgrade Node (https://nodejs.org/en/download), then reinstall @entrydesk/cli.\n'
|
|
7
|
+
);
|
|
8
|
+
process.exit(1);
|
|
9
|
+
}
|
|
10
|
+
import{b as e,u as t}from"./profile-storage-CuiJZpFD.js";import{n}from"./format-DCvznP70.js";import{t as r}from"./paginate-C9ixtica.js";function i(e,t){let n=e.replace(/\s+/g,` `).trim();return n.length>t?`${n.slice(0,t)}…`:n}function a(e){console.log(`Notifications (${e.length}):\n`);for(let t of e){let e=t.readAt?` `:`●`;console.log(` ${e} [${t.category}] ${t.rendered.title}`),t.rendered.body&&console.log(` ${i(t.rendered.body,100)}`);let r=n(t.createdAt);console.log(` ${r} · ${t.eventType} · ID: ${t.id}`),console.log(``)}}async function o(n){let{accessToken:i,workspaceId:o}=await t(),s=new e,c={tab:n.tab,eventType:n.eventType};if(n.all){let e=await r(async e=>{let t=await s.getNotifications(i,o,{...c,limit:n.limit??20,cursor:e});return{items:t.items,nextKey:t.nextKey}});if(n.json){console.log(JSON.stringify({items:e}));return}if(e.length===0){console.log(`No notifications.`);return}a(e);return}let{items:l,nextKey:u}=await s.getNotifications(i,o,{...c,limit:n.limit,cursor:n.nextKey});if(n.json){console.log(JSON.stringify({items:l,nextKey:u}));return}if(l.length===0){console.log(`No notifications.`);return}a(l),u&&console.log(`Next page: --next-key ${u}`)}async function s(n){let{accessToken:r,workspaceId:i}=await t(),{count:a,capped:o}=await new e().getNotificationUnreadCount(r,i);if(n.json){console.log(JSON.stringify({count:a,capped:o??!1}));return}console.log(`${o?`${a}+`:a} unread`)}async function c(n,r){let{accessToken:i,workspaceId:a}=await t();if(await new e().markNotificationRead(i,a,n),r.json){console.log(JSON.stringify({id:n,read:!0}));return}console.log(`Marked notification read: ${n}`)}async function l(n){let{accessToken:r,workspaceId:i}=await t();if(await new e().markAllNotificationsRead(r,i),n.json){console.log(JSON.stringify({readAll:!0}));return}console.log(`Marked all notifications read.`)}export{o as listNotifications,l as markAllNotificationsRead,c as markNotificationRead,s as showUnreadCount};
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
#!/usr/bin/env node
|
|
2
|
+
var __entrydeskNodeFloor = 24;
|
|
3
|
+
if (parseInt(process.versions.node, 10) < __entrydeskNodeFloor) {
|
|
4
|
+
process.stderr.write(
|
|
5
|
+
'entrydesk: Node.js ' + __entrydeskNodeFloor + ' or newer is required, but this is Node ' + process.versions.node + '.\n' +
|
|
6
|
+
'Upgrade Node (https://nodejs.org/en/download), then reinstall @entrydesk/cli.\n'
|
|
7
|
+
);
|
|
8
|
+
process.exit(1);
|
|
9
|
+
}
|
|
10
|
+
const e=[`mine`,`shared`,`all`],t=[`updated_at`,`start_time`],n=`createdAt`,r="the UUID `entrydesk tasks --json` prints",i=[`no-repeat`,`minutes`,`hours`,`days`,`weeks`,`months`],a=[`stream-json`],o=[`cost`,`operations`],s=[`user`,`agent`,`schedule`,`model`];export{a,o as c,i,t as n,r as o,n as r,s,e as t};
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
#!/usr/bin/env node
|
|
2
|
+
var __entrydeskNodeFloor = 24;
|
|
3
|
+
if (parseInt(process.versions.node, 10) < __entrydeskNodeFloor) {
|
|
4
|
+
process.stderr.write(
|
|
5
|
+
'entrydesk: Node.js ' + __entrydeskNodeFloor + ' or newer is required, but this is Node ' + process.versions.node + '.\n' +
|
|
6
|
+
'Upgrade Node (https://nodejs.org/en/download), then reinstall @entrydesk/cli.\n'
|
|
7
|
+
);
|
|
8
|
+
process.exit(1);
|
|
9
|
+
}
|
|
10
|
+
import{r as e}from"./profile-storage-CuiJZpFD.js";async function t(t){let n=[],r;for(let i=0;;i++){if(i>=100)throw new e(`Reached maximum page limit (100). Use --limit and --next-key for manual pagination.`);let a=await t(r);if(n.push(...a.items),r=a.nextKey,!r)return n}}export{t};
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
#!/usr/bin/env node
|
|
2
|
+
var __entrydeskNodeFloor = 24;
|
|
3
|
+
if (parseInt(process.versions.node, 10) < __entrydeskNodeFloor) {
|
|
4
|
+
process.stderr.write(
|
|
5
|
+
'entrydesk: Node.js ' + __entrydeskNodeFloor + ' or newer is required, but this is Node ' + process.versions.node + '.\n' +
|
|
6
|
+
'Upgrade Node (https://nodejs.org/en/download), then reinstall @entrydesk/cli.\n'
|
|
7
|
+
);
|
|
8
|
+
process.exit(1);
|
|
9
|
+
}
|
|
10
|
+
import{M as e}from"./profile-storage-CuiJZpFD.js";import t from"node:fs";import n from"node:os";import r from"node:path";import{windowsReservedNameRegex as i}from"filename-reserved-regex";const a=`.entrydesk`;function o(){return{version:1,skills:{}}}function s(e){return r.join(e,a,`skills-lock.json`)}function c(e){try{let n=JSON.parse(t.readFileSync(s(e),`utf8`));return n.version!==1||typeof n.skills!=`object`||n.skills===null?o():n}catch{return o()}}function l(e,n){let i={};for(let e of Object.keys(n.skills).toSorted())i[e]=n.skills[e];let a={version:1,...n.workspaceId?{workspaceId:n.workspaceId}:{},skills:i},o=s(e);t.mkdirSync(r.dirname(o),{recursive:!0}),t.writeFileSync(o,`${JSON.stringify(a,null,2)}\n`,`utf8`)}function u(e,t){return c(e).skills[t]}function d(e,t,n){let r=c(e);r.skills[t]=n,l(e,r)}function f(e,t){let n=c(e);if(!(t in n.skills))return!1;let{[t]:r,...i}=n.skills;return l(e,{...n,skills:i}),!0}function p(e){try{let n=JSON.parse(t.readFileSync(e,`utf8`));return typeof n.workspaceId!=`string`||n.workspaceId===``?void 0:n}catch{return}}function m(e,n){t.mkdirSync(r.dirname(e),{recursive:!0}),t.writeFileSync(e,`${JSON.stringify(n,null,2)}\n`,`utf8`)}function h(e){return t.existsSync(e)?(t.rmSync(e),!0):!1}function g(e){return r.join(e,a,`project.json`)}function _(){return r.join(n.homedir(),a,`global-link.json`)}function v(){return p(_())}function y(e){m(_(),e)}function b(){return h(_())}function x(e=process.cwd()){let n=r.resolve(e);for(;;){if(t.existsSync(g(n)))return n;let e=r.dirname(n);if(e===n)return;n=e}}function S(e){return p(g(e))}function C(e,t){m(g(e),t)}function w(e){return h(g(e))}function T(e=process.cwd()){let t=x(e);if(!t)return;let n=S(t);return n?{rootDir:t,link:n}:void 0}async function E(t){let n=await e();if(t&&n&&t!==n)throw Error(`This directory is linked to a workspace on ${t}, but the active profile points at ${n}. Re-run 'entrydesk skills link' or switch profile.`)}function D(){process.env.ENTRYDESK_API_URL&&console.error(`Note: the recorded apiUrl comes from the ENTRYDESK_API_URL environment variable. This link pins the directory to that API — if the override was temporary, re-run the link without it.`)}async function O(e,t){if(e){let e=n.homedir(),r=v();return r?(await E(r.apiUrl),{rootDir:e,workspaceId:r.workspaceId,linked:!0}):{rootDir:e,workspaceId:t,linked:!1}}let r=T(process.cwd());return r?(await E(r.link.apiUrl),{rootDir:r.rootDir,workspaceId:r.link.workspaceId,linked:!0}):{rootDir:process.cwd(),workspaceId:t,linked:!1}}const k=/^[a-z0-9]+(?:-[a-z0-9]+)*$/u;function A(e){if(!k.test(e))throw Error(`Invalid skill name "${e}": must be lowercase letters, digits and single hyphens (e.g. "my-skill").`)}function j(e,t){A(t);let n=r.resolve(e,`.entrydesk`,`skills`),i=r.resolve(n,t);if(i!==r.join(n,t)||!i.startsWith(n+r.sep))throw Error(`Refusing unsafe skill path for "${t}".`);return i}function M(e,t){let n=j(e,t);if(i().test(t))throw Error(`Invalid skill name "${t}": reserved as a device name on Windows.`);return n}function N(e,t){return process.platform!==`win32`&&u(e,t)!==void 0?j(e,t):M(e,t)}export{D as a,g as c,y as d,C as f,d as g,f as h,O as i,b as l,c as m,j as n,x as o,u as p,N as r,_ as s,A as t,w as u};
|
|
@@ -1,2 +1,10 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
|
-
|
|
2
|
+
var __entrydeskNodeFloor = 24;
|
|
3
|
+
if (parseInt(process.versions.node, 10) < __entrydeskNodeFloor) {
|
|
4
|
+
process.stderr.write(
|
|
5
|
+
'entrydesk: Node.js ' + __entrydeskNodeFloor + ' or newer is required, but this is Node ' + process.versions.node + '.\n' +
|
|
6
|
+
'Upgrade Node (https://nodejs.org/en/download), then reinstall @entrydesk/cli.\n'
|
|
7
|
+
);
|
|
8
|
+
process.exit(1);
|
|
9
|
+
}
|
|
10
|
+
import{F as e,S as t,r as n,t as r}from"./profile-storage-CuiJZpFD.js";function i(e,t){let i=e??t.profile;if(i)return i;if(r.getProfileCount()===1)return r.getProfileNames()[0];throw new n(`Profile name is required when multiple profiles exist.`)}function a(e){let t=r.getCurrentProfileName(),n=r.getProfileNames();if(e.json){console.log(JSON.stringify({currentProfile:t,profiles:n.map(e=>({name:e,isCurrent:e===t}))}));return}console.log(`Profiles (${n.length}):`);for(let e of n)console.log(` ${e}${e===t?` (current)`:``}`)}function o(e){let t=r.getCurrentProfileName();if(e.json){console.log(JSON.stringify({name:t,isCurrent:!0}));return}console.log(`Current profile: ${t}`)}async function s(n,a){let o=i(n,a),s=e.getAll(o),c=await t.getAll(o),l=!!c?.accessToken,u=o===r.getCurrentProfileName();if(a.json){console.log(JSON.stringify({name:o,isCurrent:u,config:s,auth:l?{loggedIn:!0,email:c?.email??null,workspaceId:c?.workspaceId??null}:{loggedIn:!1}}));return}console.log(`Profile: ${o}${u?` (current)`:``}`),console.log(` API URL: ${s.apiUrl??`default`}`),console.log(` Hub URL: ${s.hubUrl??`default`}`),console.log(` Model: ${s.model?.default??`unset`}`);let d=s.connectors?.defaults&&s.connectors.defaults.length>0?s.connectors.defaults.join(`, `):`unset`;console.log(` Connectors: ${d}`),console.log(l?` Logged in as: ${c?.email??`unknown`}`:` Not logged in`),l&&c?.workspaceId&&console.log(` Workspace ID: ${c.workspaceId}`)}function c(e,t){let n=e??t.profile??r.DEFAULT_PROFILE;if(r.createProfile(n),t.json){console.log(JSON.stringify({name:n,created:!0}));return}console.log(`Profile created: ${n}`)}function l(e,t){let n=i(e,t);if(r.setCurrentProfile(n),t.json){console.log(JSON.stringify({name:n,current:!0}));return}console.log(`Switched to profile: ${n}`)}async function u(e,n){let a=i(e,n),o=r.deleteProfile(a);if(await t.deleteProfileCredentials(a),n.json){console.log(JSON.stringify({deleted:a,currentProfile:o.currentProfile}));return}console.log(`Profile deleted: ${a}`),console.log(`Current profile: ${o.currentProfile}`)}async function d(e,n,i){let a=r.renameProfile(e,n);if(await t.moveProfileCredentials(e,n),i.json){console.log(JSON.stringify({renamed:e,name:n,currentProfile:a.currentProfile}));return}console.log(`Profile renamed: ${e} -> ${n}`),console.log(`Current profile: ${a.currentProfile}`)}async function f(n,i,a){let o=e.getAll(n);if(r.createProfile(i),e.setAll(o,i),await t.clear(i),a.json){console.log(JSON.stringify({source:n,name:i,cloned:!0}));return}console.log(`Profile cloned: ${n} -> ${i}`)}export{f as cloneProfile,c as createProfile,u as deleteProfile,a as listProfiles,d as renameProfile,o as showCurrentProfile,s as showProfile,l as useProfile};
|