@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 +4 -4
- package/dist/client.js.map +1 -1
- package/dist/config.d.ts +6 -2
- package/dist/config.d.ts.map +1 -1
- package/dist/config.js +10 -3
- package/dist/config.js.map +1 -1
- package/dist/endpoints/agent.js +2 -2
- package/dist/endpoints/agent.js.map +1 -1
- package/dist/endpoints/graphAi.d.ts +26 -0
- package/dist/endpoints/graphAi.d.ts.map +1 -1
- package/dist/endpoints/graphAi.js +28 -0
- package/dist/endpoints/graphAi.js.map +1 -1
- package/dist/types/me.d.ts +1 -1
- package/dist/types/me.d.ts.map +1 -1
- package/package.json +1 -1
- package/src/client.ts +4 -4
- package/src/config.ts +11 -4
- package/src/endpoints/agent.ts +2 -2
- package/src/endpoints/graphAi.ts +31 -0
- package/src/types/me.ts +1 -1
package/dist/client.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { createRequestBuilder, RequestBuilder } from './http-builder.js';
|
|
2
|
-
import {
|
|
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:
|
|
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(
|
|
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(
|
|
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);
|
package/dist/client.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"client.js","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,oBAAoB,EAAuB,cAAc,EAAE,MAAM,mBAAmB,CAAC;AAC9F,OAAO,EAAE,
|
|
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
|
package/dist/config.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AACH,eAAO,MAAM,kBAAkB,EAAE,
|
|
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
|
|
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
|
package/dist/config.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config.js","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AACH,MAAM,
|
|
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"}
|
package/dist/endpoints/agent.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
// endpoints/agent.ts
|
|
2
2
|
import {} from '../http-builder.js';
|
|
3
|
-
import {
|
|
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 = `${
|
|
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,
|
|
1
|
+
{"version":3,"file":"agent.js","sourceRoot":"","sources":["../../src/endpoints/agent.ts"],"names":[],"mappings":"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"}
|
|
@@ -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;
|
|
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"}
|
package/dist/types/me.d.ts
CHANGED
package/dist/types/me.d.ts.map
CHANGED
|
@@ -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;
|
|
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
package/src/client.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { createRequestBuilder, type BuilderOptions, RequestBuilder } from './http-builder.js';
|
|
2
|
-
import {
|
|
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:
|
|
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(
|
|
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(
|
|
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
|
|
9
|
-
(globalThis as any).__GRAPHNODE_BASE_URL__
|
|
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();
|
package/src/endpoints/agent.ts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
// endpoints/agent.ts
|
|
2
2
|
import { type FetchLike } from '../http-builder.js';
|
|
3
|
-
import {
|
|
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 = `${
|
|
88
|
+
const url = `${getGraphNodeBaseUrl()}/v1/agent/chat/stream`;
|
|
89
89
|
|
|
90
90
|
const res = await fetchImpl(url, {
|
|
91
91
|
method: 'POST',
|
package/src/endpoints/graphAi.ts
CHANGED
|
@@ -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