run402 1.57.3 → 1.57.4
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/lib/projects.mjs
CHANGED
|
@@ -41,7 +41,7 @@ Examples:
|
|
|
41
41
|
run402 projects sql prj_abc123 --file setup.sql
|
|
42
42
|
run402 projects rest prj_abc123 users "limit=10&select=id,name"
|
|
43
43
|
run402 projects usage prj_abc123
|
|
44
|
-
|
|
44
|
+
run402 projects costs prj_abc123 --window 30d
|
|
45
45
|
run402 projects schema prj_abc123
|
|
46
46
|
run402 projects apply-expose prj_abc123 --file manifest.json
|
|
47
47
|
run402 projects get-expose prj_abc123
|
|
@@ -122,15 +122,17 @@ Options:
|
|
|
122
122
|
--window <w> Finance window (default: 30d). One of: 24h, 7d, 30d, 90d
|
|
123
123
|
|
|
124
124
|
Environment:
|
|
125
|
-
RUN402_ADMIN_COOKIE
|
|
125
|
+
RUN402_ADMIN_COOKIE Optional admin OAuth cookie header, e.g. "run402_admin=..."
|
|
126
126
|
|
|
127
127
|
Notes:
|
|
128
|
-
- Platform-admin only.
|
|
129
|
-
|
|
128
|
+
- Platform-admin only. The configured allowance wallet must be an admin
|
|
129
|
+
wallet, or RUN402_ADMIN_COOKIE must contain an admin OAuth cookie.
|
|
130
|
+
- Project service keys are not enough for this endpoint.
|
|
130
131
|
- Output is the gateway's per-project finance JSON: revenue, direct cost,
|
|
131
132
|
direct margin, and direct_cost_breakdown rows.
|
|
132
133
|
|
|
133
134
|
Examples:
|
|
135
|
+
run402 projects costs prj_abc123
|
|
134
136
|
RUN402_ADMIN_COOKIE='run402_admin=...' run402 projects costs prj_abc123
|
|
135
137
|
RUN402_ADMIN_COOKIE='run402_admin=...' run402 projects costs --window 7d
|
|
136
138
|
`,
|
|
@@ -344,14 +346,7 @@ async function usage(projectId) {
|
|
|
344
346
|
|
|
345
347
|
function adminCookieFromEnv() {
|
|
346
348
|
const raw = process.env.RUN402_ADMIN_COOKIE?.trim();
|
|
347
|
-
if (!raw)
|
|
348
|
-
fail({
|
|
349
|
-
code: "ADMIN_COOKIE_REQUIRED",
|
|
350
|
-
message: "run402 projects costs requires RUN402_ADMIN_COOKIE.",
|
|
351
|
-
hint: "Sign in to /admin, then set RUN402_ADMIN_COOKIE to the run402_admin cookie header.",
|
|
352
|
-
details: { env: "RUN402_ADMIN_COOKIE" },
|
|
353
|
-
});
|
|
354
|
-
}
|
|
349
|
+
if (!raw) return undefined;
|
|
355
350
|
return raw.includes("=") ? raw : `run402_admin=${raw}`;
|
|
356
351
|
}
|
|
357
352
|
|
|
@@ -368,7 +363,7 @@ async function costs(projectId, args = []) {
|
|
|
368
363
|
try {
|
|
369
364
|
const data = await getSdk().admin.getProjectFinance(projectId, {
|
|
370
365
|
window,
|
|
371
|
-
cookie,
|
|
366
|
+
...(cookie ? { cookie } : {}),
|
|
372
367
|
});
|
|
373
368
|
console.log(JSON.stringify(data, null, 2));
|
|
374
369
|
} catch (err) {
|
package/package.json
CHANGED
|
@@ -27,8 +27,8 @@ export interface AdminProjectFinanceOptions {
|
|
|
27
27
|
window?: AdminFinanceWindow;
|
|
28
28
|
/**
|
|
29
29
|
* Optional admin session cookie header. Node operators can pass the value of
|
|
30
|
-
* RUN402_ADMIN_COOKIE
|
|
31
|
-
* headers
|
|
30
|
+
* RUN402_ADMIN_COOKIE when they want browser-session auth; otherwise the
|
|
31
|
+
* credential provider's normal auth headers are used.
|
|
32
32
|
*/
|
|
33
33
|
cookie?: string;
|
|
34
34
|
}
|
|
@@ -63,9 +63,10 @@ export declare class Admin {
|
|
|
63
63
|
* Fetch per-project finance for platform operators.
|
|
64
64
|
*
|
|
65
65
|
* This is the same admin-only surface used by the Run402 Finance tab. It is
|
|
66
|
-
* gated by
|
|
67
|
-
*
|
|
68
|
-
* credential provider whose `getAuth()` returns
|
|
66
|
+
* gated by platform-admin auth; project service keys are not sufficient.
|
|
67
|
+
* Use the Node SDK with an admin allowance wallet, pass `cookie` for browser
|
|
68
|
+
* session auth, or provide a credential provider whose `getAuth()` returns
|
|
69
|
+
* suitable admin headers.
|
|
69
70
|
*/
|
|
70
71
|
getProjectFinance(projectId: string, opts?: AdminProjectFinanceOptions): Promise<AdminProjectFinanceResult>;
|
|
71
72
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"admin.d.ts","sourceRoot":"","sources":["../../src/namespaces/admin.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,cAAc,CAAC;AAG3C,MAAM,WAAW,YAAY;IAC3B,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,kBAAkB;IACjC,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,UAAU,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,iBAAiB;IAChC,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,MAAM,kBAAkB,GAAG,KAAK,GAAG,IAAI,GAAG,KAAK,GAAG,KAAK,CAAC;AAE9D,MAAM,WAAW,0BAA0B;IACzC,6DAA6D;IAC7D,MAAM,CAAC,EAAE,kBAAkB,CAAC;IAC5B;;;;OAIG;IACH,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,yBAAyB;IACxC,UAAU,EAAE,MAAM,CAAC;IACnB,YAAY,EAAE,MAAM,CAAC;IACrB,MAAM,EAAE,kBAAkB,CAAC;IAC3B,kBAAkB,EAAE,MAAM,CAAC;IAC3B,sBAAsB,EAAE,MAAM,CAAC;IAC/B,wBAAwB,EAAE,MAAM,CAAC;IACjC,iBAAiB,EAAE;QACjB,oBAAoB,EAAE,MAAM,CAAC;QAC7B,sBAAsB,EAAE,MAAM,CAAC;QAC/B,qBAAqB,EAAE,MAAM,CAAC;QAC9B,wBAAwB,EAAE,MAAM,CAAC;QACjC,uBAAuB,EAAE,MAAM,CAAC;KACjC,CAAC;IACF,qBAAqB,EAAE,KAAK,CAAC;QAAE,QAAQ,EAAE,MAAM,CAAC;QAAC,eAAe,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IAC5E,KAAK,EAAE,MAAM,CAAC;CACf;AAID,qBAAa,KAAK;IACJ,OAAO,CAAC,QAAQ,CAAC,MAAM;gBAAN,MAAM,EAAE,MAAM;IAE3C,wEAAwE;IAClE,WAAW,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,iBAAiB,CAAC;IAQ9D,0DAA0D;IACpD,eAAe,CAAC,OAAO,EAAE,YAAY,GAAG,OAAO,CAAC,kBAAkB,CAAC;IAYzE
|
|
1
|
+
{"version":3,"file":"admin.d.ts","sourceRoot":"","sources":["../../src/namespaces/admin.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,cAAc,CAAC;AAG3C,MAAM,WAAW,YAAY;IAC3B,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,kBAAkB;IACjC,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,UAAU,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,iBAAiB;IAChC,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,MAAM,kBAAkB,GAAG,KAAK,GAAG,IAAI,GAAG,KAAK,GAAG,KAAK,CAAC;AAE9D,MAAM,WAAW,0BAA0B;IACzC,6DAA6D;IAC7D,MAAM,CAAC,EAAE,kBAAkB,CAAC;IAC5B;;;;OAIG;IACH,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,yBAAyB;IACxC,UAAU,EAAE,MAAM,CAAC;IACnB,YAAY,EAAE,MAAM,CAAC;IACrB,MAAM,EAAE,kBAAkB,CAAC;IAC3B,kBAAkB,EAAE,MAAM,CAAC;IAC3B,sBAAsB,EAAE,MAAM,CAAC;IAC/B,wBAAwB,EAAE,MAAM,CAAC;IACjC,iBAAiB,EAAE;QACjB,oBAAoB,EAAE,MAAM,CAAC;QAC7B,sBAAsB,EAAE,MAAM,CAAC;QAC/B,qBAAqB,EAAE,MAAM,CAAC;QAC9B,wBAAwB,EAAE,MAAM,CAAC;QACjC,uBAAuB,EAAE,MAAM,CAAC;KACjC,CAAC;IACF,qBAAqB,EAAE,KAAK,CAAC;QAAE,QAAQ,EAAE,MAAM,CAAC;QAAC,eAAe,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IAC5E,KAAK,EAAE,MAAM,CAAC;CACf;AAID,qBAAa,KAAK;IACJ,OAAO,CAAC,QAAQ,CAAC,MAAM;gBAAN,MAAM,EAAE,MAAM;IAE3C,wEAAwE;IAClE,WAAW,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,iBAAiB,CAAC;IAQ9D,0DAA0D;IACpD,eAAe,CAAC,OAAO,EAAE,YAAY,GAAG,OAAO,CAAC,kBAAkB,CAAC;IAYzE;;;;;;;;OAQG;IACG,iBAAiB,CACrB,SAAS,EAAE,MAAM,EACjB,IAAI,GAAE,0BAA+B,GACpC,OAAO,CAAC,yBAAyB,CAAC;CAoBtC"}
|
|
@@ -37,9 +37,10 @@ export class Admin {
|
|
|
37
37
|
* Fetch per-project finance for platform operators.
|
|
38
38
|
*
|
|
39
39
|
* This is the same admin-only surface used by the Run402 Finance tab. It is
|
|
40
|
-
* gated by
|
|
41
|
-
*
|
|
42
|
-
* credential provider whose `getAuth()` returns
|
|
40
|
+
* gated by platform-admin auth; project service keys are not sufficient.
|
|
41
|
+
* Use the Node SDK with an admin allowance wallet, pass `cookie` for browser
|
|
42
|
+
* session auth, or provide a credential provider whose `getAuth()` returns
|
|
43
|
+
* suitable admin headers.
|
|
43
44
|
*/
|
|
44
45
|
async getProjectFinance(projectId, opts = {}) {
|
|
45
46
|
const window = opts.window ?? "30d";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"admin.js","sourceRoot":"","sources":["../../src/namespaces/admin.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAGH,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAmD1C,MAAM,eAAe,GAAG,IAAI,GAAG,CAAqB,CAAC,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC,CAAC;AAEjF,MAAM,OAAO,KAAK;IACa;IAA7B,YAA6B,MAAc;QAAd,WAAM,GAAN,MAAM,CAAQ;IAAG,CAAC;IAE/C,wEAAwE;IACxE,KAAK,CAAC,WAAW,CAAC,OAAe;QAC/B,OAAO,IAAI,CAAC,MAAM,CAAC,OAAO,CAAoB,aAAa,EAAE;YAC3D,MAAM,EAAE,MAAM;YACd,IAAI,EAAE,EAAE,OAAO,EAAE;YACjB,OAAO,EAAE,iBAAiB;SAC3B,CAAC,CAAC;IACL,CAAC;IAED,0DAA0D;IAC1D,KAAK,CAAC,eAAe,CAAC,OAAqB;QACzC,MAAM,IAAI,GAA2B,EAAE,IAAI,EAAE,OAAO,CAAC,IAAI,EAAE,CAAC;QAC5D,IAAI,OAAO,CAAC,KAAK;YAAE,IAAI,CAAC,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC;QAC9C,IAAI,OAAO,CAAC,OAAO;YAAE,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC;QAEpD,OAAO,IAAI,CAAC,MAAM,CAAC,OAAO,CAAqB,mBAAmB,EAAE;YAClE,MAAM,EAAE,MAAM;YACd,IAAI;YACJ,OAAO,EAAE,uBAAuB;SACjC,CAAC,CAAC;IACL,CAAC;IAED
|
|
1
|
+
{"version":3,"file":"admin.js","sourceRoot":"","sources":["../../src/namespaces/admin.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAGH,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAmD1C,MAAM,eAAe,GAAG,IAAI,GAAG,CAAqB,CAAC,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC,CAAC;AAEjF,MAAM,OAAO,KAAK;IACa;IAA7B,YAA6B,MAAc;QAAd,WAAM,GAAN,MAAM,CAAQ;IAAG,CAAC;IAE/C,wEAAwE;IACxE,KAAK,CAAC,WAAW,CAAC,OAAe;QAC/B,OAAO,IAAI,CAAC,MAAM,CAAC,OAAO,CAAoB,aAAa,EAAE;YAC3D,MAAM,EAAE,MAAM;YACd,IAAI,EAAE,EAAE,OAAO,EAAE;YACjB,OAAO,EAAE,iBAAiB;SAC3B,CAAC,CAAC;IACL,CAAC;IAED,0DAA0D;IAC1D,KAAK,CAAC,eAAe,CAAC,OAAqB;QACzC,MAAM,IAAI,GAA2B,EAAE,IAAI,EAAE,OAAO,CAAC,IAAI,EAAE,CAAC;QAC5D,IAAI,OAAO,CAAC,KAAK;YAAE,IAAI,CAAC,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC;QAC9C,IAAI,OAAO,CAAC,OAAO;YAAE,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC;QAEpD,OAAO,IAAI,CAAC,MAAM,CAAC,OAAO,CAAqB,mBAAmB,EAAE;YAClE,MAAM,EAAE,MAAM;YACd,IAAI;YACJ,OAAO,EAAE,uBAAuB;SACjC,CAAC,CAAC;IACL,CAAC;IAED;;;;;;;;OAQG;IACH,KAAK,CAAC,iBAAiB,CACrB,SAAiB,EACjB,OAAmC,EAAE;QAErC,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,IAAI,KAAK,CAAC;QACpC,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC;YACjC,MAAM,IAAI,UAAU,CAClB,2BAA2B,MAAM,CAAC,MAAM,CAAC,uCAAuC,EAChF,0BAA0B,CAC3B,CAAC;QACJ,CAAC;QAED,MAAM,OAAO,GAA2B,EAAE,CAAC;QAC3C,IAAI,IAAI,CAAC,MAAM;YAAE,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC;QAE9C,OAAO,IAAI,CAAC,MAAM,CAAC,OAAO,CACxB,8BAA8B,kBAAkB,CAAC,SAAS,CAAC,WAAW,kBAAkB,CAAC,MAAM,CAAC,EAAE,EAClG;YACE,OAAO;YACP,OAAO,EAAE,0BAA0B;SACpC,CACF,CAAC;IACJ,CAAC;CACF"}
|