@skillbuilder/endpoints 0.0.0-stage → 0.0.6

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 CHANGED
@@ -1,3 +1,8 @@
1
- # Temporary Holding Version
1
+ # @skillbuilder/endpoints
2
2
 
3
- This version is a temporary placeholder for this package. An operational version to replace this has been submitted for review and is awaiting a staged release.
3
+ 集中维护 VectorX monorepo(Node 侧)各类业务域名与 endpoint,避免在各包里散落硬编码 URL。
4
+
5
+ ## 环境变量(兼容现有包)
6
+
7
+ - `AGENT_BUILD_ENV`: `development` | `sit` | `production`(用于 miniapp 相关域名选择)
8
+ - `OPEN_PLATFORM_STAGE`: `development` | `production`(用于 agentbase 相关域名选择)
@@ -0,0 +1,5 @@
1
+ export const CONSUMER_BASE_URL_SERVICE = {
2
+ "@skillbuilder/minitool-core": "miniapp",
3
+ "@skillbuilder/database-sdk": "miniapp",
4
+ "@skillbuilder/functions-framework": "agentbase",
5
+ };
@@ -0,0 +1,35 @@
1
+ export const MINIAPP_BASE_URL = "https://miniapp.xiaohongshu.com";
2
+ export const MINIAPP_BETA_BASE_URL = "https://miniapp.xiaohongshu.com";
3
+ export const MINIAPP_SIMULATOR_SERVICE_URL = "https://miniapp-sandbox.xiaohongshu.com/simulator/";
4
+ export const EDITH_BASE_URL = "https://edith.xiaohongshu.com";
5
+ export const AGENTBASE_BASE_URL_BY_STAGE = {
6
+ development: "https://agentbase-sandbox.xiaohongshu.com",
7
+ production: "https://agentbase.xiaohongshu.com",
8
+ };
9
+ export const APM_DATA_ENDPOINT = "https://apm-fe.xiaohongshu.com/api/data";
10
+ export const MODEL_SERVICE_CONFIG_BY_PROVIDER = {
11
+ bailian: {
12
+ name: "百炼 / DashScope(OpenAI-compatible,公网直连)",
13
+ endpoint: "https://dashscope.aliyuncs.com/compatible-mode/v1",
14
+ keyEnv: "DASHSCOPE_API_KEY",
15
+ protocol: "openai-compatible",
16
+ },
17
+ "runway-zhipu": {
18
+ name: "Runway 智谱 GLM 网关(内网;沙箱未放行公网时的兜底服务)",
19
+ endpoint: "https://runway.devops.xiaohongshu.com/openai/zhipu/paas/v4",
20
+ keyEnv: "RUNWAY_ZHIPU_API_KEY",
21
+ protocol: "openai-compatible",
22
+ },
23
+ anthropic: {
24
+ name: "Runway anthropic 网关(内网)",
25
+ endpoint: "https://runway.devops.rednote.life/openai/google/anthropic",
26
+ keyEnv: "RUNWAY_API_KEY",
27
+ protocol: "anthropic",
28
+ },
29
+ qs: {
30
+ name: "QuickSilver MaaS(OpenAI-compatible,内网)",
31
+ endpoint: "https://maas.devops.xiaohongshu.com/v1",
32
+ keyEnv: "QS_API_KEY",
33
+ protocol: "openai-compatible",
34
+ },
35
+ };
package/esm/index.js ADDED
@@ -0,0 +1,50 @@
1
+ import { CONSUMER_BASE_URL_SERVICE } from "./config/consumers";
2
+ import { AGENTBASE_BASE_URL_BY_STAGE, APM_DATA_ENDPOINT, EDITH_BASE_URL as EDITH_BASE_URL_CONFIG, MINIAPP_BASE_URL, MINIAPP_BETA_BASE_URL, MODEL_SERVICE_CONFIG_BY_PROVIDER, } from "./config/endpoints";
3
+ export { MODEL_SERVICE_CONFIG_BY_PROVIDER };
4
+ export { MINIAPP_SIMULATOR_SERVICE_URL } from "./config/endpoints";
5
+ export const EDITH_BASE_URL = EDITH_BASE_URL_CONFIG;
6
+ function trimTrailingSlash(url) {
7
+ return url.replace(/\/$/, "");
8
+ }
9
+ function resolveAgentbaseStage(env) {
10
+ const explicit = (env.OPEN_PLATFORM_STAGE || "").trim();
11
+ if (explicit === "development" || explicit === "production")
12
+ return explicit;
13
+ return "development";
14
+ }
15
+ export function getMiniappBaseUrl(env = process.env) {
16
+ return trimTrailingSlash(MINIAPP_BASE_URL);
17
+ }
18
+ export function getMiniappBetaBaseUrl(env = process.env) {
19
+ return trimTrailingSlash(MINIAPP_BETA_BASE_URL);
20
+ }
21
+ export function getAgentbaseBaseUrl(env = process.env) {
22
+ const stage = resolveAgentbaseStage(env);
23
+ return trimTrailingSlash(AGENTBASE_BASE_URL_BY_STAGE[stage]);
24
+ }
25
+ export function getApmDataEndpoint(env = process.env) {
26
+ return trimTrailingSlash(APM_DATA_ENDPOINT);
27
+ }
28
+ export function getModelServiceEndpoint(provider) {
29
+ return trimTrailingSlash(MODEL_SERVICE_CONFIG_BY_PROVIDER[provider].endpoint);
30
+ }
31
+ export function getBaseUrlByService(service, env = process.env) {
32
+ if (service === "miniapp")
33
+ return getMiniappBaseUrl(env);
34
+ if (service === "agentbase")
35
+ return getAgentbaseBaseUrl(env);
36
+ throw new Error(`@skillbuilder/endpoints: unknown baseUrl service: ${String(service)}`);
37
+ }
38
+ export function getBaseUrlByConsumer(consumer, env = process.env) {
39
+ const service = CONSUMER_BASE_URL_SERVICE[consumer];
40
+ return getBaseUrlByService(service, env);
41
+ }
42
+ export function resolveUrl(consumer, urlKey, env = process.env) {
43
+ if (urlKey === "baseUrl")
44
+ return getBaseUrlByConsumer(consumer, env);
45
+ if (urlKey === "betaBaseUrl")
46
+ return getMiniappBetaBaseUrl(env);
47
+ if (urlKey === "apmDataEndpoint")
48
+ return getApmDataEndpoint(env);
49
+ throw new Error(`@skillbuilder/endpoints: unknown urlKey: ${String(urlKey)} (consumer=${consumer})`);
50
+ }
package/esm/stages.js ADDED
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,8 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.CONSUMER_BASE_URL_SERVICE = void 0;
4
+ exports.CONSUMER_BASE_URL_SERVICE = {
5
+ "@skillbuilder/minitool-core": "miniapp",
6
+ "@skillbuilder/database-sdk": "miniapp",
7
+ "@skillbuilder/functions-framework": "agentbase",
8
+ };
@@ -0,0 +1,38 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.MODEL_SERVICE_CONFIG_BY_PROVIDER = exports.APM_DATA_ENDPOINT = exports.AGENTBASE_BASE_URL_BY_STAGE = exports.EDITH_BASE_URL = exports.MINIAPP_SIMULATOR_SERVICE_URL = exports.MINIAPP_BETA_BASE_URL = exports.MINIAPP_BASE_URL = void 0;
4
+ exports.MINIAPP_BASE_URL = "https://miniapp.xiaohongshu.com";
5
+ exports.MINIAPP_BETA_BASE_URL = "https://miniapp.xiaohongshu.com";
6
+ exports.MINIAPP_SIMULATOR_SERVICE_URL = "https://miniapp-sandbox.xiaohongshu.com/simulator/";
7
+ exports.EDITH_BASE_URL = "https://edith.xiaohongshu.com";
8
+ exports.AGENTBASE_BASE_URL_BY_STAGE = {
9
+ development: "https://agentbase-sandbox.xiaohongshu.com",
10
+ production: "https://agentbase.xiaohongshu.com",
11
+ };
12
+ exports.APM_DATA_ENDPOINT = "https://apm-fe.xiaohongshu.com/api/data";
13
+ exports.MODEL_SERVICE_CONFIG_BY_PROVIDER = {
14
+ bailian: {
15
+ name: "百炼 / DashScope(OpenAI-compatible,公网直连)",
16
+ endpoint: "https://dashscope.aliyuncs.com/compatible-mode/v1",
17
+ keyEnv: "DASHSCOPE_API_KEY",
18
+ protocol: "openai-compatible",
19
+ },
20
+ "runway-zhipu": {
21
+ name: "Runway 智谱 GLM 网关(内网;沙箱未放行公网时的兜底服务)",
22
+ endpoint: "https://runway.devops.xiaohongshu.com/openai/zhipu/paas/v4",
23
+ keyEnv: "RUNWAY_ZHIPU_API_KEY",
24
+ protocol: "openai-compatible",
25
+ },
26
+ anthropic: {
27
+ name: "Runway anthropic 网关(内网)",
28
+ endpoint: "https://runway.devops.rednote.life/openai/google/anthropic",
29
+ keyEnv: "RUNWAY_API_KEY",
30
+ protocol: "anthropic",
31
+ },
32
+ qs: {
33
+ name: "QuickSilver MaaS(OpenAI-compatible,内网)",
34
+ endpoint: "https://maas.devops.xiaohongshu.com/v1",
35
+ keyEnv: "QS_API_KEY",
36
+ protocol: "openai-compatible",
37
+ },
38
+ };
package/lib/index.js ADDED
@@ -0,0 +1,62 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.EDITH_BASE_URL = exports.MINIAPP_SIMULATOR_SERVICE_URL = exports.MODEL_SERVICE_CONFIG_BY_PROVIDER = void 0;
4
+ exports.getMiniappBaseUrl = getMiniappBaseUrl;
5
+ exports.getMiniappBetaBaseUrl = getMiniappBetaBaseUrl;
6
+ exports.getAgentbaseBaseUrl = getAgentbaseBaseUrl;
7
+ exports.getApmDataEndpoint = getApmDataEndpoint;
8
+ exports.getModelServiceEndpoint = getModelServiceEndpoint;
9
+ exports.getBaseUrlByService = getBaseUrlByService;
10
+ exports.getBaseUrlByConsumer = getBaseUrlByConsumer;
11
+ exports.resolveUrl = resolveUrl;
12
+ const consumers_1 = require("./config/consumers");
13
+ const endpoints_1 = require("./config/endpoints");
14
+ Object.defineProperty(exports, "MODEL_SERVICE_CONFIG_BY_PROVIDER", { enumerable: true, get: function () { return endpoints_1.MODEL_SERVICE_CONFIG_BY_PROVIDER; } });
15
+ var endpoints_2 = require("./config/endpoints");
16
+ Object.defineProperty(exports, "MINIAPP_SIMULATOR_SERVICE_URL", { enumerable: true, get: function () { return endpoints_2.MINIAPP_SIMULATOR_SERVICE_URL; } });
17
+ exports.EDITH_BASE_URL = endpoints_1.EDITH_BASE_URL;
18
+ function trimTrailingSlash(url) {
19
+ return url.replace(/\/$/, "");
20
+ }
21
+ function resolveAgentbaseStage(env) {
22
+ const explicit = (env.OPEN_PLATFORM_STAGE || "").trim();
23
+ if (explicit === "development" || explicit === "production")
24
+ return explicit;
25
+ return "development";
26
+ }
27
+ function getMiniappBaseUrl(env = process.env) {
28
+ return trimTrailingSlash(endpoints_1.MINIAPP_BASE_URL);
29
+ }
30
+ function getMiniappBetaBaseUrl(env = process.env) {
31
+ return trimTrailingSlash(endpoints_1.MINIAPP_BETA_BASE_URL);
32
+ }
33
+ function getAgentbaseBaseUrl(env = process.env) {
34
+ const stage = resolveAgentbaseStage(env);
35
+ return trimTrailingSlash(endpoints_1.AGENTBASE_BASE_URL_BY_STAGE[stage]);
36
+ }
37
+ function getApmDataEndpoint(env = process.env) {
38
+ return trimTrailingSlash(endpoints_1.APM_DATA_ENDPOINT);
39
+ }
40
+ function getModelServiceEndpoint(provider) {
41
+ return trimTrailingSlash(endpoints_1.MODEL_SERVICE_CONFIG_BY_PROVIDER[provider].endpoint);
42
+ }
43
+ function getBaseUrlByService(service, env = process.env) {
44
+ if (service === "miniapp")
45
+ return getMiniappBaseUrl(env);
46
+ if (service === "agentbase")
47
+ return getAgentbaseBaseUrl(env);
48
+ throw new Error(`@skillbuilder/endpoints: unknown baseUrl service: ${String(service)}`);
49
+ }
50
+ function getBaseUrlByConsumer(consumer, env = process.env) {
51
+ const service = consumers_1.CONSUMER_BASE_URL_SERVICE[consumer];
52
+ return getBaseUrlByService(service, env);
53
+ }
54
+ function resolveUrl(consumer, urlKey, env = process.env) {
55
+ if (urlKey === "baseUrl")
56
+ return getBaseUrlByConsumer(consumer, env);
57
+ if (urlKey === "betaBaseUrl")
58
+ return getMiniappBetaBaseUrl(env);
59
+ if (urlKey === "apmDataEndpoint")
60
+ return getApmDataEndpoint(env);
61
+ throw new Error(`@skillbuilder/endpoints: unknown urlKey: ${String(urlKey)} (consumer=${consumer})`);
62
+ }
package/lib/stages.js ADDED
@@ -0,0 +1,2 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
package/package.json CHANGED
@@ -1,6 +1,26 @@
1
1
  {
2
2
  "name": "@skillbuilder/endpoints",
3
- "version": "0.0.0-stage",
4
- "stub": true,
5
- "description": "Temporary package placeholder for staged publishing"
6
- }
3
+ "version": "0.0.6",
4
+ "description": "Centralized service endpoints for the VectorX monorepo",
5
+ "main": "lib/index.js",
6
+ "module": "esm/index.js",
7
+ "types": "types/index.d.ts",
8
+ "sideEffects": false,
9
+ "files": [
10
+ "lib",
11
+ "esm",
12
+ "types",
13
+ "README.md"
14
+ ],
15
+ "keywords": [
16
+ "endpoints",
17
+ "config",
18
+ "nodejs",
19
+ "vectorx"
20
+ ],
21
+ "author": "",
22
+ "license": "ISC",
23
+ "engines": {
24
+ "node": ">=20.0.0"
25
+ }
26
+ }
@@ -0,0 +1,3 @@
1
+ export type VectorxConsumerPackage = "@skillbuilder/minitool-core" | "@skillbuilder/database-sdk" | "@skillbuilder/functions-framework";
2
+ export type VectorxBaseUrlService = "miniapp" | "agentbase";
3
+ export declare const CONSUMER_BASE_URL_SERVICE: Record<VectorxConsumerPackage, VectorxBaseUrlService>;
@@ -0,0 +1,40 @@
1
+ import type { AgentbaseStage } from "../stages";
2
+ export declare const MINIAPP_BASE_URL = "https://miniapp.xiaohongshu.com";
3
+ export declare const MINIAPP_BETA_BASE_URL = "https://miniapp.xiaohongshu.com";
4
+ export declare const MINIAPP_SIMULATOR_SERVICE_URL = "https://miniapp-sandbox.xiaohongshu.com/simulator/";
5
+ export declare const EDITH_BASE_URL = "https://edith.xiaohongshu.com";
6
+ export declare const AGENTBASE_BASE_URL_BY_STAGE: Record<AgentbaseStage, string>;
7
+ export declare const APM_DATA_ENDPOINT = "https://apm-fe.xiaohongshu.com/api/data";
8
+ export type ModelServiceProtocol = "openai-compatible" | "anthropic";
9
+ export interface ModelServiceConfig {
10
+ name: string;
11
+ endpoint: string;
12
+ keyEnv: string;
13
+ protocol: ModelServiceProtocol;
14
+ }
15
+ export declare const MODEL_SERVICE_CONFIG_BY_PROVIDER: {
16
+ readonly bailian: {
17
+ readonly name: "百炼 / DashScope(OpenAI-compatible,公网直连)";
18
+ readonly endpoint: "https://dashscope.aliyuncs.com/compatible-mode/v1";
19
+ readonly keyEnv: "DASHSCOPE_API_KEY";
20
+ readonly protocol: "openai-compatible";
21
+ };
22
+ readonly "runway-zhipu": {
23
+ readonly name: "Runway 智谱 GLM 网关(内网;沙箱未放行公网时的兜底服务)";
24
+ readonly endpoint: "https://runway.devops.xiaohongshu.com/openai/zhipu/paas/v4";
25
+ readonly keyEnv: "RUNWAY_ZHIPU_API_KEY";
26
+ readonly protocol: "openai-compatible";
27
+ };
28
+ readonly anthropic: {
29
+ readonly name: "Runway anthropic 网关(内网)";
30
+ readonly endpoint: "https://runway.devops.rednote.life/openai/google/anthropic";
31
+ readonly keyEnv: "RUNWAY_API_KEY";
32
+ readonly protocol: "anthropic";
33
+ };
34
+ readonly qs: {
35
+ readonly name: "QuickSilver MaaS(OpenAI-compatible,内网)";
36
+ readonly endpoint: "https://maas.devops.xiaohongshu.com/v1";
37
+ readonly keyEnv: "QS_API_KEY";
38
+ readonly protocol: "openai-compatible";
39
+ };
40
+ };
@@ -0,0 +1,18 @@
1
+ import type { VectorxBaseUrlService, VectorxConsumerPackage } from "./config/consumers";
2
+ import { MODEL_SERVICE_CONFIG_BY_PROVIDER } from "./config/endpoints";
3
+ import type { ModelServiceConfig, ModelServiceProtocol } from "./config/endpoints";
4
+ export type { AgentbaseStage, MiniappStage } from "./stages";
5
+ export type { ModelServiceConfig, ModelServiceProtocol, VectorxBaseUrlService, VectorxConsumerPackage, };
6
+ export type ModelServiceProvider = keyof typeof MODEL_SERVICE_CONFIG_BY_PROVIDER;
7
+ export { MODEL_SERVICE_CONFIG_BY_PROVIDER };
8
+ export { MINIAPP_SIMULATOR_SERVICE_URL } from "./config/endpoints";
9
+ export declare const EDITH_BASE_URL = "https://edith.xiaohongshu.com";
10
+ export type VectorxUrlKey = "baseUrl" | "betaBaseUrl" | "apmDataEndpoint";
11
+ export declare function getMiniappBaseUrl(env?: NodeJS.ProcessEnv): string;
12
+ export declare function getMiniappBetaBaseUrl(env?: NodeJS.ProcessEnv): string;
13
+ export declare function getAgentbaseBaseUrl(env?: NodeJS.ProcessEnv): string;
14
+ export declare function getApmDataEndpoint(env?: NodeJS.ProcessEnv): string;
15
+ export declare function getModelServiceEndpoint(provider: ModelServiceProvider): string;
16
+ export declare function getBaseUrlByService(service: VectorxBaseUrlService, env?: NodeJS.ProcessEnv): string;
17
+ export declare function getBaseUrlByConsumer(consumer: VectorxConsumerPackage, env?: NodeJS.ProcessEnv): string;
18
+ export declare function resolveUrl(consumer: VectorxConsumerPackage, urlKey: VectorxUrlKey, env?: NodeJS.ProcessEnv): string;
@@ -0,0 +1,2 @@
1
+ export type MiniappStage = "development" | "sit" | "production";
2
+ export type AgentbaseStage = "development" | "production";