🎩 You're Invited:Meet the Socket team at Black Hat in Las Vegas, August 3-6.RSVP
Sign In

@galya/schema

Package Overview
Dependencies
Maintainers
1
Versions
4
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@galya/schema - npm Package Compare versions

Comparing version
0.2.0
to
0.2.1
+15
dist/apiKey.d.ts
/** Workspace-scoped key: `galya_<lookup>_<secret>` */
export declare const WORKSPACE_KEY_PREFIX = "galya";
/** Account publishable (browser ingest): `galya_pub_<lookup>_<secret>` */
export declare const ACCOUNT_PUBLISHABLE_PREFIX = "galya_pub";
/** Account secret (server API): `galya_sk_<lookup>_<secret>` */
export declare const ACCOUNT_SECRET_PREFIX = "galya_sk";
export type GalyaApiKeyKind = "workspace" | "account_publishable" | "account_secret" | "unknown";
export declare function classifyGalyaApiKey(key: string): GalyaApiKeyKind;
export declare function isAccountApiKey(key: string): boolean;
export declare function isAccountPublishableApiKey(key: string): boolean;
export declare function isAccountSecretApiKey(key: string): boolean;
export declare function isWorkspaceApiKey(key: string): boolean;
/** Account keys must send workspace `publicId` on ingest and API. Workspace keys embed tenancy in the token. */
export declare function requiresWorkspaceIdHeader(key: string): boolean;
//# sourceMappingURL=apiKey.d.ts.map
{"version":3,"file":"apiKey.d.ts","sourceRoot":"","sources":["../src/apiKey.ts"],"names":[],"mappings":"AAAA,sDAAsD;AACtD,eAAO,MAAM,oBAAoB,UAAU,CAAC;AAE5C,0EAA0E;AAC1E,eAAO,MAAM,0BAA0B,cAAc,CAAC;AAEtD,gEAAgE;AAChE,eAAO,MAAM,qBAAqB,aAAa,CAAC;AAEhD,MAAM,MAAM,eAAe,GACvB,WAAW,GACX,qBAAqB,GACrB,gBAAgB,GAChB,SAAS,CAAC;AAEd,wBAAgB,mBAAmB,CAAC,GAAG,EAAE,MAAM,GAAG,eAAe,CAMhE;AAED,wBAAgB,eAAe,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAGpD;AAED,wBAAgB,0BAA0B,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAE/D;AAED,wBAAgB,qBAAqB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAE1D;AAED,wBAAgB,iBAAiB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAEtD;AAED,gHAAgH;AAChH,wBAAgB,yBAAyB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAE9D"}
/** Workspace-scoped key: `galya_<lookup>_<secret>` */
export const WORKSPACE_KEY_PREFIX = "galya";
/** Account publishable (browser ingest): `galya_pub_<lookup>_<secret>` */
export const ACCOUNT_PUBLISHABLE_PREFIX = "galya_pub";
/** Account secret (server API): `galya_sk_<lookup>_<secret>` */
export const ACCOUNT_SECRET_PREFIX = "galya_sk";
export function classifyGalyaApiKey(key) {
const t = key.trim();
if (t.startsWith(`${ACCOUNT_PUBLISHABLE_PREFIX}_`))
return "account_publishable";
if (t.startsWith(`${ACCOUNT_SECRET_PREFIX}_`))
return "account_secret";
if (t.startsWith(`${WORKSPACE_KEY_PREFIX}_`))
return "workspace";
return "unknown";
}
export function isAccountApiKey(key) {
const k = classifyGalyaApiKey(key);
return k === "account_publishable" || k === "account_secret";
}
export function isAccountPublishableApiKey(key) {
return classifyGalyaApiKey(key) === "account_publishable";
}
export function isAccountSecretApiKey(key) {
return classifyGalyaApiKey(key) === "account_secret";
}
export function isWorkspaceApiKey(key) {
return classifyGalyaApiKey(key) === "workspace";
}
/** Account keys must send workspace `publicId` on ingest and API. Workspace keys embed tenancy in the token. */
export function requiresWorkspaceIdHeader(key) {
return isAccountApiKey(key);
}
//# sourceMappingURL=apiKey.js.map
{"version":3,"file":"apiKey.js","sourceRoot":"","sources":["../src/apiKey.ts"],"names":[],"mappings":"AAAA,sDAAsD;AACtD,MAAM,CAAC,MAAM,oBAAoB,GAAG,OAAO,CAAC;AAE5C,0EAA0E;AAC1E,MAAM,CAAC,MAAM,0BAA0B,GAAG,WAAW,CAAC;AAEtD,gEAAgE;AAChE,MAAM,CAAC,MAAM,qBAAqB,GAAG,UAAU,CAAC;AAQhD,MAAM,UAAU,mBAAmB,CAAC,GAAW;IAC7C,MAAM,CAAC,GAAG,GAAG,CAAC,IAAI,EAAE,CAAC;IACrB,IAAI,CAAC,CAAC,UAAU,CAAC,GAAG,0BAA0B,GAAG,CAAC;QAAE,OAAO,qBAAqB,CAAC;IACjF,IAAI,CAAC,CAAC,UAAU,CAAC,GAAG,qBAAqB,GAAG,CAAC;QAAE,OAAO,gBAAgB,CAAC;IACvE,IAAI,CAAC,CAAC,UAAU,CAAC,GAAG,oBAAoB,GAAG,CAAC;QAAE,OAAO,WAAW,CAAC;IACjE,OAAO,SAAS,CAAC;AACnB,CAAC;AAED,MAAM,UAAU,eAAe,CAAC,GAAW;IACzC,MAAM,CAAC,GAAG,mBAAmB,CAAC,GAAG,CAAC,CAAC;IACnC,OAAO,CAAC,KAAK,qBAAqB,IAAI,CAAC,KAAK,gBAAgB,CAAC;AAC/D,CAAC;AAED,MAAM,UAAU,0BAA0B,CAAC,GAAW;IACpD,OAAO,mBAAmB,CAAC,GAAG,CAAC,KAAK,qBAAqB,CAAC;AAC5D,CAAC;AAED,MAAM,UAAU,qBAAqB,CAAC,GAAW;IAC/C,OAAO,mBAAmB,CAAC,GAAG,CAAC,KAAK,gBAAgB,CAAC;AACvD,CAAC;AAED,MAAM,UAAU,iBAAiB,CAAC,GAAW;IAC3C,OAAO,mBAAmB,CAAC,GAAG,CAAC,KAAK,WAAW,CAAC;AAClD,CAAC;AAED,gHAAgH;AAChH,MAAM,UAAU,yBAAyB,CAAC,GAAW;IACnD,OAAO,eAAe,CAAC,GAAG,CAAC,CAAC;AAC9B,CAAC"}
export {};
//# sourceMappingURL=apiKey.test.d.ts.map
{"version":3,"file":"apiKey.test.d.ts","sourceRoot":"","sources":["../src/apiKey.test.ts"],"names":[],"mappings":""}
import assert from "node:assert/strict";
import { describe, it } from "node:test";
import { classifyGalyaApiKey, isAccountApiKey, isAccountPublishableApiKey, isAccountSecretApiKey, isWorkspaceApiKey, requiresWorkspaceIdHeader, } from "./apiKey.js";
describe("classifyGalyaApiKey", () => {
it("recognizes workspace keys", () => {
assert.equal(classifyGalyaApiKey("galya_abc123_def456"), "workspace");
assert.equal(isWorkspaceApiKey("galya_abc123_def456"), true);
});
it("recognizes account publishable keys", () => {
assert.equal(classifyGalyaApiKey("galya_pub_abc123_def456"), "account_publishable");
assert.equal(isAccountPublishableApiKey("galya_pub_abc123_def456"), true);
});
it("recognizes account secret keys", () => {
assert.equal(classifyGalyaApiKey("galya_sk_abc123_def456"), "account_secret");
assert.equal(isAccountSecretApiKey("galya_sk_abc123_def456"), true);
});
it("does not treat pub/sk prefixes as workspace keys", () => {
assert.equal(isWorkspaceApiKey("galya_pub_x_y"), false);
assert.equal(isWorkspaceApiKey("galya_sk_x_y"), false);
});
});
describe("requiresWorkspaceIdHeader", () => {
it("is true for account keys only", () => {
assert.equal(requiresWorkspaceIdHeader("galya_pub_a_b"), true);
assert.equal(requiresWorkspaceIdHeader("galya_sk_a_b"), true);
assert.equal(isAccountApiKey("galya_pub_a_b"), true);
assert.equal(requiresWorkspaceIdHeader("galya_a_b"), false);
});
});
//# sourceMappingURL=apiKey.test.js.map
{"version":3,"file":"apiKey.test.js","sourceRoot":"","sources":["../src/apiKey.test.ts"],"names":[],"mappings":"AAAA,OAAO,MAAM,MAAM,oBAAoB,CAAC;AACxC,OAAO,EAAE,QAAQ,EAAE,EAAE,EAAE,MAAM,WAAW,CAAC;AACzC,OAAO,EACL,mBAAmB,EACnB,eAAe,EACf,0BAA0B,EAC1B,qBAAqB,EACrB,iBAAiB,EACjB,yBAAyB,GAC1B,MAAM,aAAa,CAAC;AAErB,QAAQ,CAAC,qBAAqB,EAAE,GAAG,EAAE;IACnC,EAAE,CAAC,2BAA2B,EAAE,GAAG,EAAE;QACnC,MAAM,CAAC,KAAK,CAAC,mBAAmB,CAAC,qBAAqB,CAAC,EAAE,WAAW,CAAC,CAAC;QACtE,MAAM,CAAC,KAAK,CAAC,iBAAiB,CAAC,qBAAqB,CAAC,EAAE,IAAI,CAAC,CAAC;IAC/D,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,qCAAqC,EAAE,GAAG,EAAE;QAC7C,MAAM,CAAC,KAAK,CAAC,mBAAmB,CAAC,yBAAyB,CAAC,EAAE,qBAAqB,CAAC,CAAC;QACpF,MAAM,CAAC,KAAK,CAAC,0BAA0B,CAAC,yBAAyB,CAAC,EAAE,IAAI,CAAC,CAAC;IAC5E,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,gCAAgC,EAAE,GAAG,EAAE;QACxC,MAAM,CAAC,KAAK,CAAC,mBAAmB,CAAC,wBAAwB,CAAC,EAAE,gBAAgB,CAAC,CAAC;QAC9E,MAAM,CAAC,KAAK,CAAC,qBAAqB,CAAC,wBAAwB,CAAC,EAAE,IAAI,CAAC,CAAC;IACtE,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,kDAAkD,EAAE,GAAG,EAAE;QAC1D,MAAM,CAAC,KAAK,CAAC,iBAAiB,CAAC,eAAe,CAAC,EAAE,KAAK,CAAC,CAAC;QACxD,MAAM,CAAC,KAAK,CAAC,iBAAiB,CAAC,cAAc,CAAC,EAAE,KAAK,CAAC,CAAC;IACzD,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC;AAEH,QAAQ,CAAC,2BAA2B,EAAE,GAAG,EAAE;IACzC,EAAE,CAAC,+BAA+B,EAAE,GAAG,EAAE;QACvC,MAAM,CAAC,KAAK,CAAC,yBAAyB,CAAC,eAAe,CAAC,EAAE,IAAI,CAAC,CAAC;QAC/D,MAAM,CAAC,KAAK,CAAC,yBAAyB,CAAC,cAAc,CAAC,EAAE,IAAI,CAAC,CAAC;QAC9D,MAAM,CAAC,KAAK,CAAC,eAAe,CAAC,eAAe,CAAC,EAAE,IAAI,CAAC,CAAC;QACrD,MAAM,CAAC,KAAK,CAAC,yBAAyB,CAAC,WAAW,CAAC,EAAE,KAAK,CAAC,CAAC;IAC9D,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
+1
-0
export declare const GALYA_SCHEMA_VERSION: 1;
export { ACCOUNT_PUBLISHABLE_PREFIX, ACCOUNT_SECRET_PREFIX, WORKSPACE_KEY_PREFIX, classifyGalyaApiKey, isAccountApiKey, isAccountPublishableApiKey, isAccountSecretApiKey, isWorkspaceApiKey, requiresWorkspaceIdHeader, type GalyaApiKeyKind, } from "./apiKey.js";
/**

@@ -3,0 +4,0 @@ * Opaque serialized rrweb node shape. Consumers that use rrweb-snapshot

+1
-1

@@ -1,1 +0,1 @@

{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,oBAAoB,EAAG,CAAU,CAAC;AAE/C;;;GAGG;AACH,MAAM,MAAM,oBAAoB,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;AAE3D,MAAM,MAAM,cAAc,GACtB,MAAM,GACN,OAAO,GACP,eAAe,GACf,SAAS,GACT,QAAQ,CAAC;AAEb,kEAAkE;AAClE,MAAM,WAAW,YAAY;IAC3B,OAAO,EAAE,MAAM,CAAC;IAChB,eAAe,EAAE,MAAM,CAAC;IACxB,oBAAoB,EAAE,MAAM,CAAC;IAC7B,cAAc,EAAE,MAAM,CAAC;IACvB,YAAY,EAAE,MAAM,CAAC;IACrB,YAAY,EAAE,MAAM,CAAC;IACrB,cAAc,EAAE,cAAc,GAAG,IAAI,CAAC;CACvC;AAED,MAAM,MAAM,WAAW,GAAG,MAAM,GAAG,OAAO,GAAG,OAAO,GAAG,OAAO,GAAG,OAAO,CAAC;AAEzE,gFAAgF;AAChF,MAAM,WAAW,eAAe;IAC9B,SAAS,EAAE,MAAM,CAAC;IAClB,WAAW,EAAE,WAAW,CAAC;IACzB,UAAU,EAAE,MAAM,CAAC;IACnB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,SAAS,CAAC,EAAE,oBAAoB,CAAC;IACjC,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED,4CAA4C;AAC5C,MAAM,WAAW,UAAU;IACzB,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,MAAM,CAAC;IAClB,gEAAgE;IAChE,MAAM,EAAE,MAAM,CAAC;IACf,wFAAwF;IACxF,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;IAClB,WAAW,EAAE,WAAW,CAAC;IACzB,OAAO,EAAE,YAAY,CAAC;IACtB,QAAQ,CAAC,EAAE,eAAe,CAAC;IAC3B,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,MAAM,CAAC;IAClB,eAAe,EAAE,MAAM,CAAC;CACzB;AAED,uCAAuC;AACvC,MAAM,WAAW,eAAe;IAC9B,MAAM,EAAE,UAAU,EAAE,CAAC;IACrB,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,MAAM,CAAC;CAChB"}
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,oBAAoB,EAAG,CAAU,CAAC;AAE/C,OAAO,EACL,0BAA0B,EAC1B,qBAAqB,EACrB,oBAAoB,EACpB,mBAAmB,EACnB,eAAe,EACf,0BAA0B,EAC1B,qBAAqB,EACrB,iBAAiB,EACjB,yBAAyB,EACzB,KAAK,eAAe,GACrB,MAAM,aAAa,CAAC;AAErB;;;GAGG;AACH,MAAM,MAAM,oBAAoB,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;AAE3D,MAAM,MAAM,cAAc,GACtB,MAAM,GACN,OAAO,GACP,eAAe,GACf,SAAS,GACT,QAAQ,CAAC;AAEb,kEAAkE;AAClE,MAAM,WAAW,YAAY;IAC3B,OAAO,EAAE,MAAM,CAAC;IAChB,eAAe,EAAE,MAAM,CAAC;IACxB,oBAAoB,EAAE,MAAM,CAAC;IAC7B,cAAc,EAAE,MAAM,CAAC;IACvB,YAAY,EAAE,MAAM,CAAC;IACrB,YAAY,EAAE,MAAM,CAAC;IACrB,cAAc,EAAE,cAAc,GAAG,IAAI,CAAC;CACvC;AAED,MAAM,MAAM,WAAW,GAAG,MAAM,GAAG,OAAO,GAAG,OAAO,GAAG,OAAO,GAAG,OAAO,CAAC;AAEzE,gFAAgF;AAChF,MAAM,WAAW,eAAe;IAC9B,SAAS,EAAE,MAAM,CAAC;IAClB,WAAW,EAAE,WAAW,CAAC;IACzB,UAAU,EAAE,MAAM,CAAC;IACnB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,SAAS,CAAC,EAAE,oBAAoB,CAAC;IACjC,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED,4CAA4C;AAC5C,MAAM,WAAW,UAAU;IACzB,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,MAAM,CAAC;IAClB,gEAAgE;IAChE,MAAM,EAAE,MAAM,CAAC;IACf,wFAAwF;IACxF,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;IAClB,WAAW,EAAE,WAAW,CAAC;IACzB,OAAO,EAAE,YAAY,CAAC;IACtB,QAAQ,CAAC,EAAE,eAAe,CAAC;IAC3B,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,MAAM,CAAC;IAClB,eAAe,EAAE,MAAM,CAAC;CACzB;AAED,uCAAuC;AACvC,MAAM,WAAW,eAAe;IAC9B,MAAM,EAAE,UAAU,EAAE,CAAC;IACrB,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,MAAM,CAAC;CAChB"}
export const GALYA_SCHEMA_VERSION = 1;
export { ACCOUNT_PUBLISHABLE_PREFIX, ACCOUNT_SECRET_PREFIX, WORKSPACE_KEY_PREFIX, classifyGalyaApiKey, isAccountApiKey, isAccountPublishableApiKey, isAccountSecretApiKey, isWorkspaceApiKey, requiresWorkspaceIdHeader, } from "./apiKey.js";
//# sourceMappingURL=index.js.map

@@ -1,1 +0,1 @@

{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,oBAAoB,GAAG,CAAU,CAAC"}
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,oBAAoB,GAAG,CAAU,CAAC;AAE/C,OAAO,EACL,0BAA0B,EAC1B,qBAAqB,EACrB,oBAAoB,EACpB,mBAAmB,EACnB,eAAe,EACf,0BAA0B,EAC1B,qBAAqB,EACrB,iBAAiB,EACjB,yBAAyB,GAE1B,MAAM,aAAa,CAAC"}
{
"name": "@galya/schema",
"version": "0.2.0",
"version": "0.2.1",
"publishConfig": {

@@ -36,7 +36,9 @@ "access": "public"

"devDependencies": {
"tsx": "^4.19.3",
"typescript": "^5.7.3"
},
"scripts": {
"build": "tsc -p tsconfig.json"
"build": "tsc -p tsconfig.json",
"test": "node --import tsx --test src/**/*.test.ts"
}
}