sandbox 2.4.0 → 2.5.1

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 (27) hide show
  1. package/dist/{ansi-styles-B57ln_zO.mjs → ansi-styles-DEyvEjde.mjs} +1 -1
  2. package/dist/{ansi-styles-B57ln_zO.mjs.map → ansi-styles-DEyvEjde.mjs.map} +1 -1
  3. package/dist/{app-uOMbKaBL.mjs → app-DCn8EUEY.mjs} +71 -80
  4. package/dist/app-DCn8EUEY.mjs.map +1 -0
  5. package/dist/{cli-truncate-DMIDACmY.mjs → cli-truncate-BM8ZM2fH.mjs} +2 -2
  6. package/dist/{cli-truncate-DMIDACmY.mjs.map → cli-truncate-BM8ZM2fH.mjs.map} +1 -1
  7. package/dist/index.mjs +2 -2
  8. package/dist/{log-update-txb7Or7B.mjs → log-update-i5LRJCHc.mjs} +3 -3
  9. package/dist/{log-update-txb7Or7B.mjs.map → log-update-i5LRJCHc.mjs.map} +1 -1
  10. package/dist/pty-server-linux-x86_64 +0 -0
  11. package/dist/sandbox.mjs +2 -2
  12. package/dist/{token-Bwtve9Y6.mjs → token-CFLlmxRf.mjs} +19 -11
  13. package/dist/token-CFLlmxRf.mjs.map +1 -0
  14. package/dist/token-util-B2dwBZRL.mjs +5 -0
  15. package/dist/{token-util-BpWskZEO.mjs → token-util-DACSFqcB.mjs} +107 -23
  16. package/dist/token-util-DACSFqcB.mjs.map +1 -0
  17. package/dist/wrap-ansi-BEIieZPu.mjs +5 -0
  18. package/dist/{wrap-ansi-DoQ74EEn.mjs → wrap-ansi-zdFz5AsC.mjs} +2 -2
  19. package/dist/{wrap-ansi-DoQ74EEn.mjs.map → wrap-ansi-zdFz5AsC.mjs.map} +1 -1
  20. package/package.json +4 -4
  21. package/dist/app-uOMbKaBL.mjs.map +0 -1
  22. package/dist/token-Bwtve9Y6.mjs.map +0 -1
  23. package/dist/token-error-C0CafU2G.mjs +0 -43
  24. package/dist/token-error-C0CafU2G.mjs.map +0 -1
  25. package/dist/token-util-BpWskZEO.mjs.map +0 -1
  26. package/dist/token-util-CRAtcwBI.mjs +0 -6
  27. package/dist/wrap-ansi-CEi7ZT5i.mjs +0 -5
@@ -1 +1 @@
1
- {"version":3,"file":"wrap-ansi-DoQ74EEn.mjs","names":["code","ansiStyles"],"sources":["../../../node_modules/.pnpm/wrap-ansi@9.0.0/node_modules/wrap-ansi/index.js"],"sourcesContent":["import stringWidth from 'string-width';\nimport stripAnsi from 'strip-ansi';\nimport ansiStyles from 'ansi-styles';\n\nconst ESCAPES = new Set([\n\t'\\u001B',\n\t'\\u009B',\n]);\n\nconst END_CODE = 39;\nconst ANSI_ESCAPE_BELL = '\\u0007';\nconst ANSI_CSI = '[';\nconst ANSI_OSC = ']';\nconst ANSI_SGR_TERMINATOR = 'm';\nconst ANSI_ESCAPE_LINK = `${ANSI_OSC}8;;`;\n\nconst wrapAnsiCode = code => `${ESCAPES.values().next().value}${ANSI_CSI}${code}${ANSI_SGR_TERMINATOR}`;\nconst wrapAnsiHyperlink = url => `${ESCAPES.values().next().value}${ANSI_ESCAPE_LINK}${url}${ANSI_ESCAPE_BELL}`;\n\n// Calculate the length of words split on ' ', ignoring\n// the extra characters added by ansi escape codes\nconst wordLengths = string => string.split(' ').map(character => stringWidth(character));\n\n// Wrap a long word across multiple rows\n// Ansi escape codes do not count towards length\nconst wrapWord = (rows, word, columns) => {\n\tconst characters = [...word];\n\n\tlet isInsideEscape = false;\n\tlet isInsideLinkEscape = false;\n\tlet visible = stringWidth(stripAnsi(rows.at(-1)));\n\n\tfor (const [index, character] of characters.entries()) {\n\t\tconst characterLength = stringWidth(character);\n\n\t\tif (visible + characterLength <= columns) {\n\t\t\trows[rows.length - 1] += character;\n\t\t} else {\n\t\t\trows.push(character);\n\t\t\tvisible = 0;\n\t\t}\n\n\t\tif (ESCAPES.has(character)) {\n\t\t\tisInsideEscape = true;\n\n\t\t\tconst ansiEscapeLinkCandidate = characters.slice(index + 1, index + 1 + ANSI_ESCAPE_LINK.length).join('');\n\t\t\tisInsideLinkEscape = ansiEscapeLinkCandidate === ANSI_ESCAPE_LINK;\n\t\t}\n\n\t\tif (isInsideEscape) {\n\t\t\tif (isInsideLinkEscape) {\n\t\t\t\tif (character === ANSI_ESCAPE_BELL) {\n\t\t\t\t\tisInsideEscape = false;\n\t\t\t\t\tisInsideLinkEscape = false;\n\t\t\t\t}\n\t\t\t} else if (character === ANSI_SGR_TERMINATOR) {\n\t\t\t\tisInsideEscape = false;\n\t\t\t}\n\n\t\t\tcontinue;\n\t\t}\n\n\t\tvisible += characterLength;\n\n\t\tif (visible === columns && index < characters.length - 1) {\n\t\t\trows.push('');\n\t\t\tvisible = 0;\n\t\t}\n\t}\n\n\t// It's possible that the last row we copy over is only\n\t// ansi escape characters, handle this edge-case\n\tif (!visible && rows.at(-1).length > 0 && rows.length > 1) {\n\t\trows[rows.length - 2] += rows.pop();\n\t}\n};\n\n// Trims spaces from a string ignoring invisible sequences\nconst stringVisibleTrimSpacesRight = string => {\n\tconst words = string.split(' ');\n\tlet last = words.length;\n\n\twhile (last > 0) {\n\t\tif (stringWidth(words[last - 1]) > 0) {\n\t\t\tbreak;\n\t\t}\n\n\t\tlast--;\n\t}\n\n\tif (last === words.length) {\n\t\treturn string;\n\t}\n\n\treturn words.slice(0, last).join(' ') + words.slice(last).join('');\n};\n\n// The wrap-ansi module can be invoked in either 'hard' or 'soft' wrap mode.\n//\n// 'hard' will never allow a string to take up more than columns characters.\n//\n// 'soft' allows long words to expand past the column length.\nconst exec = (string, columns, options = {}) => {\n\tif (options.trim !== false && string.trim() === '') {\n\t\treturn '';\n\t}\n\n\tlet returnValue = '';\n\tlet escapeCode;\n\tlet escapeUrl;\n\n\tconst lengths = wordLengths(string);\n\tlet rows = [''];\n\n\tfor (const [index, word] of string.split(' ').entries()) {\n\t\tif (options.trim !== false) {\n\t\t\trows[rows.length - 1] = rows.at(-1).trimStart();\n\t\t}\n\n\t\tlet rowLength = stringWidth(rows.at(-1));\n\n\t\tif (index !== 0) {\n\t\t\tif (rowLength >= columns && (options.wordWrap === false || options.trim === false)) {\n\t\t\t\t// If we start with a new word but the current row length equals the length of the columns, add a new row\n\t\t\t\trows.push('');\n\t\t\t\trowLength = 0;\n\t\t\t}\n\n\t\t\tif (rowLength > 0 || options.trim === false) {\n\t\t\t\trows[rows.length - 1] += ' ';\n\t\t\t\trowLength++;\n\t\t\t}\n\t\t}\n\n\t\t// In 'hard' wrap mode, the length of a line is never allowed to extend past 'columns'\n\t\tif (options.hard && lengths[index] > columns) {\n\t\t\tconst remainingColumns = (columns - rowLength);\n\t\t\tconst breaksStartingThisLine = 1 + Math.floor((lengths[index] - remainingColumns - 1) / columns);\n\t\t\tconst breaksStartingNextLine = Math.floor((lengths[index] - 1) / columns);\n\t\t\tif (breaksStartingNextLine < breaksStartingThisLine) {\n\t\t\t\trows.push('');\n\t\t\t}\n\n\t\t\twrapWord(rows, word, columns);\n\t\t\tcontinue;\n\t\t}\n\n\t\tif (rowLength + lengths[index] > columns && rowLength > 0 && lengths[index] > 0) {\n\t\t\tif (options.wordWrap === false && rowLength < columns) {\n\t\t\t\twrapWord(rows, word, columns);\n\t\t\t\tcontinue;\n\t\t\t}\n\n\t\t\trows.push('');\n\t\t}\n\n\t\tif (rowLength + lengths[index] > columns && options.wordWrap === false) {\n\t\t\twrapWord(rows, word, columns);\n\t\t\tcontinue;\n\t\t}\n\n\t\trows[rows.length - 1] += word;\n\t}\n\n\tif (options.trim !== false) {\n\t\trows = rows.map(row => stringVisibleTrimSpacesRight(row));\n\t}\n\n\tconst preString = rows.join('\\n');\n\tconst pre = [...preString];\n\n\t// We need to keep a separate index as `String#slice()` works on Unicode code units, while `pre` is an array of codepoints.\n\tlet preStringIndex = 0;\n\n\tfor (const [index, character] of pre.entries()) {\n\t\treturnValue += character;\n\n\t\tif (ESCAPES.has(character)) {\n\t\t\tconst {groups} = new RegExp(`(?:\\\\${ANSI_CSI}(?<code>\\\\d+)m|\\\\${ANSI_ESCAPE_LINK}(?<uri>.*)${ANSI_ESCAPE_BELL})`).exec(preString.slice(preStringIndex)) || {groups: {}};\n\t\t\tif (groups.code !== undefined) {\n\t\t\t\tconst code = Number.parseFloat(groups.code);\n\t\t\t\tescapeCode = code === END_CODE ? undefined : code;\n\t\t\t} else if (groups.uri !== undefined) {\n\t\t\t\tescapeUrl = groups.uri.length === 0 ? undefined : groups.uri;\n\t\t\t}\n\t\t}\n\n\t\tconst code = ansiStyles.codes.get(Number(escapeCode));\n\n\t\tif (pre[index + 1] === '\\n') {\n\t\t\tif (escapeUrl) {\n\t\t\t\treturnValue += wrapAnsiHyperlink('');\n\t\t\t}\n\n\t\t\tif (escapeCode && code) {\n\t\t\t\treturnValue += wrapAnsiCode(code);\n\t\t\t}\n\t\t} else if (character === '\\n') {\n\t\t\tif (escapeCode && code) {\n\t\t\t\treturnValue += wrapAnsiCode(escapeCode);\n\t\t\t}\n\n\t\t\tif (escapeUrl) {\n\t\t\t\treturnValue += wrapAnsiHyperlink(escapeUrl);\n\t\t\t}\n\t\t}\n\n\t\tpreStringIndex += character.length;\n\t}\n\n\treturn returnValue;\n};\n\n// For each newline, invoke the method separately\nexport default function wrapAnsi(string, columns, options) {\n\treturn String(string)\n\t\t.normalize()\n\t\t.replaceAll('\\r\\n', '\\n')\n\t\t.split('\\n')\n\t\t.map(line => exec(line, columns, options))\n\t\t.join('\\n');\n}\n"],"x_google_ignoreList":[0],"mappings":"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"}
1
+ {"version":3,"file":"wrap-ansi-zdFz5AsC.mjs","names":["code","ansiStyles"],"sources":["../../../node_modules/.pnpm/wrap-ansi@9.0.0/node_modules/wrap-ansi/index.js"],"sourcesContent":["import stringWidth from 'string-width';\nimport stripAnsi from 'strip-ansi';\nimport ansiStyles from 'ansi-styles';\n\nconst ESCAPES = new Set([\n\t'\\u001B',\n\t'\\u009B',\n]);\n\nconst END_CODE = 39;\nconst ANSI_ESCAPE_BELL = '\\u0007';\nconst ANSI_CSI = '[';\nconst ANSI_OSC = ']';\nconst ANSI_SGR_TERMINATOR = 'm';\nconst ANSI_ESCAPE_LINK = `${ANSI_OSC}8;;`;\n\nconst wrapAnsiCode = code => `${ESCAPES.values().next().value}${ANSI_CSI}${code}${ANSI_SGR_TERMINATOR}`;\nconst wrapAnsiHyperlink = url => `${ESCAPES.values().next().value}${ANSI_ESCAPE_LINK}${url}${ANSI_ESCAPE_BELL}`;\n\n// Calculate the length of words split on ' ', ignoring\n// the extra characters added by ansi escape codes\nconst wordLengths = string => string.split(' ').map(character => stringWidth(character));\n\n// Wrap a long word across multiple rows\n// Ansi escape codes do not count towards length\nconst wrapWord = (rows, word, columns) => {\n\tconst characters = [...word];\n\n\tlet isInsideEscape = false;\n\tlet isInsideLinkEscape = false;\n\tlet visible = stringWidth(stripAnsi(rows.at(-1)));\n\n\tfor (const [index, character] of characters.entries()) {\n\t\tconst characterLength = stringWidth(character);\n\n\t\tif (visible + characterLength <= columns) {\n\t\t\trows[rows.length - 1] += character;\n\t\t} else {\n\t\t\trows.push(character);\n\t\t\tvisible = 0;\n\t\t}\n\n\t\tif (ESCAPES.has(character)) {\n\t\t\tisInsideEscape = true;\n\n\t\t\tconst ansiEscapeLinkCandidate = characters.slice(index + 1, index + 1 + ANSI_ESCAPE_LINK.length).join('');\n\t\t\tisInsideLinkEscape = ansiEscapeLinkCandidate === ANSI_ESCAPE_LINK;\n\t\t}\n\n\t\tif (isInsideEscape) {\n\t\t\tif (isInsideLinkEscape) {\n\t\t\t\tif (character === ANSI_ESCAPE_BELL) {\n\t\t\t\t\tisInsideEscape = false;\n\t\t\t\t\tisInsideLinkEscape = false;\n\t\t\t\t}\n\t\t\t} else if (character === ANSI_SGR_TERMINATOR) {\n\t\t\t\tisInsideEscape = false;\n\t\t\t}\n\n\t\t\tcontinue;\n\t\t}\n\n\t\tvisible += characterLength;\n\n\t\tif (visible === columns && index < characters.length - 1) {\n\t\t\trows.push('');\n\t\t\tvisible = 0;\n\t\t}\n\t}\n\n\t// It's possible that the last row we copy over is only\n\t// ansi escape characters, handle this edge-case\n\tif (!visible && rows.at(-1).length > 0 && rows.length > 1) {\n\t\trows[rows.length - 2] += rows.pop();\n\t}\n};\n\n// Trims spaces from a string ignoring invisible sequences\nconst stringVisibleTrimSpacesRight = string => {\n\tconst words = string.split(' ');\n\tlet last = words.length;\n\n\twhile (last > 0) {\n\t\tif (stringWidth(words[last - 1]) > 0) {\n\t\t\tbreak;\n\t\t}\n\n\t\tlast--;\n\t}\n\n\tif (last === words.length) {\n\t\treturn string;\n\t}\n\n\treturn words.slice(0, last).join(' ') + words.slice(last).join('');\n};\n\n// The wrap-ansi module can be invoked in either 'hard' or 'soft' wrap mode.\n//\n// 'hard' will never allow a string to take up more than columns characters.\n//\n// 'soft' allows long words to expand past the column length.\nconst exec = (string, columns, options = {}) => {\n\tif (options.trim !== false && string.trim() === '') {\n\t\treturn '';\n\t}\n\n\tlet returnValue = '';\n\tlet escapeCode;\n\tlet escapeUrl;\n\n\tconst lengths = wordLengths(string);\n\tlet rows = [''];\n\n\tfor (const [index, word] of string.split(' ').entries()) {\n\t\tif (options.trim !== false) {\n\t\t\trows[rows.length - 1] = rows.at(-1).trimStart();\n\t\t}\n\n\t\tlet rowLength = stringWidth(rows.at(-1));\n\n\t\tif (index !== 0) {\n\t\t\tif (rowLength >= columns && (options.wordWrap === false || options.trim === false)) {\n\t\t\t\t// If we start with a new word but the current row length equals the length of the columns, add a new row\n\t\t\t\trows.push('');\n\t\t\t\trowLength = 0;\n\t\t\t}\n\n\t\t\tif (rowLength > 0 || options.trim === false) {\n\t\t\t\trows[rows.length - 1] += ' ';\n\t\t\t\trowLength++;\n\t\t\t}\n\t\t}\n\n\t\t// In 'hard' wrap mode, the length of a line is never allowed to extend past 'columns'\n\t\tif (options.hard && lengths[index] > columns) {\n\t\t\tconst remainingColumns = (columns - rowLength);\n\t\t\tconst breaksStartingThisLine = 1 + Math.floor((lengths[index] - remainingColumns - 1) / columns);\n\t\t\tconst breaksStartingNextLine = Math.floor((lengths[index] - 1) / columns);\n\t\t\tif (breaksStartingNextLine < breaksStartingThisLine) {\n\t\t\t\trows.push('');\n\t\t\t}\n\n\t\t\twrapWord(rows, word, columns);\n\t\t\tcontinue;\n\t\t}\n\n\t\tif (rowLength + lengths[index] > columns && rowLength > 0 && lengths[index] > 0) {\n\t\t\tif (options.wordWrap === false && rowLength < columns) {\n\t\t\t\twrapWord(rows, word, columns);\n\t\t\t\tcontinue;\n\t\t\t}\n\n\t\t\trows.push('');\n\t\t}\n\n\t\tif (rowLength + lengths[index] > columns && options.wordWrap === false) {\n\t\t\twrapWord(rows, word, columns);\n\t\t\tcontinue;\n\t\t}\n\n\t\trows[rows.length - 1] += word;\n\t}\n\n\tif (options.trim !== false) {\n\t\trows = rows.map(row => stringVisibleTrimSpacesRight(row));\n\t}\n\n\tconst preString = rows.join('\\n');\n\tconst pre = [...preString];\n\n\t// We need to keep a separate index as `String#slice()` works on Unicode code units, while `pre` is an array of codepoints.\n\tlet preStringIndex = 0;\n\n\tfor (const [index, character] of pre.entries()) {\n\t\treturnValue += character;\n\n\t\tif (ESCAPES.has(character)) {\n\t\t\tconst {groups} = new RegExp(`(?:\\\\${ANSI_CSI}(?<code>\\\\d+)m|\\\\${ANSI_ESCAPE_LINK}(?<uri>.*)${ANSI_ESCAPE_BELL})`).exec(preString.slice(preStringIndex)) || {groups: {}};\n\t\t\tif (groups.code !== undefined) {\n\t\t\t\tconst code = Number.parseFloat(groups.code);\n\t\t\t\tescapeCode = code === END_CODE ? undefined : code;\n\t\t\t} else if (groups.uri !== undefined) {\n\t\t\t\tescapeUrl = groups.uri.length === 0 ? undefined : groups.uri;\n\t\t\t}\n\t\t}\n\n\t\tconst code = ansiStyles.codes.get(Number(escapeCode));\n\n\t\tif (pre[index + 1] === '\\n') {\n\t\t\tif (escapeUrl) {\n\t\t\t\treturnValue += wrapAnsiHyperlink('');\n\t\t\t}\n\n\t\t\tif (escapeCode && code) {\n\t\t\t\treturnValue += wrapAnsiCode(code);\n\t\t\t}\n\t\t} else if (character === '\\n') {\n\t\t\tif (escapeCode && code) {\n\t\t\t\treturnValue += wrapAnsiCode(escapeCode);\n\t\t\t}\n\n\t\t\tif (escapeUrl) {\n\t\t\t\treturnValue += wrapAnsiHyperlink(escapeUrl);\n\t\t\t}\n\t\t}\n\n\t\tpreStringIndex += character.length;\n\t}\n\n\treturn returnValue;\n};\n\n// For each newline, invoke the method separately\nexport default function wrapAnsi(string, columns, options) {\n\treturn String(string)\n\t\t.normalize()\n\t\t.replaceAll('\\r\\n', '\\n')\n\t\t.split('\\n')\n\t\t.map(line => exec(line, columns, options))\n\t\t.join('\\n');\n}\n"],"x_google_ignoreList":[0],"mappings":"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"}
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "sandbox",
3
3
  "description": "Command line interface for Vercel Sandbox",
4
- "version": "2.4.0",
4
+ "version": "2.5.1",
5
5
  "keywords": [
6
6
  "vercel",
7
7
  "sandbox",
@@ -27,13 +27,13 @@
27
27
  "dependencies": {
28
28
  "debug": "^4.4.1",
29
29
  "zod": "^4.1.1",
30
- "@vercel/sandbox": "1.6.0"
30
+ "@vercel/sandbox": "1.7.0"
31
31
  },
32
32
  "devDependencies": {
33
33
  "@types/debug": "^4.1.12",
34
34
  "@types/ms": "^2.1.0",
35
35
  "@types/node": "^22.15.12",
36
- "@vercel/oidc": "^3.1.0",
36
+ "@vercel/oidc": "^3.2.0",
37
37
  "chalk": "^5.6.0",
38
38
  "cmd-ts": "0.15.0",
39
39
  "date-fns": "^4.1.0",
@@ -47,7 +47,7 @@
47
47
  "xdg-app-paths": "5.1.0",
48
48
  "@vercel/pty-tunnel": "2.0.3",
49
49
  "@vercel/pty-tunnel-server": "0.0.2",
50
- "@vercel/sandbox": "1.6.0"
50
+ "@vercel/sandbox": "1.7.0"
51
51
  },
52
52
  "scripts": {
53
53
  "clean": "rm -rf node_modules dist",