@graphext/cuery 0.2.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +18 -0
- package/esm/_dnt.shims.d.ts +6 -0
- package/esm/_dnt.shims.d.ts.map +1 -0
- package/esm/_dnt.shims.js +61 -0
- package/esm/deps/jsr.io/@zod/zod/4.1.12/src/index.d.ts +5 -0
- package/esm/deps/jsr.io/@zod/zod/4.1.12/src/index.d.ts.map +1 -0
- package/esm/deps/jsr.io/@zod/zod/4.1.12/src/index.js +4 -0
- package/esm/deps/jsr.io/@zod/zod/4.1.12/src/v4/classic/checks.d.ts +2 -0
- package/esm/deps/jsr.io/@zod/zod/4.1.12/src/v4/classic/checks.d.ts.map +1 -0
- package/esm/deps/jsr.io/@zod/zod/4.1.12/src/v4/classic/checks.js +1 -0
- package/esm/deps/jsr.io/@zod/zod/4.1.12/src/v4/classic/coerce.d.ts +18 -0
- package/esm/deps/jsr.io/@zod/zod/4.1.12/src/v4/classic/coerce.d.ts.map +1 -0
- package/esm/deps/jsr.io/@zod/zod/4.1.12/src/v4/classic/coerce.js +17 -0
- package/esm/deps/jsr.io/@zod/zod/4.1.12/src/v4/classic/compat.d.ts +51 -0
- package/esm/deps/jsr.io/@zod/zod/4.1.12/src/v4/classic/compat.d.ts.map +1 -0
- package/esm/deps/jsr.io/@zod/zod/4.1.12/src/v4/classic/compat.js +31 -0
- package/esm/deps/jsr.io/@zod/zod/4.1.12/src/v4/classic/errors.d.ts +31 -0
- package/esm/deps/jsr.io/@zod/zod/4.1.12/src/v4/classic/errors.d.ts.map +1 -0
- package/esm/deps/jsr.io/@zod/zod/4.1.12/src/v4/classic/errors.js +48 -0
- package/esm/deps/jsr.io/@zod/zod/4.1.12/src/v4/classic/external.d.ts +14 -0
- package/esm/deps/jsr.io/@zod/zod/4.1.12/src/v4/classic/external.d.ts.map +1 -0
- package/esm/deps/jsr.io/@zod/zod/4.1.12/src/v4/classic/external.js +18 -0
- package/esm/deps/jsr.io/@zod/zod/4.1.12/src/v4/classic/iso.d.ts +23 -0
- package/esm/deps/jsr.io/@zod/zod/4.1.12/src/v4/classic/iso.d.ts.map +1 -0
- package/esm/deps/jsr.io/@zod/zod/4.1.12/src/v4/classic/iso.js +30 -0
- package/esm/deps/jsr.io/@zod/zod/4.1.12/src/v4/classic/parse.d.ts +32 -0
- package/esm/deps/jsr.io/@zod/zod/4.1.12/src/v4/classic/parse.d.ts.map +1 -0
- package/esm/deps/jsr.io/@zod/zod/4.1.12/src/v4/classic/parse.js +15 -0
- package/esm/deps/jsr.io/@zod/zod/4.1.12/src/v4/classic/schemas.d.ts +674 -0
- package/esm/deps/jsr.io/@zod/zod/4.1.12/src/v4/classic/schemas.d.ts.map +1 -0
- package/esm/deps/jsr.io/@zod/zod/4.1.12/src/v4/classic/schemas.js +1040 -0
- package/esm/deps/jsr.io/@zod/zod/4.1.12/src/v4/core/api.d.ts +296 -0
- package/esm/deps/jsr.io/@zod/zod/4.1.12/src/v4/core/api.d.ts.map +1 -0
- package/esm/deps/jsr.io/@zod/zod/4.1.12/src/v4/core/api.js +925 -0
- package/esm/deps/jsr.io/@zod/zod/4.1.12/src/v4/core/checks.d.ts +279 -0
- package/esm/deps/jsr.io/@zod/zod/4.1.12/src/v4/core/checks.d.ts.map +1 -0
- package/esm/deps/jsr.io/@zod/zod/4.1.12/src/v4/core/checks.js +560 -0
- package/esm/deps/jsr.io/@zod/zod/4.1.12/src/v4/core/core.d.ts +53 -0
- package/esm/deps/jsr.io/@zod/zod/4.1.12/src/v4/core/core.d.ts.map +1 -0
- package/esm/deps/jsr.io/@zod/zod/4.1.12/src/v4/core/core.js +65 -0
- package/esm/deps/jsr.io/@zod/zod/4.1.12/src/v4/core/doc.d.ts +15 -0
- package/esm/deps/jsr.io/@zod/zod/4.1.12/src/v4/core/doc.d.ts.map +1 -0
- package/esm/deps/jsr.io/@zod/zod/4.1.12/src/v4/core/doc.js +36 -0
- package/esm/deps/jsr.io/@zod/zod/4.1.12/src/v4/core/errors.d.ts +211 -0
- package/esm/deps/jsr.io/@zod/zod/4.1.12/src/v4/core/errors.d.ts.map +1 -0
- package/esm/deps/jsr.io/@zod/zod/4.1.12/src/v4/core/errors.js +181 -0
- package/esm/deps/jsr.io/@zod/zod/4.1.12/src/v4/core/index.d.ts +15 -0
- package/esm/deps/jsr.io/@zod/zod/4.1.12/src/v4/core/index.d.ts.map +1 -0
- package/esm/deps/jsr.io/@zod/zod/4.1.12/src/v4/core/index.js +14 -0
- package/esm/deps/jsr.io/@zod/zod/4.1.12/src/v4/core/json-schema.d.ts +89 -0
- package/esm/deps/jsr.io/@zod/zod/4.1.12/src/v4/core/json-schema.d.ts.map +1 -0
- package/esm/deps/jsr.io/@zod/zod/4.1.12/src/v4/core/json-schema.js +1 -0
- package/esm/deps/jsr.io/@zod/zod/4.1.12/src/v4/core/parse.d.ts +50 -0
- package/esm/deps/jsr.io/@zod/zod/4.1.12/src/v4/core/parse.d.ts.map +1 -0
- package/esm/deps/jsr.io/@zod/zod/4.1.12/src/v4/core/parse.js +93 -0
- package/esm/deps/jsr.io/@zod/zod/4.1.12/src/v4/core/regexes.d.ts +79 -0
- package/esm/deps/jsr.io/@zod/zod/4.1.12/src/v4/core/regexes.d.ts.map +1 -0
- package/esm/deps/jsr.io/@zod/zod/4.1.12/src/v4/core/regexes.js +127 -0
- package/esm/deps/jsr.io/@zod/zod/4.1.12/src/v4/core/registries.d.ts +36 -0
- package/esm/deps/jsr.io/@zod/zod/4.1.12/src/v4/core/registries.d.ts.map +1 -0
- package/esm/deps/jsr.io/@zod/zod/4.1.12/src/v4/core/registries.js +52 -0
- package/esm/deps/jsr.io/@zod/zod/4.1.12/src/v4/core/schemas.d.ts +1115 -0
- package/esm/deps/jsr.io/@zod/zod/4.1.12/src/v4/core/schemas.d.ts.map +1 -0
- package/esm/deps/jsr.io/@zod/zod/4.1.12/src/v4/core/schemas.js +1954 -0
- package/esm/deps/jsr.io/@zod/zod/4.1.12/src/v4/core/standard-schema.d.ts +56 -0
- package/esm/deps/jsr.io/@zod/zod/4.1.12/src/v4/core/standard-schema.d.ts.map +1 -0
- package/esm/deps/jsr.io/@zod/zod/4.1.12/src/v4/core/standard-schema.js +1 -0
- package/esm/deps/jsr.io/@zod/zod/4.1.12/src/v4/core/to-json-schema.d.ts +91 -0
- package/esm/deps/jsr.io/@zod/zod/4.1.12/src/v4/core/to-json-schema.d.ts.map +1 -0
- package/esm/deps/jsr.io/@zod/zod/4.1.12/src/v4/core/to-json-schema.js +920 -0
- package/esm/deps/jsr.io/@zod/zod/4.1.12/src/v4/core/util.d.ts +198 -0
- package/esm/deps/jsr.io/@zod/zod/4.1.12/src/v4/core/util.d.ts.map +1 -0
- package/esm/deps/jsr.io/@zod/zod/4.1.12/src/v4/core/util.js +600 -0
- package/esm/deps/jsr.io/@zod/zod/4.1.12/src/v4/core/versions.d.ts +6 -0
- package/esm/deps/jsr.io/@zod/zod/4.1.12/src/v4/core/versions.d.ts.map +1 -0
- package/esm/deps/jsr.io/@zod/zod/4.1.12/src/v4/core/versions.js +5 -0
- package/esm/deps/jsr.io/@zod/zod/4.1.12/src/v4/locales/ar.d.ts +5 -0
- package/esm/deps/jsr.io/@zod/zod/4.1.12/src/v4/locales/ar.d.ts.map +1 -0
- package/esm/deps/jsr.io/@zod/zod/4.1.12/src/v4/locales/ar.js +116 -0
- package/esm/deps/jsr.io/@zod/zod/4.1.12/src/v4/locales/az.d.ts +5 -0
- package/esm/deps/jsr.io/@zod/zod/4.1.12/src/v4/locales/az.d.ts.map +1 -0
- package/esm/deps/jsr.io/@zod/zod/4.1.12/src/v4/locales/az.js +115 -0
- package/esm/deps/jsr.io/@zod/zod/4.1.12/src/v4/locales/be.d.ts +5 -0
- package/esm/deps/jsr.io/@zod/zod/4.1.12/src/v4/locales/be.d.ts.map +1 -0
- package/esm/deps/jsr.io/@zod/zod/4.1.12/src/v4/locales/be.js +164 -0
- package/esm/deps/jsr.io/@zod/zod/4.1.12/src/v4/locales/bg.d.ts +6 -0
- package/esm/deps/jsr.io/@zod/zod/4.1.12/src/v4/locales/bg.d.ts.map +1 -0
- package/esm/deps/jsr.io/@zod/zod/4.1.12/src/v4/locales/bg.js +128 -0
- package/esm/deps/jsr.io/@zod/zod/4.1.12/src/v4/locales/ca.d.ts +5 -0
- package/esm/deps/jsr.io/@zod/zod/4.1.12/src/v4/locales/ca.d.ts.map +1 -0
- package/esm/deps/jsr.io/@zod/zod/4.1.12/src/v4/locales/ca.js +118 -0
- package/esm/deps/jsr.io/@zod/zod/4.1.12/src/v4/locales/cs.d.ts +5 -0
- package/esm/deps/jsr.io/@zod/zod/4.1.12/src/v4/locales/cs.d.ts.map +1 -0
- package/esm/deps/jsr.io/@zod/zod/4.1.12/src/v4/locales/cs.js +135 -0
- package/esm/deps/jsr.io/@zod/zod/4.1.12/src/v4/locales/da.d.ts +5 -0
- package/esm/deps/jsr.io/@zod/zod/4.1.12/src/v4/locales/da.d.ts.map +1 -0
- package/esm/deps/jsr.io/@zod/zod/4.1.12/src/v4/locales/da.js +131 -0
- package/esm/deps/jsr.io/@zod/zod/4.1.12/src/v4/locales/de.d.ts +5 -0
- package/esm/deps/jsr.io/@zod/zod/4.1.12/src/v4/locales/de.d.ts.map +1 -0
- package/esm/deps/jsr.io/@zod/zod/4.1.12/src/v4/locales/de.js +116 -0
- package/esm/deps/jsr.io/@zod/zod/4.1.12/src/v4/locales/en.d.ts +6 -0
- package/esm/deps/jsr.io/@zod/zod/4.1.12/src/v4/locales/en.d.ts.map +1 -0
- package/esm/deps/jsr.io/@zod/zod/4.1.12/src/v4/locales/en.js +117 -0
- package/esm/deps/jsr.io/@zod/zod/4.1.12/src/v4/locales/eo.d.ts +6 -0
- package/esm/deps/jsr.io/@zod/zod/4.1.12/src/v4/locales/eo.d.ts.map +1 -0
- package/esm/deps/jsr.io/@zod/zod/4.1.12/src/v4/locales/eo.js +116 -0
- package/esm/deps/jsr.io/@zod/zod/4.1.12/src/v4/locales/es.d.ts +5 -0
- package/esm/deps/jsr.io/@zod/zod/4.1.12/src/v4/locales/es.d.ts.map +1 -0
- package/esm/deps/jsr.io/@zod/zod/4.1.12/src/v4/locales/es.js +149 -0
- package/esm/deps/jsr.io/@zod/zod/4.1.12/src/v4/locales/fa.d.ts +5 -0
- package/esm/deps/jsr.io/@zod/zod/4.1.12/src/v4/locales/fa.d.ts.map +1 -0
- package/esm/deps/jsr.io/@zod/zod/4.1.12/src/v4/locales/fa.js +122 -0
- package/esm/deps/jsr.io/@zod/zod/4.1.12/src/v4/locales/fi.d.ts +5 -0
- package/esm/deps/jsr.io/@zod/zod/4.1.12/src/v4/locales/fi.d.ts.map +1 -0
- package/esm/deps/jsr.io/@zod/zod/4.1.12/src/v4/locales/fi.js +122 -0
- package/esm/deps/jsr.io/@zod/zod/4.1.12/src/v4/locales/fr-CA.d.ts +5 -0
- package/esm/deps/jsr.io/@zod/zod/4.1.12/src/v4/locales/fr-CA.d.ts.map +1 -0
- package/esm/deps/jsr.io/@zod/zod/4.1.12/src/v4/locales/fr-CA.js +117 -0
- package/esm/deps/jsr.io/@zod/zod/4.1.12/src/v4/locales/fr.d.ts +5 -0
- package/esm/deps/jsr.io/@zod/zod/4.1.12/src/v4/locales/fr.d.ts.map +1 -0
- package/esm/deps/jsr.io/@zod/zod/4.1.12/src/v4/locales/fr.js +116 -0
- package/esm/deps/jsr.io/@zod/zod/4.1.12/src/v4/locales/he.d.ts +5 -0
- package/esm/deps/jsr.io/@zod/zod/4.1.12/src/v4/locales/he.d.ts.map +1 -0
- package/esm/deps/jsr.io/@zod/zod/4.1.12/src/v4/locales/he.js +117 -0
- package/esm/deps/jsr.io/@zod/zod/4.1.12/src/v4/locales/hu.d.ts +5 -0
- package/esm/deps/jsr.io/@zod/zod/4.1.12/src/v4/locales/hu.d.ts.map +1 -0
- package/esm/deps/jsr.io/@zod/zod/4.1.12/src/v4/locales/hu.js +117 -0
- package/esm/deps/jsr.io/@zod/zod/4.1.12/src/v4/locales/id.d.ts +5 -0
- package/esm/deps/jsr.io/@zod/zod/4.1.12/src/v4/locales/id.d.ts.map +1 -0
- package/esm/deps/jsr.io/@zod/zod/4.1.12/src/v4/locales/id.js +116 -0
- package/esm/deps/jsr.io/@zod/zod/4.1.12/src/v4/locales/index.d.ts +48 -0
- package/esm/deps/jsr.io/@zod/zod/4.1.12/src/v4/locales/index.d.ts.map +1 -0
- package/esm/deps/jsr.io/@zod/zod/4.1.12/src/v4/locales/index.js +47 -0
- package/esm/deps/jsr.io/@zod/zod/4.1.12/src/v4/locales/is.d.ts +6 -0
- package/esm/deps/jsr.io/@zod/zod/4.1.12/src/v4/locales/is.d.ts.map +1 -0
- package/esm/deps/jsr.io/@zod/zod/4.1.12/src/v4/locales/is.js +117 -0
- package/esm/deps/jsr.io/@zod/zod/4.1.12/src/v4/locales/it.d.ts +5 -0
- package/esm/deps/jsr.io/@zod/zod/4.1.12/src/v4/locales/it.d.ts.map +1 -0
- package/esm/deps/jsr.io/@zod/zod/4.1.12/src/v4/locales/it.js +117 -0
- package/esm/deps/jsr.io/@zod/zod/4.1.12/src/v4/locales/ja.d.ts +5 -0
- package/esm/deps/jsr.io/@zod/zod/4.1.12/src/v4/locales/ja.d.ts.map +1 -0
- package/esm/deps/jsr.io/@zod/zod/4.1.12/src/v4/locales/ja.js +115 -0
- package/esm/deps/jsr.io/@zod/zod/4.1.12/src/v4/locales/ka.d.ts +6 -0
- package/esm/deps/jsr.io/@zod/zod/4.1.12/src/v4/locales/ka.d.ts.map +1 -0
- package/esm/deps/jsr.io/@zod/zod/4.1.12/src/v4/locales/ka.js +125 -0
- package/esm/deps/jsr.io/@zod/zod/4.1.12/src/v4/locales/kh.d.ts +6 -0
- package/esm/deps/jsr.io/@zod/zod/4.1.12/src/v4/locales/kh.d.ts.map +1 -0
- package/esm/deps/jsr.io/@zod/zod/4.1.12/src/v4/locales/kh.js +5 -0
- package/esm/deps/jsr.io/@zod/zod/4.1.12/src/v4/locales/km.d.ts +5 -0
- package/esm/deps/jsr.io/@zod/zod/4.1.12/src/v4/locales/km.d.ts.map +1 -0
- package/esm/deps/jsr.io/@zod/zod/4.1.12/src/v4/locales/km.js +117 -0
- package/esm/deps/jsr.io/@zod/zod/4.1.12/src/v4/locales/ko.d.ts +5 -0
- package/esm/deps/jsr.io/@zod/zod/4.1.12/src/v4/locales/ko.d.ts.map +1 -0
- package/esm/deps/jsr.io/@zod/zod/4.1.12/src/v4/locales/ko.js +121 -0
- package/esm/deps/jsr.io/@zod/zod/4.1.12/src/v4/locales/lt.d.ts +6 -0
- package/esm/deps/jsr.io/@zod/zod/4.1.12/src/v4/locales/lt.d.ts.map +1 -0
- package/esm/deps/jsr.io/@zod/zod/4.1.12/src/v4/locales/lt.js +230 -0
- package/esm/deps/jsr.io/@zod/zod/4.1.12/src/v4/locales/mk.d.ts +5 -0
- package/esm/deps/jsr.io/@zod/zod/4.1.12/src/v4/locales/mk.d.ts.map +1 -0
- package/esm/deps/jsr.io/@zod/zod/4.1.12/src/v4/locales/mk.js +118 -0
- package/esm/deps/jsr.io/@zod/zod/4.1.12/src/v4/locales/ms.d.ts +5 -0
- package/esm/deps/jsr.io/@zod/zod/4.1.12/src/v4/locales/ms.d.ts.map +1 -0
- package/esm/deps/jsr.io/@zod/zod/4.1.12/src/v4/locales/ms.js +116 -0
- package/esm/deps/jsr.io/@zod/zod/4.1.12/src/v4/locales/nl.d.ts +5 -0
- package/esm/deps/jsr.io/@zod/zod/4.1.12/src/v4/locales/nl.d.ts.map +1 -0
- package/esm/deps/jsr.io/@zod/zod/4.1.12/src/v4/locales/nl.js +117 -0
- package/esm/deps/jsr.io/@zod/zod/4.1.12/src/v4/locales/no.d.ts +5 -0
- package/esm/deps/jsr.io/@zod/zod/4.1.12/src/v4/locales/no.d.ts.map +1 -0
- package/esm/deps/jsr.io/@zod/zod/4.1.12/src/v4/locales/no.js +116 -0
- package/esm/deps/jsr.io/@zod/zod/4.1.12/src/v4/locales/ota.d.ts +5 -0
- package/esm/deps/jsr.io/@zod/zod/4.1.12/src/v4/locales/ota.d.ts.map +1 -0
- package/esm/deps/jsr.io/@zod/zod/4.1.12/src/v4/locales/ota.js +117 -0
- package/esm/deps/jsr.io/@zod/zod/4.1.12/src/v4/locales/pl.d.ts +5 -0
- package/esm/deps/jsr.io/@zod/zod/4.1.12/src/v4/locales/pl.d.ts.map +1 -0
- package/esm/deps/jsr.io/@zod/zod/4.1.12/src/v4/locales/pl.js +117 -0
- package/esm/deps/jsr.io/@zod/zod/4.1.12/src/v4/locales/ps.d.ts +5 -0
- package/esm/deps/jsr.io/@zod/zod/4.1.12/src/v4/locales/ps.d.ts.map +1 -0
- package/esm/deps/jsr.io/@zod/zod/4.1.12/src/v4/locales/ps.js +122 -0
- package/esm/deps/jsr.io/@zod/zod/4.1.12/src/v4/locales/pt.d.ts +5 -0
- package/esm/deps/jsr.io/@zod/zod/4.1.12/src/v4/locales/pt.d.ts.map +1 -0
- package/esm/deps/jsr.io/@zod/zod/4.1.12/src/v4/locales/pt.js +116 -0
- package/esm/deps/jsr.io/@zod/zod/4.1.12/src/v4/locales/ru.d.ts +5 -0
- package/esm/deps/jsr.io/@zod/zod/4.1.12/src/v4/locales/ru.d.ts.map +1 -0
- package/esm/deps/jsr.io/@zod/zod/4.1.12/src/v4/locales/ru.js +164 -0
- package/esm/deps/jsr.io/@zod/zod/4.1.12/src/v4/locales/sl.d.ts +5 -0
- package/esm/deps/jsr.io/@zod/zod/4.1.12/src/v4/locales/sl.d.ts.map +1 -0
- package/esm/deps/jsr.io/@zod/zod/4.1.12/src/v4/locales/sl.js +117 -0
- package/esm/deps/jsr.io/@zod/zod/4.1.12/src/v4/locales/sv.d.ts +5 -0
- package/esm/deps/jsr.io/@zod/zod/4.1.12/src/v4/locales/sv.d.ts.map +1 -0
- package/esm/deps/jsr.io/@zod/zod/4.1.12/src/v4/locales/sv.js +118 -0
- package/esm/deps/jsr.io/@zod/zod/4.1.12/src/v4/locales/ta.d.ts +5 -0
- package/esm/deps/jsr.io/@zod/zod/4.1.12/src/v4/locales/ta.d.ts.map +1 -0
- package/esm/deps/jsr.io/@zod/zod/4.1.12/src/v4/locales/ta.js +117 -0
- package/esm/deps/jsr.io/@zod/zod/4.1.12/src/v4/locales/th.d.ts +5 -0
- package/esm/deps/jsr.io/@zod/zod/4.1.12/src/v4/locales/th.d.ts.map +1 -0
- package/esm/deps/jsr.io/@zod/zod/4.1.12/src/v4/locales/th.js +117 -0
- package/esm/deps/jsr.io/@zod/zod/4.1.12/src/v4/locales/tr.d.ts +6 -0
- package/esm/deps/jsr.io/@zod/zod/4.1.12/src/v4/locales/tr.d.ts.map +1 -0
- package/esm/deps/jsr.io/@zod/zod/4.1.12/src/v4/locales/tr.js +115 -0
- package/esm/deps/jsr.io/@zod/zod/4.1.12/src/v4/locales/ua.d.ts +6 -0
- package/esm/deps/jsr.io/@zod/zod/4.1.12/src/v4/locales/ua.d.ts.map +1 -0
- package/esm/deps/jsr.io/@zod/zod/4.1.12/src/v4/locales/ua.js +5 -0
- package/esm/deps/jsr.io/@zod/zod/4.1.12/src/v4/locales/uk.d.ts +5 -0
- package/esm/deps/jsr.io/@zod/zod/4.1.12/src/v4/locales/uk.d.ts.map +1 -0
- package/esm/deps/jsr.io/@zod/zod/4.1.12/src/v4/locales/uk.js +117 -0
- package/esm/deps/jsr.io/@zod/zod/4.1.12/src/v4/locales/ur.d.ts +5 -0
- package/esm/deps/jsr.io/@zod/zod/4.1.12/src/v4/locales/ur.d.ts.map +1 -0
- package/esm/deps/jsr.io/@zod/zod/4.1.12/src/v4/locales/ur.js +117 -0
- package/esm/deps/jsr.io/@zod/zod/4.1.12/src/v4/locales/vi.d.ts +5 -0
- package/esm/deps/jsr.io/@zod/zod/4.1.12/src/v4/locales/vi.d.ts.map +1 -0
- package/esm/deps/jsr.io/@zod/zod/4.1.12/src/v4/locales/vi.js +116 -0
- package/esm/deps/jsr.io/@zod/zod/4.1.12/src/v4/locales/yo.d.ts +5 -0
- package/esm/deps/jsr.io/@zod/zod/4.1.12/src/v4/locales/yo.d.ts.map +1 -0
- package/esm/deps/jsr.io/@zod/zod/4.1.12/src/v4/locales/yo.js +115 -0
- package/esm/deps/jsr.io/@zod/zod/4.1.12/src/v4/locales/zh-CN.d.ts +5 -0
- package/esm/deps/jsr.io/@zod/zod/4.1.12/src/v4/locales/zh-CN.d.ts.map +1 -0
- package/esm/deps/jsr.io/@zod/zod/4.1.12/src/v4/locales/zh-CN.js +116 -0
- package/esm/deps/jsr.io/@zod/zod/4.1.12/src/v4/locales/zh-TW.d.ts +5 -0
- package/esm/deps/jsr.io/@zod/zod/4.1.12/src/v4/locales/zh-TW.d.ts.map +1 -0
- package/esm/deps/jsr.io/@zod/zod/4.1.12/src/v4/locales/zh-TW.js +117 -0
- package/esm/mod.d.ts +23 -0
- package/esm/mod.d.ts.map +1 -0
- package/esm/mod.js +22 -0
- package/esm/package.json +3 -0
- package/esm/src/api.d.ts +42 -0
- package/esm/src/api.d.ts.map +1 -0
- package/esm/src/api.js +161 -0
- package/esm/src/apis/chatgptScraper/brightdata.d.ts +3 -0
- package/esm/src/apis/chatgptScraper/brightdata.d.ts.map +1 -0
- package/esm/src/apis/chatgptScraper/brightdata.js +172 -0
- package/esm/src/apis/chatgptScraper/index.d.ts +10 -0
- package/esm/src/apis/chatgptScraper/index.d.ts.map +1 -0
- package/esm/src/apis/chatgptScraper/index.js +41 -0
- package/esm/src/apis/chatgptScraper/oxy.d.ts +3 -0
- package/esm/src/apis/chatgptScraper/oxy.d.ts.map +1 -0
- package/esm/src/apis/chatgptScraper/oxy.js +156 -0
- package/esm/src/apis/chatgptScraper/scraper.d.ts +46 -0
- package/esm/src/apis/chatgptScraper/scraper.d.ts.map +1 -0
- package/esm/src/apis/chatgptScraper/scraper.js +98 -0
- package/esm/src/apis/googleAds/apiTypes.d.ts +131 -0
- package/esm/src/apis/googleAds/apiTypes.d.ts.map +1 -0
- package/esm/src/apis/googleAds/apiTypes.js +1 -0
- package/esm/src/apis/googleAds/client.d.ts +2 -0
- package/esm/src/apis/googleAds/client.d.ts.map +1 -0
- package/esm/src/apis/googleAds/client.js +97 -0
- package/esm/src/apis/googleAds/countryResourceMap.d.ts +2 -0
- package/esm/src/apis/googleAds/countryResourceMap.d.ts.map +1 -0
- package/esm/src/apis/googleAds/countryResourceMap.js +874 -0
- package/esm/src/apis/googleAds/keywordPlanner.d.ts +64 -0
- package/esm/src/apis/googleAds/keywordPlanner.d.ts.map +1 -0
- package/esm/src/apis/googleAds/keywordPlanner.js +462 -0
- package/esm/src/apis/googleAds/languageResourceMap.d.ts +2 -0
- package/esm/src/apis/googleAds/languageResourceMap.d.ts.map +1 -0
- package/esm/src/apis/googleAds/languageResourceMap.js +208 -0
- package/esm/src/apis/hasdata/aim.d.ts +4 -0
- package/esm/src/apis/hasdata/aim.d.ts.map +1 -0
- package/esm/src/apis/hasdata/aim.js +32 -0
- package/esm/src/apis/hasdata/aio.d.ts +4 -0
- package/esm/src/apis/hasdata/aio.d.ts.map +1 -0
- package/esm/src/apis/hasdata/aio.js +42 -0
- package/esm/src/apis/hasdata/helpers.d.ts +55 -0
- package/esm/src/apis/hasdata/helpers.d.ts.map +1 -0
- package/esm/src/apis/hasdata/helpers.js +182 -0
- package/esm/src/async.d.ts +29 -0
- package/esm/src/async.d.ts.map +1 -0
- package/esm/src/async.js +109 -0
- package/esm/src/models.d.ts +18 -0
- package/esm/src/models.d.ts.map +1 -0
- package/esm/src/models.js +48 -0
- package/esm/src/openai.d.ts +17 -0
- package/esm/src/openai.d.ts.map +1 -0
- package/esm/src/openai.js +136 -0
- package/esm/src/schemas/brand.schema.d.ts +182 -0
- package/esm/src/schemas/brand.schema.d.ts.map +1 -0
- package/esm/src/schemas/brand.schema.js +49 -0
- package/esm/src/schemas/entity.schema.d.ts +14 -0
- package/esm/src/schemas/entity.schema.d.ts.map +1 -0
- package/esm/src/schemas/entity.schema.js +8 -0
- package/esm/src/schemas/funnel.schema.d.ts +94 -0
- package/esm/src/schemas/funnel.schema.d.ts.map +1 -0
- package/esm/src/schemas/funnel.schema.js +46 -0
- package/esm/src/schemas/index.d.ts +21 -0
- package/esm/src/schemas/index.d.ts.map +1 -0
- package/esm/src/schemas/index.js +13 -0
- package/esm/src/schemas/keyword.schema.d.ts +44 -0
- package/esm/src/schemas/keyword.schema.d.ts.map +1 -0
- package/esm/src/schemas/keyword.schema.js +6 -0
- package/esm/src/schemas/models.schema.d.ts +6 -0
- package/esm/src/schemas/models.schema.d.ts.map +1 -0
- package/esm/src/schemas/models.schema.js +1 -0
- package/esm/src/schemas/persona.schema.d.ts +50 -0
- package/esm/src/schemas/persona.schema.d.ts.map +1 -0
- package/esm/src/schemas/persona.schema.js +21 -0
- package/esm/src/schemas/pipeline.schema.d.ts +146 -0
- package/esm/src/schemas/pipeline.schema.d.ts.map +1 -0
- package/esm/src/schemas/pipeline.schema.js +16 -0
- package/esm/src/schemas/search.schema.d.ts +29 -0
- package/esm/src/schemas/search.schema.d.ts.map +1 -0
- package/esm/src/schemas/search.schema.js +1 -0
- package/esm/src/schemas/seedKeyword.schema.d.ts +15 -0
- package/esm/src/schemas/seedKeyword.schema.d.ts.map +1 -0
- package/esm/src/schemas/seedKeyword.schema.js +7 -0
- package/esm/src/schemas/sentiment.schema.d.ts +22 -0
- package/esm/src/schemas/sentiment.schema.d.ts.map +1 -0
- package/esm/src/schemas/sentiment.schema.js +9 -0
- package/esm/src/schemas/sources.schema.d.ts +29 -0
- package/esm/src/schemas/sources.schema.d.ts.map +1 -0
- package/esm/src/schemas/sources.schema.js +1 -0
- package/esm/src/schemas/topics.schema.d.ts +33 -0
- package/esm/src/schemas/topics.schema.d.ts.map +1 -0
- package/esm/src/schemas/topics.schema.js +14 -0
- package/esm/src/tools/brands.d.ts +55 -0
- package/esm/src/tools/brands.d.ts.map +1 -0
- package/esm/src/tools/brands.js +458 -0
- package/esm/src/tools/classifier.d.ts +17 -0
- package/esm/src/tools/classifier.d.ts.map +1 -0
- package/esm/src/tools/classifier.js +135 -0
- package/esm/src/tools/entities.d.ts +19 -0
- package/esm/src/tools/entities.d.ts.map +1 -0
- package/esm/src/tools/entities.js +80 -0
- package/esm/src/tools/funnel.d.ts +41 -0
- package/esm/src/tools/funnel.d.ts.map +1 -0
- package/esm/src/tools/funnel.js +372 -0
- package/esm/src/tools/keywords.d.ts +21 -0
- package/esm/src/tools/keywords.d.ts.map +1 -0
- package/esm/src/tools/keywords.js +172 -0
- package/esm/src/tools/personas.d.ts +3 -0
- package/esm/src/tools/personas.d.ts.map +1 -0
- package/esm/src/tools/personas.js +88 -0
- package/esm/src/tools/scorer.d.ts +14 -0
- package/esm/src/tools/scorer.d.ts.map +1 -0
- package/esm/src/tools/scorer.js +54 -0
- package/esm/src/tools/search.d.ts +24 -0
- package/esm/src/tools/search.d.ts.map +1 -0
- package/esm/src/tools/search.js +130 -0
- package/esm/src/tools/seedKeywords.d.ts +68 -0
- package/esm/src/tools/seedKeywords.d.ts.map +1 -0
- package/esm/src/tools/seedKeywords.js +214 -0
- package/esm/src/tools/sentiment.d.ts +11 -0
- package/esm/src/tools/sentiment.d.ts.map +1 -0
- package/esm/src/tools/sentiment.js +68 -0
- package/esm/src/tools/sources.d.ts +39 -0
- package/esm/src/tools/sources.d.ts.map +1 -0
- package/esm/src/tools/sources.js +263 -0
- package/esm/src/tools/topics.d.ts +74 -0
- package/esm/src/tools/topics.d.ts.map +1 -0
- package/esm/src/tools/topics.js +229 -0
- package/esm/src/tools/translate.d.ts +44 -0
- package/esm/src/tools/translate.d.ts.map +1 -0
- package/esm/src/tools/translate.js +112 -0
- package/esm/src/urls.d.ts +10 -0
- package/esm/src/urls.d.ts.map +1 -0
- package/esm/src/urls.js +49 -0
- package/esm/src/utils.d.ts +38 -0
- package/esm/src/utils.d.ts.map +1 -0
- package/esm/src/utils.js +175 -0
- package/package.json +32 -0
- package/script/_dnt.shims.d.ts +6 -0
- package/script/_dnt.shims.d.ts.map +1 -0
- package/script/_dnt.shims.js +65 -0
- package/script/deps/jsr.io/@zod/zod/4.1.12/src/index.d.ts +5 -0
- package/script/deps/jsr.io/@zod/zod/4.1.12/src/index.d.ts.map +1 -0
- package/script/deps/jsr.io/@zod/zod/4.1.12/src/index.js +43 -0
- package/script/deps/jsr.io/@zod/zod/4.1.12/src/v4/classic/checks.d.ts +2 -0
- package/script/deps/jsr.io/@zod/zod/4.1.12/src/v4/classic/checks.d.ts.map +1 -0
- package/script/deps/jsr.io/@zod/zod/4.1.12/src/v4/classic/checks.js +32 -0
- package/script/deps/jsr.io/@zod/zod/4.1.12/src/v4/classic/coerce.d.ts +18 -0
- package/script/deps/jsr.io/@zod/zod/4.1.12/src/v4/classic/coerce.d.ts.map +1 -0
- package/script/deps/jsr.io/@zod/zod/4.1.12/src/v4/classic/coerce.js +57 -0
- package/script/deps/jsr.io/@zod/zod/4.1.12/src/v4/classic/compat.d.ts +51 -0
- package/script/deps/jsr.io/@zod/zod/4.1.12/src/v4/classic/compat.d.ts.map +1 -0
- package/script/deps/jsr.io/@zod/zod/4.1.12/src/v4/classic/compat.js +71 -0
- package/script/deps/jsr.io/@zod/zod/4.1.12/src/v4/classic/errors.d.ts +31 -0
- package/script/deps/jsr.io/@zod/zod/4.1.12/src/v4/classic/errors.d.ts.map +1 -0
- package/script/deps/jsr.io/@zod/zod/4.1.12/src/v4/classic/errors.js +84 -0
- package/script/deps/jsr.io/@zod/zod/4.1.12/src/v4/classic/external.d.ts +14 -0
- package/script/deps/jsr.io/@zod/zod/4.1.12/src/v4/classic/external.d.ts.map +1 -0
- package/script/deps/jsr.io/@zod/zod/4.1.12/src/v4/classic/external.js +80 -0
- package/script/deps/jsr.io/@zod/zod/4.1.12/src/v4/classic/iso.d.ts +23 -0
- package/script/deps/jsr.io/@zod/zod/4.1.12/src/v4/classic/iso.d.ts.map +1 -0
- package/script/deps/jsr.io/@zod/zod/4.1.12/src/v4/classic/iso.js +70 -0
- package/script/deps/jsr.io/@zod/zod/4.1.12/src/v4/classic/parse.d.ts +32 -0
- package/script/deps/jsr.io/@zod/zod/4.1.12/src/v4/classic/parse.d.ts.map +1 -0
- package/script/deps/jsr.io/@zod/zod/4.1.12/src/v4/classic/parse.js +51 -0
- package/script/deps/jsr.io/@zod/zod/4.1.12/src/v4/classic/schemas.d.ts +674 -0
- package/script/deps/jsr.io/@zod/zod/4.1.12/src/v4/classic/schemas.d.ts.map +1 -0
- package/script/deps/jsr.io/@zod/zod/4.1.12/src/v4/classic/schemas.js +1161 -0
- package/script/deps/jsr.io/@zod/zod/4.1.12/src/v4/core/api.d.ts +296 -0
- package/script/deps/jsr.io/@zod/zod/4.1.12/src/v4/core/api.d.ts.map +1 -0
- package/script/deps/jsr.io/@zod/zod/4.1.12/src/v4/core/api.js +1066 -0
- package/script/deps/jsr.io/@zod/zod/4.1.12/src/v4/core/checks.d.ts +279 -0
- package/script/deps/jsr.io/@zod/zod/4.1.12/src/v4/core/checks.d.ts.map +1 -0
- package/script/deps/jsr.io/@zod/zod/4.1.12/src/v4/core/checks.js +596 -0
- package/script/deps/jsr.io/@zod/zod/4.1.12/src/v4/core/core.d.ts +53 -0
- package/script/deps/jsr.io/@zod/zod/4.1.12/src/v4/core/core.d.ts.map +1 -0
- package/script/deps/jsr.io/@zod/zod/4.1.12/src/v4/core/core.js +72 -0
- package/script/deps/jsr.io/@zod/zod/4.1.12/src/v4/core/doc.d.ts +15 -0
- package/script/deps/jsr.io/@zod/zod/4.1.12/src/v4/core/doc.d.ts.map +1 -0
- package/script/deps/jsr.io/@zod/zod/4.1.12/src/v4/core/doc.js +40 -0
- package/script/deps/jsr.io/@zod/zod/4.1.12/src/v4/core/errors.d.ts +211 -0
- package/script/deps/jsr.io/@zod/zod/4.1.12/src/v4/core/errors.d.ts.map +1 -0
- package/script/deps/jsr.io/@zod/zod/4.1.12/src/v4/core/errors.js +222 -0
- package/script/deps/jsr.io/@zod/zod/4.1.12/src/v4/core/index.d.ts +15 -0
- package/script/deps/jsr.io/@zod/zod/4.1.12/src/v4/core/index.d.ts.map +1 -0
- package/script/deps/jsr.io/@zod/zod/4.1.12/src/v4/core/index.js +53 -0
- package/script/deps/jsr.io/@zod/zod/4.1.12/src/v4/core/json-schema.d.ts +89 -0
- package/script/deps/jsr.io/@zod/zod/4.1.12/src/v4/core/json-schema.d.ts.map +1 -0
- package/script/deps/jsr.io/@zod/zod/4.1.12/src/v4/core/json-schema.js +2 -0
- package/script/deps/jsr.io/@zod/zod/4.1.12/src/v4/core/parse.d.ts +50 -0
- package/script/deps/jsr.io/@zod/zod/4.1.12/src/v4/core/parse.d.ts.map +1 -0
- package/script/deps/jsr.io/@zod/zod/4.1.12/src/v4/core/parse.js +141 -0
- package/script/deps/jsr.io/@zod/zod/4.1.12/src/v4/core/regexes.d.ts +79 -0
- package/script/deps/jsr.io/@zod/zod/4.1.12/src/v4/core/regexes.d.ts.map +1 -0
- package/script/deps/jsr.io/@zod/zod/4.1.12/src/v4/core/regexes.js +136 -0
- package/script/deps/jsr.io/@zod/zod/4.1.12/src/v4/core/registries.d.ts +36 -0
- package/script/deps/jsr.io/@zod/zod/4.1.12/src/v4/core/registries.d.ts.map +1 -0
- package/script/deps/jsr.io/@zod/zod/4.1.12/src/v4/core/registries.js +57 -0
- package/script/deps/jsr.io/@zod/zod/4.1.12/src/v4/core/schemas.d.ts +1115 -0
- package/script/deps/jsr.io/@zod/zod/4.1.12/src/v4/core/schemas.d.ts.map +1 -0
- package/script/deps/jsr.io/@zod/zod/4.1.12/src/v4/core/schemas.js +1995 -0
- package/script/deps/jsr.io/@zod/zod/4.1.12/src/v4/core/standard-schema.d.ts +56 -0
- package/script/deps/jsr.io/@zod/zod/4.1.12/src/v4/core/standard-schema.d.ts.map +1 -0
- package/script/deps/jsr.io/@zod/zod/4.1.12/src/v4/core/standard-schema.js +2 -0
- package/script/deps/jsr.io/@zod/zod/4.1.12/src/v4/core/to-json-schema.d.ts +91 -0
- package/script/deps/jsr.io/@zod/zod/4.1.12/src/v4/core/to-json-schema.d.ts.map +1 -0
- package/script/deps/jsr.io/@zod/zod/4.1.12/src/v4/core/to-json-schema.js +925 -0
- package/script/deps/jsr.io/@zod/zod/4.1.12/src/v4/core/util.d.ts +198 -0
- package/script/deps/jsr.io/@zod/zod/4.1.12/src/v4/core/util.d.ts.map +1 -0
- package/script/deps/jsr.io/@zod/zod/4.1.12/src/v4/core/util.js +657 -0
- package/script/deps/jsr.io/@zod/zod/4.1.12/src/v4/core/versions.d.ts +6 -0
- package/script/deps/jsr.io/@zod/zod/4.1.12/src/v4/core/versions.d.ts.map +1 -0
- package/script/deps/jsr.io/@zod/zod/4.1.12/src/v4/core/versions.js +8 -0
- package/script/deps/jsr.io/@zod/zod/4.1.12/src/v4/locales/ar.d.ts +5 -0
- package/script/deps/jsr.io/@zod/zod/4.1.12/src/v4/locales/ar.d.ts.map +1 -0
- package/script/deps/jsr.io/@zod/zod/4.1.12/src/v4/locales/ar.js +152 -0
- package/script/deps/jsr.io/@zod/zod/4.1.12/src/v4/locales/az.d.ts +5 -0
- package/script/deps/jsr.io/@zod/zod/4.1.12/src/v4/locales/az.d.ts.map +1 -0
- package/script/deps/jsr.io/@zod/zod/4.1.12/src/v4/locales/az.js +151 -0
- package/script/deps/jsr.io/@zod/zod/4.1.12/src/v4/locales/be.d.ts +5 -0
- package/script/deps/jsr.io/@zod/zod/4.1.12/src/v4/locales/be.d.ts.map +1 -0
- package/script/deps/jsr.io/@zod/zod/4.1.12/src/v4/locales/be.js +200 -0
- package/script/deps/jsr.io/@zod/zod/4.1.12/src/v4/locales/bg.d.ts +6 -0
- package/script/deps/jsr.io/@zod/zod/4.1.12/src/v4/locales/bg.d.ts.map +1 -0
- package/script/deps/jsr.io/@zod/zod/4.1.12/src/v4/locales/bg.js +166 -0
- package/script/deps/jsr.io/@zod/zod/4.1.12/src/v4/locales/ca.d.ts +5 -0
- package/script/deps/jsr.io/@zod/zod/4.1.12/src/v4/locales/ca.d.ts.map +1 -0
- package/script/deps/jsr.io/@zod/zod/4.1.12/src/v4/locales/ca.js +154 -0
- package/script/deps/jsr.io/@zod/zod/4.1.12/src/v4/locales/cs.d.ts +5 -0
- package/script/deps/jsr.io/@zod/zod/4.1.12/src/v4/locales/cs.d.ts.map +1 -0
- package/script/deps/jsr.io/@zod/zod/4.1.12/src/v4/locales/cs.js +171 -0
- package/script/deps/jsr.io/@zod/zod/4.1.12/src/v4/locales/da.d.ts +5 -0
- package/script/deps/jsr.io/@zod/zod/4.1.12/src/v4/locales/da.d.ts.map +1 -0
- package/script/deps/jsr.io/@zod/zod/4.1.12/src/v4/locales/da.js +167 -0
- package/script/deps/jsr.io/@zod/zod/4.1.12/src/v4/locales/de.d.ts +5 -0
- package/script/deps/jsr.io/@zod/zod/4.1.12/src/v4/locales/de.d.ts.map +1 -0
- package/script/deps/jsr.io/@zod/zod/4.1.12/src/v4/locales/de.js +152 -0
- package/script/deps/jsr.io/@zod/zod/4.1.12/src/v4/locales/en.d.ts +6 -0
- package/script/deps/jsr.io/@zod/zod/4.1.12/src/v4/locales/en.d.ts.map +1 -0
- package/script/deps/jsr.io/@zod/zod/4.1.12/src/v4/locales/en.js +155 -0
- package/script/deps/jsr.io/@zod/zod/4.1.12/src/v4/locales/eo.d.ts +6 -0
- package/script/deps/jsr.io/@zod/zod/4.1.12/src/v4/locales/eo.d.ts.map +1 -0
- package/script/deps/jsr.io/@zod/zod/4.1.12/src/v4/locales/eo.js +154 -0
- package/script/deps/jsr.io/@zod/zod/4.1.12/src/v4/locales/es.d.ts +5 -0
- package/script/deps/jsr.io/@zod/zod/4.1.12/src/v4/locales/es.d.ts.map +1 -0
- package/script/deps/jsr.io/@zod/zod/4.1.12/src/v4/locales/es.js +185 -0
- package/script/deps/jsr.io/@zod/zod/4.1.12/src/v4/locales/fa.d.ts +5 -0
- package/script/deps/jsr.io/@zod/zod/4.1.12/src/v4/locales/fa.d.ts.map +1 -0
- package/script/deps/jsr.io/@zod/zod/4.1.12/src/v4/locales/fa.js +158 -0
- package/script/deps/jsr.io/@zod/zod/4.1.12/src/v4/locales/fi.d.ts +5 -0
- package/script/deps/jsr.io/@zod/zod/4.1.12/src/v4/locales/fi.d.ts.map +1 -0
- package/script/deps/jsr.io/@zod/zod/4.1.12/src/v4/locales/fi.js +158 -0
- package/script/deps/jsr.io/@zod/zod/4.1.12/src/v4/locales/fr-CA.d.ts +5 -0
- package/script/deps/jsr.io/@zod/zod/4.1.12/src/v4/locales/fr-CA.d.ts.map +1 -0
- package/script/deps/jsr.io/@zod/zod/4.1.12/src/v4/locales/fr-CA.js +153 -0
- package/script/deps/jsr.io/@zod/zod/4.1.12/src/v4/locales/fr.d.ts +5 -0
- package/script/deps/jsr.io/@zod/zod/4.1.12/src/v4/locales/fr.d.ts.map +1 -0
- package/script/deps/jsr.io/@zod/zod/4.1.12/src/v4/locales/fr.js +152 -0
- package/script/deps/jsr.io/@zod/zod/4.1.12/src/v4/locales/he.d.ts +5 -0
- package/script/deps/jsr.io/@zod/zod/4.1.12/src/v4/locales/he.d.ts.map +1 -0
- package/script/deps/jsr.io/@zod/zod/4.1.12/src/v4/locales/he.js +153 -0
- package/script/deps/jsr.io/@zod/zod/4.1.12/src/v4/locales/hu.d.ts +5 -0
- package/script/deps/jsr.io/@zod/zod/4.1.12/src/v4/locales/hu.d.ts.map +1 -0
- package/script/deps/jsr.io/@zod/zod/4.1.12/src/v4/locales/hu.js +153 -0
- package/script/deps/jsr.io/@zod/zod/4.1.12/src/v4/locales/id.d.ts +5 -0
- package/script/deps/jsr.io/@zod/zod/4.1.12/src/v4/locales/id.d.ts.map +1 -0
- package/script/deps/jsr.io/@zod/zod/4.1.12/src/v4/locales/id.js +152 -0
- package/script/deps/jsr.io/@zod/zod/4.1.12/src/v4/locales/index.d.ts +48 -0
- package/script/deps/jsr.io/@zod/zod/4.1.12/src/v4/locales/index.d.ts.map +1 -0
- package/script/deps/jsr.io/@zod/zod/4.1.12/src/v4/locales/index.js +100 -0
- package/script/deps/jsr.io/@zod/zod/4.1.12/src/v4/locales/is.d.ts +6 -0
- package/script/deps/jsr.io/@zod/zod/4.1.12/src/v4/locales/is.d.ts.map +1 -0
- package/script/deps/jsr.io/@zod/zod/4.1.12/src/v4/locales/is.js +155 -0
- package/script/deps/jsr.io/@zod/zod/4.1.12/src/v4/locales/it.d.ts +5 -0
- package/script/deps/jsr.io/@zod/zod/4.1.12/src/v4/locales/it.d.ts.map +1 -0
- package/script/deps/jsr.io/@zod/zod/4.1.12/src/v4/locales/it.js +153 -0
- package/script/deps/jsr.io/@zod/zod/4.1.12/src/v4/locales/ja.d.ts +5 -0
- package/script/deps/jsr.io/@zod/zod/4.1.12/src/v4/locales/ja.d.ts.map +1 -0
- package/script/deps/jsr.io/@zod/zod/4.1.12/src/v4/locales/ja.js +151 -0
- package/script/deps/jsr.io/@zod/zod/4.1.12/src/v4/locales/ka.d.ts +6 -0
- package/script/deps/jsr.io/@zod/zod/4.1.12/src/v4/locales/ka.d.ts.map +1 -0
- package/script/deps/jsr.io/@zod/zod/4.1.12/src/v4/locales/ka.js +163 -0
- package/script/deps/jsr.io/@zod/zod/4.1.12/src/v4/locales/kh.d.ts +6 -0
- package/script/deps/jsr.io/@zod/zod/4.1.12/src/v4/locales/kh.d.ts.map +1 -0
- package/script/deps/jsr.io/@zod/zod/4.1.12/src/v4/locales/kh.js +11 -0
- package/script/deps/jsr.io/@zod/zod/4.1.12/src/v4/locales/km.d.ts +5 -0
- package/script/deps/jsr.io/@zod/zod/4.1.12/src/v4/locales/km.d.ts.map +1 -0
- package/script/deps/jsr.io/@zod/zod/4.1.12/src/v4/locales/km.js +153 -0
- package/script/deps/jsr.io/@zod/zod/4.1.12/src/v4/locales/ko.d.ts +5 -0
- package/script/deps/jsr.io/@zod/zod/4.1.12/src/v4/locales/ko.d.ts.map +1 -0
- package/script/deps/jsr.io/@zod/zod/4.1.12/src/v4/locales/ko.js +157 -0
- package/script/deps/jsr.io/@zod/zod/4.1.12/src/v4/locales/lt.d.ts +6 -0
- package/script/deps/jsr.io/@zod/zod/4.1.12/src/v4/locales/lt.d.ts.map +1 -0
- package/script/deps/jsr.io/@zod/zod/4.1.12/src/v4/locales/lt.js +268 -0
- package/script/deps/jsr.io/@zod/zod/4.1.12/src/v4/locales/mk.d.ts +5 -0
- package/script/deps/jsr.io/@zod/zod/4.1.12/src/v4/locales/mk.d.ts.map +1 -0
- package/script/deps/jsr.io/@zod/zod/4.1.12/src/v4/locales/mk.js +154 -0
- package/script/deps/jsr.io/@zod/zod/4.1.12/src/v4/locales/ms.d.ts +5 -0
- package/script/deps/jsr.io/@zod/zod/4.1.12/src/v4/locales/ms.d.ts.map +1 -0
- package/script/deps/jsr.io/@zod/zod/4.1.12/src/v4/locales/ms.js +152 -0
- package/script/deps/jsr.io/@zod/zod/4.1.12/src/v4/locales/nl.d.ts +5 -0
- package/script/deps/jsr.io/@zod/zod/4.1.12/src/v4/locales/nl.d.ts.map +1 -0
- package/script/deps/jsr.io/@zod/zod/4.1.12/src/v4/locales/nl.js +153 -0
- package/script/deps/jsr.io/@zod/zod/4.1.12/src/v4/locales/no.d.ts +5 -0
- package/script/deps/jsr.io/@zod/zod/4.1.12/src/v4/locales/no.d.ts.map +1 -0
- package/script/deps/jsr.io/@zod/zod/4.1.12/src/v4/locales/no.js +152 -0
- package/script/deps/jsr.io/@zod/zod/4.1.12/src/v4/locales/ota.d.ts +5 -0
- package/script/deps/jsr.io/@zod/zod/4.1.12/src/v4/locales/ota.d.ts.map +1 -0
- package/script/deps/jsr.io/@zod/zod/4.1.12/src/v4/locales/ota.js +153 -0
- package/script/deps/jsr.io/@zod/zod/4.1.12/src/v4/locales/pl.d.ts +5 -0
- package/script/deps/jsr.io/@zod/zod/4.1.12/src/v4/locales/pl.d.ts.map +1 -0
- package/script/deps/jsr.io/@zod/zod/4.1.12/src/v4/locales/pl.js +153 -0
- package/script/deps/jsr.io/@zod/zod/4.1.12/src/v4/locales/ps.d.ts +5 -0
- package/script/deps/jsr.io/@zod/zod/4.1.12/src/v4/locales/ps.d.ts.map +1 -0
- package/script/deps/jsr.io/@zod/zod/4.1.12/src/v4/locales/ps.js +158 -0
- package/script/deps/jsr.io/@zod/zod/4.1.12/src/v4/locales/pt.d.ts +5 -0
- package/script/deps/jsr.io/@zod/zod/4.1.12/src/v4/locales/pt.d.ts.map +1 -0
- package/script/deps/jsr.io/@zod/zod/4.1.12/src/v4/locales/pt.js +152 -0
- package/script/deps/jsr.io/@zod/zod/4.1.12/src/v4/locales/ru.d.ts +5 -0
- package/script/deps/jsr.io/@zod/zod/4.1.12/src/v4/locales/ru.d.ts.map +1 -0
- package/script/deps/jsr.io/@zod/zod/4.1.12/src/v4/locales/ru.js +200 -0
- package/script/deps/jsr.io/@zod/zod/4.1.12/src/v4/locales/sl.d.ts +5 -0
- package/script/deps/jsr.io/@zod/zod/4.1.12/src/v4/locales/sl.d.ts.map +1 -0
- package/script/deps/jsr.io/@zod/zod/4.1.12/src/v4/locales/sl.js +153 -0
- package/script/deps/jsr.io/@zod/zod/4.1.12/src/v4/locales/sv.d.ts +5 -0
- package/script/deps/jsr.io/@zod/zod/4.1.12/src/v4/locales/sv.d.ts.map +1 -0
- package/script/deps/jsr.io/@zod/zod/4.1.12/src/v4/locales/sv.js +154 -0
- package/script/deps/jsr.io/@zod/zod/4.1.12/src/v4/locales/ta.d.ts +5 -0
- package/script/deps/jsr.io/@zod/zod/4.1.12/src/v4/locales/ta.d.ts.map +1 -0
- package/script/deps/jsr.io/@zod/zod/4.1.12/src/v4/locales/ta.js +153 -0
- package/script/deps/jsr.io/@zod/zod/4.1.12/src/v4/locales/th.d.ts +5 -0
- package/script/deps/jsr.io/@zod/zod/4.1.12/src/v4/locales/th.d.ts.map +1 -0
- package/script/deps/jsr.io/@zod/zod/4.1.12/src/v4/locales/th.js +153 -0
- package/script/deps/jsr.io/@zod/zod/4.1.12/src/v4/locales/tr.d.ts +6 -0
- package/script/deps/jsr.io/@zod/zod/4.1.12/src/v4/locales/tr.d.ts.map +1 -0
- package/script/deps/jsr.io/@zod/zod/4.1.12/src/v4/locales/tr.js +153 -0
- package/script/deps/jsr.io/@zod/zod/4.1.12/src/v4/locales/ua.d.ts +6 -0
- package/script/deps/jsr.io/@zod/zod/4.1.12/src/v4/locales/ua.d.ts.map +1 -0
- package/script/deps/jsr.io/@zod/zod/4.1.12/src/v4/locales/ua.js +11 -0
- package/script/deps/jsr.io/@zod/zod/4.1.12/src/v4/locales/uk.d.ts +5 -0
- package/script/deps/jsr.io/@zod/zod/4.1.12/src/v4/locales/uk.d.ts.map +1 -0
- package/script/deps/jsr.io/@zod/zod/4.1.12/src/v4/locales/uk.js +153 -0
- package/script/deps/jsr.io/@zod/zod/4.1.12/src/v4/locales/ur.d.ts +5 -0
- package/script/deps/jsr.io/@zod/zod/4.1.12/src/v4/locales/ur.d.ts.map +1 -0
- package/script/deps/jsr.io/@zod/zod/4.1.12/src/v4/locales/ur.js +153 -0
- package/script/deps/jsr.io/@zod/zod/4.1.12/src/v4/locales/vi.d.ts +5 -0
- package/script/deps/jsr.io/@zod/zod/4.1.12/src/v4/locales/vi.d.ts.map +1 -0
- package/script/deps/jsr.io/@zod/zod/4.1.12/src/v4/locales/vi.js +152 -0
- package/script/deps/jsr.io/@zod/zod/4.1.12/src/v4/locales/yo.d.ts +5 -0
- package/script/deps/jsr.io/@zod/zod/4.1.12/src/v4/locales/yo.d.ts.map +1 -0
- package/script/deps/jsr.io/@zod/zod/4.1.12/src/v4/locales/yo.js +151 -0
- package/script/deps/jsr.io/@zod/zod/4.1.12/src/v4/locales/zh-CN.d.ts +5 -0
- package/script/deps/jsr.io/@zod/zod/4.1.12/src/v4/locales/zh-CN.d.ts.map +1 -0
- package/script/deps/jsr.io/@zod/zod/4.1.12/src/v4/locales/zh-CN.js +152 -0
- package/script/deps/jsr.io/@zod/zod/4.1.12/src/v4/locales/zh-TW.d.ts +5 -0
- package/script/deps/jsr.io/@zod/zod/4.1.12/src/v4/locales/zh-TW.d.ts.map +1 -0
- package/script/deps/jsr.io/@zod/zod/4.1.12/src/v4/locales/zh-TW.js +153 -0
- package/script/mod.d.ts +23 -0
- package/script/mod.d.ts.map +1 -0
- package/script/mod.js +38 -0
- package/script/package.json +3 -0
- package/script/src/api.d.ts +42 -0
- package/script/src/api.d.ts.map +1 -0
- package/script/src/api.js +172 -0
- package/script/src/apis/chatgptScraper/brightdata.d.ts +3 -0
- package/script/src/apis/chatgptScraper/brightdata.d.ts.map +1 -0
- package/script/src/apis/chatgptScraper/brightdata.js +208 -0
- package/script/src/apis/chatgptScraper/index.d.ts +10 -0
- package/script/src/apis/chatgptScraper/index.d.ts.map +1 -0
- package/script/src/apis/chatgptScraper/index.js +81 -0
- package/script/src/apis/chatgptScraper/oxy.d.ts +3 -0
- package/script/src/apis/chatgptScraper/oxy.d.ts.map +1 -0
- package/script/src/apis/chatgptScraper/oxy.js +192 -0
- package/script/src/apis/chatgptScraper/scraper.d.ts +46 -0
- package/script/src/apis/chatgptScraper/scraper.d.ts.map +1 -0
- package/script/src/apis/chatgptScraper/scraper.js +139 -0
- package/script/src/apis/googleAds/apiTypes.d.ts +131 -0
- package/script/src/apis/googleAds/apiTypes.d.ts.map +1 -0
- package/script/src/apis/googleAds/apiTypes.js +2 -0
- package/script/src/apis/googleAds/client.d.ts +2 -0
- package/script/src/apis/googleAds/client.d.ts.map +1 -0
- package/script/src/apis/googleAds/client.js +133 -0
- package/script/src/apis/googleAds/countryResourceMap.d.ts +2 -0
- package/script/src/apis/googleAds/countryResourceMap.d.ts.map +1 -0
- package/script/src/apis/googleAds/countryResourceMap.js +877 -0
- package/script/src/apis/googleAds/keywordPlanner.d.ts +64 -0
- package/script/src/apis/googleAds/keywordPlanner.d.ts.map +1 -0
- package/script/src/apis/googleAds/keywordPlanner.js +465 -0
- package/script/src/apis/googleAds/languageResourceMap.d.ts +2 -0
- package/script/src/apis/googleAds/languageResourceMap.d.ts.map +1 -0
- package/script/src/apis/googleAds/languageResourceMap.js +211 -0
- package/script/src/apis/hasdata/aim.d.ts +4 -0
- package/script/src/apis/hasdata/aim.d.ts.map +1 -0
- package/script/src/apis/hasdata/aim.js +36 -0
- package/script/src/apis/hasdata/aio.d.ts +4 -0
- package/script/src/apis/hasdata/aio.d.ts.map +1 -0
- package/script/src/apis/hasdata/aio.js +46 -0
- package/script/src/apis/hasdata/helpers.d.ts +55 -0
- package/script/src/apis/hasdata/helpers.d.ts.map +1 -0
- package/script/src/apis/hasdata/helpers.js +222 -0
- package/script/src/async.d.ts +29 -0
- package/script/src/async.d.ts.map +1 -0
- package/script/src/async.js +148 -0
- package/script/src/models.d.ts +18 -0
- package/script/src/models.d.ts.map +1 -0
- package/script/src/models.js +52 -0
- package/script/src/openai.d.ts +17 -0
- package/script/src/openai.d.ts.map +1 -0
- package/script/src/openai.js +175 -0
- package/script/src/schemas/brand.schema.d.ts +182 -0
- package/script/src/schemas/brand.schema.d.ts.map +1 -0
- package/script/src/schemas/brand.schema.js +52 -0
- package/script/src/schemas/entity.schema.d.ts +14 -0
- package/script/src/schemas/entity.schema.d.ts.map +1 -0
- package/script/src/schemas/entity.schema.js +11 -0
- package/script/src/schemas/funnel.schema.d.ts +94 -0
- package/script/src/schemas/funnel.schema.d.ts.map +1 -0
- package/script/src/schemas/funnel.schema.js +49 -0
- package/script/src/schemas/index.d.ts +21 -0
- package/script/src/schemas/index.d.ts.map +1 -0
- package/script/src/schemas/index.js +14 -0
- package/script/src/schemas/keyword.schema.d.ts +44 -0
- package/script/src/schemas/keyword.schema.d.ts.map +1 -0
- package/script/src/schemas/keyword.schema.js +9 -0
- package/script/src/schemas/models.schema.d.ts +6 -0
- package/script/src/schemas/models.schema.d.ts.map +1 -0
- package/script/src/schemas/models.schema.js +2 -0
- package/script/src/schemas/persona.schema.d.ts +50 -0
- package/script/src/schemas/persona.schema.d.ts.map +1 -0
- package/script/src/schemas/persona.schema.js +24 -0
- package/script/src/schemas/pipeline.schema.d.ts +146 -0
- package/script/src/schemas/pipeline.schema.d.ts.map +1 -0
- package/script/src/schemas/pipeline.schema.js +17 -0
- package/script/src/schemas/search.schema.d.ts +29 -0
- package/script/src/schemas/search.schema.d.ts.map +1 -0
- package/script/src/schemas/search.schema.js +2 -0
- package/script/src/schemas/seedKeyword.schema.d.ts +15 -0
- package/script/src/schemas/seedKeyword.schema.d.ts.map +1 -0
- package/script/src/schemas/seedKeyword.schema.js +8 -0
- package/script/src/schemas/sentiment.schema.d.ts +22 -0
- package/script/src/schemas/sentiment.schema.d.ts.map +1 -0
- package/script/src/schemas/sentiment.schema.js +12 -0
- package/script/src/schemas/sources.schema.d.ts +29 -0
- package/script/src/schemas/sources.schema.d.ts.map +1 -0
- package/script/src/schemas/sources.schema.js +2 -0
- package/script/src/schemas/topics.schema.d.ts +33 -0
- package/script/src/schemas/topics.schema.d.ts.map +1 -0
- package/script/src/schemas/topics.schema.js +17 -0
- package/script/src/tools/brands.d.ts +55 -0
- package/script/src/tools/brands.d.ts.map +1 -0
- package/script/src/tools/brands.js +470 -0
- package/script/src/tools/classifier.d.ts +17 -0
- package/script/src/tools/classifier.d.ts.map +1 -0
- package/script/src/tools/classifier.js +141 -0
- package/script/src/tools/entities.d.ts +19 -0
- package/script/src/tools/entities.d.ts.map +1 -0
- package/script/src/tools/entities.js +88 -0
- package/script/src/tools/funnel.d.ts +41 -0
- package/script/src/tools/funnel.d.ts.map +1 -0
- package/script/src/tools/funnel.js +381 -0
- package/script/src/tools/keywords.d.ts +21 -0
- package/script/src/tools/keywords.d.ts.map +1 -0
- package/script/src/tools/keywords.js +190 -0
- package/script/src/tools/personas.d.ts +3 -0
- package/script/src/tools/personas.d.ts.map +1 -0
- package/script/src/tools/personas.js +91 -0
- package/script/src/tools/scorer.d.ts +14 -0
- package/script/src/tools/scorer.d.ts.map +1 -0
- package/script/src/tools/scorer.js +59 -0
- package/script/src/tools/search.d.ts +24 -0
- package/script/src/tools/search.d.ts.map +1 -0
- package/script/src/tools/search.js +135 -0
- package/script/src/tools/seedKeywords.d.ts +68 -0
- package/script/src/tools/seedKeywords.d.ts.map +1 -0
- package/script/src/tools/seedKeywords.js +220 -0
- package/script/src/tools/sentiment.d.ts +11 -0
- package/script/src/tools/sentiment.d.ts.map +1 -0
- package/script/src/tools/sentiment.js +72 -0
- package/script/src/tools/sources.d.ts +39 -0
- package/script/src/tools/sources.d.ts.map +1 -0
- package/script/src/tools/sources.js +273 -0
- package/script/src/tools/topics.d.ts +74 -0
- package/script/src/tools/topics.d.ts.map +1 -0
- package/script/src/tools/topics.js +237 -0
- package/script/src/tools/translate.d.ts +44 -0
- package/script/src/tools/translate.d.ts.map +1 -0
- package/script/src/tools/translate.js +118 -0
- package/script/src/urls.d.ts +10 -0
- package/script/src/urls.d.ts.map +1 -0
- package/script/src/urls.js +53 -0
- package/script/src/utils.d.ts +38 -0
- package/script/src/utils.d.ts.map +1 -0
- package/script/src/utils.js +183 -0
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
export interface Source {
|
|
2
|
+
title: string;
|
|
3
|
+
url: string;
|
|
4
|
+
domain: string;
|
|
5
|
+
cited?: boolean;
|
|
6
|
+
positions?: Array<number>;
|
|
7
|
+
}
|
|
8
|
+
/**
|
|
9
|
+
* Extended Source with brand mentions and links.
|
|
10
|
+
* Mentions refer to the source title, and links refer to the source URL.
|
|
11
|
+
*/
|
|
12
|
+
export interface EnrichedSource extends Source {
|
|
13
|
+
mentionedBrands: Array<string>;
|
|
14
|
+
mentionedCompetitors: Array<string>;
|
|
15
|
+
linkedBrand: string | null;
|
|
16
|
+
linkedCompetitor: string | null;
|
|
17
|
+
}
|
|
18
|
+
/**
|
|
19
|
+
* Source with category information from WEB_TAXONOMY.
|
|
20
|
+
*/
|
|
21
|
+
export interface CategorizedSource extends EnrichedSource {
|
|
22
|
+
category: string | null;
|
|
23
|
+
subcategory: string | null;
|
|
24
|
+
}
|
|
25
|
+
export interface SearchSource extends Source {
|
|
26
|
+
rank: number;
|
|
27
|
+
datePublished: string | null;
|
|
28
|
+
}
|
|
29
|
+
//# sourceMappingURL=sources.schema.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sources.schema.d.ts","sourceRoot":"","sources":["../../../src/src/schemas/sources.schema.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,MAAM;IACtB,KAAK,EAAE,MAAM,CAAC;IACd,GAAG,EAAE,MAAM,CAAC;IACZ,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,SAAS,CAAC,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC;CAC1B;AAED;;;GAGG;AACH,MAAM,WAAW,cAAe,SAAQ,MAAM;IAC7C,eAAe,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC;IAC/B,oBAAoB,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC;IACpC,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,gBAAgB,EAAE,MAAM,GAAG,IAAI,CAAC;CAChC;AAED;;GAEG;AACH,MAAM,WAAW,iBAAkB,SAAQ,cAAc;IACxD,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;IACxB,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;CAC3B;AAED,MAAM,WAAW,YAAa,SAAQ,MAAM;IAC3C,IAAI,EAAE,MAAM,CAAC;IACb,aAAa,EAAE,MAAM,GAAG,IAAI,CAAC;CAC7B"}
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
import { z } from '../../deps/jsr.io/@zod/zod/4.1.12/src/index.js';
|
|
2
|
+
/**
|
|
3
|
+
* Topic schema - a topic with its subtopics.
|
|
4
|
+
*/
|
|
5
|
+
export declare const TopicSchema: z.ZodObject<{
|
|
6
|
+
topic: z.ZodString;
|
|
7
|
+
subtopics: z.ZodArray<z.ZodString>;
|
|
8
|
+
}, z.core.$strip>;
|
|
9
|
+
/**
|
|
10
|
+
* Taxonomy schema - contains all topics and their subtopics.
|
|
11
|
+
*/
|
|
12
|
+
export declare const TaxonomySchema: z.ZodObject<{
|
|
13
|
+
topics: z.ZodArray<z.ZodObject<{
|
|
14
|
+
topic: z.ZodString;
|
|
15
|
+
subtopics: z.ZodArray<z.ZodString>;
|
|
16
|
+
}, z.core.$strip>>;
|
|
17
|
+
}, z.core.$strip>;
|
|
18
|
+
/**
|
|
19
|
+
* A topic with its subtopics.
|
|
20
|
+
*/
|
|
21
|
+
export type TopicType = z.infer<typeof TopicSchema>;
|
|
22
|
+
/**
|
|
23
|
+
* Taxonomy structure containing all topics and their subtopics.
|
|
24
|
+
*/
|
|
25
|
+
export type TaxonomyType = z.infer<typeof TaxonomySchema>;
|
|
26
|
+
/**
|
|
27
|
+
* Topic label assigned to a text (topic + subtopic pair).
|
|
28
|
+
*/
|
|
29
|
+
export interface TopicLabel {
|
|
30
|
+
topic: string;
|
|
31
|
+
subtopic: string;
|
|
32
|
+
}
|
|
33
|
+
//# sourceMappingURL=topics.schema.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"topics.schema.d.ts","sourceRoot":"","sources":["../../../src/src/schemas/topics.schema.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,gDAAgD,CAAC;AAEnE;;GAEG;AACH,eAAO,MAAM,WAAW;;;iBAGtB,CAAC;AAEH;;GAEG;AACH,eAAO,MAAM,cAAc;;;;;iBAEzB,CAAC;AAEH;;GAEG;AACH,MAAM,MAAM,SAAS,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,WAAW,CAAC,CAAC;AAEpD;;GAEG;AACH,MAAM,MAAM,YAAY,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,cAAc,CAAC,CAAC;AAE1D;;GAEG;AACH,MAAM,WAAW,UAAU;IAC1B,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,MAAM,CAAC;CACjB"}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.TaxonomySchema = exports.TopicSchema = void 0;
|
|
4
|
+
const index_js_1 = require("../../deps/jsr.io/@zod/zod/4.1.12/src/index.js");
|
|
5
|
+
/**
|
|
6
|
+
* Topic schema - a topic with its subtopics.
|
|
7
|
+
*/
|
|
8
|
+
exports.TopicSchema = index_js_1.z.object({
|
|
9
|
+
topic: index_js_1.z.string(),
|
|
10
|
+
subtopics: index_js_1.z.array(index_js_1.z.string())
|
|
11
|
+
});
|
|
12
|
+
/**
|
|
13
|
+
* Taxonomy schema - contains all topics and their subtopics.
|
|
14
|
+
*/
|
|
15
|
+
exports.TaxonomySchema = index_js_1.z.object({
|
|
16
|
+
topics: index_js_1.z.array(exports.TopicSchema)
|
|
17
|
+
});
|
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
import type { CompetitorSearchOptions, BrandSearchOptions, BrandListResponse } from '../schemas/brand.schema.js';
|
|
2
|
+
import { type Brand, type FlaggedBrand, type Product } from '../schemas/brand.schema.js';
|
|
3
|
+
import type { Entity } from './entities.js';
|
|
4
|
+
interface BrandContextOptions {
|
|
5
|
+
brand?: string | Array<string>;
|
|
6
|
+
brandDomain?: string | Array<string>;
|
|
7
|
+
sector?: string | null;
|
|
8
|
+
market?: string | null;
|
|
9
|
+
briefing?: string | null;
|
|
10
|
+
}
|
|
11
|
+
export declare function buildBrandContext({ brand, brandDomain, sector, market, briefing }: BrandContextOptions): string;
|
|
12
|
+
export type { BrandContextOptions };
|
|
13
|
+
/**
|
|
14
|
+
* Generate seed keywords for a single portfolio item using an LLM.
|
|
15
|
+
*/
|
|
16
|
+
export declare function generatePortfolioKeywords(product: Product, sector: string, market: string, language?: string, model?: string): Promise<Array<string>>;
|
|
17
|
+
/**
|
|
18
|
+
* Generate seed keywords for all portfolio items in a brand concurrently,
|
|
19
|
+
* updating the keywordSeeds field in-place for each product.
|
|
20
|
+
*/
|
|
21
|
+
export declare function enrichBrandPortfolioWithKeywords(brand: Brand, language?: string, model?: string, maxConcurrency?: number, sector?: string | null, market?: string | null): Promise<Brand>;
|
|
22
|
+
export declare function generateCompetitorsInfo({ brand, brandDomain, sector, market, briefing, strict, instructions, brands, language, userLanguage, model, useSearch, countryISOCode, contextSize, reasoningEffort }: CompetitorSearchOptions): Promise<BrandListResponse>;
|
|
23
|
+
export declare function generateBrandInfo({ brand, brandDomain, language, userLanguage, sector, market, briefing, model, useSearch, countryISOCode, contextSize, reasoningEffort }: BrandSearchOptions): Promise<Brand>;
|
|
24
|
+
export declare function concatBrands(ownBrands: Array<Brand>, competitors: Array<Brand>): Array<FlaggedBrand>;
|
|
25
|
+
/**
|
|
26
|
+
* Normalizes a brand name for comparison.
|
|
27
|
+
* - Converts to lowercase
|
|
28
|
+
* - Normalizes & to " and " (with spaces to separate words)
|
|
29
|
+
* - Removes accents/diacritics
|
|
30
|
+
* - Expands CamelCase to spaces (e.g., "AcmeCorp" -> "acme corp")
|
|
31
|
+
* - Expands embedded "and" (e.g., "benandjerrys" -> "ben and jerrys")
|
|
32
|
+
* - Separates numbers from letters (e.g., "7eleven" -> "7 eleven")
|
|
33
|
+
* - Converts hyphens to spaces (e.g., "Coca-Cola" -> "coca cola")
|
|
34
|
+
* - Removes apostrophes (e.g., "Jerry's" -> "jerrys")
|
|
35
|
+
* - Removes periods/dots (e.g., "Dr. Pepper" -> "dr pepper")
|
|
36
|
+
*/
|
|
37
|
+
export declare function normalizeBrandName(name: string): string;
|
|
38
|
+
/**
|
|
39
|
+
* Creates an ultra-normalized key for brand matching (removes all spaces and non-alphanumerics).
|
|
40
|
+
* Used to match brands like "Acme&Co" with entities like "acmeco",
|
|
41
|
+
* or "Ben & Jerry's" with "benandjerrys".
|
|
42
|
+
*/
|
|
43
|
+
export declare function createBrandMatchKey(brandName: string): string;
|
|
44
|
+
/**
|
|
45
|
+
* Creates an ultra-normalized version of text for key-based matching.
|
|
46
|
+
* Removes all spaces and non-alphanumerics for exact key comparison.
|
|
47
|
+
*/
|
|
48
|
+
/**
|
|
49
|
+
* Checks which brands are mentioned in a text.
|
|
50
|
+
* Returns shortNames(!) of brands in order they're mentioned.
|
|
51
|
+
*/
|
|
52
|
+
export declare function rankBrandsInText(text: string, brands: Array<FlaggedBrand>, entities?: Array<Entity>): Array<string>;
|
|
53
|
+
export declare function rankBrandsInTexts(texts: Array<string>, brands: Array<FlaggedBrand>, entities?: Array<Array<Entity>>): Promise<Array<Array<string>>>;
|
|
54
|
+
export type * from '../schemas/brand.schema.js';
|
|
55
|
+
//# sourceMappingURL=brands.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"brands.d.ts","sourceRoot":"","sources":["../../../src/src/tools/brands.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,uBAAuB,EAAE,kBAAkB,EAAE,iBAAiB,EAAE,MAAM,4BAA4B,CAAC;AACjH,OAAO,EAAgC,KAAK,KAAK,EAAE,KAAK,YAAY,EAAE,KAAK,OAAO,EAAE,MAAM,4BAA4B,CAAC;AAIvH,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,eAAe,CAAC;AAE5C,UAAU,mBAAmB;IAC5B,KAAK,CAAC,EAAE,MAAM,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC;IAC/B,WAAW,CAAC,EAAE,MAAM,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC;IACrC,MAAM,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACvB,MAAM,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACvB,QAAQ,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CACzB;AAED,wBAAgB,iBAAiB,CAAC,EACjC,KAAK,EACL,WAAW,EACX,MAAM,EACN,MAAM,EACN,QAAQ,EACR,EAAE,mBAAmB,GAAG,MAAM,CAuB9B;AAED,YAAY,EAAE,mBAAmB,EAAE,CAAC;AAqHpC;;GAEG;AACH,wBAAsB,yBAAyB,CAC9C,OAAO,EAAE,OAAO,EAChB,MAAM,EAAE,MAAM,EACd,MAAM,EAAE,MAAM,EACd,QAAQ,GAAE,MAAa,EACvB,KAAK,GAAE,MAAkB,GACvB,OAAO,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAaxB;AAED;;;GAGG;AACH,wBAAsB,gCAAgC,CACrD,KAAK,EAAE,KAAK,EACZ,QAAQ,GAAE,MAAa,EACvB,KAAK,GAAE,MAAkB,EACzB,cAAc,GAAE,MAAY,EAC5B,MAAM,CAAC,EAAE,MAAM,GAAG,IAAI,EACtB,MAAM,CAAC,EAAE,MAAM,GAAG,IAAI,GACpB,OAAO,CAAC,KAAK,CAAC,CAoBhB;AAGD,wBAAsB,uBAAuB,CAAC,EAC7C,KAAK,EACL,WAAW,EACX,MAAa,EACb,MAAa,EACb,QAAQ,EACR,MAAa,EACb,YAAiB,EACjB,MAAa,EACb,QAAe,EACf,YAAmB,EACnB,KAA4B,EAC5B,SAAgB,EAChB,cAAqB,EACrB,WAAsB,EACtB,eAAuB,EACvB,EAAE,uBAAuB,GAAG,OAAO,CAAC,iBAAiB,CAAC,CAoDtD;AAED,wBAAsB,iBAAiB,CAAC,EACvC,KAAK,EACL,WAAW,EACX,QAAe,EACf,YAAmB,EACnB,MAAM,EACN,MAAM,EACN,QAAQ,EACR,KAA4B,EAC5B,SAAgB,EAChB,cAAqB,EACrB,WAAsB,EACtB,eAAuB,EACvB,EAAE,kBAAkB,GAAG,OAAO,CAAC,KAAK,CAAC,CAyCrC;AAED,wBAAgB,YAAY,CAC3B,SAAS,EAAE,KAAK,CAAC,KAAK,CAAC,EACvB,WAAW,EAAE,KAAK,CAAC,KAAK,CAAC,GACvB,KAAK,CAAC,YAAY,CAAC,CAYrB;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAwBvD;AAED;;;;GAIG;AACH,wBAAgB,mBAAmB,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM,CAI7D;AAuED;;;GAGG;AAQH;;;GAGG;AACH,wBAAgB,gBAAgB,CAC/B,IAAI,EAAE,MAAM,EACZ,MAAM,EAAE,KAAK,CAAC,YAAY,CAAC,EAC3B,QAAQ,CAAC,EAAE,KAAK,CAAC,MAAM,CAAC,GACtB,KAAK,CAAC,MAAM,CAAC,CA6Ff;AAED,wBAAsB,iBAAiB,CACtC,KAAK,EAAE,KAAK,CAAC,MAAM,CAAC,EACpB,MAAM,EAAE,KAAK,CAAC,YAAY,CAAC,EAC3B,QAAQ,CAAC,EAAE,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,GAC7B,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,CAE/B;AAED,mBAAmB,4BAA4B,CAAC"}
|
|
@@ -0,0 +1,470 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.buildBrandContext = buildBrandContext;
|
|
4
|
+
exports.generatePortfolioKeywords = generatePortfolioKeywords;
|
|
5
|
+
exports.enrichBrandPortfolioWithKeywords = enrichBrandPortfolioWithKeywords;
|
|
6
|
+
exports.generateCompetitorsInfo = generateCompetitorsInfo;
|
|
7
|
+
exports.generateBrandInfo = generateBrandInfo;
|
|
8
|
+
exports.concatBrands = concatBrands;
|
|
9
|
+
exports.normalizeBrandName = normalizeBrandName;
|
|
10
|
+
exports.createBrandMatchKey = createBrandMatchKey;
|
|
11
|
+
exports.rankBrandsInText = rankBrandsInText;
|
|
12
|
+
exports.rankBrandsInTexts = rankBrandsInTexts;
|
|
13
|
+
const index_js_1 = require("../../deps/jsr.io/@zod/zod/4.1.12/src/index.js");
|
|
14
|
+
const async_js_1 = require("../async.js");
|
|
15
|
+
const openai_js_1 = require("../openai.js");
|
|
16
|
+
const brand_schema_js_1 = require("../schemas/brand.schema.js");
|
|
17
|
+
const search_js_1 = require("./search.js");
|
|
18
|
+
const utils_js_1 = require("../utils.js");
|
|
19
|
+
const urls_js_1 = require("../urls.js");
|
|
20
|
+
function buildBrandContext({ brand, brandDomain, sector, market, briefing }) {
|
|
21
|
+
let brandContext;
|
|
22
|
+
if (brandDomain) {
|
|
23
|
+
const domainText = Array.isArray(brandDomain) ? brandDomain.join(', ') : brandDomain;
|
|
24
|
+
if (brand) {
|
|
25
|
+
const nameText = Array.isArray(brand) ? brand.join(', ') : brand;
|
|
26
|
+
brandContext = ` "${nameText}" (domain: ${domainText})`;
|
|
27
|
+
}
|
|
28
|
+
else {
|
|
29
|
+
brandContext = ` with domain "${domainText}"`;
|
|
30
|
+
}
|
|
31
|
+
}
|
|
32
|
+
else {
|
|
33
|
+
brandContext = ` "${brand}"`;
|
|
34
|
+
}
|
|
35
|
+
if (sector) {
|
|
36
|
+
brandContext += ` in the ${sector} sector`;
|
|
37
|
+
}
|
|
38
|
+
if (market) {
|
|
39
|
+
brandContext += ` operating in ${market}`;
|
|
40
|
+
}
|
|
41
|
+
if (briefing) {
|
|
42
|
+
brandContext += ` Briefing: ${briefing}`;
|
|
43
|
+
}
|
|
44
|
+
return brandContext;
|
|
45
|
+
}
|
|
46
|
+
const DEFAULT_SEARCH_MODEL = 'gpt-4.1';
|
|
47
|
+
const PORTFOLIO_KEYWORDS_PROMPT = (0, utils_js_1.dedent)(`
|
|
48
|
+
Generate 5 Google search keywords that real users would type when researching this product or service.
|
|
49
|
+
|
|
50
|
+
Product/Service: {product_name}
|
|
51
|
+
Category: {category}
|
|
52
|
+
Sector: {sector}
|
|
53
|
+
Market: {market}
|
|
54
|
+
|
|
55
|
+
Context:
|
|
56
|
+
- The product/service is part of a brand in the {sector} sector operating in {market}
|
|
57
|
+
- Generate what people ACTUALLY search, NOT literal product names or brand mentions
|
|
58
|
+
- Keywords should be broad (1-3 words) suitable for Google Keyword Planner seed expansion
|
|
59
|
+
- Focus on generic search terms that potential customers would use
|
|
60
|
+
- DO NOT include brand names in the keywords
|
|
61
|
+
|
|
62
|
+
Examples of GOOD keywords for different contexts:
|
|
63
|
+
- Running shoe product → "running shoes", "athletic footwear", "trail running"
|
|
64
|
+
- CRM software → "customer management", "sales automation", "crm tools"
|
|
65
|
+
- Online course → "learn programming", "coding tutorials", "web development"
|
|
66
|
+
|
|
67
|
+
Requirements:
|
|
68
|
+
- Natural language people actually type in search bars
|
|
69
|
+
- 5 realistic search queries
|
|
70
|
+
- Broad enough for keyword expansion (1-3 words typically)
|
|
71
|
+
- Output in {language}
|
|
72
|
+
- No brand names or specific product names
|
|
73
|
+
|
|
74
|
+
What would someone in {market} naturally search when looking for products/services like {product_name}?
|
|
75
|
+
`);
|
|
76
|
+
const PortfolioKeywordsSchema = index_js_1.z.object({
|
|
77
|
+
keywords: index_js_1.z.array(index_js_1.z.string()).describe('List of 5 seed keywords for the product or service.')
|
|
78
|
+
});
|
|
79
|
+
const COMPETITORS_PROMPT = (0, utils_js_1.dedent)(`
|
|
80
|
+
You are an expert in market analysis and competitive intelligence. Given the brand(s)
|
|
81
|
+
information in the below section, find and return an exhaustive list of competitors. Consider
|
|
82
|
+
competitors to be brands that offer similar products or services and target the same or similar
|
|
83
|
+
customer segments. {strictness_clause}
|
|
84
|
+
|
|
85
|
+
The output should be a JSON array with one object for each competitor. Each competitor object
|
|
86
|
+
should have the following fields:
|
|
87
|
+
|
|
88
|
+
- name: Name of the competitor brand.
|
|
89
|
+
- shortName: A short, common/canonical name of the competitor brand, if different from the official name.
|
|
90
|
+
E.g. "Tesla" instead of "Tesla, Inc.", or "Peugeot" instead of "Automobiles Peugeot". If not applicable,
|
|
91
|
+
set same as name.
|
|
92
|
+
- description: A brief description of the competitor brand's main activity.
|
|
93
|
+
- domain: The official website of the competitor brand, if available.
|
|
94
|
+
- sectors: A list of main industrial sectors the competitor brand operates in.
|
|
95
|
+
- markets: A list of main geographical markets the competitor brand operates in.
|
|
96
|
+
- marketPosition: The market position of the competitor brand, which can be one of the following values:
|
|
97
|
+
"leader", "challenger", "niche", "follower".
|
|
98
|
+
- portfolio: A list of products or services offered by the competitor brand. Each product or service should
|
|
99
|
+
have a name and a category.
|
|
100
|
+
- favicon: URL of the brand's favicon, if available.
|
|
101
|
+
|
|
102
|
+
It's more important to be comprehensive than selective, so include more competitors rather than less.
|
|
103
|
+
Try to order them by relevance, with the most direct and bigger competitors first.
|
|
104
|
+
|
|
105
|
+
Return the answer (field values) in the language "{language}".
|
|
106
|
+
|
|
107
|
+
Also provide an "explanation" field with a brief summary (2-3 sentences) explaining the reasoning behind
|
|
108
|
+
the competitors you identified: what makes them relevant competitors, how they relate to the original brand,
|
|
109
|
+
and what competitive landscape they represent.
|
|
110
|
+
|
|
111
|
+
{instructions}
|
|
112
|
+
|
|
113
|
+
# Brand(s) information
|
|
114
|
+
|
|
115
|
+
{context}
|
|
116
|
+
|
|
117
|
+
{currentCompetitorsInfo}
|
|
118
|
+
`);
|
|
119
|
+
const STRICT_CLAUSE = 'Only consider as competitors those that do NOT belong to the same parent company as the original brand(s) (e.g. Fanta is NOT a competitor of Coca-Cola in this sense).';
|
|
120
|
+
const NON_STRICT_CLAUSE = 'Consider all relevant competitors, including those from the same parent company (e.g. Fanta IS a competitor of Coca-Cola in this sense).';
|
|
121
|
+
const CURRENT_DATA_CLAUSE = (0, utils_js_1.dedent)(`
|
|
122
|
+
# Current Competitors Information
|
|
123
|
+
|
|
124
|
+
The following is the current information the user has about competitors for the brand(s).
|
|
125
|
+
|
|
126
|
+
{currentData}
|
|
127
|
+
|
|
128
|
+
IMPORTANT: Unless the instructions explicitly specify to modify, replace, add, or remove competitors
|
|
129
|
+
from this list, you MUST return at least all the same competitors that are already present in the
|
|
130
|
+
current data. If no modification instructions are provided, maintain the existing list and only add
|
|
131
|
+
new competitors if they are relevant.
|
|
132
|
+
`);
|
|
133
|
+
const BRAND_PROMPT = (0, utils_js_1.dedent)(`
|
|
134
|
+
You are an expert in market analysis and competitive intelligence investigating the brand{brand_context}.
|
|
135
|
+
Find out the following information about this brand:
|
|
136
|
+
|
|
137
|
+
- name: Brand/company name
|
|
138
|
+
- shortName: A short, common/canonical name of the brand, if different from the official name.
|
|
139
|
+
E.g. "Tesla" instead of "Tesla, Inc.", or "Peugeot" instead of "Automobiles Peugeot". If not applicable,
|
|
140
|
+
set same as name.
|
|
141
|
+
- description: A brief description of the brand's main activity.
|
|
142
|
+
- domain: The official website of the brand, if available.
|
|
143
|
+
- sectors: A list of specific industrial sectors the brand operates in, ordered by relevance. Be precise and concrete rather than generic - for example, instead of "education", use "professional training for unemployed", "corporate learning and development", or "online coding bootcamps". Adapt the specificity level to match the brand's actual focus and niche.
|
|
144
|
+
- markets: A list of main geographical markets the brand operates in.
|
|
145
|
+
- marketPosition: The market position of the brand, which can be one of the following values:
|
|
146
|
+
"leader", "challenger", "niche", "follower".
|
|
147
|
+
- portfolio: A list of products or services offered by the competitor brand. Each product or service should
|
|
148
|
+
have a name and a category.
|
|
149
|
+
- favicon: URL of the brand's favicon, if available.
|
|
150
|
+
|
|
151
|
+
Return the answer as a JSON object with field values in the language "{language}".
|
|
152
|
+
`);
|
|
153
|
+
/**
|
|
154
|
+
* Generate seed keywords for a single portfolio item using an LLM.
|
|
155
|
+
*/
|
|
156
|
+
async function generatePortfolioKeywords(product, sector, market, language = 'en', model = 'gpt-4.1') {
|
|
157
|
+
const prompt = PORTFOLIO_KEYWORDS_PROMPT
|
|
158
|
+
.replace('{product_name}', product.name)
|
|
159
|
+
.replace('{category}', product.category || 'general')
|
|
160
|
+
.replaceAll('{sector}', sector)
|
|
161
|
+
.replaceAll('{market}', market)
|
|
162
|
+
.replaceAll('{language}', language);
|
|
163
|
+
const { parsed } = await (0, openai_js_1.askOpenAISafe)(prompt, model, PortfolioKeywordsSchema);
|
|
164
|
+
if (!parsed) {
|
|
165
|
+
throw new Error('Failed to parse portfolio keywords from OpenAI response');
|
|
166
|
+
}
|
|
167
|
+
return parsed.keywords;
|
|
168
|
+
}
|
|
169
|
+
/**
|
|
170
|
+
* Generate seed keywords for all portfolio items in a brand concurrently,
|
|
171
|
+
* updating the keywordSeeds field in-place for each product.
|
|
172
|
+
*/
|
|
173
|
+
async function enrichBrandPortfolioWithKeywords(brand, language = 'en', model = 'gpt-4.1', maxConcurrency = 100, sector, market) {
|
|
174
|
+
if (!brand.portfolio || brand.portfolio.length === 0) {
|
|
175
|
+
return brand;
|
|
176
|
+
}
|
|
177
|
+
sector = sector || brand.sectors[0] || 'general';
|
|
178
|
+
market = market || brand.markets[0] || 'global';
|
|
179
|
+
await (0, async_js_1.mapParallel)(brand.portfolio, maxConcurrency, async (product) => {
|
|
180
|
+
const keywords = await generatePortfolioKeywords(product, sector, market, language, model);
|
|
181
|
+
product.keywordSeeds = keywords;
|
|
182
|
+
});
|
|
183
|
+
return brand;
|
|
184
|
+
}
|
|
185
|
+
async function generateCompetitorsInfo({ brand, brandDomain, sector = null, market = null, briefing, strict = true, instructions = '', brands = null, language = 'en', userLanguage = null, model = DEFAULT_SEARCH_MODEL, useSearch = true, countryISOCode = null, contextSize = 'medium', reasoningEffort = 'low' }) {
|
|
186
|
+
if (!brand && !brandDomain) {
|
|
187
|
+
throw new Error('Either brand or brandDomain must be provided');
|
|
188
|
+
}
|
|
189
|
+
const strictnessClause = strict ? STRICT_CLAUSE : NON_STRICT_CLAUSE;
|
|
190
|
+
const context = buildBrandContext({
|
|
191
|
+
brand,
|
|
192
|
+
brandDomain,
|
|
193
|
+
sector,
|
|
194
|
+
market,
|
|
195
|
+
briefing
|
|
196
|
+
});
|
|
197
|
+
const currentData = brands ? CURRENT_DATA_CLAUSE.replace('{currentData}', JSON.stringify(brands, null, 2)) : '';
|
|
198
|
+
const formattedPrompt = COMPETITORS_PROMPT
|
|
199
|
+
.replace('{strictness_clause}', strictnessClause)
|
|
200
|
+
.replace('{instructions}', instructions || '')
|
|
201
|
+
.replace('{language}', userLanguage ?? language)
|
|
202
|
+
.replace('{context}', context)
|
|
203
|
+
.replace('{currentCompetitorsInfo}', currentData);
|
|
204
|
+
const response = await (0, search_js_1.searchWithFormat)({
|
|
205
|
+
prompt: formattedPrompt,
|
|
206
|
+
model: model,
|
|
207
|
+
useSearch: useSearch,
|
|
208
|
+
responseSchema: brand_schema_js_1.BrandListSchema,
|
|
209
|
+
countryISOCode,
|
|
210
|
+
contextSize,
|
|
211
|
+
reasoningEffort
|
|
212
|
+
});
|
|
213
|
+
// Make sure these are clean domains
|
|
214
|
+
response.brands.map(brand => {
|
|
215
|
+
if (brand.domain) {
|
|
216
|
+
brand.domain = (0, urls_js_1.extractDomain)(brand.domain);
|
|
217
|
+
}
|
|
218
|
+
});
|
|
219
|
+
const enrichedBrands = await (0, async_js_1.mapParallel)(response.brands, 100, async (brand) => enrichBrandPortfolioWithKeywords(brand, language, model, undefined, sector, market));
|
|
220
|
+
return {
|
|
221
|
+
brands: enrichedBrands,
|
|
222
|
+
explanation: response.explanation
|
|
223
|
+
};
|
|
224
|
+
}
|
|
225
|
+
async function generateBrandInfo({ brand, brandDomain, language = 'en', userLanguage = null, sector, market, briefing, model = DEFAULT_SEARCH_MODEL, useSearch = true, countryISOCode = null, contextSize = 'medium', reasoningEffort = 'low' }) {
|
|
226
|
+
if (!brand && !brandDomain) {
|
|
227
|
+
throw new Error('Either brand or brandDomain must be provided');
|
|
228
|
+
}
|
|
229
|
+
const brandContext = buildBrandContext({
|
|
230
|
+
brand,
|
|
231
|
+
brandDomain,
|
|
232
|
+
sector,
|
|
233
|
+
market,
|
|
234
|
+
briefing
|
|
235
|
+
});
|
|
236
|
+
const prompt = BRAND_PROMPT
|
|
237
|
+
.replace('{brand_context}', brandContext)
|
|
238
|
+
.replace('{language}', userLanguage ?? language);
|
|
239
|
+
const brandInfo = await (0, search_js_1.searchWithFormat)({
|
|
240
|
+
prompt,
|
|
241
|
+
model,
|
|
242
|
+
responseSchema: brand_schema_js_1.BrandSchema,
|
|
243
|
+
countryISOCode: countryISOCode,
|
|
244
|
+
contextSize: contextSize,
|
|
245
|
+
reasoningEffort: reasoningEffort,
|
|
246
|
+
useSearch
|
|
247
|
+
});
|
|
248
|
+
// Make sure this is a clean domain
|
|
249
|
+
brandInfo.domain = (0, urls_js_1.extractDomain)(brandInfo.domain);
|
|
250
|
+
const enrichedBrand = await enrichBrandPortfolioWithKeywords(brandInfo, language, model, undefined, sector, market);
|
|
251
|
+
return enrichedBrand;
|
|
252
|
+
}
|
|
253
|
+
function concatBrands(ownBrands, competitors) {
|
|
254
|
+
const ownBrandsWithFlag = ownBrands.map((brand) => ({
|
|
255
|
+
...brand,
|
|
256
|
+
isCompetitor: false
|
|
257
|
+
}));
|
|
258
|
+
const competitorsWithFlag = competitors.map((brand) => ({
|
|
259
|
+
...brand,
|
|
260
|
+
isCompetitor: true
|
|
261
|
+
}));
|
|
262
|
+
return [...ownBrandsWithFlag, ...competitorsWithFlag];
|
|
263
|
+
}
|
|
264
|
+
/**
|
|
265
|
+
* Normalizes a brand name for comparison.
|
|
266
|
+
* - Converts to lowercase
|
|
267
|
+
* - Normalizes & to " and " (with spaces to separate words)
|
|
268
|
+
* - Removes accents/diacritics
|
|
269
|
+
* - Expands CamelCase to spaces (e.g., "AcmeCorp" -> "acme corp")
|
|
270
|
+
* - Expands embedded "and" (e.g., "benandjerrys" -> "ben and jerrys")
|
|
271
|
+
* - Separates numbers from letters (e.g., "7eleven" -> "7 eleven")
|
|
272
|
+
* - Converts hyphens to spaces (e.g., "Coca-Cola" -> "coca cola")
|
|
273
|
+
* - Removes apostrophes (e.g., "Jerry's" -> "jerrys")
|
|
274
|
+
* - Removes periods/dots (e.g., "Dr. Pepper" -> "dr pepper")
|
|
275
|
+
*/
|
|
276
|
+
function normalizeBrandName(name) {
|
|
277
|
+
return name
|
|
278
|
+
// Remove apostrophes before other processing (e.g., "Jerry's" -> "Jerrys")
|
|
279
|
+
.replace(/'/g, '')
|
|
280
|
+
// Remove periods/dots (e.g., "Dr. Pepper" -> "Dr Pepper")
|
|
281
|
+
.replace(/\./g, '')
|
|
282
|
+
// Normalize & to " and " BEFORE CamelCase expansion to ensure proper word separation
|
|
283
|
+
.replace(/&/g, ' and ')
|
|
284
|
+
// Expand CamelCase to spaces (insert space before uppercase letters)
|
|
285
|
+
.replace(/([a-z])([A-Z])/g, '$1 $2')
|
|
286
|
+
.toLowerCase()
|
|
287
|
+
.trim()
|
|
288
|
+
// Convert hyphens to spaces (e.g., "coca-cola" -> "coca cola")
|
|
289
|
+
.replace(/-/g, ' ')
|
|
290
|
+
// Expand embedded "and" (e.g., "benandjerrys" -> "ben and jerrys")
|
|
291
|
+
.replace(/([a-z])and([a-z])/g, '$1 and $2')
|
|
292
|
+
// Separate numbers from letters (e.g., "7eleven" -> "7 eleven")
|
|
293
|
+
.replace(/([0-9])([a-z])/g, '$1 $2')
|
|
294
|
+
.replace(/([a-z])([0-9])/g, '$1 $2')
|
|
295
|
+
// Normalize accents/diacritics
|
|
296
|
+
.normalize('NFD')
|
|
297
|
+
.replace(/[\u0300-\u036f]/g, '')
|
|
298
|
+
// Normalize multiple spaces to single space
|
|
299
|
+
.replace(/\s+/g, ' ');
|
|
300
|
+
}
|
|
301
|
+
/**
|
|
302
|
+
* Creates an ultra-normalized key for brand matching (removes all spaces and non-alphanumerics).
|
|
303
|
+
* Used to match brands like "Acme&Co" with entities like "acmeco",
|
|
304
|
+
* or "Ben & Jerry's" with "benandjerrys".
|
|
305
|
+
*/
|
|
306
|
+
function createBrandMatchKey(brandName) {
|
|
307
|
+
return normalizeBrandName(brandName)
|
|
308
|
+
.replace(/\s+/g, '')
|
|
309
|
+
.replace(/[^a-z0-9]/g, ''); // drop any other non-alphanumerics
|
|
310
|
+
}
|
|
311
|
+
/**
|
|
312
|
+
* Creates a regex pattern that matches various text representations of a brand name.
|
|
313
|
+
* Handles: CamelCase, spaces, &/and variations, hyphens, apostrophes, accents.
|
|
314
|
+
*/
|
|
315
|
+
function createBrandMatchPattern(brandName) {
|
|
316
|
+
// First normalize the brand name to get a canonical form
|
|
317
|
+
const normalized = normalizeBrandName(brandName);
|
|
318
|
+
// Split into words
|
|
319
|
+
const words = normalized.split(' ').filter(w => w.length > 0);
|
|
320
|
+
// Build pattern where each word can have flexible separators between them
|
|
321
|
+
const wordPatterns = words.map(word => {
|
|
322
|
+
if (word === 'and') {
|
|
323
|
+
return '(?:&|and)?';
|
|
324
|
+
}
|
|
325
|
+
// For other words, escape special chars and allow accent variations
|
|
326
|
+
const escaped = word.replace(/[.*+?^${}()|[\]\\]/g, '\\$&');
|
|
327
|
+
// Allow accented versions of vowels
|
|
328
|
+
return escaped
|
|
329
|
+
.replace(/a/g, '[aáàäâ]')
|
|
330
|
+
.replace(/e/g, '[eéèëê]')
|
|
331
|
+
.replace(/i/g, '[iíìïî]')
|
|
332
|
+
.replace(/o/g, '[oóòöô]')
|
|
333
|
+
.replace(/u/g, '[uúùüû]')
|
|
334
|
+
.replace(/n/g, '[nñ]');
|
|
335
|
+
});
|
|
336
|
+
// Flexible separator: allows space, hyphen, apostrophe, ampersand, "and", or nothing (CamelCase)
|
|
337
|
+
// The separator is optional to handle cases like "BenJerrys" matching "Ben Jerry's"
|
|
338
|
+
const flexibleSeparator = "(?:[\\s\\-'&]|and)*";
|
|
339
|
+
const pattern = wordPatterns.join(flexibleSeparator);
|
|
340
|
+
// Word boundary handling:
|
|
341
|
+
// - Start: beginning of string OR non-alphanumeric character
|
|
342
|
+
// - End: end of string OR non-alphanumeric character
|
|
343
|
+
// This allows matching "7-Eleven" in "I shop at 7-Eleven daily"
|
|
344
|
+
return new RegExp(`(?:^|[^a-zA-Z0-9])${pattern}(?:$|[^a-zA-Z0-9])|^${pattern}$`, 'i');
|
|
345
|
+
}
|
|
346
|
+
/**
|
|
347
|
+
* Creates a normalized version of text for matching purposes.
|
|
348
|
+
* Expands CamelCase, separates numbers from letters, and expands common connectors.
|
|
349
|
+
*/
|
|
350
|
+
function normalizeTextForMatching(text) {
|
|
351
|
+
return text
|
|
352
|
+
// Remove apostrophes
|
|
353
|
+
.replace(/'/g, '')
|
|
354
|
+
// Remove periods/dots (Dr. Pepper → Dr Pepper)
|
|
355
|
+
.replace(/\./g, '')
|
|
356
|
+
// Expand CamelCase (lowercase followed by uppercase)
|
|
357
|
+
.replace(/([a-z])([A-Z])/g, '$1 $2')
|
|
358
|
+
// Convert hyphens to spaces (Coca-Cola → Coca Cola)
|
|
359
|
+
.replace(/-/g, ' ')
|
|
360
|
+
// Separate numbers from letters (7eleven → 7 eleven, eleven7 → eleven 7)
|
|
361
|
+
.replace(/([0-9])([a-zA-Z])/g, '$1 $2')
|
|
362
|
+
.replace(/([a-zA-Z])([0-9])/g, '$1 $2')
|
|
363
|
+
// Expand "and" when embedded in words (benandjerrys → ben and jerrys)
|
|
364
|
+
// This handles cases where "and" is glued to other words
|
|
365
|
+
.replace(/([a-zA-Z])and([a-zA-Z])/gi, '$1 and $2')
|
|
366
|
+
// Normalize & to " and "
|
|
367
|
+
.replace(/&/g, ' and ')
|
|
368
|
+
// Normalize accents
|
|
369
|
+
.normalize('NFD').replace(/[\u0300-\u036f]/g, '')
|
|
370
|
+
// Normalize spaces
|
|
371
|
+
.replace(/\s+/g, ' ');
|
|
372
|
+
}
|
|
373
|
+
/**
|
|
374
|
+
* Creates an ultra-normalized version of text for key-based matching.
|
|
375
|
+
* Removes all spaces and non-alphanumerics for exact key comparison.
|
|
376
|
+
*/
|
|
377
|
+
// function createTextMatchKey(text: string): string {
|
|
378
|
+
// return normalizeTextForMatching(text)
|
|
379
|
+
// .toLowerCase()
|
|
380
|
+
// .replace(/\s+/g, '')
|
|
381
|
+
// .replace(/[^a-z0-9]/g, '');
|
|
382
|
+
// }
|
|
383
|
+
/**
|
|
384
|
+
* Checks which brands are mentioned in a text.
|
|
385
|
+
* Returns shortNames(!) of brands in order they're mentioned.
|
|
386
|
+
*/
|
|
387
|
+
function rankBrandsInText(text, brands, entities) {
|
|
388
|
+
const mentionedBrands = [];
|
|
389
|
+
// Create a normalized version of text for pattern matching (expands CamelCase, etc.)
|
|
390
|
+
const normalizedText = normalizeTextForMatching(text);
|
|
391
|
+
const brandEntities = entities?.filter(entity => entity.type.toLowerCase() === 'brand') ?? [];
|
|
392
|
+
// Build a map from ultra-normalized FlaggedBrand name to the entity text variation (if any)
|
|
393
|
+
// Using createBrandMatchKey to handle cases like "acmeco" matching "Acme&Co"
|
|
394
|
+
const entityTextByNormalizedBrand = new Map();
|
|
395
|
+
for (const entity of brandEntities) {
|
|
396
|
+
entityTextByNormalizedBrand.set(createBrandMatchKey(entity.name), entity.name);
|
|
397
|
+
}
|
|
398
|
+
// Set of ultra-normalized entity names that match a FlaggedBrand (to exclude from separate processing)
|
|
399
|
+
const matchedEntityNames = new Set();
|
|
400
|
+
// Helper function to search in both original and normalized text
|
|
401
|
+
const findPatternPosition = (pattern) => {
|
|
402
|
+
const originalMatch = text.match(pattern);
|
|
403
|
+
if (originalMatch != null) {
|
|
404
|
+
return originalMatch.index;
|
|
405
|
+
}
|
|
406
|
+
const normalizedMatch = normalizedText.match(pattern);
|
|
407
|
+
if (normalizedMatch != null) {
|
|
408
|
+
return normalizedMatch.index;
|
|
409
|
+
}
|
|
410
|
+
return -1;
|
|
411
|
+
};
|
|
412
|
+
// Process FlaggedBrands, using entity text as an additional search variant when available
|
|
413
|
+
for (const brand of brands) {
|
|
414
|
+
let earliestPosition = Infinity;
|
|
415
|
+
const normalizedShortName = createBrandMatchKey(brand.shortName);
|
|
416
|
+
// Check if there's a matching entity for this brand (using ultra-normalized comparison)
|
|
417
|
+
const entityText = entityTextByNormalizedBrand.get(normalizedShortName);
|
|
418
|
+
if (entityText != null) {
|
|
419
|
+
matchedEntityNames.add(createBrandMatchKey(entityText));
|
|
420
|
+
// Use flexible pattern matching to find the entity in text (handles CamelCase, &/and, etc.)
|
|
421
|
+
const entityPattern = createBrandMatchPattern(entityText);
|
|
422
|
+
const position = findPatternPosition(entityPattern);
|
|
423
|
+
if (position !== -1) {
|
|
424
|
+
earliestPosition = Math.min(earliestPosition, position);
|
|
425
|
+
}
|
|
426
|
+
}
|
|
427
|
+
// Check for shortName using flexible pattern matching
|
|
428
|
+
if (brand.shortName != null && brand.shortName.trim() !== '') {
|
|
429
|
+
const brandPattern = createBrandMatchPattern(brand.shortName);
|
|
430
|
+
const position = findPatternPosition(brandPattern);
|
|
431
|
+
if (position !== -1) {
|
|
432
|
+
earliestPosition = Math.min(earliestPosition, position);
|
|
433
|
+
}
|
|
434
|
+
}
|
|
435
|
+
// Check for domain occurrence
|
|
436
|
+
if (brand.domain != null && brand.domain.trim() !== '') {
|
|
437
|
+
const domainIndex = text.toLowerCase().indexOf(brand.domain.toLowerCase());
|
|
438
|
+
if (domainIndex !== -1) {
|
|
439
|
+
earliestPosition = Math.min(earliestPosition, domainIndex);
|
|
440
|
+
}
|
|
441
|
+
}
|
|
442
|
+
if (earliestPosition !== Infinity) {
|
|
443
|
+
mentionedBrands.push({
|
|
444
|
+
name: brand.shortName,
|
|
445
|
+
position: earliestPosition
|
|
446
|
+
});
|
|
447
|
+
}
|
|
448
|
+
}
|
|
449
|
+
// Process entity brands that don't match any FlaggedBrand
|
|
450
|
+
for (const entity of brandEntities) {
|
|
451
|
+
if (matchedEntityNames.has(createBrandMatchKey(entity.name))) {
|
|
452
|
+
continue;
|
|
453
|
+
}
|
|
454
|
+
// Use flexible pattern matching for unmatched entities too
|
|
455
|
+
const entityPattern = createBrandMatchPattern(entity.name);
|
|
456
|
+
const position = findPatternPosition(entityPattern);
|
|
457
|
+
if (position !== -1) {
|
|
458
|
+
mentionedBrands.push({
|
|
459
|
+
name: entity.name,
|
|
460
|
+
position: position
|
|
461
|
+
});
|
|
462
|
+
}
|
|
463
|
+
}
|
|
464
|
+
return mentionedBrands
|
|
465
|
+
.sort((a, b) => a.position - b.position)
|
|
466
|
+
.map(item => item.name);
|
|
467
|
+
}
|
|
468
|
+
async function rankBrandsInTexts(texts, brands, entities) {
|
|
469
|
+
return texts.map((text, index) => rankBrandsInText(text, brands, entities?.[index]));
|
|
470
|
+
}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Classifies a single data record into one of the provided categories using an LLM call.
|
|
3
|
+
*/
|
|
4
|
+
export declare function classify(record: Record<string, unknown> | null, labels: Record<string, string>, instructions?: string, model?: string): Promise<string | null>;
|
|
5
|
+
/**
|
|
6
|
+
* Classifies multiple data records concurrently while preserving order.
|
|
7
|
+
*/
|
|
8
|
+
export declare function classifyBatch(records: Array<Record<string, unknown> | null>, labels: Record<string, string>, instructions?: string, model?: string, maxConcurrency?: number): Promise<Array<string | null>>;
|
|
9
|
+
/**
|
|
10
|
+
* Assigns one or more labels to a single data record using an LLM call.
|
|
11
|
+
*/
|
|
12
|
+
export declare function label(record: Record<string, unknown> | null, labels: Record<string, string>, instructions?: string, model?: string): Promise<Array<string> | null>;
|
|
13
|
+
/**
|
|
14
|
+
* Assigns labels to multiple data records concurrently while preserving order.
|
|
15
|
+
*/
|
|
16
|
+
export declare function labelBatch(records: Array<Record<string, unknown> | null>, labels: Record<string, string>, instructions?: string, model?: string, maxConcurrency?: number): Promise<Array<Array<string> | null>>;
|
|
17
|
+
//# sourceMappingURL=classifier.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"classifier.d.ts","sourceRoot":"","sources":["../../../src/src/tools/classifier.ts"],"names":[],"mappings":"AAsGA;;GAEG;AACH,wBAAsB,QAAQ,CAC7B,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,EACtC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,EAC9B,YAAY,GAAE,MAAW,EACzB,KAAK,GAAE,MAAuB,GAC5B,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAiBxB;AAED;;GAEG;AACH,wBAAgB,aAAa,CAC5B,OAAO,EAAE,KAAK,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,CAAC,EAC9C,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,EAC9B,YAAY,GAAE,MAAW,EACzB,KAAK,GAAE,MAAuB,EAC9B,cAAc,GAAE,MAAY,GAC1B,OAAO,CAAC,KAAK,CAAC,MAAM,GAAG,IAAI,CAAC,CAAC,CAM/B;AAED;;GAEG;AACH,wBAAsB,KAAK,CAC1B,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,EACtC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,EAC9B,YAAY,GAAE,MAAW,EACzB,KAAK,GAAE,MAAuB,GAC5B,OAAO,CAAC,KAAK,CAAC,MAAM,CAAC,GAAG,IAAI,CAAC,CAiB/B;AAED;;GAEG;AACH,wBAAgB,UAAU,CACzB,OAAO,EAAE,KAAK,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,CAAC,EAC9C,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,EAC9B,YAAY,GAAE,MAAW,EACzB,KAAK,GAAE,MAAuB,EAC9B,cAAc,GAAE,MAAY,GAC1B,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC,GAAG,IAAI,CAAC,CAAC,CAMtC"}
|