@taco_tsinghua/graphnode-sdk 0.1.8 → 0.1.10

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.
Files changed (59) hide show
  1. package/dist/client.d.ts +25 -0
  2. package/dist/client.d.ts.map +1 -1
  3. package/dist/client.js +18 -0
  4. package/dist/client.js.map +1 -1
  5. package/dist/endpoints/ai.d.ts +49 -0
  6. package/dist/endpoints/ai.d.ts.map +1 -1
  7. package/dist/endpoints/ai.js +38 -0
  8. package/dist/endpoints/ai.js.map +1 -1
  9. package/dist/endpoints/auth.apple.d.ts +17 -7
  10. package/dist/endpoints/auth.apple.d.ts.map +1 -1
  11. package/dist/endpoints/auth.apple.js +17 -7
  12. package/dist/endpoints/auth.apple.js.map +1 -1
  13. package/dist/endpoints/auth.google.d.ts +16 -6
  14. package/dist/endpoints/auth.google.d.ts.map +1 -1
  15. package/dist/endpoints/auth.google.js +16 -6
  16. package/dist/endpoints/auth.google.js.map +1 -1
  17. package/dist/endpoints/conversations.d.ts +259 -1
  18. package/dist/endpoints/conversations.d.ts.map +1 -1
  19. package/dist/endpoints/conversations.js +258 -0
  20. package/dist/endpoints/conversations.js.map +1 -1
  21. package/dist/endpoints/graph.d.ts +216 -7
  22. package/dist/endpoints/graph.d.ts.map +1 -1
  23. package/dist/endpoints/graph.js +216 -7
  24. package/dist/endpoints/graph.js.map +1 -1
  25. package/dist/endpoints/health.d.ts +20 -0
  26. package/dist/endpoints/health.d.ts.map +1 -1
  27. package/dist/endpoints/health.js +15 -0
  28. package/dist/endpoints/health.js.map +1 -1
  29. package/dist/endpoints/me.d.ts +61 -0
  30. package/dist/endpoints/me.d.ts.map +1 -1
  31. package/dist/endpoints/me.js +61 -0
  32. package/dist/endpoints/me.js.map +1 -1
  33. package/dist/endpoints/note.d.ts +201 -13
  34. package/dist/endpoints/note.d.ts.map +1 -1
  35. package/dist/endpoints/note.js +201 -13
  36. package/dist/endpoints/note.js.map +1 -1
  37. package/dist/endpoints/sync.d.ts +44 -3
  38. package/dist/endpoints/sync.d.ts.map +1 -1
  39. package/dist/endpoints/sync.js +44 -3
  40. package/dist/endpoints/sync.js.map +1 -1
  41. package/dist/index.d.ts +5 -1
  42. package/dist/index.d.ts.map +1 -1
  43. package/dist/index.js +4 -0
  44. package/dist/index.js.map +1 -1
  45. package/dist/types/conversation.d.ts +27 -0
  46. package/dist/types/conversation.d.ts.map +1 -1
  47. package/dist/types/graph.d.ts +71 -0
  48. package/dist/types/graph.d.ts.map +1 -1
  49. package/dist/types/me.d.ts +24 -5
  50. package/dist/types/me.d.ts.map +1 -1
  51. package/dist/types/message.d.ts +22 -0
  52. package/dist/types/message.d.ts.map +1 -1
  53. package/dist/types/note.d.ts +31 -0
  54. package/dist/types/note.d.ts.map +1 -1
  55. package/dist/types/problem.d.ts +12 -1
  56. package/dist/types/problem.d.ts.map +1 -1
  57. package/dist/types/sync.d.ts +17 -0
  58. package/dist/types/sync.d.ts.map +1 -1
  59. package/package.json +1 -1
@@ -1,10 +1,30 @@
1
1
  import { RequestBuilder, type HttpResponse } from '../http-builder.js';
2
+ /**
3
+ * 헬스 체크 응답 DTO
4
+ * @public
5
+ * @property ok 서버 상태 (true: 정상)
6
+ */
2
7
  export interface HealthResponse {
3
8
  ok: boolean;
4
9
  }
10
+ /**
11
+ * 서버 상태 확인 API
12
+ * @public
13
+ */
5
14
  export declare class HealthApi {
6
15
  private rb;
7
16
  constructor(rb: RequestBuilder);
17
+ /**
18
+ * 서버의 헬스 상태를 확인합니다.
19
+ * @returns 헬스 체크 결과
20
+ * @example
21
+ * const response = await client.health.get();
22
+ * console.log(response.data);
23
+ * // Output:
24
+ * {
25
+ * ok: true
26
+ * }
27
+ */
8
28
  get(): Promise<HttpResponse<HealthResponse>>;
9
29
  }
10
30
  //# sourceMappingURL=health.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"health.d.ts","sourceRoot":"","sources":["../../src/endpoints/health.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,KAAK,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAEvE,MAAM,WAAW,cAAc;IAC7B,EAAE,EAAE,OAAO,CAAC;CACb;AAED,qBAAa,SAAS;IACR,OAAO,CAAC,EAAE;gBAAF,EAAE,EAAE,cAAc;IACtC,GAAG,IAAI,OAAO,CAAC,YAAY,CAAC,cAAc,CAAC,CAAC;CAG7C"}
1
+ {"version":3,"file":"health.d.ts","sourceRoot":"","sources":["../../src/endpoints/health.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,KAAK,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAEvE;;;;GAIG;AACH,MAAM,WAAW,cAAc;IAC7B,EAAE,EAAE,OAAO,CAAC;CACb;AAED;;;GAGG;AACH,qBAAa,SAAS;IACR,OAAO,CAAC,EAAE;gBAAF,EAAE,EAAE,cAAc;IAEtC;;;;;;;;;;OAUG;IACH,GAAG,IAAI,OAAO,CAAC,YAAY,CAAC,cAAc,CAAC,CAAC;CAG7C"}
@@ -1,8 +1,23 @@
1
1
  import { RequestBuilder } from '../http-builder.js';
2
+ /**
3
+ * 서버 상태 확인 API
4
+ * @public
5
+ */
2
6
  export class HealthApi {
3
7
  constructor(rb) {
4
8
  this.rb = rb;
5
9
  }
10
+ /**
11
+ * 서버의 헬스 상태를 확인합니다.
12
+ * @returns 헬스 체크 결과
13
+ * @example
14
+ * const response = await client.health.get();
15
+ * console.log(response.data);
16
+ * // Output:
17
+ * {
18
+ * ok: true
19
+ * }
20
+ */
6
21
  get() {
7
22
  return this.rb.path('/healthz').get();
8
23
  }
@@ -1 +1 @@
1
- {"version":3,"file":"health.js","sourceRoot":"","sources":["../../src/endpoints/health.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAqB,MAAM,oBAAoB,CAAC;AAMvE,MAAM,OAAO,SAAS;IACpB,YAAoB,EAAkB;QAAlB,OAAE,GAAF,EAAE,CAAgB;IAAG,CAAC;IAC1C,GAAG;QACD,OAAO,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,GAAG,EAAkB,CAAC;IACxD,CAAC;CACF"}
1
+ {"version":3,"file":"health.js","sourceRoot":"","sources":["../../src/endpoints/health.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAqB,MAAM,oBAAoB,CAAC;AAWvE;;;GAGG;AACH,MAAM,OAAO,SAAS;IACpB,YAAoB,EAAkB;QAAlB,OAAE,GAAF,EAAE,CAAgB;IAAG,CAAC;IAE1C;;;;;;;;;;OAUG;IACH,GAAG;QACD,OAAO,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,GAAG,EAAkB,CAAC;IACxD,CAAC;CACF"}
@@ -1,12 +1,73 @@
1
1
  import { RequestBuilder, type HttpResponse } from '../http-builder.js';
2
2
  import type { MeResponseDto, ApiKeysResponseDto, ApiKeyModel } from '../types/me.js';
3
+ /**
4
+ * 내 정보 관리 API
5
+ * @public
6
+ */
3
7
  export declare class MeApi {
4
8
  private rb;
5
9
  constructor(rb: RequestBuilder);
10
+ /**
11
+ * 내 프로필 정보를 조회합니다.
12
+ * @returns 내 정보
13
+ * - `user` (UserProfileDto): 사용자 프로필 정보
14
+ * - `id` (string): 사용자 ID
15
+ * - `email` (string, optional): 이메일
16
+ * - `displayName` (string): 표시 이름
17
+ * - `avatarUrl` (string | null): 아바타 URL
18
+ * - `createdAt` (string): 생성 일시 (ISO 8601)
19
+ * @example
20
+ * const response = await client.me.get();
21
+ * console.log(response.data);
22
+ * // Output:
23
+ * {
24
+ * userId: '1...',
25
+ * profile: {
26
+ * id: '1...',
27
+ * email: 'john.doe@example.com',
28
+ * displayName: 'John Doe',
29
+ * avatarUrl: 'https://example.com/avatar.jpg'
30
+ * }
31
+ * }
32
+ */
6
33
  get(): Promise<HttpResponse<MeResponseDto>>;
34
+ /**
35
+ * 로그아웃을 수행합니다.
36
+ * - 서버 세션을 무효화합니다.
37
+ * @example
38
+ * await client.me.logout();
39
+ * console.log('Logged out successfully');
40
+ */
7
41
  logout(): Promise<HttpResponse<void>>;
42
+ /**
43
+ * 특정 모델의 API 키를 조회합니다.
44
+ * @param model - 조회할 API 키 모델 ('openai' | 'deepseek')
45
+ * @returns 마스킹된 API 키 정보
46
+ * - `apiKey` (string | null): 마스킹된 API 키 (설정되지 않은 경우 null)
47
+ * @example
48
+ * const response = await client.me.getApiKeys('openai');
49
+ * console.log(response.data);
50
+ * // Output:
51
+ * {
52
+ * apiKey: 'sk-proj-1234...' // Masked
53
+ * }
54
+ */
8
55
  getApiKeys(model: ApiKeyModel): Promise<HttpResponse<ApiKeysResponseDto>>;
56
+ /**
57
+ * 특정 모델의 API 키를 설정/업데이트합니다.
58
+ * @param model - 설정할 API 키 모델 ('openai' | 'deepseek')
59
+ * @param apiKey - 설정할 API 키 값 (string)
60
+ * @example
61
+ * await client.me.updateApiKey('openai', 'sk-proj-1234567890abcdef');
62
+ * console.log('OpenAI API key updated');
63
+ */
9
64
  updateApiKey(model: ApiKeyModel, apiKey: string): Promise<HttpResponse<void>>;
65
+ /**
66
+ * 특정 모델의 API 키를 삭제합니다.
67
+ * @example
68
+ * await client.me.deleteApiKey('openai');
69
+ * console.log('OpenAI API key deleted');
70
+ */
10
71
  deleteApiKey(model: ApiKeyModel): Promise<HttpResponse<void>>;
11
72
  }
12
73
  //# sourceMappingURL=me.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"me.d.ts","sourceRoot":"","sources":["../../src/endpoints/me.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,KAAK,YAAY,EAAE,MAAM,oBAAoB,CAAC;AACvE,OAAO,KAAK,EAAE,aAAa,EAAE,kBAAkB,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAErF,qBAAa,KAAK;IACJ,OAAO,CAAC,EAAE;gBAAF,EAAE,EAAE,cAAc;IAEtC,GAAG,IAAI,OAAO,CAAC,YAAY,CAAC,aAAa,CAAC,CAAC;IAI3C,MAAM,IAAI,OAAO,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC;IAKrC,UAAU,CAAC,KAAK,EAAE,WAAW,GAAG,OAAO,CAAC,YAAY,CAAC,kBAAkB,CAAC,CAAC;IAIzE,YAAY,CAAC,KAAK,EAAE,WAAW,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC;IAI7E,YAAY,CAAC,KAAK,EAAE,WAAW,GAAG,OAAO,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC;CAG9D"}
1
+ {"version":3,"file":"me.d.ts","sourceRoot":"","sources":["../../src/endpoints/me.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,KAAK,YAAY,EAAE,MAAM,oBAAoB,CAAC;AACvE,OAAO,KAAK,EAAE,aAAa,EAAE,kBAAkB,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAErF;;;GAGG;AACH,qBAAa,KAAK;IACJ,OAAO,CAAC,EAAE;gBAAF,EAAE,EAAE,cAAc;IAEtC;;;;;;;;;;;;;;;;;;;;;;OAsBG;IACH,GAAG,IAAI,OAAO,CAAC,YAAY,CAAC,aAAa,CAAC,CAAC;IAI3C;;;;;;OAMG;IACH,MAAM,IAAI,OAAO,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC;IAKrC;;;;;;;;;;;;OAYG;IACH,UAAU,CAAC,KAAK,EAAE,WAAW,GAAG,OAAO,CAAC,YAAY,CAAC,kBAAkB,CAAC,CAAC;IAIzE;;;;;;;OAOG;IACH,YAAY,CAAC,KAAK,EAAE,WAAW,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC;IAI7E;;;;;OAKG;IACH,YAAY,CAAC,KAAK,EAAE,WAAW,GAAG,OAAO,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC;CAG9D"}
@@ -1,21 +1,82 @@
1
1
  import { RequestBuilder } from '../http-builder.js';
2
+ /**
3
+ * 내 정보 관리 API
4
+ * @public
5
+ */
2
6
  export class MeApi {
3
7
  constructor(rb) {
4
8
  this.rb = rb;
5
9
  }
10
+ /**
11
+ * 내 프로필 정보를 조회합니다.
12
+ * @returns 내 정보
13
+ * - `user` (UserProfileDto): 사용자 프로필 정보
14
+ * - `id` (string): 사용자 ID
15
+ * - `email` (string, optional): 이메일
16
+ * - `displayName` (string): 표시 이름
17
+ * - `avatarUrl` (string | null): 아바타 URL
18
+ * - `createdAt` (string): 생성 일시 (ISO 8601)
19
+ * @example
20
+ * const response = await client.me.get();
21
+ * console.log(response.data);
22
+ * // Output:
23
+ * {
24
+ * userId: '1...',
25
+ * profile: {
26
+ * id: '1...',
27
+ * email: 'john.doe@example.com',
28
+ * displayName: 'John Doe',
29
+ * avatarUrl: 'https://example.com/avatar.jpg'
30
+ * }
31
+ * }
32
+ */
6
33
  get() {
7
34
  return this.rb.path('/v1/me').get();
8
35
  }
36
+ /**
37
+ * 로그아웃을 수행합니다.
38
+ * - 서버 세션을 무효화합니다.
39
+ * @example
40
+ * await client.me.logout();
41
+ * console.log('Logged out successfully');
42
+ */
9
43
  logout() {
10
44
  // 204 No Content 예상
11
45
  return this.rb.path('/auth/logout').post();
12
46
  }
47
+ /**
48
+ * 특정 모델의 API 키를 조회합니다.
49
+ * @param model - 조회할 API 키 모델 ('openai' | 'deepseek')
50
+ * @returns 마스킹된 API 키 정보
51
+ * - `apiKey` (string | null): 마스킹된 API 키 (설정되지 않은 경우 null)
52
+ * @example
53
+ * const response = await client.me.getApiKeys('openai');
54
+ * console.log(response.data);
55
+ * // Output:
56
+ * {
57
+ * apiKey: 'sk-proj-1234...' // Masked
58
+ * }
59
+ */
13
60
  getApiKeys(model) {
14
61
  return this.rb.path(`/v1/me/api-keys/${model}`).get();
15
62
  }
63
+ /**
64
+ * 특정 모델의 API 키를 설정/업데이트합니다.
65
+ * @param model - 설정할 API 키 모델 ('openai' | 'deepseek')
66
+ * @param apiKey - 설정할 API 키 값 (string)
67
+ * @example
68
+ * await client.me.updateApiKey('openai', 'sk-proj-1234567890abcdef');
69
+ * console.log('OpenAI API key updated');
70
+ */
16
71
  updateApiKey(model, apiKey) {
17
72
  return this.rb.path(`/v1/me/api-keys/${model}`).patch({ apiKey });
18
73
  }
74
+ /**
75
+ * 특정 모델의 API 키를 삭제합니다.
76
+ * @example
77
+ * await client.me.deleteApiKey('openai');
78
+ * console.log('OpenAI API key deleted');
79
+ */
19
80
  deleteApiKey(model) {
20
81
  return this.rb.path(`/v1/me/api-keys/${model}`).delete();
21
82
  }
@@ -1 +1 @@
1
- {"version":3,"file":"me.js","sourceRoot":"","sources":["../../src/endpoints/me.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAqB,MAAM,oBAAoB,CAAC;AAGvE,MAAM,OAAO,KAAK;IAChB,YAAoB,EAAkB;QAAlB,OAAE,GAAF,EAAE,CAAgB;IAAG,CAAC;IAE1C,GAAG;QACD,OAAO,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,GAAG,EAAiB,CAAC;IACrD,CAAC;IAED,MAAM;QACJ,oBAAoB;QACpB,OAAO,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC,IAAI,EAAQ,CAAC;IACnD,CAAC;IAED,UAAU,CAAC,KAAkB;QAC3B,OAAO,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,mBAAmB,KAAK,EAAE,CAAC,CAAC,GAAG,EAAsB,CAAC;IAC5E,CAAC;IAED,YAAY,CAAC,KAAkB,EAAE,MAAc;QAC7C,OAAO,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,mBAAmB,KAAK,EAAE,CAAC,CAAC,KAAK,CAAO,EAAE,MAAM,EAAE,CAAC,CAAC;IAC1E,CAAC;IAED,YAAY,CAAC,KAAkB;QAC7B,OAAO,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,mBAAmB,KAAK,EAAE,CAAC,CAAC,MAAM,EAAQ,CAAC;IACjE,CAAC;CACF"}
1
+ {"version":3,"file":"me.js","sourceRoot":"","sources":["../../src/endpoints/me.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAqB,MAAM,oBAAoB,CAAC;AAGvE;;;GAGG;AACH,MAAM,OAAO,KAAK;IAChB,YAAoB,EAAkB;QAAlB,OAAE,GAAF,EAAE,CAAgB;IAAG,CAAC;IAE1C;;;;;;;;;;;;;;;;;;;;;;OAsBG;IACH,GAAG;QACD,OAAO,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,GAAG,EAAiB,CAAC;IACrD,CAAC;IAED;;;;;;OAMG;IACH,MAAM;QACJ,oBAAoB;QACpB,OAAO,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC,IAAI,EAAQ,CAAC;IACnD,CAAC;IAED;;;;;;;;;;;;OAYG;IACH,UAAU,CAAC,KAAkB;QAC3B,OAAO,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,mBAAmB,KAAK,EAAE,CAAC,CAAC,GAAG,EAAsB,CAAC;IAC5E,CAAC;IAED;;;;;;;OAOG;IACH,YAAY,CAAC,KAAkB,EAAE,MAAc;QAC7C,OAAO,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,mBAAmB,KAAK,EAAE,CAAC,CAAC,KAAK,CAAO,EAAE,MAAM,EAAE,CAAC,CAAC;IAC1E,CAAC;IAED;;;;;OAKG;IACH,YAAY,CAAC,KAAkB;QAC7B,OAAO,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,mBAAmB,KAAK,EAAE,CAAC,CAAC,MAAM,EAAQ,CAAC;IACjE,CAAC;CACF"}
@@ -10,73 +10,261 @@ export declare class NoteApi {
10
10
  /**
11
11
  * 새 노트를 생성합니다.
12
12
  * @param dto - 생성할 노트 데이터
13
- * @returns 생성된 노트
13
+ * - `id` (string): 노트 고유 ID (UUID, 클라이언트 생성)
14
+ * - `content` (string): 노트 내용 (Markdown)
15
+ * - `title` (string, optional): 노트 제목
16
+ * - `folderId` (string | null, optional): 상위 폴더 ID (없으면 최상위)
17
+ * @returns 생성된 노트 정보
18
+ * - `id` (string): 노트 ID
19
+ * - `ownerUserId` (string): 소유자 ID
20
+ * - `title` (string): 제목
21
+ * - `content` (string): 내용
22
+ * - `folderId` (string | null): 폴더 ID
23
+ * - `createdAt` (string): 생성 일시 (ISO 8601)
24
+ * - `updatedAt` (string): 수정 일시 (ISO 8601)
25
+ * @example
26
+ * const response = await client.note.createNote({
27
+ * id: '550e8400-e29b-41d4-a716-446655440000',
28
+ * title: 'Meeting Notes',
29
+ * content: '# Weekly Sync\n- Discussed Q3 goals\n- Reviewed metrics',
30
+ * folderId: null
31
+ * });
32
+ *
33
+ * console.log(response.data);
34
+ * // Output:
35
+ * {
36
+ * id: '550e8400-e29b-41d4-a716-446655440000',
37
+ * title: 'Meeting Notes',
38
+ * content: '# Weekly Sync...',
39
+ * folderId: null,
40
+ * createdAt: '2023-10-27T10:00:00Z',
41
+ * updatedAt: '2023-10-27T10:00:00Z',
42
+ * ownerUserId: 'user-123'
43
+ * }
14
44
  */
15
45
  createNote(dto: NoteCreateDto): Promise<HttpResponse<NoteDto>>;
16
46
  /**
17
47
  * 사용자의 모든 노트를 가져옵니다.
18
- * @returns 노트 목록
48
+ * @returns 노트 목록 (NoteDto 배열)
49
+ * @example
50
+ * const response = await client.note.listNotes();
51
+ *
52
+ * console.log(response.data);
53
+ * // Output:
54
+ * [
55
+ * {
56
+ * id: '550e8400-e29b-41d4-a716-446655440000',
57
+ * title: 'Meeting Notes',
58
+ * content: '...',
59
+ * folderId: null,
60
+ * createdAt: '...',
61
+ * updatedAt: '...',
62
+ * ownerUserId: 'user-123'
63
+ * },
64
+ * {
65
+ * id: '661f9511-f30c-52e5-b827-557766551111',
66
+ * title: 'Ideas',
67
+ * content: '...',
68
+ * folderId: 'folder-123',
69
+ * createdAt: '...',
70
+ * updatedAt: '...',
71
+ * ownerUserId: 'user-123'
72
+ * }
73
+ * ]
19
74
  */
20
75
  listNotes(): Promise<HttpResponse<NoteDto[]>>;
21
76
  /**
22
77
  * 특정 ID의 노트를 가져옵니다.
23
- * @param id - 가져올 노트의 ID
24
- * @returns 요청한 노트
78
+ * @param id - 가져올 노트의 ID (UUID)
79
+ * @returns 요청한 노트 상세 정보
80
+ * @example
81
+ * const response = await client.note.getNote('550e8400-e29b-41d4-a716-446655440000');
82
+ *
83
+ * console.log(response.data);
84
+ * // Output:
85
+ * {
86
+ * id: '550e8400-e29b-41d4-a716-446655440000',
87
+ * title: 'Meeting Notes',
88
+ * content: '# Weekly Sync\n- Discussed Q3 goals...',
89
+ * folderId: null,
90
+ * createdAt: '...',
91
+ * updatedAt: '...',
92
+ * ownerUserId: 'user-123'
93
+ * }
25
94
  */
26
95
  getNote(id: string): Promise<HttpResponse<NoteDto>>;
27
96
  /**
28
97
  * 특정 노드를 업데이트합니다.
29
98
  * @param id - 업데이트할 노트의 ID
30
99
  * @param dto - 업데이트할 데이터
31
- * @returns 업데이트된 노트
100
+ * - `title` (string, optional): 변경할 제목
101
+ * - `content` (string, optional): 변경할 내용
102
+ * - `folderId` (string | null, optional): 이동할 폴더 ID
103
+ * @returns 업데이트된 노트 정보
104
+ * @example
105
+ * const response = await client.note.updateNote('550e8400-e29b-41d4-a716-446655440000', {
106
+ * title: 'Q3 Review Meeting',
107
+ * content: '# Q3 Review\n- Goals achieved'
108
+ * });
109
+ *
110
+ * console.log(response.data);
111
+ * // Output:
112
+ * {
113
+ * id: '550e8400-e29b-41d4-a716-446655440000',
114
+ * title: 'Q3 Review Meeting',
115
+ * content: '# Q3 Review...',
116
+ * folderId: null,
117
+ * createdAt: '...',
118
+ * updatedAt: '2023-10-27T11:30:00Z',
119
+ * ownerUserId: 'user-123'
120
+ * }
32
121
  */
33
122
  updateNote(id: string, dto: NoteUpdateDto): Promise<HttpResponse<NoteDto>>;
34
123
  /**
35
124
  * 특정 노트를 삭제합니다.
36
125
  * @param id - 삭제할 노트의 ID
37
- * @param permanent - 영구 삭제 여부 (true: 영구 삭제, false/undefined: 휴지통)
126
+ * @param permanent - 영구 삭제 여부 (true: 영구 삭제, false/undefined: 휴지통 이동)
127
+ * @returns 성공 시 빈 응답
128
+ * @example
129
+ * // 휴지통으로 이동 (Soft Delete)
130
+ * const response = await client.note.deleteNote('550e8400-e29b-41d4-a716-446655440000');
131
+ *
132
+ * console.log(response.data);
133
+ * // Output:
134
+ * {
135
+ * ok: true
136
+ * }
38
137
  */
39
138
  deleteNote(id: string, permanent?: boolean): Promise<HttpResponse<void>>;
40
139
  /**
41
140
  * 특정 노트를 복구합니다.
42
141
  * @param id - 복구할 노트의 ID
43
- * @returns 복구된 노트
142
+ * @returns 복구된 노트 정보
143
+ * @example
144
+ * const response = await client.note.restoreNote('550e8400-e29b-41d4-a716-446655440000');
145
+ *
146
+ * console.log(response.data);
147
+ * // Output:
148
+ * {
149
+ * id: '550e8400-e29b-41d4-a716-446655440000',
150
+ * title: 'Meeting Notes',
151
+ * content: '...',
152
+ * folderId: null,
153
+ * createdAt: '...',
154
+ * updatedAt: '...',
155
+ * ownerUserId: 'user-123'
156
+ * }
44
157
  */
45
158
  restoreNote(id: string): Promise<HttpResponse<NoteDto>>;
46
159
  /**
47
160
  * 새 폴더를 생성합니다.
48
161
  * @param dto - 생성할 폴더 데이터
49
- * @returns 생성된 폴더
162
+ * - `name` (string): 폴더 이름
163
+ * - `parentId` (string | null, optional): 상위 폴더 ID (없으면 최상위)
164
+ * @returns 생성된 폴더 정보
165
+ * - `id` (string): 폴더 ID
166
+ * - `ownerUserId` (string): 소유자 ID
167
+ * - `name` (string): 폴더 이름
168
+ * - `parentId` (string | null): 상위 폴더 ID
169
+ * - `createdAt` (string): 생성 일시
170
+ * - `updatedAt` (string): 수정 일시
171
+ * @example
172
+ * const response = await client.note.createFolder({
173
+ * name: 'Work Projects',
174
+ * parentId: null
175
+ * });
176
+ *
177
+ * console.log(response.data);
178
+ * // Output:
179
+ * {
180
+ * id: 'folder-123',
181
+ * name: 'Work Projects',
182
+ * parentId: null,
183
+ * createdAt: '...',
184
+ * updatedAt: '...',
185
+ * ownerUserId: 'user-123'
186
+ * }
50
187
  */
51
188
  createFolder(dto: FolderCreateDto): Promise<HttpResponse<FolderDto>>;
52
189
  /**
53
190
  * 사용자의 모든 폴더를 가져옵니다.
54
- * @returns 폴더 목록
191
+ * @returns 폴더 목록 (FolderDto 배열)
192
+ * @example
193
+ * const response = await client.note.listFolders();
194
+ *
195
+ * console.log(response.data);
196
+ * // Output:
197
+ * [
198
+ * {
199
+ * id: 'folder-123',
200
+ * name: 'Work Projects',
201
+ * parentId: null,
202
+ * createdAt: '...',
203
+ * updatedAt: '...',
204
+ * ownerUserId: 'user-123'
205
+ * },
206
+ * {
207
+ * id: 'folder-124',
208
+ * name: 'Personal',
209
+ * parentId: null,
210
+ * createdAt: '...',
211
+ * updatedAt: '...',
212
+ * ownerUserId: 'user-123'
213
+ * }
214
+ * ]
55
215
  */
56
216
  listFolders(): Promise<HttpResponse<FolderDto[]>>;
57
217
  /**
58
218
  * 특정 ID의 폴더를 가져옵니다.
59
219
  * @param id - 가져올 폴더의 ID
60
- * @returns 요청한 폴더
220
+ * @returns 요청한 폴더 상세 정보
221
+ * @example
222
+ * const response = await client.note.getFolder('folder-123');
223
+ *
224
+ * console.log(response.data);
225
+ * // Output:
226
+ * {
227
+ * id: 'folder-123',
228
+ * name: 'Work Projects',
229
+ * parentId: null,
230
+ * createdAt: '...',
231
+ * updatedAt: '...',
232
+ * ownerUserId: 'user-123'
233
+ * }
61
234
  */
62
235
  getFolder(id: string): Promise<HttpResponse<FolderDto>>;
63
236
  /**
64
237
  * 특정 폴더를 업데이트합니다.
65
238
  * @param id - 업데이트할 폴더의 ID
66
239
  * @param dto - 업데이트할 데이터
67
- * @returns 업데이트된 폴더
240
+ * - `name` (string, optional): 변경할 폴더 이름
241
+ * - `parentId` (string | null, optional): 이동할 상위 폴더 ID
242
+ * @returns 업데이트된 폴더 정보
243
+ * @example
244
+ * const response = await client.note.updateFolder('folder-123', {
245
+ * name: 'Archived Projects',
246
+ * parentId: 'folder-999' // Move to another folder
247
+ * });
248
+ * console.log(response.data.name); // 'Archived Projects'
249
+ * console.log(response.data.parentId); // 'folder-999'
68
250
  */
69
251
  updateFolder(id: string, dto: FolderUpdateDto): Promise<HttpResponse<FolderDto>>;
70
252
  /**
71
253
  * 특정 폴더를 삭제합니다.
72
254
  * @param id - 삭제할 폴더의 ID
73
- * @param permanent - 영구 삭제 여부 (true: 영구 삭제, false/undefined: 휴지통)
255
+ * @param permanent - 영구 삭제 여부 (true: 영구 삭제, false/undefined: 휴지통 이동)
256
+ * @returns 성공 시 빈 응답
257
+ * @example
258
+ * await client.note.deleteFolder('folder-123');
74
259
  */
75
260
  deleteFolder(id: string, permanent?: boolean): Promise<HttpResponse<void>>;
76
261
  /**
77
262
  * 특정 폴더를 복구합니다.
78
263
  * @param id - 복구할 폴더의 ID
79
- * @returns 복구된 폴더
264
+ * @returns 복구된 폴더 정보
265
+ * @example
266
+ * const response = await client.note.restoreFolder('folder-123');
267
+ * console.log(response.data.id); // 'folder-123'
80
268
  */
81
269
  restoreFolder(id: string): Promise<HttpResponse<FolderDto>>;
82
270
  }
@@ -1 +1 @@
1
- {"version":3,"file":"note.d.ts","sourceRoot":"","sources":["../../src/endpoints/note.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,KAAK,YAAY,EAAE,MAAM,oBAAoB,CAAC;AACvE,OAAO,KAAK,EACV,OAAO,EACP,aAAa,EACb,aAAa,EACb,SAAS,EACT,eAAe,EACf,eAAe,EAChB,MAAM,kBAAkB,CAAC;AAE1B;;;GAGG;AACH,qBAAa,OAAO;IAClB,OAAO,CAAC,QAAQ,CAAC,EAAE,CAAiB;gBAExB,EAAE,EAAE,cAAc;IAM9B;;;;OAIG;IACH,UAAU,CAAC,GAAG,EAAE,aAAa,GAAG,OAAO,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC;IAI9D;;;OAGG;IACH,SAAS,IAAI,OAAO,CAAC,YAAY,CAAC,OAAO,EAAE,CAAC,CAAC;IAI7C;;;;OAIG;IACH,OAAO,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC;IAInD;;;;;OAKG;IACH,UAAU,CAAC,EAAE,EAAE,MAAM,EAAE,GAAG,EAAE,aAAa,GAAG,OAAO,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC;IAI1E;;;;OAIG;IACH,UAAU,CAAC,EAAE,EAAE,MAAM,EAAE,SAAS,CAAC,EAAE,OAAO,GAAG,OAAO,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC;IAIxE;;;;OAIG;IACH,WAAW,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC;IAMvD;;;;OAIG;IACH,YAAY,CAAC,GAAG,EAAE,eAAe,GAAG,OAAO,CAAC,YAAY,CAAC,SAAS,CAAC,CAAC;IAIpE;;;OAGG;IACH,WAAW,IAAI,OAAO,CAAC,YAAY,CAAC,SAAS,EAAE,CAAC,CAAC;IAIjD;;;;OAIG;IACH,SAAS,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,YAAY,CAAC,SAAS,CAAC,CAAC;IAIvD;;;;;OAKG;IACH,YAAY,CAAC,EAAE,EAAE,MAAM,EAAE,GAAG,EAAE,eAAe,GAAG,OAAO,CAAC,YAAY,CAAC,SAAS,CAAC,CAAC;IAIhF;;;;OAIG;IACH,YAAY,CAAC,EAAE,EAAE,MAAM,EAAE,SAAS,CAAC,EAAE,OAAO,GAAG,OAAO,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC;IAI1E;;;;OAIG;IACH,aAAa,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,YAAY,CAAC,SAAS,CAAC,CAAC;CAG5D"}
1
+ {"version":3,"file":"note.d.ts","sourceRoot":"","sources":["../../src/endpoints/note.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,KAAK,YAAY,EAAE,MAAM,oBAAoB,CAAC;AACvE,OAAO,KAAK,EACV,OAAO,EACP,aAAa,EACb,aAAa,EACb,SAAS,EACT,eAAe,EACf,eAAe,EAChB,MAAM,kBAAkB,CAAC;AAE1B;;;GAGG;AACH,qBAAa,OAAO;IAClB,OAAO,CAAC,QAAQ,CAAC,EAAE,CAAiB;gBAExB,EAAE,EAAE,cAAc;IAM9B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAkCG;IACH,UAAU,CAAC,GAAG,EAAE,aAAa,GAAG,OAAO,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC;IAI9D;;;;;;;;;;;;;;;;;;;;;;;;;;;;OA4BG;IACH,SAAS,IAAI,OAAO,CAAC,YAAY,CAAC,OAAO,EAAE,CAAC,CAAC;IAI7C;;;;;;;;;;;;;;;;;;OAkBG;IACH,OAAO,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC;IAInD;;;;;;;;;;;;;;;;;;;;;;;;;OAyBG;IACH,UAAU,CAAC,EAAE,EAAE,MAAM,EAAE,GAAG,EAAE,aAAa,GAAG,OAAO,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC;IAI1E;;;;;;;;;;;;;;OAcG;IACH,UAAU,CAAC,EAAE,EAAE,MAAM,EAAE,SAAS,CAAC,EAAE,OAAO,GAAG,OAAO,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC;IAIxE;;;;;;;;;;;;;;;;;;OAkBG;IACH,WAAW,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC;IAMvD;;;;;;;;;;;;;;;;;;;;;;;;;;;;OA4BG;IACH,YAAY,CAAC,GAAG,EAAE,eAAe,GAAG,OAAO,CAAC,YAAY,CAAC,SAAS,CAAC,CAAC;IAIpE;;;;;;;;;;;;;;;;;;;;;;;;;;OA0BG;IACH,WAAW,IAAI,OAAO,CAAC,YAAY,CAAC,SAAS,EAAE,CAAC,CAAC;IAIjD;;;;;;;;;;;;;;;;;OAiBG;IACH,SAAS,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,YAAY,CAAC,SAAS,CAAC,CAAC;IAIvD;;;;;;;;;;;;;;OAcG;IACH,YAAY,CAAC,EAAE,EAAE,MAAM,EAAE,GAAG,EAAE,eAAe,GAAG,OAAO,CAAC,YAAY,CAAC,SAAS,CAAC,CAAC;IAIhF;;;;;;;OAOG;IACH,YAAY,CAAC,EAAE,EAAE,MAAM,EAAE,SAAS,CAAC,EAAE,OAAO,GAAG,OAAO,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC;IAI1E;;;;;;;OAOG;IACH,aAAa,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,YAAY,CAAC,SAAS,CAAC,CAAC;CAG5D"}