blink 1.1.17 → 1.1.20

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.
Files changed (97) hide show
  1. package/dist/browser/agent/client/index.cjs +8 -8
  2. package/dist/browser/agent/client/index.js +8 -8
  3. package/dist/cli/auth-CoJASYGP.js +2 -0
  4. package/dist/cli/chat-BDAEIrJW.js +1 -0
  5. package/dist/cli/{chat-manager-BtRfjylv.js → chat-manager-BRchJngj.js} +8 -8
  6. package/dist/cli/connect-CQUVd44y.js +1 -0
  7. package/dist/cli/connect-WyCmuQHj.js +1 -0
  8. package/dist/cli/create-slack-app-CyVPwWsG.js +1 -0
  9. package/dist/cli/{dev-VE6iNqe3.js → dev-C5PZ-A_f.js} +135 -153
  10. package/dist/cli/{dist-DxkSGwUH.js → dist-Ceoe3h7v.js} +51 -56
  11. package/dist/cli/index.js +7 -7
  12. package/dist/cli/{init-BmUPyFWc.js → init-CFrylDAP.js} +1 -1
  13. package/dist/cli/{init-templates-3vtw2MZQ.js → init-templates-CB4tNZfU.js} +72 -106
  14. package/dist/cli/login-DZFx5155.js +1 -0
  15. package/dist/cli/{run-BlY6czRh.js → run-bKDX6K46.js} +1 -1
  16. package/dist/cli/setup-slack-app-D_iwQuzr.js +1 -0
  17. package/dist/cli/{token-CrWhcy44.js → token-DNRiDJM-.js} +1 -1
  18. package/dist/cli/token-util-C6Xu44iO.js +1 -0
  19. package/dist/cli/{token-util-1KocPoKS.js → token-util-IqDtKhK6.js} +1 -1
  20. package/dist/cli/undici-L5V8WBce.js +1 -0
  21. package/dist/cli/util-BgbIWOFE.js +6 -0
  22. package/dist/cli/{util-x4GqZFrj.js → util-DDB5k1Go.js} +5 -5
  23. package/dist/node/agent/index.node.cjs +1 -1
  24. package/dist/node/agent/index.node.d.cts +2 -2
  25. package/dist/node/agent/index.node.d.ts +2 -2
  26. package/dist/node/agent/index.node.js +1 -1
  27. package/dist/node/build/index.cjs +1 -1
  28. package/dist/node/build/index.d.cts +1 -1
  29. package/dist/node/build/index.d.ts +1 -1
  30. package/dist/node/build/index.js +1 -1
  31. package/dist/node/{build-D_L0gFGa.js → build-DYI55eX2.js} +1 -1
  32. package/dist/node/{build-BzoNpizh.cjs → build-EgdtUZTI.cjs} +1 -1
  33. package/dist/node/{index-Q90WjL1a.d.ts → index-CnBfy-54.d.ts} +1 -1
  34. package/dist/node/{index-DlWgNLmT.d.cts → index-DYOqnOdZ.d.cts} +1 -1
  35. package/dist/node/index.node-B6JXREDl.js +55 -0
  36. package/dist/node/index.node-BrLfthBj.cjs +55 -0
  37. package/dist/node/{index.node-B6plkLLA.d.cts → index.node-CFw4ITad.d.cts} +1 -21
  38. package/dist/node/{index.node-BgliWLNt.d.ts → index.node-Dvc-cHCZ.d.ts} +1 -21
  39. package/dist/node/react/index.node.cjs +194 -261
  40. package/dist/node/react/index.node.d.cts +2 -2
  41. package/dist/node/react/index.node.d.ts +2 -2
  42. package/dist/node/react/index.node.js +124 -191
  43. package/dist/node/{token-Bcs36BIo.cjs → token-BBGr-czK.cjs} +1 -1
  44. package/dist/node/{token-DY8sflMu.js → token-DOfE6QlD.js} +1 -1
  45. package/dist/node/{token-util-BIiR16HV.js → token-util-C_uzN2q9.js} +1 -1
  46. package/dist/node/token-util-D9kCwzE6.cjs +1 -0
  47. package/package.json +6 -3
  48. package/README.md +0 -3
  49. package/dist/cli/auth-Db3lxkv2.js +0 -2
  50. package/dist/cli/chat-BtLHnRou.js +0 -1
  51. package/dist/cli/connect-C3y3nGPW.js +0 -1
  52. package/dist/cli/connect-C__b725p.js +0 -1
  53. package/dist/cli/create-slack-app-CNDXDwfs.js +0 -1
  54. package/dist/cli/execAsync-BeUIz9nV.js +0 -1
  55. package/dist/cli/execAsync-Byz_iObc.js +0 -1
  56. package/dist/cli/execAsync-CQurQFgT.js +0 -1
  57. package/dist/cli/getMachineId-bsd-2l7jEJ9H.js +0 -1
  58. package/dist/cli/getMachineId-bsd-Cn9OZifa.js +0 -1
  59. package/dist/cli/getMachineId-bsd-DP_S0ZSE.js +0 -1
  60. package/dist/cli/getMachineId-darwin-C-kdKVWl.js +0 -2
  61. package/dist/cli/getMachineId-darwin-D6Y_ttQ1.js +0 -2
  62. package/dist/cli/getMachineId-darwin-D9mTsu57.js +0 -2
  63. package/dist/cli/getMachineId-linux-CI6sk5r7.js +0 -1
  64. package/dist/cli/getMachineId-linux-DA2UB-e3.js +0 -1
  65. package/dist/cli/getMachineId-linux-DGORKISs.js +0 -1
  66. package/dist/cli/getMachineId-unsupported-B4t2intc.js +0 -1
  67. package/dist/cli/getMachineId-unsupported-B6Ips7oB.js +0 -1
  68. package/dist/cli/getMachineId-unsupported-Cxfw7WwT.js +0 -1
  69. package/dist/cli/getMachineId-win-B6FQ_uBq.js +0 -1
  70. package/dist/cli/getMachineId-win-Dr2KTzTp.js +0 -1
  71. package/dist/cli/getMachineId-win-QxOtxJWo.js +0 -1
  72. package/dist/cli/login-D1muj139.js +0 -1
  73. package/dist/cli/open-S_jcQ0nw.js +0 -1
  74. package/dist/cli/server-C8plsU0X-b-FVGGZ1.js +0 -16
  75. package/dist/cli/setup-slack-app-BeKQIOnA.js +0 -1
  76. package/dist/cli/token-util-CRJP9Uji.js +0 -1
  77. package/dist/cli/undici-CeDxbuSU.js +0 -1
  78. package/dist/node/execAsync-DDSV4gfK.cjs +0 -1
  79. package/dist/node/execAsync-DQysi_u6.js +0 -1
  80. package/dist/node/getMachineId-bsd-D2W6fhXU.js +0 -1
  81. package/dist/node/getMachineId-bsd-DM9BAly2.cjs +0 -1
  82. package/dist/node/getMachineId-darwin-BsTWxMfp.cjs +0 -2
  83. package/dist/node/getMachineId-darwin-Dk0tjVME.js +0 -2
  84. package/dist/node/getMachineId-linux-DZ7RMAHq.js +0 -1
  85. package/dist/node/getMachineId-linux-DmWhhrp6.cjs +0 -1
  86. package/dist/node/getMachineId-unsupported-CiZad6mc.js +0 -1
  87. package/dist/node/getMachineId-unsupported-y6X1AHF8.cjs +0 -1
  88. package/dist/node/getMachineId-win-_P_0Nv15.js +0 -1
  89. package/dist/node/getMachineId-win-e1UzWB2B.cjs +0 -1
  90. package/dist/node/index.node-CijG75ex.cjs +0 -55
  91. package/dist/node/index.node-CvZqlsJo.js +0 -55
  92. package/dist/node/token-util-BrE-Vihm.cjs +0 -1
  93. /package/dist/cli/{devtools-CcsObSm8.js → devtools-DvNholmW.js} +0 -0
  94. /package/dist/cli/{token-error-CoDMyqH1.js → token-error-DVSfBVaT.js} +0 -0
  95. /package/dist/cli/{undici-DS7K19Do.js → undici-BUZTy5qm.js} +0 -0
  96. /package/dist/node/{token-util-B9ankBb5.cjs → token-util-BOoyY0PX.cjs} +0 -0
  97. /package/dist/node/{token-util-Czyk5fmW.js → token-util-_pz5CtFI.js} +0 -0
package/dist/cli/index.js CHANGED
@@ -1,5 +1,5 @@
1
1
  #!/usr/bin/env node
2
- import{__commonJSMin as e,__require as t,__toESM as n}from"./chunk-D9KrCrVq.js";import{import_websocket as r}from"./wrapper-B0SBsJWP.js";import{findNearestEntry as i,migrateBlinkToData as a,require_main as o,resolveConfig as s}from"./util-x4GqZFrj.js";import{Client as c,Y as l,pD as u,require_source as d,ve as f,ye as p}from"./dist-DxkSGwUH.js";import{loginIfNeeded as m}from"./auth-Db3lxkv2.js";import"./open-S_jcQ0nw.js";import{require_ignore as h}from"./ignore-NA4V6Pjc.js";import{getDevhookID as g,resetDevhookID as _}from"./create-slack-app-CNDXDwfs.js";import{setupSlackAppCommand as v}from"./setup-slack-app-BeKQIOnA.js";import{randomUUID as y}from"crypto";import{basename as b,dirname as x,join as S,relative as C}from"node:path";import{existsSync as ee}from"node:fs";import{mkdir as w,readdir as T,writeFile as te}from"fs/promises";import{readFile as E,stat as ne}from"node:fs/promises";import{inspect as re}from"node:util";var D=e((e=>{var t=class extends Error{constructor(e,t,n){super(n),Error.captureStackTrace(this,this.constructor),this.name=this.constructor.name,this.code=t,this.exitCode=e,this.nestedError=void 0}},n=class extends t{constructor(e){super(1,`commander.invalidArgument`,e),Error.captureStackTrace(this,this.constructor),this.name=this.constructor.name}};e.CommanderError=t,e.InvalidArgumentError=n})),O=e((e=>{let{InvalidArgumentError:t}=D();var n=class{constructor(e,t){switch(this.description=t||``,this.variadic=!1,this.parseArg=void 0,this.defaultValue=void 0,this.defaultValueDescription=void 0,this.argChoices=void 0,e[0]){case`<`:this.required=!0,this._name=e.slice(1,-1);break;case`[`:this.required=!1,this._name=e.slice(1,-1);break;default:this.required=!0,this._name=e;break}this._name.endsWith(`...`)&&(this.variadic=!0,this._name=this._name.slice(0,-3))}name(){return this._name}_collectValue(e,t){return t===this.defaultValue||!Array.isArray(t)?[e]:(t.push(e),t)}default(e,t){return this.defaultValue=e,this.defaultValueDescription=t,this}argParser(e){return this.parseArg=e,this}choices(e){return this.argChoices=e.slice(),this.parseArg=(e,n)=>{if(!this.argChoices.includes(e))throw new t(`Allowed choices are ${this.argChoices.join(`, `)}.`);return this.variadic?this._collectValue(e,n):e},this}argRequired(){return this.required=!0,this}argOptional(){return this.required=!1,this}};function r(e){let t=e.name()+(e.variadic===!0?`...`:``);return e.required?`<`+t+`>`:`[`+t+`]`}e.Argument=n,e.humanReadableArgName=r})),k=e((e=>{let{humanReadableArgName:t}=O();var n=class{constructor(){this.helpWidth=void 0,this.minWidthToWrap=40,this.sortSubcommands=!1,this.sortOptions=!1,this.showGlobalOptions=!1}prepareContext(e){this.helpWidth=this.helpWidth??e.helpWidth??80}visibleCommands(e){let t=e.commands.filter(e=>!e._hidden),n=e._getHelpCommand();return n&&!n._hidden&&t.push(n),this.sortSubcommands&&t.sort((e,t)=>e.name().localeCompare(t.name())),t}compareOptions(e,t){let n=e=>e.short?e.short.replace(/^-/,``):e.long.replace(/^--/,``);return n(e).localeCompare(n(t))}visibleOptions(e){let t=e.options.filter(e=>!e.hidden),n=e._getHelpOption();if(n&&!n.hidden){let r=n.short&&e._findOption(n.short),i=n.long&&e._findOption(n.long);!r&&!i?t.push(n):n.long&&!i?t.push(e.createOption(n.long,n.description)):n.short&&!r&&t.push(e.createOption(n.short,n.description))}return this.sortOptions&&t.sort(this.compareOptions),t}visibleGlobalOptions(e){if(!this.showGlobalOptions)return[];let t=[];for(let n=e.parent;n;n=n.parent){let e=n.options.filter(e=>!e.hidden);t.push(...e)}return this.sortOptions&&t.sort(this.compareOptions),t}visibleArguments(e){return e._argsDescription&&e.registeredArguments.forEach(t=>{t.description=t.description||e._argsDescription[t.name()]||``}),e.registeredArguments.find(e=>e.description)?e.registeredArguments:[]}subcommandTerm(e){let n=e.registeredArguments.map(e=>t(e)).join(` `);return e._name+(e._aliases[0]?`|`+e._aliases[0]:``)+(e.options.length?` [options]`:``)+(n?` `+n:``)}optionTerm(e){return e.flags}argumentTerm(e){return e.name()}longestSubcommandTermLength(e,t){return t.visibleCommands(e).reduce((e,n)=>Math.max(e,this.displayWidth(t.styleSubcommandTerm(t.subcommandTerm(n)))),0)}longestOptionTermLength(e,t){return t.visibleOptions(e).reduce((e,n)=>Math.max(e,this.displayWidth(t.styleOptionTerm(t.optionTerm(n)))),0)}longestGlobalOptionTermLength(e,t){return t.visibleGlobalOptions(e).reduce((e,n)=>Math.max(e,this.displayWidth(t.styleOptionTerm(t.optionTerm(n)))),0)}longestArgumentTermLength(e,t){return t.visibleArguments(e).reduce((e,n)=>Math.max(e,this.displayWidth(t.styleArgumentTerm(t.argumentTerm(n)))),0)}commandUsage(e){let t=e._name;e._aliases[0]&&(t=t+`|`+e._aliases[0]);let n=``;for(let t=e.parent;t;t=t.parent)n=t.name()+` `+n;return n+t+` `+e.usage()}commandDescription(e){return e.description()}subcommandDescription(e){return e.summary()||e.description()}optionDescription(e){let t=[];if(e.argChoices&&t.push(`choices: ${e.argChoices.map(e=>JSON.stringify(e)).join(`, `)}`),e.defaultValue!==void 0&&(e.required||e.optional||e.isBoolean()&&typeof e.defaultValue==`boolean`)&&t.push(`default: ${e.defaultValueDescription||JSON.stringify(e.defaultValue)}`),e.presetArg!==void 0&&e.optional&&t.push(`preset: ${JSON.stringify(e.presetArg)}`),e.envVar!==void 0&&t.push(`env: ${e.envVar}`),t.length>0){let n=`(${t.join(`, `)})`;return e.description?`${e.description} ${n}`:n}return e.description}argumentDescription(e){let t=[];if(e.argChoices&&t.push(`choices: ${e.argChoices.map(e=>JSON.stringify(e)).join(`, `)}`),e.defaultValue!==void 0&&t.push(`default: ${e.defaultValueDescription||JSON.stringify(e.defaultValue)}`),t.length>0){let n=`(${t.join(`, `)})`;return e.description?`${e.description} ${n}`:n}return e.description}formatItemList(e,t,n){return t.length===0?[]:[n.styleTitle(e),...t,``]}groupItems(e,t,n){let r=new Map;return e.forEach(e=>{let t=n(e);r.has(t)||r.set(t,[])}),t.forEach(e=>{let t=n(e);r.has(t)||r.set(t,[]),r.get(t).push(e)}),r}formatHelp(e,t){let n=t.padWidth(e,t),r=t.helpWidth??80;function i(e,r){return t.formatItem(e,n,r,t)}let a=[`${t.styleTitle(`Usage:`)} ${t.styleUsage(t.commandUsage(e))}`,``],o=t.commandDescription(e);o.length>0&&(a=a.concat([t.boxWrap(t.styleCommandDescription(o),r),``]));let s=t.visibleArguments(e).map(e=>i(t.styleArgumentTerm(t.argumentTerm(e)),t.styleArgumentDescription(t.argumentDescription(e))));if(a=a.concat(this.formatItemList(`Arguments:`,s,t)),this.groupItems(e.options,t.visibleOptions(e),e=>e.helpGroupHeading??`Options:`).forEach((e,n)=>{let r=e.map(e=>i(t.styleOptionTerm(t.optionTerm(e)),t.styleOptionDescription(t.optionDescription(e))));a=a.concat(this.formatItemList(n,r,t))}),t.showGlobalOptions){let n=t.visibleGlobalOptions(e).map(e=>i(t.styleOptionTerm(t.optionTerm(e)),t.styleOptionDescription(t.optionDescription(e))));a=a.concat(this.formatItemList(`Global Options:`,n,t))}return this.groupItems(e.commands,t.visibleCommands(e),e=>e.helpGroup()||`Commands:`).forEach((e,n)=>{let r=e.map(e=>i(t.styleSubcommandTerm(t.subcommandTerm(e)),t.styleSubcommandDescription(t.subcommandDescription(e))));a=a.concat(this.formatItemList(n,r,t))}),a.join(`
2
+ import{__commonJSMin as e,__require as t,__toESM as n}from"./chunk-D9KrCrVq.js";import{import_websocket as r}from"./wrapper-B0SBsJWP.js";import{findNearestEntry as i,migrateDataToBlink as a,require_main as o,resolveConfig as s}from"./util-DDB5k1Go.js";import{Client as c,M as l,Y as u,pD as d,ve as f,ye as p}from"./dist-Ceoe3h7v.js";import{loginIfNeeded as m}from"./auth-CoJASYGP.js";import{require_source as h}from"./util-BgbIWOFE.js";import{require_ignore as g}from"./ignore-NA4V6Pjc.js";import{getDevhookID as _,resetDevhookID as ee}from"./create-slack-app-CyVPwWsG.js";import{setupSlackAppCommand as v}from"./setup-slack-app-D_iwQuzr.js";import{randomUUID as y}from"crypto";import{basename as b,dirname as x,join as S,relative as te}from"node:path";import{existsSync as ne}from"node:fs";import{mkdir as C,readdir as w,writeFile as T}from"fs/promises";import{readFile as E,stat as re}from"node:fs/promises";import{inspect as ie}from"node:util";var D=e((e=>{var t=class extends Error{constructor(e,t,n){super(n),Error.captureStackTrace(this,this.constructor),this.name=this.constructor.name,this.code=t,this.exitCode=e,this.nestedError=void 0}},n=class extends t{constructor(e){super(1,`commander.invalidArgument`,e),Error.captureStackTrace(this,this.constructor),this.name=this.constructor.name}};e.CommanderError=t,e.InvalidArgumentError=n})),O=e((e=>{let{InvalidArgumentError:t}=D();var n=class{constructor(e,t){switch(this.description=t||``,this.variadic=!1,this.parseArg=void 0,this.defaultValue=void 0,this.defaultValueDescription=void 0,this.argChoices=void 0,e[0]){case`<`:this.required=!0,this._name=e.slice(1,-1);break;case`[`:this.required=!1,this._name=e.slice(1,-1);break;default:this.required=!0,this._name=e;break}this._name.endsWith(`...`)&&(this.variadic=!0,this._name=this._name.slice(0,-3))}name(){return this._name}_collectValue(e,t){return t===this.defaultValue||!Array.isArray(t)?[e]:(t.push(e),t)}default(e,t){return this.defaultValue=e,this.defaultValueDescription=t,this}argParser(e){return this.parseArg=e,this}choices(e){return this.argChoices=e.slice(),this.parseArg=(e,n)=>{if(!this.argChoices.includes(e))throw new t(`Allowed choices are ${this.argChoices.join(`, `)}.`);return this.variadic?this._collectValue(e,n):e},this}argRequired(){return this.required=!0,this}argOptional(){return this.required=!1,this}};function r(e){let t=e.name()+(e.variadic===!0?`...`:``);return e.required?`<`+t+`>`:`[`+t+`]`}e.Argument=n,e.humanReadableArgName=r})),k=e((e=>{let{humanReadableArgName:t}=O();var n=class{constructor(){this.helpWidth=void 0,this.minWidthToWrap=40,this.sortSubcommands=!1,this.sortOptions=!1,this.showGlobalOptions=!1}prepareContext(e){this.helpWidth=this.helpWidth??e.helpWidth??80}visibleCommands(e){let t=e.commands.filter(e=>!e._hidden),n=e._getHelpCommand();return n&&!n._hidden&&t.push(n),this.sortSubcommands&&t.sort((e,t)=>e.name().localeCompare(t.name())),t}compareOptions(e,t){let n=e=>e.short?e.short.replace(/^-/,``):e.long.replace(/^--/,``);return n(e).localeCompare(n(t))}visibleOptions(e){let t=e.options.filter(e=>!e.hidden),n=e._getHelpOption();if(n&&!n.hidden){let r=n.short&&e._findOption(n.short),i=n.long&&e._findOption(n.long);!r&&!i?t.push(n):n.long&&!i?t.push(e.createOption(n.long,n.description)):n.short&&!r&&t.push(e.createOption(n.short,n.description))}return this.sortOptions&&t.sort(this.compareOptions),t}visibleGlobalOptions(e){if(!this.showGlobalOptions)return[];let t=[];for(let n=e.parent;n;n=n.parent){let e=n.options.filter(e=>!e.hidden);t.push(...e)}return this.sortOptions&&t.sort(this.compareOptions),t}visibleArguments(e){return e._argsDescription&&e.registeredArguments.forEach(t=>{t.description=t.description||e._argsDescription[t.name()]||``}),e.registeredArguments.find(e=>e.description)?e.registeredArguments:[]}subcommandTerm(e){let n=e.registeredArguments.map(e=>t(e)).join(` `);return e._name+(e._aliases[0]?`|`+e._aliases[0]:``)+(e.options.length?` [options]`:``)+(n?` `+n:``)}optionTerm(e){return e.flags}argumentTerm(e){return e.name()}longestSubcommandTermLength(e,t){return t.visibleCommands(e).reduce((e,n)=>Math.max(e,this.displayWidth(t.styleSubcommandTerm(t.subcommandTerm(n)))),0)}longestOptionTermLength(e,t){return t.visibleOptions(e).reduce((e,n)=>Math.max(e,this.displayWidth(t.styleOptionTerm(t.optionTerm(n)))),0)}longestGlobalOptionTermLength(e,t){return t.visibleGlobalOptions(e).reduce((e,n)=>Math.max(e,this.displayWidth(t.styleOptionTerm(t.optionTerm(n)))),0)}longestArgumentTermLength(e,t){return t.visibleArguments(e).reduce((e,n)=>Math.max(e,this.displayWidth(t.styleArgumentTerm(t.argumentTerm(n)))),0)}commandUsage(e){let t=e._name;e._aliases[0]&&(t=t+`|`+e._aliases[0]);let n=``;for(let t=e.parent;t;t=t.parent)n=t.name()+` `+n;return n+t+` `+e.usage()}commandDescription(e){return e.description()}subcommandDescription(e){return e.summary()||e.description()}optionDescription(e){let t=[];if(e.argChoices&&t.push(`choices: ${e.argChoices.map(e=>JSON.stringify(e)).join(`, `)}`),e.defaultValue!==void 0&&(e.required||e.optional||e.isBoolean()&&typeof e.defaultValue==`boolean`)&&t.push(`default: ${e.defaultValueDescription||JSON.stringify(e.defaultValue)}`),e.presetArg!==void 0&&e.optional&&t.push(`preset: ${JSON.stringify(e.presetArg)}`),e.envVar!==void 0&&t.push(`env: ${e.envVar}`),t.length>0){let n=`(${t.join(`, `)})`;return e.description?`${e.description} ${n}`:n}return e.description}argumentDescription(e){let t=[];if(e.argChoices&&t.push(`choices: ${e.argChoices.map(e=>JSON.stringify(e)).join(`, `)}`),e.defaultValue!==void 0&&t.push(`default: ${e.defaultValueDescription||JSON.stringify(e.defaultValue)}`),t.length>0){let n=`(${t.join(`, `)})`;return e.description?`${e.description} ${n}`:n}return e.description}formatItemList(e,t,n){return t.length===0?[]:[n.styleTitle(e),...t,``]}groupItems(e,t,n){let r=new Map;return e.forEach(e=>{let t=n(e);r.has(t)||r.set(t,[])}),t.forEach(e=>{let t=n(e);r.has(t)||r.set(t,[]),r.get(t).push(e)}),r}formatHelp(e,t){let n=t.padWidth(e,t),r=t.helpWidth??80;function i(e,r){return t.formatItem(e,n,r,t)}let a=[`${t.styleTitle(`Usage:`)} ${t.styleUsage(t.commandUsage(e))}`,``],o=t.commandDescription(e);o.length>0&&(a=a.concat([t.boxWrap(t.styleCommandDescription(o),r),``]));let s=t.visibleArguments(e).map(e=>i(t.styleArgumentTerm(t.argumentTerm(e)),t.styleArgumentDescription(t.argumentDescription(e))));if(a=a.concat(this.formatItemList(`Arguments:`,s,t)),this.groupItems(e.options,t.visibleOptions(e),e=>e.helpGroupHeading??`Options:`).forEach((e,n)=>{let r=e.map(e=>i(t.styleOptionTerm(t.optionTerm(e)),t.styleOptionDescription(t.optionDescription(e))));a=a.concat(this.formatItemList(n,r,t))}),t.showGlobalOptions){let n=t.visibleGlobalOptions(e).map(e=>i(t.styleOptionTerm(t.optionTerm(e)),t.styleOptionDescription(t.optionDescription(e))));a=a.concat(this.formatItemList(`Global Options:`,n,t))}return this.groupItems(e.commands,t.visibleCommands(e),e=>e.helpGroup()||`Commands:`).forEach((e,n)=>{let r=e.map(e=>i(t.styleSubcommandTerm(t.subcommandTerm(e)),t.styleSubcommandDescription(t.subcommandDescription(e))));a=a.concat(this.formatItemList(n,r,t))}),a.join(`
3
3
  `)}displayWidth(e){return r(e).length}styleTitle(e){return e}styleUsage(e){return e.split(` `).map(e=>e===`[options]`?this.styleOptionText(e):e===`[command]`?this.styleSubcommandText(e):e[0]===`[`||e[0]===`<`?this.styleArgumentText(e):this.styleCommandText(e)).join(` `)}styleCommandDescription(e){return this.styleDescriptionText(e)}styleOptionDescription(e){return this.styleDescriptionText(e)}styleSubcommandDescription(e){return this.styleDescriptionText(e)}styleArgumentDescription(e){return this.styleDescriptionText(e)}styleDescriptionText(e){return e}styleOptionTerm(e){return this.styleOptionText(e)}styleSubcommandTerm(e){return e.split(` `).map(e=>e===`[options]`?this.styleOptionText(e):e[0]===`[`||e[0]===`<`?this.styleArgumentText(e):this.styleSubcommandText(e)).join(` `)}styleArgumentTerm(e){return this.styleArgumentText(e)}styleOptionText(e){return e}styleArgumentText(e){return e}styleSubcommandText(e){return e}styleCommandText(e){return e}padWidth(e,t){return Math.max(t.longestOptionTermLength(e,t),t.longestGlobalOptionTermLength(e,t),t.longestSubcommandTermLength(e,t),t.longestArgumentTermLength(e,t))}preformatted(e){return/\n[^\S\r\n]/.test(e)}formatItem(e,t,n,r){let i=` `.repeat(2);if(!n)return i+e;let a=e.padEnd(t+e.length-r.displayWidth(e)),o=(this.helpWidth??80)-t-2-2,s;return s=o<this.minWidthToWrap||r.preformatted(n)?n:r.boxWrap(n,o).replace(/\n/g,`
4
4
  `+` `.repeat(t+2)),i+a+` `.repeat(2)+s.replace(/\n/g,`\n${i}`)}boxWrap(e,t){if(t<this.minWidthToWrap)return e;let n=e.split(/\r\n|\n/),r=/[\s]*[^\s]+/g,i=[];return n.forEach(e=>{let n=e.match(r);if(n===null){i.push(``);return}let a=[n.shift()],o=this.displayWidth(a[0]);n.forEach(e=>{let n=this.displayWidth(e);if(o+n<=t){a.push(e),o+=n;return}i.push(a.join(``));let r=e.trimStart();a=[r],o=this.displayWidth(r)}),i.push(a.join(``))}),i.join(`
5
5
  `)}};function r(e){return e.replace(/\x1b\[\d*(;\d*)*m/g,``)}e.Help=n,e.stripColor=r})),A=e((e=>{let{InvalidArgumentError:t}=D();var n=class{constructor(e,t){this.flags=e,this.description=t||``,this.required=e.includes(`<`),this.optional=e.includes(`[`),this.variadic=/\w\.\.\.[>\]]$/.test(e),this.mandatory=!1;let n=a(e);this.short=n.shortFlag,this.long=n.longFlag,this.negate=!1,this.long&&(this.negate=this.long.startsWith(`--no-`)),this.defaultValue=void 0,this.defaultValueDescription=void 0,this.presetArg=void 0,this.envVar=void 0,this.parseArg=void 0,this.hidden=!1,this.argChoices=void 0,this.conflictsWith=[],this.implied=void 0,this.helpGroupHeading=void 0}default(e,t){return this.defaultValue=e,this.defaultValueDescription=t,this}preset(e){return this.presetArg=e,this}conflicts(e){return this.conflictsWith=this.conflictsWith.concat(e),this}implies(e){let t=e;return typeof e==`string`&&(t={[e]:!0}),this.implied=Object.assign(this.implied||{},t),this}env(e){return this.envVar=e,this}argParser(e){return this.parseArg=e,this}makeOptionMandatory(e=!0){return this.mandatory=!!e,this}hideHelp(e=!0){return this.hidden=!!e,this}_collectValue(e,t){return t===this.defaultValue||!Array.isArray(t)?[e]:(t.push(e),t)}choices(e){return this.argChoices=e.slice(),this.parseArg=(e,n)=>{if(!this.argChoices.includes(e))throw new t(`Allowed choices are ${this.argChoices.join(`, `)}.`);return this.variadic?this._collectValue(e,n):e},this}name(){return this.long?this.long.replace(/^--/,``):this.short.replace(/^-/,``)}attributeName(){return this.negate?i(this.name().replace(/^no-/,``)):i(this.name())}helpGroup(e){return this.helpGroupHeading=e,this}is(e){return this.short===e||this.long===e}isBoolean(){return!this.required&&!this.optional&&!this.negate}},r=class{constructor(e){this.positiveOptions=new Map,this.negativeOptions=new Map,this.dualOptions=new Set,e.forEach(e=>{e.negate?this.negativeOptions.set(e.attributeName(),e):this.positiveOptions.set(e.attributeName(),e)}),this.negativeOptions.forEach((e,t)=>{this.positiveOptions.has(t)&&this.dualOptions.add(t)})}valueFromOption(e,t){let n=t.attributeName();if(!this.dualOptions.has(n))return!0;let r=this.negativeOptions.get(n).presetArg,i=r===void 0?!1:r;return t.negate===(i===e)}};function i(e){return e.split(`-`).reduce((e,t)=>e+t[0].toUpperCase()+t.slice(1))}function a(e){let t,n,r=/^-[^-]$/,i=/^--[^-]/,a=e.split(/[ |,]+/).concat(`guard`);if(r.test(a[0])&&(t=a.shift()),i.test(a[0])&&(n=a.shift()),!t&&r.test(a[0])&&(t=a.shift()),!t&&i.test(a[0])&&(t=n,n=a.shift()),a[0].startsWith(`-`)){let t=a[0],n=`option creation failed due to '${t}' in option flags '${e}'`;throw/^-[^-][^-]/.test(t)?Error(`${n}
@@ -17,9 +17,9 @@ Expecting one of '${n.join(`', '`)}'`);return this._lifeCycleHooks[e]?this._life
17
17
  - if the default executable name is not suitable, use the executableFile option to supply a custom name or path
18
18
  - ${r}`;throw Error(i)}_executeSubCommand(e,t){t=t.slice();let n=!1,s=[`.js`,`.ts`,`.tsx`,`.mjs`,`.cjs`];function c(e,t){let n=i.resolve(e,t);if(a.existsSync(n))return n;if(s.includes(i.extname(t)))return;let r=s.find(e=>a.existsSync(`${n}${e}`));if(r)return`${n}${r}`}this._checkForMissingMandatoryOptions(),this._checkForConflictingOptions();let u=e._executableFile||`${this._name}-${e._name}`,d=this._executableDir||``;if(this._scriptPath){let e;try{e=a.realpathSync(this._scriptPath)}catch{e=this._scriptPath}d=i.resolve(i.dirname(e),d)}if(d){let t=c(d,u);if(!t&&!e._executableFile&&this._scriptPath){let n=i.basename(this._scriptPath,i.extname(this._scriptPath));n!==this._name&&(t=c(d,`${n}-${e._name}`))}u=t||u}n=s.includes(i.extname(u));let f;o.platform===`win32`?(this._checkForMissingExecutable(u,d,e._name),t.unshift(u),t=g(o.execArgv).concat(t),f=r.spawn(o.execPath,t,{stdio:`inherit`})):n?(t.unshift(u),t=g(o.execArgv).concat(t),f=r.spawn(o.argv[0],t,{stdio:`inherit`})):f=r.spawn(u,t,{stdio:`inherit`}),f.killed||[`SIGUSR1`,`SIGUSR2`,`SIGTERM`,`SIGINT`,`SIGHUP`].forEach(e=>{o.on(e,()=>{f.killed===!1&&f.exitCode===null&&f.kill(e)})});let p=this._exitCallback;f.on(`close`,e=>{e??=1,p?p(new l(e,`commander.executeSubCommandAsync`,`(close)`)):o.exit(e)}),f.on(`error`,t=>{if(t.code===`ENOENT`)this._checkForMissingExecutable(u,d,e._name);else if(t.code===`EACCES`)throw Error(`'${u}' not executable`);if(!p)o.exit(1);else{let e=new l(1,`commander.executeSubCommandAsync`,`(error)`);e.nestedError=t,p(e)}}),this.runningCommand=f}_dispatchSubcommand(e,t,n){let r=this._findCommand(e);r||this.help({error:!0}),r._prepareForParse();let i;return i=this._chainOrCallSubCommandHook(i,r,`preSubcommand`),i=this._chainOrCall(i,()=>{if(r._executableHandler)this._executeSubCommand(r,t.concat(n));else return r._parseCommand(t,n)}),i}_dispatchHelpCommand(e){e||this.help();let t=this._findCommand(e);return t&&!t._executableHandler&&t.help(),this._dispatchSubcommand(e,[],[this._getHelpOption()?.long??this._getHelpOption()?.short??`--help`])}_checkNumberOfArguments(){this.registeredArguments.forEach((e,t)=>{e.required&&this.args[t]==null&&this.missingArgument(e.name())}),!(this.registeredArguments.length>0&&this.registeredArguments[this.registeredArguments.length-1].variadic)&&this.args.length>this.registeredArguments.length&&this._excessArguments(this.args)}_processArguments(){let e=(e,t,n)=>{let r=t;if(t!==null&&e.parseArg){let i=`error: command-argument value '${t}' is invalid for argument '${e.name()}'.`;r=this._callParseArg(e,t,n,i)}return r};this._checkNumberOfArguments();let t=[];this.registeredArguments.forEach((n,r)=>{let i=n.defaultValue;n.variadic?r<this.args.length?(i=this.args.slice(r),n.parseArg&&(i=i.reduce((t,r)=>e(n,r,t),n.defaultValue))):i===void 0&&(i=[]):r<this.args.length&&(i=this.args[r],n.parseArg&&(i=e(n,i,n.defaultValue))),t[r]=i}),this.processedArgs=t}_chainOrCall(e,t){return e?.then&&typeof e.then==`function`?e.then(()=>t()):t()}_chainOrCallHooks(e,t){let n=e,r=[];return this._getCommandAndAncestors().reverse().filter(e=>e._lifeCycleHooks[t]!==void 0).forEach(e=>{e._lifeCycleHooks[t].forEach(t=>{r.push({hookedCommand:e,callback:t})})}),t===`postAction`&&r.reverse(),r.forEach(e=>{n=this._chainOrCall(n,()=>e.callback(e.hookedCommand,this))}),n}_chainOrCallSubCommandHook(e,t,n){let r=e;return this._lifeCycleHooks[n]!==void 0&&this._lifeCycleHooks[n].forEach(e=>{r=this._chainOrCall(r,()=>e(this,t))}),r}_parseCommand(e,t){let n=this.parseOptions(t);if(this._parseOptionsEnv(),this._parseOptionsImplied(),e=e.concat(n.operands),t=n.unknown,this.args=e.concat(t),e&&this._findCommand(e[0]))return this._dispatchSubcommand(e[0],e.slice(1),t);if(this._getHelpCommand()&&e[0]===this._getHelpCommand().name())return this._dispatchHelpCommand(e[1]);if(this._defaultCommandName)return this._outputHelpIfRequested(t),this._dispatchSubcommand(this._defaultCommandName,e,t);this.commands.length&&this.args.length===0&&!this._actionHandler&&!this._defaultCommandName&&this.help({error:!0}),this._outputHelpIfRequested(n.unknown),this._checkForMissingMandatoryOptions(),this._checkForConflictingOptions();let r=()=>{n.unknown.length>0&&this.unknownOption(n.unknown[0])},i=`command:${this.name()}`;if(this._actionHandler){r(),this._processArguments();let n;return n=this._chainOrCallHooks(n,`preAction`),n=this._chainOrCall(n,()=>this._actionHandler(this.processedArgs)),this.parent&&(n=this._chainOrCall(n,()=>{this.parent.emit(i,e,t)})),n=this._chainOrCallHooks(n,`postAction`),n}if(this.parent?.listenerCount(i))r(),this._processArguments(),this.parent.emit(i,e,t);else if(e.length){if(this._findCommand(`*`))return this._dispatchSubcommand(`*`,e,t);this.listenerCount(`command:*`)?this.emit(`command:*`,e,t):this.commands.length?this.unknownCommand():(r(),this._processArguments())}else this.commands.length?(r(),this.help({error:!0})):(r(),this._processArguments())}_findCommand(e){if(e)return this.commands.find(t=>t._name===e||t._aliases.includes(e))}_findOption(e){return this.options.find(t=>t.is(e))}_checkForMissingMandatoryOptions(){this._getCommandAndAncestors().forEach(e=>{e.options.forEach(t=>{t.mandatory&&e.getOptionValue(t.attributeName())===void 0&&e.missingMandatoryOptionValue(t)})})}_checkForConflictingLocalOptions(){let e=this.options.filter(e=>{let t=e.attributeName();return this.getOptionValue(t)===void 0?!1:this.getOptionValueSource(t)!==`default`});e.filter(e=>e.conflictsWith.length>0).forEach(t=>{let n=e.find(e=>t.conflictsWith.includes(e.attributeName()));n&&this._conflictingOption(t,n)})}_checkForConflictingOptions(){this._getCommandAndAncestors().forEach(e=>{e._checkForConflictingLocalOptions()})}parseOptions(e){let t=[],n=[],r=t;function i(e){return e.length>1&&e[0]===`-`}let a=e=>/^-\d*\.?\d+(e[+-]?\d+)?$/.test(e)?!this._getCommandAndAncestors().some(e=>e.options.map(e=>e.short).some(e=>/^-\d$/.test(e))):!1,o=null,s=null,c=0;for(;c<e.length||s;){let l=s??e[c++];if(s=null,l===`--`){r===n&&r.push(l),r.push(...e.slice(c));break}if(o&&(!i(l)||a(l))){this.emit(`option:${o.name()}`,l);continue}if(o=null,i(l)){let t=this._findOption(l);if(t){if(t.required){let n=e[c++];n===void 0&&this.optionMissingArgument(t),this.emit(`option:${t.name()}`,n)}else if(t.optional){let n=null;c<e.length&&(!i(e[c])||a(e[c]))&&(n=e[c++]),this.emit(`option:${t.name()}`,n)}else this.emit(`option:${t.name()}`);o=t.variadic?t:null;continue}}if(l.length>2&&l[0]===`-`&&l[1]!==`-`){let e=this._findOption(`-${l[1]}`);if(e){e.required||e.optional&&this._combineFlagAndOptionalValue?this.emit(`option:${e.name()}`,l.slice(2)):(this.emit(`option:${e.name()}`),s=`-${l.slice(2)}`);continue}}if(/^--[^=]+=/.test(l)){let e=l.indexOf(`=`),t=this._findOption(l.slice(0,e));if(t&&(t.required||t.optional)){this.emit(`option:${t.name()}`,l.slice(e+1));continue}}if(r===t&&i(l)&&!(this.commands.length===0&&a(l))&&(r=n),(this._enablePositionalOptions||this._passThroughOptions)&&t.length===0&&n.length===0){if(this._findCommand(l)){t.push(l),n.push(...e.slice(c));break}else if(this._getHelpCommand()&&l===this._getHelpCommand().name()){t.push(l,...e.slice(c));break}else if(this._defaultCommandName){n.push(l,...e.slice(c));break}}if(this._passThroughOptions){r.push(l,...e.slice(c));break}r.push(l)}return{operands:t,unknown:n}}opts(){if(this._storeOptionsAsProperties){let e={},t=this.options.length;for(let n=0;n<t;n++){let t=this.options[n].attributeName();e[t]=t===this._versionOptionName?this._version:this[t]}return e}return this._optionValues}optsWithGlobals(){return this._getCommandAndAncestors().reduce((e,t)=>Object.assign(e,t.opts()),{})}error(e,t){this._outputConfiguration.outputError(`${e}\n`,this._outputConfiguration.writeErr),typeof this._showHelpAfterError==`string`?this._outputConfiguration.writeErr(`${this._showHelpAfterError}\n`):this._showHelpAfterError&&(this._outputConfiguration.writeErr(`
19
19
  `),this.outputHelp({error:!0}));let n=t||{},r=n.exitCode||1,i=n.code||`commander.error`;this._exit(r,i,e)}_parseOptionsEnv(){this.options.forEach(e=>{if(e.envVar&&e.envVar in o.env){let t=e.attributeName();(this.getOptionValue(t)===void 0||[`default`,`config`,`env`].includes(this.getOptionValueSource(t)))&&(e.required||e.optional?this.emit(`optionEnv:${e.name()}`,o.env[e.envVar]):this.emit(`optionEnv:${e.name()}`))}})}_parseOptionsImplied(){let e=new p(this.options),t=e=>this.getOptionValue(e)!==void 0&&![`default`,`implied`].includes(this.getOptionValueSource(e));this.options.filter(n=>n.implied!==void 0&&t(n.attributeName())&&e.valueFromOption(this.getOptionValue(n.attributeName()),n)).forEach(e=>{Object.keys(e.implied).filter(e=>!t(e)).forEach(t=>{this.setOptionValueWithSource(t,e.implied[t],`implied`)})})}missingArgument(e){let t=`error: missing required argument '${e}'`;this.error(t,{code:`commander.missingArgument`})}optionMissingArgument(e){let t=`error: option '${e.flags}' argument missing`;this.error(t,{code:`commander.optionMissingArgument`})}missingMandatoryOptionValue(e){let t=`error: required option '${e.flags}' not specified`;this.error(t,{code:`commander.missingMandatoryOptionValue`})}_conflictingOption(e,t){let n=e=>{let t=e.attributeName(),n=this.getOptionValue(t),r=this.options.find(e=>e.negate&&t===e.attributeName()),i=this.options.find(e=>!e.negate&&t===e.attributeName());return r&&(r.presetArg===void 0&&n===!1||r.presetArg!==void 0&&n===r.presetArg)?r:i||e},r=e=>{let t=n(e),r=t.attributeName();return this.getOptionValueSource(r)===`env`?`environment variable '${t.envVar}'`:`option '${t.flags}'`},i=`error: ${r(e)} cannot be used with ${r(t)}`;this.error(i,{code:`commander.conflictingOption`})}unknownOption(e){if(this._allowUnknownOption)return;let t=``;if(e.startsWith(`--`)&&this._showSuggestionAfterError){let n=[],r=this;do{let e=r.createHelp().visibleOptions(r).filter(e=>e.long).map(e=>e.long);n=n.concat(e),r=r.parent}while(r&&!r._enablePositionalOptions);t=m(e,n)}let n=`error: unknown option '${e}'${t}`;this.error(n,{code:`commander.unknownOption`})}_excessArguments(e){if(this._allowExcessArguments)return;let t=this.registeredArguments.length,n=t===1?``:`s`,r=`error: too many arguments${this.parent?` for '${this.name()}'`:``}. Expected ${t} argument${n} but got ${e.length}.`;this.error(r,{code:`commander.excessArguments`})}unknownCommand(){let e=this.args[0],t=``;if(this._showSuggestionAfterError){let n=[];this.createHelp().visibleCommands(this).forEach(e=>{n.push(e.name()),e.alias()&&n.push(e.alias())}),t=m(e,n)}let n=`error: unknown command '${e}'${t}`;this.error(n,{code:`commander.unknownCommand`})}version(e,t,n){if(e===void 0)return this._version;this._version=e,t||=`-V, --version`,n||=`output the version number`;let r=this.createOption(t,n);return this._versionOptionName=r.attributeName(),this._registerOption(r),this.on(`option:`+r.name(),()=>{this._outputConfiguration.writeOut(`${e}\n`),this._exit(0,`commander.version`,e)}),this}description(e,t){return e===void 0&&t===void 0?this._description:(this._description=e,t&&(this._argsDescription=t),this)}summary(e){return e===void 0?this._summary:(this._summary=e,this)}alias(e){if(e===void 0)return this._aliases[0];let t=this;if(this.commands.length!==0&&this.commands[this.commands.length-1]._executableHandler&&(t=this.commands[this.commands.length-1]),e===t._name)throw Error(`Command alias can't be the same as its name`);let n=this.parent?._findCommand(e);if(n){let t=[n.name()].concat(n.aliases()).join(`|`);throw Error(`cannot add alias '${e}' to command '${this.name()}' as already have command '${t}'`)}return t._aliases.push(e),this}aliases(e){return e===void 0?this._aliases:(e.forEach(e=>this.alias(e)),this)}usage(e){if(e===void 0){if(this._usage)return this._usage;let e=this.registeredArguments.map(e=>c(e));return[].concat(this.options.length||this._helpOption!==null?`[options]`:[],this.commands.length?`[command]`:[],this.registeredArguments.length?e:[]).join(` `)}return this._usage=e,this}name(e){return e===void 0?this._name:(this._name=e,this)}helpGroup(e){return e===void 0?this._helpGroupHeading??``:(this._helpGroupHeading=e,this)}commandsGroup(e){return e===void 0?this._defaultCommandGroup??``:(this._defaultCommandGroup=e,this)}optionsGroup(e){return e===void 0?this._defaultOptionGroup??``:(this._defaultOptionGroup=e,this)}_initOptionGroup(e){this._defaultOptionGroup&&!e.helpGroupHeading&&e.helpGroup(this._defaultOptionGroup)}_initCommandGroup(e){this._defaultCommandGroup&&!e.helpGroup()&&e.helpGroup(this._defaultCommandGroup)}nameFromFilename(e){return this._name=i.basename(e,i.extname(e)),this}executableDir(e){return e===void 0?this._executableDir:(this._executableDir=e,this)}helpInformation(e){let t=this.createHelp(),n=this._getOutputContext(e);t.prepareContext({error:n.error,helpWidth:n.helpWidth,outputHasColors:n.hasColors});let r=t.formatHelp(this,t);return n.hasColors?r:this._outputConfiguration.stripColor(r)}_getOutputContext(e){e||={};let t=!!e.error,n,r,i;return t?(n=e=>this._outputConfiguration.writeErr(e),r=this._outputConfiguration.getErrHasColors(),i=this._outputConfiguration.getErrHelpWidth()):(n=e=>this._outputConfiguration.writeOut(e),r=this._outputConfiguration.getOutHasColors(),i=this._outputConfiguration.getOutHelpWidth()),{error:t,write:e=>(r||(e=this._outputConfiguration.stripColor(e)),n(e)),hasColors:r,helpWidth:i}}outputHelp(e){let t;typeof e==`function`&&(t=e,e=void 0);let n=this._getOutputContext(e),r={error:n.error,write:n.write,command:this};this._getCommandAndAncestors().reverse().forEach(e=>e.emit(`beforeAllHelp`,r)),this.emit(`beforeHelp`,r);let i=this.helpInformation({error:n.error});if(t&&(i=t(i),typeof i!=`string`&&!Buffer.isBuffer(i)))throw Error(`outputHelp callback must return a string or a Buffer`);n.write(i),this._getHelpOption()?.long&&this.emit(this._getHelpOption().long),this.emit(`afterHelp`,r),this._getCommandAndAncestors().forEach(e=>e.emit(`afterAllHelp`,r))}helpOption(e,t){return typeof e==`boolean`?(e?(this._helpOption===null&&(this._helpOption=void 0),this._defaultOptionGroup&&this._initOptionGroup(this._getHelpOption())):this._helpOption=null,this):(this._helpOption=this.createOption(e??`-h, --help`,t??`display help for command`),(e||t)&&this._initOptionGroup(this._helpOption),this)}_getHelpOption(){return this._helpOption===void 0&&this.helpOption(void 0,void 0),this._helpOption}addHelpOption(e){return this._helpOption=e,this._initOptionGroup(e),this}help(e){this.outputHelp(e);let t=Number(o.exitCode??0);t===0&&e&&typeof e!=`function`&&e.error&&(t=1),this._exit(t,`commander.help`,`(outputHelp)`)}addHelpText(e,t){let n=[`beforeAll`,`before`,`after`,`afterAll`];if(!n.includes(e))throw Error(`Unexpected value for position to addHelpText.
20
- Expecting one of '${n.join(`', '`)}'`);let r=`${e}Help`;return this.on(r,e=>{let n;n=typeof t==`function`?t({error:e.error,command:e.command}):t,n&&e.write(`${n}\n`)}),this}_outputHelpIfRequested(e){let t=this._getHelpOption();t&&e.find(e=>t.is(e))&&(this.outputHelp(),this._exit(0,`commander.helpDisplayed`,`(outputHelp)`))}};function g(e){return e.map(e=>{if(!e.startsWith(`--inspect`))return e;let t,n=`127.0.0.1`,r=`9229`,i;return(i=e.match(/^(--inspect(-brk)?)$/))===null?(i=e.match(/^(--inspect(-brk|-port)?)=([^:]+)$/))===null?(i=e.match(/^(--inspect(-brk|-port)?)=([^:]+):(\d+)$/))!==null&&(t=i[1],n=i[3],r=i[4]):(t=i[1],/^\d+$/.test(i[3])?r=i[3]:n=i[3]):t=i[1],t&&r!==`0`?`${t}=${n}:${parseInt(r)+1}`:e})}function _(){if(o.env.NO_COLOR||o.env.FORCE_COLOR===`0`||o.env.FORCE_COLOR===`false`)return!1;if(o.env.FORCE_COLOR||o.env.CLICOLOR_FORCE!==void 0)return!0}e.Command=h,e.useColor=_}));const{program:N,createCommand:ie,createArgument:ae,createOption:P,CommanderError:oe,InvalidArgumentError:se,InvalidOptionArgumentError:ce,Command:F,Argument:le,Option:I,Help:L}=n(e((e=>{let{Argument:t}=O(),{Command:n}=M(),{CommanderError:r,InvalidArgumentError:i}=D(),{Help:a}=k(),{Option:o}=A();e.program=new n,e.createCommand=e=>new n(e),e.createOption=(e,t)=>new o(e,t),e.createArgument=(e,n)=>new t(e,n),e.Command=n,e.Option=o,e.Argument=t,e.Help=a,e.CommanderError=r,e.InvalidArgumentError=i,e.InvalidOptionArgumentError=i}))(),1).default;var R=`1.1.17`;async function z(e){e||=process.cwd();let t=s(e);await t.build({cwd:e,entry:t.entry,outdir:t.outdir,watch:!1,onStart:()=>{console.log(`Building agent...`)},onResult:e=>{`error`in e&&(console.error(e.error),process.exit(1));for(let t of e.warnings)console.warn(t.message);console.log(`Built agent to ${e.entry}`)}})}var B=n(o(),1),V=n(d(),1),H=n(h(),1);async function U(e,t){e||=process.cwd(),await a(e);let n=await m(),r=new c({authToken:n,fetch:(e,t)=>{let n=new Headers(t?.headers);return n.set(`x-blink-cli-version`,R),fetch(e,{...t,headers:n})}}),o=await i(e,`package.json`);if(!o)throw Error(`package.json not found`);let d=await E(o,`utf-8`),h=JSON.parse(d),v=x(o),y=S(v,`data`,`config.json`),w={};if(ee(y)){let e=await E(y,`utf-8`);w=JSON.parse(e)}let D;if(w?.organizationId)try{D=(await r.organizations.get(w.organizationId)).name}catch{w.organizationId=void 0}if(!w?.organizationId){let e=await r.organizations.list();if(e.length===1)w.organizationId=e[0].id,D=e[0].name;else{let t=await f({message:`Which organization should contain this agent?`,options:e.map(e=>({value:e.id,label:e.name}))});if(u(t))return;w.organizationId=t,D=e.find(e=>e.id===t).name,console.log()}}let O,k=!1,A=!1;if(w?.agentId)try{O=(await r.agents.get(w.agentId)).name}catch{w.agentId=void 0}if(!w?.agentId)try{let e=await r.organizations.agents.get({organization_id:w.organizationId,agent_name:h.name});w.agentId=e.id,O=e.name}catch{k=!0,O=h.name}k?console.log(V.default.bold(`blink■`)+` creating agent `+D+`/`+O):console.log(V.default.bold(`blink■`)+` deploying agent `+D+`/`+O);let j=Date.now(),M=s(v),N=await new Promise((e,t)=>{M.build({cwd:v,entry:M.entry,outdir:M.outdir,watch:!1,onStart:()=>{},onResult:t=>{e(t)}}).catch(t)});if(!N)throw Error(`Failed to build agent`);if(`error`in N)throw Error(N.error.message);let ie=Date.now()-j;console.log(V.default.gray(`Built ${V.default.dim(`(${ie}ms)`)}`));let ae=await T(N.outdir),P=Object.fromEntries(ae.map(e=>[S(N.outdir,e),e])),oe=S(e,`README.md`);await W(oe)&&(P[oe]=`README.md`);let se=await fe(v),ce=Object.fromEntries(se.map(e=>[e,C(v,e)])),F=Object.entries(P),le=Object.entries(ce),I=[...F,...le],L=I.length,z=0,B=0,H=0,U=Array(L);await de(I,10,async([e,t],n)=>{let i=(await ne(e)).size,a=++z;q(`${V.default.dim(`[${a}/${L}]`)} Uploading ${t} (${K(i)})...`);let o=await E(e),s=await r.files.upload(new File([Buffer.from(o)],t));U[n]={path:t,id:s.id},B+=1,H+=i}),q(V.default.gray(`Uploaded ${L} ${L===1?`file`:`files`} ${V.default.dim(`(${K(H)})`)}`)),process.stdout.write(`
21
- `);let J=U.filter(Boolean),Y=J.slice(0,F.length),pe=J.slice(F.length),X=await G(S(e,`.env.production`));if(k){let t=S(e,`.env.local`),n=S(e,`.env.production`),r=await G(t),i=Object.keys(r).filter(e=>!X[e]);if(i.length>0){console.log(`
22
- `+V.default.cyan(`Environment Variables`)),console.log(V.default.dim(` Missing ${i.length} var${i.length===1?``:`s`} in .env.production: ${i.join(`, `)}`));let e=await p({message:`Copy missing vars from .env.local to .env.production?`,initialValue:!0});if(u(e))return;if(console.log(),e){for(let e of i)X[e]=r[e];await te(n,`# Environment variables for production deployment\n${Object.entries(X).map(([e,t])=>`${e}=${t}`).join(`
23
- `)}`,`utf-8`)}}let a=g(e);if(a){let e=`https://${a}.blink.host`;console.log(`
24
- `+V.default.cyan(`Webhook Tunnel`)),console.log(V.default.dim(` Current: ${e} → local dev`)),console.log(V.default.dim(` After: ${e} → production`)),console.log(V.default.dim(` Migrating will keep your webhooks working in production`));let t=await p({message:`Migrate tunnel to production?`});if(u(t))return;console.log(),t&&(A=!0)}}let Z=Object.entries(X);if(k){let t=g(e),n=await r.agents.create({name:h.name,organization_id:w.organizationId,request_id:A?t:void 0,entrypoint:b(N.entry),output_files:Y,source_files:pe,env:Z.map(([e,t])=>({key:e,value:t,target:[`production`,`preview`],secret:!0}))});w.agentId=n.id,O=n.name;let i=`https://blink.so/${D}/${O}`;console.log(V.default.gray(`Agent created ${V.default.dim(i)}`))}else if(Z.length>0){let e=0;for(let[t,n]of Z)await r.agents.env.create({agent_id:w.agentId,key:t,value:n,target:[`production`,`preview`],secret:!0,upsert:!0}),q(`${V.default.dim(`[${++e}/${Z.length}]`)} Updating environment variable: ${t} ${V.default.dim(`(.env.production)`)}`);q(V.default.gray(`Updated ${Z.length} environment ${Z.length===1?`variable`:`variables`} ${V.default.dim(`(.env.production)`)}`)),process.stdout.write(`
25
- `)}let me=await G(S(e,`.env.local`)),he=Object.keys(me).filter(e=>!Object.keys(X).includes(e));if(he.length>0){console.log(`Warning: The following environment variables are set in .env.local but not in .env.production:`);for(let e of he)console.log(`- ${e}`);let e=await p({message:`Do you want to deploy anyway?`});if(e===!1||u(e))return}let ge=k?(await r.agents.deployments.list({agent_id:w.agentId})).items[0]:await r.agents.deployments.create({agent_id:w.agentId,target:`production`,entrypoint:b(N.entry),output_files:Y,source_files:pe,message:t?.message}),Q=`https://blink.so/${D}/${O}/deployments/${ge.number}`;console.log(V.default.gray(`View Deployment ${V.default.dim(Q)}`)),await ue(y,w);let $=l();$.start(`Waiting for deployment to be live...`);try{for(;;){let t=await r.agents.deployments.get({agent_id:w.agentId,deployment_id:ge.id});if(t.status===`success`){$.stop(),k?(console.log(`Your agent is live.`),console.log(V.default.dim(Q))):(console.log(`Deployed. All new chats will use this version.`),console.log(V.default.dim(Q))),A&&(_(e),console.log(V.default.yellow(`Note:`)+` To continue developing locally with webhooks, you'll need to reconfigure external services (Slack, GitHub, etc.)`),Object.keys(me).some(e=>e.toLowerCase().includes(`slack`))&&console.log(`Run ${V.default.cyan(`blink setup slack-app`)} to create a new Slack app for development.`));break}if(t.status===`failed`){$.stop(`Failed`+(t.error_message?`: ${t.error_message}`:``)),console.log(),console.log(`Logs: `+V.default.dim(Q));return}await new Promise(e=>setTimeout(e,500))}}catch(e){$.stop(`Failed to poll deployment status`),console.log(),console.log(`Error: `+re(e)),console.log(`Logs: `+V.default.dim(Q))}}const W=async e=>{try{return await ne(e),!0}catch{return!1}};async function G(e){return await W(e)?(0,B.parse)(await E(e,`utf-8`)):{}}async function ue(e,t){await w(x(e),{recursive:!0}),await te(e,JSON.stringify({_:`This file can be source controlled. It contains no secrets.`,...t},null,2),`utf-8`)}async function de(e,t,n){let r=Array(e.length),i=0,a=Array(Math.min(t,e.length)).fill(0).map(async()=>{for(;;){let t=i++;if(t>=e.length)break;r[t]=await n(e[t],t)}});return await Promise.all(a),r}function K(e){if(e===0)return`0B`;let t=1024,n=[`B`,`KB`,`MB`,`GB`,`TB`],r=Math.floor(Math.log(e)/Math.log(t)),i=e/t**+r;return`${i.toFixed(i>=100?0:i>=10?1:2)}${n[r]}`}function q(e){if(process.stdout.isTTY)try{process.stdout.clearLine(0),process.stdout.cursorTo(0),process.stdout.write(e);return}catch{}console.log(e)}async function fe(e){let t=[],n=(0,H.default)().add([`.git`,`node_modules`,`data`,`.env`,`.env.*`]),r=S(e,`.gitignore`);if(await W(r)){let e=await E(r,`utf-8`);n.add(e)}async function i(r,a=e){let o=await T(r,{withFileTypes:!0});for(let e of o){let o=S(r,e.name),s=C(a,o);n.ignores(s)||(e.isDirectory()?await i(o,a):e.isFile()&&t.push(o))}}return await i(e),t}if(globalThis.WebSocket||(globalThis.WebSocket=r.default),globalThis.Bun!==void 0){let e=t(`perf_hooks`);e.monitorEventLoopDelay=()=>({enable:()=>{}})}globalThis.crypto||(globalThis.crypto={}),globalThis.crypto.randomUUID||(globalThis.crypto.randomUUID=()=>y()),N.name(`blink`).description(`Blink is a runtime for building and deploying AI agents.`).version(R).action(()=>{N.outputHelp()});const J=e=>async(...t)=>{let{default:n}=await e();return n(...t)};N.command(`init [directory]`).description(`Initialize a new Blink agent.`).action(J(()=>import(`./init-BmUPyFWc.js`))),N.command(`dev [directory] [options]`).description(`Start a development server for your agent.`).action(J(()=>import(`./dev-VE6iNqe3.js`))),N.command(`deploy [directory]`).description(`Deploy your agent to the Blink Cloud.`).option(`-m, --message <message>`,`Message for this deployment`).action(U),N.command(`build [directory]`).description(`Build your agent for production.`).action(z),N.command(`setup`).description(`Set up integrations for your agent.`).command(`slack-app [directory]`).description(`Set up Slack app integration`).action(v),N.command(`telemetry [boolean]`).description(`Enable or disable telemetry.`),N.command(`start [directory]`).description("Starts the Blink runtime in production mode. The agent must be compiled with `blink build` first."),N.command(`run <message...>`).description(`Run your agent programmatically and get the response.`).option(`-d, --directory <directory>`,`Directory to run the agent from (default: current directory)`).option(`-c, --chat <chat>`,`Chat key to use (default: 'default')`).action(J(()=>import(`./run-BlY6czRh.js`))),N.command(`connect`,{hidden:!0}).description(`Connect compute to the Blink Cloud.`).action(J(()=>import(`./connect-C3y3nGPW.js`))),N.command(`chat`,{hidden:!0}).description(`Start a Blink chat connected to your machine.`).action(J(()=>import(`./chat-BtLHnRou.js`))),N.command(`login`,{hidden:!0}).description(`Log in to the Blink Cloud.`).action(J(()=>import(`./login-D1muj139.js`))),N.parse(process.argv);export{};
20
+ Expecting one of '${n.join(`', '`)}'`);let r=`${e}Help`;return this.on(r,e=>{let n;n=typeof t==`function`?t({error:e.error,command:e.command}):t,n&&e.write(`${n}\n`)}),this}_outputHelpIfRequested(e){let t=this._getHelpOption();t&&e.find(e=>t.is(e))&&(this.outputHelp(),this._exit(0,`commander.helpDisplayed`,`(outputHelp)`))}};function g(e){return e.map(e=>{if(!e.startsWith(`--inspect`))return e;let t,n=`127.0.0.1`,r=`9229`,i;return(i=e.match(/^(--inspect(-brk)?)$/))===null?(i=e.match(/^(--inspect(-brk|-port)?)=([^:]+)$/))===null?(i=e.match(/^(--inspect(-brk|-port)?)=([^:]+):(\d+)$/))!==null&&(t=i[1],n=i[3],r=i[4]):(t=i[1],/^\d+$/.test(i[3])?r=i[3]:n=i[3]):t=i[1],t&&r!==`0`?`${t}=${n}:${parseInt(r)+1}`:e})}function _(){if(o.env.NO_COLOR||o.env.FORCE_COLOR===`0`||o.env.FORCE_COLOR===`false`)return!1;if(o.env.FORCE_COLOR||o.env.CLICOLOR_FORCE!==void 0)return!0}e.Command=h,e.useColor=_}));const{program:N,createCommand:ae,createArgument:P,createOption:F,CommanderError:oe,InvalidArgumentError:se,InvalidOptionArgumentError:I,Command:ce,Argument:L,Option:R,Help:le}=n(e((e=>{let{Argument:t}=O(),{Command:n}=M(),{CommanderError:r,InvalidArgumentError:i}=D(),{Help:a}=k(),{Option:o}=A();e.program=new n,e.createCommand=e=>new n(e),e.createOption=(e,t)=>new o(e,t),e.createArgument=(e,n)=>new t(e,n),e.Command=n,e.Option=o,e.Argument=t,e.Help=a,e.CommanderError=r,e.InvalidArgumentError=i,e.InvalidOptionArgumentError=i}))(),1).default;var z=`1.1.20`;async function B(e){e||=process.cwd();let t=s(e);await t.build({cwd:e,entry:t.entry,outdir:t.outdir,watch:!1,onStart:()=>{console.log(`Building agent...`)},onResult:e=>{`error`in e&&(console.error(e.error),process.exit(1));for(let t of e.warnings)console.warn(t.message);console.log(`Built agent to ${e.entry}`)}})}var V=n(o(),1),H=n(h(),1),U=n(g(),1);async function W(e,t){e||=process.cwd(),await a(e);let n=await m(),r=new c({authToken:n,fetch:(e,t)=>{let n=new Headers(t?.headers);return n.set(`x-blink-cli-version`,z),fetch(e,{...t,headers:n})}}),o=await i(e,`package.json`);if(!o)throw Error(`package.json not found`);let l=await E(o,`utf-8`),h=JSON.parse(l),g=x(o),v=S(g,`.blink`,`config.json`),y={};if(ne(v)){let e=await E(v,`utf-8`);y=JSON.parse(e)}let C;if(y?.organizationId)try{C=(await r.organizations.get(y.organizationId)).name}catch{y.organizationId=void 0}if(!y?.organizationId){let e=await r.organizations.list();if(e.length===1)y.organizationId=e[0].id,C=e[0].name;else{let t=await f({message:`Which organization should contain this agent?`,options:e.map(e=>({value:e.id,label:e.name}))});if(d(t))return;y.organizationId=t,C=e.find(e=>e.id===t).name,console.log()}}let D,O=!1,k=!1;if(y?.agentId)try{D=(await r.agents.get(y.agentId)).name}catch{y.agentId=void 0}if(!y?.agentId)try{let e=await r.organizations.agents.get({organization_id:y.organizationId,agent_name:h.name});y.agentId=e.id,D=e.name}catch{O=!0,D=h.name}O?console.log(H.default.bold(`blink■`)+` creating agent `+C+`/`+D):console.log(H.default.bold(`blink■`)+` deploying agent `+C+`/`+D);let A=Date.now(),j=s(g),M=await new Promise((e,t)=>{j.build({cwd:g,entry:j.entry,outdir:j.outdir,watch:!1,onStart:()=>{},onResult:t=>{e(t)}}).catch(t)});if(!M)throw Error(`Failed to build agent`);if(`error`in M)throw Error(M.error.message);let N=Date.now()-A;console.log(H.default.gray(`Built ${H.default.dim(`(${N}ms)`)}`));let ae=await w(M.outdir),P=Object.fromEntries(ae.map(e=>[S(M.outdir,e),e])),F=S(e,`README.md`);await G(F)&&(P[F]=`README.md`);let oe=await fe(g),se=Object.fromEntries(oe.map(e=>[e,te(g,e)])),I=Object.entries(P),ce=Object.entries(se),L=[...I,...ce],R=L.length,le=0,B=0,V=0,U=Array(R);await de(L,10,async([e,t],n)=>{let i=(await re(e)).size,a=++le;J(`${H.default.dim(`[${a}/${R}]`)} Uploading ${t} (${q(i)})...`);let o=await E(e),s=await r.files.upload(new File([Buffer.from(o)],t));U[n]={path:t,id:s.id},B+=1,V+=i}),J(H.default.gray(`Uploaded ${R} ${R===1?`file`:`files`} ${H.default.dim(`(${q(V)})`)}`)),process.stdout.write(`
21
+ `);let W=U.filter(Boolean),Y=W.slice(0,I.length),pe=W.slice(I.length),X=await K(S(e,`.env.production`));if(O){let t=S(e,`.env.local`),n=S(e,`.env.production`),r=await K(t),i=Object.keys(r).filter(e=>!X[e]);if(i.length>0){console.log(`
22
+ `+H.default.cyan(`Environment Variables`)),console.log(H.default.dim(` Missing ${i.length} var${i.length===1?``:`s`} in .env.production: ${i.join(`, `)}`));let e=await p({message:`Copy missing vars from .env.local to .env.production?`,initialValue:!0});if(d(e))return;if(console.log(),e){for(let e of i)X[e]=r[e];await T(n,`# Environment variables for production deployment\n${Object.entries(X).map(([e,t])=>`${e}=${t}`).join(`
23
+ `)}`,`utf-8`)}}let a=_(e);if(a){let e=`https://${a}.blink.host`;console.log(`
24
+ `+H.default.cyan(`Webhook Tunnel`)),console.log(H.default.dim(` Current: ${e} → local dev`)),console.log(H.default.dim(` After: ${e} → production`)),console.log(H.default.dim(` Migrating will keep your webhooks working in production`));let t=await p({message:`Migrate tunnel to production?`});if(d(t))return;console.log(),t&&(k=!0)}}let Z=Object.entries(X);if(O){let t=_(e),n=await r.agents.create({name:h.name,organization_id:y.organizationId,request_id:k?t:void 0,entrypoint:b(M.entry),output_files:Y,source_files:pe,env:Z.map(([e,t])=>({key:e,value:t,target:[`production`,`preview`],secret:!0}))});y.agentId=n.id,D=n.name;let i=`https://blink.so/${C}/${D}`;console.log(H.default.gray(`Agent created ${H.default.dim(i)}`))}else if(Z.length>0){let e=0;for(let[t,n]of Z)await r.agents.env.create({agent_id:y.agentId,key:t,value:n,target:[`production`,`preview`],secret:!0,upsert:!0}),J(`${H.default.dim(`[${++e}/${Z.length}]`)} Updating environment variable: ${t} ${H.default.dim(`(.env.production)`)}`);J(H.default.gray(`Updated ${Z.length} environment ${Z.length===1?`variable`:`variables`} ${H.default.dim(`(.env.production)`)}`)),process.stdout.write(`
25
+ `)}let me=await K(S(e,`.env.local`)),he=Object.keys(me).filter(e=>!Object.keys(X).includes(e));if(he.length>0){console.log(`Warning: The following environment variables are set in .env.local but not in .env.production:`);for(let e of he)console.log(`- ${e}`);let e=await p({message:`Do you want to deploy anyway?`});if(e===!1||d(e))return}let ge=O?(await r.agents.deployments.list({agent_id:y.agentId})).items[0]:await r.agents.deployments.create({agent_id:y.agentId,target:`production`,entrypoint:b(M.entry),output_files:Y,source_files:pe,message:t?.message}),Q=`https://blink.so/${C}/${D}/deployments/${ge.number}`;console.log(H.default.gray(`View Deployment ${H.default.dim(Q)}`)),await ue(v,y);let $=u();$.start(`Waiting for deployment to be live...`);try{for(;;){let t=await r.agents.deployments.get({agent_id:y.agentId,deployment_id:ge.id});if(t.status===`success`){$.stop(),O?(console.log(`Your agent is live.`),console.log(H.default.dim(Q))):(console.log(`Deployed. All new chats will use this version.`),console.log(H.default.dim(Q))),k&&(ee(e),console.log(H.default.yellow(`Note:`)+` To continue developing locally with webhooks, you'll need to reconfigure external services (Slack, GitHub, etc.)`),Object.keys(me).some(e=>e.toLowerCase().includes(`slack`))&&console.log(`Run ${H.default.cyan(`blink setup slack-app`)} to create a new Slack app for development.`));break}if(t.status===`failed`){$.stop(`Failed`+(t.error_message?`: ${t.error_message}`:``)),console.log(),console.log(`Logs: `+H.default.dim(Q));return}await new Promise(e=>setTimeout(e,500))}}catch(e){$.stop(`Failed to poll deployment status`),console.log(),console.log(`Error: `+ie(e)),console.log(`Logs: `+H.default.dim(Q))}}const G=async e=>{try{return await re(e),!0}catch{return!1}};async function K(e){return await G(e)?(0,V.parse)(await E(e,`utf-8`)):{}}async function ue(e,t){await C(x(e),{recursive:!0}),await T(e,JSON.stringify({_:`This file can be source controlled. It contains no secrets.`,...t},null,2),`utf-8`)}async function de(e,t,n){let r=Array(e.length),i=0,a=Array(Math.min(t,e.length)).fill(0).map(async()=>{for(;;){let t=i++;if(t>=e.length)break;r[t]=await n(e[t],t)}});return await Promise.all(a),r}function q(e){if(e===0)return`0B`;let t=1024,n=[`B`,`KB`,`MB`,`GB`,`TB`],r=Math.floor(Math.log(e)/Math.log(t)),i=e/t**+r;return`${i.toFixed(i>=100?0:i>=10?1:2)}${n[r]}`}function J(e){if(process.stdout.isTTY)try{process.stdout.clearLine(0),process.stdout.cursorTo(0),process.stdout.write(e);return}catch{}console.log(e)}async function fe(e){let t=[],n=(0,U.default)().add([`.git`,`node_modules`,`.blink`,`.env`,`.env.*`]),r=S(e,`.gitignore`);if(await G(r)){let e=await E(r,`utf-8`);n.add(e)}async function i(r,a=e){let o=await w(r,{withFileTypes:!0});for(let e of o){let o=S(r,e.name),s=te(a,o);n.ignores(s)||(e.isDirectory()?await i(o,a):e.isFile()&&t.push(o))}}return await i(e),t}if(globalThis.WebSocket||(globalThis.WebSocket=r.default),globalThis.Bun!==void 0){let e=t(`perf_hooks`);e.monitorEventLoopDelay=()=>({enable:()=>{}})}globalThis.crypto||(globalThis.crypto={}),globalThis.crypto.randomUUID||(globalThis.crypto.randomUUID=()=>y()),N.name(`blink`).description(`Blink is a runtime for building and deploying AI agents.`).version(z).action(()=>{N.outputHelp()});const Y=e=>async(...t)=>{let{default:n}=await e();return n(...t)};N.command(`init [directory]`).description(`Initialize a new Blink agent.`).action(Y(()=>import(`./init-CFrylDAP.js`))),N.command(`dev [directory] [options]`).description(`Start a development server for your agent.`).action(Y(()=>import(`./dev-C5PZ-A_f.js`))),N.command(`deploy [directory]`).description(`Deploy your agent to the Blink Cloud.`).option(`-m, --message <message>`,`Message for this deployment`).action(W),N.command(`build [directory]`).description(`Build your agent for production.`).action(B),N.command(`setup`).description(`Set up integrations for your agent.`).command(`slack-app [directory]`).description(`Set up Slack app integration`).action(v),N.command(`telemetry [boolean]`).description(`Enable or disable telemetry.`),N.command(`start [directory]`).description("Starts the Blink runtime in production mode. The agent must be compiled with `blink build` first."),N.command(`run <message...>`).description(`Run your agent programmatically and get the response.`).option(`-d, --directory <directory>`,`Directory to run the agent from (default: current directory)`).option(`-c, --chat <chat>`,`Chat key to use (default: 'default')`).action(Y(()=>import(`./run-bKDX6K46.js`))),N.command(`connect`,{hidden:!0}).description(`Connect compute to the Blink Cloud.`).action(Y(()=>import(`./connect-WyCmuQHj.js`))),N.command(`chat`,{hidden:!0}).description(`Start a Blink chat connected to your machine.`).action(Y(()=>import(`./chat-BDAEIrJW.js`))),N.command(`login`).description(`Log in to the Blink Cloud.`).action(Y(()=>import(`./login-DZFx5155.js`))),N.configureOutput({writeErr:e=>{let t=e.replace(/\x1b\[[0-9;]*m/g,``);l.error(t.trim())}}),process.on(`unhandledRejection`,e=>{l.error(e?.message||String(e)),process.exit(1)}),N.parse(process.argv);export{};
@@ -1,4 +1,4 @@
1
- import{__commonJSMin as e,__require as t,__toESM as n}from"./chunk-D9KrCrVq.js";import{Ie as r,M as i,Se as a,he as o,pD as s,ve as c,xe as l,ye as u}from"./dist-DxkSGwUH.js";import"./open-S_jcQ0nw.js";import"./create-slack-app-CNDXDwfs.js";import{setupSlackApp as d}from"./setup-slack-app-BeKQIOnA.js";import{templates as f}from"./init-templates-3vtw2MZQ.js";import{basename as p,join as m}from"path";import{readFile as h,readdir as g,writeFile as _}from"fs/promises";import{spawn as v}from"child_process";var y=e((e=>{e.__esModule=!0,e.extend=a,e.indexOf=l,e.escapeExpression=u,e.isEmpty=d,e.createFrame=f,e.blockParams=p,e.appendContextPath=m;var t={"&":`&amp;`,"<":`&lt;`,">":`&gt;`,'"':`&quot;`,"'":`&#x27;`,"`":`&#x60;`,"=":`&#x3D;`},n=/[&<>"'`=]/g,r=/[&<>"'`=]/;function i(e){return t[e]}function a(e){for(var t=1;t<arguments.length;t++)for(var n in arguments[t])Object.prototype.hasOwnProperty.call(arguments[t],n)&&(e[n]=arguments[t][n]);return e}var o=Object.prototype.toString;e.toString=o;var s=function(e){return typeof e==`function`};s(/x/)&&(e.isFunction=s=function(e){return typeof e==`function`&&o.call(e)===`[object Function]`}),e.isFunction=s;var c=Array.isArray||function(e){return e&&typeof e==`object`?o.call(e)===`[object Array]`:!1};e.isArray=c;function l(e,t){for(var n=0,r=e.length;n<r;n++)if(e[n]===t)return n;return-1}function u(e){if(typeof e!=`string`){if(e&&e.toHTML)return e.toHTML();if(e==null)return``;if(!e)return e+``;e=``+e}return r.test(e)?e.replace(n,i):e}function d(e){return!e&&e!==0?!0:!!(c(e)&&e.length===0)}function f(e){var t=a({},e);return t._parent=e,t}function p(e,t){return e.path=t,e}function m(e,t){return(e?e+`.`:``)+t}})),b=e(((e,t)=>{e.__esModule=!0;var n=[`description`,`fileName`,`lineNumber`,`endLineNumber`,`message`,`name`,`number`,`stack`];function r(e,t){var i=t&&t.loc,a=void 0,o=void 0,s=void 0,c=void 0;i&&(a=i.start.line,o=i.end.line,s=i.start.column,c=i.end.column,e+=` - `+a+`:`+s);for(var l=Error.prototype.constructor.call(this,e),u=0;u<n.length;u++)this[n[u]]=l[n[u]];Error.captureStackTrace&&Error.captureStackTrace(this,r);try{i&&(this.lineNumber=a,this.endLineNumber=o,Object.defineProperty?(Object.defineProperty(this,`column`,{value:s,enumerable:!0}),Object.defineProperty(this,`endColumn`,{value:c,enumerable:!0})):(this.column=s,this.endColumn=c))}catch{}}r.prototype=Error(),e.default=r,t.exports=e.default})),x=e(((e,t)=>{e.__esModule=!0;var n=y();e.default=function(e){e.registerHelper(`blockHelperMissing`,function(t,r){var i=r.inverse,a=r.fn;if(t===!0)return a(this);if(t===!1||t==null)return i(this);if(n.isArray(t))return t.length>0?(r.ids&&=[r.name],e.helpers.each(t,r)):i(this);if(r.data&&r.ids){var o=n.createFrame(r.data);o.contextPath=n.appendContextPath(r.data.contextPath,r.name),r={data:o}}return a(t,r)})},t.exports=e.default})),S=e(((e,t)=>{e.__esModule=!0;function n(e){return e&&e.__esModule?e:{default:e}}var r=y(),i=b(),a=n(i);e.default=function(e){e.registerHelper(`each`,function(e,t){if(!t)throw new a.default(`Must pass iterator to #each`);var n=t.fn,i=t.inverse,o=0,s=``,c=void 0,l=void 0;t.data&&t.ids&&(l=r.appendContextPath(t.data.contextPath,t.ids[0])+`.`),r.isFunction(e)&&(e=e.call(this)),t.data&&(c=r.createFrame(t.data));function u(t,i,a){c&&(c.key=t,c.index=i,c.first=i===0,c.last=!!a,l&&(c.contextPath=l+t)),s+=n(e[t],{data:c,blockParams:r.blockParams([e[t],t],[l+t,null])})}if(e&&typeof e==`object`)if(r.isArray(e))for(var d=e.length;o<d;o++)o in e&&u(o,o,o===e.length-1);else if(typeof Symbol==`function`&&e[Symbol.iterator]){for(var f=[],p=e[Symbol.iterator](),m=p.next();!m.done;m=p.next())f.push(m.value);e=f;for(var d=e.length;o<d;o++)u(o,o,o===e.length-1)}else (function(){var t=void 0;Object.keys(e).forEach(function(e){t!==void 0&&u(t,o-1),t=e,o++}),t!==void 0&&u(t,o-1,!0)})();return o===0&&(s=i(this)),s})},t.exports=e.default})),C=e(((e,t)=>{e.__esModule=!0;function n(e){return e&&e.__esModule?e:{default:e}}var r=b(),i=n(r);e.default=function(e){e.registerHelper(`helperMissing`,function(){if(arguments.length!==1)throw new i.default(`Missing helper: "`+arguments[arguments.length-1].name+`"`)})},t.exports=e.default})),w=e(((e,t)=>{e.__esModule=!0;function n(e){return e&&e.__esModule?e:{default:e}}var r=y(),i=b(),a=n(i);e.default=function(e){e.registerHelper(`if`,function(e,t){if(arguments.length!=2)throw new a.default(`#if requires exactly one argument`);return r.isFunction(e)&&(e=e.call(this)),!t.hash.includeZero&&!e||r.isEmpty(e)?t.inverse(this):t.fn(this)}),e.registerHelper(`unless`,function(t,n){if(arguments.length!=2)throw new a.default(`#unless requires exactly one argument`);return e.helpers.if.call(this,t,{fn:n.inverse,inverse:n.fn,hash:n.hash})})},t.exports=e.default})),T=e(((e,t)=>{e.__esModule=!0,e.default=function(e){e.registerHelper(`log`,function(){for(var t=[void 0],n=arguments[arguments.length-1],r=0;r<arguments.length-1;r++)t.push(arguments[r]);var i=1;n.hash.level==null?n.data&&n.data.level!=null&&(i=n.data.level):i=n.hash.level,t[0]=i,e.log.apply(e,t)})},t.exports=e.default})),E=e(((e,t)=>{e.__esModule=!0,e.default=function(e){e.registerHelper(`lookup`,function(e,t,n){return e&&n.lookupProperty(e,t)})},t.exports=e.default})),D=e(((e,t)=>{e.__esModule=!0;function n(e){return e&&e.__esModule?e:{default:e}}var r=y(),i=b(),a=n(i);e.default=function(e){e.registerHelper(`with`,function(e,t){if(arguments.length!=2)throw new a.default(`#with requires exactly one argument`);r.isFunction(e)&&(e=e.call(this));var n=t.fn;if(r.isEmpty(e))return t.inverse(this);var i=t.data;return t.data&&t.ids&&(i=r.createFrame(t.data),i.contextPath=r.appendContextPath(t.data.contextPath,t.ids[0])),n(e,{data:i,blockParams:r.blockParams([e],[i&&i.contextPath])})})},t.exports=e.default})),O=e((e=>{e.__esModule=!0,e.registerDefaultHelpers=g,e.moveHelperToHooks=_;function t(e){return e&&e.__esModule?e:{default:e}}var n=x(),r=t(n),i=S(),a=t(i),o=C(),s=t(o),c=w(),l=t(c),u=T(),d=t(u),f=E(),p=t(f),m=D(),h=t(m);function g(e){r.default(e),a.default(e),s.default(e),l.default(e),d.default(e),p.default(e),h.default(e)}function _(e,t,n){e.helpers[t]&&(e.hooks[t]=e.helpers[t],n||delete e.helpers[t])}})),k=e(((e,t)=>{e.__esModule=!0;var n=y();e.default=function(e){e.registerDecorator(`inline`,function(e,t,r,i){var a=e;return t.partials||(t.partials={},a=function(i,a){var o=r.partials;r.partials=n.extend({},o,t.partials);var s=e(i,a);return r.partials=o,s}),t.partials[i.args[0]]=i.fn,a})},t.exports=e.default})),ee=e((e=>{e.__esModule=!0,e.registerDefaultDecorators=i;function t(e){return e&&e.__esModule?e:{default:e}}var n=k(),r=t(n);function i(e){r.default(e)}})),A=e(((e,t)=>{e.__esModule=!0;var n=y(),r={methodMap:[`debug`,`info`,`warn`,`error`],level:`info`,lookupLevel:function(e){if(typeof e==`string`){var t=n.indexOf(r.methodMap,e.toLowerCase());e=t>=0?t:parseInt(e,10)}return e},log:function(e){if(e=r.lookupLevel(e),typeof console<`u`&&r.lookupLevel(r.level)<=e){var t=r.methodMap[e];console[t]||(t=`log`);var n=[...arguments].slice(1);console[t].apply(console,n)}}};e.default=r,t.exports=e.default})),j=e((e=>{e.__esModule=!0,e.createNewLookupObject=n;var t=y();function n(){var e=[...arguments];return t.extend.apply(void 0,[Object.create(null)].concat(e))}})),M=e((e=>{e.__esModule=!0,e.createProtoAccessControl=o,e.resultIsAllowed=s,e.resetLoggedProperties=u;function t(e){return e&&e.__esModule?e:{default:e}}var n=j(),r=A(),i=t(r),a=Object.create(null);function o(e){var t=Object.create(null);t.constructor=!1,t.__defineGetter__=!1,t.__defineSetter__=!1,t.__lookupGetter__=!1;var r=Object.create(null);return r.__proto__=!1,{properties:{whitelist:n.createNewLookupObject(r,e.allowedProtoProperties),defaultValue:e.allowProtoPropertiesByDefault},methods:{whitelist:n.createNewLookupObject(t,e.allowedProtoMethods),defaultValue:e.allowProtoMethodsByDefault}}}function s(e,t,n){return c(typeof e==`function`?t.methods:t.properties,n)}function c(e,t){return e.whitelist[t]===void 0?e.defaultValue===void 0?(l(t),!1):e.defaultValue:e.whitelist[t]===!0}function l(e){a[e]!==!0&&(a[e]=!0,i.default.log(`error`,`Handlebars: Access has been denied to resolve the property "`+e+`" because it is not an "own property" of its parent.
1
+ import{__commonJSMin as e,__require as t,__toESM as n}from"./chunk-D9KrCrVq.js";import{Ie as r,M as i,Se as a,he as o,pD as s,ve as c,xe as l,ye as u}from"./dist-Ceoe3h7v.js";import"./util-BgbIWOFE.js";import"./create-slack-app-CyVPwWsG.js";import{setupSlackApp as d}from"./setup-slack-app-D_iwQuzr.js";import{templates as f}from"./init-templates-CB4tNZfU.js";import{basename as p,join as m}from"path";import{readFile as h,readdir as g,writeFile as _}from"fs/promises";import{spawn as v}from"child_process";var y=e((e=>{e.__esModule=!0,e.extend=a,e.indexOf=l,e.escapeExpression=u,e.isEmpty=d,e.createFrame=f,e.blockParams=p,e.appendContextPath=m;var t={"&":`&amp;`,"<":`&lt;`,">":`&gt;`,'"':`&quot;`,"'":`&#x27;`,"`":`&#x60;`,"=":`&#x3D;`},n=/[&<>"'`=]/g,r=/[&<>"'`=]/;function i(e){return t[e]}function a(e){for(var t=1;t<arguments.length;t++)for(var n in arguments[t])Object.prototype.hasOwnProperty.call(arguments[t],n)&&(e[n]=arguments[t][n]);return e}var o=Object.prototype.toString;e.toString=o;var s=function(e){return typeof e==`function`};s(/x/)&&(e.isFunction=s=function(e){return typeof e==`function`&&o.call(e)===`[object Function]`}),e.isFunction=s;var c=Array.isArray||function(e){return e&&typeof e==`object`?o.call(e)===`[object Array]`:!1};e.isArray=c;function l(e,t){for(var n=0,r=e.length;n<r;n++)if(e[n]===t)return n;return-1}function u(e){if(typeof e!=`string`){if(e&&e.toHTML)return e.toHTML();if(e==null)return``;if(!e)return e+``;e=``+e}return r.test(e)?e.replace(n,i):e}function d(e){return!e&&e!==0?!0:!!(c(e)&&e.length===0)}function f(e){var t=a({},e);return t._parent=e,t}function p(e,t){return e.path=t,e}function m(e,t){return(e?e+`.`:``)+t}})),b=e(((e,t)=>{e.__esModule=!0;var n=[`description`,`fileName`,`lineNumber`,`endLineNumber`,`message`,`name`,`number`,`stack`];function r(e,t){var i=t&&t.loc,a=void 0,o=void 0,s=void 0,c=void 0;i&&(a=i.start.line,o=i.end.line,s=i.start.column,c=i.end.column,e+=` - `+a+`:`+s);for(var l=Error.prototype.constructor.call(this,e),u=0;u<n.length;u++)this[n[u]]=l[n[u]];Error.captureStackTrace&&Error.captureStackTrace(this,r);try{i&&(this.lineNumber=a,this.endLineNumber=o,Object.defineProperty?(Object.defineProperty(this,`column`,{value:s,enumerable:!0}),Object.defineProperty(this,`endColumn`,{value:c,enumerable:!0})):(this.column=s,this.endColumn=c))}catch{}}r.prototype=Error(),e.default=r,t.exports=e.default})),x=e(((e,t)=>{e.__esModule=!0;var n=y();e.default=function(e){e.registerHelper(`blockHelperMissing`,function(t,r){var i=r.inverse,a=r.fn;if(t===!0)return a(this);if(t===!1||t==null)return i(this);if(n.isArray(t))return t.length>0?(r.ids&&=[r.name],e.helpers.each(t,r)):i(this);if(r.data&&r.ids){var o=n.createFrame(r.data);o.contextPath=n.appendContextPath(r.data.contextPath,r.name),r={data:o}}return a(t,r)})},t.exports=e.default})),S=e(((e,t)=>{e.__esModule=!0;function n(e){return e&&e.__esModule?e:{default:e}}var r=y(),i=b(),a=n(i);e.default=function(e){e.registerHelper(`each`,function(e,t){if(!t)throw new a.default(`Must pass iterator to #each`);var n=t.fn,i=t.inverse,o=0,s=``,c=void 0,l=void 0;t.data&&t.ids&&(l=r.appendContextPath(t.data.contextPath,t.ids[0])+`.`),r.isFunction(e)&&(e=e.call(this)),t.data&&(c=r.createFrame(t.data));function u(t,i,a){c&&(c.key=t,c.index=i,c.first=i===0,c.last=!!a,l&&(c.contextPath=l+t)),s+=n(e[t],{data:c,blockParams:r.blockParams([e[t],t],[l+t,null])})}if(e&&typeof e==`object`)if(r.isArray(e))for(var d=e.length;o<d;o++)o in e&&u(o,o,o===e.length-1);else if(typeof Symbol==`function`&&e[Symbol.iterator]){for(var f=[],p=e[Symbol.iterator](),m=p.next();!m.done;m=p.next())f.push(m.value);e=f;for(var d=e.length;o<d;o++)u(o,o,o===e.length-1)}else (function(){var t=void 0;Object.keys(e).forEach(function(e){t!==void 0&&u(t,o-1),t=e,o++}),t!==void 0&&u(t,o-1,!0)})();return o===0&&(s=i(this)),s})},t.exports=e.default})),C=e(((e,t)=>{e.__esModule=!0;function n(e){return e&&e.__esModule?e:{default:e}}var r=b(),i=n(r);e.default=function(e){e.registerHelper(`helperMissing`,function(){if(arguments.length!==1)throw new i.default(`Missing helper: "`+arguments[arguments.length-1].name+`"`)})},t.exports=e.default})),w=e(((e,t)=>{e.__esModule=!0;function n(e){return e&&e.__esModule?e:{default:e}}var r=y(),i=b(),a=n(i);e.default=function(e){e.registerHelper(`if`,function(e,t){if(arguments.length!=2)throw new a.default(`#if requires exactly one argument`);return r.isFunction(e)&&(e=e.call(this)),!t.hash.includeZero&&!e||r.isEmpty(e)?t.inverse(this):t.fn(this)}),e.registerHelper(`unless`,function(t,n){if(arguments.length!=2)throw new a.default(`#unless requires exactly one argument`);return e.helpers.if.call(this,t,{fn:n.inverse,inverse:n.fn,hash:n.hash})})},t.exports=e.default})),T=e(((e,t)=>{e.__esModule=!0,e.default=function(e){e.registerHelper(`log`,function(){for(var t=[void 0],n=arguments[arguments.length-1],r=0;r<arguments.length-1;r++)t.push(arguments[r]);var i=1;n.hash.level==null?n.data&&n.data.level!=null&&(i=n.data.level):i=n.hash.level,t[0]=i,e.log.apply(e,t)})},t.exports=e.default})),E=e(((e,t)=>{e.__esModule=!0,e.default=function(e){e.registerHelper(`lookup`,function(e,t,n){return e&&n.lookupProperty(e,t)})},t.exports=e.default})),D=e(((e,t)=>{e.__esModule=!0;function n(e){return e&&e.__esModule?e:{default:e}}var r=y(),i=b(),a=n(i);e.default=function(e){e.registerHelper(`with`,function(e,t){if(arguments.length!=2)throw new a.default(`#with requires exactly one argument`);r.isFunction(e)&&(e=e.call(this));var n=t.fn;if(r.isEmpty(e))return t.inverse(this);var i=t.data;return t.data&&t.ids&&(i=r.createFrame(t.data),i.contextPath=r.appendContextPath(t.data.contextPath,t.ids[0])),n(e,{data:i,blockParams:r.blockParams([e],[i&&i.contextPath])})})},t.exports=e.default})),O=e((e=>{e.__esModule=!0,e.registerDefaultHelpers=g,e.moveHelperToHooks=_;function t(e){return e&&e.__esModule?e:{default:e}}var n=x(),r=t(n),i=S(),a=t(i),o=C(),s=t(o),c=w(),l=t(c),u=T(),d=t(u),f=E(),p=t(f),m=D(),h=t(m);function g(e){r.default(e),a.default(e),s.default(e),l.default(e),d.default(e),p.default(e),h.default(e)}function _(e,t,n){e.helpers[t]&&(e.hooks[t]=e.helpers[t],n||delete e.helpers[t])}})),k=e(((e,t)=>{e.__esModule=!0;var n=y();e.default=function(e){e.registerDecorator(`inline`,function(e,t,r,i){var a=e;return t.partials||(t.partials={},a=function(i,a){var o=r.partials;r.partials=n.extend({},o,t.partials);var s=e(i,a);return r.partials=o,s}),t.partials[i.args[0]]=i.fn,a})},t.exports=e.default})),ee=e((e=>{e.__esModule=!0,e.registerDefaultDecorators=i;function t(e){return e&&e.__esModule?e:{default:e}}var n=k(),r=t(n);function i(e){r.default(e)}})),A=e(((e,t)=>{e.__esModule=!0;var n=y(),r={methodMap:[`debug`,`info`,`warn`,`error`],level:`info`,lookupLevel:function(e){if(typeof e==`string`){var t=n.indexOf(r.methodMap,e.toLowerCase());e=t>=0?t:parseInt(e,10)}return e},log:function(e){if(e=r.lookupLevel(e),typeof console<`u`&&r.lookupLevel(r.level)<=e){var t=r.methodMap[e];console[t]||(t=`log`);var n=[...arguments].slice(1);console[t].apply(console,n)}}};e.default=r,t.exports=e.default})),j=e((e=>{e.__esModule=!0,e.createNewLookupObject=n;var t=y();function n(){var e=[...arguments];return t.extend.apply(void 0,[Object.create(null)].concat(e))}})),M=e((e=>{e.__esModule=!0,e.createProtoAccessControl=o,e.resultIsAllowed=s,e.resetLoggedProperties=u;function t(e){return e&&e.__esModule?e:{default:e}}var n=j(),r=A(),i=t(r),a=Object.create(null);function o(e){var t=Object.create(null);t.constructor=!1,t.__defineGetter__=!1,t.__defineSetter__=!1,t.__lookupGetter__=!1;var r=Object.create(null);return r.__proto__=!1,{properties:{whitelist:n.createNewLookupObject(r,e.allowedProtoProperties),defaultValue:e.allowProtoPropertiesByDefault},methods:{whitelist:n.createNewLookupObject(t,e.allowedProtoMethods),defaultValue:e.allowProtoMethodsByDefault}}}function s(e,t,n){return c(typeof e==`function`?t.methods:t.properties,n)}function c(e,t){return e.whitelist[t]===void 0?e.defaultValue===void 0?(l(t),!1):e.defaultValue:e.whitelist[t]===!0}function l(e){a[e]!==!0&&(a[e]=!0,i.default.log(`error`,`Handlebars: Access has been denied to resolve the property "`+e+`" because it is not an "own property" of its parent.
2
2
  You can add a runtime option to disable the check or this warning:
3
3
  See https://handlebarsjs.com/api-reference/runtime-options.html#options-to-control-prototype-access for details`))}function u(){Object.keys(a).forEach(function(e){delete a[e]})}})),N=e((e=>{e.__esModule=!0,e.HandlebarsEnvironment=d;function t(e){return e&&e.__esModule?e:{default:e}}var n=y(),r=b(),i=t(r),a=O(),o=ee(),s=A(),c=t(s),l=M();e.VERSION=`4.7.8`,e.COMPILER_REVISION=8,e.LAST_COMPATIBLE_COMPILER_REVISION=7,e.REVISION_CHANGES={1:`<= 1.0.rc.2`,2:`== 1.0.0-rc.3`,3:`== 1.0.0-rc.4`,4:`== 1.x.x`,5:`== 2.0.0-alpha.x`,6:`>= 2.0.0-beta.1`,7:`>= 4.0.0 <4.3.0`,8:`>= 4.3.0`};var u=`[object Object]`;function d(e,t,n){this.helpers=e||{},this.partials=t||{},this.decorators=n||{},a.registerDefaultHelpers(this),o.registerDefaultDecorators(this)}d.prototype={constructor:d,logger:c.default,log:c.default.log,registerHelper:function(e,t){if(n.toString.call(e)===u){if(t)throw new i.default(`Arg not supported with multiple helpers`);n.extend(this.helpers,e)}else this.helpers[e]=t},unregisterHelper:function(e){delete this.helpers[e]},registerPartial:function(e,t){if(n.toString.call(e)===u)n.extend(this.partials,e);else{if(t===void 0)throw new i.default(`Attempting to register a partial called "`+e+`" as undefined`);this.partials[e]=t}},unregisterPartial:function(e){delete this.partials[e]},registerDecorator:function(e,t){if(n.toString.call(e)===u){if(t)throw new i.default(`Arg not supported with multiple decorators`);n.extend(this.decorators,e)}else this.decorators[e]=t},unregisterDecorator:function(e){delete this.decorators[e]},resetLoggedPropertyAccesses:function(){l.resetLoggedProperties()}},e.log=c.default.log,e.createFrame=n.createFrame,e.logger=c.default})),P=e(((e,t)=>{e.__esModule=!0;function n(e){this.string=e}n.prototype.toString=n.prototype.toHTML=function(){return``+this.string},e.default=n,t.exports=e.default})),F=e((e=>{e.__esModule=!0,e.wrapHelper=t;function t(e,t){return typeof e==`function`?function(){var n=arguments[arguments.length-1];return arguments[arguments.length-1]=t(n),e.apply(this,arguments)}:e}})),I=e((e=>{e.__esModule=!0,e.checkRevision=d,e.template=f,e.wrapProgram=p,e.resolvePartial=m,e.invokePartial=h,e.noop=g;function t(e){return e&&e.__esModule?e:{default:e}}function n(e){if(e&&e.__esModule)return e;var t={};if(e!=null)for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[n]=e[n]);return t.default=e,t}var r=y(),i=n(r),a=b(),o=t(a),s=N(),c=O(),l=F(),u=M();function d(e){var t=e&&e[0]||1,n=s.COMPILER_REVISION;if(!(t>=s.LAST_COMPATIBLE_COMPILER_REVISION&&t<=s.COMPILER_REVISION))if(t<s.LAST_COMPATIBLE_COMPILER_REVISION){var r=s.REVISION_CHANGES[n],i=s.REVISION_CHANGES[t];throw new o.default(`Template was precompiled with an older version of Handlebars than the current runtime. Please update your precompiler to a newer version (`+r+`) or downgrade your runtime to an older version (`+i+`).`)}else throw new o.default(`Template was precompiled with a newer version of Handlebars than the current runtime. Please update your runtime to a newer version (`+e[1]+`).`)}function f(e,t){if(!t)throw new o.default(`No environment passed to template`);if(!e||!e.main)throw new o.default(`Unknown template object: `+typeof e);e.main.decorator=e.main_d,t.VM.checkRevision(e.compiler);var n=e.compiler&&e.compiler[0]===7;function r(n,r,a){a.hash&&(r=i.extend({},r,a.hash),a.ids&&(a.ids[0]=!0)),n=t.VM.resolvePartial.call(this,n,r,a);var s=i.extend({},a,{hooks:this.hooks,protoAccessControl:this.protoAccessControl}),c=t.VM.invokePartial.call(this,n,r,s);if(c==null&&t.compile&&(a.partials[a.name]=t.compile(n,e.compilerOptions,t),c=a.partials[a.name](r,s)),c!=null){if(a.indent){for(var l=c.split(`
4
4
  `),u=0,d=l.length;u<d&&!(!l[u]&&u+1===d);u++)l[u]=a.indent+l[u];c=l.join(`
@@ -1,8 +1,15 @@
1
- const e={scratch:{".gitignore":`# dependencies
1
+ const e={scratch:{".env.local":`
2
+ # Store local environment variables here.
3
+ # They will be used by blink dev for development.
4
+ # EXTERNAL_SERVICE_API_KEY=
5
+ `,".env.production":`# Store production environment variables here.
6
+ # They will be upserted as secrets on blink deploy.
7
+ # EXTERNAL_SERVICE_API_KEY=
8
+ `,".gitignore":`# dependencies
2
9
  node_modules
3
10
 
4
11
  # config and build
5
- data
12
+ .blink
6
13
 
7
14
  # dotenv environment variables file
8
15
  .env
@@ -10,31 +17,6 @@ data
10
17
 
11
18
  # Finder (MacOS) folder config
12
19
  .DS_Store
13
- `,"tsconfig.json":`{
14
- "compilerOptions": {
15
- "lib": ["ESNext"],
16
- "target": "ESNext",
17
- "module": "Preserve",
18
- "moduleDetection": "force",
19
-
20
- "moduleResolution": "bundler",
21
- "allowImportingTsExtensions": true,
22
- "verbatimModuleSyntax": true,
23
- "resolveJsonModule": true,
24
- "noEmit": true,
25
-
26
- "strict": true,
27
- "skipLibCheck": true,
28
- "noFallthroughCasesInSwitch": true,
29
- "noUncheckedIndexedAccess": true,
30
- "noImplicitOverride": true,
31
-
32
- "noUnusedLocals": false,
33
- "noUnusedParameters": false,
34
-
35
- "types": ["node"]
36
- }
37
- }
38
20
  `,"AGENTS.md":`This project is a Blink agent.
39
21
 
40
22
  You are an expert software engineer, which makes you an expert agent developer. You are highly idiomatic, opinionated, concise, and precise. The user prefers accuracy over speed.
@@ -108,7 +90,7 @@ const agent = new blink.Agent();
108
90
 
109
91
  agent.on("chat", async ({ messages, chat, abortSignal }) => {
110
92
  return streamText({
111
- model: blink.model("anthropic/claude-sonnet-4.5"),
93
+ model: "anthropic/claude-sonnet-4.5",
112
94
  system: "You are a helpful assistant.",
113
95
  messages: convertToModelMessages(messages, {
114
96
  ignoreIncompleteToolCalls: true,
@@ -252,17 +234,6 @@ Tool Prefixing to avoid collisions:
252
234
 
253
235
  LLM Models:
254
236
 
255
- **Option 1: Blink Gateway** (Quick Start)
256
-
257
- \`\`\`typescript
258
- model: blink.model("anthropic/claude-sonnet-4.5");
259
- model: blink.model("openai/gpt-5");
260
- \`\`\`
261
-
262
- Requires: \`blink login\` or \`BLINK_TOKEN\` env var
263
-
264
- **Option 2: Direct Provider** (Production Recommended)
265
-
266
237
  \`\`\`typescript
267
238
  import { anthropic } from "@ai-sdk/anthropic";
268
239
  import { openai } from "@ai-sdk/openai";
@@ -277,7 +248,6 @@ model: openai("gpt-5", { apiKey: process.env.OPENAI_API_KEY });
277
248
 
278
249
  1. If \`ANTHROPIC_API_KEY\` is set: uses \`claude-sonnet-4.5\` via \`@ai-sdk/anthropic\`
279
250
  2. If \`OPENAI_API_KEY\` is set: uses \`gpt-5\` via \`@ai-sdk/openai\`
280
- 3. Otherwise: falls back to \`blink.model("anthropic/claude-sonnet-4.5")\`
281
251
 
282
252
  Available SDKs:
283
253
 
@@ -347,7 +317,7 @@ agent.on("request", async (request) => {
347
317
  agent.on("chat", async ({ messages }) => {
348
318
  const tools = slack.createTools({ client: app.client });
349
319
  return streamText({
350
- model: blink.model("anthropic/claude-sonnet-4.5"),
320
+ model: "anthropic/claude-sonnet-4.5",
351
321
  system: "You chatting with users in Slack.",
352
322
  messages: convertToModelMessages(messages, {
353
323
  ignoreIncompleteToolCalls: true,
@@ -371,7 +341,7 @@ Slack App Manifest:
371
341
  - _ALWAYS_ include the "assistant:write" scope unless the user explicitly states otherwise - this allows Slack apps to set their status, which makes for a significantly better user experience. You _MUST_ provide "assistant_view" if you provide this scope.
372
342
  - The user can always edit the manifest after creation, but you'd have to suggest it to them.
373
343
  - "oauth_config" MUST BE PROVIDED - otherwise the app will have NO ACCESS.
374
- - _ALWAYS_ default "token_rotation_enabled" to false unless the user explicitly asks for it. It is a _much_ simpler user-experience to not rotate tokens.
344
+ - _ALWAYS_ default \`token_rotation_enabled\` to false unless the user explicitly asks for it. It is a _much_ simpler user-experience to not rotate tokens.
375
345
  - For the best user experience, default to the following bot scopes (in the "oauth_config" > "scopes" > "bot"):
376
346
  - "app_mentions:read"
377
347
  - "reactions:write"
@@ -402,16 +372,6 @@ Slack App Manifest:
402
372
 
403
373
  WARNING: Beware of attaching multiple event listeners to the same chat. This could cause the agent to respond multiple times.
404
374
 
405
- **@blink-sdk/web-search**
406
-
407
- \`\`\`typescript
408
- import * as webSearch from "@blink-sdk/web-search";
409
-
410
- tools: {
411
- ...webSearch.tools,
412
- }
413
- \`\`\`
414
-
415
375
  State Management:
416
376
 
417
377
  Blink agents are short-lived HTTP servers that restart on code changes and do not persist in-memory state between requests.
@@ -474,13 +434,6 @@ The agent process can restart at any time, so all important state must be extern
474
434
 
475
435
  - Never use "as any" type assertions. Always figure out the correct typings.
476
436
  </code_quality>
477
- `,".env.local":`
478
- # Store local environment variables here.
479
- # They will be used by blink dev for development.
480
- # EXTERNAL_SERVICE_API_KEY=
481
- `,".env.production":`# Store production environment variables here.
482
- # They will be upserted as secrets on blink deploy.
483
- # EXTERNAL_SERVICE_API_KEY=
484
437
  `,"agent.ts.hbs":`import { convertToModelMessages, streamText, tool } from "ai";
485
438
  import * as blink from "blink";
486
439
  import { z } from "zod";
@@ -497,7 +450,12 @@ agent.on("chat", async ({ messages }) => {
497
450
  {{#if (eq aiProvider "anthropic")}}
498
451
  model: anthropic("claude-sonnet-4-5"),
499
452
  {{else if (eq aiProvider "openai")}}
500
- model: openai("gpt-5-chat-latest"),
453
+ model: openai("gpt-5-codex"),
454
+ providerOptions: {
455
+ openai: {
456
+ reasoningSummary: "detailed",
457
+ },
458
+ },
501
459
  {{else if (eq aiProvider "vercel")}}
502
460
  model: "anthropic/claude-sonnet-4.5",
503
461
  {{else}}
@@ -546,18 +504,6 @@ agent.serve();
546
504
  "typescript": "latest"
547
505
  }
548
506
  }
549
- `},"slack-bot":{".gitignore":`# dependencies
550
- node_modules
551
-
552
- # config and build
553
- data
554
-
555
- # dotenv environment variables file
556
- .env
557
- .env.*
558
-
559
- # Finder (MacOS) folder config
560
- .DS_Store
561
507
  `,"tsconfig.json":`{
562
508
  "compilerOptions": {
563
509
  "lib": ["ESNext"],
@@ -583,6 +529,26 @@ data
583
529
  "types": ["node"]
584
530
  }
585
531
  }
532
+ `},"slack-bot":{".env.local":`
533
+ # Store local environment variables here.
534
+ # They will be used by blink dev for development.
535
+ SLACK_BOT_TOKEN=xoxb-your-token-here
536
+ SLACK_SIGNING_SECRET=your-signing-secret-here
537
+ `,".env.production":`# Store production environment variables here.
538
+ # They will be upserted as secrets on blink deploy.
539
+ # EXTERNAL_SERVICE_API_KEY=
540
+ `,".gitignore":`# dependencies
541
+ node_modules
542
+
543
+ # config and build
544
+ .blink
545
+
546
+ # dotenv environment variables file
547
+ .env
548
+ .env.*
549
+
550
+ # Finder (MacOS) folder config
551
+ .DS_Store
586
552
  `,"AGENTS.md":`This project is a Blink agent.
587
553
 
588
554
  You are an expert software engineer, which makes you an expert agent developer. You are highly idiomatic, opinionated, concise, and precise. The user prefers accuracy over speed.
@@ -656,7 +622,7 @@ const agent = new blink.Agent();
656
622
 
657
623
  agent.on("chat", async ({ messages, chat, abortSignal }) => {
658
624
  return streamText({
659
- model: blink.model("anthropic/claude-sonnet-4.5"),
625
+ model: "anthropic/claude-sonnet-4.5",
660
626
  system: "You are a helpful assistant.",
661
627
  messages: convertToModelMessages(messages, {
662
628
  ignoreIncompleteToolCalls: true,
@@ -800,17 +766,6 @@ Tool Prefixing to avoid collisions:
800
766
 
801
767
  LLM Models:
802
768
 
803
- **Option 1: Blink Gateway** (Quick Start)
804
-
805
- \`\`\`typescript
806
- model: blink.model("anthropic/claude-sonnet-4.5");
807
- model: blink.model("openai/gpt-5");
808
- \`\`\`
809
-
810
- Requires: \`blink login\` or \`BLINK_TOKEN\` env var
811
-
812
- **Option 2: Direct Provider** (Production Recommended)
813
-
814
769
  \`\`\`typescript
815
770
  import { anthropic } from "@ai-sdk/anthropic";
816
771
  import { openai } from "@ai-sdk/openai";
@@ -825,7 +780,6 @@ model: openai("gpt-5", { apiKey: process.env.OPENAI_API_KEY });
825
780
 
826
781
  1. If \`ANTHROPIC_API_KEY\` is set: uses \`claude-sonnet-4.5\` via \`@ai-sdk/anthropic\`
827
782
  2. If \`OPENAI_API_KEY\` is set: uses \`gpt-5\` via \`@ai-sdk/openai\`
828
- 3. Otherwise: falls back to \`blink.model("anthropic/claude-sonnet-4.5")\`
829
783
 
830
784
  Available SDKs:
831
785
 
@@ -895,7 +849,7 @@ agent.on("request", async (request) => {
895
849
  agent.on("chat", async ({ messages }) => {
896
850
  const tools = slack.createTools({ client: app.client });
897
851
  return streamText({
898
- model: blink.model("anthropic/claude-sonnet-4.5"),
852
+ model: "anthropic/claude-sonnet-4.5",
899
853
  system: "You chatting with users in Slack.",
900
854
  messages: convertToModelMessages(messages, {
901
855
  ignoreIncompleteToolCalls: true,
@@ -919,7 +873,7 @@ Slack App Manifest:
919
873
  - _ALWAYS_ include the "assistant:write" scope unless the user explicitly states otherwise - this allows Slack apps to set their status, which makes for a significantly better user experience. You _MUST_ provide "assistant_view" if you provide this scope.
920
874
  - The user can always edit the manifest after creation, but you'd have to suggest it to them.
921
875
  - "oauth_config" MUST BE PROVIDED - otherwise the app will have NO ACCESS.
922
- - _ALWAYS_ default "token_rotation_enabled" to false unless the user explicitly asks for it. It is a _much_ simpler user-experience to not rotate tokens.
876
+ - _ALWAYS_ default \`token_rotation_enabled\` to false unless the user explicitly asks for it. It is a _much_ simpler user-experience to not rotate tokens.
923
877
  - For the best user experience, default to the following bot scopes (in the "oauth_config" > "scopes" > "bot"):
924
878
  - "app_mentions:read"
925
879
  - "reactions:write"
@@ -950,16 +904,6 @@ Slack App Manifest:
950
904
 
951
905
  WARNING: Beware of attaching multiple event listeners to the same chat. This could cause the agent to respond multiple times.
952
906
 
953
- **@blink-sdk/web-search**
954
-
955
- \`\`\`typescript
956
- import * as webSearch from "@blink-sdk/web-search";
957
-
958
- tools: {
959
- ...webSearch.tools,
960
- }
961
- \`\`\`
962
-
963
907
  State Management:
964
908
 
965
909
  Blink agents are short-lived HTTP servers that restart on code changes and do not persist in-memory state between requests.
@@ -1022,14 +966,6 @@ The agent process can restart at any time, so all important state must be extern
1022
966
 
1023
967
  - Never use "as any" type assertions. Always figure out the correct typings.
1024
968
  </code_quality>
1025
- `,".env.local":`
1026
- # Store local environment variables here.
1027
- # They will be used by blink dev for development.
1028
- SLACK_BOT_TOKEN=xoxb-your-token-here
1029
- SLACK_SIGNING_SECRET=your-signing-secret-here
1030
- `,".env.production":`# Store production environment variables here.
1031
- # They will be upserted as secrets on blink deploy.
1032
- # EXTERNAL_SERVICE_API_KEY=
1033
969
  `,"agent.ts.hbs":`import { convertToModelMessages, streamText } from "ai";
1034
970
  import * as blink from "blink";
1035
971
  import * as slack from "@blink-sdk/slack";
@@ -1122,7 +1058,12 @@ agent.on("chat", async ({ messages }) => {
1122
1058
  {{#if (eq aiProvider "anthropic")}}
1123
1059
  model: anthropic("claude-sonnet-4-5"),
1124
1060
  {{else if (eq aiProvider "openai")}}
1125
- model: openai("gpt-5-chat-latest"),
1061
+ model: openai("gpt-5-codex"),
1062
+ providerOptions: {
1063
+ openai: {
1064
+ reasoningSummary: "detailed",
1065
+ },
1066
+ },
1126
1067
  {{else if (eq aiProvider "vercel")}}
1127
1068
  model: "anthropic/claude-sonnet-4.5",
1128
1069
  {{else}}
@@ -1163,4 +1104,29 @@ agent.serve();`,"package.json.hbs":`{
1163
1104
  "@blink-sdk/slack": "latest"
1164
1105
  }
1165
1106
  }
1107
+ `,"tsconfig.json":`{
1108
+ "compilerOptions": {
1109
+ "lib": ["ESNext"],
1110
+ "target": "ESNext",
1111
+ "module": "Preserve",
1112
+ "moduleDetection": "force",
1113
+
1114
+ "moduleResolution": "bundler",
1115
+ "allowImportingTsExtensions": true,
1116
+ "verbatimModuleSyntax": true,
1117
+ "resolveJsonModule": true,
1118
+ "noEmit": true,
1119
+
1120
+ "strict": true,
1121
+ "skipLibCheck": true,
1122
+ "noFallthroughCasesInSwitch": true,
1123
+ "noUncheckedIndexedAccess": true,
1124
+ "noImplicitOverride": true,
1125
+
1126
+ "noUnusedLocals": false,
1127
+ "noUnusedParameters": false,
1128
+
1129
+ "types": ["node"]
1130
+ }
1131
+ }
1166
1132
  `}};export{e as templates};
@@ -0,0 +1 @@
1
+ import"./dist-Ceoe3h7v.js";import{login as e}from"./auth-CoJASYGP.js";import"./util-BgbIWOFE.js";async function t(){await e()}export{t as default};
@@ -1 +1 @@
1
- import{__toESM as e}from"./chunk-D9KrCrVq.js";import{findNearestEntry as t,migrateBlinkToData as n,require_main as r,resolveConfig as i}from"./util-x4GqZFrj.js";import"./dist-DxkSGwUH.js";import{getAuthToken as a}from"./auth-Db3lxkv2.js";import"./open-S_jcQ0nw.js";import{ChatManager as o,Client as s}from"./chat-manager-BtRfjylv.js";import{spawn as c}from"node:child_process";import{join as l,resolve as u}from"node:path";import{existsSync as d}from"node:fs";import{readFile as f}from"node:fs/promises";import{createServer as p}from"node:net";async function m(e){let t=e.env?.PORT??await h(),n=e.env?.HOST??`127.0.0.1`,r=`http://${n}:${t}`,i={...e.env??process.env,PORT:t.toString(),HOST:n},a=c(e.command,e.args,{stdio:`pipe`,env:i});e.signal?.addEventListener(`abort`,()=>{try{a.kill()}catch{}},{once:!0});let o=new AbortController,l=[o.signal];e.signal&&l.push(e.signal);let u=AbortSignal.any(l);a.stdout.on(`data`,t=>{e.onStdout?.(Buffer.from(t).toString(`utf-8`))});let d=``;a.stderr.on(`data`,t=>{o.signal.aborted||(d+=Buffer.from(t).toString(`utf-8`)),e.onStderr?.(Buffer.from(t).toString(`utf-8`))}),a.on(`error`,e=>{o.abort(e)}),a.on(`exit`,(t,n)=>{o.signal.aborted?e.onExit?.(t,n):o.abort()});let f=new s({baseUrl:r}),p=0;for(;!u.aborted;){try{await f.health();break}catch{}if(await new Promise(e=>setTimeout(e,p*5)),p++,p>100)throw Error(`Health endpoint timed out`)}if(u.aborted)throw u.reason;return o.abort(),{client:f,dispose:()=>{a.kill()}}}async function h(){let e=p();return new Promise((t,n)=>{e.listen(0,()=>{let n=e.address().port;t(n)}).on(`error`,e=>{n(e)})}).finally(()=>{e.close()})}var g=e(r(),1);async function _(e,r={}){if(!r.directory){let e=process.cwd();try{i(e),r.directory=e}catch{let n=await t(e,`.blink`);n&&d(l(n,`build`))&&(n=void 0),n?r.directory=n:r.directory=e}}await n(r.directory);let s=i(r.directory),c={};try{c=(0,g.parse)(await f(l(r.directory,`.env.local`),`utf-8`))}catch{}let p=await a(),h=await m({command:`node`,args:[`--experimental-strip-types`,`--no-deprecation`,s.entry],env:{...process.env,...c,BLINK_TOKEN:p}});console.log(`Agent spawned`);let _=u(r?.directory??process.cwd(),`data`,`chats`),v=new o({chatId:r?.chat,chatsDirectory:_});v.setAgent(h.client);try{let t=new Promise(e=>{let t=v.subscribe(n=>{(n.status===`idle`||n.status===`error`)&&(t(),e())})});await v.sendMessages([{id:crypto.randomUUID(),created_at:new Date().toISOString(),metadata:void 0,parts:[{type:`text`,text:e.join(` `)}],role:`user`,mode:`run`}]),await t;let n=v.getState();n.error&&console.error(`Error:`,n.error),console.log(`Final state:`,n.messages.pop())}finally{v.dispose(),h.dispose()}}export{_ as default};
1
+ import{__toESM as e}from"./chunk-D9KrCrVq.js";import{findNearestEntry as t,migrateDataToBlink as n,require_main as r,resolveConfig as i}from"./util-DDB5k1Go.js";import"./dist-Ceoe3h7v.js";import{getAuthToken as a}from"./auth-CoJASYGP.js";import"./util-BgbIWOFE.js";import{ChatManager as o,Client as s}from"./chat-manager-BRchJngj.js";import{spawn as c}from"node:child_process";import{join as l,resolve as u}from"node:path";import{existsSync as d}from"node:fs";import{readFile as f}from"node:fs/promises";import{createServer as p}from"node:net";async function m(e){let t=e.env?.PORT??await h(),n=e.env?.HOST??`127.0.0.1`,r=`http://${n}:${t}`,i={...e.env??process.env,PORT:t.toString(),HOST:n},a=c(e.command,e.args,{stdio:`pipe`,env:i});e.signal?.addEventListener(`abort`,()=>{try{a.kill()}catch{}},{once:!0});let o=new AbortController,l=[o.signal];e.signal&&l.push(e.signal);let u=AbortSignal.any(l);a.stdout.on(`data`,t=>{e.onStdout?.(Buffer.from(t).toString(`utf-8`))});let d=``;a.stderr.on(`data`,t=>{o.signal.aborted||(d+=Buffer.from(t).toString(`utf-8`)),e.onStderr?.(Buffer.from(t).toString(`utf-8`))}),a.on(`error`,e=>{o.abort(e)}),a.on(`exit`,(t,n)=>{o.signal.aborted?e.onExit?.(t,n):o.abort()});let f=new s({baseUrl:r}),p=0;for(;!u.aborted;){try{await f.health();break}catch{}if(await new Promise(e=>setTimeout(e,p*5)),p++,p>100)throw Error(`Health endpoint timed out`)}if(u.aborted)throw u.reason;return o.abort(),{client:f,dispose:()=>{a.kill()}}}async function h(){let e=p();return new Promise((t,n)=>{e.listen(0,()=>{let n=e.address().port;t(n)}).on(`error`,e=>{n(e)})}).finally(()=>{e.close()})}var g=e(r(),1);async function _(e,r={}){if(!r.directory){let e=process.cwd();try{i(e),r.directory=e}catch{let n=await t(e,`.blink`);n&&d(l(n,`build`))&&(n=void 0),n?r.directory=n:r.directory=e}}await n(r.directory);let s=i(r.directory),c={};try{c=(0,g.parse)(await f(l(r.directory,`.env.local`),`utf-8`))}catch{}let p=await a(),h=await m({command:`node`,args:[`--experimental-strip-types`,`--no-deprecation`,s.entry],env:{...process.env,...c,BLINK_TOKEN:p}});console.log(`Agent spawned`);let _=u(r?.directory??process.cwd(),`.blink`,`chats`),v=new o({chatId:r?.chat,chatsDirectory:_});v.setAgent(h.client);try{let t=new Promise(e=>{let t=v.subscribe(n=>{(n.status===`idle`||n.status===`error`)&&(t(),e())})});await v.sendMessages([{id:crypto.randomUUID(),created_at:new Date().toISOString(),metadata:void 0,parts:[{type:`text`,text:e.join(` `)}],role:`user`,mode:`run`}]),await t;let n=v.getState();n.error&&console.error(`Error:`,n.error),console.log(`Final state:`,n.messages.pop())}finally{v.dispose(),h.dispose()}}export{_ as default};
@@ -0,0 +1 @@
1
+ import{__toESM as e}from"./chunk-D9KrCrVq.js";import{Client as t,Ie as n,M as r,Se as i,Y as a,ge as o,he as s,pD as c,ye as l}from"./dist-Ceoe3h7v.js";import{openUrl as u,require_source as d}from"./util-BgbIWOFE.js";import{createDevhookID as f,createSlackApp as p,getDevhookID as m,hasDevhook as h}from"./create-slack-app-CyVPwWsG.js";import g from"crypto";import{basename as _,join as v}from"path";import{access as y,readFile as b,readdir as x,writeFile as S}from"fs/promises";import C from"node:util";function w(){var e=typeof SuppressedError==`function`?SuppressedError:function(e,t){var n=Error();return n.name=`SuppressedError`,n.error=e,n.suppressed=t,n},t={},n=[];function r(e,t){if(t!=null){if(Object(t)!==t)throw TypeError(`using declarations can only be used with objects, functions, null, or undefined.`);if(e)var r=t[Symbol.asyncDispose||Symbol.for(`Symbol.asyncDispose`)];if(r===void 0&&(r=t[Symbol.dispose||Symbol.for(`Symbol.dispose`)],e))var i=r;if(typeof r!=`function`)throw TypeError(`Object is not disposable.`);i&&(r=function(){try{i.call(t)}catch(e){return Promise.reject(e)}}),n.push({v:t,d:r,a:e})}else e&&n.push({d:t,a:e});return t}return{e:t,u:r.bind(null,!1),a:r.bind(null,!0),d:function(){var r,i=this.e,a=0;function o(){for(;r=n.pop();)try{if(!r.a&&a===1)return a=0,n.push(r),Promise.resolve().then(o);if(r.d){var e=r.d.call(r.v);if(r.a)return a|=2,Promise.resolve(e).then(o,s)}else a|=1}catch(e){return s(e)}if(a===1)return i===t?Promise.resolve():Promise.reject(i);if(i!==t)throw i}function s(n){return i=i===t?n:new e(n,i),o()}return o()}}}var T=e(d(),1);async function E(e){try{let t=await(await fetch(`https://slack.com/api/auth.test`,{method:`POST`,headers:{Authorization:`Bearer ${e}`,"Content-Type":`application/json`}})).json();return t.ok?{valid:!0,botName:t.user}:{valid:!1,error:t.error||`Invalid bot token`}}catch(e){return{valid:!1,error:`Failed to verify credentials: ${e}`}}}function D(e,t,n,r){let i=Math.floor(Date.now()/1e3),a=parseInt(t,10);if(Math.abs(i-a)>300)return!1;let o=g.createHmac(`sha256`,e),s=`v0:${t}:${n}`;o.update(s);let c=`v0=${o.digest(`hex`)}`;return g.timingSafeEqual(Buffer.from(c),Buffer.from(r))}const O=e=>{if(!(typeof e==`object`&&e))throw Error(`Unable to make value disposable, it's not an object`);if(Symbol.dispose in e)return e;if(`dispose`in e&&typeof e.dispose==`function`)return e[Symbol.dispose]=()=>e.dispose(),e;throw Error(`Unable to make value disposable`)};async function k(e,t,n){let r=await b(e,`utf-8`);t&&(r=r.replace(/SLACK_BOT_TOKEN=.*/,`SLACK_BOT_TOKEN=${t}`)),n&&(r=r.replace(/SLACK_SIGNING_SECRET=.*/,`SLACK_SIGNING_SECRET=${n}`)),await S(e,r)}async function A(e){let t=await x(e);for(let[e,n]of[[`bun`,`bun.lock`],[`npm`,`package-lock.json`],[`pnpm`,`pnpm-lock.yaml`],[`yarn`,`yarn.lock`]])for(let r of t)if(r.includes(n))return e;return`npm`}async function j(e,n){try{var d=w();let g=n?.name||_(e).replace(/[^a-zA-Z0-9]/g,`-`),b=n?.packageManager||await A(e),x=v(e,`.env.local`);try{await y(x)}catch{r.error(`No .env.local file found in this directory. Please run this command from a Blink agent directory.`),i(`Slack app setup cancelled`);return}let S=await s({message:`What should your Slack app be called? This will be the name displayed in Slack. You can change it later.`,placeholder:g,defaultValue:g,validate:e=>{if(!e||e.trim().length===0)return`App name cannot be empty`}});if(c(S))return;let j=h(e)?m(e):f(e),M=`https://${j}.blink.host`;if(!j)throw Error(`Failed to obtain devhook ID`);r.info(`Starting webhook listener...`);let N=``,P=``,F=!1,I=``,L=``,R=!1,z,B=new t({baseURL:`https://blink.so`}),V=()=>{},H=e=>{},U=new Promise((e,t)=>{V=e,H=t}),W=B.devhook.listen({id:j,onRequest:async e=>{let t=await e.text(),n;try{n=JSON.parse(t)}catch{return new Response(`Invalid JSON`,{status:400})}if(n.type===`url_verification`)return r.info(`✓ Webhook challenge received`),new Response(JSON.stringify({challenge:n.challenge}),{headers:{"Content-Type":`application/json`}});if(N){let r=e.headers.get(`x-slack-signature`),i=e.headers.get(`x-slack-request-timestamp`);if(!r||!i)return new Response(`Missing signature`,{status:401});if(!D(N,i,t,r))return R=!0,n.event?.type===`message`&&n.event.channel_type===`im`&&!n.event.bot_id&&(z=n.event.channel),new Response(`Invalid signature`,{status:401})}return n.event?.type===`message`&&n.event.channel_type===`im`&&!n.event.bot_id&&(F=!0,I=n.event.channel,L=n.event.ts),new Response(`OK`)},onConnect:()=>{V()},onDisconnect:()=>{},onError:e=>{H(e)}});d.u(O(W));let G={display_information:{name:S.toString(),description:`A Blink agent for Slack`,background_color:`#4A154B`},features:{bot_user:{display_name:S.toString(),always_online:!0},app_home:{home_tab_enabled:!1,messages_tab_enabled:!0,messages_tab_read_only_enabled:!1},assistant_view:{assistant_description:`A helpful assistant powered by Blink`}},oauth_config:{scopes:{bot:[`app_mentions:read`,`assistant:write`,`reactions:write`,`reactions:read`,`channels:history`,`chat:write`,`groups:history`,`groups:read`,`files:read`,`im:history`,`im:read`,`im:write`,`mpim:history`,`mpim:read`,`users:read`,`links:read`,`commands`]}},settings:{event_subscriptions:{request_url:M,bot_events:[`app_mention`,`message.channels`,`message.groups`,`message.im`,`reaction_added`,`reaction_removed`,`assistant_thread_started`,`member_joined_channel`]},interactivity:{is_enabled:!0,request_url:M},token_rotation_enabled:!1,org_deploy_enabled:!1,socket_mode_enabled:!1}},K=p(G);r.info(`Please visit this URL to create your Slack app and return here after finishing:\n\n${T.default.gray(K)}\n`);let q=await l({message:`Open this URL in your browser automatically?`,initialValue:!0});if(c(q)){r.warn(`Skipping Slack app setup`);return}q&&await u(K,`Could not open the browser. Please visit the URL manually.`);let J=await s({message:`After creating the app, paste the App ID from the "Basic Information" page:`,placeholder:`A01234567AB`,validate:e=>{if(!e||e.trim().length===0)return`App ID is required`}});if(c(J)){r.warn(`Skipping Slack app setup`);return}if(N=await o({message:`Paste your Signing Secret from the same page:`,validate:e=>{if(!e||e.trim().length===0)return`Signing secret is required`}}),c(N)){r.warn(`Skipping Slack app setup`);return}let Y=!1;for(;!Y;){if(P=await o({message:`Install your app and paste your Bot Token from ${T.default.cyan(`https://api.slack.com/apps/${J}/install-on-team`)}`,validate:e=>{if(!e||e.trim().length===0)return`Bot token is required`}}),c(P)){r.warn(`Skipping Slack app setup`);return}let e=a();e.start(`Verifying bot token...`);let t=await E(P);if(t.valid)e.stop(`✓ Bot token verified!`),Y=!0;else{e.stop(`✗ Failed to verify bot token: ${t.error}`);let n=await l({message:`Would you like to try again?`,initialValue:!0});if(c(n)||!n){r.warn(`Skipping Slack app setup`);return}}}await k(x,P,N),r.success(`Credentials saved to .env.local`),await U;let X=a();X.start(`Try sending a DM to the bot on Slack - it's ${T.default.bold(T.default.cyan(S))} in the search bar.`);let Z={bun:`bun run dev`,npm:`npm run dev`,pnpm:`pnpm run dev`,yarn:`yarn dev`}[b];for(;!F;){if(R){if(X.stop(`✗ Invalid signing secret detected`),z&&P)try{await fetch(`https://slack.com/api/chat.postMessage`,{method:`POST`,headers:{Authorization:`Bearer ${P}`,"Content-Type":`application/json`},body:JSON.stringify({channel:z,text:`⚠️ There seems to be a problem with the signing secret. Please check the CLI for instructions on how to fix it.`})})}catch{}let e=await o({message:`The signing secret appears to be incorrect. Please paste the correct Signing Secret from ${T.default.cyan(`https://api.slack.com/apps/${J}/general`)}`,validate:e=>{if(!e||e.trim().length===0)return`Signing secret is required`}});if(c(e)){r.warn(`Skipping Slack app setup`);return}N=e,R=!1,z=void 0,await k(x,void 0,N),X.start(`Please try sending a DM to the bot again on Slack...`)}await new Promise(e=>setTimeout(e,500))}X.stop(T.default.green(`✓ DM received!`));try{await fetch(`https://slack.com/api/chat.postMessage`,{method:`POST`,headers:{Authorization:`Bearer ${P}`,"Content-Type":`application/json`},body:JSON.stringify({channel:I,thread_ts:L,text:`Congrats, your app is now installed and ready to use! Run \`${Z}\` to use your agent.`})})}catch(e){r.warn(`Could not send message to Slack: ${C.inspect(e)}`)}r.success(`Slack app setup complete!`)}catch(e){d.e=e}finally{d.d()}}async function M(e){e||=process.cwd(),n(`Setting up Slack app`),await j(e),process.exit(0)}export{j as setupSlackApp,M as setupSlackAppCommand};
@@ -1 +1 @@
1
- import{__commonJSMin as e}from"./chunk-D9KrCrVq.js";import{require_token_error as t}from"./token-error-CoDMyqH1.js";import{require_token_util as n}from"./token-util-1KocPoKS.js";var r=e(((e,r)=>{var i=Object.defineProperty,a=Object.getOwnPropertyDescriptor,o=Object.getOwnPropertyNames,s=Object.prototype.hasOwnProperty,c=(e,t)=>{for(var n in t)i(e,n,{get:t[n],enumerable:!0})},l=(e,t,n,r)=>{if(t&&typeof t==`object`||typeof t==`function`)for(let c of o(t))!s.call(e,c)&&c!==n&&i(e,c,{get:()=>t[c],enumerable:!(r=a(t,c))||r.enumerable});return e},u=e=>l(i({},`__esModule`,{value:!0}),e),d={};c(d,{refreshToken:()=>m}),r.exports=u(d);var f=t(),p=n();async function m(){let{projectId:e,teamId:t}=(0,p.findProjectInfo)(),n=(0,p.loadToken)(e);if(!n||(0,p.isExpired)((0,p.getTokenPayload)(n.token))){let r=(0,p.getVercelCliToken)();if(!r)throw new f.VercelOidcTokenError(`Failed to refresh OIDC token: login to vercel cli`);if(!e)throw new f.VercelOidcTokenError(`Failed to refresh OIDC token: project id not found`);if(n=await(0,p.getVercelOidcToken)(r,e,t),!n)throw new f.VercelOidcTokenError(`Failed to refresh OIDC token`);(0,p.saveToken)(n,e)}process.env.VERCEL_OIDC_TOKEN=n.token}}));export default r();export{};
1
+ import{__commonJSMin as e}from"./chunk-D9KrCrVq.js";import{require_token_error as t}from"./token-error-DVSfBVaT.js";import{require_token_util as n}from"./token-util-IqDtKhK6.js";var r=e(((e,r)=>{var i=Object.defineProperty,a=Object.getOwnPropertyDescriptor,o=Object.getOwnPropertyNames,s=Object.prototype.hasOwnProperty,c=(e,t)=>{for(var n in t)i(e,n,{get:t[n],enumerable:!0})},l=(e,t,n,r)=>{if(t&&typeof t==`object`||typeof t==`function`)for(let c of o(t))!s.call(e,c)&&c!==n&&i(e,c,{get:()=>t[c],enumerable:!(r=a(t,c))||r.enumerable});return e},u=e=>l(i({},`__esModule`,{value:!0}),e),d={};c(d,{refreshToken:()=>m}),r.exports=u(d);var f=t(),p=n();async function m(){let{projectId:e,teamId:t}=(0,p.findProjectInfo)(),n=(0,p.loadToken)(e);if(!n||(0,p.isExpired)((0,p.getTokenPayload)(n.token))){let r=(0,p.getVercelCliToken)();if(!r)throw new f.VercelOidcTokenError(`Failed to refresh OIDC token: login to vercel cli`);if(!e)throw new f.VercelOidcTokenError(`Failed to refresh OIDC token: project id not found`);if(n=await(0,p.getVercelOidcToken)(r,e,t),!n)throw new f.VercelOidcTokenError(`Failed to refresh OIDC token`);(0,p.saveToken)(n,e)}process.env.VERCEL_OIDC_TOKEN=n.token}}));export default r();export{};
@@ -0,0 +1 @@
1
+ import"./token-error-DVSfBVaT.js";import{require_token_util as e}from"./token-util-IqDtKhK6.js";export default e();export{};
@@ -1 +1 @@
1
- import{__commonJSMin as e,__require as t}from"./chunk-D9KrCrVq.js";import{require_token_error as n}from"./token-error-CoDMyqH1.js";var r=e(((e,r)=>{var i=Object.create,a=Object.defineProperty,o=Object.getOwnPropertyDescriptor,s=Object.getOwnPropertyNames,c=Object.getPrototypeOf,l=Object.prototype.hasOwnProperty,u=(e,t)=>{for(var n in t)a(e,n,{get:t[n],enumerable:!0})},d=(e,t,n,r)=>{if(t&&typeof t==`object`||typeof t==`function`)for(let i of s(t))!l.call(e,i)&&i!==n&&a(e,i,{get:()=>t[i],enumerable:!(r=o(t,i))||r.enumerable});return e},f=(e,t,n)=>(n=e==null?{}:i(c(e)),d(t||!e||!e.__esModule?a(n,`default`,{value:e,enumerable:!0}):n,e)),p=e=>d(a({},`__esModule`,{value:!0}),e),m={};u(m,{findRootDir:()=>y,getUserDataDir:()=>b}),r.exports=p(m);var h=f(t(`path`)),g=f(t(`fs`)),_=f(t(`os`)),v=n();function y(){try{let e=process.cwd();for(;e!==h.default.dirname(e);){let t=h.default.join(e,`.vercel`);if(g.default.existsSync(t))return e;e=h.default.dirname(e)}}catch{throw new v.VercelOidcTokenError(`Token refresh only supported in node server environments`)}throw new v.VercelOidcTokenError(`Unable to find root directory`)}function b(){if(process.env.XDG_DATA_HOME)return process.env.XDG_DATA_HOME;switch(_.default.platform()){case`darwin`:return h.default.join(_.default.homedir(),`Library/Application Support`);case`linux`:return h.default.join(_.default.homedir(),`.local/share`);case`win32`:return process.env.LOCALAPPDATA?process.env.LOCALAPPDATA:null;default:return null}}})),i=e(((e,i)=>{var a=Object.create,o=Object.defineProperty,s=Object.getOwnPropertyDescriptor,c=Object.getOwnPropertyNames,l=Object.getPrototypeOf,u=Object.prototype.hasOwnProperty,d=(e,t)=>{for(var n in t)o(e,n,{get:t[n],enumerable:!0})},f=(e,t,n,r)=>{if(t&&typeof t==`object`||typeof t==`function`)for(let i of c(t))!u.call(e,i)&&i!==n&&o(e,i,{get:()=>t[i],enumerable:!(r=s(t,i))||r.enumerable});return e},p=(e,t,n)=>(n=e==null?{}:a(l(e)),f(t||!e||!e.__esModule?o(n,`default`,{value:e,enumerable:!0}):n,e)),m=e=>f(o({},`__esModule`,{value:!0}),e),h={};d(h,{assertVercelOidcTokenResponse:()=>C,findProjectInfo:()=>w,getTokenPayload:()=>D,getVercelCliToken:()=>x,getVercelDataDir:()=>b,getVercelOidcToken:()=>S,isExpired:()=>O,loadToken:()=>E,saveToken:()=>T}),i.exports=m(h);var g=p(t(`path`)),_=p(t(`fs`)),v=n(),y=r();function b(){let e=(0,y.getUserDataDir)();return e?g.join(e,`com.vercel.cli`):null}function x(){let e=b();if(!e)return null;let t=g.join(e,`auth.json`);if(!_.existsSync(t))return null;let n=_.readFileSync(t,`utf8`);return n?JSON.parse(n).token:null}async function S(e,t,n){try{let r=`https://api.vercel.com/v1/projects/${t}/token?source=vercel-oidc-refresh${n?`&teamId=${n}`:``}`,i=await fetch(r,{method:`POST`,headers:{Authorization:`Bearer ${e}`}});if(!i.ok)throw new v.VercelOidcTokenError(`Failed to refresh OIDC token: ${i.statusText}`);let a=await i.json();return C(a),a}catch(e){throw new v.VercelOidcTokenError(`Failed to refresh OIDC token`,e)}}function C(e){if(!e||typeof e!=`object`)throw TypeError(`Expected an object`);if(!(`token`in e)||typeof e.token!=`string`)throw TypeError(`Expected a string-valued token property`)}function w(){let e=(0,y.findRootDir)();if(!e)throw new v.VercelOidcTokenError(`Unable to find root directory`);try{let t=g.join(e,`.vercel`,`project.json`);if(!_.existsSync(t))throw new v.VercelOidcTokenError(`project.json not found`);let n=JSON.parse(_.readFileSync(t,`utf8`));if(typeof n.projectId!=`string`&&typeof n.orgId!=`string`)throw TypeError(`Expected a string-valued projectId property`);return{projectId:n.projectId,teamId:n.orgId}}catch(e){throw new v.VercelOidcTokenError(`Unable to find project ID`,e)}}function T(e,t){try{let n=(0,y.getUserDataDir)();if(!n)throw new v.VercelOidcTokenError(`Unable to find user data directory`);let r=g.join(n,`com.vercel.token`,`${t}.json`),i=JSON.stringify(e);_.mkdirSync(g.dirname(r),{mode:432,recursive:!0}),_.writeFileSync(r,i),_.chmodSync(r,432);return}catch(e){throw new v.VercelOidcTokenError(`Failed to save token`,e)}}function E(e){try{let t=(0,y.getUserDataDir)();if(!t)return null;let n=g.join(t,`com.vercel.token`,`${e}.json`);if(!_.existsSync(n))return null;let r=JSON.parse(_.readFileSync(n,`utf8`));return C(r),r}catch(e){throw new v.VercelOidcTokenError(`Failed to load token`,e)}}function D(e){let t=e.split(`.`);if(t.length!==3)throw new v.VercelOidcTokenError(`Invalid token`);let n=t[1].replace(/-/g,`+`).replace(/_/g,`/`),r=n.padEnd(n.length+(4-n.length%4)%4,`=`);return JSON.parse(Buffer.from(r,`base64`).toString(`utf8`))}function O(e){return e.exp*1e3<Date.now()+9e5}}));export{i as require_token_util};
1
+ import{__commonJSMin as e,__require as t}from"./chunk-D9KrCrVq.js";import{require_token_error as n}from"./token-error-DVSfBVaT.js";var r=e(((e,r)=>{var i=Object.create,a=Object.defineProperty,o=Object.getOwnPropertyDescriptor,s=Object.getOwnPropertyNames,c=Object.getPrototypeOf,l=Object.prototype.hasOwnProperty,u=(e,t)=>{for(var n in t)a(e,n,{get:t[n],enumerable:!0})},d=(e,t,n,r)=>{if(t&&typeof t==`object`||typeof t==`function`)for(let i of s(t))!l.call(e,i)&&i!==n&&a(e,i,{get:()=>t[i],enumerable:!(r=o(t,i))||r.enumerable});return e},f=(e,t,n)=>(n=e==null?{}:i(c(e)),d(t||!e||!e.__esModule?a(n,`default`,{value:e,enumerable:!0}):n,e)),p=e=>d(a({},`__esModule`,{value:!0}),e),m={};u(m,{findRootDir:()=>y,getUserDataDir:()=>b}),r.exports=p(m);var h=f(t(`path`)),g=f(t(`fs`)),_=f(t(`os`)),v=n();function y(){try{let e=process.cwd();for(;e!==h.default.dirname(e);){let t=h.default.join(e,`.vercel`);if(g.default.existsSync(t))return e;e=h.default.dirname(e)}}catch{throw new v.VercelOidcTokenError(`Token refresh only supported in node server environments`)}throw new v.VercelOidcTokenError(`Unable to find root directory`)}function b(){if(process.env.XDG_DATA_HOME)return process.env.XDG_DATA_HOME;switch(_.default.platform()){case`darwin`:return h.default.join(_.default.homedir(),`Library/Application Support`);case`linux`:return h.default.join(_.default.homedir(),`.local/share`);case`win32`:return process.env.LOCALAPPDATA?process.env.LOCALAPPDATA:null;default:return null}}})),i=e(((e,i)=>{var a=Object.create,o=Object.defineProperty,s=Object.getOwnPropertyDescriptor,c=Object.getOwnPropertyNames,l=Object.getPrototypeOf,u=Object.prototype.hasOwnProperty,d=(e,t)=>{for(var n in t)o(e,n,{get:t[n],enumerable:!0})},f=(e,t,n,r)=>{if(t&&typeof t==`object`||typeof t==`function`)for(let i of c(t))!u.call(e,i)&&i!==n&&o(e,i,{get:()=>t[i],enumerable:!(r=s(t,i))||r.enumerable});return e},p=(e,t,n)=>(n=e==null?{}:a(l(e)),f(t||!e||!e.__esModule?o(n,`default`,{value:e,enumerable:!0}):n,e)),m=e=>f(o({},`__esModule`,{value:!0}),e),h={};d(h,{assertVercelOidcTokenResponse:()=>C,findProjectInfo:()=>w,getTokenPayload:()=>D,getVercelCliToken:()=>x,getVercelDataDir:()=>b,getVercelOidcToken:()=>S,isExpired:()=>O,loadToken:()=>E,saveToken:()=>T}),i.exports=m(h);var g=p(t(`path`)),_=p(t(`fs`)),v=n(),y=r();function b(){let e=(0,y.getUserDataDir)();return e?g.join(e,`com.vercel.cli`):null}function x(){let e=b();if(!e)return null;let t=g.join(e,`auth.json`);if(!_.existsSync(t))return null;let n=_.readFileSync(t,`utf8`);return n?JSON.parse(n).token:null}async function S(e,t,n){try{let r=`https://api.vercel.com/v1/projects/${t}/token?source=vercel-oidc-refresh${n?`&teamId=${n}`:``}`,i=await fetch(r,{method:`POST`,headers:{Authorization:`Bearer ${e}`}});if(!i.ok)throw new v.VercelOidcTokenError(`Failed to refresh OIDC token: ${i.statusText}`);let a=await i.json();return C(a),a}catch(e){throw new v.VercelOidcTokenError(`Failed to refresh OIDC token`,e)}}function C(e){if(!e||typeof e!=`object`)throw TypeError(`Expected an object`);if(!(`token`in e)||typeof e.token!=`string`)throw TypeError(`Expected a string-valued token property`)}function w(){let e=(0,y.findRootDir)();if(!e)throw new v.VercelOidcTokenError(`Unable to find root directory`);try{let t=g.join(e,`.vercel`,`project.json`);if(!_.existsSync(t))throw new v.VercelOidcTokenError(`project.json not found`);let n=JSON.parse(_.readFileSync(t,`utf8`));if(typeof n.projectId!=`string`&&typeof n.orgId!=`string`)throw TypeError(`Expected a string-valued projectId property`);return{projectId:n.projectId,teamId:n.orgId}}catch(e){throw new v.VercelOidcTokenError(`Unable to find project ID`,e)}}function T(e,t){try{let n=(0,y.getUserDataDir)();if(!n)throw new v.VercelOidcTokenError(`Unable to find user data directory`);let r=g.join(n,`com.vercel.token`,`${t}.json`),i=JSON.stringify(e);_.mkdirSync(g.dirname(r),{mode:432,recursive:!0}),_.writeFileSync(r,i),_.chmodSync(r,432);return}catch(e){throw new v.VercelOidcTokenError(`Failed to save token`,e)}}function E(e){try{let t=(0,y.getUserDataDir)();if(!t)return null;let n=g.join(t,`com.vercel.token`,`${e}.json`);if(!_.existsSync(n))return null;let r=JSON.parse(_.readFileSync(n,`utf8`));return C(r),r}catch(e){throw new v.VercelOidcTokenError(`Failed to load token`,e)}}function D(e){let t=e.split(`.`);if(t.length!==3)throw new v.VercelOidcTokenError(`Invalid token`);let n=t[1].replace(/-/g,`+`).replace(/_/g,`/`),r=n.padEnd(n.length+(4-n.length%4)%4,`=`);return JSON.parse(Buffer.from(r,`base64`).toString(`utf8`))}function O(e){return e.exp*1e3<Date.now()+9e5}}));export{i as require_token_util};
@@ -0,0 +1 @@
1
+ import{require_undici as e}from"./undici-BUZTy5qm.js";export default e();export{};