@plolink/sdk 0.0.8 → 0.0.9

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 (58) hide show
  1. package/README.md +58 -4
  2. package/dist/{chunk-LHNCGCWW.js → chunk-4H4RACSE.js} +3 -137
  3. package/dist/chunk-4H4RACSE.js.map +1 -0
  4. package/dist/{chunk-WFBN23AH.cjs → chunk-NS3DJP2O.cjs} +2 -141
  5. package/dist/chunk-NS3DJP2O.cjs.map +1 -0
  6. package/dist/chunk-PJAJFV7D.js +139 -0
  7. package/dist/chunk-PJAJFV7D.js.map +1 -0
  8. package/dist/chunk-V6NFRYO2.cjs +145 -0
  9. package/dist/chunk-V6NFRYO2.cjs.map +1 -0
  10. package/dist/client-CAjIQKPm.d.cts +193 -0
  11. package/dist/client-CwNikk7i.d.ts +193 -0
  12. package/dist/common/index.cjs +19 -18
  13. package/dist/common/index.d.cts +2 -126
  14. package/dist/common/index.d.ts +2 -126
  15. package/dist/common/index.js +2 -1
  16. package/dist/index.cjs +18 -751
  17. package/dist/index.cjs.map +1 -1
  18. package/dist/index.d.cts +4 -410
  19. package/dist/index.d.ts +4 -410
  20. package/dist/index.js +4 -735
  21. package/dist/index.js.map +1 -1
  22. package/dist/modules/billing/index.cjs +1 -1
  23. package/dist/modules/billing/index.d.cts +1 -1
  24. package/dist/modules/billing/index.d.ts +1 -1
  25. package/dist/modules/billing/index.js +1 -1
  26. package/dist/modules/info-sync/index.cjs +275 -0
  27. package/dist/modules/info-sync/index.cjs.map +1 -0
  28. package/dist/modules/info-sync/index.d.cts +431 -0
  29. package/dist/modules/info-sync/index.d.ts +431 -0
  30. package/dist/modules/info-sync/index.js +269 -0
  31. package/dist/modules/info-sync/index.js.map +1 -0
  32. package/dist/modules/psychology-test/index.cjs +475 -0
  33. package/dist/modules/psychology-test/index.cjs.map +1 -0
  34. package/dist/{client-DXKAtLg1.d.ts → modules/psychology-test/index.d.cts} +32 -196
  35. package/dist/{client-l6cekf09.d.cts → modules/psychology-test/index.d.ts} +32 -196
  36. package/dist/modules/psychology-test/index.js +473 -0
  37. package/dist/modules/psychology-test/index.js.map +1 -0
  38. package/dist/modules/rbac/index.d.cts +1 -1
  39. package/dist/modules/rbac/index.d.ts +1 -1
  40. package/dist/modules/report-writer/index.cjs +282 -0
  41. package/dist/modules/report-writer/index.cjs.map +1 -0
  42. package/dist/modules/report-writer/index.d.cts +476 -0
  43. package/dist/modules/report-writer/index.d.ts +476 -0
  44. package/dist/modules/report-writer/index.js +280 -0
  45. package/dist/modules/report-writer/index.js.map +1 -0
  46. package/dist/modules/team/index.d.cts +1 -1
  47. package/dist/modules/team/index.d.ts +1 -1
  48. package/dist/modules/video-psych-analysis/index.cjs +1 -1
  49. package/dist/modules/video-psych-analysis/index.d.cts +1 -1
  50. package/dist/modules/video-psych-analysis/index.d.ts +1 -1
  51. package/dist/modules/video-psych-analysis/index.js +1 -1
  52. package/dist/modules/virtual-account/index.d.cts +1 -1
  53. package/dist/modules/virtual-account/index.d.ts +1 -1
  54. package/dist/signature-B5LL3Zij.d.cts +126 -0
  55. package/dist/signature-B5LL3Zij.d.ts +126 -0
  56. package/package.json +16 -1
  57. package/dist/chunk-LHNCGCWW.js.map +0 -1
  58. package/dist/chunk-WFBN23AH.cjs.map +0 -1
@@ -1,5 +1,6 @@
1
- import { b as LoggerFunction, S as SDKConfig } from './core-77EbLgbp.js';
2
- import { AxiosInstance, AxiosRequestConfig } from 'axios';
1
+ import { P as PlolinkClient } from '../../client-CAjIQKPm.cjs';
2
+ import '../../core-77EbLgbp.cjs';
3
+ import 'axios';
3
4
 
4
5
  /**
5
6
  * 心理评测模块类型定义
@@ -303,6 +304,34 @@ interface PsychologyTestDetail {
303
304
  /** 删除时间(软删除) */
304
305
  deletedAt: string | null;
305
306
  }
307
+ /**
308
+ * Webhook 通知数据结构
309
+ */
310
+ interface PsychologyTestWebhookData {
311
+ /** 事件类型 */
312
+ event: 'psychology_test.analysis_completed';
313
+ /** 时间戳(毫秒) */
314
+ timestamp: number;
315
+ /** 事件数据 */
316
+ data: {
317
+ /** 评测会话ID */
318
+ sessionId: string;
319
+ /** 业务模块 */
320
+ businessModule: string;
321
+ /** 业务码 */
322
+ businessCode: string;
323
+ /** 业务ID */
324
+ businessId: string;
325
+ /** 评测状态 */
326
+ status: string;
327
+ /** 分析状态 */
328
+ analysisStatus: string;
329
+ /** AI分析结果 */
330
+ analysisResult?: string;
331
+ /** 完成时间 */
332
+ completedAt: string;
333
+ };
334
+ }
306
335
  /**
307
336
  * 题库组简要信息
308
337
  */
@@ -353,107 +382,6 @@ interface ListPsychologyTestSessionsResponse {
353
382
  size: number;
354
383
  }
355
384
 
356
- /**
357
- * SDK 内部日志器
358
- *
359
- * @description
360
- * 提供统一的日志接口,支持用户自定义日志钩子。
361
- * 默认使用 console 输出,用户可以通过配置自定义 logger 函数来集成 Sentry 等监控系统。
362
- *
363
- * @example
364
- * ```typescript
365
- * const logger = new InternalLogger((level, message, data) => {
366
- * // 自定义日志处理,例如发送到 Sentry
367
- * console.log(`[${level}] ${message}`, data);
368
- * });
369
- *
370
- * logger.info('Operation started', { userId: '123' });
371
- * logger.error('Operation failed', { error: 'Network timeout' });
372
- * ```
373
- */
374
- declare class InternalLogger {
375
- /**
376
- * 用户自定义的日志钩子函数
377
- */
378
- private readonly userLogger?;
379
- /**
380
- * 是否启用日志输出
381
- * 可以通过环境变量 PLOLINK_SDK_DEBUG 控制
382
- */
383
- private readonly isDebugEnabled;
384
- /**
385
- * 创建一个 InternalLogger 实例
386
- *
387
- * @param userLogger - 用户自定义的日志钩子函数
388
- */
389
- constructor(userLogger?: LoggerFunction);
390
- /**
391
- * 记录信息级别日志
392
- *
393
- * @param message - 日志消息
394
- * @param context - 附加上下文数据
395
- */
396
- info(message: string, context?: unknown): void;
397
- /**
398
- * 记录警告级别日志
399
- *
400
- * @param message - 日志消息
401
- * @param context - 附加上下文数据
402
- */
403
- warn(message: string, context?: unknown): void;
404
- /**
405
- * 记录错误级别日志
406
- *
407
- * @param message - 日志消息
408
- * @param context - 附加上下文数据
409
- */
410
- error(message: string, context?: unknown): void;
411
- /**
412
- * 记录调试级别日志
413
- * 只有在 debug 模式下才会输出
414
- *
415
- * @param message - 日志消息
416
- * @param context - 附加上下文数据
417
- */
418
- debug(message: string, context?: unknown): void;
419
- /**
420
- * 内部日志记录方法
421
- *
422
- * @param level - 日志级别
423
- * @param message - 日志消息
424
- * @param context - 附加上下文数据
425
- */
426
- private log;
427
- /**
428
- * 创建一个带有固定上下文的子 logger
429
- *
430
- * @param context - 固定的上下文数据
431
- * @returns 新的 logger 实例
432
- *
433
- * @example
434
- * ```typescript
435
- * const logger = new InternalLogger();
436
- * const moduleLogger = logger.withContext({ module: 'billing' });
437
- * moduleLogger.info('Payment processed'); // 日志会自动带上 module: 'billing'
438
- * ```
439
- */
440
- withContext(context: Record<string, unknown>): InternalLogger;
441
- }
442
-
443
- /**
444
- * 为 Axios 实例添加类型安全的请求方法
445
- *
446
- * @description
447
- * 这些方法封装了 Axios 的原始方法,提供更好的类型推断。
448
- */
449
- interface TypedAxiosInstance extends AxiosInstance {
450
- get<T = unknown>(url: string, config?: AxiosRequestConfig): Promise<T>;
451
- post<T = unknown>(url: string, data?: unknown, config?: AxiosRequestConfig): Promise<T>;
452
- put<T = unknown>(url: string, data?: unknown, config?: AxiosRequestConfig): Promise<T>;
453
- patch<T = unknown>(url: string, data?: unknown, config?: AxiosRequestConfig): Promise<T>;
454
- delete<T = unknown>(url: string, config?: AxiosRequestConfig): Promise<T>;
455
- }
456
-
457
385
  /**
458
386
  * 心理评测模块
459
387
  *
@@ -753,96 +681,4 @@ declare class PsychologyTest {
753
681
  listBankGroups(): Promise<PsychologyBankGroupSummary[]>;
754
682
  }
755
683
 
756
- /**
757
- * Plolink SDK 客户端主类
758
- *
759
- * @description
760
- * PlolinkClient 是 SDK 的核心类,负责:
761
- * - 管理 SDK 配置(认证 Token、API 地址等)
762
- * - 初始化 Axios 实例并配置拦截器
763
- * - 提供统一的日志接口
764
- * - 作为所有业务模块的基础依赖
765
- *
766
- * @example
767
- * ```typescript
768
- * // 使用 ApiKey
769
- * const client = new PlolinkClient({
770
- * token: 'sk-123456789',
771
- * logger: (level, msg, data) => {
772
- * console.log(`[${level}] ${msg}`, data);
773
- * }
774
- * });
775
- *
776
- * // 使用 SessionId (登录后获取)
777
- * const client = new PlolinkClient({
778
- * token: 'a1b2c3d4-e5f6-7890-abcd-ef1234567890',
779
- * baseUrl: 'https://api.plolink.com'
780
- * });
781
- * ```
782
- */
783
- declare class PlolinkClient {
784
- /**
785
- * SDK 配置对象(已填充默认值)
786
- */
787
- readonly config: Required<SDKConfig>;
788
- /**
789
- * Axios 实例,用于发起 HTTP 请求
790
- */
791
- readonly axiosInstance: TypedAxiosInstance;
792
- /**
793
- * 内部日志记录器
794
- */
795
- readonly logger: InternalLogger;
796
- /**
797
- * 心理评测模块
798
- */
799
- readonly psychologyTest: PsychologyTest;
800
- /**
801
- * 创建一个 PlolinkClient 实例
802
- *
803
- * @param config - SDK 配置对象
804
- * @throws {PlolinkError} 当配置验证失败时抛出
805
- *
806
- * @example
807
- * ```typescript
808
- * const client = new PlolinkClient({
809
- * token: 'sk-your-api-key'
810
- * });
811
- * ```
812
- */
813
- constructor(config: SDKConfig);
814
- /**
815
- * 验证 SDK 配置
816
- *
817
- * @param config - SDK 配置对象
818
- * @throws {PlolinkError} 当配置不合法时抛出
819
- * @private
820
- */
821
- private validateConfig;
822
- /**
823
- * 获取当前 SDK 版本
824
- *
825
- * @returns SDK 版本号
826
- */
827
- getVersion(): string;
828
- /**
829
- * 检查客户端健康状态
830
- *
831
- * @returns 健康状态信息
832
- *
833
- * @example
834
- * ```typescript
835
- * const health = client.healthCheck();
836
- * console.log(health);
837
- * // { status: 'ok', baseUrl: '...', version: '...' }
838
- * ```
839
- */
840
- healthCheck(): {
841
- status: 'ok';
842
- baseUrl: string;
843
- version: string;
844
- hasToken: boolean;
845
- };
846
- }
847
-
848
- export { InternalLogger as I, PlolinkClient as P, PsychologyTest as a };
684
+ export { type AnswerRecord, type CreatePsychologyTestSessionParams, type CreatePsychologyTestSessionResponse, type GetSessionQuestionsResponse, type GroupSummary, type InitiatePsychologyTestParams, type InitiatePsychologyTestResponse, type ListPsychologyTestSessionsParams, type ListPsychologyTestSessionsResponse, PsychologyAnalysisStatus, type PsychologyBankGroupSummary, PsychologyTest, type PsychologyTestAnswerDetail, type PsychologyTestDetail, PsychologyTestStatus, type PsychologyTestWebhookData, type QuestionDependency, type QuestionInfo, type QuestionMetadata, type QuestionOption, type QuestionType, type SubmitPsychologyTestParams, type SubmitPsychologyTestResponse, type TestCalculationResult };
@@ -1,5 +1,6 @@
1
- import { b as LoggerFunction, S as SDKConfig } from './core-77EbLgbp.cjs';
2
- import { AxiosInstance, AxiosRequestConfig } from 'axios';
1
+ import { P as PlolinkClient } from '../../client-CwNikk7i.js';
2
+ import '../../core-77EbLgbp.js';
3
+ import 'axios';
3
4
 
4
5
  /**
5
6
  * 心理评测模块类型定义
@@ -303,6 +304,34 @@ interface PsychologyTestDetail {
303
304
  /** 删除时间(软删除) */
304
305
  deletedAt: string | null;
305
306
  }
307
+ /**
308
+ * Webhook 通知数据结构
309
+ */
310
+ interface PsychologyTestWebhookData {
311
+ /** 事件类型 */
312
+ event: 'psychology_test.analysis_completed';
313
+ /** 时间戳(毫秒) */
314
+ timestamp: number;
315
+ /** 事件数据 */
316
+ data: {
317
+ /** 评测会话ID */
318
+ sessionId: string;
319
+ /** 业务模块 */
320
+ businessModule: string;
321
+ /** 业务码 */
322
+ businessCode: string;
323
+ /** 业务ID */
324
+ businessId: string;
325
+ /** 评测状态 */
326
+ status: string;
327
+ /** 分析状态 */
328
+ analysisStatus: string;
329
+ /** AI分析结果 */
330
+ analysisResult?: string;
331
+ /** 完成时间 */
332
+ completedAt: string;
333
+ };
334
+ }
306
335
  /**
307
336
  * 题库组简要信息
308
337
  */
@@ -353,107 +382,6 @@ interface ListPsychologyTestSessionsResponse {
353
382
  size: number;
354
383
  }
355
384
 
356
- /**
357
- * SDK 内部日志器
358
- *
359
- * @description
360
- * 提供统一的日志接口,支持用户自定义日志钩子。
361
- * 默认使用 console 输出,用户可以通过配置自定义 logger 函数来集成 Sentry 等监控系统。
362
- *
363
- * @example
364
- * ```typescript
365
- * const logger = new InternalLogger((level, message, data) => {
366
- * // 自定义日志处理,例如发送到 Sentry
367
- * console.log(`[${level}] ${message}`, data);
368
- * });
369
- *
370
- * logger.info('Operation started', { userId: '123' });
371
- * logger.error('Operation failed', { error: 'Network timeout' });
372
- * ```
373
- */
374
- declare class InternalLogger {
375
- /**
376
- * 用户自定义的日志钩子函数
377
- */
378
- private readonly userLogger?;
379
- /**
380
- * 是否启用日志输出
381
- * 可以通过环境变量 PLOLINK_SDK_DEBUG 控制
382
- */
383
- private readonly isDebugEnabled;
384
- /**
385
- * 创建一个 InternalLogger 实例
386
- *
387
- * @param userLogger - 用户自定义的日志钩子函数
388
- */
389
- constructor(userLogger?: LoggerFunction);
390
- /**
391
- * 记录信息级别日志
392
- *
393
- * @param message - 日志消息
394
- * @param context - 附加上下文数据
395
- */
396
- info(message: string, context?: unknown): void;
397
- /**
398
- * 记录警告级别日志
399
- *
400
- * @param message - 日志消息
401
- * @param context - 附加上下文数据
402
- */
403
- warn(message: string, context?: unknown): void;
404
- /**
405
- * 记录错误级别日志
406
- *
407
- * @param message - 日志消息
408
- * @param context - 附加上下文数据
409
- */
410
- error(message: string, context?: unknown): void;
411
- /**
412
- * 记录调试级别日志
413
- * 只有在 debug 模式下才会输出
414
- *
415
- * @param message - 日志消息
416
- * @param context - 附加上下文数据
417
- */
418
- debug(message: string, context?: unknown): void;
419
- /**
420
- * 内部日志记录方法
421
- *
422
- * @param level - 日志级别
423
- * @param message - 日志消息
424
- * @param context - 附加上下文数据
425
- */
426
- private log;
427
- /**
428
- * 创建一个带有固定上下文的子 logger
429
- *
430
- * @param context - 固定的上下文数据
431
- * @returns 新的 logger 实例
432
- *
433
- * @example
434
- * ```typescript
435
- * const logger = new InternalLogger();
436
- * const moduleLogger = logger.withContext({ module: 'billing' });
437
- * moduleLogger.info('Payment processed'); // 日志会自动带上 module: 'billing'
438
- * ```
439
- */
440
- withContext(context: Record<string, unknown>): InternalLogger;
441
- }
442
-
443
- /**
444
- * 为 Axios 实例添加类型安全的请求方法
445
- *
446
- * @description
447
- * 这些方法封装了 Axios 的原始方法,提供更好的类型推断。
448
- */
449
- interface TypedAxiosInstance extends AxiosInstance {
450
- get<T = unknown>(url: string, config?: AxiosRequestConfig): Promise<T>;
451
- post<T = unknown>(url: string, data?: unknown, config?: AxiosRequestConfig): Promise<T>;
452
- put<T = unknown>(url: string, data?: unknown, config?: AxiosRequestConfig): Promise<T>;
453
- patch<T = unknown>(url: string, data?: unknown, config?: AxiosRequestConfig): Promise<T>;
454
- delete<T = unknown>(url: string, config?: AxiosRequestConfig): Promise<T>;
455
- }
456
-
457
385
  /**
458
386
  * 心理评测模块
459
387
  *
@@ -753,96 +681,4 @@ declare class PsychologyTest {
753
681
  listBankGroups(): Promise<PsychologyBankGroupSummary[]>;
754
682
  }
755
683
 
756
- /**
757
- * Plolink SDK 客户端主类
758
- *
759
- * @description
760
- * PlolinkClient 是 SDK 的核心类,负责:
761
- * - 管理 SDK 配置(认证 Token、API 地址等)
762
- * - 初始化 Axios 实例并配置拦截器
763
- * - 提供统一的日志接口
764
- * - 作为所有业务模块的基础依赖
765
- *
766
- * @example
767
- * ```typescript
768
- * // 使用 ApiKey
769
- * const client = new PlolinkClient({
770
- * token: 'sk-123456789',
771
- * logger: (level, msg, data) => {
772
- * console.log(`[${level}] ${msg}`, data);
773
- * }
774
- * });
775
- *
776
- * // 使用 SessionId (登录后获取)
777
- * const client = new PlolinkClient({
778
- * token: 'a1b2c3d4-e5f6-7890-abcd-ef1234567890',
779
- * baseUrl: 'https://api.plolink.com'
780
- * });
781
- * ```
782
- */
783
- declare class PlolinkClient {
784
- /**
785
- * SDK 配置对象(已填充默认值)
786
- */
787
- readonly config: Required<SDKConfig>;
788
- /**
789
- * Axios 实例,用于发起 HTTP 请求
790
- */
791
- readonly axiosInstance: TypedAxiosInstance;
792
- /**
793
- * 内部日志记录器
794
- */
795
- readonly logger: InternalLogger;
796
- /**
797
- * 心理评测模块
798
- */
799
- readonly psychologyTest: PsychologyTest;
800
- /**
801
- * 创建一个 PlolinkClient 实例
802
- *
803
- * @param config - SDK 配置对象
804
- * @throws {PlolinkError} 当配置验证失败时抛出
805
- *
806
- * @example
807
- * ```typescript
808
- * const client = new PlolinkClient({
809
- * token: 'sk-your-api-key'
810
- * });
811
- * ```
812
- */
813
- constructor(config: SDKConfig);
814
- /**
815
- * 验证 SDK 配置
816
- *
817
- * @param config - SDK 配置对象
818
- * @throws {PlolinkError} 当配置不合法时抛出
819
- * @private
820
- */
821
- private validateConfig;
822
- /**
823
- * 获取当前 SDK 版本
824
- *
825
- * @returns SDK 版本号
826
- */
827
- getVersion(): string;
828
- /**
829
- * 检查客户端健康状态
830
- *
831
- * @returns 健康状态信息
832
- *
833
- * @example
834
- * ```typescript
835
- * const health = client.healthCheck();
836
- * console.log(health);
837
- * // { status: 'ok', baseUrl: '...', version: '...' }
838
- * ```
839
- */
840
- healthCheck(): {
841
- status: 'ok';
842
- baseUrl: string;
843
- version: string;
844
- hasToken: boolean;
845
- };
846
- }
847
-
848
- export { InternalLogger as I, PlolinkClient as P, PsychologyTest as a };
684
+ export { type AnswerRecord, type CreatePsychologyTestSessionParams, type CreatePsychologyTestSessionResponse, type GetSessionQuestionsResponse, type GroupSummary, type InitiatePsychologyTestParams, type InitiatePsychologyTestResponse, type ListPsychologyTestSessionsParams, type ListPsychologyTestSessionsResponse, PsychologyAnalysisStatus, type PsychologyBankGroupSummary, PsychologyTest, type PsychologyTestAnswerDetail, type PsychologyTestDetail, PsychologyTestStatus, type PsychologyTestWebhookData, type QuestionDependency, type QuestionInfo, type QuestionMetadata, type QuestionOption, type QuestionType, type SubmitPsychologyTestParams, type SubmitPsychologyTestResponse, type TestCalculationResult };