@vibe-agent-toolkit/utils 0.2.0-rc.3 → 0.2.0-rc.5

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 (86) hide show
  1. package/README.md +21 -13
  2. package/dist/crawl-timing.d.ts +43 -66
  3. package/dist/crawl-timing.d.ts.map +1 -1
  4. package/dist/crawl-timing.js +35 -79
  5. package/dist/crawl-timing.js.map +1 -1
  6. package/dist/crawl.d.ts +2 -4
  7. package/dist/crawl.d.ts.map +1 -1
  8. package/dist/crawl.js +2 -4
  9. package/dist/crawl.js.map +1 -1
  10. package/dist/fs-utils.d.ts +15 -6
  11. package/dist/fs-utils.d.ts.map +1 -1
  12. package/dist/fs-utils.js +15 -6
  13. package/dist/fs-utils.js.map +1 -1
  14. package/dist/git-tracker.d.ts +32 -1
  15. package/dist/git-tracker.d.ts.map +1 -1
  16. package/dist/git-tracker.js +32 -1
  17. package/dist/git-tracker.js.map +1 -1
  18. package/dist/git.d.ts +11 -4
  19. package/dist/git.d.ts.map +1 -1
  20. package/dist/git.js +11 -4
  21. package/dist/git.js.map +1 -1
  22. package/dist/index.d.ts +19 -20
  23. package/dist/index.d.ts.map +1 -1
  24. package/dist/index.js +19 -41
  25. package/dist/index.js.map +1 -1
  26. package/dist/project.d.ts +7 -5
  27. package/dist/project.d.ts.map +1 -1
  28. package/dist/project.js +7 -5
  29. package/dist/project.js.map +1 -1
  30. package/dist/safe-exec.js +0 -1
  31. package/dist/safe-exec.js.map +1 -1
  32. package/dist/spawn-hardened.js +0 -1
  33. package/dist/spawn-hardened.js.map +1 -1
  34. package/dist/testing.d.ts +73 -3
  35. package/dist/testing.d.ts.map +1 -1
  36. package/dist/testing.js +93 -3
  37. package/dist/testing.js.map +1 -1
  38. package/dist/timing-dump.d.ts +22 -5
  39. package/dist/timing-dump.d.ts.map +1 -1
  40. package/dist/timing-dump.js +89 -23
  41. package/dist/timing-dump.js.map +1 -1
  42. package/eslint/index.cjs +9 -0
  43. package/eslint/index.d.cts +14 -7
  44. package/eslint/rules/no-process-exit-in-phase.cjs +117 -0
  45. package/package.json +5 -7
  46. package/dist/link-auth/build-headers.d.ts +0 -34
  47. package/dist/link-auth/build-headers.d.ts.map +0 -1
  48. package/dist/link-auth/build-headers.js +0 -58
  49. package/dist/link-auth/build-headers.js.map +0 -1
  50. package/dist/link-auth/expand-macro.d.ts +0 -38
  51. package/dist/link-auth/expand-macro.d.ts.map +0 -1
  52. package/dist/link-auth/expand-macro.js +0 -139
  53. package/dist/link-auth/expand-macro.js.map +0 -1
  54. package/dist/link-auth/macros.yaml +0 -50
  55. package/dist/link-auth/resolve-token.d.ts +0 -83
  56. package/dist/link-auth/resolve-token.d.ts.map +0 -1
  57. package/dist/link-auth/resolve-token.js +0 -115
  58. package/dist/link-auth/resolve-token.js.map +0 -1
  59. package/dist/link-auth/resolve.d.ts +0 -102
  60. package/dist/link-auth/resolve.d.ts.map +0 -1
  61. package/dist/link-auth/resolve.js +0 -66
  62. package/dist/link-auth/resolve.js.map +0 -1
  63. package/dist/link-auth/rewrite.d.ts +0 -52
  64. package/dist/link-auth/rewrite.d.ts.map +0 -1
  65. package/dist/link-auth/rewrite.js +0 -102
  66. package/dist/link-auth/rewrite.js.map +0 -1
  67. package/dist/link-auth/select-provider.d.ts +0 -30
  68. package/dist/link-auth/select-provider.d.ts.map +0 -1
  69. package/dist/link-auth/select-provider.js +0 -55
  70. package/dist/link-auth/select-provider.js.map +0 -1
  71. package/dist/link-auth/template.d.ts +0 -40
  72. package/dist/link-auth/template.d.ts.map +0 -1
  73. package/dist/link-auth/template.js +0 -89
  74. package/dist/link-auth/template.js.map +0 -1
  75. package/dist/link-auth/transforms.d.ts +0 -46
  76. package/dist/link-auth/transforms.d.ts.map +0 -1
  77. package/dist/link-auth/transforms.js +0 -52
  78. package/dist/link-auth/transforms.js.map +0 -1
  79. package/dist/template-entry.d.ts +0 -10
  80. package/dist/template-entry.d.ts.map +0 -1
  81. package/dist/template-entry.js +0 -10
  82. package/dist/template-entry.js.map +0 -1
  83. package/dist/template.d.ts +0 -7
  84. package/dist/template.d.ts.map +0 -1
  85. package/dist/template.js +0 -18
  86. package/dist/template.js.map +0 -1
@@ -1,52 +0,0 @@
1
- /**
2
- * Transform allowlist for linkAuth rewrite templates.
3
- *
4
- * Rewrite `to:` templates may call transforms over named regex captures —
5
- * e.g. `${base64url(u)}` for Microsoft Graph share-ids. The allowed set is
6
- * frozen in this file: adding a transform requires a VAT PR (see issue #113
7
- * design §4.1). There is no arbitrary-evaluation path.
8
- *
9
- * v1 inputs are assumed to be ASCII URL host/path captures. Non-ASCII edge
10
- * cases (lone surrogates) are pinned by tests so future regressions surface.
11
- */
12
- const TRANSFORMS = {
13
- base64url: (s) => Buffer.from(s, 'utf8').toString('base64url'),
14
- urlencode: (s) => encodeURIComponent(s),
15
- lower: (s) => s.toLowerCase(),
16
- };
17
- /**
18
- * The closed allowlist of transform names. Callers parsing rewrite templates
19
- * can validate transform calls (e.g. `${base64url(u)}`) against this list at
20
- * config-load time, surfacing typos before any URL is rewritten.
21
- */
22
- export const ALLOWED_TRANSFORMS = Object.freeze(Object.keys(TRANSFORMS));
23
- /**
24
- * Thrown by `applyTransform` when called with a name not in the closed
25
- * allowlist. The message names the bad transform and the full allowlist so
26
- * a misconfigured macro surfaces a clear error at load time.
27
- */
28
- export class UnknownTransformError extends Error {
29
- constructor(name) {
30
- super(`Unknown transform "${name}". Allowed: ${ALLOWED_TRANSFORMS.join(', ')}.`);
31
- this.name = 'UnknownTransformError';
32
- }
33
- }
34
- /**
35
- * Dispatch a transform by name on a string input.
36
- *
37
- * Security claim: only the names in `ALLOWED_TRANSFORMS` resolve; any other
38
- * input throws `UnknownTransformError`. Lookup uses `Object.hasOwn` to block
39
- * prototype-chain keys (`toString`, `__proto__`, `constructor`, …) that a
40
- * `name in TRANSFORMS` check would let through.
41
- *
42
- * @throws {UnknownTransformError} if `name` is not in the allowlist
43
- * @throws {URIError} from `urlencode` on lone-surrogate inputs — deliberate;
44
- * v1 callers pass URL-derived captures that cannot legally contain these
45
- */
46
- export function applyTransform(name, input) {
47
- if (!Object.hasOwn(TRANSFORMS, name)) {
48
- throw new UnknownTransformError(name);
49
- }
50
- return TRANSFORMS[name](input);
51
- }
52
- //# sourceMappingURL=transforms.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"transforms.js","sourceRoot":"","sources":["../../src/link-auth/transforms.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAIH,MAAM,UAAU,GAAG;IACjB,SAAS,EAAE,CAAC,CAAS,EAAE,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC,QAAQ,CAAC,WAAW,CAAC;IACtE,SAAS,EAAE,CAAC,CAAS,EAAE,EAAE,CAAC,kBAAkB,CAAC,CAAC,CAAC;IAC/C,KAAK,EAAE,CAAC,CAAS,EAAE,EAAE,CAAC,CAAC,CAAC,WAAW,EAAE;CACS,CAAC;AAIjD;;;;GAIG;AACH,MAAM,CAAC,MAAM,kBAAkB,GAA6B,MAAM,CAAC,MAAM,CACvE,MAAM,CAAC,IAAI,CAAC,UAAU,CAAoB,CAC3C,CAAC;AAEF;;;;GAIG;AACH,MAAM,OAAO,qBAAsB,SAAQ,KAAK;IAC9C,YAAY,IAAY;QACtB,KAAK,CAAC,sBAAsB,IAAI,eAAe,kBAAkB,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QACjF,IAAI,CAAC,IAAI,GAAG,uBAAuB,CAAC;IACtC,CAAC;CACF;AAED;;;;;;;;;;;GAWG;AACH,MAAM,UAAU,cAAc,CAAC,IAAY,EAAE,KAAa;IACxD,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,UAAU,EAAE,IAAI,CAAC,EAAE,CAAC;QACrC,MAAM,IAAI,qBAAqB,CAAC,IAAI,CAAC,CAAC;IACxC,CAAC;IACD,OAAO,UAAU,CAAC,IAAqB,CAAC,CAAC,KAAK,CAAC,CAAC;AAClD,CAAC"}
@@ -1,10 +0,0 @@
1
- /**
2
- * @vibe-agent-toolkit/utils/template
3
- *
4
- * Cached Handlebars rendering with HTML escaping disabled. Pure with respect
5
- * to Node builtins, but it pulls in `handlebars` (and transitively
6
- * `source-map`) — roughly 239KB bundled. Quarantined behind its own subpath
7
- * so importing a path helper never pays for it.
8
- */
9
- export * from './template.js';
10
- //# sourceMappingURL=template-entry.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"template-entry.d.ts","sourceRoot":"","sources":["../src/template-entry.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,cAAc,eAAe,CAAC"}
@@ -1,10 +0,0 @@
1
- /**
2
- * @vibe-agent-toolkit/utils/template
3
- *
4
- * Cached Handlebars rendering with HTML escaping disabled. Pure with respect
5
- * to Node builtins, but it pulls in `handlebars` (and transitively
6
- * `source-map`) — roughly 239KB bundled. Quarantined behind its own subpath
7
- * so importing a path helper never pays for it.
8
- */
9
- export * from './template.js';
10
- //# sourceMappingURL=template-entry.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"template-entry.js","sourceRoot":"","sources":["../src/template-entry.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,cAAc,eAAe,CAAC"}
@@ -1,7 +0,0 @@
1
- /**
2
- * Render a Handlebars template with the given context.
3
- * Uses noEscape since this is for markdown content, not HTML.
4
- * Compiled templates are cached by template string.
5
- */
6
- export declare function renderTemplate(template: string, context: Record<string, unknown>): string;
7
- //# sourceMappingURL=template.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"template.d.ts","sourceRoot":"","sources":["../src/template.ts"],"names":[],"mappings":"AAIA;;;;GAIG;AACH,wBAAgB,cAAc,CAAC,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,MAAM,CASzF"}
package/dist/template.js DELETED
@@ -1,18 +0,0 @@
1
- import Handlebars from 'handlebars';
2
- const templateCache = new Map();
3
- /**
4
- * Render a Handlebars template with the given context.
5
- * Uses noEscape since this is for markdown content, not HTML.
6
- * Compiled templates are cached by template string.
7
- */
8
- export function renderTemplate(template, context) {
9
- let compiled = templateCache.get(template);
10
- if (!compiled) {
11
- // Safe: templates render markdown/plaintext, not HTML. No XSS risk.
12
- // eslint-disable-next-line sonarjs/disabled-auto-escaping
13
- compiled = Handlebars.compile(template, { noEscape: true });
14
- templateCache.set(template, compiled);
15
- }
16
- return compiled(context);
17
- }
18
- //# sourceMappingURL=template.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"template.js","sourceRoot":"","sources":["../src/template.ts"],"names":[],"mappings":"AAAA,OAAO,UAAU,MAAM,YAAY,CAAC;AAEpC,MAAM,aAAa,GAAG,IAAI,GAAG,EAAsC,CAAC;AAEpE;;;;GAIG;AACH,MAAM,UAAU,cAAc,CAAC,QAAgB,EAAE,OAAgC;IAC/E,IAAI,QAAQ,GAAG,aAAa,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;IAC3C,IAAI,CAAC,QAAQ,EAAE,CAAC;QACd,oEAAoE;QACpE,0DAA0D;QAC1D,QAAQ,GAAG,UAAU,CAAC,OAAO,CAAC,QAAQ,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC;QAC5D,aAAa,CAAC,GAAG,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC;IACxC,CAAC;IACD,OAAO,QAAQ,CAAC,OAAO,CAAC,CAAC;AAC3B,CAAC"}