@slicemachine/manager 0.0.0-alpha.dev-new-release-process.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.
- package/README.md +85 -0
- package/dist/_node_modules/@msgpack/msgpack/dist.es5_esm/CachedKeyDecoder.cjs +68 -0
- package/dist/_node_modules/@msgpack/msgpack/dist.es5_esm/CachedKeyDecoder.cjs.map +1 -0
- package/dist/_node_modules/@msgpack/msgpack/dist.es5_esm/CachedKeyDecoder.js +68 -0
- package/dist/_node_modules/@msgpack/msgpack/dist.es5_esm/CachedKeyDecoder.js.map +1 -0
- package/dist/_node_modules/@msgpack/msgpack/dist.es5_esm/DecodeError.cjs +43 -0
- package/dist/_node_modules/@msgpack/msgpack/dist.es5_esm/DecodeError.cjs.map +1 -0
- package/dist/_node_modules/@msgpack/msgpack/dist.es5_esm/DecodeError.js +43 -0
- package/dist/_node_modules/@msgpack/msgpack/dist.es5_esm/DecodeError.js.map +1 -0
- package/dist/_node_modules/@msgpack/msgpack/dist.es5_esm/Decoder.cjs +804 -0
- package/dist/_node_modules/@msgpack/msgpack/dist.es5_esm/Decoder.cjs.map +1 -0
- package/dist/_node_modules/@msgpack/msgpack/dist.es5_esm/Decoder.js +804 -0
- package/dist/_node_modules/@msgpack/msgpack/dist.es5_esm/Decoder.js.map +1 -0
- package/dist/_node_modules/@msgpack/msgpack/dist.es5_esm/Encoder.cjs +354 -0
- package/dist/_node_modules/@msgpack/msgpack/dist.es5_esm/Encoder.cjs.map +1 -0
- package/dist/_node_modules/@msgpack/msgpack/dist.es5_esm/Encoder.js +354 -0
- package/dist/_node_modules/@msgpack/msgpack/dist.es5_esm/Encoder.js.map +1 -0
- package/dist/_node_modules/@msgpack/msgpack/dist.es5_esm/ExtData.cjs +14 -0
- package/dist/_node_modules/@msgpack/msgpack/dist.es5_esm/ExtData.cjs.map +1 -0
- package/dist/_node_modules/@msgpack/msgpack/dist.es5_esm/ExtData.js +14 -0
- package/dist/_node_modules/@msgpack/msgpack/dist.es5_esm/ExtData.js.map +1 -0
- package/dist/_node_modules/@msgpack/msgpack/dist.es5_esm/ExtensionCodec.cjs +65 -0
- package/dist/_node_modules/@msgpack/msgpack/dist.es5_esm/ExtensionCodec.cjs.map +1 -0
- package/dist/_node_modules/@msgpack/msgpack/dist.es5_esm/ExtensionCodec.js +65 -0
- package/dist/_node_modules/@msgpack/msgpack/dist.es5_esm/ExtensionCodec.js.map +1 -0
- package/dist/_node_modules/@msgpack/msgpack/dist.es5_esm/decode.cjs +14 -0
- package/dist/_node_modules/@msgpack/msgpack/dist.es5_esm/decode.cjs.map +1 -0
- package/dist/_node_modules/@msgpack/msgpack/dist.es5_esm/decode.js +14 -0
- package/dist/_node_modules/@msgpack/msgpack/dist.es5_esm/decode.js.map +1 -0
- package/dist/_node_modules/@msgpack/msgpack/dist.es5_esm/encode.cjs +13 -0
- package/dist/_node_modules/@msgpack/msgpack/dist.es5_esm/encode.cjs.map +1 -0
- package/dist/_node_modules/@msgpack/msgpack/dist.es5_esm/encode.js +13 -0
- package/dist/_node_modules/@msgpack/msgpack/dist.es5_esm/encode.js.map +1 -0
- package/dist/_node_modules/@msgpack/msgpack/dist.es5_esm/timestamp.cjs +91 -0
- package/dist/_node_modules/@msgpack/msgpack/dist.es5_esm/timestamp.cjs.map +1 -0
- package/dist/_node_modules/@msgpack/msgpack/dist.es5_esm/timestamp.js +91 -0
- package/dist/_node_modules/@msgpack/msgpack/dist.es5_esm/timestamp.js.map +1 -0
- package/dist/_node_modules/@msgpack/msgpack/dist.es5_esm/utils/int.cjs +31 -0
- package/dist/_node_modules/@msgpack/msgpack/dist.es5_esm/utils/int.cjs.map +1 -0
- package/dist/_node_modules/@msgpack/msgpack/dist.es5_esm/utils/int.js +31 -0
- package/dist/_node_modules/@msgpack/msgpack/dist.es5_esm/utils/int.js.map +1 -0
- package/dist/_node_modules/@msgpack/msgpack/dist.es5_esm/utils/prettyByte.cjs +7 -0
- package/dist/_node_modules/@msgpack/msgpack/dist.es5_esm/utils/prettyByte.cjs.map +1 -0
- package/dist/_node_modules/@msgpack/msgpack/dist.es5_esm/utils/prettyByte.js +7 -0
- package/dist/_node_modules/@msgpack/msgpack/dist.es5_esm/utils/prettyByte.js.map +1 -0
- package/dist/_node_modules/@msgpack/msgpack/dist.es5_esm/utils/typedArrays.cjs +23 -0
- package/dist/_node_modules/@msgpack/msgpack/dist.es5_esm/utils/typedArrays.cjs.map +1 -0
- package/dist/_node_modules/@msgpack/msgpack/dist.es5_esm/utils/typedArrays.js +23 -0
- package/dist/_node_modules/@msgpack/msgpack/dist.es5_esm/utils/typedArrays.js.map +1 -0
- package/dist/_node_modules/@msgpack/msgpack/dist.es5_esm/utils/utf8.cjs +132 -0
- package/dist/_node_modules/@msgpack/msgpack/dist.es5_esm/utils/utf8.cjs.map +1 -0
- package/dist/_node_modules/@msgpack/msgpack/dist.es5_esm/utils/utf8.js +132 -0
- package/dist/_node_modules/@msgpack/msgpack/dist.es5_esm/utils/utf8.js.map +1 -0
- package/dist/_node_modules/common-tags/es/TemplateTag/TemplateTag.cjs +135 -0
- package/dist/_node_modules/common-tags/es/TemplateTag/TemplateTag.cjs.map +1 -0
- package/dist/_node_modules/common-tags/es/TemplateTag/TemplateTag.js +136 -0
- package/dist/_node_modules/common-tags/es/TemplateTag/TemplateTag.js.map +1 -0
- package/dist/_node_modules/common-tags/es/commaLists/commaLists.cjs +7 -0
- package/dist/_node_modules/common-tags/es/commaLists/commaLists.cjs.map +1 -0
- package/dist/_node_modules/common-tags/es/commaLists/commaLists.js +6 -0
- package/dist/_node_modules/common-tags/es/commaLists/commaLists.js.map +1 -0
- package/dist/_node_modules/common-tags/es/commaListsAnd/commaListsAnd.cjs +7 -0
- package/dist/_node_modules/common-tags/es/commaListsAnd/commaListsAnd.cjs.map +1 -0
- package/dist/_node_modules/common-tags/es/commaListsAnd/commaListsAnd.js +6 -0
- package/dist/_node_modules/common-tags/es/commaListsAnd/commaListsAnd.js.map +1 -0
- package/dist/_node_modules/common-tags/es/commaListsOr/commaListsOr.cjs +7 -0
- package/dist/_node_modules/common-tags/es/commaListsOr/commaListsOr.cjs.map +1 -0
- package/dist/_node_modules/common-tags/es/commaListsOr/commaListsOr.js +6 -0
- package/dist/_node_modules/common-tags/es/commaListsOr/commaListsOr.js.map +1 -0
- package/dist/_node_modules/common-tags/es/html/html.cjs +9 -0
- package/dist/_node_modules/common-tags/es/html/html.cjs.map +1 -0
- package/dist/_node_modules/common-tags/es/html/html.js +8 -0
- package/dist/_node_modules/common-tags/es/html/html.js.map +1 -0
- package/dist/_node_modules/common-tags/es/inlineArrayTransformer/inlineArrayTransformer.cjs +32 -0
- package/dist/_node_modules/common-tags/es/inlineArrayTransformer/inlineArrayTransformer.cjs.map +1 -0
- package/dist/_node_modules/common-tags/es/inlineArrayTransformer/inlineArrayTransformer.js +33 -0
- package/dist/_node_modules/common-tags/es/inlineArrayTransformer/inlineArrayTransformer.js.map +1 -0
- package/dist/_node_modules/common-tags/es/inlineLists/inlineLists.cjs +7 -0
- package/dist/_node_modules/common-tags/es/inlineLists/inlineLists.cjs.map +1 -0
- package/dist/_node_modules/common-tags/es/inlineLists/inlineLists.js +6 -0
- package/dist/_node_modules/common-tags/es/inlineLists/inlineLists.js.map +1 -0
- package/dist/_node_modules/common-tags/es/oneLine/oneLine.cjs +6 -0
- package/dist/_node_modules/common-tags/es/oneLine/oneLine.cjs.map +1 -0
- package/dist/_node_modules/common-tags/es/oneLine/oneLine.js +5 -0
- package/dist/_node_modules/common-tags/es/oneLine/oneLine.js.map +1 -0
- package/dist/_node_modules/common-tags/es/oneLineCommaLists/oneLineCommaLists.cjs +7 -0
- package/dist/_node_modules/common-tags/es/oneLineCommaLists/oneLineCommaLists.cjs.map +1 -0
- package/dist/_node_modules/common-tags/es/oneLineCommaLists/oneLineCommaLists.js +6 -0
- package/dist/_node_modules/common-tags/es/oneLineCommaLists/oneLineCommaLists.js.map +1 -0
- package/dist/_node_modules/common-tags/es/oneLineCommaListsAnd/oneLineCommaListsAnd.cjs +7 -0
- package/dist/_node_modules/common-tags/es/oneLineCommaListsAnd/oneLineCommaListsAnd.cjs.map +1 -0
- package/dist/_node_modules/common-tags/es/oneLineCommaListsAnd/oneLineCommaListsAnd.js +6 -0
- package/dist/_node_modules/common-tags/es/oneLineCommaListsAnd/oneLineCommaListsAnd.js.map +1 -0
- package/dist/_node_modules/common-tags/es/oneLineCommaListsOr/oneLineCommaListsOr.cjs +7 -0
- package/dist/_node_modules/common-tags/es/oneLineCommaListsOr/oneLineCommaListsOr.cjs.map +1 -0
- package/dist/_node_modules/common-tags/es/oneLineCommaListsOr/oneLineCommaListsOr.js +6 -0
- package/dist/_node_modules/common-tags/es/oneLineCommaListsOr/oneLineCommaListsOr.js.map +1 -0
- package/dist/_node_modules/common-tags/es/oneLineInlineLists/oneLineInlineLists.cjs +7 -0
- package/dist/_node_modules/common-tags/es/oneLineInlineLists/oneLineInlineLists.cjs.map +1 -0
- package/dist/_node_modules/common-tags/es/oneLineInlineLists/oneLineInlineLists.js +6 -0
- package/dist/_node_modules/common-tags/es/oneLineInlineLists/oneLineInlineLists.js.map +1 -0
- package/dist/_node_modules/common-tags/es/oneLineTrim/oneLineTrim.cjs +6 -0
- package/dist/_node_modules/common-tags/es/oneLineTrim/oneLineTrim.cjs.map +1 -0
- package/dist/_node_modules/common-tags/es/oneLineTrim/oneLineTrim.js +5 -0
- package/dist/_node_modules/common-tags/es/oneLineTrim/oneLineTrim.js.map +1 -0
- package/dist/_node_modules/common-tags/es/removeNonPrintingValuesTransformer/removeNonPrintingValuesTransformer.cjs +19 -0
- package/dist/_node_modules/common-tags/es/removeNonPrintingValuesTransformer/removeNonPrintingValuesTransformer.cjs.map +1 -0
- package/dist/_node_modules/common-tags/es/removeNonPrintingValuesTransformer/removeNonPrintingValuesTransformer.js +20 -0
- package/dist/_node_modules/common-tags/es/removeNonPrintingValuesTransformer/removeNonPrintingValuesTransformer.js.map +1 -0
- package/dist/_node_modules/common-tags/es/replaceResultTransformer/replaceResultTransformer.cjs +13 -0
- package/dist/_node_modules/common-tags/es/replaceResultTransformer/replaceResultTransformer.cjs.map +1 -0
- package/dist/_node_modules/common-tags/es/replaceResultTransformer/replaceResultTransformer.js +14 -0
- package/dist/_node_modules/common-tags/es/replaceResultTransformer/replaceResultTransformer.js.map +1 -0
- package/dist/_node_modules/common-tags/es/replaceSubstitutionTransformer/replaceSubstitutionTransformer.cjs +17 -0
- package/dist/_node_modules/common-tags/es/replaceSubstitutionTransformer/replaceSubstitutionTransformer.cjs.map +1 -0
- package/dist/_node_modules/common-tags/es/replaceSubstitutionTransformer/replaceSubstitutionTransformer.js +18 -0
- package/dist/_node_modules/common-tags/es/replaceSubstitutionTransformer/replaceSubstitutionTransformer.js.map +1 -0
- package/dist/_node_modules/common-tags/es/safeHtml/safeHtml.cjs +9 -0
- package/dist/_node_modules/common-tags/es/safeHtml/safeHtml.cjs.map +1 -0
- package/dist/_node_modules/common-tags/es/safeHtml/safeHtml.js +8 -0
- package/dist/_node_modules/common-tags/es/safeHtml/safeHtml.js.map +1 -0
- package/dist/_node_modules/common-tags/es/splitStringTransformer/splitStringTransformer.cjs +17 -0
- package/dist/_node_modules/common-tags/es/splitStringTransformer/splitStringTransformer.cjs.map +1 -0
- package/dist/_node_modules/common-tags/es/splitStringTransformer/splitStringTransformer.js +18 -0
- package/dist/_node_modules/common-tags/es/splitStringTransformer/splitStringTransformer.js.map +1 -0
- package/dist/_node_modules/common-tags/es/stripIndent/stripIndent.cjs +8 -0
- package/dist/_node_modules/common-tags/es/stripIndent/stripIndent.cjs.map +1 -0
- package/dist/_node_modules/common-tags/es/stripIndent/stripIndent.js +9 -0
- package/dist/_node_modules/common-tags/es/stripIndent/stripIndent.js.map +1 -0
- package/dist/_node_modules/common-tags/es/stripIndentTransformer/stripIndentTransformer.cjs +35 -0
- package/dist/_node_modules/common-tags/es/stripIndentTransformer/stripIndentTransformer.cjs.map +1 -0
- package/dist/_node_modules/common-tags/es/stripIndentTransformer/stripIndentTransformer.js +36 -0
- package/dist/_node_modules/common-tags/es/stripIndentTransformer/stripIndentTransformer.js.map +1 -0
- package/dist/_node_modules/common-tags/es/stripIndents/stripIndents.cjs +6 -0
- package/dist/_node_modules/common-tags/es/stripIndents/stripIndents.cjs.map +1 -0
- package/dist/_node_modules/common-tags/es/stripIndents/stripIndents.js +5 -0
- package/dist/_node_modules/common-tags/es/stripIndents/stripIndents.js.map +1 -0
- package/dist/_node_modules/common-tags/es/trimResultTransformer/trimResultTransformer.cjs +21 -0
- package/dist/_node_modules/common-tags/es/trimResultTransformer/trimResultTransformer.cjs.map +1 -0
- package/dist/_node_modules/common-tags/es/trimResultTransformer/trimResultTransformer.js +22 -0
- package/dist/_node_modules/common-tags/es/trimResultTransformer/trimResultTransformer.js.map +1 -0
- package/dist/_node_modules/cross-spawn/index.cjs +30 -0
- package/dist/_node_modules/cross-spawn/index.cjs.map +1 -0
- package/dist/_node_modules/cross-spawn/index.js +31 -0
- package/dist/_node_modules/cross-spawn/index.js.map +1 -0
- package/dist/_node_modules/cross-spawn/lib/enoent.cjs +47 -0
- package/dist/_node_modules/cross-spawn/lib/enoent.cjs.map +1 -0
- package/dist/_node_modules/cross-spawn/lib/enoent.js +47 -0
- package/dist/_node_modules/cross-spawn/lib/enoent.js.map +1 -0
- package/dist/_node_modules/cross-spawn/lib/parse.cjs +64 -0
- package/dist/_node_modules/cross-spawn/lib/parse.cjs.map +1 -0
- package/dist/_node_modules/cross-spawn/lib/parse.js +64 -0
- package/dist/_node_modules/cross-spawn/lib/parse.js.map +1 -0
- package/dist/_node_modules/cross-spawn/lib/util/escape.cjs +22 -0
- package/dist/_node_modules/cross-spawn/lib/util/escape.cjs.map +1 -0
- package/dist/_node_modules/cross-spawn/lib/util/escape.js +23 -0
- package/dist/_node_modules/cross-spawn/lib/util/escape.js.map +1 -0
- package/dist/_node_modules/cross-spawn/lib/util/readShebang.cjs +21 -0
- package/dist/_node_modules/cross-spawn/lib/util/readShebang.cjs.map +1 -0
- package/dist/_node_modules/cross-spawn/lib/util/readShebang.js +21 -0
- package/dist/_node_modules/cross-spawn/lib/util/readShebang.js.map +1 -0
- package/dist/_node_modules/cross-spawn/lib/util/resolveCommand.cjs +42 -0
- package/dist/_node_modules/cross-spawn/lib/util/resolveCommand.cjs.map +1 -0
- package/dist/_node_modules/cross-spawn/lib/util/resolveCommand.js +42 -0
- package/dist/_node_modules/cross-spawn/lib/util/resolveCommand.js.map +1 -0
- package/dist/_node_modules/data-uri-to-buffer/dist/index.cjs +41 -0
- package/dist/_node_modules/data-uri-to-buffer/dist/index.cjs.map +1 -0
- package/dist/_node_modules/data-uri-to-buffer/dist/index.js +41 -0
- package/dist/_node_modules/data-uri-to-buffer/dist/index.js.map +1 -0
- package/dist/_node_modules/execa/_node_modules/get-stream/buffer-stream.cjs +43 -0
- package/dist/_node_modules/execa/_node_modules/get-stream/buffer-stream.cjs.map +1 -0
- package/dist/_node_modules/execa/_node_modules/get-stream/buffer-stream.js +43 -0
- package/dist/_node_modules/execa/_node_modules/get-stream/buffer-stream.js.map +1 -0
- package/dist/_node_modules/execa/_node_modules/get-stream/index.cjs +59 -0
- package/dist/_node_modules/execa/_node_modules/get-stream/index.cjs.map +1 -0
- package/dist/_node_modules/execa/_node_modules/get-stream/index.js +60 -0
- package/dist/_node_modules/execa/_node_modules/get-stream/index.js.map +1 -0
- package/dist/_node_modules/execa/_node_modules/human-signals/build/src/core.cjs +275 -0
- package/dist/_node_modules/execa/_node_modules/human-signals/build/src/core.cjs.map +1 -0
- package/dist/_node_modules/execa/_node_modules/human-signals/build/src/core.js +275 -0
- package/dist/_node_modules/execa/_node_modules/human-signals/build/src/core.js.map +1 -0
- package/dist/_node_modules/execa/_node_modules/human-signals/build/src/main.cjs +53 -0
- package/dist/_node_modules/execa/_node_modules/human-signals/build/src/main.cjs.map +1 -0
- package/dist/_node_modules/execa/_node_modules/human-signals/build/src/main.js +53 -0
- package/dist/_node_modules/execa/_node_modules/human-signals/build/src/main.js.map +1 -0
- package/dist/_node_modules/execa/_node_modules/human-signals/build/src/realtime.cjs +18 -0
- package/dist/_node_modules/execa/_node_modules/human-signals/build/src/realtime.cjs.map +1 -0
- package/dist/_node_modules/execa/_node_modules/human-signals/build/src/realtime.js +18 -0
- package/dist/_node_modules/execa/_node_modules/human-signals/build/src/realtime.js.map +1 -0
- package/dist/_node_modules/execa/_node_modules/human-signals/build/src/signals.cjs +27 -0
- package/dist/_node_modules/execa/_node_modules/human-signals/build/src/signals.cjs.map +1 -0
- package/dist/_node_modules/execa/_node_modules/human-signals/build/src/signals.js +27 -0
- package/dist/_node_modules/execa/_node_modules/human-signals/build/src/signals.js.map +1 -0
- package/dist/_node_modules/execa/_node_modules/is-stream/index.cjs +11 -0
- package/dist/_node_modules/execa/_node_modules/is-stream/index.cjs.map +1 -0
- package/dist/_node_modules/execa/_node_modules/is-stream/index.js +11 -0
- package/dist/_node_modules/execa/_node_modules/is-stream/index.js.map +1 -0
- package/dist/_node_modules/execa/_node_modules/mimic-fn/index.cjs +46 -0
- package/dist/_node_modules/execa/_node_modules/mimic-fn/index.cjs.map +1 -0
- package/dist/_node_modules/execa/_node_modules/mimic-fn/index.js +47 -0
- package/dist/_node_modules/execa/_node_modules/mimic-fn/index.js.map +1 -0
- package/dist/_node_modules/execa/_node_modules/npm-run-path/index.cjs +34 -0
- package/dist/_node_modules/execa/_node_modules/npm-run-path/index.cjs.map +1 -0
- package/dist/_node_modules/execa/_node_modules/npm-run-path/index.js +34 -0
- package/dist/_node_modules/execa/_node_modules/npm-run-path/index.js.map +1 -0
- package/dist/_node_modules/execa/_node_modules/onetime/index.cjs +32 -0
- package/dist/_node_modules/execa/_node_modules/onetime/index.cjs.map +1 -0
- package/dist/_node_modules/execa/_node_modules/onetime/index.js +33 -0
- package/dist/_node_modules/execa/_node_modules/onetime/index.js.map +1 -0
- package/dist/_node_modules/execa/_node_modules/path-key/index.cjs +13 -0
- package/dist/_node_modules/execa/_node_modules/path-key/index.cjs.map +1 -0
- package/dist/_node_modules/execa/_node_modules/path-key/index.js +14 -0
- package/dist/_node_modules/execa/_node_modules/path-key/index.js.map +1 -0
- package/dist/_node_modules/execa/_node_modules/strip-final-newline/index.cjs +14 -0
- package/dist/_node_modules/execa/_node_modules/strip-final-newline/index.cjs.map +1 -0
- package/dist/_node_modules/execa/_node_modules/strip-final-newline/index.js +15 -0
- package/dist/_node_modules/execa/_node_modules/strip-final-newline/index.js.map +1 -0
- package/dist/_node_modules/execa/index.cjs +147 -0
- package/dist/_node_modules/execa/index.cjs.map +1 -0
- package/dist/_node_modules/execa/index.js +147 -0
- package/dist/_node_modules/execa/index.js.map +1 -0
- package/dist/_node_modules/execa/lib/command.cjs +37 -0
- package/dist/_node_modules/execa/lib/command.cjs.map +1 -0
- package/dist/_node_modules/execa/lib/command.js +37 -0
- package/dist/_node_modules/execa/lib/command.js.map +1 -0
- package/dist/_node_modules/execa/lib/error.cjs +73 -0
- package/dist/_node_modules/execa/lib/error.cjs.map +1 -0
- package/dist/_node_modules/execa/lib/error.js +73 -0
- package/dist/_node_modules/execa/lib/error.js.map +1 -0
- package/dist/_node_modules/execa/lib/kill.cjs +80 -0
- package/dist/_node_modules/execa/lib/kill.cjs.map +1 -0
- package/dist/_node_modules/execa/lib/kill.js +80 -0
- package/dist/_node_modules/execa/lib/kill.js.map +1 -0
- package/dist/_node_modules/execa/lib/pipe.cjs +37 -0
- package/dist/_node_modules/execa/lib/pipe.cjs.map +1 -0
- package/dist/_node_modules/execa/lib/pipe.js +37 -0
- package/dist/_node_modules/execa/lib/pipe.js.map +1 -0
- package/dist/_node_modules/execa/lib/promise.cjs +30 -0
- package/dist/_node_modules/execa/lib/promise.cjs.map +1 -0
- package/dist/_node_modules/execa/lib/promise.js +30 -0
- package/dist/_node_modules/execa/lib/promise.js.map +1 -0
- package/dist/_node_modules/execa/lib/stdio.cjs +26 -0
- package/dist/_node_modules/execa/lib/stdio.cjs.map +1 -0
- package/dist/_node_modules/execa/lib/stdio.js +26 -0
- package/dist/_node_modules/execa/lib/stdio.js.map +1 -0
- package/dist/_node_modules/execa/lib/stream.cjs +81 -0
- package/dist/_node_modules/execa/lib/stream.cjs.map +1 -0
- package/dist/_node_modules/execa/lib/stream.js +81 -0
- package/dist/_node_modules/execa/lib/stream.js.map +1 -0
- package/dist/_node_modules/execa/lib/verbose.cjs +20 -0
- package/dist/_node_modules/execa/lib/verbose.cjs.map +1 -0
- package/dist/_node_modules/execa/lib/verbose.js +20 -0
- package/dist/_node_modules/execa/lib/verbose.js.map +1 -0
- package/dist/_node_modules/fetch-blob/file.cjs +61 -0
- package/dist/_node_modules/fetch-blob/file.cjs.map +1 -0
- package/dist/_node_modules/fetch-blob/file.js +61 -0
- package/dist/_node_modules/fetch-blob/file.js.map +1 -0
- package/dist/_node_modules/fetch-blob/index.cjs +223 -0
- package/dist/_node_modules/fetch-blob/index.cjs.map +1 -0
- package/dist/_node_modules/fetch-blob/index.js +223 -0
- package/dist/_node_modules/fetch-blob/index.js.map +1 -0
- package/dist/_node_modules/fetch-blob/streams.cjs +43 -0
- package/dist/_node_modules/fetch-blob/streams.cjs.map +1 -0
- package/dist/_node_modules/fetch-blob/streams.js +42 -0
- package/dist/_node_modules/fetch-blob/streams.js.map +1 -0
- package/dist/_node_modules/file-type/core.cjs +1234 -0
- package/dist/_node_modules/file-type/core.cjs.map +1 -0
- package/dist/_node_modules/file-type/core.js +1234 -0
- package/dist/_node_modules/file-type/core.js.map +1 -0
- package/dist/_node_modules/file-type/supported.cjs +308 -0
- package/dist/_node_modules/file-type/supported.cjs.map +1 -0
- package/dist/_node_modules/file-type/supported.js +308 -0
- package/dist/_node_modules/file-type/supported.js.map +1 -0
- package/dist/_node_modules/file-type/util.cjs +27 -0
- package/dist/_node_modules/file-type/util.cjs.map +1 -0
- package/dist/_node_modules/file-type/util.js +27 -0
- package/dist/_node_modules/file-type/util.js.map +1 -0
- package/dist/_node_modules/formdata-polyfill/esm.min.cjs +116 -0
- package/dist/_node_modules/formdata-polyfill/esm.min.cjs.map +1 -0
- package/dist/_node_modules/formdata-polyfill/esm.min.js +116 -0
- package/dist/_node_modules/formdata-polyfill/esm.min.js.map +1 -0
- package/dist/_node_modules/fp-ts/es6/Either.cjs +18 -0
- package/dist/_node_modules/fp-ts/es6/Either.cjs.map +1 -0
- package/dist/_node_modules/fp-ts/es6/Either.js +18 -0
- package/dist/_node_modules/fp-ts/es6/Either.js.map +1 -0
- package/dist/_node_modules/fp-ts/es6/function.cjs +44 -0
- package/dist/_node_modules/fp-ts/es6/function.cjs.map +1 -0
- package/dist/_node_modules/fp-ts/es6/function.js +44 -0
- package/dist/_node_modules/fp-ts/es6/function.js.map +1 -0
- package/dist/_node_modules/fp-ts/es6/internal.cjs +18 -0
- package/dist/_node_modules/fp-ts/es6/internal.cjs.map +1 -0
- package/dist/_node_modules/fp-ts/es6/internal.js +18 -0
- package/dist/_node_modules/fp-ts/es6/internal.js.map +1 -0
- package/dist/_node_modules/get-port/index.cjs +113 -0
- package/dist/_node_modules/get-port/index.cjs.map +1 -0
- package/dist/_node_modules/get-port/index.js +114 -0
- package/dist/_node_modules/get-port/index.js.map +1 -0
- package/dist/_node_modules/isexe/index.cjs +56 -0
- package/dist/_node_modules/isexe/index.cjs.map +1 -0
- package/dist/_node_modules/isexe/index.js +56 -0
- package/dist/_node_modules/isexe/index.js.map +1 -0
- package/dist/_node_modules/isexe/mode.cjs +40 -0
- package/dist/_node_modules/isexe/mode.cjs.map +1 -0
- package/dist/_node_modules/isexe/mode.js +40 -0
- package/dist/_node_modules/isexe/mode.js.map +1 -0
- package/dist/_node_modules/isexe/windows.cjs +47 -0
- package/dist/_node_modules/isexe/windows.cjs.map +1 -0
- package/dist/_node_modules/isexe/windows.js +47 -0
- package/dist/_node_modules/isexe/windows.js.map +1 -0
- package/dist/_node_modules/merge-stream/index.cjs +39 -0
- package/dist/_node_modules/merge-stream/index.cjs.map +1 -0
- package/dist/_node_modules/merge-stream/index.js +40 -0
- package/dist/_node_modules/merge-stream/index.js.map +1 -0
- package/dist/_node_modules/node-domexception/index.cjs +11 -0
- package/dist/_node_modules/node-domexception/index.cjs.map +1 -0
- package/dist/_node_modules/node-domexception/index.js +10 -0
- package/dist/_node_modules/node-domexception/index.js.map +1 -0
- package/dist/_node_modules/node-fetch/src/body.cjs +262 -0
- package/dist/_node_modules/node-fetch/src/body.cjs.map +1 -0
- package/dist/_node_modules/node-fetch/src/body.js +262 -0
- package/dist/_node_modules/node-fetch/src/body.js.map +1 -0
- package/dist/_node_modules/node-fetch/src/errors/abort-error.cjs +10 -0
- package/dist/_node_modules/node-fetch/src/errors/abort-error.cjs.map +1 -0
- package/dist/_node_modules/node-fetch/src/errors/abort-error.js +10 -0
- package/dist/_node_modules/node-fetch/src/errors/abort-error.js.map +1 -0
- package/dist/_node_modules/node-fetch/src/errors/base.cjs +17 -0
- package/dist/_node_modules/node-fetch/src/errors/base.cjs.map +1 -0
- package/dist/_node_modules/node-fetch/src/errors/base.js +17 -0
- package/dist/_node_modules/node-fetch/src/errors/base.js.map +1 -0
- package/dist/_node_modules/node-fetch/src/errors/fetch-error.cjs +19 -0
- package/dist/_node_modules/node-fetch/src/errors/fetch-error.cjs.map +1 -0
- package/dist/_node_modules/node-fetch/src/errors/fetch-error.js +19 -0
- package/dist/_node_modules/node-fetch/src/errors/fetch-error.js.map +1 -0
- package/dist/_node_modules/node-fetch/src/headers.cjs +190 -0
- package/dist/_node_modules/node-fetch/src/headers.cjs.map +1 -0
- package/dist/_node_modules/node-fetch/src/headers.js +190 -0
- package/dist/_node_modules/node-fetch/src/headers.js.map +1 -0
- package/dist/_node_modules/node-fetch/src/index.cjs +292 -0
- package/dist/_node_modules/node-fetch/src/index.cjs.map +1 -0
- package/dist/_node_modules/node-fetch/src/index.js +292 -0
- package/dist/_node_modules/node-fetch/src/index.js.map +1 -0
- package/dist/_node_modules/node-fetch/src/request.cjs +206 -0
- package/dist/_node_modules/node-fetch/src/request.cjs.map +1 -0
- package/dist/_node_modules/node-fetch/src/request.js +206 -0
- package/dist/_node_modules/node-fetch/src/request.js.map +1 -0
- package/dist/_node_modules/node-fetch/src/response.cjs +122 -0
- package/dist/_node_modules/node-fetch/src/response.cjs.map +1 -0
- package/dist/_node_modules/node-fetch/src/response.js +123 -0
- package/dist/_node_modules/node-fetch/src/response.js.map +1 -0
- package/dist/_node_modules/node-fetch/src/utils/get-search.cjs +12 -0
- package/dist/_node_modules/node-fetch/src/utils/get-search.cjs.map +1 -0
- package/dist/_node_modules/node-fetch/src/utils/get-search.js +12 -0
- package/dist/_node_modules/node-fetch/src/utils/get-search.js.map +1 -0
- package/dist/_node_modules/node-fetch/src/utils/is-redirect.cjs +8 -0
- package/dist/_node_modules/node-fetch/src/utils/is-redirect.cjs.map +1 -0
- package/dist/_node_modules/node-fetch/src/utils/is-redirect.js +8 -0
- package/dist/_node_modules/node-fetch/src/utils/is-redirect.js.map +1 -0
- package/dist/_node_modules/node-fetch/src/utils/is.cjs +28 -0
- package/dist/_node_modules/node-fetch/src/utils/is.cjs.map +1 -0
- package/dist/_node_modules/node-fetch/src/utils/is.js +28 -0
- package/dist/_node_modules/node-fetch/src/utils/is.js.map +1 -0
- package/dist/_node_modules/node-fetch/src/utils/multipart-parser.cjs +356 -0
- package/dist/_node_modules/node-fetch/src/utils/multipart-parser.cjs.map +1 -0
- package/dist/_node_modules/node-fetch/src/utils/multipart-parser.js +356 -0
- package/dist/_node_modules/node-fetch/src/utils/multipart-parser.js.map +1 -0
- package/dist/_node_modules/node-fetch/src/utils/referrer.cjs +149 -0
- package/dist/_node_modules/node-fetch/src/utils/referrer.cjs.map +1 -0
- package/dist/_node_modules/node-fetch/src/utils/referrer.js +149 -0
- package/dist/_node_modules/node-fetch/src/utils/referrer.js.map +1 -0
- package/dist/_node_modules/p-limit/_node_modules/yocto-queue/index.cjs +89 -0
- package/dist/_node_modules/p-limit/_node_modules/yocto-queue/index.cjs.map +1 -0
- package/dist/_node_modules/p-limit/_node_modules/yocto-queue/index.js +90 -0
- package/dist/_node_modules/p-limit/_node_modules/yocto-queue/index.js.map +1 -0
- package/dist/_node_modules/p-limit/index.cjs +53 -0
- package/dist/_node_modules/p-limit/index.cjs.map +1 -0
- package/dist/_node_modules/p-limit/index.js +54 -0
- package/dist/_node_modules/p-limit/index.js.map +1 -0
- package/dist/_node_modules/path-key/index.cjs +16 -0
- package/dist/_node_modules/path-key/index.cjs.map +1 -0
- package/dist/_node_modules/path-key/index.js +16 -0
- package/dist/_node_modules/path-key/index.js.map +1 -0
- package/dist/_node_modules/peek-readable/lib/EndOfFileStream.cjs +11 -0
- package/dist/_node_modules/peek-readable/lib/EndOfFileStream.cjs.map +1 -0
- package/dist/_node_modules/peek-readable/lib/EndOfFileStream.js +11 -0
- package/dist/_node_modules/peek-readable/lib/EndOfFileStream.js.map +1 -0
- package/dist/_node_modules/r19/dist/R19Error.cjs +25 -0
- package/dist/_node_modules/r19/dist/R19Error.cjs.map +1 -0
- package/dist/_node_modules/r19/dist/R19Error.js +25 -0
- package/dist/_node_modules/r19/dist/R19Error.js.map +1 -0
- package/dist/_node_modules/r19/dist/client/createRPCClient.cjs +90 -0
- package/dist/_node_modules/r19/dist/client/createRPCClient.cjs.map +1 -0
- package/dist/_node_modules/r19/dist/client/createRPCClient.js +90 -0
- package/dist/_node_modules/r19/dist/client/createRPCClient.js.map +1 -0
- package/dist/_node_modules/r19/dist/createRPCMiddleware.cjs +36 -0
- package/dist/_node_modules/r19/dist/createRPCMiddleware.cjs.map +1 -0
- package/dist/_node_modules/r19/dist/createRPCMiddleware.js +36 -0
- package/dist/_node_modules/r19/dist/createRPCMiddleware.js.map +1 -0
- package/dist/_node_modules/r19/dist/handleRPCRequest.cjs +121 -0
- package/dist/_node_modules/r19/dist/handleRPCRequest.cjs.map +1 -0
- package/dist/_node_modules/r19/dist/handleRPCRequest.js +121 -0
- package/dist/_node_modules/r19/dist/handleRPCRequest.js.map +1 -0
- package/dist/_node_modules/r19/dist/lib/isErrorLike.cjs +7 -0
- package/dist/_node_modules/r19/dist/lib/isErrorLike.cjs.map +1 -0
- package/dist/_node_modules/r19/dist/lib/isErrorLike.js +7 -0
- package/dist/_node_modules/r19/dist/lib/isErrorLike.js.map +1 -0
- package/dist/_node_modules/r19/dist/lib/isPlainObject.cjs +11 -0
- package/dist/_node_modules/r19/dist/lib/isPlainObject.cjs.map +1 -0
- package/dist/_node_modules/r19/dist/lib/isPlainObject.js +11 -0
- package/dist/_node_modules/r19/dist/lib/isPlainObject.js.map +1 -0
- package/dist/_node_modules/r19/dist/lib/isR19ErrorLike.cjs +8 -0
- package/dist/_node_modules/r19/dist/lib/isR19ErrorLike.cjs.map +1 -0
- package/dist/_node_modules/r19/dist/lib/isR19ErrorLike.js +8 -0
- package/dist/_node_modules/r19/dist/lib/isR19ErrorLike.js.map +1 -0
- package/dist/_node_modules/r19/dist/lib/replaceLeaves.cjs +28 -0
- package/dist/_node_modules/r19/dist/lib/replaceLeaves.cjs.map +1 -0
- package/dist/_node_modules/r19/dist/lib/replaceLeaves.js +28 -0
- package/dist/_node_modules/r19/dist/lib/replaceLeaves.js.map +1 -0
- package/dist/_node_modules/r19/dist/proceduresFromInstance.cjs +33 -0
- package/dist/_node_modules/r19/dist/proceduresFromInstance.cjs.map +1 -0
- package/dist/_node_modules/r19/dist/proceduresFromInstance.js +33 -0
- package/dist/_node_modules/r19/dist/proceduresFromInstance.js.map +1 -0
- package/dist/_node_modules/shebang-command/index.cjs +18 -0
- package/dist/_node_modules/shebang-command/index.cjs.map +1 -0
- package/dist/_node_modules/shebang-command/index.js +18 -0
- package/dist/_node_modules/shebang-command/index.js.map +1 -0
- package/dist/_node_modules/shebang-regex/index.cjs +5 -0
- package/dist/_node_modules/shebang-regex/index.cjs.map +1 -0
- package/dist/_node_modules/shebang-regex/index.js +5 -0
- package/dist/_node_modules/shebang-regex/index.js.map +1 -0
- package/dist/_node_modules/signal-exit/index.cjs +150 -0
- package/dist/_node_modules/signal-exit/index.cjs.map +1 -0
- package/dist/_node_modules/signal-exit/index.js +151 -0
- package/dist/_node_modules/signal-exit/index.js.map +1 -0
- package/dist/_node_modules/signal-exit/signals.cjs +45 -0
- package/dist/_node_modules/signal-exit/signals.cjs.map +1 -0
- package/dist/_node_modules/signal-exit/signals.js +45 -0
- package/dist/_node_modules/signal-exit/signals.js.map +1 -0
- package/dist/_node_modules/strtok3/lib/AbstractTokenizer.cjs +98 -0
- package/dist/_node_modules/strtok3/lib/AbstractTokenizer.cjs.map +1 -0
- package/dist/_node_modules/strtok3/lib/AbstractTokenizer.js +98 -0
- package/dist/_node_modules/strtok3/lib/AbstractTokenizer.js.map +1 -0
- package/dist/_node_modules/strtok3/lib/BufferTokenizer.cjs +53 -0
- package/dist/_node_modules/strtok3/lib/BufferTokenizer.cjs.map +1 -0
- package/dist/_node_modules/strtok3/lib/BufferTokenizer.js +53 -0
- package/dist/_node_modules/strtok3/lib/BufferTokenizer.js.map +1 -0
- package/dist/_node_modules/strtok3/lib/core.cjs +9 -0
- package/dist/_node_modules/strtok3/lib/core.cjs.map +1 -0
- package/dist/_node_modules/strtok3/lib/core.js +9 -0
- package/dist/_node_modules/strtok3/lib/core.js.map +1 -0
- package/dist/_node_modules/token-types/lib/index.cjs +94 -0
- package/dist/_node_modules/token-types/lib/index.cjs.map +1 -0
- package/dist/_node_modules/token-types/lib/index.js +94 -0
- package/dist/_node_modules/token-types/lib/index.js.map +1 -0
- package/dist/_node_modules/unist-util-is/lib/index.cjs +76 -0
- package/dist/_node_modules/unist-util-is/lib/index.cjs.map +1 -0
- package/dist/_node_modules/unist-util-is/lib/index.js +76 -0
- package/dist/_node_modules/unist-util-is/lib/index.js.map +1 -0
- package/dist/_node_modules/unist-util-visit/lib/index.cjs +39 -0
- package/dist/_node_modules/unist-util-visit/lib/index.cjs.map +1 -0
- package/dist/_node_modules/unist-util-visit/lib/index.js +40 -0
- package/dist/_node_modules/unist-util-visit/lib/index.js.map +1 -0
- package/dist/_node_modules/unist-util-visit-parents/lib/color.browser.cjs +7 -0
- package/dist/_node_modules/unist-util-visit-parents/lib/color.browser.cjs.map +1 -0
- package/dist/_node_modules/unist-util-visit-parents/lib/color.browser.js +7 -0
- package/dist/_node_modules/unist-util-visit-parents/lib/color.browser.js.map +1 -0
- package/dist/_node_modules/unist-util-visit-parents/lib/index.cjs +86 -0
- package/dist/_node_modules/unist-util-visit-parents/lib/index.cjs.map +1 -0
- package/dist/_node_modules/unist-util-visit-parents/lib/index.js +86 -0
- package/dist/_node_modules/unist-util-visit-parents/lib/index.js.map +1 -0
- package/dist/_node_modules/web-streams-polyfill/dist/ponyfill.es2018.cjs +3822 -0
- package/dist/_node_modules/web-streams-polyfill/dist/ponyfill.es2018.cjs.map +1 -0
- package/dist/_node_modules/web-streams-polyfill/dist/ponyfill.es2018.js +3822 -0
- package/dist/_node_modules/web-streams-polyfill/dist/ponyfill.es2018.js.map +1 -0
- package/dist/_node_modules/which/which.cjs +96 -0
- package/dist/_node_modules/which/which.cjs.map +1 -0
- package/dist/_node_modules/which/which.js +96 -0
- package/dist/_node_modules/which/which.js.map +1 -0
- package/dist/_virtual/_commonjsHelpers.cjs +9 -0
- package/dist/_virtual/_commonjsHelpers.cjs.map +1 -0
- package/dist/_virtual/_commonjsHelpers.js +9 -0
- package/dist/_virtual/_commonjsHelpers.js.map +1 -0
- package/dist/_virtual/escape.cjs +5 -0
- package/dist/_virtual/escape.cjs.map +1 -0
- package/dist/_virtual/escape.js +5 -0
- package/dist/_virtual/escape.js.map +1 -0
- package/dist/_virtual/index.cjs +5 -0
- package/dist/_virtual/index.cjs.map +1 -0
- package/dist/_virtual/index.js +5 -0
- package/dist/_virtual/index.js.map +1 -0
- package/dist/_virtual/index2.cjs +5 -0
- package/dist/_virtual/index2.cjs.map +1 -0
- package/dist/_virtual/index2.js +5 -0
- package/dist/_virtual/index2.js.map +1 -0
- package/dist/_virtual/index3.cjs +5 -0
- package/dist/_virtual/index3.cjs.map +1 -0
- package/dist/_virtual/index3.js +5 -0
- package/dist/_virtual/index3.js.map +1 -0
- package/dist/_virtual/index4.cjs +5 -0
- package/dist/_virtual/index4.cjs.map +1 -0
- package/dist/_virtual/index4.js +5 -0
- package/dist/_virtual/index4.js.map +1 -0
- package/dist/_virtual/ponyfill.es2018.cjs +5 -0
- package/dist/_virtual/ponyfill.es2018.cjs.map +1 -0
- package/dist/_virtual/ponyfill.es2018.js +5 -0
- package/dist/_virtual/ponyfill.es2018.js.map +1 -0
- package/dist/_virtual/signals.cjs +5 -0
- package/dist/_virtual/signals.cjs.map +1 -0
- package/dist/_virtual/signals.js +5 -0
- package/dist/_virtual/signals.js.map +1 -0
- package/dist/auth/PrismicAuthManager.cjs +291 -0
- package/dist/auth/PrismicAuthManager.cjs.map +1 -0
- package/dist/auth/PrismicAuthManager.d.ts +58 -0
- package/dist/auth/PrismicAuthManager.js +269 -0
- package/dist/auth/PrismicAuthManager.js.map +1 -0
- package/dist/auth/createPrismicAuthManager.cjs +8 -0
- package/dist/auth/createPrismicAuthManager.cjs.map +1 -0
- package/dist/auth/createPrismicAuthManager.d.ts +4 -0
- package/dist/auth/createPrismicAuthManager.js +8 -0
- package/dist/auth/createPrismicAuthManager.js.map +1 -0
- package/dist/auth/createPrismicAuthManagerMiddleware.cjs +51 -0
- package/dist/auth/createPrismicAuthManagerMiddleware.cjs.map +1 -0
- package/dist/auth/createPrismicAuthManagerMiddleware.d.ts +14 -0
- package/dist/auth/createPrismicAuthManagerMiddleware.js +34 -0
- package/dist/auth/createPrismicAuthManagerMiddleware.js.map +1 -0
- package/dist/client/index.d.ts +7 -0
- package/dist/client.cjs +21 -0
- package/dist/client.cjs.map +1 -0
- package/dist/client.js +21 -0
- package/dist/client.js.map +1 -0
- package/dist/constants/API_ENDPOINTS.cjs +55 -0
- package/dist/constants/API_ENDPOINTS.cjs.map +1 -0
- package/dist/constants/API_ENDPOINTS.d.ts +11 -0
- package/dist/constants/API_ENDPOINTS.js +55 -0
- package/dist/constants/API_ENDPOINTS.js.map +1 -0
- package/dist/constants/API_TOKENS.cjs +18 -0
- package/dist/constants/API_TOKENS.cjs.map +1 -0
- package/dist/constants/API_TOKENS.d.ts +5 -0
- package/dist/constants/API_TOKENS.js +18 -0
- package/dist/constants/API_TOKENS.js.map +1 -0
- package/dist/constants/APPLICATION_MODE.cjs +9 -0
- package/dist/constants/APPLICATION_MODE.cjs.map +1 -0
- package/dist/constants/APPLICATION_MODE.d.ts +5 -0
- package/dist/constants/APPLICATION_MODE.js +9 -0
- package/dist/constants/APPLICATION_MODE.js.map +1 -0
- package/dist/constants/DEFAULT_SLICE_SCREENSHOT_URL.cjs +5 -0
- package/dist/constants/DEFAULT_SLICE_SCREENSHOT_URL.cjs.map +1 -0
- package/dist/constants/DEFAULT_SLICE_SCREENSHOT_URL.d.ts +5 -0
- package/dist/constants/DEFAULT_SLICE_SCREENSHOT_URL.js +5 -0
- package/dist/constants/DEFAULT_SLICE_SCREENSHOT_URL.js.map +1 -0
- package/dist/constants/REPOSITORY_NAME_VALIDATION.cjs +8 -0
- package/dist/constants/REPOSITORY_NAME_VALIDATION.cjs.map +1 -0
- package/dist/constants/REPOSITORY_NAME_VALIDATION.d.ts +4 -0
- package/dist/constants/REPOSITORY_NAME_VALIDATION.js +8 -0
- package/dist/constants/REPOSITORY_NAME_VALIDATION.js.map +1 -0
- package/dist/constants/SLICE_MACHINE_CONFIG_FILENAME.cjs +5 -0
- package/dist/constants/SLICE_MACHINE_CONFIG_FILENAME.cjs.map +1 -0
- package/dist/constants/SLICE_MACHINE_CONFIG_FILENAME.d.ts +1 -0
- package/dist/constants/SLICE_MACHINE_CONFIG_FILENAME.js +5 -0
- package/dist/constants/SLICE_MACHINE_CONFIG_FILENAME.js.map +1 -0
- package/dist/constants/SLICE_MACHINE_GITHUB_PACKAGE_NAME.cjs +5 -0
- package/dist/constants/SLICE_MACHINE_GITHUB_PACKAGE_NAME.cjs.map +1 -0
- package/dist/constants/SLICE_MACHINE_GITHUB_PACKAGE_NAME.d.ts +1 -0
- package/dist/constants/SLICE_MACHINE_GITHUB_PACKAGE_NAME.js +5 -0
- package/dist/constants/SLICE_MACHINE_GITHUB_PACKAGE_NAME.js.map +1 -0
- package/dist/constants/SLICE_MACHINE_GITHUB_REPOSITORY_NAME.cjs +5 -0
- package/dist/constants/SLICE_MACHINE_GITHUB_REPOSITORY_NAME.cjs.map +1 -0
- package/dist/constants/SLICE_MACHINE_GITHUB_REPOSITORY_NAME.d.ts +1 -0
- package/dist/constants/SLICE_MACHINE_GITHUB_REPOSITORY_NAME.js +5 -0
- package/dist/constants/SLICE_MACHINE_GITHUB_REPOSITORY_NAME.js.map +1 -0
- package/dist/constants/SLICE_MACHINE_GITHUB_REPOSITORY_ORGANIZATION.cjs +5 -0
- package/dist/constants/SLICE_MACHINE_GITHUB_REPOSITORY_ORGANIZATION.cjs.map +1 -0
- package/dist/constants/SLICE_MACHINE_GITHUB_REPOSITORY_ORGANIZATION.d.ts +1 -0
- package/dist/constants/SLICE_MACHINE_GITHUB_REPOSITORY_ORGANIZATION.js +5 -0
- package/dist/constants/SLICE_MACHINE_GITHUB_REPOSITORY_ORGANIZATION.js.map +1 -0
- package/dist/constants/SLICE_MACHINE_NPM_PACKAGE_NAME.cjs +5 -0
- package/dist/constants/SLICE_MACHINE_NPM_PACKAGE_NAME.cjs.map +1 -0
- package/dist/constants/SLICE_MACHINE_NPM_PACKAGE_NAME.d.ts +1 -0
- package/dist/constants/SLICE_MACHINE_NPM_PACKAGE_NAME.js +5 -0
- package/dist/constants/SLICE_MACHINE_NPM_PACKAGE_NAME.js.map +1 -0
- package/dist/constants/SLICE_MACHINE_USER_AGENT.cjs +5 -0
- package/dist/constants/SLICE_MACHINE_USER_AGENT.cjs.map +1 -0
- package/dist/constants/SLICE_MACHINE_USER_AGENT.d.ts +1 -0
- package/dist/constants/SLICE_MACHINE_USER_AGENT.js +5 -0
- package/dist/constants/SLICE_MACHINE_USER_AGENT.js.map +1 -0
- package/dist/constants/TS_CONFIG_FILENAME.cjs +5 -0
- package/dist/constants/TS_CONFIG_FILENAME.cjs.map +1 -0
- package/dist/constants/TS_CONFIG_FILENAME.d.ts +1 -0
- package/dist/constants/TS_CONFIG_FILENAME.js +5 -0
- package/dist/constants/TS_CONFIG_FILENAME.js.map +1 -0
- package/dist/constants/VERSION_KIND.cjs +10 -0
- package/dist/constants/VERSION_KIND.cjs.map +1 -0
- package/dist/constants/VERSION_KIND.d.ts +6 -0
- package/dist/constants/VERSION_KIND.js +10 -0
- package/dist/constants/VERSION_KIND.js.map +1 -0
- package/dist/errors.cjs +101 -0
- package/dist/errors.cjs.map +1 -0
- package/dist/errors.d.ts +35 -0
- package/dist/errors.js +101 -0
- package/dist/errors.js.map +1 -0
- package/dist/index.cjs +24 -0
- package/dist/index.cjs.map +1 -0
- package/dist/index.d.ts +16 -0
- package/dist/index.js +24 -0
- package/dist/index.js.map +1 -0
- package/dist/lib/DecodeError.cjs +22 -0
- package/dist/lib/DecodeError.cjs.map +1 -0
- package/dist/lib/DecodeError.d.ts +12 -0
- package/dist/lib/DecodeError.js +22 -0
- package/dist/lib/DecodeError.js.map +1 -0
- package/dist/lib/assertPluginsInitialized.cjs +9 -0
- package/dist/lib/assertPluginsInitialized.cjs.map +1 -0
- package/dist/lib/assertPluginsInitialized.d.ts +2 -0
- package/dist/lib/assertPluginsInitialized.js +9 -0
- package/dist/lib/assertPluginsInitialized.js.map +1 -0
- package/dist/lib/bufferCodec.cjs +24 -0
- package/dist/lib/bufferCodec.cjs.map +1 -0
- package/dist/lib/bufferCodec.d.ts +4 -0
- package/dist/lib/bufferCodec.js +7 -0
- package/dist/lib/bufferCodec.js.map +1 -0
- package/dist/lib/buildPrismicRepositoryAPIEndpoint.cjs +9 -0
- package/dist/lib/buildPrismicRepositoryAPIEndpoint.cjs.map +1 -0
- package/dist/lib/buildPrismicRepositoryAPIEndpoint.d.ts +4 -0
- package/dist/lib/buildPrismicRepositoryAPIEndpoint.js +9 -0
- package/dist/lib/buildPrismicRepositoryAPIEndpoint.js.map +1 -0
- package/dist/lib/castArray.cjs +7 -0
- package/dist/lib/castArray.cjs.map +1 -0
- package/dist/lib/castArray.d.ts +1 -0
- package/dist/lib/castArray.js +7 -0
- package/dist/lib/castArray.js.map +1 -0
- package/dist/lib/checkIsURLAccessible.d.ts +1 -0
- package/dist/lib/createContentDigest.cjs +25 -0
- package/dist/lib/createContentDigest.cjs.map +1 -0
- package/dist/lib/createContentDigest.d.ts +9 -0
- package/dist/lib/createContentDigest.js +8 -0
- package/dist/lib/createContentDigest.js.map +1 -0
- package/dist/lib/decode.cjs +18 -0
- package/dist/lib/decode.cjs.map +1 -0
- package/dist/lib/decode.d.ts +10 -0
- package/dist/lib/decode.js +18 -0
- package/dist/lib/decode.js.map +1 -0
- package/dist/lib/decodeHookResult.cjs +21 -0
- package/dist/lib/decodeHookResult.cjs.map +1 -0
- package/dist/lib/decodeHookResult.d.ts +10 -0
- package/dist/lib/decodeHookResult.js +21 -0
- package/dist/lib/decodeHookResult.js.map +1 -0
- package/dist/lib/decodePackageJSON.cjs +29 -0
- package/dist/lib/decodePackageJSON.cjs.map +1 -0
- package/dist/lib/decodePackageJSON.d.ts +12 -0
- package/dist/lib/decodePackageJSON.js +12 -0
- package/dist/lib/decodePackageJSON.js.map +1 -0
- package/dist/lib/decodeSliceMachineConfig.cjs +50 -0
- package/dist/lib/decodeSliceMachineConfig.cjs.map +1 -0
- package/dist/lib/decodeSliceMachineConfig.d.ts +3 -0
- package/dist/lib/decodeSliceMachineConfig.js +33 -0
- package/dist/lib/decodeSliceMachineConfig.js.map +1 -0
- package/dist/lib/fetch.cjs +36 -0
- package/dist/lib/fetch.cjs.map +1 -0
- package/dist/lib/fetch.d.ts +15 -0
- package/dist/lib/fetch.js +18 -0
- package/dist/lib/fetch.js.map +1 -0
- package/dist/lib/fetchGitHubReleaseBodyForRelease.cjs +105 -0
- package/dist/lib/fetchGitHubReleaseBodyForRelease.cjs.map +1 -0
- package/dist/lib/fetchGitHubReleaseBodyForRelease.d.ts +21 -0
- package/dist/lib/fetchGitHubReleaseBodyForRelease.js +88 -0
- package/dist/lib/fetchGitHubReleaseBodyForRelease.js.map +1 -0
- package/dist/lib/fetchNPMPackageVersions.cjs +41 -0
- package/dist/lib/fetchNPMPackageVersions.cjs.map +1 -0
- package/dist/lib/fetchNPMPackageVersions.d.ts +5 -0
- package/dist/lib/fetchNPMPackageVersions.js +24 -0
- package/dist/lib/fetchNPMPackageVersions.js.map +1 -0
- package/dist/lib/format.cjs +33 -0
- package/dist/lib/format.cjs.map +1 -0
- package/dist/lib/format.d.ts +12 -0
- package/dist/lib/format.js +33 -0
- package/dist/lib/format.js.map +1 -0
- package/dist/lib/functionCodec.cjs +29 -0
- package/dist/lib/functionCodec.cjs.map +1 -0
- package/dist/lib/functionCodec.d.ts +2 -0
- package/dist/lib/functionCodec.js +12 -0
- package/dist/lib/functionCodec.js.map +1 -0
- package/dist/lib/installDependencies.cjs +38 -0
- package/dist/lib/installDependencies.cjs.map +1 -0
- package/dist/lib/installDependencies.d.ts +13 -0
- package/dist/lib/installDependencies.js +38 -0
- package/dist/lib/installDependencies.js.map +1 -0
- package/dist/lib/locateFileUpward.cjs +47 -0
- package/dist/lib/locateFileUpward.cjs.map +1 -0
- package/dist/lib/locateFileUpward.d.ts +10 -0
- package/dist/lib/locateFileUpward.js +29 -0
- package/dist/lib/locateFileUpward.js.map +1 -0
- package/dist/lib/markdownToHTML.cjs +91 -0
- package/dist/lib/markdownToHTML.cjs.map +1 -0
- package/dist/lib/markdownToHTML.d.ts +1 -0
- package/dist/lib/markdownToHTML.js +69 -0
- package/dist/lib/markdownToHTML.js.map +1 -0
- package/dist/lib/mockSlice.cjs +32 -0
- package/dist/lib/mockSlice.cjs.map +1 -0
- package/dist/lib/mockSlice.d.ts +9 -0
- package/dist/lib/mockSlice.js +32 -0
- package/dist/lib/mockSlice.js.map +1 -0
- package/dist/lib/prismicrc.cjs +48 -0
- package/dist/lib/prismicrc.cjs.map +1 -0
- package/dist/lib/prismicrc.d.ts +10 -0
- package/dist/lib/prismicrc.js +29 -0
- package/dist/lib/prismicrc.js.map +1 -0
- package/dist/lib/serializeCookies.cjs +29 -0
- package/dist/lib/serializeCookies.cjs.map +1 -0
- package/dist/lib/serializeCookies.d.ts +6 -0
- package/dist/lib/serializeCookies.js +29 -0
- package/dist/lib/serializeCookies.js.map +1 -0
- package/dist/lib/trailingSlash.cjs +11 -0
- package/dist/lib/trailingSlash.cjs.map +1 -0
- package/dist/lib/trailingSlash.d.ts +2 -0
- package/dist/lib/trailingSlash.js +11 -0
- package/dist/lib/trailingSlash.js.map +1 -0
- package/dist/managers/BaseManager.cjs +69 -0
- package/dist/managers/BaseManager.cjs.map +1 -0
- package/dist/managers/BaseManager.d.ts +37 -0
- package/dist/managers/BaseManager.js +69 -0
- package/dist/managers/BaseManager.js.map +1 -0
- package/dist/managers/SliceMachineManager.cjs +251 -0
- package/dist/managers/SliceMachineManager.cjs.map +1 -0
- package/dist/managers/SliceMachineManager.d.ts +99 -0
- package/dist/managers/SliceMachineManager.js +251 -0
- package/dist/managers/SliceMachineManager.js.map +1 -0
- package/dist/managers/createSliceMachineManager.cjs +8 -0
- package/dist/managers/createSliceMachineManager.cjs.map +1 -0
- package/dist/managers/createSliceMachineManager.d.ts +5 -0
- package/dist/managers/createSliceMachineManager.js +8 -0
- package/dist/managers/createSliceMachineManager.js.map +1 -0
- package/dist/managers/createSliceMachineManagerClient.cjs +11 -0
- package/dist/managers/createSliceMachineManagerClient.cjs.map +1 -0
- package/dist/managers/createSliceMachineManagerClient.d.ts +8 -0
- package/dist/managers/createSliceMachineManagerClient.js +11 -0
- package/dist/managers/createSliceMachineManagerClient.js.map +1 -0
- package/dist/managers/createSliceMachineManagerMiddleware.cjs +44 -0
- package/dist/managers/createSliceMachineManagerMiddleware.cjs.map +1 -0
- package/dist/managers/createSliceMachineManagerMiddleware.d.ts +15 -0
- package/dist/managers/createSliceMachineManagerMiddleware.js +44 -0
- package/dist/managers/createSliceMachineManagerMiddleware.js.map +1 -0
- package/dist/managers/customTypes/CustomTypesManager.cjs +190 -0
- package/dist/managers/customTypes/CustomTypesManager.cjs.map +1 -0
- package/dist/managers/customTypes/CustomTypesManager.d.ts +61 -0
- package/dist/managers/customTypes/CustomTypesManager.js +172 -0
- package/dist/managers/customTypes/CustomTypesManager.js.map +1 -0
- package/dist/managers/customTypes/types.d.ts +2 -0
- package/dist/managers/documentation/DocumentationManager.cjs +42 -0
- package/dist/managers/documentation/DocumentationManager.cjs.map +1 -0
- package/dist/managers/documentation/DocumentationManager.d.ts +11 -0
- package/dist/managers/documentation/DocumentationManager.js +25 -0
- package/dist/managers/documentation/DocumentationManager.js.map +1 -0
- package/dist/managers/plugins/PluginsManager.cjs +36 -0
- package/dist/managers/plugins/PluginsManager.cjs.map +1 -0
- package/dist/managers/plugins/PluginsManager.d.ts +13 -0
- package/dist/managers/plugins/PluginsManager.js +36 -0
- package/dist/managers/plugins/PluginsManager.js.map +1 -0
- package/dist/managers/prismicRepository/PrismicRepositoryManager.cjs +404 -0
- package/dist/managers/prismicRepository/PrismicRepositoryManager.cjs.map +1 -0
- package/dist/managers/prismicRepository/PrismicRepositoryManager.d.ts +36 -0
- package/dist/managers/prismicRepository/PrismicRepositoryManager.js +387 -0
- package/dist/managers/prismicRepository/PrismicRepositoryManager.js.map +1 -0
- package/dist/managers/prismicRepository/sortEnvironments.cjs +36 -0
- package/dist/managers/prismicRepository/sortEnvironments.cjs.map +1 -0
- package/dist/managers/prismicRepository/sortEnvironments.d.ts +17 -0
- package/dist/managers/prismicRepository/sortEnvironments.js +36 -0
- package/dist/managers/prismicRepository/sortEnvironments.js.map +1 -0
- package/dist/managers/prismicRepository/types.cjs +78 -0
- package/dist/managers/prismicRepository/types.cjs.map +1 -0
- package/dist/managers/prismicRepository/types.d.ts +148 -0
- package/dist/managers/prismicRepository/types.js +63 -0
- package/dist/managers/prismicRepository/types.js.map +1 -0
- package/dist/managers/project/ProjectManager.cjs +273 -0
- package/dist/managers/project/ProjectManager.cjs.map +1 -0
- package/dist/managers/project/ProjectManager.d.ts +84 -0
- package/dist/managers/project/ProjectManager.js +254 -0
- package/dist/managers/project/ProjectManager.js.map +1 -0
- package/dist/managers/screenshots/ScreenshotsManager.cjs +164 -0
- package/dist/managers/screenshots/ScreenshotsManager.cjs.map +1 -0
- package/dist/managers/screenshots/ScreenshotsManager.d.ts +20 -0
- package/dist/managers/screenshots/ScreenshotsManager.js +147 -0
- package/dist/managers/screenshots/ScreenshotsManager.js.map +1 -0
- package/dist/managers/simulator/SimulatorManager.cjs +105 -0
- package/dist/managers/simulator/SimulatorManager.cjs.map +1 -0
- package/dist/managers/simulator/SimulatorManager.d.ts +38 -0
- package/dist/managers/simulator/SimulatorManager.js +88 -0
- package/dist/managers/simulator/SimulatorManager.js.map +1 -0
- package/dist/managers/sliceTemplateLibrary/SliceTemplateLibraryManager.cjs +139 -0
- package/dist/managers/sliceTemplateLibrary/SliceTemplateLibraryManager.cjs.map +1 -0
- package/dist/managers/sliceTemplateLibrary/SliceTemplateLibraryManager.d.ts +27 -0
- package/dist/managers/sliceTemplateLibrary/SliceTemplateLibraryManager.js +122 -0
- package/dist/managers/sliceTemplateLibrary/SliceTemplateLibraryManager.js.map +1 -0
- package/dist/managers/slices/SlicesManager.cjs +652 -0
- package/dist/managers/slices/SlicesManager.cjs.map +1 -0
- package/dist/managers/slices/SlicesManager.d.ts +178 -0
- package/dist/managers/slices/SlicesManager.js +634 -0
- package/dist/managers/slices/SlicesManager.js.map +1 -0
- package/dist/managers/snippets/SnippetsManager.cjs +41 -0
- package/dist/managers/snippets/SnippetsManager.cjs.map +1 -0
- package/dist/managers/snippets/SnippetsManager.d.ts +11 -0
- package/dist/managers/snippets/SnippetsManager.js +24 -0
- package/dist/managers/snippets/SnippetsManager.js.map +1 -0
- package/dist/managers/telemetry/TelemetryManager.cjs +154 -0
- package/dist/managers/telemetry/TelemetryManager.cjs.map +1 -0
- package/dist/managers/telemetry/TelemetryManager.d.ts +29 -0
- package/dist/managers/telemetry/TelemetryManager.js +154 -0
- package/dist/managers/telemetry/TelemetryManager.js.map +1 -0
- package/dist/managers/telemetry/types.cjs +57 -0
- package/dist/managers/telemetry/types.cjs.map +1 -0
- package/dist/managers/telemetry/types.d.ts +165 -0
- package/dist/managers/telemetry/types.js +57 -0
- package/dist/managers/telemetry/types.js.map +1 -0
- package/dist/managers/user/UserManager.cjs +29 -0
- package/dist/managers/user/UserManager.cjs.map +1 -0
- package/dist/managers/user/UserManager.d.ts +40 -0
- package/dist/managers/user/UserManager.js +29 -0
- package/dist/managers/user/UserManager.js.map +1 -0
- package/dist/managers/versions/VersionsManager.cjs +140 -0
- package/dist/managers/versions/VersionsManager.cjs.map +1 -0
- package/dist/managers/versions/VersionsManager.d.ts +22 -0
- package/dist/managers/versions/VersionsManager.js +122 -0
- package/dist/managers/versions/VersionsManager.js.map +1 -0
- package/dist/managers/versions/types.d.ts +5 -0
- package/dist/test/createSliceMachineManagerMSWHandler.cjs +18 -0
- package/dist/test/createSliceMachineManagerMSWHandler.cjs.map +1 -0
- package/dist/test/createSliceMachineManagerMSWHandler.d.ts +7 -0
- package/dist/test/createSliceMachineManagerMSWHandler.js +18 -0
- package/dist/test/createSliceMachineManagerMSWHandler.js.map +1 -0
- package/dist/test/index.d.ts +2 -0
- package/dist/test.cjs +5 -0
- package/dist/test.cjs.map +1 -0
- package/dist/test.js +5 -0
- package/dist/test.js.map +1 -0
- package/dist/types.d.ts +37 -0
- package/package.json +140 -0
- package/src/auth/PrismicAuthManager.ts +412 -0
- package/src/auth/createPrismicAuthManager.ts +11 -0
- package/src/auth/createPrismicAuthManagerMiddleware.ts +72 -0
- package/src/client/index.ts +35 -0
- package/src/constants/API_ENDPOINTS.ts +86 -0
- package/src/constants/API_TOKENS.ts +19 -0
- package/src/constants/APPLICATION_MODE.ts +5 -0
- package/src/constants/DEFAULT_SLICE_SCREENSHOT_URL.ts +6 -0
- package/src/constants/REPOSITORY_NAME_VALIDATION.ts +4 -0
- package/src/constants/SLICE_MACHINE_CONFIG_FILENAME.ts +1 -0
- package/src/constants/SLICE_MACHINE_GITHUB_PACKAGE_NAME.ts +1 -0
- package/src/constants/SLICE_MACHINE_GITHUB_REPOSITORY_NAME.ts +1 -0
- package/src/constants/SLICE_MACHINE_GITHUB_REPOSITORY_ORGANIZATION.ts +1 -0
- package/src/constants/SLICE_MACHINE_NPM_PACKAGE_NAME.ts +1 -0
- package/src/constants/SLICE_MACHINE_USER_AGENT.ts +1 -0
- package/src/constants/TS_CONFIG_FILENAME.ts +1 -0
- package/src/constants/VERSION_KIND.ts +6 -0
- package/src/errors.ts +85 -0
- package/src/index.ts +46 -0
- package/src/lib/DecodeError.ts +22 -0
- package/src/lib/assertPluginsInitialized.ts +11 -0
- package/src/lib/bufferCodec.ts +10 -0
- package/src/lib/buildPrismicRepositoryAPIEndpoint.ts +16 -0
- package/src/lib/castArray.ts +3 -0
- package/src/lib/checkIsURLAccessible.ts +7 -0
- package/src/lib/createContentDigest.ts +12 -0
- package/src/lib/decode.ts +36 -0
- package/src/lib/decodeHookResult.ts +36 -0
- package/src/lib/decodePackageJSON.ts +18 -0
- package/src/lib/decodeSliceMachineConfig.ts +39 -0
- package/src/lib/fetch.ts +46 -0
- package/src/lib/fetchGitHubReleaseBodyForRelease.ts +146 -0
- package/src/lib/fetchNPMPackageVersions.ts +46 -0
- package/src/lib/format.ts +34 -0
- package/src/lib/functionCodec.ts +16 -0
- package/src/lib/installDependencies.ts +65 -0
- package/src/lib/locateFileUpward.ts +53 -0
- package/src/lib/markdownToHTML.ts +116 -0
- package/src/lib/mockSlice.ts +50 -0
- package/src/lib/prismicrc.ts +64 -0
- package/src/lib/serializeCookies.ts +45 -0
- package/src/lib/trailingSlash.ts +9 -0
- package/src/managers/BaseManager.ts +100 -0
- package/src/managers/SliceMachineManager.ts +399 -0
- package/src/managers/createSliceMachineManager.ts +11 -0
- package/src/managers/createSliceMachineManagerClient.ts +23 -0
- package/src/managers/createSliceMachineManagerMiddleware.ts +78 -0
- package/src/managers/customTypes/CustomTypesManager.ts +332 -0
- package/src/managers/customTypes/types.ts +3 -0
- package/src/managers/documentation/DocumentationManager.ts +44 -0
- package/src/managers/plugins/PluginsManager.ts +48 -0
- package/src/managers/prismicRepository/PrismicRepositoryManager.ts +569 -0
- package/src/managers/prismicRepository/sortEnvironments.ts +55 -0
- package/src/managers/prismicRepository/types.ts +169 -0
- package/src/managers/project/ProjectManager.ts +443 -0
- package/src/managers/screenshots/ScreenshotsManager.ts +199 -0
- package/src/managers/simulator/SimulatorManager.ts +161 -0
- package/src/managers/sliceTemplateLibrary/SliceTemplateLibraryManager.ts +201 -0
- package/src/managers/slices/SlicesManager.ts +1105 -0
- package/src/managers/snippets/SnippetsManager.ts +45 -0
- package/src/managers/telemetry/TelemetryManager.ts +248 -0
- package/src/managers/telemetry/types.ts +283 -0
- package/src/managers/user/UserManager.ts +39 -0
- package/src/managers/versions/VersionsManager.ts +167 -0
- package/src/managers/versions/types.ts +6 -0
- package/src/test/createSliceMachineManagerMSWHandler.ts +29 -0
- package/src/test/index.ts +2 -0
- package/src/types.ts +47 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"SlicesManager.js","sources":["../../../../src/managers/slices/SlicesManager.ts"],"sourcesContent":["import * as t from \"io-ts\";\nimport * as prismicCustomTypesClient from \"@prismicio/custom-types-client\";\nimport { SharedSliceContent } from \"@prismicio/types-internal/lib/content\";\nimport { SliceComparator } from \"@prismicio/types-internal/lib/customtypes/diff\";\nimport {\n\tCompositeSlice,\n\tLegacySlice,\n\tSharedSlice,\n\tVariation,\n} from \"@prismicio/types-internal/lib/customtypes\";\nimport {\n\tCallHookReturnType,\n\tHookError,\n\tSliceAssetUpdateHook,\n\tSliceCreateHook,\n\tSliceCreateHookData,\n\tSliceLibraryReadHookData,\n\tSliceReadHookData,\n\tSliceRenameHook,\n\tSliceRenameHookData,\n\tSliceUpdateHook,\n} from \"@slicemachine/plugin-kit\";\n\nimport { DecodeError } from \"../../lib/DecodeError\";\nimport { assertPluginsInitialized } from \"../../lib/assertPluginsInitialized\";\nimport { bufferCodec } from \"../../lib/bufferCodec\";\nimport { decodeHookResult } from \"../../lib/decodeHookResult\";\nimport { createContentDigest } from \"../../lib/createContentDigest\";\nimport { mockSlice } from \"../../lib/mockSlice\";\nimport fetch from \"../../lib/fetch\";\n\nimport { OnlyHookErrors } from \"../../types\";\nimport { DEFAULT_SLICE_SCREENSHOT_URL } from \"../../constants/DEFAULT_SLICE_SCREENSHOT_URL\";\nimport { SLICE_MACHINE_USER_AGENT } from \"../../constants/SLICE_MACHINE_USER_AGENT\";\nimport { API_ENDPOINTS } from \"../../constants/API_ENDPOINTS\";\nimport { UnauthenticatedError, UnauthorizedError } from \"../../errors\";\n\nimport { BaseManager } from \"../BaseManager\";\n\ntype SlicesManagerReadSliceLibraryReturnType = {\n\tsliceIDs: string[];\n\terrors: (DecodeError | HookError)[];\n};\n\ntype SlicesManagerReadAllSliceLibrariesReturnType = {\n\tlibraries: {\n\t\tlibraryID: string;\n\t\tsliceIDs: string[] | undefined;\n\t}[];\n\terrors: (DecodeError | HookError)[];\n};\n\ntype SliceMachineManagerReadAllSlicesForLibraryArgs = {\n\tlibraryID: string;\n};\n\ntype SliceMachineManagerUpdateSliceArgs = {\n\tlibraryID: string;\n\tmodel: SharedSlice;\n\tmocks?: SharedSliceContent[];\n};\n\ntype SliceMachineManagerReadAllSlicesForLibraryReturnType = {\n\tmodels: { model: SharedSlice }[];\n\terrors: (DecodeError | HookError)[];\n};\n\ntype SliceMachineManagerReadAllSlicesReturnType = {\n\tmodels: {\n\t\tlibraryID: string;\n\t\tmodel: SharedSlice;\n\t}[];\n\terrors: (DecodeError | HookError)[];\n};\n\ntype SliceMachineManagerReadSliceReturnType = {\n\tmodel: SharedSlice | undefined;\n\terrors: (DecodeError | HookError)[];\n};\n\ntype SliceMachineManagerPushSliceArgs = {\n\tlibraryID: string;\n\tsliceID: string;\n\tuserAgent?: string;\n};\n\nexport type SliceMachineManagerPushSliceReturnType = {\n\t/**\n\t * A record of Slice variation IDs mapped to uploaded screenshot URLs.\n\t */\n\tscreenshotURLs: Record<string, string> | undefined;\n\terrors: (DecodeError | HookError)[];\n};\n\ntype SliceMachineManagerReadSliceScreenshotArgs = {\n\tlibraryID: string;\n\tsliceID: string;\n\tvariationID: string;\n};\n\ntype SliceMachineManagerReadSliceScreenshotReturnType = {\n\tdata: Buffer | undefined;\n\terrors: (DecodeError | HookError)[];\n};\n\ntype SliceMachineManagerUpdateSliceScreenshotArgs = {\n\tlibraryID: string;\n\tsliceID: string;\n\tvariationID: string;\n\tdata: Buffer;\n};\n\ntype SliceMachineManagerDeleteSliceScreenshotArgs = {\n\tlibraryID: string;\n\tsliceID: string;\n\tvariationID: string;\n};\n\ntype SliceMachineManagerReadSliceMocksArgs = {\n\tlibraryID: string;\n\tsliceID: string;\n};\n\ntype SliceMachineManagerReadSliceMocksReturnType = {\n\tmocks?: SharedSliceContent[];\n\terrors: (DecodeError | HookError)[];\n};\n\ntype SliceMachineManagerReadSliceMocksConfigArgs = {\n\tlibraryID: string;\n\tsliceID: string;\n};\n\ntype SliceMachineManagerReadSliceMocksConfigArgsReturnType = {\n\t// TODO\n\tmocksConfig?: Record<string, unknown>;\n\terrors: HookError[];\n};\n\ntype SliceMachineManagerUpdateSliceMocksArgs = {\n\tlibraryID: string;\n\tsliceID: string;\n\tmocks: SharedSliceContent[];\n};\n\ntype SliceMachineManagerUpdateSliceMocksArgsReturnType = {\n\terrors: HookError[];\n};\n\ntype SlicesManagerUpsertHostedSliceScrenshotsArgs = {\n\tlibraryID: string;\n\tmodel: SharedSlice;\n};\n\ntype SliceMachineManagerDeleteSliceArgs = {\n\tlibraryID: string;\n\tsliceID: string;\n};\n\ntype SliceMachineManagerDeleteSliceReturnType = {\n\terrors: (DecodeError | HookError)[];\n};\n\ntype SliceMachineManagerRenameSliceVariationArgs = {\n\tlibraryID: string;\n\tsliceID: string;\n\t/**\n\t * Current ID of the variation to rename.\n\t */\n\tvariationID: string;\n\tmodel: Variation;\n};\n\ntype SliceMachineManagerRenameSliceVariationReturnType = {\n\terrors: (DecodeError | HookError)[];\n\tassetsErrors: (DecodeError | HookError)[];\n};\n\ntype SliceMachineManagerDeleteSliceVariationArgs = {\n\tlibraryID: string;\n\tsliceID: string;\n\tvariationID: string;\n};\n\ntype SliceMachineManagerDeleteSliceVariationReturnType = {\n\terrors: (DecodeError | HookError)[];\n\tassetsErrors: (DecodeError | HookError)[];\n};\n\ntype SliceMachineManagerConvertLegacySliceToSharedSliceArgs = {\n\tmodel: CompositeSlice | LegacySlice;\n\tsrc: {\n\t\tcustomTypeID: string;\n\t\ttabID: string;\n\t\tsliceZoneID: string;\n\t\tsliceID: string;\n\t};\n\tdest: {\n\t\tlibraryID: string;\n\t\tsliceID: string;\n\t\tvariationName: string;\n\t\tvariationID: string;\n\t};\n};\n\ntype SliceMachineManagerConvertLegacySliceToSharedSliceReturnType = {\n\terrors: (DecodeError | HookError)[];\n};\n\nexport class SlicesManager extends BaseManager {\n\tasync readSliceLibrary(\n\t\targs: SliceLibraryReadHookData,\n\t): Promise<SlicesManagerReadSliceLibraryReturnType> {\n\t\tassertPluginsInitialized(this.sliceMachinePluginRunner);\n\n\t\t// TODO: Should validation happen at the `callHook` level?\n\t\t// Including validation at the hook level would ensure\n\t\t// hook-based actions are validated.\n\t\tconst hookResult = await this.sliceMachinePluginRunner.callHook(\n\t\t\t\"slice-library:read\",\n\t\t\targs,\n\t\t);\n\t\tconst { data, errors } = decodeHookResult(\n\t\t\tt.type({\n\t\t\t\tid: t.string,\n\t\t\t\tsliceIDs: t.array(t.string),\n\t\t\t}),\n\t\t\thookResult,\n\t\t);\n\n\t\treturn {\n\t\t\tsliceIDs: data[0]?.sliceIDs ?? [],\n\t\t\terrors: errors,\n\t\t};\n\t}\n\n\tasync readAllSliceLibraries(): Promise<SlicesManagerReadAllSliceLibrariesReturnType> {\n\t\tassertPluginsInitialized(this.sliceMachinePluginRunner);\n\n\t\tconst sliceMachineConfig = await this.project.getSliceMachineConfig();\n\t\tconst libraryIDs = sliceMachineConfig.libraries || [];\n\n\t\tconst res: SlicesManagerReadAllSliceLibrariesReturnType = {\n\t\t\tlibraries: [],\n\t\t\terrors: [],\n\t\t};\n\n\t\tfor (const libraryID of libraryIDs) {\n\t\t\tconst { sliceIDs, errors } = await this.readSliceLibrary({\n\t\t\t\tlibraryID,\n\t\t\t});\n\t\t\tres.errors = [...res.errors, ...errors];\n\n\t\t\tres.libraries.push({\n\t\t\t\tlibraryID,\n\t\t\t\tsliceIDs,\n\t\t\t});\n\t\t}\n\n\t\treturn res;\n\t}\n\n\tasync readAllSlicesForLibrary(\n\t\targs: SliceMachineManagerReadAllSlicesForLibraryArgs,\n\t): Promise<SliceMachineManagerReadAllSlicesForLibraryReturnType> {\n\t\tassertPluginsInitialized(this.sliceMachinePluginRunner);\n\n\t\tconst res: SliceMachineManagerReadAllSlicesForLibraryReturnType = {\n\t\t\tmodels: [],\n\t\t\terrors: [],\n\t\t};\n\n\t\tconst { sliceIDs, errors } = await this.readSliceLibrary({\n\t\t\tlibraryID: args.libraryID,\n\t\t});\n\t\tres.errors.push(...errors);\n\n\t\tif (sliceIDs) {\n\t\t\tfor (const sliceID of sliceIDs) {\n\t\t\t\tconst { model, errors } = await this.readSlice({\n\t\t\t\t\tlibraryID: args.libraryID,\n\t\t\t\t\tsliceID,\n\t\t\t\t});\n\t\t\t\tres.errors.push(...errors);\n\n\t\t\t\tif (model) {\n\t\t\t\t\tres.models.push({ model });\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\treturn res;\n\t}\n\n\tasync readAllSlices(): Promise<SliceMachineManagerReadAllSlicesReturnType> {\n\t\tassertPluginsInitialized(this.sliceMachinePluginRunner);\n\n\t\tconst sliceMachineConfig = await this.project.getSliceMachineConfig();\n\t\tconst libraryIDs = sliceMachineConfig.libraries || [];\n\n\t\tconst res: SliceMachineManagerReadAllSlicesReturnType = {\n\t\t\tmodels: [],\n\t\t\terrors: [],\n\t\t};\n\n\t\tfor (const libraryID of libraryIDs) {\n\t\t\tconst { models, errors } = await this.readAllSlicesForLibrary({\n\t\t\t\tlibraryID,\n\t\t\t});\n\t\t\tres.errors.push(...errors);\n\n\t\t\tfor (const model of models) {\n\t\t\t\tres.models.push({\n\t\t\t\t\tlibraryID,\n\t\t\t\t\tmodel: model.model,\n\t\t\t\t});\n\t\t\t}\n\t\t}\n\n\t\treturn res;\n\t}\n\n\tasync createSlice(\n\t\targs: SliceCreateHookData,\n\t): Promise<OnlyHookErrors<CallHookReturnType<SliceCreateHook>>> {\n\t\tassertPluginsInitialized(this.sliceMachinePluginRunner);\n\n\t\tconst hookResult = await this.sliceMachinePluginRunner.callHook(\n\t\t\t\"slice:create\",\n\t\t\targs,\n\t\t);\n\n\t\tconst updateSliceMocksArgs: SliceMachineManagerUpdateSliceMocksArgs = {\n\t\t\tlibraryID: args.libraryID,\n\t\t\tsliceID: args.model.id,\n\t\t\tmocks: mockSlice({ model: args.model }),\n\t\t};\n\n\t\tconst { errors: updateSliceHookErrors } =\n\t\t\tawait this.updateSliceMocks(updateSliceMocksArgs);\n\n\t\treturn {\n\t\t\terrors: [...hookResult.errors, ...updateSliceHookErrors],\n\t\t};\n\t}\n\n\tasync readSlice(\n\t\targs: SliceReadHookData,\n\t): Promise<SliceMachineManagerReadSliceReturnType> {\n\t\tassertPluginsInitialized(this.sliceMachinePluginRunner);\n\n\t\tconst hookResult = await this.sliceMachinePluginRunner.callHook(\n\t\t\t\"slice:read\",\n\t\t\targs,\n\t\t);\n\t\tconst { data, errors } = decodeHookResult(\n\t\t\tt.type({\n\t\t\t\tmodel: SharedSlice,\n\t\t\t}),\n\t\t\thookResult,\n\t\t);\n\n\t\treturn {\n\t\t\tmodel: data[0]?.model,\n\t\t\terrors: errors.map((error) => {\n\t\t\t\terror.message = `Failed to decode slice model with id '${args.sliceID}': ${error.message}`;\n\n\t\t\t\treturn error;\n\t\t\t}),\n\t\t};\n\t}\n\n\tasync updateSlice(\n\t\targs: SliceMachineManagerUpdateSliceArgs,\n\t): Promise<OnlyHookErrors<CallHookReturnType<SliceUpdateHook>>> {\n\t\tassertPluginsInitialized(this.sliceMachinePluginRunner);\n\n\t\tconst { mocks: previousMocks } = await this.readSliceMocks({\n\t\t\tlibraryID: args.libraryID,\n\t\t\tsliceID: args.model.id,\n\t\t});\n\t\tconst { model: previousModel } = await this.readSlice({\n\t\t\tlibraryID: args.libraryID,\n\t\t\tsliceID: args.model.id,\n\t\t});\n\t\tconst hookResult = await this.sliceMachinePluginRunner.callHook(\n\t\t\t\"slice:update\",\n\t\t\targs,\n\t\t);\n\n\t\tconst updatedMocks = mockSlice({\n\t\t\tmodel: args.model,\n\t\t\tmocks: previousMocks,\n\t\t\tdiff: SliceComparator.compare(previousModel, args.model),\n\t\t});\n\t\tconst updateSliceMocksArgs: SliceMachineManagerUpdateSliceMocksArgs = {\n\t\t\tlibraryID: args.libraryID,\n\t\t\tsliceID: args.model.id,\n\t\t\tmocks: updatedMocks,\n\t\t};\n\n\t\tconst { errors: updateSliceMocksHookResult } =\n\t\t\tawait this.updateSliceMocks(updateSliceMocksArgs);\n\n\t\treturn {\n\t\t\terrors: [...hookResult.errors, ...updateSliceMocksHookResult],\n\t\t};\n\t}\n\n\tasync renameSlice(\n\t\targs: SliceRenameHookData,\n\t): Promise<OnlyHookErrors<CallHookReturnType<SliceRenameHook>>> {\n\t\tassertPluginsInitialized(this.sliceMachinePluginRunner);\n\n\t\tconst hookResult = await this.sliceMachinePluginRunner.callHook(\n\t\t\t\"slice:rename\",\n\t\t\targs,\n\t\t);\n\n\t\treturn {\n\t\t\terrors: hookResult.errors,\n\t\t};\n\t}\n\n\tasync deleteSlice(\n\t\targs: SliceMachineManagerDeleteSliceArgs,\n\t): Promise<SliceMachineManagerDeleteSliceReturnType> {\n\t\tassertPluginsInitialized(this.sliceMachinePluginRunner);\n\n\t\tconst { model, errors: readSliceErrors } = await this.readSlice({\n\t\t\tlibraryID: args.libraryID,\n\t\t\tsliceID: args.sliceID,\n\t\t});\n\n\t\tif (model) {\n\t\t\tconst { errors: deleteSliceErrors } =\n\t\t\t\tawait this.sliceMachinePluginRunner.callHook(\"slice:delete\", {\n\t\t\t\t\tmodel,\n\t\t\t\t\tlibraryID: args.libraryID,\n\t\t\t\t});\n\n\t\t\t// Do not update custom types if slice deletion failed\n\t\t\tif (deleteSliceErrors.length > 0) {\n\t\t\t\treturn {\n\t\t\t\t\terrors: deleteSliceErrors,\n\t\t\t\t};\n\t\t\t}\n\n\t\t\tconst { errors: updateCustomTypeErrors } =\n\t\t\t\tawait this._removeSliceFromCustomTypes(args.sliceID);\n\n\t\t\treturn {\n\t\t\t\terrors: updateCustomTypeErrors,\n\t\t\t};\n\t\t} else {\n\t\t\treturn {\n\t\t\t\terrors: readSliceErrors,\n\t\t\t};\n\t\t}\n\t}\n\n\tasync renameSliceVariation(\n\t\targs: SliceMachineManagerRenameSliceVariationArgs,\n\t): Promise<SliceMachineManagerRenameSliceVariationReturnType> {\n\t\tassertPluginsInitialized(this.sliceMachinePluginRunner);\n\n\t\t// TODO: Remove when we support renaming variation ID, see: DT-1708\n\t\tif (args.variationID !== args.model.id) {\n\t\t\tthrow new Error(\n\t\t\t\t\"Renaming variation ID is not supported yet by the backend, only rename its name! For more information, see: https://linear.app/prismic/issue/DT-1708\",\n\t\t\t);\n\t\t}\n\n\t\tconst { model, errors: readSliceErrors } = await this.readSlice({\n\t\t\tlibraryID: args.libraryID,\n\t\t\tsliceID: args.sliceID,\n\t\t});\n\n\t\tif (model) {\n\t\t\t// Find and rename the variation\n\t\t\tconst updatedModel = {\n\t\t\t\t...model,\n\t\t\t\tvariations: model.variations.map((variation) => {\n\t\t\t\t\tif (variation.id === args.variationID) {\n\t\t\t\t\t\t// Matches the slice we want to rename\n\t\t\t\t\t\treturn args.model;\n\t\t\t\t\t} else if (variation.id === args.model.id) {\n\t\t\t\t\t\t// Matches any other slice that has the ID of the renamed variation and throw.\n\t\t\t\t\t\t// This should be validated on the frontend first for better UX, this is only backend validation.\n\t\t\t\t\t\tthrow new Error(\n\t\t\t\t\t\t\t`Cannot rename variation \\`${args.variationID}\\` to \\`${args.model.id}\\`. A variation already exists with that ID in slice \\`${args.sliceID}\\` from library \\`${args.libraryID}\\`, try deleting it first or choose another variation ID to rename that slice.`,\n\t\t\t\t\t\t);\n\t\t\t\t\t}\n\n\t\t\t\t\treturn variation;\n\t\t\t\t}),\n\t\t\t};\n\t\t\tconst updateSliceHookResult =\n\t\t\t\tawait this.sliceMachinePluginRunner.callHook(\"slice:update\", {\n\t\t\t\t\tlibraryID: args.libraryID,\n\t\t\t\t\tmodel: updatedModel,\n\t\t\t\t});\n\n\t\t\t// If variation ID has changed, we need to rename assets accordingly\n\t\t\tconst assetsErrors: (DecodeError<unknown> | HookError<unknown>)[] = [];\n\t\t\tif (args.variationID !== args.model.id) {\n\t\t\t\t// Renaming screenshot\n\t\t\t\tconst { data: screenshot, errors: readSliceScreenshotErrors } =\n\t\t\t\t\tawait this.readSliceScreenshot({\n\t\t\t\t\t\tlibraryID: args.libraryID,\n\t\t\t\t\t\tsliceID: args.sliceID,\n\t\t\t\t\t\tvariationID: args.variationID,\n\t\t\t\t\t});\n\t\t\t\tassetsErrors.push(...readSliceScreenshotErrors);\n\n\t\t\t\tif (screenshot) {\n\t\t\t\t\t// Delete old ID screenshot\n\t\t\t\t\tconst { errors: deleteSliceScreenshotErrors } =\n\t\t\t\t\t\tawait this.deleteSliceScreenshot({\n\t\t\t\t\t\t\tlibraryID: args.libraryID,\n\t\t\t\t\t\t\tsliceID: args.sliceID,\n\t\t\t\t\t\t\tvariationID: args.variationID,\n\t\t\t\t\t\t});\n\t\t\t\t\tassetsErrors.push(...deleteSliceScreenshotErrors);\n\n\t\t\t\t\t// Create new ID screenshot\n\t\t\t\t\tconst { errors: updateSliceScreenshotErrors } =\n\t\t\t\t\t\tawait this.updateSliceScreenshot({\n\t\t\t\t\t\t\tlibraryID: args.libraryID,\n\t\t\t\t\t\t\tsliceID: args.sliceID,\n\t\t\t\t\t\t\tvariationID: args.model.id,\n\t\t\t\t\t\t\tdata: screenshot,\n\t\t\t\t\t\t});\n\t\t\t\t\tassetsErrors.push(...updateSliceScreenshotErrors);\n\t\t\t\t}\n\n\t\t\t\t// Renaming mocks\n\t\t\t\tconst { mocks, errors: readSliceMocksErrors } =\n\t\t\t\t\tawait this.readSliceMocks({\n\t\t\t\t\t\tlibraryID: args.libraryID,\n\t\t\t\t\t\tsliceID: args.sliceID,\n\t\t\t\t\t});\n\t\t\t\tassetsErrors.push(...readSliceMocksErrors);\n\n\t\t\t\tif (mocks?.length) {\n\t\t\t\t\tconst { errors: updateSliceMocksErrors } =\n\t\t\t\t\t\tawait this.updateSliceMocks({\n\t\t\t\t\t\t\tlibraryID: args.libraryID,\n\t\t\t\t\t\t\tsliceID: args.sliceID,\n\t\t\t\t\t\t\tmocks: mocks.map((mock) => {\n\t\t\t\t\t\t\t\tif (mock.variation === args.variationID) {\n\t\t\t\t\t\t\t\t\treturn {\n\t\t\t\t\t\t\t\t\t\t...mock,\n\t\t\t\t\t\t\t\t\t\tvariation: args.model.id,\n\t\t\t\t\t\t\t\t\t};\n\t\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t\treturn mock;\n\t\t\t\t\t\t\t}),\n\t\t\t\t\t\t});\n\t\t\t\t\tassetsErrors.push(...updateSliceMocksErrors);\n\t\t\t\t}\n\t\t\t}\n\n\t\t\treturn {\n\t\t\t\terrors: updateSliceHookResult.errors,\n\t\t\t\tassetsErrors,\n\t\t\t};\n\t\t} else {\n\t\t\treturn {\n\t\t\t\terrors: readSliceErrors,\n\t\t\t\tassetsErrors: [],\n\t\t\t};\n\t\t}\n\t}\n\n\tasync deleteSliceVariation(\n\t\targs: SliceMachineManagerDeleteSliceVariationArgs,\n\t): Promise<SliceMachineManagerDeleteSliceVariationReturnType> {\n\t\tassertPluginsInitialized(this.sliceMachinePluginRunner);\n\n\t\tconst { model, errors: readSliceErrors } = await this.readSlice({\n\t\t\tlibraryID: args.libraryID,\n\t\t\tsliceID: args.sliceID,\n\t\t});\n\n\t\tif (model) {\n\t\t\t// Remove variation from model and update it\n\t\t\tconst updatedModel = {\n\t\t\t\t...model,\n\t\t\t\tvariations: model.variations.filter(\n\t\t\t\t\t(variation) => variation.id !== args.variationID,\n\t\t\t\t),\n\t\t\t};\n\t\t\tconst updateSliceHookResult =\n\t\t\t\tawait this.sliceMachinePluginRunner.callHook(\"slice:update\", {\n\t\t\t\t\tlibraryID: args.libraryID,\n\t\t\t\t\tmodel: updatedModel,\n\t\t\t\t});\n\n\t\t\t// Cleanup deleted variation screenshot\n\t\t\tconst { errors: deleteSliceScreenshotErrors } =\n\t\t\t\tawait this.deleteSliceScreenshot(args);\n\n\t\t\t// Cleanup deleted variation mocks\n\t\t\tconst { mocks, errors: readSliceMocksErrors } = await this.readSliceMocks(\n\t\t\t\t{\n\t\t\t\t\tlibraryID: args.libraryID,\n\t\t\t\t\tsliceID: args.sliceID,\n\t\t\t\t},\n\t\t\t);\n\t\t\tlet updateSliceMocksErrors: SliceMachineManagerUpdateSliceMocksArgsReturnType[\"errors\"] =\n\t\t\t\t[];\n\t\t\tif (mocks?.length) {\n\t\t\t\tupdateSliceMocksErrors = (\n\t\t\t\t\tawait this.updateSliceMocks({\n\t\t\t\t\t\tlibraryID: args.libraryID,\n\t\t\t\t\t\tsliceID: args.sliceID,\n\t\t\t\t\t\tmocks: mocks.filter((mock) => mock.variation !== args.variationID),\n\t\t\t\t\t})\n\t\t\t\t).errors;\n\t\t\t}\n\n\t\t\treturn {\n\t\t\t\terrors: updateSliceHookResult.errors,\n\t\t\t\tassetsErrors: [\n\t\t\t\t\t...deleteSliceScreenshotErrors,\n\t\t\t\t\t...readSliceMocksErrors,\n\t\t\t\t\t...updateSliceMocksErrors,\n\t\t\t\t],\n\t\t\t};\n\t\t} else {\n\t\t\treturn {\n\t\t\t\terrors: readSliceErrors,\n\t\t\t\tassetsErrors: [],\n\t\t\t};\n\t\t}\n\t}\n\n\tasync convertLegacySliceToSharedSlice(\n\t\targs: SliceMachineManagerConvertLegacySliceToSharedSliceArgs,\n\t): Promise<SliceMachineManagerConvertLegacySliceToSharedSliceReturnType> {\n\t\tconst errors: (DecodeError | HookError)[] = [];\n\n\t\tconst { model: maybeExistingSlice } = await this.readSlice({\n\t\t\tlibraryID: args.dest.libraryID,\n\t\t\tsliceID: args.dest.sliceID,\n\t\t});\n\n\t\tconst legacySliceAsVariation: Variation = {\n\t\t\tid: args.dest.variationID,\n\t\t\tname: args.dest.variationName,\n\t\t\tdescription: args.dest.variationName,\n\t\t\timageUrl: \"\",\n\t\t\tdocURL: \"\",\n\t\t\tversion: \"initial\",\n\t\t\tprimary: {},\n\t\t\titems: {},\n\t\t};\n\n\t\tswitch (args.model.type) {\n\t\t\tcase \"Slice\":\n\t\t\t\tlegacySliceAsVariation.primary = args.model[\"non-repeat\"];\n\t\t\t\tlegacySliceAsVariation.items = args.model.repeat;\n\t\t\t\tbreak;\n\n\t\t\tcase \"Group\":\n\t\t\t\tlegacySliceAsVariation.items = args.model.config?.fields ?? {};\n\t\t\t\tbreak;\n\n\t\t\tdefault:\n\t\t\t\tlegacySliceAsVariation.primary = { [args.src.sliceID]: args.model };\n\t\t\t\tbreak;\n\t\t}\n\n\t\t// Convert as a slice variation, or merge against an existing slice variation\n\t\tif (maybeExistingSlice) {\n\t\t\tconst maybeVariation = maybeExistingSlice.variations.find(\n\t\t\t\t(variation) => variation.id === args.dest.variationID,\n\t\t\t);\n\n\t\t\t// If we're not merging against an existing slice variation, then we need to insert the new variation\n\t\t\tif (!maybeVariation) {\n\t\t\t\tmaybeExistingSlice.variations = [\n\t\t\t\t\t...maybeExistingSlice.variations,\n\t\t\t\t\tlegacySliceAsVariation,\n\t\t\t\t];\n\t\t\t}\n\n\t\t\tmaybeExistingSlice.legacyPaths ||= {};\n\t\t\tmaybeExistingSlice.legacyPaths[\n\t\t\t\t`${args.src.customTypeID}::${args.src.sliceZoneID}::${args.src.sliceID}`\n\t\t\t] = args.dest.variationID;\n\n\t\t\tawait this.updateSlice({\n\t\t\t\tlibraryID: args.dest.libraryID,\n\t\t\t\tmodel: maybeExistingSlice,\n\t\t\t});\n\t\t} else {\n\t\t\t// Convert to new shared slice\n\t\t\tawait this.createSlice({\n\t\t\t\tlibraryID: args.dest.libraryID,\n\t\t\t\tmodel: {\n\t\t\t\t\tid: args.dest.sliceID,\n\t\t\t\t\ttype: \"SharedSlice\",\n\t\t\t\t\tname: args.dest.sliceID,\n\t\t\t\t\tlegacyPaths: {\n\t\t\t\t\t\t[`${args.src.customTypeID}::${args.src.sliceZoneID}::${args.src.sliceID}`]:\n\t\t\t\t\t\t\targs.dest.variationID,\n\t\t\t\t\t},\n\t\t\t\t\tvariations: [legacySliceAsVariation],\n\t\t\t\t},\n\t\t\t});\n\t\t}\n\n\t\t// Update source custom type\n\t\tconst { model: customType, errors: customTypeReadErrors } =\n\t\t\tawait this.customTypes.readCustomType({\n\t\t\t\tid: args.src.customTypeID,\n\t\t\t});\n\t\terrors.push(...customTypeReadErrors);\n\n\t\tif (customType) {\n\t\t\tconst field = customType.json[args.src.tabID][args.src.sliceZoneID];\n\n\t\t\t// Convert legacy slice definition in slice zone to shared slice reference\n\t\t\tif (field.type === \"Slices\" && field.config?.choices) {\n\t\t\t\tdelete field.config.choices[args.src.sliceID];\n\t\t\t\tfield.config.choices[args.dest.sliceID] = {\n\t\t\t\t\ttype: \"SharedSlice\",\n\t\t\t\t};\n\t\t\t}\n\n\t\t\tconst { errors: customTypeUpdateErrors } =\n\t\t\t\tawait this.customTypes.updateCustomType({ model: customType });\n\t\t\terrors.push(...customTypeUpdateErrors);\n\t\t}\n\n\t\treturn { errors };\n\t}\n\n\t/**\n\t * @returns Record of variation IDs mapped to uploaded screenshot URLs.\n\t */\n\tasync pushSlice(\n\t\targs: SliceMachineManagerPushSliceArgs,\n\t): Promise<SliceMachineManagerPushSliceReturnType> {\n\t\tassertPluginsInitialized(this.sliceMachinePluginRunner);\n\n\t\tif (!(await this.user.checkIsLoggedIn())) {\n\t\t\tthrow new UnauthenticatedError();\n\t\t}\n\n\t\tconst { model, errors: readSliceErrors } = await this.readSlice({\n\t\t\tlibraryID: args.libraryID,\n\t\t\tsliceID: args.sliceID,\n\t\t});\n\n\t\tif (model) {\n\t\t\tconst modelWithScreenshots =\n\t\t\t\tawait this.updateSliceModelScreenshotsInPlace({\n\t\t\t\t\tlibraryID: args.libraryID,\n\t\t\t\t\tmodel,\n\t\t\t\t});\n\n\t\t\tconst authenticationToken = await this.user.getAuthenticationToken();\n\t\t\tconst repositoryName = await this.project.getResolvedRepositoryName();\n\n\t\t\t// TODO: Create a single shared client.\n\t\t\tconst client = prismicCustomTypesClient.createClient({\n\t\t\t\tendpoint: API_ENDPOINTS.PrismicModels,\n\t\t\t\trepositoryName,\n\t\t\t\ttoken: authenticationToken,\n\t\t\t\tuserAgent: args.userAgent || SLICE_MACHINE_USER_AGENT,\n\t\t\t\tfetch,\n\t\t\t});\n\n\t\t\ttry {\n\t\t\t\t// Check if Slice already exists on the repository.\n\t\t\t\tawait client.getSharedSliceByID(args.sliceID);\n\n\t\t\t\t// If it exists on the repository, update it.\n\t\t\t\tawait client.updateSharedSlice(modelWithScreenshots);\n\t\t\t} catch (error) {\n\t\t\t\tif (error instanceof prismicCustomTypesClient.NotFoundError) {\n\t\t\t\t\t// If the Slice doesn't exist on the repository, insert it.\n\t\t\t\t\tawait client.insertSharedSlice(modelWithScreenshots);\n\t\t\t\t} else if (error instanceof prismicCustomTypesClient.ForbiddenError) {\n\t\t\t\t\tthrow new UnauthorizedError(\n\t\t\t\t\t\t\"You do not have access to push Slices to this Prismic repository.\",\n\t\t\t\t\t);\n\t\t\t\t} else {\n\t\t\t\t\t// Pass the error through if it isn't the one we were expecting.\n\t\t\t\t\tthrow error;\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tconst screenshotURLs: Record<string, string> = {};\n\t\t\tfor (const variation of modelWithScreenshots.variations) {\n\t\t\t\tscreenshotURLs[variation.id] = variation.imageUrl;\n\t\t\t}\n\n\t\t\treturn {\n\t\t\t\tscreenshotURLs,\n\t\t\t\terrors: readSliceErrors,\n\t\t\t};\n\t\t} else {\n\t\t\treturn {\n\t\t\t\tscreenshotURLs: undefined,\n\t\t\t\terrors: readSliceErrors,\n\t\t\t};\n\t\t}\n\t}\n\n\tasync readSliceScreenshot(\n\t\targs: SliceMachineManagerReadSliceScreenshotArgs,\n\t): Promise<SliceMachineManagerReadSliceScreenshotReturnType> {\n\t\tassertPluginsInitialized(this.sliceMachinePluginRunner);\n\n\t\tconst hookResult = await this.sliceMachinePluginRunner.callHook(\n\t\t\t\"slice:asset:read\",\n\t\t\t{\n\t\t\t\tlibraryID: args.libraryID,\n\t\t\t\tsliceID: args.sliceID,\n\t\t\t\tassetID: `screenshot-${args.variationID}.png`,\n\t\t\t},\n\t\t);\n\t\tconst { data, errors } = decodeHookResult(\n\t\t\tt.type({\n\t\t\t\tdata: bufferCodec,\n\t\t\t}),\n\t\t\thookResult,\n\t\t);\n\n\t\treturn {\n\t\t\tdata: data[0]?.data,\n\t\t\terrors: errors,\n\t\t};\n\t}\n\n\tasync updateSliceScreenshot(\n\t\targs: SliceMachineManagerUpdateSliceScreenshotArgs,\n\t): Promise<OnlyHookErrors<CallHookReturnType<SliceAssetUpdateHook>>> {\n\t\tassertPluginsInitialized(this.sliceMachinePluginRunner);\n\n\t\tconst hookResult = await this.sliceMachinePluginRunner.callHook(\n\t\t\t\"slice:asset:update\",\n\t\t\t{\n\t\t\t\tlibraryID: args.libraryID,\n\t\t\t\tsliceID: args.sliceID,\n\t\t\t\tasset: {\n\t\t\t\t\tid: `screenshot-${args.variationID}.png`,\n\t\t\t\t\tdata: args.data,\n\t\t\t\t},\n\t\t\t},\n\t\t);\n\n\t\treturn {\n\t\t\terrors: hookResult.errors,\n\t\t};\n\t}\n\n\tasync deleteSliceScreenshot(\n\t\targs: SliceMachineManagerDeleteSliceScreenshotArgs,\n\t): Promise<OnlyHookErrors<CallHookReturnType<SliceAssetUpdateHook>>> {\n\t\tassertPluginsInitialized(this.sliceMachinePluginRunner);\n\n\t\tconst hookResult = await this.sliceMachinePluginRunner.callHook(\n\t\t\t\"slice:asset:delete\",\n\t\t\t{\n\t\t\t\tlibraryID: args.libraryID,\n\t\t\t\tsliceID: args.sliceID,\n\t\t\t\tassetID: `screenshot-${args.variationID}.png`,\n\t\t\t},\n\t\t);\n\n\t\treturn {\n\t\t\terrors: hookResult.errors,\n\t\t};\n\t}\n\n\tasync readSliceMocks(\n\t\targs: SliceMachineManagerReadSliceMocksArgs,\n\t): Promise<SliceMachineManagerReadSliceMocksReturnType> {\n\t\tassertPluginsInitialized(this.sliceMachinePluginRunner);\n\n\t\tconst hookResult = await this.sliceMachinePluginRunner.callHook(\n\t\t\t\"slice:asset:read\",\n\t\t\t{\n\t\t\t\tlibraryID: args.libraryID,\n\t\t\t\tsliceID: args.sliceID,\n\t\t\t\tassetID: `mocks.json`,\n\t\t\t},\n\t\t);\n\t\tconst { data, errors } = decodeHookResult(\n\t\t\tt.type({\n\t\t\t\tdata: t.array(SharedSliceContent),\n\t\t\t}),\n\t\t\t{\n\t\t\t\t...hookResult,\n\t\t\t\t// Convert the asset data from a Buffer to JSON\n\t\t\t\t// to prepare it for validation.\n\t\t\t\tdata: hookResult.data.map((result) => {\n\t\t\t\t\ttry {\n\t\t\t\t\t\treturn {\n\t\t\t\t\t\t\t...result,\n\t\t\t\t\t\t\tdata: JSON.parse(result.data.toString()),\n\t\t\t\t\t\t};\n\t\t\t\t\t} catch {\n\t\t\t\t\t\treturn result;\n\t\t\t\t\t}\n\t\t\t\t}),\n\t\t\t},\n\t\t);\n\n\t\tif (data) {\n\t\t\treturn {\n\t\t\t\tmocks: data[0]?.data,\n\t\t\t\terrors,\n\t\t\t};\n\t\t} else {\n\t\t\treturn {\n\t\t\t\tmocks: [],\n\t\t\t\terrors,\n\t\t\t};\n\t\t}\n\t}\n\n\tasync updateSliceMocks(\n\t\targs: SliceMachineManagerUpdateSliceMocksArgs,\n\t): Promise<SliceMachineManagerUpdateSliceMocksArgsReturnType> {\n\t\tassertPluginsInitialized(this.sliceMachinePluginRunner);\n\n\t\tconst hookResult = await this.sliceMachinePluginRunner.callHook(\n\t\t\t\"slice:asset:update\",\n\t\t\t{\n\t\t\t\tlibraryID: args.libraryID,\n\t\t\t\tsliceID: args.sliceID,\n\t\t\t\tasset: {\n\t\t\t\t\tid: \"mocks.json\",\n\t\t\t\t\tdata: Buffer.from(JSON.stringify(args.mocks, null, \"\\t\")),\n\t\t\t\t},\n\t\t\t},\n\t\t);\n\n\t\treturn {\n\t\t\terrors: hookResult.errors,\n\t\t};\n\t}\n\n\t// TODO: Remove\n\tasync readSliceMocksConfig(\n\t\targs: SliceMachineManagerReadSliceMocksConfigArgs,\n\t): Promise<SliceMachineManagerReadSliceMocksConfigArgsReturnType> {\n\t\tassertPluginsInitialized(this.sliceMachinePluginRunner);\n\n\t\tconst hookResult = await this.sliceMachinePluginRunner.callHook(\n\t\t\t\"slice:asset:read\",\n\t\t\t{\n\t\t\t\tlibraryID: args.libraryID,\n\t\t\t\tsliceID: args.sliceID,\n\t\t\t\tassetID: \"mocks.config.json\",\n\t\t\t},\n\t\t);\n\t\tconst data = hookResult.data[0]?.data;\n\n\t\t// TODO: Validate the returned data.\n\n\t\tif (data) {\n\t\t\treturn {\n\t\t\t\tmocksConfig: JSON.parse(data.toString()),\n\t\t\t\terrors: hookResult.errors,\n\t\t\t};\n\t\t} else {\n\t\t\treturn {\n\t\t\t\tmocksConfig: undefined,\n\t\t\t\terrors: hookResult.errors,\n\t\t\t};\n\t\t}\n\t}\n\n\tasync fetchRemoteSlices(): Promise<SharedSlice[]> {\n\t\tconst authenticationToken = await this.user.getAuthenticationToken();\n\t\tconst repositoryName = await this.project.getResolvedRepositoryName();\n\n\t\tconst client = prismicCustomTypesClient.createClient({\n\t\t\tendpoint: API_ENDPOINTS.PrismicModels,\n\t\t\trepositoryName,\n\t\t\ttoken: authenticationToken,\n\t\t\tuserAgent: SLICE_MACHINE_USER_AGENT,\n\t\t\tfetch,\n\t\t});\n\n\t\treturn await client.getAllSharedSlices();\n\t}\n\n\tasync updateSliceModelScreenshotsInPlace(\n\t\targs: SlicesManagerUpsertHostedSliceScrenshotsArgs,\n\t): Promise<SharedSlice> {\n\t\tconst sliceMachineConfig = await this.project.getSliceMachineConfig();\n\n\t\tconst variations = await Promise.all(\n\t\t\targs.model.variations.map(async (variation) => {\n\t\t\t\tconst screenshot = await this.readSliceScreenshot({\n\t\t\t\t\tlibraryID: args.libraryID,\n\t\t\t\t\tsliceID: args.model.id,\n\t\t\t\t\tvariationID: variation.id,\n\t\t\t\t});\n\n\t\t\t\t// If there's no screenshot, delete it by replacing it with the default screenshot\n\t\t\t\tif (!screenshot.data) {\n\t\t\t\t\treturn {\n\t\t\t\t\t\t...variation,\n\t\t\t\t\t\timageUrl: DEFAULT_SLICE_SCREENSHOT_URL,\n\t\t\t\t\t};\n\t\t\t\t}\n\n\t\t\t\tconst hasScreenshotChanged = !variation.imageUrl?.includes(\n\t\t\t\t\tcreateContentDigest(screenshot.data),\n\t\t\t\t);\n\n\t\t\t\t// If screenshot hasn't changed, do nothing\n\t\t\t\tif (!hasScreenshotChanged) {\n\t\t\t\t\treturn variation;\n\t\t\t\t}\n\n\t\t\t\tconst keyPrefix = [\n\t\t\t\t\tsliceMachineConfig.repositoryName,\n\t\t\t\t\t\"shared-slices\",\n\t\t\t\t\targs.model.id,\n\t\t\t\t\tvariation.id,\n\t\t\t\t].join(\"/\");\n\n\t\t\t\tconst uploadedScreenshot = await this.screenshots.uploadScreenshot({\n\t\t\t\t\tdata: screenshot.data,\n\t\t\t\t\tkeyPrefix,\n\t\t\t\t});\n\n\t\t\t\treturn {\n\t\t\t\t\t...variation,\n\t\t\t\t\timageUrl: uploadedScreenshot.url,\n\t\t\t\t};\n\t\t\t}),\n\t\t);\n\n\t\treturn {\n\t\t\t...args.model,\n\t\t\tvariations,\n\t\t};\n\t}\n\n\tprivate async _removeSliceFromCustomTypes(sliceID: string) {\n\t\tconst { models, errors: customTypeReadErrors } =\n\t\t\tawait this.customTypes.readAllCustomTypes();\n\n\t\t// Successfully update all custom types or throw\n\t\tawait Promise.all(\n\t\t\tmodels.map(async (customType) => {\n\t\t\t\tconst updatedJsonModel = Object.entries(customType.model.json).reduce(\n\t\t\t\t\t(tabAccumulator, [tabKey, tab]) => {\n\t\t\t\t\t\tconst updatedTabFields = Object.entries(tab).reduce(\n\t\t\t\t\t\t\t(fieldAccumulator, [fieldKey, field]) => {\n\t\t\t\t\t\t\t\tif (\n\t\t\t\t\t\t\t\t\tfield.config === undefined ||\n\t\t\t\t\t\t\t\t\tfield.type !== \"Slices\" ||\n\t\t\t\t\t\t\t\t\tfield.config.choices === undefined\n\t\t\t\t\t\t\t\t) {\n\t\t\t\t\t\t\t\t\treturn { ...fieldAccumulator, [fieldKey]: field };\n\t\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t\tconst filteredChoices = Object.entries(\n\t\t\t\t\t\t\t\t\tfield.config.choices,\n\t\t\t\t\t\t\t\t).reduce((choiceAccumulator, [choiceKey, choice]) => {\n\t\t\t\t\t\t\t\t\tif (choiceKey === sliceID) {\n\t\t\t\t\t\t\t\t\t\treturn choiceAccumulator;\n\t\t\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t\t\treturn { ...choiceAccumulator, [choiceKey]: choice };\n\t\t\t\t\t\t\t\t}, {});\n\n\t\t\t\t\t\t\t\treturn {\n\t\t\t\t\t\t\t\t\t...fieldAccumulator,\n\t\t\t\t\t\t\t\t\t[fieldKey]: {\n\t\t\t\t\t\t\t\t\t\t...field,\n\t\t\t\t\t\t\t\t\t\tconfig: { ...field.config, choices: filteredChoices },\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t};\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t{},\n\t\t\t\t\t\t);\n\n\t\t\t\t\t\treturn { ...tabAccumulator, [tabKey]: updatedTabFields };\n\t\t\t\t\t},\n\t\t\t\t\t{},\n\t\t\t\t);\n\n\t\t\t\tawait this.customTypes.updateCustomType({\n\t\t\t\t\tmodel: { ...customType.model, json: updatedJsonModel },\n\t\t\t\t});\n\t\t\t}),\n\t\t);\n\n\t\treturn { errors: customTypeReadErrors };\n\t}\n}\n"],"names":["errors"],"mappings":"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"}
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
|
3
|
+
const t = require("io-ts");
|
|
4
|
+
const assertPluginsInitialized = require("../../lib/assertPluginsInitialized.cjs");
|
|
5
|
+
const decodeHookResult = require("../../lib/decodeHookResult.cjs");
|
|
6
|
+
const BaseManager = require("../BaseManager.cjs");
|
|
7
|
+
function _interopNamespaceDefault(e) {
|
|
8
|
+
const n = Object.create(null, { [Symbol.toStringTag]: { value: "Module" } });
|
|
9
|
+
if (e) {
|
|
10
|
+
for (const k in e) {
|
|
11
|
+
if (k !== "default") {
|
|
12
|
+
const d = Object.getOwnPropertyDescriptor(e, k);
|
|
13
|
+
Object.defineProperty(n, k, d.get ? d : {
|
|
14
|
+
enumerable: true,
|
|
15
|
+
get: () => e[k]
|
|
16
|
+
});
|
|
17
|
+
}
|
|
18
|
+
}
|
|
19
|
+
}
|
|
20
|
+
n.default = e;
|
|
21
|
+
return Object.freeze(n);
|
|
22
|
+
}
|
|
23
|
+
const t__namespace = /* @__PURE__ */ _interopNamespaceDefault(t);
|
|
24
|
+
const snippetCodec = t__namespace.type({
|
|
25
|
+
label: t__namespace.string,
|
|
26
|
+
language: t__namespace.string,
|
|
27
|
+
code: t__namespace.string
|
|
28
|
+
});
|
|
29
|
+
class SnippetsManager extends BaseManager.BaseManager {
|
|
30
|
+
async readSnippets(args) {
|
|
31
|
+
assertPluginsInitialized.assertPluginsInitialized(this.sliceMachinePluginRunner);
|
|
32
|
+
const hookResult = await this.sliceMachinePluginRunner.callHook("snippet:read", args);
|
|
33
|
+
const { data, errors } = decodeHookResult.decodeHookResult(t__namespace.union([snippetCodec, t__namespace.array(snippetCodec)]), hookResult);
|
|
34
|
+
return {
|
|
35
|
+
snippets: data.flat(),
|
|
36
|
+
errors
|
|
37
|
+
};
|
|
38
|
+
}
|
|
39
|
+
}
|
|
40
|
+
exports.SnippetsManager = SnippetsManager;
|
|
41
|
+
//# sourceMappingURL=SnippetsManager.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"SnippetsManager.cjs","sources":["../../../../src/managers/snippets/SnippetsManager.ts"],"sourcesContent":["import * as t from \"io-ts\";\nimport {\n\tHookError,\n\tSnippet,\n\tSnippetReadHookData,\n} from \"@slicemachine/plugin-kit\";\n\nimport { DecodeError } from \"../../lib/DecodeError\";\nimport { assertPluginsInitialized } from \"../../lib/assertPluginsInitialized\";\nimport { decodeHookResult } from \"../../lib/decodeHookResult\";\n\nimport { BaseManager } from \"../BaseManager\";\n\nconst snippetCodec = t.type({\n\tlabel: t.string,\n\tlanguage: t.string,\n\tcode: t.string,\n});\n\ntype SnippetsMangerUpdateSliceReturnType = {\n\tsnippets: Snippet[];\n\terrors: (DecodeError | HookError)[];\n};\n\nexport class SnippetsManager extends BaseManager {\n\tasync readSnippets(\n\t\targs: SnippetReadHookData,\n\t): Promise<SnippetsMangerUpdateSliceReturnType> {\n\t\tassertPluginsInitialized(this.sliceMachinePluginRunner);\n\n\t\tconst hookResult = await this.sliceMachinePluginRunner.callHook(\n\t\t\t\"snippet:read\",\n\t\t\targs,\n\t\t);\n\t\tconst { data, errors } = decodeHookResult(\n\t\t\tt.union([snippetCodec, t.array(snippetCodec)]),\n\t\t\thookResult,\n\t\t);\n\n\t\treturn {\n\t\t\tsnippets: data.flat(),\n\t\t\terrors,\n\t\t};\n\t}\n}\n"],"names":["t","BaseManager","assertPluginsInitialized","decodeHookResult"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;AAaA,MAAM,eAAeA,aAAE,KAAK;AAAA,EAC3B,OAAOA,aAAE;AAAA,EACT,UAAUA,aAAE;AAAA,EACZ,MAAMA,aAAE;AACR,CAAA;AAOK,MAAO,wBAAwBC,YAAAA,YAAW;AAAA,EAC/C,MAAM,aACL,MAAyB;AAEzBC,sDAAyB,KAAK,wBAAwB;AAEtD,UAAM,aAAa,MAAM,KAAK,yBAAyB,SACtD,gBACA,IAAI;AAEL,UAAM,EAAE,MAAM,OAAM,IAAKC,kCACxBH,aAAE,MAAM,CAAC,cAAcA,aAAE,MAAM,YAAY,CAAC,CAAC,GAC7C,UAAU;AAGJ,WAAA;AAAA,MACN,UAAU,KAAK,KAAM;AAAA,MACrB;AAAA,IAAA;AAAA,EAEF;AACA;;"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { HookError, Snippet, SnippetReadHookData } from "@slicemachine/plugin-kit";
|
|
2
|
+
import { DecodeError } from "../../lib/DecodeError";
|
|
3
|
+
import { BaseManager } from "../BaseManager";
|
|
4
|
+
type SnippetsMangerUpdateSliceReturnType = {
|
|
5
|
+
snippets: Snippet[];
|
|
6
|
+
errors: (DecodeError | HookError)[];
|
|
7
|
+
};
|
|
8
|
+
export declare class SnippetsManager extends BaseManager {
|
|
9
|
+
readSnippets(args: SnippetReadHookData): Promise<SnippetsMangerUpdateSliceReturnType>;
|
|
10
|
+
}
|
|
11
|
+
export {};
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import * as t from "io-ts";
|
|
2
|
+
import { assertPluginsInitialized } from "../../lib/assertPluginsInitialized.js";
|
|
3
|
+
import { decodeHookResult } from "../../lib/decodeHookResult.js";
|
|
4
|
+
import { BaseManager } from "../BaseManager.js";
|
|
5
|
+
const snippetCodec = t.type({
|
|
6
|
+
label: t.string,
|
|
7
|
+
language: t.string,
|
|
8
|
+
code: t.string
|
|
9
|
+
});
|
|
10
|
+
class SnippetsManager extends BaseManager {
|
|
11
|
+
async readSnippets(args) {
|
|
12
|
+
assertPluginsInitialized(this.sliceMachinePluginRunner);
|
|
13
|
+
const hookResult = await this.sliceMachinePluginRunner.callHook("snippet:read", args);
|
|
14
|
+
const { data, errors } = decodeHookResult(t.union([snippetCodec, t.array(snippetCodec)]), hookResult);
|
|
15
|
+
return {
|
|
16
|
+
snippets: data.flat(),
|
|
17
|
+
errors
|
|
18
|
+
};
|
|
19
|
+
}
|
|
20
|
+
}
|
|
21
|
+
export {
|
|
22
|
+
SnippetsManager
|
|
23
|
+
};
|
|
24
|
+
//# sourceMappingURL=SnippetsManager.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"SnippetsManager.js","sources":["../../../../src/managers/snippets/SnippetsManager.ts"],"sourcesContent":["import * as t from \"io-ts\";\nimport {\n\tHookError,\n\tSnippet,\n\tSnippetReadHookData,\n} from \"@slicemachine/plugin-kit\";\n\nimport { DecodeError } from \"../../lib/DecodeError\";\nimport { assertPluginsInitialized } from \"../../lib/assertPluginsInitialized\";\nimport { decodeHookResult } from \"../../lib/decodeHookResult\";\n\nimport { BaseManager } from \"../BaseManager\";\n\nconst snippetCodec = t.type({\n\tlabel: t.string,\n\tlanguage: t.string,\n\tcode: t.string,\n});\n\ntype SnippetsMangerUpdateSliceReturnType = {\n\tsnippets: Snippet[];\n\terrors: (DecodeError | HookError)[];\n};\n\nexport class SnippetsManager extends BaseManager {\n\tasync readSnippets(\n\t\targs: SnippetReadHookData,\n\t): Promise<SnippetsMangerUpdateSliceReturnType> {\n\t\tassertPluginsInitialized(this.sliceMachinePluginRunner);\n\n\t\tconst hookResult = await this.sliceMachinePluginRunner.callHook(\n\t\t\t\"snippet:read\",\n\t\t\targs,\n\t\t);\n\t\tconst { data, errors } = decodeHookResult(\n\t\t\tt.union([snippetCodec, t.array(snippetCodec)]),\n\t\t\thookResult,\n\t\t);\n\n\t\treturn {\n\t\t\tsnippets: data.flat(),\n\t\t\terrors,\n\t\t};\n\t}\n}\n"],"names":[],"mappings":";;;;AAaA,MAAM,eAAe,EAAE,KAAK;AAAA,EAC3B,OAAO,EAAE;AAAA,EACT,UAAU,EAAE;AAAA,EACZ,MAAM,EAAE;AACR,CAAA;AAOK,MAAO,wBAAwB,YAAW;AAAA,EAC/C,MAAM,aACL,MAAyB;AAEzB,6BAAyB,KAAK,wBAAwB;AAEtD,UAAM,aAAa,MAAM,KAAK,yBAAyB,SACtD,gBACA,IAAI;AAEL,UAAM,EAAE,MAAM,OAAM,IAAK,iBACxB,EAAE,MAAM,CAAC,cAAc,EAAE,MAAM,YAAY,CAAC,CAAC,GAC7C,UAAU;AAGJ,WAAA;AAAA,MACN,UAAU,KAAK,KAAM;AAAA,MACrB;AAAA,IAAA;AAAA,EAEF;AACA;"}
|
|
@@ -0,0 +1,154 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __defProp = Object.defineProperty;
|
|
3
|
+
var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
|
|
4
|
+
var __publicField = (obj, key, value) => {
|
|
5
|
+
__defNormalProp(obj, typeof key !== "symbol" ? key + "" : key, value);
|
|
6
|
+
return value;
|
|
7
|
+
};
|
|
8
|
+
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
|
9
|
+
const crypto = require("node:crypto");
|
|
10
|
+
const analyticsNode = require("@segment/analytics-node");
|
|
11
|
+
const prismicrc = require("../../lib/prismicrc.cjs");
|
|
12
|
+
const API_TOKENS = require("../../constants/API_TOKENS.cjs");
|
|
13
|
+
const BaseManager = require("../BaseManager.cjs");
|
|
14
|
+
const types = require("./types.cjs");
|
|
15
|
+
function assertTelemetryInitialized(segmentClient) {
|
|
16
|
+
if (segmentClient === void 0) {
|
|
17
|
+
throw new Error("Telemetry has not been initialized. Run `SliceMachineManager.telemetry.prototype.initTelemetry()` before re-calling this method.");
|
|
18
|
+
}
|
|
19
|
+
}
|
|
20
|
+
class TelemetryManager extends BaseManager.BaseManager {
|
|
21
|
+
constructor() {
|
|
22
|
+
super(...arguments);
|
|
23
|
+
__publicField(this, "_segmentClient");
|
|
24
|
+
__publicField(this, "_anonymousID");
|
|
25
|
+
__publicField(this, "_userID");
|
|
26
|
+
__publicField(this, "_context");
|
|
27
|
+
}
|
|
28
|
+
async initTelemetry(args) {
|
|
29
|
+
const isTelemetryEnabled = await this.checkIsTelemetryEnabled();
|
|
30
|
+
this._segmentClient = () => {
|
|
31
|
+
const analytics = new analyticsNode.Analytics({
|
|
32
|
+
writeKey: API_TOKENS.API_TOKENS.SegmentKey,
|
|
33
|
+
// Since it's a local app, we do not benefit from event batching the way a server would normally do, all tracking event will be awaited.
|
|
34
|
+
maxEventsInBatch: 1,
|
|
35
|
+
// TODO: Verify that this actually does not send data to Segment when false.
|
|
36
|
+
disable: !isTelemetryEnabled
|
|
37
|
+
});
|
|
38
|
+
analytics.on("error", (error) => {
|
|
39
|
+
console.error(`An error occurred with Segment`, error);
|
|
40
|
+
});
|
|
41
|
+
return analytics;
|
|
42
|
+
};
|
|
43
|
+
this._anonymousID = crypto.randomUUID();
|
|
44
|
+
this._context = { app: { name: args.appName, version: args.appVersion } };
|
|
45
|
+
}
|
|
46
|
+
// TODO: Should `userId` be automatically populated by the logged in
|
|
47
|
+
// user? We already have their info via UserRepository.
|
|
48
|
+
async track(args) {
|
|
49
|
+
var _a;
|
|
50
|
+
const { event, repository, ...properties } = args;
|
|
51
|
+
let repositoryName = repository;
|
|
52
|
+
if (repositoryName === void 0) {
|
|
53
|
+
try {
|
|
54
|
+
repositoryName = await this.project.getRepositoryName();
|
|
55
|
+
} catch (error) {
|
|
56
|
+
}
|
|
57
|
+
}
|
|
58
|
+
const payload = {
|
|
59
|
+
event: types.HumanSegmentEventType[event],
|
|
60
|
+
properties: {
|
|
61
|
+
nodeVersion: process.versions.node,
|
|
62
|
+
...properties
|
|
63
|
+
},
|
|
64
|
+
context: { ...this._context }
|
|
65
|
+
};
|
|
66
|
+
if (this._userID) {
|
|
67
|
+
payload.userId = this._userID;
|
|
68
|
+
} else {
|
|
69
|
+
payload.anonymousId = this._anonymousID;
|
|
70
|
+
}
|
|
71
|
+
if (repositoryName) {
|
|
72
|
+
payload.context || (payload.context = {});
|
|
73
|
+
(_a = payload.context).groupId || (_a.groupId = {});
|
|
74
|
+
payload.context.groupId.Repository = repositoryName;
|
|
75
|
+
}
|
|
76
|
+
return new Promise((resolve) => {
|
|
77
|
+
assertTelemetryInitialized(this._segmentClient);
|
|
78
|
+
this._segmentClient().track(payload, (maybeError) => {
|
|
79
|
+
if (maybeError && false) {
|
|
80
|
+
console.warn(`An error occurred during Segment tracking`, maybeError);
|
|
81
|
+
}
|
|
82
|
+
resolve();
|
|
83
|
+
});
|
|
84
|
+
});
|
|
85
|
+
}
|
|
86
|
+
// TODO: Should `userID` and `intercomHash` be automatically populated
|
|
87
|
+
// by the logged in user? We already have their info via
|
|
88
|
+
// UserRepository.
|
|
89
|
+
identify(args) {
|
|
90
|
+
const payload = {
|
|
91
|
+
userId: args.userID,
|
|
92
|
+
anonymousId: this._anonymousID,
|
|
93
|
+
integrations: {
|
|
94
|
+
Intercom: {
|
|
95
|
+
user_hash: args.intercomHash
|
|
96
|
+
}
|
|
97
|
+
},
|
|
98
|
+
context: { ...this._context }
|
|
99
|
+
};
|
|
100
|
+
this._userID = args.userID;
|
|
101
|
+
return new Promise((resolve) => {
|
|
102
|
+
assertTelemetryInitialized(this._segmentClient);
|
|
103
|
+
this._segmentClient().identify(payload, (maybeError) => {
|
|
104
|
+
if (maybeError && false) {
|
|
105
|
+
console.warn(`An error occurred during Segment identify`, maybeError);
|
|
106
|
+
}
|
|
107
|
+
resolve();
|
|
108
|
+
});
|
|
109
|
+
});
|
|
110
|
+
}
|
|
111
|
+
async group(args) {
|
|
112
|
+
var _a;
|
|
113
|
+
let repositoryName;
|
|
114
|
+
try {
|
|
115
|
+
repositoryName = await this.project.getRepositoryName();
|
|
116
|
+
} catch (error) {
|
|
117
|
+
}
|
|
118
|
+
const payload = {
|
|
119
|
+
traits: args,
|
|
120
|
+
context: { ...this._context }
|
|
121
|
+
};
|
|
122
|
+
if (this._userID) {
|
|
123
|
+
payload.userId = this._userID;
|
|
124
|
+
} else {
|
|
125
|
+
payload.anonymousId = this._anonymousID;
|
|
126
|
+
}
|
|
127
|
+
if (repositoryName) {
|
|
128
|
+
payload.groupId = repositoryName;
|
|
129
|
+
payload.context || (payload.context = {});
|
|
130
|
+
(_a = payload.context).groupId || (_a.groupId = {});
|
|
131
|
+
payload.context.groupId.Repository = repositoryName;
|
|
132
|
+
}
|
|
133
|
+
return new Promise((resolve) => {
|
|
134
|
+
assertTelemetryInitialized(this._segmentClient);
|
|
135
|
+
this._segmentClient().group(payload, (maybeError) => {
|
|
136
|
+
if (maybeError && false) {
|
|
137
|
+
console.warn(`An error occurred during Segment group`, maybeError);
|
|
138
|
+
}
|
|
139
|
+
resolve();
|
|
140
|
+
});
|
|
141
|
+
});
|
|
142
|
+
}
|
|
143
|
+
async checkIsTelemetryEnabled() {
|
|
144
|
+
let root;
|
|
145
|
+
try {
|
|
146
|
+
root = await this.project.getRoot();
|
|
147
|
+
} catch {
|
|
148
|
+
root = await this.project.suggestRoot();
|
|
149
|
+
}
|
|
150
|
+
return prismicrc.readPrismicrc(root).telemetry !== false;
|
|
151
|
+
}
|
|
152
|
+
}
|
|
153
|
+
exports.TelemetryManager = TelemetryManager;
|
|
154
|
+
//# sourceMappingURL=TelemetryManager.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"TelemetryManager.cjs","sources":["../../../../src/managers/telemetry/TelemetryManager.ts"],"sourcesContent":["import { randomUUID } from \"node:crypto\";\n\nimport { Analytics, GroupParams, TrackParams } from \"@segment/analytics-node\";\n\nimport { readPrismicrc } from \"../../lib/prismicrc\";\n\nimport { API_TOKENS } from \"../../constants/API_TOKENS\";\n\nimport { BaseManager } from \"../BaseManager\";\n\nimport {\n\tHumanSegmentEventType,\n\tHumanSegmentEventTypes,\n\tSegmentEvents,\n} from \"./types\";\n\ntype TelemetryManagerInitTelemetryArgs = {\n\tappName: string;\n\tappVersion: string;\n};\n\ntype TelemetryManagerTrackArgs = SegmentEvents;\n\ntype TelemetryManagerIdentifyArgs = {\n\tuserID: string;\n\tintercomHash: string;\n};\n\ntype TelemetryManagerGroupArgs = {\n\tmanualLibsCount: number;\n\tdownloadedLibsCount: number;\n\tnpmLibsCount: number;\n\tdownloadedLibs: string[];\n};\n\ntype TelemetryManagerContext = {\n\tapp: {\n\t\tname: string;\n\t\tversion: string;\n\t};\n};\n\nfunction assertTelemetryInitialized(\n\tsegmentClient: (() => Analytics) | undefined,\n): asserts segmentClient is NonNullable<typeof segmentClient> {\n\tif (segmentClient === undefined) {\n\t\tthrow new Error(\n\t\t\t\"Telemetry has not been initialized. Run `SliceMachineManager.telemetry.prototype.initTelemetry()` before re-calling this method.\",\n\t\t);\n\t}\n}\n\nexport class TelemetryManager extends BaseManager {\n\tprivate _segmentClient: (() => Analytics) | undefined = undefined;\n\tprivate _anonymousID: string | undefined = undefined;\n\tprivate _userID: string | undefined = undefined;\n\tprivate _context: TelemetryManagerContext | undefined = undefined;\n\n\tasync initTelemetry(args: TelemetryManagerInitTelemetryArgs): Promise<void> {\n\t\tconst isTelemetryEnabled = await this.checkIsTelemetryEnabled();\n\n\t\tthis._segmentClient = () => {\n\t\t\tconst analytics = new Analytics({\n\t\t\t\twriteKey: API_TOKENS.SegmentKey,\n\t\t\t\t// Since it's a local app, we do not benefit from event batching the way a server would normally do, all tracking event will be awaited.\n\t\t\t\tmaxEventsInBatch: 1,\n\t\t\t\t// TODO: Verify that this actually does not send data to Segment when false.\n\t\t\t\tdisable: !isTelemetryEnabled,\n\t\t\t});\n\n\t\t\tanalytics.on(\"error\", (error) => {\n\t\t\t\t// noop - We don't care if the tracking event\n\t\t\t\t// failed. Some users or networks intentionally\n\t\t\t\t// block Segment, so we can't block the app if\n\t\t\t\t// a tracking event is unsuccessful.\n\t\t\t\tconsole.error(`An error occurred with Segment`, error);\n\t\t\t});\n\n\t\t\treturn analytics;\n\t\t};\n\n\t\tthis._anonymousID = randomUUID();\n\t\tthis._context = { app: { name: args.appName, version: args.appVersion } };\n\t}\n\n\t// TODO: Should `userId` be automatically populated by the logged in\n\t// user? We already have their info via UserRepository.\n\tasync track(args: TelemetryManagerTrackArgs): Promise<void> {\n\t\tconst { event, repository, ...properties } = args;\n\t\tlet repositoryName = repository;\n\n\t\tif (repositoryName === undefined) {\n\t\t\ttry {\n\t\t\t\trepositoryName = await this.project.getRepositoryName();\n\t\t\t} catch (error) {\n\t\t\t\t// noop, happen only when the user is not in a project\n\t\t\t}\n\t\t}\n\n\t\tconst payload: {\n\t\t\tevent: HumanSegmentEventTypes;\n\t\t\tuserId?: string;\n\t\t\tanonymousId?: string;\n\t\t\tproperties?: Record<string, unknown>;\n\t\t\tcontext?: Partial<TelemetryManagerContext> & {\n\t\t\t\tgroupId?: {\n\t\t\t\t\tRepository?: string;\n\t\t\t\t};\n\t\t\t};\n\t\t} = {\n\t\t\tevent: HumanSegmentEventType[event],\n\t\t\tproperties: {\n\t\t\t\tnodeVersion: process.versions.node,\n\t\t\t\t...properties,\n\t\t\t},\n\t\t\tcontext: { ...this._context },\n\t\t};\n\n\t\tif (this._userID) {\n\t\t\tpayload.userId = this._userID;\n\t\t} else {\n\t\t\tpayload.anonymousId = this._anonymousID;\n\t\t}\n\n\t\tif (repositoryName) {\n\t\t\tpayload.context ||= {};\n\t\t\tpayload.context.groupId ||= {};\n\t\t\tpayload.context.groupId.Repository = repositoryName;\n\t\t}\n\n\t\treturn new Promise((resolve) => {\n\t\t\tassertTelemetryInitialized(this._segmentClient);\n\n\t\t\t// TODO: Make sure client fails gracefully when no internet connection\n\t\t\tthis._segmentClient().track(\n\t\t\t\tpayload as TrackParams,\n\t\t\t\t(maybeError?: unknown) => {\n\t\t\t\t\tif (maybeError && import.meta.env.DEV) {\n\t\t\t\t\t\t// TODO: Not sure how we want to deal with that\n\t\t\t\t\t\tconsole.warn(\n\t\t\t\t\t\t\t`An error occurred during Segment tracking`,\n\t\t\t\t\t\t\tmaybeError,\n\t\t\t\t\t\t);\n\t\t\t\t\t}\n\n\t\t\t\t\tresolve();\n\t\t\t\t},\n\t\t\t);\n\t\t});\n\t}\n\n\t// TODO: Should `userID` and `intercomHash` be automatically populated\n\t// by the logged in user? We already have their info via\n\t// UserRepository.\n\tidentify(args: TelemetryManagerIdentifyArgs): Promise<void> {\n\t\tconst payload = {\n\t\t\tuserId: args.userID,\n\t\t\tanonymousId: this._anonymousID,\n\t\t\tintegrations: {\n\t\t\t\tIntercom: {\n\t\t\t\t\tuser_hash: args.intercomHash,\n\t\t\t\t},\n\t\t\t},\n\t\t\tcontext: { ...this._context },\n\t\t};\n\n\t\tthis._userID = args.userID;\n\n\t\treturn new Promise((resolve) => {\n\t\t\tassertTelemetryInitialized(this._segmentClient);\n\n\t\t\t// TODO: Make sure client fails gracefully when no internet connection\n\t\t\tthis._segmentClient().identify(payload, (maybeError?: unknown) => {\n\t\t\t\tif (maybeError && import.meta.env.DEV) {\n\t\t\t\t\t// TODO: Not sure how we want to deal with that\n\t\t\t\t\tconsole.warn(`An error occurred during Segment identify`, maybeError);\n\t\t\t\t}\n\n\t\t\t\tresolve();\n\t\t\t});\n\t\t});\n\t}\n\n\tasync group(args: TelemetryManagerGroupArgs): Promise<void> {\n\t\tlet repositoryName;\n\n\t\ttry {\n\t\t\trepositoryName = await this.project.getRepositoryName();\n\t\t} catch (error) {\n\t\t\t// noop, happen only when the user is not in a project\n\t\t}\n\n\t\tconst payload: {\n\t\t\tgroupId?: string;\n\t\t\tuserId?: string;\n\t\t\tanonymousId?: string;\n\t\t\ttraits?: Record<string, unknown>;\n\t\t\tcontext?: Partial<TelemetryManagerContext> & {\n\t\t\t\tgroupId?: {\n\t\t\t\t\tRepository?: string;\n\t\t\t\t};\n\t\t\t};\n\t\t} = {\n\t\t\ttraits: args,\n\t\t\tcontext: { ...this._context },\n\t\t};\n\n\t\tif (this._userID) {\n\t\t\tpayload.userId = this._userID;\n\t\t} else {\n\t\t\tpayload.anonymousId = this._anonymousID;\n\t\t}\n\n\t\tif (repositoryName) {\n\t\t\tpayload.groupId = repositoryName;\n\t\t\tpayload.context ||= {};\n\t\t\tpayload.context.groupId ||= {};\n\t\t\tpayload.context.groupId.Repository = repositoryName;\n\t\t}\n\n\t\treturn new Promise((resolve) => {\n\t\t\tassertTelemetryInitialized(this._segmentClient);\n\n\t\t\tthis._segmentClient().group(\n\t\t\t\tpayload as GroupParams,\n\t\t\t\t(maybeError?: unknown) => {\n\t\t\t\t\tif (maybeError && import.meta.env.DEV) {\n\t\t\t\t\t\t// TODO: Not sure how we want to deal with that\n\t\t\t\t\t\tconsole.warn(`An error occurred during Segment group`, maybeError);\n\t\t\t\t\t}\n\n\t\t\t\t\tresolve();\n\t\t\t\t},\n\t\t\t);\n\t\t});\n\t}\n\n\tasync checkIsTelemetryEnabled(): Promise<boolean> {\n\t\tlet root: string;\n\t\ttry {\n\t\t\troot = await this.project.getRoot();\n\t\t} catch {\n\t\t\troot = await this.project.suggestRoot();\n\t\t}\n\n\t\treturn readPrismicrc(root).telemetry !== false;\n\t}\n}\n"],"names":["BaseManager","Analytics","API_TOKENS","randomUUID","HumanSegmentEventType","readPrismicrc"],"mappings":"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"}
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
import { BaseManager } from "../BaseManager";
|
|
2
|
+
import { SegmentEvents } from "./types";
|
|
3
|
+
type TelemetryManagerInitTelemetryArgs = {
|
|
4
|
+
appName: string;
|
|
5
|
+
appVersion: string;
|
|
6
|
+
};
|
|
7
|
+
type TelemetryManagerTrackArgs = SegmentEvents;
|
|
8
|
+
type TelemetryManagerIdentifyArgs = {
|
|
9
|
+
userID: string;
|
|
10
|
+
intercomHash: string;
|
|
11
|
+
};
|
|
12
|
+
type TelemetryManagerGroupArgs = {
|
|
13
|
+
manualLibsCount: number;
|
|
14
|
+
downloadedLibsCount: number;
|
|
15
|
+
npmLibsCount: number;
|
|
16
|
+
downloadedLibs: string[];
|
|
17
|
+
};
|
|
18
|
+
export declare class TelemetryManager extends BaseManager {
|
|
19
|
+
private _segmentClient;
|
|
20
|
+
private _anonymousID;
|
|
21
|
+
private _userID;
|
|
22
|
+
private _context;
|
|
23
|
+
initTelemetry(args: TelemetryManagerInitTelemetryArgs): Promise<void>;
|
|
24
|
+
track(args: TelemetryManagerTrackArgs): Promise<void>;
|
|
25
|
+
identify(args: TelemetryManagerIdentifyArgs): Promise<void>;
|
|
26
|
+
group(args: TelemetryManagerGroupArgs): Promise<void>;
|
|
27
|
+
checkIsTelemetryEnabled(): Promise<boolean>;
|
|
28
|
+
}
|
|
29
|
+
export {};
|
|
@@ -0,0 +1,154 @@
|
|
|
1
|
+
var __defProp = Object.defineProperty;
|
|
2
|
+
var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
|
|
3
|
+
var __publicField = (obj, key, value) => {
|
|
4
|
+
__defNormalProp(obj, typeof key !== "symbol" ? key + "" : key, value);
|
|
5
|
+
return value;
|
|
6
|
+
};
|
|
7
|
+
import { randomUUID } from "node:crypto";
|
|
8
|
+
import { Analytics } from "@segment/analytics-node";
|
|
9
|
+
import { readPrismicrc } from "../../lib/prismicrc.js";
|
|
10
|
+
import { API_TOKENS } from "../../constants/API_TOKENS.js";
|
|
11
|
+
import { BaseManager } from "../BaseManager.js";
|
|
12
|
+
import { HumanSegmentEventType } from "./types.js";
|
|
13
|
+
function assertTelemetryInitialized(segmentClient) {
|
|
14
|
+
if (segmentClient === void 0) {
|
|
15
|
+
throw new Error("Telemetry has not been initialized. Run `SliceMachineManager.telemetry.prototype.initTelemetry()` before re-calling this method.");
|
|
16
|
+
}
|
|
17
|
+
}
|
|
18
|
+
class TelemetryManager extends BaseManager {
|
|
19
|
+
constructor() {
|
|
20
|
+
super(...arguments);
|
|
21
|
+
__publicField(this, "_segmentClient");
|
|
22
|
+
__publicField(this, "_anonymousID");
|
|
23
|
+
__publicField(this, "_userID");
|
|
24
|
+
__publicField(this, "_context");
|
|
25
|
+
}
|
|
26
|
+
async initTelemetry(args) {
|
|
27
|
+
const isTelemetryEnabled = await this.checkIsTelemetryEnabled();
|
|
28
|
+
this._segmentClient = () => {
|
|
29
|
+
const analytics = new Analytics({
|
|
30
|
+
writeKey: API_TOKENS.SegmentKey,
|
|
31
|
+
// Since it's a local app, we do not benefit from event batching the way a server would normally do, all tracking event will be awaited.
|
|
32
|
+
maxEventsInBatch: 1,
|
|
33
|
+
// TODO: Verify that this actually does not send data to Segment when false.
|
|
34
|
+
disable: !isTelemetryEnabled
|
|
35
|
+
});
|
|
36
|
+
analytics.on("error", (error) => {
|
|
37
|
+
console.error(`An error occurred with Segment`, error);
|
|
38
|
+
});
|
|
39
|
+
return analytics;
|
|
40
|
+
};
|
|
41
|
+
this._anonymousID = randomUUID();
|
|
42
|
+
this._context = { app: { name: args.appName, version: args.appVersion } };
|
|
43
|
+
}
|
|
44
|
+
// TODO: Should `userId` be automatically populated by the logged in
|
|
45
|
+
// user? We already have their info via UserRepository.
|
|
46
|
+
async track(args) {
|
|
47
|
+
var _a;
|
|
48
|
+
const { event, repository, ...properties } = args;
|
|
49
|
+
let repositoryName = repository;
|
|
50
|
+
if (repositoryName === void 0) {
|
|
51
|
+
try {
|
|
52
|
+
repositoryName = await this.project.getRepositoryName();
|
|
53
|
+
} catch (error) {
|
|
54
|
+
}
|
|
55
|
+
}
|
|
56
|
+
const payload = {
|
|
57
|
+
event: HumanSegmentEventType[event],
|
|
58
|
+
properties: {
|
|
59
|
+
nodeVersion: process.versions.node,
|
|
60
|
+
...properties
|
|
61
|
+
},
|
|
62
|
+
context: { ...this._context }
|
|
63
|
+
};
|
|
64
|
+
if (this._userID) {
|
|
65
|
+
payload.userId = this._userID;
|
|
66
|
+
} else {
|
|
67
|
+
payload.anonymousId = this._anonymousID;
|
|
68
|
+
}
|
|
69
|
+
if (repositoryName) {
|
|
70
|
+
payload.context || (payload.context = {});
|
|
71
|
+
(_a = payload.context).groupId || (_a.groupId = {});
|
|
72
|
+
payload.context.groupId.Repository = repositoryName;
|
|
73
|
+
}
|
|
74
|
+
return new Promise((resolve) => {
|
|
75
|
+
assertTelemetryInitialized(this._segmentClient);
|
|
76
|
+
this._segmentClient().track(payload, (maybeError) => {
|
|
77
|
+
if (maybeError && false) {
|
|
78
|
+
console.warn(`An error occurred during Segment tracking`, maybeError);
|
|
79
|
+
}
|
|
80
|
+
resolve();
|
|
81
|
+
});
|
|
82
|
+
});
|
|
83
|
+
}
|
|
84
|
+
// TODO: Should `userID` and `intercomHash` be automatically populated
|
|
85
|
+
// by the logged in user? We already have their info via
|
|
86
|
+
// UserRepository.
|
|
87
|
+
identify(args) {
|
|
88
|
+
const payload = {
|
|
89
|
+
userId: args.userID,
|
|
90
|
+
anonymousId: this._anonymousID,
|
|
91
|
+
integrations: {
|
|
92
|
+
Intercom: {
|
|
93
|
+
user_hash: args.intercomHash
|
|
94
|
+
}
|
|
95
|
+
},
|
|
96
|
+
context: { ...this._context }
|
|
97
|
+
};
|
|
98
|
+
this._userID = args.userID;
|
|
99
|
+
return new Promise((resolve) => {
|
|
100
|
+
assertTelemetryInitialized(this._segmentClient);
|
|
101
|
+
this._segmentClient().identify(payload, (maybeError) => {
|
|
102
|
+
if (maybeError && false) {
|
|
103
|
+
console.warn(`An error occurred during Segment identify`, maybeError);
|
|
104
|
+
}
|
|
105
|
+
resolve();
|
|
106
|
+
});
|
|
107
|
+
});
|
|
108
|
+
}
|
|
109
|
+
async group(args) {
|
|
110
|
+
var _a;
|
|
111
|
+
let repositoryName;
|
|
112
|
+
try {
|
|
113
|
+
repositoryName = await this.project.getRepositoryName();
|
|
114
|
+
} catch (error) {
|
|
115
|
+
}
|
|
116
|
+
const payload = {
|
|
117
|
+
traits: args,
|
|
118
|
+
context: { ...this._context }
|
|
119
|
+
};
|
|
120
|
+
if (this._userID) {
|
|
121
|
+
payload.userId = this._userID;
|
|
122
|
+
} else {
|
|
123
|
+
payload.anonymousId = this._anonymousID;
|
|
124
|
+
}
|
|
125
|
+
if (repositoryName) {
|
|
126
|
+
payload.groupId = repositoryName;
|
|
127
|
+
payload.context || (payload.context = {});
|
|
128
|
+
(_a = payload.context).groupId || (_a.groupId = {});
|
|
129
|
+
payload.context.groupId.Repository = repositoryName;
|
|
130
|
+
}
|
|
131
|
+
return new Promise((resolve) => {
|
|
132
|
+
assertTelemetryInitialized(this._segmentClient);
|
|
133
|
+
this._segmentClient().group(payload, (maybeError) => {
|
|
134
|
+
if (maybeError && false) {
|
|
135
|
+
console.warn(`An error occurred during Segment group`, maybeError);
|
|
136
|
+
}
|
|
137
|
+
resolve();
|
|
138
|
+
});
|
|
139
|
+
});
|
|
140
|
+
}
|
|
141
|
+
async checkIsTelemetryEnabled() {
|
|
142
|
+
let root;
|
|
143
|
+
try {
|
|
144
|
+
root = await this.project.getRoot();
|
|
145
|
+
} catch {
|
|
146
|
+
root = await this.project.suggestRoot();
|
|
147
|
+
}
|
|
148
|
+
return readPrismicrc(root).telemetry !== false;
|
|
149
|
+
}
|
|
150
|
+
}
|
|
151
|
+
export {
|
|
152
|
+
TelemetryManager
|
|
153
|
+
};
|
|
154
|
+
//# sourceMappingURL=TelemetryManager.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"TelemetryManager.js","sources":["../../../../src/managers/telemetry/TelemetryManager.ts"],"sourcesContent":["import { randomUUID } from \"node:crypto\";\n\nimport { Analytics, GroupParams, TrackParams } from \"@segment/analytics-node\";\n\nimport { readPrismicrc } from \"../../lib/prismicrc\";\n\nimport { API_TOKENS } from \"../../constants/API_TOKENS\";\n\nimport { BaseManager } from \"../BaseManager\";\n\nimport {\n\tHumanSegmentEventType,\n\tHumanSegmentEventTypes,\n\tSegmentEvents,\n} from \"./types\";\n\ntype TelemetryManagerInitTelemetryArgs = {\n\tappName: string;\n\tappVersion: string;\n};\n\ntype TelemetryManagerTrackArgs = SegmentEvents;\n\ntype TelemetryManagerIdentifyArgs = {\n\tuserID: string;\n\tintercomHash: string;\n};\n\ntype TelemetryManagerGroupArgs = {\n\tmanualLibsCount: number;\n\tdownloadedLibsCount: number;\n\tnpmLibsCount: number;\n\tdownloadedLibs: string[];\n};\n\ntype TelemetryManagerContext = {\n\tapp: {\n\t\tname: string;\n\t\tversion: string;\n\t};\n};\n\nfunction assertTelemetryInitialized(\n\tsegmentClient: (() => Analytics) | undefined,\n): asserts segmentClient is NonNullable<typeof segmentClient> {\n\tif (segmentClient === undefined) {\n\t\tthrow new Error(\n\t\t\t\"Telemetry has not been initialized. Run `SliceMachineManager.telemetry.prototype.initTelemetry()` before re-calling this method.\",\n\t\t);\n\t}\n}\n\nexport class TelemetryManager extends BaseManager {\n\tprivate _segmentClient: (() => Analytics) | undefined = undefined;\n\tprivate _anonymousID: string | undefined = undefined;\n\tprivate _userID: string | undefined = undefined;\n\tprivate _context: TelemetryManagerContext | undefined = undefined;\n\n\tasync initTelemetry(args: TelemetryManagerInitTelemetryArgs): Promise<void> {\n\t\tconst isTelemetryEnabled = await this.checkIsTelemetryEnabled();\n\n\t\tthis._segmentClient = () => {\n\t\t\tconst analytics = new Analytics({\n\t\t\t\twriteKey: API_TOKENS.SegmentKey,\n\t\t\t\t// Since it's a local app, we do not benefit from event batching the way a server would normally do, all tracking event will be awaited.\n\t\t\t\tmaxEventsInBatch: 1,\n\t\t\t\t// TODO: Verify that this actually does not send data to Segment when false.\n\t\t\t\tdisable: !isTelemetryEnabled,\n\t\t\t});\n\n\t\t\tanalytics.on(\"error\", (error) => {\n\t\t\t\t// noop - We don't care if the tracking event\n\t\t\t\t// failed. Some users or networks intentionally\n\t\t\t\t// block Segment, so we can't block the app if\n\t\t\t\t// a tracking event is unsuccessful.\n\t\t\t\tconsole.error(`An error occurred with Segment`, error);\n\t\t\t});\n\n\t\t\treturn analytics;\n\t\t};\n\n\t\tthis._anonymousID = randomUUID();\n\t\tthis._context = { app: { name: args.appName, version: args.appVersion } };\n\t}\n\n\t// TODO: Should `userId` be automatically populated by the logged in\n\t// user? We already have their info via UserRepository.\n\tasync track(args: TelemetryManagerTrackArgs): Promise<void> {\n\t\tconst { event, repository, ...properties } = args;\n\t\tlet repositoryName = repository;\n\n\t\tif (repositoryName === undefined) {\n\t\t\ttry {\n\t\t\t\trepositoryName = await this.project.getRepositoryName();\n\t\t\t} catch (error) {\n\t\t\t\t// noop, happen only when the user is not in a project\n\t\t\t}\n\t\t}\n\n\t\tconst payload: {\n\t\t\tevent: HumanSegmentEventTypes;\n\t\t\tuserId?: string;\n\t\t\tanonymousId?: string;\n\t\t\tproperties?: Record<string, unknown>;\n\t\t\tcontext?: Partial<TelemetryManagerContext> & {\n\t\t\t\tgroupId?: {\n\t\t\t\t\tRepository?: string;\n\t\t\t\t};\n\t\t\t};\n\t\t} = {\n\t\t\tevent: HumanSegmentEventType[event],\n\t\t\tproperties: {\n\t\t\t\tnodeVersion: process.versions.node,\n\t\t\t\t...properties,\n\t\t\t},\n\t\t\tcontext: { ...this._context },\n\t\t};\n\n\t\tif (this._userID) {\n\t\t\tpayload.userId = this._userID;\n\t\t} else {\n\t\t\tpayload.anonymousId = this._anonymousID;\n\t\t}\n\n\t\tif (repositoryName) {\n\t\t\tpayload.context ||= {};\n\t\t\tpayload.context.groupId ||= {};\n\t\t\tpayload.context.groupId.Repository = repositoryName;\n\t\t}\n\n\t\treturn new Promise((resolve) => {\n\t\t\tassertTelemetryInitialized(this._segmentClient);\n\n\t\t\t// TODO: Make sure client fails gracefully when no internet connection\n\t\t\tthis._segmentClient().track(\n\t\t\t\tpayload as TrackParams,\n\t\t\t\t(maybeError?: unknown) => {\n\t\t\t\t\tif (maybeError && import.meta.env.DEV) {\n\t\t\t\t\t\t// TODO: Not sure how we want to deal with that\n\t\t\t\t\t\tconsole.warn(\n\t\t\t\t\t\t\t`An error occurred during Segment tracking`,\n\t\t\t\t\t\t\tmaybeError,\n\t\t\t\t\t\t);\n\t\t\t\t\t}\n\n\t\t\t\t\tresolve();\n\t\t\t\t},\n\t\t\t);\n\t\t});\n\t}\n\n\t// TODO: Should `userID` and `intercomHash` be automatically populated\n\t// by the logged in user? We already have their info via\n\t// UserRepository.\n\tidentify(args: TelemetryManagerIdentifyArgs): Promise<void> {\n\t\tconst payload = {\n\t\t\tuserId: args.userID,\n\t\t\tanonymousId: this._anonymousID,\n\t\t\tintegrations: {\n\t\t\t\tIntercom: {\n\t\t\t\t\tuser_hash: args.intercomHash,\n\t\t\t\t},\n\t\t\t},\n\t\t\tcontext: { ...this._context },\n\t\t};\n\n\t\tthis._userID = args.userID;\n\n\t\treturn new Promise((resolve) => {\n\t\t\tassertTelemetryInitialized(this._segmentClient);\n\n\t\t\t// TODO: Make sure client fails gracefully when no internet connection\n\t\t\tthis._segmentClient().identify(payload, (maybeError?: unknown) => {\n\t\t\t\tif (maybeError && import.meta.env.DEV) {\n\t\t\t\t\t// TODO: Not sure how we want to deal with that\n\t\t\t\t\tconsole.warn(`An error occurred during Segment identify`, maybeError);\n\t\t\t\t}\n\n\t\t\t\tresolve();\n\t\t\t});\n\t\t});\n\t}\n\n\tasync group(args: TelemetryManagerGroupArgs): Promise<void> {\n\t\tlet repositoryName;\n\n\t\ttry {\n\t\t\trepositoryName = await this.project.getRepositoryName();\n\t\t} catch (error) {\n\t\t\t// noop, happen only when the user is not in a project\n\t\t}\n\n\t\tconst payload: {\n\t\t\tgroupId?: string;\n\t\t\tuserId?: string;\n\t\t\tanonymousId?: string;\n\t\t\ttraits?: Record<string, unknown>;\n\t\t\tcontext?: Partial<TelemetryManagerContext> & {\n\t\t\t\tgroupId?: {\n\t\t\t\t\tRepository?: string;\n\t\t\t\t};\n\t\t\t};\n\t\t} = {\n\t\t\ttraits: args,\n\t\t\tcontext: { ...this._context },\n\t\t};\n\n\t\tif (this._userID) {\n\t\t\tpayload.userId = this._userID;\n\t\t} else {\n\t\t\tpayload.anonymousId = this._anonymousID;\n\t\t}\n\n\t\tif (repositoryName) {\n\t\t\tpayload.groupId = repositoryName;\n\t\t\tpayload.context ||= {};\n\t\t\tpayload.context.groupId ||= {};\n\t\t\tpayload.context.groupId.Repository = repositoryName;\n\t\t}\n\n\t\treturn new Promise((resolve) => {\n\t\t\tassertTelemetryInitialized(this._segmentClient);\n\n\t\t\tthis._segmentClient().group(\n\t\t\t\tpayload as GroupParams,\n\t\t\t\t(maybeError?: unknown) => {\n\t\t\t\t\tif (maybeError && import.meta.env.DEV) {\n\t\t\t\t\t\t// TODO: Not sure how we want to deal with that\n\t\t\t\t\t\tconsole.warn(`An error occurred during Segment group`, maybeError);\n\t\t\t\t\t}\n\n\t\t\t\t\tresolve();\n\t\t\t\t},\n\t\t\t);\n\t\t});\n\t}\n\n\tasync checkIsTelemetryEnabled(): Promise<boolean> {\n\t\tlet root: string;\n\t\ttry {\n\t\t\troot = await this.project.getRoot();\n\t\t} catch {\n\t\t\troot = await this.project.suggestRoot();\n\t\t}\n\n\t\treturn readPrismicrc(root).telemetry !== false;\n\t}\n}\n"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
|
3
|
+
const SegmentEventType = {
|
|
4
|
+
command_init_start: "command:init:start",
|
|
5
|
+
command_init_identify: "command:init:identify",
|
|
6
|
+
command_init_end: "command:init:end",
|
|
7
|
+
review: "review",
|
|
8
|
+
sliceSimulator_setup: "slice-simulator:setup",
|
|
9
|
+
sliceSimulator_open: "slice-simulator:open",
|
|
10
|
+
sliceSimulator_isNotRunning: "slice-simulator:is-not-running",
|
|
11
|
+
pageView: "page-view",
|
|
12
|
+
users_invite_button_clicked: "users-invite-button-clicked",
|
|
13
|
+
openVideoTutorials: "open-video-tutorials",
|
|
14
|
+
customType_created: "custom-type:created",
|
|
15
|
+
customType_fieldAdded: "custom-type:field-added",
|
|
16
|
+
customType_sliceZoneUpdated: "custom-type:slice-zone-updated",
|
|
17
|
+
customType_openAddFromTemplates: "custom-type:open-add-from-templates",
|
|
18
|
+
customType_saved: "custom-type:saved",
|
|
19
|
+
slice_created: "slice:created",
|
|
20
|
+
legacySlice_converted: "legacy-slice:converted",
|
|
21
|
+
screenshotTaken: "screenshot-taken",
|
|
22
|
+
changes_pushed: "changes:pushed",
|
|
23
|
+
changes_limitReach: "changes:limit-reach",
|
|
24
|
+
editor_widgetUsed: "editor:widget-used",
|
|
25
|
+
open_page_snippet: "page-type:open-snippet",
|
|
26
|
+
copy_page_snippet: "page-type:copy-snippet",
|
|
27
|
+
switch_environment: "environment:switch"
|
|
28
|
+
};
|
|
29
|
+
const HumanSegmentEventType = {
|
|
30
|
+
[SegmentEventType.command_init_start]: "SliceMachine Init Start",
|
|
31
|
+
[SegmentEventType.command_init_identify]: "SliceMachine Init Identify",
|
|
32
|
+
[SegmentEventType.command_init_end]: "SliceMachine Init End",
|
|
33
|
+
[SegmentEventType.review]: "SliceMachine Review",
|
|
34
|
+
[SegmentEventType.sliceSimulator_setup]: "SliceMachine Slice Simulator Setup",
|
|
35
|
+
[SegmentEventType.sliceSimulator_open]: "SliceMachine Slice Simulator Open",
|
|
36
|
+
[SegmentEventType.sliceSimulator_isNotRunning]: "SliceMachine Slice Simulator is not running",
|
|
37
|
+
[SegmentEventType.pageView]: "SliceMachine Page View",
|
|
38
|
+
[SegmentEventType.users_invite_button_clicked]: "Slice Machine Users Invite Button Clicked",
|
|
39
|
+
[SegmentEventType.openVideoTutorials]: "SliceMachine Open Video Tutorials",
|
|
40
|
+
[SegmentEventType.customType_created]: "SliceMachine Custom Type Created",
|
|
41
|
+
[SegmentEventType.customType_fieldAdded]: "SliceMachine Custom Type Field Added",
|
|
42
|
+
[SegmentEventType.customType_sliceZoneUpdated]: "SliceMachine Slicezone Updated",
|
|
43
|
+
[SegmentEventType.customType_openAddFromTemplates]: "SliceMachine Open Add from templates",
|
|
44
|
+
[SegmentEventType.customType_saved]: "SliceMachine Custom Type Saved",
|
|
45
|
+
[SegmentEventType.slice_created]: "SliceMachine Slice Created",
|
|
46
|
+
[SegmentEventType.legacySlice_converted]: "SliceMachine Legacy Slice Converted",
|
|
47
|
+
[SegmentEventType.screenshotTaken]: "SliceMachine Screenshot Taken",
|
|
48
|
+
[SegmentEventType.changes_pushed]: "SliceMachine Changes Pushed",
|
|
49
|
+
[SegmentEventType.changes_limitReach]: "SliceMachine Changes Limit Reach",
|
|
50
|
+
[SegmentEventType.editor_widgetUsed]: "SliceMachine Editor Widget Used",
|
|
51
|
+
[SegmentEventType.open_page_snippet]: "SliceMachine Opens Page Type Snippet Dialog",
|
|
52
|
+
[SegmentEventType.copy_page_snippet]: "Slice Machine page code snippet copied",
|
|
53
|
+
[SegmentEventType.switch_environment]: "SliceMachine environment switch"
|
|
54
|
+
};
|
|
55
|
+
exports.HumanSegmentEventType = HumanSegmentEventType;
|
|
56
|
+
exports.SegmentEventType = SegmentEventType;
|
|
57
|
+
//# sourceMappingURL=types.cjs.map
|