@x12i/catalox 3.8.0 → 4.0.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (36) hide show
  1. package/README.md +49 -13
  2. package/dist/src/catalox/backup-data.d.ts.map +1 -1
  3. package/dist/src/catalox/backup-data.js +0 -9
  4. package/dist/src/catalox/backup-data.js.map +1 -1
  5. package/dist/src/catalox/catalox-bound.d.ts +2 -1
  6. package/dist/src/catalox/catalox-bound.d.ts.map +1 -1
  7. package/dist/src/catalox/catalox-bound.js +3 -0
  8. package/dist/src/catalox/catalox-bound.js.map +1 -1
  9. package/dist/src/catalox/catalox.d.ts +6 -1
  10. package/dist/src/catalox/catalox.d.ts.map +1 -1
  11. package/dist/src/catalox/catalox.js +25 -0
  12. package/dist/src/catalox/catalox.js.map +1 -1
  13. package/dist/src/catalox/record-history.d.ts.map +1 -1
  14. package/dist/src/catalox/record-history.js +0 -8
  15. package/dist/src/catalox/record-history.js.map +1 -1
  16. package/dist/src/catalox/seed-preset.d.ts +62 -0
  17. package/dist/src/catalox/seed-preset.d.ts.map +1 -0
  18. package/dist/src/catalox/seed-preset.js +192 -0
  19. package/dist/src/catalox/seed-preset.js.map +1 -0
  20. package/dist/src/cli/index.js +32 -2
  21. package/dist/src/cli/index.js.map +1 -1
  22. package/dist/src/contracts/index.d.ts +1 -1
  23. package/dist/src/contracts/index.d.ts.map +1 -1
  24. package/dist/src/contracts/index.js.map +1 -1
  25. package/dist/src/contracts/inputs.d.ts +11 -0
  26. package/dist/src/contracts/inputs.d.ts.map +1 -1
  27. package/dist/src/embedder.d.ts +1 -0
  28. package/dist/src/embedder.d.ts.map +1 -1
  29. package/dist/src/embedder.js +1 -0
  30. package/dist/src/embedder.js.map +1 -1
  31. package/dist/src/firebase/bootstrap.d.ts +25 -7
  32. package/dist/src/firebase/bootstrap.d.ts.map +1 -1
  33. package/dist/src/firebase/bootstrap.js +54 -10
  34. package/dist/src/firebase/bootstrap.js.map +1 -1
  35. package/package.json +2 -1
  36. package/presets/native-map-v1.json +62 -0
@@ -4,7 +4,6 @@ import { type CataloxRuntimeConfig } from "../catalox/create-catalox.js";
4
4
  import type { Catalox } from "../catalox/catalox.js";
5
5
  export type FirebaseAdminCredentialSource = "service_account_path" | "service_account_base64" | "adc";
6
6
  export type FirebaseBootstrapEnvVars = {
7
- FIREBASE_SERVICE_ACCOUNT_PATH?: string;
8
7
  FIREBASE_PROJECT_ID?: string;
9
8
  GOOGLE_SERVICE_ACCOUNT_BASE64?: string;
10
9
  FIRESTORE_DATABASE_ID?: string;
@@ -43,11 +42,11 @@ export type FirebaseBootstrapOptions = {
43
42
  */
44
43
  projectId?: string;
45
44
  /**
46
- * Optional explicit service account JSON path override. If omitted, uses `FIREBASE_SERVICE_ACCOUNT_PATH` when set.
45
+ * Optional filesystem path to service account JSON. Caller-supplied only; not read from any environment variable.
47
46
  */
48
47
  serviceAccountPath?: string;
49
48
  /**
50
- * Optional explicit base64-encoded service account JSON override. If omitted, uses `GOOGLE_SERVICE_ACCOUNT_BASE64` when set.
49
+ * Optional base64-encoded service account JSON override. If omitted, uses `GOOGLE_SERVICE_ACCOUNT_BASE64` from `env` / `process.env` when set.
51
50
  */
52
51
  serviceAccountBase64?: string;
53
52
  };
@@ -65,14 +64,33 @@ export type ResolvedFirebaseAdminCredential = {
65
64
  serviceAccountJson: unknown;
66
65
  });
67
66
  /**
68
- * Resolve the Firebase Admin credential based on env/overrides.
67
+ * Resolve the Firebase Admin credential from explicit options and supported environment variables.
69
68
  *
70
69
  * Precedence:
71
- * 1) `FIREBASE_SERVICE_ACCOUNT_PATH` (or explicit override)
72
- * 2) `GOOGLE_SERVICE_ACCOUNT_BASE64` (or explicit override)
73
- * 3) ADC (`applicationDefault()`)
70
+ * 1) `serviceAccountBase64` option, else `GOOGLE_SERVICE_ACCOUNT_BASE64` from env — decode to JSON, then `cert(...)`.
71
+ * 2) `serviceAccountPath` option only — read JSON from disk, then `cert(...)`. No env var supplies this path.
72
+ * 3) Application Default Credentials (`applicationDefault()`). Prefer base64 in CI/scripts to avoid machine-dependent ADC.
74
73
  */
75
74
  export declare function resolveFirebaseAdminCredentialFromEnv(options?: FirebaseBootstrapOptions): ResolvedFirebaseAdminCredential;
75
+ export type TestFirestoreConnectionFromEnvResult = {
76
+ ok: true;
77
+ credentialSource: FirebaseAdminCredentialSource;
78
+ } | {
79
+ ok: false;
80
+ credentialSource?: FirebaseAdminCredentialSource;
81
+ error: unknown;
82
+ };
83
+ /**
84
+ * Top-level collection id used only by {@link testFirestoreConnectionFromEnv}.
85
+ * Must not match Firestore’s reserved `__.*__` pattern for collection/document ids.
86
+ */
87
+ export declare const CATALOX_FIRESTORE_PROBE_COLLECTION_ID: "cataloxConnectivityProbe";
88
+ /**
89
+ * Verifies Firestore connectivity using the same credential resolution as `createCataloxFromEnv`.
90
+ * Uses a disposable named Admin app (never `[DEFAULT]`) and deletes it in `finally`.
91
+ * Performs a single non-mutating `.get()` on a random doc under {@link CATALOX_FIRESTORE_PROBE_COLLECTION_ID}.
92
+ */
93
+ export declare function testFirestoreConnectionFromEnv(options?: FirebaseBootstrapOptions): Promise<TestFirestoreConnectionFromEnvResult>;
76
94
  export type CreateFirebaseAdminAppFromEnvResult = {
77
95
  app: App;
78
96
  credentialSource: FirebaseAdminCredentialSource;
@@ -1 +1 @@
1
- {"version":3,"file":"bootstrap.d.ts","sourceRoot":"","sources":["../../../src/firebase/bootstrap.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"bootstrap.d.ts","sourceRoot":"","sources":["../../../src/firebase/bootstrap.ts"],"names":[],"mappings":"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"}
@@ -1,3 +1,4 @@
1
+ import { randomUUID } from "node:crypto";
1
2
  import { readFileSync } from "node:fs";
2
3
  import { applicationDefault, cert, deleteApp, getApps, initializeApp } from "firebase-admin/app";
3
4
  import { getFirestore } from "firebase-admin/firestore";
@@ -20,28 +21,71 @@ function decodeServiceAccountJsonBase64(base64) {
20
21
  }
21
22
  }
22
23
  /**
23
- * Resolve the Firebase Admin credential based on env/overrides.
24
+ * Resolve the Firebase Admin credential from explicit options and supported environment variables.
24
25
  *
25
26
  * Precedence:
26
- * 1) `FIREBASE_SERVICE_ACCOUNT_PATH` (or explicit override)
27
- * 2) `GOOGLE_SERVICE_ACCOUNT_BASE64` (or explicit override)
28
- * 3) ADC (`applicationDefault()`)
27
+ * 1) `serviceAccountBase64` option, else `GOOGLE_SERVICE_ACCOUNT_BASE64` from env — decode to JSON, then `cert(...)`.
28
+ * 2) `serviceAccountPath` option only — read JSON from disk, then `cert(...)`. No env var supplies this path.
29
+ * 3) Application Default Credentials (`applicationDefault()`). Prefer base64 in CI/scripts to avoid machine-dependent ADC.
29
30
  */
30
31
  export function resolveFirebaseAdminCredentialFromEnv(options) {
31
32
  const env = resolvedEnv(options);
32
- const serviceAccountPath = String(options?.serviceAccountPath ?? env.FIREBASE_SERVICE_ACCOUNT_PATH ?? "").trim();
33
- if (serviceAccountPath) {
34
- const raw = readFileSync(serviceAccountPath, "utf8");
35
- const svc = JSON.parse(raw);
36
- return { source: "service_account_path", serviceAccountPath, serviceAccountJson: svc };
37
- }
38
33
  const b64 = String(options?.serviceAccountBase64 ?? env.GOOGLE_SERVICE_ACCOUNT_BASE64 ?? "").trim();
39
34
  if (b64) {
40
35
  const svc = decodeServiceAccountJsonBase64(b64);
41
36
  return { source: "service_account_base64", serviceAccountJson: svc };
42
37
  }
38
+ const serviceAccountPath = String(options?.serviceAccountPath ?? "").trim();
39
+ if (serviceAccountPath) {
40
+ const raw = readFileSync(serviceAccountPath, "utf8");
41
+ const svc = JSON.parse(raw);
42
+ return { source: "service_account_path", serviceAccountPath, serviceAccountJson: svc };
43
+ }
43
44
  return { source: "adc", credential: applicationDefault() };
44
45
  }
46
+ /**
47
+ * Top-level collection id used only by {@link testFirestoreConnectionFromEnv}.
48
+ * Must not match Firestore’s reserved `__.*__` pattern for collection/document ids.
49
+ */
50
+ export const CATALOX_FIRESTORE_PROBE_COLLECTION_ID = "cataloxConnectivityProbe";
51
+ /**
52
+ * Verifies Firestore connectivity using the same credential resolution as `createCataloxFromEnv`.
53
+ * Uses a disposable named Admin app (never `[DEFAULT]`) and deletes it in `finally`.
54
+ * Performs a single non-mutating `.get()` on a random doc under {@link CATALOX_FIRESTORE_PROBE_COLLECTION_ID}.
55
+ */
56
+ export async function testFirestoreConnectionFromEnv(options) {
57
+ const env = resolvedEnv(options);
58
+ const projectId = String(options?.projectId ?? env.FIREBASE_PROJECT_ID ?? "").trim() || undefined;
59
+ const databaseId = String(options?.databaseId ?? env.FIRESTORE_DATABASE_ID ?? "").trim() || undefined;
60
+ const probeAppName = `catalox-firestore-probe-${randomUUID()}`;
61
+ let app;
62
+ let resolved;
63
+ try {
64
+ resolved = resolveFirebaseAdminCredentialFromEnv(options);
65
+ const credential = resolved.source === "adc" ? resolved.credential : cert(resolved.serviceAccountJson);
66
+ app = initializeApp({ credential, ...(projectId ? { projectId } : {}) }, probeAppName);
67
+ const firestore = databaseId ? getFirestore(app, databaseId) : getFirestore(app);
68
+ await firestore.collection(CATALOX_FIRESTORE_PROBE_COLLECTION_ID).doc(randomUUID()).get();
69
+ return { ok: true, credentialSource: resolved.source };
70
+ }
71
+ catch (error) {
72
+ return {
73
+ ok: false,
74
+ ...(resolved != null ? { credentialSource: resolved.source } : {}),
75
+ error,
76
+ };
77
+ }
78
+ finally {
79
+ if (app) {
80
+ try {
81
+ await deleteApp(app);
82
+ }
83
+ catch {
84
+ // ignore secondary dispose errors
85
+ }
86
+ }
87
+ }
88
+ }
45
89
  export function createFirebaseAdminAppFromEnv(options) {
46
90
  const env = resolvedEnv(options);
47
91
  const projectId = String(options?.projectId ?? env.FIREBASE_PROJECT_ID ?? "").trim() || undefined;
@@ -1 +1 @@
1
- {"version":3,"file":"bootstrap.js","sourceRoot":"","sources":["../../../src/firebase/bootstrap.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"bootstrap.js","sourceRoot":"","sources":["../../../src/firebase/bootstrap.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@x12i/catalox",
3
- "version": "3.8.0",
3
+ "version": "4.0.1",
4
4
  "description": "Platform infrastructure for reusable, interoperable catalogs across apps and data sources.",
5
5
  "license": "MIT",
6
6
  "private": false,
@@ -50,6 +50,7 @@
50
50
  "files": [
51
51
  "dist",
52
52
  "docs/catalox-ui-contract.md",
53
+ "presets",
53
54
  "README.md",
54
55
  "LICENSE",
55
56
  "firestore.indexes.json"
@@ -0,0 +1,62 @@
1
+ {
2
+ "presetVersion": 1,
3
+ "id": "native-map-v1",
4
+ "name": "Native key/value map catalog",
5
+ "description": "Logical item id = data.key. Replace YOUR_APP_ID in bindings before catalox seed apply.",
6
+ "catalogs": [
7
+ {
8
+ "catalogId": "catalox_native_map",
9
+ "name": "Native map",
10
+ "catalogType": "generic",
11
+ "sourceMode": "native",
12
+ "native": {}
13
+ }
14
+ ],
15
+ "descriptors": [
16
+ {
17
+ "catalogId": "catalox_native_map",
18
+ "descriptorVersion": "1",
19
+ "mode": "replace",
20
+ "descriptor": {
21
+ "catalogId": "catalox_native_map",
22
+ "label": "Native map",
23
+ "sourceMode": "native",
24
+ "status": "active",
25
+ "capabilities": {
26
+ "canList": true,
27
+ "canGet": true,
28
+ "canCreate": true,
29
+ "canEdit": true,
30
+ "canDelete": true,
31
+ "canImport": true,
32
+ "canExport": true,
33
+ "canSync": false,
34
+ "canValidate": true,
35
+ "canViewReferences": true
36
+ },
37
+ "queryableFields": [
38
+ {
39
+ "key": "key",
40
+ "label": "Key",
41
+ "type": "string",
42
+ "indexed": true,
43
+ "filterable": true,
44
+ "listVisible": true,
45
+ "detailVisible": true
46
+ }
47
+ ],
48
+ "identity": {
49
+ "itemIdStrategy": "natural",
50
+ "itemIdField": "key"
51
+ }
52
+ }
53
+ }
54
+ ],
55
+ "bindings": [
56
+ {
57
+ "appId": "YOUR_APP_ID",
58
+ "catalogId": "catalox_native_map"
59
+ }
60
+ ],
61
+ "items": []
62
+ }