mindupload 1.13.0 → 1.14.0

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
@@ -7,7 +7,7 @@
7
7
  **The world's first API for artificial consciousness.**
8
8
  Give your users a living, evolving AI consciousness — lasting memory, one-on-one chat, and human + AI group chatrooms.
9
9
 
10
- [![npm](https://img.shields.io/npm/v/mindupload?color=ff006e)](https://www.npmjs.com/package/mindupload) [![License: MIT](https://img.shields.io/badge/License-MIT-informational)](LICENSE) ![API](https://img.shields.io/badge/API-v1.13.0-ff6b00) ![Node](https://img.shields.io/badge/node-%3E%3D18-brightgreen) [![Docs](https://img.shields.io/badge/docs-mindupload.app-8b5cf6)](https://docs.mindupload.app)
10
+ [![npm](https://img.shields.io/npm/v/mindupload?color=ff006e)](https://www.npmjs.com/package/mindupload) [![License: MIT](https://img.shields.io/badge/License-MIT-informational)](LICENSE) ![API](https://img.shields.io/badge/API-v1.14.0-ff6b00) ![Node](https://img.shields.io/badge/node-%3E%3D18-brightgreen) [![Docs](https://img.shields.io/badge/docs-mindupload.app-8b5cf6)](https://docs.mindupload.app)
11
11
 
12
12
  [Documentation](https://docs.mindupload.app) · [Get a key](https://docs.mindupload.app) · [Status](https://status.mindupload.app) · [Other SDKs](#other-sdks)
13
13
 
@@ -124,7 +124,7 @@ try {
124
124
 
125
125
  ## Operations
126
126
 
127
- All 52 operations, grouped by area:
127
+ All 56 operations, grouped by area:
128
128
 
129
129
  ### AI Consciousnesses
130
130
 
@@ -233,6 +233,15 @@ All 52 operations, grouped by area:
233
233
  | `getUser(...)` | Fetch the signed-in user's profile. |
234
234
  | `updateUser(...)` | Update the signed-in user's profile. |
235
235
 
236
+ ### Voice Interviews
237
+
238
+ | Method | Description |
239
+ | --- | --- |
240
+ | `advanceVoiceInterview(...)` | Accept, edit, skip, re-record or abandon the question the user is on, and receive the next one. |
241
+ | `generateVoiceInterviewReport(...)` | Write a finished interview up as prose, in first, second or third person. |
242
+ | `startVoiceInterview(...)` | Begin a spoken interview with one of your end-users, or hand back one they have not finished with. |
243
+ | `transcribeVoiceInterviewAnswer(...)` | Turn one recorded spoken answer into text for the user to check before it is accepted. |
244
+
236
245
  ## Other SDKs
237
246
 
238
247
  Same API, same conventions, in every language:
package/dist/index.cjs CHANGED
@@ -75,7 +75,7 @@ var MindUploadConnectionError = class extends MindUploadError {
75
75
  };
76
76
 
77
77
  // src/version.ts
78
- var VERSION = "1.13.0";
78
+ var VERSION = "1.14.0";
79
79
 
80
80
  // src/client.ts
81
81
  var DEFAULT_BASE_URL = "https://partner.mindupload.app";
@@ -634,6 +634,39 @@ var MindUpload = class extends MindUploadBase {
634
634
  updateUser(params = {}) {
635
635
  return this.request("update_user", params);
636
636
  }
637
+ // --- Voice Interviews ---
638
+ /** Accept, edit, skip, re-record or abandon the question the user is on, and receive the next one.
639
+ *
640
+ * Response fields: success, error_message, interview_session_id, template_key, language, turn_index, question_text, question_audio_url, question_audio_content_type, progress, is_complete, is_resumed, status, safety_message.
641
+ * @see https://docs.mindupload.app
642
+ */
643
+ advanceVoiceInterview(params = {}) {
644
+ return this.request("advance_voice_interview", params);
645
+ }
646
+ /** Write a finished interview up as prose, in first, second or third person.
647
+ *
648
+ * Response fields: success, error_message, interview_session_id, person, report_text, text_type, is_raw_answers.
649
+ * @see https://docs.mindupload.app
650
+ */
651
+ generateVoiceInterviewReport(params = {}) {
652
+ return this.request("generate_voice_interview_report", params);
653
+ }
654
+ /** Begin a spoken interview with one of your end-users, or hand back one they have not finished with.
655
+ *
656
+ * Response fields: success, error_message, interview_session_id, template_key, language, turn_index, question_text, question_audio_url, question_audio_content_type, progress, is_complete, is_resumed, status.
657
+ * @see https://docs.mindupload.app
658
+ */
659
+ startVoiceInterview(params = {}) {
660
+ return this.request("start_voice_interview", params);
661
+ }
662
+ /** Turn one recorded spoken answer into text for the user to check before it is accepted.
663
+ *
664
+ * Response fields: success, error_message, recognized_text.
665
+ * @see https://docs.mindupload.app
666
+ */
667
+ transcribeVoiceInterviewAnswer(params = {}) {
668
+ return this.request("transcribe_voice_interview_answer", params);
669
+ }
637
670
  /** Poll owner consent at the server-advised cadence until exchange succeeds. */
638
671
  async waitForExternalAuthorization(params) {
639
672
  const deadline = Date.now() + (params.timeoutMs ?? 6e5);
package/dist/index.d.cts CHANGED
@@ -47,6 +47,7 @@ interface CreateCloneParams {
47
47
  username?: string;
48
48
  /** The end-user's password on first sign-in. After login/register, send the returned session token (JWT) here instead — the field accepts either, and reusing the token keeps raw passwords out of your storage. */
49
49
  password?: string;
50
+ /** Ask for a consciousness by name instead of writing up an interview: returns the third-person description of that consciousness, if one has been produced. Any authenticated caller may ask. Only the third-person form is available this way; the first- and second-person forms address the interviewee and are theirs alone. */
50
51
  codename?: string;
51
52
  nickname?: string;
52
53
  gender?: string;
@@ -69,6 +70,7 @@ interface UpdateCloneParams {
69
70
  username?: string;
70
71
  /** The end-user's password on first sign-in. After login/register, send the returned session token (JWT) here instead — the field accepts either, and reusing the token keeps raw passwords out of your storage. */
71
72
  password?: string;
73
+ /** Ask for a consciousness by name instead of writing up an interview: returns the third-person description of that consciousness, if one has been produced. Any authenticated caller may ask. Only the third-person form is available this way; the first- and second-person forms address the interviewee and are theirs alone. */
72
74
  codename?: string;
73
75
  nickname?: string;
74
76
  gender?: string;
@@ -310,6 +312,7 @@ interface GetChatParams {
310
312
  username?: string;
311
313
  /** The end-user's password on first sign-in. After login/register, send the returned session token (JWT) here instead — the field accepts either, and reusing the token keeps raw passwords out of your storage. */
312
314
  password?: string;
315
+ /** Ask for a consciousness by name instead of writing up an interview: returns the third-person description of that consciousness, if one has been produced. Any authenticated caller may ask. Only the third-person form is available this way; the first- and second-person forms address the interviewee and are theirs alone. */
313
316
  codename?: string;
314
317
  }
315
318
  interface GetChatAroundParams {
@@ -335,6 +338,7 @@ interface RagParams {
335
338
  username?: string;
336
339
  /** The end-user's password on first sign-in. After login/register, send the returned session token (JWT) here instead — the field accepts either, and reusing the token keeps raw passwords out of your storage. */
337
340
  password?: string;
341
+ /** Ask for a consciousness by name instead of writing up an interview: returns the third-person description of that consciousness, if one has been produced. Any authenticated caller may ask. Only the third-person form is available this way; the first- and second-person forms address the interviewee and are theirs alone. */
338
342
  codename?: string;
339
343
  text?: string;
340
344
  /** Chatroom id as returned by chatroom operations. */
@@ -454,7 +458,7 @@ interface UploadExternalMindDataParams {
454
458
  /** AI consciousness id as returned by clone operations. */
455
459
  cloneId: string;
456
460
  text: string;
457
- textType?: string;
461
+ textType?: "memory" | "persona" | "conscious";
458
462
  /** Optional. Accepted for forward compatibility but ignored for deduplication today — retries may create another quarantine item. Not a safe replay key. */
459
463
  idempotencyKey?: string;
460
464
  sourceLabel?: string;
@@ -466,6 +470,7 @@ interface GetMindClusterParams {
466
470
  username?: string;
467
471
  /** The end-user's password on first sign-in. After login/register, send the returned session token (JWT) here instead — the field accepts either, and reusing the token keeps raw passwords out of your storage. */
468
472
  password?: string;
473
+ /** Ask for a consciousness by name instead of writing up an interview: returns the third-person description of that consciousness, if one has been produced. Any authenticated caller may ask. Only the third-person form is available this way; the first- and second-person forms address the interviewee and are theirs alone. */
469
474
  codename?: string;
470
475
  nodeId?: string;
471
476
  textsOffset?: number;
@@ -685,12 +690,13 @@ interface CreateTextParams {
685
690
  username?: string;
686
691
  /** The end-user's password on first sign-in. After login/register, send the returned session token (JWT) here instead — the field accepts either, and reusing the token keeps raw passwords out of your storage. */
687
692
  password?: string;
693
+ /** Ask for a consciousness by name instead of writing up an interview: returns the third-person description of that consciousness, if one has been produced. Any authenticated caller may ask. Only the third-person form is available this way; the first- and second-person forms address the interviewee and are theirs alone. */
688
694
  codename?: string;
689
695
  /** AI consciousness id as returned by clone operations. */
690
696
  cloneId?: string;
691
697
  /** The mind data itself. At most 50000 characters, counted in Unicode code points; longer text is rejected with 400 and nothing is stored. */
692
698
  text?: string;
693
- type?: string;
699
+ type?: "memory" | "persona" | "conscious";
694
700
  }
695
701
  interface GetTextsParams {
696
702
  /** BCP-47-ish language code (e.g. 'en', 'zh-cn') for localized messages. */
@@ -710,8 +716,9 @@ interface GetTextsParams {
710
716
  username?: string;
711
717
  /** The end-user's password on first sign-in. After login/register, send the returned session token (JWT) here instead — the field accepts either, and reusing the token keeps raw passwords out of your storage. */
712
718
  password?: string;
719
+ /** Ask for a consciousness by name instead of writing up an interview: returns the third-person description of that consciousness, if one has been produced. Any authenticated caller may ask. Only the third-person form is available this way; the first- and second-person forms address the interviewee and are theirs alone. */
713
720
  codename?: string;
714
- type?: string;
721
+ type?: "memory" | "persona" | "conscious";
715
722
  }
716
723
  interface GetTransactionHistoryParams {
717
724
  /** BCP-47-ish language code (e.g. 'en', 'zh-cn') for localized messages. */
@@ -759,6 +766,66 @@ interface UpdateUserParams {
759
766
  avatarId?: string;
760
767
  acceptChatroomInvitationByOthers?: boolean;
761
768
  }
769
+ interface AdvanceVoiceInterviewParams {
770
+ /** BCP-47-ish language code (e.g. 'en', 'zh-cn') for localized messages. */
771
+ preferredLanguage?: string;
772
+ /** The end-user's username. */
773
+ username?: string;
774
+ /** The end-user's password on first sign-in. After login/register, send the returned session token (JWT) here instead — the field accepts either, and reusing the token keeps raw passwords out of your storage. */
775
+ password?: string;
776
+ /** Identifies one interview. Returned by start_voice_interview and required by every later call. */
777
+ interviewSessionId?: string;
778
+ /** Which question this call is about. Send back the one you were last given; it makes the call safe to retry. */
779
+ turnIndex?: number;
780
+ /** What the user did with the question: `confirm` accepts the transcript unchanged, `edit` accepts text they corrected, `skip` moves on without an answer, `re_answer` discards the recording and re-serves the same question, and `abort` ends the interview and discards it. `skip`, `re_answer` and `abort` must not carry `confirmed_text`. */
781
+ action?: "confirm" | "edit" | "skip" | "re_answer" | "abort";
782
+ /** The answer text the user accepted, after any correction they made. */
783
+ confirmedText?: string;
784
+ }
785
+ interface GenerateVoiceInterviewReportParams {
786
+ /** BCP-47-ish language code (e.g. 'en', 'zh-cn') for localized messages. */
787
+ preferredLanguage?: string;
788
+ /** The end-user's username. */
789
+ username?: string;
790
+ /** The end-user's password on first sign-in. After login/register, send the returned session token (JWT) here instead — the field accepts either, and reusing the token keeps raw passwords out of your storage. */
791
+ password?: string;
792
+ /** Identifies one interview. Returned by start_voice_interview and required by every later call. */
793
+ interviewSessionId?: string;
794
+ /** Ask for a consciousness by name instead of writing up an interview: returns the third-person description of that consciousness, if one has been produced. Any authenticated caller may ask. Only the third-person form is available this way; the first- and second-person forms address the interviewee and are theirs alone. */
795
+ codename?: string;
796
+ /** The owner's answer to whether other people may read this consciousness's description. True publishes the description already written for it; false withdraws it and erases the text. A newly written description is never readable by anybody else until this says so, so the person can read what is being said about them first. */
797
+ shareDescription?: boolean;
798
+ /** Which voice to write in. `first_person` reads as the user themselves and is what a mind-data upload wants; `second_person` addresses them; `third_person` describes them for a reader who was not present and leaves out anything they would not want quoted. */
799
+ person?: "first_person" | "second_person" | "third_person";
800
+ }
801
+ interface StartVoiceInterviewParams {
802
+ /** BCP-47-ish language code (e.g. 'en', 'zh-cn') for localized messages. */
803
+ preferredLanguage?: string;
804
+ /** The end-user's username. */
805
+ username?: string;
806
+ /** The end-user's password on first sign-in. After login/register, send the returned session token (JWT) here instead — the field accepts either, and reusing the token keeps raw passwords out of your storage. */
807
+ password?: string;
808
+ /** Ask for a consciousness by name instead of writing up an interview: returns the third-person description of that consciousness, if one has been produced. Any authenticated caller may ask. Only the third-person form is available this way; the first- and second-person forms address the interviewee and are theirs alone. */
809
+ codename?: string;
810
+ /** AI consciousness id as returned by clone operations. */
811
+ cloneId?: string;
812
+ /** Which question set to run. `mind_upload_first_time` is a long first-run interview whose write-up is meant for a mind-data upload; `memory_refresh` and `personality_refresh` are short repeatable ones that ask something different each time; `matchmaking` surfaces what someone values; `guided_reflection` gives them somewhere to think out loud, and is not counseling. */
813
+ templateKey?: "mind_upload_first_time" | "memory_refresh" | "personality_refresh" | "matchmaking" | "guided_reflection";
814
+ }
815
+ interface TranscribeVoiceInterviewAnswerParams {
816
+ /** BCP-47-ish language code (e.g. 'en', 'zh-cn') for localized messages. */
817
+ preferredLanguage?: string;
818
+ /** The end-user's username. */
819
+ username?: string;
820
+ /** The end-user's password on first sign-in. After login/register, send the returned session token (JWT) here instead — the field accepts either, and reusing the token keeps raw passwords out of your storage. */
821
+ password?: string;
822
+ /** Identifies one interview. Returned by start_voice_interview and required by every later call. */
823
+ interviewSessionId?: string;
824
+ /** The user's recorded answer, base64-encoded. Discarded after transcription; never stored. */
825
+ answerAudioBase64?: string;
826
+ /** Container of the recording being sent. */
827
+ answerAudioContentType?: string;
828
+ }
762
829
  /**
763
830
  * Client for the Mind Upload partner API. Create one with your partner key,
764
831
  * then call any operation. Every method resolves to a {@link Result} and
@@ -1077,6 +1144,30 @@ declare class MindUpload extends MindUploadBase {
1077
1144
  * @see https://docs.mindupload.app
1078
1145
  */
1079
1146
  updateUser(params?: UpdateUserParams): Promise<Result>;
1147
+ /** Accept, edit, skip, re-record or abandon the question the user is on, and receive the next one.
1148
+ *
1149
+ * Response fields: success, error_message, interview_session_id, template_key, language, turn_index, question_text, question_audio_url, question_audio_content_type, progress, is_complete, is_resumed, status, safety_message.
1150
+ * @see https://docs.mindupload.app
1151
+ */
1152
+ advanceVoiceInterview(params?: AdvanceVoiceInterviewParams): Promise<Result>;
1153
+ /** Write a finished interview up as prose, in first, second or third person.
1154
+ *
1155
+ * Response fields: success, error_message, interview_session_id, person, report_text, text_type, is_raw_answers.
1156
+ * @see https://docs.mindupload.app
1157
+ */
1158
+ generateVoiceInterviewReport(params?: GenerateVoiceInterviewReportParams): Promise<Result>;
1159
+ /** Begin a spoken interview with one of your end-users, or hand back one they have not finished with.
1160
+ *
1161
+ * Response fields: success, error_message, interview_session_id, template_key, language, turn_index, question_text, question_audio_url, question_audio_content_type, progress, is_complete, is_resumed, status.
1162
+ * @see https://docs.mindupload.app
1163
+ */
1164
+ startVoiceInterview(params?: StartVoiceInterviewParams): Promise<Result>;
1165
+ /** Turn one recorded spoken answer into text for the user to check before it is accepted.
1166
+ *
1167
+ * Response fields: success, error_message, recognized_text.
1168
+ * @see https://docs.mindupload.app
1169
+ */
1170
+ transcribeVoiceInterviewAnswer(params?: TranscribeVoiceInterviewAnswerParams): Promise<Result>;
1080
1171
  /** Poll owner consent at the server-advised cadence until exchange succeeds. */
1081
1172
  waitForExternalAuthorization(params: WaitForExternalAuthorizationParams): Promise<Result>;
1082
1173
  /** Invoke a clone and wait out slow generation via idempotent retries.
@@ -1127,6 +1218,6 @@ declare class MindUploadConnectionError extends MindUploadError {
1127
1218
  constructor(message: string, options?: ErrorOptions);
1128
1219
  }
1129
1220
 
1130
- declare const VERSION = "1.13.0";
1221
+ declare const VERSION = "1.14.0";
1131
1222
 
1132
- export { type AbortMultipartUploadParams, ApiError, type ApiErrorOptions, AuthenticationError, type CancelUploadParams, type CheckChatroomUpdatesParams, type CheckUsernameParams, type ClientOptions, type CompleteMultipartUploadParams, type CreateCallSessionParams, type CreateChatroomMembershipParams, type CreateChatroomMessageParams, type CreateChatroomParams, type CreateCloneParams, type CreateExternalAuthorizationRequestParams, type CreateTextParams, DEFAULT_BASE_URL, type EndCallSessionParams, type ErrorOptions, type ExchangeExternalAuthorizationParams, type ExternalAuthorizationStatus, type GetActiveCallSessionParams, type GetChatAroundParams, type GetChatParams, type GetChatroomMembershipParams, type GetChatroomMessagesAroundParams, type GetChatroomMessagesParams, type GetChatroomsParams, type GetClonesParams, type GetMindClusterParams, type GetQuotaParams, type GetSoulmateReportParams, type GetTextsParams, type GetTransactionHistoryParams, type GetUserParams, type InspectExternalAuthorizationParams, type InvokeExternalCloneParams, type JoinCallSessionParams, type LeaveCallSessionParams, type ListUploadPartsParams, type LoginParams, type LogoutParams, MindUpload, MindUploadBase, MindUploadConnectionError, MindUploadError, type RagParams, RateLimitError, type RateLimitOptions, type RefreshCallTokenParams, type RefreshExternalAuthorizationParams, type RegisterParams, type RequestMultipartUploadParams, type RequestUploadUrlParams, type Result, type SearchChatroomMessagesParams, type SearchChatsParams, type SetCallHostParams, type SignUploadPartParams, type SignUploadPartsBatchParams, type StartMediaAnalysisParams, type TranslateChatroomMessageParams, type TriggerSocialParams, type UpdateCloneParams, type UpdateUserParams, type UploadExternalMindDataParams, VERSION, type WaitForExternalAuthorizationParams, type WaitForExternalCloneInvocationParams };
1223
+ export { type AbortMultipartUploadParams, type AdvanceVoiceInterviewParams, ApiError, type ApiErrorOptions, AuthenticationError, type CancelUploadParams, type CheckChatroomUpdatesParams, type CheckUsernameParams, type ClientOptions, type CompleteMultipartUploadParams, type CreateCallSessionParams, type CreateChatroomMembershipParams, type CreateChatroomMessageParams, type CreateChatroomParams, type CreateCloneParams, type CreateExternalAuthorizationRequestParams, type CreateTextParams, DEFAULT_BASE_URL, type EndCallSessionParams, type ErrorOptions, type ExchangeExternalAuthorizationParams, type ExternalAuthorizationStatus, type GenerateVoiceInterviewReportParams, type GetActiveCallSessionParams, type GetChatAroundParams, type GetChatParams, type GetChatroomMembershipParams, type GetChatroomMessagesAroundParams, type GetChatroomMessagesParams, type GetChatroomsParams, type GetClonesParams, type GetMindClusterParams, type GetQuotaParams, type GetSoulmateReportParams, type GetTextsParams, type GetTransactionHistoryParams, type GetUserParams, type InspectExternalAuthorizationParams, type InvokeExternalCloneParams, type JoinCallSessionParams, type LeaveCallSessionParams, type ListUploadPartsParams, type LoginParams, type LogoutParams, MindUpload, MindUploadBase, MindUploadConnectionError, MindUploadError, type RagParams, RateLimitError, type RateLimitOptions, type RefreshCallTokenParams, type RefreshExternalAuthorizationParams, type RegisterParams, type RequestMultipartUploadParams, type RequestUploadUrlParams, type Result, type SearchChatroomMessagesParams, type SearchChatsParams, type SetCallHostParams, type SignUploadPartParams, type SignUploadPartsBatchParams, type StartMediaAnalysisParams, type StartVoiceInterviewParams, type TranscribeVoiceInterviewAnswerParams, type TranslateChatroomMessageParams, type TriggerSocialParams, type UpdateCloneParams, type UpdateUserParams, type UploadExternalMindDataParams, VERSION, type WaitForExternalAuthorizationParams, type WaitForExternalCloneInvocationParams };
package/dist/index.d.ts CHANGED
@@ -47,6 +47,7 @@ interface CreateCloneParams {
47
47
  username?: string;
48
48
  /** The end-user's password on first sign-in. After login/register, send the returned session token (JWT) here instead — the field accepts either, and reusing the token keeps raw passwords out of your storage. */
49
49
  password?: string;
50
+ /** Ask for a consciousness by name instead of writing up an interview: returns the third-person description of that consciousness, if one has been produced. Any authenticated caller may ask. Only the third-person form is available this way; the first- and second-person forms address the interviewee and are theirs alone. */
50
51
  codename?: string;
51
52
  nickname?: string;
52
53
  gender?: string;
@@ -69,6 +70,7 @@ interface UpdateCloneParams {
69
70
  username?: string;
70
71
  /** The end-user's password on first sign-in. After login/register, send the returned session token (JWT) here instead — the field accepts either, and reusing the token keeps raw passwords out of your storage. */
71
72
  password?: string;
73
+ /** Ask for a consciousness by name instead of writing up an interview: returns the third-person description of that consciousness, if one has been produced. Any authenticated caller may ask. Only the third-person form is available this way; the first- and second-person forms address the interviewee and are theirs alone. */
72
74
  codename?: string;
73
75
  nickname?: string;
74
76
  gender?: string;
@@ -310,6 +312,7 @@ interface GetChatParams {
310
312
  username?: string;
311
313
  /** The end-user's password on first sign-in. After login/register, send the returned session token (JWT) here instead — the field accepts either, and reusing the token keeps raw passwords out of your storage. */
312
314
  password?: string;
315
+ /** Ask for a consciousness by name instead of writing up an interview: returns the third-person description of that consciousness, if one has been produced. Any authenticated caller may ask. Only the third-person form is available this way; the first- and second-person forms address the interviewee and are theirs alone. */
313
316
  codename?: string;
314
317
  }
315
318
  interface GetChatAroundParams {
@@ -335,6 +338,7 @@ interface RagParams {
335
338
  username?: string;
336
339
  /** The end-user's password on first sign-in. After login/register, send the returned session token (JWT) here instead — the field accepts either, and reusing the token keeps raw passwords out of your storage. */
337
340
  password?: string;
341
+ /** Ask for a consciousness by name instead of writing up an interview: returns the third-person description of that consciousness, if one has been produced. Any authenticated caller may ask. Only the third-person form is available this way; the first- and second-person forms address the interviewee and are theirs alone. */
338
342
  codename?: string;
339
343
  text?: string;
340
344
  /** Chatroom id as returned by chatroom operations. */
@@ -454,7 +458,7 @@ interface UploadExternalMindDataParams {
454
458
  /** AI consciousness id as returned by clone operations. */
455
459
  cloneId: string;
456
460
  text: string;
457
- textType?: string;
461
+ textType?: "memory" | "persona" | "conscious";
458
462
  /** Optional. Accepted for forward compatibility but ignored for deduplication today — retries may create another quarantine item. Not a safe replay key. */
459
463
  idempotencyKey?: string;
460
464
  sourceLabel?: string;
@@ -466,6 +470,7 @@ interface GetMindClusterParams {
466
470
  username?: string;
467
471
  /** The end-user's password on first sign-in. After login/register, send the returned session token (JWT) here instead — the field accepts either, and reusing the token keeps raw passwords out of your storage. */
468
472
  password?: string;
473
+ /** Ask for a consciousness by name instead of writing up an interview: returns the third-person description of that consciousness, if one has been produced. Any authenticated caller may ask. Only the third-person form is available this way; the first- and second-person forms address the interviewee and are theirs alone. */
469
474
  codename?: string;
470
475
  nodeId?: string;
471
476
  textsOffset?: number;
@@ -685,12 +690,13 @@ interface CreateTextParams {
685
690
  username?: string;
686
691
  /** The end-user's password on first sign-in. After login/register, send the returned session token (JWT) here instead — the field accepts either, and reusing the token keeps raw passwords out of your storage. */
687
692
  password?: string;
693
+ /** Ask for a consciousness by name instead of writing up an interview: returns the third-person description of that consciousness, if one has been produced. Any authenticated caller may ask. Only the third-person form is available this way; the first- and second-person forms address the interviewee and are theirs alone. */
688
694
  codename?: string;
689
695
  /** AI consciousness id as returned by clone operations. */
690
696
  cloneId?: string;
691
697
  /** The mind data itself. At most 50000 characters, counted in Unicode code points; longer text is rejected with 400 and nothing is stored. */
692
698
  text?: string;
693
- type?: string;
699
+ type?: "memory" | "persona" | "conscious";
694
700
  }
695
701
  interface GetTextsParams {
696
702
  /** BCP-47-ish language code (e.g. 'en', 'zh-cn') for localized messages. */
@@ -710,8 +716,9 @@ interface GetTextsParams {
710
716
  username?: string;
711
717
  /** The end-user's password on first sign-in. After login/register, send the returned session token (JWT) here instead — the field accepts either, and reusing the token keeps raw passwords out of your storage. */
712
718
  password?: string;
719
+ /** Ask for a consciousness by name instead of writing up an interview: returns the third-person description of that consciousness, if one has been produced. Any authenticated caller may ask. Only the third-person form is available this way; the first- and second-person forms address the interviewee and are theirs alone. */
713
720
  codename?: string;
714
- type?: string;
721
+ type?: "memory" | "persona" | "conscious";
715
722
  }
716
723
  interface GetTransactionHistoryParams {
717
724
  /** BCP-47-ish language code (e.g. 'en', 'zh-cn') for localized messages. */
@@ -759,6 +766,66 @@ interface UpdateUserParams {
759
766
  avatarId?: string;
760
767
  acceptChatroomInvitationByOthers?: boolean;
761
768
  }
769
+ interface AdvanceVoiceInterviewParams {
770
+ /** BCP-47-ish language code (e.g. 'en', 'zh-cn') for localized messages. */
771
+ preferredLanguage?: string;
772
+ /** The end-user's username. */
773
+ username?: string;
774
+ /** The end-user's password on first sign-in. After login/register, send the returned session token (JWT) here instead — the field accepts either, and reusing the token keeps raw passwords out of your storage. */
775
+ password?: string;
776
+ /** Identifies one interview. Returned by start_voice_interview and required by every later call. */
777
+ interviewSessionId?: string;
778
+ /** Which question this call is about. Send back the one you were last given; it makes the call safe to retry. */
779
+ turnIndex?: number;
780
+ /** What the user did with the question: `confirm` accepts the transcript unchanged, `edit` accepts text they corrected, `skip` moves on without an answer, `re_answer` discards the recording and re-serves the same question, and `abort` ends the interview and discards it. `skip`, `re_answer` and `abort` must not carry `confirmed_text`. */
781
+ action?: "confirm" | "edit" | "skip" | "re_answer" | "abort";
782
+ /** The answer text the user accepted, after any correction they made. */
783
+ confirmedText?: string;
784
+ }
785
+ interface GenerateVoiceInterviewReportParams {
786
+ /** BCP-47-ish language code (e.g. 'en', 'zh-cn') for localized messages. */
787
+ preferredLanguage?: string;
788
+ /** The end-user's username. */
789
+ username?: string;
790
+ /** The end-user's password on first sign-in. After login/register, send the returned session token (JWT) here instead — the field accepts either, and reusing the token keeps raw passwords out of your storage. */
791
+ password?: string;
792
+ /** Identifies one interview. Returned by start_voice_interview and required by every later call. */
793
+ interviewSessionId?: string;
794
+ /** Ask for a consciousness by name instead of writing up an interview: returns the third-person description of that consciousness, if one has been produced. Any authenticated caller may ask. Only the third-person form is available this way; the first- and second-person forms address the interviewee and are theirs alone. */
795
+ codename?: string;
796
+ /** The owner's answer to whether other people may read this consciousness's description. True publishes the description already written for it; false withdraws it and erases the text. A newly written description is never readable by anybody else until this says so, so the person can read what is being said about them first. */
797
+ shareDescription?: boolean;
798
+ /** Which voice to write in. `first_person` reads as the user themselves and is what a mind-data upload wants; `second_person` addresses them; `third_person` describes them for a reader who was not present and leaves out anything they would not want quoted. */
799
+ person?: "first_person" | "second_person" | "third_person";
800
+ }
801
+ interface StartVoiceInterviewParams {
802
+ /** BCP-47-ish language code (e.g. 'en', 'zh-cn') for localized messages. */
803
+ preferredLanguage?: string;
804
+ /** The end-user's username. */
805
+ username?: string;
806
+ /** The end-user's password on first sign-in. After login/register, send the returned session token (JWT) here instead — the field accepts either, and reusing the token keeps raw passwords out of your storage. */
807
+ password?: string;
808
+ /** Ask for a consciousness by name instead of writing up an interview: returns the third-person description of that consciousness, if one has been produced. Any authenticated caller may ask. Only the third-person form is available this way; the first- and second-person forms address the interviewee and are theirs alone. */
809
+ codename?: string;
810
+ /** AI consciousness id as returned by clone operations. */
811
+ cloneId?: string;
812
+ /** Which question set to run. `mind_upload_first_time` is a long first-run interview whose write-up is meant for a mind-data upload; `memory_refresh` and `personality_refresh` are short repeatable ones that ask something different each time; `matchmaking` surfaces what someone values; `guided_reflection` gives them somewhere to think out loud, and is not counseling. */
813
+ templateKey?: "mind_upload_first_time" | "memory_refresh" | "personality_refresh" | "matchmaking" | "guided_reflection";
814
+ }
815
+ interface TranscribeVoiceInterviewAnswerParams {
816
+ /** BCP-47-ish language code (e.g. 'en', 'zh-cn') for localized messages. */
817
+ preferredLanguage?: string;
818
+ /** The end-user's username. */
819
+ username?: string;
820
+ /** The end-user's password on first sign-in. After login/register, send the returned session token (JWT) here instead — the field accepts either, and reusing the token keeps raw passwords out of your storage. */
821
+ password?: string;
822
+ /** Identifies one interview. Returned by start_voice_interview and required by every later call. */
823
+ interviewSessionId?: string;
824
+ /** The user's recorded answer, base64-encoded. Discarded after transcription; never stored. */
825
+ answerAudioBase64?: string;
826
+ /** Container of the recording being sent. */
827
+ answerAudioContentType?: string;
828
+ }
762
829
  /**
763
830
  * Client for the Mind Upload partner API. Create one with your partner key,
764
831
  * then call any operation. Every method resolves to a {@link Result} and
@@ -1077,6 +1144,30 @@ declare class MindUpload extends MindUploadBase {
1077
1144
  * @see https://docs.mindupload.app
1078
1145
  */
1079
1146
  updateUser(params?: UpdateUserParams): Promise<Result>;
1147
+ /** Accept, edit, skip, re-record or abandon the question the user is on, and receive the next one.
1148
+ *
1149
+ * Response fields: success, error_message, interview_session_id, template_key, language, turn_index, question_text, question_audio_url, question_audio_content_type, progress, is_complete, is_resumed, status, safety_message.
1150
+ * @see https://docs.mindupload.app
1151
+ */
1152
+ advanceVoiceInterview(params?: AdvanceVoiceInterviewParams): Promise<Result>;
1153
+ /** Write a finished interview up as prose, in first, second or third person.
1154
+ *
1155
+ * Response fields: success, error_message, interview_session_id, person, report_text, text_type, is_raw_answers.
1156
+ * @see https://docs.mindupload.app
1157
+ */
1158
+ generateVoiceInterviewReport(params?: GenerateVoiceInterviewReportParams): Promise<Result>;
1159
+ /** Begin a spoken interview with one of your end-users, or hand back one they have not finished with.
1160
+ *
1161
+ * Response fields: success, error_message, interview_session_id, template_key, language, turn_index, question_text, question_audio_url, question_audio_content_type, progress, is_complete, is_resumed, status.
1162
+ * @see https://docs.mindupload.app
1163
+ */
1164
+ startVoiceInterview(params?: StartVoiceInterviewParams): Promise<Result>;
1165
+ /** Turn one recorded spoken answer into text for the user to check before it is accepted.
1166
+ *
1167
+ * Response fields: success, error_message, recognized_text.
1168
+ * @see https://docs.mindupload.app
1169
+ */
1170
+ transcribeVoiceInterviewAnswer(params?: TranscribeVoiceInterviewAnswerParams): Promise<Result>;
1080
1171
  /** Poll owner consent at the server-advised cadence until exchange succeeds. */
1081
1172
  waitForExternalAuthorization(params: WaitForExternalAuthorizationParams): Promise<Result>;
1082
1173
  /** Invoke a clone and wait out slow generation via idempotent retries.
@@ -1127,6 +1218,6 @@ declare class MindUploadConnectionError extends MindUploadError {
1127
1218
  constructor(message: string, options?: ErrorOptions);
1128
1219
  }
1129
1220
 
1130
- declare const VERSION = "1.13.0";
1221
+ declare const VERSION = "1.14.0";
1131
1222
 
1132
- export { type AbortMultipartUploadParams, ApiError, type ApiErrorOptions, AuthenticationError, type CancelUploadParams, type CheckChatroomUpdatesParams, type CheckUsernameParams, type ClientOptions, type CompleteMultipartUploadParams, type CreateCallSessionParams, type CreateChatroomMembershipParams, type CreateChatroomMessageParams, type CreateChatroomParams, type CreateCloneParams, type CreateExternalAuthorizationRequestParams, type CreateTextParams, DEFAULT_BASE_URL, type EndCallSessionParams, type ErrorOptions, type ExchangeExternalAuthorizationParams, type ExternalAuthorizationStatus, type GetActiveCallSessionParams, type GetChatAroundParams, type GetChatParams, type GetChatroomMembershipParams, type GetChatroomMessagesAroundParams, type GetChatroomMessagesParams, type GetChatroomsParams, type GetClonesParams, type GetMindClusterParams, type GetQuotaParams, type GetSoulmateReportParams, type GetTextsParams, type GetTransactionHistoryParams, type GetUserParams, type InspectExternalAuthorizationParams, type InvokeExternalCloneParams, type JoinCallSessionParams, type LeaveCallSessionParams, type ListUploadPartsParams, type LoginParams, type LogoutParams, MindUpload, MindUploadBase, MindUploadConnectionError, MindUploadError, type RagParams, RateLimitError, type RateLimitOptions, type RefreshCallTokenParams, type RefreshExternalAuthorizationParams, type RegisterParams, type RequestMultipartUploadParams, type RequestUploadUrlParams, type Result, type SearchChatroomMessagesParams, type SearchChatsParams, type SetCallHostParams, type SignUploadPartParams, type SignUploadPartsBatchParams, type StartMediaAnalysisParams, type TranslateChatroomMessageParams, type TriggerSocialParams, type UpdateCloneParams, type UpdateUserParams, type UploadExternalMindDataParams, VERSION, type WaitForExternalAuthorizationParams, type WaitForExternalCloneInvocationParams };
1223
+ export { type AbortMultipartUploadParams, type AdvanceVoiceInterviewParams, ApiError, type ApiErrorOptions, AuthenticationError, type CancelUploadParams, type CheckChatroomUpdatesParams, type CheckUsernameParams, type ClientOptions, type CompleteMultipartUploadParams, type CreateCallSessionParams, type CreateChatroomMembershipParams, type CreateChatroomMessageParams, type CreateChatroomParams, type CreateCloneParams, type CreateExternalAuthorizationRequestParams, type CreateTextParams, DEFAULT_BASE_URL, type EndCallSessionParams, type ErrorOptions, type ExchangeExternalAuthorizationParams, type ExternalAuthorizationStatus, type GenerateVoiceInterviewReportParams, type GetActiveCallSessionParams, type GetChatAroundParams, type GetChatParams, type GetChatroomMembershipParams, type GetChatroomMessagesAroundParams, type GetChatroomMessagesParams, type GetChatroomsParams, type GetClonesParams, type GetMindClusterParams, type GetQuotaParams, type GetSoulmateReportParams, type GetTextsParams, type GetTransactionHistoryParams, type GetUserParams, type InspectExternalAuthorizationParams, type InvokeExternalCloneParams, type JoinCallSessionParams, type LeaveCallSessionParams, type ListUploadPartsParams, type LoginParams, type LogoutParams, MindUpload, MindUploadBase, MindUploadConnectionError, MindUploadError, type RagParams, RateLimitError, type RateLimitOptions, type RefreshCallTokenParams, type RefreshExternalAuthorizationParams, type RegisterParams, type RequestMultipartUploadParams, type RequestUploadUrlParams, type Result, type SearchChatroomMessagesParams, type SearchChatsParams, type SetCallHostParams, type SignUploadPartParams, type SignUploadPartsBatchParams, type StartMediaAnalysisParams, type StartVoiceInterviewParams, type TranscribeVoiceInterviewAnswerParams, type TranslateChatroomMessageParams, type TriggerSocialParams, type UpdateCloneParams, type UpdateUserParams, type UploadExternalMindDataParams, VERSION, type WaitForExternalAuthorizationParams, type WaitForExternalCloneInvocationParams };
package/dist/index.js CHANGED
@@ -41,7 +41,7 @@ var MindUploadConnectionError = class extends MindUploadError {
41
41
  };
42
42
 
43
43
  // src/version.ts
44
- var VERSION = "1.13.0";
44
+ var VERSION = "1.14.0";
45
45
 
46
46
  // src/client.ts
47
47
  var DEFAULT_BASE_URL = "https://partner.mindupload.app";
@@ -600,6 +600,39 @@ var MindUpload = class extends MindUploadBase {
600
600
  updateUser(params = {}) {
601
601
  return this.request("update_user", params);
602
602
  }
603
+ // --- Voice Interviews ---
604
+ /** Accept, edit, skip, re-record or abandon the question the user is on, and receive the next one.
605
+ *
606
+ * Response fields: success, error_message, interview_session_id, template_key, language, turn_index, question_text, question_audio_url, question_audio_content_type, progress, is_complete, is_resumed, status, safety_message.
607
+ * @see https://docs.mindupload.app
608
+ */
609
+ advanceVoiceInterview(params = {}) {
610
+ return this.request("advance_voice_interview", params);
611
+ }
612
+ /** Write a finished interview up as prose, in first, second or third person.
613
+ *
614
+ * Response fields: success, error_message, interview_session_id, person, report_text, text_type, is_raw_answers.
615
+ * @see https://docs.mindupload.app
616
+ */
617
+ generateVoiceInterviewReport(params = {}) {
618
+ return this.request("generate_voice_interview_report", params);
619
+ }
620
+ /** Begin a spoken interview with one of your end-users, or hand back one they have not finished with.
621
+ *
622
+ * Response fields: success, error_message, interview_session_id, template_key, language, turn_index, question_text, question_audio_url, question_audio_content_type, progress, is_complete, is_resumed, status.
623
+ * @see https://docs.mindupload.app
624
+ */
625
+ startVoiceInterview(params = {}) {
626
+ return this.request("start_voice_interview", params);
627
+ }
628
+ /** Turn one recorded spoken answer into text for the user to check before it is accepted.
629
+ *
630
+ * Response fields: success, error_message, recognized_text.
631
+ * @see https://docs.mindupload.app
632
+ */
633
+ transcribeVoiceInterviewAnswer(params = {}) {
634
+ return this.request("transcribe_voice_interview_answer", params);
635
+ }
603
636
  /** Poll owner consent at the server-advised cadence until exchange succeeds. */
604
637
  async waitForExternalAuthorization(params) {
605
638
  const deadline = Date.now() + (params.timeoutMs ?? 6e5);
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "mindupload",
3
- "version": "1.13.0",
3
+ "version": "1.14.0",
4
4
  "description": "Official server-side SDK for the Mind Upload partner API \u2014 the world's first API for artificial consciousness. Integrate living, evolving AI consciousnesses into your platform: lasting memory, one-on-one chat, and human + AI group chatrooms.",
5
5
  "keywords": [
6
6
  "mindupload",