@agent-coder/cli 0.1.0 → 0.1.3
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/dist/auth.d.ts +4 -0
- package/dist/auth.d.ts.map +1 -1
- package/dist/auth.js +78 -13
- package/dist/auth.js.map +1 -1
- package/dist/config.d.ts +2 -0
- package/dist/config.d.ts.map +1 -1
- package/dist/config.js +18 -2
- package/dist/config.js.map +1 -1
- package/dist/firebase.d.ts.map +1 -1
- package/dist/firebase.js +30 -7
- package/dist/firebase.js.map +1 -1
- package/dist/index.d.ts +1 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1 -1
- package/dist/index.js.map +1 -1
- package/package.json +1 -1
package/dist/auth.d.ts
CHANGED
|
@@ -2,6 +2,10 @@
|
|
|
2
2
|
* Authentication module - handles browser OAuth flow.
|
|
3
3
|
*/
|
|
4
4
|
import { Credentials } from "./config.js";
|
|
5
|
+
/**
|
|
6
|
+
* Refresh an expired token using the refresh token.
|
|
7
|
+
*/
|
|
8
|
+
export declare function refreshCredentials(): Promise<Credentials | null>;
|
|
5
9
|
/**
|
|
6
10
|
* Start OAuth login flow.
|
|
7
11
|
* Opens browser to web app, which handles OAuth and redirects back with tokens.
|
package/dist/auth.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"auth.d.ts","sourceRoot":"","sources":["../src/auth.ts"],"names":[],"mappings":"AAAA;;GAEG;AAIH,OAAO,EAAE,WAAW,EAAkE,MAAM,aAAa,CAAC;
|
|
1
|
+
{"version":3,"file":"auth.d.ts","sourceRoot":"","sources":["../src/auth.ts"],"names":[],"mappings":"AAAA;;GAEG;AAIH,OAAO,EAAE,WAAW,EAAkE,MAAM,aAAa,CAAC;AAuC1G;;GAEG;AACH,wBAAsB,kBAAkB,IAAI,OAAO,CAAC,WAAW,GAAG,IAAI,CAAC,CAuCtE;AAED;;;GAGG;AACH,wBAAsB,KAAK,IAAI,OAAO,CAAC,WAAW,CAAC,CAyFlD;AAED,wBAAsB,MAAM,IAAI,OAAO,CAAC,IAAI,CAAC,CAG5C;AAED,wBAAgB,cAAc,IAAI,WAAW,GAAG,IAAI,CAEnD"}
|
package/dist/auth.js
CHANGED
|
@@ -6,6 +6,61 @@ import open from "open";
|
|
|
6
6
|
import { saveCredentials, loadCredentials, clearCredentials, loadConfig } from "./config.js";
|
|
7
7
|
const CALLBACK_PORT = 9876;
|
|
8
8
|
const CALLBACK_PATH = "/auth/callback";
|
|
9
|
+
/**
|
|
10
|
+
* Exchange an ID token for a custom token via Cloud Function.
|
|
11
|
+
* This allows the agent to sign in with Firebase Client SDK.
|
|
12
|
+
*/
|
|
13
|
+
async function exchangeToken(idToken) {
|
|
14
|
+
const config = loadConfig();
|
|
15
|
+
const response = await fetch(`${config.functionsUrl}/exchangeToken`, {
|
|
16
|
+
method: "POST",
|
|
17
|
+
headers: { "Content-Type": "application/json" },
|
|
18
|
+
body: JSON.stringify({ idToken }),
|
|
19
|
+
});
|
|
20
|
+
if (!response.ok) {
|
|
21
|
+
const error = await response.json().catch(() => ({ error: "Unknown error" }));
|
|
22
|
+
throw new Error(error.error || "Failed to exchange token");
|
|
23
|
+
}
|
|
24
|
+
return response.json();
|
|
25
|
+
}
|
|
26
|
+
/**
|
|
27
|
+
* Refresh an expired token using the refresh token.
|
|
28
|
+
*/
|
|
29
|
+
export async function refreshCredentials() {
|
|
30
|
+
const credentials = loadCredentials();
|
|
31
|
+
if (!credentials?.refreshToken) {
|
|
32
|
+
return null;
|
|
33
|
+
}
|
|
34
|
+
const config = loadConfig();
|
|
35
|
+
try {
|
|
36
|
+
const response = await fetch(`${config.functionsUrl}/refreshToken`, {
|
|
37
|
+
method: "POST",
|
|
38
|
+
headers: { "Content-Type": "application/json" },
|
|
39
|
+
body: JSON.stringify({ refreshToken: credentials.refreshToken }),
|
|
40
|
+
});
|
|
41
|
+
if (!response.ok) {
|
|
42
|
+
console.error("Failed to refresh token");
|
|
43
|
+
return null;
|
|
44
|
+
}
|
|
45
|
+
const data = await response.json();
|
|
46
|
+
// Exchange the new ID token for a custom token
|
|
47
|
+
const { customToken } = await exchangeToken(data.idToken);
|
|
48
|
+
const newCredentials = {
|
|
49
|
+
uid: data.uid || credentials.uid,
|
|
50
|
+
email: data.email || credentials.email,
|
|
51
|
+
displayName: credentials.displayName,
|
|
52
|
+
accessToken: customToken, // Store custom token for Firebase auth
|
|
53
|
+
refreshToken: data.refreshToken || credentials.refreshToken,
|
|
54
|
+
expiresAt: Date.now() + parseInt(data.expiresIn || "3600", 10) * 1000,
|
|
55
|
+
};
|
|
56
|
+
saveCredentials(newCredentials);
|
|
57
|
+
return newCredentials;
|
|
58
|
+
}
|
|
59
|
+
catch (error) {
|
|
60
|
+
console.error("Error refreshing credentials:", error);
|
|
61
|
+
return null;
|
|
62
|
+
}
|
|
63
|
+
}
|
|
9
64
|
/**
|
|
10
65
|
* Start OAuth login flow.
|
|
11
66
|
* Opens browser to web app, which handles OAuth and redirects back with tokens.
|
|
@@ -37,19 +92,29 @@ export async function login() {
|
|
|
37
92
|
reject(new Error("Missing required parameters from callback"));
|
|
38
93
|
return;
|
|
39
94
|
}
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
95
|
+
// Exchange ID token for custom token (async)
|
|
96
|
+
exchangeToken(accessToken)
|
|
97
|
+
.then(({ customToken }) => {
|
|
98
|
+
const credentials = {
|
|
99
|
+
uid,
|
|
100
|
+
email: email || null,
|
|
101
|
+
displayName: displayName || null,
|
|
102
|
+
accessToken: customToken, // Store custom token for Firebase auth
|
|
103
|
+
refreshToken: refreshToken || "",
|
|
104
|
+
expiresAt: Date.now() + parseInt(expiresIn || "3600", 10) * 1000,
|
|
105
|
+
};
|
|
106
|
+
saveCredentials(credentials);
|
|
107
|
+
res.writeHead(200, { "Content-Type": "text/html" });
|
|
108
|
+
res.end(successPage(displayName || email || "User"));
|
|
109
|
+
server.close();
|
|
110
|
+
resolve(credentials);
|
|
111
|
+
})
|
|
112
|
+
.catch((err) => {
|
|
113
|
+
res.writeHead(500, { "Content-Type": "text/html" });
|
|
114
|
+
res.end(errorPage(`Token exchange failed: ${err.message}`));
|
|
115
|
+
server.close();
|
|
116
|
+
reject(err);
|
|
117
|
+
});
|
|
53
118
|
}
|
|
54
119
|
else {
|
|
55
120
|
res.writeHead(404);
|
package/dist/auth.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"auth.js","sourceRoot":"","sources":["../src/auth.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,YAAY,EAAmC,MAAM,WAAW,CAAC;AAC1E,OAAO,IAAI,MAAM,MAAM,CAAC;AACxB,OAAO,EAAe,eAAe,EAAE,eAAe,EAAE,gBAAgB,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAE1G,MAAM,aAAa,GAAG,IAAI,CAAC;AAC3B,MAAM,aAAa,GAAG,gBAAgB,CAAC;
|
|
1
|
+
{"version":3,"file":"auth.js","sourceRoot":"","sources":["../src/auth.ts"],"names":[],"mappings":"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"}
|
package/dist/config.d.ts
CHANGED
|
@@ -5,6 +5,7 @@ export declare const DATA_DIR: string;
|
|
|
5
5
|
export declare const CONFIG_FILE: string;
|
|
6
6
|
export declare const CREDENTIALS_FILE: string;
|
|
7
7
|
export declare const DEFAULT_WEB_URL: string;
|
|
8
|
+
export declare const DEFAULT_FUNCTIONS_URL: string;
|
|
8
9
|
export interface Credentials {
|
|
9
10
|
uid: string;
|
|
10
11
|
email: string | null;
|
|
@@ -15,6 +16,7 @@ export interface Credentials {
|
|
|
15
16
|
}
|
|
16
17
|
export interface Config {
|
|
17
18
|
webUrl: string;
|
|
19
|
+
functionsUrl: string;
|
|
18
20
|
serverId: string;
|
|
19
21
|
serverName: string;
|
|
20
22
|
}
|
package/dist/config.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"AAAA;;GAEG;AAOH,eAAO,MAAM,QAAQ,QAAyC,CAAC;AAC/D,eAAO,MAAM,WAAW,QAAqC,CAAC;AAC9D,eAAO,MAAM,gBAAgB,QAA0C,CAAC;
|
|
1
|
+
{"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"AAAA;;GAEG;AAOH,eAAO,MAAM,QAAQ,QAAyC,CAAC;AAC/D,eAAO,MAAM,WAAW,QAAqC,CAAC;AAC9D,eAAO,MAAM,gBAAgB,QAA0C,CAAC;AAKxE,eAAO,MAAM,eAAe,QAAmE,CAAC;AAChG,eAAO,MAAM,qBAAqB,QAAkG,CAAC;AAKrI,MAAM,WAAW,WAAW;IAC1B,GAAG,EAAE,MAAM,CAAC;IACZ,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IACrB,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,WAAW,EAAE,MAAM,CAAC;IACpB,YAAY,EAAE,MAAM,CAAC;IACrB,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,MAAM;IACrB,MAAM,EAAE,MAAM,CAAC;IACf,YAAY,EAAE,MAAM,CAAC;IACrB,QAAQ,EAAE,MAAM,CAAC;IACjB,UAAU,EAAE,MAAM,CAAC;CACpB;AAQD,wBAAgB,UAAU,IAAI,MAAM,CAkCnC;AAED,wBAAgB,UAAU,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI,CAG/C;AAED,wBAAgB,eAAe,IAAI,WAAW,GAAG,IAAI,CAiBpD;AAED,wBAAgB,eAAe,CAAC,KAAK,EAAE,WAAW,GAAG,IAAI,CAGxD;AAED,wBAAgB,gBAAgB,IAAI,IAAI,CAIvC;AAED,wBAAgB,UAAU,IAAI,OAAO,CAGpC"}
|
package/dist/config.js
CHANGED
|
@@ -9,7 +9,12 @@ export const DATA_DIR = path.join(os.homedir(), ".agentcoder");
|
|
|
9
9
|
export const CONFIG_FILE = path.join(DATA_DIR, "config.json");
|
|
10
10
|
export const CREDENTIALS_FILE = path.join(DATA_DIR, "credentials.json");
|
|
11
11
|
// Default URLs (your hosted service)
|
|
12
|
-
|
|
12
|
+
// Note: agentcoder.space is the static landing page (GitHub Pages)
|
|
13
|
+
// app.agentcoder.space is the Firebase web app with auth
|
|
14
|
+
export const DEFAULT_WEB_URL = process.env.AGENTCODER_WEB_URL || "https://app.agentcoder.space";
|
|
15
|
+
export const DEFAULT_FUNCTIONS_URL = process.env.AGENTCODER_FUNCTIONS_URL || "https://us-central1-agent-coder-ai.cloudfunctions.net";
|
|
16
|
+
// Old URLs that should be migrated
|
|
17
|
+
const DEPRECATED_WEB_URLS = ["https://agentcoder.space"];
|
|
13
18
|
function ensureDataDir() {
|
|
14
19
|
if (!existsSync(DATA_DIR)) {
|
|
15
20
|
mkdirSync(DATA_DIR, { recursive: true });
|
|
@@ -19,7 +24,17 @@ export function loadConfig() {
|
|
|
19
24
|
ensureDataDir();
|
|
20
25
|
if (existsSync(CONFIG_FILE)) {
|
|
21
26
|
try {
|
|
22
|
-
|
|
27
|
+
const config = JSON.parse(readFileSync(CONFIG_FILE, "utf-8"));
|
|
28
|
+
// Migrate deprecated URLs to new defaults
|
|
29
|
+
let needsSave = false;
|
|
30
|
+
if (DEPRECATED_WEB_URLS.includes(config.webUrl)) {
|
|
31
|
+
config.webUrl = DEFAULT_WEB_URL;
|
|
32
|
+
needsSave = true;
|
|
33
|
+
}
|
|
34
|
+
if (needsSave) {
|
|
35
|
+
saveConfig(config);
|
|
36
|
+
}
|
|
37
|
+
return config;
|
|
23
38
|
}
|
|
24
39
|
catch {
|
|
25
40
|
// Fall through to defaults
|
|
@@ -28,6 +43,7 @@ export function loadConfig() {
|
|
|
28
43
|
// Generate default config
|
|
29
44
|
const config = {
|
|
30
45
|
webUrl: DEFAULT_WEB_URL,
|
|
46
|
+
functionsUrl: DEFAULT_FUNCTIONS_URL,
|
|
31
47
|
serverId: `${os.hostname()}-${Math.random().toString(36).slice(2, 10)}`,
|
|
32
48
|
serverName: os.hostname(),
|
|
33
49
|
};
|
package/dist/config.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config.js","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,YAAY,EAAE,aAAa,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,SAAS,CAAC;AAC7E,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,EAAE,MAAM,SAAS,CAAC;AAEzB,QAAQ;AACR,MAAM,CAAC,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,OAAO,EAAE,EAAE,aAAa,CAAC,CAAC;AAC/D,MAAM,CAAC,MAAM,WAAW,GAAG,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,aAAa,CAAC,CAAC;AAC9D,MAAM,CAAC,MAAM,gBAAgB,GAAG,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,kBAAkB,CAAC,CAAC;AAExE,qCAAqC;AACrC,MAAM,CAAC,MAAM,eAAe,GAAG,OAAO,CAAC,GAAG,CAAC,kBAAkB,IAAI,0BAA0B,CAAC;
|
|
1
|
+
{"version":3,"file":"config.js","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"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"}
|
package/dist/firebase.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"firebase.d.ts","sourceRoot":"","sources":["../src/firebase.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAGH,OAAO,EAIL,IAAI,EAEL,MAAM,eAAe,CAAC;AACvB,OAAO,EAEL,SAAS,EACT,UAAU,EACV,GAAG,EACH,UAAU,EACV,SAAS,EACT,MAAM,EACN,KAAK,EACL,KAAK,EACL,eAAe,EACf,WAAW,EACZ,MAAM,oBAAoB,CAAC;
|
|
1
|
+
{"version":3,"file":"firebase.d.ts","sourceRoot":"","sources":["../src/firebase.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAGH,OAAO,EAIL,IAAI,EAEL,MAAM,eAAe,CAAC;AACvB,OAAO,EAEL,SAAS,EACT,UAAU,EACV,GAAG,EACH,UAAU,EACV,SAAS,EACT,MAAM,EACN,KAAK,EACL,KAAK,EACL,eAAe,EACf,WAAW,EACZ,MAAM,oBAAoB,CAAC;AAiB5B,wBAAsB,kBAAkB,IAAI,OAAO,CAAC;IAAE,EAAE,EAAE,SAAS,CAAC;IAAC,IAAI,EAAE,IAAI,CAAA;CAAE,CAAC,CAsDjF;AAED,wBAAgB,KAAK,IAAI,SAAS,CAGjC;AAED,wBAAgB,cAAc,IAAI,IAAI,GAAG,IAAI,CAE5C;AAGD,eAAO,MAAM,KAAK;6BACS,MAAM;0BACT,MAAM;yBACP,MAAM,WAAW,MAAM;4BAEpB,MAAM,WAAW,MAAM;2BAExB,MAAM,WAAW,MAAM,aAAa,MAAM;4BAEzC,MAAM,WAAW,MAAM,aAAa,MAAM;2BAE3C,MAAM;0BACP,MAAM,YAAY,MAAM;CAE/C,CAAC;AAEF,OAAO,EAAE,UAAU,EAAE,GAAG,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK,EAAE,eAAe,EAAE,CAAC;AACzF,YAAY,EAAE,WAAW,EAAE,CAAC"}
|
package/dist/firebase.js
CHANGED
|
@@ -6,6 +6,7 @@ import { initializeApp } from "firebase/app";
|
|
|
6
6
|
import { getAuth, signInWithCustomToken, onAuthStateChanged, } from "firebase/auth";
|
|
7
7
|
import { getFirestore, collection, doc, onSnapshot, updateDoc, addDoc, query, where, serverTimestamp, } from "firebase/firestore";
|
|
8
8
|
import { loadCredentials } from "./config.js";
|
|
9
|
+
import { refreshCredentials } from "./auth.js";
|
|
9
10
|
// Firebase config - bundled with the agent
|
|
10
11
|
// These are client-side keys, safe to include
|
|
11
12
|
const firebaseConfig = {
|
|
@@ -18,17 +19,24 @@ let auth = null;
|
|
|
18
19
|
let db = null;
|
|
19
20
|
let currentUser = null;
|
|
20
21
|
export async function initializeFirebase() {
|
|
21
|
-
|
|
22
|
+
let credentials = loadCredentials();
|
|
22
23
|
if (!credentials) {
|
|
23
24
|
throw new Error("Not logged in. Run 'agentcoder login' first.");
|
|
24
25
|
}
|
|
26
|
+
// Check if token is expired or about to expire (within 5 minutes)
|
|
27
|
+
const expiresIn = credentials.expiresAt - Date.now();
|
|
28
|
+
if (expiresIn < 5 * 60 * 1000) {
|
|
29
|
+
console.log("Token expired or expiring soon, refreshing...");
|
|
30
|
+
const newCredentials = await refreshCredentials();
|
|
31
|
+
if (!newCredentials) {
|
|
32
|
+
throw new Error("Session expired. Please run 'agentcoder login' again.");
|
|
33
|
+
}
|
|
34
|
+
credentials = newCredentials;
|
|
35
|
+
}
|
|
25
36
|
// Initialize Firebase app
|
|
26
37
|
app = initializeApp(firebaseConfig);
|
|
27
38
|
auth = getAuth(app);
|
|
28
39
|
db = getFirestore(app);
|
|
29
|
-
// Sign in with the stored credentials
|
|
30
|
-
// Note: We need to handle token refresh properly
|
|
31
|
-
// For now, we'll use the access token to authenticate via a custom approach
|
|
32
40
|
return new Promise((resolve, reject) => {
|
|
33
41
|
// Listen for auth state changes
|
|
34
42
|
const unsubscribe = onAuthStateChanged(auth, (user) => {
|
|
@@ -38,12 +46,27 @@ export async function initializeFirebase() {
|
|
|
38
46
|
resolve({ db: db, user });
|
|
39
47
|
}
|
|
40
48
|
});
|
|
41
|
-
//
|
|
42
|
-
// This requires the token to be a valid Firebase ID token or custom token
|
|
49
|
+
// Sign in with the custom token (obtained during login or refresh)
|
|
43
50
|
signInWithCustomToken(auth, credentials.accessToken)
|
|
44
51
|
.catch((error) => {
|
|
45
52
|
unsubscribe();
|
|
46
|
-
|
|
53
|
+
// If custom token is invalid/expired, try refreshing
|
|
54
|
+
if (error.code === "auth/invalid-custom-token") {
|
|
55
|
+
refreshCredentials()
|
|
56
|
+
.then((newCreds) => {
|
|
57
|
+
if (!newCreds) {
|
|
58
|
+
reject(new Error("Session expired. Please run 'agentcoder login' again."));
|
|
59
|
+
return;
|
|
60
|
+
}
|
|
61
|
+
return signInWithCustomToken(auth, newCreds.accessToken);
|
|
62
|
+
})
|
|
63
|
+
.catch((refreshError) => {
|
|
64
|
+
reject(new Error(`Authentication failed: ${refreshError.message}`));
|
|
65
|
+
});
|
|
66
|
+
}
|
|
67
|
+
else {
|
|
68
|
+
reject(new Error(`Authentication failed: ${error.message}`));
|
|
69
|
+
}
|
|
47
70
|
});
|
|
48
71
|
});
|
|
49
72
|
}
|
package/dist/firebase.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"firebase.js","sourceRoot":"","sources":["../src/firebase.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,aAAa,EAAe,MAAM,cAAc,CAAC;AAC1D,OAAO,EACL,OAAO,EACP,qBAAqB,EACrB,kBAAkB,GAGnB,MAAM,eAAe,CAAC;AACvB,OAAO,EACL,YAAY,EAEZ,UAAU,EACV,GAAG,EACH,UAAU,EACV,SAAS,EACT,MAAM,EACN,KAAK,EACL,KAAK,EACL,eAAe,GAEhB,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;
|
|
1
|
+
{"version":3,"file":"firebase.js","sourceRoot":"","sources":["../src/firebase.ts"],"names":[],"mappings":"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"}
|
package/dist/index.d.ts
CHANGED
|
@@ -5,7 +5,7 @@
|
|
|
5
5
|
* to connect directly to Firestore and process agent commands locally via tmux.
|
|
6
6
|
* No service account required - just login with your account.
|
|
7
7
|
*/
|
|
8
|
-
export { login, logout, getCredentials } from "./auth.js";
|
|
8
|
+
export { login, logout, getCredentials, refreshCredentials } from "./auth.js";
|
|
9
9
|
export { loadConfig, saveConfig, isLoggedIn, type Config, type Credentials } from "./config.js";
|
|
10
10
|
export { initializeFirebase, getDb, getCurrentUser, paths } from "./firebase.js";
|
|
11
11
|
export { FirestoreWatcher } from "./watcher.js";
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,cAAc,EAAE,MAAM,WAAW,CAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,cAAc,EAAE,kBAAkB,EAAE,MAAM,WAAW,CAAC;AAC9E,OAAO,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,KAAK,MAAM,EAAE,KAAK,WAAW,EAAE,MAAM,aAAa,CAAC;AAChG,OAAO,EAAE,kBAAkB,EAAE,KAAK,EAAE,cAAc,EAAE,KAAK,EAAE,MAAM,eAAe,CAAC;AACjF,OAAO,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAC;AAChD,OAAO,KAAK,IAAI,MAAM,WAAW,CAAC"}
|
package/dist/index.js
CHANGED
|
@@ -5,7 +5,7 @@
|
|
|
5
5
|
* to connect directly to Firestore and process agent commands locally via tmux.
|
|
6
6
|
* No service account required - just login with your account.
|
|
7
7
|
*/
|
|
8
|
-
export { login, logout, getCredentials } from "./auth.js";
|
|
8
|
+
export { login, logout, getCredentials, refreshCredentials } from "./auth.js";
|
|
9
9
|
export { loadConfig, saveConfig, isLoggedIn } from "./config.js";
|
|
10
10
|
export { initializeFirebase, getDb, getCurrentUser, paths } from "./firebase.js";
|
|
11
11
|
export { FirestoreWatcher } from "./watcher.js";
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,cAAc,EAAE,MAAM,WAAW,CAAC;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,cAAc,EAAE,kBAAkB,EAAE,MAAM,WAAW,CAAC;AAC9E,OAAO,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAiC,MAAM,aAAa,CAAC;AAChG,OAAO,EAAE,kBAAkB,EAAE,KAAK,EAAE,cAAc,EAAE,KAAK,EAAE,MAAM,eAAe,CAAC;AACjF,OAAO,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAC;AAChD,OAAO,KAAK,IAAI,MAAM,WAAW,CAAC"}
|