refactor: session ID 统一由 auth-cli.ts 生成
register-skill-release / register (push) Successful in 21s
Details
register-skill-release / register (push) Successful in 21s
Details
- scripts/run.ts: 移除重复的 session ID 自动生成逻辑 - src/auth-cli.ts: 同步自 auth-runtime(模块级 SKILL_SESSION_ID) Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
This commit is contained in:
parent
a95f9045e5
commit
a6b4f99a83
|
|
@ -93,17 +93,7 @@ async function main(): Promise<void> {
|
||||||
if (positionals.length < 1) { printUsage(); process.exit(1); }
|
if (positionals.length < 1) { printUsage(); process.exit(1); }
|
||||||
|
|
||||||
const command = positionals[0] as Command;
|
const command = positionals[0] as Command;
|
||||||
|
const sessionId = process.env.SKILL_SESSION_ID!; // set by auth-cli.ts at module load
|
||||||
// Resolve session ID: explicit CLI arg > env > auto-generate structured ID
|
|
||||||
const sessionId = process.env.SKILL_SESSION_ID || (() => {
|
|
||||||
const ts = new Date();
|
|
||||||
const pad = (n: number) => String(n).padStart(2, '0');
|
|
||||||
const tsPart = `${ts.getFullYear()}${pad(ts.getMonth()+1)}${pad(ts.getDate())}-${pad(ts.getHours())}${pad(ts.getMinutes())}${pad(ts.getSeconds())}`;
|
|
||||||
const rand = Math.random().toString(36).slice(2, 6);
|
|
||||||
return `vps-${tsPart}-${rand}`;
|
|
||||||
})();
|
|
||||||
process.env.SKILL_SESSION_ID = sessionId;
|
|
||||||
|
|
||||||
const startMs = Date.now();
|
const startMs = Date.now();
|
||||||
let result: Awaited<ReturnType<typeof run>>;
|
let result: Awaited<ReturnType<typeof run>>;
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -20,6 +20,18 @@ import * as path from 'path';
|
||||||
import * as os from 'os';
|
import * as os from 'os';
|
||||||
|
|
||||||
const home = process.env.HOME || os.homedir();
|
const home = process.env.HOME || os.homedir();
|
||||||
|
|
||||||
|
// ── session ID (Langfuse tracing) ──
|
||||||
|
// Priority: SKILL_SESSION_ID env > auto-generate
|
||||||
|
const SESSION_ID = process.env.SKILL_SESSION_ID || (() => {
|
||||||
|
const ts = new Date();
|
||||||
|
const pad = (n: number) => String(n).padStart(2, '0');
|
||||||
|
const tsPart = `${ts.getFullYear()}${pad(ts.getMonth()+1)}${pad(ts.getDate())}-${pad(ts.getHours())}${pad(ts.getMinutes())}${pad(ts.getSeconds())}`;
|
||||||
|
const rand = Math.random().toString(36).slice(2, 6);
|
||||||
|
return `skill-${tsPart}-${rand}`;
|
||||||
|
})();
|
||||||
|
process.env.SKILL_SESSION_ID = SESSION_ID;
|
||||||
|
|
||||||
const AUTH_RT_BIN = process.env.AUTH_RT_BIN
|
const AUTH_RT_BIN = process.env.AUTH_RT_BIN
|
||||||
|| (() => {
|
|| (() => {
|
||||||
// Check if auth-rt is in PATH
|
// Check if auth-rt is in PATH
|
||||||
|
|
@ -43,20 +55,6 @@ export interface SessionResponse {
|
||||||
hookToken?: string;
|
hookToken?: string;
|
||||||
}
|
}
|
||||||
|
|
||||||
export interface ClientConfig {
|
|
||||||
clientId: string;
|
|
||||||
name: string;
|
|
||||||
status: string;
|
|
||||||
metadata: {
|
|
||||||
provider?: {
|
|
||||||
api_key?: string;
|
|
||||||
base_url?: string;
|
|
||||||
model?: string;
|
|
||||||
};
|
|
||||||
[key: string]: unknown;
|
|
||||||
};
|
|
||||||
}
|
|
||||||
|
|
||||||
export interface SkillClientOptions {
|
export interface SkillClientOptions {
|
||||||
apiBase?: string;
|
apiBase?: string;
|
||||||
dryRun?: boolean;
|
dryRun?: boolean;
|
||||||
|
|
@ -93,13 +91,6 @@ export class SkillClient {
|
||||||
return JSON.parse(runCli('session'));
|
return JSON.parse(runCli('session'));
|
||||||
}
|
}
|
||||||
|
|
||||||
async clientConfig(): Promise<ClientConfig> {
|
|
||||||
if (this.dryRun) {
|
|
||||||
return { clientId: '<dry-run>', name: '<dry-run>', status: 'active', metadata: {} };
|
|
||||||
}
|
|
||||||
return JSON.parse(runCli('client-config'));
|
|
||||||
}
|
|
||||||
|
|
||||||
async get(urlPath: string): Promise<ApiResponse> {
|
async get(urlPath: string): Promise<ApiResponse> {
|
||||||
return this.request('GET', urlPath);
|
return this.request('GET', urlPath);
|
||||||
}
|
}
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue