@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.
- package/README.md +49 -13
- package/dist/src/catalox/backup-data.d.ts.map +1 -1
- package/dist/src/catalox/backup-data.js +0 -9
- package/dist/src/catalox/backup-data.js.map +1 -1
- package/dist/src/catalox/catalox-bound.d.ts +2 -1
- package/dist/src/catalox/catalox-bound.d.ts.map +1 -1
- package/dist/src/catalox/catalox-bound.js +3 -0
- package/dist/src/catalox/catalox-bound.js.map +1 -1
- package/dist/src/catalox/catalox.d.ts +6 -1
- package/dist/src/catalox/catalox.d.ts.map +1 -1
- package/dist/src/catalox/catalox.js +25 -0
- package/dist/src/catalox/catalox.js.map +1 -1
- package/dist/src/catalox/record-history.d.ts.map +1 -1
- package/dist/src/catalox/record-history.js +0 -8
- package/dist/src/catalox/record-history.js.map +1 -1
- package/dist/src/catalox/seed-preset.d.ts +62 -0
- package/dist/src/catalox/seed-preset.d.ts.map +1 -0
- package/dist/src/catalox/seed-preset.js +192 -0
- package/dist/src/catalox/seed-preset.js.map +1 -0
- package/dist/src/cli/index.js +32 -2
- package/dist/src/cli/index.js.map +1 -1
- package/dist/src/contracts/index.d.ts +1 -1
- package/dist/src/contracts/index.d.ts.map +1 -1
- package/dist/src/contracts/index.js.map +1 -1
- package/dist/src/contracts/inputs.d.ts +11 -0
- package/dist/src/contracts/inputs.d.ts.map +1 -1
- package/dist/src/embedder.d.ts +1 -0
- package/dist/src/embedder.d.ts.map +1 -1
- package/dist/src/embedder.js +1 -0
- package/dist/src/embedder.js.map +1 -1
- package/dist/src/firebase/bootstrap.d.ts +25 -7
- package/dist/src/firebase/bootstrap.d.ts.map +1 -1
- package/dist/src/firebase/bootstrap.js +54 -10
- package/dist/src/firebase/bootstrap.js.map +1 -1
- package/package.json +2 -1
- 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
|
|
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
|
|
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
|
|
67
|
+
* Resolve the Firebase Admin credential from explicit options and supported environment variables.
|
|
69
68
|
*
|
|
70
69
|
* Precedence:
|
|
71
|
-
* 1) `
|
|
72
|
-
* 2) `
|
|
73
|
-
* 3)
|
|
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":"
|
|
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
|
|
24
|
+
* Resolve the Firebase Admin credential from explicit options and supported environment variables.
|
|
24
25
|
*
|
|
25
26
|
* Precedence:
|
|
26
|
-
* 1) `
|
|
27
|
-
* 2) `
|
|
28
|
-
* 3)
|
|
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":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AAEvC,OAAO,EAAE,kBAAkB,EAAE,IAAI,EAAE,SAAS,EAAE,OAAO,EAAE,aAAa,EAAY,MAAM,oBAAoB,CAAC;AAC3G,OAAO,EAAE,YAAY,EAAkB,MAAM,0BAA0B,CAAC;AAExE,OAAO,EAAE,aAAa,EAA6B,MAAM,8BAA8B,CAAC;
|
|
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
|
+
"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
|
+
}
|