@taco_tsinghua/graphnode-sdk 0.1.21 → 0.1.23

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/client.js CHANGED
@@ -1,5 +1,5 @@
1
1
  import { createRequestBuilder, RequestBuilder } from './http-builder.js';
2
- import { GRAPHNODE_BASE_URL } from './config.js';
2
+ import { getGraphNodeBaseUrl } from './config.js';
3
3
  import { HealthApi } from './endpoints/health.js';
4
4
  import { MeApi } from './endpoints/me.js';
5
5
  import { ConversationsApi } from './endpoints/conversations.js';
@@ -62,7 +62,7 @@ export class GraphNodeClient {
62
62
  // 여기서 accessToken을 '함수' 형태로 넘기는 이유는,
63
63
  // 나중에 setAccessToken()으로 값이 바뀌었을 때, RequestBuilder가 최신 값을 참조할 수 있게 하기 위함입니다.
64
64
  this.rb = createRequestBuilder({
65
- baseUrl: GRAPHNODE_BASE_URL,
65
+ baseUrl: getGraphNodeBaseUrl(),
66
66
  ...opts,
67
67
  fetch: fetchFn, // 결정된 fetch 함수 주입
68
68
  accessToken: () => this._accessToken, // [중요] 동적 토큰 참조를 위한 Getter 함수 전달
@@ -72,11 +72,11 @@ export class GraphNodeClient {
72
72
  this.health = new HealthApi(this.rb);
73
73
  this.me = new MeApi(this.rb);
74
74
  this.conversations = new ConversationsApi(this.rb);
75
- this.googleAuth = new GoogleAuthApi(GRAPHNODE_BASE_URL);
75
+ this.googleAuth = new GoogleAuthApi(getGraphNodeBaseUrl());
76
76
  this.graph = new GraphApi(this.rb);
77
77
  this.graphAi = new GraphAiApi(this.rb);
78
78
  this.note = new NoteApi(this.rb);
79
- this.appleAuth = new AppleAuthApi(GRAPHNODE_BASE_URL);
79
+ this.appleAuth = new AppleAuthApi(getGraphNodeBaseUrl());
80
80
  this.sync = new SyncApi(this.rb);
81
81
  this.ai = new AiApi(this.rb);
82
82
  this.notification = new NotificationApi(this.rb);
@@ -1 +1 @@
1
- {"version":3,"file":"client.js","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"client.js","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"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"}
package/dist/config.d.ts CHANGED
@@ -1,9 +1,13 @@
1
1
  /**
2
- * SDK 내부에서 사용하는 GraphNode API Base URL.
3
- * - FE 사용자는 직접 변경하거나 전달할 수 없다.
2
+ * SDK 내부에서 사용하는 GraphNode API Base URL을 반환하는 함수.
4
3
  * - 런타임에서 globalThis.__GRAPHNODE_BASE_URL__ 가 존재하면 그것을 우선 사용.
5
4
  * - 없으면 기본 프로덕션 값으로 폴백.
5
+ * - 함수로 만들어서 매번 동적으로 평가되도록 함
6
6
  * @public
7
7
  */
8
+ export declare function getGraphNodeBaseUrl(): string;
9
+ /**
10
+ * @deprecated Use getGraphNodeBaseUrl() instead for dynamic evaluation
11
+ */
8
12
  export declare const GRAPHNODE_BASE_URL: string;
9
13
  //# sourceMappingURL=config.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AACH,eAAO,MAAM,kBAAkB,EAAE,MACkE,CAAC"}
1
+ {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AACH,wBAAgB,mBAAmB,IAAI,MAAM,CAG5C;AAED;;GAEG;AACH,eAAO,MAAM,kBAAkB,EAAE,MAA8B,CAAC"}
package/dist/config.js CHANGED
@@ -1,9 +1,16 @@
1
1
  /**
2
- * SDK 내부에서 사용하는 GraphNode API Base URL.
3
- * - FE 사용자는 직접 변경하거나 전달할 수 없다.
2
+ * SDK 내부에서 사용하는 GraphNode API Base URL을 반환하는 함수.
4
3
  * - 런타임에서 globalThis.__GRAPHNODE_BASE_URL__ 가 존재하면 그것을 우선 사용.
5
4
  * - 없으면 기본 프로덕션 값으로 폴백.
5
+ * - 함수로 만들어서 매번 동적으로 평가되도록 함
6
6
  * @public
7
7
  */
8
- export const GRAPHNODE_BASE_URL = globalThis.__GRAPHNODE_BASE_URL__?.replace(/\/$/, '') || 'https://taco4graphnode.online';
8
+ export function getGraphNodeBaseUrl() {
9
+ const url = globalThis.__GRAPHNODE_BASE_URL__ || 'https://taco4graphnode.online';
10
+ return url.replace(/\/$/, '');
11
+ }
12
+ /**
13
+ * @deprecated Use getGraphNodeBaseUrl() instead for dynamic evaluation
14
+ */
15
+ export const GRAPHNODE_BASE_URL = getGraphNodeBaseUrl();
9
16
  //# sourceMappingURL=config.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"config.js","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AACH,MAAM,CAAC,MAAM,kBAAkB,GAC5B,UAAkB,CAAC,sBAAsB,EAAE,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,IAAI,+BAA+B,CAAC"}
1
+ {"version":3,"file":"config.js","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AACH,MAAM,UAAU,mBAAmB;IACjC,MAAM,GAAG,GAAI,UAAkB,CAAC,sBAAsB,IAAI,+BAA+B,CAAC;IAC1F,OAAO,GAAG,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;AAChC,CAAC;AAED;;GAEG;AACH,MAAM,CAAC,MAAM,kBAAkB,GAAW,mBAAmB,EAAE,CAAC"}
@@ -1,6 +1,6 @@
1
1
  // endpoints/agent.ts
2
2
  import {} from '../http-builder.js';
3
- import { GRAPHNODE_BASE_URL } from '../config.js';
3
+ import { getGraphNodeBaseUrl } from '../config.js';
4
4
  /**
5
5
  * /v1/agent/chat/stream 스트리밍 API를 여는 헬퍼.
6
6
  * - 서버는 text/event-stream(SSE) 형식으로 event/data 를 보낸다.
@@ -34,7 +34,7 @@ export async function openAgentChatStream(params, onEvent, options = {}) {
34
34
  }
35
35
  }
36
36
  const fetchImpl = fetchFn;
37
- const url = `${GRAPHNODE_BASE_URL.replace(/\/$/, '')}/v1/agent/chat/stream`;
37
+ const url = `${getGraphNodeBaseUrl()}/v1/agent/chat/stream`;
38
38
  const res = await fetchImpl(url, {
39
39
  method: 'POST',
40
40
  headers: {
@@ -1 +1 @@
1
- {"version":3,"file":"agent.js","sourceRoot":"","sources":["../../src/endpoints/agent.ts"],"names":[],"mappings":"AAAA,qBAAqB;AACrB,OAAO,EAAkB,MAAM,oBAAoB,CAAC;AACpD,OAAO,EAAE,kBAAkB,EAAE,MAAM,cAAc,CAAC;AA8ClD;;;;;;GAMG;AACH,MAAM,CAAC,KAAK,UAAU,mBAAmB,CACvC,MAA6B,EAC7B,OAA+B,EAC/B,UAAkC,EAAE;IAEpC,MAAM,UAAU,GAAG,IAAI,eAAe,EAAE,CAAC;IACzC,MAAM,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAE9B,2DAA2D;IAC3D,IAAI,MAAM,EAAE,CAAC;QACX,IAAI,MAAM,CAAC,OAAO,EAAE,CAAC;YACnB,UAAU,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;YAChC,OAAO,GAAG,EAAE,CAAC,UAAU,CAAC,KAAK,EAAE,CAAC;QAClC,CAAC;QACD,MAAM,CAAC,gBAAgB,CAAC,OAAO,EAAE,GAAG,EAAE;YACpC,UAAU,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;QAClC,CAAC,CAAC,CAAC;IACL,CAAC;IAED,IAAI,OAAO,GAA0B,OAAO,CAAC,SAAS,CAAC;IACvD,IAAI,CAAC,OAAO,EAAE,CAAC;QACb,IAAI,OAAO,MAAM,KAAK,WAAW,IAAI,MAAM,CAAC,KAAK,EAAE,CAAC;YAClD,OAAO,GAAG,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QACtC,CAAC;aAAM,IAAI,OAAO,UAAU,KAAK,WAAW,IAAK,UAAkB,CAAC,KAAK,EAAE,CAAC;YAC1E,OAAO,GAAI,UAAkB,CAAC,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QACvD,CAAC;aAAM,CAAC;YACN,MAAM,IAAI,KAAK,CAAC,wEAAwE,CAAC,CAAC;QAC5F,CAAC;IACH,CAAC;IAED,MAAM,SAAS,GAAG,OAAoB,CAAC;IAEvC,MAAM,GAAG,GAAG,GAAG,kBAAkB,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,uBAAuB,CAAC;IAE5E,MAAM,GAAG,GAAG,MAAM,SAAS,CAAC,GAAG,EAAE;QAC/B,MAAM,EAAE,MAAM;QACd,OAAO,EAAE;YACP,cAAc,EAAE,kBAAkB;YAClC,MAAM,EAAE,mBAAmB;SAC5B;QACD,WAAW,EAAE,SAAS;QACtB,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC;QAC5B,MAAM,EAAE,UAAU,CAAC,MAAM;KACX,CAAC,CAAC;IAElB,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC;QACd,WAAW;QACX,OAAO,GAAG,EAAE,CAAC,UAAU,CAAC,KAAK,EAAE,CAAC;IAClC,CAAC;IAED,MAAM,MAAM,GAAI,GAAG,CAAC,IAAmC,CAAC,SAAS,EAAE,CAAC;IACpE,MAAM,OAAO,GAAG,IAAI,WAAW,EAAE,CAAC;IAClC,IAAI,MAAM,GAAG,EAAE,CAAC;IAEhB,CAAC,KAAK,IAAI,EAAE;QACV,IAAI,CAAC;YACH,OAAO,IAAI,EAAE,CAAC;gBACZ,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,MAAM,MAAM,CAAC,IAAI,EAAE,CAAC;gBAC5C,IAAI,IAAI;oBAAE,MAAM;gBAChB,MAAM,IAAI,OAAO,CAAC,MAAM,CAAC,KAAK,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC;gBAElD,0CAA0C;gBAC1C,IAAI,GAAW,CAAC;gBAChB,6BAA6B;gBAC7B,OAAO,CAAC,GAAG,GAAG,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC;oBAC7C,MAAM,QAAQ,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;oBACtC,MAAM,GAAG,MAAM,CAAC,KAAK,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC;oBAE/B,MAAM,KAAK,GAAG,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;oBACnC,IAAI,SAAS,GAAG,SAAS,CAAC;oBAC1B,IAAI,SAAS,GAAa,EAAE,CAAC;oBAE7B,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;wBACzB,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC;wBAC5B,IAAI,OAAO,CAAC,UAAU,CAAC,QAAQ,CAAC,EAAE,CAAC;4BACjC,SAAS,GAAG,OAAO,CAAC,KAAK,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,CAAC;wBACpD,CAAC;6BAAM,IAAI,OAAO,CAAC,UAAU,CAAC,OAAO,CAAC,EAAE,CAAC;4BACvC,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC;wBACvD,CAAC;oBACH,CAAC;oBAED,MAAM,OAAO,GAAG,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC;oBAC7C,IAAI,MAAW,CAAC;oBAChB,IAAI,CAAC;wBACH,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;oBAC/B,CAAC;oBAAC,MAAM,CAAC;wBACP,MAAM,GAAG,EAAE,GAAG,EAAE,OAAO,EAAE,CAAC;oBAC5B,CAAC;oBAED,oBAAoB;oBACpB,IAAI,SAAS,KAAK,QAAQ,EAAE,CAAC;wBAC3B,OAAO,CAAC,EAAE,KAAK,EAAE,QAAQ,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC,CAAC;oBAC7C,CAAC;yBAAM,IAAI,SAAS,KAAK,OAAO,EAAE,CAAC;wBACjC,OAAO,CAAC,EAAE,KAAK,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC,CAAC;oBAC5C,CAAC;yBAAM,IAAI,SAAS,KAAK,QAAQ,EAAE,CAAC;wBAClC,OAAO,CAAC,EAAE,KAAK,EAAE,QAAQ,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC,CAAC;oBAC7C,CAAC;yBAAM,IAAI,SAAS,KAAK,OAAO,EAAE,CAAC;wBACjC,OAAO,CAAC,EAAE,KAAK,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC,CAAC;oBAC5C,CAAC;yBAAM,CAAC;wBACN,kCAAkC;wBAClC,OAAO,CAAC,EAAE,KAAK,EAAE,QAAQ,EAAE,IAAI,EAAE,EAAE,KAAK,EAAE,SAAS,EAAE,OAAO,EAAE,OAAO,EAAE,EAAE,CAAC,CAAC;oBAC7E,CAAC;gBACH,CAAC;YACH,CAAC;QACH,CAAC;QAAC,OAAO,CAAM,EAAE,CAAC;YAChB,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;gBAC/B,OAAO,CAAC;oBACN,KAAK,EAAE,OAAO;oBACd,IAAI,EAAE,EAAE,OAAO,EAAE,CAAC,EAAE,OAAO,IAAI,cAAc,EAAE;iBAChD,CAAC,CAAC;YACL,CAAC;QACH,CAAC;IACH,CAAC,CAAC,EAAE,CAAC;IAEL,OAAO,GAAG,EAAE,CAAC,UAAU,CAAC,KAAK,EAAE,CAAC;AAClC,CAAC"}
1
+ {"version":3,"file":"agent.js","sourceRoot":"","sources":["../../src/endpoints/agent.ts"],"names":[],"mappings":"AAAA,qBAAqB;AACrB,OAAO,EAAkB,MAAM,oBAAoB,CAAC;AACpD,OAAO,EAAE,mBAAmB,EAAE,MAAM,cAAc,CAAC;AA8CnD;;;;;;GAMG;AACH,MAAM,CAAC,KAAK,UAAU,mBAAmB,CACvC,MAA6B,EAC7B,OAA+B,EAC/B,UAAkC,EAAE;IAEpC,MAAM,UAAU,GAAG,IAAI,eAAe,EAAE,CAAC;IACzC,MAAM,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAE9B,2DAA2D;IAC3D,IAAI,MAAM,EAAE,CAAC;QACX,IAAI,MAAM,CAAC,OAAO,EAAE,CAAC;YACnB,UAAU,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;YAChC,OAAO,GAAG,EAAE,CAAC,UAAU,CAAC,KAAK,EAAE,CAAC;QAClC,CAAC;QACD,MAAM,CAAC,gBAAgB,CAAC,OAAO,EAAE,GAAG,EAAE;YACpC,UAAU,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;QAClC,CAAC,CAAC,CAAC;IACL,CAAC;IAED,IAAI,OAAO,GAA0B,OAAO,CAAC,SAAS,CAAC;IACvD,IAAI,CAAC,OAAO,EAAE,CAAC;QACb,IAAI,OAAO,MAAM,KAAK,WAAW,IAAI,MAAM,CAAC,KAAK,EAAE,CAAC;YAClD,OAAO,GAAG,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QACtC,CAAC;aAAM,IAAI,OAAO,UAAU,KAAK,WAAW,IAAK,UAAkB,CAAC,KAAK,EAAE,CAAC;YAC1E,OAAO,GAAI,UAAkB,CAAC,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QACvD,CAAC;aAAM,CAAC;YACN,MAAM,IAAI,KAAK,CAAC,wEAAwE,CAAC,CAAC;QAC5F,CAAC;IACH,CAAC;IAED,MAAM,SAAS,GAAG,OAAoB,CAAC;IAEvC,MAAM,GAAG,GAAG,GAAG,mBAAmB,EAAE,uBAAuB,CAAC;IAE5D,MAAM,GAAG,GAAG,MAAM,SAAS,CAAC,GAAG,EAAE;QAC/B,MAAM,EAAE,MAAM;QACd,OAAO,EAAE;YACP,cAAc,EAAE,kBAAkB;YAClC,MAAM,EAAE,mBAAmB;SAC5B;QACD,WAAW,EAAE,SAAS;QACtB,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC;QAC5B,MAAM,EAAE,UAAU,CAAC,MAAM;KACX,CAAC,CAAC;IAElB,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC;QACd,WAAW;QACX,OAAO,GAAG,EAAE,CAAC,UAAU,CAAC,KAAK,EAAE,CAAC;IAClC,CAAC;IAED,MAAM,MAAM,GAAI,GAAG,CAAC,IAAmC,CAAC,SAAS,EAAE,CAAC;IACpE,MAAM,OAAO,GAAG,IAAI,WAAW,EAAE,CAAC;IAClC,IAAI,MAAM,GAAG,EAAE,CAAC;IAEhB,CAAC,KAAK,IAAI,EAAE;QACV,IAAI,CAAC;YACH,OAAO,IAAI,EAAE,CAAC;gBACZ,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,MAAM,MAAM,CAAC,IAAI,EAAE,CAAC;gBAC5C,IAAI,IAAI;oBAAE,MAAM;gBAChB,MAAM,IAAI,OAAO,CAAC,MAAM,CAAC,KAAK,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC;gBAElD,0CAA0C;gBAC1C,IAAI,GAAW,CAAC;gBAChB,6BAA6B;gBAC7B,OAAO,CAAC,GAAG,GAAG,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC;oBAC7C,MAAM,QAAQ,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;oBACtC,MAAM,GAAG,MAAM,CAAC,KAAK,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC;oBAE/B,MAAM,KAAK,GAAG,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;oBACnC,IAAI,SAAS,GAAG,SAAS,CAAC;oBAC1B,IAAI,SAAS,GAAa,EAAE,CAAC;oBAE7B,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;wBACzB,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC;wBAC5B,IAAI,OAAO,CAAC,UAAU,CAAC,QAAQ,CAAC,EAAE,CAAC;4BACjC,SAAS,GAAG,OAAO,CAAC,KAAK,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,CAAC;wBACpD,CAAC;6BAAM,IAAI,OAAO,CAAC,UAAU,CAAC,OAAO,CAAC,EAAE,CAAC;4BACvC,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC;wBACvD,CAAC;oBACH,CAAC;oBAED,MAAM,OAAO,GAAG,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC;oBAC7C,IAAI,MAAW,CAAC;oBAChB,IAAI,CAAC;wBACH,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;oBAC/B,CAAC;oBAAC,MAAM,CAAC;wBACP,MAAM,GAAG,EAAE,GAAG,EAAE,OAAO,EAAE,CAAC;oBAC5B,CAAC;oBAED,oBAAoB;oBACpB,IAAI,SAAS,KAAK,QAAQ,EAAE,CAAC;wBAC3B,OAAO,CAAC,EAAE,KAAK,EAAE,QAAQ,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC,CAAC;oBAC7C,CAAC;yBAAM,IAAI,SAAS,KAAK,OAAO,EAAE,CAAC;wBACjC,OAAO,CAAC,EAAE,KAAK,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC,CAAC;oBAC5C,CAAC;yBAAM,IAAI,SAAS,KAAK,QAAQ,EAAE,CAAC;wBAClC,OAAO,CAAC,EAAE,KAAK,EAAE,QAAQ,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC,CAAC;oBAC7C,CAAC;yBAAM,IAAI,SAAS,KAAK,OAAO,EAAE,CAAC;wBACjC,OAAO,CAAC,EAAE,KAAK,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC,CAAC;oBAC5C,CAAC;yBAAM,CAAC;wBACN,kCAAkC;wBAClC,OAAO,CAAC,EAAE,KAAK,EAAE,QAAQ,EAAE,IAAI,EAAE,EAAE,KAAK,EAAE,SAAS,EAAE,OAAO,EAAE,OAAO,EAAE,EAAE,CAAC,CAAC;oBAC7E,CAAC;gBACH,CAAC;YACH,CAAC;QACH,CAAC;QAAC,OAAO,CAAM,EAAE,CAAC;YAChB,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;gBAC/B,OAAO,CAAC;oBACN,KAAK,EAAE,OAAO;oBACd,IAAI,EAAE,EAAE,OAAO,EAAE,CAAC,EAAE,OAAO,IAAI,cAAc,EAAE;iBAChD,CAAC,CAAC;YACL,CAAC;QACH,CAAC;IACH,CAAC,CAAC,EAAE,CAAC;IAEL,OAAO,GAAG,EAAE,CAAC,UAAU,CAAC,KAAK,EAAE,CAAC;AAClC,CAAC"}
@@ -92,5 +92,31 @@ export declare class GraphAiApi {
92
92
  * @returns The graph summary DTO
93
93
  */
94
94
  getSummary(): Promise<HttpResponse<GraphSummaryDto>>;
95
+ /**
96
+ * 단일 대화를 기존 지식 그래프에 추가합니다.
97
+ *
98
+ * 이 작업은 서버에서 비동기 백그라운드 작업으로 수행됩니다.
99
+ * 대화를 분석하여 Q-A 쌍을 추출하고, 클러스터링을 수행한 뒤,
100
+ * 기존 노드와의 유사도를 계산하여 새로운 노드와 엣지를 생성합니다.
101
+ *
102
+ * **API Endpoint**: `POST /v1/graph-ai/add-conversation/:conversationId`
103
+ *
104
+ * @param conversationId - 그래프에 추가할 대화 ID
105
+ * @returns 작업 ID와 상태를 포함한 응답 객체 (`GraphGenerationResponseDto`)
106
+ *
107
+ * @example
108
+ * ```typescript
109
+ * const response = await client.graphAi.addConversation('conv-uuid-123');
110
+ *
111
+ * console.log(response.data);
112
+ * // Output:
113
+ * {
114
+ * message: 'Add conversation to graph queued',
115
+ * taskId: 'task_add_conv_user123_01HJKM...',
116
+ * status: 'queued'
117
+ * }
118
+ * ```
119
+ */
120
+ addConversation(conversationId: string): Promise<HttpResponse<GraphGenerationResponseDto>>;
95
121
  }
96
122
  //# sourceMappingURL=graphAi.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"graphAi.d.ts","sourceRoot":"","sources":["../../src/endpoints/graphAi.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,KAAK,YAAY,EAAE,MAAM,oBAAoB,CAAC;AACvE,OAAO,KAAK,EAAE,0BAA0B,EAAE,MAAM,qBAAqB,CAAC;AACtE,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACzD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAEvD;;;;;;;;;;;GAWG;AACH,qBAAa,UAAU;IACrB,OAAO,CAAC,QAAQ,CAAC,EAAE,CAAiB;IAEpC;;;;OAIG;gBACS,EAAE,EAAE,cAAc;IAI9B;;;;;;;;;;;;;;;;;;;;;;;OAuBG;IACG,aAAa,IAAI,OAAO,CAAC,YAAY,CAAC,0BAA0B,CAAC,CAAC;IAIxE;;;;;;;;;;;;;;;;;;;;;;;OAuBG;IACG,iBAAiB,CAAC,IAAI,EAAE,WAAW,EAAE,GAAG,OAAO,CAAC,YAAY,CAAC,0BAA0B,CAAC,CAAC;IAI/F;;;;;;;;OAQG;IACG,cAAc,IAAI,OAAO,CAAC,YAAY,CAAC,0BAA0B,CAAC,CAAC;IAIzE;;;;;;;;OAQG;IACG,UAAU,IAAI,OAAO,CAAC,YAAY,CAAC,eAAe,CAAC,CAAC;CAG3D"}
1
+ {"version":3,"file":"graphAi.d.ts","sourceRoot":"","sources":["../../src/endpoints/graphAi.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,KAAK,YAAY,EAAE,MAAM,oBAAoB,CAAC;AACvE,OAAO,KAAK,EAAE,0BAA0B,EAAE,MAAM,qBAAqB,CAAC;AACtE,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACzD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAEvD;;;;;;;;;;;GAWG;AACH,qBAAa,UAAU;IACrB,OAAO,CAAC,QAAQ,CAAC,EAAE,CAAiB;IAEpC;;;;OAIG;gBACS,EAAE,EAAE,cAAc;IAI9B;;;;;;;;;;;;;;;;;;;;;;;OAuBG;IACG,aAAa,IAAI,OAAO,CAAC,YAAY,CAAC,0BAA0B,CAAC,CAAC;IAIxE;;;;;;;;;;;;;;;;;;;;;;;OAuBG;IACG,iBAAiB,CAAC,IAAI,EAAE,WAAW,EAAE,GAAG,OAAO,CAAC,YAAY,CAAC,0BAA0B,CAAC,CAAC;IAI/F;;;;;;;;OAQG;IACG,cAAc,IAAI,OAAO,CAAC,YAAY,CAAC,0BAA0B,CAAC,CAAC;IAIzE;;;;;;;;OAQG;IACG,UAAU,IAAI,OAAO,CAAC,YAAY,CAAC,eAAe,CAAC,CAAC;IAI1D;;;;;;;;;;;;;;;;;;;;;;;;OAwBG;IACG,eAAe,CACnB,cAAc,EAAE,MAAM,GACrB,OAAO,CAAC,YAAY,CAAC,0BAA0B,CAAC,CAAC;CAGrD"}
@@ -98,5 +98,33 @@ export class GraphAiApi {
98
98
  async getSummary() {
99
99
  return this.rb.path('/summary').get();
100
100
  }
101
+ /**
102
+ * 단일 대화를 기존 지식 그래프에 추가합니다.
103
+ *
104
+ * 이 작업은 서버에서 비동기 백그라운드 작업으로 수행됩니다.
105
+ * 대화를 분석하여 Q-A 쌍을 추출하고, 클러스터링을 수행한 뒤,
106
+ * 기존 노드와의 유사도를 계산하여 새로운 노드와 엣지를 생성합니다.
107
+ *
108
+ * **API Endpoint**: `POST /v1/graph-ai/add-conversation/:conversationId`
109
+ *
110
+ * @param conversationId - 그래프에 추가할 대화 ID
111
+ * @returns 작업 ID와 상태를 포함한 응답 객체 (`GraphGenerationResponseDto`)
112
+ *
113
+ * @example
114
+ * ```typescript
115
+ * const response = await client.graphAi.addConversation('conv-uuid-123');
116
+ *
117
+ * console.log(response.data);
118
+ * // Output:
119
+ * {
120
+ * message: 'Add conversation to graph queued',
121
+ * taskId: 'task_add_conv_user123_01HJKM...',
122
+ * status: 'queued'
123
+ * }
124
+ * ```
125
+ */
126
+ async addConversation(conversationId) {
127
+ return this.rb.path(`/add-conversation/${conversationId}`).post();
128
+ }
101
129
  }
102
130
  //# sourceMappingURL=graphAi.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"graphAi.js","sourceRoot":"","sources":["../../src/endpoints/graphAi.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAqB,MAAM,oBAAoB,CAAC;AAKvE;;;;;;;;;;;GAWG;AACH,MAAM,OAAO,UAAU;IAGrB;;;;OAIG;IACH,YAAY,EAAkB;QAC5B,IAAI,CAAC,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;IACpC,CAAC;IAED;;;;;;;;;;;;;;;;;;;;;;;OAuBG;IACH,KAAK,CAAC,aAAa;QACjB,OAAO,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,IAAI,EAAE,CAAC;IAC1C,CAAC;IAED;;;;;;;;;;;;;;;;;;;;;;;OAuBG;IACH,KAAK,CAAC,iBAAiB,CAAC,IAAmB;QACzC,OAAO,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,qBAAqB,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACxD,CAAC;IAED;;;;;;;;OAQG;IACH,KAAK,CAAC,cAAc;QAClB,OAAO,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,IAAI,EAAE,CAAC;IACzC,CAAC;IAED;;;;;;;;OAQG;IACH,KAAK,CAAC,UAAU;QACd,OAAO,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,GAAG,EAAE,CAAC;IACxC,CAAC;CACF"}
1
+ {"version":3,"file":"graphAi.js","sourceRoot":"","sources":["../../src/endpoints/graphAi.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAqB,MAAM,oBAAoB,CAAC;AAKvE;;;;;;;;;;;GAWG;AACH,MAAM,OAAO,UAAU;IAGrB;;;;OAIG;IACH,YAAY,EAAkB;QAC5B,IAAI,CAAC,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;IACpC,CAAC;IAED;;;;;;;;;;;;;;;;;;;;;;;OAuBG;IACH,KAAK,CAAC,aAAa;QACjB,OAAO,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,IAAI,EAAE,CAAC;IAC1C,CAAC;IAED;;;;;;;;;;;;;;;;;;;;;;;OAuBG;IACH,KAAK,CAAC,iBAAiB,CAAC,IAAmB;QACzC,OAAO,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,qBAAqB,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACxD,CAAC;IAED;;;;;;;;OAQG;IACH,KAAK,CAAC,cAAc;QAClB,OAAO,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,IAAI,EAAE,CAAC;IACzC,CAAC;IAED;;;;;;;;OAQG;IACH,KAAK,CAAC,UAAU;QACd,OAAO,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,GAAG,EAAE,CAAC;IACxC,CAAC;IAED;;;;;;;;;;;;;;;;;;;;;;;;OAwBG;IACH,KAAK,CAAC,eAAe,CACnB,cAAsB;QAEtB,OAAO,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,qBAAqB,cAAc,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;IACpE,CAAC;CACF"}
@@ -26,7 +26,7 @@ export interface MeResponseDto {
26
26
  * API Key 모델 타입
27
27
  * @public
28
28
  */
29
- export type ApiKeyModel = 'openai' | 'deepseek';
29
+ export type ApiKeyModel = 'openai' | 'deepseek' | 'claude' | 'gemini';
30
30
  /**
31
31
  * GET /v1/me/api-keys 응답 DTO
32
32
  * @public
@@ -1 +1 @@
1
- {"version":3,"file":"me.d.ts","sourceRoot":"","sources":["../../src/types/me.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AACH,MAAM,WAAW,cAAc;IAC7B,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACtB,WAAW,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5B,SAAS,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CAC3B;AAED;;;;;GAKG;AACH,MAAM,WAAW,aAAa;IAC5B,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,CAAC,EAAE,cAAc,CAAC;CAC1B;AAED;;;GAGG;AACH,MAAM,MAAM,WAAW,GAAG,QAAQ,GAAG,UAAU,CAAC;AAEhD;;;;GAIG;AACH,MAAM,WAAW,kBAAkB;IACjC,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;CACvB;AAED;;;;GAIG;AACH,MAAM,WAAW,sBAAsB;IACrC,MAAM,EAAE,MAAM,CAAC;CAChB"}
1
+ {"version":3,"file":"me.d.ts","sourceRoot":"","sources":["../../src/types/me.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AACH,MAAM,WAAW,cAAc;IAC7B,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACtB,WAAW,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5B,SAAS,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CAC3B;AAED;;;;;GAKG;AACH,MAAM,WAAW,aAAa;IAC5B,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,CAAC,EAAE,cAAc,CAAC;CAC1B;AAED;;;GAGG;AACH,MAAM,MAAM,WAAW,GAAG,QAAQ,GAAG,UAAU,GAAG,QAAQ,GAAG,QAAQ,CAAC;AAEtE;;;;GAIG;AACH,MAAM,WAAW,kBAAkB;IACjC,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;CACvB;AAED;;;;GAIG;AACH,MAAM,WAAW,sBAAsB;IACrC,MAAM,EAAE,MAAM,CAAC;CAChB"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@taco_tsinghua/graphnode-sdk",
3
- "version": "0.1.21",
3
+ "version": "0.1.23",
4
4
  "description": "GraphNode frontend SDK (cookie-based session)",
5
5
  "type": "module",
6
6
  "main": "./dist/index.js",
package/src/client.ts CHANGED
@@ -1,5 +1,5 @@
1
1
  import { createRequestBuilder, type BuilderOptions, RequestBuilder } from './http-builder.js';
2
- import { GRAPHNODE_BASE_URL } from './config.js';
2
+ import { getGraphNodeBaseUrl } from './config.js';
3
3
  import { HealthApi } from './endpoints/health.js';
4
4
  import { MeApi } from './endpoints/me.js';
5
5
  import { ConversationsApi } from './endpoints/conversations.js';
@@ -97,7 +97,7 @@ export class GraphNodeClient {
97
97
  // 여기서 accessToken을 '함수' 형태로 넘기는 이유는,
98
98
  // 나중에 setAccessToken()으로 값이 바뀌었을 때, RequestBuilder가 최신 값을 참조할 수 있게 하기 위함입니다.
99
99
  this.rb = createRequestBuilder({
100
- baseUrl: GRAPHNODE_BASE_URL,
100
+ baseUrl: getGraphNodeBaseUrl(),
101
101
  ...opts,
102
102
  fetch: fetchFn, // 결정된 fetch 함수 주입
103
103
  accessToken: () => this._accessToken, // [중요] 동적 토큰 참조를 위한 Getter 함수 전달
@@ -108,11 +108,11 @@ export class GraphNodeClient {
108
108
  this.health = new HealthApi(this.rb);
109
109
  this.me = new MeApi(this.rb);
110
110
  this.conversations = new ConversationsApi(this.rb);
111
- this.googleAuth = new GoogleAuthApi(GRAPHNODE_BASE_URL);
111
+ this.googleAuth = new GoogleAuthApi(getGraphNodeBaseUrl());
112
112
  this.graph = new GraphApi(this.rb);
113
113
  this.graphAi = new GraphAiApi(this.rb);
114
114
  this.note = new NoteApi(this.rb);
115
- this.appleAuth = new AppleAuthApi(GRAPHNODE_BASE_URL);
115
+ this.appleAuth = new AppleAuthApi(getGraphNodeBaseUrl());
116
116
  this.sync = new SyncApi(this.rb);
117
117
  this.ai = new AiApi(this.rb);
118
118
  this.notification = new NotificationApi(this.rb);
package/src/config.ts CHANGED
@@ -1,9 +1,16 @@
1
1
  /**
2
- * SDK 내부에서 사용하는 GraphNode API Base URL.
3
- * - FE 사용자는 직접 변경하거나 전달할 수 없다.
2
+ * SDK 내부에서 사용하는 GraphNode API Base URL을 반환하는 함수.
4
3
  * - 런타임에서 globalThis.__GRAPHNODE_BASE_URL__ 가 존재하면 그것을 우선 사용.
5
4
  * - 없으면 기본 프로덕션 값으로 폴백.
5
+ * - 함수로 만들어서 매번 동적으로 평가되도록 함
6
6
  * @public
7
7
  */
8
- export const GRAPHNODE_BASE_URL: string =
9
- (globalThis as any).__GRAPHNODE_BASE_URL__?.replace(/\/$/, '') || 'https://taco4graphnode.online';
8
+ export function getGraphNodeBaseUrl(): string {
9
+ const url = (globalThis as any).__GRAPHNODE_BASE_URL__ || 'https://taco4graphnode.online';
10
+ return url.replace(/\/$/, '');
11
+ }
12
+
13
+ /**
14
+ * @deprecated Use getGraphNodeBaseUrl() instead for dynamic evaluation
15
+ */
16
+ export const GRAPHNODE_BASE_URL: string = getGraphNodeBaseUrl();
@@ -1,6 +1,6 @@
1
1
  // endpoints/agent.ts
2
2
  import { type FetchLike } from '../http-builder.js';
3
- import { GRAPHNODE_BASE_URL } from '../config.js';
3
+ import { getGraphNodeBaseUrl } from '../config.js';
4
4
 
5
5
  /**
6
6
  * 에이전트 채팅 모드 및 스트림 이벤트 타입들
@@ -85,7 +85,7 @@ export async function openAgentChatStream(
85
85
 
86
86
  const fetchImpl = fetchFn as FetchLike;
87
87
 
88
- const url = `${GRAPHNODE_BASE_URL.replace(/\/$/, '')}/v1/agent/chat/stream`;
88
+ const url = `${getGraphNodeBaseUrl()}/v1/agent/chat/stream`;
89
89
 
90
90
  const res = await fetchImpl(url, {
91
91
  method: 'POST',
@@ -108,4 +108,35 @@ export class GraphAiApi {
108
108
  async getSummary(): Promise<HttpResponse<GraphSummaryDto>> {
109
109
  return this.rb.path('/summary').get();
110
110
  }
111
+
112
+ /**
113
+ * 단일 대화를 기존 지식 그래프에 추가합니다.
114
+ *
115
+ * 이 작업은 서버에서 비동기 백그라운드 작업으로 수행됩니다.
116
+ * 대화를 분석하여 Q-A 쌍을 추출하고, 클러스터링을 수행한 뒤,
117
+ * 기존 노드와의 유사도를 계산하여 새로운 노드와 엣지를 생성합니다.
118
+ *
119
+ * **API Endpoint**: `POST /v1/graph-ai/add-conversation/:conversationId`
120
+ *
121
+ * @param conversationId - 그래프에 추가할 대화 ID
122
+ * @returns 작업 ID와 상태를 포함한 응답 객체 (`GraphGenerationResponseDto`)
123
+ *
124
+ * @example
125
+ * ```typescript
126
+ * const response = await client.graphAi.addConversation('conv-uuid-123');
127
+ *
128
+ * console.log(response.data);
129
+ * // Output:
130
+ * {
131
+ * message: 'Add conversation to graph queued',
132
+ * taskId: 'task_add_conv_user123_01HJKM...',
133
+ * status: 'queued'
134
+ * }
135
+ * ```
136
+ */
137
+ async addConversation(
138
+ conversationId: string
139
+ ): Promise<HttpResponse<GraphGenerationResponseDto>> {
140
+ return this.rb.path(`/add-conversation/${conversationId}`).post();
141
+ }
111
142
  }
package/src/types/me.ts CHANGED
@@ -28,7 +28,7 @@ export interface MeResponseDto {
28
28
  * API Key 모델 타입
29
29
  * @public
30
30
  */
31
- export type ApiKeyModel = 'openai' | 'deepseek';
31
+ export type ApiKeyModel = 'openai' | 'deepseek' | 'claude' | 'gemini';
32
32
 
33
33
  /**
34
34
  * GET /v1/me/api-keys 응답 DTO