@superglue/cli 1.1.50 → 1.1.51
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/.claude-plugin/plugin.json +1 -1
- package/dist/cli.js +2 -2
- package/package.json +1 -1
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "superglue",
|
|
3
3
|
"description": "Build, test, and manage superglue tools via the sg CLI. Use when working with superglue tools, systems, APIs, SDKs, or the sg command.",
|
|
4
|
-
"version": "1.1.
|
|
4
|
+
"version": "1.1.51",
|
|
5
5
|
"author": {
|
|
6
6
|
"name": "superglue",
|
|
7
7
|
"email": "hello@superglue.cloud"
|
package/dist/cli.js
CHANGED
|
@@ -365,7 +365,7 @@ ${e.map(t=>`- ${t.path}: ${t.message}`).join(`
|
|
|
365
365
|
`).map(a=>`${e}${a}`)].join(`
|
|
366
366
|
`)}function ui(o,e){return o.includes(`
|
|
367
367
|
`)?rY(o,e):JSON.stringify(o)}function nY(o){let e=["---"];if(e.push(`name: ${ui(o.id," ")}`),e.push(`title: ${ui(o.name," ")}`),e.push(`when_to_run: ${ui(o.whenToRun," ")}`),o.systemRefs.length>0){e.push("systems:");for(let a of o.systemRefs)e.push(` - id: ${ui(a.id," ")}`)}if(o.toolRefs.length>0){e.push("tools:");for(let a of o.toolRefs)e.push(` - id: ${ui(a.id," ")}`)}if(o.credentialRefs.length>0){e.push("credentials:");for(let a of o.credentialRefs)e.push(` - id: ${ui(a.id," ")}`)}if(o.fileRefs.length>0){e.push("files:");for(let a of o.fileRefs)e.push(` - ${ui(a.name," ")}`)}e.push(`completion_criteria: ${ui(o.completionCriteria," ")}`),e.push("---"),e.push(""),o.inputs.trim()&&(e.push("## Required inputs"),e.push(""),e.push(o.inputs.trim()),e.push("")),e.push("## Instructions"),e.push(""),e.push(o.instructions.trim()),e.push("");let t=e.join(`
|
|
368
|
-
`);if(t.length>o2.PLAYBOOK_LIMITS.compiledRender)throw new Error(`Compiled playbook render for '${o.id}' exceeds ${o2.PLAYBOOK_LIMITS.compiledRender} chars (${t.length})`);return t}});var Zf=y(St=>{"use strict";Object.defineProperty(St,"__esModule",{value:!0});St.RESOURCE_KINDS=St.RESOURCE_DEFINITIONS=void 0;St.isResourceKind=cY;St.getResourceDefinition=mY;St.RESOURCE_DEFINITIONS={tool:{label:"Tool",pluralLabel:"Tools",collectionKey:"tools",memberDefaultPermission:"editor",pickerDefaultPermission:"editor"},system:{label:"System",pluralLabel:"Systems",collectionKey:"systems",memberDefaultPermission:"editor",pickerDefaultPermission:"editor"},credential:{label:"Credential",pluralLabel:"Credentials",collectionKey:"credentials",memberDefaultPermission:"editor",pickerDefaultPermission:"viewer"},playbook:{label:"Playbook",pluralLabel:"Playbooks",collectionKey:"playbooks",memberDefaultPermission:"editor",pickerDefaultPermission:"editor"},artifact:{label:"Artifact",pluralLabel:"Artifacts",collectionKey:"artifacts",memberDefaultPermission:"editor",pickerDefaultPermission:"editor"},file:{label:"File",pluralLabel:"Files",collectionKey:"files",pickerDefaultPermission:"viewer"},project:{label:"Project",pluralLabel:"Projects",collectionKey:"projects",pickerDefaultPermission:"viewer"}};St.RESOURCE_KINDS=Object.keys(St.RESOURCE_DEFINITIONS);function cY(o){return typeof o=="string"&&Object.prototype.hasOwnProperty.call(St.RESOURCE_DEFINITIONS,o)}function mY(o){return St.RESOURCE_DEFINITIONS[o]}});var p2=y(_=>{"use strict";Object.defineProperty(_,"__esModule",{value:!0});_.RESERVED_ROLE_NAMES=_.RESERVED_ROLE_IDS=_.PREDEFINED_ROLE_IDS=void 0;_.toResourceRef=Mc;_.toWildcardResourceRef=Qu;_.parseResourceRef=Bu;_.getWildcardResourceRef=i2;_.normalizeResourcePermissions=di;_.permissionSatisfies=Su;_.highestResourcePermission=Du;_.grantHasPermission=ob;_.grantMatchesResource=Br;_.getEffectiveResourcePermissions=tb;_.hasResourcePermission=lY;_.getRoleResourceGrants=Ru;_.getAllowedResourceIds=s2;_.getAllowedResourceIdsForRoles=Tu;_.getEffectiveResourcePermissionsForRoles=Sr;_.getAllowedToolIds=r2;_.getAllowedSystemIds=n2;_.pickLongestHeldResource=dY;_.getAllowedCredentialsIds=gY;_.getEffectiveCredentialsPermissions=pY;_.getEffectiveToolPermissions=hY;_.getEffectiveSystemPermissions=fY;_.checkResourcePermission=Nu;_.isToolAllowed=bY;_.isSystemVisible=yY;_.isPlaybookVisible=kY;_.hasAllSystems=AY;_.hasAllTools=wY;_.getResourceGrantSources=c2;_.getSharePermissionForResource=m2;_.getAccessRulePermissionForResource=l2;_.hasAdminBaseRole=ab;_.resolveResourceAccessForRoles=vY;_.normalizeResourceGrantInput=u2;_.normalizeRoleResourceGrantInput=xY;_.isPredefinedRole=zY;_.isReservedRoleId=qY;_.isReservedRoleName=EY;_.hasRole=IY;_.getRoleIds=CY;_.getBaseRole=d2;_.getBaseRoleId=jY;_.getPersonalRole=g2;_.getPersonalRoleId=QY;var a2=Zf(),ju="*";function Mc(o,e){if(!e||e===ju)throw new Error("Resource id is required");return`${o}:${encodeURIComponent(e)}`}function Qu(o){return`${o}:${ju}`}function Bu(o){let e=o.indexOf(":");if(e<=0)return null;let t=o.slice(0,e);if(!(0,a2.isResourceKind)(t))return null;let a=o.slice(e+1);if(!a)return null;if(a===ju)return{kind:t,id:ju,isWildcard:!0};try{return{kind:t,id:decodeURIComponent(a),isWildcard:!1}}catch{return null}}function i2(o){let e=Bu(o);return e?Qu(e.kind):null}function di(o){let e=new Set;for(let t of o||[])(t==="viewer"||t==="editor")&&e.add(t);return e.has("editor")&&e.add("viewer"),Array.from(e)}function Su(o,e){return o===e||o==="editor"&&e==="viewer"}function Du(o){let e=di(o);if(e.includes("editor"))return"editor";if(e.includes("viewer"))return"viewer"}function ob(o,e){return o.revokedAt?!1:di(o.permissions).some(t=>Su(t,e))}function Br(o,e){return o.revokedAt?!1:o.resourceRef===e||o.resourceRef===i2(e)}function tb(o,e){let t=new Set;for(let a of o)if(Br(a,e))for(let i of di(a.permissions))t.add(i);return Array.from(t)}function lY(o,e,t){return tb(o,e).some(a=>Su(a,t))}function Ru(o){return o.flatMap(e=>e.isBaseRole&&e.id==="admin"?[]:e.resourceGrants||[])}function s2(o,e,t){let a=Qu(e),i=new Set;for(let s of o){if(!ob(s,t))continue;if(s.resourceRef===a)return;let r=Bu(s.resourceRef);r?.kind===e&&!r.isWildcard&&i.add(r.id)}return Array.from(i)}function Tu(o,e,t){if(!ab(o))return s2(Ru(o),e,t)}function Sr(o,e,t){return ab(o)?["editor","viewer"]:tb(Ru(o),Mc(e,t))}function uY(o){return(0,a2.getResourceDefinition)(o).label}function r2(o,e="viewer"){return Tu(o,"tool",e)}function n2(o,e="viewer"){return Tu(o,"system",e)}var eb=Number.MAX_SAFE_INTEGER;function Xf(o){if(!o)return eb;let e=new Date(o).getTime();return Number.isNaN(e)?eb:e}function dY(o,e,t){if(o.length<=1)return o[0];let a=i=>{let s=Mc(t,i.id),r=eb;for(let n of e)Br(n,s)&&(r=Math.min(r,Xf(n.createdAt)));return r};return[...o].sort((i,s)=>{let r=a(i)-a(s);return r!==0?r:Xf(i.createdAt)-Xf(s.createdAt)})[0]}function gY(o,e="viewer"){return Tu(o,"credential",e)}function pY(o,e){return Sr(o,"credential",e)}function hY(o,e){return Sr(o,"tool",e)}function fY(o,e){return Sr(o,"system",e)}function Nu(o,e,t,a){return Sr(o,e,t).some(s=>Su(s,a))?{allowed:!0}:{allowed:!1,error:`${uY(e)} '${t}' requires a '${a}' grant`}}function bY(o,e,t="viewer"){return Nu(o,"tool",e,t)}function yY(o,e,t="viewer"){return Nu(o,"system",e,t)}function kY(o,e,t="viewer"){return Nu(o,"playbook",e,t)}function AY(o,e="viewer"){return n2(o,e)===void 0}function wY(o,e="viewer"){return r2(o,e)===void 0}function c2(o,e,t="viewer"){let a=new Set;for(let i of o)Br(i,e)&&ob(i,t)&&a.add(i.source);return Array.from(a)}function m2(o,e){let t=o.filter(a=>a.source==="share"&&Br(a,e)).flatMap(a=>di(a.permissions));return Du(t)}function l2(o,e){let t=o.filter(a=>a.source==="access_rule"&&Br(a,e)).flatMap(a=>di(a.permissions));return Du(t)}function ab(o){return o.some(e=>e.isBaseRole&&e.id==="admin")}function vY({roles:o,resource:e,userId:t}){let a=Mc(e.kind,e.id),i=Ru(o),s=new Set(Sr(o,e.kind,e.id)),r=new Set(c2(i,a));e.ownerUserId&&e.ownerUserId===t&&(s.add("editor"),s.add("viewer"),r.add("ownership"));let n=di(Array.from(s));return{permissions:n,sources:Array.from(r),sharePermission:m2(i,a),accessRulePermission:l2(i,a),maxPermission:Du(n)}}function u2(o){let e=Bu(o.resourceRef);if(!e)throw new Error(`Invalid resource ref '${o.resourceRef}'`);return{...o,resourceRef:e.isWildcard?Qu(e.kind):Mc(e.kind,e.id),permissions:di(o.permissions||["viewer"]),source:o.source||"access_rule"}}function xY(o){let e=u2({resourceRef:o.resourceRef,permissions:o.permissions,source:"access_rule"});return{resourceRef:e.resourceRef,permissions:e.permissions,source:"access_rule"}}_.PREDEFINED_ROLE_IDS=["admin","member"];_.RESERVED_ROLE_IDS=["admin","member","__admin__"];_.RESERVED_ROLE_NAMES=["member","admin"];function zY(o){return _.PREDEFINED_ROLE_IDS.includes(o)}function qY(o){return _.RESERVED_ROLE_IDS.includes(o)}function EY(o){return _.RESERVED_ROLE_NAMES.includes(o.toLowerCase().trim())}function IY(o,e){return o.some(t=>t.id===e)}function CY(o){return o.map(e=>e.id)}function d2(o){let e=o.filter(t=>t.isBaseRole);return e.length===1?e[0]:null}function jY(o){let e=d2(o);return e?e.id:null}function g2(o){return o.find(e=>e.isPersonalRole)||null}function QY(o){let e=g2(o);return e?e.id:null}});var f2=y(Fo=>{"use strict";Object.defineProperty(Fo,"__esModule",{value:!0});Fo.NOTIFICATION_EXCLUDED_REQUEST_SOURCES=Fo.CLIENT_REQUEST_SOURCES=Fo.REQUEST_SOURCES=void 0;Fo.isRequestSource=h2;Fo.isClientRequestSource=DY;Fo.parseRequestSource=RY;var ho=zt();Fo.REQUEST_SOURCES=[ho.RequestSource.API,ho.RequestSource.FRONTEND,ho.RequestSource.AGENT,ho.RequestSource.SCHEDULER,ho.RequestSource.MCP,ho.RequestSource.TOOL_CHAIN,ho.RequestSource.WEBHOOK,ho.RequestSource.CLI];Fo.CLIENT_REQUEST_SOURCES=[ho.RequestSource.FRONTEND,ho.RequestSource.AGENT,ho.RequestSource.MCP,ho.RequestSource.CLI];Fo.NOTIFICATION_EXCLUDED_REQUEST_SOURCES=[ho.RequestSource.FRONTEND,ho.RequestSource.AGENT,ho.RequestSource.MCP];var BY=new Set(Fo.REQUEST_SOURCES),SY=new Set(Fo.CLIENT_REQUEST_SOURCES);function h2(o){return BY.has(o)}function DY(o){return SY.has(o)}function RY(o){let e=o.toLowerCase();return h2(e)?e:void 0}});var sb=y(we=>{"use strict";Object.defineProperty(we,"__esModule",{value:!0});we.systemOptions=we.systems=void 0;we.getSystemTemplateAuthentication=A2;we.mergeSystemTemplateAuthentication=w2;we.resolveSystemAuthentication=ib;we.findTemplateForSystem=Mu;we.uniqueKeywords=UY;we.getOAuthConfig=MY;we.getOAuthTokenExchangeConfig=OY;we.getOAuthTokenUrl=_Y;var k2=Rc(),Uu=Iu();function TY(o){let e=o?.split(/[,\s]+/).filter(Boolean);return e?.length?e:void 0}function A2(o){if(!o?.preferredAuthType)return;if(o.preferredAuthType!=="oauth2")return{type:o.preferredAuthType};let e=o.oauth;if(!e)return{type:"oauth2"};let t={};e.tokenAuthMethod&&(t.tokenAuthMethod=e.tokenAuthMethod),e.tokenContentType&&(t.tokenContentType=e.tokenContentType),e.extraHeaders&&(t.extraHeaders=e.extraHeaders),e.extraBodyParams&&(t.extraBodyParams=e.extraBodyParams),e.usePKCE!==void 0&&(t.usePKCE=e.usePKCE);let a=TY(e.scopes);return{type:"oauth2",...e.authUrl?{authUrl:e.authUrl}:{},...e.tokenUrl?{tokenUrl:e.tokenUrl}:{},...e.client_id?{clientId:e.client_id}:{},...e.grant_type?{grantType:e.grant_type}:{},...a?{scopes:a}:{},...Object.keys(t).length?{config:t}:{}}}function NY(o){return!o.config||Object.keys(o.config).length===0}function b2(o,e){let t={...o||{},...e||{}};return Object.keys(t).length>0?t:void 0}function y2(o,e){if(e)return{...o,config:e};let{config:t,...a}=o;return a}function w2({authentication:o,template:e}){let t=A2(e),a=(0,k2.normalizeSystemAuthentication)(o);if(!a)return t;if(!t)return a;if(a.type==="none"&&NY(a))return t;if(a.type!==t.type)return a;if(a.type==="oauth2"&&t.type==="oauth2"){let i={...t};a.oauthClientMode==="custom"&&(delete i.clientId,delete i.clientSecret);let s={...i,...a};return a.oauthClientMode==="managed"&&t.clientId&&(s.clientId=t.clientId),y2(s,b2(t.config,a.config))}return y2({...t,...a},b2(t.config,a.config))}function ib(o){let e=(0,k2.normalizeSystemAuthentication)(o.authentication)||{type:"none"};return w2({authentication:e,template:Mu(o)?.template})||e}we.systems={postgres:{name:"postgres",apiUrl:"postgres://<<username>>:<<password>>@<<host>>:<<port>>/<<database>>",regex:"^.*(postgres|postgresql).*$",icon:"postgresql",docsUrl:"",preferredAuthType:"connection_string",connectionFields:[{key:"host",label:"Host",placeholder:"db.example.com",required:!0},{key:"port",label:"Port",type:"number",defaultValue:"5432",placeholder:"5432"},{key:"database",label:"Database",placeholder:"mydb",required:!0},{key:"username",label:"Username",placeholder:"postgres",required:!0},{key:"password",label:"Password",type:"password",required:!0}],keywords:["database","sql","postgres","postgresql","api key","tables"]},redis_direct:{name:"redis_direct",apiUrl:"redis://<<username>>:<<password>>@<<host>>:<<port>>/<<database>>",regex:"^.*(rediss?://).*$",icon:"redis",docsUrl:"https://redis.io/docs/latest/commands/",preferredAuthType:"connection_string",connectionFields:[{key:"host",label:"Host",placeholder:"redis.example.com",required:!0},{key:"port",label:"Port",type:"number",defaultValue:"6379",placeholder:"6379"},{key:"database",label:"Database Index",placeholder:"0"},{key:"username",label:"Username",placeholder:"default"},{key:"password",label:"Password",type:"password",required:!0}],keywords:["database","cache","redis","key-value","nosql"]},mongodb_direct:{name:"mongodb_direct",apiUrl:"mongodb://<<username>>:<<password>>@<<host>>:<<port>>/<<database>>?authSource=admin",regex:"^.*(mongodb(\\+srv)?://).*$",icon:"mongodb",docsUrl:"https://www.mongodb.com/docs/manual/reference/method/",preferredAuthType:"connection_string",connectionFields:[{key:"host",label:"Host",placeholder:"cluster.example.com",required:!0},{key:"port",label:"Port",type:"number",defaultValue:"27017",placeholder:"27017"},{key:"database",label:"Database",placeholder:"mydb",required:!0},{key:"username",label:"Username",placeholder:"admin"},{key:"password",label:"Password",type:"password"}],keywords:["database","mongodb","mongo","nosql","document","collection","atlas"]},azure_sql:{name:"azure_sql",apiUrl:"mssql://<<user>>:<<password>>@<<host>>:1433/<<database>>",regex:"^.*(azure.*sql|sql.*azure|database\\.windows\\.net).*$",icon:"/logos/azure_sql.svg",docsUrl:"https://learn.microsoft.com/en-us/azure/azure-sql/",preferredAuthType:"connection_string",connectionFields:[{key:"host",label:"Host",placeholder:"myserver.database.windows.net",required:!0},{key:"database",label:"Database",placeholder:"mydb",required:!0},{key:"user",label:"Username",placeholder:"user@domain.com",required:!0},{key:"password",label:"Password",type:"password",required:!0},{key:"authType",label:"Auth Type",placeholder:"azure-active-directory-password"},{key:"clientId",label:"Client ID",placeholder:"App Registration client ID"},{key:"clientSecret",label:"Client Secret",type:"password",placeholder:"Service principal secret"},{key:"tenantId",label:"Tenant ID",placeholder:"Azure AD directory ID"}],systemSpecificInstructions:`Azure SQL supports two authentication modes:
|
|
368
|
+
`);if(t.length>o2.PLAYBOOK_LIMITS.compiledRender)throw new Error(`Compiled playbook render for '${o.id}' exceeds ${o2.PLAYBOOK_LIMITS.compiledRender} chars (${t.length})`);return t}});var Zf=y(St=>{"use strict";Object.defineProperty(St,"__esModule",{value:!0});St.RESOURCE_KINDS=St.RESOURCE_DEFINITIONS=void 0;St.isResourceKind=cY;St.getResourceDefinition=mY;St.RESOURCE_DEFINITIONS={tool:{label:"Tool",pluralLabel:"Tools",collectionKey:"tools",memberDefaultPermission:"editor",pickerDefaultPermission:"editor"},system:{label:"System",pluralLabel:"Systems",collectionKey:"systems",memberDefaultPermission:"editor",pickerDefaultPermission:"editor"},credential:{label:"Credential",pluralLabel:"Credentials",collectionKey:"credentials",pickerDefaultPermission:"viewer"},playbook:{label:"Playbook",pluralLabel:"Playbooks",collectionKey:"playbooks",pickerDefaultPermission:"editor"},artifact:{label:"Artifact",pluralLabel:"Artifacts",collectionKey:"artifacts",pickerDefaultPermission:"editor"},file:{label:"File",pluralLabel:"Files",collectionKey:"files",pickerDefaultPermission:"viewer"},project:{label:"Project",pluralLabel:"Projects",collectionKey:"projects",pickerDefaultPermission:"viewer"}};St.RESOURCE_KINDS=Object.keys(St.RESOURCE_DEFINITIONS);function cY(o){return typeof o=="string"&&Object.prototype.hasOwnProperty.call(St.RESOURCE_DEFINITIONS,o)}function mY(o){return St.RESOURCE_DEFINITIONS[o]}});var p2=y(_=>{"use strict";Object.defineProperty(_,"__esModule",{value:!0});_.RESERVED_ROLE_NAMES=_.RESERVED_ROLE_IDS=_.PREDEFINED_ROLE_IDS=void 0;_.toResourceRef=Mc;_.toWildcardResourceRef=Qu;_.parseResourceRef=Bu;_.getWildcardResourceRef=i2;_.normalizeResourcePermissions=di;_.permissionSatisfies=Su;_.highestResourcePermission=Du;_.grantHasPermission=ob;_.grantMatchesResource=Br;_.getEffectiveResourcePermissions=tb;_.hasResourcePermission=lY;_.getRoleResourceGrants=Ru;_.getAllowedResourceIds=s2;_.getAllowedResourceIdsForRoles=Tu;_.getEffectiveResourcePermissionsForRoles=Sr;_.getAllowedToolIds=r2;_.getAllowedSystemIds=n2;_.pickLongestHeldResource=dY;_.getAllowedCredentialsIds=gY;_.getEffectiveCredentialsPermissions=pY;_.getEffectiveToolPermissions=hY;_.getEffectiveSystemPermissions=fY;_.checkResourcePermission=Nu;_.isToolAllowed=bY;_.isSystemVisible=yY;_.isPlaybookVisible=kY;_.hasAllSystems=AY;_.hasAllTools=wY;_.getResourceGrantSources=c2;_.getSharePermissionForResource=m2;_.getAccessRulePermissionForResource=l2;_.hasAdminBaseRole=ab;_.resolveResourceAccessForRoles=vY;_.normalizeResourceGrantInput=u2;_.normalizeRoleResourceGrantInput=xY;_.isPredefinedRole=zY;_.isReservedRoleId=qY;_.isReservedRoleName=EY;_.hasRole=IY;_.getRoleIds=CY;_.getBaseRole=d2;_.getBaseRoleId=jY;_.getPersonalRole=g2;_.getPersonalRoleId=QY;var a2=Zf(),ju="*";function Mc(o,e){if(!e||e===ju)throw new Error("Resource id is required");return`${o}:${encodeURIComponent(e)}`}function Qu(o){return`${o}:${ju}`}function Bu(o){let e=o.indexOf(":");if(e<=0)return null;let t=o.slice(0,e);if(!(0,a2.isResourceKind)(t))return null;let a=o.slice(e+1);if(!a)return null;if(a===ju)return{kind:t,id:ju,isWildcard:!0};try{return{kind:t,id:decodeURIComponent(a),isWildcard:!1}}catch{return null}}function i2(o){let e=Bu(o);return e?Qu(e.kind):null}function di(o){let e=new Set;for(let t of o||[])(t==="viewer"||t==="editor")&&e.add(t);return e.has("editor")&&e.add("viewer"),Array.from(e)}function Su(o,e){return o===e||o==="editor"&&e==="viewer"}function Du(o){let e=di(o);if(e.includes("editor"))return"editor";if(e.includes("viewer"))return"viewer"}function ob(o,e){return o.revokedAt?!1:di(o.permissions).some(t=>Su(t,e))}function Br(o,e){return o.revokedAt?!1:o.resourceRef===e||o.resourceRef===i2(e)}function tb(o,e){let t=new Set;for(let a of o)if(Br(a,e))for(let i of di(a.permissions))t.add(i);return Array.from(t)}function lY(o,e,t){return tb(o,e).some(a=>Su(a,t))}function Ru(o){return o.flatMap(e=>e.isBaseRole&&e.id==="admin"?[]:e.resourceGrants||[])}function s2(o,e,t){let a=Qu(e),i=new Set;for(let s of o){if(!ob(s,t))continue;if(s.resourceRef===a)return;let r=Bu(s.resourceRef);r?.kind===e&&!r.isWildcard&&i.add(r.id)}return Array.from(i)}function Tu(o,e,t){if(!ab(o))return s2(Ru(o),e,t)}function Sr(o,e,t){return ab(o)?["editor","viewer"]:tb(Ru(o),Mc(e,t))}function uY(o){return(0,a2.getResourceDefinition)(o).label}function r2(o,e="viewer"){return Tu(o,"tool",e)}function n2(o,e="viewer"){return Tu(o,"system",e)}var eb=Number.MAX_SAFE_INTEGER;function Xf(o){if(!o)return eb;let e=new Date(o).getTime();return Number.isNaN(e)?eb:e}function dY(o,e,t){if(o.length<=1)return o[0];let a=i=>{let s=Mc(t,i.id),r=eb;for(let n of e)Br(n,s)&&(r=Math.min(r,Xf(n.createdAt)));return r};return[...o].sort((i,s)=>{let r=a(i)-a(s);return r!==0?r:Xf(i.createdAt)-Xf(s.createdAt)})[0]}function gY(o,e="viewer"){return Tu(o,"credential",e)}function pY(o,e){return Sr(o,"credential",e)}function hY(o,e){return Sr(o,"tool",e)}function fY(o,e){return Sr(o,"system",e)}function Nu(o,e,t,a){return Sr(o,e,t).some(s=>Su(s,a))?{allowed:!0}:{allowed:!1,error:`${uY(e)} '${t}' requires a '${a}' grant`}}function bY(o,e,t="viewer"){return Nu(o,"tool",e,t)}function yY(o,e,t="viewer"){return Nu(o,"system",e,t)}function kY(o,e,t="viewer"){return Nu(o,"playbook",e,t)}function AY(o,e="viewer"){return n2(o,e)===void 0}function wY(o,e="viewer"){return r2(o,e)===void 0}function c2(o,e,t="viewer"){let a=new Set;for(let i of o)Br(i,e)&&ob(i,t)&&a.add(i.source);return Array.from(a)}function m2(o,e){let t=o.filter(a=>a.source==="share"&&Br(a,e)).flatMap(a=>di(a.permissions));return Du(t)}function l2(o,e){let t=o.filter(a=>a.source==="access_rule"&&Br(a,e)).flatMap(a=>di(a.permissions));return Du(t)}function ab(o){return o.some(e=>e.isBaseRole&&e.id==="admin")}function vY({roles:o,resource:e,userId:t}){let a=Mc(e.kind,e.id),i=Ru(o),s=new Set(Sr(o,e.kind,e.id)),r=new Set(c2(i,a));e.ownerUserId&&e.ownerUserId===t&&(s.add("editor"),s.add("viewer"),r.add("ownership"));let n=di(Array.from(s));return{permissions:n,sources:Array.from(r),sharePermission:m2(i,a),accessRulePermission:l2(i,a),maxPermission:Du(n)}}function u2(o){let e=Bu(o.resourceRef);if(!e)throw new Error(`Invalid resource ref '${o.resourceRef}'`);return{...o,resourceRef:e.isWildcard?Qu(e.kind):Mc(e.kind,e.id),permissions:di(o.permissions||["viewer"]),source:o.source||"access_rule"}}function xY(o){let e=u2({resourceRef:o.resourceRef,permissions:o.permissions,source:"access_rule"});return{resourceRef:e.resourceRef,permissions:e.permissions,source:"access_rule"}}_.PREDEFINED_ROLE_IDS=["admin","member"];_.RESERVED_ROLE_IDS=["admin","member","__admin__"];_.RESERVED_ROLE_NAMES=["member","admin"];function zY(o){return _.PREDEFINED_ROLE_IDS.includes(o)}function qY(o){return _.RESERVED_ROLE_IDS.includes(o)}function EY(o){return _.RESERVED_ROLE_NAMES.includes(o.toLowerCase().trim())}function IY(o,e){return o.some(t=>t.id===e)}function CY(o){return o.map(e=>e.id)}function d2(o){let e=o.filter(t=>t.isBaseRole);return e.length===1?e[0]:null}function jY(o){let e=d2(o);return e?e.id:null}function g2(o){return o.find(e=>e.isPersonalRole)||null}function QY(o){let e=g2(o);return e?e.id:null}});var f2=y(Fo=>{"use strict";Object.defineProperty(Fo,"__esModule",{value:!0});Fo.NOTIFICATION_EXCLUDED_REQUEST_SOURCES=Fo.CLIENT_REQUEST_SOURCES=Fo.REQUEST_SOURCES=void 0;Fo.isRequestSource=h2;Fo.isClientRequestSource=DY;Fo.parseRequestSource=RY;var ho=zt();Fo.REQUEST_SOURCES=[ho.RequestSource.API,ho.RequestSource.FRONTEND,ho.RequestSource.AGENT,ho.RequestSource.SCHEDULER,ho.RequestSource.MCP,ho.RequestSource.TOOL_CHAIN,ho.RequestSource.WEBHOOK,ho.RequestSource.CLI];Fo.CLIENT_REQUEST_SOURCES=[ho.RequestSource.FRONTEND,ho.RequestSource.AGENT,ho.RequestSource.MCP,ho.RequestSource.CLI];Fo.NOTIFICATION_EXCLUDED_REQUEST_SOURCES=[ho.RequestSource.FRONTEND,ho.RequestSource.AGENT,ho.RequestSource.MCP];var BY=new Set(Fo.REQUEST_SOURCES),SY=new Set(Fo.CLIENT_REQUEST_SOURCES);function h2(o){return BY.has(o)}function DY(o){return SY.has(o)}function RY(o){let e=o.toLowerCase();return h2(e)?e:void 0}});var sb=y(we=>{"use strict";Object.defineProperty(we,"__esModule",{value:!0});we.systemOptions=we.systems=void 0;we.getSystemTemplateAuthentication=A2;we.mergeSystemTemplateAuthentication=w2;we.resolveSystemAuthentication=ib;we.findTemplateForSystem=Mu;we.uniqueKeywords=UY;we.getOAuthConfig=MY;we.getOAuthTokenExchangeConfig=OY;we.getOAuthTokenUrl=_Y;var k2=Rc(),Uu=Iu();function TY(o){let e=o?.split(/[,\s]+/).filter(Boolean);return e?.length?e:void 0}function A2(o){if(!o?.preferredAuthType)return;if(o.preferredAuthType!=="oauth2")return{type:o.preferredAuthType};let e=o.oauth;if(!e)return{type:"oauth2"};let t={};e.tokenAuthMethod&&(t.tokenAuthMethod=e.tokenAuthMethod),e.tokenContentType&&(t.tokenContentType=e.tokenContentType),e.extraHeaders&&(t.extraHeaders=e.extraHeaders),e.extraBodyParams&&(t.extraBodyParams=e.extraBodyParams),e.usePKCE!==void 0&&(t.usePKCE=e.usePKCE);let a=TY(e.scopes);return{type:"oauth2",...e.authUrl?{authUrl:e.authUrl}:{},...e.tokenUrl?{tokenUrl:e.tokenUrl}:{},...e.client_id?{clientId:e.client_id}:{},...e.grant_type?{grantType:e.grant_type}:{},...a?{scopes:a}:{},...Object.keys(t).length?{config:t}:{}}}function NY(o){return!o.config||Object.keys(o.config).length===0}function b2(o,e){let t={...o||{},...e||{}};return Object.keys(t).length>0?t:void 0}function y2(o,e){if(e)return{...o,config:e};let{config:t,...a}=o;return a}function w2({authentication:o,template:e}){let t=A2(e),a=(0,k2.normalizeSystemAuthentication)(o);if(!a)return t;if(!t)return a;if(a.type==="none"&&NY(a))return t;if(a.type!==t.type)return a;if(a.type==="oauth2"&&t.type==="oauth2"){let i={...t};a.oauthClientMode==="custom"&&(delete i.clientId,delete i.clientSecret);let s={...i,...a};return a.oauthClientMode==="managed"&&t.clientId&&(s.clientId=t.clientId),y2(s,b2(t.config,a.config))}return y2({...t,...a},b2(t.config,a.config))}function ib(o){let e=(0,k2.normalizeSystemAuthentication)(o.authentication)||{type:"none"};return w2({authentication:e,template:Mu(o)?.template})||e}we.systems={postgres:{name:"postgres",apiUrl:"postgres://<<username>>:<<password>>@<<host>>:<<port>>/<<database>>",regex:"^.*(postgres|postgresql).*$",icon:"postgresql",docsUrl:"",preferredAuthType:"connection_string",connectionFields:[{key:"host",label:"Host",placeholder:"db.example.com",required:!0},{key:"port",label:"Port",type:"number",defaultValue:"5432",placeholder:"5432"},{key:"database",label:"Database",placeholder:"mydb",required:!0},{key:"username",label:"Username",placeholder:"postgres",required:!0},{key:"password",label:"Password",type:"password",required:!0}],keywords:["database","sql","postgres","postgresql","api key","tables"]},redis_direct:{name:"redis_direct",apiUrl:"redis://<<username>>:<<password>>@<<host>>:<<port>>/<<database>>",regex:"^.*(rediss?://).*$",icon:"redis",docsUrl:"https://redis.io/docs/latest/commands/",preferredAuthType:"connection_string",connectionFields:[{key:"host",label:"Host",placeholder:"redis.example.com",required:!0},{key:"port",label:"Port",type:"number",defaultValue:"6379",placeholder:"6379"},{key:"database",label:"Database Index",placeholder:"0"},{key:"username",label:"Username",placeholder:"default"},{key:"password",label:"Password",type:"password",required:!0}],keywords:["database","cache","redis","key-value","nosql"]},mongodb_direct:{name:"mongodb_direct",apiUrl:"mongodb://<<username>>:<<password>>@<<host>>:<<port>>/<<database>>?authSource=admin",regex:"^.*(mongodb(\\+srv)?://).*$",icon:"mongodb",docsUrl:"https://www.mongodb.com/docs/manual/reference/method/",preferredAuthType:"connection_string",connectionFields:[{key:"host",label:"Host",placeholder:"cluster.example.com",required:!0},{key:"port",label:"Port",type:"number",defaultValue:"27017",placeholder:"27017"},{key:"database",label:"Database",placeholder:"mydb",required:!0},{key:"username",label:"Username",placeholder:"admin"},{key:"password",label:"Password",type:"password"}],keywords:["database","mongodb","mongo","nosql","document","collection","atlas"]},azure_sql:{name:"azure_sql",apiUrl:"mssql://<<user>>:<<password>>@<<host>>:1433/<<database>>",regex:"^.*(azure.*sql|sql.*azure|database\\.windows\\.net).*$",icon:"/logos/azure_sql.svg",docsUrl:"https://learn.microsoft.com/en-us/azure/azure-sql/",preferredAuthType:"connection_string",connectionFields:[{key:"host",label:"Host",placeholder:"myserver.database.windows.net",required:!0},{key:"database",label:"Database",placeholder:"mydb",required:!0},{key:"user",label:"Username",placeholder:"user@domain.com",required:!0},{key:"password",label:"Password",type:"password",required:!0},{key:"authType",label:"Auth Type",placeholder:"azure-active-directory-password"},{key:"clientId",label:"Client ID",placeholder:"App Registration client ID"},{key:"clientSecret",label:"Client Secret",type:"password",placeholder:"Service principal secret"},{key:"tenantId",label:"Tenant ID",placeholder:"Azure AD directory ID"}],systemSpecificInstructions:`Azure SQL supports two authentication modes:
|
|
369
369
|
|
|
370
370
|
SQL Server Authentication (default): user + password in the connection URL. No additional fields needed.
|
|
371
371
|
|
|
@@ -1398,7 +1398,7 @@ ${s}`;break;case"retry":m5(s)&&(t[i]=s);break;case"id":l5(s)&&(t[i]=s);break;cas
|
|
|
1398
1398
|
`);o.stack=t?`${t}
|
|
1399
1399
|
${s}`:i.stack}B.exports.fetch=function(e,t=void 0){return zce(e,t).catch(a=>{throw w5?q5(a,w5):a&&typeof a=="object"&&Error.captureStackTrace(a,B.exports.fetch),a})};B.exports.Headers=Hs().Headers;B.exports.Response=Nm().Response;B.exports.Request=pn().Request;B.exports.FormData=rd().FormData;var{setGlobalOrigin:qce,getGlobalOrigin:Ece}=dy();B.exports.setGlobalOrigin=qce;B.exports.getGlobalOrigin=Ece;var{CacheStorage:Ice}=n9(),{kConstruct:Cce}=de();B.exports.caches=new Ice(Cce);var{deleteCookie:jce,getCookies:Qce,getSetCookies:Bce,setCookie:Sce,parseCookie:Dce}=k9();B.exports.deleteCookie=jce;B.exports.getCookies=Qce;B.exports.getSetCookies=Bce;B.exports.setCookie=Sce;B.exports.parseCookie=Dce;var{parseMIMEType:Rce,serializeAMimeType:Tce}=dt();B.exports.parseMIMEType=Rce;B.exports.serializeAMimeType=Tce;var{CloseEvent:Nce,ErrorEvent:Uce,MessageEvent:Mce}=qg(),{WebSocket:Oce,ping:_ce}=Z9();B.exports.WebSocket=Oce;B.exports.CloseEvent=Nce;B.exports.ErrorEvent=Uce;B.exports.MessageEvent=Mce;B.exports.ping=_ce;B.exports.WebSocketStream=r5().WebSocketStream;B.exports.WebSocketError=Lw().WebSocketError;B.exports.request=Wm(qn.request);B.exports.stream=Wm(qn.stream);B.exports.pipeline=Wm(qn.pipeline);B.exports.connect=Wm(qn.connect);B.exports.upgrade=Wm(qn.upgrade);B.exports.MockClient=dce;B.exports.MockCallHistory=gce;B.exports.MockCallHistoryLog=pce;B.exports.MockPool=fce;B.exports.MockAgent=hce;B.exports.SnapshotAgent=bce;B.exports.mockErrors=yce;var{EventSource:Fce}=A5();B.exports.EventSource=Fce;function Lce(){globalThis.fetch=B.exports.fetch,globalThis.Headers=B.exports.Headers,globalThis.Response=B.exports.Response,globalThis.Request=B.exports.Request,globalThis.FormData=B.exports.FormData,globalThis.WebSocket=B.exports.WebSocket,globalThis.CloseEvent=B.exports.CloseEvent,globalThis.ErrorEvent=B.exports.ErrorEvent,globalThis.MessageEvent=B.exports.MessageEvent,globalThis.EventSource=B.exports.EventSource}B.exports.install=Lce});var I5=y(In=>{"use strict";Object.defineProperty(In,"__esModule",{value:!0});In.SuperglueClient=In.SuperglueHttpError=void 0;var En=zt(),Pce=cb(),Hce=O2(),Yce=Vt(),Pa=zr(),Gce=pu(),Og=14400*1e3,$m;if(typeof globalThis.process<"u"&&globalThis.process.versions?.node)try{let{Agent:o}=E5();$m=new o({headersTimeout:Og,bodyTimeout:Og})}catch{}var _g=class extends Error{constructor(e,t,a,i){super(e),this.status=t,this.code=a,this.details=i,this.name="SuperglueHttpError"}};In.SuperglueHttpError=_g;var Ww=class{constructor({apiKey:e,apiEndpoint:t,onInfrastructureError:a,sseTokenProvider:i,tokenProvider:s}){if(!e&&!s)throw new Error("SuperglueClient requires either apiKey or tokenProvider");this.tokenProvider=s??(async()=>e),this.apiEndpoint=t??"https://api.superglue.cloud",this.sseManager=new Pce.SSELogSubscriptionManager(this.apiEndpoint,i??this.tokenProvider),this.onInfrastructureError=a}async getApiKey(){return this.tokenProvider()}isInfrastructureError(e){return(0,Yce.isAbortError)(e)?!1:!!(e instanceof TypeError&&e.message.toLowerCase().includes("fetch")||e instanceof Error&&e.name==="TimeoutError")}async restRequest(e,t,a,i,s){let n=await(await this.restResponse({method:e,path:t,body:a,extraHeaders:i,requestInit:s})).text();if(n)return JSON.parse(n)}async restResponse({method:e,path:t,body:a,extraHeaders:i,requestInit:s}){let r=`${this.apiEndpoint.replace(/\/$/,"")}${t}`,c={Authorization:`Bearer ${await this.getApiKey()}`,...i};a&&e!=="GET"&&(c["Content-Type"]="application/json");let m;try{m=await fetch(r,{...s,method:e,headers:c,body:a?JSON.stringify(a):void 0,signal:s?.signal??AbortSignal.timeout(Og),...$m?{dispatcher:$m}:{}})}catch(l){throw this.isInfrastructureError(l)&&this.onInfrastructureError?.(),l}if(!m.ok)throw await this.buildHttpError(m);return m}async buildHttpError(e){e.status>=500&&this.onInfrastructureError?.();let t=await e.text(),a=`HTTP ${e.status}: ${t}`,i,s;try{let r=JSON.parse(t);r&&typeof r=="object"&&!Array.isArray(r)&&(s=r),typeof r?.code=="string"&&(i=r.code);let n=r.error;typeof n=="string"?a=n:n&&typeof n=="object"&&(a=n.message||JSON.stringify(n))}catch{}return new _g(a,e.status,i,s)}async streamRequest(e,t,a){let i=e.includes("?")?"&":"?",s=`${this.apiEndpoint.replace(/\/$/,"")}${e}${i}stream=true`,n={Authorization:`Bearer ${await this.getApiKey()}`,Accept:"text/event-stream","Content-Type":"application/json"},c;try{c=await fetch(s,{method:"POST",headers:n,body:JSON.stringify(t),signal:a??AbortSignal.timeout(Og),...$m?{dispatcher:$m}:{}})}catch(l){throw this.isInfrastructureError(l)&&this.onInfrastructureError?.(),l}if(!c.ok)throw await this.buildHttpError(c);if(!(c.headers.get("content-type")||"").includes("text/event-stream")){let l=await c.text();return l?JSON.parse(l):void 0}try{return await(0,Hce.consumeEventStreamResult)(c)}catch(l){throw this.isInfrastructureError(l)&&this.onInfrastructureError?.(),l}}async subscribeToLogsSSE(e={}){return this.sseManager.subscribeToLogs(e)}async disconnect(){await this.sseManager.disconnect()}async getMe(){return this.restRequest("GET","/v1/me")}async runTool(e){let t=await this.restRequest("POST",`/v1/tools/${encodeURIComponent(e.toolId)}/run`,{inputs:e.payload,files:e.files,credentials:e.credentials,includeStepResultData:e.includeStepResultData,options:e.options,runId:e.runId,stateFixture:e.stateFixture},void 0,e.signal?{signal:e.signal}:void 0);return{success:t.status==="success",data:t.data,error:t.error,tool:t.tool,stepResults:t.stepResults?.map(a=>({...a}))||[],...t.fileArtifacts&&t.fileArtifacts.length>0?{fileArtifacts:t.fileArtifacts}:{},...t.metadata?.warnings?.length?{warnings:t.metadata.warnings}:{}}}async runToolConfig(e){let t=e.createRun?"/v1/tools/run?createRun=true":"/v1/tools/run",a=await this.restRequest("POST",t,{tool:e.tool,payload:e.payload,files:e.files,credentials:e.credentials,includeStepResultData:e.includeStepResultData,options:e.options,runId:e.runId,stateFixture:e.stateFixture,executionKind:e.executionKind,parentToolId:e.parentToolId,draftId:e.draftId},e.traceId?{"X-Trace-Id":e.traceId}:void 0,e.signal?{signal:e.signal}:void 0);return{success:a.status?a.status==="success":a.success??!1,data:a.data,error:a.error,tool:a.tool||e.tool,stepResults:a.stepResults?.map(s=>({...s}))||[],...a.fileArtifacts&&a.fileArtifacts.length>0?{fileArtifacts:a.fileArtifacts}:{},...a.metadata?.warnings?.length?{warnings:a.metadata.warnings}:{}}}async abortToolExecution(e){return{success:!0,runId:(await this.restRequest("POST",`/v1/runs/${encodeURIComponent(e)}/cancel`)).runId}}async executeStep({step:e,payload:t,files:a,previousResults:i,credentials:s,options:r,runId:n,systemIds:c,createRun:m,parentToolId:l,stepIndex:u,stepId:d,signal:g,stream:p}){let b={step:e,payload:t,files:a,previousResults:i,credentials:s,options:r,runId:n,systemIds:c,createRun:m,parentToolId:l,stepIndex:u,stepId:d};return p?this.streamRequest("/v1/tools/step/run",b,g):this.restRequest("POST","/v1/tools/step/run",b,void 0,g?{signal:g}:void 0)}async abortStep(e){return this.restRequest("POST","/v1/tools/step/abort",{runId:e})}async executeTransformOnly({outputTransform:e,outputSchema:t,inputSchema:a,payload:i,files:s,stepResults:r,options:n,runId:c,createRun:m,parentToolId:l,stepId:u,signal:d,stream:g}){let p={outputTransform:e,outputSchema:t,inputSchema:a,payload:i,files:s,stepResults:r,options:n,runId:c,createRun:m,parentToolId:l,stepId:u};return g?this.streamRequest("/v1/tools/transform/run",p,d):this.restRequest("POST","/v1/tools/transform/run",p,void 0,d?{signal:d}:void 0)}async createRun({toolId:e,toolConfig:t,toolResult:a,stepResults:i,toolPayload:s,status:r,error:n,startedAt:c,completedAt:m,executionKind:l,parentToolId:u,draftId:d}){return this.restRequest("POST","/v1/runs",{toolId:e,toolConfig:t,toolResult:a,stepResults:i,toolPayload:s,status:r,error:n,startedAt:(0,Pa.toUTCISOString)(c,"run.startedAt"),completedAt:(0,Pa.toUTCISOString)(m,"run.completedAt"),executionKind:l,parentToolId:u,draftId:d})}async checkRunLimit(){return(await this.restRequest("POST","/v1/runs/check-limit")).data}async extract({file:e,envelope:t}){if(!e)throw new Error("File must be provided for extract.");let a=new FormData;a.append("file",e);let i=new URL(`${this.apiEndpoint.replace(/\/$/,"")}/v1/extract`);t&&i.searchParams.set("envelope","true");let s=i.toString(),r=await this.getApiKey(),n=await fetch(s,{method:"POST",headers:{Authorization:`Bearer ${r}`},body:a});if(!n.ok){let c=await n.text(),m=`HTTP ${n.status}: ${c}`;try{let l=JSON.parse(c);l.error&&(m=l.error)}catch{}throw new Error(m)}return n.json()}mapOpenAPIRunToRun(e){let t={running:En.RunStatus.RUNNING,success:En.RunStatus.SUCCESS,failed:En.RunStatus.FAILED,aborted:En.RunStatus.ABORTED};return{runId:e.runId??e.id,toolId:e.toolId,tool:e.tool,systemIds:e.systemIds,status:t[e.status]??En.RunStatus.FAILED,toolPayload:e.toolPayload,data:e.data,toolResult:e.data,error:e.error,stepResults:e.stepResults,options:e.options,requestSource:e.requestSource,traceId:e.traceId,resultStorageUri:e.resultStorageUri,userId:e.userId,userEmail:e.userEmail,userName:e.userName,metadata:{...e.metadata,executionKind:e.metadata?.executionKind??En.RunExecutionKind.FULL},fileArtifacts:e.fileArtifacts}}mapOpenAPIScheduleToToolSchedule(e){return{...e,lastRunAt:e.lastRunAt?(0,Pa.requireUTCDate)(e.lastRunAt,"schedule.lastRunAt"):void 0,nextRunAt:(0,Pa.requireUTCDate)(e.nextRunAt,"schedule.nextRunAt"),createdAt:(0,Pa.requireUTCDate)(e.createdAt,"schedule.createdAt"),updatedAt:(0,Pa.requireUTCDate)(e.updatedAt,"schedule.updatedAt")}}async listRuns(e){let{limit:t=100,page:a=1,toolId:i,search:s,searchUserIds:r,includeTotal:n=!0,startedAfter:c,status:m,requestSources:l,executionKinds:u,userId:d,systemId:g,signal:p}=e??{},b=new URLSearchParams({limit:String(t),page:String(a)});i&&b.set("toolId",i),s?.trim()&&b.set("search",s.trim()),r&&r.length>0&&b.set("searchUserIds",r.join(",")),n||b.set("includeTotal","false"),c&&b.set("startedAfter",c instanceof Date?(0,Pa.toUTCISOString)(c,"run.startedAfter"):c),m&&b.set("status",m),l&&l.length>0&&b.set("requestSources",l.join(",")),u&&u.length>0&&b.set("executionKinds",u.join(",")),d&&b.set("userId",d),g&&b.set("systemId",g);let w=await this.restRequest("GET",`/v1/runs?${b.toString()}`,void 0,void 0,{signal:p});return{items:w.data.map(k=>this.mapOpenAPIRunToRun(k)),total:w.total,page:w.page,limit:w.limit,hasMore:w.hasMore}}async getActivityCounts(e){let t=new URLSearchParams;e?.from&&t.set("from",e.from instanceof Date?(0,Pa.toUTCISOString)(e.from,"activity.from"):e.from),e?.to&&t.set("to",e.to instanceof Date?(0,Pa.toUTCISOString)(e.to,"activity.to"):e.to);let a=t.toString();return(await this.restRequest("GET",`/v1/activity/counts${a?`?${a}`:""}`,void 0,void 0,{signal:e?.signal})).counts}async getRun(e){try{let t=await this.restRequest("GET",`/v1/runs/${encodeURIComponent(e)}`);return this.mapOpenAPIRunToRun(t)}catch(t){if(t.message?.includes("404")||t.message?.includes("not found"))return null;throw t}}async getTool(e){try{return await this.restRequest("GET",`/v1/tools/${encodeURIComponent(e)}`)}catch(t){if(t.message?.includes("404")||t.message?.includes("not found")||t.message?.includes("403")||t.message?.includes("not allowed"))return null;throw t}}async getToolState(e){return(await this.restRequest("GET",`/v1/tools/${encodeURIComponent(e)}/state`)).state}async setToolState(e,t){await this.restRequest("PUT",`/v1/tools/${encodeURIComponent(e)}/state`,{state:t})}async deleteToolState(e){return(await this.restRequest("DELETE",`/v1/tools/${encodeURIComponent(e)}/state`)).deletedKeys}async archiveTool(e,t=!0){return this.updateTool(e,{archived:t})}async bulkArchiveTools(e,t=!0){return this.restRequest("POST","/v1/tools/bulk/archive",{ids:e,archived:t})}async bulkDeleteTools(e){return this.restRequest("POST","/v1/tools/bulk/delete",{ids:e})}async listTools(e=10,t=0,a=!1){let i=Math.floor(t/e)+1,s=a?"&includeArchived=true":"",r=await this.restRequest("GET",`/v1/tools?limit=${e}&page=${i}${s}`);return{items:r.data,total:r.total}}async createTool(e,t){return this.restRequest("POST","/v1/tools",{...t,id:e})}async updateTool(e,t){return this.restRequest("PUT",`/v1/tools/${encodeURIComponent(e)}`,t)}async deleteTool(e){try{return await this.restRequest("DELETE",`/v1/tools/${encodeURIComponent(e)}`),!0}catch(t){if(t.message?.includes("404"))return!1;throw t}}async renameTool(e,t){return this.restRequest("POST",`/v1/tools/${encodeURIComponent(e)}/rename`,{newId:t})}async getWorkflow(e){return this.getTool(e)}async archiveWorkflow(e,t=!0){return this.upsertWorkflow(e,{archived:t})}async listWorkflows(e=10,t=0,a=!1){return this.listTools(e,t,a)}async createWorkflow(e,t){return this.createTool(e,t)}async updateWorkflow(e,t){return this.updateTool(e,t)}async upsertWorkflow(e,t){return await this.getTool(e)?this.updateTool(e,t):this.createTool(e,t)}async deleteWorkflow(e){return this.deleteTool(e)}async renameWorkflow(e,t){return this.renameTool(e,t)}async listToolSchedules(e){if(e&&typeof e=="object")return this.listToolSchedulesPage(e);let t=[],a=typeof e=="string"?e:void 0,i=1;for(;;){let s=await this.listToolSchedulesPage({toolId:a,limit:1e3,page:i});if(t.push(...s.items),!s.hasMore||s.items.length===0)break;i+=1}return t}async listToolSchedulesPage(e){let{toolId:t,limit:a=100,page:i=1}=e??{},s=new URLSearchParams({limit:String(a),page:String(i)}),r=t?`/v1/tools/${encodeURIComponent(t)}/schedules?${s.toString()}`:`/v1/schedules?${s.toString()}`,n=await this.restRequest("GET",r);return{items:n.data.map(c=>this.mapOpenAPIScheduleToToolSchedule(c)),total:n.total,page:n.page,limit:n.limit,hasMore:n.hasMore}}async getToolSchedule(e,t){try{let a=await this.restRequest("GET",`/v1/tools/${encodeURIComponent(e)}/schedules/${encodeURIComponent(t)}`);return this.mapOpenAPIScheduleToToolSchedule(a)}catch(a){if(a.message?.includes("404")||a.message?.includes("not found"))return null;throw a}}async createToolSchedule(e,t){let a=await this.restRequest("POST",`/v1/tools/${encodeURIComponent(e)}/schedules`,{...t,timezone:t.timezone||(0,Gce.getRuntimeTimezone)()});return this.mapOpenAPIScheduleToToolSchedule(a)}async updateToolSchedule(e,t,a){let i=await this.restRequest("PUT",`/v1/tools/${encodeURIComponent(e)}/schedules/${encodeURIComponent(t)}`,a);return this.mapOpenAPIScheduleToToolSchedule(i)}async deleteToolSchedule(e,t){return await this.restRequest("DELETE",`/v1/tools/${encodeURIComponent(e)}/schedules/${encodeURIComponent(t)}`),!0}async bulkSetSchedulesEnabled(e,t){return this.restRequest("POST","/v1/schedules/bulk/enable",{ids:e,enabled:t})}async bulkDeleteSchedules(e){return this.restRequest("POST","/v1/schedules/bulk/delete",{ids:e})}async listCredentials(e){let t=new URLSearchParams;e?.systemId&&t.set("systemId",e.systemId);let a=t.toString();return(await this.restRequest("GET",`/v1/credentials${a?`?${a}`:""}`)).data.items}async createCredentials(e){return(await this.restRequest("POST","/v1/credentials",e)).data}async replaceCredentials(e,t){return(await this.restRequest("PUT",`/v1/credentials/${encodeURIComponent(e)}`,{credentials:t})).data}async updateCredentials(e,t){return(await this.restRequest("PATCH",`/v1/credentials/${encodeURIComponent(e)}`,t)).data}async deleteCredentials(e){await this.restRequest("DELETE",`/v1/credentials/${encodeURIComponent(e)}`)}async setDefaultCredentials(e){await this.restRequest("POST",`/v1/credentials/${encodeURIComponent(e)}/default`)}async listSystems(e=10,t=1){let a=new URLSearchParams({limit:String(e),page:String(t)}),i=await this.restRequest("GET",`/v1/systems?${a.toString()}`);return{items:i.data,total:i.total}}async getSystem(e){return(await this.restRequest("GET",`/v1/systems/${encodeURIComponent(e)}`)).data}async createSystem(e){return(await this.restRequest("POST","/v1/systems",e)).data}async updateSystem(e,t){return(await this.restRequest("PATCH",`/v1/systems/${encodeURIComponent(e)}`,t)).data}async deleteSystem(e){return await this.restRequest("DELETE",`/v1/systems/${encodeURIComponent(e)}`),!0}async bulkDeleteSystems(e){return this.restRequest("POST","/v1/systems/bulk/delete",{ids:e})}async createOAuthExchange(e){return(await this.restRequest("POST","/v1/oauth/exchanges",e)).data}async completeOAuthExchange(e,t){return(await this.restRequest("POST",`/v1/oauth/exchanges/${encodeURIComponent(e)}/complete`,t)).data}async searchSystemDocumentation(e,t){return(await this.restRequest("POST",`/v1/systems/${encodeURIComponent(e)}/documentation/search`,{keywords:t})).data}async triggerSystemDocumentationScrapeJob(e,t){return(await this.restRequest("POST",`/v1/systems/${encodeURIComponent(e)}/documentation/scrape`,t)).data}async fetchOpenApiSpec(e,t,a){return(await this.restRequest("POST",`/v1/systems/${encodeURIComponent(e)}/documentation/openapi`,{url:t,link:a?.link})).data}async createSystemDocumentationFileUploadUrls(e,t,a){return(await this.restRequest("POST",`/v1/systems/${encodeURIComponent(e)}/documentation/files`,{files:t.map(s=>({fileName:s.fileName,metadata:{contentType:s.contentType,contentLength:s.contentLength}})),link:a?.link})).data.files}async uploadSystemDocumentationFiles(e,t,a){if(t.length===0)return[];let i=await this.createSystemDocumentationFileUploadUrls(e,t.map(n=>({fileName:n.fileName,contentType:n.contentType,contentLength:n.contentLength})),{link:a?.link}),r=(await Promise.allSettled(i.map(async(n,c)=>{let m=t[c],l=await fetch(n.uploadUrl,{method:"PUT",body:m.content,headers:m.contentType?{"Content-Type":m.contentType}:void 0});if(!l.ok)throw new Error(`Upload failed for ${m.fileName}: ${l.status} ${l.statusText}`);return this.completeSystemDocumentationFileUpload(e,n.id).catch(()=>{}),n.id}))).map((n,c)=>{let m=t[c],l=i[c].id;return n.status==="fulfilled"?{id:l,fileName:m.fileName,contentLength:m.contentLength,status:"uploaded"}:(this.deleteSystemDocumentationFile(e,l).catch(()=>{}),{id:l,fileName:m.fileName,contentLength:m.contentLength,status:"failed",error:n.reason instanceof Error?n.reason.message:"Upload failed"})});if(!a?.settle){let n=r.filter(c=>c.status==="failed");if(n.length>0)throw new Error(n.map(c=>c.error).join("; "))}return r}async completeSystemDocumentationFileUpload(e,t){return this.restRequest("POST",`/v1/systems/${encodeURIComponent(e)}/documentation/files/${encodeURIComponent(t)}/complete`)}async listSystemDocumentationFiles(e,t){let a=new URLSearchParams;t?.length&&a.set("fileIds",t.join(","));let i=a.size>0?`?${a.toString()}`:"";return(await this.restRequest("GET",`/v1/systems/${encodeURIComponent(e)}/documentation/files${i}`)).data}async getSystemDocumentationFileContent(e,t){return(await this.restRequest("GET",`/v1/systems/${encodeURIComponent(e)}/documentation/files/${encodeURIComponent(t)}/content`)).data}async deleteSystemDocumentationFile(e,t){await this.restRequest("DELETE",`/v1/systems/${encodeURIComponent(e)}/documentation/files/${encodeURIComponent(t)}`)}async generateCredentialsLink(e){try{return{success:!0,credentialsUrl:(await this.restRequest("POST","/v1/authenticate",e||{})).data.credentialsUrl}}catch(t){return{success:!1,error:t.message}}}};In.SuperglueClient=Ww});var j5=y(Ce=>{"use strict";Object.defineProperty(Ce,"__esModule",{value:!0});Ce.UnquotedKeyStrategy=Ce.TripleQuoteStrategy=Ce.TrailingCommaStrategy=Ce.SingleQuoteStrategy=Ce.PythonLiteralStrategy=Ce.CommentStrategy=Ce.ResilientJsonParser=Ce.RepairStrategy=void 0;Ce.parseJsonResilient=Vce;Ce.parseJSON=Wce;Ce.isValidJson=$ce;Ce.prettyPrintJson=Jce;Ce.minifyJson=Kce;var _t=class{validate(e){try{return JSON.parse(e),!0}catch{return!1}}};Ce.RepairStrategy=_t;var Fg=class extends _t{constructor(){super(...arguments),this.name="TripleQuoteRepair",this.description="Converts triple-quoted strings to proper JSON, parsing nested JSON content"}canApply(e){return/"""/.test(e)}apply(e){return e.replace(/"""([\s\S]*?)"""/g,(t,a)=>{let i=a.trim();if(i.startsWith("{")&&i.endsWith("}")||i.startsWith("[")&&i.endsWith("]"))try{let r=JSON.parse(i);return JSON.stringify(r)}catch{return`"${a.replace(/\\/g,"\\\\").replace(/"/g,'\\"').replace(/\n/g,"\\n").replace(/\r/g,"\\r").replace(/\t/g,"\\t")}"`}return`"${a.replace(/\\/g,"\\\\").replace(/"/g,'\\"').replace(/\n/g,"\\n").replace(/\r/g,"\\r").replace(/\t/g,"\\t")}"`})}};Ce.TripleQuoteStrategy=Fg;var Lg=class extends _t{constructor(){super(...arguments),this.name="PythonLiteralRepair",this.description="Converts Python literals to JavaScript equivalents"}canApply(e){return/\b(None|True|False)\b/.test(e)}apply(e){return e.replace(/\bNone\b/g,"null").replace(/\bTrue\b/g,"true").replace(/\bFalse\b/g,"false")}};Ce.PythonLiteralStrategy=Lg;var Pg=class extends _t{constructor(){super(...arguments),this.name="TrailingCommaRepair",this.description="Removes trailing commas from objects and arrays"}canApply(e){return/,\s*[}\]]/.test(e)}apply(e){return e.replace(/,(\s*[}\]])/g,"$1")}};Ce.TrailingCommaStrategy=Pg;var Hg=class extends _t{constructor(){super(...arguments),this.name="SingleQuoteRepair",this.description="Converts single quotes to double quotes"}canApply(e){return/[{,]\s*'[^']*'\s*:/.test(e)||/:\s*'[^']*'/.test(e)}apply(e){let t=e.replace(/([{,]\s*)'([^']+)'(\s*:)/g,'$1"$2"$3');return t=t.replace(/(:\s*)'([^']+)'(\s*[,}])/g,'$1"$2"$3'),t}};Ce.SingleQuoteStrategy=Hg;var Yg=class extends _t{constructor(){super(...arguments),this.name="UnquotedKeyRepair",this.description="Adds quotes to unquoted object keys"}canApply(e){return/[{,]\s*[a-zA-Z_$][a-zA-Z0-9_$]*\s*:/.test(e)}apply(e){return e.replace(/([{,]\s*)([a-zA-Z_$][a-zA-Z0-9_$]*)(\s*:)/g,'$1"$2"$3')}};Ce.UnquotedKeyStrategy=Yg;var Gg=class extends _t{constructor(){super(...arguments),this.name="CommentRemoval",this.description="Removes JavaScript-style comments"}canApply(e){return/\/\/.*$|\/\*[\s\S]*?\*\//m.test(e)}apply(e){let t=e.replace(/\/\/.*$/gm,"");return t=t.replace(/\/\*[\s\S]*?\*\//g,""),t}};Ce.CommentStrategy=Gg;var $w=class extends _t{constructor(){super(...arguments),this.name="UnescapedControlCharactersRepair",this.description="Escapes unescaped control characters (newlines, tabs, etc.) in JSON strings"}canApply(e){try{return JSON.parse(e),!1}catch(t){let a=t.message||"";return a.includes("control character")||a.includes("Bad control")||a.includes("Unexpected token")&&/[\n\r\t]/.test(e)}}apply(e){let t="",a=!1,i=!1;for(let s=0;s<e.length;s++){let r=e[s],n=s>0?e[s-1]:"";if(i){t+=r,i=!1;continue}if(r==="\\"&&a){t+=r,i=!0;continue}if(r==='"'&&n!=="\\"){a=!a,t+=r;continue}if(a)switch(r){case`
|
|
1400
1400
|
`:t+="\\n";break;case"\r":t+="\\r";break;case" ":t+="\\t";break;case"\b":t+="\\b";break;case"\f":t+="\\f";break;default:let c=r.charCodeAt(0);c<32?t+="\\u"+("0000"+c.toString(16)).slice(-4):t+=r}else t+=r}return t}},Jw=class extends _t{constructor(){super(...arguments),this.name="TrailingCharactersRepair",this.description="Removes trailing characters after valid JSON structure"}canApply(e){let t=e.trim();if(!t.startsWith("{")&&!t.startsWith("["))return!1;let a=0,i=0,s=!1,r=!1;for(let n=0;n<t.length;n++){let c=t[n];if(s)r?r=!1:c==="\\"?r=!0:c==='"'&&(s=!1);else if(c==='"')s=!0;else if(c==="{")a++;else if(c==="}"){if(a--,a===0&&i===0&&n>0&&n<t.length-1)return!0}else if(c==="[")i++;else if(c==="]"&&(i--,i===0&&a===0&&n>0&&n<t.length-1))return!0}return!1}apply(e){let t=e.trim(),a=0,i=0,s=!1,r=!1,n=-1;for(let c=0;c<t.length;c++){let m=t[c];if(s)r?r=!1:m==="\\"?r=!0:m==='"'&&(s=!1);else if(m==='"')s=!0;else if(m==="{")a++;else if(m==="}"){if(a--,a===0&&i===0&&c>0){n=c;break}}else if(m==="[")i++;else if(m==="]"&&(i--,i===0&&a===0&&c>0)){n=c;break}}return n>0&&n<t.length-1?t.substring(0,n+1):e}},Cn=class{constructor(e={}){this.strategies=[],this.repairLog=[],this.options={attemptRepair:!0,maxDepth:10,preserveStringsOnFailure:!1,logRepairs:!1,...e},this.initializeDefaultStrategies(),e.customStrategies&&this.strategies.push(...e.customStrategies)}initializeDefaultStrategies(){this.strategies=[new Fg,new Hg,new $w,new Jw,new Lg,new Pg,new Yg,new Gg]}parse(e){let t=Date.now();this.repairLog=[];let a=e instanceof Buffer?e.toString("utf8"):String(e);try{return{success:!0,data:JSON.parse(a),metadata:{parseTime:Date.now()-t,strategiesApplied:[]}}}catch(r){if(!this.options.attemptRepair)return{success:!1,error:`JSON parse error: ${r}`,metadata:{parseTime:Date.now()-t}}}let i=a,s=[];for(let r of this.strategies)if(r.canApply(i)){let n=i;if(i=r.apply(i),n!==i){s.push(r.name),this.repairLog.push(r.description),this.options.logRepairs&&console.log(`Applied ${r.name}: ${r.description}`);try{return{success:!0,data:JSON.parse(i),repairs:this.repairLog,metadata:{parseTime:Date.now()-t,strategiesApplied:s}}}catch{}}}try{return{success:!0,data:JSON.parse(i),repairs:this.repairLog,metadata:{parseTime:Date.now()-t,strategiesApplied:s}}}catch(r){let n=this.aggressiveFallback(i);return n.success?{...n,repairs:[...this.repairLog,"Applied aggressive fallback"],metadata:{parseTime:Date.now()-t,strategiesApplied:[...s,"AggressiveFallback"]}}:{success:!1,error:`Failed to parse JSON after applying ${s.length} strategies: ${r}`,repairs:this.repairLog,metadata:{parseTime:Date.now()-t,strategiesApplied:s}}}}aggressiveFallback(e){try{let t=e.indexOf("{"),a=e.indexOf("[");if(t===-1&&a===-1)return{success:!1,error:"No JSON-like structure found"};let i=t===-1?a:a===-1?t:Math.min(t,a),s=e.substring(i);for(let n of this.strategies)n.canApply(s)&&(s=n.apply(s));return{success:!0,data:JSON.parse(s)}}catch(t){return{success:!1,error:`Aggressive fallback failed: ${t}`}}}addStrategy(e){this.strategies.push(e)}removeStrategy(e){this.strategies=this.strategies.filter(t=>t.name!==e)}getStrategies(){return this.strategies.map(e=>e.name)}};Ce.ResilientJsonParser=Cn;var C5=new Cn;function Vce(o,e){return(e?new Cn(e):C5).parse(o)}function Wce(o){let e=C5.parse(o);if(e.success)return e.repairs&&e.repairs.length>0&&console.log("JSON parsed with repairs:",e.repairs),e.data;throw new Error(`Failed to parse JSON: ${e.error}`)}function $ce(o){try{return JSON.parse(o),!0}catch{return!1}}function Jce(o,e=2){return JSON.stringify(o,null,e)}function Kce(o){let t=new Cn().parse(o);if(t.success)return JSON.stringify(t.data);throw new Error("Cannot minify invalid JSON")}});var wt=y(H=>{"use strict";var Zce=H&&H.__createBinding||(Object.create?(function(o,e,t,a){a===void 0&&(a=t);var i=Object.getOwnPropertyDescriptor(e,t);(!i||("get"in i?!e.__esModule:i.writable||i.configurable))&&(i={enumerable:!0,get:function(){return e[t]}}),Object.defineProperty(o,a,i)}):(function(o,e,t,a){a===void 0&&(a=t),o[a]=e[t]})),ee=H&&H.__exportStar||function(o,e){for(var t in o)t!=="default"&&!Object.prototype.hasOwnProperty.call(e,t)&&Zce(e,o,t)};Object.defineProperty(H,"__esModule",{value:!0});H.SSELogSubscriptionManager=H.SuperglueHttpError=H.SuperglueClient=void 0;ee(G1(),H);ee(eE(),H);ee(sE(),H);ee(mE(),H);ee(Rc(),H);ee(qE(),H);ee(EE(),H);ee(IE(),H);ee(CE(),H);ee(jE(),H);ee(QE(),H);ee(BE(),H);ee(DE(),H);ee(RE(),H);ee(NE(),H);ee(gl(),H);ee(ME(),H);ee(OE(),H);ee(FE(),H);ee(HE(),H);ee(GE(),H);ee(ZE(),H);ee(e2(),H);ee(t2(),H);ee(p2(),H);ee(f2(),H);ee(Zf(),H);ee(E2(),H);ee(sb(),H);ee(Q2(),H);ee(R2(),H);ee(N2(),H);ee(zt(),H);ee(Vt(),H);ee(U2(),H);ee(M2(),H);ee(Iu(),H);ee(zr(),H);ee(pu(),H);var Q5=I5();Object.defineProperty(H,"SuperglueClient",{enumerable:!0,get:function(){return Q5.SuperglueClient}});Object.defineProperty(H,"SuperglueHttpError",{enumerable:!0,get:function(){return Q5.SuperglueHttpError}});var Xce=cb();Object.defineProperty(H,"SSELogSubscriptionManager",{enumerable:!0,get:function(){return Xce.SSELogSubscriptionManager}});ee(j5(),H)});var zp=require("commander");var So=$(require("fs")),D5=$(require("os")),Ha=$(require("path")),Jm=$(wt()),B5=new Set(["runner","builder","admin"]),S5={output:{mode:"stdout",directory:".superglue/output"},preset:"admin"};function Ya(o){let e=Ha.join(process.cwd(),".superglue"),t=D5.homedir();if(!t)return e;let a=Ha.join(t,".superglue");return o===!0?e:o===!1?a:So.existsSync(Ha.join(e,"config.json"))?e:a}function Kw(o){return Ha.join(Ya(o),"config.json")}function Vg(o){let e=Kw(o);if(!So.existsSync(e))return{};try{return JSON.parse(So.readFileSync(e,"utf-8"))}catch{return{}}}function jn(o){let e=Vg(),t=o.apiKey||(0,Jm.readProcessEnvironmentValue)("SUPERGLUE_API_KEY")||e.apiKey||"",a=o.endpoint||(0,Jm.readProcessEnvironmentValue)("SUPERGLUE_API_ENDPOINT")||e.endpoint||"https://api.superglue.cloud",i=(0,Jm.readProcessEnvironmentValue)("SUPERGLUE_WEB_ENDPOINT")||e.webEndpoint||a.replace(/:3002\b/,":3001").replace(/api\.superglue/,"app.superglue"),s=(0,Jm.readProcessEnvironmentValue)("SUPERGLUE_CLI_PRESET"),r=s&&B5.has(s)?s:e.preset&&B5.has(e.preset)?e.preset:"admin";return{...S5,...e,apiKey:t,endpoint:a,webEndpoint:i,preset:r,output:{...S5.output,...e.output}}}function Wg(o,e){let t=Ya(e);So.existsSync(t)||So.mkdirSync(t,{recursive:!0}),So.writeFileSync(Ha.join(t,"config.json"),JSON.stringify(o,null,2)+`
|
|
1401
|
-
`,{mode:384})}function $g(o,e){let t=Ha.join(Ya(e),"drafts");if(So.existsSync(t)||So.mkdirSync(t,{recursive:!0}),o.output.mode==="stdout+file"){let a=Ha.resolve(o.output.directory);So.existsSync(a)||So.mkdirSync(a,{recursive:!0})}}var iv=$(wt());var Zw=$(require("readline"));var N5=require("child_process"),U5=require("util");var R5={name:"@superglue/cli",version:"1.1.
|
|
1401
|
+
`,{mode:384})}function $g(o,e){let t=Ha.join(Ya(e),"drafts");if(So.existsSync(t)||So.mkdirSync(t,{recursive:!0}),o.output.mode==="stdout+file"){let a=Ha.resolve(o.output.directory);So.existsSync(a)||So.mkdirSync(a,{recursive:!0})}}var iv=$(wt());var Zw=$(require("readline"));var N5=require("child_process"),U5=require("util");var R5={name:"@superglue/cli",version:"1.1.51",bin:{sg:"./dist/cli.js"},files:[".claude-plugin/","dist/","skills/","LICENSE"],dependencies:{commander:"15.0.0-0","fast-json-patch":"3.1.1"},devDependencies:{"@superglue/shared":"file:../shared","@types/node":"25.5.0",tsup:"8.5.1",typescript:"5.8.3"},scripts:{build:"tsup && (cp -r skills dist/ 2>/dev/null || true)",dev:"tsup --watch","type-check":"tsc --noEmit",prepublishOnly:"npm run build"},publishConfig:{access:"public"}};var ome=(0,U5.promisify)(N5.exec),Ao=R5.version;function T5(o){let e=o.match(/^(\d+)(?:-(.+))?$/);return e?{numeric:parseInt(e[1],10),prerelease:e[2]||null}:{numeric:0,prerelease:o}}function Kg(o,e){let t=o.split("."),a=e.split("."),i=Math.max(t.length,a.length);for(let s=0;s<i;s++){let r=T5(t[s]||"0"),n=T5(a[s]||"0");if(r.numeric<n.numeric)return-1;if(r.numeric>n.numeric||r.prerelease===null&&n.prerelease!==null)return 1;if(r.prerelease!==null&&n.prerelease===null)return-1;if(r.prerelease!==null&&n.prerelease!==null){if(r.prerelease<n.prerelease)return-1;if(r.prerelease>n.prerelease)return 1}}return 0}async function Zg(){try{let o=await fetch("https://registry.npmjs.org/@superglue/cli/latest",{signal:AbortSignal.timeout(5e3)});return o.ok&&(await o.json()).version||null}catch{return null}}var Jg=null;function M5(){Y()&&(Jg=Zg())}async function O5(){if(!(!Y()||!Jg)){try{let o=new Promise(t=>{setTimeout(()=>t(null),2e3).unref()}),e=await Promise.race([Jg,o]);e&&Kg(Ao,e)<0&&(console.error(""),console.error(`${h.cyan}${h.bold} Update available: ${Ao} \u2192 ${e}${h.reset}`),console.error(`${h.cyan} Run ${h.bold}sg update${h.reset}${h.cyan} to upgrade${h.reset}`),console.error(""))}catch{}Jg=null}}async function _5(){let o=await Zg();if(!o)return{success:!1,message:"Could not fetch latest version from npm"};if(Kg(Ao,o)>=0)return{success:!0,message:`Already on latest version (${Ao})`};try{return await ome("npm install -g @superglue/cli@latest"),{success:!0,message:`Updated from ${Ao} to ${o}`}}catch(e){return{success:!1,message:`Update failed: ${e.message}. Try manually: npm install -g @superglue/cli@latest`}}}var Y=()=>process.argv.includes("--table")&&process.stdout.isTTY,vt=()=>process.argv.includes("--full"),h={reset:"\x1B[0m",bold:"\x1B[1m",dim:"\x1B[2m",italic:"\x1B[3m",underline:"\x1B[4m",red:"\x1B[31m",green:"\x1B[32m",yellow:"\x1B[33m",blue:"\x1B[34m",magenta:"\x1B[35m",cyan:"\x1B[36m",white:"\x1B[37m",gray:"\x1B[90m",bgRed:"\x1B[41m",bgGreen:"\x1B[42m",bgYellow:"\x1B[43m",bgBlue:"\x1B[44m",bgMagenta:"\x1B[45m",bgCyan:"\x1B[46m"};function F5(o,e){let t=e||o;return`\x1B]8;;${o}\x07${h.underline}${h.cyan}${t}${h.reset}\x1B]8;;\x07`}function L5(){if(!Y())return;let o=h.reset,e=h.dim,t="\x1B[47;30m",a=[" #@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@- "," =@@@- @@@@ "," @@@ @@% "," -@@ @@@@= @@@ @@@ @@@@@#@ @@@@@@@ @@@@@@@ @@@@@@ @@@ @@@ @@@ @@@@@@* %@@ "," @@ @@@ *@ @@@ @@@ @@@ :@@ @@@ @@@ -@@ @@@ @% @@@ @@@ @@@ @@* @@# "," #@@ @@@# @@@ @@@ @@@ :@@ @@@ @@@ -@@ @@@ @@@ @@@ @@@ @@* @@ "," @@- @@@@= @@@ @@@ @@@@@@@ @@@@@@ @@@@@@@ @@@ @@% @@@ @@@ @@@ @@@@@. @@."," #@% .@@@@ @@@ @@@ @@@ @@@ @@@ -@@ @@@ @@% @@@ @@@ @@@ @@* @@ "," @@ @ @@@ @@@ @@@ @@@ @@@ @@@ -@@ @@@ @@% @@@ @@@ @@@ @@* *@@ "," -@@ @@@@= @@@@@@ @@@ @@@@@@@ @@@ -@@ @@@@@@ @@@@@@% @@@@@@. @@@@@@* #@@ "," :@@* @@@ "," %@@@ =@@@. "," :@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@% "];console.log(""),a.forEach(i=>{let s=i.search(/\S/),r=i.length-[...i].reverse().join("").search(/\S/)-1;if(s===-1)return console.log(" "+i);let n=i.slice(0,s),c=i.slice(s,r+1).split("").map(l=>l===" "?" ":"\u2588").join(""),m=i.slice(r+1);console.log(` ${n}${t}${c}${o}${m}`)}),console.log(` ${e} CLI v${Ao}${o}`),console.log("")}function Ee(o){if(!Y())return{stop:()=>{},update:()=>{},log:()=>{}};let e=["\u280B","\u2819","\u2839","\u2838","\u283C","\u2834","\u2826","\u2827","\u2807","\u280F"],t=0,a=o,i=()=>process.stdout.write("\r\x1B[2K"),s=()=>{process.stdout.write(`\r ${h.cyan}${e[t++%e.length]}${h.reset} ${a}`)},r=setInterval(s,80);return{update:n=>{a=n},log:n=>{i(),console.log(` ${h.dim}\u2502${h.reset} ${n}`),s()},stop:n=>{clearInterval(r),i(),n&&console.log(` ${n}`)}}}function U(o){Y()?Xg(o):console.log(JSON.stringify(o,null,2))}function ie(o,e){Y()?(console.log(` ${h.green}\u2713${h.reset} ${o}`),e&&Xg(e,4)):console.log(JSON.stringify({success:!0,message:o,...e&&typeof e=="object"?e:{data:e}}))}function z(o,e){Y()?(console.error(` ${h.red}\u2717${h.reset} ${o}`),e&&Xg(e,4)):console.error(JSON.stringify({success:!1,error:o,details:e}))}function P5(o){Y()&&console.log(` ${h.yellow}\u26A0${h.reset} ${o}`)}function mo(o){Y()&&console.log(` ${h.dim}${o}${h.reset}`)}function Ga(o){Y()&&(console.log(`
|
|
1402
1402
|
${h.bold}${h.cyan}${o}${h.reset}`),console.log(` ${h.dim}${"\u2500".repeat(o.length)}${h.reset}`))}function la(o,e,t){if(!Y()){console.log(JSON.stringify({success:!0,total:t?.total??o.length,items:o}));return}if(o.length===0){console.log(`
|
|
1403
1403
|
${h.dim}0 results${h.reset}
|
|
1404
1404
|
`);return}let a=e||Object.keys(o[0]),i=vt()?1/0:60,s=a.map(l=>Math.min(i,Math.max(l.length,...o.map(u=>String(u[l]??"").replace(/[\n\r]+/g," ").trim().length))));console.log("");let r=a.map((l,u)=>`${h.bold}${h.cyan}${l.toUpperCase().padEnd(s[u])}${h.reset}`).join(" ");console.log(` ${r}`);let n=s.map(l=>`${h.dim}${"\u2500".repeat(l)}${h.reset}`).join(`${h.dim}\u2500\u2500${h.reset}`);console.log(` ${n}`);for(let l of o){let u=a.map((d,g)=>{let p=String(l[d]??"").replace(/[\n\r]+/g," ").trim();if(p.length>i){let w=`\u2026 (${p.length})`;p=p.slice(0,Math.max(0,i-w.length))+`${h.dim}${w}${h.reset}`}return d==="status"?`${{success:h.green,running:h.yellow,failed:h.red,aborted:h.red,error:h.red,pending:h.dim}[p.toLowerCase()]||""}${p.padEnd(s[g])}${h.reset}`:p.padEnd(s[g])}).join(" ");console.log(` ${u}`)}let c=t?.total??o.length,m=c===o.length?`${o.length} result${o.length===1?"":"s"}`:`${o.length} of ${c} result${c===1?"":"s"}`;console.log(`
|