mindupload 1.13.1 → 1.15.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.1-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.15.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.1";
78
+ var VERSION = "1.15.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;
@@ -96,6 +98,8 @@ interface LoginParams {
96
98
  username?: string;
97
99
  /** 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. */
98
100
  password?: string;
101
+ /** Optional. A stable identifier for the device or app install signing in. Send the same value every time from one install: a new sign-in then replaces only the earlier session of that install and leaves the other devices of the user signed in. */
102
+ visitorId?: string;
99
103
  }
100
104
  interface LogoutParams {
101
105
  /** BCP-47-ish language code (e.g. 'en', 'zh-cn') for localized messages. */
@@ -122,6 +126,8 @@ interface RegisterParams {
122
126
  phoneNumber?: string;
123
127
  avatarId?: string;
124
128
  acceptChatroomInvitationByOthers?: boolean;
129
+ /** Optional. The same device or app install identifier as for login; the first session of the new account is kept under it. */
130
+ visitorId?: string;
125
131
  }
126
132
  interface CheckChatroomUpdatesParams {
127
133
  /** BCP-47-ish language code (e.g. 'en', 'zh-cn') for localized messages. */
@@ -310,6 +316,7 @@ interface GetChatParams {
310
316
  username?: string;
311
317
  /** 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
318
  password?: string;
319
+ /** 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
320
  codename?: string;
314
321
  }
315
322
  interface GetChatAroundParams {
@@ -335,6 +342,7 @@ interface RagParams {
335
342
  username?: string;
336
343
  /** 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
344
  password?: string;
345
+ /** 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
346
  codename?: string;
339
347
  text?: string;
340
348
  /** Chatroom id as returned by chatroom operations. */
@@ -454,7 +462,7 @@ interface UploadExternalMindDataParams {
454
462
  /** AI consciousness id as returned by clone operations. */
455
463
  cloneId: string;
456
464
  text: string;
457
- textType?: string;
465
+ textType?: "memory" | "persona" | "conscious";
458
466
  /** Optional. Accepted for forward compatibility but ignored for deduplication today — retries may create another quarantine item. Not a safe replay key. */
459
467
  idempotencyKey?: string;
460
468
  sourceLabel?: string;
@@ -466,6 +474,7 @@ interface GetMindClusterParams {
466
474
  username?: string;
467
475
  /** 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
476
  password?: string;
477
+ /** 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
478
  codename?: string;
470
479
  nodeId?: string;
471
480
  textsOffset?: number;
@@ -621,6 +630,7 @@ interface RequestMultipartUploadParams {
621
630
  /** The kind of media: `image`, `video`, or `audio`. */
622
631
  mediaType?: string;
623
632
  hasThumbnail?: boolean;
633
+ thumbnailFileSizeBytes?: number;
624
634
  }
625
635
  interface RequestUploadUrlParams {
626
636
  /** BCP-47-ish language code (e.g. 'en', 'zh-cn') for localized messages. */
@@ -635,6 +645,7 @@ interface RequestUploadUrlParams {
635
645
  /** The kind of media: `image`, `video`, or `audio`. */
636
646
  mediaType?: string;
637
647
  hasThumbnail?: boolean;
648
+ thumbnailFileSizeBytes?: number;
638
649
  }
639
650
  interface SignUploadPartParams {
640
651
  /** BCP-47-ish language code (e.g. 'en', 'zh-cn') for localized messages. */
@@ -685,12 +696,13 @@ interface CreateTextParams {
685
696
  username?: string;
686
697
  /** 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
698
  password?: string;
699
+ /** 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
700
  codename?: string;
689
701
  /** AI consciousness id as returned by clone operations. */
690
702
  cloneId?: string;
691
703
  /** The mind data itself. At most 50000 characters, counted in Unicode code points; longer text is rejected with 400 and nothing is stored. */
692
704
  text?: string;
693
- type?: string;
705
+ type?: "memory" | "persona" | "conscious";
694
706
  }
695
707
  interface GetTextsParams {
696
708
  /** BCP-47-ish language code (e.g. 'en', 'zh-cn') for localized messages. */
@@ -710,8 +722,9 @@ interface GetTextsParams {
710
722
  username?: string;
711
723
  /** 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
724
  password?: string;
725
+ /** 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
726
  codename?: string;
714
- type?: string;
727
+ type?: "memory" | "persona" | "conscious";
715
728
  }
716
729
  interface GetTransactionHistoryParams {
717
730
  /** BCP-47-ish language code (e.g. 'en', 'zh-cn') for localized messages. */
@@ -748,7 +761,9 @@ interface UpdateUserParams {
748
761
  username?: string;
749
762
  /** 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. */
750
763
  password?: string;
764
+ /** A new email address for the account. Over the Partner API it is saved unverified, and the Partner API never uses it to reset the password. */
751
765
  email?: string;
766
+ /** Only a code the MindUpload app emailed to the new address for this account is accepted. The Partner API cannot send one, so leave this out; a wrong code fails the whole update. */
752
767
  emailVerificationCode?: string;
753
768
  firstName?: string;
754
769
  lastName?: string;
@@ -759,6 +774,66 @@ interface UpdateUserParams {
759
774
  avatarId?: string;
760
775
  acceptChatroomInvitationByOthers?: boolean;
761
776
  }
777
+ interface AdvanceVoiceInterviewParams {
778
+ /** BCP-47-ish language code (e.g. 'en', 'zh-cn') for localized messages. */
779
+ preferredLanguage?: string;
780
+ /** The end-user's username. */
781
+ username?: string;
782
+ /** 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. */
783
+ password?: string;
784
+ /** Identifies one interview. Returned by start_voice_interview and required by every later call. */
785
+ interviewSessionId?: string;
786
+ /** Which question this call is about. Send back the one you were last given; it makes the call safe to retry. */
787
+ turnIndex?: number;
788
+ /** 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`. */
789
+ action?: "confirm" | "edit" | "skip" | "re_answer" | "abort";
790
+ /** The answer text the user accepted, after any correction they made. */
791
+ confirmedText?: string;
792
+ }
793
+ interface GenerateVoiceInterviewReportParams {
794
+ /** BCP-47-ish language code (e.g. 'en', 'zh-cn') for localized messages. */
795
+ preferredLanguage?: string;
796
+ /** The end-user's username. */
797
+ username?: string;
798
+ /** 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. */
799
+ password?: string;
800
+ /** Identifies one interview. Returned by start_voice_interview and required by every later call. */
801
+ interviewSessionId?: string;
802
+ /** 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. */
803
+ codename?: string;
804
+ /** 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. */
805
+ shareDescription?: boolean;
806
+ /** 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. */
807
+ person?: "first_person" | "second_person" | "third_person";
808
+ }
809
+ interface StartVoiceInterviewParams {
810
+ /** BCP-47-ish language code (e.g. 'en', 'zh-cn') for localized messages. */
811
+ preferredLanguage?: string;
812
+ /** The end-user's username. */
813
+ username?: string;
814
+ /** 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. */
815
+ password?: string;
816
+ /** 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. */
817
+ codename?: string;
818
+ /** AI consciousness id as returned by clone operations. */
819
+ cloneId?: string;
820
+ /** 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. */
821
+ templateKey?: "mind_upload_first_time" | "memory_refresh" | "personality_refresh" | "matchmaking" | "guided_reflection";
822
+ }
823
+ interface TranscribeVoiceInterviewAnswerParams {
824
+ /** BCP-47-ish language code (e.g. 'en', 'zh-cn') for localized messages. */
825
+ preferredLanguage?: string;
826
+ /** The end-user's username. */
827
+ username?: string;
828
+ /** 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. */
829
+ password?: string;
830
+ /** Identifies one interview. Returned by start_voice_interview and required by every later call. */
831
+ interviewSessionId?: string;
832
+ /** The user's recorded answer, base64-encoded. Discarded after transcription; never stored. */
833
+ answerAudioBase64?: string;
834
+ /** Container of the recording being sent. */
835
+ answerAudioContentType?: string;
836
+ }
762
837
  /**
763
838
  * Client for the Mind Upload partner API. Create one with your partner key,
764
839
  * then call any operation. Every method resolves to a {@link Result} and
@@ -1077,6 +1152,30 @@ declare class MindUpload extends MindUploadBase {
1077
1152
  * @see https://docs.mindupload.app
1078
1153
  */
1079
1154
  updateUser(params?: UpdateUserParams): Promise<Result>;
1155
+ /** Accept, edit, skip, re-record or abandon the question the user is on, and receive the next one.
1156
+ *
1157
+ * 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.
1158
+ * @see https://docs.mindupload.app
1159
+ */
1160
+ advanceVoiceInterview(params?: AdvanceVoiceInterviewParams): Promise<Result>;
1161
+ /** Write a finished interview up as prose, in first, second or third person.
1162
+ *
1163
+ * Response fields: success, error_message, interview_session_id, person, report_text, text_type, is_raw_answers.
1164
+ * @see https://docs.mindupload.app
1165
+ */
1166
+ generateVoiceInterviewReport(params?: GenerateVoiceInterviewReportParams): Promise<Result>;
1167
+ /** Begin a spoken interview with one of your end-users, or hand back one they have not finished with.
1168
+ *
1169
+ * 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.
1170
+ * @see https://docs.mindupload.app
1171
+ */
1172
+ startVoiceInterview(params?: StartVoiceInterviewParams): Promise<Result>;
1173
+ /** Turn one recorded spoken answer into text for the user to check before it is accepted.
1174
+ *
1175
+ * Response fields: success, error_message, recognized_text.
1176
+ * @see https://docs.mindupload.app
1177
+ */
1178
+ transcribeVoiceInterviewAnswer(params?: TranscribeVoiceInterviewAnswerParams): Promise<Result>;
1080
1179
  /** Poll owner consent at the server-advised cadence until exchange succeeds. */
1081
1180
  waitForExternalAuthorization(params: WaitForExternalAuthorizationParams): Promise<Result>;
1082
1181
  /** Invoke a clone and wait out slow generation via idempotent retries.
@@ -1127,6 +1226,6 @@ declare class MindUploadConnectionError extends MindUploadError {
1127
1226
  constructor(message: string, options?: ErrorOptions);
1128
1227
  }
1129
1228
 
1130
- declare const VERSION = "1.13.1";
1229
+ declare const VERSION = "1.15.0";
1131
1230
 
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 };
1231
+ 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;
@@ -96,6 +98,8 @@ interface LoginParams {
96
98
  username?: string;
97
99
  /** 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. */
98
100
  password?: string;
101
+ /** Optional. A stable identifier for the device or app install signing in. Send the same value every time from one install: a new sign-in then replaces only the earlier session of that install and leaves the other devices of the user signed in. */
102
+ visitorId?: string;
99
103
  }
100
104
  interface LogoutParams {
101
105
  /** BCP-47-ish language code (e.g. 'en', 'zh-cn') for localized messages. */
@@ -122,6 +126,8 @@ interface RegisterParams {
122
126
  phoneNumber?: string;
123
127
  avatarId?: string;
124
128
  acceptChatroomInvitationByOthers?: boolean;
129
+ /** Optional. The same device or app install identifier as for login; the first session of the new account is kept under it. */
130
+ visitorId?: string;
125
131
  }
126
132
  interface CheckChatroomUpdatesParams {
127
133
  /** BCP-47-ish language code (e.g. 'en', 'zh-cn') for localized messages. */
@@ -310,6 +316,7 @@ interface GetChatParams {
310
316
  username?: string;
311
317
  /** 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
318
  password?: string;
319
+ /** 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
320
  codename?: string;
314
321
  }
315
322
  interface GetChatAroundParams {
@@ -335,6 +342,7 @@ interface RagParams {
335
342
  username?: string;
336
343
  /** 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
344
  password?: string;
345
+ /** 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
346
  codename?: string;
339
347
  text?: string;
340
348
  /** Chatroom id as returned by chatroom operations. */
@@ -454,7 +462,7 @@ interface UploadExternalMindDataParams {
454
462
  /** AI consciousness id as returned by clone operations. */
455
463
  cloneId: string;
456
464
  text: string;
457
- textType?: string;
465
+ textType?: "memory" | "persona" | "conscious";
458
466
  /** Optional. Accepted for forward compatibility but ignored for deduplication today — retries may create another quarantine item. Not a safe replay key. */
459
467
  idempotencyKey?: string;
460
468
  sourceLabel?: string;
@@ -466,6 +474,7 @@ interface GetMindClusterParams {
466
474
  username?: string;
467
475
  /** 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
476
  password?: string;
477
+ /** 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
478
  codename?: string;
470
479
  nodeId?: string;
471
480
  textsOffset?: number;
@@ -621,6 +630,7 @@ interface RequestMultipartUploadParams {
621
630
  /** The kind of media: `image`, `video`, or `audio`. */
622
631
  mediaType?: string;
623
632
  hasThumbnail?: boolean;
633
+ thumbnailFileSizeBytes?: number;
624
634
  }
625
635
  interface RequestUploadUrlParams {
626
636
  /** BCP-47-ish language code (e.g. 'en', 'zh-cn') for localized messages. */
@@ -635,6 +645,7 @@ interface RequestUploadUrlParams {
635
645
  /** The kind of media: `image`, `video`, or `audio`. */
636
646
  mediaType?: string;
637
647
  hasThumbnail?: boolean;
648
+ thumbnailFileSizeBytes?: number;
638
649
  }
639
650
  interface SignUploadPartParams {
640
651
  /** BCP-47-ish language code (e.g. 'en', 'zh-cn') for localized messages. */
@@ -685,12 +696,13 @@ interface CreateTextParams {
685
696
  username?: string;
686
697
  /** 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
698
  password?: string;
699
+ /** 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
700
  codename?: string;
689
701
  /** AI consciousness id as returned by clone operations. */
690
702
  cloneId?: string;
691
703
  /** The mind data itself. At most 50000 characters, counted in Unicode code points; longer text is rejected with 400 and nothing is stored. */
692
704
  text?: string;
693
- type?: string;
705
+ type?: "memory" | "persona" | "conscious";
694
706
  }
695
707
  interface GetTextsParams {
696
708
  /** BCP-47-ish language code (e.g. 'en', 'zh-cn') for localized messages. */
@@ -710,8 +722,9 @@ interface GetTextsParams {
710
722
  username?: string;
711
723
  /** 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
724
  password?: string;
725
+ /** 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
726
  codename?: string;
714
- type?: string;
727
+ type?: "memory" | "persona" | "conscious";
715
728
  }
716
729
  interface GetTransactionHistoryParams {
717
730
  /** BCP-47-ish language code (e.g. 'en', 'zh-cn') for localized messages. */
@@ -748,7 +761,9 @@ interface UpdateUserParams {
748
761
  username?: string;
749
762
  /** 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. */
750
763
  password?: string;
764
+ /** A new email address for the account. Over the Partner API it is saved unverified, and the Partner API never uses it to reset the password. */
751
765
  email?: string;
766
+ /** Only a code the MindUpload app emailed to the new address for this account is accepted. The Partner API cannot send one, so leave this out; a wrong code fails the whole update. */
752
767
  emailVerificationCode?: string;
753
768
  firstName?: string;
754
769
  lastName?: string;
@@ -759,6 +774,66 @@ interface UpdateUserParams {
759
774
  avatarId?: string;
760
775
  acceptChatroomInvitationByOthers?: boolean;
761
776
  }
777
+ interface AdvanceVoiceInterviewParams {
778
+ /** BCP-47-ish language code (e.g. 'en', 'zh-cn') for localized messages. */
779
+ preferredLanguage?: string;
780
+ /** The end-user's username. */
781
+ username?: string;
782
+ /** 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. */
783
+ password?: string;
784
+ /** Identifies one interview. Returned by start_voice_interview and required by every later call. */
785
+ interviewSessionId?: string;
786
+ /** Which question this call is about. Send back the one you were last given; it makes the call safe to retry. */
787
+ turnIndex?: number;
788
+ /** 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`. */
789
+ action?: "confirm" | "edit" | "skip" | "re_answer" | "abort";
790
+ /** The answer text the user accepted, after any correction they made. */
791
+ confirmedText?: string;
792
+ }
793
+ interface GenerateVoiceInterviewReportParams {
794
+ /** BCP-47-ish language code (e.g. 'en', 'zh-cn') for localized messages. */
795
+ preferredLanguage?: string;
796
+ /** The end-user's username. */
797
+ username?: string;
798
+ /** 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. */
799
+ password?: string;
800
+ /** Identifies one interview. Returned by start_voice_interview and required by every later call. */
801
+ interviewSessionId?: string;
802
+ /** 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. */
803
+ codename?: string;
804
+ /** 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. */
805
+ shareDescription?: boolean;
806
+ /** 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. */
807
+ person?: "first_person" | "second_person" | "third_person";
808
+ }
809
+ interface StartVoiceInterviewParams {
810
+ /** BCP-47-ish language code (e.g. 'en', 'zh-cn') for localized messages. */
811
+ preferredLanguage?: string;
812
+ /** The end-user's username. */
813
+ username?: string;
814
+ /** 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. */
815
+ password?: string;
816
+ /** 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. */
817
+ codename?: string;
818
+ /** AI consciousness id as returned by clone operations. */
819
+ cloneId?: string;
820
+ /** 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. */
821
+ templateKey?: "mind_upload_first_time" | "memory_refresh" | "personality_refresh" | "matchmaking" | "guided_reflection";
822
+ }
823
+ interface TranscribeVoiceInterviewAnswerParams {
824
+ /** BCP-47-ish language code (e.g. 'en', 'zh-cn') for localized messages. */
825
+ preferredLanguage?: string;
826
+ /** The end-user's username. */
827
+ username?: string;
828
+ /** 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. */
829
+ password?: string;
830
+ /** Identifies one interview. Returned by start_voice_interview and required by every later call. */
831
+ interviewSessionId?: string;
832
+ /** The user's recorded answer, base64-encoded. Discarded after transcription; never stored. */
833
+ answerAudioBase64?: string;
834
+ /** Container of the recording being sent. */
835
+ answerAudioContentType?: string;
836
+ }
762
837
  /**
763
838
  * Client for the Mind Upload partner API. Create one with your partner key,
764
839
  * then call any operation. Every method resolves to a {@link Result} and
@@ -1077,6 +1152,30 @@ declare class MindUpload extends MindUploadBase {
1077
1152
  * @see https://docs.mindupload.app
1078
1153
  */
1079
1154
  updateUser(params?: UpdateUserParams): Promise<Result>;
1155
+ /** Accept, edit, skip, re-record or abandon the question the user is on, and receive the next one.
1156
+ *
1157
+ * 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.
1158
+ * @see https://docs.mindupload.app
1159
+ */
1160
+ advanceVoiceInterview(params?: AdvanceVoiceInterviewParams): Promise<Result>;
1161
+ /** Write a finished interview up as prose, in first, second or third person.
1162
+ *
1163
+ * Response fields: success, error_message, interview_session_id, person, report_text, text_type, is_raw_answers.
1164
+ * @see https://docs.mindupload.app
1165
+ */
1166
+ generateVoiceInterviewReport(params?: GenerateVoiceInterviewReportParams): Promise<Result>;
1167
+ /** Begin a spoken interview with one of your end-users, or hand back one they have not finished with.
1168
+ *
1169
+ * 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.
1170
+ * @see https://docs.mindupload.app
1171
+ */
1172
+ startVoiceInterview(params?: StartVoiceInterviewParams): Promise<Result>;
1173
+ /** Turn one recorded spoken answer into text for the user to check before it is accepted.
1174
+ *
1175
+ * Response fields: success, error_message, recognized_text.
1176
+ * @see https://docs.mindupload.app
1177
+ */
1178
+ transcribeVoiceInterviewAnswer(params?: TranscribeVoiceInterviewAnswerParams): Promise<Result>;
1080
1179
  /** Poll owner consent at the server-advised cadence until exchange succeeds. */
1081
1180
  waitForExternalAuthorization(params: WaitForExternalAuthorizationParams): Promise<Result>;
1082
1181
  /** Invoke a clone and wait out slow generation via idempotent retries.
@@ -1127,6 +1226,6 @@ declare class MindUploadConnectionError extends MindUploadError {
1127
1226
  constructor(message: string, options?: ErrorOptions);
1128
1227
  }
1129
1228
 
1130
- declare const VERSION = "1.13.1";
1229
+ declare const VERSION = "1.15.0";
1131
1230
 
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 };
1231
+ 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.1";
44
+ var VERSION = "1.15.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.1",
3
+ "version": "1.15.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",