@usebruno/filestore 0.10.0 → 0.11.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (118) hide show
  1. package/dist/cjs/index.js +1 -1
  2. package/dist/cjs/index.js.map +1 -1
  3. package/dist/cjs/workers/worker-script.js +1 -1
  4. package/dist/cjs/workers/worker-script.js.map +1 -1
  5. package/dist/constants.d.ts +2 -0
  6. package/dist/constants.d.ts.map +1 -1
  7. package/dist/esm/index.js +1 -1
  8. package/dist/esm/index.js.map +1 -1
  9. package/dist/esm/workers/worker-script.js +1 -1
  10. package/dist/esm/workers/worker-script.js.map +1 -1
  11. package/dist/formats/bru/index.d.ts.map +1 -1
  12. package/dist/formats/bru/utils/redact-large-text-blocks.d.ts +11 -0
  13. package/dist/formats/bru/utils/redact-large-text-blocks.d.ts.map +1 -0
  14. package/dist/formats/yml/common/app.d.ts +8 -0
  15. package/dist/formats/yml/common/app.d.ts.map +1 -0
  16. package/dist/formats/yml/common/auth.d.ts.map +1 -1
  17. package/dist/formats/yml/common/body.d.ts.map +1 -1
  18. package/dist/formats/yml/common/datatype.d.ts +14 -0
  19. package/dist/formats/yml/common/datatype.d.ts.map +1 -0
  20. package/dist/formats/yml/common/headers.d.ts.map +1 -1
  21. package/dist/formats/yml/common/variables.d.ts +1 -2
  22. package/dist/formats/yml/common/variables.d.ts.map +1 -1
  23. package/dist/formats/yml/items/parseApp.d.ts +13 -0
  24. package/dist/formats/yml/items/parseApp.d.ts.map +1 -0
  25. package/dist/formats/yml/items/parseGraphQLRequest.d.ts.map +1 -1
  26. package/dist/formats/yml/items/parseGrpcRequest.d.ts.map +1 -1
  27. package/dist/formats/yml/items/parseHttpRequest.d.ts.map +1 -1
  28. package/dist/formats/yml/items/parseWebsocketRequest.d.ts.map +1 -1
  29. package/dist/formats/yml/items/stringifyApp.d.ts +4 -0
  30. package/dist/formats/yml/items/stringifyApp.d.ts.map +1 -0
  31. package/dist/formats/yml/items/stringifyGraphQLRequest.d.ts.map +1 -1
  32. package/dist/formats/yml/items/stringifyGrpcRequest.d.ts.map +1 -1
  33. package/dist/formats/yml/items/stringifyHttpRequest.d.ts.map +1 -1
  34. package/dist/formats/yml/items/stringifyWebsocketRequest.d.ts.map +1 -1
  35. package/dist/formats/yml/parseCollection.d.ts.map +1 -1
  36. package/dist/formats/yml/parseEnvironment.d.ts +3 -1
  37. package/dist/formats/yml/parseEnvironment.d.ts.map +1 -1
  38. package/dist/formats/yml/parseFolder.d.ts.map +1 -1
  39. package/dist/formats/yml/parseItem.d.ts.map +1 -1
  40. package/dist/formats/yml/stringifyCollection.d.ts.map +1 -1
  41. package/dist/formats/yml/stringifyEnvironment.d.ts +3 -1
  42. package/dist/formats/yml/stringifyEnvironment.d.ts.map +1 -1
  43. package/dist/formats/yml/stringifyItem.d.ts.map +1 -1
  44. package/dist/index.d.ts +4 -0
  45. package/dist/index.d.ts.map +1 -1
  46. package/dist/types.d.ts +6 -0
  47. package/dist/types.d.ts.map +1 -1
  48. package/dist/utils/secretsJsonToEnvironments.d.ts +38 -0
  49. package/dist/utils/secretsJsonToEnvironments.d.ts.map +1 -0
  50. package/package.json +7 -5
  51. package/src/constants.ts +9 -0
  52. package/src/formats/bru/index.ts +52 -0
  53. package/src/formats/bru/tests/parseBruEnvironment.spec.js +63 -0
  54. package/src/formats/bru/tests/redact-large-text-blocks.spec.js +313 -0
  55. package/src/formats/bru/utils/redact-large-text-blocks.ts +102 -0
  56. package/src/formats/yml/common/actions.ts +1 -1
  57. package/src/formats/yml/common/app.ts +27 -0
  58. package/src/formats/yml/common/auth.ts +53 -1
  59. package/src/formats/yml/common/body.spec.ts +62 -0
  60. package/src/formats/yml/common/body.ts +27 -9
  61. package/src/formats/yml/common/datatype.spec.ts +110 -0
  62. package/src/formats/yml/common/datatype.ts +57 -0
  63. package/src/formats/yml/common/headers.ts +4 -0
  64. package/src/formats/yml/common/variables.spec.ts +127 -0
  65. package/src/formats/yml/common/variables.ts +14 -22
  66. package/src/formats/yml/items/parseApp.ts +37 -0
  67. package/src/formats/yml/items/parseGraphQLRequest.ts +8 -0
  68. package/src/formats/yml/items/parseGrpcRequest.ts +24 -3
  69. package/src/formats/yml/items/parseHttpRequest.ts +13 -0
  70. package/src/formats/yml/items/parseWebsocketRequest.ts +29 -9
  71. package/src/formats/yml/items/stringifyApp.ts +45 -0
  72. package/src/formats/yml/items/stringifyGraphQLRequest.ts +3 -0
  73. package/src/formats/yml/items/stringifyGrpcRequest.ts +9 -11
  74. package/src/formats/yml/items/stringifyHttpRequest.ts +10 -0
  75. package/src/formats/yml/items/stringifyWebsocketRequest.ts +22 -9
  76. package/src/formats/yml/parseCollection.spec.ts +70 -0
  77. package/src/formats/yml/parseCollection.ts +8 -3
  78. package/src/formats/yml/parseEnvironment.spec.ts +99 -0
  79. package/src/formats/yml/parseEnvironment.ts +41 -19
  80. package/src/formats/yml/parseFolder.spec.ts +52 -0
  81. package/src/formats/yml/parseFolder.ts +14 -21
  82. package/src/formats/yml/parseItem.spec.ts +147 -0
  83. package/src/formats/yml/parseItem.ts +4 -0
  84. package/src/formats/yml/stringifyCollection.spec.ts +77 -0
  85. package/src/formats/yml/stringifyCollection.ts +4 -0
  86. package/src/formats/yml/stringifyEnvironment.spec.ts +91 -0
  87. package/src/formats/yml/stringifyEnvironment.ts +55 -20
  88. package/src/formats/yml/stringifyFolder.spec.ts +47 -0
  89. package/src/formats/yml/stringifyItem.spec.ts +53 -0
  90. package/src/formats/yml/stringifyItem.ts +4 -0
  91. package/src/formats/yml/tests/fixtures/presets/empty-request.yml +7 -0
  92. package/src/formats/yml/tests/fixtures/presets/no-presets.yml +3 -0
  93. package/src/formats/yml/tests/fixtures/presets/no-request-key.yml +6 -0
  94. package/src/formats/yml/tests/fixtures/presets/type-only-realistic.yml +24 -0
  95. package/src/formats/yml/tests/fixtures/presets/url-only-realistic.yml +25 -0
  96. package/src/formats/yml/tests/fixtures/presets/with-type-and-url.yml +9 -0
  97. package/src/formats/yml/tests/parseCollection.spec.js +63 -0
  98. package/src/formats/yml/tests/parseEnvironment.spec.js +24 -63
  99. package/src/formats/yml/tests/parseEnvironment.spec.ts +160 -0
  100. package/src/formats/yml/tests/stringifyEnvironment.spec.ts +204 -0
  101. package/src/formats/yml/tests/variables.spec.js +7 -7
  102. package/src/index.ts +5 -0
  103. package/src/types/bruno-lang.d.ts +1 -0
  104. package/src/types.ts +7 -0
  105. package/src/utils/secretsJsonToEnvironments.spec.ts +211 -0
  106. package/src/utils/secretsJsonToEnvironments.ts +129 -0
  107. package/dist/formats/bru/tests/example-status-swap.spec.d.ts +0 -2
  108. package/dist/formats/bru/tests/example-status-swap.spec.d.ts.map +0 -1
  109. package/dist/formats/bru/tests/fixtures/oauth2-additional-params.d.ts +0 -57
  110. package/dist/formats/bru/tests/fixtures/oauth2-additional-params.d.ts.map +0 -1
  111. package/dist/formats/bru/tests/oauth2-additional-params.spec.d.ts +0 -2
  112. package/dist/formats/bru/tests/oauth2-additional-params.spec.d.ts.map +0 -1
  113. package/dist/formats/bru/tests/request-parse-and-redact-body-data.spec.d.ts +0 -2
  114. package/dist/formats/bru/tests/request-parse-and-redact-body-data.spec.d.ts.map +0 -1
  115. package/dist/formats/yml/tests/parseEnvironment.spec.d.ts +0 -2
  116. package/dist/formats/yml/tests/parseEnvironment.spec.d.ts.map +0 -1
  117. package/dist/formats/yml/tests/variables.spec.d.ts +0 -2
  118. package/dist/formats/yml/tests/variables.spec.d.ts.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/formats/bru/index.ts"],"names":[],"mappings":"AAWA,eAAO,MAAM,eAAe,SAAU,MAAM,GAAG,GAAG,WAAU,OAAO,KAAW,GAwG7E,CAAC;AAEF,eAAO,MAAM,mBAAmB,SAAU,GAAG,KAAG,MA+G/C,CAAC;AAEF,eAAO,MAAM,kBAAkB,SAAU,MAAM,GAAG,GAAG,WAAU,OAAO,KAAW,GA4ChF,CAAC;AAEF,eAAO,MAAM,sBAAsB,SAAU,GAAG,aAAa,OAAO,KAAG,MAuCtE,CAAC;AAEF,eAAO,MAAM,mBAAmB,QAAS,MAAM,KAAG,GAejD,CAAC;AAEF,eAAO,MAAM,uBAAuB,SAAU,GAAG,KAAG,MAOnD,CAAC;AAGF,eAAO,MAAM,gBAAgB,SAAU,MAAM,GAAG,GAAG,WAAU,OAAO,eAAuB,MAAM,iBAAiB,MAAM,KAAG,GAwE1H,CAAC;AAEF,eAAO,MAAM,gBAAgB,SAAU,GAAG;;;;;;;;;;;CAsBzC,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/formats/bru/index.ts"],"names":[],"mappings":"AAYA,eAAO,MAAM,eAAe,SAAU,MAAM,GAAG,GAAG,WAAU,OAAO,KAAW,GA6H7E,CAAC;AAEF,eAAO,MAAM,mBAAmB,SAAU,GAAG,KAAG,MAoI/C,CAAC;AAEF,eAAO,MAAM,kBAAkB,SAAU,MAAM,GAAG,GAAG,WAAU,OAAO,KAAW,GA4ChF,CAAC;AAEF,eAAO,MAAM,sBAAsB,SAAU,GAAG,aAAa,OAAO,KAAG,MAuCtE,CAAC;AAEF,eAAO,MAAM,mBAAmB,QAAS,MAAM,KAAG,GAwBjD,CAAC;AAEF,eAAO,MAAM,uBAAuB,SAAU,GAAG,KAAG,MAOnD,CAAC;AAGF,eAAO,MAAM,gBAAgB,SAAU,MAAM,GAAG,GAAG,WAAU,OAAO,eAAuB,MAAM,iBAAiB,MAAM,KAAG,GAwE1H,CAAC;AAEF,eAAO,MAAM,gBAAgB,SAAU,GAAG;;;;;;;;;;;CAsBzC,CAAC"}
@@ -0,0 +1,11 @@
1
+ export interface RedactedBlock {
2
+ token: string;
3
+ value: string;
4
+ }
5
+ export interface RedactionResult {
6
+ skeleton: string;
7
+ blocks: RedactedBlock[];
8
+ }
9
+ export declare const redactLargeBruTextBlocks: (content: string) => RedactionResult;
10
+ export declare const restoreRedactedBlocks: <T>(parsed: T, blocks: RedactedBlock[]) => T;
11
+ //# sourceMappingURL=redact-large-text-blocks.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"redact-large-text-blocks.d.ts","sourceRoot":"","sources":["../../../../src/formats/bru/utils/redact-large-text-blocks.ts"],"names":[],"mappings":"AAGA,MAAM,WAAW,aAAa;IAC5B,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,eAAe;IAC9B,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,aAAa,EAAE,CAAC;CACzB;AAgCD,eAAO,MAAM,wBAAwB,YAAa,MAAM,KAAG,eAoC1D,CAAC;AAEF,eAAO,MAAM,qBAAqB,yBAA0B,aAAa,EAAE,MAoB1E,CAAC"}
@@ -0,0 +1,8 @@
1
+ import type { App as BrunoApp } from '@usebruno/schema-types/collection/item';
2
+ export interface OpenCollectionApp {
3
+ enabled?: boolean;
4
+ code?: string;
5
+ }
6
+ export declare const toOpenCollectionApp: (app: BrunoApp | null | undefined) => OpenCollectionApp | undefined;
7
+ export declare const toBrunoApp: (app: OpenCollectionApp | null | undefined) => BrunoApp | null;
8
+ //# sourceMappingURL=app.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"app.d.ts","sourceRoot":"","sources":["../../../../src/formats/yml/common/app.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,GAAG,IAAI,QAAQ,EAAE,MAAM,wCAAwC,CAAC;AAE9E,MAAM,WAAW,iBAAiB;IAChC,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAED,eAAO,MAAM,mBAAmB,QAAS,QAAQ,GAAG,IAAI,GAAG,SAAS,KAAG,iBAAiB,GAAG,SAW1F,CAAC;AAEF,eAAO,MAAM,UAAU,QAAS,iBAAiB,GAAG,IAAI,GAAG,SAAS,KAAG,QAAQ,GAAG,IAMjF,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"auth.d.ts","sourceRoot":"","sources":["../../../../src/formats/yml/common/auth.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,IAAI,EASL,MAAM,mCAAmC,CAAC;AAC3C,OAAO,KAAK,EAAE,IAAI,IAAI,SAAS,EAAiC,MAAM,oCAAoC,CAAC;AAwI3G,eAAO,MAAM,oBAAoB,UAAW,SAAS,GAAG,IAAI,KAAG,IAAI,GAAG,SAgCrE,CAAC;AAEF,eAAO,MAAM,WAAW,SAAU,IAAI,GAAG,IAAI,GAAG,SAAS,KAAG,SAAS,GAAG,IAoHvE,CAAC"}
1
+ {"version":3,"file":"auth.d.ts","sourceRoot":"","sources":["../../../../src/formats/yml/common/auth.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,IAAI,EASL,MAAM,mCAAmC,CAAC;AAC3C,OAAO,KAAK,EAAE,IAAI,IAAI,SAAS,EAAiC,MAAM,oCAAoC,CAAC;AAyK3G,eAAO,MAAM,oBAAoB,UAAW,SAAS,GAAG,IAAI,KAAG,IAAI,GAAG,SAkCrE,CAAC;AAEF,eAAO,MAAM,WAAW,SAAU,IAAI,GAAG,IAAI,GAAG,SAAS,KAAG,SAAS,GAAG,IAqIvE,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"body.d.ts","sourceRoot":"","sources":["../../../../src/formats/yml/common/body.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,IAAI,oBAAoB,EAAE,MAAM,sCAAsC,CAAC;AACpG,OAAO,KAAK,EACV,eAAe,EAQhB,MAAM,qCAAqC,CAAC;AAI7C,eAAO,MAAM,oBAAoB,SAAU,oBAAoB,GAAG,IAAI,GAAG,SAAS,KAAG,eAAe,GAAG,SAgHtG,CAAC;AAEF,eAAO,MAAM,WAAW,SAAU,eAAe,GAAG,IAAI,GAAG,SAAS,KAAG,oBAAoB,GAAG,SA6G7F,CAAC"}
1
+ {"version":3,"file":"body.d.ts","sourceRoot":"","sources":["../../../../src/formats/yml/common/body.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,IAAI,oBAAoB,EAAE,MAAM,sCAAsC,CAAC;AACpG,OAAO,KAAK,EACV,eAAe,EAQhB,MAAM,qCAAqC,CAAC;AAM7C,eAAO,MAAM,oBAAoB,SAAU,oBAAoB,GAAG,IAAI,GAAG,SAAS,KAAG,eAAe,GAAG,SAsHtG,CAAC;AAEF,eAAO,MAAM,WAAW,SAAU,eAAe,GAAG,IAAI,GAAG,SAAS,KAAG,oBAAoB,GAAG,SAuH7F,CAAC"}
@@ -0,0 +1,14 @@
1
+ import type { VariableTypedValue } from '@opencollection/types/common/variables';
2
+ import { BrunoVariableDataType, isBrunoVariableDataType } from '@usebruno/common/utils';
3
+ export { BrunoVariableDataType, isBrunoVariableDataType };
4
+ export declare const serializeVariableValue: (value: unknown) => string;
5
+ export declare const isTypedValue: (value: unknown) => value is VariableTypedValue;
6
+ export interface TypedVariableFields {
7
+ dataType?: BrunoVariableDataType;
8
+ }
9
+ export declare const hasTypedMetadata: (v: TypedVariableFields) => boolean;
10
+ export declare const toOpenCollectionTypedValue: (v: TypedVariableFields, dataStr: string) => VariableTypedValue;
11
+ export declare const fromOpenCollectionTypedValue: (typed: VariableTypedValue) => {
12
+ value: any;
13
+ } & TypedVariableFields;
14
+ //# sourceMappingURL=datatype.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"datatype.d.ts","sourceRoot":"","sources":["../../../../src/formats/yml/common/datatype.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,wCAAwC,CAAC;AACjF,OAAO,EAEL,qBAAqB,EACrB,uBAAuB,EAExB,MAAM,wBAAwB,CAAC;AAEhC,OAAO,EAAE,qBAAqB,EAAE,uBAAuB,EAAE,CAAC;AAE1D,eAAO,MAAM,sBAAsB,UAAW,OAAO,KAAG,MAKvD,CAAC;AAEF,eAAO,MAAM,YAAY,UAAW,OAAO,gCAM1C,CAAC;AAEF,MAAM,WAAW,mBAAmB;IAClC,QAAQ,CAAC,EAAE,qBAAqB,CAAC;CAClC;AAED,eAAO,MAAM,gBAAgB,MAAO,mBAAmB,KAAG,OAEzD,CAAC;AAEF,eAAO,MAAM,0BAA0B,MAClC,mBAAmB,WACb,MAAM,KACd,kBAKF,CAAC;AAGF,eAAO,MAAM,4BAA4B,UAChC,kBAAkB,KACxB;IAAE,KAAK,EAAE,GAAG,CAAA;CAAE,GAAG,mBAUnB,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"headers.d.ts","sourceRoot":"","sources":["../../../../src/formats/yml/common/headers.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,IAAI,kBAAkB,EAAE,MAAM,0CAA0C,CAAC;AACpG,OAAO,KAAK,EAAE,QAAQ,IAAI,aAAa,EAAE,MAAM,yCAAyC,CAAC;AACzF,OAAO,KAAK,EAAE,iBAAiB,EAAE,kBAAkB,EAAE,MAAM,qCAAqC,CAAC;AAGjG,eAAO,MAAM,2BAA2B,YAAa,kBAAkB,CAAC,SAAS,CAAC,KAAG,iBAAiB,EAAE,GAAG,SAoB1G,CAAC;AAEF,eAAO,MAAM,+BAA+B,YAAa,kBAAkB,CAAC,SAAS,CAAC,KAAG,kBAAkB,EAAE,GAAG,SAW/G,CAAC;AAEF,eAAO,MAAM,kBAAkB,YAAa,iBAAiB,EAAE,GAAG,kBAAkB,EAAE,GAAG,IAAI,GAAG,SAAS,KAAG,aAAa,EAAE,GAAG,SAiB7H,CAAC"}
1
+ {"version":3,"file":"headers.d.ts","sourceRoot":"","sources":["../../../../src/formats/yml/common/headers.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,IAAI,kBAAkB,EAAE,MAAM,0CAA0C,CAAC;AACpG,OAAO,KAAK,EAAE,QAAQ,IAAI,aAAa,EAAE,MAAM,yCAAyC,CAAC;AACzF,OAAO,KAAK,EAAE,iBAAiB,EAAE,kBAAkB,EAAE,MAAM,qCAAqC,CAAC;AAGjG,eAAO,MAAM,2BAA2B,YAAa,kBAAkB,CAAC,SAAS,CAAC,KAAG,iBAAiB,EAAE,GAAG,SAoB1G,CAAC;AAEF,eAAO,MAAM,+BAA+B,YAAa,kBAAkB,CAAC,SAAS,CAAC,KAAG,kBAAkB,EAAE,GAAG,SAW/G,CAAC;AAEF,eAAO,MAAM,kBAAkB,YAAa,iBAAiB,EAAE,GAAG,kBAAkB,EAAE,GAAG,IAAI,GAAG,SAAS,KAAG,aAAa,EAAE,GAAG,SAqB7H,CAAC"}
@@ -1,7 +1,6 @@
1
- import { Variable, VariableTypedValue } from '@opencollection/types/common/variables';
1
+ import { Variable } from '@opencollection/types/common/variables';
2
2
  import { FolderRequest as BrunoFolderRequest } from '@usebruno/schema-types/collection/folder';
3
3
  import { Variables as BrunoVariables } from '@usebruno/schema-types/common/variables';
4
- export declare const isTypedValue: (value: unknown) => value is VariableTypedValue;
5
4
  /**
6
5
  * Convert Bruno pre-request variables to OpenCollection variables format.
7
6
  * Note: Post-response variables are now converted to actions (see actions.ts).
@@ -1 +1 @@
1
- {"version":3,"file":"variables.d.ts","sourceRoot":"","sources":["../../../../src/formats/yml/common/variables.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,kBAAkB,EAAE,MAAM,wCAAwC,CAAC;AACtF,OAAO,EAAE,aAAa,IAAI,kBAAkB,EAAE,MAAM,0CAA0C,CAAC;AAC/F,OAAO,EAA6B,SAAS,IAAI,cAAc,EAAE,MAAM,yCAAyC,CAAC;AAGjH,eAAO,MAAM,YAAY,UAAW,OAAO,gCAQ1C,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,yBAAyB,cAAe,kBAAkB,CAAC,MAAM,CAAC,GAAG,cAAc,GAAG,IAAI,GAAG,SAAS,KAAG,QAAQ,EAAE,GAAG,SA+BlI,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,gBAAgB,cAAe,QAAQ,EAAE,GAAG,IAAI,GAAG,SAAS,KAAG;IAAE,GAAG,EAAE,cAAc,CAAC;IAAC,GAAG,EAAE,cAAc,CAAA;CAiCrH,CAAC"}
1
+ {"version":3,"file":"variables.d.ts","sourceRoot":"","sources":["../../../../src/formats/yml/common/variables.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAsB,MAAM,wCAAwC,CAAC;AACtF,OAAO,EAAE,aAAa,IAAI,kBAAkB,EAAE,MAAM,0CAA0C,CAAC;AAC/F,OAAO,EAA6B,SAAS,IAAI,cAAc,EAAE,MAAM,yCAAyC,CAAC;AAUjH;;;GAGG;AACH,eAAO,MAAM,yBAAyB,cAAe,kBAAkB,CAAC,MAAM,CAAC,GAAG,cAAc,GAAG,IAAI,GAAG,SAAS,KAAG,QAAQ,EAAE,GAAG,SA6BlI,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,gBAAgB,cAAe,QAAQ,EAAE,GAAG,IAAI,GAAG,SAAS,KAAG;IAAE,GAAG,EAAE,cAAc,CAAC;IAAC,GAAG,EAAE,cAAc,CAAA;CA8BrH,CAAC"}
@@ -0,0 +1,13 @@
1
+ import type { Item as BrunoItem } from '@usebruno/schema-types/collection/item';
2
+ export interface AppFile {
3
+ info: {
4
+ name?: string;
5
+ type: 'app';
6
+ seq?: number;
7
+ tags?: string[];
8
+ };
9
+ code?: string;
10
+ }
11
+ declare const parseApp: (ocApp: AppFile) => BrunoItem;
12
+ export default parseApp;
13
+ //# sourceMappingURL=parseApp.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"parseApp.d.ts","sourceRoot":"","sources":["../../../../src/formats/yml/items/parseApp.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,IAAI,SAAS,EAAE,MAAM,wCAAwC,CAAC;AAGhF,MAAM,WAAW,OAAO;IACtB,IAAI,EAAE;QACJ,IAAI,CAAC,EAAE,MAAM,CAAC;QACd,IAAI,EAAE,KAAK,CAAC;QACZ,GAAG,CAAC,EAAE,MAAM,CAAC;QACb,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC;KACjB,CAAC;IACF,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAED,QAAA,MAAM,QAAQ,UAAW,OAAO,KAAG,SAqBlC,CAAC;AAEF,eAAe,QAAQ,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"parseGraphQLRequest.d.ts","sourceRoot":"","sources":["../../../../src/formats/yml/items/parseGraphQLRequest.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,IAAI,SAAS,EAA6C,MAAM,wCAAwC,CAAC;AAE3H,OAAO,KAAK,EAAE,cAAc,EAAuC,MAAM,wCAAwC,CAAC;AAUlH,QAAA,MAAM,mBAAmB,cAAe,cAAc,KAAG,SA0HxD,CAAC;AAEF,eAAe,mBAAmB,CAAC"}
1
+ {"version":3,"file":"parseGraphQLRequest.d.ts","sourceRoot":"","sources":["../../../../src/formats/yml/items/parseGraphQLRequest.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,IAAI,SAAS,EAA6C,MAAM,wCAAwC,CAAC;AAE3H,OAAO,KAAK,EAAE,cAAc,EAAuC,MAAM,wCAAwC,CAAC;AAUlH,QAAA,MAAM,mBAAmB,cAAe,cAAc,KAAG,SAkIxD,CAAC;AAEF,eAAe,mBAAmB,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"parseGrpcRequest.d.ts","sourceRoot":"","sources":["../../../../src/formats/yml/items/parseGrpcRequest.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,IAAI,SAAS,EAAE,MAAM,wCAAwC,CAAC;AAEhF,OAAO,KAAK,EAAE,WAAW,EAAgB,MAAM,qCAAqC,CAAC;AA2BrF,QAAA,MAAM,gBAAgB,cAAe,WAAW,KAAG,SAoFlD,CAAC;AAEF,eAAe,gBAAgB,CAAC"}
1
+ {"version":3,"file":"parseGrpcRequest.d.ts","sourceRoot":"","sources":["../../../../src/formats/yml/items/parseGrpcRequest.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,IAAI,SAAS,EAAE,MAAM,wCAAwC,CAAC;AAEhF,OAAO,KAAK,EAAE,WAAW,EAAoC,MAAM,qCAAqC,CAAC;AAkCzG,QAAA,MAAM,gBAAgB,cAAe,WAAW,KAAG,SAkGlD,CAAC;AAEF,eAAe,gBAAgB,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"parseHttpRequest.d.ts","sourceRoot":"","sources":["../../../../src/formats/yml/items/parseHttpRequest.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,IAAI,SAAS,EAA6C,MAAM,wCAAwC,CAAC;AAE3H,OAAO,KAAK,EAAE,WAAW,EAAmB,MAAM,qCAAqC,CAAC;AAWxF,QAAA,MAAM,gBAAgB,cAAe,WAAW,KAAG,SAoLlD,CAAC;AAEF,eAAe,gBAAgB,CAAC"}
1
+ {"version":3,"file":"parseHttpRequest.d.ts","sourceRoot":"","sources":["../../../../src/formats/yml/items/parseHttpRequest.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,IAAI,SAAS,EAA6C,MAAM,wCAAwC,CAAC;AAE3H,OAAO,KAAK,EAAE,WAAW,EAAmB,MAAM,qCAAqC,CAAC;AAYxF,QAAA,MAAM,gBAAgB,cAAe,WAAW,KAAG,SAgMlD,CAAC;AAEF,eAAe,gBAAgB,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"parseWebsocketRequest.d.ts","sourceRoot":"","sources":["../../../../src/formats/yml/items/parseWebsocketRequest.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,IAAI,SAAS,EAAE,MAAM,wCAAwC,CAAC;AAEhF,OAAO,KAAK,EAAE,gBAAgB,EAAoB,MAAM,0CAA0C,CAAC;AAOnG,QAAA,MAAM,qBAAqB,cAAe,gBAAgB,KAAG,SA+F5D,CAAC;AAEF,eAAe,qBAAqB,CAAC"}
1
+ {"version":3,"file":"parseWebsocketRequest.d.ts","sourceRoot":"","sources":["../../../../src/formats/yml/items/parseWebsocketRequest.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,IAAI,SAAS,EAAE,MAAM,wCAAwC,CAAC;AAEhF,OAAO,KAAK,EAAE,gBAAgB,EAA6C,MAAM,0CAA0C,CAAC;AAO5H,QAAA,MAAM,qBAAqB,cAAe,gBAAgB,KAAG,SAmH5D,CAAC;AAEF,eAAe,qBAAqB,CAAC"}
@@ -0,0 +1,4 @@
1
+ import type { Item as BrunoItem } from '@usebruno/schema-types/collection/item';
2
+ declare const stringifyApp: (item: BrunoItem) => string;
3
+ export default stringifyApp;
4
+ //# sourceMappingURL=stringifyApp.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"stringifyApp.d.ts","sourceRoot":"","sources":["../../../../src/formats/yml/items/stringifyApp.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,IAAI,SAAS,EAAE,MAAM,wCAAwC,CAAC;AAiBhF,QAAA,MAAM,YAAY,SAAU,SAAS,KAAG,MAyBvC,CAAC;AAEF,eAAe,YAAY,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"stringifyGraphQLRequest.d.ts","sourceRoot":"","sources":["../../../../src/formats/yml/items/stringifyGraphQLRequest.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,IAAI,SAAS,EAA6C,MAAM,wCAAwC,CAAC;AAmB3H,QAAA,MAAM,uBAAuB,SAAU,SAAS,KAAG,MAkJlD,CAAC;AAEF,eAAe,uBAAuB,CAAC"}
1
+ {"version":3,"file":"stringifyGraphQLRequest.d.ts","sourceRoot":"","sources":["../../../../src/formats/yml/items/stringifyGraphQLRequest.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,IAAI,SAAS,EAA6C,MAAM,wCAAwC,CAAC;AAmB3H,QAAA,MAAM,uBAAuB,SAAU,SAAS,KAAG,MAqJlD,CAAC;AAEF,eAAe,uBAAuB,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"stringifyGrpcRequest.d.ts","sourceRoot":"","sources":["../../../../src/formats/yml/items/stringifyGrpcRequest.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,IAAI,SAAS,EAAE,MAAM,wCAAwC,CAAC;AAehF,QAAA,MAAM,oBAAoB,SAAU,SAAS,KAAG,MAuH/C,CAAC;AAEF,eAAe,oBAAoB,CAAC"}
1
+ {"version":3,"file":"stringifyGrpcRequest.d.ts","sourceRoot":"","sources":["../../../../src/formats/yml/items/stringifyGrpcRequest.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,IAAI,SAAS,EAAE,MAAM,wCAAwC,CAAC;AAehF,QAAA,MAAM,oBAAoB,SAAU,SAAS,KAAG,MAqH/C,CAAC;AAEF,eAAe,oBAAoB,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"stringifyHttpRequest.d.ts","sourceRoot":"","sources":["../../../../src/formats/yml/items/stringifyHttpRequest.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,IAAI,SAAS,EAA6C,MAAM,wCAAwC,CAAC;AAoB3H,QAAA,MAAM,oBAAoB,SAAU,SAAS,KAAG,MAuM/C,CAAC;AAEF,eAAe,oBAAoB,CAAC"}
1
+ {"version":3,"file":"stringifyHttpRequest.d.ts","sourceRoot":"","sources":["../../../../src/formats/yml/items/stringifyHttpRequest.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,IAAI,SAAS,EAA6C,MAAM,wCAAwC,CAAC;AAqB3H,QAAA,MAAM,oBAAoB,SAAU,SAAS,KAAG,MAgN/C,CAAC;AAEF,eAAe,oBAAoB,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"stringifyWebsocketRequest.d.ts","sourceRoot":"","sources":["../../../../src/formats/yml/items/stringifyWebsocketRequest.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,IAAI,SAAS,EAAE,MAAM,wCAAwC,CAAC;AAchF,QAAA,MAAM,yBAAyB,SAAU,SAAS,KAAG,MAiGpD,CAAC;AAEF,eAAe,yBAAyB,CAAC"}
1
+ {"version":3,"file":"stringifyWebsocketRequest.d.ts","sourceRoot":"","sources":["../../../../src/formats/yml/items/stringifyWebsocketRequest.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,IAAI,SAAS,EAAE,MAAM,wCAAwC,CAAC;AAchF,QAAA,MAAM,yBAAyB,SAAU,SAAS,KAAG,MA8GpD,CAAC;AAEF,eAAe,yBAAyB,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"parseCollection.d.ts","sourceRoot":"","sources":["../../../src/formats/yml/parseCollection.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,0CAA0C,CAAC;AAS3E,UAAU,gBAAgB;IACxB,cAAc,EAAE,UAAU,CAAC;IAC3B,WAAW,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;CAClC;AAED,QAAA,MAAM,eAAe,cAAe,MAAM,KAAG,gBAoN5C,CAAC;AAEF,eAAe,eAAe,CAAC"}
1
+ {"version":3,"file":"parseCollection.d.ts","sourceRoot":"","sources":["../../../src/formats/yml/parseCollection.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,0CAA0C,CAAC;AAU3E,UAAU,gBAAgB;IACxB,cAAc,EAAE,UAAU,CAAC;IAC3B,WAAW,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;CAClC;AAED,QAAA,MAAM,eAAe,cAAe,MAAM,KAAG,gBAwN5C,CAAC;AAEF,eAAe,eAAe,CAAC"}
@@ -1,4 +1,6 @@
1
- import type { Environment as BrunoEnvironment } from '@usebruno/schema-types/collection/environment';
1
+ import type { Environment as BrunoEnvironment, EnvironmentVariable as BrunoEnvironmentVariable, SecretEnvironmentVariable as BrunoSecretEnvironmentVariable } from '@usebruno/schema-types/collection/environment';
2
+ import type { Variable, SecretVariable } from '@opencollection/types/common/variables';
3
+ export declare const toBrunoEnvironmentVariables: (variables: (Variable | SecretVariable)[] | null | undefined) => (BrunoEnvironmentVariable | BrunoSecretEnvironmentVariable)[];
2
4
  declare const parseEnvironment: (ymlString: string) => BrunoEnvironment;
3
5
  export default parseEnvironment;
4
6
  //# sourceMappingURL=parseEnvironment.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"parseEnvironment.d.ts","sourceRoot":"","sources":["../../../src/formats/yml/parseEnvironment.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,IAAI,gBAAgB,EAAmD,MAAM,+CAA+C,CAAC;AA2EtJ,QAAA,MAAM,gBAAgB,cAAe,MAAM,KAAG,gBAqB7C,CAAC;AAEF,eAAe,gBAAgB,CAAC"}
1
+ {"version":3,"file":"parseEnvironment.d.ts","sourceRoot":"","sources":["../../../src/formats/yml/parseEnvironment.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,WAAW,IAAI,gBAAgB,EAC/B,mBAAmB,IAAI,wBAAwB,EAC/C,yBAAyB,IAAI,8BAA8B,EAE5D,MAAM,+CAA+C,CAAC;AAEvD,OAAO,KAAK,EAAE,QAAQ,EAAE,cAAc,EAAE,MAAM,wCAAwC,CAAC;AAUvF,eAAO,MAAM,2BAA2B,cAAe,CAAC,QAAQ,GAAG,cAAc,CAAC,EAAE,GAAG,IAAI,GAAG,SAAS,KAAG,CAAC,wBAAwB,GAAG,8BAA8B,CAAC,EAgDpK,CAAC;AAgCF,QAAA,MAAM,gBAAgB,cAAe,MAAM,KAAG,gBAqB7C,CAAC;AAEF,eAAe,gBAAgB,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"parseFolder.d.ts","sourceRoot":"","sources":["../../../src/formats/yml/parseFolder.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,0CAA0C,CAAC;AAU3E,QAAA,MAAM,WAAW,cAAe,MAAM,KAAG,UAgFxC,CAAC;AAEF,eAAe,WAAW,CAAC"}
1
+ {"version":3,"file":"parseFolder.d.ts","sourceRoot":"","sources":["../../../src/formats/yml/parseFolder.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,0CAA0C,CAAC;AAU3E,QAAA,MAAM,WAAW,cAAe,MAAM,KAAG,UAyExC,CAAC;AAEF,eAAe,WAAW,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"parseItem.d.ts","sourceRoot":"","sources":["../../../src/formats/yml/parseItem.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,IAAI,SAAS,EAAE,MAAM,wCAAwC,CAAC;AA8DhF,QAAA,MAAM,SAAS,cAAe,MAAM,KAAG,SAqCtC,CAAC;AAEF,eAAe,SAAS,CAAC"}
1
+ {"version":3,"file":"parseItem.d.ts","sourceRoot":"","sources":["../../../src/formats/yml/parseItem.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,IAAI,SAAS,EAAE,MAAM,wCAAwC,CAAC;AA+DhF,QAAA,MAAM,SAAS,cAAe,MAAM,KAAG,SAwCtC,CAAC;AAEF,eAAe,SAAS,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"stringifyCollection.d.ts","sourceRoot":"","sources":["../../../src/formats/yml/stringifyCollection.ts"],"names":[],"mappings":"AAkEA,QAAA,MAAM,mBAAmB,mBAAoB,GAAG,eAAe,GAAG,KAAG,MA0NpE,CAAC;AAEF,eAAe,mBAAmB,CAAC"}
1
+ {"version":3,"file":"stringifyCollection.d.ts","sourceRoot":"","sources":["../../../src/formats/yml/stringifyCollection.ts"],"names":[],"mappings":"AAkEA,QAAA,MAAM,mBAAmB,mBAAoB,GAAG,eAAe,GAAG,KAAG,MA8NpE,CAAC;AAEF,eAAe,mBAAmB,CAAC"}
@@ -1,4 +1,6 @@
1
- import type { Environment as BrunoEnvironment } from '@usebruno/schema-types/collection/environment';
1
+ import type { Environment as BrunoEnvironment, EnvironmentVariable as BrunoEnvironmentVariable, SecretEnvironmentVariable as BrunoSecretEnvironmentVariable } from '@usebruno/schema-types/collection/environment';
2
+ import type { Variable, SecretVariable } from '@opencollection/types/common/variables';
3
+ export declare const toOpenCollectionEnvironmentVariables: (variables: (BrunoEnvironmentVariable | BrunoSecretEnvironmentVariable)[]) => (Variable | SecretVariable)[] | undefined;
2
4
  declare const stringifyEnvironment: (environment: BrunoEnvironment) => string;
3
5
  export default stringifyEnvironment;
4
6
  //# sourceMappingURL=stringifyEnvironment.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"stringifyEnvironment.d.ts","sourceRoot":"","sources":["../../../src/formats/yml/stringifyEnvironment.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,IAAI,gBAAgB,EAAmD,MAAM,+CAA+C,CAAC;AAkDtJ,QAAA,MAAM,oBAAoB,gBAAiB,gBAAgB,KAAG,MA6B7D,CAAC;AACF,eAAe,oBAAoB,CAAC"}
1
+ {"version":3,"file":"stringifyEnvironment.d.ts","sourceRoot":"","sources":["../../../src/formats/yml/stringifyEnvironment.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,WAAW,IAAI,gBAAgB,EAC/B,mBAAmB,IAAI,wBAAwB,EAC/C,yBAAyB,IAAI,8BAA8B,EAE5D,MAAM,+CAA+C,CAAC;AAEvD,OAAO,KAAK,EAAE,QAAQ,EAAE,cAAc,EAAE,MAAM,wCAAwC,CAAC;AAMvF,eAAO,MAAM,oCAAoC,cAAe,CAAC,wBAAwB,GAAG,8BAA8B,CAAC,EAAE,KAAG,CAAC,QAAQ,GAAG,cAAc,CAAC,EAAE,GAAG,SA2C/J,CAAC;AA8BF,QAAA,MAAM,oBAAoB,gBAAiB,gBAAgB,KAAG,MA2B7D,CAAC;AAEF,eAAe,oBAAoB,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"stringifyItem.d.ts","sourceRoot":"","sources":["../../../src/formats/yml/stringifyItem.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,IAAI,SAAS,EAAE,MAAM,wCAAwC,CAAC;AAOhF,QAAA,MAAM,aAAa,SAAU,SAAS,KAAG,MA4BxC,CAAC;AACF,eAAe,aAAa,CAAC"}
1
+ {"version":3,"file":"stringifyItem.d.ts","sourceRoot":"","sources":["../../../src/formats/yml/stringifyItem.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,IAAI,SAAS,EAAE,MAAM,wCAAwC,CAAC;AAQhF,QAAA,MAAM,aAAa,SAAU,SAAS,KAAG,MA+BxC,CAAC;AACF,eAAe,aAAa,CAAC"}
package/dist/index.d.ts CHANGED
@@ -1,6 +1,7 @@
1
1
  import type { BrunoCollection, BrunoItem, BrunoEnvironment } from '@usebruno/schema-types';
2
2
  import BruParserWorker from './workers';
3
3
  import { ParseOptions, StringifyOptions, CollectionFormat } from './types';
4
+ import { redactLargeBruTextBlocks, restoreRedactedBlocks } from './formats/bru/utils/redact-large-text-blocks';
4
5
  export declare const parseRequest: (content: string, options?: ParseOptions) => any;
5
6
  export declare const parseRequestAndRedactBody: (content: string, options?: ParseOptions) => any;
6
7
  export declare const stringifyRequest: (requestObj: BrunoItem, options?: StringifyOptions) => string;
@@ -18,6 +19,9 @@ export declare const stringifyFolder: (folderObj: any, options?: StringifyOption
18
19
  export declare const parseEnvironment: (content: string, options?: ParseOptions) => any;
19
20
  export declare const stringifyEnvironment: (envObj: BrunoEnvironment, options?: StringifyOptions) => string;
20
21
  export declare const parseDotEnv: (content: string) => Record<string, string>;
22
+ export { redactLargeBruTextBlocks, restoreRedactedBlocks };
23
+ export type { RedactedBlock, RedactionResult } from './formats/bru/utils/redact-large-text-blocks';
24
+ export { migrateSecretsJsonToEnvironments } from './utils/secretsJsonToEnvironments';
21
25
  export { BruParserWorker };
22
26
  export * from './types';
23
27
  export * from './constants';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,SAAS,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAqB3F,OAAO,eAAe,MAAM,WAAW,CAAC;AACxC,OAAO,EACL,YAAY,EACZ,gBAAgB,EAChB,gBAAgB,EACjB,MAAM,SAAS,CAAC;AAKjB,eAAO,MAAM,YAAY,YAAa,MAAM,YAAW,YAAY,KAA2C,GAO7G,CAAC;AAEF,eAAO,MAAM,yBAAyB,YAAa,MAAM,YAAW,YAAY,KAAuB,GAKtG,CAAC;AAEF,eAAO,MAAM,gBAAgB,eAAgB,SAAS,YAAW,gBAAgB,KAA2C,MAO3H,CAAC;AAWF,eAAO,MAAM,qBAAqB,YAAmB,MAAM,WAAW;IAAE,MAAM,EAAE,gBAAgB,CAAC;IAAC,QAAQ,CAAC,EAAE,MAAM,CAAA;CAAE,KAAG,QAAQ,GAAG,CAIlI,CAAC;AAEF,eAAO,MAAM,yBAAyB,eAAsB,GAAG,WAAW;IAAE,MAAM,EAAE,gBAAgB,CAAA;CAAE,KAAG,QAAQ,MAAM,CAGtH,CAAC;AAGF,eAAO,MAAM,eAAe,YAAa,MAAM,YAAW,YAAY,KAA2C,GAOhH,CAAC;AAEF,eAAO,MAAM,mBAAmB,kBAAmB,eAAe,eAAe,GAAG,YAAW,gBAAgB,KAA2C,MAOzJ,CAAC;AAGF,eAAO,MAAM,WAAW,YAAa,MAAM,YAAW,YAAY,KAA2C,GAO5G,CAAC;AAEF,eAAO,MAAM,eAAe,cAAe,GAAG,YAAW,gBAAgB,KAA2C,MAOnH,CAAC;AAGF,eAAO,MAAM,gBAAgB,YAAa,MAAM,YAAW,YAAY,KAA2C,GAOjH,CAAC;AAEF,eAAO,MAAM,oBAAoB,WAAY,gBAAgB,YAAW,gBAAgB,KAA2C,MAOlI,CAAC;AAEF,eAAO,MAAM,WAAW,YAAa,MAAM,KAAG,OAAO,MAAM,EAAE,MAAM,CAElE,CAAC;AAEF,OAAO,EAAE,eAAe,EAAE,CAAC;AAC3B,cAAc,SAAS,CAAC;AACxB,cAAc,aAAa,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,SAAS,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAqB3F,OAAO,eAAe,MAAM,WAAW,CAAC;AACxC,OAAO,EACL,YAAY,EACZ,gBAAgB,EAChB,gBAAgB,EACjB,MAAM,SAAS,CAAC;AAGjB,OAAO,EAAE,wBAAwB,EAAE,qBAAqB,EAAE,MAAM,8CAA8C,CAAC;AAG/G,eAAO,MAAM,YAAY,YAAa,MAAM,YAAW,YAAY,KAA2C,GAO7G,CAAC;AAEF,eAAO,MAAM,yBAAyB,YAAa,MAAM,YAAW,YAAY,KAAuB,GAKtG,CAAC;AAEF,eAAO,MAAM,gBAAgB,eAAgB,SAAS,YAAW,gBAAgB,KAA2C,MAO3H,CAAC;AAWF,eAAO,MAAM,qBAAqB,YAAmB,MAAM,WAAW;IAAE,MAAM,EAAE,gBAAgB,CAAC;IAAC,QAAQ,CAAC,EAAE,MAAM,CAAA;CAAE,KAAG,QAAQ,GAAG,CAIlI,CAAC;AAEF,eAAO,MAAM,yBAAyB,eAAsB,GAAG,WAAW;IAAE,MAAM,EAAE,gBAAgB,CAAA;CAAE,KAAG,QAAQ,MAAM,CAGtH,CAAC;AAGF,eAAO,MAAM,eAAe,YAAa,MAAM,YAAW,YAAY,KAA2C,GAOhH,CAAC;AAEF,eAAO,MAAM,mBAAmB,kBAAmB,eAAe,eAAe,GAAG,YAAW,gBAAgB,KAA2C,MAOzJ,CAAC;AAGF,eAAO,MAAM,WAAW,YAAa,MAAM,YAAW,YAAY,KAA2C,GAO5G,CAAC;AAEF,eAAO,MAAM,eAAe,cAAe,GAAG,YAAW,gBAAgB,KAA2C,MAOnH,CAAC;AAGF,eAAO,MAAM,gBAAgB,YAAa,MAAM,YAAW,YAAY,KAA2C,GAOjH,CAAC;AAEF,eAAO,MAAM,oBAAoB,WAAY,gBAAgB,YAAW,gBAAgB,KAA2C,MAOlI,CAAC;AAEF,eAAO,MAAM,WAAW,YAAa,MAAM,KAAG,OAAO,MAAM,EAAE,MAAM,CAElE,CAAC;AAEF,OAAO,EAAE,wBAAwB,EAAE,qBAAqB,EAAE,CAAC;AAC3D,YAAY,EAAE,aAAa,EAAE,eAAe,EAAE,MAAM,8CAA8C,CAAC;AACnG,OAAO,EAAE,gCAAgC,EAAE,MAAM,mCAAmC,CAAC;AAErF,OAAO,EAAE,eAAe,EAAE,CAAC;AAC3B,cAAc,SAAS,CAAC;AACxB,cAAc,aAAa,CAAC"}
package/dist/types.d.ts CHANGED
@@ -16,4 +16,10 @@ export interface WorkerTask {
16
16
  export interface Lane {
17
17
  maxSize: number;
18
18
  }
19
+ export interface BrunoPresetsExtension {
20
+ request?: {
21
+ type?: string;
22
+ url?: string;
23
+ };
24
+ }
19
25
  //# sourceMappingURL=types.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,gBAAgB,GAAG,KAAK,GAAG,KAAK,CAAC;AAE7C,MAAM,WAAW,YAAY;IAC3B,MAAM,CAAC,EAAE,gBAAgB,CAAC;CAC3B;AAED,MAAM,WAAW,gBAAgB;IAC/B,MAAM,CAAC,EAAE,gBAAgB,CAAC;CAC3B;AAED,MAAM,WAAW,UAAU;IACzB,IAAI,EAAE,GAAG,CAAC;IACV,QAAQ,EAAE,MAAM,CAAC;IACjB,UAAU,EAAE,MAAM,CAAC;IACnB,QAAQ,CAAC,EAAE,OAAO,GAAG,WAAW,CAAC;IACjC,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,GAAG,KAAK,IAAI,CAAC;IAC/B,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,EAAE,GAAG,KAAK,IAAI,CAAC;CACjC;AAED,MAAM,WAAW,IAAI;IACnB,OAAO,EAAE,MAAM,CAAC;CACjB"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,gBAAgB,GAAG,KAAK,GAAG,KAAK,CAAC;AAE7C,MAAM,WAAW,YAAY;IAC3B,MAAM,CAAC,EAAE,gBAAgB,CAAC;CAC3B;AAED,MAAM,WAAW,gBAAgB;IAC/B,MAAM,CAAC,EAAE,gBAAgB,CAAC;CAC3B;AAED,MAAM,WAAW,UAAU;IACzB,IAAI,EAAE,GAAG,CAAC;IACV,QAAQ,EAAE,MAAM,CAAC;IACjB,UAAU,EAAE,MAAM,CAAC;IACnB,QAAQ,CAAC,EAAE,OAAO,GAAG,WAAW,CAAC;IACjC,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,GAAG,KAAK,IAAI,CAAC;IAC/B,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,EAAE,GAAG,KAAK,IAAI,CAAC;CACjC;AAED,MAAM,WAAW,IAAI;IACnB,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,qBAAqB;IACpC,OAAO,CAAC,EAAE;QACR,IAAI,CAAC,EAAE,MAAM,CAAC;QACd,GAAG,CAAC,EAAE,MAAM,CAAC;KACd,CAAC;CACH"}
@@ -0,0 +1,38 @@
1
+ import type { Environment as BrunoEnvironment } from '@usebruno/schema-types/collection/environment';
2
+ type LegacySecretsJsonSecret = {
3
+ name?: string;
4
+ path?: string;
5
+ secretName?: string;
6
+ vaultName?: string;
7
+ enabled?: boolean;
8
+ };
9
+ export interface SecretsJsonData {
10
+ type?: string;
11
+ data?: {
12
+ environment: string;
13
+ type?: string;
14
+ secrets: LegacySecretsJsonSecret[];
15
+ }[];
16
+ cli?: {
17
+ type?: string;
18
+ };
19
+ }
20
+ export interface EnvironmentFileResult {
21
+ name: string;
22
+ environment: BrunoEnvironment;
23
+ changed: boolean;
24
+ }
25
+ /**
26
+ * Applies the secrets.json provider `type` to every environment's `externalSecrets`, moving each
27
+ * environment's matching secrets onto it. The provider type lands on every environment that
28
+ * doesn't already have `externalSecrets` — including ones with no matching secrets.json entry or
29
+ * only invalid secrets (those get the type with an empty `variables` list). Environments that
30
+ * already carry `externalSecrets` are returned unchanged, as is everything when no provider type
31
+ * can be resolved. Format-agnostic and pure; file IO is the caller's responsibility.
32
+ */
33
+ export declare const migrateSecretsJsonToEnvironments: ({ secretsJsonData, environments }: {
34
+ secretsJsonData: SecretsJsonData;
35
+ environments: BrunoEnvironment[];
36
+ }) => EnvironmentFileResult[];
37
+ export {};
38
+ //# sourceMappingURL=secretsJsonToEnvironments.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"secretsJsonToEnvironments.d.ts","sourceRoot":"","sources":["../../src/utils/secretsJsonToEnvironments.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,WAAW,IAAI,gBAAgB,EAMhC,MAAM,+CAA+C,CAAC;AAGvD,KAAK,uBAAuB,GAAG;IAC7B,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB,CAAC;AAEF,MAAM,WAAW,eAAe;IAC9B,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE;QAAE,WAAW,EAAE,MAAM,CAAC;QAAC,IAAI,CAAC,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,uBAAuB,EAAE,CAAA;KAAE,EAAE,CAAC;IACpF,GAAG,CAAC,EAAE;QAAE,IAAI,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;CACzB;AAED,MAAM,WAAW,qBAAqB;IACpC,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,gBAAgB,CAAC;IAC9B,OAAO,EAAE,OAAO,CAAC;CAClB;AA6DD;;;;;;;GAOG;AACH,eAAO,MAAM,gCAAgC;qBAI1B,eAAe;kBAClB,gBAAgB,EAAE;MAC9B,qBAAqB,EAyBxB,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@usebruno/filestore",
3
- "version": "0.10.0",
3
+ "version": "0.11.0",
4
4
  "license": "MIT",
5
5
  "main": "dist/cjs/index.js",
6
6
  "module": "dist/esm/index.js",
@@ -13,7 +13,7 @@
13
13
  "scripts": {
14
14
  "clean": "rimraf dist",
15
15
  "prebuild": "npm run clean",
16
- "build": "rollup -c && tsc --emitDeclarationOnly",
16
+ "build": "rollup -c && tsc --emitDeclarationOnly -p tsconfig.build.json",
17
17
  "watch": "rollup -c -w",
18
18
  "test": "jest",
19
19
  "test:watch": "jest --watch",
@@ -29,7 +29,8 @@
29
29
  "@types/jest": "^29.5.11",
30
30
  "@types/lodash": "^4.14.191",
31
31
  "@types/node": "^24.1.0",
32
- "@usebruno/schema-types": "0.6.0",
32
+ "@opencollection/types": "0.10.0",
33
+ "@usebruno/schema-types": "0.7.0",
33
34
  "babel-jest": "^29.7.0",
34
35
  "jest": "^29.2.0",
35
36
  "nanoid": "3.3.8",
@@ -45,9 +46,10 @@
45
46
  },
46
47
  "dependencies": {
47
48
  "@types/nanoid": "^2.1.0",
48
- "@usebruno/lang": "0.37.0",
49
+ "@usebruno/common": "0.24.0",
50
+ "@usebruno/lang": "0.38.0",
49
51
  "ajv": "^8.17.1",
50
- "lodash": "^4.17.21",
52
+ "lodash": "4.18.1",
51
53
  "yaml": "^2.3.4"
52
54
  }
53
55
  }
package/src/constants.ts CHANGED
@@ -1,3 +1,12 @@
1
1
  import type { CollectionFormat } from './types';
2
+ import type { ExternalSecretProviderType } from '@usebruno/schema-types/collection/environment';
2
3
 
3
4
  export const DEFAULT_COLLECTION_FORMAT: CollectionFormat = 'yml';
5
+
6
+ // Each provider type stores its secret reference under a different key.
7
+ export const SECRET_PROVIDER_IDENTIFIER_FIELDS: Record<ExternalSecretProviderType, 'path' | 'secretName' | 'vaultName'> = {
8
+ 'aws-secrets-manager': 'secretName',
9
+ 'azure-key-vault': 'vaultName',
10
+ 'hashicorp-vault-cloud': 'path',
11
+ 'hashicorp-vault-server': 'path'
12
+ };
@@ -8,11 +8,26 @@ import {
8
8
  jsonToCollectionBru as _jsonToCollectionBru
9
9
  } from '@usebruno/lang';
10
10
  import { getOauth2AdditionalParameters } from './utils/oauth2-additional-params';
11
+ import { uuid } from '../../utils';
11
12
 
12
13
  export const parseBruRequest = (data: string | any, parsed: boolean = false): any => {
13
14
  try {
14
15
  const json = parsed ? data : bruToJsonV2(data);
15
16
 
17
+ if (_.get(json, 'meta.type') === 'app') {
18
+ const seq = _.get(json, 'meta.seq');
19
+ const tags = _.get(json, 'meta.tags', []);
20
+ return {
21
+ type: 'app',
22
+ name: _.get(json, 'meta.name'),
23
+ seq: !_.isNaN(seq) ? Number(seq) : 1,
24
+ tags: Array.isArray(tags) ? tags : [],
25
+ settings: _.get(json, 'settings', {}),
26
+ app: { code: _.get(json, 'app.code', null) },
27
+ request: null
28
+ };
29
+ }
30
+
16
31
  let requestType = _.get(json, 'meta.type');
17
32
  switch (requestType) {
18
33
  case 'http':
@@ -38,11 +53,18 @@ export const parseBruRequest = (data: string | any, parsed: boolean = false): an
38
53
  'ws-request': 'ws.url',
39
54
  'default': 'http.url'
40
55
  };
56
+
57
+ const appData = _.get(json, 'app');
58
+ const app = appData
59
+ ? { code: _.get(appData, 'code', null), enabled: _.get(appData, 'enabled', false) === true }
60
+ : null;
61
+
41
62
  const transformedJson = {
42
63
  type: requestType,
43
64
  name: _.get(json, 'meta.name'),
44
65
  seq: !_.isNaN(sequence) ? Number(sequence) : 1,
45
66
  settings: _.get(json, 'settings', {}),
67
+ app,
46
68
  tags: Array.isArray(tags) ? tags : [],
47
69
  request: {
48
70
  // Preserving special characters in custom methods. Using _.upperCase strips special characters.
@@ -117,6 +139,22 @@ export const parseBruRequest = (data: string | any, parsed: boolean = false): an
117
139
 
118
140
  export const stringifyBruRequest = (json: any): string => {
119
141
  try {
142
+ // Standalone app item — emit only meta + the app code block.
143
+ if (_.get(json, 'type') === 'app') {
144
+ const seq = _.get(json, 'seq');
145
+ const bruJson: any = {
146
+ meta: {
147
+ name: _.get(json, 'name'),
148
+ type: 'app',
149
+ seq: !_.isNaN(seq) ? Number(seq) : 1,
150
+ tags: _.get(json, 'tags', [])
151
+ },
152
+ settings: _.get(json, 'settings', {}),
153
+ app: { code: _.get(json, 'app.code', '') }
154
+ };
155
+ return jsonToBruV2(bruJson);
156
+ }
157
+
120
158
  let type = _.get(json, 'type');
121
159
  switch (type) {
122
160
  case 'http-request':
@@ -221,6 +259,11 @@ export const stringifyBruRequest = (json: any): string => {
221
259
  bruJson.docs = _.get(json, 'request.docs', '');
222
260
  bruJson.examples = _.get(json, 'examples', []).map((e: any) => jsonExampleToBru(e));
223
261
 
262
+ const app = _.get(json, 'app');
263
+ if (app && (app.enabled === true || (app.code && app.code.length))) {
264
+ bruJson.app = { code: app.code || null, enabled: app.enabled === true };
265
+ }
266
+
224
267
  const bru = jsonToBruV2(bruJson);
225
268
  return bru;
226
269
  } catch (error) {
@@ -326,6 +369,15 @@ export const parseBruEnvironment = (bru: string): any => {
326
369
  _.each(json.variables, (v: any) => (v.type = 'text'));
327
370
  }
328
371
 
372
+ // bruToEnvJsonV2 emits the nested `externalSecrets: { type, variables: [{ name,
373
+ // <identifier>, enabled }] }`. The app/schema additionally expect a `uid` per variable.
374
+ if (json?.externalSecrets && Array.isArray(json.externalSecrets.variables)) {
375
+ json.externalSecrets.variables = json.externalSecrets.variables.map((v: any) => ({
376
+ uid: uuid(),
377
+ ...v
378
+ }));
379
+ }
380
+
329
381
  return json;
330
382
  } catch (error) {
331
383
  return Promise.reject(error);
@@ -0,0 +1,63 @@
1
+ const { parseBruEnvironment } = require('../index');
2
+
3
+ describe('parseBruEnvironment external secrets normalization', () => {
4
+ it('should normalize the external secrets block to the app shape with uid and enabled', () => {
5
+ const bru = `vars {
6
+ }
7
+ vars:externalsecrets:hashicorp-vault-server {
8
+ secret: secret/data/secret
9
+ password: secret/data/password
10
+ }
11
+ `;
12
+
13
+ const output = parseBruEnvironment(bru);
14
+
15
+ expect(output.externalSecrets.type).toBe('hashicorp-vault-server');
16
+ expect(output.externalSecrets.variables).toHaveLength(2);
17
+
18
+ output.externalSecrets.variables.forEach((variable) => {
19
+ expect(typeof variable.uid).toBe('string');
20
+ expect(variable.uid).toMatch(/^[a-zA-Z0-9]{21}$/);
21
+ expect(variable.enabled).toBe(true);
22
+ expect(variable).not.toHaveProperty('disabled');
23
+ });
24
+
25
+ expect(output.externalSecrets.variables.map(({ name, path, enabled }) => ({ name, path, enabled }))).toEqual([
26
+ { name: 'secret', path: 'secret/data/secret', enabled: true },
27
+ { name: 'password', path: 'secret/data/password', enabled: true }
28
+ ]);
29
+ });
30
+
31
+ it('should map a disabled external secret entry to enabled: false', () => {
32
+ const bru = `vars:externalsecrets:aws-secrets-manager {
33
+ active: my-active-secret
34
+ ~inactive: my-inactive-secret
35
+ }
36
+ `;
37
+
38
+ const output = parseBruEnvironment(bru);
39
+
40
+ expect(output.externalSecrets.type).toBe('aws-secrets-manager');
41
+ const variables = output.externalSecrets.variables;
42
+ expect(variables.map(({ name, secretName, enabled }) => ({ name, secretName, enabled }))).toEqual([
43
+ { name: 'active', secretName: 'my-active-secret', enabled: true },
44
+ { name: 'inactive', secretName: 'my-inactive-secret', enabled: false }
45
+ ]);
46
+ variables.forEach((variable) => {
47
+ expect(variable).not.toHaveProperty('disabled');
48
+ expect(variable.uid).toMatch(/^[a-zA-Z0-9]{21}$/);
49
+ });
50
+ });
51
+
52
+ it('should leave environments without external secrets unchanged', () => {
53
+ const bru = `vars {
54
+ host: localhost
55
+ }
56
+ `;
57
+
58
+ const output = parseBruEnvironment(bru);
59
+
60
+ expect(output.externalSecrets).toBeUndefined();
61
+ expect(output.variables).toEqual([{ name: 'host', value: 'localhost', enabled: true, secret: false, type: 'text' }]);
62
+ });
63
+ });